Ver código fonte

CostApproval

zhuangyunsheng 1 ano atrás
pai
commit
d913eb4012

+ 2 - 2
.env.development

@@ -6,9 +6,9 @@ VUE_APP_TITLE = 城发集团招采管理平台
 
 # 接口地址
 # VUE_APP_API_BASEURL = http://www.qdeasydo.com
-VUE_APP_API_BASEURL = http://192.168.101.93:8810
+# VUE_APP_API_BASEURL = http://192.168.101.93:8810
 
-# VUE_APP_API_BASEURL = http://172.16.1.150:8810
+VUE_APP_API_BASEURL = http://172.16.1.150:8810
 # VUE_APP_API_BASEURL = http://172.16.1.132:8810
 
 # 本地端口

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

@@ -39,10 +39,6 @@ export default {
             return await http.post(`${this.url}/update`, data);
         },
 
-        updateFile: async function (data = {}) { // 审批过程中修改文件
-            return await http.post(`${this.url}/updateFile`, data);
-        },
-
         del: async function (data = {}) {
             return await http.post(`${this.url}/remove`, data);
         },
@@ -72,10 +68,6 @@ export default {
             return await http.post(`${this.url}/update`, data);
         },
 
-        updateFile: async function (data = {}) { // 审批过程中修改文件
-            return await http.post(`${this.url}/updateFile`, data);
-        },
-
         updatePurchase: async function (data = {}) { // 是否公用
             return await http.post(`${this.url}/updatePurchase`, data);
         },

+ 7 - 9
src/components/scChengTou/approveIframe/index.vue

@@ -25,10 +25,8 @@
 
 				mode: "",
 				host: "",
-				extData: {
-                    dataContext: {
-                        startorOrgName: null
-                    }
+                dataContext: {
+                    startorOrgName: null
                 },
 				params: {
 					variables: "%5B%5D", // []
@@ -60,7 +58,7 @@
 					if (code == "processStartUp.cancel") this.visible = false; // 取消
 					if (code == "processStartUp.confirm") { // 确定
 						this.visible = false;
-						this.$emit("success", data, this.extData);
+						this.$emit("success", data, this.dataContext);
 					}
 				}
 			});
@@ -80,7 +78,7 @@
 					this.$API.auth.gldMaster.getToken(),
 					this.$API.auth.gldMaster.getFormId({ busType: this.mode }).catch(() => this.params.formId)
 				]).then(([dept, res, formId]) => {
-                    if (dept.length == 1) this.extData.dataContext.startorOrgName = dept[0].name;
+                    if (dept.length == 1) this.dataContext.startorOrgName = dept[0].name;
                     else {
                         this.dialog = true;
                         this.$nextTick(() => this.$refs.userDept.open(dept));
@@ -94,7 +92,7 @@
 					}
 				}).catch(() => {
 					this.visible = false;
-                    this.extData.dataContext.startorOrgName = null;
+                    this.dataContext.startorOrgName = null;
 					this.host = "";
 				});
 			},
@@ -102,10 +100,10 @@
             hideUserdept(e) {
                 this.dialog = false;
                 
-                if (e) this.extData.dataContext.startorOrgName = e;
+                if (e) this.dataContext.startorOrgName = e;
                 else {
 					this.visible = false;
-                    this.extData.dataContext.startorOrgName = null;
+                    this.dataContext.startorOrgName = null;
                 }
             }
 		}

+ 10 - 37
src/components/scChengTou/purchase/apply.vue

@@ -1,6 +1,6 @@
 <template>
 	<scTitle v-if="isIframe" class="iframe-detail-title">采购申请信息</scTitle>
-    <el-form v-loading="loading" :class="['dialog-form', disabled && 'dialog-form-disabled']" ref="dialogForm" :model="form" :rules="rules" :disabled="disabled" label-width="120px">
+    <el-form v-loading="loading" :class="['dialog-form', disabled && 'dialog-form-disabled']" ref="dialogForm" :model="form" :rules="rules" :disabled="disabled" label-width="130px">
 		<el-row :gutter="15">
             <el-col :lg="lg" :md="12" :xs="24">
 				<el-form-item label="采购申请名称:" prop="name">
@@ -105,6 +105,14 @@
 					</el-radio-group>
 				</el-form-item>
 			</el-col>
+            <el-col :lg="lg" :md="12" :xs="24">
+                <el-form-item label="是否需要成本审批:">
+                    <el-radio-group v-model="form.isCostApprovalRequired">
+                        <el-radio label="是" value="1"></el-radio>
+                        <el-radio label="否" value="0"></el-radio>
+                    </el-radio-group>
+                </el-form-item>
+			</el-col>
             <el-col :lg="lg" :md="12" :xs="24">
                 <el-form-item label="外部律师选聘:">
                     <el-radio-group v-model="form.isLawyer">
@@ -128,17 +136,6 @@
 					</sc-upload-file>
 				</el-form-item>
 			</el-col>
