ソースを参照

reactor:重构录音播放组件;查询条件样式重构;

zhangchong 7 ヶ月 前
コミット
d54dffa5cc
33 ファイル変更928 行追加1598 行削除
  1. 1 1
      src/views/business/countersign/index.vue
  2. 114 179
      src/views/business/discern/apply.vue
  3. 139 206
      src/views/business/discern/index.vue
  4. 91 257
      src/views/business/discern/todo.vue
  5. 44 42
      src/views/business/overdue/index.vue
  6. 28 26
      src/views/business/overdue/soon.vue
  7. 32 60
      src/views/business/publish/todo.vue
  8. 2 2
      src/views/business/return/components/Return-audit-detail.vue
  9. 7 3
      src/views/business/return/components/Return-detail.vue
  10. 65 102
      src/views/business/return/index.vue
  11. 115 234
      src/views/business/secondHandle/apply.vue
  12. 62 99
      src/views/business/secondHandle/index.vue
  13. 33 55
      src/views/business/visit/index.vue
  14. 132 203
      src/views/business/visit/reverse.vue
  15. 41 83
      src/views/business/visit/todo.vue
  16. 1 1
      src/views/judicial/order/custom.vue
  17. 1 1
      src/views/judicial/order/index.vue
  18. 1 1
      src/views/province/delay.vue
  19. 1 1
      src/views/province/order.vue
  20. 1 1
      src/views/province/return.vue
  21. 1 1
      src/views/province/screen.vue
  22. 1 1
      src/views/province/zmhd/index.vue
  23. 1 1
      src/views/statistics/center/detailEventFrequently.vue
  24. 1 1
      src/views/statistics/center/detailTwist.vue
  25. 1 1
      src/views/statistics/center/emergencyList.vue
  26. 1 1
      src/views/statistics/center/frequentlyEvent.vue
  27. 1 1
      src/views/statistics/department/detailHandle.vue
  28. 1 1
      src/views/statistics/department/detailHandleList.vue
  29. 1 1
      src/views/statistics/department/detailOverdueList.vue
  30. 1 1
      src/views/statistics/department/detailSatisfiedList.vue
  31. 1 1
      src/views/statistics/department/satisfied.vue
  32. 2 13
      src/views/todo/center/index.vue
  33. 4 17
      src/views/todo/order/index.vue

+ 1 - 1
src/views/business/countersign/index.vue

@@ -12,7 +12,7 @@
 				v-model:page-size="state.queryParams.PageSize"
 			>
 				<template #table-search>
-					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent label-width="100px" inline>
+					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
 						<el-form-item label="快捷查询" prop="fastSearch">
 							<el-segmented
 								:options="[

+ 114 - 179
src/views/business/discern/apply.vue

@@ -13,9 +13,7 @@
 				@sort-change="sortChange"
 			>
 				<template #table-search>
-					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent label-width="100px">
-						<el-row>
-							<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
+					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
 								<el-form-item label="甄别退回" prop="ScreenSendBack">
 									<el-select v-model="state.queryParams.ScreenSendBack" placeholder="请选择甄别退回" @change="handleQuery">
 										<el-option :value="0" label="全部" />
@@ -23,172 +21,19 @@
 										<el-option :value="2" label="否" />
 									</el-select>
 								</el-form-item>
-							</el-col>
-							<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
 								<el-form-item label="工单编码" prop="No">
-									<el-input v-model="state.queryParams.No" placeholder="工单编码" clearable @keyup.enter="handleQuery" />
+									<el-input v-model="state.queryParams.No" placeholder="工单编码" clearable @keyup.enter="handleQuery" class="keyword-input"/>
 								</el-form-item>
-							</el-col>
-							<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
 								<el-form-item label="工单标题" prop="Title">
-									<el-input v-model="state.queryParams.Title" placeholder="工单标题" clearable @keyup.enter="handleQuery" />
+									<el-input v-model="state.queryParams.Title" placeholder="工单标题" clearable @keyup.enter="handleQuery" class="keyword-input"/>
 								</el-form-item>
-							</el-col>
-							<transition name="el-zoom-in-top" v-show="!searchCol">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-									<el-form-item label="省/市工单" prop="IsProvince">
-										<el-select v-model="state.queryParams.IsProvince" clearable placeholder="请选择省/市工单" @change="handleQuery">
-											<el-option :value="false" label="市工单" />
-											<el-option :value="true" label="省工单" />
-										</el-select>
-									</el-form-item>
-								</el-col>
-							</transition>
-							<transition name="el-zoom-in-top" v-show="!searchCol">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-									<el-form-item label="受理类型" prop="AcceptType">
-										<el-select v-model="state.queryParams.AcceptType" placeholder="请选择受理类型" clearable class="w100" @change="handleQuery">
-											<el-option
-												v-for="item in state.acceptTypeOptions"
-												:value="item.dicDataValue"
-												:key="item.dicDataValue"
-												:label="item.dicDataName"
-											/>
-										</el-select>
-									</el-form-item>
-								</el-col>
-							</transition>
-							<transition name="el-zoom-in-top" v-show="!searchCol">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-									<el-form-item label="热点分类" prop="HotspotSpliceName">
-										<el-input v-model="state.queryParams.HotspotSpliceName" placeholder="热点分类名称" clearable @keyup.enter="handleQuery" />
-									</el-form-item>
-								</el-col>
-							</transition>
-							<transition name="el-zoom-in-top" v-show="!searchCol">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-									<el-form-item label="来源渠道" prop="SourceChannel">
-										<el-select v-model="state.queryParams.SourceChannel" placeholder="请选择来源渠道" clearable class="w100" @change="handleQuery">
-											<el-option
-												v-for="item in state.sourceChannelOptions"
-												:value="item.dicDataValue"
-												:key="item.dicDataValue"
-												:label="item.dicDataName"
-											/>
-										</el-select>
-									</el-form-item>
-								</el-col>
-							</transition>
-							<transition name="el-zoom-in-top" v-show="!searchCol">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-									<el-form-item label="一级部门" prop="OrgLevelOneName">
-										<el-input v-model="state.queryParams.OrgLevelOneName" placeholder="一级部门名称" clearable @keyup.enter="handleQuery" />
-									</el-form-item>
-								</el-col>
-							</transition>
-							<transition name="el-zoom-in-top" v-show="!searchCol">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-									<el-form-item label="接办部门" prop="CurrentHandleOrgName">
-										<el-input v-model="state.queryParams.CurrentHandleOrgName" placeholder="接办部门名称" clearable @keyup.enter="handleQuery" />
-									</el-form-item>
-								</el-col>
-							</transition>
-							<transition name="el-zoom-in-top" v-show="!searchCol">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-									<el-form-item label="被回访部门" prop="VisitOrgName">
-										<el-input v-model="state.queryParams.VisitOrgName" placeholder="被回访部门名称" clearable @keyup.enter="handleQuery" />
-									</el-form-item>
-								</el-col>
-							</transition>
-							<transition name="el-zoom-in-top">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-									<el-form-item label="受理时间" prop="slTime">
-										<el-date-picker
-											v-model="state.queryParams.slTime"
-											type="datetimerange"
-											unlink-panels
-											range-separator="至"
-											start-placeholder="开始时间"
-											end-placeholder="结束时间"
-											:shortcuts="shortcuts"
-											@change="handleQuery"
-											value-format="YYYY-MM-DD[T]HH:mm:ss"
-											:default-time="defaultTimeStartEnd"
-										/>
-									</el-form-item>
-								</el-col>
-							</transition>
-							<transition name="el-zoom-in-top">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-									<el-form-item label="接办时间" prop="jbTime">
-										<el-date-picker
-											v-model="state.queryParams.jbTime"
-											type="datetimerange"
-											unlink-panels
-											range-separator="至"
-											start-placeholder="开始时间"
-											end-placeholder="结束时间"
-											:shortcuts="shortcuts"
-											@change="handleQuery"
-											value-format="YYYY-MM-DD[T]HH:mm:ss"
-											:default-time="defaultTimeStartEnd"
-										/>
-									</el-form-item>
-								</el-col>
-							</transition>
-							<transition name="el-zoom-in-top">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-									<el-form-item label="办结时间" prop="bjTime">
-										<el-date-picker
-											v-model="state.queryParams.bjTime"
-											type="datetimerange"
-											unlink-panels
-											range-separator="至"
-											start-placeholder="开始时间"
-											end-placeholder="结束时间"
-											:shortcuts="shortcuts"
-											@change="handleQuery"
-											value-format="YYYY-MM-DD[T]HH:mm:ss"
-											:default-time="defaultTimeStartEnd"
-										/>
-									</el-form-item>
-								</el-col>
-							</transition>
-							<transition name="el-zoom-in-top">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-									<el-form-item label="回访时间" prop="hfTime">
-										<el-date-picker
-											v-model="state.queryParams.hfTime"
-											type="datetimerange"
-											unlink-panels
-											range-separator="至"
-											start-placeholder="开始时间"
-											end-placeholder="结束时间"
-											:shortcuts="shortcuts"
-											@change="handleQuery"
-											value-format="YYYY-MM-DD[T]HH:mm:ss"
-											:default-time="defaultTimeStartEnd"
-										/>
-									</el-form-item>
-								</el-col>
-							</transition>
-							<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-								<el-form-item label=" ">
-									<div class="flex-end w100">
+
+								<el-form-item>
 										<el-button type="primary" @click="handleQuery" :loading="state.loading">
 											<SvgIcon name="ele-Search" class="mr5" />查询
 										</el-button>
-										<el-button @click="resetQuery(ruleFormRef)" class="default-button" :loading="state.loading">
-											<SvgIcon name="ele-Refresh" class="mr5" />重置
-										</el-button>
-										<el-button link type="primary" @click="closeSearch" :loading="state.loading">
-											{{ searchCol ? '展开' : '收起' }}
-											<SvgIcon :class="{ 'is-reverse': searchCol }" name="ele-ArrowUp" class="mr5 arrow" size="18px" />
-										</el-button>
-									</div>
+									<el-button @click="drawer = true" class="default-button"> <SvgIcon name="ele-Search" class="mr5" />更多查询</el-button>
 								</el-form-item>
-							</el-col>
-						</el-row>
 					</el-form>
 				</template>
 				<template #title="{ row }">
@@ -212,6 +57,109 @@
 		<discern-detail ref="discernDetailRef" @updateList="queryList" />
 		<!-- 甄别修改 -->
 		<discern-edit ref="discernEditRef" @updateList="queryList" />
+		<!--	更多查询	-->
+		<el-drawer v-model="drawer" title="更多查询" size="500px">
+			<el-form :model="state.queryParams" ref="drawerRuleFormRef" @submit.native.prevent label-width="100px">
+				<el-form-item label="省/市工单" prop="IsProvince">
+					<el-select v-model="state.queryParams.IsProvince" clearable placeholder="请选择省/市工单" @change="handleQuery">
+						<el-option :value="false" label="市工单" />
+						<el-option :value="true" label="省工单" />
+					</el-select>
+				</el-form-item>
+				<el-form-item label="受理类型" prop="AcceptType">
+					<el-select v-model="state.queryParams.AcceptType" placeholder="请选择受理类型" clearable  @change="handleQuery">
+						<el-option
+							v-for="item in state.acceptTypeOptions"
+							:value="item.dicDataValue"
+							:key="item.dicDataValue"
+							:label="item.dicDataName"
+						/>
+					</el-select>
+				</el-form-item>
+				<el-form-item label="热点分类" prop="HotspotSpliceName">
+					<el-input v-model="state.queryParams.HotspotSpliceName" placeholder="热点分类名称" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="来源渠道" prop="SourceChannel">
+					<el-select v-model="state.queryParams.SourceChannel" placeholder="请选择来源渠道" clearable  @change="handleQuery">
+						<el-option
+							v-for="item in state.sourceChannelOptions"
+							:value="item.dicDataValue"
+							:key="item.dicDataValue"
+							:label="item.dicDataName"
+						/>
+					</el-select>
+				</el-form-item>
+				<el-form-item label="一级部门" prop="OrgLevelOneName">
+					<el-input v-model="state.queryParams.OrgLevelOneName" placeholder="一级部门名称" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="接办部门" prop="CurrentHandleOrgName">
+					<el-input v-model="state.queryParams.CurrentHandleOrgName" placeholder="接办部门名称" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="被回访部门" prop="VisitOrgName">
+					<el-input v-model="state.queryParams.VisitOrgName" placeholder="被回访部门名称" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="受理时间" prop="slTime">
+					<el-date-picker
+						v-model="state.queryParams.slTime"
+						type="datetimerange"
+						unlink-panels
+						range-separator="至"
+						start-placeholder="开始时间"
+						end-placeholder="结束时间"
+						:shortcuts="shortcuts"
+						@change="handleQuery"
+						value-format="YYYY-MM-DD[T]HH:mm:ss"
+						:default-time="defaultTimeStartEnd"
+					/>
+				</el-form-item>
+				<el-form-item label="接办时间" prop="jbTime">
+					<el-date-picker
+						v-model="state.queryParams.jbTime"
+						type="datetimerange"
+						unlink-panels
+						range-separator="至"
+						start-placeholder="开始时间"
+						end-placeholder="结束时间"
+						:shortcuts="shortcuts"
+						@change="handleQuery"
+						value-format="YYYY-MM-DD[T]HH:mm:ss"
+						:default-time="defaultTimeStartEnd"
+					/>
+				</el-form-item>
+				<el-form-item label="办结时间" prop="bjTime">
+					<el-date-picker
+						v-model="state.queryParams.bjTime"
+						type="datetimerange"
+						unlink-panels
+						range-separator="至"
+						start-placeholder="开始时间"
+						end-placeholder="结束时间"
+						:shortcuts="shortcuts"
+						@change="handleQuery"
+						value-format="YYYY-MM-DD[T]HH:mm:ss"
+						:default-time="defaultTimeStartEnd"
+					/>
+				</el-form-item>
+				<el-form-item label="回访时间" prop="hfTime">
+					<el-date-picker
+						v-model="state.queryParams.hfTime"
+						type="datetimerange"
+						unlink-panels
+						range-separator="至"
+						start-placeholder="开始时间"
+						end-placeholder="结束时间"
+						:shortcuts="shortcuts"
+						@change="handleQuery"
+						value-format="YYYY-MM-DD[T]HH:mm:ss"
+						:default-time="defaultTimeStartEnd"
+					/>
+				</el-form-item>
+			</el-form>
+			<template #footer>
+				<el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
+				<el-button @click="resetQuery(drawerRuleFormRef)" class="default-button"> <SvgIcon name="ele-Refresh" class="mr5" />重置 </el-button>
+			</template>
+		</el-drawer>
 	</div>
 </template>
 <script setup lang="tsx" name="businessDiscernApply">
