Commit 72e22e26b78a7b83ba61550607fe7a2445a3ec97

Authored by 杨鑫
1 parent a0c78b15

最新修改

admin-web-master/src/api/newly.js
1 import request from '@/utils/request' 1 import request from '@/utils/request'
2 // import request from '@/utils/request2' 2 // import request from '@/utils/request2'
  3 +// 广告位投放效果统计
  4 +export function selectByAdPlacementId(data) {
  5 + return request({
  6 + url: `/cereAdvertisingVisitLog/selectByAdPlacementId?adPlacementId=${data}`,
  7 + method: 'get',
  8 + data
  9 + })
  10 +}
  11 +// 广告位投放效果统计
  12 +export function selectByAdPlacementIdAndTime(data) {
  13 + return request({
  14 + url: '/cereAdvertisingVisitLog/selectByAdPlacementIdAndTime',
  15 + method: 'post',
  16 + data
  17 + })
  18 +}
  19 +// 广告位投放效果统计
  20 +export function selectByAdPlacementIdAndTimeAndHour(data) {
  21 + return request({
  22 + url: '/cereAdvertisingVisitLog/selectByAdPlacementIdAndTimeAndHour',
  23 + method: 'post',
  24 + data
  25 + })
  26 +}
3 // 资源数量增长趋势 27 // 资源数量增长趋势
4 export function resourceQuantityGrowth(data) { 28 export function resourceQuantityGrowth(data) {
5 return request({ 29 return request({
admin-web-master/src/components/add/addht.vue
@@ -465,11 +465,19 @@ import { @@ -465,11 +465,19 @@ import {
465 for (let index = 0; index < this.list1.length; index++) { 465 for (let index = 0; index < this.list1.length; index++) {
466 const element = this.list1[index]; 466 const element = this.list1[index];
467 // console.error({...element}) 467 // console.error({...element})
  468 +
468 if(element.type == '资源') { 469 if(element.type == '资源') {
  470 + console.log(element.value,'element.value')
469 if(element.value && typeof element.value == 'object') { 471 if(element.value && typeof element.value == 'object') {
470 - info['资源名称'] =''+ element.value.shopName?element.value.shopName:element.value.advertisingName?element.value.advertisingName:element.value.venueName?element.value.venueName:'暂无'  
471 - info['资源类型'] = ''+ element.value.shopName?'商铺':element.value.advertisingType?element.value.advertisingType:element.value.venueName?'场地':'暂无'  
472 - info['详细地址'] = element.value.detailedLocation?element.value.detailedLocation:'暂无' 472 + info['资源名称'] =element.value.shopName?element.value.shopName:element.value.advertisingName?element.value.advertisingName:element.value.venueName?element.value.venueName:'暂无'
  473 +
  474 + info['资源类型'] =element.value.shopName?'商铺':element.value.advertisingType?element.value.advertisingType:element.value.venueName?'场地':'暂无'
  475 + if(element.value.venueName){
  476 + info['详细地址'] ='暂无'
  477 + }else{
  478 + info['详细地址'] = element.value.detailedLocation?element.value.detailedLocation:'暂无'
  479 + }
  480 +
473 info['实际使用面积'] = element.value.actualArea?element.value.actualArea:element.value.actualUsableArea?element.value.actualUsableArea:'暂无' 481 info['实际使用面积'] = element.value.actualArea?element.value.actualArea:element.value.actualUsableArea?element.value.actualUsableArea:'暂无'
474 } else { 482 } else {
475 info['资源名称'] = '暂无' 483 info['资源名称'] = '暂无'
@@ -497,6 +505,7 @@ import { @@ -497,6 +505,7 @@ import {
497 } 505 }
498 506
499 } 507 }
  508 +
500 return info 509 return info
501 }, 510 },
502 async ylht(){ 511 async ylht(){
admin-web-master/src/components/chakan/map.vue
@@ -258,25 +258,25 @@ @@ -258,25 +258,25 @@
258 </div> 258 </div>
259 </div> 259 </div>
260 </el-tab-pane> 260 </el-tab-pane>
261 - <el-tab-pane label="投放效果" name="five"> 261 + <el-tab-pane label="投放效果" name="five" v-if="editbgid.advertisingType == '线上广告位'">
262 <el-descriptions class="margin-top" :column="3" border :labelStyle="labelStyle"> 262 <el-descriptions class="margin-top" :column="3" border :labelStyle="labelStyle">
263 <el-descriptions-item> 263 <el-descriptions-item>
264 <template slot="label"> 264 <template slot="label">
265 点击量 265 点击量
266 </template> 266 </template>
267 - 120 267 + {{msg.dianji}}
268 </el-descriptions-item> 268 </el-descriptions-item>
269 <el-descriptions-item> 269 <el-descriptions-item>
270 <template slot="label"> 270 <template slot="label">
271 高频时段 271 高频时段
272 </template> 272 </template>
273 - 18:00-23:00 273 + {{msg.hour}}
274 </el-descriptions-item> 274 </el-descriptions-item>
275 <el-descriptions-item> 275 <el-descriptions-item>
276 <template slot="label"> 276 <template slot="label">
277 - 平均点击价格 277 + 高峰时段访问量
278 </template> 278 </template>
279 - 279 + {{msg.count}}
280 </el-descriptions-item> 280 </el-descriptions-item>
281 281
282 282
@@ -338,7 +338,10 @@ @@ -338,7 +338,10 @@
338 cereResourceStrategylist, 338 cereResourceStrategylist,
339 cereBusinessPlan, 339 cereBusinessPlan,
340 cereContractInformation, 340 cereContractInformation,
341 - resourcesFindPlan 341 + resourcesFindPlan,
  342 + selectByAdPlacementId,
  343 + selectByAdPlacementIdAndTime,
  344 + selectByAdPlacementIdAndTimeAndHour
342 } from '@/api/newly'; 345 } from '@/api/newly';
343 import { 346 import {
344 editList 347 editList
@@ -404,7 +407,12 @@ @@ -404,7 +407,12 @@
404 labelStyle: { 407 labelStyle: {
405 width: '10%' 408 width: '10%'
406 }, 409 },
407 - shouldShowChart: false 410 + shouldShowChart: false,
  411 + msg:{
  412 + hour:'',
  413 + count:0,
  414 + dianji:0
  415 + }
408 } 416 }
409 }, 417 },
410 created() { 418 created() {
@@ -414,13 +422,22 @@ @@ -414,13 +422,22 @@
414 pageSize: 10, 422 pageSize: 10,
415 resourcesId: 'gg' + this.editbgid.id 423 resourcesId: 'gg' + this.editbgid.id
416 } 424 }
417 - cereResourceStrategylist(c1).then(res => {  
418 - console.error(res)  
419 - if (!Array.isArray(res.data)) {  
420 - this.datalist = [];  
421 - return;  
422 - }  
423 - this.datalist = res.data 425 + // cereResourceStrategylist(c1).then(res => {
  426 + // console.error(res)
  427 + // if (!Array.isArray(res.data)) {
  428 + // this.datalist = [];
  429 + // return;
  430 + // }
  431 + // this.datalist = res.data
  432 + // })
  433 + selectByAdPlacementId(this.editbgid.id).then(res => {
  434 + this.msg.dianji = res.data
  435 +
  436 + })
  437 +
  438 + selectByAdPlacementIdAndTimeAndHour({adPlacementId:this.editbgid.id}).then(res => {
  439 + this.msg.count = res.data.count
  440 + this.msg.hour = res.data.hour
424 }) 441 })
425 // cereBusinessPlan(c1).then(res => { 442 // cereBusinessPlan(c1).then(res => {
426 // console.error(res) 443 // console.error(res)
@@ -477,28 +494,32 @@ @@ -477,28 +494,32 @@
477 tabClick(val) { 494 tabClick(val) {
478 if (val.index == '3') { 495 if (val.index == '3') {
479 this.shouldShowChart = true 496 this.shouldShowChart = true
480 - this.$nextTick(() => {  
481 - const chartContainer = this.$refs.shop1ZX;  
482 - if (chartContainer) {  
483 - this.initChart();  
484 - } else {  
485 - console.log('图表容器元素未找到,尝试延迟初始化');  
486 - setTimeout(() => {  
487 -  
488 - if (chartContainer) {  
489 - this.initChart();  
490 - } else {  
491 - console.error('图表容器元素仍然未找到');  
492 - }  
493 - }, 100);  
494 - }  
495 - }); 497 + selectByAdPlacementIdAndTime({adPlacementId:this.editbgid.id}).then(res => {
  498 + this.$nextTick(() => {
  499 + const chartContainer = this.$refs.shop1ZX;
  500 + if (chartContainer) {
  501 + this.initChart(res.data);
  502 + } else {
  503 + console.log('图表容器元素未找到,尝试延迟初始化');
  504 + setTimeout(() => {
  505 +
  506 + if (chartContainer) {
  507 + this.initChart(res.data);
  508 + } else {
  509 + console.error('图表容器元素仍然未找到');
  510 + }
  511 + }, 100);
  512 + }
  513 + });
  514 +
  515 + })
  516 +
496 } else { 517 } else {
497 this.shouldShowChart = false 518 this.shouldShowChart = false
498 } 519 }
499 520
500 }, 521 },
501 - initChart() { 522 + initChart(datas) {
502 // 初始化 echarts 实例 523 // 初始化 echarts 实例
503 const chartDom = this.$refs.shop1ZX; 524 const chartDom = this.$refs.shop1ZX;
504 const myChart = echarts.init(chartDom) 525 const myChart = echarts.init(chartDom)
@@ -511,16 +532,15 @@ @@ -511,16 +532,15 @@
511 }, 532 },
512 xAxis: { 533 xAxis: {
513 type: 'category', 534 type: 'category',
514 - data: ['2023-11-26', '2023-11-27', '2023-11-28',  
515 - '2023-11-29', '2023-11-30', '2023-12-1', '2023-12-2'  
516 - ] 535 + data: datas.map(item => item.month),
517 }, 536 },
518 yAxis: { 537 yAxis: {
519 type: 'value' 538 type: 'value'
520 }, 539 },
521 series: [{ 540 series: [{
  541 + color:'#3F9B6A',
522 name: '销售量', 542 name: '销售量',
523 - data: [300, 500, 350, 300, 420, 600, 800], 543 + data: datas.map(item => item.count),
524 type: 'line', 544 type: 'line',
525 symbol: 'none' // 不显示数据点 545 symbol: 'none' // 不显示数据点
526 }] 546 }]
admin-web-master/src/router/index.js
@@ -880,7 +880,7 @@ const prefixRoutes = (routes, prefix) =&gt; { @@ -880,7 +880,7 @@ const prefixRoutes = (routes, prefix) =&gt; {
880 console.log(' process.env.NODE_ENV='+ process.env.NODE_ENV) 880 console.log(' process.env.NODE_ENV='+ process.env.NODE_ENV)
881 const createRouter = () => new Router({ 881 const createRouter = () => new Router({
882 base: process.env.NODE_ENV === 'production' ? '/cdwlMall/' : '/', 882 base: process.env.NODE_ENV === 'production' ? '/cdwlMall/' : '/',
883 - mode: process.env.NODE_ENV === 'production' ? 'history' : 'hash', // require service support 883 + mode: process.env.NODE_ENV === 'production' ? 'history' : 'history', // require service support
884 // base: '/', 884 // base: '/',
885 // mode: 'hash', 885 // mode: 'hash',
886 scrollBehavior: () => ({ 886 scrollBehavior: () => ({
admin-web-master/src/utils/request.js
@@ -22,7 +22,7 @@ if(host === &#39;localhost:8080&#39; || host === &#39;localhost:8081&#39; || host === &#39;localhost @@ -22,7 +22,7 @@ if(host === &#39;localhost:8080&#39; || host === &#39;localhost:8081&#39; || host === &#39;localhost
22 // baseURL = process.env.VUE_APP_DOMAIN_PREFIX_1; 22 // baseURL = process.env.VUE_APP_DOMAIN_PREFIX_1;
23 23
24 24
25 - baseURL = 'http://128.10.249.44:9003'; 25 + baseURL = 'http://128.10.249.39:9003';
26 26
27 27
28 } else { 28 } else {
@@ -57,6 +57,7 @@ service.interceptors.request.use( @@ -57,6 +57,7 @@ service.interceptors.request.use(
57 // config.headers['Content-Type'] = 'application/json; charset=UTF-8' 57 // config.headers['Content-Type'] = 'application/json; charset=UTF-8'
58 // config.headers['type'] = ' admin' 58 // config.headers['type'] = ' admin'
59 } 59 }
  60 + console.log(config)
60 return config 61 return config
61 }, 62 },
62 error => { 63 error => {
admin-web-master/src/views/advertisement/advertisingReview/advertisingReview.vue
@@ -321,6 +321,7 @@ @@ -321,6 +321,7 @@
321 type: 'success' 321 type: 'success'
322 }) 322 })
323 this.removeonaction('1') 323 this.removeonaction('1')
  324 +
324 } else { 325 } else {
325 this.$message({ 326 this.$message({
326 message: res.msg, 327 message: res.msg,
admin-web-master/src/views/detect/analyse.vue
@@ -24,15 +24,41 @@ @@ -24,15 +24,41 @@
24 </div> 24 </div>
25 </div> 25 </div>
26 </div> 26 </div>
27 - <div style="width: 100%;">  
28 - <div style="width: 46%;"> 27 + <div style="width: 100%;display: flex;margin-bottom: 20px;">
  28 + <div style="width: 50%;">
29 <div> 29 <div>
30 - <TitleWithCircle title="资源数量增长趋势" style="margin: 20px 0;" /> 30 + <TitleWithCircle title="资源数量增长趋势" style="margin: 10px 0;" />
31 </div> 31 </div>
32 <div> 32 <div>
33 <div ref="echarts1" style="width:100%;height: 400px;"></div> 33 <div ref="echarts1" style="width:100%;height: 400px;"></div>
34 </div> 34 </div>
35 </div> 35 </div>
  36 + <div style="width: 50%;">
  37 + <div>
  38 + <TitleWithCircle title="资源分布统计" style="margin: 10px 0;" />
  39 + </div>
  40 + <div>
  41 + <div ref="shop2TJ" style="width:100%;height: 400px;"></div>
  42 + </div>
  43 + </div>
  44 + </div>
  45 + <div style="width: 100%;display: flex;">
  46 + <div style="width: 50%;">
  47 + <div>
  48 + <TitleWithCircle title="资源情况占比" style="margin: 10px 0;" />
  49 + </div>
  50 + <div>
  51 + <div ref="zyzbTJ" style="width:100%;height: 400px;"></div>
  52 + </div>
  53 + </div>
  54 + <div style="width: 50%;">
  55 + <div>
  56 + <TitleWithCircle title="资源利用率占比" style="margin: 10px 0;" />
  57 + </div>
  58 + <div>
  59 + <div ref="zylhlTJ" style="width:100%;height: 400px;"></div>
  60 + </div>
  61 + </div>
36 </div> 62 </div>
37 </div> 63 </div>
38 </div> 64 </div>
@@ -67,6 +93,10 @@ @@ -67,6 +93,10 @@
67 startTime: "1990-09-11", 93 startTime: "1990-09-11",
68 endTime: "2024-11-09" 94 endTime: "2024-11-09"
69 }, 95 },
  96 + msgList:{
  97 + belongingGreenwaySection:'',
  98 + belongingParkTrail:''
  99 + },
70 formSel: { 100 formSel: {
71 101
72 } 102 }
@@ -93,50 +123,258 @@ @@ -93,50 +123,258 @@
93 }, 123 },
94 methods: { 124 methods: {
95 initecharts1(datas) { 125 initecharts1(datas) {
96 - console.error(datas)  
97 - let allx = []  
98 - let list1 = {  
99 - cent:[],  
100 - name:'商铺资源',  
101 - }  
102 - for (let index = 0; index < datas.shopTrend.length; index++) {  
103 - const element = datas.shopTrend[index];  
104 - allx.push(element.trendDate)  
105 - list1.cent.push(element.trendQuantity)  
106 - }  
107 let Dom = this.$refs.echarts1 126 let Dom = this.$refs.echarts1
108 let myChart = echarts.init(Dom); 127 let myChart = echarts.init(Dom);
109 - let option = {  
110 - grid: {  
111 - top: '3%',  
112 - left: '6%',  
113 - right: '6%',  
114 - bottom: '6%',  
115 - },  
116 - xAxis: {  
117 - type: 'category',  
118 - boundaryGap: false,  
119 - data: allx  
120 - },  
121 - yAxis: {  
122 - type: 'value'  
123 - },  
124 - series: [  
125 - {  
126 - name: list1.name,  
127 - type: 'line',  
128 - stack: 'Total',  
129 - data: list1.cent  
130 - },  
131 -  
132 - ]  
133 - }; 128 + // 提取所有日期
  129 + const allDates = [];
  130 + Object.values(datas).forEach(trend => {
  131 + trend.forEach(item => {
  132 + if (!allDates.includes(item.trendDate)) {
  133 + allDates.push(item.trendDate);
  134 + }
  135 + });
  136 + });
  137 + allDates.sort();
  138 +
  139 + // 提取每条折线的数据
  140 + const shopData =datas.shopTrend.map(item => item.trendQuantity);
  141 + const venueData = datas.venueTrend.map(item => item.trendQuantity);
  142 + const advertisingData = datas.advertisingTrend.map(item => item.trendQuantity);
  143 + const greenwayData = datas.greenwayTrend.map(item => item.trendQuantity);
  144 +
  145 + const option = {
  146 + tooltip: {
  147 + trigger: 'axis'
  148 + },
  149 + legend: {
  150 + data: ['商铺资源增长趋势', '场地资源增长趋势', '广告位资源增长趋势', '总资源增长趋势'],
  151 +
  152 + },
  153 + xAxis: {
  154 + type: 'category',
  155 + data: allDates
  156 + },
  157 + yAxis: {
  158 + type: 'value'
  159 + },
  160 + color: ['#4A90E2', '#37c954', '#F7C153', '#7a69d8'], // 使用浅色系颜色
  161 + series: [
  162 + {
  163 + name: '商铺资源增长趋势',
  164 + type: 'line',
  165 + data: shopData
  166 + },
  167 + {
  168 + name: '场地资源增长趋势',
  169 + type: 'line',
  170 + data: venueData
  171 + },
  172 + {
  173 + name: '广告位资源增长趋势',
  174 + type: 'line',
  175 + data: advertisingData
  176 + },
  177 + {
  178 + name: '总资源增长趋势',
  179 + type: 'line',
  180 + data: greenwayData
  181 + }
  182 + ]
  183 + };
  184 +
134 option && myChart.setOption(option); 185 option && myChart.setOption(option);
  186 + window.addEventListener('resize', function() {
  187 + myChart.resize();
  188 + })
  189 + },
  190 + initecharts2(val) {
  191 + // 获取图表容器的 DOM 元素
  192 + const chartDom = this.$refs.shop2TJ
  193 + // 初始化 ECharts 实例
  194 + const myChart = echarts.init(chartDom);
  195 +
  196 + // 处理数据
  197 + const processedData = [
  198 + { name: '商铺分布占比', value: val.shopCount },
  199 + { name: '场地分布占比', value: val.vendorCount },
  200 + { name: '广告位分布占比', value: val.advertisingCount }
  201 + ];
  202 + const option = {
  203 + tooltip: {
  204 + trigger: 'axis',
  205 + axisPointer: {
  206 + type: 'shadow'
  207 + },
  208 + formatter: function (params) {
  209 + return `${params[0].name}: ${params[0].value}%`;
  210 + }
  211 + },
  212 + xAxis: {
  213 + type: 'category',
  214 + data: processedData.map(item => item.name)
  215 + },
  216 + yAxis: {
  217 + type: 'value',
  218 + name: '分布占比(%)',
  219 + axisLabel: {
  220 + formatter: '{value}%'
  221 + }
  222 + },
  223 + series: [
  224 + {
  225 + name: '资源分布',
  226 + type: 'bar',
  227 + data: processedData.map(item => item.value),
  228 + itemStyle: {
  229 + color: function (params) {
  230 + const colors = ['#3F7BC5', '#3F9B6A', '#F7C153'];
  231 + return colors[params.dataIndex % colors.length];
  232 + }
  233 + }
  234 + }
  235 + ]
  236 + };
  237 +
  238 + // 使用刚指定的配置项和数据显示图表
  239 + option && myChart.setOption(option)
  240 + window.addEventListener('resize', function() {
  241 + myChart.resize();
  242 + })
  243 + },
  244 + initecharts3(val) {
  245 + // 获取图表容器的 DOM 元素
  246 + const chartDom = this.$refs.zyzbTJ
  247 + // 初始化 ECharts 实例
  248 + const myChart = echarts.init(chartDom);
  249 +
  250 + // 统计不同发布状态的总数
  251 + const statusCountMap = {
  252 + 0: 0,
  253 + 1: 0,
  254 + 2: 0,
  255 + 4: 0
  256 + };
  257 +
  258 + Object.values(val).forEach(resourceType => {
  259 + resourceType.forEach(item => {
  260 + statusCountMap[item.publishStatus] += item.statusCount;
  261 + });
  262 + });
  263 +
  264 + const statusLabels = {
  265 + 0: '待发布',
  266 + 1: '待审核',
  267 + 2: '已发布',
  268 + 4: '已租赁'
  269 + };
  270 +
  271 + const chartData = Object.keys(statusCountMap).map(status => ({
  272 + name: statusLabels[status],
  273 + value: statusCountMap[status]
  274 + }));
  275 +
  276 + const option = {
  277 + tooltip: {
  278 + trigger: 'item',
  279 + formatter: '{b}: {c}%'
  280 + },
  281 + legend: {
  282 + orient: 'horizontal', // 横向展示
  283 + left: 'center', // 居中显示
  284 + data: chartData.map(item => item.name)
  285 + },
  286 + series: [
  287 + {
  288 + color: ['#F7C153', '#3F7BC5', '#3F9B6A','#904bf7'],
  289 + name: '发布状态',
  290 + type: 'pie',
  291 + radius: '50%',
  292 + data: chartData,
  293 + label: {
  294 + formatter: '{b}: {d}%'
  295 + }
  296 + }
  297 + ]
  298 + };
  299 + // 使用刚指定的配置项和数据显示图表
  300 + option && myChart.setOption(option)
  301 + window.addEventListener('resize', function() {
  302 + myChart.resize();
  303 + })
  304 + },
  305 + initecharts4(val) {
  306 + // 获取图表容器的 DOM 元素
  307 + const chartDom = this.$refs.zylhlTJ
  308 + // 初始化 ECharts 实例
  309 + const myChart = echarts.init(chartDom);
  310 +
  311 + // 处理数据
  312 + const processedData = [
  313 + { name: '商铺', value: val.shop },
  314 + { name: '场地', value: val.venue },
  315 + { name: '广告位', value: val.adv }
  316 + ];
  317 +
  318 + const option = {
  319 + title: [
  320 + {
  321 + text: `已发布总数:${val.total}`,
  322 + left: 'center',
  323 + top: 'center',
  324 + textStyle: {
  325 + fontSize: 14,
  326 + fontWeight: 'bold'
  327 + }
  328 + }
  329 + ],
  330 + tooltip: {
  331 + trigger: 'item',
  332 + formatter: function (params) {
  333 + return `${params.name}: ${params.value}%`;
  334 + }
  335 + },
  336 + legend: {
  337 + orient: 'horizontal', // 横向展示
  338 + left: 'center', // 居中显示
  339 + data: processedData.map(item => item.name)
  340 + },
  341 + series: [
  342 + {
  343 + color: ['#F7C153', '#3F7BC5', '#3F9B6A'],
  344 + name: '资源分布',
  345 + type: 'pie',
  346 + radius: ['40%', '60%'],
  347 + avoidLabelOverlap: false,
  348 + label: {
  349 + show: true,
  350 + position: 'outside',
  351 + formatter: '{b}: {c}%'
  352 + },
  353 + labelLine: {
  354 + show: true
  355 + },
  356 + data: processedData
  357 + },
  358 +
  359 + ]
  360 + };
  361 + // 使用刚指定的配置项和数据显示图表
  362 + option && myChart.setOption(option)
  363 + window.addEventListener('resize', function() {
  364 + myChart.resize();
  365 + })
135 }, 366 },
136 async getAll() { 367 async getAll() {
137 const res1 = await resourceQuantityGrowth({...this.pageindex}) 368 const res1 = await resourceQuantityGrowth({...this.pageindex})
138 - console.log(res1.data) 369 + const res2 = await resourceDistributionStatistics({...this.msgList})
  370 + const res3 = await resourceSituationProportion()
  371 +
  372 + const res4 = await resourceUtilizationProportion()
  373 +
139 this.initecharts1(res1.data) 374 this.initecharts1(res1.data)
  375 + this.initecharts2(res2.data)
  376 + this.initecharts3(res3.data)
  377 + this.initecharts4(res4.data)
140 }, 378 },
141 resetting() { 379 resetting() {
142 let today = new Date(); 380 let today = new Date();
@@ -157,15 +395,7 @@ @@ -157,15 +395,7 @@
157 startTime: this.FormTime[0], 395 startTime: this.FormTime[0],
158 endTime: this.FormTime[1] 396 endTime: this.FormTime[1]
159 } 397 }
160 - const res = await statistical(Msg)  
161 - this.charDam(res.data.seekingIntentionStatistics)  
162 - this.charDam2(res.data.seekingIntentionStatistics)  
163 - this.charDam6(res.data.contractTrend)  
164 - this.charDam7(res.data.basicQueryTrends)  
165 - let trends = [...res.data.shopTrend, ...res.data.venueTrend, ...res.data.advertisingTrend]  
166 -  
167 - this.charDam1(trends)  
168 - this.charDam3(trends) 398 +
169 399
170 }, 400 },
171 async gitOut() { 401 async gitOut() {
admin-web-master/src/views/detect/information/index.vue
@@ -195,7 +195,7 @@ @@ -195,7 +195,7 @@
195 }, 195 },
196 tableData: [], 196 tableData: [],
197 total: 0, 197 total: 0,
198 - onaction: '2', 198 + onaction: '1',
199 formInline: {}, 199 formInline: {},
200 } 200 }
201 }, 201 },
admin-web-master/src/views/serve/salesReport.vue
@@ -93,7 +93,8 @@ @@ -93,7 +93,8 @@
93 93
94 </div> 94 </div>
95 </div> 95 </div>
96 - 96 +<iframe src="http://localhost:9528/investigation/wenjuanList?token=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX25hbWUiOiIxODEwODE0Mzk0NSIsImp0aSI6Imt3Z1c4aU96NkVtTFZsNWg0UWdORF9aUFBRRSIsImNsaWVudF9pZCI6ImNiOGYxNDE2M2QxYzExZWM5NmU4MDBlMDRjMzEwMjUzIiwic2NvcGUiOlsiZ2V0X3VzZXJfaW5mbyJdfQ.T1zOJ9N78NJ01yW0C7Kv7QdgqDoLGt4EC4XoZ76jnocIGAgH30gFqI6o-dbQuSYeXGmgTfGfbqSINUksP91GEsEHpJK_knLrmpfHTMf7gtfzx8nIsRQLtf_GPZbUn3hoWnHpEuhH5c__3KEdVaruOZDxrevHqO7IfFRjp3giw19n0ymmDDmvtCidtrVM4XvyQEHTQ9iikWaAqW3W582MEh1GsIBh5S2fqBU_h6vc5q4OIFyQeNb-tEhcMb0gEY3rxbukdCKP3pgAZeZtFYpWn4MY8W4CZeRU9A6JcU8pFNj0Ar8zrveLrx0Oh3FRcNADsx0nUA4dXPvERnEMAZpDOQ" ref="iframe" frameborder="0" width="100%" height="700px" />
  97 +<!-- <iframe v-if="show" src="https://zhgw-uat.028wlkj.com/cdwlMall/investigation/wenjuanList?token=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX25hbWUiOiIxODEwODE0Mzk0NSIsImp0aSI6Imt3Z1c4aU96NkVtTFZsNWg0UWdORF9aUFBRRSIsImNsaWVudF9pZCI6ImNiOGYxNDE2M2QxYzExZWM5NmU4MDBlMDRjMzEwMjUzIiwic2NvcGUiOlsiZ2V0X3VzZXJfaW5mbyJdfQ.T1zOJ9N78NJ01yW0C7Kv7QdgqDoLGt4EC4XoZ76jnocIGAgH30gFqI6o-dbQuSYeXGmgTfGfbqSINUksP91GEsEHpJK_knLrmpfHTMf7gtfzx8nIsRQLtf_GPZbUn3hoWnHpEuhH5c__3KEdVaruOZDxrevHqO7IfFRjp3giw19n0ymmDDmvtCidtrVM4XvyQEHTQ9iikWaAqW3W582MEh1GsIBh5S2fqBU_h6vc5q4OIFyQeNb-tEhcMb0gEY3rxbukdCKP3pgAZeZtFYpWn4MY8W4CZeRU9A6JcU8pFNj0Ar8zrveLrx0Oh3FRcNADsx0nUA4dXPvERnEMAZpDOQ" ref="iframe" frameborder="0" width="100%" height="700px" /> -->
97 </div> 98 </div>
98 </template> 99 </template>
99 100
@@ -117,7 +118,7 @@ export default { @@ -117,7 +118,7 @@ export default {
117 pageSize:10, 118 pageSize:10,
118 total: 0, 119 total: 0,
119 flag: false, 120 flag: false,
120 - tableData:[] 121 + tableData:[],
121 } 122 }
122 }, 123 },
123 computed: {}, 124 computed: {},
ceres-uniapp-master/components/canvasShow/basics/banner.vue
1 <template> 1 <template>
2 <div class="banner" :class="'terminal' + terminal"> 2 <div class="banner" :class="'terminal' + terminal">
3 <swiper class="swiper" :circular="true" :indicator-dots="false" :autoplay="true" :style="{'height':bannerHeight + 'rpx'}" @change="swiperChange"> 3 <swiper class="swiper" :circular="true" :indicator-dots="false" :autoplay="true" :style="{'height':bannerHeight + 'rpx'}" @change="swiperChange">
4 - <swiper-item class="banner-item" v-for="(item,index) in bannerList" :key="index" :style="{backgroundImage: 'url('+item.imageUrl+')'}" @click="jumpLink(item.jumpUrl)">  
5 - <div class="a-link" @click="jumpLink(item.jumpUrl)"><img class="img" :src="item.imageUrl" v-show="item.imageUrl" mode="widthFix"></div> 4 + <swiper-item class="banner-item" v-for="(item,index) in bannerList" :key="index" :style="{backgroundImage: 'url('+item.imageUrl+')'}" @click="jumpLink(item.jumpUrl,item.id)">
  5 + <div class="a-link" @click="jumpLink(item.jumpUrl,item.id)"><img class="img" :src="item.imageUrl" v-show="item.imageUrl" mode="widthFix"></div>
6 </swiper-item> 6 </swiper-item>
7 </swiper> 7 </swiper>
8 <view class="swiper-dots" v-if="bannerList && bannerList.length > 1"> 8 <view class="swiper-dots" v-if="bannerList && bannerList.length > 1">
@@ -73,14 +73,32 @@ @@ -73,14 +73,32 @@
73 // } 73 // }
74 // }, 74 // },
75 methods:{ 75 methods:{
76 - jumpLink(urls){ 76 + getCurrentTime() {
  77 + const now = new Date();
  78 + const year = now.getFullYear();
  79 + const month = ('0' + (now.getMonth() + 1)).slice(-2);
  80 + const day = ('0' + now.getDate()).slice(-2);
  81 + const hours = ('0' + now.getHours()).slice(-2);
  82 + const minutes = ('0' + now.getMinutes()).slice(-2);
  83 + const seconds = ('0' + now.getSeconds()).slice(-2);
  84 +
  85 + return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
  86 + },
  87 + jumpLink(urls,ids){
  88 + let obj ={
  89 + adPlacementId:ids,
  90 + createdAt:this.getCurrentTime()
  91 + }
  92 + NET.request(API.bannerUpdete, obj, 'POST').then(res => {
  93 + })
77 if(urls){ 94 if(urls){
78 window.open(urls, '_blank'); 95 window.open(urls, '_blank');
79 - }else{  
80 - uni.navigateTo({  
81 - url: '/pages_category_page1/goodsModule/goodsList'  
82 - });  
83 } 96 }
  97 + // else{
  98 + // uni.navigateTo({
  99 + // url: '/pages_category_page1/goodsModule/goodsList'
  100 + // });
  101 + // }
84 102
85 103
86 // uni.navigateBack({ 104 // uni.navigateBack({
ceres-uniapp-master/components/canvasShow/config/api.js
@@ -10,6 +10,7 @@ const BASEURL = (process.env.NODE_ENV === &#39;production&#39;) ? DOMAIN_PREFIX : &#39;https @@ -10,6 +10,7 @@ const BASEURL = (process.env.NODE_ENV === &#39;production&#39;) ? DOMAIN_PREFIX : &#39;https
10 10
11 11
12 12
  13 +
13 export const api = { 14 export const api = {
14 // 画布模块 15 // 画布模块
15 fileUpload: BASEURL + '/file/upload', // 文件上传 16 fileUpload: BASEURL + '/file/upload', // 文件上传
ceres-uniapp-master/config/api.js
1 1
2 // const DOMAIN_PREFIXPING = 'https://jy.scjysm.asia:18086/cdwlMall/meserver/admin-server' 2 // const DOMAIN_PREFIXPING = 'https://jy.scjysm.asia:18086/cdwlMall/meserver/admin-server'
3 // const DOMAIN_PREFIX = 'https://jy.scjysm.asia:18086/cdwlMall/meserver/api' 3 // const DOMAIN_PREFIX = 'https://jy.scjysm.asia:18086/cdwlMall/meserver/api'
4 -// const TIAOZHUAN = 'https://jy.scjysm.asia:18086/cdwlMall/'  
5 -// const DOMAIN_PREFIXPING = 'http://128.10.249.26:9003'  
6 -// const DOMAIN_PREFIX = 'http://128.10.249.26:9007' 4 +const TIAOZHUAN = 'https://jy.scjysm.asia:18086/cdwlMall/'
  5 +const DOMAIN_PREFIXPING = 'http://128.10.249.39:9003'
  6 +const DOMAIN_PREFIX = 'http://128.10.249.41:9007'
7 // const DOMAIN_PREFIXPING = 'https://zhgw-uat.028wlkj.com/cdwlMall/meserver/admin-server' 7 // const DOMAIN_PREFIXPING = 'https://zhgw-uat.028wlkj.com/cdwlMall/meserver/admin-server'
8 // const DOMAIN_PREFIX = 'https://zhgw-uat.028wlkj.com/cdwlMall/meserver/api' 8 // const DOMAIN_PREFIX = 'https://zhgw-uat.028wlkj.com/cdwlMall/meserver/api'
9 // const TIAOZHUAN = 'https://zhgw-uat.028wlkj.com/cdwlMall/' 9 // const TIAOZHUAN = 'https://zhgw-uat.028wlkj.com/cdwlMall/'
10 10
11 11
12 -const host = `${window.location.protocol}//${window.location.host}`  
13 -const DOMAIN_PREFIXPING = `${host}/cdwlMall/meserver/admin-server`  
14 -const DOMAIN_PREFIX =`${host}/cdwlMall/meserver/api`  
15 -const TIAOZHUAN = `${host}/cdwlMall/` 12 +// const host = `${window.location.protocol}//${window.location.host}`
  13 +// const DOMAIN_PREFIXPING = `${host}/cdwlMall/meserver/admin-server`
  14 +// const DOMAIN_PREFIX =`${host}/cdwlMall/meserver/api`
  15 +// const TIAOZHUAN = `${host}/cdwlMall/`
16 16
17 17
18 18
@@ -345,5 +345,7 @@ module.exports = { @@ -345,5 +345,7 @@ module.exports = {
345 keSeverList:WX_API_BASE+ '/cereMessageCustomerServiceChat/user/list', 345 keSeverList:WX_API_BASE+ '/cereMessageCustomerServiceChat/user/list',
346 // 用户查看商家消息 346 // 用户查看商家消息
347 keSeverList:WX_API_BASE+ '/cereMessageCustomerServiceChat/user/getDetails', 347 keSeverList:WX_API_BASE+ '/cereMessageCustomerServiceChat/user/getDetails',
  348 + //轮播修改次数
  349 + bannerUpdete:WX_API_BASEPING+ '/cereAdvertisingVisitLog/create',
348 350
349 } 351 }
lvdao-miniapp/pages/business/businessDetail/businessDetail.vue
@@ -6,7 +6,7 @@ @@ -6,7 +6,7 @@
6 <view class="title">{{tableData.title}}</view> 6 <view class="title">{{tableData.title}}</view>
7 <view class="banner-info-top"> 7 <view class="banner-info-top">
8 <view class="times">{{tableData.createTime}}</view> 8 <view class="times">{{tableData.createTime}}</view>
9 - <view><u-icon name="eye"></u-icon>{{tableData.viewsNumber}}人</view> 9 + <view><u-icon name="eye"></u-icon>{{tableData.viewsNumber || 0}}人</view>
10 </view> 10 </view>
11 <view class="banner-info-item"> 11 <view class="banner-info-item">
12 <u-parse :html="tableData.content"></u-parse> 12 <u-parse :html="tableData.content"></u-parse>
lvdao-miniapp/pages/details/details.vue
@@ -153,7 +153,7 @@ @@ -153,7 +153,7 @@
153 <u-col span="6"> 153 <u-col span="6">
154 <view class="form-item"> 154 <view class="form-item">
155 <view class="label">负责人:</view> 155 <view class="label">负责人:</view>
156 - <text>{{tableData.belongingParkTrail || '无'}}</text> 156 + <text>{{tableData.head || '无'}}</text>
157 </view> 157 </view>
158 </u-col> 158 </u-col>
159 <u-col span="6"> 159 <u-col span="6">
@@ -165,7 +165,7 @@ @@ -165,7 +165,7 @@
165 <u-col span="6"> 165 <u-col span="6">
166 <view class="form-item"> 166 <view class="form-item">
167 <view class="label">联系方式:</view> 167 <view class="label">联系方式:</view>
168 - <text>{{tableData.belongingParkTrail || '无'}}</text> 168 + <text>{{tableData.phoneNumber || '无'}}</text>
169 </view> 169 </view>
170 </u-col> 170 </u-col>
171 <u-col span="12"> 171 <u-col span="12">
@@ -194,8 +194,8 @@ @@ -194,8 +194,8 @@
194 </view> 194 </view>
195 <view class="banner-item position" v-if="tableData.shopName"> 195 <view class="banner-item position" v-if="tableData.shopName">
196 <view class="banner-item-title">位置信息</view> 196 <view class="banner-item-title">位置信息</view>
197 - <view style="margin-top: 16rpx;">  
198 - <map style="width: 100%; height: 200rpx;" longitude="104.06730651855469" latitude="30.65681556429287" @click="gomapApp(latitude,longitude)"> 197 + <view style="margin-top: 16rpx;" @click="gomapApp(latitude,longitude)">
  198 + <map style="width: 100%; height: 200rpx;" longitude="104.06730651855469" latitude="30.65681556429287" >
199 <view class="position-info" > 199 <view class="position-info" >
200 <u-image :showLoading="true" :src="$imgUrl('/location-icon.png')" width="20rpx" 200 <u-image :showLoading="true" :src="$imgUrl('/location-icon.png')" width="20rpx"
201 height="20rpx"></u-image> 201 height="20rpx"></u-image>
@@ -400,6 +400,7 @@ @@ -400,6 +400,7 @@
400 uni.openLocation({ 400 uni.openLocation({
401 latitude: latitude, 401 latitude: latitude,
402 longitude: longitude, 402 longitude: longitude,
  403 + name:this.tableData.detailedLocation,
403 success: function() { 404 success: function() {
404 console.log('success'); 405 console.log('success');
405 } 406 }
lvdao-miniapp/pages/home/home.vue
@@ -16,8 +16,8 @@ @@ -16,8 +16,8 @@
16 <view class="banner" style="padding:0 20px;"> 16 <view class="banner" style="padding:0 20px;">
17 <swiper class="screen-swiper square-dot" indicator-dots="true" circular="true" autoplay="true" 17 <swiper class="screen-swiper square-dot" indicator-dots="true" circular="true" autoplay="true"
18 interval="5000" duration="500"> 18 interval="5000" duration="500">
19 - <swiper-item v-for="(item,index) in swiperList" :key="index">  
20 - <image :src="item.imageUrl" mode="aspectFill"></image> 19 + <swiper-item v-for="(item,index) in swiperList" :key="index" @click="jumpLink(item.jumpUrl,item.id)">
  20 + <image :src="item.imageUrl" mode="aspectFill" ></image>
21 <!-- <video src="{{item.url}}" autoplay loop muted show-play-btn="{{false}}" controls="{{false}}" objectFit="cover" wx:if="{{item.type=='video'}}"></video> --> 21 <!-- <video src="{{item.url}}" autoplay loop muted show-play-btn="{{false}}" controls="{{false}}" objectFit="cover" wx:if="{{item.type=='video'}}"></video> -->
22 </swiper-item> 22 </swiper-item>
23 </swiper> 23 </swiper>
@@ -632,9 +632,9 @@ @@ -632,9 +632,9 @@
632 // url: `/pages/procedureDetail/procedureDetail?item=${items}` 632 // url: `/pages/procedureDetail/procedureDetail?item=${items}`
633 // }) 633 // })
634 uni.setStorageSync('gghd', item); 634 uni.setStorageSync('gghd', item);
635 - let items = item 635 + let items = JSON.stringify(item)
636 uni.navigateTo({ 636 uni.navigateTo({
637 - url: `/pages/procedure/procedure?item=${items.id}` 637 + url: `/pages/procedure/procedure?item=${items}`
638 }) 638 })
639 639
640 }, 640 },
@@ -738,6 +738,32 @@ @@ -738,6 +738,32 @@
738 }) 738 })
739 } 739 }
740 }, 740 },
  741 + getCurrentTime() {
  742 + const now = new Date();
  743 + const year = now.getFullYear();
  744 + const month = ('0' + (now.getMonth() + 1)).slice(-2);
  745 + const day = ('0' + now.getDate()).slice(-2);
  746 + const hours = ('0' + now.getHours()).slice(-2);
  747 + const minutes = ('0' + now.getMinutes()).slice(-2);
  748 + const seconds = ('0' + now.getSeconds()).slice(-2);
  749 +
  750 + return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
  751 + },
  752 + jumpLink(urls,ids){
  753 + let obj ={
  754 + adPlacementId:ids,
  755 + createdAt:this.getCurrentTime()
  756 + }
  757 + this.$http.sendRequest('/cereAdvertisingVisitLog/create', 'POST', obj, 1).then(res => {
  758 + })
  759 +
  760 + if(urls){
  761 + uni.navigateTo({
  762 + url: `/pagesA/weball/web?url=${urls}`
  763 + })
  764 + }
  765 +
  766 + },
741 } 767 }
742 }; 768 };
743 </script> 769 </script>
lvdao-miniapp/pages/marketing/marketingDetail/marketingDetail.vue
@@ -5,7 +5,7 @@ @@ -5,7 +5,7 @@
5 <view class="title">{{tableData.title}}</view> 5 <view class="title">{{tableData.title}}</view>
6 <view class="banner-info-top"> 6 <view class="banner-info-top">
7 <view class="times">{{tableData.createdAt}}</view> 7 <view class="times">{{tableData.createdAt}}</view>
8 - <view><u-icon name="eye"></u-icon>{{tableData.viewsNumber}}人</view> 8 + <view><u-icon name="eye"></u-icon>{{tableData.viewsNumber || 0}}人</view>
9 </view> 9 </view>
10 <view class="banner-info-item"> 10 <view class="banner-info-item">
11 <u-parse :html="tableData.content"></u-parse> 11 <u-parse :html="tableData.content"></u-parse>
lvdao-miniapp/pages/procedure/procedure.vue
@@ -24,6 +24,9 @@ @@ -24,6 +24,9 @@
24 }, 24 },
25 onLoad(option){ 25 onLoad(option){
26 this.tableList = JSON.parse(decodeURIComponent(option.item)) 26 this.tableList = JSON.parse(decodeURIComponent(option.item))
  27 + uni.setNavigationBarTitle({
  28 + title: this.tableList.informationType
  29 + });
27 // console.error() 30 // console.error()
28 // this.tableList = uni.getStorageSync('gghd') 31 // this.tableList = uni.getStorageSync('gghd')
29 }, 32 },
lvdao-miniapp/pages/propertyPay/propertyPayList/propertyPayList.vue
@@ -310,8 +310,13 @@ @@ -310,8 +310,13 @@
310 // }) 310 // })
311 }, 311 },
312 async submit() { 312 async submit() {
313 -  
314 - // console.log(this.recordList) 313 + if(this.recordList.length == 0){
  314 + uni.showToast({
  315 + icon: 'none',
  316 + title: '请选择需要缴费的订单'
  317 + })
  318 + return
  319 + }
315 let c1 = [] 320 let c1 = []
316 for (let i = 0; i < this.recordList.length; i++) { 321 for (let i = 0; i < this.recordList.length; i++) {
317 if (this.recordList[i].isshowxz) { 322 if (this.recordList[i].isshowxz) {
lvdao-miniapp/pages/questionnaire/questionnaire.vue
@@ -73,13 +73,15 @@ @@ -73,13 +73,15 @@
73 title: '', 73 title: '',
74 pageNumber: 0, 74 pageNumber: 0,
75 pageSize: 10, 75 pageSize: 10,
76 - publishPort: '商家端' 76 + publishPort: '商家端',
  77 + reviewStatus:'3'
77 }, 78 },
78 tableData: [], 79 tableData: [],
79 pagesize: { 80 pagesize: {
80 pageNumber: 0, 81 pageNumber: 0,
81 pageSize: 10, 82 pageSize: 10,
82 - publishPort: '商家端' 83 + publishPort: '商家端',
  84 + reviewStatus:'3'
83 }, 85 },
84 imgurl:'' 86 imgurl:''
85 }; 87 };
lvdao-miniapp/pagesA/myZiyuan/myZiyuanQuit.vue
@@ -56,11 +56,17 @@ @@ -56,11 +56,17 @@
56 }; 56 };
57 }, 57 },
58 onLoad(option) { 58 onLoad(option) {
  59 + if(option.type == '1'){
  60 + uni.setNavigationBarTitle({
  61 + title: '申请续租'
  62 + });
  63 + }
59 if (option.ids) { 64 if (option.ids) {
60 this.ruleForm.contractId = Number(option.ids) 65 this.ruleForm.contractId = Number(option.ids)
61 } 66 }
62 if (option.type) { 67 if (option.type) {
63 this.ruleForm.contractType = option.type 68 this.ruleForm.contractType = option.type
  69 +
64 } 70 }
65 }, 71 },
66 onShow() {}, 72 onShow() {},