From c1e9856dfd1c75e0b34bf61af1c31d3b7517bce4 Mon Sep 17 00:00:00 2001
From: gaoshp <291585735@qq.com>
Date: 星期三, 13 八月 2025 23:20:03 +0800
Subject: [PATCH] fix

---
 src/views/basesetting/produceplan.vue |  118 ++++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 96 insertions(+), 22 deletions(-)

diff --git a/src/views/basesetting/produceplan.vue b/src/views/basesetting/produceplan.vue
index bf52432..ea0f816 100644
--- a/src/views/basesetting/produceplan.vue
+++ b/src/views/basesetting/produceplan.vue
@@ -1,7 +1,7 @@
 <!--
  * @Date: 2025-06-17 11:44:52
  * @LastEditors: gaoshp
- * @LastEditTime: 2025-06-17 20:46:18
+ * @LastEditTime: 2025-08-13 22:30:53
  * @FilePath: /mdmweb/src/views/basesetting/produceplan.vue
 -->
 <template>
@@ -11,8 +11,11 @@
             @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad" @row-del="rowDel"
             @row-save="save"
             @row-update="rowUpdate">
+			
             <template #menu-left>
                 <el-button type="primary" plain @click="importAction">瀵煎叆
+                </el-button>
+				<el-button type="primary" plain @click="downTemplateAction">涓嬭浇瀵煎叆妯℃澘
                 </el-button>
             </template>
             <!-- <template #menu="scope">
@@ -21,17 +24,56 @@
                 </el-button>
             </template> -->
         </avue-crud>
+        <el-dialog title="" append-to-body v-model="excelBox" width="555px">
+            <avue-form :option="excelOption" v-model="excelForm" :upload-after="uploadAfter">
+                <template #excelTemplate>
+                    <el-button type="primary" @click="handleTemplate">
+                        纭畾
+                    </el-button>
+                </template>
+            </avue-form>
+        </el-dialog>
     </basic-container>
 </template>
 
 <script>
 import { getList, remove,save,update } from '@/api/basesetting/produceplan';
 import { mapGetters } from 'vuex';
+import { exportBlob } from '@/api/common';
+import { getToken } from '@/utils/auth';
+import NProgress from 'nprogress';
+import { downloadXls } from '@/utils/util';
 export default {
     name: 'ProducePlan',
     data() {
         return {
             // Define your data properties here
+            excelOption: {
+                submitBtn: false,
+                emptyBtn: false,
+                column: [
+                    {
+                        label: '鏂囦欢瀵煎叆',
+                        prop: 'file',
+                        type: 'upload',
+                        drag: true,
+                        loadText: '瀵煎叆涓紝璇风◢鍚�',
+                        span: 24,
+                        propsHttp: {
+                            res: 'data',
+                        },
+                        data: {
+                        },
+                        tip: '',
+                        action: '/blade-mdm/producedivision/download-template',
+                    },
+                ],
+            },
+            excelForm: {
+                fileType: 'program',
+                excelFile: [],
+            },
+            excelBox: false,
             option: {
                 // Define your Avue CRUD options here
                 addBtn: true,
@@ -51,17 +93,17 @@
                 dialogWidth: 500,
                 dialogClickModal: false,
                 column: [
-                    {
-                        label: '绋嬪簭鍚嶇О',
-                        prop: 'programName',
-                        type: 'input',
-                        search: false,
-                        searchRange: true,
-                        searchSpan: 8,
-                        hide: true,
-                        span: 24,
-                        rules: [{ required: true, message: '璇疯緭鍏ョ▼搴忓悕绉�', trigger: 'blur' }],
-                    },
+                    // {
+                    //     label: '绋嬪簭鍚嶇О',
+                    //     prop: 'programName',
+                    //     type: 'input',
+                    //     search: false,
+                    //     searchRange: true,
+                    //     searchSpan: 8,
+                    //     hide: true,
+                    //     span: 24,
+                    //     rules: [{ required: true, message: '璇疯緭鍏ョ▼搴忓悕绉�', trigger: 'blur' }],
+                    // },
                     {
                         label: '浜哄憳鍚嶇О',
                         prop: 'name',
@@ -77,6 +119,14 @@
                     //     prop: 'index',
                     //     type: 'index',
                     // },
+					{
+                        label: '鍥惧彿',
+                        prop: 'drawingNo',
+                        type: 'input',
+                        display: true,
+                        span: 24,
+                        rules: [{ required: true, message: '璇疯緭鍏ュ浘鍙�', trigger: 'blur' }],
+                    },
                     {
                         label: '涓撲笟缁勯暱',
                         prop: 'teamLeaderId',
@@ -132,6 +182,7 @@
                         },
                         rules: [{ required: true, message: '璇疯緭鍏ュ鏍�(楂樺笀)', trigger: 'blur' }],
                     },
+                    
 
                     // Add more columns as needed
                 ],
@@ -186,7 +237,23 @@
         },
         importAction() {
             // Logic for importing data
-            this.$message.success('瀵煎叆鍔熻兘灏氭湭瀹炵幇');
+            // this.$message.success('瀵煎叆鍔熻兘灏氭湭瀹炵幇');
+            this.excelBox = true;
+        },
+        uploadAfter(res, done, loading, column) {
+            window.console.log(column);
+            this.onLoad(this.page);
+            this.excelBox = false;
+            done();
+        },
+		downTemplateAction() {
+            NProgress.start();
+            exportBlob(
+                `/blade-mdm/producedivision/download-template`
+            ).then(res => {
+                downloadXls(res.data, `涓诲埗鍒嗗伐琛ㄥ鍏ユā鐗�.xlsx`);
+                NProgress.done();
+            });
         },
         rowDel(row) {
             this.$confirm('纭畾灏嗛�夋嫨鏁版嵁鍒犻櫎?', {
@@ -226,17 +293,24 @@
         save (row, done, loading) {
             console.log('save', row);
             save(row).then(
-                () => {
-                this.onLoad(this.page);
-                this.$message({
-                    type: 'success',
-                    message: '鎿嶄綔鎴愬姛!',
-                });
-                done();
+                (res) => {
+					if(res.data.code !== 200) {
+						this.$message.error(res.data.msg);
+                        loading()
+						//done();//鍏抽棴绐楀彛
+						return;
+					}
+					this.onLoad(this.page);
+					this.$message({
+						type: 'success',
+						message: '鎿嶄綔鎴愬姛!',
+					});
+					done();
                 },
                 error => {
-                loading();
-                window.console.log(error);
+					
+					loading();
+					window.console.log(error);
                 }
             );
         }

--
Gitblit v1.9.3