Просмотр исходного кода

Merge branch 'master' of http://git.dongkesoft.com:9001/DK-MES-3.0/mes-web

hongxudong 1 год назад
Родитель
Сommit
cd24840a9c

BIN
src/assets/icons/barcode.png


BIN
src/assets/icons/change.png


BIN
src/assets/icons/check.png


BIN
src/assets/icons/close.png


BIN
src/assets/icons/down.png


BIN
src/assets/icons/end.png


BIN
src/assets/icons/open.png


BIN
src/assets/icons/print.png


BIN
src/assets/icons/start.png


BIN
src/assets/icons/toilet.png


BIN
src/assets/icons/up.png


+ 1 - 1
src/components/business/process/node-modal/node-modal.vue

@@ -68,7 +68,7 @@
           </DkFormItem>
           <!--    计件模式    -->
           <DkFormItem prop="pieceKind" key="pieceKind" :required="true" v-if="nodeControl?.pieceKind?.visible
-          &&!([$config.nodeKind.outKiln,$config.nodeKind.inKiln].includes(nodeData.nodeKind)&&nodeData.opnKind==$config.processType.carCode)
+          &&!([$config.nodeKind.outKiln,$config.nodeKind.inKiln].includes(nodeData.nodeKind)&&nodeData.opnKind==$config.processType.kilnCode)
           &&!($config.nodeKind.register==nodeData.nodeKind&&nodeData.opnKind!=$config.processType.productCode)">
             <SelectPop ref="pieceKind" v-model="nodeData.pieceKind" label-key="kindName" value-key="kindCode"
                        :multiple="false"

+ 1 - 2
src/config/index.js

