From b21945e7dea2daa8b30bee3cdd4bca91277e3b5f Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期三, 29 十一月 2023 09:22:17 +0800
Subject: [PATCH] 6

---
 modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/dto/ItemCirculatOrderDto.java               |    5 
 web/packages/components/zt-dialog/src/zt-dialog.vue                                                              |  410 +++++++++++++------------
 web/src/views/modules/itemCirculatOrder/ItemCirculatOrder-AddOrUpdate.vue                                        |  251 +++++++-------
 zt/core/src/main/java/com/zt/modules/workflow/dto/FlowInfoDto.java                                               |   15 
 modules/mainPart/src/main/java/com/zt/life/modules/project/model/SoftwareTestOrder.java                          |    2 
 modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java                 |    3 
 web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue                                                  |    4 
 zt/core/src/main/java/com/zt/modules/workflow/service/WorkflowService.java                                       |   13 
 modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/controller/ItemCirculatOrderController.java |    8 
 modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/service/ItemCirculatOrderService.java       |   23 +
 web/src/views/modules/project/Project-select.vue                                                                 |    3 
 modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/WarehouseConfigItemService.java   |    2 
 modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/model/ItemCirculatOrder.java                |   25 +
 modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseConfigItem.java            |    2 
 web/src/views/modules/sys/task/stay-task.vue                                                                     |   87 ++--
 web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue                                    |    2 
 web/src/views/modules/sys/task/taskCenter.vue                                                                    |    6 
 modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/dao/WarehouseConfigItemDao.java           |    2 
 modules/mainPart/src/main/resources/mapper/configItemWarehouse/ConfigItemWarehouseDao.xml                        |    2 
 modules/mainPart/src/main/resources/mapper/configItemWarehouse/WarehouseConfigItemDao.xml                        |   37 +
 20 files changed, 494 insertions(+), 408 deletions(-)

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 d879a25..8e8286c 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
@@ -21,5 +21,5 @@
 
     List<WarehouseConfigItem> getList(Map<String, Object> params);
 
-    List<DictIstance> itemList(Long projectId);
+    List<WarehouseConfigItem> itemList(Long projectId);
 }
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseConfigItem.java b/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseConfigItem.java
index 87a07a1..9a0c518 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseConfigItem.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseConfigItem.java
@@ -31,7 +31,7 @@
 	private String itemName;
 
 	@ApiModelProperty(value = "閰嶇疆椤规爣璇�")
-	private String itemDentify;
+	private String itemIdentify;
 
 	@ApiModelProperty(value = "鐗堟湰")
 	private String version;
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 4ed09d9..46837af 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
@@ -47,7 +47,7 @@
         return baseDao.getList(params);
     }
 
-    public List<DictIstance> ConfigItemList(Long projectId) {
+    public List<WarehouseConfigItem> ConfigItemList(Long projectId) {
         return baseDao.itemList(projectId);
     }
 }
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/controller/ItemCirculatOrderController.java b/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/controller/ItemCirculatOrderController.java
index 6bc58bd..70405bf 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/controller/ItemCirculatOrderController.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/controller/ItemCirculatOrderController.java
@@ -92,7 +92,7 @@
     @PostMapping
     @ApiOperation("鏂板")
     @LogOperation("鏂板")
