From 35d048aa5c0eecd6a737c04278779b0720b0e3db Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期一, 04 十二月 2023 11:18:12 +0800
Subject: [PATCH] 6
---
web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue | 341 +++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 234 insertions(+), 107 deletions(-)
diff --git a/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue b/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue
index 94dea83..7b4f338 100644
--- a/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue
+++ b/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue
@@ -1,146 +1,189 @@
<template>
- <zt-dialog ref="dialog" column="2" @confirm="formSubmit">
- <el-form ref="dataForm" style="padding-top: 0" :inline="true" :model="dataForm" label-width="120px" class="ManageFormAuto">
- <div class="DManageForm">
- <el-form-item label-width="60px" label="缂栧彿:" style="width:100%;margin-bottom: 0">
- <span>{{dataForm.code}}</span>
+ <zt-dialog ref="dialog" column="3" :title="title" :stepMarker="stepMarker" @confirm="formSubmit" >
+ <el-form ref="dataForm" style="padding-top: 0" :inline="true" :disabled="dataForm.disabled" :model="dataForm" label-width="120px" class="warehouseFormAuto">
+ <div >
+ <el-form-item label-width="60px" label="缂栧彿:" style="width:100%;margin-bottom: -5px">
+ <span>{{dataForm.configItemWarehouse.code || '缂栧彿鑷姩鐢熸垚'}}</span>
</el-form-item>
</div>
- <div class="confirmDAuto DManageForm">
- <el-form-item label="椤圭洰缂栧彿" style="width: 49%">
- <el-input v-model="dataForm.itemNumber" placeholder="璇疯緭鍏ラ」鐩紪鍙�"></el-input>
+ <div style="border: 1px solid rgba(0,0,0,.2);width: 99%">
+ <div style="border-bottom: 1px solid rgba(0,0,0,.2);" class="warehouseContentWidth">
+ <el-form-item class="marginTopAndMarginBottom" label="椤圭洰缂栧彿" style="width: 49%">
+ <el-input v-model="dataForm.project.code" placeholder="璇疯緭鍏ラ」鐩紪鍙�"></el-input>
</el-form-item>
- <el-form-item label="椤圭洰鍚嶇О" style="width: 49%">
- <el-input v-model="dataForm.name" placeholder="璇疯緭鍏ョ紪鍙峰悕绉�"></el-input>
+ <el-form-item class="marginTopAndMarginBottom" 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.applicant" placeholder="璇疯緭鍏ョ紪鍙峰悕绉�"></el-input>
+ <el-input v-model="dataForm.configItemWarehouse.applicant" placeholder="璇疯緭鍏ョ敵璇蜂汉"></el-input>
</el-form-item>
<el-form-item label="鐢宠鏃ユ湡" style="width: 49%">
- <el-input v-model="dataForm.date" placeholder="璇疯緭鍏ョ紪鍙峰悕绉�"></el-input>
+ <el-date-picker
+ v-model="dataForm.configItemWarehouse.applyDate"
+ type="date"
+ placeholder="璇烽�夋嫨鐢宠鏃ユ湡">
+ </el-date-picker>
</el-form-item>
- <el-form-item label="搴撶被鍨�" style="width: 99%">
- <el-radio-group v-model="dataForm.type">
- <el-radio :label="0">鍙楁帶搴�</el-radio>
- <el-radio :label="1">浜у搧搴�</el-radio>
- </el-radio-group>
+ <el-form-item class="marginTopAndMarginBottom2" label="搴撶被鍨�" style="width: 99%">
+ <zt-dict v-model="dataForm.configItemWarehouse.libraryType" :radio="true" dict="library_type"></zt-dict>
</el-form-item>
- <div class="el-flexManageDialog el-form-border">
+ </div>
+ <div class="el-flexManageDialog el-border-bottom">
<div class="DFormWidth DAlign DHold">
鍏ュ簱閰嶇疆椤�
</div>
- <div class="el-wt-border-left" style="padding-left:5px;width: calc(100% - 130px)">
- <el-table class="el-software el-margin-top-bot" height="150" border :data="dataForm.storageData"
+ <div class="el-border-left" style="width: calc(100% - 120px)">
+ <div class="table-container">
+ <el-table ref="tableConfigItemList" class="el-software el-margin-top-bot" style="width: 99%;margin-left: 5px" border :data="dataForm.configItemList"
stripe>
- <el-table-column prop="code" align="center" width="60" label="搴忓彿"></el-table-column>
- <el-table-column prop="name" min-width="200" label="閰嶇疆椤瑰悕绉�"></el-table-column>
- <el-table-column prop="identification" align="center" width="220" label="閰嶇疆椤规爣璇�"></el-table-column>
- <el-table-column prop="versions" align="center" width="120" label="鐗堟湰"></el-table-column>
- <el-table-column prop="rollBackVersions" label="涓婃函鐗�" width="120" align="center"></el-table-column>
- <el-table-column prop="secretClass" label="瀵嗙骇" width="80" align="center"></el-table-column>
+ <el-table-column prop="no" align="center" width="60" label="搴忓彿">
+ <template slot-scope="scope">
+ <span v-html="indexFormat(scope.$index)"></span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="itemName" min-width="200" label="閰嶇疆椤瑰悕绉�">
+ <template v-slot="{ row }">
+ <el-input v-model="row.itemName" placeholder="閰嶇疆椤瑰悕绉�"></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column prop="itemDentify" align="center" width="220" label="閰嶇疆椤规爣璇�">
+ <template v-slot="{ row }">
+ <el-input v-model="row.itemIdentify" placeholder="閰嶇疆椤规爣璇�"></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column prop="version" align="center" width="120" label="鐗堟湰">
+ <template v-slot="{ row }">
+ <el-input v-model="row.version" placeholder="鐗堟湰"></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column prop="retrospectVersion" label="涓婃函鐗�" width="120" align="center">
+ <template v-slot="{ row }">
+ <el-input v-model="row.retrospectVersion" placeholder="涓婃函鐗�"></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column prop="secretClass" label="瀵嗙骇" width="80" align="center">
+ <template v-slot="{ row }">
+ <zt-dict v-model="row.secretClass" placeholder="瀵嗙骇" dict="secret_class"
+ clearable></zt-dict>
+ </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="config_item_warehouse" model-name="row" :dataForm="row"
+ v-model="row.files"/>
+ </template>
+ </el-table-column>
</el-table>
+ <div class="icon-container" @click="addConfigItemWarehouseRow()">
+ <!-- 鏀剧疆鍥哄畾鐨勫浘鏍� -->
+ <i class="el-icon-plus"></i>
+ </div>
+ </div>
</div>
</div>
- <div class="el-flexManageDialog el-B-border">
+ <div class="el-flexManageDialog el-border-bottom">
<div class="DFormWidth DAlign DHold">
椤圭洰QA瀹℃牳
</div>
- <div class="el-wt-border-left" style="padding-left:5px;width: calc(100% - 130px)">
- <el-table class="el-software el-margin-top-bot" height="150" border :data="dataForm.examineData"
+ <div class="el-border-left" style="width: calc(100% - 120px)">
+ <el-table class="el-software el-margin-top-bot" style="width: 99%;margin-left: 5px" border :data="dataForm.qaAuditList"
stripe>
- <el-table-column prop="code" align="center" width="80" label="搴忓彿"></el-table-column>
- <el-table-column prop="checkItem" min-width="300" label="妫�鏌ラ」"></el-table-column>
+ <el-table-column prop="no" align="center" width="80" label="搴忓彿"></el-table-column>
+ <el-table-column prop="examineItem" min-width="300" label="妫�鏌ラ」"></el-table-column>
<el-table-column label="妫�鏌ョ粨鏋�" width="250" align="center">
<template slot-scope="scope">
- <el-radio-group v-model="scope.row.result">
- <el-radio :label="0">鏄�</el-radio>
- <el-radio :label="1">鍚�</el-radio>
- <el-radio :label="2">涓嶉�傜敤</el-radio>
- </el-radio-group>
+ <zt-dict :disabled="getRoleName.indexOf('QA瑙掕壊')===-1" v-model="scope.row.examineResult" placeholder="妫�鏌ョ粨鏋�" dict="tristate2" :radio="true"
+ clearable></zt-dict>
</template>
</el-table-column>
- <el-table-column prop="remark" align="center" width="100" label="涓嶉�傜敤璇存槑"></el-table-column>
+ <el-table-column align="center" width="120" label="涓嶉�傜敤璇存槑">
+ <template v-slot="{ row }">
+ <el-input v-if="getRoleName.indexOf('QA瑙掕壊')>=0" v-model="row.notApplyExplan" placeholder="涓嶉�傜敤璇存槑"></el-input>
+ <span v-else>{{row.notApplyExplan}}</span>
+ </template>
+ </el-table-column>
</el-table>
+ <div class="el-border-top">
<el-form-item label="瀹℃牳缁撴灉" style="width: 99%">
- <el-radio-group v-model="dataForm.result">
- <el-radio :label="0">閫氳繃</el-radio>
- <el-radio :label="1">涓嶉�氳繃</el-radio>
- </el-radio-group>
+ <zt-dict :disabled="getRoleName.indexOf('QA瑙掕壊')===-1" v-model="dataForm.configItemWarehouse.qaAuditResults" dict="is_pass" :radio="true"
+ clearable></zt-dict>
</el-form-item>
<el-form-item label="瀹℃牳浜猴細" style="width: 48%">
- <span>{{dataForm.auditor}}</span>
+ <span>{{dataForm.configItemWarehouse.qaAuditor}}</span>
</el-form-item>
<el-form-item label="瀹℃牳鏃ユ湡锛�" style="width: 48%">
- <span>{{dataForm.auditDate}}</span>
+ <span>{{dataForm.configItemWarehouse.qaAuditDate}}</span>
</el-form-item>
+ </div>
</div>
</div>
- <div class="el-flexManageDialog el-B-border">
+ <div class="el-flexManageDialog el-border-bottom">
<div class="DFormWidth DAlign DHold">
CM瀹℃牳
</div>
- <div class="el-wt-border-left" style="padding-left:5px;width: calc(100% - 130px)">
- <el-table class="el-software el-margin-top-bot" height="150" border :data="dataForm.CMData"
+ <div class="el-border-left" style="width: calc(100% - 120px)">
+ <el-table class="el-software el-margin-top-bot" style="width: 99%;margin-left: 5px" border :data="dataForm.cmAuditList"
stripe>
- <el-table-column prop="code" align="center" width="80" label="搴忓彿"></el-table-column>
- <el-table-column prop="checkItem" min-width="300" label="妫�鏌ラ」"></el-table-column>
+ <el-table-column prop="no" align="center" width="80" label="搴忓彿"></el-table-column>
+ <el-table-column prop="examineItem" min-width="300" label="妫�鏌ラ」"></el-table-column>
<el-table-column label="妫�鏌ョ粨鏋�" width="250" align="center">
<template slot-scope="scope">
- <el-radio-group v-model="scope.row.result">
- <el-radio :label="0">鏄�</el-radio>
- <el-radio :label="1">鍚�</el-radio>
- <el-radio :label="2">涓嶉�傜敤</el-radio>
- </el-radio-group>
+ <zt-dict :disabled="getRoleName.indexOf('CM瑙掕壊')===-1" v-model="scope.row.examineResult" placeholder="妫�鏌ョ粨鏋�" dict="tristate2" :radio="true"
+ clearable></zt-dict>
</template>
</el-table-column>
- <el-table-column prop="remark" align="center" width="100" label="涓嶉�傜敤璇存槑"></el-table-column>
+ <el-table-column prop="notApplyExplan" align="center" width="120" label="涓嶉�傜敤璇存槑">
+ <template v-slot="{ row }">
+ <el-input v-if="getRoleName.indexOf('CM瑙掕壊')>=0" v-model="row.notApplyExplan" placeholder="涓嶉�傜敤璇存槑"></el-input>
+ <span v-else>{{row.notApplyExplan}}</span>
+ </template>
+ </el-table-column>
</el-table>
- <el-form-item label="瀹℃牳缁撴灉" style="width: 99%">
- <el-radio-group v-model="dataForm.CMResult">
- <el-radio :label="0">閫氳繃</el-radio>
- <el-radio :label="1">涓嶉�氳繃</el-radio>
- </el-radio-group>
- </el-form-item>
- <el-form-item label="瀹℃牳浜�" style="width: 48%">
- <span>{{dataForm.CMAuditor}}</span>
- </el-form-item>
- <el-form-item label="瀹℃牳鏃ユ湡" style="width: 48%">
- <span>{{dataForm.CMAuditDate}}</span>
- </el-form-item>
+ <div class="el-border-top">
+ <el-form-item label="瀹℃牳缁撴灉" style="width: 99%">
+ <zt-dict :disabled="getRoleName.indexOf('CM瑙掕壊')===-1" v-model="dataForm.configItemWarehouse.cmAuditResults" placeholder="瀹℃牳缁撴灉" dict="is_pass" :radio="true"
+ clearable></zt-dict>
+ </el-form-item>
+ <el-form-item label="瀹℃牳浜猴細" style="width: 48%">
+ <span>{{dataForm.configItemWarehouse.cmAuditor}}</span>
+ </el-form-item>
+ <el-form-item label="瀹℃牳鏃ユ湡锛�" style="width: 48%">
+ <span>{{dataForm.configItemWarehouse.cmAuditDate}}</span>
+ </el-form-item>
+ </div>
</div>
</div>
- <div class="el-flexManageDialog el-B-border">
+ <div class="el-flexManageDialog el-border-bottom">
<div class="DFormWidth DAlign DHold">
鎵瑰噯鎰忚
</div>
- <div style="width: calc(100% - 120px)" class="el-wt-border-left">
- <el-form-item class="el-wt-form-item-margin" label-width="120px" style="width: 99%">
- <el-radio-group v-model="dataForm.opinion">
- <el-radio :label="0">鍚屾剰</el-radio>
- <el-radio :label="1">涓嶅悓鎰�</el-radio>
- </el-radio-group>
+ <div style="width: calc(100% - 120px)" class="el-border-left">
+ <el-form-item class="el-wt-form-item-margin" label-width="20px" style="width: 85%">
+ <zt-dict :disabled="getRoleName.indexOf('閮ㄩ棬SCCB瑙掕壊')===-1" v-model="dataForm.configItemWarehouse.approvalOpinions" dict="is_pass" :radio="true"
+ clearable></zt-dict>
</el-form-item>
<el-form-item label-width="80%" label="绛惧瓧锛�" style="width: 65%">
- <span>{{dataForm.signature}}</span>
+ <span>{{dataForm.configItemWarehouse.approvalSign}}</span>
</el-form-item>
<el-form-item label="鏃ユ湡锛�" style="width: 20%">
- <span>{{dataForm.approvalOpinionDate}}</span>
+ <span>{{dataForm.configItemWarehouse.approvalDate}}</span>
</el-form-item>
</div>
</div>
- <div class="el-flexManageDialog el-B-border">
+ <div class="el-flexManageDialog el-border-bottom">
<div class="DFormWidth DAlign DHold">
椤圭洰CM鎿嶄綔
</div>
- <div style="width: calc(100% - 120px)" class="el-wt-border-left">
- <el-form-item class="el-CMTextarea" style="width: 100%">
- <el-input type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�" v-model="dataForm.CMTextarea"></el-input>
+ <div style="width: calc(100% - 120px)" class="el-border-left">
+ <el-form-item class="el-CMTextarea" style="width: 100%;padding: 5px">
+ <el-input v-if="getRoleName.indexOf('CM瑙掕壊')>=0" type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�" v-model="dataForm.configItemWarehouse.projectCmOperations"></el-input>
</el-form-item>
<el-form-item label-width="80%" label="鎿嶄綔浜猴細" style="width: 65%">
- <span>{{dataForm.CMSignature}}</span>
+ <span>{{dataForm.configItemWarehouse.operator}}</span>
</el-form-item>
<el-form-item label="鏃ユ湡锛�" style="width: 20%">
- <span>{{dataForm.CMDate}}</span>
+ <span>{{dataForm.configItemWarehouse.operateDate}}</span>
</el-form-item>
</div>
</div>
@@ -148,9 +191,9 @@
<div class="DFormWidth DAlign DHold">
澶囨敞
</div>
- <div style="width: calc(100% - 120px)" class="el-wt-border-left">
- <el-form-item class="el-CMTextarea" style="width: 100%">
- <el-input type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�" v-model="dataForm.textarea"></el-input>
+ <div style="width: calc(100% - 120px)" class="el-border-left">
+ <el-form-item class="el-CMTextarea" style="width: 100%;padding: 5px">
+ <el-input type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�" v-model="dataForm.configItemWarehouse.remark"></el-input>
</el-form-item>
</div>
</div>
@@ -163,37 +206,113 @@
export default {
data() {
return {
+ disabled:true,
+ stepMarker: '',
+ title: '鏌ョ湅',
dataForm: {
id: '',
- projectId: '',
- code: '',
- projectCode: '',
- projectName: '',
- applicant: '',
- applyDate: '',
- libraryType: '',
- approvalOpinions: '',
- approvalSign: '',
- approvalDate: '',
- projectCmOperations: '',
- operator: '',
- operateDate: '',
- remark: '',
- year: ''
+ configItemWarehouse:{
+ id:"",
+ code: "",
+ applicant: "",
+ applyDate: "",
+ libraryType: "",
+ qaAuditResults:"",
+ qaAuditor:"",
+ qaAuditDate:"",
+ cmAuditResults:"",
+ cmAuditor:"",
+ cmAuditDate:"",
+ approvalOpinions: "",
+ approvalSign: "",
+ approvalDate: "",
+ projectCmOperations: "",
+ operator: "",
+ operateDate: "",
+ remark: "",
+ },
+ project: {
+ code: '',
+ softwareName: '',
+ },
+ cmAuditList:[],
+ configItemList:[],
+ qaAuditList:[],
+ flowInfoDto: {}
}
}
},
+ computed:{
+ getRoleName(){
+ console.log(this.$store.state.user.roleName,'this.$store.state.user.roleName')
+ return this.$store.state.user.roleName || ''
+ },
+ },
methods: {
+ indexFormat(index){
+ return index += 1
+ },
+ init(id,row){
+ console.log(id,row,'鍏ュ簱鍗曠殑')
+ if (id) {
+ this.dataForm.id = id
+ } else {
+ this.dataForm.id = row.id
+ }
+ if(row.projectId){
+ this.dataForm.projectId =row.projectId
+ }
+ this.getInfo()
+ if (!this.dataForm.disabled) {
+ if (!row.stepMarker) {
+ this.stepMarker = 'pzxrk_first'
+ this.title = '鍏ュ簱鐢宠'
+ } else {
+ this.title = row.stepName
+ this.stepMarker = row.stepMarker
+ }
+ }
+ console.log(this.dataForm.id,this.dataForm.projectId,'params params')
+ },
+ addConfigItemWarehouseRow(){
+ this.dataForm.configItemList.push({})
+ this.$nextTick(()=>{
+ const tableBody=this.$refs.tableConfigItemList.$el.querySelector('.el-table__body-wrapper')
+ tableBody.scrollTop = tableBody.scrollHeight;
+ })
+ },
// 鑾峰彇淇℃伅
async getInfo() {
- let res = await this.$http.get(`/configItemWarehouse/ConfigItemWarehouse/${this.dataForm.id}`)
+ let params = {
+ warehouseId: this.dataForm.id,
+ projectId: this.dataForm.projectId
+ }
+ let res = await this.$http.get(`/configItemWarehouse/ConfigItemWarehouse/getDto`,{params: params})
this.dataForm = {
...this.dataForm,
...res.data
}
+ if(this.dataForm.project === null){
+ this.dataForm.project={}
+ }
+ if(this.dataForm.configItemWarehouse === null){
+ this.dataForm.circulatOrder={}
+ }
+ if(this.dataForm.flowInfoDto === null){
+ this.dataForm.flowInfoDto={}
+ }
+ console.log(this.dataForm,"getInfo this.dataForm")
},
// 琛ㄥ崟鎻愪氦
- async formSubmit() {
+ async formSubmit(submitType) {
+ if (submitType == 'tj' || submitType == 'bl') {
+ let flowInfo = {
+ flowCode: 'pzxrk',
+ stepIdMark: this.stepMarker,
+ submitType: submitType
+ }
+ this.dataForm.flowInfoDto = flowInfo;
+ }
let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/configItemWarehouse/ConfigItemWarehouse/', this.dataForm)
if (res.success) {
await this.$tip.success()
@@ -244,15 +363,9 @@
border-top: 1px solid;
border-bottom: 1px solid;
}
-.el-B-border{
- border-bottom: 1px solid;
-}
.el-margin-top-bot{
margin-top:5px;
margin-bottom:5px;
-}
-.el-wt-border-left{
- border-left:1px solid;
}
.zt .el-table.el-software th {
background: transparent;
@@ -267,4 +380,18 @@
.zt .el-table.el-software{
font-size: 14px;
}
+.warehouseContentWidth > .el-form-item > .el-form-item__content {
+ width: calc(100% - 120px);
+}
+.warehouseContentWidth > .el-form-item.lastChild > .el-form-item__content {
+ width: calc(100% - 142px);
+}
+.warehouseFormAuto .marginTopAndMarginBottom {
+ margin-top: 10px !important;
+ margin-bottom: 0 !important;
+}
+.warehouseFormAuto .marginTopAndMarginBottom2 {
+ margin-top: -10px !important;
+ margin-bottom: 0 !important;
+}
</style>
--
Gitblit v1.9.1