From 2fd9231d7768c1955579430a70d3c34f7d9bfa96 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期五, 27 十月 2023 16:19:24 +0800
Subject: [PATCH] 1.MES工单  打印  解决销售单号未出来的问题

---
 src/views/produceManager/workOrder.vue |  342 ++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 208 insertions(+), 134 deletions(-)

diff --git a/src/views/produceManager/workOrder.vue b/src/views/produceManager/workOrder.vue
index 9773266..fa235ca 100644
--- a/src/views/produceManager/workOrder.vue
+++ b/src/views/produceManager/workOrder.vue
@@ -43,7 +43,10 @@
             <el-form-item label="婧愬崟鍗曞彿" style="display: flex;">
               <el-input v-model="form.sourceorder" style="width: 200px" placeholder="璇疯緭鍏�" />
             </el-form-item>
-            <el-form-item label="鍗曟嵁绫诲瀷" style=" display: flex;">
+            <el-form-item label="閿�鍞鍗�" style="display: flex;">
+              <el-input v-model="form.saleordercode" style="width: 200px" placeholder="璇疯緭鍏�" />
+            </el-form-item>
+            <el-form-item v-show="isExpandForm" label="鍗曟嵁绫诲瀷" style=" display: flex;">
               <el-select
                 v-model="form.ordertype"
                 :popper-append-to-body="false"
@@ -197,6 +200,18 @@
             </template>
           </el-table-column>
           <el-table-column
+            prop="saleOrderCode"
+            label="閿�鍞鍗�"
+            sortable="custom"
+            show-tooltip-when-overflow
+            min-width="160"
+          >
+            <template slot-scope="{row}">
+              <div v-if="row.saleOrderCode">{{ row.saleOrderCode }}</div>
+              <div v-else>/</div>
+            </template>
+          </el-table-column>
+          <el-table-column
             prop="wotype"
             label="鍗曟嵁绫诲瀷"
             sortable="custom"
@@ -345,7 +360,7 @@
                     :style="{color:$store.state.settings.theme}"
                     class="el-icon-printer"
                     style="cursor: pointer;margin-right: 15px"
-                    @click="handlePrint(row.wo_code)"
+                    @click="handlePrint(row.wo_code,row.saleOrderCode)"
                   />
                 </el-tooltip>
                 <el-tooltip v-del-tab-index class="item" effect="dark" content="鍒犻櫎" placement="top">
@@ -368,6 +383,22 @@
       />
 
       <div class="elTableDiv">
+
+        <div
+          v-if="$store.state.settings.orgType === 'W'"
+          style="position:absolute;z-index: 1000;left: 20px;top: -50px"
+        >
+          <el-switch
+            v-model="switchButton"
+            style="display: block"
+            active-text="鎵�鏈夎溅闂�"
+            inactive-text="褰撳墠杞﹂棿"
+            @change="rowClick"
+          />
+          <!--          active-color="#13ce66"-->
+          <!--          inactive-color="#ff4949"-->
+        </div>
+
         <el-table
           :data="tableDataDetail"
           border
@@ -510,43 +541,49 @@
           <!--          <el-input v-model="dialogForm.mesordercode" :disabled="operation!=='add'" style="width: 200px" />-->
           <el-input v-model="dialogForm.mesordercode" disabled style="width: 200px" />
         </el-form-item>
-        <div style="display: flex">
-          <el-form-item label="宸ュ崟绫诲瀷" prop="mesorderstus">
-            <el-select
-              v-model="dialogForm.ordertype"
-              :popper-append-to-body="false"
-              style="width: 200px"
-              :disabled="operation!=='add'"
-              placeholder="璇烽�夋嫨"
-              @change="mesordertypeChange"
-            >
-
-              <el-option
-                v-for="item in ordertypeArr"
-                :key="item.code"
-                :label="item.name"
-                :value="item.code"
-              />
-            </el-select>
-          </el-form-item>
-          <div style="display: flex;flex-wrap: nowrap">
-            <el-form-item label="婧愬崟鍗曞彿">
-              <el-input
-                v-model="dialogForm.sourceorder"
-                :disabled="dialogForm.ordertype==='PO'"
-                style="width: 172px"
-              />
-            </el-form-item>
+        <!--        <div style="display: flex">-->
+        <el-form-item label="宸ュ崟绫诲瀷" prop="mesorderstus">
+          <el-select
+            v-model="dialogForm.ordertype"
+            :popper-append-to-body="false"
+            style="width: 200px"
+            :disabled="operation!=='add'"
+            placeholder="璇烽�夋嫨"
+            @change="mesordertypeChange"
+          >
+            <el-option
+              v-for="item in ordertypeArr"
+              :key="item.code"
+              :label="item.name"
+              :value="item.code"
+            />
+          </el-select>
+        </el-form-item>
+        <!--          <div style="display: flex;flex-wrap: nowrap">-->
+        <el-form-item label="婧愬崟鍗曞彿">
+          <el-input
+            v-model="dialogForm.sourceorder"
+            :disabled="dialogForm.ordertype==='PO'"
+            style="width: 200px"
+          >
             <el-button
