From 729b698b17d7468acbc6c495746a72c9150fdaeb Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期二, 09 九月 2025 11:49:47 +0800
Subject: [PATCH] 按钮改名下传
---
src/views/basesetting/produceplan.vue | 427 ++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 355 insertions(+), 72 deletions(-)
diff --git a/src/views/basesetting/produceplan.vue b/src/views/basesetting/produceplan.vue
index e6dd4b9..a287433 100644
--- a/src/views/basesetting/produceplan.vue
+++ b/src/views/basesetting/produceplan.vue
@@ -1,37 +1,129 @@
<!--
* @Date: 2025-06-17 11:44:52
* @LastEditors: gaoshp
- * @LastEditTime: 2025-07-08 20:06:11
+ * @LastEditTime: 2025-09-05 17:57:29
* @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" @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">
- <el-button type="primary" text size="default" v-if="permission.flow_model_update"
- @click.stop="handleAction(scope.row, scope.index)">瀹℃壒
- </el-button>
- </template> -->
- </avue-crud>
+ <el-tabs v-model="activeName" type="card" class="demo-tabs" @tab-click="tabsClick">
+ <el-tab-pane label="浜哄憳鑱岃矗琛�" name="zhuzhi">
+ <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" @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">
+ <el-button type="primary" text size="default" v-if="permission.flow_model_update"
+ @click.stop="handleAction(scope.row, scope.index)">瀹℃壒
+ </el-button>
+ </template> -->
+ </avue-crud>
+ </el-tab-pane>
+ <el-tab-pane label="鍕ゅ摬鍒嗗伐琛�" name="qinzhe">
+
+ <avue-crud :option="optionQz" :table-loading="loadingQz" :data="dataQz" v-model:page="pageQz"
+ @search-change="searchChangeQz" @search-reset="searchResetQz" @current-change="currentChangeQz"
+ @size-change="sizeChangeQz" @refresh-change="refreshChangeQz" @on-load="onLoadQz" @row-del="rowDelQz" @row-update="rowUpdateQz">
+
+ <template #menu-left>
+ <el-button type="primary" plain @click="importActionQz">瀵煎叆
+ </el-button>
+ <el-button type="primary" plain @click="downTemplateActionQz">涓嬭浇瀵煎叆妯℃澘
+ </el-button>
+ </template>
+ </avue-crud>
+ </el-tab-pane>
+ </el-tabs>
+ <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>
+ <el-dialog title="" append-to-body v-model="excelBoxQz" width="555px">
+ <avue-form :option="excelOptionQz" v-model="excelForm" :upload-after="uploadAfterQz">
+
+ </avue-form>
+ </el-dialog>
</basic-container>
</template>
<script>
import { getList, remove,save,update } from '@/api/basesetting/produceplan';
+import { getListQz, removeQz,saveQz,updateQz } from '@/api/basesetting/qinzhefgb';
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 {
+ getApproveList: [],
+ activeName: "zhuzhi",
// 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/import-division',
+ },
+ ],
+ },
+ excelOptionQz: {
+ submitBtn: false,
+ emptyBtn: false,
+ column: [
+ {
+ label: '鏂囦欢瀵煎叆',
+ prop: 'file',
+ type: 'upload',
+ drag: true,
+ loadText: '瀵煎叆涓紝璇风◢鍚�',
+ span: 24,
+ propsHttp: {
+ res: 'data',
+ },
+ data: {
+ },
+ tip: '',
+ action: '/blade-mdm/producedivision/import-qinzhe',
+ },
+ ],
+ },
+ excelForm: {
+ fileType: 'program',
+ excelFile: [],
+ },
+ excelBox: false,
+ excelBoxQz: false,
option: {
// Define your Avue CRUD options here
addBtn: true,
@@ -39,29 +131,15 @@
delBtn: true,
columnBtn: false,
tip: false,
- // simplePage: true,
searchShow: true,
searchMenuSpan: 6,
- // tree: true,
+ searchEnter:true,
border: true,
index: true,
- // selection: true,
- // viewBtn: true,
menuWidth: 320,
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: 'name',
@@ -72,40 +150,17 @@
hide: true,
display: false,
},
- // {
- // label: '搴忓彿',
- // prop: 'index',
- // type: 'index',
- // },
- {
- label: '鍥惧彿',
- prop: 'drawingNo',
- type: 'input',
- display: true,
- span: 24,
- rules: [{ required: true, message: '璇疯緭鍏ュ浘鍙�', trigger: 'blur' }],
- },
- {
- label: '涓撲笟缁勯暱',
- 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: '缂栧埗锛堝伐鑹哄憳)',
label: '缂栧埗',
prop: 'programmerId',
type: 'select',
display: true,
+ filterable:true,
span: 24,
- dicUrl: `/blade-mdm/flow/flow-user-list?deptId=0`,
+ // dicUrl: `/blade-mdm/flow/flow-user-list?deptId=0`,
+ dicData: [],
props: {
label: 'name',
value: 'id',
@@ -118,8 +173,10 @@
prop: 'checkerId',
type: 'select',
display: true,
+ filterable:true,
span: 24,
- dicUrl: `/blade-mdm/flow/flow-user-list?deptId=0`,
+ // dicUrl: `/blade-mdm/flow/flow-user-list?deptId=0`,
+ dicData: [],
props: {
label: 'name',
value: 'id',
@@ -127,13 +184,30 @@
rules: [{ required: true, message: '璇疯緭鍏ユ牎瀵癸紙宸ヨ壓鍛�)', trigger: 'blur' }],
},
{
+ label: '涓撲笟缁勯暱',
+ prop: 'teamLeaderId',
+ type: 'select',
+ span: 24,
+ display: true,
+ filterable:true,
+ // dicUrl: `/blade-mdm/flow/flow-user-list?deptId=0`,
+ dicData: [],
+ props: {
+ label: 'name',
+ value: 'id',
+ },
+ rules: [{ required: true, message: '璇疯緭鍏ヤ笓涓氱粍闀�', trigger: 'blur' }],
+ },
+ {
label: '瀹℃牳(楂樺笀)',
label: '瀹℃牳',
prop: 'seniorId',
type: 'select',
+ filterable:true,
display: true,
span: 24,
- dicUrl: `/blade-mdm/flow/flow-user-list?deptId=0`,
+ // dicUrl: `/blade-mdm/flow/flow-user-list?deptId=0`,
+ dicData: [],
props: {
label: 'name',
value: 'id',
@@ -154,10 +228,94 @@
},
form: {}, // This will hold the form data
query: {}, // This will hold the search query
+
+ //鍕ゅ摬椤甸潰鏁版嵁
+ dataQz:[],
+ loadingQz:false,
+ pageQz: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0,
+ },
+ queryQz: {},
+ optionQz: {
+ addBtn: false,
+ editBtn: true,
+ delBtn: true,
+ columnBtn: false,
+ tip: false,
+ searchShow: true,
+ searchMenuSpan: 6,
+ searchEnter:true,
+ border: true,
+ index: true,
+ menuWidth: 320,
+ dialogWidth: 500,
+ dialogClickModal: false,
+ column: [
+ {
+ label: '浜у搧鍨嬪彿',
+ prop: 'cph',
+ type: 'input',
+ display: true,
+ span: 24,
+ },
+ {
+ label: '闆剁粍浠跺彿',
+ prop: 'ljh',
+ type: 'input',
+ search: true,
+ display: true,
+ disabled:true,
+ span: 24,
+ },
+ {
+ label: '涓荤宸ヨ壓',
+ prop: 'zggy',
+ type: 'input',
+ search: true,
+ display: true,
+ span: 24
+ },
+ {
+ label: '鏁版嵁鏉ユ簮',
+ prop: 'source',
+ type: 'input',
+ search: false,
+ display: false,
+ span: 24,
+ render: ({ row}) => {
+ console.log('val',row)
+ if(row.source == 'MDM'){
+ return "MDM"
+ }else{
+ return "鍕ゅ摬"
+ }
+ }
+ }
+ ],
+ },
};
},
methods: {
+ getApprovers () {
+ axios({
+ url: '/blade-mdm/flow/flow-user-list?deptId=0',
+ method: 'get',
+ params: {}
+ }).then(
+ res => {
+ this.option.column[1].dicData = res.data.data;
+ this.option.column[2].dicData = res.data.data;
+ this.option.column[3].dicData = res.data.data;
+ this.option.column[4].dicData = res.data.data;
+ });
+ },
// Define your methods here
+ tabsClick(tab,event) {
+ //console.log('tab',tab)
+ this.onLoad(this.page, this.query);
+ },
searchChange(params, done) {
this.query = params;
this.page.currentPage = 1;
@@ -195,7 +353,54 @@
},
importAction() {
// Logic for importing data
- this.$message.success('瀵煎叆鍔熻兘灏氭湭瀹炵幇');
+ // this.$message.success('瀵煎叆鍔熻兘灏氭湭瀹炵幇');
+ this.excelBox = true;
+ },
+ importActionQz() {
+ // Logic for importing data
+ // this.$message.success('瀵煎叆鍔熻兘灏氭湭瀹炵幇');
+ this.excelBoxQz = true;
+ },
+ uploadAfter(res, done, loading, column) {
+ //window.console.log(column);
+ //console.log('res',res)
+ if(res.success>0){
+ //鏈夋垚鍔熺殑锛屽叧闂璇濇
+ this.excelBox = false;
+ this.$message.success(res.message);
+ this.onLoad(this.page);
+ //done();
+ }else{
+ //0鎴愬姛鐨勶紝浠呮彁绀�
+ this.$message.success(res.message);
+ }
+
+ },
+ uploadAfterQz(res, done, loading, column) {
+ //window.console.log(column);
+ this.$message.success('瀵煎叆瀹屾垚');
+ this.excelBoxQz = false;
+
+ this.onLoadQz(this.pageQz);
+
+ },
+ downTemplateAction() {
+ NProgress.start();
+ exportBlob(
+ `/blade-mdm/producedivision/download-template`
+ ).then(res => {
+ downloadXls(res.data, `涓诲埗鍒嗗伐琛ㄥ鍏ユā鐗�.xlsx`);
+ NProgress.done();
+ });
+ },
+ downTemplateActionQz() {
+ NProgress.start();
+ exportBlob(
+ `/blade-mdm/producedivision/download-template-qz`
+ ).then(res => {
+ downloadXls(res.data, `鍕ゅ摬鍒嗗伐琛ㄥ鍏ユā鐗�.xlsx`);
+ NProgress.done();
+ });
},
rowDel(row) {
this.$confirm('纭畾灏嗛�夋嫨鏁版嵁鍒犻櫎?', {
@@ -208,6 +413,23 @@
})
.then(() => {
this.onLoad(this.page);
+ this.$message({
+ type: 'success',
+ message: '鎿嶄綔鎴愬姛!',
+ });
+ });
+ },
+ rowDelQz(row) {
+ this.$confirm('纭畾灏嗛�夋嫨鏁版嵁鍒犻櫎?', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning',
+ })
+ .then(() => {
+ return removeQz({ljhs: [row.ljh].toString()});
+ })
+ .then(() => {
+ this.onLoadQz(this.pageQz);
this.$message({
type: 'success',
message: '鎿嶄綔鎴愬姛!',
@@ -228,30 +450,91 @@
},
error => {
window.console.log(error);
- loading();
+ //loading();
+ loadingZq();
+ }
+ );
+ },
+ rowUpdateQz (row, index, done, loading) {
+ console.log('rowUpdateQz', row);
+
+ updateQz(row).then(
+ () => {
+ this.onLoadQz(this.pageQz);
+ this.$message({
+ type: 'success',
+ message: '鎿嶄綔鎴愬姛!',
+ });
+ done();
+ },
+ error => {
+ window.console.log(error);
+ //loading();
+ loadingZq();
}
);
},
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);
}
);
- }
+ },
+ sizeChangeQz() {
+ this.pageQz.pageSize = pageSize;
+ },
+ searchChangeQz(params, done) {
+ this.queryQz = params;
+ this.pageQz.currentPage = 1;
+ this.onLoadQz(this.pageQz, params);
+ done();
+ },
+ searchResetQz() {
+ this.queryQz = {};
+ this.onLoadQz(this.pageQz);
+ },
+ currentChangeQz() {
+ this.pageQz.currentPage = currentPage;
+ },
+ onLoadQz(page, params = {}) {
+ const query = {
+ ...this.queryQz,
+ // category: params.category ? flowCategory(params.category) : null,
+ mode: this.mode,
+ };
+ this.loadingQz = true;
+ getListQz(page.currentPage, page.pageSize, Object.assign(params, query)).then(res => {
+ const data = res.data.data;
+ this.pageQz.total = data.total;
+ this.dataQz = data.records;
+ this.loadingQz = false;
+ });
+ },
+ refreshChangeQz() {
+ this.onLoadQz(this.pageQz, this.queryQz);
+ },
},
mounted() {
// Code to run when the component is mounted
+ this.getApprovers()
},
}
</script>
--
Gitblit v1.9.3