zhuangyunsheng 1 éve
szülő
commit
ba2da8b874

+ 20 - 0
src/api/model/procurement.js

@@ -78,6 +78,10 @@ export default {
 
 		saveApprove: async function (data = {}) { // 审核
 			return await http.post(`${this.url}/saveApprove`, data);
+		},
+
+		resubmit: async function (data = {}) { // 重新发起
+			return await http.post(`${this.url}/resubmit`, data);
 		}
 	},
 
@@ -95,6 +99,10 @@ export default {
 
 		saveApprove: async function (data = {}) { // 审核
 			return await http.post(`${this.url}/saveApprove`, data);
+		},
+
+		resubmit: async function (data = {}) { // 重新发起
+			return await http.post(`${this.url}/resubmit`, data);
 		}
 	},
 
@@ -112,6 +120,10 @@ export default {
 
 		saveApprove: async function (data = {}) { // 审核
 			return await http.post(`${this.url}/saveApprove`, data);
+		},
+
+		resubmit: async function (data = {}) { // 重新发起
+			return await http.post(`${this.url}/resubmit`, data);
 		}
 	},
 
@@ -129,6 +141,10 @@ export default {
 
 		saveApprove: async function (data = {}) { // 审核
 			return await http.post(`${this.url}/saveApprove`, data);
+		},
+
+		resubmit: async function (data = {}) { // 重新发起
+			return await http.post(`${this.url}/resubmit`, data);
 		}
 	},
 
@@ -146,6 +162,10 @@ export default {
 
 		saveApprove: async function (data = {}) { // 审核
 			return await http.post(`${this.url}/saveApprove`, data);
+		},
+
+		resubmit: async function (data = {}) { // 重新发起
+			return await http.post(`${this.url}/resubmit`, data);
 		}
 	},
 

+ 5 - 5
src/components/scChengTou/purchase/apply.vue

@@ -23,14 +23,17 @@
 						</template>
 						
 						<el-table-column label="计划状态" align="center" width="120">已审核<sc-status-indicator type="success"></sc-status-indicator></el-table-column>
-						<el-table-column label="采购项目名称" prop="planName" align="center" width="200"></el-table-column>
+						<el-table-column label="采购项目名称" prop="planName" align="center" width="200" show-overflow-tooltip></el-table-column>
+						<el-table-column label="采购所属项目" align="center" width="200" show-overflow-tooltip>
+                    		<template #default="scope">{{ formatProjectName(scope.row.projectId) }}</template>
+						</el-table-column>
 						<el-table-column label="采购类别" align="center" width="120">
 							<template #default="scope">{{ formatType(scope.row.type) }}</template>
 						</el-table-column>
 						<el-table-column label="计划内采购" align="center" width="120">
 							<template #default="scope">{{ formatBoolean(scope.row.isInPlan) }}</template>
 						</el-table-column>
-						<el-table-column label="合约规划" prop="contractPlanName" align="center" width="200"></el-table-column>
+						<el-table-column label="合约规划" prop="contractPlanName" align="center" width="200" show-overflow-tooltip></el-table-column>
 						<el-table-column label="预算金额 (元)" prop="budgetAmount" align="center" width="140"></el-table-column>
 						<el-table-column label="计划开始日期" prop="beginDate" align="center" width="140"></el-table-column>
 						<el-table-column label="计划完成日期" prop="endDate" align="center" width="140"></el-table-column>
@@ -40,9 +43,6 @@
 						<el-table-column label="业务所属公司" align="center" width="200" show-overflow-tooltip>
                     		<template #default="scope">{{ formatDeptName(scope.row.belongDeptId) }}</template>
 						</el-table-column>
-						<el-table-column label="采购所属项目" align="center" width="200" show-overflow-tooltip>
-                    		<template #default="scope">{{ formatProjectName(scope.row.projectId) }}</template>
-						</el-table-column>
 					</sc-table-select>
 				</el-form-item>
 			</el-col>

+ 4 - 0
src/components/scChengTou/purchase/plan.vue

