From 6909c00e1010683bbdfa6237c1bebafcfa28fb9d Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期六, 25 二月 2023 13:53:51 +0800
Subject: [PATCH] 1.质检方案  静态实现50%

---
 src/views/scgl/sckbg.vue |  393 ++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 309 insertions(+), 84 deletions(-)

diff --git a/src/views/scgl/sckbg.vue b/src/views/scgl/sckbg.vue
index 75dc889..f9738fd 100644
--- a/src/views/scgl/sckbg.vue
+++ b/src/views/scgl/sckbg.vue
@@ -18,11 +18,11 @@
 
             </div>
             <div v-if="false" style="display: flex;padding-right: 10px">
-              <el-button @click="ZZstart">
+              <el-button v-waves @click="ZZstart">
                 <svg-icon icon-class="start_time" style="margin-right: 2px" />
                 寮�濮�
               </el-button>
-              <el-button @click="ZZreport">
+              <el-button v-waves @click="ZZreport">
                 <svg-icon icon-class="report_work" style="margin-right: 2px" />
                 鎶ュ伐
               </el-button>
@@ -51,6 +51,7 @@
               />
               <el-table-column
                 prop="status"
+                show-tooltip-when-overflow
                 label="鐘舵��"
                 sortable="custom"
                 width="80"
@@ -60,6 +61,8 @@
                   <div v-if="row.status==='ALLO'">宸叉淳鍙�</div>
                   <div v-if="row.status==='START'">寮�宸�</div>
                   <div v-if="row.status==='CLOSED'">瀹屽伐</div>
+                  <div v-if="row.status==='NOSCHED'">寰呮帓绋�</div>
+                  <div v-if="row.status==='SCHED'">宸叉帓绋�</div>
                 </template>
               </el-table-column>
               <el-table-column
@@ -74,6 +77,7 @@
                 label="浜у搧缂栫爜"
                 min-width="110"
                 sortable="custom"
+                show-tooltip-when-overflow
               />
               <el-table-column
                 prop="partname"
@@ -105,10 +109,12 @@
                 label="浠诲姟鏁伴噺"
                 width="110"
                 sortable="custom"
+                show-tooltip-when-overflow
               />
               <el-table-column
                 label="鏈姤宸ユ暟閲�"
                 width="120"
+                show-tooltip-when-overflow
               >
                 <!--                sortable="custom"-->
                 <template slot-scope="{row}">
@@ -117,6 +123,7 @@
               </el-table-column>
               <el-table-column
                 prop="good_qty"
+                show-tooltip-when-overflow
                 label="宸叉姤宸ユ暟閲�"
                 sortable="custom"
                 width="160"
@@ -124,6 +131,7 @@
               <el-table-column
                 prop="ng_qty"
                 label="涓嶈壇鏁伴噺"
+                show-tooltip-when-overflow
                 width="150"
                 sortable="custom"
               />
@@ -131,11 +139,13 @@
                 prop="bad_qty"
                 label="宸叉姤搴熸暟閲�"
                 width="120"
+                show-tooltip-when-overflow
                 sortable="custom"
               />
               <el-table-column
                 prop="plan_startdate"
                 label="璁″垝寮�宸ユ棩鏈�"
+                show-tooltip-when-overflow
                 width="150"
                 sortable="custom"
               >
@@ -149,6 +159,7 @@
                 label="璁″垝瀹屽伐鏃ユ湡"
                 width="150"
                 sortable="custom"
+                show-tooltip-when-overflow
                 fixed="right"
               >
                 <template slot-scope="{row}">
@@ -163,8 +174,8 @@
               <!--              >-->
               <!--                <template slot-scope="{row}">-->
               <!--                  <div class="operationClass">-->
-              <!--                    <el-button type="text" @click="edit('edit',row)">缂栬緫</el-button>-->
-              <!--                    <el-button type="text" @click="del(row)">鍒犻櫎</el-button>-->
+              <!--                    <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>-->
@@ -209,11 +220,11 @@
 
             </div>
             <div v-if="false" style="display: flex;padding-right: 10px">
-              <el-button @click="WXsend">
+              <el-button v-waves @click="WXsend">
                 <svg-icon icon-class="start_time" style="margin-right: 2px" />
                 鍙戞枡
               </el-button>
-              <el-button @click="WXback">
+              <el-button v-waves @click="WXback">
                 <svg-icon icon-class="report_work" style="margin-right: 2px" />
                 鏀舵枡
               </el-button>
@@ -243,6 +254,7 @@
               <el-table-column
                 prop="status"
                 label="鐘舵��"
