From e3e35ace6ff48882dadaa7d8ea408e864670f951 Mon Sep 17 00:00:00 2001 From: wente <329538422@qq.com> Date: 星期四, 30 十一月 2023 11:15:27 +0800 Subject: [PATCH] 项目表 --- web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue | 292 +++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 186 insertions(+), 106 deletions(-) diff --git a/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue b/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue index 94dea83..4442ce9 100644 --- a/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue +++ b/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue @@ -1,146 +1,184 @@ <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" @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="!$store.state.user.isAdmin" 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="$store.state.user.isAdmin" 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 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 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="涓嶉�傜敤璇存槑"></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 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 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 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 +186,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> @@ -165,32 +203,66 @@ return { 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:[], } } }, methods: { + indexFormat(index){ + return index += 1 + }, + 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') + }, + 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 } + console.log(this.dataForm,"getInfo this.dataForm") }, // 琛ㄥ崟鎻愪氦 async formSubmit() { @@ -244,15 +316,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 +333,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