Commit 12472e3687e21e6103656e828eb088cdc018eea0

Authored by 李宇
2 parents 93c8bac5 cc312afb

Merge branch 'master' of http://39.98.150.180/webapp/GreenwayWeb

Showing 54 changed files with 3353 additions and 553 deletions
admin-web-master/src/api/inr.js
... ... @@ -28,3 +28,12 @@ export function tanDel(data) {
28 28 data
29 29 })
30 30 }
  31 +// 谈判列表导出
  32 +export function excelQueryByPage(data) {
  33 + return request({
  34 + url: '/cereNegotiationDetails/excelQueryByPage',
  35 + method: 'post',
  36 + data,
  37 + responseType:blob
  38 + })
  39 +}
... ...
admin-web-master/src/views/ipm/inr/index.vue
... ... @@ -626,24 +626,10 @@ const res = await tanGetAll(this.formSel)
626 626 await tanDel({id:item.id})
627 627 this.getAll()
628 628 },
629   - gitOut(){
630   - let add =[]
631   - this.tableData.map(item=>{
632   -
633   - let obj ={
634   - intentCustomerName:'',
635   - customerLevel:'',
636   - contactPhone:'',
637   - nextFollowUpStartTime:''
638   - }
639   - obj.intentCustomerName = item.cereFollowDetails.cereCustomerInfo.intentCustomerName
640   - obj.contactPhone = item.cereFollowDetails.cereCustomerInfo.contactPhone
641   - obj.customerLevel = item.cereFollowDetails.cereCustomerInfo.customerLevel
642   - obj.nextFollowUpStartTime = item.nextNegotiationStartTime
643   - add.push(obj)
644   -
645   - })
646   - },
  629 + // async gitOut(){
  630 + // await excelQueryByPage(this.pageindex)
  631 +
  632 + // },
647 633 }
648 634 }
649 635 </script>
... ...
wenjuan/.env.development
... ... @@ -3,12 +3,12 @@ ENV = &#39;development&#39;
3 3  
4 4 # base api
5 5 VUE_APP_BASE_API = '/dev-api'
6   -# VUE_APP_DOMAIN_PREFIX_1='http://192.168.2.133:9003'
7   -# VUE_APP_DOMAIN_PREFIX_2='http://192.168.2.133:9007'
  6 + VUE_APP_DOMAIN_PREFIX_1='http://192.168.2.7:9003'
  7 + VUE_APP_DOMAIN_PREFIX_2='http://192.168.2.7:9007'
8 8 # VUE_APP_DOMAIN_PREFIX_1='https://h5.028wlkj.com/cdwlMall/meserver/admin-server/'
9 9 # VUE_APP_DOMAIN_PREFIX_2='https://h5.028wlkj.com/cdwlMall/meserver/api'
10   - VUE_APP_DOMAIN_PREFIX_1='https://jy.scjysm.asia:18086/meserver/admin-server/'
11   - VUE_APP_DOMAIN_PREFIX_2='https://jy.scjysm.asia:18086/meserver/api'
  10 +# VUE_APP_DOMAIN_PREFIX_1='http://jy.scjysm.asia:18086/meserver/admin-server/'
  11 +# VUE_APP_DOMAIN_PREFIX_2='https://jy.scjysm.asia:18086/meserver/api'
12 12 # 开发环境
13 13 # 演示环境
14 14 # VUE_APP_DOMAIN_PREFIX = '/api'
... ...
yanshouban/src/api/activityBz.js
... ... @@ -205,3 +205,35 @@ export function copy(data) {
205 205 data
206 206 })
207 207 }
  208 +
  209 +
  210 +// 审核流程导出
  211 +export function excelQueryByPage(data) {
  212 + return request({
  213 + url: '/cereEventDetails/excelQueryByPage',
  214 + method: 'post',
  215 + data,
  216 + responseType: 'blob'
  217 + })
  218 +}
  219 +
  220 +// 导入
  221 +export function excelAdd(data) {
  222 + return request({
  223 + url: '/cereEventDetails/excelAdd',
  224 + method: 'post',
  225 + data,
  226 + headers: {
  227 + 'Content-type': 'multipart/form-data'
  228 + }
  229 + })
  230 +}
  231 +
  232 +// 效果评估
  233 +export function effectEvaluation(data) {
  234 + return request({
  235 + url: `/cereEventDetails/effectEvaluation/${data.id}`,
  236 + method: 'get',
  237 + data
  238 + })
  239 +}
... ...
yanshouban/src/api/business.js
... ... @@ -145,3 +145,16 @@ export function wordDelete(data) {
145 145 data
146 146 })
147 147 }
  148 +
  149 +
  150 +// 导入商家
  151 +export function excelAdd(data) {
  152 + return request({
  153 + url: '/cereBasicInformationShop/excelAdd',
  154 + method: 'post',
  155 + data,
  156 + headers: {
  157 + 'Content-type': 'multipart/form-data'
  158 + }
  159 + })
  160 +}
... ...
yanshouban/src/api/fangli.js
... ... @@ -34,3 +34,15 @@ export function fangDel(data) {
34 34 data
35 35 })
36 36 }
  37 +
  38 +// 导入管理模板
  39 +export const excelAdd = (data = {}) => {
  40 + return request({
  41 + url: '/cereBusinessPlan/excelAdd',
  42 + method: 'post',
  43 + data,
  44 + headers: {
  45 + 'Content-type': 'multipart/form-data'
  46 + }
  47 + })
  48 +}
... ...
yanshouban/src/api/inr.js
... ... @@ -28,3 +28,12 @@ export function tanDel(data) {
28 28 data
29 29 })
30 30 }
  31 +// 谈判列表导出
  32 +export function excelQueryByPage(data) {
  33 + return request({
  34 + url: '/cereNegotiationDetails/excelQueryByPage',
  35 + method: 'post',
  36 + data,
  37 + responseType: 'blob'
  38 + })
  39 +}
... ...
yanshouban/src/api/manage.js
... ... @@ -85,3 +85,36 @@ export function daoqi(data) {
85 85 data
86 86 })
87 87 }
  88 +// 退租决算打印
  89 +
  90 +export function pdfManagementOfFinalAccountsForRentals(data) {
  91 + return request({
  92 + url: '/cereLeasingInformation/pdfManagementOfFinalAccountsForRentals',
  93 + method: 'post',
  94 + data,
  95 + responseType: 'blob'
  96 + })
  97 +}
  98 +// 续租管理打印
  99 +
  100 +export function pdfLeaseRenewalManagement(data) {
  101 + return request({
  102 + url: '/cereLeasingInformation/pdfLeaseRenewalManagement',
  103 + method: 'post',
  104 + data,
  105 + responseType: 'blob'
  106 + })
  107 +}
  108 +
  109 +// 合同导入
  110 +
  111 +export function excelAdd(data) {
  112 + return request({
  113 + url: '/cereContractInformation/excelAdd',
  114 + method: 'post',
  115 + data,
  116 + headers: {
  117 + 'Content-type': 'multipart/form-data'
  118 + }
  119 + })
  120 +}
... ...
yanshouban/src/api/planningBz.js
... ... @@ -44,3 +44,15 @@ export function queryById(data) {
44 44 })
45 45 }
46 46  
  47 +// 导入规划模板
  48 +export const excelAdd = (data = {}) => {
  49 + return request({
  50 + url: '/cereInvestmentPlanningManagement/excelAdd',
  51 + method: 'post',
  52 + data,
  53 + headers: {
  54 + 'Content-type': 'multipart/form-data'
  55 + }
  56 + })
  57 +}
  58 +
... ...
yanshouban/src/api/rentalMan.js
... ... @@ -51,3 +51,13 @@ export function excelLeaseRenewalManagement(data) {
51 51 responseType: 'blob'
52 52 })
53 53 }
  54 +
  55 +// PDF打印
  56 +export function pdfRentOutQueryByPage(data) {
  57 + return request({
  58 + url: '/cereLeasingInformation/pdfRentOutQueryByPage',
  59 + method: 'post',
  60 + data,
  61 + responseType: 'blob'
  62 + })
  63 +}
... ...
yanshouban/src/utils/jiami.js
1 1 // 文本加密
2 2 import { sm4 } from 'sm-crypto';
3   -const DEFAULT_KEY ="cda4442f102f6396cca76902e37ad7cb";
4   -const DEFAULT_IV = "8bd8a83221742166c7532b7275a7fe9c";
  3 +const DEFAULT_KEY ="cda4442f102f6396eea76902e37ad7cb";
  4 +const DEFAULT_IV = "8bd8a83221742111c7532b7275a7fe9c";
