From 68981c58ea61ff4edc0479facfb8b76181d2a582 Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期五, 01 十二月 2023 10:54:37 +0800 Subject: [PATCH] 6 --- web/src/views/modules/project/Environ-AddOrUpdate.vue | 419 ++++++++++++++++++++++++++++++++--------------------------- 1 files changed, 227 insertions(+), 192 deletions(-) diff --git a/web/src/views/modules/project/Environ-AddOrUpdate.vue b/web/src/views/modules/project/Environ-AddOrUpdate.vue index 9a52aad..995fdb5 100644 --- a/web/src/views/modules/project/Environ-AddOrUpdate.vue +++ b/web/src/views/modules/project/Environ-AddOrUpdate.vue @@ -1,32 +1,34 @@ <template> <zt-dialog ref="dialog" column="2" @confirm="formSubmit" append-to-body title="娴嬭瘯鐜寤虹珛纭琛�"> - <el-form :model="dataForm" style="padding-top: 0" :inline="true" ref="dataForm" :disabled="dataForm.disabled" label-width="130px" class="confirmFormAuto"> - <div class="DConfirmForm"> - <el-form-item label-width="60px" label="缂栧彿:" style="width:100%;margin-bottom: 0"> - <span>{{dataForm.environ.code}}</span> - </el-form-item> - </div> - <div style="border: 1px solid rgba(0,0,0,.2);width: 99%" class="confirmDAuto DConfirmForm"> - <el-form-item class="marginTopAndMarginBottom" label="涓撲笟瀹為獙瀹ゅ悕绉�" style="width: 49%"> - <el-input v-model="dataForm.testAgencyInfo.agencyName" placeholder="涓撲笟瀹為獙瀹ゅ悕绉�"></el-input> - </el-form-item> - <el-form-item class="marginTopAndMarginBottom" label="娴嬭瘯鍦扮偣" style="width: 49%"> - <el-input v-model="dataForm.testAgencyInfo.site" placeholder="娴嬭瘯鍦扮偣"></el-input> - </el-form-item> - <el-form-item label="琚祴杞欢" style="width: 49%"> - <el-input v-model="dataForm.project.softwareName" placeholder="琚祴杞欢"></el-input> - </el-form-item> - <el-form-item label="鐗堟湰" style="width: 49%"> - <el-input v-model="dataForm.project.softwareIdentity" placeholder="鐗堟湰"></el-input> - </el-form-item> - <div class="el-flexConfigDialog el-form-border"> - <div class="DFormWidth DAlign DHold"> - 纭蒋浠惰祫婧� - </div> - <div class="el-wt-border-left" style="padding-left:5px;width: calc(100% - 130px)"> - <div style="padding: 5px">杞欢璧勬簮锛�</div> - <div class="table-container"> - <el-table ref="tableSoftwareList" class="el-software el-margin-top-bot" border :data="dataForm.softwareResourcesList" + <el-form :model="dataForm" style="padding-top: 0" :inline="true" ref="dataForm" :disabled="dataForm.disabled" + label-width="130px" class="confirmFormAuto"> + <div class="DConfirmForm"> + <el-form-item label-width="60px" label="缂栧彿:" style="width:100%;margin-bottom: 0"> + <span>{{dataForm.environ.code}}</span> + </el-form-item> + </div> + <div style="border: 1px solid rgba(0,0,0,.2);width: 99%" class="confirmDAuto DConfirmForm"> + <el-form-item class="marginTopAndMarginBottom" label="涓撲笟瀹為獙瀹ゅ悕绉�" style="width: 49%"> + <el-input v-model="dataForm.testAgencyInfo.agencyName" placeholder="涓撲笟瀹為獙瀹ゅ悕绉�"></el-input> + </el-form-item> + <el-form-item class="marginTopAndMarginBottom" label="娴嬭瘯鍦扮偣" style="width: 49%"> + <el-input v-model="dataForm.testAgencyInfo.site" placeholder="娴嬭瘯鍦扮偣"></el-input> + </el-form-item> + <el-form-item label="琚祴杞欢" style="width: 49%"> + <el-input v-model="dataForm.project.softwareName" placeholder="琚祴杞欢"></el-input> + </el-form-item> + <el-form-item label="鐗堟湰" style="width: 49%"> + <el-input v-model="dataForm.project.softwareIdentity" placeholder="鐗堟湰"></el-input> + </el-form-item> + <div class="el-flexConfigDialog el-form-border"> + <div class="DFormWidth DAlign DHold"> + 纭蒋浠惰祫婧� + </div> + <div class="el-wt-border-left" style="padding-left:5px;width: calc(100% - 130px)"> + <div style="padding: 5px">杞欢璧勬簮锛�</div> + <div class="table-container"> + <el-table ref="tableSoftwareList" class="el-software el-margin-top-bot" border + :data="dataForm.softwareResourcesList" stripe> <el-table-column prop="no" align="center" width="80" label="搴忓彿"> <template slot-scope="scope"> @@ -48,20 +50,21 @@ <el-input v-model="row.purposes" placeholder="鐢ㄩ��"></el-input> </template> </el-table-column> - <el-table-column prop="unit" label="鎻愪緵鍗曚綅" width="180" align="center"> + <el-table-column prop="unit" label="鎻愪緵鍗曚綅" width="180" align="center"> <template v-slot="{ row }"> <el-input v-model="row.provideUnit" placeholder="鎻愪緵鍗曚綅"></el-input> </template> </el-table-column> </el-table> - <div class="icon-container" @click="addSoftwareRow()"> - <!-- 鏀剧疆鍥哄畾鐨勫浘鏍� --> - <i class="el-icon-plus"></i> - </div> + <div class="icon-container" @click="addSoftwareRow()"> + <!-- 鏀剧疆鍥哄畾鐨勫浘鏍� --> + <i class="el-icon-plus"></i> </div> - <div style="padding: 5px">纭欢璧勬簮锛�</div> - <div class="table-container"> - <el-table ref="tableHardwareList" class="el-software el-margin-top-bot" border :data="dataForm.hardwareResourcesList" + </div> + <div style="padding: 5px">纭欢璧勬簮锛�</div> + <div class="table-container"> + <el-table ref="tableHardwareList" class="el-software el-margin-top-bot" border + :data="dataForm.hardwareResourcesList" stripe> <el-table-column prop="no" align="center" width="80" label="搴忓彿"> <template slot-scope="scope"> @@ -94,36 +97,37 @@ </template> </el-table-column> </el-table> - <div class="icon-container" @click="addHardwareRow()"> - <!-- 鏀剧疆鍥哄畾鐨勫浘鏍� --> - <i class="el-icon-plus"></i> - </div> + <div class="icon-container" @click="addHardwareRow()"> + <!-- 鏀剧疆鍥哄畾鐨勫浘鏍� --> + <i class="el-icon-plus"></i> </div> </div> </div> - <div class="el-flexConfigDialog el-B-border"> - <div class="DFormWidth DAlign DHold"> - 鍔ㄦ�佹祴璇曠幆澧冨浘 - </div> - <div style="width: calc(100% - 120px);"> - <div class="el-wt-border-left"> - <span>{{dataForm.environ.testEnvirontDiagram}}</span> - <config-uploader busi-type="test_environt_diagram" model-name="dataForm" :dataForm="dataForm" - @getImageUrl="getImageUrl" - v-model="dataForm.files"/> - <div v-if="dataForm.url"> - <el-image :src="dataForm.url"></el-image> - </div> + </div> + <div class="el-flexConfigDialog el-B-border"> + <div class="DFormWidth DAlign DHold"> + 鍔ㄦ�佹祴璇曠幆澧冨浘 + </div> + <div style="width: calc(100% - 120px);"> + <div class="el-wt-border-left"> + <span>{{dataForm.environ.testEnvirontDiagram}}</span> + <config-uploader busi-type="test_environt_diagram" model-name="dataForm" :dataForm="dataForm" + @getImageUrl="getImageUrl" + v-model="dataForm.files"/> + <div v-if="dataForm.url"> + <el-image :src="dataForm.url"></el-image> </div> </div> </div> - <div class="el-flexConfigDialog el-B-border"> - <div class="DFormWidth DAlign DHold"> - 鐜宸紓鎬у垎鏋� - </div> - <div class="el-wt-border-left" style="padding-left:5px;width: calc(100% - 130px)"> - <div class="table-container"> - <el-table ref="tableEnvironeList" class="el-software el-margin-top-bot" border :data="dataForm.environAnalysisList" + </div> + <div class="el-flexConfigDialog el-B-border"> + <div class="DFormWidth DAlign DHold"> + 鐜宸紓鎬у垎鏋� + </div> + <div class="el-wt-border-left" style="padding-left:5px;width: calc(100% - 130px)"> + <div class="table-container"> + <el-table ref="tableEnvironeList" class="el-software el-margin-top-bot" border + :data="dataForm.environAnalysisList" stripe> <el-table-column prop="no" align="center" width="80" label="搴忓彿"> <template slot-scope="scope"> @@ -156,57 +160,57 @@ </template> </el-table-column> </el-table> - <div class="icon-container" @click="addDiscrepancyRow()"> - <!-- 鏀剧疆鍥哄畾鐨勫浘鏍� --> - <i class="el-icon-plus"></i> - </div> + <div class="icon-container" @click="addDiscrepancyRow()"> + <!-- 鏀剧疆鍥哄畾鐨勫浘鏍� --> + <i class="el-icon-plus"></i> </div> </div> </div> - <div class="el-flexConfigDialog el-B-border"> - <div class="DFormWidth DAlign DHold"> - 鐜寤虹珛 - </div> - <div style="width: calc(100% - 120px)" class="DConfirmForm el-wt-border-left"> - <el-form-item class="marginTopAndMarginBottom" label="浜哄憳" style="width: 49%"> - <el-input v-model="dataForm.environ.establishStaff" placeholder="浜哄憳"></el-input> - </el-form-item> - <el-form-item class="marginTopAndMarginBottom" label="鏃ユ湡" style="width: 48%"> - <el-date-picker - v-model="dataForm.environ.establishDate" - type="date" - placeholder="鏃ユ湡"> - </el-date-picker> - </el-form-item> - <el-form-item label-width="180px" class="isKill" label="鏄惁杩涜鐜鐥呮瘨鏌ユ潃" style="width: 49%"> - <zt-dict v-model="dataForm.environ.isVirusScan" dict="is_or_not" :radio="true"></zt-dict> - </el-form-item> - <el-form-item label="鐥呮瘨搴撶増鏈�" style="width: 48%"> - <el-input v-model="dataForm.environ.virusDatabaseVersion" placeholder="璇疯緭鍏ョ梾姣掑簱鐗堟湰"></el-input> - </el-form-item> - </div> + </div> + <div class="el-flexConfigDialog el-B-border"> + <div class="DFormWidth DAlign DHold"> + 鐜寤虹珛 </div> - <div class="el-flexConfigDialog"> - <div class="DFormWidth DAlign DHold"> - 鐜纭 - </div> - <div style="width: calc(100% - 120px)" class="DConfirmForm el-wt-border-left"> - <!-- 鍗曚綅鍚嶇О --> - <el-form-item class="marginTopAndMarginBottom" label="浜哄憳" style="width: 49%"> - <el-input v-model="dataForm.environ.confirmatStaff" placeholder="浜哄憳"></el-input> - </el-form-item> - <!-- 鑱旂郴浜� --> - <el-form-item class="marginTopAndMarginBottom" label="鏃ユ湡" style="width: 48%"> - <el-date-picker - v-model="dataForm.environ.confirmatDate" - type="date" - placeholder="鏃ユ湡"> - </el-date-picker> - </el-form-item> - </div> + <div style="width: calc(100% - 120px)" class="DConfirmForm el-wt-border-left"> + <el-form-item class="marginTopAndMarginBottom" label="浜哄憳" style="width: 49%"> + <el-input v-model="dataForm.environ.establishStaff" placeholder="浜哄憳"></el-input> + </el-form-item> + <el-form-item class="marginTopAndMarginBottom" label="鏃ユ湡" style="width: 48%"> + <el-date-picker + v-model="dataForm.environ.establishDate" + type="date" + placeholder="鏃ユ湡"> + </el-date-picker> + </el-form-item> + <el-form-item label-width="180px" class="isKill" label="鏄惁杩涜鐜鐥呮瘨鏌ユ潃" style="width: 49%"> + <zt-dict v-model="dataForm.environ.isVirusScan" dict="is_or_not" :radio="true"></zt-dict> + </el-form-item> + <el-form-item label="鐥呮瘨搴撶増鏈�" style="width: 48%"> + <el-input v-model="dataForm.environ.virusDatabaseVersion" placeholder="璇疯緭鍏ョ梾姣掑簱鐗堟湰"></el-input> + </el-form-item> </div> </div> - </el-form> + <div class="el-flexConfigDialog"> + <div class="DFormWidth DAlign DHold"> + 鐜纭 + </div> + <div style="width: calc(100% - 120px)" class="DConfirmForm el-wt-border-left"> + <!-- 鍗曚綅鍚嶇О --> + <el-form-item class="marginTopAndMarginBottom" label="浜哄憳" style="width: 49%"> + <el-input v-model="dataForm.environ.confirmatStaff" placeholder="浜哄憳"></el-input> + </el-form-item> + <!-- 鑱旂郴浜� --> + <el-form-item class="marginTopAndMarginBottom" label="鏃ユ湡" style="width: 48%"> + <el-date-picker + v-model="dataForm.environ.confirmatDate" + type="date" + placeholder="鏃ユ湡"> + </el-date-picker> + </el-form-item> + </div> + </div> + </div> + </el-form> </zt-dialog> </template> @@ -216,13 +220,13 @@ return { dataForm: { id: '', - url:'', - environ:{ + url: '', + environ: { code: '1', hardSoftwareRes: '', testEnvirontDiagram: '', - establishStaff:'', - establishDate:'', + establishStaff: '', + establishDate: '', environAnalysis: '', environEstablish: '', environConfirmat: '', @@ -236,22 +240,23 @@ softwareName: '', }, testAgencyInfo: { - agencyName:'', - site:'', + agencyName: '', + site: '', }, - softwareResourcesList:[], - hardwareResourcesList:[], - environAnalysisList:[] + softwareResourcesList: [], + hardwareResourcesList: [], + environAnalysisList: [] } } }, methods: { - init(id,row){ + init(id, row) { this.dataForm.id = row.id this.dataForm.projectId = row.projectId // this.dataForm.disabled this.getInfo() - console.log(this.dataForm.id,this.dataForm.projectId,'params params') + this.getImageUrl() + console.log(this.dataForm.id, this.dataForm.projectId, 'params params') }, // 鑾峰彇淇℃伅 async getInfo() { @@ -259,40 +264,58 @@ environId: this.dataForm.id, projectId: this.dataForm.projectId } - let res = await this.$http.get(`/project/Environ/getDto`,{params: params}) + let res = await this.$http.get(`/project/Environ/getDto`, {params: params}) this.dataForm = { ...this.dataForm, ...res.data } - console.log(this.dataForm,'this.dataForm') + console.log(this.dataForm, 'this.dataForm') }, - indexFormat(index){ + indexFormat(index) { return index += 1 }, - addSoftwareRow(){ + addSoftwareRow() { this.dataForm.softwareResourcesList.push({}) - this.$nextTick(()=>{ - const tableBody=this.$refs.tableSoftwareList.$el.querySelector('.el-table__body-wrapper') + this.$nextTick(() => { + const tableBody = this.$refs.tableSoftwareList.$el.querySelector('.el-table__body-wrapper') tableBody.scrollTop = tableBody.scrollHeight }) }, - addHardwareRow(){ + addHardwareRow() { this.dataForm.hardwareResourcesList.push({}) - this.$nextTick(()=>{ - const tableBody=this.$refs.tableHardwareList.$el.querySelector('.el-table__body-wrapper') + this.$nextTick(() => { + const tableBody = this.$refs.tableHardwareList.$el.querySelector('.el-table__body-wrapper') tableBody.scrollTop = tableBody.scrollHeight; }) }, - addDiscrepancyRow(){ + addDiscrepancyRow() { this.dataForm.environAnalysisList.push({}) - this.$nextTick(()=>{ - const tableBody=this.$refs.tableEnvironeList.$el.querySelector('.el-table__body-wrapper') + this.$nextTick(() => { + const tableBody = this.$refs.tableEnvironeList.$el.querySelector('.el-table__body-wrapper') tableBody.scrollTop = tableBody.scrollHeight; }) }, - getImageUrl(url){ - this.dataForm.url = url - console.log(this.dataForm.url,' this.dataForm.url') + getImageUrl() { + let pictureId = this.getFirstImageId(this.dataForm.files, 'test_environt_diagram') + this.dataForm.url = `${window.SITE_CONFIG['apiURL']}/sys/oss/content2?fileId=${pictureId}` + console.log(this.dataForm.url, ' this.dataForm.url') + }, + getFirstImageId(oss) { + console.log(oss, ' getFirstImageId(oss)') + let fileId = 0 + if (oss != null) { + if (oss.groups.length > 0) { + let group = oss.groups[0] + if (group.fields.length > 0) { + let field = group.fields[0] + if (field.files.length > 0) { + let file = field.files[0] + fileId = file.id + } + } + } + } + return fileId }, // 琛ㄥ崟鎻愪氦 async formSubmit() { @@ -307,72 +330,84 @@ } </script> <style> -.confirmFormAuto { - width: 70%; - margin: 0 auto; -} -.confirmDAuto{ - border: 1px solid rgba(0,0,0,.2); -} + .confirmFormAuto { + width: 70%; + margin: 0 auto; + } -.el-flexConfigDialog { - display: flex; - align-items: center; -} + .confirmDAuto { + border: 1px solid rgba(0, 0, 0, .2); + } -.DFormWidth { - width: 120px; -} -.DConfirmForm { - /*border-left: 1px solid;*/ - width: 100%; -} + .el-flexConfigDialog { + display: flex; + align-items: center; + } -.DConfirmForm > .el-form-item > .el-form-item__content { - width: calc(100% - 130px); -} -.DConfirmForm > .el-form-item.isKill > .el-form-item__content { - width: calc(100% - 180px); -} -.el-form-border{ - border-top: 1px solid rgba(0,0,0,.2); - border-bottom: 1px solid rgba(0,0,0,.2); -} -.el-B-border{ - border-bottom: 1px solid rgba(0,0,0,.2); -} -.el-margin-top-bot{ - margin-top:5px; - margin-bottom:5px; -} -.el-wt-border-left{ - border-left:1px solid rgba(0,0,0,.2); -} -.zt .el-table.el-software th { - background: transparent; -} + .DFormWidth { + width: 120px; + } -.zt .el-table.el-software th > .cell { - font-weight: 500; -} -.DHold{ - font-weight: 600; -} -.zt .el-table.el-software{ - font-size: 14px; -} -.confirmFormAuto .marginTopAndMarginBottom { - margin-top: 10px !important; - margin-bottom: 0 !important; -} + .DConfirmForm { + /*border-left: 1px solid;*/ + width: 100%; + } -.confirmFormAuto .marginTopAndMarginBottom2 { - margin-top: -10px !important; - margin-bottom: 10px !important; -} -.confirmFormAuto .marginTopAndMarginBottom3 { - margin-top: 0 !important; - margin-bottom: 10px !important; -} + .DConfirmForm > .el-form-item > .el-form-item__content { + width: calc(100% - 130px); + } + + .DConfirmForm > .el-form-item.isKill > .el-form-item__content { + width: calc(100% - 180px); + } + + .el-form-border { + border-top: 1px solid rgba(0, 0, 0, .2); + border-bottom: 1px solid rgba(0, 0, 0, .2); + } + + .el-B-border { + border-bottom: 1px solid rgba(0, 0, 0, .2); + } + + .el-margin-top-bot { + margin-top: 5px; + margin-bottom: 5px; + } + + .el-wt-border-left { + border-left: 1px solid rgba(0, 0, 0, .2); + } + + .zt .el-table.el-software th { + background: transparent; + } + + .zt .el-table.el-software th > .cell { + font-weight: 500; + } + + .DHold { + font-weight: 600; + } + + .zt .el-table.el-software { + font-size: 14px; + } + + .confirmFormAuto .marginTopAndMarginBottom { + margin-top: 10px !important; + margin-bottom: 0 !important; + } + + .confirmFormAuto .marginTopAndMarginBottom2 { + margin-top: -10px !important; + margin-bottom: 10px !important; + } + + .confirmFormAuto .marginTopAndMarginBottom3 { + margin-top: 0 !important; + margin-bottom: 10px !important; + } </style> -- Gitblit v1.9.1