Эх сурвалжийг харах

reactor:修复甄别和延期退回到发起节点无法办理的BUG;

zhangchong 9 сар өмнө
parent
commit
970070dd7b

+ 1 - 19
src/views/business/delay/components/Delay-detail.vue

@@ -85,12 +85,12 @@ const state = reactive<any>({
 const openDialog = async (row: any) => {
 	state.loading = true;
 	state.currentId = row.id;
+  state.dialogVisible = true;
 	try {
 		const res = await delayDetail(state.currentId);
 		state.ruleForm = res.result ?? {};
 		state.ruleForm.files = transformFile(state.ruleForm.files);
 		state.loading = false;
-		state.dialogVisible = true;
 	} catch (e) {
 		state.loading = false;
 	}
@@ -115,24 +115,6 @@ const onAudit = () => {
 	};
 	processAuditRef.value.openDialog(params);
 };
-// 延期退回
-const onReturn = () => {
-	try {
-		const params = {
-			id: state.ruleForm.workflowId,
-			processType: '延期退回',
-			extra: {
-				dialogTitle: '延期退回',
-				inputPlaceholder: '请填写延期退回意见',
-				annexName: '延期附件',
-				classify: '延期上传',
-			},
-		};
-		processAuditRef.value.openDialog(params);
-	} catch (error) {
-		console.log(error);
-	}
-};
 // 流程明细
 const auditRecordRef = ref<RefType>(); // 审核记录ref
 const processDetail = () => {

+ 98 - 90
src/views/business/delay/components/Delay-edit.vue

@@ -34,57 +34,57 @@
 					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
 						<el-form-item label="申请时间"> {{ dayjs(state.orderDetail.creationTime).format('YYYY-MM-DD HH:mm:ss') }} </el-form-item>
 					</el-col>
-          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
-            <el-form-item label="当前期满时间"> {{ formatDate(state.orderDetail.beforeDelay, 'YYYY-mm-dd HH:MM:SS') }} </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" v-loading="state.loading">
-            <el-form-item label="延期申请数量" prop="timeLimitCount" :rules="[{ required: true, message: '请填写延期申请数量', trigger: 'blur' }]">
-              <el-row :gutter="10">
-                <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
-                  <el-input-number
-                    placeholder="延期申请数量"
-                    v-model="state.delayForm.timeLimitCount"
-                    controls-position="right"
-                    class="w100"
-                    @input="computeTime"
-                    :min="1"
-                    :max="99"
-                  ></el-input-number>
-                </el-col>
-                <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" v-loading="state.loading">
-                  <el-form-item
-                    label=""
-                    label-width="0"
-                    prop="timeLimitUnit"
-                    :rules="[{ required: true, message: '请选择延期申请单位', trigger: 'change' }]"
-                  >
-                    <el-select v-model="state.delayForm.timeLimitUnit" placeholder="延期申请单位" @change="computeTime">
-                      <el-option v-for="item in timeType" :value="item.key" :key="item.key" :label="item.value" />
-                    </el-select>
-                  </el-form-item>
-                </el-col>
-              </el-row>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
-            <el-form-item label="延期后期满时间"> {{ state.delayForm.endTime }} </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
-            <el-form-item label="申请理由" prop="content" :rules="[{ required: true, message: '请填写延期申请理由', trigger: 'blur' }]">
-              <common-advice
-                @chooseAdvice="chooseAdviceDelay"
-                v-model="state.delayForm.content"
-                placeholder="请填写延期申请理由"
-                :loading="state.loading"
-                :commonEnum="commonEnum.Delay"
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
-            <el-form-item label="附件">
-              <annex-list name="延期附件" v-model:format="handleFilesDelay" :businessId="state.orderDetail.id" classify="延期上传" />
-            </el-form-item>
-          </el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
+						<el-form-item label="当前期满时间"> {{ formatDate(state.orderDetail.beforeDelay, 'YYYY-mm-dd HH:MM:SS') }} </el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" v-loading="state.loading">
+						<el-form-item label="延期申请数量" prop="timeLimitCount" :rules="[{ required: true, message: '请填写延期申请数量', trigger: 'blur' }]">
+							<el-row :gutter="10">
+								<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
+									<el-input-number
+										placeholder="延期申请数量"
+										v-model="state.delayForm.timeLimitCount"
+										controls-position="right"
+										class="w100"
+										@input="computeTime"
+										:min="1"
+										:max="99"
+									></el-input-number>
+								</el-col>
+								<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" v-loading="state.loading">
+									<el-form-item
+										label=""
+										label-width="0"
+										prop="timeLimitUnit"
+										:rules="[{ required: true, message: '请选择延期申请单位', trigger: 'change' }]"
+									>
+										<el-select v-model="state.delayForm.timeLimitUnit" placeholder="延期申请单位" @change="computeTime">
+											<el-option v-for="item in timeType" :value="item.key" :key="item.key" :label="item.value" />
+										</el-select>
+									</el-form-item>
+								</el-col>
+							</el-row>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
+						<el-form-item label="延期后期满时间"> {{ state.delayForm.endTime }} </el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
+						<el-form-item label="申请理由" prop="content" :rules="[{ required: true, message: '请填写延期申请理由', trigger: 'blur' }]">
+							<common-advice
+								@chooseAdvice="chooseAdviceDelay"
+								v-model="state.delayForm.content"
+								placeholder="请填写延期申请理由"
+								:loading="state.loading"
+								:commonEnum="commonEnum.Delay"
+							/>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
+						<el-form-item label="附件">
+							<annex-list name="延期附件" v-model:format="handleFilesDelay" :businessId="state.orderDetail.id" classify="延期上传" />
+						</el-form-item>
+					</el-col>
 				</el-row>
 			</el-form>
 		</div>
@@ -164,10 +164,10 @@ import { computed, defineAsyncComponent, nextTick, reactive, ref, watch } from '
 import { ElMessage, ElMessageBox, FormInstance } from 'element-plus';
 import other from '@/utils/other';
 import { commonEnum } from '@/utils/constants';
-import { debounce, transformFile } from "@/utils/tools";
+import { debounce, transformFile } from '@/utils/tools';
 import dayjs from 'dayjs';
-import { formatDate } from "@/utils/formatTime";
-import { delayBaseData, delayCalcEndTime, delayDetail, delayModify, workflowDelayParams } from "@/api/business/delay";
+import { formatDate } from '@/utils/formatTime';
+import { delayApproveParams, delayBaseData, delayCalcEndTime, delayDetail, delayModify, workflowDelayParams } from '@/api/business/delay';
 
 // 引入组件
 const CommonAdvice = defineAsyncComponent(() => import('@/components/CommonAdvice/index.vue')); // 常用意见
@@ -188,6 +188,7 @@ const state = reactive<any>({
 		nextMainHandler: '', // 主办人
 		isSms: false, // 是否短信通知
 		isStartCountersign: false, // 是否发起会签
+		stepId: '',
 	},
 	delayForm: {
 		//延期申请表单
@@ -214,26 +215,32 @@ const timeType = ref<EmptyArrayType>([]); // 延期申请单位
 // 打开弹窗
 const openDialog = async (val: any) => {
 	state.loading = true;
-
+	state.dialogVisible = true;
 	try {
 		state.dialogTitle = '延期编辑'; // 流程标题
 		activeStep.value = 0;
-    const [workflowDelayResponse, responseDelay] = await Promise.all([workflowDelayParams(), delayBaseData()]); //获取开启流程参数
-    timeType.value = responseDelay.result?.timeType ?? []; // 延期时间单位
-    handleResult(workflowDelayResponse);
-
+		if (val.workflowId) {
+			// 如果有流程ID说明已经开启过流程需要获取办理流程的参数
+			const [workflowDelayResponse, responseDelay] = await Promise.all([delayApproveParams(val.workflowId), delayBaseData()]); //获取开启流程参数
+			timeType.value = responseDelay.result?.timeType ?? []; // 延期时间单位
+			handleResult(workflowDelayResponse);
+		} else {
+			const [workflowDelayResponse, responseDelay] = await Promise.all([workflowDelayParams(), delayBaseData()]); //获取开启流程参数
+			timeType.value = responseDelay.result?.timeType ?? []; // 延期时间单位
+			handleResult(workflowDelayResponse);
+		}
 		const { result } = await delayDetail(val.id);
 		state.delayForm.content = result.delayReason ?? {};
-    state.delayForm.timeLimitCount = result.delayNum ?? null;
-    state.delayForm.timeLimitUnit = result.delayUnit ?? 2;
-    state.delayForm.endTime =  dayjs(result.afterDelay).format('YYYY-MM-DD HH:mm:ss');;
+		state.delayForm.timeLimitCount = result.delayNum ?? null;
+		state.delayForm.timeLimitUnit = result.delayUnit ?? 2;
+		state.delayForm.endTime = dayjs(result.afterDelay).format('YYYY-MM-DD HH:mm:ss');
 		state.orderDetail = result;
 		state.ruleForm.files = transformFile(result.files);
 
 		await nextTick(() => {
 			restForm(ruleFormRef.value);
 		});
-    state.dialogVisible = true;
+		state.loading = false;
 	} finally {
 		state.loading = false;
 	}
@@ -256,6 +263,7 @@ const handleResult = (res: any) => {
 		state.ruleForm.nextStepCode = '';
 		state.ruleForm.nextStepName = '';
 	}
+	state.ruleForm.stepId = res.result.stepId;
 	state.loading = false;
 };
 // 上一部
@@ -265,7 +273,7 @@ const onPrevious = () => {
 const delayFormRef = ref<RefType>(); //甄别申请表单组件
 // 下一步
 const onNext = () => {
-  delayFormRef.value?.validate((valid: boolean) => {
+	delayFormRef.value?.validate((valid: boolean) => {
 		if (!valid) return;
 		activeStep.value = 1;
 	});
@@ -379,31 +387,31 @@ const restForm = (formEl: FormInstance | undefined) => {
 };
 // 选择常用意见 填入填写框 延期
 const chooseAdviceDelay = (item: any) => {
-  state.delayForm.content += item.content;
+	state.delayForm.content += item.content;
 };
 // 计算期满时间
 const computeTime = debounce(() => {
-  if (!state.delayForm.timeLimitCount || !state.delayForm.timeLimitUnit) return;
-  let request = {
-    delayNum: state.delayForm.timeLimitCount,
-    delayUnit: state.delayForm.timeLimitUnit,
-    beginTime: state.orderDetail.order?.expiredTime,
-  };
-  state.loading = true;
-  delayCalcEndTime(request)
-    .then((res: any) => {
-      state.delayForm.endTime = dayjs(res.result.endTime).format('YYYY-MM-DD HH:mm:ss');
-      state.loading = false;
-    })
-    .catch(() => {
-      state.delayForm.endTime = '';
-      state.loading = false;
-    });
+	if (!state.delayForm.timeLimitCount || !state.delayForm.timeLimitUnit) return;
+	let request = {
+		delayNum: state.delayForm.timeLimitCount,
+		delayUnit: state.delayForm.timeLimitUnit,
+		beginTime: state.orderDetail.order?.expiredTime,
+	};
+	state.loading = true;
+	delayCalcEndTime(request)
+		.then((res: any) => {
+			state.delayForm.endTime = dayjs(res.result.endTime).format('YYYY-MM-DD HH:mm:ss');
+			state.loading = false;
+		})
+		.catch(() => {
+			state.delayForm.endTime = '';
+			state.loading = false;
+		});
 }, 300);
 const afterSubmit = (emitType?: 'updateList' | 'orderProcessFailed', showMessage?: boolean) => {
 	state.loading = false;
 	closeDialog();
-	if (showMessage) ElMessage.success('延期申请成功');
+	if (showMessage) ElMessage.success('延期编辑成功');
 	if (emitType) emit(emitType);
 };
 const close = () => {
@@ -434,17 +442,17 @@ const onSubmit = (formEl: FormInstance | undefined) => {
 				}
 				const requestDelay = {
 					data: {
-            orderId: state.orderDetail.order?.id,
-            delayNum: state.delayForm.timeLimitCount,
-            delayUnit: state.delayForm.timeLimitUnit,
-            delayReason: state.delayForm.content,
-            files: handleFilesDelay.value,
-            id: state.orderDetail.id,
-            workflowId: state.orderDetail.workflowId,
+						orderId: state.orderDetail.order?.id,
+						delayNum: state.delayForm.timeLimitCount,
+						delayUnit: state.delayForm.timeLimitUnit,
+						delayReason: state.delayForm.content,
+						files: handleFilesDelay.value,
+						id: state.orderDetail.id,
+						workflowId: state.orderDetail.workflowId,
 					},
 					nextWorkflow: { ...submitObj, files: handleFilesDelay.value, opinion: state.delayForm.content },
 				};
-        delayModify(requestDelay)
+				delayModify(requestDelay)
 					.then(() => {
 						afterSubmit('updateList', true);
 					})

+ 1 - 1
src/views/business/discern/components/Discern-detail.vue

@@ -85,12 +85,12 @@ const state = reactive<any>({
  * @description 打开弹窗
  * */
 const openDialog = async (row: any) => {
+  state.dialogVisible = true;
 	state.loading = true;
 	try {
 		const res = await screenDetail(row.id);
 		state.ruleForm = res.result ?? {};
     state.ruleForm.files = transformFile(state.ruleForm.files);
-		state.dialogVisible = true;
 		state.loading = false;
 	} catch (e) {
 		console.log(e);

+ 16 - 12
src/views/business/discern/components/Discern-edit.vue

@@ -142,10 +142,8 @@
 import { computed, defineAsyncComponent, nextTick, reactive, ref, watch } from 'vue';
 import { ElMessage, ElMessageBox, FormInstance } from 'element-plus';
 import other from '@/utils/other';
-import { useUserInfo } from '@/stores/userInfo';
-import { storeToRefs } from 'pinia';
 import { commonEnum } from '@/utils/constants';
-import { discernUpdate, screenBaseData, screenDetail, workflowDiscernParams } from '@/api/business/discern';
+import {discernApproveParams, discernUpdate, screenBaseData, screenDetail, workflowDiscernParams} from '@/api/business/discern';
 import { transformFile } from '@/utils/tools';
 import dayjs from 'dayjs';
 
@@ -168,6 +166,7 @@ const state = reactive<any>({
 		nextMainHandler: '', // 主办人
 		isSms: false, // 是否短信通知
 		isStartCountersign: false, // 是否发起会签
+    stepId:'',
 	},
 	discernForm: {
 		// 甄别表单
@@ -187,22 +186,26 @@ const state = reactive<any>({
 	orderDetail: {}, // 工单详情
 });
 const ruleFormRef = ref<RefType>(); //表单组件
-const storesUserInfo = useUserInfo();
-const { userInfos } = storeToRefs(storesUserInfo); // 用户信息
 const screenTypeOptions = ref<EmptyArrayType>([]); // 甄别类型
 
 // 打开弹窗
 const openDialog = async (val: any) => {
 	console.log(val);
+  state.dialogVisible = true;
 	state.loading = true;
 	try {
-		state.dialogTitle = '甄别申请'; // 流程标题
+		state.dialogTitle = '甄别编辑'; // 流程标题
 		activeStep.value = 0;
-
-		const [workflowDiscernResponse, responseDiscern] = await Promise.all([workflowDiscernParams(), screenBaseData()]); //获取开启流程参数
-		screenTypeOptions.value = responseDiscern.result?.screenType ?? []; // 甄别理由
-		handleResult(workflowDiscernResponse);
-
+		if (val.workflowId) {
+			// 如果有流程ID说明已经开启过流程需要获取办理流程的参数
+			const [workflowDiscernResponse, responseDiscern] = await Promise.all([discernApproveParams(val.workflowId), screenBaseData()]); //甄别审批参数
+			screenTypeOptions.value = responseDiscern.result?.screenType ?? []; // 甄别理由
+			handleResult(workflowDiscernResponse);
+		} else {
+      const [workflowDiscernResponse, responseDiscern] = await Promise.all([workflowDiscernParams(), screenBaseData()]); //获取开启流程参数
+			screenTypeOptions.value = responseDiscern.result?.screenType ?? []; // 甄别理由
+			handleResult(workflowDiscernResponse);
+		}
 		const { result } = await screenDetail(val.id);
 		state.discernForm.content = result.content ?? {};
 		state.discernForm.type = {
@@ -215,7 +218,7 @@ const openDialog = async (val: any) => {
 		await nextTick(() => {
 			restForm(ruleFormRef.value);
 		});
-    state.dialogVisible = true;
+    state.loading = false;
 	} finally {
 		state.loading = false;
 	}
@@ -238,6 +241,7 @@ const handleResult = (res: any) => {
 		state.ruleForm.nextStepCode = '';
 		state.ruleForm.nextStepName = '';
 	}
+  state.ruleForm.stepId = res.result.stepId;
 	state.loading = false;
 };
 // 上一部

+ 1 - 1
src/views/business/publish/component/Order-publish-edit.vue

@@ -159,6 +159,7 @@ const dialogTitle = ref<string>('发布详情'); // 弹窗标题
  * */
 const openDialog = async (row: any) => {
 	state.loading = true;
+  state.dialogVisible = true;
 	try {
 		state.orderDetail = row.order ?? {};
 		const [res, response] = await Promise.all([baseData(row.order.id), publishOrderDetail(row.id)]);
@@ -166,7 +167,6 @@ const openDialog = async (row: any) => {
 		state.publishDetail = res.result ?? {};
 		idNamesArray.value = res.result?.idNames ?? [];
 		state.loading = false;
-		state.dialogVisible = true;
 	} catch (e) {
 		state.loading = false;
 		console.log(e);

+ 1 - 1
src/views/business/publish/component/Order-publish.vue

@@ -203,6 +203,7 @@ const netizenEvaluateType = ref<EmptyArrayType>([]);
 const openDialog = async (row: any, isDisabled: boolean = false) => {
 	disabled.value = isDisabled;
 	state.loading = true;
+  state.dialogVisible = true;
 	try {
 		if (isDisabled) {
 			state.orderDetail = row.order ?? {};
@@ -215,7 +216,6 @@ const openDialog = async (row: any, isDisabled: boolean = false) => {
 
 			dialogTitle.value = '发布详情';
 			state.loading = false;
-			state.dialogVisible = true;
 		} else {
 			state.orderDetail = row ?? {};
 			const res = await baseData(state.orderDetail.id);

+ 2 - 2
src/views/business/visit/component/Smart-visit-Detail.vue

@@ -132,6 +132,7 @@ const getBaseData = async () => {
 // 打开弹窗
 const openDialog = (row?: any) => {
 	if (row) {
+    state.dialogVisible = true;
 		getBaseData();
 		state.queryParams.id = row.id;
 		queryList();
@@ -145,9 +146,8 @@ const handleQuery = () => {
 // 查询智能回访明细表
 const requestParams = ref({})
 const queryList = async () => {
-	state.dialogVisible = true;
+  state.loading = true;
 	try {
-		state.loading = true;
 		state.tableData = [];
     requestParams.value = state.queryParams;
 		const res = await getSmartVisitDetail(state.queryParams);

+ 134 - 144
src/views/statistics/department/detailDelay.vue

@@ -1,182 +1,172 @@
 <template>
-  <div class="statistics-department-detail-delay-container layout-pd">
-    <el-card shadow="never">
-      <ProTable
-        ref="proTableRef"
-        :columns="columns"
-        :data="state.tableData"
-        @updateTable="queryList"
-        :loading="state.loading"
-        :total="state.total"
-        v-model:page-index="state.queryParams.PageIndex"
-        v-model:page-size="state.queryParams.PageSize"
-        :toolButton="['refresh', 'setting', 'exportCurrent', 'exportAll']"
-        :exportMethod="departmentDelayDetailExport"
-        :exportParams="requestParams"
-      >
-        <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" />
-        </template>
-      </ProTable>
-    </el-card>
-    <!--  延期详情  -->
-    <delay-detail-com ref="delayDetailRef" @updateList="queryList" />
-    <!--  延期修改  -->
-    <delay-edit ref="delayEditRef" @updateList="queryList" />
-  </div>
+	<div class="statistics-department-detail-delay-container layout-pd">
+		<el-card shadow="never">
+			<ProTable
+				ref="proTableRef"
+				:columns="columns"
+				:data="state.tableData"
+				@updateTable="queryList"
+				:loading="state.loading"
+				:total="state.total"
+				v-model:page-index="state.queryParams.PageIndex"
+				v-model:page-size="state.queryParams.PageSize"
+				:toolButton="['refresh', 'setting', 'exportCurrent', 'exportAll']"
+				:exportMethod="departmentDelayDetailExport"
+				:exportParams="requestParams"
+			>
+				<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" />
+				</template>
+			</ProTable>
+		</el-card>
+		<!--  延期详情  -->
+		<delay-detail-com ref="delayDetailRef" @updateList="queryList" />
+	</div>
 </template>
 <script setup lang="tsx" name="statisticsDepartmentDetailDelay">
 import { defineAsyncComponent, onMounted, reactive, ref } from 'vue';
 import { FormInstance } from 'element-plus';
 import { formatDate } from '@/utils/formatTime';
-import {useRoute, useRouter} from 'vue-router';
-import { delayDetail } from "@/api/business/delay";
-import { departmentDelayDetail, departmentDelayDetailExport } from "@/api/statistics/department";
+import { useRoute, useRouter } from 'vue-router';
+import { delayDetail } from '@/api/business/delay';
+import { departmentDelayDetail, departmentDelayDetailExport } from '@/api/statistics/department';
 
 // 引入组件
 const OrderDetail = defineAsyncComponent(() => import('@/components/OrderDetail/index.vue')); // 工单详情
 const DelayDetailCom = defineAsyncComponent(() => import('@/views/business/delay/components/Delay-detail.vue')); // 延期详情
-const DelayEdit = defineAsyncComponent(() => import('@/views/business/delay/components/Delay-edit.vue')); // 延期修改
 
 const proTableRef = ref<RefType>(); // 表格ref
 // 表格配置项
 const columns = ref<any[]>([
-  { prop: 'order.expiredStatusText', label: '超期状态', align: 'center',fixed: 'left',width: 80},
-  { prop: 'order.no', label: '工单编码', width: 150 },
-  { prop: 'order.isProvinceText', label: '省/市工单', width: 100 },
-  { prop: 'order.title', label: '工单标题', width: 300 },
-  { prop: 'order.actualHandleStepName', label: '办理节点', width: 120 },
-  { prop: 'delayStateText', label: '延期申请状态', width: 120 },
-  {
-    prop: 'order.startTime',
-    label: '受理时间',
-    width: 170,
-    render: (scope) => {
-      return <span>{formatDate(scope.row.order?.startTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
-    },
-  },
-  { prop: 'order.acceptorName', label: '受理人', width: 120 },
-  { prop: 'order.hotspotName', label: '热点分类', width: 120 },
-  { prop: 'order.acceptType', label: '受理类型', width: 120 },
-  {prop: 'order.orgLevelOneName', label: '一级部门', width: 120 },
-  { prop: 'order.actualHandleOrgName', label: '接办部门', width: 120 },
-  {
-    prop: 'order.actualHandleTime',
-    label: '接办时间',
-    width: 170,
-    render: (scope) => {
-      return <span>{formatDate(scope.row.order?.actualHandleTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
-    },
-  },
-  {
-    prop: 'creationTime',
-    label: '延期申请时间',
-    width: 170,
-    render: (scope) => {
-      return <span>{formatDate(scope.row.creationTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
-    },
-  },
-  { prop: 'creatorName', label: '延期申请人', width: 120 },
-  { prop: 'creatorOrgName', label: '延期申请部门', width: 120 },
-  { prop: 'delayNum', label: '延期申请时限', width: 120 },
-  { prop: 'delayUnitText', label: '延期申请单位', width: 120 },
-  { prop: 'delayReason', label: '申请理由', width: 120 },
-  {
-    prop: 'beforeDelay',
-    label: '申请前期满时间',
-    width: 170,
-    render: (scope) => {
-      return <span>{formatDate(scope.row.beforeDelay, 'YYYY-mm-dd HH:MM:SS')}</span>;
-    },
-  },
-  {
-    prop: 'afterDelay',
-    label: '通过后期满时间',
-    width: 170,
-    render: (scope) => {
-      return <span>{formatDate(scope.row.afterDelay, 'YYYY-mm-dd HH:MM:SS')}</span>;
-    },
-  },
-  { prop: 'operation', label: '操作', fixed: 'right', width: 170, align: 'center' },
+	{ prop: 'order.expiredStatusText', label: '超期状态', align: 'center', fixed: 'left', width: 80 },
+	{ prop: 'order.no', label: '工单编码', width: 150 },
+	{ prop: 'order.isProvinceText', label: '省/市工单', width: 100 },
+	{ prop: 'order.title', label: '工单标题', width: 300 },
+	{ prop: 'order.actualHandleStepName', label: '办理节点', width: 120 },
+	{ prop: 'delayStateText', label: '延期申请状态', width: 120 },
+	{
+		prop: 'order.startTime',
+		label: '受理时间',
+		width: 170,
+		render: (scope) => {
+			return <span>{formatDate(scope.row.order?.startTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
+		},
+	},
+	{ prop: 'order.acceptorName', label: '受理人', width: 120 },
+	{ prop: 'order.hotspotName', label: '热点分类', width: 120 },
+	{ prop: 'order.acceptType', label: '受理类型', width: 120 },
+	{ prop: 'order.orgLevelOneName', label: '一级部门', width: 120 },
+	{ prop: 'order.actualHandleOrgName', label: '接办部门', width: 120 },
+	{
+		prop: 'order.actualHandleTime',
+		label: '接办时间',
+		width: 170,
+		render: (scope) => {
+			return <span>{formatDate(scope.row.order?.actualHandleTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
+		},
+	},
+	{
+		prop: 'creationTime',
+		label: '延期申请时间',
+		width: 170,
+		render: (scope) => {
+			return <span>{formatDate(scope.row.creationTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
+		},
+	},
+	{ prop: 'creatorName', label: '延期申请人', width: 120 },
+	{ prop: 'creatorOrgName', label: '延期申请部门', width: 120 },
+	{ prop: 'delayNum', label: '延期申请时限', width: 120 },
+	{ prop: 'delayUnitText', label: '延期申请单位', width: 120 },
+	{ prop: 'delayReason', label: '申请理由', width: 120 },
+	{
+		prop: 'beforeDelay',
+		label: '申请前期满时间',
+		width: 170,
+		render: (scope) => {
+			return <span>{formatDate(scope.row.beforeDelay, 'YYYY-mm-dd HH:MM:SS')}</span>;
+		},
+	},
+	{
+		prop: 'afterDelay',
+		label: '通过后期满时间',
+		width: 170,
+		render: (scope) => {
+			return <span>{formatDate(scope.row.afterDelay, 'YYYY-mm-dd HH:MM:SS')}</span>;
+		},
+	},
+	{ prop: 'operation', label: '操作', fixed: 'right', width: 170, align: 'center' },
 ]);
 // 定义变量内容
 const ruleFormRef = ref<RefType>(); // 表单ref
 const router = useRouter(); // 路由
 const state = reactive({
-  queryParams: {
-    // 查询条件
-    PageIndex: 1,
-    PageSize: 10,
-    Keyword: null, // 关键字
-  },
-  tableData: [{}], //表单
-  loading: false, // 加载
-  total: 0, // 总数
+	queryParams: {
+		// 查询条件
+		PageIndex: 1,
+		PageSize: 10,
+		Keyword: null, // 关键字
+	},
+	tableData: [{}], //表单
+	loading: false, // 加载
+	total: 0, // 总数
 });
 // 手动查询,将页码设置为1
 const handleQuery = () => {
-  state.queryParams.PageIndex = 1;
-  queryList();
+	state.queryParams.PageIndex = 1;
+	queryList();
 };
 /** 获取列表 */
 const route = useRoute();
 const routeQueryParams = route.query;
 const requestParams = ref({});
 const queryList = () => {
-  state.loading = true;
-  requestParams.value = {
-    PageIndex: state.queryParams.PageIndex,
-    PageSize: state.queryParams.PageSize,
-    StartTime: routeQueryParams?.StartTime,
-    EndTime: routeQueryParams?.EndTime,
-    OrgCode: routeQueryParams?.OrgCode,
-    Type: routeQueryParams?.Type,
-  };
-  departmentDelayDetail(requestParams.value)
-    .then((res) => {
-      state.tableData = res.result?.items ?? [];
-      state.total = res.result?.total ?? 0;
-      state.loading = false;
-    })
-    .catch((err) => {
-      console.log(err);
-    })
-    .finally(() => {
-      state.loading = false;
-    });
-}
+	state.loading = true;
+	requestParams.value = {
+		PageIndex: state.queryParams.PageIndex,
+		PageSize: state.queryParams.PageSize,
+		StartTime: routeQueryParams?.StartTime,
+		EndTime: routeQueryParams?.EndTime,
+		OrgCode: routeQueryParams?.OrgCode,
+		Type: routeQueryParams?.Type,
+	};
+	departmentDelayDetail(requestParams.value)
+		.then((res) => {
+			state.tableData = res.result?.items ?? [];
+			state.total = res.result?.total ?? 0;
+			state.loading = false;
+		})
+		.catch((err) => {
+			console.log(err);
+		})
+		.finally(() => {
+			state.loading = false;
+		});
+};
 
 /** 重置按钮操作 */
 const resetQuery = (formEl: FormInstance | undefined) => {
-  if (!formEl) return;
-  formEl.resetFields();
-  queryList();
-}
+	if (!formEl) return;
+	formEl.resetFields();
+	queryList();
+};
 // 延期详情
 const delayDetailRef = ref<RefType>();
-const delayEditRef = ref<RefType>();
 const onDetail = async (row: any) => {
-  try {
-    const { result } = await delayDetail(row.id);
-    if (result.handle) {
-      // 退回到了开始 需要重新打开编辑页面在发起流程
-      delayEditRef.value.openDialog(row);
-    } else {
-      delayDetailRef.value.openDialog(row);
-    }
-  } catch (e) {
-    console.log(e);
-  }
+	try {
+		delayDetailRef.value.openDialog(row);
+	} catch (e) {
+		console.log(e);
+	}
 };
 onMounted(async () => {
-  queryList();
+	queryList();
 });
 </script>