Commit d765895dbd645501b760ac37cd339109396fb1ec

Authored by wesley88
2 parents 4373acf5 aeb74e3a

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

Showing 56 changed files with 7209 additions and 565 deletions
yanshouban/src/api/account.js
@@ -39,3 +39,11 @@ export function quDel(data) { @@ -39,3 +39,11 @@ export function quDel(data) {
39 }) 39 })
40 } 40 }
41 41
  42 +export function statisticalAnalysis(data) {
  43 + return request({
  44 + url: 'cereChannelManagement/statisticalAnalysis',
  45 + method: 'post',
  46 + data
  47 + })
  48 +}
  49 +
yanshouban/src/api/activityBz.js
@@ -237,3 +237,11 @@ export function effectEvaluation(data) { @@ -237,3 +237,11 @@ export function effectEvaluation(data) {
237 data 237 data
238 }) 238 })
239 } 239 }
  240 +//历史方案查询
  241 +export function lishiDeta(data) {
  242 + return request({
  243 + url: '/cereEventDetailsLog/getAll',
  244 + method: 'post',
  245 + data
  246 + })
  247 +}
yanshouban/src/api/information.js
@@ -106,3 +106,24 @@ export function statistical(data) { @@ -106,3 +106,24 @@ export function statistical(data) {
106 data 106 data
107 }) 107 })
108 } 108 }
  109 +
  110 +// 商户导入管理模板
  111 +export const excelAdd = (data = {}) => {
  112 + return request({
  113 + url: '/cereBasicInformationShop/excelAdd',
  114 + method: 'post',
  115 + data,
  116 + headers: {
  117 + 'Content-type': 'multipart/form-data'
  118 + }
  119 + })
  120 +}
  121 +
  122 +// 租赁信息
  123 +export function zulxin(data) {
  124 + return request({
  125 + url: `cereBasicInformationShop/${data.venueNumber}`,
  126 + method: 'get',
  127 + data
  128 + })
  129 +}
yanshouban/src/api/kefuServeBao.js
@@ -16,6 +16,14 @@ export function ReportDel(data) { @@ -16,6 +16,14 @@ export function ReportDel(data) {
16 data 16 data
17 }) 17 })
18 } 18 }
  19 +// 报修修改
  20 +export function Reportedit(data) {
  21 + return request({
  22 + url: '/cereReportIssuesRepairs/edit',
  23 + method: 'post',
  24 + data
  25 + })
  26 +}
19 // 投诉 27 // 投诉
20 export function ComplaintGetAll(data) { 28 export function ComplaintGetAll(data) {
21 return request({ 29 return request({
yanshouban/src/api/map1.js
@@ -44,3 +44,12 @@ export function likeGet(data) { @@ -44,3 +44,12 @@ export function likeGet(data) {
44 data 44 data
45 }) 45 })
46 } 46 }
  47 +
  48 +// 租赁信息
  49 +export function zulxin(data) {
  50 + return request({
  51 + url: `cereBasicInformationShop/${data.venueNumber}`,
  52 + method: 'get',
  53 + data
  54 + })
  55 +}
yanshouban/src/api/piaowu.js
@@ -89,3 +89,14 @@ export function excelToRefundData(data) { @@ -89,3 +89,14 @@ export function excelToRefundData(data) {
89 responseType: 'blob' 89 responseType: 'blob'
90 }) 90 })
91 } 91 }
  92 +
  93 +
  94 +// 总销售额导出
  95 +export function excelToTotalSales(data) {
  96 + return request({
  97 + url: '/ticket/excelToTotalSales',
  98 + method: 'post',
  99 + data,
  100 + responseType: 'blob'
  101 + })
  102 +}
yanshouban/src/api/sam.js
@@ -33,3 +33,34 @@ export function ceDel(data) { @@ -33,3 +33,34 @@ export function ceDel(data) {
33 data 33 data
34 }) 34 })
35 } 35 }
  36 +
  37 +
  38 +export function addAddress(data) {
  39 + return request({
  40 + url: '/cereBasicInformationShopLocation/add',
  41 + method: 'post',
  42 + data
  43 + })
  44 +}
  45 +
  46 +export function deleteAddress(data) {
  47 + return request({
  48 + url: `cereBasicInformationShopLocation/delete/${data.id}`,
  49 + method: 'get',
  50 + data
  51 + })
  52 +}
  53 +export function editAddress(data) {
  54 + return request({
  55 + url: '/cereBasicInformationShopLocation/edit',
  56 + method: 'post',
  57 + data
  58 + })
  59 +}
  60 +export function getAllAddress(data) {
  61 + return request({
  62 + url: '/cereBasicInformationShopLocation/getAll',
  63 + method: 'post',
  64 + data
  65 + })
  66 +}
yanshouban/src/utils/request.js
@@ -21,7 +21,7 @@ if (host == '172.16.61.48' || host == '172.16.61.49:5173' || host =='172.16.61.1 @@ -21,7 +21,7 @@ if (host == '172.16.61.48' || host == '172.16.61.49:5173' || host =='172.16.61.1
21 // PREFIX = 'http://172.16.61.48/meserver/admin-server'; 21 // PREFIX = 'http://172.16.61.48/meserver/admin-server';
22 // PREFIX = 'http://192.168.2.213:9003'; 22 // PREFIX = 'http://192.168.2.213:9003';
23 // PREFIX = 'http://8.130.38.56:8019/admin-server'; 23 // PREFIX = 'http://8.130.38.56:8019/admin-server';
24 - PREFIX = 'http://192.168.8.106:9003'; 24 + PREFIX = 'http://192.168.2.250:9003';
25 // PREFIX = 'https://wjdc.scjysm.asia:1443/meserver/admin-server'; 25 // PREFIX = 'https://wjdc.scjysm.asia:1443/meserver/admin-server';
26 // PREFIX = 'https://jy.scjysm.asia:18086/admin-server'; 26 // PREFIX = 'https://jy.scjysm.asia:18086/admin-server';
27 // PREFIX = 'http://172.16.61.126:8080/meserver/admin-server'; 27 // PREFIX = 'http://172.16.61.126:8080/meserver/admin-server';
yanshouban/src/views/activity/activityBz.vue
@@ -97,6 +97,18 @@ @@ -97,6 +97,18 @@
97 </el-select> 97 </el-select>
98 </el-form-item> 98 </el-form-item>
99 </el-col> 99 </el-col>
  100 + <el-col :span="12">
  101 + <el-form-item label="历史活动方案" class="grid-content bg-purple device-from" >
  102 + <el-select v-model="lishiList" placeholder="请选择" style="width:100%" @change="lichange" >
  103 + <el-option
  104 + v-for="(item,index) in fenxiData"
  105 + :key="item.id"
  106 + :label="item.operationType"
  107 + :value="index">
  108 + </el-option>
  109 + </el-select>
  110 + </el-form-item>
  111 + </el-col>
100 </el-row> 112 </el-row>
101 <el-row :gutter="20"> 113 <el-row :gutter="20">
102 <el-col :span="12"> 114 <el-col :span="12">
@@ -359,7 +371,8 @@ @@ -359,7 +371,8 @@
359 MingEdit, 371 MingEdit,
360 MingDel, 372 MingDel,
361 fujiaAdd, 373 fujiaAdd,
362 - imgUp 374 + imgUp,
  375 + lishiDeta
363 } from '../../api/activityBz' 376 } from '../../api/activityBz'
364 // import { Editor, Toolbar } from '@wangeditor/editor-for-vue' 377 // import { Editor, Toolbar } from '@wangeditor/editor-for-vue'
365 import wangEditor from "@/components/editor/index"; 378 import wangEditor from "@/components/editor/index";
@@ -387,6 +400,7 @@ @@ -387,6 +400,7 @@
387 wangEditor, 400 wangEditor,
388 upimg 401 upimg
389 }, 402 },
  403 +
390 data() { 404 data() {
391 return { 405 return {
392 uploadFileUrl: uploadUrl, // 请求地址 406 uploadFileUrl: uploadUrl, // 请求地址
@@ -481,6 +495,8 @@ @@ -481,6 +495,8 @@
481 yugu: null, 495 yugu: null,
482 fun: null 496 fun: null
483 }, 497 },
  498 +fenxiData:[],
  499 +lishiList:'',
484 500
485 } 501 }
486 }, 502 },
@@ -490,6 +506,7 @@ @@ -490,6 +506,7 @@
490 }, 506 },
491 mounted() { 507 mounted() {
492 this.editTrue = true 508 this.editTrue = true
  509 + this.lishi()
493 }, 510 },
494 methods: { 511 methods: {
495 //获取当前时间 512 //获取当前时间
@@ -504,6 +521,22 @@ @@ -504,6 +521,22 @@
504 521
505 this.currentTime = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; 522 this.currentTime = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
506 }, 523 },
  524 + lishi(){
  525 + lishiDeta({eventDetailsType:'1'}).then(res=>{
  526 + this.fenxiData = res.data
  527 + })
  528 + },
  529 + lichange(e){
  530 +
  531 + let msg =this.fenxiData[e]
  532 + let obj = JSON.parse(msg.originalData)
  533 +
  534 + for (let key in obj) {
  535 + if (this.ruleForm.hasOwnProperty(key)) {
  536 + this.ruleForm[key] = obj[key];
  537 + }
  538 + }
  539 + },
507 zancun() {}, 540 zancun() {},
508 //上传 541 //上传
509 submitUpload() { 542 submitUpload() {
yanshouban/src/views/activity/activityHis.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 style="color:#000000e6">活动策划调整</span></div>
  6 + </div>
  7 + <div>
  8 + <!-- 搜索 -->
  9 + <div class="formSearch">
  10 + <div class="demo-input-suffix">
  11 + <div v-if="searPei.name" style="display: flex;">
  12 + <div style="width: 68px;height:36px;line-height:36px;" >方案名称</div>
  13 + <el-input placeholder="请输入" v-model="formSear.planName" style="width:168px;">
  14 + </el-input>
  15 + </div>
  16 + <!-- <div v-if="searPei.lei" style="display: flex;">
  17 + <div style="width: 68px;height:36px;line-height:36px;">方案类型</div>
  18 + <el-input placeholder="请输入" v-model="planName" style="width:168px;">
  19 + </el-input>
  20 + </div> -->
  21 + <div v-if="searPei.staut" style="display: flex;">
  22 + <div style="width: 68px;height:36px;line-height:36px;">审批状态</div>
  23 + <el-select v-model="formSear.state" placeholder="请选择"
  24 + style="width: 100px;margin-right: 5px">
  25 + <el-option label="待提交" value="" />
  26 + <el-option label="待审核" value="1" />
  27 + <el-option label="已通过" value="5" />
  28 + <el-option label="已驳回" value="6" />
  29 + </el-select>
  30 + </el-input>
  31 + </div>
  32 +
  33 +
  34 + </div>
  35 + <div >
  36 +
  37 + <el-button @click="onSubmit" style="background-color: #3F9B6A;color: #fff">查询
  38 + </el-button>
  39 + <el-button @click="resetting"
  40 + class="buttonHover"
  41 + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;">重置
  42 + </el-button>
  43 + </div>
  44 + </div>
  45 + <div style="margin: 20px 0;">
  46 + <div style="display:flex;">
  47 + <el-button style="background-color: #3F9B6A;color: #fff;" @click="setSearch">搜索关键词设置</el-button>
  48 + <el-button style="background-color: #3F9B6A;color: #fff;" @click="duibi">效果对比</el-button>
  49 + <el-upload class="upload-demo" ref="upload"
  50 + :limit="1"
  51 + accept=".xlsx"
  52 + :action="uploadFileUrl"
  53 + :on-success="daoru"
  54 + :file-list="daoData"
  55 + :auto-upload="true"
  56 + :show-file-list="false">
  57 + <el-button style="background-color: #fff;color: #3F9B6A;border: 1px solid #dcdfe6;margin:0 15px;" class="buttonHover" >导入</el-button>
  58 + </el-upload>
  59 +
  60 + <el-button style="background-color: #3F9B6A;color: #fff;" @click="daochu">审核流程导出</el-button>
  61 + <!-- <el-button style="background-color: #fff;color: #000;border: 1px solid #B1B1B1;"
  62 + icon="el-icon-folder-add" class="buttonHover" @click="xinFenlei">活动分类管理</el-button> -->
  63 + </div>
  64 +
  65 + </div>
  66 + <!-- 分栏 -->
  67 + <div class="fenlan">
  68 + <!-- 搜索分类 -->
  69 +
  70 + <div class="tableList">
  71 +
  72 + <!-- 表格 -->
  73 + <div>
  74 + <el-table :data="tableData.slice((currentPage - 1) * pageSize, currentPage * pageSize)"
  75 + @selection-change="handleSelectionChange" tooltip-effect="dark" align="left"
  76 + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"
  77 + ref="mulTable">
  78 + <el-table-column type="selection" width="80">
  79 + </el-table-column>
  80 + <el-table-column label="方案名称" width="300" prop="planName">
  81 + </el-table-column>
  82 + <el-table-column label="类型" prop="planType" width="80">
  83 + </el-table-column>
  84 + <!-- <el-table-column label="发布状态" width="80" >
  85 +
  86 + </el-table-column> -->
  87 + <el-table-column label="审批状态" width="150">
  88 + <template slot-scope="scope">
  89 + {{scope.row.state == ''?'待提交':scope.row.state == '1'?'待审批':scope.row.state == '2'?'部门领导审批':scope.row.state == '3'?'公司领导审批':scope.row.state == '4'?'其他审批':scope.row.state == '5'?'审核通过':'已驳回'}}
  90 + </template>
  91 + </el-table-column>
  92 + <el-table-column label="创建时间" prop="createDate"width="250" >
  93 + </el-table-column>
  94 + <el-table-column prop="auditReminderTime" label="审核提醒时间" width="200">
  95 +
  96 + </el-table-column>
  97 + <el-table-column label="操作" width="350">
  98 + <template slot-scope="scope">
  99 + <div @click="actBian(scope.row)" class="tableBtn greens" v-if="scope.row.state == ''">修改</div>
  100 + <!-- <div class="tableBtn greens">发布</div> -->
  101 + <div class="tableBtn greens" @click="handleEditForm(scope.row)">执行情况</div>
  102 + <!-- <div class="tableBtn greens" @click="handleEditForm(scope.row)">历史方案查看</div> -->
  103 +
  104 + <!-- <div class="tableBtn greens">策略调整</div> -->
  105 + <!-- <div class="tableBtn greens" @click="koop(scope.row)">复制</div> -->
  106 + </template>
  107 + </el-table-column>
  108 +</el-table>
  109 +<div class="fenye">
  110 + <div>
  111 + <el-button @click="tableAll" class="buttonHover" style="color: #000;border: 1px solid #DBDBDB;background-color: #fff;">选择全部
  112 + </el-button>
  113 + <el-button @click="toggleSelection(tableData)"
  114 + class="buttonHover"
  115 + style="color: #000;border: 1px solid #DBDBDB;background-color: #fff;">反向选择
  116 + </el-button>
  117 + </div>
  118 + <el-pagination class="pagination" :hide-on-single-page="flag" background small :current-page="currentPage"
  119 + :page-size="pageSize" layout="prev,pager,next" :total="total"
  120 + @current-change="handleCurrentChange" />
  121 +</div>
  122 +
  123 +</div>
  124 +</div>
  125 +</div>
  126 +
  127 +
  128 +
  129 +<!-- 详情活动方案 -->
  130 +<el-dialog title="活动方案详情" :visible.sync="ggXin" custom-class='xiang_css' style="padding: 0;" width="80%" center
  131 + :close-on-click-modal="false" :close-on-press-escape="false" @close="refreshData">
  132 + <div ref="actXiang">
  133 + <div style="width: 100%;">
  134 + <div style="display: flex;padding:0px 20px 20px 20px; ">
  135 + <div style="width: 150px;height: 80px;" v-if="secondData.coverPoster">
  136 + <img :src="secondData.coverPoster" alt="" style="width: 100%;height: 80px;" />
  137 + </div>
  138 + <div
  139 + style="display: flex;flex-direction: column;justify-content: space-around;padding: 0 10px;font-size: 12px;">
  140 + <span style="margin-bottom: 10px;">{{text}}</span>
  141 + <span>活动时间:{{tableData1[1].eventTheme}}至{{tableData1[1].planName}}</span>
  142 + <span>活动地点:{{tableData1[0].planName}}</span>
  143 + </div>
  144 + </div>
  145 + </div>
  146 + <div style="width: 100%;background-color: #fff;">
  147 + <el-tabs v-model="activeName" @tab-click="handleClick" style="padding-left:20px;">
  148 + <el-tab-pane label="方案概况" name="first"></el-tab-pane>
  149 + <el-tab-pane label="执行效果" name="second"></el-tab-pane>
  150 + <el-tab-pane label="历史方案" name="fourd"></el-tab-pane>
  151 + </el-tabs>
  152 + </div>
  153 + <div v-if="activeName=='first'" style="display: flex;">
  154 + <div style="width: 100%;">
  155 + <div style="width: 100%;">
  156 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">基本信息</div>
  157 + <div style="padding: 10px 20px;">
  158 + <el-table :data="tableData1"
  159 + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}"
  160 + style="width: 100%;margin: auto;">
  161 + <el-table-column class-name="first-column-bg" label="方案编号" prop="name" min-width="15%">
  162 + </el-table-column>
  163 + <el-table-column :label="id" prop="eventTheme" min-width="35%">
  164 +
  165 + </el-table-column>
  166 + <el-table-column class-name="first-column-bg" label="方案名称" prop="text" min-width="15%">
  167 +
  168 + </el-table-column>
  169 + <el-table-column :label="text" prop="planName" min-width="35%">
  170 +
  171 + </el-table-column>
  172 + </el-table>
  173 +
  174 +
  175 + </div>
  176 + </div>
  177 + <div style="width: 100%;">
  178 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">活动明细信息</div>
  179 + <div style="padding: 10px 20px;">
  180 + <el-table :data="tableData2"
  181 + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}"
  182 + style="width: 100%;margin: auto;">
  183 + <el-table-column label="序号" min-width="5%" align='center'>
  184 + <template slot-scope="scope">
  185 + <span style="">{{ scope.$index +1}}</span>
  186 + </template>
  187 + </el-table-column>
  188 + <el-table-column label="明细项名称" prop="detailLtemName" min-width="28%">
  189 + </el-table-column>
  190 + <el-table-column label="预估数量" prop="estimatedQuantity" min-width="20%">
  191 +
  192 + </el-table-column>
  193 + <el-table-column label="预估费用" prop="estimatedCost" min-width="20%">
  194 +
  195 + </el-table-column>
  196 + <el-table-column label="备注" prop="notes" min-width="20%">
  197 + </el-table-column>
  198 + </el-table>
  199 + </div>
  200 + </div>
  201 + <div style="width: 100%;">
  202 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">活动成本信息</div>
  203 + <div style="padding:10px 20px;">
  204 + <el-table :data="tableData3"
  205 + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}"
  206 + style="width: 100%;margin: auto;">
  207 + <el-table-column class-name="first-column-bg" label="内部人力成本预估" prop="name" min-width="15%">
  208 + </el-table-column>
  209 + <el-table-column :label="internalLaborCostEstimation" prop="eventTheme" min-width="35%">
  210 +
  211 + </el-table-column>
  212 + <el-table-column class-name="first-column-bg" label="外部人力成本预估" prop="text" min-width="15%">
  213 +
  214 + </el-table-column>
  215 + <el-table-column :label="externalLaborCostEstimation" prop="planName" min-width="35%">
  216 +
  217 + </el-table-column>
  218 + </el-table>
  219 + </div>
  220 + </div>
  221 + <div style="width: 100%;">
  222 + <div style="font-size: 14px;padding:10px 20px 0px 20px;">预估效果</div>
  223 + <div style="padding:10px 20px;">
  224 + <el-table :data="tableData4"
  225 + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}"
  226 + style="width: 100%;margin: auto;">
  227 + <el-table-column class-name="first-column-bg" label="预计吸引流量" prop="name" min-width="15%">
  228 + </el-table-column>
  229 + <el-table-column :label="expectedAttractTraffic" prop="eventTheme" min-width="35%">
  230 +
  231 + </el-table-column>
  232 + <el-table-column class-name="first-column-bg" label="预计参与人数" prop="text" min-width="15%">
  233 +
  234 + </el-table-column>
  235 + <el-table-column :label="expectedParticipation" prop="planName" min-width="35%">
  236 +
  237 + </el-table-column>
  238 + </el-table>
  239 + </el-table-column>
  240 + </div>
  241 + </div>
  242 + <div style="width: 100%;">
  243 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">相关附件信息</div>
  244 + <div style="padding:10px 20px;">
  245 + <el-table :data="tableData6"
  246 + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}"
  247 + style="width: 100%;margin: auto;">
  248 + <el-table-column label="序号" min-width="5%" align='center'>
  249 + <template slot-scope="scope">
  250 + <span style="">{{ scope.$index + 1 }}</span>
  251 + </template>
  252 + </el-table-column>
  253 + <el-table-column label="附件名称" prop="attachmentName" min-width="75%">
  254 + </el-table-column>
  255 + <el-table-column label="操作" min-width="20%">
  256 + <template slot-scope="scope">
  257 + <!-- <div class="tableBtn greens" @click="Down(scope.row)">下载</div> -->
  258 + <a class="tableBtn greens" :href="scope.row.attachmentUrl" target="_blank" download>下载</a>
  259 + </template>
  260 + </el-table-column>
  261 +
  262 + </el-table>
  263 + </div>
  264 + </div>
  265 + <div style="width: 100%;">
  266 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">系统信息</div>
  267 + <div style="padding:10px 20px;">
  268 + <el-table :data="tableData5"
  269 + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}"
  270 + style="width: 100%;margin: auto;">
  271 + <el-table-column class-name="first-column-bg" label="创建人" prop="name" min-width="15%">
  272 + </el-table-column>
  273 + <el-table-column :label="createUser" prop="eventTheme" min-width="35%">
  274 +
  275 + </el-table-column>
  276 + <el-table-column class-name="first-column-bg" label="创建时间" prop="text" min-width="15%">
  277 +
  278 + </el-table-column>
  279 + <el-table-column :label="createDate" prop="planName" min-width="35%">
  280 +
  281 + </el-table-column>
  282 + </el-table>
  283 + </div>
  284 + </div>
  285 + </div>
  286 + </div>
  287 + <div v-if="activeName=='second'">
  288 + <div style="padding: 20px">
  289 + <div style="border: solid 1px #E5E5E5;border-radius: 5px">
  290 + <div style="border-bottom: 1px solid #E5E5E5;padding: 1px">
  291 + <div style="padding: 10px 20px;background-color: #FAFAFA;font-size: 14px;">
  292 + 基本信息
  293 + </div>
  294 + </div>
  295 + <div style="padding: 20px 40px 20px 20px">
  296 + <el-form label-position="top" ref="ruleFormInfo" :model="zhixingList" label-width="120px"
  297 + style="position: relative">
  298 + <el-row :gutter="20">
  299 + <el-col :span="8">
  300 + <el-form-item label="活动名称" class="grid-content bg-purple device-from" prop="name">
  301 + <el-input v-model="zhixingList.planName" placeholder="请输入" :disabled="!zhixingBian" />
  302 + </el-form-item>
  303 + </el-col>
  304 + <el-col :span="8">
  305 + <el-form-item label="实际举办地点" class="grid-content bg-purple" prop="name">
  306 + <el-input v-model="zhixingList.eventAddrs" placeholder="请输入" :disabled="!zhixingBian" />
  307 + </el-form-item>
  308 + </el-col>
  309 +
  310 + <el-col :span="8">
  311 + <el-form-item label="实际举办时间" class="grid-content bg-purple" prop="event_start_time"
  312 + style="position: relative">
  313 + <el-date-picker style="width: 100%;" v-model="zhixingList.planTime"
  314 + @input="formTime"
  315 + value-format="yyyy-MM-dd HH:mm:ss" :disabled="!zhixingBian" type="datetimerange"
  316 + range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" align="right"
  317 + >
  318 + </el-date-picker>
  319 + </el-form-item>
  320 + </el-col>
  321 + </el-row>
  322 +
  323 + <el-row :gutter="20">
  324 + <el-col :span="8">
  325 + <el-form-item label="活动主办方" class="grid-content bg-purple" prop="name">
  326 + <el-input v-model="zhixingList.sponsor" placeholder="请输入" :disabled="!zhixingBian" />
  327 + </el-form-item>
  328 + </el-col>
  329 + <el-col :span="8">
  330 + <el-form-item label="活动实际参与方" class="grid-content bg-purple" prop="name">
  331 + <el-input v-model="zhixingList.participants" placeholder="请输入" :disabled="!zhixingBian" />
  332 + </el-form-item>
  333 + </el-col>
  334 + </el-row>
  335 + </el-form>
  336 + </div>
  337 + </div>
  338 + </div>
  339 + <div style="padding: 0px 20px 20px 20px">
  340 + <div style="border: solid 1px #E5E5E5;border-radius: 5px">
  341 + <div style="border-bottom: 1px solid #E5E5E5;padding: 1px;display: flex">
  342 + <div style="padding: 10px 20px;background-color: #FAFAFA;font-size: 14px;">
  343 + 活动明细信息
  344 + </div>
  345 + <div style="color: #2d8a58;margin-top: 10px;font-size: 14px;" @click="tianMing">
  346 + 添加明细
  347 + </div>
  348 + </div>
  349 + <!-- 表格-->
  350 + <div style="padding: 20px 20px 20px 20px">
  351 + <el-table :data="tableDa"
  352 + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}"
  353 + style="width: 100%">
  354 + <el-table-column label="序号" width="auto" min-width="5%" prop="date" align="center">
  355 + <template slot-scope="scope">
  356 + {{scope.$index +1}}
  357 + </template>
  358 + </el-table-column>
  359 + <el-table-column label="明细项名称" prop="detailLtemName" width="auto" min-width="22%">
  360 +
  361 + </el-table-column>
  362 + <el-table-column label="预估数量" prop="estimatedQuantity" width="auto" min-width="15%">
  363 +
  364 + </el-table-column>
  365 + <el-table-column label="预估费用" prop="estimatedCost" width="auto" min-width="15%">
  366 + </el-table-column>
  367 + <el-table-column prop="notes" label="备注" width="auto" min-width="15%">
  368 + </el-table-column>
  369 + <el-table-column label="操作" width="auto" min-width="18%" v-if="zhixingBian">
  370 + <template slot-scope="scope">
  371 + <!-- <div class="tableBtn greens">详情</div> -->
  372 + <div class="tableBtn greens" @click="MingDelete(scope.$index,scope.row)">删除</div>
  373 + </template>
  374 + </el-table-column>
  375 + </el-table>
  376 +
  377 + </div>
  378 + </div>
  379 + </div>
  380 + <div style="padding: 20px">
  381 + <div style="border: solid 1px #E5E5E5;border-radius: 5px;padding-bottom: 20px;">
  382 + <div style="border-bottom: 1px solid #E5E5E5;padding: 1px">
  383 + <div style="padding: 10px 20px;background-color: #FAFAFA;font-size: 14px;">
  384 + 实际花费成本
  385 + </div>
  386 + </div>
  387 + <div style="padding: 20px 40px 0px 20px">
  388 + <el-form label-position="top" ref="ruleFormInfo" :model="zhixingList" label-width="120px"
  389 + style="position: relative">
  390 + <el-row :gutter="20">
  391 + <el-col :span="8">
  392 + <el-form-item label="内部人力成本预估" class="grid-content bg-purple device-from" prop="name">
  393 + <el-input v-model="zhixingList.internalLaborCostEstimation" placeholder="请输入"
  394 + :disabled="!zhixingBian" />
  395 + </el-form-item>
  396 + </el-col>
  397 + <el-col :span="8">
  398 + <el-form-item label="外部人力成本预估" class="grid-content bg-purple" prop="name">
  399 + <el-input v-model="zhixingList.externalLaborCostEstimation" placeholder="请输入"
  400 + :disabled="!zhixingBian" />
  401 + </el-form-item>
  402 + </el-col>
  403 +
  404 + <el-col :span="8">
  405 + <el-form-item label="商品成本预估" class="grid-content bg-purple" prop="name">
  406 + <el-input v-model="zhixingList.costEstimationGoods" placeholder="请输入" :disabled="!zhixingBian" />
  407 + </el-form-item>
  408 + </el-col>
  409 + </el-row>
  410 +
  411 + <el-row :gutter="20">
  412 + <el-col :span="8">
  413 + <el-form-item label="设备成本" class="grid-content bg-purple" prop="name">
  414 + <el-input v-model="zhixingList.setCostEstimate" placeholder="请输入" :disabled="!zhixingBian" />
  415 + </el-form-item>
  416 + </el-col>
  417 + <el-col :span="8">
  418 + <el-form-item label="宣传费用" class="grid-content bg-purple" prop="name">
  419 + <el-input v-model="zhixingList.estimatedPromotionalExpenses" placeholder="请输入"
  420 + :disabled="!zhixingBian" />
  421 + </el-form-item>
  422 + </el-col>
  423 + <el-col :span="8">
  424 + <el-form-item label="其他成本" class="grid-content bg-purple" prop="name">
  425 + <el-input v-model="zhixingList.otherNecessaryEstimates" placeholder="请输入"
  426 + :disabled="!zhixingBian" />
  427 + </el-form-item>
  428 + </el-col>
  429 + </el-row>
  430 +
  431 + <el-row :gutter="20">
  432 + <el-col :span="8">
  433 + <el-form-item label="总成本" prop="name" class="grid-content bg-purple">
  434 + <el-input v-model="zhixingList.totalCostEstimation" placeholder="请输入" :disabled="!zhixingBian" />
  435 + </el-form-item>
  436 + </el-col>
  437 + <el-col :span="16">
  438 + <el-form-item label="备注" prop="name" class="grid-content bg-purple">
  439 + <el-input v-model="zhixingList.notes" placeholder="请输入" :disabled="!zhixingBian" />
  440 + </el-form-item>
  441 + </el-col>
  442 + </el-row>
  443 + </el-form>
  444 + </div>
  445 + </div>
  446 + </div>
  447 +
  448 + <div style="padding: 20px">
  449 + <div style="border: solid 1px #E5E5E5;border-radius: 5px;padding-bottom: 20px;">
  450 + <div style="border-bottom: 1px solid #E5E5E5;padding: 1px">
  451 + <div style="padding: 10px 20px;background-color: #FAFAFA;font-size: 14px;">
  452 + 活动执行效果
  453 + </div>
  454 + </div>
  455 + <div style="padding: 20px 40px 0px 20px">
  456 + <el-form label-position="top" ref="ruleFormInfo" :model="zhixingList" label-width="120px"
  457 + style="position: relative">
  458 + <el-row :gutter="20">
  459 + <el-col :span="8">
  460 + <el-form-item label="吸引流量" class="grid-content bg-purple device-from" prop="name">
  461 + <el-input v-model="zhixingList.expectedAttractTraffic" placeholder="请输入" :disabled="!zhixingBian" />
  462 + </el-form-item>
  463 + </el-col>
  464 + <el-col :span="8">
  465 + <el-form-item label="参与人数" class="grid-content bg-purple" prop="name">
  466 + <el-input v-model="zhixingList.expectedParticipation" placeholder="请输入" :disabled="!zhixingBian" />
  467 + </el-form-item>
  468 + </el-col>
  469 +
  470 + <el-col :span="8">
  471 + <el-form-item label="直接收益" class="grid-content bg-purple" prop="name">
  472 + <el-input v-model="zhixingList.expectedDirectBenefits" placeholder="请输入" :disabled="!zhixingBian" />
  473 + </el-form-item>
  474 + </el-col>
  475 + </el-row>
  476 + <el-row :gutter="20">
  477 + <el-col :span="8">
  478 + <el-form-item label="间接收益" class="grid-content bg-purple" prop="name">
  479 + <el-input v-model="zhixingList.expectedIndirectBenefits" placeholder="请输入"
  480 + :disabled="!zhixingBian" />
  481 + </el-form-item>
  482 + </el-col>
  483 +
  484 + </el-row>
  485 + <el-row :gutter="20">
  486 + <el-col :span="24">
  487 + <el-form-item label="反馈内容" class="grid-content bg-purple" prop="name">
  488 + <el-upload class="upload-demo" ref="upload" :on-remove="handleRemove"
  489 + :action="uploadFileUrl" :on-success="handleUploadSuccess" :file-list="fileData"
  490 + :show-file-list="true" v-if="zhixingBian">
  491 + <el-button style="background-color: #fff;color: #3F9B6A;border: 1px solid #dcdfe6;" class="buttonHover" v-if="fileData.length==0">+点击上传</el-button>
  492 + </el-upload>
  493 + <div v-else>{{zhixingList.feedbackContent}}</div>
  494 + </el-form-item>
  495 + </el-col>
  496 +
  497 + </el-row>
  498 + </el-form>
  499 + </div>
  500 + </div>
  501 + </div>
  502 +
  503 + </div>
  504 + <div v-if="activeName=='fourd'">
  505 + <div>
  506 + <el-select v-model="lishiList" placeholder="请选择" style="margin:0 20px 20px 20px;" @change="lichange">
  507 + <el-option
  508 + v-for="(item,index) in liData"
  509 + :key="item.id"
  510 + :label="item.operationType"
  511 + :value="index">
  512 + </el-option>
  513 + </el-select>
  514 + <el-button @click="tiaozheng" style="background-color: #3F9B6A;color: #fff" v-if="lishiList!=null" >调整对比
  515 + </el-button>
  516 + </div>
  517 + <div style="width: 100%;" v-if="lishiList!=null" ref="lishiRef">
  518 + <div style="width: 100%;">
  519 + <div style="padding: 10px 20px;">
  520 + <el-descriptions class="margin-top" title="基本信息" :column="2" border :labelStyle="labelStyle" >
  521 + <el-descriptions-item>
  522 + <template slot="label">
  523 + 方案编号
  524 + </template>
  525 + {{lixiang.id}}
  526 + </el-descriptions-item>
  527 + <el-descriptions-item>
  528 + <template slot="label">
  529 + 方案名称
  530 + </template>
  531 +
  532 + <span :style="duibiList.planName == lixiang.planName?'color: red':''" >{{lixiang.planName}}</span>
  533 + </el-descriptions-item>
  534 + <el-descriptions-item>
  535 + <template slot="label">
  536 + 类型
  537 + </template>
  538 +<span :style="duibiList.planType == lixiang.planType?'color: red':''" >{{lixiang.planType}}</span>
  539 + </el-descriptions-item>
  540 + <el-descriptions-item>
  541 + <template slot="label">
  542 + 活动地点
  543 + </template>
  544 +
  545 + <span :style="duibiList.eventAddrs == lixiang.eventAddrs?'color: red':''" >{{lixiang.eventAddrs}}</span>
  546 + </el-descriptions-item>
  547 + <el-descriptions-item>
  548 + <template slot="label">
  549 + 活动开始时间
  550 + </template>
  551 +
  552 + <span :style="duibiList.eventStartTime == lixiang.eventStartTime?'color: red':''" >{{lixiang.eventStartTime}}</span>
  553 + </el-descriptions-item>
  554 + <el-descriptions-item>
  555 + <template slot="label">
  556 + 活动结束时间
  557 + </template>
  558 +
  559 +<span :style="duibiList.eventEndTime == lixiang.eventEndTime?'color: red':''" >{{lixiang.eventEndTime}}</span>
  560 + </el-descriptions-item>
  561 + <el-descriptions-item>
  562 + <template slot="label">
  563 + 活动主题
  564 + </template>
  565 + <span :style="duibiList.eventTheme == lixiang.eventTheme?'color: red':''" >{{lixiang.eventTheme}}</span>
  566 + </el-descriptions-item>
  567 + <el-descriptions-item>
  568 + <template slot="label">
  569 + 活动主办方
  570 + </template>
  571 +<span :style="duibiList.sponsor == lixiang.sponsor?'color: red':''" >{{lixiang.sponsor}}</span>
  572 +
  573 + </el-descriptions-item>
  574 + <el-descriptions-item>
  575 + <template slot="label">
  576 + 活动参与方
  577 + </template>
  578 +
  579 +<span :style="duibiList.participants == lixiang.participants?'color: red':''" >{{lixiang.participants}}</span>
  580 + </el-descriptions-item>
  581 + <el-descriptions-item>
  582 + <template slot="label">
  583 + 活动主要目的
  584 + </template>
  585 +
  586 +<span :style="duibiList.mainPurpose == lixiang.mainPurpose?'color: red':''" >{{lixiang.mainPurpose}}</span>
  587 + </el-descriptions-item>
  588 + <el-descriptions-item>
  589 + <template slot="label">
  590 + 范围设置
  591 + </template>
  592 +
  593 +<span :style="duibiList.rangeSetting == lixiang.rangeSetting?'color: red':''" >{{lixiang.rangeSetting}}</span>
  594 + </el-descriptions-item>
  595 + <el-descriptions-item>
  596 + <template slot="label">
  597 + 状态
  598 + </template>
  599 +
  600 +{{getStatus(lixiang.state)}}
  601 +
  602 + </el-descriptions-item>
  603 + </el-descriptions>
  604 +
  605 + </div>
  606 + </div>
  607 + <div style="width: 100%;">
  608 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">活动明细信息</div>
  609 + <div style="padding: 10px 20px;">
  610 + <el-table :data="tableData2"
  611 + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}"
  612 + style="width: 100%;margin: auto;">
  613 + <el-table-column label="序号" min-width="5%" align='center'>
  614 + <template slot-scope="scope">
  615 + <span style="">{{ scope.$index +1}}</span>
  616 + </template>
  617 + </el-table-column>
  618 + <el-table-column label="明细项名称" prop="detailLtemName" min-width="28%">
  619 + </el-table-column>
  620 + <el-table-column label="预估数量" prop="estimatedQuantity" min-width="20%">
  621 +
  622 + </el-table-column>
  623 + <el-table-column label="预估费用" prop="estimatedCost" min-width="20%">
  624 +
  625 + </el-table-column>
  626 + <el-table-column label="备注" prop="notes" min-width="20%">
  627 + </el-table-column>
  628 + </el-table>
  629 + </div>
  630 + </div>
  631 + <div style="width: 100%;">
  632 + <div style="padding:10px 20px;">
  633 + <el-descriptions class="margin-top" title="活动成本信息" :column="2" border :labelStyle="labelStyle" >
  634 + <el-descriptions-item>
  635 + <template slot="label">
  636 + 内部人力成本预估
  637 + </template>
  638 +
  639 +<span :style="duibiList.internalLaborCostEstimation == lixiang.internalLaborCostEstimation?'color: red':''" >{{lixiang.internalLaborCostEstimation}}</span>
  640 + </el-descriptions-item>
  641 + <el-descriptions-item>
  642 + <template slot="label">
  643 + 外部人力成本预估
  644 + </template>
  645 +
  646 + <span :style="duibiList.externalLaborCostEstimation == lixiang.externalLaborCostEstimation?'color: red':''" >{{lixiang.externalLaborCostEstimation}}</span>
  647 + </el-descriptions-item>
  648 + <el-descriptions-item>
  649 + <template slot="label">
  650 + 商品成本预估
  651 + </template>
  652 +
  653 +<span :style="duibiList.costEstimationGoods == lixiang.costEstimationGoods?'color: red':''" >{{lixiang.costEstimationGoods}}</span>
  654 + </el-descriptions-item>
  655 + <el-descriptions-item>
  656 + <template slot="label">
  657 + 设备成本预估
  658 + </template>
  659 +
  660 +<span :style="duibiList.setCostEstimate == lixiang.setCostEstimate?'color: red':''" >{{lixiang.setCostEstimate}}</span>
  661 + </el-descriptions-item>
  662 + <el-descriptions-item>
  663 + <template slot="label">
  664 + 宣传费用预估
  665 + </template>
  666 +
  667 + <span :style="duibiList.estimatedPromotionalExpenses == lixiang.estimatedPromotionalExpenses?'color: red':''" >{{lixiang.estimatedPromotionalExpenses}}</span>
  668 + </el-descriptions-item>
  669 + <el-descriptions-item>
  670 + <template slot="label">
  671 + 其他必要成本预估
  672 + </template>
  673 +
  674 +<span :style="duibiList.otherNecessaryEstimates == lixiang.otherNecessaryEstimates?'color: red':''" >{{lixiang.otherNecessaryEstimates}}</span>
  675 + </el-descriptions-item>
  676 + <el-descriptions-item>
  677 + <template slot="label">
  678 + 总成本预估
  679 + </template>
  680 +
  681 +<span :style="duibiList.totalCostEstimation == lixiang.totalCostEstimation?'color: red':''" >{{lixiang.totalCostEstimation}}</span>
  682 + </el-descriptions-item>
  683 + <el-descriptions-item>
  684 + <template slot="label">
  685 + 备注
  686 + </template>
  687 +
  688 +<span :style="duibiList.notes == lixiang.notes?'color: red':''" >{{lixiang.notes}}</span>
  689 + </el-descriptions-item>
  690 + </el-descriptions>
  691 + </div>
  692 + </div>
  693 + <div style="width: 100%;">
  694 +
  695 + <div style="padding:10px 20px;">
  696 + <el-descriptions class="margin-top" title="预估效果" :column="2" border :labelStyle="labelStyle" >
  697 + <el-descriptions-item>
  698 + <template slot="label">
  699 + 预计吸引流量
  700 + </template>
  701 +
  702 +<span :style="duibiList.expectedAttractTraffic == lixiang.expectedAttractTraffic?'color: red':''" >{{lixiang.expectedAttractTraffic}}</span>
  703 + </el-descriptions-item>
  704 + <el-descriptions-item>
  705 + <template slot="label">
  706 + 预计参与人数
  707 + </template>
  708 +
  709 +<span :style="duibiList.expectedParticipation == lixiang.expectedParticipation?'color: red':''" >{{lixiang.expectedParticipation}}</span>
  710 + </el-descriptions-item>
  711 + <el-descriptions-item>
  712 + <template slot="label">
  713 + 预计直接收益
  714 + </template>
  715 +
  716 +<span :style="duibiList.expectedDirectBenefits == lixiang.expectedDirectBenefits?'color: red':''" >{{lixiang.expectedDirectBenefits}}</span>
  717 + </el-descriptions-item>
  718 + <el-descriptions-item>
  719 + <template slot="label">
  720 + 预计间接收益
  721 + </template>
  722 +
  723 +<span :style="duibiList.expectedIndirectBenefits == lixiang.expectedIndirectBenefits?'color: red':''" >{{lixiang.expectedIndirectBenefits}}</span>
  724 + </el-descriptions-item>
  725 +
  726 + </el-descriptions>
  727 +
  728 + </div>
  729 + </div>
  730 + <div style="width: 100%;">
  731 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">相关附件信息</div>
  732 + <div style="padding:10px 20px;">
  733 + <el-table :data="tableData6"
  734 + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}"
  735 + style="width: 100%;margin: auto;">
  736 + <el-table-column label="序号" min-width="5%" align='center'>
  737 + <template slot-scope="scope">
  738 + <span style="">{{ scope.$index + 1 }}</span>
  739 + </template>
  740 + </el-table-column>
  741 + <el-table-column label="附件名称" prop="attachmentName" min-width="75%">
  742 + </el-table-column>
  743 + <el-table-column label="操作" min-width="20%">
  744 + <template slot-scope="scope">
  745 + <!-- <div class="tableBtn greens" @click="Down(scope.row)">下载</div> -->
  746 + <a class="tableBtn greens" :href="scope.row.attachmentUrl" target="_blank" download>下载</a>
  747 + </template>
  748 + </el-table-column>
  749 +
  750 + </el-table>
  751 + </div>
  752 + </div>
  753 + <div style="width: 100%;">
  754 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">系统信息</div>
  755 + <div style="padding:10px 20px;">
  756 + <el-table :data="tableData5"
  757 + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}"
  758 + style="width: 100%;margin: auto;">
  759 + <el-table-column class-name="first-column-bg" label="创建人" prop="name" min-width="15%">
  760 + </el-table-column>
  761 + <el-table-column :label="createUser" prop="eventTheme" min-width="35%">
  762 +
  763 + </el-table-column>
  764 + <el-table-column class-name="first-column-bg" label="创建时间" prop="text" min-width="15%">
  765 +
  766 + </el-table-column>
  767 + <el-table-column :label="createDate" prop="planName" min-width="35%">
  768 +
  769 + </el-table-column>
  770 + </el-table>
  771 + </div>
  772 + </div>
  773 + </div>
  774 + </div>
  775 + </div>
  776 + <div style="display: flex;justify-content: flex-end;padding:10px" v-if="activeName=='fourd'">
  777 + <el-button @click="lishidownloadPdf" style="background-color: #3F9B6A;color: #fff" >导出
  778 + </el-button></div>
  779 + <div style="display: flex;justify-content: flex-end;padding:10px" v-if="activeName=='first'">
  780 + <el-button @click="downloadPdf" style="background-color: #3F9B6A;color: #fff" >导出
  781 + </el-button>
  782 + <el-button @click="jiucuo" style="background-color: #3F9B6A;color: #fff" >活动策划调整纠错
  783 + </el-button>
  784 + </div>
  785 +</el-dialog>
  786 +</div>
  787 +</div>
  788 +<!-- 调整对比 -->
  789 +<el-dialog title="调整对比" :visible.sync="tiaozhengShow" custom-class='xiang_css' style="padding: 0;" width="80%" center
  790 + :close-on-click-modal="false" :close-on-press-escape="false" @close="reshData">
  791 + <div>
  792 + <div style="width: 100%;">
  793 + <div style="display: flex;padding:0px 20px 20px 20px; ">
  794 + <div style="width: 150px;height: 80px;" v-if="secondData.coverPoster">
  795 + <img :src="secondData.coverPoster" alt="" style="width: 100%;height: 80px;" />
  796 + </div>
  797 + <div
  798 + style="display: flex;flex-direction: column;justify-content: space-around;padding: 0 10px;font-size: 12px;">
  799 + <span style="margin-bottom: 10px;">{{text}}</span>
  800 + <span>活动时间:{{tableData1[1].eventTheme}}至{{tableData1[1].planName}}</span>
  801 + <span>活动地点:{{tableData1[0].planName}}</span>
  802 + </div>
  803 + </div>
  804 + </div>
  805 +
  806 + <div style="display: flex;">
  807 + <div style="width: 50%;">
  808 + <div style="width: 100%;">
  809 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">修改后</div>
  810 + <div style="padding: 10px 20px;">
  811 + <el-table :data="tableData1"
  812 + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}"
  813 + style="width: 100%;margin: auto;">
  814 + <el-table-column class-name="first-column-bg" label="方案编号" prop="name" min-width="15%">
  815 + </el-table-column>
  816 + <el-table-column :label="id" prop="eventTheme" min-width="35%">
  817 +
  818 + </el-table-column>
  819 + <el-table-column class-name="first-column-bg" label="方案名称" prop="text" min-width="15%">
  820 +
  821 + </el-table-column>
  822 + <el-table-column :label="text" prop="planName" min-width="35%">
  823 +
  824 + </el-table-column>
  825 + </el-table>
  826 +
  827 +
  828 + </div>
  829 + </div>
  830 + <div style="width: 100%;">
  831 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">活动明细信息</div>
  832 + <div style="padding: 10px 20px;">
  833 + <el-table :data="tableData2"
  834 + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}"
  835 + style="width: 100%;margin: auto;">
  836 + <el-table-column label="序号" min-width="5%" align='center'>
  837 + <template slot-scope="scope">
  838 + <span style="">{{ scope.$index +1}}</span>
  839 + </template>
  840 + </el-table-column>
  841 + <el-table-column label="明细项名称" prop="detailLtemName" min-width="28%">
  842 + </el-table-column>
  843 + <el-table-column label="预估数量" prop="estimatedQuantity" min-width="20%">
  844 +
  845 + </el-table-column>
  846 + <el-table-column label="预估费用" prop="estimatedCost" min-width="20%">
  847 +
  848 + </el-table-column>
  849 + <el-table-column label="备注" prop="notes" min-width="20%">
  850 + </el-table-column>
  851 + </el-table>
  852 + </div>
  853 + </div>
  854 + <div style="width: 100%;">
  855 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">活动成本信息</div>
  856 + <div style="padding:10px 20px;">
  857 + <el-table :data="tableData3"
  858 + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}"
  859 + style="width: 100%;margin: auto;">
  860 + <el-table-column class-name="first-column-bg" label="内部人力成本预估" prop="name" min-width="15%">
  861 + </el-table-column>
  862 + <el-table-column :label="internalLaborCostEstimation" prop="eventTheme" min-width="35%">
  863 +
  864 + </el-table-column>
  865 + <el-table-column class-name="first-column-bg" label="外部人力成本预估" prop="text" min-width="15%">
  866 +
  867 + </el-table-column>
  868 + <el-table-column :label="externalLaborCostEstimation" prop="planName" min-width="35%">
  869 +
  870 + </el-table-column>
  871 + </el-table>
  872 + </div>
  873 + </div>
  874 + <div style="width: 100%;">
  875 + <div style="font-size: 14px;padding:10px 20px 0px 20px;">预估效果</div>
  876 + <div style="padding:10px 20px;">
  877 + <el-table :data="tableData4"
  878 + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}"
  879 + style="width: 100%;margin: auto;">
  880 + <el-table-column class-name="first-column-bg" label="预计吸引流量" prop="name" min-width="15%">
  881 + </el-table-column>
  882 + <el-table-column :label="expectedAttractTraffic" prop="eventTheme" min-width="35%">
  883 +
  884 + </el-table-column>
  885 + <el-table-column class-name="first-column-bg" label="预计参与人数" prop="text" min-width="15%">
  886 +
  887 + </el-table-column>
  888 + <el-table-column :label="expectedParticipation" prop="planName" min-width="35%">
  889 +
  890 + </el-table-column>
  891 + </el-table>
  892 + </el-table-column>
  893 + </div>
  894 + </div>
  895 + <div style="width: 100%;">
  896 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">相关附件信息</div>
  897 + <div style="padding:10px 20px;">
  898 + <el-table :data="tableData6"
  899 + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}"
  900 + style="width: 100%;margin: auto;">
  901 + <el-table-column label="序号" min-width="5%" align='center'>
  902 + <template slot-scope="scope">
  903 + <span style="">{{ scope.$index + 1 }}</span>
  904 + </template>
  905 + </el-table-column>
  906 + <el-table-column label="附件名称" prop="attachmentName" min-width="75%">
  907 + </el-table-column>
  908 + <el-table-column label="操作" min-width="20%">
  909 + <template slot-scope="scope">
  910 + <!-- <div class="tableBtn greens" @click="Down(scope.row)">下载</div> -->
  911 + <a class="tableBtn greens" :href="scope.row.attachmentUrl" target="_blank" download>下载</a>
  912 + </template>
  913 + </el-table-column>
  914 +
  915 + </el-table>
  916 + </div>
  917 + </div>
  918 + <div style="width: 100%;">
  919 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">系统信息</div>
  920 + <div style="padding:10px 20px;">
  921 + <el-table :data="tableData5"
  922 + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}"
  923 + style="width: 100%;margin: auto;">
  924 + <el-table-column class-name="first-column-bg" label="创建人" prop="name" min-width="15%">
  925 + </el-table-column>
  926 + <el-table-column :label="createUser" prop="eventTheme" min-width="35%">
  927 +
  928 + </el-table-column>
  929 + <el-table-column class-name="first-column-bg" label="创建时间" prop="text" min-width="15%">
  930 +
  931 + </el-table-column>
  932 + <el-table-column :label="createDate" prop="planName" min-width="35%">
  933 +
  934 + </el-table-column>
  935 + </el-table>
  936 + </div>
  937 + </div>
  938 + </div>
  939 + <div style="width: 50%;">
  940 + <div style="width: 100%;">
  941 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">修改前</div>
  942 + <div style="padding: 10px 20px;">
  943 + <el-descriptions class="margin-top" :column="2" border :labelStyle="labelStyleOne" >
  944 + <el-descriptions-item>
  945 + <template slot="label">
  946 + 方案编号
  947 + </template>
  948 + {{lixiang.id}}
  949 + </el-descriptions-item>
  950 + <el-descriptions-item>
  951 + <template slot="label">
  952 + 方案名称
  953 + </template>
  954 + {{lixiang.planName}}
  955 + </el-descriptions-item>
  956 + <el-descriptions-item>
  957 + <template slot="label">
  958 + 类型
  959 + </template>
  960 + {{lixiang.planType}}
  961 + </el-descriptions-item>
  962 + <el-descriptions-item>
  963 + <template slot="label">
  964 + 活动地点
  965 + </template>
  966 + {{lixiang.eventAddrs}}
  967 + </el-descriptions-item>
  968 + <el-descriptions-item>
  969 + <template slot="label">
  970 + 活动开始时间
  971 + </template>
  972 + {{lixiang.eventStartTime}}
  973 + </el-descriptions-item>
  974 + <el-descriptions-item>
  975 + <template slot="label">
  976 + 活动结束时间
  977 + </template>
  978 + {{lixiang.eventEndTime}}
  979 + </el-descriptions-item>
  980 + <el-descriptions-item>
  981 + <template slot="label">
  982 + 活动主题
  983 + </template>
  984 + {{lixiang.eventTheme}}
  985 + </el-descriptions-item>
  986 + <el-descriptions-item>
  987 + <template slot="label">
  988 + 活动主办方
  989 + </template>
  990 + {{lixiang.sponsor}}
  991 + </el-descriptions-item>
  992 + <el-descriptions-item>
  993 + <template slot="label">
  994 + 活动参与方
  995 + </template>
  996 + {{lixiang.participants}}
  997 + </el-descriptions-item>
  998 + <el-descriptions-item>
  999 + <template slot="label">
  1000 + 活动主要目的
  1001 + </template>
  1002 + {{lixiang.mainPurpose}}
  1003 + </el-descriptions-item>
  1004 + <el-descriptions-item>
  1005 + <template slot="label">
  1006 + 范围设置
  1007 + </template>
  1008 + {{lixiang.rangeSetting}}
  1009 + </el-descriptions-item>
  1010 + <el-descriptions-item>
  1011 + <template slot="label">
  1012 + 状态
  1013 + </template>
  1014 + {{getStatus(lixiang.state)}}
  1015 +
  1016 + </el-descriptions-item>
  1017 + </el-descriptions>
  1018 +
  1019 + </div>
  1020 + </div>
  1021 + <div style="width: 100%;">
  1022 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">活动明细信息</div>
  1023 + <div style="padding: 10px 20px;">
  1024 + <el-table :data="tableData2"
  1025 + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}"
  1026 + style="width: 100%;margin: auto;">
  1027 + <el-table-column label="序号" min-width="5%" align='center'>
  1028 + <template slot-scope="scope">
  1029 + <span style="">{{ scope.$index +1}}</span>
  1030 + </template>
  1031 + </el-table-column>
  1032 + <el-table-column label="明细项名称" prop="detailLtemName" min-width="28%">
  1033 + </el-table-column>
  1034 + <el-table-column label="预估数量" prop="estimatedQuantity" min-width="20%">
  1035 +
  1036 + </el-table-column>
  1037 + <el-table-column label="预估费用" prop="estimatedCost" min-width="20%">
  1038 +
  1039 + </el-table-column>
  1040 + <el-table-column label="备注" prop="notes" min-width="20%">
  1041 + </el-table-column>
  1042 + </el-table>
  1043 + </div>
  1044 + </div>
  1045 + <div style="width: 100%;">
  1046 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">活动成本信息</div>
  1047 + <div style="padding:10px 20px;">
  1048 + <el-descriptions class="margin-top" :column="2" border :labelStyle="labelStyleOne" >
  1049 + <el-descriptions-item>
  1050 + <template slot="label">
  1051 + 内部人力成本预估
  1052 + </template>
  1053 + {{lixiang.internalLaborCostEstimation}}
  1054 + </el-descriptions-item>
  1055 + <el-descriptions-item>
  1056 + <template slot="label">
  1057 + 外部人力成本预估
  1058 + </template>
  1059 + {{lixiang.externalLaborCostEstimation}}
  1060 + </el-descriptions-item>
  1061 + <el-descriptions-item>
  1062 + <template slot="label">
  1063 + 商品成本预估
  1064 + </template>
  1065 + {{lixiang.costEstimationGoods}}
  1066 + </el-descriptions-item>
  1067 + <el-descriptions-item>
  1068 + <template slot="label">
  1069 + 设备成本预估
  1070 + </template>
  1071 + {{lixiang.setCostEstimate}}
  1072 + </el-descriptions-item>
  1073 + <el-descriptions-item>
  1074 + <template slot="label">
  1075 + 宣传费用预估
  1076 + </template>
  1077 + {{lixiang.estimatedPromotionalExpenses}}
  1078 + </el-descriptions-item>
  1079 + <el-descriptions-item>
  1080 + <template slot="label">
  1081 + 其他必要成本预估
  1082 + </template>
  1083 + {{lixiang.otherNecessaryEstimates}}
  1084 + </el-descriptions-item>
  1085 + <el-descriptions-item>
  1086 + <template slot="label">
  1087 + 总成本预估
  1088 + </template>
  1089 + {{lixiang.totalCostEstimation}}
  1090 + </el-descriptions-item>
  1091 + <el-descriptions-item>
  1092 + <template slot="label">
  1093 + 备注
  1094 + </template>
  1095 + {{lixiang.notes}}
  1096 + </el-descriptions-item>
  1097 + </el-descriptions>
  1098 + </div>
  1099 + </div>
  1100 + <div style="width: 100%;">
  1101 +<div style="font-size: 14px;padding: 10px 20px 0px 20px;">预估效果</div>
  1102 + <div style="padding:10px 20px;">
  1103 + <el-descriptions class="margin-top" :column="2" border :labelStyle="labelStyleOne" >
  1104 + <el-descriptions-item>
  1105 + <template slot="label">
  1106 + 预计吸引流量
  1107 + </template>
  1108 + {{lixiang.expectedAttractTraffic}}
  1109 + </el-descriptions-item>
  1110 + <el-descriptions-item>
  1111 + <template slot="label">
  1112 + 预计参与人数
  1113 + </template>
  1114 + {{lixiang.expectedParticipation}}
  1115 + </el-descriptions-item>
  1116 + <el-descriptions-item>
  1117 + <template slot="label">
  1118 + 预计直接收益
  1119 + </template>
  1120 + {{lixiang.expectedDirectBenefits}}
  1121 + </el-descriptions-item>
  1122 + <el-descriptions-item>
  1123 + <template slot="label">
  1124 + 预计间接收益
  1125 + </template>
  1126 + {{lixiang.expectedIndirectBenefits}}
  1127 + </el-descriptions-item>
  1128 +
  1129 + </el-descriptions>
  1130 +
  1131 + </div>
  1132 + </div>
  1133 + <div style="width: 100%;">
  1134 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">相关附件信息</div>
  1135 + <div style="padding:10px 20px;">
  1136 + <el-table :data="tableData6"
  1137 + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}"
  1138 + style="width: 100%;margin: auto;">
  1139 + <el-table-column label="序号" min-width="5%" align='center'>
  1140 + <template slot-scope="scope">
  1141 + <span style="">{{ scope.$index + 1 }}</span>
  1142 + </template>
  1143 + </el-table-column>
  1144 + <el-table-column label="附件名称" prop="attachmentName" min-width="75%">
  1145 + </el-table-column>
  1146 + <el-table-column label="操作" min-width="20%">
  1147 + <template slot-scope="scope">
  1148 + <!-- <div class="tableBtn greens" @click="Down(scope.row)">下载</div> -->
  1149 + <a class="tableBtn greens" :href="scope.row.attachmentUrl" target="_blank" download>下载</a>
  1150 + </template>
  1151 + </el-table-column>
  1152 +
  1153 + </el-table>
  1154 + </div>
  1155 + </div>
  1156 + <div style="width: 100%;">
  1157 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">系统信息</div>
  1158 + <div style="padding:10px 20px;">
  1159 + <el-table :data="tableData5"
  1160 + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}"
  1161 + style="width: 100%;margin: auto;">
  1162 + <el-table-column class-name="first-column-bg" label="创建人" prop="name" min-width="15%">
  1163 + </el-table-column>
  1164 + <el-table-column :label="createUser" prop="eventTheme" min-width="35%">
  1165 +
  1166 + </el-table-column>
  1167 + <el-table-column class-name="first-column-bg" label="创建时间" prop="text" min-width="15%">
  1168 +
  1169 + </el-table-column>
  1170 + <el-table-column :label="createDate" prop="planName" min-width="35%">
  1171 +
  1172 + </el-table-column>
  1173 + </el-table>
  1174 + </div>
  1175 + </div>
  1176 + </div>
  1177 + </div>
  1178 +
  1179 +
  1180 + </div>
  1181 +</el-dialog>
  1182 +
  1183 +<el-dialog title="新增明细" :visible.sync="addMing" custom-class='dialog_css' style="padding: 0;" width="50%" append-to-body
  1184 + center :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false">
  1185 + <div style="padding: 15px;width:100%">
  1186 + <div style="">
  1187 + <div style="padding: 15px;">
  1188 + <el-form label-position="right" ref="ruleFormInfo" :model="mingFrom" label-width="140px"
  1189 + style="position: relative">
  1190 + <el-form-item label="明细项名称" class="grid-content bg-purple device-from" prop="planName">
  1191 + <el-input v-model="mingFrom.detailLtemName" placeholder="请输入" />
  1192 + </el-form-item>
  1193 + <el-form-item label="预估数量" class="grid-content bg-purple" prop=" planType">
  1194 + <el-input v-model="mingFrom.estimatedQuantity" placeholder="请输入" />
  1195 + </el-form-item>
  1196 +
  1197 + <el-form-item label="预估费用" class="grid-content bg-purple" prop="eventAddrs">
  1198 + <el-input v-model="mingFrom.estimatedCost" placeholder="请输入" />
  1199 + </el-form-item>
  1200 + <el-form-item label="备注" class="grid-content bg-purple device-from" prop="planName">
  1201 + <el-input v-model="mingFrom.notes" placeholder="请输入" />
  1202 + </el-form-item>
  1203 + </el-form>
  1204 + </div>
  1205 + </div>
  1206 +
  1207 + </div>
  1208 + <div style="display: flex;justify-content: flex-end;padding: 10px 20px 10px 0">
  1209 +
  1210 + <el-button plain @click="minSev" style="background-color: #3F9B6A;color: #fff;">保存
  1211 + </el-button>
  1212 + <el-button plain @click="addMing=false" style="background-color: #3F9B6A;color: #fff;">取消
  1213 + </el-button>
  1214 + </div>
  1215 +</el-dialog>
  1216 +<!-- 效果对比 -->
  1217 +<el-dialog :visible.sync="xiaoDui" custom-class='dialog_css' style="padding: 0;" width="60%" center
  1218 + :close-on-click-modal="false" :close-on-press-escape="false">
  1219 + <div style="padding: 0 50px;display:flex;justify-content: space-evenly;">
  1220 + <div style="width:30%">
  1221 + <div style="display: flex;">
  1222 + <div style="margin-right: 10px;padding: 10px 0;">
  1223 + <div>调整前方案</div>
  1224 + <div style="font-size: 22px;color: #3F9B6A;font-weight: 600;margin: 10px 0;">{{xiaoduiObj.biliOne}}</div>
  1225 + <div style="font-size: 16px;color: #3F9B6A;font-weight: 600;">投入产出比</div>
  1226 + </div>
  1227 + <el-progress type="circle" :percentage="xiaoduiObj.bilis" :show-text="false" :width="100">
  1228 + </el-progress>
  1229 + </div>
  1230 + <div style="padding:30px 0">计划任务(完成度)</div>
  1231 + <div class="jindutiao">
  1232 + <div style="margin-right:10px;width:56px">直接收入</div>
  1233 + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> -->
  1234 + <el-progress
  1235 + style="width: 150px;"
  1236 + :text-inside="true"
  1237 + :stroke-width="20"
  1238 + :percentage="baifenbi(duibiOne.expectedDirectBenefits)"
  1239 + status="success"
  1240 + :format="() => customFormat(duibiOne.expectedDirectBenefits)"
  1241 + ></el-progress>
  1242 + </div>
  1243 + <div class="jindutiao">
  1244 + <div style="margin-right:10px;width:56px">间接收入</div>
  1245 + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> -->
  1246 + <el-progress
  1247 + style="width: 150px;"
  1248 + :text-inside="true"
  1249 + :stroke-width="20"
  1250 + :percentage="baifenbi(duibiOne.expectedIndirectBenefits)"
  1251 + status="success"
  1252 + :format="() => customFormat(duibiOne.expectedIndirectBenefits)"
  1253 + ></el-progress>
  1254 + </div>
  1255 + <div class="jindutiao">
  1256 + <div style="margin-right:10px;width:56px">人力</div>
  1257 + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> -->
  1258 + <el-progress
  1259 + style="width: 150px;"
  1260 + :text-inside="true"
  1261 + :stroke-width="20"
  1262 + :percentage="baifenbi(duibiOne.internalLaborCostEstimation)"
  1263 + status="success"
  1264 + :format="() => customFormat(duibiOne.internalLaborCostEstimation)"
  1265 + ></el-progress>
  1266 + </div>
  1267 + <div class="jindutiao">
  1268 + <div style="margin-right:10px;width:56px">设备</div>
  1269 + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> -->
  1270 + <el-progress
  1271 + style="width: 150px;"
  1272 + :text-inside="true"
  1273 + :stroke-width="20"
  1274 + :percentage="baifenbi(duibiOne.setCostEstimate)"
  1275 + status="success"
  1276 + :format="() => customFormat(duibiOne.setCostEstimate)"
  1277 + ></el-progress>
  1278 + </div>
  1279 + <div class="jindutiao">
  1280 + <div style="margin-right:10px;width:56px">宣传</div>
  1281 + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> -->
  1282 + <el-progress
  1283 + style="width: 150px;"
  1284 + :text-inside="true"
  1285 + :stroke-width="20"
  1286 + :percentage="baifenbi(duibiOne.estimatedPromotionalExpenses)"
  1287 + status="success"
  1288 + :format="() => customFormat(duibiOne.estimatedPromotionalExpenses)"
  1289 + ></el-progress>
  1290 + </div>
  1291 + <div class="jindutiao">
  1292 + <div style="margin-right:10px;width:56px">其他</div>
  1293 + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> -->
  1294 + <el-progress
  1295 + style="width: 150px;"
  1296 + :text-inside="true"
  1297 + :stroke-width="20"
  1298 + :percentage="baifenbi(duibiOne.otherNecessaryEstimates)"
  1299 + status="success"
  1300 + :format="() => customFormat(duibiOne.otherNecessaryEstimates)"
  1301 + ></el-progress>
  1302 + </div>
  1303 + </div>
  1304 + <div style="width:30%">
  1305 + <div style="display: flex;">
  1306 + <div style="margin-right: 10px;padding: 10px 0;">
  1307 + <div>调整后方案</div>
  1308 + <div style="font-size: 22px;color: #3F9B6A;font-weight: 600;margin: 10px 0;">{{xiaoduiObj.biliTwo}}</div>
  1309 + <div style="font-size: 16px;color: #3F9B6A;font-weight: 600;">投入产出比</div>
  1310 + </div>
  1311 + <el-progress type="circle" :percentage="xiaoduiObj.biliT" :show-text="false" :width="100">
  1312 + </el-progress>
  1313 + </div>
  1314 + <div style="padding:30px 0">计划任务(完成度)</div>
  1315 + <div class="jindutiao">
  1316 + <div style="margin-right:10px;width:56px">直接收入</div>
  1317 + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> -->
  1318 + <el-progress
  1319 + style="width: 150px;"
  1320 + :text-inside="true"
  1321 + :stroke-width="20"
  1322 + :percentage="baifenbi(duibiTwo.expectedDirectBenefits==undefined?'':duibiTwo.expectedDirectBenefits)"
  1323 + status="success"
  1324 + :format="() => customFormat(duibiTwo.expectedDirectBenefits==undefined?'':duibiTwo.expectedDirectBenefits)"
  1325 + ></el-progress>
  1326 + </div>
  1327 + <div class="jindutiao">
  1328 + <div style="margin-right:10px;width:56px">间接收入</div>
  1329 + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> -->
  1330 + <el-progress
  1331 + style="width: 150px;"
  1332 + :text-inside="true"
  1333 + :stroke-width="20"
  1334 + :percentage="baifenbi(duibiTwo.expectedIndirectBenefits==undefined?'':duibiTwo.expectedIndirectBenefits)"
  1335 + status="success"
  1336 + :format="() => customFormat(duibiTwo.expectedIndirectBenefits==undefined?'':duibiTwo.expectedIndirectBenefits)"
  1337 + ></el-progress>
  1338 + </div>
  1339 + <div class="jindutiao">
  1340 + <div style="margin-right:10px;width:56px">人力</div>
  1341 + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> -->
  1342 + <el-progress
  1343 + style="width: 150px;"
  1344 + :text-inside="true"
  1345 + :stroke-width="20"
  1346 + :percentage="baifenbi(duibiTwo.internalLaborCostEstimation==undefined?'':duibiTwo.internalLaborCostEstimation)"
  1347 + status="success"
  1348 + :format="() => customFormat(duibiTwo.internalLaborCostEstimation==undefined?'':duibiTwo.internalLaborCostEstimation)"
  1349 + ></el-progress>
  1350 + </div>
  1351 + <div class="jindutiao">
  1352 + <div style="margin-right:10px;width:56px">设备</div>
  1353 + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> -->
  1354 + <el-progress
  1355 + style="width: 150px;"
  1356 + :text-inside="true"
  1357 + :stroke-width="20"
  1358 + :percentage="baifenbi(duibiTwo.setCostEstimate==undefined?'':duibiTwo.setCostEstimate)"
  1359 + status="success"
  1360 + :format="() => customFormat(duibiTwo.setCostEstimate==undefined?'':duibiTwo.setCostEstimate)"
  1361 + ></el-progress>
  1362 + </div>
  1363 + <div class="jindutiao">
  1364 + <div style="margin-right:10px;width:56px">宣传</div>
  1365 + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> -->
  1366 + <el-progress
  1367 + style="width: 150px;"
  1368 + :text-inside="true"
  1369 + :stroke-width="20"
  1370 + :percentage="baifenbi(duibiTwo.estimatedPromotionalExpenses==undefined?'':duibiTwo.estimatedPromotionalExpenses)"
  1371 + status="success"
  1372 + :format="() => customFormat(duibiTwo.estimatedPromotionalExpenses==undefined?'':duibiTwo.estimatedPromotionalExpenses)"
  1373 + ></el-progress>
  1374 + </div>
  1375 + <div class="jindutiao">
  1376 + <div style="margin-right:10px;width:56px">其他</div>
  1377 + <el-progress
  1378 + style="width: 150px;"
  1379 + :text-inside="true"
  1380 + :stroke-width="20"
  1381 + :percentage="baifenbi(duibiTwo.otherNecessaryEstimates==undefined?'':duibiTwo.otherNecessaryEstimates)"
  1382 + status="success"
  1383 + :format="() => customFormat(duibiTwo.otherNecessaryEstimates==undefined?'':duibiTwo.otherNecessaryEstimates)"
  1384 + ></el-progress>
  1385 + </div>
  1386 + </div>
  1387 + </div>
  1388 +</el-dialog>
  1389 +
  1390 +
  1391 + <!-- 复制 -->
  1392 + <el-dialog :visible.sync="copyShow" custom-class='xiaoguo_css' style="padding: 0;" width="50%"
  1393 + center :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false">
  1394 + <div style="padding:15px;background-color:#F9F9F9;font-size:14px;border:1px solid #ECECEC;margin-bottom:20px;display: flex;justify-content: space-between;">
  1395 + <div>复制页</div>
  1396 + </div>
  1397 + <div style="padding:0 36px;">
  1398 + <el-form label-position="right" :model="copy" label-width="120px"
  1399 + style="position: relative">
  1400 + <el-form-item label="新方案名称" class="grid-content bg-purple device-from" prop="planName">
  1401 + <el-input v-model="copy.planName" placeholder="请输入" />
  1402 + </el-form-item>
  1403 + </el-form>
  1404 + </div>
  1405 +
  1406 + <div style="display: flex;justify-content: flex-end;padding: 10px 20px 10px 0">
  1407 + <el-button class="buttonHover"
  1408 + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;"
  1409 + @click="copyClose" >返回</el-button>
  1410 + <el-button plain @click="copysev" style="background-color: #3F9B6A;color: #fff;" >保存
  1411 + </el-button>
  1412 + </div>
  1413 + </el-dialog>
  1414 +<el-dialog :visible.sync="searchShow" custom-class='xiaoguo_css' style="padding: 0;" width="50%"
  1415 + center :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false">
  1416 + <div style="padding:15px;background-color:#F9F9F9;font-size:14px;border:1px solid #ECECEC;margin-bottom:20px;display: flex;justify-content: space-between;">
  1417 + <div>搜索关键词配置</div>
  1418 + </div>
  1419 + <div style="padding:0 36px;">
  1420 + <el-checkbox v-model="searPei.name">方案名称</el-checkbox>
  1421 + <!-- <el-checkbox v-model="searPei.lei">方案类型</el-checkbox> -->
  1422 + <el-checkbox v-model="searPei.staut">审核状态</el-checkbox>
  1423 + </div>
  1424 +
  1425 + <div style="display: flex;justify-content: flex-end;padding: 10px 20px 10px 0">
  1426 + <el-button class="buttonHover"
  1427 + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;"
  1428 + @click="searchShow=false" >返回</el-button>
  1429 + <el-button plain @click="searchShow=false" style="background-color: #3F9B6A;color: #fff;" >保存
  1430 + </el-button>
  1431 + </div>
  1432 + </el-dialog>
  1433 +<el-dialog :visible.sync="jiucuoShow" custom-class='bian_css' style="padding: 0;" width="50%"
  1434 + :close-on-press-escape="false" center :close-on-click-modal="false" class="dialog_css_Xq" :show-close="false">
  1435 + <div style="padding:20px;">
  1436 + <div style="font-size: 14px;padding-bottom: 20px;color: #000;">活动策划调整纠错</div>
  1437 + <wangEditor v-model="jiuMsg" ref="editor"></wangEditor>
  1438 + <div style="padding-top:20px;display:flex;justify-content: flex-end;">
  1439 + <el-button style="background-color: #3F9B6A;color: #fff"
  1440 + @click="jiuCheck">确定</el-button>
  1441 + <el-button @click="jiucuoShow = false" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" class="buttonHover">取消</el-button>
  1442 +
  1443 + </div>
  1444 +
  1445 + </div>
  1446 +
  1447 + </el-dialog>
  1448 +
  1449 +<actbians :showBian="actbianMsg" @BianchildClose='BianchildClose'></actbians>
  1450 +</div>
  1451 +</template>
  1452 +
  1453 +<script>
  1454 + import {
  1455 + deleteById,
  1456 + queryByPage,
  1457 + xiangByPage,
  1458 + fujiaTable,
  1459 + mingTable,
  1460 + danqueryById,
  1461 + xiangedit,
  1462 + actEdit,
  1463 + actAdd,
  1464 + actPage,
  1465 + MingAdd,
  1466 + MingDel,
  1467 + cereGet,
  1468 + cereAdd,
  1469 + cereEdit,
  1470 + cereDel,
  1471 + copy,
  1472 + excelQueryByPage,
  1473 + excelAdd,
  1474 + effectEvaluation,
  1475 + lishiDeta
  1476 + } from '../../api/activityBz'
  1477 + import actbians from "./activityBian"
  1478 + import * as echarts from 'echarts'
  1479 + import Vue from 'vue'
  1480 + import html2canvas from 'html2canvas'
  1481 + import jsPDF from 'jspdf'
  1482 + import wangEditor from "@/components/editor/index";
  1483 + import {
  1484 + uploadUrl
  1485 + } from '@/utils/request'
  1486 + export default {
  1487 + components: {
  1488 + actbians,
  1489 + wangEditor
  1490 + },
  1491 + data() {
  1492 + return {
  1493 + uploadFileUrl: uploadUrl, // 请求地址
  1494 + daoData:[],
  1495 + actbianMsg: {
  1496 + acBian: '', //编辑数据
  1497 + bianshow: false, //编辑页
  1498 + },
  1499 + fileData:[],
  1500 + fenlei: [],
  1501 + secondData: {},
  1502 +
  1503 + formSear:{
  1504 + planName: '',
  1505 + state:null,
  1506 + dataOwnership: '1',
  1507 + pageNumber: 1,
  1508 + pageSize: 10,
  1509 + isDraft:0
  1510 + },
  1511 +
  1512 + planFen: '',
  1513 + eventTheme: '',
  1514 + currentPage: 1,
  1515 + total: 100,
  1516 + flag: false,
  1517 + pageSize: 10,
  1518 + ggXin: false,
  1519 + radio: '1',
  1520 + shan: '',
  1521 + activeName: 'first',
  1522 + rules: {
  1523 + coDe: [{
  1524 + required: true,
  1525 + message: '请输入活动名称',
  1526 + trigger: 'blur'
  1527 + },
  1528 +
  1529 + ],
  1530 + },
  1531 + formInline: {
  1532 + merchantName: '', // 商家名称
  1533 + storeId: '', // 编码
  1534 + contacts: '', // 联系人
  1535 + businessEntity: '', //经营主体
  1536 + page: 1, // 当前页
  1537 + pageSize: 10 // 每页记录数
  1538 + },
  1539 + tableData: [],
  1540 + id: '',
  1541 + text: '123',
  1542 + tableData1: [{
  1543 + id: 0,
  1544 + name: '类型',
  1545 + planName: '',
  1546 + text: '活动地点',
  1547 + eventTheme: ''
  1548 + }, {
  1549 + id: 0,
  1550 + name: '活动开始时间',
  1551 + planName: '',
  1552 + text: '活动结束时间',
  1553 + eventTheme: ''
  1554 + }, {
  1555 + id: 0,
  1556 + name: '活动主题',
  1557 + planName: '',
  1558 + text: '活动主办方',
  1559 + eventTheme: ''
  1560 + }, {
  1561 + id: 0,
  1562 + name: '活动参与方',
  1563 + planName: '',
  1564 + text: '活动主要目的',
  1565 + eventTheme: ''
  1566 + }, {
  1567 + id: 0,
  1568 + name: '范围设置',
  1569 + planName: '',
  1570 + text: '状态',
  1571 + eventTheme: ''
  1572 + }],
  1573 + internalLaborCostEstimation: '',
  1574 + externalLaborCostEstimation: '',
  1575 + tableData3: [{
  1576 + id: 0,
  1577 + name: '商品成本预估',
  1578 + planName: '',
  1579 + text: '设备成本预估',
  1580 + eventTheme: ''
  1581 + }, {
  1582 + id: 0,
  1583 + name: '宣传费用预估',
  1584 + planName: '',
  1585 + text: '其他必要成本预估',
  1586 + eventTheme: ''
  1587 + }, {
  1588 + id: 0,
  1589 + name: '总成本预估',
  1590 + planName: '',
  1591 + text: '备注',
  1592 + eventTheme: ''
  1593 + }],
  1594 + expectedAttractTraffic: '',
  1595 + expectedParticipation: '',
  1596 + tableData4: [{
  1597 + id: 0,
  1598 + name: '预计直接收益',
  1599 + planName: '',
  1600 + text: '预计间接收益',
  1601 + eventTheme: '-'
  1602 + }],
  1603 + createUser: '',
  1604 + createDate: '',
  1605 + tableData5: [{
  1606 + id: 0,
  1607 + name: '更新人',
  1608 + planName: '',
  1609 + text: '更新时间',
  1610 + eventTheme: '-'
  1611 + }],
  1612 + tableData2: [], //基本信息明细列表
  1613 + tableData6: [], //基本信息附件列表
  1614 + addMing: false, //执行效果添加明细
  1615 + zhixingBian: false, //判断是否编辑执行效果
  1616 + tableDa: [], //执行效果明细列表
  1617 + zhiXing: true, //判断是否是新增的执行效果
  1618 + mingFrom: {
  1619 + detailLtemName: '',
  1620 + estimatedQuantity: '',
  1621 + estimatedCost: '',
  1622 + notes: ''
  1623 + },
  1624 + planTime:[],
  1625 + zhixingList: {
  1626 + planTime: [],
  1627 + planName: '', //活动名称
  1628 + eventAddrs: '', //实际举办地点
  1629 + eventStartTime: 0, //实际开始时间
  1630 + eventEndTime: 0, //实际结束时间
  1631 + sponsor: '', //实际主办方
  1632 + participants: '', //实际参与方
  1633 + internalLaborCostEstimation: '', //内部人工成本
  1634 + externalLaborCostEstimation: '', //外部人工成本
  1635 + costEstimationGoods: '', //商品成本
  1636 + setCostEstimate: '', //设备成本
  1637 + estimatedPromotionalExpenses: '', //宣传费用预估
  1638 + otherNecessaryEstimates: '', //其他成本预估
  1639 + totalCostEstimation: '', //总成本预估
  1640 + notes: '', //备注
  1641 + expectedAttractTraffic: '', //吸引流量
  1642 + expectedParticipation: '', //参与人数
  1643 + expectedDirectBenefits: '', //直接收益
  1644 + expectedIndirectBenefits: '', //间接收益
  1645 + createDate: '', //创建时间
  1646 + feedbackContent:''
  1647 + }, //执行效果列表
  1648 + pageindex: {
  1649 + pageNumber: 1,
  1650 + pageSize: 10,
  1651 + dataOwnership: '1',
  1652 + isDraft:0
  1653 + },
  1654 + multipleSelection: [],
  1655 + options: [],
  1656 + xinADD:{
  1657 + classificationName:'',
  1658 + parentId:'',
  1659 + classificationType:'0'
  1660 + },
  1661 + value: '',
  1662 + xiaoDui: false, //效果对比
  1663 + dataList:[],
  1664 +
  1665 + fenleiDelId:null,//删除的分类ID
  1666 + xiaoduiObj:{
  1667 + biliOne:'0%',
  1668 + bilis:0,
  1669 + biliTwo:'0%',
  1670 + biliT:0
  1671 + },//效果对比数据
  1672 + fujiLei:'',
  1673 + defaultProps:{
  1674 + children: 'children',
  1675 + label: 'classificationName'
  1676 + },
  1677 +
  1678 + copy:{
  1679 + planName:''
  1680 + },
  1681 + copyShow:false,
  1682 + duibiOne:{},
  1683 + duibiTwo:{},
  1684 + searchShow:false,
  1685 + searPei:{
  1686 + name:true,
  1687 + lei:false,
  1688 + staut:false,
  1689 + },
  1690 + lishiList:null,
  1691 + labelStyle:{
  1692 + width:'197px',
  1693 + height:'42px',
  1694 + },
  1695 + labelStyleOne:{
  1696 + width:'110px',
  1697 + height:'42px',
  1698 + color:'#000',
  1699 + },
  1700 + lidata:[],
  1701 + lixiang:{},
  1702 + duibiList:{},
  1703 + tiaozhengShow:false,
  1704 + jiucuoShow:false,
  1705 + jiuMsg:'',
  1706 + editId:''
  1707 + }
  1708 + },
  1709 + created() {
  1710 + this.getAll()
  1711 +
  1712 + },
  1713 + computed: {
  1714 +
  1715 + },
  1716 + methods: {
  1717 + getStatus(state) {
  1718 + switch (state) {
  1719 + case '':
  1720 + return '待提交';
  1721 + case '1':
  1722 + return '待审核';
  1723 + case '2':
  1724 + return '业务部审核';
  1725 + case '3':
  1726 + return '品牌审核';
  1727 + case '4':
  1728 + return '审核通过';
  1729 + case '5':
  1730 + return '审核不通过'
  1731 + }
  1732 + },
  1733 + //查询全数据
  1734 + async getAll() {
  1735 + const res = await queryByPage(this.pageindex)
  1736 + this.tableData = res.data.content
  1737 + this.total = res.data.content.length
  1738 +
  1739 + },
  1740 + //删除记录按钮
  1741 + handleDelete(val) {
  1742 + if (this.multipleSelection.length == 1) {
  1743 +
  1744 + const h = this.$createElement;
  1745 + this.$msgbox({
  1746 + title: '消息',
  1747 + message: h('p', null, [
  1748 + h('span', null, '是否删除 '),
  1749 + ]),
  1750 + showCancelButton: true,
  1751 + showClose: false,
  1752 + confirmButtonText: '确定',
  1753 + cancelButtonText: '取消',
  1754 + customClass: 'oe-dialog-btn',
  1755 + beforeClose: (action, instance, done) => {
  1756 + if (action === 'confirm') {
  1757 + deleteById({
  1758 + id: this.multipleSelection[0].id
  1759 + }).then(res => {
  1760 + this.getAll()
  1761 + done();
  1762 + })
  1763 + } else {
  1764 + done();
  1765 + }
  1766 + }
  1767 + })
  1768 + } else {
  1769 + this.$message({
  1770 + message: '请选择一个文件删除',
  1771 + customClass: 'custom-message',
  1772 + offset: 100
  1773 + })
  1774 + }
  1775 + },
  1776 + //查询
  1777 + async onSubmit() {
  1778 + const res = await danqueryById(this.formSear)
  1779 + this.tableData = res.data.content
  1780 + },
  1781 + //重置按钮
  1782 + resetting() {
  1783 + this.formSear ={
  1784 + planName: '',
  1785 + state:null,
  1786 + dataOwnership: '1',
  1787 + pageNumber: 1,
  1788 + pageSize: 10,
  1789 + isDraft:0
  1790 + }
  1791 + this.getAll()
  1792 + },
  1793 + //编辑页
  1794 + BianchildClose(msg) {
  1795 + this.actbianMsg.bianshow = msg
  1796 + this.getAll()
  1797 + },
  1798 + actBian(item) {
  1799 + this.actbianMsg.acBian = item
  1800 + this.actbianMsg.bianshow = true
  1801 + },
  1802 + //详情点击
  1803 + handleEditForm(item) {
  1804 + this.editId =item.id
  1805 + this.liData = []
  1806 + this.lixiang = {}
  1807 + this.lishiList=null
  1808 + this.fileData = []
  1809 + this.zhixingList = {
  1810 + planTime:[],
  1811 + planName: '', //活动名称
  1812 + eventAddrs: '', //实际举办地点
  1813 + eventStartTime: 0, //实际开始时间
  1814 + eventEndTime: 0, //实际结束时间
  1815 + sponsor: '', //实际主办方
  1816 + participants: '', //实际参与方
  1817 + internalLaborCostEstimation: '', //内部人工成本
  1818 + externalLaborCostEstimation: '', //外部人工成本
  1819 + costEstimationGoods: '', //商品成本
  1820 + setCostEstimate: '', //设备成本
  1821 + estimatedPromotionalExpenses: '', //宣传费用预估
  1822 + otherNecessaryEstimates: '', //其他成本预估
  1823 + totalCostEstimation: '', //总成本预估
  1824 + notes: '', //备注
  1825 + expectedAttractTraffic: '', //吸引流量
  1826 + expectedParticipation: '', //参与人数
  1827 + expectedDirectBenefits: '', //直接收益
  1828 + expectedIndirectBenefits: '', //间接收益
  1829 + createDate: '', //创建时间
  1830 + feedbackContent:''
  1831 + } //执行效果列表
  1832 + actPage({
  1833 + detailsId: item.id,
  1834 + pageNumber: 1,
  1835 + pageSize: 10,
  1836 + }).then(res => {
  1837 + console.log(res.data.content)
  1838 + if (res.data.content.length == 0) {
  1839 + this.zhiXing = true
  1840 + } else {
  1841 + mingTable({
  1842 + detailsId: res.data.content[0].id,
  1843 + pageNumber: 1,
  1844 + pageSize: 10,
  1845 + }).then(res => {
  1846 + this.tableDa = res.data.content
  1847 + })
  1848 + this.zhiXing = false
  1849 + this.zhixingList = res.data.content[0]
  1850 + if((typeof this.zhixingList.eventStartTime) == 'object' || (typeof this.zhixingList.eventEndTime) == 'object' ){
  1851 + this.zhixingList.planTime = []
  1852 + }else{
  1853 + console.log(typeof this.zhixingList.eventStartTime)
  1854 + this.zhixingList.planTime = [ this.zhixingList.eventStartTime, this.zhixingList.eventEndTime]
  1855 + }
  1856 +
  1857 + }
  1858 + })
  1859 + let that = this
  1860 + this.planTime = [item.eventStartTime, item.eventEndTime]
  1861 + fujiaTable({
  1862 + detailsId: item.id,
  1863 + pageNumber: 1,
  1864 + pageSize: 10,
  1865 + }).then(res => {
  1866 + this.tableData6 = res.data.content
  1867 + })
  1868 + mingTable({
  1869 + detailsId: item.id,
  1870 + pageNumber: 1,
  1871 + pageSize: 10,
  1872 + }).then(res => {
  1873 + this.tableData2 = res.data.content
  1874 + })
  1875 +
  1876 +
  1877 + danqueryById({
  1878 + id: item.id,
  1879 + dataOwnership: '1',
  1880 + pageNumber: 1,
  1881 + pageSize: 10,
  1882 + }).then(res => {
  1883 + this.secondData = res.data.content[0]
  1884 + //基本信息
  1885 + // that.id=res.data.content[0].id
  1886 + that.text = res.data.content[0].planName
  1887 + that.tableData1[0].eventTheme = res.data.content[0].planType
  1888 + that.tableData1[0].planName = res.data.content[0].eventAddrs
  1889 + that.tableData1[1].eventTheme = res.data.content[0].eventStartTime
  1890 + that.tableData1[1].planName = res.data.content[0].eventEndTime
  1891 + that.tableData1[2].eventTheme = res.data.content[0].eventTheme
  1892 + that.tableData1[2].planName = res.data.content[0].sponsor
  1893 + that.tableData1[3].eventTheme = res.data.content[0].participants
  1894 + that.tableData1[3].planName = res.data.content[0].mainPurpose
  1895 + that.tableData1[4].planName = this.getStatus(res.data.content[0].state)
  1896 + that.tableData1[4].eventTheme = res.data.content[0].rangeSetting
  1897 + //活动成本信息
  1898 + that.internalLaborCostEstimation = res.data.content[0].internalLaborCostEstimation
  1899 + that.externalLaborCostEstimation = res.data.content[0].externalLaborCostEstimation
  1900 + that.tableData3[0].eventTheme = res.data.content[0].costEstimationGoods
  1901 + that.tableData3[0].planName = res.data.content[0].setCostEstimate
  1902 + that.tableData3[1].eventTheme = res.data.content[0].estimatedPromotionalExpenses
  1903 + that.tableData3[1].planName = res.data.content[0].otherNecessaryEstimates
  1904 + that.tableData3[2].eventTheme = res.data.content[0].totalCostEstimation
  1905 + that.tableData3[2].planName = res.data.content[0].notes
  1906 + //预估效果
  1907 + that.expectedAttractTraffic = res.data.content[0].expectedAttractTraffic
  1908 + that.expectedParticipation = res.data.content[0].expectedParticipation
  1909 + that.tableData4[0].eventTheme = res.data.content[0].expectedDirectBenefits
  1910 + that.tableData4[0].planName = res.data.content[0].expectedIndirectBenefits
  1911 + //系统信息
  1912 + that.createUser = res.data.content[0].createUser
  1913 + that.createDate = res.data.content[0].createDate
  1914 +
  1915 + that.tableData5[0].planName = '-'
  1916 + that.tableData5[0].eventTheme = res.data.content[0].updateUser
  1917 +
  1918 + }).catch(err => {
  1919 + console.log(err)
  1920 +
  1921 + })
  1922 + if (!item) {
  1923 + this.formItem = {}
  1924 + } else {
  1925 + this.formItem = item
  1926 + }
  1927 + lishiDeta({eventDetailsId:item.id}).then(res=>{
  1928 + this.liData = res.data
  1929 + })
  1930 + this.ggXin = true
  1931 + },
  1932 + formTime(data){
  1933 + this.zhixingList.planTime = data
  1934 + },
  1935 + removeEmptyValues(obj) {
  1936 + if (typeof obj !== 'object' || obj === null) {
  1937 + return obj;
  1938 + }
  1939 +
  1940 + const newObj = Array.isArray(obj) ? [] : {};
  1941 +
  1942 + for (const key in obj) {
  1943 + if (Object.prototype.hasOwnProperty.call(obj, key)) {
  1944 + const value = obj[key];
  1945 + if (value !== null && value !== undefined && value !== '' && !this.isEmptyObject(value)) {
  1946 + if (Array.isArray(newObj)) {
  1947 + newObj.push(this.removeEmptyValues(value));
  1948 + } else {
  1949 + newObj[key] = this.removeEmptyValues(value);
  1950 + }
  1951 + }
  1952 + }
  1953 + }
  1954 +
  1955 + return newObj;
  1956 + },
  1957 + isEmptyObject(obj) {
  1958 + return Object.keys(obj).length === 0 && obj.constructor === Object;
  1959 + },
  1960 + //获取当前时间
  1961 + updateCurrentTime() {
  1962 + const now = new Date();
  1963 + const year = now.getFullYear();
  1964 + const month = (now.getMonth() + 1).toString().padStart(2, '0');
  1965 + const day = now.getDate().toString().padStart(2, '0');
  1966 + const hours = now.getHours().toString().padStart(2, '0');
  1967 + const minutes = now.getMinutes().toString().padStart(2, '0');
  1968 + const seconds = now.getSeconds().toString().padStart(2, '0');
  1969 +
  1970 + return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
  1971 + },
  1972 +
  1973 + handleCurrentChange(val) {
  1974 + this.currentPage = val
  1975 + },
  1976 + handleSizeChange(val) {
  1977 + this.pageSize = val
  1978 + },
  1979 + closeFn() {
  1980 + this.ggXin = false
  1981 + },
  1982 + handleClick() {
  1983 + console.log()
  1984 + },
  1985 + refreshData() {
  1986 + // console.log('12123')
  1987 + this.tableDa = []
  1988 + this.activeName = 'first'
  1989 + this.zhixingBian = false
  1990 + },
  1991 + reshData() {
  1992 + this.tableDa = []
  1993 + this.tiaozhengShow = false
  1994 + },
  1995 +
  1996 + handleSelectionChange(val) {
  1997 + this.multipleSelection = val;
  1998 + },
  1999 + toggleSelection(rows) {
  2000 + if (rows) {
  2001 + rows.forEach(row => {
  2002 + this.$refs.mulTable.toggleRowSelection(row);
  2003 + });
  2004 + }
  2005 + },
  2006 + tableAll() {
  2007 + this.$refs.mulTable.clearSelection(); // 清除所有选项
  2008 + const allRows = this.$refs.mulTable.data; // 获取所有行数据
  2009 + allRows.forEach(row => {
  2010 + this.$refs.mulTable.toggleRowSelection(row, true); // 全选所有项
  2011 + });
  2012 + },
  2013 + TabClick(tab, event) {
  2014 + console.log(tab, event)
  2015 + if (tab.index == '0') {
  2016 + this.getAll()
  2017 + } else {
  2018 + this.tableData = []
  2019 + }
  2020 + },
  2021 + minSev() {
  2022 + if (this.zhiXing) {
  2023 + this.tableDa.push(this.mingFrom)
  2024 + } else {
  2025 + this.mingFrom.detailsId = this.zhixingList.id
  2026 + MingAdd(this.mingFrom).then(res => {
  2027 + this.mingcha(this.zhixingList.id)
  2028 + })
  2029 + }
  2030 + this.mingFrom = {
  2031 + detailLtemName: '',
  2032 + estimatedQuantity: '',
  2033 + estimatedCost: '',
  2034 + notes: ''
  2035 + }
  2036 + this.addMing = false
  2037 + },
  2038 + // 查询执行明细
  2039 + mingcha(id) {
  2040 + mingTable({
  2041 + detailsId: id,
  2042 + pageNumber: 1,
  2043 + pageSize: 10
  2044 + }).then(res => {
  2045 + this.tableDa = res.data.content
  2046 + })
  2047 + },
  2048 + MingDelete(index, item) {
  2049 + const h = this.$createElement;
  2050 + this.$msgbox({
  2051 + title: '消息',
  2052 + message: h('p', null, [
  2053 + h('span', null, '是否删除 '),
  2054 + ]),
  2055 + showCancelButton: true,
  2056 + showClose: false,
  2057 + confirmButtonText: '确定',
  2058 + cancelButtonText: '取消',
  2059 + customClass: 'oe-dialog-btn',
  2060 + beforeClose: (action, instance, done) => {
  2061 + if (action === 'confirm') {
  2062 + if (this.zhiXing) {
  2063 + this.tableDa.splice(item, 1);
  2064 + } else {
  2065 + MingDel({
  2066 + id: item.id
  2067 + }).then(res => {
  2068 + this.mingcha(this.zhixingList.id)
  2069 + })
  2070 + }
  2071 + done();
  2072 + } else {
  2073 + done();
  2074 + }
  2075 + }
  2076 + })
  2077 + },
  2078 + tianMing() {
  2079 + if (this.zhixingBian) {
  2080 + this.addMing = true
  2081 + }
  2082 + },
  2083 +
  2084 + duibi(){
  2085 + if (this.multipleSelection.length ==1 ) {
  2086 + this.xiaoDui = true
  2087 + this.duibiOne = this.multipleSelection[0]
  2088 + console.log(this.multipleSelection[0])
  2089 + let that = this
  2090 + actPage({
  2091 + detailsId:this.multipleSelection[0].id,
  2092 + pageNumber: 1,
  2093 + pageSize: 10,
  2094 + }).then(res => {
  2095 + this.duibiTwo = res.data.content[0] === undefined ? {} : res.data.content[0];
  2096 + console.log(this.duibiTwo)
  2097 + if( res.data.content[0] === undefined || res.data.content[0].totalCostEstimation =='' ){
  2098 + that.xiaoduiObj.biliTwo = '0%'
  2099 + that.xiaoduiObj.biliT = 0
  2100 + }else{
  2101 + that.xiaoduiObj.biliT = that.duibiTwo.internalLaborCostEstimation / that.duibiTwo.totalCostEstimation*100
  2102 + that.xiaoduiObj.biliTwo =`${Math.round(that.duibiTwo.internalLaborCostEstimation / that.duibiTwo.totalCostEstimation*100)}%`
  2103 + }
  2104 +
  2105 + })
  2106 + if(that.duibiOne.totalCostEstimation ==''){
  2107 + that.xiaoduiObj.biliOne = '0%'
  2108 + that.xiaoduiObj.bilis = 0
  2109 + }else{
  2110 + that.xiaoduiObj.bilis = that.duibiOne.internalLaborCostEstimation / that.duibiOne.totalCostEstimation*100
  2111 + that.xiaoduiObj.biliOne = `${Math.round(that.duibiOne.internalLaborCostEstimation / that.duibiOne.totalCostEstimation*100)}%`
  2112 + }
  2113 +
  2114 + }else{
  2115 + this.$message({
  2116 + message: '请选择一个文件对比',
  2117 + customClass: 'custom-message',
  2118 + offset: 100
  2119 + })
  2120 + }
  2121 +
  2122 + },
  2123 +
  2124 + koop(item){
  2125 + this.copy.id = item.id
  2126 + this.copyShow = true
  2127 + },
  2128 + copyClose(){
  2129 + this.copyShow = false
  2130 + this.copy.planName = ''
  2131 + },
  2132 + copysev(){
  2133 + if(this.copy.planName == ''){
  2134 + this.$message({
  2135 + message: '请填写数据',
  2136 + customClass: 'custom-message',
  2137 + offset: 100
  2138 + })
  2139 + return;
  2140 + }else{
  2141 + copy(this.copy).then(res=>{
  2142 + this.copyShow = false
  2143 + this.getAll()
  2144 + })
  2145 + }
  2146 + },
  2147 +
  2148 +
  2149 + fenleiChange(value){
  2150 + this.xinADD.parentId = value[value.length - 1]
  2151 + },
  2152 +
  2153 +
  2154 + customFormat(percentage) {
  2155 + let zong
  2156 + if(percentage==undefined ||percentage === null || percentage == '' ){
  2157 + percentage = 0
  2158 + zong = 10000
  2159 + }
  2160 + return `${percentage} / ${percentage==''?zong:parseInt(percentage) *10}`;
  2161 + },
  2162 + baifenbi(item){
  2163 +
  2164 + let zong
  2165 + if(item == undefined || item === null || item == '' ){
  2166 + item = 0
  2167 + zong = 10000
  2168 + return Math.round(item / (item*10) * 100);
  2169 + }else{
  2170 + return Math.round(item / zong * 100);
  2171 + }
  2172 +
  2173 + },
  2174 + handleUploadSuccess(response, file, fileList) {
  2175 + const fileMsg = {
  2176 + name:file.name,
  2177 + url: file.response.data.url,
  2178 + }
  2179 + // 将文件地址存储在 uploadedFiles 数组中
  2180 + this.fileData.push(fileMsg);
  2181 + },
  2182 + handleRemove(){
  2183 + this.fileData = []
  2184 + },
  2185 + daoru(response, file, fileList){
  2186 + this.daoData.push(file.raw)
  2187 + const formDate = new FormData()
  2188 + formDate.append('file', this.daoData[0])
  2189 + excelAdd(formDate).then(res => {
  2190 + this.getAll()
  2191 + })
  2192 + },
  2193 +
  2194 +
  2195 + async daochu(){
  2196 + let res = await excelQueryByPage(this.pageindex)
  2197 + if(!res){
  2198 + return
  2199 + }
  2200 + const blob = new Blob([res], { type: 'application/vnd.ms-excel' })
  2201 + const fileName = '审核流程.xls'
  2202 + if ('download' in document.createElement('a')) {
  2203 + // 非IE下载
  2204 + const elink = document.createElement('a')
  2205 + elink.download = fileName
  2206 + elink.style.display = 'none'
  2207 + elink.href = URL.createObjectURL(blob)
  2208 + document.body.appendChild(elink)
  2209 + elink.click()
  2210 + URL.revokeObjectURL(elink.href) // 释放URL 对象
  2211 + document.body.removeChild(elink)
  2212 + } else {
  2213 + // IE10+下载
  2214 + navigator.msSaveBlob(blob, fileName)
  2215 + }
  2216 + this.$message({
  2217 + message: '导出成功',
  2218 + type: 'success'
  2219 + })
  2220 +
  2221 +
  2222 + },
  2223 + // 下载
  2224 + async downloadPdf() {
  2225 + const content = this.$refs.actXiang;
  2226 +
  2227 + // 使用 html2canvas 将 div 渲染为画布
  2228 + const canvas = await html2canvas(content);
  2229 +
  2230 + // 获取画布的图像数据
  2231 + const imgData = canvas.toDataURL('image/png');
  2232 +
  2233 + // 创建一个新的 PDF 文档
  2234 + const pdf = new jsPDF('p', 'mm', 'a4');
  2235 +
  2236 + // 添加图像到 PDF,第二个参数是图像格式,第三个参数是缩放比例
  2237 + const imgWidth = 190; // 图像的宽度(mm)
  2238 + const imgHeight = (canvas.height * imgWidth) / canvas.width; // 保持图像的宽高比
  2239 +
  2240 + pdf.addImage(imgData, 'PNG', 10, 10, imgWidth, imgHeight); // 10, 10 是图像在 PDF 中的位置(mm)
  2241 +
  2242 + // 保存 PDF 文件
  2243 + pdf.save('活动方案.pdf');
  2244 + },
  2245 + // 下载
  2246 + async lishidownloadPdf() {
  2247 + const content = this.$refs.lishiRef;
  2248 +
  2249 + // 使用 html2canvas 将 div 渲染为画布
  2250 + const canvas = await html2canvas(content);
  2251 +
  2252 + // 获取画布的图像数据
  2253 + const imgData = canvas.toDataURL('image/png');
  2254 +
  2255 + // 创建一个新的 PDF 文档
  2256 + const pdf = new jsPDF('p', 'mm', 'a4');
  2257 +
  2258 + // 添加图像到 PDF,第二个参数是图像格式,第三个参数是缩放比例
  2259 + const imgWidth = 190; // 图像的宽度(mm)
  2260 + const imgHeight = (canvas.height * imgWidth) / canvas.width; // 保持图像的宽高比
  2261 +
  2262 + pdf.addImage(imgData, 'PNG', 10, 10, imgWidth, imgHeight); // 10, 10 是图像在 PDF 中的位置(mm)
  2263 +
  2264 + // 保存 PDF 文件
  2265 + pdf.save('历史方案.pdf');
  2266 + },
  2267 +setSearch(){
  2268 +this.searchShow = true
  2269 +},
  2270 +lichange(e){
  2271 +this.lishiList=e
  2272 + let msg =this.liData[e]
  2273 +this.duibiList = JSON.parse(msg.modifyContent)
  2274 +this.lixiang = JSON.parse(msg.originalData)
  2275 +
  2276 +},
  2277 +tiaozheng(){
  2278 + this.tiaozhengShow = true
  2279 +},
  2280 +jiucuo(){
  2281 + this.jiuMsg = ''
  2282 + this.jiucuoShow =true
  2283 +},
  2284 +jiuCheck(){
  2285 + xiangedit({id:this.editId,isErrorCorrection:this.jiuMsg}).then(res=>{
  2286 + this.jiucuoShow = false
  2287 + })
  2288 +},
  2289 + }
  2290 + }
  2291 +</script>
  2292 +
  2293 +<style scoped>
  2294 + .custom-tree-node {
  2295 + flex: 1;
  2296 + display: flex;
  2297 + align-items: center;
  2298 + justify-content: space-between;
  2299 + font-size: 14px;
  2300 + padding-right: 8px;
  2301 + }
  2302 + /deep/ .first-column-bg {
  2303 + background-color: #f4f4f5 !important;
  2304 + }
  2305 +
  2306 + .zhuti {
  2307 + padding: 0 20px 20px 20px;
  2308 + min-height: calc(100vh - 50px - 20px);
  2309 + background-color: #Fff;
  2310 +
  2311 + }
  2312 +::v-deep .el-form-item{
  2313 + margin-bottom:16px;
  2314 +}
  2315 + /deep/ .el-form-item__content {
  2316 + line-height: 0;
  2317 + }
  2318 +
  2319 + .tableBtn {
  2320 + display: inline-block;
  2321 + margin-right: 10px;
  2322 + }
  2323 +
  2324 + .formSearch {
  2325 + display: flex;
  2326 + width: 100%;
  2327 + font-size: 14px;
  2328 + justify-content: space-between;
  2329 + padding-bottom: 10px;
  2330 + align-items: center;
  2331 + }
  2332 +
  2333 + .greens {
  2334 + color: #3F9B6A;
  2335 + }
  2336 +
  2337 + /deep/ .el-table__row {
  2338 + font-size: 14px;
  2339 + color:#000000e6;
  2340 + height:42px;
  2341 + }
  2342 +
  2343 + .fenye {
  2344 + margin-top: 20px;
  2345 + display: flex;
  2346 + justify-content: space-between;
  2347 + position: relative;
  2348 + }
  2349 +
  2350 + /deep/ .el-pagination.is-background .el-pager li:not(.disabled).active {
  2351 + background-color: #3F9B6A;
  2352 + }
  2353 +
  2354 + .el-row {
  2355 + margin-bottom: 20px;
  2356 + }
  2357 +
  2358 + :last-child {
  2359 + margin-bottom: 0;
  2360 + }
  2361 +
  2362 + .el-col {
  2363 + border-radius: 4px;
  2364 + }
  2365 +
  2366 + .bg-purple-dark {
  2367 + background: #99a9bf;
  2368 + }
  2369 +
  2370 + .bg-purple {
  2371 + /* background: #d3dce6; */
  2372 + }
  2373 +
  2374 + .bg-purple-light {
  2375 + background: #e5e9f2;
  2376 + }
  2377 +
  2378 + .grid-content {
  2379 + border-radius: 4px;
  2380 + min-height: 36px;
  2381 + }
  2382 +
  2383 + .row-bg {
  2384 + padding: 10px 0;
  2385 + background-color: #f9fafc;
  2386 + }
  2387 +
  2388 + /deep/ .bg-purple[data-v-0e3fe4ec] {
  2389 + background: #fff;
  2390 + height: 50px;
  2391 + }
  2392 +
  2393 + /deep/ .el-form--label-top .el-form-item__label {
  2394 + padding: 0;
  2395 + }
  2396 +
  2397 +
  2398 + .pagination {
  2399 + text-align: right;
  2400 + line-height: 20px;
  2401 + }
  2402 +
  2403 + /deep/ .el-pagination__total {
  2404 + margin-top: 4px;
  2405 + }
  2406 +
  2407 +::v-deep .xiang_css{
  2408 + margin-top:11vh !important;
  2409 + margin-left: 13%;
  2410 + max-height:600px;
  2411 + overflow-y: auto;
  2412 +}
  2413 + /deep/ .dialog_css {
  2414 + margin-top: 11vh;
  2415 + margin-left: 25%;
  2416 + padding: 0px;
  2417 +
  2418 + .el-dialog__title {
  2419 + font-size: 14px;
  2420 + color: #000000e6;
  2421 + }
  2422 + }
  2423 +
  2424 + /deep/.el-dialog__body {
  2425 + padding: 0px;
  2426 + }
  2427 +
  2428 + /deep/ .el-dialog__header {
  2429 + background-color: #fff;
  2430 + }
  2431 +
  2432 + /deep/.el-dialog__title {
  2433 + font-size: 14px;
  2434 + color: #000000e6;
  2435 + }
  2436 +
  2437 + .el-row {
  2438 + margin-bottom: 20px;
  2439 +
  2440 + &:last-child {
  2441 + margin-bottom: 0;
  2442 + }
  2443 + }
  2444 +
  2445 + /deep/ .avatar-uploader .el-upload {
  2446 + border: 1px dashed #d9d9d9;
  2447 + border-radius: 6px;
  2448 + cursor: pointer;
  2449 + position: relative;
  2450 + overflow: hidden;
  2451 + }
  2452 +
  2453 + .avatar-uploader .el-upload:hover {
  2454 + border-color: #409EFF;
  2455 + }
  2456 +
  2457 + .avatar-uploader-icon {
  2458 + font-size: 28px;
  2459 + color: #8c939d;
  2460 + width: 108px;
  2461 + height: 108px;
  2462 + line-height: 108px;
  2463 + /*text-align: center;*/
  2464 + }
  2465 +
  2466 + .avatar {
  2467 + width: 108px;
  2468 + height: 108px;
  2469 + display: block;
  2470 + }
  2471 +
  2472 + ::v-deep .el-tabs__item.is-active {
  2473 + color: #3F9B6A;
  2474 + opacity: 1;
  2475 + }
  2476 +
  2477 + /deep/ .el-tabs__nav-wrap::after {
  2478 + background-color: #fff;
  2479 + }
  2480 +
  2481 + ::v-deep .el-tabs__item:hover {
  2482 + color: #3F9B6A;
  2483 + cursor: pointer;
  2484 + opacity: 1;
  2485 + }
  2486 +
  2487 + /deep/ .el-tabs__active-bar {
  2488 + background-color: #389865;
  2489 + }
  2490 +
  2491 + /deep/ .el-table_2_column_13 {
  2492 + font-weight: 100;
  2493 + }
  2494 +::v-deep .el-input__inner{
  2495 + height:32px;
  2496 + line-height:32px;
  2497 +}
  2498 + ::v-deep .el-input__inner:focus {
  2499 + border: #3F9B6A 1px solid;
  2500 + }
  2501 +
  2502 + ::v-deep .el-input__inner:hover {
  2503 + border: #3F9B6A 1px solid;
  2504 + }
  2505 +
  2506 + ::v-deep .el-select .el-input.is-focus .el-input__inner {
  2507 + border-color: #3F9B6A
  2508 + }
  2509 +
  2510 + ::v-deep .el-form-item__label {
  2511 + font-weight: 100;
  2512 + font-size: 14px;
  2513 + color:#000000e6;
  2514 + }
  2515 +
  2516 + /* ::v-deep .el-steps .el-step__head.is-wait {
  2517 + background-color: red; /* 修改为你想要的颜色 */
  2518 +
  2519 + /* 修改未进行步骤的描述文字颜色 */
  2520 + ::v-deep .el-steps .el-step__description.is-wait {
  2521 + color: #999;
  2522 + /* 修改为你想要的颜色 */
  2523 + }
  2524 +
  2525 + /* 修改未进行步骤的图标颜色 */
  2526 + ::v-deep .el-steps .el-step__icon.is-text.is-wait {
  2527 + color: #999;
  2528 + /* 修改为你想要的颜色 */
  2529 + }
  2530 +
  2531 + /* 修改未进行步骤的边框色 */
  2532 + ::v-deep .el-steps .el-step__line.is-wait {
  2533 + border-color: #eee;
  2534 + /* 修改为你想要的颜色 */
  2535 + }
  2536 +
  2537 + ::v-deep .el-steps .is-process .el-step__line {
  2538 + background-color: #3F9B6A;
  2539 + /* 修改线的颜色 */
  2540 + }
  2541 +
  2542 + ::v-deep .el-steps .is-process .el-step__title {
  2543 + color: #fe7b6a;
  2544 + /* 修改进行中步骤的标题颜色 */
  2545 + }
  2546 +
  2547 + ::v-deep .el-steps .is-process .el-step__icon {
  2548 + color: #fff;
  2549 + /* 修改进行中步骤的图标颜色 */
  2550 + background: #3F9B6A;
  2551 + /* 修改进行中步骤图标的边框颜色 */
  2552 + border: 0px;
  2553 + }
  2554 +
  2555 + ::v-deep .el-step__icon-inner {
  2556 + line-height: 0
  2557 + }
  2558 +
  2559 + /* 线条长度 */
  2560 + ::v-deep .el-step.is-vertical .el-step__line {
  2561 + top: 30px;
  2562 + height: 60px;
  2563 + }
  2564 +
  2565 + .fenlan {
  2566 + display: flex;
  2567 + }
  2568 +
  2569 + .souLei {
  2570 + border: 1px solid #d7d7d7;
  2571 + background-color: #fff;
  2572 + width:300px;
  2573 + margin-right:20px;
  2574 +
  2575 + }
  2576 +::v-deep .el-menu{
  2577 + border-right:0px;
  2578 +}
  2579 +::v-deep .el-menu-item{
  2580 + height:36px;
  2581 + line-height: 33px;
  2582 +}
  2583 +
  2584 +::v-deep .el-submenu__title{
  2585 + height:36px;
  2586 + line-height: 33px;
  2587 + font-weight:600;
  2588 + border-radius:4px;
  2589 + margin:4px 0;
  2590 +}
  2591 +::v-deep .el-menu-item-group__title{
  2592 + padding:0px
  2593 +}
  2594 + ::v-deep .fudan{
  2595 + font-weight:600;
  2596 + border-radius:4px;
  2597 + padding-left:29px !important;
  2598 + margin:4px 0;
  2599 + }
  2600 + ::v-deep .chinddan{
  2601 + margin:5px 0;
  2602 + }
  2603 +</style>
  2604 +<style lang="scss" scoped>
  2605 + ::v-deep .el-table tr:hover{
  2606 + background-color: #F0F7F3 !important;
  2607 + }
  2608 + ::v-deep .souTabs {
  2609 + padding:0 15px 0 12px;
  2610 + .el-submenu{
  2611 + padding:0px;
  2612 + }
  2613 + .el-menu-item:focus, .el-menu-item:hover{
  2614 + background-color: #3F9B6A !important;
  2615 + }
  2616 + .el-menu-item:hover{
  2617 + background-color:#3f9b6a1a !important;
  2618 + color:#000 !important;
  2619 + }
  2620 + .el-tabs--left .el-tabs__header.is-left {
  2621 + width: 100%;
  2622 + margin-right: 0px;
  2623 + }
  2624 +
  2625 + .el-tabs--left .el-tabs__item.is-left {
  2626 + text-align: center;
  2627 + }
  2628 +
  2629 + .el-tabs__item.is-active {
  2630 + background-color: #DEEBE2;
  2631 + }
  2632 + }
  2633 +
  2634 + ::v-deep .tableList {
  2635 + width: 100%;
  2636 + }
  2637 + ::v-deep .fenxi_css{
  2638 + margin-top: 9vh !important;
  2639 + margin-left: 10%;
  2640 + .el-dialog__header{
  2641 + padding:0;
  2642 + }
  2643 + .el-tabs--border-card {
  2644 + border: none;
  2645 + -webkit-box-shadow:none;
  2646 + box-shadow:none;
  2647 + .el-tabs__content{
  2648 + border: 1px solid #E4E7ED;
  2649 + padding:0;
  2650 + }
  2651 + .el-tabs__header{
  2652 + background-color: #fff;
  2653 + border-bottom:none;
  2654 + }
  2655 + .el-tabs__content{
  2656 + border: none;
  2657 + }
  2658 + .el-tabs__header .el-tabs__item{
  2659 + border: none;
  2660 + margin-right: 10px;
  2661 + background-color: #F2F2F2;
  2662 + font-size:12px;
  2663 + border-top-left-radius: 8px;
  2664 + border-top-right-radius: 8px;
  2665 + padding:0 15px;
  2666 + }
  2667 + .el-tabs__header .el-tabs__item.is-active{
  2668 + color:#fff;
  2669 + background-color: #3F9B6A;
  2670 + }
  2671 + .el-tabs__header .el-tabs__item:not(.is-disabled):hover{
  2672 + color:#3F9B6A;
  2673 + }
  2674 + }
  2675 +
  2676 + }
  2677 + ::v-deep .xiaoguo_css{
  2678 + margin-top: 30vh !important;
  2679 + margin-left: 25%;
  2680 + .el-dialog__header{
  2681 + padding:0;
  2682 + }
  2683 + .el-tabs--border-card {
  2684 + border: none;
  2685 + -webkit-box-shadow:none;
  2686 + box-shadow:none;
  2687 + .el-tabs__content{
  2688 + border: 1px solid #E4E7ED;
  2689 + padding:0;
  2690 + }
  2691 + .el-tabs__header{
  2692 + background-color: #fff;
  2693 + border-bottom:none;
  2694 + }
  2695 + .el-tabs__content{
  2696 + border: none;
  2697 + }
  2698 + .el-tabs__header .el-tabs__item{
  2699 + border: none;
  2700 + margin-right: 10px;
  2701 + background-color: #F2F2F2;
  2702 + font-size:12px;
  2703 + border-top-left-radius: 8px;
  2704 + border-top-right-radius: 8px;
  2705 + padding:0 15px;
  2706 + }
  2707 + .el-tabs__header .el-tabs__item.is-active{
  2708 + color:#fff;
  2709 + background-color: #3F9B6A;
  2710 + }
  2711 + .el-tabs__header .el-tabs__item:not(.is-disabled):hover{
  2712 + color:#3F9B6A;
  2713 + }
  2714 + }
  2715 + }
  2716 + ::v-deep .demo-input-suffix {
  2717 + display: flex;
  2718 + margin-right: 20px;
  2719 + width: 83%;
  2720 +
  2721 + .el-input__inner{
  2722 + height:32px;
  2723 + }
  2724 + }
  2725 + ::v-deep .el-input__icon{
  2726 + line-height:25px;
  2727 + }
  2728 + ::v-deep .el-input--mini .el-input__icon{
  2729 + line-height:33px;
  2730 + }
  2731 +
  2732 + ::v-deep .buttonHover:hover{
  2733 + color:#3f9b6a !important;
  2734 + border-color: #c5e1d2 !important;
  2735 + background-color: #ecf5f0 !important;
  2736 + outline: none;
  2737 + }
  2738 + ::v-deep .DelBtnHover:hover{
  2739 + color:#fff !important;
  2740 + border-color: rgb(226, 78, 90) !important;
  2741 + background-color: rgb(226, 78, 90) !important;
  2742 + outline: none;
  2743 + }
  2744 +::v-deep .el-menu-item.is-active {
  2745 + background-color: #3F9B6A !important;
  2746 +}
  2747 +::v-deep .jindutiao{
  2748 + display:flex;
  2749 + align-items:center;
  2750 + margin-bottom:15px;
  2751 + .el-progress-bar__outer{
  2752 + border-radius:0px;
  2753 + }
  2754 + .el-progress-bar__inner{
  2755 + border-radius:0px;
  2756 + }
  2757 +}
  2758 +
  2759 +</style>
yanshouban/src/views/activity/activitySp.vue
@@ -59,7 +59,7 @@ @@ -59,7 +59,7 @@
59 </el-table-column> 59 </el-table-column>
60 <el-table-column label="创建时间" prop="createDate" min-width="250" > 60 <el-table-column label="创建时间" prop="createDate" min-width="250" >
61 </el-table-column> 61 </el-table-column>
62 - <el-table-column prop="createUser" label="上传人员" min-width="80"> 62 + <el-table-column prop="auditReminderTime" label="审核提醒时间" width="200">
63 63
64 </el-table-column> 64 </el-table-column>
65 <el-table-column label="操作" min-width="200"> 65 <el-table-column label="操作" min-width="200">
yanshouban/src/views/activity/index.vue
@@ -86,9 +86,9 @@ @@ -86,9 +86,9 @@
86 </el-table-column> 86 </el-table-column>
87 <el-table-column label="类型" prop="planType" width="80"> 87 <el-table-column label="类型" prop="planType" width="80">
88 </el-table-column> 88 </el-table-column>
89 - <el-table-column label="发布状态" width="80" > 89 + <!-- <el-table-column label="发布状态" width="80" >
90 90
91 - </el-table-column> 91 + </el-table-column> -->
92 <el-table-column label="审批状态" width="150"> 92 <el-table-column label="审批状态" width="150">
93 <template slot-scope="scope"> 93 <template slot-scope="scope">
94 {{scope.row.state == ''?'待提交':scope.row.state == '1'?'待审批':scope.row.state == '2'?'部门领导审批':scope.row.state == '3'?'公司领导审批':scope.row.state == '4'?'其他审批':scope.row.state == '5'?'审核通过':'已驳回'}} 94 {{scope.row.state == ''?'待提交':scope.row.state == '1'?'待审批':scope.row.state == '2'?'部门领导审批':scope.row.state == '3'?'公司领导审批':scope.row.state == '4'?'其他审批':scope.row.state == '5'?'审核通过':'已驳回'}}
@@ -96,7 +96,7 @@ @@ -96,7 +96,7 @@
96 </el-table-column> 96 </el-table-column>
97 <el-table-column label="创建时间" prop="createDate"width="250" > 97 <el-table-column label="创建时间" prop="createDate"width="250" >
98 </el-table-column> 98 </el-table-column>
99 - <el-table-column prop="createUser" label="上传人员" width="80"> 99 + <el-table-column prop="auditReminderTime" label="审核提醒时间" width="200">
100 100
101 </el-table-column> 101 </el-table-column>
102 <el-table-column label="操作" width="350"> 102 <el-table-column label="操作" width="350">
@@ -104,7 +104,10 @@ @@ -104,7 +104,10 @@
104 <div @click="actBian(scope.row)" class="tableBtn greens" v-if="scope.row.state == ''">修改</div> 104 <div @click="actBian(scope.row)" class="tableBtn greens" v-if="scope.row.state == ''">修改</div>
105 <!-- <div class="tableBtn greens">发布</div> --> 105 <!-- <div class="tableBtn greens">发布</div> -->
106 <div class="tableBtn greens" @click="handleEditForm(scope.row)">执行情况</div> 106 <div class="tableBtn greens" @click="handleEditForm(scope.row)">执行情况</div>
107 - <div @click="OAshen(scope.row)" class="tableBtn greens" v-if="scope.row.state == ''">上传到OA</div> 107 + <div @click="OAshen(scope.row)" class="tableBtn greens" v-if="scope.row.state == ''">提交审核</div>
  108 + <div class="tableBtn greens" v-if="scope.row.state ==''" @click="peizhi(scope.row)">
  109 + 审批流程选择
  110 + </div>
108 <div class="tableBtn greens" @click="xiaoguo(scope.row)" v-if="scope.row.state == '5'" >效果评估</div> 111 <div class="tableBtn greens" @click="xiaoguo(scope.row)" v-if="scope.row.state == '5'" >效果评估</div>
109 <!-- <div class="tableBtn greens">策略调整</div> --> 112 <!-- <div class="tableBtn greens">策略调整</div> -->
110 <div class="tableBtn greens" @click="koop(scope.row)">复制</div> 113 <div class="tableBtn greens" @click="koop(scope.row)">复制</div>
@@ -838,25 +841,7 @@ @@ -838,25 +841,7 @@
838 </div> 841 </div>
839 </div> 842 </div>
840 <div style="padding:55px 10px 10px 10px;background-color:#fff; position:relative"> 843 <div style="padding:55px 10px 10px 10px;background-color:#fff; position:relative">
841 - <div style="position: absolute;top: 52px;right: 5px; z-index: 10;">  
842 - <el-radio-group v-model="radio1" style="margin-right:10px">  
843 - <el-radio-button label="本周"></el-radio-button>  
844 - <el-radio-button label="本月"></el-radio-button>  
845 - <el-radio-button label="今年 "></el-radio-button>  
846 - <el-radio-button label="自定义"></el-radio-button>  
847 - </el-radio-group>  
848 - <el-date-picker  
849 - v-if="radio1=='自定义'"  
850 -  
851 - style="width:250px"  
852 - v-model="radio1_time"  
853 - type="datetimerange"  
854 - range-separator="至"  
855 - start-placeholder="开始日期"  
856 - end-placeholder="结束日期">  
857 - </el-date-picker>  
858 - </div>  
859 - <el-tabs type="border-card" @tab-click="xiaoguoTab"> 844 + <el-tabs type="border-card" >
860 <el-tab-pane label="整体效果分析"> 845 <el-tab-pane label="整体效果分析">
861 <el-table :data="dataList" 846 <el-table :data="dataList"
862 :header-cell-style="{fontSize: '12px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}" 847 :header-cell-style="{fontSize: '12px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}"
@@ -893,78 +878,8 @@ @@ -893,78 +878,8 @@
893 </el-table-column> 878 </el-table-column>
894 </el-table> 879 </el-table>
895 </el-tab-pane> 880 </el-tab-pane>
896 - <el-tab-pane label="纵向分析">  
897 -<el-table :data="dataList"  
898 - :header-cell-style="{fontSize: '12px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}"  
899 - style="width: 100%">  
900 - <el-table-column label="主题" width="auto" min-width="12%" align="center">  
901 - <template slot-scope="scope">  
902 - {{scope.$index + 1}}  
903 - </template>  
904 - </el-table-column>  
905 - <el-table-column label="环比比较" width="auto" min-width="15%" align="center">  
906 - <template slot-scope="scope">  
907 - {{scope.$index + 1}}  
908 - </template>  
909 - </el-table-column>  
910 - <el-table-column label="增长量" width="auto" min-width="15%" align="center">  
911 - <template slot-scope="scope">  
912 - {{scope.$index + 1}}  
913 - </template>  
914 - </el-table-column>  
915 - <el-table-column label="增长率" prop="name" width="auto" min-width="15%">  
916 - <template slot-scope="scope">  
917 - {{scope.row.name}}  
918 - </template>  
919 - </el-table-column>  
920 - <el-table-column label="投入总金额" prop="name" width="auto" min-width="15%">  
921 - <template slot-scope="scope">  
922 - {{scope.row.name}}  
923 - </template>  
924 - </el-table-column>  
925 - <el-table-column label="投入产出比" prop="name" width="auto" min-width="15%">  
926 - <template slot-scope="scope">  
927 - {{scope.row.name}}  
928 - </template>  
929 - </el-table-column>  
930 - </el-table>  
931 - </el-tab-pane>  
932 - <el-tab-pane label="横向分析">  
933 -<el-table :data="dataList"  
934 - :header-cell-style="{fontSize: '12px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}"  
935 - style="width: 100%">  
936 - <el-table-column label="主题" width="auto" min-width="12%" align="center">  
937 - <template slot-scope="scope">  
938 - {{scope.$index + 1}}  
939 - </template>  
940 - </el-table-column>  
941 - <el-table-column label="环比比较" width="auto" min-width="15%" align="center">  
942 - <template slot-scope="scope">  
943 - {{scope.$index + 1}}  
944 - </template>  
945 - </el-table-column>  
946 - <el-table-column label="增长量" width="auto" min-width="15%" align="center">  
947 - <template slot-scope="scope">  
948 - {{scope.$index + 1}}  
949 - </template>  
950 - </el-table-column>  
951 - <el-table-column label="增长率" prop="name" width="auto" min-width="15%">  
952 - <template slot-scope="scope">  
953 - {{scope.row.name}}  
954 - </template>  
955 - </el-table-column>  
956 - <el-table-column label="投入总金额" prop="name" width="auto" min-width="15%">  
957 - <template slot-scope="scope">  
958 - {{scope.row.name}}  
959 - </template>  
960 - </el-table-column>  
961 - <el-table-column label="投入产出比" prop="name" width="auto" min-width="15%">  
962 - <template slot-scope="scope">  
963 - {{scope.row.name}}  
964 - </template>  
965 - </el-table-column>  
966 - </el-table>  
967 - </el-tab-pane> 881 +
  882 +
968 </el-tabs> 883 </el-tabs>
969 </div> 884 </div>
970 885
@@ -1067,6 +982,28 @@ @@ -1067,6 +982,28 @@
1067 </div> 982 </div>
1068 983
1069 </el-dialog> 984 </el-dialog>
  985 + <el-dialog :visible.sync="peiShow" custom-class='bian_css' style="padding: 0;" width="45%"
  986 + :close-on-press-escape="false" center :close-on-click-modal="false" class="dialog_css_Xq" :show-close="false">
  987 + <div style="padding:20px;">
  988 + <div style="font-size: 14px;padding-bottom: 20px;color: #000;">审核流程配置</div>
  989 + <el-form label-position="right" ref="jibenFrom" :model="peiForm" label-width="140px"
  990 + style="position: relative">
  991 + <el-form-item label="审核提醒时间" class="grid-content bg-purple device-from" prop="planName">
  992 + <el-date-picker style="width:240px;margin-right:5px" v-model="peiForm.auditReminderTime"
  993 + value-format="yyyy-MM-dd HH:mm:ss" type="datetime" prefix-icon="none" >
  994 + </el-date-picker>
  995 + </el-form-item>
  996 + </el-form>
  997 + <div style="padding-top:20px;display:flex;justify-content: flex-end;">
  998 + <el-button style="background-color: #3F9B6A;color: #fff"
  999 + @click="peiCheck">确定</el-button>
  1000 + <el-button @click="peiShow = false" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" class="buttonHover">取消</el-button>
  1001 +
  1002 + </div>
  1003 +
  1004 + </div>
  1005 +
  1006 + </el-dialog>
1070 <addAct :showAdd="addAct" @childClose='childClose' :fenleiName="cascaderList"></addAct> 1007 <addAct :showAdd="addAct" @childClose='childClose' :fenleiName="cascaderList"></addAct>
1071 <actbians :showBian="actbianMsg" @BianchildClose='BianchildClose'></actbians> 1008 <actbians :showBian="actbianMsg" @BianchildClose='BianchildClose'></actbians>
1072 </div> 1009 </div>
@@ -1279,8 +1216,7 @@ @@ -1279,8 +1216,7 @@
1279 xiaoguoBox:false, 1216 xiaoguoBox:false,
1280 chart: null, //饼图 1217 chart: null, //饼图
1281 chart1: null, //漏斗图 1218 chart1: null, //漏斗图
1282 - radio1:'',  
1283 - radio1_time:'', 1219 +
1284 dataList:[], 1220 dataList:[],
1285 xinlei:false,//分类管理框 1221 xinlei:false,//分类管理框
1286 fenleiDelId:null,//删除的分类ID 1222 fenleiDelId:null,//删除的分类ID
@@ -1303,9 +1239,14 @@ @@ -1303,9 +1239,14 @@
1303 duibiOne:{}, 1239 duibiOne:{},
1304 duibiTwo:{}, 1240 duibiTwo:{},
1305 caoList:[], 1241 caoList:[],
1306 - caogaoshow:false  
1307 - }  
1308 - }, 1242 + caogaoshow:false,
  1243 + peiForm:{
  1244 + auditReminderTime:''
  1245 + },
  1246 + peiShow:false,
  1247 + peiId:'',
  1248 + }
  1249 + },
1309 created() { 1250 created() {
1310 this.getAll() 1251 this.getAll()
1311 1252
@@ -1844,9 +1785,6 @@ @@ -1844,9 +1785,6 @@
1844 } 1785 }
1845 1786
1846 }, 1787 },
1847 - xiaoguoTab(tab, event){  
1848 -  
1849 - },  
1850 xiaoguo(item) { 1788 xiaoguo(item) {
1851 effectEvaluation({id:item.id}).then(res=>{ 1789 effectEvaluation({id:item.id}).then(res=>{
1852 this.fenxiData = res.data 1790 this.fenxiData = res.data
@@ -2193,6 +2131,24 @@ @@ -2193,6 +2131,24 @@
2193 // 保存 PDF 文件 2131 // 保存 PDF 文件
2194 pdf.save('活动方案.pdf'); 2132 pdf.save('活动方案.pdf');
2195 }, 2133 },
  2134 + peizhi(item){
  2135 + this.peiForm = {
  2136 + auditTime:''
  2137 + }
  2138 + this.peiShow = true
  2139 + this.peiId = item.id
  2140 + },
  2141 + async peiCheck(){
  2142 + if(this.peiForm.auditReminderTime ==''){
  2143 + this.$message({
  2144 + message: '请填写审核提醒时间',
  2145 + })
  2146 + return;
  2147 + }
  2148 + await xiangedit({id:this.peiId,auditReminderTime:this.peiForm.auditReminderTime})
  2149 + this.peiShow = false
  2150 + this.getAll()
  2151 + },
2196 } 2152 }
2197 } 2153 }
2198 </script> 2154 </script>
yanshouban/src/views/ads/fangAudit/bianform.vue
@@ -66,6 +66,7 @@ @@ -66,6 +66,7 @@
66 </div> 66 </div>
67 </div> 67 </div>
68 <el-form-item label="附件信息" prop="mainPurpose" class="grid-content bg-purple"> 68 <el-form-item label="附件信息" prop="mainPurpose" class="grid-content bg-purple">
  69 + <div style="padding:10px 0;line-height:20px;color:#3F9B6A" v-if="steat == false && ruleForm.attachmentInfo">{{ruleForm.attachmentInfo.name}}<a style="margin-left:20px;color:#3F9B6A" :href="ruleForm.attachmentInfo.url" target="_blank" v-if="ruleForm.attachmentInfo.name">下载</a></div>
69 <!-- <el-upload class="upload-demo" ref="upload" :on-preview="handlePreview" :on-remove="handleRemove" 70 <!-- <el-upload class="upload-demo" ref="upload" :on-preview="handlePreview" :on-remove="handleRemove"
70 :action="uploadFileUrl" :on-success="handleUploadSuccess" :file-list="fileData" 71 :action="uploadFileUrl" :on-success="handleUploadSuccess" :file-list="fileData"
71 :show-file-list="false"> 72 :show-file-list="false">
@@ -73,7 +74,7 @@ @@ -73,7 +74,7 @@
73 上传附件 74 上传附件
74 </div> 75 </div>
75 </el-upload> --> 76 </el-upload> -->
76 - <div style="padding:10px 0;line-height:20px;color:#3F9B6A" v-if="showBian">{{ruleForm.attachmentInfo.name || ''}}</div> 77 +
77 </el-form-item> 78 </el-form-item>
78 <el-form-item label="状态" prop="mainPurpose" class="grid-content bg-purple" v-if="steat"> 79 <el-form-item label="状态" prop="mainPurpose" class="grid-content bg-purple" v-if="steat">
79 <el-radio-group v-model="radio"> 80 <el-radio-group v-model="radio">
yanshouban/src/views/ads/fangAudit/index.vue
@@ -48,106 +48,106 @@ @@ -48,106 +48,106 @@
48 " 48 "
49 :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" 49 :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"
50 > 50 >
51 - <el-table-column  
52 - label="序号"  
53 - min-width="60"  
54 - >  
55 - <template slot-scope="scope">  
56 - {{scope.$index+1}}  
57 - </template>  
58 - </el-table-column>  
59 - <el-table-column  
60 - label="招商方案名称"  
61 - prop="planName"  
62 - min-width="300"  
63 - />  
64 - <el-table-column  
65 - label="规划方案名称"  
66 -  
67 - min-width="300"  
68 - >  
69 - <template slot-scope="scope">  
70 - {{scope.row.cereInvestmentPlanningManagement.planningName}}  
71 - </template>  
72 - </el-table-column>  
73 - <el-table-column  
74 - label="计划实施时间"  
75 -  
76 - min-width="250"  
77 - >  
78 - <template slot-scope="scope">  
79 - {{scope.row.cereInvestmentPlanningManagement.implementationStartTime}} - {{scope.row.cereInvestmentPlanningManagement.implementationEndTime}}  
80 - </template>  
81 - </el-table-column>  
82 - <el-table-column  
83 - label="涵盖资源数"  
84 - min-width="120"  
85 - >  
86 - <template slot-scope="scope">  
87 - {{ scope.row.cereResourceStrategy.length }}  
88 - </template>  
89 - </el-table-column>  
90 - <el-table-column  
91 - label="资源编号"  
92 - prop="founder"  
93 - min-width="200">  
94 - <template slot-scope="scope">  
95 - {{ scope.row.cereResourceStrategy.resourcesId }}  
96 - </template>  
97 - </el-table-column>  
98 - <el-table-column  
99 - label="资源类型"  
100 - prop="contactInformation"  
101 - min-width="150"  
102 - >  
103 - <template slot-scope="scope">  
104 - {{ scope.row.cereResourceStrategy.id }}  
105 - </template>  
106 - </el-table-column>  
107 - <el-table-column  
108 - label="租金"  
109 -  
110 - min-width="150"  
111 - >  
112 - <template slot-scope="scope">  
113 -  
114 - </template>  
115 - </el-table-column>  
116 - <el-table-column  
117 - label="免租期"  
118 -  
119 - min-width="150"  
120 - >  
121 - <template slot-scope="scope">  
122 -  
123 - </template>  
124 - </el-table-column>  
125 - <el-table-column  
126 - label="付款方式"  
127 -  
128 - min-width="150"  
129 - >  
130 - <template slot-scope="scope">  
131 -  
132 - </template>  
133 - </el-table-column>  
134 - <el-table-column  
135 - label="当前节点"  
136 - min-width="150"  
137 - >  
138 - <template slot-scope="scope">  
139 - {{scope.row.auditStatus =='1'?'待审核':scope.row.auditStatus =='2'?'审核通过':scope.row.auditStatus =='3'?'已驳回':''}} 51 + <el-table-column
  52 + label="序号"
  53 + min-width="60"
  54 + >
  55 + <template slot-scope="scope">
  56 + {{scope.$index+1}}
  57 + </template>
  58 + </el-table-column>
  59 + <el-table-column
  60 + label="招商方案名称"
  61 + prop="planName"
  62 + min-width="300"
  63 + />
  64 + <el-table-column
  65 + label="规划方案名称"
  66 +
  67 + min-width="300"
  68 + >
  69 + <template slot-scope="scope">
  70 + {{scope.row.cereInvestmentPlanningManagement.planningName}}
  71 + </template>
  72 + </el-table-column>
  73 + <el-table-column
  74 + label="计划实施时间"
  75 +
  76 + min-width="250"
  77 + >
  78 + <template slot-scope="scope">
  79 + {{scope.row.cereInvestmentPlanningManagement.implementationStartTime}} - {{scope.row.cereInvestmentPlanningManagement.implementationEndTime}}
  80 + </template>
  81 + </el-table-column>
  82 + <el-table-column
  83 + label="涵盖资源数"
  84 + min-width="120"
  85 + >
  86 + <template slot-scope="scope">
  87 + {{ scope.row.cereResourceStrategy.length }}
  88 + </template>
  89 + </el-table-column>
  90 + <!-- <el-table-column
  91 + label="资源编号"
  92 + prop="founder"
  93 + min-width="200">
  94 + <template slot-scope="scope">
  95 + {{ scope.row.cereResourceStrategy.resourcesId }}
140 </template> 96 </template>
141 - </el-table-column>  
142 - <!-- <el-table-column  
143 - label="启用状态"  
144 - prop="auditStatus"  
145 - min-width="150"  
146 - >  
147 - <template slot-scope="scope">  
148 - 未启用  
149 - </template>  
150 - </el-table-column> --> 97 + </el-table-column>
  98 + <el-table-column
  99 + label="资源类型"
  100 + prop="contactInformation"
  101 + min-width="150"
  102 + >
  103 + <template slot-scope="scope">
  104 + {{ scope.row.cereResourceStrategy.id }}
  105 + </template>
  106 + </el-table-column>
  107 + <el-table-column
  108 + label="租金"
  109 +
  110 + min-width="150"
  111 + >
  112 + <template slot-scope="scope">
  113 +
  114 + </template>
  115 + </el-table-column>
  116 + <el-table-column
  117 + label="免租期"
  118 +
  119 + min-width="150"
  120 + >
  121 + <template slot-scope="scope">
  122 +
  123 + </template>
  124 + </el-table-column>
  125 + <el-table-column
  126 + label="付款方式"
  127 +
  128 + min-width="150"
  129 + >
  130 + <template slot-scope="scope">
  131 +
  132 + </template>
  133 + </el-table-column> -->
  134 + <el-table-column
  135 + label="当前节点"
  136 + min-width="150"
  137 + >
  138 + <template slot-scope="scope">
  139 + {{scope.row.auditStatus =='1'?'待审核':scope.row.auditStatus =='2'?'审核通过':scope.row.auditStatus =='3'?'已驳回':''}}
  140 + </template>
  141 + </el-table-column>
  142 + <el-table-column
  143 + label="启用状态"
  144 + prop="enableStatus"
  145 + min-width="150"
  146 + >
  147 + <template slot-scope="scope">
  148 + {{scope.row.enableStatus =='0'?'启用':'禁用'}}
  149 + </template>
  150 + </el-table-column>
151 <el-table-column label="操作" width="180" fixed="right"> 151 <el-table-column label="操作" width="180" fixed="right">
152 <template slot-scope="scope"> 152 <template slot-scope="scope">
153 <div class="tableBtn greens" @click="handleEditForm(scope.row,false)"> 153 <div class="tableBtn greens" @click="handleEditForm(scope.row,false)">
@@ -306,7 +306,7 @@ @@ -306,7 +306,7 @@
306 </div> 306 </div>
307 <el-form-item label="附件信息" prop="mainPurpose" class="grid-content bg-purple"> 307 <el-form-item label="附件信息" prop="mainPurpose" class="grid-content bg-purple">
308 308
309 - <div style="padding:10px 0;line-height:20px;color:#3F9B6A" v-if="shenhe.attachmentInfo.name">{{shenhe.attachmentInfo.name}}</div> 309 + <div style="padding:10px 0;line-height:20px;color:#3F9B6A" v-if="shenhe.attachmentInfo.name">{{shenhe.attachmentInfo.name}}<a style="margin-left:20px;color:#3F9B6A" :href="shenhe.attachmentInfo.url" target="_blank" v-if="shenhe.attachmentInfo.name">下载</a></div>
310 </el-form-item> 310 </el-form-item>
311 311
312 312
@@ -557,6 +557,7 @@ export default { @@ -557,6 +557,7 @@ export default {
557 pageindex: { 557 pageindex: {
558 pageNumber: 1, 558 pageNumber: 1,
559 pageSize: 10, 559 pageSize: 10,
  560 + auditStatus:'1'
560 }, 561 },
561 chart: null, 562 chart: null,
562 chart1: null, 563 chart1: null,
yanshouban/src/views/ads/fangli/addform.vue
@@ -456,6 +456,11 @@ multipleSelection:[], @@ -456,6 +456,11 @@ multipleSelection:[],
456 newAdd:{ 456 newAdd:{
457 resourcesId:'',//资源ID 457 resourcesId:'',//资源ID
458 rentalPoliciesId:'',//策略ID 458 rentalPoliciesId:'',//策略ID
  459 + },
  460 + fanganPage:{
  461 + reviewStatus:'2',
  462 + pageNumber: 1,
  463 + pageSize: 10,
459 } 464 }
460 } 465 }
461 }, 466 },
@@ -482,7 +487,8 @@ multipleSelection:[], @@ -482,7 +487,8 @@ multipleSelection:[],
482 }, 487 },
483 //查询数据 488 //查询数据
484 async getAll() { 489 async getAll() {
485 - const res = await contractGetAll(this.pageindex) 490 +
  491 + const res = await contractGetAll(this.fanganPage)
486 this.guihuaDate = res.data.content 492 this.guihuaDate = res.data.content
487 493
488 const celue = await ceGetAll(this.pageindex) 494 const celue = await ceGetAll(this.pageindex)
yanshouban/src/views/ads/fangli/bianform.vue
@@ -297,12 +297,13 @@ guihuaDate:[], @@ -297,12 +297,13 @@ guihuaDate:[],
297 message: '请输入方案名称', 297 message: '请输入方案名称',
298 trigger: 'blur' 298 trigger: 'blur'
299 }], 299 }],
300 - planningScheme:[{  
301 - required: true,  
302 - message: '请选择规划方案',  
303 - trigger: 'change'  
304 - }],  
305 }, 300 },
  301 + fanganPage:{
  302 + reviewStatus:'2',
  303 + pageNumber: 1,
  304 + pageSize: 10,
  305 +
  306 + }
306 } 307 }
307 }, 308 },
308 watch: { 309 watch: {
@@ -347,7 +348,7 @@ guihuaDate:[], @@ -347,7 +348,7 @@ guihuaDate:[],
347 this.currentTime = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; 348 this.currentTime = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
348 }, 349 },
349 async getAll() { 350 async getAll() {
350 - const res = await contractGetAll(this.pageindex) 351 + const res = await contractGetAll(this.fanganPage)
351 this.guihuaDate = res.data.content 352 this.guihuaDate = res.data.content
352 const celue = await ceGetAll(this.pageindex) 353 const celue = await ceGetAll(this.pageindex)
353 this.celueData = celue.data.content 354 this.celueData = celue.data.content
yanshouban/src/views/ads/fangli/index.vue
@@ -151,7 +151,15 @@ @@ -151,7 +151,15 @@
151 <template slot-scope="scope"> 151 <template slot-scope="scope">
152 152
153 </template> 153 </template>
  154 +
154 </el-table-column> --> 155 </el-table-column> -->
  156 + <el-table-column
  157 + label="审核提醒时间"
  158 + prop="auditTime"
  159 + min-width="150"
  160 + >
  161 +
  162 + </el-table-column>
155 <el-table-column 163 <el-table-column
156 label="当前节点" 164 label="当前节点"
157 min-width="150" 165 min-width="150"
yanshouban/src/views/advertisement/index.vue
@@ -43,10 +43,10 @@ @@ -43,10 +43,10 @@
43 </el-button> 43 </el-button>
44 </div> 44 </div>
45 </div> 45 </div>
46 - <div style="margin-bottom:20px;"> 46 + <!-- <div style="margin-bottom:20px;">
47 <el-button plain @click="addbuss(1)" style="background-color: #3F9B6A;color: #fff;padding:8px 15px;" icon="el-icon-circle-plus-outline">新增 47 <el-button plain @click="addbuss(1)" style="background-color: #3F9B6A;color: #fff;padding:8px 15px;" icon="el-icon-circle-plus-outline">新增
48 </el-button> 48 </el-button>
49 - </div> 49 + </div> -->
50 <!-- 表格 --> 50 <!-- 表格 -->
51 51
52 <el-table :data="tableData.slice((currentPage - 1) * pageSize, currentPage * pageSize)" 52 <el-table :data="tableData.slice((currentPage - 1) * pageSize, currentPage * pageSize)"
yanshouban/src/views/analysis/ranking/index.vue
@@ -120,6 +120,11 @@ export default { @@ -120,6 +120,11 @@ export default {
120 let res = await QuestionGetAll(this.pageIndex) 120 let res = await QuestionGetAll(this.pageIndex)
121 this.tableData = res.data.list 121 this.tableData = res.data.list
122 this.total = res.data.total 122 this.total = res.data.total
  123 + this.tableData.map(res=>{
  124 + res.dataIntegrity = this.$decrypt(res.dataIntegrity)
  125 + res.price = this.$decrypt(res.price)
  126 + res.ticketPrice = this.$decrypt(res.ticketPrice)
  127 + })
123 }, 128 },
124 search(){ 129 search(){
125 if(this.list.length !=0){ 130 if(this.list.length !=0){
yanshouban/src/views/analysis/refund/index.vue
@@ -165,12 +165,17 @@ export default { @@ -165,12 +165,17 @@ export default {
165 let res = await getRefundData(this.pageIndex) 165 let res = await getRefundData(this.pageIndex)
166 this.tableData = res.data.list 166 this.tableData = res.data.list
167 this.total = res.data.total 167 this.total = res.data.total
  168 + this.tableData.map(res=>{
  169 + res.dataIntegrity = this.$decrypt(res.dataIntegrity)
  170 + res.price = this.$decrypt(res.price)
  171 + res.ticketPrice = this.$decrypt(res.ticketPrice)
  172 + })
168 let numOne= 0 173 let numOne= 0
169 let moyeOne =0 174 let moyeOne =0
170 this.tableData.map(item=>{ 175 this.tableData.map(item=>{
171 if(item.type == '1'){ 176 if(item.type == '1'){
172 numOne += item.num 177 numOne += item.num
173 - moyeOne += item.price 178 + moyeOne +=Number(item.price)
174 } 179 }
175 180
176 181
@@ -266,7 +271,11 @@ export default { @@ -266,7 +271,11 @@ export default {
266 const res = await getRefundData(this.pageIndex); 271 const res = await getRefundData(this.pageIndex);
267 this.tableData = res.data.list; 272 this.tableData = res.data.list;
268 this.total = res.data.total; 273 this.total = res.data.total;
269 - 274 + this.tableData.map(res=>{
  275 + res.dataIntegrity = this.$decrypt(res.dataIntegrity)
  276 + res.price = this.$decrypt(res.price)
  277 + res.ticketPrice = this.$decrypt(res.ticketPrice)
  278 + })
270 } catch (error) { 279 } catch (error) {
271 console.error('Error fetching data:', error); 280 console.error('Error fetching data:', error);
272 } 281 }
yanshouban/src/views/analysis/special/index.vue
@@ -222,6 +222,11 @@ export default { @@ -222,6 +222,11 @@ export default {
222 let res = await getCertificatePurchase(this.pageIndex) 222 let res = await getCertificatePurchase(this.pageIndex)
223 this.tableData = res.data.list 223 this.tableData = res.data.list
224 this.total = res.data.total 224 this.total = res.data.total
  225 + this.tableData.map(res=>{
  226 + res.dataIntegrity = this.$decrypt(res.dataIntegrity)
  227 + res.price = this.$decrypt(res.price)
  228 + res.ticketPrice = this.$decrypt(res.ticketPrice)
  229 + })
225 let numOne= 0 230 let numOne= 0
226 let moyeOne =0 231 let moyeOne =0
227 let numTwo = 0 232 let numTwo = 0
@@ -237,27 +242,27 @@ export default { @@ -237,27 +242,27 @@ export default {
237 this.tableData.map(item=>{ 242 this.tableData.map(item=>{
238 if(item.type == '1'){ 243 if(item.type == '1'){
239 numOne += item.num 244 numOne += item.num
240 - moyeOne += item.price 245 + moyeOne += Number(item.price)
241 } 246 }
242 if(item.type == '2'){ 247 if(item.type == '2'){
243 numTwo += item.num 248 numTwo += item.num
244 - moyeTwo += item.price 249 + moyeTwo += Number(item.price)
245 } 250 }
246 if(item.type == '3'){ 251 if(item.type == '3'){
247 numthree += item.num 252 numthree += item.num
248 - moyethree += item.price 253 + moyethree += Number(item.price)
249 } 254 }
250 if(item.type == '4'){ 255 if(item.type == '4'){
251 numfour += item.num 256 numfour += item.num
252 - moyefour += item.price 257 + moyefour += Number(item.price)
253 } 258 }
254 if(item.type == '5'){ 259 if(item.type == '5'){
255 numfive += item.num 260 numfive += item.num
256 - moyefive += item.price 261 + moyefive += Number(item.price)
257 } 262 }
258 if(item.type == '6'){ 263 if(item.type == '6'){
259 numsix += item.num 264 numsix += item.num
260 - moyesix += item.price 265 + moyesix += Number(item.price)
261 } 266 }
262 }) 267 })
263 this.numOne = numOne 268 this.numOne = numOne
@@ -361,6 +366,11 @@ export default { @@ -361,6 +366,11 @@ export default {
361 this.tableData = res.data.list; 366 this.tableData = res.data.list;
362 this.total = res.data.total; 367 this.total = res.data.total;
363 368
  369 + this.tableData.map(res=>{
  370 + res.dataIntegrity = this.$decrypt(res.dataIntegrity)
  371 + res.price = this.$decrypt(res.price)
  372 + res.ticketPrice = this.$decrypt(res.ticketPrice)
  373 + })
364 } catch (error) { 374 } catch (error) {
365 console.error('Error fetching data:', error); 375 console.error('Error fetching data:', error);
366 } 376 }
yanshouban/src/views/analysis/statistics/index.vue
@@ -156,6 +156,11 @@ export default { @@ -156,6 +156,11 @@ export default {
156 let res = await QuestionGetAll(this.pageIndex) 156 let res = await QuestionGetAll(this.pageIndex)
157 this.tableData = res.data.list 157 this.tableData = res.data.list
158 this.total = res.data.total 158 this.total = res.data.total
  159 + this.tableData.map(res=>{
  160 + res.dataIntegrity = this.$decrypt(res.dataIntegrity)
  161 + res.price = this.$decrypt(res.price)
  162 + res.ticketPrice = this.$decrypt(res.ticketPrice)
  163 + })
159 let numOne =0 164 let numOne =0
160 let moyeOne =0 165 let moyeOne =0
161 let numTwo =0 166 let numTwo =0
@@ -163,11 +168,11 @@ export default { @@ -163,11 +168,11 @@ export default {
163 this.tableData.map(item=>{ 168 this.tableData.map(item=>{
164 if(item.ticketType == '演唱会票'){ 169 if(item.ticketType == '演唱会票'){
165 numOne += item.num 170 numOne += item.num
166 - moyeOne += item.price 171 + moyeOne = moyeOne + Number(item.price)
167 } 172 }
168 if(item.ticketType == '电影票'){ 173 if(item.ticketType == '电影票'){
169 numTwo += item.num 174 numTwo += item.num
170 - moyeTwo += item.price 175 + moyeTwo = moyeTwo + Number(item.price)
171 } 176 }
172 }) 177 })
173 this.numOne = numOne 178 this.numOne = numOne
@@ -235,7 +240,7 @@ export default { @@ -235,7 +240,7 @@ export default {
235 return; 240 return;
236 } 241 }
237 if (['销售数量(张)', '客单价(元)', '销售金额(元)'].includes(column.label)) { 242 if (['销售数量(张)', '客单价(元)', '销售金额(元)'].includes(column.label)) {
238 - const values = data.map(item => Number(item[column.property])); 243 + const values = data.map(item => Number(item[column.property]))
239 if (!values.every(value => isNaN(value))) { 244 if (!values.every(value => isNaN(value))) {
240 sums[index] = values.reduce((prev, curr) => { 245 sums[index] = values.reduce((prev, curr) => {
241 const value = Number(curr); 246 const value = Number(curr);
yanshouban/src/views/atmosphere/atmosphereBz.vue
@@ -100,6 +100,18 @@ @@ -100,6 +100,18 @@
100 </el-select> 100 </el-select>
101 </el-form-item> 101 </el-form-item>
102 </el-col> 102 </el-col>
  103 + <el-col :span="12">
  104 + <el-form-item label="历史活动方案" class="grid-content bg-purple device-from" >
  105 + <el-select v-model="lishiList" placeholder="请选择" style="width:100%" @change="lichange" >
  106 + <el-option
  107 + v-for="(item,index) in fenxiData"
  108 + :key="item.id"
  109 + :label="item.operationType"
  110 + :value="index">
  111 + </el-option>
  112 + </el-select>
  113 + </el-form-item>
  114 + </el-col>
103 </el-row> 115 </el-row>
104 <el-row :gutter="20"> 116 <el-row :gutter="20">
105 <el-col :span="12"> 117 <el-col :span="12">
@@ -367,7 +379,8 @@ @@ -367,7 +379,8 @@
367 Mingdan, 379 Mingdan,
368 MingEdit, 380 MingEdit,
369 MingDel, 381 MingDel,
370 - fujiaAdd 382 + fujiaAdd,
  383 + lishiDeta
371 } from '../../api/activityBz' 384 } from '../../api/activityBz'
372 import wangEditor from "@/components/editor/index"; 385 import wangEditor from "@/components/editor/index";
373 import upimg from "@/components/ImageUpload/index" 386 import upimg from "@/components/ImageUpload/index"
@@ -450,9 +463,14 @@ uploadFileUrl: uploadUrl, // 请求地址 @@ -450,9 +463,14 @@ uploadFileUrl: uploadUrl, // 请求地址
450 yugu:null, 463 yugu:null,
451 fun:null 464 fun:null
452 }, 465 },
453 - 466 +fenxiData:[],
  467 +lishiList:'',
454 } 468 }
455 }, 469 },
  470 + mounted() {
  471 +
  472 + this.lishi()
  473 + },
456 methods: { 474 methods: {
457 //获取当前时间 475 //获取当前时间
458 updateCurrentTime() { 476 updateCurrentTime() {
@@ -466,6 +484,22 @@ uploadFileUrl: uploadUrl, // 请求地址 @@ -466,6 +484,22 @@ uploadFileUrl: uploadUrl, // 请求地址
466 484
467 this.currentTime = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; 485 this.currentTime = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
468 }, 486 },
  487 + lishi(){
  488 + lishiDeta({eventDetailsType:'2'}).then(res=>{
  489 + this.fenxiData = res.data
  490 + })
  491 + },
  492 + lichange(e){
  493 +
  494 + let msg =this.fenxiData[e]
  495 + let obj = JSON.parse(msg.originalData)
  496 +
  497 + for (let key in obj) {
  498 + if (this.ruleForm.hasOwnProperty(key)) {
  499 + this.ruleForm[key] = obj[key];
  500 + }
  501 + }
  502 + },
469 // 切换事件 503 // 切换事件
470 beforeTabLeave(activeName, oldActiveName){ 504 beforeTabLeave(activeName, oldActiveName){
471 505
yanshouban/src/views/atmosphere/atmosphereGl.vue
@@ -94,7 +94,7 @@ @@ -94,7 +94,7 @@
94 </el-table-column> 94 </el-table-column>
95 <el-table-column label="创建时间" prop="createDate"width="250" > 95 <el-table-column label="创建时间" prop="createDate"width="250" >
96 </el-table-column> 96 </el-table-column>
97 - <el-table-column prop="createUser" label="上传人员" width="80"> 97 + <el-table-column prop="auditReminderTime" label="审核提醒时间" width="200">
98 98
99 </el-table-column> 99 </el-table-column>
100 <el-table-column label="操作" width="350"> 100 <el-table-column label="操作" width="350">
@@ -102,7 +102,7 @@ @@ -102,7 +102,7 @@
102 <div class="tableBtn greens" @click="actBian(scope.row)" v-if="scope.row.state == ''">修改</div> 102 <div class="tableBtn greens" @click="actBian(scope.row)" v-if="scope.row.state == ''">修改</div>
103 <!-- <div class="tableBtn greens">发布</div> --> 103 <!-- <div class="tableBtn greens">发布</div> -->
104 <div class="tableBtn greens" @click="handleEditForm(scope.row)">执行情况</div> 104 <div class="tableBtn greens" @click="handleEditForm(scope.row)">执行情况</div>
105 - <div @click="OAshen(scope.row)" class="tableBtn greens" v-if="scope.row.state == ''">上传到OA</div> 105 + <div @click="OAshen(scope.row)" class="tableBtn greens" v-if="scope.row.state == ''">提交审核</div>
106 <div class="tableBtn greens" @click="xiaoguo(scope.row)" v-if="scope.row.state == '5'" >效果评估</div> 106 <div class="tableBtn greens" @click="xiaoguo(scope.row)" v-if="scope.row.state == '5'" >效果评估</div>
107 <!-- <div class="tableBtn greens">策略调整</div> --> 107 <!-- <div class="tableBtn greens">策略调整</div> -->
108 <div class="tableBtn greens" @click="koop(scope.row)">复制</div> 108 <div class="tableBtn greens" @click="koop(scope.row)">复制</div>
@@ -729,25 +729,8 @@ @@ -729,25 +729,8 @@
729 </div> 729 </div>
730 </div> 730 </div>
731 <div style="padding:55px 10px 10px 10px;background-color:#fff; position:relative"> 731 <div style="padding:55px 10px 10px 10px;background-color:#fff; position:relative">
732 - <div style="position: absolute;top: 60px;right: 10px; z-index: 10;">  
733 - <el-radio-group v-model="radio1" style="margin-right:10px">  
734 - <el-radio-button label="本周"></el-radio-button>  
735 - <el-radio-button label="本月"></el-radio-button>  
736 - <el-radio-button label="今年 "></el-radio-button>  
737 - <el-radio-button label="自定义"></el-radio-button>  
738 - </el-radio-group>  
739 - <el-date-picker  
740 - v-if="radio1=='自定义'"  
741 -  
742 - style="width:250px"  
743 - v-model="radio1_time"  
744 - type="datetimerange"  
745 - range-separator="至"  
746 - start-placeholder="开始日期"  
747 - end-placeholder="结束日期">  
748 - </el-date-picker>  
749 - </div>  
750 - <el-tabs type="border-card" @tab-click="xiaoguoTab"> 732 +
  733 + <el-tabs type="border-card" >
751 <el-tab-pane label="整体效果分析"> 734 <el-tab-pane label="整体效果分析">
752 <el-table :data="dataList" 735 <el-table :data="dataList"
753 :header-cell-style="{fontSize: '12px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}" 736 :header-cell-style="{fontSize: '12px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}"
@@ -784,78 +767,6 @@ @@ -784,78 +767,6 @@
784 </el-table-column> 767 </el-table-column>
785 </el-table> 768 </el-table>
786 </el-tab-pane> 769 </el-tab-pane>
787 - <el-tab-pane label="纵向分析">  
788 - <el-table :data="dataList"  
789 - :header-cell-style="{fontSize: '12px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}"  
790 - style="width: 100%">  
791 - <el-table-column label="主题" width="auto" min-width="12%" align="center">  
792 - <template slot-scope="scope">  
793 - {{scope.$index + 1}}  
794 - </template>  
795 - </el-table-column>  
796 - <el-table-column label="环比比较" width="auto" min-width="15%" align="center">  
797 - <template slot-scope="scope">  
798 - {{scope.$index + 1}}  
799 - </template>  
800 - </el-table-column>  
801 - <el-table-column label="增长量" width="auto" min-width="15%" align="center">  
802 - <template slot-scope="scope">  
803 - {{scope.$index + 1}}  
804 - </template>  
805 - </el-table-column>  
806 - <el-table-column label="增长率" prop="name" width="auto" min-width="15%">  
807 - <template slot-scope="scope">  
808 - {{scope.row.name}}  
809 - </template>  
810 - </el-table-column>  
811 - <el-table-column label="投入总金额" prop="name" width="auto" min-width="15%">  
812 - <template slot-scope="scope">  
813 - {{scope.row.name}}  
814 - </template>  
815 - </el-table-column>  
816 - <el-table-column label="投入产出比" prop="name" width="auto" min-width="15%">  
817 - <template slot-scope="scope">  
818 - {{scope.row.name}}  
819 - </template>  
820 - </el-table-column>  
821 - </el-table>  
822 - </el-tab-pane>  
823 - <el-tab-pane label="横向分析">  
824 - <el-table :data="dataList"  
825 - :header-cell-style="{fontSize: '12px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}"  
826 - style="width: 100%">  
827 - <el-table-column label="主题" width="auto" min-width="12%" align="center">  
828 - <template slot-scope="scope">  
829 - {{scope.$index + 1}}  
830 - </template>  
831 - </el-table-column>  
832 - <el-table-column label="环比比较" width="auto" min-width="15%" align="center">  
833 - <template slot-scope="scope">  
834 - {{scope.$index + 1}}  
835 - </template>  
836 - </el-table-column>  
837 - <el-table-column label="增长量" width="auto" min-width="15%" align="center">  
838 - <template slot-scope="scope">  
839 - {{scope.$index + 1}}  
840 - </template>  
841 - </el-table-column>  
842 - <el-table-column label="增长率" prop="name" width="auto" min-width="15%">  
843 - <template slot-scope="scope">  
844 - {{scope.row.name}}  
845 - </template>  
846 - </el-table-column>  
847 - <el-table-column label="投入总金额" prop="name" width="auto" min-width="15%">  
848 - <template slot-scope="scope">  
849 - {{scope.row.name}}  
850 - </template>  
851 - </el-table-column>  
852 - <el-table-column label="投入产出比" prop="name" width="auto" min-width="15%">  
853 - <template slot-scope="scope">  
854 - {{scope.row.name}}  
855 - </template>  
856 - </el-table-column>  
857 - </el-table>  
858 - </el-tab-pane>  
859 </el-tabs> 770 </el-tabs>
860 </div> 771 </div>
861 772
@@ -1132,6 +1043,28 @@ @@ -1132,6 +1043,28 @@
1132 </div> 1043 </div>
1133 1044
1134 </el-dialog> 1045 </el-dialog>
  1046 + <el-dialog :visible.sync="peiShow" custom-class='bian_css' style="padding: 0;" width="45%"
  1047 + :close-on-press-escape="false" center :close-on-click-modal="false" class="dialog_css_Xq" :show-close="false">
  1048 + <div style="padding:20px;">
  1049 + <div style="font-size: 14px;padding-bottom: 20px;color: #000;">审核流程配置</div>
  1050 + <el-form label-position="right" ref="jibenFrom" :model="peiForm" label-width="140px"
  1051 + style="position: relative">
  1052 + <el-form-item label="审核提醒时间" class="grid-content bg-purple device-from" prop="planName">
  1053 + <el-date-picker style="width:240px;margin-right:5px" v-model="peiForm.auditReminderTime"
  1054 + value-format="yyyy-MM-dd HH:mm:ss" type="datetime" prefix-icon="none" >
  1055 + </el-date-picker>
  1056 + </el-form-item>
  1057 + </el-form>
  1058 + <div style="padding-top:20px;display:flex;justify-content: flex-end;">
  1059 + <el-button style="background-color: #3F9B6A;color: #fff"
  1060 + @click="peiCheck">确定</el-button>
  1061 + <el-button @click="peiShow = false" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" class="buttonHover">取消</el-button>
  1062 +
  1063 + </div>
  1064 +
  1065 + </div>
  1066 +
  1067 + </el-dialog>
1135 <addAct :showAdd="addAct" @childClose='childClose' :fenleiName="cascaderList"></addAct> 1068 <addAct :showAdd="addAct" @childClose='childClose' :fenleiName="cascaderList"></addAct>
1136 <atmbians :showBian="atmbianMsg" @BianchildClose='BianchildClose' ></atmbians> 1069 <atmbians :showBian="atmbianMsg" @BianchildClose='BianchildClose' ></atmbians>
1137 </div> 1070 </div>
@@ -1338,8 +1271,6 @@ components: { addAct,atmbians}, @@ -1338,8 +1271,6 @@ components: { addAct,atmbians},
1338 xiaoguoBox:false, 1271 xiaoguoBox:false,
1339 chart: null, //饼图 1272 chart: null, //饼图
1340 chart1: null, //漏斗图 1273 chart1: null, //漏斗图
1341 - radio1:'',  
1342 - radio1_time:'',  
1343 dataList:[], 1274 dataList:[],
1344 xinlei:false,//分类管理框 1275 xinlei:false,//分类管理框
1345 fenleiDelId:null,//删除的分类ID 1276 fenleiDelId:null,//删除的分类ID
@@ -1367,7 +1298,13 @@ components: { addAct,atmbians}, @@ -1367,7 +1298,13 @@ components: { addAct,atmbians},
1367 daoData:[], 1298 daoData:[],
1368 fileData:[], 1299 fileData:[],
1369 caoList:[], 1300 caoList:[],
1370 - caogaoshow:false 1301 + caogaoshow:false,
  1302 + peiForm:{
  1303 + auditReminderTime:''
  1304 + },
  1305 + peiShow:false,
  1306 + peiId:'',
  1307 +
1371 } 1308 }
1372 }, 1309 },
1373 created() { 1310 created() {
@@ -2220,6 +2157,24 @@ this.fileData=[] @@ -2220,6 +2157,24 @@ this.fileData=[]
2220 // 保存 PDF 文件 2157 // 保存 PDF 文件
2221 pdf.save('氛围方案.pdf'); 2158 pdf.save('氛围方案.pdf');
2222 }, 2159 },
  2160 + peizhi(item){
  2161 + this.peiForm = {
  2162 + auditTime:''
  2163 + }
  2164 + this.peiShow = true
  2165 + this.peiId = item.id
  2166 + },
  2167 + async peiCheck(){
  2168 + if(this.peiForm.auditReminderTime ==''){
  2169 + this.$message({
  2170 + message: '请填写审核提醒时间',
  2171 + })
  2172 + return;
  2173 + }
  2174 + await xiangedit({id:this.peiId,auditReminderTime:this.peiForm.auditReminderTime})
  2175 + this.peiShow = false
  2176 + this.getAll()
  2177 + },
2223 } 2178 }
2224 } 2179 }
2225 </script> 2180 </script>
yanshouban/src/views/atmosphere/atmosphereHis.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 style="color:#000000e6">氛围策划调整</span></div>
  6 + </div>
  7 + <div>
  8 + <!-- 搜索 -->
  9 + <div class="formSearch">
  10 + <div class="demo-input-suffix">
  11 + <div v-if="searPei.name" style="display: flex;">
  12 + <div style="width: 68px;height:36px;line-height:36px;" >方案名称</div>
  13 + <el-input placeholder="请输入" v-model="formSear.planName" style="width:168px;">
  14 + </el-input>
  15 + </div>
  16 + <!-- <div v-if="searPei.lei" style="display: flex;">
  17 + <div style="width: 68px;height:36px;line-height:36px;">方案类型</div>
  18 + <el-input placeholder="请输入" v-model="planName" style="width:168px;">
  19 + </el-input>
  20 + </div> -->
  21 + <div v-if="searPei.staut" style="display: flex;">
  22 + <div style="width: 68px;height:36px;line-height:36px;">审批状态</div>
  23 + <el-select v-model="formSear.state" placeholder="请选择"
  24 + style="width: 100px;margin-right: 5px">
  25 + <el-option label="待审核" value="1" />
  26 + <el-option label="已通过" value="5" />
  27 + <el-option label="已驳回" value="6" />
  28 + </el-select>
  29 + </el-input>
  30 + </div>
  31 +
  32 +
  33 + </div>
  34 + <div >
  35 +
  36 + <el-button @click="onSubmit" style="background-color: #3F9B6A;color: #fff">查询
  37 + </el-button>
  38 + <el-button @click="resetting"
  39 + class="buttonHover"
  40 + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;">重置
  41 + </el-button>
  42 + </div>
  43 + </div>
  44 + <div style="margin: 20px 0;">
  45 + <div style="display:flex;">
  46 + <el-button style="background-color: #3F9B6A;color: #fff;" @click="setSearch">搜索关键词设置</el-button>
  47 + <el-button style="background-color: #3F9B6A;color: #fff;" @click="duibi">效果对比</el-button>
  48 + <el-upload class="upload-demo" ref="upload"
  49 + :limit="1"
  50 + accept=".xlsx"
  51 + :action="uploadFileUrl"
  52 + :on-success="daoru"
  53 + :file-list="daoData"
  54 + :auto-upload="true"
  55 + :show-file-list="false">
  56 + <el-button style="background-color: #fff;color: #3F9B6A;border: 1px solid #dcdfe6;margin:0 15px;" class="buttonHover" >导入</el-button>
  57 + </el-upload>
  58 +
  59 + <el-button style="background-color: #3F9B6A;color: #fff;" @click="daochu">审核流程导出</el-button>
  60 + <!-- <el-button style="background-color: #fff;color: #000;border: 1px solid #B1B1B1;"
  61 + icon="el-icon-folder-add" class="buttonHover" @click="xinFenlei">氛围分类管理</el-button> -->
  62 + </div>
  63 +
  64 + </div>
  65 + <!-- 分栏 -->
  66 + <div class="fenlan">
  67 + <!-- 搜索分类 -->
  68 +
  69 + <div class="tableList">
  70 +
  71 + <!-- 表格 -->
  72 + <div>
  73 + <el-table :data="tableData.slice((currentPage - 1) * pageSize, currentPage * pageSize)"
  74 + @selection-change="handleSelectionChange" tooltip-effect="dark" align="left"
  75 + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"
  76 + ref="mulTable">
  77 + <el-table-column type="selection" width="80">
  78 + </el-table-column>
  79 + <el-table-column label="方案名称" width="300" prop="planName">
  80 + </el-table-column>
  81 + <el-table-column label="类型" prop="planType" width="80">
  82 + </el-table-column>
  83 + <!-- <el-table-column label="发布状态" width="80" >
  84 +
  85 + </el-table-column> -->
  86 + <el-table-column label="审批状态" width="150">
  87 + <template slot-scope="scope">
  88 + {{scope.row.state == ''?'待提交':scope.row.state == '1'?'待审批':scope.row.state == '2'?'部门领导审批':scope.row.state == '3'?'公司领导审批':scope.row.state == '4'?'其他审批':scope.row.state == '5'?'审核通过':'已驳回'}}
  89 + </template>
  90 + </el-table-column>
  91 + <el-table-column label="创建时间" prop="createDate"width="250" >
  92 + </el-table-column>
  93 + <el-table-column prop="auditReminderTime" label="审核提醒时间" width="200">
  94 +
  95 + </el-table-column>
  96 + <el-table-column label="操作" width="350">
  97 + <template slot-scope="scope">
  98 + <div @click="actBian(scope.row)" class="tableBtn greens" v-if="scope.row.state == ''">修改</div>
  99 + <!-- <div class="tableBtn greens">发布</div> -->
  100 + <div class="tableBtn greens" @click="handleEditForm(scope.row)">执行情况</div>
  101 + <!-- <div class="tableBtn greens" @click="handleEditForm(scope.row)">历史方案查看</div> -->
  102 +
  103 + <!-- <div class="tableBtn greens">策略调整</div> -->
  104 + <!-- <div class="tableBtn greens" @click="koop(scope.row)">复制</div> -->
  105 + </template>
  106 + </el-table-column>
  107 +</el-table>
  108 +<div class="fenye">
  109 + <div>
  110 + <el-button @click="tableAll" class="buttonHover" style="color: #000;border: 1px solid #DBDBDB;background-color: #fff;">选择全部
  111 + </el-button>
  112 + <el-button @click="toggleSelection(tableData)"
  113 + class="buttonHover"
  114 + style="color: #000;border: 1px solid #DBDBDB;background-color: #fff;">反向选择
  115 + </el-button>
  116 + </div>
  117 + <el-pagination class="pagination" :hide-on-single-page="flag" background small :current-page="currentPage"
  118 + :page-size="pageSize" layout="prev,pager,next" :total="total"
  119 + @current-change="handleCurrentChange" />
  120 +</div>
  121 +
  122 +</div>
  123 +</div>
  124 +</div>
  125 +
  126 +
  127 +
  128 +<!-- 详情氛围方案 -->
  129 +<el-dialog title="氛围方案详情" :visible.sync="ggXin" custom-class='xiang_css' style="padding: 0;" width="80%" center
  130 + :close-on-click-modal="false" :close-on-press-escape="false" @close="refreshData">
  131 + <div ref="actXiang">
  132 + <div style="width: 100%;">
  133 + <div style="display: flex;padding:0px 20px 20px 20px; ">
  134 + <div style="width: 150px;height: 80px;" v-if="secondData.coverPoster">
  135 + <img :src="secondData.coverPoster" alt="" style="width: 100%;height: 80px;" />
  136 + </div>
  137 + <div
  138 + style="display: flex;flex-direction: column;justify-content: space-around;padding: 0 10px;font-size: 12px;">
  139 + <span style="margin-bottom: 10px;">{{text}}</span>
  140 + <span>氛围时间:{{tableData1[1].eventTheme}}至{{tableData1[1].planName}}</span>
  141 + <span>氛围地点:{{tableData1[0].planName}}</span>
  142 + </div>
  143 + </div>
  144 + </div>
  145 + <div style="width: 100%;background-color: #fff;">
  146 + <el-tabs v-model="activeName" @tab-click="handleClick" style="padding-left:20px;">
  147 + <el-tab-pane label="方案概况" name="first"></el-tab-pane>
  148 + <el-tab-pane label="执行效果" name="second"></el-tab-pane>
  149 + <el-tab-pane label="历史方案" name="fourd"></el-tab-pane>
  150 + </el-tabs>
  151 + </div>
  152 + <div v-if="activeName=='first'" style="display: flex;">
  153 + <div style="width: 100%;">
  154 + <div style="width: 100%;">
  155 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">基本信息</div>
  156 + <div style="padding: 10px 20px;">
  157 + <el-table :data="tableData1"
  158 + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}"
  159 + style="width: 100%;margin: auto;">
  160 + <el-table-column class-name="first-column-bg" label="方案编号" prop="name" min-width="15%">
  161 + </el-table-column>
  162 + <el-table-column :label="id" prop="eventTheme" min-width="35%">
  163 +
  164 + </el-table-column>
  165 + <el-table-column class-name="first-column-bg" label="方案名称" prop="text" min-width="15%">
  166 +
  167 + </el-table-column>
  168 + <el-table-column :label="text" prop="planName" min-width="35%">
  169 +
  170 + </el-table-column>
  171 + </el-table>
  172 +
  173 +
  174 + </div>
  175 + </div>
  176 + <div style="width: 100%;">
  177 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">氛围明细信息</div>
  178 + <div style="padding: 10px 20px;">
  179 + <el-table :data="tableData2"
  180 + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}"
  181 + style="width: 100%;margin: auto;">
  182 + <el-table-column label="序号" min-width="5%" align='center'>
  183 + <template slot-scope="scope">
  184 + <span style="">{{ scope.$index +1}}</span>
  185 + </template>
  186 + </el-table-column>
  187 + <el-table-column label="明细项名称" prop="detailLtemName" min-width="28%">
  188 + </el-table-column>
  189 + <el-table-column label="预估数量" prop="estimatedQuantity" min-width="20%">
  190 +
  191 + </el-table-column>
  192 + <el-table-column label="预估费用" prop="estimatedCost" min-width="20%">
  193 +
  194 + </el-table-column>
  195 + <el-table-column label="备注" prop="notes" min-width="20%">
  196 + </el-table-column>
  197 + </el-table>
  198 + </div>
  199 + </div>
  200 + <div style="width: 100%;">
  201 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">氛围成本信息</div>
  202 + <div style="padding:10px 20px;">
  203 + <el-table :data="tableData3"
  204 + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}"
  205 + style="width: 100%;margin: auto;">
  206 + <el-table-column class-name="first-column-bg" label="内部人力成本预估" prop="name" min-width="15%">
  207 + </el-table-column>
  208 + <el-table-column :label="internalLaborCostEstimation" prop="eventTheme" min-width="35%">
  209 +
  210 + </el-table-column>
  211 + <el-table-column class-name="first-column-bg" label="外部人力成本预估" prop="text" min-width="15%">
  212 +
  213 + </el-table-column>
  214 + <el-table-column :label="externalLaborCostEstimation" prop="planName" min-width="35%">
  215 +
  216 + </el-table-column>
  217 + </el-table>
  218 + </div>
  219 + </div>
  220 + <div style="width: 100%;">
  221 + <div style="font-size: 14px;padding:10px 20px 0px 20px;">预估效果</div>
  222 + <div style="padding:10px 20px;">
  223 + <el-table :data="tableData4"
  224 + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}"
  225 + style="width: 100%;margin: auto;">
  226 + <el-table-column class-name="first-column-bg" label="预计吸引流量" prop="name" min-width="15%">
  227 + </el-table-column>
  228 + <el-table-column :label="expectedAttractTraffic" prop="eventTheme" min-width="35%">
  229 +
  230 + </el-table-column>
  231 + <el-table-column class-name="first-column-bg" label="预计参与人数" prop="text" min-width="15%">
  232 +
  233 + </el-table-column>
  234 + <el-table-column :label="expectedParticipation" prop="planName" min-width="35%">
  235 +
  236 + </el-table-column>
  237 + </el-table>
  238 + </el-table-column>
  239 + </div>
  240 + </div>
  241 + <div style="width: 100%;">
  242 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">相关附件信息</div>
  243 + <div style="padding:10px 20px;">
  244 + <el-table :data="tableData6"
  245 + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}"
  246 + style="width: 100%;margin: auto;">
  247 + <el-table-column label="序号" min-width="5%" align='center'>
  248 + <template slot-scope="scope">
  249 + <span style="">{{ scope.$index + 1 }}</span>
  250 + </template>
  251 + </el-table-column>
  252 + <el-table-column label="附件名称" prop="attachmentName" min-width="75%">
  253 + </el-table-column>
  254 + <el-table-column label="操作" min-width="20%">
  255 + <template slot-scope="scope">
  256 + <!-- <div class="tableBtn greens" @click="Down(scope.row)">下载</div> -->
  257 + <a class="tableBtn greens" :href="scope.row.attachmentUrl" target="_blank" download>下载</a>
  258 + </template>
  259 + </el-table-column>
  260 +
  261 + </el-table>
  262 + </div>
  263 + </div>
  264 + <div style="width: 100%;">
  265 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">系统信息</div>
  266 + <div style="padding:10px 20px;">
  267 + <el-table :data="tableData5"
  268 + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}"
  269 + style="width: 100%;margin: auto;">
  270 + <el-table-column class-name="first-column-bg" label="创建人" prop="name" min-width="15%">
  271 + </el-table-column>
  272 + <el-table-column :label="createUser" prop="eventTheme" min-width="35%">
  273 +
  274 + </el-table-column>
  275 + <el-table-column class-name="first-column-bg" label="创建时间" prop="text" min-width="15%">
  276 +
  277 + </el-table-column>
  278 + <el-table-column :label="createDate" prop="planName" min-width="35%">
  279 +
  280 + </el-table-column>
  281 + </el-table>
  282 + </div>
  283 + </div>
  284 + </div>
  285 + </div>
  286 + <div v-if="activeName=='second'">
  287 + <div style="padding: 20px">
  288 + <div style="border: solid 1px #E5E5E5;border-radius: 5px">
  289 + <div style="border-bottom: 1px solid #E5E5E5;padding: 1px">
  290 + <div style="padding: 10px 20px;background-color: #FAFAFA;font-size: 14px;">
  291 + 基本信息
  292 + </div>
  293 + </div>
  294 + <div style="padding: 20px 40px 20px 20px">
  295 + <el-form label-position="top" ref="ruleFormInfo" :model="zhixingList" label-width="120px"
  296 + style="position: relative">
  297 + <el-row :gutter="20">
  298 + <el-col :span="8">
  299 + <el-form-item label="氛围名称" class="grid-content bg-purple device-from" prop="name">
  300 + <el-input v-model="zhixingList.planName" placeholder="请输入" :disabled="!zhixingBian" />
  301 + </el-form-item>
  302 + </el-col>
  303 + <el-col :span="8">
  304 + <el-form-item label="实际举办地点" class="grid-content bg-purple" prop="name">
  305 + <el-input v-model="zhixingList.eventAddrs" placeholder="请输入" :disabled="!zhixingBian" />
  306 + </el-form-item>
  307 + </el-col>
  308 +
  309 + <el-col :span="8">
  310 + <el-form-item label="实际举办时间" class="grid-content bg-purple" prop="event_start_time"
  311 + style="position: relative">
  312 + <el-date-picker style="width: 100%;" v-model="zhixingList.planTime"
  313 + @input="formTime"
  314 + value-format="yyyy-MM-dd HH:mm:ss" :disabled="!zhixingBian" type="datetimerange"
  315 + range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" align="right"
  316 + >
  317 + </el-date-picker>
  318 + </el-form-item>
  319 + </el-col>
  320 + </el-row>
  321 +
  322 + <el-row :gutter="20">
  323 + <el-col :span="8">
  324 + <el-form-item label="氛围主办方" class="grid-content bg-purple" prop="name">
  325 + <el-input v-model="zhixingList.sponsor" placeholder="请输入" :disabled="!zhixingBian" />
  326 + </el-form-item>
  327 + </el-col>
  328 + <el-col :span="8">
  329 + <el-form-item label="氛围实际参与方" class="grid-content bg-purple" prop="name">
  330 + <el-input v-model="zhixingList.participants" placeholder="请输入" :disabled="!zhixingBian" />
  331 + </el-form-item>
  332 + </el-col>
  333 + </el-row>
  334 + </el-form>
  335 + </div>
  336 + </div>
  337 + </div>
  338 + <div style="padding: 0px 20px 20px 20px">
  339 + <div style="border: solid 1px #E5E5E5;border-radius: 5px">
  340 + <div style="border-bottom: 1px solid #E5E5E5;padding: 1px;display: flex">
  341 + <div style="padding: 10px 20px;background-color: #FAFAFA;font-size: 14px;">
  342 + 氛围明细信息
  343 + </div>
  344 + <div style="color: #2d8a58;margin-top: 10px;font-size: 14px;" @click="tianMing">
  345 + 添加明细
  346 + </div>
  347 + </div>
  348 + <!-- 表格-->
  349 + <div style="padding: 20px 20px 20px 20px">
  350 + <el-table :data="tableDa"
  351 + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}"
  352 + style="width: 100%">
  353 + <el-table-column label="序号" width="auto" min-width="5%" prop="date" align="center">
  354 + <template slot-scope="scope">
  355 + {{scope.$index +1}}
  356 + </template>
  357 + </el-table-column>
  358 + <el-table-column label="明细项名称" prop="detailLtemName" width="auto" min-width="22%">
  359 +
  360 + </el-table-column>
  361 + <el-table-column label="预估数量" prop="estimatedQuantity" width="auto" min-width="15%">
  362 +
  363 + </el-table-column>
  364 + <el-table-column label="预估费用" prop="estimatedCost" width="auto" min-width="15%">
  365 + </el-table-column>
  366 + <el-table-column prop="notes" label="备注" width="auto" min-width="15%">
  367 + </el-table-column>
  368 + <el-table-column label="操作" width="auto" min-width="18%" v-if="zhixingBian">
  369 + <template slot-scope="scope">
  370 + <!-- <div class="tableBtn greens">详情</div> -->
  371 + <div class="tableBtn greens" @click="MingDelete(scope.$index,scope.row)">删除</div>
  372 + </template>
  373 + </el-table-column>
  374 + </el-table>
  375 +
  376 + </div>
  377 + </div>
  378 + </div>
  379 + <div style="padding: 20px">
  380 + <div style="border: solid 1px #E5E5E5;border-radius: 5px;padding-bottom: 20px;">
  381 + <div style="border-bottom: 1px solid #E5E5E5;padding: 1px">
  382 + <div style="padding: 10px 20px;background-color: #FAFAFA;font-size: 14px;">
  383 + 实际花费成本
  384 + </div>
  385 + </div>
  386 + <div style="padding: 20px 40px 0px 20px">
  387 + <el-form label-position="top" ref="ruleFormInfo" :model="zhixingList" label-width="120px"
  388 + style="position: relative">
  389 + <el-row :gutter="20">
  390 + <el-col :span="8">
  391 + <el-form-item label="内部人力成本预估" class="grid-content bg-purple device-from" prop="name">
  392 + <el-input v-model="zhixingList.internalLaborCostEstimation" placeholder="请输入"
  393 + :disabled="!zhixingBian" />
  394 + </el-form-item>
  395 + </el-col>
  396 + <el-col :span="8">
  397 + <el-form-item label="外部人力成本预估" class="grid-content bg-purple" prop="name">
  398 + <el-input v-model="zhixingList.externalLaborCostEstimation" placeholder="请输入"
  399 + :disabled="!zhixingBian" />
  400 + </el-form-item>
  401 + </el-col>
  402 +
  403 + <el-col :span="8">
  404 + <el-form-item label="商品成本预估" class="grid-content bg-purple" prop="name">
  405 + <el-input v-model="zhixingList.costEstimationGoods" placeholder="请输入" :disabled="!zhixingBian" />
  406 + </el-form-item>
  407 + </el-col>
  408 + </el-row>
  409 +
  410 + <el-row :gutter="20">
  411 + <el-col :span="8">
  412 + <el-form-item label="设备成本" class="grid-content bg-purple" prop="name">
  413 + <el-input v-model="zhixingList.setCostEstimate" placeholder="请输入" :disabled="!zhixingBian" />
  414 + </el-form-item>
  415 + </el-col>
  416 + <el-col :span="8">
  417 + <el-form-item label="宣传费用" class="grid-content bg-purple" prop="name">
  418 + <el-input v-model="zhixingList.estimatedPromotionalExpenses" placeholder="请输入"
  419 + :disabled="!zhixingBian" />
  420 + </el-form-item>
  421 + </el-col>
  422 + <el-col :span="8">
  423 + <el-form-item label="其他成本" class="grid-content bg-purple" prop="name">
  424 + <el-input v-model="zhixingList.otherNecessaryEstimates" placeholder="请输入"
  425 + :disabled="!zhixingBian" />
  426 + </el-form-item>
  427 + </el-col>
  428 + </el-row>
  429 +
  430 + <el-row :gutter="20">
  431 + <el-col :span="8">
  432 + <el-form-item label="总成本" prop="name" class="grid-content bg-purple">
  433 + <el-input v-model="zhixingList.totalCostEstimation" placeholder="请输入" :disabled="!zhixingBian" />
  434 + </el-form-item>
  435 + </el-col>
  436 + <el-col :span="16">
  437 + <el-form-item label="备注" prop="name" class="grid-content bg-purple">
  438 + <el-input v-model="zhixingList.notes" placeholder="请输入" :disabled="!zhixingBian" />
  439 + </el-form-item>
  440 + </el-col>
  441 + </el-row>
  442 + </el-form>
  443 + </div>
  444 + </div>
  445 + </div>
  446 +
  447 + <div style="padding: 20px">
  448 + <div style="border: solid 1px #E5E5E5;border-radius: 5px;padding-bottom: 20px;">
  449 + <div style="border-bottom: 1px solid #E5E5E5;padding: 1px">
  450 + <div style="padding: 10px 20px;background-color: #FAFAFA;font-size: 14px;">
  451 + 氛围执行效果
  452 + </div>
  453 + </div>
  454 + <div style="padding: 20px 40px 0px 20px">
  455 + <el-form label-position="top" ref="ruleFormInfo" :model="zhixingList" label-width="120px"
  456 + style="position: relative">
  457 + <el-row :gutter="20">
  458 + <el-col :span="8">
  459 + <el-form-item label="吸引流量" class="grid-content bg-purple device-from" prop="name">
  460 + <el-input v-model="zhixingList.expectedAttractTraffic" placeholder="请输入" :disabled="!zhixingBian" />
  461 + </el-form-item>
  462 + </el-col>
  463 + <el-col :span="8">
  464 + <el-form-item label="参与人数" class="grid-content bg-purple" prop="name">
  465 + <el-input v-model="zhixingList.expectedParticipation" placeholder="请输入" :disabled="!zhixingBian" />
  466 + </el-form-item>
  467 + </el-col>
  468 +
  469 + <el-col :span="8">
  470 + <el-form-item label="直接收益" class="grid-content bg-purple" prop="name">
  471 + <el-input v-model="zhixingList.expectedDirectBenefits" placeholder="请输入" :disabled="!zhixingBian" />
  472 + </el-form-item>
  473 + </el-col>
  474 + </el-row>
  475 + <el-row :gutter="20">
  476 + <el-col :span="8">
  477 + <el-form-item label="间接收益" class="grid-content bg-purple" prop="name">
  478 + <el-input v-model="zhixingList.expectedIndirectBenefits" placeholder="请输入"
  479 + :disabled="!zhixingBian" />
  480 + </el-form-item>
  481 + </el-col>
  482 +
  483 + </el-row>
  484 + <el-row :gutter="20">
  485 + <el-col :span="24">
  486 + <el-form-item label="反馈内容" class="grid-content bg-purple" prop="name">
  487 + <el-upload class="upload-demo" ref="upload" :on-remove="handleRemove"
  488 + :action="uploadFileUrl" :on-success="handleUploadSuccess" :file-list="fileData"
  489 + :show-file-list="true" v-if="zhixingBian">
  490 + <el-button style="background-color: #fff;color: #3F9B6A;border: 1px solid #dcdfe6;" class="buttonHover" v-if="fileData.length==0">+点击上传</el-button>
  491 + </el-upload>
  492 + <div v-else>{{zhixingList.feedbackContent}}</div>
  493 + </el-form-item>
  494 + </el-col>
  495 +
  496 + </el-row>
  497 + </el-form>
  498 + </div>
  499 + </div>
  500 + </div>
  501 +
  502 + </div>
  503 + <div v-if="activeName=='fourd'">
  504 + <div>
  505 + <el-select v-model="lishiList" placeholder="请选择" style="margin:0 20px 20px 20px;" @change="lichange">
  506 + <el-option
  507 + v-for="(item,index) in liData"
  508 + :key="item.id"
  509 + :label="item.operationType"
  510 + :value="index">
  511 + </el-option>
  512 + </el-select>
  513 + <el-button @click="tiaozheng" style="background-color: #3F9B6A;color: #fff" v-if="lishiList!=null" >调整对比
  514 + </el-button>
  515 + </div>
  516 + <div style="width: 100%;" v-if="lishiList!=null" ref="lishiRef">
  517 + <div style="width: 100%;">
  518 + <div style="padding: 10px 20px;">
  519 + <el-descriptions class="margin-top" title="基本信息" :column="2" border :labelStyle="labelStyle" >
  520 + <el-descriptions-item>
  521 + <template slot="label">
  522 + 方案编号
  523 + </template>
  524 + {{lixiang.id}}
  525 + </el-descriptions-item>
  526 + <el-descriptions-item>
  527 + <template slot="label">
  528 + 方案名称
  529 + </template>
  530 +
  531 + <span :style="duibiList.planName == lixiang.planName?'color: red':''" >{{lixiang.planName}}</span>
  532 + </el-descriptions-item>
  533 + <el-descriptions-item>
  534 + <template slot="label">
  535 + 类型
  536 + </template>
  537 +<span :style="duibiList.planType == lixiang.planType?'color: red':''" >{{lixiang.planType}}</span>
  538 + </el-descriptions-item>
  539 + <el-descriptions-item>
  540 + <template slot="label">
  541 + 氛围地点
  542 + </template>
  543 +
  544 + <span :style="duibiList.eventAddrs == lixiang.eventAddrs?'color: red':''" >{{lixiang.eventAddrs}}</span>
  545 + </el-descriptions-item>
  546 + <el-descriptions-item>
  547 + <template slot="label">
  548 + 氛围开始时间
  549 + </template>
  550 +
  551 + <span :style="duibiList.eventStartTime == lixiang.eventStartTime?'color: red':''" >{{lixiang.eventStartTime}}</span>
  552 + </el-descriptions-item>
  553 + <el-descriptions-item>
  554 + <template slot="label">
  555 + 氛围结束时间
  556 + </template>
  557 +
  558 +<span :style="duibiList.eventEndTime == lixiang.eventEndTime?'color: red':''" >{{lixiang.eventEndTime}}</span>
  559 + </el-descriptions-item>
  560 + <el-descriptions-item>
  561 + <template slot="label">
  562 + 氛围主题
  563 + </template>
  564 + <span :style="duibiList.eventTheme == lixiang.eventTheme?'color: red':''" >{{lixiang.eventTheme}}</span>
  565 + </el-descriptions-item>
  566 + <el-descriptions-item>
  567 + <template slot="label">
  568 + 氛围主办方
  569 + </template>
  570 +<span :style="duibiList.sponsor == lixiang.sponsor?'color: red':''" >{{lixiang.sponsor}}</span>
  571 +
  572 + </el-descriptions-item>
  573 + <el-descriptions-item>
  574 + <template slot="label">
  575 + 氛围参与方
  576 + </template>
  577 +
  578 +<span :style="duibiList.participants == lixiang.participants?'color: red':''" >{{lixiang.participants}}</span>
  579 + </el-descriptions-item>
  580 + <el-descriptions-item>
  581 + <template slot="label">
  582 + 氛围主要目的
  583 + </template>
  584 +
  585 +<span :style="duibiList.mainPurpose == lixiang.mainPurpose?'color: red':''" >{{lixiang.mainPurpose}}</span>
  586 + </el-descriptions-item>
  587 + <el-descriptions-item>
  588 + <template slot="label">
  589 + 范围设置
  590 + </template>
  591 +
  592 +<span :style="duibiList.rangeSetting == lixiang.rangeSetting?'color: red':''" >{{lixiang.rangeSetting}}</span>
  593 + </el-descriptions-item>
  594 + <el-descriptions-item>
  595 + <template slot="label">
  596 + 状态
  597 + </template>
  598 +
  599 +{{getStatus(lixiang.state)}}
  600 +
  601 + </el-descriptions-item>
  602 + </el-descriptions>
  603 +
  604 + </div>
  605 + </div>
  606 + <div style="width: 100%;">
  607 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">氛围明细信息</div>
  608 + <div style="padding: 10px 20px;">
  609 + <el-table :data="tableData2"
  610 + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}"
  611 + style="width: 100%;margin: auto;">
  612 + <el-table-column label="序号" min-width="5%" align='center'>
  613 + <template slot-scope="scope">
  614 + <span style="">{{ scope.$index +1}}</span>
  615 + </template>
  616 + </el-table-column>
  617 + <el-table-column label="明细项名称" prop="detailLtemName" min-width="28%">
  618 + </el-table-column>
  619 + <el-table-column label="预估数量" prop="estimatedQuantity" min-width="20%">
  620 +
  621 + </el-table-column>
  622 + <el-table-column label="预估费用" prop="estimatedCost" min-width="20%">
  623 +
  624 + </el-table-column>
  625 + <el-table-column label="备注" prop="notes" min-width="20%">
  626 + </el-table-column>
  627 + </el-table>
  628 + </div>
  629 + </div>
  630 + <div style="width: 100%;">
  631 + <div style="padding:10px 20px;">
  632 + <el-descriptions class="margin-top" title="氛围成本信息" :column="2" border :labelStyle="labelStyle" >
  633 + <el-descriptions-item>
  634 + <template slot="label">
  635 + 内部人力成本预估
  636 + </template>
  637 +
  638 +<span :style="duibiList.internalLaborCostEstimation == lixiang.internalLaborCostEstimation?'color: red':''" >{{lixiang.internalLaborCostEstimation}}</span>
  639 + </el-descriptions-item>
  640 + <el-descriptions-item>
  641 + <template slot="label">
  642 + 外部人力成本预估
  643 + </template>
  644 +
  645 + <span :style="duibiList.externalLaborCostEstimation == lixiang.externalLaborCostEstimation?'color: red':''" >{{lixiang.externalLaborCostEstimation}}</span>
  646 + </el-descriptions-item>
  647 + <el-descriptions-item>
  648 + <template slot="label">
  649 + 商品成本预估
  650 + </template>
  651 +
  652 +<span :style="duibiList.costEstimationGoods == lixiang.costEstimationGoods?'color: red':''" >{{lixiang.costEstimationGoods}}</span>
  653 + </el-descriptions-item>
  654 + <el-descriptions-item>
  655 + <template slot="label">
  656 + 设备成本预估
  657 + </template>
  658 +
  659 +<span :style="duibiList.setCostEstimate == lixiang.setCostEstimate?'color: red':''" >{{lixiang.setCostEstimate}}</span>
  660 + </el-descriptions-item>
  661 + <el-descriptions-item>
  662 + <template slot="label">
  663 + 宣传费用预估
  664 + </template>
  665 +
  666 + <span :style="duibiList.estimatedPromotionalExpenses == lixiang.estimatedPromotionalExpenses?'color: red':''" >{{lixiang.estimatedPromotionalExpenses}}</span>
  667 + </el-descriptions-item>
  668 + <el-descriptions-item>
  669 + <template slot="label">
  670 + 其他必要成本预估
  671 + </template>
  672 +
  673 +<span :style="duibiList.otherNecessaryEstimates == lixiang.otherNecessaryEstimates?'color: red':''" >{{lixiang.otherNecessaryEstimates}}</span>
  674 + </el-descriptions-item>
  675 + <el-descriptions-item>
  676 + <template slot="label">
  677 + 总成本预估
  678 + </template>
  679 +
  680 +<span :style="duibiList.totalCostEstimation == lixiang.totalCostEstimation?'color: red':''" >{{lixiang.totalCostEstimation}}</span>
  681 + </el-descriptions-item>
  682 + <el-descriptions-item>
  683 + <template slot="label">
  684 + 备注
  685 + </template>
  686 +
  687 +<span :style="duibiList.notes == lixiang.notes?'color: red':''" >{{lixiang.notes}}</span>
  688 + </el-descriptions-item>
  689 + </el-descriptions>
  690 + </div>
  691 + </div>
  692 + <div style="width: 100%;">
  693 +
  694 + <div style="padding:10px 20px;">
  695 + <el-descriptions class="margin-top" title="预估效果" :column="2" border :labelStyle="labelStyle" >
  696 + <el-descriptions-item>
  697 + <template slot="label">
  698 + 预计吸引流量
  699 + </template>
  700 +
  701 +<span :style="duibiList.expectedAttractTraffic == lixiang.expectedAttractTraffic?'color: red':''" >{{lixiang.expectedAttractTraffic}}</span>
  702 + </el-descriptions-item>
  703 + <el-descriptions-item>
  704 + <template slot="label">
  705 + 预计参与人数
  706 + </template>
  707 +
  708 +<span :style="duibiList.expectedParticipation == lixiang.expectedParticipation?'color: red':''" >{{lixiang.expectedParticipation}}</span>
  709 + </el-descriptions-item>
  710 + <el-descriptions-item>
  711 + <template slot="label">
  712 + 预计直接收益
  713 + </template>
  714 +
  715 +<span :style="duibiList.expectedDirectBenefits == lixiang.expectedDirectBenefits?'color: red':''" >{{lixiang.expectedDirectBenefits}}</span>
  716 + </el-descriptions-item>
  717 + <el-descriptions-item>
  718 + <template slot="label">
  719 + 预计间接收益
  720 + </template>
  721 +
  722 +<span :style="duibiList.expectedIndirectBenefits == lixiang.expectedIndirectBenefits?'color: red':''" >{{lixiang.expectedIndirectBenefits}}</span>
  723 + </el-descriptions-item>
  724 +
  725 + </el-descriptions>
  726 +
  727 + </div>
  728 + </div>
  729 + <div style="width: 100%;">
  730 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">相关附件信息</div>
  731 + <div style="padding:10px 20px;">
  732 + <el-table :data="tableData6"
  733 + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}"
  734 + style="width: 100%;margin: auto;">
  735 + <el-table-column label="序号" min-width="5%" align='center'>
  736 + <template slot-scope="scope">
  737 + <span style="">{{ scope.$index + 1 }}</span>
  738 + </template>
  739 + </el-table-column>
  740 + <el-table-column label="附件名称" prop="attachmentName" min-width="75%">
  741 + </el-table-column>
  742 + <el-table-column label="操作" min-width="20%">
  743 + <template slot-scope="scope">
  744 + <!-- <div class="tableBtn greens" @click="Down(scope.row)">下载</div> -->
  745 + <a class="tableBtn greens" :href="scope.row.attachmentUrl" target="_blank" download>下载</a>
  746 + </template>
  747 + </el-table-column>
  748 +
  749 + </el-table>
  750 + </div>
  751 + </div>
  752 + <div style="width: 100%;">
  753 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">系统信息</div>
  754 + <div style="padding:10px 20px;">
  755 + <el-table :data="tableData5"
  756 + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}"
  757 + style="width: 100%;margin: auto;">
  758 + <el-table-column class-name="first-column-bg" label="创建人" prop="name" min-width="15%">
  759 + </el-table-column>
  760 + <el-table-column :label="createUser" prop="eventTheme" min-width="35%">
  761 +
  762 + </el-table-column>
  763 + <el-table-column class-name="first-column-bg" label="创建时间" prop="text" min-width="15%">
  764 +
  765 + </el-table-column>
  766 + <el-table-column :label="createDate" prop="planName" min-width="35%">
  767 +
  768 + </el-table-column>
  769 + </el-table>
  770 + </div>
  771 + </div>
  772 + </div>
  773 + </div>
  774 + </div>
  775 + <div style="display: flex;justify-content: flex-end;padding:10px" v-if="activeName=='fourd'">
  776 + <el-button @click="lishidownloadPdf" style="background-color: #3F9B6A;color: #fff" >导出
  777 + </el-button></div>
  778 + <div style="display: flex;justify-content: flex-end;padding:10px" v-if="activeName=='first'">
  779 + <el-button @click="downloadPdf" style="background-color: #3F9B6A;color: #fff" >导出
  780 + </el-button>
  781 + <el-button @click="jiucuo" style="background-color: #3F9B6A;color: #fff" >氛围策划调整纠错
  782 + </el-button>
  783 + </div>
  784 +</el-dialog>
  785 +</div>
  786 +</div>
  787 +<!-- 调整对比 -->
  788 +<el-dialog title="调整对比" :visible.sync="tiaozhengShow" custom-class='xiang_css' style="padding: 0;" width="80%" center
  789 + :close-on-click-modal="false" :close-on-press-escape="false" @close="reshData">
  790 + <div>
  791 + <div style="width: 100%;">
  792 + <div style="display: flex;padding:0px 20px 20px 20px; ">
  793 + <div style="width: 150px;height: 80px;" v-if="secondData.coverPoster">
  794 + <img :src="secondData.coverPoster" alt="" style="width: 100%;height: 80px;" />
  795 + </div>
  796 + <div
  797 + style="display: flex;flex-direction: column;justify-content: space-around;padding: 0 10px;font-size: 12px;">
  798 + <span style="margin-bottom: 10px;">{{text}}</span>
  799 + <span>氛围时间:{{tableData1[1].eventTheme}}至{{tableData1[1].planName}}</span>
  800 + <span>氛围地点:{{tableData1[0].planName}}</span>
  801 + </div>
  802 + </div>
  803 + </div>
  804 +
  805 + <div style="display: flex;">
  806 + <div style="width: 50%;">
  807 + <div style="width: 100%;">
  808 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">修改后</div>
  809 + <div style="padding: 10px 20px;">
  810 + <el-table :data="tableData1"
  811 + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}"
  812 + style="width: 100%;margin: auto;">
  813 + <el-table-column class-name="first-column-bg" label="方案编号" prop="name" min-width="15%">
  814 + </el-table-column>
  815 + <el-table-column :label="id" prop="eventTheme" min-width="35%">
  816 +
  817 + </el-table-column>
  818 + <el-table-column class-name="first-column-bg" label="方案名称" prop="text" min-width="15%">
  819 +
  820 + </el-table-column>
  821 + <el-table-column :label="text" prop="planName" min-width="35%">
  822 +
  823 + </el-table-column>
  824 + </el-table>
  825 +
  826 +
  827 + </div>
  828 + </div>
  829 + <div style="width: 100%;">
  830 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">氛围明细信息</div>
  831 + <div style="padding: 10px 20px;">
  832 + <el-table :data="tableData2"
  833 + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}"
  834 + style="width: 100%;margin: auto;">
  835 + <el-table-column label="序号" min-width="5%" align='center'>
  836 + <template slot-scope="scope">
  837 + <span style="">{{ scope.$index +1}}</span>
  838 + </template>
  839 + </el-table-column>
  840 + <el-table-column label="明细项名称" prop="detailLtemName" min-width="28%">
  841 + </el-table-column>
  842 + <el-table-column label="预估数量" prop="estimatedQuantity" min-width="20%">
  843 +
  844 + </el-table-column>
  845 + <el-table-column label="预估费用" prop="estimatedCost" min-width="20%">
  846 +
  847 + </el-table-column>
  848 + <el-table-column label="备注" prop="notes" min-width="20%">
  849 + </el-table-column>
  850 + </el-table>
  851 + </div>
  852 + </div>
  853 + <div style="width: 100%;">
  854 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">氛围成本信息</div>
  855 + <div style="padding:10px 20px;">
  856 + <el-table :data="tableData3"
  857 + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}"
  858 + style="width: 100%;margin: auto;">
  859 + <el-table-column class-name="first-column-bg" label="内部人力成本预估" prop="name" min-width="15%">
  860 + </el-table-column>
  861 + <el-table-column :label="internalLaborCostEstimation" prop="eventTheme" min-width="35%">
  862 +
  863 + </el-table-column>
  864 + <el-table-column class-name="first-column-bg" label="外部人力成本预估" prop="text" min-width="15%">
  865 +
  866 + </el-table-column>
  867 + <el-table-column :label="externalLaborCostEstimation" prop="planName" min-width="35%">
  868 +
  869 + </el-table-column>
  870 + </el-table>
  871 + </div>
  872 + </div>
  873 + <div style="width: 100%;">
  874 + <div style="font-size: 14px;padding:10px 20px 0px 20px;">预估效果</div>
  875 + <div style="padding:10px 20px;">
  876 + <el-table :data="tableData4"
  877 + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}"
  878 + style="width: 100%;margin: auto;">
  879 + <el-table-column class-name="first-column-bg" label="预计吸引流量" prop="name" min-width="15%">
  880 + </el-table-column>
  881 + <el-table-column :label="expectedAttractTraffic" prop="eventTheme" min-width="35%">
  882 +
  883 + </el-table-column>
  884 + <el-table-column class-name="first-column-bg" label="预计参与人数" prop="text" min-width="15%">
  885 +
  886 + </el-table-column>
  887 + <el-table-column :label="expectedParticipation" prop="planName" min-width="35%">
  888 +
  889 + </el-table-column>
  890 + </el-table>
  891 + </el-table-column>
  892 + </div>
  893 + </div>
  894 + <div style="width: 100%;">
  895 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">相关附件信息</div>
  896 + <div style="padding:10px 20px;">
  897 + <el-table :data="tableData6"
  898 + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}"
  899 + style="width: 100%;margin: auto;">
  900 + <el-table-column label="序号" min-width="5%" align='center'>
  901 + <template slot-scope="scope">
  902 + <span style="">{{ scope.$index + 1 }}</span>
  903 + </template>
  904 + </el-table-column>
  905 + <el-table-column label="附件名称" prop="attachmentName" min-width="75%">
  906 + </el-table-column>
  907 + <el-table-column label="操作" min-width="20%">
  908 + <template slot-scope="scope">
  909 + <!-- <div class="tableBtn greens" @click="Down(scope.row)">下载</div> -->
  910 + <a class="tableBtn greens" :href="scope.row.attachmentUrl" target="_blank" download>下载</a>
  911 + </template>
  912 + </el-table-column>
  913 +
  914 + </el-table>
  915 + </div>
  916 + </div>
  917 + <div style="width: 100%;">
  918 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">系统信息</div>
  919 + <div style="padding:10px 20px;">
  920 + <el-table :data="tableData5"
  921 + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}"
  922 + style="width: 100%;margin: auto;">
  923 + <el-table-column class-name="first-column-bg" label="创建人" prop="name" min-width="15%">
  924 + </el-table-column>
  925 + <el-table-column :label="createUser" prop="eventTheme" min-width="35%">
  926 +
  927 + </el-table-column>
  928 + <el-table-column class-name="first-column-bg" label="创建时间" prop="text" min-width="15%">
  929 +
  930 + </el-table-column>
  931 + <el-table-column :label="createDate" prop="planName" min-width="35%">
  932 +
  933 + </el-table-column>
  934 + </el-table>
  935 + </div>
  936 + </div>
  937 + </div>
  938 + <div style="width: 50%;">
  939 + <div style="width: 100%;">
  940 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">修改前</div>
  941 + <div style="padding: 10px 20px;">
  942 + <el-descriptions class="margin-top" :column="2" border :labelStyle="labelStyleOne" >
  943 + <el-descriptions-item>
  944 + <template slot="label">
  945 + 方案编号
  946 + </template>
  947 + {{lixiang.id}}
  948 + </el-descriptions-item>
  949 + <el-descriptions-item>
  950 + <template slot="label">
  951 + 方案名称
  952 + </template>
  953 + {{lixiang.planName}}
  954 + </el-descriptions-item>
  955 + <el-descriptions-item>
  956 + <template slot="label">
  957 + 类型
  958 + </template>
  959 + {{lixiang.planType}}
  960 + </el-descriptions-item>
  961 + <el-descriptions-item>
  962 + <template slot="label">
  963 + 氛围地点
  964 + </template>
  965 + {{lixiang.eventAddrs}}
  966 + </el-descriptions-item>
  967 + <el-descriptions-item>
  968 + <template slot="label">
  969 + 氛围开始时间
  970 + </template>
  971 + {{lixiang.eventStartTime}}
  972 + </el-descriptions-item>
  973 + <el-descriptions-item>
  974 + <template slot="label">
  975 + 氛围结束时间
  976 + </template>
  977 + {{lixiang.eventEndTime}}
  978 + </el-descriptions-item>
  979 + <el-descriptions-item>
  980 + <template slot="label">
  981 + 氛围主题
  982 + </template>
  983 + {{lixiang.eventTheme}}
  984 + </el-descriptions-item>
  985 + <el-descriptions-item>
  986 + <template slot="label">
  987 + 氛围主办方
  988 + </template>
  989 + {{lixiang.sponsor}}
  990 + </el-descriptions-item>
  991 + <el-descriptions-item>
  992 + <template slot="label">
  993 + 氛围参与方
  994 + </template>
  995 + {{lixiang.participants}}
  996 + </el-descriptions-item>
  997 + <el-descriptions-item>
  998 + <template slot="label">
  999 + 氛围主要目的
  1000 + </template>
  1001 + {{lixiang.mainPurpose}}
  1002 + </el-descriptions-item>
  1003 + <el-descriptions-item>
  1004 + <template slot="label">
  1005 + 范围设置
  1006 + </template>
  1007 + {{lixiang.rangeSetting}}
  1008 + </el-descriptions-item>
  1009 + <el-descriptions-item>
  1010 + <template slot="label">
  1011 + 状态
  1012 + </template>
  1013 + {{getStatus(lixiang.state)}}
  1014 +
  1015 + </el-descriptions-item>
  1016 + </el-descriptions>
  1017 +
  1018 + </div>
  1019 + </div>
  1020 + <div style="width: 100%;">
  1021 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">氛围明细信息</div>
  1022 + <div style="padding: 10px 20px;">
  1023 + <el-table :data="tableData2"
  1024 + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}"
  1025 + style="width: 100%;margin: auto;">
  1026 + <el-table-column label="序号" min-width="5%" align='center'>
  1027 + <template slot-scope="scope">
  1028 + <span style="">{{ scope.$index +1}}</span>
  1029 + </template>
  1030 + </el-table-column>
  1031 + <el-table-column label="明细项名称" prop="detailLtemName" min-width="28%">
  1032 + </el-table-column>
  1033 + <el-table-column label="预估数量" prop="estimatedQuantity" min-width="20%">
  1034 +
  1035 + </el-table-column>
  1036 + <el-table-column label="预估费用" prop="estimatedCost" min-width="20%">
  1037 +
  1038 + </el-table-column>
  1039 + <el-table-column label="备注" prop="notes" min-width="20%">
  1040 + </el-table-column>
  1041 + </el-table>
  1042 + </div>
  1043 + </div>
  1044 + <div style="width: 100%;">
  1045 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">氛围成本信息</div>
  1046 + <div style="padding:10px 20px;">
  1047 + <el-descriptions class="margin-top" :column="2" border :labelStyle="labelStyleOne" >
  1048 + <el-descriptions-item>
  1049 + <template slot="label">
  1050 + 内部人力成本预估
  1051 + </template>
  1052 + {{lixiang.internalLaborCostEstimation}}
  1053 + </el-descriptions-item>
  1054 + <el-descriptions-item>
  1055 + <template slot="label">
  1056 + 外部人力成本预估
  1057 + </template>
  1058 + {{lixiang.externalLaborCostEstimation}}
  1059 + </el-descriptions-item>
  1060 + <el-descriptions-item>
  1061 + <template slot="label">
  1062 + 商品成本预估
  1063 + </template>
  1064 + {{lixiang.costEstimationGoods}}
  1065 + </el-descriptions-item>
  1066 + <el-descriptions-item>
  1067 + <template slot="label">
  1068 + 设备成本预估
  1069 + </template>
  1070 + {{lixiang.setCostEstimate}}
  1071 + </el-descriptions-item>
  1072 + <el-descriptions-item>
  1073 + <template slot="label">
  1074 + 宣传费用预估
  1075 + </template>
  1076 + {{lixiang.estimatedPromotionalExpenses}}
  1077 + </el-descriptions-item>
  1078 + <el-descriptions-item>
  1079 + <template slot="label">
  1080 + 其他必要成本预估
  1081 + </template>
  1082 + {{lixiang.otherNecessaryEstimates}}
  1083 + </el-descriptions-item>
  1084 + <el-descriptions-item>
  1085 + <template slot="label">
  1086 + 总成本预估
  1087 + </template>
  1088 + {{lixiang.totalCostEstimation}}
  1089 + </el-descriptions-item>
  1090 + <el-descriptions-item>
  1091 + <template slot="label">
  1092 + 备注
  1093 + </template>
  1094 + {{lixiang.notes}}
  1095 + </el-descriptions-item>
  1096 + </el-descriptions>
  1097 + </div>
  1098 + </div>
  1099 + <div style="width: 100%;">
  1100 +<div style="font-size: 14px;padding: 10px 20px 0px 20px;">预估效果</div>
  1101 + <div style="padding:10px 20px;">
  1102 + <el-descriptions class="margin-top" :column="2" border :labelStyle="labelStyleOne" >
  1103 + <el-descriptions-item>
  1104 + <template slot="label">
  1105 + 预计吸引流量
  1106 + </template>
  1107 + {{lixiang.expectedAttractTraffic}}
  1108 + </el-descriptions-item>
  1109 + <el-descriptions-item>
  1110 + <template slot="label">
  1111 + 预计参与人数
  1112 + </template>
  1113 + {{lixiang.expectedParticipation}}
  1114 + </el-descriptions-item>
  1115 + <el-descriptions-item>
  1116 + <template slot="label">
  1117 + 预计直接收益
  1118 + </template>
  1119 + {{lixiang.expectedDirectBenefits}}
  1120 + </el-descriptions-item>
  1121 + <el-descriptions-item>
  1122 + <template slot="label">
  1123 + 预计间接收益
  1124 + </template>
  1125 + {{lixiang.expectedIndirectBenefits}}
  1126 + </el-descriptions-item>
  1127 +
  1128 + </el-descriptions>
  1129 +
  1130 + </div>
  1131 + </div>
  1132 + <div style="width: 100%;">
  1133 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">相关附件信息</div>
  1134 + <div style="padding:10px 20px;">
  1135 + <el-table :data="tableData6"
  1136 + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}"
  1137 + style="width: 100%;margin: auto;">
  1138 + <el-table-column label="序号" min-width="5%" align='center'>
  1139 + <template slot-scope="scope">
  1140 + <span style="">{{ scope.$index + 1 }}</span>
  1141 + </template>
  1142 + </el-table-column>
  1143 + <el-table-column label="附件名称" prop="attachmentName" min-width="75%">
  1144 + </el-table-column>
  1145 + <el-table-column label="操作" min-width="20%">
  1146 + <template slot-scope="scope">
  1147 + <!-- <div class="tableBtn greens" @click="Down(scope.row)">下载</div> -->
  1148 + <a class="tableBtn greens" :href="scope.row.attachmentUrl" target="_blank" download>下载</a>
  1149 + </template>
  1150 + </el-table-column>
  1151 +
  1152 + </el-table>
  1153 + </div>
  1154 + </div>
  1155 + <div style="width: 100%;">
  1156 + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">系统信息</div>
  1157 + <div style="padding:10px 20px;">
  1158 + <el-table :data="tableData5"
  1159 + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}"
  1160 + style="width: 100%;margin: auto;">
  1161 + <el-table-column class-name="first-column-bg" label="创建人" prop="name" min-width="15%">
  1162 + </el-table-column>
  1163 + <el-table-column :label="createUser" prop="eventTheme" min-width="35%">
  1164 +
  1165 + </el-table-column>
  1166 + <el-table-column class-name="first-column-bg" label="创建时间" prop="text" min-width="15%">
  1167 +
  1168 + </el-table-column>
  1169 + <el-table-column :label="createDate" prop="planName" min-width="35%">
  1170 +
  1171 + </el-table-column>
  1172 + </el-table>
  1173 + </div>
  1174 + </div>
  1175 + </div>
  1176 + </div>
  1177 +
  1178 +
  1179 + </div>
  1180 +</el-dialog>
  1181 +
  1182 +<el-dialog title="新增明细" :visible.sync="addMing" custom-class='dialog_css' style="padding: 0;" width="50%" append-to-body
  1183 + center :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false">
  1184 + <div style="padding: 15px;width:100%">
  1185 + <div style="">
  1186 + <div style="padding: 15px;">
  1187 + <el-form label-position="right" ref="ruleFormInfo" :model="mingFrom" label-width="140px"
  1188 + style="position: relative">
  1189 + <el-form-item label="明细项名称" class="grid-content bg-purple device-from" prop="planName">
  1190 + <el-input v-model="mingFrom.detailLtemName" placeholder="请输入" />
  1191 + </el-form-item>
  1192 + <el-form-item label="预估数量" class="grid-content bg-purple" prop=" planType">
  1193 + <el-input v-model="mingFrom.estimatedQuantity" placeholder="请输入" />
  1194 + </el-form-item>
  1195 +
  1196 + <el-form-item label="预估费用" class="grid-content bg-purple" prop="eventAddrs">
  1197 + <el-input v-model="mingFrom.estimatedCost" placeholder="请输入" />
  1198 + </el-form-item>
  1199 + <el-form-item label="备注" class="grid-content bg-purple device-from" prop="planName">
  1200 + <el-input v-model="mingFrom.notes" placeholder="请输入" />
  1201 + </el-form-item>
  1202 + </el-form>
  1203 + </div>
  1204 + </div>
  1205 +
  1206 + </div>
  1207 + <div style="display: flex;justify-content: flex-end;padding: 10px 20px 10px 0">
  1208 +
  1209 + <el-button plain @click="minSev" style="background-color: #3F9B6A;color: #fff;">保存
  1210 + </el-button>
  1211 + <el-button plain @click="addMing=false" style="background-color: #3F9B6A;color: #fff;">取消
  1212 + </el-button>
  1213 + </div>
  1214 +</el-dialog>
  1215 +<!-- 效果对比 -->
  1216 +<el-dialog :visible.sync="xiaoDui" custom-class='dialog_css' style="padding: 0;" width="60%" center
  1217 + :close-on-click-modal="false" :close-on-press-escape="false">
  1218 + <div style="padding: 0 50px;display:flex;justify-content: space-evenly;">
  1219 + <div style="width:30%">
  1220 + <div style="display: flex;">
  1221 + <div style="margin-right: 10px;padding: 10px 0;">
  1222 + <div>调整前方案</div>
  1223 + <div style="font-size: 22px;color: #3F9B6A;font-weight: 600;margin: 10px 0;">{{xiaoduiObj.biliOne}}</div>
  1224 + <div style="font-size: 16px;color: #3F9B6A;font-weight: 600;">投入产出比</div>
  1225 + </div>
  1226 + <el-progress type="circle" :percentage="xiaoduiObj.bilis" :show-text="false" :width="100">
  1227 + </el-progress>
  1228 + </div>
  1229 + <div style="padding:30px 0">计划任务(完成度)</div>
  1230 + <div class="jindutiao">
  1231 + <div style="margin-right:10px;width:56px">直接收入</div>
  1232 + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> -->
  1233 + <el-progress
  1234 + style="width: 150px;"
  1235 + :text-inside="true"
  1236 + :stroke-width="20"
  1237 + :percentage="baifenbi(duibiOne.expectedDirectBenefits)"
  1238 + status="success"
  1239 + :format="() => customFormat(duibiOne.expectedDirectBenefits)"
  1240 + ></el-progress>
  1241 + </div>
  1242 + <div class="jindutiao">
  1243 + <div style="margin-right:10px;width:56px">间接收入</div>
  1244 + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> -->
  1245 + <el-progress
  1246 + style="width: 150px;"
  1247 + :text-inside="true"
  1248 + :stroke-width="20"
  1249 + :percentage="baifenbi(duibiOne.expectedIndirectBenefits)"
  1250 + status="success"
  1251 + :format="() => customFormat(duibiOne.expectedIndirectBenefits)"
  1252 + ></el-progress>
  1253 + </div>
  1254 + <div class="jindutiao">
  1255 + <div style="margin-right:10px;width:56px">人力</div>
  1256 + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> -->
  1257 + <el-progress
  1258 + style="width: 150px;"
  1259 + :text-inside="true"
  1260 + :stroke-width="20"
  1261 + :percentage="baifenbi(duibiOne.internalLaborCostEstimation)"
  1262 + status="success"
  1263 + :format="() => customFormat(duibiOne.internalLaborCostEstimation)"
  1264 + ></el-progress>
  1265 + </div>
  1266 + <div class="jindutiao">
  1267 + <div style="margin-right:10px;width:56px">设备</div>
  1268 + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> -->
  1269 + <el-progress
  1270 + style="width: 150px;"
  1271 + :text-inside="true"
  1272 + :stroke-width="20"
  1273 + :percentage="baifenbi(duibiOne.setCostEstimate)"
  1274 + status="success"
  1275 + :format="() => customFormat(duibiOne.setCostEstimate)"
  1276 + ></el-progress>
  1277 + </div>
  1278 + <div class="jindutiao">
  1279 + <div style="margin-right:10px;width:56px">宣传</div>
  1280 + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> -->
  1281 + <el-progress
  1282 + style="width: 150px;"
  1283 + :text-inside="true"
  1284 + :stroke-width="20"
  1285 + :percentage="baifenbi(duibiOne.estimatedPromotionalExpenses)"
  1286 + status="success"
  1287 + :format="() => customFormat(duibiOne.estimatedPromotionalExpenses)"
  1288 + ></el-progress>
  1289 + </div>
  1290 + <div class="jindutiao">
  1291 + <div style="margin-right:10px;width:56px">其他</div>
  1292 + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> -->
  1293 + <el-progress
  1294 + style="width: 150px;"
  1295 + :text-inside="true"
  1296 + :stroke-width="20"
  1297 + :percentage="baifenbi(duibiOne.otherNecessaryEstimates)"
  1298 + status="success"
  1299 + :format="() => customFormat(duibiOne.otherNecessaryEstimates)"
  1300 + ></el-progress>
  1301 + </div>
  1302 + </div>
  1303 + <div style="width:30%">
  1304 + <div style="display: flex;">
  1305 + <div style="margin-right: 10px;padding: 10px 0;">
  1306 + <div>调整后方案</div>
  1307 + <div style="font-size: 22px;color: #3F9B6A;font-weight: 600;margin: 10px 0;">{{xiaoduiObj.biliTwo}}</div>
  1308 + <div style="font-size: 16px;color: #3F9B6A;font-weight: 600;">投入产出比</div>
  1309 + </div>
  1310 + <el-progress type="circle" :percentage="xiaoduiObj.biliT" :show-text="false" :width="100">
  1311 + </el-progress>
  1312 + </div>
  1313 + <div style="padding:30px 0">计划任务(完成度)</div>
  1314 + <div class="jindutiao">
  1315 + <div style="margin-right:10px;width:56px">直接收入</div>
  1316 + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> -->
  1317 + <el-progress
  1318 + style="width: 150px;"
  1319 + :text-inside="true"
  1320 + :stroke-width="20"
  1321 + :percentage="baifenbi(duibiTwo.expectedDirectBenefits==undefined?'':duibiTwo.expectedDirectBenefits)"
  1322 + status="success"
  1323 + :format="() => customFormat(duibiTwo.expectedDirectBenefits==undefined?'':duibiTwo.expectedDirectBenefits)"
  1324 + ></el-progress>
  1325 + </div>
  1326 + <div class="jindutiao">
  1327 + <div style="margin-right:10px;width:56px">间接收入</div>
  1328 + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> -->
  1329 + <el-progress
  1330 + style="width: 150px;"
  1331 + :text-inside="true"
  1332 + :stroke-width="20"
  1333 + :percentage="baifenbi(duibiTwo.expectedIndirectBenefits==undefined?'':duibiTwo.expectedIndirectBenefits)"
  1334 + status="success"
  1335 + :format="() => customFormat(duibiTwo.expectedIndirectBenefits==undefined?'':duibiTwo.expectedIndirectBenefits)"
  1336 + ></el-progress>
  1337 + </div>
  1338 + <div class="jindutiao">
  1339 + <div style="margin-right:10px;width:56px">人力</div>
  1340 + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> -->
  1341 + <el-progress
  1342 + style="width: 150px;"
  1343 + :text-inside="true"
  1344 + :stroke-width="20"
  1345 + :percentage="baifenbi(duibiTwo.internalLaborCostEstimation==undefined?'':duibiTwo.internalLaborCostEstimation)"
  1346 + status="success"
  1347 + :format="() => customFormat(duibiTwo.internalLaborCostEstimation==undefined?'':duibiTwo.internalLaborCostEstimation)"
  1348 + ></el-progress>
  1349 + </div>
  1350 + <div class="jindutiao">
  1351 + <div style="margin-right:10px;width:56px">设备</div>
  1352 + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> -->
  1353 + <el-progress
  1354 + style="width: 150px;"
  1355 + :text-inside="true"
  1356 + :stroke-width="20"
  1357 + :percentage="baifenbi(duibiTwo.setCostEstimate==undefined?'':duibiTwo.setCostEstimate)"
  1358 + status="success"
  1359 + :format="() => customFormat(duibiTwo.setCostEstimate==undefined?'':duibiTwo.setCostEstimate)"
  1360 + ></el-progress>
  1361 + </div>
  1362 + <div class="jindutiao">
  1363 + <div style="margin-right:10px;width:56px">宣传</div>
  1364 + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> -->
  1365 + <el-progress
  1366 + style="width: 150px;"
  1367 + :text-inside="true"
  1368 + :stroke-width="20"
  1369 + :percentage="baifenbi(duibiTwo.estimatedPromotionalExpenses==undefined?'':duibiTwo.estimatedPromotionalExpenses)"
  1370 + status="success"
  1371 + :format="() => customFormat(duibiTwo.estimatedPromotionalExpenses==undefined?'':duibiTwo.estimatedPromotionalExpenses)"
  1372 + ></el-progress>
  1373 + </div>
  1374 + <div class="jindutiao">
  1375 + <div style="margin-right:10px;width:56px">其他</div>
  1376 + <el-progress
  1377 + style="width: 150px;"
  1378 + :text-inside="true"
  1379 + :stroke-width="20"
  1380 + :percentage="baifenbi(duibiTwo.otherNecessaryEstimates==undefined?'':duibiTwo.otherNecessaryEstimates)"
  1381 + status="success"
  1382 + :format="() => customFormat(duibiTwo.otherNecessaryEstimates==undefined?'':duibiTwo.otherNecessaryEstimates)"
  1383 + ></el-progress>
  1384 + </div>
  1385 + </div>
  1386 + </div>
  1387 +</el-dialog>
  1388 +
  1389 +
  1390 + <!-- 复制 -->
  1391 + <el-dialog :visible.sync="copyShow" custom-class='xiaoguo_css' style="padding: 0;" width="50%"
  1392 + center :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false">
  1393 + <div style="padding:15px;background-color:#F9F9F9;font-size:14px;border:1px solid #ECECEC;margin-bottom:20px;display: flex;justify-content: space-between;">
  1394 + <div>复制页</div>
  1395 + </div>
  1396 + <div style="padding:0 36px;">
  1397 + <el-form label-position="right" :model="copy" label-width="120px"
  1398 + style="position: relative">
  1399 + <el-form-item label="新方案名称" class="grid-content bg-purple device-from" prop="planName">
  1400 + <el-input v-model="copy.planName" placeholder="请输入" />
  1401 + </el-form-item>
  1402 + </el-form>
  1403 + </div>
  1404 +
  1405 + <div style="display: flex;justify-content: flex-end;padding: 10px 20px 10px 0">
  1406 + <el-button class="buttonHover"
  1407 + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;"
  1408 + @click="copyClose" >返回</el-button>
  1409 + <el-button plain @click="copysev" style="background-color: #3F9B6A;color: #fff;" >保存
  1410 + </el-button>
  1411 + </div>
  1412 + </el-dialog>
  1413 +<el-dialog :visible.sync="searchShow" custom-class='xiaoguo_css' style="padding: 0;" width="50%"
  1414 + center :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false">
  1415 + <div style="padding:15px;background-color:#F9F9F9;font-size:14px;border:1px solid #ECECEC;margin-bottom:20px;display: flex;justify-content: space-between;">
  1416 + <div>搜索关键词配置</div>
  1417 + </div>
  1418 + <div style="padding:0 36px;">
  1419 + <el-checkbox v-model="searPei.name">方案名称</el-checkbox>
  1420 + <!-- <el-checkbox v-model="searPei.lei">方案类型</el-checkbox> -->
  1421 + <el-checkbox v-model="searPei.staut">审核状态</el-checkbox>
  1422 + </div>
  1423 +
  1424 + <div style="display: flex;justify-content: flex-end;padding: 10px 20px 10px 0">
  1425 + <el-button class="buttonHover"
  1426 + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;"
  1427 + @click="searchShow=false" >返回</el-button>
  1428 + <el-button plain @click="searchShow=false" style="background-color: #3F9B6A;color: #fff;" >保存
  1429 + </el-button>
  1430 + </div>
  1431 + </el-dialog>
  1432 +
  1433 +<el-dialog :visible.sync="jiucuoShow" custom-class='bian_css' style="padding: 0;" width="50%"
  1434 + :close-on-press-escape="false" center :close-on-click-modal="false" class="dialog_css_Xq" :show-close="false">
  1435 + <div style="padding:20px;">
  1436 + <div style="font-size: 14px;padding-bottom: 20px;color: #000;">氛围策划调整纠错</div>
  1437 + <wangEditor v-model="jiuMsg" ref="editor"></wangEditor>
  1438 + <div style="padding-top:20px;display:flex;justify-content: flex-end;">
  1439 + <el-button style="background-color: #3F9B6A;color: #fff"
  1440 + @click="jiuCheck">确定</el-button>
  1441 + <el-button @click="jiucuoShow = false" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" class="buttonHover">取消</el-button>
  1442 +
  1443 + </div>
  1444 +
  1445 + </div>
  1446 +
  1447 + </el-dialog>
  1448 +<actbians :showBian="actbianMsg" @BianchildClose='BianchildClose'></actbians>
  1449 +</div>
  1450 +</template>
  1451 +
  1452 +<script>
  1453 + import {
  1454 + deleteById,
  1455 + queryByPage,
  1456 + xiangByPage,
  1457 + fujiaTable,
  1458 + mingTable,
  1459 + danqueryById,
  1460 + xiangedit,
  1461 + actEdit,
  1462 + actAdd,
  1463 + actPage,
  1464 + MingAdd,
  1465 + MingDel,
  1466 + cereGet,
  1467 + cereAdd,
  1468 + cereEdit,
  1469 + cereDel,
  1470 + copy,
  1471 + excelQueryByPage,
  1472 + excelAdd,
  1473 + effectEvaluation,
  1474 + lishiDeta
  1475 + } from '../../api/activityBz'
  1476 + import actbians from "./atmosphereBian"
  1477 + import * as echarts from 'echarts'
  1478 + import Vue from 'vue'
  1479 + import html2canvas from 'html2canvas'
  1480 + import jsPDF from 'jspdf'
  1481 + import wangEditor from "@/components/editor/index";
  1482 + import {
  1483 + uploadUrl
  1484 + } from '@/utils/request'
  1485 + export default {
  1486 + components: {
  1487 + actbians,
  1488 + wangEditor
  1489 + },
  1490 + data() {
  1491 + return {
  1492 + uploadFileUrl: uploadUrl, // 请求地址
  1493 + daoData:[],
  1494 + actbianMsg: {
  1495 + acBian: '', //编辑数据
  1496 + bianshow: false, //编辑页
  1497 + },
  1498 + fileData:[],
  1499 + fenlei: [],
  1500 + secondData: {},
  1501 +
  1502 + formSear:{
  1503 + planName: '',
  1504 + state:null,
  1505 + dataOwnership: '2',
  1506 + pageNumber: 1,
  1507 + pageSize: 10,
  1508 + isDraft:0
  1509 + },
  1510 +
  1511 + planFen: '',
  1512 + eventTheme: '',
  1513 + currentPage: 1,
  1514 + total: 100,
  1515 + flag: false,
  1516 + pageSize: 10,
  1517 + ggXin: false,
  1518 + radio: '1',
  1519 + shan: '',
  1520 + activeName: 'first',
  1521 + rules: {
  1522 + coDe: [{
  1523 + required: true,
  1524 + message: '请输入氛围名称',
  1525 + trigger: 'blur'
  1526 + },
  1527 +
  1528 + ],
  1529 + },
  1530 + formInline: {
  1531 + merchantName: '', // 商家名称
  1532 + storeId: '', // 编码
  1533 + contacts: '', // 联系人
  1534 + businessEntity: '', //经营主体
  1535 + page: 1, // 当前页
  1536 + pageSize: 10 // 每页记录数
  1537 + },
  1538 + tableData: [],
  1539 + id: '',
  1540 + text: '123',
  1541 + tableData1: [{
  1542 + id: 0,
  1543 + name: '类型',
  1544 + planName: '',
  1545 + text: '氛围地点',
  1546 + eventTheme: ''
  1547 + }, {
  1548 + id: 0,
  1549 + name: '氛围开始时间',
  1550 + planName: '',
  1551 + text: '氛围结束时间',
  1552 + eventTheme: ''
  1553 + }, {
  1554 + id: 0,
  1555 + name: '氛围主题',
  1556 + planName: '',
  1557 + text: '氛围主办方',
  1558 + eventTheme: ''
  1559 + }, {
  1560 + id: 0,
  1561 + name: '氛围参与方',
  1562 + planName: '',
  1563 + text: '氛围主要目的',
  1564 + eventTheme: ''
  1565 + }, {
  1566 + id: 0,
  1567 + name: '范围设置',
  1568 + planName: '',
  1569 + text: '状态',
  1570 + eventTheme: ''
  1571 + }],
  1572 + internalLaborCostEstimation: '',
  1573 + externalLaborCostEstimation: '',
  1574 + tableData3: [{
  1575 + id: 0,
  1576 + name: '商品成本预估',
  1577 + planName: '',
  1578 + text: '设备成本预估',
  1579 + eventTheme: ''
  1580 + }, {
  1581 + id: 0,
  1582 + name: '宣传费用预估',
  1583 + planName: '',
  1584 + text: '其他必要成本预估',
  1585 + eventTheme: ''
  1586 + }, {
  1587 + id: 0,
  1588 + name: '总成本预估',
  1589 + planName: '',
  1590 + text: '备注',
  1591 + eventTheme: ''
  1592 + }],
  1593 + expectedAttractTraffic: '',
  1594 + expectedParticipation: '',
  1595 + tableData4: [{
  1596 + id: 0,
  1597 + name: '预计直接收益',
  1598 + planName: '',
  1599 + text: '预计间接收益',
  1600 + eventTheme: '-'
  1601 + }],
  1602 + createUser: '',
  1603 + createDate: '',
  1604 + tableData5: [{
  1605 + id: 0,
  1606 + name: '更新人',
  1607 + planName: '',
  1608 + text: '更新时间',
  1609 + eventTheme: '-'
  1610 + }],
  1611 + tableData2: [], //基本信息明细列表
  1612 + tableData6: [], //基本信息附件列表
  1613 + addMing: false, //执行效果添加明细
  1614 + zhixingBian: false, //判断是否编辑执行效果
  1615 + tableDa: [], //执行效果明细列表
  1616 + zhiXing: true, //判断是否是新增的执行效果
  1617 + mingFrom: {
  1618 + detailLtemName: '',
  1619 + estimatedQuantity: '',
  1620 + estimatedCost: '',
  1621 + notes: ''
  1622 + },
  1623 + planTime:[],
  1624 + zhixingList: {
  1625 + planTime: [],
  1626 + planName: '', //氛围名称
  1627 + eventAddrs: '', //实际举办地点
  1628 + eventStartTime: 0, //实际开始时间
  1629 + eventEndTime: 0, //实际结束时间
  1630 + sponsor: '', //实际主办方
  1631 + participants: '', //实际参与方
  1632 + internalLaborCostEstimation: '', //内部人工成本
  1633 + externalLaborCostEstimation: '', //外部人工成本
  1634 + costEstimationGoods: '', //商品成本
  1635 + setCostEstimate: '', //设备成本
  1636 + estimatedPromotionalExpenses: '', //宣传费用预估
  1637 + otherNecessaryEstimates: '', //其他成本预估
  1638 + totalCostEstimation: '', //总成本预估
  1639 + notes: '', //备注
  1640 + expectedAttractTraffic: '', //吸引流量
  1641 + expectedParticipation: '', //参与人数
  1642 + expectedDirectBenefits: '', //直接收益
  1643 + expectedIndirectBenefits: '', //间接收益
  1644 + createDate: '', //创建时间
  1645 + feedbackContent:''
  1646 + }, //执行效果列表
  1647 + pageindex: {
  1648 + pageNumber: 1,
  1649 + pageSize: 10,
  1650 + dataOwnership: '2',
  1651 + isDraft:0
  1652 + },
  1653 + multipleSelection: [],
  1654 + options: [],
  1655 + xinADD:{
  1656 + classificationName:'',
  1657 + parentId:'',
  1658 + classificationType:'0'
  1659 + },
  1660 + value: '',
  1661 + xiaoDui: false, //效果对比
  1662 + dataList:[],
  1663 +
  1664 + fenleiDelId:null,//删除的分类ID
  1665 + xiaoduiObj:{
  1666 + biliOne:'0%',
  1667 + bilis:0,
  1668 + biliTwo:'0%',
  1669 + biliT:0
  1670 + },//效果对比数据
  1671 + fujiLei:'',
  1672 + defaultProps:{
  1673 + children: 'children',
  1674 + label: 'classificationName'
  1675 + },
  1676 +
  1677 + copy:{
  1678 + planName:''
  1679 + },
  1680 + copyShow:false,
  1681 + duibiOne:{},
  1682 + duibiTwo:{},
  1683 + searchShow:false,
  1684 + searPei:{
  1685 + name:true,
  1686 + lei:false,
  1687 + staut:false,
  1688 + },
  1689 + lishiList:null,
  1690 + labelStyle:{
  1691 + width:'197px',
  1692 + height:'42px',
  1693 + },
  1694 + labelStyleOne:{
  1695 + width:'110px',
  1696 + height:'42px',
  1697 + color:'#000',
  1698 + },
  1699 + lidata:[],
  1700 + lixiang:{},
  1701 + duibiList:{},
  1702 + tiaozhengShow:false,
  1703 + jiucuoShow:false,
  1704 + jiuMsg:'',
  1705 + editId:''
  1706 + }
  1707 + },
  1708 + created() {
  1709 + this.getAll()
  1710 +
  1711 + },
  1712 + computed: {
  1713 +
  1714 + },
  1715 + methods: {
  1716 + getStatus(state) {
  1717 + switch (state) {
  1718 + case '':
  1719 + return '待提交';
  1720 + case '1':
  1721 + return '待审核';
  1722 + case '2':
  1723 + return '业务部审核';
  1724 + case '3':
  1725 + return '品牌审核';
  1726 + case '4':
  1727 + return '审核通过';
  1728 + case '5':
  1729 + return '审核不通过'
  1730 + }
  1731 + },
  1732 + //查询全数据
  1733 + async getAll() {
  1734 + const res = await queryByPage(this.pageindex)
  1735 + this.tableData = res.data.content
  1736 + this.total = res.data.content.length
  1737 +
  1738 + },
  1739 + //删除记录按钮
  1740 + handleDelete(val) {
  1741 + if (this.multipleSelection.length == 1) {
  1742 +
  1743 + const h = this.$createElement;
  1744 + this.$msgbox({
  1745 + title: '消息',
  1746 + message: h('p', null, [
  1747 + h('span', null, '是否删除 '),
  1748 + ]),
  1749 + showCancelButton: true,
  1750 + showClose: false,
  1751 + confirmButtonText: '确定',
  1752 + cancelButtonText: '取消',
  1753 + customClass: 'oe-dialog-btn',
  1754 + beforeClose: (action, instance, done) => {
  1755 + if (action === 'confirm') {
  1756 + deleteById({
  1757 + id: this.multipleSelection[0].id
  1758 + }).then(res => {
  1759 + this.getAll()
  1760 + done();
  1761 + })
  1762 + } else {
  1763 + done();
  1764 + }
  1765 + }
  1766 + })
  1767 + } else {
  1768 + this.$message({
  1769 + message: '请选择一个文件删除',
  1770 + customClass: 'custom-message',
  1771 + offset: 100
  1772 + })
  1773 + }
  1774 + },
  1775 + //查询
  1776 + async onSubmit() {
  1777 + const res = await danqueryById(this.formSear)
  1778 + this.tableData = res.data.content
  1779 + },
  1780 + //重置按钮
  1781 + resetting() {
  1782 + this.formSear ={
  1783 + planName: '',
  1784 + state:null,
  1785 + dataOwnership: '2',
  1786 + pageNumber: 1,
  1787 + pageSize: 10,
  1788 + isDraft:0
  1789 +
  1790 + }
  1791 + this.getAll()
  1792 + },
  1793 + //编辑页
  1794 + BianchildClose(msg) {
  1795 + this.actbianMsg.bianshow = msg
  1796 + this.getAll()
  1797 + },
  1798 + actBian(item) {
  1799 + this.actbianMsg.acBian = item
  1800 + this.actbianMsg.bianshow = true
  1801 + },
  1802 + //详情点击
  1803 + handleEditForm(item) {
  1804 + this.liData = []
  1805 + this.lixiang = {}
  1806 + this.lishiList=null
  1807 + this.fileData = []
  1808 + this.zhixingList = {
  1809 + planTime:[],
  1810 + planName: '', //氛围名称
  1811 + eventAddrs: '', //实际举办地点
  1812 + eventStartTime: 0, //实际开始时间
  1813 + eventEndTime: 0, //实际结束时间
  1814 + sponsor: '', //实际主办方
  1815 + participants: '', //实际参与方
  1816 + internalLaborCostEstimation: '', //内部人工成本
  1817 + externalLaborCostEstimation: '', //外部人工成本
  1818 + costEstimationGoods: '', //商品成本
  1819 + setCostEstimate: '', //设备成本
  1820 + estimatedPromotionalExpenses: '', //宣传费用预估
  1821 + otherNecessaryEstimates: '', //其他成本预估
  1822 + totalCostEstimation: '', //总成本预估
  1823 + notes: '', //备注
  1824 + expectedAttractTraffic: '', //吸引流量
  1825 + expectedParticipation: '', //参与人数
  1826 + expectedDirectBenefits: '', //直接收益
  1827 + expectedIndirectBenefits: '', //间接收益
  1828 + createDate: '', //创建时间
  1829 + feedbackContent:''
  1830 + } //执行效果列表
  1831 + actPage({
  1832 + detailsId: item.id,
  1833 + pageNumber: 1,
  1834 + pageSize: 10,
  1835 + }).then(res => {
  1836 + console.log(res.data.content)
  1837 + if (res.data.content.length == 0) {
  1838 + this.zhiXing = true
  1839 + } else {
  1840 + mingTable({
  1841 + detailsId: res.data.content[0].id,
  1842 + pageNumber: 1,
  1843 + pageSize: 10,
  1844 + }).then(res => {
  1845 + this.tableDa = res.data.content
  1846 + })
  1847 + this.zhiXing = false
  1848 + this.zhixingList = res.data.content[0]
  1849 + if((typeof this.zhixingList.eventStartTime) == 'object' || (typeof this.zhixingList.eventEndTime) == 'object' ){
  1850 + this.zhixingList.planTime = []
  1851 + }else{
  1852 + console.log(typeof this.zhixingList.eventStartTime)
  1853 + this.zhixingList.planTime = [ this.zhixingList.eventStartTime, this.zhixingList.eventEndTime]
  1854 + }
  1855 +
  1856 + }
  1857 + })
  1858 + let that = this
  1859 + this.planTime = [item.eventStartTime, item.eventEndTime]
  1860 + fujiaTable({
  1861 + detailsId: item.id,
  1862 + pageNumber: 1,
  1863 + pageSize: 10,
  1864 + }).then(res => {
  1865 + this.tableData6 = res.data.content
  1866 + })
  1867 + mingTable({
  1868 + detailsId: item.id,
  1869 + pageNumber: 1,
  1870 + pageSize: 10,
  1871 + }).then(res => {
  1872 + this.tableData2 = res.data.content
  1873 + })
  1874 +
  1875 +
  1876 + danqueryById({
  1877 + id: item.id,
  1878 + dataOwnership: '2',
  1879 + pageNumber: 1,
  1880 + pageSize: 10,
  1881 + }).then(res => {
  1882 + this.secondData = res.data.content[0]
  1883 + //基本信息
  1884 + // that.id=res.data.content[0].id
  1885 + that.text = res.data.content[0].planName
  1886 + that.tableData1[0].eventTheme = res.data.content[0].planType
  1887 + that.tableData1[0].planName = res.data.content[0].eventAddrs
  1888 + that.tableData1[1].eventTheme = res.data.content[0].eventStartTime
  1889 + that.tableData1[1].planName = res.data.content[0].eventEndTime
  1890 + that.tableData1[2].eventTheme = res.data.content[0].eventTheme
  1891 + that.tableData1[2].planName = res.data.content[0].sponsor
  1892 + that.tableData1[3].eventTheme = res.data.content[0].participants
  1893 + that.tableData1[3].planName = res.data.content[0].mainPurpose
  1894 + that.tableData1[4].planName = this.getStatus(res.data.content[0].state)
  1895 + that.tableData1[4].eventTheme = res.data.content[0].rangeSetting
  1896 + //氛围成本信息
  1897 + that.internalLaborCostEstimation = res.data.content[0].internalLaborCostEstimation
  1898 + that.externalLaborCostEstimation = res.data.content[0].externalLaborCostEstimation
  1899 + that.tableData3[0].eventTheme = res.data.content[0].costEstimationGoods
  1900 + that.tableData3[0].planName = res.data.content[0].setCostEstimate
  1901 + that.tableData3[1].eventTheme = res.data.content[0].estimatedPromotionalExpenses
  1902 + that.tableData3[1].planName = res.data.content[0].otherNecessaryEstimates
  1903 + that.tableData3[2].eventTheme = res.data.content[0].totalCostEstimation
  1904 + that.tableData3[2].planName = res.data.content[0].notes
  1905 + //预估效果
  1906 + that.expectedAttractTraffic = res.data.content[0].expectedAttractTraffic
  1907 + that.expectedParticipation = res.data.content[0].expectedParticipation
  1908 + that.tableData4[0].eventTheme = res.data.content[0].expectedDirectBenefits
  1909 + that.tableData4[0].planName = res.data.content[0].expectedIndirectBenefits
  1910 + //系统信息
  1911 + that.createUser = res.data.content[0].createUser
  1912 + that.createDate = res.data.content[0].createDate
  1913 +
  1914 + that.tableData5[0].planName = '-'
  1915 + that.tableData5[0].eventTheme = res.data.content[0].updateUser
  1916 +
  1917 + }).catch(err => {
  1918 + console.log(err)
  1919 +
  1920 + })
  1921 + if (!item) {
  1922 + this.formItem = {}
  1923 + } else {
  1924 + this.formItem = item
  1925 + }
  1926 + lishiDeta({eventDetailsId:item.id}).then(res=>{
  1927 + this.liData = res.data
  1928 + })
  1929 + this.ggXin = true
  1930 + },
  1931 + formTime(data){
  1932 + this.zhixingList.planTime = data
  1933 + },
  1934 + removeEmptyValues(obj) {
  1935 + if (typeof obj !== 'object' || obj === null) {
  1936 + return obj;
  1937 + }
  1938 +
  1939 + const newObj = Array.isArray(obj) ? [] : {};
  1940 +
  1941 + for (const key in obj) {
  1942 + if (Object.prototype.hasOwnProperty.call(obj, key)) {
  1943 + const value = obj[key];
  1944 + if (value !== null && value !== undefined && value !== '' && !this.isEmptyObject(value)) {
  1945 + if (Array.isArray(newObj)) {
  1946 + newObj.push(this.removeEmptyValues(value));
  1947 + } else {
  1948 + newObj[key] = this.removeEmptyValues(value);
  1949 + }
  1950 + }
  1951 + }
  1952 + }
  1953 +
  1954 + return newObj;
  1955 + },
  1956 + isEmptyObject(obj) {
  1957 + return Object.keys(obj).length === 0 && obj.constructor === Object;
  1958 + },
  1959 + //获取当前时间
  1960 + updateCurrentTime() {
  1961 + const now = new Date();
  1962 + const year = now.getFullYear();
  1963 + const month = (now.getMonth() + 1).toString().padStart(2, '0');
  1964 + const day = now.getDate().toString().padStart(2, '0');
  1965 + const hours = now.getHours().toString().padStart(2, '0');
  1966 + const minutes = now.getMinutes().toString().padStart(2, '0');
  1967 + const seconds = now.getSeconds().toString().padStart(2, '0');
  1968 +
  1969 + return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
  1970 + },
  1971 +
  1972 + handleCurrentChange(val) {
  1973 + this.currentPage = val
  1974 + },
  1975 + handleSizeChange(val) {
  1976 + this.pageSize = val
  1977 + },
  1978 + closeFn() {
  1979 + this.ggXin = false
  1980 + },
  1981 + handleClick() {
  1982 + console.log()
  1983 + },
  1984 + refreshData() {
  1985 + // console.log('12123')
  1986 + this.tableDa = []
  1987 + this.activeName = 'first'
  1988 + this.zhixingBian = false
  1989 + },
  1990 + reshData() {
  1991 + this.tableDa = []
  1992 + this.tiaozhengShow = false
  1993 + },
  1994 +
  1995 + handleSelectionChange(val) {
  1996 + this.multipleSelection = val;
  1997 + },
  1998 + toggleSelection(rows) {
  1999 + if (rows) {
  2000 + rows.forEach(row => {
  2001 + this.$refs.mulTable.toggleRowSelection(row);
  2002 + });
  2003 + }
  2004 + },
  2005 + tableAll() {
  2006 + this.$refs.mulTable.clearSelection(); // 清除所有选项
  2007 + const allRows = this.$refs.mulTable.data; // 获取所有行数据
  2008 + allRows.forEach(row => {
  2009 + this.$refs.mulTable.toggleRowSelection(row, true); // 全选所有项
  2010 + });
  2011 + },
  2012 + TabClick(tab, event) {
  2013 + console.log(tab, event)
  2014 + if (tab.index == '0') {
  2015 + this.getAll()
  2016 + } else {
  2017 + this.tableData = []
  2018 + }
  2019 + },
  2020 + minSev() {
  2021 + if (this.zhiXing) {
  2022 + this.tableDa.push(this.mingFrom)
  2023 + } else {
  2024 + this.mingFrom.detailsId = this.zhixingList.id
  2025 + MingAdd(this.mingFrom).then(res => {
  2026 + this.mingcha(this.zhixingList.id)
  2027 + })
  2028 + }
  2029 + this.mingFrom = {
  2030 + detailLtemName: '',
  2031 + estimatedQuantity: '',
  2032 + estimatedCost: '',
  2033 + notes: ''
  2034 + }
  2035 + this.addMing = false
  2036 + },
  2037 + // 查询执行明细
  2038 + mingcha(id) {
  2039 + mingTable({
  2040 + detailsId: id,
  2041 + pageNumber: 1,
  2042 + pageSize: 10
  2043 + }).then(res => {
  2044 + this.tableDa = res.data.content
  2045 + })
  2046 + },
  2047 + MingDelete(index, item) {
  2048 + const h = this.$createElement;
  2049 + this.$msgbox({
  2050 + title: '消息',
  2051 + message: h('p', null, [
  2052 + h('span', null, '是否删除 '),
  2053 + ]),
  2054 + showCancelButton: true,
  2055 + showClose: false,
  2056 + confirmButtonText: '确定',
  2057 + cancelButtonText: '取消',
  2058 + customClass: 'oe-dialog-btn',
  2059 + beforeClose: (action, instance, done) => {
  2060 + if (action === 'confirm') {
  2061 + if (this.zhiXing) {
  2062 + this.tableDa.splice(item, 1);
  2063 + } else {
  2064 + MingDel({
  2065 + id: item.id
  2066 + }).then(res => {
  2067 + this.mingcha(this.zhixingList.id)
  2068 + })
  2069 + }
  2070 + done();
  2071 + } else {
  2072 + done();
  2073 + }
  2074 + }
  2075 + })
  2076 + },
  2077 + tianMing() {
  2078 + if (this.zhixingBian) {
  2079 + this.addMing = true
  2080 + }
  2081 + },
  2082 +
  2083 + duibi(){
  2084 + if (this.multipleSelection.length ==1 ) {
  2085 + this.xiaoDui = true
  2086 + this.duibiOne = this.multipleSelection[0]
  2087 + console.log(this.multipleSelection[0])
  2088 + let that = this
  2089 + actPage({
  2090 + detailsId:this.multipleSelection[0].id,
  2091 + pageNumber: 1,
  2092 + pageSize: 10,
  2093 + }).then(res => {
  2094 + this.duibiTwo = res.data.content[0] === undefined ? {} : res.data.content[0];
  2095 + console.log(this.duibiTwo)
  2096 + if( res.data.content[0] === undefined || res.data.content[0].totalCostEstimation =='' ){
  2097 + that.xiaoduiObj.biliTwo = '0%'
  2098 + that.xiaoduiObj.biliT = 0
  2099 + }else{
  2100 + that.xiaoduiObj.biliT = that.duibiTwo.internalLaborCostEstimation / that.duibiTwo.totalCostEstimation*100
  2101 + that.xiaoduiObj.biliTwo =`${Math.round(that.duibiTwo.internalLaborCostEstimation / that.duibiTwo.totalCostEstimation*100)}%`
  2102 + }
  2103 +
  2104 + })
  2105 + if(that.duibiOne.totalCostEstimation ==''){
  2106 + that.xiaoduiObj.biliOne = '0%'
  2107 + that.xiaoduiObj.bilis = 0
  2108 + }else{
  2109 + that.xiaoduiObj.bilis = that.duibiOne.internalLaborCostEstimation / that.duibiOne.totalCostEstimation*100
  2110 + that.xiaoduiObj.biliOne = `${Math.round(that.duibiOne.internalLaborCostEstimation / that.duibiOne.totalCostEstimation*100)}%`
  2111 + }
  2112 +
  2113 + }else{
  2114 + this.$message({
  2115 + message: '请选择一个文件对比',
  2116 + customClass: 'custom-message',
  2117 + offset: 100
  2118 + })
  2119 + }
  2120 +
  2121 + },
  2122 +
  2123 + koop(item){
  2124 + this.copy.id = item.id
  2125 + this.copyShow = true
  2126 + },
  2127 + copyClose(){
  2128 + this.copyShow = false
  2129 + this.copy.planName = ''
  2130 + },
  2131 + copysev(){
  2132 + if(this.copy.planName == ''){
  2133 + this.$message({
  2134 + message: '请填写数据',
  2135 + customClass: 'custom-message',
  2136 + offset: 100
  2137 + })
  2138 + return;
  2139 + }else{
  2140 + copy(this.copy).then(res=>{
  2141 + this.copyShow = false
  2142 + this.getAll()
  2143 + })
  2144 + }
  2145 + },
  2146 +
  2147 +
  2148 + fenleiChange(value){
  2149 + this.xinADD.parentId = value[value.length - 1]
  2150 + },
  2151 +
  2152 +
  2153 + customFormat(percentage) {
  2154 + let zong
  2155 + if(percentage==undefined ||percentage === null || percentage == '' ){
  2156 + percentage = 0
  2157 + zong = 10000
  2158 + }
  2159 + return `${percentage} / ${percentage==''?zong:parseInt(percentage) *10}`;
  2160 + },
  2161 + baifenbi(item){
  2162 +
  2163 + let zong
  2164 + if(item == undefined || item === null || item == '' ){
  2165 + item = 0
  2166 + zong = 10000
  2167 + return Math.round(item / (item*10) * 100);
  2168 + }else{
  2169 + return Math.round(item / zong * 100);
  2170 + }
  2171 +
  2172 + },
  2173 + handleUploadSuccess(response, file, fileList) {
  2174 + const fileMsg = {
  2175 + name:file.name,
  2176 + url: file.response.data.url,
  2177 + }
  2178 + // 将文件地址存储在 uploadedFiles 数组中
  2179 + this.fileData.push(fileMsg);
  2180 + },
  2181 + handleRemove(){
  2182 + this.fileData = []
  2183 + },
  2184 + daoru(response, file, fileList){
  2185 + this.daoData.push(file.raw)
  2186 + const formDate = new FormData()
  2187 + formDate.append('file', this.daoData[0])
  2188 + excelAdd(formDate).then(res => {
  2189 + this.getAll()
  2190 + })
  2191 + },
  2192 +
  2193 +
  2194 + async daochu(){
  2195 + let res = await excelQueryByPage(this.pageindex)
  2196 + if(!res){
  2197 + return
  2198 + }
  2199 + const blob = new Blob([res], { type: 'application/vnd.ms-excel' })
  2200 + const fileName = '审核流程.xls'
  2201 + if ('download' in document.createElement('a')) {
  2202 + // 非IE下载
  2203 + const elink = document.createElement('a')
  2204 + elink.download = fileName
  2205 + elink.style.display = 'none'
  2206 + elink.href = URL.createObjectURL(blob)
  2207 + document.body.appendChild(elink)
  2208 + elink.click()
  2209 + URL.revokeObjectURL(elink.href) // 释放URL 对象
  2210 + document.body.removeChild(elink)
  2211 + } else {
  2212 + // IE10+下载
  2213 + navigator.msSaveBlob(blob, fileName)
  2214 + }
  2215 + this.$message({
  2216 + message: '导出成功',
  2217 + type: 'success'
  2218 + })
  2219 +
  2220 +
  2221 + },
  2222 + // 下载
  2223 + async downloadPdf() {
  2224 + const content = this.$refs.actXiang;
  2225 +
  2226 + // 使用 html2canvas 将 div 渲染为画布
  2227 + const canvas = await html2canvas(content);
  2228 +
  2229 + // 获取画布的图像数据
  2230 + const imgData = canvas.toDataURL('image/png');
  2231 +
  2232 + // 创建一个新的 PDF 文档
  2233 + const pdf = new jsPDF('p', 'mm', 'a4');
  2234 +
  2235 + // 添加图像到 PDF,第二个参数是图像格式,第三个参数是缩放比例
  2236 + const imgWidth = 190; // 图像的宽度(mm)
  2237 + const imgHeight = (canvas.height * imgWidth) / canvas.width; // 保持图像的宽高比
  2238 +
  2239 + pdf.addImage(imgData, 'PNG', 10, 10, imgWidth, imgHeight); // 10, 10 是图像在 PDF 中的位置(mm)
  2240 +
  2241 + // 保存 PDF 文件
  2242 + pdf.save('氛围方案.pdf');
  2243 + },
  2244 + // 下载
  2245 + async lishidownloadPdf() {
  2246 + const content = this.$refs.lishiRef;
  2247 +
  2248 + // 使用 html2canvas 将 div 渲染为画布
  2249 + const canvas = await html2canvas(content);
  2250 +
  2251 + // 获取画布的图像数据
  2252 + const imgData = canvas.toDataURL('image/png');
  2253 +
  2254 + // 创建一个新的 PDF 文档
  2255 + const pdf = new jsPDF('p', 'mm', 'a4');
  2256 +
  2257 + // 添加图像到 PDF,第二个参数是图像格式,第三个参数是缩放比例
  2258 + const imgWidth = 190; // 图像的宽度(mm)
  2259 + const imgHeight = (canvas.height * imgWidth) / canvas.width; // 保持图像的宽高比
  2260 +
  2261 + pdf.addImage(imgData, 'PNG', 10, 10, imgWidth, imgHeight); // 10, 10 是图像在 PDF 中的位置(mm)
  2262 +
  2263 + // 保存 PDF 文件
  2264 + pdf.save('历史方案.pdf');
  2265 + },
  2266 +
  2267 +setSearch(){
  2268 +this.searchShow = true
  2269 +},
  2270 +lichange(e){
  2271 +console.log(this.liData[e])
  2272 +this.lishiList=e
  2273 + let msg =this.liData[e]
  2274 +this.duibiList = JSON.parse(msg.modifyContent)
  2275 +this.lixiang = JSON.parse(msg.originalData)
  2276 +
  2277 +},
  2278 +tiaozheng(){
  2279 + this.tiaozhengShow = true
  2280 +},
  2281 +jiucuo(){
  2282 + this.jiuMsg = ''
  2283 + this.jiucuoShow =true
  2284 +},
  2285 +jiuCheck(){
  2286 + xiangedit({id:this.editId,isErrorCorrection:this.jiuMsg}).then(res=>{
  2287 + this.jiucuoShow = false
  2288 + })
  2289 +},
  2290 + }
  2291 + }
  2292 +</script>
  2293 +
  2294 +<style scoped>
  2295 + .custom-tree-node {
  2296 + flex: 1;
  2297 + display: flex;
  2298 + align-items: center;
  2299 + justify-content: space-between;
  2300 + font-size: 14px;
  2301 + padding-right: 8px;
  2302 + }
  2303 + /deep/ .first-column-bg {
  2304 + background-color: #f4f4f5 !important;
  2305 + }
  2306 +
  2307 + .zhuti {
  2308 + padding: 0 20px 20px 20px;
  2309 + min-height: calc(100vh - 50px - 20px);
  2310 + background-color: #Fff;
  2311 +
  2312 + }
  2313 +::v-deep .el-form-item{
  2314 + margin-bottom:16px;
  2315 +}
  2316 + /deep/ .el-form-item__content {
  2317 + line-height: 0;
  2318 + }
  2319 +
  2320 + .tableBtn {
  2321 + display: inline-block;
  2322 + margin-right: 10px;
  2323 + }
  2324 +
  2325 + .formSearch {
  2326 + display: flex;
  2327 + width: 100%;
  2328 + font-size: 14px;
  2329 + justify-content: space-between;
  2330 + padding-bottom: 10px;
  2331 + align-items: center;
  2332 + }
  2333 +
  2334 + .greens {
  2335 + color: #3F9B6A;
  2336 + }
  2337 +
  2338 + /deep/ .el-table__row {
  2339 + font-size: 14px;
  2340 + color:#000000e6;
  2341 + height:42px;
  2342 + }
  2343 +
  2344 + .fenye {
  2345 + margin-top: 20px;
  2346 + display: flex;
  2347 + justify-content: space-between;
  2348 + position: relative;
  2349 + }
  2350 +
  2351 + /deep/ .el-pagination.is-background .el-pager li:not(.disabled).active {
  2352 + background-color: #3F9B6A;
  2353 + }
  2354 +
  2355 + .el-row {
  2356 + margin-bottom: 20px;
  2357 + }
  2358 +
  2359 + :last-child {
  2360 + margin-bottom: 0;
  2361 + }
  2362 +
  2363 + .el-col {
  2364 + border-radius: 4px;
  2365 + }
  2366 +
  2367 + .bg-purple-dark {
  2368 + background: #99a9bf;
  2369 + }
  2370 +
  2371 + .bg-purple {
  2372 + /* background: #d3dce6; */
  2373 + }
  2374 +
  2375 + .bg-purple-light {
  2376 + background: #e5e9f2;
  2377 + }
  2378 +
  2379 + .grid-content {
  2380 + border-radius: 4px;
  2381 + min-height: 36px;
  2382 + }
  2383 +
  2384 + .row-bg {
  2385 + padding: 10px 0;
  2386 + background-color: #f9fafc;
  2387 + }
  2388 +
  2389 + /deep/ .bg-purple[data-v-0e3fe4ec] {
  2390 + background: #fff;
  2391 + height: 50px;
  2392 + }
  2393 +
  2394 + /deep/ .el-form--label-top .el-form-item__label {
  2395 + padding: 0;
  2396 + }
  2397 +
  2398 +
  2399 + .pagination {
  2400 + text-align: right;
  2401 + line-height: 20px;
  2402 + }
  2403 +
  2404 + /deep/ .el-pagination__total {
  2405 + margin-top: 4px;
  2406 + }
  2407 +
  2408 +::v-deep .xiang_css{
  2409 + margin-top:11vh !important;
  2410 + margin-left: 13%;
  2411 + max-height:600px;
  2412 + overflow-y: auto;
  2413 +}
  2414 + /deep/ .dialog_css {
  2415 + margin-top: 11vh;
  2416 + margin-left: 25%;
  2417 + padding: 0px;
  2418 +
  2419 + .el-dialog__title {
  2420 + font-size: 14px;
  2421 + color: #000000e6;
  2422 + }
  2423 + }
  2424 +
  2425 + /deep/.el-dialog__body {
  2426 + padding: 0px;
  2427 + }
  2428 +
  2429 + /deep/ .el-dialog__header {
  2430 + background-color: #fff;
  2431 + }
  2432 +
  2433 + /deep/.el-dialog__title {
  2434 + font-size: 14px;
  2435 + color: #000000e6;
  2436 + }
  2437 +
  2438 + .el-row {
  2439 + margin-bottom: 20px;
  2440 +
  2441 + &:last-child {
  2442 + margin-bottom: 0;
  2443 + }
  2444 + }
  2445 +
  2446 + /deep/ .avatar-uploader .el-upload {
  2447 + border: 1px dashed #d9d9d9;
  2448 + border-radius: 6px;
  2449 + cursor: pointer;
  2450 + position: relative;
  2451 + overflow: hidden;
  2452 + }
  2453 +
  2454 + .avatar-uploader .el-upload:hover {
  2455 + border-color: #409EFF;
  2456 + }
  2457 +
  2458 + .avatar-uploader-icon {
  2459 + font-size: 28px;
  2460 + color: #8c939d;
  2461 + width: 108px;
  2462 + height: 108px;
  2463 + line-height: 108px;
  2464 + /*text-align: center;*/
  2465 + }
  2466 +
  2467 + .avatar {
  2468 + width: 108px;
  2469 + height: 108px;
  2470 + display: block;
  2471 + }
  2472 +
  2473 + ::v-deep .el-tabs__item.is-active {
  2474 + color: #3F9B6A;
  2475 + opacity: 1;
  2476 + }
  2477 +
  2478 + /deep/ .el-tabs__nav-wrap::after {
  2479 + background-color: #fff;
  2480 + }
  2481 +
  2482 + ::v-deep .el-tabs__item:hover {
  2483 + color: #3F9B6A;
  2484 + cursor: pointer;
  2485 + opacity: 1;
  2486 + }
  2487 +
  2488 + /deep/ .el-tabs__active-bar {
  2489 + background-color: #389865;
  2490 + }
  2491 +
  2492 + /deep/ .el-table_2_column_13 {
  2493 + font-weight: 100;
  2494 + }
  2495 +::v-deep .el-input__inner{
  2496 + height:32px;
  2497 + line-height:32px;
  2498 +}
  2499 + ::v-deep .el-input__inner:focus {
  2500 + border: #3F9B6A 1px solid;
  2501 + }
  2502 +
  2503 + ::v-deep .el-input__inner:hover {
  2504 + border: #3F9B6A 1px solid;
  2505 + }
  2506 +
  2507 + ::v-deep .el-select .el-input.is-focus .el-input__inner {
  2508 + border-color: #3F9B6A
  2509 + }
  2510 +
  2511 + ::v-deep .el-form-item__label {
  2512 + font-weight: 100;
  2513 + font-size: 14px;
  2514 + color:#000000e6;
  2515 + }
  2516 +
  2517 + /* ::v-deep .el-steps .el-step__head.is-wait {
  2518 + background-color: red; /* 修改为你想要的颜色 */
  2519 +
  2520 + /* 修改未进行步骤的描述文字颜色 */
  2521 + ::v-deep .el-steps .el-step__description.is-wait {
  2522 + color: #999;
  2523 + /* 修改为你想要的颜色 */
  2524 + }
  2525 +
  2526 + /* 修改未进行步骤的图标颜色 */
  2527 + ::v-deep .el-steps .el-step__icon.is-text.is-wait {
  2528 + color: #999;
  2529 + /* 修改为你想要的颜色 */
  2530 + }
  2531 +
  2532 + /* 修改未进行步骤的边框色 */
  2533 + ::v-deep .el-steps .el-step__line.is-wait {
  2534 + border-color: #eee;
  2535 + /* 修改为你想要的颜色 */
  2536 + }
  2537 +
  2538 + ::v-deep .el-steps .is-process .el-step__line {
  2539 + background-color: #3F9B6A;
  2540 + /* 修改线的颜色 */
  2541 + }
  2542 +
  2543 + ::v-deep .el-steps .is-process .el-step__title {
  2544 + color: #fe7b6a;
  2545 + /* 修改进行中步骤的标题颜色 */
  2546 + }
  2547 +
  2548 + ::v-deep .el-steps .is-process .el-step__icon {
  2549 + color: #fff;
  2550 + /* 修改进行中步骤的图标颜色 */
  2551 + background: #3F9B6A;
  2552 + /* 修改进行中步骤图标的边框颜色 */
  2553 + border: 0px;
  2554 + }
  2555 +
  2556 + ::v-deep .el-step__icon-inner {
  2557 + line-height: 0
  2558 + }
  2559 +
  2560 + /* 线条长度 */
  2561 + ::v-deep .el-step.is-vertical .el-step__line {
  2562 + top: 30px;
  2563 + height: 60px;
  2564 + }
  2565 +
  2566 + .fenlan {
  2567 + display: flex;
  2568 + }
  2569 +
  2570 + .souLei {
  2571 + border: 1px solid #d7d7d7;
  2572 + background-color: #fff;
  2573 + width:300px;
  2574 + margin-right:20px;
  2575 +
  2576 + }
  2577 +::v-deep .el-menu{
  2578 + border-right:0px;
  2579 +}
  2580 +::v-deep .el-menu-item{
  2581 + height:36px;
  2582 + line-height: 33px;
  2583 +}
  2584 +
  2585 +::v-deep .el-submenu__title{
  2586 + height:36px;
  2587 + line-height: 33px;
  2588 + font-weight:600;
  2589 + border-radius:4px;
  2590 + margin:4px 0;
  2591 +}
  2592 +::v-deep .el-menu-item-group__title{
  2593 + padding:0px
  2594 +}
  2595 + ::v-deep .fudan{
  2596 + font-weight:600;
  2597 + border-radius:4px;
  2598 + padding-left:29px !important;
  2599 + margin:4px 0;
  2600 + }
  2601 + ::v-deep .chinddan{
  2602 + margin:5px 0;
  2603 + }
  2604 +</style>
  2605 +<style lang="scss" scoped>
  2606 + ::v-deep .el-table tr:hover{
  2607 + background-color: #F0F7F3 !important;
  2608 + }
  2609 + ::v-deep .souTabs {
  2610 + padding:0 15px 0 12px;
  2611 + .el-submenu{
  2612 + padding:0px;
  2613 + }
  2614 + .el-menu-item:focus, .el-menu-item:hover{
  2615 + background-color: #3F9B6A !important;
  2616 + }
  2617 + .el-menu-item:hover{
  2618 + background-color:#3f9b6a1a !important;
  2619 + color:#000 !important;
  2620 + }
  2621 + .el-tabs--left .el-tabs__header.is-left {
  2622 + width: 100%;
  2623 + margin-right: 0px;
  2624 + }
  2625 +
  2626 + .el-tabs--left .el-tabs__item.is-left {
  2627 + text-align: center;
  2628 + }
  2629 +
  2630 + .el-tabs__item.is-active {
  2631 + background-color: #DEEBE2;
  2632 + }
  2633 + }
  2634 +
  2635 + ::v-deep .tableList {
  2636 + width: 100%;
  2637 + }
  2638 + ::v-deep .fenxi_css{
  2639 + margin-top: 9vh !important;
  2640 + margin-left: 10%;
  2641 + .el-dialog__header{
  2642 + padding:0;
  2643 + }
  2644 + .el-tabs--border-card {
  2645 + border: none;
  2646 + -webkit-box-shadow:none;
  2647 + box-shadow:none;
  2648 + .el-tabs__content{
  2649 + border: 1px solid #E4E7ED;
  2650 + padding:0;
  2651 + }
  2652 + .el-tabs__header{
  2653 + background-color: #fff;
  2654 + border-bottom:none;
  2655 + }
  2656 + .el-tabs__content{
  2657 + border: none;
  2658 + }
  2659 + .el-tabs__header .el-tabs__item{
  2660 + border: none;
  2661 + margin-right: 10px;
  2662 + background-color: #F2F2F2;
  2663 + font-size:12px;
  2664 + border-top-left-radius: 8px;
  2665 + border-top-right-radius: 8px;
  2666 + padding:0 15px;
  2667 + }
  2668 + .el-tabs__header .el-tabs__item.is-active{
  2669 + color:#fff;
  2670 + background-color: #3F9B6A;
  2671 + }
  2672 + .el-tabs__header .el-tabs__item:not(.is-disabled):hover{
  2673 + color:#3F9B6A;
  2674 + }
  2675 + }
  2676 +
  2677 + }
  2678 + ::v-deep .xiaoguo_css{
  2679 + margin-top: 30vh !important;
  2680 + margin-left: 25%;
  2681 + .el-dialog__header{
  2682 + padding:0;
  2683 + }
  2684 + .el-tabs--border-card {
  2685 + border: none;
  2686 + -webkit-box-shadow:none;
  2687 + box-shadow:none;
  2688 + .el-tabs__content{
  2689 + border: 1px solid #E4E7ED;
  2690 + padding:0;
  2691 + }
  2692 + .el-tabs__header{
  2693 + background-color: #fff;
  2694 + border-bottom:none;
  2695 + }
  2696 + .el-tabs__content{
  2697 + border: none;
  2698 + }
  2699 + .el-tabs__header .el-tabs__item{
  2700 + border: none;
  2701 + margin-right: 10px;
  2702 + background-color: #F2F2F2;
  2703 + font-size:12px;
  2704 + border-top-left-radius: 8px;
  2705 + border-top-right-radius: 8px;
  2706 + padding:0 15px;
  2707 + }
  2708 + .el-tabs__header .el-tabs__item.is-active{
  2709 + color:#fff;
  2710 + background-color: #3F9B6A;
  2711 + }
  2712 + .el-tabs__header .el-tabs__item:not(.is-disabled):hover{
  2713 + color:#3F9B6A;
  2714 + }
  2715 + }
  2716 + }
  2717 + ::v-deep .demo-input-suffix {
  2718 + display: flex;
  2719 + margin-right: 20px;
  2720 + width: 83%;
  2721 +
  2722 + .el-input__inner{
  2723 + height:32px;
  2724 + }
  2725 + }
  2726 + ::v-deep .el-input__icon{
  2727 + line-height:25px;
  2728 + }
  2729 + ::v-deep .el-input--mini .el-input__icon{
  2730 + line-height:33px;
  2731 + }
  2732 +
  2733 + ::v-deep .buttonHover:hover{
  2734 + color:#3f9b6a !important;
  2735 + border-color: #c5e1d2 !important;
  2736 + background-color: #ecf5f0 !important;
  2737 + outline: none;
  2738 + }
  2739 + ::v-deep .DelBtnHover:hover{
  2740 + color:#fff !important;
  2741 + border-color: rgb(226, 78, 90) !important;
  2742 + background-color: rgb(226, 78, 90) !important;
  2743 + outline: none;
  2744 + }
  2745 +::v-deep .el-menu-item.is-active {
  2746 + background-color: #3F9B6A !important;
  2747 +}
  2748 +::v-deep .jindutiao{
  2749 + display:flex;
  2750 + align-items:center;
  2751 + margin-bottom:15px;
  2752 + .el-progress-bar__outer{
  2753 + border-radius:0px;
  2754 + }
  2755 + .el-progress-bar__inner{
  2756 + border-radius:0px;
  2757 + }
  2758 +}
  2759 +
  2760 +</style>
yanshouban/src/views/atmosphere/atmosphereSp.vue
@@ -61,7 +61,7 @@ @@ -61,7 +61,7 @@
61 </el-table-column> 61 </el-table-column>
62 <el-table-column label="创建时间" prop="createDate" min-width="250" > 62 <el-table-column label="创建时间" prop="createDate" min-width="250" >
63 </el-table-column> 63 </el-table-column>
64 - <el-table-column prop="createUser" label="上传人员" min-width="80"> 64 + <el-table-column prop="auditReminderTime" label="审核提醒时间" width="200">
65 65
66 </el-table-column> 66 </el-table-column>
67 <el-table-column label="操作" min-width="200"> 67 <el-table-column label="操作" min-width="200">
yanshouban/src/views/business/autd/index.vue
@@ -360,7 +360,8 @@ export default { @@ -360,7 +360,8 @@ export default {
360 contractStatus: '', //合同状态 360 contractStatus: '', //合同状态
361 dataStatus: '1', //数据状态(1.使用中 2.往期合同 3.已终止) 361 dataStatus: '1', //数据状态(1.使用中 2.往期合同 3.已终止)
362 }, //合同字段 362 }, //合同字段
363 - hefuData:[] 363 + hefuData:[],
  364 + hemiList:['earnestMoney','contractAmount','lessorName','telephone','bankAccount','tenantName','tenantTelephone','tenantBankAccount'],
364 } 365 }
365 }, 366 },
366 mounted () { 367 mounted () {
@@ -499,7 +500,8 @@ export default { @@ -499,7 +500,8 @@ export default {
499 if(this.hefuData.length !=0){ 500 if(this.hefuData.length !=0){
500 this.heForm.appendicesContract = JSON.stringify(this.hefuData[0]) 501 this.heForm.appendicesContract = JSON.stringify(this.hefuData[0])
501 } 502 }
502 - await contractAdd(this.heForm) 503 + let heinfo = this.$decryptall(this.heForm,this.hemiList)
  504 + await contractAdd(heinfo)
503 this.hetongBox = false 505 this.hetongBox = false
504 }, 506 },
505 hefuRemove() { 507 hefuRemove() {
yanshouban/src/views/business/businessList/index.vue
@@ -802,7 +802,8 @@ export default { @@ -802,7 +802,8 @@ export default {
802 }, 802 },
803 business:[], 803 business:[],
804 plan_Time:[], 804 plan_Time:[],
805 - miList:['shopPhone','shopPassword','idCardNum','emailAddress','shopAdress','legalRepresentative','chargePersonPhone','emailAddress'] 805 + miList:['shopPhone','shopPassword','idCardNum','emailAddress','shopAdress','legalRepresentative','chargePersonPhone','emailAddress','chargePersonName'],
  806 + dataIntegrity:''
806 } 807 }
807 }, 808 },
808 // 监听属性 类似于data概念 809 // 监听属性 类似于data概念
@@ -967,9 +968,8 @@ export default { @@ -967,9 +968,8 @@ export default {
967 }) 968 })
968 } else { 969 } else {
969 let newinfo = this.$decryptall(this.ruleForm,this.miList) 970 let newinfo = this.$decryptall(this.ruleForm,this.miList)
970 - let arr = [newinfo.shopPhone,newinfo.shopPassword,newinfo.idCardNum,newinfo.emailAddress,newinfo.shopAdress,newinfo.legalRepresentative,newinfo.chargePersonPhone]  
971 - arr = arr.join(',')  
972 - newinfo.dataIntegrity = this.$encrypt(arr) 971 +
  972 + newinfo.dataIntegrity = this.dataIntegrity
973 businessListUpdate(newinfo).then(res => { 973 businessListUpdate(newinfo).then(res => {
974 974
975 if (res.code === '') { 975 if (res.code === '') {
@@ -1009,9 +1009,8 @@ export default { @@ -1009,9 +1009,8 @@ export default {
1009 this.ruleForm.shopPhone = this.$decrypt(this.ruleForm.shopPhone) 1009 this.ruleForm.shopPhone = this.$decrypt(this.ruleForm.shopPhone)
1010 this.ruleForm.shopPassword = this.$decrypt(this.ruleForm.shopPassword) 1010 this.ruleForm.shopPassword = this.$decrypt(this.ruleForm.shopPassword)
1011 this.ruleForm.shopAdress = this.$decrypt(this.ruleForm.shopAdress) 1011 this.ruleForm.shopAdress = this.$decrypt(this.ruleForm.shopAdress)
1012 - this.ruleForm.dataIntegrity = this.$decrypt(this.ruleForm.dataIntegrity)  
1013 this.ruleForm.chargePersonPhone = this.$decrypt(this.ruleForm.chargePersonPhone) 1012 this.ruleForm.chargePersonPhone = this.$decrypt(this.ruleForm.chargePersonPhone)
1014 - 1013 + this.ruleForm.chargePersonName = this.$decrypt(this.ruleForm.chargePersonName)
1015 } 1014 }
1016 }, 1015 },
1017 // 编辑 1016 // 编辑
@@ -1031,10 +1030,14 @@ export default { @@ -1031,10 +1030,14 @@ export default {
1031 this.ruleForm.shopPhone = this.$decrypt(this.ruleForm.shopPhone) 1030 this.ruleForm.shopPhone = this.$decrypt(this.ruleForm.shopPhone)
1032 this.ruleForm.shopPassword = this.$decrypt(this.ruleForm.shopPassword) 1031 this.ruleForm.shopPassword = this.$decrypt(this.ruleForm.shopPassword)
1033 this.ruleForm.shopAdress = this.$decrypt(this.ruleForm.shopAdress) 1032 this.ruleForm.shopAdress = this.$decrypt(this.ruleForm.shopAdress)
1034 - this.ruleForm.dataIntegrity = this.$decrypt(this.ruleForm.dataIntegrity)  
1035 this.ruleForm.chargePersonPhone = this.$decrypt(this.ruleForm.chargePersonPhone) 1033 this.ruleForm.chargePersonPhone = this.$decrypt(this.ruleForm.chargePersonPhone)
  1034 + this.ruleForm.chargePersonName = this.$decrypt(this.ruleForm.chargePersonName)
1036 1035
1037 - 1036 +let c1 =JSON.parse((JSON.stringify(this.ruleForm)))
  1037 + let newinfo = this.$decryptall(c1,this.miList)
  1038 + let arr = [newinfo.shopPhone,newinfo.shopPassword,newinfo.idCardNum,newinfo.emailAddress,newinfo.shopAdress,newinfo.legalRepresentative,newinfo.chargePersonPhone,newinfo.chargePersonName]
  1039 + arr = arr.join(',')
  1040 + this.dataIntegrity = this.$encrypt(arr)
1038 }, 1041 },
1039 // 删除 1042 // 删除
1040 async del (row) { 1043 async del (row) {
@@ -1104,6 +1107,7 @@ export default { @@ -1104,6 +1107,7 @@ export default {
1104 item.shopAdress = this.$decrypt(item.shopAdress) 1107 item.shopAdress = this.$decrypt(item.shopAdress)
1105 item.legalRepresentative = this.$decrypt(item.legalRepresentative) 1108 item.legalRepresentative = this.$decrypt(item.legalRepresentative)
1106 item.chargePersonPhone = this.$decrypt(item.chargePersonPhone) 1109 item.chargePersonPhone = this.$decrypt(item.chargePersonPhone)
  1110 + item.chargePersonName = this.$decrypt(item.chargePersonName)
1107 }) 1111 })
1108 1112
1109 }, 1113 },
yanshouban/src/views/customer/icManagement/index.vue
@@ -459,7 +459,8 @@ @@ -459,7 +459,8 @@
459 trigger: 'change' 459 trigger: 'change'
460 }, ], 460 }, ],
461 }, 461 },
462 - miList:['unifiedSocialCreditCode','legalRepresentative','address','emailAddress','contactName','contactPhone'] 462 + miList:['unifiedSocialCreditCode','legalRepresentative','address','emailAddress','contactName','contactPhone'],
  463 + dataIntegrity:''
463 } 464 }
464 }, 465 },
465 466
@@ -521,9 +522,7 @@ @@ -521,9 +522,7 @@
521 this.secondData.businessEndDate = this.businessStartDate[1] 522 this.secondData.businessEndDate = this.businessStartDate[1]
522 } 523 }
523 let newinfo = this.$decryptall(this.secondData,this.miList) 524 let newinfo = this.$decryptall(this.secondData,this.miList)
524 - let arr = [newinfo.unifiedSocialCreditCode,newinfo.legalRepresentative,newinfo.address,newinfo.emailAddress,newinfo.contactName,newinfo.contactPhone]  
525 - arr = arr.join(',')  
526 - newinfo.dataIntegrity = this.$encrypt(arr) 525 + newinfo.dataIntegrity = this.dataIntegrity
527 await icManEdit(newinfo); 526 await icManEdit(newinfo);
528 this.detbox = false 527 this.detbox = false
529 this.getAll(); 528 this.getAll();
@@ -537,14 +536,23 @@ @@ -537,14 +536,23 @@
537 bianjilist(item) { 536 bianjilist(item) {
538 this.detbox = true; 537 this.detbox = true;
539 this.secondData = item; 538 this.secondData = item;
  539 + let c1 =JSON.parse((JSON.stringify(this.secondData)))
540 this.businessStartDate[0] = item.businessStartDate 540 this.businessStartDate[0] = item.businessStartDate
541 this.businessStartDate[1] = item.businessEndDate 541 this.businessStartDate[1] = item.businessEndDate
542 this.msgid = item.id; 542 this.msgid = item.id;
  543 + let newinfo = this.$decryptall(c1,this.miList)
  544 + let arr = [newinfo.contactPhone,newinfo.idCardNumber,newinfo.unifiedSocialCreditCode,newinfo.legalRepresentative,newinfo.address,newinfo.emailAddress]
  545 + arr = arr.join(',')
  546 + this.dataIntegrity = this.$encrypt(arr)
543 if (this.edit) { 547 if (this.edit) {
544 this.edit = false; 548 this.edit = false;
545 } 549 }
546 }, 550 },
547 tijiao(item,val){ 551 tijiao(item,val){
  552 + let c1 =JSON.parse((JSON.stringify(item)))
  553 + let newinfo = this.$decryptall(c1,this.miList)
  554 + let arr = [newinfo.contactPhone,newinfo.idCardNumber,newinfo.unifiedSocialCreditCode,newinfo.legalRepresentative,newinfo.address,newinfo.emailAddress]
  555 + arr = arr.join(',')
548 if(val == 2){ 556 if(val == 2){
549 const h = this.$createElement; 557 const h = this.$createElement;
550 this.$msgbox({ 558 this.$msgbox({
@@ -559,7 +567,7 @@ @@ -559,7 +567,7 @@
559 customClass:'oe-dialog-btn', 567 customClass:'oe-dialog-btn',
560 beforeClose: (action, instance, done) => { 568 beforeClose: (action, instance, done) => {
561 if (action === 'confirm') { 569 if (action === 'confirm') {
562 - icManEdit({id: item.id,auditStatus:val}).then(res=>{ 570 + icManEdit({id: item.id,auditStatus:val,dataIntegrity:newinfo.dataIntegrity}).then(res=>{
563 this.$message({ 571 this.$message({
564 message: '提交成功', 572 message: '提交成功',
565 type: 'success' 573 type: 'success'
@@ -586,7 +594,7 @@ @@ -586,7 +594,7 @@
586 customClass:'oe-dialog-btn', 594 customClass:'oe-dialog-btn',
587 beforeClose: (action, instance, done) => { 595 beforeClose: (action, instance, done) => {
588 if (action === 'confirm') { 596 if (action === 'confirm') {
589 - icManEdit({id: item.id,auditStatus:val}).then(res=>{ 597 + icManEdit({id: item.id,auditStatus:val,dataIntegrity:newinfo.dataIntegrity}).then(res=>{
590 this.$message({ 598 this.$message({
591 message: '撤回成功', 599 message: '撤回成功',
592 type: 'success' 600 type: 'success'
@@ -617,7 +625,9 @@ @@ -617,7 +625,9 @@
617 }, 625 },
618 // 查询 626 // 查询
619 async onSubmit() { 627 async onSubmit() {
620 - const res = await icManAll(this.formSel) 628 + let c1 =JSON.parse((JSON.stringify(this.formSel)))
  629 + c1.contactName = this.$encrypt(c1.contactName)
  630 + const res = await icManAll(c1)
621 this.tableData = res.data.content 631 this.tableData = res.data.content
622 this.total = res.data.content.length 632 this.total = res.data.content.length
623 this.tableData.map(res=>{ 633 this.tableData.map(res=>{
@@ -756,6 +766,10 @@ let newinfo = this.$decryptall(this.ruleForm,this.miList) @@ -756,6 +766,10 @@ let newinfo = this.$decryptall(this.ruleForm,this.miList)
756 icManDel({ 766 icManDel({
757 id: item.id 767 id: item.id
758 }).then(res => { 768 }).then(res => {
  769 + this.$message({
  770 + message: '删除成功',
  771 + type: 'success'
  772 + })
759 this.getAll() 773 this.getAll()
760 done(); 774 done();
761 }) 775 })
yanshouban/src/views/customer/icReview/index.vue
@@ -840,7 +840,9 @@ export default { @@ -840,7 +840,9 @@ export default {
840 }, 840 },
841 // 查询 841 // 查询
842 async onSubmit() { 842 async onSubmit() {
843 - const res = await icManAll(this.formSel) 843 + let c1 =JSON.parse((JSON.stringify(this.formSel)))
  844 + c1.contactName = this.$encrypt(c1.contactName)
  845 + const res = await icManAll(c1)
844 this.tableData = res.data.content 846 this.tableData = res.data.content
845 this.total = res.data.content.length 847 this.total = res.data.content.length
846 this.tableData.map(res=>{ 848 this.tableData.map(res=>{
yanshouban/src/views/customer/rsaManagement/index.vue
@@ -763,7 +763,8 @@ @@ -763,7 +763,8 @@
763 pageNumber:1, 763 pageNumber:1,
764 pageSize:10, 764 pageSize:10,
765 }, 765 },
766 - miList:['contactPhone','idCardNumber','unifiedSocialCreditCode','legalRepresentative','address','emailAddress'] 766 + miList:['contactPhone','idCardNumber','unifiedSocialCreditCode','legalRepresentative','address','emailAddress'],
  767 + dataIntegrity:''
767 } 768 }
768 }, 769 },
769 770
@@ -832,9 +833,7 @@ @@ -832,9 +833,7 @@
832 this.secondData.rentalPeriodEndTime = this.rentalPeriodTime[1] 833 this.secondData.rentalPeriodEndTime = this.rentalPeriodTime[1]
833 } 834 }
834 let newinfo = this.$decryptall(this.secondData,this.miList) 835 let newinfo = this.$decryptall(this.secondData,this.miList)
835 - let arr = [newinfo.contactPhone,newinfo.idCardNumber,newinfo.unifiedSocialCreditCode,newinfo.legalRepresentative,newinfo.address,newinfo.emailAddress]  
836 - arr = arr.join(',')  
837 - newinfo.dataIntegrity = this.$encrypt(arr) 836 + newinfo.dataIntegrity = this.dataIntegrity
838 const res = await rsaManEdit(newinfo) 837 const res = await rsaManEdit(newinfo)
839 this.detbox = false; 838 this.detbox = false;
840 this.getAll(); 839 this.getAll();
@@ -848,24 +847,37 @@ let newinfo = this.$decryptall(this.secondData,this.miList) @@ -848,24 +847,37 @@ let newinfo = this.$decryptall(this.secondData,this.miList)
848 // 编辑 847 // 编辑
849 bianjilist(item) { 848 bianjilist(item) {
850 this.secondData = item 849 this.secondData = item
  850 + let c1 =JSON.parse((JSON.stringify(this.secondData)))
851 this.$set(this.idCardValidStart, 0, item.idCardValidStart) 851 this.$set(this.idCardValidStart, 0, item.idCardValidStart)
852 this.$set(this.idCardValidStart, 1, item.idCardValidEnd) 852 this.$set(this.idCardValidStart, 1, item.idCardValidEnd)
853 this.$set(this.businessStartTime, 0, item.businessStartTime) 853 this.$set(this.businessStartTime, 0, item.businessStartTime)
854 this.$set(this.businessStartTime, 1, item.businessEndTime) 854 this.$set(this.businessStartTime, 1, item.businessEndTime)
855 this.$set(this.rentalPeriodTime, 0, item.rentalPeriodStartTime) 855 this.$set(this.rentalPeriodTime, 0, item.rentalPeriodStartTime)
856 this.$set(this.rentalPeriodTime, 1, item.rentalPeriodEndTime) 856 this.$set(this.rentalPeriodTime, 1, item.rentalPeriodEndTime)
857 - this.msgid = item.id; 857 + this.msgid = item.id
  858 + let newinfo = this.$decryptall(c1,this.miList)
  859 + let arr = [newinfo.contactPhone,newinfo.idCardNumber,newinfo.unifiedSocialCreditCode,newinfo.legalRepresentative,newinfo.address,newinfo.emailAddress]
  860 + arr = arr.join(',')
  861 + this.dataIntegrity = this.$encrypt(arr)
858 this.detbox = true 862 this.detbox = true
859 if (this.edit) { 863 if (this.edit) {
860 this.edit = false; 864 this.edit = false;
861 } 865 }
862 }, 866 },
863 async chehui(item){ 867 async chehui(item){
864 - await rsaManEdit({id:item.id,auditStatus:'1'}) 868 + let c1 =JSON.parse((JSON.stringify(item)))
  869 + let newinfo = this.$decryptall(c1,this.miList)
  870 + let arr = [newinfo.contactPhone,newinfo.idCardNumber,newinfo.unifiedSocialCreditCode,newinfo.legalRepresentative,newinfo.address,newinfo.emailAddress]
  871 + arr = arr.join(',')
  872 + await rsaManEdit({id:item.id,auditStatus:'1',dataIntegrity:newinfo.dataIntegrity})
865 this.getAll() 873 this.getAll()
866 }, 874 },
867 async getshen(item){ 875 async getshen(item){
868 - await rsaManEdit({id:item.id,auditStatus:'2'}) 876 + let c1 =JSON.parse((JSON.stringify(item)))
  877 + let newinfo = this.$decryptall(c1,this.miList)
  878 + let arr = [newinfo.contactPhone,newinfo.idCardNumber,newinfo.unifiedSocialCreditCode,newinfo.legalRepresentative,newinfo.address,newinfo.emailAddress]
  879 + arr = arr.join(',')
  880 + await rsaManEdit({id:item.id,auditStatus:'2',dataIntegrity:newinfo.dataIntegrity})
869 this.getAll() 881 this.getAll()
870 }, 882 },
871 883
yanshouban/src/views/customer/rsaReview/index.vue
@@ -893,7 +893,9 @@ export default { @@ -893,7 +893,9 @@ export default {
893 auditStatus:'' 893 auditStatus:''
894 }, 894 },
895 shenheData:[], 895 shenheData:[],
896 - rentalPeriodTime:[] 896 + rentalPeriodTime:[],
  897 + dataIntegrity:'',
  898 + miList:['contactPhone','idCardNumber','unifiedSocialCreditCode','legalRepresentative','address','emailAddress'],
897 }; 899 };
898 }, 900 },
899 901
@@ -975,12 +977,17 @@ export default { @@ -975,12 +977,17 @@ export default {
975 this.idCardValidStart =[] 977 this.idCardValidStart =[]
976 this.businessStartTime =[] 978 this.businessStartTime =[]
977 this.secondData = item 979 this.secondData = item
  980 + let c1 =JSON.parse((JSON.stringify(item)))
978 this.$set(this.idCardValidStart, 0, item.idCardValidStart) 981 this.$set(this.idCardValidStart, 0, item.idCardValidStart)
979 this.$set(this.idCardValidStart, 1, item.idCardValidEnd) 982 this.$set(this.idCardValidStart, 1, item.idCardValidEnd)
980 this.$set(this.businessStartTime, 0, item.businessStartTime) 983 this.$set(this.businessStartTime, 0, item.businessStartTime)
981 this.$set(this.businessStartTime, 1, item.businessEndTime) 984 this.$set(this.businessStartTime, 1, item.businessEndTime)
982 this.$set(this.rentalPeriodTime, 0, item.rentalPeriodStartTime) 985 this.$set(this.rentalPeriodTime, 0, item.rentalPeriodStartTime)
983 this.$set(this.rentalPeriodTime, 1, item.rentalPeriodEndTime) 986 this.$set(this.rentalPeriodTime, 1, item.rentalPeriodEndTime)
  987 + let newinfo = this.$decryptall(c1,this.miList)
  988 + let arr = [newinfo.contactPhone,newinfo.idCardNumber,newinfo.unifiedSocialCreditCode,newinfo.legalRepresentative,newinfo.address,newinfo.emailAddress]
  989 + arr = arr.join(',')
  990 + this.dataIntegrity = this.$encrypt(arr)
984 this.actSpye = true 991 this.actSpye = true
985 }, 992 },
986 993
@@ -1034,9 +1041,9 @@ export default { @@ -1034,9 +1041,9 @@ export default {
1034 }, 1041 },
1035 async OAshen(){ 1042 async OAshen(){
1036 if(this.liuYe == '1'){ 1043 if(this.liuYe == '1'){
1037 - await rsaManEdit({id:this.secondData.id,auditStatus:'3'}) 1044 + await rsaManEdit({id:this.secondData.id,auditStatus:'3',dataIntegrity:this.dataIntegrity})
1038 }else{ 1045 }else{
1039 - await rsaManEdit({id:this.secondData.id,auditStatus:'4'}) 1046 + await rsaManEdit({id:this.secondData.id,auditStatus:'4',dataIntegrity:this.dataIntegrity})
1040 } 1047 }
1041 this.Liunie = false 1048 this.Liunie = false
1042 this.actSpye = false 1049 this.actSpye = false
yanshouban/src/views/customer/yixiang/index.vue
@@ -42,39 +42,80 @@ @@ -42,39 +42,80 @@
42 @click="addbuss">新增</el-button> 42 @click="addbuss">新增</el-button>
43 </div> 43 </div>
44 <!-- 表格 --> 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> 45 +
  46 + <div>招商意向信息列表</div>
  47 + <el-table :data="
  48 + tableData.slice(
  49 + (currentPage - 1) * pageSize,
  50 + currentPage * pageSize
  51 + )
  52 + " :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}">
  53 + <el-table-column label="序号" min-width="80">
  54 + <template slot-scope="scope">
  55 + {{scope.$index+1}}
  56 + </template>
  57 + </el-table-column>
  58 + <el-table-column label="意向客户名称" prop="intentCustomerName" min-width="150" />
  59 + <el-table-column label="意向资源名称" prop="intentionalStoreName" min-width="150" />
  60 + <el-table-column label="编号" prop="id" min-width="150" />
  61 + <el-table-column label="意向资源类型" prop="intentionalBusinessType" min-width="150" />
  62 + <el-table-column label="开始日期" prop="businessStartTime" min-width="200" />
  63 + <el-table-column label="意向租期" prop="leaseTerm" min-width="150" />
  64 + <el-table-column label="意向租金单价(元/平方)" prop="rent" min-width="250" />
  65 +
  66 + <el-table-column label="操作" min-width="350">
  67 + <template slot-scope="scope">
  68 + <div class="tableBtn greens" @click="handleEditForm(scope.row)">
  69 + 查看
  70 + </div>
  71 + <div class="tableBtn greens" @click="bianjilist(scope.row)" >
  72 + 编辑
  73 + </div>
  74 + <div class="tableBtn greens" @click="pipei(scope.row)" >
  75 + 一键匹配
  76 + </div>
  77 + </template>
  78 + </el-table-column>
  79 + </el-table>
  80 +
  81 +
  82 +
  83 + <div style="padding: 20px 0;">用户信誉库列表</div>
  84 + <el-table :data="
  85 + tableData.slice(
  86 + (currentPage - 1) * pageSize,
  87 + currentPage * pageSize
  88 + )
  89 + " :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}">
  90 + <el-table-column label="序号" min-width="100">
  91 + <template slot-scope="scope">
  92 + {{scope.$index+1}}
  93 + </template>
  94 + </el-table-column>
  95 + <el-table-column label="意向客户名称" prop="intentCustomerName" min-width="150" />
  96 + <el-table-column label="意向资源名称" prop="intentionalStoreName" min-width="150" />
  97 + <el-table-column label="当前评级" prop="customerLevel" min-width="120">
  98 + </el-table-column>
  99 + <el-table-column label="更新时间" prop="temporaryPavingPlanName" min-width="200" />
  100 + <el-table-column label="操作" min-width="200">
  101 + <template slot-scope="scope">
  102 + <div class="tableBtn greens" @click="handleEditForm(scope.row)">
  103 + 详情
  104 + </div>
  105 + <div class="tableBtn greens" @click="pingji(scope.row)">
  106 + 评级
  107 + </div>
  108 +
  109 +
  110 + </template>
  111 + </el-table-column>
  112 + </el-table>
  113 +
  114 +<div class="fenye">
  115 + <el-pagination class="pagination" :hide-on-single-page="flag" background small :current-page="currentPage"
  116 + layout="prev, pager, next,total" :total="total" @size-change="handleSizeChange"
  117 + @current-change="handleCurrentChange" />
  118 + </div>
78 <!-- 详情框 :visible.sync="detbox" --> 119 <!-- 详情框 :visible.sync="detbox" -->
79 <!-- <div v-show="detbox" class="dialog_css_Xq " style="padding: 0;width:85%"> --> 120 <!-- <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 121 <el-dialog :visible.sync="detbox" custom-class="tongyong_css" style="padding: 0" width="55%" center
@@ -613,13 +654,50 @@ @@ -613,13 +654,50 @@
613 </div> 654 </div>
614 </el-dialog> --> 655 </el-dialog> -->
615 </el-dialog> 656 </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> 657 +
621 </div> 658 </div>
622 </div> 659 </div>
  660 + <el-dialog :visible.sync="peiPingShow" custom-class="tongyong_css" style="padding: 0" width="65%" center
  661 + :close-on-click-modal="false" class="dialog_css_Xq" :show-close="false">
  662 + <div style="
  663 + background-color: #fafafa;
  664 + border: 1px solid #eaeaea;
  665 + height: 42px;
  666 + width: 100%;
  667 + margin-bottom: 20px;
  668 + padding: 0 20px;
  669 + line-height: 42px;
  670 + ">
  671 + 评级
  672 + </div>
  673 +
  674 +
  675 +
  676 + <div style="padding: 0 20px 20px 20px">
  677 + <el-form ref="peiPing" :model="peiPing" label-width="130px">
  678 +
  679 +
  680 + <el-form-item label="评级" prop="isLegalPerson">
  681 + <el-select v-model="peiPing.customerLevel" placeholder="请选择" style="width:100%">
  682 + <el-option label="A" value="A" />
  683 + <el-option label="B" value="B" />
  684 + <el-option label="C" value="C" />
  685 + </el-select>
  686 + </el-form-item>
  687 +
  688 + </el-form>
  689 +
  690 +
  691 + </div>
  692 + <span slot="footer" class="dialog-footer">
  693 + <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;"
  694 + @click="peiPingShow=false">取 消</el-button>
  695 + <el-button style="background-color: #3F9B6A;color: #fff" @click="peiPingChenk">确
  696 + 定</el-button>
  697 + </span>
  698 +
  699 +
  700 + </el-dialog>
623 </div> 701 </div>
624 </template> 702 </template>
625 703
@@ -735,7 +813,14 @@ @@ -735,7 +813,14 @@
735     }, 813     },
736 pageNumber:1, 814 pageNumber:1,
737 pageSize:10, 815 pageSize:10,
738 - } 816 + },
  817 + miList:['contactPhone','idCardNumber','unifiedSocialCreditCode','legalRepresentative','address','emailAddress'],
  818 + dataIntegrity:'',
  819 + peiPing:{
  820 + customerLevel:'',
  821 + id:''
  822 + },
  823 + peiPingShow:false,
739 } 824 }
740 }, 825 },
741 826
@@ -896,6 +981,7 @@ async getshen(item){ @@ -896,6 +981,7 @@ async getshen(item){
896 this.ggXin = true; 981 this.ggXin = true;
897 this.getAll(); 982 this.getAll();
898 }, 983 },
  984 +
899 // 新增确定 985 // 新增确定
900 async addCheck() { 986 async addCheck() {
901 if (this.idCardValidStart.length != 0) { 987 if (this.idCardValidStart.length != 0) {
@@ -1041,6 +1127,22 @@ async getshen(item){ @@ -1041,6 +1127,22 @@ async getshen(item){
1041 }, 1127 },
1042 this.pipData = [] 1128 this.pipData = []
1043 }, 1129 },
  1130 + pingji(item){
  1131 + this.peiPing.id = item.id
  1132 + this.peiPing.customerLevel = item.customerLevel
  1133 + let c1 =JSON.parse((JSON.stringify(item)))
  1134 + let newinfo = this.$decryptall(c1,this.miList)
  1135 + let arr = [newinfo.contactPhone,newinfo.idCardNumber,newinfo.unifiedSocialCreditCode,newinfo.legalRepresentative,newinfo.address,newinfo.emailAddress]
  1136 + arr = arr.join(',')
  1137 + this.peiPing.dataIntegrity = this.$encrypt(arr)
  1138 + this.peiPingShow = true
  1139 + },
  1140 + async peiPingChenk(){
  1141 + await rsaManEdit(this.peiPing)
  1142 + this.getAll()
  1143 + this.peiPingShow = false
  1144 +
  1145 + },
1044 } 1146 }
1045 } 1147 }
1046 </script> 1148 </script>
yanshouban/src/views/detect/addziyuan.vue
@@ -158,6 +158,16 @@ @@ -158,6 +158,16 @@
158 </el-col> 158 </el-col>
159 </el-row> 159 </el-row>
160 <el-row :gutter="20"> 160 <el-row :gutter="20">
  161 + <el-col :span="12">
  162 + <el-form-item label="商铺业态" prop="commercialForm">
  163 + <el-select v-model="ruleForm.commercialForm" placeholder="请选择" style="margin-top:5px;width: 100%;">
  164 + <el-option label="商超" value="商超"></el-option>
  165 + </el-select>
  166 + </el-form-item>
  167 + </el-col>
  168 +
  169 + </el-row>
  170 + <el-row :gutter="20">
161 <el-col :span="24"> 171 <el-col :span="24">
162 <el-form-item label="地图标点" prop="mapPunctuation"> 172 <el-form-item label="地图标点" prop="mapPunctuation">
163 <div style="width: 100%;height: 300px;border: 1px solid #3F9B6A;" v-if="showAdd"> 173 <div style="width: 100%;height: 300px;border: 1px solid #3F9B6A;" v-if="showAdd">
@@ -275,6 +285,12 @@ @@ -275,6 +285,12 @@
275 </el-input> 285 </el-input>
276 </el-form-item> 286 </el-form-item>
277 </el-col> 287 </el-col>
  288 + <el-col :span="12">
  289 + <el-form-item label="场地编号" prop="venueSpaceNumber">
  290 + <el-input v-model="ruleForm.venueSpaceNumber" disabled placeholder="将根据类型自动为资源编号"
  291 + style="margin-top:5px;"></el-input>
  292 + </el-form-item>
  293 + </el-col>
278 </el-row> 294 </el-row>
279 <el-row :gutter="20"> 295 <el-row :gutter="20">
280 <el-col :span="24"> 296 <el-col :span="24">
@@ -572,6 +588,7 @@ @@ -572,6 +588,7 @@
572 belongingRegion: '', 588 belongingRegion: '',
573 belongingDepartment: '', 589 belongingDepartment: '',
574 head: '', 590 head: '',
  591 + commercialForm:'',
575 detailedLocation: '', 592 detailedLocation: '',
576 mapPunctuation: '', 593 mapPunctuation: '',
577 shopDescription: '', 594 shopDescription: '',
@@ -755,6 +772,7 @@ @@ -755,6 +772,7 @@
755 belongingRegion: '', 772 belongingRegion: '',
756 belongingDepartment: '', 773 belongingDepartment: '',
757 head: '', 774 head: '',
  775 + commercialForm:'',
758 detailedLocation: '', 776 detailedLocation: '',
759 mapPunctuation: '', 777 mapPunctuation: '',
760 shopDescription: '', 778 shopDescription: '',
@@ -874,6 +892,7 @@ @@ -874,6 +892,7 @@
874 belongingRegion: '', 892 belongingRegion: '',
875 belongingDepartment: '', 893 belongingDepartment: '',
876 head: '', 894 head: '',
  895 + commercialForm:'',
877 detailedLocation: '', 896 detailedLocation: '',
878 mapPunctuation: '', 897 mapPunctuation: '',
879 shopDescription: '', 898 shopDescription: '',
@@ -895,6 +914,7 @@ @@ -895,6 +914,7 @@
895 detailedLocation: '',//详细位置 914 detailedLocation: '',//详细位置
896 mapMarker: '',//地图标点 915 mapMarker: '',//地图标点
897 description: '',//场地描述 916 description: '',//场地描述
  917 + venueSpaceNumber:'',
898 planningDrawing: '',//规划图纸 918 planningDrawing: '',//规划图纸
899 displayImage: '',//展示主图 919 displayImage: '',//展示主图
900 otherMedia: '', //其他图片视频 920 otherMedia: '', //其他图片视频
yanshouban/src/views/detect/admap.vue
@@ -63,7 +63,7 @@ @@ -63,7 +63,7 @@
63 :file-list="daoData" 63 :file-list="daoData"
64 :auto-upload="true" 64 :auto-upload="true"
65 :show-file-list="false"> 65 :show-file-list="false">
66 - <el-button style="background-color: #fff;color: #3F9B6A;border: 1px solid #dcdfe6;" class="buttonHover">导入</el-button> 66 + <el-button style="background-color: #fff;color: #3F9B6A;border: 1px solid #dcdfe6;margin-left:15px;" class="buttonHover">导入</el-button>
67 </el-upload> 67 </el-upload>
68 </div> 68 </div>
69 <!-- 地图 --> 69 <!-- 地图 -->
@@ -142,9 +142,9 @@ @@ -142,9 +142,9 @@
142 </el-table-column> 142 </el-table-column>
143 <el-table-column prop="detailedLocation" label="详细地址" min-width="300"> 143 <el-table-column prop="detailedLocation" label="详细地址" min-width="300">
144 </el-table-column> 144 </el-table-column>
145 - <el-table-column label="商户名称" prop="actualUsableArea" min-width="150"> 145 + <el-table-column label="商户名称" prop="commercialTenantName" min-width="150">
146 </el-table-column> 146 </el-table-column>
147 - <el-table-column label="商户电话" prop="belongingDepartment" min-width="150"> 147 + <el-table-column label="商户电话" prop="commercialTenantPhone" min-width="150">
148 </el-table-column> 148 </el-table-column>
149 <el-table-column label="实际使用面积" prop="actualUsableArea" min-width="150"> 149 <el-table-column label="实际使用面积" prop="actualUsableArea" min-width="150">
150 </el-table-column> 150 </el-table-column>
@@ -152,6 +152,8 @@ @@ -152,6 +152,8 @@
152 </el-table-column> 152 </el-table-column>
153 <el-table-column label="负责人" prop="head" min-width="120"> 153 <el-table-column label="负责人" prop="head" min-width="120">
154 </el-table-column> 154 </el-table-column>
  155 + <el-table-column label="商铺业态" prop="commercialForm" min-width="120">
  156 + </el-table-column>
155 <el-table-column label="租赁状态" prop="rentalStatus" min-width="120"> 157 <el-table-column label="租赁状态" prop="rentalStatus" min-width="120">
156 <template slot-scope="scope"> 158 <template slot-scope="scope">
157 {{scope.row.rentalStatus == 0?'未租':'已租'}} 159 {{scope.row.rentalStatus == 0?'未租':'已租'}}
@@ -193,7 +195,7 @@ @@ -193,7 +195,7 @@
193 </el-table-column> 195 </el-table-column>
194 <el-table-column label="设备尺寸" prop="equipmentSize" min-width="200" v-if="activeName == 'second'"> 196 <el-table-column label="设备尺寸" prop="equipmentSize" min-width="200" v-if="activeName == 'second'">
195 </el-table-column> 197 </el-table-column>
196 - <el-table-column label="场地编号" prop="venueNumber" min-width="150" v-if="activeName == 'second'"> 198 + <el-table-column label="广告位编号" prop="advertisingSpaceNumber" min-width="150" v-if="activeName == 'second'">
197 </el-table-column> 199 </el-table-column>
198 <el-table-column label="广告尺寸" prop="dimensions" min-width="200" v-if="activeName == 'second'"> 200 <el-table-column label="广告尺寸" prop="dimensions" min-width="200" v-if="activeName == 'second'">
199 </el-table-column> 201 </el-table-column>
@@ -240,6 +242,7 @@ @@ -240,6 +242,7 @@
240 </el-table-column> 242 </el-table-column>
241 <el-table-column label="实际使用面积" min-width="6%" prop="actualArea" v-if="activeName == 'third'"> 243 <el-table-column label="实际使用面积" min-width="6%" prop="actualArea" v-if="activeName == 'third'">
242 </el-table-column> 244 </el-table-column>
  245 + <el-table-column label="场地编号" prop="venueSpaceNumber" min-width="10%" v-if="activeName == 'third'" />
243 <el-table-column label="场地类型" min-width="6%" prop="venueType" v-if="activeName == 'third'"> 246 <el-table-column label="场地类型" min-width="6%" prop="venueType" v-if="activeName == 'third'">
244 </el-table-column> 247 </el-table-column>
245 <el-table-column label="所属区域" min-width="6%" prop="district" v-if="activeName == 'third'"> 248 <el-table-column label="所属区域" min-width="6%" prop="district" v-if="activeName == 'third'">
@@ -803,7 +806,7 @@ @@ -803,7 +806,7 @@
803 style="text-align:left;border-right: 1px solid #EBEEF5;height: 42px;line-height: 42px;width: 119px;padding-left:10px;background-color:#FAFAFA"> 806 style="text-align:left;border-right: 1px solid #EBEEF5;height: 42px;line-height: 42px;width: 119px;padding-left:10px;background-color:#FAFAFA">
804 <span style="font-size: 14px;color: #000;">商铺业态</span> 807 <span style="font-size: 14px;color: #000;">商铺业态</span>
805 </div> 808 </div>
806 - <div style="height: 42px;line-height: 42px;">{{secondData.spyt}}</div> 809 + <div style="height: 42px;line-height: 42px;">{{secondData.commercialForm}}</div>
807 810
808 </el-form-item> 811 </el-form-item>
809 </el-form> 812 </el-form>
@@ -1112,7 +1115,18 @@ @@ -1112,7 +1115,18 @@
1112 </el-form-item> 1115 </el-form-item>
1113 </el-col> 1116 </el-col>
1114 </el-row> 1117 </el-row>
  1118 +<el-row :gutter="20">
  1119 + <el-col :span="12">
  1120 + <el-form-item label="商铺业态" prop="commercialForm">
  1121 + <div v-if="edit" class="duiqi">{{editbgid.commercialForm}}</div>
  1122 + <el-select v-model="ruleForm.commercialForm" placeholder="请选择" style="margin-top:5px;width: 100%;" v-else>
  1123 + <el-option label="商超" value="商超"></el-option>
  1124 + </el-select>
  1125 + </el-input>
  1126 + </el-form-item>
  1127 + </el-col>
1115 1128
  1129 + </el-row>
1116 <el-row :gutter="20"> 1130 <el-row :gutter="20">
1117 <el-col :span="24"> 1131 <el-col :span="24">
1118 <el-form-item label="地图标点" prop="mapPunctuation"> 1132 <el-form-item label="地图标点" prop="mapPunctuation">
@@ -1238,6 +1252,12 @@ @@ -1238,6 +1252,12 @@
1238 maxlength="100" v-else /> 1252 maxlength="100" v-else />
1239 </el-form-item> 1253 </el-form-item>
1240 </el-col> 1254 </el-col>
  1255 + <el-col :span="12">
  1256 + <el-form-item label="场地编号" prop="venueSpaceNumber">
  1257 + <div v-if="edit" class="duiqi">{{editbgid.venueSpaceNumber}}</div>
  1258 + </el-form-item>
  1259 + </el-col>
  1260 +
1241 </el-row> 1261 </el-row>
1242 <el-row :gutter="20"> 1262 <el-row :gutter="20">
1243 <el-col :span="24"> 1263 <el-col :span="24">
@@ -1489,6 +1509,28 @@ @@ -1489,6 +1509,28 @@
1489 <div class="titles"> 1509 <div class="titles">
1490 历史租赁信息 1510 历史租赁信息
1491 </div> 1511 </div>
  1512 + <div style="margin:20px 0;">
  1513 + <el-table :data="lishiData"
  1514 + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" tooltip-effect="dark custom-tooltip-effect">
  1515 + <el-table-column label="承租人" min-width="80" prop="tenantName">
  1516 +
  1517 + </el-table-column>
  1518 + <el-table-column label="租赁期限" prop="leaseStartDate" min-width="200" show-overflow-tooltip>
  1519 + </el-table-column>
  1520 + <el-table-column label="经营类型" prop="houseNumber" min-width="80" show-overflow-tooltip>
  1521 +
  1522 + </el-table-column>
  1523 + <el-table-column label="租金/周期" prop="shopName" min-width="250" show-overflow-tooltip>
  1524 + <template slot-scope="scope">
  1525 + {{scope.row.contractAmount}}/{{scope.row.intendedLeaseTerm}}
  1526 +
  1527 + </template>
  1528 + </el-table-column>
  1529 + <el-table-column label="当前状态" prop="belongingRegion" min-width="150" show-overflow-tooltip>
  1530 + </el-table-column>
  1531 +
  1532 + </el-table>
  1533 + </div>
1492 </div> 1534 </div>
1493 </el-tab-pane> 1535 </el-tab-pane>
1494 1536
@@ -1521,13 +1563,15 @@ @@ -1521,13 +1563,15 @@
1521 changadd, 1563 changadd,
1522 changedit, 1564 changedit,
1523 changDel, 1565 changDel,
1524 - 1566 + excelAdd,
  1567 + zulxin
1525 } from '../../api/information' 1568 } from '../../api/information'
1526 import { 1569 import {
1527 getAlls as getAllMap, 1570 getAlls as getAllMap,
1528 addList as addMap, 1571 addList as addMap,
1529 delList as deleteMap, 1572 delList as deleteMap,
1530 - likeGet as likeGetMap 1573 + likeGet as likeGetMap,
  1574 + editList as ggwedit
1531 } from '../../api/map1' 1575 } from '../../api/map1'
1532 import MapContainer from "@/components/MapContainer/MapContainer" 1576 import MapContainer from "@/components/MapContainer/MapContainer"
1533 import addziyuan from "./addziyuan" 1577 import addziyuan from "./addziyuan"
@@ -1776,7 +1820,8 @@ @@ -1776,7 +1820,8 @@
1776 mapData: {}, 1820 mapData: {},
1777 fileData:[], 1821 fileData:[],
1778 uploadFileUrl: uploadUrl, // 请求地址 1822 uploadFileUrl: uploadUrl, // 请求地址
1779 -daoData:[] 1823 +daoData:[],
  1824 +lishiData:[]
1780 } 1825 }
1781 1826
1782 1827
@@ -1916,8 +1961,13 @@ daoData:[] @@ -1916,8 +1961,13 @@ daoData:[]
1916 delList({ 1961 delList({
1917 id: item.id 1962 id: item.id
1918 }).then(res => { 1963 }).then(res => {
  1964 + this.$message({
  1965 + message: '删除成功',
  1966 + type: 'success'
  1967 + })
1919 this.getAll() 1968 this.getAll()
1920 getAlls(this.pageindex).then((datas) => { 1969 getAlls(this.pageindex).then((datas) => {
  1970 +
1921 this.tableData = datas.data.content 1971 this.tableData = datas.data.content
1922 this.parentMessage = datas.data.content 1972 this.parentMessage = datas.data.content
1923 }) 1973 })
@@ -1929,6 +1979,10 @@ daoData:[] @@ -1929,6 +1979,10 @@ daoData:[]
1929 deleteMap({ 1979 deleteMap({
1930 id: item.id 1980 id: item.id
1931 }).then(res => { 1981 }).then(res => {
  1982 + this.$message({
  1983 + message: '删除成功',
  1984 + type: 'success'
  1985 + })
1932 getAllMap(this.pageindex).then((datas) => { 1986 getAllMap(this.pageindex).then((datas) => {
1933 this.tableData = datas.data.content 1987 this.tableData = datas.data.content
1934 this.parentMessage = datas.data.content 1988 this.parentMessage = datas.data.content
@@ -1942,6 +1996,10 @@ daoData:[] @@ -1942,6 +1996,10 @@ daoData:[]
1942 changDel({ 1996 changDel({
1943 id: item.id 1997 id: item.id
1944 }).then(res => { 1998 }).then(res => {
  1999 + this.$message({
  2000 + message: '删除成功',
  2001 + type: 'success'
  2002 + })
1945 changAlls(this.pageindex).then((datas) => { 2003 changAlls(this.pageindex).then((datas) => {
1946 this.tableData = datas.data.content 2004 this.tableData = datas.data.content
1947 this.parentMessage = datas.data.content 2005 this.parentMessage = datas.data.content
@@ -2005,10 +2063,14 @@ daoData:[] @@ -2005,10 +2063,14 @@ daoData:[]
2005 2063
2006 //查看点击 2064 //查看点击
2007 handleEditForm(item) { 2065 handleEditForm(item) {
  2066 +
2008 if (this.activeName == 'first') { 2067 if (this.activeName == 'first') {
2009 this.editbgid = item 2068 this.editbgid = item
2010 this.restype = '商铺' 2069 this.restype = '商铺'
2011 - 2070 + zulxin({venueNumber:item.venueNumber}).then(res=>{
  2071 + this.lishiData = res.data.content
  2072 + console.log(res)
  2073 + })
2012 this.showBian = true 2074 this.showBian = true
2013 if (typeof this.editbgid.mapPunctuation == 'string') { 2075 if (typeof this.editbgid.mapPunctuation == 'string') {
2014 this.parentMessage = JSON.parse(this.editbgid.mapPunctuation) 2076 this.parentMessage = JSON.parse(this.editbgid.mapPunctuation)
@@ -2017,7 +2079,19 @@ daoData:[] @@ -2017,7 +2079,19 @@ daoData:[]
2017 } else if (this.activeName == 'second') { 2079 } else if (this.activeName == 'second') {
2018 this.editbgid = item 2080 this.editbgid = item
2019 this.restype = '广告位' 2081 this.restype = '广告位'
2020 - 2082 + zulxin({venueNumber:item.advertisingSpaceNumber}).then(res=>{
  2083 + this.lishiData = res.data
  2084 + this.lishiData.map(item=>{
  2085 + item.earnestMoney =this.$decrypt(item.earnestMoney)
  2086 + item.contractAmount =this.$decrypt(item.contractAmount)
  2087 + item.lessorName =this.$decrypt(item.lessorName)
  2088 + item.telephone =this.$decrypt(item.telephone)
  2089 + item.bankAccount =this.$decrypt(item.bankAccount)
  2090 + item.tenantName =this.$decrypt(item.tenantName)
  2091 + item.tenantTelephone =this.$decrypt(item.tenantTelephone)
  2092 + item.tenantBankAccount =this.$decrypt(item.tenantBankAccount)
  2093 + })
  2094 + })
2021 this.showBian = true 2095 this.showBian = true
2022 if(item.advertisingType == '线上广告位'){ 2096 if(item.advertisingType == '线上广告位'){
2023 this.leixing =true 2097 this.leixing =true
@@ -2031,15 +2105,26 @@ daoData:[] @@ -2031,15 +2105,26 @@ daoData:[]
2031 } else if (this.activeName == 'third') { 2105 } else if (this.activeName == 'third') {
2032 this.editbgid = item 2106 this.editbgid = item
2033 this.restype = '场地' 2107 this.restype = '场地'
2034 - 2108 + zulxin({venueNumber:item.venueSpaceNumber}).then(res=>{
  2109 + this.lishiData = res.data
  2110 + this.lishiData.map(item=>{
  2111 + item.earnestMoney =this.$decrypt(item.earnestMoney)
  2112 + item.contractAmount =this.$decrypt(item.contractAmount)
  2113 + item.lessorName =this.$decrypt(item.lessorName)
  2114 + item.telephone =this.$decrypt(item.telephone)
  2115 + item.bankAccount =this.$decrypt(item.bankAccount)
  2116 + item.tenantName =this.$decrypt(item.tenantName)
  2117 + item.tenantTelephone =this.$decrypt(item.tenantTelephone)
  2118 + item.tenantBankAccount =this.$decrypt(item.tenantBankAccount)
  2119 + })
  2120 + })
2035 this.showBian = true 2121 this.showBian = true
2036 if (typeof this.editbgid.mapMarker == 'string') { 2122 if (typeof this.editbgid.mapMarker == 'string') {
2037 this.parentMessage = JSON.parse(this.editbgid.mapMarker) 2123 this.parentMessage = JSON.parse(this.editbgid.mapMarker)
2038 } 2124 }
2039 - } else if (this.activeName == 'fourth') {  
2040 -  
2041 } 2125 }
2042 2126
  2127 +
2043 }, 2128 },
2044 // 查看取消 2129 // 查看取消
2045 colse() { 2130 colse() {
@@ -2071,6 +2156,11 @@ daoData:[] @@ -2071,6 +2156,11 @@ daoData:[]
2071 } 2156 }
2072 } else if (this.activeName == 'second') { 2157 } else if (this.activeName == 'second') {
2073 this.editbgid = item 2158 this.editbgid = item
  2159 + this.editbgid.equipmentSizeH = ''
  2160 + this.editbgid.equipmentSizeK = ''
  2161 + this.editbgid.equipmentSizeG = ''
  2162 + this.editbgid.dimensionsH= ''
  2163 + this.editbgid.dimensionsK =''
2074 this.restype = '广告位' 2164 this.restype = '广告位'
2075 this.showBian = true 2165 this.showBian = true
2076 this.$nextTick(() => { 2166 this.$nextTick(() => {
@@ -2122,7 +2212,7 @@ daoData:[] @@ -2122,7 +2212,7 @@ daoData:[]
2122 if (this.fileData.length != 0) { 2212 if (this.fileData.length != 0) {
2123 this.editbgid.otherImageVideos = this.fileData[0].url 2213 this.editbgid.otherImageVideos = this.fileData[0].url
2124 } 2214 }
2125 - console.log(this.editbgid) 2215 +
2126 editList(this.editbgid).then(res=>{ 2216 editList(this.editbgid).then(res=>{
2127 this.edit = true 2217 this.edit = true
2128 this.showBian = false 2218 this.showBian = false
@@ -2132,7 +2222,8 @@ daoData:[] @@ -2132,7 +2222,8 @@ daoData:[]
2132 }) 2222 })
2133 }else if(this.restype =='广告位'){ 2223 }else if(this.restype =='广告位'){
2134 this.editbgid.updateDate = this.updateCurrentTime() 2224 this.editbgid.updateDate = this.updateCurrentTime()
2135 - if(this.advue.type =='实体广告位'){ 2225 +
  2226 + if(this.leixing ==false ){
2136 this.editbgid.equipmentSize = `长:${this.editbgid.equipmentSizeH} 宽:${this.editbgid.equipmentSizeK} 高:${this.editbgid.equipmentSizeG}` 2227 this.editbgid.equipmentSize = `长:${this.editbgid.equipmentSizeH} 宽:${this.editbgid.equipmentSizeK} 高:${this.editbgid.equipmentSizeG}`
2137 this.editbgid.dimensions =`长:${this.editbgid.dimensionsH} 宽:${this.editbgid.dimensionsK}` 2228 this.editbgid.dimensions =`长:${this.editbgid.dimensionsH} 宽:${this.editbgid.dimensionsK}`
2138 } 2229 }
yanshouban/src/views/detect/information.vue
@@ -56,6 +56,7 @@ @@ -56,6 +56,7 @@
56 icon="el-icon-circle-plus-outline">新增</el-button> 56 icon="el-icon-circle-plus-outline">新增</el-button>
57 </div> 57 </div>
58 <!-- 表格 --> 58 <!-- 表格 -->
  59 +
59 <el-table :data="tableData.slice((currentPage - 1) * pageSize, currentPage * pageSize)" 60 <el-table :data="tableData.slice((currentPage - 1) * pageSize, currentPage * pageSize)"
60 :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" tooltip-effect="dark custom-tooltip-effect"> 61 :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" tooltip-effect="dark custom-tooltip-effect">
61 <el-table-column label="序号" min-width="80"> 62 <el-table-column label="序号" min-width="80">
@@ -83,6 +84,8 @@ @@ -83,6 +84,8 @@
83 </el-table-column> 84 </el-table-column>
84 <el-table-column label="负责人" prop="head" min-width="120" show-overflow-tooltip> 85 <el-table-column label="负责人" prop="head" min-width="120" show-overflow-tooltip>
85 </el-table-column> 86 </el-table-column>
  87 + <el-table-column label="商铺业态" prop="commercialForm" min-width="120" show-overflow-tooltip>
  88 + </el-table-column>
86 <el-table-column label="租赁状态" prop="rentalStatus" min-width="120" show-overflow-tooltip> 89 <el-table-column label="租赁状态" prop="rentalStatus" min-width="120" show-overflow-tooltip>
87 <template slot-scope="scope"> 90 <template slot-scope="scope">
88 {{scope.row.rentalStatus=='0'?'待租':'已租'}} 91 {{scope.row.rentalStatus=='0'?'待租':'已租'}}
@@ -235,6 +238,16 @@ @@ -235,6 +238,16 @@
235 </el-col> 238 </el-col>
236 </el-row> 239 </el-row>
237 <el-row :gutter="20"> 240 <el-row :gutter="20">
  241 + <el-col :span="12">
  242 + <el-form-item label="商铺业态" prop="commercialForm">
  243 + <el-select v-model="ruleForm.commercialForm" placeholder="请选择" style="margin-top:5px;width: 100%;">
  244 + <el-option label="商超" value="商超"></el-option>
  245 + </el-select>
  246 + </el-form-item>
  247 + </el-col>
  248 +
  249 + </el-row>
  250 + <el-row :gutter="20">
238 <el-col :span="24"> 251 <el-col :span="24">
239 <el-form-item label="地图标点" prop="mapPunctuation"> 252 <el-form-item label="地图标点" prop="mapPunctuation">
240 <div style="width: 100%;height: 300px;"> 253 <div style="width: 100%;height: 300px;">
@@ -431,6 +444,18 @@ @@ -431,6 +444,18 @@
431 </el-form-item> 444 </el-form-item>
432 </el-col> 445 </el-col>
433 </el-row> 446 </el-row>
  447 +<el-row :gutter="20">
  448 + <el-col :span="12">
  449 + <el-form-item label="商铺业态" prop="commercialForm">
  450 + <div v-if="edit" class="duiqi">{{editbgid.commercialForm}}</div>
  451 + <el-select v-model="ruleForm.commercialForm" placeholder="请选择" style="margin-top:5px;width: 100%;" v-else>
  452 + <el-option label="商超" value="商超"></el-option>
  453 + </el-select>
  454 + </el-input>
  455 + </el-form-item>
  456 + </el-col>
  457 +
  458 + </el-row>
434 459
435 <el-row :gutter="20"> 460 <el-row :gutter="20">
436 <el-col :span="24"> 461 <el-col :span="24">
@@ -492,6 +517,33 @@ @@ -492,6 +517,33 @@
492 <div class="titles"> 517 <div class="titles">
493 历史租赁信息 518 历史租赁信息
494 </div> 519 </div>
  520 + <div style="margin:20px 0;">
  521 + <el-table :data="lishiData"
  522 + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" tooltip-effect="dark custom-tooltip-effect">
  523 + <el-table-column label="承租人" min-width="80" prop="tenantName">
  524 +
  525 + </el-table-column>
  526 + <el-table-column label="租赁期限" prop="leaseStartDate" min-width="200" show-overflow-tooltip>
  527 + </el-table-column>
  528 + <el-table-column label="经营类型" prop="houseNumber" min-width="80" show-overflow-tooltip>
  529 +
  530 + </el-table-column>
  531 + <el-table-column label="租金/周期" prop="shopName" min-width="250" show-overflow-tooltip>
  532 +<template slot-scope="scope">
  533 + {{scope.row.contractAmount}}/{{scope.row.intendedLeaseTerm}}
  534 +
  535 + </template>
  536 + </el-table-column>
  537 + <el-table-column label="当前状态" prop="belongingRegion" min-width="150" show-overflow-tooltip>
  538 + </el-table-column>
  539 +
  540 + <!-- <el-table-column label="操作" min-width="160" fixed="right">
  541 + <template slot-scope="scope">
  542 + <div @click="handleEditForm(scope.row)" class="tableBtn greens">查看</div>
  543 + </template>
  544 + </el-table-column> -->
  545 + </el-table>
  546 + </div>
495 </div> 547 </div>
496 </el-tab-pane> 548 </el-tab-pane>
497 <!-- <el-tab-pane label="租赁信息" name="third" v-if="edit"> 549 <!-- <el-tab-pane label="租赁信息" name="third" v-if="edit">
@@ -544,7 +596,8 @@ @@ -544,7 +596,8 @@
544 delList, 596 delList,
545 likeGet, 597 likeGet,
546 lvdaoduan, 598 lvdaoduan,
547 - gongyuan 599 + gongyuan,
  600 + zulxin
548 } from '../../api/information'; 601 } from '../../api/information';
549 import { 602 import {
550 getToken, 603 getToken,
@@ -598,6 +651,7 @@ @@ -598,6 +651,7 @@
598 belongingRegion: '', 651 belongingRegion: '',
599 belongingDepartment: '', 652 belongingDepartment: '',
600 head: '', 653 head: '',
  654 + commercialForm:'',
601 detailedLocation: '', 655 detailedLocation: '',
602 mapPunctuation: '', 656 mapPunctuation: '',
603 shopDescription: '', 657 shopDescription: '',
@@ -645,11 +699,6 @@ @@ -645,11 +699,6 @@
645 message: '请输入详细位置', 699 message: '请输入详细位置',
646 trigger: 'blur' 700 trigger: 'blur'
647 }, ], 701 }, ],
648 - displayMainImage: [{  
649 - required: true,  
650 - message: '请上传主图',  
651 - trigger: 'blur'  
652 - }, ],  
653 belongingGreenwaySection: [{ 702 belongingGreenwaySection: [{
654 required: true, 703 required: true,
655 message: '请选择所属绿道段', 704 message: '请选择所属绿道段',
@@ -664,7 +713,8 @@ @@ -664,7 +713,8 @@
664 parentMessage: {}, 713 parentMessage: {},
665 lvdaoList: [], 714 lvdaoList: [],
666 gongyuanList: [], 715 gongyuanList: [],
667 - biangongyuanList: [] 716 + biangongyuanList: [],
  717 + lishiData:[]
668 } 718 }
669 }, 719 },
670 components: { 720 components: {
@@ -735,6 +785,7 @@ @@ -735,6 +785,7 @@
735 }, 785 },
736 //查看编辑 786 //查看编辑
737 bianji() { 787 bianji() {
  788 +
738 if (this.edit) { 789 if (this.edit) {
739 this.edit = false 790 this.edit = false
740 791
@@ -745,6 +796,7 @@ @@ -745,6 +796,7 @@
745 this.detbox = false 796 this.detbox = false
746 this.editbgid = item 797 this.editbgid = item
747 this.parentMessage = JSON.parse(item.mapPunctuation) 798 this.parentMessage = JSON.parse(item.mapPunctuation)
  799 + console.log(item)
748 const fileMsg = { 800 const fileMsg = {
749 name: '文件', 801 name: '文件',
750 url: item.otherImageVideos 802 url: item.otherImageVideos
@@ -833,6 +885,19 @@ @@ -833,6 +885,19 @@
833 //查看点击 885 //查看点击
834 handleEditForm(item) { 886 handleEditForm(item) {
835 887
  888 + zulxin({venueNumber:item.venueNumber}).then(res=>{
  889 + this.lishiData = res.data
  890 + this.lishiData.map(item=>{
  891 + item.earnestMoney =this.$decrypt(item.earnestMoney)
  892 + item.contractAmount =this.$decrypt(item.contractAmount)
  893 + item.lessorName =this.$decrypt(item.lessorName)
  894 + item.telephone =this.$decrypt(item.telephone)
  895 + item.bankAccount =this.$decrypt(item.bankAccount)
  896 + item.tenantName =this.$decrypt(item.tenantName)
  897 + item.tenantTelephone =this.$decrypt(item.tenantTelephone)
  898 + item.tenantBankAccount =this.$decrypt(item.tenantBankAccount)
  899 + })
  900 + })
836 this.editbgid = item 901 this.editbgid = item
837 this.parentMessage = JSON.parse(item.mapPunctuation) 902 this.parentMessage = JSON.parse(item.mapPunctuation)
838 this.detbox = false 903 this.detbox = false
@@ -866,6 +931,7 @@ @@ -866,6 +931,7 @@
866 belongingRegion: '', 931 belongingRegion: '',
867 belongingDepartment: '', 932 belongingDepartment: '',
868 head: '', 933 head: '',
  934 + commercialForm:'',
869 detailedLocation: '', 935 detailedLocation: '',
870 mapPunctuation: '', 936 mapPunctuation: '',
871 shopDescription: '', 937 shopDescription: '',
yanshouban/src/views/detect/map.vue
@@ -529,17 +529,43 @@ @@ -529,17 +529,43 @@
529 </div> 529 </div>
530 </div> 530 </div>
531 </el-tab-pane> 531 </el-tab-pane>
532 - <el-tab-pane label="招商方案信息" name="second" v-if="edit"> 532 + <!-- <el-tab-pane label="招商方案信息" name="second" v-if="edit">
533 <div style="margin-top: 30px;" class="editcss"> 533 <div style="margin-top: 30px;" class="editcss">
534 <div class="titles"> 534 <div class="titles">
535 招商方案信息 535 招商方案信息
536 </div> 536 </div>
537 </div> 537 </div>
538 - </el-tab-pane>  
539 - <el-tab-pane label="租赁信息" name="third" v-if="edit"> 538 + </el-tab-pane> -->
  539 + <el-tab-pane label="历史租赁信息" name="third" v-if="edit">
540 <div style="margin-top: 30px;" class="editcss"> 540 <div style="margin-top: 30px;" class="editcss">
541 <div class="titles"> 541 <div class="titles">
542 - 租赁信息 542 + 历史租赁信息
  543 + </div>
  544 + <div style="margin:20px 0;">
  545 + <el-table :data="lishiData"
  546 + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" tooltip-effect="dark custom-tooltip-effect">
  547 + <el-table-column label="承租人" min-width="80" prop="tenantName">
  548 +
  549 + </el-table-column>
  550 + <el-table-column label="租赁期限" prop="leaseStartDate" min-width="200" show-overflow-tooltip>
  551 + </el-table-column>
  552 + <el-table-column label="经营类型" prop="houseNumber" min-width="80" show-overflow-tooltip>
  553 +
  554 + </el-table-column>
  555 + <el-table-column label="租金/周期" prop="shopName" min-width="250" show-overflow-tooltip>
  556 + <template slot-scope="scope">
  557 + {{scope.row.contractAmount}}/{{scope.row.intendedLeaseTerm}}
  558 +
  559 + </template>
  560 + </el-table-column>
  561 + <el-table-column label="当前状态" prop="belongingRegion" min-width="150" show-overflow-tooltip>
  562 + </el-table-column>
  563 + <!-- <el-table-column label="操作" min-width="160" fixed="right">
  564 + <template slot-scope="scope">
  565 + <div @click="handleEditForm(scope.row)" class="tableBtn greens">查看</div>
  566 + </template>
  567 + </el-table-column> -->
  568 + </el-table>
543 </div> 569 </div>
544 </div> 570 </div>
545 </el-tab-pane> 571 </el-tab-pane>
@@ -572,7 +598,8 @@ @@ -572,7 +598,8 @@
572 addList, 598 addList,
573 delList, 599 delList,
574 likeGet, 600 likeGet,
575 - editList 601 + editList,
  602 + zulxin
576 } from '../../api/map1' 603 } from '../../api/map1'
577 import MapMark from "@/components/MapContainer/MapMark"; 604 import MapMark from "@/components/MapContainer/MapMark";
578 import MapXian from "@/components/MapContainer/MapXian"; 605 import MapXian from "@/components/MapContainer/MapXian";
@@ -715,7 +742,8 @@ @@ -715,7 +742,8 @@
715 //地图标点的经纬度 742 //地图标点的经纬度
716 mapData: {}, 743 mapData: {},
717 parentMessage: {}, 744 parentMessage: {},
718 - xiangTab:'first' 745 + xiangTab:'first',
  746 + lishiData:[]
719 747
720 } 748 }
721 }, 749 },
@@ -806,11 +834,11 @@ @@ -806,11 +834,11 @@
806 const res = await likeGet(val) 834 const res = await likeGet(val)
807 this.tableData = res.data.content 835 this.tableData = res.data.content
808 if (this.pageindex.advertisingType == '线上广告位') { 836 if (this.pageindex.advertisingType == '线上广告位') {
809 - this.xsNum = res.data.content.length 837 + this.xsNum = res.data.numberOfElements
810 } else { 838 } else {
811 - this.xxNum = res.data.content.length 839 + this.xxNum = res.data.numberOfElements
812 } 840 }
813 - this.total = res.data.content.length 841 + this.total = res.data.numberOfElements
814 842
815 }, 843 },
816 //获取当前时间 844 //获取当前时间
@@ -863,7 +891,19 @@ @@ -863,7 +891,19 @@
863 dimensionsK: '' 891 dimensionsK: ''
864 } 892 }
865 893
866 - console.log(item) 894 + zulxin({venueNumber:item.advertisingSpaceNumber}).then(res=>{
  895 + this.lishiData = res.data
  896 + this.lishiData.map(item=>{
  897 + item.earnestMoney =this.$decrypt(item.earnestMoney)
  898 + item.contractAmount =this.$decrypt(item.contractAmount)
  899 + item.lessorName =this.$decrypt(item.lessorName)
  900 + item.telephone =this.$decrypt(item.telephone)
  901 + item.bankAccount =this.$decrypt(item.bankAccount)
  902 + item.tenantName =this.$decrypt(item.tenantName)
  903 + item.tenantTelephone =this.$decrypt(item.tenantTelephone)
  904 + item.tenantBankAccount =this.$decrypt(item.tenantBankAccount)
  905 + })
  906 + })
867 let dimensions_parts = item.dimensions.split(" ") 907 let dimensions_parts = item.dimensions.split(" ")
868 let dimensions = item.equipmentSize.split(" ") 908 let dimensions = item.equipmentSize.split(" ")
869 console.log(dimensions) 909 console.log(dimensions)
@@ -1070,21 +1110,23 @@ @@ -1070,21 +1110,23 @@
1070 }, 1110 },
1071 // 查询按钮 1111 // 查询按钮
1072 onSubmit() { 1112 onSubmit() {
1073 -  
1074 if (this.pageindex.advertisingType == '线上广告位') { 1113 if (this.pageindex.advertisingType == '线上广告位') {
1075 this.formSel.advertisingType = '线上广告位' 1114 this.formSel.advertisingType = '线上广告位'
1076 getAlls(this.formSel).then(res => { 1115 getAlls(this.formSel).then(res => {
  1116 + this.currentPage = 1
1077 this.tableData = res.data.content 1117 this.tableData = res.data.content
1078 - this.total = res.data.content.length 1118 + this.total = res.data.numberOfElements
1079 }) 1119 })
1080 1120
1081 } else { 1121 } else {
1082 this.formSel.advertisingType = '实体广告位' 1122 this.formSel.advertisingType = '实体广告位'
1083 getAlls(this.formSel).then(res => { 1123 getAlls(this.formSel).then(res => {
  1124 + this.currentPage = 1
1084 this.tableData = res.data.content 1125 this.tableData = res.data.content
1085 - this.total = res.data.content.length 1126 + this.total = res.data.numberOfElements
1086 }) 1127 })
1087 } 1128 }
  1129 + console.log(this.currentPage)
1088 // if(this.formSel.createDate=='' && this.formSel.createUser == '' && this.formSel.affiliation == ''){ 1130 // if(this.formSel.createDate=='' && this.formSel.createUser == '' && this.formSel.affiliation == ''){
1089 // console.log(1) 1131 // console.log(1)
1090 // console.log(this.pageindex) 1132 // console.log(this.pageindex)
yanshouban/src/views/detect/ziyuanList.vue
@@ -73,6 +73,11 @@ @@ -73,6 +73,11 @@
73 <el-input v-model="ruleForm.detailedLocation" style="margin-top:5px;" :disabled="edit" maxlength="100"> 73 <el-input v-model="ruleForm.detailedLocation" style="margin-top:5px;" :disabled="edit" maxlength="100">
74 </el-input> 74 </el-input>
75 </el-form-item> 75 </el-form-item>
  76 + <el-form-item label="商铺业态" prop="commercialForm">
  77 + <el-select v-model="ruleForm.commercialForm" :disabled="edit" style="margin-top:5px;width: 100%;">
  78 + <el-option label="商超" value="商超"></el-option>
  79 + </el-select>
  80 + </el-form-item>
76 <el-form-item label="地图标点" prop="mapPunctuation"> 81 <el-form-item label="地图标点" prop="mapPunctuation">
77 <div style="width: 100%;height: 100px;border: 1px solid #3F9B6A;" v-if="showBian"> 82 <div style="width: 100%;height: 100px;border: 1px solid #3F9B6A;" v-if="showBian">
78 83
@@ -630,6 +635,7 @@ @@ -630,6 +635,7 @@
630 belongingRegion: '', 635 belongingRegion: '',
631 belongingDepartment: '', 636 belongingDepartment: '',
632 head: '', 637 head: '',
  638 + commercialForm:'',
633 detailedLocation: '', 639 detailedLocation: '',
634 mapPunctuation: '', 640 mapPunctuation: '',
635 shopDescription: '', 641 shopDescription: '',
yanshouban/src/views/ipm/followup/index.vue
@@ -86,6 +86,7 @@ @@ -86,6 +86,7 @@
86 <template slot-scope="scope"> 86 <template slot-scope="scope">
87 <div @click="details(scope.row)" class="tableBtn greens">查看</div> 87 <div @click="details(scope.row)" class="tableBtn greens">查看</div>
88 <div @click="genad(scope.row)" class="tableBtn greens" v-if="scope.row.status =='1'">跟进录入</div> 88 <div @click="genad(scope.row)" class="tableBtn greens" v-if="scope.row.status =='1'">跟进录入</div>
  89 + <div @click="biangen(scope.row)" class="tableBtn greens" v-if="scope.row.status =='1'">编辑</div>
89 <div @click="zhongzhi(scope.row)" class="tableBtn greens" v-if="scope.row.status =='1'">终止</div> 90 <div @click="zhongzhi(scope.row)" class="tableBtn greens" v-if="scope.row.status =='1'">终止</div>
90 <div @click="deltab(scope.row)" class="tableBtn greens" >删除</div> 91 <div @click="deltab(scope.row)" class="tableBtn greens" >删除</div>
91 </template> 92 </template>
@@ -271,8 +272,8 @@ @@ -271,8 +272,8 @@
271 <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" 272 <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;"
272 @click="closeFn(2)">返回</el-button> 273 @click="closeFn(2)">返回</el-button>
273 <el-button @click="addTanpan" style="background-color: #3F9B6A;color: #fff" v-if="zhong.status=='2' && zhong.currentStage =='达成共识'">进入谈判</el-button> 274 <el-button @click="addTanpan" style="background-color: #3F9B6A;color: #fff" v-if="zhong.status=='2' && zhong.currentStage =='达成共识'">进入谈判</el-button>
274 - <!-- <el-button @click="edit = false" style="background-color: #3F9B6A;color: #fff" v-if="edit && zhong.status=='1'">编辑</el-button> -->  
275 - <!-- <el-button @click="addbuss(2)" style="background-color: #3F9B6A;color: #fff" v-if="!edit && zhong.status =='1'">确认</el-button> --> 275 + <!-- <el-button @click="edit = false" style="background-color: #3F9B6A;color: #fff" v-if="edit && zhong.status=='1'">编辑</el-button>
  276 + <el-button @click="addbuss(2)" style="background-color: #3F9B6A;color: #fff" v-if="!edit && zhong.status =='1'">确认</el-button> -->
276 277
277 </div> 278 </div>
278 </div> 279 </div>
@@ -631,7 +632,9 @@ @@ -631,7 +632,9 @@
631 xiangData:[], 632 xiangData:[],
632 yixiangList:{}, 633 yixiangList:{},
633 idCardTime:[], 634 idCardTime:[],
634 - busTime:[] 635 + busTime:[],
  636 + miList:['contactPhone','idCardNumber','unifiedSocialCreditCode','legalRepresentative','address','emailAddress'],
  637 + dataIntegrity:''
635 } 638 }
636 }, 639 },
637 created() { 640 created() {
@@ -659,26 +662,20 @@ @@ -659,26 +662,20 @@
659 this.tableData = res.data.content 662 this.tableData = res.data.content
660 this.total = res.data.content.length 663 this.total = res.data.content.length
661 this.tableData.map(res=>{ 664 this.tableData.map(res=>{
662 - res.contactPhone = this.$decrypt(res.contactPhone)  
663 - res.idCardNumber = this.$decrypt(res.idCardNumber)  
664 - res.unifiedSocialCreditCode = this.$decrypt(res.unifiedSocialCreditCode)  
665 - res.legalRepresentative = this.$decrypt(res.legalRepresentative)  
666 - res.address = this.$decrypt(res.address)  
667 - res.emailAddress = this.$decrypt(res.emailAddress) 665 +
  666 + res.cereCustomerInfo.contactPhone = this.$decrypt(res.cereCustomerInfo.contactPhone)
  667 + res.cereCustomerInfo.idCardNumber = this.$decrypt(res.cereCustomerInfo.idCardNumber)
  668 + res.cereCustomerInfo.unifiedSocialCreditCode = this.$decrypt(res.cereCustomerInfo.unifiedSocialCreditCode)
  669 + res.cereCustomerInfo.legalRepresentative = this.$decrypt(res.cereCustomerInfo.legalRepresentative)
  670 + res.cereCustomerInfo.address = this.$decrypt(res.cereCustomerInfo.address)
  671 + res.cereCustomerInfo.emailAddress = this.$decrypt(res.cereCustomerInfo.emailAddress)
668 }) 672 })
669 const ziyuan = await getAlls(this.pageindex) 673 const ziyuan = await getAlls(this.pageindex)
670 const ggw = await map1(this.pageindex) 674 const ggw = await map1(this.pageindex)
671 this.ziyuanData = [...ziyuan.data.content,...ggw.data.content] 675 this.ziyuanData = [...ziyuan.data.content,...ggw.data.content]
672 const kehu = await icManAll(this.pageindex); 676 const kehu = await icManAll(this.pageindex);
673 this.kehuData = kehu.data.content 677 this.kehuData = kehu.data.content
674 - this.kehuData.map(res=>{  
675 - res.unifiedSocialCreditCode = this.$decrypt(res.unifiedSocialCreditCode)  
676 - res.legalRepresentative = this.$decrypt(res.legalRepresentative)  
677 - res.address = this.$decrypt(res.address)  
678 - res.emailAddress = this.$decrypt(res.emailAddress)  
679 - res.contactName = this.$decrypt(res.contactName)  
680 - res.contactPhone = this.$decrypt(res.contactPhone)  
681 - }) 678 +
682 }, 679 },
683 680
684 // 新增确定按钮 681 // 新增确定按钮
@@ -691,7 +688,7 @@ @@ -691,7 +688,7 @@
691 this.formInline.status = '2' 688 this.formInline.status = '2'
692 } 689 }
693 if(this.formInline.customerLevel !=''){ 690 if(this.formInline.customerLevel !=''){
694 - await rsaManEdit({id:this.yixiangList.id,customerLevel:this.formInline.customerLevel}) 691 + await rsaManEdit({id:this.yixiangList.id,customerLevel:this.formInline.customerLevel,dataIntegrity:this.dataIntegrity})
695 } 692 }
696 if(this.plan_Time.length !=0){ 693 if(this.plan_Time.length !=0){
697 this.formInline.nextFollowUpStartTime = this.plan_Time[0] 694 this.formInline.nextFollowUpStartTime = this.plan_Time[0]
@@ -798,11 +795,7 @@ @@ -798,11 +795,7 @@
798 this.detbox = false 795 this.detbox = false
799 } 796 }
800 }, 797 },
801 - // 详情编辑  
802 - bianji() {  
803 798
804 -  
805 - },  
806 //查看合同 799 //查看合同
807 lookHetong(val) { 800 lookHetong(val) {
808 this.hetongBox = true 801 this.hetongBox = true
@@ -813,12 +806,12 @@ @@ -813,12 +806,12 @@
813 this.tableData = res.data.content 806 this.tableData = res.data.content
814 this.total = res.data.content.length 807 this.total = res.data.content.length
815 this.tableData.map(res=>{ 808 this.tableData.map(res=>{
816 - res.contactPhone = this.$decrypt(res.contactPhone)  
817 - res.idCardNumber = this.$decrypt(res.idCardNumber)  
818 - res.unifiedSocialCreditCode = this.$decrypt(res.unifiedSocialCreditCode)  
819 - res.legalRepresentative = this.$decrypt(res.legalRepresentative)  
820 - res.address = this.$decrypt(res.address)  
821 - res.emailAddress = this.$decrypt(res.emailAddress) 809 + res.cereCustomerInfo.contactPhone = this.$decrypt(res.cereCustomerInfo.contactPhone)
  810 + res.cereCustomerInfo.idCardNumber = this.$decrypt(res.cereCustomerInfo.idCardNumber)
  811 + res.cereCustomerInfo.unifiedSocialCreditCode = this.$decrypt(res.cereCustomerInfo.unifiedSocialCreditCode)
  812 + res.cereCustomerInfo.legalRepresentative = this.$decrypt(res.cereCustomerInfo.legalRepresentative)
  813 + res.cereCustomerInfo.address = this.$decrypt(res.cereCustomerInfo.address)
  814 + res.cereCustomerInfo.emailAddress = this.$decrypt(res.cereCustomerInfo.emailAddress)
822 }) 815 })
823 }, 816 },
824 //重置按钮 817 //重置按钮
@@ -918,6 +911,10 @@ @@ -918,6 +911,10 @@
918 if (action === 'confirm') { 911 if (action === 'confirm') {
919 912
920 genDel({id:item.id}).then(res=>{ 913 genDel({id:item.id}).then(res=>{
  914 + this.$message({
  915 + message: '删除成功',
  916 + type: 'success'
  917 + })
921 this.getAll() 918 this.getAll()
922 done(); 919 done();
923 }) 920 })
@@ -928,10 +925,32 @@ @@ -928,10 +925,32 @@
928 }) 925 })
929 }, 926 },
930 genad(item){ 927 genad(item){
  928 + console.log(this.formInline)
  929 +let c1 =JSON.parse((JSON.stringify(item)))
  930 + let newinfo = this.$decryptall(c1,this.miList)
  931 + let arr = [newinfo.cereCustomerInfo.contactPhone,newinfo.cereCustomerInfo.idCardNumber,newinfo.cereCustomerInfo.unifiedSocialCreditCode,newinfo.cereCustomerInfo.legalRepresentative,newinfo.cereCustomerInfo.address,newinfo.cereCustomerInfo.emailAddress]
  932 + arr = arr.join(',')
  933 + this.dataIntegrity = this.$encrypt(arr)
931 this.formInline.id = item.id 934 this.formInline.id = item.id
932 this.yixiangList = item.cereCustomerInfo 935 this.yixiangList = item.cereCustomerInfo
933 - // console.log(this.formInline) 936 +
  937 + this.ggXin = true
  938 + },
  939 + biangen(item){
  940 + let c1 =JSON.parse((JSON.stringify(item)))
  941 + let newinfo = this.$decryptall(c1,this.miList)
  942 + let arr = [newinfo.cereCustomerInfo.contactPhone,newinfo.cereCustomerInfo.idCardNumber,newinfo.cereCustomerInfo.unifiedSocialCreditCode,newinfo.cereCustomerInfo.legalRepresentative,newinfo.cereCustomerInfo.address,newinfo.cereCustomerInfo.emailAddress]
  943 + arr = arr.join(',')
  944 + this.dataIntegrity = this.$encrypt(arr)
  945 + this.formInline.id = item.id
  946 + this.yixiangList = item.cereCustomerInfo
  947 +
934 this.ggXin = true 948 this.ggXin = true
  949 + this.formInline = item
  950 + this.addziyuanData = JSON.parse(item.intendedResource)
  951 + this.plan_Time[0] = item.nextFollowUpStartTime
  952 + this.plan_Time[1] = item.nextFollowUpEndTime
  953 + this.formInline.customerLevel = item.cereCustomerInfo.customerLevel
935 }, 954 },
936 closemsg(index){ 955 closemsg(index){
937 this.addziyuanData.splice(index, 1); 956 this.addziyuanData.splice(index, 1);
yanshouban/src/views/ipm/inr/index.vue
@@ -501,6 +501,15 @@ @@ -501,6 +501,15 @@
501 const res = await tanGetAll(this.pageindex) 501 const res = await tanGetAll(this.pageindex)
502 this.tableData = res.data.content 502 this.tableData = res.data.content
503 this.total = res.data.content.length 503 this.total = res.data.content.length
  504 + this.tableData.map(res=>{
  505 +
  506 + res.cereFollowDetails.cereCustomerInfo.contactPhone = this.$decrypt(res.cereFollowDetails.cereCustomerInfo.contactPhone)
  507 + res.cereFollowDetails.cereCustomerInfo.idCardNumber = this.$decrypt(res.cereFollowDetails.cereCustomerInfo.idCardNumber)
  508 + res.cereFollowDetails.cereCustomerInfo.unifiedSocialCreditCode = this.$decrypt(res.cereFollowDetails.cereCustomerInfo.unifiedSocialCreditCode)
  509 + res.cereFollowDetails.cereCustomerInfo.legalRepresentative = this.$decrypt(res.cereFollowDetails.cereCustomerInfo.legalRepresentative)
  510 + res.cereFollowDetails.cereCustomerInfo.address = this.$decrypt(res.cereFollowDetails.cereCustomerInfo.address)
  511 + res.cereFollowDetails.cereCustomerInfo.emailAddress = this.$decrypt(res.cereFollowDetails.cereCustomerInfo.emailAddress)
  512 + })
504 }, 513 },
505 514
506 // 新增确定按钮 515 // 新增确定按钮
@@ -594,7 +603,15 @@ this.secondData.otherAttachments = item.otherAttachments @@ -594,7 +603,15 @@ this.secondData.otherAttachments = item.otherAttachments
594 const res = await tanGetAll(this.formSel) 603 const res = await tanGetAll(this.formSel)
595 this.tableData = res.data.content 604 this.tableData = res.data.content
596 this.total = res.data.content.length 605 this.total = res.data.content.length
597 - 606 + this.tableData.map(res=>{
  607 +
  608 + res.cereFollowDetails.cereCustomerInfo.contactPhone = this.$decrypt(res.cereFollowDetails.cereCustomerInfo.contactPhone)
  609 + res.cereFollowDetails.cereCustomerInfo.idCardNumber = this.$decrypt(res.cereFollowDetails.cereCustomerInfo.idCardNumber)
  610 + res.cereFollowDetails.cereCustomerInfo.unifiedSocialCreditCode = this.$decrypt(res.cereFollowDetails.cereCustomerInfo.unifiedSocialCreditCode)
  611 + res.cereFollowDetails.cereCustomerInfo.legalRepresentative = this.$decrypt(res.cereFollowDetails.cereCustomerInfo.legalRepresentative)
  612 + res.cereFollowDetails.cereCustomerInfo.address = this.$decrypt(res.cereFollowDetails.cereCustomerInfo.address)
  613 + res.cereFollowDetails.cereCustomerInfo.emailAddress = this.$decrypt(res.cereFollowDetails.cereCustomerInfo.emailAddress)
  614 + })
598 }, 615 },
599 //重置按钮 616 //重置按钮
600 resetting() { 617 resetting() {
yanshouban/src/views/media/mediaMana.vue
@@ -230,24 +230,24 @@ @@ -230,24 +230,24 @@
230 </div> 230 </div>
231 <div style="padding:0 20px;margin-top:20px;"> 231 <div style="padding:0 20px;margin-top:20px;">
232 <div style="padding:55px 10px 10px 10px;background-color:#fff;position:relative"> 232 <div style="padding:55px 10px 10px 10px;background-color:#fff;position:relative">
233 - <div style="position: absolute;top: 60px;right: 10px; z-index: 10;">  
234 - <el-radio-group v-model="radio1" style="margin-right:10px">  
235 - <el-radio-button label="本周"></el-radio-button>  
236 - <el-radio-button label="本月"></el-radio-button>  
237 - <el-radio-button label="今年 "></el-radio-button>  
238 - <el-radio-button label="自定义"></el-radio-button>  
239 - </el-radio-group>  
240 - <el-date-picker  
241 - v-if="radio1=='自定义'"  
242 -  
243 - style="width:250px"  
244 - v-model="radio1_time"  
245 - type="datetimerange"  
246 - range-separator="至"  
247 - start-placeholder="开始日期"  
248 - end-placeholder="结束日期">  
249 - </el-date-picker>  
250 - </div> 233 + <!-- <div style="position: absolute;top: 60px;right: 10px; z-index: 10;">
  234 + <el-radio-group v-model="radio1" style="margin-right:10px">
  235 + <el-radio-button label="本周"></el-radio-button>
  236 + <el-radio-button label="本月"></el-radio-button>
  237 + <el-radio-button label="今年 "></el-radio-button>
  238 + <el-radio-button label="自定义"></el-radio-button>
  239 + </el-radio-group>
  240 + <el-date-picker
  241 + v-if="radio1=='自定义'"
  242 +
  243 + style="width:250px"
  244 + v-model="radio1_time"
  245 + type="datetimerange"
  246 + range-separator="至"
  247 + start-placeholder="开始日期"
  248 + end-placeholder="结束日期">
  249 + </el-date-picker>
  250 + </div> -->
251 <el-tabs type="border-card" @tab-click="xiaoguoTab"> 251 <el-tabs type="border-card" @tab-click="xiaoguoTab">
252 <el-tab-pane label="整体效果分析"> 252 <el-tab-pane label="整体效果分析">
253 <el-table :data="dataList" 253 <el-table :data="dataList"
@@ -285,12 +285,12 @@ @@ -285,12 +285,12 @@
285 </el-table-column> 285 </el-table-column>
286 </el-table> 286 </el-table>
287 </el-tab-pane> 287 </el-tab-pane>
288 - <el-tab-pane label="纵向分析"> 288 + <!-- <el-tab-pane label="纵向分析">
289 289
290 </el-tab-pane> 290 </el-tab-pane>
291 <el-tab-pane label="横向分析"> 291 <el-tab-pane label="横向分析">
292 292
293 - </el-tab-pane> 293 + </el-tab-pane> -->
294 </el-tabs> 294 </el-tabs>
295 </div> 295 </div>
296 296
@@ -338,7 +338,7 @@ @@ -338,7 +338,7 @@
338 <div style="width:30%"> 338 <div style="width:30%">
339 <div style="display: flex;"> 339 <div style="display: flex;">
340 <div style="margin-right: 10px;padding: 10px 0;"> 340 <div style="margin-right: 10px;padding: 10px 0;">
341 - <div>调整前方案</div> 341 + <div>方案1</div>
342 <div style="font-size: 22px;color: #3F9B6A;font-weight: 600;margin: 10px 0;">{{xiaoduiObj.bili}}</div> 342 <div style="font-size: 22px;color: #3F9B6A;font-weight: 600;margin: 10px 0;">{{xiaoduiObj.bili}}</div>
343 <div style="font-size: 16px;color: #3F9B6A;font-weight: 600;">总流量</div> 343 <div style="font-size: 16px;color: #3F9B6A;font-weight: 600;">总流量</div>
344 </div> 344 </div>
@@ -422,7 +422,7 @@ @@ -422,7 +422,7 @@
422 <div style="width:30%"> 422 <div style="width:30%">
423 <div style="display: flex;"> 423 <div style="display: flex;">
424 <div style="margin-right: 10px;padding: 10px 0;"> 424 <div style="margin-right: 10px;padding: 10px 0;">
425 - <div>调整后方案</div> 425 + <div>方案2</div>
426 <div style="font-size: 22px;color: #3F9B6A;font-weight: 600;margin: 10px 0;">{{xiaoduiObj.bili}}</div> 426 <div style="font-size: 22px;color: #3F9B6A;font-weight: 600;margin: 10px 0;">{{xiaoduiObj.bili}}</div>
427 <div style="font-size: 16px;color: #3F9B6A;font-weight: 600;">总流量</div> 427 <div style="font-size: 16px;color: #3F9B6A;font-weight: 600;">总流量</div>
428 </div> 428 </div>
yanshouban/src/views/media/mediaMannaAdd.vue
@@ -44,19 +44,19 @@ @@ -44,19 +44,19 @@
44 <div style="padding:15px"> 44 <div style="padding:15px">
45 <div style="display:flex;"> 45 <div style="display:flex;">
46 <div style="display:flex;margin-right:30px;"> 46 <div style="display:flex;margin-right:30px;">
47 - <div>微信</div> 47 + <div>海报图片</div>
48 <div style="margin:0 10px;"><upimg v-model="ruleForm.coverImage" :limit="1" :fileSize="1" :isShowTip="false"></upimg></div> 48 <div style="margin:0 10px;"><upimg v-model="ruleForm.coverImage" :limit="1" :fileSize="1" :isShowTip="false"></upimg></div>
49 <div style="color:#E5E5E5"> 49 <div style="color:#E5E5E5">
50 请选择海报 50 请选择海报
51 </div> 51 </div>
52 </div> 52 </div>
53 - <div style="display:flex"> 53 + <!-- <div style="display:flex">
54 <div>微信朋友圈</div> 54 <div>微信朋友圈</div>
55 <div style="margin:0 10px;"><upimg v-model="ruleForm.wxpyPoster" :limit="1" :fileSize="1" :isShowTip="false"></upimg></div> 55 <div style="margin:0 10px;"><upimg v-model="ruleForm.wxpyPoster" :limit="1" :fileSize="1" :isShowTip="false"></upimg></div>
56 <div style="color:#E5E5E5"> 56 <div style="color:#E5E5E5">
57 请选择海报 57 请选择海报
58 </div> 58 </div>
59 - </div> 59 + </div> -->
60 </div> 60 </div>
61 </div> 61 </div>
62 </div> 62 </div>
@@ -69,10 +69,10 @@ @@ -69,10 +69,10 @@
69 </el-button> 69 </el-button>
70 <!-- <el-button plain @click="close" size="mini" style="background-color: #3F9B6A;color: #fff;">发布信息填写 70 <!-- <el-button plain @click="close" size="mini" style="background-color: #3F9B6A;color: #fff;">发布信息填写
71 </el-button> --> 71 </el-button> -->
72 - <el-button plain @click="close" size="mini" style="background-color: #3F9B6A;color: #fff;">媒体上传 72 + <!-- <el-button plain @click="close" size="mini" style="background-color: #3F9B6A;color: #fff;">媒体上传
73 </el-button> 73 </el-button>
74 <el-button plain @click="close" size="mini" style="background-color: #fff;color: #000;border:1px solid #A0A0A0" class="buttonHover">一键发布 74 <el-button plain @click="close" size="mini" style="background-color: #fff;color: #000;border:1px solid #A0A0A0" class="buttonHover">一键发布
75 - </el-button> 75 + </el-button> -->
76 <el-button plain @click="close" size="mini" style="background-color: #fff;color: #000;border:1px solid #A0A0A0" class="buttonHover">返回 76 <el-button plain @click="close" size="mini" style="background-color: #fff;color: #000;border:1px solid #A0A0A0" class="buttonHover">返回
77 </el-button> 77 </el-button>
78 </div> 78 </div>
yanshouban/src/views/order/pending/index.vue
@@ -198,16 +198,17 @@ export default { @@ -198,16 +198,17 @@ export default {
198 const res = await orderGetAll(formInline) 198 const res = await orderGetAll(formInline)
199 this.tableData = res.data.list 199 this.tableData = res.data.list
200 this.total = res.data.total 200 this.total = res.data.total
201 - this.tableLoading = false  
202 this.tableData.map(res=>{ 201 this.tableData.map(res=>{
203 res.customerName = this.$decrypt(res.customerName) 202 res.customerName = this.$decrypt(res.customerName)
204 res.receiveName = this.$decrypt(res.receiveName) 203 res.receiveName = this.$decrypt(res.receiveName)
205 res.receivePhone = this.$decrypt(res.receivePhone) 204 res.receivePhone = this.$decrypt(res.receivePhone)
  205 + res.customerPhone = this.$decrypt(res.customerPhone)
206 res.receiveAdress = this.$decrypt(res.receiveAdress) 206 res.receiveAdress = this.$decrypt(res.receiveAdress)
207 res.price = this.$decrypt(res.price) 207 res.price = this.$decrypt(res.price)
208 - res.customerPhone = this.$decrypt(res.customerPhone)  
209 res.address = this.$decrypt(res.address) 208 res.address = this.$decrypt(res.address)
210 }) 209 })
  210 + this.tableLoading = false
  211 +
211 }, 212 },
212 // 导出订单 213 // 导出订单
213 async orderDataExport() { 214 async orderDataExport() {
yanshouban/src/views/order/pending/pendDetails.vue
@@ -247,6 +247,12 @@ export default { @@ -247,6 +247,12 @@ export default {
247 async getProductList() { 247 async getProductList() {
248 const res = await orderGetById({ orderId: this.detailRow.orderId }) 248 const res = await orderGetById({ orderId: this.detailRow.orderId })
249 this.order = res.data 249 this.order = res.data
  250 + this.order.address = this.$decrypt(this.order.address)
  251 + this.order.price = this.$decrypt(this.order.price)
  252 + this.order.customerName = this.$decrypt(this.order.customerName)
  253 + this.order.receiveAdress = this.$decrypt(this.order.receiveAdress)
  254 + this.order.receiveName = this.$decrypt(this.order.receiveName)
  255 + this.order.receivePhone = this.$decrypt(this.order.receivePhone)
250 }, 256 },
251 close() { 257 close() {
252 this.$emit('cancel') 258 this.$emit('cancel')
yanshouban/src/views/promotion/account.vue
@@ -27,6 +27,17 @@ @@ -27,6 +27,17 @@
27 style="background-color: #3F9B6A;color: #fff;">新增</el-button> 27 style="background-color: #3F9B6A;color: #fff;">新增</el-button>
28 <el-button style="background-color: #fff;color: #000;border: 1px solid #B1B1B1;" 28 <el-button style="background-color: #fff;color: #000;border: 1px solid #B1B1B1;"
29 icon="el-icon-folder-add" class="buttonHover" @click="xinFenlei">渠道分类管理</el-button> 29 icon="el-icon-folder-add" class="buttonHover" @click="xinFenlei">渠道分类管理</el-button>
  30 + <el-button @click="toufang('投放周期管理')"
  31 + style="background-color: #3F9B6A;color: #fff;">投放周期管理</el-button>
  32 + <el-button @click="toufang('投放费用管理')"
  33 + style="background-color: #3F9B6A;color: #fff;">投放费用管理</el-button>
  34 + <el-button @click="toufang('投放效果评价管理')"
  35 + style="background-color: #3F9B6A;color: #fff;">投放效果评价管理</el-button>
  36 + <el-button @click="xiaoguo"
  37 + style="background-color: #3F9B6A;color: #fff;">渠道发布内容汇总统计</el-button>
  38 + <el-button @click=""
  39 + style="background-color: #3F9B6A;color: #fff;">发布历史效果评估</el-button>
  40 +
30 </div> 41 </div>
31 <div class="fenlan"> 42 <div class="fenlan">
32 <div class="souLei"> 43 <div class="souLei">
@@ -84,7 +95,10 @@ @@ -84,7 +95,10 @@
84 <el-table-column label="操作" min-width="250"> 95 <el-table-column label="操作" min-width="250">
85 <template slot-scope="scope"> 96 <template slot-scope="scope">
86 <div @click="addbuss(2,scope.row)" class="tableBtn greens">查看</div> 97 <div @click="addbuss(2,scope.row)" class="tableBtn greens">查看</div>
  98 +
87 <div @click="addbuss(3,scope.row)" class="tableBtn greens">编辑</div> 99 <div @click="addbuss(3,scope.row)" class="tableBtn greens">编辑</div>
  100 + <div @click="" class="tableBtn greens">内容统计数据设置</div>
  101 + <div @click="" class="tableBtn greens">投放统计数据设置</div>
88 <div @click="handleDelete(scope.row)" class="tableBtn greens">删除</div> 102 <div @click="handleDelete(scope.row)" class="tableBtn greens">删除</div>
89 </template> 103 </template>
90 </el-table-column> 104 </el-table-column>
@@ -171,7 +185,7 @@ @@ -171,7 +185,7 @@
171 </div> 185 </div>
172 </div> --> 186 </div> -->
173 </el-dialog> 187 </el-dialog>
174 - <el-dialog :visible.sync="xinlei" custom-class='xiaoguo_css' style="padding: 0;" width="50%" 188 + <el-dialog :visible.sync="xinlei" custom-class='fenlei' style="padding: 0;" width="50%"
175 center :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false"> 189 center :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false">
176 <div style="padding:15px;background-color:#F9F9F9;font-size:14px;border:1px solid #ECECEC;margin-bottom:20px;display: flex;justify-content: space-between;"> 190 <div style="padding:15px;background-color:#F9F9F9;font-size:14px;border:1px solid #ECECEC;margin-bottom:20px;display: flex;justify-content: space-between;">
177 <div>新增</div> 191 <div>新增</div>
@@ -204,6 +218,187 @@ @@ -204,6 +218,187 @@
204 </el-button> 218 </el-button>
205 </div> 219 </div>
206 </el-dialog> 220 </el-dialog>
  221 + <el-dialog :visible.sync="xiaoguoBox" custom-class='xiaoguo_css' style="padding: 0;" width="75%"
  222 + center :close-on-click-modal="false" :close-on-press-escape="false">
  223 + <div style="padding:15px;background-color:#F9F9F9;font-size:14px;border:1px solid #ECECEC;margin-bottom:20px">
  224 + 活动效果分析
  225 + </div>
  226 + <div style="padding:0 20px;">
  227 + <div style="font-size:12px;margin-bottom:10px;">统计分析</div>
  228 + <div style="display:flex;padding:10px 0;" v-for="(item,index) in xiaoguoList">
  229 + <div style="margin-right:40px;width:17%">
  230 + <div style="color:#BBBBBB;font-size:10px;">{{item.channelCategory}}</div>
  231 + <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">{{item.contentCategory}}</div>
  232 + <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">{{item.contentCategoryNum}}</span></div>
  233 + <div style="height:5px;background-color:#FEC03D;"></div>
  234 + </div>
  235 +
  236 + </div>
  237 +
  238 + </div>
  239 + <div style="padding:0 20px;">
  240 + <div style="font-size:12px;margin-bottom:10px;">数据分析</div>
  241 + <div style="display:flex;padding:10px 0;" v-for="(item,index) in xiaoguoList">
  242 + <div style="margin-right:40px;width:17%">
  243 + <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">{{item.contentCategory}}</div>
  244 + <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">{{item.contentCategoryNum}}</span></div>
  245 + <div style="height:5px;background-color:#FEC03D;"></div>
  246 + </div>
  247 +
  248 + </div>
  249 +
  250 + </div>
  251 + <div style="padding:0 20px;margin-top:20px;">
  252 + <div style="border:1px solid #EFEFEF;padding:20px 15px">
  253 + <div style="display:flex">
  254 + <div style="width:30%;margin-right:40px">
  255 + <div>排名</div>
  256 + <div style="margin-top:20px;">
  257 + <div style="display:flex;justify-content: space-between;margin-bottom:10px;">
  258 + <div style="font-size:12px;color:#BBBBBB">主题1</div>
  259 + <div>300/100家</div>
  260 + </div>
  261 + <el-progress :text-inside="true" :stroke-width="15" :percentage="70"></el-progress>
  262 + <div style="display:flex;justify-content: space-between;margin:10px 0;">
  263 + <div style="font-size:12px;color:#BBBBBB">主题2</div>
  264 + <div>300/100家</div>
  265 + </div>
  266 + <el-progress :text-inside="true" :stroke-width="15" :percentage="100" status="success"></el-progress>
  267 + <div style="display:flex;justify-content: space-between;margin:10px 0;">
  268 + <div style="font-size:12px;color:#BBBBBB">主题3</div>
  269 + <div>300/100家</div>
  270 + </div>
  271 + <el-progress :text-inside="true" :stroke-width="15" :percentage="80" status="warning"></el-progress>
  272 + <div style="display:flex;justify-content: space-between;margin:10px 0;">
  273 + <div style="font-size:12px;color:#BBBBBB">主题4</div>
  274 + <div>300/100家</div>
  275 + </div>
  276 + <el-progress :text-inside="true" :stroke-width="15" :percentage="50" status="exception"></el-progress>
  277 + </div>
  278 + </div>
  279 + <div style="width:30%;margin-right:40px">
  280 + <div>人群占比</div>
  281 + <div style="height:250px;width:100%;" ref="shopL">
  282 + </div>
  283 + </div>
  284 + <div style="width:30%;margin-right:40px">
  285 + <div>交易漏斗</div>
  286 + <div style="height:250px;width:100%;" ref="jiaoL">
  287 + </div>
  288 + </div>
  289 + </div>
  290 + </div>
  291 + <div style="padding:55px 10px 10px 10px;background-color:#fff; position:relative">
  292 +
  293 + <el-tabs type="border-card" >
  294 + <el-tab-pane label="整体效果分析">
  295 + <el-table :data="dataList"
  296 + :header-cell-style="{fontSize: '12px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}"
  297 + style="width: 100%">
  298 + <el-table-column label="主题" width="auto" min-width="12%" align="center">
  299 + <template slot-scope="scope">
  300 + {{scope.$index + 1}}
  301 + </template>
  302 + </el-table-column>
  303 + <el-table-column label="环比比较" width="auto" min-width="15%" align="center">
  304 + <template slot-scope="scope">
  305 + {{scope.$index + 1}}
  306 + </template>
  307 + </el-table-column>
  308 + <el-table-column label="增长量" width="auto" min-width="15%" align="center">
  309 + <template slot-scope="scope">
  310 + {{scope.$index + 1}}
  311 + </template>
  312 + </el-table-column>
  313 + <el-table-column label="增长率" prop="name" width="auto" min-width="15%">
  314 + <template slot-scope="scope">
  315 + {{scope.row.name}}
  316 + </template>
  317 + </el-table-column>
  318 + <el-table-column label="投入总金额" prop="name" width="auto" min-width="15%">
  319 + <template slot-scope="scope">
  320 + {{scope.row.name}}
  321 + </template>
  322 + </el-table-column>
  323 + <el-table-column label="投入产出比" prop="name" width="auto" min-width="15%">
  324 + <template slot-scope="scope">
  325 + {{scope.row.name}}
  326 + </template>
  327 + </el-table-column>
  328 + </el-table>
  329 + </el-tab-pane>
  330 +
  331 +
  332 + </el-tabs>
  333 + </div>
  334 +
  335 + </div>
  336 + </el-dialog>
  337 + <el-dialog :visible.sync="touShow" custom-class='xiaoguo_css' style="padding: 0;" width="75%"
  338 + center :close-on-click-modal="false" :close-on-press-escape="false">
  339 + <div style="padding:15px;background-color:#F9F9F9;font-size:14px;border:1px solid #ECECEC;margin-bottom:20px">
  340 + {{title}}
  341 + </div>
  342 +
  343 + <div style="padding:0 20px;margin-top:20px;">
  344 +
  345 + <el-table :data="tableData"
  346 + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"
  347 + align="left">
  348 + <el-table-column label="序号" min-width="10%" prop="id" >
  349 + <template slot-scope="scope">
  350 + {{scope.$index +1 }}
  351 + </template>
  352 + </el-table-column>
  353 + <el-table-column label="渠道名称" prop="channelName" min-width="30%">
  354 + </el-table-column>
  355 + <el-table-column label="投放周期" prop="releaseCycle" min-width="30%" v-if="title=='投放周期管理'">
  356 + </el-table-column>
  357 + <el-table-column label="投放费用" prop="deliveryCost" min-width="30%" v-if="title=='投放费用管理'">
  358 + </el-table-column>
  359 + <el-table-column label="投放效果评价" prop="deliveryEffect" min-width="30%" v-if="title=='投放效果评价管理'">
  360 + </el-table-column>
  361 +
  362 + <el-table-column label="操作" min-width="30%">
  363 + <template slot-scope="scope">
  364 + <div @click="addbuss(2,scope.row)" class="tableBtn greens">查看</div>
  365 + <div @click="peicao('releaseCycle',scope.row)" class="tableBtn greens" v-if="title=='投放周期管理'">投放周期设置</div>
  366 + <div @click="peicao('deliveryCost',scope.row)" class="tableBtn greens" v-if="title=='投放费用管理'">投放费用设置</div>
  367 + <div @click="peicao('deliveryEffect',scope.row)" class="tableBtn greens" v-if="title=='投放效果评价管理'">评价</div>
  368 + </template>
  369 + </el-table-column>
  370 + </el-table>
  371 +
  372 + </div>
  373 + </el-dialog>
  374 + <el-dialog :visible.sync="peiShow" custom-class='bian_css' style="padding: 0;" width="45%"
  375 + :close-on-press-escape="false" center :close-on-click-modal="false" class="dialog_css_Xq" :show-close="false">
  376 + <div style="padding:20px;">
  377 + <div style="font-size: 14px;padding-bottom: 20px;color: #000;">{{title}}</div>
  378 + <el-form label-position="right" ref="jibenFrom" :model="peiForm" label-width="140px"
  379 + style="position: relative">
  380 + <el-form-item label="投放周期" class="grid-content bg-purple device-from" prop="auditReminderTime" v-if="title=='投放周期管理'">
  381 + <el-date-picker style="width:240px;margin-right:5px" v-model="peiForm.auditReminderTime"
  382 + value-format="yyyy-MM-dd HH:mm:ss" type="datetime" prefix-icon="none" >
  383 + </el-date-picker>
  384 + </el-form-item>
  385 + <el-form-item label="投放费用" class="grid-content bg-purple device-from" prop="auditReminderTime" v-if="title=='投放费用管理'">
  386 + <el-input v-model="peiForm.auditReminderTime" placeholder="请输入" />
  387 + </el-form-item>
  388 + <el-form-item label="评级" class="grid-content bg-purple device-from" prop="auditReminderTime" v-if="title=='投放效果评价管理'">
  389 + <el-input v-model="peiForm.auditReminderTime" placeholder="请输入" />
  390 + </el-form-item>
  391 + </el-form>
  392 + <div style="padding-top:20px;display:flex;justify-content: flex-end;">
  393 + <el-button style="background-color: #3F9B6A;color: #fff"
  394 + @click="peiCheck">确定</el-button>
  395 + <el-button @click="peiShow = false" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" class="buttonHover">取消</el-button>
  396 +
  397 + </div>
  398 +
  399 + </div>
  400 +
  401 + </el-dialog>
207 </div> 402 </div>
208 403
209 </template> 404 </template>
@@ -215,7 +410,8 @@ @@ -215,7 +410,8 @@
215 quGetOne, 410 quGetOne,
216 quAdd, 411 quAdd,
217 quEdit, 412 quEdit,
218 - quDel 413 + quDel,
  414 + statisticalAnalysis
219 } from '@/api/account.js' 415 } from '@/api/account.js'
220 import { 416 import {
221 cereGet, 417 cereGet,
@@ -224,6 +420,7 @@ @@ -224,6 +420,7 @@
224 cereDel 420 cereDel
225 } from '../../api/activityBz' 421 } from '../../api/activityBz'
226 import upimg from "@/components/ImageUpload/index" 422 import upimg from "@/components/ImageUpload/index"
  423 + import * as echarts from 'echarts'
227 export default { 424 export default {
228 components: { upimg}, 425 components: { upimg},
229 data() { 426 data() {
@@ -291,7 +488,21 @@ @@ -291,7 +488,21 @@
291 children: 'children', 488 children: 'children',
292 label: 'classificationName' 489 label: 'classificationName'
293 }, 490 },
294 - xianFenlei:[] 491 + xianFenlei:[],
  492 + xiaoguoBox:false,
  493 + chart: null, //饼图
  494 + chart1: null, //漏斗图
  495 + dataList:[],
  496 + xiaoguoList:[],
  497 + touShow:false,
  498 + title:'',
  499 +
  500 + peiShow:false,
  501 + peiForm:{
  502 + auditReminderTime:''
  503 + },
  504 + ziduan:''
  505 +
295 } 506 }
296 }, 507 },
297 computed: {}, 508 computed: {},
@@ -549,6 +760,151 @@ @@ -549,6 +760,151 @@
549 } 760 }
550 this.getAll() 761 this.getAll()
551 }, 762 },
  763 + async xiaoguo() {
  764 + // let res = await statisticalAnalysis()
  765 + // this.xiaoguoList = res.data
  766 + this.xiaoguoBox = true
  767 + this.$nextTick(() => {
  768 + this.shopLiu(this.$refs.shopL);
  769 + this.jiaoLiu(this.$refs.jiaoL);
  770 + this.resizeChart = () => {
  771 + try {
  772 + this.chart.resize();
  773 + this.chart1.resize();
  774 + } catch (error) {
  775 + console.log(error);
  776 + }
  777 + };
  778 + window.addEventListener('resize', this.resizeChart, false); // false代表事件句柄在冒泡阶段执行
  779 + })
  780 + },
  781 + shopLiu(Dom){
  782 + this.chart = echarts.init(Dom)
  783 + let option = {
  784 + tooltip: {
  785 + trigger: 'item'
  786 + },
  787 +
  788 + legend: {
  789 + textStyle:{
  790 + fontSize: 14
  791 + },
  792 + icon:'circle',
  793 + top: '40%',
  794 + left: '65%'
  795 + },
  796 + color:['#50B5FF','#FFC542','#8167F5','#FF7474','#58A3F7'],
  797 + series: [
  798 + {
  799 + type: 'pie',
  800 + radius: ['40%', '70%'],
  801 + center:['35%','60%'],
  802 + avoidLabelOverlap: false,
  803 + padAngle: 5,
  804 + itemStyle: {
  805 + borderRadius: 10
  806 + },
  807 + label: {
  808 + show: false,
  809 + position: 'center',
  810 + formatter: '{c}'
  811 + },
  812 + emphasis: {
  813 + label: {
  814 + show: true,
  815 + fontSize: 16,
  816 + }
  817 + },
  818 + labelLine: {
  819 + show: false
  820 + },
  821 + data: [
  822 + { value: 1048, name: '0-20' },
  823 + { value: 735, name: '20-30' },
  824 + { value: 580, name: '30-40' },
  825 + { value: 484, name: '40-50' },
  826 + { value: 300, name: '50-60' }
  827 + ]
  828 + }
  829 + ]
  830 + }
  831 + this.chart.setOption(option)
  832 + },
  833 + jiaoLiu(Dom){
  834 + this.chart1 = echarts.init(Dom)
  835 + let option = {
  836 + tooltip: {
  837 + trigger: 'item',
  838 + formatter: '{b} : {c}%'
  839 + },
  840 + series: [
  841 + {
  842 + type: 'funnel',
  843 + left: '10%',
  844 + top: 60,
  845 + bottom: 30,
  846 + width: '70%',
  847 + min: 0,
  848 + max: 100,
  849 + minSize: '45%',
  850 + maxSize: '100%',
  851 + sort: 'descending',
  852 + gap: 2,
  853 + label: {
  854 + show: true,
  855 + position: 'inside'
  856 + },
  857 + labelLine: {
  858 + length: 10,
  859 + lineStyle: {
  860 + width: 1,
  861 + type: 'solid'
  862 + }
  863 + },
  864 + itemStyle: {
  865 + borderColor: '#fff',
  866 + borderWidth: 1
  867 + },
  868 + emphasis: {
  869 + label: {
  870 + fontSize: 20
  871 + }
  872 + },
  873 + color:['#50B5FF','#5AD8A6','#5D7092','#F6BD16'],
  874 + data: [
  875 + { value: 60, name: '访问人数' },
  876 + { value: 40, name: '提交订单' },
  877 + { value: 20, name: '支付成功' },
  878 + { value: 80, name: '到店消费' },
  879 + ]
  880 + }
  881 + ]
  882 + }
  883 + this.chart1.setOption(option)
  884 + },
  885 + toufang(title){
  886 +
  887 + this.title = title
  888 + this.touShow = true
  889 + },
  890 + peicao(ziduan,item){
  891 +
  892 + this.peiId= item.id
  893 + this.ziduan = ziduan
  894 + this.peiForm.auditReminderTime = ''
  895 + this.peiShow = true
  896 + },
  897 + async peiCheck(){
  898 + if(this.ziduan == 'releaseCycle'){
  899 + await quEdit({id:this.peiId,releaseCycle:this.peiForm.auditReminderTime})
  900 + }else if(this.ziduan == 'deliveryCost'){
  901 + await quEdit({id:this.peiId,deliveryCost:this.peiForm.auditReminderTime})
  902 + }else{
  903 + await quEdit({id:this.peiId,deliveryEffect:this.peiForm.auditReminderTime})
  904 + }
  905 +
  906 + },
  907 +
552 } 908 }
553 } 909 }
554 </script> 910 </script>
@@ -766,8 +1122,16 @@ @@ -766,8 +1122,16 @@
766 font-weight:100 1122 font-weight:100
767 } 1123 }
768 ::v-deep .xiaoguo_css{ 1124 ::v-deep .xiaoguo_css{
  1125 + margin-top:10vh !important;
  1126 + margin-left:10% !important;
769 .el-dialog__body{ 1127 .el-dialog__body{
770 padding:0px !important; 1128 padding:0px !important;
771 } 1129 }
772 } 1130 }
  1131 + ::v-deep .fenlei{
  1132 + .el-dialog__body{
  1133 + padding:0px !important;
  1134 + }
  1135 + }
  1136 +
773 </style> 1137 </style>
yanshouban/src/views/revenue/details/index.vue
@@ -130,7 +130,11 @@ export default { @@ -130,7 +130,11 @@ export default {
130 let res = await getSalesParticular(this.pageIndex) 130 let res = await getSalesParticular(this.pageIndex)
131 this.tableData = res.data.list 131 this.tableData = res.data.list
132 this.total = res.data.total 132 this.total = res.data.total
133 - 133 + this.tableData.map(res=>{
  134 + res.dataIntegrity = this.$decrypt(res.dataIntegrity)
  135 + res.price = this.$decrypt(res.price)
  136 + res.ticketPrice = this.$decrypt(res.ticketPrice)
  137 + })
134 138
135 }, 139 },
136 search(){ 140 search(){
yanshouban/src/views/revenue/totalsales/index.vue
@@ -47,6 +47,9 @@ @@ -47,6 +47,9 @@
47 </el-form-item> 47 </el-form-item>
48 </el-form> 48 </el-form>
49 </div> 49 </div>
  50 + <div>
  51 + <el-button style="background-color: #3F9B6A;color: #fff" @click="daochu">导出</el-button>
  52 + </div>
50 </div> 53 </div>
51 <!-- 表格 --> 54 <!-- 表格 -->
52 <div class="content_table" style="padding: 15px 10px 10px 20px;background-color:#F2F3F5"> 55 <div class="content_table" style="padding: 15px 10px 10px 20px;background-color:#F2F3F5">
@@ -152,7 +155,7 @@ @@ -152,7 +155,7 @@
152 155
153 <script> 156 <script>
154 import * as echarts from 'echarts'; 157 import * as echarts from 'echarts';
155 -import {getTotalSales} from '@/api/piaowu' 158 +import {getTotalSales,excelToTotalSales} from '@/api/piaowu'
156 export default { 159 export default {
157 data() { 160 data() {
158 return { 161 return {
@@ -229,6 +232,12 @@ numOne:0, @@ -229,6 +232,12 @@ numOne:0,
229 let res = await getTotalSales(this.pageIndex) 232 let res = await getTotalSales(this.pageIndex)
230 this.tableData = res.data.list 233 this.tableData = res.data.list
231 this.total = res.data.total 234 this.total = res.data.total
  235 + this.tableData.map(res=>{
  236 +
  237 + res.price = this.$decrypt(res.price)
  238 + res.ticketPrice = this.$decrypt(res.ticketPrice)
  239 + console.log(res.price)
  240 + })
232 // this.echar(res.data.list) 241 // this.echar(res.data.list)
233 let numOne =0 242 let numOne =0
234 let moyeOne =0 243 let moyeOne =0
@@ -239,18 +248,20 @@ numOne:0, @@ -239,18 +248,20 @@ numOne:0,
239 let moyethree =0 248 let moyethree =0
240 249
241 this.tableData.map(item=>{ 250 this.tableData.map(item=>{
242 - moyeOne += item.price 251 + moyeOne += Number(item.price)
243 if(item.ticketChannel == '美团'){ 252 if(item.ticketChannel == '美团'){
244 numOne += item.num 253 numOne += item.num
245 - meimoye+=item.price 254 + meimoye = meimoye + Number(item.price)
246 } 255 }
247 if(item.ticketChannel == '大麦'){ 256 if(item.ticketChannel == '大麦'){
248 numTwo += item.num 257 numTwo += item.num
249 - moyeTwo += item.price 258 +
  259 + moyeTwo = moyeTwo + Number(item.price)
250 } 260 }
251 if(item.ticketChannel == '携程'){ 261 if(item.ticketChannel == '携程'){
252 numthree += item.num 262 numthree += item.num
253 - moyethree += item.price 263 +
  264 + moyethree = moyethree + Number(item.price)
254 } 265 }
255 }) 266 })
256 this.numOne = numOne 267 this.numOne = numOne
@@ -260,9 +271,9 @@ numOne:0, @@ -260,9 +271,9 @@ numOne:0,
260 this.meimoye = meimoye 271 this.meimoye = meimoye
261 this.numthree = numthree 272 this.numthree = numthree
262 this.moyethree = moyethree 273 this.moyethree = moyethree
263 -this.echar2(res.data.list)  
264 -this.echar3(res.data.list)  
265 -this.echar(res.data.list) 274 +this.echar2(this.tableData)
  275 +this.echar3( this.tableData)
  276 +this.echar( this.tableData)
266 }, 277 },
267 search(){ 278 search(){
268 if(this.pageIndex.list.length !=0){ 279 if(this.pageIndex.list.length !=0){
@@ -335,10 +346,10 @@ this.echar(res.data.list) @@ -335,10 +346,10 @@ this.echar(res.data.list)
335 346
336 // 如果存在,则累加值 347 // 如果存在,则累加值
337 if (existingItemIndex !== -1) { 348 if (existingItemIndex !== -1) {
338 - accumulator[existingItemIndex].value += item.price; 349 + accumulator[existingItemIndex].value += Number(item.price);
339 } else { 350 } else {
340 // 如果不存在,则添加新项 351 // 如果不存在,则添加新项
341 - accumulator.push({ name: item.ticketChannel, value: item.price }); 352 + accumulator.push({ name: item.ticketChannel, value:Number(item.price)});
342 } 353 }
343 354
344 return accumulator; 355 return accumulator;
@@ -372,10 +383,10 @@ this.echar(res.data.list) @@ -372,10 +383,10 @@ this.echar(res.data.list)
372 383
373 // 如果存在,则累加值 384 // 如果存在,则累加值
374 if (existingItemIndex !== -1) { 385 if (existingItemIndex !== -1) {
375 - accumulator[existingItemIndex].value += item.price; 386 + accumulator[existingItemIndex].value +=Number(item.price);
376 } else { 387 } else {
377 // 如果不存在,则添加新项 388 // 如果不存在,则添加新项
378 - accumulator.push({ name: item.ticketType, value: item.price }); 389 + accumulator.push({ name: item.ticketType, value: Number(item.price) });
379 } 390 }
380 391
381 return accumulator; 392 return accumulator;
@@ -426,15 +437,43 @@ this.echar(res.data.list) @@ -426,15 +437,43 @@ this.echar(res.data.list)
426 }); 437 });
427 438
428 return sums; 439 return sums;
429 - }  
430 - }, 440 + },
  441 +
431 handleCurrentChange(val) { 442 handleCurrentChange(val) {
432 this.currentPage = val 443 this.currentPage = val
433 }, 444 },
434 handleSizeChange(val) { 445 handleSizeChange(val) {
435 this.pageSize = val 446 this.pageSize = val
436 }, 447 },
  448 + async daochu(){
  449 + let res = await excelToTotalSales(this.pageIndex)
  450 + if(!res){
  451 + return
  452 + }
  453 + const blob = new Blob([res], { type: 'application/vnd.ms-excel' })
  454 + const fileName = '总销售额明细表.xls'
  455 + if ('download' in document.createElement('a')) {
  456 + // 非IE下载
  457 + const elink = document.createElement('a')
  458 + elink.download = fileName
  459 + elink.style.display = 'none'
  460 + elink.href = URL.createObjectURL(blob)
  461 + document.body.appendChild(elink)
  462 + elink.click()
  463 + URL.revokeObjectURL(elink.href) // 释放URL 对象
  464 + document.body.removeChild(elink)
  465 + } else {
  466 + // IE10+下载
  467 + navigator.msSaveBlob(blob, fileName)
  468 + }
  469 + this.$message({
  470 + message: '导出成功',
  471 + type: 'success'
  472 + })
  473 +
437 474
  475 + },
  476 + }
438 } 477 }
439 </script> 478 </script>
440 479
yanshouban/src/views/scheme/addressguan.vue
@@ -9,7 +9,7 @@ @@ -9,7 +9,7 @@
9 <div class="formSearch"> 9 <div class="formSearch">
10 <div class="demo-input-suffix"> 10 <div class="demo-input-suffix">
11 <div style="width:68px;height:36px;line-height:32px;">位置</div> 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"> 12 + <el-input placeholder="请输入" v-model="formSel.locationName" style="width:168px;margin-right: 15px">
13 </el-input> 13 </el-input>
14 </div> 14 </div>
15 <div> 15 <div>
@@ -34,9 +34,9 @@ @@ -34,9 +34,9 @@
34 {{scope.$index +1}} 34 {{scope.$index +1}}
35 </template> 35 </template>
36 </el-table-column> 36 </el-table-column>
37 - <el-table-column label="位置名称" prop="policyName" min-width="200" > 37 + <el-table-column label="位置名称" prop="locationName" min-width="200" >
38 </el-table-column> 38 </el-table-column>
39 - <el-table-column label="创建时间" prop="applicableResources" min-width="100" > 39 + <el-table-column label="创建时间" prop="createDate" min-width="100" >
40 </el-table-column> 40 </el-table-column>
41 <el-table-column label="操作" min-width="200" > 41 <el-table-column label="操作" min-width="200" >
42 <template slot-scope="scope"> 42 <template slot-scope="scope">
@@ -55,8 +55,8 @@ @@ -55,8 +55,8 @@
55 :close-on-click-modal="false" > 55 :close-on-click-modal="false" >
56 <div style="padding:20px;" class="xinFrom"> 56 <div style="padding:20px;" class="xinFrom">
57 <el-form :model="form" ref="ruleForm" label-width="80px"> 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> 58 + <el-form-item label="商铺位置" prop="locationName">
  59 + <el-input v-model="form.locationName" placeholder="请输入" style="width: 87%;margin-right: 15px" maxlength="50"></el-input>
60 </el-form-item> 60 </el-form-item>
61 61
62 </el-form> 62 </el-form>
@@ -69,6 +69,8 @@ @@ -69,6 +69,8 @@
69 </div> 69 </div>
70 </div> 70 </div>
71 </el-dialog> 71 </el-dialog>
  72 + <el-button @click="quxiao()" style="background-color: #fff;color: #000;border: 1px solid #B1B1B1;"
  73 + class="buttonHover">取 消</el-button>
72 </div> 74 </div>
73 </template> 75 </template>
74 76
@@ -78,6 +80,10 @@ @@ -78,6 +80,10 @@
78 ceAdd, 80 ceAdd,
79 ceEdit, 81 ceEdit,
80 ceDel, 82 ceDel,
  83 + addAddress,
  84 + deleteAddress,
  85 + editAddress,
  86 + getAllAddress,
81 } from '../../api/sam.js' 87 } from '../../api/sam.js'
82 import wangEditor from "@/components/editor/index" 88 import wangEditor from "@/components/editor/index"
83 import upimg from "@/components/ImageUpload/index" 89 import upimg from "@/components/ImageUpload/index"
@@ -95,7 +101,9 @@ @@ -95,7 +101,9 @@
95 data() { 101 data() {
96 return { 102 return {
97 formSel:{ 103 formSel:{
98 - policyName:'' 104 + locationName:'',
  105 + pageNumber: 1,
  106 + pageSize: 10,
99 }, 107 },
100 tableData:[], 108 tableData:[],
101 currentPage: 1, 109 currentPage: 1,
@@ -104,10 +112,14 @@ @@ -104,10 +112,14 @@
104 pageSize: 10, 112 pageSize: 10,
105 xinShow:false, 113 xinShow:false,
106 form:{ 114 form:{
107 - policyName:'',  
108 - },  
109 - index:0 115 + locationName:'',
110 116
  117 + },
  118 + index:0,
  119 + formPage:{
  120 + pageNumber: 1,
  121 + pageSize: 10,
  122 + },
111 } 123 }
112 }, 124 },
113 125
@@ -120,38 +132,101 @@ this.getAll() @@ -120,38 +132,101 @@ this.getAll()
120 }, 132 },
121 133
122 methods: { 134 methods: {
123 - getAll(){  
124 - 135 + async getAll(){
  136 + let res = await getAllAddress(this.formPage)
  137 + this.tableData = res.data.content
  138 + this.total = res.data.numberOfElements
125 }, 139 },
126 handleCurrentChange(){ 140 handleCurrentChange(){
127 141
128 }, 142 },
129 - onSubmit(){  
130 - 143 + async onSubmit(){
  144 + let res = await getAllAddress(this.formSel)
  145 + this.tableData = res.data.content
  146 + this.total = res.data.numberOfElements
131 }, 147 },
132 resetting(){ 148 resetting(){
133 - 149 + this.formSel={
  150 + locationName:'',
  151 + pageNumber: 1,
  152 + pageSize: 10,
  153 + }
  154 + this.getAll()
134 }, 155 },
135 closeFn(){ 156 closeFn(){
136 157
137 this.xinShow = false 158 this.xinShow = false
138 this.getAll() 159 this.getAll()
139 }, 160 },
140 - addCheck(){  
141 - this.xinShow = false  
142 -this.getAll() 161 + addCheck(index){
  162 + if(index ==0){
  163 + addAddress(this.form).then(res=>{
  164 + this.$message({
  165 + message: '新增成功',
  166 + type: 'success'
  167 + })
  168 + this.getAll()
  169 + this.xinShow = false
  170 + })
  171 + }else{
  172 + editAddress(this.form).then(res=>{
  173 + this.$message({
  174 + message: '修改成功',
  175 + type: 'success'
  176 + })
  177 + this.getAll()
  178 + this.xinShow = false
  179 + })
  180 + }
  181 +
  182 +
  183 +
143 }, 184 },
144 addbuss(){ 185 addbuss(){
145 this.index = 0 186 this.index = 0
146 this.xinShow = true 187 this.xinShow = true
147 }, 188 },
148 - handleEditForm(){ 189 + handleEditForm(item){
149 this.index =1 190 this.index =1
  191 + this.form = item
150 this.xinShow = true 192 this.xinShow = true
151 }, 193 },
152 - handleDelete(){ 194 + handleDelete(item){
  195 +
  196 + const h = this.$createElement;
  197 + this.$msgbox({
  198 + title: '消息',
  199 + message: h('p', null, [
  200 + h('span', null, '是否删除 '),
  201 + ]),
  202 + showCancelButton: true,
  203 + showClose: false,
  204 + confirmButtonText: '确定',
  205 + cancelButtonText: '取消',
  206 + customClass: 'oe-dialog-btn',
  207 + beforeClose: (action, instance, done) => {
  208 + if (action === 'confirm') {
  209 + deleteAddress({
  210 + id: item.id
  211 + }).then(res => {
  212 + this.$message({
  213 + message: '删除成功',
  214 + type: 'success'
  215 + })
  216 + this.getAll()
  217 + done();
  218 + })
  219 + } else {
  220 + done();
  221 + }
  222 + }
  223 + })
  224 +
153 225
154 }, 226 },
  227 + quxiao(){
  228 + this.$emit('addClose', false);
  229 + },
155 } 230 }
156 } 231 }
157 </script> 232 </script>
yanshouban/src/views/scheme/planningBz.vue
@@ -36,6 +36,8 @@ @@ -36,6 +36,8 @@
36 <div style="margin:20px 0;display:flex;"> 36 <div style="margin:20px 0;display:flex;">
37 <el-button icon="el-icon-circle-plus-outline" @click="addbuss(1)" 37 <el-button icon="el-icon-circle-plus-outline" @click="addbuss(1)"
38 style="background-color: #3F9B6A;color: #fff;padding:8px 15px;">新增</el-button> 38 style="background-color: #3F9B6A;color: #fff;padding:8px 15px;">新增</el-button>
  39 + <el-button @click="addbuss(1)"
  40 + style="background-color: #3F9B6A;color: #fff;padding:8px 15px;">招商规划方案参数化配置</el-button>
39 <el-upload class="upload-demo" ref="upload" 41 <el-upload class="upload-demo" ref="upload"
40 :limit="1" 42 :limit="1"
41 accept=".xlsx" 43 accept=".xlsx"
@@ -77,9 +79,9 @@ @@ -77,9 +79,9 @@
77 <el-table-column label="操作" min-width="250" > 79 <el-table-column label="操作" min-width="250" >
78 <template slot-scope="scope"> 80 <template slot-scope="scope">
79 <div @click="handleEditForm(scope.row,1)" class="tableBtn greens">查看</div> 81 <div @click="handleEditForm(scope.row,1)" class="tableBtn greens">查看</div>
80 - <div @click="handleEditForm(scope.row,2)" class="tableBtn greens" >编辑</div> 82 + <div @click="handleEditForm(scope.row,2)" class="tableBtn greens" v-if="scope.row.reviewStatus == 1">编辑</div>
81 <!-- <div class="tableBtn greens">撤回</div> --> 83 <!-- <div class="tableBtn greens">撤回</div> -->
82 - <div @click="handleDelete(scope.row)" class="tableBtn greens" >删除</div> 84 + <div @click="handleDelete(scope.row)" class="tableBtn greens" v-if="scope.row.reviewStatus == 1">删除</div>
83 </template> 85 </template>
84 </el-table-column> 86 </el-table-column>
85 </el-table> 87 </el-table>
@@ -605,6 +607,7 @@ this.total = res.data.content.length @@ -605,6 +607,7 @@ this.total = res.data.content.length
605 }, 607 },
606 closexaing(val){ 608 closexaing(val){
607 this.xiang = false 609 this.xiang = false
  610 + this.getAll()
608 }, 611 },
609 handleClick() { 612 handleClick() {
610 613
@@ -628,7 +631,8 @@ this.total = res.data.content.length @@ -628,7 +631,8 @@ this.total = res.data.content.length
628 this.getAll() 631 this.getAll()
629 }, 632 },
630 yulanFu(item){ 633 yulanFu(item){
631 - console.log(item) 634 + window.location.href =item.url ;
  635 +
632 }, 636 },
633 getCurrentDateRange() { 637 getCurrentDateRange() {
634 const today = new Date(); 638 const today = new Date();
yanshouban/src/views/scheme/planningPar.vue
@@ -142,7 +142,7 @@ @@ -142,7 +142,7 @@
142 </el-row> 142 </el-row>
143 <el-row :gutter="20"> 143 <el-row :gutter="20">
144 <el-form-item label="附件信息"> 144 <el-form-item label="附件信息">
145 - <div style="color: #3F9B6A;" v-if="secondData.annex"> 145 + <div style="color: #3F9B6A;" v-if="secondData.annex" @click="yulanFu(secondData.annex)">
146 {{secondData.annex.name}} 146 {{secondData.annex.name}}
147 </div> 147 </div>
148 <!-- <el-upload class="upload-demo" ref="upload" :action="upload" :on-preview="handlePreview" 148 <!-- <el-upload class="upload-demo" ref="upload" :action="upload" :on-preview="handlePreview"
@@ -638,6 +638,7 @@ @@ -638,6 +638,7 @@
638 pageindex: { 638 pageindex: {
639 pageNumber: 1, 639 pageNumber: 1,
640 pageSize: 10, 640 pageSize: 10,
  641 + reviewStatus:'1'
641 }, 642 },
642 fileList: [], 643 fileList: [],
643 ggXinShow:true, 644 ggXinShow:true,
@@ -754,6 +755,10 @@ this.total = res.data.content.length @@ -754,6 +755,10 @@ this.total = res.data.content.length
754 755
755 this.xiang = true 756 this.xiang = true
756 }, 757 },
  758 + yulanFu(item){
  759 + window.location.href =item.url ;
  760 +
  761 + },
757 } 762 }
758 } 763 }
759 </script> 764 </script>
yanshouban/src/views/scheme/sam.vue
@@ -365,6 +365,7 @@ this.getAll() @@ -365,6 +365,7 @@ this.getAll()
365 closexaing(val){ 365 closexaing(val){
366 366
367 this.xiang = false 367 this.xiang = false
  368 + this.getAll()
368 }, 369 },
369 handleClick() { 370 handleClick() {
370 371
yanshouban/src/views/scheme/samXin.vue
@@ -50,7 +50,7 @@ @@ -50,7 +50,7 @@
50 </el-col> 50 </el-col>
51 <el-col :span="12"> 51 <el-col :span="12">
52 <el-form-item label="租金价格" prop="rentalPrice"> 52 <el-form-item label="租金价格" prop="rentalPrice">
53 - <el-input v-model.number="form.rentalPrice" placeholder="请输入" style="width: 72%;margin-right: 15px;" maxlength="30"> 53 + <el-input v-model="form.rentalPrice" placeholder="请输入" style="width: 72%;margin-right: 15px;" maxlength="30">
54 <template slot="suffix"><span 54 <template slot="suffix"><span
55 style="position: absolute;top: 19px;right: 1px;width: 50px;">元/m<sup>2</sup></span></template> 55 style="position: absolute;top: 19px;right: 1px;width: 50px;">元/m<sup>2</sup></span></template>
56 <!-- <i slot="suffix" class="el-input__icon el-icon-date"></i> --> 56 <!-- <i slot="suffix" class="el-input__icon el-icon-date"></i> -->
@@ -223,7 +223,7 @@ @@ -223,7 +223,7 @@
223 </el-col> 223 </el-col>
224 <el-col :span="12"> 224 <el-col :span="12">
225 <el-form-item label="租金价格" prop="rentalPrice"> 225 <el-form-item label="租金价格" prop="rentalPrice">
226 - <el-input v-model.number="formInline.rentalPrice" placeholder="请输入" style="width: 72%;margin-right: 15px" maxlength="30"> 226 + <el-input v-model="formInline.rentalPrice" placeholder="请输入" style="width: 72%;margin-right: 15px" maxlength="30">
227 <template slot="suffix"><span 227 <template slot="suffix"><span
228 style="position: absolute;top: 19px;right: 1px;width: 50px;">元/m<sup>2</sup></span></template> 228 style="position: absolute;top: 19px;right: 1px;width: 50px;">元/m<sup>2</sup></span></template>
229 </el-input> 229 </el-input>
@@ -391,10 +391,6 @@ @@ -391,10 +391,6 @@
391 message: '请输入租金价格' 391 message: '请输入租金价格'
392 }, 392 },
393 { 393 {
394 - type: 'number',  
395 - message: '必须为数字值'  
396 - },  
397 - {  
398 validator: (rule, value, callback) => { 394 validator: (rule, value, callback) => {
399 if (value <= 0) { 395 if (value <= 0) {
400 callback(new Error('租金价格必须大于0')); 396 callback(new Error('租金价格必须大于0'));
yanshouban/src/views/serve/kefuServe/index.vue
@@ -7,16 +7,8 @@ @@ -7,16 +7,8 @@
7 </div> 7 </div>
8 <!-- 搜索 --> 8 <!-- 搜索 -->
9 <!-- <div class="formSearch"> 9 <!-- <div class="formSearch">
10 - <el-form :inline="true" :model="formSel">  
11 - <el-form-item label="标题">  
12 - <el-input v-model="formSel.title" placeholder="请输入" style="width:168px;" />  
13 - </el-form-item>  
14 - </el-form>  
15 <div> 10 <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: #606266;border: 1px solid #dddfe5;background-color: #fff;">重置 11 + <el-button @click="setPei" style="background-color: #3F9B6A;color: #fff">报修流程配置
20 </el-button> 12 </el-button>
21 </div> 13 </div>
22 </div> --> 14 </div> -->
@@ -44,16 +36,23 @@ @@ -44,16 +36,23 @@
44 <el-table-column label="设备名称" prop="deviceName" width="auto" min-width="12%" /> 36 <el-table-column label="设备名称" prop="deviceName" width="auto" min-width="12%" />
45 <el-table-column label="备注" prop="memo" width="auto" min-width="12%" /> 37 <el-table-column label="备注" prop="memo" width="auto" min-width="12%" />
46 38
47 - <el-table-column label="申请时间" prop="applicationTime" width="auto" min-width="12%" />  
48 39
  40 + <el-table-column label="申请时间" prop="applicationTime" width="auto" min-width="12%" />
  41 + <el-table-column label="报修到期时间" prop="repairEndTime" width="auto" min-width="12%" />
  42 + <el-table-column label="报修人" prop="repairman" width="auto" min-width="12%" />
  43 +<el-table-column label="状态" prop="repairStatus" width="auto" min-width="12%" >
  44 + <template slot-scope="scope">
  45 + {{scope.row.repairStatus==0?'暂未派单':scope.row.repairStatus==1?'已派单':scope.row.repairStatus==2?'已完成':scope.row.repairStatus==3?'已过期':''}}
  46 + </template>
  47 + </el-table-column>
49 <el-table-column label="操作" width="auto" min-width="17%"> 48 <el-table-column label="操作" width="auto" min-width="17%">
50 <template slot-scope="scope"> 49 <template slot-scope="scope">
51 <div class="tableBtn greens" @click="handleEditForm(scope.row)"> 50 <div class="tableBtn greens" @click="handleEditForm(scope.row)">
52 查看 51 查看
53 </div> 52 </div>
54 - <!-- <div class="tableBtn greens">  
55 - 再次发布  
56 - </div> --> 53 +<div class="tableBtn greens" @click="setPei(scope.row)">
  54 + 报修流程配置
  55 + </div>
57 <div class="tableBtn greens" @click="delGuan(scope.row,1)"> 56 <div class="tableBtn greens" @click="delGuan(scope.row,1)">
58 删除 57 删除
59 </div> 58 </div>
@@ -86,6 +85,7 @@ @@ -86,6 +85,7 @@
86 <el-table-column label="问题描述" prop="problemDescription" width="auto" min-width="12%" /> 85 <el-table-column label="问题描述" prop="problemDescription" width="auto" min-width="12%" />
87 <el-table-column label="备注" prop="remark" width="auto" min-width="12%" /> 86 <el-table-column label="备注" prop="remark" width="auto" min-width="12%" />
88 <el-table-column label="申请时间" prop="applicationTime" width="auto" min-width="12%" /> 87 <el-table-column label="申请时间" prop="applicationTime" width="auto" min-width="12%" />
  88 +
89 <el-table-column label="操作" width="auto" min-width="17%"> 89 <el-table-column label="操作" width="auto" min-width="17%">
90 <template slot-scope="scope"> 90 <template slot-scope="scope">
91 <div class="tableBtn greens" @click="handleEditForm(scope.row)"> 91 <div class="tableBtn greens" @click="handleEditForm(scope.row)">
@@ -158,6 +158,31 @@ @@ -158,6 +158,31 @@
158 158
159 </div> 159 </div>
160 </div> 160 </div>
  161 + <el-dialog :visible.sync="setPeiShow" custom-class='bian_css' style="padding: 0;" width="45%"
  162 + :close-on-press-escape="false" center :close-on-click-modal="false" class="dialog_css_Xq" :show-close="false">
  163 + <div style="padding:20px;">
  164 + <div style="font-size: 14px;padding-bottom: 20px;color: #000;">报修流程配置</div>
  165 + <el-form label-position="right" ref="jibenFrom" :model="peiForm" label-width="140px"
  166 + style="position: relative">
  167 + <el-form-item label="报修到期时间" class="grid-content bg-purple device-from" prop="repairEndTime">
  168 + <el-date-picker style="width:240px;margin-right:5px" v-model="peiForm.repairEndTime"
  169 + value-format="yyyy-MM-dd HH:mm:ss" type="datetime" prefix-icon="none" >
  170 + </el-date-picker>
  171 + </el-form-item>
  172 + <el-form-item label="报修人" class="grid-content bg-purple device-from" prop="repairman">
  173 + <el-input v-model="peiForm.repairman" placeholder="请输入" style="margin-top:5px;" maxlength="20"/>
  174 + </el-form-item>
  175 + </el-form>
  176 + <div style="padding-top:20px;display:flex;justify-content: flex-end;">
  177 + <el-button style="background-color: #3F9B6A;color: #fff"
  178 + @click="peiCheck">确定</el-button>
  179 + <el-button @click="setPeiShow = false" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" class="buttonHover">取消</el-button>
  180 +
  181 + </div>
  182 +
  183 + </div>
  184 +
  185 + </el-dialog>
161 </div> 186 </div>
162 </template> 187 </template>
163 188
@@ -172,6 +197,7 @@ @@ -172,6 +197,7 @@
172 ReportDel, 197 ReportDel,
173 ComplaintGetAll, 198 ComplaintGetAll,
174 ComplaintDel, 199 ComplaintDel,
  200 + Reportedit
175 } from '../../../api/kefuServeBao.js' 201 } from '../../../api/kefuServeBao.js'
176 202
177 export default { 203 export default {
@@ -210,6 +236,15 @@ @@ -210,6 +236,15 @@
210 pageSize: 10, 236 pageSize: 10,
211 }, 237 },
212 fabutype:'1', 238 fabutype:'1',
  239 + setPeiShow:false,
  240 + peiForm:{
  241 + repairEndTime:'',
  242 + repairman:'',
  243 + peiId:'',
  244 + id:''
  245 + }
  246 +
  247 +
213 } 248 }
214 }, 249 },
215 250
@@ -359,7 +394,26 @@ @@ -359,7 +394,26 @@
359 }, 394 },
360 radioClick(tiem){ 395 radioClick(tiem){
361 this.ruleForm.time ='' 396 this.ruleForm.time =''
362 - } 397 + },
  398 + setPei(item){
  399 + this.peiForm = {
  400 + repairEndTime:'',
  401 + repairman:'',
  402 + id:'',
  403 + }
  404 +
  405 + this.peiForm.id= item.id
  406 + this.setPeiShow = true
  407 + },
  408 + async peiCheck(){
  409 + if (this.peiForm.repairEndTime) {
  410 + this.peiForm.repairEndTime = new Date(this.peiForm.repairEndTime);
  411 + }
  412 + await Reportedit(this.peiForm)
  413 + this.setPeiShow = false
  414 + this.getAll()
  415 +
  416 + },
363 } 417 }
364 }; 418 };
365 </script> 419 </script>
yanshouban/src/views/serve/procedure.vue
@@ -42,7 +42,12 @@ @@ -42,7 +42,12 @@
42 width="auto" 42 width="auto"
43 min-width="12%" 43 min-width="12%"
44 /> 44 />
45 - 45 + <el-table-column
  46 + label="信息类型"
  47 + prop="informationType"
  48 + width="auto"
  49 + min-width="12%"
  50 + />
46 <el-table-column 51 <el-table-column
47 label="创建时间" 52 label="创建时间"
48 prop="releaseTime" 53 prop="releaseTime"
@@ -178,9 +183,9 @@ @@ -178,9 +183,9 @@
178 font-size: 14px; 183 font-size: 14px;
179 " 184 "
180 > 185 >
181 - {{secondData.announcementTitle}} 186 + {{secondData.informationType}}
182 </div> 187 </div>
183 - <el-select v-model="secondData.contentCategory" placeholder="请选择" v-else> 188 + <el-select v-model="secondData.informationType" placeholder="请选择" v-else>
184 <el-option label="通知" value="通知" /> 189 <el-option label="通知" value="通知" />
185 <el-option label="热点租赁信息" value="热点租赁信息" /> 190 <el-option label="热点租赁信息" value="热点租赁信息" />
186 <el-option label="广告信息" value="广告信息" /> 191 <el-option label="广告信息" value="广告信息" />
@@ -292,8 +297,8 @@ @@ -292,8 +297,8 @@
292 size="mini" 297 size="mini"
293 /> 298 />
294 </el-form-item> 299 </el-form-item>
295 - <el-form-item label="信息类型" prop="contentCategory">  
296 - <el-select v-model="formSel.contentCategory" placeholder="请选择" style="width: 168px;"> 300 + <el-form-item label="信息类型" prop="informationType">
  301 + <el-select v-model="ruleForm.informationType" placeholder="请选择" style="width: 168px;">
297 <el-option label="通知" value="通知" /> 302 <el-option label="通知" value="通知" />
298 <el-option label="热点租赁信息" value="热点租赁信息" /> 303 <el-option label="热点租赁信息" value="热点租赁信息" />
299 <el-option label="广告信息" value="广告信息" /> 304 <el-option label="广告信息" value="广告信息" />
@@ -372,6 +377,7 @@ export default { @@ -372,6 +377,7 @@ export default {
372 }, 377 },
373 ruleForm: { 378 ruleForm: {
374 announcementTitle:'',//公告标题 379 announcementTitle:'',//公告标题
  380 + informationType:'',
375 announcementContent:'',//公告内容 381 announcementContent:'',//公告内容
376 releaseTime:''//时间 382 releaseTime:''//时间
377 }, 383 },
yanshouban/src/views/shopRental/manage/index.vue
@@ -46,8 +46,9 @@ @@ -46,8 +46,9 @@
46 :action="uploadFileUrl" 46 :action="uploadFileUrl"
47 :on-success="daoru" 47 :on-success="daoru"
48 :file-list="fileData" 48 :file-list="fileData"
49 - :auto-upload="true"  
50 - :show-file-list="false"> 49 + :auto-upload="true"
  50 + :show-file-list="false"
  51 + multiple >
51 <el-button style="background-color: #fff;color: #3F9B6A;border: 1px solid #dcdfe6;" class="buttonHover">导入</el-button> 52 <el-button style="background-color: #fff;color: #3F9B6A;border: 1px solid #dcdfe6;" class="buttonHover">导入</el-button>
52 </el-upload> 53 </el-upload>
53 </div> 54 </div>
@@ -359,21 +360,30 @@ @@ -359,21 +360,30 @@
359 合同签订日期 360 合同签订日期
360 </template> 361 </template>
361 <div v-if="index ==2">{{heForm.contractSigningDate}}</div> 362 <div v-if="index ==2">{{heForm.contractSigningDate}}</div>
362 - <el-input v-model="heForm.contractSigningDate" style="width:100%;" v-else placeholder="请输入"/> 363 + <!-- <el-input v-model="heForm.contractSigningDate" style="width:100%;" v-else placeholder="请输入"/> -->
  364 + <el-date-picker v-model="heForm.contractSigningDate"
  365 + value-format="yyyy-MM-dd HH:mm:ss" type="datetime" v-else placeholder="请选择" prefix-icon="none">
  366 + </el-date-picker>
363 </el-descriptions-item> 367 </el-descriptions-item>
364 <el-descriptions-item> 368 <el-descriptions-item>
365 <template slot="label"> 369 <template slot="label">
366 合同终止日期 370 合同终止日期
367 </template> 371 </template>
368 <div v-if="index ==2">{{heForm.contractTerminationDate}}</div> 372 <div v-if="index ==2">{{heForm.contractTerminationDate}}</div>
369 - <el-input v-model="heForm.contractTerminationDate" style="width:100%;" v-else placeholder="请输入"/> 373 + <!-- <el-input v-model="heForm.contractTerminationDate" style="width:100%;" v-else placeholder="请输入"/> -->
  374 + <el-date-picker v-model="heForm.contractTerminationDate"
  375 + value-format="yyyy-MM-dd HH:mm:ss" type="datetime" v-else placeholder="请选择" prefix-icon="none">
  376 + </el-date-picker>
370 </el-descriptions-item> 377 </el-descriptions-item>
371 <el-descriptions-item> 378 <el-descriptions-item>
372 <template slot="label"> 379 <template slot="label">
373 起租日期 380 起租日期
374 </template> 381 </template>
375 <div v-if="index ==2">{{heForm.leaseStartDate}}</div> 382 <div v-if="index ==2">{{heForm.leaseStartDate}}</div>
376 - <el-input v-model="heForm.leaseStartDate" style="width:100%;" v-else placeholder="请输入"/> 383 + <!-- <el-input v-model="heForm.leaseStartDate" style="width:100%;" v-else placeholder="请输入"/> -->
  384 + <el-date-picker v-model="heForm.leaseStartDate"
  385 + value-format="yyyy-MM-dd HH:mm:ss" type="datetime" v-else placeholder="请选择" prefix-icon="none">
  386 + </el-date-picker>
377 </el-descriptions-item> 387 </el-descriptions-item>
378 <el-descriptions-item> 388 <el-descriptions-item>
379 <template slot="label"> 389 <template slot="label">
@@ -1369,7 +1379,8 @@ bianList:{ @@ -1369,7 +1379,8 @@ bianList:{
1369 biangengPan:false, 1379 biangengPan:false,
1370 1380
1371 miList:['telephone','commander','leaseAddress','administrativeRegion','operator','tenant' ], 1381 miList:['telephone','commander','leaseAddress','administrativeRegion','operator','tenant' ],
1372 -hemiList:['earnestMoney','contractAmount','lessorName','telephone','bankAccount','tenantName','tenantTelephone','tenantBankAccount'] 1382 +hemiList:['earnestMoney','contractAmount','lessorName','telephone','bankAccount','tenantName','tenantTelephone','tenantBankAccount'],
  1383 + daoIndex:0
1373 } 1384 }
1374 }, 1385 },
1375 created() { 1386 created() {
@@ -1766,13 +1777,32 @@ this.ggXin = true @@ -1766,13 +1777,32 @@ this.ggXin = true
1766 this.biangengTab.splice(index, 1); 1777 this.biangengTab.splice(index, 1);
1767 }, 1778 },
1768 daoru(response, file, fileList){ 1779 daoru(response, file, fileList){
1769 - this.fileData.push(file.raw)  
1770 - const formDate = new FormData()  
1771 - formDate.append('file', this.fileData[0])  
1772 - excelAdd(formDate).then(res => {  
1773 - this.getAll()  
1774 - }) 1780 + if(this.daoIndex == 0){
  1781 + for(let i=0;i<fileList.length;i++){
  1782 + this.fileData.push(fileList[i].raw)
  1783 + }
  1784 + let uniqueFileData = [...new Set(this.fileData)]; // 使用 Set 去重
  1785 +
  1786 + // 删除值为 undefined 的元素
  1787 + uniqueFileData = uniqueFileData.filter(item => item !== undefined);
  1788 +
  1789 + // 更新 this.fileData
  1790 + this.fileData = uniqueFileData;
  1791 + this.fileData.map(item=>{
  1792 + let formDate = new FormData()
  1793 + formDate.append('file', item)
  1794 + excelAdd(formDate).then(res => {
  1795 + this.getAll()
  1796 +
  1797 + })
  1798 + })
  1799 +
  1800 + this.daoIndex = 1
  1801 + }
  1802 +
  1803 +
1775 }, 1804 },
  1805 +
1776 } 1806 }
1777 } 1807 }
1778 </script> 1808 </script>
yanshouban/src/views/shopRental/warning/index.vue
@@ -818,6 +818,22 @@ @@ -818,6 +818,22 @@
818 const res = await cereLeasingByPage(this.pageindex) 818 const res = await cereLeasingByPage(this.pageindex)
819 this.tableData = res.data.content 819 this.tableData = res.data.content
820 this.total = res.data.content.length 820 this.total = res.data.content.length
  821 + this.tableData.map(item=>{
  822 + res.telephone = this.$decrypt(res.telephone)
  823 + res.commander = this.$decrypt(res.commander)
  824 + res.leaseAddress = this.$decrypt(res.leaseAddress)
  825 + res.administrativeRegion = this.$decrypt(res.administrativeRegion)
  826 + res.operator = this.$decrypt(res.operator)
  827 + res.tenant = this.$decrypt(res.tenant)
  828 + res.cereContractInformation.earnestMoney =this.$decrypt(res.cereContractInformation.earnestMoney)
  829 + res.cereContractInformation.contractAmount =this.$decrypt(res.cereContractInformation.contractAmount)
  830 + res.cereContractInformation.lessorName =this.$decrypt(res.cereContractInformation.lessorName)
  831 + res.cereContractInformation.telephone =this.$decrypt(res.cereContractInformation.telephone)
  832 + res.cereContractInformation.bankAccount =this.$decrypt(res.cereContractInformation.bankAccount)
  833 + res.cereContractInformation.tenantName =this.$decrypt(res.cereContractInformation.tenantName)
  834 + res.cereContractInformation.tenantTelephone =this.$decrypt(res.cereContractInformation.tenantTelephone)
  835 + res.cereContractInformation.tenantBankAccount =this.$decrypt(res.cereContractInformation.tenantBankAccount)
  836 + })
821 }, 837 },
822 // 新增确定按钮 838 // 新增确定按钮
823 async addCheck(val) { 839 async addCheck(val) {