From 5c7e2e4098d3bb6224e303177d4892dc068f41da Mon Sep 17 00:00:00 2001 From: shijingjing <1789544664@qq.com> Date: Thu, 7 Jul 2022 09:27:48 +0800 Subject: [PATCH 001/381] 30530 --- packages/work/AppAssessment/components/Statistics.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/work/AppAssessment/components/Statistics.vue b/packages/work/AppAssessment/components/Statistics.vue index d25f28e9..772a3ced 100644 --- a/packages/work/AppAssessment/components/Statistics.vue +++ b/packages/work/AppAssessment/components/Statistics.vue @@ -6,11 +6,11 @@ @@ -132,7 +139,8 @@ dateTypeList: ['近7天', '近30天', '近1年', '自定义'], departData: {}, departBarChart: null, - + dialogDate: false, + timeList: '', type: '', } @@ -188,6 +196,22 @@ this.dict.load("mstSendType") }, methods: { + selectDete() { + console.log(this.timeList) + if(!this.timeList || !this.timeList.length) { + return this.$message.error('请选择自定义时间'); + } + + if(this.effectType == 3) { //宣发效果 + this.getEffect() + } + + if(this.departType == 3) { //宣发明细 + this.getDepart() + } + + this.dialogDate = false + }, searchMonthChange() { this.calendarDate = this.searchMonth + '-1' }, @@ -204,10 +228,16 @@ }, changeEffectType(type) { this.effectType = type - this.getEffect() + if(type == 3) { + this.dialogDate = true + this.timeList = [] + }else { + this.getEffect() + } }, getEffect() { - this.instance.post(`/app/appmasssendingtask/statisticsEffect?type=${this.effectType}`).then(res => { + var startTime = this.timeList[0] || '' , endTime = this.timeList[1] || '' + this.instance.post(`/app/appmasssendingtask/statisticsEffect?type=${this.effectType}&startTime=${startTime}&endTime=${endTime}`).then(res => { if (res.code == 0) { this.effectData = res.data var xData = [], createData = [], executeData = [], receiveData = [] @@ -259,10 +289,16 @@ }, changeDepartType(type) { this.departType = type - this.getDepart() + if(type == 3) { + this.dialogDate = true + this.timeList = [] + }else { + this.getDepart() + } }, - getDepart() { // ${this.departType} - this.instance.post(`/app/appmasssendingtask/statisticsDepart?type=1`).then(res => { + getDepart() { + var startTime = this.timeList[0] || '' , endTime = this.timeList[1] || '' + this.instance.post(`/app/appmasssendingtask/statisticsDepart?type=${this.departType}&startTime=${startTime}&endTime=${endTime}`).then(res => { if (res.code == 0) { // this.dateList = res.data // this.getTaskList(this.chooseDay) @@ -291,16 +327,16 @@ bottom: 90, containLabel: true }, - toolbox: { - feature: { - dataZoom: { - yAxisIndex: false - }, - saveAsImage: { - pixelRatio: 2 - } - } - }, + // toolbox: { + // feature: { + // dataZoom: { + // yAxisIndex: false + // }, + // saveAsImage: { + // pixelRatio: 2 + // } + // } + // }, tooltip: { trigger: 'axis', axisPointer: { @@ -501,6 +537,7 @@ border: 1px solid #D0D4DC; margin-right: 8px; box-sizing: border-box; + cursor: pointer; } .active{ border: 1px solid #26f; From 6d50374606b8548cfcb30a8ba731066fcc7fdc41 Mon Sep 17 00:00:00 2001 From: yanran200730 Date: Tue, 19 Jul 2022 10:02:54 +0800 Subject: [PATCH 040/381] =?UTF-8?q?=E5=AE=A3=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Announce/AppAnnounce/components/Add.vue | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/project/sass/apps/Announce/AppAnnounce/components/Add.vue b/project/sass/apps/Announce/AppAnnounce/components/Add.vue index 5a5d0a9f..b70c0120 100644 --- a/project/sass/apps/Announce/AppAnnounce/components/Add.vue +++ b/project/sass/apps/Announce/AppAnnounce/components/Add.vue @@ -36,8 +36,8 @@ - - + +
@@ -88,10 +88,21 @@

视频

-
+ +
-

文件

-
+

文件

+
+

网页

@@ -159,8 +170,9 @@ department: [], fileList: [], form: { + content: '', choiceTime: '', - contents: {}, + contents: [], enableExamine: '0', examines: [], wxGroups: [], From 62f92569b3c75c891560fac7a665e3e301548ee2 Mon Sep 17 00:00:00 2001 From: yanran200730 Date: Tue, 19 Jul 2022 10:58:14 +0800 Subject: [PATCH 041/381] =?UTF-8?q?=E5=8D=8F=E5=90=8C=E5=AE=A3=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Announce/AppAnnounce/components/Add.vue | 97 ++++++++++++++++--- 1 file changed, 81 insertions(+), 16 deletions(-) diff --git a/project/sass/apps/Announce/AppAnnounce/components/Add.vue b/project/sass/apps/Announce/AppAnnounce/components/Add.vue index b70c0120..4d8901f2 100644 --- a/project/sass/apps/Announce/AppAnnounce/components/Add.vue +++ b/project/sass/apps/Announce/AppAnnounce/components/Add.vue @@ -42,7 +42,7 @@
- + {{ item.name }}
删除 @@ -67,7 +67,7 @@ :limit="9" action="/app/wxcp/upload/uploadFile" accept=".jpg,.png,.jpeg" - :http-request="v => submitUpload(v, 'image')"> + :http-request="v => submitUpload(v, '1')">

图片

@@ -82,7 +82,7 @@ :limit="9" action="/app/wxcp/upload/uploadFile" accept=".mp4" - :http-request="v => submitUpload(v, 'video')"> + :http-request="v => submitUpload(v, '2')">

视频

@@ -97,13 +97,13 @@ :limit="9" action="/app/wxcp/upload/uploadFile" accept=".zip、.rar、.doc、.docx、.xls、.xlsx、.ppt、.pptx、.pdf、.txt" - :http-request="v => submitUpload(v, 'file')"> + :http-request="v => submitUpload(v, '3')">

文件

-
+

网页

@@ -144,6 +144,41 @@
+ + +
+ + + + + + + + + + + + + + + +
+
+
+ + diff --git a/project/dv/apps/DonutChart.vue b/project/dv/apps/components/DonutChart.vue similarity index 100% rename from project/dv/apps/DonutChart.vue rename to project/dv/apps/components/DonutChart.vue From d7b7de09f7a7eade9df5752a5d6ef0c2501f6ac0 Mon Sep 17 00:00:00 2001 From: yanran200730 Date: Thu, 21 Jul 2022 18:22:54 +0800 Subject: [PATCH 060/381] bug --- project/dv/apps/AppPdDv.vue | 1 + project/dv/apps/components/AiGrid.vue | 1 + 2 files changed, 2 insertions(+) diff --git a/project/dv/apps/AppPdDv.vue b/project/dv/apps/AppPdDv.vue index 386b08f6..81a0c6a0 100644 --- a/project/dv/apps/AppPdDv.vue +++ b/project/dv/apps/AppPdDv.vue @@ -445,6 +445,7 @@ .AppPdDv { display: flex; height: 100%; + padding-top: 24px; background: url(https://cdn.cunwuyun.cn/dvcp/dv/pddv/bg.png); background-size: 100% 100%; diff --git a/project/dv/apps/components/AiGrid.vue b/project/dv/apps/components/AiGrid.vue index c7b9c93d..738a45ff 100644 --- a/project/dv/apps/components/AiGrid.vue +++ b/project/dv/apps/components/AiGrid.vue @@ -133,6 +133,7 @@ width: 100%; height: 100%; overflow: hidden; + box-sizing: border-box; .AiGrid-wrapper { display: flex; From f5abfa00848fe66abce5b12fe5857124c981f797 Mon Sep 17 00:00:00 2001 From: yanran200730 Date: Thu, 21 Jul 2022 18:28:51 +0800 Subject: [PATCH 061/381] bug --- project/dv/apps/AppPdDv.vue | 1 + project/dv/apps/components/AiGrid.vue | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/project/dv/apps/AppPdDv.vue b/project/dv/apps/AppPdDv.vue index 81a0c6a0..560f0ac5 100644 --- a/project/dv/apps/AppPdDv.vue +++ b/project/dv/apps/AppPdDv.vue @@ -831,6 +831,7 @@ .top { flex: 1; + padding: 80px 60px; } .bottom { diff --git a/project/dv/apps/components/AiGrid.vue b/project/dv/apps/components/AiGrid.vue index 738a45ff..d32d6c47 100644 --- a/project/dv/apps/components/AiGrid.vue +++ b/project/dv/apps/components/AiGrid.vue @@ -168,8 +168,7 @@ padding: 10px 4px; text-align: center; font-size: 18px; - color: #a2afba; - font-weight: bold; + color: rgba(255, 255, 255, 0.8); } } From 7a310007b10a4c9227d57616d6cc008b5adf2211 Mon Sep 17 00:00:00 2001 From: yanran200730 Date: Thu, 21 Jul 2022 18:33:18 +0800 Subject: [PATCH 062/381] =?UTF-8?q?=E5=A4=A7=E5=B1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- project/dv/apps/AppPdDv.vue | 1 - project/dv/apps/components/AiGrid.vue | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/project/dv/apps/AppPdDv.vue b/project/dv/apps/AppPdDv.vue index 560f0ac5..81a0c6a0 100644 --- a/project/dv/apps/AppPdDv.vue +++ b/project/dv/apps/AppPdDv.vue @@ -831,7 +831,6 @@ .top { flex: 1; - padding: 80px 60px; } .bottom { diff --git a/project/dv/apps/components/AiGrid.vue b/project/dv/apps/components/AiGrid.vue index d32d6c47..5d65d0fb 100644 --- a/project/dv/apps/components/AiGrid.vue +++ b/project/dv/apps/components/AiGrid.vue @@ -118,7 +118,7 @@ autoScale () { const treeWidth = this.$refs.tree.offsetWidth - const containerWidth = this.$refs.container.offsetWidth + const containerWidth = this.$refs.container.offsetWidth - 100 this.scale = treeWidth < containerWidth ? 1 : containerWidth / treeWidth this.x = '50%' this.y = '50%' From fe09fa4983450d24e6cf9c9fad630d3624e64fb8 Mon Sep 17 00:00:00 2001 From: yanran200730 Date: Thu, 21 Jul 2022 19:04:52 +0800 Subject: [PATCH 063/381] =?UTF-8?q?=E5=A4=A7=E5=B1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- project/dv/apps/components/AiGrid.vue | 33 ++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/project/dv/apps/components/AiGrid.vue b/project/dv/apps/components/AiGrid.vue index 5d65d0fb..d8488028 100644 --- a/project/dv/apps/components/AiGrid.vue +++ b/project/dv/apps/components/AiGrid.vue @@ -8,6 +8,9 @@ @@ -151,8 +154,36 @@ color: #FFFFFF; font-size: 16px; + .org-chart-node-btn { + border: 1px solid #23A0AC!important; + font-size: 16px; + font-weight: bold; + background: #071030; + color: #FF9A02; + + &:after, &::before { + display: none; + } + + &.expanded::before { + display: block; + position: absolute; + top: 50%; + left: 4px; + right: 4px; + height: 0; + border-top: 1px solid #FF9A02; + content: ""; + } + + .org-chart-node-btn-text { + background: transparent; + color: #FF9A02; + } + } + .org-chart-node { - overflow: hidden; + // overflow: hidden; .org-chart-node-label { width: 40px; From cf18beb6dc34d88197c87ffb20ee61f7d53eff5f Mon Sep 17 00:00:00 2001 From: yanran200730 Date: Fri, 22 Jul 2022 08:36:02 +0800 Subject: [PATCH 064/381] bug --- project/dv/apps/AppPdDv.vue | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/project/dv/apps/AppPdDv.vue b/project/dv/apps/AppPdDv.vue index 81a0c6a0..1e35a98c 100644 --- a/project/dv/apps/AppPdDv.vue +++ b/project/dv/apps/AppPdDv.vue @@ -33,7 +33,7 @@
-
+
居民群统计
@@ -67,7 +67,7 @@
-
+
标签人群
@@ -108,8 +108,8 @@

279

-
-
+
+
群聊统计
@@ -127,9 +127,9 @@

279

-
-
-
+
+
+
From d9e1f83d05eb6512319d3c3c15d4882e1131a524 Mon Sep 17 00:00:00 2001 From: yanran200730 Date: Fri, 22 Jul 2022 08:52:55 +0800 Subject: [PATCH 065/381] bug --- project/dv/apps/AppPdDv.vue | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/project/dv/apps/AppPdDv.vue b/project/dv/apps/AppPdDv.vue index 1e35a98c..a6967086 100644 --- a/project/dv/apps/AppPdDv.vue +++ b/project/dv/apps/AppPdDv.vue @@ -274,6 +274,10 @@ {offset: 1, color: 'rgba(37, 143, 255, 0.2)'} ]) }, 500) + + if (document.querySelector('.AiDvWrapper .viewPanel')) { + document.querySelector('.AiDvWrapper .viewPanel').style.backgroundImage = 'url(https://cdn.cunwuyun.cn/dvcp/dv/pddv/bg.png)' + } }) }, From 0ab2a0f5b706c7d25029893d11a1d92a187358a0 Mon Sep 17 00:00:00 2001 From: aixianling Date: Fri, 22 Jul 2022 10:32:02 +0800 Subject: [PATCH 066/381] =?UTF-8?q?=E8=BF=BD=E5=8A=A0=E5=AD=97=E5=85=B8?= =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/apps/AppMenuManager/AppMenuManager.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/apps/AppMenuManager/AppMenuManager.vue b/core/apps/AppMenuManager/AppMenuManager.vue index c2a18291..ade009d4 100644 --- a/core/apps/AppMenuManager/AppMenuManager.vue +++ b/core/apps/AppMenuManager/AppMenuManager.vue @@ -23,7 +23,7 @@ export default { } }, created() { - this.dict.load("menuType") + this.dict.load("menuType", "yesOrNo") } } From aae17797b7c17daa30d1982699aecde74f754686 Mon Sep 17 00:00:00 2001 From: yanran200730 Date: Fri, 22 Jul 2022 11:53:54 +0800 Subject: [PATCH 067/381] =?UTF-8?q?=E5=A4=A7=E5=B1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- project/dv/apps/AppPdDv.vue | 223 +++++++++++++++++++------- project/dv/apps/components/AiGrid.vue | 91 ++++++++--- 2 files changed, 229 insertions(+), 85 deletions(-) diff --git a/project/dv/apps/AppPdDv.vue b/project/dv/apps/AppPdDv.vue index a6967086..b5e431cc 100644 --- a/project/dv/apps/AppPdDv.vue +++ b/project/dv/apps/AppPdDv.vue @@ -14,21 +14,20 @@

