rev:更新

This commit is contained in:
2024-05-13 18:07:55 +08:00
parent 86c05ad7a8
commit 4b54222103
17 changed files with 363 additions and 232 deletions

View File

@@ -27,8 +27,6 @@ _nladmin-system/src/main/java/org/nl/wms/system_manage/service/coderule/ISysCode
gnladmin-system/src/main/java/org/nl/wms/system_manage/service/coderule/impl/SysCodeRuleServiceImpl.java,f/c/fc51b9e09e27f27eee834adb54557bc93da3ccb4
<EFBFBD>
lnladmin-system/src/main/java/org/nl/wms/system_manage/controller/permission/SysDataPermissionController.java,1/1/11978d8ffa97bb119d9c27e2ba034b73db067e4b
p
@nladmin-system/src/main/java/org/nl/common/enums/QueryTEnum.java,f/b/fb1fedd5a3547392fa64608ed6291c9931a5ae3d
_
/nladmin-system/src/main/java/org/nl/AppRun.java,1/0/10e40d67bd7d0818c5483704f020703d1bef8378
<EFBFBD>
@@ -113,8 +111,6 @@ cnladmin-system/src/main/java/org/nl/wms/system_manage/controller/login/Authoriz
lnladmin-system/src/main/java/org/nl/wms/base_manage/class_standard/controller/BmClassStandardController.java,1/6/1682613e5ad252f692c7fe9869e05ba6e993ec0b
<EFBFBD>
wnladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/engine/behavior/impl/StartEventActivityBehavior.java,6/2/62bba69557651d0ef8689854cf0192b608958ca8
<EFBFBD>
fnladmin-system/src/main/java/org/nl/wms/config_manage/form_struc/controller/BmFormStrucController.java,0/4/04a9b66d50a0df59977636c2584c0b33c3c80690
<EFBFBD>
^nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/model/IActDeModelService.java,8/e/8e8e6084896058ef5d6e32aeaa325a4d807bd299
<EFBFBD>
@@ -129,14 +125,10 @@ Znladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/model/dao/ActD
Xnladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/enums/TaskTypeEnum.java,9/a/9a80ba3c6d691004cb168b6bef614f1678af32d6
<EFBFBD>
Znladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/model/dto/ModelQuery.java,9/1/91fd50fd8729292d9e298d85ba01a6b5af8593fa
w
Gnladmin-system/src/main/java/org/nl/common/domain/entity/PageQuery.java,4/c/4c2e7c33185348f635f5a9dbcc6943e1266cd690
w
Gnladmin-system/src/main/java/org/nl/common/domain/entity/BaseQuery.java,f/0/f062b578de11e2952654784226f11bae7019cd76
<EFBFBD>
fnladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/execution/IActRuExecutionService.java,6/c/6cccbeca1a92061e0584fff09e8c598223b372a6
<EFBFBD>
nnladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/execution/impl/ActRuExecutionServiceImpl.java,9/6/96baf0e9c082471a9e3e86559513272d2680fb09
<EFBFBD>
enladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/deployment/IActReProcdefService.java,c/b/cbcdb312056e097d6f706d22c125cde37089b39f
p
@nladmin-system/src/main/java/org/nl/common/enums/StatusEnum.java,d/a/da2cfc661b6ccefab91ec1ba98461be21c19e65a
<EFBFBD>
bnladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/execution/dao/ActRuExecution.java,1/d/1d97c53dde4069e95a2a9b5e87f1839ef118d3b2
m
@@ -145,9 +137,21 @@ m
cnladmin-system/src/main/java/org/nl/wms/flow_manage/flow/controller/model/ActDeModelController.java,f/6/f6b31b91b229f78f8ac36ece953db50bf6d81854
<EFBFBD>
bnladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/execution/dto/ExecutionQuery.java,a/4/a44b52a4bc649baab711c5bd57004aa22cc2206b
p
@nladmin-system/src/main/java/org/nl/common/enums/StatusEnum.java,d/a/da2cfc661b6ccefab91ec1ba98461be21c19e65a
<EFBFBD>
enladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/deployment/IActReProcdefService.java,c/b/cbcdb312056e097d6f706d22c125cde37089b39f
<EFBFBD>
fnladmin-system/src/main/java/org/nl/wms/flow_manage/flow/controller/execution/ExecutionController.java,0/e/0e30069a5751c50d7cf828ec3c27e091f8565818
<EFBFBD>
fnladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/execution/IActRuExecutionService.java,6/c/6cccbeca1a92061e0584fff09e8c598223b372a6
<EFBFBD>
nnladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/execution/impl/ActRuExecutionServiceImpl.java,9/6/96baf0e9c082471a9e3e86559513272d2680fb09
w
Gnladmin-system/src/main/java/org/nl/common/domain/entity/PageQuery.java,4/c/4c2e7c33185348f635f5a9dbcc6943e1266cd690
p
@nladmin-system/src/main/java/org/nl/common/enums/QueryTEnum.java,f/b/fb1fedd5a3547392fa64608ed6291c9931a5ae3d
t
Dnladmin-system/src/main/java/org/nl/common/domain/entity/QParam.java,c/8/c81fda2ed02b5dc9c21d70a813552d849bd642d8
<EFBFBD>
`nladmin-system/src/main/java/org/nl/wms/config_manage/form_struc/service/dto/FormStrucQuery.java,2/8/28bd56139ae8c49fb8b946a5db641cec587fe696
w
Gnladmin-system/src/main/java/org/nl/common/domain/entity/BaseQuery.java,f/0/f062b578de11e2952654784226f11bae7019cd76
<EFBFBD>
inladmin-system/src/main/java/org/nl/wms/config_manage/form_struc/service/impl/BmFormStrucServiceImpl.java,1/7/1734a0b319cf43162c6b2ef4cf7dc9cd2e838740

View File

@@ -41,14 +41,14 @@ import java.util.Map;
@SaIgnore
public class BmFormStrucController {
private static Map<String,String> BASE_FORM = MapOf.of("biz_id","业务单据单据id"
,"biz_code","业务单据编号"
,"biz_date","业务单据日期"
,"biz_status","业务单据状态"
,"material_id","物料id"
,"qty","数量"
,"unit_id","单位"
,"vehicle_code","载具");
private static Map<String, String> BASE_FORM = MapOf.of("biz_id", "业务单据单据id"
, "biz_code", "业务单据编号"
, "biz_date", "业务单据日期"
, "biz_status", "业务单据状态"
, "material_id", "物料id"
, "qty", "数量"
, "unit_id", "单位"
, "vehicle_code", "载具");
@Autowired
IBmFormStrucService iBmFormStrucService;
@@ -56,13 +56,15 @@ public class BmFormStrucController {
IPmFormDataService iPmFormDataService;
@GetMapping
public ResponseEntity<Object> queryAll(FormStrucQuery query, PageQuery pageQuery){
public ResponseEntity<Object> queryAll(FormStrucQuery query, PageQuery pageQuery) {
//iBmFormStrucService.queryAll(query, pageQuery);
//参数判读,参数解析,调用参数入库
Page<BmFormStruc> page = iBmFormStrucService.page(pageQuery.build(), query.build());
return new ResponseEntity<>(TableDataInfo.build(page),HttpStatus.OK);
//Page<BmFormStruc> page = iBmFormStrucService.page(pageQuery.build(), query.build());
return new ResponseEntity<>(iBmFormStrucService.queryAll(query, pageQuery), HttpStatus.OK);
}
@PostMapping
public ResponseEntity<Object> save(@RequestBody JSONObject param){
public ResponseEntity<Object> save(@RequestBody JSONObject param) {
//参数判读,参数解析,调用参数入库
BmFormStruc formStruc = param.toJavaObject(BmFormStruc.class);
formStruc.setCreate_time(DateUtil.now());
@@ -71,76 +73,77 @@ public class BmFormStrucController {
iBmFormStrucService.save(formStruc);
return new ResponseEntity<>(HttpStatus.OK);
}
@GetMapping("/delete")
public ResponseEntity<Object> delete(List<String> types){
public ResponseEntity<Object> delete(List<String> types) {
//参数判读,参数解析,调用参数入库
int dataCount = iPmFormDataService.count(new QueryWrapper<PmFormData>().in("form_type", types));
if (dataCount>0){
if (dataCount > 0) {
throw new BadRequestException("当前表单存在业务数据,不允许删除");
}
iBmFormStrucService.remove(new QueryWrapper<BmFormStruc>().in("form_type", types));
return new ResponseEntity<>(HttpStatus.OK);
}
@GetMapping("/getTypes")
public ResponseEntity<Object> getTypes(){
public ResponseEntity<Object> getTypes() {
//参数判读,参数解析,调用参数入库
List<Map<String, Object>> select = iBmFormStrucService.listMaps(new QueryWrapper<BmFormStruc>().select("form_type", "form_name").groupBy("form_type"));
List<Map> list = new ArrayList<>();
for (Map<String, Object> map : select) {
list.add(MapOf.of("lable",map.get("form_name"),"value",map.get("form_type")));
list.add(MapOf.of("lable", map.get("form_name"), "value", map.get("form_type")));
}
return new ResponseEntity<>(list,HttpStatus.OK);
return new ResponseEntity<>(list, HttpStatus.OK);
}
/**
* @ONLY:动态表单表头信息
* 数据结构:{"type":xxx,"name":xxx,"desc":xxx,"item":{"desc":"描述"}}
* @ONLY:动态表单表头信息 数据结构:{"type":xxx,"name":xxx,"desc":xxx,"item":{"desc":"描述"}}
*/
@GetMapping("/formColumns/{form_type}")
public ResponseEntity<Object> formColumns(@PathVariable String form_type){
public ResponseEntity<Object> formColumns(@PathVariable String form_type) {
//参数判读,参数解析,调用参数入库
List<Map> items = new ArrayList<>();
BmFormStruc form_struc = iBmFormStrucService.getOne(new QueryWrapper<BmFormStruc>().eq("form_type", form_type));
if (form_struc!=null){
if (form_struc != null) {
JSONObject form_param = form_struc.getForm_param();
for (String key : form_param.keySet()) {
items.add(MapOf.of("lable",form_param.get(key),"value",key));
items.add(MapOf.of("lable", form_param.get(key), "value", key));
}
}
return new ResponseEntity<>(items,HttpStatus.OK);
return new ResponseEntity<>(items, HttpStatus.OK);
}
/**
* @ONLY:只用于获取表单同步配置接口
* @param form_type
* @return
* @ONLY:只用于获取表单同步配置接口
*/
@GetMapping("/tableColumns/{form_type}")
public ResponseEntity<Object> tableColumns(@PathVariable String form_type){
public ResponseEntity<Object> tableColumns(@PathVariable String form_type) {
//参数判读,参数解析,调用参数入库
BmFormStruc form_struc = iBmFormStrucService.getOne(new QueryWrapper<BmFormStruc>().eq("form_type", form_type));
HashMap result = MapOf.of("has_child",form_struc.getHas_child(),"form_type", form_struc.getForm_type(), "form_name", form_struc.getForm_name(), "form_desc", form_struc.getForm_desc());
HashMap result = MapOf.of("has_child", form_struc.getHas_child(), "form_type", form_struc.getForm_type(), "form_name", form_struc.getForm_name(), "form_desc", form_struc.getForm_desc());
JSONObject form_param = form_struc.getForm_param();
form_param.putAll(BASE_FORM);
List<Map> items = new ArrayList<>();
for (String key : form_param.keySet()) {
items.add(MapOf.of("lable",form_param.get(key),"value",key));
items.add(MapOf.of("lable", form_param.get(key), "value", key));
}
if (form_struc.getHas_child()){
if (form_struc.getHas_child()) {
List<Map> dtl_items = new ArrayList<>();
BmFormStruc child_struc = iBmFormStrucService.getOne(new QueryWrapper<BmFormStruc>().eq("parent_id", form_struc.getId()));
if (child_struc == null){
throw new BadRequestException("当前表单配置异常:无子表配置信息");
}
BmFormStruc child_struc = iBmFormStrucService.getOne(new QueryWrapper<BmFormStruc>().eq("parent_id", form_struc.getForm_type()));
if (child_struc != null) {
JSONObject child_param = child_struc.getForm_param();
child_param.putAll(BASE_FORM);
for (String key : child_param.keySet()) {
dtl_items.add(MapOf.of("lable",child_param.get(key),"value",key));
dtl_items.add(MapOf.of("lable", form_param.get(key), "value", key));
}
result.put("dtl_item",dtl_items);
result.put("dtl_item", dtl_items);
}
result.put("item",items);
return new ResponseEntity<>(result,HttpStatus.OK);
}
result.put("item", items);
return new ResponseEntity<>(result, HttpStatus.OK);
}
}

View File

@@ -1,7 +1,9 @@
package org.nl.wms.config_manage.form_struc.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.common.domain.entity.PageQuery;
import org.nl.wms.config_manage.form_struc.service.dao.BmFormStruc;
import org.nl.wms.config_manage.form_struc.service.dto.FormStrucQuery;
/**
* <p>
@@ -14,4 +16,6 @@ import org.nl.wms.config_manage.form_struc.service.dao.BmFormStruc;
public interface IBmFormStrucService extends IService<BmFormStruc> {
BmFormStruc getFormType(String form_type);
Object queryAll(FormStrucQuery query, PageQuery pageQuery);
}

View File

@@ -6,7 +6,10 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import lombok.Data;
@@ -22,7 +25,7 @@ import lombok.EqualsAndHashCode;
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName(value = "bm_form_struc",autoResultMap = true)
@TableName(value = "bm_form_struc", autoResultMap = true)
public class BmFormStruc implements Serializable {
private static final long serialVersionUID = 1L;
@@ -108,17 +111,22 @@ public class BmFormStruc implements Serializable {
* 自定义表单字段存json:{"dept":"部门","empp":"员工"}
*/
@TableField(typeHandler = FastjsonTypeHandler.class)
private JSONObject form_param;
private JSONObject form_param = new JSONObject();
/**
* 是否含有明细表单
*/
private Boolean has_child;
/**
* 关联上级表单id
*/
private String parent_id;
@TableField(exist = false)
private List<BmFormStruc> children = new ArrayList<>();
@TableField(exist = false)
private Boolean hasChildren = false;
}

View File

@@ -31,7 +31,8 @@ public class FormStrucQuery extends BaseQuery<BmFormStruc> {
@Override
public void paramMapping() {
this.doP.put("search", QParam.builder().k(new String[]{"form_name"}).type(QueryTEnum.LK).build());
// this.doP.put("parent_id", QParam.builder().k(new String[]{"parent_id"}).type(QueryTEnum.NULL_OR_EMPTY).build());
this.doP.put("form_type", QParam.builder().k(new String[]{"form_type"}).type(QueryTEnum.LK).build());
}
}

View File

@@ -1,13 +1,25 @@
package org.nl.wms.config_manage.form_struc.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.nl.common.TableDataInfo;
import org.nl.common.domain.entity.PageQuery;
import org.nl.wms.config_manage.form_struc.service.dao.BmFormStruc;
import org.nl.wms.config_manage.form_struc.service.dao.mapper.BmFormStrucMapper;
import org.nl.wms.config_manage.form_struc.service.IBmFormStrucService;
import org.nl.wms.config_manage.form_struc.service.dto.FormStrucQuery;
import org.nl.wms.flow_manage.flow.service.deployment.dao.ActReProcdef;
import org.nl.wms.flow_manage.flow.service.execution.dao.ActRuExecution;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* <p>
* 服务实现类
@@ -21,9 +33,32 @@ public class BmFormStrucServiceImpl extends ServiceImpl<BmFormStrucMapper, BmFor
@Override
public BmFormStruc getFormType(String form_type) {
if (!StringUtils.isEmpty(form_type)){
return this.getOne(new QueryWrapper<BmFormStruc>().eq("form_type",form_type));
if (!StringUtils.isEmpty(form_type)) {
return this.getOne(new QueryWrapper<BmFormStruc>().eq("form_type", form_type));
}
return null;
}
@Override
public Object queryAll(FormStrucQuery query, PageQuery page) {
LambdaQueryWrapper<BmFormStruc> lqw = new LambdaQueryWrapper<>();
lqw.isNull(BmFormStruc::getParent_id);
Page<BmFormStruc> executionPage = this.page(page.build(), lqw);
List<BmFormStruc> records = executionPage.getRecords();
this.findChildren(records);
return TableDataInfo.build(executionPage);
}
private void findChildren(List<BmFormStruc> records) {
for (BmFormStruc record : records) {
LambdaQueryWrapper<BmFormStruc> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(BmFormStruc::getParent_id, record.getForm_type());
List<BmFormStruc> list = this.list(lambdaQueryWrapper);
if (CollectionUtil.isNotEmpty(list)) {
record.setHasChildren(true);
record.setChildren(list);
this.findChildren(list);
}
}
}
}

View File

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.nl.common.TableDataInfo;
import org.nl.common.domain.entity.PageQuery;
import org.nl.wms.config_manage.form_struc.service.dao.BmFormStruc;
import org.nl.wms.flow_manage.flow.service.deployment.IActReProcdefService;
import org.nl.wms.flow_manage.flow.service.deployment.dao.ActReProcdef;
import org.nl.wms.flow_manage.flow.service.execution.dao.ActRuExecution;
@@ -40,25 +41,49 @@ public class ActRuExecutionServiceImpl extends ServiceImpl<ActRuExecutionMapper,
lqw.isNull(ActRuExecution::getParent_id);
Page<ActRuExecution> executionPage = this.page(page.build(), lqw);
List<ActRuExecution> records = executionPage.getRecords();
this.findChildren(records);
// for (ActRuExecution record : records) {
// LambdaQueryWrapper<ActRuExecution> lambdaQueryWrapper = new LambdaQueryWrapper<>();
// lambdaQueryWrapper.eq(ActRuExecution::getParent_id, record.getProc_inst_id());
// List<ActRuExecution> list = this.list(lambdaQueryWrapper);
// ActReProcdef procdef = procdefService.getById(record.getDeployment_id());
// if (ObjectUtil.isNotEmpty(procdef)) {
// record.setDeployment_name(procdef.getName());
// }
// if (CollectionUtil.isNotEmpty(list)) {
// for (ActRuExecution execution : list) {
// ActReProcdef procdefChildren = procdefService.getById(execution.getDeployment_id());
// if (ObjectUtil.isNotEmpty(procdefChildren)) {
// execution.setDeployment_name(procdefChildren.getName());
// }
// }
// record.setHasChildren(true);
// record.setChildren(list);
// }
// }
return TableDataInfo.build(executionPage);
}
private void findChildren(List<ActRuExecution> records) {
for (ActRuExecution record : records) {
LambdaQueryWrapper<ActRuExecution> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(ActRuExecution::getParent_id, record.getProc_inst_id());
List<ActRuExecution> list = this.list(lambdaQueryWrapper);
ActReProcdef procdef = procdefService.getById(record.getDeployment_id());
if (ObjectUtil.isNotEmpty(procdef)){
if (ObjectUtil.isNotEmpty(procdef)) {
record.setDeployment_name(procdef.getName());
}
if (CollectionUtil.isNotEmpty(list)) {
for (ActRuExecution execution : list) {
ActReProcdef procdefChildren = procdefService.getById(execution.getDeployment_id());
if (ObjectUtil.isNotEmpty(procdefChildren)){
if (ObjectUtil.isNotEmpty(procdefChildren)) {
execution.setDeployment_name(procdefChildren.getName());
}
}
record.setHasChildren(true);
record.setChildren(list);
this.findChildren(list);
}
}
return TableDataInfo.build(executionPage);
}
}

View File

@@ -33,20 +33,18 @@ public class PmFormDataController {
private IPmFormDataService formDataService;
@GetMapping()
public ResponseEntity<Object> queryAll(FormDataQuery query, PageQuery page){
Page<PmFormData> result = formDataService.page(page.build(), query.build());
return new ResponseEntity<>(TableDataInfo.build(result),HttpStatus.CREATED);
public ResponseEntity<Object> queryAll(FormDataQuery query, PageQuery page) {
// Page<PmFormData> result = formDataService.page(page.build(), query.build());
// Object o = formDataService.queryAll(query,page);
return new ResponseEntity<>(formDataService.queryAll(query, page), HttpStatus.CREATED);
}
@GetMapping("/sync/{type}")
public ResponseEntity<Object> sync(@RequestParam String type, String formDtl){
public ResponseEntity<Object> sync(@RequestParam String type, String formDtl) {
//参数判读,参数解析,调用参数入库
formDataService.syncFormData("type",formDtl);
formDataService.syncFormData("type", formDtl);
return new ResponseEntity<>(HttpStatus.CREATED);
}
}

View File

@@ -11,5 +11,5 @@ import org.nl.wms.pm_manage.form_data.service.dao.PmFormData;
@Data
public class FormDataQuery extends BaseQuery<PmFormData> {
private String from_type;
private String form_type;
}

View File

@@ -9,7 +9,7 @@ spring:
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://${DB_HOST:localhost}:${DB_PORT:3306}/${DB_NAME:wms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true&useSSL=false
username: ${DB_USER:root}
password: ${DB_PWD:123456}
password: ${DB_PWD:password}
# 初始连接数
initial-size: 5

View File

@@ -28,7 +28,7 @@
</el-option>
</el-select>
</el-form-item>
<rrOperation :crud="crud" />
<rrOperation :crud="crud"/>
</el-form>
</div>
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
@@ -42,45 +42,41 @@
:title="crud.status.title"
width="600px"
>
<el-form ref="form" :model="form" size="mini" label-width="80px">
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="120px">
<el-row>
<el-col :span="8">
<el-form-item label="表单类型" prop="class_code">
<el-input v-model="form.form_type" style="width: 120px;" />
<el-col :span="12">
<el-form-item label="表单类型" prop="form_type">
<el-input v-model="form.form_type" style="width: 150px;"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="表单名称" prop="class_name">
<el-input v-model="form.form_name" style="width: 120px;" />
<el-col :span="12">
<el-form-item label="表单名称" prop="form_name">
<el-input v-model="form.form_name" style="width: 150px;"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col >
<el-form-item label="表单描述" prop="class_name">
<el-input v-model="form.form_desc" style="width: 370px;" />
</el-form-item>
</el-col>
<el-col >
<el-form-item label="表单对应json" prop="class_name">
<el-input v-model="form.convert_json" style="width: 370px;" />
<el-col :span="24">
<el-form-item label="表单描述" prop="form_desc">
<el-input type="textarea" v-model="form.form_desc" style="width: 430px;"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col >
<el-form-item label="是否含有子" prop="class_name">
<el-radio-group v-model="form.has_child" style="width: 140px">
<el-radio label=true>是</el-radio>
<el-radio label=false>否</el-radio>
</el-radio-group>
<el-col :span="24">
<el-form-item label="单对应JSON" prop="convert_json">
<el-input type="textarea" v-model="form.convert_json" style="width: 430px;"/>
</el-form-item>
</el-col>
<el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="父表类型" prop="class_name">
<el-select
v-model="form.parent_id"
placeholder="父表类型"
clearable
style="width: 150px"
>
<el-option
v-for="item in form_types"
@@ -89,49 +85,62 @@
:value="item.value"
/>
</el-select>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="业务表id映射" prop="class_desc">
<el-input v-model="form.bus_id" style="width: 120px;" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="业务表编码映射" prop="class_desc">
<el-input v-model="form.bus_code" style="width: 120px;" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="业务表时间映射" prop="class_desc">
<el-input v-model="form.bus_data" style="width: 120px;" />
<el-col :span="12">
<el-form-item label="是否含有子表" prop="has_child">
<el-radio-group v-model="form.has_child" style="width: 140px">
<el-radio :label='true'>是</el-radio>
<el-radio :label='false'>否</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="业务表状态映射" prop="class_desc">
<el-input v-model="form.bus_status" style="width: 120px;" />
<el-col :span="12">
<el-form-item label="业务表id映射" prop="bus_id">
<el-input v-model="form.bus_id" style="width: 150px;"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="物料id映射" prop="class_desc">
<el-input v-model="form.material_id" style="width: 120px;" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="物料数量映射" prop="class_desc">
<el-input v-model="form.qty" style="width: 120px;" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="物料批次映射" prop="class_desc">
<el-input v-model="form.pcsn" style="width: 120px;" />
<el-col :span="12">
<el-form-item label="业务表编码映射" prop="bus_code">
<el-input v-model="form.bus_code" style="width: 150px;"/>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="自定义字段2" prop="class_desc">
<el-input type="textarea" v-model="form.form_param" :formatter="jsonFormat" style="width: 370px;" />
<el-row>
<el-col :span="12">
<el-form-item label="业务表时间映射" prop="bus_data">
<el-input v-model="form.bus_data" style="width: 150px;"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="业务表状态映射" prop="bus_status">
<el-input v-model="form.bus_status" style="width: 150px;"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="物料id映射" prop="material_id">
<el-input v-model="form.material_id" style="width: 150px;"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="物料数量映射" prop="qty">
<el-input v-model="form.qty" style="width: 150px;"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="物料批次映射" prop="pcsn">
<el-input v-model="form.pcsn" style="width: 150px;"/>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="自定义字段2" prop="form_param">
<el-input type="textarea" v-model="form.form_param" :formatter="jsonFormat" style="width: 430px;"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@@ -143,33 +152,33 @@
<el-table
ref="table"
v-loading="crud.loading"
:load="load"
lazy
:load="getClassDatas"
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
:data="crud.data"
row-key="id"
@select="crud.selectChange"
@select-all="crud.selectAllChange"
@selection-change="crud.selectionChangeHandler"
row-key="form_type"
table-layout="auto"
>
<el-table-column prop="form_type" label="表单类型" />
<el-table-column prop="form_name" label="表单名称" />
<el-table-column prop="form_desc" label="描述" />
<el-table-column prop="convert_json" label="表单对应json" />
<el-table-column prop="create_time" label="创建时间" />
<el-table-column prop="has_child" :formatter="booleanFormat" label="是否关联子表" />
<el-table-column prop="parent_id" label="父表id" />
<el-table-column prop="bus_id" label="业务单据id映射" />
<el-table-column prop="bus_code" label="业务单据code映射" />
<el-table-column prop="bus_date" label="业务单据时间映射" />
<el-table-column prop="status" label="业务单据状态映射" />
<el-table-column prop="material_id" label="物料id映射" />
<el-table-column prop="qty" label="物料数量映射" />
<el-table-column prop="pcsn" label="物料批次映射" />
<el-table-column prop="form_param" :show-overflow-tooltip="true" :formatter="jsonFormat" label="自定义字段映射" />
<el-table-column type="selection"/>
<el-table-column prop="form_type" show-overflow-tooltip width="150" label="表单类型"/>
<el-table-column prop="form_name" show-overflow-tooltip width="120" label="表单名称"/>
<el-table-column prop="form_desc" show-overflow-tooltip width="120" label="描述"/>
<el-table-column prop="convert_json" show-overflow-tooltip width="120" label="表单对应JSON"/>
<el-table-column prop="has_child" show-overflow-tooltip width="120" :formatter="booleanFormat" label="是否关联子表"/>
<!-- <el-table-column prop="parent_id" show-overflow-tooltip width="120" label="父表id"/>-->
<el-table-column prop="bus_id" show-overflow-tooltip width="120" label="业务单据id映射"/>
<el-table-column prop="bus_code" show-overflow-tooltip width="130" label="业务单据code映射"/>
<el-table-column prop="bus_date" show-overflow-tooltip width="130" label="业务单据时间映射"/>
<el-table-column prop="status" show-overflow-tooltip width="130" label="业务单据状态映射"/>
<el-table-column prop="material_id" show-overflow-tooltip width="120" label="物料id映射"/>
<el-table-column prop="qty" show-overflow-tooltip width="120" label="物料数量映射"/>
<el-table-column prop="pcsn" show-overflow-tooltip width="120" label="物料批次映射"/>
<el-table-column prop="form_param" show-overflow-tooltip width="120" :formatter="jsonFormat" label="自定义字段映射"/>
<el-table-column prop="create_time" show-overflow-tooltip width="150" label="创建时间"/>
<el-table-column
label="操作"
width="250px"
width="280px"
fixed="right"
align="center"
>
<template slot-scope="scope">
@@ -181,13 +190,11 @@
:disabled-dle="scope.row.is_modify === '0'"
msg="确定删除吗,如果存在下级节点则一并删除此操作不能撤销"
/>
<el-button slot="right" size="mini" type="text" icon="el-icon-circle-plus-outline" @click="crud.toAddAndData(addSibling(scope.row))">新增同级</el-button>
<el-button slot="right" size="mini" type="text" icon="el-icon-circle-plus" @click="crud.toAddAndData(addChildren(scope.row))">新增子级</el-button>
</template>
</el-table-column>
</el-table>
<!--分页组件-->
<pagination />
<pagination/>
</div>
<UploadDialog :dialog-show.sync="uploadShow" @tableChanged3="crud.toQuery()"/>
</div>
@@ -195,8 +202,8 @@
<script>
import formstruc from './formstruc'
import CRUD, { crud, form, header, presenter } from '@crud/crud'
import Treeselect, { LOAD_CHILDREN_OPTIONS } from '@riophae/vue-treeselect'
import CRUD, {crud, form, header, presenter} from '@crud/crud'
import Treeselect, {LOAD_CHILDREN_OPTIONS} from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
@@ -219,12 +226,14 @@ const defaultForm = {
pcsn: null,
form_param: null,
has_child: false,
parent_id: null
parent_id: null,
convert_json: null,
bus_data: null
}
export default {
name: 'FormStruc',
dicts: ['base_data'],
components: {UploadDialog, pagination, crudOperation, rrOperation, udOperation, Treeselect },
components: {UploadDialog, pagination, crudOperation, rrOperation, udOperation, Treeselect},
mixins: [presenter(), header(), form(defaultForm), crud()],
cruds() {
return CRUD({
@@ -232,7 +241,7 @@ export default {
url: 'api/bmFormStruc',
idField: 'id',
sort: 'id,desc',
crudMethod: { ...formstruc },
crudMethod: {...formstruc},
optShow: {
add: true,
reset: true
@@ -244,18 +253,35 @@ export default {
classes: [],
uploadShow: false,
form_types: [],
permission: {}
permission: {},
rules: {
form_type: [
{required: true, message: '表单类型不能为空', trigger: 'blur'}
],
form_name: [
{required: true, message: '表单名称不能为空', trigger: 'blur'}
]
}
}
},
created() {
this.getFormSelect() // 获取分类
},
methods: {
[CRUD.HOOK.beforeToEdit]() {
this.form.form_param = JSON.stringify(this.form.form_param)
return true
},
getFormSelect() {
formstruc.getTypes().then((res) => { // 获取分类名称,查询根据分类编码查找对应分支树
this.form_types = res
})
},
load(tree, treeNode, resolve) {
setTimeout(() => {
resolve(tree.children)
}, 100)
},
booleanFormat(row, index) {
if (row.has_child) {
return '是'

View File

@@ -20,29 +20,29 @@
:before-close="crud.cancelCU"
:visible.sync="crud.status.cu > 0"
:title="crud.status.title"
width="500px"
width="550px"
>
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="80px">
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="150px">
<el-form-item label="父流程id" prop="parent_id">
<el-input v-model="form.parent_id" style="width: 370px;"/>
<el-input v-model="form.parent_id" style="width: 300px;"/>
</el-form-item>
<el-form-item label="当前实例对应版本" prop="deployment_id">
<el-input v-model="form.deployment_id" style="width: 370px;"/>
<el-input v-model="form.deployment_id" style="width: 300px;"/>
</el-form-item>
<el-form-item label="当前实例执行节点" prop="activity_id">
<el-input v-model="form.activity_id" style="width: 370px;"/>
<el-input v-model="form.activity_id" style="width: 300px;"/>
</el-form-item>
<el-form-item label="实例状态" prop="status">
<el-input v-model="form.status" style="width: 370px;"/>
<el-input v-model="form.status" style="width: 300px;"/>
</el-form-item>
<el-form-item label="业务类型" prop="form_type">
<el-input v-model="form.form_type" style="width: 370px;"/>
<el-input v-model="form.form_type" style="width: 300px;"/>
</el-form-item>
<el-form-item label="业务数据" prop="form_data">
<el-input v-model="form.form_data" style="width: 370px;"/>
<el-input type="textarea" v-model="form.form_data" style="width: 300px;"/>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" style="width: 370px;"/>
<el-input type="textarea" v-model="form.remark" style="width: 300px;"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@@ -112,10 +112,11 @@
align="center"
>
<template slot-scope="scope">
<el-button @click="viewClick(scope.row)" type="text" icon="el-icon-thumb" size="small">预览</el-button>
<el-button slot="right" @click="viewClick(scope.row)" type="text" icon="el-icon-thumb" size="mini">预览</el-button>
<udOperation
:data="scope.row"
:permission="permission"
style="display: inline"
/>
</template>
</el-table-column>
@@ -199,6 +200,10 @@ export default {
[CRUD.HOOK.beforeRefresh]() {
return true
},
[CRUD.HOOK.beforeToEdit]() {
this.form.form_data = JSON.stringify(this.form.form_data)
return true
},
viewClick(row) {
curdExecution.getDeploymentById(row.deployment_id).then(res => {
this.$refs.viewCurrentFlowDesigner.showLogicFlowDesigner(res.model_editor_json, row);

View File

@@ -53,7 +53,7 @@ class ResizableEllipseView extends EllipseResize.view {
rx,
ry,
fill: 'none',
stroke: 'black',
// stroke: 'black',
}),
this.getIconShape()
]

View File

@@ -45,7 +45,7 @@ class ResizableDiamondView extends DiamondResize.view {
y: y - height / 2,
points: pointsPath,
fill: 'none',
stroke: 'black', // 边框颜色
// stroke: 'black', // 边框颜色
strokeWidth: 1, // 边框宽度
strokeOpacity: 1, // 边框透明度
fillOpacity: 0.5, // 填充透明度

View File

@@ -50,7 +50,7 @@ class ResizableEllipseView extends EllipseResize.view {
rx,
ry,
fill: 'none',
stroke: 'black',
// stroke: 'black',
}),
this.getIconShape()
]

View File

@@ -14,22 +14,38 @@
<el-form-item label="单据类型">
<el-select
v-model="query.form_type"
placeholder="请选择单据类型"
clearable
filterable
size="mini"
placeholder="请选择/搜索"
class="filter-item"
style="width: 185px;"
@change="crud.toQuery()"
>
<el-option
v-for="item in fromTypes"
:key="item.value"
:value="item.value"
:label="item.label"
:value="item.value">
</el-option>
/>
</el-select>
<!-- <el-select-->
<!-- v-model="query.form_type"-->
<!-- placeholder="请选择单据类型"-->
<!-- clearable-->
<!-- filterable-->
<!-- size="mini"-->
<!-- class="filter-item"-->
<!-- style="width: 185px;"-->
<!-- >-->
<!-- <el-option-->
<!-- v-for="item in fromTypes"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- >-->
<!-- </el-option>-->
<!-- </el-select>-->
</el-form-item>
<rrOperation :crud="crud" />
<rrOperation :crud="crud"/>
</el-form>
</div>
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
@@ -65,19 +81,18 @@
@select-all="crud.selectAllChange"
@selection-change="crud.selectionChangeHandler"
>
<el-table-column prop="code" label="单据编码" />
<el-table-column prop="form_type" label="单据类型" />
<el-table-column prop="biz_code" label="业务单据编码" />
<el-table-column prop="biz_date" label="业务单据时间" />
<el-table-column prop="material_id" label="物料id" />
<el-table-column prop="pcsn" label="批次" />
<el-table-column prop="qty" label="物料数量" />
<el-table-column prop="vehicle_code" label="载具编号" />
<el-table-column prop="status" label="单据状态" />
<el-table-column prop="proc_inst_id" label="对应流程实例id" />
<el-table-column prop="parent_id" label="父单据数据id" />
<el-table-column prop="create_time" label="创建时间" />
<el-table-column prop="code" label="单据编码"/>
<el-table-column prop="form_type" label="单据类型"/>
<el-table-column prop="biz_code" label="业务单据编码"/>
<el-table-column prop="biz_date" label="业务单据时间"/>
<el-table-column prop="material_id" label="物料id"/>
<el-table-column prop="pcsn" label="批次"/>
<el-table-column prop="qty" label="物料数量"/>
<el-table-column prop="vehicle_code" label="载具编号"/>
<el-table-column prop="status" label="单据状态"/>
<el-table-column prop="proc_inst_id" label="对应流程实例id"/>
<el-table-column prop="parent_id" label="父单据数据id"/>
<el-table-column prop="create_time" label="创建时间"/>
<el-table-column
v-permission="['admin','Classstandard:edit','Classstandard:del']"
label="操作"
@@ -97,16 +112,16 @@
</el-table-column>
</el-table>
<!--分页组件-->
<pagination />
<pagination/>
</div>
<!-- <UploadDialog :dialog-show.sync="uploadShow" @tableChanged3="crud.toQuery()"/>-->
<!-- <UploadDialog :dialog-show.sync="uploadShow" @tableChanged3="crud.toQuery()"/>-->
</div>
</template>
<script>
import crudFormData from './formData'
import CRUD, { crud, form, header, presenter } from '@crud/crud'
import Treeselect, { LOAD_CHILDREN_OPTIONS } from '@riophae/vue-treeselect'
import CRUD, {crud, form, header, presenter} from '@crud/crud'
import Treeselect, {LOAD_CHILDREN_OPTIONS} from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
@@ -115,33 +130,27 @@ import pagination from '@crud/Pagination'
// import UploadDialog from './UploadDialog'
let defaultForm = {
class_id: null,
base_data_type: null,
path_code: null,
class_code: null,
long_class_code: null,
class_name: null,
class_desc: null,
parent_class_id: null,
is_leaf: null,
sub_count: null,
is_modify: null,
is_delete: null,
class_level: null,
ext_id: null,
ext_parent_id: null,
create_id: null,
create_name: null,
id: null,
code: null,
proc_inst_id: null,
biz_id: null,
boz_code: null,
biz_date: null,
form_type: null,
status: null,
create_time: null,
update_optid: null,
update_optname: null,
update_time: null,
isTop: '1'
create_name: null,
material_id: null,
qty: null,
pcsn: null,
vehicle_code: null,
from_data: null,
parent_id: null
}
export default {
name: 'FormData',
dicts: ['base_data'],
components: {pagination, crudOperation, rrOperation, udOperation, Treeselect },
components: {pagination, crudOperation, rrOperation, udOperation, Treeselect},
mixins: [presenter(), header(), form(defaultForm), crud()],
cruds() {
return CRUD({
@@ -149,7 +158,7 @@ export default {
url: 'api/pmFormData',
idField: 'id',
sort: 'id,desc',
crudMethod: { ...crudFormData },
crudMethod: {...crudFormData},
optShow: {
add: true,
reset: true
@@ -162,19 +171,31 @@ export default {
uploadShow: false,
fromTypes: [],
permission: {},
rules: {
}
rules: {}
}
},
created() {
this.getFromTypes()
this.crud.query.from_type = this.fromTypes[0].value
// 获取分类
this.getFromTypes()
// this.crud.toQuery()
},
mounted() {
},
methods: {
[CRUD.HOOK.beforeRefresh]() {
if (this.fromTypes.length > 0){
return true
}
return false
},
getFromTypes() {
crudFormData.getFormType().then((res) => { // 获取分类名称,查询根据分类编码查找对应分支树
this.fromTypes = res
if (this.fromTypes.length > 0) {
this.$set(this.query, 'form_type', this.fromTypes[0].value)
this.crud.toQuery()
}
})
},
}

View File

@@ -168,6 +168,7 @@
<el-table-column prop="mapping_json" :show-overflow-tooltip="true" :formatter="jsonFormat" label="字段映射关系" width="210" />
<el-table-column prop="update_name" label="更新人" width="150" />
<el-table-column prop="update_time" label="更新时间" width="150" />
<el-table-column v-permission="[]" label="操作" width="120px" align="center" fixed="right">
<template slot-scope="scope">
<udOperation