From db407663e3024050ab3eb701f10ee00ddaf5f1ee Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期五, 16 六月 2023 11:28:38 +0800
Subject: [PATCH] 1.制造模型引入车间概念

---
 src/views/makeModel/processRoute.vue |  139 ++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 127 insertions(+), 12 deletions(-)

diff --git a/src/views/makeModel/processRoute.vue b/src/views/makeModel/processRoute.vue
index 572ae4c..07931f3 100644
--- a/src/views/makeModel/processRoute.vue
+++ b/src/views/makeModel/processRoute.vue
@@ -16,6 +16,22 @@
           style="display: flex;"
         >
           <div class="elForm">
+            <el-form-item label="鎵�灞炶溅闂�" style=" display: flex;">
+              <el-select
+                v-model="form.WorkShop"
+                :popper-append-to-body="false"
+                style="width: 200px"
+                placeholder="璇烽�夋嫨"
+              >
+                <!--                @focus="getWareHouseSelect"-->
+                <el-option
+                  v-for="item in WorkShopArr"
+                  :key="item.code"
+                  :label="item.name"
+                  :value="item.code"
+                />
+              </el-select>
+            </el-form-item>
             <el-form-item label="宸ヨ壓璺嚎缂栫爜" style=" display: flex;">
               <el-input v-model="form.routecode" placeholder="璇疯緭鍏�" style="width: 200px" />
             </el-form-item>
@@ -25,7 +41,7 @@
             <el-form-item label="宸ヨ壓鎻忚堪" style=" display: flex;">
               <el-input v-model="form.description" placeholder="璇疯緭鍏�" style="width: 200px" />
             </el-form-item>
-            <el-form-item label="鍒涘缓浜哄憳" style=" display: flex;">
+            <el-form-item v-show="isExpandForm" label="鍒涘缓浜哄憳" style=" display: flex;">
               <el-input v-model="form.createuser" style="width: 200px" placeholder="璇疯緭鍏�" />
             </el-form-item>
           </div>
@@ -36,7 +52,21 @@
         </el-form>
         <div
           class="bodyTopFormExpand"
-        />
+        >
+          <svg-icon
+            v-show="mouseHoverType==='mouseout'"
+            style="cursor: pointer"
+            :icon-class="!isExpandForm?'doubleDown3':'doubleUp3'"
+            @mouseenter="mouseHoverType=$event.type"
+          />
+          <svg-icon
+            v-show="mouseHoverType==='mouseenter'"
+            style="cursor: pointer"
+            :icon-class="!isExpandForm?'doubleDown':'doubleUp'"
+            @click="isExpandForm=!isExpandForm"
+            @mouseout="mouseHoverType=$event.type"
+          />
+        </div>
       </div>
 
       <div class="elTableDiv">
@@ -49,10 +79,10 @@
           :key="tableTimeStampKey"
           class="tableFixed"
           :data="tableData"
-          :height="tableHeight"
+          :height="isExpandForm?tableHeight:(tableHeight+40)+'px'"
           border
           :row-class-name="tableRowClassName"
-          :style="{width: 100+'%',height:tableHeight+'px',}"
+          :style="{width: 100+'%',height:isExpandForm?tableHeight:(tableHeight+40)+'px',}"
           highlight-current-row
           :header-cell-style="this.$headerCellStyle"
           :cell-style="this.$cellStyle"
@@ -182,7 +212,7 @@
         :page.sync="form.page"
         :limit.sync="form.rows"
         align="right"
-        layout="total,prev, pager, next,sizes"
+        layout="total,prev, pager, next,sizes,jumper"
         popper-class="select_bottom"
         @pagination="getRouteSearch"
       />
@@ -234,10 +264,37 @@
             />
           </el-form-item>
         </div>
+        <div style="display: flex">
+          <el-form-item prop="wkshopcode" label="鎵�灞炶溅闂�" style="margin-right: 20px">
+            <el-select
+              v-model="dialogForm.wkshopcode"
+              filterable
+              :disabled="operation==='edit'"
+              :popper-append-to-body="false"
+              style="width: 220px"
+              placeholder="璇烽�夋嫨"
+              @change="wkshopcodeChange"
+            >
+              <el-option
+                v-for="item in WorkShopArr"
+                :key="item.code"
+                :label="item.name"
+                :value="item.code"
+              />
+            </el-select>
+          </el-form-item>
+
+        </div>
+
         <el-form-item label="宸ヨ壓璁剧疆" prop="Data" style="margin-top: 30px">
           <div class="settingDiv">
             <!--   瀹炵幇宸ヨ壓璁剧疆鍔ㄦ�佹坊鍔�-->
