From bd3410da8a13682ec0bc888539dc35209a2196ba Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期四, 14 七月 2022 16:10:58 +0800
Subject: [PATCH] 1.生产开报工页面开发

---
 src/views/scgl/sckbg.vue |  993 +++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 700 insertions(+), 293 deletions(-)

diff --git a/src/views/scgl/sckbg.vue b/src/views/scgl/sckbg.vue
index 85e1105..77bc27d 100644
--- a/src/views/scgl/sckbg.vue
+++ b/src/views/scgl/sckbg.vue
@@ -6,7 +6,7 @@
         <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: 70px">鎵爜锛�</div>
               <el-input
                 v-model="form.orderstepqrcode"
                 oninput="value=value.replace(/[^0-9a-zA-Z;_]/g,'')"
@@ -15,7 +15,7 @@
                 @keyup.enter.native="val=>enterNative(val,'produceCode')"
               />
             </div>
-            <div style="display: flex;padding-right: 10px">
+            <div v-if="false" style="display: flex;padding-right: 10px">
               <el-button @click="ZZstart">
                 <svg-icon icon-class="start_time" style="margin-right: 2px" />
                 寮�濮�
@@ -39,19 +39,19 @@
               :cell-style="this.$cellStyle"
               @sort-change="sortChange"
             >
-              <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-->
+              <!--                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"
@@ -74,23 +74,19 @@
                 prop="wo_code"
                 label="宸ュ崟鍙�"
                 sortable="custom"
-                width="160"
               />
               <el-table-column
                 prop="partcode"
                 label="浜у搧缂栫爜"
                 sortable="custom"
-                width="150"
               />
               <el-table-column
                 prop="partname"
                 label="浜у搧鍚嶇О"
                 sortable="custom"
-                width="150"
               />
               <el-table-column
-                prop="seq"
-                width="80"
+                prop="stepname"
                 label="宸ュ簭"
                 sortable="custom"
               />
@@ -103,14 +99,13 @@
               <el-table-column
                 prop="plan_qty"
                 label="浠诲姟鏁伴噺"
-                width="150"
                 sortable="custom"
               />
               <el-table-column
                 prop="good_qty"
-                label="宸叉姤宸ユ暟閲�"
+                label="宸叉姤宸ユ暟閲�(鑹搧)"
                 sortable="custom"
-                width="150"
+                width="160"
               />
               <el-table-column
                 prop="ng_qty"
@@ -168,7 +163,7 @@
                   :value="item.code"
                 />
               </el-select>
-              <div style="width: 70px;margin-left: 20px">宸ュ簭鐮侊細</div>
+              <div style="width: 70px;margin-left: 20px">鎵爜锛�</div>
               <el-input
                 v-model="WXform.orderstepqrcode"
                 oninput="value=value.replace(/[^0-9a-zA-Z;_]/g,'')"
@@ -177,7 +172,7 @@
                 @keyup.enter.native="val=>enterNative(val,'WXproduceCode')"
               />
             </div>
-            <div style="display: flex;padding-right: 10px">
+            <div v-if="false" style="display: flex;padding-right: 10px">
               <el-button @click="WXsend">
                 <svg-icon icon-class="start_time" style="margin-right: 2px" />
                 鍙戞枡
@@ -201,19 +196,19 @@
               :cell-style="this.$cellStyle"
               @sort-change="WXsortChange"
             >
-              <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-->
+              <!--                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"
@@ -228,31 +223,27 @@
                 <template slot-scope="{row}">
                   <div v-if="row.status==='NEW'">鏂拌鍗�</div>
                   <div v-if="row.status==='ALLO'">宸叉淳鍙�</div>
-                  <div v-if="row.status==='START'">寮�宸�</div>
-                  <div v-if="row.status==='CLOSED'">瀹屽伐</div>
+                  <div v-if="row.status==='START'">宸插彂鏂�</div>
+                  <div v-if="row.status==='CLOSED'">宸叉敹鏂�</div>
                 </template>
               </el-table-column>
               <el-table-column
                 prop="wo_code"
                 label="宸ュ崟鍙�"
                 sortable="custom"
-                width="160"
               />
               <el-table-column
                 prop="partcode"
                 label="浜у搧缂栫爜"
                 sortable="custom"
-                width="150"
               />
               <el-table-column
                 prop="partname"
                 label="浜у搧鍚嶇О"
                 sortable="custom"
-                width="150"
               />
               <el-table-column
                 prop="stepname"
-                width="100"
                 label="宸ュ簭"
                 sortable="custom"
               />
@@ -265,14 +256,13 @@
               <el-table-column
                 prop="plan_qty"
                 label="浠诲姟鏁伴噺"
-                width="150"
                 sortable="custom"
               />
               <el-table-column
                 prop="good_qty"
-                label="宸叉姤宸ユ暟閲�"
+                label="宸叉敹鏂欐暟閲�(鑹搧)"
                 sortable="custom"
-                width="150"
+                width="160"
               />
               <el-table-column
                 prop="ng_qty"
@@ -328,7 +318,13 @@
       @close="handleClose"
       @closed="handleClose"
     >
-      <el-form ref="dialogForm" inline :model="dialogForm" label-width="110px">
+      <el-form
+        ref="dialogForm"
+        inline
+        :rules="dialogFormRules"
+        :model="dialogForm"
+        label-width="110px"
+      >
         <el-form-item label="宸ュ崟缂栧彿锛�">
           <div style="width: 200px">{{ dialogForm.wo_code }}</div>
         </el-form-item>
@@ -354,75 +350,89 @@
         <el-form-item label="浠诲姟鏁伴噺锛�">
           <div style="width: 200px">{{ dialogForm.planqty }}</div>
         </el-form-item>
-        <el-form-item :label="dialogTitle==='鑷埗寮�濮�'||dialogTitle==='鑷埗鎶ュ伐'?'鏈姤/宸叉姤锛�':'鏈彂/宸插彂锛�'">
+
+        <el-form-item v-if="dialogTitle==='鑷埗寮�濮�'" label="鏈紑/宸插紑锛�">
           <div style="width: 200px">{{ dialogForm.noreportqty }}/{{ dialogForm.reportqty }}</div>
         </el-form-item>
-
+        <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="鏈姤/宸叉姤锛�">
+          <div style="width: 200px">{{ dialogForm.noreportqty }}/{{ dialogForm.reportqty }}</div>
+        </el-form-item>
+        <el-form-item v-if="dialogTitle==='澶栧崗鍙戞枡'" label="鏈彂/宸插彂锛�">
+          <div style="width: 200px">{{ dialogForm.noreportqty }}/{{ dialogForm.reportqty }}</div>
+        </el-form-item>
+        <el-form-item v-if="dialogTitle==='澶栧崗鏀舵枡'" label="鏈敹/宸叉敹锛�">
+          <div style="width: 200px">{{ dialogForm.noreportqty }}/{{ dialogForm.reportqty }}</div>
+        </el-form-item>
+        <!--鑷埗寮�濮�-->
         <el-form-item v-if="dialogTitle==='鑷埗寮�濮�'" label="寮�宸ユ暟閲忥細">
