From d20654ba067e5c0621d4d7d95915cbe47a10fe87 Mon Sep 17 00:00:00 2001
From: 小小儁爺 <1694218219@qq.com>
Date: 星期四, 08 八月 2024 17:23:48 +0800
Subject: [PATCH] 1.正清和  增加页面缓存处理

---
 src/views/produceManager/produceStartOrder.vue | 1044 +++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 668 insertions(+), 376 deletions(-)

diff --git a/src/views/produceManager/produceStartOrder.vue b/src/views/produceManager/produceStartOrder.vue
index 01ff435..05a3994 100644
--- a/src/views/produceManager/produceStartOrder.vue
+++ b/src/views/produceManager/produceStartOrder.vue
@@ -5,28 +5,76 @@
         <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: 90px">鎵弿鏉$爜锛�</div>
+              <div style="width: 70px">鎵弿鏉$爜</div>
               <!--              oninput="value=value.replace(/[^0-9a-zA-Z;_]/g,'')"-->
               <el-input
                 id="keyWords"
-                v-model="form.orderstepqrcode"
+                v-model="form.wocode"
                 name="produceCode"
-                style="width: 300px"
+                placeholder="璇锋壂鐮佹垨杈撳叆宸ュ崟鍙�"
+                style="width: 260px"
                 @keyup.enter.native="val=>enterNative(val,'produceCode')"
               />
-              <!--                @keyup.native="e=>judgeIsScanning(e,'produceCode')"-->
+              <!--              <div style="width: 90px;margin-left: 20px">鐢熶骇璁惧锛�</div>-->
+              <!--              <el-select-->
+              <!--                v-model="form.SelectType"-->
+              <!--                style="width: 200px;"-->
+              <!--                placeholder="璇烽�夋嫨"-->
+              <!--                @change="selectTypeChange"-->
+              <!--              >-->
+              <!--                <el-option-->
+              <!--                  v-for="item in ZZeqpArr"-->
+              <!--                  :key="item.code"-->
+              <!--                  :label="item.name"-->
+              <!--                  :value="item.code"-->
+              <!--                />-->
+              <!--              </el-select>-->
+
+              <div style="width: 70px;margin-left: 20px">閿�鍞崟鍙�</div>
+              <el-input
+                v-model="form.saleOrderCode"
+                placeholder="璇疯緭鍏�"
+                style="width: 180px"
+                @keyup.enter.native="val=>enterNative(val,'produceCode')"
+              />
+
+              <div style="width: 70px;margin-left: 20px">浜у搧缂栫爜</div>
+              <el-input
+                v-model="form.partcode"
+                placeholder="璇疯緭鍏�"
+                style="width: 180px"
+                @keyup.enter.native="val=>enterNative(val,'produceCode')"
+              />
+              <div style="width: 70px;margin-left: 20px">浜у搧鍚嶇О</div>
+              <el-input
+                v-model="form.partname"
+                placeholder="璇疯緭鍏�"
+                style="width:180px"
+                @keyup.enter.native="val=>enterNative(val,'produceCode')"
+              />
+              <!--              <div style="width: 70px;margin-left: 20px">瑙勬牸鍨嬪彿</div>-->
+              <!--              <el-input-->
+              <!--                v-model="form.partspec"-->
+              <!--                placeholder="璇疯緭鍏�"-->
+              <!--                style="width:180px"-->
+              <!--                @keyup.enter.native="val=>enterNative(val,'produceCode')"-->
+              <!--              />-->
 
             </div>
-            <div v-if="false" style="display: flex;padding-right: 10px">
-              <el-button v-waves @click="ZZstart">
-                <svg-icon icon-class="start_time" style="margin-right: 2px" />
-                寮�濮�
-              </el-button>
-              <el-button v-waves @click="ZZreport">
-                <svg-icon icon-class="report_work" style="margin-right: 2px" />
-                鎶ュ伐
-              </el-button>
+            <div style="display: flex;padding-right: 10px">
+              <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+              <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
             </div>
+            <!--            <div v-if="false" style="display: flex;padding-right: 10px">-->
+            <!--              <el-button v-waves @click="ZZstart">-->
+            <!--                <svg-icon icon-class="start_time" style="margin-right: 2px" />-->
+            <!--                寮�濮�-->
+            <!--              </el-button>-->
+            <!--              <el-button v-waves @click="ZZreport">-->
+            <!--                <svg-icon icon-class="report_work" style="margin-right: 2px" />-->
+            <!--                鎶ュ伐-->
+            <!--              </el-button>-->
+            <!--            </div>-->
           </div>
           <el-divider />
           <div class="elTableDiv">
@@ -63,6 +111,17 @@
                   <div v-if="row.status==='CLOSED'">瀹屽伐</div>
                   <div v-if="row.status==='NOSCHED'">寰呮帓绋�</div>
                   <div v-if="row.status==='SCHED'">宸叉帓绋�</div>
+                </template>
+              </el-table-column>
+              <el-table-column
+                prop="saleOrderCode"
+                label="閿�鍞崟鍙�"
+                width="160"
+                show-tooltip-when-overflow
+                sortable="custom"
+              >
+                <template slot-scope="{row}">
+                  {{ row.saleOrderCode?row.saleOrderCode:'/' }}
                 </template>
               </el-table-column>
               <el-table-column
@@ -112,13 +171,24 @@
                 show-tooltip-when-overflow
               />
               <el-table-column
+                prop="start_qty"
+                label="宸插紑宸ユ暟閲�"
+                width="110"
+                show-tooltip-when-overflow
+              >
+                <template slot-scope="{row}">
+                  {{ row.start_qty }}
+                </template>
+              </el-table-column>
+              <el-table-column
                 label="鏈姤宸ユ暟閲�"
                 width="120"
                 show-tooltip-when-overflow
               >
                 <!--                sortable="custom"-->
                 <template slot-scope="{row}">
-                  <div>{{ row.plan_qty - row.good_qty - row.ng_qty }}</div>
+                  <!--                  <div>{{ row.plan_qty - row.good_qty - row.ng_qty }}</div>-->
+                  <div>{{ row.start_qty - row.good_qty - row.ng_qty-row.bad_qty }}</div>
                 </template>
               </el-table-column>
               <el-table-column
@@ -160,25 +230,24 @@
                 width="150"
                 sortable="custom"
                 show-tooltip-when-overflow
-                fixed="right"
               >
                 <template slot-scope="{row}">
                   <div v-if="row.plan_startdate">{{ row.plan_startdate.substring(0, 11) }}</div>
                   <div v-else>/</div>
                 </template>
               </el-table-column>
-              <!--              <el-table-column-->
-              <!--                label="鎿嶄綔"-->
-              <!--                width="150"-->
-              <!--                fixed="right"-->
-              <!--              >-->
-              <!--                <template slot-scope="{row}">-->
-              <!--                  <div class="operationClass">-->
-              <!--                    <el-button v-waves type="text" @click="edit('edit',row)">缂栬緫</el-button>-->
-              <!--                    <el-button v-waves type="text" @click="del(row)">鍒犻櫎</el-button>-->
-              <!--                  </div>-->
-              <!--                </template>-->
-              <!--              </el-table-column>-->
+              <el-table-column
+                label="鎿嶄綔"
+                width="150"
+                fixed="right"
+              >
+                <template slot-scope="{row}">
+                  <div class="operationClass">
+                    <el-button v-waves type="text" @click="ZZstart(row)">寮�宸�</el-button>
+                    <el-button v-waves type="text" @click="ZZreport(row)">鎶ュ伐</el-button>
+                  </div>
+                </template>
+              </el-table-column>
             </el-table>
           </div>
           <!--鍒嗛〉-->
@@ -216,7 +285,6 @@
                 style="width: 300px"
                 @keyup.enter.native="val=>enterNative(val,'WXproduceCode')"
               />
