Commit 72e22e26b78a7b83ba61550607fe7a2445a3ec97

Authored by 杨鑫
1 parent a0c78b15

最新修改

admin-web-master/src/api/newly.js
1 1 import request from '@/utils/request'
2 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 28 export function resourceQuantityGrowth(data) {
5 29 return request({
... ...
admin-web-master/src/components/add/addht.vue
... ... @@ -465,11 +465,19 @@ import {
465 465 for (let index = 0; index < this.list1.length; index++) {
466 466 const element = this.list1[index];
467 467 // console.error({...element})
  468 +
468 469 if(element.type == '资源') {
  470 + console.log(element.value,'element.value')
469 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 481 info['实际使用面积'] = element.value.actualArea?element.value.actualArea:element.value.actualUsableArea?element.value.actualUsableArea:'暂无'
474 482 } else {
475 483 info['资源名称'] = '暂无'
... ... @@ -497,6 +505,7 @@ import {
497 505 }
498 506  
499 507 }
  508 +
500 509 return info
501 510 },
502 511 async ylht(){
... ...
admin-web-master/src/components/chakan/map.vue
... ... @@ -258,25 +258,25 @@
258 258 </div>
259 259 </div>
260 260 </el-tab-pane>
261   - <el-tab-pane label="投放效果" name="five">
  261 + <el-tab-pane label="投放效果" name="five" v-if="editbgid.advertisingType == '线上广告位'">
262 262 <el-descriptions class="margin-top" :column="3" border :labelStyle="labelStyle">
263 263 <el-descriptions-item>
264 264 <template slot="label">
265 265 点击量
266 266 </template>
267   - 120
  267 + {{msg.dianji}}
268 268 </el-descriptions-item>
269 269 <el-descriptions-item>
270 270 <template slot="label">
271 271 高频时段
272 272 </template>
273   - 18:00-23:00
  273 + {{msg.hour}}
274 274 </el-descriptions-item>
275 275 <el-descriptions-item>
276 276 <template slot="label">
277   - 平均点击价格
  277 + 高峰时段访问量
278 278 </template>
279   -
  279 + {{msg.count}}
280 280 </el-descriptions-item>
281 281  
282 282  
... ... @@ -338,7 +338,10 @@
338 338 cereResourceStrategylist,
339 339 cereBusinessPlan,
340 340 cereContractInformation,
341   - resourcesFindPlan
  341 + resourcesFindPlan,
  342 + selectByAdPlacementId,
  343 + selectByAdPlacementIdAndTime,
  344 + selectByAdPlacementIdAndTimeAndHour
342 345 } from '@/api/newly';
343 346 import {
344 347 editList
... ... @@ -404,7 +407,12 @@
404 407 labelStyle: {
405 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 418 created() {
... ... @@ -414,13 +422,22 @@
414 422 pageSize: 10,
415 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 442 // cereBusinessPlan(c1).then(res => {
426 443 // console.error(res)
... ... @@ -477,28 +494,32 @@
477 494 tabClick(val) {
478 495 if (val.index == '3') {
479 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 517 } else {
497 518 this.shouldShowChart = false
498 519 }
499 520  
500 521 },
501   - initChart() {
  522 + initChart(datas) {
502 523 // 初始化 echarts 实例
503 524 const chartDom = this.$refs.shop1ZX;
504 525 const myChart = echarts.init(chartDom)
... ... @@ -511,16 +532,15 @@
511 532 },
512 533 xAxis: {
513 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 537 yAxis: {
519 538 type: 'value'
520 539 },
521 540 series: [{
  541 + color:'#3F9B6A',
522 542 name: '销售量',
523   - data: [300, 500, 350, 300, 420, 600, 800],
  543 + data: datas.map(item => item.count),
524 544 type: 'line',
525 545 symbol: 'none' // 不显示数据点
526 546 }]
... ...
admin-web-master/src/router/index.js
... ... @@ -880,7 +880,7 @@ const prefixRoutes = (routes, prefix) =&gt; {
880 880 console.log(' process.env.NODE_ENV='+ process.env.NODE_ENV)
881 881 const createRouter = () => new Router({
882 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 884 // base: '/',
885 885 // mode: 'hash',
886 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 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 28 } else {
... ... @@ -57,6 +57,7 @@ service.interceptors.request.use(
57 57 // config.headers['Content-Type'] = 'application/json; charset=UTF-8'
58 58 // config.headers['type'] = ' admin'
59 59 }
  60 + console.log(config)
60 61 return config
61 62 },
62 63 error => {
... ...
admin-web-master/src/views/advertisement/advertisingReview/advertisingReview.vue
... ... @@ -321,6 +321,7 @@
321 321 type: 'success'
322 322 })
323 323 this.removeonaction('1')
  324 +
324 325 } else {
325 326 this.$message({
326 327 message: res.msg,
... ...
admin-web-master/src/views/detect/analyse.vue
... ... @@ -24,15 +24,41 @@
24 24 </div>
25 25 </div>
26 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 29 <div>
30   - <TitleWithCircle title="资源数量增长趋势" style="margin: 20px 0;" />
  30 + <TitleWithCircle title="资源数量增长趋势" style="margin: 10px 0;" />
31 31 </div>
32 32 <div>
33 33 <div ref="echarts1" style="width:100%;height: 400px;"></div>
34 34 </div>
35 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 62 </div>
37 63 </div>
38 64 </div>
... ... @@ -67,6 +93,10 @@
67 93 startTime: "1990-09-11",
68 94 endTime: "2024-11-09"
69 95 },
  96 + msgList:{
  97 + belongingGreenwaySection:'',
  98 + belongingParkTrail:''
  99 + },
70 100 formSel: {
71 101  
72 102 }
... ... @@ -93,50 +123,258 @@
93 123 },
94 124 methods: {
95 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 126 let Dom = this.$refs.echarts1
108 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 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 367 async getAll() {
137 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 374 this.initecharts1(res1.data)
  375 + this.initecharts2(res2.data)
  376 + this.initecharts3(res3.data)
  377 + this.initecharts4(res4.data)
140 378 },
141 379 resetting() {
142 380 let today = new Date();
... ... @@ -157,15 +395,7 @@
157 395 startTime: this.FormTime[0],
158 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 401 async gitOut() {
... ...
admin-web-master/src/views/detect/information/index.vue
... ... @@ -195,7 +195,7 @@
195 195 },
196 196 tableData: [],
197 197 total: 0,
198   - onaction: '2',
  198 + onaction: '1',
199 199 formInline: {},
200 200 }
201 201 },
... ...
admin-web-master/src/views/serve/salesReport.vue
... ... @@ -93,7 +93,8 @@
93 93  
94 94 </div>
95 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 98 </div>
98 99 </template>
99 100  
... ... @@ -117,7 +118,7 @@ export default {
117 118 pageSize:10,
118 119 total: 0,
119 120 flag: false,
120   - tableData:[]
  121 + tableData:[],
121 122 }
122 123 },
123 124 computed: {},
... ...
ceres-uniapp-master/components/canvasShow/basics/banner.vue
1 1 <template>
2 2 <div class="banner" :class="'terminal' + terminal">
3 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 6 </swiper-item>
7 7 </swiper>
8 8 <view class="swiper-dots" v-if="bannerList && bannerList.length > 1">
... ... @@ -73,14 +73,32 @@
73 73 // }
74 74 // },
75 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 94 if(urls){
78 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 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 10  
11 11  
12 12  
  13 +
13 14 export const api = {
14 15 // 画布模块
15 16 fileUpload: BASEURL + '/file/upload', // 文件上传
... ...
ceres-uniapp-master/config/api.js
1 1  
2 2 // const DOMAIN_PREFIXPING = 'https://jy.scjysm.asia:18086/cdwlMall/meserver/admin-server'
3 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 7 // const DOMAIN_PREFIXPING = 'https://zhgw-uat.028wlkj.com/cdwlMall/meserver/admin-server'
8 8 // const DOMAIN_PREFIX = 'https://zhgw-uat.028wlkj.com/cdwlMall/meserver/api'
9 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 345 keSeverList:WX_API_BASE+ '/cereMessageCustomerServiceChat/user/list',
346 346 // 用户查看商家消息
347 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 6 <view class="title">{{tableData.title}}</view>
7 7 <view class="banner-info-top">
8 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 10 </view>
11 11 <view class="banner-info-item">
12 12 <u-parse :html="tableData.content"></u-parse>
... ...
lvdao-miniapp/pages/details/details.vue
... ... @@ -153,7 +153,7 @@
153 153 <u-col span="6">
154 154 <view class="form-item">
155 155 <view class="label">负责人:</view>
156   - <text>{{tableData.belongingParkTrail || '无'}}</text>
  156 + <text>{{tableData.head || '无'}}</text>
157 157 </view>
158 158 </u-col>
159 159 <u-col span="6">
... ... @@ -165,7 +165,7 @@
165 165 <u-col span="6">
166 166 <view class="form-item">
167 167 <view class="label">联系方式:</view>
168   - <text>{{tableData.belongingParkTrail || '无'}}</text>
  168 + <text>{{tableData.phoneNumber || '无'}}</text>
169 169 </view>
170 170 </u-col>
171 171 <u-col span="12">
... ... @@ -194,8 +194,8 @@
194 194 </view>
195 195 <view class="banner-item position" v-if="tableData.shopName">
196 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 199 <view class="position-info" >
200 200 <u-image :showLoading="true" :src="$imgUrl('/location-icon.png')" width="20rpx"
201 201 height="20rpx"></u-image>
... ... @@ -400,6 +400,7 @@
400 400 uni.openLocation({
401 401 latitude: latitude,
402 402 longitude: longitude,
  403 + name:this.tableData.detailedLocation,
403 404 success: function() {
404 405 console.log('success');
405 406 }
... ...
lvdao-miniapp/pages/home/home.vue
... ... @@ -16,8 +16,8 @@
16 16 <view class="banner" style="padding:0 20px;">
17 17 <swiper class="screen-swiper square-dot" indicator-dots="true" circular="true" autoplay="true"
18 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 21 <!-- <video src="{{item.url}}" autoplay loop muted show-play-btn="{{false}}" controls="{{false}}" objectFit="cover" wx:if="{{item.type=='video'}}"></video> -->
22 22 </swiper-item>
23 23 </swiper>
... ... @@ -632,9 +632,9 @@
632 632 // url: `/pages/procedureDetail/procedureDetail?item=${items}`
633 633 // })
634 634 uni.setStorageSync('gghd', item);
635   - let items = item
  635 + let items = JSON.stringify(item)
636 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 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 769 </script>
... ...
lvdao-miniapp/pages/marketing/marketingDetail/marketingDetail.vue
... ... @@ -5,7 +5,7 @@
5 5 <view class="title">{{tableData.title}}</view>
6 6 <view class="banner-info-top">
7 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 9 </view>
10 10 <view class="banner-info-item">
11 11 <u-parse :html="tableData.content"></u-parse>
... ...
lvdao-miniapp/pages/procedure/procedure.vue
... ... @@ -24,6 +24,9 @@
24 24 },
25 25 onLoad(option){
26 26 this.tableList = JSON.parse(decodeURIComponent(option.item))
  27 + uni.setNavigationBarTitle({
  28 + title: this.tableList.informationType
  29 + });
27 30 // console.error()
28 31 // this.tableList = uni.getStorageSync('gghd')
29 32 },
... ...
lvdao-miniapp/pages/propertyPay/propertyPayList/propertyPayList.vue
... ... @@ -310,8 +310,13 @@
310 310 // })
311 311 },
312 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 320 let c1 = []
316 321 for (let i = 0; i < this.recordList.length; i++) {
317 322 if (this.recordList[i].isshowxz) {
... ...
lvdao-miniapp/pages/questionnaire/questionnaire.vue
... ... @@ -73,13 +73,15 @@
73 73 title: '',
74 74 pageNumber: 0,
75 75 pageSize: 10,
76   - publishPort: '商家端'
  76 + publishPort: '商家端',
  77 + reviewStatus:'3'
77 78 },
78 79 tableData: [],
79 80 pagesize: {
80 81 pageNumber: 0,
81 82 pageSize: 10,
82   - publishPort: '商家端'
  83 + publishPort: '商家端',
  84 + reviewStatus:'3'
83 85 },
84 86 imgurl:''
85 87 };
... ...
lvdao-miniapp/pagesA/myZiyuan/myZiyuanQuit.vue
... ... @@ -56,11 +56,17 @@
56 56 };
57 57 },
58 58 onLoad(option) {
  59 + if(option.type == '1'){
  60 + uni.setNavigationBarTitle({
  61 + title: '申请续租'
  62 + });
  63 + }
59 64 if (option.ids) {
60 65 this.ruleForm.contractId = Number(option.ids)
61 66 }
62 67 if (option.type) {
63 68 this.ruleForm.contractType = option.type
  69 +
64 70 }
65 71 },
66 72 onShow() {},
... ...