-    public Result insert(@RequestBody ItemCirculatOrderDto itemCirculatOrderDto){
+    public Result<Long> insert(@RequestBody ItemCirculatOrderDto itemCirculatOrderDto){
         //鏁堥獙鏁版嵁
         ValidatorUtils.validateEntity(itemCirculatOrderDto.getCirculatOrder(), AddGroup.class, DefaultGroup.class);
         Map<String, String> map = new HashMap<>();
@@ -100,18 +100,18 @@
         map.put("projectId",itemCirculatOrderDto.getProjectId().toString());
         itemCirculatOrderDto.getCirculatOrder().setCode(sysCodeRuleService.getNewCode(map));
         Boolean result = itemCirculatOrderService.save(itemCirculatOrderDto);
-        return Result.ok();
+        return Result.ok(itemCirculatOrderDto.getCirculatOrder().getId());
     }
 
     @PutMapping
     @ApiOperation("淇敼")
     @LogOperation("淇敼")
-    public Result update(@RequestBody ItemCirculatOrderDto itemCirculatOrderDto){
+    public Result<Long> update(@RequestBody ItemCirculatOrderDto itemCirculatOrderDto){
         //鏁堥獙鏁版嵁
         ValidatorUtils.validateEntity(itemCirculatOrderDto.getCirculatOrder(), UpdateGroup.class, DefaultGroup.class);
         Boolean result = itemCirculatOrderService.save(itemCirculatOrderDto);
 
-        return Result.ok();
+        return Result.ok(itemCirculatOrderDto.getCirculatOrder().getId());
     }
 
     @DeleteMapping("deleteCirculat")
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/dto/ItemCirculatOrderDto.java b/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/dto/ItemCirculatOrderDto.java
index 7a25f53..e12c1e4 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/dto/ItemCirculatOrderDto.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/dto/ItemCirculatOrderDto.java
@@ -4,7 +4,7 @@
 import com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrderTechnical;
 import com.zt.life.modules.project.model.*;
 import com.zt.life.modules.sysBaseInfo.model.TestAgencyInfo;
-import com.zt.life.sys.dto.OssDto;
+import com.zt.modules.workflow.dto.FlowInfoDto;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -16,6 +16,9 @@
     private Long id;
     private Long projectId;
     private Long circulatOrderid;
+    private String stepIdMark;
+
+    private FlowInfoDto flowInfoDto;
 
     @ApiModelProperty(value = "娴嬭瘯椤圭洰鍩烘湰淇℃伅")
     private Project project;
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/model/ItemCirculatOrder.java b/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/model/ItemCirculatOrder.java
index e16ba9d..5c1a3e6 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/model/ItemCirculatOrder.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/model/ItemCirculatOrder.java
@@ -36,7 +36,10 @@
 	private String itemOther;
 
 	@ApiModelProperty(value = "鐗╁搧鎺ユ敹浜�")
-	private String itemAccept;
+	private String itemAcceptor;
+
+	@ApiModelProperty(value = "鐗╁搧鎺ユ敹浜篒D")
+	private String itemAcceptorId;
 
 	@ApiModelProperty(value = "鐗╁搧鎺ユ敹鏃堕棿")
 	@JsonFormat(pattern = "yyyy-MM-dd")
@@ -45,29 +48,37 @@
 	@ApiModelProperty(value = "鐗╁搧鎺ユ敹鎯呭喌璇存槑")
 	private String acceptSituation;
 
+	@ApiModelProperty(value = "鐥呮瘨搴撶増鏈�")
+	private String virusLibraryVersion;
+
 	@ApiModelProperty(value = "鏍″噯妫�娴嬩汉")
-	private String calibratDetect;
+	private String calibratDetector;
+
+	@ApiModelProperty(value = "鏍″噯妫�娴嬩汉ID")
+	private String calibratDetectorId;
 
 	@ApiModelProperty(value = "鏍″噯妫�娴嬫椂闂�")
 	@JsonFormat(pattern = "yyyy-MM-dd")
 	private Date detectDate;
 
-
 	@ApiModelProperty(value = "鏍″噯妫�娴嬫儏鍐佃鏄�")
 	private String detectSituation;
 
-	@ApiModelProperty(value = "鐗╁搧鍏ュ簱浜�")
-	private String warehouse;
+/*	@ApiModelProperty(value = "鐗╁搧鍏ュ簱浜�")
+	private String warehousePerson;
 
 	@ApiModelProperty(value = "鐗╁搧鍏ュ簱鏃堕棿")
 	@JsonFormat(pattern = "yyyy-MM-dd")
 	private Date warehouseDate;
 
 	@ApiModelProperty(value = "鐗╁搧鍏ュ簱鎯呭喌")
-	private String warehouseSituation;
+	private String warehouseSituation;*/
 
 	@ApiModelProperty(value = "鐗╁搧鍙戞斁浜�")
-	private String itemIssue;
+	private String itemIssuer;
+
+    @ApiModelProperty(value = "鐗╁搧鍙戞斁浜篒D")
+	private String itemIssuerId;
 
 	@ApiModelProperty(value = "鐗╁搧鍙戞斁鏃堕棿")
 	@JsonFormat(pattern = "yyyy-MM-dd")
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 b527118..93b4818 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
@@ -19,9 +19,12 @@
 import com.zt.life.sys.service.SysOssConfigService;
 import com.zt.modules.coderule.service.SysCodeRuleService;
 import com.zt.modules.oss.service.SysOssService;
+import com.zt.modules.workflow.dto.FlowInfoDto;
+import com.zt.modules.workflow.service.WorkflowService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.zt.common.db.query.QueryFilter;
+
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -37,11 +40,11 @@
 /**
  * item_circulat_order
  *
- * @author zt generator 
+ * @author zt generator
  * @since 1.0.0 2023-11-22
  */
 @Service
-public class ItemCirculatOrderService  extends BaseService<ItemCirculatOrderDao, ItemCirculatOrder> {
+public class ItemCirculatOrderService extends BaseService<ItemCirculatOrderDao, ItemCirculatOrder> {
     @Autowired
     private SysOssConfigService sysOssConfigService;
 
@@ -61,7 +64,8 @@
     private ItemCirculatOrderTechnicalService technicalService;
 
     @Autowired
-    private SoftwareTestOrderService softwareTestOrderService;
+    private WorkflowService workflowService;
+
     /**
      * 鍒嗛〉鏌ヨ
      *
@@ -88,7 +92,7 @@
         else {
             Map<String, String> map = new HashMap<>();
             map.put("funCode", "item_circulat_order");
-            map.put("projectId",itemCirculatOrderDto.getProjectId().toString());
+            map.put("projectId", itemCirculatOrderDto.getProjectId().toString());
             itemCirculatOrderDto.getCirculatOrder().setProjectId(itemCirculatOrderDto.getProjectId());
             itemCirculatOrderDto.getCirculatOrder().setCode(sysCodeRuleService.getNewCode(map));
             baseDao.insert(itemCirculatOrderDto.getCirculatOrder());
@@ -112,6 +116,15 @@
         } else {
             testAgencyInfoService.update(itemCirculatOrderDto.getTestAgencyInfo());
         }
+
+        Long bizId = itemCirculatOrderDto.getCirculatOrder().getId();
+        FlowInfoDto flowInfoDto = itemCirculatOrderDto.getFlowInfoDto();
+        if ("tj".equals(flowInfoDto.getSubmitType()) || "bl".equals(flowInfoDto.getSubmitType())) {
+            if ("tj".equals(flowInfoDto.getSubmitType())) {
+                workflowService.startFlow(flowInfoDto.getFlowCode(), bizId);
+            }
+            workflowService.approvePass(flowInfoDto.getFlowCode(), bizId, flowInfoDto.getStepIdMark());
+        }
         return true;
     }
 
@@ -130,7 +143,7 @@
             data.setTechnicalList(technicalList);
 
         } else {
-            ItemCirculatOrder itemCirculatOrder =new ItemCirculatOrder();
+            ItemCirculatOrder itemCirculatOrder = new ItemCirculatOrder();
             data.setCirculatOrder(itemCirculatOrder);
             List<?> resultList = technicalService.itemList(projectId);
             List<?> technicalList = resultList;
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/model/SoftwareTestOrder.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/model/SoftwareTestOrder.java
index 5f3b574..f24a2b9 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/project/model/SoftwareTestOrder.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/model/SoftwareTestOrder.java
@@ -120,12 +120,14 @@
 	private String entrustSign;
 
 	@ApiModelProperty(value = "濮旀墭鏂圭瀛楁棩鏈�")
+	@JsonFormat(pattern = "yyyy-MM-dd")
 	private String entrustSignDate;
 
 	@ApiModelProperty(value = "鎵挎墭鏂圭瀛�")
 	private String contractSign;
 
 	@ApiModelProperty(value = "鎵挎墭鏂圭瀛楁棩鏈�")
+	@JsonFormat(pattern = "yyyy-MM-dd")
 	private String contractSignDate;
 
 	@TableField(exist = false)
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java
index a5a0624..ecdd3f3 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java
@@ -28,6 +28,7 @@
 import java.io.FileNotFoundException;
 import java.io.UnsupportedEncodingException;
 import java.text.SimpleDateFormat;
+import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -97,6 +98,8 @@
             Map<String, String> map = new HashMap<>();
             map.put("funCode", "software_test_order");
             map.put("projectId",softwareTestOrderDto.getProjectId().toString());
+          /*  DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+            softwareTestOrderDto.getSoftwareTestOrder().getEntrustSignDate();*/
             softwareTestOrderDto.getSoftwareTestOrder().setProjectId(softwareTestOrderDto.getProjectId());
             softwareTestOrderDto.getSoftwareTestOrder().setCode(sysCodeRuleService.getNewCode(map));
             baseDao.insert(softwareTestOrderDto.getSoftwareTestOrder());
diff --git a/modules/mainPart/src/main/resources/mapper/configItemWarehouse/ConfigItemWarehouseDao.xml b/modules/mainPart/src/main/resources/mapper/configItemWarehouse/ConfigItemWarehouseDao.xml
index c822433..58e02bc 100644
--- a/modules/mainPart/src/main/resources/mapper/configItemWarehouse/ConfigItemWarehouseDao.xml
+++ b/modules/mainPart/src/main/resources/mapper/configItemWarehouse/ConfigItemWarehouseDao.xml
@@ -19,7 +19,7 @@
     </select>
     <select id="itemList" resultType="com.zt.life.modules.configItemWarehouse.model.WarehouseCmAudit">
         SET @row_number = 0;
-        SELECT  dd.dict_label AS name,
+        SELECT  dd.dict_label AS examineItem,
         (@row_number := @row_number + 1) AS no
         FROM sys_dict_type dt
         JOIN sys_dict_data dd ON dt.ID = dd.DICT_TYPE_ID
diff --git a/modules/mainPart/src/main/resources/mapper/configItemWarehouse/WarehouseConfigItemDao.xml b/modules/mainPart/src/main/resources/mapper/configItemWarehouse/WarehouseConfigItemDao.xml
index 4a7a84f..fb58609 100644
--- a/modules/mainPart/src/main/resources/mapper/configItemWarehouse/WarehouseConfigItemDao.xml
+++ b/modules/mainPart/src/main/resources/mapper/configItemWarehouse/WarehouseConfigItemDao.xml
@@ -16,17 +16,32 @@
             ORDER BY ${orderBySql}
         </if>
     </select>
-    <select id="itemList" resultType="com.zt.core.sys.dto.DictIstance">
-        SELECT m.*, p.secret_class
-        FROM software_test_order_measured m
-        JOIN software_test_order s ON s.id = m.order_id
-        JOIN project p ON p.id = ${projectId}
-        <where>
-            s.is_delete = 0 and m.is_delete = 0
-            <if test="projectId!=null">
-                and s.project_id = ${projectId}
-            </if>
-        </where>
+    <select id="itemList" resultType="com.zt.life.modules.configItemWarehouse.model.WarehouseConfigItem">
+        SELECT p.secret_class,
+               SUBSTRING(m.name, LOCATE('杞欢', m.name) , LENGTH(m.name)) AS itemName,
+               m.identify AS version,
+               m.name AS Item_identify
+        FROM software_test_order s
+                 JOIN software_test_order_measured m ON s.project_id = ${projectId}
+                 JOIN project p ON p.id = ${projectId}
+        WHERE s.is_delete = 0
+          AND  s.id = m.order_id
+        UNION
+        SELECT NULL AS secretClass,
+               '杞欢娴嬭瘯濮旀墭鍗�' AS itemName,
+               NULL AS version,
+               s.code AS itemIdentify
+        FROM software_test_order s
+        WHERE s.is_delete = 0
+          AND  s.project_id = ${projectId}
+        UNION
+        SELECT NULL AS secretClass,
+               '鐗╁搧娴佽浆鍗�' AS itemName,
+               NULL AS version,
+               i.code AS itemIdentify
+        FROM item_circulat_order i
+        WHERE i.is_delete = 0
+          AND  i.project_id = ${projectId}
     </select>
 
 </mapper>
diff --git a/web/packages/components/zt-dialog/src/zt-dialog.vue b/web/packages/components/zt-dialog/src/zt-dialog.vue
index b636e20..3118d99 100644
--- a/web/packages/components/zt-dialog/src/zt-dialog.vue
+++ b/web/packages/components/zt-dialog/src/zt-dialog.vue
@@ -1,221 +1,231 @@
 <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">
-      <el-button @click="visible = false" v-show="editAble">{{ $t('cancel') }}</el-button>
-      <el-button type="primary" @click="formSubmit()" v-preventReClick v-show="editAble && hasConfirm">{{ $t('confirm') }}
-      </el-button>   <!--      纭畾 -->
-      <el-button type="warning" @click="formSubmit()"  v-show="stepMarker">鎻愪氦
-      </el-button>
-      <el-button type="warning" @click="formSubmit()"  v-show="!stepMarker">淇濆瓨
-      </el-button>
-      <el-button type="info" @click="close()" v-show="!editAble">{{ $t('close') }}</el-button>
-      <slot name="footer"></slot>
-    </template>
-  </el-dialog>
+    <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="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>
+
+            <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: true
-      },
-      editAble: {
-        type: Boolean,
-        default: true
-      },
-      hasSubmit:{
-        type: Boolean,
-        default: false
-      },
-      hasSave:{
-        type: Boolean,
-        default: false
-      }
-    },
-    data() {
-      return {
-        dataFormBack: null,
-        visible: 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.$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,'id row')
-            this.$parent.init(id, row)
-          }
-          if (id && this.$parent.getInfo) {
-            this.$parent.getInfo()
-          }
-        })
-        this.open()
-      },
-      // 琛ㄥ崟鎻愪氦
-      formSubmit() {
-        let dataForm = this.$parent.$refs.dataForm
-        if (dataForm) {
-          dataForm.validate(async valid => {
-            if (valid) {
-              this.$emit('confirm')
-            } else {
-              this.$nextTick(() => {
-                let isError = document.getElementsByClassName('is-error')
-                isError[0].scrollIntoView({
-                  // 婊氬姩鍒版寚瀹氳妭鐐�
-                  // 鍊兼湁start,center,end锛宯earest锛屽綋鍓嶆樉绀哄湪瑙嗗浘鍖哄煙涓棿
-                  block: 'center',
-                  // 鍊兼湁auto銆乮nstant,smooth锛岀紦鍔ㄥ姩鐢伙紙褰撳墠鏄參閫熺殑锛�
-                  behavior: 'smooth'
-                })
-              })
+    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
             }
-          })
-        } else {
-          this.$emit('confirm')
+        },
+        data() {
+            return {
+                dataFormBack: null,
+                visible: 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.$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, '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')
+            }
         }
