From 019f1c8bac7e8986d299aff70c123dedc1747d72 Mon Sep 17 00:00:00 2001
From: admin <15939171744@163.com>
Date: 星期四, 06 六月 2024 11:15:10 +0800
Subject: [PATCH] -

---
 jcdm-ui/src/views/main/om/productionOrde/index.vue |  487 ++++++++++++++++++++++++++++++------------------------
 1 files changed, 271 insertions(+), 216 deletions(-)

diff --git a/jcdm-ui/src/views/main/om/productionOrde/index.vue b/jcdm-ui/src/views/main/om/productionOrde/index.vue
index 5c5df66..f40770e 100644
--- a/jcdm-ui/src/views/main/om/productionOrde/index.vue
+++ b/jcdm-ui/src/views/main/om/productionOrde/index.vue
@@ -28,6 +28,14 @@
           />
         </el-select>
       </el-form-item>
+      <div style="display: none">
+        <div id="printMe" style="width: 500px;">
+          <div ref="canvasWrapper" id="canvasWrapper" style="display: flex;justify-content: center;"></div>
+          <p style="font-size: 10px;word-break: break-all;display: flex;justify-content: center;">{{packCode}}</p>
+        </div>
+        <el-button @click="print">鎵撳嵃</el-button>
+        <el-button @click="test1">鐢熸垚浜岀淮鐮�</el-button>
+      </div>
       <el-form-item style="float: right">
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
         <el-button type="warning" icon="el-icon-copy-document" size="mini" @click="advancedQuery">楂樼骇鏌ヨ</el-button>
@@ -38,7 +46,7 @@
       <el-form-item style="margin-left: 14px" label="浜у搧缂栧彿" prop="productCode">
         <el-input
           v-model="queryParams.productCode"
-          placeholder="璇疯緭鍏ヤ骇鍝佺紪鍙�"
+          placeholder="璇疯緭鍏ヤ骇鍝佸簭鍒楀彿"
           clearable
           @keyup.enter.native="handleQuery"
         />
@@ -51,43 +59,18 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="杞﹂棿缂栧彿" prop="workshopCode">
+      <el-form-item label="宸ュ巶缂栧彿" prop="siteCode">
         <el-input
-          v-model="queryParams.workshopCode"
-          placeholder="璇疯緭鍏ヨ溅闂寸紪鍙�"
+          v-model="queryParams.siteCode"
+          placeholder="璇疯緭鍏ュ伐鍘傜紪鍙�"
           clearable
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="浜х嚎缂栧彿" prop="lineCode">
+      <el-form-item label="宸ョ珯缂栧彿" prop="stationCode">
         <el-input
-          v-model="queryParams.lineCode"
-          placeholder="璇疯緭鍏ヤ骇绾跨紪鍙�"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item style="margin-left: 7px" label-width="80" label="浜у搧BOM" prop="bomCode">
-        <el-input
-          v-model="queryParams.bomCode"
-          placeholder="璇疯緭鍏ヤ骇鍝丅OM"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="宸ヨ壓娴佺▼" prop="routeCode">
-        <el-input
-          v-model="queryParams.routeCode"
-          placeholder="璇疯緭鍏ュ伐鑹烘祦绋�"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-
-      <el-form-item label="宸ヨ壓閰嶆柟" prop="recipeCode">
-        <el-input
-          v-model="queryParams.recipeCode"
-          placeholder="璇疯緭鍏ュ伐鑹洪厤鏂�"
+          v-model="queryParams.stationCode"
+          placeholder="璇疯緭鍏ュ伐绔欑紪鍙�"
           clearable
           @keyup.enter.native="handleQuery"
         />
@@ -119,15 +102,21 @@
         >淇敼</el-button>
       </el-col>
       <el-col :span="1.5">
+<!--        <el-button-->
+<!--          type="danger"-->
+<!--          plain-->
+<!--          icon="el-icon-delete"-->
+<!--          size="mini"-->
+<!--          :disabled="multiple"-->
+<!--          @click="handleDelete"-->
+<!--          v-hasPermi="['om:productionOrde:remove']"-->
+<!--        >鍒犻櫎</el-button>-->
         <el-button
-          type="danger"
-          plain
-          icon="el-icon-delete"
+          type="info"
+          icon="el-icon-upload2"
           size="mini"
