瀏覽代碼

reactor:催办新增更多查询

zhangchong 1 周之前
父節點
當前提交
c3788297b4
共有 3 個文件被更改,包括 456 次插入34 次删除
  1. 99 14
      src/views/business/return/audit.vue
  2. 180 8
      src/views/business/urge/index.vue
  3. 177 12
      src/views/business/urge/todo.vue

+ 99 - 14
src/views/business/return/audit.vue

@@ -37,17 +37,9 @@
 						:default-time="defaultTimeStartEnd"
 					/>
 				</el-form-item>
-				<el-form-item label="审批状态" prop="State" v-if="state.queryParams.AuditState === '2'">
-					<el-select v-model="state.queryParams.State" placeholder="请选择审批状态" @change="handleQuery">
-						<el-option value="1" label="审批通过" />
-						<el-option value="2" label="审批拒绝" />
-					</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>
 			<vxe-toolbar
@@ -151,17 +143,79 @@
 		<return-audit-detail ref="returnAuditDetailRef" />
 		<!-- 批量审批 -->
 		<return-audit-multiple ref="returnAuditMultipleRef" @updateList="refreshList" />
+		<!--	更多查询	-->
+		<el-drawer v-model="drawer" title="更多查询" size="500px">
+			<el-form :model="state.queryParams" ref="drawerRuleFormRef" @submit.native.prevent label-width="100px" :disabled="state.loading">
+				<el-form-item label="审批状态" prop="State" v-if="state.queryParams.AuditState === '2'">
+					<el-select v-model="state.queryParams.State" placeholder="请选择审批状态" @change="handleQuery">
+						<el-option value="1" label="审批通过" />
+						<el-option value="2" label="审批拒绝" />
+					</el-select>
+				</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 prop="Channel" label="来源渠道">
+					<el-select v-model="state.queryParams.Channel" placeholder="请选择来源渠道" clearable class="w100" @change="handleQuery">
+						<el-option v-for="item in channelOptions" :value="item.dicDataValue" :key="item.dicDataValue" :label="item.dicDataName" />
+					</el-select>
+				</el-form-item>
+				<el-form-item prop="AcceptTypeCode" label="受理类型">
+					<el-select v-model="state.queryParams.AcceptTypeCode" placeholder="请选择受理类型" clearable class="w100" @change="handleQuery">
+						<el-option v-for="item in acceptTypeOptions" :value="item.dicDataValue" :key="item.dicDataValue" :label="item.dicDataName" />
+					</el-select>
+				</el-form-item>
+				<el-form-item label="热点分类" prop="Hotspot">
+					<el-input v-model.trim="state.queryParams.Hotspot" placeholder="热点分类" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="最近派单员" prop="CenterToOrgHandlerName">
+					<el-input v-model.trim="state.queryParams.CenterToOrgHandlerName" placeholder="最近派单员" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="退回节点" prop="SendBackStepName">
+					<el-input v-model.trim="state.queryParams.SendBackStepName" placeholder="退回节点" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="退回时差" prop="SendBackTimeDifference">
+					<el-input v-model.trim="state.queryParams.SendBackTimeDifference" placeholder="退回时差" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="受理人" prop="NameOrNo">
+					<el-input v-model.trim="state.queryParams.NameOrNo" placeholder="受理人" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="一级部门" prop="OrgLevelOneName">
+					<el-input v-model.trim="state.queryParams.OrgLevelOneName" placeholder="一级部门" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="受理内容" prop="Content">
+					<el-input v-model.trim="state.queryParams.Content" placeholder="一级部门" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="申请人" prop="ApplyName">
+					<el-input v-model.trim="state.queryParams.ApplyName" placeholder="申请人" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="申请部门" prop="ApplyOrgName">
+					<el-input v-model.trim="state.queryParams.ApplyOrgName" placeholder="申请部门" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="申请理由" prop="Opinion">
+					<el-input v-model.trim="state.queryParams.Opinion" 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="businessReturnAudit">
 import { computed, defineAsyncComponent, onMounted, reactive, ref } from 'vue';
 import { FormInstance } from 'element-plus';