-      },
-      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%);
-      .el-form > .el-form-item, .el-form .el-collapse-item__content > .el-form-item {
-        width: 50%;
-        float: left;
-      }
+    .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;
+            }
+        }
     }
-  }
 
-  .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;
-      }
+    .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;
+            }
+        }
     }
-  }
 
-  .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;
-      }
+    .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;
+            }
+        }
     }
-  }
 
-  /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/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue b/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue
index 382d02c..7c60f0b 100644
--- a/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue
+++ b/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue
@@ -48,7 +48,7 @@
               </el-table-column>
               <el-table-column prop="itemDentify" align="center" width="220" label="閰嶇疆椤规爣璇�">
                 <template v-slot="{ row }">
-                  <el-input v-model="row.itemDentify" placeholder="閰嶇疆椤规爣璇�"></el-input>
+                  <el-input v-model="row.itemIdentify" placeholder="閰嶇疆椤规爣璇�"></el-input>
                 </template>
               </el-table-column>
               <el-table-column prop="version" align="center" width="120" label="鐗堟湰">
diff --git a/web/src/views/modules/itemCirculatOrder/ItemCirculatOrder-AddOrUpdate.vue b/web/src/views/modules/itemCirculatOrder/ItemCirculatOrder-AddOrUpdate.vue
index be72b12..0a1b4af 100644
--- a/web/src/views/modules/itemCirculatOrder/ItemCirculatOrder-AddOrUpdate.vue
+++ b/web/src/views/modules/itemCirculatOrder/ItemCirculatOrder-AddOrUpdate.vue
@@ -1,12 +1,13 @@
 <template>
-  <zt-dialog ref="dialog" column="3" @confirm="formSubmit">
-    <el-form :model="dataForm" :inline="true" ref="dataForm" style="padding-top: 0" :disabled="dataForm.disabled" label-width="120px" class="circulationFormAuto">
+  <zt-dialog ref="dialog" column="3" :title="title" :stepMarker="stepMarker" @confirm="formSubmit">
+    <el-form :model="dataForm" :inline="true" ref="dataForm" style="padding-top: 0" :disabled="dataForm.disabled"
+             label-width="120px" class="circulationFormAuto">
       <div>
         <el-form-item label-width="60px" label="缂栧彿:" style="width:100%;margin-bottom: -5px">
           <span>{{dataForm.circulatOrder.code}}</span>
         </el-form-item>
       </div>
