From 9b825939b7f0a7439d704b379812362dd95697fc Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期一, 11 七月 2022 17:49:26 +0800
Subject: [PATCH] 1.优化代码2.修改实施部提出的bug3.生产开报工外协列表自动弹窗实现部分

---
 src/views/scgl/sckbg.vue |  241 +++++++++++++++++++++++++++++++++--------------
 1 files changed, 167 insertions(+), 74 deletions(-)

diff --git a/src/views/scgl/sckbg.vue b/src/views/scgl/sckbg.vue
index 9c3ac1c..85e1105 100644
--- a/src/views/scgl/sckbg.vue
+++ b/src/views/scgl/sckbg.vue
@@ -8,10 +8,10 @@
             <div style="display: flex;align-items: center">
               <div style="width: 70px">宸ュ簭鐮侊細</div>
               <el-input
-                v-model="produceCode"
-                oninput="value=value.replace(/[^0-9a-zA-Z;]/g,'')"
+                v-model="form.orderstepqrcode"
+                oninput="value=value.replace(/[^0-9a-zA-Z;_]/g,'')"
                 name="produceCode"
-                style="width: 500px"
+                style="width: 300px"
                 @keyup.enter.native="val=>enterNative(val,'produceCode')"
               />
             </div>
@@ -30,7 +30,7 @@
           <div class="elTableDiv">
             <el-table
               :data="tableData"
-              :height="tableHeight"
+              :height="tableHeight+'px'"
               border
               stripe
               :style="{width: 100+'%',height:tableHeight+'px',}"
@@ -39,18 +39,19 @@
               :cell-style="this.$cellStyle"
               @sort-change="sortChange"
             >
-              <!--              <el-table-column-->
-              <!--                width="50"-->
-              <!--              >-->
-              <!--                <template slot-scope="{row}">-->
-              <!--                  &lt;!&ndash;                  <el-radio&ndash;&gt;-->
-              <!--                  &lt;!&ndash;                    v-model="radioSelected"&ndash;&gt;-->
-              <!--                  &lt;!&ndash;                    :label="row.wo"&ndash;&gt;-->
-              <!--                  &lt;!&ndash;                    style="color: #fff;padding-left: 10px; margin-right: -25px;"&ndash;&gt;-->
-              <!--                  &lt;!&ndash;                    @change.native="getCurrentRow(row.wo)"&ndash;&gt;-->
-              <!--                  &lt;!&ndash;                  />&ndash;&gt;-->
-              <!--                </template>-->
-              <!--              </el-table-column>-->
+              <el-table-column
+                width="50"
+                fixed
+              >
+                <template slot-scope="{row}">
+                  <el-radio
+                    v-model="radioSelected"
+                    :label="row.wo"
+                    style="color: #fff;padding-left: 10px; margin-right: -25px;"
+                    @change.native="getCurrentRow(row.wo)"
+                  />
+                </template>
+              </el-table-column>
               <el-table-column
                 prop="RowNum"
                 width="50"
@@ -153,12 +154,26 @@
         <el-tab-pane label="澶栧崗鍒楄〃">
           <div style="margin-left: 10px;margin-top:10px;display: flex;justify-content: space-between">
             <div style="display: flex;align-items: center">
-              <div style="width: 70px">宸ュ簭鐮侊細</div>
+              <div style="width: 90px;">澶栧崗绫诲瀷锛�</div>
+              <el-select
+                v-model="WXSelected"
+                filterable
+                style="width: 200px"
+                placeholder="璇烽�夋嫨"
+              >
+                <el-option
+                  v-for="item in WXSelectArr"
+                  :key="item.code"
+                  :label="item.name"
+                  :value="item.code"
+                />
+              </el-select>
+              <div style="width: 70px;margin-left: 20px">宸ュ簭鐮侊細</div>
               <el-input
-                v-model="WXproduceCode"
-                oninput="value=value.replace(/[^0-9a-zA-Z;]/g,'')"
+                v-model="WXform.orderstepqrcode"
+                oninput="value=value.replace(/[^0-9a-zA-Z;_]/g,'')"
                 name="WXproduceCode"
-                style="width: 500px"
+                style="width: 300px"
                 @keyup.enter.native="val=>enterNative(val,'WXproduceCode')"
               />
             </div>
@@ -177,27 +192,28 @@
           <div class="elTableDiv">
             <el-table
               :data="WXtableData"
-              :height="tableHeight"
+              :height="tableHeight+'px'"
               border
               stripe
               :style="{width: 100+'%',height:tableHeight+'px',}"
               highlight-current-row
               :header-cell-style="this.$headerCellStyle"
               :cell-style="this.$cellStyle"
-              @sort-change="sortChange"
+              @sort-change="WXsortChange"
             >