-              <!--              @keyup.native="e=>judgeIsScanning(e,'WXproduceCode')"-->
 
             </div>
             <div v-if="false" style="display: flex;padding-right: 10px">
@@ -263,6 +331,17 @@
                   <div v-if="row.status==='ALLO'">宸叉淳鍙�</div>
                   <div v-if="row.status==='START'">宸插彂鏂�</div>
                   <div v-if="row.status==='CLOSED'">宸叉敹鏂�</div>
+                </template>
+              </el-table-column>
+              <el-table-column
+                prop="saleOrderCode"
+                label="閿�鍞崟鍙�"
+                width="160"
+                show-tooltip-when-overflow
+                sortable="custom"
+              >
+                <template slot-scope="{row}">
+                  {{ row.saleOrderCode?row.saleOrderCode:'/' }}
                 </template>
               </el-table-column>
               <el-table-column
@@ -360,25 +439,24 @@
                 show-tooltip-when-overflow
                 width="150"
                 sortable="custom"
-                fixed="right"
               >
                 <template slot-scope="{row}">
                   <div v-if="row.plan_startdate">{{ row.plan_startdate.substring(0, 11) }}</div>
                   <div v-else>/</div>
                 </template>
               </el-table-column>
-              <!--              <el-table-column-->
-              <!--                label="鎿嶄綔"-->
-              <!--                width="150"-->
-              <!--                fixed="right"-->
-              <!--              >-->
-              <!--                <template slot-scope="{row}">-->
-              <!--                  <div class="operationClass">-->
-              <!--                    <el-button v-waves type="text" @click="edit('edit',row)">缂栬緫</el-button>-->
-              <!--                    <el-button v-waves type="text" @click="del(row)">鍒犻櫎</el-button>-->
-              <!--                  </div>-->
-              <!--                </template>-->
-              <!--              </el-table-column>-->
+              <el-table-column
+                label="鎿嶄綔"
+                width="150"
+                fixed="right"
+              >
+                <template slot-scope="{row}">
+                  <div class="operationClass">
+                    <el-button v-if="WXSelected==='OUT'" v-waves type="text" @click="enterNative(WXform.orderstepqrcode=row.wo_code+';'+row.stepcode,'WXproduceCode')">鍙戞枡</el-button>
+                    <el-button v-if="WXSelected==='IN'" v-waves type="text" @click="enterNative(WXform.orderstepqrcode=row.wo_code+';'+row.stepcode,'WXproduceCode')">鏀舵枡</el-button>
+                  </div>
+                </template>
+              </el-table-column>
             </el-table>
           </div>
           <!--鍒嗛〉-->
@@ -404,7 +482,6 @@
                 style="width: 300px"
                 @keyup.enter.native="val=>enterNative(val,'badProduceCode')"
               />
-              <!--              @keyup.native="e=>judgeIsScanning(e,'badProduceCode')"-->
 
             </div>
           </div>
@@ -429,6 +506,17 @@
                 label="搴忓彿"
                 fixed
               />
+              <el-table-column
+                prop="saleOrderCode"
+                label="閿�鍞崟鍙�"
+                width="160"
+                show-tooltip-when-overflow
+                sortable="custom"
+              >
+                <template slot-scope="{row}">
+                  {{ row.saleOrderCode?row.saleOrderCode:'/' }}
+                </template>
+              </el-table-column>
               <el-table-column
                 show-tooltip-when-overflow
                 prop="wo_code"
@@ -520,7 +608,7 @@
       :visible.sync="dialogVisible"
       width="850px"
       class="dialogVisible"
-      :top="dialogTitle==='鑷埗鎶ュ伐'?'5vh':'15vh'"
+      :top="dialogTitle==='鑷埗鎶ュ伐'?'10vh':'15vh'"
       :close-on-click-modal="false"
       @close="handleClose"
       @closed="handleClose"
@@ -532,6 +620,9 @@
         :model="dialogForm"
         label-width="110px"
       >
+        <el-form-item label="閿�鍞崟鍙凤細" style="margin: 0 10px 0 0">
+          <div style="width: 200px">{{ dialogForm.saleOrderCode?dialogForm.saleOrderCode:'/' }}</div>
+        </el-form-item>
         <el-form-item label="宸ュ崟缂栧彿锛�" style="margin: 0 10px 0 0">
           <div style="width: 200px">{{ dialogForm.wo_code }}</div>
         </el-form-item>
@@ -572,23 +663,24 @@
         </el-form-item>
         <!--鑷埗寮�濮�-->
         <el-form-item v-if="dialogTitle==='鑷埗寮�濮�'" label="寮�宸ユ暟閲忥細">
-          <div style="width: 200px">{{ dialogForm.startqty }}</div>
-          <!--          <div style="width: 200px">{{  dialogForm.noreportqty }}</div>-->
+          <!--          <div style="width: 200px">{{ dialogForm.startqty }}</div>-->
+          <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==='鑷埗寮�濮�'" prop="eqpcode" label="鐢熶骇璁惧锛�">
-          <el-select
-            v-model="dialogForm.eqpcode"
-            style="width: 200px;"
-            placeholder="璇烽�夋嫨"
-          >
-            <el-option
-              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">{{ form.SelectType? ZZeqpArr.find(i=>i.code===form.SelectType).name:'' }}</div>-->
+        <!--          &lt;!&ndash;          <el-select&ndash;&gt;-->
+        <!--          &lt;!&ndash;            v-model="dialogForm.eqpcode"&ndash;&gt;-->
+        <!--          &lt;!&ndash;            style="width: 200px;"&ndash;&gt;-->
+        <!--          &lt;!&ndash;            placeholder="璇烽�夋嫨"&ndash;&gt;-->
+        <!--          &lt;!&ndash;          >&ndash;&gt;-->
+        <!--          &lt;!&ndash;            <el-option&ndash;&gt;-->
+        <!--          &lt;!&ndash;              v-for="item in ZZeqpArr"&ndash;&gt;-->
+        <!--          &lt;!&ndash;              :key="item.code"&ndash;&gt;-->
+        <!--          &lt;!&ndash;              :label="item.name"&ndash;&gt;-->
+        <!--          &lt;!&ndash;              :value="item.code"&ndash;&gt;-->
+        <!--          &lt;!&ndash;            />&ndash;&gt;-->
+        <!--          &lt;!&ndash;          </el-select>&ndash;&gt;-->
+        <!--        </el-form-item>-->
         <!--     鑷埗鎶ュ伐   -->
         <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="涓嬮亾宸ュ簭锛�" style="margin: 0 10px 0 0">
           <div style="width: 200px">{{ dialogForm.nextstepname }}</div>
@@ -598,9 +690,9 @@
           <div style="width: 200px">{{ dialogForm.wkshopname }}</div>
         </el-form-item>
 
-        <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="璁惧鍚嶇О锛�" style="margin: 0 10px 0 0">
-          <div style="width: 200px">{{ dialogForm.eqpname }}</div>
-        </el-form-item>
+        <!--        <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="璁惧鍚嶇О锛�" style="margin: 0 10px 0 0">-->
+        <!--          <div style="width: 200px">{{ dialogForm.eqpname }}</div>-->
+        <!--        </el-form-item>-->
 
         <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" prop="reckway" label="璁′欢鏂瑰紡锛�">
 
@@ -657,29 +749,106 @@
         <!--          </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-input v-model="dialogForm.startqty" oninput="value=value.replace(/[^0-9]/g,'')" style="width: 200px;" />
           <!--          <el-input v-model="dialogForm.noreportqty" 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-input-->
+          <!--            v-model="dialogForm.noputqty"-->
+          <!--            readonly-->
+          <!--            oninput="value=value.replace(/[^0-9.]/g,'')"-->
+          <!--            style="width: 200px;"-->
+          <!--          />-->
+          <div style="width:200px">
+            {{ dialogForm.noputqty }}
+          </div>
+
         </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
