Blame view

admin-web-master/src/components/chakan/map.vue 17.9 KB
4373acf5   wesley88   1
1
2
  <template>
    <div>
9b392fc6   wesley88   1
3
      <div v-show="type == '1'">
4373acf5   wesley88   1
4
5
6
7
8
9
10
11
12
        <el-tabs v-model="xiangTab">
          <el-tab-pane label="资源信息" name="first">
            <div style="margin-top: 30px;" class="editcss">
              <TitleWithCircle title="基础信息" />
              <div style="padding: 20px;">
                <el-form :model="editbgid" ref="formInline" label-width="100px" class="demo-ruleForm">
                  <el-row :gutter="20">
                    <el-col :span="8">
                      <el-form-item label="广告位名称" prop="advertisingName">
a182f238   wesley88   1
13
                        <div class="duiqi">{{editbgid.advertisingName || '无'}}</div>
4373acf5   wesley88   1
14
15
16
17
                      </el-form-item>
                    </el-col>
                    <el-col :span="8">
                      <el-form-item label="广告位编号" prop="advertisingSpaceNumber">
a182f238   wesley88   1
18
                        <div class="duiqi">{{editbgid.advertisingSpaceNumber || '无'}}</div>
4373acf5   wesley88   1
19
20
21
22
                      </el-form-item>
                    </el-col>
                    <el-col :span="8">
                      <el-form-item label="广告位类型" prop="advertisingType">
a182f238   wesley88   1
23
                        <div class="duiqi">{{editbgid.advertisingType || '无'}}</div>
4373acf5   wesley88   1
24
25
26
                      </el-form-item>
                    </el-col>
                  </el-row>
a182f238   wesley88   1
27
                  <el-row :gutter="20" v-if="editbgid.advertisingType == '线上广告位'">
4373acf5   wesley88   1
28
                    <el-col :span="8">
a182f238   wesley88   1
29
30
                      <el-form-item label="所属端" prop="affiliation" >
                        <div class="duiqi">{{editbgid.affiliation || '无'}}</div>
4373acf5   wesley88   1
31
32
33
                      </el-form-item>
                    </el-col>
                    <el-col :span="8">
a182f238   wesley88   1
34
35
                      <el-form-item label="广告位数量" prop="advertisingNumber" >
                        <div class="duiqi">{{editbgid.advertisingNumber || '无'}}</div>
4373acf5   wesley88   1
36
37
38
                      </el-form-item>
                    </el-col>
                    <el-col :span="8">
a182f238   wesley88   1
39
40
                      <el-form-item label="广告尺寸" prop="dimensions">
                        <div class="duiqi">{{editbgid.dimensions || '无'}}</div>
4373acf5   wesley88   1
41
42
                      </el-form-item>
                    </el-col>
a182f238   wesley88   1
43
44
45
                    <el-col :span="8">
                      <el-form-item label="可上传大小" prop="size">
                        <div class="duiqi">{{editbgid.size || '无'}}</div>
4373acf5   wesley88   1
46
47
                      </el-form-item>
                    </el-col>
4373acf5   wesley88   1
48
                    <el-col :span="8">
a182f238   wesley88   1
49
50
                      <el-form-item label="播放时长" prop="playDuration">
                        <div class="duiqi">{{editbgid.playDuration || '无'}}</div>
4373acf5   wesley88   1
51
52
53
                      </el-form-item>
                    </el-col>
                    <el-col :span="8">
a182f238   wesley88   1
54
55
                      <el-form-item label="推送地址" prop="pushAddress">
                        <div class="duiqi">{{editbgid.pushAddress || '无'}}</div>
4373acf5   wesley88   1
56
57
                      </el-form-item>
                    </el-col>
a182f238   wesley88   1
58
59
                  </el-row>
                  <el-row :gutter="20" v-if="editbgid.advertisingType == '实体广告位'">
4373acf5   wesley88   1
60
                    <el-col :span="8">
a182f238   wesley88   1
61
62
                      <el-form-item label="设备类型" prop="deviceType" >
                        <div class="duiqi">{{editbgid.deviceType || '无'}}</div>
4373acf5   wesley88   1
63
64
                      </el-form-item>
                    </el-col>