@@ -228,7 +176,6 @@ const VisitDetailCom = defineAsyncComponent(() => import('@/views/business/visit
 const DiscernDetail = defineAsyncComponent(() => import('@/views/business/discern/components/Discern-detail.vue')); // 甄别详情
 const DiscernEdit = defineAsyncComponent(() => import('@/views/business/discern/components/Discern-edit.vue')); // 甄别修改
 // 定义变量内容
-const ruleFormRef = ref<RefType>(); // 表单ref
 const proTableRef = ref<RefType>(); // 表格ref
 // 表格配置项
 const columns = ref<any[]>([
@@ -319,11 +266,6 @@ const state = reactive<any>({
 	acceptTypeOptions: [], // 受理类型
 	sourceChannelOptions: [], // 来源渠道
 });
-const searchCol = ref(true); // 展开/收起
-// 展开/收起
-const closeSearch = () => {
-	searchCol.value = !searchCol.value;
-};
 // 获取查询条件基础信息
 const getBaseData = async () => {
 	try {
@@ -345,7 +287,7 @@ const handleQuery = () => {
 	queryList();
 };
 /** 获取列表 */
-const requestParams = ref<any>({});
+const requestParams = ref<EmptyObjectType>({});
 const queryList = () => {
 	requestParams.value = Other.deepClone(state.queryParams);
 	requestParams.value.CreationTime = state.queryParams.slTime === null ? null : state.queryParams.slTime[0]; // 受理时间
@@ -372,10 +314,14 @@ const queryList = () => {
 		});
 };
 /** 重置按钮操作 */
+const drawerRuleFormRef = ref();
+const ruleFormRef = ref<RefType>(); // 表单ref
+const drawer = ref(false);
 const resetQuery = (formEl: FormInstance | undefined) => {
 	if (!formEl) return;
 	formEl.resetFields();
 	state.queryParams.IsHomePage = null;
+	ruleFormRef.value?.resetFields();
 	queryList();
 };
 // 排序
@@ -443,14 +389,3 @@ onMounted(async () => {
 	queryList();
 });
 </script>
-<style scoped lang="scss">
-.business-discern-apply-container {
-	.arrow {
-		transition: transform var(--el-transition-duration);
-		cursor: pointer;
-	}
-	.arrow.is-reverse {
-		transform: rotateZ(-180deg);
-	}
-}
-</style>

+ 139 - 206
src/views/business/discern/index.vue

@@ -1,6 +1,6 @@
 <template>
 	<div class="business-discern-container layout-padding">
-    <div class="layout-padding-auto layout-padding-view pd20">
+		<div class="layout-padding-auto layout-padding-view pd20">
 			<ProTable
 				ref="proTableRef"
 				:columns="columns"
@@ -10,15 +10,13 @@
 				:total="state.total"
 				v-model:page-index="state.queryParams.PageIndex"
 				v-model:page-size="state.queryParams.PageSize"
-        @sort-change="sortChange"
+				@sort-change="sortChange"
 			>
-        <template #table-search>
-          <el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent label-width="100px">
-            <el-row>
-              <el-col>
-                <el-form-item label="快捷查询" prop="DataScope">
-                  <el-segmented
-                      :options="[
+				<template #table-search>
+					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
+						<el-form-item label="快捷查询" prop="DataScope">
+							<el-segmented
+								:options="[
 									{
 										value: 0,
 										label: '全部',
@@ -28,142 +26,28 @@
 										label: '我发起的',
 									},
 								]"
-                      v-model="state.queryParams.DataScope"
-                      @change="handleQuery"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-                <el-form-item label="甄别状态" prop="Status">
-                  <el-select v-model="state.queryParams.Status" placeholder="请选择甄别状态" @change="handleQuery" clearable>
-                    <el-option v-for="item in state.screenStatus" :value="item.key" :key="item.key" :label="item.value" />
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-                <el-form-item label="工单编码" prop="No">
-                  <el-input v-model="state.queryParams.No" placeholder="工单编码" clearable @keyup.enter="handleQuery" />
-                </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-                <el-form-item label="工单标题" prop="Title">
-                  <el-input v-model="state.queryParams.Title" placeholder="工单标题" clearable @keyup.enter="handleQuery" />
-                </el-form-item>
-              </el-col>
-              <transition name="el-zoom-in-top" v-show="!searchCol">
-                <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-                  <el-form-item label="省/市工单" prop="IsProvince">
-                    <el-select v-model="state.queryParams.IsProvince" clearable placeholder="请选择省/市工单" @change="handleQuery">
-                      <el-option  :value="false" label="市工单" />
-                      <el-option  :value="true" label="省工单" />
-                    </el-select>
-                  </el-form-item>
-                </el-col>
-              </transition>
-              <transition name="el-zoom-in-top" v-show="!searchCol">
-                <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-                  <el-form-item label="受理类型" prop="AcceptType">
-                    <el-select v-model="state.queryParams.AcceptType" placeholder="请选择受理类型" clearable class="w100" @change="handleQuery">
-                      <el-option v-for="item in state.acceptTypeOptions" :value="item.dicDataValue" :key="item.dicDataValue" :label="item.dicDataName" />
-                    </el-select>
-                  </el-form-item>
-                </el-col>
-              </transition>
-              <transition name="el-zoom-in-top" v-show="!searchCol">
-                <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-                  <el-form-item label="热点分类" prop="HotspotSpliceName">
-                    <el-input v-model="state.queryParams.HotspotSpliceName" placeholder="热点分类名称" clearable @keyup.enter="handleQuery" />
-                  </el-form-item>
-                </el-col>
-              </transition>
-              <transition name="el-zoom-in-top" v-show="!searchCol">
-                <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-                  <el-form-item label="来源渠道" prop="SourceChannel">
-                    <el-select v-model="state.queryParams.SourceChannel" placeholder="请选择来源渠道" clearable class="w100" @change="handleQuery">
-                      <el-option v-for="item in state.sourceChannelOptions" :value="item.dicDataValue" :key="item.dicDataValue" :label="item.dicDataName" />
-                    </el-select>
-                  </el-form-item>
-                </el-col>
-              </transition>
-              <transition name="el-zoom-in-top" v-show="!searchCol">
-                <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-                  <el-form-item label="被回访部门" prop="VisitOrgName">
-                    <el-input v-model="state.queryParams.VisitOrgName" placeholder="被回访部门名称" clearable @keyup.enter="handleQuery" />
-                  </el-form-item>
-                </el-col>
-              </transition>
-              <transition name="el-zoom-in-top" v-show="!searchCol">
-                <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-                  <el-form-item label="申请部门" prop="CreatorOrgName">
-                    <el-input v-model="state.queryParams.CreatorOrgName" placeholder="申请部门名称" clearable @keyup.enter="handleQuery" />
-                  </el-form-item>
-                </el-col>
-              </transition>
-              <transition name="el-zoom-in-top" v-show="!searchCol">
-                <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-                  <el-form-item label="申请人" prop="CreatorName">
-                    <el-input v-model="state.queryParams.CreatorName" placeholder="申请人名称" clearable @keyup.enter="handleQuery" />
-                  </el-form-item>
-                </el-col>
-              </transition>
-              <transition name="el-zoom-in-top">
-                <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-                  <el-form-item label="申请时间" prop="crTime">
-                    <el-date-picker
-                        v-model="state.queryParams.crTime"
-                        type="datetimerange"
-                        unlink-panels
-                        range-separator="至"
-                        start-placeholder="开始时间"
-                        end-placeholder="结束时间"
-                        :shortcuts="shortcuts"
-                        @change="handleQuery"
-                        value-format="YYYY-MM-DD[T]HH:mm:ss"
-                        :default-time="defaultTimeStartEnd"
-                    />
-                  </el-form-item>
-                </el-col>
-              </transition>
-              <transition name="el-zoom-in-top" v-show="!searchCol">
-                <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-                  <el-form-item label="联系电话" prop="Contact">
-                    <el-input v-model="state.queryParams.Contact" placeholder="联系电话" clearable @keyup.enter="handleQuery" />
-                  </el-form-item>
-                </el-col>
-              </transition>
-              <transition name="el-zoom-in-top" v-show="!searchCol">
-                <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-                  <el-form-item label="来电号码" prop="FromPhone">
-                    <el-input v-model="state.queryParams.FromPhone" placeholder="来电号码" clearable @keyup.enter="handleQuery" />
-                  </el-form-item>
-                </el-col>
-              </transition>
-              <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-                <el-form-item label=" ">
-                  <div class="flex-end w100">
-                    <el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
-                    <el-button @click="resetQuery(ruleFormRef)" class="default-button" :loading="state.loading">
-                      <SvgIcon name="ele-Refresh" class="mr5" />重置
-                    </el-button>
-                    <el-button link type="primary" @click="closeSearch" :loading="state.loading">
-                      {{ searchCol ? '展开' : '收起' }}
-                      <SvgIcon :class="{ 'is-reverse': searchCol }" name="ele-ArrowUp" class="mr5 arrow" size="18px" />
-                    </el-button>
-                  </div>
-                </el-form-item>
-              </el-col>
-            </el-row>
-          </el-form>
-        </template>
+								v-model="state.queryParams.DataScope"
+								@change="handleQuery"
+							/>
+						</el-form-item>
+						<el-form-item label="甄别状态" prop="Status">
+							<el-select v-model="state.queryParams.Status" placeholder="请选择甄别状态" @change="handleQuery" clearable>
+								<el-option v-for="item in state.screenStatus" :value="item.key" :key="item.key" :label="item.value" />
+							</el-select>
+						</el-form-item>
+						<el-form-item>
+							<el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
+							<el-button @click="drawer = true" class="default-button"> <SvgIcon name="ele-Search" class="mr5" />更多查询</el-button>
+						</el-form-item>
+					</el-form>
+				</template>
 				<template #title="{ row }">
 					<order-detail :order="row.order" @updateList="queryList">{{ row.order?.title }}</order-detail>
 				</template>
 				<!-- 表格操作 -->
 				<template #operation="{ row }">
 					<el-button link type="primary" @click="onDetail(row)" title="查看甄别详情"> 甄别详情 </el-button>
-          <el-button link type="primary" @click="visitDetail(row)" title="查看回访明细">
-            回访明细
-          </el-button>
+					<el-button link type="primary" @click="visitDetail(row)" title="查看回访明细"> 回访明细 </el-button>
 				</template>
 			</ProTable>
 		</div>
@@ -171,22 +55,84 @@
 		<discern-detail ref="discernDetailRef" @updateList="queryList" />
 		<!-- 甄别修改 -->
 		<discern-edit ref="discernEditRef" @updateList="queryList" />
-    <!-- 回访详情 -->
-    <visit-detail-com ref="visitDetailRef" @updateList="queryList" />
+		<!-- 回访详情 -->
+		<visit-detail-com ref="visitDetailRef" @updateList="queryList" />
+		<!--	更多查询	-->
+		<el-drawer v-model="drawer" title="更多查询" size="500px">
+			<el-form :model="state.queryParams" ref="drawerRuleFormRef" @submit.native.prevent label-width="100px">
+				<el-form-item label="工单编码" prop="No">
+					<el-input v-model="state.queryParams.No" placeholder="工单编码" clearable @keyup.enter="handleQuery" class="keyword-input" />
+				</el-form-item>
+				<el-form-item label="工单标题" prop="Title">
+					<el-input v-model="state.queryParams.Title" placeholder="工单标题" clearable @keyup.enter="handleQuery" class="keyword-input" />
+				</el-form-item>
+				<el-form-item label="省/市工单" prop="IsProvince">
+					<el-select v-model="state.queryParams.IsProvince" clearable placeholder="请选择省/市工单" @change="handleQuery">
+						<el-option :value="false" label="市工单" />
+						<el-option :value="true" label="省工单" />
+					</el-select>
+				</el-form-item>
+				<el-form-item label="受理类型" prop="AcceptType">
+					<el-select v-model="state.queryParams.AcceptType" placeholder="请选择受理类型" clearable class="w100" @change="handleQuery">
+						<el-option v-for="item in state.acceptTypeOptions" :value="item.dicDataValue" :key="item.dicDataValue" :label="item.dicDataName" />
+					</el-select>
+				</el-form-item>
+				<el-form-item label="热点分类" prop="HotspotSpliceName">
+					<el-input v-model="state.queryParams.HotspotSpliceName" placeholder="热点分类名称" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="来源渠道" prop="SourceChannel">
+					<el-select v-model="state.queryParams.SourceChannel" placeholder="请选择来源渠道" clearable class="w100" @change="handleQuery">
+						<el-option v-for="item in state.sourceChannelOptions" :value="item.dicDataValue" :key="item.dicDataValue" :label="item.dicDataName" />
+					</el-select>
+				</el-form-item>
+				<el-form-item label="被回访部门" prop="VisitOrgName">
+					<el-input v-model="state.queryParams.VisitOrgName" placeholder="被回访部门名称" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="申请部门" prop="CreatorOrgName">
+					<el-input v-model="state.queryParams.CreatorOrgName" placeholder="申请部门名称" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="申请人" prop="CreatorName">
+					<el-input v-model="state.queryParams.CreatorName" placeholder="申请人名称" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="申请时间" prop="crTime">
+					<el-date-picker
+						v-model="state.queryParams.crTime"
+						type="datetimerange"
+						unlink-panels
+						range-separator="至"
+						start-placeholder="开始时间"
+						end-placeholder="结束时间"
+						:shortcuts="shortcuts"
+						@change="handleQuery"
+						value-format="YYYY-MM-DD[T]HH:mm:ss"
+						:default-time="defaultTimeStartEnd"
+					/>
+				</el-form-item>
+				<el-form-item label="联系电话" prop="Contact">
+					<el-input v-model="state.queryParams.Contact" placeholder="联系电话" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="来电号码" prop="FromPhone">
+					<el-input v-model="state.queryParams.FromPhone" placeholder="来电号码" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+			</el-form>
+			<template #footer>
+				<el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
+				<el-button @click="resetQuery(drawerRuleFormRef)" class="default-button"> <SvgIcon name="ele-Refresh" class="mr5" />重置 </el-button>
+			</template>
+		</el-drawer>
 	</div>
 </template>
 <script setup lang="tsx" name="businessDiscern">
 import { defineAsyncComponent, onMounted, reactive, ref } from 'vue';
 import { FormInstance } from 'element-plus';
 import { formatDate } from '@/utils/formatTime';
-import { defaultTimeStartEnd, shortcuts } from "@/utils/constants";
+import { defaultTimeStartEnd, shortcuts } from '@/utils/constants';
 import { screenBaseData, screenDetail, screenList } from '@/api/business/discern';
-import Other from "@/utils/other";
+import Other from '@/utils/other';
 
 // 引入组件
 const DiscernDetail = defineAsyncComponent(() => import('@/views/business/discern/components/Discern-detail.vue')); // 甄别详情
 const DiscernEdit = defineAsyncComponent(() => import('@/views/business/discern/components/Discern-edit.vue')); //  甄别修改
-const AnnexList = defineAsyncComponent(() => import('@/components/AnnexList/index.vue')); // 附件列表
 const OrderDetail = defineAsyncComponent(() => import('@/components/OrderDetail/index.vue')); // 工单详情
 const VisitDetailCom = defineAsyncComponent(() => import('@/views/business/visit/component/Visit-detail.vue')); // 回访
 
@@ -194,16 +140,16 @@ const proTableRef = ref<RefType>(); // 表格ref
 // 表格配置项
 const columns = ref<any[]>([
 	{ prop: 'statusText', label: '甄别状态', minWidth: 100 },
-  { prop: 'workflow.actualHandleStepName', label: '当前审核节点', minWidth: 110 },
-  { prop: 'order.no', label: '工单编码', minWidth: 140 },
+	{ prop: 'workflow.actualHandleStepName', label: '当前审核节点', minWidth: 110 },
+	{ prop: 'order.no', label: '工单编码', minWidth: 140 },
 	{ prop: 'order.isProvinceText', label: '省/市工单', minWidth: 90 },
 	{ prop: 'order.title', label: '工单标题', minWidth: 200 },
 	{ prop: 'order.acceptType', label: '受理类型', minWidth: 100 },
 	{ prop: 'order.hotspotName', label: '热点分类', minWidth: 150 },
-  { prop: 'order.sourceChannel', label: '来源渠道', minWidth: 100 },
-  { prop: 'visitDetail.visitOrgName', label: '被回访部门', minWidth: 140 },
-  { prop: 'creatorName', label: '申请人', minWidth: 120 },
-  { prop: 'creatorOrgName', label: '申请部门', minWidth: 140 },
+	{ prop: 'order.sourceChannel', label: '来源渠道', minWidth: 100 },
+	{ prop: 'visitDetail.visitOrgName', label: '被回访部门', minWidth: 140 },
+	{ prop: 'creatorName', label: '申请人', minWidth: 120 },
+	{ prop: 'creatorOrgName', label: '申请部门', minWidth: 140 },
 	{
 		prop: 'creationTime',
 		label: '申请时间',
@@ -212,57 +158,51 @@ const columns = ref<any[]>([
 			return <span>{formatDate(scope.row.creationTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
 	},
-  { prop: 'timeConsuminText', label: '发起甄别耗时(工作日)', minWidth: 160 },
+	{ prop: 'timeConsuminText', label: '发起甄别耗时(工作日)', minWidth: 160 },
 	{ prop: 'operation', label: '操作', fixed: 'right', width: 160, align: 'center' },
 ]);
 // 定义变量内容
-const ruleFormRef = ref<RefType>(); // 表单ref
 const state = reactive<any>({
 	queryParams: {
 		// 查询条件
 		PageIndex: 1,
 		PageSize: 20,
 		source: '2', // 甄别列表 2
-    Status:null,// 甄别状态
-    DataScope:0, // 快捷查询
-    No:null, // 工单编码
-    Title:null, // 工单标题
-    IsProvince: null, // 省/市工单
-    IsHomePage: null, // 是否首页进入
-    AcceptType:null, // 受理类型
-    HotspotSpliceName:null, // 热点分类
-    SourceChannel:null, // 来源渠道
-    VisitOrgName: null, // 被回访部门
-    CreatorOrgName:null, // 申请部门
-    CreatorName:null, // 申请人
-    crTime:[],// 申请时间
-    CreationTimeStart:null,
-    CreationTimeEnd:null,
-    SortField:null, // 排序字段
-    SortRule:null, // 排序字段
-    Contact:null, // 联系电话
-    FromPhone:null, // 来电电话
+		Status: null, // 甄别状态
+		DataScope: 0, // 快捷查询
+		No: null, // 工单编码
+		Title: null, // 工单标题
+		IsProvince: null, // 省/市工单
+		IsHomePage: null, // 是否首页进入
+		AcceptType: null, // 受理类型
+		HotspotSpliceName: null, // 热点分类
+		SourceChannel: null, // 来源渠道
+		VisitOrgName: null, // 被回访部门
+		CreatorOrgName: null, // 申请部门
+		CreatorName: null, // 申请人
+		crTime: [], // 申请时间
+		CreationTimeStart: null,
+		CreationTimeEnd: null,
+		SortField: null, // 排序字段
+		SortRule: null, // 排序字段
+		Contact: null, // 联系电话
+		FromPhone: null, // 来电电话
 	},
 	tableData: [], //表单
 	loading: false, // 加载
 	total: 0, // 总数
 	screenStatus: [], // 甄别状态
 	screenType: [], // 甄别类型
-  acceptTypeOptions:[], // 受理类型
-  sourceChannelOptions:[] , // 来源渠道
+	acceptTypeOptions: [], // 受理类型
+	sourceChannelOptions: [], // 来源渠道
 });
-const searchCol = ref(true); // 展开/收起
-// 展开/收起
-const closeSearch = () => {
-  searchCol.value = !searchCol.value;
-};
 // 获取查询条件基础信息
 const getBaseData = async () => {
-	const {result} = await screenBaseData();
-  state.screenStatus = result?.screenStatus ?? [];
-  state.screenType = result?.screenType ?? [];
-  state.acceptTypeOptions = result?.acceptType ?? [];
-  state.sourceChannelOptions = result?.sourceChannel ?? [];
+	const { result } = await screenBaseData();
+	state.screenStatus = result?.screenStatus ?? [];
+	state.screenType = result?.screenType ?? [];
+	state.acceptTypeOptions = result?.acceptType ?? [];
+	state.sourceChannelOptions = result?.sourceChannel ?? [];
 };
 // 手动查询,将页码设置为1
 const handleQuery = () => {
@@ -270,12 +210,12 @@ const handleQuery = () => {
 	queryList();
 };
 /** 获取列表 */
-const requestParams = ref({});
+const requestParams = ref<EmptyObjectType>({});
 const queryList = () => {
-  requestParams.value = Other.deepClone(state.queryParams);
-  requestParams.value.CreationTimeStart = state.queryParams.crTime === null ? null : state.queryParams.crTime[0]; // 受理时间
-  requestParams.value.CreationTimeEnd = state.queryParams.crTime === null ? null : state.queryParams.crTime[1];
-  Reflect.deleteProperty(requestParams.value, 'crTime'); // 删除无用的参数
+	requestParams.value = Other.deepClone(state.queryParams);
+	requestParams.value.CreationTimeStart = state.queryParams.crTime === null ? null : state.queryParams.crTime[0]; // 受理时间
+	requestParams.value.CreationTimeEnd = state.queryParams.crTime === null ? null : state.queryParams.crTime[1];
+	Reflect.deleteProperty(requestParams.value, 'crTime'); // 删除无用的参数
 	state.loading = true;
 	screenList(requestParams.value)
 		.then((response: any) => {
@@ -288,17 +228,21 @@ const queryList = () => {
 		});
 };
 /** 重置按钮操作 */
+const drawerRuleFormRef = ref();
+const ruleFormRef = ref<RefType>(); // 表单ref
+const drawer = ref(false);
 const resetQuery = (formEl: FormInstance | undefined) => {
 	if (!formEl) return;
 	formEl.resetFields();
+	ruleFormRef.value?.resetFields();
 	queryList();
 };
 // 排序
 const sortChange = (val: any) => {
-  state.queryParams.SortField = val.order ? val.prop : null;
-  // 0 升序 1 降序
-  state.queryParams.SortRule = val.order ? (val.order == 'descending' ? 1 : 0) : null;
-  queryList();
+	state.queryParams.SortField = val.order ? val.prop : null;
+	// 0 升序 1 降序
+	state.queryParams.SortRule = val.order ? (val.order == 'descending' ? 1 : 0) : null;
+	queryList();
 };
 // 查看详情
 const discernDetailRef = ref<RefType>(); // 甄别详情ref
@@ -318,22 +262,11 @@ const onDetail = async (row: any) => {
 };
 // 查看回访明细
 const visitDetailRef = ref<RefType>();
-const visitDetail = (row:any)=>{
-  visitDetailRef.value.openDialog(row.visit, '回访明细');
-}
+const visitDetail = (row: any) => {
+	visitDetailRef.value.openDialog(row.visit, '回访明细');
+};
 onMounted(async () => {
 	await getBaseData();
 	queryList();
 });
 </script>
-<style scoped lang="scss">
-.business-discern-container {
-  .arrow {
-    transition: transform var(--el-transition-duration);
-    cursor: pointer;
-  }
-  .arrow.is-reverse {
-    transform: rotateZ(-180deg);
-  }
-}
-</style>

+ 91 - 257
src/views/business/discern/todo.vue

@@ -18,134 +18,19 @@
 				v-if="state.queryParams.TabStatus === 0"
 			>
 				<template #table-search>
-					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent label-width="100px">
-						<el-row :gutter="10">
-<!--							<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-								<el-form-item label="甄别状态" prop="Status">
-									<el-select v-model="state.queryParams.Status" placeholder="请选择甄别状态" @change="handleQuery" clearable>
-										<el-option v-for="item in state.screenStatus" :value="item.key" :key="item.key" :label="item.value" />
-									</el-select>
-								</el-form-item>
-							</el-col>-->
-							<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
+					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
 								<el-form-item label="工单标题" prop="Title">
-									<el-input v-model="state.queryParams.Title" placeholder="工单标题" clearable @keyup.enter="handleQuery" />
+									<el-input v-model="state.queryParams.Title" placeholder="工单标题" clearable @keyup.enter="handleQuery" class="keyword-input"/>
 								</el-form-item>
-							</el-col>
-							<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
 								<el-form-item label="工单编码" prop="No">
-									<el-input v-model="state.queryParams.No" placeholder="工单编码" clearable @keyup.enter="handleQuery" />
-								</el-form-item>
-							</el-col>
-							<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-								<el-form-item label="重提甄别" prop="IsSendBackApplyNum">
-									<el-select v-model="state.queryParams.IsSendBackApplyNum" placeholder="请选择重提甄别" @change="handleQuery">
-										<el-option value="true" label="是" />
-										<el-option value="false" label="否" />
-									</el-select>
+									<el-input v-model="state.queryParams.No" placeholder="工单编码" clearable @keyup.enter="handleQuery" class="keyword-input"/>
 								</el-form-item>
-							</el-col>
-							<transition name="el-zoom-in-top" v-show="!searchCol">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-									<el-form-item label="省/市工单" prop="IsProvince">
-										<el-select v-model="state.queryParams.IsProvince" clearable placeholder="请选择省/市工单" @change="handleQuery">
-											<el-option :value="false" label="市工单" />
-											<el-option :value="true" label="省工单" />
-										</el-select>
-									</el-form-item>
-								</el-col>
-							</transition>
-							<transition name="el-zoom-in-top">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-									<el-form-item label="受理类型" prop="AcceptType">
-										<el-select v-model="state.queryParams.AcceptType" placeholder="请选择受理类型" clearable class="w100" @change="handleQuery">
-											<el-option
-												v-for="item in state.acceptTypeOptions"
-												:value="item.dicDataValue"
-												:key="item.dicDataValue"
-												:label="item.dicDataName"
-											/>
-										</el-select>
-									</el-form-item>
-								</el-col>
-							</transition>
-							<transition name="el-zoom-in-top">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-									<el-form-item label="热点分类" prop="HotspotSpliceName">
-										<el-input v-model="state.queryParams.HotspotSpliceName" placeholder="热点分类名称" clearable @keyup.enter="handleQuery" />
-									</el-form-item>
-								</el-col>
-							</transition>
-							<transition name="el-zoom-in-top">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-									<el-form-item label="来源渠道" prop="SourceChannel">
-										<el-select v-model="state.queryParams.SourceChannel" placeholder="请选择来源渠道" clearable class="w100" @change="handleQuery">
-											<el-option
-												v-for="item in state.sourceChannelOptions"
-												:value="item.dicDataValue"
-												:key="item.dicDataValue"
-												:label="item.dicDataName"
-											/>
-										</el-select>
-									</el-form-item>
-								</el-col>
-							</transition>
-							<transition name="el-zoom-in-top">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-									<el-form-item label="被回访部门" prop="VisitOrgName">
-										<el-input v-model="state.queryParams.VisitOrgName" placeholder="被回访部门名称" clearable @keyup.enter="handleQuery" />
-									</el-form-item>
-								</el-col>
-							</transition>
-							<transition name="el-zoom-in-top">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-									<el-form-item label="申请部门" prop="CreatorOrgName">
-										<el-input v-model="state.queryParams.CreatorOrgName" placeholder="申请部门名称" clearable @keyup.enter="handleQuery" />
-									</el-form-item>
-								</el-col>
-							</transition>
-							<transition name="el-zoom-in-top">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-									<el-form-item label="申请人" prop="CreatorName">
-										<el-input v-model="state.queryParams.CreatorName" placeholder="申请人名称" clearable @keyup.enter="handleQuery" />
-									</el-form-item>
-								</el-col>
-							</transition>
-							<transition name="el-zoom-in-top">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-									<el-form-item label="申请时间" prop="crTime">
-										<el-date-picker
-											v-model="state.queryParams.crTime"
-											type="datetimerange"
-											unlink-panels
-											range-separator="至"
-											start-placeholder="开始时间"
-											end-placeholder="结束时间"
-											:shortcuts="shortcuts"
-											@change="handleQuery"
-											value-format="YYYY-MM-DD[T]HH:mm:ss"
-											:default-time="defaultTimeStartEnd"
-										/>
-									</el-form-item>
-								</el-col>
-							</transition>
-							<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-								<el-form-item label=" ">
-									<div class="flex-end w100">
+								<el-form-item>
 										<el-button type="primary" @click="handleQuery" :loading="state.loading">
 											<SvgIcon name="ele-Search" class="mr5" />查询
 										</el-button>
-										<el-button @click="resetQuery(ruleFormRef)" class="default-button" :loading="state.loading">
-											<SvgIcon name="ele-Refresh" class="mr5" />重置
-										</el-button>
-										<el-button link type="primary" @click="closeSearch" :loading="state.loading">
-											{{ searchCol ? '展开' : '收起' }}
-											<SvgIcon :class="{ 'is-reverse': searchCol }" name="ele-ArrowUp" class="mr5 arrow" size="18px" />
-										</el-button>
-									</div>
+									<el-button @click="drawer = true" class="default-button"> <SvgIcon name="ele-Search" class="mr5" />更多查询</el-button>
 								</el-form-item>
-							</el-col>
-						</el-row>
 					</el-form>
 				</template>
 				<template #title="{ row }">
@@ -170,124 +55,19 @@
 				v-if="state.queryParams.TabStatus === 4"
 			>
 				<template #table-search>
-					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent label-width="100px">
-						<el-row :gutter="10">
-							<!--							<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-								<el-form-item label="甄别状态" prop="Status">
-									<el-select v-model="state.queryParams.Status" placeholder="请选择甄别状态" @change="handleQuery" clearable>
-										<el-option v-for="item in state.screenStatus" :value="item.key" :key="item.key" :label="item.value" />
-									</el-select>
-								</el-form-item>
-							</el-col>-->
-							<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-								<el-form-item label="工单标题" prop="Title">
-									<el-input v-model="state.queryParams.Title" placeholder="工单标题" clearable @keyup.enter="handleQuery" />
-								</el-form-item>
-							</el-col>
-							<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-								<el-form-item label="工单编码" prop="No">
-									<el-input v-model="state.queryParams.No" placeholder="工单编码" clearable @keyup.enter="handleQuery" />
-								</el-form-item>
-							</el-col>
-							<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-								<el-form-item label="省/市工单" prop="IsProvince">
-									<el-select v-model="state.queryParams.IsProvince" clearable placeholder="请选择省/市工单" @change="handleQuery">
-										<el-option :value="false" label="市工单" />
-										<el-option :value="true" label="省工单" />
-									</el-select>
-								</el-form-item>
-							</el-col>
-							<transition name="el-zoom-in-top">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-									<el-form-item label="受理类型" prop="AcceptType">
-										<el-select v-model="state.queryParams.AcceptType" placeholder="请选择受理类型" clearable class="w100" @change="handleQuery">
-											<el-option
-												v-for="item in state.acceptTypeOptions"
-												:value="item.dicDataValue"
-												:key="item.dicDataValue"
-												:label="item.dicDataName"
-											/>
-										</el-select>
-									</el-form-item>
-								</el-col>
-							</transition>
-							<transition name="el-zoom-in-top">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-									<el-form-item label="热点分类" prop="HotspotSpliceName">
-										<el-input v-model="state.queryParams.HotspotSpliceName" placeholder="热点分类名称" clearable @keyup.enter="handleQuery" />
-									</el-form-item>
-								</el-col>
-							</transition>
-							<transition name="el-zoom-in-top">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-									<el-form-item label="来源渠道" prop="SourceChannel">
-										<el-select v-model="state.queryParams.SourceChannel" placeholder="请选择来源渠道" clearable class="w100" @change="handleQuery">
-											<el-option
-												v-for="item in state.sourceChannelOptions"
-												:value="item.dicDataValue"
-												:key="item.dicDataValue"
-												:label="item.dicDataName"
-											/>
-										</el-select>
-									</el-form-item>
-								</el-col>
-							</transition>
-							<transition name="el-zoom-in-top">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-									<el-form-item label="被回访部门" prop="VisitOrgName">
-										<el-input v-model="state.queryParams.VisitOrgName" placeholder="被回访部门名称" clearable @keyup.enter="handleQuery" />
-									</el-form-item>
-								</el-col>
-							</transition>
-							<transition name="el-zoom-in-top">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-									<el-form-item label="申请部门" prop="CreatorOrgName">
-										<el-input v-model="state.queryParams.CreatorOrgName" placeholder="申请部门名称" clearable @keyup.enter="handleQuery" />
-									</el-form-item>
-								</el-col>
-							</transition>
-							<transition name="el-zoom-in-top">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-									<el-form-item label="申请人" prop="CreatorName">
-										<el-input v-model="state.queryParams.CreatorName" placeholder="申请人名称" clearable @keyup.enter="handleQuery" />
-									</el-form-item>
-								</el-col>
-							</transition>
-							<transition name="el-zoom-in-top">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-									<el-form-item label="申请时间" prop="crTime">
-										<el-date-picker
-											v-model="state.queryParams.crTime"
-											type="datetimerange"
-											unlink-panels
-											range-separator="至"
-											start-placeholder="开始时间"
-											end-placeholder="结束时间"
-											:shortcuts="shortcuts"
-											@change="handleQuery"
-											value-format="YYYY-MM-DD[T]HH:mm:ss"
-											:default-time="defaultTimeStartEnd"
-										/>
-									</el-form-item>
-								</el-col>
-							</transition>
-							<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-								<el-form-item label=" ">
-									<div class="flex-end w100">
-										<el-button type="primary" @click="handleQuery" :loading="state.loading">
-											<SvgIcon name="ele-Search" class="mr5" />查询
-										</el-button>
-										<el-button @click="resetQuery(ruleFormRef)" class="default-button" :loading="state.loading">
-											<SvgIcon name="ele-Refresh" class="mr5" />重置
-										</el-button>
-										<el-button link type="primary" @click="closeSearch" :loading="state.loading">
-											{{ searchCol ? '展开' : '收起' }}
-											<SvgIcon :class="{ 'is-reverse': searchCol }" name="ele-ArrowUp" class="mr5 arrow" size="18px" />
-										</el-button>
-									</div>
-								</el-form-item>
-							</el-col>
-						</el-row>
+					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
+						<el-form-item label="工单标题" prop="Title">
+							<el-input v-model="state.queryParams.Title" placeholder="工单标题" clearable @keyup.enter="handleQuery" class="keyword-input"/>
+						</el-form-item>
+						<el-form-item label="工单编码" prop="No">
+							<el-input v-model="state.queryParams.No" placeholder="工单编码" clearable @keyup.enter="handleQuery" class="keyword-input"/>
+						</el-form-item>
+						<el-form-item>
+							<el-button type="primary" @click="handleQuery" :loading="state.loading">
+								<SvgIcon name="ele-Search" class="mr5" />查询
+							</el-button>
+							<el-button @click="drawer = true" class="default-button"> <SvgIcon name="ele-Search" class="mr5" />更多查询</el-button>
+						</el-form-item>
 					</el-form>
 				</template>
 				<template #title="{ row }">
@@ -306,6 +86,73 @@
 		<discern-edit ref="discernEditRef" @updateList="queryList" />
 		<!-- 回访详情 -->
 		<visit-detail-com ref="visitDetailRef" @updateList="queryList" />
+		<!--	更多查询	-->
+		<el-drawer v-model="drawer" title="更多查询" size="500px">
+			<el-form :model="state.queryParams" ref="drawerRuleFormRef" @submit.native.prevent label-width="100px">
+				<el-form-item label="重提甄别" prop="IsSendBackApplyNum" v-if="state.queryParams.TabStatus === 0">
+					<el-select v-model="state.queryParams.IsSendBackApplyNum" placeholder="请选择重提甄别" @change="handleQuery" clearable>
+						<el-option value="true" label="是" />
+						<el-option value="false" label="否" />
+					</el-select>
+				</el-form-item>
+				<el-form-item label="省/市工单" prop="IsProvince">
+					<el-select v-model="state.queryParams.IsProvince" clearable placeholder="请选择省/市工单" @change="handleQuery">
+						<el-option :value="false" label="市工单" />
+						<el-option :value="true" label="省工单" />
+					</el-select>
+				</el-form-item>
+				<el-form-item label="受理类型" prop="AcceptType">
+					<el-select v-model="state.queryParams.AcceptType" placeholder="请选择受理类型" clearable @change="handleQuery">
+						<el-option
+							v-for="item in state.acceptTypeOptions"
+							:value="item.dicDataValue"
+							:key="item.dicDataValue"
+							:label="item.dicDataName"
+						/>
+					</el-select>
+				</el-form-item>
+				<el-form-item label="热点分类" prop="HotspotSpliceName">
+					<el-input v-model="state.queryParams.HotspotSpliceName" placeholder="热点分类名称" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="来源渠道" prop="SourceChannel">
+					<el-select v-model="state.queryParams.SourceChannel" placeholder="请选择来源渠道" clearable @change="handleQuery">
+						<el-option
+							v-for="item in state.sourceChannelOptions"
+							:value="item.dicDataValue"
+							:key="item.dicDataValue"
+							:label="item.dicDataName"
+						/>
+					</el-select>
+				</el-form-item>
+				<el-form-item label="被回访部门" prop="VisitOrgName">
+					<el-input v-model="state.queryParams.VisitOrgName" placeholder="被回访部门名称" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="申请部门" prop="CreatorOrgName">
+					<el-input v-model="state.queryParams.CreatorOrgName" placeholder="申请部门名称" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="申请人" prop="CreatorName">
+					<el-input v-model="state.queryParams.CreatorName" placeholder="申请人名称" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="申请时间" prop="crTime">
+					<el-date-picker
+						v-model="state.queryParams.crTime"
+						type="datetimerange"
+						unlink-panels
+						range-separator="至"
+						start-placeholder="开始时间"
+						end-placeholder="结束时间"
+						:shortcuts="shortcuts"
+						@change="handleQuery"
+						value-format="YYYY-MM-DD[T]HH:mm:ss"
+						:default-time="defaultTimeStartEnd"
+					/>
+				</el-form-item>
+			</el-form>
+			<template #footer>
+				<el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
+				<el-button @click="resetQuery(drawerRuleFormRef)" class="default-button"> <SvgIcon name="ele-Refresh" class="mr5" />重置 </el-button>
+			</template>
+		</el-drawer>
 	</div>
 </template>
 <script setup lang="tsx" name="businessDiscernTodo">
@@ -322,7 +169,6 @@ const DiscernEdit = defineAsyncComponent(() => import('@/views/business/discern/
 const OrderDetail = defineAsyncComponent(() => import('@/components/OrderDetail/index.vue')); // 工单详情
 const VisitDetailCom = defineAsyncComponent(() => import('@/views/business/visit/component/Visit-detail.vue')); // 回访
 // 定义变量内容
-const ruleFormRef = ref<RefType>(); // 表单ref
 const proTableRef = ref<RefType>(); // 表格ref
 // 表格配置项
 const columns = ref<any[]>([]);
@@ -424,11 +270,6 @@ const state = reactive<any>({
 	acceptTypeOptions: [], // 受理类型
 	sourceChannelOptions: [], // 来源渠道
 });
-const searchCol = ref(true); // 展开/收起
-// 展开/收起
-const closeSearch = () => {
-	searchCol.value = !searchCol.value;
-};
 // 获取查询条件基础信息
 const getBaseData = async () => {
 	const { result } = await screenBaseData();
@@ -443,7 +284,7 @@ const handleQuery = () => {
 	queryList();
 };
 /** 获取列表 */
-const requestParams = ref({});
+const requestParams = ref<EmptyObjectType>({});
 const queryList = () => {
 	requestParams.value = Other.deepClone(state.queryParams);
 	requestParams.value.CreationTimeStart = state.queryParams.crTime === null ? null : state.queryParams.crTime[0]; // 受理时间
@@ -461,9 +302,13 @@ const queryList = () => {
 		});
 };
 /** 重置按钮操作 */
+const drawerRuleFormRef = ref();
+const ruleFormRef = ref<RefType>(); // 表单ref
+const drawer = ref(false);
 const resetQuery = (formEl: FormInstance | undefined) => {
 	if (!formEl) return;
 	formEl.resetFields();
+	ruleFormRef.value?.resetFields();
 	queryList();
 };
 // 排序
@@ -498,15 +343,4 @@ onMounted(async () => {
 	await getBaseData();
 	queryList();
 });
-</script>
-<style scoped lang="scss">
-.business-discern-todo-container {
-	.arrow {
-		transition: transform var(--el-transition-duration);
-		cursor: pointer;
-	}
-	.arrow.is-reverse {
-		transform: rotateZ(-180deg);
-	}
-}
-</style>
+</script>

+ 44 - 42
src/views/business/overdue/index.vue

@@ -1,6 +1,6 @@
 <template>
 	<div class="business-overdue-container layout-padding">
-    <div class="layout-padding-auto layout-padding-view pd20">
+		<div class="layout-padding-auto layout-padding-view pd20">
 			<ProTable
 				ref="proTableRef"
 				:columns="columns"
@@ -14,52 +14,53 @@
 				:exportMethod="exportOverdueList"
 				:exportParams="requestParams"
 			>
-        <template #table-search>
-          <el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
-            <el-form-item label="工单标题" prop="Title">
-              <el-input v-model="state.queryParams.Title" placeholder="工单标题" clearable @keyup.enter="handleQuery" class="keyword-input" />
-            </el-form-item>
-            <el-form-item label="工单编码" prop="No">
-              <el-input v-model="state.queryParams.No" placeholder="工单编码" clearable @keyup.enter="handleQuery" class="keyword-input" />
-            </el-form-item>
-            <el-form-item label="是否省工单" prop="IsProvince">
-              <el-select v-model="state.queryParams.IsProvince" placeholder="请选择是否省工单" @change="handleQuery">
-                <el-option label="是" value="true" />
-                <el-option label="否" value="false" />
-              </el-select>
-            </el-form-item>
-            <el-form-item label="是否延期" prop="Delay">
-              <el-select v-model="state.queryParams.Delay" placeholder="请选择是否延期" @change="handleQuery">
-                <el-option label="是" :value="1" />
-                <el-option label="否" :value="2" />
-              </el-select>
-            </el-form-item>
-            <el-form-item>
-              <el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
-              <el-button @click="resetQuery(ruleFormRef)" class="default-button" :loading="state.loading">
-                <SvgIcon name="ele-Refresh" class="mr5" />重置
-              </el-button>
-            </el-form-item>
-          </el-form>
-        </template>
+				<template #table-search>
+					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
+						<el-form-item label="工单标题" prop="Title">
+							<el-input v-model="state.queryParams.Title" placeholder="工单标题" clearable @keyup.enter="handleQuery" class="keyword-input" />
+						</el-form-item>
+						<el-form-item label="工单编码" prop="No">
+							<el-input v-model="state.queryParams.No" placeholder="工单编码" clearable @keyup.enter="handleQuery" class="keyword-input" />
+						</el-form-item>
+						<el-form-item>
+							<el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
+							<el-button @click="drawer = true" class="default-button"> <SvgIcon name="ele-Search" class="mr5" />更多查询</el-button>
+						</el-form-item>
+					</el-form>
+				</template>
 				<template #title="{ row }">
 					<order-detail :order="row" @updateList="queryList">{{ row.title }}</order-detail>
 				</template>
-				<!-- 表格操作 -->
-				<template #operation="{ row }">
-					<order-detail :order="row" @updateList="queryList" />
-				</template>
 			</ProTable>
 		</div>
+		<!--	更多查询	-->
+		<el-drawer v-model="drawer" title="更多查询" size="500px">
+			<el-form :model="state.queryParams" ref="drawerRuleFormRef" @submit.native.prevent label-width="100px">
+				<el-form-item label="是否省工单" prop="IsProvince">
+					<el-select v-model="state.queryParams.IsProvince" placeholder="请选择是否省工单" @change="handleQuery" clearable>
+						<el-option label="是" value="true" />
+						<el-option label="否" value="false" />
+					</el-select>
+				</el-form-item>
+				<el-form-item label="是否延期" prop="Delay">
+					<el-select v-model="state.queryParams.Delay" placeholder="请选择是否延期" @change="handleQuery" clearable>
+						<el-option label="是" :value="1" />
+						<el-option label="否" :value="2" />
+					</el-select>
+				</el-form-item>
+			</el-form>
+			<template #footer>
+				<el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
+				<el-button @click="resetQuery(drawerRuleFormRef)" class="default-button"> <SvgIcon name="ele-Refresh" class="mr5" />重置 </el-button>
+			</template>
+		</el-drawer>
 	</div>
 </template>
 <script setup lang="tsx" name="businessOverdue">
 import { defineAsyncComponent, onMounted, reactive, ref } from 'vue';
 import { FormInstance } from 'element-plus';
 import { formatDate } from '@/utils/formatTime';
-import { useRouter } from 'vue-router';
-import { exportOverdueList, exportOverdueSoon, overdueList } from '@/api/query/overdue';
-import { downloadFileByStream } from '@/utils/tools';
+import { exportOverdueList, overdueList } from '@/api/query/overdue';
 
 // 引入组件
 const OrderDetail = defineAsyncComponent(() => import('@/components/OrderDetail/index.vue')); // 工单详情
@@ -100,15 +101,12 @@ const columns = ref<any[]>([
 	{ prop: 'orgLevelOneName', label: '一级部门', minWidth: 140 },
 	{ prop: 'currentHandleOrgName', label: '接办部门', minWidth: 140 },
 	{ prop: 'acceptType', label: '受理类型', minWidth: 100 },
-	{ prop: 'counterSignTypeText', label: '是否会签', minWidth: 90  },
-	{ prop: 'sourceChannel', label: '来源渠道' , minWidth: 100 },
+	{ prop: 'counterSignTypeText', label: '是否会签', minWidth: 90 },
+	{ prop: 'sourceChannel', label: '来源渠道', minWidth: 100 },
 	{ prop: 'hotspotName', label: '热点分类', minWidth: 150 },
 	{ prop: 'acceptorName', label: '受理人', minWidth: 120 },
-	{ prop: 'operation', label: '操作', fixed: 'right', width: 90, align: 'center' },
 ]);
 // 定义变量内容
-const ruleFormRef = ref<RefType>(); // 表单ref
-const router = useRouter(); // 路由
 const state = reactive({
 	queryParams: {
 		// 查询条件
@@ -129,7 +127,7 @@ const handleQuery = () => {
 	queryList();
 };
 /** 获取列表 */
-const requestParams = ref({});
+const requestParams = ref<EmptyObjectType>({});
 const queryList = () => {
 	state.loading = true;
 	requestParams.value = state.queryParams;
@@ -147,9 +145,13 @@ const queryList = () => {
 		});
 };
 /** 重置按钮操作 */
+const drawerRuleFormRef = ref();
+const ruleFormRef = ref<RefType>(); // 表单ref
+const drawer = ref(false);
 const resetQuery = (formEl: FormInstance | undefined) => {
 	if (!formEl) return;
 	formEl.resetFields();
+	ruleFormRef.value?.resetFields();
 	queryList();
 };
 onMounted(async () => {

+ 28 - 26
src/views/business/overdue/soon.vue

@@ -22,44 +22,45 @@
 						<el-form-item label="工单编码" prop="No">
 							<el-input v-model="state.queryParams.No" placeholder="工单编码" clearable @keyup.enter="handleQuery" class="keyword-input" />
 						</el-form-item>
-						<el-form-item label="是否省工单" prop="IsProvince">
-							<el-select v-model="state.queryParams.IsProvince" placeholder="请选择是否省工单" @change="handleQuery">
-								<el-option label="是" value="true" />
-								<el-option label="否" value="false" />
-							</el-select>
-						</el-form-item>
-						<el-form-item label="是否延期" prop="Delay">
-							<el-select v-model="state.queryParams.Delay" placeholder="请选择是否延期" @change="handleQuery">
-								<el-option label="是" :value="1" />
-								<el-option label="否" :value="2" />
-							</el-select>
-						</el-form-item>
 						<el-form-item>
 							<el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
-							<el-button @click="resetQuery(ruleFormRef)" class="default-button" :loading="state.loading">
-								<SvgIcon name="ele-Refresh" class="mr5" />重置
-							</el-button>
+							<el-button @click="drawer = true" class="default-button"> <SvgIcon name="ele-Search" class="mr5" />更多查询</el-button>
 						</el-form-item>
 					</el-form>
 				</template>
 				<template #title="{ row }">
 					<order-detail :order="row" @updateList="queryList">{{ row.title }}</order-detail>
 				</template>
-				<!-- 表格操作 -->
-				<template #operation="{ row }">
-					<order-detail :order="row" @updateList="queryList" />
-				</template>
 			</ProTable>
 		</div>
+		<!--	更多查询	-->
+		<el-drawer v-model="drawer" title="更多查询" size="500px">
+			<el-form :model="state.queryParams" ref="drawerRuleFormRef" @submit.native.prevent label-width="100px">
+				<el-form-item label="是否省工单" prop="IsProvince">
+					<el-select v-model="state.queryParams.IsProvince" placeholder="请选择是否省工单" @change="handleQuery" clearable>
+						<el-option label="是" value="true" />
+						<el-option label="否" value="false" />
+					</el-select>
+				</el-form-item>
+				<el-form-item label="是否延期" prop="Delay">
+					<el-select v-model="state.queryParams.Delay" placeholder="请选择是否延期" @change="handleQuery" clearable>
+						<el-option label="是" :value="1" />
+						<el-option label="否" :value="2" />
+					</el-select>
+				</el-form-item>
+			</el-form>
+			<template #footer>
+				<el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
+				<el-button @click="resetQuery(drawerRuleFormRef)" class="default-button"> <SvgIcon name="ele-Refresh" class="mr5" />重置 </el-button>
+			</template>
+		</el-drawer>
 	</div>
 </template>
 <script setup lang="tsx" name="businessOverdueSoon">
 import { defineAsyncComponent, onMounted, reactive, ref } from 'vue';
 import { FormInstance } from 'element-plus';
 import { formatDate } from '@/utils/formatTime';
-import { useRouter } from 'vue-router';
 import { exportOverdueSoon, overdueSoonList } from '@/api/query/overdue';
-import { downloadFileByStream } from '@/utils/tools';
 // 引入组件
 const OrderDetail = defineAsyncComponent(() => import('@/components/OrderDetail/index.vue')); // 工单详情
 
@@ -94,12 +95,9 @@ const columns = ref<any[]>([
 	{ prop: 'currentHandleOrgName', label: '接办部门', minWidth: 140 },
 	{ prop: 'sourceChannel', label: '来源渠道', minWidth: 100 },
 	{ prop: 'hotspotName', label: '热点分类', minWidth: 150 },
-	{ prop: 'acceptorName', label: '受理人', minWidth: 120 },
-	{ prop: 'operation', label: '操作', fixed: 'right', minWidth: 90, align: 'center' },
+	{ prop: 'acceptorName', label: '受理人', minWidth: 120 }
 ]);
 // 定义变量内容
-const ruleFormRef = ref<RefType>(); // 表单ref
-const router = useRouter(); // 路由
 const state = reactive({
 	queryParams: {
 		// 查询条件
@@ -120,7 +118,7 @@ const handleQuery = () => {
 	queryList();
 };
 /** 获取列表 */
-const requestParams = ref({});
+const requestParams = ref<EmptyObjectType>({});
 const queryList = () => {
 	state.loading = true;
 	requestParams.value = state.queryParams;
@@ -138,9 +136,13 @@ const queryList = () => {
 		});
 };
 /** 重置按钮操作 */
+const drawerRuleFormRef = ref();
+const ruleFormRef = ref<RefType>(); // 表单ref
+const drawer = ref(false);
 const resetQuery = (formEl: FormInstance | undefined) => {
 	if (!formEl) return;
 	formEl.resetFields();
+	ruleFormRef.value?.resetFields();
 	queryList();
 };
 onMounted(async () => {

+ 32 - 60
src/views/business/publish/todo.vue

@@ -12,10 +12,8 @@
 				v-model:page-size="state.queryParams.PageSize"
 			>
         <template #table-search>
-          <el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent label-width="100px">
-            <el-row :gutter="10">
-              <el-col v-auth="'business:publish:todo:querySelf'">
-                <el-form-item label="数据范围" prop="QuerySelf">
+          <el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
+                <el-form-item label="数据范围" prop="QuerySelf" v-auth="'business:publish:todo:querySelf'">
                   <el-segmented
                       :options="[
 									{ label: '我的', value: 'true' },
@@ -25,50 +23,16 @@
                       @change="handleQuery"
                   />
                 </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
                 <el-form-item label="工单标题" prop="Keyword">
-                  <el-input v-model="state.queryParams.Keyword" placeholder="工单标题" clearable @keyup.enter="handleQuery" />
+                  <el-input v-model="state.queryParams.Keyword" placeholder="工单标题" clearable @keyup.enter="handleQuery" class="keyword-input"/>
                 </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
                 <el-form-item label="工单编码" prop="No">
-                  <el-input v-model="state.queryParams.No" placeholder="工单编码" clearable @keyup.enter="handleQuery" />
+                  <el-input v-model="state.queryParams.No" placeholder="工单编码" clearable @keyup.enter="handleQuery" class="keyword-input"/>
                 </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-                <el-form-item label="归档类型" prop="FiledType">
-                  <el-select v-model="state.queryParams.FiledType" placeholder="请选择归档类型" @change="handleQuery" class="w100">
-                    <el-option label="中心归档" value="10" />
-                    <el-option label="部门归档" value="20" />
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <transition name="el-zoom-in-top">
-                <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-                  <el-form-item label="是否会签" prop="IsCountersign">
-                    <el-select v-model="state.queryParams.IsCountersign" placeholder="请选择是否会签" @change="handleQuery" class="w100">
-                      <el-option label="是" value="true" />
-                      <el-option label="否" value="false" />
-                    </el-select>
-                  </el-form-item>
-                </el-col>
-              </transition>
-              <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-                <el-form-item label=" ">
-                  <div class="flex-end w100">
+                <el-form-item>
                     <el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
-                    <el-button @click="resetQuery(ruleFormRef)" class="default-button" :loading="state.loading">
-                      <SvgIcon name="ele-Refresh" class="mr5" />重置
-                    </el-button>
-                    <el-button link type="primary" @click="closeSearch" :loading="state.loading">
-                      {{ searchCol ? '展开' : '收起' }}
-                      <SvgIcon :class="{ 'is-reverse': searchCol }" name="ele-ArrowUp" class="mr5 arrow" size="18px" />
-                    </el-button>
-                  </div>
+									<el-button @click="drawer = true" class="default-button"> <SvgIcon name="ele-Search" class="mr5" />更多查询</el-button>
                 </el-form-item>
-              </el-col>
-            </el-row>
           </el-form>
         </template>
 				<template #tableHeader="scope">
@@ -93,6 +57,27 @@
 		<order-publish ref="orderPublishRef" @updateList="queryList" />
 		<!-- 工单平移 -->
 		<order-migration ref="orderMigrationRef" @updateList="queryList" />
+		<!--	更多查询	-->
+		<el-drawer v-model="drawer" title="更多查询" size="500px">
+			<el-form :model="state.queryParams" ref="drawerRuleFormRef" @submit.native.prevent label-width="100px">
+				<el-form-item label="归档类型" prop="FiledType">
+					<el-select v-model="state.queryParams.FiledType" placeholder="请选择归档类型" @change="handleQuery" clearable>
+						<el-option label="中心归档" value="10" />
+						<el-option label="部门归档" value="20" />
+					</el-select>
+				</el-form-item>
+				<el-form-item label="是否会签" prop="IsCountersign">
+					<el-select v-model="state.queryParams.IsCountersign" placeholder="请选择是否会签" @change="handleQuery" clearable>
+						<el-option label="是" value="true" />
+						<el-option label="否" value="false" />
+					</el-select>
+				</el-form-item>
+			</el-form>
+			<template #footer>
+				<el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
+				<el-button @click="resetQuery(drawerRuleFormRef)" class="default-button"> <SvgIcon name="ele-Refresh" class="mr5" />重置 </el-button>
+			</template>
+		</el-drawer>
 	</div>
 </template>
 <script setup lang="tsx" name="businessPublishTodo">
@@ -105,7 +90,6 @@ const OrderPublish = defineAsyncComponent(() => import('@/views/business/publish
 const OrderDetail = defineAsyncComponent(() => import('@/components/OrderDetail/index.vue')); // 工单详情
 const OrderMigration = defineAsyncComponent(() => import('@/views/todo/center/Order-migration.vue')); // 工单平移
 // 定义变量内容
-const ruleFormRef = ref<RefType>(); // 表单ref
 const state = reactive({
 	queryParams: {
 		// 查询条件
@@ -123,11 +107,6 @@ const state = reactive({
 	total: 0, // 总数
 });
 const proTableRef = ref<RefType>(); // 表格ref
-const searchCol = ref(true); // 展开/收起
-// 展开/收起
-const closeSearch = () => {
-	searchCol.value = !searchCol.value;
-};
 const selectable = (row: any) => {
 	//设置省工单和会签工单不可选(不可批量发布)
 	return !row.isProvince && row.counterSignType === null;
@@ -189,10 +168,14 @@ const queryList = () => {
 		});
 };
 /** 重置按钮操作 */
+const drawerRuleFormRef = ref();
+const ruleFormRef = ref<RefType>(); // 表单ref
+const drawer = ref(false);
 const resetQuery = (formEl: FormInstance | undefined) => {
 	if (!formEl) return;
 	formEl.resetFields();
 	state.queryParams.QuerySelf = 'true';
+	ruleFormRef.value?.resetFields();
 	queryList();
 };
 // 批量发布
@@ -228,15 +211,4 @@ const onMigration = () => {
 onMounted(() => {
 	queryList();
 });
-</script>
-<style scoped lang="scss">
-.business-publish-todo-container {
-	.arrow {
-		transition: transform var(--el-transition-duration);
-		cursor: pointer;
-	}
-	.arrow.is-reverse {
-		transform: rotateZ(-180deg);
-	}
-}
-</style>
+</script>

+ 2 - 2
src/views/business/return/components/Return-audit-detail.vue

@@ -1,6 +1,6 @@
 <template>
 	<el-dialog v-model="state.dialogVisible" draggable title="退回详情" width="50%" append-to-body destroy-on-close>
-		<div class="collapse-container">
+		<div class="collapse-container"  v-loading="state.loading">
 			<el-form label-width="110px" :model="state.ruleForm" class="show-info-form">
 				<el-row :gutter="35">
 					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
@@ -72,9 +72,9 @@ const openDialog = async (val: any) => {
 		const { result } = await returnAuditDetail(val.id);
     if(result) state.detail = result;
 		else state.detail = val;
+		state.loading = false;
 	} catch (e) {
 		console.log(e);
-	} finally {
 		state.loading = false;
 	}
 };

+ 7 - 3
src/views/business/return/components/Return-detail.vue

@@ -1,6 +1,6 @@
 <template>
 	<el-dialog v-model="state.dialogVisible" draggable title="退回详情" width="50%" append-to-body destroy-on-close>
-		<el-form label-width="110px" ref="ruleFormRef" :model="state.ruleForm" class="show-info-form">
+		<el-form label-width="110px" ref="ruleFormRef" :model="state.ruleForm" class="show-info-form" v-loading="state.loading">
 			<el-row :gutter="35">
 				<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
 					<el-form-item label="工单编码"> {{ state.ruleForm.order?.no }} </el-form-item>
@@ -82,11 +82,15 @@ const ruleFormRef = ref<RefType>();
  * @param {object} val 工单详情
  */
 const openDialog = (val: any) => {
+	state.loading = true;
 	returnDetail(val.id).then((res) => {
 		state.ruleForm = res.result;
     state.ruleForm.files = transformFile(state.ruleForm.files);
-	});
-	state.dialogVisible = true;
+		state.loading = false;
+		state.dialogVisible = true;
+	}).catch(()=>{
+		state.loading = false;
+	})
 };
 // 关闭弹窗
 const closeDialog = () => {

+ 65 - 102
src/views/business/return/index.vue

@@ -1,6 +1,6 @@
 <template>
 	<div class="business-return-container layout-padding">
-    <div class="layout-padding-auto layout-padding-view pd20">
+		<div class="layout-padding-auto layout-padding-view pd20">
 			<ProTable
 				ref="proTableRef"
 				:columns="columns"
@@ -14,98 +14,74 @@
 				:exportMethod="returnExport"
 				:exportParams="requestParams"
 			>
-        <template #table-search>
-          <el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent label-width="100px">
-            <el-row>
-              <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-auth="'business:return:querySelf'">
-                <el-form-item label="数据范围" prop="DataScope">
-                  <el-segmented
-                      :options="[
+				<template #table-search>
+					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
+						<el-form-item label="数据范围" prop="DataScope" v-auth="'business:return:querySelf'">
+							<el-segmented
+								:options="[
 									{ label: '我的', value: '1' },
 									{ label: '全部', value: '0' },
 								]"
-                      v-model="state.queryParams.DataScope"
-                      @change="handleQuery"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-                <el-form-item label="快捷查询" prop="State">
-                  <el-segmented :options="eSendBackAuditState" v-model="state.queryParams.State" @change="handleQuery" />
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row :gutter="0">
-              <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-                <el-form-item label="工单标题" prop="Title">
-                  <el-input v-model="state.queryParams.Title" placeholder="工单标题" clearable @keyup.enter="handleQuery" />
-                </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-                <el-form-item label="工单编码" prop="No">
-                  <el-input v-model="state.queryParams.No" placeholder="工单编码" clearable @keyup.enter="handleQuery" />
-                </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-                <el-form-item label="受理类型" prop="AcceptTypeCode">
-                  <el-select v-model="state.queryParams.AcceptTypeCode" placeholder="请选择受理类型" @change="handleQuery" class="w100">
-                    <el-option :value="item.dicDataValue" :label="item.dicDataName" v-for="item in acceptTypeOptions" :key="item.dicDataValue" />
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <transition name="el-zoom-in-top">
-                <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-                  <el-form-item label="时间段" prop="crTime">
-                    <el-date-picker
-                        v-model="state.queryParams.crTime"
-                        type="datetimerange"
-                        unlink-panels
-                        range-separator="至"
-                        start-placeholder="开始时间"
-                        end-placeholder="结束时间"
-                        :shortcuts="shortcuts"
-                        @change="handleQuery"
-                        value-format="YYYY-MM-DD[T]HH:mm:ss"
-                        :default-time="defaultTimeStartEnd"
-                    />
-                  </el-form-item>
-                </el-col>
-              </transition>
-              <transition name="el-zoom-in-top">
-                <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-                  <el-form-item label="申请部门" prop="OrgName">
-                    <el-input v-model="state.queryParams.OrgName" placeholder="申请部门" clearable @keyup.enter="handleQuery" />
-                  </el-form-item>
-                </el-col>
-              </transition>
-              <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-                <el-form-item label=" ">
-                  <div class="flex-end w100">
-                    <el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
-                    <el-button @click="resetQuery(ruleFormRef)" class="default-button" :loading="state.loading">
-                      <SvgIcon name="ele-Refresh" class="mr5" />重置
-                    </el-button>
-                    <el-button link type="primary" @click="closeSearch" :loading="state.loading">
-                      {{ searchCol ? '展开' : '收起' }}
-                      <SvgIcon :class="{ 'is-reverse': searchCol }" name="ele-ArrowUp" class="mr5 arrow" size="18px" />
-                    </el-button>
-                  </div>
-                </el-form-item>
-              </el-col>
-            </el-row>
-          </el-form>
-        </template>
+								v-model="state.queryParams.DataScope"
+								@change="handleQuery"
+							/>
+						</el-form-item>
+						<el-form-item label="快捷查询" prop="State">
+							<el-segmented :options="eSendBackAuditState" v-model="state.queryParams.State" @change="handleQuery" />
+						</el-form-item>
+						<el-form-item label="工单标题" prop="Title">
+							<el-input v-model="state.queryParams.Title" placeholder="工单标题" clearable @keyup.enter="handleQuery" class="keyword-input" />
+						</el-form-item>
+						<el-form-item>
+							<el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
+							<el-button @click="drawer = true" class="default-button"> <SvgIcon name="ele-Search" class="mr5" />更多查询</el-button>
+						</el-form-item>
+					</el-form>
+				</template>
 				<template #title="{ row }">
 					<order-detail :order="row.order" @updateList="queryList">{{ row.order?.title }}</order-detail>
 				</template>
 				<template #operation="{ row }">
 					<el-button link type="primary" @click="onAuditDetail(row)" title="查看退回详情"> 退回详情 </el-button>
-					<order-detail :order="row.order" @updateList="queryList" />
 				</template>
 			</ProTable>
 		</div>
 		<!-- 审批详情 -->
 		<return-audit-detail ref="returnAuditDetailRef" />
+		<!--	更多查询	-->
+		<el-drawer v-model="drawer" title="更多查询" size="500px">
+			<el-form :model="state.queryParams" ref="drawerRuleFormRef" @submit.native.prevent label-width="100px">
+				<el-form-item label="工单编码" prop="No">
+					<el-input v-model="state.queryParams.No" placeholder="工单编码" clearable @keyup.enter="handleQuery" class="keyword-input" />
+				</el-form-item>
+				<el-form-item label="受理类型" prop="AcceptTypeCode">
+					<el-select v-model="state.queryParams.AcceptTypeCode" placeholder="请选择受理类型" @change="handleQuery" class="w100">
+						<el-option :value="item.dicDataValue" :label="item.dicDataName" v-for="item in acceptTypeOptions" :key="item.dicDataValue" />
+					</el-select>
+				</el-form-item>
+				<el-form-item label="时间段" prop="crTime">
+					<el-date-picker
+						v-model="state.queryParams.crTime"
+						type="datetimerange"
+						unlink-panels
+						range-separator="至"
+						start-placeholder="开始时间"
+						end-placeholder="结束时间"
+						:shortcuts="shortcuts"
+						@change="handleQuery"
+						value-format="YYYY-MM-DD[T]HH:mm:ss"
+						:default-time="defaultTimeStartEnd"
+					/>
+				</el-form-item>
+				<el-form-item label="申请部门" prop="OrgName">
+					<el-input v-model="state.queryParams.OrgName" placeholder="申请部门" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+			</el-form>
+			<template #footer>
+				<el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
+				<el-button @click="resetQuery(drawerRuleFormRef)" class="default-button"> <SvgIcon name="ele-Refresh" class="mr5" />重置 </el-button>
+			</template>
+		</el-drawer>
 	</div>
 </template>
 <script setup lang="tsx" name="businessReturn">
@@ -118,7 +94,6 @@ import Other from '@/utils/other';
 const ReturnAuditDetail = defineAsyncComponent(() => import('@/views/business/return/components/Return-audit-detail.vue')); // 审批详情
 const OrderDetail = defineAsyncComponent(() => import('@/components/OrderDetail/index.vue')); // 工单详情
 // 定义变量内容
-const ruleFormRef = ref<RefType>(); // 表单ref
 const proTableRef = ref<RefType>(); // 表格ref
 // 表格配置项
 const columns = ref<any[]>([
@@ -134,7 +109,7 @@ const columns = ref<any[]>([
 	{ prop: 'creatorName', label: '申请人', minWidth: 120 },
 	{ prop: 'creatorOrgName', label: '申请部门', minWidth: 140 },
 	{ prop: 'content', label: '申请理由', minWidth: 150 },
-	{ prop: 'operation', label: '操作', fixed: 'right', minWidth: 160, align: 'center' },
+	{ prop: 'operation', label: '操作', fixed: 'right', minWidth: 90, align: 'center' },
 ]);
 const state = reactive<any>({
 	queryParams: {
@@ -153,18 +128,13 @@ const state = reactive<any>({
 	loading: false, // 加载
 	total: 0, // 总数
 });
-const searchCol = ref(true); // 展开/收起
-// 展开/收起
-const closeSearch = () => {
-	searchCol.value = !searchCol.value;
-};
 // 手动查询,将页码设置为1
 const handleQuery = () => {
 	state.queryParams.PageIndex = 1;
 	queryList();
 };
 /** 获取列表 */
-const requestParams = ref({});
+const requestParams = ref<EmptyObjectType>({});
 const queryList = () => {
 	state.loading = true;
 	requestParams.value = Other.deepClone(state.queryParams);
@@ -184,9 +154,13 @@ const queryList = () => {
 };
 
 /** 重置按钮操作 */
+const drawerRuleFormRef = ref();
+const ruleFormRef = ref<RefType>(); // 表单ref
+const drawer = ref(false);
 const resetQuery = (formEl: FormInstance | undefined) => {
 	if (!formEl) return;
 	formEl.resetFields();
+	ruleFormRef.value?.resetFields();
 	queryList();
 };
 // 审批详情
@@ -194,8 +168,8 @@ const returnAuditDetailRef = ref<RefType>();
 const onAuditDetail = (row: any) => {
 	returnAuditDetailRef.value.openDialog(row);
 };
-const eSendBackAuditState = ref([]);
-const acceptTypeOptions = ref([]);
+const eSendBackAuditState = ref<EmptyArrayType>([]);
+const acceptTypeOptions = ref<EmptyArrayType>([]);
 const getBaseData = async () => {
 	// 获取基础数据
 	try {
@@ -216,15 +190,4 @@ onMounted(() => {
 	getBaseData();
 	queryList();
 });
-</script>
-<style scoped lang="scss">
-.business-return-container {
-	.arrow {
-		transition: transform var(--el-transition-duration);
-		cursor: pointer;
-	}
-	.arrow.is-reverse {
-		transform: rotateZ(-180deg);
-	}
-}
-</style>
+</script>

+ 115 - 234
src/views/business/secondHandle/apply.vue

@@ -15,210 +15,17 @@
 				:exportParams="requestParams"
 			>
 				<template #table-search
-					><el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent label-width="100px">
-						<el-row :gutter="10">
-							<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-								<el-form-item label="工单标题" prop="Title">
-									<el-input v-model="state.queryParams.Title" placeholder="工单标题" clearable @keyup.enter="handleQuery" />
-								</el-form-item>
-							</el-col>
-							<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-								<el-form-item label="工单编码" prop="No">
-									<el-input v-model="state.queryParams.No" placeholder="工单编码" clearable @keyup.enter="handleQuery" />
-								</el-form-item>
-							</el-col>
-							<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-								<el-form-item label="来源渠道" prop="SourceChannel">
-									<el-select v-model="state.queryParams.SourceChannel" placeholder="请选择来源渠道" clearable class="w100" @change="handleQuery">
-										<el-option
-											v-for="item in state.sourceChannelOptions"
-											:value="item.dicDataValue"
-											:key="item.dicDataValue"
-											:label="item.dicDataName"
-										/>
-									</el-select>
-								</el-form-item>
-							</el-col>
-							<transition name="el-zoom-in-top" v-show="!searchCol">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-									<el-form-item label="受理类型" prop="AcceptType">
-										<el-select v-model="state.queryParams.AcceptType" placeholder="请选择受理类型" clearable class="w100" @change="handleQuery">
-											<el-option
-												v-for="item in state.acceptTypeOptions"
-												:value="item.dicDataValue"
-												:key="item.dicDataValue"
-												:label="item.dicDataName"
-											/>
-										</el-select>
-									</el-form-item>
-								</el-col>
-							</transition>
-							<transition name="el-zoom-in-top" v-show="!searchCol">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-									<el-form-item label="会签类型" prop="CounterSignType">
-										<el-select v-model="state.queryParams.CounterSignType" placeholder="会签类型" class="w100" @change="handleQuery" clearable>
-											<el-option v-for="item in state.counterSignTypeOptions" :value="item.key" :key="item.key" :label="item.value" />
-										</el-select>
-									</el-form-item>
-								</el-col>
-							</transition>
-							<transition name="el-zoom-in-top" v-show="!searchCol">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-									<el-form-item label="一级部门名称" prop="OrgLevelOneName">
-										<el-input v-model="state.queryParams.OrgLevelOneName" placeholder="一级部门名称" clearable @keyup.enter="handleQuery" />
-									</el-form-item>
-								</el-col>
-							</transition>
-							<transition name="el-zoom-in-top" v-show="!searchCol">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-									<el-form-item label="接办部门" prop="CurrentHandleOrgName">
-										<el-input v-model="state.queryParams.CurrentHandleOrgName" placeholder="接办部门名称" clearable @keyup.enter="handleQuery" />
-									</el-form-item>
-								</el-col>
-							</transition>
-							<transition name="el-zoom-in-top">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-									<el-form-item label="受理时间" prop="slTime">
-										<el-date-picker
-											v-model="state.queryParams.slTime"
-											type="datetimerange"
-											unlink-panels
-											range-separator="至"
-											start-placeholder="开始时间"
-											end-placeholder="结束时间"
-											:shortcuts="shortcuts"
-											@change="handleQuery"
-											value-format="YYYY-MM-DD[T]HH:mm:ss"
-											:default-time="defaultTimeStartEnd"
-										/>
-									</el-form-item>
-								</el-col>
-							</transition>
-							<transition name="el-zoom-in-top">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-									<el-form-item label="接办时间" prop="jbTime">
-										<el-date-picker
-											v-model="state.queryParams.jbTime"
-											type="datetimerange"
-											unlink-panels
-											range-separator="至"
-											start-placeholder="开始时间"
-											end-placeholder="结束时间"
-											:shortcuts="shortcuts"
-											@change="handleQuery"
-											value-format="YYYY-MM-DD[T]HH:mm:ss"
-											:default-time="defaultTimeStartEnd"
-										/>
-									</el-form-item>
-								</el-col>
-							</transition>
-							<transition name="el-zoom-in-top">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-									<el-form-item label="办结时间" prop="bjTime">
-										<el-date-picker
-											v-model="state.queryParams.bjTime"
-											type="datetimerange"
-											unlink-panels
-											range-separator="至"
-											start-placeholder="开始时间"
-											end-placeholder="结束时间"
-											:shortcuts="shortcuts"
-											@change="handleQuery"
-											value-format="YYYY-MM-DD[T]HH:mm:ss"
-											:default-time="defaultTimeStartEnd"
-										/>
-									</el-form-item>
-								</el-col>
-							</transition>
-							<transition name="el-zoom-in-top">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-									<el-form-item label="回访时间" prop="hfTime">
-										<el-date-picker
-											v-model="state.queryParams.hfTime"
-											type="datetimerange"
-											unlink-panels
-											range-separator="至"
-											start-placeholder="开始时间"
-											end-placeholder="结束时间"
-											:shortcuts="shortcuts"
-											@change="handleQuery"
-											value-format="YYYY-MM-DD[T]HH:mm:ss"
-											:default-time="defaultTimeStartEnd"
-										/>
-									</el-form-item>
-								</el-col>
-							</transition>
-							<transition name="el-zoom-in-top" v-show="!searchCol">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-									<el-form-item label="被回访部门" prop="VisitOrgName">
-										<el-input v-model="state.queryParams.VisitOrgName" placeholder="被回访部门名称" clearable @keyup.enter="handleQuery" />
-									</el-form-item>
-								</el-col>
-							</transition>
-							<transition name="el-zoom-in-top" v-show="!searchCol">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-									<el-form-item label="部门办件结果" prop="OrgProcessingResults">
-										<el-select
-											v-model="state.queryParams.OrgProcessingResults"
-											placeholder="请选择部门办件结果"
-											clearable
-											class="w100"
-											@change="handleQuery"
-										>
-											<el-option
-												v-for="item in state.visitSatisfaction"
-												:value="item.dicDataValue"
-												:key="item.dicDataValue"
-												:label="item.dicDataName"
-											/>
-										</el-select>
-									</el-form-item>
-								</el-col>
-							</transition>
-							<!--					<transition name="el-zoom-in-top" v-show="!searchCol">
-              <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-                <el-form-item label="部门办件态度" prop="OrgHandledAttitude">
-                  <el-input v-model="state.queryParams.OrgHandledAttitude" placeholder="部门办件态度" clearable @keyup.enter="handleQuery" />
-                </el-form-item>
-              </el-col>
-            </transition>-->
-							<transition name="el-zoom-in-top" v-show="!searchCol">
-								<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-									<el-form-item label="不满意原因" prop="OrgNoSatisfiedReason">
-										<el-select
-											v-model="state.queryParams.OrgNoSatisfiedReason"
-											placeholder="请选择不满意原因"
-											clearable
-											class="w100"
-											@change="handleQuery"
-										>
-											<el-option
-												v-for="item in state.dissatisfiedReason"
-												:value="item.dicDataValue"
-												:key="item.dicDataValue"
-												:label="item.dicDataName"
-											/>
-										</el-select>
-									</el-form-item>
-								</el-col>
-							</transition>
-							<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-								<el-form-item label=" ">
-									<div class="flex-end w100">
-										<el-button type="primary" @click="handleQuery" :loading="state.loading">
-											<SvgIcon name="ele-Search" class="mr5" />查询
-										</el-button>
-										<el-button @click="resetQuery(ruleFormRef)" class="default-button" :loading="state.loading">
-											<SvgIcon name="ele-Refresh" class="mr5" />重置
-										</el-button>
-										<el-button link type="primary" @click="closeSearch" :loading="state.loading">
-											{{ searchCol ? '展开' : '收起' }}
-											<SvgIcon :class="{ 'is-reverse': searchCol }" name="ele-ArrowUp" class="mr5 arrow" size="18px" />
-										</el-button>
-									</div>
-								</el-form-item>
-							</el-col>
-						</el-row>
+					><el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
+						<el-form-item label="工单标题" prop="Title">
+							<el-input v-model="state.queryParams.Title" placeholder="工单标题" clearable @keyup.enter="handleQuery" class="keyword-input" />
+						</el-form-item>
+						<el-form-item label="工单编码" prop="No">
+							<el-input v-model="state.queryParams.No" placeholder="工单编码" clearable @keyup.enter="handleQuery" class="keyword-input" />
+						</el-form-item>
+						<el-form-item label="">
+							<el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
+							<el-button @click="drawer = true" class="default-button"> <SvgIcon name="ele-Search" class="mr5" />更多查询</el-button>
+						</el-form-item>
 					</el-form>
 				</template>
 				<template #expiredStatusText="{ row }">
@@ -238,13 +45,111 @@
 		<second-handle-apply ref="secondHandleApplyRef" @updateList="queryList" />
 		<!--  办理明细  -->
 		<second-handle-detail ref="secondHandleDetailRef" @updateList="queryList" />
+		<!--	更多查询	-->
+		<el-drawer v-model="drawer" title="更多查询" size="500px">
+			<el-form :model="state.queryParams" ref="drawerRuleFormRef" @submit.native.prevent label-width="100px">
+				<el-form-item label="来源渠道" prop="SourceChannel">
+					<el-select v-model="state.queryParams.SourceChannel" placeholder="请选择来源渠道" clearable @change="handleQuery">
+						<el-option v-for="item in state.sourceChannelOptions" :value="item.dicDataValue" :key="item.dicDataValue" :label="item.dicDataName" />
+					</el-select>
+				</el-form-item>
+				<el-form-item label="受理类型" prop="AcceptType">
+					<el-select v-model="state.queryParams.AcceptType" placeholder="请选择受理类型" clearable @change="handleQuery">
+						<el-option v-for="item in state.acceptTypeOptions" :value="item.dicDataValue" :key="item.dicDataValue" :label="item.dicDataName" />
+					</el-select>
+				</el-form-item>
+				<el-form-item label="会签类型" prop="CounterSignType">
+					<el-select v-model="state.queryParams.CounterSignType" placeholder="会签类型" @change="handleQuery" clearable>
+						<el-option v-for="item in state.counterSignTypeOptions" :value="item.key" :key="item.key" :label="item.value" />
+					</el-select>
+				</el-form-item>
+				<el-form-item label="一级部门名称" prop="OrgLevelOneName">
+					<el-input v-model="state.queryParams.OrgLevelOneName" placeholder="一级部门名称" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="接办部门" prop="CurrentHandleOrgName">
+					<el-input v-model="state.queryParams.CurrentHandleOrgName" placeholder="接办部门名称" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="受理时间" prop="slTime">
+					<el-date-picker
+						v-model="state.queryParams.slTime"
+						type="datetimerange"
+						unlink-panels
+						range-separator="至"
+						start-placeholder="开始时间"
+						end-placeholder="结束时间"
+						:shortcuts="shortcuts"
+						@change="handleQuery"
+						value-format="YYYY-MM-DD[T]HH:mm:ss"
+						:default-time="defaultTimeStartEnd"
+					/>
+				</el-form-item>
+				<el-form-item label="接办时间" prop="jbTime">
+					<el-date-picker
+						v-model="state.queryParams.jbTime"
+						type="datetimerange"
+						unlink-panels
+						range-separator="至"
+						start-placeholder="开始时间"
+						end-placeholder="结束时间"
+						:shortcuts="shortcuts"
+						@change="handleQuery"
+						value-format="YYYY-MM-DD[T]HH:mm:ss"
+						:default-time="defaultTimeStartEnd"
+					/>
+				</el-form-item>
+				<el-form-item label="办结时间" prop="bjTime">
+					<el-date-picker
+						v-model="state.queryParams.bjTime"
+						type="datetimerange"
+						unlink-panels
+						range-separator="至"
+						start-placeholder="开始时间"
+						end-placeholder="结束时间"
+						:shortcuts="shortcuts"
+						@change="handleQuery"
+						value-format="YYYY-MM-DD[T]HH:mm:ss"
+						:default-time="defaultTimeStartEnd"
+					/>
+				</el-form-item>
+				<el-form-item label="回访时间" prop="hfTime">
+					<el-date-picker
+						v-model="state.queryParams.hfTime"
+						type="datetimerange"
+						unlink-panels
+						range-separator="至"
+						start-placeholder="开始时间"
+						end-placeholder="结束时间"
+						:shortcuts="shortcuts"
+						@change="handleQuery"
+						value-format="YYYY-MM-DD[T]HH:mm:ss"
+						:default-time="defaultTimeStartEnd"
+					/>
+				</el-form-item>
+				<el-form-item label="被回访部门" prop="VisitOrgName">
+					<el-input v-model="state.queryParams.VisitOrgName" placeholder="被回访部门名称" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="部门办件结果" prop="OrgProcessingResults">
+					<el-select v-model="state.queryParams.OrgProcessingResults" placeholder="请选择部门办件结果" clearable class="w100" @change="handleQuery">
+						<el-option v-for="item in state.visitSatisfaction" :value="item.dicDataValue" :key="item.dicDataValue" :label="item.dicDataName" />
+					</el-select>
+				</el-form-item>
+				<el-form-item label="不满意原因" prop="OrgNoSatisfiedReason">
+					<el-select v-model="state.queryParams.OrgNoSatisfiedReason" placeholder="请选择不满意原因" clearable class="w100" @change="handleQuery">
+						<el-option v-for="item in state.dissatisfiedReason" :value="item.dicDataValue" :key="item.dicDataValue" :label="item.dicDataName" />
+					</el-select>
+				</el-form-item>
+			</el-form>
+			<template #footer>
+				<el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
+				<el-button @click="resetQuery(drawerRuleFormRef)" class="default-button"> <SvgIcon name="ele-Refresh" class="mr5" />重置 </el-button>
+			</template>
+		</el-drawer>
 	</div>
 </template>
 <script setup lang="tsx" name="businessSecondHandleApply">
 import { defineAsyncComponent, onMounted, reactive, ref } from 'vue';
 import { FormInstance } from 'element-plus';
 import { formatDate } from '@/utils/formatTime';
-import { useRouter } from 'vue-router';
 import { secondHandleBase, secondHandleExport, secondHandleList } from '@/api/business/secondHandle';
 import { defaultTimeStartEnd, shortcuts } from '@/utils/constants';
 import other from '@/utils/other';
@@ -254,8 +159,6 @@ const SecondHandleDetail = defineAsyncComponent(() => import('@/views/business/s
 const SecondHandleApply = defineAsyncComponent(() => import('@/views/business/secondHandle/components/Second-handle-apply.vue')); // 二次办理申请
 
 // 定义变量内容
-const ruleFormRef = ref<RefType>(); // 表单ref
-const router = useRouter(); // 路由
 const proTableRef = ref<RefType>(); // 表格ref
 // 表格配置项
 const columns = ref<any[]>([
@@ -330,21 +233,6 @@ const state = reactive<any>({
 	dissatisfiedReason: [], // 不满意原因
 	visitSatisfaction: [], // 满意度
 });
-const searchCol = ref(true); // 展开/收起
-// 展开/收起
-const closeSearch = () => {
-	searchCol.value = !searchCol.value;
-};
-const handleTimeChange = (val: string[], startKey: string, endKey: string) => {
-	if (val) {
-		state.queryParams[startKey] = val[0];
-		state.queryParams[endKey] = val[1];
-	} else {
-		state.queryParams[startKey] = '';
-		state.queryParams[endKey] = '';
-	}
-	handleQuery();
-};
 // 手动查询,将页码设置为1
 const handleQuery = () => {
 	state.queryParams.PageIndex = 1;
@@ -366,7 +254,7 @@ const getBaseData = async () => {
 	}
 };
 /** 获取列表 */
-const requestParams = ref({});
+const requestParams = ref<EmptyObjectType>({});
 const queryList = () => {
 	requestParams.value = other.deepClone(state.queryParams);
 	requestParams.value.CreationTime = state.queryParams.slTime === null ? null : state.queryParams.slTime[0];
@@ -393,9 +281,13 @@ const queryList = () => {
 		});
 };
 /** 重置按钮操作 */
+const drawerRuleFormRef = ref();
+const ruleFormRef = ref<RefType>(); // 表单ref
+const drawer = ref(false);
 const resetQuery = (formEl: FormInstance | undefined) => {
 	if (!formEl) return;
 	formEl.resetFields();
+	ruleFormRef.value?.resetFields();
 	queryList();
 };
 // 申请二次办理
@@ -419,14 +311,3 @@ onMounted(() => {
 	queryList();
 });
 </script>
-<style scoped lang="scss">
-.business-second-handle-apply-container {
-	.arrow {
-		transition: transform var(--el-transition-duration);
-		cursor: pointer;
-	}
-	.arrow.is-reverse {
-		transform: rotateZ(-180deg);
-	}
-}
-</style>

+ 62 - 99
src/views/business/secondHandle/index.vue

@@ -1,6 +1,6 @@
 <template>
 	<div class="business-second-handle-index-container layout-padding">
-    <div class="layout-padding-auto layout-padding-view pd20">
+		<div class="layout-padding-auto layout-padding-view pd20">
 			<ProTable
 				ref="proTableRef"
 				:columns="columns"
@@ -15,59 +15,19 @@
 				:exportParams="requestParams"
 			>
 				<template #table-search>
-          <el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent label-width="100px">
-            <el-row :gutter="10">
-              <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-                <el-form-item label="工单标题" prop="Title">
-                  <el-input v-model="state.queryParams.Title" placeholder="工单标题" clearable @keyup.enter="handleQuery" />
-                </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-                <el-form-item label="工单编码" prop="No">
-                  <el-input v-model="state.queryParams.No" placeholder="工单编码" clearable @keyup.enter="handleQuery" />
-                </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-                <el-form-item label="办理状态" prop="Status">
-                  <el-select v-model="state.queryParams.Status" placeholder="请选择办理状态" clearable @change="handleQuery">
-                    <el-option v-for="item in state.statusOptions" :value="item.key" :key="item.key" :label="item.value" />
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <transition name="el-zoom-in-top">
-                <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-                  <el-form-item label="申请时间" prop="crTime">
-                    <el-date-picker
-                        v-model="state.queryParams.crTime"
-                        type="datetimerange"
-                        unlink-panels
-                        range-separator="至"
-                        start-placeholder="开始时间"
-                        end-placeholder="结束时间"
-                        :shortcuts="shortcuts"
-                        @change="handleQuery"
-                        value-format="YYYY-MM-DD[T]HH:mm:ss"
-                        :default-time="defaultTimeStartEnd"
-                    />
-                  </el-form-item>
-                </el-col>
-              </transition>
-              <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-                <el-form-item label=" ">
-                  <div class="flex-end w100">
-                    <el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
-                    <el-button @click="resetQuery(ruleFormRef)" class="default-button" :loading="state.loading">
-                      <SvgIcon name="ele-Refresh" class="mr5" />重置
-                    </el-button>
-                    <el-button link type="primary" @click="closeSearch" :loading="state.loading">
-                      {{ searchCol ? '展开' : '收起' }}
-                      <SvgIcon :class="{ 'is-reverse': searchCol }" name="ele-ArrowUp" class="mr5 arrow" size="18px" />
-                    </el-button>
-                  </div>
-                </el-form-item>
-              </el-col>
-            </el-row>
-          </el-form></template>
+					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
+						<el-form-item label="工单标题" prop="Title">
+							<el-input v-model="state.queryParams.Title" placeholder="工单标题" clearable @keyup.enter="handleQuery" class="keyword-input" />
+						</el-form-item>
+						<el-form-item label="工单编码" prop="No">
+							<el-input v-model="state.queryParams.No" placeholder="工单编码" clearable @keyup.enter="handleQuery" class="keyword-input" />
+						</el-form-item>
+						<el-form-item label="">
+							<el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
+							<el-button @click="drawer = true" class="default-button"> <SvgIcon name="ele-Search" class="mr5" />更多查询</el-button>
+						</el-form-item>
+					</el-form>
+				</template>
 				<template #expiredStatusText="{ row }">
 					<span :class="'overdue-status-' + row.order?.expiredStatus" :title="row.order?.expiredStatusText"></span>
 				</template>
@@ -82,14 +42,41 @@
 		</div>
 		<!--  办理明细  -->
 		<second-handle-detail ref="secondHandleDetailRef" @updateList="queryList" />
+		<!--	更多查询	-->
+		<el-drawer v-model="drawer" title="更多查询" size="500px">
+			<el-form :model="state.queryParams" ref="drawerRuleFormRef" @submit.native.prevent label-width="100px">
+				<el-form-item label="办理状态" prop="Status">
+					<el-select v-model="state.queryParams.Status" placeholder="请选择办理状态" clearable @change="handleQuery">
+						<el-option v-for="item in state.statusOptions" :value="item.key" :key="item.key" :label="item.value" />
+					</el-select>
+				</el-form-item>
+				<el-form-item label="申请时间" prop="crTime">
+					<el-date-picker
+						v-model="state.queryParams.crTime"
+						type="datetimerange"
+						unlink-panels
+						range-separator="至"
+						start-placeholder="开始时间"
+						end-placeholder="结束时间"
+						:shortcuts="shortcuts"
+						@change="handleQuery"
+						value-format="YYYY-MM-DD[T]HH:mm:ss"
+						:default-time="defaultTimeStartEnd"
+					/>
+				</el-form-item>
+			</el-form>
+			<template #footer>
+				<el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
+				<el-button @click="resetQuery(drawerRuleFormRef)" class="default-button"> <SvgIcon name="ele-Refresh" class="mr5" />重置 </el-button>
+			</template>
+		</el-drawer>
 	</div>
 </template>
 <script setup lang="tsx" name="businessSecondHandleIndex">
 import { defineAsyncComponent, onMounted, reactive, ref } from 'vue';
 import { FormInstance } from 'element-plus';
 import { formatDate } from '@/utils/formatTime';
-import { useRouter } from 'vue-router';
-import { secondHandleAuditList, secondHandleBase, secondHandleExport, secondHandleList } from '@/api/business/secondHandle';
+import { secondHandleAuditList, secondHandleBase, secondHandleExport } from '@/api/business/secondHandle';
 import { defaultTimeStartEnd, shortcuts } from '@/utils/constants';
 import other from '@/utils/other';
 // 引入组件
@@ -97,8 +84,6 @@ const OrderDetail = defineAsyncComponent(() => import('@/components/OrderDetail/
 const SecondHandleDetail = defineAsyncComponent(() => import('@/views/business/secondHandle/components/Second-handle-detail.vue')); // 办理明细
 
 // 定义变量内容
-const ruleFormRef = ref<RefType>(); // 表单ref
-const router = useRouter(); // 路由
 const proTableRef = ref<RefType>(); // 表格ref
 // 表格配置项
 const columns = ref<any[]>([
@@ -107,15 +92,15 @@ const columns = ref<any[]>([
 	{ prop: 'order.no', label: '工单编码', minWidth: 140 },
 	{ prop: 'order.title', label: '工单标题', minWidth: 200 },
 	{ prop: 'creatorName', label: '申请人', minWidth: 140 },
-  { prop: 'creatorOrgName', label: '申请部门', minWidth: 120 },
-  {
-    prop: 'creationTime',
-    label: '申请时间',
-    minWidth: 160,
-    render: (scope: any) => {
-      return <span>{formatDate(scope.row.creationTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
-    },
-  },
+	{ prop: 'creatorOrgName', label: '申请部门', minWidth: 120 },
+	{
+		prop: 'creationTime',
+		label: '申请时间',
+		minWidth: 160,
+		render: (scope: any) => {
+			return <span>{formatDate(scope.row.creationTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
+		},
+	},
 	{ prop: 'order.acceptType', label: '受理类型', minWidth: 100 },
 	{ prop: 'order.hotspotName', label: '热点分类', minWidth: 150 },
 	{ prop: 'operation', label: '操作', fixed: 'right', width: 90, align: 'center' },
@@ -128,13 +113,13 @@ const state = reactive<any>({
 		crTime: [], // 申请时间
 		CreationTimeStart: null, // 受理时间开始
 		CreationTimeEnd: null, // 受理时间结束
-		No:null,
-		Title:null
+		No: null,
+		Title: null,
 	},
 	tableData: [], //表单
 	loading: false, // 加载
 	total: 0, // 总数
-  statusOptions:[],
+	statusOptions: [],
 	screenStatus: [], // 甄别状态
 	screenType: [], // 甄别类型
 	counterSignTypeOptions: [], // 会签类型
@@ -143,21 +128,6 @@ const state = reactive<any>({
 	dissatisfiedReason: [], // 不满意原因
 	visitSatisfaction: [], // 满意度
 });
-const searchCol = ref(true); // 展开/收起
-// 展开/收起
-const closeSearch = () => {
-	searchCol.value = !searchCol.value;
-};
-const handleTimeChange = (val: string[], startKey: string, endKey: string) => {
-	if (val) {
-		state.queryParams[startKey] = val[0];
-		state.queryParams[endKey] = val[1];
-	} else {
-		state.queryParams[startKey] = '';
-		state.queryParams[endKey] = '';
-	}
-	handleQuery();
-};
 // 手动查询,将页码设置为1
 const handleQuery = () => {
 	state.queryParams.PageIndex = 1;
@@ -166,14 +136,14 @@ const handleQuery = () => {
 // 获取基础数据
 const getBaseData = async () => {
 	try {
-    const { result } = await secondHandleBase();
-    state.statusOptions = result?.status ?? [];
+		const { result } = await secondHandleBase();
+		state.statusOptions = result?.status ?? [];
 	} catch (e) {
 		console.log(e);
 	}
 };
 /** 获取列表 */
-const requestParams = ref({});
+const requestParams = ref<EmptyObjectType>({});
 const queryList = () => {
 	requestParams.value = other.deepClone(state.queryParams);
 	requestParams.value.CreationTimeStart = state.queryParams.crTime === null ? null : state.queryParams.crTime[0];
@@ -191,9 +161,13 @@ const queryList = () => {
 		});
 };
 /** 重置按钮操作 */
+const drawerRuleFormRef = ref();
+const ruleFormRef = ref<RefType>(); // 表单ref
+const drawer = ref(false);
 const resetQuery = (formEl: FormInstance | undefined) => {
 	if (!formEl) return;
 	formEl.resetFields();
+	ruleFormRef.value?.resetFields();
 	queryList();
 };
 // 申请二次办理
@@ -217,14 +191,3 @@ onMounted(() => {
 	queryList();
 });
 </script>
-<style scoped lang="scss">
-.business-second-handle-index-container {
-	.arrow {
-		transition: transform var(--el-transition-duration);
-		cursor: pointer;
-	}
-	.arrow.is-reverse {
-		transform: rotateZ(-180deg);
-	}
-}
-</style>

+ 33 - 55
src/views/business/visit/index.vue

@@ -12,47 +12,37 @@
 				v-model:page-size="state.queryParams.PageSize"
 			>
 				<template #table-search>
-					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent label-width="100px">
-						<el-row :gutter="20">
-							<el-col>
-								<el-form-item label="数据范围" prop="IsProvince">
-									<el-segmented
-										:options="[
-											{
-												value: 'all',
-												label: '全部',
-											},
-											{
-												value: 'city',
-												label: '市工单',
-											},
-											{
-												value: 'province',
-												label: '省工单',
-											},
-										]"
-										v-model="fastSearch"
-										@change="fastSearchChange"
-									/>
-								</el-form-item>
-							</el-col>
-							<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-								<el-form-item label="工单标题" prop="Keyword">
-									<el-input v-model="state.queryParams.Keyword" placeholder="工单标题" clearable @keyup.enter="handleQuery" />
-								</el-form-item>
-							</el-col>
-							<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-								<el-form-item label="工单编码" prop="No">
-									<el-input v-model="state.queryParams.No" placeholder="工单编码" clearable @keyup.enter="handleQuery" />
-								</el-form-item>
-							</el-col>
-							<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-								<el-form-item label="" label-width="0">
-									<el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
-									<el-button @click="drawer = true" class="default-button"> <SvgIcon name="ele-Search" class="mr5" />更多查询</el-button>
-								</el-form-item>
-							</el-col>
-						</el-row>
+					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
+						<el-form-item label="数据范围" prop="IsProvince">
+							<el-segmented
+								:options="[
+									{
+										value: 'all',
+										label: '全部',
+									},
+									{
+										value: 'city',
+										label: '市工单',
+									},
+									{
+										value: 'province',
+										label: '省工单',
+									},
+								]"
+								v-model="fastSearch"
+								@change="fastSearchChange"
+							/>
+						</el-form-item>
+						<el-form-item label="工单标题" prop="Keyword">
+							<el-input v-model="state.queryParams.Keyword" placeholder="工单标题" clearable @keyup.enter="handleQuery" class="keyword-input" />
+						</el-form-item>
+						<el-form-item label="工单编码" prop="No">
+							<el-input v-model="state.queryParams.No" placeholder="工单编码" clearable @keyup.enter="handleQuery" class="keyword-input" />
+						</el-form-item>
+						<el-form-item label="" label-width="0">
+							<el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
+							<el-button @click="drawer = true" class="default-button"> <SvgIcon name="ele-Search" class="mr5" />更多查询</el-button>
+						</el-form-item>
 					</el-form>
 				</template>
 				<template #title="{ row }">
@@ -71,7 +61,6 @@
 				<!-- 表格操作 -->
 				<template #operation="{ row }">
 					<el-button link type="primary" @click="visitDetail(row)" title="查看回访详情"> 回访详情 </el-button>
-					<order-detail :order="row.order" @updateList="queryList" />
 				</template>
 			</ProTable>
 		</div>
@@ -222,7 +211,7 @@ const columns = ref<any[]>([
 	{ prop: 'order.counterSignTypeText', label: '是否会签', minWidth: 90 },
 	// { prop: 'voicePj', label: '语音评价', width: 150 },
 	{ prop: 'hwyPj', label: '话务员满意度', minWidth: 120 },
-	{ prop: 'operation', label: '操作', fixed: 'right', width: 170, align: 'center' },
+	{ prop: 'operation', label: '操作', fixed: 'right', width: 90, align: 'center' },
 ]);
 const state = reactive<any>({
 	queryParams: {
@@ -308,15 +297,4 @@ onMounted(() => {
 	getBaseData();
 	queryList();
 });
-</script>
-<style scoped lang="scss">
-.business-visit-container {
-	.arrow {
-		transition: transform var(--el-transition-duration);
-		cursor: pointer;
-	}
-	.arrow.is-reverse {
-		transform: rotateZ(-180deg);
-	}
-}
-</style>
+</script>

+ 132 - 203
src/views/business/visit/reverse.vue

@@ -1,6 +1,6 @@
 <template>
 	<div class="business-visit-reverse-container layout-padding">
-    <div class="layout-padding-auto layout-padding-view pd20">
+		<div class="layout-padding-auto layout-padding-view pd20">
 			<el-tabs v-model="state.queryParams.IsIngString" @tab-change="handleQuery">
 				<el-tab-pane name="true" label="扭转待评判"></el-tab-pane>
 				<el-tab-pane name="false" label="扭转已评判"></el-tab-pane>
@@ -18,179 +18,20 @@
 				:exportMethod="visitTurnExport"
 				:exportParams="requestParams"
 			>
-        <template #table-search>
-          <el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent label-width="100px">
-            <el-row :gutter="10">
-              <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-                <el-form-item label="工单标题" prop="Title">
-                  <el-input v-model="state.queryParams.Title" placeholder="工单标题" clearable @keyup.enter="handleQuery" />
-                </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-                <el-form-item label="工单编码" prop="No">
-                  <el-input v-model="state.queryParams.No" placeholder="工单编码" clearable @keyup.enter="handleQuery" />
-                </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-                <el-form-item label="回访人" prop="VisitUserName">
-                  <el-input v-model="state.queryParams.VisitUserName" placeholder="回访人" clearable @keyup.enter="handleQuery" />
-                </el-form-item>
-              </el-col>
-              <transition name="el-zoom-in-top">
-                <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-                  <el-form-item label="来电号码" prop="FromPhone">
-                    <el-input v-model="state.queryParams.FromPhone" placeholder="来电号码" clearable @keyup.enter="handleQuery" />
-                  </el-form-item>
-                </el-col>
-              </transition>
-              <transition name="el-zoom-in-top">
-                <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-                  <el-form-item label="受理类型" prop="AcceptType">
-                    <el-select
-                        v-model="state.queryParams.AcceptType"
-                        placeholder="请选择受理类型"
-                        clearable
-                        class="w100"
-                        @change="handleQuery"
-                    >
-                      <el-option v-for="item in state.acceptTypeOptions" :value="item.value" :key="item.value" :label="item.key" />
-                    </el-select>
-                  </el-form-item>
-                </el-col>
-              </transition>
-              <transition name="el-zoom-in-top">
-                <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-                  <el-form-item label="热点分类" prop="Hotspot">
-                    <el-input v-model="state.queryParams.Hotspot" placeholder="热点分类名称" clearable @keyup.enter="handleQuery" />
-                  </el-form-item>
-                </el-col>
-              </transition>
-              <transition name="el-zoom-in-top">
-                <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-                  <el-form-item label="接办部门" prop="OrgId">
-                    <el-cascader
-                        :options="state.orgsOptions"
-                        filterable
-                        :props="{ checkStrictly: true, value: 'id', label: 'name', emitPath: false }"
-                        placeholder="请选择接办部门"
-                        clearable
-                        class="w100"
-                        v-model="state.queryParams.OrgId"
-                        ref="cascadeRef"
-                        @change="handleQuery"
-                    >
-                    </el-cascader>
-                  </el-form-item>
-                </el-col>
-              </transition>
-              <transition name="el-zoom-in-top">
-                <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-                  <el-form-item label="受理人" prop="NameOrNo">
-                    <el-input v-model="state.queryParams.NameOrNo" placeholder="受理人" clearable @keyup.enter="handleQuery" />
-                  </el-form-item>
-                </el-col>
-              </transition>
-              <transition name="el-zoom-in-top">
-                <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-                  <el-form-item label="受理时间" prop="slTime">
-                    <el-date-picker
-                        v-model="state.queryParams.slTime"
-                        type="datetimerange"
-                        unlink-panels
-                        range-separator="至"
-                        start-placeholder="开始时间"
-                        end-placeholder="结束时间"
-                        :shortcuts="shortcuts"
-                        @change="handleQuery"
-                        value-format="YYYY-MM-DD[T]HH:mm:ss"
-                        :default-time="defaultTimeStartEnd"
-                    />
-                  </el-form-item>
-                </el-col>
-              </transition>
-              <transition name="el-zoom-in-top">
-                <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-                  <el-form-item label="办结时间" prop="bjTime">
-                    <el-date-picker
-                        v-model="state.queryParams.bjTime"
-                        type="datetimerange"
-                        unlink-panels
-                        range-separator="至"
-                        start-placeholder="开始时间"
-                        end-placeholder="结束时间"
-                        :shortcuts="shortcuts"
-                        @change="handleQuery"
-                        value-format="YYYY-MM-DD[T]HH:mm:ss"
-                        :default-time="defaultTimeStartEnd"
-                    />
-                  </el-form-item>
-                </el-col>
-              </transition>
-              <transition name="el-zoom-in-top">
-                <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-                  <el-form-item label="回访时间" prop="hfTime">
-                    <el-date-picker
-                        v-model="state.queryParams.hfTime"
-                        type="datetimerange"
-                        unlink-panels
-                        range-separator="至"
-                        start-placeholder="开始时间"
-                        end-placeholder="结束时间"
-                        :shortcuts="shortcuts"
-                        @change="handleQuery"
-                        value-format="YYYY-MM-DD[T]HH:mm:ss"
-                        :default-time="defaultTimeStartEnd"
-                    />
-                  </el-form-item>
-                </el-col>
-              </transition>
-              <transition name="el-zoom-in-top" v-show="!searchCol && state.queryParams.IsIngString === 'false'">
-                <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-                  <el-form-item label="评判状态" prop="JudgeState">
-                    <el-select v-model="state.queryParams.JudgeState" placeholder="请选择评判状态" clearable class="w100" @change="handleQuery">
-                      <el-option value="1" label="已同意" />
-                      <el-option value="2" label="不同意" />
-                    </el-select>
-                  </el-form-item>
-                </el-col>
-              </transition>
-              <transition name="el-zoom-in-top" v-show="!searchCol">
-                <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-                  <el-form-item label="部门扭转" prop="OrgJudge">
-                    <el-select v-model="state.queryParams.OrgJudge" placeholder="请选择部门扭转" clearable class="w100" @change="handleQuery">
-                      <el-option :value="true" label="是" />
-                      <el-option :value="false" label="否" />
-                    </el-select>
-                  </el-form-item>
-                </el-col>
-              </transition>
-              <transition name="el-zoom-in-top" v-show="!searchCol">
-                <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-                  <el-form-item label="坐席扭转" prop="SeatJudge">
-                    <el-select v-model="state.queryParams.SeatJudge" placeholder="请选择坐席扭转态" clearable class="w100" @change="handleQuery">
-                      <el-option :value="true" label="是" />
-                      <el-option :value="false" label="否" />
-                    </el-select>
-                  </el-form-item>
-                </el-col>
-              </transition>
-              <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-                <el-form-item label=" ">
-                  <div class="flex-end w100">
-                    <el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
-                    <el-button @click="resetQuery(ruleFormRef)" class="default-button" :loading="state.loading">
-                      <SvgIcon name="ele-Refresh" class="mr5" />重置
-                    </el-button>
-                    <el-button link type="primary" @click="closeSearch" :loading="state.loading">
-                      {{ searchCol ? '展开' : '收起' }}
-                      <SvgIcon :class="{ 'is-reverse': searchCol }" name="ele-ArrowUp" class="mr5 arrow" size="18px" />
-                    </el-button>
-                  </div>
-                </el-form-item>
-              </el-col>
-            </el-row>
-          </el-form>
-        </template>
+				<template #table-search>
+					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
+						<el-form-item label="工单标题" prop="Title">
+							<el-input v-model="state.queryParams.Title" placeholder="工单标题" clearable @keyup.enter="handleQuery" class="keyword-input" />
+						</el-form-item>
+						<el-form-item label="工单编码" prop="No">
+							<el-input v-model="state.queryParams.No" placeholder="工单编码" clearable @keyup.enter="handleQuery" class="keyword-input" />
+						</el-form-item>
+						<el-form-item label="">
+							<el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
+							<el-button @click="drawer = true" class="default-button"> <SvgIcon name="ele-Search" class="mr5" />更多查询</el-button>
+						</el-form-item>
+					</el-form>
+				</template>
 				<template #tableHeader="scope">
 					<el-button
 						type="primary"
@@ -228,13 +69,113 @@
 		<reverse-audit ref="reverseAuditRef" @updateList="queryList" />
 		<!-- 回访详情 -->
 		<visit-detail-com ref="visitDetailRef" @updateList="queryList" />
+		<!--	更多查询	-->
+		<el-drawer v-model="drawer" title="更多查询" size="500px">
+			<el-form :model="state.queryParams" ref="drawerRuleFormRef" @submit.native.prevent label-width="100px">
+				<el-form-item label="回访人" prop="VisitUserName">
+					<el-input v-model="state.queryParams.VisitUserName" placeholder="回访人" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="来电号码" prop="FromPhone">
+					<el-input v-model="state.queryParams.FromPhone" placeholder="来电号码" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="受理类型" prop="AcceptType">
+					<el-select v-model="state.queryParams.AcceptType" placeholder="请选择受理类型" clearable class="w100" @change="handleQuery">
+						<el-option v-for="item in state.acceptTypeOptions" :value="item.value" :key="item.value" :label="item.key" />
+					</el-select>
+				</el-form-item>
+				<el-form-item label="热点分类" prop="Hotspot">
+					<el-input v-model="state.queryParams.Hotspot" placeholder="热点分类名称" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="接办部门" prop="OrgId">
+					<el-cascader
+						:options="state.orgsOptions"
+						filterable
+						:props="{ checkStrictly: true, value: 'id', label: 'name', emitPath: false }"
+						placeholder="请选择接办部门"
+						clearable
+						class="w100"
+						v-model="state.queryParams.OrgId"
+						ref="cascadeRef"
+						@change="handleQuery"
+					>
+					</el-cascader>
+				</el-form-item>
+				<el-form-item label="受理人" prop="NameOrNo">
+					<el-input v-model="state.queryParams.NameOrNo" placeholder="受理人" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="受理时间" prop="slTime">
+					<el-date-picker
+						v-model="state.queryParams.slTime"
+						type="datetimerange"
+						unlink-panels
+						range-separator="至"
+						start-placeholder="开始时间"
+						end-placeholder="结束时间"
+						:shortcuts="shortcuts"
+						@change="handleQuery"
+						value-format="YYYY-MM-DD[T]HH:mm:ss"
+						:default-time="defaultTimeStartEnd"
+					/>
+				</el-form-item>
+				<el-form-item label="办结时间" prop="bjTime">
+					<el-date-picker
+						v-model="state.queryParams.bjTime"
+						type="datetimerange"
+						unlink-panels
+						range-separator="至"
+						start-placeholder="开始时间"
+						end-placeholder="结束时间"
+						:shortcuts="shortcuts"
+						@change="handleQuery"
+						value-format="YYYY-MM-DD[T]HH:mm:ss"
+						:default-time="defaultTimeStartEnd"
+					/>
+				</el-form-item>
+				<el-form-item label="回访时间" prop="hfTime">
+					<el-date-picker
+						v-model="state.queryParams.hfTime"
+						type="datetimerange"
+						unlink-panels
+						range-separator="至"
+						start-placeholder="开始时间"
+						end-placeholder="结束时间"
+						:shortcuts="shortcuts"
+						@change="handleQuery"
+						value-format="YYYY-MM-DD[T]HH:mm:ss"
+						:default-time="defaultTimeStartEnd"
+					/>
+				</el-form-item>
+				<el-form-item label="评判状态" prop="JudgeState" v-if="state.queryParams.IsIngString === 'false'">
+					<el-select v-model="state.queryParams.JudgeState" placeholder="请选择评判状态" clearable class="w100" @change="handleQuery">
+						<el-option value="1" label="已同意" />
+						<el-option value="2" label="不同意" />
+					</el-select>
+				</el-form-item>
+				<el-form-item label="部门扭转" prop="OrgJudge">
+					<el-select v-model="state.queryParams.OrgJudge" placeholder="请选择部门扭转" clearable class="w100" @change="handleQuery">
+						<el-option :value="true" label="是" />
+						<el-option :value="false" label="否" />
+					</el-select>
+				</el-form-item>
+				<el-form-item label="坐席扭转" prop="SeatJudge">
+					<el-select v-model="state.queryParams.SeatJudge" placeholder="请选择坐席扭转态" clearable class="w100" @change="handleQuery">
+						<el-option :value="true" label="是" />
+						<el-option :value="false" label="否" />
+					</el-select>
+				</el-form-item>
+			</el-form>
+			<template #footer>
+				<el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
+				<el-button @click="resetQuery(drawerRuleFormRef)" class="default-button"> <SvgIcon name="ele-Refresh" class="mr5" />重置 </el-button>
+			</template>
+		</el-drawer>
 	</div>
 </template>
 <script setup lang="tsx" name="businessVisitReverse">
 import { defineAsyncComponent, onMounted, reactive, ref } from 'vue';
 import { FormInstance } from 'element-plus';
 import { formatDate } from '@/utils/formatTime';
-import { defaultTimeStartEnd, shortcuts } from "@/utils/constants";
+import { defaultTimeStartEnd, shortcuts } from '@/utils/constants';
 import other from '@/utils/other';
 import { visitTurnExport, visitTurnList } from '@/api/business/visit';
 import { listBaseData } from '@/api/judicial';
@@ -243,7 +184,6 @@ const OrderDetail = defineAsyncComponent(() => import('@/components/OrderDetail/
 const ReverseAudit = defineAsyncComponent(() => import('@/views/business/visit/component/Reverse-audit.vue')); // 扭转退回
 const VisitDetailCom = defineAsyncComponent(() => import('@/views/business/visit/component/Visit-detail.vue')); // 回访
 // 定义变量内容
-const ruleFormRef = ref<RefType>(); // 表单ref
 const proTableRef = ref<RefType>(); // 表格ref
 const selectable = (row: any) => {
 	return row.judgeState === 0;
@@ -257,10 +197,11 @@ const columns = ref<any[]>([
 	{ prop: 'order.currentStepName', label: '当前节点', minWidth: 100 },
 	{ prop: 'order.no', label: '工单编码', minWidth: 140 },
 	{ prop: 'order.title', label: '工单标题', minWidth: 200 },
+	{ prop: 'judgeStateText', label: '评判状态', minWidth: 100 },
 	{
 		prop: 'order.startTime',
 		label: '受理时间',
-    minWidth: 160,
+		minWidth: 160,
 		render: (scope) => {
 			return <span>{formatDate(scope.row.order?.startTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
@@ -269,7 +210,7 @@ const columns = ref<any[]>([
 	{
 		prop: 'order.filedTime',
 		label: '办结时间',
-    minWidth: 160,
+		minWidth: 160,
 		render: (scope) => {
 			return <span>{formatDate(scope.row.order?.filedTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
@@ -286,14 +227,14 @@ const state = reactive<any>({
 		PageIndex: 1,
 		PageSize: 20,
 		IsIngString: 'true',
-		IsIng:true,
+		IsIng: true,
 		No: null,
 		Title: null,
 		VisitUserName: null,
 		FromPhone: null,
-    AcceptType: null,
-    Hotspot: null,
-    OrgId:null,
+		AcceptType: null,
+		Hotspot: null,
+		OrgId: null,
 		NameOrNo: null,
 		slTime: [], // 受理时间
 		CreationTimeStart: null,
@@ -314,17 +255,12 @@ const state = reactive<any>({
 	acceptTypeOptions: [], // 受理类型
 	orgsOptions: [], // 接办部门
 });
-const searchCol = ref(true); // 展开/收起
-// 展开/收起
-const closeSearch = () => {
-	searchCol.value = !searchCol.value;
-};
 // 获取查询条件基础信息
 const getBaseData = async () => {
 	try {
-		const {result} = await listBaseData();
-    state.acceptTypeOptions = result.acceptTypeOptions ?? [];
-    state.orgsOptions = result.orgsOptions ?? [];
+		const { result } = await listBaseData();
+		state.acceptTypeOptions = result.acceptTypeOptions ?? [];
+		state.orgsOptions = result.orgsOptions ?? [];
 	} catch (error) {
 		console.log(error);
 	}
@@ -335,7 +271,7 @@ const handleQuery = () => {
 	queryList();
 };
 /** 获取列表 */
-const requestParams = ref<EmptyObjectType>({})
+const requestParams = ref<EmptyObjectType>({});
 const queryList = () => {
 	state.queryParams.IsIng = state.queryParams.IsIngString === 'true';
 	requestParams.value = other.deepClone(state.queryParams);
@@ -360,15 +296,19 @@ const queryList = () => {
 		});
 };
 /** 重置按钮操作 */
+const drawerRuleFormRef = ref();
+const ruleFormRef = ref<RefType>(); // 表单ref
+const drawer = ref(false);
 const resetQuery = (formEl: FormInstance | undefined) => {
 	if (!formEl) return;
 	formEl.resetFields();
+	ruleFormRef.value?.resetFields();
 	queryList();
 };
 // 回访详情
 const visitDetailRef = ref<RefType>();
 const visitDetail = (row: any) => {
-  visitDetailRef.value.openDialog(row, '回访详情');
+	visitDetailRef.value.openDialog(row, '回访详情');
 };
 // 批量扭转退回
 const reverseAuditRef = ref<RefType>();
@@ -385,14 +325,3 @@ onMounted(async () => {
 	queryList();
 });
 </script>
-<style scoped lang="scss">
-.business-visit-reverse-container {
-	.arrow {
-		transition: transform var(--el-transition-duration);
-		cursor: pointer;
-	}
-	.arrow.is-reverse {
-		transform: rotateZ(-180deg);
-	}
-}
-</style>

+ 41 - 83
src/views/business/visit/todo.vue

@@ -12,10 +12,8 @@
 				v-model:page-size="state.queryParams.PageSize"
 			>
         <template #table-search>
-          <el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent label-width="100px">
-            <el-row>
-              <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-auth="'business:visit:todo:querySelf'">
-                <el-form-item label="数据范围" prop="QuerySelf">
+          <el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline label-width="100px">
+                <el-form-item label="数据范围" prop="QuerySelf" v-auth="'business:visit:todo:querySelf'">
                   <el-segmented
                       :options="[
 									{ label: '我的', value: 'true' },
@@ -25,9 +23,7 @@
                       @change="handleQuery"
                   />
                 </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-auth="'business:visit:todo:orderType'">
-                <el-form-item label="工单类型" prop="IsProvince">
+                <el-form-item label="工单类型" prop="IsProvince" v-auth="'business:visit:todo:orderType'">
                   <el-segmented
                       :options="[
 									{
@@ -47,68 +43,16 @@
                       @change="fastSearchChange"
                   />
                 </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row :gutter="20">
-              <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
                 <el-form-item label="工单标题" prop="Keyword">
-                  <el-input v-model="state.queryParams.Keyword" placeholder="工单标题" clearable @keyup.enter="handleQuery" />
+                  <el-input v-model="state.queryParams.Keyword" placeholder="工单标题" clearable @keyup.enter="handleQuery" class="keyword-input"/>
                 </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
                 <el-form-item label="工单编码" prop="No">
-                  <el-input v-model="state.queryParams.No" placeholder="工单编码" clearable @keyup.enter="handleQuery" />
+                  <el-input v-model="state.queryParams.No" placeholder="工单编码" clearable @keyup.enter="handleQuery"  class="keyword-input"/>
                 </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-                <el-form-item label="回访人" prop="EmployeeName">
-                  <el-input v-model="state.queryParams.EmployeeName" placeholder="回访人" clearable @keyup.enter="handleQuery" />
-                </el-form-item>
-              </el-col>
-              <transition name="el-zoom-in-top">
-                <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
-                  <el-form-item label="归档类型" prop="FiledType">
-                    <el-select v-model="state.queryParams.FiledType" placeholder="请选择归档类型" @change="handleQuery" class="w100">
-                      <el-option label="中心归档" value="10" />
-                      <el-option label="部门归档" value="20" />
-                    </el-select>
-                  </el-form-item>
-                </el-col>
-              </transition>
-              <transition name="el-zoom-in-top">
-                <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-                  <el-form-item label="是否会签" prop="IsCountersign">
-                    <el-select v-model="state.queryParams.IsCountersign" placeholder="请选择是否会签" @change="handleQuery" class="w100">
-                      <el-option label="是" value="true" />
-                      <el-option label="否" value="false" />
-                    </el-select>
-                  </el-form-item>
-                </el-col>
-              </transition>
-              <transition name="el-zoom-in-top">
-                <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
-                  <el-form-item label="回访方式" prop="VisitType">
-                    <el-select v-model="state.queryParams.VisitType" placeholder="请选择回访方式" @change="handleQuery" class="w100">
-                      <el-option v-for="item in state.visitTypeOptions" :value="item.key" :key="item.key" :label="item.value" />
-                    </el-select>
-                  </el-form-item>
-                </el-col>
-              </transition>
-              <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
                 <el-form-item label="">
-                  <div class="flex-end w100">
                     <el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
-                    <el-button @click="resetQuery(ruleFormRef)" class="default-button" :loading="state.loading">
-                      <SvgIcon name="ele-Refresh" class="mr5" />重置
-                    </el-button>
-                    <el-button link type="primary" @click="closeSearch" :loading="state.loading">
-                      {{ searchCol ? '展开' : '收起' }}
-                      <SvgIcon :class="{ 'is-reverse': searchCol }" name="ele-ArrowUp" class="mr5 arrow" size="18px" />
-                    </el-button>
-                  </div>
+									<el-button @click="drawer = true" class="default-button"> <SvgIcon name="ele-Search" class="mr5" />更多查询</el-button>
                 </el-form-item>
-              </el-col>
-            </el-row>
           </el-form>
         </template>
 				<template #tableHeader="scope">
@@ -128,7 +72,6 @@
 				<!-- 表格操作 -->
 				<template #operation="{ row }">
 					<el-button link type="primary" @click="onManpower(row)" title="工单回访" v-auth="'business:visit:todo:manpower'"> 回访 </el-button>
-					<order-detail :order="row.order" @updateList="queryList" />
 				</template>
 			</ProTable>
 		</div>
@@ -138,6 +81,35 @@
 		<assign-return-visitors ref="assignReturnVisitorsRef" @updateList="queryList" />
 		<!-- 工单平移 -->
 		<order-migration ref="orderMigrationRef" @updateList="queryList" />
+		<!--	更多查询	-->
+		<el-drawer v-model="drawer" title="更多查询" size="500px">
+			<el-form :model="state.queryParams" ref="drawerRuleFormRef" @submit.native.prevent label-width="100px">
+				<el-form-item label="回访人" prop="EmployeeName">
+					<el-input v-model="state.queryParams.EmployeeName" placeholder="回访人" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="归档类型" prop="FiledType">
+					<el-select v-model="state.queryParams.FiledType" placeholder="请选择归档类型" @change="handleQuery" clearable>
+						<el-option label="中心归档" value="10" />
+						<el-option label="部门归档" value="20" />
+					</el-select>
+				</el-form-item>
+				<el-form-item label="是否会签" prop="IsCountersign">
+					<el-select v-model="state.queryParams.IsCountersign" placeholder="请选择是否会签" @change="handleQuery" clearable>
+						<el-option label="是" value="true" />
+						<el-option label="否" value="false" />
+					</el-select>
+				</el-form-item>
+				<el-form-item label="回访方式" prop="VisitType">
+					<el-select v-model="state.queryParams.VisitType" placeholder="请选择回访方式" @change="handleQuery" clearable>
+						<el-option v-for="item in state.visitTypeOptions" :value="item.key" :key="item.key" :label="item.value" />
+					</el-select>
+				</el-form-item>
+			</el-form>
+			<template #footer>
+				<el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
+				<el-button @click="resetQuery(drawerRuleFormRef)" class="default-button"> <SvgIcon name="ele-Refresh" class="mr5" />重置 </el-button>
+			</template>
+		</el-drawer>
 	</div>
 </template>
 
@@ -155,10 +127,7 @@ const OrderDetail = defineAsyncComponent(() => import('@/components/OrderDetail/
 const OrderMigration = defineAsyncComponent(() => import('@/views/todo/center/Order-migration.vue')); // 工单平移
 
 // 定义变量内容
-const ruleFormRef = ref<RefType>(); // 表单ref
-const router = useRouter(); // 路由
 const proTableRef = ref<RefType>(); // 表格ref
-const searchCol = ref(true); // 展开/收起
 const fastSearch = ref('all'); // tab位置
 const fastSearchChange = (val: string) => {
 	fastSearch.value = val;
@@ -175,10 +144,6 @@ const fastSearchChange = (val: string) => {
 	}
 	handleQuery();
 };
-// 展开/收起
-const closeSearch = () => {
-	searchCol.value = !searchCol.value;
-};
 // 表格配置项
 const columns = ref<any[]>([
 	{ type: 'selection', fixed: 'left', width: 40, align: 'center' },
@@ -232,7 +197,7 @@ const columns = ref<any[]>([
 		label: '是否接通',
 		width: 150,
 	},*/
-	{ prop: 'operation', label: '操作', fixed: 'right', width: 140, align: 'center' },
+	{ prop: 'operation', label: '操作', fixed: 'right', width: 80, align: 'center' },
 ]);
 const state = reactive<any>({
 	queryParams: {
@@ -280,12 +245,16 @@ const queryList = () => {
 };
 
 /** 重置按钮操作 */
+const drawerRuleFormRef = ref();
+const ruleFormRef = ref<RefType>(); // 表单ref
+const drawer = ref(false);
 const resetQuery = (formEl: FormInstance | undefined) => {
 	if (!formEl) return;
 	formEl.resetFields();
 	state.queryParams.QuerySelf = 'true';
 	state.queryParams.IsProvince = null;
 	fastSearch.value = 'all';
+	ruleFormRef.value?.resetFields();
 	queryList();
 };
 // 批量分配
@@ -309,15 +278,4 @@ onMounted(() => {
 	getBaseData();
 	queryList();
 });
-</script>
-<style scoped lang="scss">
-.business-visit-todo-container {
-	.arrow {
-		transition: transform var(--el-transition-duration);
-		cursor: pointer;
-	}
-	.arrow.is-reverse {
-		transform: rotateZ(-180deg);
-	}
-}
-</style>
+</script>

+ 1 - 1
src/views/judicial/order/custom.vue

@@ -15,7 +15,7 @@
 				:exportParams="requestParams"
 			>
 				<template #table-search>
-					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent label-width="100px" inline>
+					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
 						<el-form-item label="工单标题" prop="Title">
 							<el-input v-model="state.queryParams.Title" placeholder="工单标题" clearable @keyup.enter="handleQuery" class="keyword-input"/>
 						</el-form-item>

+ 1 - 1
src/views/judicial/order/index.vue

@@ -15,7 +15,7 @@
 				:exportParams="requestParams"
 			>
 				<template #table-search>
-					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent label-width="100px" inline>
+					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
 						<el-form-item label="快捷查询" prop="IsTheClueTrueText">
 							<el-segmented
 								:options="[

+ 1 - 1
src/views/province/delay.vue

@@ -12,7 +12,7 @@
 				v-model:page-size="state.queryParams.PageSize"
 			>
 				<template #table-search>
-					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent label-width="100px" inline>
+					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
 						<el-form-item label="审核状态" prop="State">
 							<el-segmented
 								:options="[

+ 1 - 1
src/views/province/order.vue

@@ -15,7 +15,7 @@
 				:exportParams="requestParams"
 			>
         <template #table-search>
-          <el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent label-width="100px" inline>
+          <el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
                 <el-form-item label="省工单编码" prop="ProvinceNo">
                   <el-input v-model="state.queryParams.ProvinceNo" placeholder="省工单编码" clearable @keyup.enter="handleQuery" class="keyword-input"/>
                 </el-form-item>

+ 1 - 1
src/views/province/return.vue

@@ -12,7 +12,7 @@
 				v-model:page-size="state.queryParams.PageSize"
 			>
 				<template #table-search>
-					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent label-width="100px" inline>
+					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
 						<el-form-item label="审核状态" prop="State">
 							<el-segmented
 								:options="[

+ 1 - 1
src/views/province/screen.vue

@@ -12,7 +12,7 @@
 				v-model:page-size="state.queryParams.PageSize"
 			>
 				<template #table-search>
-					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent label-width="100px" inline>
+					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
 								<el-form-item label="审核状态" prop="State">
 									<el-segmented
 										:options="[

+ 1 - 1
src/views/province/zmhd/index.vue

@@ -12,7 +12,7 @@
 				v-model:page-size="state.queryParams.PageSize"
 			>
 				<template #table-search>
-					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent label-width="100px" inline>
+					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
 						<el-form-item label="快捷查询" prop="IsProvinceZmhd">
 							<el-segmented
 								:options="[

+ 1 - 1
src/views/statistics/center/detailEventFrequently.vue

@@ -12,7 +12,7 @@
 				v-model:page-size="state.queryParams.PageSize"
 			>
 				<template #table-search>
-					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent label-width="100px" inline>
+					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
 						<el-form-item label="工单标题" prop="Keyword">
 							<el-input v-model="state.queryParams.Keyword" placeholder="工单标题" clearable @keyup.enter="handleQuery" class="keyword-input" />
 						</el-form-item>

+ 1 - 1
src/views/statistics/center/detailTwist.vue

@@ -15,7 +15,7 @@
 				:exportParams="requestParams"
 			>
 				<template #table-search>
-					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent label-width="100px" inline>
+					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
 								<el-form-item label="工单标题" prop="Title">
 									<el-input v-model="state.queryParams.Title" placeholder="工单标题" clearable @keyup.enter="handleQuery" class="keyword-input"/>
 								</el-form-item>

+ 1 - 1
src/views/statistics/center/emergencyList.vue

@@ -16,7 +16,7 @@
 				:exportParams="requestParams"
 			>
 				<template #table-search>
-					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent label-width="100px" inline>
+					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
 						<el-form-item label="工单标题" prop="Title">
 							<el-input v-model="state.queryParams.Title" placeholder="工单标题" clearable @keyup.enter="handleQuery" class="keyword-input" />
 						</el-form-item>

+ 1 - 1
src/views/statistics/center/frequentlyEvent.vue

@@ -12,7 +12,7 @@
 				v-model:page-size="state.queryParams.PageSize"
 			>
 				<template #table-search>
-					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent label-width="100px" inline>
+					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
 						<el-form-item label="受理时间" prop="crTime">
 							<el-date-picker
 								v-model="state.queryParams.crTime"

+ 1 - 1
src/views/statistics/department/detailHandle.vue

@@ -15,7 +15,7 @@
 				:exportParams="requestParams"
 			>
         <template #table-search>
-          <el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent label-width="100px" inline>
+          <el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
             <el-form-item label="来电主体" prop="TypeId">
               <el-select v-model="state.queryParams.TypeId" placeholder="请选择来电主体" @change="handleQuery">
                 <el-option :value="0" label="全部" />

+ 1 - 1
src/views/statistics/department/detailHandleList.vue

@@ -15,7 +15,7 @@
 				:exportParams="requestParams"
 			>
         <template #table-search>
-          <el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent label-width="100px" inline>
+          <el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
             <el-form-item label="来电主体" prop="TypeId">
               <el-select v-model="state.queryParams.TypeId" placeholder="请选择来电主体" @change="handleQuery">
                 <el-option :value="0" label="全部" />

+ 1 - 1
src/views/statistics/department/detailOverdueList.vue

@@ -15,7 +15,7 @@
 				:exportParams="requestParams"
 			>
         <template #table-search>
-          <el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent label-width="100px" inline>
+          <el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
                 <el-form-item label="快捷查询" prop="ExpiredType">
                   <el-segmented
                       :options="[

+ 1 - 1
src/views/statistics/department/detailSatisfiedList.vue

@@ -15,7 +15,7 @@
 				:exportParams="requestParams"
 			>
         <template #table-search>
-          <el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent label-width="100px" inline>
+          <el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
                 <el-form-item label="工单标题" prop="Keyword">
                   <el-input v-model="state.queryParams.Keyword" placeholder="工单标题" clearable @keyup.enter="handleQuery" />
                 </el-form-item>

+ 1 - 1
src/views/statistics/department/satisfied.vue

@@ -16,7 +16,7 @@
 				:exportParams="requestParams"
 			>
 				<template #table-search>
-					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent label-width="100px" inline>
+					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
 						<el-form-item label="部门名称" prop="OrgName">
 							<el-input v-model="state.queryParams.OrgName" placeholder="部门名称" clearable @keyup.enter="handleQuery" class="keyword-input" />
 						</el-form-item>

+ 2 - 13
src/views/todo/center/index.vue

@@ -12,7 +12,7 @@
 				v-model:page-size="state.queryParams.PageSize"
 			>
 				<template #table-search>
-					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent label-width="100px" class="mb10" inline>
+					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent class="mb10" inline>
 						<el-form-item label="工单标题" prop="Title">
 							<el-input v-model="state.queryParams.Title" placeholder="工单标题" clearable @keyup.enter="handleQuery" class="keyword-input" />
 						</el-form-item>
@@ -346,15 +346,4 @@ onActivated(() => {
 onBeforeUnmount(() => {
 	mittBus.off('clearCachePage');
 });
-</script>
-<style scoped lang="scss">
-.todo-center-container {
-	.arrow {
-		transition: transform var(--el-transition-duration);
-		cursor: pointer;
-	}
-	.arrow.is-reverse {
-		transform: rotateZ(-180deg);
-	}
-}
-</style>
+</script>

+ 4 - 17
src/views/todo/order/index.vue

@@ -291,18 +291,19 @@ const handleQuery = () => {
 /** 获取列表 */
 const requestParams = ref<EmptyObjectType>({});
 const queryList = async () => {
+	state.loading = true;
 	try {
-		state.loading = true;
 		columns.value = state.queryParams.IsHandled === 'true' ? columnsDone.value : columnsTodo.value;
 		requestParams.value = Other.deepClone(state.queryParams);
 		requestParams.value.StartTime = state.queryParams.scTime === null ? null : state.queryParams.scTime[0];
 		requestParams.value.EndTime = state.queryParams.scTime === null ? null : state.queryParams.scTime[1];
 		Reflect.deleteProperty(requestParams.value, 'scTime');
-		const res: any = await orderListTodo(request);
+		const res: any = await orderListTodo(requestParams.value);
 		state.tableData = res.result?.items ?? [];
 		state.total = res.result?.total ?? 0;
 		state.loading = false;
 	} catch (e) {
+		console.log(e)
 		state.loading = false;
 	}
 };
@@ -387,18 +388,4 @@ onActivated(() => {
 onBeforeUnmount(() => {
 	mittBus.off('clearCachePage');
 });
-</script>
-<style scoped lang="scss">
-.todo-order-container {
-	.arrow {
-		transition: transform var(--el-transition-duration);
-		cursor: pointer;
-	}
-	.arrow.is-reverse {
-		transform: rotateZ(-180deg);
-	}
-	:deep(.pro-table-main) {
-		height: calc(100% - 94px);
-	}
-}
-</style>
+</script>