-            collapse-tags
+
+        <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="澶囨敞锛�">
+          <el-input v-model="dialogForm.remarks" type="textarea" style="width: 520px;" />
+        </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-->
+        <!--            collapse-tags-->
+        <!--          >-->
+        <!--            <el-option-->
+        <!--              v-for="item in badArr"-->
+        <!--              :key="item.code"-->
+        <!--              :label="item.name"-->
+        <!--              :value="item.code"-->
+        <!--            />-->
+        <!--          </el-select>-->
+        <!--        </el-form-item>-->
+
+        <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="涓嶈壇鏁伴噺锛�">
+          <el-input
+            v-model="badInput"
+            placeholder="璇疯緭鍏ユ暟閲�"
+            class="input-with-select"
+            style="width: 300px;"
+            oninput="value=value.replace(/[^0-9]/g,'')"
           >
-            <el-option
-              v-for="item in badArr"
-              :key="item.code"
-              :label="item.name"
-              :value="item.code"
+            <el-select
+              slot="prepend"
+              v-model="badSelected"
+              multiple
+              placeholder="璇烽�夋嫨"
+              clearable
+              style="width: 150px"
+              collapse-tags
+            >
+              <el-option
+                v-for="item in badArr"
+                :key="item.code"
+                :label="item.name"
+                :value="item.code"
+              />
+            </el-select>
+            <el-button
+              slot="append"
+              icon="el-icon-plus"
+              @click="plusClick"
             />
-          </el-select>
+          </el-input>
         </el-form-item>
+
+        <div
+          v-for="(item,index) in BADNAME"
+          v-if="dialogTitle==='鑷埗鎶ュ伐'"
+          :key="item+index"
+          style="margin-left: 25px;display: flex;  line-height: 24px;"
+        >
+          <div
+            style="
+                   width: 22px;height: 22px;background: #42b983;
+                   display: flex;
+                   justify-content: center;
+                   align-content: center;
+                   color: #fff;
+                   line-height: 22px;
+                   border-radius: 50%;
+                   "
+          >{{ index+1 }}</div>
+          <div style="margin: 0 20px">{{ item.name }}</div>
+          <div>{{ item.badqty }}</div>
+          <div style="margin-left: 20px">
+            <i
+              class="el-icon-delete"
+              style="color:#42b983;cursor: pointer"
+              @click="deleteClick(item,index)"
+            />
+          </div>
+
+        </div>
+
         <!--        <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="鎶ュ伐浜哄憳锛�">-->
         <!--          <el-input v-model="dialogForm.remarks" type="textarea" style="width: 200px;" />-->
         <!--        </el-form-item>-->
@@ -698,9 +867,7 @@
         <!--            />-->
         <!--          </el-select>-->
         <!--        </el-form-item>-->
-        <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="澶囨敞锛�">
-          <el-input v-model="dialogForm.remarks" type="textarea" style="width: 200px;" />
-        </el-form-item>
+
         <div v-if="dialogTitle==='鑷埗鎶ュ伐'&&dialogForm.reckway==='group'">
           <div style="display: flex;align-items:center;height: 40px;margin-bottom: 10px">
             <i class="el-icon-s-operation" :style="{color:$store.state.settings.theme}" />
@@ -758,7 +925,7 @@
                 <el-input
                   v-if="row.isVisible===1||row.isVisible===2"
                   v-model="row.ratio"
-                  oninput="value=value.replace(/[^0-9.]/g,'')"
+                  oninput="value=value.replace(/[^0-9]/g,'')"
                   placeholder="璇疯緭鍏�"
                 />
                 <div v-else> {{ row.ratio }}</div>
@@ -787,15 +954,15 @@
             </el-table-column>
           </el-table>
           <!--鍒嗛〉-->
-          <pagination
-            :total="UserTotal"
-            :page.sync="Userform.page"
-            :limit.sync="Userform.rows"
-            align="right"
-            layout="total,prev, pager, next,sizes"
-            popper-class="select_bottom"
-            @pagination="getMesOrderStepSearch"
-          />
+          <!--          <pagination-->
+          <!--            :total="UserTotal"-->
+          <!--            :page.sync="Userform.page"-->
+          <!--            :limit.sync="Userform.rows"-->
+          <!--            align="right"-->
+          <!--            layout="total,prev, pager, next,sizes"-->
+          <!--            popper-class="select_bottom"-->
+          <!--            @pagination="getMesOrderStepSearch"-->
+          <!--          />-->
         </div>
         <!--     澶栧崗鍙戞枡-->
         <el-form-item
@@ -841,7 +1008,7 @@
           label="鍙戞枡鏁伴噺锛�"
           prop="fqty"
         >
-          <el-input v-model="dialogForm.fqty" oninput="value=value.replace(/[^0-9.]/g,'')" style="width: 200px;" />
+          <el-input v-model="dialogForm.fqty" oninput="value=value.replace(/[^0-9]/g,'')" style="width: 200px;" />
         </el-form-item>
         <!--     澶栧崗鏀舵枡-->
         <el-form-item
@@ -895,41 +1062,84 @@
           <el-input
             v-model="dialogForm.sqty"
             style="width: 200px"
-            oninput="value=value.replace(/[^0-9.]/g,'')"
+            :disabled="dialogForm.wxcode===''"
+            oninput="value=value.replace(/[^0-9]/g,'')"
           />
         </el-form-item>
+
         <el-form-item
           v-if="dialogTitle==='澶栧崗鏀舵枡'"
           label="涓嶈壇鏁伴噺锛�"
           prop="noputqty"
         >
+          <div style="width: 200px;">
+            {{ dialogForm.noputqty }}
+          </div>
+
+          <!--                  <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="澶囨敞锛�">
+          <el-input v-model="dialogForm.remarks" type="textarea" style="width: 200px;" />
+        </el-form-item>
+
+        <el-form-item v-if="dialogTitle==='澶栧崗鏀舵枡'" label="涓嶈壇鏁伴噺锛�">
           <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.badcode"
-            style="width: 200px;"
-            multiple
-            collapse-tags
-            :disabled="parseFloat(dialogForm.noputqty)===0||dialogForm.noputqty.trim()===''"
-            placeholder="璇烽�夋嫨"
+            v-model="badInput"
+            placeholder="璇疯緭鍏ユ暟閲�"
+            class="input-with-select"
+            style="width: 300px;"
+            oninput="value=value.replace(/[^0-9]/g,'')"
           >
-            <el-option
-              v-for="item in badArr"
-              :key="item.code"
-              :label="item.name"
-              :value="item.code"
+            <el-select
+              slot="prepend"
+              v-model="badSelected"
+              multiple
+              placeholder="璇烽�夋嫨"
+              clearable
+              style="width: 150px"
+              collapse-tags
+            >
+              <el-option
+                v-for="item in badArr"
+                :key="item.code"
+                :label="item.name"
+                :value="item.code"
+              />
+            </el-select>
+            <el-button
+              slot="append"
+              icon="el-icon-plus"
+              @click="plusClick"
             />
-          </el-select>
+          </el-input>
         </el-form-item>
+
+        <!--        <el-form-item-->
+        <!--          v-if="dialogTitle==='澶栧崗鏀舵枡'"-->
+        <!--          label="涓嶈壇鍘熷洜锛�"-->
+        <!--        >-->
+        <!--          <el-select-->
+        <!--            v-model="dialogForm.badcode"-->
+        <!--            style="width: 200px;"-->
+        <!--            multiple-->
+        <!--            collapse-tags-->
+        <!--            :disabled="parseFloat(dialogForm.noputqty)===0||dialogForm.noputqty.trim()===''"-->
+        <!--            placeholder="璇烽�夋嫨"-->
+        <!--          >-->
+        <!--            <el-option-->
+        <!--              v-for="item in badArr"-->
+        <!--              :key="item.code"-->
+        <!--              :label="item.name"-->
+        <!--              :value="item.code"-->
+        <!--            />-->
+        <!--          </el-select>-->
+        <!--        </el-form-item>-->
+
         <!--        <el-form-item v-if="dialogTitle==='澶栧崗鏀舵枡'" label="鏀舵枡浜猴細">-->
         <!--          <el-select-->
         <!--            v-model="dialogForm.operation"-->