+                show-tooltip-when-overflow
                 sortable="custom"
                 width="80"
               >
@@ -263,6 +275,7 @@
               <el-table-column
                 prop="partcode"
                 label="浜у搧缂栫爜"
+                show-tooltip-when-overflow
                 width="110"
                 sortable="custom"
               />
@@ -277,6 +290,7 @@
                 prop="stepname"
                 label="宸ュ簭"
                 width="120"
+                show-tooltip-when-overflow
                 sortable="custom"
               />
               <!--              <el-table-column-->
@@ -293,12 +307,14 @@
               <el-table-column
                 prop="plan_qty"
                 label="浠诲姟鏁伴噺"
+                show-tooltip-when-overflow
                 width="110"
                 sortable="custom"
               />
               <el-table-column
-                label="鏈姤宸ユ暟閲�"
+                label="鏈敹鏂欐暟閲�"
                 width="120"
+                show-tooltip-when-overflow
               >
                 <!--                sortable="custom"-->
                 <template slot-scope="{row}">
@@ -308,12 +324,14 @@
               <el-table-column
                 prop="good_qty"
                 label="宸叉敹鏂欐暟閲�"
+                show-tooltip-when-overflow
                 sortable="custom"
                 width="160"
               />
               <el-table-column
                 prop="ng_qty"
                 label="涓嶈壇鏁伴噺"
+                show-tooltip-when-overflow
                 width="150"
                 sortable="custom"
               />
@@ -322,10 +340,12 @@
                 label="宸叉姤搴熸暟閲�"
                 min-width="120"
                 sortable="custom"
+                show-tooltip-when-overflow
               />
               <el-table-column
                 prop="plan_startdate"
                 label="璁″垝寮�宸ユ棩鏈�"
+                show-tooltip-when-overflow
                 width="150"
                 sortable="custom"
               >
@@ -337,6 +357,7 @@
               <el-table-column
                 prop="plan_enddate"
                 label="璁″垝瀹屽伐鏃ユ湡"
+                show-tooltip-when-overflow
                 width="150"
                 sortable="custom"
                 fixed="right"
@@ -353,8 +374,8 @@
               <!--              >-->
               <!--                <template slot-scope="{row}">-->
               <!--                  <div class="operationClass">-->
-              <!--                    <el-button type="text" @click="edit('edit',row)">缂栬緫</el-button>-->
-              <!--                    <el-button type="text" @click="del(row)">鍒犻櫎</el-button>-->
+              <!--                    <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>-->
@@ -409,18 +430,21 @@
                 fixed
               />
               <el-table-column
+                show-tooltip-when-overflow
                 prop="wo_code"
                 label="宸ュ崟鍙�"
                 min-width="160"
                 sortable="custom"
               />
               <el-table-column
+                show-tooltip-when-overflow
                 prop="partcode"
                 label="浜у搧缂栫爜"
                 min-width="110"
                 sortable="custom"
               />
               <el-table-column
+                show-tooltip-when-overflow
                 prop="partname"
                 min-width="160"
                 label="浜у搧鍚嶇О"
@@ -429,6 +453,7 @@
               <el-table-column
                 prop="stepname"
                 label="宸ュ簭"
+                show-tooltip-when-overflow
                 min-width="120"
                 sortable="custom"
               />
@@ -436,6 +461,7 @@
                 prop="plan_qty"
                 label="浠诲姟鏁伴噺"
                 width="110"
+                show-tooltip-when-overflow
                 sortable="custom"
               />
               <el-table-column
@@ -443,11 +469,13 @@
                 label="宸叉姤宸ユ暟閲�"
                 sortable="custom"
                 min-width="160"
+                show-tooltip-when-overflow
               />
               <el-table-column
                 prop="ng_qty"
                 label="涓嶈壇鏁伴噺"
                 width="150"
+                show-tooltip-when-overflow
                 sortable="custom"
               />
               <el-table-column
@@ -455,6 +483,7 @@
                 label="宸叉姤搴熸暟閲�"
                 width="120"
                 sortable="custom"
+                show-tooltip-when-overflow
               />
               <el-table-column
                 label="鎿嶄綔"
@@ -463,7 +492,7 @@
               >
                 <template slot-scope="{row}">
                   <div class="operationClass">
-                    <el-button type="text" @click="repairHandle(row)">缁翠慨澶勭悊</el-button>
+                    <el-button v-waves type="text" @click="repairHandle(row)">缁翠慨澶勭悊</el-button>
                   </div>
                 </template>
               </el-table-column>