-          :disabled="multiple"
-          @click="handleDelete"
-          v-hasPermi="['om:productionOrde:remove']"
-        >鍒犻櫎</el-button>
+          @click="handleImport"
+        >瀵煎叆</el-button>
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -143,11 +132,10 @@
         <el-button
           type="warning"
           plain
-          icon="el-icon-upload2"
-          :disabled="move"
+          icon="el-icon-download"
           size="mini"
-          @click="moveUp(val => val, 'up')"
-        >涓婄Щ</el-button>
+          @click="getWorkOrders"
+        >鎺ユ敹</el-button>
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -155,9 +143,19 @@
           plain
           icon="el-icon-download"
           size="mini"
-          :disabled="move"
-          @click="moveUp(val => val, 'down')"
-        >涓嬬Щ</el-button>
+          :disabled="single"
+          @click="patchwork"
+        >琛ユ墦</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          :disabled="single"
+          @click="jieBang"
+        >瑙g粦</el-button>
       </el-col>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
@@ -171,87 +169,41 @@
             </router-link>
           </template>
         </el-table-column>
-        <el-table-column label="璁㈠崟缂栧彿" width="140" align="center" prop="salesOrderCode">
+<!--        <el-table-column label="璁㈠崟缂栧彿" width="140" align="center" prop="salesOrderCode">-->
+<!--        </el-table-column>-->
+        <el-table-column :show-overflow-tooltip='true' label="pack鐮�" width="220" align="center" prop="productNum">
         </el-table-column>
-        <el-table-column label="浜у搧缂栧彿" width="140" align="center" prop="productCode">
+        <el-table-column :show-overflow-tooltip='true' label="灏忚溅鐮�" width="160" align="center" prop="trolleyYard">
         </el-table-column>
-        <el-table-column label="浜у搧鍚嶇О" width="160" align="center" prop="productName">
+        <el-table-column label="浜у搧缂栧彿" width="110" align="center" prop="productCode">
         </el-table-column>
-        <el-table-column label="宸ュ崟鐘舵��" align="center" prop="orderStatus">
-          <template slot-scope="scope">
-            <dict-tag :options="dict.type.order_state" :value="scope.row.orderStatus"/>
-          </template>
+        <el-table-column label="浜у搧鍚嶇О" width="120" align="center" prop="productName">
         </el-table-column>
-        <el-table-column label="杞﹂棿缂栧彿" align="center" prop="workshopCode">
+        <el-table-column label="浜у搧鍨嬪彿" align="center" prop="productModel">
         </el-table-column>
-        <el-table-column label="浜х嚎缂栧彿" align="center" prop="lineCode">
+<!--        <el-table-column label="宸ュ崟鐘舵��" width="100" align="center" prop="orderStatus">-->
+<!--          <template slot-scope="scope">-->
+<!--            <dict-tag :options="dict.type.order_state" :value="scope.row.orderStatus"/>-->
+<!--          </template>-->
+<!--        </el-table-column>-->
+<!--        <el-table-column label="宸ュ巶缂栧彿" align="center" prop="siteCode">-->
+<!--        </el-table-column>-->
+        <el-table-column label="宸ョ珯缂栧彿" align="center" prop="stationCode">
         </el-table-column>
