From 6f07565840633cd3c06a069b1c940d013293a3e4 Mon Sep 17 00:00:00 2001 From: zhangfh Date: Thu, 26 Aug 2021 17:11:19 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=A6=86=E5=B1=B1=E5=A4=A7=E5=B1=8F=20?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E7=AE=A1=E7=90=86=E5=A2=9E=E5=8A=A0=E5=A4=B4?= =?UTF-8?q?=E5=83=8F=E4=B8=8A=E4=BC=A0=E5=8F=8A=E7=AE=B4=E8=A8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/modules/sys/user-add-or-update.vue | 65 +++++++++++++++++++- 1 file changed, 63 insertions(+), 2 deletions(-) diff --git a/src/views/modules/sys/user-add-or-update.vue b/src/views/modules/sys/user-add-or-update.vue index dfd21dd..2b67eb9 100644 --- a/src/views/modules/sys/user-add-or-update.vue +++ b/src/views/modules/sys/user-add-or-update.vue @@ -83,6 +83,25 @@ + + + + + + + + + + +
@@ -151,6 +170,7 @@ export default { deptListVisible: false, roleList: [], roleIdListDefault: [], + uploadUrl: '', dataForm: { id: '', username: '', @@ -162,6 +182,8 @@ export default { gender: 1, email: '', mobile: '', + headUrl: '', + proverbs: '', roleIdList: [], status: 1, verifyFlag: '0', @@ -179,7 +201,8 @@ export default { } }, verifyMobileList: [], - userTagDictList: [] + userTagDictList: [], + loading: false } }, computed: { @@ -235,6 +258,9 @@ export default { { required: true, message: this.$t('validate.required'), trigger: 'blur' }, { validator: validateMobile, trigger: 'blur' } ], + headUrl: [ + { required: true, message: this.$t('validate.required'), trigger: 'blur' } + ], userTagKey: [ { required: true, message: this.$t('validate.required'), trigger: 'blur' } ] @@ -395,7 +421,19 @@ export default { }) }).catch(() => { }) }) - }, 1000, { 'leading': true, 'trailing': false }) + }, 1000, { 'leading': true, 'trailing': false }), + handleAvatarActSuccess (res, file) { + this.loading = false + this.dataForm.headUrl = res.data.url + this.btnAble = false + }, + beforeAvatarUpload (file) { + this.loading = true + this.btnAble = false + }, + handelError () { + this.loading = false + } } } @@ -414,4 +452,27 @@ export default { } } } +.avatar-uploader .el-upload { + border: 1px dashed #d9d9d9; + border-radius: 6px; + cursor: pointer; + position: relative; + overflow: hidden; +} +.avatar-uploader .el-upload:hover { + border-color: #409eff; +} +.avatar-uploader-icon { + font-size: 28px; + color: #8c939d; + width: 80px; + height: 80px; + line-height: 80px; + text-align: center; +} +.avatar { + width: 80px; + height: 80px; + display: block; +} From 282c45aa90d8fdc2500438b955baf40ec216aa2f Mon Sep 17 00:00:00 2001 From: ZhaoTongYao <531131322@qq.com> Date: Fri, 27 Aug 2021 16:20:54 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=B7=A5=E4=BD=9C?= =?UTF-8?q?=E5=8F=B0;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/img/issue.png | Bin 0 -> 5246 bytes src/assets/img/project-end.png | Bin 0 -> 5825 bytes src/assets/img/project.png | Bin 0 -> 5556 bytes src/assets/img/superviseItem.png | Bin 0 -> 5301 bytes src/assets/img/topic.png | Bin 0 -> 5018 bytes src/views/modules/sys/user-add-or-update.vue | 6 + src/views/modules/workbench/barOption.js | 95 ++++++ src/views/modules/workbench/lineOption.js | 113 +++++++ src/views/modules/workbench/workbench.vue | 337 +++++++++++++++++++ 9 files changed, 551 insertions(+) create mode 100644 src/assets/img/issue.png create mode 100644 src/assets/img/project-end.png create mode 100644 src/assets/img/project.png create mode 100644 src/assets/img/superviseItem.png create mode 100644 src/assets/img/topic.png create mode 100644 src/views/modules/workbench/barOption.js create mode 100644 src/views/modules/workbench/lineOption.js create mode 100644 src/views/modules/workbench/workbench.vue diff --git a/src/assets/img/issue.png b/src/assets/img/issue.png new file mode 100644 index 0000000000000000000000000000000000000000..3ed339938e408fcd0767cbc56836260d4b75d6a8 GIT binary patch literal 5246 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 literal 0 HcmV?d00001 diff --git a/src/assets/img/project-end.png b/src/assets/img/project-end.png new file mode 100644 index 0000000000000000000000000000000000000000..b9c6570e273c11ff7b571d0b46c8050edf933b86 GIT binary patch literal 5825 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 NMk;9{>J%&^{tp+dtR?^e literal 0 HcmV?d00001 diff --git a/src/assets/img/project.png b/src/assets/img/project.png new file mode 100644 index 0000000000000000000000000000000000000000..a2f18dd71dfbb6b020fec9bb2df90ce7db9ee550 GIT binary patch literal 5556 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 literal 0 HcmV?d00001 diff --git a/src/assets/img/topic.png b/src/assets/img/topic.png new file mode 100644 index 0000000000000000000000000000000000000000..47e64956ebad42649769e1c77d034953914b4985 GIT binary patch literal 5018 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 @@ -414,4 +415,9 @@ export default { } } } +.scroll-tree { + width: 500px; + height: 600px; + overflow: auto; +} diff --git a/src/views/modules/workbench/barOption.js b/src/views/modules/workbench/barOption.js new file mode 100644 index 0000000..7681a37 --- /dev/null +++ b/src/views/modules/workbench/barOption.js @@ -0,0 +1,95 @@ +import echarts from 'echarts' +export default function getBarOption (xdata, ydata1, ydata2) { + return { + legend: { + data: ['用户数', '党员数'], + right: 10, + textStyle: { + color: "#666666" + }, + itemWidth: 15, + itemHeight: 10, + itemGap: 25 + }, + tooltip: { + trigger: 'axis', + axisPointer: { + type: 'shadow' + } + }, + grid: { + left: '2%', + top:'16%', + containLabel: true + }, + xAxis: { + type: 'category', + data: xdata, + axisLine: { + lineStyle: { + color: '#cdd5e2' + } + }, + axisLabel: { + textStyle: { + color: "#666666" + }, + interval: 0, + rotate: 30 + }, + }, + yAxis: {}, + dataZoom: [ + { + show: false, + realtime: true, + start: 0, + end: 50 + }, + { + type: 'inside', + realtime: true, + start: 0, + end: 50 + } + ], + series: [ + { + name: '用户数', + type: 'bar', + barWidth: '15px', + itemStyle: { + normal: { + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ + offset: 0, + color: '#e21d1b' + }, { + offset: 1, + color: '#f88e6b' + }]), + barBorderRadius: [ 6, 6, 0, 0 ] + }, + }, + data: ydata2 + }, + { + name: '党员数', + type: 'bar', + barWidth: '15px', + itemStyle: { + normal: { + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ + offset: 0, + color: '#ff8705' + }, { + offset: 1, + color: '#ffb139' + }]), + barBorderRadius: [ 6, 6, 0, 0 ], + } + }, + data: ydata1 + } + ] + } +} \ No newline at end of file diff --git a/src/views/modules/workbench/lineOption.js b/src/views/modules/workbench/lineOption.js new file mode 100644 index 0000000..3e7768e --- /dev/null +++ b/src/views/modules/workbench/lineOption.js @@ -0,0 +1,113 @@ +import echarts from 'echarts' +export default function getLineOption (xdata, ydata1, ydata2, ydata3) { + return { + legend: { + data: ['议题数', '项目数', '话题数'], + right: 10, + textStyle: { + color: "#666666" + }, + itemWidth: 15, + itemHeight: 10, + itemGap: 25 + }, + tooltip: { + trigger: 'axis', + axisPointer: { + type: 'shadow' + } + }, + grid: { + left: '2%', + top:'16%', + containLabel: true + }, + xAxis: { + type: 'category', + data: xdata, + axisLine: { + lineStyle: { + color: '#cdd5e2' + } + }, + axisLabel: { + textStyle: { + color: "#666666" + }, + interval: 0, + rotate: 30 + }, + }, + yAxis: {}, + dataZoom: [ + { + show: false, + realtime: true, + start: 0, + end: 50 + }, + { + type: 'inside', + realtime: true, + start: 0, + end: 50 + } + ], + series: [ + { + name: '议题数', + type: 'bar', + barWidth: '15px', + itemStyle: { + normal: { + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ + offset: 0, + color: '#5291ff' + }, { + offset: 1, + color: '#78aafe' + }]), + barBorderRadius: [ 6, 6, 0, 0 ] + }, + }, + data: ydata1 + }, + { + name: '项目数', + type: 'bar', + barWidth: '15px', + itemStyle: { + normal: { + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ + offset: 0, + color: '#f28c68' + }, { + offset: 1, + color: '#f8b4a0' + }]), + barBorderRadius: [ 6, 6, 0, 0 ] + }, + }, + data: ydata2 + }, + { + name: '话题数', + type: 'bar', + barWidth: '15px', + itemStyle: { + normal: { + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ + offset: 0, + color: '#8a79fe' + }, { + offset: 1, + color: '#aca2ff' + }]), + barBorderRadius: [ 6, 6, 0, 0 ], + } + }, + data: ydata3 + } + ] + } +} \ No newline at end of file diff --git a/src/views/modules/workbench/workbench.vue b/src/views/modules/workbench/workbench.vue new file mode 100644 index 0000000..4be11db --- /dev/null +++ b/src/views/modules/workbench/workbench.vue @@ -0,0 +1,337 @@ + + + + + \ No newline at end of file