-import { returnAuditList } from '@/api/business/return';
+import { returnAuditList, returnBase } from '@/api/business/return';
 import { defaultTimeStartEnd, shortcuts } from '@/utils/constants';
 import Other from '@/utils/other';
 import { useThemeConfig } from '@/stores/themeConfig';
 import { storeToRefs } from 'pinia';
 import { formatDate } from '@/utils/formatTime';
+import { orderBaseData } from '@/api/business/order';
 // 引入组件
 const ReturnAudit = defineAsyncComponent(() => import('@/views/business/return/components/Return-audit.vue')); // 审批
 const ReturnAuditMultiple = defineAsyncComponent(() => import('@/views/business/return/components/Return-audit-multiple.vue'));
@@ -169,7 +223,6 @@ const ReturnAuditDetail = defineAsyncComponent(() => import('@/views/business/re
 const OrderDetail = defineAsyncComponent(() => import('@/components/OrderDetail/index.vue')); // 工单详情
 const pagination = defineAsyncComponent(() => import('@/components/ProTable/components/Pagination.vue')); // 分页
 // 定义变量内容
-const ruleFormRef = ref<RefType>(); // 表单ref\
 const state = reactive<any>({
 	queryParams: {
 		// 查询条件
@@ -184,6 +237,19 @@ const state = reactive<any>({
 		qmTime: [],
 		ExpiredTimeStart: null,
 		ExpiredTimeEnd: null,
+		IsProvince:null, // 是否省工单
+		Channel:null, // 来源渠道
+		AcceptTypeCode:null, // 受理类型
+		Hotspot:null, // 热点分类
+		CenterToOrgHandlerName:null, // 最近派单员
+		SendBackStepName:null, // 退回节点
+		SendBackTimeDifference:null, // 退回时差
+		NameOrNo:null, // 受理人
+		OrgLevelOneName:null, //一级部门
+		Content:null, // 受理内容
+		ApplyName:null, // 申请人
+		ApplyOrgName:null, // 申请部门
+		Opinion:null, // 申请理由
 	},
 	tableData: [], //表单
 	loading: false, // 加载
@@ -198,14 +264,14 @@ const handleQuery = () => {
 };
 // 刷新列表
 const refreshList = () => {
-  queryList();
+	queryList();
 };
 /** 获取列表 */
 const requestParams = ref<EmptyObjectType>({});
 const queryList = () => {
 	state.loading = true;
 	requestParams.value = Other.deepClone(state.queryParams);
-	requestParams.value.CreationTimeStart = state.queryParams.crTime === null ? null : state.queryParams.crTime[0];
+	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.ExpiredTimeStart = state.queryParams.qmTime === null ? null : state.queryParams.qmTime[0]; // 期满时间
@@ -229,9 +295,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();
 };
 // 审批
@@ -268,13 +338,28 @@ const selectChangeEvent = ({ checked }) => {
 	}
 };
 const isChecked = computed(() => {
-	return !Boolean(checkTable.value.length);
+	return !checkTable.value.length;
 });
+// 获取基础数据
+const channelOptions = ref<EmptyArrayType>([]); // 来源渠道
+const orderStatusOptions = ref<EmptyArrayType>([]); // 工单状态
+const acceptTypeOptions = ref<EmptyArrayType>([]); // 受理类型
+const getBaseData = async ()=>{
+	try {
+		const { result } = await orderBaseData();
+		channelOptions.value = result.channelOptions ?? [];
+		orderStatusOptions.value = result.orderStatusOptions ?? [];
+		acceptTypeOptions.value = result.acceptTypeOptions ?? [];
+	} catch (e) {
+		console.log(e);
+	}
+}
 const toolbarRef = ref<RefType>();
 onMounted(() => {
 	queryList();
 	if (tableRef.value && toolbarRef.value) {
 		tableRef.value.connect(toolbarRef.value);
 	}
+	getBaseData();
 });
 </script>

+ 180 - 8
src/views/business/urge/index.vue

@@ -2,14 +2,15 @@
 	<div class="business-urge-container layout-padding">
 		<div class="layout-padding-auto layout-padding-view pd20">
 			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline :disabled="state.loading">
-				<el-form-item label="关键词" prop="Keyword">
-					<el-input v-model.trim="state.queryParams.Keyword" placeholder="工单编码/标题" clearable @keyup.enter="handleQuery" class="keyword-input" />
+				<el-form-item label="工单编码" prop="No">
+					<el-input v-model.trim="state.queryParams.No" placeholder="工单编码" clearable @keyup.enter="handleQuery" class="keyword-input" />
+				</el-form-item>
+				<el-form-item label="工单标题" prop="Title">
+					<el-input v-model.trim="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="resetQuery(ruleFormRef)" v-waves 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>
 			<vxe-toolbar
@@ -105,6 +106,115 @@
 		</div>
 		<!-- 催办详情 -->
 		<order-urge-detail ref="orderUrgeDetailRef" @updateList="refreshList" />
+		<!--	更多查询	-->
+		<el-drawer v-model="drawer" title="更多查询" size="500px">
+			<el-form :model="state.queryParams" ref="drawerRuleFormRef" @submit.native.prevent label-width="100px" :disabled="state.loading">
+				<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 prop="Channel" label="来源渠道">
+					<el-select v-model="state.queryParams.Channel" placeholder="请选择来源渠道" clearable class="w100" @change="handleQuery">
+						<el-option v-for="item in channelOptions" :value="item.dicDataValue" :key="item.dicDataValue" :label="item.dicDataName" />
+					</el-select>
+				</el-form-item>
+				<el-form-item prop="CurrentStepCode" label="当前节点">
+					<el-select v-model="state.queryParams.CurrentStepCode" placeholder="请选择工单状态" clearable class="w100" @change="handleQuery">
+						<el-option v-for="item in currentStepOptions" :value="item.key" :key="item.key" :label="item.value" />
+					</el-select>
+				</el-form-item>
+				<el-form-item label="期满时间" prop="qmTime">
+					<el-date-picker
+						v-model="state.queryParams.qmTime"
+						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="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 prop="Status" label="工单状态">
+					<el-select v-model="state.queryParams.Status" placeholder="请选择工单状态" clearable class="w100" @change="handleQuery">
+						<el-option v-for="item in orderStatusOptions" :value="item.key" :key="item.key" :label="item.value" />
+					</el-select>
+				</el-form-item>
+				<el-form-item label="接办部门" prop="CurrentHandleOrgName">
+					<el-input v-model.trim="state.queryParams.CurrentHandleOrgName" placeholder="接办部门" clearable @keyup.enter="handleQuery" />
+				</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="Hotspot">
+					<el-input v-model.trim="state.queryParams.Hotspot" placeholder="热点分类" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item prop="AcceptTypeCode" label="受理类型">
+					<el-select v-model="state.queryParams.AcceptTypeCode" placeholder="请选择受理类型" clearable class="w100" @change="handleQuery">
+						<el-option v-for="item in acceptTypeOptions" :value="item.dicDataValue" :key="item.dicDataValue" :label="item.dicDataName" />
+					</el-select>
+				</el-form-item>
+				<el-form-item label="催办人" prop="CrUser">
+					<el-input v-model.trim="state.queryParams.CrUser" placeholder="催办人" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="催办部门" prop="CreatorOrgName">
+					<el-input v-model.trim="state.queryParams.CreatorOrgName" placeholder="催办部门" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="催办时间" prop="cbTime">
+					<el-date-picker
+						v-model="state.queryParams.cbTime"
+						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.trim="state.queryParams.OrgName" placeholder="被催办部门" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="催办内容" prop="ApplyContent">
+					<el-input v-model.trim="state.queryParams.ApplyContent" 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="businessUrge">
@@ -112,20 +222,47 @@ import { defineAsyncComponent, onMounted, reactive, ref } from 'vue';
 import { FormInstance } from 'element-plus';
 import { formatDate } from '@/utils/formatTime';
 import { urgeList } from '@/api/business/urge';
+import { orderBaseData } from '@/api/business/order';
+import Other from '@/utils/other';
+import { defaultTimeStartEnd, shortcuts } from '@/utils/constants';
 // 引入组件
 const OrderUrgeDetail = defineAsyncComponent(() => import('@/views/business/urge/components/Order-urge-detail.vue')); // 催办详情
 const OrderDetail = defineAsyncComponent(() => import('@/components/OrderDetail/index.vue')); // 工单详情
 const pagination = defineAsyncComponent(() => import('@/components/ProTable/components/Pagination.vue')); // 分页
 
 // 定义变量内容
-const ruleFormRef = ref<RefType>(); // 表单ref
-const state = reactive({
+const state = reactive<any>({
 	queryParams: {
 		// 查询条件
 		PageIndex: 1,
 		PageSize: 20,
 		Keyword: null, // 关键字
 		UrgeState: null, // 回复状态
+
+		No:null, // 工单编码
+		Title:null, // 工单标题
+		IsProvince:null, // 是否省工单
+		Channel:null, // 来源渠道
+		qmTime:[], // 期满时间
+		ExpiredTimeStart:null,
+		ExpiredTimeEnd:null,
+		slTime:[], // 受理时间
+		CreationTimeStart:null,
+		CreationTimeEnd:null,
+		Status:null, // 工单状态
+		CurrentHandleOrgName:null, // 接办部门
+		jbTime:[], // 接办时间
+		CurrentHandleTimeStart:null,
+		CurrentHandleTimeEnd:null,
+		Hotspot:null, // 热点分类
+		AcceptTypeCode:null, // 受理类型
+		CrUser:null, // 催办人
+		CreatorOrgName:null, // 催办部门
+		cbTime:[], // 催办时间
+		CrTimeStart:null, //
+		CrTimeEnd:null,
+		OrgName:null, // 被催办部门
+		ApplyContent:null, // 催办内容
 	},
 	tableData: [], //表单
 	loading: false, // 加载
@@ -141,9 +278,23 @@ const refreshList = () => {
   queryList();
 };
 /** 获取列表 */
+const requestParams = ref<EmptyObjectType>({});
 const queryList = () => {
 	state.loading = true;
-	urgeList(state.queryParams)
+	requestParams.value = Other.deepClone(state.queryParams);
+	requestParams.value.ExpiredTimeStart  = state.queryParams.qmTime === null ? null : state.queryParams.qmTime[0]; // 期满时间
+	requestParams.value.ExpiredTimeEnd = state.queryParams.qmTime === null ? null : state.queryParams.qmTime[1];
+	Reflect.deleteProperty(requestParams.value, 'qmTime'); // 删除无用的参数
+	requestParams.value.CreationTimeStart  = state.queryParams.slTime === null ? null : state.queryParams.slTime[0]; // 受理时间
+	requestParams.value.CreationTimeEnd = state.queryParams.slTime === null ? null : state.queryParams.slTime[1];
+	Reflect.deleteProperty(requestParams.value, 'slTime'); // 删除无用的参数
+	requestParams.value.CurrentHandleTimeStart  = state.queryParams.jbTime === null ? null : state.queryParams.jbTime[0]; //接办时间
+	requestParams.value.CurrentHandleTimeEnd = state.queryParams.jbTime === null ? null : state.queryParams.jbTime[1];
+	Reflect.deleteProperty(requestParams.value, 'jbTime'); // 删除无用的参数
+	requestParams.value.CrTimeStart  = state.queryParams.cbTime === null ? null : state.queryParams.cbTime[0]; // 催办时间
+	requestParams.value.CrTimeEnd = state.queryParams.cbTime === null ? null : state.queryParams.cbTime[1];
+	Reflect.deleteProperty(requestParams.value, 'cbTime'); // 删除无用的参数
+	urgeList(requestParams.value)
 		.then((res: any) => {
 			state.tableData = res.result?.items ?? [];
 			state.total = res.result?.total ?? 0;
@@ -155,9 +306,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();
 };
 // 查看催办详情
@@ -165,6 +320,22 @@ const orderUrgeDetailRef = ref<RefType>(); // 催办详情
 const onDetail = (row: any) => {
 	orderUrgeDetailRef.value.openDialog(row);
 };
+// 获取基础数据
+const channelOptions = ref<EmptyArrayType>([]); // 来源渠道
+const orderStatusOptions = ref<EmptyArrayType>([]); // 工单状态
+const acceptTypeOptions = ref<EmptyArrayType>([]); // 受理类型
+const currentStepOptions = ref<EmptyArrayType>([]); // 当前节点
+const getBaseData = async ()=>{
+	try {
+		const { result } = await orderBaseData();
+		channelOptions.value = result.channelOptions ?? [];
+		orderStatusOptions.value = result.orderStatusOptions ?? [];
+		acceptTypeOptions.value = result.acceptTypeOptions ?? [];
+		currentStepOptions.value = result.currentStepOptions ?? [];
+	} catch (e) {
+		console.log(e);
+	}
+}
 const toolbarRef = ref<RefType>();
 const tableRef = ref<RefType>();
 onMounted(() => {
@@ -172,5 +343,6 @@ onMounted(() => {
 	if (tableRef.value && toolbarRef.value) {
 		tableRef.value.connect(toolbarRef.value);
 	}
+	getBaseData();
 });
 </script>

+ 177 - 12
src/views/business/urge/todo.vue

@@ -2,14 +2,15 @@
 	<div class="business-urge-todo-container layout-padding">
 		<div class="layout-padding-auto layout-padding-view pd20">
 			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline :disabled="state.loading">
-				<el-form-item label="工单标题" prop="Keyword">
-					<el-input v-model.trim="state.queryParams.Keyword" placeholder="工单编码/标题" clearable @keyup.enter="handleQuery" class="keyword-input" />
+				<el-form-item label="工单编码" prop="No">
+					<el-input v-model.trim="state.queryParams.No" placeholder="工单编码" clearable @keyup.enter="handleQuery" class="keyword-input" />
+				</el-form-item>
+				<el-form-item label="工单标题" prop="Title">
+					<el-input v-model.trim="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="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>
 			<vxe-toolbar
@@ -60,7 +61,9 @@
 					</vxe-column>
 					<vxe-column field="order.statusText" title="工单状态" width="120">
 						<template #default="{ row }">
-							<el-text type="danger" tag="b" v-if="[1, 2, 3, 9, 101, 102, 103, 104, 105, 200].includes(row.order.status)">{{ row.order.statusText }}</el-text>
+							<el-text type="danger" tag="b" v-if="[1, 2, 3, 9, 101, 102, 103, 104, 105, 200].includes(row.order.status)">{{
+								row.order.statusText
+							}}</el-text>
 							<span v-else>{{ row.order.statusText }}</span>
 						</template>
 					</vxe-column>
@@ -103,27 +106,156 @@
 		</div>
 		<!-- 催办详情 -->
 		<order-urge-detail ref="orderUrgeDetailRef" @updateList="refreshList" />
+		<!--	更多查询	-->
+		<el-drawer v-model="drawer" title="更多查询" size="500px">
+			<el-form :model="state.queryParams" ref="drawerRuleFormRef" @submit.native.prevent label-width="100px" :disabled="state.loading">
+				<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 prop="Channel" label="来源渠道">
+					<el-select v-model="state.queryParams.Channel" placeholder="请选择来源渠道" clearable class="w100" @change="handleQuery">
+						<el-option v-for="item in channelOptions" :value="item.dicDataValue" :key="item.dicDataValue" :label="item.dicDataName" />
+					</el-select>
+				</el-form-item>
+				<el-form-item label="期满时间" prop="qmTime">
+					<el-date-picker
+						v-model="state.queryParams.qmTime"
+						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="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 prop="Status" label="工单状态">
+					<el-select v-model="state.queryParams.Status" placeholder="请选择工单状态" clearable class="w100" @change="handleQuery">
+						<el-option v-for="item in orderStatusOptions" :value="item.key" :key="item.key" :label="item.value" />
+					</el-select>
+				</el-form-item>
+				<el-form-item label="接办部门" prop="CurrentHandleOrgName">
+					<el-input v-model.trim="state.queryParams.CurrentHandleOrgName" placeholder="接办部门" clearable @keyup.enter="handleQuery" />
+				</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="Hotspot">
+					<el-input v-model.trim="state.queryParams.Hotspot" placeholder="热点分类" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item prop="AcceptTypeCode" label="受理类型">
+					<el-select v-model="state.queryParams.AcceptTypeCode" placeholder="请选择受理类型" clearable class="w100" @change="handleQuery">
+						<el-option v-for="item in acceptTypeOptions" :value="item.dicDataValue" :key="item.dicDataValue" :label="item.dicDataName" />
+					</el-select>
+				</el-form-item>
+				<el-form-item label="催办人" prop="CrUser">
+					<el-input v-model.trim="state.queryParams.CrUser" placeholder="催办人" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="催办部门" prop="CreatorOrgName">
+					<el-input v-model.trim="state.queryParams.CreatorOrgName" placeholder="催办部门" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="催办时间" prop="cbTime">
+					<el-date-picker
+						v-model="state.queryParams.cbTime"
+						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.trim="state.queryParams.OrgName" placeholder="被催办部门" clearable @keyup.enter="handleQuery" />
+				</el-form-item>
+				<el-form-item label="催办内容" prop="ApplyContent">
+					<el-input v-model.trim="state.queryParams.ApplyContent" 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="businessUrgeTodo">
 import { defineAsyncComponent, onMounted, reactive, ref } from 'vue';
 import { FormInstance } from 'element-plus';
 import { formatDate } from '@/utils/formatTime';
-import {urgeList, urgeToDo} from '@/api/business/urge';
+import { urgeList, urgeToDo } from '@/api/business/urge';
+import { orderBaseData } from '@/api/business/order';
+import { defaultTimeStartEnd, shortcuts } from '@/utils/constants';
+import Other from '@/utils/other';
 // 引入组件
 const OrderUrgeDetail = defineAsyncComponent(() => import('@/views/business/urge/components/Order-urge-detail.vue')); // 催办详情
 const OrderDetail = defineAsyncComponent(() => import('@/components/OrderDetail/index.vue')); // 工单详情
 const pagination = defineAsyncComponent(() => import('@/components/ProTable/components/Pagination.vue')); // 分页
 
 // 定义变量内容
-const ruleFormRef = ref<RefType>(); // 表单ref
-const state = reactive({
+const state = reactive<any>({
 	queryParams: {
 		// 查询条件
 		PageIndex: 1,
 		PageSize: 20,
-		Keyword: null, // 关键字
 		UrgeState: '0', // 回复状态
+		No:null, // 工单编码
+		Title:null, // 工单标题
+		IsProvince:null, // 是否省工单
+		Channel:null, // 来源渠道
+		qmTime:[], // 期满时间
+		ExpiredTimeStart:null,
+		ExpiredTimeEnd:null,
+		slTime:[], // 受理时间
+		CreationTimeStart:null,
+		CreationTimeEnd:null,
+		Status:null, // 工单状态
+		CurrentHandleOrgName:null, // 接办部门
+		jbTime:[], // 接办时间
+		CurrentHandleTimeStart:null,
+		CurrentHandleTimeEnd:null,
+		Hotspot:null, // 热点分类
+		AcceptTypeCode:null, // 受理类型
+		CrUser:null, // 催办人
+		CreatorOrgName:null, // 催办部门
+		cbTime:[], // 催办时间
+		CrTimeStart:null, //
+		CrTimeEnd:null,
+		OrgName:null, // 被催办部门
+		ApplyContent:null, // 催办内容
 	},
 	tableData: [], //表单
 	loading: false, // 加载
@@ -136,12 +268,26 @@ const handleQuery = () => {
 };
 // 刷新列表
 const refreshList = () => {
-  queryList();
+	queryList();
 };
 /** 获取列表 */
+const requestParams = ref<EmptyObjectType>({});
 const queryList = () => {
 	state.loading = true;
-  urgeToDo(state.queryParams)
+	requestParams.value = Other.deepClone(state.queryParams);
+	requestParams.value.ExpiredTimeStart  = state.queryParams.qmTime === null ? null : state.queryParams.qmTime[0]; // 期满时间
+	requestParams.value.ExpiredTimeEnd = state.queryParams.qmTime === null ? null : state.queryParams.qmTime[1];
+	Reflect.deleteProperty(requestParams.value, 'qmTime'); // 删除无用的参数
+	requestParams.value.CreationTimeStart  = state.queryParams.slTime === null ? null : state.queryParams.slTime[0]; // 受理时间
+	requestParams.value.CreationTimeEnd = state.queryParams.slTime === null ? null : state.queryParams.slTime[1];
+	Reflect.deleteProperty(requestParams.value, 'slTime'); // 删除无用的参数
+	requestParams.value.CurrentHandleTimeStart  = state.queryParams.jbTime === null ? null : state.queryParams.jbTime[0]; //接办时间
+	requestParams.value.CurrentHandleTimeEnd = state.queryParams.jbTime === null ? null : state.queryParams.jbTime[1];
+	Reflect.deleteProperty(requestParams.value, 'jbTime'); // 删除无用的参数
+	requestParams.value.CrTimeStart  = state.queryParams.cbTime === null ? null : state.queryParams.cbTime[0]; // 催办时间
+	requestParams.value.CrTimeEnd = state.queryParams.cbTime === null ? null : state.queryParams.cbTime[1];
+	Reflect.deleteProperty(requestParams.value, 'cbTime'); // 删除无用的参数
+	urgeToDo(requestParams.value)
 		.then((res: any) => {
 			state.tableData = res.result?.items ?? [];
 			state.total = res.result?.total ?? 0;
@@ -153,9 +299,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();
 };
 // 查看催办详情
@@ -163,6 +313,20 @@ const orderUrgeDetailRef = ref<RefType>(); // 催办详情
 const onDetail = (row: any) => {
 	orderUrgeDetailRef.value.openDialog(row);
 };
+// 获取基础数据
+const channelOptions = ref<EmptyArrayType>([]); // 来源渠道
+const orderStatusOptions = ref<EmptyArrayType>([]); // 工单状态
+const acceptTypeOptions = ref<EmptyArrayType>([]); // 受理类型
+const getBaseData = async ()=>{
+	try {
+		const { result } = await orderBaseData();
+		channelOptions.value = result.channelOptions ?? [];
+		orderStatusOptions.value = result.orderStatusOptions ?? [];
+		acceptTypeOptions.value = result.acceptTypeOptions ?? [];
+	} catch (e) {
+		console.log(e);
+	}
+}
 const toolbarRef = ref<RefType>();
 const tableRef = ref<RefType>();
 onMounted(() => {
@@ -170,5 +334,6 @@ onMounted(() => {
 	if (tableRef.value && toolbarRef.value) {
 		tableRef.value.connect(toolbarRef.value);
 	}
+	getBaseData();
 });
 </script>