From 9eacf20189b5ced478a8f5f9d2685243cbe5d58a Mon Sep 17 00:00:00 2001 From: liujunjian <liujunjian@seaskysh.com> Date: Thu, 8 Jul 2021 14:27:06 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=94=B3=E6=8A=A5=E4=B9=A6?= =?UTF-8?q?=E5=86=85=E5=AE=B9=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yo-common/ProjectFundApply/index.vue | 121 +++++++++++------- 1 file changed, 74 insertions(+), 47 deletions(-) diff --git a/WebSite/src/views/yo-common/ProjectFundApply/index.vue b/WebSite/src/views/yo-common/ProjectFundApply/index.vue index 373a0c3ec..3ac6f9953 100644 --- a/WebSite/src/views/yo-common/ProjectFundApply/index.vue +++ b/WebSite/src/views/yo-common/ProjectFundApply/index.vue @@ -49,7 +49,12 @@ <div class="apply-table-wrap"> <h2>{{ applyInfo.year }}骞撮」鐩敵鎶ヨ〃</h2> - <el-form :disabled="!canEdit"> + <el-form + :disabled="!canEdit" + :model="applyInfo" + :rules="rules" + ref="formRef" + > <el-card id="baseInfo" class="mt-20"> <template #header> 鍩烘湰淇℃伅 @@ -127,54 +132,55 @@ 椤圭洰姒傝堪 </template> <el-form-item - label="1銆侀」鐩緷鎹�(瑕佸啓鏄庨」鐩簬闇€瑕佹墽琛岀殑鏀跨瓥鎴栨枃浠跺強棰勭畻缂栧埗渚濇嵁):" + label="1銆侀」鐩珛椤逛緷鎹強鍐呭锛堣缁撳悎瀛︽牎鈥滃崄鍥涗簲鈥濊鍒掞紝鍐欐槑椤圭洰渚濇嵁鏀跨瓥鏂囦欢绛夛級:" + prop="basis" > <el-input v-model="applyInfo.summaryJson.basis" type="textarea" ></el-input> </el-form-item> - <el-form-item + <!-- <el-form-item label="2銆侀」鐩熀鏈儏鍐�(瑕佸啓鏄庡叿浣撳疄鏂界殑宸ヤ綔鍐呭锛屽苟涓庡叾棰勭畻鐩稿搴�):" > <el-input v-model="applyInfo.summaryJson.baseinfo" type="textarea" ></el-input> - </el-form-item> - <el-form-item label="3銆侀」鐩熀纭€鏉′欢鍙婂墠鏈熷伐浣�:"> + </el-form-item> --> + <el-form-item label="2銆侀」鐩熀纭€鏉′欢鍙婂墠鏈熷伐浣�:"> <el-input v-model="applyInfo.summaryJson.terminfo" type="textarea" ></el-input> </el-form-item> - <el-form-item label="4銆侀」鐩墽琛岃鍒�(鍚伐浣滆繘搴︺€佽祫閲戞墽琛岃繘搴�):"> + <el-form-item label="3銆侀」鐩墽琛岃鍒�(鍚伐浣滆繘搴﹀強璧勯噾鎵ц杩涘害):"> <el-input v-model="applyInfo.summaryJson.plan" type="textarea" ></el-input> </el-form-item> - <el-form-item label="5銆侀」鐩繚闅滄帾鏂�:"> + <!-- <el-form-item label="5銆侀」鐩繚闅滄帾鏂�:"> <el-input v-model="applyInfo.summaryJson.ensure" type="textarea" ></el-input> - </el-form-item> - <el-form-item label="6銆佹姇鍏ユ儏鍐�:"> + </el-form-item> --> + <!-- <el-form-item label="6銆佹姇鍏ユ儏鍐�:"> <el-input v-model="applyInfo.summaryJson.inport" type="textarea" ></el-input> - </el-form-item> - <el-form-item + </el-form-item> --> + <!-- <el-form-item label="7銆侀」鐩敵璇风悊鐢�(缁撳悎瀛︽牎鈥滃崄涓変簲鈥濊鍒掋€佲€滃崄涓変簲鈥濊鍔ㄨ鍒掋€侀儴闂ㄥ伐浣滆鍒掔瓑闃愯堪):" > <el-input v-model="applyInfo.summaryJson.applyReason" type="textarea" ></el-input> - </el-form-item> - <el-form-item label="8銆侀」鐩疄鏂藉唴瀹瑰強棰勭畻:"> + </el-form-item> --> + <el-form-item label="4銆侀」鐩叿浣撳疄鏂藉唴瀹瑰強棰勭畻:" prop="budget"> <el-input v-model="applyInfo.summaryJson.budget" type="textarea" @@ -192,12 +198,12 @@ <el-radio-group v-model="applyInfo.projectTargetCmd.summaryJson.projectType" > - <el-radio :label="1">涓撻」璧勯噾</el-radio> + <!-- <el-radio :label="1">涓撻」璧勯噾</el-radio> --> <el-radio :label="2">缁忓父鎬ч」鐩�</el-radio> <el-radio :label="3">涓€娆℃€ч」鐩�</el-radio> </el-radio-group> </el-form-item> - <el-form-item label="璁″垝寮€濮嬫棩鏈燂細"> + <!-- <el-form-item label="璁″垝寮€濮嬫棩鏈燂細"> <el-date-picker v-model="applyInfo.projectTargetCmd.summaryJson.startDate" type="date" @@ -218,8 +224,8 @@ v-model="applyInfo.projectTargetCmd.summaryJson.projectGoal" type="textarea" ></el-input> - </el-form-item> - <el-form-item label="骞村害鎬讳綋鐩爣锛�"> + </el-form-item> --> + <el-form-item label="骞村害鐩爣锛�"> <el-input v-model="applyInfo.projectTargetCmd.summaryJson.yearGoal" type="textarea" @@ -332,6 +338,7 @@ <template #default="scope"> <el-select @change="value => fundSubjectChhange(value, scope.row)" + filterable v-model="scope.row.subjectName" placeholder="璇疯緭鍏�..." > @@ -533,7 +540,24 @@ export default { const store = useStore(); const data = reactive({ applyInfo: JSON.parse(JSON.stringify(props.row)), - activeStep: 1 + activeStep: 1, + formRef: null, + rules: { + basis: [ + { + required: true, + message: '璇疯緭鍏ラ」鐩珛椤逛緷鎹強鍐呭', + trigger: 'blur' + } + ], + budget: [ + { + required: true, + message: '璇疯緭鍏ラ」鐩叿浣撳疄鏂藉唴瀹瑰強棰勭畻', + trigger: 'blur' + } + ] + } }); //娴佺▼閫昏緫浠g爜 @@ -541,39 +565,42 @@ export default { context.emit('handleBack'); }; const handleSave = () => { - if (!data.applyInfo.departmentName) { - const dept = baseinfoData.applyDept.find( - item => item.code == data.applyInfo.departmentCode + data.formRef.validate(valid => { + if (!valid) return ElMessage.warning('璇峰皢淇℃伅琛ュ厖瀹屾暣'); + if (!data.applyInfo.departmentName) { + const dept = baseinfoData.applyDept.find( + item => item.code == data.applyInfo.departmentCode + ); + data.applyInfo.departmentName = dept.name; + } + const applyInfo = JSON.parse(JSON.stringify(data.applyInfo)); + applyInfo.summaryJson = JSON.stringify(applyInfo.summaryJson); + applyInfo.projectTargetCmd.subOtherArrayJson = JSON.stringify( + applyInfo.projectTargetCmd.subOtherArrayJson ); - data.applyInfo.departmentName = dept.name; - } - const applyInfo = JSON.parse(JSON.stringify(data.applyInfo)); - applyInfo.summaryJson = JSON.stringify(applyInfo.summaryJson); - applyInfo.projectTargetCmd.subOtherArrayJson = JSON.stringify( - applyInfo.projectTargetCmd.subOtherArrayJson - ); - applyInfo.projectTargetCmd.summaryJson = JSON.stringify( - applyInfo.projectTargetCmd.summaryJson - ); - if ( - applyInfo.attachmentInfoOutList && - applyInfo.attachmentInfoOutList.length > 0 - ) { - applyInfo.attachmentInfoOutList = applyInfo.attachmentInfoOutList.map( - v => v.id + applyInfo.projectTargetCmd.summaryJson = JSON.stringify( + applyInfo.projectTargetCmd.summaryJson ); - } - applyInfo.planSubjectList.forEach(item => { - item.otherJson = JSON.stringify(item.otherJson); - if (item.subjectDetailList.length <= 0) { - item.subjectDetailList = null; - } else { - item.subjectDetailList.forEach(jtem => { - jtem.otherJson = JSON.stringify(jtem.otherJson); - }); + if ( + applyInfo.attachmentInfoOutList && + applyInfo.attachmentInfoOutList.length > 0 + ) { + applyInfo.attachmentInfoOutList = applyInfo.attachmentInfoOutList.map( + v => v.id + ); } + applyInfo.planSubjectList.forEach(item => { + item.otherJson = JSON.stringify(item.otherJson); + if (item.subjectDetailList.length <= 0) { + item.subjectDetailList = null; + } else { + item.subjectDetailList.forEach(jtem => { + jtem.otherJson = JSON.stringify(jtem.otherJson); + }); + } + }); + context.emit('handleSave', applyInfo); }); - context.emit('handleSave', applyInfo); }; const handleSubmit = flowOutput => { context.emit('handleSubmit', flowOutput, data.applyInfo); -- GitLab