-      <div style="border: 1px solid rgba(0,0,0,.2);width: 99%" >
+      <div style="border: 1px solid rgba(0,0,0,.2);width: 99%">
         <div style="border-bottom: 1px solid rgba(0,0,0,.2);" class="circulationContentWidth">
           <el-form-item class="marginTopAndMarginBottom" label="涓撲笟瀹為獙瀹�" style="width: 32%">
             <el-input v-model="dataForm.testAgencyInfo.agencyName" placeholder="涓撲笟瀹為獙瀹�"></el-input>
@@ -31,7 +32,8 @@
           <div style="padding-left:5px;padding-right:5px;">
             <div style="padding: 5px">鐗╁搧鎶�鏈祫鏂欏強鏁伴噺锛�</div>
             <div class="table-container">
-              <el-table ref="tableCirculatOrderList" class="el-software el-margin-top-bot" border :data="dataForm.technicalList"
+              <el-table ref="tableCirculatOrderList" class="el-software el-margin-top-bot" border
+                        :data="dataForm.technicalList"
                         stripe>
                 <el-table-column prop="no" align="center" width="60" label="搴忓彿">
                   <template slot-scope="scope">
@@ -53,30 +55,30 @@
                     <el-input v-model="row.identify" placeholder="鐗堟湰"></el-input>
                   </template>
                 </el-table-column>
-                <el-table-column prop="secretClass" label="瀵嗙骇" width="100"  align="center">
+                <el-table-column prop="secretClass" label="瀵嗙骇" width="100" align="center">
                   <template v-slot="{ row }">
-<!--                    <el-input v-model="row.secretClass" placeholder="瀵嗙骇"></el-input>-->
+                    <!--                    <el-input v-model="row.secretClass" placeholder="瀵嗙骇"></el-input>-->
                     <zt-dict v-model="row.secretClass" dict="secret_class"></zt-dict>
                   </template>
                 </el-table-column>
-                <el-table-column prop="medium" label="浠嬭川" width="100"  align="center">
+                <el-table-column prop="medium" label="浠嬭川" width="100" align="center">
                   <template v-slot="{ row }">
                     <el-input v-model="row.medium" placeholder="浠嬭川"></el-input>
                   </template>
                 </el-table-column>
-                <el-table-column prop="amount" label="鏁伴噺" width="80"  align="center">
+                <el-table-column prop="amount" label="鏁伴噺" width="80" align="center">
                   <template v-slot="{ row }">
                     <el-input v-model="row.amount" placeholder="鏁伴噺"></el-input>
                   </template>
                 </el-table-column>
-                <el-table-column prop="remark" label="澶囨敞" width="100"  align="center">
+                <el-table-column prop="remark" label="澶囨敞" width="100" align="center">
                   <template v-slot="{ row }">
                     <el-input v-model="row.remark" placeholder="澶囨敞"></el-input>
                   </template>
                 </el-table-column>
-                <el-table-column fixed="right" prop="files" label="涓婁紶闄勪欢" width="300"  align="center">
+                <el-table-column fixed="right" prop="files" label="涓婁紶闄勪欢" width="300" align="center">
                   <template v-slot="{ row }">
-<!--                    <zt-table-button @click="files(row.id)">涓婁紶闄勪欢</zt-table-button>-->
+                    <!--                    <zt-table-button @click="files(row.id)">涓婁紶闄勪欢</zt-table-button>-->
                     <table-uploader busi-type="circulat_order" model-name="row" :dataForm="row"
                                     v-model="row.files"/>
                   </template>
@@ -94,7 +96,7 @@
             鐗╁搧鐨勫叾瀹冭姹�
           </div>
           <div style="width: calc(100% - 120px);">
-            <div  class="el-border-left">
+            <div class="el-border-left">
               <el-form-item label="鐗╁搧鏄惁闇�瑕佽繑杩�" label-width="150px" style="width:100%;padding-left:20px;margin-bottom:0">
                 <zt-dict v-model="dataForm.circulatOrder.itemRequire" :radio="true"
                          dict="is_or_not"></zt-dict>
@@ -110,15 +112,15 @@
             鐗╁搧鎺ユ敹浜�
           </div>
           <div class="el-border-left-right acceptDate" style="width: 20%;;height: 80px;">
-            <el-form-item  style="width: 100%;padding-left:20px;margin:0;">
-              {{dataForm.circulatOrder.itemAccept}}
+            <el-form-item style="width: 100%;padding-left:20px;margin:0;">
+              {{dataForm.circulatOrder.itemAcceptor}}
             </el-form-item>
           </div>
           <div style="width: 52px;text-align: center;font-weight: 600">
             鏃堕棿
           </div>
           <div class="el-border-left-right acceptDate" style="width: 20%;height: 80px;">
-            <el-form-item  style="width: 100%;padding-left:20px;margin:0;">
+            <el-form-item style="width: 100%;padding-left:20px;margin:0;">
               {{dataForm.circulatOrder.acceptDate}}
             </el-form-item>
           </div>
@@ -130,16 +132,16 @@
               <zt-dict v-model="dataForm.circulatOrder.acceptSituation" :radio="true" dict="is_or_not"></zt-dict>
             </el-form-item>
             <el-form-item label="鐥呮瘨搴撶増鏈細" label-width="150px" style="width:100%;padding-left:20px;margin-bottom:0">
-              <el-input v-model="dataForm.circulatOrder.itemOther"></el-input>
+              <el-input v-model="dataForm.circulatOrder.virusLibraryVersion"></el-input>
             </el-form-item>
           </div>
         </div>
-        <div class="el-flexCirculationDialog el-border-bottom">
+        <!--<div class="el-flexCirculationDialog el-border-bottom">
           <div style="width: 112px;text-align: center;font-weight: 600">
             鏍″噯/妫�娴嬫帴鏀朵汉
           </div>
           <div class="el-border-left-right" style="width: 20%;height: 40px;">
-            <el-form-item  style="width: 100%;padding-left:20px;margin:0;">
+            <el-form-item style="width: 100%;padding-left:20px;margin:0;">
               {{dataForm.circulatOrder.itemAccept}}
             </el-form-item>
           </div>
@@ -147,7 +149,7 @@
             鏃堕棿
           </div>
           <div class="el-border-left-right" style="width: 20%;height: 40px;">
-            <el-form-item  style="width: 100%;padding-left:20px;margin:0;">
+            <el-form-item style="width: 100%;padding-left:20px;margin:0;">
               {{dataForm.circulatOrder.acceptDate}}
             </el-form-item>
           </div>
@@ -159,21 +161,21 @@
               <zt-dict v-model="dataForm.circulatOrder.cscs" :radio="true" dict="is_or_not"></zt-dict>
             </el-form-item>
           </div>
-        </div>
+        </div>-->
         <div class="el-flexCirculationDialog el-border-bottom">
           <div style="width: 112px;text-align: center;font-weight: 600">
             鏍″噯妫�娴嬩汉
           </div>
           <div class="el-border-left-right" style="width: 20%;height: 40px;">