居民好友

- 9 - + {{ residentInfo.customerTotal || 0 }}

昨日新增

- 9 - + {{ residentInfo.addCustomerCount || 0 }} +

昨日流失

- 9 + {{ residentInfo.removeCustomerCount || 0 }}
@@ -101,11 +100,11 @@

单聊会话

-

279

+

{{ userChatNumber.chatCnt }}

-

单聊会话

-

279

+

单聊消息

+

{{ userChatNumber.messageCnt }}

@@ -115,16 +114,16 @@
群聊统计
-

单聊会话

-

279

+

活跃群聊

+

{{ groupChatNumber.chatHasMsg }}

-

单聊会话

-

279

+

活跃群成员

+

{{ groupChatNumber.memberHasMsg }}

-

单聊会话

-

279

+

群聊消息

+

{{ groupChatNumber.msgTotal }}

@@ -136,7 +135,7 @@
- +
@@ -157,23 +156,23 @@
网格信息
-
"星"网格
+
{{ girdInfo['网格名称'] }}
-

925

+

{{ girdInfo['微网格长'] || 0 }}

微网格长

-

925

-

微网格长

+

{{ girdInfo['居民群'] || 0 }}

+

居民群

-

925

-

微网格长

+

{{ girdInfo['群成员'] || 0 }}

+

群成员

-

925

-

微网格长

+

{{ girdInfo['居民好友'] || 0 }}

+

居民好友

