From a6ef2214668b572ef59241b80be8183d14edf020 Mon Sep 17 00:00:00 2001
From: wente <329538422@qq.com>
Date: 星期一, 20 十一月 2023 16:35:24 +0800
Subject: [PATCH] 项目表
---
web/src/views/modules/project/Environ-AddOrUpdate.vue | 404 ++++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 352 insertions(+), 52 deletions(-)
diff --git a/web/src/views/modules/project/Environ-AddOrUpdate.vue b/web/src/views/modules/project/Environ-AddOrUpdate.vue
index 367bcd1..9a7ed47 100644
--- a/web/src/views/modules/project/Environ-AddOrUpdate.vue
+++ b/web/src/views/modules/project/Environ-AddOrUpdate.vue
@@ -1,43 +1,204 @@
<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.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 class="el-software el-margin-top-bot" height="150" border :data="dataForm.softwareResourcesList"
+ stripe>
+ <el-table-column prop="no" 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="purposes" align="center" width="180" label="鐢ㄩ��">
+ <template v-slot="{ row }">
+ <el-input v-model="row.purposes" 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="no" align="center" width="80" label="搴忓彿"></el-table-column>
+ <el-table-column prop="itemName" 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="purposes" align="center" width="180" label="鐢ㄩ��">
+ <template v-slot="{ row }">
+ <el-input v-model="row.purposes" placeholder="鐢ㄩ��"></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column prop="number" align="center" width="80" label="鏁伴噺">
+ <template v-slot="{ row }">
+ <el-input v-model="row.number" placeholder="鏁伴噺"></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column prop="state" align="center" width="120" label="鐘舵��">
+ <template v-slot="{ row }">
+ <el-input v-model="row.state" placeholder="鐘舵��"></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column prop="provideUnit" align="center" width="180" label="鎻愪緵鍗曚綅">
+ <template v-slot="{ row }">
+ <el-input v-model="row.provideUnit" placeholder="鎻愪緵鍗曚綅"></el-input>
+ </template>
+ </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 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="image.url">
+ <el-image :src="image.url"></el-image>
+ </div>
+ </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="no" align="center" width="80" label="搴忓彿"></el-table-column>
+ <el-table-column prop="realEnviron" min-width="300" label="鐪熷疄鐜">
+ <template v-slot="{ row }">
+ <el-input v-model="row.realEnviron" placeholder="鐪熷疄鐜"></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column prop="testEnviron" align="center" width="100" label="娴嬭瘯鐜">
+ <template v-slot="{ row }">
+ <el-input v-model="row.testEnviron" placeholder="娴嬭瘯鐜"></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column prop="environDifference" align="center" width="100" label="鐜宸紓">
+ <template v-slot="{ row }">
+ <el-input v-model="row.environDifference" placeholder="鐜宸紓"></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column prop="resultImpact" align="center" width="160" label="瀵规祴璇曠粨鏋滃奖鍝�">
+ <template v-slot="{ row }">
+ <el-input v-model="row.resultImpact" placeholder="瀵规祴璇曠粨鏋滃奖鍝�"></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column prop="measure" align="center" width="180" label="鎺柦">
+ <template v-slot="{ row }">
+ <el-input v-model="row.measure" placeholder="鎺柦"></el-input>
+ </template>
+ </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.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">
+ <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>
@@ -45,31 +206,77 @@
export default {
data() {
return {
+ image: {
+ url:'',
+ width:'',
+ height:1,
+ },
dataForm: {
id: '',
- code: '',
- hardSoftwareRes: '',
- testEnvirontDiagram: '',
- environAnalysis: '',
- environEstablish: '',
- establishStaff: '',
- establishDate: '',
- environConfirmat: '',
- confirmatStaff: '',
- confirmatDate: '',
- isVirusScan: '',
- virusDatabaseVersion: ''
+ environ:{
+ code: '1',
+ hardSoftwareRes: '',
+ testEnvirontDiagram: '',
+ establishStaff:'',
+ establishDate:'',
+ environAnalysis: '',
+ environEstablish: '',
+ environConfirmat: '',
+ confirmatStaff: '',
+ confirmatDate: '',
+ isVirusScan: '',
+ virusDatabaseVersion: '',
+ },
+ project: {
+ softwareIdentity: '',
+ softwareName: '',
+ },
+ testAgencyInfo: {
+ agencyName:'',
+ site:'',
+ },
+ softwareResourcesList:[],
+ hardwareResourcesList:[],
+ environAnalysisList:[]
}
}
},
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 = {
+ 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
}
+ console.log(this.dataForm,'this.dataForm')
+ },
+ indexFormat(index){
+ return index += 1
+ },
+ addSoftwareRow(){
+ this.dataForm.softwareResourcesList.push({})
+ },
+ addHardwareRow(){
+ this.dataForm.hardwareResourcesList.push({})
+ },
+ addDiscrepancyRow(){
+ this.dataForm.environAnalysisList.push({})
+ },
+ getImageUrl(url){
+ this.image.url = url
+ console.log(this.image.url,' this.image.url')
},
// 琛ㄥ崟鎻愪氦
async formSubmit() {
@@ -83,3 +290,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