From 1d29540c77a0b736e10a9be0c0834c1813c3303e Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期三, 20 十二月 2023 14:51:04 +0800 Subject: [PATCH] 修改 --- web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue | 280 ++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 182 insertions(+), 98 deletions(-) diff --git a/web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue b/web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue index 299b3d8..497e643 100644 --- a/web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue +++ b/web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue @@ -1,66 +1,76 @@ <template> - <zt-dialog ref="dialog" column="2" @confirm="formSubmit"> + <zt-dialog ref="dialog" column="2" @confirm="formSubmit" :stepMarker="stepMarker" :append-to-body="true"> <el-form :model="dataForm" :inline="true" ref="dataForm" style="padding-top: 0" :disabled="dataForm.disabled" label-width="120px" class="testCheckFormAuto"> <div> <el-form-item label-width="60px" label="缂栧彿:" style="width:100%;margin-bottom: -5px"> - <span>{{dataForm.testCheckOrder.code || '缂栧彿鑷姩鐢熸垚'}}</span> + <span>{{ dataForm.checkOrder.code || '缂栧彿鑷姩鐢熸垚' }}</span> </el-form-item> </div> <div style="border: 1px solid rgba(0,0,0,.2);width: 99%"> <div style="border-bottom: 1px solid rgba(0,0,0,.2);" class="testCheckContentWidth"> <el-form-item class="marginTopAndMarginBottom" label="椤圭洰鏍囪瘑" style="width: 49%"> - <el-input v-model="dataForm.project.softwareName" placeholder="椤圭洰鏍囪瘑"></el-input> + <el-input v-model="dataForm.project.softwareIdentity" placeholder="椤圭洰鏍囪瘑"></el-input> </el-form-item> <el-form-item class="marginTopAndMarginBottom" label="椤圭洰鍚嶇О" style="width: 49%"> - <el-input v-model="dataForm.project.softwareIdentity" placeholder="椤圭洰鍚嶇О"></el-input> + <el-input v-model="dataForm.project.softwareName" placeholder="椤圭洰鍚嶇О"></el-input> </el-form-item> <el-form-item class="marginTopAndMarginBottom3" label="妫�鏌ヤ汉" style="width: 49%"> - <el-input v-model="dataForm.project.softwareIdentity" placeholder="妫�鏌ヤ汉"></el-input> + <el-input v-if="stepMarker=='csjcd_first'" v-model="dataForm.checkOrder.examiner" + placeholder="妫�鏌ヤ汉"></el-input> + <span v-else>{{ dataForm.checkOrder.examiner }}</span> </el-form-item> <el-form-item class="marginTopAndMarginBottom3" label="妫�鏌ユ椂闂�" style="width: 49%"> - <el-input v-model="dataForm.project.isContract" placeholder="妫�鏌ユ椂闂�"></el-input> + <el-date-picker + v-if="stepMarker=='csjcd_first'" + v-model="dataForm.checkOrder.examDate" + type="date" + placeholder="璇烽�夋嫨妫�鏌ユ椂闂�"> + </el-date-picker> + <span v-else>{{ dataForm.checkOrder.examDate }}</span> </el-form-item> </div> <div style="border-bottom: 1px solid rgba(0,0,0,.2);"> <div style="padding-left:5px;padding-right:5px;"> - <div style="padding: 5px">娴嬭瘯璁″垝锛�</div> + <div style="padding: 5px">妫�鏌ラ」鐩�:{{ subtitle }}</div> <div class="table-container"> <el-table ref="tableCirculatOrderList" class="el-software el-margin-top-bot" border - :data="dataForm.technicalList" + :data="dataForm.checkOrderList" stripe> <el-table-column prop="no" align="center" width="60" label="搴忓彿"> <template slot-scope="scope"> <span v-html="indexFormat(scope.$index)"></span> </template> </el-table-column> - <el-table-column prop="infoName" min-width="180" label="涓昏妫�鏌ュ唴瀹�"> - <template v-slot="{ row }"> - <el-input v-model="row.name" placeholder="涓昏妫�鏌ュ唴瀹�"></el-input> - </template> + <el-table-column prop="checkContent" min-width="180" label="涓昏妫�鏌ュ唴瀹�"> + <!-- <template v-slot="{ row }">--> + <!-- <el-input v-model="row.checkContent" placeholder="涓昏妫�鏌ュ唴瀹�"></el-input>--> + <!-- </template>--> </el-table-column> - <el-table-column prop="identify" align="center" width="150" label="妫�鏌ョ粨鏋�"> + <el-table-column prop="checkResult" align="center" width="200" label="妫�鏌ョ粨鏋�"> <template v-slot="{ row }"> - <zt-dict v-model="row.identify" dict="is_or_not" :radio="true"></zt-dict> + <zt-dict :disabled="stepMarker!=='csjcd_first'" v-model="row.checkResult" :dict="getDict" + :radio="true"></zt-dict> </template> </el-table-column> <el-table-column prop="remark" label="澶囨敞" width="100" align="center"> <template v-slot="{ row }"> - <el-input v-model="row.remark" placeholder="澶囨敞"></el-input> + <el-input v-if="stepMarker=='csjcd_first'" v-model="row.remark" placeholder="澶囨敞"></el-input> + <span v-else>{{ row.remark }}</span> </template> </el-table-column> -<!-- <el-table-column fixed="right" prop="files" label="涓婁紶闄勪欢" width="300" align="center"> - <template v-slot="{ row }"> - <!– <zt-table-button @click="files(row.id)">涓婁紶闄勪欢</zt-table-button>–> - <table-uploader busi-type="circulat_order" model-name="row" :dataForm="row" - v-model="row.files"/> - </template> - </el-table-column>--> + <!-- <el-table-column fixed="right" prop="files" label="涓婁紶闄勪欢" width="300" align="center"> + <template v-slot="{ row }"> + <!– <zt-table-button @click="files(row.id)">涓婁紶闄勪欢</zt-table-button>–> + <table-uploader busi-type="circulat_order" model-name="row" :dataForm="row" + v-model="row.files"/> + </template> + </el-table-column>--> </el-table> -<!-- <div class="icon-container" @click="addCirculatRow()">--> -<!-- <!– 鏀剧疆鍥哄畾鐨勫浘鏍� –>--> -<!-- <i class="el-icon-plus"></i>--> -<!-- </div>--> + <!-- <div class="icon-container" @click="addCirculatRow()">--> + <!-- <!– 鏀剧疆鍥哄畾鐨勫浘鏍� –>--> + <!-- <i class="el-icon-plus"></i>--> + <!-- </div>--> </div> </div> </div> @@ -70,8 +80,9 @@ </div> <div class="el-border-left acceptDate" style="height: 80px;width: 80%;"> <el-form-item style="width: 100%;padding-left:20px;margin:0;"> - <el-input type="textarea" - :rows="3" v-model="dataForm.testCheckOrder.itemOther" placeholder="闂鎻忚堪..."></el-input> + <el-input v-if="stepMarker=='csjcd_first'" type="textarea" + :rows="3" v-model="dataForm.checkOrder.problemDescription" placeholder="闂鎻忚堪..."></el-input> + <span v-else>{{ dataForm.checkOrder.problemDescription }}</span> </el-form-item> </div> </div> @@ -81,8 +92,9 @@ </div> <div class="el-border-left acceptDate" style="height: 80px;width: 80%;"> <el-form-item style="width: 100%;padding-left:20px;margin:0;"> - <el-input type="textarea" - :rows="3" v-model="dataForm.testCheckOrder.itemOther" placeholder="闂澶勭悊..."></el-input> + <el-input v-if="stepMarker=='csjcd_wtcl'" type="textarea" + :rows="3" v-model="dataForm.checkOrder.problemProcess" placeholder="闂澶勭悊..."></el-input> + <span v-else>{{ dataForm.checkOrder.problemProcess }}</span> </el-form-item> </div> </div> @@ -92,15 +104,15 @@ </div> <div class="el-border-left-right acceptDate1" style="width: 40%;height: 40px;"> <el-form-item style="width: 100%;padding-left:20px;margin:0;"> - <el-input v-model="dataForm.testCheckOrder.itemOther" placeholder="澶勭悊浜�"></el-input> + <span>{{ dataForm.checkOrder.processor }}</span> </el-form-item> </div> <div style="width: 84px;text-align: center;font-weight: 600"> 楠岃瘉浜� </div> <div class="el-border-left acceptDate1" style="width: 40%;height: 40px;"> - <el-form-item label-width="150px" style="width: 100%;padding-left:20px;margin-bottom:0"> - <el-input v-model="dataForm.testCheckOrder.itemOther" placeholder="楠岃瘉浜�"></el-input> + <el-form-item label-width="150px" style="width: 100%;padding-left:20px;margin-bottom:0"> + <span>{{ dataForm.checkOrder.verifier }}</span> </el-form-item> </div> </div> @@ -113,79 +125,147 @@ </template> <script> - export default { - props:{ - pageCode: { - type: String, - default: '' +import qs from "qs"; +import Cookies from "js-cookie"; + +export default { + data() { + return { + pageCode: '', + stepMarker: '', + configDetailRow: null, + subtitle: '', + pageName: { + plan: '杞欢娴嬭瘯璁″垝', explain: '杞欢娴嬭瘯璇存槑', record: '杞欢娴嬭瘯璁板綍', report: '杞欢娴嬭瘯鎶ュ憡', + contract: '鍚堝悓璇勫闃舵', require: '娴嬭瘯闇�姹傚垎鏋愪笌绛栧垝闃舵',execute:'娴嬭瘯璁捐涓庡疄鐜般�佹墽琛岄樁娈�',summary:'娴嬭瘯鎬荤粨闃舵' }, - }, - data() { - return { - dataForm: { - id: '', - projectId: '', - project:{ - softwareIdentity:'', - softwareName:'', - softwareType:'', - isContract:'', - }, - testCheckOrder:{ - code: '', - examiner: '', - examDate: '', - problemDescription: '', - problemProcess: '', - processor: '', - processorId: '', - processDate: '', - verifier: '', - verifierId: '', - verifyDate: '', - year: '' - }, - testAgencyInfo:{ - agencyName:'' - } + dataForm: { + id: '', + projectId: '', + project: { + softwareIdentity: '', + softwareName: '', + }, + checkOrder: { + code: '', + examiner: '', + examDate: '', + problemDescription: '', + problemProcess: '', + processor: '', + verifier: '', + }, + checkOrderList: [] + } + } + }, + computed: { + getDict() { + if (this.pageCode && (this.pageCode === 'plan' || this.pageCode === 'explain' || this.pageCode === 'record' || this.pageCode === 'report')) { + return 'tristate1' + } else { + return 'tristate2' } } - }, - methods: { - init(id, row) { - console.log(id,row,'杞欢娴嬭瘯璁″垝妫�鏌ュ崟') - if (id) { - this.dataForm.id = id - } else { - this.dataForm.id = row.id + }, + methods: { + init(id, row) { + this.configDetailRow = row + if (row.checkId) { + console.log('閰嶇疆椤瑰叆搴撳鏍歌繘鏉ョ殑 TestCheckOrder-AddOrUpdate.vue init row.checkId') + if (row.checkId != -1) { + this.dataForm.id = row.checkId } - if(row.projectId){ - this.dataForm.projectId =row.projectId - } + } else if (id) { + this.dataForm.id = id + } else { + this.dataForm.id = row.id + } + this.pageCode = row.pageCode + this.subtitle = this.pageName[this.pageCode] - // this.dataForm.disabled - this.getInfo() - console.log(this.dataForm.id, this.dataForm.projectId, this.stepMarker, 'this.dataForm.id, this.dataForm.projectId,this.stepMarker') - }, - // 鑾峰彇淇℃伅 - async getInfo() { - let res = await this.$http.get(`/testCheckOrder/TestCheckOrder/${this.dataForm.id}`) - this.dataForm = { - ...this.dataForm, - ...res.data + if (row.projectId) { + this.dataForm.projectId = row.projectId + } + if (this.configDetailRow) { + if (!row.stepMarker) { + this.stepMarker = 'csjcd_first' + this.title = '鍙戣捣娴嬭瘯妫�鏌ュ崟' + } else { + this.title = row.stepName + this.stepMarker = row.stepMarker } - }, - // 琛ㄥ崟鎻愪氦 - async formSubmit() { - let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/testCheckOrder/TestCheckOrder/', this.dataForm) - if (res.success) { - await this.$tip.success() - this.$refs.dialog.close() - this.$emit('refreshDataList') + } + //this.dataForm.disabled + this.getInfo() + + //console.log(this.dataForm.id, this.dataForm.projectId, this.stepMarker, 'this.dataForm.id, this.dataForm.projectId,this.stepMarker') + }, + indexFormat(index) { + return index += 1 + }, + // 鑾峰彇淇℃伅 + async getInfo() { + let params = { + checkId: this.dataForm.id, + projectId: this.dataForm.projectId, + pageCode: this.pageCode + } + console.log(this.pageCode, "getInfo pageCode") + let res = await this.$http.get(`/testCheckOrder/TestCheckOrder/getDto`, {params: params}) + this.dataForm = { + ...this.dataForm, + ...res.data + } + console.log(this.dataForm, 'this.dataForm this.dataForm') + }, + async print() { + var params = qs.stringify({ + token: Cookies.get('token'), + id: this.dataForm.id, + pageCode: this.pageCode + }) + let apiURL = `/testCheckOrder/TestCheckOrder/exportCheckOrder` + window.location.href = `${window.SITE_CONFIG['apiURL']}${apiURL}?${params}` + }, + // 琛ㄥ崟鎻愪氦 + async formSubmit(submitType) { + let isFlow = false + if (submitType == 'tj') { + for (let item of this.dataForm.checkOrderList) { + if (!item.checkResult) { + this.$alert("鏈夋湭濉啓鐨勬暟鎹�") + return + } else if (item.checkResult == "2") { + isFlow = true + } } + if (submitType == 'tj' && !isFlow) { + submitType == '' + } + } + if (submitType == 'bl') { + isFlow = true + } + if (submitType == 'tj' && isFlow || submitType == 'bl' && isFlow) { + let flowInfo = { + flowCode: 'csjcd', + stepIdMark: this.stepMarker, + submitType: submitType + } + this.dataForm.flowInfoDto = flowInfo; + } + console.log(this.dataForm, "this.dataForm formSubmit(submitType)") + let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/testCheckOrder/TestCheckOrder/', this.dataForm) + if (res.success) { + await this.$tip.success() + this.$refs.dialog.close() + this.$emit('recall', res.data, this.configDetailRow) + this.$emit('refreshDataList') } } } +} </script> <style> .el-flexCirculationDialog { @@ -193,12 +273,14 @@ align-items: center } -.testCheckFormAuto .acceptDate > .el-form-item > .el-form-item__content { +.testCheckFormAuto .acceptDate > .el-form-item > .el-form-item__content { width: 100%; } -.testCheckFormAuto .acceptDate1 > .el-form-item > .el-form-item__content { + +.testCheckFormAuto .acceptDate1 > .el-form-item > .el-form-item__content { width: 100%; } + .testCheckFormAuto .marginTopAndMarginBottom { margin-top: 10px !important; margin-bottom: 0 !important; @@ -217,9 +299,11 @@ .testCheckFormAuto .acceptDate > .el-form-item > .el-form-item__content { line-height: 78px; } + .testCheckContentWidth > .el-form-item > .el-form-item__content { width: calc(100% - 120px); } + .testCheckFormAuto .el-radio { margin-right: 10px; } -- Gitblit v1.9.1