@@ -486,6 +515,7 @@
     </div>
 
     <el-dialog
+      v-el-drag-dialog
       :title="dialogTitle"
       :visible.sync="dialogVisible"
       width="850px"
@@ -563,7 +593,16 @@
         <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="涓嬮亾宸ュ簭锛�">
           <div style="width: 200px">{{ dialogForm.nextstepname }}</div>
         </el-form-item>
-        <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" prop="usergroupcode" label="鐢熶骇鐝粍锛�">
+
+        <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" prop="reckway" label="璁′欢鏂瑰紡锛�">
+
+          <el-radio-group v-model="dialogForm.reckway" style="width: 200px;" @change="reckwayChange">
+            <el-radio label="group">鐝粍</el-radio>
+            <el-radio label="person">涓汉</el-radio>
+          </el-radio-group>
+        </el-form-item>
+
+        <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'&&dialogForm.reckway==='group'" prop="usergroupcode" label="鐢熶骇鐝粍锛�">
           <el-select
             v-model="dialogForm.usergroupcode"
             style="width: 200px;"
@@ -578,6 +617,23 @@
             />
           </el-select>
         </el-form-item>
+
+        <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'&&dialogForm.reckway==='person'" prop="operation" label="鎶ュ伐浜哄憳锛�">
+          <el-select
+            v-model="dialogForm.operation"
+            style="width: 200px;"
+            placeholder="璇烽�夋嫨"
+            @change="usergroupChange"
+          >
+            <el-option
+              v-for="item in OperationArr"
+              :key="item.usercode"
+              :label="item.username"
+              :value="item.usercode"
+            />
+          </el-select>
+        </el-form-item>
+
         <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="璁惧鍚嶇О锛�" prop="eqpcode">
           <el-select
             v-model="dialogForm.eqpcode"
@@ -606,6 +662,7 @@
             placeholder="璇烽�夋嫨"
             :disabled="parseFloat(dialogForm.noputqty)===0||dialogForm.noputqty.trim()===''"
             multiple
+            collapse-tags
           >
             <el-option
               v-for="item in badArr"
@@ -618,29 +675,32 @@
         <!--        <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.operation"
-            style="width: 200px;"
-            placeholder="璇烽�夋嫨"
-          >
-            <el-option
-              v-for="item in OperationArr"
-              :key="item.usercode"
-              :label="item.username"
-              :value="item.usercode"
-            />
-          </el-select>
-        </el-form-item>
+        <!--        娉ㄩ噴-->
+        <!--        <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="鎶ュ伐浜猴細">-->
+        <!--          <el-select-->
+        <!--            v-model="dialogForm.operation"-->
+        <!--            style="width: 200px;"-->
+        <!--            placeholder="璇烽�夋嫨"-->
+        <!--          >-->
+        <!--            <el-option-->
+        <!--              v-for="item in OperationArr"-->
+        <!--              :key="item.usercode"-->
+        <!--              :label="item.username"-->
+        <!--              :value="item.usercode"-->
+        <!--            />-->
+        <!--          </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==='鑷埗鎶ュ伐'">
-          <i class="el-icon-s-operation" style="color:#42b983;" /> 浜哄憳鍒楄〃
-          <el-button type="primary" style="margin: 10px 0" @click="userAdd">澧炶</el-button>
+        <div v-if="dialogTitle==='鑷埗鎶ュ伐'&&dialogForm.reckway==='group'">
+          <i class="el-icon-s-operation" :style="{color:$store.state.settings.theme}" /> 浜哄憳鍒楄〃
+          <el-button v-waves type="primary" style="margin: 10px 0" @click="userAdd">澧炶</el-button>
           <el-table
+            ref="userTableDataRef"
             :data="userTableData"
             border
+            class="tableFixed"
             :row-class-name="tableRowClassName"
             :header-cell-style="this.$headerCellStyle"
             :cell-style="this.$cellStyle"
@@ -657,9 +717,10 @@
             <el-table-column
               prop="username"
               label="浜哄憳鍚嶇О"
+              show-tooltip-when-overflow
             >
               <template slot-scope="{row}">
-                <div v-if="row.isVisible===0">{{ row.username }}</div>
+
                 <el-select
                   v-if="row.isVisible===1"
                   v-model="row.username"
@@ -674,8 +735,25 @@
                     :value="item.usercode"
                   />
                 </el-select>
+                <div v-else>{{ row.username }}</div>
               </template>
             </el-table-column>
