浏览代码

物资-领用单下载功能

huangguoce 5 天之前
父节点
当前提交
0f86f0973a
共有 2 个文件被更改,包括 36 次插入4 次删除
  1. 8 0
      src/api/psi/CollectService.js
  2. 28 4
      src/views/psiManagement/collect/CollectList.vue

+ 8 - 0
src/api/psi/CollectService.js

@@ -45,6 +45,14 @@ export default class CollectService {
 			responseType: "blob",
 		});
 	}
+	exportFileByTemplate(params) {
+		return request({
+			url: prefix + "/psi/collect/exportFileByTemplate",
+			method: "get",
+			params: params,
+			responseType: "blob",
+		});
+	}
 	wareHouseList(params) {
 		return request({
 			url: prefix + "/psi/collect/wareHouseList",

+ 28 - 4
src/views/psiManagement/collect/CollectList.vue

@@ -97,6 +97,9 @@
 					<vxe-column title="操作" width="220px" fixed="right" align="center">
 						<template #default="scope">
 							<el-button
+								v-if="hasPermission('psi:edit') && scope.row.status === '5' && !scope.row.statusReturn"
+								text type="primary" size="small" @click="exportByTemplate(scope.row)">下载领用单</el-button>
+							<el-button
 								v-if="hasPermission('psi:edit') && scope.row.createBy === $store.state.user.id && (scope.row.status === '1' || scope.row.status === '3')"
 								text type="primary" size="small" @click="push(scope.row)">修改</el-button>
 							<el-button
@@ -435,7 +438,7 @@ export default {
 					this.$message.error('数据已发生改变或不存在,请刷新数据')
 					this.refreshList()
 				} else {
-					this.todo(row)
+					this.todo(row, "4")
 				}
 			})
 		},
@@ -446,12 +449,16 @@ export default {
 					this.$message.error('数据已发生改变或不存在,请刷新数据')
 					this.refreshList()
 				} else {
-					this.todo(row)
+					this.todo(row, "2")
 				}
 			})
 		},
 		// 审核或重新调整跳转
-		todo(row) {
+		todo(row, status) {
+			let formReadOnly = true
+			if (status == "4") {
+				formReadOnly = false
+			}
 			let cUser = false
 			taskService.getTaskDefInfo({
 				taskId: row.taskId
@@ -461,7 +468,7 @@ export default {
 					query: {
 						...pick(data, 'formType', 'formUrl', 'procDefKey', 'taskDefKey', 'procInsId', 'procDefId', 'taskId', 'status', 'title', 'businessId'),
 						isShow: false,
-						formReadOnly: true,
+						formReadOnly: formReadOnly,
 						formTitle: `${data.taskName}`,
 						cUser: cUser,
 						title: `审批【${data.taskName || ''}】`,
@@ -675,6 +682,23 @@ export default {
 			}).catch(() => {
 				this.loading = false
 			})
+		},
+		exportByTemplate(row) {
+			const options = {
+				filename: `${this.moment(new Date()).format('YYYY-MM-DD')}领用单`,
+				sheetName: '领用单',
+				mode: 'all'
+			}
+			this.loading = true
+			this.collectService.exportFileByTemplate({
+				...options,
+				id: row.id
+			}).then((res) => {
+				this.$utils.downloadExcel(res, options.filename)
+				this.loading = false
+			}).catch(() => {
+				this.loading = false
+			})
 		}
 	}
 }