Commit cc312afb2e2bddd7eed46cb9666089b4318a177c

Authored by 杨鑫
1 parent 4f415990

'最新'

admin-web-master/src/api/inr.js
@@ -28,3 +28,12 @@ export function tanDel(data) { @@ -28,3 +28,12 @@ export function tanDel(data) {
28 data 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,24 +626,10 @@ const res = await tanGetAll(this.formSel)
626 await tanDel({id:item.id}) 626 await tanDel({id:item.id})
627 this.getAll() 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 </script> 635 </script>
wenjuan/.env.development
@@ -3,12 +3,12 @@ ENV = &#39;development&#39; @@ -3,12 +3,12 @@ ENV = &#39;development&#39;
3 3
4 # base api 4 # base api
5 VUE_APP_BASE_API = '/dev-api' 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 # VUE_APP_DOMAIN_PREFIX_1='https://h5.028wlkj.com/cdwlMall/meserver/admin-server/' 8 # VUE_APP_DOMAIN_PREFIX_1='https://h5.028wlkj.com/cdwlMall/meserver/admin-server/'
9 # VUE_APP_DOMAIN_PREFIX_2='https://h5.028wlkj.com/cdwlMall/meserver/api' 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 # VUE_APP_DOMAIN_PREFIX = '/api' 14 # VUE_APP_DOMAIN_PREFIX = '/api'
yanshouban/src/api/activityBz.js
@@ -205,3 +205,35 @@ export function copy(data) { @@ -205,3 +205,35 @@ export function copy(data) {
205 data 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,3 +145,16 @@ export function wordDelete(data) {
145 data 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/inr.js
@@ -28,3 +28,12 @@ export function tanDel(data) { @@ -28,3 +28,12 @@ export function tanDel(data) {
28 data 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
@@ -105,3 +105,16 @@ export function pdfLeaseRenewalManagement(data) { @@ -105,3 +105,16 @@ export function pdfLeaseRenewalManagement(data) {
105 responseType: 'blob' 105 responseType: 'blob'
106 }) 106 })
107 } 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,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/views/activity/activitySp.vue
@@ -57,7 +57,7 @@ @@ -57,7 +57,7 @@
57 {{scope.row.state == ''?'待提交':scope.row.state == '1'?'待审批':scope.row.state == '2'?'部门领导审批':scope.row.state == '3'?'公司领导审批':scope.row.state == '4'?'其他审批':scope.row.state == '5'?'审核通过':'已驳回'}} 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 </template> 58 </template>
59 </el-table-column> 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 </el-table-column> 61 </el-table-column>
62 <el-table-column prop="createUser" label="上传人员" min-width="80"> 62 <el-table-column prop="createUser" label="上传人员" min-width="80">
63 63
yanshouban/src/views/activity/index.vue
@@ -22,14 +22,24 @@ @@ -22,14 +22,24 @@
22 </div> 22 </div>
23 </div> 23 </div>
24 <div style="margin: 20px 0;"> 24 <div style="margin: 20px 0;">
25 - <div> 25 + <div style="display:flex;">
26 <el-button icon="el-icon-circle-plus-outline" @click="create" 26 <el-button icon="el-icon-circle-plus-outline" @click="create"
27 style="background-color: #3F9B6A;color: #fff;padding:8px 15px;">新增</el-button> 27 style="background-color: #3F9B6A;color: #fff;padding:8px 15px;">新增</el-button>
28 <el-button style="background-color: #E24E5A;color: #fff;" icon="el-icon-delete" 28 <el-button style="background-color: #E24E5A;color: #fff;" icon="el-icon-delete"
29 @click="handleDelete" class="DelBtnHover">删除</el-button> 29 @click="handleDelete" class="DelBtnHover">删除</el-button>
30 <el-button style="background-color: #3F9B6A;color: #fff;" @click="duibi">效果对比</el-button> 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 <el-button style="background-color: #3F9B6A;color: #fff;" @click="caogao">草稿箱</el-button> 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 <!-- <el-button style="background-color: #fff;color: #000;border: 1px solid #B1B1B1;" 43 <!-- <el-button style="background-color: #fff;color: #000;border: 1px solid #B1B1B1;"
34 icon="el-icon-folder-add" class="buttonHover" @click="xinFenlei">活动分类管理</el-button> --> 44 icon="el-icon-folder-add" class="buttonHover" @click="xinFenlei">活动分类管理</el-button> -->
35 </div> 45 </div>
@@ -54,7 +64,7 @@ @@ -54,7 +64,7 @@
54 <div class="custom-tree-node" slot-scope="{ node, data }"> 64 <div class="custom-tree-node" slot-scope="{ node, data }">
55 <span>{{ node.label }}</span> 65 <span>{{ node.label }}</span>
56 <span style="font-size: 15px !important;"> 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 <i class="el-icon-delete-solid" @click="() => fenDelete(node, data)"></i> 68 <i class="el-icon-delete-solid" @click="() => fenDelete(node, data)"></i>
59 </span> 69 </span>
60 </div> 70 </div>
@@ -84,7 +94,7 @@ @@ -84,7 +94,7 @@
84 {{scope.row.state == ''?'待提交':scope.row.state == '1'?'待审批':scope.row.state == '2'?'部门领导审批':scope.row.state == '3'?'公司领导审批':scope.row.state == '4'?'其他审批':scope.row.state == '5'?'审核通过':'已驳回'}} 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 </template> 95 </template>
86 </el-table-column> 96 </el-table-column>
87 - <el-table-column label="修改时间" prop="createDate"width="250" > 97 + <el-table-column label="创建时间" prop="createDate"width="250" >
88 </el-table-column> 98 </el-table-column>
89 <el-table-column prop="createUser" label="上传人员" width="80"> 99 <el-table-column prop="createUser" label="上传人员" width="80">
90 100
@@ -95,7 +105,7 @@ @@ -95,7 +105,7 @@
95 <!-- <div class="tableBtn greens">发布</div> --> 105 <!-- <div class="tableBtn greens">发布</div> -->
96 <div class="tableBtn greens" @click="handleEditForm(scope.row)">执行情况</div> 106 <div class="tableBtn greens" @click="handleEditForm(scope.row)">执行情况</div>
97 <div @click="OAshen(scope.row)" class="tableBtn greens" v-if="scope.row.state == ''">上传到OA</div> 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 <!-- <div class="tableBtn greens">策略调整</div> --> 109 <!-- <div class="tableBtn greens">策略调整</div> -->
100 <div class="tableBtn greens" @click="koop(scope.row)">复制</div> 110 <div class="tableBtn greens" @click="koop(scope.row)">复制</div>
101 </template> 111 </template>
@@ -124,7 +134,7 @@ @@ -124,7 +134,7 @@
124 <!-- 详情活动方案 --> 134 <!-- 详情活动方案 -->
125 <el-dialog title="活动方案详情" :visible.sync="ggXin" custom-class='xiang_css' style="padding: 0;" width="80%" center 135 <el-dialog title="活动方案详情" :visible.sync="ggXin" custom-class='xiang_css' style="padding: 0;" width="80%" center
126 :close-on-click-modal="false" :close-on-press-escape="false" @close="refreshData"> 136 :close-on-click-modal="false" :close-on-press-escape="false" @close="refreshData">
127 - <div> 137 + <div ref="actXiang">
128 <div style="width: 100%;"> 138 <div style="width: 100%;">
129 <div style="display: flex;padding:0px 20px 20px 20px; "> 139 <div style="display: flex;padding:0px 20px 20px 20px; ">
130 <div style="width: 150px;height: 80px;" v-if="secondData.coverPoster"> 140 <div style="width: 150px;height: 80px;" v-if="secondData.coverPoster">
@@ -277,77 +287,6 @@ @@ -277,77 +287,6 @@
277 </div> 287 </div>
278 </div> 288 </div>
279 </div> 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 </div> 290 </div>
352 <div v-if="activeName=='second'"> 291 <div v-if="activeName=='second'">
353 <div style="padding: 20px"> 292 <div style="padding: 20px">
@@ -572,6 +511,9 @@ @@ -572,6 +511,9 @@
572 </div> 511 </div>
573 </div> 512 </div>
574 </div> 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>
575 </el-dialog> 517 </el-dialog>
576 </div> 518 </div>
577 </div> 519 </div>
@@ -792,37 +734,37 @@ @@ -792,37 +734,37 @@
792 <div style="display:flex;padding:10px 0;"> 734 <div style="display:flex;padding:10px 0;">
793 <div style="margin-right:40px;width:17%"> 735 <div style="margin-right:40px;width:17%">
794 <div style="color:#BBBBBB;font-size:10px;">吸引游客流量</div> 736 <div style="color:#BBBBBB;font-size:10px;">吸引游客流量</div>
795 - <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div>  
796 - <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>
797 <div style="height:5px;background-color:#FEC03D;"></div> 739 <div style="height:5px;background-color:#FEC03D;"></div>
798 </div> 740 </div>
799 <div style="margin-right:40px;width:17%"> 741 <div style="margin-right:40px;width:17%">
800 <div style="color:#BBBBBB;font-size:10px;">参与人数</div> 742 <div style="color:#BBBBBB;font-size:10px;">参与人数</div>
801 - <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div>  
802 - <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>
803 <div style="height:5px;background-color:#58A3F7;"></div> 745 <div style="height:5px;background-color:#58A3F7;"></div>
804 </div> 746 </div>
805 <div style="margin-right:40px;width:17%"> 747 <div style="margin-right:40px;width:17%">
806 <div style="color:#BBBBBB;font-size:10px;">直接收益</div> 748 <div style="color:#BBBBBB;font-size:10px;">直接收益</div>
807 - <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div>  
808 - <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>
809 <div style="height:5px;background-color:#4BCED0;"></div> 751 <div style="height:5px;background-color:#4BCED0;"></div>
810 </div> 752 </div>
811 <div style="margin-right:40px;width:17%"> 753 <div style="margin-right:40px;width:17%">
812 <div style="color:#BBBBBB;font-size:10px;">间接收益</div> 754 <div style="color:#BBBBBB;font-size:10px;">间接收益</div>
813 - <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div>  
814 - <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>
815 <div style="height:5px;background-color:#3F9B6A;"></div> 757 <div style="height:5px;background-color:#3F9B6A;"></div>
816 </div> 758 </div>
817 <div style="margin-right:40px;width:17%"> 759 <div style="margin-right:40px;width:17%">
818 <div style="color:#BBBBBB;font-size:10px;">投入生产比</div> 760 <div style="color:#BBBBBB;font-size:10px;">投入生产比</div>
819 - <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div>  
820 - <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>
821 <div style="height:5px;background-color:#8167F5;"></div> 763 <div style="height:5px;background-color:#8167F5;"></div>
822 </div> 764 </div>
823 </div> 765 </div>
824 - <div style="font-size:12px;margin:10px 0;">效果分析</div>  
825 - <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;">
826 <div style="margin-right:40px;width:17%"> 768 <div style="margin-right:40px;width:17%">
827 <div style="color:#BBBBBB;font-size:10px;">吸引游客流量</div> 769 <div style="color:#BBBBBB;font-size:10px;">吸引游客流量</div>
828 <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div> 770 <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div>
@@ -849,11 +791,11 @@ @@ -849,11 +791,11 @@
849 </div> 791 </div>
850 <div style="margin-right:40px;width:17%"> 792 <div style="margin-right:40px;width:17%">
851 <div style="color:#BBBBBB;font-size:10px;">投入生产比</div> 793 <div style="color:#BBBBBB;font-size:10px;">投入生产比</div>
852 - <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;">4289</span>人</div>  
853 - <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>
854 <div style="height:5px;background-color:#8167F5;"></div> 796 <div style="height:5px;background-color:#8167F5;"></div>
855 </div> 797 </div>
856 - </div> 798 + </div> -->
857 </div> 799 </div>
858 <div style="padding:0 20px;margin-top:20px;"> 800 <div style="padding:0 20px;margin-top:20px;">
859 <div style="border:1px solid #EFEFEF;padding:20px 15px"> 801 <div style="border:1px solid #EFEFEF;padding:20px 15px">
@@ -1148,12 +1090,17 @@ @@ -1148,12 +1090,17 @@
1148 cereAdd, 1090 cereAdd,
1149 cereEdit, 1091 cereEdit,
1150 cereDel, 1092 cereDel,
1151 - copy 1093 + copy,
  1094 + excelQueryByPage,
  1095 + excelAdd,
  1096 + effectEvaluation
1152 } from '../../api/activityBz' 1097 } from '../../api/activityBz'
1153 import addAct from "./activityBz" 1098 import addAct from "./activityBz"
1154 import actbians from "./activityBian" 1099 import actbians from "./activityBian"
1155 import * as echarts from 'echarts' 1100 import * as echarts from 'echarts'
1156 import Vue from 'vue' 1101 import Vue from 'vue'
  1102 + import html2canvas from 'html2canvas'
  1103 + import jsPDF from 'jspdf'
1157 import { 1104 import {
1158 uploadUrl 1105 uploadUrl
1159 } from '@/utils/request' 1106 } from '@/utils/request'
@@ -1165,6 +1112,8 @@ @@ -1165,6 +1112,8 @@
1165 data() { 1112 data() {
1166 return { 1113 return {
1167 uploadFileUrl: uploadUrl, // 请求地址 1114 uploadFileUrl: uploadUrl, // 请求地址
  1115 + daoData:[],
  1116 + fenxiData:{},
1168 fileData:[], 1117 fileData:[],
1169 addAct: false, //新增页 1118 addAct: false, //新增页
1170 actbianMsg: { 1119 actbianMsg: {
@@ -1899,6 +1848,9 @@ @@ -1899,6 +1848,9 @@
1899 1848
1900 }, 1849 },
1901 xiaoguo(item) { 1850 xiaoguo(item) {
  1851 + effectEvaluation({id:item.id}).then(res=>{
  1852 + this.fenxiData = res.data
  1853 + })
1902 this.xiaoguoBox = true 1854 this.xiaoguoBox = true
1903 this.$nextTick(() => { 1855 this.$nextTick(() => {
1904 this.shopLiu(this.$refs.shopL); 1856 this.shopLiu(this.$refs.shopL);
@@ -2137,9 +2089,14 @@ @@ -2137,9 +2089,14 @@
2137 handleRemove(){ 2089 handleRemove(){
2138 this.fileData = [] 2090 this.fileData = []
2139 }, 2091 },
2140 - daoru(){  
2141 -  
2142 - }, 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 + },
2143 caogao(){ 2100 caogao(){
2144 2101
2145 2102
@@ -2186,6 +2143,56 @@ @@ -2186,6 +2143,56 @@
2186 2143
2187 2144
2188 }, 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 + },
2189 } 2196 }
2190 } 2197 }
2191 </script> 2198 </script>
yanshouban/src/views/ads/fangli/index.vue
@@ -38,17 +38,22 @@ @@ -38,17 +38,22 @@
38 </div> 38 </div>
39 39
40 </div> 40 </div>
41 - <div style="margin-bottom:20px;"> 41 + <div style="margin-bottom: 20px;display:flex;">
42 <el-button 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 @click="addbuss" 44 @click="addbuss"
45 >新增</el-button 45 >新增</el-button
46 > 46 >
47 - <!-- <el-upload class="upload-demo" ref="upload"  
48 - :action="action" :on-success="daoru" :file-list="fileData"  
49 - :auto-upload="true"> 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">
50 <el-button style="background-color: #fff;color: #3F9B6A;border: 1px solid #dcdfe6;" class="buttonHover">导入</el-button> 55 <el-button style="background-color: #fff;color: #3F9B6A;border: 1px solid #dcdfe6;" class="buttonHover">导入</el-button>
51 - </el-upload> --> 56 + </el-upload>
52 <!-- <el-button 57 <!-- <el-button
53 style="background-color: #3F9B6A;color: #fff;padding:8px 15px;" 58 style="background-color: #3F9B6A;color: #fff;padding:8px 15px;"
54 @click="daoru" 59 @click="daoru"
@@ -555,12 +560,14 @@ export default { @@ -555,12 +560,14 @@ export default {
555 this.peiShow = true 560 this.peiShow = true
556 this.peiId = item.id 561 this.peiId = item.id
557 }, 562 },
558 - daoru(file){  
559 - // const fileMsg = {  
560 - // name:file.name,  
561 - // url: file.response.data.url,  
562 - // }  
563 - }, 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 + },
564 } 571 }
565 } 572 }
566 </script> 573 </script>
yanshouban/src/views/advertisement/index.vue
@@ -99,6 +99,9 @@ @@ -99,6 +99,9 @@
99 <div @click="xiajia(scope.row)" class="tableBtn greens" v-if="leixing ==1 && scope.row.auditStatus =='4'">下架</div> --> 99 <div @click="xiajia(scope.row)" class="tableBtn greens" v-if="leixing ==1 && scope.row.auditStatus =='4'">下架</div> -->
100 <div @click="toufang(scope.row)" class="tableBtn greens" v-if="leixing == 1 && scope.row.auditStatus =='2'">投放</div> 100 <div @click="toufang(scope.row)" class="tableBtn greens" v-if="leixing == 1 && scope.row.auditStatus =='2'">投放</div>
101 <div @click="xiajia(scope.row)" class="tableBtn greens" v-if="leixing ==1 && scope.row.auditStatus =='4'">下架</div> 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 <div @click="gengGai(scope.row)" class="tableBtn greens" v-if="leixing == 1&& scope.row.auditStatus !='5'">更改状态</div> 105 <div @click="gengGai(scope.row)" class="tableBtn greens" v-if="leixing == 1&& scope.row.auditStatus !='5'">更改状态</div>
103 <div @click="handleDelete(scope.row)" class="tableBtn greens" v-if="scope.row.auditStatus =='1'">删除</div> 106 <div @click="handleDelete(scope.row)" class="tableBtn greens" v-if="scope.row.auditStatus =='1'">删除</div>
104 <!-- <div @click="handleDelete(scope.row)" class="tableBtn greens" >删除</div> --> 107 <!-- <div @click="handleDelete(scope.row)" class="tableBtn greens" >删除</div> -->
@@ -753,8 +756,30 @@ @@ -753,8 +756,30 @@
753 </div> 756 </div>
754 </el-dialog> 757 </el-dialog>
755 </div> 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 </div> 781 </div>
  782 +
758 </div> 783 </div>
759 784
760 </div> 785 </div>
@@ -864,7 +889,12 @@ @@ -864,7 +889,12 @@
864 xsNum:0, 889 xsNum:0,
865 stNum:0, 890 stNum:0,
866 hetongList:{}, 891 hetongList:{},
867 - auditStatusNum:'' 892 + auditStatusNum:'',
  893 + peiForm:{
  894 + auditTime:''
  895 + },
  896 + peiShow:false,
  897 + peiId:''
868 } 898 }
869 }, 899 },
870 created() { 900 created() {
@@ -1163,7 +1193,25 @@ @@ -1163,7 +1193,25 @@
1163 await updateList({id:this.secondData.id,auditStatus:'5'}) 1193 await updateList({id:this.secondData.id,auditStatus:'5'})
1164 this.steatShow = false 1194 this.steatShow = false
1165 this.getAll() 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 </script> 1217 </script>
yanshouban/src/views/atmosphere/atmosphereGl.vue
@@ -22,13 +22,23 @@ @@ -22,13 +22,23 @@
22 </div> 22 </div>
23 </div> 23 </div>
24 <div style="margin:20px 0;"> 24 <div style="margin:20px 0;">
25 - <div> 25 + <div style="display:flex;">
26 <el-button icon="el-icon-circle-plus-outline" @click="create" 26 <el-button icon="el-icon-circle-plus-outline" @click="create"
27 style="background-color: #3F9B6A;color: #fff;">新增</el-button> 27 style="background-color: #3F9B6A;color: #fff;">新增</el-button>
28 <el-button style="background-color: #E24E5A;color: #fff;" icon="el-icon-delete" @click="handleDelete" class="DelBtnHover">删除</el-button> 28 <el-button style="background-color: #E24E5A;color: #fff;" icon="el-icon-delete" @click="handleDelete" class="DelBtnHover">删除</el-button>
29 <el-button style="background-color: #3F9B6A;color: #fff;" @click="duibi">效果对比</el-button> 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 <el-button style="background-color: #3F9B6A;color: #fff;" @click="caogao">草稿箱</el-button> 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 <!-- <el-button style="background-color: #fff;color: #000;border: 1px solid #B1B1B1;" 42 <!-- <el-button style="background-color: #fff;color: #000;border: 1px solid #B1B1B1;"
33 icon="el-icon-folder-add" class="buttonHover" @click="xinFenlei">氛围分类管理</el-button> --> 43 icon="el-icon-folder-add" class="buttonHover" @click="xinFenlei">氛围分类管理</el-button> -->
34 </div> 44 </div>
@@ -82,7 +92,7 @@ @@ -82,7 +92,7 @@
82 {{scope.row.state == ''?'待提交':scope.row.state == '1'?'待审批':scope.row.state == '2'?'部门领导审批':scope.row.state == '3'?'公司领导审批':scope.row.state == '4'?'其他审批':scope.row.state == '5'?'审核通过':'已驳回'}} 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 </template> 93 </template>
84 </el-table-column> 94 </el-table-column>
85 - <el-table-column label="修改时间" prop="createDate"width="250" > 95 + <el-table-column label="创建时间" prop="createDate"width="250" >
86 </el-table-column> 96 </el-table-column>
87 <el-table-column prop="createUser" label="上传人员" width="80"> 97 <el-table-column prop="createUser" label="上传人员" width="80">
88 98
@@ -93,7 +103,7 @@ @@ -93,7 +103,7 @@
93 <!-- <div class="tableBtn greens">发布</div> --> 103 <!-- <div class="tableBtn greens">发布</div> -->
94 <div class="tableBtn greens" @click="handleEditForm(scope.row)">执行情况</div> 104 <div class="tableBtn greens" @click="handleEditForm(scope.row)">执行情况</div>
95 <div @click="OAshen(scope.row)" class="tableBtn greens" v-if="scope.row.state == ''">上传到OA</div> 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 <!-- <div class="tableBtn greens">策略调整</div> --> 107 <!-- <div class="tableBtn greens">策略调整</div> -->
98 <div class="tableBtn greens" @click="koop(scope.row)">复制</div> 108 <div class="tableBtn greens" @click="koop(scope.row)">复制</div>
99 </template> 109 </template>
@@ -123,7 +133,7 @@ @@ -123,7 +133,7 @@
123 <!-- 详情活动方案 --> 133 <!-- 详情活动方案 -->
124 <el-dialog title="氛围方案详情" :visible.sync="ggXin" custom-class='xiang_css' style="padding: 0;" width="80%" 134 <el-dialog title="氛围方案详情" :visible.sync="ggXin" custom-class='xiang_css' style="padding: 0;" width="80%"
125 center :close-on-click-modal="false" :close-on-press-escape="false" @close="refreshData"> 135 center :close-on-click-modal="false" :close-on-press-escape="false" @close="refreshData">
126 - <div> 136 + <div ref="actXiang">
127 <div style="width: 100%;"> 137 <div style="width: 100%;">
128 <div style="display: flex;padding:0px 20px 20px 20px; "> 138 <div style="display: flex;padding:0px 20px 20px 20px; ">
129 <div style="width: 150px;height: 80px;" v-if="secondData.coverPoster"> 139 <div style="width: 150px;height: 80px;" v-if="secondData.coverPoster">
@@ -562,9 +572,11 @@ @@ -562,9 +572,11 @@
562 <el-button plain @click="bianji" style="background-color: #3F9B6A;color: #fff" v-if="zhixingBian">保存 572 <el-button plain @click="bianji" style="background-color: #3F9B6A;color: #fff" v-if="zhixingBian">保存
563 </el-button> 573 </el-button>
564 </div> 574 </div>
565 -  
566 </div> 575 </div>
567 </div> 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>
568 </el-dialog> 580 </el-dialog>
569 </div> 581 </div>
570 </div> 582 </div>
@@ -613,37 +625,37 @@ @@ -613,37 +625,37 @@
613 <div style="display:flex;padding:10px 0;"> 625 <div style="display:flex;padding:10px 0;">
614 <div style="margin-right:40px;width:17%"> 626 <div style="margin-right:40px;width:17%">
615 <div style="color:#BBBBBB;font-size:10px;">吸引游客流量</div> 627 <div style="color:#BBBBBB;font-size:10px;">吸引游客流量</div>
616 - <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div>  
617 - <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>
618 <div style="height:5px;background-color:#FEC03D;"></div> 630 <div style="height:5px;background-color:#FEC03D;"></div>
619 </div> 631 </div>
620 <div style="margin-right:40px;width:17%"> 632 <div style="margin-right:40px;width:17%">
621 <div style="color:#BBBBBB;font-size:10px;">参与人数</div> 633 <div style="color:#BBBBBB;font-size:10px;">参与人数</div>
622 - <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div>  
623 - <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>
624 <div style="height:5px;background-color:#58A3F7;"></div> 636 <div style="height:5px;background-color:#58A3F7;"></div>
625 </div> 637 </div>
626 <div style="margin-right:40px;width:17%"> 638 <div style="margin-right:40px;width:17%">
627 <div style="color:#BBBBBB;font-size:10px;">直接收益</div> 639 <div style="color:#BBBBBB;font-size:10px;">直接收益</div>
628 - <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div>  
629 - <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>
630 <div style="height:5px;background-color:#4BCED0;"></div> 642 <div style="height:5px;background-color:#4BCED0;"></div>
631 </div> 643 </div>
632 <div style="margin-right:40px;width:17%"> 644 <div style="margin-right:40px;width:17%">
633 <div style="color:#BBBBBB;font-size:10px;">间接收益</div> 645 <div style="color:#BBBBBB;font-size:10px;">间接收益</div>
634 - <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div>  
635 - <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>
636 <div style="height:5px;background-color:#3F9B6A;"></div> 648 <div style="height:5px;background-color:#3F9B6A;"></div>
637 </div> 649 </div>
638 <div style="margin-right:40px;width:17%"> 650 <div style="margin-right:40px;width:17%">
639 <div style="color:#BBBBBB;font-size:10px;">投入生产比</div> 651 <div style="color:#BBBBBB;font-size:10px;">投入生产比</div>
640 - <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div>  
641 - <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>
642 <div style="height:5px;background-color:#8167F5;"></div> 654 <div style="height:5px;background-color:#8167F5;"></div>
643 </div> 655 </div>
644 </div> 656 </div>
645 - <div style="font-size:12px;margin:10px 0;">效果分析</div>  
646 - <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;">
647 <div style="margin-right:40px;width:17%"> 659 <div style="margin-right:40px;width:17%">
648 <div style="color:#BBBBBB;font-size:10px;">吸引游客流量</div> 660 <div style="color:#BBBBBB;font-size:10px;">吸引游客流量</div>
649 <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div> 661 <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div>
@@ -674,7 +686,7 @@ @@ -674,7 +686,7 @@
674 <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">+45%</div> 686 <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">+45%</div>
675 <div style="height:5px;background-color:#8167F5;"></div> 687 <div style="height:5px;background-color:#8167F5;"></div>
676 </div> 688 </div>
677 - </div> 689 + </div> -->
678 </div> 690 </div>
679 <div style="padding:0 20px;margin-top:20px;"> 691 <div style="padding:0 20px;margin-top:20px;">
680 <div style="border:1px solid #EFEFEF;padding:20px 15px"> 692 <div style="border:1px solid #EFEFEF;padding:20px 15px">
@@ -1143,12 +1155,17 @@ @@ -1143,12 +1155,17 @@
1143 cereGet, 1155 cereGet,
1144 cereAdd, 1156 cereAdd,
1145 cereEdit, 1157 cereEdit,
1146 - cereDel 1158 + cereDel,
  1159 + excelQueryByPage,
  1160 + excelAdd,
  1161 + effectEvaluation
1147 } from '../../api/activityBz' 1162 } from '../../api/activityBz'
1148 import addAct from "./atmosphereBz" 1163 import addAct from "./atmosphereBz"
1149 import atmbians from "./atmosphereBian" 1164 import atmbians from "./atmosphereBian"
1150 import * as echarts from 'echarts' 1165 import * as echarts from 'echarts'
1151 import Vue from 'vue' 1166 import Vue from 'vue'
  1167 + import html2canvas from 'html2canvas'
  1168 + import jsPDF from 'jspdf'