-        <el-table-column label="宸ヨ壓娴佺▼" width="140" align="center" prop="routeCode">
-        </el-table-column>
-        <el-table-column label="浜у搧BOM" width="140" align="center" prop="bomCode">
-        </el-table-column>
-        <el-table-column label="宸ヨ壓閰嶆柟" width="140" align="center" prop="recipeCode">
-        </el-table-column>
-        <el-table-column label="璁″垝鏁伴噺" align="center" prop="planQty">
-        </el-table-column>
-        <el-table-column label="瀹為檯鏁伴噺" align="center" prop="actualQty">
-        </el-table-column>
-        <el-table-column label="瀹為檯涓婄嚎鏁伴噺" width="100" align="center" prop="actualOnlineQty">
-        </el-table-column>
-        <el-table-column label="闇�姹傛棩鏈�" align="center" prop="demandDate" width="180">
-        </el-table-column>
-        <el-table-column label="璁″垝寮�濮嬫椂闂�" width="160" align="center" prop="planStartTime">
-        </el-table-column>
-        <el-table-column label="璁″垝缁撴潫鏃堕棿" width="160" align="center" prop="planEndTime">
-        </el-table-column>
-        <el-table-column label="瀹為檯寮�濮嬫椂闂�" width="160" align="center" prop="actualStartTime">
-        </el-table-column>
-        <el-table-column label="瀹為檯缁撴潫鏃堕棿" width="160" align="center" prop="actualEndTime">
-        </el-table-column>
-        <el-table-column width="160" label="鍒涘缓鏃堕棿" align="center" prop="createTime">
-        </el-table-column>
-        <el-table-column width="160" label="鏇存柊鏃堕棿" align="center" prop="updateTime">
-        </el-table-column>
-        <el-table-column label="鍒涘缓浜�" width="80" align="center" prop="createUser">
-        </el-table-column>
-        <el-table-column label="淇敼浜�" width="80" align="center" prop="updateUser">
-        </el-table-column>
-        <el-table-column label="澶囨敞" width="100" align="center" prop="remarks">
-        </el-table-column>
-        <el-table-column label="娴佹按鍙�" align="center" prop="streamNumber">
-        </el-table-column>
-        <el-table-column label="瀹㈡埛" width="80" align="center" prop="custom">
-        </el-table-column>
-        <el-table-column fixed="right" width="350" label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
-          <template slot-scope="scope">
-            <!--  宸ュ崟鐘舵�侊紙1鍒涘缓銆�2宸插彂甯冦��3鐢熶骇涓��4宸插喕缁撱��5宸插畬宸ャ��6宸插叧闂級 -->
-            <el-button type="success" :disabled="scope.row.orderStatus !== '1'"  style="width: 72px" plain @click="handleCommand('3',scope.row.id)" size="mini">寮�濮�</el-button>
-            <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '2' && scope.row.orderStatus !== '3'" v-if="scope.row.orderStatus !== '2'&&  scope.row.orderStatus !== '4'" plain @click="handleCommand('4',scope.row.id)" type="warning" size="mini">鍐荤粨</el-button>
-            <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '4'" v-if="scope.row.orderStatus === '4'" plain @click="handleCommand('3',scope.row.id)" type="warning" size="mini">瑙e喕</el-button>
-            <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '1'" plain @click="handleCommand('6',scope.row.id)" v-if="scope.row.orderStatus === '1'||scope.row.orderStatus === '3'||scope.row.orderStatus === '4'||scope.row.orderStatus === '5'" type="danger" size="mini">鍏抽棴</el-button>
-            <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '6'" plain @click="handleCommand('1',scope.row.id)" v-if="scope.row.orderStatus === '6' " type="success" size="mini">鍚敤</el-button>
-<!--            <el-button-->
-<!--              :disabled="scope.row.orderStatus !== '1'"-->
-<!--              size="mini"-->
-<!--              type="success"-->
-<!--              style="width: 72px"-->
-<!--              icon="el-icon-edit"-->
-<!--              @click="handleUpdate(scope.row)"-->
-<!--              v-hasPermi="['om:productionOrde:edit']"-->
-<!--            >淇敼</el-button>-->
-<!--            <el-button-->
-<!--              :disabled="scope.row.orderStatus !== '1'"-->
-<!--              size="mini"-->
-<!--              type="warning"-->
-<!--              style="width: 72px"-->
-<!--              icon="el-icon-delete"-->
-<!--              @click="handleDelete(scope.row)"-->
-<!--              v-hasPermi="['om:productionOrde:remove']"-->
-<!--            >鍒犻櫎</el-button>-->
-            <el-button style="width: 72px" :disabled="scope.row.orderStatus === '4'||scope.row.orderStatus === '6'" v-if="scope.row.orderStatus !== '5'" @click="handleCommand('5',scope.row.id)" type="success" size="mini">瀹屾垚</el-button>
-            <el-button style="width: 72px" :disabled="scope.row.orderStatus === '5'" v-if="scope.row.orderStatus === '5'" type="success" size="mini">宸插畬宸�</el-button>            <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '6'" plain @click="handleCommand('1',scope.row.id)" v-if="scope.row.orderStatus === '6' " type="success" size="mini">鍚敤</el-button>
-          </template>
-        </el-table-column>
+<!--        <el-table-column label="鎶ュ伐淇℃伅缁撴灉" width="110" align="center" prop="resultText">-->
+<!--        </el-table-column>-->
+<!--        <el-table-column label="鎶ュ伐缁撴灉浠g爜" width="110" align="center" prop="resultCode">-->
+<!--        </el-table-column>-->
+<!--        <el-table-column label="鏄惁鎶ュ伐" width="80" align="center" prop="sfResult">-->
+<!--        </el-table-column>-->
+<!--        <el-table-column label="瀹為檯寮�濮嬫椂闂�" width="160" align="center" prop="actualStartTime">-->
+<!--        </el-table-column>-->
+<!--        <el-table-column label="褰撳墠绔欑偣鎶ュ伐鏃堕棿" width="160" align="center" prop="actualEndTime">-->
+<!--        </el-table-column>-->
+<!--        <el-table-column label="鍒涘缓浜�" width="80" align="center" prop="createUser">-->
+<!--        </el-table-column>-->
+<!--        <el-table-column label="澶囨敞" width="100" align="center" prop="remarks">-->
+<!--        </el-table-column>-->
       </el-table>
     </el-card>
 
