diff --git a/src/utils/request.ts b/src/utils/request.ts index 5e10619..07a1d67 100644 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -195,7 +195,7 @@ service.interceptors.response.use( } else if (message.includes('Request failed with status code')) { message = '系统接口' + message.substr(message.length - 3) + '异常'; } - ElMessage({ message: message, type: 'error', duration: 5 * 1000 }); + // ElMessage({ message: message, type: 'error', duration: 5 * 1000 }); return Promise.reject(error); } ); diff --git a/src/views/boardGenerate/boardList.vue b/src/views/boardGenerate/boardList.vue index 2c362d3..f2dba60 100644 --- a/src/views/boardGenerate/boardList.vue +++ b/src/views/boardGenerate/boardList.vue @@ -18,11 +18,11 @@ - 编辑 + 设计 查看 - 修改 + 编辑 { getBoardListApi(selectForm.value) .then((res) => { console.log(res); - tableData.value = res.rows; + tableData.value = res.rows.filter(e=>e.pageConfigId >60011); total.value = res.total; }) .finally(() => { diff --git a/src/views/boardGenerate/index.vue b/src/views/boardGenerate/index.vue index 154d6d0..84f3606 100644 --- a/src/views/boardGenerate/index.vue +++ b/src/views/boardGenerate/index.vue @@ -1,9 +1,6 @@ - - - --> - + + + + + + + + + + + + + + + + + + + + + 菜单 + + + - - - + + + @@ -635,8 +661,12 @@ handleResizeStop(e, paginationNodeProps)" /> - + + handleResizeStop(e, menuNodeProps)" /> + + @@ -675,7 +705,7 @@ - + @@ -1263,7 +1293,7 @@ - + @@ -1272,7 +1302,10 @@ - + + + + { @@ -1736,7 +1783,7 @@ onMounted(async () => { }, data: {} }]; - edges.value = data.designPageEdgesList.map(e => { + edges.value = data.designPageEdgesList?.map(e => { return { id: e.pageEdgesId, source: e.sourceNodeId, @@ -1813,12 +1860,14 @@ const logEvent = async (eventname, event) => { nodeAttrForm.value = event.node.data.options; nodeDataForm.value = event.node; customDataForm.value = event.node.data.customData; + key.value += 1; break; case 'nodeDrag': if (event.nodes.length === 1) { nodeAttrForm.value = event.node.data.options; nodeDataForm.value = event.node; customDataForm.value = event.node.data.customData; + key.value += 1; } else { nodeAttrForm.value = {}; nodeDataForm.value = {}; @@ -2040,6 +2089,7 @@ const pitchOnNode = (e) => { } }); nodeAttrForm.value = e.data.options; + key.value += 1; nodeDataForm.value = e; customDataForm.value = e.data.customData; }; diff --git a/src/views/boardGenerate/nodes/advancedComponents/menuNode.vue b/src/views/boardGenerate/nodes/advancedComponents/menuNode.vue new file mode 100644 index 0000000..5d9c620 --- /dev/null +++ b/src/views/boardGenerate/nodes/advancedComponents/menuNode.vue @@ -0,0 +1,81 @@ + + + $emit('resize', e)" color="#fff" v-if="!props.isView && !props.isHideHandle && props.selected" + @resize="resize" /> + + + + + + + + {{ i.locationAlias }} + + {{ ii.locationAlias }} + + + + + + + + + + + diff --git a/src/views/boardGenerate/nodes/board/annularNode.vue b/src/views/boardGenerate/nodes/board/annularNode.vue index dce5331..f074b2c 100644 --- a/src/views/boardGenerate/nodes/board/annularNode.vue +++ b/src/views/boardGenerate/nodes/board/annularNode.vue @@ -16,8 +16,6 @@ import { NodeResizer } from '@vue-flow/node-resizer'; import { Handle, Position } from '@vue-flow/core'; import * as echarts from 'echarts'; - - const props = defineProps({ ratioWidth: { type: Number, @@ -124,7 +122,7 @@ const getOption = () => { } }, center: [`${props.data?.options?.pieCenter || 50}%`, '50%'], - radius: [`${props.data?.options?.pieRadius?.[0] || 50}%`, `${props.data?.options?.pieRadius?.[1] || 50}%`], + radius: [`${props.data?.options?.pieRadius?.[0] || 0}%`, `${props.data?.options?.pieRadius?.[1] || 50}%`], label: { show: props.data?.options?.label || false, formatter: '{b}: {d}%' diff --git a/src/views/boardGenerate/nodes/board/multiBarsNode.vue b/src/views/boardGenerate/nodes/board/multiBarsNode.vue index e44da90..d17d8cf 100644 --- a/src/views/boardGenerate/nodes/board/multiBarsNode.vue +++ b/src/views/boardGenerate/nodes/board/multiBarsNode.vue @@ -76,7 +76,7 @@ const getOption = () => { let source = [['product', ...props.data.options?.yNames || []]]; const chartOption = { title: { - text: props.data.options.title || '设备运行数量', + text: props.data.options.title || ' ', textStyle: { fontSize: 12, fontWeight: 400, diff --git a/src/views/boardGenerate/nodes/board/multiCurvesNode.vue b/src/views/boardGenerate/nodes/board/multiCurvesNode.vue index d42cd32..8e5ebd0 100644 --- a/src/views/boardGenerate/nodes/board/multiCurvesNode.vue +++ b/src/views/boardGenerate/nodes/board/multiCurvesNode.vue @@ -76,7 +76,7 @@ const getOption = () => { let source = [['product', ...props.data.options?.yNames]]; const chartOption = { title: { - text: props.data.options.title || '设备运行数量', + text: props.data.options.title || ' ', textStyle: { fontSize: 12, fontWeight: 400, diff --git a/src/views/boardGenerate/nodes/board/multiLinesNode.vue b/src/views/boardGenerate/nodes/board/multiLinesNode.vue index cd350b1..4140047 100644 --- a/src/views/boardGenerate/nodes/board/multiLinesNode.vue +++ b/src/views/boardGenerate/nodes/board/multiLinesNode.vue @@ -67,6 +67,7 @@ const sortData = (data) => { } }); obj.sort((a, b) => a[0] - b[0]); + console.log(obj.map(e => e[1]) || []); return obj.map(e => e[1]) || []; }; const getOption = () => { @@ -76,7 +77,7 @@ const getOption = () => { let source = [['product', ...props.data.options?.yNames]]; const chartOption = { title: { - text: props.data.options.title || '设备运行数量', + text: props.data.options.title || ' ', textStyle: { fontSize: 12, fontWeight: 400, @@ -196,7 +197,7 @@ const getOption = () => { } } }, - series: props.data.options?.yNames.map(() => { + series: props.data.options?.yNames.map((i,k) => { return { type: 'line', showSymbol: props.data?.options?.lineSymbolShow || false, @@ -206,15 +207,15 @@ const getOption = () => { yAxisIndex: 0, lineStyle: { width: 1, - color: props.data?.options?.seriesColor || colorList.value[0], + color: props.data?.options?.seriesColor || colorList.value[k % colorList.length], shadowColor: 'rgba(158,135,255, 0.3)', shadowBlur: 10, shadowOffsetY: 20 }, itemStyle: { normal: { - color: colorList.value[0], - borderColor: colorList.value[0] + color: colorList.value[k % colorList.value.length], + borderColor: colorList.value[k % colorList.value.length], } } }; diff --git a/src/views/boardGenerate/nodes/board/nightingaleRoseDiagramNode.vue b/src/views/boardGenerate/nodes/board/nightingaleRoseDiagramNode.vue index d29d581..2c9d18a 100644 --- a/src/views/boardGenerate/nodes/board/nightingaleRoseDiagramNode.vue +++ b/src/views/boardGenerate/nodes/board/nightingaleRoseDiagramNode.vue @@ -62,7 +62,7 @@ const colorList = ['#9E87FF', '#73DDFF', '#fe9a8b', '#F56948', '#9E87FF']; const getOption = () => { const chartOption = { title: { - text: props.data.options.title || '设备运行数量', + text: props.data.options.title || ' ', textStyle: { fontSize: 12, fontWeight: 400, diff --git a/src/views/boardGenerate/nodes/board/pieNode.vue b/src/views/boardGenerate/nodes/board/pieNode.vue index e65f215..aefc94c 100644 --- a/src/views/boardGenerate/nodes/board/pieNode.vue +++ b/src/views/boardGenerate/nodes/board/pieNode.vue @@ -63,7 +63,7 @@ const colorList = ['#9E87FF', '#73DDFF', '#fe9a8b', '#F56948', '#9E87FF']; const getOption = () => { const chartOption = { title: { - text: props.data.options.title || '设备运行数量', + text: props.data.options.title || ' ', textStyle: { fontSize: 12, fontWeight: 400, diff --git a/src/views/boardGenerate/nodes/form/digitalFlopNode.vue b/src/views/boardGenerate/nodes/form/digitalFlopNode.vue index c4f9fa6..0380531 100644 --- a/src/views/boardGenerate/nodes/form/digitalFlopNode.vue +++ b/src/views/boardGenerate/nodes/form/digitalFlopNode.vue @@ -11,7 +11,7 @@ :number="item" :height="props.dimensions.height*props.ratioHeight" background="#fff0" - :style="{fontSize:props.data.options.fontSize+'px',color:props.data.options.borderColor,'--number-roll-plus-width':((props.dimensions.width*props.ratioWidth) / props.data.options.numQuantity) - (props.data.options.isBorder? 2:0) +'px',border:props.data.options.isBorder? ` 1px solid ${props.data.options.borderColor}` :''}" + :style="{fontSize:props.data.options.fontSize+'px',color:props.data.options.color,'--number-roll-plus-width':((props.dimensions.width*props.ratioWidth) / props.data.options.numQuantity) - (props.data.options.isBorder? 2:0) +'px',border:props.data.options.isBorder? ` 1px solid ${props.data.options.borderColor}` :''}" v-for="(item, index) in list" > @@ -74,7 +74,8 @@ const resize = (e) => { }; const padArray = (arr,x,value=0)=>{ if (arr.length > x) { - return arr.slice(-x); + // return arr.slice(-x); + return arr.slice(0,x); } else if (arr.length < x) { const padding = new Array(x - arr.length).fill(value); return [...padding, ...arr]; @@ -86,6 +87,7 @@ const padArray = (arr,x,value=0)=>{ watch(() => [JSON.parse(JSON.stringify(props.data?.options?.numQuantity)),JSON.parse(JSON.stringify(props.data?.options?.number)), JSON.parse(JSON.stringify(props.inputData?.value || ''))], (obj1, obj2) => { if (JSON.stringify(obj1) !== JSON.stringify(obj2)) { let value = props.inputData?.value || props.data.options.number || ''; + value = Math.ceil(parseFloat(value)) list.value = padArray(value.toString().split(''),props.data.options.numQuantity) } }, { deep: true, immediate: true }); diff --git a/src/views/boardGenerate/nodes/other/areaNode.vue b/src/views/boardGenerate/nodes/other/areaNode.vue index 7ccb34e..98b1b38 100644 --- a/src/views/boardGenerate/nodes/other/areaNode.vue +++ b/src/views/boardGenerate/nodes/other/areaNode.vue @@ -2,7 +2,7 @@ + :style='`width:${props.pageData?.width || "1920px"};height:${props.pageData?.height || "1080px"};border: 1px solid #fff;background-image:url(${props.pageData?.bg});background-color:${props.pageData?.bgColor}`'> diff --git a/src/views/boardGenerate/tool.js b/src/views/boardGenerate/tool.js index 4990c19..de80dc1 100644 --- a/src/views/boardGenerate/tool.js +++ b/src/views/boardGenerate/tool.js @@ -26,7 +26,7 @@ const getOption = (e) => { xAxisTickInside: false, xAxisTickColor: '#DCE2E8', xAxisLabelShow: true, - xAxisLabelInterval: false, + xAxisLabelInterval: true, xAxisLabelInside: false, xAxisLabelRotate: 0, xAxisLabelFormatter: '', @@ -44,7 +44,7 @@ const getOption = (e) => { yAxisTickInside: false, yAxisTickColor: '#DCE2E8', yAxisLabelShow: true, - yAxisLabelInterval: false, + yAxisLabelInterval: true, yAxisLabelInside: false, yAxisLabelRotate: 0, yAxisLabelFormatter: '', @@ -78,7 +78,7 @@ const getOption = (e) => { xAxisTickInside: false, xAxisTickColor: '#DCE2E8', xAxisLabelShow: true, - xAxisLabelInterval: false, + xAxisLabelInterval: true, xAxisLabelInside: false, xAxisLabelRotate: 0, xAxisLabelFormatter: '', @@ -96,7 +96,7 @@ const getOption = (e) => { yAxisTickInside: false, yAxisTickColor: '#DCE2E8', yAxisLabelShow: true, - yAxisLabelInterval: false, + yAxisLabelInterval: true, yAxisLabelInside: false, yAxisLabelRotate: 0, yAxisLabelFormatter: '', @@ -127,7 +127,7 @@ const getOption = (e) => { xAxisTickInside: false, xAxisTickColor: '#DCE2E8', xAxisLabelShow: true, - xAxisLabelInterval: false, + xAxisLabelInterval: true, xAxisLabelInside: false, xAxisLabelRotate: 0, xAxisLabelFormatter: '', @@ -145,7 +145,7 @@ const getOption = (e) => { yAxisTickInside: false, yAxisTickColor: '#DCE2E8', yAxisLabelShow: true, - yAxisLabelInterval: false, + yAxisLabelInterval: true, yAxisLabelInside: false, yAxisLabelRotate: 0, yAxisLabelFormatter: '', @@ -177,7 +177,7 @@ const getOption = (e) => { xAxisTickInside: false, xAxisTickColor: '#DCE2E8', xAxisLabelShow: true, - xAxisLabelInterval: false, + xAxisLabelInterval: true, xAxisLabelInside: false, xAxisLabelRotate: 0, xAxisLabelFormatter: '', @@ -195,7 +195,7 @@ const getOption = (e) => { yAxisTickInside: false, yAxisTickColor: '#DCE2E8', yAxisLabelShow: true, - yAxisLabelInterval: false, + yAxisLabelInterval: true, yAxisLabelInside: false, yAxisLabelRotate: 0, yAxisLabelFormatter: '', @@ -228,7 +228,7 @@ const getOption = (e) => { xAxisTickInside: false, xAxisTickColor: '#DCE2E8', xAxisLabelShow: true, - xAxisLabelInterval: false, + xAxisLabelInterval: true, xAxisLabelInside: false, xAxisLabelRotate: 0, xAxisLabelFormatter: '', @@ -246,7 +246,7 @@ const getOption = (e) => { yAxisTickInside: false, yAxisTickColor: '#DCE2E8', yAxisLabelShow: true, - yAxisLabelInterval: false, + yAxisLabelInterval: true, yAxisLabelInside: false, yAxisLabelRotate: 0, yAxisLabelFormatter: '', @@ -358,6 +358,8 @@ const getOption = (e) => { return { field: '', color: '#fff',fontSize: 22,number: 123,numQuantity:3, backgroundColor: 'rgba(180, 180, 180, 0.2)', isBorder: true, borderColor: '#fff' }; + } else if (e === 'menu') { + return { text: '文字', align: '', color: '#fff' }; } else { return {}; }