-            <el-col :xs="24" v-if="isIframe && form.status == 'approve'">
-                <el-form-item class="iframe-item__btn" label-width="0">
-                    <template v-if="updateFolder">
-                        <el-button @click="updateFolder = !updateFolder">取 消</el-button>
-                        <el-button type="primary" :loading="isSaveing" @click="submit">确 定</el-button>
-                    </template>
-                    <template v-else>
-                        <el-button type="primary" @click="updateFolder = !updateFolder">编 辑</el-button>
-                    </template>
-                </el-form-item>
-			</el-col>
 		</el-row>
 	</el-form>
 </template>
@@ -188,6 +185,7 @@
 					projectId: null,
 					projectNo: null,
 					isShare: 1,
+                    isCostApprovalRequired: "0",
                     isLawyer: 0,
 					suggestion: null,
                     status: null,
@@ -307,31 +305,6 @@
 
             typeChange() {
                 if (this.isEngineering) this.form.specialFeeType = null;
-            },
-
-            submit() {
-                const data = {};
-				for (const key in this.form) {
-					if (key == "folders") {
-                        for (const folder_key in this.form[key]) {
-                            const applyFiles = this.form[key][folder_key]["entities"].filter(item => !item.id).map(item => item.path);
-                            if (applyFiles.length) {
-                                if (!data[key]) data[key] = {};
-                                data[key][folder_key] = {
-                                    entities: applyFiles.map(ticket => ({ features: { ticket } }))
-                                }
-                            }
-                        }
-					} else data[key] = this.form[key];
-				}
-
-                this.isSaveing = true;
-				this.$API.procurement.apply.updateFile(data).then(() => {
-					this.isSaveing = false;
-					this.$message.success("操作成功");
-					this.updateFolder = !this.updateFolder;
-                    this.setData();
-				}).catch(() => this.isSaveing = false);
             }
 		}
 	}

+ 13 - 0
src/components/scChengTou/purchase/handler.vue

@@ -105,6 +105,15 @@
 					<el-input v-model="form[`${handlerKey('suffix')}Name`]" :placeholder="`请输入${stepDic[mode]}名称`"></el-input>
 				</el-form-item>
 			</el-col>
+            <el-col v-if="mode == 'purchase_bid_sign'" :lg="lg" :md="12" :xs="24">
+                <el-form-item label="是否需要成本审批:">
+                    <el-radio-group v-model="form.isCostApprovalRequired">
+                        <el-radio label="是" value="1"></el-radio>
+                        <el-radio label="否" value="0"></el-radio>
+                    </el-radio-group>
+                </el-form-item>
+			</el-col>
+
 			<template v-if="mode == 'purchase_bid_notice'">
 				<el-col :lg="lg" :md="12" :xs="24">
 					<el-form-item label="招标平台:" prop="bidPlatform">
@@ -329,6 +338,8 @@
 						this.apply[key] = res.purchase[key] || null;
 					}
 
+					if (this.mode == "purchase_bid_sign") this.form["isCostApprovalRequired"] = res.purchase.isCostApprovalRequired;
+
 					if (this.mode == "purchase_answer_sign") {
                         let fileList = [];
                         for (const key in res.bidSign.folders) {
@@ -355,6 +366,8 @@
 							else if (key == "supplierId") this.form[key] = model.bidCompanyIds && model.bidCompanyIds.split(",") || [];
 							else this.form[key] = model[key] || null;
 						}
+
+					    if (this.mode == "purchase_bid_sign") this.form["isCostApprovalRequired"] = model.isCostApprovalRequired;
 					}
 				} catch (error) {
 					this.loading = false;

+ 2 - 23
src/components/scChengTou/purchase/plan.vue

@@ -111,17 +111,6 @@
 					<el-date-picker v-model="form.endDate" value-format="YYYY-MM-DD" placeholder="请选择计划完成日期"></el-date-picker>
 				</el-form-item>
 			</el-col>
-            <el-col :xs="24" v-if="isIframe && form.status == 'approve'">
-                <el-form-item class="iframe-item__btn" label-width="0">
-                    <template v-if="updateFolder">
-                        <el-button @click="updateFolder = !updateFolder">取 消</el-button>
-                        <el-button type="primary" :loading="isSaveing" @click="submit">确 定</el-button>
-                    </template>
-                    <template v-else>
-                        <el-button type="primary" @click="updateFolder = !updateFolder">编 辑</el-button>
-                    </template>
-                </el-form-item>
-			</el-col>
 		</el-row>
 	</el-form>
 </template>
@@ -148,7 +137,7 @@
 
                 loading: false,
                 isSaveing: false,
-                updateFolder: !this.disabled,
+
 				hygh: {
 					modelValue: null,
 					activeName: "contract",
@@ -269,17 +258,7 @@
 				this.form.projectNo = this.hygh.projects.find(p => p.id == e) && this.hygh.projects.find(p => p.id == e).projectNo || null;
 				this.hygh.params.projectCodes = this.form.projectNo && [this.form.projectNo] || [];
                 this.tableSelectChange();
-			},
-
-            submit() {
-                this.isSaveing = true;
-				this.$API.procurement.plan.updateFile(this.form).then(() => {
-					this.isSaveing = false;
-					this.$message.success("操作成功");
-					this.updateFolder = !this.updateFolder;
-                    this.setData();
-				}).catch(() => this.isSaveing = false);
-            }
+			}
 		}
 	}
 </script>

