From 38dd9ea383a844f54c05676dcc09acf7d6552727 Mon Sep 17 00:00:00 2001
From: zhangxp <zhangxp@chicecm.com>
Date: 星期五, 07 七月 2023 18:08:05 +0800
Subject: [PATCH] 主数据动态按钮
---
.gitignore | 2
Source/UBCS-WEB/src/components/Crud/VciMasterCrud.vue | 224 +++++++++++++++---------------------
Source/UBCS-WEB/src/views/MasterData/items.vue | 122 +++++++++-----------
Source/UBCS-WEB/src/components/Master/MasterTree.vue | 5
4 files changed, 156 insertions(+), 197 deletions(-)
diff --git a/.gitignore b/.gitignore
index 32858aa..fd96978 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,3 +10,5 @@
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
+Source/UBCS-WEB/vue.config.js
+Source/UBCS-WEB/package-lock.json
diff --git a/Source/UBCS-WEB/src/components/Crud/VciMasterCrud.vue b/Source/UBCS-WEB/src/components/Crud/VciMasterCrud.vue
index 2c7f374..137ee2c 100644
--- a/Source/UBCS-WEB/src/components/Crud/VciMasterCrud.vue
+++ b/Source/UBCS-WEB/src/components/Crud/VciMasterCrud.vue
@@ -2,11 +2,9 @@
<basic-container>
<div class="testbox">
<div>
- <el-button plain size="small" type="primary" @click="addvisible = true"
- >澧炲姞
+ <!-- <el-button plain size="small" type="primary" @click="addvisible = true">澧炲姞
</el-button>
- <el-button plain size="small" type="primary" @click="editHandler"
- >缂栬緫
+ <el-button plain size="small" type="primary" @click="editHandler">缂栬緫
</el-button>
<el-button plain size="small" type="primary" @click="openBatchImport('batchImportApply')">鎵归噺瀵煎叆鐢宠</el-button>
<el-button plain size="small" type="primary" @click="openBatchImport('historyImport')">鍘嗗彶鏁版嵁瀵煎叆</el-button>
@@ -14,126 +12,60 @@
<el-button plain size="small" type="primary">鎵归噺鍙戝竷</el-button>
<el-button plain size="small" type="primary">鏌ョ湅娴佺▼鍘嗗彶</el-button>
<el-button plain size="small" type="primary">鍒犻櫎</el-button>
- <el-button plain size="small" type="primary" @click="setHandler"
- >鍙戝竷</el-button
- >
- <el-button plain size="small" type="primary" @click="DataChange"
- >鏁版嵁鏇存敼</el-button
- >
- <el-button plain size="small" type="primary" @click="huishouHandler"
- >鍥炴敹</el-button
- >
- <el-button plain size="small" type="primary" @click="openD"
- >瀵煎嚭
+ <el-button plain size="small" type="primary" @click="setHandler">鍙戝竷</el-button>
+ <el-button plain size="small" type="primary" @click="DataChange">鏁版嵁鏇存敼</el-button>
+ <el-button plain size="small" type="primary" @click="huishouHandler">鍥炴敹</el-button>
+ <el-button plain size="small" type="primary" @click="openD">瀵煎嚭
</el-button>
- <el-button plain size="small" type="primary" @click="findHandler"
- >鏌ヨ
+ <el-button plain size="small" type="primary" @click="findHandler">鏌ヨ
</el-button>
- <el-button plain size="small" type="primary" @click="similarHandler"
- >鐩镐技椤规煡璇�</el-button
- >
+ <el-button plain size="small" type="primary" @click="similarHandler">鐩镐技椤规煡璇�</el-button>
<el-button plain size="small" type="primary">鍒锋柊</el-button>
- <el-input
- placeholder="璇疯緭鍏ュ叧閿瓧鎸夊洖杞︽煡璇�"
- size="small"
- style="width: 180px; margin-left: 5px; margin-top: 10px"
- ></el-input>
+ <el-input placeholder="璇疯緭鍏ュ叧閿瓧鎸夊洖杞︽煡璇�" size="small"
+ style="width: 180px; margin-left: 5px; margin-top: 10px"></el-input> -->
+ <el-button plain size="small" type="primary" v-for="(item, index) in masterVrBtnList" :key="index"
+ @click="handelBtnClick(item)">{{
+ item.name }}</el-button>
+ <el-input placeholder="璇疯緭鍏ュ叧閿瓧鎸夊洖杞︽煡璇�" size="small"
+ style="width: 180px; margin-left: 5px; margin-top: 10px"></el-input>
</div>
<el-row style="height: 700px; width: 100%">
- <el-table
- v-loading="isLoading"
- :data="tableData"
- max-height="700"
- style=""
- @cell-click="handleCellClick"
- @selection-change="handleSelectionChange"
- @sort-change="sortChange"
- v-if="tableData.length != 0"
- >
+ <el-table v-loading="isLoading" :data="tableData" max-height="700" style="" @cell-click="handleCellClick"
+ @selection-change="handleSelectionChange" @sort-change="sortChange" v-if="tableData.length != 0">
<el-table-column fixed type="selection" width="55"> </el-table-column>
<el-table-column fixed label="搴忓彿" type="index" width="55">
</el-table-column>
- <el-table-column
- v-for="item in this.tableHeadFindData"
- :key="item.id"
- :label="item.label"
- :prop="item.prop"
- :sortable="item.sortable"
- :formatter="item.formatter"
- :width="item.label.length >=4 ?'150':item.label.length==3 ?'120':'90'"
- :show-overflow-tooltip="true"
- align="center"
- >
+ <el-table-column v-for="item in this.tableHeadFindData" :key="item.id" :label="item.label" :prop="item.prop"
+ :sortable="item.sortable" :formatter="item.formatter"
+ :width="item.label.length >= 4 ? '150' : item.label.length == 3 ? '120' : '90'" :show-overflow-tooltip="true"
+ align="center">
</el-table-column>
</el-table>
</el-row>
- <FormTemplateDialog
- :codeClassifyOid="this.codeClassifyOid"
- :codeRuleOid="this.codeRuleOid"
- :disabledProp="disabledProp"
- :templateOid="templateOid"
- type="add"
- :visible.sync="addvisible"
- @submit="AddSumbit"
- >
+ <FormTemplateDialog :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid"
+ :disabledProp="disabledProp" :templateOid="templateOid" type="add" :visible.sync="addvisible" @submit="AddSumbit">
</FormTemplateDialog>
- <FormTemplateDialog
- :codeClassifyOid="this.codeClassifyOid"
- :codeRuleOid="this.codeRuleOid"
- :disabledProp="disabledProp"
- :rowOid="rowOid"
- :templateOid="templateOid"
- type="edit"
- :title="'淇敼缂栫爜淇℃伅'"
- :visible.sync="editvisible"
- @submit="EditSumbit"
- ></FormTemplateDialog>
- <FormTemplateDialog
- :codeClassifyOid="this.codeClassifyOid"
- :codeRuleOid="this.codeRuleOid"
- :disabledProp="disabledProp"
- :rowOid="rowOid"
- :templateOid="templateOid"
- :type="edit"
- :title="'宸插彂甯冩暟鎹洿鏀�'"
- :visible.sync="DataVisible"
- ></FormTemplateDialog>
- <set-personnel
- :visible.sync="visibleFlow"
- :parameter="this.parameter"
- ></set-personnel>
- <advanced-query
- :options="this.options"
- :visible.sync="findvisible"
- @echoContion="echoContion"
- ></advanced-query>
- <integration-transfer
- :data="transferData"
- :props="transferProps"
- :visible.sync="dialogPush"
- @save="handelTransferSave"
- ></integration-transfer>
- <ResembleQueryDialog
- :visible.sync="similarVisible"
- :templateOid="templateOid"
- :codeClassifyOid="codeClassifyOid"
- :rowOid="rowOid"
- :codeRuleOid="this.codeRuleOid"
- ></ResembleQueryDialog>
+ <FormTemplateDialog :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid"
+ :disabledProp="disabledProp" :rowOid="rowOid" :templateOid="templateOid" type="edit" :title="'淇敼缂栫爜淇℃伅'"
+ :visible.sync="editvisible" @submit="EditSumbit"></FormTemplateDialog>
+ <FormTemplateDialog :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid"
+ :disabledProp="disabledProp" :rowOid="rowOid" :templateOid="templateOid" :type="edit" :title="'宸插彂甯冩暟鎹洿鏀�'"
+ :visible.sync="DataVisible"></FormTemplateDialog>
+ <set-personnel :visible.sync="visibleFlow" :parameter="this.parameter"></set-personnel>
+ <advanced-query :options="this.options" :visible.sync="findvisible" @echoContion="echoContion"></advanced-query>
+ <integration-transfer :data="transferData" :props="transferProps" :visible.sync="dialogPush"
+ @save="handelTransferSave"></integration-transfer>
+ <ResembleQueryDialog :visible.sync="similarVisible" :templateOid="templateOid" :codeClassifyOid="codeClassifyOid"
+ :rowOid="rowOid" :codeRuleOid="this.codeRuleOid"></ResembleQueryDialog>
</div>
<div class="block" style="display: flex; justify-content: flex-end">
- <el-pagination
- :current-page="page.currentPage"
- :page-size="page.pageSizes"
- :page-sizes="page.pageSizes"
- :total="page.total"
- layout="total, sizes, prev, pager, next, jumper"
- @size-change="handleSizeChange"
- @current-change="handleCurrentChange"
- >
+ <el-pagination :current-page="page.currentPage" :page-size="page.pageSizes" :page-sizes="page.pageSizes"
+ :total="page.total" layout="total, sizes, prev, pager, next, jumper" @size-change="handleSizeChange"
+ @current-change="handleCurrentChange">
</el-pagination>
</div>
- <BatchImport v-if="batchImportData.visible" :visible.sync="batchImportData.visible" v-bind="batchImportData"></BatchImport>
+ <BatchImport v-if="batchImportData.visible" :visible.sync="batchImportData.visible" v-bind="batchImportData">
+ </BatchImport>
</basic-container>
</template>
<script>
@@ -188,6 +120,9 @@
tableHeadFindData: {
type: Array,
},
+ tableHeadBtnData: {
+ type: Array,
+ },
},
data() {
return {
@@ -199,8 +134,8 @@
code: "",
type: "PUBLIC",
template: "",
- vars:{
- codeClassifyOid:""
+ vars: {
+ codeClassifyOid: ""
}
},
visibleFlow: false,
@@ -243,25 +178,27 @@
visible: false,
type: '',
codeClassifyOid: ''
- }
+ },
+ // 涓绘暟鎹寜閽�
+ masterVrBtnList: []
};
},
computed: {},
- created() {},
- mounted() {},
+ created() { },
+ mounted() { },
activated() {
- this.doLayout();
+ // this.doLayout();
},
watch: {
- tableHeadDataFateher:{
- handler(newval,oldval){
- this.options=newval.tableDefineVO.seniorQueryColumns
+ tableHeadDataFateher: {
+ handler(newval, oldval) {
+ this.options = newval.tableDefineVO.seniorQueryColumns
}
},
codeClassifyOid: {
handler(newval, oldval) {
this.codeClassifyOid = newval;
- this.parameter.vars.codeClassifyOid=newval
+ this.parameter.vars.codeClassifyOid = newval
},
deep: true,
},
@@ -272,16 +209,16 @@
},
tableHeadFindData: {
handler(newval, oldval) {
- newval.forEach((record,_index) =>{
- if(record.field == 'id' && validatenull(record.templet)){
+ newval.forEach((record, _index) => {
+ if (record.field == 'id' && validatenull(record.templet)) {
//浼佷笟缂栫爜鐨勯粯璁ゆ坊鍔犺秴閾炬帴,鏆傛湭瀹炵幇
record.formatter = '';
- }else {
- if (record.templet && typeof (record.templet) == 'string' && !validatenull(record.templet) && record.templet.indexOf("function(row,column)")>-1) {
+ } else {
+ if (record.templet && typeof (record.templet) == 'string' && !validatenull(record.templet) && record.templet.indexOf("function(row,column)") > -1) {
record.formatter = eval("(" + record.templet + ")");
//function(row,column){return row[column.property]=='true' || row[column.property]=='1'?'鏄�':'鍚�'}
- }else if(record.fieldType=="truefalse"){
- record.formatter = function(row,column){return row[column.property]=='true' || row[column.property]=='1'?'鏄�':'鍚�'}
+ } else if (record.fieldType == "truefalse") {
+ record.formatter = function (row, column) { return row[column.property] == 'true' || row[column.property] == '1' ? '鏄�' : '鍚�' }
}
}
})
@@ -299,6 +236,14 @@
},
deep: true,
},
+ tableHeadBtnData: {
+ handler(newval) {
+ if (newval.length !== 0) {
+ this.masterVrBtnList = newval
+ }
+ },
+ deep: true
+ }
},
methods: {
// 鍙戝竷
@@ -310,6 +255,28 @@
this.parameter.template = this.userName + "-鍙戝竷" + "[鐗╁搧]";
this.visibleFlow = true;
}
+ },
+ openVis(visible) {
+ console.log(visible)
+ this[visible] = true
+ },
+ handelBtnClick(event) {
+ const { uniqueFlag } = event
+ this.$nextTick(() => {
+ if (uniqueFlag === 'CODEADD') return this.addvisible = true
+ if (uniqueFlag === 'CODEEDIT') return this.editHandler()
+ if (uniqueFlag === 'CODEBATCHADD') return this.openBatchImport('batchImportApply')
+ if (uniqueFlag === 'CODEIMPORTHISTORY') return this.openBatchImport('historyImport')
+ // 鎵归噺鐢宠缂栫爜
+ // if(uniqueFlag === 'CODEEDIT') return this.openBatchImport('batchApplyCode')
+ if (uniqueFlag === 'CODESTARTPROCESS') return this.setHandler()
+ if (uniqueFlag === 'CODEUPREVISION') return this.DataChange()
+ if (uniqueFlag === 'CODERECYCLE') return this.huishouHandler()
+ if (uniqueFlag === 'CODEEXPORT') return this.openD()
+ if (uniqueFlag === 'CODEQUERY') return this.findHandler()
+ // 鐩镐技椤规煡璇�
+ // if(uniqueFlag === 'CODEEDIT') return this.similarHandler()
+ });
},
openD() {
this.getListCodeByClassId();
@@ -359,6 +326,7 @@
},
doLayout() {
this.$nextTick(() => {
+ console.log(this.$refs)
this.$refs.crud.doLayout();
});
},
@@ -446,7 +414,7 @@
row.forEach((item) => {
this.parameter.ids.push(item.oid);
});
- console.log( ' this.parameter.ids',this.parameter.ids)
+ console.log(' this.parameter.ids', this.parameter.ids)
},
//缂栬緫
editHandler() {
@@ -473,8 +441,8 @@
...val,
}).then((res) => {
console.log(res);
- this.tableData=res.data.data;
- this.page.total=res.data.total
+ this.tableData = res.data.data;
+ this.page.total = res.data.total
});
},
//鐩镐技椤规煡璇�
@@ -529,6 +497,4 @@
/deep/ .el-button {
margin: 0 10px 10px 0;
}
-
-
</style>
diff --git a/Source/UBCS-WEB/src/components/Master/MasterTree.vue b/Source/UBCS-WEB/src/components/Master/MasterTree.vue
index 4d63d27..dd92b72 100644
--- a/Source/UBCS-WEB/src/components/Master/MasterTree.vue
+++ b/Source/UBCS-WEB/src/components/Master/MasterTree.vue
@@ -29,6 +29,7 @@
},
data(){
return{
+ masterVrBtnList:[],
tableHeadFindData:[],
tableHeadDataFateher:[],
templateOids:"",
@@ -120,6 +121,8 @@
codeClassifyOid: this.nodeClickList.oid,
functionId: 5,
}).then(res => {
+ console.log(res.data.buttons)
+ this.masterVrBtnList = res.data.buttons
this.tableHeadDataFateher = res.data;
this.templateOids = res.data.tableDefineVO.oid;
let List = res.data.tableDefineVO.cols[0];
@@ -136,6 +139,7 @@
})
this.$emit('tableHeadDataFateher', this.tableHeadDataFateher);
this.$emit('tableHeadFindData', this.tableHeadFindData);
+ this.$emit('tableHeadBttoms', this.masterVrBtnList);
resolve();
}).catch(err=>{
reject(err)
@@ -152,7 +156,6 @@
this.TableRend(); // TableHeadRend() 鏂规硶瀹屾垚鍚庡啀鎵ц TableRend()
this.$emit('nodeClick',this.templateOids)
this.$emit("codeClassifyOid", this.nodeClickList.oid )
-
} catch (error) {
// 澶勭悊閿欒
this.$message.error(error)
diff --git a/Source/UBCS-WEB/src/views/MasterData/items.vue b/Source/UBCS-WEB/src/views/MasterData/items.vue
index 0ca87ed..5a94682 100644
--- a/Source/UBCS-WEB/src/views/MasterData/items.vue
+++ b/Source/UBCS-WEB/src/views/MasterData/items.vue
@@ -1,43 +1,29 @@
<template>
- <el-container>
- <el-aside>
- <basic-container style="height: 85vh; max-height: 155vh; overflow-y: scroll;">
-<!-- 鏍戠粍浠�-->
- <master-tree @codeClassifyOid="codeClassifyOidList"
- @coderuleoid="coderuleoidList"
- :pageSize="this.pageSize"
- :currentPage="this.currentPage"
- @tableDataArray="tableDataArrays"
- @tableHeadDataFateher="tableHeadDatas"
- @total="totals"
- @nodeClick="nodeClick"
- @tableHeadFindData="tableHeadFindDatas"
- ></master-tree>
- </basic-container>
- </el-aside>
- <el-main>
-<!-- 琛ㄦ牸缁勪欢-->
- <VciMasterCrud :page="this.page"
- :codeClassifyOid="this.codeClassifyOid"
- :coderuleoid="this.coderuleoid"
- @pageSize="pageSizes"
- @currentPage="currentPages"
- :tableDataArray="tableDataArray"
- :total="this.total"
- :tableHeadDataFateher="this.tableHeadDataFateher"
- :isLoading="isLoading"
- :templateOid="templateOid"
- :tableHeadFindData="tableHeadFindData"
- ></VciMasterCrud>
- </el-main>
- </el-container>
+ <el-container>
+ <el-aside>
+ <basic-container style="height: 85vh; max-height: 155vh; overflow-y: scroll;">
+ <!-- 鏍戠粍浠�-->
+ <master-tree @codeClassifyOid="codeClassifyOidList" @coderuleoid="coderuleoidList" :pageSize="this.pageSize"
+ :currentPage="this.currentPage" @tableDataArray="tableDataArrays" @tableHeadDataFateher="tableHeadDatas"
+ @tableHeadBttoms="tableHeadBttoms" @total="totals" @nodeClick="nodeClick"
+ @tableHeadFindData="tableHeadFindDatas"></master-tree>
+ </basic-container>
+ </el-aside>
+ <el-main>
+ <!-- 琛ㄦ牸缁勪欢-->
+ <VciMasterCrud :page="this.page" :codeClassifyOid="this.codeClassifyOid" :coderuleoid="this.coderuleoid"
+ @pageSize="pageSizes" @currentPage="currentPages" :tableDataArray="tableDataArray" :total="this.total"
+ :tableHeadDataFateher="this.tableHeadDataFateher" :isLoading="isLoading" :templateOid="templateOid"
+ :tableHeadFindData="tableHeadFindData" :tableHeadBtnData="masterVrBtnList"></VciMasterCrud>
+ </el-main>
+ </el-container>
</template>
<script>
export default {
name: "items.vue",
- data(){
- return{
+ data() {
+ return {
// 鍒嗛〉
page: {
total: 0,
@@ -45,56 +31,58 @@
pageSize: 10,
pageSizes: [10, 30, 50, 100, 200],
},
- pageSize:"10",
- currentPage:"1",
- codeClassifyOid:"",
- coderuleoid:"",
- templateOid:"",
- tableDataArray:[],
- tableHeadDataFateher:[],
- total:"",
+ pageSize: "10",
+ currentPage: "1",
+ codeClassifyOid: "",
+ coderuleoid: "",
+ templateOid: "",
+ tableDataArray: [],
+ masterVrBtnList: [],
+ tableHeadDataFateher: [],
+ total: "",
isLoading: false,
- tableHeadFindData:{}
+ tableHeadFindData: {}
}
},
created() {
},
- methods:{
- codeClassifyOidList(val){
- this.codeClassifyOid=val;
+ methods: {
+ codeClassifyOidList(val) {
+ this.codeClassifyOid = val;
},
- coderuleoidList(val){
- this.coderuleoid=val;
+ coderuleoidList(val) {
+ this.coderuleoid = val;
},
- pageSizes(val){
- this.pageSize=val
+ pageSizes(val) {
+ this.pageSize = val
},
- currentPages(val){
- this.currentPage=val
+ currentPages(val) {
+ this.currentPage = val
},
- tableDataArrays(val){
- this.tableDataArray=val
+ tableDataArrays(val) {
+ this.tableDataArray = val
},
- totals(val){
- this.total=val
+ totals(val) {
+ this.total = val
},
- tableHeadDatas(val){
- this.tableHeadDataFateher=val
+ tableHeadDatas(val) {
+ this.tableHeadDataFateher = val
},
- tableHeadFindDatas(val){
- this.tableHeadFindData=val
+ tableHeadFindDatas(val) {
+ this.tableHeadFindData = val
},
- nodeClick(val){
- this.templateOid=val;
- this.isLoading=true;
+ nodeClick(val) {
+ this.templateOid = val;
+ this.isLoading = true;
setTimeout(() => {
this.isLoading = false;
}, 2000);
-}
+ },
+ tableHeadBttoms(val) {
+ this.masterVrBtnList = val
+ },
}
}
</script>
-<style scoped>
-
-</style>
+<style scoped></style>
--
Gitblit v1.9.3