-          <div style="width: 200px">1000</div>
+          <div style="width: 200px">{{ dialogForm.startqty }}</div>
         </el-form-item>
-        <el-form-item v-if="dialogTitle==='鑷埗寮�濮�'" label="鐢熶骇璁惧锛�">
+        <el-form-item v-if="dialogTitle==='鑷埗寮�濮�'" prop="eqpcode" label="鐢熶骇璁惧锛�">
           <el-select
-            v-model="dialogForm.OrgType"
+            v-model="dialogForm.eqpcode"
             style="width: 200px;"
             placeholder="璇烽�夋嫨"
           >
             <el-option
-              v-for="item in options"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
+              v-for="item in ZZeqpArr"
+              :key="item.code"
+              :label="item.name"
+              :value="item.code"
             />
           </el-select>
         </el-form-item>
+        <!--     鑷埗鎶ュ伐   -->
         <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="涓嬮亾宸ュ簭锛�">
-          <div style="width: 200px">B宸ュ簭</div>
+          <div style="width: 200px">{{ dialogForm.nextstepname }}</div>
         </el-form-item>
-        <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="璁惧鍚嶇О锛�">
+        <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" prop="usergroupcode" label="鐢熶骇鐝粍锛�">
           <el-select
-            v-model="dialogForm.OrgType"
+            v-model="dialogForm.usergroupcode"
             style="width: 200px;"
             placeholder="璇烽�夋嫨"
+            @change="usergroupChange"
           >
             <el-option
-              v-for="item in options"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
-            />
-          </el-select>
-        </el-form-item>
-        <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="鐢熶骇鐝粍锛�">
-          <el-select
-            v-model="dialogForm.OrgType"
-            style="width: 200px;"
-            placeholder="璇烽�夋嫨"
-          >
-            <el-option
-              v-for="item in options"
+              v-for="item in ZZtreams"
               :key="item.group_code"
               :label="item.group_name"
               :value="item.group_code"
             />
           </el-select>
         </el-form-item>
-        <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="鎶ュ伐鏁伴噺锛�">
-          <el-input v-model="dialogForm.OrgName" oninput="value=value.replace(/[^0-9.]/g,'')" style="width: 200px;" />
-        </el-form-item>
-        <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="涓嶈壇鏁伴噺锛�">
-          <el-input v-model="dialogForm.OrgName" oninput="value=value.replace(/[^0-9.]/g,'')" style="width: 200px;" />
-        </el-form-item>
-        <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="涓嶈壇鍘熷洜锛�">
+        <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="璁惧鍚嶇О锛�" prop="eqpcode">
           <el-select
-            v-model="dialogForm.OrgType"
+            v-model="dialogForm.eqpcode"
             style="width: 200px;"
             placeholder="璇烽�夋嫨"
           >
             <el-option
-              v-for="item in options"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
+              v-for="item in ZZeqpArr"
+              :key="item.code"
+              :label="item.name"
+              :value="item.code"
+            />
+          </el-select>
+        </el-form-item>
+        <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="鎶ュ伐鏁伴噺锛�" prop="startqty">
+          <el-input v-model="dialogForm.startqty" oninput="value=value.replace(/[^0-9.]/g,'')" style="width: 200px;" />
+        </el-form-item>
+        <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="涓嶈壇鏁伴噺锛�">
+          <el-input v-model="dialogForm.noputqty" oninput="value=value.replace(/[^0-9.]/g,'')" style="width: 200px;" />
+        </el-form-item>
+        <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="涓嶈壇鍘熷洜锛�">
+          <el-select
+            v-model="dialogForm.badcode"
+            style="width: 200px;"
+            placeholder="璇烽�夋嫨"
+            :disabled="parseFloat(dialogForm.noputqty)===0||dialogForm.noputqty.trim()===''"
+            multiple
+          >
+            <el-option
+              v-for="item in badArr"
+              :key="item.code"
+              :label="item.name"
+              :value="item.code"
             />
           </el-select>
         </el-form-item>
@@ -440,29 +450,30 @@
             style="width: 100%"
           >
             <el-table-column
-              prop="RowNum"
+              width="100"
               label="搴忓彿"
+              type="index"
             />
             <el-table-column
-              prop="name"
+              prop="username"
               label="浜哄憳鍚嶇О"
             >
               <template slot-scope="{row}">
-                <div v-if="row.isVisible===0">{{ row.name }}</div>
-                <el-input v-if="row.isVisible===1" v-model="row.name" />
-                <!--                <el-select-->
-                <!--                  v-if="row.isVisible===1"-->
-                <!--                  v-model="dialogForm.OrgType"-->
-                <!--                  style="width: 200px;"-->
-                <!--                  placeholder="璇烽�夋嫨"-->
-                <!--                >-->
-                <!--                  <el-option-->
-                <!--                    v-for="item in options"-->
-                <!--                    :key="item.value"-->
-                <!--                    :label="item.label"-->
-                <!--                    :value="item.value"-->
-                <!--                  />-->
-                <!--                </el-select>-->
+                <div v-if="row.isVisible===0">{{ row.username }}</div>
+                <el-select
+                  v-if="row.isVisible===1"
+                  v-model="row.username"
+                  style="width: 200px;"
+                  placeholder="璇烽�夋嫨"
+                  @change="val=>usernameChange(val,row)"
+                >
+                  <el-option
+                    v-for="item in ZZuserArr"
+                    :key="item.usercode"
+                    :label="item.username"
+                    :value="item.usercode"
+                  />
+                </el-select>
               </template>
             </el-table-column>
             <el-table-column
@@ -472,7 +483,7 @@
               <template slot-scope="{row}">
                 <div class="operationClass">
                   <el-button v-if="row.isVisible===0" type="text" @click="userDel(row)">鍒犻櫎</el-button>
-                  <el-button v-if="row.isVisible===1" type="text" @click="userSave(row)">淇濆瓨</el-button>
+                  <el-button v-if="row.isVisible===1&&!userIsSave" type="text" @click="userSave(row)">淇濆瓨</el-button>
                   <el-button v-if="row.isVisible===1" type="text" @click="userCancel(row)">鍙栨秷</el-button>
                 </div>
               </template>
@@ -490,88 +501,134 @@
             @pagination="getMesOrderStepSearch"
           />
         </div>
-        <el-form-item v-if="dialogTitle==='澶栧崗鍙戞枡'" label="澶栧崗渚涙柟锛�">
+        <!--     澶栧崗鍙戞枡-->
+        <el-form-item
+          v-if="dialogTitle==='澶栧崗鍙戞枡'"
+          label="澶栧崗渚涙柟锛�"
+          prop="wxcode"
+        >
           <el-select
