Browse Source

图表数据更改

han_v3
herenshan112 4 months ago
parent
commit
f9500b9f24
  1. 6
      src/components/DesignForm/public/expand/lowcodeImage.vue
  2. 82
      src/components/DesignForm/public/expand/uploadPageList.vue
  3. 15
      src/components/DesignForm/public/form/formItem.vue
  4. 9
      src/views/sysworkflow/lowcodepage/appPage/appPageForm/echatesUnit/chart/barRace.vue
  5. 24
      src/views/sysworkflow/lowcodepage/appPage/appPageForm/echatesUnit/chart/radar.vue

6
src/components/DesignForm/public/expand/lowcodeImage.vue

@ -120,7 +120,11 @@ const getFormItemInputStyle = (ele: any, sty: number) => {
<style lang="scss" scoped> <style lang="scss" scoped>
.upload-demo { .upload-demo {
img { img {
width: 100%; min-width: 150px;
max-width: 300px;
} }
} }
.avatar {
width: 150px;
}
</style> </style>

82
src/components/DesignForm/public/expand/uploadPageList.vue

@ -3,27 +3,30 @@
@ 时间: 2024-09-17 14:57:49 @ 时间: 2024-09-17 14:57:49
@ 备注: 解析上传文件问题 @ 备注: 解析上传文件问题
--> -->
<script lang='ts' setup> <script lang="ts" setup>
import { AnalysisCss,AnalysisInputCss } from '@/components/DesignForm/public/form/calculate/cssInfo' import {
AnalysisCss,
AnalysisInputCss,
} from "@/components/DesignForm/public/form/calculate/cssInfo";
const props = defineProps({ const props = defineProps({
imgList: { imgList: {
type: String, type: String,
default:"" default: "",
}, },
data: { data: {
type: Object, type: Object,
default() { default() {
return {} return {};
} },
}, },
control: { control: {
type: Object, type: Object,
default() { default() {
return {} return {};
} },
} },
}) });
const imgStr = ref<String>(props.imgList) const imgStr = ref<String>(props.imgList);
//css //css
/** /**
@ -45,60 +48,75 @@ const imgStr = ref<String>(props.imgList)
// } // }
const imgAry = computed({ const imgAry = computed({
get: () => { get: () => {
if(props.imgList != "" && props.imgList != null && props.imgList != undefined && props.imgList != "undefined"){ if (
props.imgList != "" &&
props.imgList != null &&
props.imgList != undefined &&
props.imgList != "undefined"
) {
// let zj = props.imgList // let zj = props.imgList
// let img = zj.Split(","); // let img = zj.Split(",");
let arr = props.imgList.match(/[^,]+/g); let arr = props.imgList.match(/[^,]+/g);
console.log("文件列表",arr) console.log("文件列表", arr);
return arr return arr;
} else { } else {
return [] return [];
}
} }
}) },
});
const listType = () => { const listType = () => {
if (props.control.listType) { if (props.control.listType) {
return props.control.listType return props.control.listType;
} else { } else {
return "text" return "text";
}
} }
};
// //
const getFormItemInputStyle = (ele: any, sty: number) => { const getFormItemInputStyle = (ele: any, sty: number) => {
if (ele?.inputStyle) { if (ele?.inputStyle) {
console.log("返回栅格宽度4",AnalysisInputCss(ele?.inputStyle,sty)) console.log("返回栅格宽度4", AnalysisInputCss(ele?.inputStyle, sty));
return AnalysisInputCss(ele?.inputStyle,sty) return AnalysisInputCss(ele?.inputStyle, sty);
}
} }
};
const configStyle = computed(() => { const configStyle = computed(() => {
return props.data.styles || {} return props.data.styles || {};
}) });
</script> </script>
<template> <template>
<div> <div>
{{ props.control.listType }}
<div v-if="props.control.listType == 'picture-card'"> <div v-if="props.control.listType == 'picture-card'">
<div v-for="item in imgAry"> <div v-for="item in imgAry">
<el-image class="imgCss" :style="getFormItemInputStyle(configStyle,2)" :src="item" :fit="fit" :preview-src-list="imgAry" /> <el-image
class="imgCss"
:style="getFormItemInputStyle(configStyle, 2)"
:src="item"
:fit="fit"
:preview-src-list="imgAry"
/>
</div> </div>
</div> </div>
<div v-else-if="props.control.listType == 'picture'"> <div v-else-if="props.control.listType == 'picture'">
<div v-for="item in imgAry"> <div v-for="item in imgAry">
<el-image class="imgCss" :style="getFormItemInputStyle(configStyle,2)" :src="item" :fit="fit" :preview-src-list="imgAry" /> <el-image
class="imgCss"
:style="getFormItemInputStyle(configStyle, 2)"
:src="item"
:fit="fit"
:preview-src-list="imgAry"
/>
</div> </div>
</div> </div>
<div v-else> <div v-else>
<div v-for="item in imgAry"> <div v-for="item in imgAry">
<el-link :underline="false" :href="item" target="_blank">{{ item }}</el-link><br> <el-link :underline="false" :href="item" target="_blank">{{ item }}</el-link
><br />
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<style lang='scss' scoped> <style lang="scss" scoped>
.imgCss { .imgCss {
width: 100px; width: 100px;
height: 100px; height: 100px;

15
src/components/DesignForm/public/form/formItem.vue

@ -1194,6 +1194,21 @@ const diGuiJilian = (val: any, options: any[]) => {
:type="type" :type="type"
v-model="value" v-model="value"
/> />
<component
v-else-if="['lowcodeImage'].includes(data.type)"
:is="currentComponent"
v-bind="control"
:disabled="judgeIsDisabled(data.name)"
:placeholder="
data.control.placeholder
? data.control.placeholder
: '请选择' + getLabel(data.item)
"
:data="data"
:tablekey="props.tablekey"
:form-table-set-up="props.alldata"
v-model="value"
/>
<div class="form-value" v-else v-html="value"></div> <div class="form-value" v-else v-html="value"></div>
</template> </template>
<template v-else> <template v-else>

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

@ -46,13 +46,13 @@ const drawBarracetures = () => {
if (data.code == 0 && data.data != null) { if (data.code == 0 && data.data != null) {
let radMap = data.data; let radMap = data.data;
let seriesList = new Array(); let seriesList = new Array();
if (radMap.seriesData && Array.isArray(radMap.seriesData)) { if (radMap.series && Array.isArray(radMap.series)) {
radMap.seriesData.forEach((item: any) => { radMap.series.forEach((item: any) => {
seriesList.push({ seriesList.push({
realtimeSort: true, realtimeSort: true,
name: item.name, name: item.name,
type: "bar", type: "bar",
data: item.value, data: item.data,
label: { label: {
show: true, show: true,
position: "right", position: "right",
@ -61,6 +61,7 @@ const drawBarracetures = () => {
}); });
}); });
} }
console.log("排行榜--->", seriesList);
let optionData = { let optionData = {
grid: { grid: {
left: "2%", left: "2%",
@ -80,7 +81,7 @@ const drawBarracetures = () => {
}, },
yAxis: { yAxis: {
type: "category", type: "category",
data: radMap.yAxisData, data: radMap.xAxis.data,
inverse: true, inverse: true,
max: radMap.max, // only the largest 3 bars will be displayed max: radMap.max, // only the largest 3 bars will be displayed
}, },

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

@ -65,6 +65,7 @@ const drawRadar = () => {
}, },
], ],
}; };
console.log("雷达数据结构---》", optionData);
myChartPie.value.setOption(optionData); myChartPie.value.setOption(optionData);
// myChartPie.value.resize(); // myChartPie.value.resize();
} else { } else {
@ -167,7 +168,7 @@ onMounted(() => {
<el-date-picker <el-date-picker
v-else-if="item.type == 3 && item.timeType == 'year'" v-else-if="item.type == 3 && item.timeType == 'year'"
v-model="item.value" v-model="item.value"
type="yearrange" type="yeayearrange"
range-separator="To" range-separator="To"
start-placeholder="起始时间" start-placeholder="起始时间"
end-placeholder="结束时间" end-placeholder="结束时间"
@ -266,4 +267,25 @@ onMounted(() => {
.demo-form-inline .el-select { .demo-form-inline .el-select {
--el-select-width: 200px; --el-select-width: 200px;
} }
.demo-date-picker {
display: flex;
width: 100%;
padding: 0;
flex-wrap: wrap;
}
.demo-date-picker .block {
padding: 30px 0;
text-align: center;
border-right: solid 1px var(--el-border-color);
flex: 1;
}
.demo-date-picker .block:last-child {
border-right: none;
}
.demo-date-picker .demonstration {
display: block;
color: var(--el-text-color-secondary);
font-size: 14px;
margin-bottom: 20px;
}
</style> </style>

Loading…
Cancel
Save