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/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue | 191 ++++++++++++++++++++++++++++++++++------------- 1 files changed, 137 insertions(+), 54 deletions(-) diff --git a/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue b/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue index dfbf98f..13128b3 100644 --- a/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue +++ b/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue @@ -16,19 +16,19 @@ <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.configItemWarehouse.applicant" + <el-input :disabled="stepMarker!=='pzxrk_first'" v-model="dataForm.configItemWarehouse.applicant" placeholder="璇疯緭鍏ョ敵璇蜂汉"></el-input> </el-form-item> <el-form-item label="鐢宠鏃ユ湡" style="width: 49%"> <el-date-picker - :disabled="stepMarker=='pzxrk_first'" + :disabled="stepMarker!=='pzxrk_first'" v-model="dataForm.configItemWarehouse.applyDate" type="date" placeholder="璇烽�夋嫨鐢宠鏃ユ湡"> </el-date-picker> </el-form-item> <el-form-item class="marginTopAndMarginBottom2" label="搴撶被鍨�" style="width: 99%"> - <zt-dict v-model="dataForm.configItemWarehouse.libraryType" :radio="true" dict="library_type"></zt-dict> + <zt-dict disabled="disabled" v-model="dataForm.configItemWarehouse.libraryType" :radio="true" dict="library_type"></zt-dict> </el-form-item> </div> <div class="el-flexManageDialog el-border-bottom"> @@ -45,40 +45,37 @@ <span v-html="indexFormat(scope.$index)"></span> </template> </el-table-column> - <el-table-column prop="itemName" min-width="200" label="閰嶇疆椤瑰悕绉�"> + <el-table-column prop="itemName" width="200" label="閰嶇疆椤瑰悕绉�"> <template v-slot="{ row }"> - <el-input v-model="row.itemName" placeholder="閰嶇疆椤瑰悕绉�"></el-input> + <el-input v-if="showAddAndEdit" v-model="row.itemName" placeholder="閰嶇疆椤瑰悕绉�"></el-input> + <span v-else>{{row.itemName}}</span> </template> </el-table-column> - <el-table-column prop="itemDentify" align="center" width="220" label="閰嶇疆椤规爣璇�"> + <el-table-column prop="itemIdentify" align="center" min-width="290" label="閰嶇疆椤规爣璇�"> <template v-slot="{ row }"> - <el-input v-model="row.itemIdentify" placeholder="閰嶇疆椤规爣璇�"></el-input> + <el-input v-if="showAddAndEdit" v-model="row.itemIdentify" placeholder="閰嶇疆椤规爣璇�"></el-input> + <span v-else>{{row.itemIdentify}}</span> </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> + <el-input v-if="showAddAndEdit" v-model="row.version" placeholder="鐗堟湰"></el-input> + <span v-else>{{row.version}}</span> </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> + <el-input v-if="showAddAndEdit" v-model="row.retrospectVersion" placeholder="涓婃函鐗�"></el-input> + <span v-else>{{row.retrospectVersion}}</span> </template> </el-table-column> <el-table-column prop="secretClass" label="瀵嗙骇" width="100" align="center"> <template v-slot="{ row }"> - <zt-dict v-model="row.secretClass" placeholder="瀵嗙骇" dict="secret_class" + <zt-dict :disabled="!showAddAndEdit" 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-column fixed="right" label="绠$悊" width="120" align="center"> + <el-table-column v-if="showColumn" fixed="right" label="绠$悊" width="100" align="center"> <template v-slot="{ row }"> <zt-table-button v-if="row.checkId" @click="openCheckOrderWin(row)">淇敼妫�鏌ュ崟 @@ -86,12 +83,22 @@ <zt-table-button v-else-if="',杞欢娴嬭瘯璁″垝锛岃蒋浠舵祴璇曡鏄庯紝杞欢娴嬭瘯璁板綍锛岃蒋浠舵祴璇曟姤鍛�'.indexOf(row.itemName)>0" @click="openCheckOrderWin(row)">鏂板妫�鏌ュ崟 </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-column fixed="right" prop="files" label="涓婁紶闄勪欢" width="240" align="center"> + <template v-slot="{ row }"> + <!-- <zt-table-button @click="files(row.id)">涓婁紶闄勪欢</zt-table-button>--> + <table-uploader :disabled="!showAddAndEdit" busi-type="config_item_warehouse" model-name="row" :dataForm="row" + v-model="row.files"/> + </template> + </el-table-column> + <el-table-column v-if="stepMarker=='pzxrk_first'" fixed="right" label="鎿嶄綔" align="center"> + <template slot-scope="scope"> + <zt-table-button @click="deleteRow(scope.$index,scope.row.id)">鍒犻櫎</zt-table-button> </template> </el-table-column> </el-table> - <div class="icon-container"> + <div v-if="showAddAndEdit && !dataForm.disabled" class="icon-container"> <el-dropdown @command="handleCommand"> <span class="el-dropdown-link"> <i class="el-icon-plus"></i> @@ -120,21 +127,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=='wplz_qash'" v-model="scope.row.examineResult" placeholder="妫�鏌ョ粨鏋�" + <zt-dict :disabled="stepMarker!=='pzxrk_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=='wplz_qash'" v-model="row.notApplyExplan" placeholder="涓嶉�傜敤璇存槑"></el-input> + <el-input v-if="stepMarker=='pzxrk_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=='wplz_qash'" v-model="dataForm.configItemWarehouse.qaAuditResults" + <zt-dict :disabled="stepMarker!=='pzxrk_qash'" v-model="dataForm.configItemWarehouse.qaAuditResults" dict="is_pass" :radio="true" clearable></zt-dict> </el-form-item> @@ -159,21 +166,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!=='wplz_cmsh'" v-model="scope.row.examineResult" placeholder="妫�鏌ョ粨鏋�" + <zt-dict :disabled="stepMarker!=='pzxrk_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=='wplz_cmsh'" v-model="row.notApplyExplan" placeholder="涓嶉�傜敤璇存槑"></el-input> + <el-input v-if="stepMarker=='pzxrk_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=='wplz_cmsh'" v-model="dataForm.configItemWarehouse.cmAuditResults" + <zt-dict :disabled="stepMarker!=='pzxrk_cmsh'" v-model="dataForm.configItemWarehouse.cmAuditResults" placeholder="瀹℃牳缁撴灉" dict="is_pass" :radio="true" clearable></zt-dict> </el-form-item> @@ -192,7 +199,7 @@ </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!=='wplz_bmsh'" v-model="dataForm.configItemWarehouse.approvalOpinions" + <zt-dict :disabled="stepMarker!=='pzxrk_bmsh'" v-model="dataForm.configItemWarehouse.approvalOpinions" dict="is_pass" :radio="true" clearable></zt-dict> </el-form-item> @@ -210,7 +217,7 @@ </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=='wplz_cmcz'" type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�" + <el-input v-if="stepMarker=='pzxrk_cmcz'" type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�" v-model="dataForm.configItemWarehouse.projectCmOperations"></el-input> <span v-else>{{dataForm.configItemWarehouse.projectCmOperations}}</span> </el-form-item> @@ -236,11 +243,17 @@ </div> <add-or-update-check ref="addOrUpdate" @recall="setCheckId"/> </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 qs from "qs"; + import Cookies from "js-cookie"; + import cloneDeep from "lodash/cloneDeep"; export default { data() { @@ -248,13 +261,16 @@ disabled: true, stepMarker: '', title: '鏌ョ湅', + showColumn: false, + showAddAndEdit: false, menuOptions: [ - {pageCode: 'plan', name: '杞欢娴嬭瘯璁″垝'}, + {pageCode: 'plan', name: '杞欢娴嬭瘯璁″垝', itemIdentify: ''}, {pageCode: 'explain', name: '杞欢娴嬭瘯璇存槑'}, {pageCode: 'record', name: '杞欢娴嬭瘯璁板綍'}, {pageCode: 'report', name: '杞欢娴嬭瘯鎶ュ憡'}, {pageCode: 'other', name: '鍏朵粬'} ], + pageNameCode: {'杞欢娴嬭瘯璁″垝': 'plan', '杞欢娴嬭瘯璇存槑': 'explain', '杞欢娴嬭瘯璁板綍': 'record', '杞欢娴嬭瘯鎶ュ憡': 'report'}, dataForm: { id: '', configItemWarehouse: { @@ -288,12 +304,16 @@ } } }, - computed: { - getRoleName() { - console.log(this.$store.state.user.roleName, 'this.$store.state.user.roleName') - return this.$store.state.user.roleName || '' - }, + created() { + const roleName = localStorage.getItem('roleName') + if (roleName && roleName.includes('瀹℃牳浜哄憳')) { + this.showColumn = true; + } + if (roleName && roleName.includes('妫�娴嬩汉鍛�')) { + this.showAddAndEdit = true; + } }, + computed: {}, components: { AddOrUpdateCheck }, @@ -311,7 +331,11 @@ if (row.projectId) { this.dataForm.projectId = row.projectId } - this.getInfo() + if (row.libraryType) { + console.log(row.libraryType,"row.libraryType") + this.dataForm.configItemWarehouse.libraryType = row.libraryType + } + this.getInfo2() if (!this.dataForm.disabled) { if (!row.stepMarker) { this.stepMarker = 'pzxrk_first' @@ -323,16 +347,9 @@ } 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; - // }) - // }, handleCommand(pageCode) { const selectedItem = this.menuOptions.find(item => item.pageCode === pageCode); - console.log(selectedItem,"handleCommand(pageCode) selectedItem") + console.log(selectedItem, "handleCommand(pageCode) selectedItem") if (selectedItem.pageCode === 'other') { this.dataForm.configItemList.push({}) } else if (selectedItem) { @@ -344,23 +361,30 @@ }) }, openCheckOrderWin(row) { - row.projectId = this.dataForm.projectId - this.$refs.addOrUpdate.$refs.dialog.init(null, row) + console.log(row, "openCheckOrderWin(row)") + row.projectId = this.dataForm.projectId + if (!row.checkId) { + row.checkId = -1 + } + // if (!row.pageCode) {//鍏跺疄杩欓噷鏄病鐢ㄧ殑 + // row.pageCode = this.pageNameCode[row.itemName] + // } + console.log(row.itemName, row.pageCode, "row.itemName,openCheckOrderWin(row) row.pageCode") + this.$refs.addOrUpdate.$refs.dialog.init(null, row) + }, setCheckId(checkId, row) { - row.checkId = checkId + console.log(checkId, row, "setCheckId(checkId, row)") + this.$set(row, 'checkId', checkId) }, // 鑾峰彇淇℃伅 - async getInfo() { + async getInfo2() { let params = { warehouseId: this.dataForm.id, - projectId: this.dataForm.projectId + projectId: this.dataForm.projectId, + libraryType:this.dataForm.configItemWarehouse.libraryType } 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 = {} } @@ -370,11 +394,70 @@ if (this.dataForm.flowInfoDto === null) { this.dataForm.flowInfoDto = {} } + setTimeout(()=>{ + this.dataForm = { + ...this.dataForm, + ...res.data + } + },100) console.log(this.dataForm, "getInfo this.dataForm") + }, + async deleteRow(index, id){ + if (await this.$tip.confirm(this.$t('prompt.info', {'handle': this.$t('delete')}))) { + if (id != null) { + let res = await this.$http.delete('/configItemWarehouse/WarehouseConfigItem/', {data: [id]}) + } + this.dataForm.configItemList.splice(index, 1) + } + }, + async print(){ + var params = qs.stringify({ + token: Cookies.get('token'), + id:this.dataForm.id + }) + let apiURL = `/configItemWarehouse/ConfigItemWarehouse/exportWarehouseOrder` + window.location.href = `${window.SITE_CONFIG['apiURL']}${apiURL}?${params}` }, // 琛ㄥ崟鎻愪氦 async formSubmit(submitType) { - if (submitType == 'tj' || submitType == 'bl') { + let isFiles = true; + let flag = true; + console.log(this.dataForm, "this.dataForm11111") + this.dataForm.configItemList.forEach(item => { + if (parseInt(item.secretClass) > localStorage.getItem('userSecretClass')) { + this.$alert("褰撳墠椤圭洰璁剧疆鐨勫瘑绾ч珮浜庡綋鍓嶇敤鎴风殑瀵嗙骇锛岃閲嶆柊璁剧疆") + flag =false + } + }) + if (!flag){ + return + } + if (this.showColumn && submitType === 'bl') { + for (let item of this.dataForm.configItemList) { + if (item) { + if (this.pageNameCode[item.itemName] && !item.checkId) { + this.$alert("鏈夋湭鎻愪氦鐨勬鏌ュ崟") + return + } + } + } + } + if (submitType === 'tj' || submitType === 'bl') { + this.dataForm.configItemList.forEach(item => { + console.log(item, "his.dataForm.technicalList.forEach") + item.files.groups.forEach(groups => { + groups.fields.forEach(files => { + if (files.files.length === 0) { + this.$alert("褰撳墠瀛樺湪鏈笂浼犻檮浠剁殑閰嶇疆椤癸紝璇烽噸鏂颁笂浼�") + isFiles = false + return isFiles + } + }) + }) + }) + if (!isFiles){ + return + } let flowInfo = { flowCode: 'pzxrk', stepIdMark: this.stepMarker, -- Gitblit v1.9.1