@@ -944,12 +1154,46 @@
         <!--            />-->
         <!--          </el-select>-->
         <!--        </el-form-item>-->
-        <el-form-item v-if="dialogTitle==='澶栧崗鏀舵枡'" label="澶囨敞锛�">
-          <el-input v-model="dialogForm.remarks" type="textarea" style="width: 200px;" />
-        </el-form-item>
+
       </el-form>
-      <div v-if="dialogTitle==='澶栧崗鏀舵枡'" style="display: flex;flex-direction: column">
-        <!--鏄庡ぉ鎺ョ潃鍐欏鍗忔敹鏂欙紝渚涘簲鍟嗗搴旂殑宸叉敹鏈敹璇︽儏-->
+
+      <div
+        v-if="dialogTitle==='澶栧崗鏀舵枡'&&BADNAME.length>0"
+        style="height: 30px;margin-left:30px;"
+      >
+        涓嶈壇鏁伴噺鏄庣粏锛�
+      </div>
+      <div
+        v-for="(item,index) in BADNAME"
+        v-if="dialogTitle==='澶栧崗鏀舵枡'"
+        :key="item+index"
+        style="margin-left: 30px;display: flex;  line-height: 24px;"
+      >
+        <div
+          style="
+                   width: 22px;height: 22px;background: #42b983;
+                   display: flex;
+                   justify-content: center;
+                   align-content: center;
+                   color: #fff;
+                   line-height: 22px;
+                   border-radius: 50%;
+                   "
+        >{{ index+1 }}</div>
+        <div style="margin: 0 20px">{{ item.name }}</div>
+        <div>{{ item.badqty }}</div>
+        <div style="margin-left: 20px">
+          <i
+            class="el-icon-delete"
+            style="color:#42b983;cursor: pointer"
+            @click="deleteClick(item,index)"
+          />
+        </div>
+
+      </div>
+
+      <div v-if="dialogTitle==='澶栧崗鏀舵枡'" style="margin-top: 20px;;display: flex;flex-direction: column">
+
         <div style="height: 30px;margin-left:30px;">
           鍙敹鏂欎緵搴斿晢锛�
         </div>
@@ -992,7 +1236,8 @@
             :disabled="$store.state.app.buttonIsDisabled"
             type="primary"
             @click="dialogVisibleConfirm"
-          >鎻愪氦/鎵撳嵃</el-button>
+          >鎻� 浜�</el-button>
+          <!--          /鎵撳嵃-->
           <el-button
             v-if="dialogTitle==='鑷埗鎶ュ伐'&&dialogForm.nextstepname!==''"
             v-waves
@@ -1000,7 +1245,7 @@
             :disabled="$store.state.app.buttonIsDisabled"
             type="primary"
             @click="dialogVisibleConfirm"
-          >鎻愪氦</el-button>
+          >鎻� 浜�</el-button>
           <el-button
             v-if="dialogTitle==='澶栧崗鍙戞枡'"
             v-waves
@@ -1008,7 +1253,7 @@
             :disabled="$store.state.app.buttonIsDisabled"
             type="primary"
             @click="dialogVisibleConfirm"
-          >鍙戞枡</el-button>
+          >鍙� 鏂�</el-button>
           <el-button
             v-if="dialogTitle==='澶栧崗鏀舵枡'&&dialogForm.nextstepname===''"
             v-waves
@@ -1016,7 +1261,8 @@
             :disabled="$store.state.app.buttonIsDisabled"
             type="primary"
             @click="dialogVisibleConfirm"
-          >鏀舵枡/鎵撳嵃</el-button>
+          >鏀� 鏂�</el-button>
+          <!--          /鎵撳嵃-->
           <el-button
             v-if="dialogTitle==='澶栧崗鏀舵枡'&&dialogForm.nextstepname!==''"
             v-waves
@@ -1024,7 +1270,7 @@
             :disabled="$store.state.app.buttonIsDisabled"
             type="primary"
             @click="dialogVisibleConfirm"
-          >鏀舵枡</el-button>
+          >鏀� 鏂�</el-button>
         </div>
       </span>
     </el-dialog>
@@ -1123,6 +1369,9 @@
         :model="badDialogForm"
         label-width="110px"
       >
+        <el-form-item label="閿�鍞崟鍙凤細">
+          <div style="width: 200px">{{ badDialogForm.saleOrderCode? badDialogForm.saleOrderCode:'/' }}</div>
+        </el-form-item>
         <el-form-item label="宸ュ崟缂栧彿锛�">
           <div style="width: 200px">{{ badDialogForm.wo_code }}</div>
         </el-form-item>
@@ -1271,9 +1520,10 @@
             v-waves
             type="primary"
             :loading="$store.state.app.buttonIsDisabled"
-            :disabled="$store.state.app.buttonIsDisabled"
-            @click="badDialogVisibleConfirm "
-          >淇� 瀛�/鎵� 鍗�</el-button>
+            :disabled="$store.state.app.buttonIsDisabled||badTableDataDialog.length===0||badTableDataDialog.find(i=>i.isVisible===1)"
+            @click="badDialogVisibleConfirm"
+          >淇� 瀛�</el-button>
+          <!--          /鎵� 鍗�-->
         </div>
       </span>
     </el-dialog>
@@ -1309,7 +1559,7 @@
 
 const SER_HZ = /^[\u4e00-\u9fa5]+$/
 export default {
-  name: 'SCKBG',
+  name: 'ProduceStartOrder',
   components: {
     Pagination
   },
@@ -1342,7 +1592,14 @@
       radioSelected: '', // 宸ュ簭閫変腑
       WXradioSelected: '', // 宸ュ簭閫変腑
       form: {
-        orderstepqrcode: '', // 鎵弿鐨勪簩缁寸爜淇℃伅
+        // orderstepqrcode: '', // 鎵弿鐨勪簩缁寸爜淇℃伅
+        // SelectType: '', // 璁惧缂栫爜
+        wocode: '',
+        saleOrderCode: '', // 閿�鍞崟鍙�
+        partcode: '', // 浜у搧缂栫爜
+        partname: '', // 浜у搧鍚嶇О
+        partspec: '', // 瑙勬牸鍨嬪彿
+
         prop: 'lm_date', // 鎺掑簭瀛楁
         order: 'desc', // 鎺掑簭瀛楁
         page: 1, // 绗嚑椤�
@@ -1368,6 +1625,7 @@
       dialogVisible: false,
       dialogTitle: '', // 鑷埗寮�濮嬨�佽嚜鍒舵姤宸ャ�佸鍗忓彂鏂欍�佸鍗忔敹鏂�
       dialogForm: {
+        saleOrderCode: '',
         wo_code: '', // 宸ュ崟缂栧彿
         partcode: '', // 浜у搧缂栫爜
         partname: '', // 浜у搧鍚嶇О
@@ -1402,14 +1660,22 @@
 
         startqtySum: '', // 涓嶈兘瓒呰繃鐨勬暟鍊�
 
-        reckway: 'group', // 璁′欢鏂瑰紡
+        reckway: 'person', // 璁′欢鏂瑰紡
 
         operation: getCookie('navTabId'), // 鎶ュ伐浜猴紙鏀舵枡浜猴級
         remarks: '', // 澶囨敞
 
+        // isbott: true,
+
         inbarcode: ''// 鏈亾宸ュ簭鏃� 鎵撳嵃鐨勫叆搴撶爜
 
       },
+
+      badSelected: [], // 宸查�夌殑涓嶈壇鍘熷洜鏁扮粍
+      badInput: '',
+      BAD: [],
+      BADNAME: [],
+
       ZZuserArr: [], // 鑷埗鐢ㄦ埛鎵�鏈�
       ZZtreams: [], // 鑷埗鐢熶骇鐝粍鏁扮粍
       ZZeqpArr: [], // 鑷埗璁惧鍚嶇О
@@ -1510,33 +1776,6 @@
       countJudgeIsScanningInput: 0 // 鍒ゆ柇鎵爜妗嗙殑涓暟
     }
   },
