Browse Source

Merge branch 'qin_24'

han_v3
herenshan112 4 months ago
parent
commit
2ae53c608f
  1. 9
      src/api/chart/type.ts
  2. 1
      src/utils/request.ts
  3. 1
      src/utils/requestfile.ts
  4. 295
      src/views/dashboard/components/orguserage.vue
  5. 105
      src/views/sysworkflow/lowcodepage/appPage/appPageForm/echatesUnit/chart/barRace.vue
  6. 122
      src/views/sysworkflow/lowcodepage/appPage/appPageForm/echatesUnit/chart/pie.vue
  7. 110
      src/views/sysworkflow/lowcodepage/appPage/appPageForm/echatesUnit/chart/radar.vue
  8. 208
      src/views/sysworkflow/lowcodepage/appPage/appPageForm/echatesUnit/chart/target.vue
  9. 6
      src/views/sysworkflow/lowcodepage/appPage/appPageForm/echatesUnit/right.vue
  10. 19
      src/views/sysworkflow/lowcodepage/appPage/appPageForm/echatesUnit/winBox/dimMea.vue

9
src/api/chart/type.ts

@ -65,3 +65,12 @@ export interface searchInfo{
endTime: string; endTime: string;
coor: string; coor: string;
} }
//输出指标结构
export interface targetInfo{
title:string;
list:listAry;
}
interface listAry{
name:string;
value:any;
}

1
src/utils/request.ts