+            <el-table-column
+              prop="ratio"
+              label="鍒嗛厤姣斾緥(%)"
+              show-tooltip-when-overflow
+            >
+              <template slot-scope="{row}">
+                <el-input
+                  v-if="row.isVisible===1||row.isVisible===2"
+                  v-model="row.ratio"
+                  oninput="value=value.replace(/[^0-9.]/g,'')"
+                  placeholder="璇疯緭鍏�"
+                />
+                <div v-else> {{ row.ratio }}</div>
+              </template>
+            </el-table-column>
+
             <el-table-column
               prop="RowNum"
               label="鎿嶄綔"
@@ -683,9 +761,10 @@
             >
               <template slot-scope="{row}">
                 <div class="operationClass">
-                  <el-button v-if="row.isVisible===0" type="text" @click="userDel(row)">鍒犻櫎</el-button>
-                  <el-button v-if="row.isVisible===1&&!userIsSave" type="text" @click="userSave(row)">淇濆瓨</el-button>
-                  <el-button v-if="row.isVisible===1" type="text" @click="userCancel(row)">鍙栨秷</el-button>
+                  <el-button v-if="(row.isVisible===1&&!userIsSave)||row.isVisible===2" v-waves type="text" @click="userSave(row)">淇濆瓨</el-button>
+                  <el-button v-if="row.isVisible===1" v-waves type="text" @click="userCancel(row)">鍙栨秷</el-button>
+                  <el-button v-if="row.isVisible===0" v-waves type="text" @click="userDel(row)">鍒犻櫎</el-button>
+                  <el-button v-if="row.isVisible===0" v-waves type="text" @click="editRatio(row)">淇敼姣斾緥</el-button>
                 </div>
               </template>
             </el-table-column>
@@ -821,6 +900,7 @@
             v-model="dialogForm.badcode"
             style="width: 200px;"
             multiple
+            collapse-tags
             :disabled="parseFloat(dialogForm.noputqty)===0||dialogForm.noputqty.trim()===''"
             placeholder="璇烽�夋嫨"
           >
@@ -852,17 +932,62 @@
       </el-form>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisibleCancel">鍙� 娑�</el-button>
-          <el-button v-if="dialogTitle==='鑷埗寮�濮�'" type="primary" @click="dialogVisibleConfirm">寮� 宸�</el-button>
-          <el-button v-if="dialogTitle==='鑷埗鎶ュ伐'" type="primary" @click="dialogVisibleConfirm">鎻愪氦/鎵撳嵃</el-button>
-          <el-button v-if="dialogTitle==='澶栧崗鍙戞枡'" type="primary" @click="dialogVisibleConfirm">鍙戞枡</el-button>
-          <el-button v-if="dialogTitle==='澶栧崗鏀舵枡'" type="primary" @click="dialogVisibleConfirm">鏀舵枡/鎵撳嵃</el-button>
+          <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button
+            v-if="dialogTitle==='鑷埗寮�濮�'"
+            v-waves
+            :loading="$store.state.app.buttonIsDisabled"
+            :disabled="$store.state.app.buttonIsDisabled"
+            type="primary"
+            @click="dialogVisibleConfirm"
+          >寮� 宸�</el-button>
+          <el-button
+            v-if="dialogTitle==='鑷埗鎶ュ伐'&&dialogForm.nextstepname===''"
+            v-waves
+            :loading="$store.state.app.buttonIsDisabled"
+            :disabled="$store.state.app.buttonIsDisabled"
+            type="primary"
+            @click="dialogVisibleConfirm"
+          >鎻愪氦/鎵撳嵃</el-button>
+          <el-button
+            v-if="dialogTitle==='鑷埗鎶ュ伐'&&dialogForm.nextstepname!==''"
+            v-waves
+            :loading="$store.state.app.buttonIsDisabled"
+            :disabled="$store.state.app.buttonIsDisabled"
+            type="primary"
+            @click="dialogVisibleConfirm"
+          >鎻愪氦</el-button>
+          <el-button
+            v-if="dialogTitle==='澶栧崗鍙戞枡'"
+            v-waves
+            :loading="$store.state.app.buttonIsDisabled"
+            :disabled="$store.state.app.buttonIsDisabled"
+            type="primary"
+            @click="dialogVisibleConfirm"
+          >鍙戞枡</el-button>
+          <el-button
+            v-if="dialogTitle==='澶栧崗鏀舵枡'&&dialogForm.nextstepname===''"
+            v-waves
+            :loading="$store.state.app.buttonIsDisabled"
+            :disabled="$store.state.app.buttonIsDisabled"
+            type="primary"
+            @click="dialogVisibleConfirm"
+          >鏀舵枡/鎵撳嵃</el-button>
+          <el-button
+            v-if="dialogTitle==='澶栧崗鏀舵枡'&&dialogForm.nextstepname!==''"
+            v-waves
+            :loading="$store.state.app.buttonIsDisabled"
+            :disabled="$store.state.app.buttonIsDisabled"
+            type="primary"
+            @click="dialogVisibleConfirm"
+          >鏀舵枡</el-button>
         </div>
       </span>
     </el-dialog>
 
     <!--鎵撳嵃棰勮椤甸潰  灏忔爣绛�-->
     <el-dialog
