sh4wmoo 2 سال پیش
والد
کامیت
0158f0cc88

+ 0 - 34
src/config/index.js

@@ -2027,40 +2027,6 @@ export default {
   },
 
   /**
-   * @desc   : 工序类别名称
-   * @author : 张潇木
-   * @date   : 2023/5/24 10:12
-   */
-  nodeKindName:{
-    register: '标准计件',
-    climbKiln: '装窑车',
-    inKiln: '窑车入窑',
-    outKiln: '窑车出窑',
-    uninstallKiln: '卸窑车',
-    halfCheck: '半成品检验',
-    finishCheck: '成品检验',
-    recover: '废品回收',
-    shaping: '成型绑码',
-  },
-
-  /**
-   * @desc   : 工序类别描述
-   * @author : 张潇木
-   * @date   : 2023/5/24 10:12
-   */
-  nodeKindDesc:{
-    register: '计件',
-    climbKiln: '登窑',
-    inKiln: '入窑',
-    outKiln: '出窑',
-    uninstallKiln: '卸窑',
-    halfCheck: '半检',
-    finishCheck: '成检',
-    recover: '回收',
-    shaping: '成型',
-  },
-
-  /**
    *   @desc   : 成型线Info说明
    *   @date   : 2023/5/8 14:29
    *   @author : 寇珊珊

+ 20 - 19
src/view/process/process-flow/config/ProcessConfig.js

@@ -39,7 +39,8 @@ export default class Process {
   ctrlPressed = false//ctrl键是是否按下
 
   // region 初始化图形
-  static init(dom,miniMapDom,showGraph=true){
+  static init(dom,miniMapDom=null,nodeKindList,showGraph=true){
+    console.log('nodeKindList',nodeKindList)
 
     // region 画布配置
     this.graph = new Graph({
@@ -930,10 +931,10 @@ export default class Process {
       //region 计件模型
       const countImages = [
         {
-          label: config.nodeKindDesc.register,
+          label: nodeKindList.find(it=>it.kindCode==config.nodeKind.register)?.gradeKindDesc,
           image:getImg('登记.png'),
           nodeKind:config.nodeKind.register,
-          nodeKindName:config.nodeKindName.register,
+          nodeKindName:nodeKindList.find(it=>it.kindCode==config.nodeKind.register)?.kindName,
           flgJobDefect:true,
           flowKind:config.flowKind.middle,
           userKind:config.userKind.product,
@@ -943,10 +944,10 @@ export default class Process {
           flgUndo:true,
         },
         {
-          label: config.nodeKindDesc.climbKiln,
+          label: nodeKindList.find(it=>it.kindCode==config.nodeKind.climbKiln)?.gradeKindDesc,
           image:getImg('装卸.png'),
           nodeKind:config.nodeKind.climbKiln,
-          nodeKindName:config.nodeKindName.climbKiln,
+          nodeKindName:nodeKindList.find(it=>it.kindCode==config.nodeKind.climbKiln)?.kindName,
           flgJobDefect:true,
           flowKind:config.flowKind.middle,
           userKind:config.userKind.product,
@@ -956,10 +957,10 @@ export default class Process {
           flgUndo:true,
         },
         {
-          label: config.nodeKindDesc.inKiln,
+          label: nodeKindList.find(it=>it.kindCode==config.nodeKind.inKiln)?.gradeKindDesc,
           image:getImg('火炉.png'),
           nodeKind:config.nodeKind.inKiln,
-          nodeKindName:config.nodeKindName.inKiln,
+          nodeKindName:nodeKindList.find(it=>it.kindCode==config.nodeKind.inKiln)?.kindName,
           flgJobDefect:true,
           flowKind:config.flowKind.middle,
           userKind:config.userKind.product,
@@ -969,10 +970,10 @@ export default class Process {
           flgUndo:false,
         },
         {
-          label: config.nodeKindDesc.outKiln,
+          label: nodeKindList.find(it=>it.kindCode==config.nodeKind.outKiln)?.gradeKindDesc,
           image:getImg('火炉1.png'),
           nodeKind:config.nodeKind.outKiln,
-          nodeKindName:config.nodeKindName.outKiln,
+          nodeKindName:nodeKindList.find(it=>it.kindCode==config.nodeKind.outKiln)?.kindName,
           flgJobDefect:true,
           flowKind:config.flowKind.middle,
           userKind:config.userKind.product,
@@ -982,10 +983,10 @@ export default class Process {
           flgUndo:false,
         },
         {
-          label: config.nodeKindDesc.uninstallKiln,
+          label: nodeKindList.find(it=>it.kindCode==config.nodeKind.uninstallKiln)?.gradeKindDesc,
           image:getImg('装卸.png'),
           nodeKind:config.nodeKind.uninstallKiln,
-          nodeKindName:config.nodeKindName.uninstallKiln,
+          nodeKindName:nodeKindList.find(it=>it.kindCode==config.nodeKind.uninstallKiln)?.kindName,
           flgJobDefect:true,
           flowKind:config.flowKind.middle,
           userKind:config.userKind.product,
@@ -1019,10 +1020,10 @@ export default class Process {
       //region 检验模型
       const testImages = [
           {
-            label: config.nodeKindDesc.halfCheck,
+            label: nodeKindList.find(it=>it.kindCode==config.nodeKind.halfCheck)?.gradeKindDesc,
             image:getImg('检查.png'),
             nodeKind:config.nodeKind.halfCheck,
-            nodeKindName:config.nodeKindName.halfCheck,
+            nodeKindName:nodeKindList.find(it=>it.kindCode==config.nodeKind.halfCheck)?.kindName,
             flgJobDefect:true,
             flowKind:config.flowKind.middle,
             userKind:config.userKind.product,
@@ -1032,10 +1033,10 @@ export default class Process {
             flgUndo:false,
           },
           {
-            label: config.nodeKindDesc.finishCheck,
+            label: nodeKindList.find(it=>it.kindCode==config.nodeKind.finishCheck)?.gradeKindDesc,
             image:getImg('检查.png'),
             nodeKind:config.nodeKind.finishCheck,
-            nodeKindName:config.nodeKindName.finishCheck,
+            nodeKindName:nodeKindList.find(it=>it.kindCode==config.nodeKind.finishCheck)?.kindName,
             flgJobDefect:true,
             flowKind:config.flowKind.middle,
             userKind:config.userKind.product,
@@ -1069,10 +1070,10 @@ export default class Process {
       //region 特殊模型
       const specialImages = [
         {
-          label: config.nodeKindDesc.recover,
+          label: nodeKindList.find(it=>it.kindCode==config.nodeKind.recover)?.gradeKindDesc,
           image:getImg('回收.png'),
           nodeKind:config.nodeKind.recover,
-          nodeKindName:config.nodeKindName.recover,
+          nodeKindName:nodeKindList.find(it=>it.kindCode==config.nodeKind.recover)?.kindName,
           flgJobDefect:true,
           flowKind:config.flowKind.middle,
           userKind:config.userKind.product,
@@ -1083,10 +1084,10 @@ export default class Process {
           recycledKind:config.recycledKind.before,
         },
         {
-          label: config.nodeKindDesc.shaping,
+          label: nodeKindList.find(it=>it.kindCode==config.nodeKind.shaping)?.gradeKindDesc,
           image:getImg('马桶.png'),
           nodeKind:config.nodeKind.shaping,
-          nodeKindName:config.nodeKindName.shaping,
+          nodeKindName:nodeKindList.find(it=>it.kindCode==config.nodeKind.shaping)?.kindName,
           flgJobDefect:true,
           flowKind:config.flowKind.start,
           userKind:config.userKind.product,

+ 1 - 1
src/view/process/process-flow/index.vue

@@ -381,7 +381,7 @@ export default {
     this.setCurrentNodeId(undefined)
   },
   mounted() {
-    this.graph = Process.init(this.$refs.graph,false)
+    this.graph = Process.init(this.$refs.graph,null,[],false)
     //注册监听事件
     queryUtil.$on("process-setting-ok",(row)=>{
       this.changeCurrentFlow(row)

+ 49 - 26
src/view/process/process-flow/process-setting.vue

@@ -123,6 +123,7 @@
         </Footer>
       </Layout>
     </Layout>
+    <!--  缩放比例  -->
     <div class="scale">
       <InputNumber v-model="scaleValue"
                    :min="scaleMin"
@@ -136,7 +137,9 @@
                    @on-change="(e)=>{this.graph.zoomTo(e)}"
       ></InputNumber>
     </div>
+    <!--  小地图  -->
     <div id="miniMap" ref="miniMap" class="miniMap"/>
+    <!--  弹窗组件  -->
     <transition-group name="fade">
       <!--  节点弹窗  -->
       <NodeModal key="node" v-if="process.nodeModal.display"
@@ -198,12 +201,7 @@ export default {
     this.setProcessEdgeModalDisplay(null)
   },
   mounted() {
-    //创建流程图对象
-    this.graph = Process.init(this.$refs.container,this.$refs.miniMap)
-    //监听删除节点
-    this.bindDeleteNodes()
-    //监听画布缩放
-    this.bindGraphScale()
+    console.log('mounted')
   },
   computed: {
     ...mapState(['process']),
@@ -211,6 +209,7 @@ export default {
 
   methods: {
     ...mapMutations(['setProcessNodeModalDisplay', 'setProcessEdgeModalDisplay', 'setCurrentNodeId', 'setCurrentEdgeId']),
+
     /**
      * @desc   : 导出json方法
      * @author : 张潇木
@@ -220,6 +219,7 @@ export default {
       // JSON.stringify(data, null, 2): 格式化json数据 方便阅读
       FileSaver.saveAs(new Blob([JSON.stringify(this.graph.toJSON(),null,2)], {type: 'application/json'}), 'flow.json')
     },
+
     /**
      * @desc   : 导入json
      * @author : 张潇木
@@ -259,18 +259,14 @@ export default {
 
       return false
     },
+
     /**
      * @desc   : 获取基础数据
      * @author : 张潇木
      * @date   : 2023/1/31 13:42
      */
     initData() {
-      // 获取数据类别
-      this.excute(this.$service.commonService, this.$service.commonService.getDataKind, {}).then(res => {
-        if (res.code === this.$config.SUCCESS_CODE) {
-          this.dataKindList = res.data
-        }
-      })
+
       // 获取产品等级
       this.excute(this.$service.productGradeService, this.$service.productGradeService.selectByCond, {
         flgValid: true,
@@ -316,6 +312,35 @@ export default {
         }
       })
     },