1152 import { 1169 import {
1153 uploadUrl 1170 uploadUrl
1154 } from '@/utils/request' 1171 } from '@/utils/request'
@@ -1162,6 +1179,7 @@ components: { addAct,atmbians}, @@ -1162,6 +1179,7 @@ components: { addAct,atmbians},
1162 acBian:'',//编辑数据 1179 acBian:'',//编辑数据
1163 bianshow:false,//编辑页 1180 bianshow:false,//编辑页
1164 }, 1181 },
  1182 + fenxiData:{},
1165 planName:'', 1183 planName:'',
1166 planFen:'', 1184 planFen:'',
1167 eventTheme:'', 1185 eventTheme:'',
@@ -1346,6 +1364,7 @@ components: { addAct,atmbians}, @@ -1346,6 +1364,7 @@ components: { addAct,atmbians},
1346 duibiOne:{}, 1364 duibiOne:{},
1347 duibiTwo:{}, 1365 duibiTwo:{},
1348 uploadFileUrl: uploadUrl, // 请求地址 1366 uploadFileUrl: uploadUrl, // 请求地址
  1367 + daoData:[],
1349 fileData:[], 1368 fileData:[],
1350 caoList:[], 1369 caoList:[],
1351 caogaoshow:false 1370 caogaoshow:false
@@ -1472,13 +1491,13 @@ components: { addAct,atmbians}, @@ -1472,13 +1491,13 @@ components: { addAct,atmbians},
1472 //查询 1491 //查询
1473 async onSubmit(){ 1492 async onSubmit(){
1474 if(this.planName != '' && this.eventTheme == ''){ 1493 if(this.planName != '' && this.eventTheme == ''){
1475 - 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})
1476 this.tableData = res.data.content 1495 this.tableData = res.data.content
1477 }else if(this.planName == '' && this.eventTheme != ''){ 1496 }else if(this.planName == '' && this.eventTheme != ''){
1478 - 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})
1479 this.tableData = res.data.content 1498 this.tableData = res.data.content
1480 }else{ 1499 }else{
1481 - 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 })
1482 this.tableData = res.data.content 1501 this.tableData = res.data.content
1483 } 1502 }
1484 1503
@@ -1817,6 +1836,9 @@ that.expectedAttractTraffic=res.data.content[0].expectedAttractTraffic @@ -1817,6 +1836,9 @@ that.expectedAttractTraffic=res.data.content[0].expectedAttractTraffic
1817 } 1836 }
1818 }, 1837 },
1819 xiaoguo(item) { 1838 xiaoguo(item) {
  1839 + effectEvaluation({id:item.id}).then(res=>{
  1840 + this.fenxiData = res.data
  1841 + })
1820 this.xiaoguoBox = true 1842 this.xiaoguoBox = true
1821 this.$nextTick(() => { 1843 this.$nextTick(() => {
1822 this.shopLiu(this.$refs.shopL); 1844 this.shopLiu(this.$refs.shopL);
@@ -2095,9 +2117,14 @@ that.expectedAttractTraffic=res.data.content[0].expectedAttractTraffic @@ -2095,9 +2117,14 @@ that.expectedAttractTraffic=res.data.content[0].expectedAttractTraffic
2095 handleRemove(){ 2117 handleRemove(){
2096 this.fileData=[] 2118 this.fileData=[]
2097 }, 2119 },
2098 - daoru(){  
2099 -  
2100 - }, 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 + })
  2127 + },
2101 caogao(){ 2128 caogao(){
2102 let pageindex = { 2129 let pageindex = {
2103 pageNumber: 1, 2130 pageNumber: 1,
@@ -2143,6 +2170,56 @@ this.fileData=[] @@ -2143,6 +2170,56 @@ this.fileData=[]
2143 2170
2144 2171
2145 }, 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 + },
2146 } 2223 }
2147 } 2224 }
2148 </script> 2225 </script>
yanshouban/src/views/atmosphere/atmosphereSp.vue
@@ -59,7 +59,7 @@ @@ -59,7 +59,7 @@
59 {{scope.row.state == ''?'待提交':scope.row.state == '1'?'待审批':scope.row.state == '2'?'部门领导审批':scope.row.state == '3'?'公司领导审批':scope.row.state == '4'?'其他审批':scope.row.state == '5'?'审核通过':'已驳回'}} 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 </template> 60 </template>
61 </el-table-column> 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 </el-table-column> 63 </el-table-column>
64 <el-table-column prop="createUser" label="上传人员" min-width="80"> 64 <el-table-column prop="createUser" label="上传人员" min-width="80">
65 65
yanshouban/src/views/business/businessList/index.vue
@@ -64,14 +64,23 @@ @@ -64,14 +64,23 @@
64 </el-button> 64 </el-button>
65 </div> 65 </div>
66 </div> 66 </div>
67 - <div style="margin-bottom:20px;"> 67 + <div style="margin-bottom: 20px;display:flex;">
68 <el-button 68 <el-button
69 @click="addbuss" 69 @click="addbuss"
70 icon="el-icon-circle-plus-outline" 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 </el-button> 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 </div> 84 </div>
76 <!-- 表格 --> 85 <!-- 表格 -->
77 <div class="tableBox"> 86 <div class="tableBox">
@@ -659,7 +668,8 @@ import { @@ -659,7 +668,8 @@ import {
659 businessListGetById, 668 businessListGetById,
660 businessListUpdate, 669 businessListUpdate,
661 businessListStart, 670 businessListStart,
662 - delBusinessById 671 + delBusinessById,
  672 + excelAdd
663 } from '@/api/business' 673 } from '@/api/business'
664 import upimg from "@/components/ImageUpload/index"; 674 import upimg from "@/components/ImageUpload/index";
665 import { 675 import {
@@ -668,11 +678,14 @@ import upimg from &quot;@/components/ImageUpload/index&quot;; @@ -668,11 +678,14 @@ import upimg from &quot;@/components/ImageUpload/index&quot;;
668 import { 678 import {
669 getAlls as map1 679 getAlls as map1
670 } from '@/api/map1' 680 } from '@/api/map1'
  681 + import { uploadUrl,token } from '@/utils/request'
671 export default { 682 export default {
672 components: {upimg}, 683 components: {upimg},
673 data () { 684 data () {
674 // 这里存放数据 685 // 这里存放数据
675 return { 686 return {
  687 + action:uploadUrl,
  688 + fileData:[],
676 // 新建商家弹框 689 // 新建商家弹框
677 dialogVisible: false, 690 dialogVisible: false,
678 activeName: 0, 691 activeName: 0,
@@ -931,6 +944,15 @@ export default { @@ -931,6 +944,15 @@ export default {
931 } 944 }
932 945
933 if (!this.userState) { 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 +
934 businessListSave(this.ruleForm).then(res => { 956 businessListSave(this.ruleForm).then(res => {
935 957
936 if (res.code === '') { 958 if (res.code === '') {
@@ -1055,11 +1077,11 @@ export default { @@ -1055,11 +1077,11 @@ export default {
1055 // 初始化查询所有数据 1077 // 初始化查询所有数据
1056 async getAll(formInline) { 1078 async getAll(formInline) {
1057 const res = await businessListGetAll(formInline) 1079 const res = await businessListGetAll(formInline)
  1080 +
1058 this.total = res.data.total 1081 this.total = res.data.total
1059 this.tableData = res.data.list 1082 this.tableData = res.data.list
1060 1083
1061 this.tableData.map(item=>{ 1084 this.tableData.map(item=>{
1062 -  
1063 item.shopPhone = this.$decrypt(item.shopPhone) 1085 item.shopPhone = this.$decrypt(item.shopPhone)
1064 item.shopPassword = this.$decrypt(item.shopPassword) 1086 item.shopPassword = this.$decrypt(item.shopPassword)
1065 item.idCardNum = this.$decrypt(item.idCardNum) 1087 item.idCardNum = this.$decrypt(item.idCardNum)
@@ -1067,7 +1089,6 @@ export default { @@ -1067,7 +1089,6 @@ export default {
1067 item.shopAdress = this.$decrypt(item.shopAdress) 1089 item.shopAdress = this.$decrypt(item.shopAdress)
1068 item.legalRepresentative = this.$decrypt(item.legalRepresentative) 1090 item.legalRepresentative = this.$decrypt(item.legalRepresentative)
1069 item.chargePersonPhone = this.$decrypt(item.chargePersonPhone) 1091 item.chargePersonPhone = this.$decrypt(item.chargePersonPhone)
1070 -  
1071 }) 1092 })
1072 1093
1073 }, 1094 },
@@ -1125,6 +1146,14 @@ export default { @@ -1125,6 +1146,14 @@ export default {
1125 MingDelete(index){ 1146 MingDelete(index){
1126 this.ziyuanData.splice(index, 1); 1147 this.ziyuanData.splice(index, 1);
1127 }, 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 + },
1128 } 1157 }
1129 } 1158 }
1130 </script> 1159 </script>
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,14 +51,20 @@
51 </el-button> 51 </el-button>
52 </div> 52 </div>
53 </div> 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 style="background-color: #3F9B6A;color: #fff;padding:8px 15px;" 56 style="background-color: #3F9B6A;color: #fff;padding:8px 15px;"
56 icon="el-icon-circle-plus-outline">新增</el-button> 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 </div> 68 </div>
63 <!-- 地图 --> 69 <!-- 地图 -->
64 <div style="display: flex;justify-content: space-between;margin-bottom: 20px;"> 70 <div style="display: flex;justify-content: space-between;margin-bottom: 20px;">
@@ -136,6 +142,10 @@ @@ -136,6 +142,10 @@
136 </el-table-column> 142 </el-table-column>
137 <el-table-column prop="detailedLocation" label="详细地址" min-width="300"> 143 <el-table-column prop="detailedLocation" label="详细地址" min-width="300">
138 </el-table-column> 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 <el-table-column label="实际使用面积" prop="actualUsableArea" min-width="150"> 149 <el-table-column label="实际使用面积" prop="actualUsableArea" min-width="150">
140 </el-table-column> 150 </el-table-column>
141 <el-table-column label="归属部门" prop="belongingDepartment" min-width="150"> 151 <el-table-column label="归属部门" prop="belongingDepartment" min-width="150">
@@ -1511,6 +1521,7 @@ @@ -1511,6 +1521,7 @@
1511 changadd, 1521 changadd,
1512 changedit, 1522 changedit,
1513 changDel, 1523 changDel,
  1524 +
1514 } from '../../api/information' 1525 } from '../../api/information'
1515 import { 1526 import {
1516 getAlls as getAllMap, 1527 getAlls as getAllMap,
@@ -1765,6 +1776,7 @@ @@ -1765,6 +1776,7 @@
1765 mapData: {}, 1776 mapData: {},
1766 fileData:[], 1777 fileData:[],
1767 uploadFileUrl: uploadUrl, // 请求地址 1778 uploadFileUrl: uploadUrl, // 请求地址
  1779 +daoData:[]
1768 } 1780 }
1769 1781
1770 1782
@@ -2266,6 +2278,14 @@ uploadFileUrl: uploadUrl, // 请求地址 @@ -2266,6 +2278,14 @@ uploadFileUrl: uploadUrl, // 请求地址
2266 // 将文件地址存储在 uploadedFiles 数组中 2278 // 将文件地址存储在 uploadedFiles 数组中
2267 this.fileData.push(fileMsg); 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 </script> 2291 </script>
yanshouban/src/views/detect/analyse.vue
@@ -5,32 +5,26 @@ @@ -5,32 +5,26 @@
5 <div style="color:#0006"> <span>招商资源监测</span> <span style="padding:0 5px;">></span> <span 5 <div style="color:#0006"> <span>招商资源监测</span> <span style="padding:0 5px;">></span> <span
6 style="color:#000000e6">统计分析</span></div> 6 style="color:#000000e6">统计分析</span></div>
7 </div> 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 <div style="width: 100%;margin-bottom:30px;"> 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 <div style="display:flex;margin-top:10px;"> 28 <div style="display:flex;margin-top:10px;">
35 <div style="width:48%;height: 400px;marigin-right:20px;"> 29 <div style="width:48%;height: 400px;marigin-right:20px;">
36 <div style="display: flex;justify-content: space-between;"> 30 <div style="display: flex;justify-content: space-between;">
@@ -264,6 +258,59 @@ @@ -264,6 +258,59 @@
264 </div> 258 </div>
265 </div> 259 </div>
266 </div> --> 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 <div style="width: 100%;margin-bottom:20px;"> 315 <div style="width: 100%;margin-bottom:20px;">
269 <div style="display:flex;justify-content: space-between"> 316 <div style="display:flex;justify-content: space-between">
@@ -306,7 +353,7 @@ @@ -306,7 +353,7 @@
306 </div> 353 </div>
307 <div style="width:48%;height: 400px;marigin-right:20px;"> 354 <div style="width:48%;height: 400px;marigin-right:20px;">
308 <div style="display: flex;justify-content: space-between;"> 355 <div style="display: flex;justify-content: space-between;">
309 - <div style="line-height:35px;">签约数量占比</div> 356 + <div style="line-height:35px;">合同签约数量占比</div>
310 <!-- <div> 357 <!-- <div>
311 <el-select v-model="formSel.createDate" placeholder="类型" style="width: 100px;margin-right: 10px"> 358 <el-select v-model="formSel.createDate" placeholder="类型" style="width: 100px;margin-right: 10px">
312 <el-option label="1" value="1" /> 359 <el-option label="1" value="1" />
@@ -318,7 +365,20 @@ @@ -318,7 +365,20 @@
318 </div> 365 </div>
319 </div> 366 </div>
320 </div> 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 </div> 382 </div>
323 383
324 </div> 384 </div>
@@ -329,6 +389,8 @@ @@ -329,6 +389,8 @@
329 statistical, 389 statistical,
330 } from '@/api/information' 390 } from '@/api/information'
331 import * as echarts from 'echarts' 391 import * as echarts from 'echarts'
  392 + import html2canvas from 'html2canvas'
  393 + import jsPDF from 'jspdf'
332 export default { 394 export default {
333 name: 'atmosphereGl', 395 name: 'atmosphereGl',
334 data() { 396 data() {
@@ -341,8 +403,8 @@ @@ -341,8 +403,8 @@
341 tableData: [], 403 tableData: [],
342 FormTime:[], 404 FormTime:[],
343 pageindex: { 405 pageindex: {
344 -   startTime: "1990-09-11",  
345 -     endTime: "2024-11-09" 406 +   startTime: "",
  407 +     endTime: ""
346 }, 408 },
347 formSel: { 409 formSel: {
348 410
@@ -351,26 +413,83 @@ @@ -351,26 +413,83 @@
351 }, 413 },
352 computed: {}, 414 computed: {},
353 created() { 415 created() {
354 - this.getAll() 416 +
355 417
356 }, 418 },
357 mounted() { 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 methods: { 422 methods: {
  423 +
370 charDam(datas) { 424 charDam(datas) {
  425 +
371 let Dom = this.$refs.shop2TJ 426 let Dom = this.$refs.shop2TJ
372 let myChart = echarts.init(Dom) 427 let myChart = echarts.init(Dom)
373 let processedData = datas.map(item => ({ 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 name: item.trendDate, 493 name: item.trendDate,
375 value: item.trendQuantity 494 value: item.trendQuantity
376 })) 495 }))
@@ -380,6 +499,9 @@ @@ -380,6 +499,9 @@
380 xAxis: { 499 xAxis: {
381 type: 'category', 500 type: 'category',
382 data:processedData.map(item => item.name), 501 data:processedData.map(item => item.name),
  502 + axisLabel: {
  503 + interval: 0,//使x轴文字显示全
  504 + }
383 }, 505 },
384 yAxis: { 506 yAxis: {
385 type: 'value', 507 type: 'value',
@@ -405,9 +527,10 @@ @@ -405,9 +527,10 @@
405 let myChart = echarts.init(Dom); 527 let myChart = echarts.init(Dom);
406 528
407 let processedData = datas.map(item => ({ 529 let processedData = datas.map(item => ({
408 - name: item.trendDate || '11', 530 + name: item.trendDate,
409 value: item.trendQuantity 531 value: item.trendQuantity
410 })) 532 }))
  533 + console.log(processedData)
411 processedData.push({name:'',value:0}) 534 processedData.push({name:'',value:0})
412 let option = { 535 let option = {
413 xAxis: { 536 xAxis: {
@@ -484,106 +607,70 @@ @@ -484,106 +607,70 @@
484 }, 607 },
485 charDam3(datas) { 608 charDam3(datas) {
486 let Dom = this.$refs.shop1TJ 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 charDam6(datas) { 674 charDam6(datas) {
588 675
589 let Dom = this.$refs.shop5ZX 676 let Dom = this.$refs.shop5ZX
@@ -668,64 +755,91 @@ @@ -668,64 +755,91 @@
668 } 755 }
669 option && myChart.setOption(option); 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 async getAll() { 828 async getAll() {
712 const res = await statistical(this.pageindex) 829 const res = await statistical(this.pageindex)
713 830
714 - this.charDam(res.data.seekingIntentionStatistics) 831 + this.charDam(res.data.merchantChargeStatistics)
715 this.charDam2(res.data.seekingIntentionStatistics) 832 this.charDam2(res.data.seekingIntentionStatistics)
716 this.charDam6(res.data.contractTrend) 833 this.charDam6(res.data.contractTrend)
717 - 834 +this.hetongDam(res.data.contractTrend)
718 this.charDam7(res.data.basicQueryTrends) 835 this.charDam7(res.data.basicQueryTrends)
719 let trends=[...res.data.shopTrend,...res.data.venueTrend,...res.data.advertisingTrend] 836 let trends=[...res.data.shopTrend,...res.data.venueTrend,...res.data.advertisingTrend]
720 837
721 this.charDam1(trends) 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 resetting(){ 844 resetting(){
731 this.FormTime = [] 845 this.FormTime = []
@@ -738,19 +852,40 @@ @@ -738,19 +852,40 @@
738     endTime:this.FormTime[1] 852     endTime:this.FormTime[1]
739 } 853 }
740 const res = await statistical(Msg) 854 const res = await statistical(Msg)
741 - this.charDam(res.data.seekingIntentionStatistics) 855 + this.charDam(res.data.merchantChargeStatistics)
742 this.charDam2(res.data.seekingIntentionStatistics) 856 this.charDam2(res.data.seekingIntentionStatistics)
743 this.charDam6(res.data.contractTrend) 857 this.charDam6(res.data.contractTrend)
  858 + this.hetongDam(res.data.contractTrend)
744 this.charDam7(res.data.basicQueryTrends) 859 this.charDam7(res.data.basicQueryTrends)
745 let trends=[...res.data.shopTrend,...res.data.venueTrend,...res.data.advertisingTrend] 860 let trends=[...res.data.shopTrend,...res.data.venueTrend,...res.data.advertisingTrend]
746 861
747 this.charDam1(trends) 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 </script> 891 </script>
yanshouban/src/views/ipm/inr/index.vue
@@ -388,6 +388,7 @@ @@ -388,6 +388,7 @@
388 tanAdd, 388 tanAdd,
389 tanEdit, 389 tanEdit,
390 tanDel, 390 tanDel,
  391 + excelQueryByPage
391 } from '../../../api/inr.js' 392 } from '../../../api/inr.js'
392 import upimg from "@/components/ImageUpload/index" 393 import upimg from "@/components/ImageUpload/index"
393 import { 394 import {
@@ -629,23 +630,33 @@ const res = await tanGetAll(this.formSel) @@ -629,23 +630,33 @@ const res = await tanGetAll(this.formSel)
629 await tanDel({id:item.id}) 630 await tanDel({id:item.id})
630 this.getAll() 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/member/memberList/details.vue
@@ -369,12 +369,17 @@ export default { @@ -369,12 +369,17 @@ export default {
369 if (item.fields === 'sex') { 369 if (item.fields === 'sex') {
370 item.value = item.value === '1' ? '男' : '女' 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 async getSelect (name) { 378 async getSelect (name) {
376 const res = await getLabels(name) 379 const res = await getLabels(name)
377 this.tipsList = res.data 380 this.tipsList = res.data
  381 +
  382 +
378 }, 383 },
379 doCancel () { 384 doCancel () {
380 this.visible = false 385 this.visible = false
yanshouban/src/views/online/QRCode/index.vue
@@ -177,7 +177,7 @@ export default { @@ -177,7 +177,7 @@ export default {
177 this.tableData = res.data.list 177 this.tableData = res.data.list
178 this.tableData.map(res=>{ 178 this.tableData.map(res=>{
179 res.shopPhone = this.$decrypt(res.shopPhone) 179 res.shopPhone = this.$decrypt(res.shopPhone)
180 - // res.shopPassword = this.$decrypt(res.shopPassword) 180 + res.shopPassword = this.$decrypt(res.shopPassword)
181 res.idCardNum = this.$decrypt(res.idCardNum) 181 res.idCardNum = this.$decrypt(res.idCardNum)
182 res.emailAddress = this.$decrypt(res.emailAddress) 182 res.emailAddress = this.$decrypt(res.emailAddress)
183 res.shopAdress = this.$decrypt(res.shopAdress) 183 res.shopAdress = this.$decrypt(res.shopAdress)
yanshouban/src/views/online/QRFunds/index.vue
@@ -177,11 +177,12 @@ export default { @@ -177,11 +177,12 @@ export default {
177 this.tableData = res.data.list 177 this.tableData = res.data.list
178 this.tableData.map(res=>{ 178 this.tableData.map(res=>{
179 res.shopPhone = this.$decrypt(res.shopPhone) 179 res.shopPhone = this.$decrypt(res.shopPhone)
180 - // res.shopPassword = this.$decrypt(res.shopPassword) 180 + res.shopPassword = this.$decrypt(res.shopPassword)
181 res.idCardNum = this.$decrypt(res.idCardNum) 181 res.idCardNum = this.$decrypt(res.idCardNum)
182 res.emailAddress = this.$decrypt(res.emailAddress) 182 res.emailAddress = this.$decrypt(res.emailAddress)
183 res.shopAdress = this.$decrypt(res.shopAdress) 183 res.shopAdress = this.$decrypt(res.shopAdress)
184 res.legalRepresentative = this.$decrypt(res.legalRepresentative) 184 res.legalRepresentative = this.$decrypt(res.legalRepresentative)
  185 + res.chargePersonPhone = this.$decrypt(res.chargePersonPhone)
185 }) 186 })
186 }, 187 },
187 onSubmit(){ 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,9 +33,19 @@
33 </el-button> 33 </el-button>
34 </div> 34 </div>
35 </div> 35 </div>
36 - <div style="margin:20px 0;"> 36 + <div style="margin:20px 0;display:flex;">
37 <el-button icon="el-icon-circle-plus-outline" @click="addbuss(1)" 37 <el-button icon="el-icon-circle-plus-outline" @click="addbuss(1)"
38 style="background-color: #3F9B6A;color: #fff;padding:8px 15px;">新增</el-button> 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 </div> 49 </div>
40 50
41 <!-- 表格 --> 51 <!-- 表格 -->
@@ -312,17 +322,20 @@ @@ -312,17 +322,20 @@
312 addList, 322 addList,
313 updateList, 323 updateList,
314 queryById, 324 queryById,
  325 + excelAdd
315 } from '../../api/planningBz.js' 326 } from '../../api/planningBz.js'
316 import wangEditor from "@/components/editor/index" 327 import wangEditor from "@/components/editor/index"
317 import upimg from "@/components/ImageUpload/index" 328 import upimg from "@/components/ImageUpload/index"
318 import { 329 import {
319 uploadUrl 330 uploadUrl
320 } from '@/utils/request' 331 } from '@/utils/request'
  332 +
321 export default { 333 export default {
322 components: { wangEditor ,upimg}, 334 components: { wangEditor ,upimg},
323 data() { 335 data() {
324 return { 336 return {
325 upload:uploadUrl, 337 upload:uploadUrl,
  338 + fileData:[],
326 formSel: { 339 formSel: {
327 planningName:'', 340 planningName:'',
328 planningType:'', 341 planningType:'',
@@ -450,7 +463,7 @@ this.total = res.data.content.length @@ -450,7 +463,7 @@ this.total = res.data.content.length
450 this.fileList = fileList.slice(-3); 463 this.fileList = fileList.slice(-3);
451 }, 464 },
452 handleSuccess(file,fileList) { 465 handleSuccess(file,fileList) {
453 - console.log(file,fileList) 466 +
454 // const fileUrl = response.data.url; 467 // const fileUrl = response.data.url;
455 const fileMsg = { 468 const fileMsg = {
456 name:fileList.name, 469 name:fileList.name,
@@ -493,7 +506,10 @@ this.total = res.data.content.length @@ -493,7 +506,10 @@ this.total = res.data.content.length
493 this.secondData.annex = JSON.parse(item.annex) 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 // this.secondData.annex = JSON.parse(this.secondData.annex) 513 // this.secondData.annex = JSON.parse(this.secondData.annex)
498 514
499 515
@@ -599,7 +615,7 @@ this.total = res.data.content.length @@ -599,7 +615,7 @@ this.total = res.data.content.length
599 console.log(file); 615 console.log(file);
600 }, 616 },
601 handleRemove(file, fileList) { 617 handleRemove(file, fileList) {
602 - console.log(file, fileList); 618 +
603 this.fileList = [] 619 this.fileList = []
604 }, 620 },
605 //重置按钮 621 //重置按钮
@@ -632,6 +648,14 @@ this.total = res.data.content.length @@ -632,6 +648,14 @@ this.total = res.data.content.length
632 const day = ('0' + date.getDate()).slice(-2); 648 const day = ('0' + date.getDate()).slice(-2);
633 return `${year}-${month}-${day}`; 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 </script> 661 </script>
yanshouban/src/views/scheme/sam.vue
1 <template> 1 <template>
2 <div style="background-color:#f7f7f7;padding:10px 10px;"> 2 <div style="background-color:#f7f7f7;padding:10px 10px;">
3 - <div class="zhuti"> 3 + <div class="zhuti" v-if="addressShow == false">
4 <div style="height:58px;line-height:58px;"> 4 <div style="height:58px;line-height:58px;">
5 <div style="color:#0006"> <span>招商方案管理</span> <span style="padding:0 5px;">></span> <span 5 <div style="color:#0006"> <span>招商方案管理</span> <span style="padding:0 5px;">></span> <span
6 style="color:#000000e6">策略管理</span></div> 6 style="color:#000000e6">策略管理</span></div>
@@ -54,6 +54,8 @@ @@ -54,6 +54,8 @@
54 <div style="margin:20px 0;"> 54 <div style="margin:20px 0;">
55 <el-button icon="el-icon-circle-plus-outline" @click="addbuss(1)" 55 <el-button icon="el-icon-circle-plus-outline" @click="addbuss(1)"
56 style="background-color: #3F9B6A;color: #fff;padding:8px 15px;">新增</el-button> 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 </div> 59 </div>
58 60
59 <!-- 表格 --> 61 <!-- 表格 -->
@@ -216,6 +218,7 @@ @@ -216,6 +218,7 @@
216 218
217 </el-dialog> 219 </el-dialog>
218 <samXin :xinShow="ggXin" @childClose='childClose'></samXin> 220 <samXin :xinShow="ggXin" @childClose='childClose'></samXin>
  221 + <addressguan :addressShow="addressShow" @addClose='addClose' v-if="addressShow"></addressguan>
219 </div> 222 </div>
220 </template> 223 </template>
221 224
@@ -229,14 +232,16 @@ @@ -229,14 +232,16 @@
229 import wangEditor from "@/components/editor/index" 232 import wangEditor from "@/components/editor/index"
230 import upimg from "@/components/ImageUpload/index" 233 import upimg from "@/components/ImageUpload/index"
231 import samXin from "./samXin" 234 import samXin from "./samXin"
  235 +import addressguan from "./addressguan"
232 import { 236 import {
233 uploadUrl 237 uploadUrl
234 } from '@/utils/request' 238 } from '@/utils/request'
235 export default { 239 export default {
236 - components: { wangEditor ,upimg,samXin}, 240 + components: { wangEditor ,upimg,samXin,addressguan},
237 data() { 241 data() {
238 return { 242 return {
239 formInline: {}, 243 formInline: {},
  244 + addressShow:false,
240 upload:uploadUrl, 245 upload:uploadUrl,
241 plan_Time:[], 246 plan_Time:[],
242 formSel: { 247 formSel: {
@@ -269,7 +274,8 @@ import samXin from &quot;./samXin&quot; @@ -269,7 +274,8 @@ import samXin from &quot;./samXin&quot;
269 }, 274 },
270 fileList: [], 275 fileList: [],
271 paymentDate:[], 276 paymentDate:[],
272 - leaseDate:[] 277 + leaseDate:[],
  278 + modelData:[]
273 } 279 }
274 }, 280 },
275 281
@@ -409,6 +415,10 @@ this.getAll() @@ -409,6 +415,10 @@ this.getAll()
409 this.xiang = false 415 this.xiang = false
410 this.getAll() 416 this.getAll()
411 }, 417 },
  418 + addClose(msg){
  419 + this.addressShow = msg
  420 + this.getAll()
  421 + },
412 } 422 }
413 } 423 }
414 </script> 424 </script>
yanshouban/src/views/serve/kefuServe/index.vue
@@ -23,7 +23,7 @@ @@ -23,7 +23,7 @@
23 <div> 23 <div>
24 <!-- 搜索 --> 24 <!-- 搜索 -->
25 <div style="margin-bottom:20px;"> 25 <div style="margin-bottom:20px;">
26 - 修记录 26 + 修记录
27 </div> 27 </div>
28 28
29 <!-- 表格 --> 29 <!-- 表格 -->
@@ -39,7 +39,7 @@ @@ -39,7 +39,7 @@
39 {{scope.$index+1}} 39 {{scope.$index+1}}
40 </template> 40 </template>
41 </el-table-column> 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 <el-table-column label="问题描述" prop="warrantyIssue" width="auto" min-width="12%" /> 43 <el-table-column label="问题描述" prop="warrantyIssue" width="auto" min-width="12%" />
44 <el-table-column label="设备名称" prop="deviceName" width="auto" min-width="12%" /> 44 <el-table-column label="设备名称" prop="deviceName" width="auto" min-width="12%" />
45 <el-table-column label="备注" prop="memo" width="auto" min-width="12%" /> 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,10 +326,14 @@ export default {
326 userGetById({ platformUserId: row.platformUserId }).then(res => { 326 userGetById({ platformUserId: row.platformUserId }).then(res => {
327 this.addForm = res.data 327 this.addForm = res.data
328 this.addForm.roleIds = res.data.ids 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 // this.addForm.roleIds = [1]; 333 // this.addForm.roleIds = [1];
332 }) 334 })
  335 +
  336 +
333 }, 337 },
334 // 删除用户 338 // 删除用户
335 async del (row) { 339 async del (row) {
yanshouban/src/views/shopRental/manage/index.vue
@@ -37,10 +37,19 @@ @@ -37,10 +37,19 @@
37 </el-button> 37 </el-button>
38 </div> 38 </div>
39 </div> 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 icon="el-icon-circle-plus-outline">新增</el-button> 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 </div> 53 </div>
45 <!-- 表格 --> 54 <!-- 表格 -->
46 55
@@ -1202,9 +1211,7 @@ @@ -1202,9 +1211,7 @@
1202 async 1211 async
1203 } from 'q' 1212 } from 'q'
1204 import axios from 'axios' 1213 import axios from 'axios'
1205 - import {  
1206 - uploadUrl  
1207 - } from '@/utils/request' 1214 +import { uploadUrl,token } from '@/utils/request'
1208 import { 1215 import {
1209 contractGetAll, 1216 contractGetAll,
1210 contractDel, 1217 contractDel,
@@ -1214,13 +1221,15 @@ @@ -1214,13 +1221,15 @@
1214 cereLeasingByPage, 1221 cereLeasingByPage,
1215 cereLeasingEdit, 1222 cereLeasingEdit,
1216 cereLeasingAdd, 1223 cereLeasingAdd,
1217 - cereLeasingDel 1224 + cereLeasingDel,
  1225 + excelAdd
1218 } from '../../../api/manage.js' 1226 } from '../../../api/manage.js'
1219 export default { 1227 export default {
1220 name: 'manage', 1228 name: 'manage',
1221 data() { 1229 data() {
1222 return { 1230 return {
1223 uploadFileUrl: uploadUrl, // 请求地址 1231 uploadFileUrl: uploadUrl, // 请求地址
  1232 + fileData:[],
1224 hetongBox: false, //合同 1233 hetongBox: false, //合同
1225 detbox: false, //详情 1234 detbox: false, //详情
1226 leixing: true, //切换 1235 leixing: true, //切换
@@ -1257,6 +1266,7 @@ @@ -1257,6 +1266,7 @@
1257 promotionVideo: '', 1266 promotionVideo: '',
1258 promotionImage: '', 1267 promotionImage: '',
1259 notes: '', 1268 notes: '',
  1269 + rentalCondition:0,
1260 }, //租赁信息字段 1270 }, //租赁信息字段
1261 tableData: [{ 1271 tableData: [{
1262 id:1, 1272 id:1,
@@ -1383,6 +1393,7 @@ biangengPan:false, @@ -1383,6 +1393,7 @@ biangengPan:false,
1383 this.chengeTatle = val 1393 this.chengeTatle = val
1384 }, 1394 },
1385 async getAll(val) { 1395 async getAll(val) {
  1396 + console.log(this.pageindex)
1386 const res = await cereLeasingByPage(this.pageindex) 1397 const res = await cereLeasingByPage(this.pageindex)
1387 this.tableData = res.data.content 1398 this.tableData = res.data.content
1388 this.total = res.data.content.length 1399 this.total = res.data.content.length
@@ -1521,6 +1532,7 @@ biangengPan:false, @@ -1521,6 +1532,7 @@ biangengPan:false,
1521 promotionVideo: '', 1532 promotionVideo: '',
1522 promotionImage: '', 1533 promotionImage: '',
1523 notes: '', 1534 notes: '',
  1535 + rentalCondition:0,
1524 }//租赁信息字段 1536 }//租赁信息字段
1525 this.heForm={ 1537 this.heForm={
1526 contractNumber: '', //合同对应的ID 1538 contractNumber: '', //合同对应的ID
@@ -1718,6 +1730,14 @@ this.ggXin = true @@ -1718,6 +1730,14 @@ this.ggXin = true
1718 bianDel(index){ 1730 bianDel(index){
1719 this.biangengTab.splice(index, 1); 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 </script> 1743 </script>
yanshouban/src/views/shopRental/renewalMan/index.vue
@@ -876,7 +876,7 @@ @@ -876,7 +876,7 @@
876 }, 876 },
877 pageNumber: 1, 877 pageNumber: 1,
878 pageSize: 10, 878 pageSize: 10,
879 - 879 + rentalCondition:3
880 }, 880 },
881 xiangData:{}, 881 xiangData:{},
882 heData:{}, 882 heData:{},
@@ -892,6 +892,7 @@ @@ -892,6 +892,7 @@
892 pageindex: { 892 pageindex: {
893 pageNumber: 1, 893 pageNumber: 1,
894 pageSize: 10, 894 pageSize: 10,
  895 + rentalCondition:3
895 }, 896 },
896 bianjiBox:1, 897 bianjiBox:1,
897 chengeTatle:1, 898 chengeTatle:1,
@@ -1083,7 +1084,7 @@ @@ -1083,7 +1084,7 @@
1083 }, 1084 },
1084 pageNumber: 1, 1085 pageNumber: 1,
1085 pageSize: 10, 1086 pageSize: 10,
1086 - 1087 + rentalCondition:3
1087 } 1088 }
1088 this.leaseStartDate = [] 1089 this.leaseStartDate = []
1089 this.getAll() 1090 this.getAll()
yanshouban/src/views/shopRental/rentTermination/index.vue
@@ -730,11 +730,12 @@ @@ -730,11 +730,12 @@
730 }, 730 },
731 pageNumber: 1, 731 pageNumber: 1,
732 pageSize: 10, 732 pageSize: 10,
733 - 733 + rentalCondition:2
734 }, 734 },
735 pageindex: { 735 pageindex: {
736 pageNumber: 1, 736 pageNumber: 1,
737 pageSize: 10, 737 pageSize: 10,
  738 + rentalCondition:2
738 }, 739 },
739 bianjiBox: 1, 740 bianjiBox: 1,
740 chengeTatle: 1, 741 chengeTatle: 1,
@@ -948,7 +949,7 @@ @@ -948,7 +949,7 @@
948 }, 949 },
949 pageNumber: 1, 950 pageNumber: 1,
950 pageSize: 10, 951 pageSize: 10,
951 - 952 + rentalCondition:2
952 } 953 }
953 this.leaseStartDate = [] 954 this.leaseStartDate = []
954 this.getAll() 955 this.getAll()
yanshouban/src/views/shopRental/rentalMan/index.vue
@@ -1050,10 +1050,12 @@ import { @@ -1050,10 +1050,12 @@ import {
1050 }, 1050 },
1051 pageNumber: 1, 1051 pageNumber: 1,
1052 pageSize: 10, 1052 pageSize: 10,
  1053 + rentalCondition:1
1053 }, 1054 },
1054 pageindex: { 1055 pageindex: {
1055 pageNumber: 1, 1056 pageNumber: 1,
1056 pageSize: 10, 1057 pageSize: 10,
  1058 + rentalCondition:1
1057 }, 1059 },
1058 zhong:{ 1060 zhong:{
1059 intentionalRent:'', 1061 intentionalRent:'',
@@ -1104,6 +1106,7 @@ import { @@ -1104,6 +1106,7 @@ import {
1104 }, 1106 },
1105 pageNumber: 1, 1107 pageNumber: 1,
1106 pageSize: 10, 1108 pageSize: 10,
  1109 + rentalCondition:1
1107 } 1110 }
1108 this.leixing = !this.leixing 1111 this.leixing = !this.leixing
1109 1112
@@ -1204,6 +1207,7 @@ import { @@ -1204,6 +1207,7 @@ import {
1204 }, 1207 },
1205 pageNumber: 1, 1208 pageNumber: 1,
1206 pageSize: 10, 1209 pageSize: 10,
  1210 + rentalCondition:1
1207 }, 1211 },
1208 this.leaseStartDate = [] 1212 this.leaseStartDate = []
1209 this.getAll() 1213 this.getAll()