+      v-el-drag-dialog
       title="棰勮"
       :visible.sync="dialogVisible2"
       width="1140"
@@ -931,14 +1056,15 @@
       </div>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisible2 = false">鍙� 娑�</el-button>
-          <el-button v-print="printObj2" type="primary">纭� 瀹�</el-button>
+          <el-button v-waves @click="dialogVisible2 = false">鍙� 娑�</el-button>
+          <el-button v-waves v-print="printObj2" type="primary">纭� 瀹�</el-button>
         </div>
       </span>
     </el-dialog>
 
     <!--    涓嶈壇澶勭悊鍒楄〃瀵硅瘽妗�-->
     <el-dialog
+      v-el-drag-dialog
       title="缁翠慨澶勭悊"
       :visible.sync="badDialogVisible"
       width="990px"
@@ -981,24 +1107,25 @@
           <div style="width: 200px">{{ badDialogForm.ng_qty }}</div>
         </el-form-item>
 
-        <el-form-item label="缁翠慨浜哄憳锛�">
-          <el-select
-            v-model="badDialogForm.operation"
-            style="width: 200px;"
-            placeholder="璇烽�夋嫨"
-          >
-            <el-option
-              v-for="item in OperationArr"
-              :key="item.usercode"
-              :label="item.username"
-              :value="item.usercode"
-            />
-          </el-select>
-        </el-form-item>
+        <!--        娉ㄩ噴-->
+        <!--        <el-form-item label="缁翠慨浜哄憳锛�">-->
+        <!--          <el-select-->
+        <!--            v-model="badDialogForm.operation"-->
+        <!--            style="width: 200px;"-->
+        <!--            placeholder="璇烽�夋嫨"-->
+        <!--          >-->
+        <!--            <el-option-->
+        <!--              v-for="item in OperationArr"-->
+        <!--              :key="item.usercode"-->
+        <!--              :label="item.username"-->
+        <!--              :value="item.usercode"-->
+        <!--            />-->
+        <!--          </el-select>-->
+        <!--        </el-form-item>-->
 
       </el-form>
       <div style="margin-bottom:20px">
-        <i class="el-icon-s-operation" style="color:#42b983;" /> 涓嶈壇淇℃伅鏄庣粏锛�
+        <i class="el-icon-s-operation" :style="{color:$store.state.settings.theme}" /> 涓嶈壇淇℃伅鏄庣粏锛�
       </div>
       <div class="elTableDiv">
         <el-table
@@ -1082,11 +1209,11 @@
           >
             <template slot-scope="{row}">
               <div class="operationClass">
-                <el-button v-if="row.isVisible===0" type="text" @click="badEdit(row)">缂栬緫</el-button>
-                <el-button v-if="row.isVisible===0" type="text" @click="badDel(row)">鍒犻櫎</el-button>
+                <el-button v-if="row.isVisible===0" v-waves type="text" @click="badEdit(row)">缂栬緫</el-button>
+                <el-button v-if="row.isVisible===0" v-waves type="text" @click="badDel(row)">鍒犻櫎</el-button>
 
-                <el-button v-if="row.isVisible===1" type="text" @click="badSave(row)">纭</el-button>
-                <el-button v-if="row.isVisible===1" type="text" @click="badCancel(row)">鍙栨秷</el-button>
+                <el-button v-if="row.isVisible===1" v-waves type="text" @click="badSave(row)">纭</el-button>
+                <el-button v-if="row.isVisible===1" v-waves type="text" @click="badCancel(row)">鍙栨秷</el-button>
               </div>
             </template>
           </el-table-column>
@@ -1095,8 +1222,14 @@
       </div>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="badDialogVisibleCancel">鍙� 娑�</el-button>