@@ -186,10 +185,10 @@ 群人数
-
- XX网格居民群 - 王磊 - 150 +
+ {{ item.name }} + {{ item.ownerName }} + {{ item.personCount }}
@@ -244,35 +243,25 @@ leftIndex: 0, rightIndex: 0, dlIndex: 0, - qlIndex: 0 + qlIndex: 0, + currGirdName: '', + girdInfo: {}, + gridList: [], + userChatNumber: {}, + residentInfo: {}, + groupChatNumber: {} } }, + created () { + this.getInfo() + this.getGridInfo() + }, + mounted () { this.$nextTick(() => { setTimeout(() => { - this.initLineChart('.chart1') - this.initLineChart('.chart2') - this.initBarChart('.chart4', [ - {offset: 0, color: 'rgba(66, 255, 254, 1)'}, - {offset: 1, color: 'rgba(37, 255, 246, 0.2)'} - ]) - this.initBarChart('.chart3', [ - {offset: 0, color: 'rgba(66, 187, 255, 1)'}, - {offset: 1, color: 'rgba(37, 143, 255, 0.2)'} - ]) - this.initBarChart('.chart5', [ - {offset: 0, color: 'rgba(66, 255, 254, 1)'}, - {offset: 1, color: 'rgba(66, 255, 254, 0.2)'} - ]) - this.initBarChart('.chart6', [ - {offset: 0, color: 'rgba(255, 190, 66, 1)'}, - {offset: 1, color: 'rgba(255, 190, 66, 0.2)'} - ]) - this.initBarChart('.chart7', [ - {offset: 0, color: 'rgba(66, 187, 255, 1)'}, - {offset: 1, color: 'rgba(37, 143, 255, 0.2)'} - ]) + // this.initLineChart('.chart2') }, 500) if (document.querySelector('.AiDvWrapper .viewPanel')) { @@ -282,15 +271,103 @@ }, methods: { - initLineChart (el) { + onNodeClick (e) { + this.getGridInfo(e.id) + }, + + getInfo () { + this.instance.post(`/app/wxgroupstatistic/getCustommerNumber`).then(res => { + if (res.code === 0) { + this.residentInfo = res.data['居民统计'] + this.initLineChart('.chart1', { + x: res.data['居民好友数'].map(v => v.month), + value: res.data['居民好友数'].map(v => v.totalNumber), + name: '居民好友' + }) + } + }) + this.instance.post(`/app/wxgroupstatistic/getGroupNumber`).then(res => { + if (res.code === 0) { + + } + }) + this.instance.post(`/app/wxgroupstatistic/getTagNumber`).then(res => { + if (res.code === 0) { + + } + }) + this.instance.post(`/app/wxgroupstatistic/getUserChatNumber`).then(res => { + if (res.code === 0) { + this.userChatNumber = res.data['单聊总和'] + this.initBarChart('.chart4', { + x: res.data['条形统计'].map(v => v.dateDay), + value: res.data['条形统计'].map(v => v.messageCnt), + name: '单聊消息' + }, [ + {offset: 0, color: 'rgba(66, 255, 254, 1)'}, + {offset: 1, color: 'rgba(37, 255, 246, 0.2)'} + ]) + this.initBarChart('.chart3', { + x: res.data['条形统计'].map(v => v.dateDay), + value: res.data['条形统计'].map(v => v.chatCnt), + name: '单聊会话' + }, [ + {offset: 0, color: 'rgba(66, 187, 255, 1)'}, + {offset: 1, color: 'rgba(37, 143, 255, 0.2)'} + ]) + } + }) + this.instance.post(`/app/wxgroupstatistic/getgroupChatNumber`).then(res => { + this.groupChatNumber = res.data['群聊总和'] + if (res.code === 0) { + this.initBarChart('.chart5', { + x: res.data['条形统计'].map(v => v.dateDay), + value: res.data['条形统计'].map(v => v.chatHasMsg), + name: '活跃群聊' + }, [ + {offset: 0, color: 'rgba(66, 255, 254, 1)'}, + {offset: 1, color: 'rgba(66, 255, 254, 0.2)'} + ]) + this.initBarChart('.chart6', { + x: res.data['条形统计'].map(v => v.dateDay), + value: res.data['条形统计'].map(v => v.memberHasMsg), + name: '活跃群成员' + }, [ + {offset: 0, color: 'rgba(255, 190, 66, 1)'}, + {offset: 1, color: 'rgba(255, 190, 66, 0.2)'} + ]) + this.initBarChart('.chart7', { + x: res.data['条形统计'].map(v => v.dateDay), + value: res.data['条形统计'].map(v => v.msgTotal), + name: '群聊消息' + }, [ + {offset: 0, color: 'rgba(66, 187, 255, 1)'}, + {offset: 1, color: 'rgba(37, 143, 255, 0.2)'} + ]) + } + }) + }, + + getGridInfo (id) { + this.instance.post(`/app/appgirdinfo/piduGirdCount?girdId=${id || ''}`).then(res => { + if (res.code === 0) { + this.girdInfo = res.data + } + }) + this.instance.post(`/app/wxcp/wxgroup/listBtGridId?size=1000&girdId=${id || ''}`).then(res => { + if (res.code === 0) { + this.gridList = res.data.records + } + }) + }, + + initLineChart (el, data) { var chartDom = document.querySelector(el) var myChart = echarts.init(chartDom) - var option - - option = { + var option = { xAxis: { type: 'category', - data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], + data: data.x, axisTick: { show: false }, @@ -346,13 +423,14 @@ }, series: [ { - data: [820, 932, 901, 934, 1290, 1330, 1320], + data: data.value, type: 'line', label: { show: false, position: 'top', color: '#fff' }, + name: data.name, areaStyle: {}, barWidth: 16, barCategoryGap: 40, @@ -364,7 +442,7 @@ option && myChart.setOption(option) }, - initBarChart (el, color) { + initBarChart (el, data, color) { var chartDom = document.querySelector(el) var myChart = echarts.init(chartDom) var option @@ -372,7 +450,7 @@ option = { xAxis: { type: 'category', - data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], + data: data.x, axisTick: { show: false }, @@ -425,7 +503,8 @@ }, series: [ { - data: [820, 932, 901, 934, 1290, 1330, 1320], + data: data.value, + name: data.name, type: 'bar', label: { show: false, @@ -453,6 +532,20 @@ background: url(https://cdn.cunwuyun.cn/dvcp/dv/pddv/bg.png); background-size: 100% 100%; + ::-webkit-scrollbar { + width: 6px; + } + + ::-webkit-scrollbar-track { + border-radius: 5px; + background: rgba(93, 163, 255, 0.1); + } + + ::-webkit-scrollbar-thumb { + border-radius: 5px; + background: rgba(173, 208, 255, 0.5); + } + * { box-sizing: border-box; } @@ -630,6 +723,9 @@ padding: 4px 0 0 34px; color: #fff; font-size: 16px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; background: url(https://cdn.cunwuyun.cn/dvcp/dv/pddv/title.png); background-size: 100% 100%; } @@ -955,6 +1051,9 @@ } .item-table__body { + height: 280px; + overflow-y: overlay; + .item-table__item { display: flex; align-items: center; @@ -968,6 +1067,12 @@ &:nth-of-type(2n - 1) { background: transparent; } + + span { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } } } } diff --git a/project/dv/apps/components/AiGrid.vue b/project/dv/apps/components/AiGrid.vue index d8488028..d66dd3ad 100644 --- a/project/dv/apps/components/AiGrid.vue +++ b/project/dv/apps/components/AiGrid.vue @@ -9,9 +9,11 @@ :props="props" node-key="id" show-collapsable - default-expand-all show-node-num + current-lable-class-name="aigrid-active" + :default-expanded-keys="defaultExpandedKeys" ref="VueOkrTree" + @node-click="onNodeClick" :data="treeData">
@@ -36,9 +38,10 @@ scale: 1, x: '50%', y: '50%', + defaultExpandedKeys: [], treeData: [], props: { - label: 'name', + label: 'girdName', children: 'children' } } @@ -101,19 +104,34 @@ this.isMove = false }, + onNodeClick (e) { + this.$emit('nodeClick', e) + }, + getPartyOrg () { - this.instance.post('/app/partyOrganization/queryPartyOrganizationServiceList').then(res => { + this.instance.post('/app/appgirdinfo/listAll3').then(res => { if (res.code === 0) { - this.treeData = res.data.filter(e => !e.parentId) - this.treeData.map(p => this.addChild(p, res.data.map(v => { + this.treeData = res.data.filter(e => !e.parentGirdId) + const parentGirdId = this.treeData[0].id + const arr = res.data.filter(v => { + return v.parentGirdId === parentGirdId || !v.parentGirdId + }) + this.treeData.map(p => this.addChild(p, arr.map(v => { + if (v.id === parentGirdId) { + this.defaultExpandedKeys.push(v.id) + } + return { ...v, - name: v.name.substr(0, 12) + girdName: v.girdName.substr(0, 8) } - }), {parent: 'parentId'})) + }), { + parent: 'parentGirdId' + })) this.$nextTick(() => { this.autoScale() + this.$refs.VueOkrTree.setCurrentKey(parentGirdId) }) } }) @@ -150,6 +168,10 @@ height: 300%; } + .aigrid-active { + background: linear-gradient(180deg, #42C6CE 0%, #307598 100%); + } + ::v-deep .org-chart-container { color: #FFFFFF; font-size: 16px; @@ -187,19 +209,51 @@ .org-chart-node-label { width: 40px; - height: 330px; + height: 230px; margin-right: 15px; padding: 0 0; - border: 1px solid; - background: linear-gradient(180deg, rgba(69,210,218,0.2500) 0%, rgba(69,210,218,0.1000) 100%)!important; - border-image: linear-gradient(180deg, rgba(5, 185, 203, 1), rgba(73, 214, 207, 1)) 1 1!important; .org-chart-node-label-inner { + width: 40px!important; + height: 230px!important; + border: 1px solid; + background: linear-gradient(180deg, rgba(69,210,218,0.2500) 0%, rgba(69,210,218,0.1000) 100%)!important; + border-image: linear-gradient(180deg, rgba(5, 185, 203, 1), rgba(73, 214, 207, 1)) 1 1!important; line-height: 1.3; padding: 10px 4px; text-align: center; font-size: 18px; color: rgba(255, 255, 255, 0.8); + + &.aigrid-active { + background: linear-gradient(180deg, #42C6CE 0%, #307598 100%)!important; + } + } + + &.is-root-label { + width: auto!important; + min-width: 240px; + height: 40px!important; + line-height: 40px!important; + min-height: 40px!important; + text-align: center; + + .org-chart-node-label-inner { + padding: 0 30px!important; + color: #fff!important; + width: auto!important; + min-width: 240px; + height: 40px!important; + line-height: 40px!important; + min-height: 40px!important; + text-align: center; + background: linear-gradient(180deg, rgba(69,210,218,0.2500) 0%, rgba(69,210,218,0.1000) 100%)!important; + border-image: linear-gradient(180deg, rgba(5, 185, 203, 1), rgba(73, 214, 207, 1)) 1 1!important; + + &.aigrid-active { + background: linear-gradient(180deg, #42C6CE 0%, #307598 100%)!important; + } + } } } @@ -210,21 +264,6 @@ } } - .is-root-label { - width: auto!important; - height: 40px!important; - line-height: 40px!important; - min-height: 40px!important; - text-align: center; - background: linear-gradient(180deg, rgba(69,210,218,0.2500) 0%, rgba(69,210,218,0.1000) 100%)!important; - border-image: linear-gradient(180deg, rgba(5, 185, 203, 1), rgba(73, 214, 207, 1)) 1 1!important; - - .org-chart-node-label-inner { - padding: 0 30px!important; - color: #fff!important; - } - } - .org-chart-node-children:before, .org-chart-node:after, .org-chart-node:last-child:before, .org-chart-node.is-leaf:before { border-radius: 0; From 156bdba21709390d105242f88d63e3490d86a4c4 Mon Sep 17 00:00:00 2001 From: yanran200730 Date: Fri, 22 Jul 2022 13:45:03 +0800 Subject: [PATCH 068/381] =?UTF-8?q?=E5=A4=A7=E5=B1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- project/dv/apps/AppPdDv.vue | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/project/dv/apps/AppPdDv.vue b/project/dv/apps/AppPdDv.vue index b5e431cc..0db1fbcd 100644 --- a/project/dv/apps/AppPdDv.vue +++ b/project/dv/apps/AppPdDv.vue @@ -40,28 +40,28 @@

居民群

- 9 + {{ groupNumber.groupSum }}

群成员

- 9 + {{ groupNumber.totalSum }}

昨日新增

- 9 + {{ groupNumber.increaseSum }}

昨日流失

- 9 + {{ groupNumber.decreaseSum }}
@@ -72,16 +72,16 @@
标签人群
-

居民群

- 245 +

高龄老人

+ {{ tagInfo.elderlyPeople }}
-

群成员

- 245 +

精神病人

+ {{ tagInfo.mentalIllness }}
-

昨日新增

- 245 +

贫困居民

+ {{ tagInfo.poorResidents }}
@@ -249,6 +249,8 @@ gridList: [], userChatNumber: {}, residentInfo: {}, + tagInfo: {}, + groupNumber: {}, groupChatNumber: {} } }, @@ -260,10 +262,6 @@ mounted () { this.$nextTick(() => { - setTimeout(() => { - // this.initLineChart('.chart2') - }, 500) - if (document.querySelector('.AiDvWrapper .viewPanel')) { document.querySelector('.AiDvWrapper .viewPanel').style.backgroundImage = 'url(https://cdn.cunwuyun.cn/dvcp/dv/pddv/bg.png)' } @@ -288,12 +286,17 @@ }) this.instance.post(`/app/wxgroupstatistic/getGroupNumber`).then(res => { if (res.code === 0) { - + this.groupNumber = res.data['居民群统计'] + this.initLineChart('.chart2', { + x: res.data['群成员数'].map(v => v.month), + value: res.data['群成员数'].map(v => v.totalNumber), + name: '居民群' + }) } }) this.instance.post(`/app/wxgroupstatistic/getTagNumber`).then(res => { if (res.code === 0) { - + this.tagInfo = res.data } }) this.instance.post(`/app/wxgroupstatistic/getUserChatNumber`).then(res => { From a170cf7b1fb26564396f2e58eb97a738ece699f8 Mon Sep 17 00:00:00 2001 From: yanran200730 Date: Fri, 22 Jul 2022 13:45:59 +0800 Subject: [PATCH 069/381] bug --- project/dv/apps/AppPdDv.vue | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/project/dv/apps/AppPdDv.vue b/project/dv/apps/AppPdDv.vue index 0db1fbcd..e46aeac1 100644 --- a/project/dv/apps/AppPdDv.vue +++ b/project/dv/apps/AppPdDv.vue @@ -41,21 +41,19 @@

居民群

{{ groupNumber.groupSum }} -

群成员

{{ groupNumber.totalSum }} -

昨日新增

{{ groupNumber.increaseSum }} - +
From db07381bbdab456b025bf03b733537b981607262 Mon Sep 17 00:00:00 2001 From: yanran200730 Date: Fri, 22 Jul 2022 13:49:38 +0800 Subject: [PATCH 070/381] bug --- project/dv/apps/AppPdDv.vue | 17 ++++++++++++++--- project/dv/apps/components/AiGrid.vue | 2 +- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/project/dv/apps/AppPdDv.vue b/project/dv/apps/AppPdDv.vue index e46aeac1..11bb86d7 100644 --- a/project/dv/apps/AppPdDv.vue +++ b/project/dv/apps/AppPdDv.vue @@ -195,11 +195,11 @@
积分排行
-
累计积分榜
-
上周积分榜
+
累计积分榜
+
上周积分榜
-
+
{{ index + 1 }}
@@ -210,6 +210,17 @@
433
+
+
{{ index + 1 }}
+
+
+

王磊1

+ 网格长 +
+

+
+ 433 +
diff --git a/project/dv/apps/components/AiGrid.vue b/project/dv/apps/components/AiGrid.vue index d66dd3ad..ad119eff 100644 --- a/project/dv/apps/components/AiGrid.vue +++ b/project/dv/apps/components/AiGrid.vue @@ -116,7 +116,7 @@ const arr = res.data.filter(v => { return v.parentGirdId === parentGirdId || !v.parentGirdId }) - this.treeData.map(p => this.addChild(p, arr.map(v => { + this.treeData.map(p => this.addChild(p, res.data.map(v => { if (v.id === parentGirdId) { this.defaultExpandedKeys.push(v.id) } From 74c47dcba0b413264ebff51c615017138f7e731d Mon Sep 17 00:00:00 2001 From: yanran200730 Date: Fri, 22 Jul 2022 14:01:33 +0800 Subject: [PATCH 071/381] bug --- project/dv/apps/AppPdDv.vue | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/project/dv/apps/AppPdDv.vue b/project/dv/apps/AppPdDv.vue index 11bb86d7..f7d7609a 100644 --- a/project/dv/apps/AppPdDv.vue +++ b/project/dv/apps/AppPdDv.vue @@ -88,9 +88,9 @@
消息回复率
- - - + + +
@@ -260,6 +260,7 @@ residentInfo: {}, tagInfo: {}, groupNumber: {}, + replyPercentage: {}, groupChatNumber: {} } }, @@ -293,6 +294,11 @@ }) } }) + this.instance.post(`/app/wxgroupstatistic/replyPercentage`).then(res => { + if (res.code === 0) { + this.replyPercentage = res.data + } + }) this.instance.post(`/app/wxgroupstatistic/getGroupNumber`).then(res => { if (res.code === 0) { this.groupNumber = res.data['居民群统计'] From 5996377c2d59dcea3b03ef6ed9e26bb945fc08f1 Mon Sep 17 00:00:00 2001 From: yanran200730 Date: Fri, 22 Jul 2022 14:13:02 +0800 Subject: [PATCH 072/381] bug --- project/dv/apps/AppPdDv.vue | 19 ++++++++++--------- project/dv/apps/components/AiGrid.vue | 2 +- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/project/dv/apps/AppPdDv.vue b/project/dv/apps/AppPdDv.vue index f7d7609a..db37dbeb 100644 --- a/project/dv/apps/AppPdDv.vue +++ b/project/dv/apps/AppPdDv.vue @@ -32,7 +32,7 @@
-
+
居民群统计
@@ -64,7 +64,7 @@
-
+
标签人群
@@ -105,8 +105,8 @@

{{ userChatNumber.messageCnt }}

-
-
+
+
群聊统计
@@ -124,9 +124,9 @@

{{ groupChatNumber.msgTotal }}

-
-
-
+
+
+
@@ -184,7 +184,7 @@
- {{ item.name }} + {{ item.name || '未命名群聊' }} {{ item.ownerName }} {{ item.personCount }}
@@ -210,7 +210,7 @@
433 -
+
{{ index + 1 }}
@@ -738,6 +738,7 @@ .title { width: 154px; height: 42px; + margin-bottom: 10px; padding: 4px 0 0 34px; color: #fff; font-size: 16px; diff --git a/project/dv/apps/components/AiGrid.vue b/project/dv/apps/components/AiGrid.vue index ad119eff..d66dd3ad 100644 --- a/project/dv/apps/components/AiGrid.vue +++ b/project/dv/apps/components/AiGrid.vue @@ -116,7 +116,7 @@ const arr = res.data.filter(v => { return v.parentGirdId === parentGirdId || !v.parentGirdId }) - this.treeData.map(p => this.addChild(p, res.data.map(v => { + this.treeData.map(p => this.addChild(p, arr.map(v => { if (v.id === parentGirdId) { this.defaultExpandedKeys.push(v.id) } From 04beb515d07b5a75615b066b9e77ede1480566f0 Mon Sep 17 00:00:00 2001 From: yanran200730 Date: Fri, 22 Jul 2022 14:19:56 +0800 Subject: [PATCH 073/381] bug --- project/dv/apps/AppPdDv.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/project/dv/apps/AppPdDv.vue b/project/dv/apps/AppPdDv.vue index db37dbeb..e6dd9e23 100644 --- a/project/dv/apps/AppPdDv.vue +++ b/project/dv/apps/AppPdDv.vue @@ -199,7 +199,7 @@
上周积分榜
-
+
{{ index + 1 }}
@@ -210,7 +210,7 @@
433
-
+
{{ index + 1 }}
From 0eb642a6253987103b2e21df5094ef623692e996 Mon Sep 17 00:00:00 2001 From: yanran200730 Date: Fri, 22 Jul 2022 14:44:55 +0800 Subject: [PATCH 074/381] bug --- project/dv/apps/components/AiGrid.vue | 9 +- .../apps/components/vue-okr-tree/OkrTree.vue | 682 ++++++++++++++++++ .../components/vue-okr-tree/OkrTreeNode.vue | 381 ++++++++++ .../components/vue-okr-tree/model/merge.js | 14 + .../components/vue-okr-tree/model/node.js | 254 +++++++ .../vue-okr-tree/model/transition.css | 1 + .../vue-okr-tree/model/tree-store.js | 176 +++++ .../components/vue-okr-tree/model/util.js | 27 + 8 files changed, 1540 insertions(+), 4 deletions(-) create mode 100644 project/dv/apps/components/vue-okr-tree/OkrTree.vue create mode 100644 project/dv/apps/components/vue-okr-tree/OkrTreeNode.vue create mode 100644 project/dv/apps/components/vue-okr-tree/model/merge.js create mode 100644 project/dv/apps/components/vue-okr-tree/model/node.js create mode 100644 project/dv/apps/components/vue-okr-tree/model/transition.css create mode 100644 project/dv/apps/components/vue-okr-tree/model/tree-store.js create mode 100644 project/dv/apps/components/vue-okr-tree/model/util.js diff --git a/project/dv/apps/components/AiGrid.vue b/project/dv/apps/components/AiGrid.vue index d66dd3ad..8aa8b029 100644 --- a/project/dv/apps/components/AiGrid.vue +++ b/project/dv/apps/components/AiGrid.vue @@ -21,8 +21,9 @@ + + diff --git a/project/dv/apps/components/vue-okr-tree/OkrTreeNode.vue b/project/dv/apps/components/vue-okr-tree/OkrTreeNode.vue new file mode 100644 index 00000000..23bb648a --- /dev/null +++ b/project/dv/apps/components/vue-okr-tree/OkrTreeNode.vue @@ -0,0 +1,381 @@ + + diff --git a/project/dv/apps/components/vue-okr-tree/model/merge.js b/project/dv/apps/components/vue-okr-tree/model/merge.js new file mode 100644 index 00000000..66ebbfd8 --- /dev/null +++ b/project/dv/apps/components/vue-okr-tree/model/merge.js @@ -0,0 +1,14 @@ +export default function(target) { + for (let i = 1, j = arguments.length; i < j; i++) { + let source = arguments[i] || {}; + for (let prop in source) { + if (source.hasOwnProperty(prop)) { + let value = source[prop]; + if (value !== undefined) { + target[prop] = value; + } + } + } + } + return target; +} diff --git a/project/dv/apps/components/vue-okr-tree/model/node.js b/project/dv/apps/components/vue-okr-tree/model/node.js new file mode 100644 index 00000000..2c6c3a02 --- /dev/null +++ b/project/dv/apps/components/vue-okr-tree/model/node.js @@ -0,0 +1,254 @@ +import { markNodeData, NODE_KEY } from './util'; +import objectAssign from './merge'; + +const getPropertyFromData = function (node, prop) { + const props = node.store.props; + const data = node.data || {}; + const config = props[prop]; + + if (typeof config === 'function') { + return config(data, node); + } else if (typeof config === 'string') { + return data[config]; + } else if (typeof config === 'undefined') { + const dataProp = data[prop]; + return dataProp === undefined ? '' : dataProp; + } +}; + +let nodeIdSeed = 0; + +export default class Node { + constructor(options, isLeftChild = false) { + this.isLeftChild = isLeftChild; + this.id = nodeIdSeed++; + this.data = null; + this.expanded = false; + this.leftExpanded = false; + this.isCurrent = false; + this.visible = true; + this.parent = null; + for (let name in options) { + if (options.hasOwnProperty(name)) { + this[name] = options[name]; + } + } + this.level = 0; + this.childNodes = []; + this.leftChildNodes = []; + + if (this.parent) { + this.level = this.parent.level + 1; + } + + const store = this.store; + if (!store) { + throw new Error('[Node]store is required!'); + } + store.registerNode(this); + if (this.data) { + this.setData(this.data, isLeftChild); + if (store.defaultExpandAll || !store.showCollapsable) { + this.expanded = true; + this.leftExpanded = true; + } + } + + if (!Array.isArray(this.data)) { + markNodeData(this, this.data); + } + if (!this.data) return; + const defaultExpandedKeys = store.defaultExpandedKeys; + const key = store.key; + if ( + key && + defaultExpandedKeys && + defaultExpandedKeys.indexOf(this.key) !== -1 + ) { + this.expand(null, true); + } + + if ( + key && + store.currentNodeKey !== undefined && + this.key === store.currentNodeKey + ) { + store.currentNode = this; + store.currentNode.isCurrent = true; + } + + this.updateLeafState(); + } + + setData(data, isLeftChild) { + if (!Array.isArray(data)) { + markNodeData(this, data); + } + const store = this.store; + this.data = data; + this.childNodes = []; + let children; + if (this.level === 0 && this.data instanceof Array) { + children = this.data; + } else { + children = getPropertyFromData(this, 'children') || []; + } + for (let i = 0, j = children.length; i < j; i++) { + this.insertChild({ data: children[i] }, null, null, isLeftChild); + } + } + get key() { + const nodeKey = this.store.key; + if (this.data) return this.data[nodeKey]; + return null; + } + get label() { + return getPropertyFromData(this, 'label'); + } + // 是否是 OKR 飞书模式 + hasLeftChild() { + const store = this.store; + return store.onlyBothTree && store.direction === 'horizontal'; + } + insertChild(child, index, batch, isLeftChild) { + if (!child) throw new Error('insertChild error: child is required.'); + if (!(child instanceof Node)) { + if (!batch) { + const children = this.getChildren(true); + if (children.indexOf(child.data) === -1) { + if (index === undefined || index === null || index < 0) { + children.push(child.data); + } else { + children.splice(index, 0, child.data); + } + } + } + objectAssign(child, { + parent: this, + store: this.store, + }); + child = new Node(child, isLeftChild); + } + child.level = this.level + 1; + if (index === undefined || index === null || index < 0) { + this.childNodes.push(child); + } else { + this.childNodes.splice(index, 0, child); + } + this.updateLeafState(); + } + getChildren(forceInit = false) { + // this is data + if (this.level === 0) return this.data; + const data = this.data; + if (!data) return null; + + const props = this.store.props; + let children = 'children'; + if (props) { + children = props.children || 'children'; + } + + if (data[children] === undefined) { + data[children] = null; + } + + if (forceInit && !data[children]) { + data[children] = []; + } + + return data[children]; + } + updateLeafState() { + if ( + this.store.lazy === true && + this.loaded !== true && + typeof this.isLeafByUser !== 'undefined' + ) { + this.isLeaf = this.isLeafByUser; + return; + } + const childNodes = this.childNodes; + if ( + !this.store.lazy || + (this.store.lazy === true && this.loaded === true) + ) { + this.isLeaf = !childNodes || childNodes.length === 0; + return; + } + this.isLeaf = false; + } + updateLeftLeafState() { + if ( + this.store.lazy === true && + this.loaded !== true && + typeof this.isLeafByUser !== 'undefined' + ) { + this.isLeaf = this.isLeafByUser; + return; + } + const childNodes = this.leftChildNodes; + if ( + !this.store.lazy || + (this.store.lazy === true && this.loaded === true) + ) { + this.isLeaf = !childNodes || childNodes.length === 0; + return; + } + this.isLeaf = false; + } + // 节点的收起 + collapse() { + this.expanded = false; + } + // 节点的展开 + expand(callback, expandParent) { + const done = () => { + if (expandParent) { + let parent = this.parent; + while (parent.level > 0) { + parent.isLeftChild + ? (parent.leftExpanded = true) + : (parent.expanded = true); + parent = parent.parent; + } + } + this.isLeftChild ? (this.leftExpanded = true) : (this.expanded = true); + if (callback) callback(); + }; + done(); + } + + removeChild(child) { + const children = this.getChildren() || []; + const dataIndex = children.indexOf(child.data); + if (dataIndex > -1) { + children.splice(dataIndex, 1); + } + + const index = this.childNodes.indexOf(child); + + if (index > -1) { + this.store && this.store.deregisterNode(child); + child.parent = null; + this.childNodes.splice(index, 1); + } + + this.updateLeafState(); + } + insertBefore(child, ref) { + let index; + if (ref) { + index = this.childNodes.indexOf(ref); + } + this.insertChild(child, index); + } + insertAfter(child, ref) { + let index; + if (ref) { + index = this.childNodes.indexOf(ref); + if (index !== -1) index += 1; + } + this.insertChild(child, index); + } +} diff --git a/project/dv/apps/components/vue-okr-tree/model/transition.css b/project/dv/apps/components/vue-okr-tree/model/transition.css new file mode 100644 index 00000000..27697190 --- /dev/null +++ b/project/dv/apps/components/vue-okr-tree/model/transition.css @@ -0,0 +1 @@ +.okr-fade-in-enter,.okr-fade-in-leave-active,.okr-fade-in-linear-enter,.okr-fade-in-linear-leave,.okr-fade-in-linear-leave-active,.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.okr-fade-in-linear-enter-active,.okr-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.okr-fade-in-enter-active,.okr-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.okr-zoom-in-center-enter-active,.okr-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.okr-zoom-in-center-enter,.okr-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.okr-zoom-in-top-enter-active,.okr-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.okr-zoom-in-top-enter,.okr-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.okr-zoom-in-bottom-enter-active,.okr-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.okr-zoom-in-bottom-enter,.okr-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.okr-zoom-in-left-enter-active,.okr-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:top left;transform-origin:top left}.okr-zoom-in-left-enter,.okr-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.okr-list-enter-active,.okr-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.okr-list-enter,.okr-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.okr-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)} \ No newline at end of file diff --git a/project/dv/apps/components/vue-okr-tree/model/tree-store.js b/project/dv/apps/components/vue-okr-tree/model/tree-store.js new file mode 100644 index 00000000..35008fe4 --- /dev/null +++ b/project/dv/apps/components/vue-okr-tree/model/tree-store.js @@ -0,0 +1,176 @@ +import Node from "./node"; +import { getNodeKey } from "./util"; +export default class TreeStore { + constructor(options) { + this.currentNode = null; + this.currentNodeKey = null; + + for (let option in options) { + if (options.hasOwnProperty(option)) { + this[option] = options[option]; + } + } + this.nodesMap = {}; + this.root = new Node( + { + data: this.data, + store: this + }, + false + ); + + if (this.root.store.onlyBothTree) { + if (!this.leftData) + throw new Error("[Tree] leftData is required in onlyBothTree"); + if (this.leftData) { + this.isLeftChilds = new Node( + { + data: this.leftData, + store: this + }, + true + ); + if (this.isLeftChilds) { + this.root.childNodes[0].leftChildNodes = this.isLeftChilds.childNodes[0].childNodes; + this.root.childNodes[0].leftExpanded = this.isLeftChilds.childNodes[0].leftExpanded; + } + } + } + } + filter(value, childName = "childNodes") { + this.filterRight(value, childName); + } + // 过滤默认节点 + filterRight(value, childName) { + const filterNodeMethod = this.filterNodeMethod; + const traverse = function(node, childName) { + let childNodes; + if (node.root) { + childNodes = node.root.childNodes[0][childName]; + } else { + childNodes = node.childNodes; + } + childNodes.forEach(child => { + child.visible = filterNodeMethod.call(child, value, child.data, child); + traverse(child, childName); + }); + + if (!node.visible && childNodes.length) { + let allHidden = true; + allHidden = !childNodes.some(child => child.visible); + + if (node.root) { + node.root.visible = allHidden === false; + } else { + node.visible = allHidden === false; + } + } + if (!value) return; + + if (node.visible) node.expand(); + }; + + traverse(this, childName); + } + + registerNode(node) { + const key = this.key; + if (!key || !node || !node.data) return; + + const nodeKey = node.key; + if (nodeKey !== undefined) this.nodesMap[node.key] = node; + } + deregisterNode(node) { + const key = this.key; + if (!key || !node || !node.data) return; + node.childNodes.forEach(child => { + this.deregisterNode(child); + }); + delete this.nodesMap[node.key]; + } + setData(newVal) { + const instanceChanged = newVal !== this.root.data; + if (instanceChanged) { + this.root.setData(newVal); + } else { + this.root.updateChildren(); + } + } + updateChildren(key, data) { + const node = this.nodesMap[key]; + if (!node) return; + const childNodes = node.childNodes; + for (let i = childNodes.length - 1; i >= 0; i--) { + const child = childNodes[i]; + this.remove(child.data); + } + for (let i = 0, j = data.length; i < j; i++) { + const child = data[i]; + this.append(child, node.data); + } + } + getNode(data) { + if (data instanceof Node) return data; + const key = typeof data !== "object" ? data : getNodeKey(this.key, data); + return this.nodesMap[key] || null; + } + setDefaultExpandedKeys(keys) { + keys = keys || []; + this.defaultExpandedKeys = keys; + keys.forEach(key => { + const node = this.getNode(key); + if (node) node.expand(null, true); + }); + } + setCurrentNode(currentNode) { + const prevCurrentNode = this.currentNode; + if (prevCurrentNode) { + prevCurrentNode.isCurrent = false; + } + this.currentNode = currentNode; + this.currentNode.isCurrent = true; + } + setUserCurrentNode(node) { + const key = node.key; + const currNode = this.nodesMap[key]; + this.setCurrentNode(currNode); + } + setCurrentNodeKey(key) { + if (key === null || key === undefined) { + this.currentNode && (this.currentNode.isCurrent = false); + this.currentNode = null; + return; + } + const node = this.getNode(key); + if (node) { + this.setCurrentNode(node); + } + } + getCurrentNode() { + return this.currentNode; + } + remove(data) { + const node = this.getNode(data); + if (node && node.parent) { + if (node === this.currentNode) { + this.currentNode = null; + } + node.parent.removeChild(node); + } + } + append(data, parentData) { + const parentNode = parentData ? this.getNode(parentData) : this.root; + + if (parentNode) { + parentNode.insertChild({ data }); + } + } + insertBefore(data, refData) { + const refNode = this.getNode(refData); + refNode.parent.insertBefore({ data }, refNode); + } + insertAfter(data, refData) { + const refNode = this.getNode(refData); + refNode.parent.insertAfter({ data }, refNode); + } +} diff --git a/project/dv/apps/components/vue-okr-tree/model/util.js b/project/dv/apps/components/vue-okr-tree/model/util.js new file mode 100644 index 00000000..e53acac7 --- /dev/null +++ b/project/dv/apps/components/vue-okr-tree/model/util.js @@ -0,0 +1,27 @@ +export const NODE_KEY = "$treeNodeId"; + +export const markNodeData = function(node, data) { + if (!data || data[NODE_KEY]) return; + Object.defineProperty(data, NODE_KEY, { + value: node.id, + enumerable: false, + configurable: false, + writable: false + }); +}; + +export const getNodeKey = function(key, data) { + if (!key) return data[NODE_KEY]; + return data[key]; +}; + +export const findNearestComponent = (element, componentName) => { + let target = element; + while (target && target.tagName !== "BODY") { + if (target.__vue__ && target.__vue__.$options.name === componentName) { + return target.__vue__; + } + target = target.parentNode; + } + return null; +}; From 4413821d1ba141254b653fcdf183b47f17faa7d5 Mon Sep 17 00:00:00 2001 From: yanran200730 Date: Fri, 22 Jul 2022 14:54:42 +0800 Subject: [PATCH 075/381] bug --- project/dv/apps/AppPdDv.vue | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/project/dv/apps/AppPdDv.vue b/project/dv/apps/AppPdDv.vue index e6dd9e23..60deab01 100644 --- a/project/dv/apps/AppPdDv.vue +++ b/project/dv/apps/AppPdDv.vue @@ -32,7 +32,7 @@
-
+
居民群统计
@@ -64,7 +64,7 @@
-
+
标签人群
@@ -105,8 +105,8 @@

{{ userChatNumber.messageCnt }}

-
-
+
+
群聊统计
@@ -124,9 +124,9 @@

{{ groupChatNumber.msgTotal }}

-
-
-
+
+
+
@@ -199,7 +199,7 @@
上周积分榜
-
+
{{ index + 1 }}
@@ -210,7 +210,7 @@
433
-
+
{{ index + 1 }}
@@ -738,7 +738,7 @@ .title { width: 154px; height: 42px; - margin-bottom: 10px; + margin-bottom: 8px; padding: 4px 0 0 34px; color: #fff; font-size: 16px; From e051460e3171ca0aae84e326c8cf1df57a1ca87e Mon Sep 17 00:00:00 2001 From: yanran200730 Date: Mon, 25 Jul 2022 10:39:46 +0800 Subject: [PATCH 076/381] =?UTF-8?q?=E5=8D=8F=E5=90=8C=E5=AE=A3=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/router/axios.js | 2 +- .../Announce/AppAnnounce/components/Add.vue | 57 +++++++++++++++++-- 2 files changed, 54 insertions(+), 5 deletions(-) diff --git a/examples/router/axios.js b/examples/router/axios.js index 0b51e530..5e39299f 100644 --- a/examples/router/axios.js +++ b/examples/router/axios.js @@ -3,7 +3,7 @@ import {Message} from 'element-ui' let baseURLs = { production: "/", - development: '/lan' + development: '/saas' } instance.defaults.baseURL = baseURLs[process.env.NODE_ENV] instance.interceptors.request.use(config => { diff --git a/project/sass/apps/Announce/AppAnnounce/components/Add.vue b/project/sass/apps/Announce/AppAnnounce/components/Add.vue index fe48c1c6..aa7dc89e 100644 --- a/project/sass/apps/Announce/AppAnnounce/components/Add.vue +++ b/project/sass/apps/Announce/AppAnnounce/components/Add.vue @@ -272,6 +272,29 @@ v-model="miniAppForm.mpTitle"> + + + +
+ + + + +
+ + + +
@@ -279,7 +302,7 @@ @@ -303,16 +326,22 @@ fileList: [], isShowAddLink: false, isShowAddMiniapp: false, + isShowDate: false, + isLoading: false, linkForm: { linkPicUrl: [], linkDesc: '', linkTitle: '', linkUrl: '' }, + dateForm: { + choiceTime: '' + }, miniAppForm: { mpAppid: '', mpPage: '', - mpTitle: '' + mpTitle: '', + media: [] }, form: { content: '', @@ -370,6 +399,8 @@ filterCriteria: res.data.filterCriteria.split(',') } + this.dateForm.choiceTime = res.data.choiceTime + if (res.data.examines && res.data.examines.length) { this.form.examines = res.data.examines.map(v => { return { @@ -457,7 +488,9 @@ if (valid) { this.fileList.push({ ...this.miniAppForm, - msgType: '5' + msgType: '5', + ...this.miniAppForm.media[0], + mediaId: this.miniAppForm.media[0].media.mediaId }) this.isShowAddMiniapp = false @@ -473,6 +506,7 @@ this.miniAppForm.mpAppid = '' this.miniAppForm.mpPage = '' this.miniAppForm.mpTitle = '' + this.dateForm.choiceTime = '' }, removeFile (index) { @@ -542,10 +576,19 @@ }) }, + onDateForm () { + this.$refs.dateForm.validate((valid) => { + if (valid) { + this.confirm(1) + } + }) + }, + confirm (sendType) { this.$refs.form.validate((valid) => { if (valid) { - if (sendType === 1) { + if (sendType === 1 && !this.dateForm.choiceTime) { + this.isShowDate = true return false } @@ -557,11 +600,13 @@ ...this.fileList ] + this.isLoading = true this.instance.post(`/app/appmasssendingtask/addOrUpdate`, { ...this.form, id: this.params.id, wxGroups: this.form.wxGroups, contents, + choiceTime: this.dateForm.choiceTime, filterCriteria: this.form.filterCriteria.join(','), examines: this.form.examines.length ? this.form.examines.map(v => { return { @@ -576,6 +621,10 @@ this.cancel(true) }, 600) } + + this.isLoading = false + }).catch(() => { + this.isLoading = false }) } }) From 7063fd5cd951393fa7021e2d1c24276b10c06f9c Mon Sep 17 00:00:00 2001 From: liuye Date: Mon, 25 Jul 2022 10:50:59 +0800 Subject: [PATCH 077/381] =?UTF-8?q?id=E8=BD=AC=E6=96=87=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AppAnnounceStatistics/AppAnnounceStatistics.vue | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/project/sass/apps/Announce/AppAnnounceStatistics/AppAnnounceStatistics.vue b/project/sass/apps/Announce/AppAnnounceStatistics/AppAnnounceStatistics.vue index 6ce0644a..10e5f1cb 100644 --- a/project/sass/apps/Announce/AppAnnounceStatistics/AppAnnounceStatistics.vue +++ b/project/sass/apps/Announce/AppAnnounceStatistics/AppAnnounceStatistics.vue @@ -36,10 +36,14 @@

{{item.taskTitle}}

{{item.createTime.substring(10, 16)}}
-
创建人:{{item.createUserId}}
-
创建部门:{{item.createUserDept}}
+
创建人: + +
+
创建部门: + +
-
群发类型:{{$dict.getLabel('mstSendType', item.sendType)}}
+ 详情
@@ -206,7 +210,7 @@ this.getCalendarList(year, month) this.getEffect() this.getDepart() - this.dict.load("mstSendType") + this.dict.load(['mstSendType']) }, methods: { ...mapActions(['initOpenData', 'transCanvas']), From bd3ef507cc732ce7de820021b8d811effe0debda Mon Sep 17 00:00:00 2001 From: yanran200730 Date: Mon, 25 Jul 2022 11:36:32 +0800 Subject: [PATCH 078/381] =?UTF-8?q?=E5=8D=8F=E5=90=8C=E5=AE=A3=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Announce/AppAnnounce/components/Add.vue | 29 +++++++--- .../AppAnnounce/components/Detail.vue | 57 +++++++++++-------- .../Announce/AppAnnounce/components/List.vue | 7 +-- 3 files changed, 57 insertions(+), 36 deletions(-) diff --git a/project/sass/apps/Announce/AppAnnounce/components/Add.vue b/project/sass/apps/Announce/AppAnnounce/components/Add.vue index aa7dc89e..096af2b9 100644 --- a/project/sass/apps/Announce/AppAnnounce/components/Add.vue +++ b/project/sass/apps/Announce/AppAnnounce/components/Add.vue @@ -55,7 +55,7 @@
- {{ item.name || item.linkTitle || item.mpTitle }} + {{ item.mpTitle || item.name || item.linkTitle }}
删除
@@ -198,6 +198,7 @@

{{ item.mpTitle }}

+
小程序 @@ -292,6 +293,7 @@ v-model="dateForm.choiceTime" type="datetime" size="small" + value-format="yyyy-MM-dd HH:mm:ss" placeholder="请选择定时发送时间"> @@ -490,7 +492,8 @@ ...this.miniAppForm, msgType: '5', ...this.miniAppForm.media[0], - mediaId: this.miniAppForm.media[0].media.mediaId + mediaId: this.miniAppForm.media[0].media.mediaId, + sysFileId: this.miniAppForm.media[0].id }) this.isShowAddMiniapp = false @@ -600,12 +603,15 @@ ...this.fileList ] - this.isLoading = true + if (sendType === 0) { + this.isLoading = true + } this.instance.post(`/app/appmasssendingtask/addOrUpdate`, { ...this.form, id: this.params.id, wxGroups: this.form.wxGroups, contents, + sendType, choiceTime: this.dateForm.choiceTime, filterCriteria: this.form.filterCriteria.join(','), examines: this.form.examines.length ? this.form.examines.map(v => { @@ -865,7 +871,9 @@ .msg-miniapp { width: 206px; + padding: 0 12px; text-align: justify; + font-size: 0; background: #FFFFFF; border-radius: 5px; font-size: 14px; @@ -873,17 +881,24 @@ h2 { line-height: 1.2; - padding: 8px 10px 8px; + padding: 8px 0; border-bottom: 1px solid #eee; color: #222222; font-size: 14px; } + img { + width: 100%; + height: 120px; + margin-bottom: 8px; + } + .msg-bottom { display: flex; align-items: center; line-height: 1; - padding: 8px 12px; + padding: 4px 0; + border-top: 1px solid #eee; i { margin-right: 4px; @@ -893,8 +908,8 @@ } img { - width: 20px; - height: 20px; + width: 16px; + height: 16px; border-radius: 50%; } } diff --git a/project/sass/apps/Announce/AppAnnounce/components/Detail.vue b/project/sass/apps/Announce/AppAnnounce/components/Detail.vue index a66d1cf6..22557fcf 100644 --- a/project/sass/apps/Announce/AppAnnounce/components/Detail.vue +++ b/project/sass/apps/Announce/AppAnnounce/components/Detail.vue @@ -13,46 +13,48 @@ content="任务开始后,3天内15分钟更新1次,3天后访问页面时触发更新,1时间最多刷新1次"> - 数据更新于2022-07-06 09:23 + 数据更新于{{ info.dataUpdateTime }}
- @@ -202,7 +200,10 @@ current: 1, size: 10 }, + fileList: [], tableData: [], + info: {}, + content: '', currIndex: 0, colConfigs: [ { prop: 'position', label: '任务名称' }, @@ -216,22 +217,32 @@ }, created () { + this.getInfo(this.params.id) }, methods: { getInfo (id) { - this.instance.post(`/app/wxcp/wxuser/queryDetailById?id=${id}`).then(res => { + this.instance.post(`/app/appmasssendingtask/queryDetailById?id=${id}`).then(res => { if (res.code === 0) { - this.form = { - ...res.data + this.info = res.data + + const content = res.data.contents.filter(v => v.msgType === '0') + + if (content.length) { + this.content = content[0].content } + + this.fileList = res.data.contents.filter(v => v.msgType !== '0').map(v => { + return { + ...v, + ...v.sysFile + } + }) } }) }, - getList () { - - }, + getList () {}, cancel (isRefresh) { this.$emit('change', { diff --git a/project/sass/apps/Announce/AppAnnounce/components/List.vue b/project/sass/apps/Announce/AppAnnounce/components/List.vue index ddf9f499..5016520e 100644 --- a/project/sass/apps/Announce/AppAnnounce/components/List.vue +++ b/project/sass/apps/Announce/AppAnnounce/components/List.vue @@ -49,15 +49,10 @@ :col-configs="colConfigs" :total="total" v-loading="loading" - style="margin-top: 6px;" + style="margin-top: 6px; width: 100%;" :current.sync="search.current" :size.sync="search.size" @getList="getList"> - - - + + From d896db5d4d55b645d288b8b8110d806fde7899a6 Mon Sep 17 00:00:00 2001 From: yanran200730 Date: Tue, 26 Jul 2022 09:26:49 +0800 Subject: [PATCH 085/381] =?UTF-8?q?=E5=8D=8F=E5=90=8C=E5=AE=A3=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Announce/AppAnnounce/components/Add.vue | 70 ++----------------- .../AppAnnounce/components/Detail.vue | 18 ++--- .../Announce/AppAnnounce/components/Phone.vue | 29 +++++++- 3 files changed, 39 insertions(+), 78 deletions(-) diff --git a/project/sass/apps/Announce/AppAnnounce/components/Add.vue b/project/sass/apps/Announce/AppAnnounce/components/Add.vue index 096af2b9..ae9a36b9 100644 --- a/project/sass/apps/Announce/AppAnnounce/components/Add.vue +++ b/project/sass/apps/Announce/AppAnnounce/components/Add.vue @@ -157,57 +157,7 @@
- - -
-
-
-
- -
-
-
-

{{ form.content }}

-
-
-
-
-
- -
-
-
- -
-
- -
-
-
-

{{ item.name }}

-

{{ item.fileSizeStr }}

-
- -
- -
-

{{ item.mpTitle }}

- -
- 小程序 - -
-
-
-
-
-
+
@@ -75,6 +86,22 @@ height: 647px; } + .close { + position: absolute; + top: 0; + right: 0; + z-index: 111; + width: 60px; + height: 60px; + cursor: pointer; + transition: all ease 0.5s; + transform: translate(100%, -50%); + + &:hover { + opacity: 0.7; + } + } + .phone-wrapper { position: absolute; left: 0; From 2831c8b5afb12973e6a5475d60507083e284ee6f Mon Sep 17 00:00:00 2001 From: aixianling Date: Tue, 26 Jul 2022 09:34:00 +0800 Subject: [PATCH 086/381] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=85=BC=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/router/axios.js | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/examples/router/axios.js b/examples/router/axios.js index 5e39299f..3aa1771f 100644 --- a/examples/router/axios.js +++ b/examples/router/axios.js @@ -3,7 +3,7 @@ import {Message} from 'element-ui' let baseURLs = { production: "/", - development: '/saas' + development: '/lan' } instance.defaults.baseURL = baseURLs[process.env.NODE_ENV] instance.interceptors.request.use(config => { @@ -15,15 +15,13 @@ instance.interceptors.request.use(config => { config.baseURL = "/saas" } else if (/\/xiushan/.test(location.pathname)) { config.baseURL = "/xsjr" - config.url = config.url.replace(/(app|auth|admin)\//, "") } else if (/project\/oms/.test(location.pathname)) { config.baseURL = "/omsapi" - config.url = config.url.replace(/(app|auth|admin)\//, "") } else if (/#url-/.test(location.hash)) { config.baseURL = location.hash.replace(/#url-/, '/') - if (["/xsjr", "/omsapi"].includes(config.baseURL)) { - config.url = config.url.replace(/(app|auth|admin)\//, "") - } + } + if (["/xsjr", "/omsapi"].includes(config.baseURL)) { + config.url = config.url.replace(/(app|auth|admin)\//, "") } return config }, error => Message.error(error)) From d5a20de52b9072f728d13f779e5fc9f3e29f8559 Mon Sep 17 00:00:00 2001 From: yanran200730 Date: Tue, 26 Jul 2022 09:43:18 +0800 Subject: [PATCH 087/381] bug --- .../Announce/AppAnnounce/components/Add.vue | 214 ------------------ .../AppAnnounce/components/Detail.vue | 7 +- .../Announce/AppAnnounce/components/List.vue | 28 ++- 3 files changed, 31 insertions(+), 218 deletions(-) diff --git a/project/sass/apps/Announce/AppAnnounce/components/Add.vue b/project/sass/apps/Announce/AppAnnounce/components/Add.vue index ae9a36b9..cb466f0a 100644 --- a/project/sass/apps/Announce/AppAnnounce/components/Add.vue +++ b/project/sass/apps/Announce/AppAnnounce/components/Add.vue @@ -722,220 +722,6 @@ .right { position: sticky; top: 0; - - .phone { - position: absolute; - left: 13px; - top: 4px; - z-index: 1; - width: 314px; - height: 647px; - } - - .phone-wrapper { - position: absolute; - left: 0; - top: 0; - z-index: 2; - width: 338px; - height: 675px; - } - - .right-content { - position: relative; - z-index: 11; - height: 100%; - overflow-y: auto; - - .msg-item { - display: flex; - margin-bottom: 20px; - - .msg-item__left { - width: 42px; - height: 42px; - margin-right: 16px; - background: #2891FF; - border-radius: 4px; - flex-shrink: 1; - overflow: hidden; - - img { - width: 100%; - height: 100%; - } - } - - .msg-item__right { - position: relative; - flex: 1; - - &::after { - position: absolute; - top: 16px; - left: 0; - z-index: 1; - width: 0; - height: 0; - border-right: 6px solid #fff; - border-left: 6px solid transparent; - border-bottom: 6px solid transparent; - border-top: 6px solid transparent; - content: " "; - transform: translate(-100%, 0%); - } - - &.left-border::after { - display: none; - } - - .msg-img img { - max-width: 206px; - max-height: 200px; - } - - .msg-video video { - max-width: 206px; - max-height: 200px; - } - - .msg-text { - max-width: 206px; - width: max-content; - line-height: 1.3; - padding: 12px; - background: #FFFFFF; - border-radius: 5px; - word-break: break-all; - font-size: 14px; - color: #222222; - } - - .msg-miniapp { - width: 206px; - padding: 0 12px; - text-align: justify; - font-size: 0; - background: #FFFFFF; - border-radius: 5px; - font-size: 14px; - color: #222222; - - h2 { - line-height: 1.2; - padding: 8px 0; - border-bottom: 1px solid #eee; - color: #222222; - font-size: 14px; - } - - img { - width: 100%; - height: 120px; - margin-bottom: 8px; - } - - .msg-bottom { - display: flex; - align-items: center; - line-height: 1; - padding: 4px 0; - border-top: 1px solid #eee; - - i { - margin-right: 4px; - font-size: 12px; - font-style: normal; - color: #999; - } - - img { - width: 16px; - height: 16px; - border-radius: 50%; - } - } - } - - .msg-file { - display: flex; - align-items: center; - width: 206px; - padding: 12px; - background: #FFFFFF; - border-radius: 5px; - - .msg-left { - flex: 1; - margin-right: 18px; - - h2 { - display: -webkit-box; - flex: 1; - line-height: 16px; - margin-bottom: 4px; - -webkit-box-orient: vertical; - -webkit-line-clamp: 1; - text-overflow: ellipsis; - overflow: hidden; - color: #222222; - font-size: 14px; - } - - p { - color: #888888; - font-size: 12px; - } - } - - img { - width: 44px; - height: 44px; - border-radius: 2px; - } - } - - .msg-link { - width: 206px; - height: 102px; - padding: 12px; - background: #FFFFFF; - border-radius: 5px; - - h2 { - margin-bottom: 4px; - color: #222222; - font-size: 14px; - font-weight: normal; - } - - .msg-right { - display: flex; - align-items: center; - - p { - display: -webkit-box; - flex: 1; - line-height: 16px; - margin-right: 10px; - -webkit-box-orient: vertical; - -webkit-line-clamp: 3; - text-overflow: ellipsis; - overflow: hidden; - color: #888; - font-size: 12px; - } - - img { - width: 50px; - height: 50px; - border-radius: 4px; - } - } - } - } - } - } } .AppAnnounceDetail-select { diff --git a/project/sass/apps/Announce/AppAnnounce/components/Detail.vue b/project/sass/apps/Announce/AppAnnounce/components/Detail.vue index e3c7a9d0..19fd807e 100644 --- a/project/sass/apps/Announce/AppAnnounce/components/Detail.vue +++ b/project/sass/apps/Announce/AppAnnounce/components/Detail.vue @@ -51,13 +51,16 @@

{{ content }}

-
-
+
+
{{ mapType(fileList[0].msgType) }}{{ fileList[0].mpTitle || fileList[0].name || fileList[0].linkTitle }} 等 {{ fileList.length }} 个附件
+
+ 暂无附件 +
预览消息
diff --git a/project/sass/apps/Announce/AppAnnounce/components/List.vue b/project/sass/apps/Announce/AppAnnounce/components/List.vue index e0ed899e..f711b551 100644 --- a/project/sass/apps/Announce/AppAnnounce/components/List.vue +++ b/project/sass/apps/Announce/AppAnnounce/components/List.vue @@ -77,9 +77,11 @@ @@ -164,6 +166,28 @@ }) }, + remindExamine (id) { + this.$confirm('确定催办该数据?').then(() => { + this.instance.post(`/app/appmasssendingtask/remindExamine?id=${id}`).then(res => { + if (res.code == 0) { + this.$message.success('催办成功!') + this.getList() + } + }) + }) + }, + + cancel (id) { + this.$confirm('确定撤回该数据?').then(() => { + this.instance.post(`/app/appmasssendingtask/cancel?id=${id}`).then(res => { + if (res.code == 0) { + this.$message.success('撤回成功!') + this.getList() + } + }) + }) + }, + remove(id) { this.$confirm('确定删除该数据?').then(() => { this.instance.post(`/app/appmasssendingtask/delete?ids=${id}`).then(res => { From d85ab06f68b5c55749410c58d9ece72ca963439b Mon Sep 17 00:00:00 2001 From: yanran200730 Date: Tue, 26 Jul 2022 15:09:39 +0800 Subject: [PATCH 088/381] =?UTF-8?q?=E9=83=AB=E9=83=BD=E5=A4=A7=E5=B1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- project/dv/apps/AppPdDv.vue | 17 ++++---- project/dv/apps/components/DonutChart.vue | 2 +- .../apps/Announce/AppAnnounce/AppAnnounce.vue | 4 +- .../Announce/AppAnnounce/components/Add.vue | 39 +++++++++++++++++-- 4 files changed, 49 insertions(+), 13 deletions(-) diff --git a/project/dv/apps/AppPdDv.vue b/project/dv/apps/AppPdDv.vue index 60deab01..8b8e83a7 100644 --- a/project/dv/apps/AppPdDv.vue +++ b/project/dv/apps/AppPdDv.vue @@ -141,12 +141,9 @@

网格动态

-
- 07/19 09:45 - 书院社区-张三 - 添加居民" - 蓝天白云 - "为好友 +
+ {{ item.createTime }} + {{ item.logDescription }}
@@ -261,7 +258,8 @@ tagInfo: {}, groupNumber: {}, replyPercentage: {}, - groupChatNumber: {} + groupChatNumber: {}, + dynamicList: [] } }, @@ -299,6 +297,11 @@ this.replyPercentage = res.data } }) + this.instance.post(`/app/appUserOperation/list?size=10000`).then(res => { + if (res.code === 0) { + this.dynamicList = res.data.records + } + }) this.instance.post(`/app/wxgroupstatistic/getGroupNumber`).then(res => { if (res.code === 0) { this.groupNumber = res.data['居民群统计'] diff --git a/project/dv/apps/components/DonutChart.vue b/project/dv/apps/components/DonutChart.vue index f9169642..dff376ad 100644 --- a/project/dv/apps/components/DonutChart.vue +++ b/project/dv/apps/components/DonutChart.vue @@ -2,7 +2,7 @@
- {{ ratio }}% + {{ ratio || 0 }}% {{ text }}
diff --git a/project/sass/apps/Announce/AppAnnounce/AppAnnounce.vue b/project/sass/apps/Announce/AppAnnounce/AppAnnounce.vue index 0019b70e..4de7e264 100644 --- a/project/sass/apps/Announce/AppAnnounce/AppAnnounce.vue +++ b/project/sass/apps/Announce/AppAnnounce/AppAnnounce.vue @@ -1,8 +1,8 @@ diff --git a/project/sass/apps/Announce/AppAnnounce/components/Add.vue b/project/sass/apps/Announce/AppAnnounce/components/Add.vue index cb466f0a..301d2b25 100644 --- a/project/sass/apps/Announce/AppAnnounce/components/Add.vue +++ b/project/sass/apps/Announce/AppAnnounce/components/Add.vue @@ -23,24 +23,29 @@
-
+
+
+ {{ item }} +
请选择
选择

消息预计送达居民群数:

- {{ form.filterCriteria.length }} + {{ groupLen }} @@ -315,13 +320,23 @@ taskTitle: '', examinesName: '' }, + girdNames: '', id: '', tagsList: [] } }, computed: { - ...mapState(['user']) + ...mapState(['user']), + + groupLen () { + let i = 0 + this.form.wxGroups.forEach(v => { + i = i + v.groupIds.split(',').length + }) + + return i + } }, created () { @@ -346,6 +361,10 @@ filterCriteria: res.data.filterCriteria.split(',') } + if (res.data.girdNames) { + this.girdNames = res.data.girdNames + } + this.dateForm.choiceTime = res.data.choiceTime if (res.data.examines && res.data.examines.length) { @@ -384,6 +403,10 @@ }, onScopeChange (e) { + this.form.filterCriteria = [] + this.form.wxGroups = [] + this.girdNames = '' + if (e === '0') { this.getWxGroups() } else { @@ -391,6 +414,12 @@ } }, + onPick (e) { + if (this.form.sendScope === '2' && e.length) { + this.girdNames = e.map(v => v.girdName) + } + }, + onSelcetChange (e) { if (e.length) { this.form.wxGroupsName = '1' @@ -535,6 +564,10 @@ confirm (sendType) { this.$refs.form.validate((valid) => { if (valid) { + if (!this.form.wxGroups.length) { + return this.$message.error('居民群数量不能为0') + } + if (sendType === 1 && !this.dateForm.choiceTime) { this.isShowDate = true return false From 4f357b1dd4177bbf9453ea9cebbca989f1124e4b Mon Sep 17 00:00:00 2001 From: yanran200730 Date: Tue, 26 Jul 2022 15:20:16 +0800 Subject: [PATCH 089/381] bug --- examples/router/axios.js | 2 +- project/sass/apps/Announce/AppAnnounce/components/Add.vue | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/router/axios.js b/examples/router/axios.js index 3aa1771f..10d3890f 100644 --- a/examples/router/axios.js +++ b/examples/router/axios.js @@ -3,7 +3,7 @@ import {Message} from 'element-ui' let baseURLs = { production: "/", - development: '/lan' + development: '/saas' } instance.defaults.baseURL = baseURLs[process.env.NODE_ENV] instance.interceptors.request.use(config => { diff --git a/project/sass/apps/Announce/AppAnnounce/components/Add.vue b/project/sass/apps/Announce/AppAnnounce/components/Add.vue index 301d2b25..93b52891 100644 --- a/project/sass/apps/Announce/AppAnnounce/components/Add.vue +++ b/project/sass/apps/Announce/AppAnnounce/components/Add.vue @@ -362,7 +362,7 @@ } if (res.data.girdNames) { - this.girdNames = res.data.girdNames + this.girdNames = res.data.girdNames.split(',') } this.dateForm.choiceTime = res.data.choiceTime From b2002d5989c97eb183bc14fc2de35ab7bb189460 Mon Sep 17 00:00:00 2001 From: yanran200730 Date: Tue, 26 Jul 2022 17:37:12 +0800 Subject: [PATCH 090/381] 30572 --- project/sass/apps/Announce/AppAnnounce/components/Detail.vue | 2 +- project/sass/apps/Announce/AppAnnounce/components/Phone.vue | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/project/sass/apps/Announce/AppAnnounce/components/Detail.vue b/project/sass/apps/Announce/AppAnnounce/components/Detail.vue index 19fd807e..60fb02e3 100644 --- a/project/sass/apps/Announce/AppAnnounce/components/Detail.vue +++ b/project/sass/apps/Announce/AppAnnounce/components/Detail.vue @@ -204,7 +204,7 @@ :current.sync="search2.current" :size.sync="search2.size" @getList="getGroupInfo"> - +