a182f238   wesley88   1
65
66
67
                    <el-col :span="8">
                      <el-form-item label="设备大小" prop="equipmentSize" >
                        <div class="duiqi">{{editbgid.equipmentSize || '无'}}</div>
4373acf5   wesley88   1
68
69
                      </el-form-item>
                    </el-col>
a182f238   wesley88   1
70
71
72
                    <el-col :span="8">
                      <el-form-item label="广告尺寸" prop="dimensions">
                        <div class="duiqi">{{editbgid.dimensions || '无'}}</div>
4373acf5   wesley88   1
73
74
                      </el-form-item>
                    </el-col>
4373acf5   wesley88   1
75
                    <el-col :span="8">
a182f238   wesley88   1
76
77
                      <el-form-item label="广告材质" prop="advertisingMaterial">
                        <div class="duiqi">{{editbgid.advertisingMaterial || '无'}}</div>
4373acf5   wesley88   1
78
79
80
                      </el-form-item>
                    </el-col>
                  </el-row>
a182f238   wesley88   1
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
                  <el-form-item label="详细位置" prop="detailedLocation" v-if="editbgid.advertisingType == '实体广告位'">
                    <div class="duiqi">{{editbgid.detailedLocation || '无'}}</div>
                  </el-form-item>
                  <el-form-item label="地图标点" prop="mapPunctuation" v-if="editbgid.advertisingType == '实体广告位'">
                    <div style="width: 100%;height: 300px;">
                      <newmap :isx="false" :message="editbgid.mapPunctuation"></newmap>
                    </div>
                  </el-form-item>
                  <el-form-item label="位置示意图" prop="locationDiagram">
                    <img  v-for="item in editbgid.locationDiagram.split(',')" :src="$baseURL+item" alt="" style="width:140px;height:140px;margin-left: 15px;">
                  </el-form-item>
                  
                  <el-form-item label="备注信息" prop="memo" v-if="editbgid.advertisingType == '线上广告位'">
                    <div class="duiqi">{{editbgid.memo || '无'}}</div>
                  </el-form-item>
4373acf5   wesley88   1
96
                </el-form>
bdbe3660   wesley88   1
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
                <TitleWithCircle title="历史发布/下架记录" />
                <div style="padding: 20px;">
                  <el-table :data="datalistxsj"
                  :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"
                  tooltip-effect="dark custom-tooltip-effect">
                    <el-table-column label="类型" prop="type" >
                    </el-table-column>
                    <el-table-column label="操作时间" prop="operationTime" >
                    </el-table-column>
                    <el-table-column label="操作人" prop="operator">
                    </el-table-column>
                  </el-table>
                  <div style="display: flex;justify-content: space-between;" class="bom">
                    <div style="font-size: 14px;">共 <span style="color: #3F9B6A;">{{totalsxj}}</span> 项数据</div>
                    <el-pagination :current-page="pagequerysxj.pageNumber+1" :page-sizes="[10, 20, 50, 100]" :page-size="pagequerysxj.pageSize"
9b392fc6   wesley88   1
112
113
                      background small layout="prev, pager, next" :total="totalsxj" @size-change="handleCurrentChange"
                      @current-change="handleCurrentChange">
bdbe3660   wesley88   1
114
115
116
                    </el-pagination>
                  </div>
                </div>
4373acf5   wesley88   1
117
118
119
              </div>
            </div>
          </el-tab-pane>
