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%"> -<!– <el-input v-model="dataForm.circulatOrder.detectSituation" placeholder="鎯呭喌璇存槑"></el-input>–> - <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%"> -<!– <el-input v-model="dataForm.circulatOrder.warehouseSituation" placeholder="鎯呭喌璇存槑"></el-input>–> - <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%"> -<!– <el-input v-model="dataForm.circulatOrder.issueSituation" placeholder="鎯呭喌璇存槑"></el-input>–> - <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