-            v-model="dialogForm.OrgType"
+            v-model="dialogForm.wxcode"
+            style="width: 200px;"
+            placeholder="璇烽�夋嫨"
+            filterable
+          >
+            <el-option
+              v-for="item in WXouterprovide"
+              :key="item.code"
+              :label="item.name"
+              :value="item.code"
+            />
+          </el-select>
+        </el-form-item>
+        <el-form-item
+          v-if="dialogTitle==='澶栧崗鍙戞枡'"
+          label="鍙戞枡浜哄憳锛�"
+          prop="outuser"
+        >
+          <el-select
+            v-model="dialogForm.outuser"
+            style="width: 200px;"
+            placeholder="璇烽�夋嫨"
+            filterable
+          >
+            <el-option
+              v-for="item in WXoutuser"
+              :key="item.usercode"
+              :label="item.username"
+              :value="item.usercode"
+            />
+          </el-select>
+        </el-form-item>
+        <el-form-item
+          v-if="dialogTitle==='澶栧崗鍙戞枡'"
+          label="鍙戞枡鏁伴噺锛�"
+          prop="fqty"
+        >
+          <el-input v-model="dialogForm.fqty" oninput="value=value.replace(/[^0-9.]/g,'')" style="width: 200px;" />
+        </el-form-item>
+        <!--     澶栧崗鏀舵枡-->
+        <el-form-item
+          v-if="dialogTitle==='澶栧崗鏀舵枡'"
+          label="涓嬮亾宸ュ簭锛�"
+        >
+          <div style="width: 200px">{{ dialogForm.nextstepname }}</div>
+        </el-form-item>
+        <el-form-item
+          v-if="dialogTitle==='澶栧崗鏀舵枡'"
+          label="澶栧崗渚涙柟锛�"
+          prop="wxcode"
+        >
+          <el-select
+            v-model="dialogForm.wxcode"
             style="width: 200px;"
             placeholder="璇烽�夋嫨"
           >
             <el-option
-              v-for="item in options"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
+              v-for="item in WXouterprovide"
+              :key="item.code"
+              :label="item.name"
+              :value="item.code"
             />
           </el-select>
         </el-form-item>
-        <el-form-item v-if="dialogTitle==='澶栧崗鍙戞枡'" label="鍙戞枡浜哄憳锛�">
+        <el-form-item
+          v-if="dialogTitle==='澶栧崗鏀舵枡'"
+          label="鏀舵枡浜哄憳锛�"
+          prop="inuser"
+        >
           <el-select
-            v-model="dialogForm.OrgType"
-            style="width: 200px;"
-            placeholder="璇烽�夋嫨"
-            multiple
-          >
-            <el-option
-              v-for="item in options"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
-            />
-          </el-select>
-        </el-form-item>
-        <el-form-item v-if="dialogTitle==='澶栧崗鍙戞枡'" label="鍙戞枡鏁伴噺锛�">
-          <el-input v-model="dialogForm.OrgName" oninput="value=value.replace(/[^0-9.]/g,'')" style="width: 200px;" />
-        </el-form-item>
-        <el-form-item v-if="dialogTitle==='澶栧崗鏀舵枡'" label="涓嬮亾宸ュ簭锛�">
-          <div style="width: 200px">B宸ュ簭</div>
-        </el-form-item>
-        <el-form-item v-if="dialogTitle==='澶栧崗鏀舵枡'" label="澶栧崗渚涙柟锛�">
-          <el-select
-            v-model="dialogForm.OrgType"
+            v-model="dialogForm.inuser"
             style="width: 200px;"
             placeholder="璇烽�夋嫨"
           >
             <el-option
-              v-for="item in options"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
+              v-for="item in WXoutuser"
+              :key="item.usercode"
+              :label="item.username"
+              :value="item.usercode"
             />
           </el-select>
         </el-form-item>
-        <el-form-item v-if="dialogTitle==='澶栧崗鏀舵枡'" label="鏀舵枡浜哄憳锛�">
-          <el-select
-            v-model="dialogForm.OrgType"
-            style="width: 200px;"
-            placeholder="璇烽�夋嫨"
-            multiple
-          >
-            <el-option
-              v-for="item in options"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
-            />
-          </el-select>
-        </el-form-item>
-        <el-form-item v-if="dialogTitle==='澶栧崗鏀舵枡'" label="鏀舵枡鏁伴噺锛�">
+        <el-form-item
+          v-if="dialogTitle==='澶栧崗鏀舵枡'"
+          label="鏀舵枡鏁伴噺锛�"
+          prop="sqty"
+        >
           <el-input
-            v-model="dialogForm.OrgName"
+            v-model="dialogForm.sqty"
             style="width: 200px"
             oninput="value=value.replace(/[^0-9.]/g,'')"
           />
         </el-form-item>
-        <el-form-item v-if="dialogTitle==='澶栧崗鏀舵枡'" label="涓嶈壇鍘熷洜锛�">
+        <el-form-item
+          v-if="dialogTitle==='澶栧崗鏀舵枡'"
+          label="涓嶈壇鏁伴噺锛�"
+          prop="noputqty"
+        >
+          <el-input
+            v-model="dialogForm.noputqty"
+            style="width: 200px"
+            oninput="value=value.replace(/[^0-9.]/g,'')"
+          />
+        </el-form-item>
+        <el-form-item
+          v-if="dialogTitle==='澶栧崗鏀舵枡'"
+          label="涓嶈壇鍘熷洜锛�"
+          prop="badcode"
+        >
           <el-select
-            v-model="dialogForm.OrgType"
+            v-model="dialogForm.badcode"
             style="width: 200px;"
+            multiple
+            :disabled="parseFloat(dialogForm.noputqty)===0||dialogForm.noputqty.trim()===''"
             placeholder="璇烽�夋嫨"
           >
             <el-option
-              v-for="item in options"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
+              v-for="item in badArr"
+              :key="item.code"
+              :label="item.name"
+              :value="item.code"
             />
           </el-select>
         </el-form-item>
@@ -597,12 +654,21 @@
 import $ from 'jquery'
 import {
   MesOrderGroupSelectUser,
+  MesOrderSelectUser,
   MesOrderStepReportSelectUserGroup,
-  MesOrderStepSearch, MesOrderStepStart,
+  MesOrderStepSearch,
+  MesOrderStepStart,
   MesOrderStepStartSelectEqp,
-  MesOrderWxStepSearch
+  MesOrderWxStepSearch,
+  MesOrderStepSelectWX,
+  SavaMesOrderStepOut,
+  MesOrderStepSelectCause,
+  SavaMesOrderStepIn,
+  SavaMesOrderStepStart,
+  SavaMesOrderStepReport
 } from '@/api/scgl'