-  watch: {
-    // 'form.orderstepqrcode': {
-    //   handler(newValue) {
-    //     this.form.orderstepqrcode = newValue
-    //
-    //     // 鍦ㄨ繖閲岃皟鐢紝骞舵墽琛宼his.fnThrottle(this.search, 500, 2000)();
-    //     this.fnThrottle(this.enterNative, 500, 2000, 'produceCode')()
-    //   }
-    // },
-    // 'WXform.orderstepqrcode': {
-    //   handler(newValue) {
-    //     this.form.orderstepqrcode = newValue
-    //
-    //     // 鍦ㄨ繖閲岃皟鐢紝骞舵墽琛宼his.fnThrottle(this.search, 500, 2000)();
-    //     this.fnThrottle(this.enterNative, 500, 2000, 'WXproduceCode')()
-    //   }
-    // },
-    // 'badForm.orderstepqrcode': {
-    //   handler(newValue) {
-    //     this.form.orderstepqrcode = newValue
-    //
-    //     // 鍦ㄨ繖閲岃皟鐢紝骞舵墽琛宼his.fnThrottle(this.search, 500, 2000)();
-    //     this.fnThrottle(this.enterNative, 500, 2000, 'badProduceCode')()
-    //   }
-    // }
-  },
-
   created() {
     this.getMesOrderStepSearch()
     this.tabClick()
@@ -1653,107 +1892,12 @@
         })
       }
     },
-    // 闃叉姈      //鎵爜鐢ㄧ殑鏄槻鎶�
-    fnThrottle(method, delay, duration, belong) {
-      var that = this
-      var timer = this.timer
-      var begin = new Date().getTime()
-      return function() {
-        var current = new Date().getTime()
-        clearTimeout(timer)
-        if (current - begin >= duration) {
-          // method()
-          // that.VALUE()
-          begin = current
-        } else {
-          that.timer = setTimeout(function() {
-            // method()
-            if (belong === 'produceCode') {
-              that.enterNative(that.form.orderstepqrcode, belong)
-            }
-            if (belong === 'WXproduceCode') {
-              that.enterNative(that.WXform.orderstepqrcode, belong)
-            }
-            if (belong === 'badProduceCode') {
-              that.enterNative(that.badForm.orderstepqrcode, belong)
-            }
-          }, delay)
-        }
-      }
-    },
-    // 鍒ゆ柇鏄惁鏄壂鐮佹灙鎵爜
-    judgeIsScanning2(e, belong) {
-      if (belong === 'produceCode' && this.form.orderstepqrcode.toString().length === 0) {
-        this.judgeIsScanningArr = []
-        this.countJudgeIsScanningInput = 0
-      }
-      if (belong === 'WXproduceCode' && this.WXform.orderstepqrcode.toString().length === 0) {
-        this.judgeIsScanningArr = []
-        this.countJudgeIsScanningInput = 0
-      }
-      const timenow = e.timeStamp
-      // console.log(timenow, 1)
-      // let flag = true
-      let flag = false
-      this.judgeIsScanningArr.push(timenow)
-      let i
-
-      for (i in this.judgeIsScanningArr) {
-        console.log(Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 1]) - Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 2]))
-        // flag = Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 1]) - Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 2]) < 0.1
-        if (Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 1]) - Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 2]) < 0.1) {
-          this.countJudgeIsScanningInput++
-        }
-        if (this.countJudgeIsScanningInput >= 3) {
-          flag = true
-        }
-        if (i > 0 && this.judgeIsScanningArr.length === parseInt(i) + 1) {
-          if (flag) {
-            console.log(flag, 1)
-            this.fnThrottle(this.enterNative, 500, 2000, belong)()
-            return
-          }
-        }
-      }
-
-      // // for (i in this.judgeIsScanningArr) {
-      // // console.log(i)
-      // // console.log( this.judgeIsScanningArr)
-      // console.log(Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 1]) - Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 2]))
-      // if (Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 1]) - Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 2]) < 10) {
-      //   this.countJudgeIsScanningInput++
-      // }
-      // if (this.countJudgeIsScanningInput > this.judgeIsScanningArr.length / 2) {
-      //   flag = true
-      // }
-      // // flag = Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 1]) - Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 2]) < 0.1
-      // // if (i > 0 && this.judgeIsScanningArr.length === parseInt(i) + 1) {
-      // if (flag) {
-      //   console.log(flag, 2)
-      //   this.fnThrottle(this.enterNative, 500, 2000, belong)()
-      //   return
-      // }
-      // // }
-      // // }
-    },
-    // 鍒ゆ柇鏄惁鏄壂鐮佹灙鎵爜
-    judgeIsScanning(e, belong) {
-      const timenow = e.timeStamp
-      let flag = true
-      this.judgeIsScanningArr.push(timenow)
-      let i
-      for (i in this.judgeIsScanningArr) {
-        flag = Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 1]) - Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 2]) < 0.1
-        if (i > 0 && this.judgeIsScanningArr.length === parseInt(i) + 1) {
-          if (flag) {
-            this.fnThrottle(this.enterNative, 500, 2000, belong)()
-            return
-          }
-        }
-      }
-    },
     // 鎵爜閿洏鍥炶溅浜嬩欢
     async enterNative(val, belong) {
+      if (getCookie('description') !== 'W') {
+        return this.$message.info('璇ヨ鑹叉棤姝ゆ搷浣滄潈闄愶紒')
+      }
+
       console.log(val, belong, 89898989)
       // 寮�宸ワ細code="200"  count=0
       // 鎶ュ伐锛歝ode="200"  count=1
@@ -1761,25 +1905,31 @@
       // 鏀舵枡锛歝ode="200"  count=3
       // 璧板垪琛ㄥ舰寮� code="200"  count=4
       if (belong === 'produceCode') {
-        const orderstepqrcode = this.form.orderstepqrcode
-        const data = {
-          OperType: 'ZZ',
-          orderstepqrcode: orderstepqrcode,
-          SelectType: ''
-        }
-        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)
-        }
+        // console.log('asd')
+        // await this.getMesOrderStepStartSelectEqp()
+        await this.getMesOrderStepSearch()
+        // const orderstepqrcode = this.form.orderstepqrcode
+        // const data = {
+        //   OperType: 'ZZ',
+        //   orderstepqrcode: orderstepqrcode,
+        //   SelectType: this.form.SelectType,
+        //   stu_torgcode: getCookie('stu_torgcode')
+        // }
+        // 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 orderstepqrcode = this.WXform.orderstepqrcode
         const data = {
           OperType: 'WX',
           orderstepqrcode: orderstepqrcode,
+          stu_torgcode: getCookie('stu_torgcode'),
           SelectType: this.WXSelected// OUT銆両N
         }
         const res = await MesOrderStepStart(data)
@@ -1802,71 +1952,102 @@
     search() {
       this.getMesOrderStepSearch()
     },
