From 09bc0a81c166562bc4523f3a3d3fc86203f64b1e Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期四, 02 十一月 2023 14:50:52 +0800
Subject: [PATCH] 1.生产管理、报表管理 新增销售单号查询

---
 src/views/produceManager/produceStartOrder.vue |  673 ++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 487 insertions(+), 186 deletions(-)

diff --git a/src/views/produceManager/produceStartOrder.vue b/src/views/produceManager/produceStartOrder.vue
index 2b653b4..da727e0 100644
--- a/src/views/produceManager/produceStartOrder.vue
+++ b/src/views/produceManager/produceStartOrder.vue
@@ -15,7 +15,20 @@
                 @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>
             <div v-if="false" style="display: flex;padding-right: 10px">
               <el-button v-waves @click="ZZstart">
@@ -63,6 +76,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
@@ -266,6 +290,17 @@
                 </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
                 prop="wo_code"
                 label="宸ュ崟鍙�"
                 width="160"
@@ -430,6 +465,17 @@
                 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"
                 label="宸ュ崟鍙�"
@@ -520,7 +566,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 +578,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>
@@ -575,19 +624,20 @@
           <div style="width: 200px">{{ dialogForm.startqty }}</div>
           <!--          <div style="width: 200px">{{  dialogForm.noreportqty }}</div>-->
         </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 v-if="dialogTitle==='鑷埗寮�濮�'" label="鐢熶骇璁惧锛�">
+          <div style="width: 200px">{{ form.SelectType? ZZeqpArr.find(i=>i.code===form.SelectType).name:'' }}</div>
+          <!--          <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="涓嬮亾宸ュ簭锛�" style="margin: 0 10px 0 0">
@@ -660,26 +710,103 @@
           <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: 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-->
+        <!--            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 +825,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}" />
@@ -787,15 +912,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
@@ -895,41 +1020,84 @@
           <el-input
             v-model="dialogForm.sqty"
             style="width: 200px"
+            :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 +1112,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 +1194,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 +1203,7 @@
             :disabled="$store.state.app.buttonIsDisabled"
             type="primary"
             @click="dialogVisibleConfirm"
-          >鎻愪氦</el-button>
+          >鎻� 浜�</el-button>
           <el-button
             v-if="dialogTitle==='澶栧崗鍙戞枡'"
             v-waves
@@ -1008,7 +1211,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 +1219,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 +1228,7 @@
             :disabled="$store.state.app.buttonIsDisabled"
             type="primary"
             @click="dialogVisibleConfirm"
-          >鏀舵枡</el-button>
+          >鏀� 鏂�</el-button>
         </div>
       </span>
     </el-dialog>
@@ -1123,6 +1327,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 +1478,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>
@@ -1343,6 +1551,7 @@
       WXradioSelected: '', // 宸ュ簭閫変腑
       form: {
         orderstepqrcode: '', // 鎵弿鐨勪簩缁寸爜淇℃伅
+        SelectType: '', // 璁惧缂栫爜
         prop: 'lm_date', // 鎺掑簭瀛楁
         order: 'desc', // 鎺掑簭瀛楁
         page: 1, // 绗嚑椤�
@@ -1368,6 +1577,7 @@
       dialogVisible: false,
       dialogTitle: '', // 鑷埗寮�濮嬨�佽嚜鍒舵姤宸ャ�佸鍗忓彂鏂欍�佸鍗忔敹鏂�
       dialogForm: {
+        saleOrderCode: '',
         wo_code: '', // 宸ュ崟缂栧彿
         partcode: '', // 浜у搧缂栫爜
         partname: '', // 浜у搧鍚嶇О
@@ -1402,7 +1612,7 @@
 
         startqtySum: '', // 涓嶈兘瓒呰繃鐨勬暟鍊�
 
-        reckway: 'group', // 璁′欢鏂瑰紡
+        reckway: 'person', // 璁′欢鏂瑰紡
 
         operation: getCookie('navTabId'), // 鎶ュ伐浜猴紙鏀舵枡浜猴級
         remarks: '', // 澶囨敞
@@ -1410,6 +1620,12 @@
         inbarcode: ''// 鏈亾宸ュ簭鏃� 鎵撳嵃鐨勫叆搴撶爜
 
       },
+
+      badSelected: [], // 宸查�夌殑涓嶈壇鍘熷洜鏁扮粍
+      badInput: '',
+      BAD: [],
+      BADNAME: [],
+
       ZZuserArr: [], // 鑷埗鐢ㄦ埛鎵�鏈�
       ZZtreams: [], // 鑷埗鐢熶骇鐝粍鏁扮粍
       ZZeqpArr: [], // 鑷埗璁惧鍚嶇О
@@ -1765,25 +1981,30 @@
       // 鏀舵枡锛歝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)
-        }
+        await this.getMesOrderStepStartSelectEqp()
+
+        // 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)
@@ -1815,6 +2036,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
@@ -1830,7 +2052,7 @@
         this.dialogForm.startqty = obj.noreportqty
       })
 