-              <!--              <el-table-column-->
-              <!--                width="50"-->
-              <!--              >-->
-              <!--                <template slot-scope="{row}">-->
-              <!--                  &lt;!&ndash;                  <el-radio&ndash;&gt;-->
-              <!--                  &lt;!&ndash;                    v-model="radioSelected"&ndash;&gt;-->
-              <!--                  &lt;!&ndash;                    :label="row.wo"&ndash;&gt;-->
-              <!--                  &lt;!&ndash;                    style="color: #fff;padding-left: 10px; margin-right: -25px;"&ndash;&gt;-->
-              <!--                  &lt;!&ndash;                    @change.native="getCurrentRow(row.wo)"&ndash;&gt;-->
-              <!--                  &lt;!&ndash;                  />&ndash;&gt;-->
-              <!--                </template>-->
-              <!--              </el-table-column>-->
+              <el-table-column
+                width="50"
+                fixed
+              >
+                <template slot-scope="{row}">
+                  <el-radio
+                    v-model="radioSelected"
+                    :label="row.wo_code"
+                    style="color: #fff;padding-left: 10px; margin-right: -25px;"
+                    @change.native="getWXCurrentRow(row.wo_code)"
+                  />
+                </template>
+              </el-table-column>
               <el-table-column
                 prop="RowNum"
                 width="50"
@@ -235,8 +251,8 @@
                 width="150"
               />
               <el-table-column
-                prop="seq"
-                width="80"
+                prop="stepname"
+                width="100"
                 label="宸ュ簭"
                 sortable="custom"
               />
@@ -317,29 +333,29 @@
           <div style="width: 200px">{{ dialogForm.wo_code }}</div>
         </el-form-item>
         <el-form-item label="浜у搧缂栫爜锛�">
-          <div style="width: 200px">427100</div>
+          <div style="width: 200px">{{ dialogForm.partcode }}</div>
         </el-form-item>
         <el-form-item label="浜у搧鍚嶇О锛�">
-          <div style="width: 200px">鏈虹鏉垮簳</div>
+          <div style="width: 200px">{{ dialogForm.partname }}</div>
         </el-form-item>
         <el-form-item label="浜у搧瑙勬牸锛�">
-          <div style="width: 200px">鏈虹搴曟澘&1</div>
+          <div style="width: 200px">{{ dialogForm.partspec }}</div>
         </el-form-item>
         <el-form-item label="褰撳墠宸ュ簭锛�">
-          <div style="width: 200px">婵�鍏夊垏鍓�</div>
+          <div style="width: 200px">{{ dialogForm.stepname }}</div>
         </el-form-item>
         <el-form-item label="宸ュ簭鎻忚堪锛�">
-          <el-tooltip class="item" effect="dark" content="鍘熸潗鏂欏垏鎸夋潗鏂欏垏鎸夋潗鏂欏垏鎸夋椂鎵撳崱鏁版嵁鐨勫崱" placement="top-start">
-            <div style="width: 200px;white-space: nowrap;text-overflow: ellipsis;overflow: hidden;">
-              鍘熸潗鏂欏垏鎸夋潗鏂欏垏鎸夋潗鏂欏垏鎸夋椂鎵撳崱鏁版嵁鐨勫崱
-            </div>
-          </el-tooltip>
+          <!--          <el-tooltip   class="item" effect="dark" content="鍘熸潗鏂欏垏鎸夋潗鏂欏垏鎸夋潗鏂欏垏鎸夋椂鎵撳崱鏁版嵁鐨勫崱" placement="top-start">-->
+          <div style="width: 200px;white-space: nowrap;text-overflow: ellipsis;overflow: hidden;">
+            {{ dialogForm.stepdesc }}
+          </div>
+          <!--          </el-tooltip>-->
         </el-form-item>
         <el-form-item label="浠诲姟鏁伴噺锛�">
-          <div style="width: 200px">1000</div>
+          <div style="width: 200px">{{ dialogForm.planqty }}</div>
         </el-form-item>
-        <el-form-item label="鏈姤/宸叉姤锛�">
-          <div style="width: 200px">900/100</div>
+        <el-form-item :label="dialogTitle==='鑷埗寮�濮�'||dialogTitle==='鑷埗鎶ュ伐'?'鏈姤/宸叉姤锛�':'鏈彂/宸插彂锛�'">
+          <div style="width: 200px">{{ dialogForm.noreportqty }}/{{ dialogForm.reportqty }}</div>
         </el-form-item>
 
         <el-form-item v-if="dialogTitle==='鑷埗寮�濮�'" label="寮�宸ユ暟閲忥細">
@@ -582,10 +598,11 @@
 import {
   MesOrderGroupSelectUser,
   MesOrderStepReportSelectUserGroup,
-  MesOrderStepSearch,
+  MesOrderStepSearch, MesOrderStepStart,
   MesOrderStepStartSelectEqp,
   MesOrderWxStepSearch
 } from '@/api/scgl'