-              v-waves
-              type="primary"
-              style="padding: 0 10px;margin-left: -8px;margin-top: 3px"
-              class="el-icon-search"
+              slot="append"
+              icon="el-icon-search"
               :disabled="operation!=='add'||dialogForm.ordertype==='PO'"
               @click="mesordertsourcesearchclick"
             />
-          </div>
-        </div>
+          </el-input>
+        </el-form-item>
+        <!--            <el-button-->
+        <!--              v-waves-->
+        <!--              type="primary"-->
+        <!--              style="padding: 0 10px;margin-left: -8px;margin-top: 3px"-->
+        <!--              class="el-icon-search"-->
+        <!--              :disabled="operation!=='add'||dialogForm.ordertype==='PO'"-->
+        <!--              @click="mesordertsourcesearchclick"-->
+        <!--            />-->
+        <!--          </div>-->
+        <!--        </div>-->
         <el-form-item label="宸ュ崟鏁伴噺" prop="mesqty">
           <el-input
             v-model="dialogForm.mesqty"
@@ -586,118 +623,119 @@
         <el-form-item label="浜у搧瑙勬牸" prop="partspec">
           <el-input v-model="dialogForm.partspec" disabled style="width: 200px" />
         </el-form-item>
-        <div style="display: flex">
-          <el-form-item label="鐢熶骇杞﹂棿" prop="wkshopcode">
-            <el-select
-              v-model="dialogForm.wkshopcode"
-              filterable
-              :popper-append-to-body="false"
-              style="width: 200px;"
-              placeholder="璇烽�夋嫨"
-              :disabled="dialogForm.partcode===''"
-              @change="val=>wkshopcodeChange(val,dialogForm.partcode)"
-            >
-              <el-option
-                v-for="item in wkshopArr"
-                :key="item.org_code"
-                :label="item.org_name"
-                :value="item.org_code"
-              />
-            </el-select>
-          </el-form-item>
-          <div style="display: flex;flex-wrap: nowrap">
-            <el-form-item label="宸ヨ壓璺嚎" prop="routecode">
-              <el-select
-                v-model="dialogForm.routecode"
-                filterable
-                :popper-append-to-body="false"
-                style="width: 172px"
-                placeholder="璇烽�夋嫨"
-                :disabled="dialogForm.wkshopcode===''"
-                @change="routecodeChange"
-              >
-                <el-option
-                  v-for="item in routeArr"
-                  :key="item.code"
-                  :label="item.name"
-                  :value="item.code"
-                />
-              </el-select>
-            </el-form-item>
-            <el-button
-              v-waves
-              type="primary"
-              style="padding: 0 10px;margin-left: -8px;margin-top:3px"
-              class="el-icon-search"
-              @click="searchClick"
-            />
-            <!--            :disabled="dialogForm.routecode===''"-->
-
-          </div>
-        </div>
-        <el-form-item label="鏄惁鎺掔▼" prop="isAps">
-          <el-radio-group v-model="dialogForm.isAps" style="width:200px" @change="changeIsAps">
-            <el-radio key="Y" label="Y" value="Y">鏄�</el-radio>
-            <el-radio key="N" label="N" value="N">鍚�</el-radio>
-          </el-radio-group>
-        </el-form-item>
-        <el-form-item label="鐗╂枡娓呭崟" :prop="dialogForm.isAps==='Y'?'bomId':''">
+        <!--        <div style="display: flex">-->
+        <el-form-item label="鐢熶骇杞﹂棿" prop="wkshopcode">
           <el-select
-            v-model="dialogForm.bomId"
+            v-model="dialogForm.wkshopcode"
             filterable
-            :disabled="dialogForm.isAps==='N'"
             :popper-append-to-body="false"
             style="width: 200px;"
             placeholder="璇烽�夋嫨"