@@ -445,8 +445,6 @@ export default {
     kilnCode: '节点操作-载具码',
     special: "节点操作-特殊",
     quantity: "节点操作-数量",
-    carCode: '节点操作-载具码',
-
   },
   /**
    *   @desc   : 计件类型
@@ -2343,6 +2341,7 @@ export default {
   nodeSysTags: {
     mold: "节点标签-成型交接",
     check: "节点标签-成检交接",
+    print: "节点标签-外签打印",
   },
   /**
    * @desc   : 路由类别

+ 96 - 5
src/view/process/process-flow/config/ProcessConfig.js

@@ -17,6 +17,16 @@ import recover from '@/assets/icons/recover.png'
 import register from '@/assets/icons/register.png'
 import shaping from '@/assets/icons/shaping.png'
 import uninstallKiln from '@/assets/icons/uninstallKiln.png'
+import barcode from '@/assets/icons/barcode.png'
+import change from '@/assets/icons/change.png'
+import down from '@/assets/icons/down.png'
+import up from '@/assets/icons/up.png'
+import check from '@/assets/icons/check.png'
+import toilet from '@/assets/icons/toilet.png'
+import print from '@/assets/icons/print.png'
+import start from '@/assets/icons/start.png'
+import end from '@/assets/icons/end.png'
+
 import dklogo from '@/assets/images/dklogo.png'
 import router from '@/router'
 import config from '@/config'
@@ -506,7 +516,7 @@ export default class Process {
 
 
     // region 右键工序进入编辑模式
-    this.graph.on('node:contextmenu', ({ node, e }) => {
+    this.graph.on('node:contextmenu', ({ node, e ,view}) => {
       //如果双击的不是工序组,显示弹窗
       if (!node.data?.parent) {
         //设置值
@@ -894,6 +904,7 @@ export default class Process {
       shape: 'custom-image',
       width: 130,
       height: 60,
+      effect: ['data'],
       html(cell) {
         let div = document.createElement('div')
         let left = document.createElement('div')
@@ -903,8 +914,8 @@ export default class Process {
         right.className = 'custom-html-right'
         let img = document.createElement('img')
         img.src = self.getCellImg(cell)
-        img.width = 32
-        img.height = 32
+        img.width = 24
+        img.height = 24
         let title = document.createElement('div')
         let text = document.createElement('div')
         title.className = 'custom-html-right-title'
@@ -912,11 +923,51 @@ export default class Process {
         title.innerHTML = cell.getData().nodeName
         text.innerHTML =  nodeKindList.find(it => it.kindCode == cell.getData().nodeKind)?.kindName
         left.appendChild(img)
+
+        if(cell.getData().isValid!==undefined){
+          //操作模式icon
+          let iconsOpnKind=document.createElement('img')
+          iconsOpnKind.src = self.getOpnKindIcon(cell)
+          iconsOpnKind.width = 8
+          iconsOpnKind.height = 8
+          iconsOpnKind.className='node-icon-opn-kind'
+          left.appendChild(iconsOpnKind)
+
+          //工序标签icon
+          let iconsNodeTags=document.createElement('div')
+          iconsNodeTags = self.getNodeTagsDiv(cell,iconsNodeTags)
+          left.appendChild(iconsNodeTags)
+
+          //开始结束icon
+          let flowKind=document.createElement('img')
+          if(cell.getData().flowKind===config.flowKind.start){
+            flowKind.src = start
+            flowKind.width = 8
+            flowKind.height = 8
+            flowKind.className='node-icon-flow-kind'
+            left.appendChild(flowKind)
+          }
+          if(cell.getData().flowKind===config.flowKind.end){
+            flowKind.src = end
+            flowKind.width = 8
+            flowKind.height = 8
+            flowKind.className='node-icon-flow-kind'
+            left.appendChild(flowKind)
+          }
+
+          //显示顺序
+          let displayNo=document.createElement('div')
+          displayNo.innerHTML=cell.getData().displayNo
+          displayNo.className='node-icon-display-no'
+          left.appendChild(displayNo)
+        }
+
         right.appendChild(title)
         right.appendChild(text)
         div.appendChild(left)
         div.appendChild(right)
 
+        // console.log('cell.getData()',cell.getData())
         if (cell.getData().isValid === false) {
           left.style.borderColor = '#ed4014'
           right.style.borderColor = '#ed4014'
@@ -981,7 +1032,7 @@ export default class Process {
         flgJobDefect: true,
         flowKind: config.flowKind.middle,
         userKind: config.userKind.product,
-        opnKind: config.processType.carCode,
+        opnKind: config.processType.kilnCode,
         pieceKind: config.registerType.special,
         flgScrap: false,
         flgUndo: false,
@@ -993,7 +1044,7 @@ export default class Process {
         flgJobDefect: true,
         flowKind: config.flowKind.middle,
         userKind: config.userKind.product,
-        opnKind: config.processType.carCode,
+        opnKind: config.processType.kilnCode,
         pieceKind: config.registerType.special,
         flgScrap: false,
         flgUndo: false,
@@ -1198,4 +1249,44 @@ export default class Process {
     // console.log('1',self.imgList[nodeKindKey])
     return this.imgList[nodeKindKey]
   }
+
+  static iconOpnKindList= {
+    productCode: barcode,
+    dressKilnCar: up,
+    unloadKilnCar: down,
+    exchangeKilnCar: change,
+    kilnCode: uninstallKiln,
+  }
+
+  static getOpnKindIcon(cell) {
+    let opnKindValue=cell.getData().opnKind
+    let opnKindKey=Object.keys(config.processType).find(key => config.processType[key] === opnKindValue);
+    return this.iconOpnKindList[opnKindKey]
+  }
+
+  static getNodeTagsDiv(cell, iconsNodeTags) {
+    let nodeTags=cell.getData().nodeSysTags
+    console.log('nodeTags',nodeTags)
+    nodeTags.forEach(it=>{
+      let icon=document.createElement('img')
+      icon.src = this.getNodeTagsIcon(it)
+      icon.width = 8
+      icon.height = 8
+      icon.style='margin-bottom:4px'
+      iconsNodeTags.append(icon)
+    })
+    iconsNodeTags.className='node-icon-node-tags'
+    return iconsNodeTags
+  }
+
+  static getNodeTagsIcon(tag){
+    let nodeTagKey=Object.keys(config.nodeSysTags).find(key => config.nodeSysTags[key] === tag);
+    return this.iconNodeTagsList[nodeTagKey]
+  }
+
+  static iconNodeTagsList= {
+    mold: toilet,
+    check: check,
+    print: print,
+  }
 }

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

@@ -862,6 +862,32 @@ export default {
   align-items: self-start;
   color: #B6B6B6;
 }
+/deep/ .node-icon-opn-kind{
+  position: absolute;
+  bottom:5px;
+  left:42px;
+}
+/deep/ .node-icon-node-tags{
+  display: grid;
+  position: absolute;
+  top:5px;
+  left:42px;
+}
+
+/deep/ .node-icon-flow-kind{
+  display: grid;
+  position: absolute;
+  top:5px;
+  left:5px;
+}
+
+/deep/ .node-icon-display-no{
+  font-size: 10px;
+  position: absolute;
+  bottom:2px;
+  left:4px;
+}
+
 .tools{
   background: #F2F7FA;
 }