@@ -265,93 +217,40 @@
     />
 
     <!-- 娣诲姞鎴栦慨鏀圭敓浜у伐鍗曞璇濇 -->
-    <el-dialog v-dialogpop-up :title="title" :visible.sync="open" width="1000px" append-to-body>
+    <el-dialog v-dialogpop-up :title="title" :visible.sync="open" width="500px" append-to-body>
        <span slot="title">
         <i class="el-icon-s-order"></i>
         {{titleName}}
       </span>
-      <el-form ref="form" inline :model="form" :rules="rules" label-width="80px">
-        <el-form-item label="宸ュ崟鍙�" prop="workOrderNo">
-          <el-input v-model="form.workOrderNo" placeholder="璇疯緭鍏ョ敓浜у伐鍗曞彿" />
+      <el-form ref="form" inline :model="form" :rules="rules" label-width="100px">
+        <el-form-item label="鐢熶骇宸ュ崟鍙�" prop="workOrderNo">
+          <el-input style="width: 265px" v-model="form.workOrderNo" placeholder="璇疯緭鍏ョ敓浜у伐鍗曞彿" />
         </el-form-item>
         <el-form-item label="璁㈠崟缂栧彿" prop="salesOrderCode">
-          <el-input v-model="form.salesOrderCode" placeholder="璇疯緭鍏ヨ鍗曠紪鍙�" />
+          <el-input style="width: 265px" v-model="form.salesOrderCode" placeholder="璇疯緭鍏ヨ鍗曠紪鍙�" />
         </el-form-item>
-        <el-form-item label="浜у搧缂栧彿" prop="productCode">
+        <el-form-item label="浜у搧搴忓垪鍙�" prop="productNum">
           <el-input v-model="form.productCode" placeholder="璇烽�夋嫨浜у搧" >
             <el-button slot="append" @click="handleSelectProduct" icon="el-icon-search"></el-button>
           </el-input>
           <ItemSelect ref="itemSelect" @onSelected="onItemSelected" > </ItemSelect>
         </el-form-item>
         <el-form-item label="浜у搧鍚嶇О" prop="productName">
-          <el-input v-model="form.productName" disabled placeholder="璇疯緭鍏ヤ骇鍝佸悕绉�" />
+          <el-input style="width: 265px" v-model="form.productName" disabled placeholder="璇疯緭鍏ヤ骇鍝佸悕绉�" />
         </el-form-item>
-        <el-form-item label="杞﹂棿缂栧彿" prop="workshopCode">
-          <el-select style="width: 93%" @change="handleSelectChange(form.workshopCode)" v-model="form.workshopCode" placeholder="璇烽�夋嫨杞﹂棿缂栧彿">
-            <el-option
-              v-for="item in options"
-              :key="item.workshopCode"
-              :label="item.workshopName"
-              :value="item.workshopCode">
-            </el-option>
-          </el-select>
+        <el-form-item label="浜у搧鍨嬪彿" prop="productModel">
+          <el-input v-model="form.productModel" placeholder="璇疯緭鍏ヤ骇鍝佸瀷鍙�" />
         </el-form-item>
