From 1772fc5e211f9e9e0ab4cdc6c29b436aac178c2a Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期五, 23 二月 2024 12:19:55 +0800 Subject: [PATCH] 修改 --- web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue | 249 +++++++++++++++++++++++++++++++++---------------- 1 files changed, 169 insertions(+), 80 deletions(-) diff --git a/web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue b/web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue index b4aa87c..5d6f39e 100644 --- a/web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue +++ b/web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue @@ -1,10 +1,10 @@ <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%"> @@ -16,15 +16,23 @@ <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.testCheckOrder.examiner" 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.testCheckOrder.examDate" 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.checkOrderList" @@ -35,32 +43,34 @@ </template> </el-table-column> <el-table-column prop="checkContent" min-width="180" label="涓昏妫�鏌ュ唴瀹�"> - <template v-slot="{ row }"> - <el-input v-model="row.checkContent" placeholder="涓昏妫�鏌ュ唴瀹�"></el-input> - </template> + <!-- <template v-slot="{ row }">--> + <!-- <el-input v-model="row.checkContent" placeholder="涓昏妫�鏌ュ唴瀹�"></el-input>--> + <!-- </template>--> </el-table-column> - <el-table-column prop="checkResult" align="center" width="150" label="妫�鏌ョ粨鏋�"> + <el-table-column prop="checkResult" align="center" width="200" label="妫�鏌ョ粨鏋�"> <template v-slot="{ row }"> - <zt-dict v-model="row.checkResult" 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.problemDescription" 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.problemProcess" 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.processor" 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.verifier" 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,23 +125,28 @@ </template> <script> + import qs from "qs"; + import Cookies from "js-cookie"; + export default { - props:{ - pageCode: { - type: String, - default: '' - }, - }, data() { return { + pageCode: '', + stepMarker: '', + configDetailRow: null, + subtitle: '', + pageName: { + plan: '杞欢娴嬭瘯璁″垝', explain: '杞欢娴嬭瘯璇存槑', record: '杞欢娴嬭瘯璁板綍', report: '杞欢娴嬭瘯鎶ュ憡', + contract: '鍚堝悓璇勫闃舵', require: '娴嬭瘯闇�姹傚垎鏋愪笌绛栧垝闃舵', execute: '娴嬭瘯璁捐涓庡疄鐜般�佹墽琛岄樁娈�', summary: '娴嬭瘯鎬荤粨闃舵' + }, dataForm: { id: '', projectId: '', - project:{ - softwareIdentity:'', - softwareName:'', + project: { + softwareIdentity: '', + softwareName: '', }, - testCheckOrder:{ + checkOrder: { code: '', examiner: '', examDate: '', @@ -138,45 +155,113 @@ processor: '', verifier: '', }, - checkOrderList:{} + 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.configDetailRow = row + if (row.checkId) { + console.log('閰嶇疆椤瑰叆搴撳鏍歌繘鏉ョ殑 TestCheckOrder-AddOrUpdate.vue init row.checkId') + if (row.checkId != -1) { + this.dataForm.id = row.checkId + } + } else if (id) { this.dataForm.id = id } else { this.dataForm.id = row.id } - if(row.projectId){ - this.dataForm.projectId =row.projectId - } + this.pageCode = row.pageCode + this.subtitle = this.pageName[this.pageCode] - // this.dataForm.disabled + 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 + } + } + //this.dataForm.disabled this.getInfo() - console.log(this.dataForm.id, this.dataForm.projectId, this.stepMarker, 'this.dataForm.id, this.dataForm.projectId,this.stepMarker') + + //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 + pageCode: this.pageCode } + console.log(this.pageCode, "getInfo pageCode") let res = await this.$http.get(`/testCheckOrder/TestCheckOrder/getDto`, {params: params}) + this.pageCode = res.data.checkOrder.pageCode 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() { + 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') } } @@ -184,39 +269,43 @@ } </script> <style> -.el-flexCirculationDialog { - display: flex; - align-items: center -} + .el-flexCirculationDialog { + display: flex; + align-items: center + } -.testCheckFormAuto .acceptDate > .el-form-item > .el-form-item__content { - width: 100%; -} -.testCheckFormAuto .acceptDate1 > .el-form-item > .el-form-item__content { - width: 100%; -} -.testCheckFormAuto .marginTopAndMarginBottom { - margin-top: 10px !important; - margin-bottom: 0 !important; -} + .testCheckFormAuto .acceptDate > .el-form-item > .el-form-item__content { + width: 100%; + } -.testCheckFormAuto .marginTopAndMarginBottom2 { - margin-top: -10px !important; - margin-bottom: 10px !important; -} + .testCheckFormAuto .acceptDate1 > .el-form-item > .el-form-item__content { + width: 100%; + } -.testCheckFormAuto .marginTopAndMarginBottom3 { - margin-top: 0 !important; - margin-bottom: 10px !important; -} + .testCheckFormAuto .marginTopAndMarginBottom { + margin-top: 10px !important; + margin-bottom: 0 !important; + } -.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; -} + .testCheckFormAuto .marginTopAndMarginBottom2 { + margin-top: -10px !important; + margin-bottom: 10px !important; + } + + .testCheckFormAuto .marginTopAndMarginBottom3 { + margin-top: 0 !important; + margin-bottom: 10px !important; + } + + .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; + } </style> -- Gitblit v1.9.1