-      await this.getMesOrderStepStartSelectEqp()
+      // await this.getMesOrderStepStartSelectEqp()
     },
     // 鑷埗鎶ュ伐
     async ZZreport(obj) {
@@ -1839,38 +2061,38 @@
       // }
       this.dialogTitle = '鑷埗鎶ュ伐'
       this.dialogVisible = true
+      this.dialogForm.saleOrderCode = obj.saleOrderCode
+      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
+      console.log(obj.wkshopcode, 7)
+      this.dialogForm.wkshopcode = obj.wkshopcode
+      this.dialogForm.wkshopname = obj.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.getMesOrderStepStartSelectEqp()
       await this.getMesOrderStepReportSelectUserGroup()
       await this.getMesOrderStepSelectCause('ZZ')
       await this.getMesOrderSelectUserZZ()
@@ -1888,6 +2110,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
@@ -1921,12 +2144,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
@@ -1960,6 +2184,8 @@
     },
     // 鑾峰彇鑷埗鎶ュ伐鐢熶骇鐝粍涓嬫媺鍒楄〃
     async getMesOrderStepReportSelectUserGroup() {
+      // this.dialogForm.wkshopcode
+
       const { data: res } = await MesOrderStepReportSelectUserGroup({ wkshopcode: this.dialogForm.wkshopcode })
       this.ZZtreams = res
     },
@@ -2000,6 +2226,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 })
@@ -2024,11 +2275,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
@@ -2055,6 +2307,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)) {
@@ -2062,7 +2351,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()
     },
@@ -2128,41 +2416,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 = '' // 涓嶈兘瓒呰繃鐨勬暟鍊�
 
@@ -2172,11 +2465,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()
     },
@@ -2225,26 +2521,26 @@
               return this.$message.info('鏀舵枡鏁伴噺鍔犱笉鑹暟閲忎笉鑳藉ぇ浜庤渚涘簲鍟嗗彲鏀舵暟閲�!')
             }
 
-            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('璇烽�夋嫨涓嶈壇鍘熷洜锛�')
+            //   }
+            // }
 
             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, // 宸ュ崟缂栧彿
@@ -2257,18 +2553,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
@@ -2284,7 +2581,7 @@
               partcode: this.dialogForm.partcode, // 浜у搧缂栫爜
               stepseq: this.dialogForm.stepseq, // 宸ュ簭搴忓彿   鏆傛椂缂�
               stepcode: this.dialogForm.stepcode, // 宸ュ簭缂栫爜
-              eqpcode: this.dialogForm.eqpcode, // 鐢熶骇璁惧
+              eqpcode: this.form.SelectType, // 鐢熶骇璁惧
               taskqty: this.dialogForm.planqty, // 浠诲姟鏁伴噺
               startqty: this.dialogForm.startqty// 寮�濮嬫暟閲�
             }
@@ -2320,16 +2617,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(';')// 涓昏鏀圭殑鏄繖閲岀殑鏍煎紡
@@ -2372,13 +2670,15 @@
 
               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), 'data')
-            console.log(data, 'data')
-            this.$store.state.app.buttonIsDisabled = true
+            console.log(JSON.parse(JSON.stringify(data)), 'data')
+            console.log(JSON.stringify(data), 'data')
+
+            // this.$store.state.app.buttonIsDisabled = true
 
             SavaMesOrderStepReport(data).then(res => {
               if (res.code === '200') {
@@ -2386,8 +2686,8 @@
                 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
@@ -2491,8 +2791,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
@@ -2540,6 +2840,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