zhangchong 9 месяцев назад
Родитель
Сommit
ed0d5547a9

+ 0 - 4
.env.zigong

@@ -16,9 +16,5 @@ VITE_FILE_PREFIX=http://171.94.154.2:50105/hlfs
 VITE_AMAP_SECURITYJSCODE=dd12ddafb11921dbcdc5b9c4484bb4e2
 # 高德地图KEY
 VITE_AMAP_KEY=83f51df235e4008e4eaf515cff63785c
-# 捷通华声通话记录请求地址
-VITE_JTHS_API_URL=http://218.6.151.146:50110
-# 捷通华声AppKey
-VITE_JTHS_APPKEY=MTAwMDAx
 # 当前地州市
 VITE_CURRENT_CITY=zigong

+ 3 - 2
src/layout/navBars/breadcrumb/zgTel.vue

@@ -183,7 +183,7 @@
 	<el-dialog v-model="state.dutyDialogVisible" draggable title="签入" width="500px" :show-close="false">
 		<el-form :model="state.dutyForm" label-width="80px" ref="dutyFormRef" @submit.native.prevent>
 			<el-form-item label="分机号" prop="telNo" :rules="[{ required: true, message: '请选择分机号', trigger: 'change' }]">
-				<el-select-v2
+<!--				<el-select-v2
 					v-model="state.dutyForm.telNo"
 					:options="telsList"
 					placeholder="请选择分机号"
@@ -194,7 +194,8 @@
 						value: 'no',
 					}"
 					clearable
-				/>
+				/>-->
+        <el-input 	v-model="state.dutyForm.telNo"></el-input>
 			</el-form-item>
 			<el-form-item label="技能组" prop="skillId" :rules="[{ required: true, message: '请选择技能组', trigger: 'change' }]">
 				<el-select-v2

+ 1 - 0
src/utils/appConfig.ts

@@ -51,6 +51,7 @@ export const getCurrentCityConfig = () => {
 				isShowLogo: false,
 				favicon: 'zigong/favicon.ico',
 				callCenterSocketUrl: isProduction() ? 'ws://171.94.154.2:7681' : ' ws://123.56.10.71:7681', // 呼叫中心socket地址
+				// callCenterSocketUrl: isProduction() ? 'ws://171.94.154.2:7681' : ' ws://171.94.154.2:7681', // 呼叫中心socket地址
 				recordPrefix: isProduction() ? 'http://123.56.10.71:8066/' : 'http://123.56.10.71:8066/', // 播放录音地址前缀
 				recordDownLoadPrefix: isProduction() ? 'http://123.56.10.71:8066/' : 'http://123.56.10.71:8066/', // 录音地址下载前缀
 			};

+ 25 - 124
src/views/business/discern/index.vue

@@ -76,84 +76,30 @@
           </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 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="CurrentHandleOrgName">
-                <el-input v-model="state.queryParams.CurrentHandleOrgName" placeholder="接办部门名称" clearable @keyup.enter="handleQuery" />
+              <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="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 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="bjTime">
+              <el-form-item label="申请时间" prop="crTime">
                 <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"
+                    v-model="state.queryParams.crTime"
                     type="datetimerange"
                     unlink-panels
                     range-separator="至"
