From 59765cab961847dfd101e69ae6d8d1d501a5284c Mon Sep 17 00:00:00 2001
From: yuxc <yuxc@vci-tech.com>
Date: 星期二, 04 六月 2024 11:10:28 +0800
Subject: [PATCH] 1、ice配置文件上传
---
Source/ProjectWeb/src/components/dynamic-components/dynamic-button.vue | 345 +++++++++++++--------------------------------------------
1 files changed, 79 insertions(+), 266 deletions(-)
diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-button.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-button.vue
index afeee51..7d69abf 100644
--- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-button.vue
+++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-button.vue
@@ -3,51 +3,60 @@
<!--琛ㄦ牸鍩虹鎸夐挳-->
<div v-if="type === 'table' || type === 'TreeTable'">
<!--top灞曠ず琛ㄦ牸涓婃柟鍖哄煙 menu灞曠ず琛ㄦ牸鎿嶄綔鏍忓尯鍩� 鏃犲氨鏄粯璁� -->
- <el-button v-for="item in basicButtonList.top"
- v-if="LocationType === 'top'"
- :key="item.oid" :icon="item.paramVOS.webUiButtonIcon"
- :type="item.paramVOS.webUiButtonType || 'primary'" plain
- size="small"
- @click="buttonClick(item)">
- {{ item.name }}
- </el-button>
+ <el-tooltip v-if="LocationType === 'top'" v-for="item in basicButtonList.top" :content="item.description || item.name" placement="top">
+ <el-button :key="item.oid" :icon="item.paramVOS.icon"
+ :type="item.paramVOS.btnType || 'primary'" plain
+ size="small"
+ @click="buttonClick(item)">
+ {{ item.name }}
+ </el-button>
+ </el-tooltip>
- <el-button type="text" @click="handleDefaultAddChildren(scope.row)" v-if="(LocationType === 'menu' && this.default === 'default')">鏂板瀛愮骇</el-button>
- <el-button v-for="item in basicButtonList.menu"
- v-if="LocationType === 'menu'"
- :key="item.oid"
- :icon="item.paramVOS.webUiButtonIcon ? item.paramVOS.webUiButtonIcon : (item.paramVOS.webUiButtonMethods === 'edit' ? 'el-icon-edit' : (item.paramVOS.webUiButtonMethods === 'delete' ? 'el-icon-delete' : ''))"
- :type="item.paramVOS.webUiButtonType || 'text'" plain
- size="small"
- @click="buttonClick(item)">
- {{ item.name }}
- </el-button>
+ <el-button type="text" @click="handleDefaultAddChildren(scope.row)" v-if="(LocationType === 'menu' && type === 'TreeTable')">鏂板瀛愮骇</el-button>
+ <el-button type="text" icon="el-icon-view" size="small" plain @click="$emit('rowView',scope.row,scope.index)" v-if="LocationType === 'menu'">鏌ョ湅</el-button>
+ <el-tooltip v-if="LocationType === 'menu'" v-for="item in basicButtonList.menu" :content="item.description || item.name" placement="top">
+ <el-button :key="item.oid"
+ :icon="item.paramVOS.icon ? item.paramVOS.icon : (item.id === 'edit' ? 'el-icon-edit' : (item.id === 'delete' ||item.id === 'del' ? 'el-icon-delete' : ''))"
+ :type="item.paramVOS.btnType || 'text'" plain
+ size="small"
+ @click="buttonClick(item,scope.row)">
+ {{ item.name }}
+ </el-button>
+ </el-tooltip>
<!-- 琛ㄦ牸鍐呮寜閽搷浣滃璇濇琛ㄥ崟 -->
<dynamic-table-form ref="dynamicForm" :formList="formList" :title="formName" :visible.sync="visible"
style="display: none"></dynamic-table-form>
</div>
<div v-else-if="type === 'form'">
- <el-button v-for="item in basicButtonList"
- :key="item.oid"
- :icon="item.paramVOS.webUiButtonIcon"
- :type="(item.paramVOS.webUiButtonType !== 'text' ? item.paramVOS.webUiButtonType : 'primary') || 'primary'"
- plain
- size="small"
- @click="buttonClick(item)">
- {{ item.name }}
- </el-button>
+ <el-tooltip v-for="item in basicButtonList" :content="item.description || item.name" placement="top">
+ <el-button :key="item.oid"
+ :icon="item.paramVOS.icon"
+ :type="item.paramVOS.btnType || 'primary'"
+ plain
+ size="small"
+ @click="buttonClick(item)">
+ {{ item.name }}
+ </el-button>
+ </el-tooltip>
</div>
<div v-else-if="type === 'tree'" class="tree-buttons">
- <el-button v-for="item in basicButtonList"
- :key="item.oid"
- :icon="item.paramVOS.webUiButtonIcon"
- :type="(item.paramVOS.webUiButtonType !== 'text' ? item.paramVOS.webUiButtonType : 'primary') || 'primary'"
+ <el-tooltip v-for="item in basicButtonList" :content="item.description || item.name" placement="top">
+ <el-button :key="item.oid"
+ :icon="item.paramVOS.icon"
+ :type="item.paramVOS.btnType || 'primary'"
+ plain
+ size="small"
+ @click="buttonClick(item)">
+ {{ item.name }}
+ </el-button>
+ </el-tooltip>
+ <el-button type="primary"
plain
size="small"
- @click="buttonClick(item)">
- {{ item.name }}
+ @click="$emit('refresh')">
+ 鍒锋柊
</el-button>
</div>
</div>
@@ -56,7 +65,7 @@
<script>
import func from "@/util/func";
import {validatenull} from "@/util/validate";
-import {doAction} from '@/actions/base/BaseAction';
+import {doAction} from '@/components/actions/base/BaseAction';
import Vue from "vue";
export default {
@@ -78,9 +87,6 @@
butttonList: {
type: Array
},
- default:{
- type:String,
- },
sourceData: {
//鎸夐挳鎵�灞炲尯鍩熺殑涓婁竴鍖哄煙閫変腑鏁版嵁
type: Object,
@@ -97,166 +103,7 @@
visible: false,
formName: '',
// 琛ㄥ崟鏁版嵁
- formList: [
- {
- comboxKey: null,
- customClass: null,
- data: null,
- dateFormate: null,
- defaultValue: "",
- displayExtension: "",
- extendAttrMap: null,
- extendAttrString: null,
- field: "name",
- hidden: false,
- keyAttr: true,
- prefix: null,
- readOnly: false,
- referConfig: null,
- required: true,
- selectLibFlag: null,
- showField: null,
- suffix: '$',
- text: "鍚嶇О",
- tooltips: '鍚嶇О',
- type: "text",
- unique: false,
- verify: ""
- },
- {
- comboxKey: null,
- customClass: null,
- data: null,
- dateFormate: null,
- defaultValue: "",
- displayExtension: "",
- extendAttrMap: null,
- extendAttrString: null,
- field: "code",
- hidden: false,
- keyAttr: false,
- prefix: null,
- readOnly: false,
- referConfig: null,
- required: false,
- selectLibFlag: null,
- showField: null,
- suffix: null,
- disabled: true,
- text: "缂栫爜",
- tooltips: null,
- type: "text",
- unique: false,
- verify: ""
- },
- {
- comboxKey: "EnumReviewType",
- customClass: null,
- data: null,
- dateFormate: null,
- defaultValue: "department",
- displayExtension: "",
- extendAttrMap: null,
- extendAttrString: null,
- field: "reviewtype",
- hidden: false,
- keyAttr: false,
- prefix: null,
- readOnly: false,
- referConfig: null,
- required: false,
- selectLibFlag: null,
- showField: null,
- suffix: null,
- text: "绫诲瀷",
- tooltips: null,
- type: "combox",
- unique: false,
- verify: "",
- dicData: [{
- label: '娴嬭瘯1',
- value: 'department'
- }, {
- label: '娴嬭瘯2',
- value: 'departments'
- }]
- },
- {
- comboxKey: null,
- customClass: null,
- data: null,
- dateFormate: null,
- defaultValue: "",
- displayExtension: "",
- extendAttrMap: null,
- extendAttrString: null,
- field: "creator",
- hidden: true,
- keyAttr: false,
- prefix: null,
- readOnly: true,
- referConfig: null,
- required: false,
- selectLibFlag: null,
- showField: null,
- suffix: null,
- text: "鍒涘缓浜�",
- tooltips: null,
- type: "text",
- unique: false,
- verify: ""
- },
- {
- comboxKey: null,
- customClass: null,
- data: null,
- dateFormate: "yyyy-MM-dd HH:mm:ss",
- defaultValue: "",
- displayExtension: "",
- extendAttrMap: null,
- extendAttrString: null,
- field: "createtime",
- hidden: true,
- keyAttr: false,
- prefix: null,
- readOnly: false,
- referConfig: null,
- required: false,
- selectLibFlag: null,
- showField: null,
- suffix: null,
- text: "鍒涘缓鏃堕棿",
- tooltips: null,
- type: "datetime",
- unique: false,
- verify: ""
- },
- {
- comboxKey: null,
- customClass: null,
- data: null,
- dateFormate: null,
- defaultValue: "",
- displayExtension: "",
- extendAttrMap: null,
- extendAttrString: null,
- field: "content",
- hidden: false,
- keyAttr: false,
- prefix: null,
- readOnly: false,
- referConfig: null,
- required: false,
- selectLibFlag: null,
- showField: null,
- suffix: null,
- text: "澶囨敞",
- tooltips: null,
- type: "textarea",
- unique: false,
- verify: ""
- },
- ],
+ formList: [],
}
},
computed: {
@@ -266,14 +113,32 @@
return []; // 濡傛灉 basicColumn 鏈畾涔夋垨鑰呬笉鏄暟缁勶紝杩斿洖绌烘暟缁�
}
- if (this.type === 'form' || this.type === 'tree') {
+ if (this.type === 'form') {
return basicColumn;
+ }else if (this.type === 'tree') {
+ const treeBtn = basicColumn.filter(item => {
+ if (item.id != "refresh") {
+ return true;
+ }
+ return false
+ });
+ return treeBtn;
} else if (this.type === 'table' || this.type === 'TreeTable') {
const top = basicColumn.filter(item => {
- return item.paramVOS && (item.paramVOS.webUiButtonLocation === 'top' || func.isEmpty(item.paramVOS.webUiButtonLocation));
+ if (item.paramVOS && item.paramVOS.showLocation && item.paramVOS.showLocation !== 'menu') {
+ return true;
+ } else if (item.id != "edit" && item.id != "del" && item.id != "delete" && item.id != "refresh") {
+ return true;
+ }
+ return false
});
const menu = basicColumn.filter(item => {
- return item.paramVOS && item.paramVOS.webUiButtonLocation === 'menu';
+ if (item.paramVOS && item.paramVOS.showLocation && item.paramVOS.showLocation === 'menu') {
+ return true
+ } else if (item.id == "edit" || item.id == "del" || item.id == "delete"){
+ return true;
+ }
+ return false;
});
return {
top: top,
@@ -289,83 +154,30 @@
this.formName = '鏂板瀛愮骇'
this.$refs.dynamicForm.form = row;
},
- buttonClick(item) {
- const paramVOS=item.paramVOS;
+ buttonClick(buttonitem,rowData) {
+ const paramVOS = buttonitem.paramVOS;
const DefineVO = this.componentVO.treeDefineVO || this.componentVO.tableDefineVO || this.componentVO.treeTableDefineVO || this.componentVO.formDefineVO;
if (!paramVOS['title']) {
- paramVOS['title'] = item.name + (DefineVO.title || DefineVO.componentTitle || '');
+ paramVOS['title'] = buttonitem.name + (DefineVO.title || '');
}
if (!paramVOS['type']) {
paramVOS['type'] = DefineVO.btmType;
}
- for(let item in paramVOS) {
- if (item.includes('.${') && item.includes('}')) {
- //鏇挎崲鎴愭簮鏁版嵁涓殑鍊�
- if (Object.keys(this.sourceData).length === 0) {
- this.$message.error("璇峰厛閫夋嫨涓�鏉℃潵婧愭暟鎹�");
- return false;
- }
- item=item.replace(/:/g,'=');
- let values = item.split(';');
- let initValues = []
- } else if (item.includes('${') && item.includes('}')) {
- //鏇挎崲鎴愰�変腑鏁版嵁鐨勫��
- if (this.dataStore.length < 1) {
- this.$message.error("璇峰厛閫夋嫨涓�鏉℃暟鎹�");
- return false;
- }
- item=item.replace(/:/g,'=');
- }
- }
- /*if (paramVOS['initvalue']) {
- var values = paramVOS['initvalue'].split(';');
- var initValues = []
- layui.each(values, function (i, item) {
- item=item.replace(':','=');
- if (item.indexOf('${') > -1) {
- if (item.split('=')[1].indexOf('.') > -1) {
- if (sourceData.length<1 || !sourceData[0].oid) {
- isShow = false;
- $webUtil.showErrorMsg("璇峰厛閫夋嫨涓�鏉℃潵婧愭暟鎹�");
- return false;
- }
- var name = item.split('=')[1].split('.')[1].replace('${', '').replace('}', '');
- if (name == 'oid') {
- item = item.split('=')[0] + '=' + sourceData[0]['oid']
- } else {
- item = item.split('=')[0] + '=' + sourceData[0][name]
- }
- } else {
- if (dataStore.length < 1) {
- isShow = false;
- $webUtil.showErrorMsg("璇峰厛閫夋嫨涓�鏉℃暟鎹�");
- return false;
- }
- var name = item.split('=')[1].replace('${', '').replace('}', '');
- item = item.split('=')[0] + '=' + dataStore[0][name];
- }
- }
- initValues.push(item)
- })
- paramVOS['initvalue'] = initValues.join(';')
- }*/
- if(paramVOS['BSContent'] || paramVOS['BSContext']){
- paramVOS['context']=paramVOS['BSContext'] || paramVOS['BSContent']
- paramVOS['content']=paramVOS['BSContext'] || paramVOS['BSContent'];
+ if (paramVOS['BSContent'] || paramVOS['BSContext']) {
+ paramVOS['context'] = paramVOS['BSContext'] || paramVOS['BSContent']
+ paramVOS['content'] = paramVOS['BSContext'] || paramVOS['BSContent'];
}
- const that=this;
- doAction(item, {
+ const that = this;
+ //paramVOS.customBtn //寮圭獥榛樿鏈変繚瀛樻寜閽�,customBtn涓簍rue鏃跺唴瀹瑰睍绀鸿嚜瀹氫箟鎸夐挳
+ doAction(buttonitem, {
paramVOS: paramVOS,
- dataStore: this.dataStore || [],
- sourceData: this.sourceData || {},
- callback: function () {
- if (that.$parent.handleRefresh) {
- that.$parent.handleRefresh()
- }
- }
+ dataStore: rowData?[rowData] :(this.dataStore || []),
+ sourceData: this.sourceData || {}
+ }, function (actionType,data) {
+ that.$emit("afterMethod",actionType,data);
});
}
},
@@ -375,3 +187,4 @@
<style scoped>
</style>
+
--
Gitblit v1.9.3