浏览代码

reactor:延期审批和延期列表新增导出;

zhangchong 2 月之前
父节点
当前提交
83d4c1c561
共有 3 个文件被更改,包括 94 次插入60 次删除
  1. 63 46
      src/api/business/delay.ts
  2. 23 6
      src/api/todo/delay.ts
  3. 8 8
      src/views/business/delay/audit.vue

+ 63 - 46
src/api/business/delay.ts

@@ -9,91 +9,108 @@ import request from '@/utils/request';
  * @param data
  */
 export const delayApply = (data: object) => {
-    return request({
-        url: `/api/v1/Order/delay`,
-        method: 'post',
-        data
-    });
+	return request({
+		url: `/api/v1/Order/delay`,
+		method: 'post',
+		data,
+	});
 };
 /**
  * @description 延期工单列表
  * @param {object} params
  */
 export const delayList = (params: object) => {
-    return request({
-        url: `/api/v1/Order/delay`,
-        method: 'get',
-        params
-    });
+	return request({
+		url: `/api/v1/Order/delay`,
+		method: 'get',
+		params,
+	});
+};
+/**
+ * @description 延期工单列表导出
+ * @param {object} data
+ */
+export const delayListExport = (data: object) => {
+	return request(
+		{
+			url: `/api/v1/Order/delay/export`,
+			method: 'post',
+			responseType: 'blob',
+			data,
+		},
+		{
+			reduce_data_format: false,
+		}
+	);
 };
 /**
  * @description 可申请延期基础信息
  */
 export const delayBaseData = () => {
-    return request({
-        url: `/api/v1/Order/delay/basedata`,
-        method: 'get'
-    });
+	return request({
+		url: `/api/v1/Order/delay/basedata`,
+		method: 'get',
+	});
 };
 /**
  * @description 延期详情
  * @param id
  */
 export const delayDetail = (id: string) => {
-    return request({
-        url: `/api/v1/Order/delay/${id}`,
-        method: 'get'
-    });
+	return request({
+		url: `/api/v1/Order/delay/${id}`,
+		method: 'get',
+	});
 };
 /**
  * @description 延期计算期满时间
  * @param {object} data
  */
 export const delayCalcEndTime = (data: object) => {
-    return request({
-        url: `/api/v1/Order/delay/calc-endtime`,
-        method: 'post',
-        data
-    });
+	return request({
+		url: `/api/v1/Order/delay/calc-endtime`,
+		method: 'post',
+		data,
+	});
 };
 /**
  * @description 获取延期参数
  */
-export const workflowDelayParams= () => {
-    return request({
-        url: `/api/v1/Order/delay/startflow`,
-        method: 'get'
-    });
+export const workflowDelayParams = () => {
+	return request({
+		url: `/api/v1/Order/delay/startflow`,
+		method: 'get',
+	});
 };
 /**
  * @description 延期审批参数
  * @param {string} workflowId
  */
-export const delayApproveParams = (workflowId:string) => {
-    return request({
-        url: `/api/v1/Order/delay/${workflowId}/nextsteps`,
-        method: 'get'
-    });
-}
+export const delayApproveParams = (workflowId: string) => {
+	return request({
+		url: `/api/v1/Order/delay/${workflowId}/nextsteps`,
+		method: 'get',
+	});
+};
 /**
  * @description 延期修改
  * @param {object} data
  */
 export const delayModify = (data: object) => {
-    return request({
-        url: `/api/v1/Order/delay/initial_nextFlow`,
-        method: 'post',
-        data
-    });
-}
+	return request({
+		url: `/api/v1/Order/delay/initial_nextFlow`,
+		method: 'post',
+		data,
+	});
+};
 /**
  * @description 延期批量审批
  * @param {object} data
  */
 export const delayBatchApprove = (data: object) => {
-    return request({
-        url: `/api/v1/Order/delay/batch_audit`,
-        method: 'post',
-        data
-    });
-}
+	return request({
+		url: `/api/v1/Order/delay/batch_audit`,
+		method: 'post',
+		data,
+	});
+};

