From 8537a8d58b5a3750b57d76367ef51f086af271df Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期四, 18 四月 2024 00:09:40 +0800
Subject: [PATCH] 集团属性池映射界面代码完善
---
Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue | 207 ++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 171 insertions(+), 36 deletions(-)
diff --git a/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue b/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue
index 847ed74..b31faac 100644
--- a/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue
+++ b/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue
@@ -1,6 +1,7 @@
<template>
<div>
- <div v-if="this.crudArrayFlag" class="app" style="display: flex;flex-wrap: wrap; display: inline-block">
+ <div v-if="this.crudArrayFlag" class="app"
+ style="display: flex;flex-wrap: wrap; display: inline-block;height: 80px">
<el-button-group>
<!--鏂板-->
<span v-if="permissionList.busineStatus">
@@ -276,8 +277,8 @@
</el-dialog>
<!-- 鍏ㄥ睆缂栬緫-->
<el-dialog :before-close="escEdit" :visible.sync="attrEditVisible" append-to-body fullscreen="true">
- <attrCrud :ProData="this.ProData" :attrFlagChiledren="this.attrFlag" :crudArrayFlag="this.crudArrayFlag"
- :editOpenFlag="editOpenFlag" :editStyleFlag="editStyleFlag"
+ <attrCrud :ProData="this.ProData" :attrFlagChiledren="this.attrFlag" :btnAuthList="btnAuthList"
+ :crudArrayFlag="this.crudArrayFlag" :editOpenFlag="editOpenFlag" :editStyleFlag="editStyleFlag"
@editCloseChildren="editClose"></attrCrud>
</el-dialog>
<!-- 缁勫悎瑙勫垯-->
@@ -318,12 +319,28 @@
:referConfigOption="referConfigOption"
@setReferConfigValue="setReferConfigValue"
></refer-config-dialog>
+ <!--杩戜箟璇嶆煡璇㈣鍒� -->
+ <el-dialog :visible.sync="synonymVisible" append-to-body title="杩戜箟璇嶆煡璇㈣鍒�">
+ <avue-crud v-loading="sysonymLoading" :data="synonymData" :option="synonymOption" @selection-change="sysChange">
+ <template slot="lcStatus" slot-scope="{row}">
+ <el-tag v-if="row.lcStatus === 'Released'" type="success">鍚敤</el-tag>
+ <el-tag v-else type="danger">鍋滅敤</el-tag>
+ </template>
+ </avue-crud>
+ <div slot="footer" class="dialog-footer">
+ <el-button type="info" @click="sysClear">娓呯┖</el-button>
+ <el-button type="primary" @click="sysnonymSubmit">纭畾</el-button>
+ <el-button @click="sysnonymCancel">鍙栨秷</el-button>
+ </div>
+ </el-dialog>
</div>
+
<el-table v-if="this.crudArrayFlag"
ref="referAttrCrud"
v-loading="loading"
:data="ProData"
+ :header-cell-style="{background:'#FAFAFA',color:'#505050'}"
:height="this.tableHeight"
border
style="width: 100%"
@@ -357,13 +374,15 @@
@blur="saveRows(row)"
></el-input>
<el-input-number v-if="editingRows === row && editShows== item.prop && item.edit == 'number'"
+ v-show="!AddCellFlag"
v-model="row[item.prop]"
:style="{width:(item.width-10)+'px'}"
controls-position="right"
size="small" @blur="saveRows"></el-input-number>
- <el-select v-if="editingRows === row && editShows== item.prop && item.edit == 'select' " slot="prepend"
- v-model="row[item.prop]" allow-create default-first-option
- filterable
+ <el-select v-if="editingRows === row && editShows== item.prop && item.edit == 'select' " v-show="!AddCellFlag"
+ slot="prepend"
+ v-model="row[item.prop]" :clearable="true" allow-create
+ default-first-option filterable
@blur="selectChangeHandler(item.editConfig,index)">
<el-option
v-for="optionItem in item.data"
@@ -397,7 +416,14 @@
</template>
<script>
-import {AttrByBtm, gridCodeClassifyTemplateAttr, batchAddSave, copyto, listByFlag} from '@/api/template/templateAttr'
+import {
+ AttrByBtm,
+ gridCodeClassifyTemplateAttr,
+ batchAddSave,
+ copyto,
+ listByFlag,
+ codeSynonym
+} from '@/api/template/templateAttr'
import {getList} from "@/api/refer/table";
import func from "@/util/func";
import {getCurrentInstance} from "vue";
@@ -448,6 +474,9 @@
type: Boolean,
default: false
},
+ btnAuthList: {
+ type: Array
+ }
},
watch: {
crudOid: {
@@ -512,6 +541,48 @@
},
data() {
return {
+ sysSelectData: [],
+ sysonymLoading: false,
+ synonymOption: {
+ addBtn: false,
+ editBtn: false,
+ delBtn: false,
+ refreshBtn: false,
+ columnBtn: false,
+ menu: false,
+ selection: true,
+ column: [
+ {
+ label: '缂栫爜',
+ prop: 'id',
+ align: 'center'
+ },
+ {
+ label: '鍚嶇О',
+ prop: 'name',
+ align: 'center'
+ },
+ {
+ label: '婧愬��',
+ prop: 'sourceValue',
+ align: 'center'
+ },
+ {
+ label: '鍚屼箟璇�',
+ prop: 'synonymValue',
+ align: 'center'
+ },
+ {
+ label: '鍚仠鐘舵��',
+ prop: 'lcStatus',
+ align: 'center',
+ slot: true
+ },
+ ]
+ },
+ synonymData: [],
+ //杩戜箟璇嶆煡璇㈣鍒�
+ synonymVisible: false,
//琛ㄦ牸楂樺害
dynamicHeight: '',
// 淇濆瓨鍗曞厓鏍肩姸鎬�
@@ -805,7 +876,7 @@
},
{
label: "鍙",
- prop: "readonlyFlag",
+ prop: "readOnlyFlag",
},
{
label: "鍒楄〃鎺掑簭",
@@ -1104,6 +1175,10 @@
indexClassName: "搴忓彿",
indexLabelClassName: '搴忓彿',
index: true,
+ indexFixed: false,
+ selectionFixed: false,
+ columnBtn: false,
+ refreshBtn: false,
border: true,
addBtn: false,
menu: false,
@@ -1113,7 +1188,7 @@
{
label: "灞炴�ц嫳鏂囧悕绉�",
prop: "id",
- width: 100,
+ width: 130,
},
{
label: "灞炴�т腑鏂囧悕绉�",
@@ -1279,6 +1354,12 @@
edit: "switch"
},
{
+ label: '杩戜箟璇嶆煡璇㈣鍒�',
+ prop: 'sysonymRuleOidsText',
+ cell: false,
+ edit: 'refer'
+ },
+ {
label: "鐩镐技鏌ラ噸灞炴��",
prop: "sameRepeatAttrFlag",
width: 110,
@@ -1305,7 +1386,7 @@
},
{
label: "鍙",
- prop: "readonlyFlag",
+ prop: "readOnlyFlag",
cell: false,
edit: "switch"
},
@@ -1532,7 +1613,7 @@
value: 'tableDisplayFlag',
label: '鍒楄〃鏄剧ず'
}, {
- value: 'readonlyFlag',
+ value: 'readOnlyFlag',
label: '鍙'
}, {
value: 'sortAttrFlag',
@@ -1553,20 +1634,20 @@
...mapGetters(["permission"]),
permissionList() {
return {
- busineStatus: this.vaildData(this.permission.classifyTree.attr_add, false),
- fullscreenStatus: this.vaildData(this.permission.classifyTree.attr_view_edit, false),
- ruleStatus: this.vaildData(this.permission.classifyTree.attr_rule, false),
- attrStatus: this.vaildData(this.permission.classifyTree.attr_group, false),
- saveStatus: this.vaildData(this.permission.classifyTree.attr_save, false),
- resetStatus: this.vaildData(this.permission.classifyTree.attr_reset, false),
- injectStatus: this.vaildData(this.permission.classifyTree.attr_inject, false),
- isShowStatus: this.vaildData(this.permission.classifyTree.attr_formrule, false),
- enumStatus: this.vaildData(this.permission.classifyTree.attr_enum, false),
- cascadStatus: this.vaildData(this.permission.classifyTree.attr_parentcode, false),
- syncStatus: this.vaildData(this.permission.classifyTree.attr_sync, false),
- applicationStatus: this.vaildData(this.permission.classifyTree.attr_application, false),
- orderStatus: this.vaildData(this.permission.classifyTree.attr_sort, false),
- removeStatus: this.vaildData(this.permission.classifyTree.attr_delete, false),
+ busineStatus: this.vaildData(this.btnAuthList.attr_add, false),
+ fullscreenStatus: this.vaildData(this.btnAuthList.attr_view_edit, false),
+ ruleStatus: this.vaildData(this.btnAuthList.attr_rule, false),
+ attrStatus: this.vaildData(this.btnAuthList.attr_group, false),
+ saveStatus: this.vaildData(this.btnAuthList.attr_save, false),
+ resetStatus: this.vaildData(this.btnAuthList.attr_reset, false),
+ injectStatus: this.vaildData(this.btnAuthList.attr_inject, false),
+ isShowStatus: this.vaildData(this.btnAuthList.attr_formrule, false),
+ enumStatus: this.vaildData(this.btnAuthList.attr_enum, false),
+ cascadStatus: this.vaildData(this.btnAuthList.attr_parentcode, false),
+ syncStatus: this.vaildData(this.btnAuthList.attr_sync, false),
+ applicationStatus: this.vaildData(this.btnAuthList.attr_application, false),
+ orderStatus: this.vaildData(this.btnAuthList.attr_sort, false),
+ removeStatus: this.vaildData(this.btnAuthList.attr_delete, false),
}
},
attrOids() {
@@ -1587,7 +1668,7 @@
if (this.editStyleFlag) {
return '800px'
} else {
- return 'calc(100vh - 595px)'
+ return 'calc(100vh - 602px)'
}
}
},
@@ -1601,6 +1682,35 @@
})
},
methods: {
+ //杩戜箟璇嶆煡璇㈣鍒欏彇娑�
+ sysnonymCancel() {
+ this.synonymVisible = false;
+ },
+ //杩戜箟璇嶆煡璇㈣鍒欑‘瀹�
+ sysnonymSubmit() {
+ if (this.sysSelectData.length <= 0) {
+ this.$message.warning('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹紒')
+ } else {
+ const newArray = this.sysSelectData.map(obj => obj.oid);
+ const newString = newArray.join(',');
+ const newArrayName = this.sysSelectData.map(obj => obj.name);
+ const newStringName = newArrayName.join(',')
+ this.$set(this.CurrentCell, 'sysonymRuleOids', newString)
+ //text
+ this.$set(this.CurrentCell, 'sysonymRuleOidsText', newStringName)
+ this.$set(this.CurrentCell, 'sysonymRuleOidsData', this.sysSelectData)
+ this.AddCellFlag = true;
+ this.synonymVisible = false;
+ }
+ },
+ sysClear(){
+ this.CurrentCell.sysonymRuleOidsText = "";
+ this.CurrentCell.sysonymRuleOidsData = "";
+ this.AddCellFlag = true;
+ },
+ sysChange(row) {
+ this.sysSelectData = row;
+ },
//鏂板鎼滅储
AddFindHandler() {
if (this.SelectValue == 'id') {
@@ -1713,7 +1823,10 @@
attrTableWidth: 120,
ts: ""
})
- this.ProData.push(JSON.parse(JSON.stringify(this.busineAddList)))
+ // 灏嗚嫳鏂囩紪鍙疯浆鎹负灏忓啓
+ let {id, ...res} = this.busineAddList;
+ this.busineAddList = {id: id.toLowerCase(), ...res};
+ this.ProData.push(JSON.parse(JSON.stringify(this.busineAddList)));
}
})
this.addVisible = false;
@@ -1847,8 +1960,8 @@
// 鏂板嚱鏁扮敤浜庢墽琛宐atchAddSave鏂规硶
const executeBatchAddSave = () => {
batchAddSave(JSON.parse(JSON.stringify(this.ProData))).then(res => {
- this.$message.success('淇濆瓨鎴愬姛')
this.editOpenFlag = false;
+ this.$message.success('淇濆瓨鎴愬姛')
// 璋冪敤鐖剁粍浠朵慨鏀规寜閽姸鎬�
this.$emit('editCloseChildren')
this.AddCellFlag = true;
@@ -1862,6 +1975,7 @@
//琛ㄦ牸琛岀紪杈�
handleCellClicks(row, column) {
if (this.editOpenFlag) {
+ this.AddCellFlag = false;
this.editingRows = row;
this.editShows = column.property;
this.rowOid = row.oid;
@@ -1927,6 +2041,17 @@
if (this.CurrentCell.attributeGroup !== '') {
this.attrModel = this.CurrentCell.attributeGroup
}
+ },
+ sysonymRuleOidsText: () => {
+ this.sysonymLoading = true
+ codeSynonym('1', '-1', 'Released').then(res => {
+ this.synonymData = res.data.data.records;
+ this.sysonymLoading = false;
+ }).catch(() => {
+ this.$message.error('璇锋鏌ユ帶鍒跺彴閿欒淇℃伅锛�')
+ })
+
+ this.synonymVisible = true;
}
};
@@ -2059,16 +2184,24 @@
const regex = new RegExp(this.rulesData.ruleRowBds);
if (regex.test(this.RulesForm.TestContent)) {
this.$message.success('鏍¢獙鎴愬姛')
+ } else {
+ this.$message.error('鏍¢獙澶辫触')
}
},
//鐐瑰嚮鍒嗙被娉ㄥ叆鎸夐挳
injectBtn() {
if (this.attrSelectList.length > 1) {
this.$message.warning('鍙兘閫夋嫨涓�鏉℃ā鏉挎暟鎹�')
- } else if (this.attrSelectList.length < 1) {
+ return;
+ }
+ if (this.attrSelectList.length < 1) {
this.$message.warning('璇烽�夋嫨涓�鏉℃ā鏉挎暟鎹�')
- } else if (this.attrSelectList.length === 1) {
+ return;
+ ;
+ }
+ if (this.attrSelectList.length === 1) {
this.injectVisible = true;
+ return;
}
},
//鍒嗙被娉ㄥ叆淇濆瓨
@@ -2101,15 +2234,17 @@
} else {
this.injectOption.classifyNumber = 0;
}
+ // console.log(this.ProData)
this.injectVisible = false;
},
//鍒嗙被娉ㄥ叆娓呯┖
injectHandleReset() {
- this.$set(this.CurrentCell, 'classifyInvokeText', '')
- this.$set(this.CurrentCell, 'classifyInvokeAttr:', '')
- this.$set(this.CurrentCell, 'classitwInvokeAttrName', '')
- this.$set(this.CurrentCell, 'classifyInvokeEditFlag', 'false')
- this.$set(this.CurrentCell, 'classifyInvokeLevel', 'none')
+ this.CurrentCell.classifyInvokeText = null;
+ this.CurrentCell.classifyInvokeAttr = '';
+ this.CurrentCell.classifyInvokeAttrName = '';
+ this.CurrentCell.classifyInvokeEditFlag = '';
+ this.CurrentCell.classifyInvokeLevel = null;
+ // console.log(this.ProData)
this.injectVisible = false;
},
// 鍒嗙被娉ㄥ叆鍙栨秷
@@ -2222,7 +2357,7 @@
<style lang="scss" scoped>
//鍥哄畾鍒楅珮搴�
/deep/ .el-table__fixed {
- height: calc(100vh - 612px) !important;
+ height: calc(100vh - 618px) !important;
}
///deep/ .el-table__fixed[v-if='editStyleFlag'] {
--
Gitblit v1.10.0