+            :disabled="dialogForm.partcode===''"
+            @change="val=>wkshopcodeChange(val,dialogForm.partcode)"
           >
             <el-option
-              v-for="item in bomIdArr"
-              :key="item.id"
-              :label="item.version"
-              :value="item.id"
+              v-for="item in wkshopArr"
+              :key="item.org_code"
+              :label="item.org_name"
+              :value="item.org_code"
             />
           </el-select>
         </el-form-item>
-        <el-form-item label="璁″垝寮�濮嬫椂闂�" prop="planstartdate">
-          <el-date-picker
-            v-model="dialogForm.planstartdate"
-            type="date"
-            :clearable="false"
-            value-format="yyyy-MM-dd"
-            :picker-options="pickerOptions"
-            style="width: 200px"
-            placeholder="閫夋嫨鏃ユ湡"
-          />
-        </el-form-item>
-        <el-form-item label="璁″垝瀹屾垚鏃堕棿" prop="planenddate">
-          <el-date-picker
-            v-model="dialogForm.planenddate"
-            type="date"
-            :clearable="false"
-            value-format="yyyy-MM-dd"
-            style="width: 200px"
-            placeholder="閫夋嫨鏃ユ湡"
-            :picker-options="pickerOptions"
-          />
-        </el-form-item>
-        <el-form-item label="宸ュ崟绛夌骇" prop="orderlev">
+
+        <!--          <div style="display: flex;flex-wrap: nowrap">-->
+        <el-form-item label="宸ヨ壓璺嚎" prop="routecode">
           <el-select
-            v-model="dialogForm.orderlev"
+            v-model="dialogForm.routecode"
             filterable
             :popper-append-to-body="false"
             style="width: 200px"
             placeholder="璇烽�夋嫨"
+            :disabled="dialogForm.wkshopcode===''"
+            @change="routecodeChange"
           >
             <el-option
-              v-for="item in orderlevArr"
+              v-for="item in routeArr"
               :key="item.code"
               :label="item.name"
               :value="item.code"
             />
           </el-select>
         </el-form-item>
+        <el-form-item label="宸ヤ环绠℃帶" required>
+          <el-switch
+            v-model="dialogForm.is_steprice"
+            active-color="#13ce66"
+            inactive-color="#eee"
+            @change="routecodeChange"
+          />
+        </el-form-item>
+        <!--        <el-form-item label="鏄惁鎺掔▼" prop="isAps">-->
+        <!--          <el-radio-group v-model="dialogForm.isAps" style="width:200px" @change="changeIsAps">-->
+        <!--            <el-radio key="Y" label="Y" value="Y">鏄�</el-radio>-->
+        <!--            <el-radio key="N" label="N" value="N">鍚�</el-radio>-->
+        <!--          </el-radio-group>-->
+        <!--        </el-form-item>-->
+        <!--        <el-form-item label="鐗╂枡娓呭崟" :prop="dialogForm.isAps==='Y'?'bomId':''">-->
+        <!--          <el-select-->
+        <!--            v-model="dialogForm.bomId"-->
+        <!--            filterable-->
+        <!--            :disabled="dialogForm.isAps==='N'"-->
+        <!--            :popper-append-to-body="false"-->
+        <!--            style="width: 200px;"-->
+        <!--            placeholder="璇烽�夋嫨"-->
+        <!--          >-->
+        <!--            <el-option-->
+        <!--              v-for="item in bomIdArr"-->
+        <!--              :key="item.id"-->
+        <!--              :label="item.version"-->
+        <!--              :value="item.id"-->
+        <!--            />-->
+        <!--          </el-select>-->
+        <!--        </el-form-item>-->
+        <!--        <el-form-item label="璁″垝寮�濮嬫椂闂�" prop="planstartdate">-->
+        <!--          <el-date-picker-->
+        <!--            v-model="dialogForm.planstartdate"-->
+        <!--            type="date"-->
+        <!--            :clearable="false"-->
+        <!--            value-format="yyyy-MM-dd"-->
+        <!--            :picker-options="pickerOptions"-->
+        <!--            style="width: 200px"-->
+        <!--            placeholder="閫夋嫨鏃ユ湡"-->
+        <!--          />-->
+        <!--        </el-form-item>-->
+        <!--        <el-form-item label="璁″垝瀹屾垚鏃堕棿" prop="planenddate">-->
+        <!--          <el-date-picker-->
+        <!--            v-model="dialogForm.planenddate"-->
+        <!--            type="date"-->
+        <!--            :clearable="false"-->
+        <!--            value-format="yyyy-MM-dd"-->
+        <!--            style="width: 200px"-->
+        <!--            placeholder="閫夋嫨鏃ユ湡"-->
+        <!--            :picker-options="pickerOptions"-->
+        <!--          />-->
+        <!--        </el-form-item>-->
+        <!--        <el-form-item label="宸ュ崟绛夌骇" prop="orderlev">-->
+        <!--          <el-select-->
+        <!--            v-model="dialogForm.orderlev"-->
+        <!--            filterable-->
+        <!--            :popper-append-to-body="false"-->
+        <!--            style="width: 200px"-->
+        <!--            placeholder="璇烽�夋嫨"-->
+        <!--          >-->
+        <!--            <el-option-->
+        <!--              v-for="item in orderlevArr"-->
+        <!--              :key="item.code"-->
+        <!--              :label="item.name"-->
+        <!--              :value="item.code"-->
+        <!--            />-->
+        <!--          </el-select>-->
+        <!--        </el-form-item>-->
 
       </el-form>