-          <el-button type="primary" @click="badDialogVisibleConfirm ">淇� 瀛�/鎵� 鍗�</el-button>
+          <el-button v-waves @click="badDialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button
+            v-waves
+            type="primary"
+            :loading="$store.state.app.buttonIsDisabled"
+            :disabled="$store.state.app.buttonIsDisabled"
+            @click="badDialogVisibleConfirm "
+          >淇� 瀛�/鎵� 鍗�</el-button>
         </div>
       </span>
     </el-dialog>
@@ -1126,6 +1259,8 @@
 import QRCode from 'qrcodejs2'
 import { getCookie } from '@/utils/auth'
 import { handleDatetime2 } from '@/utils/global'
+import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 const SER_HZ = /^[\u4e00-\u9fa5]+$/
 export default {
@@ -1133,6 +1268,7 @@
   components: {
     Pagination
   },
+  directives: { elDragDialog, waves },
   data() {
     const validateName = (rule, value, callback) => {
       if (!value) {
@@ -1220,6 +1356,8 @@
 
         startqtySum: '', // 涓嶈兘瓒呰繃鐨勬暟鍊�
 
+        reckway: 'group', // 璁′欢鏂瑰紡
+
         operation: getCookie('navTabId'), // 鎶ュ伐浜猴紙鏀舵枡浜猴級
         remarks: ''// 澶囨敞
 
@@ -1264,6 +1402,9 @@
         ],
         startqty: [
           { required: true, message: '璇疯緭鍏ユ姤宸ユ暟閲�', trigger: ['blur', 'change'] }
+        ],
+        operation: [
+          { required: true, message: '璇烽�夋嫨鎶ュ伐浜哄憳', trigger: ['blur', 'change'] }
         ]
       },
       activeName: '',
@@ -1316,7 +1457,7 @@
       OperationArr: [], // 浜哄憳鏁扮粍
       sendButtonIsDisabled: false, // 涓嬭揪鎸夐挳鏄惁鍙偣鍑�
       judgeIsScanningArr: [], // 鍒ゆ柇鏄惁鎵爜鏁扮粍
-      countJudgeIsScanningInput: 0// 鍒ゆ柇鎵爜妗嗙殑涓暟
+      countJudgeIsScanningInput: 0 // 鍒ゆ柇鎵爜妗嗙殑涓暟
     }
   },
   watch: {
@@ -1364,7 +1505,16 @@
     this.getMesOrderSelectUserAll() // 鑾峰彇鎵�鏈変汉鍛�
   },
   methods: {
-
+    // 璁′欢鏂瑰紡鍊兼敼鍙樻椂
+    reckwayChange() {
+      this.dialogForm.usergroupcode = ''
+      this.dialogForm.operation = ''
+      this.userTableData = []
+      // console.log(this.$refs.dialogForm, 'log')
+      // this.$nextTick(() => {
+      //   this.$refs.dialogForm.resetFields()
+      // })
+    },
     tableRowClassName({ row, rowIndex }) {
       return 'custom-row'
     },
@@ -1781,16 +1931,56 @@
         number = number === 0 ? (10 + Math.random()) : number
         item.isVisible = 0
         item.number = number
+        // item.ratio = parseFloat((100 / this.userTableData.length).toFixed(2))
       })
 
       this.ZZuserArr = [...this.ZZuserArr].filter(x => [...this.userTableData].every(y => y.usercode !== x.usercode))
+
+      this.calculatedValue()
+      this.$refs.tableDataRef.doLayout()
     },
+    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)
+      if (value !== total) {
+        // let temp = this.userTableData
+        // temp[temp.length-1].ratio=temp[temp.length-1].ratio+(total-value)
+        this.userTableData[ this.userTableData.length - 1].ratio = parseFloat((this.userTableData[ this.userTableData.length - 1].ratio + (total - value)).toFixed(2))
+      }
+    },
+    // 淇敼鍒嗛厤姣斿垪
+    editRatio(row) {
+      // console.log(row, 'row')
+      this.userTableData.forEach((item, index) => {
+        if (item.number === row.number) {
+          const number = Math.random() * Math.random()// 浣滀负鍒犻櫎鏃剁殑鏍囪瘑绗�
+
+          this.userTableData.splice(index, 1, {
+            usercode: row.usercode,
+            username: row.username,
+            ratio: row.ratio,
+            isVisible: 2,
+            number: number === 0 ? (10 + Math.random()) : number
+
+          })
+        }
+      })
+    },
+
     // 鐢ㄦ埛娣诲姞
     userAdd() {
+      if (this.userTableData.find(i => i.isVisible === 1)) {
+        return this.$message.info('璇峰厛淇濆瓨褰撳墠琛屼俊鎭紒')
+      }
       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 })
