From f0644263d72f9503a50bad1034f51f2fce974d56 Mon Sep 17 00:00:00 2001 From: gaoshp <291585735@qq.com> Date: 星期二, 17 六月 2025 19:35:58 +0800 Subject: [PATCH] 主制计划表 --- src/api/basesetting/produceplan.js | 23 +++++++ src/views/basesetting/produceplan.vue | 138 +++++++++++++++++++++++++++++++++++++-------- 2 files changed, 134 insertions(+), 27 deletions(-) diff --git a/src/api/basesetting/produceplan.js b/src/api/basesetting/produceplan.js index 7fb2df2..7a87de4 100644 --- a/src/api/basesetting/produceplan.js +++ b/src/api/basesetting/produceplan.js @@ -1,7 +1,7 @@ /* * @Date: 2025-06-17 15:22:15 * @LastEditors: gaoshp - * @LastEditTime: 2025-06-17 15:23:02 + * @LastEditTime: 2025-06-17 19:32:43 * @FilePath: /mdmweb/src/api/basesetting/produceplan.js */ import request from '@/axios'; @@ -15,4 +15,25 @@ size, }, }); +}; +export const remove = params => { + return request({ + url: '/blade-mdm/producedivision/remove', + method: 'post', + params + }); +}; +export const save = params => { + return request({ + url: 'blade-mdm/producedivision/save', + method: 'post', + data:params + }); +}; +export const update = params => { + return request({ + url: '/blade-mdm/producedivision/update', + method: 'post', + data:params + }); }; \ No newline at end of file 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