From d97c5223b68df0153cef2180b9256d6916c5414d Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期四, 07 三月 2024 11:35:04 +0800
Subject: [PATCH] 集成相关更改
---
Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue | 327 ++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 228 insertions(+), 99 deletions(-)
diff --git a/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue b/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue
index 5e44b6a..5e11c79 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,88 +319,111 @@
: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"
- :height="this.tableHeight"
- border
- style="width: 100%"
- @select="selectHandle"
- @cell-click="handleCellClicks"
- @selection-change="selectionChange"
- @row-click="rowClick"
+ <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%"
+ @select="selectHandle"
+ @cell-click="handleCellClicks"
+ @selection-change="selectionChange"
+ @row-click="rowClick"
+ >
+ <el-table-column
+ :fixed="!editStyleFlag ? 'left' : undefined"
+ 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,index) in this.option.column" v-if="item.edit !='referName'"
+ :key="item.id"
+ :fixed="!editStyleFlag ? item.fixed : undefined"
+ :formatter="formAttr"
+ :label="item.label"
+ :prop="item.prop"
+ :show-overflow-tooltip="true"
+ :sortable="item.sortable"
+ :width="item.width||(item.label.length >=4 ?'160':item.label.length==3 ?'130':'100')"
+ align="center"
>
- <el-table-column
- :fixed="!editStyleFlag ? 'left' : undefined"
- 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,index) in this.option.column" v-if="item.edit !='referName'"
- :key="item.id"
- :fixed="!editStyleFlag ? item.fixed : undefined"
- :formatter="formAttr"
- :label="item.label"
- :prop="item.prop"
- :show-overflow-tooltip="true"
- :sortable="item.sortable"
- :width="item.width||(item.label.length >=4 ?'160':item.label.length==3 ?'130':'100')"
- align="center"
- >
- <template slot-scope="{ row }">
- <el-input
- v-if="editingRows === row && editShows== item.prop && item.prop != 'codeDateFormat' && (item.edit == 'text' ||item.edit == 'refer' )"
- v-show="!AddCellFlag"
- :ref="'input' + row.oid"
- v-model="row[item.prop]"
- @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" :clearable="true"
- v-model="row[item.prop]" allow-create default-first-option
- filterable v-show="!AddCellFlag"
- @blur="selectChangeHandler(item.editConfig,index)">
- <el-option
- v-for="optionItem in item.data"
- :key="optionItem.dictValue"
- :label="optionItem.dictValue"
- :value="optionItem.dictValue">
- </el-option>
- </el-select>
- <el-switch
- v-if="item.edit === 'switch'" v-model="row[item.prop]" :disabled="!editOpenFlag" active-value="true" v-show="!AddCellFlag"
- inactive-value="false">
- </el-switch>
- <span v-else>{{ row[item.prop] }}</span>
- </template>
- </el-table-column>
- <el-table-column
- fixed="right"
- label="鎿嶄綔"
- width="70">
- <template slot-scope="scope">
- <el-button
- size="small"
- type="text"
- @click.native.prevent="CrudRowDel(scope.$index)">
- 绉婚櫎
- </el-button>
- </template>
- </el-table-column>
- </el-table>
- </div>
+ <template slot-scope="{ row }">
+ <el-input
+ v-if="editingRows === row && editShows== item.prop && item.prop != 'codeDateFormat' && (item.edit == 'text' ||item.edit == 'refer' )"
+ v-show="!AddCellFlag"
+ :ref="'input' + row.oid"
+ v-model="row[item.prop]"
+ @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' " 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"
+ :key="optionItem.dictValue"
+ :label="optionItem.dictValue"
+ :value="optionItem.dictValue">
+ </el-option>
+ </el-select>
+ <el-switch
+ v-if="item.edit === 'switch'" v-model="row[item.prop]" :disabled="!editOpenFlag" active-value="true"
+ inactive-value="false">
+ </el-switch>
+ <span v-else>{{ row[item.prop] }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ fixed="right"
+ label="鎿嶄綔"
+ width="70">
+ <template slot-scope="scope">
+ <el-button
+ size="small"
+ type="text"
+ @click.native.prevent="CrudRowDel(scope.$index)">
+ 绉婚櫎
+ </el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
</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";
@@ -450,6 +474,9 @@
type: Boolean,
default: false
},
+ btnAuthList: {
+ type: Array
+ }
},
watch: {
crudOid: {
@@ -514,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: '',
// 淇濆瓨鍗曞厓鏍肩姸鎬�
@@ -1106,8 +1175,10 @@
indexClassName: "搴忓彿",
indexLabelClassName: '搴忓彿',
index: true,
- indexFixed:false,
- selectionFixed:false,
+ indexFixed: false,
+ selectionFixed: false,
+ columnBtn: false,
+ refreshBtn: false,
border: true,
addBtn: false,
menu: false,
@@ -1281,6 +1352,12 @@
width: 110,
cell: false,
edit: "switch"
+ },
+ {
+ label: '杩戜箟璇嶆煡璇㈣鍒�',
+ prop: 'sysonymRuleOidsText',
+ cell: false,
+ edit: 'refer'
},
{
label: "鐩镐技鏌ラ噸灞炴��",
@@ -1557,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() {
@@ -1591,7 +1668,7 @@
if (this.editStyleFlag) {
return '800px'
} else {
- return 'calc(100vh - 595px)'
+ return 'calc(100vh - 602px)'
}
}
},
@@ -1605,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') {
@@ -1717,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;
@@ -1866,6 +1975,7 @@
//琛ㄦ牸琛岀紪杈�
handleCellClicks(row, column) {
if (this.editOpenFlag) {
+ this.AddCellFlag = false;
this.editingRows = row;
this.editShows = column.property;
this.rowOid = row.oid;
@@ -1931,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;
}
};
@@ -2063,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;
}
},
//鍒嗙被娉ㄥ叆淇濆瓨
@@ -2228,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.9.3