+      this.userTableData.unshift({ usercode: '', username: '', isVisible: 1, number: number, ratio: 0 })
+      this.calculatedValue()
     },
     // 鐢ㄦ埛鍒楄〃鍒犻櫎
     userDel(row) {
@@ -1804,12 +1994,17 @@
           this.userTableData.splice(index, 1)
         }
       })
+
+      this.calculatedValue()
     },
     // 鐢ㄦ埛鍒楄〃淇濆瓨
     userSave(row) {
       console.log(row, 123)
       if (row.usercode === '') {
         return this.$message.info('浜哄憳鍚嶇О涓嶈兘涓虹┖锛�')
+      }
+      if (row.ratio === '') {
+        return this.$message.info('鍒嗛厤姣斿垪涓嶈兘涓虹┖锛�')
       }
 
       this.ZZuserArr.forEach((item, index) => {
@@ -1886,7 +2081,11 @@
 
       this.dialogForm.startqtySum = '' // 涓嶈兘瓒呰繃鐨勬暟鍊�
 
+      this.dialogForm.reckway = '' // 璁′欢鏂瑰紡
+
       this.dialogForm.nextstepcode = '' // 涓嬮亾宸ュ簭缂栫爜
+
+      this.dialogForm.reckway = 'group'
 
       this.dialogForm.remarks = '' // 澶囨敞
       this.dialogForm.operation = getCookie('navTabId') // 鎶ュ伐浜猴紙鏀舵枡浜猴級
@@ -1917,11 +2116,13 @@
               taskqty: this.dialogForm.planqty, // 浠诲姟鏁伴噺
               fqty: this.dialogForm.fqty // 鍙戞枡鏁伴噺
             }
+            this.$store.state.app.buttonIsDisabled = true
             SavaMesOrderStepOut(data).then(res => {
               if (res.code === '200') {
-                this.$message.success('鍙戞枡鎴愬姛锛�')
                 this.dialogVisible = false
+                this.$message.success('鍙戞枡鎴愬姛锛�')
                 this.tabClick()
+                this.$store.state.app.buttonIsDisabled = false
               } else {
                 this.$message.error('鍙戞枡澶辫触!')
               }
@@ -1952,16 +2153,18 @@
               ngqty: this.dialogForm.noputqty === '' ? 0 : this.dialogForm.noputqty, // 涓嶈壇鏁伴噺
               badcode: this.dialogForm.badcode.length < 1 ? '' : this.dialogForm.badcode.join(';')// 涓嶈壇鍘熷洜
             }
+            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 === this.dialogForm.inuser).username)
+                  this.WXprint2(this.OperationArr.find(item => item.usercode === getCookie('navTabId')).username)
                   this.dialogVisible2 = true
                 }
-                this.dialogVisible = false
                 this.tabClick()
+                this.$store.state.app.buttonIsDisabled = false
               } else {
                 this.$message.error('鏀舵枡澶辫触!')
               }
@@ -1978,11 +2181,13 @@
               taskqty: this.dialogForm.planqty, // 浠诲姟鏁伴噺
               startqty: this.dialogForm.startqty// 寮�濮嬫暟閲�
             }