5 5 export const encrypt = (str) => {
6 6     if(!str) {
7 7         return ''
... ... @@ -11,7 +11,7 @@ export const encrypt = (str) =&gt; {
11 11         mode: 'cbc',
12 12         padding: 'pkcs#7'
13 13         })
14   -    return 'ENC(' + encryptStr + ')'
  14 +    return encryptStr
15 15 }
16 16  
17 17 // 文本解密
... ... @@ -19,12 +19,12 @@ export const decrypt = (str) =&gt; {
19 19     if(!str) {
20 20         return ''
21 21     }
22   -    if(str.indexOf('ENC(') === -1) {
23   -        return str
24   -    }
25   -    const str_ = str.replace('ENC(', '').replace(')', '')
  22 +//     if(str.indexOf('ENC(') === -1) {
  23 +//         return str
  24 +//     }
  25 +//     const str_ = str.replace('ENC(', '').replace(')', '')
26 26     try {        
27   -        const decryptStr = sm4.decrypt(str_, DEFAULT_KEY, {
  27 +        const decryptStr = sm4.decrypt(str, DEFAULT_KEY, {
28 28             iv: DEFAULT_IV,
29 29             mode: 'cbc',
30 30             padding: 'pkcs#7'
... ...
yanshouban/src/utils/request.js
... ... @@ -11,9 +11,9 @@ import {
11 11 } from '@/utils/auth'
12 12 const host = window.location.host;
13 13 let PREFIX;
14   -if (host == '172.16.61.48' || host == '172.16.61.49 :5173' || host =='172.16.61.123:9003') {
  14 +if (host == '172.16.61.48' || host == '172.16.61.49:5173' || host =='172.16.61.123:9003') {
15 15 // PREFIX = 'https://jdc.scjysm.asia:1443/meserver/admin-server';
16   - PREFIX = 'https://jy.scjysm.asia:18086/meserver/admin-server';
  16 + PREFIX = 'https://jy.scjysm.asia:18086/admin-server';
17 17 // PREFIX = 'http://172.16.61.126:8080/meserver/admin-server';
18 18 // PREFIX = 'http://172.16.61.48/meserver/admin-server';
19 19 }else if( host == 'localhost:9528' || host == '8.130.38.56:8027' || host == 'localhost:9529'){
... ... @@ -21,14 +21,14 @@ if (host == &#39;172.16.61.48&#39; || host == &#39;172.16.61.49 :5173&#39; || host ==&#39;172.16.61.
21 21 // PREFIX = 'http://172.16.61.48/meserver/admin-server';
22 22 // PREFIX = 'http://192.168.2.213:9003';
23 23 // PREFIX = 'http://8.130.38.56:8019/admin-server';
24   - PREFIX = 'http://192.168.8.106:9003';
  24 + PREFIX = 'http://192.168.2.7:9003';
25 25 // PREFIX = 'https://wjdc.scjysm.asia:1443/meserver/admin-server';
26 26 // PREFIX = 'https://jy.scjysm.asia:18086/admin-server';
27 27 // PREFIX = 'http://172.16.61.126:8080/meserver/admin-server';
28 28 // PREFIX = 'https://wjdc.scjysm.asia:1443/meserver/admin-server'
29 29  
30 30 }else{
31   - PREFIX = '/admin-server';
  31 + PREFIX = 'https://jy.scjysm.asia:18086/admin-server';
32 32 }
33 33  
34 34  
... ...
yanshouban/src/views/active/couponlist/component/shopList.vue
... ... @@ -116,7 +116,6 @@ export default {
116 116 search () {
117 117  
118 118 },
119   - // businessListGetAll
120 119 // 初始化查询所有数据
121 120 async getAll(formInline) {
122 121 const res = await businessListGetAll(formInline)
... ... @@ -124,7 +123,7 @@ export default {
124 123 this.tableData = res.data.list
125 124 this.tableData.map(res=>{
126 125 res.shopPhone = this.$decrypt(res.shopPhone)
127   - res.shopPassword = this.$decrypt(res.shopPassword)
  126 + // res.shopPassword = this.$decrypt(res.shopPassword)
128 127 res.idCardNum = this.$decrypt(res.idCardNum)
129 128 res.emailAddress = this.$decrypt(res.emailAddress)
130 129 res.shopAdress = this.$decrypt(res.shopAdress)
... ...
yanshouban/src/views/activity/activityBian.vue
... ... @@ -69,6 +69,16 @@
69 69 </el-form-item>
70 70 </el-col>
71 71 </el-row>
  72 + <el-row :gutter="20">
  73 + <el-col :span="12">
  74 + <el-form-item label="范围设置" class="grid-content bg-purple" prop="sponsor">
  75 + <el-select v-model="secondData.rangeSetting" placeholder="请选择" style="width: 100%">
  76 + <el-option label="活动绿道段内" value="活动绿道段内"></el-option>
  77 + <el-option label="活动场地内" value="活动场地内"></el-option>
  78 + </el-select>
  79 + </el-form-item>
  80 + </el-col>
  81 + </el-row>
72 82 <div style="padding: 10px">
73 83 <el-row :gutter="20">
74 84 <el-col :span="12">
... ...
yanshouban/src/views/activity/activityBz.vue
... ... @@ -88,6 +88,16 @@
88 88 </el-form-item>
89 89 </el-col>
90 90 </el-row>
  91 + <el-row :gutter="20">
  92 + <el-col :span="12">
  93 + <el-form-item label="范围设置" class="grid-content bg-purple" prop="sponsor">
  94 + <el-select v-model="ruleForm.rangeSetting" placeholder="请选择" style="width: 100%">
  95 + <el-option label="活动绿道段内" value="活动绿道段内"></el-option>
  96 + <el-option label="活动场地内" value="活动场地内"></el-option>
  97 + </el-select>
  98 + </el-form-item>
  99 + </el-col>
  100 + </el-row>
91 101 <el-row :gutter="20">
92 102 <el-col :span="12">
93 103 <el-form-item label="活动主要目的" prop="mainPurpose" class="grid-content bg-purple">
... ... @@ -297,7 +307,9 @@
297 307 <div style="display: flex;justify-content: flex-end;padding: 10px 20px 10px 0">
298 308 <el-button @click="close" style="background-color: #3F9B6A;color: #fff;">取消
299 309 </el-button>
300   - <el-button @click="onSubmit" style="background-color: #3F9B6A;color: #fff;">确定
  310 + <el-button @click="onSubmit(1)" style="background-color: #3F9B6A;color: #fff;">暂存
  311 + </el-button>
  312 + <el-button @click="onSubmit(0)" style="background-color: #3F9B6A;color: #fff;">确定
301 313 </el-button>
302 314 </div>
303 315 </div>
... ... @@ -393,6 +405,7 @@
393 405 eventTheme: '', //活动主题
394 406 sponsor: '', //活动主办方
395 407 participants: '', //活动参与方
  408 + rangeSetting:'',
396 409 mainPurpose: '', //活动主要目的
397 410 coverPoster: '', //封面海报
398 411 internalLaborCostEstimation: '', //内部人工成本预估
... ... @@ -558,7 +571,7 @@
558 571  
559 572 },
560 573 //保存
561   - onSubmit() {
  574 + onSubmit(val) {
562 575 // pdf.save('output.pdf')
563 576 let that = this
564 577 let FlieName = this.ruleForm.planName
... ... @@ -614,6 +627,7 @@
614 627 // }
615 628 this.$refs.jibenFrom.validate((valid) => {
616 629 if (valid) {
  630 + this.ruleForm.isDraft = val
617 631 add(this.ruleForm).then(res => {
618 632 this.$message({
619 633 message: '保存成功',
... ... @@ -735,6 +749,7 @@
735 749 eventTheme: '', //活动主题
736 750 sponsor: '', //活动主办方
737 751 participants: '', //活动参与方
  752 + rangeSetting:'',
738 753 mainPurpose: '', //活动主要目的
739 754 coverPoster: '', //封面海报
740 755 internalLaborCostEstimation: '', //内部人工成本预估
... ...
yanshouban/src/views/activity/activitySp.vue
... ... @@ -57,7 +57,7 @@
57 57 {{scope.row.state == ''?'待提交':scope.row.state == '1'?'待审批':scope.row.state == '2'?'部门领导审批':scope.row.state == '3'?'公司领导审批':scope.row.state == '4'?'其他审批':scope.row.state == '5'?'审核通过':'已驳回'}}
58 58 </template>
59 59 </el-table-column>
60   - <el-table-column label="修改时间" prop="createDate" min-width="250" >
  60 + <el-table-column label="创建时间" prop="createDate" min-width="250" >
61 61 </el-table-column>
62 62 <el-table-column prop="createUser" label="上传人员" min-width="80">
63 63  
... ... @@ -664,6 +664,7 @@
664 664 pageNumber: 1,
665 665 pageSize: 10,
666 666 dataOwnership: '1',
  667 + isDraft:0
667 668 },
668 669 multipleSelection: [],
669 670 options: [{
... ...
yanshouban/src/views/activity/index.vue
... ... @@ -22,14 +22,24 @@
22 22 </div>
23 23 </div>
24 24 <div style="margin: 20px 0;">
25   - <div>
  25 + <div style="display:flex;">
26 26 <el-button icon="el-icon-circle-plus-outline" @click="create"
27 27 style="background-color: #3F9B6A;color: #fff;padding:8px 15px;">新增</el-button>
28 28 <el-button style="background-color: #E24E5A;color: #fff;" icon="el-icon-delete"
29 29 @click="handleDelete" class="DelBtnHover">删除</el-button>
30 30 <el-button style="background-color: #3F9B6A;color: #fff;" @click="duibi">效果对比</el-button>
31   - <el-button style="background-color: #3F9B6A;color: #fff;" @click="daoru">导入</el-button>
  31 + <el-upload class="upload-demo" ref="upload"
  32 + :limit="1"
  33 + accept=".xlsx"
  34 + :action="uploadFileUrl"
  35 + :on-success="daoru"
  36 + :file-list="daoData"
  37 + :auto-upload="true"
  38 + :show-file-list="false">
  39 + <el-button style="background-color: #fff;color: #3F9B6A;border: 1px solid #dcdfe6;margin:0 15px;" class="buttonHover" >导入</el-button>
  40 + </el-upload>
32 41 <el-button style="background-color: #3F9B6A;color: #fff;" @click="caogao">草稿箱</el-button>
  42 + <el-button style="background-color: #3F9B6A;color: #fff;" @click="daochu">审核流程导出</el-button>
33 43 <!-- <el-button style="background-color: #fff;color: #000;border: 1px solid #B1B1B1;"
34 44 icon="el-icon-folder-add" class="buttonHover" @click="xinFenlei">活动分类管理</el-button> -->
35 45 </div>
... ... @@ -54,7 +64,7 @@
54 64 <div class="custom-tree-node" slot-scope="{ node, data }">
55 65 <span>{{ node.label }}</span>
56 66 <span style="font-size: 15px !important;">
57   - <!-- <i class="el-icon-circle-plus" @click="xinFenlei(node,data)" style="padding-right: 5px;"></i> -->
  67 + <i class="el-icon-circle-plus" @click="xinFenlei(node,data)" style="padding-right: 5px;"></i>
58 68 <i class="el-icon-delete-solid" @click="() => fenDelete(node, data)"></i>
59 69 </span>
60 70 </div>
... ... @@ -84,7 +94,7 @@
84 94 {{scope.row.state == ''?'待提交':scope.row.state == '1'?'待审批':scope.row.state == '2'?'部门领导审批':scope.row.state == '3'?'公司领导审批':scope.row.state == '4'?'其他审批':scope.row.state == '5'?'审核通过':'已驳回'}}
85 95 </template>
86 96 </el-table-column>
87   - <el-table-column label="修改时间" prop="createDate"width="250" >
  97 + <el-table-column label="创建时间" prop="createDate"width="250" >
88 98 </el-table-column>
89 99 <el-table-column prop="createUser" label="上传人员" width="80">
90 100  
... ... @@ -95,7 +105,7 @@
95 105 <!-- <div class="tableBtn greens">发布</div> -->
96 106 <div class="tableBtn greens" @click="handleEditForm(scope.row)">执行情况</div>
97 107 <div @click="OAshen(scope.row)" class="tableBtn greens" v-if="scope.row.state == ''">上传到OA</div>
98   - <div class="tableBtn greens" @click="xiaoguo(scope.row)">效果评估</div>
  108 + <div class="tableBtn greens" @click="xiaoguo(scope.row)" v-if="scope.row.state == '5'" >效果评估</div>
99 109 <!-- <div class="tableBtn greens">策略调整</div> -->
100 110 <div class="tableBtn greens" @click="koop(scope.row)">复制</div>
101 111 </template>
... ... @@ -124,7 +134,7 @@
124 134 <!-- 详情活动方案 -->
125 135 <el-dialog title="活动方案详情" :visible.sync="ggXin" custom-class='xiang_css' style="padding: 0;" width="80%" center
126 136 :close-on-click-modal="false" :close-on-press-escape="false" @close="refreshData">
127   - <div>
  137 + <div ref="actXiang">
128 138 <div style="width: 100%;">
129 139 <div style="display: flex;padding:0px 20px 20px 20px; ">
130 140 <div style="width: 150px;height: 80px;" v-if="secondData.coverPoster">
... ... @@ -277,77 +287,6 @@
277 287 </div>
278 288 </div>
279 289 </div>
280   - <!-- <div style="width: 28%;">
281   - <div style="padding: 10px;height: 500px;">
282   - <div style="font-size: 14px;font-weight: 600;padding: 10px;">流程轨迹</div>
283   - <el-steps style="height: 400px;padding: 10px;" direction="vertical" finish-status="process "
284   - :active="0">
285   - <el-step>
286   - <template slot="title">
287   - <div style="font-size: 14px;font-weight: 600;padding-bottom: 10px;">审核节点</div>
288   - </template>
289   - <template slot="description">
290   - <div class="custom-step-description">
291   - <div>
292   - 当前处理人:王伟明
293   - </div>
294   - </div>
295   - </template>
296   - </el-step>
297   - <el-step style="position: relative;">
298   - <template slot="title">
299   - <div style="font-size: 14px;font-weight: 600;padding-bottom: 10px;">品牌部门审批</div>
300   - </template>
301   - <template slot="description">
302   - <div class="custom-step-description">
303   - <div>
304   - 操作:通过
305   - <span style="position: absolute;top: 0px;right: 0px;">2023-11-02 11:26:48</span>
306   - </div>
307   - <div>
308   - 操作人:王伟明
309   - </div>
310   - </div>
311   - </template>
312   - </el-step>
313   - <el-step style="position: relative;">
314   - <template slot="title">
315   - <div style="font-size: 14px;font-weight: 600;padding-bottom: 10px;">业务部门经理审核</div>
316   - </template>
317   - <template slot="description">
318   - <div class="custom-step-description">
319   - <div>
320   - 操作:通过
321   - <span style="position: absolute;top: 0px;right: 0px;">2023-11-02 11:26:48</span>
322   - </div>
323   - <div>
324   - 操作人:王伟明
325   - </div>
326   - </div>
327   - </template>
328   - </el-step>
329   - <el-step style="position: relative;">
330   - <template slot="title">
331   - <div style="font-size: 14px;font-weight: 600;padding-bottom: 10px;">开始</div>
332   - </template>
333   - <template slot="description">
334   - <div class="custom-step-description">
335   - <div>
336   - 操作:通过
337   - <span style="position: absolute;top: 0px;right: 0px;">2023-11-02 11:26:48</span>
338   - </div>
339   - <div>
340   - 操作人:王伟明
341   - </div>
342   - <div>
343   - 补充说明:发起流程事项审批
344   - </div>
345   - </div>
346   - </template>
347   - </el-step>
348   - </el-steps>
349   - </div>
350   - </div> -->
351 290 </div>
352 291 <div v-if="activeName=='second'">
353 292 <div style="padding: 20px">
... ... @@ -548,15 +487,14 @@
548 487  
549 488 </el-row>
550 489 <el-row :gutter="20">
551   - <el-col :span="8">
  490 + <el-col :span="24">
552 491 <el-form-item label="反馈内容" class="grid-content bg-purple" prop="name">
553 492 <el-upload class="upload-demo" ref="upload" :on-remove="handleRemove"
554 493 :action="uploadFileUrl" :on-success="handleUploadSuccess" :file-list="fileData"
555   - :show-file-list="false" v-if="zhixingBian">
556   - <div style="color: #2d8a58;margin-left: 10px;" slot="trigger">
557   - 上传附件
558   - </div>
  494 + :show-file-list="true" v-if="zhixingBian">
  495 + <el-button style="background-color: #fff;color: #3F9B6A;border: 1px solid #dcdfe6;" class="buttonHover" v-if="fileData.length==0">+点击上传</el-button>
559 496 </el-upload>
  497 + <div v-else>{{zhixingList.feedbackContent}}</div>
560 498 </el-form-item>
561 499 </el-col>
562 500  
... ... @@ -573,6 +511,9 @@
573 511 </div>
574 512 </div>
575 513 </div>
  514 + <div style="display: flex;justify-content: flex-end;padding:10px" v-if="activeName=='first'">
  515 + <el-button @click="downloadPdf" style="background-color: #3F9B6A;color: #fff" >下载
  516 + </el-button></div>
576 517 </el-dialog>
577 518 </div>
578 519 </div>
... ... @@ -793,37 +734,37 @@
793 734 <div style="display:flex;padding:10px 0;">
794 735 <div style="margin-right:40px;width:17%">
795 736 <div style="color:#BBBBBB;font-size:10px;">吸引游客流量</div>
796   - <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div>
797   - <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">+45%</div>
  737 + <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">{{fenxiData.expectedAttractTraffic}}</span>人</div>
  738 + <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">{{fenxiData.expectedAttractTrafficAnalyse}}%</div>
798 739 <div style="height:5px;background-color:#FEC03D;"></div>
799 740 </div>
800 741 <div style="margin-right:40px;width:17%">
801 742 <div style="color:#BBBBBB;font-size:10px;">参与人数</div>
802   - <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div>
803   - <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">+45%</div>
  743 + <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">{{fenxiData.expectedParticipation}}</span>人</div>
  744 + <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">{{fenxiData.expectedParticipationAnalyse}}%</div>
804 745 <div style="height:5px;background-color:#58A3F7;"></div>
805 746 </div>
806 747 <div style="margin-right:40px;width:17%">
807 748 <div style="color:#BBBBBB;font-size:10px;">直接收益</div>
808   - <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div>
809   - <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">+45%</div>
  749 + <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">{{fenxiData.expectedDirectBenefits}}</span></div>
  750 + <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">{{fenxiData.expectedDirectBenefitsAnalysis}}%</div>
810 751 <div style="height:5px;background-color:#4BCED0;"></div>
811 752 </div>
812 753 <div style="margin-right:40px;width:17%">
813 754 <div style="color:#BBBBBB;font-size:10px;">间接收益</div>
814   - <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div>
815   - <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">+45%</div>
  755 + <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">{{fenxiData.expectedIndirectBenefits}}</span></div>
  756 + <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">{{fenxiData.expectedIndirectBenefitsAnalysis}}%</div>
816 757 <div style="height:5px;background-color:#3F9B6A;"></div>
817 758 </div>
818 759 <div style="margin-right:40px;width:17%">
819 760 <div style="color:#BBBBBB;font-size:10px;">投入生产比</div>
820   - <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div>
821   - <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">+45%</div>
  761 + <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">{{fenxiData.incomeAnalysis}}%</span></div>
  762 + <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">{{fenxiData.incomeAnalysis}}%</div>
822 763 <div style="height:5px;background-color:#8167F5;"></div>
823 764 </div>
824 765 </div>
825   - <div style="font-size:12px;margin:10px 0;">效果分析</div>
826   - <div style="display:flex;padding:10px 0;">
  766 + <!-- <div style="font-size:12px;margin:10px 0;">效果分析</div> -->
  767 + <!-- <div style="display:flex;padding:10px 0;">
827 768 <div style="margin-right:40px;width:17%">
828 769 <div style="color:#BBBBBB;font-size:10px;">吸引游客流量</div>
829 770 <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div>
... ... @@ -850,11 +791,11 @@
850 791 </div>
851 792 <div style="margin-right:40px;width:17%">
852 793 <div style="color:#BBBBBB;font-size:10px;">投入生产比</div>
853   - <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;">4289</span>人</div>
854   - <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">+45%</div>
  794 + <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;">{{fenxiData.incomeAnalysis}}</span>人</div>
  795 + <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">{{fenxiData.incomeAnalysis}}%</div>
855 796 <div style="height:5px;background-color:#8167F5;"></div>
856 797 </div>
857   - </div>
  798 + </div> -->
858 799 </div>
859 800 <div style="padding:0 20px;margin-top:20px;">
860 801 <div style="border:1px solid #EFEFEF;padding:20px 15px">
... ... @@ -1111,9 +1052,8 @@
1111 1052 </el-table-column>
1112 1053 <el-table-column label="操作" width="350">
1113 1054 <template slot-scope="scope">
1114   - <div @click="shiyong(1,scope.row)" class="tableBtn greens">使用</div>
1115   - <div class="tableBtn greens" @click="handleEditForm(scope.row)">执行情况</div>
1116   - <div @click="actBian(scope.row)" class="tableBtn greens" v-if="scope.row.state == ''">修改</div>
  1055 + <div @click="shiyong(scope.row)" class="tableBtn greens">使用</div>
  1056 + <!-- <div @click="actBian(scope.row)" class="tableBtn greens" v-if="scope.row.state == ''">修改</div> -->
1117 1057 <div @click="handleDelete(scope.row)" class="tableBtn greens">删除</div>
1118 1058 </template>
1119 1059 </el-table-column>
... ... @@ -1150,12 +1090,17 @@
1150 1090 cereAdd,
1151 1091 cereEdit,
1152 1092 cereDel,
1153   - copy
  1093 + copy,
  1094 + excelQueryByPage,
  1095 + excelAdd,
  1096 + effectEvaluation
1154 1097 } from '../../api/activityBz'
1155 1098 import addAct from "./activityBz"
1156 1099 import actbians from "./activityBian"
1157 1100 import * as echarts from 'echarts'
1158 1101 import Vue from 'vue'
  1102 + import html2canvas from 'html2canvas'
  1103 + import jsPDF from 'jspdf'
1159 1104 import {
1160 1105 uploadUrl
1161 1106 } from '@/utils/request'
... ... @@ -1167,6 +1112,8 @@
1167 1112 data() {
1168 1113 return {
1169 1114 uploadFileUrl: uploadUrl, // 请求地址
  1115 + daoData:[],
  1116 + fenxiData:{},
1170 1117 fileData:[],
1171 1118 addAct: false, //新增页
1172 1119 actbianMsg: {
... ... @@ -1232,9 +1179,11 @@
1232 1179 text: '活动主要目的',
1233 1180 eventTheme: ''
1234 1181 }, {
1235   - id: '5',
1236   - name: '状态',
1237   - eventTheme: '待审核'
  1182 + id: 0,
  1183 + name: '范围设置',
  1184 + planName: '',
  1185 + text: '状态',
  1186 + eventTheme: ''
1238 1187 }],
1239 1188 internalLaborCostEstimation: '',
1240 1189 externalLaborCostEstimation: '',
... ... @@ -1309,11 +1258,13 @@
1309 1258 expectedDirectBenefits: '', //直接收益
1310 1259 expectedIndirectBenefits: '', //间接收益
1311 1260 createDate: '', //创建时间
  1261 + feedbackContent:''
1312 1262 }, //执行效果列表
1313 1263 pageindex: {
1314 1264 pageNumber: 1,
1315 1265 pageSize: 10,
1316   - dataOwnership: '1'
  1266 + dataOwnership: '1',
  1267 + isDraft:0
1317 1268 },
1318 1269 multipleSelection: [],
1319 1270 options: [],
... ... @@ -1416,7 +1367,8 @@
1416 1367 pageNumber: 1,
1417 1368 pageSize: 10,
1418 1369 dataOwnership: '1',
1419   - classificationCode:data.id
  1370 + classificationCode:data.id,
  1371 + isDraft:0
1420 1372 }
1421 1373 const res = await queryByPage(pageindex)
1422 1374 this.tableData = res.data.content
... ... @@ -1426,7 +1378,8 @@
1426 1378 this.pageindex={
1427 1379 pageNumber: 1,
1428 1380 pageSize: 10,
1429   - dataOwnership: '1'
  1381 + dataOwnership: '1',
  1382 + isDraft:0
1430 1383 }
1431 1384 const res = await queryByPage(this.pageindex)
1432 1385 this.tableData = res.data.content
... ... @@ -1476,6 +1429,7 @@
1476 1429 dataOwnership: '1',
1477 1430 pageNumber: 1,
1478 1431 pageSize: 10,
  1432 + auditTime:0
1479 1433 })
1480 1434 this.tableData = res.data.content
1481 1435 } else if (this.planName == '' && this.eventTheme != '') {
... ... @@ -1484,6 +1438,7 @@
1484 1438 dataOwnership: '1',
1485 1439 pageNumber: 1,
1486 1440 pageSize: 10,
  1441 + auditTime:0
1487 1442 })
1488 1443 this.tableData = res.data.content
1489 1444 } else {
... ... @@ -1493,6 +1448,7 @@
1493 1448 dataOwnership: '1',
1494 1449 pageNumber: 1,
1495 1450 pageSize: 10,
  1451 + auditTime:0
1496 1452 })
1497 1453 this.tableData = res.data.content
1498 1454 }
... ... @@ -1500,6 +1456,7 @@
1500 1456 },
1501 1457 //详情点击
1502 1458 handleEditForm(item) {
  1459 + this.fileData = []
1503 1460 this.zhixingList = {
1504 1461 planTime:[],
1505 1462 planName: '', //活动名称
... ... @@ -1521,6 +1478,7 @@
1521 1478 expectedDirectBenefits: '', //直接收益
1522 1479 expectedIndirectBenefits: '', //间接收益
1523 1480 createDate: '', //创建时间
  1481 + feedbackContent:''
1524 1482 } //执行效果列表
1525 1483 actPage({
1526 1484 detailsId: item.id,
... ... @@ -1585,8 +1543,8 @@
1585 1543 that.tableData1[2].planName = res.data.content[0].sponsor
1586 1544 that.tableData1[3].eventTheme = res.data.content[0].participants
1587 1545 that.tableData1[3].planName = res.data.content[0].mainPurpose
1588   -
1589   - that.tableData1[4].eventTheme = this.getStatus(res.data.content[0].state)
  1546 + that.tableData1[4].planName = this.getStatus(res.data.content[0].state)
  1547 + that.tableData1[4].eventTheme = res.data.content[0].rangeSetting
1590 1548 //活动成本信息
1591 1549 that.internalLaborCostEstimation = res.data.content[0].internalLaborCostEstimation
1592 1550 that.externalLaborCostEstimation = res.data.content[0].externalLaborCostEstimation
... ... @@ -1661,6 +1619,9 @@
1661 1619 },
1662 1620 //执行效果保存
1663 1621 async bianji() {
  1622 + if(this.fileData.length !=0){
  1623 + this.zhixingList.feedbackContent = this.fileData[0].url
  1624 + }
1664 1625 if (this.zhiXing) {
1665 1626 this.zhixingList.eventStartTime = this.zhixingList.planTime[0]
1666 1627 this.zhixingList.eventEndTime = this.zhixingList.planTime[1]
... ... @@ -1887,6 +1848,9 @@
1887 1848  
1888 1849 },
1889 1850 xiaoguo(item) {
  1851 + effectEvaluation({id:item.id}).then(res=>{
  1852 + this.fenxiData = res.data
  1853 + })
1890 1854 this.xiaoguoBox = true
1891 1855 this.$nextTick(() => {
1892 1856 this.shopLiu(this.$refs.shopL);
... ... @@ -2115,22 +2079,32 @@
2115 2079  
2116 2080 },
2117 2081 handleUploadSuccess(response, file, fileList) {
2118   - console.log(response, file, fileList)
2119   - // this.fileData.push(file)
  2082 + const fileMsg = {
  2083 + name:file.name,
  2084 + url: file.response.data.url,
  2085 + }
  2086 + // 将文件地址存储在 uploadedFiles 数组中
  2087 + this.fileData.push(fileMsg);
2120 2088 },
2121 2089 handleRemove(){
2122   -
2123   - },
2124   - daoru(){
2125   -
  2090 + this.fileData = []
2126 2091 },
  2092 + daoru(response, file, fileList){
  2093 + this.daoData.push(file.raw)
  2094 + const formDate = new FormData()
  2095 + formDate.append('file', this.daoData[0])
  2096 + excelAdd(formDate).then(res => {
  2097 + this.getAll()
  2098 + })
  2099 + },
2127 2100 caogao(){
2128 2101  
2129 2102  
2130 2103 let pageindex = {
2131 2104 pageNumber: 1,
2132 2105 pageSize: 10,
2133   - dataOwnership: '1'
  2106 + dataOwnership: '1',
  2107 + isDraft:1
2134 2108 }
2135 2109 queryByPage(pageindex).then(res=>{
2136 2110 this.caoList = res.data.content
... ... @@ -2138,7 +2112,7 @@
2138 2112 this.caogaoshow =true
2139 2113  
2140 2114 },
2141   - shiyong(val,item){
  2115 + shiyong(item){
2142 2116  
2143 2117 const h = this.$createElement;
2144 2118 this.$msgbox({
... ... @@ -2153,14 +2127,14 @@
2153 2127 customClass: 'oe-dialog-btn',
2154 2128 beforeClose: (action, instance, done) => {
2155 2129 if (action === 'confirm') {
2156   - // contentEdit({
2157   - // id: item.id,
2158   - // draftStatus:1
2159   - // }).then(res => {
2160   - // this.getAll()
2161   - // this.getcaogao()
2162   - // done();
2163   - // })
  2130 + xiangedit({
  2131 + id:item.id,
  2132 + isDraft:0
  2133 + }).then(res => {
  2134 + this.getAll()
  2135 + this.caogao()
  2136 + done();
  2137 + })
2164 2138 } else {
2165 2139 done();
2166 2140 }
... ... @@ -2169,6 +2143,56 @@
2169 2143  
2170 2144  
2171 2145 },
  2146 + async daochu(){
  2147 + let res = await excelQueryByPage(this.pageindex)
  2148 + if(!res){
  2149 + return
  2150 + }
  2151 + const blob = new Blob([res], { type: 'application/vnd.ms-excel' })
  2152 + const fileName = '审核流程.xls'
  2153 + if ('download' in document.createElement('a')) {
  2154 + // 非IE下载
  2155 + const elink = document.createElement('a')
  2156 + elink.download = fileName
  2157 + elink.style.display = 'none'
  2158 + elink.href = URL.createObjectURL(blob)
  2159 + document.body.appendChild(elink)
  2160 + elink.click()
  2161 + URL.revokeObjectURL(elink.href) // 释放URL 对象
  2162 + document.body.removeChild(elink)
  2163 + } else {
  2164 + // IE10+下载
  2165 + navigator.msSaveBlob(blob, fileName)
  2166 + }
  2167 + this.$message({
  2168 + message: '导出成功',
  2169 + type: 'success'
  2170 + })
  2171 +
  2172 +
  2173 + },
  2174 + // 下载
  2175 + async downloadPdf() {
  2176 + const content = this.$refs.actXiang;
  2177 +
  2178 + // 使用 html2canvas 将 div 渲染为画布
  2179 + const canvas = await html2canvas(content);
  2180 +
  2181 + // 获取画布的图像数据
  2182 + const imgData = canvas.toDataURL('image/png');
  2183 +
  2184 + // 创建一个新的 PDF 文档
  2185 + const pdf = new jsPDF('p', 'mm', 'a4');
  2186 +
  2187 + // 添加图像到 PDF,第二个参数是图像格式,第三个参数是缩放比例
  2188 + const imgWidth = 190; // 图像的宽度(mm)
  2189 + const imgHeight = (canvas.height * imgWidth) / canvas.width; // 保持图像的宽高比
  2190 +
  2191 + pdf.addImage(imgData, 'PNG', 10, 10, imgWidth, imgHeight); // 10, 10 是图像在 PDF 中的位置(mm)
  2192 +
  2193 + // 保存 PDF 文件
  2194 + pdf.save('活动方案.pdf');
  2195 + },
2172 2196 }
2173 2197 }
2174 2198 </script>
... ...
yanshouban/src/views/ads/fangli/index.vue
... ... @@ -38,17 +38,26 @@
38 38 </div>
39 39  
40 40 </div>
41   - <div style="margin-bottom:20px;">
  41 + <div style="margin-bottom: 20px;display:flex;">
42 42 <el-button
43   - style="background-color: #3F9B6A;color: #fff;padding:8px 15px;" icon="el-icon-circle-plus-outline"
  43 + style="background-color: #3F9B6A;color: #fff;padding:8px 15px;margin-right:15px;" icon="el-icon-circle-plus-outline"
44 44 @click="addbuss"
45 45 >新增</el-button
46 46 >
47   - <!-- <el-button
  47 + <el-upload class="upload-demo" ref="upload"
  48 + :limit="1"
  49 + accept=".xlsx"
  50 + :action="action"
  51 + :on-success="daoru"
  52 + :file-list="fileData"
  53 + :auto-upload="true"
  54 + :show-file-list="false">
  55 + <el-button style="background-color: #fff;color: #3F9B6A;border: 1px solid #dcdfe6;" class="buttonHover">导入</el-button>
  56 + </el-upload>
  57 + <!-- <el-button
48 58 style="background-color: #3F9B6A;color: #fff;padding:8px 15px;"
49 59 @click="daoru"
50   - >导入</el-button
51   - > -->
  60 + >导入</el-button> -->
52 61 </div>
53 62 <!-- 表格 -->
54 63 <el-table
... ... @@ -171,10 +180,10 @@
171 180 <div class="tableBtn greens" v-if="scope.row.auditStatus =='1'" @click="peizhi(scope.row)">
172 181 审核流程配置
173 182 </div>
174   - <div class="tableBtn greens" v-if="scope.row.enableStatus== 1 &&scope.row.auditStatus =='2'" @click="qiyong(scope.row,0)">
  183 + <div class="tableBtn greens" v-if="scope.row.enableStatus== 1 || scope.row.enableStatus == null &&scope.row.auditStatus =='2'" @click="qiyong(scope.row,0)">
175 184 启用
176 185 </div>
177   - <div class="tableBtn greens" v-if="scope.row.enableStatus == 0 &&scope.row.auditStatus =='2' " @click="qiyong(scope.row,1)">
  186 + <div class="tableBtn greens" v-if="scope.row.enableStatus == 0 &&scope.row.auditStatus =='2' " @click="qiyong(scope.row,1)">
178 187 禁用
179 188 </div>
180 189 <div class="tableBtn greens" @click="delGuan(scope.row)" >
... ... @@ -199,22 +208,22 @@
199 208 </div>
200 209 </div>
201 210 </div>
202   - <el-dialog :visible.sync="peiShow" custom-class='bian_css' style="padding: 0;" width="75%"
  211 + <el-dialog :visible.sync="peiShow" custom-class='bian_css' style="padding: 0;" width="45%"
203 212 :close-on-press-escape="false" center :close-on-click-modal="false" class="dialog_css_Xq" :show-close="false">
204 213 <div style="padding:20px;">
205   - <el-form label-position="right" ref="jibenFrom" :model="peiForm" :rules="peiFormRules" label-width="140px"
  214 + <div style="font-size: 14px;padding-bottom: 20px;color: #000;">审核流程配置</div>
  215 + <el-form label-position="right" ref="jibenFrom" :model="peiForm" label-width="140px"
206 216 style="position: relative">
207 217 <el-form-item label="审核提醒时间" class="grid-content bg-purple device-from" prop="planName">
208   - <el-date-picker style="width:160px;margin-right:5px" v-model="peiForm.auditTime"
209   - value-format="yyyy-M-d" type="daterange" range-separator="-" start-placeholder=""
210   - end-placeholder="" prefix-icon="none" >
  218 + <el-date-picker style="width:240px;margin-right:5px" v-model="peiForm.auditTime"
  219 + value-format="yyyy-MM-dd HH:mm:ss" type="datetime" prefix-icon="none" >
211 220 </el-date-picker>
212 221 </el-form-item>
213 222 </el-form>
214 223 <div style="padding-top:20px;display:flex;justify-content: flex-end;">
215   - <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;"
  224 + <el-button style="background-color: #3F9B6A;color: #fff"
216 225 @click="peiCheck">确定</el-button>
217   - <el-button @click="peiShow = false" style="background-color: #3F9B6A;color: #fff">取消</el-button>
  226 + <el-button @click="peiShow = false" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" class="buttonHover">取消</el-button>
218 227  
219 228 </div>
220 229  
... ... @@ -247,8 +256,8 @@ import {
247 256 fangAdd,
248 257 fangEdit,
249 258 fangDel,
  259 + excelAdd
250 260 }from '../../../api/fangli'
251   -
252 261 import upimg from "@/components/ImageUpload/index"
253 262 import addxin from "./addform"
254 263 import xiang from "./bianform"
... ... @@ -256,6 +265,7 @@ export default {
256 265 components: {upimg,addxin,xiang},
257 266 data() {
258 267 return {
  268 + fileData:[],
259 269 detbox: false, // 详情
260 270 edit: true, // 编辑
261 271 formInline: {
... ... @@ -550,6 +560,14 @@ export default {
550 560 this.peiShow = true
551 561 this.peiId = item.id
552 562 },
  563 + daoru(response, file, fileList){
  564 + this.fileData.push(file.raw)
  565 + const formDate = new FormData()
  566 + formDate.append('file', this.fileData[0])
  567 + excelAdd(formDate).then(res => {
  568 + this.getAll()
  569 + })
  570 + },
553 571 }
554 572 }
555 573 </script>
... ...
yanshouban/src/views/advertisement/advertisingReview/advertisingReview.vue
... ... @@ -943,7 +943,15 @@ this.pageindex.advertisingSpaceType =&#39;实体广告位&#39;
943 943 this.tableData = res.data.content
944 944 this.total = res.data.content.length
945 945 this.xxNum = res.data.content.length
946   -
  946 + this.tableData.map(res=>{
  947 + res.lesseeName = this.$decrypt(res.lesseeName)
  948 + res.contactPhone = this.$decrypt(res.contactPhone)
  949 + res.idCardNumber = this.$decrypt(res.idCardNumber)
  950 + res.unifiedSocialCreditCode = this.$decrypt(res.unifiedSocialCreditCode)
  951 + res.legalRepresentative = this.$decrypt(res.legalRepresentative)
  952 + res.address = this.$decrypt(res.address)
  953 + res.emailAddress = this.$decrypt(res.emailAddress)
  954 + })
947 955 const stList = await AdvertiserInfoGetAll(pageindex)
948 956 this.stNum = stList.data.content.length
949 957  
... ... @@ -957,7 +965,15 @@ this.pageindex.advertisingSpaceType =&#39;实体广告位&#39;
957 965 this.tableData = res.data.content
958 966 this.total = res.data.content.length
959 967 this.stNum = res.data.content.length
960   -
  968 + this.tableData.map(res=>{
  969 + res.lesseeName = this.$decrypt(res.lesseeName)
  970 + res.contactPhone = this.$decrypt(res.contactPhone)
  971 + res.idCardNumber = this.$decrypt(res.idCardNumber)
  972 + res.unifiedSocialCreditCode = this.$decrypt(res.unifiedSocialCreditCode)
  973 + res.legalRepresentative = this.$decrypt(res.legalRepresentative)
  974 + res.address = this.$decrypt(res.address)
  975 + res.emailAddress = this.$decrypt(res.emailAddress)
  976 + })
961 977 const stList = await AdvertiserInfoGetAll(pageindex)
962 978 this.xxNum = stList.data.content.length
963 979 }
... ... @@ -1008,6 +1024,15 @@ this.pageindex.advertisingSpaceType =&#39;实体广告位&#39;
1008 1024 this.tableData = res.data.content
1009 1025 this.total = res.data.content.length
1010 1026 this.xxNum = res.data.content.length
  1027 + this.tableData.map(res=>{
  1028 + res.lesseeName = this.$decrypt(res.lesseeName)
  1029 + res.contactPhone = this.$decrypt(res.contactPhone)
  1030 + res.idCardNumber = this.$decrypt(res.idCardNumber)
  1031 + res.unifiedSocialCreditCode = this.$decrypt(res.unifiedSocialCreditCode)
  1032 + res.legalRepresentative = this.$decrypt(res.legalRepresentative)
  1033 + res.address = this.$decrypt(res.address)
  1034 + res.emailAddress = this.$decrypt(res.emailAddress)
  1035 + })
1011 1036 let pageindex={
1012 1037 pageNumber: 1,
1013 1038 pageSize: 10,
... ... @@ -1023,6 +1048,15 @@ this.pageindex.advertisingSpaceType =&#39;实体广告位&#39;
1023 1048 this.tableData = res.data.content
1024 1049 this.total = res.data.content.length
1025 1050 this.stNum = res.data.content.length
  1051 + this.tableData.map(res=>{
  1052 + res.lesseeName = this.$decrypt(res.lesseeName)
  1053 + res.contactPhone = this.$decrypt(res.contactPhone)
  1054 + res.idCardNumber = this.$decrypt(res.idCardNumber)
  1055 + res.unifiedSocialCreditCode = this.$decrypt(res.unifiedSocialCreditCode)
  1056 + res.legalRepresentative = this.$decrypt(res.legalRepresentative)
  1057 + res.address = this.$decrypt(res.address)
  1058 + res.emailAddress = this.$decrypt(res.emailAddress)
  1059 + })
1026 1060 let pageindex={
1027 1061 pageNumber: 1,
1028 1062 pageSize: 10,
... ...
yanshouban/src/views/advertisement/index.vue
... ... @@ -99,6 +99,9 @@
99 99 <div @click="xiajia(scope.row)" class="tableBtn greens" v-if="leixing ==1 && scope.row.auditStatus =='4'">下架</div> -->
100 100 <div @click="toufang(scope.row)" class="tableBtn greens" v-if="leixing == 1 && scope.row.auditStatus =='2'">投放</div>
101 101 <div @click="xiajia(scope.row)" class="tableBtn greens" v-if="leixing ==1 && scope.row.auditStatus =='4'">下架</div>
  102 + <div class="tableBtn greens" v-if="scope.row.auditStatus =='1'" @click="peizhi(scope.row)">
  103 + 审核流程配置
  104 + </div>
102 105 <div @click="gengGai(scope.row)" class="tableBtn greens" v-if="leixing == 1&& scope.row.auditStatus !='5'">更改状态</div>
103 106 <div @click="handleDelete(scope.row)" class="tableBtn greens" v-if="scope.row.auditStatus =='1'">删除</div>
104 107 <!-- <div @click="handleDelete(scope.row)" class="tableBtn greens" >删除</div> -->
... ... @@ -753,8 +756,30 @@
753 756 </div>
754 757 </el-dialog>
755 758 </div>
  759 +<el-dialog :visible.sync="peiShow" custom-class='bian_css' style="padding: 0;" width="45%"
  760 + :close-on-press-escape="false" center :close-on-click-modal="false" class="dialog_css_Xq" :show-close="false">
  761 + <div style="padding:20px;">
  762 + <div style="font-size: 14px;padding-bottom: 20px;color: #000;">审核流程配置</div>
  763 + <el-form label-position="right" ref="jibenFrom" :model="peiForm" label-width="140px"
  764 + style="position: relative">
  765 + <el-form-item label="审核提醒时间" class="grid-content bg-purple device-from" prop="planName">
  766 + <el-date-picker style="width:240px;margin-right:5px" v-model="peiForm.auditTime"
  767 + value-format="yyyy-MM-dd HH:mm:ss" type="datetime" prefix-icon="none" >
  768 + </el-date-picker>
  769 + </el-form-item>
  770 + </el-form>
  771 + <div style="padding-top:20px;display:flex;justify-content: flex-end;">
  772 + <el-button style="background-color: #3F9B6A;color: #fff"
  773 + @click="peiCheck">确定</el-button>
  774 + <el-button @click="peiShow = false" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" class="buttonHover">取消</el-button>
  775 +
  776 + </div>
  777 +
  778 + </div>
756 779  
  780 + </el-dialog>
757 781 </div>
  782 +
758 783 </div>
759 784  
760 785 </div>
... ... @@ -864,7 +889,12 @@
864 889 xsNum:0,
865 890 stNum:0,
866 891 hetongList:{},
867   - auditStatusNum:''
  892 + auditStatusNum:'',
  893 + peiForm:{
  894 + auditTime:''
  895 + },
  896 + peiShow:false,
  897 + peiId:''
868 898 }
869 899 },
870 900 created() {
... ... @@ -1163,7 +1193,25 @@
1163 1193 await updateList({id:this.secondData.id,auditStatus:'5'})
1164 1194 this.steatShow = false
1165 1195 this.getAll()
  1196 + },
  1197 + async peiCheck(){
  1198 + if(this.peiForm.auditTime ==''){
  1199 + this.$message({
  1200 + message: '请填写审核提醒时间',
  1201 + })
  1202 + return;
1166 1203 }
  1204 + await fangEdit({id:this.peiId,auditTime:this.peiForm.auditTime})
  1205 + this.peiShow = false
  1206 + this.getAll()
  1207 + },
  1208 + peizhi(item){
  1209 + this.peiForm = {
  1210 + auditTime:''
  1211 + }
  1212 + this.peiShow = true
  1213 + this.peiId = item.id
  1214 + },
1167 1215 }
1168 1216 }
1169 1217 </script>
... ...
yanshouban/src/views/atmosphere/atmosphereBian.vue
... ... @@ -66,6 +66,17 @@
66 66 </el-form-item>
67 67 </el-col>
68 68 </el-row>
  69 + <el-row :gutter="20">
  70 + <el-col :span="8">
  71 + <el-form-item label="范围设置" class="grid-content bg-purple" prop="sponsor">
  72 + <el-select v-model="secondData.rangeSetting" placeholder="请选择" style="width: 100%">
  73 + <el-option label="活动绿道段内" value="活动绿道段内"></el-option>
  74 + <el-option label="活动场地内" value="活动场地内"></el-option>
  75 + </el-select>
  76 + </el-form-item>
  77 + </el-col>
  78 +
  79 + </el-row>
69 80 <div style="padding: 10px">
70 81 <el-row :gutter="20">
71 82 <el-form-item label="活动封面海报" prop="cover_poster" class="grid-content bg-purple">
... ...
yanshouban/src/views/atmosphere/atmosphereBz.vue
... ... @@ -91,7 +91,16 @@
91 91 </el-form-item>
92 92 </el-col>
93 93 </el-row>
94   -
  94 +<el-row :gutter="20">
  95 + <el-col :span="12">
  96 + <el-form-item label="范围设置" class="grid-content bg-purple" prop="sponsor">
  97 + <el-select v-model="ruleForm.rangeSetting" placeholder="请选择" style="width: 100%">
  98 + <el-option label="活动绿道段内" value="活动绿道段内"></el-option>
  99 + <el-option label="活动场地内" value="活动场地内"></el-option>
  100 + </el-select>
  101 + </el-form-item>
  102 + </el-col>
  103 + </el-row>
95 104 <el-row :gutter="20">
96 105 <el-col :span="12">
97 106 <el-form-item label="活动封面海报" prop="cover_poster" class="grid-content bg-purple">
... ... @@ -297,12 +306,14 @@
297 306 </el-tab-pane>
298 307 </el-tabs>
299 308 <div style="display: flex;justify-content: flex-end;padding: 10px 20px 10px 0">
300   - <el-button plain @click="onSubmit" size="mini" style="background-color: #3F9B6A;color: #fff;">保存
301   - </el-button>
302   - <!-- <el-button plain @click="zancun" size="mini" style="background-color: #3F9B6A;color: #fff;">暂存
303   - </el-button> -->
304   - <el-button plain @click="close" size="mini" style="background-color: #3F9B6A;color: #fff;">取消
  309 + <el-button plain @click="close" size="mini" style="background-color: #3F9B6A;color: #fff;">取消
  310 + </el-button>
  311 + <el-button @click="onSubmit(1)" style="background-color: #3F9B6A;color: #fff;">暂存
  312 + </el-button>
  313 + <el-button plain @click="onSubmit(0)" size="mini" style="background-color: #3F9B6A;color: #fff;">保存
305 314 </el-button>
  315 +
  316 +
306 317 </div>
307 318 </div>
308 319  
... ... @@ -393,6 +404,7 @@ uploadFileUrl: uploadUrl, // 请求地址
393 404 eventTheme:'',//活动主题
394 405 sponsor:'',//活动主办方
395 406 participants:'',//活动参与方
  407 + rangeSetting:'',
396 408 mainPurpose:'',//活动主要目的
397 409 coverPoster:'',//封面海报
398 410 internalLaborCostEstimation:'',//内部人工成本预估
... ... @@ -504,7 +516,7 @@ uploadFileUrl: uploadUrl, // 请求地址
504 516 // }
505 517 },
506 518 //保存
507   - onSubmit(){
  519 + onSubmit(val){
508 520 this.updateCurrentTime();
509 521 let that = this
510 522 let FlieName = this.ruleForm.planName
... ... @@ -559,6 +571,7 @@ uploadFileUrl: uploadUrl, // 请求地址
559 571 // }
560 572 this.$refs.jibenFrom.validate((valid) => {
561 573 if (valid) {
  574 + this.ruleForm.isDraft = val
562 575 add(this.ruleForm).then(res=>{
563 576 this.$message({
564 577 message: '保存成功',
... ... @@ -681,6 +694,7 @@ this.tuxiangData = {
681 694 eventTheme: '', //活动主题
682 695 sponsor: '', //活动主办方
683 696 participants: '', //活动参与方
  697 + rangeSetting:'',
684 698 mainPurpose: '', //活动主要目的
685 699 coverPoster: '', //封面海报
686 700 internalLaborCostEstimation: '', //内部人工成本预估
... ...
yanshouban/src/views/atmosphere/atmosphereGl.vue
... ... @@ -22,13 +22,23 @@
22 22 </div>
23 23 </div>
24 24 <div style="margin:20px 0;">
25   - <div>
  25 + <div style="display:flex;">
26 26 <el-button icon="el-icon-circle-plus-outline" @click="create"
27 27 style="background-color: #3F9B6A;color: #fff;">新增</el-button>
28 28 <el-button style="background-color: #E24E5A;color: #fff;" icon="el-icon-delete" @click="handleDelete" class="DelBtnHover">删除</el-button>
29 29 <el-button style="background-color: #3F9B6A;color: #fff;" @click="duibi">效果对比</el-button>
30   - <el-button style="background-color: #3F9B6A;color: #fff;" @click="daoru">导入</el-button>
  30 + <el-upload class="upload-demo" ref="upload"
  31 + :limit="1"
  32 + accept=".xlsx"
  33 + :action="uploadFileUrl"
  34 + :on-success="daoru"
  35 + :file-list="daoData"
  36 + :auto-upload="true"
  37 + :show-file-list="false">
  38 + <el-button style="background-color: #fff;color: #3F9B6A;border: 1px solid #dcdfe6;margin:0 15px;" class="buttonHover">导入</el-button>
  39 + </el-upload>
31 40 <el-button style="background-color: #3F9B6A;color: #fff;" @click="caogao">草稿箱</el-button>
  41 + <el-button style="background-color: #3F9B6A;color: #fff;" @click="daochu">审核流程导出</el-button>
32 42 <!-- <el-button style="background-color: #fff;color: #000;border: 1px solid #B1B1B1;"
33 43 icon="el-icon-folder-add" class="buttonHover" @click="xinFenlei">氛围分类管理</el-button> -->
34 44 </div>
... ... @@ -82,7 +92,7 @@
82 92 {{scope.row.state == ''?'待提交':scope.row.state == '1'?'待审批':scope.row.state == '2'?'部门领导审批':scope.row.state == '3'?'公司领导审批':scope.row.state == '4'?'其他审批':scope.row.state == '5'?'审核通过':'已驳回'}}
83 93 </template>
84 94 </el-table-column>
85   - <el-table-column label="修改时间" prop="createDate"width="250" >
  95 + <el-table-column label="创建时间" prop="createDate"width="250" >
86 96 </el-table-column>
87 97 <el-table-column prop="createUser" label="上传人员" width="80">
88 98  
... ... @@ -93,7 +103,7 @@
93 103 <!-- <div class="tableBtn greens">发布</div> -->
94 104 <div class="tableBtn greens" @click="handleEditForm(scope.row)">执行情况</div>
95 105 <div @click="OAshen(scope.row)" class="tableBtn greens" v-if="scope.row.state == ''">上传到OA</div>
96   - <div class="tableBtn greens" @click="xiaoguo(scope.row)">效果评估</div>
  106 + <div class="tableBtn greens" @click="xiaoguo(scope.row)" v-if="scope.row.state == '5'" >效果评估</div>
97 107 <!-- <div class="tableBtn greens">策略调整</div> -->
98 108 <div class="tableBtn greens" @click="koop(scope.row)">复制</div>
99 109 </template>
... ... @@ -123,7 +133,7 @@
123 133 <!-- 详情活动方案 -->
124 134 <el-dialog title="氛围方案详情" :visible.sync="ggXin" custom-class='xiang_css' style="padding: 0;" width="80%"
125 135 center :close-on-click-modal="false" :close-on-press-escape="false" @close="refreshData">
126   - <div>
  136 + <div ref="actXiang">
127 137 <div style="width: 100%;">
128 138 <div style="display: flex;padding:0px 20px 20px 20px; ">
129 139 <div style="width: 150px;height: 80px;" v-if="secondData.coverPoster">
... ... @@ -541,15 +551,14 @@
541 551  
542 552 </el-row>
543 553 <el-row :gutter="20">
544   - <el-col :span="8">
  554 + <el-col :span="24">
545 555 <el-form-item label="反馈内容" class="grid-content bg-purple" prop="name">
546 556 <el-upload class="upload-demo" ref="upload" :on-remove="handleRemove"
547 557 :action="uploadFileUrl" :on-success="handleUploadSuccess" :file-list="fileData"
548   - :show-file-list="false" v-if="zhixingBian">
549   - <div style="color: #2d8a58;margin-left: 10px;" slot="trigger">
550   - 上传附件
551   - </div>
  558 + :show-file-list="true" v-if="zhixingBian">
  559 + <el-button style="background-color: #fff;color: #3F9B6A;border: 1px solid #dcdfe6;" class="buttonHover" v-if="fileData.length==0">+点击上传</el-button>
552 560 </el-upload>
  561 + <div v-else>{{zhixingList.feedbackContent}}</div>
553 562 </el-form-item>
554 563 </el-col>
555 564  
... ... @@ -563,9 +572,11 @@
563 572 <el-button plain @click="bianji" style="background-color: #3F9B6A;color: #fff" v-if="zhixingBian">保存
564 573 </el-button>
565 574 </div>
566   -
567 575 </div>
568 576 </div>
  577 + <div style="display: flex;justify-content: flex-end;padding:10px" v-if="activeName=='first'">
  578 + <el-button @click="downloadPdf" style="background-color: #3F9B6A;color: #fff" >下载
  579 + </el-button></div>
569 580 </el-dialog>
570 581 </div>
571 582 </div>
... ... @@ -614,37 +625,37 @@
614 625 <div style="display:flex;padding:10px 0;">
615 626 <div style="margin-right:40px;width:17%">
616 627 <div style="color:#BBBBBB;font-size:10px;">吸引游客流量</div>
617   - <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div>
618   - <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">+45%</div>
  628 + <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">{{fenxiData.expectedAttractTraffic}}</span>人</div>
  629 + <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">{{fenxiData.expectedAttractTrafficAnalyse}}%</div>
619 630 <div style="height:5px;background-color:#FEC03D;"></div>
620 631 </div>
621 632 <div style="margin-right:40px;width:17%">
622 633 <div style="color:#BBBBBB;font-size:10px;">参与人数</div>
623   - <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div>
624   - <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">+45%</div>
  634 + <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">{{fenxiData.expectedParticipation}}</span>人</div>
  635 + <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">{{fenxiData.expectedParticipationAnalyse}}%</div>
625 636 <div style="height:5px;background-color:#58A3F7;"></div>
626 637 </div>
627 638 <div style="margin-right:40px;width:17%">
628 639 <div style="color:#BBBBBB;font-size:10px;">直接收益</div>
629   - <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div>
630   - <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">+45%</div>
  640 + <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">{{fenxiData.expectedDirectBenefits}}</span></div>
  641 + <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">{{fenxiData.expectedDirectBenefitsAnalysis}}%</div>
631 642 <div style="height:5px;background-color:#4BCED0;"></div>
632 643 </div>
633 644 <div style="margin-right:40px;width:17%">
634 645 <div style="color:#BBBBBB;font-size:10px;">间接收益</div>
635   - <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div>
636   - <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">+45%</div>
  646 + <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">{{fenxiData.expectedIndirectBenefits}}</span></div>
  647 + <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">{{fenxiData.expectedIndirectBenefitsAnalysis}}%</div>
637 648 <div style="height:5px;background-color:#3F9B6A;"></div>
638 649 </div>
639 650 <div style="margin-right:40px;width:17%">
640 651 <div style="color:#BBBBBB;font-size:10px;">投入生产比</div>
641   - <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div>
642   - <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">+45%</div>
  652 + <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">{{fenxiData.incomeAnalysis}}%</span></div>
  653 + <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">{{fenxiData.incomeAnalysis}}%</div>
643 654 <div style="height:5px;background-color:#8167F5;"></div>
644 655 </div>
645 656 </div>
646   - <div style="font-size:12px;margin:10px 0;">效果分析</div>
647   - <div style="display:flex;padding:10px 0;">
  657 + <!-- <div style="font-size:12px;margin:10px 0;">效果分析</div> -->
  658 + <!-- <div style="display:flex;padding:10px 0;">
648 659 <div style="margin-right:40px;width:17%">
649 660 <div style="color:#BBBBBB;font-size:10px;">吸引游客流量</div>
650 661 <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div>
... ... @@ -675,7 +686,7 @@
675 686 <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">+45%</div>
676 687 <div style="height:5px;background-color:#8167F5;"></div>
677 688 </div>
678   - </div>
  689 + </div> -->
679 690 </div>
680 691 <div style="padding:0 20px;margin-top:20px;">
681 692 <div style="border:1px solid #EFEFEF;padding:20px 15px">
... ... @@ -1106,9 +1117,8 @@
1106 1117 </el-table-column>
1107 1118 <el-table-column label="操作" width="350">
1108 1119 <template slot-scope="scope">
1109   - <div @click="shiyong(1,scope.row)" class="tableBtn greens">使用</div>
1110   - <div class="tableBtn greens" @click="handleEditForm(scope.row)">执行情况</div>
1111   - <div @click="actBian(scope.row)" class="tableBtn greens" v-if="scope.row.state == ''">修改</div>
  1120 + <div @click="shiyong(scope.row)" class="tableBtn greens">使用</div>
  1121 + <!-- <div @click="actBian(scope.row)" class="tableBtn greens" v-if="scope.row.state == ''">修改</div> -->
1112 1122 <div @click="handleDelete(scope.row)" class="tableBtn greens">删除</div>
1113 1123 </template>
1114 1124 </el-table-column>
... ... @@ -1145,12 +1155,17 @@
1145 1155 cereGet,
1146 1156 cereAdd,
1147 1157 cereEdit,
1148   - cereDel
  1158 + cereDel,
  1159 + excelQueryByPage,
  1160 + excelAdd,
  1161 + effectEvaluation
1149 1162 } from '../../api/activityBz'
1150 1163 import addAct from "./atmosphereBz"
1151 1164 import atmbians from "./atmosphereBian"
1152 1165 import * as echarts from 'echarts'
1153 1166 import Vue from 'vue'
  1167 + import html2canvas from 'html2canvas'
  1168 + import jsPDF from 'jspdf'
1154 1169 import {
1155 1170 uploadUrl
1156 1171 } from '@/utils/request'
... ... @@ -1164,6 +1179,7 @@ components: { addAct,atmbians},
1164 1179 acBian:'',//编辑数据
1165 1180 bianshow:false,//编辑页
1166 1181 },
  1182 + fenxiData:{},
1167 1183 planName:'',
1168 1184 planFen:'',
1169 1185 eventTheme:'',
... ... @@ -1222,9 +1238,11 @@ components: { addAct,atmbians},
1222 1238 text: '活动主要目的',
1223 1239 eventTheme: ''
1224 1240 },{
1225   - id: '5',
1226   - name: '状态',
1227   - eventTheme: '待审核'
  1241 + id:0,
  1242 + name: '范围设置',
  1243 + planName: '',
  1244 + text: '状态',
  1245 + eventTheme: ''
1228 1246 }],
1229 1247 internalLaborCostEstimation:'',
1230 1248 externalLaborCostEstimation:'',
... ... @@ -1304,7 +1322,8 @@ components: { addAct,atmbians},
1304 1322 pageindex: {
1305 1323 pageNumber: 1,
1306 1324 pageSize: 10,
1307   - dataOwnership:'2'
  1325 + dataOwnership:'2',
  1326 + isDraft:0
1308 1327 },
1309 1328 multipleSelection:[],//选择的数据
1310 1329 options: [],
... ... @@ -1345,6 +1364,7 @@ components: { addAct,atmbians},
1345 1364 duibiOne:{},
1346 1365 duibiTwo:{},
1347 1366 uploadFileUrl: uploadUrl, // 请求地址
  1367 + daoData:[],
1348 1368 fileData:[],
1349 1369 caoList:[],
1350 1370 caogaoshow:false
... ... @@ -1377,7 +1397,7 @@ components: { addAct,atmbians},
1377 1397 //查询全数据
1378 1398 async getAll() {
1379 1399 const res = await queryByPage((this.pageindex))
1380   - console.log(res.data)
  1400 +
1381 1401 this.tableData = res.data.content
1382 1402 this.total = res.data.content.length
1383 1403 let page = {
... ... @@ -1407,12 +1427,13 @@ components: { addAct,atmbians},
1407 1427 }));
1408 1428 },
1409 1429 async handleNodeClick(data){
1410   - console.log('Node clicked:', data);
  1430 +
1411 1431 let pageindex= {
1412 1432 pageNumber: 1,
1413 1433 pageSize: 10,
1414 1434 dataOwnership: '2',
1415   - classificationCode:data.id
  1435 + classificationCode:data.id,
  1436 + isDraft:0
1416 1437 }
1417 1438 const res = await queryByPage(pageindex)
1418 1439 this.tableData = res.data.content
... ... @@ -1422,7 +1443,8 @@ components: { addAct,atmbians},
1422 1443 this.pageindex={
1423 1444 pageNumber: 1,
1424 1445 pageSize: 10,
1425   - dataOwnership: '2'
  1446 + dataOwnership: '2',
  1447 + isDraft:0
1426 1448 }
1427 1449 const res = await queryByPage(this.pageindex)
1428 1450 this.tableData = res.data.content
... ... @@ -1469,13 +1491,13 @@ components: { addAct,atmbians},
1469 1491 //查询
1470 1492 async onSubmit(){
1471 1493 if(this.planName != '' && this.eventTheme == ''){
1472   - const res = await danqueryById({planName:this.planName,dataOwnership:'2', pageNumber: 1,pageSize: 10,})
  1494 + const res = await danqueryById({planName:this.planName,dataOwnership:'2', pageNumber: 1,pageSize: 10, auditTime:0})
1473 1495 this.tableData = res.data.content
1474 1496 }else if(this.planName == '' && this.eventTheme != ''){
1475   - const res = await danqueryById({eventTheme:this.eventTheme,dataOwnership:'2',pageNumber: 1,pageSize: 10,})
  1497 + const res = await danqueryById({eventTheme:this.eventTheme,dataOwnership:'2',pageNumber: 1,pageSize: 10, auditTime:0})
1476 1498 this.tableData = res.data.content
1477 1499 }else{
1478   - const res = await danqueryById({planName:this.planName,eventTheme:this.eventTheme,dataOwnership:'2',pageNumber: 1,pageSize: 10, })
  1500 + const res = await danqueryById({planName:this.planName,eventTheme:this.eventTheme,dataOwnership:'2',pageNumber: 1,pageSize: 10, auditTime:0 })
1479 1501 this.tableData = res.data.content
1480 1502 }
1481 1503  
... ... @@ -1497,7 +1519,9 @@ components: { addAct,atmbians},
1497 1519 },
1498 1520 //执行效果保存
1499 1521 async bianji() {
1500   - console.log(this.zhiXing)
  1522 + if(this.fileData.length !=0){
  1523 + this.zhixingList.feedbackContent = this.fileData[0].url
  1524 + }
1501 1525 if(this.zhiXing){
1502 1526 this.zhixingList.eventStartTime = this.zhixingList.planTime[0]
1503 1527 this.zhixingList.eventEndTime=this.zhixingList.planTime[1]
... ... @@ -1519,6 +1543,7 @@ components: { addAct,atmbians},
1519 1543 },
1520 1544 //详情点击
1521 1545 handleEditForm(item) {
  1546 + this.fileData = []
1522 1547 this.zhixingList={
1523 1548 planTime: [],
1524 1549 planName: '', //活动名称
... ... @@ -1600,8 +1625,8 @@ components: { addAct,atmbians},
1600 1625 that.tableData1[2].planName = res.data.content[0].sponsor
1601 1626 that.tableData1[3].eventTheme = res.data.content[0].participants
1602 1627 that.tableData1[3].planName = res.data.content[0].mainPurpose
1603   - // that.tableData1[4].eventTheme = res.data.content[0].state
1604   - that.tableData1[4].eventTheme = this.getStatus(res.data.content[0].state)
  1628 + that.tableData1[4].planName = this.getStatus(res.data.content[0].state)
  1629 + that.tableData1[4].eventTheme = res.data.content[0].rangeSetting
1605 1630 //活动成本信息
1606 1631 that.internalLaborCostEstimation=res.data.content[0].internalLaborCostEstimation
1607 1632 that.externalLaborCostEstimation=res.data.content[0].externalLaborCostEstimation
... ... @@ -1811,6 +1836,9 @@ that.expectedAttractTraffic=res.data.content[0].expectedAttractTraffic
1811 1836 }
1812 1837 },
1813 1838 xiaoguo(item) {
  1839 + effectEvaluation({id:item.id}).then(res=>{
  1840 + this.fenxiData = res.data
  1841 + })
1814 1842 this.xiaoguoBox = true
1815 1843 this.$nextTick(() => {
1816 1844 this.shopLiu(this.$refs.shopL);
... ... @@ -2079,20 +2107,30 @@ that.expectedAttractTraffic=res.data.content[0].expectedAttractTraffic
2079 2107  
2080 2108 },
2081 2109 handleUploadSuccess(response, file, fileList) {
2082   - console.log(response, file, fileList)
2083   - // this.fileData.push(file)
  2110 + const fileMsg = {
  2111 + name:file.name,
  2112 + url: file.response.data.url,
  2113 + }
  2114 + // 将文件地址存储在 uploadedFiles 数组中
  2115 + this.fileData.push(fileMsg);
2084 2116 },
2085 2117 handleRemove(){
2086   -
  2118 +this.fileData=[]
  2119 + },
  2120 + daoru(response, file, fileList){
  2121 + this.daoData.push(file.raw)
  2122 + const formDate = new FormData()
  2123 + formDate.append('file', this.daoData[0])
  2124 + excelAdd(formDate).then(res => {
  2125 + this.getAll()
  2126 + })
2087 2127 },
2088   - daoru(){
2089   -
2090   - },
2091 2128 caogao(){
2092 2129 let pageindex = {
2093 2130 pageNumber: 1,
2094 2131 pageSize: 10,
2095   - dataOwnership: '2'
  2132 + dataOwnership: '2',
  2133 + isDraft:1
2096 2134 }
2097 2135 queryByPage(pageindex).then(res=>{
2098 2136 this.caoList = res.data.content
... ... @@ -2100,7 +2138,7 @@ that.expectedAttractTraffic=res.data.content[0].expectedAttractTraffic
2100 2138 this.caogaoshow =true
2101 2139  
2102 2140 },
2103   - shiyong(val,item){
  2141 + shiyong(item){
2104 2142  
2105 2143 const h = this.$createElement;
2106 2144 this.$msgbox({
... ... @@ -2115,14 +2153,15 @@ that.expectedAttractTraffic=res.data.content[0].expectedAttractTraffic
2115 2153 customClass: 'oe-dialog-btn',
2116 2154 beforeClose: (action, instance, done) => {
2117 2155 if (action === 'confirm') {
2118   - // contentEdit({
2119   - // id: item.id,
2120   - // draftStatus:1
2121   - // }).then(res => {
2122   - // this.getAll()
2123   - // this.getcaogao()
2124   - // done();
2125   - // })
  2156 + xiangedit({
  2157 + id: item.id,
  2158 + draftStatus:1,
  2159 + isDraft:0
  2160 + }).then(res => {
  2161 + this.getAll()
  2162 + this.caogao()
  2163 + done();
  2164 + })
2126 2165 } else {
2127 2166 done();
2128 2167 }
... ... @@ -2131,6 +2170,56 @@ that.expectedAttractTraffic=res.data.content[0].expectedAttractTraffic
2131 2170  
2132 2171  
2133 2172 },
  2173 + async daochu(){
  2174 + let res = await excelQueryByPage(this.pageindex)
  2175 + if(!res){
  2176 + return
  2177 + }
  2178 + const blob = new Blob([res], { type: 'application/vnd.ms-excel' })
  2179 + const fileName = '审核流程.xls'
  2180 + if ('download' in document.createElement('a')) {
  2181 + // 非IE下载
  2182 + const elink = document.createElement('a')
  2183 + elink.download = fileName
  2184 + elink.style.display = 'none'
  2185 + elink.href = URL.createObjectURL(blob)
  2186 + document.body.appendChild(elink)
  2187 + elink.click()
  2188 + URL.revokeObjectURL(elink.href) // 释放URL 对象
  2189 + document.body.removeChild(elink)
  2190 + } else {
  2191 + // IE10+下载
  2192 + navigator.msSaveBlob(blob, fileName)
  2193 + }
  2194 + this.$message({
  2195 + message: '导出成功',
  2196 + type: 'success'
  2197 + })
  2198 +
  2199 +
  2200 + },
  2201 + // 下载
  2202 + async downloadPdf() {
  2203 + const content = this.$refs.actXiang;
  2204 +
  2205 + // 使用 html2canvas 将 div 渲染为画布
  2206 + const canvas = await html2canvas(content);
  2207 +
  2208 + // 获取画布的图像数据
  2209 + const imgData = canvas.toDataURL('image/png');
  2210 +
  2211 + // 创建一个新的 PDF 文档
  2212 + const pdf = new jsPDF('p', 'mm', 'a4');
  2213 +
  2214 + // 添加图像到 PDF,第二个参数是图像格式,第三个参数是缩放比例
  2215 + const imgWidth = 190; // 图像的宽度(mm)
  2216 + const imgHeight = (canvas.height * imgWidth) / canvas.width; // 保持图像的宽高比
  2217 +
  2218 + pdf.addImage(imgData, 'PNG', 10, 10, imgWidth, imgHeight); // 10, 10 是图像在 PDF 中的位置(mm)
  2219 +
  2220 + // 保存 PDF 文件
  2221 + pdf.save('氛围方案.pdf');
  2222 + },
2134 2223 }
2135 2224 }
2136 2225 </script>
... ...
yanshouban/src/views/atmosphere/atmosphereSp.vue
... ... @@ -59,7 +59,7 @@
59 59 {{scope.row.state == ''?'待提交':scope.row.state == '1'?'待审批':scope.row.state == '2'?'部门领导审批':scope.row.state == '3'?'公司领导审批':scope.row.state == '4'?'其他审批':scope.row.state == '5'?'审核通过':'已驳回'}}
60 60 </template>
61 61 </el-table-column>
62   - <el-table-column label="修改时间" prop="createDate" min-width="250" >
  62 + <el-table-column label="创建时间" prop="createDate" min-width="250" >
63 63 </el-table-column>
64 64 <el-table-column prop="createUser" label="上传人员" min-width="80">
65 65  
... ... @@ -912,7 +912,8 @@
912 912 pageindex: {
913 913 pageNumber: 1,
914 914 pageSize: 10,
915   - dataOwnership: '2'
  915 + dataOwnership: '2',
  916 + isDraft:0
916 917 },
917 918 multipleSelection: [],
918 919 options: [{
... ...
yanshouban/src/views/business/autd/index.vue
... ... @@ -450,7 +450,7 @@ export default {
450 450 this.total = res.data.total
451 451 this.tableData.map(res=>{
452 452 res.shopPhone = this.$decrypt(res.shopPhone)
453   - res.shopPassword = this.$decrypt(res.shopPassword)
  453 + // res.shopPassword = this.$decrypt(res.shopPassword)
454 454 res.emailAddress = this.$decrypt(res.emailAddress)
455 455 res.idCardNum = this.$decrypt(res.idCardNum)
456 456 })
... ...
yanshouban/src/views/business/businessList/index.vue
... ... @@ -64,14 +64,23 @@
64 64 </el-button>
65 65 </div>
66 66 </div>
67   - <div style="margin-bottom:20px;">
  67 + <div style="margin-bottom: 20px;display:flex;">
68 68 <el-button
69 69 @click="addbuss"
70 70 icon="el-icon-circle-plus-outline"
71   - style="background-color: #3F9B6A;color: #fff;"
  71 + style="background-color: #3F9B6A;color: #fff;margin-right:15px;"
72 72 >新增
73 73 </el-button>
74   -
  74 + <el-upload class="upload-demo" ref="upload"
  75 + :limit="1"
  76 + accept=".xlsx"
  77 + :action="action"
  78 + :on-success="daoru"
  79 + :file-list="fileData"
  80 + :auto-upload="true"
  81 + :show-file-list="false">
  82 + <el-button style="background-color: #fff;color: #3F9B6A;border: 1px solid #dcdfe6;" class="buttonHover">导入</el-button>
  83 + </el-upload>
75 84 </div>
76 85 <!-- 表格 -->
77 86 <div class="tableBox">
... ... @@ -659,7 +668,8 @@ import {
659 668 businessListGetById,
660 669 businessListUpdate,
661 670 businessListStart,
662   - delBusinessById
  671 + delBusinessById,
  672 + excelAdd
663 673 } from '@/api/business'
664 674 import upimg from "@/components/ImageUpload/index";
665 675 import {
... ... @@ -668,11 +678,14 @@ import upimg from &quot;@/components/ImageUpload/index&quot;;
668 678 import {
669 679 getAlls as map1
670 680 } from '@/api/map1'
  681 + import { uploadUrl,token } from '@/utils/request'
671 682 export default {
672 683 components: {upimg},
673 684 data () {
674 685 // 这里存放数据
675 686 return {
  687 + action:uploadUrl,
  688 + fileData:[],
676 689 // 新建商家弹框
677 690 dialogVisible: false,
678 691 activeName: 0,
... ... @@ -899,8 +912,7 @@ export default {
899 912 addCheck (ruleForm) {
900 913 this.$refs[ruleForm].validate(valid => {
901 914 if (valid) {
902   - console.log(this.userState)
903   - console.log(this.ruleForm)
  915 +
904 916 // if (this.personPhone !== '') {
905 917 // this.ruleForm.chargePersonPhone = this.personPhone
906 918 // }
... ... @@ -932,6 +944,15 @@ export default {
932 944 }
933 945  
934 946 if (!this.userState) {
  947 +
  948 + // this.ruleForm.shopPhone = this.$encrypt(this.ruleForm.shopPhone)
  949 + // this.ruleForm.shopPassword = this.$encrypt(this.ruleForm.shopPassword)
  950 + // this.ruleForm.idCardNum = this.$encrypt(this.ruleForm.idCardNum)
  951 + // this.ruleForm.emailAddress = this.$encrypt(this.ruleForm.emailAddress)
  952 + // this.ruleForm.shopAdress = this.$encrypt(this.ruleForm.shopAdress)
  953 + // this.ruleForm.legalRepresentative = this.$encrypt(this.ruleForm.legalRepresentative)
  954 + // this.ruleForm.chargePersonPhone = this.$encrypt(this.ruleForm.chargePersonPhone)
  955 +
935 956 businessListSave(this.ruleForm).then(res => {
936 957  
937 958 if (res.code === '') {
... ... @@ -1052,21 +1073,24 @@ export default {
1052 1073  
1053 1074 })
1054 1075 },
1055   - // businessListGetAll
  1076 +
1056 1077 // 初始化查询所有数据
1057   - async getAll (formInline) {
  1078 + async getAll(formInline) {
1058 1079 const res = await businessListGetAll(formInline)
  1080 +
1059 1081 this.total = res.data.total
1060 1082 this.tableData = res.data.list
1061   - this.tableData.map(res=>{
1062   - res.shopPhone = this.$decrypt(res.shopPhone)
1063   - res.shopPassword = this.$decrypt(res.shopPassword)
1064   - res.idCardNum = this.$decrypt(res.idCardNum)
1065   - res.emailAddress = this.$decrypt(res.emailAddress)
1066   - res.shopAdress = this.$decrypt(res.shopAdress)
1067   - res.legalRepresentative = this.$decrypt(res.legalRepresentative)
1068   - res.chargePersonPhone = this.$decrypt(res.chargePersonPhone)
  1083 +
  1084 + this.tableData.map(item=>{
  1085 + item.shopPhone = this.$decrypt(item.shopPhone)
  1086 + item.shopPassword = this.$decrypt(item.shopPassword)
  1087 + item.idCardNum = this.$decrypt(item.idCardNum)
  1088 + item.emailAddress = this.$decrypt(item.emailAddress)
  1089 + item.shopAdress = this.$decrypt(item.shopAdress)
  1090 + item.legalRepresentative = this.$decrypt(item.legalRepresentative)
  1091 + item.chargePersonPhone = this.$decrypt(item.chargePersonPhone)
1069 1092 })
  1093 +
1070 1094 },
1071 1095 // 编辑号码
1072 1096 inputPhone () {
... ... @@ -1122,6 +1146,14 @@ export default {
1122 1146 MingDelete(index){
1123 1147 this.ziyuanData.splice(index, 1);
1124 1148 },
  1149 + daoru(response, file, fileList){
  1150 + this.fileData.push(file.raw)
  1151 + const formDate = new FormData()
  1152 + formDate.append('file', this.fileData[0])
  1153 + excelAdd(formDate).then(res => {
  1154 + this.getAll(this.formInline)
  1155 + })
  1156 + },
1125 1157 }
1126 1158 }
1127 1159 </script>
... ...
yanshouban/src/views/couponmanagement/coupon.vue
... ... @@ -226,7 +226,7 @@
226 226 this.shopList = res1.data.list
227 227 this.shopList.map(res=>{
228 228 res.shopPhone = this.$decrypt(res.shopPhone)
229   - res.shopPassword = this.$decrypt(res.shopPassword)
  229 + // res.shopPassword = this.$decrypt(res.shopPassword)
230 230 res.idCardNum = this.$decrypt(res.idCardNum)
231 231 res.emailAddress = this.$decrypt(res.emailAddress)
232 232 res.shopAdress = this.$decrypt(res.shopAdress)
... ...
yanshouban/src/views/customer/icManagement/index.vue
... ... @@ -507,6 +507,14 @@
507 507 const res = await icManAll(this.pageindex);
508 508 this.tableData = res.data.content
509 509 this.total = res.data.content.length
  510 + this.tableData.map(res=>{
  511 + res.unifiedSocialCreditCode = this.$decrypt(res.unifiedSocialCreditCode)
  512 + res.legalRepresentative = this.$decrypt(res.legalRepresentative)
  513 + res.address = this.$decrypt(res.address)
  514 + res.emailAddress = this.$decrypt(res.emailAddress)
  515 + res.contactName = this.$decrypt(res.contactName)
  516 + res.contactPhone = this.$decrypt(res.contactPhone)
  517 + })
510 518 },
511 519 // 编辑确认
512 520 async msgeditS() {
... ... @@ -610,6 +618,14 @@
610 618 const res = await icManAll(this.formSel)
611 619 this.tableData = res.data.content
612 620 this.total = res.data.content.length
  621 + this.tableData.map(res=>{
  622 + res.unifiedSocialCreditCode = this.$decrypt(res.unifiedSocialCreditCode)
  623 + res.legalRepresentative = this.$decrypt(res.legalRepresentative)
  624 + res.address = this.$decrypt(res.address)
  625 + res.emailAddress = this.$decrypt(res.emailAddress)
  626 + res.contactName = this.$decrypt(res.contactName)
  627 + res.contactPhone = this.$decrypt(res.contactPhone)
  628 + })
613 629 },
614 630  
615 631 // 详情点击
... ...
yanshouban/src/views/customer/icReview/index.vue
... ... @@ -821,6 +821,14 @@ export default {
821 821 const res = await icManAll(this.pageindex)
822 822 this.tableData = res.data.content
823 823 this.total = res.data.content.length
  824 + this.tableData.map(res=>{
  825 + res.unifiedSocialCreditCode = this.$decrypt(res.unifiedSocialCreditCode)
  826 + res.legalRepresentative = this.$decrypt(res.legalRepresentative)
  827 + res.address = this.$decrypt(res.address)
  828 + res.emailAddress = this.$decrypt(res.emailAddress)
  829 + res.contactName = this.$decrypt(res.contactName)
  830 + res.contactPhone = this.$decrypt(res.contactPhone)
  831 + })
824 832 },
825 833  
826 834 bianjilist(item) {
... ... @@ -835,7 +843,16 @@ export default {
835 843 const res = await icManAll(this.formSel)
836 844 this.tableData = res.data.content
837 845 this.total = res.data.content.length
  846 + this.tableData.map(res=>{
  847 + res.unifiedSocialCreditCode = this.$decrypt(res.unifiedSocialCreditCode)
  848 + res.legalRepresentative = this.$decrypt(res.legalRepresentative)
  849 + res.address = this.$decrypt(res.address)
  850 + res.emailAddress = this.$decrypt(res.emailAddress)
  851 + res.contactName = this.$decrypt(res.contactName)
  852 + res.contactPhone = this.$decrypt(res.contactPhone)
  853 + })
838 854 },
  855 +
839 856 // 详情点击
840 857 async handleEditForm(item) {
841 858 this.secondData = item;
... ...
yanshouban/src/views/customer/rUser/index.vue
... ... @@ -335,7 +335,6 @@
335 335 } from '@/utils/request'
336 336  
337 337 import {
338   - businessListGetAll,
339 338 businessListSave,
340 339 businessListGetById,
341 340 businessListUpdate,
... ...
yanshouban/src/views/customer/rsaManagement/index.vue
... ... @@ -803,6 +803,14 @@
803 803 const res = await rsaManAll(this.pageindex);
804 804 this.tableData = res.data.content;
805 805 this.total = res.data.content.length
  806 + this.tableData.map(res=>{
  807 + res.contactPhone = this.$decrypt(res.contactPhone)
  808 + res.idCardNumber = this.$decrypt(res.idCardNumber)
  809 + res.unifiedSocialCreditCode = this.$decrypt(res.unifiedSocialCreditCode)
  810 + res.legalRepresentative = this.$decrypt(res.legalRepresentative)
  811 + res.address = this.$decrypt(res.address)
  812 + res.emailAddress = this.$decrypt(res.emailAddress)
  813 + })
806 814 const ziyuan = await getAlls(this.pageindex)
807 815 const ggw = await map1(this.pageindex)
808 816 this.ziyuanData = [...ziyuan.data.content,...ggw.data.content]
... ... @@ -1010,6 +1018,14 @@ async getshen(item){
1010 1018 const res = await rsaManAll(this.formSel)
1011 1019 this.tableData = res.data.content
1012 1020 this.total = res.data.content.length
  1021 + this.tableData.map(res=>{
  1022 + res.contactPhone = this.$decrypt(res.contactPhone)
  1023 + res.idCardNumber = this.$decrypt(res.idCardNumber)
  1024 + res.unifiedSocialCreditCode = this.$decrypt(res.unifiedSocialCreditCode)
  1025 + res.legalRepresentative = this.$decrypt(res.legalRepresentative)
  1026 + res.address = this.$decrypt(res.address)
  1027 + res.emailAddress = this.$decrypt(res.emailAddress)
  1028 + })
1013 1029 },
1014 1030 mingClose(){
1015 1031 this.multipleSelection =[]
... ...
yanshouban/src/views/customer/rsaReview/index.vue
... ... @@ -929,6 +929,14 @@ export default {
929 929 const res = await rsaManAll(this.pageindex);
930 930 this.tableData = res.data.content;
931 931 this.total = res.data.content.length
  932 + this.tableData.map(res=>{
  933 + res.contactPhone = this.$decrypt(res.contactPhone)
  934 + res.idCardNumber = this.$decrypt(res.idCardNumber)
  935 + res.unifiedSocialCreditCode = this.$decrypt(res.unifiedSocialCreditCode)
  936 + res.legalRepresentative = this.$decrypt(res.legalRepresentative)
  937 + res.address = this.$decrypt(res.address)
  938 + res.emailAddress = this.$decrypt(res.emailAddress)
  939 + })
932 940 },
933 941 // 查询
934 942 async onSubmit() {
... ... @@ -936,6 +944,14 @@ export default {
936 944 const res = await rsaManAll(this.formSel)
937 945 this.tableData = res.data.content
938 946 this.total = res.data.content.length
  947 + this.tableData.map(res=>{
  948 + res.contactPhone = this.$decrypt(res.contactPhone)
  949 + res.idCardNumber = this.$decrypt(res.idCardNumber)
  950 + res.unifiedSocialCreditCode = this.$decrypt(res.unifiedSocialCreditCode)
  951 + res.legalRepresentative = this.$decrypt(res.legalRepresentative)
  952 + res.address = this.$decrypt(res.address)
  953 + res.emailAddress = this.$decrypt(res.emailAddress)
  954 + })
939 955  
940 956 },
941 957  
... ...
yanshouban/src/views/customer/yixiang/index.vue 0 → 100644
  1 +<template>
  2 + <div style="background-color:#f7f7f7;padding:10px 10px;">
  3 + <div class="zhuti">
  4 + <div style="height:58px;line-height:58px;">
  5 + <div style="color:#0006"> <span>商户寻租管理</span> <span style="padding:0 5px;">></span> <span
  6 + style="color:#000000e6">招商意向管理</span></div>
  7 + </div>
  8 + <div>
  9 + <!-- 搜索 -->
  10 + <div class="formSearch">
  11 + <el-form :inline="true" :model="formSel">
  12 + <el-form-item label="意向客户名称">
  13 + <el-input v-model="formSel.intentCustomerName" placeholder="请输入" class="moren" style="width:168px" />
  14 + </el-form-item>
  15 + <el-form-item label="意向资源名称">
  16 + <el-input v-model="formSel.intentionalStoreName" placeholder="请输入" class="moren" style="width:168px" />
  17 + </el-form-item>
  18 + <!-- <el-form-item label="编号">
  19 + <el-input v-model="formSel.id" placeholder="请输入" class="moren" style="width:168px" />
  20 + </el-form-item> -->
  21 + <el-form-item label="意向资源类型">
  22 + <el-select v-model="formSel.intentionalBusinessType" placeholder="请选择" style="width:168px">
  23 + <el-option label="商铺" value="商铺" />
  24 + <el-option label="广告位" value="广告位" />
  25 + <el-option label="场地" value="场地" />
  26 + </el-select>
  27 + </el-form-item>
  28 +
  29 +
  30 + </el-form>
  31 + <div style="width: 15%;">
  32 + <el-button style="background-color: #3F9B6A;color: #fff" @click="onSubmit">查询
  33 + </el-button>
  34 + <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;"
  35 + @click="resetting">重置
  36 + </el-button>
  37 + </div>
  38 +
  39 + </div>
  40 + <div style="margin-bottom:20px;">
  41 + <el-button style="background-color: #3F9B6A;color: #fff;padding:8px 15px;" icon="el-icon-circle-plus-outline"
  42 + @click="addbuss">新增</el-button>
  43 + </div>
  44 + <!-- 表格 -->
  45 + <el-table :data="
  46 + tableData.slice(
  47 + (currentPage - 1) * pageSize,
  48 + currentPage * pageSize
  49 + )
  50 + " :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}">
  51 + <el-table-column label="序号" min-width="80">
  52 + <template slot-scope="scope">
  53 + {{scope.$index+1}}
  54 + </template>
  55 + </el-table-column>
  56 + <el-table-column label="意向客户名称" prop="intentCustomerName" min-width="150" />
  57 + <el-table-column label="意向资源名称" prop="intentionalStoreName" min-width="150" />
  58 + <el-table-column label="编号" prop="id" min-width="150" />
  59 + <el-table-column label="意向资源类型" prop="intentionalBusinessType" min-width="150" />
  60 + <el-table-column label="开始日期" prop="businessStartTime" min-width="200" />
  61 + <el-table-column label="意向租期" prop="leaseTerm" min-width="150" />
  62 + <el-table-column label="意向租金单价(元/平方)" prop="rent" min-width="250" />
  63 +
  64 + <el-table-column label="操作" min-width="350">
  65 + <template slot-scope="scope">
  66 + <div class="tableBtn greens" @click="handleEditForm(scope.row)">
  67 + 查看
  68 + </div>
  69 + <div class="tableBtn greens" @click="bianjilist(scope.row)" >
  70 + 编辑
  71 + </div>
  72 + <div class="tableBtn greens" @click="pipei(scope.row)" >
  73 + 一键匹配
  74 + </div>
  75 + </template>
  76 + </el-table-column>
  77 + </el-table>
  78 + <!-- 详情框 :visible.sync="detbox" -->
  79 + <!-- <div v-show="detbox" class="dialog_css_Xq " style="padding: 0;width:85%"> -->
  80 + <el-dialog :visible.sync="detbox" custom-class="tongyong_css" style="padding: 0" width="55%" center
  81 + :close-on-click-modal="false" class="dialog_css_Xq" :show-close="false">
  82 + <div style="
  83 + background-color: #fafafa;
  84 + border: 1px solid #eaeaea;
  85 + height: 42px;
  86 + width: 100%;
  87 + padding: 0 20px;
  88 + line-height: 42px;
  89 + ">
  90 + {{edit==true?'详情':'编辑'}}
  91 + </div>
  92 + <div style="padding: 0 20px">
  93 + <div style="
  94 + display: flex;
  95 + justify-content: space-between;
  96 + font-size: 14px;
  97 + margin-bottom: 20px;
  98 + ">
  99 + <el-tabs v-model="card" >
  100 + <el-tab-pane label="意向信息" name="first">
  101 + <el-form ref="form" label-width="150px">
  102 + <el-form-item label="租用时段">
  103 + <el-date-picker style="width: 100%;" v-model="rentalPeriodTime"
  104 + value-format="yyyy-MM-dd" type="datetimerange" range-separator="至"
  105 + start-placeholder="开始日期" end-placeholder="结束日期" align="right" :disabled="edit?true:false">
  106 + </el-date-picker>
  107 + </el-form-item>
  108 + <el-form-item label="租期">
  109 + <el-select v-model="secondData.leaseTerm" :disabled="edit?true:false">
  110 + <el-option label="年" value="年" />
  111 + <el-option label="月" value="月" />
  112 + <el-option label="日" value="日" />
  113 + </el-select>
  114 + </el-form-item>
  115 + <el-form-item label="租金">
  116 + <el-input v-model="secondData.rent" :disabled="edit?true:false"></el-input>
  117 + </el-form-item>
  118 + <el-form-item label="意向经营类型">
  119 + <el-select v-model="secondData.intentionalBusinessType" placeholder="请选择" :disabled="edit?true:false">
  120 + <el-option label="商铺" value="商铺" />
  121 + <el-option label="场地" value="场地" />
  122 + <el-option label="广告位" value="广告位" />
  123 + </el-select>
  124 + </el-form-item>
  125 + <el-form-item label="意向区域(如有)">
  126 + <el-input v-model="secondData.intendedArea" :disabled="edit?true:false"></el-input>
  127 + </el-form-item>
  128 + <el-form-item label="意向商铺位置(如有)">
  129 + <el-input v-model="secondData.intentionalStoreLocation" :disabled="edit?true:false"></el-input>
  130 + </el-form-item>
  131 + <el-form-item label="意向商铺名称(如有)">
  132 + <el-input v-model="secondData.intentionalStoreName" :disabled="edit?true:false"></el-input>
  133 + </el-form-item>
  134 +
  135 + </el-form>
  136 +
  137 + </el-tab-pane>
  138 + <el-tab-pane label="主体信息" name="second">
  139 + <el-form ref="form" label-width="140px">
  140 + <el-form-item label="主体名称">
  141 + <el-input v-model="secondData.subjectName" :disabled="edit?true:false"></el-input>
  142 + </el-form-item>
  143 + <el-form-item label="统一社会信用代码">
  144 + <el-input v-model="secondData.unifiedSocialCreditCode" :disabled="edit?true:false"></el-input>
  145 + </el-form-item>
  146 + <el-form-item label="类型">
  147 + <el-select v-model="secondData.type" placeholder="请选择" :disabled="edit?true:false">
  148 + <el-option label="个人" value="个人" />
  149 + <el-option label="企业" value="企业" />
  150 + </el-select>
  151 + </el-form-item>
  152 + <el-form-item label="法定代表人">
  153 + <el-input v-model="secondData.legalRepresentative" :disabled="edit?true:false"></el-input>
  154 + </el-form-item>
  155 + <el-form-item label="经营范围">
  156 + <el-input type="textarea" v-model="secondData.businessScope" :rows="4"
  157 + :disabled="edit?true:false"></el-input>
  158 + </el-form-item>
  159 + <el-form-item label="注册资本">
  160 + <el-input v-model="secondData.registeredCapital" :disabled="edit?true:false"></el-input>
  161 + </el-form-item>
  162 + <el-form-item label="成立日期">
  163 + <el-input v-model="secondData.establishmentDate" :disabled="edit?true:false"></el-input>
  164 + </el-form-item>
  165 + <el-form-item label="住所">
  166 + <el-input v-model="secondData.address" :disabled="edit?true:false"></el-input>
  167 + </el-form-item>
  168 + <el-form-item label="邮箱地址">
  169 + <el-input v-model="secondData.emailAddress" :disabled="edit?true:false"></el-input>
  170 + </el-form-item>
  171 + <el-form-item label="营业期限">
  172 + <el-date-picker style="width: 100%;" v-model="businessStartTime"
  173 + value-format="yyyy-MM-dd" type="datetimerange" range-separator="至"
  174 + start-placeholder="开始日期" end-placeholder="结束日期" align="right" :disabled="edit?true:false">
  175 + </el-date-picker>
  176 + </el-form-item>
  177 + <el-form-item label="营业执照">
  178 + <upimg v-model="secondData.businessLicense" :limit="1" :fileSize="1" :isShowTip="false"
  179 + v-if="edit==false"></upimg>
  180 + <img :src="secondData.businessLicense" alt="" v-else>
  181 + </el-form-item>
  182 + </el-form>
  183 +
  184 + </el-tab-pane>
  185 +
  186 + <el-tab-pane label="申请人信息" name="there">
  187 + <el-form ref="form" label-width="140px">
  188 + <el-form-item label="申请人">
  189 + <el-input v-model="secondData.intentCustomerName" :disabled="edit?true:false"></el-input>
  190 + </el-form-item>
  191 + <el-form-item label="联系电话">
  192 + <el-input v-model="secondData.contactPhone" :disabled="edit?true:false"></el-input>
  193 + </el-form-item>
  194 + <el-form-item label="证件类型">
  195 + <el-select v-model="ruleForm.idCardType" placeholder="请选择" :disabled="edit?true:false">
  196 + <el-option label="身份证" value="身份证" />
  197 + </el-select>
  198 + </el-form-item>
  199 + <el-form-item label="身份证号码">
  200 + <el-input v-model="secondData.idCardNumber" :disabled="edit?true:false"></el-input>
  201 + </el-form-item>
  202 + <el-form-item label="身份证有效期">
  203 + <el-date-picker style="width: 100%;" v-model="idCardValidStart" value-format="yyyy-MM-dd"
  204 + type="datetimerange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"
  205 + align="right" :disabled="edit?true:false">
  206 + </el-date-picker>
  207 + </el-form-item>
  208 + <el-form-item label="身份证照片(正面)">
  209 + <upimg v-model="secondData.idCardPhotoFront" :limit="1" :fileSize="1" :isShowTip="false"
  210 + v-if="edit==false"></upimg>
  211 + <img :src="secondData.idCardPhotoFront" alt="" v-else style="width:150px;height:150px">
  212 + </el-form-item>
  213 + <el-form-item label="身份证照片(反面)">
  214 + <upimg v-model="secondData.idCardPhotoBack" :limit="1" :fileSize="1" :isShowTip="false"
  215 + v-if="edit==false"></upimg>
  216 + <img :src="secondData.idCardPhotoBack" alt="" v-else style="width:150px;height:150px">
  217 + </el-form-item>
  218 + <el-form-item label="是否为法人">
  219 + <el-select v-model="ruleForm.isLegalPerson" placeholder="请选择" :disabled="edit?true:false">
  220 + <el-option label="否" value="0" />
  221 + <el-option label="是" value="1" />
  222 +
  223 + </el-select>
  224 + </el-form-item>
  225 + <el-form-item label="企业授权书">
  226 + <upimg v-model="secondData.enterpriseAuthorization" :limit="1" :fileSize="1" :isShowTip="false"
  227 + v-if="edit==false"></upimg>
  228 + <img :src="secondData.enterpriseAuthorization" alt="" style="width:150px;height:150px" v-else>
  229 + </el-form-item>
  230 + </el-form>
  231 + <!-- <div style="padding: 0 20px 20px 20px">
  232 + <div style="margin-top: 20px;">
  233 + <div style="width: 100%;border:1px solid #EAEAEA;">
  234 + <div
  235 + style="display: flex;flex-wrap: wrap;justify-content: space-between;padding: 10px 10px;width: 100%;border-top:1px solid #EAEAEA;background-color: #FAFAFA;border-right:1px solid #EAEAEA;border-left:1px solid #EAEAEA;">
  236 + <div style="line-height: 28px;">意向资源</div>
  237 + <div style="" class="leixingSel" v-if="edit == false">
  238 + <div class="tableBtn greens" >添加</div>
  239 +
  240 + </div>
  241 + </div>
  242 + <div style="padding:15px">
  243 + <el-table :data="selshop"
  244 + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"
  245 + :border="true" style="width: 100%">
  246 + <el-table-column label="序号" prop="id" min-width="6%" />
  247 + <el-table-column label="资源名称" prop="shopName" min-width="10%" />
  248 + <el-table-column label="资源编号" prop="detailedLocation" min-width="10%" />
  249 + <el-table-column label="资源类型" prop="actualUsableArea" min-width="10%" />
  250 + <el-table-column label="意向租期" prop="belongingRegion" min-width="10%" />
  251 + <el-table-column label="意向租金(元)" prop="belongingDepartment" min-width="10%" />
  252 + <el-table-column label="操作" prop="head" min-width="10%">
  253 + <template slot-scope="scope" v-if="edit == false">
  254 + <div class="tableBtn greens" @click="bianjilist(scope.row)">
  255 + 编辑
  256 + </div>
  257 + <div class="tableBtn greens" @click="delGuan(scope.row)">
  258 + 删除
  259 + </div>
  260 + </template>
  261 + </el-table-column>
  262 + </el-table>
  263 + </div>
  264 + </div>
  265 + </div>
  266 +
  267 + </div>-->
  268 + </el-tab-pane>
  269 + </el-tabs>
  270 + </div>
  271 +
  272 + <div style="
  273 + width: 99%;
  274 + padding: 10px;
  275 + display: flex;
  276 + justify-content: flex-end;
  277 + ">
  278 + <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;"
  279 + @click="closeFn(1)">取消</el-button>
  280 + <!-- <el-button
  281 + style="background-color: #3F9B6A;color: #fff"
  282 + @click="bianji"
  283 + v-if="edit"
  284 + >编辑</el-button
  285 + > -->
  286 +
  287 + <el-button style="background-color: #3F9B6A;color: #fff" @click="msgeditS"
  288 + v-if="edit == false">确定</el-button>
  289 + </div>
  290 + </div>
  291 + </el-dialog>
  292 + <!-- 一键匹配 -->
  293 + <el-dialog :visible.sync="pip" custom-class="tongyong_css" style="padding: 0" width="55%" center
  294 + :close-on-click-modal="false" class="dialog_css_Xq" >
  295 + <div style="
  296 + background-color: #fafafa;
  297 + border: 1px solid #eaeaea;
  298 + height: 42px;
  299 + width: 100%;
  300 + padding: 0 20px;
  301 + line-height: 42px;
  302 + ">
  303 + 匹配记录
  304 + </div>
  305 + <div style="padding: 0 20px">
  306 + <div style="
  307 + display: flex;
  308 + justify-content: space-between;
  309 + font-size: 14px;
  310 +
  311 + ">
  312 + <el-form ref="form" :inline="true" :model="pipeiSel" style="padding-top: 10px;">
  313 + <el-form-item label="意向资源类型">
  314 + <el-select v-model="pipeiSel.resources.cereRentalPolicies.businessType" placeholder="请选择" style="width:168px">
  315 + <el-option label="商铺" value="sp" />
  316 + <el-option label="广告位" value="gg" />
  317 + <el-option label="场地" value="cd" />
  318 + </el-select>
  319 +
  320 + </el-form-item>
  321 + <el-form-item label="租期">
  322 + <el-select v-model="pipeiSel.resources.cereRentalPolicies.leaseTerm" style="width:168px" >
  323 + <el-option label="年" value="年" />
  324 + <el-option label="月" value="月" />
  325 + <el-option label="日" value="日" />
  326 + </el-select>
  327 + </el-form-item>
  328 + <el-form-item label="租金范围">
  329 + <el-select v-model="pipeiSel.resources.cereRentalPolicies.rentalPrice" placeholder="请选择" style="width:168px">
  330 + <el-option label="0-10000" value="0-10000" />
  331 + <el-option label="10000-20000" value="10000-20000" />
  332 + <el-option label="20000-50000" value="20000-50000" />
  333 + <el-option label="50000-100000" value="50000-100000" />
  334 + </el-select>
  335 + </el-form-item>
  336 + </el-form>
  337 + <div style="
  338 + padding-top: 15px;
  339 + ">
  340 + <el-button style="background-color: #3F9B6A;color: #fff"
  341 + @click="pipeiBtn" >查询</el-button>
  342 + <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;"
  343 + @click="pipeiClose" >重置</el-button>
  344 + </div>
  345 + </div>
  346 + <!-- <div style="margin-bottom:20px;">
  347 + <el-button style="background-color: #3F9B6A;color: #fff"
  348 + >导出</el-button>
  349 + </div> -->
  350 + <el-table :data="
  351 + pipData.slice(
  352 + (currentPage - 1) * pageSize,
  353 + currentPage * pageSize
  354 + )
  355 + " :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}">
  356 + <el-table-column label="序号" min-width="80">
  357 + <template slot-scope="scope">
  358 + {{scope.$index+1}}
  359 + </template>
  360 + </el-table-column>
  361 + <el-table-column label="资源名称" prop="intentCustomerName" min-width="150" />
  362 + <el-table-column label="编号" prop="resourcesId" min-width="150" />
  363 + <el-table-column label="意向资源类型" prop="shopName" min-width="150" />
  364 + <el-table-column label="最近释放日期" prop="businessStartTime" min-width="150" />
  365 + <el-table-column label="最短租期" prop="contactInformation" min-width="150" />
  366 + <el-table-column label="意向租金单价(元/平方)" prop="contactInformation" min-width="250" />
  367 + <el-table-column prop="auditStatus" label="资源状态" min-width="150">
  368 + <template slot-scope="scope">
  369 +
  370 + </template>
  371 + </el-table-column>
  372 +
  373 + </el-table>
  374 + </div>
  375 + </el-dialog>
  376 + <!-- ******************************************************弹框开始****************************************************** -->
  377 + <!-- 新增弹框 -->
  378 + <el-dialog :visible.sync="ggXin" custom-class="tongyong_css" style="padding: 0" width="65%" center
  379 + :close-on-click-modal="false" class="dialog_css_Xq" :show-close="false">
  380 + <div style="
  381 + background-color: #fafafa;
  382 + border: 1px solid #eaeaea;
  383 + height: 42px;
  384 + width: 100%;
  385 + margin-bottom: 20px;
  386 + padding: 0 20px;
  387 + line-height: 42px;
  388 + ">
  389 + 新增
  390 + </div>
  391 + <div class="setup">
  392 + <el-steps :space="200" :active="stepNum">
  393 + <el-step title="意向信息" />
  394 + <el-step title="主体信息" />
  395 + <el-step title="申请人信息" />
  396 + </el-steps>
  397 + </div>
  398 + <div v-if="stepNum == 0" style="padding: 0 20px 20px 20px">
  399 + <el-form ref="ruleForm" :model="ruleForm" label-width="150px">
  400 + <el-form-item label="租用时段" prop="idCardPhotoBack">
  401 + <el-date-picker v-model="rentalPeriodTime" type="daterange" range-separator="至"
  402 + start-placeholder="开始时间" end-placeholder="结束时间" value-format="yyyy-MM-dd" />
  403 + </el-form-item>
  404 + <el-form-item label="租期" prop="leaseTerm">
  405 + <el-select v-model="ruleForm.leaseTerm" placeholder="请选择" >
  406 + <el-option label="年" value="年" />
  407 + <el-option label="月" value="月" />
  408 + <el-option label="日" value="日" />
  409 + </el-select>
  410 + </el-form-item>
  411 +
  412 + <el-form-item label="租金" prop="rent">
  413 + <el-input v-model="ruleForm.rent" placeholder="请输入" />
  414 + </el-form-item>
  415 + <el-form-item label="意向经营类型" prop="intentionalBusinessType">
  416 + <el-select v-model="ruleForm.intentionalBusinessType" placeholder="请选择" style="width: 100%;">
  417 + <el-option label="商铺" value="商铺" />
  418 + <el-option label="场地" value="场地" />
  419 + <el-option label="广告位" value="广告位" />
  420 + </el-select>
  421 + </el-form-item>
  422 +
  423 +<el-form-item label="意向区域(如有)" prop="intendedArea">
  424 + <el-input v-model="ruleForm.intendedArea" placeholder="请输入" />
  425 + </el-form-item>
  426 +<el-form-item label="意向商铺位置(如有)" prop="intentionalStoreLocation">
  427 + <el-input v-model="ruleForm.intentionalStoreLocation" placeholder="请输入" />
  428 + </el-form-item>
  429 + <el-form-item label="意向商铺名称(如有)" prop="intentionalStoreName">
  430 + <el-input v-model="ruleForm.intentionalStoreName" placeholder="请输入" />
  431 + </el-form-item>
  432 + </el-form>
  433 + </div>
  434 + <div v-if="stepNum == 1" style="padding: 0 20px 20px 20px">
  435 +
  436 + <el-form ref="ruleForm" :model="ruleForm" label-width="130px">
  437 + <el-form-item label="主体名称" prop="subjectName">
  438 + <el-input v-model="ruleForm.subjectName" placeholder="请输入" />
  439 + </el-form-item>
  440 + <el-form-item label="统一社会信用代码" prop="unifiedSocialCreditCode">
  441 + <el-input v-model="ruleForm.unifiedSocialCreditCode" placeholder="请输入" />
  442 + </el-form-item>
  443 + <el-form-item label="类型" prop="type">
  444 + <el-select v-model="ruleForm.type" placeholder="请选择" style="width: 100%;">
  445 + <el-option label="个人" value="个人" />
  446 + <el-option label="企业" value="企业" />
  447 + </el-select>
  448 + </el-form-item>
  449 + <el-form-item label="法定代表人" prop="legalRepresentative">
  450 + <el-input v-model="ruleForm.legalRepresentative" placeholder="请输入" />
  451 + </el-form-item>
  452 + <el-form-item label="经营范围" prop="businessScope">
  453 + <el-input type="textarea" v-model="ruleForm.businessScope" :rows="4"></el-input>
  454 + </el-form-item>
  455 + <el-form-item label="注册资本" prop="registeredCapital">
  456 + <el-input v-model="ruleForm.registeredCapital" placeholder="请输入" />
  457 +
  458 + </el-form-item>
  459 + <el-form-item label="成立日期" prop="establishmentDate">
  460 + <el-input v-model="ruleForm.establishmentDate" placeholder="请输入" />
  461 + </el-form-item>
  462 + <el-form-item label="住所" prop="address">
  463 + <el-input v-model="ruleForm.address" placeholder="请输入" />
  464 + </el-form-item>
  465 + <el-form-item label="邮箱地址" prop="emailAddress">
  466 + <el-input v-model="ruleForm.emailAddress" placeholder="请输入" />
  467 + </el-form-item>
  468 + <el-form-item label="营业期限" prop="idCardPhotoBack">
  469 + <el-date-picker v-model="businessStartTime" type="daterange" range-separator="至"
  470 + start-placeholder="开始时间" end-placeholder="结束时间" value-format="yyyy-MM-dd" />
  471 + </el-form-item>
  472 + <el-form-item label="营业执照" prop="businessLicense">
  473 + <upimg v-model="ruleForm.businessLicense" :limit="1" :fileSize="1"></upimg>
  474 + </el-form-item>
  475 +
  476 + </el-form>
  477 + </div>
  478 + <div v-if="stepNum == 2" style="padding: 0 20px 20px 20px">
  479 + <el-form ref="ruleForm" :model="ruleForm" label-width="130px">
  480 + <el-form-item label="申请人" prop="intentCustomerName">
  481 + <el-input v-model="ruleForm.intentCustomerName" placeholder="请输入" />
  482 + </el-form-item>
  483 + <el-form-item label="联系电话" prop="contactPhone">
  484 + <el-input v-model="ruleForm.contactPhone" placeholder="请输入" />
  485 + </el-form-item>
  486 + <el-form-item label="证件类型" prop="idCardType">
  487 + <el-select v-model="ruleForm.idCardType" placeholder="请选择" style="width:100%">
  488 + <el-option label="身份证" value="身份证" />
  489 + </el-select>
  490 + </el-form-item>
  491 + <el-form-item label="身份证号" prop="idCardNumber">
  492 + <el-input v-model="ruleForm.idCardNumber" placeholder="请输入" />
  493 + </el-form-item>
  494 + <el-form-item label="身份证有效期" prop="idCardNumber">
  495 + <el-date-picker v-model="idCardValidStart" type="daterange" range-separator="至" start-placeholder="开始时间"
  496 + end-placeholder="结束时间" value-format="yyyy-MM-dd" />
  497 + </el-form-item>
  498 + <el-form-item label="身份证照片(正面)" prop="idCardPhotoFront">
  499 + <upimg v-model="ruleForm.idCardPhotoFront" :limit="1" :fileSize="1"></upimg>
  500 + </el-form-item>
  501 + <el-form-item label="身份证照片(反面)" prop="idCardPhotoBack">
  502 + <upimg v-model="ruleForm.idCardPhotoBack" :limit="1" :fileSize="1"></upimg>
  503 + </el-form-item>
  504 + <el-form-item label="是否为法人" prop="isLegalPerson">
  505 + <el-select v-model="ruleForm.isLegalPerson" placeholder="请选择" style="width:100%">
  506 + <el-option label="否" value="0" />
  507 + <el-option label="是" value="1" />
  508 + </el-select>
  509 + </el-form-item>
  510 + <el-form-item label="企业授权书" prop="enterpriseAuthorization">
  511 + <upimg v-model="ruleForm.enterpriseAuthorization" :limit="1" :fileSize="1"></upimg>
  512 + </el-form-item>
  513 + </el-form>
  514 + <!-- <div style="margin-top: 20px;">
  515 + <div style="width: 100%;border:1px solid #EAEAEA;">
  516 + <div
  517 + style="display: flex;flex-wrap: wrap;justify-content: space-between;padding: 10px 10px;width: 100%;border-top:1px solid #EAEAEA;background-color: #FAFAFA;border-right:1px solid #EAEAEA;border-left:1px solid #EAEAEA;">
  518 + <div style="line-height: 28px;">意向资源</div>
  519 + <div style="" class="leixingSel">
  520 + <div class="tableBtn greens" @click="addMing=true">添加</div>
  521 + </div>
  522 + </div>
  523 + <div style="padding:15px">
  524 + <el-table :data="selshop"
  525 + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"
  526 + :border="true" style="width: 100%">
  527 + <el-table-column label="序号" prop="id" min-width="6%" />
  528 + <el-table-column label="资源名称" prop="shopName" min-width="10%" />
  529 + <el-table-column label="资源编号" prop="detailedLocation" min-width="10%" />
  530 + <el-table-column label="资源类型" prop="actualUsableArea" min-width="10%" />
  531 + <el-table-column label="意向租期" prop="belongingRegion" min-width="10%" />
  532 + <el-table-column label="意向租金(元)" prop="belongingDepartment" min-width="10%" />
  533 + <el-table-column label="操作" prop="head" min-width="10%">
  534 + <template slot-scope="scope">
  535 + <div class="tableBtn greens" @click="bianjilist(scope.row)">
  536 + 编辑
  537 + </div>
  538 + <div class="tableBtn greens" @click="delGuan(scope.row)">
  539 + 删除
  540 + </div>
  541 + </template>
  542 + </el-table-column>
  543 + </el-table>
  544 + </div>
  545 + </div>
  546 + </div>-->
  547 +
  548 + </div>
  549 + <span slot="footer" class="dialog-footer">
  550 + <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;"
  551 + @click="closeFn(2)">取 消</el-button>
  552 + <el-button v-if="stepNum != 2" style="background-color: #3F9B6A;color: #fff"
  553 + @click="lextStep(1)">下一步</el-button>
  554 + <el-button v-if="stepNum != 0" style="background-color: #3F9B6A;color: #fff"
  555 + @click="lextStep(0)">上一步</el-button>
  556 + <el-button v-if="stepNum == 2" style="background-color: #3F9B6A;color: #fff" @click="addCheck('ruleForm')">确
  557 + 定</el-button>
  558 + </span>
  559 +
  560 + <!-- <el-dialog :visible.sync="addMing" custom-class='XDD_css' style="padding: 0;" width="50%"
  561 + append-to-body center :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false">
  562 + <div style="padding: 10px 13px;font-size: 14px;border-bottom: 1px solid #E5E5E5;display: flex;justify-content: space-between;">
  563 + <div>添加</div>
  564 + </div>
  565 + <div style="padding: 15px;width:100%">
  566 + <div style="border: 1px solid #E5E5E5;padding: 1px" id="huodong">
  567 + <div style="padding: 10px 13px;font-size: 14px;border-bottom: 1px solid #E5E5E5;display: flex;justify-content: space-between;">
  568 + <div>选择资源</div>
  569 + </div>
  570 + <div style="padding: 15px;">
  571 + <div style="padding: 0px 20px 0px 0px">
  572 + <el-table :data="ziyuanData"
  573 + @selection-change="handleSelectionChange" tooltip-effect="dark"
  574 + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"
  575 + >
  576 + <el-table-column
  577 + label="选择"
  578 + type="selection"
  579 + width="55">
  580 + </el-table-column>
  581 + <el-table-column label="序号" min-width="8%" >
  582 + <template slot-scope="scope">
  583 + {{scope.$index + 1}}
  584 + </template>
  585 + </el-table-column>
  586 + <el-table-column label="编号" prop="id" min-width="22%">
  587 +
  588 + </el-table-column>
  589 + <el-table-column label="资源名称" min-width="15%">
  590 + <template slot-scope="scope">
  591 + {{scope.row.shopName ? scope.row.shopName : scope.row.advertisingName}}
  592 + </template>
  593 + </el-table-column>
  594 + <el-table-column label="资源类型" min-width="15%">
  595 + <template slot-scope="scope">
  596 + {{scope.row.advertisingType ?scope.row.advertisingType:'商铺'}}
  597 + </template>
  598 + </el-table-column>
  599 + <el-table-column prop="notes" label="对应策略" min-width="15%">
  600 + </el-table-column>
  601 + </el-table>
  602 + </div>
  603 + </div>
  604 + </div>
  605 + </div>
  606 + <div style="display: flex;justify-content: flex-end;padding: 10px 20px 10px 0">
  607 + <el-button @click="mingClose" class="buttonHover"
  608 + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;">取消
  609 + </el-button>
  610 + <el-button @click="minSev" style="background-color: #3F9B6A;color: #fff;">确定
  611 + </el-button>
  612 +
  613 + </div>
  614 + </el-dialog> -->
  615 + </el-dialog>
  616 + <div class="fenye">
  617 + <el-pagination class="pagination" :hide-on-single-page="flag" background small :current-page="currentPage"
  618 + layout="prev, pager, next,total" :total="total" @size-change="handleSizeChange"
  619 + @current-change="handleCurrentChange" />
  620 + </div>
  621 + </div>
  622 + </div>
  623 + </div>
  624 +</template>
  625 +
  626 +<script>
  627 + import {
  628 + uploadUrl,
  629 + token
  630 + } from '@/utils/request'
  631 + import {
  632 + rsaManAll,
  633 + rsaManAdd,
  634 + rsaManEdit,
  635 + rsaManDel,
  636 + ziyuanduiy,
  637 + } from '../../../api/rsaManagement'
  638 + import {
  639 + getAlls
  640 + } from '../../../api/information.js'
  641 + import {
  642 + getAlls as map1
  643 + } from '../../../api/map1'
  644 + import upimg from "@/components/ImageUpload/index"
  645 + export default {
  646 + components: {
  647 + upimg
  648 + },
  649 +
  650 + data() {
  651 + return {
  652 + detbox: false, // 详情
  653 + edit: true, // 编辑
  654 + addMing: false,//资源
  655 + selshop: [], //意向资源列表
  656 + action: uploadUrl, // 上传图片
  657 + myHeaders: {
  658 + 'Authorization-admin': token
  659 + },
  660 + ggXin: false, // 新增
  661 + sel: [], // 选择资源
  662 + stepNum: 0, // 切换
  663 + linShop: [], // 临铺列表
  664 + isAdd: false, //添加铺位弹框
  665 + formSel: {
  666 + intentCustomerName:'',
  667 + region:'',
  668 + id:'',
  669 + auditStatus:'',
  670 + pageNumber: 1,
  671 + pageSize: 10,
  672 + },
  673 + ruleForm: {
  674 + intentCustomerName: '', //意向客户名称
  675 + contactPhone: '', //联系电话
  676 + entityType: '', //主体类型
  677 + customerLevel: '', //客户级别
  678 + isLegalPerson: '', //是否为法人(0:否,1:是)
  679 + enterpriseAuthorization: '', //企业授权书
  680 + idCardNumber: '', //身份证号
  681 + idCardType: '', //证件类型
  682 + idCardValidStart: '', //身份证有效开始时间
  683 + idCardValidEnd: '', //身份证有效结束时间
  684 + idCardPhotoFront: '', //身份证照片(正面)
  685 + idCardPhotoBack: '', //身份证照片(反面)
  686 + subjectName: '', //主体名称
  687 + unifiedSocialCreditCode: '', //统一社会信用代码
  688 + type: '', //类型(可能是企业类型等)
  689 + legalRepresentative: '', //法定代表人
  690 + businessScope: '', //经营范围
  691 + registeredCapital: '', //注册资本
  692 + establishmentDate: '', //成立日期
  693 + address: '', //住所
  694 + emailAddress: '', //邮箱地址
  695 + businessStartTime: '', //营业开始时间(如果为全天,则可为NULL或指定默认时
  696 + businessEndTime: '', //营业结束时间(如果为全天,则可为NULL或指定默认时
  697 + businessLicense: '', //营业执照(存储路径或URL)
  698 + intendedResources: '', //意向资源
  699 + auditStatus:'1',
  700 + rentalPeriodStartTime:'',
  701 + rentalPeriodEndTime:'',
  702 + leaseTerm:'',
  703 + rent:'',
  704 + intentionalBusinessType:'',
  705 + intendedArea:'',
  706 + intentionalStoreLocation:'',
  707 + intentionalStoreName:'',
  708 + },
  709 + idCardValidStart: [],
  710 + businessStartTime: [],
  711 + rentalPeriodTime:[],
  712 + card: 'first', // 切换
  713 + secondData: {},
  714 + currentPage: 1,
  715 + total: 10,
  716 + flag: false,
  717 + pageSize: 10,
  718 + tableData: [],
  719 + msgid: '',
  720 + pageindex: {
  721 + pageNumber: 1,
  722 + pageSize: 10,
  723 + },
  724 + ziyuanData:[],
  725 + multipleSelection:[],
  726 + pip:false,
  727 + pipData:[],
  728 + pipeiSel:{
  729 + resources:{
  730 +         cereRentalPolicies:{
  731 +             businessType:'',
  732 +             leaseTerm:'',
  733 +             rentalPrice:''
  734 +         }
  735 +     },
  736 + pageNumber:1,
  737 + pageSize:10,
  738 + }
  739 + }
  740 + },
  741 +
  742 + created() {
  743 + this.getAll();
  744 + },
  745 + mounted() {},
  746 + // beforeDestroy() {
  747 + // const editor = this.editor
  748 + // if (editor == null) return
  749 + // editor.destroy() // 组件销毁时,及时销毁编辑器
  750 + // },
  751 + methods: {
  752 + // 获取当前时间
  753 + updateCurrentTime() {
  754 + const now = new Date();
  755 + const year = now.getFullYear();
  756 + const month = (now.getMonth() + 1).toString().padStart(2, '0');
  757 + const day = now.getDate().toString().padStart(2, '0');
  758 + const hours = now.getHours().toString().padStart(2, '0');
  759 + const minutes = now.getMinutes().toString().padStart(2, '0');
  760 + const seconds = now.getSeconds().toString().padStart(2, '0');
  761 +
  762 + return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
  763 + },
  764 + handleSelectionChange(val) {
  765 + this.multipleSelection = val;
  766 + },
  767 + lextStep(val) {
  768 + if (val == 0) {
  769 + this.stepNum = this.stepNum - 1;
  770 + } else {
  771 + this.stepNum = this.stepNum + 1;
  772 + }
  773 + },
  774 + // 查询全数据
  775 + async getAll() {
  776 + const res = await rsaManAll(this.pageindex);
  777 + this.tableData = res.data.content;
  778 + this.total = res.data.content.length
  779 + this.tableData.map(res=>{
  780 + res.contactPhone = this.$decrypt(res.contactPhone)
  781 + res.idCardNumber = this.$decrypt(res.idCardNumber)
  782 + res.unifiedSocialCreditCode = this.$decrypt(res.unifiedSocialCreditCode)
  783 + res.legalRepresentative = this.$decrypt(res.legalRepresentative)
  784 + res.address = this.$decrypt(res.address)
  785 + res.emailAddress = this.$decrypt(res.emailAddress)
  786 + })
  787 + const ziyuan = await getAlls(this.pageindex)
  788 + const ggw = await map1(this.pageindex)
  789 + this.ziyuanData = [...ziyuan.data.content,...ggw.data.content]
  790 + },
  791 + // 编辑确认
  792 + async msgeditS() {
  793 + this.secondData.id = this.msgid
  794 + if (this.idCardValidStart.length != 0) {
  795 + this.secondData.idCardValidStart = this.idCardValidStart[0]
  796 + this.secondData.idCardValidEnd = this.idCardValidStart[1]
  797 + }
  798 + if (this.businessStartTime.length != 0) {
  799 + this.secondData.businessStartTime = this.businessStartTime[0]
  800 + this.secondData.businessEndTime = this.businessStartTime[1]
  801 + }
  802 + if (this.rentalPeriodTime.length != 0) {
  803 + this.secondData.rentalPeriodStartTime = this.rentalPeriodTime[0]
  804 + this.secondData.rentalPeriodEndTime = this.rentalPeriodTime[1]
  805 + }
  806 +
  807 + const res = await rsaManEdit(this.secondData)
  808 + this.detbox = false;
  809 + this.getAll();
  810 + },
  811 + bianji() {
  812 + if (this.edit) {
  813 + this.edit = false;
  814 + }
  815 +
  816 + },
  817 + // 编辑
  818 + bianjilist(item) {
  819 + this.secondData = item
  820 + this.$set(this.idCardValidStart, 0, item.idCardValidStart)
  821 + this.$set(this.idCardValidStart, 1, item.idCardValidEnd)
  822 + this.$set(this.businessStartTime, 0, item.businessStartTime)
  823 + this.$set(this.businessStartTime, 1, item.businessEndTime)
  824 + this.$set(this.rentalPeriodTime, 0, item.rentalPeriodStartTime)
  825 + this.$set(this.rentalPeriodTime, 1, item.rentalPeriodEndTime)
  826 + this.msgid = item.id;
  827 + this.detbox = true
  828 + if (this.edit) {
  829 + this.edit = false;
  830 + }
  831 + },
  832 + async chehui(item){
  833 + await rsaManEdit({id:item.id,auditStatus:'1'})
  834 + this.getAll()
  835 + },
  836 +async getshen(item){
  837 + await rsaManEdit({id:item.id,auditStatus:'2'})
  838 + this.getAll()
  839 +},
  840 +
  841 +
  842 + // 详情点击
  843 + handleEditForm(item) {
  844 + console.log(item.rentalPeriodEndTime)
  845 + this.secondData = item
  846 + this.$set(this.idCardValidStart, 0, item.idCardValidStart)
  847 + this.$set(this.idCardValidStart, 1, item.idCardValidEnd)
  848 + this.$set(this.businessStartTime, 0, item.businessStartTime)
  849 + this.$set(this.businessStartTime, 1, item.businessEndTime)
  850 + this.$set(this.rentalPeriodTime, 0, item.rentalPeriodStartTime)
  851 + this.$set(this.rentalPeriodTime, 1, item.rentalPeriodEndTime)
  852 + this.card = 'first'
  853 + this.detbox = true;
  854 + this.msgid = item.id;
  855 + },
  856 + // 新增
  857 + addbuss() {
  858 + this.ruleForm = {
  859 + intentCustomerName: '', //意向客户名称
  860 + contactPhone: '', //联系电话
  861 + entityType: '', //主体类型
  862 + customerLevel: '', //客户级别
  863 + isLegalPerson: '', //是否为法人(0:否,1:是)
  864 + enterpriseAuthorization: '', //企业授权书
  865 + idCardNumber: '', //身份证号
  866 + idCardType: '', //证件类型
  867 + idCardValidStart: '', //身份证有效开始时间
  868 + idCardValidEnd: '', //身份证有效结束时间
  869 + idCardPhotoFront: '', //身份证照片(正面)
  870 + idCardPhotoBack: '', //身份证照片(反面)
  871 + subjectName: '', //主体名称
  872 + unifiedSocialCreditCode: '', //统一社会信用代码
  873 + type: '', //类型(可能是企业类型等)
  874 + legalRepresentative: '', //法定代表人
  875 + businessScope: '', //经营范围
  876 + registeredCapital: '', //注册资本
  877 + establishmentDate: '', //成立日期
  878 + address: '', //住所
  879 + emailAddress: '', //邮箱地址
  880 + businessStartTime: '', //营业开始时间(如果为全天,则可为NULL或指定默认时
  881 + businessEndTime: '', //营业结束时间(如果为全天,则可为NULL或指定默认时
  882 + businessLicense: '', //营业执照(存储路径或URL)
  883 + intendedResources: '', //意向资源
  884 + auditStatus:'1',
  885 + rentalPeriodStartTime:'',
  886 + rentalPeriodEndTime:'',
  887 + leaseTerm:'',
  888 + rent:'',
  889 + intentionalBusinessType:'',
  890 + intendedArea:'',
  891 + intentionalStoreLocation:'',
  892 + intentionalStoreName:'',
  893 +
  894 + }
  895 + this.rentalPeriodTime = []
  896 + this.ggXin = true;
  897 + this.getAll();
  898 + },
  899 + // 新增确定
  900 + async addCheck() {
  901 + if (this.idCardValidStart.length != 0) {
  902 + this.ruleForm.idCardValidStart = this.idCardValidStart[0]
  903 + this.ruleForm.idCardValidEnd = this.idCardValidStart[1]
  904 + }
  905 + if (this.businessStartTime.length != 0) {
  906 + this.ruleForm.businessStartTime = this.businessStartTime[0]
  907 + this.ruleForm.businessEndTime = this.businessStartTime[1]
  908 + }
  909 + if (this.rentalPeriodTime.length != 0) {
  910 + this.ruleForm.rentalPeriodStartTime = this.rentalPeriodTime[0]
  911 + this.ruleForm.rentalPeriodEndTime = this.rentalPeriodTime[1]
  912 + }
  913 +
  914 + if(this.ziyuanData.length !=0){
  915 + this.ruleForm.intendedResources = this.ziyuanData[0].id
  916 + }
  917 + await rsaManAdd(this.ruleForm)
  918 + this.idCardValidStart = []
  919 + this.businessStartTime = []
  920 + this.rentalPeriodTime = []
  921 + this.getAll();
  922 + this.stepNum = 0;
  923 + this.ggXin = false;
  924 + },
  925 + handleCurrentChange(val) {
  926 + this.currentPage = val;
  927 + },
  928 + handleSizeChange(val) {
  929 + this.pageSize = val;
  930 + },
  931 + // 取消
  932 + closeFn(val) {
  933 + if (val == 1) {
  934 + this.detbox = false;
  935 + this.edit = true;
  936 + } else {
  937 + this.ggXin = false;
  938 + this.stepNum = 0;
  939 + }
  940 + },
  941 + //删除管理列表
  942 + async delGuan(item) {
  943 + const h = this.$createElement;
  944 + this.$msgbox({
  945 + title: '消息',
  946 + message: h('p', null, [
  947 + h('span', null, '是否删除 '),
  948 + ]),
  949 + showCancelButton: true,
  950 + showClose: false,
  951 + confirmButtonText: '确定',
  952 + cancelButtonText: '取消',
  953 + customClass: 'oe-dialog-btn',
  954 + beforeClose: (action, instance, done) => {
  955 + if (action === 'confirm') {
  956 + rsaManDel({
  957 + id: item.id
  958 + }).then(res => {
  959 + this.getAll()
  960 + done();
  961 + })
  962 + } else {
  963 + done();
  964 + }
  965 + }
  966 + })
  967 +
  968 + },
  969 +
  970 + handlePreview(file) {
  971 + console.log(file);
  972 + },
  973 + handleRemove(file, fileList) {
  974 + console.log(file, fileList);
  975 + },
  976 +
  977 + // 重置按钮
  978 + resetting() {
  979 + this.formSel = {
  980 + intentCustomerName:'',
  981 + region:'',
  982 + id:'',
  983 + auditStatus:'',
  984 + pageNumber: 1,
  985 + pageSize: 10,
  986 + };
  987 + this.getAll()
  988 + },
  989 + // 查询
  990 + async onSubmit() {
  991 + const res = await rsaManAll(this.formSel)
  992 + this.tableData = res.data.content
  993 + this.total = res.data.content.length
  994 + this.tableData.map(res=>{
  995 + res.contactPhone = this.$decrypt(res.contactPhone)
  996 + res.idCardNumber = this.$decrypt(res.idCardNumber)
  997 + res.unifiedSocialCreditCode = this.$decrypt(res.unifiedSocialCreditCode)
  998 + res.legalRepresentative = this.$decrypt(res.legalRepresentative)
  999 + res.address = this.$decrypt(res.address)
  1000 + res.emailAddress = this.$decrypt(res.emailAddress)
  1001 + })
  1002 + },
  1003 + mingClose(){
  1004 + this.multipleSelection =[]
  1005 + this.addMing = false
  1006 +
  1007 + },
  1008 + minSev() {
  1009 + this.selshop = this.multipleSelection
  1010 + this.addMing = false
  1011 + this.multipleSelection =[]
  1012 + },
  1013 + pipei(item){
  1014 + this.pip = true
  1015 + this.pipData = []
  1016 + },
  1017 + pipeiBtn(){
  1018 + if(this.pipeiSel.resources.cereRentalPolicies.businessType == 'sp'){
  1019 + this.pipeiSel.resourcesId = 'sp'
  1020 + }else if(this.pipeiSel.resources.cereRentalPolicies.businessType == 'cd'){
  1021 + this.pipeiSel.resourcesId = 'cd'
  1022 + }else{
  1023 + this.pipeiSel.resourcesId = 'gg'
  1024 + }
  1025 + ziyuanduiy(this.pipeiSel).then(res=>{
  1026 + this.pipData = res.data.content
  1027 + })
  1028 + },
  1029 + pipeiClose(){
  1030 + this.pipeiSel ={
  1031 + resources:{
  1032 +         cereRentalPolicies:{
  1033 +             businessType:'',
  1034 +             leaseTerm:'',
  1035 +             rentalPrice:''
  1036 +         }
  1037 +     },
  1038 + resourcesId:'',
  1039 + pageNumber:1,
  1040 + pageSize:10,
  1041 + },
  1042 + this.pipData = []
  1043 + },
  1044 + }
  1045 + }
  1046 +</script>
  1047 +<style src="@wangeditor/editor/dist/css/style.css"></style>
  1048 +<style scoped>
  1049 + /deep/ .first-column-bg {
  1050 + background-color: #f4f4f5 !important;
  1051 + }
  1052 +
  1053 + .zhuti {
  1054 + padding: 0 20px 20px 20px;
  1055 + min-height: calc(100vh - 50px - 20px);
  1056 + background-color: #fff;
  1057 + }
  1058 +
  1059 +
  1060 + .tableBtn {
  1061 + display: inline-block;
  1062 + margin-right: 10px;
  1063 + }
  1064 +
  1065 + .formSearch {
  1066 +
  1067 + display: flex;
  1068 + width: 100%;
  1069 + font-size: 14px;
  1070 + justify-content: space-between;
  1071 +
  1072 + }
  1073 +
  1074 + .greens {
  1075 + color: #3f9b6a;
  1076 + }
  1077 +
  1078 + /deep/ .el-table__row {
  1079 + font-size: 14px;
  1080 + color: #000000e6;
  1081 + height: 42px;
  1082 + }
  1083 +
  1084 + .fenye {
  1085 + margin-top: 20px;
  1086 + display: flex;
  1087 + justify-content: flex-end;
  1088 + position: relative;
  1089 + }
  1090 +
  1091 + /deep/ .el-pagination.is-background .el-pager li:not(.disabled).active {
  1092 + background-color: #3f9b6a;
  1093 + }
  1094 +
  1095 + :last-child {
  1096 + margin-bottom: 0;
  1097 + }
  1098 +
  1099 + .el-col {
  1100 + border-radius: 4px;
  1101 + }
  1102 +
  1103 + .bg-purple-dark {
  1104 + background: #99a9bf;
  1105 + }
  1106 +
  1107 + .bg-purple {
  1108 + /* background: #d3dce6; */
  1109 + }
  1110 +
  1111 + .bg-purple-light {
  1112 + background: #e5e9f2;
  1113 + }
  1114 +
  1115 + .grid-content {
  1116 + border-radius: 4px;
  1117 + min-height: 36px;
  1118 + }
  1119 +
  1120 + .row-bg {
  1121 + padding: 10px 0;
  1122 + background-color: #f9fafc;
  1123 + }
  1124 +
  1125 + /deep/ .bg-purple[data-v-0e3fe4ec] {
  1126 + background: #fff;
  1127 + height: 50px;
  1128 + }
  1129 +
  1130 + /deep/ .el-form--label-top .el-form-item__label {
  1131 + padding: 0;
  1132 + }
  1133 +
  1134 + .demo-input-suffix {
  1135 + display: flex;
  1136 + margin-right: 20px;
  1137 + }
  1138 +
  1139 + .pagination {
  1140 + text-align: right;
  1141 + line-height: 20px;
  1142 + }
  1143 +
  1144 +
  1145 + .dialog_css {
  1146 + padding: 0px;
  1147 + }
  1148 +
  1149 + .dialog_xin {
  1150 + padding: 0px;
  1151 + }
  1152 +
  1153 + /deep/.el-dialog__body {
  1154 + padding: 0px;
  1155 + }
  1156 +
  1157 + /deep/ .el-dialog__header {
  1158 + background-color: #fff;
  1159 + padding: 0;
  1160 + }
  1161 +
  1162 + /deep/.el-dialog__title {
  1163 + color: #000;
  1164 + }
  1165 +
  1166 + .el-row {
  1167 + &:last-child {
  1168 + margin-bottom: 0;
  1169 + }
  1170 + }
  1171 +
  1172 + /deep/ .avatar-uploader .el-upload {
  1173 + border: 1px dashed #d9d9d9;
  1174 + border-radius: 6px;
  1175 + cursor: pointer;
  1176 + position: relative;
  1177 + overflow: hidden;
  1178 + }
  1179 +
  1180 + .avatar-uploader .el-upload:hover {
  1181 + border-color: #409eff;
  1182 + }
  1183 +
  1184 + .avatar-uploader-icon {
  1185 + font-size: 28px;
  1186 + color: #8c939d;
  1187 + width: 108px;
  1188 + height: 108px;
  1189 + line-height: 108px;
  1190 + /*text-align: center;*/
  1191 + }
  1192 +
  1193 + .avatar {
  1194 + width: 108px;
  1195 + height: 108px;
  1196 + display: block;
  1197 + }
  1198 +
  1199 + ::v-deep .el-tabs__item.is-active {
  1200 + color: #3f9b6a;
  1201 + opacity: 1;
  1202 + }
  1203 +
  1204 + /deep/ .el-tabs__nav-wrap::after {
  1205 + background-color: #fff;
  1206 + }
  1207 +
  1208 + ::v-deep .el-tabs__item:hover {
  1209 + color: #3f9b6a;
  1210 + cursor: pointer;
  1211 + opacity: 1;
  1212 + }
  1213 +
  1214 + /deep/ .el-tabs__active-bar {
  1215 + background-color: #389865;
  1216 + }
  1217 +
  1218 + /deep/ .el-table_2_column_13 {
  1219 + font-weight: 100;
  1220 + }
  1221 +
  1222 + ::v-deep .el-input__inner:focus {
  1223 + border: #3f9b6a 1px solid;
  1224 + }
  1225 +
  1226 + ::v-deep .el-input__inner:hover {
  1227 + border: #3f9b6a 1px solid;
  1228 + }
  1229 +
  1230 + ::v-deep .el-select .el-input.is-focus .el-input__inner {
  1231 + border-color: #3f9b6a;
  1232 + }
  1233 +
  1234 +
  1235 + /* ::v-deep .el-steps .el-step__head.is-wait {
  1236 + background-color: red; /* 修改为你想要的颜色 */
  1237 +
  1238 + /* 修改未进行步骤的描述文字颜色 */
  1239 + ::v-deep .el-steps .el-step__description.is-wait {
  1240 + color: #999;
  1241 + /* 修改为你想要的颜色 */
  1242 + }
  1243 +
  1244 + /* 修改未进行步骤的图标颜色 */
  1245 + ::v-deep .el-steps .el-step__icon.is-text.is-wait {
  1246 + color: #999;
  1247 + /* 修改为你想要的颜色 */
  1248 + }
  1249 +
  1250 + /* 修改未进行步骤的边框色 */
  1251 + ::v-deep .el-steps .el-step__line.is-wait {
  1252 + border-color: #eee;
  1253 + /* 修改为你想要的颜色 */
  1254 + }
  1255 +
  1256 + ::v-deep .el-steps .is-process .el-step__line {
  1257 + background-color: #3f9b6a;
  1258 + /* 修改线的颜色 */
  1259 + }
  1260 +
  1261 + ::v-deep .el-steps .is-process .el-step__title {
  1262 + color: #fe7b6a;
  1263 + /* 修改进行中步骤的标题颜色 */
  1264 + }
  1265 +
  1266 + ::v-deep .el-steps .is-process .el-step__icon {
  1267 + color: #fff;
  1268 + /* 修改进行中步骤的图标颜色 */
  1269 + background: #3f9b6a;
  1270 + /* 修改进行中步骤图标的边框颜色 */
  1271 + border: 0px;
  1272 + }
  1273 +
  1274 + ::v-deep .el-step__icon-inner {
  1275 + line-height: 0;
  1276 + }
  1277 +
  1278 + /* 线条长度 */
  1279 + ::v-deep .el-step.is-vertical .el-step__line {
  1280 + top: 30px;
  1281 + height: 60px;
  1282 + }
  1283 +
  1284 + ::v-deep .moren {
  1285 + .el-input__inner {
  1286 + margin-top: 5px;
  1287 + padding: 0 20px;
  1288 + }
  1289 + }
  1290 +
  1291 + /deep/ .el-radio-group {
  1292 + margin-top: 11px;
  1293 + }
  1294 +
  1295 + /deep/ .el-radio__input.is-checked .el-radio__inner {
  1296 + border-color: #3f9b6a;
  1297 + background: #3f9b6a;
  1298 + }
  1299 +
  1300 + ::v-deep .el-col {
  1301 + padding: 0 !important;
  1302 + }
  1303 +
  1304 + /deep/ .el-radio-group {
  1305 + width: 100%;
  1306 + }
  1307 +
  1308 + .radio-right-side {
  1309 + width: 100%;
  1310 + display: flex;
  1311 + justify-content: space-between;
  1312 + }
  1313 +
  1314 + /deep/ .radio-right-side .el-radio__label {
  1315 + display: flex;
  1316 + align-items: center;
  1317 + }
  1318 +
  1319 + /deep/ .radio-right-side .el-radio__inner {
  1320 + order: 1;
  1321 + }
  1322 +
  1323 + /deep/ .radio-right-side .el-radio__input {
  1324 + display: flex;
  1325 + order: 2;
  1326 + }
  1327 +
  1328 + /deep/ .radio-right-side {
  1329 + &:hover {
  1330 + color: #000;
  1331 + }
  1332 + }
  1333 +
  1334 + ::v-deep .el-dialog__wrapper {
  1335 + .dialog_css {
  1336 + margin-right: 12px;
  1337 + margin-top: 61px !important;
  1338 +
  1339 + .el-dialog__title {
  1340 + font-size: 16px !important;
  1341 + font-weight: 600;
  1342 + color: #000;
  1343 + }
  1344 + }
  1345 + }
  1346 +
  1347 + ::v-deep .setup {
  1348 + .el-steps {
  1349 + justify-content: center;
  1350 + }
  1351 + }
  1352 +
  1353 + ::v-deep .el-step__head.is-finish {
  1354 + color: #c0c4cc;
  1355 + border-color: #c0c4cc;
  1356 + }
  1357 +
  1358 + ::v-deep .el-step__title.is-finish {
  1359 + color: #c0c4cc;
  1360 + }
  1361 +
  1362 + ::v-deep .el-step__title.is-process {
  1363 + color: #c0c4cc;
  1364 + }
  1365 +
  1366 + ::v-deep .el-tabs {
  1367 + width: 100%;
  1368 + }
  1369 +
  1370 + ::v-deep .setup {
  1371 + .el-step__main {
  1372 + margin-left: -17px;
  1373 + }
  1374 +
  1375 + .el-step__title.is-process {
  1376 + color: #3f9b6a;
  1377 + }
  1378 +
  1379 + }
  1380 +
  1381 + ::v-deep .el-pagination__jump {
  1382 + margin-top: 5px;
  1383 + }
  1384 +
  1385 + ::v-deep .linClass {
  1386 + .el-dialog__header {
  1387 + padding: 20px 20px 10px;
  1388 + font-size: 14px;
  1389 + }
  1390 + }
  1391 +</style>
  1392 +<style lang="scss" scoped>
  1393 + ::v-deep .bian_css {
  1394 + .el-dialog__header {
  1395 + padding: 0px;
  1396 + }
  1397 + }
  1398 +
  1399 + ::v-deep .buttonHover:hover {
  1400 + color: #3f9b6a !important;
  1401 + border-color: #c5e1d2 !important;
  1402 + background-color: #ecf5f0 !important;
  1403 + outline: none;
  1404 + }
  1405 +
  1406 + ::v-deep .el-pagination__total {
  1407 + position: absolute;
  1408 + left: 10px;
  1409 + }
  1410 +
  1411 + ::v-deep .diaslog_zhong {
  1412 + .el-dialog__body {
  1413 + padding: 10px 20px 20px 20px;
  1414 + }
  1415 +
  1416 + .el-upload--picture-card {
  1417 + width: 130px;
  1418 + height: 130px;
  1419 + }
  1420 + }
  1421 +</style>
... ...
yanshouban/src/views/detect/admap.vue
... ... @@ -51,14 +51,20 @@
51 51 </el-button>
52 52 </div>
53 53 </div>
54   - <div style="margin-bottom:20px;"><el-button @click="addbuss"
  54 + <div style="margin-bottom: 20px;display:flex;">
  55 + <el-button @click="addbuss"
55 56 style="background-color: #3F9B6A;color: #fff;padding:8px 15px;"
56 57 icon="el-icon-circle-plus-outline">新增</el-button>
57   - <!-- <el-button
58   - style="background-color: #3F9B6A;color: #fff;padding:8px 15px;"
59   - @click="daoru"
60   - >导入</el-button
61   - > -->
  58 + <el-upload class="upload-demo" ref="upload"
  59 + :limit="1"
  60 + accept=".xlsx"
  61 + :action="uploadFileUrl"
  62 + :on-success="daoru"
  63 + :file-list="daoData"
  64 + :auto-upload="true"
  65 + :show-file-list="false">
  66 + <el-button style="background-color: #fff;color: #3F9B6A;border: 1px solid #dcdfe6;" class="buttonHover">导入</el-button>
  67 + </el-upload>
62 68 </div>
63 69 <!-- 地图 -->
64 70 <div style="display: flex;justify-content: space-between;margin-bottom: 20px;">
... ... @@ -136,6 +142,10 @@
136 142 </el-table-column>
137 143 <el-table-column prop="detailedLocation" label="详细地址" min-width="300">
138 144 </el-table-column>
  145 + <el-table-column label="商户名称" prop="actualUsableArea" min-width="150">
  146 + </el-table-column>
  147 + <el-table-column label="商户电话" prop="belongingDepartment" min-width="150">
  148 + </el-table-column>
139 149 <el-table-column label="实际使用面积" prop="actualUsableArea" min-width="150">
140 150 </el-table-column>
141 151 <el-table-column label="归属部门" prop="belongingDepartment" min-width="150">
... ... @@ -1511,6 +1521,7 @@
1511 1521 changadd,
1512 1522 changedit,
1513 1523 changDel,
  1524 +
1514 1525 } from '../../api/information'
1515 1526 import {
1516 1527 getAlls as getAllMap,
... ... @@ -1765,6 +1776,7 @@
1765 1776 mapData: {},
1766 1777 fileData:[],
1767 1778 uploadFileUrl: uploadUrl, // 请求地址
  1779 +daoData:[]
1768 1780 }
1769 1781  
1770 1782  
... ... @@ -2266,6 +2278,14 @@ uploadFileUrl: uploadUrl, // 请求地址
2266 2278 // 将文件地址存储在 uploadedFiles 数组中
2267 2279 this.fileData.push(fileMsg);
2268 2280 },
  2281 + daoru(response, file, fileList){
  2282 + this.daoData.push(file.raw)
  2283 + const formDate = new FormData()
  2284 + formDate.append('file', this.daoData[0])
  2285 + excelAdd(formDate).then(res => {
  2286 + this.getAll()
  2287 + })
  2288 + },
2269 2289 }
2270 2290 }
2271 2291 </script>
... ...
yanshouban/src/views/detect/analyse.vue
... ... @@ -5,32 +5,26 @@
5 5 <div style="color:#0006"> <span>招商资源监测</span> <span style="padding:0 5px;">></span> <span
6 6 style="color:#000000e6">统计分析</span></div>
7 7 </div>
  8 + <div style="display:flex;justify-content: space-between">
  9 + <div style="display:flex;">
  10 + <!-- <div style="margin-right: 10px;line-height:35px;">商铺/广告位资源统计</div> -->
  11 + <el-date-picker v-model="FormTime" value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="开始日期"
  12 + end-placeholder="结束日期" style="width: 200px;margin-right: 10px;ma" prefix-icon="none">
  13 + </el-date-picker>
  14 + <el-button @click="onSubmit" style="background-color: #3F9B6A;color: #fff">检索
  15 + </el-button>
  16 + <el-button @click="resetting" class="buttonHover"
  17 + style="color: #000;border: 1px solid #DBDBDB;background-color: #fff;">重置
  18 + </el-button>
  19 + </div>
  20 + <div>
  21 + <el-button @click="gitOut" style="background-color: #3F9B6A;color: #fff">导出
  22 + </el-button>
  23 + </div>
  24 + </div>
  25 + <div ref="tubiao">
8 26 <div style="width: 100%;margin-bottom:30px;">
9   - <div style="display:flex;justify-content: space-between">
10   - <div style="display:flex;">
11   - <div style="margin-right: 10px;line-height:35px;">商铺/广告位资源统计</div>
12   - <!-- <el-select v-model="formSel.createDate" placeholder="所属区域" style="width: 150px;margin-right: 10px">
13   - <el-option label="1" value="1" />
14   - <el-option label="2" value="2" />
15   - </el-select>
16   - <el-select v-model="formSel.createDate" placeholder="经营类型" style="width: 150px;margin-right: 10px">
17   - <el-option label="1" value="1" />
18   - <el-option label="2" value="2" />
19   - </el-select> -->
20   - <el-date-picker v-model="FormTime" value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="开始日期"
21   - end-placeholder="结束日期" style="width: 200px;margin-right: 10px;ma" prefix-icon="none">
22   - </el-date-picker>
23   - <el-button @click="onSubmit" style="background-color: #3F9B6A;color: #fff">检索
24   - </el-button>
25   - <el-button @click="resetting" class="buttonHover"
26   - style="color: #000;border: 1px solid #DBDBDB;background-color: #fff;">重置
27   - </el-button>
28   - </div>
29   - <!-- <div>
30   - <el-button @click="gitOut" style="background-color: #3F9B6A;color: #fff">导出
31   - </el-button>
32   - </div> -->
33   - </div>
  27 +
34 28 <div style="display:flex;margin-top:10px;">
35 29 <div style="width:48%;height: 400px;marigin-right:20px;">
36 30 <div style="display: flex;justify-content: space-between;">
... ... @@ -264,6 +258,59 @@
264 258 </div>
265 259 </div>
266 260 </div> -->
  261 +<div style="width: 100%;margin-bottom:20px;">
  262 + <div style="display:flex;justify-content: space-between">
  263 + <div style="display:flex;">
  264 + <div style="margin-right: 10px;line-height:35px;">合同情况统计</div>
  265 + <!-- <el-select v-model="formSel.createDate" placeholder="所属区域" style="width: 150px;margin-right: 10px">
  266 + <el-option label="1" value="1" />
  267 + <el-option label="2" value="2" />
  268 + </el-select>
  269 + <el-select v-model="formSel.createDate" placeholder="经营类型" style="width: 150px;margin-right: 10px">
  270 + <el-option label="1" value="1" />
  271 + <el-option label="2" value="2" />
  272 + </el-select>
  273 + <el-date-picker v-model="value1" type="datetimerange" range-separator="-" start-placeholder="开始日期"
  274 + end-placeholder="结束日期" style="width: 200px;margin-right: 10px;ma" prefix-icon="none">
  275 + </el-date-picker>
  276 + <el-button @click="onSubmit" style="background-color: #3F9B6A;color: #fff">检索
  277 + </el-button>
  278 + <el-button @click="resetting" class="buttonHover"
  279 + style="color: #000;border: 1px solid #DBDBDB;background-color: #fff;">重置
  280 + </el-button> -->
  281 + </div>
  282 + <!-- <div>
  283 + <el-button @click="onSubmit" style="background-color: #3F9B6A;color: #fff">导出
  284 + </el-button>
  285 + </div> -->
  286 + </div>
  287 + <div style="display:flex;margin-top:10px;">
  288 + <div style="width:48%;height: 400px;marigin-right:20px;">
  289 + <div style="display: flex;justify-content: space-between;">
  290 + <div style="line-height:35px;">商铺/广告位整体经营统计</div>
  291 + <!-- <div>
  292 + <el-select v-model="formSel.createDate" placeholder="类型" style="width: 100px;margin-right: 10px">
  293 + <el-option label="1" value="1" />
  294 + <el-option label="2" value="2" />
  295 + </el-select>
  296 + </div> -->
  297 + </div>
  298 + <div ref="shopJing" style="width:100%;height: 400px;"></div>
  299 + </div>
  300 + <div style="width:48%;height: 400px;marigin-right:20px;">
  301 + <div style="display: flex;justify-content: space-between;">
  302 + <div style="line-height:35px;">出租、退租、续租统计</div>
  303 + <!-- <div>
  304 + <el-select v-model="formSel.createDate" placeholder="类型" style="width: 100px;margin-right: 10px">
  305 + <el-option label="1" value="1" />
  306 + <el-option label="2" value="2" />
  307 + </el-select>
  308 + </div> -->
  309 + </div>
  310 + <div ref="tuiTong" style="width:100%;height: 400px;"></div>
  311 + </div>
  312 + </div>
  313 + </div>
267 314  
268 315 <div style="width: 100%;margin-bottom:20px;">
269 316 <div style="display:flex;justify-content: space-between">
... ... @@ -306,7 +353,7 @@
306 353 </div>
307 354 <div style="width:48%;height: 400px;marigin-right:20px;">
308 355 <div style="display: flex;justify-content: space-between;">
309   - <div style="line-height:35px;">签约数量占比</div>
  356 + <div style="line-height:35px;">合同签约数量占比</div>
310 357 <!-- <div>
311 358 <el-select v-model="formSel.createDate" placeholder="类型" style="width: 100px;margin-right: 10px">
312 359 <el-option label="1" value="1" />
... ... @@ -318,7 +365,20 @@
318 365 </div>
319 366 </div>
320 367 </div>
  368 + <div style="width: 100%;margin-bottom:20px;">
  369 + <div style="display:flex;justify-content: space-between">
  370 + </div>
  371 + <div style="display:flex;margin-top:10px;">
  372 + <div style="width:48%;height: 400px;marigin-right:20px;">
  373 + <div style="display: flex;justify-content: space-between;">
  374 + <div style="line-height:35px;">合同信息统计分析</div>
  375 + </div>
  376 + <div ref="hetong" style="width:100%;height: 400px;"></div>
  377 + </div>
321 378  
  379 + </div>
  380 + </div>
  381 + </div>
322 382 </div>
323 383  
324 384 </div>
... ... @@ -329,6 +389,8 @@
329 389 statistical,
330 390 } from '@/api/information'
331 391 import * as echarts from 'echarts'
  392 + import html2canvas from 'html2canvas'
  393 + import jsPDF from 'jspdf'
332 394 export default {
333 395 name: 'atmosphereGl',
334 396 data() {
... ... @@ -341,8 +403,8 @@
341 403 tableData: [],
342 404 FormTime:[],
343 405 pageindex: {
344   -   startTime: "1990-09-11",
345   -     endTime: "2024-11-09"
  406 +   startTime: "",
  407 +     endTime: ""
346 408 },
347 409 formSel: {
348 410  
... ... @@ -351,26 +413,83 @@
351 413 },
352 414 computed: {},
353 415 created() {
354   - this.getAll()
  416 +
355 417  
356 418 },
357 419 mounted() {
358   -
359   - // this.charDam1()
360   - // this.charDam2()
361   - // this.charDam3()
362   - // this.charDam4()
363   - // this.charDam5()
364   -
365   - // this.charDam7()
366   -
367   - // this.charDam9()
  420 + this.getAll()
368 421 },
369 422 methods: {
  423 +
370 424 charDam(datas) {
  425 +
371 426 let Dom = this.$refs.shop2TJ
372 427 let myChart = echarts.init(Dom)
373 428 let processedData = datas.map(item => ({
  429 + name: item.shopName,
  430 + value: item.price
  431 + }))
  432 + let option = {
  433 + legend: {},
  434 + tooltip: {},
  435 + xAxis: {
  436 + type: 'category',
  437 + data:processedData.map(item => item.name),
  438 + axisLabel: {
  439 + //x轴文字的配置
  440 + show: true,
  441 + interval: 0,//使x轴文字显示全
  442 + textStyle: {
  443 + color: "#000000"
  444 + },
  445 + formatter: function(params) {
  446 + var newParamsName = "";
  447 + var paramsNameNumber = params.length;
  448 + var provideNumber = 4; //一行显示几个字
  449 + var rowNumber = Math.ceil(paramsNameNumber / provideNumber);
  450 + if (paramsNameNumber > provideNumber) {
  451 + for (var p = 0; p < rowNumber; p++) {
  452 + var tempStr = "";
  453 + var start = p * provideNumber;
  454 + var end = start + provideNumber;
  455 + if (p == rowNumber - 1) {
  456 + tempStr = params.substring(start, paramsNameNumber);
  457 + } else {
  458 + tempStr = params.substring(start, end) + "\n";
  459 + }
  460 + newParamsName += tempStr;
  461 + }
  462 + } else {
  463 + newParamsName = params;
  464 + }
  465 + return newParamsName;
  466 + }
  467 + }
  468 +
  469 + },
  470 + yAxis: {
  471 + type: 'value',
  472 + },
  473 + grid: {
  474 + left: '1%',
  475 + right: '1%',
  476 + top: '5%',
  477 + bottom: '6%',
  478 + containLabel: true
  479 + },
  480 + series: [{
  481 + type: 'bar',
  482 + color: '#3f9b6a',
  483 + data: processedData.map(item => item.value),
  484 + }
  485 + ]
  486 + };
  487 + option && myChart.setOption(option);
  488 + },
  489 + hetongDam(datas) {
  490 + let Dom = this.$refs.hetong
  491 + let myChart = echarts.init(Dom)
  492 + let processedData = datas.map(item => ({
374 493 name: item.trendDate,
375 494 value: item.trendQuantity
376 495 }))
... ... @@ -380,6 +499,9 @@
380 499 xAxis: {
381 500 type: 'category',
382 501 data:processedData.map(item => item.name),
  502 + axisLabel: {
  503 + interval: 0,//使x轴文字显示全
  504 + }
383 505 },
384 506 yAxis: {
385 507 type: 'value',
... ... @@ -405,9 +527,10 @@
405 527 let myChart = echarts.init(Dom);
406 528  
407 529 let processedData = datas.map(item => ({
408   - name: item.trendDate || '11',
  530 + name: item.trendDate,
409 531 value: item.trendQuantity
410 532 }))
  533 + console.log(processedData)
411 534 processedData.push({name:'',value:0})
412 535 let option = {
413 536 xAxis: {
... ... @@ -484,106 +607,70 @@
484 607 },
485 608 charDam3(datas) {
486 609 let Dom = this.$refs.shop1TJ
487   - let myChart = echarts.init(Dom);
  610 + let myChart = echarts.init(Dom)
  611 + let processedData = datas.map(item => ({
  612 + name: item.location,
  613 + value: item.trendQuantity
  614 + }))
  615 + let option = {
  616 + legend: {},
  617 + tooltip: {},
  618 + xAxis: {
  619 + type: 'category',
  620 + data:processedData.map(item => item.name),
  621 + axisLabel: {
  622 + //x轴文字的配置
  623 + show: true,
  624 + interval: 0,//使x轴文字显示全
  625 + textStyle: {
  626 + color: "#000000"
  627 + },
  628 + formatter: function(params) {
  629 + var newParamsName = "";
  630 + var paramsNameNumber = params.length;
  631 + var provideNumber = 4; //一行显示几个字
  632 + var rowNumber = Math.ceil(paramsNameNumber / provideNumber);
  633 + if (paramsNameNumber > provideNumber) {
  634 + for (var p = 0; p < rowNumber; p++) {
  635 + var tempStr = "";
  636 + var start = p * provideNumber;
  637 + var end = start + provideNumber;
  638 + if (p == rowNumber - 1) {
  639 + tempStr = params.substring(start, paramsNameNumber);
  640 + } else {
  641 + tempStr = params.substring(start, end) + "\n";
  642 + }
  643 + newParamsName += tempStr;
  644 + }
  645 + } else {
  646 + newParamsName = params;
  647 + }
  648 + return newParamsName;
  649 + }
  650 + }
  651 +
  652 + },
  653 + yAxis: {
  654 + type: 'value',
  655 + },
  656 + // grid: {
  657 + // left: '1%',
  658 + // right: '1%',
  659 + // top: '5%',
  660 + // bottom: '6%',
  661 + // containLabel: true
  662 + // },
  663 + series: [{
  664 + type: 'bar',
  665 + color: '#3f9b6a',
  666 + data: processedData.map(item => item.value),
  667 + }
  668 + ]
  669 + };
  670 + option && myChart.setOption(option);
  671 +
488 672  
489   - let processedData = datas.map(item => ({
490   - // name: item.trendDate || '11',
491   - value: item.trendQuantity
492   - }))
493   - let option = {
494   - legend: {},
495   - tooltip: {},
496   - xAxis: {
497   - type: 'category',
498   - data: ['商铺','场地','广告位'],
499   - },
500   - yAxis: {
501   - type: 'value',
502   - max: 50
503   - },
504   - grid: {
505   - left: '1%',
506   - right: '1%',
507   - top: '5%',
508   - bottom: '6%',
509   - containLabel: true
510   - },
511   - series: [{
512   - type: 'bar',
513   - color: '#3f9b6a',
514   - data: processedData.map(item => item.value),
515   - type: 'line'
516   - },
517   - ]
518   - };
519   - option && myChart.setOption(option);
520 673 },
521   - // charDam4() {
522   - // let Dom = this.$refs.shop4ZX
523   - // let myChart = echarts.init(Dom);
524   - // let option = {
525   - // xAxis: {
526   - // type: 'category',
527   - // data: ['2024-07', '2024-08', '2024-09', '2024-10', '2024-11', '2024-12', '2024-13']
528   - // },
529   - // yAxis: {
530   - // type: 'value'
531   - // },
532   - // grid: {
533   - // left: '1%',
534   - // right: '1%',
535   - // top: '5%',
536   - // bottom: '6%',
537   - // containLabel: true
538   - // },
539   - // series: [{ // 设置线条颜色
540   - // lineStyle: {
541   - // color: '#3f9b6a', // 这里设置为红色
542   - // width: 2, // 线条宽度
543   - // },
544   - // data: [0,0, 0, 1, 0, 0],
545   - // type: 'line'
546   - // }]
547   - // }
548   - // option && myChart.setOption(option);
549   -
550   - // },
551   - // charDam5() {
552   - // let Dom = this.$refs.shop4TJ
553   - // let myChart = echarts.init(Dom);
554   - // let option = {
555   - // tooltip: {
556   - // trigger: 'axis',
557   - // axisPointer: {
558   - // type: 'shadow'
559   - // }
560   - // },
561   - // grid: {
562   - // left: '3%',
563   - // right: '4%',
564   - // bottom: '3%',
565   - // containLabel: true
566   - // },
567   - // xAxis: {
568   - // type: 'value',
569   - // boundaryGap: [0, 0.01]
570   - // },
571   - // yAxis: {
572   - // type: 'category',
573   - // data: ['商户A', '商户B', '商户C', '商户D', '商户E', ]
574   - // },
575   - // series: [{
576   - // lineStyle: {
577   - // color: '#3f9b6a', // 这里设置为红色
578   - // width: 2, // 线条宽度
579   - // },
580   - // name: '2011',
581   - // type: 'bar',
582   - // data: [2, 4, 5, 4, 1, 5]
583   - // }]
584   - // };
585   - // option && myChart.setOption(option);
586   - // },
587 674 charDam6(datas) {
588 675  
589 676 let Dom = this.$refs.shop5ZX
... ... @@ -668,64 +755,91 @@
668 755 }
669 756 option && myChart.setOption(option);
670 757 },
  758 + tuichar(datas) {
  759 + let Dom = this.$refs.tuiTong
  760 + let myChart = echarts.init(Dom)
  761 + let processedData = datas.map(item => ({
  762 + name: item.rentalCondition,
  763 + value: item.trendQuantity
  764 + }))
  765 + let option = {
  766 + xAxis: {
  767 + type: 'category',
  768 + data:processedData.map(item => item.name),
  769 + },
  770 + yAxis: {
  771 + type: 'value'
  772 + },
  773 + grid: {
  774 + left: '1%',
  775 + right: '1%',
  776 + top: '5%',
  777 + bottom: '6%',
  778 + containLabel: true
  779 + },
  780 + series: [{ // 设置线条颜色
  781 + lineStyle: {
  782 + color: '#3f9b6a', // 这里设置为红色
  783 + width: 2, // 线条宽度
  784 + },
  785 + data: processedData.map(item => item.value),
  786 + type: 'line'
  787 + }]
  788 + }
  789 + option && myChart.setOption(option);
671 790  
672   -// charDam9(){
673   -
674   -// let Dom = this.$refs.shop3TJ
675   -// let myChart = echarts.init(Dom);
676   -// let option = {
677   -// tooltip: {
678   -// trigger: 'axis',
679   -// axisPointer: {
680   -// type: 'shadow'
681   -// }
682   -// },
683   -// grid: {
684   -// left: '3%',
685   -// right: '4%',
686   -// bottom: '3%',
687   -// containLabel: true
688   -// },
689   -// xAxis: {
690   -// type: 'value',
691   -// boundaryGap: [0, 0.01]
692   -// },
693   -// yAxis: {
694   -// type: 'category',
695   -// data: ['商户A', '商户B', '商户C', '商户D', '商户E', ]
696   -// },
697   -// series: [{
698   -// lineStyle: {
699   -// color: '#3f9b6a', // 这里设置为红色
700   -// width: 2, // 线条宽度
701   -// },
702   -// name: '2011',
703   -// type: 'bar',
704   -// data: [1, 2, 3, 4, 5, 10]
705   -// }]
706   -// };
707   -// option && myChart.setOption(option);
708   -
709   -// },
710 791  
  792 + },
  793 + charJing(datas){
  794 +
  795 + let Dom = this.$refs.shopJing
  796 + let myChart = echarts.init(Dom)
  797 + let processedData = datas.map(item => ({
  798 + name: item.shopName,
  799 + value: item.price
  800 + }))
  801 + let option = {
  802 + legend: {},
  803 + tooltip: {},
  804 + xAxis: {
  805 + type: 'category',
  806 + data:processedData.map(item => item.name),
  807 + },
  808 + yAxis: {
  809 + type: 'value',
  810 + },
  811 + grid: {
  812 + left: '1%',
  813 + right: '1%',
  814 + top: '5%',
  815 + bottom: '6%',
  816 + containLabel: true
  817 + },
  818 + series: [{
  819 + type: 'bar',
  820 + color: '#3f9b6a',
  821 + data: processedData.map(item => item.value),
  822 + }
  823 + ]
  824 + };
  825 + option && myChart.setOption(option);
  826 +
  827 + },
711 828 async getAll() {
712 829 const res = await statistical(this.pageindex)
713 830  
714   - this.charDam(res.data.seekingIntentionStatistics)
  831 + this.charDam(res.data.merchantChargeStatistics)
715 832 this.charDam2(res.data.seekingIntentionStatistics)
716 833 this.charDam6(res.data.contractTrend)
717   -
  834 +this.hetongDam(res.data.contractTrend)
718 835 this.charDam7(res.data.basicQueryTrends)
719 836 let trends=[...res.data.shopTrend,...res.data.venueTrend,...res.data.advertisingTrend]
720 837  
721 838 this.charDam1(trends)
722   - this.charDam3(trends)
723   - },
724   - handleSizeChange() {
725   -
726   - },
727   - handleCurrentChange() {
  839 + this.charDam3(res.data.tollLocationStatistics)
  840 + this.charJing(res.data.operationStatistics)
728 841  
  842 + this.tuichar(res.data.rentalStatistics)
729 843 },
730 844 resetting(){
731 845 this.FormTime = []
... ... @@ -738,19 +852,40 @@
738 852     endTime:this.FormTime[1]
739 853 }
740 854 const res = await statistical(Msg)
741   - this.charDam(res.data.seekingIntentionStatistics)
  855 + this.charDam(res.data.merchantChargeStatistics)
742 856 this.charDam2(res.data.seekingIntentionStatistics)
743 857 this.charDam6(res.data.contractTrend)
  858 + this.hetongDam(res.data.contractTrend)
744 859 this.charDam7(res.data.basicQueryTrends)
745 860 let trends=[...res.data.shopTrend,...res.data.venueTrend,...res.data.advertisingTrend]
746 861  
747 862 this.charDam1(trends)
748   - this.charDam3(trends)
749   -
  863 + this.charDam3(res.data.tollLocationStatistics)
  864 + this.tuichar(res.data.rentalStatistics)
  865 + this.charJing(res.data.operationStatistics)
750 866 },
751   - gitOut(){
  867 + // 下载
  868 + async gitOut() {
  869 + const content = this.$refs.tubiao;
752 870  
753   - },
  871 + // 使用 html2canvas 将 div 渲染为画布
  872 + const canvas = await html2canvas(content);
  873 +
  874 + // 获取画布的图像数据
  875 + const imgData = canvas.toDataURL('image/png');
  876 +
  877 + // 创建一个新的 PDF 文档
  878 + const pdf = new jsPDF('p', 'mm', 'a4');
  879 +
  880 + // 添加图像到 PDF,第二个参数是图像格式,第三个参数是缩放比例
  881 + const imgWidth = 190; // 图像的宽度(mm)
  882 + const imgHeight = (canvas.height * imgWidth) / canvas.width; // 保持图像的宽高比
  883 +
  884 + pdf.addImage(imgData, 'PNG', 10, 10, imgWidth, imgHeight); // 10, 10 是图像在 PDF 中的位置(mm)
  885 +
  886 + // 保存 PDF 文件
  887 + pdf.save('统计图.pdf');
  888 + },
754 889 }
755 890 }
756 891 </script>
... ...
yanshouban/src/views/ipm/followup/index.vue
... ... @@ -658,11 +658,27 @@
658 658 const res = await genGetAll(this.pageindex)
659 659 this.tableData = res.data.content
660 660 this.total = res.data.content.length
  661 + this.tableData.map(res=>{
  662 + res.contactPhone = this.$decrypt(res.contactPhone)
  663 + res.idCardNumber = this.$decrypt(res.idCardNumber)
  664 + res.unifiedSocialCreditCode = this.$decrypt(res.unifiedSocialCreditCode)
  665 + res.legalRepresentative = this.$decrypt(res.legalRepresentative)
  666 + res.address = this.$decrypt(res.address)
  667 + res.emailAddress = this.$decrypt(res.emailAddress)
  668 + })
661 669 const ziyuan = await getAlls(this.pageindex)
662 670 const ggw = await map1(this.pageindex)
663 671 this.ziyuanData = [...ziyuan.data.content,...ggw.data.content]
664 672 const kehu = await icManAll(this.pageindex);
665 673 this.kehuData = kehu.data.content
  674 + this.kehuData.map(res=>{
  675 + res.unifiedSocialCreditCode = this.$decrypt(res.unifiedSocialCreditCode)
  676 + res.legalRepresentative = this.$decrypt(res.legalRepresentative)
  677 + res.address = this.$decrypt(res.address)
  678 + res.emailAddress = this.$decrypt(res.emailAddress)
  679 + res.contactName = this.$decrypt(res.contactName)
  680 + res.contactPhone = this.$decrypt(res.contactPhone)
  681 + })
666 682 },
667 683  
668 684 // 新增确定按钮
... ... @@ -796,7 +812,14 @@
796 812 const res = await genGetAll(this.formSel)
797 813 this.tableData = res.data.content
798 814 this.total = res.data.content.length
799   -
  815 + this.tableData.map(res=>{
  816 + res.contactPhone = this.$decrypt(res.contactPhone)
  817 + res.idCardNumber = this.$decrypt(res.idCardNumber)
  818 + res.unifiedSocialCreditCode = this.$decrypt(res.unifiedSocialCreditCode)
  819 + res.legalRepresentative = this.$decrypt(res.legalRepresentative)
  820 + res.address = this.$decrypt(res.address)
  821 + res.emailAddress = this.$decrypt(res.emailAddress)
  822 + })
800 823 },
801 824 //重置按钮
802 825 resetting() {
... ...
yanshouban/src/views/ipm/inr/index.vue
... ... @@ -388,6 +388,7 @@
388 388 tanAdd,
389 389 tanEdit,
390 390 tanDel,
  391 + excelQueryByPage
391 392 } from '../../../api/inr.js'
392 393 import upimg from "@/components/ImageUpload/index"
393 394 import {
... ... @@ -629,23 +630,33 @@ const res = await tanGetAll(this.formSel)
629 630 await tanDel({id:item.id})
630 631 this.getAll()
631 632 },
632   - gitOut(){
633   - let add =[]
634   - this.tableData.map(item=>{
635   -
636   - let obj ={
637   - intentCustomerName:'',
638   - customerLevel:'',
639   - contactPhone:'',
640   - nextFollowUpStartTime:''
641   - }
642   - obj.intentCustomerName = item.cereFollowDetails.cereCustomerInfo.intentCustomerName
643   - obj.contactPhone = item.cereFollowDetails.cereCustomerInfo.contactPhone
644   - obj.customerLevel = item.cereFollowDetails.cereCustomerInfo.customerLevel
645   - obj.nextFollowUpStartTime = item.nextNegotiationStartTime
646   - add.push(obj)
647   -
648   - })
  633 + async gitOut(){
  634 + let res = await excelQueryByPage(this.pageindex)
  635 + if(!res){
  636 + return
  637 + }
  638 + const blob = new Blob([res], { type: 'application/vnd.ms-excel' })
  639 + const fileName = '谈判列表.xls'
  640 + if ('download' in document.createElement('a')) {
  641 + // 非IE下载
  642 + const elink = document.createElement('a')
  643 + elink.download = fileName
  644 + elink.style.display = 'none'
  645 + elink.href = URL.createObjectURL(blob)
  646 + document.body.appendChild(elink)
  647 + elink.click()
  648 + URL.revokeObjectURL(elink.href) // 释放URL 对象
  649 + document.body.removeChild(elink)
  650 + } else {
  651 + // IE10+下载
  652 + navigator.msSaveBlob(blob, fileName)
  653 + }
  654 + this.$message({
  655 + message: '导出成功',
  656 + type: 'success'
  657 + })
  658 +
  659 +
649 660 },
650 661 }
651 662 }
... ...
yanshouban/src/views/media/mediaMana.vue
... ... @@ -120,7 +120,7 @@
120 120 <!-- 详情活动方案 -->
121 121 <el-dialog :title="wangShow==false?'修改页 ':'详情页'" :visible.sync="ggXin" custom-class='bian_css' style="padding: 0;" width="65s%"
122 122 center :close-on-click-modal="false" :close-on-press-escape="false" :show-close='false'>
123   - <div style="padding: 10px 20px;">
  123 + <div style="padding: 10px 20px;" ref="contentToConvert">
124 124 <el-form ref="ruleFormInfo" :model="secondData" label-width="120px"
125 125 style="position: relative">
126 126 <el-form-item label="方案标题" class="grid-content bg-purple device-from" prop="name">
... ... @@ -145,6 +145,9 @@
145 145 <el-button @click="ggXin=false"
146 146 style="color: #000;border: 1px solid #DBDBDB;background-color: #fff;" class="buttonHover">返回
147 147 </el-button>
  148 + <el-button @click="daochu" v-if="wangShow"
  149 + style="color: #fff;background-color: #3F9B6A;">生成PDF
  150 + </el-button>
148 151 <el-button @click="TuiEdit" v-if="!wangShow"
149 152 style="color: #fff;background-color: #3F9B6A;">确定
150 153 </el-button>
... ... @@ -523,6 +526,8 @@
523 526 import addAct from "./mediaMannaAdd"
524 527 import wangEditor from "@/components/editor/index";
525 528 import upimg from "@/components/ImageUpload/index"
  529 + import html2canvas from 'html2canvas'
  530 + import jsPDF from 'jspdf'
526 531 export default {
527 532 components: { addAct,wangEditor,upimg},
528 533 data() {
... ... @@ -604,6 +609,29 @@ components: { addAct,wangEditor,upimg},
604 609  
605 610 },
606 611 methods: {
  612 + async daochu(){
  613 +
  614 + const content = this.$refs.contentToConvert;
  615 +
  616 + // 使用 html2canvas 将 div 渲染为画布
  617 + const canvas = await html2canvas(content);
  618 +
  619 + // 获取画布的图像数据
  620 + const imgData = canvas.toDataURL('image/png');
  621 +
  622 + // 创建一个新的 PDF 文档
  623 + const pdf = new jsPDF('p', 'mm', 'a4');
  624 +
  625 + // 添加图像到 PDF,第二个参数是图像格式,第三个参数是缩放比例
  626 + const imgWidth = 190; // 图像的宽度(mm)
  627 + const imgHeight = (canvas.height * imgWidth) / canvas.width; // 保持图像的宽高比
  628 +
  629 + pdf.addImage(imgData, 'PNG', 10, 10, imgWidth, imgHeight); // 10, 10 是图像在 PDF 中的位置(mm)
  630 +
  631 + // 保存 PDF 文件
  632 + pdf.save('媒体推广.pdf');
  633 +
  634 + },
607 635 //查询全数据
608 636 async getAll() {
609 637 const res = await tuiGetAll(this.pageindex)
... ...
yanshouban/src/views/member/memberList/details.vue
... ... @@ -369,12 +369,17 @@ export default {
369 369 if (item.fields === 'sex') {
370 370 item.value = item.value === '1' ? '男' : '女'
371 371 }
  372 +
  373 + item.value = this.$decrypt(item.value)
  374 + console.log(item)
372 375 })
373 376 },
374 377 // 初始化查询所有标签
375 378 async getSelect (name) {
376 379 const res = await getLabels(name)
377 380 this.tipsList = res.data
  381 +
  382 +
378 383 },
379 384 doCancel () {
380 385 this.visible = false
... ...
yanshouban/src/views/online/QRFunds/index.vue
... ... @@ -182,6 +182,7 @@ export default {
182 182 res.emailAddress = this.$decrypt(res.emailAddress)
183 183 res.shopAdress = this.$decrypt(res.shopAdress)
184 184 res.legalRepresentative = this.$decrypt(res.legalRepresentative)
  185 + res.chargePersonPhone = this.$decrypt(res.chargePersonPhone)
185 186 })
186 187 },
187 188 onSubmit(){
... ...
yanshouban/src/views/scheme/addressguan.vue 0 → 100644
  1 +<template>
  2 + <div class="zhuti" v-if="addressShow">
  3 + <div style="height:58px;line-height:58px;">
  4 + <div style="color:#0006"> <span>招商方案管理</span> <span style="padding:0 5px;">></span> <span
  5 + style="color:#000000e6">商铺位置管理</span></div>
  6 + </div>
  7 + <div>
  8 + <!-- 搜索 -->
  9 + <div class="formSearch">
  10 + <div class="demo-input-suffix">
  11 + <div style="width:68px;height:36px;line-height:32px;">位置</div>
  12 + <el-input placeholder="请输入" v-model="formSel.policyName" style="width:168px;margin-right: 15px">
  13 + </el-input>
  14 + </div>
  15 + <div>
  16 + <el-button @click="onSubmit" style="background-color: #3F9B6A;color: #fff">检索
  17 + </el-button>
  18 + <el-button @click="resetting" class="buttonHover"
  19 + style="color: #000;border: 1px solid #DBDBDB;background-color: #fff;">重置
  20 + </el-button>
  21 + </div>
  22 + </div>
  23 + <div style="margin:20px 0;">
  24 + <el-button icon="el-icon-circle-plus-outline" @click="addbuss"
  25 + style="background-color: #3F9B6A;color: #fff;padding:8px 15px;">新增</el-button>
  26 + </div>
  27 +
  28 + <!-- 表格 -->
  29 + <el-table :data="tableData.slice((currentPage - 1) * pageSize, currentPage * pageSize)"
  30 + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"
  31 + >
  32 + <el-table-column label="序号" min-width="100" >
  33 + <template slot-scope="scope">
  34 + {{scope.$index +1}}
  35 + </template>
  36 + </el-table-column>
  37 + <el-table-column label="位置名称" prop="policyName" min-width="200" >
  38 + </el-table-column>
  39 + <el-table-column label="创建时间" prop="applicableResources" min-width="100" >
  40 + </el-table-column>
  41 + <el-table-column label="操作" min-width="200" >
  42 + <template slot-scope="scope">
  43 + <div @click="handleEditForm(scope.row)" class="tableBtn greens">编辑</div>
  44 + <div @click="handleDelete(scope.row)" class="tableBtn greens">删除</div>
  45 + </template>
  46 + </el-table-column>
  47 + </el-table>
  48 + <div class="fenye">
  49 + <el-pagination class="pagination" :hide-on-single-page="flag" background small :current-page="currentPage"
  50 + layout="total,prev, pager,next" :total="total"
  51 + @current-change="handleCurrentChange" />
  52 + </div>
  53 + </div>
  54 + <el-dialog :title="index == 0?'新增页':'编辑页'" :visible.sync="xinShow" custom-class='bian_css' style="padding: 0;" width="55%" center
  55 + :close-on-click-modal="false" >
  56 + <div style="padding:20px;" class="xinFrom">
  57 + <el-form :model="form" ref="ruleForm" label-width="80px">
  58 + <el-form-item label="商铺位置" prop="policyName">
  59 + <el-input v-model="form.policyName" placeholder="请输入" style="width: 87%;margin-right: 15px" maxlength="50"></el-input>
  60 + </el-form-item>
  61 +
  62 + </el-form>
  63 + <div style="display: flex;justify-content: flex-end;margin-top:20px;">
  64 + <el-button @click="closeFn()" style="background-color: #fff;color: #000;border: 1px solid #B1B1B1;"
  65 + class="buttonHover">取 消</el-button>
  66 + <el-button type="primary" @click="addCheck(index)"
  67 + style="background-color: #3F9B6A;color: #fff;border-color:#3F9B6A;">确 定</el-button>
  68 +
  69 + </div>
  70 + </div>
  71 + </el-dialog>
  72 + </div>
  73 +</template>
  74 +
  75 +<script>
  76 + import {
  77 + ceGetAll,
  78 + ceAdd,
  79 + ceEdit,
  80 + ceDel,
  81 + } from '../../api/sam.js'
  82 + import wangEditor from "@/components/editor/index"
  83 + import upimg from "@/components/ImageUpload/index"
  84 + import {
  85 + uploadUrl
  86 + } from '@/utils/request'
  87 + export default {
  88 + components: { wangEditor ,upimg},
  89 + props: {
  90 + addressShow: {
  91 + type: Boolean,
  92 + default: false
  93 + },
  94 + },
  95 + data() {
  96 + return {
  97 + formSel:{
  98 + policyName:''
  99 + },
  100 + tableData:[],
  101 + currentPage: 1,
  102 + total: 0,
  103 + flag: false,
  104 + pageSize: 10,
  105 + xinShow:false,
  106 + form:{
  107 + policyName:'',
  108 + },
  109 + index:0
  110 +
  111 + }
  112 + },
  113 +
  114 + created() {
  115 +
  116 +
  117 + },
  118 + mounted() {
  119 +this.getAll()
  120 + },
  121 +
  122 + methods: {
  123 + getAll(){
  124 +
  125 + },
  126 + handleCurrentChange(){
  127 +
  128 + },
  129 + onSubmit(){
  130 +
  131 + },
  132 + resetting(){
  133 +
  134 + },
  135 + closeFn(){
  136 +
  137 + this.xinShow = false
  138 + this.getAll()
  139 + },
  140 + addCheck(){
  141 + this.xinShow = false
  142 +this.getAll()
  143 + },
  144 + addbuss(){
  145 + this.index = 0
  146 + this.xinShow = true
  147 + },
  148 + handleEditForm(){
  149 + this.index =1
  150 + this.xinShow = true
  151 + },
  152 + handleDelete(){
  153 +
  154 + },
  155 + }
  156 + }
  157 +</script>
  158 +<style src="@wangeditor/editor/dist/css/style.css"></style>
  159 +<style scoped>
  160 + /deep/ .first-column-bg {
  161 + background-color: #f4f4f5 !important;
  162 + }
  163 +
  164 + .zhuti {
  165 + padding: 0 20px 20px 20px;
  166 + min-height: calc(100vh - 50px - 20px);
  167 + background-color: #Fff;
  168 +
  169 + }
  170 +
  171 + /deep/ .el-form-item__content {
  172 + line-height: 0;
  173 + }
  174 +
  175 + ::v-deep .xinForm .el-form-item__content {
  176 + line-height: 3;
  177 + }
  178 +
  179 + .tableBtn {
  180 + display: inline-block;
  181 + margin-right: 10px;
  182 + cursor: pointer;
  183 + }
  184 +
  185 +
  186 +
  187 + .greens {
  188 + color: #3F9B6A;
  189 + }
  190 +
  191 +
  192 + .fenye {
  193 + margin-top: 20px;
  194 + display: flex;
  195 + justify-content: flex-end;
  196 + position: relative;
  197 + }
  198 +
  199 + /deep/ .el-pagination.is-background .el-pager li:not(.disabled).active {
  200 + background-color: #3F9B6A;
  201 + }
  202 +
  203 + .el-row {
  204 + margin-bottom: 20px;
  205 + }
  206 +
  207 + :last-child {
  208 + margin-bottom: 0;
  209 + }
  210 +
  211 + .el-col {
  212 + border-radius: 4px;
  213 + }
  214 +
  215 + .bg-purple-dark {
  216 + background: #99a9bf;
  217 + }
  218 +
  219 + .bg-purple {
  220 + /* background: #d3dce6; */
  221 + }
  222 +
  223 + .bg-purple-light {
  224 + background: #e5e9f2;
  225 + }
  226 +
  227 + .grid-content {
  228 + border-radius: 4px;
  229 + min-height: 36px;
  230 + }
  231 +
  232 + .row-bg {
  233 + padding: 10px 0;
  234 + background-color: #f9fafc;
  235 + }
  236 +
  237 + /deep/ .bg-purple[data-v-0e3fe4ec] {
  238 + background: #fff;
  239 + height: 50px;
  240 + }
  241 +
  242 + /deep/ .el-form--label-top .el-form-item__label {
  243 + padding: 0;
  244 + }
  245 +
  246 + .demo-input-suffix {
  247 + display: flex;
  248 + margin-right: 20px;
  249 + width: 83%;
  250 + }
  251 +
  252 + .pagination {
  253 + text-align: right;
  254 + line-height: 20px;
  255 + }
  256 +
  257 +
  258 +
  259 + /deep/ .dialog_css {
  260 + margin-top: 11vh;
  261 + margin-left: 13%;
  262 + padding: 0px;
  263 +
  264 + .el-dialog__title {
  265 + font-size: 12px;
  266 + }
  267 + }
  268 +
  269 + /deep/.el-dialog__body {
  270 + padding: 0px;
  271 + }
  272 +
  273 + /deep/ .el-dialog__header {
  274 + background-color: #fff;
  275 + }
  276 +
  277 + /deep/.el-dialog__title {
  278 + color: #000;
  279 + }
  280 +
  281 + .el-row {
  282 + margin-bottom: 20px;
  283 +
  284 + &:last-child {
  285 + margin-bottom: 0;
  286 + }
  287 + }
  288 +
  289 + /deep/ .avatar-uploader .el-upload {
  290 + border: 1px dashed #d9d9d9;
  291 + border-radius: 6px;
  292 + cursor: pointer;
  293 + position: relative;
  294 + overflow: hidden;
  295 + }
  296 +
  297 + .avatar-uploader .el-upload:hover {
  298 + border-color: #409EFF;
  299 + }
  300 +
  301 + .avatar-uploader-icon {
  302 + font-size: 28px;
  303 + color: #8c939d;
  304 + width: 108px;
  305 + height: 108px;
  306 + line-height: 108px;
  307 + /*text-align: center;*/
  308 + }
  309 +
  310 + .avatar {
  311 + width: 108px;
  312 + height: 108px;
  313 + display: block;
  314 + }
  315 +
  316 + ::v-deep .el-tabs__item.is-active {
  317 + color: #3F9B6A;
  318 + opacity: 1;
  319 + }
  320 +
  321 + /deep/ .el-tabs__nav-wrap::after {
  322 + background-color: #fff;
  323 + }
  324 +
  325 + ::v-deep .el-tabs__item:hover {
  326 + color: #3F9B6A;
  327 + cursor: pointer;
  328 + opacity: 1;
  329 + }
  330 +
  331 + /deep/ .el-tabs__active-bar {
  332 + background-color: #389865;
  333 + }
  334 +
  335 + /deep/ .el-table_2_column_13 {
  336 + font-weight: 100;
  337 + }
  338 +
  339 + ::v-deep .el-input__inner:focus {
  340 + border: #3F9B6A 1px solid;
  341 + }
  342 +
  343 + ::v-deep .el-input__inner:hover {
  344 + border: #3F9B6A 1px solid;
  345 + }
  346 +
  347 + ::v-deep .el-select .el-input.is-focus .el-input__inner {
  348 + border-color: #3F9B6A
  349 + }
  350 +
  351 + /* ::v-deep .el-steps .el-step__head.is-wait {
  352 + background-color: red; /* 修改为你想要的颜色 */
  353 +
  354 + /* 修改未进行步骤的描述文字颜色 */
  355 + ::v-deep .el-steps .el-step__description.is-wait {
  356 + color: #999;
  357 + /* 修改为你想要的颜色 */
  358 + }
  359 +
  360 + /* 修改未进行步骤的图标颜色 */
  361 + ::v-deep .el-steps .el-step__icon.is-text.is-wait {
  362 + color: #999;
  363 + /* 修改为你想要的颜色 */
  364 + }
  365 +
  366 + /* 修改未进行步骤的边框色 */
  367 + ::v-deep .el-steps .el-step__line.is-wait {
  368 + border-color: #eee;
  369 + /* 修改为你想要的颜色 */
  370 + }
  371 +
  372 + ::v-deep .el-steps .is-process .el-step__line {
  373 + background-color: #3F9B6A;
  374 + /* 修改线的颜色 */
  375 + }
  376 +
  377 + ::v-deep .el-steps .is-process .el-step__title {
  378 + color: #fe7b6a;
  379 + /* 修改进行中步骤的标题颜色 */
  380 + }
  381 +
  382 + ::v-deep .el-steps .is-process .el-step__icon {
  383 + color: #fff;
  384 + /* 修改进行中步骤的图标颜色 */
  385 + background: #3F9B6A;
  386 + /* 修改进行中步骤图标的边框颜色 */
  387 + border: 0px;
  388 + }
  389 +
  390 + ::v-deep .el-step__icon-inner {
  391 + line-height: 0
  392 + }
  393 +
  394 + /* 线条长度 */
  395 + ::v-deep .el-step.is-vertical .el-step__line {
  396 + top: 30px;
  397 + height: 60px;
  398 + }
  399 +
  400 +
  401 + ::v-deep .el-date-editor .el-range-separator {
  402 + line-height: 24px;
  403 + }
  404 +
  405 +</style>
  406 +<style lang="scss" scoped>
  407 + ::v-deep .xinFrom{
  408 + padding-top:20px;
  409 + .el-input--mini .el-input__inner{
  410 + height:36px;
  411 + line-height:36px;
  412 + }
  413 + .el-range-editor--mini.el-input__inner{
  414 + height:36px;
  415 + width:100%;
  416 + }
  417 + }
  418 + ::v-deep .buttonHover:hover{
  419 + color:#3f9b6a !important;
  420 + border-color: #c5e1d2 !important;
  421 + background-color: #ecf5f0 !important;
  422 + outline: none;
  423 + }
  424 +::v-deep .el-pagination__total {
  425 + position: absolute;
  426 + left: 10px;
  427 + }
  428 + ::v-deep .formSearch {
  429 + display: flex;
  430 + width: 100%;
  431 + font-size: 14px;
  432 + justify-content: space-between;
  433 + }
  434 + ::v-deep .el-radio-group{
  435 + padding-top:14px;
  436 + }
  437 + ::v-deep .el-radio{
  438 + font-weight:100 !important;
  439 + }
  440 + ::v-deep .bian_css{
  441 + overflow-y:initial !important;
  442 + }
  443 +</style>
... ...
yanshouban/src/views/scheme/planningBz.vue
... ... @@ -33,9 +33,19 @@
33 33 </el-button>
34 34 </div>
35 35 </div>
36   - <div style="margin:20px 0;">
  36 + <div style="margin:20px 0;display:flex;">
37 37 <el-button icon="el-icon-circle-plus-outline" @click="addbuss(1)"
38 38 style="background-color: #3F9B6A;color: #fff;padding:8px 15px;">新增</el-button>
  39 + <el-upload class="upload-demo" ref="upload"
  40 + :limit="1"
  41 + accept=".xlsx"
  42 + :action="upload"
  43 + :on-success="daoru"
  44 + :file-list="fileData"
  45 + :auto-upload="true"
  46 + :show-file-list="false">
  47 + <el-button style="background-color: #fff;color: #3F9B6A;border: 1px solid #dcdfe6;margin-left:15px;" class="buttonHover">导入</el-button>
  48 + </el-upload>
39 49 </div>
40 50  
41 51 <!-- 表格 -->
... ... @@ -312,17 +322,20 @@
312 322 addList,
313 323 updateList,
314 324 queryById,
  325 + excelAdd
315 326 } from '../../api/planningBz.js'
316 327 import wangEditor from "@/components/editor/index"
317 328 import upimg from "@/components/ImageUpload/index"
318 329 import {
319 330 uploadUrl
320 331 } from '@/utils/request'
  332 +
321 333 export default {
322 334 components: { wangEditor ,upimg},
323 335 data() {
324 336 return {
325 337 upload:uploadUrl,
  338 + fileData:[],
326 339 formSel: {
327 340 planningName:'',
328 341 planningType:'',
... ... @@ -450,7 +463,7 @@ this.total = res.data.content.length
450 463 this.fileList = fileList.slice(-3);
451 464 },
452 465 handleSuccess(file,fileList) {
453   - console.log(file,fileList)
  466 +
454 467 // const fileUrl = response.data.url;
455 468 const fileMsg = {
456 469 name:fileList.name,
... ... @@ -493,7 +506,10 @@ this.total = res.data.content.length
493 506 this.secondData.annex = JSON.parse(item.annex)
494 507  
495 508 }
496   - this.fileList.push(this.secondData.annex)
  509 + if(this.secondData.annex!="" && this.secondData.annex!=''){
  510 + this.fileList.push(this.secondData.annex)
  511 + }
  512 +
497 513 // this.secondData.annex = JSON.parse(this.secondData.annex)
498 514  
499 515  
... ... @@ -599,7 +615,7 @@ this.total = res.data.content.length
599 615 console.log(file);
600 616 },
601 617 handleRemove(file, fileList) {
602   - console.log(file, fileList);
  618 +
603 619 this.fileList = []
604 620 },
605 621 //重置按钮
... ... @@ -632,6 +648,14 @@ this.total = res.data.content.length
632 648 const day = ('0' + date.getDate()).slice(-2);
633 649 return `${year}-${month}-${day}`;
634 650 },
  651 + daoru(response, file, fileList){
  652 + this.fileData.push(file.raw)
  653 + const formDate = new FormData()
  654 + formDate.append('file', this.fileData[0])
  655 + excelAdd(formDate).then(res => {
  656 + this.getAll()
  657 + })
  658 + },
635 659 }
636 660 }
637 661 </script>
... ...
yanshouban/src/views/scheme/sam.vue
1 1 <template>
2 2 <div style="background-color:#f7f7f7;padding:10px 10px;">
3   - <div class="zhuti">
  3 + <div class="zhuti" v-if="addressShow == false">
4 4 <div style="height:58px;line-height:58px;">
5 5 <div style="color:#0006"> <span>招商方案管理</span> <span style="padding:0 5px;">></span> <span
6 6 style="color:#000000e6">策略管理</span></div>
... ... @@ -54,6 +54,8 @@
54 54 <div style="margin:20px 0;">
55 55 <el-button icon="el-icon-circle-plus-outline" @click="addbuss(1)"
56 56 style="background-color: #3F9B6A;color: #fff;padding:8px 15px;">新增</el-button>
  57 + <el-button @click="addressShow =true"
  58 + style="background-color: #3F9B6A;color: #fff;padding:8px 15px;">商铺位置管理</el-button>
57 59 </div>
58 60  
59 61 <!-- 表格 -->
... ... @@ -216,6 +218,7 @@
216 218  
217 219 </el-dialog>
218 220 <samXin :xinShow="ggXin" @childClose='childClose'></samXin>
  221 + <addressguan :addressShow="addressShow" @addClose='addClose' v-if="addressShow"></addressguan>
219 222 </div>
220 223 </template>
221 224  
... ... @@ -229,14 +232,16 @@
229 232 import wangEditor from "@/components/editor/index"
230 233 import upimg from "@/components/ImageUpload/index"
231 234 import samXin from "./samXin"
  235 +import addressguan from "./addressguan"
232 236 import {
233 237 uploadUrl
234 238 } from '@/utils/request'
235 239 export default {
236   - components: { wangEditor ,upimg,samXin},
  240 + components: { wangEditor ,upimg,samXin,addressguan},
237 241 data() {
238 242 return {
239 243 formInline: {},
  244 + addressShow:false,
240 245 upload:uploadUrl,
241 246 plan_Time:[],
242 247 formSel: {
... ... @@ -269,7 +274,8 @@ import samXin from &quot;./samXin&quot;
269 274 },
270 275 fileList: [],
271 276 paymentDate:[],
272   - leaseDate:[]
  277 + leaseDate:[],
  278 + modelData:[]
273 279 }
274 280 },
275 281  
... ... @@ -409,6 +415,10 @@ this.getAll()
409 415 this.xiang = false
410 416 this.getAll()
411 417 },
  418 + addClose(msg){
  419 + this.addressShow = msg
  420 + this.getAll()
  421 + },
412 422 }
413 423 }
414 424 </script>
... ...
yanshouban/src/views/serve/MarkActivity/index.vue
... ... @@ -684,6 +684,10 @@
684 684 const res = await Registration(page)
685 685 this.mingList = res.data
686 686 this.baoming = true
  687 + this.mingList.map(res=>{
  688 + res.userName = this.$decrypt(res.userName)
  689 + res.userPhone = this.$decrypt(res.userPhone)
  690 + })
687 691 }
688 692  
689 693 }
... ...
yanshouban/src/views/serve/kefuServe/index.vue
... ... @@ -23,7 +23,7 @@
23 23 <div>
24 24 <!-- 搜索 -->
25 25 <div style="margin-bottom:20px;">
26   - 修记录
  26 + 修记录
27 27 </div>
28 28  
29 29 <!-- 表格 -->
... ... @@ -39,7 +39,7 @@
39 39 {{scope.$index+1}}
40 40 </template>
41 41 </el-table-column>
42   - <el-table-column label="修类型" prop="deviceType" width="auto" min-width="12%" />
  42 + <el-table-column label="修类型" prop="deviceType" width="auto" min-width="12%" />
43 43 <el-table-column label="问题描述" prop="warrantyIssue" width="auto" min-width="12%" />
44 44 <el-table-column label="设备名称" prop="deviceName" width="auto" min-width="12%" />
45 45 <el-table-column label="备注" prop="memo" width="auto" min-width="12%" />
... ...
yanshouban/src/views/setup/user/index.vue
... ... @@ -326,10 +326,14 @@ export default {
326 326 userGetById({ platformUserId: row.platformUserId }).then(res => {
327 327 this.addForm = res.data
328 328 this.addForm.roleIds = res.data.ids
329   - console.log(this.addForm)
330   - console.log(this.roleList)
  329 +this.addForm.username = this.$decrypt(this.addForm.username)
  330 + this.addForm.email = this.$decrypt(this.addForm.email)
  331 + this.addForm.password = this.$decrypt(this.addForm.password)
  332 + this.addForm.phone = this.$decrypt(this.addForm.phone)
331 333 // this.addForm.roleIds = [1];
332 334 })
  335 +
  336 +
333 337 },
334 338 // 删除用户
335 339 async del (row) {
... ...
yanshouban/src/views/shopRental/manage/index.vue
... ... @@ -37,10 +37,19 @@
37 37 </el-button>
38 38 </div>
39 39 </div>
40   - <div style="margin-bottom: 20px;">
41   - <el-button @click="addbuss(1)" style="background-color: #3F9B6A;color: #fff;padding:8px 15px;"
  40 + <div style="margin-bottom: 20px;display:flex;">
  41 + <el-button @click="addbuss(1)" style="background-color: #3F9B6A;color: #fff;padding:8px 15px;margin-right:15px;"
42 42 icon="el-icon-circle-plus-outline">新增</el-button>
43   - <!-- <el-button @click="" style="background-color: #3F9B6A;color: #fff">批量导入</el-button> -->
  43 + <el-upload class="upload-demo" ref="upload"
  44 + :limit="5"
  45 + accept=".xlsx"
  46 + :action="uploadFileUrl"
  47 + :on-success="daoru"
  48 + :file-list="fileData"
  49 + :auto-upload="true"
  50 + :show-file-list="false">
  51 + <el-button style="background-color: #fff;color: #3F9B6A;border: 1px solid #dcdfe6;" class="buttonHover">导入</el-button>
  52 + </el-upload>
44 53 </div>
45 54 <!-- 表格 -->
46 55  
... ... @@ -1202,9 +1211,7 @@
1202 1211 async
1203 1212 } from 'q'
1204 1213 import axios from 'axios'
1205   - import {
1206   - uploadUrl
1207   - } from '@/utils/request'
  1214 +import { uploadUrl,token } from '@/utils/request'
1208 1215 import {
1209 1216 contractGetAll,
1210 1217 contractDel,
... ... @@ -1214,13 +1221,15 @@
1214 1221 cereLeasingByPage,
1215 1222 cereLeasingEdit,
1216 1223 cereLeasingAdd,
1217   - cereLeasingDel
  1224 + cereLeasingDel,
  1225 + excelAdd
1218 1226 } from '../../../api/manage.js'
1219 1227 export default {
1220 1228 name: 'manage',
1221 1229 data() {
1222 1230 return {
1223 1231 uploadFileUrl: uploadUrl, // 请求地址
  1232 + fileData:[],
1224 1233 hetongBox: false, //合同
1225 1234 detbox: false, //详情
1226 1235 leixing: true, //切换
... ... @@ -1257,6 +1266,7 @@
1257 1266 promotionVideo: '',
1258 1267 promotionImage: '',
1259 1268 notes: '',
  1269 + rentalCondition:0,
1260 1270 }, //租赁信息字段
1261 1271 tableData: [{
1262 1272 id:1,
... ... @@ -1383,6 +1393,7 @@ biangengPan:false,
1383 1393 this.chengeTatle = val
1384 1394 },
1385 1395 async getAll(val) {
  1396 + console.log(this.pageindex)
1386 1397 const res = await cereLeasingByPage(this.pageindex)
1387 1398 this.tableData = res.data.content
1388 1399 this.total = res.data.content.length
... ... @@ -1521,6 +1532,7 @@ biangengPan:false,
1521 1532 promotionVideo: '',
1522 1533 promotionImage: '',
1523 1534 notes: '',
  1535 + rentalCondition:0,
1524 1536 }//租赁信息字段
1525 1537 this.heForm={
1526 1538 contractNumber: '', //合同对应的ID
... ... @@ -1718,6 +1730,14 @@ this.ggXin = true
1718 1730 bianDel(index){
1719 1731 this.biangengTab.splice(index, 1);
1720 1732 },
  1733 + daoru(response, file, fileList){
  1734 + this.fileData.push(file.raw)
  1735 + const formDate = new FormData()
  1736 + formDate.append('file', this.fileData[0])
  1737 + excelAdd(formDate).then(res => {
  1738 + this.getAll()
  1739 + })
  1740 + },
1721 1741 }
1722 1742 }
1723 1743 </script>
... ...
yanshouban/src/views/shopRental/renewalMan/index.vue
... ... @@ -39,6 +39,7 @@
39 39 <div>
40 40 <el-button
41 41 style="background-color: #3F9B6A;color: #fff;padding:8px 15px;" @click="daochu">导出</el-button>
  42 + <el-button @click="dayin" style="background-color: #3F9B6A;color: #fff">打印</el-button>
42 43 </div>
43 44  
44 45 </div>
... ... @@ -793,7 +794,7 @@
793 794  
794 795 <div style="justify-content:flex-end;margin:20px 20px 0 0;display:flex;">
795 796 <el-button @click="downloadPdf" style="background-color: #3F9B6A;color: #fff">下载</el-button>
796   - <!-- <el-button style="background-color: #3F9B6A;color: #fff">打印</el-button> -->
  797 +
797 798 <!-- <el-button style="background-color: #3F9B6A;color: #fff">发送</el-button> -->
798 799  
799 800 </div>
... ... @@ -817,7 +818,8 @@
817 818 updateList,
818 819 queryById,
819 820 cereLeasingById,
820   - cereLeasingEdit
  821 + cereLeasingEdit,
  822 + pdfLeaseRenewalManagement
821 823 } from '../../../api/manage.js'
822 824 import {
823 825 rentalGetAll,
... ... @@ -874,7 +876,7 @@
874 876 },
875 877 pageNumber: 1,
876 878 pageSize: 10,
877   -
  879 + rentalCondition:3
878 880 },
879 881 xiangData:{},
880 882 heData:{},
... ... @@ -890,6 +892,7 @@
890 892 pageindex: {
891 893 pageNumber: 1,
892 894 pageSize: 10,
  895 + rentalCondition:3
893 896 },
894 897 bianjiBox:1,
895 898 chengeTatle:1,
... ... @@ -932,6 +935,30 @@
932 935  
933 936 },
934 937 methods: {
  938 + async dayin(){
  939 + let res = await pdfLeaseRenewalManagement(this.pageindex)
  940 + if(!res){
  941 + return
  942 + }
  943 + const blob = new Blob([res], { type: 'application/pdf' })
  944 + const fileName = '续租管理.pdf'
  945 + if ('download' in document.createElement('a')) {
  946 + // 非IE下载
  947 + const elink = document.createElement('a')
  948 + elink.download = fileName
  949 + elink.style.display = 'none'
  950 + elink.href = URL.createObjectURL(blob)
  951 + document.body.appendChild(elink)
  952 + elink.click()
  953 + URL.revokeObjectURL(elink.href) // 释放URL 对象
  954 + document.body.removeChild(elink)
  955 + } else {
  956 + // IE10+下载
  957 + navigator.msSaveBlob(blob, fileName)
  958 + }
  959 +
  960 +
  961 + },
935 962 chenge(val){
936 963 this.formSel={
937 964 affiliation: '',
... ... @@ -1057,7 +1084,7 @@
1057 1084 },
1058 1085 pageNumber: 1,
1059 1086 pageSize: 10,
1060   -
  1087 + rentalCondition:3
1061 1088 }
1062 1089 this.leaseStartDate = []
1063 1090 this.getAll()
... ...
yanshouban/src/views/shopRental/rentTermination/index.vue
... ... @@ -41,6 +41,8 @@
41 41 </el-button>
42 42 <el-button @click="daochu" style="background-color: #3F9B6A;color: #fff">导出
43 43 </el-button>
  44 + <el-button @click="dayin" style="background-color: #3F9B6A;color: #fff">打印</el-button>
  45 +
44 46 </div>
45 47 <!-- 表格 -->
46 48  
... ... @@ -640,8 +642,7 @@
640 642 </div>
641 643 <div style="justify-content:flex-end;margin:20px 20px 0 0;display:flex;">
642 644 <el-button @click="downloadPdf" style="background-color: #3F9B6A;color: #fff">下载</el-button>
643   - <!-- <el-button style="background-color: #3F9B6A;color: #fff">打印</el-button>
644   - <el-button style="background-color: #3F9B6A;color: #fff">发送</el-button> -->
  645 +
645 646  
646 647 </div>
647 648 </div>
... ... @@ -662,7 +663,7 @@
662 663 contractDel,
663 664 updateList,
664 665 queryById,
665   -
  666 + pdfManagementOfFinalAccountsForRentals,
666 667 cereLeasingEdit
667 668 } from '../../../api/manage.js'
668 669 import {
... ... @@ -729,11 +730,12 @@
729 730 },
730 731 pageNumber: 1,
731 732 pageSize: 10,
732   -
  733 + rentalCondition:2
733 734 },
734 735 pageindex: {
735 736 pageNumber: 1,
736 737 pageSize: 10,
  738 + rentalCondition:2
737 739 },
738 740 bianjiBox: 1,
739 741 chengeTatle: 1,
... ... @@ -794,7 +796,30 @@
794 796 this.total = res.data.numberOfElements
795 797 this.tableData = res.data.content
796 798 },
  799 + async dayin(){
  800 + let res = await pdfManagementOfFinalAccountsForRentals(this.pageindex)
  801 + if(!res){
  802 + return
  803 + }
  804 + const blob = new Blob([res], { type: 'application/pdf' })
  805 + const fileName = '退租决算管理.pdf'
  806 + if ('download' in document.createElement('a')) {
  807 + // 非IE下载
  808 + const elink = document.createElement('a')
  809 + elink.download = fileName
  810 + elink.style.display = 'none'
  811 + elink.href = URL.createObjectURL(blob)
  812 + document.body.appendChild(elink)
  813 + elink.click()
  814 + URL.revokeObjectURL(elink.href) // 释放URL 对象
  815 + document.body.removeChild(elink)
  816 + } else {
  817 + // IE10+下载
  818 + navigator.msSaveBlob(blob, fileName)
  819 + }
797 820  
  821 +
  822 + },
798 823 // 退租确定按钮
799 824 addCheck(val) {
800 825 this.ggXin = false
... ... @@ -924,7 +949,7 @@
924 949 },
925 950 pageNumber: 1,
926 951 pageSize: 10,
927   -
  952 + rentalCondition:2
928 953 }
929 954 this.leaseStartDate = []
930 955 this.getAll()
... ...
yanshouban/src/views/shopRental/rentalMan/index.vue
... ... @@ -39,6 +39,7 @@
39 39 style="background-color: #3F9B6A;color: #fff;padding:8px 15px;">批量导出</el-button> -->
40 40 <el-button
41 41 style="background-color: #3F9B6A;color: #fff;padding:8px 15px;" @click="daochu">导出</el-button>
  42 + <el-button @click="dayin" style="background-color: #3F9B6A;color: #fff">打印</el-button>
42 43 </div>
43 44 </div>
44 45 <!-- 表格 -->
... ... @@ -965,7 +966,7 @@
965 966  
966 967 <div style="justify-content:flex-end;margin:20px 20px 0 0;display:flex;">
967 968 <el-button @click="downloadPdf" style="background-color: #3F9B6A;color: #fff">下载</el-button>
968   - <!-- <el-button style="background-color: #3F9B6A;color: #fff">打印</el-button> -->
  969 +
969 970 <!-- <el-button style="background-color: #3F9B6A;color: #fff">发送</el-button> -->
970 971  
971 972 </div>
... ... @@ -987,10 +988,10 @@
987 988 rentalGetAll,
988 989 rentalDel,
989 990 rentalAdd,
990   - excelRentOutQueryByPage
  991 + excelRentOutQueryByPage,
  992 + pdfRentOutQueryByPage
991 993 } from '../../../api/rentalMan.js'
992 994 import {
993   - businessListGetAll,
994 995 businessListSave,
995 996 businessListGetById,
996 997 businessListUpdate,
... ... @@ -1049,10 +1050,12 @@ import {
1049 1050 },
1050 1051 pageNumber: 1,
1051 1052 pageSize: 10,
  1053 + rentalCondition:1
1052 1054 },
1053 1055 pageindex: {
1054 1056 pageNumber: 1,
1055 1057 pageSize: 10,
  1058 + rentalCondition:1
1056 1059 },
1057 1060 zhong:{
1058 1061 intentionalRent:'',
... ... @@ -1103,6 +1106,7 @@ import {
1103 1106 },
1104 1107 pageNumber: 1,
1105 1108 pageSize: 10,
  1109 + rentalCondition:1
1106 1110 }
1107 1111 this.leixing = !this.leixing
1108 1112  
... ... @@ -1203,6 +1207,7 @@ import {
1203 1207 },
1204 1208 pageNumber: 1,
1205 1209 pageSize: 10,
  1210 + rentalCondition:1
1206 1211 },
1207 1212 this.leaseStartDate = []
1208 1213 this.getAll()
... ... @@ -1227,7 +1232,7 @@ import {
1227 1232 pdf.addImage(imgData, 'PNG', 10, 10, imgWidth, imgHeight); // 10, 10 是图像在 PDF 中的位置(mm)
1228 1233  
1229 1234 // 保存 PDF 文件
1230   - pdf.save('downloaded.pdf');
  1235 + pdf.save('入住单.pdf');
1231 1236 },
1232 1237 // 出租单查看
1233 1238 outlook(item){
... ... @@ -1236,7 +1241,6 @@ import {
1236 1241 this.outdan = true
1237 1242 },
1238 1243 delList(){
1239   -
1240 1244 const h = this.$createElement;
1241 1245 this.$msgbox({
1242 1246 title: '消息',
... ... @@ -1286,6 +1290,30 @@ import {
1286 1290 })
1287 1291  
1288 1292 },
  1293 + async dayin(){
  1294 + let res = await pdfRentOutQueryByPage(this.pageindex)
  1295 + if(!res){
  1296 + return
  1297 + }
  1298 + const blob = new Blob([res], { type: 'application/pdf' })
  1299 + const fileName = '出租管理.pdf'
  1300 + if ('download' in document.createElement('a')) {
  1301 + // 非IE下载
  1302 + const elink = document.createElement('a')
  1303 + elink.download = fileName
  1304 + elink.style.display = 'none'
  1305 + elink.href = URL.createObjectURL(blob)
  1306 + document.body.appendChild(elink)
  1307 + elink.click()
  1308 + URL.revokeObjectURL(elink.href) // 释放URL 对象
  1309 + document.body.removeChild(elink)
  1310 + } else {
  1311 + // IE10+下载
  1312 + navigator.msSaveBlob(blob, fileName)
  1313 + }
  1314 +
  1315 + },
  1316 +
1289 1317 }
1290 1318 }
1291 1319 </script>
... ...
yanshouban/src/views/shopRental/warning/index.vue
... ... @@ -115,27 +115,18 @@
115 115 <div >
116 116 <div style="margin-bottom: 20px;">
117 117 <el-form ref="form" :model="zhong" label-width="80px">
118   - <el-form-item label="甲方">
  118 + <el-form-item label="甲方" v-if="index != 2">
119 119 <el-input v-model="zhong.lessorName" disabled></el-input>
120 120 </el-form-item>
121   - <el-form-item label="乙方">
  121 + <el-form-item label="乙方" v-if="index != 2">
122 122 <el-input v-model="zhong.tenantName" disabled></el-input>
123 123 </el-form-item>
124   - <el-form-item label="合同编号">
  124 + <el-form-item label="合同编号" v-if="index != 2">
125 125 <el-input v-model="zhong.contractNumber" disabled></el-input>
126 126 </el-form-item>
127   - <el-form-item label="起止时间">
  127 + <el-form-item label="起止时间" v-if="index != 2">
128 128 <el-input v-model="zhong.leaseStartDate" disabled></el-input>
129 129 </el-form-item>
130   - <el-form-item label="月租金" v-if="index ==2">
131   - <el-input v-model="zhong.contractAmount" disabled ></el-input>
132   - </el-form-item>
133   - <el-form-item label="缴费日期" v-if="index ==2">
134   - <el-input v-model="zhong.contractAmount" disabled ></el-input>
135   - </el-form-item>
136   - <el-form-item label="逾期" v-if="index ==2">
137   - <el-input v-model="zhong.name" disabled ></el-input>
138   - </el-form-item>
139 130 <el-form-item label="申请人" v-if="index !=2">
140 131 <el-input v-model="zhong.application" ></el-input>
141 132 </el-form-item>
... ... @@ -728,6 +719,9 @@
728 719 cereLeasingByPage,
729 720 daoqi
730 721 } from '../../../api/manage.js'
  722 + import {
  723 + ManaAdd
  724 + } from '../../../api/PerWorkstation.js'
731 725 export default {
732 726 data() {
733 727 return {
... ... @@ -827,9 +821,36 @@
827 821 },
828 822 // 新增确定按钮
829 823 async addCheck(val) {
830   - this.ggXin = false
831 824  
  825 + if(this.index == 2){
  826 + let pageMsg = {
  827 + content:this.zhong.reasonApplication,
  828 + createdAt:this.nowTime(),
  829 + postType:'立即发布',
  830 + receiverMerchant:'电商商家',
  831 + status:'1',
  832 + title:'到期提醒'
  833 + }
  834 + await ManaAdd(pageMsg)
  835 + this.$message({
  836 + message: '发送成功',
  837 + type: 'success'
  838 + })
  839 + }
  840 + this.ggXin = false
832 841 },
  842 +
  843 + nowTime(){
  844 + const now = new Date();
  845 + const year = now.getFullYear();
  846 + const month = (now.getMonth() + 1).toString().padStart(2, '0');
  847 + const day = now.getDate().toString().padStart(2, '0');
  848 + const hours = now.getHours().toString().padStart(2, '0');
  849 + const minutes = now.getMinutes().toString().padStart(2, '0');
  850 + const seconds = now.getSeconds().toString().padStart(2, '0');
  851 +
  852 + return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
  853 + },
833 854 // 获取时间
834 855 currentTime(){
835 856 let date = new Date();
... ...
yanshouban/src/views/stockControl/inventory/index.vue
1 1 <!-- -->
2 2 <template>
3   - <div>
  3 + <div style="background-color:#f7f7f7;padding:10px 10px;">
4 4 <div class="pending">
  5 + <div style="height:58px;line-height:58px;">
  6 + <div style="color:#0006"> <span>库存管理</span> <span style="padding:0 5px;">></span> <span style="color:#000000e6">商铺库存</span></div>
  7 + </div>
5 8 <!-- 搜索 -->
6 9 <div class="formSearch">
7 10 <el-form :inline="true" :model="formInline" class="demo-form-inline">
... ... @@ -37,9 +40,10 @@
37 40 />
38 41 </el-form-item>
39 42 <el-form-item>
40   - <el-button type="primary" plain @click="search">查询</el-button>
41   - <el-button plain @click="clear">重置</el-button>
42   - <el-button type="success" plain @click="productDataExport">导出商品</el-button>
  43 + <el-button style="background-color: #3F9B6A;color: #fff" @click="search">查询</el-button>
  44 + <el-button class="buttonHover"
  45 + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" @click="clear">重置</el-button>
  46 + <el-button style="background-color: #3F9B6A;color: #fff" @click="productDataExport">导出商品</el-button>
43 47 <!-- <span
44 48 v-for="(item, index) in btnList"
45 49 :key="index"
... ... @@ -58,8 +62,7 @@
58 62 ref="multipleTable"
59 63 v-loading="loading"
60 64 :data="tableData"
61   - border
62   - :header-cell-style="{ background: '#EEF3FF', color: '#333333' }"
  65 + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"
63 66 tooltip-effect="dark"
64 67 style="width: 100%"
65 68 >
... ... @@ -116,7 +119,32 @@
116 119 </el-table-column>
117 120 <el-table-column label="操作" width="200">
118 121 <template slot-scope="scope">
119   - <div class="btnList">
  122 + <div class="tableBtn greens"
  123 + v-if="scope.row.shelveState == 1"
  124 + slot="reference"
  125 + style="margin-right: 10px"
  126 + type="text"
  127 + @click="OutForced(scope.row)" >
  128 + 强制下架
  129 + </div>
  130 + <div class="tableBtn greens"
  131 + v-if="scope.row.shelveState == 1"
  132 + type="text"
  133 + @click="setFictitious(scope.row)">
  134 + 虚拟销量
  135 + </div>
  136 + <div class="tableBtn greens"
  137 + v-if="scope.row.shelveState == 2"
  138 + type="text"
  139 + @click="examineShow(scope.row)" >
  140 + 审核
  141 + </div>
  142 + <div class="tableBtn greens"
  143 + type="text"
  144 + @click="Godetails(scope.row)" >
  145 + 查看详情
  146 + </div>
  147 + <!-- <div class="btnList">
120 148 <el-button
121 149 v-if="scope.row.shelveState == 1"
122 150 slot="reference"
... ... @@ -138,7 +166,7 @@
138 166 type="text"
139 167 @click="Godetails(scope.row)"
140 168 >查看详情</el-button>
141   - </div>
  169 + </div> -->
142 170 </template>
143 171 </el-table-column>
144 172 </el-table>
... ... @@ -177,8 +205,9 @@
177 205 </el-form-item>
178 206 </el-form>
179 207 <span slot="footer" class="dialog-footer">
180   - <el-button @click="examineVisible = false">取 消</el-button>
181   - <el-button type="primary" @click="submintUs">确 定</el-button>
  208 + <el-button class="buttonHover"
  209 + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" @click="examineVisible = false">取 消</el-button>
  210 + <el-button style="background-color: #3F9B6A;color: #fff" @click="submintUs">确 定</el-button>
182 211 </span>
183 212 </el-dialog>
184 213 <!-- 设置虚拟销量 -->
... ... @@ -199,8 +228,9 @@
199 228 </el-form-item>
200 229 </el-form>
201 230 <span slot="footer" class="dialog-footer">
202   - <el-button @click="FictitiousVisible = false">取 消</el-button>
203   - <el-button type="primary" @click="FicSubmintUs">确 定</el-button>
  231 + <el-button class="buttonHover"
  232 + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" @click="FictitiousVisible = false">取 消</el-button>
  233 + <el-button style="background-color: #3F9B6A;color: #fff" @click="FicSubmintUs">确 定</el-button>
204 234 </span>
205 235 </el-dialog>
206 236 <add-commodity ref="addCommodity" :examine-show="examineShow" @reset="reset" />
... ... @@ -402,7 +432,9 @@ export default {
402 432 //@import url(); 引入公共css类
403 433 @import url("../../../styles/elDialog.scss");
404 434 .pending {
405   - padding: 30px;
  435 + padding: 0 20px 20px 20px;
  436 + min-height: calc(100vh - 50px - 20px);
  437 + background-color: #Fff;
406 438 }
407 439 .fenye {
408 440 margin-top: 20px;
... ... @@ -445,4 +477,18 @@ export default {
445 477 }
446 478 }
447 479 }
  480 + .tableBtn {
  481 + display: inline-block;
  482 + margin-right: 10px;
  483 + }
  484 +
  485 + .greens {
  486 + color: #3F9B6A ;
  487 + }
  488 + ::v-deep .buttonHover:hover{
  489 + color:#3f9b6a !important;
  490 + border-color: #c5e1d2 !important;
  491 + background-color: #ecf5f0 !important;
  492 + outline: none;
  493 + }
448 494 </style>
... ...
yanshouban/src/views/stockControl/stocksForewarn/index.vue
... ... @@ -19,17 +19,24 @@
19 19 <div :class="fut?'formSearch':'collapsed'" ref="formSearch">
20 20 <el-form :inline="true" :model="formSel" label-width="auto">
21 21 <el-form-item label="商品名称">
22   - <el-input v-model="formSel.shopname" placeholder="请输入方案编号" size="mini" style="width: 178px;margin-right: 5px;"/>
  22 + <el-input v-model="formSel.productName" placeholder="请输入方案编号" size="mini" style="width: 178px;margin-right: 5px;"/>
23 23 </el-form-item>
24   - <el-form-item label="入库人">
  24 + <!-- <el-form-item label="入库人">
25 25 <el-input v-model="formSel.rkr" placeholder="请输入方案编号" size="mini" style="width: 178px;margin-right: 5px;"/>
26   - </el-form-item>
  26 + </el-form-item> -->
27 27 <el-form-item label="上架时间">
28   - <el-input v-model="formSel.stime" placeholder="请输入方案编号" size="mini" style="width: 178px;margin-right: 5px;"/>
  28 + <el-date-picker
  29 + v-model="formSel.createTime"
  30 + type="datetime"
  31 + value-format="yyyy-MM-dd HH:mm:ss"
  32 + prefix-icon="none"
  33 + style="width: 178px;margin-right: 5px;"
  34 + placeholder="选择日期时间">
  35 + </el-date-picker>
29 36 </el-form-item>
30   - <el-form-item label="入库时间">
  37 + <!-- <el-form-item label="入库时间">
31 38 <el-input v-model="formSel.rtime" placeholder="请输入方案编号" size="mini" style="width: 178px;margin-right: 5px;"/>
32   - </el-form-item>
  39 + </el-form-item> -->
33 40 </el-form>
34 41 </div>
35 42 </div>
... ... @@ -161,10 +168,10 @@ export default {
161 168 anNum:'',
162 169 },
163 170 formSel:{
164   - shopname:'',
165   - rkr:'',
166   - sTime:'',
167   - rTime:''
  171 + productName:'',
  172 + createTime:'',
  173 + page: 1,
  174 + pageSize: 10
168 175 },
169 176 formInline: {
170 177 searchType: '1',
... ... @@ -202,7 +209,28 @@ export default {
202 209 },
203 210 // 查询
204 211 search () {
205   -
  212 + this.total = 1;
  213 + this.formSel.page = 1;
  214 + this.getAll(this.formSel);
  215 + },
  216 + resetting(){
  217 + this.formSel = {
  218 + productName:'',
  219 + createTime:'',
  220 + page: 1,
  221 + pageSize: 10
  222 + }
  223 + this.formInline = {
  224 + searchType: '1',
  225 + search: '', // 搜索字段
  226 + state: '',
  227 + // afterState: '', // 售后状态 0-无售后 1-售后中 2-售后成功 3-售后关闭
  228 + dates: [], // 下单时间数组
  229 + page: 1,
  230 + shopName: '',
  231 + pageSize: 10
  232 + }
  233 + this.getAll(this.formInline)
206 234 },
207 235 async kucunSet(){
208 236 const yuzhi={
... ...
yanshouban/vue.config.js
... ... @@ -67,7 +67,7 @@ module.exports = {
67 67 // changeOrigin: true,
68 68 // },
69 69 '/meserver/admin-server/':{
70   - target: 'https://jy.scjysm.asia:18086/meserver/admin-server/', // 测试
  70 + target: 'https://jy.scjysm.asia:18086/admin-server/', // 测试
71 71 // target: 'http://172.16.61.123:8080/meserver/admin-server/', // 测试
72 72 // https://jy.scjysm.asia:18086/admin-server http://172.16.61.123:8080/meserver/admin-server/ https://wjdc.scjysm.asia1443/cdwlMall/admin-server
73 73 // target: 'http://localhost:9003/', // 平台端
... ...