Commit cc312afb2e2bddd7eed46cb9666089b4318a177c
1 parent
4f415990
'最新'
Showing
31 changed files
with
2743 additions
and
401 deletions
admin-web-master/src/api/inr.js
admin-web-master/src/views/ipm/inr/index.vue
| ... | ... | @@ -626,24 +626,10 @@ const res = await tanGetAll(this.formSel) |
| 626 | 626 | await tanDel({id:item.id}) |
| 627 | 627 | this.getAll() |
| 628 | 628 | }, |
| 629 | - gitOut(){ | |
| 630 | - let add =[] | |
| 631 | - this.tableData.map(item=>{ | |
| 632 | - | |
| 633 | - let obj ={ | |
| 634 | - intentCustomerName:'', | |
| 635 | - customerLevel:'', | |
| 636 | - contactPhone:'', | |
| 637 | - nextFollowUpStartTime:'' | |
| 638 | - } | |
| 639 | - obj.intentCustomerName = item.cereFollowDetails.cereCustomerInfo.intentCustomerName | |
| 640 | - obj.contactPhone = item.cereFollowDetails.cereCustomerInfo.contactPhone | |
| 641 | - obj.customerLevel = item.cereFollowDetails.cereCustomerInfo.customerLevel | |
| 642 | - obj.nextFollowUpStartTime = item.nextNegotiationStartTime | |
| 643 | - add.push(obj) | |
| 644 | - | |
| 645 | - }) | |
| 646 | - }, | |
| 629 | + // async gitOut(){ | |
| 630 | + // await excelQueryByPage(this.pageindex) | |
| 631 | + | |
| 632 | + // }, | |
| 647 | 633 | } |
| 648 | 634 | } |
| 649 | 635 | </script> | ... | ... |
wenjuan/.env.development
| ... | ... | @@ -3,12 +3,12 @@ ENV = 'development' |
| 3 | 3 | |
| 4 | 4 | # base api |
| 5 | 5 | VUE_APP_BASE_API = '/dev-api' |
| 6 | -# VUE_APP_DOMAIN_PREFIX_1='http://192.168.2.133:9003' | |
| 7 | -# VUE_APP_DOMAIN_PREFIX_2='http://192.168.2.133:9007' | |
| 6 | + VUE_APP_DOMAIN_PREFIX_1='http://192.168.2.7:9003' | |
| 7 | + VUE_APP_DOMAIN_PREFIX_2='http://192.168.2.7:9007' | |
| 8 | 8 | # VUE_APP_DOMAIN_PREFIX_1='https://h5.028wlkj.com/cdwlMall/meserver/admin-server/' |
| 9 | 9 | # VUE_APP_DOMAIN_PREFIX_2='https://h5.028wlkj.com/cdwlMall/meserver/api' |
| 10 | - VUE_APP_DOMAIN_PREFIX_1='https://jy.scjysm.asia:18086/meserver/admin-server/' | |
| 11 | - VUE_APP_DOMAIN_PREFIX_2='https://jy.scjysm.asia:18086/meserver/api' | |
| 10 | +# VUE_APP_DOMAIN_PREFIX_1='http://jy.scjysm.asia:18086/meserver/admin-server/' | |
| 11 | +# VUE_APP_DOMAIN_PREFIX_2='https://jy.scjysm.asia:18086/meserver/api' | |
| 12 | 12 | # 开发环境 |
| 13 | 13 | # 演示环境 |
| 14 | 14 | # VUE_APP_DOMAIN_PREFIX = '/api' | ... | ... |
yanshouban/src/api/activityBz.js
| ... | ... | @@ -205,3 +205,35 @@ export function copy(data) { |
| 205 | 205 | data |
| 206 | 206 | }) |
| 207 | 207 | } |
| 208 | + | |
| 209 | + | |
| 210 | +// 审核流程导出 | |
| 211 | +export function excelQueryByPage(data) { | |
| 212 | + return request({ | |
| 213 | + url: '/cereEventDetails/excelQueryByPage', | |
| 214 | + method: 'post', | |
| 215 | + data, | |
| 216 | + responseType: 'blob' | |
| 217 | + }) | |
| 218 | +} | |
| 219 | + | |
| 220 | +// 导入 | |
| 221 | +export function excelAdd(data) { | |
| 222 | + return request({ | |
| 223 | + url: '/cereEventDetails/excelAdd', | |
| 224 | + method: 'post', | |
| 225 | + data, | |
| 226 | + headers: { | |
| 227 | + 'Content-type': 'multipart/form-data' | |
| 228 | + } | |
| 229 | + }) | |
| 230 | +} | |
| 231 | + | |
| 232 | +// 效果评估 | |
| 233 | +export function effectEvaluation(data) { | |
| 234 | + return request({ | |
| 235 | + url: `/cereEventDetails/effectEvaluation/${data.id}`, | |
| 236 | + method: 'get', | |
| 237 | + data | |
| 238 | + }) | |
| 239 | +} | ... | ... |
yanshouban/src/api/business.js
| ... | ... | @@ -145,3 +145,16 @@ export function wordDelete(data) { |
| 145 | 145 | data |
| 146 | 146 | }) |
| 147 | 147 | } |
| 148 | + | |
| 149 | + | |
| 150 | +// 导入商家 | |
| 151 | +export function excelAdd(data) { | |
| 152 | + return request({ | |
| 153 | + url: '/cereBasicInformationShop/excelAdd', | |
| 154 | + method: 'post', | |
| 155 | + data, | |
| 156 | + headers: { | |
| 157 | + 'Content-type': 'multipart/form-data' | |
| 158 | + } | |
| 159 | + }) | |
| 160 | +} | ... | ... |
yanshouban/src/api/inr.js
| ... | ... | @@ -28,3 +28,12 @@ export function tanDel(data) { |
| 28 | 28 | data |
| 29 | 29 | }) |
| 30 | 30 | } |
| 31 | +// 谈判列表导出 | |
| 32 | +export function excelQueryByPage(data) { | |
| 33 | + return request({ | |
| 34 | + url: '/cereNegotiationDetails/excelQueryByPage', | |
| 35 | + method: 'post', | |
| 36 | + data, | |
| 37 | + responseType: 'blob' | |
| 38 | + }) | |
| 39 | +} | ... | ... |
yanshouban/src/api/manage.js
| ... | ... | @@ -105,3 +105,16 @@ export function pdfLeaseRenewalManagement(data) { |
| 105 | 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 | 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 | 57 | {{scope.row.state == ''?'待提交':scope.row.state == '1'?'待审批':scope.row.state == '2'?'部门领导审批':scope.row.state == '3'?'公司领导审批':scope.row.state == '4'?'其他审批':scope.row.state == '5'?'审核通过':'已驳回'}} |
| 58 | 58 | </template> |
| 59 | 59 | </el-table-column> |
| 60 | - <el-table-column label="修改时间" prop="createDate" min-width="250" > | |
| 60 | + <el-table-column label="创建时间" prop="createDate" min-width="250" > | |
| 61 | 61 | </el-table-column> |
| 62 | 62 | <el-table-column prop="createUser" label="上传人员" min-width="80"> |
| 63 | 63 | ... | ... |
yanshouban/src/views/activity/index.vue
| ... | ... | @@ -22,14 +22,24 @@ |
| 22 | 22 | </div> |
| 23 | 23 | </div> |
| 24 | 24 | <div style="margin: 20px 0;"> |
| 25 | - <div> | |
| 25 | + <div style="display:flex;"> | |
| 26 | 26 | <el-button icon="el-icon-circle-plus-outline" @click="create" |
| 27 | 27 | style="background-color: #3F9B6A;color: #fff;padding:8px 15px;">新增</el-button> |
| 28 | 28 | <el-button style="background-color: #E24E5A;color: #fff;" icon="el-icon-delete" |
| 29 | 29 | @click="handleDelete" class="DelBtnHover">删除</el-button> |
| 30 | 30 | <el-button style="background-color: #3F9B6A;color: #fff;" @click="duibi">效果对比</el-button> |
| 31 | - <el-button style="background-color: #3F9B6A;color: #fff;" @click="daoru">导入</el-button> | |
| 31 | + <el-upload class="upload-demo" ref="upload" | |
| 32 | + :limit="1" | |
| 33 | + accept=".xlsx" | |
| 34 | + :action="uploadFileUrl" | |
| 35 | + :on-success="daoru" | |
| 36 | + :file-list="daoData" | |
| 37 | + :auto-upload="true" | |
| 38 | + :show-file-list="false"> | |
| 39 | + <el-button style="background-color: #fff;color: #3F9B6A;border: 1px solid #dcdfe6;margin:0 15px;" class="buttonHover" >导入</el-button> | |
| 40 | + </el-upload> | |
| 32 | 41 | <el-button style="background-color: #3F9B6A;color: #fff;" @click="caogao">草稿箱</el-button> |
| 42 | + <el-button style="background-color: #3F9B6A;color: #fff;" @click="daochu">审核流程导出</el-button> | |
| 33 | 43 | <!-- <el-button style="background-color: #fff;color: #000;border: 1px solid #B1B1B1;" |
| 34 | 44 | icon="el-icon-folder-add" class="buttonHover" @click="xinFenlei">活动分类管理</el-button> --> |
| 35 | 45 | </div> |
| ... | ... | @@ -54,7 +64,7 @@ |
| 54 | 64 | <div class="custom-tree-node" slot-scope="{ node, data }"> |
| 55 | 65 | <span>{{ node.label }}</span> |
| 56 | 66 | <span style="font-size: 15px !important;"> |
| 57 | - <!-- <i class="el-icon-circle-plus" @click="xinFenlei(node,data)" style="padding-right: 5px;"></i> --> | |
| 67 | + <i class="el-icon-circle-plus" @click="xinFenlei(node,data)" style="padding-right: 5px;"></i> | |
| 58 | 68 | <i class="el-icon-delete-solid" @click="() => fenDelete(node, data)"></i> |
| 59 | 69 | </span> |
| 60 | 70 | </div> |
| ... | ... | @@ -84,7 +94,7 @@ |
| 84 | 94 | {{scope.row.state == ''?'待提交':scope.row.state == '1'?'待审批':scope.row.state == '2'?'部门领导审批':scope.row.state == '3'?'公司领导审批':scope.row.state == '4'?'其他审批':scope.row.state == '5'?'审核通过':'已驳回'}} |
| 85 | 95 | </template> |
| 86 | 96 | </el-table-column> |
| 87 | - <el-table-column label="修改时间" prop="createDate"width="250" > | |
| 97 | + <el-table-column label="创建时间" prop="createDate"width="250" > | |
| 88 | 98 | </el-table-column> |
| 89 | 99 | <el-table-column prop="createUser" label="上传人员" width="80"> |
| 90 | 100 | |
| ... | ... | @@ -95,7 +105,7 @@ |
| 95 | 105 | <!-- <div class="tableBtn greens">发布</div> --> |
| 96 | 106 | <div class="tableBtn greens" @click="handleEditForm(scope.row)">执行情况</div> |
| 97 | 107 | <div @click="OAshen(scope.row)" class="tableBtn greens" v-if="scope.row.state == ''">上传到OA</div> |
| 98 | - <div class="tableBtn greens" @click="xiaoguo(scope.row)">效果评估</div> | |
| 108 | + <div class="tableBtn greens" @click="xiaoguo(scope.row)" v-if="scope.row.state == '5'" >效果评估</div> | |
| 99 | 109 | <!-- <div class="tableBtn greens">策略调整</div> --> |
| 100 | 110 | <div class="tableBtn greens" @click="koop(scope.row)">复制</div> |
| 101 | 111 | </template> |
| ... | ... | @@ -124,7 +134,7 @@ |
| 124 | 134 | <!-- 详情活动方案 --> |
| 125 | 135 | <el-dialog title="活动方案详情" :visible.sync="ggXin" custom-class='xiang_css' style="padding: 0;" width="80%" center |
| 126 | 136 | :close-on-click-modal="false" :close-on-press-escape="false" @close="refreshData"> |
| 127 | - <div> | |
| 137 | + <div ref="actXiang"> | |
| 128 | 138 | <div style="width: 100%;"> |
| 129 | 139 | <div style="display: flex;padding:0px 20px 20px 20px; "> |
| 130 | 140 | <div style="width: 150px;height: 80px;" v-if="secondData.coverPoster"> |
| ... | ... | @@ -277,77 +287,6 @@ |
| 277 | 287 | </div> |
| 278 | 288 | </div> |
| 279 | 289 | </div> |
| 280 | - <!-- <div style="width: 28%;"> | |
| 281 | - <div style="padding: 10px;height: 500px;"> | |
| 282 | - <div style="font-size: 14px;font-weight: 600;padding: 10px;">流程轨迹</div> | |
| 283 | - <el-steps style="height: 400px;padding: 10px;" direction="vertical" finish-status="process " | |
| 284 | - :active="0"> | |
| 285 | - <el-step> | |
| 286 | - <template slot="title"> | |
| 287 | - <div style="font-size: 14px;font-weight: 600;padding-bottom: 10px;">审核节点</div> | |
| 288 | - </template> | |
| 289 | - <template slot="description"> | |
| 290 | - <div class="custom-step-description"> | |
| 291 | - <div> | |
| 292 | - 当前处理人:王伟明 | |
| 293 | - </div> | |
| 294 | - </div> | |
| 295 | - </template> | |
| 296 | - </el-step> | |
| 297 | - <el-step style="position: relative;"> | |
| 298 | - <template slot="title"> | |
| 299 | - <div style="font-size: 14px;font-weight: 600;padding-bottom: 10px;">品牌部门审批</div> | |
| 300 | - </template> | |
| 301 | - <template slot="description"> | |
| 302 | - <div class="custom-step-description"> | |
| 303 | - <div> | |
| 304 | - 操作:通过 | |
| 305 | - <span style="position: absolute;top: 0px;right: 0px;">2023-11-02 11:26:48</span> | |
| 306 | - </div> | |
| 307 | - <div> | |
| 308 | - 操作人:王伟明 | |
| 309 | - </div> | |
| 310 | - </div> | |
| 311 | - </template> | |
| 312 | - </el-step> | |
| 313 | - <el-step style="position: relative;"> | |
| 314 | - <template slot="title"> | |
| 315 | - <div style="font-size: 14px;font-weight: 600;padding-bottom: 10px;">业务部门经理审核</div> | |
| 316 | - </template> | |
| 317 | - <template slot="description"> | |
| 318 | - <div class="custom-step-description"> | |
| 319 | - <div> | |
| 320 | - 操作:通过 | |
| 321 | - <span style="position: absolute;top: 0px;right: 0px;">2023-11-02 11:26:48</span> | |
| 322 | - </div> | |
| 323 | - <div> | |
| 324 | - 操作人:王伟明 | |
| 325 | - </div> | |
| 326 | - </div> | |
| 327 | - </template> | |
| 328 | - </el-step> | |
| 329 | - <el-step style="position: relative;"> | |
| 330 | - <template slot="title"> | |
| 331 | - <div style="font-size: 14px;font-weight: 600;padding-bottom: 10px;">开始</div> | |
| 332 | - </template> | |
| 333 | - <template slot="description"> | |
| 334 | - <div class="custom-step-description"> | |
| 335 | - <div> | |
| 336 | - 操作:通过 | |
| 337 | - <span style="position: absolute;top: 0px;right: 0px;">2023-11-02 11:26:48</span> | |
| 338 | - </div> | |
| 339 | - <div> | |
| 340 | - 操作人:王伟明 | |
| 341 | - </div> | |
| 342 | - <div> | |
| 343 | - 补充说明:发起流程事项审批 | |
| 344 | - </div> | |
| 345 | - </div> | |
| 346 | - </template> | |
| 347 | - </el-step> | |
| 348 | - </el-steps> | |
| 349 | - </div> | |
| 350 | - </div> --> | |
| 351 | 290 | </div> |
| 352 | 291 | <div v-if="activeName=='second'"> |
| 353 | 292 | <div style="padding: 20px"> |
| ... | ... | @@ -572,6 +511,9 @@ |
| 572 | 511 | </div> |
| 573 | 512 | </div> |
| 574 | 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 | 517 | </el-dialog> |
| 576 | 518 | </div> |
| 577 | 519 | </div> |
| ... | ... | @@ -792,37 +734,37 @@ |
| 792 | 734 | <div style="display:flex;padding:10px 0;"> |
| 793 | 735 | <div style="margin-right:40px;width:17%"> |
| 794 | 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 | 739 | <div style="height:5px;background-color:#FEC03D;"></div> |
| 798 | 740 | </div> |
| 799 | 741 | <div style="margin-right:40px;width:17%"> |
| 800 | 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 | 745 | <div style="height:5px;background-color:#58A3F7;"></div> |
| 804 | 746 | </div> |
| 805 | 747 | <div style="margin-right:40px;width:17%"> |
| 806 | 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 | 751 | <div style="height:5px;background-color:#4BCED0;"></div> |
| 810 | 752 | </div> |
| 811 | 753 | <div style="margin-right:40px;width:17%"> |
| 812 | 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 | 757 | <div style="height:5px;background-color:#3F9B6A;"></div> |
| 816 | 758 | </div> |
| 817 | 759 | <div style="margin-right:40px;width:17%"> |
| 818 | 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 | 763 | <div style="height:5px;background-color:#8167F5;"></div> |
| 822 | 764 | </div> |
| 823 | 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 | 768 | <div style="margin-right:40px;width:17%"> |
| 827 | 769 | <div style="color:#BBBBBB;font-size:10px;">吸引游客流量</div> |
| 828 | 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 | 791 | </div> |
| 850 | 792 | <div style="margin-right:40px;width:17%"> |
| 851 | 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 | 796 | <div style="height:5px;background-color:#8167F5;"></div> |
| 855 | 797 | </div> |
| 856 | - </div> | |
| 798 | + </div> --> | |
| 857 | 799 | </div> |
| 858 | 800 | <div style="padding:0 20px;margin-top:20px;"> |
| 859 | 801 | <div style="border:1px solid #EFEFEF;padding:20px 15px"> |
| ... | ... | @@ -1148,12 +1090,17 @@ |
| 1148 | 1090 | cereAdd, |
| 1149 | 1091 | cereEdit, |
| 1150 | 1092 | cereDel, |
| 1151 | - copy | |
| 1093 | + copy, | |
| 1094 | + excelQueryByPage, | |
| 1095 | + excelAdd, | |
| 1096 | + effectEvaluation | |
| 1152 | 1097 | } from '../../api/activityBz' |
| 1153 | 1098 | import addAct from "./activityBz" |
| 1154 | 1099 | import actbians from "./activityBian" |
| 1155 | 1100 | import * as echarts from 'echarts' |
| 1156 | 1101 | import Vue from 'vue' |
| 1102 | + import html2canvas from 'html2canvas' | |
| 1103 | + import jsPDF from 'jspdf' | |
| 1157 | 1104 | import { |
| 1158 | 1105 | uploadUrl |
| 1159 | 1106 | } from '@/utils/request' |
| ... | ... | @@ -1165,6 +1112,8 @@ |
| 1165 | 1112 | data() { |
| 1166 | 1113 | return { |
| 1167 | 1114 | uploadFileUrl: uploadUrl, // 请求地址 |
| 1115 | + daoData:[], | |
| 1116 | + fenxiData:{}, | |
| 1168 | 1117 | fileData:[], |
| 1169 | 1118 | addAct: false, //新增页 |
| 1170 | 1119 | actbianMsg: { |
| ... | ... | @@ -1899,6 +1848,9 @@ |
| 1899 | 1848 | |
| 1900 | 1849 | }, |
| 1901 | 1850 | xiaoguo(item) { |
| 1851 | + effectEvaluation({id:item.id}).then(res=>{ | |
| 1852 | + this.fenxiData = res.data | |
| 1853 | + }) | |
| 1902 | 1854 | this.xiaoguoBox = true |
| 1903 | 1855 | this.$nextTick(() => { |
| 1904 | 1856 | this.shopLiu(this.$refs.shopL); |
| ... | ... | @@ -2137,9 +2089,14 @@ |
| 2137 | 2089 | handleRemove(){ |
| 2138 | 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 | 2100 | caogao(){ |
| 2144 | 2101 | |
| 2145 | 2102 | |
| ... | ... | @@ -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 | 2198 | </script> | ... | ... |
yanshouban/src/views/ads/fangli/index.vue
| ... | ... | @@ -38,17 +38,22 @@ |
| 38 | 38 | </div> |
| 39 | 39 | |
| 40 | 40 | </div> |
| 41 | - <div style="margin-bottom:20px;"> | |
| 41 | + <div style="margin-bottom: 20px;display:flex;"> | |
| 42 | 42 | <el-button |
| 43 | - style="background-color: #3F9B6A;color: #fff;padding:8px 15px;" icon="el-icon-circle-plus-outline" | |
| 43 | + style="background-color: #3F9B6A;color: #fff;padding:8px 15px;margin-right:15px;" icon="el-icon-circle-plus-outline" | |
| 44 | 44 | @click="addbuss" |
| 45 | 45 | >新增</el-button |
| 46 | 46 | > |
| 47 | - <!-- <el-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 | 55 | <el-button style="background-color: #fff;color: #3F9B6A;border: 1px solid #dcdfe6;" class="buttonHover">导入</el-button> |
| 51 | - </el-upload> --> | |
| 56 | + </el-upload> | |
| 52 | 57 | <!-- <el-button |
| 53 | 58 | style="background-color: #3F9B6A;color: #fff;padding:8px 15px;" |
| 54 | 59 | @click="daoru" |
| ... | ... | @@ -555,12 +560,14 @@ export default { |
| 555 | 560 | this.peiShow = true |
| 556 | 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 | 573 | </script> | ... | ... |
yanshouban/src/views/advertisement/index.vue
| ... | ... | @@ -99,6 +99,9 @@ |
| 99 | 99 | <div @click="xiajia(scope.row)" class="tableBtn greens" v-if="leixing ==1 && scope.row.auditStatus =='4'">下架</div> --> |
| 100 | 100 | <div @click="toufang(scope.row)" class="tableBtn greens" v-if="leixing == 1 && scope.row.auditStatus =='2'">投放</div> |
| 101 | 101 | <div @click="xiajia(scope.row)" class="tableBtn greens" v-if="leixing ==1 && scope.row.auditStatus =='4'">下架</div> |
| 102 | + <div class="tableBtn greens" v-if="scope.row.auditStatus =='1'" @click="peizhi(scope.row)"> | |
| 103 | + 审核流程配置 | |
| 104 | + </div> | |
| 102 | 105 | <div @click="gengGai(scope.row)" class="tableBtn greens" v-if="leixing == 1&& scope.row.auditStatus !='5'">更改状态</div> |
| 103 | 106 | <div @click="handleDelete(scope.row)" class="tableBtn greens" v-if="scope.row.auditStatus =='1'">删除</div> |
| 104 | 107 | <!-- <div @click="handleDelete(scope.row)" class="tableBtn greens" >删除</div> --> |
| ... | ... | @@ -753,8 +756,30 @@ |
| 753 | 756 | </div> |
| 754 | 757 | </el-dialog> |
| 755 | 758 | </div> |
| 759 | +<el-dialog :visible.sync="peiShow" custom-class='bian_css' style="padding: 0;" width="45%" | |
| 760 | + :close-on-press-escape="false" center :close-on-click-modal="false" class="dialog_css_Xq" :show-close="false"> | |
| 761 | + <div style="padding:20px;"> | |
| 762 | + <div style="font-size: 14px;padding-bottom: 20px;color: #000;">审核流程配置</div> | |
| 763 | + <el-form label-position="right" ref="jibenFrom" :model="peiForm" label-width="140px" | |
| 764 | + style="position: relative"> | |
| 765 | + <el-form-item label="审核提醒时间" class="grid-content bg-purple device-from" prop="planName"> | |
| 766 | + <el-date-picker style="width:240px;margin-right:5px" v-model="peiForm.auditTime" | |
| 767 | + value-format="yyyy-MM-dd HH:mm:ss" type="datetime" prefix-icon="none" > | |
| 768 | + </el-date-picker> | |
| 769 | + </el-form-item> | |
| 770 | + </el-form> | |
| 771 | + <div style="padding-top:20px;display:flex;justify-content: flex-end;"> | |
| 772 | + <el-button style="background-color: #3F9B6A;color: #fff" | |
| 773 | + @click="peiCheck">确定</el-button> | |
| 774 | + <el-button @click="peiShow = false" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" class="buttonHover">取消</el-button> | |
| 775 | + | |
| 776 | + </div> | |
| 777 | + | |
| 778 | + </div> | |
| 756 | 779 | |
| 780 | + </el-dialog> | |
| 757 | 781 | </div> |
| 782 | + | |
| 758 | 783 | </div> |
| 759 | 784 | |
| 760 | 785 | </div> |
| ... | ... | @@ -864,7 +889,12 @@ |
| 864 | 889 | xsNum:0, |
| 865 | 890 | stNum:0, |
| 866 | 891 | hetongList:{}, |
| 867 | - auditStatusNum:'' | |
| 892 | + auditStatusNum:'', | |
| 893 | + peiForm:{ | |
| 894 | + auditTime:'' | |
| 895 | + }, | |
| 896 | + peiShow:false, | |
| 897 | + peiId:'' | |
| 868 | 898 | } |
| 869 | 899 | }, |
| 870 | 900 | created() { |
| ... | ... | @@ -1163,7 +1193,25 @@ |
| 1163 | 1193 | await updateList({id:this.secondData.id,auditStatus:'5'}) |
| 1164 | 1194 | this.steatShow = false |
| 1165 | 1195 | this.getAll() |
| 1196 | + }, | |
| 1197 | + async peiCheck(){ | |
| 1198 | + if(this.peiForm.auditTime ==''){ | |
| 1199 | + this.$message({ | |
| 1200 | + message: '请填写审核提醒时间', | |
| 1201 | + }) | |
| 1202 | + return; | |
| 1166 | 1203 | } |
| 1204 | + await fangEdit({id:this.peiId,auditTime:this.peiForm.auditTime}) | |
| 1205 | + this.peiShow = false | |
| 1206 | + this.getAll() | |
| 1207 | + }, | |
| 1208 | + peizhi(item){ | |
| 1209 | + this.peiForm = { | |
| 1210 | + auditTime:'' | |
| 1211 | + } | |
| 1212 | + this.peiShow = true | |
| 1213 | + this.peiId = item.id | |
| 1214 | + }, | |
| 1167 | 1215 | } |
| 1168 | 1216 | } |
| 1169 | 1217 | </script> | ... | ... |
yanshouban/src/views/atmosphere/atmosphereGl.vue
| ... | ... | @@ -22,13 +22,23 @@ |
| 22 | 22 | </div> |
| 23 | 23 | </div> |
| 24 | 24 | <div style="margin:20px 0;"> |
| 25 | - <div> | |
| 25 | + <div style="display:flex;"> | |
| 26 | 26 | <el-button icon="el-icon-circle-plus-outline" @click="create" |
| 27 | 27 | style="background-color: #3F9B6A;color: #fff;">新增</el-button> |
| 28 | 28 | <el-button style="background-color: #E24E5A;color: #fff;" icon="el-icon-delete" @click="handleDelete" class="DelBtnHover">删除</el-button> |
| 29 | 29 | <el-button style="background-color: #3F9B6A;color: #fff;" @click="duibi">效果对比</el-button> |
| 30 | - <el-button style="background-color: #3F9B6A;color: #fff;" @click="daoru">导入</el-button> | |
| 30 | + <el-upload class="upload-demo" ref="upload" | |
| 31 | + :limit="1" | |
| 32 | + accept=".xlsx" | |
| 33 | + :action="uploadFileUrl" | |
| 34 | + :on-success="daoru" | |
| 35 | + :file-list="daoData" | |
| 36 | + :auto-upload="true" | |
| 37 | + :show-file-list="false"> | |
| 38 | + <el-button style="background-color: #fff;color: #3F9B6A;border: 1px solid #dcdfe6;margin:0 15px;" class="buttonHover">导入</el-button> | |
| 39 | + </el-upload> | |
| 31 | 40 | <el-button style="background-color: #3F9B6A;color: #fff;" @click="caogao">草稿箱</el-button> |
| 41 | + <el-button style="background-color: #3F9B6A;color: #fff;" @click="daochu">审核流程导出</el-button> | |
| 32 | 42 | <!-- <el-button style="background-color: #fff;color: #000;border: 1px solid #B1B1B1;" |
| 33 | 43 | icon="el-icon-folder-add" class="buttonHover" @click="xinFenlei">氛围分类管理</el-button> --> |
| 34 | 44 | </div> |
| ... | ... | @@ -82,7 +92,7 @@ |
| 82 | 92 | {{scope.row.state == ''?'待提交':scope.row.state == '1'?'待审批':scope.row.state == '2'?'部门领导审批':scope.row.state == '3'?'公司领导审批':scope.row.state == '4'?'其他审批':scope.row.state == '5'?'审核通过':'已驳回'}} |
| 83 | 93 | </template> |
| 84 | 94 | </el-table-column> |
| 85 | - <el-table-column label="修改时间" prop="createDate"width="250" > | |
| 95 | + <el-table-column label="创建时间" prop="createDate"width="250" > | |
| 86 | 96 | </el-table-column> |
| 87 | 97 | <el-table-column prop="createUser" label="上传人员" width="80"> |
| 88 | 98 | |
| ... | ... | @@ -93,7 +103,7 @@ |
| 93 | 103 | <!-- <div class="tableBtn greens">发布</div> --> |
| 94 | 104 | <div class="tableBtn greens" @click="handleEditForm(scope.row)">执行情况</div> |
| 95 | 105 | <div @click="OAshen(scope.row)" class="tableBtn greens" v-if="scope.row.state == ''">上传到OA</div> |
| 96 | - <div class="tableBtn greens" @click="xiaoguo(scope.row)">效果评估</div> | |
| 106 | + <div class="tableBtn greens" @click="xiaoguo(scope.row)" v-if="scope.row.state == '5'" >效果评估</div> | |
| 97 | 107 | <!-- <div class="tableBtn greens">策略调整</div> --> |
| 98 | 108 | <div class="tableBtn greens" @click="koop(scope.row)">复制</div> |
| 99 | 109 | </template> |
| ... | ... | @@ -123,7 +133,7 @@ |
| 123 | 133 | <!-- 详情活动方案 --> |
| 124 | 134 | <el-dialog title="氛围方案详情" :visible.sync="ggXin" custom-class='xiang_css' style="padding: 0;" width="80%" |
| 125 | 135 | center :close-on-click-modal="false" :close-on-press-escape="false" @close="refreshData"> |
| 126 | - <div> | |
| 136 | + <div ref="actXiang"> | |
| 127 | 137 | <div style="width: 100%;"> |
| 128 | 138 | <div style="display: flex;padding:0px 20px 20px 20px; "> |
| 129 | 139 | <div style="width: 150px;height: 80px;" v-if="secondData.coverPoster"> |
| ... | ... | @@ -562,9 +572,11 @@ |
| 562 | 572 | <el-button plain @click="bianji" style="background-color: #3F9B6A;color: #fff" v-if="zhixingBian">保存 |
| 563 | 573 | </el-button> |
| 564 | 574 | </div> |
| 565 | - | |
| 566 | 575 | </div> |
| 567 | 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 | 580 | </el-dialog> |
| 569 | 581 | </div> |
| 570 | 582 | </div> |
| ... | ... | @@ -613,37 +625,37 @@ |
| 613 | 625 | <div style="display:flex;padding:10px 0;"> |
| 614 | 626 | <div style="margin-right:40px;width:17%"> |
| 615 | 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 | 630 | <div style="height:5px;background-color:#FEC03D;"></div> |
| 619 | 631 | </div> |
| 620 | 632 | <div style="margin-right:40px;width:17%"> |
| 621 | 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 | 636 | <div style="height:5px;background-color:#58A3F7;"></div> |
| 625 | 637 | </div> |
| 626 | 638 | <div style="margin-right:40px;width:17%"> |
| 627 | 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 | 642 | <div style="height:5px;background-color:#4BCED0;"></div> |
| 631 | 643 | </div> |
| 632 | 644 | <div style="margin-right:40px;width:17%"> |
| 633 | 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 | 648 | <div style="height:5px;background-color:#3F9B6A;"></div> |
| 637 | 649 | </div> |
| 638 | 650 | <div style="margin-right:40px;width:17%"> |
| 639 | 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 | 654 | <div style="height:5px;background-color:#8167F5;"></div> |
| 643 | 655 | </div> |
| 644 | 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 | 659 | <div style="margin-right:40px;width:17%"> |
| 648 | 660 | <div style="color:#BBBBBB;font-size:10px;">吸引游客流量</div> |
| 649 | 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 | 686 | <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">+45%</div> |
| 675 | 687 | <div style="height:5px;background-color:#8167F5;"></div> |
| 676 | 688 | </div> |
| 677 | - </div> | |
| 689 | + </div> --> | |
| 678 | 690 | </div> |
| 679 | 691 | <div style="padding:0 20px;margin-top:20px;"> |
| 680 | 692 | <div style="border:1px solid #EFEFEF;padding:20px 15px"> |
| ... | ... | @@ -1143,12 +1155,17 @@ |
| 1143 | 1155 | cereGet, |
| 1144 | 1156 | cereAdd, |
| 1145 | 1157 | cereEdit, |
| 1146 | - cereDel | |
| 1158 | + cereDel, | |
| 1159 | + excelQueryByPage, | |
| 1160 | + excelAdd, | |
| 1161 | + effectEvaluation | |
| 1147 | 1162 | } from '../../api/activityBz' |
| 1148 | 1163 | import addAct from "./atmosphereBz" |
| 1149 | 1164 | import atmbians from "./atmosphereBian" |
| 1150 | 1165 | import * as echarts from 'echarts' |
| 1151 | 1166 | import Vue from 'vue' |
| 1167 | + import html2canvas from 'html2canvas' | |
| 1168 | + import jsPDF from 'jspdf' | |
| 1152 | 1169 | import { |
| 1153 | 1170 | uploadUrl |
| 1154 | 1171 | } from '@/utils/request' |
| ... | ... | @@ -1162,6 +1179,7 @@ components: { addAct,atmbians}, |
| 1162 | 1179 | acBian:'',//编辑数据 |
| 1163 | 1180 | bianshow:false,//编辑页 |
| 1164 | 1181 | }, |
| 1182 | + fenxiData:{}, | |
| 1165 | 1183 | planName:'', |
| 1166 | 1184 | planFen:'', |
| 1167 | 1185 | eventTheme:'', |
| ... | ... | @@ -1346,6 +1364,7 @@ components: { addAct,atmbians}, |
| 1346 | 1364 | duibiOne:{}, |
| 1347 | 1365 | duibiTwo:{}, |
| 1348 | 1366 | uploadFileUrl: uploadUrl, // 请求地址 |
| 1367 | + daoData:[], | |
| 1349 | 1368 | fileData:[], |
| 1350 | 1369 | caoList:[], |
| 1351 | 1370 | caogaoshow:false |
| ... | ... | @@ -1472,13 +1491,13 @@ components: { addAct,atmbians}, |
| 1472 | 1491 | //查询 |
| 1473 | 1492 | async onSubmit(){ |
| 1474 | 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 | 1495 | this.tableData = res.data.content |
| 1477 | 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 | 1498 | this.tableData = res.data.content |
| 1480 | 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 | 1501 | this.tableData = res.data.content |
| 1483 | 1502 | } |
| 1484 | 1503 | |
| ... | ... | @@ -1817,6 +1836,9 @@ that.expectedAttractTraffic=res.data.content[0].expectedAttractTraffic |
| 1817 | 1836 | } |
| 1818 | 1837 | }, |
| 1819 | 1838 | xiaoguo(item) { |
| 1839 | + effectEvaluation({id:item.id}).then(res=>{ | |
| 1840 | + this.fenxiData = res.data | |
| 1841 | + }) | |
| 1820 | 1842 | this.xiaoguoBox = true |
| 1821 | 1843 | this.$nextTick(() => { |
| 1822 | 1844 | this.shopLiu(this.$refs.shopL); |
| ... | ... | @@ -2095,9 +2117,14 @@ that.expectedAttractTraffic=res.data.content[0].expectedAttractTraffic |
| 2095 | 2117 | handleRemove(){ |
| 2096 | 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 | 2128 | caogao(){ |
| 2102 | 2129 | let pageindex = { |
| 2103 | 2130 | pageNumber: 1, |
| ... | ... | @@ -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 | 2225 | </script> | ... | ... |
yanshouban/src/views/atmosphere/atmosphereSp.vue
| ... | ... | @@ -59,7 +59,7 @@ |
| 59 | 59 | {{scope.row.state == ''?'待提交':scope.row.state == '1'?'待审批':scope.row.state == '2'?'部门领导审批':scope.row.state == '3'?'公司领导审批':scope.row.state == '4'?'其他审批':scope.row.state == '5'?'审核通过':'已驳回'}} |
| 60 | 60 | </template> |
| 61 | 61 | </el-table-column> |
| 62 | - <el-table-column label="修改时间" prop="createDate" min-width="250" > | |
| 62 | + <el-table-column label="创建时间" prop="createDate" min-width="250" > | |
| 63 | 63 | </el-table-column> |
| 64 | 64 | <el-table-column prop="createUser" label="上传人员" min-width="80"> |
| 65 | 65 | ... | ... |
yanshouban/src/views/business/businessList/index.vue
| ... | ... | @@ -64,14 +64,23 @@ |
| 64 | 64 | </el-button> |
| 65 | 65 | </div> |
| 66 | 66 | </div> |
| 67 | - <div style="margin-bottom:20px;"> | |
| 67 | + <div style="margin-bottom: 20px;display:flex;"> | |
| 68 | 68 | <el-button |
| 69 | 69 | @click="addbuss" |
| 70 | 70 | icon="el-icon-circle-plus-outline" |
| 71 | - style="background-color: #3F9B6A;color: #fff;" | |
| 71 | + style="background-color: #3F9B6A;color: #fff;margin-right:15px;" | |
| 72 | 72 | >新增 |
| 73 | 73 | </el-button> |
| 74 | - | |
| 74 | + <el-upload class="upload-demo" ref="upload" | |
| 75 | + :limit="1" | |
| 76 | + accept=".xlsx" | |
| 77 | + :action="action" | |
| 78 | + :on-success="daoru" | |
| 79 | + :file-list="fileData" | |
| 80 | + :auto-upload="true" | |
| 81 | + :show-file-list="false"> | |
| 82 | + <el-button style="background-color: #fff;color: #3F9B6A;border: 1px solid #dcdfe6;" class="buttonHover">导入</el-button> | |
| 83 | + </el-upload> | |
| 75 | 84 | </div> |
| 76 | 85 | <!-- 表格 --> |
| 77 | 86 | <div class="tableBox"> |
| ... | ... | @@ -659,7 +668,8 @@ import { |
| 659 | 668 | businessListGetById, |
| 660 | 669 | businessListUpdate, |
| 661 | 670 | businessListStart, |
| 662 | - delBusinessById | |
| 671 | + delBusinessById, | |
| 672 | + excelAdd | |
| 663 | 673 | } from '@/api/business' |
| 664 | 674 | import upimg from "@/components/ImageUpload/index"; |
| 665 | 675 | import { |
| ... | ... | @@ -668,11 +678,14 @@ import upimg from "@/components/ImageUpload/index"; |
| 668 | 678 | import { |
| 669 | 679 | getAlls as map1 |
| 670 | 680 | } from '@/api/map1' |
| 681 | + import { uploadUrl,token } from '@/utils/request' | |
| 671 | 682 | export default { |
| 672 | 683 | components: {upimg}, |
| 673 | 684 | data () { |
| 674 | 685 | // 这里存放数据 |
| 675 | 686 | return { |
| 687 | + action:uploadUrl, | |
| 688 | + fileData:[], | |
| 676 | 689 | // 新建商家弹框 |
| 677 | 690 | dialogVisible: false, |
| 678 | 691 | activeName: 0, |
| ... | ... | @@ -931,6 +944,15 @@ export default { |
| 931 | 944 | } |
| 932 | 945 | |
| 933 | 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 | 956 | businessListSave(this.ruleForm).then(res => { |
| 935 | 957 | |
| 936 | 958 | if (res.code === '') { |
| ... | ... | @@ -1055,11 +1077,11 @@ export default { |
| 1055 | 1077 | // 初始化查询所有数据 |
| 1056 | 1078 | async getAll(formInline) { |
| 1057 | 1079 | const res = await businessListGetAll(formInline) |
| 1080 | + | |
| 1058 | 1081 | this.total = res.data.total |
| 1059 | 1082 | this.tableData = res.data.list |
| 1060 | 1083 | |
| 1061 | 1084 | this.tableData.map(item=>{ |
| 1062 | - | |
| 1063 | 1085 | item.shopPhone = this.$decrypt(item.shopPhone) |
| 1064 | 1086 | item.shopPassword = this.$decrypt(item.shopPassword) |
| 1065 | 1087 | item.idCardNum = this.$decrypt(item.idCardNum) |
| ... | ... | @@ -1067,7 +1089,6 @@ export default { |
| 1067 | 1089 | item.shopAdress = this.$decrypt(item.shopAdress) |
| 1068 | 1090 | item.legalRepresentative = this.$decrypt(item.legalRepresentative) |
| 1069 | 1091 | item.chargePersonPhone = this.$decrypt(item.chargePersonPhone) |
| 1070 | - | |
| 1071 | 1092 | }) |
| 1072 | 1093 | |
| 1073 | 1094 | }, |
| ... | ... | @@ -1125,6 +1146,14 @@ export default { |
| 1125 | 1146 | MingDelete(index){ |
| 1126 | 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 | 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 | 51 | </el-button> |
| 52 | 52 | </div> |
| 53 | 53 | </div> |
| 54 | - <div style="margin-bottom:20px;"><el-button @click="addbuss" | |
| 54 | + <div style="margin-bottom: 20px;display:flex;"> | |
| 55 | + <el-button @click="addbuss" | |
| 55 | 56 | style="background-color: #3F9B6A;color: #fff;padding:8px 15px;" |
| 56 | 57 | icon="el-icon-circle-plus-outline">新增</el-button> |
| 57 | - <!-- <el-button | |
| 58 | - style="background-color: #3F9B6A;color: #fff;padding:8px 15px;" | |
| 59 | - @click="daoru" | |
| 60 | - >导入</el-button | |
| 61 | - > --> | |
| 58 | + <el-upload class="upload-demo" ref="upload" | |
| 59 | + :limit="1" | |
| 60 | + accept=".xlsx" | |
| 61 | + :action="uploadFileUrl" | |
| 62 | + :on-success="daoru" | |
| 63 | + :file-list="daoData" | |
| 64 | + :auto-upload="true" | |
| 65 | + :show-file-list="false"> | |
| 66 | + <el-button style="background-color: #fff;color: #3F9B6A;border: 1px solid #dcdfe6;" class="buttonHover">导入</el-button> | |
| 67 | + </el-upload> | |
| 62 | 68 | </div> |
| 63 | 69 | <!-- 地图 --> |
| 64 | 70 | <div style="display: flex;justify-content: space-between;margin-bottom: 20px;"> |
| ... | ... | @@ -136,6 +142,10 @@ |
| 136 | 142 | </el-table-column> |
| 137 | 143 | <el-table-column prop="detailedLocation" label="详细地址" min-width="300"> |
| 138 | 144 | </el-table-column> |
| 145 | + <el-table-column label="商户名称" prop="actualUsableArea" min-width="150"> | |
| 146 | + </el-table-column> | |
| 147 | + <el-table-column label="商户电话" prop="belongingDepartment" min-width="150"> | |
| 148 | + </el-table-column> | |
| 139 | 149 | <el-table-column label="实际使用面积" prop="actualUsableArea" min-width="150"> |
| 140 | 150 | </el-table-column> |
| 141 | 151 | <el-table-column label="归属部门" prop="belongingDepartment" min-width="150"> |
| ... | ... | @@ -1511,6 +1521,7 @@ |
| 1511 | 1521 | changadd, |
| 1512 | 1522 | changedit, |
| 1513 | 1523 | changDel, |
| 1524 | + | |
| 1514 | 1525 | } from '../../api/information' |
| 1515 | 1526 | import { |
| 1516 | 1527 | getAlls as getAllMap, |
| ... | ... | @@ -1765,6 +1776,7 @@ |
| 1765 | 1776 | mapData: {}, |
| 1766 | 1777 | fileData:[], |
| 1767 | 1778 | uploadFileUrl: uploadUrl, // 请求地址 |
| 1779 | +daoData:[] | |
| 1768 | 1780 | } |
| 1769 | 1781 | |
| 1770 | 1782 | |
| ... | ... | @@ -2266,6 +2278,14 @@ uploadFileUrl: uploadUrl, // 请求地址 |
| 2266 | 2278 | // 将文件地址存储在 uploadedFiles 数组中 |
| 2267 | 2279 | this.fileData.push(fileMsg); |
| 2268 | 2280 | }, |
| 2281 | + daoru(response, file, fileList){ | |
| 2282 | + this.daoData.push(file.raw) | |
| 2283 | + const formDate = new FormData() | |
| 2284 | + formDate.append('file', this.daoData[0]) | |
| 2285 | + excelAdd(formDate).then(res => { | |
| 2286 | + this.getAll() | |
| 2287 | + }) | |
| 2288 | + }, | |
| 2269 | 2289 | } |
| 2270 | 2290 | } |
| 2271 | 2291 | </script> | ... | ... |
yanshouban/src/views/detect/analyse.vue
| ... | ... | @@ -5,32 +5,26 @@ |
| 5 | 5 | <div style="color:#0006"> <span>招商资源监测</span> <span style="padding:0 5px;">></span> <span |
| 6 | 6 | style="color:#000000e6">统计分析</span></div> |
| 7 | 7 | </div> |
| 8 | + <div style="display:flex;justify-content: space-between"> | |
| 9 | + <div style="display:flex;"> | |
| 10 | + <!-- <div style="margin-right: 10px;line-height:35px;">商铺/广告位资源统计</div> --> | |
| 11 | + <el-date-picker v-model="FormTime" value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="开始日期" | |
| 12 | + end-placeholder="结束日期" style="width: 200px;margin-right: 10px;ma" prefix-icon="none"> | |
| 13 | + </el-date-picker> | |
| 14 | + <el-button @click="onSubmit" style="background-color: #3F9B6A;color: #fff">检索 | |
| 15 | + </el-button> | |
| 16 | + <el-button @click="resetting" class="buttonHover" | |
| 17 | + style="color: #000;border: 1px solid #DBDBDB;background-color: #fff;">重置 | |
| 18 | + </el-button> | |
| 19 | + </div> | |
| 20 | + <div> | |
| 21 | + <el-button @click="gitOut" style="background-color: #3F9B6A;color: #fff">导出 | |
| 22 | + </el-button> | |
| 23 | + </div> | |
| 24 | + </div> | |
| 25 | + <div ref="tubiao"> | |
| 8 | 26 | <div style="width: 100%;margin-bottom:30px;"> |
| 9 | - <div style="display:flex;justify-content: space-between"> | |
| 10 | - <div style="display:flex;"> | |
| 11 | - <div style="margin-right: 10px;line-height:35px;">商铺/广告位资源统计</div> | |
| 12 | - <!-- <el-select v-model="formSel.createDate" placeholder="所属区域" style="width: 150px;margin-right: 10px"> | |
| 13 | - <el-option label="1" value="1" /> | |
| 14 | - <el-option label="2" value="2" /> | |
| 15 | - </el-select> | |
| 16 | - <el-select v-model="formSel.createDate" placeholder="经营类型" style="width: 150px;margin-right: 10px"> | |
| 17 | - <el-option label="1" value="1" /> | |
| 18 | - <el-option label="2" value="2" /> | |
| 19 | - </el-select> --> | |
| 20 | - <el-date-picker v-model="FormTime" value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="开始日期" | |
| 21 | - end-placeholder="结束日期" style="width: 200px;margin-right: 10px;ma" prefix-icon="none"> | |
| 22 | - </el-date-picker> | |
| 23 | - <el-button @click="onSubmit" style="background-color: #3F9B6A;color: #fff">检索 | |
| 24 | - </el-button> | |
| 25 | - <el-button @click="resetting" class="buttonHover" | |
| 26 | - style="color: #000;border: 1px solid #DBDBDB;background-color: #fff;">重置 | |
| 27 | - </el-button> | |
| 28 | - </div> | |
| 29 | - <!-- <div> | |
| 30 | - <el-button @click="gitOut" style="background-color: #3F9B6A;color: #fff">导出 | |
| 31 | - </el-button> | |
| 32 | - </div> --> | |
| 33 | - </div> | |
| 27 | + | |
| 34 | 28 | <div style="display:flex;margin-top:10px;"> |
| 35 | 29 | <div style="width:48%;height: 400px;marigin-right:20px;"> |
| 36 | 30 | <div style="display: flex;justify-content: space-between;"> |
| ... | ... | @@ -264,6 +258,59 @@ |
| 264 | 258 | </div> |
| 265 | 259 | </div> |
| 266 | 260 | </div> --> |
| 261 | +<div style="width: 100%;margin-bottom:20px;"> | |
| 262 | + <div style="display:flex;justify-content: space-between"> | |
| 263 | + <div style="display:flex;"> | |
| 264 | + <div style="margin-right: 10px;line-height:35px;">合同情况统计</div> | |
| 265 | + <!-- <el-select v-model="formSel.createDate" placeholder="所属区域" style="width: 150px;margin-right: 10px"> | |
| 266 | + <el-option label="1" value="1" /> | |
| 267 | + <el-option label="2" value="2" /> | |
| 268 | + </el-select> | |
| 269 | + <el-select v-model="formSel.createDate" placeholder="经营类型" style="width: 150px;margin-right: 10px"> | |
| 270 | + <el-option label="1" value="1" /> | |
| 271 | + <el-option label="2" value="2" /> | |
| 272 | + </el-select> | |
| 273 | + <el-date-picker v-model="value1" type="datetimerange" range-separator="-" start-placeholder="开始日期" | |
| 274 | + end-placeholder="结束日期" style="width: 200px;margin-right: 10px;ma" prefix-icon="none"> | |
| 275 | + </el-date-picker> | |
| 276 | + <el-button @click="onSubmit" style="background-color: #3F9B6A;color: #fff">检索 | |
| 277 | + </el-button> | |
| 278 | + <el-button @click="resetting" class="buttonHover" | |
| 279 | + style="color: #000;border: 1px solid #DBDBDB;background-color: #fff;">重置 | |
| 280 | + </el-button> --> | |
| 281 | + </div> | |
| 282 | + <!-- <div> | |
| 283 | + <el-button @click="onSubmit" style="background-color: #3F9B6A;color: #fff">导出 | |
| 284 | + </el-button> | |
| 285 | + </div> --> | |
| 286 | + </div> | |
| 287 | + <div style="display:flex;margin-top:10px;"> | |
| 288 | + <div style="width:48%;height: 400px;marigin-right:20px;"> | |
| 289 | + <div style="display: flex;justify-content: space-between;"> | |
| 290 | + <div style="line-height:35px;">商铺/广告位整体经营统计</div> | |
| 291 | + <!-- <div> | |
| 292 | + <el-select v-model="formSel.createDate" placeholder="类型" style="width: 100px;margin-right: 10px"> | |
| 293 | + <el-option label="1" value="1" /> | |
| 294 | + <el-option label="2" value="2" /> | |
| 295 | + </el-select> | |
| 296 | + </div> --> | |
| 297 | + </div> | |
| 298 | + <div ref="shopJing" style="width:100%;height: 400px;"></div> | |
| 299 | + </div> | |
| 300 | + <div style="width:48%;height: 400px;marigin-right:20px;"> | |
| 301 | + <div style="display: flex;justify-content: space-between;"> | |
| 302 | + <div style="line-height:35px;">出租、退租、续租统计</div> | |
| 303 | + <!-- <div> | |
| 304 | + <el-select v-model="formSel.createDate" placeholder="类型" style="width: 100px;margin-right: 10px"> | |
| 305 | + <el-option label="1" value="1" /> | |
| 306 | + <el-option label="2" value="2" /> | |
| 307 | + </el-select> | |
| 308 | + </div> --> | |
| 309 | + </div> | |
| 310 | + <div ref="tuiTong" style="width:100%;height: 400px;"></div> | |
| 311 | + </div> | |
| 312 | + </div> | |
| 313 | + </div> | |
| 267 | 314 | |
| 268 | 315 | <div style="width: 100%;margin-bottom:20px;"> |
| 269 | 316 | <div style="display:flex;justify-content: space-between"> |
| ... | ... | @@ -306,7 +353,7 @@ |
| 306 | 353 | </div> |
| 307 | 354 | <div style="width:48%;height: 400px;marigin-right:20px;"> |
| 308 | 355 | <div style="display: flex;justify-content: space-between;"> |
| 309 | - <div style="line-height:35px;">签约数量占比</div> | |
| 356 | + <div style="line-height:35px;">合同签约数量占比</div> | |
| 310 | 357 | <!-- <div> |
| 311 | 358 | <el-select v-model="formSel.createDate" placeholder="类型" style="width: 100px;margin-right: 10px"> |
| 312 | 359 | <el-option label="1" value="1" /> |
| ... | ... | @@ -318,7 +365,20 @@ |
| 318 | 365 | </div> |
| 319 | 366 | </div> |
| 320 | 367 | </div> |
| 368 | + <div style="width: 100%;margin-bottom:20px;"> | |
| 369 | + <div style="display:flex;justify-content: space-between"> | |
| 370 | + </div> | |
| 371 | + <div style="display:flex;margin-top:10px;"> | |
| 372 | + <div style="width:48%;height: 400px;marigin-right:20px;"> | |
| 373 | + <div style="display: flex;justify-content: space-between;"> | |
| 374 | + <div style="line-height:35px;">合同信息统计分析</div> | |
| 375 | + </div> | |
| 376 | + <div ref="hetong" style="width:100%;height: 400px;"></div> | |
| 377 | + </div> | |
| 321 | 378 | |
| 379 | + </div> | |
| 380 | + </div> | |
| 381 | + </div> | |
| 322 | 382 | </div> |
| 323 | 383 | |
| 324 | 384 | </div> |
| ... | ... | @@ -329,6 +389,8 @@ |
| 329 | 389 | statistical, |
| 330 | 390 | } from '@/api/information' |
| 331 | 391 | import * as echarts from 'echarts' |
| 392 | + import html2canvas from 'html2canvas' | |
| 393 | + import jsPDF from 'jspdf' | |
| 332 | 394 | export default { |
| 333 | 395 | name: 'atmosphereGl', |
| 334 | 396 | data() { |
| ... | ... | @@ -341,8 +403,8 @@ |
| 341 | 403 | tableData: [], |
| 342 | 404 | FormTime:[], |
| 343 | 405 | pageindex: { |
| 344 | - startTime: "1990-09-11", | |
| 345 | - endTime: "2024-11-09" | |
| 406 | + startTime: "", | |
| 407 | + endTime: "" | |
| 346 | 408 | }, |
| 347 | 409 | formSel: { |
| 348 | 410 | |
| ... | ... | @@ -351,26 +413,83 @@ |
| 351 | 413 | }, |
| 352 | 414 | computed: {}, |
| 353 | 415 | created() { |
| 354 | - this.getAll() | |
| 416 | + | |
| 355 | 417 | |
| 356 | 418 | }, |
| 357 | 419 | mounted() { |
| 358 | - | |
| 359 | - // this.charDam1() | |
| 360 | - // this.charDam2() | |
| 361 | - // this.charDam3() | |
| 362 | - // this.charDam4() | |
| 363 | - // this.charDam5() | |
| 364 | - | |
| 365 | - // this.charDam7() | |
| 366 | - | |
| 367 | - // this.charDam9() | |
| 420 | + this.getAll() | |
| 368 | 421 | }, |
| 369 | 422 | methods: { |
| 423 | + | |
| 370 | 424 | charDam(datas) { |
| 425 | + | |
| 371 | 426 | let Dom = this.$refs.shop2TJ |
| 372 | 427 | let myChart = echarts.init(Dom) |
| 373 | 428 | let processedData = datas.map(item => ({ |
| 429 | + name: item.shopName, | |
| 430 | + value: item.price | |
| 431 | + })) | |
| 432 | + let option = { | |
| 433 | + legend: {}, | |
| 434 | + tooltip: {}, | |
| 435 | + xAxis: { | |
| 436 | + type: 'category', | |
| 437 | + data:processedData.map(item => item.name), | |
| 438 | + axisLabel: { | |
| 439 | + //x轴文字的配置 | |
| 440 | + show: true, | |
| 441 | + interval: 0,//使x轴文字显示全 | |
| 442 | + textStyle: { | |
| 443 | + color: "#000000" | |
| 444 | + }, | |
| 445 | + formatter: function(params) { | |
| 446 | + var newParamsName = ""; | |
| 447 | + var paramsNameNumber = params.length; | |
| 448 | + var provideNumber = 4; //一行显示几个字 | |
| 449 | + var rowNumber = Math.ceil(paramsNameNumber / provideNumber); | |
| 450 | + if (paramsNameNumber > provideNumber) { | |
| 451 | + for (var p = 0; p < rowNumber; p++) { | |
| 452 | + var tempStr = ""; | |
| 453 | + var start = p * provideNumber; | |
| 454 | + var end = start + provideNumber; | |
| 455 | + if (p == rowNumber - 1) { | |
| 456 | + tempStr = params.substring(start, paramsNameNumber); | |
| 457 | + } else { | |
| 458 | + tempStr = params.substring(start, end) + "\n"; | |
| 459 | + } | |
| 460 | + newParamsName += tempStr; | |
| 461 | + } | |
| 462 | + } else { | |
| 463 | + newParamsName = params; | |
| 464 | + } | |
| 465 | + return newParamsName; | |
| 466 | + } | |
| 467 | + } | |
| 468 | + | |
| 469 | + }, | |
| 470 | + yAxis: { | |
| 471 | + type: 'value', | |
| 472 | + }, | |
| 473 | + grid: { | |
| 474 | + left: '1%', | |
| 475 | + right: '1%', | |
| 476 | + top: '5%', | |
| 477 | + bottom: '6%', | |
| 478 | + containLabel: true | |
| 479 | + }, | |
| 480 | + series: [{ | |
| 481 | + type: 'bar', | |
| 482 | + color: '#3f9b6a', | |
| 483 | + data: processedData.map(item => item.value), | |
| 484 | + } | |
| 485 | + ] | |
| 486 | + }; | |
| 487 | + option && myChart.setOption(option); | |
| 488 | + }, | |
| 489 | + hetongDam(datas) { | |
| 490 | + let Dom = this.$refs.hetong | |
| 491 | + let myChart = echarts.init(Dom) | |
| 492 | + let processedData = datas.map(item => ({ | |
| 374 | 493 | name: item.trendDate, |
| 375 | 494 | value: item.trendQuantity |
| 376 | 495 | })) |
| ... | ... | @@ -380,6 +499,9 @@ |
| 380 | 499 | xAxis: { |
| 381 | 500 | type: 'category', |
| 382 | 501 | data:processedData.map(item => item.name), |
| 502 | + axisLabel: { | |
| 503 | + interval: 0,//使x轴文字显示全 | |
| 504 | + } | |
| 383 | 505 | }, |
| 384 | 506 | yAxis: { |
| 385 | 507 | type: 'value', |
| ... | ... | @@ -405,9 +527,10 @@ |
| 405 | 527 | let myChart = echarts.init(Dom); |
| 406 | 528 | |
| 407 | 529 | let processedData = datas.map(item => ({ |
| 408 | - name: item.trendDate || '11', | |
| 530 | + name: item.trendDate, | |
| 409 | 531 | value: item.trendQuantity |
| 410 | 532 | })) |
| 533 | + console.log(processedData) | |
| 411 | 534 | processedData.push({name:'',value:0}) |
| 412 | 535 | let option = { |
| 413 | 536 | xAxis: { |
| ... | ... | @@ -484,106 +607,70 @@ |
| 484 | 607 | }, |
| 485 | 608 | charDam3(datas) { |
| 486 | 609 | let Dom = this.$refs.shop1TJ |
| 487 | - let myChart = echarts.init(Dom); | |
| 610 | + let myChart = echarts.init(Dom) | |
| 611 | + let processedData = datas.map(item => ({ | |
| 612 | + name: item.location, | |
| 613 | + value: item.trendQuantity | |
| 614 | + })) | |
| 615 | + let option = { | |
| 616 | + legend: {}, | |
| 617 | + tooltip: {}, | |
| 618 | + xAxis: { | |
| 619 | + type: 'category', | |
| 620 | + data:processedData.map(item => item.name), | |
| 621 | + axisLabel: { | |
| 622 | + //x轴文字的配置 | |
| 623 | + show: true, | |
| 624 | + interval: 0,//使x轴文字显示全 | |
| 625 | + textStyle: { | |
| 626 | + color: "#000000" | |
| 627 | + }, | |
| 628 | + formatter: function(params) { | |
| 629 | + var newParamsName = ""; | |
| 630 | + var paramsNameNumber = params.length; | |
| 631 | + var provideNumber = 4; //一行显示几个字 | |
| 632 | + var rowNumber = Math.ceil(paramsNameNumber / provideNumber); | |
| 633 | + if (paramsNameNumber > provideNumber) { | |
| 634 | + for (var p = 0; p < rowNumber; p++) { | |
| 635 | + var tempStr = ""; | |
| 636 | + var start = p * provideNumber; | |
| 637 | + var end = start + provideNumber; | |
| 638 | + if (p == rowNumber - 1) { | |
| 639 | + tempStr = params.substring(start, paramsNameNumber); | |
| 640 | + } else { | |
| 641 | + tempStr = params.substring(start, end) + "\n"; | |
| 642 | + } | |
| 643 | + newParamsName += tempStr; | |
| 644 | + } | |
| 645 | + } else { | |
| 646 | + newParamsName = params; | |
| 647 | + } | |
| 648 | + return newParamsName; | |
| 649 | + } | |
| 650 | + } | |
| 651 | + | |
| 652 | + }, | |
| 653 | + yAxis: { | |
| 654 | + type: 'value', | |
| 655 | + }, | |
| 656 | + // grid: { | |
| 657 | + // left: '1%', | |
| 658 | + // right: '1%', | |
| 659 | + // top: '5%', | |
| 660 | + // bottom: '6%', | |
| 661 | + // containLabel: true | |
| 662 | + // }, | |
| 663 | + series: [{ | |
| 664 | + type: 'bar', | |
| 665 | + color: '#3f9b6a', | |
| 666 | + data: processedData.map(item => item.value), | |
| 667 | + } | |
| 668 | + ] | |
| 669 | + }; | |
| 670 | + option && myChart.setOption(option); | |
| 671 | + | |
| 488 | 672 | |
| 489 | - let processedData = datas.map(item => ({ | |
| 490 | - // name: item.trendDate || '11', | |
| 491 | - value: item.trendQuantity | |
| 492 | - })) | |
| 493 | - let option = { | |
| 494 | - legend: {}, | |
| 495 | - tooltip: {}, | |
| 496 | - xAxis: { | |
| 497 | - type: 'category', | |
| 498 | - data: ['商铺','场地','广告位'], | |
| 499 | - }, | |
| 500 | - yAxis: { | |
| 501 | - type: 'value', | |
| 502 | - max: 50 | |
| 503 | - }, | |
| 504 | - grid: { | |
| 505 | - left: '1%', | |
| 506 | - right: '1%', | |
| 507 | - top: '5%', | |
| 508 | - bottom: '6%', | |
| 509 | - containLabel: true | |
| 510 | - }, | |
| 511 | - series: [{ | |
| 512 | - type: 'bar', | |
| 513 | - color: '#3f9b6a', | |
| 514 | - data: processedData.map(item => item.value), | |
| 515 | - type: 'line' | |
| 516 | - }, | |
| 517 | - ] | |
| 518 | - }; | |
| 519 | - option && myChart.setOption(option); | |
| 520 | 673 | }, |
| 521 | - // charDam4() { | |
| 522 | - // let Dom = this.$refs.shop4ZX | |
| 523 | - // let myChart = echarts.init(Dom); | |
| 524 | - // let option = { | |
| 525 | - // xAxis: { | |
| 526 | - // type: 'category', | |
| 527 | - // data: ['2024-07', '2024-08', '2024-09', '2024-10', '2024-11', '2024-12', '2024-13'] | |
| 528 | - // }, | |
| 529 | - // yAxis: { | |
| 530 | - // type: 'value' | |
| 531 | - // }, | |
| 532 | - // grid: { | |
| 533 | - // left: '1%', | |
| 534 | - // right: '1%', | |
| 535 | - // top: '5%', | |
| 536 | - // bottom: '6%', | |
| 537 | - // containLabel: true | |
| 538 | - // }, | |
| 539 | - // series: [{ // 设置线条颜色 | |
| 540 | - // lineStyle: { | |
| 541 | - // color: '#3f9b6a', // 这里设置为红色 | |
| 542 | - // width: 2, // 线条宽度 | |
| 543 | - // }, | |
| 544 | - // data: [0,0, 0, 1, 0, 0], | |
| 545 | - // type: 'line' | |
| 546 | - // }] | |
| 547 | - // } | |
| 548 | - // option && myChart.setOption(option); | |
| 549 | - | |
| 550 | - // }, | |
| 551 | - // charDam5() { | |
| 552 | - // let Dom = this.$refs.shop4TJ | |
| 553 | - // let myChart = echarts.init(Dom); | |
| 554 | - // let option = { | |
| 555 | - // tooltip: { | |
| 556 | - // trigger: 'axis', | |
| 557 | - // axisPointer: { | |
| 558 | - // type: 'shadow' | |
| 559 | - // } | |
| 560 | - // }, | |
| 561 | - // grid: { | |
| 562 | - // left: '3%', | |
| 563 | - // right: '4%', | |
| 564 | - // bottom: '3%', | |
| 565 | - // containLabel: true | |
| 566 | - // }, | |
| 567 | - // xAxis: { | |
| 568 | - // type: 'value', | |
| 569 | - // boundaryGap: [0, 0.01] | |
| 570 | - // }, | |
| 571 | - // yAxis: { | |
| 572 | - // type: 'category', | |
| 573 | - // data: ['商户A', '商户B', '商户C', '商户D', '商户E', ] | |
| 574 | - // }, | |
| 575 | - // series: [{ | |
| 576 | - // lineStyle: { | |
| 577 | - // color: '#3f9b6a', // 这里设置为红色 | |
| 578 | - // width: 2, // 线条宽度 | |
| 579 | - // }, | |
| 580 | - // name: '2011', | |
| 581 | - // type: 'bar', | |
| 582 | - // data: [2, 4, 5, 4, 1, 5] | |
| 583 | - // }] | |
| 584 | - // }; | |
| 585 | - // option && myChart.setOption(option); | |
| 586 | - // }, | |
| 587 | 674 | charDam6(datas) { |
| 588 | 675 | |
| 589 | 676 | let Dom = this.$refs.shop5ZX |
| ... | ... | @@ -668,64 +755,91 @@ |
| 668 | 755 | } |
| 669 | 756 | option && myChart.setOption(option); |
| 670 | 757 | }, |
| 758 | + tuichar(datas) { | |
| 759 | + let Dom = this.$refs.tuiTong | |
| 760 | + let myChart = echarts.init(Dom) | |
| 761 | + let processedData = datas.map(item => ({ | |
| 762 | + name: item.rentalCondition, | |
| 763 | + value: item.trendQuantity | |
| 764 | + })) | |
| 765 | + let option = { | |
| 766 | + xAxis: { | |
| 767 | + type: 'category', | |
| 768 | + data:processedData.map(item => item.name), | |
| 769 | + }, | |
| 770 | + yAxis: { | |
| 771 | + type: 'value' | |
| 772 | + }, | |
| 773 | + grid: { | |
| 774 | + left: '1%', | |
| 775 | + right: '1%', | |
| 776 | + top: '5%', | |
| 777 | + bottom: '6%', | |
| 778 | + containLabel: true | |
| 779 | + }, | |
| 780 | + series: [{ // 设置线条颜色 | |
| 781 | + lineStyle: { | |
| 782 | + color: '#3f9b6a', // 这里设置为红色 | |
| 783 | + width: 2, // 线条宽度 | |
| 784 | + }, | |
| 785 | + data: processedData.map(item => item.value), | |
| 786 | + type: 'line' | |
| 787 | + }] | |
| 788 | + } | |
| 789 | + option && myChart.setOption(option); | |
| 671 | 790 | |
| 672 | -// charDam9(){ | |
| 673 | - | |
| 674 | -// let Dom = this.$refs.shop3TJ | |
| 675 | -// let myChart = echarts.init(Dom); | |
| 676 | -// let option = { | |
| 677 | -// tooltip: { | |
| 678 | -// trigger: 'axis', | |
| 679 | -// axisPointer: { | |
| 680 | -// type: 'shadow' | |
| 681 | -// } | |
| 682 | -// }, | |
| 683 | -// grid: { | |
| 684 | -// left: '3%', | |
| 685 | -// right: '4%', | |
| 686 | -// bottom: '3%', | |
| 687 | -// containLabel: true | |
| 688 | -// }, | |
| 689 | -// xAxis: { | |
| 690 | -// type: 'value', | |
| 691 | -// boundaryGap: [0, 0.01] | |
| 692 | -// }, | |
| 693 | -// yAxis: { | |
| 694 | -// type: 'category', | |
| 695 | -// data: ['商户A', '商户B', '商户C', '商户D', '商户E', ] | |
| 696 | -// }, | |
| 697 | -// series: [{ | |
| 698 | -// lineStyle: { | |
| 699 | -// color: '#3f9b6a', // 这里设置为红色 | |
| 700 | -// width: 2, // 线条宽度 | |
| 701 | -// }, | |
| 702 | -// name: '2011', | |
| 703 | -// type: 'bar', | |
| 704 | -// data: [1, 2, 3, 4, 5, 10] | |
| 705 | -// }] | |
| 706 | -// }; | |
| 707 | -// option && myChart.setOption(option); | |
| 708 | - | |
| 709 | -// }, | |
| 710 | 791 | |
| 792 | + }, | |
| 793 | + charJing(datas){ | |
| 794 | + | |
| 795 | + let Dom = this.$refs.shopJing | |
| 796 | + let myChart = echarts.init(Dom) | |
| 797 | + let processedData = datas.map(item => ({ | |
| 798 | + name: item.shopName, | |
| 799 | + value: item.price | |
| 800 | + })) | |
| 801 | + let option = { | |
| 802 | + legend: {}, | |
| 803 | + tooltip: {}, | |
| 804 | + xAxis: { | |
| 805 | + type: 'category', | |
| 806 | + data:processedData.map(item => item.name), | |
| 807 | + }, | |
| 808 | + yAxis: { | |
| 809 | + type: 'value', | |
| 810 | + }, | |
| 811 | + grid: { | |
| 812 | + left: '1%', | |
| 813 | + right: '1%', | |
| 814 | + top: '5%', | |
| 815 | + bottom: '6%', | |
| 816 | + containLabel: true | |
| 817 | + }, | |
| 818 | + series: [{ | |
| 819 | + type: 'bar', | |
| 820 | + color: '#3f9b6a', | |
| 821 | + data: processedData.map(item => item.value), | |
| 822 | + } | |
| 823 | + ] | |
| 824 | + }; | |
| 825 | + option && myChart.setOption(option); | |
| 826 | + | |
| 827 | + }, | |
| 711 | 828 | async getAll() { |
| 712 | 829 | const res = await statistical(this.pageindex) |
| 713 | 830 | |
| 714 | - this.charDam(res.data.seekingIntentionStatistics) | |
| 831 | + this.charDam(res.data.merchantChargeStatistics) | |
| 715 | 832 | this.charDam2(res.data.seekingIntentionStatistics) |
| 716 | 833 | this.charDam6(res.data.contractTrend) |
| 717 | - | |
| 834 | +this.hetongDam(res.data.contractTrend) | |
| 718 | 835 | this.charDam7(res.data.basicQueryTrends) |
| 719 | 836 | let trends=[...res.data.shopTrend,...res.data.venueTrend,...res.data.advertisingTrend] |
| 720 | 837 | |
| 721 | 838 | this.charDam1(trends) |
| 722 | - this.charDam3(trends) | |
| 723 | - }, | |
| 724 | - handleSizeChange() { | |
| 725 | - | |
| 726 | - }, | |
| 727 | - handleCurrentChange() { | |
| 839 | + this.charDam3(res.data.tollLocationStatistics) | |
| 840 | + this.charJing(res.data.operationStatistics) | |
| 728 | 841 | |
| 842 | + this.tuichar(res.data.rentalStatistics) | |
| 729 | 843 | }, |
| 730 | 844 | resetting(){ |
| 731 | 845 | this.FormTime = [] |
| ... | ... | @@ -738,19 +852,40 @@ |
| 738 | 852 | endTime:this.FormTime[1] |
| 739 | 853 | } |
| 740 | 854 | const res = await statistical(Msg) |
| 741 | - this.charDam(res.data.seekingIntentionStatistics) | |
| 855 | + this.charDam(res.data.merchantChargeStatistics) | |
| 742 | 856 | this.charDam2(res.data.seekingIntentionStatistics) |
| 743 | 857 | this.charDam6(res.data.contractTrend) |
| 858 | + this.hetongDam(res.data.contractTrend) | |
| 744 | 859 | this.charDam7(res.data.basicQueryTrends) |
| 745 | 860 | let trends=[...res.data.shopTrend,...res.data.venueTrend,...res.data.advertisingTrend] |
| 746 | 861 | |
| 747 | 862 | this.charDam1(trends) |
| 748 | - this.charDam3(trends) | |
| 749 | - | |
| 863 | + this.charDam3(res.data.tollLocationStatistics) | |
| 864 | + this.tuichar(res.data.rentalStatistics) | |
| 865 | + this.charJing(res.data.operationStatistics) | |
| 750 | 866 | }, |
| 751 | - gitOut(){ | |
| 867 | + // 下载 | |
| 868 | + async gitOut() { | |
| 869 | + const content = this.$refs.tubiao; | |
| 752 | 870 | |
| 753 | - }, | |
| 871 | + // 使用 html2canvas 将 div 渲染为画布 | |
| 872 | + const canvas = await html2canvas(content); | |
| 873 | + | |
| 874 | + // 获取画布的图像数据 | |
| 875 | + const imgData = canvas.toDataURL('image/png'); | |
| 876 | + | |
| 877 | + // 创建一个新的 PDF 文档 | |
| 878 | + const pdf = new jsPDF('p', 'mm', 'a4'); | |
| 879 | + | |
| 880 | + // 添加图像到 PDF,第二个参数是图像格式,第三个参数是缩放比例 | |
| 881 | + const imgWidth = 190; // 图像的宽度(mm) | |
| 882 | + const imgHeight = (canvas.height * imgWidth) / canvas.width; // 保持图像的宽高比 | |
| 883 | + | |
| 884 | + pdf.addImage(imgData, 'PNG', 10, 10, imgWidth, imgHeight); // 10, 10 是图像在 PDF 中的位置(mm) | |
| 885 | + | |
| 886 | + // 保存 PDF 文件 | |
| 887 | + pdf.save('统计图.pdf'); | |
| 888 | + }, | |
| 754 | 889 | } |
| 755 | 890 | } |
| 756 | 891 | </script> | ... | ... |
yanshouban/src/views/ipm/inr/index.vue
| ... | ... | @@ -388,6 +388,7 @@ |
| 388 | 388 | tanAdd, |
| 389 | 389 | tanEdit, |
| 390 | 390 | tanDel, |
| 391 | + excelQueryByPage | |
| 391 | 392 | } from '../../../api/inr.js' |
| 392 | 393 | import upimg from "@/components/ImageUpload/index" |
| 393 | 394 | import { |
| ... | ... | @@ -629,23 +630,33 @@ const res = await tanGetAll(this.formSel) |
| 629 | 630 | await tanDel({id:item.id}) |
| 630 | 631 | this.getAll() |
| 631 | 632 | }, |
| 632 | - gitOut(){ | |
| 633 | - let add =[] | |
| 634 | - this.tableData.map(item=>{ | |
| 635 | - | |
| 636 | - let obj ={ | |
| 637 | - intentCustomerName:'', | |
| 638 | - customerLevel:'', | |
| 639 | - contactPhone:'', | |
| 640 | - nextFollowUpStartTime:'' | |
| 641 | - } | |
| 642 | - obj.intentCustomerName = item.cereFollowDetails.cereCustomerInfo.intentCustomerName | |
| 643 | - obj.contactPhone = item.cereFollowDetails.cereCustomerInfo.contactPhone | |
| 644 | - obj.customerLevel = item.cereFollowDetails.cereCustomerInfo.customerLevel | |
| 645 | - obj.nextFollowUpStartTime = item.nextNegotiationStartTime | |
| 646 | - add.push(obj) | |
| 647 | - | |
| 648 | - }) | |
| 633 | + async gitOut(){ | |
| 634 | + let res = await excelQueryByPage(this.pageindex) | |
| 635 | + if(!res){ | |
| 636 | + return | |
| 637 | + } | |
| 638 | + const blob = new Blob([res], { type: 'application/vnd.ms-excel' }) | |
| 639 | + const fileName = '谈判列表.xls' | |
| 640 | + if ('download' in document.createElement('a')) { | |
| 641 | + // 非IE下载 | |
| 642 | + const elink = document.createElement('a') | |
| 643 | + elink.download = fileName | |
| 644 | + elink.style.display = 'none' | |
| 645 | + elink.href = URL.createObjectURL(blob) | |
| 646 | + document.body.appendChild(elink) | |
| 647 | + elink.click() | |
| 648 | + URL.revokeObjectURL(elink.href) // 释放URL 对象 | |
| 649 | + document.body.removeChild(elink) | |
| 650 | + } else { | |
| 651 | + // IE10+下载 | |
| 652 | + navigator.msSaveBlob(blob, fileName) | |
| 653 | + } | |
| 654 | + this.$message({ | |
| 655 | + message: '导出成功', | |
| 656 | + type: 'success' | |
| 657 | + }) | |
| 658 | + | |
| 659 | + | |
| 649 | 660 | }, |
| 650 | 661 | } |
| 651 | 662 | } | ... | ... |
yanshouban/src/views/member/memberList/details.vue
| ... | ... | @@ -369,12 +369,17 @@ export default { |
| 369 | 369 | if (item.fields === 'sex') { |
| 370 | 370 | item.value = item.value === '1' ? '男' : '女' |
| 371 | 371 | } |
| 372 | + | |
| 373 | + item.value = this.$decrypt(item.value) | |
| 374 | + console.log(item) | |
| 372 | 375 | }) |
| 373 | 376 | }, |
| 374 | 377 | // 初始化查询所有标签 |
| 375 | 378 | async getSelect (name) { |
| 376 | 379 | const res = await getLabels(name) |
| 377 | 380 | this.tipsList = res.data |
| 381 | + | |
| 382 | + | |
| 378 | 383 | }, |
| 379 | 384 | doCancel () { |
| 380 | 385 | this.visible = false | ... | ... |
yanshouban/src/views/online/QRCode/index.vue
| ... | ... | @@ -177,7 +177,7 @@ export default { |
| 177 | 177 | this.tableData = res.data.list |
| 178 | 178 | this.tableData.map(res=>{ |
| 179 | 179 | res.shopPhone = this.$decrypt(res.shopPhone) |
| 180 | - // res.shopPassword = this.$decrypt(res.shopPassword) | |
| 180 | + res.shopPassword = this.$decrypt(res.shopPassword) | |
| 181 | 181 | res.idCardNum = this.$decrypt(res.idCardNum) |
| 182 | 182 | res.emailAddress = this.$decrypt(res.emailAddress) |
| 183 | 183 | res.shopAdress = this.$decrypt(res.shopAdress) | ... | ... |
yanshouban/src/views/online/QRFunds/index.vue
| ... | ... | @@ -177,11 +177,12 @@ export default { |
| 177 | 177 | this.tableData = res.data.list |
| 178 | 178 | this.tableData.map(res=>{ |
| 179 | 179 | res.shopPhone = this.$decrypt(res.shopPhone) |
| 180 | - // res.shopPassword = this.$decrypt(res.shopPassword) | |
| 180 | + res.shopPassword = this.$decrypt(res.shopPassword) | |
| 181 | 181 | res.idCardNum = this.$decrypt(res.idCardNum) |
| 182 | 182 | res.emailAddress = this.$decrypt(res.emailAddress) |
| 183 | 183 | res.shopAdress = this.$decrypt(res.shopAdress) |
| 184 | 184 | res.legalRepresentative = this.$decrypt(res.legalRepresentative) |
| 185 | + res.chargePersonPhone = this.$decrypt(res.chargePersonPhone) | |
| 185 | 186 | }) |
| 186 | 187 | }, |
| 187 | 188 | onSubmit(){ | ... | ... |
yanshouban/src/views/scheme/addressguan.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <div class="zhuti" v-if="addressShow"> | |
| 3 | + <div style="height:58px;line-height:58px;"> | |
| 4 | + <div style="color:#0006"> <span>招商方案管理</span> <span style="padding:0 5px;">></span> <span | |
| 5 | + style="color:#000000e6">商铺位置管理</span></div> | |
| 6 | + </div> | |
| 7 | + <div> | |
| 8 | + <!-- 搜索 --> | |
| 9 | + <div class="formSearch"> | |
| 10 | + <div class="demo-input-suffix"> | |
| 11 | + <div style="width:68px;height:36px;line-height:32px;">位置</div> | |
| 12 | + <el-input placeholder="请输入" v-model="formSel.policyName" style="width:168px;margin-right: 15px"> | |
| 13 | + </el-input> | |
| 14 | + </div> | |
| 15 | + <div> | |
| 16 | + <el-button @click="onSubmit" style="background-color: #3F9B6A;color: #fff">检索 | |
| 17 | + </el-button> | |
| 18 | + <el-button @click="resetting" class="buttonHover" | |
| 19 | + style="color: #000;border: 1px solid #DBDBDB;background-color: #fff;">重置 | |
| 20 | + </el-button> | |
| 21 | + </div> | |
| 22 | + </div> | |
| 23 | + <div style="margin:20px 0;"> | |
| 24 | + <el-button icon="el-icon-circle-plus-outline" @click="addbuss" | |
| 25 | + style="background-color: #3F9B6A;color: #fff;padding:8px 15px;">新增</el-button> | |
| 26 | + </div> | |
| 27 | + | |
| 28 | + <!-- 表格 --> | |
| 29 | + <el-table :data="tableData.slice((currentPage - 1) * pageSize, currentPage * pageSize)" | |
| 30 | + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 31 | + > | |
| 32 | + <el-table-column label="序号" min-width="100" > | |
| 33 | + <template slot-scope="scope"> | |
| 34 | + {{scope.$index +1}} | |
| 35 | + </template> | |
| 36 | + </el-table-column> | |
| 37 | + <el-table-column label="位置名称" prop="policyName" min-width="200" > | |
| 38 | + </el-table-column> | |
| 39 | + <el-table-column label="创建时间" prop="applicableResources" min-width="100" > | |
| 40 | + </el-table-column> | |
| 41 | + <el-table-column label="操作" min-width="200" > | |
| 42 | + <template slot-scope="scope"> | |
| 43 | + <div @click="handleEditForm(scope.row)" class="tableBtn greens">编辑</div> | |
| 44 | + <div @click="handleDelete(scope.row)" class="tableBtn greens">删除</div> | |
| 45 | + </template> | |
| 46 | + </el-table-column> | |
| 47 | + </el-table> | |
| 48 | + <div class="fenye"> | |
| 49 | + <el-pagination class="pagination" :hide-on-single-page="flag" background small :current-page="currentPage" | |
| 50 | + layout="total,prev, pager,next" :total="total" | |
| 51 | + @current-change="handleCurrentChange" /> | |
| 52 | + </div> | |
| 53 | + </div> | |
| 54 | + <el-dialog :title="index == 0?'新增页':'编辑页'" :visible.sync="xinShow" custom-class='bian_css' style="padding: 0;" width="55%" center | |
| 55 | + :close-on-click-modal="false" > | |
| 56 | + <div style="padding:20px;" class="xinFrom"> | |
| 57 | + <el-form :model="form" ref="ruleForm" label-width="80px"> | |
| 58 | + <el-form-item label="商铺位置" prop="policyName"> | |
| 59 | + <el-input v-model="form.policyName" placeholder="请输入" style="width: 87%;margin-right: 15px" maxlength="50"></el-input> | |
| 60 | + </el-form-item> | |
| 61 | + | |
| 62 | + </el-form> | |
| 63 | + <div style="display: flex;justify-content: flex-end;margin-top:20px;"> | |
| 64 | + <el-button @click="closeFn()" style="background-color: #fff;color: #000;border: 1px solid #B1B1B1;" | |
| 65 | + class="buttonHover">取 消</el-button> | |
| 66 | + <el-button type="primary" @click="addCheck(index)" | |
| 67 | + style="background-color: #3F9B6A;color: #fff;border-color:#3F9B6A;">确 定</el-button> | |
| 68 | + | |
| 69 | + </div> | |
| 70 | + </div> | |
| 71 | + </el-dialog> | |
| 72 | + </div> | |
| 73 | +</template> | |
| 74 | + | |
| 75 | +<script> | |
| 76 | + import { | |
| 77 | + ceGetAll, | |
| 78 | + ceAdd, | |
| 79 | + ceEdit, | |
| 80 | + ceDel, | |
| 81 | + } from '../../api/sam.js' | |
| 82 | + import wangEditor from "@/components/editor/index" | |
| 83 | + import upimg from "@/components/ImageUpload/index" | |
| 84 | + import { | |
| 85 | + uploadUrl | |
| 86 | + } from '@/utils/request' | |
| 87 | + export default { | |
| 88 | + components: { wangEditor ,upimg}, | |
| 89 | + props: { | |
| 90 | + addressShow: { | |
| 91 | + type: Boolean, | |
| 92 | + default: false | |
| 93 | + }, | |
| 94 | + }, | |
| 95 | + data() { | |
| 96 | + return { | |
| 97 | + formSel:{ | |
| 98 | + policyName:'' | |
| 99 | + }, | |
| 100 | + tableData:[], | |
| 101 | + currentPage: 1, | |
| 102 | + total: 0, | |
| 103 | + flag: false, | |
| 104 | + pageSize: 10, | |
| 105 | + xinShow:false, | |
| 106 | + form:{ | |
| 107 | + policyName:'', | |
| 108 | + }, | |
| 109 | + index:0 | |
| 110 | + | |
| 111 | + } | |
| 112 | + }, | |
| 113 | + | |
| 114 | + created() { | |
| 115 | + | |
| 116 | + | |
| 117 | + }, | |
| 118 | + mounted() { | |
| 119 | +this.getAll() | |
| 120 | + }, | |
| 121 | + | |
| 122 | + methods: { | |
| 123 | + getAll(){ | |
| 124 | + | |
| 125 | + }, | |
| 126 | + handleCurrentChange(){ | |
| 127 | + | |
| 128 | + }, | |
| 129 | + onSubmit(){ | |
| 130 | + | |
| 131 | + }, | |
| 132 | + resetting(){ | |
| 133 | + | |
| 134 | + }, | |
| 135 | + closeFn(){ | |
| 136 | + | |
| 137 | + this.xinShow = false | |
| 138 | + this.getAll() | |
| 139 | + }, | |
| 140 | + addCheck(){ | |
| 141 | + this.xinShow = false | |
| 142 | +this.getAll() | |
| 143 | + }, | |
| 144 | + addbuss(){ | |
| 145 | + this.index = 0 | |
| 146 | + this.xinShow = true | |
| 147 | + }, | |
| 148 | + handleEditForm(){ | |
| 149 | + this.index =1 | |
| 150 | + this.xinShow = true | |
| 151 | + }, | |
| 152 | + handleDelete(){ | |
| 153 | + | |
| 154 | + }, | |
| 155 | + } | |
| 156 | + } | |
| 157 | +</script> | |
| 158 | +<style src="@wangeditor/editor/dist/css/style.css"></style> | |
| 159 | +<style scoped> | |
| 160 | + /deep/ .first-column-bg { | |
| 161 | + background-color: #f4f4f5 !important; | |
| 162 | + } | |
| 163 | + | |
| 164 | + .zhuti { | |
| 165 | + padding: 0 20px 20px 20px; | |
| 166 | + min-height: calc(100vh - 50px - 20px); | |
| 167 | + background-color: #Fff; | |
| 168 | + | |
| 169 | + } | |
| 170 | + | |
| 171 | + /deep/ .el-form-item__content { | |
| 172 | + line-height: 0; | |
| 173 | + } | |
| 174 | + | |
| 175 | + ::v-deep .xinForm .el-form-item__content { | |
| 176 | + line-height: 3; | |
| 177 | + } | |
| 178 | + | |
| 179 | + .tableBtn { | |
| 180 | + display: inline-block; | |
| 181 | + margin-right: 10px; | |
| 182 | + cursor: pointer; | |
| 183 | + } | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + .greens { | |
| 188 | + color: #3F9B6A; | |
| 189 | + } | |
| 190 | + | |
| 191 | + | |
| 192 | + .fenye { | |
| 193 | + margin-top: 20px; | |
| 194 | + display: flex; | |
| 195 | + justify-content: flex-end; | |
| 196 | + position: relative; | |
| 197 | + } | |
| 198 | + | |
| 199 | + /deep/ .el-pagination.is-background .el-pager li:not(.disabled).active { | |
| 200 | + background-color: #3F9B6A; | |
| 201 | + } | |
| 202 | + | |
| 203 | + .el-row { | |
| 204 | + margin-bottom: 20px; | |
| 205 | + } | |
| 206 | + | |
| 207 | + :last-child { | |
| 208 | + margin-bottom: 0; | |
| 209 | + } | |
| 210 | + | |
| 211 | + .el-col { | |
| 212 | + border-radius: 4px; | |
| 213 | + } | |
| 214 | + | |
| 215 | + .bg-purple-dark { | |
| 216 | + background: #99a9bf; | |
| 217 | + } | |
| 218 | + | |
| 219 | + .bg-purple { | |
| 220 | + /* background: #d3dce6; */ | |
| 221 | + } | |
| 222 | + | |
| 223 | + .bg-purple-light { | |
| 224 | + background: #e5e9f2; | |
| 225 | + } | |
| 226 | + | |
| 227 | + .grid-content { | |
| 228 | + border-radius: 4px; | |
| 229 | + min-height: 36px; | |
| 230 | + } | |
| 231 | + | |
| 232 | + .row-bg { | |
| 233 | + padding: 10px 0; | |
| 234 | + background-color: #f9fafc; | |
| 235 | + } | |
| 236 | + | |
| 237 | + /deep/ .bg-purple[data-v-0e3fe4ec] { | |
| 238 | + background: #fff; | |
| 239 | + height: 50px; | |
| 240 | + } | |
| 241 | + | |
| 242 | + /deep/ .el-form--label-top .el-form-item__label { | |
| 243 | + padding: 0; | |
| 244 | + } | |
| 245 | + | |
| 246 | + .demo-input-suffix { | |
| 247 | + display: flex; | |
| 248 | + margin-right: 20px; | |
| 249 | + width: 83%; | |
| 250 | + } | |
| 251 | + | |
| 252 | + .pagination { | |
| 253 | + text-align: right; | |
| 254 | + line-height: 20px; | |
| 255 | + } | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + /deep/ .dialog_css { | |
| 260 | + margin-top: 11vh; | |
| 261 | + margin-left: 13%; | |
| 262 | + padding: 0px; | |
| 263 | + | |
| 264 | + .el-dialog__title { | |
| 265 | + font-size: 12px; | |
| 266 | + } | |
| 267 | + } | |
| 268 | + | |
| 269 | + /deep/.el-dialog__body { | |
| 270 | + padding: 0px; | |
| 271 | + } | |
| 272 | + | |
| 273 | + /deep/ .el-dialog__header { | |
| 274 | + background-color: #fff; | |
| 275 | + } | |
| 276 | + | |
| 277 | + /deep/.el-dialog__title { | |
| 278 | + color: #000; | |
| 279 | + } | |
| 280 | + | |
| 281 | + .el-row { | |
| 282 | + margin-bottom: 20px; | |
| 283 | + | |
| 284 | + &:last-child { | |
| 285 | + margin-bottom: 0; | |
| 286 | + } | |
| 287 | + } | |
| 288 | + | |
| 289 | + /deep/ .avatar-uploader .el-upload { | |
| 290 | + border: 1px dashed #d9d9d9; | |
| 291 | + border-radius: 6px; | |
| 292 | + cursor: pointer; | |
| 293 | + position: relative; | |
| 294 | + overflow: hidden; | |
| 295 | + } | |
| 296 | + | |
| 297 | + .avatar-uploader .el-upload:hover { | |
| 298 | + border-color: #409EFF; | |
| 299 | + } | |
| 300 | + | |
| 301 | + .avatar-uploader-icon { | |
| 302 | + font-size: 28px; | |
| 303 | + color: #8c939d; | |
| 304 | + width: 108px; | |
| 305 | + height: 108px; | |
| 306 | + line-height: 108px; | |
| 307 | + /*text-align: center;*/ | |
| 308 | + } | |
| 309 | + | |
| 310 | + .avatar { | |
| 311 | + width: 108px; | |
| 312 | + height: 108px; | |
| 313 | + display: block; | |
| 314 | + } | |
| 315 | + | |
| 316 | + ::v-deep .el-tabs__item.is-active { | |
| 317 | + color: #3F9B6A; | |
| 318 | + opacity: 1; | |
| 319 | + } | |
| 320 | + | |
| 321 | + /deep/ .el-tabs__nav-wrap::after { | |
| 322 | + background-color: #fff; | |
| 323 | + } | |
| 324 | + | |
| 325 | + ::v-deep .el-tabs__item:hover { | |
| 326 | + color: #3F9B6A; | |
| 327 | + cursor: pointer; | |
| 328 | + opacity: 1; | |
| 329 | + } | |
| 330 | + | |
| 331 | + /deep/ .el-tabs__active-bar { | |
| 332 | + background-color: #389865; | |
| 333 | + } | |
| 334 | + | |
| 335 | + /deep/ .el-table_2_column_13 { | |
| 336 | + font-weight: 100; | |
| 337 | + } | |
| 338 | + | |
| 339 | + ::v-deep .el-input__inner:focus { | |
| 340 | + border: #3F9B6A 1px solid; | |
| 341 | + } | |
| 342 | + | |
| 343 | + ::v-deep .el-input__inner:hover { | |
| 344 | + border: #3F9B6A 1px solid; | |
| 345 | + } | |
| 346 | + | |
| 347 | + ::v-deep .el-select .el-input.is-focus .el-input__inner { | |
| 348 | + border-color: #3F9B6A | |
| 349 | + } | |
| 350 | + | |
| 351 | + /* ::v-deep .el-steps .el-step__head.is-wait { | |
| 352 | + background-color: red; /* 修改为你想要的颜色 */ | |
| 353 | + | |
| 354 | + /* 修改未进行步骤的描述文字颜色 */ | |
| 355 | + ::v-deep .el-steps .el-step__description.is-wait { | |
| 356 | + color: #999; | |
| 357 | + /* 修改为你想要的颜色 */ | |
| 358 | + } | |
| 359 | + | |
| 360 | + /* 修改未进行步骤的图标颜色 */ | |
| 361 | + ::v-deep .el-steps .el-step__icon.is-text.is-wait { | |
| 362 | + color: #999; | |
| 363 | + /* 修改为你想要的颜色 */ | |
| 364 | + } | |
| 365 | + | |
| 366 | + /* 修改未进行步骤的边框色 */ | |
| 367 | + ::v-deep .el-steps .el-step__line.is-wait { | |
| 368 | + border-color: #eee; | |
| 369 | + /* 修改为你想要的颜色 */ | |
| 370 | + } | |
| 371 | + | |
| 372 | + ::v-deep .el-steps .is-process .el-step__line { | |
| 373 | + background-color: #3F9B6A; | |
| 374 | + /* 修改线的颜色 */ | |
| 375 | + } | |
| 376 | + | |
| 377 | + ::v-deep .el-steps .is-process .el-step__title { | |
| 378 | + color: #fe7b6a; | |
| 379 | + /* 修改进行中步骤的标题颜色 */ | |
| 380 | + } | |
| 381 | + | |
| 382 | + ::v-deep .el-steps .is-process .el-step__icon { | |
| 383 | + color: #fff; | |
| 384 | + /* 修改进行中步骤的图标颜色 */ | |
| 385 | + background: #3F9B6A; | |
| 386 | + /* 修改进行中步骤图标的边框颜色 */ | |
| 387 | + border: 0px; | |
| 388 | + } | |
| 389 | + | |
| 390 | + ::v-deep .el-step__icon-inner { | |
| 391 | + line-height: 0 | |
| 392 | + } | |
| 393 | + | |
| 394 | + /* 线条长度 */ | |
| 395 | + ::v-deep .el-step.is-vertical .el-step__line { | |
| 396 | + top: 30px; | |
| 397 | + height: 60px; | |
| 398 | + } | |
| 399 | + | |
| 400 | + | |
| 401 | + ::v-deep .el-date-editor .el-range-separator { | |
| 402 | + line-height: 24px; | |
| 403 | + } | |
| 404 | + | |
| 405 | +</style> | |
| 406 | +<style lang="scss" scoped> | |
| 407 | + ::v-deep .xinFrom{ | |
| 408 | + padding-top:20px; | |
| 409 | + .el-input--mini .el-input__inner{ | |
| 410 | + height:36px; | |
| 411 | + line-height:36px; | |
| 412 | + } | |
| 413 | + .el-range-editor--mini.el-input__inner{ | |
| 414 | + height:36px; | |
| 415 | + width:100%; | |
| 416 | + } | |
| 417 | + } | |
| 418 | + ::v-deep .buttonHover:hover{ | |
| 419 | + color:#3f9b6a !important; | |
| 420 | + border-color: #c5e1d2 !important; | |
| 421 | + background-color: #ecf5f0 !important; | |
| 422 | + outline: none; | |
| 423 | + } | |
| 424 | +::v-deep .el-pagination__total { | |
| 425 | + position: absolute; | |
| 426 | + left: 10px; | |
| 427 | + } | |
| 428 | + ::v-deep .formSearch { | |
| 429 | + display: flex; | |
| 430 | + width: 100%; | |
| 431 | + font-size: 14px; | |
| 432 | + justify-content: space-between; | |
| 433 | + } | |
| 434 | + ::v-deep .el-radio-group{ | |
| 435 | + padding-top:14px; | |
| 436 | + } | |
| 437 | + ::v-deep .el-radio{ | |
| 438 | + font-weight:100 !important; | |
| 439 | + } | |
| 440 | + ::v-deep .bian_css{ | |
| 441 | + overflow-y:initial !important; | |
| 442 | + } | |
| 443 | +</style> | ... | ... |
yanshouban/src/views/scheme/planningBz.vue
| ... | ... | @@ -33,9 +33,19 @@ |
| 33 | 33 | </el-button> |
| 34 | 34 | </div> |
| 35 | 35 | </div> |
| 36 | - <div style="margin:20px 0;"> | |
| 36 | + <div style="margin:20px 0;display:flex;"> | |
| 37 | 37 | <el-button icon="el-icon-circle-plus-outline" @click="addbuss(1)" |
| 38 | 38 | style="background-color: #3F9B6A;color: #fff;padding:8px 15px;">新增</el-button> |
| 39 | + <el-upload class="upload-demo" ref="upload" | |
| 40 | + :limit="1" | |
| 41 | + accept=".xlsx" | |
| 42 | + :action="upload" | |
| 43 | + :on-success="daoru" | |
| 44 | + :file-list="fileData" | |
| 45 | + :auto-upload="true" | |
| 46 | + :show-file-list="false"> | |
| 47 | + <el-button style="background-color: #fff;color: #3F9B6A;border: 1px solid #dcdfe6;margin-left:15px;" class="buttonHover">导入</el-button> | |
| 48 | + </el-upload> | |
| 39 | 49 | </div> |
| 40 | 50 | |
| 41 | 51 | <!-- 表格 --> |
| ... | ... | @@ -312,17 +322,20 @@ |
| 312 | 322 | addList, |
| 313 | 323 | updateList, |
| 314 | 324 | queryById, |
| 325 | + excelAdd | |
| 315 | 326 | } from '../../api/planningBz.js' |
| 316 | 327 | import wangEditor from "@/components/editor/index" |
| 317 | 328 | import upimg from "@/components/ImageUpload/index" |
| 318 | 329 | import { |
| 319 | 330 | uploadUrl |
| 320 | 331 | } from '@/utils/request' |
| 332 | + | |
| 321 | 333 | export default { |
| 322 | 334 | components: { wangEditor ,upimg}, |
| 323 | 335 | data() { |
| 324 | 336 | return { |
| 325 | 337 | upload:uploadUrl, |
| 338 | + fileData:[], | |
| 326 | 339 | formSel: { |
| 327 | 340 | planningName:'', |
| 328 | 341 | planningType:'', |
| ... | ... | @@ -450,7 +463,7 @@ this.total = res.data.content.length |
| 450 | 463 | this.fileList = fileList.slice(-3); |
| 451 | 464 | }, |
| 452 | 465 | handleSuccess(file,fileList) { |
| 453 | - console.log(file,fileList) | |
| 466 | + | |
| 454 | 467 | // const fileUrl = response.data.url; |
| 455 | 468 | const fileMsg = { |
| 456 | 469 | name:fileList.name, |
| ... | ... | @@ -493,7 +506,10 @@ this.total = res.data.content.length |
| 493 | 506 | this.secondData.annex = JSON.parse(item.annex) |
| 494 | 507 | |
| 495 | 508 | } |
| 496 | - this.fileList.push(this.secondData.annex) | |
| 509 | + if(this.secondData.annex!="" && this.secondData.annex!=''){ | |
| 510 | + this.fileList.push(this.secondData.annex) | |
| 511 | + } | |
| 512 | + | |
| 497 | 513 | // this.secondData.annex = JSON.parse(this.secondData.annex) |
| 498 | 514 | |
| 499 | 515 | |
| ... | ... | @@ -599,7 +615,7 @@ this.total = res.data.content.length |
| 599 | 615 | console.log(file); |
| 600 | 616 | }, |
| 601 | 617 | handleRemove(file, fileList) { |
| 602 | - console.log(file, fileList); | |
| 618 | + | |
| 603 | 619 | this.fileList = [] |
| 604 | 620 | }, |
| 605 | 621 | //重置按钮 |
| ... | ... | @@ -632,6 +648,14 @@ this.total = res.data.content.length |
| 632 | 648 | const day = ('0' + date.getDate()).slice(-2); |
| 633 | 649 | return `${year}-${month}-${day}`; |
| 634 | 650 | }, |
| 651 | + daoru(response, file, fileList){ | |
| 652 | + this.fileData.push(file.raw) | |
| 653 | + const formDate = new FormData() | |
| 654 | + formDate.append('file', this.fileData[0]) | |
| 655 | + excelAdd(formDate).then(res => { | |
| 656 | + this.getAll() | |
| 657 | + }) | |
| 658 | + }, | |
| 635 | 659 | } |
| 636 | 660 | } |
| 637 | 661 | </script> | ... | ... |
yanshouban/src/views/scheme/sam.vue
| 1 | 1 | <template> |
| 2 | 2 | <div style="background-color:#f7f7f7;padding:10px 10px;"> |
| 3 | - <div class="zhuti"> | |
| 3 | + <div class="zhuti" v-if="addressShow == false"> | |
| 4 | 4 | <div style="height:58px;line-height:58px;"> |
| 5 | 5 | <div style="color:#0006"> <span>招商方案管理</span> <span style="padding:0 5px;">></span> <span |
| 6 | 6 | style="color:#000000e6">策略管理</span></div> |
| ... | ... | @@ -54,6 +54,8 @@ |
| 54 | 54 | <div style="margin:20px 0;"> |
| 55 | 55 | <el-button icon="el-icon-circle-plus-outline" @click="addbuss(1)" |
| 56 | 56 | style="background-color: #3F9B6A;color: #fff;padding:8px 15px;">新增</el-button> |
| 57 | + <el-button @click="addressShow =true" | |
| 58 | + style="background-color: #3F9B6A;color: #fff;padding:8px 15px;">商铺位置管理</el-button> | |
| 57 | 59 | </div> |
| 58 | 60 | |
| 59 | 61 | <!-- 表格 --> |
| ... | ... | @@ -216,6 +218,7 @@ |
| 216 | 218 | |
| 217 | 219 | </el-dialog> |
| 218 | 220 | <samXin :xinShow="ggXin" @childClose='childClose'></samXin> |
| 221 | + <addressguan :addressShow="addressShow" @addClose='addClose' v-if="addressShow"></addressguan> | |
| 219 | 222 | </div> |
| 220 | 223 | </template> |
| 221 | 224 | |
| ... | ... | @@ -229,14 +232,16 @@ |
| 229 | 232 | import wangEditor from "@/components/editor/index" |
| 230 | 233 | import upimg from "@/components/ImageUpload/index" |
| 231 | 234 | import samXin from "./samXin" |
| 235 | +import addressguan from "./addressguan" | |
| 232 | 236 | import { |
| 233 | 237 | uploadUrl |
| 234 | 238 | } from '@/utils/request' |
| 235 | 239 | export default { |
| 236 | - components: { wangEditor ,upimg,samXin}, | |
| 240 | + components: { wangEditor ,upimg,samXin,addressguan}, | |
| 237 | 241 | data() { |
| 238 | 242 | return { |
| 239 | 243 | formInline: {}, |
| 244 | + addressShow:false, | |
| 240 | 245 | upload:uploadUrl, |
| 241 | 246 | plan_Time:[], |
| 242 | 247 | formSel: { |
| ... | ... | @@ -269,7 +274,8 @@ import samXin from "./samXin" |
| 269 | 274 | }, |
| 270 | 275 | fileList: [], |
| 271 | 276 | paymentDate:[], |
| 272 | - leaseDate:[] | |
| 277 | + leaseDate:[], | |
| 278 | + modelData:[] | |
| 273 | 279 | } |
| 274 | 280 | }, |
| 275 | 281 | |
| ... | ... | @@ -409,6 +415,10 @@ this.getAll() |
| 409 | 415 | this.xiang = false |
| 410 | 416 | this.getAll() |
| 411 | 417 | }, |
| 418 | + addClose(msg){ | |
| 419 | + this.addressShow = msg | |
| 420 | + this.getAll() | |
| 421 | + }, | |
| 412 | 422 | } |
| 413 | 423 | } |
| 414 | 424 | </script> | ... | ... |
yanshouban/src/views/serve/kefuServe/index.vue
| ... | ... | @@ -23,7 +23,7 @@ |
| 23 | 23 | <div> |
| 24 | 24 | <!-- 搜索 --> |
| 25 | 25 | <div style="margin-bottom:20px;"> |
| 26 | - 保修记录 | |
| 26 | + 报修记录 | |
| 27 | 27 | </div> |
| 28 | 28 | |
| 29 | 29 | <!-- 表格 --> |
| ... | ... | @@ -39,7 +39,7 @@ |
| 39 | 39 | {{scope.$index+1}} |
| 40 | 40 | </template> |
| 41 | 41 | </el-table-column> |
| 42 | - <el-table-column label="保修类型" prop="deviceType" width="auto" min-width="12%" /> | |
| 42 | + <el-table-column label="报修类型" prop="deviceType" width="auto" min-width="12%" /> | |
| 43 | 43 | <el-table-column label="问题描述" prop="warrantyIssue" width="auto" min-width="12%" /> |
| 44 | 44 | <el-table-column label="设备名称" prop="deviceName" width="auto" min-width="12%" /> |
| 45 | 45 | <el-table-column label="备注" prop="memo" width="auto" min-width="12%" /> | ... | ... |
yanshouban/src/views/setup/user/index.vue
| ... | ... | @@ -326,10 +326,14 @@ export default { |
| 326 | 326 | userGetById({ platformUserId: row.platformUserId }).then(res => { |
| 327 | 327 | this.addForm = res.data |
| 328 | 328 | this.addForm.roleIds = res.data.ids |
| 329 | - console.log(this.addForm) | |
| 330 | - console.log(this.roleList) | |
| 329 | +this.addForm.username = this.$decrypt(this.addForm.username) | |
| 330 | + this.addForm.email = this.$decrypt(this.addForm.email) | |
| 331 | + this.addForm.password = this.$decrypt(this.addForm.password) | |
| 332 | + this.addForm.phone = this.$decrypt(this.addForm.phone) | |
| 331 | 333 | // this.addForm.roleIds = [1]; |
| 332 | 334 | }) |
| 335 | + | |
| 336 | + | |
| 333 | 337 | }, |
| 334 | 338 | // 删除用户 |
| 335 | 339 | async del (row) { | ... | ... |
yanshouban/src/views/shopRental/manage/index.vue
| ... | ... | @@ -37,10 +37,19 @@ |
| 37 | 37 | </el-button> |
| 38 | 38 | </div> |
| 39 | 39 | </div> |
| 40 | - <div style="margin-bottom: 20px;"> | |
| 41 | - <el-button @click="addbuss(1)" style="background-color: #3F9B6A;color: #fff;padding:8px 15px;" | |
| 40 | + <div style="margin-bottom: 20px;display:flex;"> | |
| 41 | + <el-button @click="addbuss(1)" style="background-color: #3F9B6A;color: #fff;padding:8px 15px;margin-right:15px;" | |
| 42 | 42 | icon="el-icon-circle-plus-outline">新增</el-button> |
| 43 | - <!-- <el-button @click="" style="background-color: #3F9B6A;color: #fff">批量导入</el-button> --> | |
| 43 | + <el-upload class="upload-demo" ref="upload" | |
| 44 | + :limit="5" | |
| 45 | + accept=".xlsx" | |
| 46 | + :action="uploadFileUrl" | |
| 47 | + :on-success="daoru" | |
| 48 | + :file-list="fileData" | |
| 49 | + :auto-upload="true" | |
| 50 | + :show-file-list="false"> | |
| 51 | + <el-button style="background-color: #fff;color: #3F9B6A;border: 1px solid #dcdfe6;" class="buttonHover">导入</el-button> | |
| 52 | + </el-upload> | |
| 44 | 53 | </div> |
| 45 | 54 | <!-- 表格 --> |
| 46 | 55 | |
| ... | ... | @@ -1202,9 +1211,7 @@ |
| 1202 | 1211 | async |
| 1203 | 1212 | } from 'q' |
| 1204 | 1213 | import axios from 'axios' |
| 1205 | - import { | |
| 1206 | - uploadUrl | |
| 1207 | - } from '@/utils/request' | |
| 1214 | +import { uploadUrl,token } from '@/utils/request' | |
| 1208 | 1215 | import { |
| 1209 | 1216 | contractGetAll, |
| 1210 | 1217 | contractDel, |
| ... | ... | @@ -1214,13 +1221,15 @@ |
| 1214 | 1221 | cereLeasingByPage, |
| 1215 | 1222 | cereLeasingEdit, |
| 1216 | 1223 | cereLeasingAdd, |
| 1217 | - cereLeasingDel | |
| 1224 | + cereLeasingDel, | |
| 1225 | + excelAdd | |
| 1218 | 1226 | } from '../../../api/manage.js' |
| 1219 | 1227 | export default { |
| 1220 | 1228 | name: 'manage', |
| 1221 | 1229 | data() { |
| 1222 | 1230 | return { |
| 1223 | 1231 | uploadFileUrl: uploadUrl, // 请求地址 |
| 1232 | + fileData:[], | |
| 1224 | 1233 | hetongBox: false, //合同 |
| 1225 | 1234 | detbox: false, //详情 |
| 1226 | 1235 | leixing: true, //切换 |
| ... | ... | @@ -1257,6 +1266,7 @@ |
| 1257 | 1266 | promotionVideo: '', |
| 1258 | 1267 | promotionImage: '', |
| 1259 | 1268 | notes: '', |
| 1269 | + rentalCondition:0, | |
| 1260 | 1270 | }, //租赁信息字段 |
| 1261 | 1271 | tableData: [{ |
| 1262 | 1272 | id:1, |
| ... | ... | @@ -1383,6 +1393,7 @@ biangengPan:false, |
| 1383 | 1393 | this.chengeTatle = val |
| 1384 | 1394 | }, |
| 1385 | 1395 | async getAll(val) { |
| 1396 | + console.log(this.pageindex) | |
| 1386 | 1397 | const res = await cereLeasingByPage(this.pageindex) |
| 1387 | 1398 | this.tableData = res.data.content |
| 1388 | 1399 | this.total = res.data.content.length |
| ... | ... | @@ -1521,6 +1532,7 @@ biangengPan:false, |
| 1521 | 1532 | promotionVideo: '', |
| 1522 | 1533 | promotionImage: '', |
| 1523 | 1534 | notes: '', |
| 1535 | + rentalCondition:0, | |
| 1524 | 1536 | }//租赁信息字段 |
| 1525 | 1537 | this.heForm={ |
| 1526 | 1538 | contractNumber: '', //合同对应的ID |
| ... | ... | @@ -1718,6 +1730,14 @@ this.ggXin = true |
| 1718 | 1730 | bianDel(index){ |
| 1719 | 1731 | this.biangengTab.splice(index, 1); |
| 1720 | 1732 | }, |
| 1733 | + daoru(response, file, fileList){ | |
| 1734 | + this.fileData.push(file.raw) | |
| 1735 | + const formDate = new FormData() | |
| 1736 | + formDate.append('file', this.fileData[0]) | |
| 1737 | + excelAdd(formDate).then(res => { | |
| 1738 | + this.getAll() | |
| 1739 | + }) | |
| 1740 | + }, | |
| 1721 | 1741 | } |
| 1722 | 1742 | } |
| 1723 | 1743 | </script> | ... | ... |
yanshouban/src/views/shopRental/renewalMan/index.vue
| ... | ... | @@ -876,7 +876,7 @@ |
| 876 | 876 | }, |
| 877 | 877 | pageNumber: 1, |
| 878 | 878 | pageSize: 10, |
| 879 | - | |
| 879 | + rentalCondition:3 | |
| 880 | 880 | }, |
| 881 | 881 | xiangData:{}, |
| 882 | 882 | heData:{}, |
| ... | ... | @@ -892,6 +892,7 @@ |
| 892 | 892 | pageindex: { |
| 893 | 893 | pageNumber: 1, |
| 894 | 894 | pageSize: 10, |
| 895 | + rentalCondition:3 | |
| 895 | 896 | }, |
| 896 | 897 | bianjiBox:1, |
| 897 | 898 | chengeTatle:1, |
| ... | ... | @@ -1083,7 +1084,7 @@ |
| 1083 | 1084 | }, |
| 1084 | 1085 | pageNumber: 1, |
| 1085 | 1086 | pageSize: 10, |
| 1086 | - | |
| 1087 | + rentalCondition:3 | |
| 1087 | 1088 | } |
| 1088 | 1089 | this.leaseStartDate = [] |
| 1089 | 1090 | this.getAll() | ... | ... |
yanshouban/src/views/shopRental/rentTermination/index.vue
| ... | ... | @@ -730,11 +730,12 @@ |
| 730 | 730 | }, |
| 731 | 731 | pageNumber: 1, |
| 732 | 732 | pageSize: 10, |
| 733 | - | |
| 733 | + rentalCondition:2 | |
| 734 | 734 | }, |
| 735 | 735 | pageindex: { |
| 736 | 736 | pageNumber: 1, |
| 737 | 737 | pageSize: 10, |
| 738 | + rentalCondition:2 | |
| 738 | 739 | }, |
| 739 | 740 | bianjiBox: 1, |
| 740 | 741 | chengeTatle: 1, |
| ... | ... | @@ -948,7 +949,7 @@ |
| 948 | 949 | }, |
| 949 | 950 | pageNumber: 1, |
| 950 | 951 | pageSize: 10, |
| 951 | - | |
| 952 | + rentalCondition:2 | |
| 952 | 953 | } |
| 953 | 954 | this.leaseStartDate = [] |
| 954 | 955 | this.getAll() | ... | ... |
yanshouban/src/views/shopRental/rentalMan/index.vue
| ... | ... | @@ -1050,10 +1050,12 @@ import { |
| 1050 | 1050 | }, |
| 1051 | 1051 | pageNumber: 1, |
| 1052 | 1052 | pageSize: 10, |
| 1053 | + rentalCondition:1 | |
| 1053 | 1054 | }, |
| 1054 | 1055 | pageindex: { |
| 1055 | 1056 | pageNumber: 1, |
| 1056 | 1057 | pageSize: 10, |
| 1058 | + rentalCondition:1 | |
| 1057 | 1059 | }, |
| 1058 | 1060 | zhong:{ |
| 1059 | 1061 | intentionalRent:'', |
| ... | ... | @@ -1104,6 +1106,7 @@ import { |
| 1104 | 1106 | }, |
| 1105 | 1107 | pageNumber: 1, |
| 1106 | 1108 | pageSize: 10, |
| 1109 | + rentalCondition:1 | |
| 1107 | 1110 | } |
| 1108 | 1111 | this.leixing = !this.leixing |
| 1109 | 1112 | |
| ... | ... | @@ -1204,6 +1207,7 @@ import { |
| 1204 | 1207 | }, |
| 1205 | 1208 | pageNumber: 1, |
| 1206 | 1209 | pageSize: 10, |
| 1210 | + rentalCondition:1 | |
| 1207 | 1211 | }, |
| 1208 | 1212 | this.leaseStartDate = [] |
| 1209 | 1213 | this.getAll() | ... | ... |