d64cd58f   wesley88   上传验收小程序
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
          <el-tab-pane label="招商方案信息" name="second">
            <div style="margin-top: 30px;" class="editcss">
              <!-- <TitleWithCircle title="招商方案信息" />
              <div style="padding: 20px;">
                <el-table :data="datalist1"
                  :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"
                  tooltip-effect="dark custom-tooltip-effect">
                  <el-table-column label="招商方案名称" prop="planName" min-width="200">
                  </el-table-column>
                  <el-table-column label="创建日期" prop="createTime" min-width="100">
                  </el-table-column>
                </el-table>
              </div> -->
              <TitleWithCircle title="策略方案" />
              <div style="padding: 20px;">
                <el-table :data="datalist"
                  :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"
                  tooltip-effect="dark custom-tooltip-effect">
                  <el-table-column label="策略名称" prop="policyName" min-width="200">
                  </el-table-column>
                  <el-table-column label="适用资源" prop="applicableResources" min-width="100">
                  </el-table-column>
                  <el-table-column label="经营类型" prop="businessType" min-width="100">
  
                  </el-table-column>
                  <el-table-column label="租金价格" prop="rentalPrice" min-width="150">
                  </el-table-column>
                  <el-table-column label="租期" prop="leaseTerm" min-width="100">
                  </el-table-column>
                  <el-table-column label="是否出租" prop="isRental" min-width="100">
                    <template slot-scope="scope">
                      {{scope.row.isRental == '0'?'否':'是'}}
                    </template>
                  </el-table-column>
                  <el-table-column label="是否自营" prop="planningObjectives" min-width="100">
                    <template slot-scope="scope">
                      {{scope.row.isSelfOperated == '0'?'否':'是'}}
                    </template>
                  </el-table-column>
                </el-table>
4373acf5   wesley88   1
160
              </div>
d64cd58f   wesley88   上传验收小程序
161
162
            </div>
          </el-tab-pane>
9b392fc6   wesley88   1
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
          <el-tab-pane label="租赁记录" name="third" >
            <div style="margin-top: 30px;" class="editcss">
              <div class="titles">
                租赁记录
              </div>
              <div style="padding: 20px;">
                <el-table :data="datalistzl"
                  :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"
                  tooltip-effect="dark custom-tooltip-effect">
                  <el-table-column label="承租商家"  prop="tenantName"  show-overflow-tooltip>
  
                  </el-table-column>
                  <el-table-column label="租赁期限" prop="houseNumber"  show-overflow-tooltip>
                    <template slot-scope="scope">
                      {{scope.row.leaseStartDate}}至{{scope.row.contractTerminationDate}}
                    </template>
                  </el-table-column>
                  <!-- <el-table-column label="经营类型" prop="actualUsableArea"show-overflow-tooltip>
                  </el-table-column> -->
  
                  <el-table-column label="租金/周期" prop="head" show-overflow-tooltip>
                    <template slot-scope="scope">
                      ¥{{scope.row.contractAmount}}/{{scope.row.paymentCycle}}
                    </template>
                  </el-table-column>
                  <el-table-column label="当前状态" prop="publishStatus" show-overflow-tooltip>
                    <template slot-scope="scope">
                      <span v-if='scope.row.dataStatus == 1'>使用中</span>
                      <span v-else-if='scope.row.dataStatus == 2'>往期合同</span>
                      <span v-else-if='scope.row.dataStatus == 3'>已终止</span>
                      <span v-else>-</span>
                    </template>
                  </el-table-column>
  
                  <el-table-column label="操作" fixed="right">
                    <template slot-scope="scope">
                      <div @click="open(scope.row)" class="tableBtn greens">查看</div>
                    </template>
                  </el-table-column>
                </el-table>
                <div style="display: flex;justify-content: space-between;" class="bom">
                  <div style="font-size: 14px;">共 <span style="color: #3F9B6A;">{{totalzl}}</span> 项数据</div>
                  <el-pagination :current-page="pagequeryzl.pageNumber+1" :page-sizes="[10, 20, 50, 100]" :page-size="pagequeryzl.pageSize"
                    background small layout="prev, pager, next" :total="totalzl" @size-change="e => handleSizeChange(e,'pagequeryzl')"
                    @current-change="e=> handleCurrentChange(e,'pagequeryzl')">
                  </el-pagination>
                </div>
              </div>
            </div>
          </el-tab-pane>
4373acf5   wesley88   1
213
214
        </el-tabs>
      </div>
