Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
aixianling
2022-05-11 14:26:35 +08:00
9 changed files with 293 additions and 16 deletions

View File

@@ -471,7 +471,7 @@
removeImg (index) {
this.images.splice(index, 1)
},
},
onImageConfirm () {
if (!this.form.images.length) {
@@ -1003,6 +1003,7 @@
.layout-middle {
flex: 1;
background: #000;
.canvas-wrapper {
position: relative;

View File

@@ -10,6 +10,7 @@
<AiSwiper v-else-if="data.type === 'swiper'" :heigth="'100%'" :data="data[data.dataType]"/>
<dv-scroll-board
v-if="data.type === 'table'"
:class="'dvScrollBoard' + theme"
:config="formatTable(data[data.dataType], data.isShowIndex, data.rowNum)"
:key="data.height"
:theme="theme"
@@ -118,6 +119,22 @@
:theme="theme"
:data="data[data.dataType]"
:ops="pieChart"/>
<ai-echart
v-else-if="data.type === 'pieChart1'"
style="height: 100%; width: 100%;"
:ref="'chart' + index"
:key="`chart${index}`"
:theme="theme"
:data="data[data.dataType]"
:ops="pieChart1"/>
<ai-echart
v-else-if="data.type === 'pieChart3'"
style="height: 100%; width: 100%;"
:ref="'chart' + index"
:key="`chart${index}`"
:theme="theme"
:data="data[data.dataType]"
:ops="pieChart3"/>
<ai-map :markers="data[data.dataType]" v-else-if="data.type=='map'" :mask="data.mask === '1'" :areaId="data.areaId || user.info.areaId" map-style="amap://styles/e51987628aee5206d4c9ca8c6e98b4f7"/>
<ai-monitor :src="data.src" v-else-if="data.type === 'monitor'" :type="data.monitorType"></ai-monitor>
<video style="width: 100%; height: 100%; object-fit: fill;" loop :src="data.src" autoplay v-else-if="data.type === 'video'"></video>
@@ -129,6 +146,8 @@
import { mapState } from 'vuex'
import AiSwiper from './AiSwiper.vue'
import pieChart from 'dvcp-dv-ui/components/AiEchart/template/pie/pieChart2'
import pieChart1 from 'dvcp-dv-ui/components/AiEchart/template/pie/pieChart1'
import pieChart3 from 'dvcp-dv-ui/components/AiEchart/template/pie/pieChart3'
import lineChart1 from 'dvcp-dv-ui/components/AiEchart/template/line/lineChart1'
import lineChart2 from 'dvcp-dv-ui/components/AiEchart/template/line/lineChart2'
import lineChart5 from 'dvcp-dv-ui/components/AiEchart/template/line/lineChart5'
@@ -147,7 +166,9 @@
lineChart1,
lineChart2,
lineChart5,
pieChart
pieChart,
pieChart1,
pieChart3
}
},
@@ -198,5 +219,42 @@
</script>
<style lang="scss" scoped>
.render-element {
::v-deep .dvScrollBoard1 {
.index {
color: #fff;
text-shadow: none;
background: transparent;
background-color: #BD4921!important;
-webkit-background-clip: inherit;
-webkit-text-fill-color: #fff;
}
.header {
background: rgba(0, 0, 0, 0.1)!important;
.header-item {
color: #FFBB73!important;
font-size: 16px!important;
font-weight: 600;
}
}
.rows {
font-size: 16px;
font-weight: 600;
color: #FFFFFF;
line-height: 21px;
text-shadow: 0px 2px 4px rgba(117, 9, 9, 0.5);
background: linear-gradient(180deg, #FFF6C7 0%, #FF9A02 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
& > div:nth-of-type(2n) {
background: rgba(0, 0, 0, 0.1)!important;
}
}
}
}
</style>

View File

@@ -11,6 +11,8 @@ import barChart5 from 'dvcp-dv-ui/components/AiEchart/template/bar/barChart5'
import barChart7 from 'dvcp-dv-ui/components/AiEchart/template/bar/barChart7'
import barChart9 from 'dvcp-dv-ui/components/AiEchart/template/bar/barChart9'
import pieChart from 'dvcp-dv-ui/components/AiEchart/template/pie/pieChart2'
import pieChart1 from 'dvcp-dv-ui/components/AiEchart/template/pie/pieChart1'
import pieChart3 from 'dvcp-dv-ui/components/AiEchart/template/pie/pieChart3'
const components = [
{
@@ -408,6 +410,64 @@ const components = [
config: pieChart,
sourceDataId: '',
dynamicData: []
},
{
code: 'widget-linechart',
type: 'pieChart1',
label: '饼图',
title: '饼图',
icon: 'icontext_box',
value: '',
border: 'border1',
width: 500,
height: 300,
zIndex: 1,
top: 0,
left: 0,
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/pie.png',
dataX: '',
dataY: [],
api: '',
apiData: [],
dataType: 'staticData',
staticData: [
{ name: '阿斯达', v1: 23, v2: 33 },
{ name: '水电费', v1: 12, v2: 34 },
{ name: '凡哥', v1: 67, v2: 25 },
{ name: '党费', v1: 98, v2: 85 }
],
config: pieChart1,
sourceDataId: '',
dynamicData: []
},
{
code: 'widget-linechart',
type: 'pieChart3',
label: '饼图',
title: '饼图',
icon: 'icontext_box',
value: '',
border: 'border1',
width: 500,
height: 300,
zIndex: 1,
top: 0,
left: 0,
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/pie.png',
dataX: '',
dataY: [],
api: '',
apiData: [],
dataType: 'staticData',
staticData: [
{ name: '阿斯达', v1: 23, v2: 33 },
{ name: '水电费', v1: 12, v2: 34 },
{ name: '凡哥', v1: 67, v2: 25 },
{ name: '党费', v1: 98, v2: 85 }
],
config: pieChart1,
sourceDataId: '',
dynamicData: []
}
]
}

View File

@@ -41,14 +41,17 @@
</template>
<template #content>
<div class="progress-wrapper">
<div class="progress">
<!-- -->
<div class="progress" v-if="logList.length">
<div class="item" v-for="(item, index) in logList" :key="index">
<h2>{{ item.createUserName }}</h2>
<el-progress :percentage="item.finishRate"></el-progress>
</div>
</div>
<AiEmpty v-else></AiEmpty>
</div>
</template>
</ai-card>
</div>
<ai-card title="帮扶走访情况">
@@ -283,6 +286,10 @@
<style lang="scss" scoped>
.AppAssessment {
::v-deep .ai-empty {
margin-bottom: 0;
font-size: 12px;
}
.info {
display: flex;
justify-content: space-between;

View File

@@ -80,9 +80,11 @@
const validatorPhone = function (rule, value, callback) {
if (value === '') {
callback(new Error('请输入联系方式'))
} else if (!/^1\d{10}$/.test(value)) {
callback(new Error('手机号格式错误'))
} else {
}
// else if (!/^1\d{10}$/.test(value)) {
// callback(new Error('手机号格式错误'))
// }
else {
callback()
}
}

View File

@@ -5,7 +5,7 @@
<template #content>
<div class="showPanel">
<ai-dv-wrapper :views="views" v-model="active">
<AiDvDisplay></AiDvDisplay>
<ai-echart :ops="ops" :data="views" theme="1"></ai-echart>
</ai-dv-wrapper>
</div>
</template>
@@ -16,7 +16,7 @@
<script>
import AiDvWrapper from "./layout/AiDvWrapper/AiDvWrapper";
import ops from './components/AiEchart/template/pie/pieChart2'
import ops from './components/AiEchart/template/pie/pieChart3'
import AiDvPanel from "./layout/AiDvPanel/AiDvPanel";
import AiDvDisplay from "./layout/AiDvDisplay/AiDvDisplay";
import AiDvSummary from "./layout/AiDvSummary/AiDvSummary";
@@ -31,13 +31,26 @@ export default {
ops,
active: '',
views: [
{label: '标准大屏', id: '0'},
{label: '当前大屏', id: '1'},
{label: '平安乡村', id: '2'},
{label: '人口数据', id: '3'},
{label: '人口数据', id: '4'},
{label: '人口数据', id: '5'},
{label: '宅基地', id: '6'},
{
"name": "阿斯达",
"v1": 23,
"v2": 33
},
{
"name": "水电费",
"v1": 12,
"v2": 34
},
{
"name": "凡哥",
"v1": 67,
"v2": 25
},
{
"name": "党费",
"v1": 98,
"v2": 85
}
],
list: [
{name: '阿斯达', v1: 23, v2: 33},

View File

@@ -0,0 +1,29 @@
export default {
legend: {
right: 0,
top: '30%',
orient: 'vertical',
textStyle: {color: "#fff", fontSize: 14}
},
grid: {
top: '0%',
left: '0%',
right: '0px',
bottom: '0%'
},
xAxis: {show: false},
yAxis: {show: false},
tooltip: {
backgroundColor: "rgba(14, 51, 111, 0.9)",
borderColor: "#1A6ABC",
textStyle: {color: "#fff"}
},
series: {
type: "pie",
minShowLabelAngle: 10,
radius: '50%',
label: {
show: false
}
}
}

View File

@@ -0,0 +1,107 @@
export default {
legend: {
right: 0,
top: '30%',
orient: 'vertical',
textStyle: {color: "#fff", fontSize: 14}
},
grid: {
height: 260
},
xAxis: {show: false},
yAxis: {show: false},
tooltip: {
backgroundColor: "rgba(14, 51, 111, 0.9)",
borderColor: "#1A6ABC",
textStyle: {color: "#fff"}
},
series: {
type: "pie",
minShowLabelAngle: 10,
radius: [50, 71],
itemStyle: {
borderColor: "#8d1419",
borderWidth: 2
},
label: {
show: false
},
labelLine: {},
labelLayout: function (params) {
let points = params.labelLinePoints,
isLeft = points[2][0] < points[1][0]
points[2][0] =
points[2][0] + (params.labelRect.width + 4) * (isLeft ? -1 : 1)
return {
labelLinePoints: points
}
}
},
render: (h, params) => {
const formatNum = num => {
if (num >= 10000000) {
return num / 10000000 + "千万"
}
if (num >= 10000) {
return num / 10000 + "万"
}
return parseFloat(num.toFixed(2))
}
let total = params.data.reduce((t, e) => {
return t + Number(Object.values(e)?.[1] || 0)
}, 0)
return h(
"div",
{
style: {
height: "162px",
width: "162px",
color: "#8BCCFF",
left: "50%",
top: "50%",
zIndex: '0',
display: "flex",
alignItems: "center",
justifyContent: "center",
flexDirection: "column",
position: "absolute",
transform: "translate(-50%,-50%)",
backgroundPosition: "center"
}
},
[
h(
'span',
{
style: {
'font-size': '32px',
'font-weight': 'bold',
'margin-bottom': '3px',
'color': '#CEE1FF',
'line-height': '28px',
'text-shadow': '0px 2px 4px rgba(117, 9, 9, 0.1)',
'background': 'linear-gradient(180deg, #FFF6C7 0%, #FF9A02 100%)',
'-webkit-background-clip': 'text',
'-webkit-text-fill-color': 'transparent'
}
},
formatNum(total)
),
h('span', {
style: {
'font-size': '16px',
'color': '#CEE1FF',
'line-height': '16px',
'text-shadow': '0px 2px 4px rgba(117, 9, 9, 0.5)',
'background': 'linear-gradient(180deg, #FFF6C7 0%, #FF9A02 100%)',
'-webkit-background-clip': 'text',
'-webkit-text-fill-color': 'transparent'
}
}, "总量")
]
)
}
}

View File

@@ -30,7 +30,7 @@ export default {
.slot {
width: 100%;
height: calc(100% - 0px);
padding: 20px 10px 20px;
padding: 40px 10px 20px;
background: rgba(120, 0, 0, 0.2);
border: 1px solid rgba(203, 45, 0, 0.5);
}