From e2cef6c358e57c2bc63e67a05c88c52585bb96db Mon Sep 17 00:00:00 2001 From: wente <329538422@qq.com> Date: 星期五, 29 十二月 2023 11:22:29 +0800 Subject: [PATCH] 项目表 --- web/src/views/modules/configItemChange/ConfigItemChange-AddOrUpdate.vue | 275 +++++++++++++++++++++++++++++++++++------------------- 1 files changed, 178 insertions(+), 97 deletions(-) diff --git a/web/src/views/modules/configItemChange/ConfigItemChange-AddOrUpdate.vue b/web/src/views/modules/configItemChange/ConfigItemChange-AddOrUpdate.vue index 85e81e2..f44c291 100644 --- a/web/src/views/modules/configItemChange/ConfigItemChange-AddOrUpdate.vue +++ b/web/src/views/modules/configItemChange/ConfigItemChange-AddOrUpdate.vue @@ -1,14 +1,14 @@ <template> <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"> + label-width="120px" class="configChangeFormAuto"> <div> <el-form-item label-width="60px" label="缂栧彿:" style="width:100%;margin-bottom: -5px"> <span>{{dataForm.configItemChange.code || '缂栧彿鑷姩鐢熸垚'}}</span> </el-form-item> </div> <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"> + <div style="border-bottom: 1px solid rgba(0,0,0,.2);" class="configChangeContentWidth"> <el-form-item class="marginTopAndMarginBottom" label="椤圭洰缂栧彿" style="width: 49%"> <el-input v-model="dataForm.project.code" placeholder="璇疯緭鍏ラ」鐩紪鍙�"></el-input> </el-form-item> @@ -16,29 +16,29 @@ <el-input v-model="dataForm.project.softwareName" placeholder="璇疯緭鍏ラ」鐩悕绉�"></el-input> </el-form-item> <el-form-item label="鐢宠浜�" style="width: 49%"> - <el-input :disabled="stepMarker!=='pzxrk_first'" v-model="dataForm.configItemChange.applicant" + <el-input :disabled="stepMarker!=='pzxbg_first'" v-model="dataForm.configItemChange.applicant" placeholder="璇疯緭鍏ョ敵璇蜂汉"></el-input> </el-form-item> <el-form-item label="鐢宠鏃ユ湡" style="width: 49%"> <el-date-picker - :disabled="stepMarker!=='pzxrk_first'" + :disabled="stepMarker!=='pzxbg_first'" v-model="dataForm.configItemChange.applyDate" type="date" placeholder="璇烽�夋嫨鐢宠鏃ユ湡"> </el-date-picker> </el-form-item> <el-form-item class="marginTopAndMarginBottom2" label="搴撶被鍨�" style="width: 99%"> - <zt-dict v-model="dataForm.configItemChange.libraryType" :radio="true" dict="library_type"></zt-dict> + <zt-dict :disabled="stepMarker!=='pzxbg_first'" v-model="dataForm.configItemChange.libraryType" :radio="true" dict="library_type"></zt-dict> </el-form-item> </div> - <div class="el-flexManageDialog el-border-bottom"> + <div class="el-configChangeDialog el-border-bottom"> <div class="DFormWidth DAlign DHold"> - 鍏ュ簱閰嶇疆椤� + 鍙樻洿鐢宠閰嶇疆椤� </div> <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" + style="width: 99%;margin-left: 5px" border :data="dataForm.configChangeList" stripe> <el-table-column prop="no" align="center" width="60" label="搴忓彿"> <template slot-scope="scope"> @@ -51,7 +51,7 @@ <span v-else>{{row.itemName}}</span> </template> </el-table-column> - <el-table-column prop="itemDentify" align="center" min-width="290" label="閰嶇疆椤规爣璇�"> + <el-table-column prop="itemIdentify" align="center" min-width="290" label="閰嶇疆椤规爣璇�"> <template v-slot="{ row }"> <el-input v-if="showAddAndEdit" v-model="row.itemIdentify" placeholder="閰嶇疆椤规爣璇�"></el-input> <span v-else>{{row.itemIdentify}}</span> @@ -93,24 +93,89 @@ </template> </el-table-column> </el-table> - <div v-if="showAddAndEdit" class="icon-container"> - <el-dropdown @command="handleCommand"> - <span class="el-dropdown-link"> - <i class="el-icon-plus"></i> - </span> - <el-dropdown-menu slot="dropdown"> - <el-dropdown-item v-for="item in menuOptions" :key="item.pageCode" :command="item.pageCode"> - {{ item.name }} - </el-dropdown-item> - </el-dropdown-menu> - </el-dropdown> + <div v-if="showAddAndEdit && !dataForm.disabled" class="icon-container" @click="handleCommand"> <!-- 鏀剧疆鍥哄畾鐨勫浘鏍� --> - <!-- <i class="el-icon-plus"></i>--> + <i class="el-icon-plus"></i> </div> </div> </div> </div> - <div class="el-flexManageDialog el-border-bottom"> + <div class="el-configChangeDialog el-border-bottom"> + <div style="width: 120px;text-align: center;font-weight: 600"> + 鍙樻洿鍘熷洜 + </div> + <div class="el-border-left acceptDate" style="width: 90%;"> + <el-form-item style="width: 100%;padding-left:20px;margin:0;"> + <el-input v-if="stepMarker=='pzxbg_first'" v-model="dataForm.configItemChange.changeReason" placeholder="鍙樻洿鍘熷洜..."></el-input> + <span v-else>{{dataForm.configItemChange.changeReason}}</span> + </el-form-item> + </div> + </div> + <div class="el-configChangeDialog el-border-bottom"> + <div style="width: 120px;text-align: center;font-weight: 600"> + 鍙樻洿褰卞搷鍒嗘瀽 + </div> + <div class="el-border-left acceptDate" style="width: 90%;"> + <el-form-item style="width: 100%;padding-left:20px;margin:0;"> + <el-input :disabled="stepMarker!=='pzxbg_first'" v-model="dataForm.configItemChange.changeAnalysis" placeholder="鍙樻洿褰卞搷鍒嗘瀽..."></el-input> + </el-form-item> + </div> + </div> + <div class="el-configChangeDialog el-border-bottom"> + <div style="width: 120px;text-align: center;font-weight: 600"> + 鍙樻洿鍐呭 + </div> + <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="stepMarker=='pzxbg_first'" type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�" + v-model="dataForm.configItemChange.changeContent"></el-input> + <span v-else>{{dataForm.configItemChange.changeContent}}</span> + </el-form-item> + <el-form-item label-width="80%" label="鍙樻洿瀹炴柦浜猴細" style="width: 65%"> + <span>{{dataForm.configItemChange.implementer}}</span> + </el-form-item> + <el-form-item label="鏃ユ湡锛�" style="width: 20%"> + <span>{{dataForm.configItemChange.changeDate}}</span> + </el-form-item> + </div> + </div> + <div class="el-configChangeDialog el-border-bottom"> + <div class="DFormWidth DAlign DHold"> + 鎵瑰噯鎰忚 + </div> + <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="stepMarker!=='pzxbg_bmsh'" v-model="dataForm.configItemChange.approvalOpinions" + dict="is_pass" :radio="true" + clearable></zt-dict> + </el-form-item> + <el-form-item label-width="80%" label="绛惧瓧锛�" style="width: 65%"> + <span>{{dataForm.configItemChange.approvalSign}}</span> + </el-form-item> + <el-form-item label="鏃ユ湡锛�" style="width: 20%"> + <span>{{dataForm.configItemChange.approvalDate}}</span> + </el-form-item> + </div> + </div> + <div class="el-configChangeDialog el-border-bottom"> + <div style="width: 120px;text-align: center;font-weight: 600"> + 椤圭洰CM鍑哄簱鎿嶄綔 + </div> + <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="stepMarker=='pzxbg_cmcz'" type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�" + v-model="dataForm.configItemChange.outboundCmOperations"></el-input> + <span v-else>{{dataForm.configItemChange.outboundCmOperations}}</span> + </el-form-item> + <el-form-item label-width="80%" label="鎿嶄綔浜猴細" style="width: 65%"> + <span>{{dataForm.configItemChange.outboundOperator}}</span> + </el-form-item> + <el-form-item label="鏃ユ湡锛�" style="width: 20%"> + <span>{{dataForm.configItemChange.outboundOperateDate}}</span> + </el-form-item> + </div> + </div> + <div class="el-configChangeDialog el-border-bottom"> <div class="DFormWidth DAlign DHold"> 椤圭洰QA瀹℃牳 </div> @@ -122,21 +187,21 @@ <el-table-column prop="examineItem" min-width="300" label="妫�鏌ラ」"></el-table-column> <el-table-column label="妫�鏌ョ粨鏋�" width="250" align="center"> <template slot-scope="scope"> - <zt-dict :disabled="stepMarker!=='pzxrk_qash'" v-model="scope.row.examineResult" placeholder="妫�鏌ョ粨鏋�" + <zt-dict :disabled="stepMarker!=='pzxbg_qash'" v-model="scope.row.examineResult" placeholder="妫�鏌ョ粨鏋�" dict="tristate2" :radio="true" clearable></zt-dict> </template> </el-table-column> <el-table-column align="center" width="120" label="涓嶉�傜敤璇存槑"> <template v-slot="{ row }"> - <el-input v-if="stepMarker=='pzxrk_qash'" v-model="row.notApplyExplan" placeholder="涓嶉�傜敤璇存槑"></el-input> + <el-input v-if="stepMarker=='pzxbg_qash'" 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%"> - <zt-dict :disabled="stepMarker!=='pzxrk_qash'" v-model="dataForm.configItemChange.qaAuditResults" + <zt-dict :disabled="stepMarker!=='pzxbg_qash'" v-model="dataForm.configItemChange.qaAuditResults" dict="is_pass" :radio="true" clearable></zt-dict> </el-form-item> @@ -149,7 +214,7 @@ </div> </div> </div> - <div class="el-flexManageDialog el-border-bottom"> + <div class="el-configChangeDialog el-border-bottom"> <div class="DFormWidth DAlign DHold"> CM瀹℃牳 </div> @@ -161,21 +226,21 @@ <el-table-column prop="examineItem" min-width="300" label="妫�鏌ラ」"></el-table-column> <el-table-column label="妫�鏌ョ粨鏋�" width="250" align="center"> <template slot-scope="scope"> - <zt-dict :disabled="stepMarker!=='pzxrk_cmsh'" v-model="scope.row.examineResult" placeholder="妫�鏌ョ粨鏋�" + <zt-dict :disabled="stepMarker!=='pzxbg_cmsh'" v-model="scope.row.examineResult" placeholder="妫�鏌ョ粨鏋�" dict="tristate2" :radio="true" clearable></zt-dict> </template> </el-table-column> <el-table-column prop="notApplyExplan" align="center" width="120" label="涓嶉�傜敤璇存槑"> <template v-slot="{ row }"> - <el-input v-if="stepMarker=='pzxrk_cmsh'" v-model="row.notApplyExplan" placeholder="涓嶉�傜敤璇存槑"></el-input> + <el-input v-if="stepMarker=='pzxbg_cmsh'" 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%"> - <zt-dict :disabled="stepMarker!=='pzxrk_cmsh'" v-model="dataForm.configItemChange.cmAuditResults" + <zt-dict :disabled="stepMarker!=='pzxbg_cmsh'" v-model="dataForm.configItemChange.cmAuditResults" placeholder="瀹℃牳缁撴灉" dict="is_pass" :radio="true" clearable></zt-dict> </el-form-item> @@ -188,43 +253,26 @@ </div> </div> </div> - <div class="el-flexManageDialog el-border-bottom"> + + <div class="el-configChangeDialog el-border-bottom"> <div class="DFormWidth DAlign DHold"> - 鎵瑰噯鎰忚 - </div> - <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="stepMarker!=='pzxrk_bmsh'" v-model="dataForm.configItemChange.approvalOpinions" - dict="is_pass" :radio="true" - clearable></zt-dict> - </el-form-item> - <el-form-item label-width="80%" label="绛惧瓧锛�" style="width: 65%"> - <span>{{dataForm.configItemChange.approvalSign}}</span> - </el-form-item> - <el-form-item label="鏃ユ湡锛�" style="width: 20%"> - <span>{{dataForm.configItemChange.approvalDate}}</span> - </el-form-item> - </div> - </div> - <div class="el-flexManageDialog el-border-bottom"> - <div class="DFormWidth DAlign DHold"> - 椤圭洰CM鎿嶄綔 + 椤圭洰CM鍏ュ簱鎿嶄綔 </div> <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="stepMarker=='pzxrk_cmcz'" type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�" - v-model="dataForm.configItemChange.projectCmOperations"></el-input> - <span v-else>{{dataForm.configItemChange.projectCmOperations}}</span> + <el-input v-if="stepMarker=='pzxbg_cmrk'" type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�" + v-model="dataForm.configItemChange.warehouseCmOperations"></el-input> + <span v-else>{{dataForm.configItemChange.warehouseCmOperations}}</span> </el-form-item> <el-form-item label-width="80%" label="鎿嶄綔浜猴細" style="width: 65%"> - <span>{{dataForm.configItemChange.operator}}</span> + <span>{{dataForm.configItemChange.warehouseOperator}}</span> </el-form-item> <el-form-item label="鏃ユ湡锛�" style="width: 20%"> - <span>{{dataForm.configItemChange.operateDate}}</span> + <span>{{dataForm.configItemChange.warehouseOperateDate}}</span> </el-form-item> </div> </div> - <div class="el-flexManageDialog"> + <div class="el-configChangeDialog"> <div class="DFormWidth DAlign DHold"> 澶囨敞 </div> @@ -237,12 +285,19 @@ </div> </div> <add-or-update-check ref="addOrUpdate" @recall="setCheckId"/> + <ConfigItemList ref="configItemList" @getChangeItemList="getChangeItemList"></ConfigItemList> </el-form> + <template v-slot:footer> + <el-button v-if="dataForm.disabled" type="primary" @click="print()">鎵撳嵃</el-button> + </template> </zt-dialog> </template> <script> import AddOrUpdateCheck from '../testCheckOrder/TestCheckOrder-AddOrUpdate' + import ConfigItemList from './configItemList.vue' + import qs from "qs"; + import Cookies from "js-cookie"; export default { data() { @@ -250,6 +305,7 @@ disabled: true, stepMarker: '', title: '鏌ョ湅', + ids:'', showColumn: false, showAddAndEdit:false, menuOptions: [ @@ -263,24 +319,32 @@ dataForm: { id: '', configItemChange: { - id: "", - code: "", - applicant: "", - applyDate: "", - libraryType: "", - qaAuditResults: "", - qaAuditor: "", - qaAuditDate: "", - cmAuditResults: "", - cmAuditor: "", - cmAuditDate: "", - approvalOpinions: "", - approvalSign: "", - approvalDate: "", - projectCmOperations: "", - operator: "", - operateDate: "", - remark: "", + id: '', + code: '', + applicant: '', + applyDate: '', + libraryType: '', + qaAuditResults:'', + qaAuditor: '', + qaAuditDate:'', + changeReason:'', + cmAuditResults: '', + cmAuditor:'', + cmAuditDate: '', + approvalOpinions: '', + approvalSign: '', + approvalDate: '', + changeAnalysis: '', + changeContent: '', + implementer: '', + changeDate: '', + outboundCmOperations: '', + outboundOperator: '', + outboundOperateDate: '', + warehouseCmOperations: '', + warehouseOperator: '', + warehouseOperateDate: '', + remark: '', }, project: { code: '', @@ -304,7 +368,8 @@ }, computed: {}, components: { - AddOrUpdateCheck + AddOrUpdateCheck, + ConfigItemList }, methods: { indexFormat(index) { @@ -323,8 +388,8 @@ this.getInfo() if (!this.dataForm.disabled) { if (!row.stepMarker) { - this.stepMarker = 'pzxrk_first' - this.title = '鍏ュ簱鐢宠' + this.stepMarker = 'pzxbg_first' + this.title = '鍙樻洿鐢宠' } else { this.title = row.stepName this.stepMarker = row.stepMarker @@ -339,18 +404,24 @@ // tableBody.scrollTop = tableBody.scrollHeight; // }) // }, - handleCommand(pageCode) { - const selectedItem = this.menuOptions.find(item => item.pageCode === pageCode); - console.log(selectedItem, "handleCommand(pageCode) selectedItem") - if (selectedItem.pageCode === 'other') { - this.dataForm.configItemList.push({}) - } else if (selectedItem) { - this.dataForm.configItemList.push({itemName: selectedItem.name, pageCode: selectedItem.pageCode}) - } - this.$nextTick(() => { - const tableBody = this.$refs.tableConfigItemList.$el.querySelector('.el-table__body-wrapper') - tableBody.scrollTop = tableBody.scrollHeight; + handleCommand() { + this.$nextTick(()=>{ + console.log(this.dataForm.projectId,'this.dataForm.projectId') + this.ids = this.dataForm.configChangeList.map(item=>item.selectId).join(',') + this.$refs.configItemList.$refs.dialog.init(this.dataForm.projectId,{ids:this.ids,pageCode:this.pageCode}) }) + // this.dataForm.configItemList.push({}) + // this.$nextTick(() => { + // const tableBody = this.$refs.tableConfigItemList.$el.querySelector('.el-table__body-wrapper') + // tableBody.scrollTop = tableBody.scrollHeight; + // }) + }, + getChangeItemList(data){ + console.log(data.configChangeList,'getChangeItemList(data)') + if(data.configChangeList){ + this.dataForm.configChangeList=this.dataForm.configChangeList.concat(data.configChangeList) + } + console.log(this.dataForm.configChangeList,ids,'this.dataForm.configChangeList') }, openCheckOrderWin(row) { console.log(row, "openCheckOrderWin(row)") @@ -369,13 +440,21 @@ console.log(checkId, row, "setCheckId(checkId, row)") this.$set(row, 'checkId', checkId) }, + async print(){ + var params = qs.stringify({ + token: Cookies.get('token'), + id:this.dataForm.id + }) + let apiURL = `/configItemChange/ConfigItemChange/exportConfigChange` + window.location.href = `${window.SITE_CONFIG['apiURL']}${apiURL}?${params}` + }, // 鑾峰彇淇℃伅 async getInfo() { let params = { - warehouseId: this.dataForm.id, + changeId: this.dataForm.id, projectId: this.dataForm.projectId } - let res = await this.$http.get(`/configItemChange/ConfigItemWarehouse/getDto`, {params: params}) + let res = await this.$http.get(`/configItemChange/ConfigItemChange/getDto`, {params: params}) this.dataForm = { ...this.dataForm, ...res.data @@ -405,13 +484,13 @@ } if (submitType == 'tj' || submitType == 'bl') { let flowInfo = { - flowCode: 'pzxrk', + flowCode: 'pzxbg', stepIdMark: this.stepMarker, submitType: submitType } this.dataForm.flowInfoDto = flowInfo; } - let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/configItemChange/ConfigItemWarehouse/', this.dataForm) + let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/configItemChange/ConfigItemChange/', this.dataForm) if (res.success) { await this.$tip.success() this.$refs.dialog.close() @@ -431,7 +510,7 @@ border: 1px solid; } - .el-flexManageDialog { + .el-configChangeDialog { display: flex; align-items: center; } @@ -487,20 +566,22 @@ font-size: 14px; } - .warehouseContentWidth > .el-form-item > .el-form-item__content { + .configChangeContentWidth > .el-form-item > .el-form-item__content { width: calc(100% - 120px); } - .warehouseContentWidth > .el-form-item.lastChild > .el-form-item__content { + .configChangeContentWidth > .el-form-item.lastChild > .el-form-item__content { width: calc(100% - 142px); } - - .warehouseFormAuto .marginTopAndMarginBottom { + .configChangeFormAuto .acceptDate > .el-form-item > .el-form-item__content { + width: 100%; + } + .configChangeFormAuto .marginTopAndMarginBottom { margin-top: 10px !important; margin-bottom: 0 !important; } - .warehouseFormAuto .marginTopAndMarginBottom2 { + .configChangeFormAuto .marginTopAndMarginBottom2 { margin-top: -10px !important; margin-bottom: 0 !important; } -- Gitblit v1.9.1