-import { MesOrderStepSelectWX } from '@/api/sbgl'
+import { urlAddRandomNo, webapp_ws_ajax_run } from '@/utils/grwebapp'
+import { MesOrderPrintSearch1 } from '@/api/utils'
 
 const SER_HZ = /^[\u4e00-\u9fa5]+$/
 export default {
@@ -632,13 +698,13 @@
     return {
       mainHeight: 0,
       tableHeight: 0,
-      produceCode: '', // 宸ュ簭鐮�
-      WXproduceCode: '', // 澶栧崗宸ュ簭鐮�
+      // produceCode: '', // 宸ュ簭鐮�
+      // WXproduceCode: '', // 澶栧崗宸ュ簭鐮�
       radioSelected: '', // 宸ュ簭閫変腑
       WXradioSelected: '', // 宸ュ簭閫変腑
       form: {
-        orderstepqrcode: 'PO202206280001_4;Step01', // 鎵弿鐨勪簩缁寸爜淇℃伅
-        prop: 'wo', // 鎺掑簭瀛楁
+        orderstepqrcode: '', // 鎵弿鐨勪簩缁寸爜淇℃伅
+        prop: 'wo_code', // 鎺掑簭瀛楁
         order: 'asc', // 鎺掑簭瀛楁
         page: 1, // 绗嚑椤�
         rows: 20 // 姣忛〉澶氬皯鏉�
@@ -647,7 +713,7 @@
       tableData: [],
       WXform: { // 澶栧崗琛ㄥ崟
         // PO202206280001_4;Step01
-        orderstepqrcode: 'PO202206280001_4;Step01', // 鎵弿鐨勪簩缁寸爜淇℃伅
+        orderstepqrcode: '', // 鎵弿鐨勪簩缁寸爜淇℃伅
         prop: 'wo_code', // 鎺掑簭瀛楁
         order: 'asc', // 鎺掑簭瀛楁
         page: 1, // 绗嚑椤�
@@ -661,10 +727,6 @@
         { code: 'IN', name: '鏀舵枡' }
       ],
       WXSelected: 'OUT', // 澶栧崗涓嬫媺鍒楄〃閫変腑鍊�
-
-      judgeIsDialog: false, // 鍒ゆ柇鏄惁鑷姩寮圭獥
-      judgeIsDialogNumber: false, // 鍒ゆ柇寮瑰摢涓獥
-
       dialogVisible: false,
       dialogTitle: '', // 鑷埗寮�濮嬨�佽嚜鍒舵姤宸ャ�佸鍗忓彂鏂欍�佸鍗忔敹鏂�
       dialogForm: {
@@ -672,51 +734,84 @@
         partcode: '', // 浜у搧缂栫爜
         partname: '', // 浜у搧鍚嶇О
         partspec: '', // 浜у搧瑙勬牸
+        stepseq: '', // 宸ュ簭搴忓彿
+        stepcode: '', // 宸ュ簭缂栫爜
         stepname: '', // 褰撳墠宸ュ簭鍚�
         nextstepname: '', // 涓嬩竴閬撳伐搴忓悕
         stepdesc: '', // 宸ュ簭鎻忚堪
         planqty: '', // 浠诲姟鏁伴噺
         reportqty: '', // 宸叉姤鏁伴噺
         noreportqty: '', // 鏈姤鏁伴噺
-        startqty: '' // 鍙戞枡鏁伴噺
+        startqty: '', // 寮�(鎶�)宸ユ暟閲�
 
-        // eqpcode: '', // 璁惧缂栫爜
-        // usergroupcode: '', // 鐝粍缂栫爜
-        // reportuser: '', // 鎶ュ伐浜哄憳
-        // taskqty: '', // 浠诲姟鏁伴噺
-        // startqty: '', // 寮�宸ユ暟閲�
-        // reportqty: '', // 鎶ュ伐鏁伴噺
-        // ngqty: '' // 涓嶈壇鏁伴噺
+        wxcode: '', // 澶栧崗渚涘簲鍟嗙紪鐮�
+        outuser: '', // 鍙戞枡浜哄憳
+        taskqty: '', // 浠诲姟鏁伴噺
+        fqty: '', // 鍙戞枡鏁伴噺
+
+        inuser: '', // 鏀舵枡浜哄憳
+        sqty: '', // 鏀舵枡鏁伴噺
+        ngqty: '', // 涓嶈壇鏁伴噺
+        badcode: '', // 涓嶈壇鍘熷洜缂栫爜
+
+        noputqty: '', // 涓嶈壇鏁伴噺
+
+        eqpcode: '', // 鐢熶骇璁惧缂栫爜
+
+        usergroupcode: '', // 鐝粍缂栫爜
+        reportuser: '', // 鎶ュ伐浜哄憳
+
+        startqtySum: '' // 涓嶈兘瓒呰繃鐨勬暟鍊�
 
       },
-      userTableData: [
-        { RowNum: 1, name: '寮犱笁' },
-        { RowNum: 2, name: '鏉庡洓' }
-      ], // 浜哄憳鍒楄〃
+      ZZuserArr: [], // 鑷埗鐢ㄦ埛鎵�鏈�
+      ZZtreams: [], // 鑷埗鐢熶骇鐝粍鏁扮粍
+      ZZeqpArr: [], // 鑷埗璁惧鍚嶇О
+      badArr: [], // 涓嶈壇鍘熷洜鏁扮粍
+      WXouterprovide: [], // 澶栧崗渚涙柟鏁扮粍
+      WXoutuser: [], // 鍙戞枡浜哄憳鏁扮粍
+      userTableData: [], // 浜哄憳鍒楄〃
       UserTotal: 0,
-      Userform: {
-
-      }
+      Userform: {},
+      userIsSave: false, // 姝や汉鍛樻槸鍚﹀彲淇濇寔
       // operation: '',
-      // dialogFormRules: {
-      //   OrgType: [
-      //     { required: true, message: '璇疯緭鍏ラ�夋嫨绫诲瀷', trigger: ['blur', 'change'] }
-      //   ],
-      //   OrgCode: [
-      //     { required: true, validator: validateName, trigger: ['blur', 'change'] }
-      //   ],
-      //   OrgName: [
-      //     { required: true, message: '璇疯緭鍏ュ悕绉�', trigger: ['blur', 'change'] }
-      //   ],
-      //   SupUnit: [
-      //     { required: true, validator: validateTypeCode, trigger: ['blur', 'change'] }
-      //   ]
-      // }
+      dialogFormRules: {
+        outuser: [
+          { required: true, message: '璇烽�夋嫨鍙戞枡浜哄憳', trigger: ['blur', 'change'] }
+        ],
+        fqty: [
+          { required: true, message: '璇疯緭鍏ュ彂鏂欐暟閲�', trigger: ['blur', 'change'] }
+        ],
+        wxcode: [
+          { required: true, message: '璇烽�夋嫨澶栧崗渚涙柟', trigger: ['blur', 'change'] }
+        ],
+        inuser: [
+          { required: true, message: '璇烽�夋嫨鏀舵枡浜哄憳', trigger: ['blur', 'change'] }
+        ],
+        sqty: [
+          { required: true, message: '璇疯緭鍏ユ敹鏂欐暟閲�', trigger: ['blur', 'change'] }
+        ],
+        // noputqty: [
+        //   { required: true, message: '璇疯緭鍏ヤ笉鑹暟閲�', trigger: ['blur', 'change'] }
+        // ],
+        // badcode: [
+        //   { required: true, message: '璇烽�夋嫨涓嶈壇鍘熷洜', trigger: ['blur', 'change'] }
+        // ]
+        eqpcode: [
+          { required: true, message: '璇烽�夋嫨鐢熶骇璁惧', trigger: ['blur', 'change'] }
+        ],
+        usergroupcode: [
+          { required: true, message: '璇烽�夋嫨鐢熶骇鐝粍', trigger: ['blur', 'change'] }
+        ],
+        startqty: [
+          { required: true, message: '璇疯緭鍏ユ姤宸ユ暟閲�', trigger: ['blur', 'change'] }
+        ]
+      }
 
     }
   },
   created() {
-    // this.getMesOrderStepSearch()
+    this.getMesOrderStepSearch()
     this.tabClick()
   },
   mounted() {
@@ -778,20 +873,23 @@
     },
     // tab鎸夐挳鍒囨崲榧犳爣鑷姩鑱氱劍
     tabClick(val, d) {
-      console.log(val, d, 1)
       if (this.$refs.elTabs.currentName === '0') {
         this.$nextTick(() => {
+          this.getMesOrderStepSearch()
           $("input[name='produceCode']")[0].focus()
+          // this.WXform.orderstepqrcode = ''
         })
       }
       if (this.$refs.elTabs.currentName === '1') {
         this.$nextTick(() => {
+          this.getMesOrderWxStepSearch()
           $("input[name='WXproduceCode']")[0].focus()
+          // this.form.orderstepqrcode = ''
         })
       }
     },
     // 鎵爜閿洏鍥炶溅浜嬩欢
-    async   enterNative(val, belong) {
+    async enterNative(val, belong) {
       console.log(val, belong)
       // 寮�宸ワ細code="200"  count=0
       // 鎶ュ伐锛歝ode="200"  count=1
@@ -799,12 +897,19 @@
       // 鏀舵枡锛歝ode="200"  count=3
       // 璧板垪琛ㄥ舰寮� code="200"  count=4
       if (belong === 'produceCode') {
-        // this.ZZreport()
-        // 鏌ユ壘璁惧
-        // const {data:res} = await MesOrderStepStartSelectEqp({ orderstepqrcode: this.produceCode })
-        // this.xxx=res
-        // 鏌ユ壘鐝粍
-        // const { data: res2 } = await MesOrderStepReportSelectUserGroup()
+        const data = {
+          OperType: 'ZZ',
+          orderstepqrcode: this.form.orderstepqrcode,
+          SelectType: ''
+        }
+        console.log(this.form.orderstepqrcode, 21)
+        const res = await MesOrderStepStart(data)
+        if (res.code === '200' && res.count === 0) {
+          await this.ZZstart(res.data)
+        }
+        if (res.code === '200' && res.count === 1) {
+          await this.ZZreport(res.data)
+        }
       }
       if (belong === 'WXproduceCode') {
         const data = {
@@ -814,7 +919,10 @@
         }
         const res = await MesOrderStepStart(data)
         if (res.code === '200' && res.count === 2) {
-          this.WXsend(res.data)
+          await this.WXsend(res.data)
+        }
+        if (res.code === '200' && res.count === 3) {
+          await this.WXback(res.data)
         }
       }
     },
@@ -823,58 +931,177 @@
       this.getMesOrderStepSearch()
     },
     // 鑷埗寮�濮�
-    async  ZZstart() {
+    async ZZstart(obj) {
+      // if (!this.ZZisExecutable) {
+      //   return this.$message.info('璇峰厛鎵爜宸ュ簭浜岀淮鐮侊紒')
+      // }
       this.dialogTitle = '鑷埗寮�濮�'
-      // this.dialogVisible = true
-      this.dialogVisibleTrue()
+      this.dialogVisible = true
 
-      const res = await MesOrderStepStartSelectEqp({ orderstepqrcode: produceCode })
+      this.$nextTick(() => {
+        this.dialogForm.wo_code = obj.wo_code
+        this.dialogForm.partcode = obj.partnumber
+        this.dialogForm.partname = obj.partname
+        this.dialogForm.partspec = obj.partspec
+        this.dialogForm.stepseq = obj.seq
+        this.dialogForm.stepcode = obj.stepcode
+        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
+      })
+
+      await this.getMesOrderStepStartSelectEqp()
     },
     // 鑷埗鎶ュ伐
-    ZZreport() {
+    async ZZreport(obj) {
+      // if (!this.ZZisExecutable) {
+      //   return this.$message.info('璇峰厛鎵爜宸ュ簭浜岀淮鐮侊紒')
+      // }
       this.dialogTitle = '鑷埗鎶ュ伐'
-      // this.dialogVisible = true
-      this.dialogVisibleTrue()
-      this.getUserTableData()
+      this.dialogVisible = true
+
+      this.$nextTick(() => {
+        this.dialogForm.wo_code = obj.wo_code
+        this.dialogForm.partcode = obj.partnumber
+        this.dialogForm.partname = obj.partname
+        this.dialogForm.partspec = obj.partspec
+        this.dialogForm.stepseq = obj.seq
+        this.dialogForm.stepcode = obj.stepcode
+        this.dialogForm.stepname = obj.stepname
+        this.dialogForm.stepdesc = obj.stepdesc
+        this.dialogForm.planqty = obj.planqty
+        this.dialogForm.reportqty = obj.reportqty
+        this.dialogForm.noputqty = obj.noputqty
+        this.dialogForm.noreportqty = obj.noreportqty
+        this.dialogForm.startqty = obj.startqty
+
+        if (obj.nextstepname === null || obj.nextstepcode === '') {
+          this.dialogForm.nextstepname = obj.stepname
+        } else {
+          this.dialogForm.nextstepname = obj.nextstepname
+        }
+
+        this.dialogForm.startqtySum = obj.startqty
+      })
+
+      await this.getMesOrderStepStartSelectEqp()
+      await this.getMesOrderStepReportSelectUserGroup()
+      await this.getMesOrderStepSelectCause('ZZ')
+      await this.getMesOrderSelectUserZZ()
     },
     // 澶栧崗鍙戞枡
-    async  WXsend(obj) {
-      if (this.WXradioSelected.length < 1 && obj.length < 1) {
-        return this.$message.info('璇峰厛閫夋嫨宸ュ簭锛�')
-      }
+    async WXsend(obj) {
+      // if (this.WXradioSelected.length < 1 && obj.length < 1) {
+      //   return this.$message.info('璇峰厛閫夋嫨宸ュ簭锛�')
+      // }
+      // console.log(this.WXform.orderstepqrcode === '', 6)
+      // if (this.WXform.orderstepqrcode === '') {
+      //   return this.$message.info('璇峰厛杈撳叆宸ュ簭锛�')
+      // }
       this.dialogTitle = '澶栧崗鍙戞枡'
       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 = {
-      //
-      // }
-      // const res = await MesOrderStepSelectWX(data)
-      // console.log(res)
+      this.$nextTick(() => {
+        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.fqty = obj.startqty
+        this.dialogForm.stepcode = obj.stepcode
+        this.dialogForm.stepseq = obj.seq
+      })
+
+      await this.getMesOrderStepSelectWX()
+      await this.getMesOrderSelectUser()
     },
     // 澶栧崗鏀舵枡
-    WXback() {
+    async WXback(obj) {
+      // if (this.WXform.orderstepqrcode === '') {
+      //   return this.$message.info('璇峰厛杈撳叆宸ュ簭锛�')
+      // }
       this.dialogTitle = '澶栧崗鏀舵枡'
-      this.dialogVisibleTrue()
-      // this.dialogVisible = true
+      this.dialogVisible = true
+
+      this.$nextTick(() => {
+        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.stepcode = obj.stepcode
+        if (obj.nextstepname === null || obj.nextstepcode === '') {
+          this.dialogForm.nextstepname = obj.stepname
+        } else {
+          this.dialogForm.nextstepname = obj.nextstepname
+        }
+        this.dialogForm.noputqty = obj.noputqty
+        this.dialogForm.stepseq = obj.seq
+        this.dialogForm.sqty = obj.startqty
+
+        this.dialogForm.startqtySum = obj.startqty
+      })
+      await this.getMesOrderStepSelectWX()
+      await this.getMesOrderSelectUser()
+      await this.getMesOrderStepSelectCause('WX')
     },
-    dialogVisibleTrue() {
-      // this.dialogVisible = true
-      // this.dialogForm.wo_code=
+    // 鐢熶骇鐝粍涓嬫媺鏀瑰彉
+    usergroupChange(val) {
+      this.dialogForm.usergroupcode = val
+      this.getUserTableData()
+    },
+    // 鑾峰彇鑷埗鎶ュ伐鐢熶骇鐝粍涓嬫媺鍒楄〃
+    async getMesOrderStepReportSelectUserGroup() {
+      const { data: res } = await MesOrderStepReportSelectUserGroup()
+      this.ZZtreams = res
+    },
+    // 鑾峰彇鑷埗鎶ュ伐琛ㄦ牸user鎵�鏈�
+    async getMesOrderSelectUserZZ() {
+      const { data: res } = await MesOrderSelectUser({ usercode: this.dialogForm.usergroupcode })
+      this.ZZuserArr = res
+    },
+    // 鑾峰彇鑷埗鐢熶骇璁惧涓嬫媺
+    async getMesOrderStepStartSelectEqp() {
+      const { data: res } = await MesOrderStepStartSelectEqp({ orderstepqrcode: this.form.orderstepqrcode })
+      this.ZZeqpArr = res
+    },
+    // 鑾峰彇WX渚涙柟鎺ュ彛
+    async getMesOrderStepSelectWX() {
+      const { data: res } = await MesOrderStepSelectWX({ orderstepqrcode: this.WXform.orderstepqrcode })
+      this.WXouterprovide = res
+    },
+    // 鑾峰彇鏀跺彂鏂欎汉鍛樹笅鎷夋帴鍙�
+    async getMesOrderSelectUser() {
+      const { data: res } = await MesOrderSelectUser({ usercode: this.dialogForm.outuser })
+      this.WXoutuser = res
+    },
+    // 鑾峰彇鏀舵枡涓嶈壇鍘熷洜涓嬫媺
+    async getMesOrderStepSelectCause(val) {
+      let orderstepqrcode = ''
+      if (val === 'WX') {
+        orderstepqrcode = this.WXform.orderstepqrcode
+      }
+      if (val === 'ZZ') {
+        orderstepqrcode = this.form.orderstepqrcode
+      }
+      const { data: res } = await MesOrderStepSelectCause({ orderstepqrcode: orderstepqrcode })
+      this.badArr = res
     },
     // 鎶ュ伐鏌ヨ鐢ㄦ埛琛�
     async getUserTableData() {
-      // const { data: res } = await MesOrderGroupSelectUser({ usergroupcode: 'SC01' })
+      const { data: res } = await MesOrderGroupSelectUser({ usergroupcode: this.dialogForm.usergroupcode })
+      this.userTableData = res
       this.userTableData.forEach(item => {
         let number = Math.random() * Math.random()// 浣滀负鍒犻櫎鏃剁殑鏍囪瘑绗�
         number = number === 0 ? (10 + Math.random()) : number
@@ -886,7 +1113,8 @@
     userAdd() {
       let number = Math.random() * Math.random()// 浣滀负鍒犻櫎鏃剁殑鏍囪瘑绗�
       number = number === 0 ? (10 + Math.random()) : number
-      this.userTableData.unshift({ name: '', isVisible: 1, number: number })
+      console.log(this.userTableData, 6)
+      this.userTableData.unshift({ usercode: '', username: '', isVisible: 1, number: number })
     },
     // 鐢ㄦ埛鍒楄〃鍒犻櫎
     userDel(row) {
@@ -912,58 +1140,236 @@
         }
       })
     },
-    // 閲嶇疆
-    reset() {
-      this.dialogTitle = ''
-      this.form.OrgCode = ''
-      this.form.OrgName = ''
-      this.form.OrgType = ''
-      this.form.UserName = ''
-      this.getMesOrderStepSearch()
+    // 鐢ㄦ埛鍒楄〃浜哄憳鍚嶇О鍊奸�変腑
+    usernameChange(val, row) {
+      this.userTableData.forEach(item => {
+        if (item.usercode === val) {
+          this.userIsSave = true
+          return this.$message.info('姝や汉鍛樺凡鍦ㄥ垪涓紒')
+        }
+        if (item.number === row.number) {
+          this.userIsSave = false
+          item.usercode = val
+          item.username = this.ZZuserArr.find(item => item.usercode === val).username
+        }
+      })
     },
-
     // 瀵硅瘽妗嗗叧闂簨浠�
     handleClose() {
-      this.dialogForm.OrgType = ''
-      this.dialogForm.OrgCode = ''
-      this.dialogForm.OrgName = ''
-      this.dialogForm.SupUnit = ''
+      this.dialogForm.wo_code = '', // 宸ュ崟缂栧彿
+      this.dialogForm.partcode = '', // 浜у搧缂栫爜
+      this.dialogForm.partname = '', // 浜у搧鍚嶇О
+      this.dialogForm.partspec = '', // 浜у搧瑙勬牸
+      this.dialogForm.stepseq = '', // 宸ュ簭搴忓彿
+      this.dialogForm.stepcode = '', // 宸ュ簭缂栫爜
+      this.dialogForm.stepname = '', // 褰撳墠宸ュ簭鍚�
+      this.dialogForm.nextstepname = '', // 涓嬩竴閬撳伐搴忓悕
+      this.dialogForm.stepdesc = '', // 宸ュ簭鎻忚堪
+      this.dialogForm.planqty = '', // 浠诲姟鏁伴噺
+      this.dialogForm.reportqty = '', // 宸叉姤鏁伴噺
+      this.dialogForm.noreportqty = '', // 鏈姤鏁伴噺
+      this.dialogForm.startqty = '', // 寮�(鎶�)宸ユ暟閲�
+
+      this.dialogForm.wxcode = '', // 澶栧崗渚涘簲鍟嗙紪鐮�
+      this.dialogForm.outuser = '', // 鍙戞枡浜哄憳
+      this.dialogForm.taskqty = '', // 浠诲姟鏁伴噺
+      this.dialogForm.fqty = '', // 鍙戞枡鏁伴噺
+
+      this.dialogForm.inuser = '', // 鏀舵枡浜哄憳
+      this.dialogForm.sqty = '', // 鏀舵枡鏁伴噺
+      this.dialogForm.ngqty = '', // 涓嶈壇鏁伴噺
+      this.dialogForm.badcode = '', // 涓嶈壇鍘熷洜缂栫爜
+
+      this.dialogForm.noputqty = '', // 涓嶈壇鏁伴噺
+
+      this.dialogForm.eqpcode = '', // 鐢熶骇璁惧缂栫爜
+
+      this.dialogForm.usergroupcode = '', // 鐝粍缂栫爜
+      this.dialogForm.reportuser = '', // 鎶ュ伐浜哄憳
+
+      this.dialogForm.startqtySum = '' // 涓嶈兘瓒呰繃鐨勬暟鍊�
+
       this.$refs.dialogForm.clearValidate()
     },
     // 瀵硅瘽妗嗗彇娑�
     dialogVisibleCancel() {
       this.dialogVisible = false
-      // if (this.dialogTitle === '鑷埗寮�濮�'||this.dialogTitle === '鑷埗鎶ュ伐') {
-      //   this.tabClick('0')
-      // }
-      // if (this.dialogTitle === '澶栧崗鍙戞枡'||this.dialogTitle === '澶栧崗鏀舵枡') {
-      //   this.tabClick('1')
-      // }
       this.tabClick()
     },
     // 瀵硅瘽妗嗙‘璁�
     dialogVisibleConfirm() {
-      // this.$refs.dialogForm.validate(valid => {
-      //   if (valid) {
-      //     const data = {
-      //       OrganCode: this.dialogForm.OrgCode,
-      //       OrganName: this.dialogForm.OrgName,
-      //       Operator: getCookie('admin')
-      //     }
-      //     // this.tabClick()
-      //     // AddUpdateOrganization(data).then(res => {
-      //     //   if (res.code === '200') {
-      //     //     // this.$message.success(this.operation === 'add' ? '娣诲姞鎴愬姛锛�' : '淇敼鎴愬姛锛�')
-      //     //     this.dialogVisible = false
-      //     //     this.getMesOrderStepSearch()
-      //     //   } else {
-      //     //     // this.$message.error(this.operation === 'add' ? '娣诲姞澶辫触锛�' : '淇敼澶辫触锛�')
-      //     //   }
-      //     // })
-      //   }
-      // })
-      this.tabClick()
-      this.dialogVisible = false
+      this.$refs.dialogForm.validate(valid => {
+        if (valid) {
+          if (this.dialogTitle === '澶栧崗鍙戞枡') {
+            if (parseFloat(this.dialogForm.fqty) > parseFloat(this.dialogForm.noreportqty)) {
+              return this.$message.info('鍙戞枡鏁伴噺涓嶈兘澶т簬鏈彂鏁伴噺!')
+            }
+            const data = {
+              mesordercode: this.dialogForm.wo_code, // 宸ュ崟缂栧彿
+              partcode: this.dialogForm.partcode, // 浜у搧缂栫爜
+              stepseq: this.dialogForm.stepseq, // 宸ュ簭搴忓彿   鏆傛椂缂�
+              stepcode: this.dialogForm.stepcode, // 宸ュ簭缂栫爜
+              wxcode: this.dialogForm.wxcode, // 澶栧崗渚涘簲鍟嗙紪鐮�
+              outuser: this.dialogForm.outuser, // 鍙戞枡浜哄憳
+              taskqty: this.dialogForm.planqty, // 浠诲姟鏁伴噺
+              fqty: this.dialogForm.fqty // 鍙戞枡鏁伴噺
+            }
+            SavaMesOrderStepOut(data).then(res => {
+              if (res.code === '200') {
+                this.$message.success('鍙戞枡鎴愬姛锛�')
+                this.dialogVisible = false
+                this.tabClick()
+              } else {
+                this.$message.error('鍙戞枡澶辫触!')
+              }
+            })
+          }
+
+          if (this.dialogTitle === '澶栧崗鏀舵枡') {
+            if (parseFloat(this.dialogForm.startqtySum) < parseFloat(this.dialogForm.sqty) + parseFloat(this.dialogForm.noputqty)) {
+              return this.$message.info('鏀舵枡鏁伴噺鍔犱笉鑹暟閲忎笉鑳藉ぇ浜庝簡鏈敹鏁伴噺!')
+            }
+
+            if (parseFloat(this.dialogForm.noputqty) > 0) {
+              if (this.dialogForm.badcode.length < 1) {
+                return this.$message.info('璇烽�夋嫨涓嶈壇鍘熷洜锛�')
+              }
+            }
+
+            const data = {
+              mesordercode: this.dialogForm.wo_code, // 宸ュ崟缂栧彿
+              partcode: this.dialogForm.partcode, // 浜у搧缂栫爜
+              stepseq: this.dialogForm.stepseq, // 宸ュ簭搴忓彿
+              stepcode: this.dialogForm.stepcode, // 宸ュ簭缂栫爜
+              wxcode: this.dialogForm.wxcode, // 澶栧崗渚涘簲鍟嗙紪鐮�
+              inuser: this.dialogForm.inuser, // 鍙戞枡浜哄憳
+              taskqty: this.dialogForm.planqty, // 浠诲姟鏁伴噺
+              sqty: this.dialogForm.sqty, // 鏀舵枡鏁伴噺
+              ngqty: this.dialogForm.noputqty, // 涓嶈壇鏁伴噺
+              badcode: this.dialogForm.badcode.length < 1 ? '' : this.dialogForm.badcode.join(';')// 涓嶈壇鍘熷洜
+            }
+            SavaMesOrderStepIn(data).then(res => {
+              if (res.code === '200') {
+                // this.WXprint()
+                this.$message.success('鏀舵枡鎴愬姛锛�')
+                this.dialogVisible = false
+                this.tabClick()
+              } else {
+                this.$message.error('鏀舵枡澶辫触!')
+              }
+            })
+          }
+
+          if (this.dialogTitle === '鑷埗寮�濮�') {
+            const data = {
+              mesordercode: this.dialogForm.wo_code, // 宸ュ崟缂栧彿
+              partcode: this.dialogForm.partcode, // 浜у搧缂栫爜
+              stepseq: this.dialogForm.stepseq, // 宸ュ簭搴忓彿   鏆傛椂缂�
+              stepcode: this.dialogForm.stepcode, // 宸ュ簭缂栫爜
+              eqpcode: this.dialogForm.eqpcode, // 鐢熶骇璁惧
+              taskqty: this.dialogForm.planqty, // 浠诲姟鏁伴噺
+              startqty: this.dialogForm.startqty// 寮�濮嬫暟閲�
+            }
+            SavaMesOrderStepStart(data).then(res => {
+              if (res.code === '200') {
+                // this.WXprint()
+                this.$message.success('寮�宸ユ垚鍔燂紒')
+                this.dialogVisible = false
+                this.tabClick()
+              } else {
+                this.$message.error('寮�宸ュけ璐�!')
+              }
+            })
+          }
+
+          if (this.dialogTitle === '鑷埗鎶ュ伐') {
+            if (parseFloat(this.dialogForm.startqtySum) < parseFloat(this.dialogForm.startqty) + parseFloat(this.dialogForm.noputqty)) {
+              return this.$message.info('鎶ュ伐鏁伴噺鍔犱笉鑹暟閲忎笉鑳藉ぇ浜庝簡鏈姤鏁伴噺!')
+            }
+            if (this.userTableData.length < 1) {
+              return this.$message.info('浜哄憳鍒楄〃涓嶈兘涓虹┖!')
+            }
+
+            if (parseFloat(this.dialogForm.noputqty) > 0) {
+              if (this.dialogForm.badcode.length < 1) {
+                return this.$message.info('璇烽�夋嫨涓嶈壇鍘熷洜锛�')
+              }
+            }
+
+            const reportuser = this.userTableData.map(item => item.usercode).join(';')
+            const data = {
+              mesordercode: this.dialogForm.wo_code, // 宸ュ崟缂栧彿
+              partcode: this.dialogForm.partcode, // 浜у搧缂栫爜
+              stepseq: this.dialogForm.stepseq, // 宸ュ簭搴忓彿
+              stepcode: this.dialogForm.stepcode, // 宸ュ簭缂栫爜
+              eqpcode: this.dialogForm.eqpcode, // 璁惧缂栫爜
+              usergroupcode: this.dialogForm.usergroupcode, // 鐝粍缂栫爜
+              reportuser: reportuser, // 鎶ュ伐浜哄憳
+              taskqty: this.dialogForm.planqty, // 浠诲姟鏁伴噺
+              // startqty: this.dialogForm.startqty, // 寮�宸ユ暟閲�
+              startqty: this.dialogForm.reportqty, // 寮�宸ユ暟閲�
+              // reportqty: this.dialogForm.reportqty, // 鎶ュ伐鏁伴噺
+              reportqty: this.dialogForm.startqty, // 鎶ュ伐鏁伴噺
+              ngqty: this.dialogForm.noputqty, // 涓嶈壇鏁伴噺
+              badcode: this.dialogForm.badcode.length < 1 ? '' : this.dialogForm.badcode.join(';')// 涓嶈壇鍘熷洜
+            }
+            SavaMesOrderStepReport(data).then(res => {
+              if (res.code === '200') {
+                // this.ZZprint()
+                this.$message.success('鎶ュ伐鎴愬姛锛�')
+                this.dialogVisible = false
+                this.tabClick()
+              } else {
+                this.$message.error('鎶ュ伐澶辫触!')
+              }
+            })
+          }
+        }
+      })
+    },
+    async ZZprint() {
+      const obj = {
+        recordset: [
+          {
+            wo_code: this.dialogForm.wo_code, // 宸ュ崟缂栧彿
+            partcode: this.dialogForm.partcode, // 浜у搧缂栫爜
+            partname: this.dialogForm.partname, // 浜у搧鍚嶇О
+            next_stepname: this.dialogForm.nextstepname, // 涓嬮亾宸ュ簭
+            qty: this.dialogForm.startqty, // 鏁伴噺
+            qrcode: this.form.orderstepqrcode// 浜岀淮鐮�
+          }
+        ]
+      }
+      const args = {
+        type: 'print', // preview  print
+        showOptionDlg: false, // 濡傛灉涓嶆樉绀烘墦鍗板璇濇鑰岀洿鎺ユ墦鍗帮紝灏嗘琛屾敞閲婂幓鎺夊嵆鍙�
+        report: urlAddRandomNo('./static/grf/鎶ュ伐浜у嚭鏍囩.grf'),
+        data: obj
+      }
+      webapp_ws_ajax_run(args)
+    },
+    // 澶栧崗鏀舵枡鎵撳嵃
+    WXprint() {
+      // 鍙傛暟鍏蜂綋璇存槑璇峰弬鑰冨府鍔╂枃妗d腑鐨勨�淲EB鎶ヨ〃(B/S鎶ヨ〃)->WEB鎶ヨ〃瀹㈡埛绔�->鍚姩鍙傛暟璇存槑鈥濋儴鍒�
+      const obj = {
+        recordset: [
+          {
+            wo_code: this.dialogForm.wo_code, // 宸ュ崟缂栧彿
+            partcode: this.dialogForm.partcode, // 浜у搧缂栫爜
+            partname: this.dialogForm.partname, // 浜у搧鍚嶇О
+            next_stepname: this.dialogForm.nextstepname, // 涓嬮亾宸ュ簭
+            qty: this.dialogForm.sqty, // 鏁伴噺
+            qrcode: this.WXform.orderstepqrcode// 浜岀淮鐮�
+          }
+        ]
+      }
+      const args = {
+        type: 'print', // preview  print
+        showOptionDlg: false, // 濡傛灉涓嶆樉绀烘墦鍗板璇濇鑰岀洿鎺ユ墦鍗帮紝灏嗘琛屾敞閲婂幓鎺夊嵆鍙�
+        report: urlAddRandomNo('./static/grf/澶栧崗鏀舵枡鏍囩.grf'),
+        data: obj
+      }
+      webapp_ws_ajax_run(args)
     },
     // 鑾峰彇椤甸潰楂樺害
     getHeight() {
@@ -1141,11 +1547,12 @@
 }
 
 //.dialogVisible{
-  ::v-deep .el-select .el-input .el-select__caret  {
-    display: flex;
-    align-items: center;
-    justify-content: center;
-  }
+::v-deep .el-select .el-input .el-select__caret {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
+
 //}
 .elTableDiv {
   ::v-deep .el-radio__label {

--
Gitblit v1.9.3