+            this.$store.state.app.buttonIsDisabled = true
             SavaMesOrderStepStart(data).then(res => {
               if (res.code === '200') {
-                this.$message.success('寮�宸ユ垚鍔燂紒')
                 this.dialogVisible = false
+                this.$message.success('寮�宸ユ垚鍔燂紒')
                 this.tabClick()
+                this.$store.state.app.buttonIsDisabled = false
               } else {
                 this.$message.error('寮�宸ュけ璐�!')
               }
@@ -1993,14 +2198,8 @@
             if (parseFloat(this.dialogForm.startqtySum) < parseFloat(this.dialogForm.startqty) + parseFloat(this.dialogForm.noputqty)) {
               return this.$message.info('鎶ュ伐鏁伴噺鍔犱笉鑹暟閲忎笉鑳藉ぇ浜庝簡鏈姤鏁伴噺!')
             }
-            if (this.userTableData.length < 1) {
+            if (this.userTableData.length < 1 && this.dialogForm.reckway === 'group') {
               return this.$message.info('浜哄憳鍒楄〃涓嶈兘涓虹┖!')
-            }
-
-            if (parseFloat(this.dialogForm.noputqty) > 0) {
-              if (this.dialogForm.badcode.length < 1) {
-                return this.$message.info('璇烽�夋嫨涓嶈壇鍘熷洜锛�')
-              }
             }
             // this.userTableData = [...new Set(this.userTableData)]// 鏁扮粍鍘婚噸
             this.userTableData = this.userTableData.filter(item => item.usercode !== '')
@@ -2008,8 +2207,26 @@
             this.userTableData = this.userTableData.filter((currentValue, currentIndex, selfArr) => {
               return selfArr.findIndex(item => item.usercode === currentValue.usercode) === currentIndex
             })
+
+            if (this.dialogForm.reckway === 'group') {
+              let sum = 0
+              this.userTableData.forEach(item => {
+                sum += parseFloat(item.ratio)
+              })
+              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('璇烽�夋嫨涓嶈壇鍘熷洜锛�')
+              }
+            }
+
             // console.log(this.userTableData, 1)
-            const reportuser = this.userTableData.map(item => item.usercode).join(';')
+            // const reportuser = this.userTableData.map(item => item.usercode).join(';')// 涓昏鏀圭殑鏄繖閲岀殑鏍煎紡
+            console.log(this.dialogForm.operation, 'dialogForm.operation')
             const data = {
               mesordercode: this.dialogForm.wo_code, // 宸ュ崟缂栧彿
               partcode: this.dialogForm.partcode, // 浜у搧缂栫爜
@@ -2017,27 +2234,32 @@
               stepcode: this.dialogForm.stepcode, // 宸ュ簭缂栫爜
               eqpcode: this.dialogForm.eqpcode, // 璁惧缂栫爜
               usergroupcode: this.dialogForm.usergroupcode, // 鐝粍缂栫爜
-              reportuser: reportuser, // 鎶ュ伐浜哄憳
+              // reportuser: reportuser, // 鎶ュ伐浜哄憳
+              reportuser: this.dialogForm.reckway === 'group' ? this.userTableData : [{ usercode: this.dialogForm.operation, ratio: 100 }],
               taskqty: this.dialogForm.planqty, // 浠诲姟鏁伴噺
               // startqty: this.dialogForm.startqty, // 寮�宸ユ暟閲�
               startqty: this.dialogForm.reportqty, // 寮�宸ユ暟閲�
               // reportqty: this.dialogForm.reportqty, // 鎶ュ伐鏁伴噺
               reportqty: this.dialogForm.startqty, // 鎶ュ伐鏁伴噺
               remarks: this.dialogForm.remarks, // 澶囨敞
+              reckway: this.dialogForm.reckway, // 璁′欢鏂瑰紡
               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
             SavaMesOrderStepReport(data).then(res => {
               if (res.code === '200') {
+                this.dialogVisible = false
                 this.$message.success('鎶ュ伐鎴愬姛锛�')
-
                 if (this.dialogForm.nextstepcode === '') {
-                  this.ZZprint2(this.OperationArr.find(item => item.usercode === this.dialogForm.operation).username)
+                  this.ZZprint2(this.OperationArr.find(item => item.usercode === getCookie('navTabId')).username)
                   this.dialogVisible2 = true
                 }
-                this.dialogVisible = false
                 this.tabClick()
+                this.$store.state.app.buttonIsDisabled = false
               } else {
                 this.$message.error('鎶ュ伐澶辫触!')
               }
@@ -2123,13 +2345,16 @@
       const data = {
         Data: this.badTableDataDialog
       }
-      EditOrderNgStepSeave(data, this.badDialogForm.operation).then(res => {
+      this.$store.state.app.buttonIsDisabled = true
+      EditOrderNgStepSeave(data, getCookie('navTabId')).then(res => {
         if (res.code === '200' || res.code === '301') {
           this.getBadList()
           this.badDialogVisible = false
-          this.badPrint(this.OperationArr.find(item => item.usercode === this.badDialogForm.operation).username)
+          this.badPrint(this.OperationArr.find(item => item.usercode === getCookie('navTabId')).username)
           this.dialogVisible2 = true
-          return this.$message.success('淇濆瓨鎴愬姛锛�')
+          this.$message.success('淇濆瓨鎴愬姛锛�')
+
+          this.$store.state.app.buttonIsDisabled = false
         }
       })
     },
@@ -2142,7 +2367,7 @@
       this.qrForm.nextstepname = this.badDialogForm.nextstepname
       this.qrForm.operator = username
       this.qrForm.operatorTime = handleDatetime2(new Date())
-      console.log(this.qrForm, 22)
+
       this.$nextTick(() => {
         this.bindQRCode(this.qrForm.qrvalue)
       })

--
Gitblit v1.9.3