@@ -244,6 +244,10 @@
 					this.form.projectId = e.projectId;
 					this.form.projectNo = this.hygh.projects.find(p => p.id == e.projectId) && this.hygh.projects.find(p => p.id == e.projectId).projectNo || null;
 					if (e.procurementTime) this.form.beginDate = moment(e.procurementTime).format("YYYY-MM-DD");
+				} else {
+					this.form.contractPlanId = null;
+					this.form.contractPlanName = null;
+					this.form.contractPlanCode = null;
 				}
 			},
 

+ 5 - 4
src/views/procurement/process/detail.vue

@@ -63,10 +63,12 @@
 				return this;
 			},
 
-			setData({ id, status, processInstanceId }) {
+			setData({ id, status, processTaskId, processInstanceId, processTemplateId }) {
 				this.form["id"] = id;
 				this.form["status"] = status;
+				this.form["processTaskId"] = processTaskId;
 				this.form["processInstanceId"] = processInstanceId;
+				this.form["processTemplateId"] = processTemplateId;
 			},
 
 			// 表单提交方法
@@ -77,9 +79,7 @@
 							if (!this.form.status) {
 								this.popoverShow = true;
 								this.$nextTick(() => this.$refs.approveIframe.open().setData());
-							} else {
-								console.log("重新发起");
-							}
+							} else this.submit("resubmit", this.form.processTemplateId);
 						} else this.submit(mode);
 					} else {
 						return false;
@@ -102,6 +102,7 @@
 					} else data[key] = this.$refs.scApply.form[key];
 				}
 				if (templateId) data["templateId"] = templateId;
+				if (mode == "resubmit") data["processTaskId"] = this.form.processTaskId;
 
 				this.isSaveing = true;
 				this.$API.procurement.apply[mode](data).then(() => {

+ 6 - 4
src/views/procurement/process/handle.vue

@@ -60,7 +60,7 @@
 			},
 
 			showApprove() {
-				return !this.purchase.status || this.purchase.status == "done";
+				return (!this.purchase.status || this.purchase.status == "done") || (this.purchase.status == "active" && this.purchase.step == this.mode);
 			}
 		},
 
@@ -76,10 +76,13 @@
 
 			setData(purchase, model) {
 				this.purchase["id"] = purchase.id;
+				this.purchase["step"] = purchase.step;
 				this.purchase["status"] = purchase.status;
 				this.form["id"] = model.id;
 				this.form["status"] = model.status;
+				this.form["processTaskId"] = model.processTaskId;
 				this.form["processInstanceId"] = model.processInstanceId;
+				this.form["processTemplateId"] = model.processTemplateId;
 			},
 
 			// 表单提交方法
@@ -90,9 +93,7 @@
 							if (!this.form.status) {
 								this.popoverShow = true;
 								this.$nextTick(() => this.$refs.approveIframe.open(this.mode).setData());
-							} else {
-								console.log("重新发起");
-							}
+							} else this.submit("resubmit", this.form.processTemplateId);
 						} else this.submit(mode);
 					} else {
 						return false;
@@ -116,6 +117,7 @@
 				}
 				if (templateId) data["templateId"] = templateId;
 				if (this.mode == "purchase_bid_notice") data["projectId"] = this.$refs.scHandler.apply.projectId || null;
+				if (mode == "resubmit") data["processTaskId"] = this.form.processTaskId;
 				
 				this.isSaveing = true;
 				this.$API.procurement[this.$refs.scHandler.handlerKey()][mode](data).then(() => {

+ 3 - 3
src/views/procurement/process/index.vue

@@ -209,12 +209,12 @@ export default {
         },
 
         showBtnGroup(row) {
-            let isEnd = false;
+            if (row.processState == "ENDED") return false;
             for (const key in stepDic) { // 所有过程中不能有已完成
-                if (row[this.handlerKey(key)] && row[this.handlerKey(key)].processState == "ENDED") isEnd = true;
+                if (row[this.handlerKey(key)] && row[this.handlerKey(key)].processState == "ENDED") return false;
             }
 
-            return !isEnd && (!row.status || row.status == "active");
+            return !row.status || (row.status == "active" && row.step == "purchase_apply");
         },
 
         async getProjects() {