From 7371051db9b19381f42165153d17758a90d68f33 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期日, 29 十月 2023 00:24:36 +0800
Subject: [PATCH] 修改主数据按钮查询权限接口,VciBaseUtil中增加校验当前用户是否为配置的超管用户方法
---
Source/UBCS-WEB/src/views/docking/info.vue | 378 +++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 274 insertions(+), 104 deletions(-)
diff --git a/Source/UBCS-WEB/src/views/docking/info.vue b/Source/UBCS-WEB/src/views/docking/info.vue
index 55271c2..973fcd7 100644
--- a/Source/UBCS-WEB/src/views/docking/info.vue
+++ b/Source/UBCS-WEB/src/views/docking/info.vue
@@ -2,31 +2,52 @@
<el-container>
<el-main>
<basic-container>
- <avue-crud v-model="form" ref="crud" :option="option" :data="data" @on-load="onLoad" :page.sync="page"
+ <avue-crud ref="crud" v-model="form" :cell-style="cellStyle" :data="data" :option="option" :page.sync="page"
+ :permission="permissionList"
+ @on-load="onLoad"
@search-change="searchChange"
@search-reset="searchReset"
@selection-change="selectionChange"
@current-change="currentChange"
- @size-change="sizeChange"
- @refresh-change="refreshChange" @row-click="rowClick">
+ @size-change="sizeChange" @refresh-change="refreshChange" @row-click="rowClick">
<template slot="menu" slot-scope="{row,index}">
- <el-button icon="el-icon-edit" size="small" type="text" @click="updateSave(row,index)">缂栬緫</el-button>
- <el-button icon="el-icon-delete" size="small" type="text" @click="deleteSave(row,index)">鍒犻櫎</el-button>
- <el-button v-if="row.usedflag=='false'" icon="el-icon-position" size="small" type="text" @click="ENABLE(row,index)">鍚敤</el-button>
- <el-button v-else icon="el-icon-finished" size="small" type="text" @click="DISABLE(row,index)">鍋滅敤</el-button>
+ <el-button v-if="permissionList.edit" :disabled="row.usedFlag === 'true' ? false :true"
+ icon="el-icon-edit" size="small"
+ type="text"
+ @click="updateSave(row,index)">缂栬緫
+ </el-button>
+ <el-button v-if="permissionList.delete" icon="el-icon-delete" size="small" type="text"
+ @click="deleteSave(row,index)">鍒犻櫎
+ </el-button>
+ <span v-if="permissionList.enable">
+
+ <el-button v-if="row.usedFlag=='false' || row.usedFlag==''" icon="el-icon-position" size="small"
+ type="text" @click="ENABLE(row,index)">鍚敤
+ </el-button>
+ </span>
+ <span v-if="permissionList.stop">
+ <el-button v-if="row.usedFlag !== 'false' && row.usedFlag !== ''" icon="el-icon-finished"
+ size="small"
+ type="text" @click="DISABLE(row, index)">鍋滅敤
+ </el-button>
+ </span>
</template>
<template slot="menuLeft">
- <el-button size="small" type="primary" icon="el-icon-plus" @click="addSave">鏂� 澧�
+ <el-button v-if="permissionList.add" icon="el-icon-plus" size="small" type="primary"
+ @click="addSave">
+ 鏂� 澧�
</el-button>
- <el-button size="small" icon="el-icon-share" @click="PUSH">鍚� 姝�
+ <el-button v-if="permissionList.sync" icon="el-icon-share" size="small" @click="PUSH">鍚� 姝�
</el-button>
- <el-button size="small" icon="el-icon-search" @click="openAdvancedQuery">鏌� 璇�
+ <el-button v-if="permissionList.query" icon="el-icon-search" size="small"
+ @click="openAdvancedQuery">鏌�
+ 璇�
</el-button>
</template>
</avue-crud>
</basic-container>
</el-main>
- <infoForm ref="infoForm" @refreshTable="refreshChange" :formData="editAttribute"></infoForm>
+ <infoForm ref="infoForm" :formData="editAttribute" @refreshTable="refreshChange"></infoForm>
<!-- 楂樼骇鏌ヨ瀵硅瘽妗� -->
<advanced-query
:ref="advancedQueryParam.ref"
@@ -39,14 +60,16 @@
<script>
import {
- getList,add,edit,del,push,updateStatus
+ getList, add, edit, del, push, updateStatus
} from "@/api/docking/info";
import {getDictionary} from "@/api/omd/enum";
import infoForm from "./infoForm.vue";
+import {mapGetters} from "vuex";
export default {
name: "info",
- components:{infoForm},
+ components: {infoForm},
+
data() {
return {
//鎺ュ彛绫诲瀷涓嬫媺
@@ -90,6 +113,7 @@
option: {
height: "auto",
calcHeight: 20,
+ columnBtn: false,
tip: false,
headerAlign: "center",
border: true,
@@ -106,53 +130,99 @@
addBtn: false,
editBtn: false,
delBtn: false,
- columnBtn: false,
column: [{
- label: '鎺ㄩ�佺被鍨�',
- prop: 'pushType',
- sortable: true,
+ label: '鏄惁鍚敤',
+ prop: 'usedFlag',
width: 150,
- formatter:function (d){
- return this.pushTypeList[d.pushType]
- }
+ formatter: res => res.usedFlag === "true" ? "鍚敤" : "鍋滅敤"
}, {
- label: '绯荤粺鍚嶇О',
+ label: '闆嗘垚绯荤粺',
prop: 'sysBaseName',
sortable: true,
width: 150
}, {
+ label: '鍒嗙被閫夋嫨',
+ prop: 'classifyName',
+ align: 'center',
+ // sortable: true,
+ width: 150
+ }, {
+ label: '缂栫爜绫诲瀷',
+ prop: 'isGroupCodeFlag',
+ sortable: true,
+ width: 150,
+ formatter: res => res.isGroupCodeFlag ? '闆嗗洟鐮�' : '浼佷笟缂栫爜'
+ }, {
+ label: '鎺ュ彛绫诲瀷',
+ prop: 'dataFlowTypeText',
+ align: 'center',
+ sortable: true,
+ width: 150,
+ }, {
+ label: '鎺ㄩ�佺被鍨�',
+ prop: 'pushTypeText',
+ sortable: true,
+ overHidden: true,
+ align: 'center',
+ width: 150,
+ //pushTypeList浣滅敤鍩�
+ // formatter: (d) => {
+ // return this.pushTypeList[d.pushType]
+ // }
+ }, {
label: '绯荤粺缂栧彿',
- prop: 'sysBaseId',
+ prop: 'id',
+ sortable: true,
+ hide: true,
+ width: 150
+ }, {
+ label: '绯荤粺鍚嶇О',
+ prop: 'name',
+ hide: true,
sortable: true,
width: 150
}, {
- label: '鎺ュ彛鍑芥暟',
- prop: 'interfaceFunction',
- sortable: true,
+ label: '鎺ュ彛鏂瑰紡',
+ prop: 'interfaceType',
+ // sortable: true,
width: 150
}, {
- label: '鍛藉悕绌洪棿',
- prop: 'nameSpace',
- sortable: true,
+ label: '绫昏矾寰�',
+ prop: 'classPath',
+ // sortable: true,
width: 150
}, {
label: 'soapAction',
prop: 'soapAction',
+ overHidden: true,
sortable: true,
- width: 150
- }, {
- label: '鍙傛暟鍚嶇О',
- prop: 'targName',
- sortable: true,
- width: 150
+ width: 200
}, {
label: '璋冪敤鏂瑰紡',
prop: 'cxfaxis',
sortable: true,
width: 150
}, {
+ label: '璇锋眰鏂瑰紡',
+ prop: 'requestMethod',
+ align: 'center',
+ // sortable: true,
+ width: 150
+ }, {
label: '璇锋眰鍦板潃',
prop: 'requestUrl',
+ sortable: true,
+ overHidden: true,
+ width: 200
+ }, {
+ label: '鎺ュ彛鍑芥暟',
+ prop: 'interfaceFunction',
+ sortable: true,
+ align: 'center',
+ width: 150
+ }, {
+ label: '鍙傛暟鍚嶇О',
+ prop: 'targetName',
sortable: true,
width: 150
}, {
@@ -160,7 +230,7 @@
prop: 'paramType',
sortable: true,
width: 150,
- formatter:function (d){
+ formatter: (d) => {
return this.paramTypeList[d.paramType]
}
}, {
@@ -168,9 +238,18 @@
prop: 'returnType',
sortable: true,
width: 150,
- formatter:function (d){
+ formatter: (d) => {
return this.returnTypeList[d.returnType]
}
+ }, {
+ label: '鍛藉悕绌洪棿',
+ prop: 'nameSpace',
+ sortable: true,
+ width: 150
+ }, {
+ label: '绯荤粺鎻忚堪',
+ prop: 'description',
+ width: 150
}]
},
// 楂樼骇鏌ヨ瀵硅瘽妗嗙浉鍏冲弬鏁�
@@ -186,6 +265,18 @@
created() {
},
computed: {
+ ...mapGetters(["permission"]),
+ permissionList(){
+ return{
+ sync:this.vaildData(this.permission.info.info_sync,false),
+ add:this.vaildData(this.permission.info.info_add,false),
+ query:this.vaildData(this.permission.info.info_query,false),
+ edit:this.vaildData(this.permission.info.info_edit,false),
+ delete:this.vaildData(this.permission.info.info_delete,false),
+ enable:this.vaildData(this.permission.info.info_enable,false),
+ stop:this.vaildData(this.permission.info.info_stop,false),
+ }
+ },
oids() {
let oids = [];
this.selectionList.forEach(ele => {
@@ -194,7 +285,27 @@
return oids.join(",");
}
},
+ watch: {
+ // editAttribute:{
+ // immediate: true,
+ // handler(newData) {
+ // this.$refs.infoForm.formData = Object.assign({}, newData);
+ // }
+ // }
+ },
methods: {
+ //鍗曞厓鏍兼牱寮�
+ cellStyle(row, column, rowIndex, columnIndex) {
+ if (row.columnIndex == 2) {
+ if (row.row.usedFlag == '' || row.row.usedFlag == 'false') {
+ return {
+ color: 'red',
+ fontWeight: 'bold',
+ fontSize: '20'
+ }
+ }
+ }
+ },
searchReset() {
this.query = {};
this.onLoad(this.page);
@@ -207,11 +318,11 @@
},
selectionChange(list) {
this.selectionList = list;
- if(this.selectionList.length <= 0){
+ if (this.selectionList.length <= 0) {
this.selectRow = null
}
if (this.selectionList.length > 0) {
- this.selectRow = this.selectionList[list.length-1].$index;
+ this.selectRow = this.selectionList[list.length - 1].$index;
}
},
selectionClear() {
@@ -230,21 +341,30 @@
addSave() {
this.$refs.infoForm.showSubmitDialog = true;
this.$refs.infoForm.formData = {
- dataFlowType:'push',
- pushType:'1',
- sysIntParamVOs:[],
- sysIntHeaderVOs:[]
+ dataFlowType: '',
+ pushType: '',
+ sourceSystemName: '',
+ sourceSystemOid: '',
+ sourceSystemId: '',
+ targetSystemName: '',
+ targetSystemOid: '',
+ targetSystemId: '',
+ sysIntParamVOs: [],
+ sysIntHeaderVOs: []
};
},
- updateSave(row,index) {
+ updateSave(row, index) {
this.selectRow = row;
this.editAttribute = row;
- this.editAttribute.sysIntParamVOs = row.sysIntParamVOs||[];
- this.editAttribute.sysIntHeaderVOs = row.sysIntHeaderVOs||[];
+ this.editAttribute.sysIntParamVOs = row.sysIntParamVOs || [];
+ this.editAttribute.sysIntHeaderVOs = row.sysIntHeaderVOs || [];
+ this.editAttribute.type = 'edit';
this.$refs.infoForm.formData = this.editAttribute;
this.$refs.infoForm.showSubmitDialog = true;
+ // console.log('row',this.editAttribute.pushType)
+ // console.log('editAttribute',this.editAttribute.dataFlowTypeText)
},
- deleteSave(row,index) {
+ deleteSave(row, index) {
this.$confirm("鍒犻櫎鏁版嵁灏嗘棤娉曡鎭㈠, 鏄惁缁х画?", "鎻愮ず", {
iconClass: 'el-icon-question',
confirmButtonText: "纭畾",
@@ -252,28 +372,28 @@
showClose: true,
type: "warning"
}).then(() => {
- remove(row.oid).then(res => {
+ del({oids: row.oid}).then(res => {
this.$message.success("鍒犻櫎鎴愬姛");
this.refreshChange();
});
});
},
- ENABLE(row,index){
+ ENABLE(row, index) {
//鍚敤
- this.updateStatus("enable");
+ this.updateStatus(row, "enable");
},
- DISABLE(row,index){
+ DISABLE(row, index) {
//鍋滅敤
- this.updateStatus("disable");
+ this.updateStatus(row, "disable");
},
- updateStatus(able){
+ updateStatus(selectRow, able) {
var that = this;
var paramTemp = {
- update:able,
- oid:this.selectRow.oid,
- ts:this.selectRow.ts
+ update: able,
+ oid: selectRow.oid,
+ ts: selectRow.ts
};
- this.$confirm("鏄惁瑕�"+(able == "enbale" ? "鍚敤" : (able == "disable" ? "鍋滅敤": "鍙戝竷")) +"杩欐潯鏁版嵁锛�", {
+ this.$confirm("鏄惁瑕�" + (able == "enbale" ? "鍚敤" : (able == "disable" ? "鍋滅敤" : "鍙戝竷")) + "杩欐潯鏁版嵁锛�", {
confirmButtonText: "纭畾",
cancelButtonText: "鍙栨秷",
type: "warning"
@@ -285,17 +405,16 @@
this.onLoad(this.page);
this.$message({
type: "success",
- message:(able == "enbale" ? "鍚敤鎴愬姛" : (able == "disable" ? "鍋滅敤鎴愬姛": "鍙戝竷鎴愬姛"))
+ message: (able == "enbale" ? "鍚敤鎴愬姛" : (able == "disable" ? "鍋滅敤鎴愬姛" : "鍙戝竷鎴愬姛"))
});
- this.$refs.crud.toggleSelection();
});
},
- PUSH(){
+ PUSH() {
if (this.selectionList.length != 1) {
- this.$message.error('璇烽�夋嫨鏁版嵁')
+ this.$message.warning('璇烽�夋嫨鏁版嵁')
return false;
}
- this.$confirm("鏄惁瑕�"+ (this.selectionList[0].pushType == "1" ? "鎺ㄩ�佹暟鎹�" : "鎺ㄩ�佸垎绫�"), {
+ this.$confirm("鏄惁瑕�" + (this.selectionList[0].pushType == "1" ? "鎺ㄩ�佹暟鎹�" : "鎺ㄩ�佸垎绫�"), {
confirmButtonText: "纭畾",
cancelButtonText: "鍙栨秷",
type: "warning"
@@ -315,11 +434,31 @@
onLoad(page, params = {}) {
this.loading = true;
getList(this.page.currentPage, this.page.pageSize, Object.assign(params, this.query)).then(res => {
+ // console.log(res)
const data = res.data.data;
this.page.total = data.total;
this.data = data.records;
+ // const Props = {
+ // paramType: '',
+ // returnType: '',
+ // dataFlowType: '',
+ // pushType: '',
+ // classifyName: '',
+ // sourceSystemName: '',
+ // targetSystemName: '',
+ // classPath:'',
+ // requestMethod:'',
+ // requestUrl:'',
+ // interfaceFunction:'',
+ // nameSpace:'',
+ // soapAction:'',
+ // targetName:'',
+ // cxfaxis:''
+ // };
+ // this.pushTypeList.forEach(item => {
+ // Object.assign(item, Props);
+ // });
this.loading = false;
- this.data = res.data.data.records;
});
},
rowClick(row) {
@@ -328,50 +467,64 @@
this.$refs.crud.toggleRowSelection(row); //閫変腑褰撳墠琛�
},
/** 楂樼骇鏌ヨ瀵硅瘽妗嗙粍浠�,缁勪欢杩斿洖鐨勫�兼槸condtionMap[field]褰㈠紡鐨勬煡璇㈡潯浠讹紝淇濈暀浜嗗拰涔嬪墠涓�鏍风殑鏂瑰紡 */
- echoSeniorContionMap(conditionMaps){
- if(JSON.stringify(conditionMaps)!='{}'){
+ echoSeniorContionMap(conditionMaps) {
+ if (JSON.stringify(conditionMaps) != '{}') {
this.query = conditionMaps;
this.onLoad(this.page);
}
},
- openAdvancedQuery(){
- this.advancedQueryParam.options = [
- {
- data: [],
- title: '缂栧彿',
- fieldType: 'text',
- queryField: 'id',
- },{
- data: [],
- title: '鍚嶇О',
- fieldType: 'text',
- queryField: 'name',
- },{
- data: [],
- title: '鎻忚堪',
- fieldType: 'text',
- queryField: 'description',
- },{
- data: [
- // {
- // key: '缂栬緫涓�',
- // value: 'Editing',
- // },
- // {
- // key: '宸插彂甯�',
- // value: 'Released',
- // },
- // {
- // key: '鍋滅敤',
- // value: 'Disabled',
- // },
- ],
- title: '鐘舵��',
- fieldType: 'combox',
- queryField: 'lcStatus',
- comboxKey: 'codeSearchLCStatus',
- },
- ]
+ openAdvancedQuery() {
+ this.advancedQueryParam.options = [{
+ data: this.pushTypeList,
+ title: '鎺ㄩ�佺被鍨�',
+ queryField: 'pushType',
+ fieldType: 'combox',
+ comboxKey: 'searchPushType'
+ }, {
+ title: '绯荤粺鍚嶇О',
+ queryField: 'sysBaseName',
+ fieldType: 'text'
+ }, {
+ title: '绯荤粺缂栧彿',
+ queryField: 'sysBaseId',
+ fieldType: 'text'
+ }, {
+ title: '鎺ュ彛鍑芥暟',
+ queryField: 'interfaceFunction',
+ fieldType: 'text'
+ }, {
+ title: '鍛藉悕绌洪棿',
+ queryField: 'nameSpace',
+ fieldType: 'text'
+ }, {
+ title: 'soapAction',
+ queryField: 'soapAction',
+ fieldType: 'text'
+ }, {
+ title: '鍙傛暟鍚嶇О',
+ queryField: 'targetName',
+ fieldType: 'text'
+ }, {
+ title: '璋冪敤鏂瑰紡',
+ queryField: 'cxfaxis',
+ fieldType: 'text'
+ }, {
+ title: '璇锋眰鍦板潃',
+ queryField: 'requestUrl',
+ fieldType: 'text'
+ }, {
+ title: '鍙傛暟绫诲瀷',
+ queryField: 'paramType',
+ fieldType: 'combox',
+ comboxKey: 'searchparamType',
+ data: this.paramTypeList
+ }, {
+ title: '杩斿洖鍊肩被鍨�',
+ queryField: 'returnType',
+ fieldType: 'combox',
+ comboxKey: 'searchreturnType',
+ data: this.returnTypeList
+ }]
this.advancedQueryParam.currentOpen = 'info';
this.advancedQueryParam.advancedQuerySettingBox = true;
@@ -380,8 +533,25 @@
}
</script>
-<style lang="scss">
-.applyRangeTable>.el-card:nth-of-type(2)>.el-card__body>.avue-crud__menu {
+<style lang="scss" scoped>
+.applyRangeTable > .el-card:nth-of-type(2) > .el-card__body > .avue-crud__menu {
display: none !important;
}
+
+// 婊氬姩鏉℃牱寮忎慨鏀�
+// 婊氬姩鏉$殑瀹藉害
+/deep/ .el-table__body-wrapper::-webkit-scrollbar {
+ height: 15px; // 绾靛悜婊氬姩鏉� 蹇呭啓
+ background: white;
+ border: white;
+ width: 10px;
+
+}
+
+// 婊氬姩鏉$殑婊戝潡
+/deep/ .el-table__body-wrapper::-webkit-scrollbar-thumb {
+ background-color: #ececec;
+ border-radius: 20px;
+ border: #ececec;
+}
</style>
--
Gitblit v1.9.3