+    reset() {
+      this.form.wocode = ''
+      this.form.saleOrderCode = ''
+      this.form.partcode = ''
+      this.form.partname = ''
+      this.form.partspec = ''
+      this.getMesOrderStepSearch()
+    },
     // 鑷埗寮�濮�
     async ZZstart(obj) {
       // if (!this.ZZisExecutable) {
       //   return this.$message.info('璇峰厛鎵爜宸ュ簭浜岀淮鐮侊紒')
       // }
+
+      // this.dialogForm.isbott = obj.isbott === 'Y'
+
+      const data = {
+        OperType: 'ZZ',
+        orderstepqrcode: obj.wo_code + ';' + obj.stepcode,
+        SelectType: 'START',
+        stu_torgcode: getCookie('stu_torgcode')
+      }
+
+      const { data: res } = await MesOrderStepStart(data)
+
+      // console.log(JSON.parse(JSON.stringify(res)), 321)
       this.dialogTitle = '鑷埗寮�濮�'
       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.noreportqty = obj.noreportqty
+        this.dialogForm.saleOrderCode = res.saleOrderCode
+        this.dialogForm.wo_code = res.wo_code
+        this.dialogForm.partcode = res.partnumber
+        this.dialogForm.partname = res.partname
+        this.dialogForm.partspec = res.partspec
+        this.dialogForm.stepseq = res.seq
+        this.dialogForm.stepcode = res.stepcode
+        this.dialogForm.stepname = res.stepname
+        this.dialogForm.stepdesc = res.stepdesc
+        this.dialogForm.planqty = res.planqty
+        this.dialogForm.reportqty = res.reportqty
+        this.dialogForm.noreportqty = res.noreportqty
         // this.dialogForm.startqty = obj.startqty
-        this.dialogForm.startqty = obj.noreportqty
+        this.dialogForm.startqty = res.noreportqty
       })
-
-      await this.getMesOrderStepStartSelectEqp()
     },
     // 鑷埗鎶ュ伐
     async ZZreport(obj) {
       // if (!this.ZZisExecutable) {
       //   return this.$message.info('璇峰厛鎵爜宸ュ簭浜岀淮鐮侊紒')
       // }
+      const data = {
+        OperType: 'ZZ',
+        orderstepqrcode: obj.wo_code + ';' + obj.stepcode,
+        SelectType: 'REPORT',
+        stu_torgcode: getCookie('stu_torgcode')
+      }
+      this.form.orderstepqrcode = obj.wo_code + ';' + obj.stepcode
+      const { data: res } = await MesOrderStepStart(data)
+
+      // console.log(JSON.parse(JSON.stringify(res)), 322)
+
       this.dialogTitle = '鑷埗鎶ュ伐'
       this.dialogVisible = true
 
+      this.dialogForm.saleOrderCode = res.saleOrderCode
+      this.dialogForm.wo_code = res.wo_code
+      this.dialogForm.partcode = res.partnumber
+      this.dialogForm.partname = res.partname
+      this.dialogForm.partspec = res.partspec
+      this.dialogForm.stepseq = res.seq
+      this.dialogForm.stepcode = res.stepcode
+      this.dialogForm.stepname = res.stepname
+      this.dialogForm.stepdesc = res.stepdesc
+      this.dialogForm.planqty = res.planqty
+      this.dialogForm.reportqty = res.reportqty
+      this.dialogForm.noputqty = res.noputqty
+      this.dialogForm.noreportqty = res.noreportqty
+      // this.dialogForm.startqty = res.startqty
+      this.dialogForm.startqty = res.noreportqty
+
+      this.dialogForm.nextstepname = res.nextstepname
+      this.dialogForm.nextstepcode = res.nextstepcode
+
+      this.dialogForm.startqtySum = res.noreportqty
+      // console.log(this.dialogForm.startqtySum, 2)
+      this.dialogForm.eqpname = res.eqpname
+      this.dialogForm.eqpcode = res.eqpcode
+      console.log(res.wkshopcode, 7)
+      this.dialogForm.wkshopcode = res.wkshopcode
+      this.dialogForm.wkshopname = res.wkshopname
+
       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
-        this.dialogForm.startqty = obj.noreportqty
-
-        this.dialogForm.nextstepname = obj.nextstepname
-        this.dialogForm.nextstepcode = obj.nextstepcode
-
-        this.dialogForm.startqtySum = obj.noreportqty
-
-        this.dialogForm.eqpname = obj.eqpname
-        this.dialogForm.eqpcode = obj.eqpcode
-
-        this.dialogForm.wkshopcode = obj.wkshopcode
-        this.dialogForm.wkshopname = obj.wkshopname
-
         this.$refs.userTableDataRef.doLayout()
       })
 
-      await this.getMesOrderStepStartSelectEqp()
       await this.getMesOrderStepReportSelectUserGroup()
       await this.getMesOrderStepSelectCause('ZZ')
       await this.getMesOrderSelectUserZZ()
@@ -1884,6 +2065,7 @@
       this.dialogVisible = true
 
       this.$nextTick(() => {
+        this.dialogForm.saleOrderCode = obj.saleOrderCode
         this.dialogForm.wo_code = obj.wo_code
         this.dialogForm.partcode = obj.partnumber
         this.dialogForm.partname = obj.partname
@@ -1917,12 +2099,13 @@
         }
       })
 