-        <el-form-item style="margin-left: -15px" label="浜х嚎缂栧彿" prop="lineCode">
-          <el-select style="width: 93%" v-model="form.lineCode" placeholder="璇烽�夋嫨浜х嚎缂栧彿">
-            <el-option
-              v-for="item in lineOptions"
-              :key="item.lineCode"
-              :label="item.lineName"
-              :value="item.lineCode">
-            </el-option>
-          </el-select>
+        <el-form-item label="宸ュ巶缂栧彿" prop="siteCode">
+          <el-input style="width: 265px" v-model="form.siteCode" placeholder="璇疯緭鍏ュ伐鍘傜紪鍙�" />
         </el-form-item>
-        <el-form-item label="宸ヨ壓娴佺▼" prop="routeCode">
-          <el-input v-model="form.routeCode" disabled placeholder="璇疯緭鍏ュ伐鑹烘祦绋�" />
+        <el-form-item label="宸ョ珯缂栧彿" prop="stationCode">
+          <el-input style="width: 265px"v-model="form.stationCode" placeholder="璇疯緭鍏ュ伐绔欑紪鍙�" />
         </el-form-item>
-        <el-form-item label="浜у搧BOM" prop="bomCode">
-          <el-input v-model="form.bomCode" disabled placeholder="璇疯緭鍏ヤ骇鍝丅OM" />
+        <el-form-item label="澶囨敞" prop="remarks">
+          <el-input style="width: 265px" v-model="form.remarks" placeholder="璇疯緭鍏ュ娉�" />
         </el-form-item>
-        <el-form-item label="宸ヨ壓閰嶆柟" prop="recipeCode">
-          <el-input v-model="form.recipeCode" placeholder="璇疯緭鍏ュ伐鑹洪厤鏂�" />
-        </el-form-item>
-        <el-form-item label="璁″垝鏁伴噺" prop="planQty">
-          <el-input v-model="form.planQty" placeholder="璇疯緭鍏ヨ鍒掓暟閲�" />
-        </el-form-item>
-        <el-form-item label="闇�姹傛棩鏈�" prop="demandDate">
-          <el-date-picker style="width: 88%" clearable
-            v-model="form.demandDate"
-            type="date"
-            value-format="yyyy-MM-dd"
-            placeholder="璇烽�夋嫨闇�姹傛棩鏈�">
-          </el-date-picker>
-        </el-form-item>
-        <el-form-item style="margin-left: -30px" label="澶囨敞" prop="remarks">
-          <el-input v-model="form.remarks" placeholder="璇疯緭鍏ュ娉�" />
-        </el-form-item>
-        <el-row>
-          <el-col :span="12">
-            <el-form-item style="margin-left: 10px" label-width="120" label="璁″垝寮�濮嬫椂闂�" prop="planStartTime">
-              <el-date-picker clearable
-                v-model="form.planStartTime"
-                type="date"
-                value-format="yyyy-MM-dd"
-                placeholder="璇烽�夋嫨璁″垝寮�濮嬫椂闂�">
-              </el-date-picker>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item style="margin-left: 76px" label-width="120" label="璁″垝缁撴潫鏃堕棿" prop="planEndTime">
-              <el-date-picker clearable
-                v-model="form.planEndTime"
-                type="date"
-                value-format="yyyy-MM-dd"
-                placeholder="璇烽�夋嫨璁″垝缁撴潫鏃堕棿">
-              </el-date-picker>
-            </el-form-item>
-          </el-col>
 
-        </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
@@ -359,16 +258,58 @@
       </div>
     </el-dialog>
 
+    <!-- 鐢ㄦ埛瀵煎叆瀵硅瘽妗� -->
+    <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px">
+      <el-upload
+        ref="upload"
+        :limit="1"
+        accept=".xlsx, .xls"
+        :headers="upload.headers"
+        :action="upload.url + '?updateSupport=' + upload.updateSupport"
+        :disabled="upload.isUploading"
+        :on-progress="handleFileUploadProgress"
+        :on-success="handleFileSuccess"
+        :auto-upload="false"
+        drag
+      >
+        <i class="el-icon-upload"></i>
+        <div class="el-upload__text">
+          灏嗘枃浠舵嫋鍒版澶勶紝鎴�
+          <em>鐐瑰嚮涓婁紶</em>
+        </div>
+        <div class="el-upload__tip" slot="tip">
+          <el-checkbox v-model="upload.updateSupport" />鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹�
+          <el-link type="info" style="font-size:12px" @click="importTemplate">涓嬭浇妯℃澘</el-link>
+        </div>
+        <div class="el-upload__tip" style="color:red" slot="tip">鎻愮ず锛氫粎鍏佽瀵煎叆鈥渪ls鈥濇垨鈥渪lsx鈥濇牸寮忔枃浠讹紒</div>
+      </el-upload>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitFileForm">纭� 瀹�</el-button>
+        <el-button @click="upload.open = false">鍙� 娑�</el-button>
+      </div>
+    </el-dialog>
+
   </div>
 </template>
 
 <script>