-            <el-form-item  style="width: 100%;padding-left:20px;margin:0;">
-              {{dataForm.circulatOrder.calibratDetect}}
+            <el-form-item style="width: 100%;padding-left:20px;margin:0;">
+              {{dataForm.circulatOrder.calibratDetector}}
             </el-form-item>
           </div>
           <div style="width: 52px;text-align: center;font-weight: 600">
             鏃堕棿
           </div>
           <div class="el-border-left-right" style="width: 20%;height: 40px;">
-            <el-form-item  style="width: 100%;padding-left:20px;margin:0;">
+            <el-form-item style="width: 100%;padding-left:20px;margin:0;">
               {{dataForm.circulatOrder.detectDate}}
             </el-form-item>
           </div>
@@ -186,12 +188,12 @@
             </el-form-item>
           </div>
         </div>
-        <div class="el-flexCirculationDialog el-border-bottom">
+       <!-- <div class="el-flexCirculationDialog el-border-bottom">
           <div style="width: 112px;text-align: center;font-weight: 600">
             鐗╁搧鍏ュ簱浜�
           </div>
           <div class="el-border-left-right" style="width: 20%;height: 40px;">
-            <el-form-item  style="width: 100%;padding-left:20px;margin:0;">
+            <el-form-item style="width: 100%;padding-left:20px;margin:0;">
               {{dataForm.circulatOrder.warehouse}}
             </el-form-item>
           </div>
@@ -199,7 +201,7 @@
             鏃堕棿
           </div>
           <div class="el-border-left-right" style="width: 20%;height: 40px;">
-            <el-form-item  style="width: 100%;padding-left:20px;margin:0;">
+            <el-form-item style="width: 100%;padding-left:20px;margin:0;">
               {{dataForm.circulatOrder.warehouseDate}}
             </el-form-item>
           </div>
@@ -211,21 +213,21 @@
               <zt-dict v-model="dataForm.circulatOrder.warehouseSituation" :radio="true" dict="is_or_not"></zt-dict>
             </el-form-item>
           </div>
-        </div>
+        </div>-->
         <div class="el-flexCirculationDialog el-border-bottom">
           <div style="width: 112px;text-align: center;font-weight: 600">
             鐗╁搧鍙戞斁浜�
           </div>
           <div class="el-border-left-right " style="width: 20%;height: 40px;">
-            <el-form-item  style="width: 100%;padding-left:20px;margin:0;">
-              {{dataForm.circulatOrder.itemIssue}}
+            <el-form-item style="width: 100%;padding-left:20px;margin:0;">
+              {{dataForm.circulatOrder.itemIssuer}}
             </el-form-item>
           </div>
           <div style="width: 52px;text-align: center;font-weight: 600">
             鏃堕棿
           </div>
           <div class="el-border-left-right " style="width: 20%;height: 40px;">
-            <el-form-item  style="width: 100%;padding-left:20px;margin:0;">
+            <el-form-item style="width: 100%;padding-left:20px;margin:0;">
               {{dataForm.circulatOrder.issueDate}}
             </el-form-item>
           </div>
@@ -243,58 +245,11 @@
             澶囨敞
           </div>
           <div class="el-border-left " style="width: 20%;height: 40px">
-            <el-form-item  style="width: 100%;padding-left:20px;margin:0;">
-              {{dataForm.circulatOrder.itemAccept}}
+            <el-form-item style="width: 100%;padding-left:20px;margin:0;">
+              <el-input v-model="dataForm.circulatOrder.itemAcceptr"></el-input>
             </el-form-item>
           </div>
         </div>
-<!--          <div class="circulationContentWidth">
-            <el-form-item class="marginTopAndMarginBottom" label="鐗╁搧鎺ユ敹浜�" style="width: 32%">
-              <el-input v-model="dataForm.circulatOrder.itemAccept" placeholder="鐗╁搧鎺ユ敹浜�"></el-input>
-            </el-form-item>
-            <el-form-item class="marginTopAndMarginBottom" label="鏃堕棿" style="width: 32%">
-              <el-input v-model="dataForm.circulatOrder.acceptDate" placeholder="鏃堕棿"></el-input>
-            </el-form-item>
-            <el-form-item class="marginTopAndMarginBottom" label="鎯呭喌璇存槑" style="width: 32%">
-              <span>鏄惁瀹屾垚鐥呮瘨鏌ユ潃锛�
-               <zt-dict v-model="dataForm.circulatOrder.acceptSituation" :radio="true" dict="is_or_not"></zt-dict>
-              </span>
-              <span>鐥呮瘨搴撶増鏈細<el-input v-model="dataForm.circulatOrder.acceptSituation" placeholder="鐥呮瘨搴撶増鏈�"></el-input></span>
-            </el-form-item>
-            <el-form-item class="marginTopAndMarginBottom3" label="鏍″噯妫�娴嬩汉" style="width: 32%">
-              <el-input v-model="dataForm.circulatOrder.calibratDetect" placeholder="鏍″噯妫�娴嬩汉"></el-input>
-            </el-form-item>
-            <el-form-item class="marginTopAndMarginBottom3" label="鏃堕棿" style="width: 32%">
-              <el-input v-model="dataForm.circulatOrder.detectDate" placeholder="鏃堕棿"></el-input>
-            </el-form-item>
-            <el-form-item class="marginTopAndMarginBottom3" label="鎯呭喌璇存槑" style="width: 32%">
-&lt;!&ndash;              <el-input v-model="dataForm.circulatOrder.detectSituation" placeholder="鎯呭喌璇存槑"></el-input>&ndash;&gt;
-              <zt-dict v-model="dataForm.circulatOrder.detectSituation" :radio="true" dict="is_or_not"></zt-dict>
-            </el-form-item>
-            <el-form-item class="marginTopAndMarginBottom2" label="鐗╁搧鍏ュ簱浜�" style="width: 32%">
-              <el-input v-model="dataForm.circulatOrder.warehouse" placeholder="鐗╁搧鍏ュ簱浜�"></el-input>
-            </el-form-item>
-            <el-form-item class="marginTopAndMarginBottom2" label="鏃堕棿" style="width: 32%">
-              <el-input v-model="dataForm.circulatOrder.warehouseDate" placeholder="鏃堕棿"></el-input>
-            </el-form-item>
-            <el-form-item class="marginTopAndMarginBottom2" label="鎯呭喌璇存槑" style="width: 32%">
-&lt;!&ndash;              <el-input v-model="dataForm.circulatOrder.warehouseSituation" placeholder="鎯呭喌璇存槑"></el-input>&ndash;&gt;
-              <zt-dict v-model="dataForm.circulatOrder.warehouseSituation" :radio="true" dict="is_or_not"></zt-dict>
-            </el-form-item>
-            <el-form-item class="marginTopAndMarginBottom2" label="鐗╁搧鍙戞斁浜�" style="width: 32%">
-              <el-input v-model="dataForm.circulatOrder.itemIssue" placeholder="鐗╁搧鍙戞斁浜�"></el-input>
-            </el-form-item>
-            <el-form-item class="marginTopAndMarginBottom2" label="鏃堕棿" style="width: 32%">
-              <el-input v-model="dataForm.circulatOrder.issueDate" placeholder="鏃堕棿"></el-input>
-            </el-form-item>
-            <el-form-item class="marginTopAndMarginBottom2" label="鎯呭喌璇存槑" style="width: 32%">
-&lt;!&ndash;              <el-input v-model="dataForm.circulatOrder.issueSituation" placeholder="鎯呭喌璇存槑"></el-input>&ndash;&gt;
-              <zt-dict v-model="dataForm.circulatOrder.issueSituation" :radio="true" dict="is_or_not"></zt-dict>
-            </el-form-item>
-            <el-form-item  class="marginTopAndMarginBottom2 lastChild" label="澶囨敞" style="width: 100%">
-              <el-input v-model="dataForm.circulatOrder.remark" placeholder="澶囨敞"></el-input>
-            </el-form-item>
-          </div>-->
       </div>
     </el-form>
   </zt-dialog>
