From 0dff85a422669f41ef6d8e88fa24bf26ca164cbd Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期二, 12 十二月 2023 10:38:03 +0800 Subject: [PATCH] 修改 --- web/packages/components/zt-dialog/src/zt-dialog.vue | 426 +++++++++++++++++++------------------- modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/ConfigItemWarehouse.java | 2 modules/mainPart/src/main/java/com/zt/life/modules/configItemChange/service/ConfigItemChangeService.java | 4 modules/mainPart/src/main/resources/mapper/configItemChange/ConfigItemChangeDao.xml | 2 web/src/views/modules/sys/task/already-task.vue | 8 modules/mainPart/src/main/resources/mapper/project/EnvironDao.xml | 2 zt/common/src/main/java/com/zt/common/entity/BaseEntity.java | 4 zt/core/src/main/java/com/zt/modules/workflow/service/WorkflowService.java | 20 + modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/service/ItemCirculatOrderService.java | 5 modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/ConfigItemWarehouseService.java | 4 modules/mainPart/src/main/resources/mapper/itemCirculatOrder/ItemCirculatOrderDao.xml | 2 modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/controller/TestCheckOrderController.java | 10 web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue | 15 + zt/core/src/main/resources/mapper/workflow/WfRunTaskDao.xml | 16 + web/packages/components/zt-table-column-handle/src/zt-table-column-handle.vue | 14 + zt/core/src/main/java/com/zt/modules/workflow/dao/WfRunTaskDao.java | 4 web/src/views/modules/configItemWarehouse/ConfigItemWarehouse.vue | 2 zt/common/src/main/java/com/zt/common/entity/FlowInfo.java | 30 ++ modules/mainPart/src/main/resources/mapper/configItemWarehouse/ConfigItemWarehouseDao.xml | 2 modules/mainPart/src/main/resources/mapper/project/SoftwareTestOrderDao.xml | 2 modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/service/TestCheckOrderService.java | 55 ++++ 21 files changed, 390 insertions(+), 239 deletions(-) diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/configItemChange/service/ConfigItemChangeService.java b/modules/mainPart/src/main/java/com/zt/life/modules/configItemChange/service/ConfigItemChangeService.java index 3a2244c..7b1b237 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/configItemChange/service/ConfigItemChangeService.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/configItemChange/service/ConfigItemChangeService.java @@ -69,7 +69,9 @@ * @return */ public List<ConfigItemChange> page(QueryFilter queryFilter) { - return baseDao.getList(queryFilter.getQueryParams()); + List<ConfigItemChange> list= baseDao.getList(queryFilter.getQueryParams()); + workflowService.getRunFlow(list,"pzxbg"); + return list; } /** diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/ConfigItemWarehouse.java b/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/ConfigItemWarehouse.java index 4995f4b..43b662c 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/ConfigItemWarehouse.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/ConfigItemWarehouse.java @@ -26,8 +26,6 @@ @ApiModelProperty(value = "椤圭洰ID") private Long projectId; - - @ApiModelProperty(value = "閰嶇疆椤瑰叆搴撶紪鍙�") private String code; diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/ConfigItemWarehouseService.java b/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/ConfigItemWarehouseService.java index 6c6234f..4d1257c 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/ConfigItemWarehouseService.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/ConfigItemWarehouseService.java @@ -76,7 +76,9 @@ * @return */ public List<ConfigItemWarehouse> page(QueryFilter queryFilter) { - return baseDao.getList(queryFilter.getQueryParams()); + List<ConfigItemWarehouse> list= baseDao.getList(queryFilter.getQueryParams()); + workflowService.getRunFlow(list,"pzxrk"); + return list; } /** diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/service/ItemCirculatOrderService.java b/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/service/ItemCirculatOrderService.java index d5cacb0..43ad94b 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/service/ItemCirculatOrderService.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/service/ItemCirculatOrderService.java @@ -4,6 +4,7 @@ import com.zt.common.service.BaseService; import com.zt.life.export.dto.WordFile; import com.zt.life.export.service.WordFileService; +import com.zt.life.modules.configItemWarehouse.model.ConfigItemWarehouse; import com.zt.life.modules.itemCirculatOrder.dao.ItemCirculatOrderDao; import com.zt.life.modules.itemCirculatOrder.dto.ItemCirculatOrderDto; import com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrder; @@ -78,7 +79,9 @@ * @return */ public List<ItemCirculatOrder> page(QueryFilter queryFilter) { - return baseDao.getList(queryFilter.getQueryParams()); + List<ItemCirculatOrder> list= baseDao.getList(queryFilter.getQueryParams()); + workflowService.getRunFlow(list,"pzxrk"); + return list; } /** diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/controller/TestCheckOrderController.java b/modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/controller/TestCheckOrderController.java index 07d81d7..1e31c25 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/controller/TestCheckOrderController.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/controller/TestCheckOrderController.java @@ -61,7 +61,7 @@ @ApiImplicitParam(name = "softwareName", value = "椤圭洰鍚嶇О", dataType = Constant.QT.STRING, format = "p.software_name^LK"), @ApiImplicitParam(name = "pageCode", value = "閰嶇疆椤规爣璇�", dataType = Constant.QT.STRING, format = "a.page_code^LK")}) public PageResult<TestCheckOrder> page(@ApiIgnore @QueryParam QueryFilter queryFilter) { - List<TestCheckOrder> testCheckOrder =testCheckOrderService.page(queryFilter); + List<TestCheckOrder> testCheckOrder = testCheckOrderService.page(queryFilter); return PageResult.ok(testCheckOrder); } @@ -109,10 +109,10 @@ return Result.ok(); } - /*@GetMapping("exportCheckOrder") + @GetMapping("exportCheckOrder") @ApiOperation("鎵撳嵃娴嬭瘯鐜寤虹珛纭琛�") @LogOperation("鎵撳嵃娴嬭瘯鐜寤虹珛纭琛�") - public void exportEnviron(Long id, HttpServletRequest request, HttpServletResponse response) { - environService.exportEnviron(id, request, response); - }*/ + public void exportCheckOrder(Long id, String pageCode, HttpServletRequest request, HttpServletResponse response) { + testCheckOrderService.exportCheckOrder(id,pageCode, request, response); + } } diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/service/TestCheckOrderService.java b/modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/service/TestCheckOrderService.java index 344a19f..2f1d9b9 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/service/TestCheckOrderService.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/service/TestCheckOrderService.java @@ -1,6 +1,9 @@ package com.zt.life.modules.testCheckOrder.service; +import cn.hutool.core.convert.Convert; import com.zt.common.service.BaseService; +import com.zt.life.export.dto.WordFile; +import com.zt.life.export.service.WordFileService; import com.zt.life.modules.configItemWarehouse.dto.ConfigItemWarehouseDto; import com.zt.life.modules.configItemWarehouse.model.WarehouseCmAudit; import com.zt.life.modules.configItemWarehouse.model.WarehouseConfigItem; @@ -8,6 +11,8 @@ import com.zt.life.modules.itemCirculatOrder.dto.ItemCirculatOrderDto; import com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrder; import com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrderTechnical; +import com.zt.life.modules.mainPart.utils.GetFilesPath; +import com.zt.life.modules.mainPart.utils.GetShowDictList; import com.zt.life.modules.project.model.Project; import com.zt.life.modules.project.service.ProjectService; import com.zt.life.modules.testCheckOrder.dao.TestCheckOrderDao; @@ -23,6 +28,10 @@ import com.zt.common.db.query.QueryFilter; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.FileNotFoundException; +import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -44,10 +53,19 @@ private ProjectService projectService; @Autowired + private GetShowDictList getShowDictList; + + @Autowired private SysCodeRuleService sysCodeRuleService; @Autowired private WorkflowService workflowService; + + @Autowired + private GetFilesPath getFilesPath; + + @Autowired + private WordFileService wordFileService; /** @@ -57,7 +75,9 @@ * @return */ public List<TestCheckOrder> page(QueryFilter queryFilter) { - return baseDao.getList(queryFilter.getQueryParams()); + List<TestCheckOrder> list = baseDao.getList(queryFilter.getQueryParams()); + workflowService.getRunFlow(list, "csjcd"); + return list; } /** @@ -133,4 +153,37 @@ } return checkId; } + + public void exportCheckOrder(Long id, String pageCode, HttpServletRequest request, HttpServletResponse response) { + try { + CheckOrderDto dataObj = this.getDto(id, null, pageCode); + + String processorPath = "鏂囦欢鍥剧墖:" + getFilesPath.getSignPath(Convert.toLong(dataObj.getCheckOrder().getProcessorId())); + dataObj.getCheckOrder().setProcessor(processorPath); + String verifierPath = "鏂囦欢鍥剧墖:" + getFilesPath.getSignPath(Convert.toLong(dataObj.getCheckOrder().getVerifierId())); + dataObj.getCheckOrder().setVerifier(verifierPath); + //閫氱敤瀛楀吀鍒楄〃瀛楃涓茬敓鎴� + for (TestCheckOrderList checkOrderList : dataObj.getCheckOrderList()) { + String value = checkOrderList.getCheckResult(); + String checkResultStr = getShowDictList.getShowDictList(value, "tristate1", false); + checkOrderList.setCheckResult(checkResultStr); + } + + Map<String, String> map = new HashMap<>(); + map.put("plan", "璁″垝"); + map.put("report", "鎶ュ憡"); + map.put("record", "璁板綍"); + map.put("explain", "璇存槑"); + String type = map.get(pageCode); + dataObj.setPageCode(type); + WordFile wordFile = new WordFile(); + wordFile.setModulePath("杞欢娴嬭瘯妫�鏌ュ崟.docx"); + wordFile.setWordName(dataObj.getProject().getSoftwareName() + "_杞欢娴嬭瘯"+type+"妫�鏌ュ崟.docx"); + wordFileService.exportWordFile(request, dataObj, wordFile, response); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } + } } diff --git a/modules/mainPart/src/main/resources/mapper/configItemChange/ConfigItemChangeDao.xml b/modules/mainPart/src/main/resources/mapper/configItemChange/ConfigItemChangeDao.xml index 5a475c3..d0fdb97 100644 --- a/modules/mainPart/src/main/resources/mapper/configItemChange/ConfigItemChangeDao.xml +++ b/modules/mainPart/src/main/resources/mapper/configItemChange/ConfigItemChangeDao.xml @@ -4,7 +4,7 @@ <mapper namespace="com.zt.life.modules.configItemChange.dao.ConfigItemChangeDao"> <select id="getList" resultType="com.zt.life.modules.configItemChange.model.ConfigItemChange"> - select a.* ,p.*,p.CODE AS projectCode + select a.* ,p.software_name,p.CODE AS projectCode from config_item_change a INNER JOIN project p ON p.id = a.project_id <where> diff --git a/modules/mainPart/src/main/resources/mapper/configItemWarehouse/ConfigItemWarehouseDao.xml b/modules/mainPart/src/main/resources/mapper/configItemWarehouse/ConfigItemWarehouseDao.xml index a39002e..96b7dc4 100644 --- a/modules/mainPart/src/main/resources/mapper/configItemWarehouse/ConfigItemWarehouseDao.xml +++ b/modules/mainPart/src/main/resources/mapper/configItemWarehouse/ConfigItemWarehouseDao.xml @@ -4,7 +4,7 @@ <mapper namespace="com.zt.life.modules.configItemWarehouse.dao.ConfigItemWarehouseDao"> <select id="getList" resultType="com.zt.life.modules.configItemWarehouse.model.ConfigItemWarehouse"> - select a.* ,p.*,p.CODE AS projectCode + select a.* ,p.software_name,p.CODE AS projectCode from config_item_warehouse a INNER JOIN project p ON p.id = a.project_id <where> diff --git a/modules/mainPart/src/main/resources/mapper/itemCirculatOrder/ItemCirculatOrderDao.xml b/modules/mainPart/src/main/resources/mapper/itemCirculatOrder/ItemCirculatOrderDao.xml index f9e3d1c..f7ab446 100644 --- a/modules/mainPart/src/main/resources/mapper/itemCirculatOrder/ItemCirculatOrderDao.xml +++ b/modules/mainPart/src/main/resources/mapper/itemCirculatOrder/ItemCirculatOrderDao.xml @@ -4,7 +4,7 @@ <mapper namespace="com.zt.life.modules.itemCirculatOrder.dao.ItemCirculatOrderDao"> <select id="getList" resultType="com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrder"> - select a.*, p.* + select a.*, p.software_name,p.software_identity from item_circulat_order a INNER JOIN project p ON p.id = a.project_id <where> diff --git a/modules/mainPart/src/main/resources/mapper/project/EnvironDao.xml b/modules/mainPart/src/main/resources/mapper/project/EnvironDao.xml index bb4bcc9..8323d84 100644 --- a/modules/mainPart/src/main/resources/mapper/project/EnvironDao.xml +++ b/modules/mainPart/src/main/resources/mapper/project/EnvironDao.xml @@ -3,7 +3,7 @@ <mapper namespace="com.zt.life.modules.project.dao.EnvironDao"> <select id="getList" resultType="com.zt.life.modules.project.model.Environ"> - SELECT a.*, p.* + SELECT a.*, p.software_name,p.software_identity FROM environ a INNER JOIN project p ON p.id = a.project_id <where> diff --git a/modules/mainPart/src/main/resources/mapper/project/SoftwareTestOrderDao.xml b/modules/mainPart/src/main/resources/mapper/project/SoftwareTestOrderDao.xml index e5b8ec0..eb6db4d 100644 --- a/modules/mainPart/src/main/resources/mapper/project/SoftwareTestOrderDao.xml +++ b/modules/mainPart/src/main/resources/mapper/project/SoftwareTestOrderDao.xml @@ -4,7 +4,7 @@ <mapper namespace="com.zt.life.modules.project.dao.SoftwareTestOrderDao"> <select id="getList" resultType="com.zt.life.modules.project.model.SoftwareTestOrder"> - SELECT a.*, p.* + SELECT a.*, p.software_name,p.software_identity FROM software_test_order a INNER JOIN project p ON p.id = a.project_id <where> diff --git a/web/packages/components/zt-dialog/src/zt-dialog.vue b/web/packages/components/zt-dialog/src/zt-dialog.vue index 8ef6a6e..d160bcb 100644 --- a/web/packages/components/zt-dialog/src/zt-dialog.vue +++ b/web/packages/components/zt-dialog/src/zt-dialog.vue @@ -1,237 +1,237 @@ <template> - <el-dialog - v-dialogDrag - :class="{'dialog-column-1': column === '1', 'dialog-column-2': column === '2', 'dialog-column-3': column === '3', 'dialog-column-4': column === '4'}" - :visible.sync="visible" - v-if="visible" - :title="_title" - :close-on-click-modal="false" - :close-on-press-escape="false" - :append-to-body="appendToBody" - @open="onOpen" - @close="onClose"> - <slot></slot> - <template slot="footer"> - <template v-if="isView"> - <el-button type="info" @click="close()">{{ $t('close') }}</el-button> - </template> - <template v-else> - <template v-if="stepMarker && stepMarker.indexOf('first')>0"> - <el-button type="warning" @click="formSubmit('zc')">鏆傚瓨</el-button> - <el-button type="warning" @click="formSubmit('tj')" v-if="">鎻愪氦 - </el-button> - </template> - <template v-else-if="stepMarker"> - <el-button type="warning" @click="formSubmit('zc')">鏆傚瓨</el-button> - <el-button type="warning" @click="formSubmit('bl')">鍔炵悊</el-button> - </template> - <el-button type="primary" @click="formSubmit('qd')" v-preventReClick v-else-if="editAble && hasConfirm">{{ - $t('confirm') }} - </el-button> - <el-button type="warning" @click="formSubmit('bc')" v-else-if="editAble">淇濆瓨 - </el-button> - - <el-button @click="visible = false" v-if="editAble||stepMarker">{{ $t('cancel') }}</el-button> - <el-button type="info" @click="close()" v-else>{{ $t('close') }}</el-button> - </template> - <slot name="footer"></slot> + <el-dialog + v-dialogDrag + :class="{'dialog-column-1': column === '1', 'dialog-column-2': column === '2', 'dialog-column-3': column === '3', 'dialog-column-4': column === '4'}" + :visible.sync="visible" + v-if="visible" + :title="_title" + :close-on-click-modal="false" + :close-on-press-escape="false" + :append-to-body="appendToBody" + @open="onOpen" + @close="onClose"> + <slot></slot> + <template slot="footer"> + <template v-if="isView"> + <el-button type="info" @click="close()">{{ $t('close') }}</el-button> + </template> + <template v-else> + <template v-if="stepMarker && stepMarker.indexOf('first')>0"> + <el-button type="warning" @click="formSubmit('zc')">鏆傚瓨</el-button> + <el-button type="warning" @click="formSubmit('tj')" v-if="">鎻愪氦 + </el-button> </template> - </el-dialog> + <template v-else-if="stepMarker"> + <el-button type="warning" @click="formSubmit('zc')">鏆傚瓨</el-button> + <el-button type="warning" @click="formSubmit('bl')">鍔炵悊</el-button> + </template> + <el-button v-else-if="editAble && hasConfirm" type="primary" @click="formSubmit('qd')" v-preventReClick>{{ + $t('confirm') }} + </el-button> + <el-button v-else-if="editAble" type="warning" @click="formSubmit('bc')">淇濆瓨 + </el-button> + + <el-button type="info" @click="visible = false" v-if="editAble||stepMarker">{{ $t('cancel') }}</el-button> + <el-button type="info" @click="close()" v-else>{{ $t('close') }}</el-button> + </template> + <slot name="footer"></slot> + </template> + </el-dialog> </template> <script> - import cloneDeep from 'lodash/cloneDeep' + import cloneDeep from 'lodash/cloneDeep' - export default { - name: 'ZtDialog', - props: { - title: String, - column: { // 鍑犲垪 - type: String, - default: '1' - }, - stepMarker: {}, - appendToBody: { - type: Boolean, - default: false - }, - hasConfirm: { - type: Boolean, - default: false - }, - editAble: { - type: Boolean, - default: true - }, - hasSubmit: { - type: Boolean, - default: false - }, - hasSave: { - type: Boolean, - default: false - } - }, - data() { - return { - dataFormBack: null, - visible: false, - isView:true, - //editAble: true // 鏄惁鍙紪杈� - } - }, - computed: { - _title() { - if (this.title) { - return this.title - } else if (!this.editAble) { - return this.$t('view') - } else if (this.$parent.dataForm !== undefined) { - return !this.$parent.dataForm.id ? this.$t('add') : this.$t('update') - } - } - }, - mounted() { - this.dataFormBack = cloneDeep(this.$parent.dataForm) - }, - methods: { - init(id, row, isView) { - this.$nextTick(() => { - // 娓呯┖琛ㄥ崟鏍¢獙 - console.log(this.$parent.$refs.dataForm, id, row, isView, 'this.$parent.$refs.dataForm') - if (this.$parent.$refs.dataForm) { // dialog閲岄潰鐨刦orm - this.$parent.$refs.dataForm.resetFields() - } - - // this.editAble = isView !== true // 鏄惁鍙紪杈� - - // 璁剧疆dialog鐖堕〉闈㈠垵濮嬪寲琛ㄥ崟 - this.$parent.dataForm = cloneDeep(this.dataFormBack) - if (this.$parent.dataForm) { - this.$parent.dataForm.id = id - this.$parent.dataForm.disabled = isView === true // 琛ㄥ崟鏄惁鍙紪杈� - } - - if (this.$parent.init) { - console.log(id, row,this.stepMarker, 'id row') - this.$parent.init(id, row) - } - if (id && this.$parent.getInfo) { - this.$parent.getInfo() - } - }) - this.open() - }, - // 琛ㄥ崟鎻愪氦 - formSubmit(submitType) { - let dataForm = this.$parent.$refs.dataForm - if (dataForm) { - dataForm.validate(async valid => { - if (valid) { - this.$emit('confirm', submitType) - } else { - this.$nextTick(() => { - let isError = document.getElementsByClassName('is-error') - isError[0].scrollIntoView({ - // 婊氬姩鍒版寚瀹氳妭鐐� - // 鍊兼湁start,center,end锛宯earest锛屽綋鍓嶆樉绀哄湪瑙嗗浘鍖哄煙涓棿 - block: 'center', - // 鍊兼湁auto銆乮nstant,smooth锛岀紦鍔ㄥ姩鐢伙紙褰撳墠鏄參閫熺殑锛� - behavior: 'smooth' - }) - }) - } - }) - } else { - this.$emit('confirm', submitType) - } - }, - open() { - this.visible = true - }, - close() { - this.visible = false - }, - onOpen() { - this.$emit('open') - }, - onClose() { - this.$emit('close') - } + export default { + name: 'ZtDialog', + props: { + title: String, + column: { // 鍑犲垪 + type: String, + default: '1' + }, + stepMarker: {}, + appendToBody: { + type: Boolean, + default: false + }, + hasConfirm: { + type: Boolean, + default: false + }, + editAble: { + type: Boolean, + default: false + }, + hasSubmit: { + type: Boolean, + default: false + }, + hasSave: { + type: Boolean, + default: false + } + }, + data() { + return { + dataFormBack: null, + visible: false, + isView: false, + //editAble: true // 鏄惁鍙紪杈� + } + }, + computed: { + _title() { + if (this.title) { + return this.title + } else if (!this.editAble) { + return this.$t('view') + } else if (this.$parent.dataForm !== undefined) { + return !this.$parent.dataForm.id ? this.$t('add') : this.$t('update') } + } + }, + mounted() { + this.dataFormBack = cloneDeep(this.$parent.dataForm) + }, + methods: { + init(id, row, isView) { + this.isView = isView + this.$nextTick(() => { + // 娓呯┖琛ㄥ崟鏍¢獙 + console.log(this.$parent.$refs.dataForm, id, row, isView, 'this.$parent.$refs.dataForm') + if (this.$parent.$refs.dataForm) { // dialog閲岄潰鐨刦orm + this.$parent.$refs.dataForm.resetFields() + } + + this.editAble = isView !== true // 鏄惁鍙紪杈� + + this.$parent.dataForm = cloneDeep(this.dataFormBack) + if (this.$parent.dataForm) { + this.$parent.dataForm.id = id + this.$parent.dataForm.disabled = isView === true // 琛ㄥ崟鏄惁鍙紪杈� + } + + if (this.$parent.init) { + console.log(id, row, this.stepMarker, 'id row') + this.$parent.init(id, row) + } + if (id && this.$parent.getInfo) { + this.$parent.getInfo() + } + }) + this.open() + }, + // 琛ㄥ崟鎻愪氦 + formSubmit(submitType) { + let dataForm = this.$parent.$refs.dataForm + if (dataForm) { + dataForm.validate(async valid => { + if (valid) { + this.$emit('confirm', submitType) + } else { + this.$nextTick(() => { + let isError = document.getElementsByClassName('is-error') + isError[0].scrollIntoView({ + // 婊氬姩鍒版寚瀹氳妭鐐� + // 鍊兼湁start,center,end锛宯earest锛屽綋鍓嶆樉绀哄湪瑙嗗浘鍖哄煙涓棿 + block: 'center', + // 鍊兼湁auto銆乮nstant,smooth锛岀紦鍔ㄥ姩鐢伙紙褰撳墠鏄參閫熺殑锛� + behavior: 'smooth' + }) + }) + } + }) + } else { + this.$emit('confirm', submitType) + } + }, + open() { + this.visible = true + }, + close() { + this.visible = false + }, + onOpen() { + this.$emit('open') + }, + onClose() { + this.$emit('close') + } } + } </script> <style lang="scss" scoped> - .dialog-column-1 { - /deep/ .el-dialog { - position: fixed; - margin-top: 0 !important; - top: 50% !important; - left: 50% !important; - transform: translate(-50%, -50%); - width: 50%; - /*margin-top:7vh !important;*/ - .el-form > .el-form-item, .el-form .el-collapse-item__content > .el-form-item { - width: 75%; - } - } + .dialog-column-1 { + /deep/ .el-dialog { + position: fixed; + margin-top: 0 !important; + top: 50% !important; + left: 50% !important; + transform: translate(-50%, -50%); + width: 50%; + /*margin-top:7vh !important;*/ + .el-form > .el-form-item, .el-form .el-collapse-item__content > .el-form-item { + width: 75%; + } } + } - .dialog-column-2 { - /deep/ .el-dialog { - width: 60%; - position: fixed; - margin-top: 0 !important; - top: 50% !important; - left: 50% !important; - transform: translate(-50%, -50%); + .dialog-column-2 { + /deep/ .el-dialog { + width: 60%; + position: fixed; + margin-top: 0 !important; + top: 50% !important; + left: 50% !important; + transform: translate(-50%, -50%); - .el-form > .el-form-item, .el-form .el-collapse-item__content > .el-form-item { - width: 50%; - float: left; - } - } + .el-form > .el-form-item, .el-form .el-collapse-item__content > .el-form-item { + width: 50%; + float: left; + } } + } - .dialog-column-3 { - /deep/ .el-dialog { - width: 75%; - position: fixed; - margin-top: 0 !important; - top: 50% !important; - left: 50% !important; - transform: translate(-50%, -50%); + .dialog-column-3 { + /deep/ .el-dialog { + width: 75%; + position: fixed; + margin-top: 0 !important; + top: 50% !important; + left: 50% !important; + transform: translate(-50%, -50%); - .el-form > .el-form-item, .el-form .el-collapse-item__content > .el-form-item { - //width: 33.33333%; - float: left; - } - } + .el-form > .el-form-item, .el-form .el-collapse-item__content > .el-form-item { + //width: 33.33333%; + float: left; + } } + } - .dialog-column-4 { - /deep/ .el-dialog { - width: 90%; - position: fixed; - margin-top: 0 !important; - top: 50% !important; - left: 50% !important; - transform: translate(-50%, -50%); + .dialog-column-4 { + /deep/ .el-dialog { + width: 90%; + position: fixed; + margin-top: 0 !important; + top: 50% !important; + left: 50% !important; + transform: translate(-50%, -50%); - .el-form > .el-form-item, .el-form .el-collapse-item__content > .el-form-item { - //width: 33.33333%; - float: left; - } - } + .el-form > .el-form-item, .el-form .el-collapse-item__content > .el-form-item { + //width: 33.33333%; + float: left; + } } + } - /deep/ .el-form { - padding: 15px; + /deep/ .el-form { + padding: 15px; - .item-line-divider { - width: 100%; - height: 0px; - float: left; - } + .item-line-divider { + width: 100%; + height: 0px; + float: left; } + } </style> diff --git a/web/packages/components/zt-table-column-handle/src/zt-table-column-handle.vue b/web/packages/components/zt-table-column-handle/src/zt-table-column-handle.vue index 6f9cfc3..8891ea7 100644 --- a/web/packages/components/zt-table-column-handle/src/zt-table-column-handle.vue +++ b/web/packages/components/zt-table-column-handle/src/zt-table-column-handle.vue @@ -2,7 +2,7 @@ <el-table-column fixed="right" :label="$t('handle')" header-align="center" align="center" :width="width" v-slot="{ row }"> <slot :row="row"></slot> <zt-table-button v-if="isCanView(row)" type="default" @click="table.viewHandle(row)">{{ $t('view') }}</zt-table-button> - <zt-table-button v-if="isCanEidt(row) && $hasPermission(editPerm)" type="primary" @click="table.editHandle(row)">{{ $t('update') }}</zt-table-button> + <zt-table-button v-if="isCanEidt(row) && $hasPermission(editPerm) " type="primary" @click="table.editHandle(row)">{{ $t('update') }}</zt-table-button> <zt-table-button v-if="isCanDelete(row) && $hasPermission(deletePerm)" type="danger" @click="table.deleteHandle(row)">{{ $t('delete') }}</zt-table-button> </el-table-column> </template> @@ -41,10 +41,18 @@ return typeof this.hasView === 'boolean' ? this.hasView : this.hasView(row) }, isCanEidt(row) { - return typeof this.hasEdit === 'boolean' ? this.hasEdit : this.hasEdit(row) + if(row.flowInfo && row.flowInfo.bizId){ + return false + }else { + return typeof this.hasEdit === 'boolean' ? this.hasEdit : this.hasEdit(row) + } }, isCanDelete(row) { - return typeof this.hasDelete === 'boolean' ? this.hasDelete : this.hasDelete(row) + if(row.flowInfo && row.flowInfo.bizId){ + return false + }else { + return typeof this.hasDelete === 'boolean' ? this.hasDelete : this.hasDelete(row) + } } } } diff --git a/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse.vue b/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse.vue index 1b75940..feb8848 100644 --- a/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse.vue +++ b/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse.vue @@ -26,7 +26,7 @@ <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" edit-perm="configItemWarehouse:update" delete-perm="configItemWarehouse::delete"/> + <zt-table-column-handle :table="table" edit-perm="configItemWarehouse:update" delete-perm="configItemWarehouse::delete"/> </el-table> <!-- 寮圭獥, 鏂板 / 淇敼 --> <add-or-update ref="addOrUpdate" @refreshDataList="table.query"/> diff --git a/web/src/views/modules/sys/task/already-task.vue b/web/src/views/modules/sys/task/already-task.vue index 8196fb3..3541edc 100644 --- a/web/src/views/modules/sys/task/already-task.vue +++ b/web/src/views/modules/sys/task/already-task.vue @@ -189,19 +189,17 @@ }, check(row) { console.log(row, "task row"); - let row2 = cloneDeep(row) - row2.stepMarker = null if (row.flowCode === 'wplz') { this.$nextTick(()=>{ - this.$refs.itemCirculatOrder.$refs.dialog.init(row2.bizId,row2) + this.$refs.itemCirculatOrder.$refs.dialog.init(row.bizId,row, true) }) } else if (row.flowCode === 'pzxrk') { this.$nextTick(()=>{ - this.$refs.configItemWarehouse.$refs.dialog.init(row2.bizId,row2) + this.$refs.configItemWarehouse.$refs.dialog.init(row.bizId,row, true) }) } else if (row.flowCode === 'csjcd') { this.$nextTick(()=>{ - this.$refs.testCheckOrder.$refs.dialog.init(row2.bizId,row2) + this.$refs.testCheckOrder.$refs.dialog.init(row.bizId,row, true) }) } else { diff --git a/web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue b/web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue index c2b6344..0ba54c4 100644 --- a/web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue +++ b/web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue @@ -115,10 +115,16 @@ <template v-slot:footer> <el-button v-if="dataForm.disabled" type="primary" @click="print()">鎵撳嵃</el-button> </template> + <template v-slot:footer> + <el-button v-if="dataForm.disabled" type="primary" @click="print()">鎵撳嵃</el-button> + </template> </zt-dialog> </template> <script> + import qs from "qs"; + import Cookies from "js-cookie"; + export default { data() { return { @@ -202,6 +208,15 @@ } console.log(this.dataForm,'this.dataForm this.dataForm') }, + async print(){ + var params = qs.stringify({ + token: Cookies.get('token'), + id:this.dataForm.id, + pageCode: this.pageCode + }) + let apiURL = `/testCheckOrder/TestCheckOrder/exportCheckOrder` + window.location.href = `${window.SITE_CONFIG['apiURL']}${apiURL}?${params}` + }, // 琛ㄥ崟鎻愪氦 async formSubmit(submitType) { let isFlow = false diff --git a/zt/common/src/main/java/com/zt/common/entity/BaseEntity.java b/zt/common/src/main/java/com/zt/common/entity/BaseEntity.java index d20ad81..4093204 100644 --- a/zt/common/src/main/java/com/zt/common/entity/BaseEntity.java +++ b/zt/common/src/main/java/com/zt/common/entity/BaseEntity.java @@ -24,4 +24,8 @@ @ApiModelProperty("闄勪欢") @TableField(exist = false) private Map<String,String> accessoryMap; + + @TableField(exist = false) + @ApiModelProperty(value = "椤圭洰鍚嶇О") + private FlowInfo flowInfo; } diff --git a/zt/common/src/main/java/com/zt/common/entity/FlowInfo.java b/zt/common/src/main/java/com/zt/common/entity/FlowInfo.java new file mode 100644 index 0000000..26ee8c0 --- /dev/null +++ b/zt/common/src/main/java/com/zt/common/entity/FlowInfo.java @@ -0,0 +1,30 @@ +/** + * Copyright (c) 2021 All rights reserved. + * + * 鐗堟潈鎵�鏈夛紝渚垫潈蹇呯┒锛� + */ + +package com.zt.common.entity; + +import com.alibaba.fastjson.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.zt.common.entity.BusiEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +@ApiModel(value = "宸ヤ綔娴佷换鍔F_RUN_TASK") +@EqualsAndHashCode(callSuper=false) +public class FlowInfo { + @ApiModelProperty(value = "") + private Long bizId; + @ApiModelProperty(value = "") + private String stepMarker; +} diff --git a/zt/core/src/main/java/com/zt/modules/workflow/dao/WfRunTaskDao.java b/zt/core/src/main/java/com/zt/modules/workflow/dao/WfRunTaskDao.java index 154ab66..7353343 100644 --- a/zt/core/src/main/java/com/zt/modules/workflow/dao/WfRunTaskDao.java +++ b/zt/core/src/main/java/com/zt/modules/workflow/dao/WfRunTaskDao.java @@ -9,8 +9,8 @@ package com.zt.modules.workflow.dao; import com.zt.common.dao.BaseDao; +import com.zt.common.entity.FlowInfo; import com.zt.core.sys.model.SysUser; -import com.zt.modules.workflow.model.WfRunInstance; import com.zt.modules.workflow.model.WfRunTask; import com.zt.modules.workflow.dto.BizInfoDto; import com.zt.modules.workflowconfig.model.WfDefStep; @@ -99,4 +99,6 @@ void setTaskPartFinish3(Long bizId, Long receiveDeptId, Integer status); void deleteFlowStep(@Param("wfIdCode") String wfIdCode, @Param("stepIdMark") String stepIdMark, @Param("bizId") Long bizId); + + List<FlowInfo> getRunFlow(Map<String, Object> params); } diff --git a/zt/core/src/main/java/com/zt/modules/workflow/service/WorkflowService.java b/zt/core/src/main/java/com/zt/modules/workflow/service/WorkflowService.java index 6151833..6b570d6 100644 --- a/zt/core/src/main/java/com/zt/modules/workflow/service/WorkflowService.java +++ b/zt/core/src/main/java/com/zt/modules/workflow/service/WorkflowService.java @@ -5,6 +5,9 @@ package com.zt.modules.workflow.service; import cn.hutool.core.convert.Convert; +import com.zt.common.entity.BaseEntity; +import com.zt.common.entity.BusiEntity; +import com.zt.common.entity.FlowInfo; import com.zt.common.service.BaseService; import com.zt.common.utils.UUIDUtil; import com.zt.core.context.UserContext; @@ -27,6 +30,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.*; +import java.util.stream.Collectors; /** * 宸ヤ綔娴佹湇鍔� @@ -1021,4 +1025,20 @@ public void deleteFlowStep(String wfIdCode, String stepIdMark, Long bizId){ baseDao.deleteFlowStep(wfIdCode,stepIdMark,bizId); } + + public void getRunFlow(List<? extends BusiEntity> dataList, String flowCode) { + List<Long> ids = dataList.stream().map(f -> f.getId()).collect(Collectors.toList()); + Map<String, Object> params = new HashMap<String, Object>(); + params.put("bizIds", ids); + params.put("flowCode", flowCode); + List<FlowInfo> list = baseDao.getRunFlow(params); + for (BaseEntity item : dataList) { + List<FlowInfo> list2 = list.stream().filter(item2->item2.getBizId().equals(item.getId())).collect(Collectors.toList()); + if (list2.size()>0) { + item.setFlowInfo(list2.get(0)); + }else{ + item.setFlowInfo(new FlowInfo()); + } + } + } } diff --git a/zt/core/src/main/resources/mapper/workflow/WfRunTaskDao.xml b/zt/core/src/main/resources/mapper/workflow/WfRunTaskDao.xml index de5bcca..646b8a1 100644 --- a/zt/core/src/main/resources/mapper/workflow/WfRunTaskDao.xml +++ b/zt/core/src/main/resources/mapper/workflow/WfRunTaskDao.xml @@ -609,6 +609,22 @@ AND `STATUS` = 0 LIMIT 0,1 </select> + <select id="getRunFlow" resultType="com.zt.common.entity.FlowInfo"> + select * from ( + select distinct(a.biz_id) biz_id, a.STEP_MARKER,b.STEP_NO + from wf_run_task a + ,wf_def_step b + where a.STEP_ID = b.id and a.FLOW_CODE ='${flowCode}' + <if test="bizIds != null"> + and a.BIZ_ID in + <foreach item="item" collection="bizIds" open="(" separator="," close=")"> + #{item} + </foreach> + </if> + order by STEP_NO desc + ) c + group by biz_id + </select> <update id="updateConnect"> update `wf_run_task` -- Gitblit v1.9.1