From 2c89ccdc9e008060f8cd6608c9fcb014616987a3 Mon Sep 17 00:00:00 2001 From: zzw <wander.zheng@qq.com> Date: 星期一, 20 十一月 2023 10:27:45 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- web/src/views/modules/project/Environ-AddOrUpdate.vue | 322 ++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 279 insertions(+), 43 deletions(-) diff --git a/web/src/views/modules/project/Environ-AddOrUpdate.vue b/web/src/views/modules/project/Environ-AddOrUpdate.vue index 367bcd1..0d3e81c 100644 --- a/web/src/views/modules/project/Environ-AddOrUpdate.vue +++ b/web/src/views/modules/project/Environ-AddOrUpdate.vue @@ -1,43 +1,158 @@ <template> - <zt-dialog ref="dialog" column="2" @confirm="formSubmit"> - <el-form :model="dataForm" ref="dataForm" :disabled="dataForm.disabled" label-width="120px"> - <zt-form-item label="缂栧彿" prop="code" rules="required"> - <el-input v-model="dataForm.code"></el-input> - </zt-form-item> - <zt-form-item label="纭蒋浠惰祫婧�" prop="hardSoftwareRes" rules="required"> - <el-input v-model="dataForm.hardSoftwareRes"></el-input> - </zt-form-item> - <zt-form-item label="鍔ㄦ�佹祴璇曠幆澧冨浘" prop="testEnvirontDiagram" rules="required"> - <el-input v-model="dataForm.testEnvirontDiagram"></el-input> - </zt-form-item> - <zt-form-item label="鐜宸紓鎬у垎鏋�" prop="environAnalysis" rules="required"> - <el-input v-model="dataForm.environAnalysis"></el-input> - </zt-form-item> - <zt-form-item label="鐜寤虹珛" prop="environEstablish" rules="required"> - <el-input v-model="dataForm.environEstablish"></el-input> - </zt-form-item> - <zt-form-item label="鐜寤虹珛浜哄憳" prop="establishStaff" rules="required"> - <el-input v-model="dataForm.establishStaff"></el-input> - </zt-form-item> - <zt-form-item label="鐜寤虹珛鏃ユ湡" prop="establishDate" rules="required"> - <el-input v-model="dataForm.establishDate"></el-input> - </zt-form-item> - <zt-form-item label="鐜纭" prop="environConfirmat" rules="required"> - <el-input v-model="dataForm.environConfirmat"></el-input> - </zt-form-item> - <zt-form-item label="鐜纭浜哄憳" prop="confirmatStaff" rules="required"> - <el-input v-model="dataForm.confirmatStaff"></el-input> - </zt-form-item> - <zt-form-item label="鐜纭鏃ユ湡" prop="confirmatDate" rules="required"> - <el-input v-model="dataForm.confirmatDate"></el-input> - </zt-form-item> - <zt-form-item label="鏄惁杩涜鐜鐥呮瘨鏌ユ潃" prop="isVirusScan" rules="required"> - <el-input v-model="dataForm.isVirusScan"></el-input> - </zt-form-item> - <zt-form-item label="鐥呮瘨搴撶増鏈�" prop="virusDatabaseVersion" rules="required"> - <el-input v-model="dataForm.virusDatabaseVersion"></el-input> - </zt-form-item> - </el-form> + <zt-dialog ref="dialog" column="2" @confirm="formSubmit" append-to-body title="娴嬭瘯鐜寤虹珛纭琛�"> + <el-form :model="dataForm" style="padding: 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.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.agencyName" placeholder="涓撲笟瀹為獙瀹ゅ悕绉�"></el-input> + </el-form-item> + <el-form-item class="marginTopAndMarginBottom" label="娴嬭瘯鍦扮偣" style="width: 49%"> + <el-input v-model="dataForm.site" placeholder="娴嬭瘯鍦扮偣"></el-input> + </el-form-item> + <el-form-item label="琚祴杞欢" style="width: 49%"> + <el-input v-model="dataForm.softwareName" placeholder="琚祴杞欢"></el-input> + </el-form-item> + <el-form-item label="鐗堟湰" style="width: 49%"> + <el-input v-model="dataForm.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 class="el-software el-margin-top-bot" height="150" border :data="dataForm.softwareResourcesList" + stripe> + <el-table-column prop="code" align="center" width="80" label="搴忓彿"> + <template slot-scope="scope"> + <span v-html="indexFormat(scope.$index)"></span> + </template> + </el-table-column> + <el-table-column prop="name" min-width="300" label="杞欢椤瑰悕绉�"> + <template v-slot="{ row }"> + <el-input v-model="row.itemName" placeholder="杞欢椤瑰悕绉�/鐗堟湰"></el-input> + </template> + </el-table-column> + <el-table-column prop="versions" align="center" width="180" label="鐗堟湰"> + <template v-slot="{ row }"> + <el-input v-model="row.version" placeholder="鐗堟湰"></el-input> + </template> + </el-table-column> + <el-table-column prop="use" align="center" width="180" label="鐢ㄩ��"> + <template v-slot="{ row }"> + <el-input v-model="row.usage" placeholder="鐢ㄩ��"></el-input> + </template> + </el-table-column> + <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> + <div style="padding: 5px">纭欢璧勬簮锛�</div> + <div class="table-container"> + <el-table class="el-software el-margin-top-bot" height="150" border :data="dataForm.hardwareResourcesList" + stripe> + <el-table-column prop="code" align="center" width="80" label="搴忓彿"></el-table-column> + <el-table-column prop="itemName" min-width="300" label="纭欢鍜屽浐浠堕」鐩悕绉�"></el-table-column> + <el-table-column prop="usage" align="center" width="180" label="鐢ㄩ��"></el-table-column> + <el-table-column prop="number" align="center" width="80" label="鏁伴噺"></el-table-column> + <el-table-column prop="state" align="center" width="120" label="鐘舵��"></el-table-column> + <el-table-column prop="provideUnit" align="center" width="180" label="鎻愪緵鍗曚綅"></el-table-column> + </el-table> + <div class="icon-container" @click="addHardwareRow()"> + <!-- 鏀剧疆鍥哄畾鐨勫浘鏍� --> + <i class="el-icon-plus"></i> + </div> + </div> + </div> + </div> + <div class="el-flexConfigDialog el-B-border"> + <div class="DFormWidth DAlign DHold"> + 鍔ㄦ�佹祴璇曠幆澧冨浘 + </div> + <div style="width: calc(100% - 120px);"> + <div style="height:150px" class="el-wt-border-left"> + <span>{{dataForm.testEnvirontDiagram}}</span> + </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 class="el-software el-margin-top-bot" height="150" border :data="dataForm.environAnalysisList" + stripe> + <el-table-column prop="code" align="center" width="80" label="搴忓彿"></el-table-column> + <el-table-column prop="realEnviron" min-width="300" label="鐪熷疄鐜"></el-table-column> + <el-table-column prop="testEnviron" align="center" width="100" label="娴嬭瘯鐜"></el-table-column> + <el-table-column prop="environDifference" align="center" width="100" label="鐜宸紓"></el-table-column> + <el-table-column prop="resultImpact" align="center" width="160" label="瀵规祴璇曠粨鏋滃奖鍝�"></el-table-column> + <el-table-column prop="measure" align="center" width="180" label="鎺柦"></el-table-column> + </el-table> + <div class="icon-container" @click="addDiscrepancyRow()"> + <!-- 鏀剧疆鍥哄畾鐨勫浘鏍� --> + <i class="el-icon-plus"></i> + </div> + </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.establishStaff" placeholder="浜哄憳"></el-input> + </el-form-item> + <el-form-item class="marginTopAndMarginBottom" label="鏃ユ湡" style="width: 48%"> + <el-date-picker + v-model="dataForm.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.isVirusScan" dict="is_or_not" :radio="true"></zt-dict> + </el-form-item> + <el-form-item label="鐥呮瘨搴撶増鏈�" style="width: 48%"> + <el-input v-model="dataForm.virusDatabaseVersion" placeholder="璇疯緭鍏ョ梾姣掑簱鐗堟湰"></el-input> + </el-form-item> + </div> + </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.confirmatStaff" placeholder="浜哄憳"></el-input> + </el-form-item> + <!-- 鑱旂郴浜� --> + <el-form-item class="marginTopAndMarginBottom" label="鏃ユ湡" style="width: 48%"> + <el-date-picker + v-model="dataForm.confirmatDate" + type="date" + placeholder="鏃ユ湡"> + </el-date-picker> + </el-form-item> + </div> + </div> + </div> + </el-form> </zt-dialog> </template> @@ -48,29 +163,57 @@ dataForm: { id: '', code: '', + agencyName:'', + site:'', + softwareName:'', + softwareIdentity:'', hardSoftwareRes: '', testEnvirontDiagram: '', + softwareResourcesList:[], + hardwareResourcesList:[], + environAnalysisList:[], + establishStaff:'', + establishDate:'', environAnalysis: '', environEstablish: '', - establishStaff: '', - establishDate: '', environConfirmat: '', confirmatStaff: '', confirmatDate: '', isVirusScan: '', - virusDatabaseVersion: '' + virusDatabaseVersion: '', + softwareData:[] } } }, methods: { + 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') + }, // 鑾峰彇淇℃伅 async getInfo() { - let res = await this.$http.get(`/project/Environ/${this.dataForm.id}`) + let params = { + orderId: this.dataForm.id, + projectId: this.dataForm.projectId + } + let res = await this.$http.get(`/project/Environ/getDto`,{params: params}) this.dataForm = { ...this.dataForm, ...res.data } + console.log(this.dataForm,'this.dataForm') }, + indexFormat(index){ + return index += 1 + }, + addSoftwareRow(){ + this.dataForm.softwareData.push({}) + }, + addHardwareRow(){}, + addDiscrepancyRow(){}, // 琛ㄥ崟鎻愪氦 async formSubmit() { let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/project/Environ/', this.dataForm) @@ -83,3 +226,96 @@ } } </script> +<style> +.confirmFormAuto { + width: 70%; + margin: 0 auto; +} +.confirmDAuto{ + border: 1px solid rgba(0,0,0,.2); +} + +.el-flexConfigDialog { + display: flex; + align-items: center; +} + +.DFormWidth { + width: 120px; +} + +.DAlign { + text-align: center; +} + +.DConfirmForm { + /*border-left: 1px solid;*/ + width: 100%; +} + +.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; +} +.table-container { + position: relative; +} + +.icon-container { + z-index: 1; + position: absolute; + bottom: -20px; + left: 50%; + width: 40px; + height: 30px; + text-align: center; + line-height: 30px; + transform: translateX(-50%); + border: 1px solid #EBEEF5; + background-color: #fafafa; + box-shadow: 0 3px 6px 0 rgba(72, 119, 232, 0.14); + border-radius: 2px; +} +</style> -- Gitblit v1.9.1