+import { MesOrderStepSelectWX } from '@/api/sbgl'
 
 const SER_HZ = /^[\u4e00-\u9fa5]+$/
 export default {
@@ -617,6 +634,8 @@
       tableHeight: 0,
       produceCode: '', // 宸ュ簭鐮�
       WXproduceCode: '', // 澶栧崗宸ュ簭鐮�
+      radioSelected: '', // 宸ュ簭閫変腑
+      WXradioSelected: '', // 宸ュ簭閫変腑
       form: {
         orderstepqrcode: 'PO202206280001_4;Step01', // 鎵弿鐨勪簩缁寸爜淇℃伅
         prop: 'wo', // 鎺掑簭瀛楁
@@ -627,6 +646,7 @@
       total: 10,
       tableData: [],
       WXform: { // 澶栧崗琛ㄥ崟
+        // PO202206280001_4;Step01
         orderstepqrcode: 'PO202206280001_4;Step01', // 鎵弿鐨勪簩缁寸爜淇℃伅
         prop: 'wo_code', // 鎺掑簭瀛楁
         order: 'asc', // 鎺掑簭瀛楁
@@ -636,6 +656,15 @@
       WXtotal: 10, // 澶栧崗琛ㄥ崟鎬绘暟
       WXtableData: [], // 澶栧崗琛�
 
+      WXSelectArr: [// 澶栧崗绫诲瀷涓嬫媺鍒楄〃
+        { code: 'OUT', name: '鍙戞枡' },
+        { code: 'IN', name: '鏀舵枡' }
+      ],
+      WXSelected: 'OUT', // 澶栧崗涓嬫媺鍒楄〃閫変腑鍊�
+
+      judgeIsDialog: false, // 鍒ゆ柇鏄惁鑷姩寮圭獥
+      judgeIsDialogNumber: false, // 鍒ゆ柇寮瑰摢涓獥
+
       dialogVisible: false,
       dialogTitle: '', // 鑷埗寮�濮嬨�佽嚜鍒舵姤宸ャ�佸鍗忓彂鏂欍�佸鍗忔敹鏂�
       dialogForm: {
@@ -643,12 +672,21 @@
         partcode: '', // 浜у搧缂栫爜
         partname: '', // 浜у搧鍚嶇О
         partspec: '', // 浜у搧瑙勬牸
-        currentstep: '', // 褰撳墠宸ュ簭
-        nextstep: '', // 涓嬩竴閬撳伐搴�
-        desr: '', // 宸ュ簭鎻忚堪
-        plan_qty: '', // 浠诲姟鏁伴噺
-        report_qty: '', // 宸叉姤鏁伴噺
-        noreport_qty: '' // 鏈姤鏁伴噺
+        stepname: '', // 褰撳墠宸ュ簭鍚�
+        nextstepname: '', // 涓嬩竴閬撳伐搴忓悕
+        stepdesc: '', // 宸ュ簭鎻忚堪
+        planqty: '', // 浠诲姟鏁伴噺
+        reportqty: '', // 宸叉姤鏁伴噺
+        noreportqty: '', // 鏈姤鏁伴噺
+        startqty: '' // 鍙戞枡鏁伴噺
+
+        // eqpcode: '', // 璁惧缂栫爜
+        // usergroupcode: '', // 鐝粍缂栫爜
+        // reportuser: '', // 鎶ュ伐浜哄憳
+        // taskqty: '', // 浠诲姟鏁伴噺
+        // startqty: '', // 寮�宸ユ暟閲�
+        // reportqty: '', // 鎶ュ伐鏁伴噺
+        // ngqty: '' // 涓嶈壇鏁伴噺
 
       },
       userTableData: [
@@ -678,7 +716,8 @@
     }
   },
   created() {
-    this.getMesOrderStepSearch()
+    // this.getMesOrderStepSearch()
+    this.tabClick()
   },
   mounted() {
     window.addEventListener('resize', this.getHeight)
@@ -691,13 +730,16 @@
   methods: {
     async getMesOrderStepSearch() {
       const res = await MesOrderStepSearch(this.form)
-      this.tableData = res.data
-      this.total = res.count
+      if (res.code === '200') {
+        this.tableData = res.data
+        this.total = res.count
+      }
     },
-    async MesOrderWxStepSearch() {
+    async getMesOrderWxStepSearch() {
       const res = await MesOrderWxStepSearch(this.WXform)
-      this.WXtableData = res.data
-      this.WXtotal = res.count
+      if (res.code === '200') {
+        this.WXtableData = res.data
+      }
     },
     // 鎺掑簭鏀瑰彉鏃�
     sortChange({ column, prop, order }) {
@@ -712,29 +754,52 @@
       this.form.prop = prop
       this.getMesOrderStepSearch()
     },
-    getCurrentRow() {
+    // WX鎺掑簭鏀瑰彉鏃�
+    WXsortChange({ column, prop, order }) {
+      if (order === 'descending') {
+        order = 'desc'
+      } else if (order === 'ascending') {
+        order = 'asc'
+      } else {
+        order = 'desc'
+      }
+      this.WXform.order = order
+      this.WXform.prop = prop
+      this.getMesOrderWxStepSearch()
+    },
+    // 鑷埗椤电鍘熺偣鐐瑰嚮
+    getCurrentRow(val) {
 
+    },
+    // 澶栧崗椤电鍘熺偣鐐瑰嚮
+    getWXCurrentRow(val) {
+      console.log(val)
+      this.WXradioSelected = val
     },
     // tab鎸夐挳鍒囨崲榧犳爣鑷姩鑱氱劍
     tabClick(val, d) {
       console.log(val, d, 1)
       if (this.$refs.elTabs.currentName === '0') {
-        this.getMesOrderStepSearch()
         this.$nextTick(() => {
           $("input[name='produceCode']")[0].focus()
         })
       }
       if (this.$refs.elTabs.currentName === '1') {
-        this.MesOrderWxStepSearch()
         this.$nextTick(() => {
           $("input[name='WXproduceCode']")[0].focus()
         })
       }
     },
+    // 鎵爜閿洏鍥炶溅浜嬩欢
     async   enterNative(val, belong) {
       console.log(val, belong)
+      // 寮�宸ワ細code="200"  count=0
+      // 鎶ュ伐锛歝ode="200"  count=1
+      // 鍙戞枡锛歝ode="200"  count=2
+      // 鏀舵枡锛歝ode="200"  count=3
+      // 璧板垪琛ㄥ舰寮� code="200"  count=4
       if (belong === 'produceCode') {
-        this.ZZreport()
+        // this.ZZreport()
         // 鏌ユ壘璁惧
         // const {data:res} = await MesOrderStepStartSelectEqp({ orderstepqrcode: this.produceCode })
         // this.xxx=res
@@ -742,7 +807,15 @@
         // const { data: res2 } = await MesOrderStepReportSelectUserGroup()
       }
       if (belong === 'WXproduceCode') {
-
+        const data = {
+          OperType: 'WX',
+          orderstepqrcode: this.WXform.orderstepqrcode,
+          SelectType: this.WXSelected// OUT銆両N
+        }
+        const res = await MesOrderStepStart(data)
+        if (res.code === '200' && res.count === 2) {
+          this.WXsend(res.data)
+        }
       }
     },
     // 鏌ヨ
@@ -765,13 +838,29 @@
       this.getUserTableData()
     },
     // 澶栧崗鍙戞枡
-    async  WXsend() {
+    async  WXsend(obj) {
+      if (this.WXradioSelected.length < 1 && obj.length < 1) {
+        return this.$message.info('璇峰厛閫夋嫨宸ュ簭锛�')
+      }
       this.dialogTitle = '澶栧崗鍙戞枡'
-      this.dialogVisibleTrue()
-      // this.dialogVisible = true
+      this.dialogVisible = true
+      console.log(obj, 321)
+      this.dialogForm.wo_code = obj.wo_code
+      this.dialogForm.partcode = obj.partnumber
+      this.dialogForm.partname = obj.partname
+      this.dialogForm.partspec = obj.partspec
+      this.dialogForm.stepname = obj.stepname
+      this.dialogForm.stepdesc = obj.stepdesc
+      this.dialogForm.planqty = obj.planqty
+      this.dialogForm.reportqty = obj.reportqty
+      this.dialogForm.noreportqty = obj.noreportqty
+      this.dialogForm.startqty = obj.startqty
 
-      // const { data: res } = await MesOrderStepReportSelectUserGroup()
-      // this.xx = res
+      // const data = {
+      //
+      // }
+      // const res = await MesOrderStepSelectWX(data)
+      // console.log(res)
     },
     // 澶栧崗鏀舵枡
     WXback() {
@@ -780,7 +869,7 @@
       // this.dialogVisible = true
     },
     dialogVisibleTrue() {
-      this.dialogVisible = true
+      // this.dialogVisible = true
       // this.dialogForm.wo_code=
     },
     // 鎶ュ伐鏌ヨ鐢ㄦ埛琛�
@@ -1051,12 +1140,16 @@
   border-color: $main_color;
 }
 
-.dialogVisible{
+//.dialogVisible{
   ::v-deep .el-select .el-input .el-select__caret  {
     display: flex;
     align-items: center;
     justify-content: center;
   }
+//}
+.elTableDiv {
+  ::v-deep .el-radio__label {
+    display: none;
+  }
 }
-
 </style>

--
Gitblit v1.9.3