-            <div v-for="(tag,index) in dynamicTags" :key="tag.seq" style="display: flex;align-items: center">
+            <!--            v-if="false"-->
+            <div
+              v-for="(tag,index) in dynamicTags"
+              :key="tag.seq"
+              style="display: flex;align-items: center"
+            >
               <div style="display: flex;align-items: center;position: relative;">
                 <div
                   class="orderNumber"
@@ -349,6 +406,8 @@
 import elDragDialog from '@/directive/el-drag-dialog'
 import waves from '@/directive/waves'
 import TableColumnSettings from '@/components/TableColumnSettings'
+import { WorkShopSelect } from '@/api/deviceManager'
+import { getCookie } from '@/utils/auth'
 
 export default {
   name: 'GYLX',
@@ -359,12 +418,15 @@
   data() {
     return {
       isIpad: false,
+      mouseHoverType: 'mouseout',
+      isExpandForm: false,
       mainHeight: 0,
       tableHeight: 0,
       form: {
         routecode: '', // 宸ヨ壓璺嚎缂栫爜
         routename: '', // 宸ヨ壓璺嚎鍚嶇О
         description: '', // 宸ヨ壓璺嚎鎻忚堪
+        WorkShop: this.$store.state.settings.orgType !== 'W' ? '' : getCookie('stu_torgcode'), // 鎵�灞炶溅闂�
         createuser: '', // 鍒涘缓浜哄憳
         prop: 'lm_date', // 鎺掑簭瀛楁
         order: 'desc', // 鎺掑簭瀛楁
@@ -375,6 +437,7 @@
         { label: '鏄�', value: 'Y' },
         { label: '鍚�', value: 'N' }
       ],
+      WorkShopArr: [], // 鎵�灞炶溅闂存暟缁�
       total: 10,
       tableData: [],
       tableColumnSettingsArray: [
@@ -423,9 +486,29 @@
         {
           minWidth: 110,
           width: false,
+          prop: 'org_code',
+          label: '鎵�灞炶溅闂寸紪鐮�',
+          id: 7,
+          show: false,
+          fixed: false,
+          sortable: true
+        },
+        {
+          minWidth: 110,
+          width: false,
+          prop: 'org_name',
+          label: '鎵�灞炶溅闂�',
+          id: 8,
+          show: true,
+          fixed: false,
+          sortable: true
+        },
+        {
+          minWidth: 110,
+          width: false,
           prop: 'lm_user',
           label: '鍒涘缓浜哄憳',
-          id: 7,
+          id: 9,
           show: true,
           fixed: false,
           sortable: true
@@ -435,7 +518,7 @@
           width: false,
           prop: 'lm_date',
           label: '鍒涘缓鏃堕棿',
-          id: 8,
+          id: 10,
           show: true,
           fixed: false,
           sortable: true
@@ -449,6 +532,7 @@
         name: '',
         enable: 'Y',
         description: '',
+        wkshopcode: this.$store.state.settings.orgType !== 'W' ? '' : getCookie('stu_torgcode'), // 鎵�灞炶溅闂�
         Data: []
       },
       dynamicTags: [// 宸ヨ壓璁剧疆鏁扮粍
@@ -474,6 +558,9 @@
         ],
         enable: [
           { required: true, message: '璇烽�夋嫨浣跨敤鐘舵��', trigger: ['blur', 'change'] }
+        ],
+        wkshopcode: [
+          { required: true, message: '璇烽�夋嫨鎵�灞炶溅闂�', trigger: ['blur', 'change'] }
         ]
         // Data: [
         //   { required: true, message: '璇疯缃伐鑹�', trigger: ['blur', 'change'] }
@@ -484,12 +571,18 @@
   },
   created() {
     this.getRouteSearch()
+    this.getWorkShopSelect()
   },
   mounted() {
     window.addEventListener('resize', this.getHeight)
     this.getHeight()
   },
   methods: {
+    // 鑾峰彇鎵�灞炶溅闂翠笅鎷�
+    async getWorkShopSelect() {
+      const { data: res } = await WorkShopSelect()
+      this.WorkShopArr = res
+    },
     tableColumnUpdate(val, isCopyTrue) {
       if (isCopyTrue) {
         this.tableColumnSettingsArray = val
@@ -513,9 +606,12 @@
         return (res.value.toLowerCase().indexOf(queryString.toLowerCase()) !== -1)
       }
     },
+    wkshopcodeChange() {
+      this.getStepSelectArr()
+    },
     // 宸ヨ壓璁剧疆 涓嬫媺鑾峰彇鎵�鏈�
     async getStepSelectArr() {
-      const { data: res } = await StepSelect()
+      const { data: res } = await StepSelect({ WorkShop: this.dialogForm.wkshopcode })
       this.routeArr = res
     },
     // 澶勭悊涓嬫媺閫夋嫨
@@ -585,6 +681,13 @@
     },
     // tag鐐瑰嚮淇敼鎸夐挳
     tagEdit(tag) {
+      if (!this.dialogForm.wkshopcode) {
+        return this.$message.info('璇峰厛閫夋嫨鎵�灞炶溅闂达紒')
+      }
+      if (this.routeArr.length === 0) {
+        return this.$message.info('璇ヨ溅闂存湭璁剧疆宸ュ簭锛�')
+      }
+
       this.autocompleteValue = ''
       this.dynamicTags.forEach(item => {
         item.stepname = item.stepname.trim()
@@ -731,6 +834,7 @@
       this.form.routename = ''
       this.form.description = ''
       this.form.createuser = ''
+      this.form.WorkShop = this.$store.state.settings.orgType !== 'W' ? '' : getCookie('stu_torgcode') // 鎵�灞炶溅闂�
       this.getRouteSearch()
     },
 
@@ -738,7 +842,10 @@
     add(operation) {
       this.operation = operation
       this.dialogVisible = true
-      this.getStepSelectArr()
+
+      if (this.$store.state.settings.orgType === 'W') {
+        this.getStepSelectArr()
+      }
     },
     // 宸ヨ壓璺嚎棰勮
     async edit(operation, row) {
@@ -753,6 +860,8 @@
         this.dialogForm.name = res[0].name
         this.dialogForm.enable = res[0].enable
         this.dialogForm.description = res[0].description
+        this.dialogForm.wkshopcode = res[0].wkshopcode
+
         // this.dialogForm.Data = row.description
         res[0].Data.forEach(item => {
           this.dynamicTags.push(
@@ -786,7 +895,10 @@
       this.operation = operation
       this.dialogVisible = true
 
-      await this.getStepSelectArr()
+      if (this.$store.state.settings.orgType === 'W') {
+        await this.getStepSelectArr()
+      }
+
       const { data: res } = await ViewRoute({ routecode: row.code })
       // 寰呮敼
       this.dynamicTags = []
@@ -796,6 +908,7 @@
         this.dialogForm.name = res[0].name
         this.dialogForm.enable = res[0].enable
         this.dialogForm.description = res[0].description
+        this.dialogForm.wkshopcode = res[0].wkshopcode
         res[0].Data.forEach((item, index) => {
           this.dynamicTags.push(
             { seq: item.seq, stepname: item.stepname, stepcode: item.stepcode, editDisabled: true, effect: index === res[0].Data.length - 1 ? 'dark' : 'light' }
@@ -818,6 +931,7 @@
       this.dialogForm.name = ''
       this.dialogForm.enable = 'Y'
       this.dialogForm.description = ''
+      this.dialogForm.wkshopcode = this.$store.state.settings.orgType !== 'W' ? '' : getCookie('stu_torgcode'), // 鎵�灞炶溅闂�
       this.dialogForm.Data = []
 
       this.dynamicTags = [
@@ -859,6 +973,7 @@
             name: this.dialogForm.name,
             enable: this.dialogForm.enable,
             description: this.dialogForm.description,
+            wkshopcode: this.dialogForm.wkshopcode,
             Data: Data
           }
 
@@ -879,7 +994,7 @@
     getHeight() {
       this.$nextTick(() => {
         this.mainHeight = window.innerHeight - 85
-        this.tableHeight = this.mainHeight - 195
+        this.tableHeight = this.mainHeight - 255
         if (window.innerHeight < 769) {
           this.tableHeight = this.tableHeight - 40
         }

--
Gitblit v1.9.3