+      <div style="display: flex;justify-content: flex-end;margin-top: -50px;">
+        {{ routeStepArr }}
+      </div>
 
       <!--        宸ヨ壓璺嚎鏀惧ぇ闀滃璇濇-->
       <el-dialog
@@ -1246,11 +1284,14 @@
               style="display: flex;justify-content: space-between"
             >
               <div class="elForm">
-                <el-form-item label="宸ュ崟缂栧彿:" class="formContent">
-                  {{ formApprove.mesordercode }}
+                <el-form-item label="閿�鍞崟鍙�:" class="formContent">
+                  {{ formApprove.saleOrderCode }}
                 </el-form-item>
                 <el-form-item label="婧愬崟鍗曞彿:" class="formContent">
                   {{ formApprove.m_po }}
+                </el-form-item>
+                <el-form-item label="宸ュ崟缂栧彿:" class="formContent">
+                  {{ formApprove.mesordercode }}
                 </el-form-item>
                 <el-form-item label="浜у搧缂栫爜:" class="formContent">
                   {{ formApprove.partcode }}
@@ -1999,6 +2040,7 @@
         partcode: '', // 浜у搧缂栫爜
         ordertype: '', // ordertype
         sourceorder: '', // 婧愬崟鍗曞彿
+        saleordercode: '', // 閿�鍞鍗�
         partname: '', // 浜у搧鍚嶇О
         partspec: '', // 浜у搧瑙勬牸
         creatuser: '', // 鍒涘缓浜哄憳
@@ -2037,6 +2079,9 @@
         mesqty: '', // 宸ュ崟鏁伴噺
 
         routecode: '', // 宸ヨ壓璺嚎缂栫爜
+
+        is_steprice: false, // 鏄惁宸ヤ环绠$悊
+
         wkshopcode: '', // 鐢熶骇杞﹂棿缂栫爜
         planstartdate: '', // 璁″垝寮�濮嬫椂闂�
         planenddate: '', // 璁″垝瀹屾垚鏃堕棿
@@ -2217,7 +2262,11 @@
 
       isLastPrint: false, // 鏄惁鏄湯閬撴墦鍗�
       lastPrintArr: [], // 鏈亾鎵撳嵃鐨勬暟缁�(鎵�鏈�)
-      lastPrintArrSelected: []// 鏈亾鎵撳嵃鐨勬暟缁�(閫変腑)
+      lastPrintArrSelected: [], // 鏈亾鎵撳嵃鐨勬暟缁�(閫変腑)
+
+      switchButton: false,
+
+      routeStepArr: ''
     }
   },
   created() {
@@ -2255,6 +2304,7 @@
         partspec: this.form.partspec, // 浜у搧瑙勬牸
         creatuser: this.form.creatuser, // 鍒涘缓浜哄憳
         sourceorder: this.form.sourceorder, // 婧愬崟鍗曞彿
+        saleordercode: this.form.saleordercode, // 閿�鍞鍗�
         ordertype: this.form.ordertype, // 鍗曟嵁绫诲瀷
         createdate: this.form.createdate.toString().length > 0 ? handleDatetime(this.form.createdate) : '', // 鍒涘缓鏃堕棿
         prop: this.form.prop, // 鎺掑簭瀛楁
@@ -2318,6 +2368,7 @@
       this.form.paydate = ''
       this.form.creatuser = ''
       this.form.sourceorder = ''
+      this.form.saleordercode = ''
       this.form.creatuser = ''
       this.form.ordertype = ''
       this.getMesOrderSearch()
@@ -2369,11 +2420,28 @@
       // this.submitButtonIsDisabled = false
     },
     // 宸ヨ壓璺嚎鍊兼敼鍙�
-    async routecodeChange(partcode, routecode) {
-      // const data = {
-      //   partcode,
-      //   routecode
-      // }
+    async routecodeChange() {
+      if (this.dialogForm.routecode) {
+        const data = {
+          partcode: this.dialogForm.partcode,
+          routecode: this.dialogForm.routecode,
+          wkshopcode: this.dialogForm.wkshopcode,
+          is_steprice: this.dialogForm.is_steprice ? 'Y' : 'N'
+        }
+        await SelectRouteOrWkshop(data).then((res) => {
+          console.log(res, 1)
+
+          SelectRouteStep({ routecode: this.dialogForm.routecode }).then(res2 => {
+            console.log(res2)
+            this.routeStepArr = res2.data.map(i => i.stepname).join('锛�')
+          })
+
+          this.submitButtonIsDisabled = false
+        }).catch(err => {
+          // console.log(err, 2)
+          this.submitButtonIsDisabled = true
+        })
+      }
     },
     // 鐢熶骇杞﹂棿鍊兼敼鍙樻椂
     async  wkshopcodeChange(wkshopcode, partcode) {
@@ -2387,6 +2455,7 @@
 
       if (res.length === 1) {
         this.dialogForm.routecode = res[0].code
+        await this.routecodeChange()
       } else {
         this.dialogForm.routecode = ''
       }
@@ -2541,6 +2610,7 @@
     },
     // 瀵硅瘽妗嗗叧闂簨浠�
     handleClose() {
+      this.routeStepArr = ''
       this.dialogForm.partname = '' // 浜у搧鍚嶇О
       this.dialogForm.partspec = '' // 浜у搧瑙勬牸
       this.dialogForm.wkshopname = '' // 鐢熶骇杞﹂棿鍚嶇О
@@ -2556,6 +2626,7 @@
 
       this.dialogForm.routecode = '' // 宸ヨ壓璺嚎缂栫爜
       this.dialogForm.wkshopcode = '' // 鐢熶骇杞﹂棿缂栫爜
+      this.dialogForm.is_steprice = false// 鏄惁宸ヤ环绠$悊
       this.dialogForm.planstartdate = '' // 璁″垝寮�濮嬫椂闂�
       this.dialogForm.planenddate = '' // 璁″垝瀹屾垚鏃堕棿
       this.dialogForm.orderlev = '' // 宸ュ崟绛夌骇
@@ -2664,11 +2735,12 @@
       this.dialogVisibleSearch = false
     },
     // 澶勭悊鎵撳嵃
-    handlePrint(wo_code) {
+    handlePrint(wo_code, saleOrderCode) {
       // const number = Math.random() * Math.random()
       // this.number = number === 0 ? (10 + Math.random()) : number
       // console.log(number)
-
+      console.log(this.formApprove.saleOrderCode, 321)
+      this.formApprove.saleOrderCode = this.formApprove.saleOrderCode !== '' ? this.formApprove.saleOrderCode : saleOrderCode
       const data2 = {
         username: getCookie('admin'),
         mesordercode: wo_code || this.dialogForm.mesordercode
@@ -2756,6 +2828,7 @@
 
     dialogVisibleConfirmClose() {
       // this.dialogForm.mesordercode = ''
+      this.formApprove.saleOrderCode = ''
       this.formApprove.mesordercode = ''
       this.formApprove.m_po = ''
       this.formApprove.partcode = ''
@@ -3053,8 +3126,9 @@
     },
     //  琛岀偣鍑讳簨浠�
     async rowClick(row, event, column) {
-      this.radioSelected = row.wo_code
-      const { data: res } = await SearchWorkStep({ wo_code: row.wo_code })
+      this.formApprove.saleOrderCode = row.saleOrderCode
+      this.radioSelected = row.wo_code ? row.wo_code : this.radioSelected
+      const { data: res } = await SearchWorkStep({ wo_code: this.radioSelected, storg_code: this.$store.state.settings.orgType === 'W' ? (this.switchButton ? '' : getCookie('stu_torgcode')) : '' })
       this.tableDataDetail = res
     },
     // 鎵撳嵃宸ュ崟

--
Gitblit v1.9.3