9b392fc6   wesley88   1
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
      <div v-show="type == '2'">
        <oneht ref="onhet"></oneht>
      </div>
      <div v-if="editbgid.publishStatus == '1' && issp == '2'">
        <TitleWithCircle title="审核情况"/>
        <div style="padding: 20px;">
          <el-form :model="editbgid" label-width="100px" class="demo-ruleForm">
            <el-form-item label="状态">
              <el-radio v-model="radio" label="2">通过</el-radio>
              <el-radio v-model="radio" label="3">不通过</el-radio>
            </el-form-item>
            <el-form-item label="审核意见">
              <el-input maxlength="200" show-word-limit rows="4" v-model="reviewComments" placeholder="请输入审核意见"
                type="textarea" />
            </el-form-item>
          </el-form>
        </div>
      </div>
      <div v-if="(editbgid.publishStatus == '2' || editbgid.publishStatus == '3') && xiangTab == 'first'">
        <TitleWithCircle title="审核结果"/>
        <div style="padding: 20px;">
          <el-form :model="editbgid" label-width="100px" class="demo-ruleForm">
            <el-form-item label="状态">
              <div class="duiqi">{{editbgid.publishStatus=='2'?'已发布':editbgid.publishStatus=='3'?'不通过':'无'}}</div>
            </el-form-item>
            <el-form-item label="审核意见">
              <div class="duiqi">{{editbgid.reviewComments || '无'}}</div>
            </el-form-item>
          </el-form>
        </div>
      </div>
4373acf5   wesley88   1
246
      <div>
9b392fc6   wesley88   1
247
248
        <el-button v-if="editbgid.publishStatus == '1' && issp == '2'" @click="minSev"
        style="background-color: #3F9B6A;color: #fff;">确定</el-button>
4373acf5   wesley88   1
249
250
251
252
253
254
255
256
        <el-button class="buttonHover"
          style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;margin-top: 20px;"
          @click="changetype">返回</el-button>
      </div>
    </div>
  </template>
  
  <script>
9b392fc6   wesley88   1
257
    import oneht from "@/components/chakan/oneht";
a182f238   wesley88   1
258
    import newmap from "@/components/newmap/index";
4373acf5   wesley88   1
259
260
    import MapXian from "@/components/MapContainer/MapXian";
    import TitleWithCircle from '@/components/top/index';
d64cd58f   wesley88   上传验收小程序
261
    import {
bdbe3660   wesley88   1
262
      cereBusinessOperationqueryByPage,
d64cd58f   wesley88   上传验收小程序
263
      cereResourceStrategylist,
9b392fc6   wesley88   1
264
265
      cereBusinessPlan,
      cereContractInformation,
d64cd58f   wesley88   上传验收小程序
266
    } from '@/api/newly';
9b392fc6   wesley88   1
267
268
269
    import {
      editList
    } from '@/api/map1.js';