+ 4 - 4
src/views/procurement/plan/detail.vue

@@ -88,7 +88,7 @@
 				});
 			},
 			
-			submit(mode, templateId, userTaskAssigneePropsList, extData) {
+			submit(mode, templateId, userTaskAssigneePropsList, dataContext) {
                 const data = {};
 				for (const key in this.$refs.scPlan.form) {
 					if (key == "folders") {
@@ -106,7 +106,7 @@
 
 				if (templateId) data["templateId"] = templateId;
 				if (userTaskAssigneePropsList) data["userTaskAssigneePropsList"] = userTaskAssigneePropsList;
-				if (extData) data["extData"] = extData;
+				if (dataContext) data["extData"] = { dataContext };
 				if (mode == "resubmit") data["processTaskId"] = this.form.processTaskId;
 
 				this.isSaveing = true;
@@ -118,8 +118,8 @@
 				}).catch(() => this.isSaveing = false);
 			},
 
-			approve({ processDefinitionId, userTaskAssigneeDtos }, extData) {
-				this.submit("saveApprove", processDefinitionId || null, userTaskAssigneeDtos || [], extData);
+			approve({ processDefinitionId, userTaskAssigneeDtos }, dataContext) {
+				this.submit("saveApprove", processDefinitionId || null, userTaskAssigneeDtos || [], dataContext);
 			}
 		}
 	}

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

@@ -86,7 +86,7 @@
                 }).catch(() => false);
 			},
 
-			submit(mode, templateId, userTaskAssigneePropsList, extData) {
+			submit(mode, templateId, userTaskAssigneePropsList, dataContext) {
 				const data = {};
 				for (const key in this.$refs.scApply.form) {
 					if (key == "folders") {
@@ -103,7 +103,7 @@
 				}
 				if (templateId) data["templateId"] = templateId;
 				if (userTaskAssigneePropsList) data["userTaskAssigneePropsList"] = userTaskAssigneePropsList;
-				if (extData) data["extData"] = extData;
+				if (dataContext) data["extData"] = { dataContext, isCostApprovalRequired: this.$refs.scApply.form.isCostApprovalRequired || "0" };
 				if (mode == "resubmit") data["processTaskId"] = this.form.processTaskId;
 
 				this.isSaveing = true;
@@ -115,8 +115,8 @@
 				}).catch(() => this.isSaveing = false);
 			},
 
-			approve({ processDefinitionId, userTaskAssigneeDtos }, extData) {
-				this.submit("saveApprove", processDefinitionId || null, userTaskAssigneeDtos || [], extData);
+			approve({ processDefinitionId, userTaskAssigneeDtos }, dataContext) {
+				this.submit("saveApprove", processDefinitionId || null, userTaskAssigneeDtos || [], dataContext);
 			}
 		}
 	}

+ 8 - 5
src/views/procurement/process/handle.vue

@@ -100,7 +100,7 @@
 				});
 			},
 
-			submit(mode, templateId, userTaskAssigneePropsList, extData) {
+			submit(mode, templateId, userTaskAssigneePropsList, dataContext) {
 				const data = {};
 				for (const key in this.$refs.scHandler.form) {
 					if (key == "folders") {
@@ -117,10 +117,13 @@
 				}
 				if (templateId) data["templateId"] = templateId;
 				if (userTaskAssigneePropsList) data["userTaskAssigneePropsList"] = userTaskAssigneePropsList;
-				if (extData) data["extData"] = extData;
+				if (dataContext) {
+                    data["extData"] = { dataContext };
+				    if (this.mode == "purchase_bid_sign") data["extData"]["isCostApprovalRequired"] = this.$refs.scHandler.form.isCostApprovalRequired || "0";
+                }
 				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(() => {
 					this.isSaveing = false;
@@ -130,8 +133,8 @@
 				}).catch(() => this.isSaveing = false);
 			},
 
-			approve({ processDefinitionId, userTaskAssigneeDtos }, extData) {
-				this.submit("saveApprove", processDefinitionId || null, userTaskAssigneeDtos || [], extData);
+			approve({ processDefinitionId, userTaskAssigneeDtos }, dataContext) {
+				this.submit("saveApprove", processDefinitionId || null, userTaskAssigneeDtos || [], dataContext);
 			}
 		}
 	}