@@ -304,52 +259,70 @@
   export default {
     data() {
       return {
+        stepMarker: '',
+        title: '鏌ョ湅',
         dataForm: {
           id: '',
-          circulatOrder:{
+          circulatOrder: {
             code: '1',
             itemAccept: '',
             itemRequire: '',
-            itemOther:'',
-            acceptSituation:'',
+            itemOther: '',
+            acceptSituation: '',
             acceptDate: '',
-            calibratDetect: '',
+            calibratDetector: '',
             detectDate: '',
             detectSituation: '',
             warehouse: '',
             warehouseDate: '',
             warehouseSituation: '',
-            itemIssue: '',
+            itemIssuer: '',
             issueDate: '',
             issueSituation: '',
             remark: '',
+            virusLibraryVersion:'',
+            itemAcceptor:''
           },
           project: {
             softwareIdentity: '',
             softwareName: '',
           },
           testAgencyInfo: {
-            agencyName:'',
+            agencyName: '',
           },
-          technicalList:[]
+          technicalList: [],
+          flowInfoDto: {}
         }
       }
     },
     methods: {
-      indexFormat(index){
+      indexFormat(index) {
         return index += 1
       },
-      init(id,row){
-        this.dataForm.id = row.id
+      init(id, row) {
+        if (id) {
+          this.dataForm.id = id
+        } else {
+          this.dataForm.id = row.id
+        }
         this.dataForm.projectId = row.projectId
         // this.dataForm.disabled
         this.getInfo()
-        console.log(this.dataForm.id,this.dataForm.projectId,'params params')
+        if (!this.dataForm.disabled) {
+          if (!row.stepMarker) {
+            this.stepMarker = 'wplz_first'
+            this.title = '鐗╁搧鎺ユ敹'
+          } else {
+            this.title = row.stepName
+            this.stepMarker = row.stepMarker
+          }
+        }
+        console.log(this.dataForm.id, this.dataForm.projectId, this.stepMarker, 'this.dataForm.id, this.dataForm.projectId,this.stepMarker')
       },
-      addCirculatRow(){
+      addCirculatRow() {
         this.dataForm.technicalList.push({})
-        this.$nextTick(()=>{
-          const tableBody=this.$refs.tableCirculatOrderList.$el.querySelector('.el-table__body-wrapper')
+        this.$nextTick(() => {
+          const tableBody = this.$refs.tableCirculatOrderList.$el.querySelector('.el-table__body-wrapper')
           tableBody.scrollTop = tableBody.scrollHeight;
         })
       },
@@ -359,55 +332,81 @@
           circulatOrderid: this.dataForm.id,
           projectId: this.dataForm.projectId
         }
-        let res = await this.$http.get(`/itemCirculatOrder/ItemCirculatOrder/getDto`,{params: params})
+        let res = await this.$http.get(`/itemCirculatOrder/ItemCirculatOrder/getDto`, {params: params})
         this.dataForm = {
           ...this.dataForm,
           ...res.data
         }
-        console.log(this.dataForm,"getInfo this.dataForm")
+        console.log(this.dataForm, "getInfo this.dataForm")
       },
       // 琛ㄥ崟鎻愪氦
-      async formSubmit() {
-        console.log(this.dataForm,"this.dataForm11111")
+      async formSubmit(submitType) {
+        console.log(this.dataForm, "this.dataForm11111")
+        if (submitType == 'tj' || submitType == 'bl') {
+          let flowInfo = {
+            flowCode: 'wplz',
+            stepIdMark: this.stepMarker,
+            submitType: submitType
+          }
+          this.dataForm.flowInfoDto = flowInfo;
+        }
         let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/itemCirculatOrder/ItemCirculatOrder/', this.dataForm)
         if (res.success) {
+          /*      if (submitType == 'tj') {
+                      console.log(res, 'bbbb')
+                      let res2 = await this.$http.get('/wf/startFlow', submitForm)
+                      if (res2.success) {
+                        let res3 = await this.$http.get('/wf/approvePass', submitForm)
+                        if (res3.success) {
+                        }
+                      }
+                    } else if (submitType == 'bl') {
+                      let res2 = await this.$http.get('/wf/approvePass', submitForm)
+                      if (res2.success) {
+                      }
+                    }*/
           await this.$tip.success()
           this.$refs.dialog.close()
           this.$emit('refreshDataList')
         }
-
       }
     }
   }
 </script>
 <style>
-.el-flexCirculationDialog{
-  display: flex;
-  align-items: center
-}
-.circulationContentWidth > .el-form-item > .el-form-item__content {
-  width: calc(100% - 120px);
-}
-.circulationContentWidth > .el-form-item.lastChild > .el-form-item__content {
-  width: calc(100% - 142px);
-}
-.circulationFormAuto .marginTopAndMarginBottom {
-  margin-top: 10px !important;
-  margin-bottom: 0 !important;
-}
+  .el-flexCirculationDialog {
+    display: flex;
+    align-items: center
+  }
 
-.circulationFormAuto .marginTopAndMarginBottom2 {
-  margin-top: -10px !important;
-  margin-bottom: 10px !important;
-}
-.circulationFormAuto .marginTopAndMarginBottom3 {
-  margin-top: 0 !important;
-  margin-bottom: 10px !important;
-}
-.acceptDate> .el-form-item > .el-form-item__content {
-  line-height: 80px;
-}
-.circulationFormAuto .el-radio {
-  margin-right: 10px;
-}
+  .circulationContentWidth > .el-form-item > .el-form-item__content {
+    width: calc(100% - 120px);
+  }
+
+  .circulationContentWidth > .el-form-item.lastChild > .el-form-item__content {
+    width: calc(100% - 142px);
+  }
+
+  .circulationFormAuto .marginTopAndMarginBottom {
+    margin-top: 10px !important;
+    margin-bottom: 0 !important;
+  }
+
+  .circulationFormAuto .marginTopAndMarginBottom2 {
+    margin-top: -10px !important;
+    margin-bottom: 10px !important;
+  }
+
+  .circulationFormAuto .marginTopAndMarginBottom3 {
+    margin-top: 0 !important;
+    margin-bottom: 10px !important;
+  }
+
+  .acceptDate > .el-form-item > .el-form-item__content {
+    line-height: 80px;
+  }
+
+  .circulationFormAuto .el-radio {
+    margin-right: 10px;
+  }
 </style>
diff --git a/web/src/views/modules/project/Project-select.vue b/web/src/views/modules/project/Project-select.vue
index 1d4ac08..96def2f 100644
--- a/web/src/views/modules/project/Project-select.vue
+++ b/web/src/views/modules/project/Project-select.vue
@@ -1,5 +1,5 @@
 <template>
-  <zt-dialog ref="dialog" column="2" :hasConfirm="false">
+  <zt-dialog ref="dialog" column="2" title="閫夋嫨椤圭洰" :editAble="false" :hasConfirm="false">
     <el-card shadow="never" class="aui-card--fill">
       <div class="mod-project-project}">
         <zt-table-wraper ref="tableObj" query-url="/project/Project/page" delete-url="/project/Project" v-slot="{ table }">
@@ -32,7 +32,6 @@
                     v-adaptive="{bottomOffset:150}"
                     @row-dblclick="selectedProject"
                     border @selection-change="table.selectionChangeHandle">
-            <el-table-column type="selection" align="center" width="40"/>
             <el-table-column prop="entrustUnitName" label="濮旀墭鍗曚綅鍚嶇О"/>
             <el-table-column prop="developUnitName" label="寮�鍙戝崟浣嶅悕绉�"/>
             <el-table-column prop="softwareName" label="杞欢鍚嶇О"/>
diff --git a/web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue b/web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue
index 96d00e4..6a2f30b 100644
--- a/web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue
+++ b/web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue
@@ -1,5 +1,5 @@
 <template>
-  <zt-dialog ref="dialog" column="2" @confirm="formSubmit">
+  <zt-dialog ref="dialog" column="2" @confirm="formSubmit" >
     <el-form ref="form" :inline="true" :model="dataForm" :disabled="dataForm.disabled" label-width="93px"
              class="weiTuoDanAuto" style="padding-top: 0">
       <div class="DManageForm">
@@ -376,7 +376,7 @@
               <div class="" style="width: 100%;">
                 <div class="el-flex" style="height: 40px">
                   <div style="width: 60%">
-                    <zt-select v-model="dataForm.softwareTestOrder.contractSign" url="/sys/userEx/getUsersList" :multiple="true" :clearable="true" placeholder="鎵挎墭鏂逛汉鍛�"/>
+                    <zt-select v-model="dataForm.softwareTestOrder.contractSign" url="/sys/userEx/getUsersList" placeholder="鎵挎墭鏂逛汉鍛�"/>
 <!--                    <span>{{ dataForm.contractSign }}</span>-->
                   </div>
                   <div class="el-flex" style="margin-left: 10%">
diff --git a/web/src/views/modules/sys/task/stay-task.vue b/web/src/views/modules/sys/task/stay-task.vue
index 208f476..b3921d5 100644
--- a/web/src/views/modules/sys/task/stay-task.vue
+++ b/web/src/views/modules/sys/task/stay-task.vue
@@ -3,7 +3,7 @@
     <!--    <zt-table-wraper ref="tableObj" query-url="/newPlan/taskCenter/page" :paging="false" :lazy="true" v-slot="{ table }"
                          paging-layout="total, prev, pager, next">-->
     <el-form :inline="true" :model="dataForm" @keyup.enter.native="getQuery()">
-      <el-input type="text" v-model="dataForm.djxlSystem" v-if="false" />
+      <el-input type="text" v-model="dataForm.djxlSystem" v-if="false"/>
     </el-form>
     <el-table ref="table"
               :height="getTransformHeight(transformHeight)"
@@ -19,7 +19,7 @@
       </el-table-column>
       <el-table-column align="left" prop="topic" label="宸ョ▼" width="150"/>
       <!--        <el-table-column align="left" prop="title" label="娴佺▼鍚嶇О" width="180"/>-->
-      <el-table-column align="left" prop="remark" label="鎽樿" />
+      <el-table-column align="left" prop="remark" label="鎽樿"/>
 
       <el-table-column align="center" prop="stepName" label="褰撳墠鐜妭" width="150px"/>
       <el-table-column align="center" prop="receiveTime" label="涓婁竴鐜妭鍔炵悊鏃堕棿" width="180px"/>
@@ -27,10 +27,17 @@
       <el-table-column align="center" prop="finishTime" label="璁″垝瀹屾垚鏃堕棿" width="160px"/>
       <!--        <el-table-column align="center" prop="statusName" label="鐘舵��" width="100px"/>-->
       <el-table-column align="center" prop="idleDays" label="鍋滅暀鏃堕棿锛堝ぉ锛�" width="150px"/>
-      <zt-table-column-handle fixed="right" :table="table" :has-edit="false" :has-delete="false" :has-view="false" width="120px">
+      <zt-table-column-handle fixed="right" :table="table" :has-edit="false" :has-delete="false" :has-view="false"
+                              width="120px">
         <template v-slot="{ row }">
-          <zt-table-button v-if="row.stepMarker!='hxsy_czsp'&&row.stepMarker!='hxsy_bzsp'&&row.stepMarker!='xbsy_czsp'&&row.stepMarker!='xbsy_bzsp'"  @click="createTask(row)">鍔炵悊</zt-table-button>
-          <zt-table-button v-if="row.stepMarker=='hxsy_czsp'||row.stepMarker=='hxsy_bzsp'||row.stepMarker=='xbsy_czsp'||row.stepMarker=='xbsy_bzsp'" @click="createTask(row)">鏌ラ槄</zt-table-button>
+          <zt-table-button
+            v-if="row.stepMarker!='hxsy_czsp'&&row.stepMarker!='hxsy_bzsp'&&row.stepMarker!='xbsy_czsp'&&row.stepMarker!='xbsy_bzsp'"
+            @click="createTask(row)">鍔炵悊
+          </zt-table-button>
+          <zt-table-button
+            v-if="row.stepMarker=='hxsy_czsp'||row.stepMarker=='hxsy_bzsp'||row.stepMarker=='xbsy_czsp'||row.stepMarker=='xbsy_bzsp'"
+            @click="createTask(row)">鏌ラ槄
+          </zt-table-button>
           <zt-table-button @click="flowChart(row)">娴佺▼鍥�</zt-table-button>
           <zt-table-button v-if="row.flowCode === 'yearPlan2'" @click="getFlowTrack (row)">娴佺▼杞ㄨ抗</zt-table-button>
         </template>
@@ -43,7 +50,8 @@
         @infinite="infiniteHandler"
         ref="infiniteLoading"
         force-use-infinite-wrapper=".alreadyTaskPushTable .el-table__body-wrapper">
-        <div slot="no-more" style="margin-top: 10px;margin-bottom: 10px;"><span v-if="dataListAll.length > pageSize">娌℃湁鏇村浜�</span></div>
+        <div slot="no-more" style="margin-top: 10px;margin-bottom: 10px;"><span v-if="dataListAll.length > pageSize">娌℃湁鏇村浜�</span>
+        </div>
       </infinite-loading>
     </el-table>
     <!-- 寰呭姙浠诲姟寮圭獥寮圭獥, 鏂板 / 淇敼 -->
@@ -63,22 +71,22 @@
         page: 1,
         pageSize: 30,
         dataLoading: false,
-        dataList:[],
-        dataListAll:[],
+        dataList: [],
+        dataListAll: [],
         dataForm: {
-          djxlSystem:''
+          djxlSystem: ''
         },
         dialogVisible: false,
         existConstructionInfo: false
       }
     },
-    props:{
-      system:{
-        type:String
+    props: {
+      system: {
+        type: String
       },
-      transformHeight:{
-        type:Boolean,
-        default:false
+      transformHeight: {
+        type: Boolean,
+        default: false
       }
     },
     watch: {
@@ -87,21 +95,19 @@
         // this.getIsExistConstructionInfo()
         this.getQuery()
       },
-      'tableBottomOffset'(){
-        console.log(this.tableBottomOffset,'tableBottomOffset')
+      'tableBottomOffset'() {
+        console.log(this.tableBottomOffset, 'tableBottomOffset')
       }
     },
-    computed:{
-
-    },
+    computed: {},
     components: {
       InfiniteLoading,
       ItemCirculatOrder
     },
     created() {
-      if (this.$route.path.indexOf('taskCenter')>0 || this.system=='smj'){
+      if (this.$route.path.indexOf('taskCenter') > 0 || this.system == 'smj') {
         this.transformHeight = true
-      }else{
+      } else {
         this.transformHeight = false
       }
     },
@@ -111,7 +117,7 @@
       }
       this.dataForm.djxlSystem = Cookies.get('djxlSystem')
       this.getQuery()
-      this.$EventBus.$on('newProject',()=>{
+      this.$EventBus.$on('newProject', () => {
         this.getQuery()
       })
     },
@@ -159,13 +165,13 @@
           this.$refs.infiniteLoading.$emit('$InfiniteLoading:reset');
         });
       },
-      async getQuery(){
+      async getQuery() {
         this.handleInfiniteLoadingBeforeGet()
         this.dataLoading = true
         let params = {
           djxlSystem: this.dataForm.djxlSystem,
         }
-        let res = await this.$http.get(`/task/taskCenter/page`,{
+        let res = await this.$http.get(`/task/taskCenter/page`, {
           params: params
         })
         if (res.success) {
@@ -176,12 +182,12 @@
           this.dataLoading = true
         }
       },
-      getTransformHeight(transformHeight){
-        let Height=document.documentElement.clientHeight
-        if(transformHeight){
-          return  Height-(650-403)
-        }else{
-          return  Height-650
+      getTransformHeight(transformHeight) {
+        let Height = document.documentElement.clientHeight
+        if (transformHeight) {
+          return Height - (650 - 403)
+        } else {
+          return Height - 650
         }
       },
       async reCall(row) {
@@ -194,14 +200,14 @@
         this.getQuery()
       },
       flowChart(row) {
-        this.$emit('fatherMethod',row)
+        this.$emit('fatherMethod', row)
       },
-      async getFlowTrack(row){
-        console.log(row,'getFlowTrack row')
-        if(row){
-          let params={
-            flowCode:row.flowCode,
-            bizId:row.bizId
+      async getFlowTrack(row) {
+        console.log(row, 'getFlowTrack row')
+        if (row) {
+          let params = {
+            flowCode: row.flowCode,
+            bizId: row.bizId
           }
           this.$refs.processTrajectory.$refs.dialog.init(params)
         }
@@ -209,11 +215,10 @@
       async createTask(row) {
         console.log(row, "task row");
         if (row.flowCode === 'wplz') {
-          this.$refs.itemCirculatOrder.$refs.dialog.init(row)
+          this.$refs.itemCirculatOrder.$refs.dialog.init(row.bizId, row)
         } else if (row.flowCode === 'aaa') {
           //this.$refs.itemCirculatOrder.$refs.dialog.init(row)
-        }
-        else {
+        } else {
           if (row.stepRouterId === null) {
             this.$tip.alert("娌℃湁閰嶇疆鑿滃崟id")
             return;
diff --git a/web/src/views/modules/sys/task/taskCenter.vue b/web/src/views/modules/sys/task/taskCenter.vue
index c6b4cdb..d13ae74 100644
--- a/web/src/views/modules/sys/task/taskCenter.vue
+++ b/web/src/views/modules/sys/task/taskCenter.vue
@@ -45,16 +45,16 @@
       },
       async tabClick(tab, event) {
         if (tab.index === '1') {
-          let res = await this.$http.get('/newPlan/taskCenter/pageDone')
+          let res = await this.$http.get('/task/taskCenter/pageDone')
           this.$refs.alreadyTask.getQuery()
         }
         if (tab.index === '0') {
-          let res = await this.$http.get('/newPlan/taskCenter/page')
+          let res = await this.$http.get('/task/taskCenter/page')
           this.$refs.stayTask.getStayTask()
         }
       },
       async oneKeyDoneCy() {
-        let res = await this.$http['put'](`/newPlan/taskCenter/oneKeyDoneCy`)
+        let res = await this.$http['put'](`/task/taskCenter/oneKeyDoneCy`)
         if (res.success) {
           await this.$tip.success()
           this.$refs.stayTask.getStayTask()
diff --git a/zt/core/src/main/java/com/zt/modules/workflow/dto/FlowInfoDto.java b/zt/core/src/main/java/com/zt/modules/workflow/dto/FlowInfoDto.java
new file mode 100644
index 0000000..c254787
--- /dev/null
+++ b/zt/core/src/main/java/com/zt/modules/workflow/dto/FlowInfoDto.java
@@ -0,0 +1,15 @@
+package com.zt.modules.workflow.dto;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class FlowInfoDto {
+    String id;
+    String bizId;
+    String bizGroupId;
+    String submitType;
+    String flowCode;
+    String stepIdMark;
+}
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 fb05ff9..8780f22 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
@@ -355,6 +355,16 @@
             if (existsUsers.size() == 0) {
                 throw new RuntimeException("娌℃湁绗﹀悎(" + wfDef.getName() + ")娴佺▼鐨勪笅涓�姝�(" + currentStep.getName() + ")鎵ц浜猴紒");
             }
+
+            String updateSql = currentStep.getUpdateSql();
+            if (org.apache.commons.lang3.StringUtils.isNotBlank(updateSql)) {
+                updateSql = updateSql.replace("${bizId}", bizId.toString());
+                updateSql = updateSql.replace("${bizId}", bizId.toString());
+                updateSql = updateSql.replace("${nickName}", UserContext.getUser().getRealName());
+                updateSql = updateSql.replace("${userId}", UserContext.getUser().getId().toString());
+                baseDao.exeSql(updateSql);
+            }
+
         } else {
             taskParamDto.setUser(null);
             taskParamDto.setGroupId2(null);
@@ -367,7 +377,8 @@
             if (org.apache.commons.lang3.StringUtils.isNotBlank(updateSql)) {
                 updateSql = updateSql.replace("${bizId}", bizId.toString());
                 updateSql = updateSql.replace("${bizId}", bizId.toString());
-                updateSql = updateSql.replace("${bizId}", bizId.toString());
+                updateSql = updateSql.replace("${nickName}", UserContext.getUser().getRealName());
+                updateSql = updateSql.replace("${userId}", UserContext.getUser().getId().toString());
                 baseDao.exeSql(updateSql);
             }
 

--
Gitblit v1.9.1