+
+    /**
+     * @desc   : 初始化流程设计器
+     * @author : 张潇木
+     * @date   : 2023/7/14 16:22
+     */
+    initGraph(){
+      //创建流程图对象
+      this.graph = Process.init(this.$refs.container,this.$refs.miniMap,this.dataKindList.filter(it=>it.kindType===this.$config.dataKind.nodeKind))
+      //监听删除节点
+      this.bindDeleteNodes()
+      //监听画布缩放
+      this.bindGraphScale()
+      //初始化数据
+      this.graph.fromJSON(this.formData.flowLayout || { cells: [] })
+      //再重新渲染群组大小
+      this.graph.getNodes().filter(it => it.shape == 'groupNode').forEach((it) => {
+        // console.log('group-data',it.getData())
+        //解构
+        let { isCollapsed, expandSize } = it.getData()
+        //设置展开大小
+        it.setExpandSize(expandSize)
+        //如果不是收起的,展开并还原大小
+        if (!isCollapsed) {
+          it.toggleCollapse(isCollapsed)
+        }
+      })
+    },
+
     /**
      * @desc   : 提交保存
      * @author : 张潇木
@@ -349,6 +374,7 @@ export default {
         }
       })
     },
+
     /**
      * @desc   : 校验数据
      * @author : 张潇木
@@ -440,6 +466,7 @@ export default {
         }
       })
     },
+
     /**
      * @desc   : 监听画布缩放
      * @author : 张潇木
@@ -450,6 +477,7 @@ export default {
         this.scaleValue=sx
       })
     },
+
     /**
      * @desc   : 查询明细
      * @author : 张潇木
@@ -458,25 +486,20 @@ export default {
     detail(id) {
       return this.excuteNoParam(this.$service.processService, this.$service.processService.selectById, [id], false)
     },
+
     /**
-     * @desc   : 初始化
+     * @desc   : formData赋值
      * @author : 张潇木
      * @date   : 2023/2/7 8:50
      */
     setValuesByEdit(data) {
       this.formData = data
-      //初始化数据
-      this.graph.fromJSON(this.formData.flowLayout || { cells: [] })
-      //再重新渲染群组大小
-      this.graph.getNodes().filter(it => it.shape == 'groupNode').forEach((it) => {
-        // console.log('group-data',it.getData())
-        //解构
-        let { isCollapsed, expandSize } = it.getData()
-        //设置展开大小
-        it.setExpandSize(expandSize)
-        //如果不是收起的,展开并还原大小
-        if (!isCollapsed) {
-          it.toggleCollapse(isCollapsed)
+      // 获取数据类别
+      this.excute(this.$service.commonService, this.$service.commonService.getDataKind, {}).then(res => {
+        if (res.code === this.$config.SUCCESS_CODE) {
+          this.dataKindList = res.data
+          //图形的初始化依赖于数据种类,需要根据DB变化名称等信息
+          this.initGraph();
         }
       })
     },
@@ -489,12 +512,12 @@ export default {
   display: flex;
   border: 1px solid #dfe3e8;
 }
-
 #stencil {
   width: 180px;
   height: 100%;
   position: relative;
   border-right: 1px solid #dfe3e8;
+  background-color: #f5f5f5;
 }
 
 #graph-container {