-      console.log(this.WXouterprovide2, 2)
+      // console.log(this.WXouterprovide2, 2)
 
       this.dialogTitle = '澶栧崗鏀舵枡'
       this.dialogVisible = true
 
       this.$nextTick(() => {
+        this.dialogForm.saleOrderCode = obj.saleOrderCode
         this.dialogForm.wo_code = obj.wo_code
         this.dialogForm.partcode = obj.partnumber
         this.dialogForm.partname = obj.partname
@@ -1996,6 +2179,31 @@
       const { data: res } = await MesOrderStepSelectCause({ orderstepqrcode: orderstepqrcode })
       this.badArr = res
     },
+
+    // 寮�宸ラ�夋嫨璁惧鏀瑰彉鏃�
+    selectTypeChange(val) {
+      this.form.SelectType = val
+      const orderstepqrcode = this.form.orderstepqrcode
+      const data = {
+        OperType: 'ZZ',
+        orderstepqrcode: orderstepqrcode,
+        SelectType: this.form.SelectType,
+        stu_torgcode: getCookie('stu_torgcode')
+      }
+      MesOrderStepStart(data).then(res => {
+        if (res.code === '200' && res.count === 0) {
+          this.ZZstart(res.data)
+        }
+
+        if (res.code === '200' && res.count === 1) {
+          this.ZZreport(res.data)
+        }
+      }).catch(e => {
+        this.form.orderstepqrcode = ''
+        this.form.SelectType = ''
+      })
+    },
+
     // 鎶ュ伐鏌ヨ鐢ㄦ埛琛�
     async getUserTableData() {
       const { data: res } = await MesOrderGroupSelectUser({ usergroupcode: this.dialogForm.usergroupcode })
@@ -2020,11 +2228,12 @@
     calculatedValue() {
       const total = 100
       let value = 0
+
       this.userTableData.forEach(item => {
         item.ratio = parseFloat((100 / this.userTableData.length).toFixed(2))
         value += item.ratio
       })
-      console.log(value, 1)
+
       this.UserTotal = this.userTableData.length
       if (value !== total) {
         // let temp = this.userTableData
@@ -2051,6 +2260,43 @@
       })
     },
 
+    plusClick() {
+      // console.log(this.badSelected, this.badInput)
+      if (this.badSelected.length < 1) {
+        return this.$message.info('璇烽�夋嫨涓嶈壇鍘熷洜锛�')
+      }
+      if (this.badInput.toString().trim().length < 1) {
+        return this.$message.info('璇疯緭鍏ヤ笉鑹暟閲忥紒')
+      }
+      this.BAD.push({
+        defect_code: this.badSelected.sort().join(','),
+        badqty: this.badInput
+      })
+
+      const NAME = []
+      this.badSelected.forEach(item => {
+        const name = this.badArr.find(it => it.code === item).name
+        NAME.push(name)
+      })
+
+      this.BADNAME.push({
+        name: NAME.join(','), badqty: this.badInput
+      })
+
+      // console.log(typeof this.dialogForm.noputqty)
+
+      this.dialogForm.noputqty += parseFloat(this.badInput)
+
+      this.badSelected = []
+      this.badInput = ''
+    },
+
+    deleteClick(val, index) {
+      console.log(val, 2)
+      this.dialogForm.noputqty -= parseFloat(val.badqty)
+      this.BADNAME.splice(index, 1)
+      this.BAD.splice(index, 1)
+    },
     // 鐢ㄦ埛娣诲姞
     userAdd() {
       if (this.userTableData.find(i => i.isVisible === 1)) {
@@ -2058,7 +2304,6 @@
       }
       let number = Math.random() * Math.random()// 浣滀负鍒犻櫎鏃剁殑鏍囪瘑绗�
       number = number === 0 ? (10 + Math.random()) : number
-      console.log(this.userTableData, 6)
       this.userTableData.unshift({ usercode: '', username: '', isVisible: 1, number: number, ratio: 0 })
       this.calculatedValue()
     },
@@ -2124,41 +2369,46 @@
     },
     // 瀵硅瘽妗嗗叧闂簨浠�
     handleClose() {
+      this.BAD = []
+      this.BADNAME = []
+      this.badSelected = []
+      this.badInput = ''
+
       this.judgeIsScanningArr = []
       this.form.orderstepqrcode = ''
       this.WXform.orderstepqrcode = ''
       this.badForm.orderstepqrcode = ''
 
-      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.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.wxcode = '' // 澶栧崗渚涘簲鍟嗙紪鐮�
+      this.dialogForm.outuser = '' // 鍙戞枡浜哄憳
+      this.dialogForm.taskqty = '' // 浠诲姟鏁伴噺
+      this.dialogForm.fqty = '' // 鍙戞枡鏁伴噺
 
-      this.dialogForm.inuser = getCookie('navTabId'), // 鏀舵枡浜哄憳  榛樿鐧诲綍浜哄憳
-      this.dialogForm.sqty = '', // 鏀舵枡鏁伴噺
-      this.dialogForm.ngqty = '', // 涓嶈壇鏁伴噺
-      this.dialogForm.badcode = '', // 涓嶈壇鍘熷洜缂栫爜
+      this.dialogForm.inuser = getCookie('navTabId') // 鏀舵枡浜哄憳  榛樿鐧诲綍浜哄憳
+      this.dialogForm.sqty = '' // 鏀舵枡鏁伴噺
+      this.dialogForm.ngqty = '' // 涓嶈壇鏁伴噺
+      this.dialogForm.badcode = '' // 涓嶈壇鍘熷洜缂栫爜
 
-      this.dialogForm.noputqty = '', // 涓嶈壇鏁伴噺
+      this.dialogForm.noputqty = '' // 涓嶈壇鏁伴噺
 
-      this.dialogForm.eqpcode = '', // 鐢熶骇璁惧缂栫爜
+      this.dialogForm.eqpcode = '' // 鐢熶骇璁惧缂栫爜
 
-      this.dialogForm.usergroupcode = '', // 鐝粍缂栫爜
-      this.dialogForm.reportuser = '', // 鎶ュ伐浜哄憳
+      this.dialogForm.usergroupcode = '' // 鐝粍缂栫爜
+      this.dialogForm.reportuser = '' // 鎶ュ伐浜哄憳
 
       this.dialogForm.startqtySum = '' // 涓嶈兘瓒呰繃鐨勬暟鍊�
 
@@ -2168,11 +2418,14 @@
 
       // this.dialogForm.inbarcode = '' // 鍏ュ簱鐮�
 
-      this.dialogForm.reckway = 'group'
+      this.dialogForm.reckway = 'person'
 
       this.dialogForm.remarks = '' // 澶囨敞
       this.dialogForm.operation = getCookie('navTabId') // 鎶ュ伐浜猴紙鏀舵枡浜猴級
       this.userTableData = [] // 浜哄憳鍒楄〃
+
+      this.form.SelectType = ''
+      this.ZZeqpArr = []
 
       this.$refs.dialogForm.clearValidate()
     },