@ -1,5 +1,6 @@
import axios, { InternalAxiosRequestConfig, AxiosResponse } from 'axios'; import axios, { InternalAxiosRequestConfig, AxiosResponse } from 'axios';
import { useUserStoreHook } from '@/store/modules/user'; import { useUserStoreHook } from '@/store/modules/user';
import { ElMessage, ElMessageBox } from 'element-plus';
// 创建 axios 实例 // 创建 axios 实例
const service = axios.create({ const service = axios.create({

1
src/utils/requestfile.ts

@ -1,5 +1,6 @@
import axios, { InternalAxiosRequestConfig, AxiosResponse } from 'axios'; import axios, { InternalAxiosRequestConfig, AxiosResponse } from 'axios';
import { useUserStoreHook } from '@/store/modules/user'; import { useUserStoreHook } from '@/store/modules/user';
import { ElMessage, ElMessageBox } from 'element-plus';
// 创建 axios 实例 // 创建 axios 实例
const service = axios.create({ const service = axios.create({

295
src/views/dashboard/components/orguserage.vue

@ -3,162 +3,171 @@
@ 时间: 2023-11-08 18:48:27 @ 时间: 2023-11-08 18:48:27
@ 备注: 行政组织年龄结构 @ 备注: 行政组织年龄结构
--> -->
<script lang='ts' setup> <script lang="ts" setup>
import * as echarts from 'echarts'; // import * as echarts from "echarts"; //
import { statisticalAgeRatio } from '@/api/displayboardapi/indexapi' import { statisticalAgeRatio } from "@/api/displayboardapi/indexapi";
const props = defineProps({ const props = defineProps({
educationOrgId:{ educationOrgId: {
type:Number, type: Number,
default:309 default: 309,
}, },
orgListCont:{ orgListCont: {
type:Object, type: Object,
default(){ default() {
return {} return {};
} },
} },
}) });
const orgAgeLoading = ref(false) const orgAgeLoading = ref(false);
const orgAgeId = ref<number>(309) const orgAgeId = ref<number>(309);
let seriesOrgAgeData = new Array let seriesOrgAgeData = new Array();
const orgAgeTitle = ref<string>("年龄结构图") const orgAgeTitle = ref<string>("年龄结构图");
// //
const orgAgeChart = ref<any>() const orgAgeChart = ref<any>();
// //
const darwOrgAgeChart = ref<any>(null) const darwOrgAgeChart = ref<any>(null);
/** /**
* 获取年龄比例 * 获取年龄比例
*/ */
const gainOrgAgeRatio = () =>{ const gainOrgAgeRatio = () => {
orgAgeLoading.value = true orgAgeLoading.value = true;
statisticalAgeRatio({id:orgAgeId.value.toString()}) statisticalAgeRatio({ id: orgAgeId.value.toString() })
.then((data:any)=>{ .then((data: any) => {
if(data.code == 0){ if (data.code == 0) {
seriesOrgAgeData.splice(0,seriesOrgAgeData.length); seriesOrgAgeData.splice(0, seriesOrgAgeData.length);
if(data.data){ if (data.data) {
seriesOrgAgeData = data.data seriesOrgAgeData = data.data;
// console.log("",seriesOrgAgeData) console.log("年龄结构图", seriesOrgAgeData);
let optionOrgAge = { let optionOrgAge = {
tooltip: { tooltip: {
trigger: 'item' trigger: "item",
}, },
toolbox: { toolbox: {
x: 'right', x: "right",
y: -5, y: -5,
feature: { feature: {
saveAsImage: {} saveAsImage: {},
} },
}, },
series: [ series: [
{ {
type: 'pie', type: "pie",
radius: ['40%', '60%'], radius: ["40%", "60%"],
center:['50%','58%'], center: ["50%", "58%"],
data: seriesOrgAgeData, data: seriesOrgAgeData,
label: { label: {
normal:{ normal: {
show: true, show: true,
formatter: `{data|{b}} {serie|{c}人}`, formatter: `{data|{b}} {serie|{c}人}`,
padding: [0, 15, 0, 0], padding: [0, 15, 0, 0],
rich: { rich: {
data: { data: {
fontSize: 14, fontSize: 14,
color: '#666666' color: "#666666",
}, },
serie: { serie: {
fontSize: 15, fontSize: 15,
color: '#000000', color: "#000000",
fontweight: 600, fontweight: 600,
padding: [0, 0, 0, 3] padding: [0, 0, 0, 3],
} },
} },
} },
} },
}, },
// { // {
// type: 'pie', // type: 'pie',
// radius: ['40%', '60%'], // radius: ['40%', '60%'],
// data: seriesOrgAgeData, // data: seriesOrgAgeData,
// center:['50%','58%'], // center:['50%','58%'],
// label: { // label: {
// normal:{ // normal:{
// position: 'inside', // position: 'inside',
// show: false, // show: false,
// formatter: (d: any) => { // formatter: (d: any) => {
// return d.percent + '%' // return d.percent + '%'
// } // }
// } // }
// } // }
// } // }
] ],
}; };
orgAgeChart.value.clear(); orgAgeChart.value.clear();
orgAgeChart.value.setOption(optionOrgAge) orgAgeChart.value.setOption(optionOrgAge);
orgAgeLoading.value=false orgAgeLoading.value = false;
}
} }
} })
}) .finally(() => {});
.finally(()=>{ };
})
}
onMounted(() => { onMounted(() => {
orgAgeId.value = props.educationOrgId orgAgeId.value = props.educationOrgId;
orgAgeChart.value = markRaw(echarts.init(darwOrgAgeChart.value)) orgAgeChart.value = markRaw(echarts.init(darwOrgAgeChart.value));
gainOrgAgeRatio() gainOrgAgeRatio();
// //
window.addEventListener('resize', () => { window.addEventListener("resize", () => {
orgAgeChart.value.resize(); orgAgeChart.value.resize();
}); });
}) });
</script> </script>
<template> <template>
<el-card shadow="always" :body-style="{ padding: '10px' }" style = "border-radius: 12px;margin-top: 10px;position: relative;height: 100%;"> <el-card
<!--单月全厂统计--> shadow="always"
<div class="orgAllMothsTitle"> :body-style="{ padding: '10px' }"
<el-text class="titleInfo">{{ orgAgeTitle }}</el-text> style="border-radius: 12px; margin-top: 10px; position: relative; height: 100%"
<el-select v-model="orgAgeId" placeholder="请选择公司" @change="gainOrgAgeRatio" style="width: 240px;"> >
<el-option <!--单月全厂统计-->
v-for="item in props.orgListCont" <div class="orgAllMothsTitle">
:key="item.id" <el-text class="titleInfo">{{ orgAgeTitle }}</el-text>
:label="item.name" <el-select
:value="item.id"> v-model="orgAgeId"
</el-option> placeholder="请选择公司"
</el-select> @change="gainOrgAgeRatio"
</div> style="width: 240px"
<div ref="darwOrgAgeChart" v-loading="orgAgeLoading" element-loading-text="Loading..." class="allOrgAxisCares"> >
<el-option
</div> v-for="item in props.orgListCont"
</el-card> :key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
</div>
<div
ref="darwOrgAgeChart"
v-loading="orgAgeLoading"
element-loading-text="Loading..."
class="allOrgAxisCares"
></div>
</el-card>
</template> </template>
<style lang='scss' scoped> <style lang="scss" scoped>
// .readback{ // .readback{
.allOrgAxisCares{ .allOrgAxisCares {
display: block; display: block;
width:100%; width: 100%;
height:330px; height: 330px;
} }
// } // }
.orgAllMothsTitle{ .orgAllMothsTitle {
width:calc(100% - 55px); width: calc(100% - 55px);
display: flex; display: flex;
align-items: center; align-items: center;
justify-content:space-between; justify-content: space-between;
position: absolute; position: absolute;
left: 15px; left: 15px;
top: 5px; top: 5px;
z-index: 99; z-index: 99;
} }
.span_icon_left{ .span_icon_left {
margin-right:10px; margin-right: 10px;
} }
.titleInfo{ .titleInfo {
font-size: 18px; font-size: 18px;
font-weight: bold; font-weight: bold;
color: #000000; color: #000000;
} }
</style> </style>

105
src/views/sysworkflow/lowcodepage/appPage/appPageForm/echatesUnit/chart/barRace.vue

@ -4,6 +4,7 @@
@ 备注: 排行榜 @ 备注: 排行榜
--> -->
<script lang="ts" setup> <script lang="ts" setup>
import { analyzeChartData } from "@/api/chart/index";
import { echatsViews } from "@/api/DesignForm/types"; import { echatsViews } from "@/api/DesignForm/types";
import * as echarts from "echarts"; import * as echarts from "echarts";
@ -31,31 +32,87 @@ var myChart = ref<any>();
const drawPictures = () => { const drawPictures = () => {
if (props.uuid && props.uuid != "") { if (props.uuid && props.uuid != "") {
myChart.value = echarts.init(document.getElementById(props.uuid) as HTMLDivElement); myChart.value = echarts.init(document.getElementById(props.uuid) as HTMLDivElement);
myChart.value.setOption({ analyzeChartData({ tableKey: props.tableKey, chartId: props.uuid }).then((data) => {
grid: { console.log("画图排行榜---->1", data);
left: "2%", if (data.code == 0) {
right: "2%", let radMap = data.data;
bottom: "5%", let seriesList = new Array();
top: "15%", if (Array.isArray(radMap.seriesData)) {
containLabel: true, radMap.seriesData.forEach((item: any) => {
}, seriesList.push({
xAxis: { realtimeSort: true,
max: "dataMax", name: item.name,
}, type: "bar",
yAxis: { data: item.value,
type: "category", label: {
data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"], show: true,
inverse: true, position: "right",
}, valueAnimation: true,
series: [ },
{ });
realtimeSort: true, });
name: "销量", }
type: "bar", let optionData = {
data: [5, 26, 36, 10, 15, 20], grid: {
}, left: "2%",
], right: "2%",
bottom: "5%",
top: "15%",
containLabel: true,
},
tooltip: {
trigger: "item",
},
legend: {
show: true,
},
xAxis: {
max: "dataMax",
},
yAxis: {
type: "category",
data: radMap.yAxisData,
inverse: true,
max: radMap.max, // only the largest 3 bars will be displayed
},
series: seriesList,
};
myChart.value.setOption(optionData);
} else {
myChart.value.setOption({
grid: {
left: "2%",
right: "2%",
bottom: "5%",
top: "15%",
containLabel: true,
},
xAxis: {
max: "dataMax",
},
yAxis: {
type: "category",
data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"],
inverse: true,
},
series: [
{
realtimeSort: true,
name: "销量",
type: "bar",
data: [5, 26, 36, 10, 15, 20],
},
{
realtimeSort: true,
name: "销量1",
type: "bar",
data: [5, 26, 36, 10, 15, 20],
},
],
});
}
}); });
console.log("画图完毕---->", props); console.log("画图完毕---->", props);
} }
}; };

122
src/views/sysworkflow/lowcodepage/appPage/appPageForm/echatesUnit/chart/pie.vue

@ -4,6 +4,7 @@
@ 备注: 饼状图 @ 备注: 饼状图
--> -->
<script lang="ts" setup> <script lang="ts" setup>
import { analyzeChartData } from "@/api/chart/index";
import { echatsViews } from "@/api/DesignForm/types"; import { echatsViews } from "@/api/DesignForm/types";
import * as echarts from "echarts"; import * as echarts from "echarts";
@ -33,39 +34,92 @@ const drawPie = () => {
myChartPie.value = echarts.init( myChartPie.value = echarts.init(
document.getElementById(props.uuid) as HTMLDivElement document.getElementById(props.uuid) as HTMLDivElement
); );
myChartPie.value.setOption({ analyzeChartData({ tableKey: props.tableKey, chartId: props.uuid }).then((data) => {
grid: { console.log("火兔---->1", data);
left: "2%", if (data.code == 0) {
right: "2%", let optionData = {
bottom: "5%", tooltip: {
top: "15%", trigger: "item",
containLabel: true, formatter: function (params) {
}, var res = params.name + params.percent + "<br/>";
legend: {
left: "center", for (let i = 0; i < data.data.otherData.length; i++) {
}, if (params.name == data.data.otherData[i].fathreName) {
series: [ res +=
{ data.data.otherData[i].toolName +
name: "Access From", ":" +
type: "pie", data.data.otherData[i].toolval +
radius: "50%", "<br/>";
data: [ }
{ value: 1048, name: "Search Engine" }, }
{ value: 735, name: "Direct" }, return res;
{ value: 580, name: "Email" },
{ value: 484, name: "Union Ads" },
{ value: 300, name: "Video Ads" },
],
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: "rgba(0, 0, 0, 0.5)",
}, },
}, },
}, legend: {
], left: "left",
},
series: [
{
type: "pie",
center: ["50%", "60%"],
data: data.data.mastrerData,
label: {
show: true,
formatter: `{data|{b}} {serie|{d}%}`,
padding: [0, 15, 0, 0],
rich: {
data: {
fontSize: 14,
color: "#666666",
},
serie: {
fontSize: 15,
color: "#000000",
padding: [0, 0, 0, 3],
},
},
},
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: "rgba(0, 0, 0, 0.5)",
},
},
},
],
};
console.log("火兔---->2", optionData);
myChartPie.value.setOption(optionData);
} else {
myChartPie.value.setOption({
legend: {
left: "center",
},
series: [
{
type: "pie",
data: [
{ value: 1048, name: "Search Engine" },
{ value: 735, name: "Direct" },
{ value: 580, name: "Email" },
{ value: 484, name: "Union Ads" },
{ value: 300, name: "Video Ads" },
],
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: "rgba(0, 0, 0, 0.5)",
},
},
},
],
});
}
}); });
console.log("画图完毕---->", props); console.log("画图完毕---->", props);
} }
}; };
@ -82,7 +136,13 @@ const searBut = (val: string) => {
} }
return false; return false;
}; };
watch(
() => props.data,
(val: any) => {
drawPie();
},
{ deep: true }
);
onMounted(() => { onMounted(() => {
nextTick(() => { nextTick(() => {
drawPie(); drawPie();

110
src/views/sysworkflow/lowcodepage/appPage/appPageForm/echatesUnit/chart/radar.vue

@ -4,6 +4,7 @@
@ 备注: 雷达图 @ 备注: 雷达图
--> -->
<script lang="ts" setup> <script lang="ts" setup>
import { analyzeChartData } from "@/api/chart/index";
import { echatsViews } from "@/api/DesignForm/types"; import { echatsViews } from "@/api/DesignForm/types";
import * as echarts from "echarts"; import * as echarts from "echarts";
@ -28,50 +29,81 @@ var myChartPie = ref<any>();
@ 时间: 2025-06-26 11:34:21 @ 时间: 2025-06-26 11:34:21
@ 功能: 画图 @ 功能: 画图
*/ */
const drawPie = () => { const drawRadar = () => {
if (props.uuid && props.uuid != "") { if (props.uuid && props.uuid != "") {
myChartPie.value = echarts.init( myChartPie.value = echarts.init(
document.getElementById(props.uuid) as HTMLDivElement document.getElementById(props.uuid) as HTMLDivElement
); );
myChartPie.value.setOption({ analyzeChartData({ tableKey: props.tableKey, chartId: props.uuid }).then((data) => {
grid: { console.log("画图雷达---->1", data);
left: "2%", if (data.code == 0) {
right: "2%", let radMap = data.data;
bottom: "5%", let optionData = {
top: "5%", tooltip: {
containLabel: true, trigger: "item",
}, },
legend: { legend: {
data: ["Allocated Budget", "Actual Spending"], data: radMap.legend,
}, left: "left",
radar: { },
// shape: 'circle', radar: {
indicator: [ // shape: 'circle',
{ name: "Sales", max: 6500 }, indicator: radMap.indicator,
{ name: "Administration", max: 16000 }, },
{ name: "Information Technology", max: 30000 }, series: [
{ name: "Customer Support", max: 38000 },
{ name: "Development", max: 52000 },
{ name: "Marketing", max: 25000 },
],
},
series: [
{
name: "Budget vs spending",
type: "radar",
data: [
{ {
value: [4200, 3000, 20000, 35000, 50000, 18000], type: "radar",
name: "Allocated Budget", data: radMap.dataList,
}, },
],
};
myChartPie.value.setOption(optionData);
} else {
myChartPie.value.setOption({
grid: {
left: "2%",
right: "2%",
bottom: "5%",
top: "5%",
containLabel: true,
},
tooltip: {
trigger: "item",
},
legend: {
data: ["Allocated Budget", "Actual Spending"],
},
radar: {
// shape: 'circle',
indicator: [
{ name: "Sales", max: 6500 },
{ name: "Administration", max: 16000 },
{ name: "Information Technology", max: 30000 },
{ name: "Customer Support", max: 38000 },
{ name: "Development", max: 52000 },
{ name: "Marketing", max: 25000 },
],
},
series: [
{ {
value: [5000, 14000, 28000, 26000, 42000, 21000], name: "Budget vs spending",
name: "Actual Spending", type: "radar",
data: [
{
value: [4200, 3000, 20000, 35000, 50000, 18000],
name: "Allocated Budget",
},
{
value: [5000, 14000, 28000, 26000, 42000, 21000],
name: "Actual Spending",
},
],
}, },
], ],
}, });
], }
}); });
console.log("画图完毕---->", props); console.log("画图完毕---->", props);
} }
}; };
@ -88,10 +120,16 @@ const searBut = (val: string) => {
} }
return false; return false;
}; };
watch(
() => props.data,
(val: any) => {
drawRadar();
},
{ deep: true }
);
onMounted(() => { onMounted(() => {
nextTick(() => { nextTick(() => {
drawPie(); drawRadar();
}); });
}); });
</script> </script>

208
src/views/sysworkflow/lowcodepage/appPage/appPageForm/echatesUnit/chart/target.vue

@ -4,9 +4,12 @@
@ 备注: 指标图 @ 备注: 指标图
--> -->
<script lang="ts" setup> <script lang="ts" setup>
import { analyzeChartData } from "@/api/chart/index";
import { echatsViews } from "@/api/DesignForm/types"; import { echatsViews } from "@/api/DesignForm/types";
import { targetInfo } from "@/api/chart/type";
const props = withDefaults( const props = withDefaults(
defineProps<{ defineProps<{
uuid: string;
data: echatsViews; data: echatsViews;
tableKey: string; tableKey: string;
}>(), }>(),
@ -16,8 +19,209 @@ const props = withDefaults(
}, },
} }
); );
const listAry = ref<targetInfo>([]);
/**
@ 作者: 秦东
@ 时间: 2025-07-23 13:38:00
@ 功能: 获取指标数据
*/
const getTargetData = () => {
if (props.uuid && props.uuid != "") {
analyzeChartData({ tableKey: props.tableKey, chartId: props.uuid }).then((data) => {
console.log("获取指标数据---->1", data);
listAry.value = data.data;
});
}
};
/**
@ 作者: 秦东
@ 时间: 2025-06-26 09:47:45
@ 功能: 判断是否有收缩条件
*/
const searBut = (val: string) => {
if (props.data.search.searchBut && Array.isArray(props.data.search.searchBut)) {
if (props.data.search.searchBut.includes(val)) {
return true;
}
}
return false;
};
watch(
() => props.data,
(val: any) => {
getTargetData();
},
{ deep: true }
);
onMounted(() => {
nextTick(() => {
getTargetData();
});
});
</script> </script>
<template> <template>
<div>指标图</div> <div>
<el-space wrap class="spaceBox">
<svg-icon icon-class="zydq" :size="20" />
<el-text>{{ props.data.title }}</el-text>
</el-space>
<el-form
v-if="props.data.search"
:inline="true"
label-width="auto"
class="demo-form-inline"
>
<el-form-item v-for="item in props.data.search.factor" :label="item.lable">
<el-date-picker
v-if="item.type == 3 && item.timeType == 'ymdhms'"
v-model="item.value"
type="daterange"
range-separator="To"
start-placeholder="起始时间"
end-placeholder="结束时间"
value-format="x"
/>
<el-date-picker
v-else-if="item.type == 3 && item.timeType == 'year'"
v-model="item.value"
type="yearrange"
range-separator="To"
start-placeholder="起始时间"
end-placeholder="结束时间"
value-format="x"
/>
<el-date-picker
v-else-if="item.type == 3 && item.timeType == 'month'"
v-model="item.value"
type="monthrange"
range-separator="To"
start-placeholder="起始时间"
end-placeholder="结束时间"
value-format="x"
/>
<el-date-picker
v-else-if="item.type == 3 && item.timeType == 'day'"
v-model="item.value"
type="daterange"
range-separator="To"
start-placeholder="起始时间"
end-placeholder="结束时间"
value-format="x"
/>
<el-date-picker
v-else-if="item.type == 3 && item.timeType == 'hour'"
v-model="item.value"
type="datetimerange"
range-separator="To"
start-placeholder="起始时间"
end-placeholder="结束时间"
value-format="x"
/>
<el-date-picker
v-else-if="item.type == 3 && item.timeType == 'minute'"
v-model="item.value"
type="datetimerange"
range-separator="To"
start-placeholder="起始时间"
end-placeholder="结束时间"
value-format="x"
/>
<el-date-picker
v-else-if="item.type == 3 && item.timeType == 'second'"
v-model="item.value"
type="datetimerange"
range-separator="To"
start-placeholder="起始时间"
end-placeholder="结束时间"
value-format="x"
/>
<el-select
v-else-if="item.options != null"
v-model="item.value"
clearable
placeholder="请选择"
>
<el-option
v-for="item in item.options"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
<el-input v-else v-model="item.value" />
</el-form-item>
<el-form-item v-if="props.data.search.state">
<el-button v-if="searBut('search')" type="primary" @click="onSubmit"
>查询</el-button
>
<el-button v-if="searBut('reset')" @click="resetForm(ruleFormRef)"
>重置</el-button
>
</el-form-item>
</el-form>
<div class="targetBox">
<el-scrollbar height="340px">
<el-row style="width: 98%; margin-left: 1%" :gutter="10">
<el-col v-for="(item, index) in listAry" :span="8" :key="index">
<el-card shadow="always">
<div class="targetBody">
<div class="targetTitle">{{ item.title }}</div>
<div v-for="itemSun in item.list" class="targetContent">
{{ itemSun.name }}{{ itemSun.value }}
</div>
</div>
</el-card>
</el-col>
</el-row>
</el-scrollbar>
</div>
</div>
</template> </template>
<style lang="scss" scoped></style> <style lang="scss" scoped>
.barBox {
height: 250px;
width: 100%;
}
.spaceBox {
margin-top: 15px;
span {
font-size: 20px;
}
}
.demo-form-inline {
padding: 10px 0 0px 0;
}
.demo-form-inline .el-input {
--el-input-width: 200px;
}
.demo-form-inline .el-select {
--el-select-width: 200px;
}
.targetBox {
width: 100%;
.targetCard {
width: 25%;
}
:deep .el-col {
margin-top: 10px;
}
:deep .el-card {
min-height: 150px;
}
.targetBody {
padding: 10px;
.targetTitle {
text-align: center;
font-size: 16px;
font-weight: bold;
}
.targetContent {
text-align: left;
font-size: 14px;
}
}
}
</style>

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

@ -152,7 +152,7 @@ const setMeaInfo = (val: dimSetInfo) => {
const setFilInfo = (val: dimSetInfo) => { const setFilInfo = (val: dimSetInfo) => {
pickFilpage.value = val; pickFilpage.value = val;
openFilpage.value = true; openFilpage.value = true;
console.log("打开过滤条件设置", openFilpage.value, pickFilpage.value); // console.log("", openFilpage.value, pickFilpage.value);
}; };
/** /**
@ 作者: 秦东 @ 作者: 秦东
@ -161,7 +161,7 @@ const setFilInfo = (val: dimSetInfo) => {
*/ */
const setSearch = (val: searchInfo) => { const setSearch = (val: searchInfo) => {
pickSearInfo.value = val; pickSearInfo.value = val;
console.log("设置搜索条件配置", val); // console.log("", val);
openSearch.value = true; openSearch.value = true;
}; };
/** /**
@ -173,7 +173,7 @@ const shuxingmh = (val: any) => {
let titleVal = ""; let titleVal = "";
if (Array.isArray(matchList)) { if (Array.isArray(matchList)) {
matchList.forEach((item: any) => { matchList.forEach((item: any) => {
console.log(item.value, val, item.value == val); // console.log(item.value, val, item.value == val);
if (item.value == val) { if (item.value == val) {
titleVal = item.label; titleVal = item.label;
} }

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

@ -614,6 +614,21 @@ const huanyuan = () => {
break; 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);
}
};
</script> </script>
<template> <template>
<el-drawer <el-drawer
@ -621,7 +636,7 @@ const huanyuan = () => {
:title="drawTitle" :title="drawTitle"
direction="rtl" direction="rtl"
:before-close="handleClose" :before-close="handleClose"
> >{{ controlData.type }}--->{{ props.dimMeaType }}
<div class="drawBodyBox"> <div class="drawBodyBox">
<el-divider <el-divider
v-if="props.dimMeaType == 3 || props.dimMeaType == 4" v-if="props.dimMeaType == 3 || props.dimMeaType == 4"
@ -631,6 +646,7 @@ const huanyuan = () => {
<el-checkbox-group <el-checkbox-group
v-if="props.dimMeaType == 1 || props.dimMeaType == 3 || props.dimMeaType == 4" v-if="props.dimMeaType == 1 || props.dimMeaType == 3 || props.dimMeaType == 4"
v-model="checkDimList" v-model="checkDimList"
@change="weiduBianhua"
> >
<div v-for="(item, index) in props.dimAry"> <div v-for="(item, index) in props.dimAry">
<el-checkbox v-if="item.type == 1" :label="item.title" :value="item.field" /> <el-checkbox v-if="item.type == 1" :label="item.title" :value="item.field" />
@ -678,6 +694,7 @@ const huanyuan = () => {
<el-checkbox-group <el-checkbox-group
v-if="props.dimMeaType == 2 || props.dimMeaType == 3 || props.dimMeaType == 4" v-if="props.dimMeaType == 2 || props.dimMeaType == 3 || props.dimMeaType == 4"
v-model="checkMeaList" v-model="checkMeaList"
@change="duliangBianhua"
> >
<div v-for="(item, index) in props.meaAry"> <div v-for="(item, index) in props.meaAry">
<el-checkbox v-if="item.type == 2" :label="item.title" :value="item.field" /> <el-checkbox v-if="item.type == 2" :label="item.title" :value="item.field" />

Loading…
Cancel
Save