+import { getToken } from "@/utils/auth";
 import { listLineInfo } from "@/api/main/bs/lineInfo/lineInfo";
 import { listWorkshop } from "@/api/main/bs/workshop/workshop";
-import { listProductBom } from "@/api/main/bs/ProductBom/ProductBom";
+import {getProductBom, listProductBom} from "@/api/main/bs/ProductBom/ProductBom";
 import { listTechnologyRoute} from "@/api/main/bs/technologyRoute/technologyRoute";
 import ItemSelect  from "@/components/itemSelect/single.vue";
-import { upDownMove, listProductionOrde, getProductionOrde, delProductionOrde, addProductionOrde, updateProductionOrde } from "@/api/main/om/productionOrde/productionOrde";
+import {
+  importTemplate,
+  upDownMove,
+  listProductionOrde,
+  getProductionOrde,
+  delProductionOrde,
+  addProductionOrde,
+  updateProductionOrde,
+  receivingWorkOrders, jieBang
+} from "@/api/main/om/productionOrde/productionOrde";
+import QRCode from "qrcodejs2";
 
 export default {
   name: "ProductionOrde",
@@ -378,6 +319,8 @@
   },
   data() {
     return {
+      // packCode: '0RSPB001139E3AE4X0000011',
+      packCode: 'test111',
       titleName: '',
       options: [],
       lineOptions: [],
@@ -427,6 +370,13 @@
         frontEndId: 0,
         idNums: null,
         flag: null,
+        siteCode: null,
+        productNum: null,
+        stationCode: null,
+        resultText: null,
+        resultCode: null,
+        sfResult: null,
+        productModel: null
 
       },
       // 琛ㄥ崟鍙傛暟
@@ -440,26 +390,119 @@
         id: [
           { required: true, message: "ID涓嶈兘涓虹┖", trigger: "blur" }
         ],
-      }
+      },
+      // 鐢ㄦ埛瀵煎叆鍙傛暟
+      upload: {
+        // 鏄惁鏄剧ず寮瑰嚭灞傦紙鐢ㄦ埛瀵煎叆锛�
+        open: false,
+        // 寮瑰嚭灞傛爣棰橈紙鐢ㄦ埛瀵煎叆锛�
+        title: "",
+        // 鏄惁绂佺敤涓婁紶
+        isUploading: false,
+        // 鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹�
+        updateSupport: 0,
+        // 璁剧疆涓婁紶鐨勮姹傚ご閮�
+        headers: { Authorization: "Bearer " + getToken() },
+        // 涓婁紶鐨勫湴鍧�
+        url: process.env.VUE_APP_BASE_API + "/om/productionOrde/importData"
+      },
     };
   },
   created() {
     this.getList();
     this.initWorkshop();
   },