@@ -2188,6 +2441,9 @@
           if (this.dialogTitle === '澶栧崗鍙戞枡') {
             if (parseFloat(this.dialogForm.fqty) > parseFloat(this.dialogForm.noreportqty)) {
               return this.$message.info('鍙戞枡鏁伴噺涓嶈兘澶т簬鏈彂鏁伴噺!')
+            }
+            if (parseFloat(this.dialogForm.fqty) <= 0) {
+              return this.$message.info('鍙戞枡鏁伴噺瑕佸ぇ浜庨浂锛�')
             }
             const data = {
               mesordercode: this.dialogForm.wo_code, // 宸ュ崟缂栧彿
@@ -2221,26 +2477,30 @@
               return this.$message.info('鏀舵枡鏁伴噺鍔犱笉鑹暟閲忎笉鑳藉ぇ浜庤渚涘簲鍟嗗彲鏀舵暟閲�!')
             }
 
-            if (parseFloat(this.dialogForm.noputqty) > 0) {
-              if (this.dialogForm.badcode.length < 1) {
-                return this.$message.info('璇烽�夋嫨涓嶈壇鍘熷洜锛�')
-              }
+            if (parseFloat(this.dialogForm.sqty) <= 0) {
+              return this.$message.info('鏀舵枡鏁伴噺瑕佸ぇ浜庨浂锛�')
             }
+
+            // if (parseFloat(this.dialogForm.noputqty) > 0) {
+            //   if (this.dialogForm.badcode.length < 1) {
+            //     return this.$message.info('璇烽�夋嫨涓嶈壇鍘熷洜锛�')
+            //   }
+            // }
 
             this.dialogForm.inbarcode = ''
             // 褰撲负鏈亾鐨勬椂鍊�
-            if (this.dialogForm.nextstepcode === '') {
-              const D = {
-                rightcode: '1078',
-                partcode: this.dialogForm.partcode,
-                qty: this.dialogForm.sqty,
-                onelabqty: this.dialogForm.sqty
-              }
-              const r = await LabelBarCode(D)
-              this.dialogForm.inbarcode = r.data[0].labcode
-
-              this.qrForm.partspec = this.dialogForm.partspec
-            }
+            // if (this.dialogForm.nextstepcode === '') {
+            //   const D = {
+            //     rightcode: '1078',
+            //     partcode: this.dialogForm.partcode,
+            //     qty: this.dialogForm.sqty,
+            //     onelabqty: this.dialogForm.sqty
+            //   }
+            //   const r = await LabelBarCode(D)
+            //   this.dialogForm.inbarcode = r.data[0].labcode
+            //
+            //   this.qrForm.partspec = this.dialogForm.partspec
+            // }
 
             const data = {
               mesordercode: this.dialogForm.wo_code, // 宸ュ崟缂栧彿
@@ -2253,18 +2513,19 @@
               sqty: this.dialogForm.sqty, // 鏀舵枡鏁伴噺
               remarks: this.dialogForm.remarks, // 澶囨敞
               inbarcode: this.dialogForm.inbarcode, // 鐢熶骇鍏ュ簱鏉$爜
-              ngqty: this.dialogForm.noputqty === '' ? 0 : this.dialogForm.noputqty, // 涓嶈壇鏁伴噺
-              badcode: this.dialogForm.badcode.length < 1 ? '' : this.dialogForm.badcode.join(';')// 涓嶈壇鍘熷洜
+              defectlist: this.BAD
+              // ngqty: this.dialogForm.noputqty === '' ? 0 : this.dialogForm.noputqty, // 涓嶈壇鏁伴噺
+              // badcode: this.dialogForm.badcode.length < 1 ? '' : this.dialogForm.badcode.join(';')// 涓嶈壇鍘熷洜
             }
+            // console.log(JSON.stringify(data), 2)
             this.$store.state.app.buttonIsDisabled = true
             SavaMesOrderStepIn(data).then(res => {
               if (res.code === '200') {
                 this.dialogVisible = false
                 this.$message.success('鏀舵枡鎴愬姛锛�')
                 // if (this.dialogForm.nextstepcode === '') {
-                // this.WXprint2(this.OperationArr.find(item => item.usercode === this.dialogForm.inuser).username)
-                this.WXprint2(this.OperationArr.find(item => item.usercode === getCookie('navTabId')).username)
-                this.dialogVisible2 = true
+                // this.WXprint2(this.OperationArr.find(item => item.usercode === getCookie('navTabId')).username)
+                // this.dialogVisible2 = true
                 // }
                 this.tabClick()
                 this.$store.state.app.buttonIsDisabled = false
@@ -2275,12 +2536,34 @@
           }
 
           if (this.dialogTitle === '鑷埗寮�濮�') {
+            // console.log(parseFloat(this.dialogForm.startqty) + parseFloat(this.dialogForm.reportqty))
+            // console.log(parseFloat(this.dialogForm.planqty), 9)
+
+            if (parseFloat(this.dialogForm.startqty) > parseFloat(this.dialogForm.noreportqty)) {
+              return this.$message.info('寮�宸ユ暟閲忎箣鍜屼笉鑳藉ぇ浜庢湭寮�鏁伴噺锛�')
+            }
+            // if (this.dialogForm.isbott) {
+            //   if (parseFloat(this.dialogForm.startqty) + parseFloat(this.dialogForm.reportqty) > parseFloat(this.dialogForm.planqty)) {
+            //     return this.$message.info('寮�宸ユ暟閲忎箣鍜屼笉鑳藉ぇ浜庝换鍔℃暟閲忥紒')
+            //   }
+            // }
+            //
+            // if (!this.dialogForm.isbott) {
+            //   if (parseFloat(this.dialogForm.startqty) + parseFloat(this.dialogForm.reportqty) > parseFloat(this.dialogForm.noreportqty)) {
+            //     return this.$message.info('寮�宸ユ暟閲忎箣鍜屼笉鑳藉ぇ浜庢湭寮�鏁伴噺锛�')
+            //   }
+            // }
+
+            if (parseFloat(this.dialogForm.startqty) <= 0) {
+              return this.$message.info('寮�宸ユ暟閲忓繀椤诲ぇ浜庨浂锛�')
+            }
+
             const data = {
               mesordercode: this.dialogForm.wo_code, // 宸ュ崟缂栧彿
               partcode: this.dialogForm.partcode, // 浜у搧缂栫爜
               stepseq: this.dialogForm.stepseq, // 宸ュ簭搴忓彿   鏆傛椂缂�
               stepcode: this.dialogForm.stepcode, // 宸ュ簭缂栫爜
-              eqpcode: this.dialogForm.eqpcode, // 鐢熶骇璁惧
+              eqpcode: '', // 鐢熶骇璁惧
               taskqty: this.dialogForm.planqty, // 浠诲姟鏁伴噺
               startqty: this.dialogForm.startqty// 寮�濮嬫暟閲�
             }
@@ -2298,12 +2581,18 @@
           }
 
           if (this.dialogTitle === '鑷埗鎶ュ伐') {
+            console.log(parseFloat(this.dialogForm.startqtySum) < parseFloat(this.dialogForm.startqty) + parseFloat(this.dialogForm.noputqty))
             if (parseFloat(this.dialogForm.startqtySum) < parseFloat(this.dialogForm.startqty) + parseFloat(this.dialogForm.noputqty)) {
               return this.$message.info('鎶ュ伐鏁伴噺鍔犱笉鑹暟閲忎笉鑳藉ぇ浜庝簡鏈姤鏁伴噺!')
             }
             if (this.userTableData.length < 1 && this.dialogForm.reckway === 'group') {
               return this.$message.info('浜哄憳鍒楄〃涓嶈兘涓虹┖!')
             }
+
+            if (parseFloat(this.dialogForm.startqty) <= 0) {
+              return this.$message.info('鎶ュ伐鏁伴噺蹇呴』澶т簬闆讹紒')
+            }
+
             // this.userTableData = [...new Set(this.userTableData)]// 鏁扮粍鍘婚噸
             this.userTableData = this.userTableData.filter(item => item.usercode !== '')
             // 鏁扮粍涓璞$浉鍚岀殑鍘婚噸
@@ -2316,16 +2605,17 @@
               this.userTableData.forEach(item => {
                 sum += parseFloat(item.ratio)
               })
+              console.log(sum, 4)
               if (Math.round(sum * 100) / 100 !== 100) {
                 return this.$message.info('鍒嗛厤姣斾緥鎬诲拰蹇呴』涓�100锛�')
               }
             }
 
-            if (parseFloat(this.dialogForm.noputqty) > 0) {
-              if (this.dialogForm.badcode.length < 1) {
-                return this.$message.info('璇烽�夋嫨涓嶈壇鍘熷洜锛�')
-              }
-            }
+            // if (parseFloat(this.dialogForm.noputqty) > 0) {
+            //   if (this.dialogForm.badcode.length < 1) {
+            //     return this.$message.info('璇烽�夋嫨涓嶈壇鍘熷洜锛�')
+            //   }
+            // }
 
             // console.log(this.userTableData, 1)
             // const reportuser = this.userTableData.map(item => item.usercode).join(';')// 涓昏鏀圭殑鏄繖閲岀殑鏍煎紡
@@ -2368,22 +2658,23 @@
 
               inbarcode: this.dialogForm.inbarcode, // 鐢熶骇鍏ュ簱鏉$爜
 
-              ngqty: this.dialogForm.noputqty === '' ? 0 : this.dialogForm.noputqty, // 涓嶈壇鏁伴噺
-              badcode: this.dialogForm.badcode.length < 1 ? '' : this.dialogForm.badcode.join(';')// 涓嶈壇鍘熷洜
+              defectlist: this.BAD
+              // ngqty: this.dialogForm.noputqty === '' ? 0 : this.dialogForm.noputqty, // 涓嶈壇鏁伴噺
+              // badcode: this.dialogForm.badcode.length < 1 ? '' : this.dialogForm.badcode.join(';')// 涓嶈壇鍘熷洜
             }
 
+            // console.log(JSON.parse(JSON.stringify(data)), 'data')
             // console.log(JSON.stringify(data), 'data')
-            console.log(data, 'data')
-            this.$store.state.app.buttonIsDisabled = true
 
+            this.$store.state.app.buttonIsDisabled = true
             SavaMesOrderStepReport(data).then(res => {
               if (res.code === '200') {
                 this.dialogVisible = false
                 this.$message.success('鎶ュ伐鎴愬姛锛�')
                 // this.dialogForm.nextstepcode===''  //褰撲负绌虹殑鏃跺��  浠h〃鏄湯閬撳伐搴�
                 // if (this.dialogForm.nextstepcode !== '') {
-                this.ZZprint2(this.OperationArr.find(item => item.usercode === getCookie('navTabId')).username)
-                this.dialogVisible2 = true
+                // this.ZZprint2(this.OperationArr.find(item => item.usercode === getCookie('navTabId')).username)
+                // this.dialogVisible2 = true
                 // }
                 this.tabClick()
                 this.$store.state.app.buttonIsDisabled = false
@@ -2487,8 +2778,8 @@
         if (res.code === '200' || res.code === '301') {
           this.getBadList()
           this.badDialogVisible = false
-          this.badPrint(this.OperationArr.find(item => item.usercode === getCookie('navTabId')).username)
-          this.dialogVisible2 = true
+          // this.badPrint(this.OperationArr.find(item => item.usercode === getCookie('navTabId')).username)
+          // this.dialogVisible2 = true
           this.$message.success('淇濆瓨鎴愬姛锛�')
 
           this.$store.state.app.buttonIsDisabled = false
@@ -2536,6 +2827,7 @@
       const { data: res } = await MesOrderNgSubStepSearch(data)
 
       this.$nextTick(() => {
+        this.badDialogForm.saleOrderCode = res.data1.saleOrderCode
         this.badDialogForm.wo_code = res.data1.wo_code
         this.badDialogForm.partcode = res.data1.partnumber
         this.badDialogForm.partname = res.data1.partname

--
Gitblit v1.9.3