浏览代码

项目必填

zhuangyunsheng 1 年之前
父节点
当前提交
121711c99a

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

@@ -3,15 +3,15 @@
 	<el-form v-loading="loading" :class="['dialog-form', disabled && 'dialog-form-disabled']" ref="dialogForm" :model="form" :rules="rules" :disabled="disabled" label-width="120px">
 		<el-row :gutter="15">
 			<el-col :lg="lg" :md="12" :xs="24">
-				<el-form-item label="采购所属项目:">
-					<el-select v-model="form.projectId" clearable placeholder="若为项目采购需填写" @change="projectChange">
+				<el-form-item label="采购所属项目:" prop="projectId">
+					<el-select v-model="form.projectId" filterable :disabled="form.id" placeholder="请选择采购所属项目" @change="projectChange">
 						<el-option v-for="item in projects" :key="item.id" :label="item.projectName" :value="item.id"></el-option>
 					</el-select>
 				</el-form-item>
 			</el-col>
 			<el-col :lg="lg" :md="12" :xs="24">
 				<el-form-item label="采购计划引入:">
-					<sc-table-select v-model="tableSelect.modelValue" :apiObj="tableSelect.apiObj" apiKey="getSelectPage" :params="tableSelect.params" :table-width="840" :props="tableSelect.props" :disabled="form.id" clearable placeholder="请选择采购计划" placement="bottom" @change="tableSelectChange">
+					<sc-table-select v-model="tableSelect.modelValue" :apiObj="tableSelect.apiObj" apiKey="getSelectPage" :params="tableSelect.params" :table-width="840" :props="tableSelect.props" :disabled="!form.projectId || form.id"  clearable placeholder="请选择采购计划" placement="bottom" @change="tableSelectChange">
 						<template #header="{ queryForm, submit: fetchPlan }">
 							<el-row :gutter="15">
 								<el-col :md="9" :xs="24">
@@ -164,6 +164,7 @@
 					}
 				},
 				rules: {
+					projectId: [{ required: true, message: "请选择采购所属项目" }],
 					name: [{ required: true, message: "请输入采购申请名称" }],
 					belongDeptId: [{ required: true, message: "请选择业务所属公司" }],
 					type: [{ required: true, message: "请选择采购类别" }],
@@ -239,6 +240,7 @@
 
 			projectChange(e) {
 				this.form.projectNo = this.projects.find(p => p.id == e) && this.projects.find(p => p.id == e).projectNo || null;
+				this.tableSelect.params.projectId = e;
 			}
 		}
 	}

+ 12 - 5
src/components/scChengTou/purchase/plan.vue

@@ -3,8 +3,8 @@
 	<el-form v-loading="loading" :class="['dialog-form', disabled && 'dialog-form-disabled']" ref="dialogForm" :model="form" :rules="rules" :disabled="disabled" label-width="120px">
 		<el-row :gutter="15">
 			<el-col :lg="lg" :md="12" :xs="24">
-				<el-form-item label="采购所属项目:">
-					<el-select v-model="form.projectId" filterable :disabled="form.id" clearable placeholder="若为项目采购需填写" @change="projectChange">
+				<el-form-item label="采购所属项目:" prop="projectId">
+					<el-select v-model="form.projectId" filterable :disabled="form.id" placeholder="请选择采购所属项目" @change="projectChange">
 						<el-option v-for="item in hygh.projects" :key="item.id" :label="item.projectName" :value="item.id"></el-option>
 					</el-select>
 				</el-form-item>
@@ -21,7 +21,7 @@
 								<el-row :gutter="15">
 									<el-col :md="9" :xs="24">
 										<el-form-item label="所属项目:">
-											<el-select class="left-option-select" v-model="hygh.params.projectCodes" :teleported="false" filterable multiple collapseTags collapseTagsTooltip placeholder="请选择所属项目">
+											<el-select class="left-option-select" v-model="hygh.params.projectCodes" :teleported="false" filterable multiple collapseTags placeholder="请选择所属项目">
 												<el-option v-for="item in hygh.projects" :key="item.id" :label="item.projectName" :value="item.projectNo"></el-option>
 											</el-select>
 										</el-form-item>
@@ -177,6 +177,7 @@
 					endDate: null
 				},
 				rules: {
+					projectId: [{ required: true, message: "请选择采购所属项目" }],
 					planName: [{ required: true, message: "请输入采购名称" }],
 					belongDeptId: [{ required: true, message: "请选择业务所属公司" }],
 					type: [{ required: true, message: "请选择采购类别" }],
@@ -277,8 +278,14 @@
   margin-right: 12px;
 }
 
-.left-option-select :deep(.el-select-dropdown__item) {
-  text-align: left;
+.left-option-select {
+  :deep(.el-select-dropdown__item) {
+    text-align: left;
+  }
+
+  :deep(.el-select__selection) {
+    flex-wrap: nowrap;
+  }
 }
 
 @media (max-width: 992px) {

+ 3 - 2
src/views/procurement/plan/detail.vue

@@ -64,11 +64,12 @@
 			},
 
 			// 表单注入数据
-			setData({ id, status, processTaskId, 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;
 			},
 
 			// 表单提交方法
@@ -79,7 +80,7 @@
 							if (!this.form.status) {
 								this.popoverShow = true;
 								this.$nextTick(() => this.$refs.approveIframe.open("purchase_plan").setData());
-							} else this.submit("resubmit");
+							} else this.submit("resubmit", this.form.processTemplateId);
 						} else this.submit(mode);
 					} else {
 						return false;