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