@@ -256,45 +202,18 @@ const columns = ref<any[]>([
 	{ prop: 'order.acceptType', label: '受理类型', minWidth: 100 },
 	{ prop: 'order.hotspotName', label: '热点分类', minWidth: 150 },
   { prop: 'order.sourceChannel', label: '来源渠道', minWidth: 100 },
-	{ prop: 'order.orgLevelOneName', label: '一级部门', minWidth: 140 },
-	{ prop: 'order.currentHandleOrgName', label: '接办部门', minWidth: 140 },
-  { prop: 'visitDetail.visitOrgName', label: '回访部门', minWidth: 140 },
-	{
-		prop: 'order.startTime',
-		label: '受理时间',
-		minWidth: 160,
-    sortable:'custom',
-		render: (scope) => {
-			return <span>{formatDate(scope.row.order?.startTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
-		},
-	},
-  {
-    prop: 'order.actualHandleTime',
-    label: '接办时间',
-    minWidth: 160,
-    sortable:'custom',
-    render: (scope) => {
-      return <span>{formatDate(scope.row.order?.actualHandleTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
-    },
-  },
-	{
-		prop: 'order.filedTime',
-		label: '办结时间',
-		minWidth: 160,
-    sortable:'custom',
-		render: (scope) => {
-			return <span>{formatDate(scope.row.order?.filedTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
-		},
-	},
+  { prop: 'visitDetail.visitOrgName', label: '被回访部门', minWidth: 140 },
+  { prop: 'creatorName', label: '申请人', minWidth: 120 },
+  { prop: 'creatorOrgName', label: '申请部门', minWidth: 140 },
 	{
-		prop: 'visit.visitTime',
-		label: '回访时间',
+		prop: 'creationTime',
+		label: '申请时间',
 		minWidth: 160,
-    sortable:'custom',
 		render: (scope) => {
-			return <span>{formatDate(scope.row.visit?.visitTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
+			return <span>{formatDate(scope.row.creationTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
 	},
+  { prop: 'timeConsuminText', label: '发起甄别耗时(工作日)', minWidth: 160 },
 	{ prop: 'operation', label: '操作', fixed: 'right', width: 160, align: 'center' },
 ]);
 // 定义变量内容
@@ -314,23 +233,14 @@ const state = reactive<any>({
     AcceptType:null, // 受理类型
     HotspotSpliceName:null, // 热点分类
     SourceChannel:null, // 来源渠道
-    OrgLevelOneName: null, // 一级部门
-    CurrentHandleOrgName: null, // 接办部门名称
     VisitOrgName: null, // 被回访部门
-    slTime:[],// 受理时间
-    CreationTime:null,
-    EndCreationTime:null,
-    jbTime:[], // 接办时间
-    CurrentHandleTime:null,
-    EndCurrentHandleTime:null,
-    bjTime:[], // 办结时间
-    FiledTime:null,
-    EndFiledTime:null,
-    hfTime:[], // 回访时间
-    VisitTime:null,
-    EndVisitTime:null,
-    SortField:null,
-    SortRule:null,
+    CreatorOrgName:null, // 申请部门
+    CreatorName:null, // 申请人
+    crTime:[],// 申请时间
+    CreationTimeStart:null,
+    CreationTimeEnd:null,
+    SortField:null, // 排序字段
+    SortRule:null, // 排序字段
     Contact:null, // 联系电话
     FromPhone:null, // 来电电话
 	},
@@ -364,18 +274,9 @@ const handleQuery = () => {
 const requestParams = ref({});
 const queryList = () => {
   requestParams.value = Other.deepClone(state.queryParams);
-  requestParams.value.CreationTime = state.queryParams.slTime === null ? null : state.queryParams.slTime[0]; // 受理时间
-  requestParams.value.EndCreationTime = state.queryParams.slTime === null ? null : state.queryParams.slTime[1];
-  Reflect.deleteProperty(requestParams.value, 'slTime'); // 删除无用的参数
-  requestParams.value.CurrentHandleTime = state.queryParams.jbTime === null ? null : state.queryParams.jbTime[0]; // 接办时间
-  requestParams.value.EndCurrentHandleTime = state.queryParams.jbTime === null ? null : state.queryParams.jbTime[1];
-  Reflect.deleteProperty(requestParams.value, 'jbTime'); // 删除无用的参数
-  requestParams.value.FiledTime = state.queryParams.bjTime === null ? null : state.queryParams.bjTime[0]; // 办结时间
-  requestParams.value.EndFiledTime = state.queryParams.bjTime === null ? null : state.queryParams.bjTime[1];
-  Reflect.deleteProperty(requestParams.value, 'bjTime'); // 删除无用的参数
-  requestParams.value.VisitTime = state.queryParams.hfTime === null ? null : state.queryParams.hfTime[0]; // 回访时间
-  requestParams.value.EndVisitTime = state.queryParams.hfTime === null ? null : state.queryParams.hfTime[1];
-  Reflect.deleteProperty(requestParams.value, 'hfTime'); // 删除无用的参数
+  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) => {

+ 177 - 139
src/views/business/discern/todo.vue

@@ -2,12 +2,19 @@
 	<div class="business-discern-todo-container layout-pd">
 		<el-card shadow="never">
 			<!-- 功能按钮 -->
-			<el-tabs v-model="state.queryParams.Status" @tab-change="handleQuery">
-				<el-tab-pane name="0" label="甄别待审批"></el-tab-pane>
-				<el-tab-pane name="4" label="甄别已审批"></el-tab-pane>
+			<el-tabs v-model="state.queryParams.TabStatus" @tab-change="handleQuery">
+				<el-tab-pane :name="0" label="甄别待审批"></el-tab-pane>
+				<el-tab-pane :name="4" label="甄别已审批"></el-tab-pane>
 			</el-tabs>
 			<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" />
@@ -18,14 +25,70 @@
 							<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="CreatorOrgName">
-							<el-input v-model="state.queryParams.CreatorOrgName" 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="crTime">
+					<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="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"
@@ -34,7 +97,7 @@
 									start-placeholder="开始时间"
 									end-placeholder="结束时间"
 									:shortcuts="shortcuts"
-									@change="timeStartChangeCr"
+									@change="handleQuery"
 									value-format="YYYY-MM-DD[T]HH:mm:ss"
 									:default-time="defaultTimeStartEnd"
 								/>
@@ -68,17 +131,17 @@
 				v-model:page-index="state.queryParams.PageIndex"
 				v-model:page-size="state.queryParams.PageSize"
 				:key="Math.random()"
+				@sort-change="sortChange"
 			>
-				<template #expiredStatusText="{ row }">
-					<span :class="'overdue-status-' + row.order?.expiredStatus" :title="row.order?.expiredStatusText"></span>
-				</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>
-					<order-detail :order="row.order" @updateList="queryList" />
+          <el-button link type="primary" @click="visitDetail(row)" title="查看回访明细">
+            回访明细
+          </el-button>
 				</template>
 			</ProTable>
 		</el-card>
@@ -86,6 +149,8 @@
 		<discern-detail ref="discernDetailRef" @updateList="queryList" />
 		<!-- 甄别修改 -->
 		<discern-edit ref="discernEditRef" @updateList="queryList" />
+    <!-- 回访详情 -->
+    <visit-detail-com ref="visitDetailRef" @updateList="queryList" />
 	</div>
 </template>
 <script setup lang="tsx" name="businessDiscernTodo">
@@ -94,163 +159,127 @@ import { FormInstance } from 'element-plus';
 import { defaultTimeStartEnd, shortcuts } from '@/utils/constants';
 import { formatDate } from '@/utils/formatTime';
 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 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[]>([]);
 const columnsTodo = [
-	{ prop: 'order.expiredStatusText', label: '超期状态', align: 'center', width: 80 },
-	{ prop: 'order.no', label: '工单编码', minWidth: 140 },
+	{ prop: 'statusText', label: '甄别状态', minWidth: 90 },
+	{ prop: 'screenSendBackApply', label: '重提甄别' },
 	{ prop: 'order.isProvinceText', label: '省/市工单', minWidth: 90 },
+	{ prop: 'order.no', label: '工单编码', minWidth: 140 },
 	{ prop: 'order.title', label: '工单标题', minWidth: 200 },
-	{ prop: 'order.sourceChannel', label: '来源渠道', minWidth: 100 },
-	{ prop: 'order.acceptType', label: '受理类型', minWidth: 100 },
-	{ prop: 'order.acceptorName', label: '受理人', minWidth: 120 },
-	{ prop: 'order.orgLevelOneName', label: '一级部门', minWidth: 140 },
-	{ prop: 'order.currentHandleOrgName', label: '接办部门', minWidth: 140 },
-	{
-		prop: 'order.actualHandleTime',
-		label: '接办时间',
-		minWidth: 160,
-		render: (scope) => {
-			return <span>{formatDate(scope.row.order?.actualHandleTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
-		},
-	},
-	{
-		prop: 'order.startTime',
-		label: '受理时间',
-		minWidth: 160,
-		render: (scope) => {
-			return <span>{formatDate(scope.row.order?.startTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
-		},
-	},
-	{
-		prop: 'visit.visitTime',
-		label: '回访时间',
-		minWidth: 160,
-		render: (scope) => {
-			return <span>{formatDate(scope.row.visit?.visitTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
-		},
-	},
+	{ prop: 'visitDetail.visitOrgName', label: '被回访部门', minWidth: 140 },
+	{ prop: 'creatorName', label: '申请人', minWidth: 120 },
+	{ prop: 'creatorOrgName', label: '申请部门', minWidth: 140 },
+	{ prop: 'typeDicName', label: '申请类型', minWidth: 110 },
 	{
 		prop: 'creationTime',
-		label: '甄别申请时间',
-		minWidth: 160,
+		label: '申请时间',
+		minWidth: 170,
+		sortable: 'custom',
 		render: (scope) => {
 			return <span>{formatDate(scope.row.creationTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
 	},
-	{ prop: 'creatorName', label: '甄别申请人', minWidth: 120 },
-	{ prop: 'creatorOrgName', label: '甄别申请部门', minWidth: 140 },
-	{ prop: 'typeDicName', label: '甄别申请类型', minWidth: 110 },
-	{ prop: 'timeConsuminText', label: '发起甄别耗时', minWidth: 110 },
-	{ prop: 'content', label: '甄别申请原因', minWidth: 150 },
+	{ prop: 'timeConsuminText', label: '发起甄别耗时(工作日)', minWidth: 160 },
+	{ prop: 'order.sourceChannel', label: '来源渠道', minWidth: 100 },
+	{ prop: 'order.acceptType', label: '受理类型', minWidth: 100 },
+	{ prop: 'order.hotspotName', label: '热点分类', minWidth: 150 },
 	{ prop: 'operation', label: '操作', fixed: 'right', width: 160, align: 'center' },
 ];
 const columnsDone = [
 	// 已办
-	{ prop: 'order.expiredStatusText', label: '超期状态', align: 'center', width: 80 },
 	{ prop: 'order.no', label: '工单编码', minWidth: 140 },
+  { prop: 'order.title', label: '工单标题', minWidth: 200 },
 	{ prop: 'order.isProvinceText', label: '省/市工单', minWidth: 90 },
 	{ prop: 'statusText', label: '甄别状态', minWidth: 100 },
-	{ prop: 'workflow.currentStepName', label: '当前节点', minWidth: 100 },
-	{ prop: 'workflow.actualHandlerName', label: '当前审批人', minWidth: 120 },
-	{ prop: 'order.title', label: '工单标题', minWidth: 200 },
+  {
+    prop: 'order.actualHandleTime',
+    label: '审批时间',
+    sortable: 'custom',
+    minWidth: 170,
+    render: (scope) => {
+      return <span>{formatDate(scope.row.order?.actualHandleTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
+    },
+  },
+  {
+    prop: 'order.actualHandleTime',
+    label: '退回时间',
+    sortable: 'custom',
+    minWidth: 170,
+    render: (scope) => {
+      return <span>{formatDate(scope.row.order?.actualHandleTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
+    },
+  },
+  { prop: 'creatorName', label: '申请人', minWidth: 120 },
+  { prop: 'creatorOrgName', label: '申请部门', minWidth: 140 },
+  {
+    prop: 'creationTime',
+    label: '申请时间',
+    sortable: 'custom',
+    minWidth: 170,
+    render: (scope) => {
+      return <span>{formatDate(scope.row.creationTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
+    },
+  },
+  { prop: 'order.acceptType', label: '受理类型', minWidth: 100 },
 	{ prop: 'order.sourceChannel', label: '来源渠道', minWidth: 100 },
-	{ prop: 'order.acceptType', label: '受理类型', minWidth: 100 },
-	{ prop: 'order.acceptorName', label: '受理人', minWidth: 120 },
-	{ prop: 'order.orgLevelOneName', label: '一级部门', minWidth: 140 },
-	{ prop: 'order.currentHandleOrgName', label: '接办部门', minWidth: 140 },
-	{
-		prop: 'order.actualHandleTime',
-		label: '接办时间',
-		minWidth: 160,
-		render: (scope) => {
-			return <span>{formatDate(scope.row.order?.actualHandleTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
-		},
-	},
-	{
-		prop: 'order.startTime',
-		label: '受理时间',
-		minWidth: 160,
-		render: (scope) => {
-			return <span>{formatDate(scope.row.order?.startTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
-		},
-	},
-	{
-		prop: 'visit.visitTime',
-		label: '回访时间',
-		minWidth: 160,
-		render: (scope) => {
-			return <span>{formatDate(scope.row.visit?.visitTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
-		},
-	},
-	{
-		prop: 'creationTime',
-		label: '甄别申请时间',
-		minWidth: 160,
-		render: (scope) => {
-			return <span>{formatDate(scope.row.creationTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
-		},
-	},
-	{ prop: 'creatorName', label: '甄别申请人', minWidth: 120 },
-	{ prop: 'creatorOrgName', label: '甄别申请部门', minWidth: 140 },
-	{ prop: 'typeDicName', label: '甄别申请类型', minWidth: 110 },
-	{ prop: 'timeConsuminText', label: '发起甄别耗时', minWidth: 110 },
-	{ prop: 'content', label: '甄别申请原因', minWidth: 150 },
+  { prop: 'order.hotspotName', label: '热点分类', minWidth: 150 },
 	{ prop: 'operation', label: '操作', fixed: 'right', minWidth: 160, align: 'center' },
 ];
-const state = reactive({
+const state = reactive<any>({
 	queryParams: {
 		// 查询条件
 		PageIndex: 1,
 		PageSize: 10,
-		Title: null, // 标题
-		CreationTimeStart: null, // 创建时间 开始
-		CreationTimeEnd: null, // 创建时间 结束
-		exTime: [], // 办理期限
-		Status: '0',
-		source: '1', // 甄别待办 1 甄别已办 1
-		CreatorOrgName: null, // 甄别申请部门
+		Status: 0, //  甄别申请状态甄别待办 1 甄别已办 1
+		source: '1', // 甄别查询来源 1 甄别待办 2 甄别列表
+    TabStatus: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, // 排序字段
 	},
 	tableData: [], //表单
 	loading: false, // 加载
 	total: 0, // 总数
 	screenStatus: [], // 甄别状态
 	screenType: [], // 甄别类型
+	acceptTypeOptions: [], // 受理类型
+	sourceChannelOptions: [], // 来源渠道
 });
 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] = null;
-		state.queryParams[endKey] = null;
-	}
-	handleQuery();
-};
-// 受理时间
-const timeStartChangeCr = (val: string[]) => {
-	handleTimeChange(val, 'CreationTimeStart', 'CreationTimeEnd');
-};
 // 获取查询条件基础信息
 const getBaseData = async () => {
-	const res: any = await screenBaseData();
-	state.screenStatus = res.result?.screenStatus ?? [];
-	state.screenType = res.result?.screenType ?? [];
+	const { result } = await screenBaseData();
+	state.screenStatus = result?.screenStatus ?? [];
+	state.screenType = result?.screenType ?? [];
+	state.acceptTypeOptions = result?.acceptType ?? [];
+	state.sourceChannelOptions = result?.sourceChannel ?? [];
 };
 // 手动查询,将页码设置为1
 const handleQuery = () => {
@@ -258,18 +287,21 @@ const handleQuery = () => {
 	queryList();
 };
 /** 获取列表 */
+const requestParams = ref({});
 const queryList = () => {
-	let request = other.deepClone(state.queryParams);
-	Reflect.deleteProperty(request, 'exTime'); // 删除无用的参数
+  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(request)
+	if (state.queryParams.TabStatus === 4) {
+		// 已办
+		columns.value = columnsDone;
+	} else {
+		columns.value = columnsTodo;
+	}
+	screenList(requestParams.value)
 		.then((response: any) => {
-			if (state.queryParams.Status === '4') {
-				// 已办
-				columns.value = columnsDone;
-			} else {
-				columns.value = columnsTodo;
-			}
 			state.tableData = response?.result.items ?? [];
 			state.total = response?.result.total;
 			state.loading = false;
@@ -282,13 +314,14 @@ const queryList = () => {
 const resetQuery = (formEl: FormInstance | undefined) => {
 	if (!formEl) return;
 	formEl.resetFields();
-	state.queryParams.CreationTimeStart = null;
-	state.queryParams.CreationTimeEnd = null;
 	queryList();
 };
-// 导出
-const onExport = () => {
-	console.log('导出');
+// 排序
+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();
 };
 // 查看详情
 const discernDetailRef = ref<RefType>(); // 甄别详情ref
@@ -306,6 +339,11 @@ const onDetail = async (row: any) => {
 		console.log(e);
 	}
 };
+// 查看回访明细
+const visitDetailRef = ref<RefType>();
+const visitDetail = (row:any)=>{
+  visitDetailRef.value.openDialog(row.visit, '回访明细');
+}
 onMounted(async () => {
 	await getBaseData();
 	queryList();