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/project/Environ-AddOrUpdate.vue | 485 +++++++++++++++++++++++++++++------------------------
1 files changed, 261 insertions(+), 224 deletions(-)
diff --git a/web/src/views/modules/project/Environ-AddOrUpdate.vue b/web/src/views/modules/project/Environ-AddOrUpdate.vue
index 5ce1f80..354e6d0 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.version" 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 v-if="!dataForm.disabled" 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 v-if="!dataForm.disabled" 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 :lineHeight="true" busi-type="test_environ_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,73 +160,86 @@
</template>
</el-table-column>
</el-table>
- <div class="icon-container" @click="addDiscrepancyRow()">
- <!-- 鏀剧疆鍥哄畾鐨勫浘鏍� -->
- <i class="el-icon-plus"></i>
- </div>
+ <div v-if="!dataForm.disabled" 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>
+ <div class="el-flex environ-sc" style="height: 60px">
+ <el-form-item class="marginTopAndMarginBottom" style="width: 100%">
+ <config-uploader :lineHeight="true" :busiTypeVarName="busiTypeVarName" busi-type="test_environ" model-name="dataForm" :dataForm="dataForm"
+ v-model="dataForm.files2"/>
+ </el-form-item>
+ </div>
+ </el-form>
+ <template v-slot:footer>
+ <el-button v-if="dataForm.disabled" type="primary" @click="print()">鎵撳嵃</el-button>
+ </template>
</zt-dialog>
</template>
<script>
+ import qs from "qs";
+ import Cookies from "js-cookie";
+
export default {
data() {
return {
+ busiTypeVarName: 'files2',
dataForm: {
id: '',
- url:'',
- environ:{
+ url: '',
+ environ: {
code: '1',
hardSoftwareRes: '',
testEnvirontDiagram: '',
- establishStaff:'',
- establishDate:'',
+ establishStaff: '',
+ establishDate: '',
environAnalysis: '',
environEstablish: '',
environConfirmat: '',
@@ -232,26 +249,27 @@
virusDatabaseVersion: '',
},
project: {
- softwareIdentity: '',
+ version: '',
softwareName: '',
},
testAgencyInfo: {
- agencyName:'',
- site:'',
+ agencyName: '',
+ site: '',
},
- softwareResourcesList:[],
- hardwareResourcesList:[],
- environAnalysisList:[]
+ softwareResourcesList: [],
+ hardwareResourcesList: [],
+ environAnalysisList: []
}
}
},
methods: {
- init(id,row){
+ init(id, row) {
+ console.log(row, 'row')
this.dataForm.id = row.id
this.dataForm.projectId = row.projectId
- // this.dataForm.disabled
+ this.dataForm.disabled
this.getInfo()
- console.log(this.dataForm.id,this.dataForm.projectId,'params params')
+ console.log(this.dataForm.id, this.dataForm.projectId, 'params params')
},
// 鑾峰彇淇℃伅
async getInfo() {
@@ -259,40 +277,70 @@
environId: this.dataForm.id,
projectId: this.dataForm.projectId
}
- let res = await this.$http.get(`/project/Environ/getDto`,{params: params})
- this.dataForm = {
- ...this.dataForm,
- ...res.data
+ let res = await this.$http.get(`/project/Environ/getDto`, {params: params})
+ if (res.data) {
+ this.dataForm = {
+ ...this.dataForm,
+ ...res.data
+ }
+ this.dataForm.project.version='1.0.0'
+ this.getImageUrl()
}
- 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.image.url = url
- console.log(this.image.url,' this.image.url')
+ getImageUrl() {
+ let pictureId = this.getFirstImageId(this.dataForm.files)
+ 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 print() {
+ console.log(this.dataForm)
+ let params = qs.stringify({
+ token: Cookies.get('token'),
+ id: this.dataForm.id
+ })
+ let apiURL = `/project/Environ/exportEnviron/`
+ window.location.href = `${window.SITE_CONFIG['apiURL']}${apiURL}?${params}`
},
// 琛ㄥ崟鎻愪氦
async formSubmit() {
@@ -307,98 +355,87 @@
}
</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;
-}
-.table-container {
- position: relative;
-}
-.table-container:hover .icon-container {
- opacity: 1; /* 榧犳爣鎮仠鏃舵樉绀哄浘鏍� */
-}
-.icon-container {
- z-index: 1;
- position: absolute;
- bottom: -20px;
- left: 50%;
- width: 40px;
- height: 30px;
- text-align: center;
- line-height: 30px;
- transform: translate3d(-50%, 0, -20px);
- border: 1px solid #EBEEF5;
- background-color: #fafafa;
- box-shadow: 0 3px 6px 0 rgba(72, 119, 232, 0.14);
- border-radius: 2px;
- transition: transform 0.3s ease,box-shadow 0.3s ease,opacity 0.3s ease;
- opacity: 0;
-}
-.icon-container:hover{
- transform: translate3d(-50%, 0, 0);
- box-shadow: 0 10px 10px 0 rgba(72, 119, 232, 0.34)
-}
+ .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;
+ }
+ .environ-sc > .el-form-item > .el-form-item__content {
+ width:100%;
+ }
+
</style>
--
Gitblit v1.9.1