4373acf5   wesley88   1
270
271
272
    export default {
      components: {
        TitleWithCircle,
a182f238   wesley88   1
273
        MapXian,
9b392fc6   wesley88   1
274
275
        newmap,
        oneht
4373acf5   wesley88   1
276
277
278
279
280
281
282
283
284
285
286
287
      },
      props: {
        leixing: {
          type: Boolean,
          default: true
        },
        editbgid: {
          type: Object,
          default: function() {
            return {};
          },
        },
9b392fc6   wesley88   1
288
289
290
291
292
293
        issp: {
          type: String,
          default: function() {
            return '1';
          },
        },
4373acf5   wesley88   1
294
295
296
      },
      data() {
        return {
9b392fc6   wesley88   1
297
298
299
300
301
302
303
304
305
306
          type: '1',
          totalzl:0,
          pagequeryzl:{
            pageNumber: 0,
            pageSize: 10,
            shopNumber: 'gg' + this.editbgid.id
          },
          datalistzl:[],
          reviewComments:'',
          radio: '2',
bdbe3660   wesley88   1
307
308
309
310
311
          datalistxsj:[],
          totalsxj:0,
          pagequerysxj:{
            pageNumber: 0,
            pageSize: 10,
9b392fc6   wesley88   1
312
            resourceId: 'gg' + this.editbgid.id
bdbe3660   wesley88   1
313
          },
4373acf5   wesley88   1
314
315
          xiangTab: 'first',
          list: [],
d64cd58f   wesley88   上传验收小程序
316
317
318
          parentMessage: {},
          datalist: [],
          datalist1:[]
4373acf5   wesley88   1
319
320
321
        }
      },
      created() {
d64cd58f   wesley88   上传验收小程序
322
323
324
325
326
        if(this.editbgid.id) {
          let c1 = {
            pageNumber: 0,
            pageSize: 10,
            resourcesId: 'gg' + this.editbgid.id
4373acf5   wesley88   1
327
          }
d64cd58f   wesley88   上传验收小程序
328
329
          cereResourceStrategylist(c1).then(res => {
            console.error(res)
a182f238   wesley88   1
330
331
332
333
            if (!Array.isArray(res.data)) {
              this.datalist = [];
              return;
            }
d64cd58f   wesley88   上传验收小程序
334
335
336
337
            this.datalist = res.data
          })
          cereBusinessPlan(c1).then(res => {
            console.error(res)
a182f238   wesley88   1
338
339
340
            if (!Array.isArray(res.data)) {
              this.datalist1 = [];
              return;
d64cd58f   wesley88   上传验收小程序
341
            }
a182f238   wesley88   1
342
            this.datalist1 = res.data
d64cd58f   wesley88   上传验收小程序
343
          })
bdbe3660   wesley88   1
344
          this.getAllxsj()
9b392fc6   wesley88   1
345
          this.getAllzl()
4373acf5   wesley88   1
346
        }
d64cd58f   wesley88   上传验收小程序
347
348
  
  
4373acf5   wesley88   1
349
350
351
352
353
      },
      computed: {
  
      },
      methods: {
9b392fc6   wesley88   1
354
355
356
357
358
        open(row) {
          console.error(row)
          this.xiangTab= 'first'
          this.type = '2'
          this.$refs.onhet.open(row)
bdbe3660   wesley88   1
359
        },
9b392fc6   wesley88   1
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
        minSev() {
          console.error({
            ...this.editbgid,
            'publishStatus': this.radio,
            reviewComments: this.reviewComments
          })
          // return
          editList({
            ...this.editbgid,
            'publishStatus': this.radio,
            reviewComments: this.reviewComments?this.reviewComments:null
          }).then(res => {
            console.error(res)
            if (res.code == 200) {
              this.$message({
                message: '处理成功',
                type: 'success'
              })
              this.editbgid.publishStatus = this.radio
              this.$emit('removeonaction', '1')
            } else {
              this.$message({
                message: '处理失败',
                type: 'error'
              })
            }
          })
        },
        handleCurrentChange(val,type) {
          this[type].pageNumber = val - 1
          if(type == 'pagequeryzl') {
            this.getAllzl()
          } else if(type == 'pagequerysxj') {
            this.getAllsxj()
          }
         
        },
        handleSizeChange(val,type) {
          this[type].pageSize = val
          this[type].pageNumber = 0
          if(type == 'pagequeryzl') {
            this.getAllzl()
          } else if(type == 'pagequerysxj') {
            this.getAllsxj()
          }
bdbe3660   wesley88   1
405
406
407
408
409
410
411
412
413
414
415
416
        },
        getAllxsj() {
          cereBusinessOperationqueryByPage(this.pagequerysxj).then(res => {
            console.error(res)
            if (!Array.isArray(res.data.content)) {
              this.datalistxsj = [];
              return;
            }
            this.datalistxsj = res.data.content
            this.totalsxj = res.data.totalElements
          })
        },
9b392fc6   wesley88   1
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
        getAllzl() {
          cereContractInformation(this.pagequeryzl).then(res => {
            console.error(res)
            if (!Array.isArray(res.data.content)) {
              this.datalistzl = [];
              return;
            }
            this.datalistzl = res.data.content
            this.totalzl = res.data.totalElements
          })
        },
        openfile(e) {
          if (e) {
            const fullUrl = e;
            try {
              window.open(fullUrl, '_blank'); // 在新标签页中打开文件
            } catch (error) {
              console.error('打开文件失败:', error);
            }
          } else {
            console.error('无文件可查看');
          }
        },
4373acf5   wesley88   1
440
        changetype() {
9b392fc6   wesley88   1
441
442
443
444
445
446
          this.xiangTab= 'first'
          if(this.type == '1'){
            this.$emit('removeonaction', '1')
          }else{
            this.type = '1'
          }
4373acf5   wesley88   1
447
448
449
450
451
452
453
454
455
456
457
458
459
        },
      }
    }
  </script>
  <style>
    .el-form-item__label {
      color: #a2a2a2;
    }
  
    .greens {
      color: #3F9B6A;
    }
  </style>