From 42cfe3f13b09d8b06935fb371fe327387292abc9 Mon Sep 17 00:00:00 2001
From: 懒羊羊 <15939171744@163.com>
Date: 星期一, 08 四月 2024 12:44:49 +0800
Subject: [PATCH] 工单导入

---
 jcdm-ui/src/views/main/om/productionOrde/index.vue |  176 +++++++++++++++++++++++++++++++---------------------------
 1 files changed, 94 insertions(+), 82 deletions(-)

diff --git a/jcdm-ui/src/views/main/om/productionOrde/index.vue b/jcdm-ui/src/views/main/om/productionOrde/index.vue
index 56eb2ec..b053002 100644
--- a/jcdm-ui/src/views/main/om/productionOrde/index.vue
+++ b/jcdm-ui/src/views/main/om/productionOrde/index.vue
@@ -103,37 +103,23 @@
           @click="handleDelete"
           v-hasPermi="['om:productionOrde:remove']"
         >鍒犻櫎</el-button>
+        <el-button
+          type="info"
+          icon="el-icon-upload2"
+          size="mini"
+          @click="handleImport"
+        >瀵煎叆</el-button>
       </el-col>
-<!--      <el-col :span="1.5">-->
-<!--        <el-button-->
-<!--          type="warning"-->
-<!--          plain-->
-<!--          icon="el-icon-download"-->
-<!--          size="mini"-->
-<!--          @click="handleExport"-->
-<!--          v-hasPermi="['om:productionOrde:export']"-->
-<!--        >瀵煎嚭</el-button>-->
-<!--      </el-col>-->
-<!--      <el-col :span="1.5">-->
-<!--        <el-button-->
-<!--          type="warning"-->
-<!--          plain-->
-<!--          icon="el-icon-upload2"-->
-<!--          :disabled="move"-->
-<!--          size="mini"-->
-<!--          @click="moveUp(val => val, 'up')"-->
-<!--        >涓婄Щ</el-button>-->
-<!--      </el-col>-->
-<!--      <el-col :span="1.5">-->
-<!--        <el-button-->
-<!--          type="warning"-->
-<!--          plain-->
-<!--          icon="el-icon-download"-->
-<!--          size="mini"-->
-<!--          :disabled="move"-->
-<!--          @click="moveUp(val => val, 'down')"-->
-<!--        >涓嬬Щ</el-button>-->
-<!--      </el-col>-->
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['om:productionOrde:export']"
+        >瀵煎嚭</el-button>
+      </el-col>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
@@ -146,8 +132,8 @@
             </router-link>
           </template>
         </el-table-column>
-        <el-table-column label="璁㈠崟缂栧彿" width="140" align="center" prop="salesOrderCode">
-        </el-table-column>
+<!--        <el-table-column label="璁㈠崟缂栧彿" width="140" align="center" prop="salesOrderCode">-->
+<!--        </el-table-column>-->
         <el-table-column label="浜у搧缂栧彿" width="110" align="center" prop="productCode">
         </el-table-column>
         <el-table-column label="浜у搧鍚嶇О" width="120" align="center" prop="productName">
@@ -161,8 +147,8 @@
             <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="siteCode">-->
+<!--        </el-table-column>-->
         <el-table-column label="宸ョ珯缂栧彿" align="center" prop="stationCode">
         </el-table-column>
         <el-table-column label="鎶ュ伐淇℃伅缁撴灉" width="110" align="center" prop="resultText">
@@ -179,40 +165,6 @@
         </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">-->
-<!--            &lt;!&ndash;  宸ュ崟鐘舵�侊紙1鍒涘缓銆�2宸插彂甯冦��3鐢熶骇涓��4宸插喕缁撱��5宸插畬宸ャ��6宸插叧闂級 &ndash;&gt;-->
-<!--            <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>-->
-<!--&lt;!&ndash;            <el-button&ndash;&gt;-->
-<!--&lt;!&ndash;              :disabled="scope.row.orderStatus !== '1'"&ndash;&gt;-->
-<!--&lt;!&ndash;              size="mini"&ndash;&gt;-->
-<!--&lt;!&ndash;              type="success"&ndash;&gt;-->
-<!--&lt;!&ndash;              style="width: 72px"&ndash;&gt;-->
-<!--&lt;!&ndash;              icon="el-icon-edit"&ndash;&gt;-->
-<!--&lt;!&ndash;              @click="handleUpdate(scope.row)"&ndash;&gt;-->
-<!--&lt;!&ndash;              v-hasPermi="['om:productionOrde:edit']"&ndash;&gt;-->
-<!--&lt;!&ndash;            >淇敼</el-button>&ndash;&gt;-->
-<!--&lt;!&ndash;            <el-button&ndash;&gt;-->
-<!--&lt;!&ndash;              :disabled="scope.row.orderStatus !== '1'"&ndash;&gt;-->
-<!--&lt;!&ndash;              size="mini"&ndash;&gt;-->
-<!--&lt;!&ndash;              type="warning"&ndash;&gt;-->
-<!--&lt;!&ndash;              style="width: 72px"&ndash;&gt;-->
-<!--&lt;!&ndash;              icon="el-icon-delete"&ndash;&gt;-->
-<!--&lt;!&ndash;              @click="handleDelete(scope.row)"&ndash;&gt;-->
-<!--&lt;!&ndash;              v-hasPermi="['om:productionOrde:remove']"&ndash;&gt;-->
-<!--&lt;!&ndash;            >鍒犻櫎</el-button>&ndash;&gt;-->
-<!--            <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>
     </el-card>
 
@@ -267,16 +219,48 @@
       </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 { 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 } from "@/api/main/om/productionOrde/productionOrde";
 
 export default {
   name: "ProductionOrde",
@@ -355,7 +339,22 @@
         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() {
@@ -363,18 +362,31 @@
     this.initWorkshop();
   },
   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();
-      });
+    /** 瀵煎叆鎸夐挳鎿嶄綔 */
+    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 => {

--
Gitblit v1.9.3