Browse Source

修改表格

qin_25
herenshan112 3 months ago
parent
commit
c3b7a0ec21
  1. 1
      src/api/DesignForm/types.ts
  2. 2614
      src/components/DesignForm/app/index copy.vue
  3. 125
      src/components/DesignForm/app/index.vue
  4. 25
      src/components/DesignForm/math/mathFormula.vue
  5. 2505
      src/components/DesignForm/tableListPage/index copy.vue
  6. 103
      src/components/DesignForm/tableListPage/index.vue
  7. 1
      src/views/sysworkflow/lowcodepage/appPage/appPageForm/dataBoard.vue
  8. 104
      src/views/sysworkflow/lowcodepage/appPage/appPageForm/echatesUnit/right.vue
  9. 210
      src/views/sysworkflow/lowcodepage/appPage/appPageForm/echatesUnit/winBox/dimMea.vue
  10. 842
      src/views/sysworkflow/lowcodepage/appPage/appPageForm/echatesUnit/winBox/dimMeaBlack.vue

1
src/api/DesignForm/types.ts

@ -231,6 +231,7 @@ export interface echatsViews {
x:string[];
ysun?: string[];
xsun?: string[];
sunFilter?: string[];
filter:string[];
timelength:number;
search:searchInfo;

2614
src/components/DesignForm/app/index copy.vue

File diff suppressed because it is too large

125
src/components/DesignForm/app/index.vue

@ -860,7 +860,7 @@ const selectionChange = (row: any) => {
@ 功能: 获取表格头内容
*/
const columnsFilter = computed(() => {
console.log("props.data判断是否有标题", props.data);
// console.log("props.data", props.data);
if (!state.columnsCheck?.length) {
// console.log("props.data",props.data)
return props.data.columns;
@ -870,7 +870,7 @@ const columnsFilter = computed(() => {
return state.columnsCheck.includes(item.prop || item.type);
});
}
console.log("获取表格头内容", props.data.columns);
// console.log("", props.data.columns);
});
const subTableFieldsFilter = computed(() => {
@ -961,14 +961,14 @@ const getPageData = () => {
switch (viewType.value) {
case 2:
nextTick(() => {
console.log("获取列表详细信息-------555---------->", calendarPageRef.value);
// console.log("-------555---------->", calendarPageRef.value);
calendarPageRef.value.calendarSearchData(sendData);
});
// calendarPageRef.value.calendarSearchData()
break;
case 3:
nextTick(() => {
console.log("获取列表详细信息-------222---------->", timeAxisRef.value);
// console.log("-------222---------->", timeAxisRef.value);
timeAxisRef.value.searchTimeList(sendData, 1);
});
@ -1450,13 +1450,13 @@ const judjeRadio = (val: any, options: any[]) => {
const judjeCascader = (val: any[], options: any[]) => {
if (val.length < 0) return "";
let valAry = stringToObj(val);
console.log("获取级联选择值", stringToObj(val), val.length, options);
// console.log("", stringToObj(val), val.length, options);
if (!Array.isArray(valAry)) return "";
let title = "";
valAry.forEach((item: any) => {
// console.log("item", item);
console.log(item + "=============:", item, diGuiJilian(item, options));
// console.log(item + "=============:", item, diGuiJilian(item, options));
if (title == "") {
title = title + diGuiJilian(item, options);
} else {
@ -1774,24 +1774,65 @@ const transformOption = (val: string | number, type?: string) => {
const readerColumnSun = (column: any) => {
// console.log("label-11->", column);
let labelLong = 0; // label
if (column.children) {
labelLong = column.children.length;
if (column.label.length) {
labelLong = column.label.length;
}
if (labelLong > 0) {
let countLenght = 3;
column.children.forEach((item: any) => {
if (item.label.length < 3) {
countLenght = countLenght + 15;
} else {
countLenght = countLenght + item.label.length * 15;
}
});
// console.log("label-->", countLenght);
return countLenght;
} else {
if(labelLong > 6 ){
return labelLong * 15;
}else{
return labelLong * 30;
}
}else{
return 100;
}
// if (column.children) {
// labelLong = column.children.length;
// }
// if (labelLong > 0) {
// let countLenght = 3;
// column.children.forEach((item: any) => {
// if (item.label.length < 3) {
// countLenght = countLenght + 15;
// } else {
// countLenght = countLenght + item.label.length * 15;
// }
// });
// // console.log("label-->", countLenght);
// return countLenght;
// } else {
// return 100;
// }
};
//shuju
const tableChildren = (field:string,dataList:any) => {
console.log("表头label长度-1->", field);
console.log("表头label长度-2->", dataList);
// console.log("label-->", isObject(dataList));
let jieguo = ""
if(Array.isArray(dataList)){
dataList.forEach((item:any,key:string) => {
if(isObject(item)){
for (let key in item) {
// console.log("label-->", key==field);
if (field == key){
// console.log("label-->", item[key]);
// return item[key]
jieguo = item[key]
}
}
}
})
}
return jieguo
}
const isObject = (obj) => {
return typeof obj === "object";
}
</script>
<template>
<div ref="container" v-loading="state.loading" class="table-list-comm">
@ -2033,7 +2074,9 @@ const readerColumnSun = (column: any) => {
@selection-change="selectionChange"
table-layout="fixed"
v-loading="state.loading"
border
>
<template v-for="item in columnsFilter" :key="item.id || item.label">
<el-table-column
v-if="['-'].includes(item.fieldClass)"
@ -2043,6 +2086,8 @@ const readerColumnSun = (column: any) => {
config=""
width="60"
fixed
header-align="center"
align="center"
>
<template v-if="item.help" #header="scope">
{{ scope.column.label }}
@ -2054,7 +2099,8 @@ const readerColumnSun = (column: any) => {
:prop="item.field"
:label="item.label"
config=""
min-width="100"
min-width="220"
header-align="center"
align="center"
fixed="right"
>
@ -2185,6 +2231,8 @@ const readerColumnSun = (column: any) => {
label="标题"
config=""
min-width="20"
header-align="center"
align="center"
>
<template #default="scope">
{{ writeListTitle(scope.row, viewPage.list) }}
@ -2196,27 +2244,24 @@ const readerColumnSun = (column: any) => {
:prop="item.field"
:label="item.label"
:min-width="readerColumnSun(item)"
header-align="center"
align="center"
>
<template #default="scope">
<el-table
v-if="item.pattern == 'table'"
v-bind="data.tableProps"
ref="table"
border
:data="scope.row[item.field]"
>
<template
v-for="sunItem in item.children"
:key="sunItem.id || sunItem.label"
>
<el-table-column
v-if="sunItem.fieldClass == ''"
:prop="sunItem.field"
:label="sunItem.label"
>
</el-table-column>
</template>
</el-table>
<template v-if="item.pattern == 'table'" v-for="sunItem in item.children">
<el-table-column v-if="sunItem.fieldClass == ''" :prop="sunItem.field" :label="sunItem.label" header-align="center" align="center" :min-width="readerColumnSun(sunItem)">
<template #default="scopeChilder">
{{ sunItem.fieldClass }}
{{ tableChildren(sunItem.field,scopeChilder.row[item.field]) }}
</template>
</el-table-column>
</template>
</template>
</el-table-column>
@ -2226,6 +2271,8 @@ const readerColumnSun = (column: any) => {
:label="item.label"
config=""
min-width="220"
header-align="center"
align="center"
>
<template v-if="item.help" #header="scope">
{{ scope.column.label }}

25
src/components/DesignForm/math/mathFormula.vue

@ -267,7 +267,28 @@ onMounted(() => {
width="800px"
:before-close="handleClose"
>
<el-row>
<div style="display: flex;align-items: center;width: 100%;">
<el-text>{{ muBiaoZiDuan }} = </el-text>
<el-select v-model="valueType" class="m-2 kuandu" placeholder="Select" @change="sswrval">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
<el-text v-if="valueType==1">保留</el-text>
<el-input-number
v-if="valueType==1"
v-model="digit"
class="mx-4 kuandu"
:min="0"
:max="10"
controls-position="right"
/>
<el-text>位小数</el-text>
</div>
<el-row style="display: none;">
<el-col :span="10">
<el-text>{{ muBiaoZiDuan }} = </el-text>
</el-col>
@ -363,7 +384,7 @@ onMounted(() => {
</el-col>
</el-row>
<el-row :gutter="20">
<el-row :gutter="20" style="width: 100%;">
<el-col :span="6">
<div class="bian_kuang colBoxContent">

2505
src/components/DesignForm/tableListPage/index copy.vue

File diff suppressed because it is too large

103
src/components/DesignForm/tableListPage/index.vue

@ -1618,7 +1618,7 @@ const diGuiJilian = (val: any, options: any[]) => {
@ 功能: 定义自定义表头
*/
const readerColumn = (column: any, isSun: int) => {
console.log("定义自定义表头------------------->", column, isSun);
if (isSun != 1) {
let labelLong = column.label.length; // label
if (column.label.length < 3) {
@ -1631,25 +1631,66 @@ const readerColumn = (column: any, isSun: int) => {
}
};
const readerColumnSun = (column: any) => {
console.log("表头label长度------------------->", column.label,column.label.length);
let labelLong = 0; // label
if (column.children) {
labelLong = column.children.length;
if (column.label.length) {
labelLong = column.label.length;
}
if (labelLong > 0) {
let countLenght = 3;
column.children.forEach((item: any) => {
if (item.label.length < 3) {
countLenght = countLenght + 15;
} else {
countLenght = countLenght + item.label.length * 15;
}
});
console.log("表头label长度-->", countLenght);
return countLenght;
} else {
return 80;
if(labelLong > 10 ){
return labelLong * 15;
}else{
return labelLong * 30;
}
}else{
return 100;
}
// if (column.children) {
// labelLong = column.children.length;
// }
// if (labelLong > 0) {
// let countLenght = 3;
// column.children.forEach((item: any) => {
// if (item.label.length < 3) {
// countLenght = countLenght + 15;
// } else {
// countLenght = countLenght + item.label.length * 15;
// }
// });
// console.log("label-->", countLenght);
// return countLenght;
// } else {
// return 80;
// }
};
const tableChildren = (field:string,dataList:any) => {
// console.log("label-->", dataList);
// console.log("label-->", isObject(dataList));
let jieguo = ""
if(Array.isArray(dataList)){
dataList.forEach((item:any,key:string) => {
if(isObject(item)){
for (let key in item) {
// console.log("label-->", key==field);
if (field == key){
// console.log("label-->", item[key]);
// return item[key]
jieguo = item[key]
}
}
}
})
}
return jieguo
}
const isObject = (obj) => {
return typeof obj === "object";
}
</script>
<template>
<div ref="container" v-loading="state.loading" class="table-list-comm">
@ -1893,6 +1934,8 @@ const readerColumnSun = (column: any) => {
config=""
width="60"
fixed
header-align="center"
align="center"
>
<template v-if="item.help" #header="scope">
{{ scope.column.label }}
@ -1905,6 +1948,7 @@ const readerColumnSun = (column: any) => {
:label="item.label"
config=""
width="200"
header-align="center"
align="center"
fixed="right"
>
@ -2037,6 +2081,8 @@ const readerColumnSun = (column: any) => {
label="标题"
config=""
min-width="320"
header-align="center"
align="center"
>
<template #default="scope">
{{ writeListTitle(scope.row, viewPage.list) }}
@ -2047,27 +2093,16 @@ const readerColumnSun = (column: any) => {
:prop="item.field"
:label="item.label"
:width="readerColumnSun(item)"
header-align="center"
align="center"
>
<template #default="scope">
<el-table
v-if="item.pattern == 'table'"
v-bind="data.tableProps"
ref="table"
border
:data="scope.row[item.field]"
>
<template
v-for="sunItem in item.children"
:key="sunItem.id || sunItem.label"
>
<el-table-column
v-if="sunItem.fieldClass == ''"
:prop="sunItem.field"
:label="sunItem.label"
>
</el-table-column>
<el-table-column v-if="item.pattern == 'table'" v-for="sunItem in item.children" :prop="sunItem.field" :label="sunItem.label" header-align="center"
align="center" :min-width="readerColumnSun(sunItem)" >
<template #default="scopeChilder">
{{ tableChildren(sunItem.field,scopeChilder.row[item.field]) }}
</template>
</el-table>
</el-table-column>
</template>
</el-table-column>
<el-table-column
@ -2076,6 +2111,8 @@ const readerColumnSun = (column: any) => {
:label="item.label"
config=""
min-width="220"
header-align="center"
align="center"
>
<template v-if="item.help" #header="scope">
{{ scope.column.label }}

1
src/views/sysworkflow/lowcodepage/appPage/appPageForm/dataBoard.vue

@ -61,6 +61,7 @@ const echartsInfo = reactive<echatsViews>({
ysun: [],
xsun: [],
filter: [],
sunFilter: [],
timelength: 1,
search: {
state: false,

104
src/views/sysworkflow/lowcodepage/appPage/appPageForm/echatesUnit/right.vue

@ -59,6 +59,90 @@ const controlData = computed(() => {
// console.log("--------1--------->", store.controlAttr);
return store.controlAttr;
});
//
const weiduSunList = ref<any>([])
const duliangSunList = ref<any>([])
watch(
()=>controlData.value.xsun,
(val:any[])=>{
if (Array.isArray(val) && val.length > 0){
let sunTableKey = []
val.forEach((item:any)=>{
if(!sunTableKey.includes(item.tableKey)){
sunTableKey.push(item.tableKey)
}
})
// console.log("----ysun--2--->",sunTableKey)
if(sunTableKey.length>0){
weiduSunList.value = []
sunTableKey.forEach((item:any)=>{
let list = []
val.forEach((valItem:any)=>{
if(item == valItem.tableKey){
list.push(valItem)
}
})
weiduSunList.value.push({
tableKey:item,
list:list
})
})
// console.log("----ysun--3--->",sunTableKey,weiduSunList.value)
}
}else{
// console.log("----xsun--3--->",Array.isArray(val),val.length)
weiduSunList.value = []
}
},
{
deep:true
}
)
watch(
()=>controlData.value.ysun,
(val:any)=>{
// console.log("----ysun--1--->",val)
if (Array.isArray(val) && val.length > 0){
let sunTableKey = []
val.forEach((item:any)=>{
if(!sunTableKey.includes(item.tableKey)){
sunTableKey.push(item.tableKey)
}
})
// console.log("----ysun--2--->",sunTableKey)
if(sunTableKey.length>0){
duliangSunList.value = []
sunTableKey.forEach((item:any)=>{
let list = []
val.forEach((valItem:any)=>{
if(item == valItem.tableKey){
list.push(valItem)
}
})
duliangSunList.value.push({
tableKey:item,
list:list
})
})
// console.log("----ysun--3--->",sunTableKey,duliangSunList.value)
}
}else{
// console.log("----xsun--3--->",Array.isArray(val),val.length)
duliangSunList.value = []
}
},
{
deep:true
}
)
/**
@ 作者: 秦东
@ 时间: 2025-06-27 15:01:25
@ -227,6 +311,9 @@ const shuxingmh = (val: any) => {
>
<el-text class="mx-1" type="info">未设置维度字段</el-text>
</div>
<div v-for="(item, index) in controlData.x" class="dimListBox">
<div class="dimListTitle">{{ item.oldTitle }}</div>
<el-space wrap>
@ -239,6 +326,21 @@ const shuxingmh = (val: any) => {
<svg-icon icon-class="sc" :size="20" class="setBut" @click="delDim(index)" />
</el-space>
</div>
<div v-for="(item, index) in controlData.xsun" class="dimListBox">
<div class="dimListTitle">{{ item.title }}</div>
<el-space wrap>
<svg-icon
icon-class="set"
:size="20"
class="setBut"
@click="setDimInfo(item)"
/>
<svg-icon icon-class="sc" :size="20" class="setBut" @click="delDim(index)" />
</el-space>
</div>
</div>
<div class="arttBoxTitle">
<el-text class="mx-1" size="large">看板指标/度量</el-text>
@ -273,7 +375,7 @@ const shuxingmh = (val: any) => {
<el-text class="mx-1" type="info">未设置过滤器</el-text>
</div>
<div v-for="(item, index) in controlData.filter" class="dimListBox">
{{ item }}
<div class="dimListTitle">{{ item.oldTitle }}</div>
<el-space wrap>
<svg-icon

210
src/views/sysworkflow/lowcodepage/appPage/appPageForm/echatesUnit/winBox/dimMea.vue

@ -69,7 +69,7 @@ const openClose = computed({
break;
}
huanyuan();
// huanyuan();
return props.isShow;
},
set: (newVal: any) => {
@ -107,6 +107,7 @@ const timeVal = (field: dimMeaInfo, typ: string) => {
@ 功能: 维度组装
*/
const dimMakecont = (val: number) => {
// console.log("-------->",checkDimList.value)
if (Array.isArray(checkDimList.value)) {
let fieldAry = new Array();
checkDimList.value.forEach((item: any) => {
@ -155,7 +156,7 @@ const dimMakecont = (val: number) => {
break;
default:
props.dimAry.forEach((itemDim) => {
console.log("维度组装-----1------->", itemDim.field == item, itemDim, item);
// console.log("-----1------->", itemDim.field == item, itemDim, item);
if (itemDim.field == item) {
let isNew = true;
if (
@ -186,7 +187,35 @@ const dimMakecont = (val: number) => {
}
});
controlData.value.x = fieldAry;
console.log("维度组装", controlData.value);
// console.log("", controlData.value);
}
//
if(Array.isArray(checkListsund.value)){
let sunFieldAry = new Array();
if (Array.isArray(props.sunDimAry.value) && props.sunDimAry.value> 1){
// console.log("-----2------->", props.sunDimAry);
}else{
// console.log("-----3------->", props.sunDimAry);
// console.log("-----3------->", controlData.value.xsun);
}
controlData.value.xsun = []
checkListsund.value.forEach((item: any) => {
controlData.value.xsun.push({
type:item.type,
title:item.title,
tableKey:item.tableKey,
options:item.options,
field:item.field,
oldTitle: item.title,
timeType: "",
method:1,
format:1
})
})
// console.log("-----4-1----->", controlData.value.xsun);
}
};
/**
@ -200,6 +229,7 @@ const meaMakecont = (val: number) => {
// checkMeaList.value.length,
// checkMeaList.value
// );
// console.log("--------->",checkMeaList.value)
if (Array.isArray(checkMeaList.value) && checkMeaList.value.length > 0) {
let fieldAry = new Array();
checkMeaList.value.forEach((item: any) => {
@ -247,7 +277,7 @@ const meaMakecont = (val: number) => {
break;
default:
props.meaAry.forEach((itemDim) => {
console.log("维度组装-----1------->", itemDim.field == item, itemDim, item);
// console.log("-----1------->", itemDim.field == item, itemDim, item);
if (itemDim.field == item) {
let isNew = true;
if (
@ -279,6 +309,31 @@ const meaMakecont = (val: number) => {
});
controlData.value.y = fieldAry;
}
//
if(Array.isArray(checkListsunduLiang.value) && checkListsunduLiang.value.length > 0){
let sunYList = []
controlData.value.ysun = []
console.log("子表度量----->",controlData.value.ysun)
console.log("子表度量---checkListsunduLiang.value-->",checkListsunduLiang.value)
checkListsunduLiang.value.forEach((item: any) => {
sunYList.push({
type:item.type,
title:item.title,
tableKey:item.tableKey,
options:item.options,
field:item.field,
oldTitle: item.title,
timeType: "",
method:1,
format:1
})
})
controlData.value.ysun = sunYList
checkListsunduLiang.value = []
console.log("子表度量",controlData.value.ysun)
}
};
/**
@ 作者: 秦东
@ -286,8 +341,8 @@ const meaMakecont = (val: number) => {
@ 功能: 组装过滤器
*/
const meaDimCont = () => {
console.log("维度数据--->", checkDimList.value, props.dimAry);
console.log("量度数据--->", checkMeaList.value);
// console.log("--->", checkDimList.value, props.dimAry);
// console.log("--->", checkMeaList.value);
let fieldAry = new Array();
if (Array.isArray(checkDimList.value) && checkDimList.value.length > 0) {
checkDimList.value.forEach((item: any) => {
@ -386,13 +441,45 @@ const meaDimCont = () => {
}
});
}
console.log("量度数据-23-->", fieldAry);
console.log("量度数据--34->", fieldMeaAry);
// console.log("-23-->", fieldAry);
// console.log("--34->", fieldMeaAry);
controlData.value.filter.splice(0, controlData.value.filter.length);
console.log("量度数据--55->", controlData.value.filter);
// console.log("--55->", controlData.value.filter);
controlData.value.filter.push(...fieldAry, ...fieldMeaAry);
console.log("量度数据--66->", controlData.value.filter);
// console.log("--66->", controlData.value.filter);
let sunDimListAry = []
if (Array.isArray(checkListsund.value) && checkListsund.value.length > 1) {
checkListsund.value.forEach((item:any) => {
sunDimListAry.push({
type:item.type,
title:item.title,
tableKey:item.tableKey,
options:item.options,
field:item.field,
meadim: 1,
})
})
}
let sunMeatListAry = []
if (Array.isArray(checkListsunduLiang.value) && checkListsunduLiang.value.length > 1) {
checkListsunduLiang.value.forEach((item:any) => {
sunMeatListAry.push({
type:item.type,
title:item.title,
tableKey:item.tableKey,
options:item.options,
field:item.field,
meadim: 2,
})
})
}
controlData.value.sunFilter = []
controlData.value.sunFilter.push(...sunDimListAry, ...sunMeatListAry);
// console.log("--77->", sunDimListAry);
// console.log("--88->", sunMeatListAry);
// console.log("--99->", controlData.value.sunFilter);
};
/**
@ 作者: 秦东
@ -490,12 +577,12 @@ const searchList = () => {
}
});
}
console.log("量度数据-23-->", fieldAry);
console.log("量度数据--34->", fieldMeaAry);
// console.log("-23-->", fieldAry);
// console.log("--34->", fieldMeaAry);
controlData.value.search.factor.splice(0, controlData.value.search.factor.length);
console.log("量度数据--55->", controlData.value.search.factor);
// console.log("--55->", controlData.value.search.factor);
controlData.value.search.factor.push(...fieldAry, ...fieldMeaAry);
console.log("量度数据--66->", controlData.value.search);
// console.log("--66->", controlData.value.search);
};
/**
@ 作者: 秦东
@ -503,15 +590,15 @@ const searchList = () => {
@ 功能: 确定选择
*/
const pickDimMeaSet = () => {
console.log("确定选择", props.dimMeaType);
console.log(
"确定选择----------checkListsunduLiang-------------->",
checkListsunduLiang.value
);
console.log(
"确定选择----------checkListsund-------------->",
checkListsund.value
);
// console.log("", props.dimMeaType);
// console.log(
// "----------checkListsunduLiang-------------->",
// checkListsunduLiang.value
// );
// console.log(
// "----------checkListsund-------------->",
// checkListsund.value
// );
switch (props.dimMeaType) {
case 2:
@ -531,6 +618,7 @@ const pickDimMeaSet = () => {
dimMakecont(props.dimMeaType);
break;
}
// makeSunTableStruct()
handleClose();
};
@ -540,7 +628,16 @@ const pickDimMeaSet = () => {
@ 功能: 组装子表数据结构
*/
const makeSunTableStruct = () => {
if(checkListsund.value&& checkListsund.value.length>0){
checkListsund.value.forEach((item:any)=>{
// console.log("--->",item)
})
}
if(checkListsunduLiang.value&& checkListsunduLiang.value.length>0){
checkListsunduLiang.value.forEach((item:any)=>{
// console.log("-checkListsunduLiang-->",item)
})
}
}
@ -562,7 +659,7 @@ onMounted(() => {
const huanyuan = () => {
switch (props.dimMeaType) {
case 2:
checkMeaList.value.splice(0, checkMeaList.value.length);
checkMeaList.value=[]
if (
controlData.value.y &&
Array.isArray(controlData.value.y) &&
@ -576,10 +673,27 @@ const huanyuan = () => {
}
});
}
checkListsunduLiang.value=[];
if (
controlData.value.ysun &&
Array.isArray(controlData.value.ysun) &&
controlData.value?.ysun.length > 0
) {
// console.log("controlData.value------------>",controlData.value)
controlData.value.ysun.forEach((item: any) => {
checkListsunduLiang.value.push({
title: item.title,
type: item.type,
field:item.field ,
tableKey: item.tableKey,
options: item.options
});
});
}
break;
case 3:
checkMeaList.value.splice(0, checkMeaList.value.length);
checkDimList.value.splice(0, checkDimList.value.length);
checkMeaList.value=[]
checkDimList.value=[]
if (
controlData.value.filter &&
Array.isArray(controlData.value.filter) &&
@ -629,7 +743,7 @@ const huanyuan = () => {
}
break;
default:
checkDimList.value.splice(0, checkDimList.value.length);
checkDimList.value=[]
if (
controlData.value.x &&
Array.isArray(controlData.value.x) &&
@ -643,6 +757,23 @@ const huanyuan = () => {
}
});
}
checkListsund.value=[];
if (
controlData.value.xsun &&
Array.isArray(controlData.value.xsun) &&
controlData.value?.xsun.length > 0
) {
console.log("controlData.value------------>",controlData.value)
controlData.value.xsun.forEach((item: any) => {
checkListsund.value.push({
title: item.title,
type: item.type,
field:item.field ,
tableKey: item.tableKey,
options: item.options
});
});
}
break;
}
};
@ -653,6 +784,12 @@ const weiduBianhua = () => {
// console.log("------------------->", checkDimList.value);
return false;
};
const weiduBianhuaSun = () => {
// console.log("------------------->", checkListsund.value);
checkListsund.value = checkListsund.value.slice(-1);
// console.log("------------------->", checkListsund.value);
return false;
};
//
const duliangBianhua = () => {
// console.log("------------------->", checkMeaList.value);
@ -672,17 +809,20 @@ const checkListsunduLiang = ref([]);
:before-close="handleClose"
>
<div class="drawBodyBox">
<el-divider
v-if="props.dimMeaType == 3 || props.dimMeaType == 4"
content-position="left"
>维度</el-divider
>
<el-checkbox-group
v-if="props.dimMeaType == 1 || props.dimMeaType == 3 || props.dimMeaType == 4"
v-model="checkDimList"
@change="weiduBianhua"
>
<div v-for="(item, index) in props.dimAry">
<el-checkbox v-if="item.type == 1" :label="item.title" :value="item.field" />
<el-collapse v-if="item.type == 3" :expand-icon-position="leftPick">
<el-collapse-item :title="item.title" :name="index">
@ -718,16 +858,18 @@ const checkListsunduLiang = ref([]);
</el-collapse>
</div>
</el-checkbox-group>
<el-divider
v-if="(props.dimMeaType == 3 || props.dimMeaType == 4) "
v-if="(props.dimMeaType == 1) && props.sunMeaAry.length > 0"
content-position="left"
>子表</el-divider
>
<el-tabs v-if="props.dimMeaType != 2" type="border-card">
<el-tabs v-if="props.dimMeaType == 1 && props.sunMeaAry.length > 0" type="border-card">
<el-tab-pane v-for="(item, index) in props.sunMeaAry" :label="item.tableName" :key="index">
<el-checkbox-group v-model="checkListsund">
<el-checkbox-group v-model="checkListsund" @change="weiduBianhuaSun">
<div v-for="(iv, idx) in item.tableUnit">
<el-checkbox :value="iv" :label="iv.title" size="large" :key="idx" />
</div>
</el-checkbox-group>
@ -782,11 +924,11 @@ const checkListsunduLiang = ref([]);
</div>
</el-checkbox-group>
<el-divider
v-if="(props.dimMeaType == 3 || props.dimMeaType == 4) "
v-if="( props.dimMeaType == 2) && props.sunDimAry.length>0"
content-position="left"
>子表</el-divider
>
<el-tabs v-if="props.dimMeaType != 1 " type="border-card">
<el-tabs v-if="props.dimMeaType == 2 && props.sunDimAry.length>0" type="border-card">
<el-tab-pane v-for="(item, index) in props.sunDimAry" :label="item.tableName" :key="index">
<el-checkbox-group v-model="checkListsunduLiang">
<div v-for="(iv, idx) in item.tableUnit">

842
src/views/sysworkflow/lowcodepage/appPage/appPageForm/echatesUnit/winBox/dimMeaBlack.vue

@ -0,0 +1,842 @@
<!--
@ 作者: 秦东
@ 时间: 2025-06-27 14:50:32
@ 备注: 维度与计量字段
-->
<script lang="ts" setup>
import type { CollapseIconPositionType } from "element-plus";
import { useDesignEchartsStore } from "@/store/DesignForm/designForm";
import { dimMeaInfo, filterInfo } from "@/api/chart/type";
const store = useDesignEchartsStore() as any; //
const props = defineProps({
isShow: {
type: Boolean,
default: false,
},
dimMeaType: {
type: Number,
default: 1,
},
dimAry: {
type: Array,
default() {
return [];
},
},
meaAry: {
type: Array,
default() {
return [];
},
},
sunDimAry: {
type: Array,
default() {
return [];
},
},
sunMeaAry: {
type: Array,
default() {
return [];
},
},
});
const drawTitle = ref("");
const leftPick = ref<CollapseIconPositionType>("right");
const checkDimList = ref<any>([]);
const checkMeaList = ref<any>([]);
//
const controlData = computed(() => {
return store.controlAttr;
});
const emits = defineEmits(["update:isShow"]);
const openClose = computed({
get: () => {
switch (props.dimMeaType) {
case 2:
drawTitle.value = "添加度量";
break;
case 3:
drawTitle.value = "添加过滤器";
break;
case 4:
drawTitle.value = "添加查询条件";
break;
default:
drawTitle.value = "添加维度";
break;
}
huanyuan();
return props.isShow;
},
set: (newVal: any) => {
emits("update:isShow", newVal);
},
});
/**
@ 作者: 秦东
@ 时间: 2025-06-27 14:39:42
@ 功能: 关闭
*/
const handleClose = () => {
emits("update:isShow", false);
};
/**
@ 作者: 秦东
@ 时间: 2025-06-27 15:52:20
@ 功能: 返回时间题目
*/
const timeTitle = (field: dimMeaInfo, typ: string) => {
return field.title + "(" + typ + ")";
};
/**
@ 作者: 秦东
@ 时间: 2025-06-27 15:52:20
@ 功能: 返回时间值
*/
const timeVal = (field: dimMeaInfo, typ: string) => {
return field.field + "|#$#|" + typ;
};
/**
@ 作者: 秦东
@ 时间: 2025-06-30 08:34:44
@ 功能: 维度组装
*/
const dimMakecont = (val: number) => {
console.log("维度组装-------->",checkDimList.value)
if (Array.isArray(checkDimList.value)) {
let fieldAry = new Array();
checkDimList.value.forEach((item: any) => {
let valAry = item.split("|#$#|");
if (Array.isArray(valAry) && valAry.length > 1) {
switch (val) {
case 3:
break;
case 4:
break;
default:
props.dimAry.forEach((itemDim) => {
if (itemDim.field == valAry[0]) {
let isNew = true;
if (
Array.isArray(controlData.value.x) &&
controlData.value.x.length > 0
) {
controlData.value.x.forEach((xItem: any) => {
if (xItem.field == item) {
isNew = false;
fieldAry.push(xItem);
}
});
}
if (isNew) {
fieldAry.push({
title: itemDim.title + "(" + valAry[valAry.length - 1] + ")",
type: itemDim.type,
field: itemDim.field,
options: itemDim.options,
oldTitle: itemDim.title + "(" + valAry[valAry.length - 1] + ")",
timeType: valAry[valAry.length - 1],
sort: 1,
});
}
}
});
}
} else {
switch (val) {
case 3:
break;
case 4:
break;
default:
props.dimAry.forEach((itemDim) => {
console.log("维度组装-----1------->", itemDim.field == item, itemDim, item);
if (itemDim.field == item) {
let isNew = true;
if (
Array.isArray(controlData.value.x) &&
controlData.value.x.length > 0
) {
controlData.value.x.forEach((xItem: any) => {
if (xItem.field == item) {
isNew = false;
fieldAry.push(xItem);
}
});
}
if (isNew) {
fieldAry.push({
title: itemDim.title,
type: itemDim.type,
field: itemDim.field,
options: itemDim.options,
oldTitle: itemDim.title,
timeType: "",
sort: 1,
});
}
}
});
}
}
});
controlData.value.x = fieldAry;
console.log("维度组装", controlData.value);
}
//
if(Array.isArray(checkListsund.value)){
let sunFieldAry = new Array();
if (Array.isArray(props.sunDimAry.value) && props.sunDimAry.value> 1){
console.log("子维度组装-----2------->", props.sunDimAry);
}else{
console.log("子维度组装-----3------->", props.sunDimAry);
console.log("子维度组装-----3------->", controlData.value.xsun);
}
checkListsund.value.forEach((item: any) => {
})
}
};
/**
@ 作者: 秦东
@ 时间: 2025-06-30 14:21:28
@ 功能: 组装度量
*/
const meaMakecont = (val: number) => {
// "--->",
// Array.isArray(checkMeaList.value),
// checkMeaList.value.length,
// checkMeaList.value
// );
console.log("组装度量--------->",checkMeaList.value)
if (Array.isArray(checkMeaList.value) && checkMeaList.value.length > 0) {
let fieldAry = new Array();
checkMeaList.value.forEach((item: any) => {
let valAry = item.split("|#$#|");
if (Array.isArray(valAry) && valAry.length > 1) {
switch (val) {
case 3:
break;
case 4:
break;
default:
props.meaAry.forEach((itemDim) => {
if (itemDim.field == valAry[0]) {
let isNew = true;
if (
Array.isArray(controlData.value.y) &&
controlData.value.y.length > 0
) {
controlData.value.y.forEach((yItem: any) => {
if (yItem.field == item) {
isNew = false;
fieldAry.push(yItem);
}
});
}
if (isNew) {
fieldAry.push({
title: itemDim.title + "(" + valAry[valAry.length - 1] + ")",
type: itemDim.type,
field: itemDim.field,
options: itemDim.options,
oldTitle: itemDim.title + "(" + valAry[valAry.length - 1] + ")",
timeType: valAry[valAry.length - 1],
sort: 1,
});
}
}
});
}
} else {
switch (val) {
case 3:
break;
case 4:
break;
default:
props.meaAry.forEach((itemDim) => {
console.log("维度组装-----1------->", itemDim.field == item, itemDim, item);
if (itemDim.field == item) {
let isNew = true;
if (
Array.isArray(controlData.value.y) &&
controlData.value.y.length > 0
) {
controlData.value.y.forEach((xItem: any) => {
if (xItem.field == item) {
isNew = false;
fieldAry.push(xItem);
}
});
}
if (isNew) {
fieldAry.push({
title: itemDim.title,
type: itemDim.type,
field: itemDim.field,
options: itemDim.options,
oldTitle: itemDim.title,
timeType: "",
sort: 1,
});
}
}
});
}
}
});
controlData.value.y = fieldAry;
}
};
/**
@ 作者: 秦东
@ 时间: 2025-07-03 09:34:59
@ 功能: 组装过滤器
*/
const meaDimCont = () => {
console.log("维度数据--->", checkDimList.value, props.dimAry);
console.log("量度数据--->", checkMeaList.value);
let fieldAry = new Array();
if (Array.isArray(checkDimList.value) && checkDimList.value.length > 0) {
checkDimList.value.forEach((item: any) => {
let valAry = item.split("|#$#|");
if (Array.isArray(valAry) && valAry.length > 1) {
props.dimAry.forEach((itemDim) => {
if (itemDim.field == valAry[0]) {
fieldAry.push({
lable: itemDim.title + "(" + valAry[valAry.length - 1] + ")",
type: 3,
field: itemDim.field,
options: itemDim.options,
oldTitle: itemDim.title + "(" + valAry[valAry.length - 1] + ")",
timeType: valAry[valAry.length - 1],
sort: 1,
conditions: "",
method: 1,
modality: 1,
modalityList: [],
startTime: "",
endTime: "",
meadim: 1,
});
}
});
} else {
props.dimAry.forEach((itemDim) => {
if (itemDim.field == item) {
fieldAry.push({
lable: itemDim.title,
type: itemDim.type,
field: itemDim.field,
options: itemDim.options,
oldTitle: itemDim.title,
timeType: "",
sort: 1,
conditions: "",
method: 1,
modality: 1,
modalityList: [],
startTime: "",
endTime: "",
meadim: 1,
});
}
});
}
});
}
let fieldMeaAry = new Array();
if (Array.isArray(checkMeaList.value) && checkMeaList.value.length > 0) {
checkMeaList.value.forEach((item: any) => {
let valAry = item.split("|#$#|");
if (Array.isArray(valAry) && valAry.length > 1) {
props.meaAry.forEach((itemDim) => {
if (itemDim.field == valAry[0]) {
fieldMeaAry.push({
lable: itemDim.title + "(" + valAry[valAry.length - 1] + ")",
type: 3,
field: itemDim.field,
options: itemDim.options,
oldTitle: itemDim.title + "(" + valAry[valAry.length - 1] + ")",
timeType: valAry[valAry.length - 1],
sort: 1,
conditions: "",
method: 1,
modality: 1,
modalityList: [],
startTime: "",
endTime: "",
meadim: 2,
});
}
});
} else {
props.meaAry.forEach((itemDim) => {
if (itemDim.field == item) {
fieldMeaAry.push({
lable: itemDim.title,
type: itemDim.type,
field: itemDim.field,
options: itemDim.options,
oldTitle: itemDim.title,
timeType: "",
sort: 1,
conditions: "",
method: 1,
modality: 1,
modalityList: [],
startTime: "",
endTime: "",
meadim: 2,
});
}
});
}
});
}
console.log("量度数据-23-->", fieldAry);
console.log("量度数据--34->", fieldMeaAry);
controlData.value.filter.splice(0, controlData.value.filter.length);
console.log("量度数据--55->", controlData.value.filter);
controlData.value.filter.push(...fieldAry, ...fieldMeaAry);
console.log("量度数据--66->", controlData.value.filter);
};
/**
@ 作者: 秦东
@ 时间: 2025-07-07 14:07:17
@ 功能: 组装搜索条件
*/
const searchList = () => {
let fieldAry = new Array();
if (Array.isArray(checkDimList.value) && checkDimList.value.length > 0) {
checkDimList.value.forEach((item: any) => {
let valAry = item.split("|#$#|");
if (Array.isArray(valAry) && valAry.length > 1) {
props.dimAry.forEach((itemDim) => {
if (itemDim.field == valAry[0]) {
fieldAry.push({
lable: itemDim.title + "(" + valAry[valAry.length - 1] + ")",
type: itemDim.type,
field: itemDim.field,
options: itemDim.options,
oldTitle: itemDim.title + "(" + valAry[valAry.length - 1] + ")",
timeType: valAry[valAry.length - 1],
sort: 1,
isTime: true,
value: "",
startTime: "",
endTime: "",
coor: "Y",
});
}
});
} else {
props.dimAry.forEach((itemDim) => {
if (itemDim.field == item) {
fieldAry.push({
lable: itemDim.title,
type: itemDim.type,
field: itemDim.field,
options: itemDim.options,
oldTitle: itemDim.title,
timeType: "",
sort: 1,
isTime: false,
value: "",
startTime: "",
endTime: "",
coor: "Y",
});
}
});
}
});
}
let fieldMeaAry = new Array();
if (Array.isArray(checkMeaList.value) && checkMeaList.value.length > 0) {
checkMeaList.value.forEach((item: any) => {
let valAry = item.split("|#$#|");
if (Array.isArray(valAry) && valAry.length > 1) {
props.meaAry.forEach((itemDim) => {
if (itemDim.field == valAry[0]) {
fieldMeaAry.push({
lable: itemDim.title + "(" + valAry[valAry.length - 1] + ")",
type: 3,
field: itemDim.field,
options: itemDim.options,
oldTitle: itemDim.title + "(" + valAry[valAry.length - 1] + ")",
timeType: valAry[valAry.length - 1],
sort: 1,
isTime: true,
value: "",
startTime: "",
endTime: "",
coor: "X",
});
}
});
} else {
props.meaAry.forEach((itemDim) => {
if (itemDim.field == item) {
fieldMeaAry.push({
lable: itemDim.title,
type: itemDim.type,
field: itemDim.field,
options: itemDim.options,
oldTitle: itemDim.title,
timeType: "",
sort: 1,
isTime: false,
value: "",
startTime: "",
endTime: "",
coor: "X",
});
}
});
}
});
}
console.log("量度数据-23-->", fieldAry);
console.log("量度数据--34->", fieldMeaAry);
controlData.value.search.factor.splice(0, controlData.value.search.factor.length);
console.log("量度数据--55->", controlData.value.search.factor);
controlData.value.search.factor.push(...fieldAry, ...fieldMeaAry);
console.log("量度数据--66->", controlData.value.search);
};
/**
@ 作者: 秦东
@ 时间: 2025-06-27 16:12:49
@ 功能: 确定选择
*/
const pickDimMeaSet = () => {
console.log("确定选择", props.dimMeaType);
console.log(
"确定选择----------checkListsunduLiang-------------->",
checkListsunduLiang.value
);
console.log(
"确定选择----------checkListsund-------------->",
checkListsund.value
);
switch (props.dimMeaType) {
case 2:
drawTitle.value = "添加度量";
meaMakecont(props.dimMeaType);
break;
case 3:
drawTitle.value = "添加过滤器";
meaDimCont();
break;
case 4:
drawTitle.value = "添加查询条件";
searchList();
break;
default:
drawTitle.value = "添加维度";
dimMakecont(props.dimMeaType);
break;
}
makeSunTableStruct()
handleClose();
};
/**
@ 作者: 秦东
@ 时间: 2025-08-27 10:20:38
@ 功能: 组装子表数据结构
*/
const makeSunTableStruct = () => {
if(checkListsund.value&& checkListsund.value.length>0){
checkListsund.value.forEach((item:any)=>{
console.log("组装子表数据结构--->",item)
})
}
if(checkListsunduLiang.value&& checkListsunduLiang.value.length>0){
checkListsunduLiang.value.forEach((item:any)=>{
console.log("组装子表数据结构-checkListsunduLiang-->",item)
})
}
}
/**
@ 作者: 秦东
@ 时间: 2025-06-30 14:28:37
@ 功能: 初始化加载
*/
onMounted(() => {
huanyuan();
});
/**
@ 作者: 秦东
@ 时间: 2025-06-30 15:45:56
@ 功能: 还原数据
*/
const huanyuan = () => {
switch (props.dimMeaType) {
case 2:
checkMeaList.value.splice(0, checkMeaList.value.length);
if (
controlData.value.y &&
Array.isArray(controlData.value.y) &&
controlData.value.y.length > 0
) {
controlData.value.y.forEach((item: any) => {
if (item.timeType != "") {
checkMeaList.value.push(timeVal(item, item.timeType));
} else {
checkMeaList.value.push(item.field);
}
});
}
break;
case 3:
checkMeaList.value.splice(0, checkMeaList.value.length);
checkDimList.value.splice(0, checkDimList.value.length);
if (
controlData.value.filter &&
Array.isArray(controlData.value.filter) &&
controlData.value.filter.length > 0
) {
controlData.value.filter.forEach((item: any) => {
if (item.meadim == 1) {
if (item.timeType != "") {
checkDimList.value.push(timeVal(item, item.timeType));
} else {
checkDimList.value.push(item.field);
}
} else {
if (item.timeType != "") {
checkMeaList.value.push(timeVal(item, item.timeType));
} else {
checkMeaList.value.push(item.field);
}
}
});
}
break;
case 4:
drawTitle.value = "添加查询条件";
checkMeaList.value.splice(0, checkMeaList.value.length);
checkDimList.value.splice(0, checkDimList.value.length);
if (
controlData.value.search.factor &&
Array.isArray(controlData.value.search.factor) &&
controlData.value.search.factor.length > 0
) {
controlData.value.search.factor.forEach((item: any) => {
if (item.meadim == 1) {
if (item.timeType != "") {
checkDimList.value.push(timeVal(item, item.timeType));
} else {
checkDimList.value.push(item.field);
}
} else {
if (item.timeType != "") {
checkMeaList.value.push(timeVal(item, item.timeType));
} else {
checkMeaList.value.push(item.field);
}
}
});
}
break;
default:
checkDimList.value.splice(0, checkDimList.value.length);
if (
controlData.value.x &&
Array.isArray(controlData.value.x) &&
controlData.value.x.length > 0
) {
controlData.value.x.forEach((item: any) => {
if (item.timeType != "") {
checkDimList.value.push(timeVal(item, item.timeType));
} else {
checkDimList.value.push(item.field);
}
});
}
break;
}
};
//
const weiduBianhua = () => {
console.log("------------------->", checkDimList.value);
checkDimList.value = checkDimList.value.slice(-1);
console.log("------------------->", checkDimList.value);
return false;
};
//
const duliangBianhua = () => {
// console.log("------------------->", checkMeaList.value);
// console.log("------------------->", controlData.value.type);
if (controlData.value.type == "barRace") {
checkMeaList.value = checkMeaList.value.slice(-1);
}
};
const checkListsund = ref([]);
const checkListsunduLiang = ref([]);
</script>
<template>
<el-drawer
v-model="openClose"
:title="drawTitle"
direction="rtl"
:before-close="handleClose"
>
<div class="drawBodyBox">
<el-divider
v-if="props.dimMeaType == 3 || props.dimMeaType == 4"
content-position="left"
>维度</el-divider
>
{{ checkDimList }}
<el-checkbox-group
v-if="props.dimMeaType == 1 || props.dimMeaType == 3 || props.dimMeaType == 4"
v-model="checkDimList"
@change="weiduBianhua"
>
<div v-for="(item, index) in props.dimAry">
<el-checkbox v-if="item.type == 1" :label="item.title" :value="item.field" />
<el-collapse v-if="item.type == 3" :expand-icon-position="leftPick">
<el-collapse-item :title="item.title" :name="index">
<el-checkbox
:label="timeTitle(item, 'ymdhms')"
:value="timeVal(item, 'ymdhms')"
/>
<el-checkbox
:label="timeTitle(item, 'year')"
:value="timeVal(item, 'year')"
/>
<el-checkbox
:label="timeTitle(item, 'month')"
:value="timeVal(item, 'month')"
/>
<el-checkbox
:label="timeTitle(item, 'day')"
:value="timeVal(item, 'day')"
/>
<el-checkbox
:label="timeTitle(item, 'hour')"
:value="timeVal(item, 'hour')"
/>
<el-checkbox
:label="timeTitle(item, 'minute')"
:value="timeVal(item, 'minute')"
/>
<el-checkbox
:label="timeTitle(item, 'second')"
:value="timeVal(item, 'second')"
/>
</el-collapse-item>
</el-collapse>
</div>
</el-checkbox-group>
<el-divider
v-if="(props.dimMeaType == 3 || props.dimMeaType == 4) "
content-position="left"
>子表</el-divider
>
<el-tabs v-if="props.dimMeaType != 2" type="border-card">
<el-tab-pane v-for="(item, index) in props.sunMeaAry" :label="item.tableName" :key="index">
<el-checkbox-group v-model="checkListsund">
<div v-for="(iv, idx) in item.tableUnit">
<el-checkbox :value="iv" :label="iv.title" size="large" :key="idx" />
</div>
</el-checkbox-group>
</el-tab-pane>
</el-tabs>
<el-divider
v-if="props.dimMeaType == 3 || props.dimMeaType == 4"
content-position="left"
>度量</el-divider
>
<el-checkbox-group
v-if="props.dimMeaType == 2 || props.dimMeaType == 3 || props.dimMeaType == 4"
v-model="checkMeaList"
@change="duliangBianhua"
>
<div v-for="(item, index) in props.meaAry">
<el-checkbox v-if="item.type == 2" :label="item.title" :value="item.field" />
<el-collapse v-if="item.type == 3" :expand-icon-position="leftPick">
<el-collapse-item :title="item.title" :name="index">
<el-checkbox
:label="timeTitle(item, 'ymdhms')"
:value="timeVal(item, 'ymdhms')"
/>
<el-checkbox
:label="timeTitle(item, 'year')"
:value="timeVal(item, 'year')"
/>
<el-checkbox
:label="timeTitle(item, 'onth')"
:value="timeVal(item, 'onth')"
/>
<el-checkbox
:label="timeTitle(item, 'day')"
:value="timeVal(item, 'day')"
/>
<el-checkbox
:label="timeTitle(item, 'hour')"
:value="timeVal(item, 'hour')"
/>
<el-checkbox
:label="timeTitle(item, 'minute')"
:value="timeVal(item, 'minute')"
/>
<el-checkbox
:label="timeTitle(item, 'second')"
:value="timeVal(item, 'second')"
/>
</el-collapse-item>
</el-collapse>
</div>
</el-checkbox-group>
<el-divider
v-if="(props.dimMeaType == 3 || props.dimMeaType == 4) "
content-position="left"
>子表</el-divider
>
<el-tabs v-if="props.dimMeaType != 1 " type="border-card">
<el-tab-pane v-for="(item, index) in props.sunDimAry" :label="item.tableName" :key="index">
<el-checkbox-group v-model="checkListsunduLiang">
<div v-for="(iv, idx) in item.tableUnit">
<el-checkbox :value="iv" :label="iv.title" size="large" :key="idx" />
</div>
</el-checkbox-group>
</el-tab-pane>
</el-tabs>
<el-button class="drawBut" type="primary" @click="pickDimMeaSet()">确定</el-button>
</div>
</el-drawer>
</template>
<style lang="scss" scoped>
.drawBodyBox {
padding: 0 10px;
}
.drawBut {
width: 100%;
margin-top: 20px;
}
</style>
Loading…
Cancel
Save