+ 23 - 6
src/api/todo/delay.ts

@@ -9,9 +9,26 @@ import request from '@/utils/request';
  * @param {object} params
  */
 export const delayList = (params: object) => {
-    return request({
-        url: `/api/v1/Order/wait_delay`,
-        method: 'get',
-        params
-    });
-};
+	return request({
+		url: `/api/v1/Order/wait_delay`,
+		method: 'get',
+		params,
+	});
+};
+/**
+ * @description 延期工单待办列表导出
+ * @param {object} data
+ */
+export const waitDelayListExport = (data: object) => {
+	return request(
+		{
+			url: `/api/v1/Order/wait_delay/export`,
+			method: 'post',
+			responseType: 'blob',
+			data,
+		},
+		{
+			reduce_data_format: false,
+		}
+	);
+};

+ 8 - 8
src/views/business/delay/audit.vue

@@ -23,7 +23,7 @@
 				:refresh="{
 					queryMethod: handleQuery,
 				}"
-        :tools="[{ toolRender: { name: 'exportCurrent' } }, { toolRender: { name: 'exportAll' } }]"
+				:tools="[{ toolRender: { name: 'exportCurrent' } }, { toolRender: { name: 'exportAll' } }]"
 			>
 				<template #buttons>
 					<el-button
@@ -57,7 +57,7 @@
 						storage: true,
 					}"
 					showHeaderOverflow
-          :params="{ exportMethod: screenListExport, exportParams: requestParams }"
+					:params="{ exportMethod: waitDelayListExport, exportParams: requestParams }"
 				>
 					<vxe-column type="checkbox" width="50" align="center"></vxe-column>
 					<vxe-column field="order.expiredStatusText" title="状态" width="60" align="center">
@@ -113,7 +113,7 @@
 					<vxe-column title="操作" fixed="right" width="130" align="center" :show-overflow="false">
 						<template #default="{ row }">
 							<el-button link type="primary" @click="onDetail(row)" title="延期详情"> 延期详情 </el-button>
-<!--							<el-button link type="primary" @click="onAudit(row)" title="审批" v-auth="'business:delay:audit:todo'"> 审批 </el-button>-->
+							<!--							<el-button link type="primary" @click="onAudit(row)" title="审批" v-auth="'business:delay:audit:todo'"> 审批 </el-button>-->
 						</template>
 					</vxe-column>
 				</vxe-table>
@@ -138,9 +138,8 @@
 import { computed, defineAsyncComponent, onMounted, reactive, ref } from 'vue';
 import { FormInstance } from 'element-plus';
 import { formatDate } from '@/utils/formatTime';
-import { delayList } from '@/api/todo/delay';
-import {screenListExport} from "@/api/business/discern";
-import Other from "@/utils/other";
+import { delayList, waitDelayListExport } from '@/api/todo/delay';
+import Other from '@/utils/other';
 // 引入组件
 const DelayDetailCom = defineAsyncComponent(() => import('@/views/business/delay/components/Delay-detail.vue')); // 延期详情
 const OrderDetail = defineAsyncComponent(() => import('@/components/OrderDetail/index.vue')); // 工单详情
@@ -175,8 +174,9 @@ const refreshList = () => {
 const requestParams = ref<EmptyObjectType>({});
 const queryList = () => {
 	state.loading = true;
-  requestParams.value = Other.deepClone(state.queryParams);
-	delayList(requestParams.value)
+	requestParams.value = Other.deepClone(state.queryParams);
+  requestParams.value.IsApply = state.queryParams.IsApply === 'true';
+  delayList(requestParams.value)
 		.then((res: any) => {
 			state.tableData = res.result?.items ?? [];
 			state.total = res.result?.total ?? 0;