From f0644263d72f9503a50bad1034f51f2fce974d56 Mon Sep 17 00:00:00 2001
From: gaoshp <291585735@qq.com>
Date: 星期二, 17 六月 2025 19:35:58 +0800
Subject: [PATCH] 主制计划表

---
 src/views/basesetting/produceplan.vue |  138 +++++++++++++++++++++++++++++++++++++--------
 1 files changed, 112 insertions(+), 26 deletions(-)

diff --git a/src/views/basesetting/produceplan.vue b/src/views/basesetting/produceplan.vue
index abd8620..18cd2a5 100644
--- a/src/views/basesetting/produceplan.vue
+++ b/src/views/basesetting/produceplan.vue
@@ -1,29 +1,31 @@
 <!--
  * @Date: 2025-06-17 11:44:52
  * @LastEditors: gaoshp
- * @LastEditTime: 2025-06-17 16:16:28
+ * @LastEditTime: 2025-06-17 19:33:51
  * @FilePath: /mdmweb/src/views/basesetting/produceplan.vue
 -->
 <template>
     <basic-container>
         <avue-crud :option="option" :table-loading="loading" :data="data" v-model:page="page" v-model="form" ref="crud"
             @search-change="searchChange" @search-reset="searchReset" @current-change="currentChange"
-            @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
+            @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>
             </template>
-            <template #menu="scope">
+            <!-- <template #menu="scope">
                 <el-button type="primary" text size="default" v-if="permission.flow_model_update"
                     @click.stop="handleAction(scope.row, scope.index)">瀹℃壒
                 </el-button>
-            </template>
+            </template> -->
         </avue-crud>
     </basic-container>
 </template>
 
 <script>
-import { getList } from '@/api/basesetting/produceplan';
+import { getList, remove,save,update } from '@/api/basesetting/produceplan';
 import { mapGetters } from 'vuex';
 export default {
     name: 'ProducePlan',
@@ -40,23 +42,25 @@
                 // simplePage: true,
                 searchShow: true,
                 searchMenuSpan: 6,
-                dialogWidth: '60%',
                 // tree: true,
                 border: true,
                 index: true,
                 // selection: true,
                 // viewBtn: true,
                 menuWidth: 320,
+                dialogWidth: 500,
                 dialogClickModal: false,
                 column: [
                     {
                         label: '绋嬪簭鍚嶇О',
-                        prop: 'name',
+                        prop: 'programName',
                         type: 'input',
-                        search: true,
+                        search: false,
                         searchRange: true,
                         searchSpan: 8,
                         hide: true,
+                        span: 24,
+                        rules: [{ required: true, message: '璇疯緭鍏ョ▼搴忓悕绉�', trigger: 'blur' }],
                     },
                     {
                         label: '浜哄憳鍚嶇О',
@@ -66,6 +70,7 @@
                         searchRange: true,
                         searchSpan: 8,
                         hide: true,
+                        display: false,
                     },
                     // {
                     //     label: '搴忓彿',
@@ -73,31 +78,61 @@
                     //     type: 'index',
                     // },
                     {
-                        label: '闆剁粍浠朵唬鐮�',
-                        prop: 'id',
-                        type: '',
-                    },
-                    {
                         label: '涓撲笟缁勯暱',
-                        prop: 'teamLeaderName',
-                        type: '',
+                        prop: 'teamLeaderId',
+                        type: 'select',
+                        span: 24,
+                        display: true,
+                        dicUrl: `/blade-mdm/flow/flow-user-list?deptId=0`,
+                        props: {
+                            label: 'name',
+                            value: 'id',
+                        },
+                        rules: [{ required: true, message: '璇疯緭鍏ヤ笓涓氱粍闀�', trigger: 'blur' }],
                     },
                     {
                         label: '缂栧埗锛堝伐鑹哄憳)',
-                        prop: 'teamLeaderName',
-                        type: '',
+                        label: '缂栧埗',
+                        prop: 'programmerId',
+                        type: 'select',
+                        display: true,
+                        span: 24,
+                        dicUrl: `/blade-mdm/flow/flow-user-list?deptId=0`,
+                        props: {
+                            label: 'name',
+                            value: 'id',
+                        },
+                        rules: [{ required: true, message: '璇疯緭鍏ョ紪鍒讹紙宸ヨ壓鍛�)', trigger: 'blur' }],
                     },
                     {
                         label: '鏍″锛堝伐鑹哄憳)',
-                        prop: 'checkerName',
-                        type: '',
+                        label: '鏍″',
+                        prop: 'checkerId',
+                        type: 'select',
+                        display: true,
+                        span: 24,
+                        dicUrl: `/blade-mdm/flow/flow-user-list?deptId=0`,
+                        props: {
+                            label: 'name',
+                            value: 'id',
+                        },
+                        rules: [{ required: true, message: '璇疯緭鍏ユ牎瀵癸紙宸ヨ壓鍛�)', trigger: 'blur' }],
                     },
                     {
                         label: '瀹℃牳(楂樺笀)',
-                        prop: 'seniorName',
-                        type: '',
+                        label: '瀹℃牳',
+                        prop: 'seniorId',
+                        type: 'select',
+                        display: true,
+                        span: 24,
+                        dicUrl: `/blade-mdm/flow/flow-user-list?deptId=0`,
+                        props: {
+                            label: 'name',
+                            value: 'id',
+                        },
+                        rules: [{ required: true, message: '璇疯緭鍏ュ鏍�(楂樺笀)', trigger: 'blur' }],
                     },
-                    
+
                     // Add more columns as needed
                 ],
             },
@@ -125,16 +160,16 @@
         searchReset() {
             this.query = {};
             this.onLoad(this.page);
-         },
-        currentChange() { 
+        },
+        currentChange() {
             this.page.currentPage = currentPage;
         },
         sizeChange() {
             this.page.pageSize = pageSize;
-         },
+        },
         refreshChange() {
             this.onLoad(this.page, this.query);
-         },
+        },
         onLoad(page, params = {}) {
             const query = {
                 ...this.query,
@@ -153,6 +188,57 @@
             // Logic for importing data
             this.$message.success('瀵煎叆鍔熻兘灏氭湭瀹炵幇');
         },
+        rowDel(row) {
+            this.$confirm('纭畾灏嗛�夋嫨鏁版嵁鍒犻櫎?', {
+                confirmButtonText: '纭畾',
+                cancelButtonText: '鍙栨秷',
+                type: 'warning',
+            })
+                .then(() => {
+                    return remove({ids: [row.id].toString()});
+                })
+                .then(() => {
+                    this.onLoad(this.page);
+                    this.$message({
+                        type: 'success',
+                        message: '鎿嶄綔鎴愬姛!',
+                    });
+                });
+        },
+        rowUpdate (row, index, done, loading) {
+            console.log('rowUpdate', row);
+            update(row).then(
+                    () => {
+                      this.onLoad(this.page);
+                      this.$message({
+                        type: 'success',
+                        message: '鎿嶄綔鎴愬姛!',
+                      });
+                      done();
+                    },
+                    error => {
+                      window.console.log(error);
+                      loading();
+                    }
+                  );
+        },
+        save (row, done, loading) {
+            console.log('save', row);
+            save(row).then(
+                () => {
+                this.onLoad(this.page);
+                this.$message({
+                    type: 'success',
+                    message: '鎿嶄綔鎴愬姛!',
+                });
+                done();
+                },
+                error => {
+                loading();
+                window.console.log(error);
+                }
+            );
+        }
     },
     mounted() {
         // Code to run when the component is mounted

--
Gitblit v1.9.3