From 46fb684ba924ada80ed9c0a57ef7151efe432149 Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期三, 13 十二月 2023 15:44:33 +0800 Subject: [PATCH] 修改 --- modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/WarehouseConfigItemService.java | 5 web/src/views/modules/configItemOutbound/ConfigItemOutbound.vue | 73 ++++++ modules/mainPart/src/main/java/com/zt/life/modules/configItemChange/controller/ConfigItemChangeController.java | 4 modules/mainPart/src/main/java/com/zt/life/modules/configItemOutbound/controller/ConfigItemOutboundController.java | 6 web/src/App.vue | 2 modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/dao/WarehouseConfigItemDao.java | 3 web/src/views/modules/configItemOutbound/ConfigItemOutbound-AddOrUpdate.vue | 440 ++++++++++++++++++++++++++++++++++++++++ web/src/views/modules/configItemOutbound/configItemList.vue | 86 +++++++ modules/mainPart/src/main/java/com/zt/life/modules/configItemOutbound/model/ConfigItemOutbound.java | 2 modules/mainPart/src/main/resources/mapper/configItemWarehouse/WarehouseConfigItemDao.xml | 28 ++ 10 files changed, 636 insertions(+), 13 deletions(-) diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/configItemChange/controller/ConfigItemChangeController.java b/modules/mainPart/src/main/java/com/zt/life/modules/configItemChange/controller/ConfigItemChangeController.java index 6ae463a..8da6116 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/configItemChange/controller/ConfigItemChangeController.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/configItemChange/controller/ConfigItemChangeController.java @@ -43,7 +43,7 @@ */ @RestController @RequestMapping("/configItemChange/ConfigItemChange/") -@Api(tags="config_item_Change") +@Api(tags="config_item_change") public class ConfigItemChangeController { @Autowired private ConfigItemChangeService configItemChangeService; @@ -127,7 +127,7 @@ @GetMapping("getItemList") @ApiOperation("鑾峰彇鍏ュ簱閰嶇疆椤瑰垪琛�") public PageResult<WarehouseConfigItem> getItemList(Long projectId,String ids) { - String type ="change_select_id"; + String type ="change"; List<WarehouseConfigItem> resultList = configItemService.warehouseConfigList(projectId,ids,type); return PageResult.ok(resultList); } diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/configItemOutbound/controller/ConfigItemOutboundController.java b/modules/mainPart/src/main/java/com/zt/life/modules/configItemOutbound/controller/ConfigItemOutboundController.java index ad58eb2..7b898d6 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/configItemOutbound/controller/ConfigItemOutboundController.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/configItemOutbound/controller/ConfigItemOutboundController.java @@ -42,8 +42,8 @@ * @since 1.0.0 2023-11-27 */ @RestController -@RequestMapping("/ConfigItemOutbound/ConfigItemOutbound/") -@Api(tags="config_item_Change") +@RequestMapping("/configItemOutbound/ConfigItemOutbound/") +@Api(tags="config_item_outbound") public class ConfigItemOutboundController { @Autowired private ConfigItemOutboundService configItemOutboundService; @@ -127,7 +127,7 @@ @GetMapping("getItemList") @ApiOperation("鑾峰彇鍏ュ簱閰嶇疆椤瑰垪琛�") public PageResult<WarehouseConfigItem> getItemList(Long projectId,String ids) { - String type ="outbound_select_id"; + String type ="outbound"; List<WarehouseConfigItem> resultList = configItemService.warehouseConfigList(projectId,ids,type); return PageResult.ok(resultList); } diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/configItemOutbound/model/ConfigItemOutbound.java b/modules/mainPart/src/main/java/com/zt/life/modules/configItemOutbound/model/ConfigItemOutbound.java index 01b8671..15644b9 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/configItemOutbound/model/ConfigItemOutbound.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/configItemOutbound/model/ConfigItemOutbound.java @@ -18,7 +18,7 @@ */ @Data @EqualsAndHashCode(callSuper=false) -@TableName("config_item_change") +@TableName("config_item_outbound") public class ConfigItemOutbound extends BusiEntity { private static final long serialVersionUID = 1L; diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/dao/WarehouseConfigItemDao.java b/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/dao/WarehouseConfigItemDao.java index d98e6f3..5def6c1 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/dao/WarehouseConfigItemDao.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/dao/WarehouseConfigItemDao.java @@ -23,5 +23,6 @@ List<WarehouseConfigItem> itemList(Long projectId); - List<WarehouseConfigItem> warehouseList(Long projectId,String ids,String type); + List<WarehouseConfigItem> changeSelectList(Long projectId,String ids); + List<WarehouseConfigItem> outboundSelectList(Long projectId,String ids); } diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/WarehouseConfigItemService.java b/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/WarehouseConfigItemService.java index 88e1272..10fee2e 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/WarehouseConfigItemService.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/WarehouseConfigItemService.java @@ -52,6 +52,9 @@ } public List<WarehouseConfigItem> warehouseConfigList(Long projectId,String ids,String type) { - return baseDao.warehouseList(projectId,ids,type); + if (type.contains("outbound")){ + return baseDao.outboundSelectList(projectId,ids); + } + return baseDao.changeSelectList(projectId,ids); } } diff --git a/modules/mainPart/src/main/resources/mapper/configItemWarehouse/WarehouseConfigItemDao.xml b/modules/mainPart/src/main/resources/mapper/configItemWarehouse/WarehouseConfigItemDao.xml index bdb55b1..1819532 100644 --- a/modules/mainPart/src/main/resources/mapper/configItemWarehouse/WarehouseConfigItemDao.xml +++ b/modules/mainPart/src/main/resources/mapper/configItemWarehouse/WarehouseConfigItemDao.xml @@ -47,22 +47,42 @@ WHERE i.is_delete = 0 AND i.project_id = ${projectId} </select> - <select id="warehouseList" resultType="com.zt.life.modules.configItemWarehouse.model.WarehouseConfigItem"> + <select id="changeSelectList" resultType="com.zt.life.modules.configItemWarehouse.model.WarehouseConfigItem"> SET @row_number = 0; SELECT (@row_number := @row_number + 1) AS no, - a.item_name,a.item_identify,a.version as retrospect_version,a.secret_class,a.project_id,a.id as select_id + a.item_name,a.item_identify,a.version as retrospect_version,a.secret_class,a.project_id,a.id as change_select_id from config_item_warehouse_detail a WHERE a.is_delete = 0 and a.project_id = ${projectId} + and a.outbound_select_id IS NOT NULL <if test="ids!=null and ids!=''"> AND id not in (${ids}) </if> - and a.id NOT IN (SELECT '${type}' FROM config_item_warehouse_detail + and a.id NOT IN (SELECT change_select_id FROM config_item_warehouse_detail WHERE ( SELECT count(*) FROM config_item_warehouse_detail WHERE id IN (SELECT - '${type}' + change_select_id FROM config_item_warehouse_detail) ) > 0) </select> + <select id="outboundSelectList" resultType="com.zt.life.modules.configItemWarehouse.model.WarehouseConfigItem"> + SET @row_number = 0; + SELECT (@row_number := @row_number + 1) AS no, + a.item_name,a.item_identify,a.version,a.secret_class,a.project_id,a.id as outbound_select_id + from config_item_warehouse_detail a + WHERE a.is_delete = 0 + and a.project_id = ${projectId} + and a.change_select_id IS NOT NULL + <if test="ids!=null and ids!=''"> + AND id not in (${ids}) + </if> + and a.id NOT IN (SELECT outbound_select_id FROM config_item_warehouse_detail + WHERE + ( SELECT count(*) FROM config_item_warehouse_detail WHERE id IN (SELECT + outbound_select_id + FROM + config_item_warehouse_detail) ) > 0) + </select> + </mapper> diff --git a/web/src/App.vue b/web/src/App.vue index fbfbbe6..c8ceda9 100644 --- a/web/src/App.vue +++ b/web/src/App.vue @@ -25,7 +25,7 @@ document.querySelector('html').setAttribute('lang', val) // 鍙互鍦ㄨ繖閲屼慨鏀瑰浗闄呭寲鏄剧ず鍚嶇О - messages[val].brand.lg = '娴嬭瘯杩囩▼绠$悊骞冲彴' + messages[val].brand.lg = '杞欢娴嬭瘯椤圭洰绠$悊宸ュ叿' messages[val].company.name = '鍗曚綅鍚嶇О' messages[val].company.code = '鍗曚綅浠g爜' messages[val].company.shortName = '鍗曚綅绠�绉�' diff --git a/web/src/views/modules/configItemOutbound/ConfigItemOutbound-AddOrUpdate.vue b/web/src/views/modules/configItemOutbound/ConfigItemOutbound-AddOrUpdate.vue new file mode 100644 index 0000000..0151556 --- /dev/null +++ b/web/src/views/modules/configItemOutbound/ConfigItemOutbound-AddOrUpdate.vue @@ -0,0 +1,440 @@ +<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="configChangeFormAuto"> + <div> + <el-form-item label-width="60px" label="缂栧彿:" style="width:100%;margin-bottom: -5px"> + <span>{{dataForm.configItemOutbound.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="configChangeContentWidth"> + <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 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 :disabled="stepMarker!=='pzxck_first'" v-model="dataForm.configItemOutbound.applicant" + placeholder="璇疯緭鍏ョ敵璇蜂汉"></el-input> + </el-form-item> + <el-form-item label="鐢宠鏃ユ湡" style="width: 49%"> + <el-date-picker + :disabled="stepMarker!=='pzxck_first'" + v-model="dataForm.configItemOutbound.applyDate" + type="date" + placeholder="璇烽�夋嫨鐢宠鏃ユ湡"> + </el-date-picker> + </el-form-item> + <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!=='pzxck_first'" v-model="dataForm.configItemOutbound.changeReason" placeholder="鍑哄簱鍘熷洜..."></el-input> + </el-form-item> + </div> + </div> + <el-form-item class="marginTopAndMarginBottom2" label="搴撶被鍨�" style="width: 99%"> + <zt-dict :disabled="stepMarker!=='pzxck_first'" v-model="dataForm.configItemOutbound.libraryType" :radio="true" dict="library_type"></zt-dict> + </el-form-item> + </div> + <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.configOutboundList" + stripe> + <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" width="200" label="閰嶇疆椤瑰悕绉�"> + <template v-slot="{ row }"> + <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="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> + </template> + </el-table-column> + <el-table-column prop="version" align="center" width="120" label="鐗堟湰"> + <template v-slot="{ row }"> + <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="secretClass" label="瀵嗙骇" width="100" align="center"> + <template v-slot="{ row }"> + <zt-dict :disabled="!showAddAndEdit" v-model="row.secretClass" placeholder="瀵嗙骇" dict="secret_class" + clearable></zt-dict> + </template> + </el-table-column> + <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)">淇敼妫�鏌ュ崟 + </zt-table-button> + <zt-table-button v-else-if="',杞欢娴嬭瘯璁″垝锛岃蒋浠舵祴璇曡鏄庯紝杞欢娴嬭瘯璁板綍锛岃蒋浠舵祴璇曟姤鍛�'.indexOf(row.itemName)>0" + @click="openCheckOrderWin(row)">鏂板妫�鏌ュ崟 + </zt-table-button> + </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 busi-type="config_item_warehouse" model-name="row" :dataForm="row" + v-model="row.files"/> + </template> + </el-table-column> + </el-table> + <div v-if="showAddAndEdit && !dataForm.disabled" class="icon-container" @click="handleCommand"> + <!-- 鏀剧疆鍥哄畾鐨勫浘鏍� --> + <i class="el-icon-plus"></i> + </div> + </div> + </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!=='pzxck_bmsh'" v-model="dataForm.configItemOutbound.approvalOpinions" + dict="is_pass" :radio="true" + clearable></zt-dict> + </el-form-item> + <el-form-item label-width="80%" label="绛惧瓧锛�" style="width: 65%"> + <span>{{dataForm.configItemOutbound.approvalSign}}</span> + </el-form-item> + <el-form-item label="鏃ユ湡锛�" style="width: 20%"> + <span>{{dataForm.configItemOutbound.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=='pzxck_cmcz'" type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�" + v-model="dataForm.configItemOutbound.outboundCmOperations"></el-input> + <span v-else>{{dataForm.configItemOutbound.outboundCmOperations}}</span> + </el-form-item> + <el-form-item label-width="80%" label="鎿嶄綔浜猴細" style="width: 65%"> + <span>{{dataForm.configItemOutbound.outboundOperator}}</span> + </el-form-item> + <el-form-item label="鏃ユ湡锛�" style="width: 20%"> + <span>{{dataForm.configItemOutbound.outboundOperateDate}}</span> + </el-form-item> + </div> + </div> + <div class="el-configChangeDialog"> + <div class="DFormWidth DAlign DHold"> + 澶囨敞 + </div> + <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.configItemOutbound.remark"></el-input> + </el-form-item> + </div> + </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() { + return { + disabled: true, + stepMarker: '', + title: '鏌ョ湅', + ids:'', + showColumn: false, + showAddAndEdit:false, + menuOptions: [ + {pageCode: 'plan', name: '杞欢娴嬭瘯璁″垝',itemIdentify:''}, + {pageCode: 'explain', name: '杞欢娴嬭瘯璇存槑'}, + {pageCode: 'record', name: '杞欢娴嬭瘯璁板綍'}, + {pageCode: 'report', name: '杞欢娴嬭瘯鎶ュ憡'}, + {pageCode: 'other', name: '鍏朵粬'} + ], + pageNameCode: {'杞欢娴嬭瘯璁″垝': 'plan', '杞欢娴嬭瘯璇存槑': 'explain', '杞欢娴嬭瘯璁板綍': 'record', '杞欢娴嬭瘯鎶ュ憡': 'report'}, + dataForm: { + id: '', + configItemOutbound: { + id: "", + code: "", + applicant: "", + applyDate: "", + libraryType: "", + outboundReason:'', + approvalOpinions: "", + approvalSign: "", + approvalDate: "", + CmOperations: "", + Operator: "", + OperateDate: "", + remark: "", + }, + project: { + code: '', + softwareName: '', + }, + configItemList: [], + flowInfoDto: {} + } + } + }, + created() { + const roleName = localStorage.getItem('roleName') + if (roleName && roleName.includes('QA')) { + this.showColumn = true; + } + if (roleName && roleName.includes('娴嬭瘯鍛�')) { + this.showAddAndEdit = true; + } + }, + computed: {}, + components: { + AddOrUpdateCheck, + ConfigItemList + }, + 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 = 'pzxck_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; + // }) + // }, + handleCommand() { + this.$nextTick(()=>{ + console.log(this.dataForm.projectId,'this.dataForm.projectId') + this.ids = this.dataForm.configOutboundList.map(item=>item.outboundSelectId).join(',') + this.$refs.configItemList.$refs.dialog.init(this.dataForm.projectId,this.ids) + }) + // 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.configOutboundList,'getChangeItemList(data)') + if(data.configOutboundList){ + this.dataForm.configOutboundList=this.dataForm.configOutboundList.concat(data.configOutboundList) + } + }, + openCheckOrderWin(row) { + console.log(row, "openCheckOrderWin(row)") + row.projectId = this.dataForm.projectId + if (!row.pageCode) { + if (!row.checkId) { + row.checkId = -1 + } + 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) { + 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 = `/configItemOutbound/ConfigItemOutbound/exportConfigOutbound` + window.location.href = `${window.SITE_CONFIG['apiURL']}${apiURL}?${params}` + }, + // 鑾峰彇淇℃伅 + async getInfo() { + let params = { + changeId: this.dataForm.id, + projectId: this.dataForm.projectId + } + let res = await this.$http.get(`/configItemOutbound/ConfigItemOutbound/getDto`, {params: params}) + this.dataForm = { + ...this.dataForm, + ...res.data + } + if (this.dataForm.project === null) { + this.dataForm.project = {} + } + if (this.dataForm.configItemOutbound === null) { + this.dataForm.circulatOrder = {} + } + if (this.dataForm.flowInfoDto === null) { + this.dataForm.flowInfoDto = {} + } + console.log(this.dataForm, "getInfo this.dataForm") + }, + // 琛ㄥ崟鎻愪氦 + async formSubmit(submitType) { + 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') { + let flowInfo = { + flowCode: 'pzxck', + stepIdMark: this.stepMarker, + submitType: submitType + } + this.dataForm.flowInfoDto = flowInfo; + } + let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/configItemOutbound/ConfigItemOutbound/', this.dataForm) + if (res.success) { + await this.$tip.success() + this.$refs.dialog.close() + this.$emit('refreshDataList') + } + } + } + } +</script> +<style> + .ManageFormAuto { + width: 70%; + margin: 0 auto; + } + + .confirmDAuto { + border: 1px solid; + } + + .el-configChangeDialog { + display: flex; + align-items: center; + } + + .DFormWidth { + width: 120px; + } + + .DAlign { + text-align: center; + } + + .DManageForm { + /*border-left: 1px solid;*/ + width: 100%; + } + + .DManageForm > .el-form-item > .el-form-item__content { + width: calc(100% - 120px); + } + + .el-form-item.el-CMTextarea > .el-form-item__content { + width: 100%; + } + + .el-form .el-form-item.el-wt-form-item-margin { + margin-left: 120px; + } + + .el-form-border { + border-top: 1px solid; + border-bottom: 1px solid; + } + + .el-margin-top-bot { + margin-top: 5px; + margin-bottom: 5px; + } + + .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; + } + + .configChangeContentWidth > .el-form-item > .el-form-item__content { + width: calc(100% - 120px); + } + + .configChangeContentWidth > .el-form-item.lastChild > .el-form-item__content { + width: calc(100% - 142px); + } + .configChangeFormAuto .acceptDate > .el-form-item > .el-form-item__content { + width: 100%; + } + .configChangeFormAuto .marginTopAndMarginBottom { + margin-top: 10px !important; + margin-bottom: 0 !important; + } + + .configChangeFormAuto .marginTopAndMarginBottom2 { + margin-top: -10px !important; + margin-bottom: 0 !important; + } +</style> diff --git a/web/src/views/modules/configItemOutbound/ConfigItemOutbound.vue b/web/src/views/modules/configItemOutbound/ConfigItemOutbound.vue new file mode 100644 index 0000000..1bc9ae5 --- /dev/null +++ b/web/src/views/modules/configItemOutbound/ConfigItemOutbound.vue @@ -0,0 +1,73 @@ +<template> + <div class="fa-card-a"> + <zt-table-wraper query-url="/configItemOutbound/ConfigItemOutbound/page" delete-url="/configItemOutbound/configItemOutbound/deleteConfigOutbound" v-slot="{ table }"> + <el-form :inline="true" :model="dataForm" @keyup.enter.native="table.query()"> + <el-form-item> + <el-input v-model="dataForm.code" placeholder="璇疯緭鍏ラ厤缃」鍏ュ簱缂栧彿" clearable></el-input> + </el-form-item> + <el-form-item> + <el-input v-model="dataForm.projectCode" placeholder="璇疯緭鍏ラ」鐩紪鍙�" clearable></el-input> + </el-form-item> + <el-form-item> + <el-input v-model="dataForm.softwareName" placeholder="璇疯緭鍏ラ」鐩悕绉�" clearable></el-input> + </el-form-item> + <el-form-item> + <zt-dict v-model="dataForm.libraryType" dict="library_type" clearable></zt-dict> + </el-form-item> + <el-form-item> + <zt-button type="query" @click="table.query()"/> + <zt-button type="primary" class="el-icon-edit" @click="add()">鏂板</zt-button> + <zt-button type="delete" @click="table.deleteHandle()"/> + </el-form-item> + </el-form> + <el-table v-loading="table.dataLoading" :data="table.dataList" height="100px" v-adaptive="{bottomOffset:70}" border @selection-change="table.selectionChangeHandle"> + <el-table-column :selectable="isCheckbox" align="center" type="selection" width="40"/> + <el-table-column prop="code" label="閰嶇疆椤瑰叆搴撶紪鍙�"/> + <el-table-column prop="projectCode" label="椤圭洰缂栧彿"/> + <el-table-column prop="softwareName" label="椤圭洰鍚嶇О"/> + <zt-table-column-dict prop="libraryType" label="搴撶被鍨�" dict="library_type"/> + <zt-table-column-handle :table="table" delete-perm="configItemOutbound::delete"/> + </el-table> + <!-- 寮圭獥, 鏂板 / 淇敼 --> + <add-or-update ref="addOrUpdate" @refreshDataList="table.query"/> + <ProjectSelect ref="projectSelect" + @refreshDataList="table.query" + @setProjectInfo="openAddWin"> + </ProjectSelect> + </zt-table-wraper> + </div> +</template> + +<script> + import AddOrUpdate from './ConfigItemOutbound-AddOrUpdate' + import ProjectSelect from "../project/Project-select"; + export default { + data() { + return { + dataForm: { + code: '', + projectCode: '', + softwareName: '', + libraryType: '' + } + } + }, + components: { + AddOrUpdate, + ProjectSelect + }, + methods:{ + add() { + this.$refs.projectSelect.$refs.dialog.init("config_item_outbound") + }, + isCheckbox(row,index){ + return !(row.flowInfo && row.flowInfo.bizId); + }, + openAddWin(row) { + console.log(row.id, 'row.id') + // this.$refs.addOrUpdate.$refs.dialog.init(null, {id: null, projectId: row.id}) + this.$refs.addOrUpdate.$refs.dialog.init(null, {id: null, projectId: row.id}) + }, + } + } +</script> diff --git a/web/src/views/modules/configItemOutbound/configItemList.vue b/web/src/views/modules/configItemOutbound/configItemList.vue new file mode 100644 index 0000000..ec741f8 --- /dev/null +++ b/web/src/views/modules/configItemOutbound/configItemList.vue @@ -0,0 +1,86 @@ +<template> + <zt-dialog ref="dialog" column="2" title="閫夋嫨閰嶇疆椤�" :hasConfirm="true" @confirm="formSubmit" :append-to-body="true"> + <el-card shadow="never" class="aui-card--fill"> + <div class="mod-project-project}"> + <zt-table-wraper :dataForm="dataForm" ref="tableObj" v-slot="{ table }" query-url="/configItemOutbound/ConfigItemOutbound/getItemList" + @dataLoaded="dataLoaded" + > + <el-table + :data="table.dataList" + height="100px" + @selection-change="changeRow" + v-adaptive="{bottomOffset:150}" + border> + <el-table-column align="center" type="selection" width="40"/> + <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" width="200" label="閰嶇疆椤瑰悕绉�"> + </el-table-column> + <el-table-column prop="itemIdentify" align="center" min-width="290" label="閰嶇疆椤规爣璇�"> + </el-table-column> + <el-table-column prop="version" align="center" width="120" label="鐗堟湰"> + </el-table-column> + <el-table-column prop="retrospectVersion" label="涓婃函鐗�" width="120" align="center"> + </el-table-column> + <el-table-column prop="secretClass" label="瀵嗙骇" width="100" align="center"> + <template v-slot="{ row }"> + <zt-dict :disabled="true" v-model="row.secretClass" placeholder="瀵嗙骇" dict="secret_class" + clearable></zt-dict> + </template> + </el-table-column> + </el-table> + </zt-table-wraper> + </div> + </el-card> + </zt-dialog> +</template> + +<script> +export default { + name: 'configItem-list', + data() { + return { + pageCode:'', + dataForm: { + ids:null, + projectId:'', + configOutboundList:[], + } + } + }, + methods: { + init(projectId,ids) { + this.dataForm.projectId = projectId + this.dataForm.ids = ids + console.log(this.dataForm,'this.dataForm.id') + this.$nextTick(()=>{ + this.$refs.tableObj.query() + }) + }, + indexFormat(index) { + return index += 1 + }, + dataLoaded(data){ + console.log(data,'data dataLoaded') + }, + changeRow(selection){ + this.dataForm.configOutboundList = selection + console.log(this.dataForm.configOutboundList,'this.dataForm.checkList 閫変腑鐨勫垪琛ㄦ暟鎹�') + }, + async formSubmit(){ + console.log(this.dataForm,'this.dataForm') + this.$emit('getChangeItemList',this.dataForm) + await this.$tip.success() + this.$refs.dialog.close() + } + }, +} +</script> +<style> +.form-input-width-1 .el-form-item > .el-form-item__content .el-input { + width: 150px; +} +</style> -- Gitblit v1.9.1