+  mounted() {
+    this.test1()
+  },
   methods: {
-    moveUp(row, val){
-      console.log(val)
-      const ids = row.id || this.ids
-      let str = JSON.stringify(ids);
-      let num = BigInt(str.replace(/[\[\]]/g, ''));
-      this.queryParams.frontEndId = num
-      this.queryParams.idNums = ids
-      this.queryParams.flag = val
-      upDownMove(this.queryParams).then(response => {
-        this.$modal.msgSuccess("绉诲姩鎴愬姛");
-        this.getList();
+    jieBang(row){
+      const id = row.id || this.ids
+      jieBang(id).then(response => {
+        this.getList()
+        this.$modal.msgSuccess("瑙g粦鎴愬姛");
       });
+    },
+    patchwork(row){
+      const id = row.id || this.ids
+      getProductionOrde(id).then(response => {
+        console.log(response.data)
+        this.packCode = response.data.productNum
+        console.log(this.packCode)
+        this.test1()
+        setTimeout(() => {
+          this.print()
+        },50)
+      });
+    },
+    async getWorkOrders(){
+      await receivingWorkOrders().then(response => {
+        this.getList()
+        this.packCode = response.msg;
+        this.test1()
+      });
+      setTimeout(() => {
+        this.print()
+      },50)
+    },
+     print() {
+      // 鏈〉闈㈢洿鎺ユ墦鍗帮紙鏈塨ug鍗曞瞾鍏堜笉瑕佸垹锛�
+      // let oldStr = window.document.body.innerHTML;
+      // let newStr = document.getElementById('printMe').innerHTML;
+      // document.body.innerHTML = newStr;
+      // window.print();
+      // document.body.innerHTML = oldStr;
+      // return false;
+
+      // 鏂板紑椤甸潰鎵撳嵃
+      //  document.getElementById('canvasWrapper').innerHTML = '';
+      let newStr = document.getElementById('printMe').innerHTML;
+      let newWin = window.open('', '_blank');
+      newWin.document.body.innerHTML = newStr;
+      newWin.print();
+      return false;
+    },
+    test1(){
+      document.getElementById('canvasWrapper').innerHTML = ''
+      this.$nextTick(() => {
+        let qrCode = new QRCode('canvasWrapper',{
+          width: 80,
+          height: 80,
+          padding: 0,
+          margin: 0,
+          text: this.packCode,
+          colorDark: '#000',
+          colorLight: '#fff'
+        })
+      })
+      // console.log(this.packCode)
+      // this.print()
+    },
+    /** 瀵煎叆鎸夐挳鎿嶄綔 */
+    handleImport() {
+      this.upload.title = "璁㈠崟淇℃伅瀵煎叆";
+      this.upload.open = true;
+    },
+    /** 涓嬭浇妯℃澘鎿嶄綔 */
+    importTemplate() {
+      this.download('om/productionOrde/importTemplate', {
+      }, `productionOrde_template_${new Date().getTime()}.xlsx`)
+    },
+// 鏂囦欢涓婁紶涓鐞�
+    handleFileUploadProgress(event, file, fileList) {
+      this.upload.isUploading = true;
+    },
+// 鏂囦欢涓婁紶鎴愬姛澶勭悊
+    handleFileSuccess(response, file, fileList) {
+      this.upload.open = false;
+      this.upload.isUploading = false;
+      this.$refs.upload.clearFiles();
+      this.$alert(response.msg, "瀵煎叆缁撴灉", { dangerouslyUseHTMLString: true });
+      this.getList();
+    },
+// 鎻愪氦涓婁紶鏂囦欢
+    submitFileForm() {
+      this.$refs.upload.submit();
     },
     initWorkshop(){
       listWorkshop(this.queryParams).then(response => {
@@ -558,10 +601,16 @@
         marketAreaCode: null,
         softwareVersionCode: null,
         productCompanyCode: null,
-        spareField1: null,
+        trolleyYard: null,
         spareField2: null,
         spareField3: null,
-        spareField4: null
+        spareField4: null,
+        siteCode: null,
+        productNum: null,
+        stationCode: null,
+        resultText: null,
+        resultCode: null,
+        sfResult: null
       };
       this.resetForm("form");
     },
@@ -576,19 +625,25 @@
       this.handleQuery();
     },
     // 澶氶�夋閫変腑鏁版嵁
+    // handleSelectionChange(selection) {
+    //   this.ids = selection.map(item => item.id)
+    //   this.move = selection.length!==1
+    //   if(!selection.length){
+    //     this.single = true
+    //     this.multiple = true
+    //   }else {
+    //     if(selection[0].orderStatus === '1' && selection.length === 1){
+    //       this.single = false
+    //       this.multiple = false
+    //     }
+    //   }
+    //
+    // },
+    // 澶氶�夋閫変腑鏁版嵁
     handleSelectionChange(selection) {
       this.ids = selection.map(item => item.id)
-      this.move = selection.length!==1
-      if(!selection.length){
-        this.single = true
-        this.multiple = true
-      }else {
-        if(selection[0].orderStatus === '1' && selection.length === 1){
-          this.single = false
-          this.multiple = false
-        }
-      }
-
+      this.single = selection.length!==1
+      this.multiple = !selection.length
     },
     /** 鏂板鎸夐挳鎿嶄綔 */
     handleAdd() {

--
Gitblit v1.9.3