Commit cc74825014670f2f4a81910ecf686eace25b5c5c
1 parent
347e3afc
'2'
Showing
20 changed files
with
8102 additions
and
770 deletions
admin-web-master/src/api/activityBz.js
| ... | ... | @@ -205,3 +205,43 @@ export function copy(data) { |
| 205 | 205 | data |
| 206 | 206 | }) |
| 207 | 207 | } |
| 208 | + | |
| 209 | + | |
| 210 | +// 审核流程导出 | |
| 211 | +export function excelQueryByPage(data) { | |
| 212 | + return request({ | |
| 213 | + url: '/cereEventDetails/excelQueryByPage', | |
| 214 | + method: 'post', | |
| 215 | + data, | |
| 216 | + responseType: 'blob' | |
| 217 | + }) | |
| 218 | +} | |
| 219 | + | |
| 220 | +// 导入 | |
| 221 | +export function excelAdd(data) { | |
| 222 | + return request({ | |
| 223 | + url: '/cereEventDetails/excelAdd', | |
| 224 | + method: 'post', | |
| 225 | + data, | |
| 226 | + headers: { | |
| 227 | + 'Content-type': 'multipart/form-data' | |
| 228 | + } | |
| 229 | + }) | |
| 230 | +} | |
| 231 | + | |
| 232 | +// 效果评估 | |
| 233 | +export function effectEvaluation(data) { | |
| 234 | + return request({ | |
| 235 | + url: `/cereEventDetails/effectEvaluation/${data.id}`, | |
| 236 | + method: 'get', | |
| 237 | + data | |
| 238 | + }) | |
| 239 | +} | |
| 240 | +//历史方案查询 | |
| 241 | +export function lishiDeta(data) { | |
| 242 | + return request({ | |
| 243 | + url: '/cereEventDetailsLog/getAll', | |
| 244 | + method: 'post', | |
| 245 | + data | |
| 246 | + }) | |
| 247 | +} | ... | ... |
admin-web-master/src/views/active/couponlist/couponAdd.vue
| ... | ... | @@ -241,16 +241,6 @@ export default { |
| 241 | 241 | message: '请输入活动介绍', |
| 242 | 242 | trigger: 'blur' |
| 243 | 243 | }], |
| 244 | - date2:[{ | |
| 245 | - required: true, | |
| 246 | - message: '请选择报名时间', | |
| 247 | - trigger: 'change' | |
| 248 | - }], | |
| 249 | - date1:[{ | |
| 250 | - required: true, | |
| 251 | - message: '请选择活动时间', | |
| 252 | - trigger: 'change' | |
| 253 | - }], | |
| 254 | 244 | }, |
| 255 | 245 | } |
| 256 | 246 | }, | ... | ... |
admin-web-master/src/views/activity/activityBian.vue
| ... | ... | @@ -69,6 +69,16 @@ |
| 69 | 69 | </el-form-item> |
| 70 | 70 | </el-col> |
| 71 | 71 | </el-row> |
| 72 | + <el-row :gutter="20"> | |
| 73 | + <el-col :span="12"> | |
| 74 | + <el-form-item label="范围设置" class="grid-content bg-purple" prop="sponsor"> | |
| 75 | + <el-select v-model="secondData.rangeSetting" placeholder="请选择" style="width: 100%"> | |
| 76 | + <el-option label="活动绿道段内" value="活动绿道段内"></el-option> | |
| 77 | + <el-option label="活动场地内" value="活动场地内"></el-option> | |
| 78 | + </el-select> | |
| 79 | + </el-form-item> | |
| 80 | + </el-col> | |
| 81 | + </el-row> | |
| 72 | 82 | <div style="padding: 10px"> |
| 73 | 83 | <el-row :gutter="20"> |
| 74 | 84 | <el-col :span="12"> |
| ... | ... | @@ -269,7 +279,7 @@ |
| 269 | 279 | <div style="padding: 20px;display:flex;justify-content: flex-end"> |
| 270 | 280 | <el-button plain @click="close" class="buttonHover" style="background-color: #fff;color: #000;border: 1px solid #dcdfe6;">返回 |
| 271 | 281 | </el-button> |
| 272 | - <el-button plain @click="bianji" style="background-color: #3F9B6A;color: #fff">确定 | |
| 282 | + <el-button plain @click="bianji" style="background-color: #3F9B6A;color: #fff">保存 | |
| 273 | 283 | </el-button> |
| 274 | 284 | </div> |
| 275 | 285 | |
| ... | ... | @@ -588,7 +598,10 @@ this.fucha(this.secondData.id) |
| 588 | 598 | .greens { |
| 589 | 599 | color: #3F9B6A; |
| 590 | 600 | } |
| 591 | - | |
| 601 | + .tableBtn { | |
| 602 | + display: inline-block; | |
| 603 | + margin-right: 10px; | |
| 604 | + } | |
| 592 | 605 | .el-button--primary{ |
| 593 | 606 | background: #3F9B6A; |
| 594 | 607 | border-color: #3F9B6A; | ... | ... |
admin-web-master/src/views/activity/activityBz.vue
| ... | ... | @@ -88,6 +88,28 @@ |
| 88 | 88 | </el-form-item> |
| 89 | 89 | </el-col> |
| 90 | 90 | </el-row> |
| 91 | + <el-row :gutter="20"> | |
| 92 | + <el-col :span="12"> | |
| 93 | + <el-form-item label="范围设置" class="grid-content bg-purple" prop="sponsor"> | |
| 94 | + <el-select v-model="ruleForm.rangeSetting" placeholder="请选择" style="width: 100%"> | |
| 95 | + <el-option label="活动绿道段内" value="活动绿道段内"></el-option> | |
| 96 | + <el-option label="活动场地内" value="活动场地内"></el-option> | |
| 97 | + </el-select> | |
| 98 | + </el-form-item> | |
| 99 | + </el-col> | |
| 100 | + <el-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> | |
| 112 | + </el-row> | |
| 91 | 113 | <el-row :gutter="20"> |
| 92 | 114 | <el-col :span="12"> |
| 93 | 115 | <el-form-item label="活动主要目的" prop="mainPurpose" class="grid-content bg-purple"> |
| ... | ... | @@ -297,7 +319,9 @@ |
| 297 | 319 | <div style="display: flex;justify-content: flex-end;padding: 10px 20px 10px 0"> |
| 298 | 320 | <el-button @click="close" style="background-color: #3F9B6A;color: #fff;">取消 |
| 299 | 321 | </el-button> |
| 300 | - <el-button @click="onSubmit" style="background-color: #3F9B6A;color: #fff;">确定 | |
| 322 | + <el-button @click="onSubmit(1)" style="background-color: #3F9B6A;color: #fff;">暂存 | |
| 323 | + </el-button> | |
| 324 | + <el-button @click="onSubmit(0)" style="background-color: #3F9B6A;color: #fff;">确定 | |
| 301 | 325 | </el-button> |
| 302 | 326 | </div> |
| 303 | 327 | </div> |
| ... | ... | @@ -347,7 +371,8 @@ |
| 347 | 371 | MingEdit, |
| 348 | 372 | MingDel, |
| 349 | 373 | fujiaAdd, |
| 350 | - imgUp | |
| 374 | + imgUp, | |
| 375 | + lishiDeta | |
| 351 | 376 | } from '../../api/activityBz' |
| 352 | 377 | // import { Editor, Toolbar } from '@wangeditor/editor-for-vue' |
| 353 | 378 | import wangEditor from "@/components/editor/index"; |
| ... | ... | @@ -375,6 +400,7 @@ |
| 375 | 400 | wangEditor, |
| 376 | 401 | upimg |
| 377 | 402 | }, |
| 403 | + | |
| 378 | 404 | data() { |
| 379 | 405 | return { |
| 380 | 406 | uploadFileUrl: uploadUrl, // 请求地址 |
| ... | ... | @@ -393,6 +419,7 @@ |
| 393 | 419 | eventTheme: '', //活动主题 |
| 394 | 420 | sponsor: '', //活动主办方 |
| 395 | 421 | participants: '', //活动参与方 |
| 422 | + rangeSetting:'', | |
| 396 | 423 | mainPurpose: '', //活动主要目的 |
| 397 | 424 | coverPoster: '', //封面海报 |
| 398 | 425 | internalLaborCostEstimation: '', //内部人工成本预估 |
| ... | ... | @@ -468,6 +495,8 @@ |
| 468 | 495 | yugu: null, |
| 469 | 496 | fun: null |
| 470 | 497 | }, |
| 498 | +fenxiData:[], | |
| 499 | +lishiList:'', | |
| 471 | 500 | |
| 472 | 501 | } |
| 473 | 502 | }, |
| ... | ... | @@ -477,6 +506,7 @@ |
| 477 | 506 | }, |
| 478 | 507 | mounted() { |
| 479 | 508 | this.editTrue = true |
| 509 | + this.lishi() | |
| 480 | 510 | }, |
| 481 | 511 | methods: { |
| 482 | 512 | //获取当前时间 |
| ... | ... | @@ -491,6 +521,22 @@ |
| 491 | 521 | |
| 492 | 522 | this.currentTime = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; |
| 493 | 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 | + }, | |
| 494 | 540 | zancun() {}, |
| 495 | 541 | //上传 |
| 496 | 542 | submitUpload() { |
| ... | ... | @@ -558,7 +604,7 @@ |
| 558 | 604 | |
| 559 | 605 | }, |
| 560 | 606 | //保存 |
| 561 | - onSubmit() { | |
| 607 | + onSubmit(val) { | |
| 562 | 608 | // pdf.save('output.pdf') |
| 563 | 609 | let that = this |
| 564 | 610 | let FlieName = this.ruleForm.planName |
| ... | ... | @@ -614,6 +660,7 @@ |
| 614 | 660 | // } |
| 615 | 661 | this.$refs.jibenFrom.validate((valid) => { |
| 616 | 662 | if (valid) { |
| 663 | + this.ruleForm.isDraft = val | |
| 617 | 664 | add(this.ruleForm).then(res => { |
| 618 | 665 | this.$message({ |
| 619 | 666 | message: '保存成功', |
| ... | ... | @@ -735,6 +782,7 @@ |
| 735 | 782 | eventTheme: '', //活动主题 |
| 736 | 783 | sponsor: '', //活动主办方 |
| 737 | 784 | participants: '', //活动参与方 |
| 785 | + rangeSetting:'', | |
| 738 | 786 | mainPurpose: '', //活动主要目的 |
| 739 | 787 | coverPoster: '', //封面海报 |
| 740 | 788 | internalLaborCostEstimation: '', //内部人工成本预估 |
| ... | ... | @@ -839,7 +887,10 @@ |
| 839 | 887 | color: #3F9B6A; |
| 840 | 888 | } |
| 841 | 889 | |
| 842 | - | |
| 890 | + .tableBtn { | |
| 891 | + display: inline-block; | |
| 892 | + margin-right: 10px; | |
| 893 | + } | |
| 843 | 894 | </style> |
| 844 | 895 | <style lang="scss" scoped> |
| 845 | 896 | ::v-deep .XDD_css { | ... | ... |
admin-web-master/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,1,false)">调整方案查看</div> | |
| 102 | + <div class="tableBtn greens" @click="handleEditForm(scope.row,2,false)">执行情况</div> | |
| 103 | + <div class="tableBtn greens" @click="handleEditForm(scope.row,2,true)">策划方案编辑</div> | |
| 104 | + <div class="tableBtn greens" @click="handleEditForm(scope.row,3,false)">历史方案查看</div> | |
| 105 | + <div @click="actDelete(scope.row)" class="tableBtn greens">删除</div> | |
| 106 | + <!-- <div class="tableBtn greens" @click="handleEditForm(scope.row)">历史方案查看</div> --> | |
| 107 | + | |
| 108 | + <!-- <div class="tableBtn greens">策略调整</div> --> | |
| 109 | + <!-- <div class="tableBtn greens" @click="koop(scope.row)">复制</div> --> | |
| 110 | + </template> | |
| 111 | + </el-table-column> | |
| 112 | +</el-table> | |
| 113 | +<div class="fenye"> | |
| 114 | + <div> | |
| 115 | + <el-button @click="tableAll" class="buttonHover" style="color: #000;border: 1px solid #DBDBDB;background-color: #fff;">选择全部 | |
| 116 | + </el-button> | |
| 117 | + <el-button @click="toggleSelection(tableData)" | |
| 118 | + class="buttonHover" | |
| 119 | + style="color: #000;border: 1px solid #DBDBDB;background-color: #fff;">反向选择 | |
| 120 | + </el-button> | |
| 121 | + </div> | |
| 122 | + <el-pagination class="pagination" :hide-on-single-page="flag" background small :current-page="currentPage" | |
| 123 | + :page-size="pageSize" layout="prev,pager,next" :total="total" | |
| 124 | + @current-change="handleCurrentChange" /> | |
| 125 | +</div> | |
| 126 | + | |
| 127 | +</div> | |
| 128 | +</div> | |
| 129 | +</div> | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | +<!-- 详情活动方案 --> | |
| 134 | +<el-dialog title="活动方案详情" :visible.sync="ggXin" custom-class='xiang_css' style="padding: 0;" width="80%" center | |
| 135 | + :close-on-click-modal="false" :close-on-press-escape="false" @close="refreshData"> | |
| 136 | + <div ref="actXiang"> | |
| 137 | + <div style="width: 100%;"> | |
| 138 | + <div style="display: flex;padding:0px 20px 20px 20px; "> | |
| 139 | + <div style="width: 150px;height: 80px;" v-if="secondData.coverPoster"> | |
| 140 | + <img :src="secondData.coverPoster" alt="" style="width: 100%;height: 80px;" /> | |
| 141 | + </div> | |
| 142 | + <div | |
| 143 | + style="display: flex;flex-direction: column;justify-content: space-around;padding: 0 10px;font-size: 12px;"> | |
| 144 | + <span style="margin-bottom: 10px;">{{text}}</span> | |
| 145 | + <span>活动时间:{{tableData1[1].eventTheme}}至{{tableData1[1].planName}}</span> | |
| 146 | + <span>活动地点:{{tableData1[0].planName}}</span> | |
| 147 | + </div> | |
| 148 | + </div> | |
| 149 | + </div> | |
| 150 | + <div style="width: 100%;background-color: #fff;"> | |
| 151 | + <el-tabs v-model="activeName" @tab-click="handleClick" style="padding-left:20px;"> | |
| 152 | + <el-tab-pane label="方案概况" name="first"></el-tab-pane> | |
| 153 | + <el-tab-pane label="执行效果" name="second"></el-tab-pane> | |
| 154 | + <el-tab-pane label="历史活动方案" name="fourd"></el-tab-pane> | |
| 155 | + <el-tab-pane label="执行情况" name="five"></el-tab-pane> | |
| 156 | + </el-tabs> | |
| 157 | + </div> | |
| 158 | + <div v-if="activeName=='first'" style="display: flex;"> | |
| 159 | + <div style="width: 100%;"> | |
| 160 | + <div style="width: 100%;"> | |
| 161 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">基本信息</div> | |
| 162 | + <div style="padding: 10px 20px;"> | |
| 163 | + <el-table :data="tableData1" | |
| 164 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}" | |
| 165 | + style="width: 100%;margin: auto;"> | |
| 166 | + <el-table-column class-name="first-column-bg" label="方案编号" prop="name" min-width="15%"> | |
| 167 | + </el-table-column> | |
| 168 | + <el-table-column :label="id" prop="eventTheme" min-width="35%"> | |
| 169 | + | |
| 170 | + </el-table-column> | |
| 171 | + <el-table-column class-name="first-column-bg" label="方案名称" prop="text" min-width="15%"> | |
| 172 | + | |
| 173 | + </el-table-column> | |
| 174 | + <el-table-column :label="text" prop="planName" min-width="35%"> | |
| 175 | + | |
| 176 | + </el-table-column> | |
| 177 | + </el-table> | |
| 178 | + | |
| 179 | + | |
| 180 | + </div> | |
| 181 | + </div> | |
| 182 | + <div style="width: 100%;"> | |
| 183 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">活动明细信息</div> | |
| 184 | + <div style="padding: 10px 20px;"> | |
| 185 | + <el-table :data="tableData2" | |
| 186 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}" | |
| 187 | + style="width: 100%;margin: auto;"> | |
| 188 | + <el-table-column label="序号" min-width="5%" align='center'> | |
| 189 | + <template slot-scope="scope"> | |
| 190 | + <span style="">{{ scope.$index +1}}</span> | |
| 191 | + </template> | |
| 192 | + </el-table-column> | |
| 193 | + <el-table-column label="明细项名称" prop="detailLtemName" min-width="28%"> | |
| 194 | + </el-table-column> | |
| 195 | + <el-table-column label="预估数量" prop="estimatedQuantity" min-width="20%"> | |
| 196 | + | |
| 197 | + </el-table-column> | |
| 198 | + <el-table-column label="预估费用" prop="estimatedCost" min-width="20%"> | |
| 199 | + | |
| 200 | + </el-table-column> | |
| 201 | + <el-table-column label="备注" prop="notes" min-width="20%"> | |
| 202 | + </el-table-column> | |
| 203 | + </el-table> | |
| 204 | + </div> | |
| 205 | + </div> | |
| 206 | + <div style="width: 100%;"> | |
| 207 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">活动成本信息</div> | |
| 208 | + <div style="padding:10px 20px;"> | |
| 209 | + <el-table :data="tableData3" | |
| 210 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}" | |
| 211 | + style="width: 100%;margin: auto;"> | |
| 212 | + <el-table-column class-name="first-column-bg" label="内部人力成本预估" prop="name" min-width="15%"> | |
| 213 | + </el-table-column> | |
| 214 | + <el-table-column :label="internalLaborCostEstimation" prop="eventTheme" min-width="35%"> | |
| 215 | + | |
| 216 | + </el-table-column> | |
| 217 | + <el-table-column class-name="first-column-bg" label="外部人力成本预估" prop="text" min-width="15%"> | |
| 218 | + | |
| 219 | + </el-table-column> | |
| 220 | + <el-table-column :label="externalLaborCostEstimation" prop="planName" min-width="35%"> | |
| 221 | + | |
| 222 | + </el-table-column> | |
| 223 | + </el-table> | |
| 224 | + </div> | |
| 225 | + </div> | |
| 226 | + <div style="width: 100%;"> | |
| 227 | + <div style="font-size: 14px;padding:10px 20px 0px 20px;">预估效果</div> | |
| 228 | + <div style="padding:10px 20px;"> | |
| 229 | + <el-table :data="tableData4" | |
| 230 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}" | |
| 231 | + style="width: 100%;margin: auto;"> | |
| 232 | + <el-table-column class-name="first-column-bg" label="预计吸引流量" prop="name" min-width="15%"> | |
| 233 | + </el-table-column> | |
| 234 | + <el-table-column :label="expectedAttractTraffic" prop="eventTheme" min-width="35%"> | |
| 235 | + | |
| 236 | + </el-table-column> | |
| 237 | + <el-table-column class-name="first-column-bg" label="预计参与人数" prop="text" min-width="15%"> | |
| 238 | + | |
| 239 | + </el-table-column> | |
| 240 | + <el-table-column :label="expectedParticipation" prop="planName" min-width="35%"> | |
| 241 | + | |
| 242 | + </el-table-column> | |
| 243 | + </el-table> | |
| 244 | + </el-table-column> | |
| 245 | + </div> | |
| 246 | + </div> | |
| 247 | + <div style="width: 100%;"> | |
| 248 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">相关附件信息</div> | |
| 249 | + <div style="padding:10px 20px;"> | |
| 250 | + <el-table :data="tableData6" | |
| 251 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}" | |
| 252 | + style="width: 100%;margin: auto;"> | |
| 253 | + <el-table-column label="序号" min-width="5%" align='center'> | |
| 254 | + <template slot-scope="scope"> | |
| 255 | + <span style="">{{ scope.$index + 1 }}</span> | |
| 256 | + </template> | |
| 257 | + </el-table-column> | |
| 258 | + <el-table-column label="附件名称" prop="attachmentName" min-width="75%"> | |
| 259 | + </el-table-column> | |
| 260 | + <el-table-column label="操作" min-width="20%"> | |
| 261 | + <template slot-scope="scope"> | |
| 262 | + <!-- <div class="tableBtn greens" @click="Down(scope.row)">下载</div> --> | |
| 263 | + <a class="tableBtn greens" :href="scope.row.attachmentUrl" target="_blank" download>下载</a> | |
| 264 | + </template> | |
| 265 | + </el-table-column> | |
| 266 | + | |
| 267 | + </el-table> | |
| 268 | + </div> | |
| 269 | + </div> | |
| 270 | + <div style="width: 100%;"> | |
| 271 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">系统信息</div> | |
| 272 | + <div style="padding:10px 20px;"> | |
| 273 | + <el-table :data="tableData5" | |
| 274 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}" | |
| 275 | + style="width: 100%;margin: auto;"> | |
| 276 | + <el-table-column class-name="first-column-bg" label="创建人" prop="name" min-width="15%"> | |
| 277 | + </el-table-column> | |
| 278 | + <el-table-column :label="createUser" prop="eventTheme" min-width="35%"> | |
| 279 | + | |
| 280 | + </el-table-column> | |
| 281 | + <el-table-column class-name="first-column-bg" label="创建时间" prop="text" min-width="15%"> | |
| 282 | + | |
| 283 | + </el-table-column> | |
| 284 | + <el-table-column :label="createDate" prop="planName" min-width="35%"> | |
| 285 | + | |
| 286 | + </el-table-column> | |
| 287 | + </el-table> | |
| 288 | + </div> | |
| 289 | + </div> | |
| 290 | + </div> | |
| 291 | + </div> | |
| 292 | + <div v-if="activeName=='second'"> | |
| 293 | + <div style="padding: 20px"> | |
| 294 | + <div style="border: solid 1px #E5E5E5;border-radius: 5px"> | |
| 295 | + <div style="border-bottom: 1px solid #E5E5E5;padding: 1px"> | |
| 296 | + <div style="padding: 10px 20px;background-color: #FAFAFA;font-size: 14px;"> | |
| 297 | + 基本信息 | |
| 298 | + </div> | |
| 299 | + </div> | |
| 300 | + <div style="padding: 20px 40px 20px 20px"> | |
| 301 | + <el-form label-position="top" ref="ruleFormInfo" :model="zhixingList" label-width="120px" | |
| 302 | + style="position: relative"> | |
| 303 | + <el-row :gutter="20"> | |
| 304 | + <el-col :span="8"> | |
| 305 | + <el-form-item label="活动名称" class="grid-content bg-purple device-from" prop="name"> | |
| 306 | + <el-input v-model="zhixingList.planName" placeholder="请输入" :disabled="!zhixingBian" /> | |
| 307 | + </el-form-item> | |
| 308 | + </el-col> | |
| 309 | + <el-col :span="8"> | |
| 310 | + <el-form-item label="实际举办地点" class="grid-content bg-purple" prop="name"> | |
| 311 | + <el-input v-model="zhixingList.eventAddrs" placeholder="请输入" :disabled="!zhixingBian" /> | |
| 312 | + </el-form-item> | |
| 313 | + </el-col> | |
| 314 | + | |
| 315 | + <el-col :span="8"> | |
| 316 | + <el-form-item label="实际举办时间" class="grid-content bg-purple" prop="event_start_time" | |
| 317 | + style="position: relative"> | |
| 318 | + <el-date-picker style="width: 100%;" v-model="zhixingList.planTime" | |
| 319 | + @input="formTime" | |
| 320 | + value-format="yyyy-MM-dd HH:mm:ss" :disabled="!zhixingBian" type="datetimerange" | |
| 321 | + range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" align="right" | |
| 322 | + > | |
| 323 | + </el-date-picker> | |
| 324 | + </el-form-item> | |
| 325 | + </el-col> | |
| 326 | + </el-row> | |
| 327 | + | |
| 328 | + <el-row :gutter="20"> | |
| 329 | + <el-col :span="8"> | |
| 330 | + <el-form-item label="活动主办方" class="grid-content bg-purple" prop="name"> | |
| 331 | + <el-input v-model="zhixingList.sponsor" placeholder="请输入" :disabled="!zhixingBian" /> | |
| 332 | + </el-form-item> | |
| 333 | + </el-col> | |
| 334 | + <el-col :span="8"> | |
| 335 | + <el-form-item label="活动实际参与方" class="grid-content bg-purple" prop="name"> | |
| 336 | + <el-input v-model="zhixingList.participants" placeholder="请输入" :disabled="!zhixingBian" /> | |
| 337 | + </el-form-item> | |
| 338 | + </el-col> | |
| 339 | + </el-row> | |
| 340 | + </el-form> | |
| 341 | + </div> | |
| 342 | + </div> | |
| 343 | + </div> | |
| 344 | + <div style="padding: 0px 20px 20px 20px"> | |
| 345 | + <div style="border: solid 1px #E5E5E5;border-radius: 5px"> | |
| 346 | + <div style="border-bottom: 1px solid #E5E5E5;padding: 1px;display: flex"> | |
| 347 | + <div style="padding: 10px 20px;background-color: #FAFAFA;font-size: 14px;"> | |
| 348 | + 活动明细信息 | |
| 349 | + </div> | |
| 350 | + <div style="color: #2d8a58;margin-top: 10px;font-size: 14px;" @click="tianMing"> | |
| 351 | + 添加明细 | |
| 352 | + </div> | |
| 353 | + </div> | |
| 354 | + <!-- 表格--> | |
| 355 | + <div style="padding: 20px 20px 20px 20px"> | |
| 356 | + <el-table :data="tableDa" | |
| 357 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}" | |
| 358 | + style="width: 100%"> | |
| 359 | + <el-table-column label="序号" width="auto" min-width="5%" prop="date" align="center"> | |
| 360 | + <template slot-scope="scope"> | |
| 361 | + {{scope.$index +1}} | |
| 362 | + </template> | |
| 363 | + </el-table-column> | |
| 364 | + <el-table-column label="明细项名称" prop="detailLtemName" width="auto" min-width="22%"> | |
| 365 | + | |
| 366 | + </el-table-column> | |
| 367 | + <el-table-column label="预估数量" prop="estimatedQuantity" width="auto" min-width="15%"> | |
| 368 | + | |
| 369 | + </el-table-column> | |
| 370 | + <el-table-column label="预估费用" prop="estimatedCost" width="auto" min-width="15%"> | |
| 371 | + </el-table-column> | |
| 372 | + <el-table-column prop="notes" label="备注" width="auto" min-width="15%"> | |
| 373 | + </el-table-column> | |
| 374 | + <el-table-column label="操作" width="auto" min-width="18%" v-if="zhixingBian"> | |
| 375 | + <template slot-scope="scope"> | |
| 376 | + <!-- <div class="tableBtn greens">详情</div> --> | |
| 377 | + <div class="tableBtn greens" @click="MingDelete(scope.$index,scope.row)">删除</div> | |
| 378 | + </template> | |
| 379 | + </el-table-column> | |
| 380 | + </el-table> | |
| 381 | + | |
| 382 | + </div> | |
| 383 | + </div> | |
| 384 | + </div> | |
| 385 | + <div style="padding: 20px"> | |
| 386 | + <div style="border: solid 1px #E5E5E5;border-radius: 5px;padding-bottom: 20px;"> | |
| 387 | + <div style="border-bottom: 1px solid #E5E5E5;padding: 1px"> | |
| 388 | + <div style="padding: 10px 20px;background-color: #FAFAFA;font-size: 14px;"> | |
| 389 | + 实际花费成本 | |
| 390 | + </div> | |
| 391 | + </div> | |
| 392 | + <div style="padding: 20px 40px 0px 20px"> | |
| 393 | + <el-form label-position="top" ref="ruleFormInfo" :model="zhixingList" label-width="120px" | |
| 394 | + style="position: relative"> | |
| 395 | + <el-row :gutter="20"> | |
| 396 | + <el-col :span="8"> | |
| 397 | + <el-form-item label="内部人力成本预估" class="grid-content bg-purple device-from" prop="name"> | |
| 398 | + <el-input v-model="zhixingList.internalLaborCostEstimation" placeholder="请输入" | |
| 399 | + :disabled="!zhixingBian" /> | |
| 400 | + </el-form-item> | |
| 401 | + </el-col> | |
| 402 | + <el-col :span="8"> | |
| 403 | + <el-form-item label="外部人力成本预估" class="grid-content bg-purple" prop="name"> | |
| 404 | + <el-input v-model="zhixingList.externalLaborCostEstimation" placeholder="请输入" | |
| 405 | + :disabled="!zhixingBian" /> | |
| 406 | + </el-form-item> | |
| 407 | + </el-col> | |
| 408 | + | |
| 409 | + <el-col :span="8"> | |
| 410 | + <el-form-item label="商品成本预估" class="grid-content bg-purple" prop="name"> | |
| 411 | + <el-input v-model="zhixingList.costEstimationGoods" placeholder="请输入" :disabled="!zhixingBian" /> | |
| 412 | + </el-form-item> | |
| 413 | + </el-col> | |
| 414 | + </el-row> | |
| 415 | + | |
| 416 | + <el-row :gutter="20"> | |
| 417 | + <el-col :span="8"> | |
| 418 | + <el-form-item label="设备成本" class="grid-content bg-purple" prop="name"> | |
| 419 | + <el-input v-model="zhixingList.setCostEstimate" placeholder="请输入" :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.estimatedPromotionalExpenses" placeholder="请输入" | |
| 425 | + :disabled="!zhixingBian" /> | |
| 426 | + </el-form-item> | |
| 427 | + </el-col> | |
| 428 | + <el-col :span="8"> | |
| 429 | + <el-form-item label="其他成本" class="grid-content bg-purple" prop="name"> | |
| 430 | + <el-input v-model="zhixingList.otherNecessaryEstimates" placeholder="请输入" | |
| 431 | + :disabled="!zhixingBian" /> | |
| 432 | + </el-form-item> | |
| 433 | + </el-col> | |
| 434 | + </el-row> | |
| 435 | + | |
| 436 | + <el-row :gutter="20"> | |
| 437 | + <el-col :span="8"> | |
| 438 | + <el-form-item label="总成本" prop="name" class="grid-content bg-purple"> | |
| 439 | + <el-input v-model="zhixingList.totalCostEstimation" placeholder="请输入" :disabled="!zhixingBian" /> | |
| 440 | + </el-form-item> | |
| 441 | + </el-col> | |
| 442 | + <el-col :span="16"> | |
| 443 | + <el-form-item label="备注" prop="name" class="grid-content bg-purple"> | |
| 444 | + <el-input v-model="zhixingList.notes" placeholder="请输入" :disabled="!zhixingBian" /> | |
| 445 | + </el-form-item> | |
| 446 | + </el-col> | |
| 447 | + </el-row> | |
| 448 | + </el-form> | |
| 449 | + </div> | |
| 450 | + </div> | |
| 451 | + </div> | |
| 452 | + | |
| 453 | + <div style="padding: 20px"> | |
| 454 | + <div style="border: solid 1px #E5E5E5;border-radius: 5px;padding-bottom: 20px;"> | |
| 455 | + <div style="border-bottom: 1px solid #E5E5E5;padding: 1px"> | |
| 456 | + <div style="padding: 10px 20px;background-color: #FAFAFA;font-size: 14px;"> | |
| 457 | + 活动执行效果 | |
| 458 | + </div> | |
| 459 | + </div> | |
| 460 | + <div style="padding: 20px 40px 0px 20px"> | |
| 461 | + <el-form label-position="top" ref="ruleFormInfo" :model="zhixingList" label-width="120px" | |
| 462 | + style="position: relative"> | |
| 463 | + <el-row :gutter="20"> | |
| 464 | + <el-col :span="8"> | |
| 465 | + <el-form-item label="吸引流量" class="grid-content bg-purple device-from" prop="name"> | |
| 466 | + <el-input v-model="zhixingList.expectedAttractTraffic" placeholder="请输入" :disabled="!zhixingBian" /> | |
| 467 | + </el-form-item> | |
| 468 | + </el-col> | |
| 469 | + <el-col :span="8"> | |
| 470 | + <el-form-item label="参与人数" class="grid-content bg-purple" prop="name"> | |
| 471 | + <el-input v-model="zhixingList.expectedParticipation" placeholder="请输入" :disabled="!zhixingBian" /> | |
| 472 | + </el-form-item> | |
| 473 | + </el-col> | |
| 474 | + | |
| 475 | + <el-col :span="8"> | |
| 476 | + <el-form-item label="直接收益" class="grid-content bg-purple" prop="name"> | |
| 477 | + <el-input v-model="zhixingList.expectedDirectBenefits" placeholder="请输入" :disabled="!zhixingBian" /> | |
| 478 | + </el-form-item> | |
| 479 | + </el-col> | |
| 480 | + </el-row> | |
| 481 | + <el-row :gutter="20"> | |
| 482 | + <el-col :span="8"> | |
| 483 | + <el-form-item label="间接收益" class="grid-content bg-purple" prop="name"> | |
| 484 | + <el-input v-model="zhixingList.expectedIndirectBenefits" placeholder="请输入" | |
| 485 | + :disabled="!zhixingBian" /> | |
| 486 | + </el-form-item> | |
| 487 | + </el-col> | |
| 488 | + | |
| 489 | + </el-row> | |
| 490 | + <el-row :gutter="20"> | |
| 491 | + <el-col :span="24"> | |
| 492 | + <el-form-item label="反馈内容" class="grid-content bg-purple" prop="name"> | |
| 493 | + <el-upload class="upload-demo" ref="upload" :on-remove="handleRemove" | |
| 494 | + :action="uploadFileUrl" :on-success="handleUploadSuccess" :file-list="fileData" | |
| 495 | + :show-file-list="true" v-if="zhixingBian"> | |
| 496 | + <el-button style="background-color: #fff;color: #3F9B6A;border: 1px solid #dcdfe6;" class="buttonHover" v-if="fileData.length==0">+点击上传</el-button> | |
| 497 | + </el-upload> | |
| 498 | + <div v-else>{{zhixingList.feedbackContent}}</div> | |
| 499 | + </el-form-item> | |
| 500 | + </el-col> | |
| 501 | + | |
| 502 | + </el-row> | |
| 503 | + </el-form> | |
| 504 | + </div> | |
| 505 | + </div> | |
| 506 | + </div> | |
| 507 | + | |
| 508 | + </div> | |
| 509 | + <div v-if="activeName=='fourd'"> | |
| 510 | + <div style="display:flex;"> | |
| 511 | + <div style="margin-right:10px;">历史活动策划方案搜索</div> | |
| 512 | + <el-select v-model="lishiList" placeholder="请选择" style="margin:0 20px 20px 20px;" @change="lichange"> | |
| 513 | + <el-option | |
| 514 | + v-for="(item,index) in liData" | |
| 515 | + :key="item.id" | |
| 516 | + :label="item.operationType" | |
| 517 | + :value="index"> | |
| 518 | + </el-option> | |
| 519 | + </el-select> | |
| 520 | + <el-button @click="tiaozheng" style="background-color: #3F9B6A;color: #fff" v-if="lishiList!=null" >调整对比 | |
| 521 | + </el-button> | |
| 522 | + </div> | |
| 523 | + <div style="width: 100%;" v-if="lishiList!=null" ref="lishiRef"> | |
| 524 | + <div style="width: 100%;"> | |
| 525 | + <div style="padding: 10px 20px;"> | |
| 526 | + <el-descriptions class="margin-top" title="基本信息" :column="2" border :labelStyle="labelStyle" > | |
| 527 | + <el-descriptions-item> | |
| 528 | + <template slot="label"> | |
| 529 | + 方案编号 | |
| 530 | + </template> | |
| 531 | + {{lixiang.id}} | |
| 532 | + </el-descriptions-item> | |
| 533 | + <el-descriptions-item> | |
| 534 | + <template slot="label"> | |
| 535 | + 方案名称 | |
| 536 | + </template> | |
| 537 | + | |
| 538 | + <span :style="duibiList.planName == lixiang.planName?'color: red':''" >{{lixiang.planName}}</span> | |
| 539 | + </el-descriptions-item> | |
| 540 | + <el-descriptions-item> | |
| 541 | + <template slot="label"> | |
| 542 | + 类型 | |
| 543 | + </template> | |
| 544 | +<span :style="duibiList.planType == lixiang.planType?'color: red':''" >{{lixiang.planType}}</span> | |
| 545 | + </el-descriptions-item> | |
| 546 | + <el-descriptions-item> | |
| 547 | + <template slot="label"> | |
| 548 | + 活动地点 | |
| 549 | + </template> | |
| 550 | + | |
| 551 | + <span :style="duibiList.eventAddrs == lixiang.eventAddrs?'color: red':''" >{{lixiang.eventAddrs}}</span> | |
| 552 | + </el-descriptions-item> | |
| 553 | + <el-descriptions-item> | |
| 554 | + <template slot="label"> | |
| 555 | + 活动开始时间 | |
| 556 | + </template> | |
| 557 | + | |
| 558 | + <span :style="duibiList.eventStartTime == lixiang.eventStartTime?'color: red':''" >{{lixiang.eventStartTime}}</span> | |
| 559 | + </el-descriptions-item> | |
| 560 | + <el-descriptions-item> | |
| 561 | + <template slot="label"> | |
| 562 | + 活动结束时间 | |
| 563 | + </template> | |
| 564 | + | |
| 565 | +<span :style="duibiList.eventEndTime == lixiang.eventEndTime?'color: red':''" >{{lixiang.eventEndTime}}</span> | |
| 566 | + </el-descriptions-item> | |
| 567 | + <el-descriptions-item> | |
| 568 | + <template slot="label"> | |
| 569 | + 活动主题 | |
| 570 | + </template> | |
| 571 | + <span :style="duibiList.eventTheme == lixiang.eventTheme?'color: red':''" >{{lixiang.eventTheme}}</span> | |
| 572 | + </el-descriptions-item> | |
| 573 | + <el-descriptions-item> | |
| 574 | + <template slot="label"> | |
| 575 | + 活动主办方 | |
| 576 | + </template> | |
| 577 | +<span :style="duibiList.sponsor == lixiang.sponsor?'color: red':''" >{{lixiang.sponsor}}</span> | |
| 578 | + | |
| 579 | + </el-descriptions-item> | |
| 580 | + <el-descriptions-item> | |
| 581 | + <template slot="label"> | |
| 582 | + 活动参与方 | |
| 583 | + </template> | |
| 584 | + | |
| 585 | +<span :style="duibiList.participants == lixiang.participants?'color: red':''" >{{lixiang.participants}}</span> | |
| 586 | + </el-descriptions-item> | |
| 587 | + <el-descriptions-item> | |
| 588 | + <template slot="label"> | |
| 589 | + 活动主要目的 | |
| 590 | + </template> | |
| 591 | + | |
| 592 | +<span :style="duibiList.mainPurpose == lixiang.mainPurpose?'color: red':''" >{{lixiang.mainPurpose}}</span> | |
| 593 | + </el-descriptions-item> | |
| 594 | + <el-descriptions-item> | |
| 595 | + <template slot="label"> | |
| 596 | + 范围设置 | |
| 597 | + </template> | |
| 598 | + | |
| 599 | +<span :style="duibiList.rangeSetting == lixiang.rangeSetting?'color: red':''" >{{lixiang.rangeSetting}}</span> | |
| 600 | + </el-descriptions-item> | |
| 601 | + <el-descriptions-item> | |
| 602 | + <template slot="label"> | |
| 603 | + 状态 | |
| 604 | + </template> | |
| 605 | + | |
| 606 | +{{getStatus(lixiang.state)}} | |
| 607 | + | |
| 608 | + </el-descriptions-item> | |
| 609 | + </el-descriptions> | |
| 610 | + | |
| 611 | + </div> | |
| 612 | + </div> | |
| 613 | + <div style="width: 100%;"> | |
| 614 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">活动明细信息</div> | |
| 615 | + <div style="padding: 10px 20px;"> | |
| 616 | + <el-table :data="tableData2" | |
| 617 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}" | |
| 618 | + style="width: 100%;margin: auto;"> | |
| 619 | + <el-table-column label="序号" min-width="5%" align='center'> | |
| 620 | + <template slot-scope="scope"> | |
| 621 | + <span style="">{{ scope.$index +1}}</span> | |
| 622 | + </template> | |
| 623 | + </el-table-column> | |
| 624 | + <el-table-column label="明细项名称" prop="detailLtemName" min-width="28%"> | |
| 625 | + </el-table-column> | |
| 626 | + <el-table-column label="预估数量" prop="estimatedQuantity" min-width="20%"> | |
| 627 | + | |
| 628 | + </el-table-column> | |
| 629 | + <el-table-column label="预估费用" prop="estimatedCost" min-width="20%"> | |
| 630 | + | |
| 631 | + </el-table-column> | |
| 632 | + <el-table-column label="备注" prop="notes" min-width="20%"> | |
| 633 | + </el-table-column> | |
| 634 | + </el-table> | |
| 635 | + </div> | |
| 636 | + </div> | |
| 637 | + <div style="width: 100%;"> | |
| 638 | + <div style="padding:10px 20px;"> | |
| 639 | + <el-descriptions class="margin-top" title="活动成本信息" :column="2" border :labelStyle="labelStyle" > | |
| 640 | + <el-descriptions-item> | |
| 641 | + <template slot="label"> | |
| 642 | + 内部人力成本预估 | |
| 643 | + </template> | |
| 644 | + | |
| 645 | +<span :style="duibiList.internalLaborCostEstimation == lixiang.internalLaborCostEstimation?'color: red':''" >{{lixiang.internalLaborCostEstimation}}</span> | |
| 646 | + </el-descriptions-item> | |
| 647 | + <el-descriptions-item> | |
| 648 | + <template slot="label"> | |
| 649 | + 外部人力成本预估 | |
| 650 | + </template> | |
| 651 | + | |
| 652 | + <span :style="duibiList.externalLaborCostEstimation == lixiang.externalLaborCostEstimation?'color: red':''" >{{lixiang.externalLaborCostEstimation}}</span> | |
| 653 | + </el-descriptions-item> | |
| 654 | + <el-descriptions-item> | |
| 655 | + <template slot="label"> | |
| 656 | + 商品成本预估 | |
| 657 | + </template> | |
| 658 | + | |
| 659 | +<span :style="duibiList.costEstimationGoods == lixiang.costEstimationGoods?'color: red':''" >{{lixiang.costEstimationGoods}}</span> | |
| 660 | + </el-descriptions-item> | |
| 661 | + <el-descriptions-item> | |
| 662 | + <template slot="label"> | |
| 663 | + 设备成本预估 | |
| 664 | + </template> | |
| 665 | + | |
| 666 | +<span :style="duibiList.setCostEstimate == lixiang.setCostEstimate?'color: red':''" >{{lixiang.setCostEstimate}}</span> | |
| 667 | + </el-descriptions-item> | |
| 668 | + <el-descriptions-item> | |
| 669 | + <template slot="label"> | |
| 670 | + 宣传费用预估 | |
| 671 | + </template> | |
| 672 | + | |
| 673 | + <span :style="duibiList.estimatedPromotionalExpenses == lixiang.estimatedPromotionalExpenses?'color: red':''" >{{lixiang.estimatedPromotionalExpenses}}</span> | |
| 674 | + </el-descriptions-item> | |
| 675 | + <el-descriptions-item> | |
| 676 | + <template slot="label"> | |
| 677 | + 其他必要成本预估 | |
| 678 | + </template> | |
| 679 | + | |
| 680 | +<span :style="duibiList.otherNecessaryEstimates == lixiang.otherNecessaryEstimates?'color: red':''" >{{lixiang.otherNecessaryEstimates}}</span> | |
| 681 | + </el-descriptions-item> | |
| 682 | + <el-descriptions-item> | |
| 683 | + <template slot="label"> | |
| 684 | + 总成本预估 | |
| 685 | + </template> | |
| 686 | + | |
| 687 | +<span :style="duibiList.totalCostEstimation == lixiang.totalCostEstimation?'color: red':''" >{{lixiang.totalCostEstimation}}</span> | |
| 688 | + </el-descriptions-item> | |
| 689 | + <el-descriptions-item> | |
| 690 | + <template slot="label"> | |
| 691 | + 备注 | |
| 692 | + </template> | |
| 693 | + | |
| 694 | +<span :style="duibiList.notes == lixiang.notes?'color: red':''" >{{lixiang.notes}}</span> | |
| 695 | + </el-descriptions-item> | |
| 696 | + </el-descriptions> | |
| 697 | + </div> | |
| 698 | + </div> | |
| 699 | + <div style="width: 100%;"> | |
| 700 | + | |
| 701 | + <div style="padding:10px 20px;"> | |
| 702 | + <el-descriptions class="margin-top" title="预估效果" :column="2" border :labelStyle="labelStyle" > | |
| 703 | + <el-descriptions-item> | |
| 704 | + <template slot="label"> | |
| 705 | + 预计吸引流量 | |
| 706 | + </template> | |
| 707 | + | |
| 708 | +<span :style="duibiList.expectedAttractTraffic == lixiang.expectedAttractTraffic?'color: red':''" >{{lixiang.expectedAttractTraffic}}</span> | |
| 709 | + </el-descriptions-item> | |
| 710 | + <el-descriptions-item> | |
| 711 | + <template slot="label"> | |
| 712 | + 预计参与人数 | |
| 713 | + </template> | |
| 714 | + | |
| 715 | +<span :style="duibiList.expectedParticipation == lixiang.expectedParticipation?'color: red':''" >{{lixiang.expectedParticipation}}</span> | |
| 716 | + </el-descriptions-item> | |
| 717 | + <el-descriptions-item> | |
| 718 | + <template slot="label"> | |
| 719 | + 预计直接收益 | |
| 720 | + </template> | |
| 721 | + | |
| 722 | +<span :style="duibiList.expectedDirectBenefits == lixiang.expectedDirectBenefits?'color: red':''" >{{lixiang.expectedDirectBenefits}}</span> | |
| 723 | + </el-descriptions-item> | |
| 724 | + <el-descriptions-item> | |
| 725 | + <template slot="label"> | |
| 726 | + 预计间接收益 | |
| 727 | + </template> | |
| 728 | + | |
| 729 | +<span :style="duibiList.expectedIndirectBenefits == lixiang.expectedIndirectBenefits?'color: red':''" >{{lixiang.expectedIndirectBenefits}}</span> | |
| 730 | + </el-descriptions-item> | |
| 731 | + | |
| 732 | + </el-descriptions> | |
| 733 | + | |
| 734 | + </div> | |
| 735 | + </div> | |
| 736 | + <div style="width: 100%;"> | |
| 737 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">相关附件信息</div> | |
| 738 | + <div style="padding:10px 20px;"> | |
| 739 | + <el-table :data="tableData6" | |
| 740 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}" | |
| 741 | + style="width: 100%;margin: auto;"> | |
| 742 | + <el-table-column label="序号" min-width="5%" align='center'> | |
| 743 | + <template slot-scope="scope"> | |
| 744 | + <span style="">{{ scope.$index + 1 }}</span> | |
| 745 | + </template> | |
| 746 | + </el-table-column> | |
| 747 | + <el-table-column label="附件名称" prop="attachmentName" min-width="75%"> | |
| 748 | + </el-table-column> | |
| 749 | + <el-table-column label="操作" min-width="20%"> | |
| 750 | + <template slot-scope="scope"> | |
| 751 | + <!-- <div class="tableBtn greens" @click="Down(scope.row)">下载</div> --> | |
| 752 | + <a class="tableBtn greens" :href="scope.row.attachmentUrl" target="_blank" download>下载</a> | |
| 753 | + </template> | |
| 754 | + </el-table-column> | |
| 755 | + | |
| 756 | + </el-table> | |
| 757 | + </div> | |
| 758 | + </div> | |
| 759 | + <div style="width: 100%;"> | |
| 760 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">系统信息</div> | |
| 761 | + <div style="padding:10px 20px;"> | |
| 762 | + <el-table :data="tableData5" | |
| 763 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}" | |
| 764 | + style="width: 100%;margin: auto;"> | |
| 765 | + <el-table-column class-name="first-column-bg" label="创建人" prop="name" min-width="15%"> | |
| 766 | + </el-table-column> | |
| 767 | + <el-table-column :label="createUser" prop="eventTheme" min-width="35%"> | |
| 768 | + | |
| 769 | + </el-table-column> | |
| 770 | + <el-table-column class-name="first-column-bg" label="创建时间" prop="text" min-width="15%"> | |
| 771 | + | |
| 772 | + </el-table-column> | |
| 773 | + <el-table-column :label="createDate" prop="planName" min-width="35%"> | |
| 774 | + | |
| 775 | + </el-table-column> | |
| 776 | + </el-table> | |
| 777 | + </div> | |
| 778 | + </div> | |
| 779 | + </div> | |
| 780 | + </div> | |
| 781 | + | |
| 782 | + <div v-if="activeName=='five'"> | |
| 783 | + <div style="width: 100%;padding:20px;"> | |
| 784 | + <wangEditor v-model="zhixingqingk" ref="editor"></wangEditor> | |
| 785 | + | |
| 786 | + </div> | |
| 787 | + </div> | |
| 788 | + </div> | |
| 789 | + | |
| 790 | + | |
| 791 | + <div style="display: flex;justify-content: flex-end;padding:10px"> | |
| 792 | + <el-button @click="ggXin = false" style="background-color: #3F9B6A;color: #fff" >取消 | |
| 793 | + </el-button> | |
| 794 | + <el-button @click="lishidownloadPdf" style="background-color: #3F9B6A;color: #fff" v-if="activeName=='fourd'">导出 | |
| 795 | + </el-button> | |
| 796 | + <el-button @click="downloadPdf" style="background-color: #3F9B6A;color: #fff" v-if="activeName=='first'">活动策划调整方案导出 | |
| 797 | + </el-button> | |
| 798 | + | |
| 799 | + <el-button @click="jiucuo" style="background-color: #3F9B6A;color: #fff" v-if="activeName=='first'" >活动策划调整纠错 | |
| 800 | + </el-button> | |
| 801 | +<el-button @click="bianji" style="background-color: #3F9B6A;color: #fff" v-if="zhixingBian && activeName=='second'">保存 | |
| 802 | + </el-button> | |
| 803 | + <el-button @click="fivebian" style="background-color: #3F9B6A;color: #fff" v-if="activeName=='five'">保存 | |
| 804 | + </el-button> | |
| 805 | + </div> | |
| 806 | + | |
| 807 | +</el-dialog> | |
| 808 | +</div> | |
| 809 | +</div> | |
| 810 | +<!-- 调整对比 --> | |
| 811 | +<el-dialog title="调整对比" :visible.sync="tiaozhengShow" custom-class='xiang_css' style="padding: 0;" width="80%" center | |
| 812 | + :close-on-click-modal="false" :close-on-press-escape="false" @close="reshData"> | |
| 813 | + <div> | |
| 814 | + <div style="width: 100%;"> | |
| 815 | + <div style="display: flex;padding:0px 20px 20px 20px; "> | |
| 816 | + <div style="width: 150px;height: 80px;" v-if="secondData.coverPoster"> | |
| 817 | + <img :src="secondData.coverPoster" alt="" style="width: 100%;height: 80px;" /> | |
| 818 | + </div> | |
| 819 | + <div | |
| 820 | + style="display: flex;flex-direction: column;justify-content: space-around;padding: 0 10px;font-size: 12px;"> | |
| 821 | + <span style="margin-bottom: 10px;">{{text}}</span> | |
| 822 | + <span>活动时间:{{tableData1[1].eventTheme}}至{{tableData1[1].planName}}</span> | |
| 823 | + <span>活动地点:{{tableData1[0].planName}}</span> | |
| 824 | + </div> | |
| 825 | + </div> | |
| 826 | + </div> | |
| 827 | + | |
| 828 | + <div style="display: flex;"> | |
| 829 | + <div style="width: 50%;"> | |
| 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="tableData1" | |
| 834 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}" | |
| 835 | + style="width: 100%;margin: auto;"> | |
| 836 | + <el-table-column class-name="first-column-bg" label="方案编号" prop="name" min-width="15%"> | |
| 837 | + </el-table-column> | |
| 838 | + <el-table-column :label="id" prop="eventTheme" min-width="35%"> | |
| 839 | + | |
| 840 | + </el-table-column> | |
| 841 | + <el-table-column class-name="first-column-bg" label="方案名称" prop="text" min-width="15%"> | |
| 842 | + | |
| 843 | + </el-table-column> | |
| 844 | + <el-table-column :label="text" prop="planName" min-width="35%"> | |
| 845 | + | |
| 846 | + </el-table-column> | |
| 847 | + </el-table> | |
| 848 | + | |
| 849 | + | |
| 850 | + </div> | |
| 851 | + </div> | |
| 852 | + <div style="width: 100%;"> | |
| 853 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">活动明细信息</div> | |
| 854 | + <div style="padding: 10px 20px;"> | |
| 855 | + <el-table :data="tableData2" | |
| 856 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}" | |
| 857 | + style="width: 100%;margin: auto;"> | |
| 858 | + <el-table-column label="序号" min-width="5%" align='center'> | |
| 859 | + <template slot-scope="scope"> | |
| 860 | + <span style="">{{ scope.$index +1}}</span> | |
| 861 | + </template> | |
| 862 | + </el-table-column> | |
| 863 | + <el-table-column label="明细项名称" prop="detailLtemName" min-width="28%"> | |
| 864 | + </el-table-column> | |
| 865 | + <el-table-column label="预估数量" prop="estimatedQuantity" min-width="20%"> | |
| 866 | + | |
| 867 | + </el-table-column> | |
| 868 | + <el-table-column label="预估费用" prop="estimatedCost" min-width="20%"> | |
| 869 | + | |
| 870 | + </el-table-column> | |
| 871 | + <el-table-column label="备注" prop="notes" min-width="20%"> | |
| 872 | + </el-table-column> | |
| 873 | + </el-table> | |
| 874 | + </div> | |
| 875 | + </div> | |
| 876 | + <div style="width: 100%;"> | |
| 877 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">活动成本信息</div> | |
| 878 | + <div style="padding:10px 20px;"> | |
| 879 | + <el-table :data="tableData3" | |
| 880 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}" | |
| 881 | + style="width: 100%;margin: auto;"> | |
| 882 | + <el-table-column class-name="first-column-bg" label="内部人力成本预估" prop="name" min-width="15%"> | |
| 883 | + </el-table-column> | |
| 884 | + <el-table-column :label="internalLaborCostEstimation" prop="eventTheme" min-width="35%"> | |
| 885 | + | |
| 886 | + </el-table-column> | |
| 887 | + <el-table-column class-name="first-column-bg" label="外部人力成本预估" prop="text" min-width="15%"> | |
| 888 | + | |
| 889 | + </el-table-column> | |
| 890 | + <el-table-column :label="externalLaborCostEstimation" prop="planName" min-width="35%"> | |
| 891 | + | |
| 892 | + </el-table-column> | |
| 893 | + </el-table> | |
| 894 | + </div> | |
| 895 | + </div> | |
| 896 | + <div style="width: 100%;"> | |
| 897 | + <div style="font-size: 14px;padding:10px 20px 0px 20px;">预估效果</div> | |
| 898 | + <div style="padding:10px 20px;"> | |
| 899 | + <el-table :data="tableData4" | |
| 900 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}" | |
| 901 | + style="width: 100%;margin: auto;"> | |
| 902 | + <el-table-column class-name="first-column-bg" label="预计吸引流量" prop="name" min-width="15%"> | |
| 903 | + </el-table-column> | |
| 904 | + <el-table-column :label="expectedAttractTraffic" prop="eventTheme" min-width="35%"> | |
| 905 | + | |
| 906 | + </el-table-column> | |
| 907 | + <el-table-column class-name="first-column-bg" label="预计参与人数" prop="text" min-width="15%"> | |
| 908 | + | |
| 909 | + </el-table-column> | |
| 910 | + <el-table-column :label="expectedParticipation" prop="planName" min-width="35%"> | |
| 911 | + | |
| 912 | + </el-table-column> | |
| 913 | + </el-table> | |
| 914 | + </el-table-column> | |
| 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="tableData6" | |
| 921 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}" | |
| 922 | + style="width: 100%;margin: auto;"> | |
| 923 | + <el-table-column label="序号" min-width="5%" align='center'> | |
| 924 | + <template slot-scope="scope"> | |
| 925 | + <span style="">{{ scope.$index + 1 }}</span> | |
| 926 | + </template> | |
| 927 | + </el-table-column> | |
| 928 | + <el-table-column label="附件名称" prop="attachmentName" min-width="75%"> | |
| 929 | + </el-table-column> | |
| 930 | + <el-table-column label="操作" min-width="20%"> | |
| 931 | + <template slot-scope="scope"> | |
| 932 | + <!-- <div class="tableBtn greens" @click="Down(scope.row)">下载</div> --> | |
| 933 | + <a class="tableBtn greens" :href="scope.row.attachmentUrl" target="_blank" download>下载</a> | |
| 934 | + </template> | |
| 935 | + </el-table-column> | |
| 936 | + | |
| 937 | + </el-table> | |
| 938 | + </div> | |
| 939 | + </div> | |
| 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-table :data="tableData5" | |
| 944 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}" | |
| 945 | + style="width: 100%;margin: auto;"> | |
| 946 | + <el-table-column class-name="first-column-bg" label="创建人" prop="name" min-width="15%"> | |
| 947 | + </el-table-column> | |
| 948 | + <el-table-column :label="createUser" prop="eventTheme" min-width="35%"> | |
| 949 | + | |
| 950 | + </el-table-column> | |
| 951 | + <el-table-column class-name="first-column-bg" label="创建时间" prop="text" min-width="15%"> | |
| 952 | + | |
| 953 | + </el-table-column> | |
| 954 | + <el-table-column :label="createDate" prop="planName" min-width="35%"> | |
| 955 | + | |
| 956 | + </el-table-column> | |
| 957 | + </el-table> | |
| 958 | + </div> | |
| 959 | + </div> | |
| 960 | + </div> | |
| 961 | + <div style="width: 50%;"> | |
| 962 | + <div style="width: 100%;"> | |
| 963 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">修改前</div> | |
| 964 | + <div style="padding: 10px 20px;"> | |
| 965 | + <el-descriptions class="margin-top" :column="2" border :labelStyle="labelStyleOne" > | |
| 966 | + <el-descriptions-item> | |
| 967 | + <template slot="label"> | |
| 968 | + 方案编号 | |
| 969 | + </template> | |
| 970 | + {{lixiang.id}} | |
| 971 | + </el-descriptions-item> | |
| 972 | + <el-descriptions-item> | |
| 973 | + <template slot="label"> | |
| 974 | + 方案名称 | |
| 975 | + </template> | |
| 976 | + {{lixiang.planName}} | |
| 977 | + </el-descriptions-item> | |
| 978 | + <el-descriptions-item> | |
| 979 | + <template slot="label"> | |
| 980 | + 类型 | |
| 981 | + </template> | |
| 982 | + {{lixiang.planType}} | |
| 983 | + </el-descriptions-item> | |
| 984 | + <el-descriptions-item> | |
| 985 | + <template slot="label"> | |
| 986 | + 活动地点 | |
| 987 | + </template> | |
| 988 | + {{lixiang.eventAddrs}} | |
| 989 | + </el-descriptions-item> | |
| 990 | + <el-descriptions-item> | |
| 991 | + <template slot="label"> | |
| 992 | + 活动开始时间 | |
| 993 | + </template> | |
| 994 | + {{lixiang.eventStartTime}} | |
| 995 | + </el-descriptions-item> | |
| 996 | + <el-descriptions-item> | |
| 997 | + <template slot="label"> | |
| 998 | + 活动结束时间 | |
| 999 | + </template> | |
| 1000 | + {{lixiang.eventEndTime}} | |
| 1001 | + </el-descriptions-item> | |
| 1002 | + <el-descriptions-item> | |
| 1003 | + <template slot="label"> | |
| 1004 | + 活动主题 | |
| 1005 | + </template> | |
| 1006 | + {{lixiang.eventTheme}} | |
| 1007 | + </el-descriptions-item> | |
| 1008 | + <el-descriptions-item> | |
| 1009 | + <template slot="label"> | |
| 1010 | + 活动主办方 | |
| 1011 | + </template> | |
| 1012 | + {{lixiang.sponsor}} | |
| 1013 | + </el-descriptions-item> | |
| 1014 | + <el-descriptions-item> | |
| 1015 | + <template slot="label"> | |
| 1016 | + 活动参与方 | |
| 1017 | + </template> | |
| 1018 | + {{lixiang.participants}} | |
| 1019 | + </el-descriptions-item> | |
| 1020 | + <el-descriptions-item> | |
| 1021 | + <template slot="label"> | |
| 1022 | + 活动主要目的 | |
| 1023 | + </template> | |
| 1024 | + {{lixiang.mainPurpose}} | |
| 1025 | + </el-descriptions-item> | |
| 1026 | + <el-descriptions-item> | |
| 1027 | + <template slot="label"> | |
| 1028 | + 范围设置 | |
| 1029 | + </template> | |
| 1030 | + {{lixiang.rangeSetting}} | |
| 1031 | + </el-descriptions-item> | |
| 1032 | + <el-descriptions-item> | |
| 1033 | + <template slot="label"> | |
| 1034 | + 状态 | |
| 1035 | + </template> | |
| 1036 | + {{getStatus(lixiang.state)}} | |
| 1037 | + | |
| 1038 | + </el-descriptions-item> | |
| 1039 | + </el-descriptions> | |
| 1040 | + | |
| 1041 | + </div> | |
| 1042 | + </div> | |
| 1043 | + <div style="width: 100%;"> | |
| 1044 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">活动明细信息</div> | |
| 1045 | + <div style="padding: 10px 20px;"> | |
| 1046 | + <el-table :data="tableData2" | |
| 1047 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}" | |
| 1048 | + style="width: 100%;margin: auto;"> | |
| 1049 | + <el-table-column label="序号" min-width="5%" align='center'> | |
| 1050 | + <template slot-scope="scope"> | |
| 1051 | + <span style="">{{ scope.$index +1}}</span> | |
| 1052 | + </template> | |
| 1053 | + </el-table-column> | |
| 1054 | + <el-table-column label="明细项名称" prop="detailLtemName" min-width="28%"> | |
| 1055 | + </el-table-column> | |
| 1056 | + <el-table-column label="预估数量" prop="estimatedQuantity" min-width="20%"> | |
| 1057 | + | |
| 1058 | + </el-table-column> | |
| 1059 | + <el-table-column label="预估费用" prop="estimatedCost" min-width="20%"> | |
| 1060 | + | |
| 1061 | + </el-table-column> | |
| 1062 | + <el-table-column label="备注" prop="notes" min-width="20%"> | |
| 1063 | + </el-table-column> | |
| 1064 | + </el-table> | |
| 1065 | + </div> | |
| 1066 | + </div> | |
| 1067 | + <div style="width: 100%;"> | |
| 1068 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">活动成本信息</div> | |
| 1069 | + <div style="padding:10px 20px;"> | |
| 1070 | + <el-descriptions class="margin-top" :column="2" border :labelStyle="labelStyleOne" > | |
| 1071 | + <el-descriptions-item> | |
| 1072 | + <template slot="label"> | |
| 1073 | + 内部人力成本预估 | |
| 1074 | + </template> | |
| 1075 | + {{lixiang.internalLaborCostEstimation}} | |
| 1076 | + </el-descriptions-item> | |
| 1077 | + <el-descriptions-item> | |
| 1078 | + <template slot="label"> | |
| 1079 | + 外部人力成本预估 | |
| 1080 | + </template> | |
| 1081 | + {{lixiang.externalLaborCostEstimation}} | |
| 1082 | + </el-descriptions-item> | |
| 1083 | + <el-descriptions-item> | |
| 1084 | + <template slot="label"> | |
| 1085 | + 商品成本预估 | |
| 1086 | + </template> | |
| 1087 | + {{lixiang.costEstimationGoods}} | |
| 1088 | + </el-descriptions-item> | |
| 1089 | + <el-descriptions-item> | |
| 1090 | + <template slot="label"> | |
| 1091 | + 设备成本预估 | |
| 1092 | + </template> | |
| 1093 | + {{lixiang.setCostEstimate}} | |
| 1094 | + </el-descriptions-item> | |
| 1095 | + <el-descriptions-item> | |
| 1096 | + <template slot="label"> | |
| 1097 | + 宣传费用预估 | |
| 1098 | + </template> | |
| 1099 | + {{lixiang.estimatedPromotionalExpenses}} | |
| 1100 | + </el-descriptions-item> | |
| 1101 | + <el-descriptions-item> | |
| 1102 | + <template slot="label"> | |
| 1103 | + 其他必要成本预估 | |
| 1104 | + </template> | |
| 1105 | + {{lixiang.otherNecessaryEstimates}} | |
| 1106 | + </el-descriptions-item> | |
| 1107 | + <el-descriptions-item> | |
| 1108 | + <template slot="label"> | |
| 1109 | + 总成本预估 | |
| 1110 | + </template> | |
| 1111 | + {{lixiang.totalCostEstimation}} | |
| 1112 | + </el-descriptions-item> | |
| 1113 | + <el-descriptions-item> | |
| 1114 | + <template slot="label"> | |
| 1115 | + 备注 | |
| 1116 | + </template> | |
| 1117 | + {{lixiang.notes}} | |
| 1118 | + </el-descriptions-item> | |
| 1119 | + </el-descriptions> | |
| 1120 | + </div> | |
| 1121 | + </div> | |
| 1122 | + <div style="width: 100%;"> | |
| 1123 | +<div style="font-size: 14px;padding: 10px 20px 0px 20px;">预估效果</div> | |
| 1124 | + <div style="padding:10px 20px;"> | |
| 1125 | + <el-descriptions class="margin-top" :column="2" border :labelStyle="labelStyleOne" > | |
| 1126 | + <el-descriptions-item> | |
| 1127 | + <template slot="label"> | |
| 1128 | + 预计吸引流量 | |
| 1129 | + </template> | |
| 1130 | + {{lixiang.expectedAttractTraffic}} | |
| 1131 | + </el-descriptions-item> | |
| 1132 | + <el-descriptions-item> | |
| 1133 | + <template slot="label"> | |
| 1134 | + 预计参与人数 | |
| 1135 | + </template> | |
| 1136 | + {{lixiang.expectedParticipation}} | |
| 1137 | + </el-descriptions-item> | |
| 1138 | + <el-descriptions-item> | |
| 1139 | + <template slot="label"> | |
| 1140 | + 预计直接收益 | |
| 1141 | + </template> | |
| 1142 | + {{lixiang.expectedDirectBenefits}} | |
| 1143 | + </el-descriptions-item> | |
| 1144 | + <el-descriptions-item> | |
| 1145 | + <template slot="label"> | |
| 1146 | + 预计间接收益 | |
| 1147 | + </template> | |
| 1148 | + {{lixiang.expectedIndirectBenefits}} | |
| 1149 | + </el-descriptions-item> | |
| 1150 | + | |
| 1151 | + </el-descriptions> | |
| 1152 | + | |
| 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="tableData6" | |
| 1159 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}" | |
| 1160 | + style="width: 100%;margin: auto;"> | |
| 1161 | + <el-table-column label="序号" min-width="5%" align='center'> | |
| 1162 | + <template slot-scope="scope"> | |
| 1163 | + <span style="">{{ scope.$index + 1 }}</span> | |
| 1164 | + </template> | |
| 1165 | + </el-table-column> | |
| 1166 | + <el-table-column label="附件名称" prop="attachmentName" min-width="75%"> | |
| 1167 | + </el-table-column> | |
| 1168 | + <el-table-column label="操作" min-width="20%"> | |
| 1169 | + <template slot-scope="scope"> | |
| 1170 | + <!-- <div class="tableBtn greens" @click="Down(scope.row)">下载</div> --> | |
| 1171 | + <a class="tableBtn greens" :href="scope.row.attachmentUrl" target="_blank" download>下载</a> | |
| 1172 | + </template> | |
| 1173 | + </el-table-column> | |
| 1174 | + | |
| 1175 | + </el-table> | |
| 1176 | + </div> | |
| 1177 | + </div> | |
| 1178 | + <div style="width: 100%;"> | |
| 1179 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">系统信息</div> | |
| 1180 | + <div style="padding:10px 20px;"> | |
| 1181 | + <el-table :data="tableData5" | |
| 1182 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}" | |
| 1183 | + style="width: 100%;margin: auto;"> | |
| 1184 | + <el-table-column class-name="first-column-bg" label="创建人" prop="name" min-width="15%"> | |
| 1185 | + </el-table-column> | |
| 1186 | + <el-table-column :label="createUser" prop="eventTheme" min-width="35%"> | |
| 1187 | + | |
| 1188 | + </el-table-column> | |
| 1189 | + <el-table-column class-name="first-column-bg" label="创建时间" prop="text" min-width="15%"> | |
| 1190 | + | |
| 1191 | + </el-table-column> | |
| 1192 | + <el-table-column :label="createDate" prop="planName" min-width="35%"> | |
| 1193 | + | |
| 1194 | + </el-table-column> | |
| 1195 | + </el-table> | |
| 1196 | + </div> | |
| 1197 | + </div> | |
| 1198 | + </div> | |
| 1199 | + </div> | |
| 1200 | + | |
| 1201 | + | |
| 1202 | + </div> | |
| 1203 | +</el-dialog> | |
| 1204 | + | |
| 1205 | +<el-dialog title="新增明细" :visible.sync="addMing" custom-class='dialog_css' style="padding: 0;" width="50%" append-to-body | |
| 1206 | + center :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false"> | |
| 1207 | + <div style="padding: 15px;width:100%"> | |
| 1208 | + <div style=""> | |
| 1209 | + <div style="padding: 15px;"> | |
| 1210 | + <el-form label-position="right" ref="ruleFormInfo" :model="mingFrom" label-width="140px" | |
| 1211 | + style="position: relative"> | |
| 1212 | + <el-form-item label="明细项名称" class="grid-content bg-purple device-from" prop="planName"> | |
| 1213 | + <el-input v-model="mingFrom.detailLtemName" placeholder="请输入" /> | |
| 1214 | + </el-form-item> | |
| 1215 | + <el-form-item label="预估数量" class="grid-content bg-purple" prop=" planType"> | |
| 1216 | + <el-input v-model="mingFrom.estimatedQuantity" placeholder="请输入" /> | |
| 1217 | + </el-form-item> | |
| 1218 | + | |
| 1219 | + <el-form-item label="预估费用" class="grid-content bg-purple" prop="eventAddrs"> | |
| 1220 | + <el-input v-model="mingFrom.estimatedCost" placeholder="请输入" /> | |
| 1221 | + </el-form-item> | |
| 1222 | + <el-form-item label="备注" class="grid-content bg-purple device-from" prop="planName"> | |
| 1223 | + <el-input v-model="mingFrom.notes" placeholder="请输入" /> | |
| 1224 | + </el-form-item> | |
| 1225 | + </el-form> | |
| 1226 | + </div> | |
| 1227 | + </div> | |
| 1228 | + | |
| 1229 | + </div> | |
| 1230 | + <div style="display: flex;justify-content: flex-end;padding: 10px 20px 10px 0"> | |
| 1231 | + | |
| 1232 | + <el-button plain @click="minSev" style="background-color: #3F9B6A;color: #fff;">保存 | |
| 1233 | + </el-button> | |
| 1234 | + <el-button plain @click="addMing=false" style="background-color: #3F9B6A;color: #fff;">取消 | |
| 1235 | + </el-button> | |
| 1236 | + </div> | |
| 1237 | +</el-dialog> | |
| 1238 | +<!-- 效果对比 --> | |
| 1239 | +<el-dialog :visible.sync="xiaoDui" custom-class='dialog_css' style="padding: 0;" width="60%" center | |
| 1240 | + :close-on-click-modal="false" :close-on-press-escape="false"> | |
| 1241 | + <div style="padding: 0 50px;display:flex;justify-content: space-evenly;"> | |
| 1242 | + <div style="width:30%"> | |
| 1243 | + <div style="display: flex;"> | |
| 1244 | + <div style="margin-right: 10px;padding: 10px 0;"> | |
| 1245 | + <div>调整前方案</div> | |
| 1246 | + <div style="font-size: 22px;color: #3F9B6A;font-weight: 600;margin: 10px 0;">{{xiaoduiObj.biliOne}}</div> | |
| 1247 | + <div style="font-size: 16px;color: #3F9B6A;font-weight: 600;">投入产出比</div> | |
| 1248 | + </div> | |
| 1249 | + <el-progress type="circle" :percentage="xiaoduiObj.bilis" :show-text="false" :width="100"> | |
| 1250 | + </el-progress> | |
| 1251 | + </div> | |
| 1252 | + <div style="padding:30px 0">计划任务(完成度)</div> | |
| 1253 | + <div class="jindutiao"> | |
| 1254 | + <div style="margin-right:10px;width:56px">直接收入</div> | |
| 1255 | + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> --> | |
| 1256 | + <el-progress | |
| 1257 | + style="width: 150px;" | |
| 1258 | + :text-inside="true" | |
| 1259 | + :stroke-width="20" | |
| 1260 | + :percentage="baifenbi(duibiOne.expectedDirectBenefits)" | |
| 1261 | + status="success" | |
| 1262 | + :format="() => customFormat(duibiOne.expectedDirectBenefits)" | |
| 1263 | + ></el-progress> | |
| 1264 | + </div> | |
| 1265 | + <div class="jindutiao"> | |
| 1266 | + <div style="margin-right:10px;width:56px">间接收入</div> | |
| 1267 | + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> --> | |
| 1268 | + <el-progress | |
| 1269 | + style="width: 150px;" | |
| 1270 | + :text-inside="true" | |
| 1271 | + :stroke-width="20" | |
| 1272 | + :percentage="baifenbi(duibiOne.expectedIndirectBenefits)" | |
| 1273 | + status="success" | |
| 1274 | + :format="() => customFormat(duibiOne.expectedIndirectBenefits)" | |
| 1275 | + ></el-progress> | |
| 1276 | + </div> | |
| 1277 | + <div class="jindutiao"> | |
| 1278 | + <div style="margin-right:10px;width:56px">人力</div> | |
| 1279 | + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> --> | |
| 1280 | + <el-progress | |
| 1281 | + style="width: 150px;" | |
| 1282 | + :text-inside="true" | |
| 1283 | + :stroke-width="20" | |
| 1284 | + :percentage="baifenbi(duibiOne.internalLaborCostEstimation)" | |
| 1285 | + status="success" | |
| 1286 | + :format="() => customFormat(duibiOne.internalLaborCostEstimation)" | |
| 1287 | + ></el-progress> | |
| 1288 | + </div> | |
| 1289 | + <div class="jindutiao"> | |
| 1290 | + <div style="margin-right:10px;width:56px">设备</div> | |
| 1291 | + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> --> | |
| 1292 | + <el-progress | |
| 1293 | + style="width: 150px;" | |
| 1294 | + :text-inside="true" | |
| 1295 | + :stroke-width="20" | |
| 1296 | + :percentage="baifenbi(duibiOne.setCostEstimate)" | |
| 1297 | + status="success" | |
| 1298 | + :format="() => customFormat(duibiOne.setCostEstimate)" | |
| 1299 | + ></el-progress> | |
| 1300 | + </div> | |
| 1301 | + <div class="jindutiao"> | |
| 1302 | + <div style="margin-right:10px;width:56px">宣传</div> | |
| 1303 | + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> --> | |
| 1304 | + <el-progress | |
| 1305 | + style="width: 150px;" | |
| 1306 | + :text-inside="true" | |
| 1307 | + :stroke-width="20" | |
| 1308 | + :percentage="baifenbi(duibiOne.estimatedPromotionalExpenses)" | |
| 1309 | + status="success" | |
| 1310 | + :format="() => customFormat(duibiOne.estimatedPromotionalExpenses)" | |
| 1311 | + ></el-progress> | |
| 1312 | + </div> | |
| 1313 | + <div class="jindutiao"> | |
| 1314 | + <div style="margin-right:10px;width:56px">其他</div> | |
| 1315 | + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> --> | |
| 1316 | + <el-progress | |
| 1317 | + style="width: 150px;" | |
| 1318 | + :text-inside="true" | |
| 1319 | + :stroke-width="20" | |
| 1320 | + :percentage="baifenbi(duibiOne.otherNecessaryEstimates)" | |
| 1321 | + status="success" | |
| 1322 | + :format="() => customFormat(duibiOne.otherNecessaryEstimates)" | |
| 1323 | + ></el-progress> | |
| 1324 | + </div> | |
| 1325 | + </div> | |
| 1326 | + <div style="width:30%"> | |
| 1327 | + <div style="display: flex;"> | |
| 1328 | + <div style="margin-right: 10px;padding: 10px 0;"> | |
| 1329 | + <div>调整后方案</div> | |
| 1330 | + <div style="font-size: 22px;color: #3F9B6A;font-weight: 600;margin: 10px 0;">{{xiaoduiObj.biliTwo}}</div> | |
| 1331 | + <div style="font-size: 16px;color: #3F9B6A;font-weight: 600;">投入产出比</div> | |
| 1332 | + </div> | |
| 1333 | + <el-progress type="circle" :percentage="xiaoduiObj.biliT" :show-text="false" :width="100"> | |
| 1334 | + </el-progress> | |
| 1335 | + </div> | |
| 1336 | + <div style="padding:30px 0">计划任务(完成度)</div> | |
| 1337 | + <div class="jindutiao"> | |
| 1338 | + <div style="margin-right:10px;width:56px">直接收入</div> | |
| 1339 | + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> --> | |
| 1340 | + <el-progress | |
| 1341 | + style="width: 150px;" | |
| 1342 | + :text-inside="true" | |
| 1343 | + :stroke-width="20" | |
| 1344 | + :percentage="baifenbi(duibiTwo.expectedDirectBenefits==undefined?'':duibiTwo.expectedDirectBenefits)" | |
| 1345 | + status="success" | |
| 1346 | + :format="() => customFormat(duibiTwo.expectedDirectBenefits==undefined?'':duibiTwo.expectedDirectBenefits)" | |
| 1347 | + ></el-progress> | |
| 1348 | + </div> | |
| 1349 | + <div class="jindutiao"> | |
| 1350 | + <div style="margin-right:10px;width:56px">间接收入</div> | |
| 1351 | + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> --> | |
| 1352 | + <el-progress | |
| 1353 | + style="width: 150px;" | |
| 1354 | + :text-inside="true" | |
| 1355 | + :stroke-width="20" | |
| 1356 | + :percentage="baifenbi(duibiTwo.expectedIndirectBenefits==undefined?'':duibiTwo.expectedIndirectBenefits)" | |
| 1357 | + status="success" | |
| 1358 | + :format="() => customFormat(duibiTwo.expectedIndirectBenefits==undefined?'':duibiTwo.expectedIndirectBenefits)" | |
| 1359 | + ></el-progress> | |
| 1360 | + </div> | |
| 1361 | + <div class="jindutiao"> | |
| 1362 | + <div style="margin-right:10px;width:56px">人力</div> | |
| 1363 | + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> --> | |
| 1364 | + <el-progress | |
| 1365 | + style="width: 150px;" | |
| 1366 | + :text-inside="true" | |
| 1367 | + :stroke-width="20" | |
| 1368 | + :percentage="baifenbi(duibiTwo.internalLaborCostEstimation==undefined?'':duibiTwo.internalLaborCostEstimation)" | |
| 1369 | + status="success" | |
| 1370 | + :format="() => customFormat(duibiTwo.internalLaborCostEstimation==undefined?'':duibiTwo.internalLaborCostEstimation)" | |
| 1371 | + ></el-progress> | |
| 1372 | + </div> | |
| 1373 | + <div class="jindutiao"> | |
| 1374 | + <div style="margin-right:10px;width:56px">设备</div> | |
| 1375 | + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> --> | |
| 1376 | + <el-progress | |
| 1377 | + style="width: 150px;" | |
| 1378 | + :text-inside="true" | |
| 1379 | + :stroke-width="20" | |
| 1380 | + :percentage="baifenbi(duibiTwo.setCostEstimate==undefined?'':duibiTwo.setCostEstimate)" | |
| 1381 | + status="success" | |
| 1382 | + :format="() => customFormat(duibiTwo.setCostEstimate==undefined?'':duibiTwo.setCostEstimate)" | |
| 1383 | + ></el-progress> | |
| 1384 | + </div> | |
| 1385 | + <div class="jindutiao"> | |
| 1386 | + <div style="margin-right:10px;width:56px">宣传</div> | |
| 1387 | + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> --> | |
| 1388 | + <el-progress | |
| 1389 | + style="width: 150px;" | |
| 1390 | + :text-inside="true" | |
| 1391 | + :stroke-width="20" | |
| 1392 | + :percentage="baifenbi(duibiTwo.estimatedPromotionalExpenses==undefined?'':duibiTwo.estimatedPromotionalExpenses)" | |
| 1393 | + status="success" | |
| 1394 | + :format="() => customFormat(duibiTwo.estimatedPromotionalExpenses==undefined?'':duibiTwo.estimatedPromotionalExpenses)" | |
| 1395 | + ></el-progress> | |
| 1396 | + </div> | |
| 1397 | + <div class="jindutiao"> | |
| 1398 | + <div style="margin-right:10px;width:56px">其他</div> | |
| 1399 | + <el-progress | |
| 1400 | + style="width: 150px;" | |
| 1401 | + :text-inside="true" | |
| 1402 | + :stroke-width="20" | |
| 1403 | + :percentage="baifenbi(duibiTwo.otherNecessaryEstimates==undefined?'':duibiTwo.otherNecessaryEstimates)" | |
| 1404 | + status="success" | |
| 1405 | + :format="() => customFormat(duibiTwo.otherNecessaryEstimates==undefined?'':duibiTwo.otherNecessaryEstimates)" | |
| 1406 | + ></el-progress> | |
| 1407 | + </div> | |
| 1408 | + </div> | |
| 1409 | + </div> | |
| 1410 | +</el-dialog> | |
| 1411 | + | |
| 1412 | + | |
| 1413 | + <!-- 复制 --> | |
| 1414 | + <el-dialog :visible.sync="copyShow" 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-form label-position="right" :model="copy" label-width="120px" | |
| 1421 | + style="position: relative"> | |
| 1422 | + <el-form-item label="新方案名称" class="grid-content bg-purple device-from" prop="planName"> | |
| 1423 | + <el-input v-model="copy.planName" placeholder="请输入" /> | |
| 1424 | + </el-form-item> | |
| 1425 | + </el-form> | |
| 1426 | + </div> | |
| 1427 | + | |
| 1428 | + <div style="display: flex;justify-content: flex-end;padding: 10px 20px 10px 0"> | |
| 1429 | + <el-button class="buttonHover" | |
| 1430 | + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 1431 | + @click="copyClose" >返回</el-button> | |
| 1432 | + <el-button plain @click="copysev" style="background-color: #3F9B6A;color: #fff;" >保存 | |
| 1433 | + </el-button> | |
| 1434 | + </div> | |
| 1435 | + </el-dialog> | |
| 1436 | +<el-dialog :visible.sync="searchShow" custom-class='xiaoguo_css' style="padding: 0;" width="50%" | |
| 1437 | + center :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false"> | |
| 1438 | + <div style="padding:15px;background-color:#F9F9F9;font-size:14px;border:1px solid #ECECEC;margin-bottom:20px;display: flex;justify-content: space-between;"> | |
| 1439 | + <div>搜索关键词配置</div> | |
| 1440 | + </div> | |
| 1441 | + <div style="padding:0 36px;"> | |
| 1442 | + <el-checkbox v-model="searPei.name">方案名称</el-checkbox> | |
| 1443 | + <!-- <el-checkbox v-model="searPei.lei">方案类型</el-checkbox> --> | |
| 1444 | + <el-checkbox v-model="searPei.staut">审核状态</el-checkbox> | |
| 1445 | + </div> | |
| 1446 | + | |
| 1447 | + <div style="display: flex;justify-content: flex-end;padding: 10px 20px 10px 0"> | |
| 1448 | + <el-button class="buttonHover" | |
| 1449 | + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 1450 | + @click="searchQuit" >取消</el-button> | |
| 1451 | + <el-button plain @click="searchShow=false" style="background-color: #3F9B6A;color: #fff;" >保存 | |
| 1452 | + </el-button> | |
| 1453 | + </div> | |
| 1454 | + </el-dialog> | |
| 1455 | +<el-dialog :visible.sync="jiucuoShow" custom-class='bian_css' style="padding: 0;" width="50%" | |
| 1456 | + :close-on-press-escape="false" center :close-on-click-modal="false" class="dialog_css_Xq" :show-close="false"> | |
| 1457 | + <div style="padding:20px;"> | |
| 1458 | + <div style="font-size: 14px;padding-bottom: 20px;color: #000;">活动策划调整纠错</div> | |
| 1459 | + <wangEditor v-model="jiuMsg" ref="editor"></wangEditor> | |
| 1460 | + <div style="padding-top:20px;display:flex;justify-content: flex-end;"> | |
| 1461 | + <el-button style="background-color: #3F9B6A;color: #fff" | |
| 1462 | + @click="jiuCheck">确定</el-button> | |
| 1463 | + <el-button @click="jiucuoShow = false" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" class="buttonHover">取消</el-button> | |
| 1464 | + | |
| 1465 | + </div> | |
| 1466 | + | |
| 1467 | + </div> | |
| 1468 | + | |
| 1469 | + </el-dialog> | |
| 1470 | + | |
| 1471 | +<actbians :showBian="actbianMsg" @BianchildClose='BianchildClose'></actbians> | |
| 1472 | +</div> | |
| 1473 | +</template> | |
| 1474 | + | |
| 1475 | +<script> | |
| 1476 | + import { | |
| 1477 | + deleteById, | |
| 1478 | + queryByPage, | |
| 1479 | + xiangByPage, | |
| 1480 | + fujiaTable, | |
| 1481 | + mingTable, | |
| 1482 | + danqueryById, | |
| 1483 | + xiangedit, | |
| 1484 | + actEdit, | |
| 1485 | + actAdd, | |
| 1486 | + actPage, | |
| 1487 | + MingAdd, | |
| 1488 | + MingDel, | |
| 1489 | + cereGet, | |
| 1490 | + cereAdd, | |
| 1491 | + cereEdit, | |
| 1492 | + cereDel, | |
| 1493 | + copy, | |
| 1494 | + excelQueryByPage, | |
| 1495 | + excelAdd, | |
| 1496 | + effectEvaluation, | |
| 1497 | + lishiDeta | |
| 1498 | + } from '../../api/activityBz' | |
| 1499 | + import actbians from "./activityBian" | |
| 1500 | + import * as echarts from 'echarts' | |
| 1501 | + import Vue from 'vue' | |
| 1502 | + import html2canvas from 'html2canvas' | |
| 1503 | + import jsPDF from 'jspdf' | |
| 1504 | + import wangEditor from "@/components/editor/index"; | |
| 1505 | + import { | |
| 1506 | + uploadUrl | |
| 1507 | + } from '@/utils/request' | |
| 1508 | + export default { | |
| 1509 | + components: { | |
| 1510 | + actbians, | |
| 1511 | + wangEditor | |
| 1512 | + }, | |
| 1513 | + data() { | |
| 1514 | + return { | |
| 1515 | + uploadFileUrl: uploadUrl, // 请求地址 | |
| 1516 | + daoData:[], | |
| 1517 | + actbianMsg: { | |
| 1518 | + acBian: '', //编辑数据 | |
| 1519 | + bianshow: false, //编辑页 | |
| 1520 | + }, | |
| 1521 | + fileData:[], | |
| 1522 | + fenlei: [], | |
| 1523 | + secondData: {}, | |
| 1524 | + | |
| 1525 | + formSear:{ | |
| 1526 | + planName: '', | |
| 1527 | + state:null, | |
| 1528 | + dataOwnership: '1', | |
| 1529 | + pageNumber: 1, | |
| 1530 | + pageSize: 10, | |
| 1531 | + isDraft:0 | |
| 1532 | + }, | |
| 1533 | + | |
| 1534 | + planFen: '', | |
| 1535 | + eventTheme: '', | |
| 1536 | + currentPage: 1, | |
| 1537 | + total: 100, | |
| 1538 | + flag: false, | |
| 1539 | + pageSize: 10, | |
| 1540 | + ggXin: false, | |
| 1541 | + radio: '1', | |
| 1542 | + shan: '', | |
| 1543 | + activeName: 'first', | |
| 1544 | + rules: { | |
| 1545 | + coDe: [{ | |
| 1546 | + required: true, | |
| 1547 | + message: '请输入活动名称', | |
| 1548 | + trigger: 'blur' | |
| 1549 | + }, | |
| 1550 | + | |
| 1551 | + ], | |
| 1552 | + }, | |
| 1553 | + formInline: { | |
| 1554 | + merchantName: '', // 商家名称 | |
| 1555 | + storeId: '', // 编码 | |
| 1556 | + contacts: '', // 联系人 | |
| 1557 | + businessEntity: '', //经营主体 | |
| 1558 | + page: 1, // 当前页 | |
| 1559 | + pageSize: 10 // 每页记录数 | |
| 1560 | + }, | |
| 1561 | + tableData: [], | |
| 1562 | + id: '', | |
| 1563 | + text: '123', | |
| 1564 | + tableData1: [{ | |
| 1565 | + id: 0, | |
| 1566 | + name: '类型', | |
| 1567 | + planName: '', | |
| 1568 | + text: '活动地点', | |
| 1569 | + eventTheme: '' | |
| 1570 | + }, { | |
| 1571 | + id: 0, | |
| 1572 | + name: '活动开始时间', | |
| 1573 | + planName: '', | |
| 1574 | + text: '活动结束时间', | |
| 1575 | + eventTheme: '' | |
| 1576 | + }, { | |
| 1577 | + id: 0, | |
| 1578 | + name: '活动主题', | |
| 1579 | + planName: '', | |
| 1580 | + text: '活动主办方', | |
| 1581 | + eventTheme: '' | |
| 1582 | + }, { | |
| 1583 | + id: 0, | |
| 1584 | + name: '活动参与方', | |
| 1585 | + planName: '', | |
| 1586 | + text: '活动主要目的', | |
| 1587 | + eventTheme: '' | |
| 1588 | + }, { | |
| 1589 | + id: 0, | |
| 1590 | + name: '范围设置', | |
| 1591 | + planName: '', | |
| 1592 | + text: '状态', | |
| 1593 | + eventTheme: '' | |
| 1594 | + }], | |
| 1595 | + internalLaborCostEstimation: '', | |
| 1596 | + externalLaborCostEstimation: '', | |
| 1597 | + tableData3: [{ | |
| 1598 | + id: 0, | |
| 1599 | + name: '商品成本预估', | |
| 1600 | + planName: '', | |
| 1601 | + text: '设备成本预估', | |
| 1602 | + eventTheme: '' | |
| 1603 | + }, { | |
| 1604 | + id: 0, | |
| 1605 | + name: '宣传费用预估', | |
| 1606 | + planName: '', | |
| 1607 | + text: '其他必要成本预估', | |
| 1608 | + eventTheme: '' | |
| 1609 | + }, { | |
| 1610 | + id: 0, | |
| 1611 | + name: '总成本预估', | |
| 1612 | + planName: '', | |
| 1613 | + text: '备注', | |
| 1614 | + eventTheme: '' | |
| 1615 | + }], | |
| 1616 | + expectedAttractTraffic: '', | |
| 1617 | + expectedParticipation: '', | |
| 1618 | + tableData4: [{ | |
| 1619 | + id: 0, | |
| 1620 | + name: '预计直接收益', | |
| 1621 | + planName: '', | |
| 1622 | + text: '预计间接收益', | |
| 1623 | + eventTheme: '-' | |
| 1624 | + }], | |
| 1625 | + createUser: '', | |
| 1626 | + createDate: '', | |
| 1627 | + tableData5: [{ | |
| 1628 | + id: 0, | |
| 1629 | + name: '更新人', | |
| 1630 | + planName: '', | |
| 1631 | + text: '更新时间', | |
| 1632 | + eventTheme: '-' | |
| 1633 | + }], | |
| 1634 | + tableData2: [], //基本信息明细列表 | |
| 1635 | + tableData6: [], //基本信息附件列表 | |
| 1636 | + addMing: false, //执行效果添加明细 | |
| 1637 | + zhixingBian: false, //判断是否编辑执行效果 | |
| 1638 | + tableDa: [], //执行效果明细列表 | |
| 1639 | + zhiXing: true, //判断是否是新增的执行效果 | |
| 1640 | + mingFrom: { | |
| 1641 | + detailLtemName: '', | |
| 1642 | + estimatedQuantity: '', | |
| 1643 | + estimatedCost: '', | |
| 1644 | + notes: '' | |
| 1645 | + }, | |
| 1646 | + planTime:[], | |
| 1647 | + zhixingList: { | |
| 1648 | + planTime: [], | |
| 1649 | + planName: '', //活动名称 | |
| 1650 | + eventAddrs: '', //实际举办地点 | |
| 1651 | + eventStartTime: 0, //实际开始时间 | |
| 1652 | + eventEndTime: 0, //实际结束时间 | |
| 1653 | + sponsor: '', //实际主办方 | |
| 1654 | + participants: '', //实际参与方 | |
| 1655 | + internalLaborCostEstimation: '', //内部人工成本 | |
| 1656 | + externalLaborCostEstimation: '', //外部人工成本 | |
| 1657 | + costEstimationGoods: '', //商品成本 | |
| 1658 | + setCostEstimate: '', //设备成本 | |
| 1659 | + estimatedPromotionalExpenses: '', //宣传费用预估 | |
| 1660 | + otherNecessaryEstimates: '', //其他成本预估 | |
| 1661 | + totalCostEstimation: '', //总成本预估 | |
| 1662 | + notes: '', //备注 | |
| 1663 | + expectedAttractTraffic: '', //吸引流量 | |
| 1664 | + expectedParticipation: '', //参与人数 | |
| 1665 | + expectedDirectBenefits: '', //直接收益 | |
| 1666 | + expectedIndirectBenefits: '', //间接收益 | |
| 1667 | + createDate: '', //创建时间 | |
| 1668 | + feedbackContent:'' | |
| 1669 | + }, //执行效果列表 | |
| 1670 | + pageindex: { | |
| 1671 | + pageNumber: 1, | |
| 1672 | + pageSize: 10, | |
| 1673 | + dataOwnership: '1', | |
| 1674 | + isDraft:0 | |
| 1675 | + }, | |
| 1676 | + multipleSelection: [], | |
| 1677 | + options: [], | |
| 1678 | + xinADD:{ | |
| 1679 | + classificationName:'', | |
| 1680 | + parentId:'', | |
| 1681 | + classificationType:'0' | |
| 1682 | + }, | |
| 1683 | + value: '', | |
| 1684 | + xiaoDui: false, //效果对比 | |
| 1685 | + dataList:[], | |
| 1686 | + | |
| 1687 | + fenleiDelId:null,//删除的分类ID | |
| 1688 | + xiaoduiObj:{ | |
| 1689 | + biliOne:'0%', | |
| 1690 | + bilis:0, | |
| 1691 | + biliTwo:'0%', | |
| 1692 | + biliT:0 | |
| 1693 | + },//效果对比数据 | |
| 1694 | + fujiLei:'', | |
| 1695 | + defaultProps:{ | |
| 1696 | + children: 'children', | |
| 1697 | + label: 'classificationName' | |
| 1698 | + }, | |
| 1699 | + | |
| 1700 | + copy:{ | |
| 1701 | + planName:'' | |
| 1702 | + }, | |
| 1703 | + copyShow:false, | |
| 1704 | + duibiOne:{}, | |
| 1705 | + duibiTwo:{}, | |
| 1706 | + searchShow:false, | |
| 1707 | + searPei:{ | |
| 1708 | + name:true, | |
| 1709 | + lei:false, | |
| 1710 | + staut:false, | |
| 1711 | + }, | |
| 1712 | + lishiList:null, | |
| 1713 | + labelStyle:{ | |
| 1714 | + width:'197px', | |
| 1715 | + height:'42px', | |
| 1716 | + }, | |
| 1717 | + labelStyleOne:{ | |
| 1718 | + width:'110px', | |
| 1719 | + height:'42px', | |
| 1720 | + color:'#000', | |
| 1721 | + }, | |
| 1722 | + lidata:[], | |
| 1723 | + lixiang:{}, | |
| 1724 | + duibiList:{}, | |
| 1725 | + tiaozhengShow:false, | |
| 1726 | + jiucuoShow:false, | |
| 1727 | + jiuMsg:'', | |
| 1728 | + editId:'', | |
| 1729 | + zhixingqingk:'' | |
| 1730 | + } | |
| 1731 | + }, | |
| 1732 | + created() { | |
| 1733 | + this.getAll() | |
| 1734 | + | |
| 1735 | + }, | |
| 1736 | + computed: { | |
| 1737 | + | |
| 1738 | + }, | |
| 1739 | + methods: { | |
| 1740 | + getStatus(state) { | |
| 1741 | + switch (state) { | |
| 1742 | + case '': | |
| 1743 | + return '待提交'; | |
| 1744 | + case '1': | |
| 1745 | + return '待审核'; | |
| 1746 | + case '2': | |
| 1747 | + return '业务部审核'; | |
| 1748 | + case '3': | |
| 1749 | + return '品牌审核'; | |
| 1750 | + case '4': | |
| 1751 | + return '审核通过'; | |
| 1752 | + case '5': | |
| 1753 | + return '审核不通过' | |
| 1754 | + } | |
| 1755 | + }, | |
| 1756 | + //查询全数据 | |
| 1757 | + async getAll() { | |
| 1758 | + const res = await queryByPage(this.pageindex) | |
| 1759 | + this.tableData = res.data.content | |
| 1760 | + this.total = res.data.content.length | |
| 1761 | + | |
| 1762 | + }, | |
| 1763 | + //删除记录按钮 | |
| 1764 | + handleDelete(val) { | |
| 1765 | + if (this.multipleSelection.length == 1) { | |
| 1766 | + | |
| 1767 | + const h = this.$createElement; | |
| 1768 | + this.$msgbox({ | |
| 1769 | + title: '消息', | |
| 1770 | + message: h('p', null, [ | |
| 1771 | + h('span', null, '是否删除 '), | |
| 1772 | + ]), | |
| 1773 | + showCancelButton: true, | |
| 1774 | + showClose: false, | |
| 1775 | + confirmButtonText: '确定', | |
| 1776 | + cancelButtonText: '取消', | |
| 1777 | + customClass: 'oe-dialog-btn', | |
| 1778 | + beforeClose: (action, instance, done) => { | |
| 1779 | + if (action === 'confirm') { | |
| 1780 | + deleteById({ | |
| 1781 | + id: this.multipleSelection[0].id | |
| 1782 | + }).then(res => { | |
| 1783 | + this.getAll() | |
| 1784 | + done(); | |
| 1785 | + }) | |
| 1786 | + } else { | |
| 1787 | + done(); | |
| 1788 | + } | |
| 1789 | + } | |
| 1790 | + }) | |
| 1791 | + } else { | |
| 1792 | + this.$message({ | |
| 1793 | + message: '请选择一个文件删除', | |
| 1794 | + customClass: 'custom-message', | |
| 1795 | + offset: 100 | |
| 1796 | + }) | |
| 1797 | + } | |
| 1798 | + }, | |
| 1799 | + actDelete(item){ | |
| 1800 | + const h = this.$createElement; | |
| 1801 | + this.$msgbox({ | |
| 1802 | + title: '消息', | |
| 1803 | + message: h('p', null, [ | |
| 1804 | + h('span', null, '是否删除 '), | |
| 1805 | + ]), | |
| 1806 | + showCancelButton: true, | |
| 1807 | + showClose: false, | |
| 1808 | + confirmButtonText: '确定', | |
| 1809 | + cancelButtonText: '取消', | |
| 1810 | + customClass: 'oe-dialog-btn', | |
| 1811 | + beforeClose: (action, instance, done) => { | |
| 1812 | + if (action === 'confirm') { | |
| 1813 | + deleteById({ | |
| 1814 | + id: item.id | |
| 1815 | + }).then(res => { | |
| 1816 | + this.getAll() | |
| 1817 | + done(); | |
| 1818 | + }) | |
| 1819 | + } else { | |
| 1820 | + done(); | |
| 1821 | + } | |
| 1822 | + } | |
| 1823 | + }) | |
| 1824 | + | |
| 1825 | + }, | |
| 1826 | + //查询 | |
| 1827 | + async onSubmit() { | |
| 1828 | + const res = await danqueryById(this.formSear) | |
| 1829 | + this.tableData = res.data.content | |
| 1830 | + }, | |
| 1831 | + //重置按钮 | |
| 1832 | + resetting() { | |
| 1833 | + this.formSear ={ | |
| 1834 | + planName: '', | |
| 1835 | + state:null, | |
| 1836 | + dataOwnership: '1', | |
| 1837 | + pageNumber: 1, | |
| 1838 | + pageSize: 10, | |
| 1839 | + isDraft:0 | |
| 1840 | + } | |
| 1841 | + this.getAll() | |
| 1842 | + }, | |
| 1843 | + //编辑页 | |
| 1844 | + BianchildClose(msg) { | |
| 1845 | + this.actbianMsg.bianshow = msg | |
| 1846 | + this.getAll() | |
| 1847 | + }, | |
| 1848 | + actBian(item) { | |
| 1849 | + this.actbianMsg.acBian = item | |
| 1850 | + this.actbianMsg.bianshow = true | |
| 1851 | + }, | |
| 1852 | + //详情点击 | |
| 1853 | + handleEditForm(item,val,flag) { | |
| 1854 | + if(val == 1){ | |
| 1855 | + this.zhixingBian = flag | |
| 1856 | + this.activeName = 'first' | |
| 1857 | + }else if(val == 2 || flag){ | |
| 1858 | + this.zhixingBian = flag | |
| 1859 | + this.activeName = 'five' | |
| 1860 | + }else if(val == 3){ | |
| 1861 | + this.zhixingBian = flag | |
| 1862 | + this.activeName = 'fourd' | |
| 1863 | + } | |
| 1864 | + this.editId =item.id | |
| 1865 | + this.liData = [] | |
| 1866 | + this.lixiang = {} | |
| 1867 | + this.lishiList=null | |
| 1868 | + this.fileData = [] | |
| 1869 | + this.zhixingList = { | |
| 1870 | + planTime:[], | |
| 1871 | + planName: '', //活动名称 | |
| 1872 | + eventAddrs: '', //实际举办地点 | |
| 1873 | + eventStartTime: 0, //实际开始时间 | |
| 1874 | + eventEndTime: 0, //实际结束时间 | |
| 1875 | + sponsor: '', //实际主办方 | |
| 1876 | + participants: '', //实际参与方 | |
| 1877 | + internalLaborCostEstimation: '', //内部人工成本 | |
| 1878 | + externalLaborCostEstimation: '', //外部人工成本 | |
| 1879 | + costEstimationGoods: '', //商品成本 | |
| 1880 | + setCostEstimate: '', //设备成本 | |
| 1881 | + estimatedPromotionalExpenses: '', //宣传费用预估 | |
| 1882 | + otherNecessaryEstimates: '', //其他成本预估 | |
| 1883 | + totalCostEstimation: '', //总成本预估 | |
| 1884 | + notes: '', //备注 | |
| 1885 | + expectedAttractTraffic: '', //吸引流量 | |
| 1886 | + expectedParticipation: '', //参与人数 | |
| 1887 | + expectedDirectBenefits: '', //直接收益 | |
| 1888 | + expectedIndirectBenefits: '', //间接收益 | |
| 1889 | + createDate: '', //创建时间 | |
| 1890 | + feedbackContent:'' | |
| 1891 | + } //执行效果列表 | |
| 1892 | + actPage({ | |
| 1893 | + detailsId: item.id, | |
| 1894 | + pageNumber: 1, | |
| 1895 | + pageSize: 10, | |
| 1896 | + }).then(res => { | |
| 1897 | + console.log(res.data.content) | |
| 1898 | + if (res.data.content.length == 0) { | |
| 1899 | + this.zhiXing = true | |
| 1900 | + } else { | |
| 1901 | + mingTable({ | |
| 1902 | + detailsId: res.data.content[0].id, | |
| 1903 | + pageNumber: 1, | |
| 1904 | + pageSize: 10, | |
| 1905 | + }).then(res => { | |
| 1906 | + this.tableDa = res.data.content | |
| 1907 | + }) | |
| 1908 | + this.zhiXing = false | |
| 1909 | + this.zhixingList = res.data.content[0] | |
| 1910 | + if((typeof this.zhixingList.eventStartTime) == 'object' || (typeof this.zhixingList.eventEndTime) == 'object' ){ | |
| 1911 | + this.zhixingList.planTime = [] | |
| 1912 | + }else{ | |
| 1913 | + console.log(typeof this.zhixingList.eventStartTime) | |
| 1914 | + this.zhixingList.planTime = [ this.zhixingList.eventStartTime, this.zhixingList.eventEndTime] | |
| 1915 | + } | |
| 1916 | + | |
| 1917 | + } | |
| 1918 | + }) | |
| 1919 | + let that = this | |
| 1920 | + this.planTime = [item.eventStartTime, item.eventEndTime] | |
| 1921 | + fujiaTable({ | |
| 1922 | + detailsId: item.id, | |
| 1923 | + pageNumber: 1, | |
| 1924 | + pageSize: 10, | |
| 1925 | + }).then(res => { | |
| 1926 | + this.tableData6 = res.data.content | |
| 1927 | + }) | |
| 1928 | + mingTable({ | |
| 1929 | + detailsId: item.id, | |
| 1930 | + pageNumber: 1, | |
| 1931 | + pageSize: 10, | |
| 1932 | + }).then(res => { | |
| 1933 | + this.tableData2 = res.data.content | |
| 1934 | + }) | |
| 1935 | + | |
| 1936 | + | |
| 1937 | + danqueryById({ | |
| 1938 | + id: item.id, | |
| 1939 | + dataOwnership: '1', | |
| 1940 | + pageNumber: 1, | |
| 1941 | + pageSize: 10, | |
| 1942 | + }).then(res => { | |
| 1943 | + this.secondData = res.data.content[0] | |
| 1944 | + //基本信息 | |
| 1945 | + // that.id=res.data.content[0].id | |
| 1946 | + that.text = res.data.content[0].planName | |
| 1947 | + that.tableData1[0].eventTheme = res.data.content[0].planType | |
| 1948 | + that.tableData1[0].planName = res.data.content[0].eventAddrs | |
| 1949 | + that.tableData1[1].eventTheme = res.data.content[0].eventStartTime | |
| 1950 | + that.tableData1[1].planName = res.data.content[0].eventEndTime | |
| 1951 | + that.tableData1[2].eventTheme = res.data.content[0].eventTheme | |
| 1952 | + that.tableData1[2].planName = res.data.content[0].sponsor | |
| 1953 | + that.tableData1[3].eventTheme = res.data.content[0].participants | |
| 1954 | + that.tableData1[3].planName = res.data.content[0].mainPurpose | |
| 1955 | + that.tableData1[4].planName = this.getStatus(res.data.content[0].state) | |
| 1956 | + that.tableData1[4].eventTheme = res.data.content[0].rangeSetting | |
| 1957 | + //活动成本信息 | |
| 1958 | + that.internalLaborCostEstimation = res.data.content[0].internalLaborCostEstimation | |
| 1959 | + that.externalLaborCostEstimation = res.data.content[0].externalLaborCostEstimation | |
| 1960 | + that.tableData3[0].eventTheme = res.data.content[0].costEstimationGoods | |
| 1961 | + that.tableData3[0].planName = res.data.content[0].setCostEstimate | |
| 1962 | + that.tableData3[1].eventTheme = res.data.content[0].estimatedPromotionalExpenses | |
| 1963 | + that.tableData3[1].planName = res.data.content[0].otherNecessaryEstimates | |
| 1964 | + that.tableData3[2].eventTheme = res.data.content[0].totalCostEstimation | |
| 1965 | + that.tableData3[2].planName = res.data.content[0].notes | |
| 1966 | + //预估效果 | |
| 1967 | + that.expectedAttractTraffic = res.data.content[0].expectedAttractTraffic | |
| 1968 | + that.expectedParticipation = res.data.content[0].expectedParticipation | |
| 1969 | + that.tableData4[0].eventTheme = res.data.content[0].expectedDirectBenefits | |
| 1970 | + that.tableData4[0].planName = res.data.content[0].expectedIndirectBenefits | |
| 1971 | + //系统信息 | |
| 1972 | + that.createUser = res.data.content[0].createUser | |
| 1973 | + that.createDate = res.data.content[0].createDate | |
| 1974 | + | |
| 1975 | + that.tableData5[0].planName = '-' | |
| 1976 | + that.tableData5[0].eventTheme = res.data.content[0].updateUser | |
| 1977 | + | |
| 1978 | + }).catch(err => { | |
| 1979 | + console.log(err) | |
| 1980 | + | |
| 1981 | + }) | |
| 1982 | + if (!item) { | |
| 1983 | + this.formItem = {} | |
| 1984 | + } else { | |
| 1985 | + this.formItem = item | |
| 1986 | + } | |
| 1987 | + lishiDeta({eventDetailsId:item.id}).then(res=>{ | |
| 1988 | + this.liData = res.data | |
| 1989 | + }) | |
| 1990 | + this.ggXin = true | |
| 1991 | + }, | |
| 1992 | + formTime(data){ | |
| 1993 | + this.zhixingList.planTime = data | |
| 1994 | + }, | |
| 1995 | + removeEmptyValues(obj) { | |
| 1996 | + if (typeof obj !== 'object' || obj === null) { | |
| 1997 | + return obj; | |
| 1998 | + } | |
| 1999 | + | |
| 2000 | + const newObj = Array.isArray(obj) ? [] : {}; | |
| 2001 | + | |
| 2002 | + for (const key in obj) { | |
| 2003 | + if (Object.prototype.hasOwnProperty.call(obj, key)) { | |
| 2004 | + const value = obj[key]; | |
| 2005 | + if (value !== null && value !== undefined && value !== '' && !this.isEmptyObject(value)) { | |
| 2006 | + if (Array.isArray(newObj)) { | |
| 2007 | + newObj.push(this.removeEmptyValues(value)); | |
| 2008 | + } else { | |
| 2009 | + newObj[key] = this.removeEmptyValues(value); | |
| 2010 | + } | |
| 2011 | + } | |
| 2012 | + } | |
| 2013 | + } | |
| 2014 | + | |
| 2015 | + return newObj; | |
| 2016 | + }, | |
| 2017 | + isEmptyObject(obj) { | |
| 2018 | + return Object.keys(obj).length === 0 && obj.constructor === Object; | |
| 2019 | + }, | |
| 2020 | + //获取当前时间 | |
| 2021 | + updateCurrentTime() { | |
| 2022 | + const now = new Date(); | |
| 2023 | + const year = now.getFullYear(); | |
| 2024 | + const month = (now.getMonth() + 1).toString().padStart(2, '0'); | |
| 2025 | + const day = now.getDate().toString().padStart(2, '0'); | |
| 2026 | + const hours = now.getHours().toString().padStart(2, '0'); | |
| 2027 | + const minutes = now.getMinutes().toString().padStart(2, '0'); | |
| 2028 | + const seconds = now.getSeconds().toString().padStart(2, '0'); | |
| 2029 | + | |
| 2030 | + return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; | |
| 2031 | + }, | |
| 2032 | + | |
| 2033 | + handleCurrentChange(val) { | |
| 2034 | + this.currentPage = val | |
| 2035 | + }, | |
| 2036 | + handleSizeChange(val) { | |
| 2037 | + this.pageSize = val | |
| 2038 | + }, | |
| 2039 | + closeFn() { | |
| 2040 | + this.ggXin = false | |
| 2041 | + }, | |
| 2042 | + handleClick() { | |
| 2043 | + console.log() | |
| 2044 | + }, | |
| 2045 | + refreshData() { | |
| 2046 | + // console.log('12123') | |
| 2047 | + this.tableDa = [] | |
| 2048 | + this.activeName = 'first' | |
| 2049 | + this.zhixingBian = false | |
| 2050 | + }, | |
| 2051 | + reshData() { | |
| 2052 | + this.tableDa = [] | |
| 2053 | + this.tiaozhengShow = false | |
| 2054 | + }, | |
| 2055 | + | |
| 2056 | + handleSelectionChange(val) { | |
| 2057 | + this.multipleSelection = val; | |
| 2058 | + }, | |
| 2059 | + toggleSelection(rows) { | |
| 2060 | + if (rows) { | |
| 2061 | + rows.forEach(row => { | |
| 2062 | + this.$refs.mulTable.toggleRowSelection(row); | |
| 2063 | + }); | |
| 2064 | + } | |
| 2065 | + }, | |
| 2066 | + tableAll() { | |
| 2067 | + this.$refs.mulTable.clearSelection(); // 清除所有选项 | |
| 2068 | + const allRows = this.$refs.mulTable.data; // 获取所有行数据 | |
| 2069 | + allRows.forEach(row => { | |
| 2070 | + this.$refs.mulTable.toggleRowSelection(row, true); // 全选所有项 | |
| 2071 | + }); | |
| 2072 | + }, | |
| 2073 | + TabClick(tab, event) { | |
| 2074 | + console.log(tab, event) | |
| 2075 | + if (tab.index == '0') { | |
| 2076 | + this.getAll() | |
| 2077 | + } else { | |
| 2078 | + this.tableData = [] | |
| 2079 | + } | |
| 2080 | + }, | |
| 2081 | + minSev() { | |
| 2082 | + if (this.zhiXing) { | |
| 2083 | + this.tableDa.push(this.mingFrom) | |
| 2084 | + } else { | |
| 2085 | + this.mingFrom.detailsId = this.zhixingList.id | |
| 2086 | + MingAdd(this.mingFrom).then(res => { | |
| 2087 | + this.mingcha(this.zhixingList.id) | |
| 2088 | + }) | |
| 2089 | + } | |
| 2090 | + this.mingFrom = { | |
| 2091 | + detailLtemName: '', | |
| 2092 | + estimatedQuantity: '', | |
| 2093 | + estimatedCost: '', | |
| 2094 | + notes: '' | |
| 2095 | + } | |
| 2096 | + this.addMing = false | |
| 2097 | + }, | |
| 2098 | + // 查询执行明细 | |
| 2099 | + mingcha(id) { | |
| 2100 | + mingTable({ | |
| 2101 | + detailsId: id, | |
| 2102 | + pageNumber: 1, | |
| 2103 | + pageSize: 10 | |
| 2104 | + }).then(res => { | |
| 2105 | + this.tableDa = res.data.content | |
| 2106 | + }) | |
| 2107 | + }, | |
| 2108 | + MingDelete(index, item) { | |
| 2109 | + const h = this.$createElement; | |
| 2110 | + this.$msgbox({ | |
| 2111 | + title: '消息', | |
| 2112 | + message: h('p', null, [ | |
| 2113 | + h('span', null, '是否删除 '), | |
| 2114 | + ]), | |
| 2115 | + showCancelButton: true, | |
| 2116 | + showClose: false, | |
| 2117 | + confirmButtonText: '确定', | |
| 2118 | + cancelButtonText: '取消', | |
| 2119 | + customClass: 'oe-dialog-btn', | |
| 2120 | + beforeClose: (action, instance, done) => { | |
| 2121 | + if (action === 'confirm') { | |
| 2122 | + if (this.zhiXing) { | |
| 2123 | + this.tableDa.splice(item, 1); | |
| 2124 | + } else { | |
| 2125 | + MingDel({ | |
| 2126 | + id: item.id | |
| 2127 | + }).then(res => { | |
| 2128 | + this.mingcha(this.zhixingList.id) | |
| 2129 | + }) | |
| 2130 | + } | |
| 2131 | + done(); | |
| 2132 | + } else { | |
| 2133 | + done(); | |
| 2134 | + } | |
| 2135 | + } | |
| 2136 | + }) | |
| 2137 | + }, | |
| 2138 | + tianMing() { | |
| 2139 | + if (this.zhixingBian) { | |
| 2140 | + this.addMing = true | |
| 2141 | + } | |
| 2142 | + }, | |
| 2143 | + | |
| 2144 | + duibi(){ | |
| 2145 | + if (this.multipleSelection.length ==1 ) { | |
| 2146 | + this.xiaoDui = true | |
| 2147 | + this.duibiOne = this.multipleSelection[0] | |
| 2148 | + console.log(this.multipleSelection[0]) | |
| 2149 | + let that = this | |
| 2150 | + actPage({ | |
| 2151 | + detailsId:this.multipleSelection[0].id, | |
| 2152 | + pageNumber: 1, | |
| 2153 | + pageSize: 10, | |
| 2154 | + }).then(res => { | |
| 2155 | + this.duibiTwo = res.data.content[0] === undefined ? {} : res.data.content[0]; | |
| 2156 | + console.log(this.duibiTwo) | |
| 2157 | + if( res.data.content[0] === undefined || res.data.content[0].totalCostEstimation =='' ){ | |
| 2158 | + that.xiaoduiObj.biliTwo = '0%' | |
| 2159 | + that.xiaoduiObj.biliT = 0 | |
| 2160 | + }else{ | |
| 2161 | + that.xiaoduiObj.biliT = that.duibiTwo.internalLaborCostEstimation / that.duibiTwo.totalCostEstimation*100 | |
| 2162 | + that.xiaoduiObj.biliTwo =`${Math.round(that.duibiTwo.internalLaborCostEstimation / that.duibiTwo.totalCostEstimation*100)}%` | |
| 2163 | + } | |
| 2164 | + | |
| 2165 | + }) | |
| 2166 | + if(that.duibiOne.totalCostEstimation ==''){ | |
| 2167 | + that.xiaoduiObj.biliOne = '0%' | |
| 2168 | + that.xiaoduiObj.bilis = 0 | |
| 2169 | + }else{ | |
| 2170 | + that.xiaoduiObj.bilis = that.duibiOne.internalLaborCostEstimation / that.duibiOne.totalCostEstimation*100 | |
| 2171 | + that.xiaoduiObj.biliOne = `${Math.round(that.duibiOne.internalLaborCostEstimation / that.duibiOne.totalCostEstimation*100)}%` | |
| 2172 | + } | |
| 2173 | + | |
| 2174 | + }else{ | |
| 2175 | + this.$message({ | |
| 2176 | + message: '请选择一个文件对比', | |
| 2177 | + customClass: 'custom-message', | |
| 2178 | + offset: 100 | |
| 2179 | + }) | |
| 2180 | + } | |
| 2181 | + | |
| 2182 | + }, | |
| 2183 | + | |
| 2184 | + koop(item){ | |
| 2185 | + this.copy.id = item.id | |
| 2186 | + this.copyShow = true | |
| 2187 | + }, | |
| 2188 | + copyClose(){ | |
| 2189 | + this.copyShow = false | |
| 2190 | + this.copy.planName = '' | |
| 2191 | + }, | |
| 2192 | + copysev(){ | |
| 2193 | + if(this.copy.planName == ''){ | |
| 2194 | + this.$message({ | |
| 2195 | + message: '请填写数据', | |
| 2196 | + customClass: 'custom-message', | |
| 2197 | + offset: 100 | |
| 2198 | + }) | |
| 2199 | + return; | |
| 2200 | + }else{ | |
| 2201 | + copy(this.copy).then(res=>{ | |
| 2202 | + this.copyShow = false | |
| 2203 | + this.getAll() | |
| 2204 | + }) | |
| 2205 | + } | |
| 2206 | + }, | |
| 2207 | + | |
| 2208 | + | |
| 2209 | + fenleiChange(value){ | |
| 2210 | + this.xinADD.parentId = value[value.length - 1] | |
| 2211 | + }, | |
| 2212 | + | |
| 2213 | + | |
| 2214 | + customFormat(percentage) { | |
| 2215 | + let zong | |
| 2216 | + if(percentage==undefined ||percentage === null || percentage == '' ){ | |
| 2217 | + percentage = 0 | |
| 2218 | + zong = 10000 | |
| 2219 | + } | |
| 2220 | + return `${percentage} / ${percentage==''?zong:parseInt(percentage) *10}`; | |
| 2221 | + }, | |
| 2222 | + baifenbi(item){ | |
| 2223 | + | |
| 2224 | + let zong | |
| 2225 | + if(item == undefined || item === null || item == '' ){ | |
| 2226 | + item = 0 | |
| 2227 | + zong = 10000 | |
| 2228 | + return Math.round(item / (item*10) * 100); | |
| 2229 | + }else{ | |
| 2230 | + return Math.round(item / zong * 100); | |
| 2231 | + } | |
| 2232 | + | |
| 2233 | + }, | |
| 2234 | + handleUploadSuccess(response, file, fileList) { | |
| 2235 | + const fileMsg = { | |
| 2236 | + name:file.name, | |
| 2237 | + url: file.response.data.url, | |
| 2238 | + } | |
| 2239 | + // 将文件地址存储在 uploadedFiles 数组中 | |
| 2240 | + this.fileData.push(fileMsg); | |
| 2241 | + }, | |
| 2242 | + handleRemove(){ | |
| 2243 | + this.fileData = [] | |
| 2244 | + }, | |
| 2245 | + daoru(response, file, fileList){ | |
| 2246 | + this.daoData.push(file.raw) | |
| 2247 | + const formDate = new FormData() | |
| 2248 | + formDate.append('file', this.daoData[0]) | |
| 2249 | + excelAdd(formDate).then(res => { | |
| 2250 | + this.getAll() | |
| 2251 | + }) | |
| 2252 | + }, | |
| 2253 | + | |
| 2254 | + | |
| 2255 | + async daochu(){ | |
| 2256 | + let res = await excelQueryByPage(this.pageindex) | |
| 2257 | + if(!res){ | |
| 2258 | + return | |
| 2259 | + } | |
| 2260 | + const blob = new Blob([res], { type: 'application/vnd.ms-excel' }) | |
| 2261 | + const fileName = '审核流程.xls' | |
| 2262 | + if ('download' in document.createElement('a')) { | |
| 2263 | + // 非IE下载 | |
| 2264 | + const elink = document.createElement('a') | |
| 2265 | + elink.download = fileName | |
| 2266 | + elink.style.display = 'none' | |
| 2267 | + elink.href = URL.createObjectURL(blob) | |
| 2268 | + document.body.appendChild(elink) | |
| 2269 | + elink.click() | |
| 2270 | + URL.revokeObjectURL(elink.href) // 释放URL 对象 | |
| 2271 | + document.body.removeChild(elink) | |
| 2272 | + } else { | |
| 2273 | + // IE10+下载 | |
| 2274 | + navigator.msSaveBlob(blob, fileName) | |
| 2275 | + } | |
| 2276 | + this.$message({ | |
| 2277 | + message: '导出成功', | |
| 2278 | + type: 'success' | |
| 2279 | + }) | |
| 2280 | + | |
| 2281 | + | |
| 2282 | + }, | |
| 2283 | + // 下载 | |
| 2284 | + async downloadPdf() { | |
| 2285 | + const content = this.$refs.actXiang; | |
| 2286 | + | |
| 2287 | + // 使用 html2canvas 将 div 渲染为画布 | |
| 2288 | + const canvas = await html2canvas(content); | |
| 2289 | + | |
| 2290 | + // 获取画布的图像数据 | |
| 2291 | + const imgData = canvas.toDataURL('image/png'); | |
| 2292 | + | |
| 2293 | + // 创建一个新的 PDF 文档 | |
| 2294 | + const pdf = new jsPDF('p', 'mm', 'a4'); | |
| 2295 | + | |
| 2296 | + // 添加图像到 PDF,第二个参数是图像格式,第三个参数是缩放比例 | |
| 2297 | + const imgWidth = 190; // 图像的宽度(mm) | |
| 2298 | + const imgHeight = (canvas.height * imgWidth) / canvas.width; // 保持图像的宽高比 | |
| 2299 | + | |
| 2300 | + pdf.addImage(imgData, 'PNG', 10, 10, imgWidth, imgHeight); // 10, 10 是图像在 PDF 中的位置(mm) | |
| 2301 | + | |
| 2302 | + // 保存 PDF 文件 | |
| 2303 | + pdf.save('活动方案.pdf'); | |
| 2304 | + }, | |
| 2305 | + // 下载 | |
| 2306 | + async lishidownloadPdf() { | |
| 2307 | + const content = this.$refs.lishiRef; | |
| 2308 | + | |
| 2309 | + // 使用 html2canvas 将 div 渲染为画布 | |
| 2310 | + const canvas = await html2canvas(content); | |
| 2311 | + | |
| 2312 | + // 获取画布的图像数据 | |
| 2313 | + const imgData = canvas.toDataURL('image/png'); | |
| 2314 | + | |
| 2315 | + // 创建一个新的 PDF 文档 | |
| 2316 | + const pdf = new jsPDF('p', 'mm', 'a4'); | |
| 2317 | + | |
| 2318 | + // 添加图像到 PDF,第二个参数是图像格式,第三个参数是缩放比例 | |
| 2319 | + const imgWidth = 190; // 图像的宽度(mm) | |
| 2320 | + const imgHeight = (canvas.height * imgWidth) / canvas.width; // 保持图像的宽高比 | |
| 2321 | + | |
| 2322 | + pdf.addImage(imgData, 'PNG', 10, 10, imgWidth, imgHeight); // 10, 10 是图像在 PDF 中的位置(mm) | |
| 2323 | + | |
| 2324 | + // 保存 PDF 文件 | |
| 2325 | + pdf.save('历史方案.pdf'); | |
| 2326 | + }, | |
| 2327 | +setSearch(){ | |
| 2328 | +this.searchShow = true | |
| 2329 | +}, | |
| 2330 | +lichange(e){ | |
| 2331 | +this.lishiList=e | |
| 2332 | + let msg =this.liData[e] | |
| 2333 | +this.duibiList = JSON.parse(msg.modifyContent) | |
| 2334 | +this.lixiang = JSON.parse(msg.originalData) | |
| 2335 | + | |
| 2336 | +}, | |
| 2337 | +tiaozheng(){ | |
| 2338 | + this.tiaozhengShow = true | |
| 2339 | +}, | |
| 2340 | +jiucuo(){ | |
| 2341 | + this.jiuMsg = '' | |
| 2342 | + this.jiucuoShow =true | |
| 2343 | +}, | |
| 2344 | +jiuCheck(){ | |
| 2345 | + xiangedit({id:this.editId,isErrorCorrection:this.jiuMsg}).then(res=>{ | |
| 2346 | + this.jiucuoShow = false | |
| 2347 | + }) | |
| 2348 | +}, | |
| 2349 | +//执行效果保存 | |
| 2350 | + async bianji() { | |
| 2351 | + if(this.fileData.length !=0){ | |
| 2352 | + this.zhixingList.feedbackContent = this.fileData[0].url | |
| 2353 | + } | |
| 2354 | + if (this.zhiXing) { | |
| 2355 | + this.zhixingList.eventStartTime = this.zhixingList.planTime[0] | |
| 2356 | + this.zhixingList.eventEndTime = this.zhixingList.planTime[1] | |
| 2357 | + this.zhixingList.detailsId = this.secondData.id | |
| 2358 | + this.zhixingList.createDate = this.updateCurrentTime() | |
| 2359 | + actAdd(this.zhixingList).then(res => { | |
| 2360 | + for (let i = 0; i < this.tableDa.length; i++) { | |
| 2361 | + this.tableDa[i].detailsId = res.data.id | |
| 2362 | + MingAdd(this.tableDa[i]).then(res => { | |
| 2363 | + this.$message({ | |
| 2364 | + message: '保存成功', | |
| 2365 | + type: 'success' | |
| 2366 | + }) | |
| 2367 | + }) | |
| 2368 | + } | |
| 2369 | + }) | |
| 2370 | + | |
| 2371 | + } else { | |
| 2372 | + let that = this | |
| 2373 | + Vue.delete(that.zhixingList,'createDate') | |
| 2374 | + this.zhixingList.eventStartTime = this.zhixingList.planTime[0] | |
| 2375 | + this.zhixingList.eventEndTime = this.zhixingList.planTime[1] | |
| 2376 | + Vue.delete(that.zhixingList,'planTime') | |
| 2377 | + this.zhixingList.updateDate = '' | |
| 2378 | + await actEdit(this.zhixingList) | |
| 2379 | + this.$message({ | |
| 2380 | + message: '保存成功', | |
| 2381 | + type: 'success' | |
| 2382 | + }) | |
| 2383 | + } | |
| 2384 | + | |
| 2385 | + this.ggXin = false | |
| 2386 | + this.getAll() | |
| 2387 | + }, | |
| 2388 | + searchQuit(){ | |
| 2389 | + this.searPei={ | |
| 2390 | + name:true, | |
| 2391 | + lei:false, | |
| 2392 | + staut:false, | |
| 2393 | + } | |
| 2394 | + this.searchShow=false | |
| 2395 | + }, | |
| 2396 | + | |
| 2397 | + } | |
| 2398 | + } | |
| 2399 | +</script> | |
| 2400 | + | |
| 2401 | +<style scoped> | |
| 2402 | + .custom-tree-node { | |
| 2403 | + flex: 1; | |
| 2404 | + display: flex; | |
| 2405 | + align-items: center; | |
| 2406 | + justify-content: space-between; | |
| 2407 | + font-size: 14px; | |
| 2408 | + padding-right: 8px; | |
| 2409 | + } | |
| 2410 | + /deep/ .first-column-bg { | |
| 2411 | + background-color: #f4f4f5 !important; | |
| 2412 | + } | |
| 2413 | + | |
| 2414 | + .zhuti { | |
| 2415 | + padding: 0 20px 20px 20px; | |
| 2416 | + min-height: calc(100vh - 50px - 20px); | |
| 2417 | + background-color: #Fff; | |
| 2418 | + | |
| 2419 | + } | |
| 2420 | +::v-deep .el-form-item{ | |
| 2421 | + margin-bottom:16px; | |
| 2422 | +} | |
| 2423 | + /deep/ .el-form-item__content { | |
| 2424 | + line-height: 0; | |
| 2425 | + } | |
| 2426 | + | |
| 2427 | + .tableBtn { | |
| 2428 | + display: inline-block; | |
| 2429 | + margin-right: 10px; | |
| 2430 | + } | |
| 2431 | + | |
| 2432 | + .formSearch { | |
| 2433 | + display: flex; | |
| 2434 | + width: 100%; | |
| 2435 | + font-size: 14px; | |
| 2436 | + justify-content: space-between; | |
| 2437 | + padding-bottom: 10px; | |
| 2438 | + align-items: center; | |
| 2439 | + } | |
| 2440 | + | |
| 2441 | + .greens { | |
| 2442 | + color: #3F9B6A; | |
| 2443 | + } | |
| 2444 | + | |
| 2445 | + /deep/ .el-table__row { | |
| 2446 | + font-size: 14px; | |
| 2447 | + color:#000000e6; | |
| 2448 | + height:42px; | |
| 2449 | + } | |
| 2450 | + | |
| 2451 | + .fenye { | |
| 2452 | + margin-top: 20px; | |
| 2453 | + display: flex; | |
| 2454 | + justify-content: space-between; | |
| 2455 | + position: relative; | |
| 2456 | + } | |
| 2457 | + | |
| 2458 | + /deep/ .el-pagination.is-background .el-pager li:not(.disabled).active { | |
| 2459 | + background-color: #3F9B6A; | |
| 2460 | + } | |
| 2461 | + | |
| 2462 | + .el-row { | |
| 2463 | + margin-bottom: 20px; | |
| 2464 | + } | |
| 2465 | + | |
| 2466 | + :last-child { | |
| 2467 | + margin-bottom: 0; | |
| 2468 | + } | |
| 2469 | + | |
| 2470 | + .el-col { | |
| 2471 | + border-radius: 4px; | |
| 2472 | + } | |
| 2473 | + | |
| 2474 | + .bg-purple-dark { | |
| 2475 | + background: #99a9bf; | |
| 2476 | + } | |
| 2477 | + | |
| 2478 | + .bg-purple { | |
| 2479 | + /* background: #d3dce6; */ | |
| 2480 | + } | |
| 2481 | + | |
| 2482 | + .bg-purple-light { | |
| 2483 | + background: #e5e9f2; | |
| 2484 | + } | |
| 2485 | + | |
| 2486 | + .grid-content { | |
| 2487 | + border-radius: 4px; | |
| 2488 | + min-height: 36px; | |
| 2489 | + } | |
| 2490 | + | |
| 2491 | + .row-bg { | |
| 2492 | + padding: 10px 0; | |
| 2493 | + background-color: #f9fafc; | |
| 2494 | + } | |
| 2495 | + | |
| 2496 | + /deep/ .bg-purple[data-v-0e3fe4ec] { | |
| 2497 | + background: #fff; | |
| 2498 | + height: 50px; | |
| 2499 | + } | |
| 2500 | + | |
| 2501 | + /deep/ .el-form--label-top .el-form-item__label { | |
| 2502 | + padding: 0; | |
| 2503 | + } | |
| 2504 | + | |
| 2505 | + | |
| 2506 | + .pagination { | |
| 2507 | + text-align: right; | |
| 2508 | + line-height: 20px; | |
| 2509 | + } | |
| 2510 | + | |
| 2511 | + /deep/ .el-pagination__total { | |
| 2512 | + margin-top: 4px; | |
| 2513 | + } | |
| 2514 | + | |
| 2515 | +::v-deep .xiang_css{ | |
| 2516 | + margin-top:11vh !important; | |
| 2517 | + margin-left: 13%; | |
| 2518 | + max-height:600px; | |
| 2519 | + overflow-y: auto; | |
| 2520 | +} | |
| 2521 | + /deep/ .dialog_css { | |
| 2522 | + margin-top: 11vh; | |
| 2523 | + margin-left: 25%; | |
| 2524 | + padding: 0px; | |
| 2525 | + | |
| 2526 | + .el-dialog__title { | |
| 2527 | + font-size: 14px; | |
| 2528 | + color: #000000e6; | |
| 2529 | + } | |
| 2530 | + } | |
| 2531 | + | |
| 2532 | + /deep/.el-dialog__body { | |
| 2533 | + padding: 0px; | |
| 2534 | + } | |
| 2535 | + | |
| 2536 | + /deep/ .el-dialog__header { | |
| 2537 | + background-color: #fff; | |
| 2538 | + } | |
| 2539 | + | |
| 2540 | + /deep/.el-dialog__title { | |
| 2541 | + font-size: 14px; | |
| 2542 | + color: #000000e6; | |
| 2543 | + } | |
| 2544 | + | |
| 2545 | + .el-row { | |
| 2546 | + margin-bottom: 20px; | |
| 2547 | + | |
| 2548 | + &:last-child { | |
| 2549 | + margin-bottom: 0; | |
| 2550 | + } | |
| 2551 | + } | |
| 2552 | + | |
| 2553 | + /deep/ .avatar-uploader .el-upload { | |
| 2554 | + border: 1px dashed #d9d9d9; | |
| 2555 | + border-radius: 6px; | |
| 2556 | + cursor: pointer; | |
| 2557 | + position: relative; | |
| 2558 | + overflow: hidden; | |
| 2559 | + } | |
| 2560 | + | |
| 2561 | + .avatar-uploader .el-upload:hover { | |
| 2562 | + border-color: #409EFF; | |
| 2563 | + } | |
| 2564 | + | |
| 2565 | + .avatar-uploader-icon { | |
| 2566 | + font-size: 28px; | |
| 2567 | + color: #8c939d; | |
| 2568 | + width: 108px; | |
| 2569 | + height: 108px; | |
| 2570 | + line-height: 108px; | |
| 2571 | + /*text-align: center;*/ | |
| 2572 | + } | |
| 2573 | + | |
| 2574 | + .avatar { | |
| 2575 | + width: 108px; | |
| 2576 | + height: 108px; | |
| 2577 | + display: block; | |
| 2578 | + } | |
| 2579 | + | |
| 2580 | + ::v-deep .el-tabs__item.is-active { | |
| 2581 | + color: #3F9B6A; | |
| 2582 | + opacity: 1; | |
| 2583 | + } | |
| 2584 | + | |
| 2585 | + /deep/ .el-tabs__nav-wrap::after { | |
| 2586 | + background-color: #fff; | |
| 2587 | + } | |
| 2588 | + | |
| 2589 | + ::v-deep .el-tabs__item:hover { | |
| 2590 | + color: #3F9B6A; | |
| 2591 | + cursor: pointer; | |
| 2592 | + opacity: 1; | |
| 2593 | + } | |
| 2594 | + | |
| 2595 | + /deep/ .el-tabs__active-bar { | |
| 2596 | + background-color: #389865; | |
| 2597 | + } | |
| 2598 | + | |
| 2599 | + /deep/ .el-table_2_column_13 { | |
| 2600 | + font-weight: 100; | |
| 2601 | + } | |
| 2602 | +::v-deep .el-input__inner{ | |
| 2603 | + height:32px; | |
| 2604 | + line-height:32px; | |
| 2605 | +} | |
| 2606 | + ::v-deep .el-input__inner:focus { | |
| 2607 | + border: #3F9B6A 1px solid; | |
| 2608 | + } | |
| 2609 | + | |
| 2610 | + ::v-deep .el-input__inner:hover { | |
| 2611 | + border: #3F9B6A 1px solid; | |
| 2612 | + } | |
| 2613 | + | |
| 2614 | + ::v-deep .el-select .el-input.is-focus .el-input__inner { | |
| 2615 | + border-color: #3F9B6A | |
| 2616 | + } | |
| 2617 | + | |
| 2618 | + ::v-deep .el-form-item__label { | |
| 2619 | + font-weight: 100; | |
| 2620 | + font-size: 14px; | |
| 2621 | + color:#000000e6; | |
| 2622 | + } | |
| 2623 | + | |
| 2624 | + /* ::v-deep .el-steps .el-step__head.is-wait { | |
| 2625 | + background-color: red; /* 修改为你想要的颜色 */ | |
| 2626 | + | |
| 2627 | + /* 修改未进行步骤的描述文字颜色 */ | |
| 2628 | + ::v-deep .el-steps .el-step__description.is-wait { | |
| 2629 | + color: #999; | |
| 2630 | + /* 修改为你想要的颜色 */ | |
| 2631 | + } | |
| 2632 | + | |
| 2633 | + /* 修改未进行步骤的图标颜色 */ | |
| 2634 | + ::v-deep .el-steps .el-step__icon.is-text.is-wait { | |
| 2635 | + color: #999; | |
| 2636 | + /* 修改为你想要的颜色 */ | |
| 2637 | + } | |
| 2638 | + | |
| 2639 | + /* 修改未进行步骤的边框色 */ | |
| 2640 | + ::v-deep .el-steps .el-step__line.is-wait { | |
| 2641 | + border-color: #eee; | |
| 2642 | + /* 修改为你想要的颜色 */ | |
| 2643 | + } | |
| 2644 | + | |
| 2645 | + ::v-deep .el-steps .is-process .el-step__line { | |
| 2646 | + background-color: #3F9B6A; | |
| 2647 | + /* 修改线的颜色 */ | |
| 2648 | + } | |
| 2649 | + | |
| 2650 | + ::v-deep .el-steps .is-process .el-step__title { | |
| 2651 | + color: #fe7b6a; | |
| 2652 | + /* 修改进行中步骤的标题颜色 */ | |
| 2653 | + } | |
| 2654 | + | |
| 2655 | + ::v-deep .el-steps .is-process .el-step__icon { | |
| 2656 | + color: #fff; | |
| 2657 | + /* 修改进行中步骤的图标颜色 */ | |
| 2658 | + background: #3F9B6A; | |
| 2659 | + /* 修改进行中步骤图标的边框颜色 */ | |
| 2660 | + border: 0px; | |
| 2661 | + } | |
| 2662 | + | |
| 2663 | + ::v-deep .el-step__icon-inner { | |
| 2664 | + line-height: 0 | |
| 2665 | + } | |
| 2666 | + | |
| 2667 | + /* 线条长度 */ | |
| 2668 | + ::v-deep .el-step.is-vertical .el-step__line { | |
| 2669 | + top: 30px; | |
| 2670 | + height: 60px; | |
| 2671 | + } | |
| 2672 | + | |
| 2673 | + .fenlan { | |
| 2674 | + display: flex; | |
| 2675 | + } | |
| 2676 | + | |
| 2677 | + .souLei { | |
| 2678 | + border: 1px solid #d7d7d7; | |
| 2679 | + background-color: #fff; | |
| 2680 | + width:300px; | |
| 2681 | + margin-right:20px; | |
| 2682 | + | |
| 2683 | + } | |
| 2684 | +::v-deep .el-menu{ | |
| 2685 | + border-right:0px; | |
| 2686 | +} | |
| 2687 | +::v-deep .el-menu-item{ | |
| 2688 | + height:36px; | |
| 2689 | + line-height: 33px; | |
| 2690 | +} | |
| 2691 | + | |
| 2692 | +::v-deep .el-submenu__title{ | |
| 2693 | + height:36px; | |
| 2694 | + line-height: 33px; | |
| 2695 | + font-weight:600; | |
| 2696 | + border-radius:4px; | |
| 2697 | + margin:4px 0; | |
| 2698 | +} | |
| 2699 | +::v-deep .el-menu-item-group__title{ | |
| 2700 | + padding:0px | |
| 2701 | +} | |
| 2702 | + ::v-deep .fudan{ | |
| 2703 | + font-weight:600; | |
| 2704 | + border-radius:4px; | |
| 2705 | + padding-left:29px !important; | |
| 2706 | + margin:4px 0; | |
| 2707 | + } | |
| 2708 | + ::v-deep .chinddan{ | |
| 2709 | + margin:5px 0; | |
| 2710 | + } | |
| 2711 | +</style> | |
| 2712 | +<style lang="scss" scoped> | |
| 2713 | + ::v-deep .el-table tr:hover{ | |
| 2714 | + background-color: #F0F7F3 !important; | |
| 2715 | + } | |
| 2716 | + ::v-deep .souTabs { | |
| 2717 | + padding:0 15px 0 12px; | |
| 2718 | + .el-submenu{ | |
| 2719 | + padding:0px; | |
| 2720 | + } | |
| 2721 | + .el-menu-item:focus, .el-menu-item:hover{ | |
| 2722 | + background-color: #3F9B6A !important; | |
| 2723 | + } | |
| 2724 | + .el-menu-item:hover{ | |
| 2725 | + background-color:#3f9b6a1a !important; | |
| 2726 | + color:#000 !important; | |
| 2727 | + } | |
| 2728 | + .el-tabs--left .el-tabs__header.is-left { | |
| 2729 | + width: 100%; | |
| 2730 | + margin-right: 0px; | |
| 2731 | + } | |
| 2732 | + | |
| 2733 | + .el-tabs--left .el-tabs__item.is-left { | |
| 2734 | + text-align: center; | |
| 2735 | + } | |
| 2736 | + | |
| 2737 | + .el-tabs__item.is-active { | |
| 2738 | + background-color: #DEEBE2; | |
| 2739 | + } | |
| 2740 | + } | |
| 2741 | + | |
| 2742 | + ::v-deep .tableList { | |
| 2743 | + width: 100%; | |
| 2744 | + } | |
| 2745 | + ::v-deep .fenxi_css{ | |
| 2746 | + margin-top: 9vh !important; | |
| 2747 | + margin-left: 10%; | |
| 2748 | + .el-dialog__header{ | |
| 2749 | + padding:0; | |
| 2750 | + } | |
| 2751 | + .el-tabs--border-card { | |
| 2752 | + border: none; | |
| 2753 | + -webkit-box-shadow:none; | |
| 2754 | + box-shadow:none; | |
| 2755 | + .el-tabs__content{ | |
| 2756 | + border: 1px solid #E4E7ED; | |
| 2757 | + padding:0; | |
| 2758 | + } | |
| 2759 | + .el-tabs__header{ | |
| 2760 | + background-color: #fff; | |
| 2761 | + border-bottom:none; | |
| 2762 | + } | |
| 2763 | + .el-tabs__content{ | |
| 2764 | + border: none; | |
| 2765 | + } | |
| 2766 | + .el-tabs__header .el-tabs__item{ | |
| 2767 | + border: none; | |
| 2768 | + margin-right: 10px; | |
| 2769 | + background-color: #F2F2F2; | |
| 2770 | + font-size:12px; | |
| 2771 | + border-top-left-radius: 8px; | |
| 2772 | + border-top-right-radius: 8px; | |
| 2773 | + padding:0 15px; | |
| 2774 | + } | |
| 2775 | + .el-tabs__header .el-tabs__item.is-active{ | |
| 2776 | + color:#fff; | |
| 2777 | + background-color: #3F9B6A; | |
| 2778 | + } | |
| 2779 | + .el-tabs__header .el-tabs__item:not(.is-disabled):hover{ | |
| 2780 | + color:#3F9B6A; | |
| 2781 | + } | |
| 2782 | + } | |
| 2783 | + | |
| 2784 | + } | |
| 2785 | + ::v-deep .xiaoguo_css{ | |
| 2786 | + margin-top: 30vh !important; | |
| 2787 | + margin-left: 25%; | |
| 2788 | + .el-dialog__header{ | |
| 2789 | + padding:0; | |
| 2790 | + } | |
| 2791 | + .el-tabs--border-card { | |
| 2792 | + border: none; | |
| 2793 | + -webkit-box-shadow:none; | |
| 2794 | + box-shadow:none; | |
| 2795 | + .el-tabs__content{ | |
| 2796 | + border: 1px solid #E4E7ED; | |
| 2797 | + padding:0; | |
| 2798 | + } | |
| 2799 | + .el-tabs__header{ | |
| 2800 | + background-color: #fff; | |
| 2801 | + border-bottom:none; | |
| 2802 | + } | |
| 2803 | + .el-tabs__content{ | |
| 2804 | + border: none; | |
| 2805 | + } | |
| 2806 | + .el-tabs__header .el-tabs__item{ | |
| 2807 | + border: none; | |
| 2808 | + margin-right: 10px; | |
| 2809 | + background-color: #F2F2F2; | |
| 2810 | + font-size:12px; | |
| 2811 | + border-top-left-radius: 8px; | |
| 2812 | + border-top-right-radius: 8px; | |
| 2813 | + padding:0 15px; | |
| 2814 | + } | |
| 2815 | + .el-tabs__header .el-tabs__item.is-active{ | |
| 2816 | + color:#fff; | |
| 2817 | + background-color: #3F9B6A; | |
| 2818 | + } | |
| 2819 | + .el-tabs__header .el-tabs__item:not(.is-disabled):hover{ | |
| 2820 | + color:#3F9B6A; | |
| 2821 | + } | |
| 2822 | + } | |
| 2823 | + } | |
| 2824 | + ::v-deep .demo-input-suffix { | |
| 2825 | + display: flex; | |
| 2826 | + margin-right: 20px; | |
| 2827 | + width: 83%; | |
| 2828 | + | |
| 2829 | + .el-input__inner{ | |
| 2830 | + height:32px; | |
| 2831 | + } | |
| 2832 | + } | |
| 2833 | + ::v-deep .el-input__icon{ | |
| 2834 | + line-height:25px; | |
| 2835 | + } | |
| 2836 | + ::v-deep .el-input--mini .el-input__icon{ | |
| 2837 | + line-height:33px; | |
| 2838 | + } | |
| 2839 | + | |
| 2840 | + ::v-deep .buttonHover:hover{ | |
| 2841 | + color:#3f9b6a !important; | |
| 2842 | + border-color: #c5e1d2 !important; | |
| 2843 | + background-color: #ecf5f0 !important; | |
| 2844 | + outline: none; | |
| 2845 | + } | |
| 2846 | + ::v-deep .DelBtnHover:hover{ | |
| 2847 | + color:#fff !important; | |
| 2848 | + border-color: rgb(226, 78, 90) !important; | |
| 2849 | + background-color: rgb(226, 78, 90) !important; | |
| 2850 | + outline: none; | |
| 2851 | + } | |
| 2852 | +::v-deep .el-menu-item.is-active { | |
| 2853 | + background-color: #3F9B6A !important; | |
| 2854 | +} | |
| 2855 | +::v-deep .jindutiao{ | |
| 2856 | + display:flex; | |
| 2857 | + align-items:center; | |
| 2858 | + margin-bottom:15px; | |
| 2859 | + .el-progress-bar__outer{ | |
| 2860 | + border-radius:0px; | |
| 2861 | + } | |
| 2862 | + .el-progress-bar__inner{ | |
| 2863 | + border-radius:0px; | |
| 2864 | + } | |
| 2865 | +} | |
| 2866 | + | |
| 2867 | +</style> | ... | ... |
admin-web-master/src/views/activity/activitySp.vue
| ... | ... | @@ -57,14 +57,15 @@ |
| 57 | 57 | {{scope.row.state == ''?'待提交':scope.row.state == '1'?'待审批':scope.row.state == '2'?'部门领导审批':scope.row.state == '3'?'公司领导审批':scope.row.state == '4'?'其他审批':scope.row.state == '5'?'审核通过':'已驳回'}} |
| 58 | 58 | </template> |
| 59 | 59 | </el-table-column> |
| 60 | - <el-table-column label="修改时间" prop="createDate" min-width="250" > | |
| 60 | + <el-table-column label="创建时间" prop="createDate" min-width="250" > | |
| 61 | 61 | </el-table-column> |
| 62 | - <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 | 65 | <el-table-column label="操作" min-width="200"> |
| 66 | 66 | <template slot-scope="scope"> |
| 67 | - <div @click="actSp(scope.row)" class="tableBtn greens" v-if="scope.row.state != ''">OA流程审批</div> | |
| 67 | + <div class="tableBtn greens" @click="handleEditForm(scope.row,1)">查看</div> | |
| 68 | + <div @click="actSp(scope.row)" class="tableBtn greens" v-if="scope.row.state == '1'">审核</div> | |
| 68 | 69 | </template> |
| 69 | 70 | </el-table-column> |
| 70 | 71 | </el-table> |
| ... | ... | @@ -505,6 +506,380 @@ |
| 505 | 506 | </div> |
| 506 | 507 | </el-dialog> |
| 507 | 508 | </div> |
| 509 | + <el-dialog title="活动方案详情" :visible.sync="ggXin" custom-class='xiang_css' style="padding: 0;" width="80%" center | |
| 510 | + :close-on-click-modal="false" :close-on-press-escape="false" @close="refreshData"> | |
| 511 | + <div ref="actXiang"> | |
| 512 | + <div style="width: 100%;"> | |
| 513 | + <div style="display: flex;padding:0px 20px 20px 20px; "> | |
| 514 | + <div style="width: 150px;height: 80px;" v-if="secondData.coverPoster"> | |
| 515 | + <img :src="secondData.coverPoster" alt="" style="width: 100%;height: 80px;" /> | |
| 516 | + </div> | |
| 517 | + <div | |
| 518 | + style="display: flex;flex-direction: column;justify-content: space-around;padding: 0 10px;font-size: 12px;"> | |
| 519 | + <span style="margin-bottom: 10px;">{{text}}</span> | |
| 520 | + <span>活动时间:{{tableData1[1].eventTheme}}至{{tableData1[1].planName}}</span> | |
| 521 | + <span>活动地点:{{tableData1[0].planName}}</span> | |
| 522 | + </div> | |
| 523 | + </div> | |
| 524 | + </div> | |
| 525 | + <div style="width: 100%;background-color: #fff;"> | |
| 526 | + <el-tabs v-model="activeName" @tab-click="handleClick" style="padding-left:20px;"> | |
| 527 | + <el-tab-pane label="方案概况" name="first"></el-tab-pane> | |
| 528 | + <el-tab-pane label="执行效果" name="second"></el-tab-pane> | |
| 529 | + </el-tabs> | |
| 530 | + </div> | |
| 531 | + <div v-if="activeName=='first'" style="display: flex;"> | |
| 532 | + <div style="width: 100%;"> | |
| 533 | + <div style="width: 100%;"> | |
| 534 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">基本信息</div> | |
| 535 | + <div style="padding: 10px 20px;"> | |
| 536 | + <el-table :data="tableData1" | |
| 537 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}" | |
| 538 | + style="width: 100%;margin: auto;"> | |
| 539 | + <el-table-column class-name="first-column-bg" label="方案编号" prop="name" min-width="15%"> | |
| 540 | + </el-table-column> | |
| 541 | + <el-table-column :label="id" prop="eventTheme" min-width="35%"> | |
| 542 | + | |
| 543 | + </el-table-column> | |
| 544 | + <el-table-column class-name="first-column-bg" label="方案名称" prop="text" min-width="15%"> | |
| 545 | + | |
| 546 | + </el-table-column> | |
| 547 | + <el-table-column :label="text" prop="planName" min-width="35%"> | |
| 548 | + | |
| 549 | + </el-table-column> | |
| 550 | + </el-table> | |
| 551 | + | |
| 552 | + | |
| 553 | + </div> | |
| 554 | + </div> | |
| 555 | + <div style="width: 100%;"> | |
| 556 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">活动明细信息</div> | |
| 557 | + <div style="padding: 10px 20px;"> | |
| 558 | + <el-table :data="tableData2" | |
| 559 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}" | |
| 560 | + style="width: 100%;margin: auto;"> | |
| 561 | + <el-table-column label="序号" min-width="5%" align='center'> | |
| 562 | + <template slot-scope="scope"> | |
| 563 | + <span style="">{{ scope.$index +1}}</span> | |
| 564 | + </template> | |
| 565 | + </el-table-column> | |
| 566 | + <el-table-column label="明细项名称" prop="detailLtemName" min-width="28%"> | |
| 567 | + </el-table-column> | |
| 568 | + <el-table-column label="预估数量" prop="estimatedQuantity" min-width="20%"> | |
| 569 | + | |
| 570 | + </el-table-column> | |
| 571 | + <el-table-column label="预估费用" prop="estimatedCost" min-width="20%"> | |
| 572 | + | |
| 573 | + </el-table-column> | |
| 574 | + <el-table-column label="备注" prop="notes" min-width="20%"> | |
| 575 | + </el-table-column> | |
| 576 | + </el-table> | |
| 577 | + </div> | |
| 578 | + </div> | |
| 579 | + <div style="width: 100%;"> | |
| 580 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">活动成本信息</div> | |
| 581 | + <div style="padding:10px 20px;"> | |
| 582 | + <el-table :data="tableData3" | |
| 583 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}" | |
| 584 | + style="width: 100%;margin: auto;"> | |
| 585 | + <el-table-column class-name="first-column-bg" label="内部人力成本预估" prop="name" min-width="15%"> | |
| 586 | + </el-table-column> | |
| 587 | + <el-table-column :label="internalLaborCostEstimation" prop="eventTheme" min-width="35%"> | |
| 588 | + | |
| 589 | + </el-table-column> | |
| 590 | + <el-table-column class-name="first-column-bg" label="外部人力成本预估" prop="text" min-width="15%"> | |
| 591 | + | |
| 592 | + </el-table-column> | |
| 593 | + <el-table-column :label="externalLaborCostEstimation" prop="planName" min-width="35%"> | |
| 594 | + | |
| 595 | + </el-table-column> | |
| 596 | + </el-table> | |
| 597 | + </div> | |
| 598 | + </div> | |
| 599 | + <div style="width: 100%;"> | |
| 600 | + <div style="font-size: 14px;padding:10px 20px 0px 20px;">预估效果</div> | |
| 601 | + <div style="padding:10px 20px;"> | |
| 602 | + <el-table :data="tableData4" | |
| 603 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}" | |
| 604 | + style="width: 100%;margin: auto;"> | |
| 605 | + <el-table-column class-name="first-column-bg" label="预计吸引流量" prop="name" min-width="15%"> | |
| 606 | + </el-table-column> | |
| 607 | + <el-table-column :label="expectedAttractTraffic" prop="eventTheme" min-width="35%"> | |
| 608 | + | |
| 609 | + </el-table-column> | |
| 610 | + <el-table-column class-name="first-column-bg" label="预计参与人数" prop="text" min-width="15%"> | |
| 611 | + | |
| 612 | + </el-table-column> | |
| 613 | + <el-table-column :label="expectedParticipation" prop="planName" min-width="35%"> | |
| 614 | + | |
| 615 | + </el-table-column> | |
| 616 | + </el-table> | |
| 617 | + </el-table-column> | |
| 618 | + </div> | |
| 619 | + </div> | |
| 620 | + <div style="width: 100%;"> | |
| 621 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">相关附件信息</div> | |
| 622 | + <div style="padding:10px 20px;"> | |
| 623 | + <el-table :data="tableData6" | |
| 624 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}" | |
| 625 | + style="width: 100%;margin: auto;"> | |
| 626 | + <el-table-column label="序号" min-width="5%" align='center'> | |
| 627 | + <template slot-scope="scope"> | |
| 628 | + <span style="">{{ scope.$index + 1 }}</span> | |
| 629 | + </template> | |
| 630 | + </el-table-column> | |
| 631 | + <el-table-column label="附件名称" prop="attachmentName" min-width="75%"> | |
| 632 | + </el-table-column> | |
| 633 | + <el-table-column label="操作" min-width="20%"> | |
| 634 | + <template slot-scope="scope"> | |
| 635 | + <!-- <div class="tableBtn greens" @click="Down(scope.row)">下载</div> --> | |
| 636 | + <a class="tableBtn greens" :href="scope.row.attachmentUrl" target="_blank" download>下载</a> | |
| 637 | + </template> | |
| 638 | + </el-table-column> | |
| 639 | + | |
| 640 | + </el-table> | |
| 641 | + </div> | |
| 642 | + </div> | |
| 643 | + <div style="width: 100%;"> | |
| 644 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">系统信息</div> | |
| 645 | + <div style="padding:10px 20px;"> | |
| 646 | + <el-table :data="tableData5" | |
| 647 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}" | |
| 648 | + style="width: 100%;margin: auto;"> | |
| 649 | + <el-table-column class-name="first-column-bg" label="创建人" prop="name" min-width="15%"> | |
| 650 | + </el-table-column> | |
| 651 | + <el-table-column :label="createUser" prop="eventTheme" min-width="35%"> | |
| 652 | + | |
| 653 | + </el-table-column> | |
| 654 | + <el-table-column class-name="first-column-bg" label="创建时间" prop="text" min-width="15%"> | |
| 655 | + | |
| 656 | + </el-table-column> | |
| 657 | + <el-table-column :label="createDate" prop="planName" min-width="35%"> | |
| 658 | + | |
| 659 | + </el-table-column> | |
| 660 | + </el-table> | |
| 661 | + </div> | |
| 662 | + </div> | |
| 663 | + </div> | |
| 664 | + </div> | |
| 665 | + <div v-if="activeName=='second'"> | |
| 666 | + <div style="padding: 20px"> | |
| 667 | + <div style="border: solid 1px #E5E5E5;border-radius: 5px"> | |
| 668 | + <div style="border-bottom: 1px solid #E5E5E5;padding: 1px"> | |
| 669 | + <div style="padding: 10px 20px;background-color: #FAFAFA;font-size: 14px;"> | |
| 670 | + 基本信息 | |
| 671 | + </div> | |
| 672 | + </div> | |
| 673 | + <div style="padding: 20px 40px 20px 20px"> | |
| 674 | + <el-form label-position="top" ref="ruleFormInfo" :model="zhixingList" label-width="120px" | |
| 675 | + style="position: relative"> | |
| 676 | + <el-row :gutter="20"> | |
| 677 | + <el-col :span="8"> | |
| 678 | + <el-form-item label="活动名称" class="grid-content bg-purple device-from" prop="name"> | |
| 679 | + <el-input v-model="zhixingList.planName" placeholder="请输入" :disabled="!zhixingBian" /> | |
| 680 | + </el-form-item> | |
| 681 | + </el-col> | |
| 682 | + <el-col :span="8"> | |
| 683 | + <el-form-item label="实际举办地点" class="grid-content bg-purple" prop="name"> | |
| 684 | + <el-input v-model="zhixingList.eventAddrs" placeholder="请输入" :disabled="!zhixingBian" /> | |
| 685 | + </el-form-item> | |
| 686 | + </el-col> | |
| 687 | + | |
| 688 | + <el-col :span="8"> | |
| 689 | + <el-form-item label="实际举办时间" class="grid-content bg-purple" prop="event_start_time" | |
| 690 | + style="position: relative"> | |
| 691 | + <el-date-picker style="width: 100%;" v-model="zhixingList.planTime" | |
| 692 | + @input="formTime" | |
| 693 | + value-format="yyyy-MM-dd HH:mm:ss" :disabled="!zhixingBian" type="datetimerange" | |
| 694 | + range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" align="right" | |
| 695 | + > | |
| 696 | + </el-date-picker> | |
| 697 | + </el-form-item> | |
| 698 | + </el-col> | |
| 699 | + </el-row> | |
| 700 | + | |
| 701 | + <el-row :gutter="20"> | |
| 702 | + <el-col :span="8"> | |
| 703 | + <el-form-item label="活动主办方" class="grid-content bg-purple" prop="name"> | |
| 704 | + <el-input v-model="zhixingList.sponsor" placeholder="请输入" :disabled="!zhixingBian" /> | |
| 705 | + </el-form-item> | |
| 706 | + </el-col> | |
| 707 | + <el-col :span="8"> | |
| 708 | + <el-form-item label="活动实际参与方" class="grid-content bg-purple" prop="name"> | |
| 709 | + <el-input v-model="zhixingList.participants" placeholder="请输入" :disabled="!zhixingBian" /> | |
| 710 | + </el-form-item> | |
| 711 | + </el-col> | |
| 712 | + </el-row> | |
| 713 | + </el-form> | |
| 714 | + </div> | |
| 715 | + </div> | |
| 716 | + </div> | |
| 717 | + <div style="padding: 0px 20px 20px 20px"> | |
| 718 | + <div style="border: solid 1px #E5E5E5;border-radius: 5px"> | |
| 719 | + <div style="border-bottom: 1px solid #E5E5E5;padding: 1px;display: flex"> | |
| 720 | + <div style="padding: 10px 20px;background-color: #FAFAFA;font-size: 14px;"> | |
| 721 | + 活动明细信息 | |
| 722 | + </div> | |
| 723 | + | |
| 724 | + </div> | |
| 725 | + <!-- 表格--> | |
| 726 | + <div style="padding: 20px 20px 20px 20px"> | |
| 727 | + <el-table :data="tableDa" | |
| 728 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}" | |
| 729 | + style="width: 100%"> | |
| 730 | + <el-table-column label="序号" width="auto" min-width="5%" prop="date" align="center"> | |
| 731 | + <template slot-scope="scope"> | |
| 732 | + {{scope.$index +1}} | |
| 733 | + </template> | |
| 734 | + </el-table-column> | |
| 735 | + <el-table-column label="明细项名称" prop="detailLtemName" width="auto" min-width="22%"> | |
| 736 | + | |
| 737 | + </el-table-column> | |
| 738 | + <el-table-column label="预估数量" prop="estimatedQuantity" width="auto" min-width="15%"> | |
| 739 | + | |
| 740 | + </el-table-column> | |
| 741 | + <el-table-column label="预估费用" prop="estimatedCost" width="auto" min-width="15%"> | |
| 742 | + </el-table-column> | |
| 743 | + <el-table-column prop="notes" label="备注" width="auto" min-width="15%"> | |
| 744 | + </el-table-column> | |
| 745 | + <el-table-column label="操作" width="auto" min-width="18%" v-if="zhixingBian"> | |
| 746 | + <template slot-scope="scope"> | |
| 747 | + <!-- <div class="tableBtn greens">详情</div> --> | |
| 748 | + <div class="tableBtn greens" @click="MingDelete(scope.$index,scope.row)">删除</div> | |
| 749 | + </template> | |
| 750 | + </el-table-column> | |
| 751 | + </el-table> | |
| 752 | + | |
| 753 | + </div> | |
| 754 | + </div> | |
| 755 | + </div> | |
| 756 | + <div style="padding: 20px"> | |
| 757 | + <div style="border: solid 1px #E5E5E5;border-radius: 5px;padding-bottom: 20px;"> | |
| 758 | + <div style="border-bottom: 1px solid #E5E5E5;padding: 1px"> | |
| 759 | + <div style="padding: 10px 20px;background-color: #FAFAFA;font-size: 14px;"> | |
| 760 | + 实际花费成本 | |
| 761 | + </div> | |
| 762 | + </div> | |
| 763 | + <div style="padding: 20px 40px 0px 20px"> | |
| 764 | + <el-form label-position="top" ref="ruleFormInfo" :model="zhixingList" label-width="120px" | |
| 765 | + style="position: relative"> | |
| 766 | + <el-row :gutter="20"> | |
| 767 | + <el-col :span="8"> | |
| 768 | + <el-form-item label="内部人力成本预估" class="grid-content bg-purple device-from" prop="name"> | |
| 769 | + <el-input v-model="zhixingList.internalLaborCostEstimation" placeholder="请输入" | |
| 770 | + :disabled="!zhixingBian" /> | |
| 771 | + </el-form-item> | |
| 772 | + </el-col> | |
| 773 | + <el-col :span="8"> | |
| 774 | + <el-form-item label="外部人力成本预估" class="grid-content bg-purple" prop="name"> | |
| 775 | + <el-input v-model="zhixingList.externalLaborCostEstimation" placeholder="请输入" | |
| 776 | + :disabled="!zhixingBian" /> | |
| 777 | + </el-form-item> | |
| 778 | + </el-col> | |
| 779 | + | |
| 780 | + <el-col :span="8"> | |
| 781 | + <el-form-item label="商品成本预估" class="grid-content bg-purple" prop="name"> | |
| 782 | + <el-input v-model="zhixingList.costEstimationGoods" placeholder="请输入" :disabled="!zhixingBian" /> | |
| 783 | + </el-form-item> | |
| 784 | + </el-col> | |
| 785 | + </el-row> | |
| 786 | + | |
| 787 | + <el-row :gutter="20"> | |
| 788 | + <el-col :span="8"> | |
| 789 | + <el-form-item label="设备成本" class="grid-content bg-purple" prop="name"> | |
| 790 | + <el-input v-model="zhixingList.setCostEstimate" placeholder="请输入" :disabled="!zhixingBian" /> | |
| 791 | + </el-form-item> | |
| 792 | + </el-col> | |
| 793 | + <el-col :span="8"> | |
| 794 | + <el-form-item label="宣传费用" class="grid-content bg-purple" prop="name"> | |
| 795 | + <el-input v-model="zhixingList.estimatedPromotionalExpenses" placeholder="请输入" | |
| 796 | + :disabled="!zhixingBian" /> | |
| 797 | + </el-form-item> | |
| 798 | + </el-col> | |
| 799 | + <el-col :span="8"> | |
| 800 | + <el-form-item label="其他成本" class="grid-content bg-purple" prop="name"> | |
| 801 | + <el-input v-model="zhixingList.otherNecessaryEstimates" placeholder="请输入" | |
| 802 | + :disabled="!zhixingBian" /> | |
| 803 | + </el-form-item> | |
| 804 | + </el-col> | |
| 805 | + </el-row> | |
| 806 | + | |
| 807 | + <el-row :gutter="20"> | |
| 808 | + <el-col :span="8"> | |
| 809 | + <el-form-item label="总成本" prop="name" class="grid-content bg-purple"> | |
| 810 | + <el-input v-model="zhixingList.totalCostEstimation" placeholder="请输入" :disabled="!zhixingBian" /> | |
| 811 | + </el-form-item> | |
| 812 | + </el-col> | |
| 813 | + <el-col :span="16"> | |
| 814 | + <el-form-item label="备注" prop="name" class="grid-content bg-purple"> | |
| 815 | + <el-input v-model="zhixingList.notes" placeholder="请输入" :disabled="!zhixingBian" /> | |
| 816 | + </el-form-item> | |
| 817 | + </el-col> | |
| 818 | + </el-row> | |
| 819 | + </el-form> | |
| 820 | + </div> | |
| 821 | + </div> | |
| 822 | + </div> | |
| 823 | + | |
| 824 | + <div style="padding: 20px"> | |
| 825 | + <div style="border: solid 1px #E5E5E5;border-radius: 5px;padding-bottom: 20px;"> | |
| 826 | + <div style="border-bottom: 1px solid #E5E5E5;padding: 1px"> | |
| 827 | + <div style="padding: 10px 20px;background-color: #FAFAFA;font-size: 14px;"> | |
| 828 | + 活动执行效果 | |
| 829 | + </div> | |
| 830 | + </div> | |
| 831 | + <div style="padding: 20px 40px 0px 20px"> | |
| 832 | + <el-form label-position="top" ref="ruleFormInfo" :model="zhixingList" label-width="120px" | |
| 833 | + style="position: relative"> | |
| 834 | + <el-row :gutter="20"> | |
| 835 | + <el-col :span="8"> | |
| 836 | + <el-form-item label="吸引流量" class="grid-content bg-purple device-from" prop="name"> | |
| 837 | + <el-input v-model="zhixingList.expectedAttractTraffic" placeholder="请输入" :disabled="!zhixingBian" /> | |
| 838 | + </el-form-item> | |
| 839 | + </el-col> | |
| 840 | + <el-col :span="8"> | |
| 841 | + <el-form-item label="参与人数" class="grid-content bg-purple" prop="name"> | |
| 842 | + <el-input v-model="zhixingList.expectedParticipation" placeholder="请输入" :disabled="!zhixingBian" /> | |
| 843 | + </el-form-item> | |
| 844 | + </el-col> | |
| 845 | + | |
| 846 | + <el-col :span="8"> | |
| 847 | + <el-form-item label="直接收益" class="grid-content bg-purple" prop="name"> | |
| 848 | + <el-input v-model="zhixingList.expectedDirectBenefits" placeholder="请输入" :disabled="!zhixingBian" /> | |
| 849 | + </el-form-item> | |
| 850 | + </el-col> | |
| 851 | + </el-row> | |
| 852 | + <el-row :gutter="20"> | |
| 853 | + <el-col :span="8"> | |
| 854 | + <el-form-item label="间接收益" class="grid-content bg-purple" prop="name"> | |
| 855 | + <el-input v-model="zhixingList.expectedIndirectBenefits" placeholder="请输入" | |
| 856 | + :disabled="!zhixingBian" /> | |
| 857 | + </el-form-item> | |
| 858 | + </el-col> | |
| 859 | + | |
| 860 | + </el-row> | |
| 861 | + <el-row :gutter="20"> | |
| 862 | + <el-col :span="24"> | |
| 863 | + <el-form-item label="反馈内容" class="grid-content bg-purple" prop="name"> | |
| 864 | + <el-upload class="upload-demo" ref="upload" :on-remove="handleRemove" | |
| 865 | + :action="uploadFileUrl" :on-success="handleUploadSuccess" :file-list="fileData" | |
| 866 | + :show-file-list="true" v-if="zhixingBian"> | |
| 867 | + <el-button style="background-color: #fff;color: #3F9B6A;border: 1px solid #dcdfe6;" class="buttonHover" v-if="fileData.length==0">+点击上传</el-button> | |
| 868 | + </el-upload> | |
| 869 | + <div v-else>{{zhixingList.feedbackContent}}</div> | |
| 870 | + </el-form-item> | |
| 871 | + </el-col> | |
| 872 | + | |
| 873 | + </el-row> | |
| 874 | + </el-form> | |
| 875 | + </div> | |
| 876 | + </div> | |
| 877 | + </div> | |
| 878 | + | |
| 879 | + </div> | |
| 880 | + | |
| 881 | + </div> | |
| 882 | + </el-dialog> | |
| 508 | 883 | </div> |
| 509 | 884 | </div> |
| 510 | 885 | </template> |
| ... | ... | @@ -591,9 +966,11 @@ |
| 591 | 966 | text: '活动主要目的', |
| 592 | 967 | eventTheme: '' |
| 593 | 968 | }, { |
| 594 | - id: '5', | |
| 595 | - name: '状态', | |
| 596 | - eventTheme: '待审核' | |
| 969 | + id: 0, | |
| 970 | + name: '范围设置', | |
| 971 | + planName: '', | |
| 972 | + text: '状态', | |
| 973 | + eventTheme: '' | |
| 597 | 974 | }], |
| 598 | 975 | internalLaborCostEstimation: '', |
| 599 | 976 | externalLaborCostEstimation: '', |
| ... | ... | @@ -664,6 +1041,8 @@ |
| 664 | 1041 | pageNumber: 1, |
| 665 | 1042 | pageSize: 10, |
| 666 | 1043 | dataOwnership: '1', |
| 1044 | + isDraft:0, | |
| 1045 | + state:'待提交' | |
| 667 | 1046 | }, |
| 668 | 1047 | multipleSelection: [], |
| 669 | 1048 | options: [{ |
| ... | ... | @@ -676,7 +1055,9 @@ |
| 676 | 1055 | defaultProps:{ |
| 677 | 1056 | children: 'children', |
| 678 | 1057 | label: 'classificationName' |
| 679 | - } | |
| 1058 | + }, | |
| 1059 | + zhixingBian: false, //判断是否编辑执行效果 | |
| 1060 | + tableDa: [], //执行效果明细列表 | |
| 680 | 1061 | } |
| 681 | 1062 | }, |
| 682 | 1063 | created() { |
| ... | ... | @@ -752,6 +1133,8 @@ |
| 752 | 1133 | dataOwnership: '1', |
| 753 | 1134 | pageNumber: 1, |
| 754 | 1135 | pageSize: 10, |
| 1136 | + isDraft:0, | |
| 1137 | + state:'待提交' | |
| 755 | 1138 | }) |
| 756 | 1139 | this.tableData = res.data.content |
| 757 | 1140 | } else if (this.planName == '' && this.eventTheme != '') { |
| ... | ... | @@ -760,6 +1143,8 @@ |
| 760 | 1143 | dataOwnership: '1', |
| 761 | 1144 | pageNumber: 1, |
| 762 | 1145 | pageSize: 10, |
| 1146 | + isDraft:0, | |
| 1147 | + state:'待提交' | |
| 763 | 1148 | }) |
| 764 | 1149 | this.tableData = res.data.content |
| 765 | 1150 | } else { |
| ... | ... | @@ -769,6 +1154,8 @@ |
| 769 | 1154 | dataOwnership: '1', |
| 770 | 1155 | pageNumber: 1, |
| 771 | 1156 | pageSize: 10, |
| 1157 | + isDraft:0, | |
| 1158 | + state:'待提交' | |
| 772 | 1159 | }) |
| 773 | 1160 | this.tableData = res.data.content |
| 774 | 1161 | } |
| ... | ... | @@ -876,6 +1263,7 @@ |
| 876 | 1263 | } |
| 877 | 1264 | this.Liunie = false |
| 878 | 1265 | this.MsgSp =false |
| 1266 | + this.actSpye = false | |
| 879 | 1267 | }, |
| 880 | 1268 | TabClick(tab, event){ |
| 881 | 1269 | console.log(tab, event) |
| ... | ... | @@ -895,7 +1283,139 @@ |
| 895 | 1283 | } |
| 896 | 1284 | this.getAll() |
| 897 | 1285 | |
| 898 | - } | |
| 1286 | + }, | |
| 1287 | + //详情点击 | |
| 1288 | + handleEditForm(item,val,flag) { | |
| 1289 | + if(val ==2){ | |
| 1290 | + this.activeName = 'five' | |
| 1291 | + } | |
| 1292 | + this.fileData = [] | |
| 1293 | + this.zhixingList = { | |
| 1294 | + planTime:[], | |
| 1295 | + planName: '', //活动名称 | |
| 1296 | + eventAddrs: '', //实际举办地点 | |
| 1297 | + eventStartTime: 0, //实际开始时间 | |
| 1298 | + eventEndTime: 0, //实际结束时间 | |
| 1299 | + sponsor: '', //实际主办方 | |
| 1300 | + participants: '', //实际参与方 | |
| 1301 | + internalLaborCostEstimation: '', //内部人工成本 | |
| 1302 | + externalLaborCostEstimation: '', //外部人工成本 | |
| 1303 | + costEstimationGoods: '', //商品成本 | |
| 1304 | + setCostEstimate: '', //设备成本 | |
| 1305 | + estimatedPromotionalExpenses: '', //宣传费用预估 | |
| 1306 | + otherNecessaryEstimates: '', //其他成本预估 | |
| 1307 | + totalCostEstimation: '', //总成本预估 | |
| 1308 | + notes: '', //备注 | |
| 1309 | + expectedAttractTraffic: '', //吸引流量 | |
| 1310 | + expectedParticipation: '', //参与人数 | |
| 1311 | + expectedDirectBenefits: '', //直接收益 | |
| 1312 | + expectedIndirectBenefits: '', //间接收益 | |
| 1313 | + createDate: '', //创建时间 | |
| 1314 | + feedbackContent:'' | |
| 1315 | + } //执行效果列表 | |
| 1316 | + actPage({ | |
| 1317 | + detailsId: item.id, | |
| 1318 | + pageNumber: 1, | |
| 1319 | + pageSize: 10, | |
| 1320 | + }).then(res => { | |
| 1321 | + console.log(res.data.content) | |
| 1322 | + if (res.data.content.length == 0) { | |
| 1323 | + this.zhiXing = true | |
| 1324 | + } else { | |
| 1325 | + mingTable({ | |
| 1326 | + detailsId: res.data.content[0].id, | |
| 1327 | + pageNumber: 1, | |
| 1328 | + pageSize: 10, | |
| 1329 | + }).then(res => { | |
| 1330 | + this.tableDa = res.data.content | |
| 1331 | + }) | |
| 1332 | + this.zhiXing = false | |
| 1333 | + this.zhixingList = res.data.content[0] | |
| 1334 | + if((typeof this.zhixingList.eventStartTime) == 'object' || (typeof this.zhixingList.eventEndTime) == 'object' ){ | |
| 1335 | + this.zhixingList.planTime = [] | |
| 1336 | + }else{ | |
| 1337 | + console.log(typeof this.zhixingList.eventStartTime) | |
| 1338 | + this.zhixingList.planTime = [ this.zhixingList.eventStartTime, this.zhixingList.eventEndTime] | |
| 1339 | + } | |
| 1340 | + | |
| 1341 | + } | |
| 1342 | + }) | |
| 1343 | + let that = this | |
| 1344 | + this.planTime = [item.eventStartTime, item.eventEndTime] | |
| 1345 | + fujiaTable({ | |
| 1346 | + detailsId: item.id, | |
| 1347 | + pageNumber: 1, | |
| 1348 | + pageSize: 10, | |
| 1349 | + }).then(res => { | |
| 1350 | + this.tableData6 = res.data.content | |
| 1351 | + }) | |
| 1352 | + mingTable({ | |
| 1353 | + detailsId: item.id, | |
| 1354 | + pageNumber: 1, | |
| 1355 | + pageSize: 10, | |
| 1356 | + }).then(res => { | |
| 1357 | + this.tableData2 = res.data.content | |
| 1358 | + }) | |
| 1359 | + | |
| 1360 | + | |
| 1361 | + danqueryById({ | |
| 1362 | + id: item.id, | |
| 1363 | + dataOwnership: '1', | |
| 1364 | + pageNumber: 1, | |
| 1365 | + pageSize: 10, | |
| 1366 | + }).then(res => { | |
| 1367 | + this.secondData = res.data.content[0] | |
| 1368 | + //基本信息 | |
| 1369 | + // that.id=res.data.content[0].id | |
| 1370 | + that.text = res.data.content[0].planName | |
| 1371 | + that.tableData1[0].eventTheme = res.data.content[0].planType | |
| 1372 | + that.tableData1[0].planName = res.data.content[0].eventAddrs | |
| 1373 | + that.tableData1[1].eventTheme = res.data.content[0].eventStartTime | |
| 1374 | + that.tableData1[1].planName = res.data.content[0].eventEndTime | |
| 1375 | + that.tableData1[2].eventTheme = res.data.content[0].eventTheme | |
| 1376 | + that.tableData1[2].planName = res.data.content[0].sponsor | |
| 1377 | + that.tableData1[3].eventTheme = res.data.content[0].participants | |
| 1378 | + that.tableData1[3].planName = res.data.content[0].mainPurpose | |
| 1379 | + that.tableData1[4].planName = this.getStatus(res.data.content[0].state) | |
| 1380 | + that.tableData1[4].eventTheme = res.data.content[0].rangeSetting | |
| 1381 | + //活动成本信息 | |
| 1382 | + that.internalLaborCostEstimation = res.data.content[0].internalLaborCostEstimation | |
| 1383 | + that.externalLaborCostEstimation = res.data.content[0].externalLaborCostEstimation | |
| 1384 | + that.tableData3[0].eventTheme = res.data.content[0].costEstimationGoods | |
| 1385 | + that.tableData3[0].planName = res.data.content[0].setCostEstimate | |
| 1386 | + that.tableData3[1].eventTheme = res.data.content[0].estimatedPromotionalExpenses | |
| 1387 | + that.tableData3[1].planName = res.data.content[0].otherNecessaryEstimates | |
| 1388 | + that.tableData3[2].eventTheme = res.data.content[0].totalCostEstimation | |
| 1389 | + that.tableData3[2].planName = res.data.content[0].notes | |
| 1390 | + //预估效果 | |
| 1391 | + that.expectedAttractTraffic = res.data.content[0].expectedAttractTraffic | |
| 1392 | + that.expectedParticipation = res.data.content[0].expectedParticipation | |
| 1393 | + that.tableData4[0].eventTheme = res.data.content[0].expectedDirectBenefits | |
| 1394 | + that.tableData4[0].planName = res.data.content[0].expectedIndirectBenefits | |
| 1395 | + //系统信息 | |
| 1396 | + that.createUser = res.data.content[0].createUser | |
| 1397 | + that.createDate = res.data.content[0].createDate | |
| 1398 | + | |
| 1399 | + that.tableData5[0].planName = '-' | |
| 1400 | + that.tableData5[0].eventTheme = res.data.content[0].updateUser | |
| 1401 | + | |
| 1402 | + }).catch(err => { | |
| 1403 | + console.log(err) | |
| 1404 | + | |
| 1405 | + }) | |
| 1406 | + if (!item) { | |
| 1407 | + this.formItem = {} | |
| 1408 | + } else { | |
| 1409 | + this.formItem = item | |
| 1410 | + } | |
| 1411 | + this.ggXin = true | |
| 1412 | + }, | |
| 1413 | + refreshData() { | |
| 1414 | + // console.log('12123') | |
| 1415 | + this.tableDa = [] | |
| 1416 | + this.activeName = 'first' | |
| 1417 | + this.zhixingBian = false | |
| 1418 | + }, | |
| 899 | 1419 | } |
| 900 | 1420 | } |
| 901 | 1421 | </script> |
| ... | ... | @@ -916,7 +1436,10 @@ |
| 916 | 1436 | line-height: 0; |
| 917 | 1437 | } |
| 918 | 1438 | |
| 919 | - | |
| 1439 | + .tableBtn { | |
| 1440 | + display: inline-block; | |
| 1441 | + margin-right: 10px; | |
| 1442 | + } | |
| 920 | 1443 | |
| 921 | 1444 | .formSearch { |
| 922 | 1445 | display: flex; | ... | ... |
admin-web-master/src/views/activity/index.vue
| ... | ... | @@ -22,12 +22,24 @@ |
| 22 | 22 | </div> |
| 23 | 23 | </div> |
| 24 | 24 | <div style="margin: 20px 0;"> |
| 25 | - <div> | |
| 25 | + <div style="display:flex;"> | |
| 26 | 26 | <el-button icon="el-icon-circle-plus-outline" @click="create" |
| 27 | 27 | style="background-color: #3F9B6A;color: #fff;padding:8px 15px;">新增</el-button> |
| 28 | 28 | <el-button style="background-color: #E24E5A;color: #fff;" icon="el-icon-delete" |
| 29 | 29 | @click="handleDelete" class="DelBtnHover">删除</el-button> |
| 30 | - <el-button style="background-color: #3F9B6A;color: #fff;" @click="duibi">效果对比</el-button> | |
| 30 | + <!-- <el-button style="background-color: #3F9B6A;color: #fff;" @click="duibi">效果对比</el-button> | |
| 31 | + <el-upload class="upload-demo" ref="upload" | |
| 32 | + :limit="1" | |
| 33 | + accept=".xlsx" | |
| 34 | + :action="uploadFileUrl" | |
| 35 | + :on-success="daoru" | |
| 36 | + :file-list="daoData" | |
| 37 | + :auto-upload="true" | |
| 38 | + :show-file-list="false"> | |
| 39 | + <el-button style="background-color: #fff;color: #3F9B6A;border: 1px solid #dcdfe6;margin:0 15px;" class="buttonHover" >导入</el-button> | |
| 40 | + </el-upload> --> | |
| 41 | + <el-button style="background-color: #3F9B6A;color: #fff;" @click="caogao">草稿箱</el-button> | |
| 42 | + <!-- <el-button style="background-color: #3F9B6A;color: #fff;" @click="daochu">审核流程导出</el-button> --> | |
| 31 | 43 | <!-- <el-button style="background-color: #fff;color: #000;border: 1px solid #B1B1B1;" |
| 32 | 44 | icon="el-icon-folder-add" class="buttonHover" @click="xinFenlei">活动分类管理</el-button> --> |
| 33 | 45 | </div> |
| ... | ... | @@ -74,26 +86,28 @@ |
| 74 | 86 | </el-table-column> |
| 75 | 87 | <el-table-column label="类型" prop="planType" width="80"> |
| 76 | 88 | </el-table-column> |
| 77 | - <el-table-column label="发布状态" width="80" > | |
| 78 | 89 | |
| 79 | - </el-table-column> | |
| 80 | 90 | <el-table-column label="审批状态" width="150"> |
| 81 | 91 | <template slot-scope="scope"> |
| 82 | 92 | {{scope.row.state == ''?'待提交':scope.row.state == '1'?'待审批':scope.row.state == '2'?'部门领导审批':scope.row.state == '3'?'公司领导审批':scope.row.state == '4'?'其他审批':scope.row.state == '5'?'审核通过':'已驳回'}} |
| 83 | 93 | </template> |
| 84 | 94 | </el-table-column> |
| 85 | - <el-table-column label="修改时间" prop="createDate"width="250" > | |
| 95 | + <el-table-column label="创建时间" prop="createDate"width="250" > | |
| 86 | 96 | </el-table-column> |
| 87 | - <el-table-column prop="createUser" label="上传人员" width="80"> | |
| 97 | + <!-- <el-table-column prop="auditReminderTime" label="审核提醒时间" width="200"> | |
| 88 | 98 | |
| 89 | - </el-table-column> | |
| 90 | - <el-table-column label="操作" width="350"> | |
| 99 | + </el-table-column> --> | |
| 100 | + <el-table-column label="操作" width="350" fixed="right"> | |
| 91 | 101 | <template slot-scope="scope"> |
| 92 | 102 | <div @click="actBian(scope.row)" class="tableBtn greens" v-if="scope.row.state == ''">修改</div> |
| 93 | 103 | <!-- <div class="tableBtn greens">发布</div> --> |
| 94 | - <div class="tableBtn greens" @click="handleEditForm(scope.row)">执行情况</div> | |
| 95 | - <div @click="OAshen(scope.row)" class="tableBtn greens" v-if="scope.row.state == ''">上传到OA</div> | |
| 96 | - <div class="tableBtn greens" @click="xiaoguo(scope.row)">效果评估</div> | |
| 104 | + <div class="tableBtn greens" @click="handleEditForm(scope.row,1)">查看</div> | |
| 105 | + <!-- <div class="tableBtn greens" @click="handleEditForm(scope.row,2)">执行情况</div> --> | |
| 106 | + <div @click="OAshen(scope.row)" class="tableBtn greens" v-if="scope.row.state == ''">提交审核</div> | |
| 107 | + <!-- <div class="tableBtn greens" v-if="scope.row.state ==''" @click="peizhi(scope.row)"> | |
| 108 | + 审批流程选择 | |
| 109 | + </div> --> | |
| 110 | + <div class="tableBtn greens" @click="xiaoguo(scope.row)" v-if="scope.row.state == '5'" >效果评估</div> | |
| 97 | 111 | <!-- <div class="tableBtn greens">策略调整</div> --> |
| 98 | 112 | <div class="tableBtn greens" @click="koop(scope.row)">复制</div> |
| 99 | 113 | </template> |
| ... | ... | @@ -122,7 +136,7 @@ |
| 122 | 136 | <!-- 详情活动方案 --> |
| 123 | 137 | <el-dialog title="活动方案详情" :visible.sync="ggXin" custom-class='xiang_css' style="padding: 0;" width="80%" center |
| 124 | 138 | :close-on-click-modal="false" :close-on-press-escape="false" @close="refreshData"> |
| 125 | - <div> | |
| 139 | + <div ref="actXiang"> | |
| 126 | 140 | <div style="width: 100%;"> |
| 127 | 141 | <div style="display: flex;padding:0px 20px 20px 20px; "> |
| 128 | 142 | <div style="width: 150px;height: 80px;" v-if="secondData.coverPoster"> |
| ... | ... | @@ -140,6 +154,7 @@ |
| 140 | 154 | <el-tabs v-model="activeName" @tab-click="handleClick" style="padding-left:20px;"> |
| 141 | 155 | <el-tab-pane label="方案概况" name="first"></el-tab-pane> |
| 142 | 156 | <el-tab-pane label="执行效果" name="second"></el-tab-pane> |
| 157 | + <!-- <el-tab-pane label="执行情况" name="five"></el-tab-pane> --> | |
| 143 | 158 | </el-tabs> |
| 144 | 159 | </div> |
| 145 | 160 | <div v-if="activeName=='first'" style="display: flex;"> |
| ... | ... | @@ -275,77 +290,6 @@ |
| 275 | 290 | </div> |
| 276 | 291 | </div> |
| 277 | 292 | </div> |
| 278 | - <!-- <div style="width: 28%;"> | |
| 279 | - <div style="padding: 10px;height: 500px;"> | |
| 280 | - <div style="font-size: 14px;font-weight: 600;padding: 10px;">流程轨迹</div> | |
| 281 | - <el-steps style="height: 400px;padding: 10px;" direction="vertical" finish-status="process " | |
| 282 | - :active="0"> | |
| 283 | - <el-step> | |
| 284 | - <template slot="title"> | |
| 285 | - <div style="font-size: 14px;font-weight: 600;padding-bottom: 10px;">审核节点</div> | |
| 286 | - </template> | |
| 287 | - <template slot="description"> | |
| 288 | - <div class="custom-step-description"> | |
| 289 | - <div> | |
| 290 | - 当前处理人:王伟明 | |
| 291 | - </div> | |
| 292 | - </div> | |
| 293 | - </template> | |
| 294 | - </el-step> | |
| 295 | - <el-step style="position: relative;"> | |
| 296 | - <template slot="title"> | |
| 297 | - <div style="font-size: 14px;font-weight: 600;padding-bottom: 10px;">品牌部门审批</div> | |
| 298 | - </template> | |
| 299 | - <template slot="description"> | |
| 300 | - <div class="custom-step-description"> | |
| 301 | - <div> | |
| 302 | - 操作:通过 | |
| 303 | - <span style="position: absolute;top: 0px;right: 0px;">2023-11-02 11:26:48</span> | |
| 304 | - </div> | |
| 305 | - <div> | |
| 306 | - 操作人:王伟明 | |
| 307 | - </div> | |
| 308 | - </div> | |
| 309 | - </template> | |
| 310 | - </el-step> | |
| 311 | - <el-step style="position: relative;"> | |
| 312 | - <template slot="title"> | |
| 313 | - <div style="font-size: 14px;font-weight: 600;padding-bottom: 10px;">业务部门经理审核</div> | |
| 314 | - </template> | |
| 315 | - <template slot="description"> | |
| 316 | - <div class="custom-step-description"> | |
| 317 | - <div> | |
| 318 | - 操作:通过 | |
| 319 | - <span style="position: absolute;top: 0px;right: 0px;">2023-11-02 11:26:48</span> | |
| 320 | - </div> | |
| 321 | - <div> | |
| 322 | - 操作人:王伟明 | |
| 323 | - </div> | |
| 324 | - </div> | |
| 325 | - </template> | |
| 326 | - </el-step> | |
| 327 | - <el-step style="position: relative;"> | |
| 328 | - <template slot="title"> | |
| 329 | - <div style="font-size: 14px;font-weight: 600;padding-bottom: 10px;">开始</div> | |
| 330 | - </template> | |
| 331 | - <template slot="description"> | |
| 332 | - <div class="custom-step-description"> | |
| 333 | - <div> | |
| 334 | - 操作:通过 | |
| 335 | - <span style="position: absolute;top: 0px;right: 0px;">2023-11-02 11:26:48</span> | |
| 336 | - </div> | |
| 337 | - <div> | |
| 338 | - 操作人:王伟明 | |
| 339 | - </div> | |
| 340 | - <div> | |
| 341 | - 补充说明:发起流程事项审批 | |
| 342 | - </div> | |
| 343 | - </div> | |
| 344 | - </template> | |
| 345 | - </el-step> | |
| 346 | - </el-steps> | |
| 347 | - </div> | |
| 348 | - </div> --> | |
| 349 | 293 | </div> |
| 350 | 294 | <div v-if="activeName=='second'"> |
| 351 | 295 | <div style="padding: 20px"> |
| ... | ... | @@ -545,6 +489,19 @@ |
| 545 | 489 | </el-col> |
| 546 | 490 | |
| 547 | 491 | </el-row> |
| 492 | + <el-row :gutter="20"> | |
| 493 | + <el-col :span="24"> | |
| 494 | + <el-form-item label="反馈内容" class="grid-content bg-purple" prop="name"> | |
| 495 | + <el-upload class="upload-demo" ref="upload" :on-remove="handleRemove" | |
| 496 | + :action="uploadFileUrl" :on-success="handleUploadSuccess" :file-list="fileData" | |
| 497 | + :show-file-list="true" v-if="zhixingBian"> | |
| 498 | + <el-button style="background-color: #fff;color: #3F9B6A;border: 1px solid #dcdfe6;" class="buttonHover" v-if="fileData.length==0">+点击上传</el-button> | |
| 499 | + </el-upload> | |
| 500 | + <div v-else>{{zhixingList.feedbackContent}}</div> | |
| 501 | + </el-form-item> | |
| 502 | + </el-col> | |
| 503 | + | |
| 504 | + </el-row> | |
| 548 | 505 | </el-form> |
| 549 | 506 | </div> |
| 550 | 507 | </div> |
| ... | ... | @@ -556,7 +513,19 @@ |
| 556 | 513 | </el-button> |
| 557 | 514 | </div> |
| 558 | 515 | </div> |
| 516 | + <div v-if="activeName=='five'"> | |
| 517 | + <div style="width: 100%;padding:20px;"> | |
| 518 | + <wangEditor v-model="zhixingqingk" ref="editor"></wangEditor> | |
| 519 | + </div> | |
| 520 | + | |
| 521 | + </div> | |
| 559 | 522 | </div> |
| 523 | + <div style="display: flex;justify-content: flex-end;padding:10px" > | |
| 524 | + <el-button @click="downloadPdf" style="background-color: #3F9B6A;color: #fff" v-if="activeName=='first'" >下载 | |
| 525 | + </el-button> | |
| 526 | + <el-button @click="fivebian" style="background-color: #3F9B6A;color: #fff" v-if="activeName=='five'">保存 | |
| 527 | + </el-button> | |
| 528 | + </div> | |
| 560 | 529 | </el-dialog> |
| 561 | 530 | </div> |
| 562 | 531 | </div> |
| ... | ... | @@ -777,37 +746,37 @@ |
| 777 | 746 | <div style="display:flex;padding:10px 0;"> |
| 778 | 747 | <div style="margin-right:40px;width:17%"> |
| 779 | 748 | <div style="color:#BBBBBB;font-size:10px;">吸引游客流量</div> |
| 780 | - <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div> | |
| 781 | - <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">+45%</div> | |
| 749 | + <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">{{fenxiData.expectedAttractTraffic}}</span>人</div> | |
| 750 | + <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">{{fenxiData.expectedAttractTrafficAnalyse}}%</div> | |
| 782 | 751 | <div style="height:5px;background-color:#FEC03D;"></div> |
| 783 | 752 | </div> |
| 784 | 753 | <div style="margin-right:40px;width:17%"> |
| 785 | 754 | <div style="color:#BBBBBB;font-size:10px;">参与人数</div> |
| 786 | - <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div> | |
| 787 | - <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">+45%</div> | |
| 755 | + <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">{{fenxiData.expectedParticipation}}</span>人</div> | |
| 756 | + <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">{{fenxiData.expectedParticipationAnalyse}}%</div> | |
| 788 | 757 | <div style="height:5px;background-color:#58A3F7;"></div> |
| 789 | 758 | </div> |
| 790 | 759 | <div style="margin-right:40px;width:17%"> |
| 791 | 760 | <div style="color:#BBBBBB;font-size:10px;">直接收益</div> |
| 792 | - <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div> | |
| 793 | - <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">+45%</div> | |
| 761 | + <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">{{fenxiData.expectedDirectBenefits}}</span></div> | |
| 762 | + <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">{{fenxiData.expectedDirectBenefitsAnalysis}}%</div> | |
| 794 | 763 | <div style="height:5px;background-color:#4BCED0;"></div> |
| 795 | 764 | </div> |
| 796 | 765 | <div style="margin-right:40px;width:17%"> |
| 797 | 766 | <div style="color:#BBBBBB;font-size:10px;">间接收益</div> |
| 798 | - <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div> | |
| 799 | - <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">+45%</div> | |
| 767 | + <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">{{fenxiData.expectedIndirectBenefits}}</span></div> | |
| 768 | + <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">{{fenxiData.expectedIndirectBenefitsAnalysis}}%</div> | |
| 800 | 769 | <div style="height:5px;background-color:#3F9B6A;"></div> |
| 801 | 770 | </div> |
| 802 | 771 | <div style="margin-right:40px;width:17%"> |
| 803 | 772 | <div style="color:#BBBBBB;font-size:10px;">投入生产比</div> |
| 804 | - <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div> | |
| 805 | - <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">+45%</div> | |
| 773 | + <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">{{fenxiData.incomeAnalysis}}%</span></div> | |
| 774 | + <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">{{fenxiData.incomeAnalysis}}%</div> | |
| 806 | 775 | <div style="height:5px;background-color:#8167F5;"></div> |
| 807 | 776 | </div> |
| 808 | 777 | </div> |
| 809 | - <div style="font-size:12px;margin:10px 0;">效果分析</div> | |
| 810 | - <div style="display:flex;padding:10px 0;"> | |
| 778 | + <!-- <div style="font-size:12px;margin:10px 0;">效果分析</div> --> | |
| 779 | + <!-- <div style="display:flex;padding:10px 0;"> | |
| 811 | 780 | <div style="margin-right:40px;width:17%"> |
| 812 | 781 | <div style="color:#BBBBBB;font-size:10px;">吸引游客流量</div> |
| 813 | 782 | <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div> |
| ... | ... | @@ -834,11 +803,11 @@ |
| 834 | 803 | </div> |
| 835 | 804 | <div style="margin-right:40px;width:17%"> |
| 836 | 805 | <div style="color:#BBBBBB;font-size:10px;">投入生产比</div> |
| 837 | - <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;">4289</span>人</div> | |
| 838 | - <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">+45%</div> | |
| 806 | + <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;">{{fenxiData.incomeAnalysis}}</span>人</div> | |
| 807 | + <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">{{fenxiData.incomeAnalysis}}%</div> | |
| 839 | 808 | <div style="height:5px;background-color:#8167F5;"></div> |
| 840 | 809 | </div> |
| 841 | - </div> | |
| 810 | + </div> --> | |
| 842 | 811 | </div> |
| 843 | 812 | <div style="padding:0 20px;margin-top:20px;"> |
| 844 | 813 | <div style="border:1px solid #EFEFEF;padding:20px 15px"> |
| ... | ... | @@ -880,26 +849,8 @@ |
| 880 | 849 | </div> |
| 881 | 850 | </div> |
| 882 | 851 | </div> |
| 883 | - <div style="padding:55px 10px 10px 10px;background-color:#fff; position:relative"> | |
| 884 | - <div style="position: absolute;top: 52px;right: 5px; z-index: 10;"> | |
| 885 | - <el-radio-group v-model="radio1" style="margin-right:10px"> | |
| 886 | - <el-radio-button label="本周"></el-radio-button> | |
| 887 | - <el-radio-button label="本月"></el-radio-button> | |
| 888 | - <el-radio-button label="今年 "></el-radio-button> | |
| 889 | - <el-radio-button label="自定义"></el-radio-button> | |
| 890 | - </el-radio-group> | |
| 891 | - <el-date-picker | |
| 892 | - v-if="radio1=='自定义'" | |
| 893 | - | |
| 894 | - style="width:250px" | |
| 895 | - v-model="radio1_time" | |
| 896 | - type="datetimerange" | |
| 897 | - range-separator="至" | |
| 898 | - start-placeholder="开始日期" | |
| 899 | - end-placeholder="结束日期"> | |
| 900 | - </el-date-picker> | |
| 901 | - </div> | |
| 902 | - <el-tabs type="border-card" @tab-click="xiaoguoTab"> | |
| 852 | + <!-- <div style="padding:55px 10px 10px 10px;background-color:#fff; position:relative"> | |
| 853 | + <el-tabs type="border-card" > | |
| 903 | 854 | <el-tab-pane label="整体效果分析"> |
| 904 | 855 | <el-table :data="dataList" |
| 905 | 856 | :header-cell-style="{fontSize: '12px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}" |
| ... | ... | @@ -936,80 +887,10 @@ |
| 936 | 887 | </el-table-column> |
| 937 | 888 | </el-table> |
| 938 | 889 | </el-tab-pane> |
| 939 | - <el-tab-pane label="纵向分析"> | |
| 940 | -<el-table :data="dataList" | |
| 941 | - :header-cell-style="{fontSize: '12px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}" | |
| 942 | - style="width: 100%"> | |
| 943 | - <el-table-column label="主题" width="auto" min-width="12%" align="center"> | |
| 944 | - <template slot-scope="scope"> | |
| 945 | - {{scope.$index + 1}} | |
| 946 | - </template> | |
| 947 | - </el-table-column> | |
| 948 | - <el-table-column label="环比比较" width="auto" min-width="15%" align="center"> | |
| 949 | - <template slot-scope="scope"> | |
| 950 | - {{scope.$index + 1}} | |
| 951 | - </template> | |
| 952 | - </el-table-column> | |
| 953 | - <el-table-column label="增长量" width="auto" min-width="15%" align="center"> | |
| 954 | - <template slot-scope="scope"> | |
| 955 | - {{scope.$index + 1}} | |
| 956 | - </template> | |
| 957 | - </el-table-column> | |
| 958 | - <el-table-column label="增长率" prop="name" width="auto" min-width="15%"> | |
| 959 | - <template slot-scope="scope"> | |
| 960 | - {{scope.row.name}} | |
| 961 | - </template> | |
| 962 | - </el-table-column> | |
| 963 | - <el-table-column label="投入总金额" prop="name" width="auto" min-width="15%"> | |
| 964 | - <template slot-scope="scope"> | |
| 965 | - {{scope.row.name}} | |
| 966 | - </template> | |
| 967 | - </el-table-column> | |
| 968 | - <el-table-column label="投入产出比" prop="name" width="auto" min-width="15%"> | |
| 969 | - <template slot-scope="scope"> | |
| 970 | - {{scope.row.name}} | |
| 971 | - </template> | |
| 972 | - </el-table-column> | |
| 973 | - </el-table> | |
| 974 | - </el-tab-pane> | |
| 975 | - <el-tab-pane label="横向分析"> | |
| 976 | -<el-table :data="dataList" | |
| 977 | - :header-cell-style="{fontSize: '12px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}" | |
| 978 | - style="width: 100%"> | |
| 979 | - <el-table-column label="主题" width="auto" min-width="12%" align="center"> | |
| 980 | - <template slot-scope="scope"> | |
| 981 | - {{scope.$index + 1}} | |
| 982 | - </template> | |
| 983 | - </el-table-column> | |
| 984 | - <el-table-column label="环比比较" width="auto" min-width="15%" align="center"> | |
| 985 | - <template slot-scope="scope"> | |
| 986 | - {{scope.$index + 1}} | |
| 987 | - </template> | |
| 988 | - </el-table-column> | |
| 989 | - <el-table-column label="增长量" width="auto" min-width="15%" align="center"> | |
| 990 | - <template slot-scope="scope"> | |
| 991 | - {{scope.$index + 1}} | |
| 992 | - </template> | |
| 993 | - </el-table-column> | |
| 994 | - <el-table-column label="增长率" prop="name" width="auto" min-width="15%"> | |
| 995 | - <template slot-scope="scope"> | |
| 996 | - {{scope.row.name}} | |
| 997 | - </template> | |
| 998 | - </el-table-column> | |
| 999 | - <el-table-column label="投入总金额" prop="name" width="auto" min-width="15%"> | |
| 1000 | - <template slot-scope="scope"> | |
| 1001 | - {{scope.row.name}} | |
| 1002 | - </template> | |
| 1003 | - </el-table-column> | |
| 1004 | - <el-table-column label="投入产出比" prop="name" width="auto" min-width="15%"> | |
| 1005 | - <template slot-scope="scope"> | |
| 1006 | - {{scope.row.name}} | |
| 1007 | - </template> | |
| 1008 | - </el-table-column> | |
| 1009 | - </el-table> | |
| 1010 | - </el-tab-pane> | |
| 890 | + | |
| 891 | + | |
| 1011 | 892 | </el-tabs> |
| 1012 | - </div> | |
| 893 | + </div> --> | |
| 1013 | 894 | |
| 1014 | 895 | </div> |
| 1015 | 896 | </el-dialog> |
| ... | ... | @@ -1069,6 +950,69 @@ |
| 1069 | 950 | </el-button> |
| 1070 | 951 | </div> |
| 1071 | 952 | </el-dialog> |
| 953 | + <el-dialog title="草稿箱" :visible.sync="caogaoshow" custom-class="dialog_css_Xq" | |
| 954 | + style="padding: 0;" width="70%" center :close-on-click-modal="false" :show-close="false"> | |
| 955 | + <div style="padding:20px;"> | |
| 956 | + <div style="margin-bottom: 20px;"> | |
| 957 | + <el-table :data="caoList" | |
| 958 | + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 959 | + align="left"> | |
| 960 | + <el-table-column label="方案名称" width="300" prop="planName"> | |
| 961 | + </el-table-column> | |
| 962 | + <el-table-column label="类型" prop="planType" width="80"> | |
| 963 | + </el-table-column> | |
| 964 | + <el-table-column label="发布状态" width="80" > | |
| 965 | + | |
| 966 | + </el-table-column> | |
| 967 | + <el-table-column label="审批状态" width="150"> | |
| 968 | + <template slot-scope="scope"> | |
| 969 | + {{scope.row.state == ''?'待提交':scope.row.state == '1'?'待审批':scope.row.state == '2'?'部门领导审批':scope.row.state == '3'?'公司领导审批':scope.row.state == '4'?'其他审批':scope.row.state == '5'?'审核通过':'已驳回'}} | |
| 970 | + </template> | |
| 971 | + </el-table-column> | |
| 972 | + <el-table-column label="修改时间" prop="createDate"width="250" > | |
| 973 | + </el-table-column> | |
| 974 | + <el-table-column prop="createUser" label="上传人员" width="80"> | |
| 975 | + | |
| 976 | + </el-table-column> | |
| 977 | + <el-table-column label="操作" width="350"> | |
| 978 | + <template slot-scope="scope"> | |
| 979 | + <div @click="shiyong(scope.row)" class="tableBtn greens">使用</div> | |
| 980 | + <!-- <div @click="actBian(scope.row)" class="tableBtn greens" v-if="scope.row.state == ''">修改</div> --> | |
| 981 | + <div @click="handleDelete(scope.row)" class="tableBtn greens">删除</div> | |
| 982 | + </template> | |
| 983 | + </el-table-column> | |
| 984 | + </el-table> | |
| 985 | + </div> | |
| 986 | + <div style="display: flex;justify-content: flex-end;"> | |
| 987 | + <el-button @click="caogaoshow=false" | |
| 988 | + class="buttonHover" | |
| 989 | + style="background-color: #fff;color: #000;border: 1px solid #dcdfe6;">返回</el-button> | |
| 990 | + </div> | |
| 991 | + </div> | |
| 992 | + | |
| 993 | + </el-dialog> | |
| 994 | + <el-dialog :visible.sync="peiShow" custom-class='bian_css' style="padding: 0;" width="45%" | |
| 995 | + :close-on-press-escape="false" center :close-on-click-modal="false" class="dialog_css_Xq" :show-close="false"> | |
| 996 | + <div style="padding:20px;"> | |
| 997 | + <div style="font-size: 14px;padding-bottom: 20px;color: #000;">审核流程配置</div> | |
| 998 | + <el-form label-position="right" ref="jibenFrom" :model="peiForm" label-width="140px" | |
| 999 | + style="position: relative"> | |
| 1000 | + <el-form-item label="审核提醒时间" class="grid-content bg-purple device-from" prop="planName"> | |
| 1001 | + <el-date-picker style="width:240px;margin-right:5px" v-model="peiForm.auditReminderTime" | |
| 1002 | + value-format="yyyy-MM-dd HH:mm:ss" type="datetime" prefix-icon="none" > | |
| 1003 | + </el-date-picker> | |
| 1004 | + </el-form-item> | |
| 1005 | + </el-form> | |
| 1006 | + <div style="padding-top:20px;display:flex;justify-content: flex-end;"> | |
| 1007 | + <el-button style="background-color: #3F9B6A;color: #fff" | |
| 1008 | + @click="peiCheck">确定</el-button> | |
| 1009 | + <el-button @click="peiShow = false" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" class="buttonHover">取消</el-button> | |
| 1010 | + | |
| 1011 | + </div> | |
| 1012 | + | |
| 1013 | + </div> | |
| 1014 | + | |
| 1015 | + </el-dialog> | |
| 1072 | 1016 | <addAct :showAdd="addAct" @childClose='childClose' :fenleiName="cascaderList"></addAct> |
| 1073 | 1017 | <actbians :showBian="actbianMsg" @BianchildClose='BianchildClose'></actbians> |
| 1074 | 1018 | </div> |
| ... | ... | @@ -1092,19 +1036,33 @@ |
| 1092 | 1036 | cereAdd, |
| 1093 | 1037 | cereEdit, |
| 1094 | 1038 | cereDel, |
| 1095 | - copy | |
| 1039 | + copy, | |
| 1040 | + excelQueryByPage, | |
| 1041 | + excelAdd, | |
| 1042 | + effectEvaluation | |
| 1096 | 1043 | } from '../../api/activityBz' |
| 1097 | 1044 | import addAct from "./activityBz" |
| 1098 | 1045 | import actbians from "./activityBian" |
| 1099 | 1046 | import * as echarts from 'echarts' |
| 1100 | 1047 | import Vue from 'vue' |
| 1048 | + import html2canvas from 'html2canvas' | |
| 1049 | + import jsPDF from 'jspdf' | |
| 1050 | + import wangEditor from "@/components/editor/index" | |
| 1051 | + import { | |
| 1052 | + uploadUrl | |
| 1053 | + } from '@/utils/request' | |
| 1101 | 1054 | export default { |
| 1102 | 1055 | components: { |
| 1103 | 1056 | addAct, |
| 1104 | - actbians | |
| 1057 | + actbians, | |
| 1058 | + wangEditor | |
| 1105 | 1059 | }, |
| 1106 | 1060 | data() { |
| 1107 | 1061 | return { |
| 1062 | + uploadFileUrl: uploadUrl, // 请求地址 | |
| 1063 | + daoData:[], | |
| 1064 | + fenxiData:{}, | |
| 1065 | + fileData:[], | |
| 1108 | 1066 | addAct: false, //新增页 |
| 1109 | 1067 | actbianMsg: { |
| 1110 | 1068 | acBian: '', //编辑数据 |
| ... | ... | @@ -1117,7 +1075,7 @@ |
| 1117 | 1075 | planFen: '', |
| 1118 | 1076 | eventTheme: '', |
| 1119 | 1077 | currentPage: 1, |
| 1120 | - total: 100, | |
| 1078 | + total: 0, | |
| 1121 | 1079 | flag: false, |
| 1122 | 1080 | pageSize: 10, |
| 1123 | 1081 | ggXin: false, |
| ... | ... | @@ -1169,9 +1127,11 @@ |
| 1169 | 1127 | text: '活动主要目的', |
| 1170 | 1128 | eventTheme: '' |
| 1171 | 1129 | }, { |
| 1172 | - id: '5', | |
| 1173 | - name: '状态', | |
| 1174 | - eventTheme: '待审核' | |
| 1130 | + id: 0, | |
| 1131 | + name: '范围设置', | |
| 1132 | + planName: '', | |
| 1133 | + text: '状态', | |
| 1134 | + eventTheme: '' | |
| 1175 | 1135 | }], |
| 1176 | 1136 | internalLaborCostEstimation: '', |
| 1177 | 1137 | externalLaborCostEstimation: '', |
| ... | ... | @@ -1246,11 +1206,13 @@ |
| 1246 | 1206 | expectedDirectBenefits: '', //直接收益 |
| 1247 | 1207 | expectedIndirectBenefits: '', //间接收益 |
| 1248 | 1208 | createDate: '', //创建时间 |
| 1209 | + feedbackContent:'' | |
| 1249 | 1210 | }, //执行效果列表 |
| 1250 | 1211 | pageindex: { |
| 1251 | 1212 | pageNumber: 1, |
| 1252 | 1213 | pageSize: 10, |
| 1253 | - dataOwnership: '1' | |
| 1214 | + dataOwnership: '1', | |
| 1215 | + isDraft:0, | |
| 1254 | 1216 | }, |
| 1255 | 1217 | multipleSelection: [], |
| 1256 | 1218 | options: [], |
| ... | ... | @@ -1265,8 +1227,7 @@ |
| 1265 | 1227 | xiaoguoBox:false, |
| 1266 | 1228 | chart: null, //饼图 |
| 1267 | 1229 | chart1: null, //漏斗图 |
| 1268 | - radio1:'', | |
| 1269 | - radio1_time:'', | |
| 1230 | + | |
| 1270 | 1231 | dataList:[], |
| 1271 | 1232 | xinlei:false,//分类管理框 |
| 1272 | 1233 | fenleiDelId:null,//删除的分类ID |
| ... | ... | @@ -1287,9 +1248,17 @@ |
| 1287 | 1248 | }, |
| 1288 | 1249 | copyShow:false, |
| 1289 | 1250 | duibiOne:{}, |
| 1290 | - duibiTwo:{} | |
| 1291 | - } | |
| 1292 | - }, | |
| 1251 | + duibiTwo:{}, | |
| 1252 | + caoList:[], | |
| 1253 | + caogaoshow:false, | |
| 1254 | + peiForm:{ | |
| 1255 | + auditReminderTime:'' | |
| 1256 | + }, | |
| 1257 | + peiShow:false, | |
| 1258 | + peiId:'', | |
| 1259 | + zhixingqingk:'' | |
| 1260 | + } | |
| 1261 | + }, | |
| 1293 | 1262 | created() { |
| 1294 | 1263 | this.getAll() |
| 1295 | 1264 | |
| ... | ... | @@ -1351,7 +1320,8 @@ |
| 1351 | 1320 | pageNumber: 1, |
| 1352 | 1321 | pageSize: 10, |
| 1353 | 1322 | dataOwnership: '1', |
| 1354 | - classificationCode:data.id | |
| 1323 | + classificationCode:data.id, | |
| 1324 | + isDraft:0 | |
| 1355 | 1325 | } |
| 1356 | 1326 | const res = await queryByPage(pageindex) |
| 1357 | 1327 | this.tableData = res.data.content |
| ... | ... | @@ -1361,7 +1331,8 @@ |
| 1361 | 1331 | this.pageindex={ |
| 1362 | 1332 | pageNumber: 1, |
| 1363 | 1333 | pageSize: 10, |
| 1364 | - dataOwnership: '1' | |
| 1334 | + dataOwnership: '1', | |
| 1335 | + isDraft:0 | |
| 1365 | 1336 | } |
| 1366 | 1337 | const res = await queryByPage(this.pageindex) |
| 1367 | 1338 | this.tableData = res.data.content |
| ... | ... | @@ -1387,6 +1358,10 @@ |
| 1387 | 1358 | deleteById({ |
| 1388 | 1359 | id: this.multipleSelection[0].id |
| 1389 | 1360 | }).then(res => { |
| 1361 | + this.$message({ | |
| 1362 | + message: '删除成功', | |
| 1363 | + type: 'success' | |
| 1364 | + }) | |
| 1390 | 1365 | this.getAll() |
| 1391 | 1366 | done(); |
| 1392 | 1367 | }) |
| ... | ... | @@ -1411,6 +1386,8 @@ |
| 1411 | 1386 | dataOwnership: '1', |
| 1412 | 1387 | pageNumber: 1, |
| 1413 | 1388 | pageSize: 10, |
| 1389 | + auditTime:0, | |
| 1390 | + isDraft:0 | |
| 1414 | 1391 | }) |
| 1415 | 1392 | this.tableData = res.data.content |
| 1416 | 1393 | } else if (this.planName == '' && this.eventTheme != '') { |
| ... | ... | @@ -1419,6 +1396,8 @@ |
| 1419 | 1396 | dataOwnership: '1', |
| 1420 | 1397 | pageNumber: 1, |
| 1421 | 1398 | pageSize: 10, |
| 1399 | + auditTime:0, | |
| 1400 | + isDraft:0 | |
| 1422 | 1401 | }) |
| 1423 | 1402 | this.tableData = res.data.content |
| 1424 | 1403 | } else { |
| ... | ... | @@ -1428,13 +1407,19 @@ |
| 1428 | 1407 | dataOwnership: '1', |
| 1429 | 1408 | pageNumber: 1, |
| 1430 | 1409 | pageSize: 10, |
| 1410 | + auditTime:0, | |
| 1411 | + isDraft:0 | |
| 1431 | 1412 | }) |
| 1432 | 1413 | this.tableData = res.data.content |
| 1433 | 1414 | } |
| 1434 | 1415 | |
| 1435 | 1416 | }, |
| 1436 | 1417 | //详情点击 |
| 1437 | - handleEditForm(item) { | |
| 1418 | + handleEditForm(item,val,flag) { | |
| 1419 | + if(val ==2){ | |
| 1420 | + this.activeName = 'five' | |
| 1421 | + } | |
| 1422 | + this.fileData = [] | |
| 1438 | 1423 | this.zhixingList = { |
| 1439 | 1424 | planTime:[], |
| 1440 | 1425 | planName: '', //活动名称 |
| ... | ... | @@ -1456,6 +1441,7 @@ |
| 1456 | 1441 | expectedDirectBenefits: '', //直接收益 |
| 1457 | 1442 | expectedIndirectBenefits: '', //间接收益 |
| 1458 | 1443 | createDate: '', //创建时间 |
| 1444 | + feedbackContent:'' | |
| 1459 | 1445 | } //执行效果列表 |
| 1460 | 1446 | actPage({ |
| 1461 | 1447 | detailsId: item.id, |
| ... | ... | @@ -1520,8 +1506,8 @@ |
| 1520 | 1506 | that.tableData1[2].planName = res.data.content[0].sponsor |
| 1521 | 1507 | that.tableData1[3].eventTheme = res.data.content[0].participants |
| 1522 | 1508 | that.tableData1[3].planName = res.data.content[0].mainPurpose |
| 1523 | - | |
| 1524 | - that.tableData1[4].eventTheme = this.getStatus(res.data.content[0].state) | |
| 1509 | + that.tableData1[4].planName = this.getStatus(res.data.content[0].state) | |
| 1510 | + that.tableData1[4].eventTheme = res.data.content[0].rangeSetting | |
| 1525 | 1511 | //活动成本信息 |
| 1526 | 1512 | that.internalLaborCostEstimation = res.data.content[0].internalLaborCostEstimation |
| 1527 | 1513 | that.externalLaborCostEstimation = res.data.content[0].externalLaborCostEstimation |
| ... | ... | @@ -1596,6 +1582,9 @@ |
| 1596 | 1582 | }, |
| 1597 | 1583 | //执行效果保存 |
| 1598 | 1584 | async bianji() { |
| 1585 | + if(this.fileData.length !=0){ | |
| 1586 | + this.zhixingList.feedbackContent = this.fileData[0].url | |
| 1587 | + } | |
| 1599 | 1588 | if (this.zhiXing) { |
| 1600 | 1589 | this.zhixingList.eventStartTime = this.zhixingList.planTime[0] |
| 1601 | 1590 | this.zhixingList.eventEndTime = this.zhixingList.planTime[1] |
| ... | ... | @@ -1756,7 +1745,7 @@ |
| 1756 | 1745 | this.$msgbox({ |
| 1757 | 1746 | title: '消息', |
| 1758 | 1747 | message: h('p', null, [ |
| 1759 | - h('span', null, '是否上传到OA '), | |
| 1748 | + h('span', null, '是否提交审核 '), | |
| 1760 | 1749 | ]), |
| 1761 | 1750 | showCancelButton: true, |
| 1762 | 1751 | showClose: false, |
| ... | ... | @@ -1818,10 +1807,10 @@ |
| 1818 | 1807 | } |
| 1819 | 1808 | |
| 1820 | 1809 | }, |
| 1821 | - xiaoguoTab(tab, event){ | |
| 1822 | - | |
| 1823 | - }, | |
| 1824 | 1810 | xiaoguo(item) { |
| 1811 | + effectEvaluation({id:item.id}).then(res=>{ | |
| 1812 | + this.fenxiData = res.data | |
| 1813 | + }) | |
| 1825 | 1814 | this.xiaoguoBox = true |
| 1826 | 1815 | this.$nextTick(() => { |
| 1827 | 1816 | this.shopLiu(this.$refs.shopL); |
| ... | ... | @@ -2049,7 +2038,143 @@ |
| 2049 | 2038 | } |
| 2050 | 2039 | |
| 2051 | 2040 | }, |
| 2041 | + handleUploadSuccess(response, file, fileList) { | |
| 2042 | + const fileMsg = { | |
| 2043 | + name:file.name, | |
| 2044 | + url: file.response.data.url, | |
| 2045 | + } | |
| 2046 | + // 将文件地址存储在 uploadedFiles 数组中 | |
| 2047 | + this.fileData.push(fileMsg); | |
| 2048 | + }, | |
| 2049 | + handleRemove(){ | |
| 2050 | + this.fileData = [] | |
| 2051 | + }, | |
| 2052 | + daoru(response, file, fileList){ | |
| 2053 | + this.daoData= [] | |
| 2054 | + this.daoData.push(file.raw) | |
| 2055 | + const formDate = new FormData() | |
| 2056 | + formDate.append('file', this.daoData[0]) | |
| 2057 | + excelAdd(formDate).then(res => { | |
| 2058 | + this.getAll() | |
| 2059 | + }) | |
| 2060 | + }, | |
| 2061 | + caogao(){ | |
| 2062 | + | |
| 2052 | 2063 | |
| 2064 | + let pageindex = { | |
| 2065 | + pageNumber: 1, | |
| 2066 | + pageSize: 10, | |
| 2067 | + dataOwnership: '1', | |
| 2068 | + isDraft:1 | |
| 2069 | + } | |
| 2070 | + queryByPage(pageindex).then(res=>{ | |
| 2071 | + this.caoList = res.data.content | |
| 2072 | + }) | |
| 2073 | + this.caogaoshow =true | |
| 2074 | + | |
| 2075 | + }, | |
| 2076 | + shiyong(item){ | |
| 2077 | + | |
| 2078 | + const h = this.$createElement; | |
| 2079 | + this.$msgbox({ | |
| 2080 | + title: '消息', | |
| 2081 | + message: h('p', null, [ | |
| 2082 | + h('span', null, '是否使用 '), | |
| 2083 | + ]), | |
| 2084 | + showCancelButton: true, | |
| 2085 | + showClose: false, | |
| 2086 | + confirmButtonText: '确定', | |
| 2087 | + cancelButtonText: '取消', | |
| 2088 | + customClass: 'oe-dialog-btn', | |
| 2089 | + beforeClose: (action, instance, done) => { | |
| 2090 | + if (action === 'confirm') { | |
| 2091 | + xiangedit({ | |
| 2092 | + id:item.id, | |
| 2093 | + isDraft:0 | |
| 2094 | + }).then(res => { | |
| 2095 | + this.getAll() | |
| 2096 | + this.caogao() | |
| 2097 | + done(); | |
| 2098 | + }) | |
| 2099 | + } else { | |
| 2100 | + done(); | |
| 2101 | + } | |
| 2102 | + } | |
| 2103 | + }) | |
| 2104 | + | |
| 2105 | + | |
| 2106 | + }, | |
| 2107 | + async daochu(){ | |
| 2108 | + let res = await excelQueryByPage(this.pageindex) | |
| 2109 | + if(!res){ | |
| 2110 | + return | |
| 2111 | + } | |
| 2112 | + const blob = new Blob([res], { type: 'application/vnd.ms-excel' }) | |
| 2113 | + const fileName = '审核流程.xls' | |
| 2114 | + if ('download' in document.createElement('a')) { | |
| 2115 | + // 非IE下载 | |
| 2116 | + const elink = document.createElement('a') | |
| 2117 | + elink.download = fileName | |
| 2118 | + elink.style.display = 'none' | |
| 2119 | + elink.href = URL.createObjectURL(blob) | |
| 2120 | + document.body.appendChild(elink) | |
| 2121 | + elink.click() | |
| 2122 | + URL.revokeObjectURL(elink.href) // 释放URL 对象 | |
| 2123 | + document.body.removeChild(elink) | |
| 2124 | + } else { | |
| 2125 | + // IE10+下载 | |
| 2126 | + navigator.msSaveBlob(blob, fileName) | |
| 2127 | + } | |
| 2128 | + this.$message({ | |
| 2129 | + message: '导出成功', | |
| 2130 | + type: 'success' | |
| 2131 | + }) | |
| 2132 | + | |
| 2133 | + | |
| 2134 | + }, | |
| 2135 | + // 下载 | |
| 2136 | + async downloadPdf() { | |
| 2137 | + const content = this.$refs.actXiang; | |
| 2138 | + | |
| 2139 | + // 使用 html2canvas 将 div 渲染为画布 | |
| 2140 | + const canvas = await html2canvas(content); | |
| 2141 | + | |
| 2142 | + // 获取画布的图像数据 | |
| 2143 | + const imgData = canvas.toDataURL('image/png'); | |
| 2144 | + | |
| 2145 | + // 创建一个新的 PDF 文档 | |
| 2146 | + const pdf = new jsPDF('p', 'mm', 'a4'); | |
| 2147 | + | |
| 2148 | + // 添加图像到 PDF,第二个参数是图像格式,第三个参数是缩放比例 | |
| 2149 | + const imgWidth = 190; // 图像的宽度(mm) | |
| 2150 | + const imgHeight = (canvas.height * imgWidth) / canvas.width; // 保持图像的宽高比 | |
| 2151 | + | |
| 2152 | + pdf.addImage(imgData, 'PNG', 10, 10, imgWidth, imgHeight); // 10, 10 是图像在 PDF 中的位置(mm) | |
| 2153 | + | |
| 2154 | + // 保存 PDF 文件 | |
| 2155 | + pdf.save('活动方案.pdf'); | |
| 2156 | + }, | |
| 2157 | + peizhi(item){ | |
| 2158 | + this.peiForm = { | |
| 2159 | + auditTime:'' | |
| 2160 | + } | |
| 2161 | + this.peiShow = true | |
| 2162 | + this.peiId = item.id | |
| 2163 | + }, | |
| 2164 | + async peiCheck(){ | |
| 2165 | + if(this.peiForm.auditReminderTime ==''){ | |
| 2166 | + this.$message({ | |
| 2167 | + message: '请填写审核提醒时间', | |
| 2168 | + }) | |
| 2169 | + return; | |
| 2170 | + } | |
| 2171 | + await xiangedit({id:this.peiId,auditReminderTime:this.peiForm.auditReminderTime}) | |
| 2172 | + this.peiShow = false | |
| 2173 | + this.getAll() | |
| 2174 | + }, | |
| 2175 | + fivebian(){ | |
| 2176 | + | |
| 2177 | + }, | |
| 2053 | 2178 | } |
| 2054 | 2179 | } |
| 2055 | 2180 | </script> |
| ... | ... | @@ -2080,7 +2205,10 @@ |
| 2080 | 2205 | line-height: 0; |
| 2081 | 2206 | } |
| 2082 | 2207 | |
| 2083 | - | |
| 2208 | + .tableBtn { | |
| 2209 | + display: inline-block; | |
| 2210 | + margin-right: 10px; | |
| 2211 | + } | |
| 2084 | 2212 | |
| 2085 | 2213 | .formSearch { |
| 2086 | 2214 | display: flex; | ... | ... |
admin-web-master/src/views/atmosphere/atmosphereBian.vue
| ... | ... | @@ -66,6 +66,17 @@ |
| 66 | 66 | </el-form-item> |
| 67 | 67 | </el-col> |
| 68 | 68 | </el-row> |
| 69 | + <el-row :gutter="20"> | |
| 70 | + <el-col :span="8"> | |
| 71 | + <el-form-item label="范围设置" class="grid-content bg-purple" prop="sponsor"> | |
| 72 | + <el-select v-model="secondData.rangeSetting" placeholder="请选择" style="width: 100%"> | |
| 73 | + <el-option label="活动绿道段内" value="活动绿道段内"></el-option> | |
| 74 | + <el-option label="活动场地内" value="活动场地内"></el-option> | |
| 75 | + </el-select> | |
| 76 | + </el-form-item> | |
| 77 | + </el-col> | |
| 78 | + | |
| 79 | + </el-row> | |
| 69 | 80 | <div style="padding: 10px"> |
| 70 | 81 | <el-row :gutter="20"> |
| 71 | 82 | <el-form-item label="活动封面海报" prop="cover_poster" class="grid-content bg-purple"> |
| ... | ... | @@ -261,7 +272,7 @@ |
| 261 | 272 | <div style="padding: 20px;display:flex;justify-content: flex-end"> |
| 262 | 273 | <el-button plain @click="close" size="mini" style="background-color: #fff;color: #000;border: 1px solid #dcdfe6;" class="buttonHover">返回 |
| 263 | 274 | </el-button> |
| 264 | - <el-button plain @click="bianji" size="mini" style="background-color: #3F9B6A;color: #fff">确定 | |
| 275 | + <el-button plain @click="bianji" size="mini" style="background-color: #3F9B6A;color: #fff">保存 | |
| 265 | 276 | </el-button> |
| 266 | 277 | </div> |
| 267 | 278 | </div> |
| ... | ... | @@ -547,7 +558,10 @@ |
| 547 | 558 | .greens { |
| 548 | 559 | color: #3f9b6a; |
| 549 | 560 | } |
| 550 | - | |
| 561 | + .tableBtn { | |
| 562 | + display: inline-block; | |
| 563 | + margin-right: 10px; | |
| 564 | + } | |
| 551 | 565 | ::v-deep .buttonHover:hover{ |
| 552 | 566 | color:#3f9b6a !important; |
| 553 | 567 | border-color: #c5e1d2 !important; | ... | ... |
admin-web-master/src/views/atmosphere/atmosphereBz.vue
| ... | ... | @@ -91,7 +91,28 @@ |
| 91 | 91 | </el-form-item> |
| 92 | 92 | </el-col> |
| 93 | 93 | </el-row> |
| 94 | - | |
| 94 | +<el-row :gutter="20"> | |
| 95 | + <el-col :span="12"> | |
| 96 | + <el-form-item label="范围设置" class="grid-content bg-purple" prop="sponsor"> | |
| 97 | + <el-select v-model="ruleForm.rangeSetting" placeholder="请选择" style="width: 100%"> | |
| 98 | + <el-option label="活动绿道段内" value="活动绿道段内"></el-option> | |
| 99 | + <el-option label="活动场地内" value="活动场地内"></el-option> | |
| 100 | + </el-select> | |
| 101 | + </el-form-item> | |
| 102 | + </el-col> | |
| 103 | + <el-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> | |
| 115 | + </el-row> | |
| 95 | 116 | <el-row :gutter="20"> |
| 96 | 117 | <el-col :span="12"> |
| 97 | 118 | <el-form-item label="活动封面海报" prop="cover_poster" class="grid-content bg-purple"> |
| ... | ... | @@ -297,12 +318,14 @@ |
| 297 | 318 | </el-tab-pane> |
| 298 | 319 | </el-tabs> |
| 299 | 320 | <div style="display: flex;justify-content: flex-end;padding: 10px 20px 10px 0"> |
| 300 | - <el-button plain @click="onSubmit" size="mini" style="background-color: #3F9B6A;color: #fff;">保存 | |
| 301 | - </el-button> | |
| 302 | - <!-- <el-button plain @click="zancun" size="mini" style="background-color: #3F9B6A;color: #fff;">暂存 | |
| 303 | - </el-button> --> | |
| 304 | - <el-button plain @click="close" size="mini" style="background-color: #3F9B6A;color: #fff;">取消 | |
| 321 | + <el-button plain @click="close" size="mini" style="background-color: #3F9B6A;color: #fff;">取消 | |
| 322 | + </el-button> | |
| 323 | + <el-button @click="onSubmit(1)" style="background-color: #3F9B6A;color: #fff;">暂存 | |
| 324 | + </el-button> | |
| 325 | + <el-button plain @click="onSubmit(0)" size="mini" style="background-color: #3F9B6A;color: #fff;">保存 | |
| 305 | 326 | </el-button> |
| 327 | + | |
| 328 | + | |
| 306 | 329 | </div> |
| 307 | 330 | </div> |
| 308 | 331 | |
| ... | ... | @@ -356,7 +379,8 @@ |
| 356 | 379 | Mingdan, |
| 357 | 380 | MingEdit, |
| 358 | 381 | MingDel, |
| 359 | - fujiaAdd | |
| 382 | + fujiaAdd, | |
| 383 | + lishiDeta | |
| 360 | 384 | } from '../../api/activityBz' |
| 361 | 385 | import wangEditor from "@/components/editor/index"; |
| 362 | 386 | import upimg from "@/components/ImageUpload/index" |
| ... | ... | @@ -393,6 +417,7 @@ uploadFileUrl: uploadUrl, // 请求地址 |
| 393 | 417 | eventTheme:'',//活动主题 |
| 394 | 418 | sponsor:'',//活动主办方 |
| 395 | 419 | participants:'',//活动参与方 |
| 420 | + rangeSetting:'', | |
| 396 | 421 | mainPurpose:'',//活动主要目的 |
| 397 | 422 | coverPoster:'',//封面海报 |
| 398 | 423 | internalLaborCostEstimation:'',//内部人工成本预估 |
| ... | ... | @@ -438,9 +463,14 @@ uploadFileUrl: uploadUrl, // 请求地址 |
| 438 | 463 | yugu:null, |
| 439 | 464 | fun:null |
| 440 | 465 | }, |
| 441 | - | |
| 466 | +fenxiData:[], | |
| 467 | +lishiList:'', | |
| 442 | 468 | } |
| 443 | 469 | }, |
| 470 | + mounted() { | |
| 471 | + | |
| 472 | + this.lishi() | |
| 473 | + }, | |
| 444 | 474 | methods: { |
| 445 | 475 | //获取当前时间 |
| 446 | 476 | updateCurrentTime() { |
| ... | ... | @@ -454,6 +484,22 @@ uploadFileUrl: uploadUrl, // 请求地址 |
| 454 | 484 | |
| 455 | 485 | this.currentTime = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; |
| 456 | 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 | + }, | |
| 457 | 503 | // 切换事件 |
| 458 | 504 | beforeTabLeave(activeName, oldActiveName){ |
| 459 | 505 | |
| ... | ... | @@ -504,7 +550,7 @@ uploadFileUrl: uploadUrl, // 请求地址 |
| 504 | 550 | // } |
| 505 | 551 | }, |
| 506 | 552 | //保存 |
| 507 | - onSubmit(){ | |
| 553 | + onSubmit(val){ | |
| 508 | 554 | this.updateCurrentTime(); |
| 509 | 555 | let that = this |
| 510 | 556 | let FlieName = this.ruleForm.planName |
| ... | ... | @@ -559,6 +605,7 @@ uploadFileUrl: uploadUrl, // 请求地址 |
| 559 | 605 | // } |
| 560 | 606 | this.$refs.jibenFrom.validate((valid) => { |
| 561 | 607 | if (valid) { |
| 608 | + this.ruleForm.isDraft = val | |
| 562 | 609 | add(this.ruleForm).then(res=>{ |
| 563 | 610 | this.$message({ |
| 564 | 611 | message: '保存成功', |
| ... | ... | @@ -681,6 +728,7 @@ this.tuxiangData = { |
| 681 | 728 | eventTheme: '', //活动主题 |
| 682 | 729 | sponsor: '', //活动主办方 |
| 683 | 730 | participants: '', //活动参与方 |
| 731 | + rangeSetting:'', | |
| 684 | 732 | mainPurpose: '', //活动主要目的 |
| 685 | 733 | coverPoster: '', //封面海报 |
| 686 | 734 | internalLaborCostEstimation: '', //内部人工成本预估 | ... | ... |
admin-web-master/src/views/atmosphere/atmosphereGl.vue
| ... | ... | @@ -22,11 +22,23 @@ |
| 22 | 22 | </div> |
| 23 | 23 | </div> |
| 24 | 24 | <div style="margin:20px 0;"> |
| 25 | - <div> | |
| 25 | + <div style="display:flex;"> | |
| 26 | 26 | <el-button icon="el-icon-circle-plus-outline" @click="create" |
| 27 | 27 | style="background-color: #3F9B6A;color: #fff;">新增</el-button> |
| 28 | 28 | <el-button style="background-color: #E24E5A;color: #fff;" icon="el-icon-delete" @click="handleDelete" class="DelBtnHover">删除</el-button> |
| 29 | - <el-button style="background-color: #3F9B6A;color: #fff;" @click="duibi">效果对比</el-button> | |
| 29 | + <!-- <el-button style="background-color: #3F9B6A;color: #fff;" @click="duibi">效果对比</el-button> | |
| 30 | + <el-upload class="upload-demo" ref="upload" | |
| 31 | + :limit="1" | |
| 32 | + accept=".xlsx" | |
| 33 | + :action="uploadFileUrl" | |
| 34 | + :on-success="daoru" | |
| 35 | + :file-list="daoData" | |
| 36 | + :auto-upload="true" | |
| 37 | + :show-file-list="false"> | |
| 38 | + <el-button style="background-color: #fff;color: #3F9B6A;border: 1px solid #dcdfe6;margin:0 15px;" class="buttonHover">导入</el-button> | |
| 39 | + </el-upload> --> | |
| 40 | + <el-button style="background-color: #3F9B6A;color: #fff;" @click="caogao">草稿箱</el-button> | |
| 41 | + <!-- <el-button style="background-color: #3F9B6A;color: #fff;" @click="daochu">审核流程导出</el-button> --> | |
| 30 | 42 | <!-- <el-button style="background-color: #fff;color: #000;border: 1px solid #B1B1B1;" |
| 31 | 43 | icon="el-icon-folder-add" class="buttonHover" @click="xinFenlei">氛围分类管理</el-button> --> |
| 32 | 44 | </div> |
| ... | ... | @@ -80,18 +92,22 @@ |
| 80 | 92 | {{scope.row.state == ''?'待提交':scope.row.state == '1'?'待审批':scope.row.state == '2'?'部门领导审批':scope.row.state == '3'?'公司领导审批':scope.row.state == '4'?'其他审批':scope.row.state == '5'?'审核通过':'已驳回'}} |
| 81 | 93 | </template> |
| 82 | 94 | </el-table-column> |
| 83 | - <el-table-column label="修改时间" prop="createDate"width="250" > | |
| 95 | + <el-table-column label="创建时间" prop="createDate"width="250" > | |
| 84 | 96 | </el-table-column> |
| 85 | - <el-table-column prop="createUser" label="上传人员" width="80"> | |
| 97 | + <!-- <el-table-column prop="auditReminderTime" label="审核提醒时间" width="200"> | |
| 86 | 98 | |
| 87 | - </el-table-column> | |
| 88 | - <el-table-column label="操作" width="350"> | |
| 99 | + </el-table-column> --> | |
| 100 | + <el-table-column label="操作" width="350" fixed="right"> | |
| 89 | 101 | <template slot-scope="scope"> |
| 90 | 102 | <div class="tableBtn greens" @click="actBian(scope.row)" v-if="scope.row.state == ''">修改</div> |
| 91 | 103 | <!-- <div class="tableBtn greens">发布</div> --> |
| 92 | - <div class="tableBtn greens" @click="handleEditForm(scope.row)">执行情况</div> | |
| 93 | - <div @click="OAshen(scope.row)" class="tableBtn greens" v-if="scope.row.state == ''">上传到OA</div> | |
| 94 | - <div class="tableBtn greens" @click="xiaoguo(scope.row)">效果评估</div> | |
| 104 | + <div class="tableBtn greens" @click="handleEditForm(scope.row,1)">查看</div> | |
| 105 | + <!-- <div class="tableBtn greens" @click="handleEditForm(scope.row,2)">执行情况</div> --> | |
| 106 | + <div @click="OAshen(scope.row)" class="tableBtn greens" v-if="scope.row.state == ''">提交审核</div> | |
| 107 | + <!-- <div class="tableBtn greens" v-if="scope.row.state ==''" @click="peizhi(scope.row)"> | |
| 108 | + 审批流程选择 | |
| 109 | + </div> --> | |
| 110 | + <div class="tableBtn greens" @click="xiaoguo(scope.row)" v-if="scope.row.state == '5'" >效果评估</div> | |
| 95 | 111 | <!-- <div class="tableBtn greens">策略调整</div> --> |
| 96 | 112 | <div class="tableBtn greens" @click="koop(scope.row)">复制</div> |
| 97 | 113 | </template> |
| ... | ... | @@ -121,7 +137,7 @@ |
| 121 | 137 | <!-- 详情活动方案 --> |
| 122 | 138 | <el-dialog title="氛围方案详情" :visible.sync="ggXin" custom-class='xiang_css' style="padding: 0;" width="80%" |
| 123 | 139 | center :close-on-click-modal="false" :close-on-press-escape="false" @close="refreshData"> |
| 124 | - <div> | |
| 140 | + <div ref="actXiang"> | |
| 125 | 141 | <div style="width: 100%;"> |
| 126 | 142 | <div style="display: flex;padding:0px 20px 20px 20px; "> |
| 127 | 143 | <div style="width: 150px;height: 80px;" v-if="secondData.coverPoster"> |
| ... | ... | @@ -139,6 +155,7 @@ |
| 139 | 155 | <el-tabs v-model="activeName" @tab-click="handleClick" style="padding-left:20px;"> |
| 140 | 156 | <el-tab-pane label="方案概况" name="first"></el-tab-pane> |
| 141 | 157 | <el-tab-pane label="执行效果" name="second"></el-tab-pane> |
| 158 | + <el-tab-pane label="执行情况" name="five"></el-tab-pane> | |
| 142 | 159 | </el-tabs> |
| 143 | 160 | </div> |
| 144 | 161 | <div v-if="activeName=='first'" style="display: flex;"> |
| ... | ... | @@ -538,18 +555,42 @@ |
| 538 | 555 | </el-col> |
| 539 | 556 | |
| 540 | 557 | </el-row> |
| 558 | + <el-row :gutter="20"> | |
| 559 | + <el-col :span="24"> | |
| 560 | + <el-form-item label="反馈内容" class="grid-content bg-purple" prop="name"> | |
| 561 | + <el-upload class="upload-demo" ref="upload" :on-remove="handleRemove" | |
| 562 | + :action="uploadFileUrl" :on-success="handleUploadSuccess" :file-list="fileData" | |
| 563 | + :show-file-list="true" v-if="zhixingBian"> | |
| 564 | + <el-button style="background-color: #fff;color: #3F9B6A;border: 1px solid #dcdfe6;" class="buttonHover" v-if="fileData.length==0">+点击上传</el-button> | |
| 565 | + </el-upload> | |
| 566 | + <div v-else>{{zhixingList.feedbackContent}}</div> | |
| 567 | + </el-form-item> | |
| 568 | + </el-col> | |
| 569 | + | |
| 570 | + </el-row> | |
| 541 | 571 | </el-form> |
| 542 | 572 | </div> |
| 543 | 573 | </div> |
| 574 | + <div v-if="activeName=='five'"> | |
| 575 | + <div style="width: 100%;padding:20px;"> | |
| 576 | + <wangEditor v-model="zhixingqingk" ref="editor"></wangEditor> | |
| 577 | + </div> | |
| 578 | + | |
| 579 | + </div> | |
| 544 | 580 | </div> |
| 545 | 581 | <div style="padding: 0px 20px;display:flex;justify-content: flex-end;"> |
| 546 | 582 | <el-button plain @click="zhixingBian = true" style="background-color: #3F9B6A;color: #fff;" v-if="zhixingBian==false">编辑</el-button> |
| 547 | 583 | <el-button plain @click="bianji" style="background-color: #3F9B6A;color: #fff" v-if="zhixingBian">保存 |
| 548 | 584 | </el-button> |
| 549 | 585 | </div> |
| 550 | - | |
| 551 | 586 | </div> |
| 552 | 587 | </div> |
| 588 | + <div style="display: flex;justify-content: flex-end;padding:10px" > | |
| 589 | + <el-button @click="downloadPdf" style="background-color: #3F9B6A;color: #fff" v-if="activeName=='first'">下载 | |
| 590 | + </el-button> | |
| 591 | + <el-button @click="fivebian" style="background-color: #3F9B6A;color: #fff" v-if="activeName=='five'">保存 | |
| 592 | + </el-button> | |
| 593 | + </div> | |
| 553 | 594 | </el-dialog> |
| 554 | 595 | </div> |
| 555 | 596 | </div> |
| ... | ... | @@ -598,37 +639,37 @@ |
| 598 | 639 | <div style="display:flex;padding:10px 0;"> |
| 599 | 640 | <div style="margin-right:40px;width:17%"> |
| 600 | 641 | <div style="color:#BBBBBB;font-size:10px;">吸引游客流量</div> |
| 601 | - <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div> | |
| 602 | - <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">+45%</div> | |
| 642 | + <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">{{fenxiData.expectedAttractTraffic}}</span>人</div> | |
| 643 | + <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">{{fenxiData.expectedAttractTrafficAnalyse}}%</div> | |
| 603 | 644 | <div style="height:5px;background-color:#FEC03D;"></div> |
| 604 | 645 | </div> |
| 605 | 646 | <div style="margin-right:40px;width:17%"> |
| 606 | 647 | <div style="color:#BBBBBB;font-size:10px;">参与人数</div> |
| 607 | - <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div> | |
| 608 | - <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">+45%</div> | |
| 648 | + <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">{{fenxiData.expectedParticipation}}</span>人</div> | |
| 649 | + <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">{{fenxiData.expectedParticipationAnalyse}}%</div> | |
| 609 | 650 | <div style="height:5px;background-color:#58A3F7;"></div> |
| 610 | 651 | </div> |
| 611 | 652 | <div style="margin-right:40px;width:17%"> |
| 612 | 653 | <div style="color:#BBBBBB;font-size:10px;">直接收益</div> |
| 613 | - <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div> | |
| 614 | - <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">+45%</div> | |
| 654 | + <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">{{fenxiData.expectedDirectBenefits}}</span></div> | |
| 655 | + <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">{{fenxiData.expectedDirectBenefitsAnalysis}}%</div> | |
| 615 | 656 | <div style="height:5px;background-color:#4BCED0;"></div> |
| 616 | 657 | </div> |
| 617 | 658 | <div style="margin-right:40px;width:17%"> |
| 618 | 659 | <div style="color:#BBBBBB;font-size:10px;">间接收益</div> |
| 619 | - <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div> | |
| 620 | - <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">+45%</div> | |
| 660 | + <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">{{fenxiData.expectedIndirectBenefits}}</span></div> | |
| 661 | + <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">{{fenxiData.expectedIndirectBenefitsAnalysis}}%</div> | |
| 621 | 662 | <div style="height:5px;background-color:#3F9B6A;"></div> |
| 622 | 663 | </div> |
| 623 | 664 | <div style="margin-right:40px;width:17%"> |
| 624 | 665 | <div style="color:#BBBBBB;font-size:10px;">投入生产比</div> |
| 625 | - <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div> | |
| 626 | - <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">+45%</div> | |
| 666 | + <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">{{fenxiData.incomeAnalysis}}%</span></div> | |
| 667 | + <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">{{fenxiData.incomeAnalysis}}%</div> | |
| 627 | 668 | <div style="height:5px;background-color:#8167F5;"></div> |
| 628 | 669 | </div> |
| 629 | 670 | </div> |
| 630 | - <div style="font-size:12px;margin:10px 0;">效果分析</div> | |
| 631 | - <div style="display:flex;padding:10px 0;"> | |
| 671 | + <!-- <div style="font-size:12px;margin:10px 0;">效果分析</div> --> | |
| 672 | + <!-- <div style="display:flex;padding:10px 0;"> | |
| 632 | 673 | <div style="margin-right:40px;width:17%"> |
| 633 | 674 | <div style="color:#BBBBBB;font-size:10px;">吸引游客流量</div> |
| 634 | 675 | <div style="font-size:14px;padding:10px 0"><span style="font-size:20px;font-weight:600;">4289</span>人</div> |
| ... | ... | @@ -659,7 +700,7 @@ |
| 659 | 700 | <div style="color:#BBBBBB;font-size:10px;margin-bottom:10px">+45%</div> |
| 660 | 701 | <div style="height:5px;background-color:#8167F5;"></div> |
| 661 | 702 | </div> |
| 662 | - </div> | |
| 703 | + </div> --> | |
| 663 | 704 | </div> |
| 664 | 705 | <div style="padding:0 20px;margin-top:20px;"> |
| 665 | 706 | <div style="border:1px solid #EFEFEF;padding:20px 15px"> |
| ... | ... | @@ -702,25 +743,8 @@ |
| 702 | 743 | </div> |
| 703 | 744 | </div> |
| 704 | 745 | <div style="padding:55px 10px 10px 10px;background-color:#fff; position:relative"> |
| 705 | - <div style="position: absolute;top: 60px;right: 10px; z-index: 10;"> | |
| 706 | - <el-radio-group v-model="radio1" style="margin-right:10px"> | |
| 707 | - <el-radio-button label="本周"></el-radio-button> | |
| 708 | - <el-radio-button label="本月"></el-radio-button> | |
| 709 | - <el-radio-button label="今年 "></el-radio-button> | |
| 710 | - <el-radio-button label="自定义"></el-radio-button> | |
| 711 | - </el-radio-group> | |
| 712 | - <el-date-picker | |
| 713 | - v-if="radio1=='自定义'" | |
| 714 | - | |
| 715 | - style="width:250px" | |
| 716 | - v-model="radio1_time" | |
| 717 | - type="datetimerange" | |
| 718 | - range-separator="至" | |
| 719 | - start-placeholder="开始日期" | |
| 720 | - end-placeholder="结束日期"> | |
| 721 | - </el-date-picker> | |
| 722 | - </div> | |
| 723 | - <el-tabs type="border-card" @tab-click="xiaoguoTab"> | |
| 746 | + | |
| 747 | + <el-tabs type="border-card" > | |
| 724 | 748 | <el-tab-pane label="整体效果分析"> |
| 725 | 749 | <el-table :data="dataList" |
| 726 | 750 | :header-cell-style="{fontSize: '12px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}" |
| ... | ... | @@ -757,78 +781,6 @@ |
| 757 | 781 | </el-table-column> |
| 758 | 782 | </el-table> |
| 759 | 783 | </el-tab-pane> |
| 760 | - <el-tab-pane label="纵向分析"> | |
| 761 | - <el-table :data="dataList" | |
| 762 | - :header-cell-style="{fontSize: '12px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}" | |
| 763 | - style="width: 100%"> | |
| 764 | - <el-table-column label="主题" width="auto" min-width="12%" align="center"> | |
| 765 | - <template slot-scope="scope"> | |
| 766 | - {{scope.$index + 1}} | |
| 767 | - </template> | |
| 768 | - </el-table-column> | |
| 769 | - <el-table-column label="环比比较" width="auto" min-width="15%" align="center"> | |
| 770 | - <template slot-scope="scope"> | |
| 771 | - {{scope.$index + 1}} | |
| 772 | - </template> | |
| 773 | - </el-table-column> | |
| 774 | - <el-table-column label="增长量" width="auto" min-width="15%" align="center"> | |
| 775 | - <template slot-scope="scope"> | |
| 776 | - {{scope.$index + 1}} | |
| 777 | - </template> | |
| 778 | - </el-table-column> | |
| 779 | - <el-table-column label="增长率" prop="name" width="auto" min-width="15%"> | |
| 780 | - <template slot-scope="scope"> | |
| 781 | - {{scope.row.name}} | |
| 782 | - </template> | |
| 783 | - </el-table-column> | |
| 784 | - <el-table-column label="投入总金额" prop="name" width="auto" min-width="15%"> | |
| 785 | - <template slot-scope="scope"> | |
| 786 | - {{scope.row.name}} | |
| 787 | - </template> | |
| 788 | - </el-table-column> | |
| 789 | - <el-table-column label="投入产出比" prop="name" width="auto" min-width="15%"> | |
| 790 | - <template slot-scope="scope"> | |
| 791 | - {{scope.row.name}} | |
| 792 | - </template> | |
| 793 | - </el-table-column> | |
| 794 | - </el-table> | |
| 795 | - </el-tab-pane> | |
| 796 | - <el-tab-pane label="横向分析"> | |
| 797 | - <el-table :data="dataList" | |
| 798 | - :header-cell-style="{fontSize: '12px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}" | |
| 799 | - style="width: 100%"> | |
| 800 | - <el-table-column label="主题" width="auto" min-width="12%" align="center"> | |
| 801 | - <template slot-scope="scope"> | |
| 802 | - {{scope.$index + 1}} | |
| 803 | - </template> | |
| 804 | - </el-table-column> | |
| 805 | - <el-table-column label="环比比较" width="auto" min-width="15%" align="center"> | |
| 806 | - <template slot-scope="scope"> | |
| 807 | - {{scope.$index + 1}} | |
| 808 | - </template> | |
| 809 | - </el-table-column> | |
| 810 | - <el-table-column label="增长量" width="auto" min-width="15%" align="center"> | |
| 811 | - <template slot-scope="scope"> | |
| 812 | - {{scope.$index + 1}} | |
| 813 | - </template> | |
| 814 | - </el-table-column> | |
| 815 | - <el-table-column label="增长率" prop="name" width="auto" min-width="15%"> | |
| 816 | - <template slot-scope="scope"> | |
| 817 | - {{scope.row.name}} | |
| 818 | - </template> | |
| 819 | - </el-table-column> | |
| 820 | - <el-table-column label="投入总金额" prop="name" width="auto" min-width="15%"> | |
| 821 | - <template slot-scope="scope"> | |
| 822 | - {{scope.row.name}} | |
| 823 | - </template> | |
| 824 | - </el-table-column> | |
| 825 | - <el-table-column label="投入产出比" prop="name" width="auto" min-width="15%"> | |
| 826 | - <template slot-scope="scope"> | |
| 827 | - {{scope.row.name}} | |
| 828 | - </template> | |
| 829 | - </el-table-column> | |
| 830 | - </el-table> | |
| 831 | - </el-tab-pane> | |
| 832 | 784 | </el-tabs> |
| 833 | 785 | </div> |
| 834 | 786 | |
| ... | ... | @@ -1064,6 +1016,69 @@ |
| 1064 | 1016 | </el-button> |
| 1065 | 1017 | </div> |
| 1066 | 1018 | </el-dialog> |
| 1019 | + <el-dialog title="草稿箱" :visible.sync="caogaoshow" custom-class="dialog_css_Xq" | |
| 1020 | + style="padding: 0;" width="70%" center :close-on-click-modal="false" :show-close="false"> | |
| 1021 | + <div style="padding:20px;"> | |
| 1022 | + <div style="margin-bottom: 20px;"> | |
| 1023 | + <el-table :data="caoList" | |
| 1024 | + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 1025 | + align="left"> | |
| 1026 | + <el-table-column label="方案名称" width="300" prop="planName"> | |
| 1027 | + </el-table-column> | |
| 1028 | + <el-table-column label="类型" prop="planType" width="80"> | |
| 1029 | + </el-table-column> | |
| 1030 | + <el-table-column label="发布状态" width="80" > | |
| 1031 | + | |
| 1032 | + </el-table-column> | |
| 1033 | + <el-table-column label="审批状态" width="150"> | |
| 1034 | + <template slot-scope="scope"> | |
| 1035 | + {{scope.row.state == ''?'待提交':scope.row.state == '1'?'待审批':scope.row.state == '2'?'部门领导审批':scope.row.state == '3'?'公司领导审批':scope.row.state == '4'?'其他审批':scope.row.state == '5'?'审核通过':'已驳回'}} | |
| 1036 | + </template> | |
| 1037 | + </el-table-column> | |
| 1038 | + <el-table-column label="修改时间" prop="createDate"width="250" > | |
| 1039 | + </el-table-column> | |
| 1040 | + <el-table-column prop="createUser" label="上传人员" width="80"> | |
| 1041 | + | |
| 1042 | + </el-table-column> | |
| 1043 | + <el-table-column label="操作" width="350"> | |
| 1044 | + <template slot-scope="scope"> | |
| 1045 | + <div @click="shiyong(scope.row)" class="tableBtn greens">使用</div> | |
| 1046 | + <!-- <div @click="actBian(scope.row)" class="tableBtn greens" v-if="scope.row.state == ''">修改</div> --> | |
| 1047 | + <div @click="handleDelete(scope.row)" class="tableBtn greens">删除</div> | |
| 1048 | + </template> | |
| 1049 | + </el-table-column> | |
| 1050 | + </el-table> | |
| 1051 | + </div> | |
| 1052 | + <div style="display: flex;justify-content: flex-end;"> | |
| 1053 | + <el-button @click="caogaoshow=false" | |
| 1054 | + class="buttonHover" | |
| 1055 | + style="background-color: #fff;color: #000;border: 1px solid #dcdfe6;">返回</el-button> | |
| 1056 | + </div> | |
| 1057 | + </div> | |
| 1058 | + | |
| 1059 | + </el-dialog> | |
| 1060 | + <el-dialog :visible.sync="peiShow" custom-class='bian_css' style="padding: 0;" width="45%" | |
| 1061 | + :close-on-press-escape="false" center :close-on-click-modal="false" class="dialog_css_Xq" :show-close="false"> | |
| 1062 | + <div style="padding:20px;"> | |
| 1063 | + <div style="font-size: 14px;padding-bottom: 20px;color: #000;">审核流程配置</div> | |
| 1064 | + <el-form label-position="right" ref="jibenFrom" :model="peiForm" label-width="140px" | |
| 1065 | + style="position: relative"> | |
| 1066 | + <el-form-item label="审核提醒时间" class="grid-content bg-purple device-from" prop="planName"> | |
| 1067 | + <el-date-picker style="width:240px;margin-right:5px" v-model="peiForm.auditReminderTime" | |
| 1068 | + value-format="yyyy-MM-dd HH:mm:ss" type="datetime" prefix-icon="none" > | |
| 1069 | + </el-date-picker> | |
| 1070 | + </el-form-item> | |
| 1071 | + </el-form> | |
| 1072 | + <div style="padding-top:20px;display:flex;justify-content: flex-end;"> | |
| 1073 | + <el-button style="background-color: #3F9B6A;color: #fff" | |
| 1074 | + @click="peiCheck">确定</el-button> | |
| 1075 | + <el-button @click="peiShow = false" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" class="buttonHover">取消</el-button> | |
| 1076 | + | |
| 1077 | + </div> | |
| 1078 | + | |
| 1079 | + </div> | |
| 1080 | + | |
| 1081 | + </el-dialog> | |
| 1067 | 1082 | <addAct :showAdd="addAct" @childClose='childClose' :fenleiName="cascaderList"></addAct> |
| 1068 | 1083 | <atmbians :showBian="atmbianMsg" @BianchildClose='BianchildClose' ></atmbians> |
| 1069 | 1084 | </div> |
| ... | ... | @@ -1087,15 +1102,24 @@ |
| 1087 | 1102 | cereGet, |
| 1088 | 1103 | cereAdd, |
| 1089 | 1104 | cereEdit, |
| 1090 | - cereDel | |
| 1105 | + cereDel, | |
| 1106 | + excelQueryByPage, | |
| 1107 | + excelAdd, | |
| 1108 | + effectEvaluation | |
| 1091 | 1109 | } from '../../api/activityBz' |
| 1092 | 1110 | import addAct from "./atmosphereBz" |
| 1093 | 1111 | import atmbians from "./atmosphereBian" |
| 1094 | 1112 | import * as echarts from 'echarts' |
| 1095 | 1113 | import Vue from 'vue' |
| 1114 | + import html2canvas from 'html2canvas' | |
| 1115 | + import jsPDF from 'jspdf' | |
| 1116 | + import wangEditor from "@/components/editor/index" | |
| 1117 | + import { | |
| 1118 | + uploadUrl | |
| 1119 | + } from '@/utils/request' | |
| 1096 | 1120 | export default { |
| 1097 | 1121 | name: 'atmosphereGl', |
| 1098 | -components: { addAct,atmbians}, | |
| 1122 | +components: { addAct,atmbians,wangEditor}, | |
| 1099 | 1123 | data() { |
| 1100 | 1124 | return { |
| 1101 | 1125 | addAct:false,//新增页 |
| ... | ... | @@ -1103,11 +1127,12 @@ components: { addAct,atmbians}, |
| 1103 | 1127 | acBian:'',//编辑数据 |
| 1104 | 1128 | bianshow:false,//编辑页 |
| 1105 | 1129 | }, |
| 1130 | + fenxiData:{}, | |
| 1106 | 1131 | planName:'', |
| 1107 | 1132 | planFen:'', |
| 1108 | 1133 | eventTheme:'', |
| 1109 | 1134 | currentPage: 1, |
| 1110 | - total: 100, | |
| 1135 | + total: 0, | |
| 1111 | 1136 | flag: false, |
| 1112 | 1137 | pageSize: 10, |
| 1113 | 1138 | ggXin: false, |
| ... | ... | @@ -1161,9 +1186,11 @@ components: { addAct,atmbians}, |
| 1161 | 1186 | text: '活动主要目的', |
| 1162 | 1187 | eventTheme: '' |
| 1163 | 1188 | },{ |
| 1164 | - id: '5', | |
| 1165 | - name: '状态', | |
| 1166 | - eventTheme: '待审核' | |
| 1189 | + id:0, | |
| 1190 | + name: '范围设置', | |
| 1191 | + planName: '', | |
| 1192 | + text: '状态', | |
| 1193 | + eventTheme: '' | |
| 1167 | 1194 | }], |
| 1168 | 1195 | internalLaborCostEstimation:'', |
| 1169 | 1196 | externalLaborCostEstimation:'', |
| ... | ... | @@ -1243,7 +1270,8 @@ components: { addAct,atmbians}, |
| 1243 | 1270 | pageindex: { |
| 1244 | 1271 | pageNumber: 1, |
| 1245 | 1272 | pageSize: 10, |
| 1246 | - dataOwnership:'2' | |
| 1273 | + dataOwnership:'2', | |
| 1274 | + isDraft:0 | |
| 1247 | 1275 | }, |
| 1248 | 1276 | multipleSelection:[],//选择的数据 |
| 1249 | 1277 | options: [], |
| ... | ... | @@ -1258,8 +1286,6 @@ components: { addAct,atmbians}, |
| 1258 | 1286 | xiaoguoBox:false, |
| 1259 | 1287 | chart: null, //饼图 |
| 1260 | 1288 | chart1: null, //漏斗图 |
| 1261 | - radio1:'', | |
| 1262 | - radio1_time:'', | |
| 1263 | 1289 | dataList:[], |
| 1264 | 1290 | xinlei:false,//分类管理框 |
| 1265 | 1291 | fenleiDelId:null,//删除的分类ID |
| ... | ... | @@ -1282,7 +1308,19 @@ components: { addAct,atmbians}, |
| 1282 | 1308 | }, |
| 1283 | 1309 | copyShow:false, |
| 1284 | 1310 | duibiOne:{}, |
| 1285 | - duibiTwo:{} | |
| 1311 | + duibiTwo:{}, | |
| 1312 | + uploadFileUrl: uploadUrl, // 请求地址 | |
| 1313 | + daoData:[], | |
| 1314 | + fileData:[], | |
| 1315 | + caoList:[], | |
| 1316 | + caogaoshow:false, | |
| 1317 | + peiForm:{ | |
| 1318 | + auditReminderTime:'' | |
| 1319 | + }, | |
| 1320 | + peiShow:false, | |
| 1321 | + peiId:'', | |
| 1322 | + zhixingqingk:'' | |
| 1323 | + | |
| 1286 | 1324 | } |
| 1287 | 1325 | }, |
| 1288 | 1326 | created() { |
| ... | ... | @@ -1312,7 +1350,7 @@ components: { addAct,atmbians}, |
| 1312 | 1350 | //查询全数据 |
| 1313 | 1351 | async getAll() { |
| 1314 | 1352 | const res = await queryByPage((this.pageindex)) |
| 1315 | - console.log(res.data) | |
| 1353 | + | |
| 1316 | 1354 | this.tableData = res.data.content |
| 1317 | 1355 | this.total = res.data.content.length |
| 1318 | 1356 | let page = { |
| ... | ... | @@ -1342,12 +1380,13 @@ components: { addAct,atmbians}, |
| 1342 | 1380 | })); |
| 1343 | 1381 | }, |
| 1344 | 1382 | async handleNodeClick(data){ |
| 1345 | - console.log('Node clicked:', data); | |
| 1383 | + | |
| 1346 | 1384 | let pageindex= { |
| 1347 | 1385 | pageNumber: 1, |
| 1348 | 1386 | pageSize: 10, |
| 1349 | 1387 | dataOwnership: '2', |
| 1350 | - classificationCode:data.id | |
| 1388 | + classificationCode:data.id, | |
| 1389 | + isDraft:0 | |
| 1351 | 1390 | } |
| 1352 | 1391 | const res = await queryByPage(pageindex) |
| 1353 | 1392 | this.tableData = res.data.content |
| ... | ... | @@ -1357,7 +1396,8 @@ components: { addAct,atmbians}, |
| 1357 | 1396 | this.pageindex={ |
| 1358 | 1397 | pageNumber: 1, |
| 1359 | 1398 | pageSize: 10, |
| 1360 | - dataOwnership: '2' | |
| 1399 | + dataOwnership: '2', | |
| 1400 | + isDraft:0 | |
| 1361 | 1401 | } |
| 1362 | 1402 | const res = await queryByPage(this.pageindex) |
| 1363 | 1403 | this.tableData = res.data.content |
| ... | ... | @@ -1404,13 +1444,13 @@ components: { addAct,atmbians}, |
| 1404 | 1444 | //查询 |
| 1405 | 1445 | async onSubmit(){ |
| 1406 | 1446 | if(this.planName != '' && this.eventTheme == ''){ |
| 1407 | - const res = await danqueryById({planName:this.planName,dataOwnership:'2', pageNumber: 1,pageSize: 10,}) | |
| 1447 | + const res = await danqueryById({planName:this.planName,dataOwnership:'2', pageNumber: 1,pageSize: 10, auditTime:0,isDraft:0}) | |
| 1408 | 1448 | this.tableData = res.data.content |
| 1409 | 1449 | }else if(this.planName == '' && this.eventTheme != ''){ |
| 1410 | - const res = await danqueryById({eventTheme:this.eventTheme,dataOwnership:'2',pageNumber: 1,pageSize: 10,}) | |
| 1450 | + const res = await danqueryById({eventTheme:this.eventTheme,dataOwnership:'2',pageNumber: 1,pageSize: 10, auditTime:0,isDraft:0}) | |
| 1411 | 1451 | this.tableData = res.data.content |
| 1412 | 1452 | }else{ |
| 1413 | - const res = await danqueryById({planName:this.planName,eventTheme:this.eventTheme,dataOwnership:'2',pageNumber: 1,pageSize: 10, }) | |
| 1453 | + const res = await danqueryById({planName:this.planName,eventTheme:this.eventTheme,dataOwnership:'2',pageNumber: 1,pageSize: 10, auditTime:0 ,isDraft:0}) | |
| 1414 | 1454 | this.tableData = res.data.content |
| 1415 | 1455 | } |
| 1416 | 1456 | |
| ... | ... | @@ -1432,7 +1472,9 @@ components: { addAct,atmbians}, |
| 1432 | 1472 | }, |
| 1433 | 1473 | //执行效果保存 |
| 1434 | 1474 | async bianji() { |
| 1435 | - console.log(this.zhiXing) | |
| 1475 | + if(this.fileData.length !=0){ | |
| 1476 | + this.zhixingList.feedbackContent = this.fileData[0].url | |
| 1477 | + } | |
| 1436 | 1478 | if(this.zhiXing){ |
| 1437 | 1479 | this.zhixingList.eventStartTime = this.zhixingList.planTime[0] |
| 1438 | 1480 | this.zhixingList.eventEndTime=this.zhixingList.planTime[1] |
| ... | ... | @@ -1453,7 +1495,11 @@ components: { addAct,atmbians}, |
| 1453 | 1495 | this.getAll() |
| 1454 | 1496 | }, |
| 1455 | 1497 | //详情点击 |
| 1456 | - handleEditForm(item) { | |
| 1498 | + handleEditForm(item,val) { | |
| 1499 | + if(val ==2){ | |
| 1500 | + this.activeName = 'five' | |
| 1501 | + } | |
| 1502 | + this.fileData = [] | |
| 1457 | 1503 | this.zhixingList={ |
| 1458 | 1504 | planTime: [], |
| 1459 | 1505 | planName: '', //活动名称 |
| ... | ... | @@ -1535,8 +1581,8 @@ components: { addAct,atmbians}, |
| 1535 | 1581 | that.tableData1[2].planName = res.data.content[0].sponsor |
| 1536 | 1582 | that.tableData1[3].eventTheme = res.data.content[0].participants |
| 1537 | 1583 | that.tableData1[3].planName = res.data.content[0].mainPurpose |
| 1538 | - // that.tableData1[4].eventTheme = res.data.content[0].state | |
| 1539 | - that.tableData1[4].eventTheme = this.getStatus(res.data.content[0].state) | |
| 1584 | + that.tableData1[4].planName = this.getStatus(res.data.content[0].state) | |
| 1585 | + that.tableData1[4].eventTheme = res.data.content[0].rangeSetting | |
| 1540 | 1586 | //活动成本信息 |
| 1541 | 1587 | that.internalLaborCostEstimation=res.data.content[0].internalLaborCostEstimation |
| 1542 | 1588 | that.externalLaborCostEstimation=res.data.content[0].externalLaborCostEstimation |
| ... | ... | @@ -1720,7 +1766,7 @@ that.expectedAttractTraffic=res.data.content[0].expectedAttractTraffic |
| 1720 | 1766 | this.$msgbox({ |
| 1721 | 1767 | title: '消息', |
| 1722 | 1768 | message: h('p', null, [ |
| 1723 | - h('span', null, '是否上传到OA '), | |
| 1769 | + h('span', null, '是否提交审核 '), | |
| 1724 | 1770 | ]), |
| 1725 | 1771 | showCancelButton: true, |
| 1726 | 1772 | showClose:false, |
| ... | ... | @@ -1746,6 +1792,9 @@ that.expectedAttractTraffic=res.data.content[0].expectedAttractTraffic |
| 1746 | 1792 | } |
| 1747 | 1793 | }, |
| 1748 | 1794 | xiaoguo(item) { |
| 1795 | + effectEvaluation({id:item.id}).then(res=>{ | |
| 1796 | + this.fenxiData = res.data | |
| 1797 | + }) | |
| 1749 | 1798 | this.xiaoguoBox = true |
| 1750 | 1799 | this.$nextTick(() => { |
| 1751 | 1800 | this.shopLiu(this.$refs.shopL); |
| ... | ... | @@ -2013,6 +2062,138 @@ that.expectedAttractTraffic=res.data.content[0].expectedAttractTraffic |
| 2013 | 2062 | } |
| 2014 | 2063 | |
| 2015 | 2064 | }, |
| 2065 | + handleUploadSuccess(response, file, fileList) { | |
| 2066 | + const fileMsg = { | |
| 2067 | + name:file.name, | |
| 2068 | + url: file.response.data.url, | |
| 2069 | + } | |
| 2070 | + // 将文件地址存储在 uploadedFiles 数组中 | |
| 2071 | + this.fileData.push(fileMsg); | |
| 2072 | + }, | |
| 2073 | + handleRemove(){ | |
| 2074 | +this.fileData=[] | |
| 2075 | + }, | |
| 2076 | + daoru(response, file, fileList){ | |
| 2077 | + this.daoData.push(file.raw) | |
| 2078 | + const formDate = new FormData() | |
| 2079 | + formDate.append('file', this.daoData[0]) | |
| 2080 | + excelAdd(formDate).then(res => { | |
| 2081 | + this.getAll() | |
| 2082 | + }) | |
| 2083 | + }, | |
| 2084 | + caogao(){ | |
| 2085 | + let pageindex = { | |
| 2086 | + pageNumber: 1, | |
| 2087 | + pageSize: 10, | |
| 2088 | + dataOwnership: '2', | |
| 2089 | + isDraft:1 | |
| 2090 | + } | |
| 2091 | + queryByPage(pageindex).then(res=>{ | |
| 2092 | + this.caoList = res.data.content | |
| 2093 | + }) | |
| 2094 | + this.caogaoshow =true | |
| 2095 | + | |
| 2096 | + }, | |
| 2097 | + shiyong(item){ | |
| 2098 | + | |
| 2099 | + const h = this.$createElement; | |
| 2100 | + this.$msgbox({ | |
| 2101 | + title: '消息', | |
| 2102 | + message: h('p', null, [ | |
| 2103 | + h('span', null, '是否使用 '), | |
| 2104 | + ]), | |
| 2105 | + showCancelButton: true, | |
| 2106 | + showClose: false, | |
| 2107 | + confirmButtonText: '确定', | |
| 2108 | + cancelButtonText: '取消', | |
| 2109 | + customClass: 'oe-dialog-btn', | |
| 2110 | + beforeClose: (action, instance, done) => { | |
| 2111 | + if (action === 'confirm') { | |
| 2112 | + xiangedit({ | |
| 2113 | + id: item.id, | |
| 2114 | + draftStatus:1, | |
| 2115 | + isDraft:0 | |
| 2116 | + }).then(res => { | |
| 2117 | + this.getAll() | |
| 2118 | + this.caogao() | |
| 2119 | + done(); | |
| 2120 | + }) | |
| 2121 | + } else { | |
| 2122 | + done(); | |
| 2123 | + } | |
| 2124 | + } | |
| 2125 | + }) | |
| 2126 | + | |
| 2127 | + | |
| 2128 | + }, | |
| 2129 | + async daochu(){ | |
| 2130 | + let res = await excelQueryByPage(this.pageindex) | |
| 2131 | + if(!res){ | |
| 2132 | + return | |
| 2133 | + } | |
| 2134 | + const blob = new Blob([res], { type: 'application/vnd.ms-excel' }) | |
| 2135 | + const fileName = '审核流程.xls' | |
| 2136 | + if ('download' in document.createElement('a')) { | |
| 2137 | + // 非IE下载 | |
| 2138 | + const elink = document.createElement('a') | |
| 2139 | + elink.download = fileName | |
| 2140 | + elink.style.display = 'none' | |
| 2141 | + elink.href = URL.createObjectURL(blob) | |
| 2142 | + document.body.appendChild(elink) | |
| 2143 | + elink.click() | |
| 2144 | + URL.revokeObjectURL(elink.href) // 释放URL 对象 | |
| 2145 | + document.body.removeChild(elink) | |
| 2146 | + } else { | |
| 2147 | + // IE10+下载 | |
| 2148 | + navigator.msSaveBlob(blob, fileName) | |
| 2149 | + } | |
| 2150 | + this.$message({ | |
| 2151 | + message: '导出成功', | |
| 2152 | + type: 'success' | |
| 2153 | + }) | |
| 2154 | + | |
| 2155 | + | |
| 2156 | + }, | |
| 2157 | + // 下载 | |
| 2158 | + async downloadPdf() { | |
| 2159 | + const content = this.$refs.actXiang; | |
| 2160 | + | |
| 2161 | + // 使用 html2canvas 将 div 渲染为画布 | |
| 2162 | + const canvas = await html2canvas(content); | |
| 2163 | + | |
| 2164 | + // 获取画布的图像数据 | |
| 2165 | + const imgData = canvas.toDataURL('image/png'); | |
| 2166 | + | |
| 2167 | + // 创建一个新的 PDF 文档 | |
| 2168 | + const pdf = new jsPDF('p', 'mm', 'a4'); | |
| 2169 | + | |
| 2170 | + // 添加图像到 PDF,第二个参数是图像格式,第三个参数是缩放比例 | |
| 2171 | + const imgWidth = 190; // 图像的宽度(mm) | |
| 2172 | + const imgHeight = (canvas.height * imgWidth) / canvas.width; // 保持图像的宽高比 | |
| 2173 | + | |
| 2174 | + pdf.addImage(imgData, 'PNG', 10, 10, imgWidth, imgHeight); // 10, 10 是图像在 PDF 中的位置(mm) | |
| 2175 | + | |
| 2176 | + // 保存 PDF 文件 | |
| 2177 | + pdf.save('氛围方案.pdf'); | |
| 2178 | + }, | |
| 2179 | + peizhi(item){ | |
| 2180 | + this.peiForm = { | |
| 2181 | + auditTime:'' | |
| 2182 | + } | |
| 2183 | + this.peiShow = true | |
| 2184 | + this.peiId = item.id | |
| 2185 | + }, | |
| 2186 | + async peiCheck(){ | |
| 2187 | + if(this.peiForm.auditReminderTime ==''){ | |
| 2188 | + this.$message({ | |
| 2189 | + message: '请填写审核提醒时间', | |
| 2190 | + }) | |
| 2191 | + return; | |
| 2192 | + } | |
| 2193 | + await xiangedit({id:this.peiId,auditReminderTime:this.peiForm.auditReminderTime}) | |
| 2194 | + this.peiShow = false | |
| 2195 | + this.getAll() | |
| 2196 | + }, | |
| 2016 | 2197 | } |
| 2017 | 2198 | } |
| 2018 | 2199 | </script> |
| ... | ... | @@ -2041,7 +2222,10 @@ that.expectedAttractTraffic=res.data.content[0].expectedAttractTraffic |
| 2041 | 2222 | line-height: 0; |
| 2042 | 2223 | } |
| 2043 | 2224 | |
| 2044 | - | |
| 2225 | +.tableBtn { | |
| 2226 | + display: inline-block; | |
| 2227 | + margin-right: 10px; | |
| 2228 | +} | |
| 2045 | 2229 | .formSearch { |
| 2046 | 2230 | display: flex; |
| 2047 | 2231 | width: 100%; | ... | ... |
admin-web-master/src/views/atmosphere/atmosphereGl副本.vue
admin-web-master/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,1,false)">调整方案查看</div> | |
| 101 | + <div class="tableBtn greens" @click="handleEditForm(scope.row,2,false)">执行情况</div> | |
| 102 | + <div class="tableBtn greens" @click="handleEditForm(scope.row,2,true)">策划方案编辑</div> | |
| 103 | + <div class="tableBtn greens" @click="handleEditForm(scope.row,3,false)">历史方案查看</div> | |
| 104 | + <div class="tableBtn greens" @click="actDelete(scope.row)">删除</div> | |
| 105 | + | |
| 106 | + <!-- <div class="tableBtn greens" @click="handleEditForm(scope.row)">历史方案查看</div> --> | |
| 107 | + | |
| 108 | + <!-- <div class="tableBtn greens">策略调整</div> --> | |
| 109 | + <!-- <div class="tableBtn greens" @click="koop(scope.row)">复制</div> --> | |
| 110 | + </template> | |
| 111 | + </el-table-column> | |
| 112 | +</el-table> | |
| 113 | +<div class="fenye"> | |
| 114 | + <div> | |
| 115 | + <el-button @click="tableAll" class="buttonHover" style="color: #000;border: 1px solid #DBDBDB;background-color: #fff;">选择全部 | |
| 116 | + </el-button> | |
| 117 | + <el-button @click="toggleSelection(tableData)" | |
| 118 | + class="buttonHover" | |
| 119 | + style="color: #000;border: 1px solid #DBDBDB;background-color: #fff;">反向选择 | |
| 120 | + </el-button> | |
| 121 | + </div> | |
| 122 | + <el-pagination class="pagination" :hide-on-single-page="flag" background small :current-page="currentPage" | |
| 123 | + :page-size="pageSize" layout="prev,pager,next" :total="total" | |
| 124 | + @current-change="handleCurrentChange" /> | |
| 125 | +</div> | |
| 126 | + | |
| 127 | +</div> | |
| 128 | +</div> | |
| 129 | +</div> | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | +<!-- 详情氛围方案 --> | |
| 134 | +<el-dialog title="氛围方案详情" :visible.sync="ggXin" custom-class='xiang_css' style="padding: 0;" width="80%" center | |
| 135 | + :close-on-click-modal="false" :close-on-press-escape="false" @close="refreshData"> | |
| 136 | + <div ref="actXiang"> | |
| 137 | + <div style="width: 100%;"> | |
| 138 | + <div style="display: flex;padding:0px 20px 20px 20px; "> | |
| 139 | + <div style="width: 150px;height: 80px;" v-if="secondData.coverPoster"> | |
| 140 | + <img :src="secondData.coverPoster" alt="" style="width: 100%;height: 80px;" /> | |
| 141 | + </div> | |
| 142 | + <div | |
| 143 | + style="display: flex;flex-direction: column;justify-content: space-around;padding: 0 10px;font-size: 12px;"> | |
| 144 | + <span style="margin-bottom: 10px;">{{text}}</span> | |
| 145 | + <span>氛围时间:{{tableData1[1].eventTheme}}至{{tableData1[1].planName}}</span> | |
| 146 | + <span>氛围地点:{{tableData1[0].planName}}</span> | |
| 147 | + </div> | |
| 148 | + </div> | |
| 149 | + </div> | |
| 150 | + <div style="width: 100%;background-color: #fff;"> | |
| 151 | + <el-tabs v-model="activeName" @tab-click="handleClick" style="padding-left:20px;"> | |
| 152 | + <el-tab-pane label="方案概况" name="first"></el-tab-pane> | |
| 153 | + <el-tab-pane label="执行效果" name="second"></el-tab-pane> | |
| 154 | + <el-tab-pane label="历史氛围方案" name="fourd"></el-tab-pane> | |
| 155 | + <el-tab-pane label="执行情况" name="five"></el-tab-pane> | |
| 156 | + </el-tabs> | |
| 157 | + </div> | |
| 158 | + <div v-if="activeName=='first'" style="display: flex;"> | |
| 159 | + <div style="width: 100%;"> | |
| 160 | + <div style="width: 100%;"> | |
| 161 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">基本信息</div> | |
| 162 | + <div style="padding: 10px 20px;"> | |
| 163 | + <el-table :data="tableData1" | |
| 164 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}" | |
| 165 | + style="width: 100%;margin: auto;"> | |
| 166 | + <el-table-column class-name="first-column-bg" label="方案编号" prop="name" min-width="15%"> | |
| 167 | + </el-table-column> | |
| 168 | + <el-table-column :label="id" prop="eventTheme" min-width="35%"> | |
| 169 | + | |
| 170 | + </el-table-column> | |
| 171 | + <el-table-column class-name="first-column-bg" label="方案名称" prop="text" min-width="15%"> | |
| 172 | + | |
| 173 | + </el-table-column> | |
| 174 | + <el-table-column :label="text" prop="planName" min-width="35%"> | |
| 175 | + | |
| 176 | + </el-table-column> | |
| 177 | + </el-table> | |
| 178 | + | |
| 179 | + | |
| 180 | + </div> | |
| 181 | + </div> | |
| 182 | + <div style="width: 100%;"> | |
| 183 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">氛围明细信息</div> | |
| 184 | + <div style="padding: 10px 20px;"> | |
| 185 | + <el-table :data="tableData2" | |
| 186 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}" | |
| 187 | + style="width: 100%;margin: auto;"> | |
| 188 | + <el-table-column label="序号" min-width="5%" align='center'> | |
| 189 | + <template slot-scope="scope"> | |
| 190 | + <span style="">{{ scope.$index +1}}</span> | |
| 191 | + </template> | |
| 192 | + </el-table-column> | |
| 193 | + <el-table-column label="明细项名称" prop="detailLtemName" min-width="28%"> | |
| 194 | + </el-table-column> | |
| 195 | + <el-table-column label="预估数量" prop="estimatedQuantity" min-width="20%"> | |
| 196 | + | |
| 197 | + </el-table-column> | |
| 198 | + <el-table-column label="预估费用" prop="estimatedCost" min-width="20%"> | |
| 199 | + | |
| 200 | + </el-table-column> | |
| 201 | + <el-table-column label="备注" prop="notes" min-width="20%"> | |
| 202 | + </el-table-column> | |
| 203 | + </el-table> | |
| 204 | + </div> | |
| 205 | + </div> | |
| 206 | + <div style="width: 100%;"> | |
| 207 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">氛围成本信息</div> | |
| 208 | + <div style="padding:10px 20px;"> | |
| 209 | + <el-table :data="tableData3" | |
| 210 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}" | |
| 211 | + style="width: 100%;margin: auto;"> | |
| 212 | + <el-table-column class-name="first-column-bg" label="内部人力成本预估" prop="name" min-width="15%"> | |
| 213 | + </el-table-column> | |
| 214 | + <el-table-column :label="internalLaborCostEstimation" prop="eventTheme" min-width="35%"> | |
| 215 | + | |
| 216 | + </el-table-column> | |
| 217 | + <el-table-column class-name="first-column-bg" label="外部人力成本预估" prop="text" min-width="15%"> | |
| 218 | + | |
| 219 | + </el-table-column> | |
| 220 | + <el-table-column :label="externalLaborCostEstimation" prop="planName" min-width="35%"> | |
| 221 | + | |
| 222 | + </el-table-column> | |
| 223 | + </el-table> | |
| 224 | + </div> | |
| 225 | + </div> | |
| 226 | + <div style="width: 100%;"> | |
| 227 | + <div style="font-size: 14px;padding:10px 20px 0px 20px;">预估效果</div> | |
| 228 | + <div style="padding:10px 20px;"> | |
| 229 | + <el-table :data="tableData4" | |
| 230 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}" | |
| 231 | + style="width: 100%;margin: auto;"> | |
| 232 | + <el-table-column class-name="first-column-bg" label="预计吸引流量" prop="name" min-width="15%"> | |
| 233 | + </el-table-column> | |
| 234 | + <el-table-column :label="expectedAttractTraffic" prop="eventTheme" min-width="35%"> | |
| 235 | + | |
| 236 | + </el-table-column> | |
| 237 | + <el-table-column class-name="first-column-bg" label="预计参与人数" prop="text" min-width="15%"> | |
| 238 | + | |
| 239 | + </el-table-column> | |
| 240 | + <el-table-column :label="expectedParticipation" prop="planName" min-width="35%"> | |
| 241 | + | |
| 242 | + </el-table-column> | |
| 243 | + </el-table> | |
| 244 | + </el-table-column> | |
| 245 | + </div> | |
| 246 | + </div> | |
| 247 | + <div style="width: 100%;"> | |
| 248 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">相关附件信息</div> | |
| 249 | + <div style="padding:10px 20px;"> | |
| 250 | + <el-table :data="tableData6" | |
| 251 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}" | |
| 252 | + style="width: 100%;margin: auto;"> | |
| 253 | + <el-table-column label="序号" min-width="5%" align='center'> | |
| 254 | + <template slot-scope="scope"> | |
| 255 | + <span style="">{{ scope.$index + 1 }}</span> | |
| 256 | + </template> | |
| 257 | + </el-table-column> | |
| 258 | + <el-table-column label="附件名称" prop="attachmentName" min-width="75%"> | |
| 259 | + </el-table-column> | |
| 260 | + <el-table-column label="操作" min-width="20%"> | |
| 261 | + <template slot-scope="scope"> | |
| 262 | + <!-- <div class="tableBtn greens" @click="Down(scope.row)">下载</div> --> | |
| 263 | + <a class="tableBtn greens" :href="scope.row.attachmentUrl" target="_blank" download>下载</a> | |
| 264 | + </template> | |
| 265 | + </el-table-column> | |
| 266 | + | |
| 267 | + </el-table> | |
| 268 | + </div> | |
| 269 | + </div> | |
| 270 | + <div style="width: 100%;"> | |
| 271 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">系统信息</div> | |
| 272 | + <div style="padding:10px 20px;"> | |
| 273 | + <el-table :data="tableData5" | |
| 274 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}" | |
| 275 | + style="width: 100%;margin: auto;"> | |
| 276 | + <el-table-column class-name="first-column-bg" label="创建人" prop="name" min-width="15%"> | |
| 277 | + </el-table-column> | |
| 278 | + <el-table-column :label="createUser" prop="eventTheme" min-width="35%"> | |
| 279 | + | |
| 280 | + </el-table-column> | |
| 281 | + <el-table-column class-name="first-column-bg" label="创建时间" prop="text" min-width="15%"> | |
| 282 | + | |
| 283 | + </el-table-column> | |
| 284 | + <el-table-column :label="createDate" prop="planName" min-width="35%"> | |
| 285 | + | |
| 286 | + </el-table-column> | |
| 287 | + </el-table> | |
| 288 | + </div> | |
| 289 | + </div> | |
| 290 | + </div> | |
| 291 | + </div> | |
| 292 | + <div v-if="activeName=='second'"> | |
| 293 | + <div style="padding: 20px"> | |
| 294 | + <div style="border: solid 1px #E5E5E5;border-radius: 5px"> | |
| 295 | + <div style="border-bottom: 1px solid #E5E5E5;padding: 1px"> | |
| 296 | + <div style="padding: 10px 20px;background-color: #FAFAFA;font-size: 14px;"> | |
| 297 | + 基本信息 | |
| 298 | + </div> | |
| 299 | + </div> | |
| 300 | + <div style="padding: 20px 40px 20px 20px"> | |
| 301 | + <el-form label-position="top" ref="ruleFormInfo" :model="zhixingList" label-width="120px" | |
| 302 | + style="position: relative"> | |
| 303 | + <el-row :gutter="20"> | |
| 304 | + <el-col :span="8"> | |
| 305 | + <el-form-item label="氛围名称" class="grid-content bg-purple device-from" prop="name"> | |
| 306 | + <el-input v-model="zhixingList.planName" placeholder="请输入" :disabled="!zhixingBian" /> | |
| 307 | + </el-form-item> | |
| 308 | + </el-col> | |
| 309 | + <el-col :span="8"> | |
| 310 | + <el-form-item label="实际举办地点" class="grid-content bg-purple" prop="name"> | |
| 311 | + <el-input v-model="zhixingList.eventAddrs" placeholder="请输入" :disabled="!zhixingBian" /> | |
| 312 | + </el-form-item> | |
| 313 | + </el-col> | |
| 314 | + | |
| 315 | + <el-col :span="8"> | |
| 316 | + <el-form-item label="实际举办时间" class="grid-content bg-purple" prop="event_start_time" | |
| 317 | + style="position: relative"> | |
| 318 | + <el-date-picker style="width: 100%;" v-model="zhixingList.planTime" | |
| 319 | + @input="formTime" | |
| 320 | + value-format="yyyy-MM-dd HH:mm:ss" :disabled="!zhixingBian" type="datetimerange" | |
| 321 | + range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" align="right" | |
| 322 | + > | |
| 323 | + </el-date-picker> | |
| 324 | + </el-form-item> | |
| 325 | + </el-col> | |
| 326 | + </el-row> | |
| 327 | + | |
| 328 | + <el-row :gutter="20"> | |
| 329 | + <el-col :span="8"> | |
| 330 | + <el-form-item label="氛围主办方" class="grid-content bg-purple" prop="name"> | |
| 331 | + <el-input v-model="zhixingList.sponsor" placeholder="请输入" :disabled="!zhixingBian" /> | |
| 332 | + </el-form-item> | |
| 333 | + </el-col> | |
| 334 | + <el-col :span="8"> | |
| 335 | + <el-form-item label="氛围实际参与方" class="grid-content bg-purple" prop="name"> | |
| 336 | + <el-input v-model="zhixingList.participants" placeholder="请输入" :disabled="!zhixingBian" /> | |
| 337 | + </el-form-item> | |
| 338 | + </el-col> | |
| 339 | + </el-row> | |
| 340 | + </el-form> | |
| 341 | + </div> | |
| 342 | + </div> | |
| 343 | + </div> | |
| 344 | + <div style="padding: 0px 20px 20px 20px"> | |
| 345 | + <div style="border: solid 1px #E5E5E5;border-radius: 5px"> | |
| 346 | + <div style="border-bottom: 1px solid #E5E5E5;padding: 1px;display: flex"> | |
| 347 | + <div style="padding: 10px 20px;background-color: #FAFAFA;font-size: 14px;"> | |
| 348 | + 氛围明细信息 | |
| 349 | + </div> | |
| 350 | + <div style="color: #2d8a58;margin-top: 10px;font-size: 14px;" @click="tianMing"> | |
| 351 | + 添加明细 | |
| 352 | + </div> | |
| 353 | + </div> | |
| 354 | + <!-- 表格--> | |
| 355 | + <div style="padding: 20px 20px 20px 20px"> | |
| 356 | + <el-table :data="tableDa" | |
| 357 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}" | |
| 358 | + style="width: 100%"> | |
| 359 | + <el-table-column label="序号" width="auto" min-width="5%" prop="date" align="center"> | |
| 360 | + <template slot-scope="scope"> | |
| 361 | + {{scope.$index +1}} | |
| 362 | + </template> | |
| 363 | + </el-table-column> | |
| 364 | + <el-table-column label="明细项名称" prop="detailLtemName" width="auto" min-width="22%"> | |
| 365 | + | |
| 366 | + </el-table-column> | |
| 367 | + <el-table-column label="预估数量" prop="estimatedQuantity" width="auto" min-width="15%"> | |
| 368 | + | |
| 369 | + </el-table-column> | |
| 370 | + <el-table-column label="预估费用" prop="estimatedCost" width="auto" min-width="15%"> | |
| 371 | + </el-table-column> | |
| 372 | + <el-table-column prop="notes" label="备注" width="auto" min-width="15%"> | |
| 373 | + </el-table-column> | |
| 374 | + <el-table-column label="操作" width="auto" min-width="18%" v-if="zhixingBian"> | |
| 375 | + <template slot-scope="scope"> | |
| 376 | + <!-- <div class="tableBtn greens">详情</div> --> | |
| 377 | + <div class="tableBtn greens" @click="MingDelete(scope.$index,scope.row)">删除</div> | |
| 378 | + </template> | |
| 379 | + </el-table-column> | |
| 380 | + </el-table> | |
| 381 | + | |
| 382 | + </div> | |
| 383 | + </div> | |
| 384 | + </div> | |
| 385 | + <div style="padding: 20px"> | |
| 386 | + <div style="border: solid 1px #E5E5E5;border-radius: 5px;padding-bottom: 20px;"> | |
| 387 | + <div style="border-bottom: 1px solid #E5E5E5;padding: 1px"> | |
| 388 | + <div style="padding: 10px 20px;background-color: #FAFAFA;font-size: 14px;"> | |
| 389 | + 实际花费成本 | |
| 390 | + </div> | |
| 391 | + </div> | |
| 392 | + <div style="padding: 20px 40px 0px 20px"> | |
| 393 | + <el-form label-position="top" ref="ruleFormInfo" :model="zhixingList" label-width="120px" | |
| 394 | + style="position: relative"> | |
| 395 | + <el-row :gutter="20"> | |
| 396 | + <el-col :span="8"> | |
| 397 | + <el-form-item label="内部人力成本预估" class="grid-content bg-purple device-from" prop="name"> | |
| 398 | + <el-input v-model="zhixingList.internalLaborCostEstimation" placeholder="请输入" | |
| 399 | + :disabled="!zhixingBian" /> | |
| 400 | + </el-form-item> | |
| 401 | + </el-col> | |
| 402 | + <el-col :span="8"> | |
| 403 | + <el-form-item label="外部人力成本预估" class="grid-content bg-purple" prop="name"> | |
| 404 | + <el-input v-model="zhixingList.externalLaborCostEstimation" placeholder="请输入" | |
| 405 | + :disabled="!zhixingBian" /> | |
| 406 | + </el-form-item> | |
| 407 | + </el-col> | |
| 408 | + | |
| 409 | + <el-col :span="8"> | |
| 410 | + <el-form-item label="商品成本预估" class="grid-content bg-purple" prop="name"> | |
| 411 | + <el-input v-model="zhixingList.costEstimationGoods" placeholder="请输入" :disabled="!zhixingBian" /> | |
| 412 | + </el-form-item> | |
| 413 | + </el-col> | |
| 414 | + </el-row> | |
| 415 | + | |
| 416 | + <el-row :gutter="20"> | |
| 417 | + <el-col :span="8"> | |
| 418 | + <el-form-item label="设备成本" class="grid-content bg-purple" prop="name"> | |
| 419 | + <el-input v-model="zhixingList.setCostEstimate" placeholder="请输入" :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.estimatedPromotionalExpenses" placeholder="请输入" | |
| 425 | + :disabled="!zhixingBian" /> | |
| 426 | + </el-form-item> | |
| 427 | + </el-col> | |
| 428 | + <el-col :span="8"> | |
| 429 | + <el-form-item label="其他成本" class="grid-content bg-purple" prop="name"> | |
| 430 | + <el-input v-model="zhixingList.otherNecessaryEstimates" placeholder="请输入" | |
| 431 | + :disabled="!zhixingBian" /> | |
| 432 | + </el-form-item> | |
| 433 | + </el-col> | |
| 434 | + </el-row> | |
| 435 | + | |
| 436 | + <el-row :gutter="20"> | |
| 437 | + <el-col :span="8"> | |
| 438 | + <el-form-item label="总成本" prop="name" class="grid-content bg-purple"> | |
| 439 | + <el-input v-model="zhixingList.totalCostEstimation" placeholder="请输入" :disabled="!zhixingBian" /> | |
| 440 | + </el-form-item> | |
| 441 | + </el-col> | |
| 442 | + <el-col :span="16"> | |
| 443 | + <el-form-item label="备注" prop="name" class="grid-content bg-purple"> | |
| 444 | + <el-input v-model="zhixingList.notes" placeholder="请输入" :disabled="!zhixingBian" /> | |
| 445 | + </el-form-item> | |
| 446 | + </el-col> | |
| 447 | + </el-row> | |
| 448 | + </el-form> | |
| 449 | + </div> | |
| 450 | + </div> | |
| 451 | + </div> | |
| 452 | + | |
| 453 | + <div style="padding: 20px"> | |
| 454 | + <div style="border: solid 1px #E5E5E5;border-radius: 5px;padding-bottom: 20px;"> | |
| 455 | + <div style="border-bottom: 1px solid #E5E5E5;padding: 1px"> | |
| 456 | + <div style="padding: 10px 20px;background-color: #FAFAFA;font-size: 14px;"> | |
| 457 | + 氛围执行效果 | |
| 458 | + </div> | |
| 459 | + </div> | |
| 460 | + <div style="padding: 20px 40px 0px 20px"> | |
| 461 | + <el-form label-position="top" ref="ruleFormInfo" :model="zhixingList" label-width="120px" | |
| 462 | + style="position: relative"> | |
| 463 | + <el-row :gutter="20"> | |
| 464 | + <el-col :span="8"> | |
| 465 | + <el-form-item label="吸引流量" class="grid-content bg-purple device-from" prop="name"> | |
| 466 | + <el-input v-model="zhixingList.expectedAttractTraffic" placeholder="请输入" :disabled="!zhixingBian" /> | |
| 467 | + </el-form-item> | |
| 468 | + </el-col> | |
| 469 | + <el-col :span="8"> | |
| 470 | + <el-form-item label="参与人数" class="grid-content bg-purple" prop="name"> | |
| 471 | + <el-input v-model="zhixingList.expectedParticipation" placeholder="请输入" :disabled="!zhixingBian" /> | |
| 472 | + </el-form-item> | |
| 473 | + </el-col> | |
| 474 | + | |
| 475 | + <el-col :span="8"> | |
| 476 | + <el-form-item label="直接收益" class="grid-content bg-purple" prop="name"> | |
| 477 | + <el-input v-model="zhixingList.expectedDirectBenefits" placeholder="请输入" :disabled="!zhixingBian" /> | |
| 478 | + </el-form-item> | |
| 479 | + </el-col> | |
| 480 | + </el-row> | |
| 481 | + <el-row :gutter="20"> | |
| 482 | + <el-col :span="8"> | |
| 483 | + <el-form-item label="间接收益" class="grid-content bg-purple" prop="name"> | |
| 484 | + <el-input v-model="zhixingList.expectedIndirectBenefits" placeholder="请输入" | |
| 485 | + :disabled="!zhixingBian" /> | |
| 486 | + </el-form-item> | |
| 487 | + </el-col> | |
| 488 | + | |
| 489 | + </el-row> | |
| 490 | + <el-row :gutter="20"> | |
| 491 | + <el-col :span="24"> | |
| 492 | + <el-form-item label="反馈内容" class="grid-content bg-purple" prop="name"> | |
| 493 | + <el-upload class="upload-demo" ref="upload" :on-remove="handleRemove" | |
| 494 | + :action="uploadFileUrl" :on-success="handleUploadSuccess" :file-list="fileData" | |
| 495 | + :show-file-list="true" v-if="zhixingBian"> | |
| 496 | + <el-button style="background-color: #fff;color: #3F9B6A;border: 1px solid #dcdfe6;" class="buttonHover" v-if="fileData.length==0">+点击上传</el-button> | |
| 497 | + </el-upload> | |
| 498 | + <div v-else>{{zhixingList.feedbackContent}}</div> | |
| 499 | + </el-form-item> | |
| 500 | + </el-col> | |
| 501 | + | |
| 502 | + </el-row> | |
| 503 | + </el-form> | |
| 504 | + </div> | |
| 505 | + </div> | |
| 506 | + </div> | |
| 507 | + | |
| 508 | + </div> | |
| 509 | + <div v-if="activeName=='fourd'"> | |
| 510 | + <div style="display:flex;"> | |
| 511 | + <div style="margin-right:10px;">历史氛围策划方案搜索</div> | |
| 512 | + <el-select v-model="lishiList" placeholder="请选择" style="margin:0 20px 20px 20px;" @change="lichange"> | |
| 513 | + <el-option | |
| 514 | + v-for="(item,index) in liData" | |
| 515 | + :key="item.id" | |
| 516 | + :label="item.operationType" | |
| 517 | + :value="index"> | |
| 518 | + </el-option> | |
| 519 | + </el-select> | |
| 520 | + <el-button @click="tiaozheng" style="background-color: #3F9B6A;color: #fff" v-if="lishiList!=null" >调整对比 | |
| 521 | + </el-button> | |
| 522 | + </div> | |
| 523 | + <div style="width: 100%;" v-if="lishiList!=null" ref="lishiRef"> | |
| 524 | + <div style="width: 100%;"> | |
| 525 | + <div style="padding: 10px 20px;"> | |
| 526 | + <el-descriptions class="margin-top" title="基本信息" :column="2" border :labelStyle="labelStyle" > | |
| 527 | + <el-descriptions-item> | |
| 528 | + <template slot="label"> | |
| 529 | + 方案编号 | |
| 530 | + </template> | |
| 531 | + {{lixiang.id}} | |
| 532 | + </el-descriptions-item> | |
| 533 | + <el-descriptions-item> | |
| 534 | + <template slot="label"> | |
| 535 | + 方案名称 | |
| 536 | + </template> | |
| 537 | + | |
| 538 | + <span :style="duibiList.planName == lixiang.planName?'color: red':''" >{{lixiang.planName}}</span> | |
| 539 | + </el-descriptions-item> | |
| 540 | + <el-descriptions-item> | |
| 541 | + <template slot="label"> | |
| 542 | + 类型 | |
| 543 | + </template> | |
| 544 | +<span :style="duibiList.planType == lixiang.planType?'color: red':''" >{{lixiang.planType}}</span> | |
| 545 | + </el-descriptions-item> | |
| 546 | + <el-descriptions-item> | |
| 547 | + <template slot="label"> | |
| 548 | + 氛围地点 | |
| 549 | + </template> | |
| 550 | + | |
| 551 | + <span :style="duibiList.eventAddrs == lixiang.eventAddrs?'color: red':''" >{{lixiang.eventAddrs}}</span> | |
| 552 | + </el-descriptions-item> | |
| 553 | + <el-descriptions-item> | |
| 554 | + <template slot="label"> | |
| 555 | + 氛围开始时间 | |
| 556 | + </template> | |
| 557 | + | |
| 558 | + <span :style="duibiList.eventStartTime == lixiang.eventStartTime?'color: red':''" >{{lixiang.eventStartTime}}</span> | |
| 559 | + </el-descriptions-item> | |
| 560 | + <el-descriptions-item> | |
| 561 | + <template slot="label"> | |
| 562 | + 氛围结束时间 | |
| 563 | + </template> | |
| 564 | + | |
| 565 | +<span :style="duibiList.eventEndTime == lixiang.eventEndTime?'color: red':''" >{{lixiang.eventEndTime}}</span> | |
| 566 | + </el-descriptions-item> | |
| 567 | + <el-descriptions-item> | |
| 568 | + <template slot="label"> | |
| 569 | + 氛围主题 | |
| 570 | + </template> | |
| 571 | + <span :style="duibiList.eventTheme == lixiang.eventTheme?'color: red':''" >{{lixiang.eventTheme}}</span> | |
| 572 | + </el-descriptions-item> | |
| 573 | + <el-descriptions-item> | |
| 574 | + <template slot="label"> | |
| 575 | + 氛围主办方 | |
| 576 | + </template> | |
| 577 | +<span :style="duibiList.sponsor == lixiang.sponsor?'color: red':''" >{{lixiang.sponsor}}</span> | |
| 578 | + | |
| 579 | + </el-descriptions-item> | |
| 580 | + <el-descriptions-item> | |
| 581 | + <template slot="label"> | |
| 582 | + 氛围参与方 | |
| 583 | + </template> | |
| 584 | + | |
| 585 | +<span :style="duibiList.participants == lixiang.participants?'color: red':''" >{{lixiang.participants}}</span> | |
| 586 | + </el-descriptions-item> | |
| 587 | + <el-descriptions-item> | |
| 588 | + <template slot="label"> | |
| 589 | + 氛围主要目的 | |
| 590 | + </template> | |
| 591 | + | |
| 592 | +<span :style="duibiList.mainPurpose == lixiang.mainPurpose?'color: red':''" >{{lixiang.mainPurpose}}</span> | |
| 593 | + </el-descriptions-item> | |
| 594 | + <el-descriptions-item> | |
| 595 | + <template slot="label"> | |
| 596 | + 范围设置 | |
| 597 | + </template> | |
| 598 | + | |
| 599 | +<span :style="duibiList.rangeSetting == lixiang.rangeSetting?'color: red':''" >{{lixiang.rangeSetting}}</span> | |
| 600 | + </el-descriptions-item> | |
| 601 | + <el-descriptions-item> | |
| 602 | + <template slot="label"> | |
| 603 | + 状态 | |
| 604 | + </template> | |
| 605 | + | |
| 606 | +{{getStatus(lixiang.state)}} | |
| 607 | + | |
| 608 | + </el-descriptions-item> | |
| 609 | + </el-descriptions> | |
| 610 | + | |
| 611 | + </div> | |
| 612 | + </div> | |
| 613 | + <div style="width: 100%;"> | |
| 614 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">氛围明细信息</div> | |
| 615 | + <div style="padding: 10px 20px;"> | |
| 616 | + <el-table :data="tableData2" | |
| 617 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}" | |
| 618 | + style="width: 100%;margin: auto;"> | |
| 619 | + <el-table-column label="序号" min-width="5%" align='center'> | |
| 620 | + <template slot-scope="scope"> | |
| 621 | + <span style="">{{ scope.$index +1}}</span> | |
| 622 | + </template> | |
| 623 | + </el-table-column> | |
| 624 | + <el-table-column label="明细项名称" prop="detailLtemName" min-width="28%"> | |
| 625 | + </el-table-column> | |
| 626 | + <el-table-column label="预估数量" prop="estimatedQuantity" min-width="20%"> | |
| 627 | + | |
| 628 | + </el-table-column> | |
| 629 | + <el-table-column label="预估费用" prop="estimatedCost" min-width="20%"> | |
| 630 | + | |
| 631 | + </el-table-column> | |
| 632 | + <el-table-column label="备注" prop="notes" min-width="20%"> | |
| 633 | + </el-table-column> | |
| 634 | + </el-table> | |
| 635 | + </div> | |
| 636 | + </div> | |
| 637 | + <div style="width: 100%;"> | |
| 638 | + <div style="padding:10px 20px;"> | |
| 639 | + <el-descriptions class="margin-top" title="氛围成本信息" :column="2" border :labelStyle="labelStyle" > | |
| 640 | + <el-descriptions-item> | |
| 641 | + <template slot="label"> | |
| 642 | + 内部人力成本预估 | |
| 643 | + </template> | |
| 644 | + | |
| 645 | +<span :style="duibiList.internalLaborCostEstimation == lixiang.internalLaborCostEstimation?'color: red':''" >{{lixiang.internalLaborCostEstimation}}</span> | |
| 646 | + </el-descriptions-item> | |
| 647 | + <el-descriptions-item> | |
| 648 | + <template slot="label"> | |
| 649 | + 外部人力成本预估 | |
| 650 | + </template> | |
| 651 | + | |
| 652 | + <span :style="duibiList.externalLaborCostEstimation == lixiang.externalLaborCostEstimation?'color: red':''" >{{lixiang.externalLaborCostEstimation}}</span> | |
| 653 | + </el-descriptions-item> | |
| 654 | + <el-descriptions-item> | |
| 655 | + <template slot="label"> | |
| 656 | + 商品成本预估 | |
| 657 | + </template> | |
| 658 | + | |
| 659 | +<span :style="duibiList.costEstimationGoods == lixiang.costEstimationGoods?'color: red':''" >{{lixiang.costEstimationGoods}}</span> | |
| 660 | + </el-descriptions-item> | |
| 661 | + <el-descriptions-item> | |
| 662 | + <template slot="label"> | |
| 663 | + 设备成本预估 | |
| 664 | + </template> | |
| 665 | + | |
| 666 | +<span :style="duibiList.setCostEstimate == lixiang.setCostEstimate?'color: red':''" >{{lixiang.setCostEstimate}}</span> | |
| 667 | + </el-descriptions-item> | |
| 668 | + <el-descriptions-item> | |
| 669 | + <template slot="label"> | |
| 670 | + 宣传费用预估 | |
| 671 | + </template> | |
| 672 | + | |
| 673 | + <span :style="duibiList.estimatedPromotionalExpenses == lixiang.estimatedPromotionalExpenses?'color: red':''" >{{lixiang.estimatedPromotionalExpenses}}</span> | |
| 674 | + </el-descriptions-item> | |
| 675 | + <el-descriptions-item> | |
| 676 | + <template slot="label"> | |
| 677 | + 其他必要成本预估 | |
| 678 | + </template> | |
| 679 | + | |
| 680 | +<span :style="duibiList.otherNecessaryEstimates == lixiang.otherNecessaryEstimates?'color: red':''" >{{lixiang.otherNecessaryEstimates}}</span> | |
| 681 | + </el-descriptions-item> | |
| 682 | + <el-descriptions-item> | |
| 683 | + <template slot="label"> | |
| 684 | + 总成本预估 | |
| 685 | + </template> | |
| 686 | + | |
| 687 | +<span :style="duibiList.totalCostEstimation == lixiang.totalCostEstimation?'color: red':''" >{{lixiang.totalCostEstimation}}</span> | |
| 688 | + </el-descriptions-item> | |
| 689 | + <el-descriptions-item> | |
| 690 | + <template slot="label"> | |
| 691 | + 备注 | |
| 692 | + </template> | |
| 693 | + | |
| 694 | +<span :style="duibiList.notes == lixiang.notes?'color: red':''" >{{lixiang.notes}}</span> | |
| 695 | + </el-descriptions-item> | |
| 696 | + </el-descriptions> | |
| 697 | + </div> | |
| 698 | + </div> | |
| 699 | + <div style="width: 100%;"> | |
| 700 | + | |
| 701 | + <div style="padding:10px 20px;"> | |
| 702 | + <el-descriptions class="margin-top" title="预估效果" :column="2" border :labelStyle="labelStyle" > | |
| 703 | + <el-descriptions-item> | |
| 704 | + <template slot="label"> | |
| 705 | + 预计吸引流量 | |
| 706 | + </template> | |
| 707 | + | |
| 708 | +<span :style="duibiList.expectedAttractTraffic == lixiang.expectedAttractTraffic?'color: red':''" >{{lixiang.expectedAttractTraffic}}</span> | |
| 709 | + </el-descriptions-item> | |
| 710 | + <el-descriptions-item> | |
| 711 | + <template slot="label"> | |
| 712 | + 预计参与人数 | |
| 713 | + </template> | |
| 714 | + | |
| 715 | +<span :style="duibiList.expectedParticipation == lixiang.expectedParticipation?'color: red':''" >{{lixiang.expectedParticipation}}</span> | |
| 716 | + </el-descriptions-item> | |
| 717 | + <el-descriptions-item> | |
| 718 | + <template slot="label"> | |
| 719 | + 预计直接收益 | |
| 720 | + </template> | |
| 721 | + | |
| 722 | +<span :style="duibiList.expectedDirectBenefits == lixiang.expectedDirectBenefits?'color: red':''" >{{lixiang.expectedDirectBenefits}}</span> | |
| 723 | + </el-descriptions-item> | |
| 724 | + <el-descriptions-item> | |
| 725 | + <template slot="label"> | |
| 726 | + 预计间接收益 | |
| 727 | + </template> | |
| 728 | + | |
| 729 | +<span :style="duibiList.expectedIndirectBenefits == lixiang.expectedIndirectBenefits?'color: red':''" >{{lixiang.expectedIndirectBenefits}}</span> | |
| 730 | + </el-descriptions-item> | |
| 731 | + | |
| 732 | + </el-descriptions> | |
| 733 | + | |
| 734 | + </div> | |
| 735 | + </div> | |
| 736 | + <div style="width: 100%;"> | |
| 737 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">相关附件信息</div> | |
| 738 | + <div style="padding:10px 20px;"> | |
| 739 | + <el-table :data="tableData6" | |
| 740 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}" | |
| 741 | + style="width: 100%;margin: auto;"> | |
| 742 | + <el-table-column label="序号" min-width="5%" align='center'> | |
| 743 | + <template slot-scope="scope"> | |
| 744 | + <span style="">{{ scope.$index + 1 }}</span> | |
| 745 | + </template> | |
| 746 | + </el-table-column> | |
| 747 | + <el-table-column label="附件名称" prop="attachmentName" min-width="75%"> | |
| 748 | + </el-table-column> | |
| 749 | + <el-table-column label="操作" min-width="20%"> | |
| 750 | + <template slot-scope="scope"> | |
| 751 | + <!-- <div class="tableBtn greens" @click="Down(scope.row)">下载</div> --> | |
| 752 | + <a class="tableBtn greens" :href="scope.row.attachmentUrl" target="_blank" download>下载</a> | |
| 753 | + </template> | |
| 754 | + </el-table-column> | |
| 755 | + | |
| 756 | + </el-table> | |
| 757 | + </div> | |
| 758 | + </div> | |
| 759 | + <div style="width: 100%;"> | |
| 760 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">系统信息</div> | |
| 761 | + <div style="padding:10px 20px;"> | |
| 762 | + <el-table :data="tableData5" | |
| 763 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}" | |
| 764 | + style="width: 100%;margin: auto;"> | |
| 765 | + <el-table-column class-name="first-column-bg" label="创建人" prop="name" min-width="15%"> | |
| 766 | + </el-table-column> | |
| 767 | + <el-table-column :label="createUser" prop="eventTheme" min-width="35%"> | |
| 768 | + | |
| 769 | + </el-table-column> | |
| 770 | + <el-table-column class-name="first-column-bg" label="创建时间" prop="text" min-width="15%"> | |
| 771 | + | |
| 772 | + </el-table-column> | |
| 773 | + <el-table-column :label="createDate" prop="planName" min-width="35%"> | |
| 774 | + | |
| 775 | + </el-table-column> | |
| 776 | + </el-table> | |
| 777 | + </div> | |
| 778 | + </div> | |
| 779 | + </div> | |
| 780 | + </div> | |
| 781 | + <div v-if="activeName=='five'"> | |
| 782 | + <div style="width: 100%;padding:20px;"> | |
| 783 | + <wangEditor v-model="zhixingqingk" ref="editor"></wangEditor> | |
| 784 | + | |
| 785 | + </div> | |
| 786 | + </div> | |
| 787 | + </div> | |
| 788 | + <div style="display: flex;justify-content: flex-end;padding:10px" > | |
| 789 | + <el-button @click="ggXin = false" style="background-color: #3F9B6A;color: #fff" >取消 | |
| 790 | + </el-button> | |
| 791 | + <el-button @click="lishidownloadPdf" style="background-color: #3F9B6A;color: #fff" v-if="activeName=='fourd'" >导出 | |
| 792 | + </el-button> | |
| 793 | + <el-button @click="downloadPdf" style="background-color: #3F9B6A;color: #fff" v-if="activeName=='first'" >活动策划调整方案导出 | |
| 794 | + </el-button> | |
| 795 | + <el-button @click="jiucuo" style="background-color: #3F9B6A;color: #fff" v-if="activeName=='first'">氛围策划调整纠错 | |
| 796 | + </el-button> | |
| 797 | + <el-button @click="bianji" style="background-color: #3F9B6A;color: #fff" v-if="zhixingBian && activeName=='second'">保存 | |
| 798 | + </el-button> | |
| 799 | + <el-button @click="fivebian" style="background-color: #3F9B6A;color: #fff" v-if="activeName=='five'">保存 | |
| 800 | + </el-button> | |
| 801 | + </div> | |
| 802 | + | |
| 803 | +</el-dialog> | |
| 804 | +</div> | |
| 805 | +</div> | |
| 806 | +<!-- 调整对比 --> | |
| 807 | +<el-dialog title="调整对比" :visible.sync="tiaozhengShow" custom-class='xiang_css' style="padding: 0;" width="80%" center | |
| 808 | + :close-on-click-modal="false" :close-on-press-escape="false" @close="reshData"> | |
| 809 | + <div> | |
| 810 | + <div style="width: 100%;"> | |
| 811 | + <div style="display: flex;padding:0px 20px 20px 20px; "> | |
| 812 | + <div style="width: 150px;height: 80px;" v-if="secondData.coverPoster"> | |
| 813 | + <img :src="secondData.coverPoster" alt="" style="width: 100%;height: 80px;" /> | |
| 814 | + </div> | |
| 815 | + <div | |
| 816 | + style="display: flex;flex-direction: column;justify-content: space-around;padding: 0 10px;font-size: 12px;"> | |
| 817 | + <span style="margin-bottom: 10px;">{{text}}</span> | |
| 818 | + <span>氛围时间:{{tableData1[1].eventTheme}}至{{tableData1[1].planName}}</span> | |
| 819 | + <span>氛围地点:{{tableData1[0].planName}}</span> | |
| 820 | + </div> | |
| 821 | + </div> | |
| 822 | + </div> | |
| 823 | + | |
| 824 | + <div style="display: flex;"> | |
| 825 | + <div style="width: 50%;"> | |
| 826 | + <div style="width: 100%;"> | |
| 827 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">修改后</div> | |
| 828 | + <div style="padding: 10px 20px;"> | |
| 829 | + <el-table :data="tableData1" | |
| 830 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}" | |
| 831 | + style="width: 100%;margin: auto;"> | |
| 832 | + <el-table-column class-name="first-column-bg" label="方案编号" prop="name" min-width="15%"> | |
| 833 | + </el-table-column> | |
| 834 | + <el-table-column :label="id" prop="eventTheme" min-width="35%"> | |
| 835 | + | |
| 836 | + </el-table-column> | |
| 837 | + <el-table-column class-name="first-column-bg" label="方案名称" prop="text" min-width="15%"> | |
| 838 | + | |
| 839 | + </el-table-column> | |
| 840 | + <el-table-column :label="text" prop="planName" min-width="35%"> | |
| 841 | + | |
| 842 | + </el-table-column> | |
| 843 | + </el-table> | |
| 844 | + | |
| 845 | + | |
| 846 | + </div> | |
| 847 | + </div> | |
| 848 | + <div style="width: 100%;"> | |
| 849 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">氛围明细信息</div> | |
| 850 | + <div style="padding: 10px 20px;"> | |
| 851 | + <el-table :data="tableData2" | |
| 852 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}" | |
| 853 | + style="width: 100%;margin: auto;"> | |
| 854 | + <el-table-column label="序号" min-width="5%" align='center'> | |
| 855 | + <template slot-scope="scope"> | |
| 856 | + <span style="">{{ scope.$index +1}}</span> | |
| 857 | + </template> | |
| 858 | + </el-table-column> | |
| 859 | + <el-table-column label="明细项名称" prop="detailLtemName" min-width="28%"> | |
| 860 | + </el-table-column> | |
| 861 | + <el-table-column label="预估数量" prop="estimatedQuantity" min-width="20%"> | |
| 862 | + | |
| 863 | + </el-table-column> | |
| 864 | + <el-table-column label="预估费用" prop="estimatedCost" min-width="20%"> | |
| 865 | + | |
| 866 | + </el-table-column> | |
| 867 | + <el-table-column label="备注" prop="notes" min-width="20%"> | |
| 868 | + </el-table-column> | |
| 869 | + </el-table> | |
| 870 | + </div> | |
| 871 | + </div> | |
| 872 | + <div style="width: 100%;"> | |
| 873 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">氛围成本信息</div> | |
| 874 | + <div style="padding:10px 20px;"> | |
| 875 | + <el-table :data="tableData3" | |
| 876 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}" | |
| 877 | + style="width: 100%;margin: auto;"> | |
| 878 | + <el-table-column class-name="first-column-bg" label="内部人力成本预估" prop="name" min-width="15%"> | |
| 879 | + </el-table-column> | |
| 880 | + <el-table-column :label="internalLaborCostEstimation" prop="eventTheme" min-width="35%"> | |
| 881 | + | |
| 882 | + </el-table-column> | |
| 883 | + <el-table-column class-name="first-column-bg" label="外部人力成本预估" prop="text" min-width="15%"> | |
| 884 | + | |
| 885 | + </el-table-column> | |
| 886 | + <el-table-column :label="externalLaborCostEstimation" prop="planName" min-width="35%"> | |
| 887 | + | |
| 888 | + </el-table-column> | |
| 889 | + </el-table> | |
| 890 | + </div> | |
| 891 | + </div> | |
| 892 | + <div style="width: 100%;"> | |
| 893 | + <div style="font-size: 14px;padding:10px 20px 0px 20px;">预估效果</div> | |
| 894 | + <div style="padding:10px 20px;"> | |
| 895 | + <el-table :data="tableData4" | |
| 896 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}" | |
| 897 | + style="width: 100%;margin: auto;"> | |
| 898 | + <el-table-column class-name="first-column-bg" label="预计吸引流量" prop="name" min-width="15%"> | |
| 899 | + </el-table-column> | |
| 900 | + <el-table-column :label="expectedAttractTraffic" prop="eventTheme" min-width="35%"> | |
| 901 | + | |
| 902 | + </el-table-column> | |
| 903 | + <el-table-column class-name="first-column-bg" label="预计参与人数" prop="text" min-width="15%"> | |
| 904 | + | |
| 905 | + </el-table-column> | |
| 906 | + <el-table-column :label="expectedParticipation" prop="planName" min-width="35%"> | |
| 907 | + | |
| 908 | + </el-table-column> | |
| 909 | + </el-table> | |
| 910 | + </el-table-column> | |
| 911 | + </div> | |
| 912 | + </div> | |
| 913 | + <div style="width: 100%;"> | |
| 914 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">相关附件信息</div> | |
| 915 | + <div style="padding:10px 20px;"> | |
| 916 | + <el-table :data="tableData6" | |
| 917 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}" | |
| 918 | + style="width: 100%;margin: auto;"> | |
| 919 | + <el-table-column label="序号" min-width="5%" align='center'> | |
| 920 | + <template slot-scope="scope"> | |
| 921 | + <span style="">{{ scope.$index + 1 }}</span> | |
| 922 | + </template> | |
| 923 | + </el-table-column> | |
| 924 | + <el-table-column label="附件名称" prop="attachmentName" min-width="75%"> | |
| 925 | + </el-table-column> | |
| 926 | + <el-table-column label="操作" min-width="20%"> | |
| 927 | + <template slot-scope="scope"> | |
| 928 | + <!-- <div class="tableBtn greens" @click="Down(scope.row)">下载</div> --> | |
| 929 | + <a class="tableBtn greens" :href="scope.row.attachmentUrl" target="_blank" download>下载</a> | |
| 930 | + </template> | |
| 931 | + </el-table-column> | |
| 932 | + | |
| 933 | + </el-table> | |
| 934 | + </div> | |
| 935 | + </div> | |
| 936 | + <div style="width: 100%;"> | |
| 937 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">系统信息</div> | |
| 938 | + <div style="padding:10px 20px;"> | |
| 939 | + <el-table :data="tableData5" | |
| 940 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}" | |
| 941 | + style="width: 100%;margin: auto;"> | |
| 942 | + <el-table-column class-name="first-column-bg" label="创建人" prop="name" min-width="15%"> | |
| 943 | + </el-table-column> | |
| 944 | + <el-table-column :label="createUser" prop="eventTheme" min-width="35%"> | |
| 945 | + | |
| 946 | + </el-table-column> | |
| 947 | + <el-table-column class-name="first-column-bg" label="创建时间" prop="text" min-width="15%"> | |
| 948 | + | |
| 949 | + </el-table-column> | |
| 950 | + <el-table-column :label="createDate" prop="planName" min-width="35%"> | |
| 951 | + | |
| 952 | + </el-table-column> | |
| 953 | + </el-table> | |
| 954 | + </div> | |
| 955 | + </div> | |
| 956 | + </div> | |
| 957 | + <div style="width: 50%;"> | |
| 958 | + <div style="width: 100%;"> | |
| 959 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">修改前</div> | |
| 960 | + <div style="padding: 10px 20px;"> | |
| 961 | + <el-descriptions class="margin-top" :column="2" border :labelStyle="labelStyleOne" > | |
| 962 | + <el-descriptions-item> | |
| 963 | + <template slot="label"> | |
| 964 | + 方案编号 | |
| 965 | + </template> | |
| 966 | + {{lixiang.id}} | |
| 967 | + </el-descriptions-item> | |
| 968 | + <el-descriptions-item> | |
| 969 | + <template slot="label"> | |
| 970 | + 方案名称 | |
| 971 | + </template> | |
| 972 | + {{lixiang.planName}} | |
| 973 | + </el-descriptions-item> | |
| 974 | + <el-descriptions-item> | |
| 975 | + <template slot="label"> | |
| 976 | + 类型 | |
| 977 | + </template> | |
| 978 | + {{lixiang.planType}} | |
| 979 | + </el-descriptions-item> | |
| 980 | + <el-descriptions-item> | |
| 981 | + <template slot="label"> | |
| 982 | + 氛围地点 | |
| 983 | + </template> | |
| 984 | + {{lixiang.eventAddrs}} | |
| 985 | + </el-descriptions-item> | |
| 986 | + <el-descriptions-item> | |
| 987 | + <template slot="label"> | |
| 988 | + 氛围开始时间 | |
| 989 | + </template> | |
| 990 | + {{lixiang.eventStartTime}} | |
| 991 | + </el-descriptions-item> | |
| 992 | + <el-descriptions-item> | |
| 993 | + <template slot="label"> | |
| 994 | + 氛围结束时间 | |
| 995 | + </template> | |
| 996 | + {{lixiang.eventEndTime}} | |
| 997 | + </el-descriptions-item> | |
| 998 | + <el-descriptions-item> | |
| 999 | + <template slot="label"> | |
| 1000 | + 氛围主题 | |
| 1001 | + </template> | |
| 1002 | + {{lixiang.eventTheme}} | |
| 1003 | + </el-descriptions-item> | |
| 1004 | + <el-descriptions-item> | |
| 1005 | + <template slot="label"> | |
| 1006 | + 氛围主办方 | |
| 1007 | + </template> | |
| 1008 | + {{lixiang.sponsor}} | |
| 1009 | + </el-descriptions-item> | |
| 1010 | + <el-descriptions-item> | |
| 1011 | + <template slot="label"> | |
| 1012 | + 氛围参与方 | |
| 1013 | + </template> | |
| 1014 | + {{lixiang.participants}} | |
| 1015 | + </el-descriptions-item> | |
| 1016 | + <el-descriptions-item> | |
| 1017 | + <template slot="label"> | |
| 1018 | + 氛围主要目的 | |
| 1019 | + </template> | |
| 1020 | + {{lixiang.mainPurpose}} | |
| 1021 | + </el-descriptions-item> | |
| 1022 | + <el-descriptions-item> | |
| 1023 | + <template slot="label"> | |
| 1024 | + 范围设置 | |
| 1025 | + </template> | |
| 1026 | + {{lixiang.rangeSetting}} | |
| 1027 | + </el-descriptions-item> | |
| 1028 | + <el-descriptions-item> | |
| 1029 | + <template slot="label"> | |
| 1030 | + 状态 | |
| 1031 | + </template> | |
| 1032 | + {{getStatus(lixiang.state)}} | |
| 1033 | + | |
| 1034 | + </el-descriptions-item> | |
| 1035 | + </el-descriptions> | |
| 1036 | + | |
| 1037 | + </div> | |
| 1038 | + </div> | |
| 1039 | + <div style="width: 100%;"> | |
| 1040 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">氛围明细信息</div> | |
| 1041 | + <div style="padding: 10px 20px;"> | |
| 1042 | + <el-table :data="tableData2" | |
| 1043 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}" | |
| 1044 | + style="width: 100%;margin: auto;"> | |
| 1045 | + <el-table-column label="序号" min-width="5%" align='center'> | |
| 1046 | + <template slot-scope="scope"> | |
| 1047 | + <span style="">{{ scope.$index +1}}</span> | |
| 1048 | + </template> | |
| 1049 | + </el-table-column> | |
| 1050 | + <el-table-column label="明细项名称" prop="detailLtemName" min-width="28%"> | |
| 1051 | + </el-table-column> | |
| 1052 | + <el-table-column label="预估数量" prop="estimatedQuantity" min-width="20%"> | |
| 1053 | + | |
| 1054 | + </el-table-column> | |
| 1055 | + <el-table-column label="预估费用" prop="estimatedCost" min-width="20%"> | |
| 1056 | + | |
| 1057 | + </el-table-column> | |
| 1058 | + <el-table-column label="备注" prop="notes" min-width="20%"> | |
| 1059 | + </el-table-column> | |
| 1060 | + </el-table> | |
| 1061 | + </div> | |
| 1062 | + </div> | |
| 1063 | + <div style="width: 100%;"> | |
| 1064 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">氛围成本信息</div> | |
| 1065 | + <div style="padding:10px 20px;"> | |
| 1066 | + <el-descriptions class="margin-top" :column="2" border :labelStyle="labelStyleOne" > | |
| 1067 | + <el-descriptions-item> | |
| 1068 | + <template slot="label"> | |
| 1069 | + 内部人力成本预估 | |
| 1070 | + </template> | |
| 1071 | + {{lixiang.internalLaborCostEstimation}} | |
| 1072 | + </el-descriptions-item> | |
| 1073 | + <el-descriptions-item> | |
| 1074 | + <template slot="label"> | |
| 1075 | + 外部人力成本预估 | |
| 1076 | + </template> | |
| 1077 | + {{lixiang.externalLaborCostEstimation}} | |
| 1078 | + </el-descriptions-item> | |
| 1079 | + <el-descriptions-item> | |
| 1080 | + <template slot="label"> | |
| 1081 | + 商品成本预估 | |
| 1082 | + </template> | |
| 1083 | + {{lixiang.costEstimationGoods}} | |
| 1084 | + </el-descriptions-item> | |
| 1085 | + <el-descriptions-item> | |
| 1086 | + <template slot="label"> | |
| 1087 | + 设备成本预估 | |
| 1088 | + </template> | |
| 1089 | + {{lixiang.setCostEstimate}} | |
| 1090 | + </el-descriptions-item> | |
| 1091 | + <el-descriptions-item> | |
| 1092 | + <template slot="label"> | |
| 1093 | + 宣传费用预估 | |
| 1094 | + </template> | |
| 1095 | + {{lixiang.estimatedPromotionalExpenses}} | |
| 1096 | + </el-descriptions-item> | |
| 1097 | + <el-descriptions-item> | |
| 1098 | + <template slot="label"> | |
| 1099 | + 其他必要成本预估 | |
| 1100 | + </template> | |
| 1101 | + {{lixiang.otherNecessaryEstimates}} | |
| 1102 | + </el-descriptions-item> | |
| 1103 | + <el-descriptions-item> | |
| 1104 | + <template slot="label"> | |
| 1105 | + 总成本预估 | |
| 1106 | + </template> | |
| 1107 | + {{lixiang.totalCostEstimation}} | |
| 1108 | + </el-descriptions-item> | |
| 1109 | + <el-descriptions-item> | |
| 1110 | + <template slot="label"> | |
| 1111 | + 备注 | |
| 1112 | + </template> | |
| 1113 | + {{lixiang.notes}} | |
| 1114 | + </el-descriptions-item> | |
| 1115 | + </el-descriptions> | |
| 1116 | + </div> | |
| 1117 | + </div> | |
| 1118 | + <div style="width: 100%;"> | |
| 1119 | +<div style="font-size: 14px;padding: 10px 20px 0px 20px;">预估效果</div> | |
| 1120 | + <div style="padding:10px 20px;"> | |
| 1121 | + <el-descriptions class="margin-top" :column="2" border :labelStyle="labelStyleOne" > | |
| 1122 | + <el-descriptions-item> | |
| 1123 | + <template slot="label"> | |
| 1124 | + 预计吸引流量 | |
| 1125 | + </template> | |
| 1126 | + {{lixiang.expectedAttractTraffic}} | |
| 1127 | + </el-descriptions-item> | |
| 1128 | + <el-descriptions-item> | |
| 1129 | + <template slot="label"> | |
| 1130 | + 预计参与人数 | |
| 1131 | + </template> | |
| 1132 | + {{lixiang.expectedParticipation}} | |
| 1133 | + </el-descriptions-item> | |
| 1134 | + <el-descriptions-item> | |
| 1135 | + <template slot="label"> | |
| 1136 | + 预计直接收益 | |
| 1137 | + </template> | |
| 1138 | + {{lixiang.expectedDirectBenefits}} | |
| 1139 | + </el-descriptions-item> | |
| 1140 | + <el-descriptions-item> | |
| 1141 | + <template slot="label"> | |
| 1142 | + 预计间接收益 | |
| 1143 | + </template> | |
| 1144 | + {{lixiang.expectedIndirectBenefits}} | |
| 1145 | + </el-descriptions-item> | |
| 1146 | + | |
| 1147 | + </el-descriptions> | |
| 1148 | + | |
| 1149 | + </div> | |
| 1150 | + </div> | |
| 1151 | + <div style="width: 100%;"> | |
| 1152 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">相关附件信息</div> | |
| 1153 | + <div style="padding:10px 20px;"> | |
| 1154 | + <el-table :data="tableData6" | |
| 1155 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}" | |
| 1156 | + style="width: 100%;margin: auto;"> | |
| 1157 | + <el-table-column label="序号" min-width="5%" align='center'> | |
| 1158 | + <template slot-scope="scope"> | |
| 1159 | + <span style="">{{ scope.$index + 1 }}</span> | |
| 1160 | + </template> | |
| 1161 | + </el-table-column> | |
| 1162 | + <el-table-column label="附件名称" prop="attachmentName" min-width="75%"> | |
| 1163 | + </el-table-column> | |
| 1164 | + <el-table-column label="操作" min-width="20%"> | |
| 1165 | + <template slot-scope="scope"> | |
| 1166 | + <!-- <div class="tableBtn greens" @click="Down(scope.row)">下载</div> --> | |
| 1167 | + <a class="tableBtn greens" :href="scope.row.attachmentUrl" target="_blank" download>下载</a> | |
| 1168 | + </template> | |
| 1169 | + </el-table-column> | |
| 1170 | + | |
| 1171 | + </el-table> | |
| 1172 | + </div> | |
| 1173 | + </div> | |
| 1174 | + <div style="width: 100%;"> | |
| 1175 | + <div style="font-size: 14px;padding: 10px 20px 0px 20px;">系统信息</div> | |
| 1176 | + <div style="padding:10px 20px;"> | |
| 1177 | + <el-table :data="tableData5" | |
| 1178 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}" | |
| 1179 | + style="width: 100%;margin: auto;"> | |
| 1180 | + <el-table-column class-name="first-column-bg" label="创建人" prop="name" min-width="15%"> | |
| 1181 | + </el-table-column> | |
| 1182 | + <el-table-column :label="createUser" prop="eventTheme" min-width="35%"> | |
| 1183 | + | |
| 1184 | + </el-table-column> | |
| 1185 | + <el-table-column class-name="first-column-bg" label="创建时间" prop="text" min-width="15%"> | |
| 1186 | + | |
| 1187 | + </el-table-column> | |
| 1188 | + <el-table-column :label="createDate" prop="planName" min-width="35%"> | |
| 1189 | + | |
| 1190 | + </el-table-column> | |
| 1191 | + </el-table> | |
| 1192 | + </div> | |
| 1193 | + </div> | |
| 1194 | + </div> | |
| 1195 | + </div> | |
| 1196 | + | |
| 1197 | + | |
| 1198 | + </div> | |
| 1199 | +</el-dialog> | |
| 1200 | + | |
| 1201 | +<el-dialog title="新增明细" :visible.sync="addMing" custom-class='dialog_css' style="padding: 0;" width="50%" append-to-body | |
| 1202 | + center :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false"> | |
| 1203 | + <div style="padding: 15px;width:100%"> | |
| 1204 | + <div style=""> | |
| 1205 | + <div style="padding: 15px;"> | |
| 1206 | + <el-form label-position="right" ref="ruleFormInfo" :model="mingFrom" label-width="140px" | |
| 1207 | + style="position: relative"> | |
| 1208 | + <el-form-item label="明细项名称" class="grid-content bg-purple device-from" prop="planName"> | |
| 1209 | + <el-input v-model="mingFrom.detailLtemName" placeholder="请输入" /> | |
| 1210 | + </el-form-item> | |
| 1211 | + <el-form-item label="预估数量" class="grid-content bg-purple" prop=" planType"> | |
| 1212 | + <el-input v-model="mingFrom.estimatedQuantity" placeholder="请输入" /> | |
| 1213 | + </el-form-item> | |
| 1214 | + | |
| 1215 | + <el-form-item label="预估费用" class="grid-content bg-purple" prop="eventAddrs"> | |
| 1216 | + <el-input v-model="mingFrom.estimatedCost" placeholder="请输入" /> | |
| 1217 | + </el-form-item> | |
| 1218 | + <el-form-item label="备注" class="grid-content bg-purple device-from" prop="planName"> | |
| 1219 | + <el-input v-model="mingFrom.notes" placeholder="请输入" /> | |
| 1220 | + </el-form-item> | |
| 1221 | + </el-form> | |
| 1222 | + </div> | |
| 1223 | + </div> | |
| 1224 | + | |
| 1225 | + </div> | |
| 1226 | + <div style="display: flex;justify-content: flex-end;padding: 10px 20px 10px 0"> | |
| 1227 | + | |
| 1228 | + <el-button plain @click="minSev" style="background-color: #3F9B6A;color: #fff;">保存 | |
| 1229 | + </el-button> | |
| 1230 | + <el-button plain @click="addMing=false" style="background-color: #3F9B6A;color: #fff;">取消 | |
| 1231 | + </el-button> | |
| 1232 | + </div> | |
| 1233 | +</el-dialog> | |
| 1234 | +<!-- 效果对比 --> | |
| 1235 | +<el-dialog :visible.sync="xiaoDui" custom-class='dialog_css' style="padding: 0;" width="60%" center | |
| 1236 | + :close-on-click-modal="false" :close-on-press-escape="false"> | |
| 1237 | + <div style="padding: 0 50px;display:flex;justify-content: space-evenly;"> | |
| 1238 | + <div style="width:30%"> | |
| 1239 | + <div style="display: flex;"> | |
| 1240 | + <div style="margin-right: 10px;padding: 10px 0;"> | |
| 1241 | + <div>调整前方案</div> | |
| 1242 | + <div style="font-size: 22px;color: #3F9B6A;font-weight: 600;margin: 10px 0;">{{xiaoduiObj.biliOne}}</div> | |
| 1243 | + <div style="font-size: 16px;color: #3F9B6A;font-weight: 600;">投入产出比</div> | |
| 1244 | + </div> | |
| 1245 | + <el-progress type="circle" :percentage="xiaoduiObj.bilis" :show-text="false" :width="100"> | |
| 1246 | + </el-progress> | |
| 1247 | + </div> | |
| 1248 | + <div style="padding:30px 0">计划任务(完成度)</div> | |
| 1249 | + <div class="jindutiao"> | |
| 1250 | + <div style="margin-right:10px;width:56px">直接收入</div> | |
| 1251 | + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> --> | |
| 1252 | + <el-progress | |
| 1253 | + style="width: 150px;" | |
| 1254 | + :text-inside="true" | |
| 1255 | + :stroke-width="20" | |
| 1256 | + :percentage="baifenbi(duibiOne.expectedDirectBenefits)" | |
| 1257 | + status="success" | |
| 1258 | + :format="() => customFormat(duibiOne.expectedDirectBenefits)" | |
| 1259 | + ></el-progress> | |
| 1260 | + </div> | |
| 1261 | + <div class="jindutiao"> | |
| 1262 | + <div style="margin-right:10px;width:56px">间接收入</div> | |
| 1263 | + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> --> | |
| 1264 | + <el-progress | |
| 1265 | + style="width: 150px;" | |
| 1266 | + :text-inside="true" | |
| 1267 | + :stroke-width="20" | |
| 1268 | + :percentage="baifenbi(duibiOne.expectedIndirectBenefits)" | |
| 1269 | + status="success" | |
| 1270 | + :format="() => customFormat(duibiOne.expectedIndirectBenefits)" | |
| 1271 | + ></el-progress> | |
| 1272 | + </div> | |
| 1273 | + <div class="jindutiao"> | |
| 1274 | + <div style="margin-right:10px;width:56px">人力</div> | |
| 1275 | + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> --> | |
| 1276 | + <el-progress | |
| 1277 | + style="width: 150px;" | |
| 1278 | + :text-inside="true" | |
| 1279 | + :stroke-width="20" | |
| 1280 | + :percentage="baifenbi(duibiOne.internalLaborCostEstimation)" | |
| 1281 | + status="success" | |
| 1282 | + :format="() => customFormat(duibiOne.internalLaborCostEstimation)" | |
| 1283 | + ></el-progress> | |
| 1284 | + </div> | |
| 1285 | + <div class="jindutiao"> | |
| 1286 | + <div style="margin-right:10px;width:56px">设备</div> | |
| 1287 | + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> --> | |
| 1288 | + <el-progress | |
| 1289 | + style="width: 150px;" | |
| 1290 | + :text-inside="true" | |
| 1291 | + :stroke-width="20" | |
| 1292 | + :percentage="baifenbi(duibiOne.setCostEstimate)" | |
| 1293 | + status="success" | |
| 1294 | + :format="() => customFormat(duibiOne.setCostEstimate)" | |
| 1295 | + ></el-progress> | |
| 1296 | + </div> | |
| 1297 | + <div class="jindutiao"> | |
| 1298 | + <div style="margin-right:10px;width:56px">宣传</div> | |
| 1299 | + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> --> | |
| 1300 | + <el-progress | |
| 1301 | + style="width: 150px;" | |
| 1302 | + :text-inside="true" | |
| 1303 | + :stroke-width="20" | |
| 1304 | + :percentage="baifenbi(duibiOne.estimatedPromotionalExpenses)" | |
| 1305 | + status="success" | |
| 1306 | + :format="() => customFormat(duibiOne.estimatedPromotionalExpenses)" | |
| 1307 | + ></el-progress> | |
| 1308 | + </div> | |
| 1309 | + <div class="jindutiao"> | |
| 1310 | + <div style="margin-right:10px;width:56px">其他</div> | |
| 1311 | + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> --> | |
| 1312 | + <el-progress | |
| 1313 | + style="width: 150px;" | |
| 1314 | + :text-inside="true" | |
| 1315 | + :stroke-width="20" | |
| 1316 | + :percentage="baifenbi(duibiOne.otherNecessaryEstimates)" | |
| 1317 | + status="success" | |
| 1318 | + :format="() => customFormat(duibiOne.otherNecessaryEstimates)" | |
| 1319 | + ></el-progress> | |
| 1320 | + </div> | |
| 1321 | + </div> | |
| 1322 | + <div style="width:30%"> | |
| 1323 | + <div style="display: flex;"> | |
| 1324 | + <div style="margin-right: 10px;padding: 10px 0;"> | |
| 1325 | + <div>调整后方案</div> | |
| 1326 | + <div style="font-size: 22px;color: #3F9B6A;font-weight: 600;margin: 10px 0;">{{xiaoduiObj.biliTwo}}</div> | |
| 1327 | + <div style="font-size: 16px;color: #3F9B6A;font-weight: 600;">投入产出比</div> | |
| 1328 | + </div> | |
| 1329 | + <el-progress type="circle" :percentage="xiaoduiObj.biliT" :show-text="false" :width="100"> | |
| 1330 | + </el-progress> | |
| 1331 | + </div> | |
| 1332 | + <div style="padding:30px 0">计划任务(完成度)</div> | |
| 1333 | + <div class="jindutiao"> | |
| 1334 | + <div style="margin-right:10px;width:56px">直接收入</div> | |
| 1335 | + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> --> | |
| 1336 | + <el-progress | |
| 1337 | + style="width: 150px;" | |
| 1338 | + :text-inside="true" | |
| 1339 | + :stroke-width="20" | |
| 1340 | + :percentage="baifenbi(duibiTwo.expectedDirectBenefits==undefined?'':duibiTwo.expectedDirectBenefits)" | |
| 1341 | + status="success" | |
| 1342 | + :format="() => customFormat(duibiTwo.expectedDirectBenefits==undefined?'':duibiTwo.expectedDirectBenefits)" | |
| 1343 | + ></el-progress> | |
| 1344 | + </div> | |
| 1345 | + <div class="jindutiao"> | |
| 1346 | + <div style="margin-right:10px;width:56px">间接收入</div> | |
| 1347 | + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> --> | |
| 1348 | + <el-progress | |
| 1349 | + style="width: 150px;" | |
| 1350 | + :text-inside="true" | |
| 1351 | + :stroke-width="20" | |
| 1352 | + :percentage="baifenbi(duibiTwo.expectedIndirectBenefits==undefined?'':duibiTwo.expectedIndirectBenefits)" | |
| 1353 | + status="success" | |
| 1354 | + :format="() => customFormat(duibiTwo.expectedIndirectBenefits==undefined?'':duibiTwo.expectedIndirectBenefits)" | |
| 1355 | + ></el-progress> | |
| 1356 | + </div> | |
| 1357 | + <div class="jindutiao"> | |
| 1358 | + <div style="margin-right:10px;width:56px">人力</div> | |
| 1359 | + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> --> | |
| 1360 | + <el-progress | |
| 1361 | + style="width: 150px;" | |
| 1362 | + :text-inside="true" | |
| 1363 | + :stroke-width="20" | |
| 1364 | + :percentage="baifenbi(duibiTwo.internalLaborCostEstimation==undefined?'':duibiTwo.internalLaborCostEstimation)" | |
| 1365 | + status="success" | |
| 1366 | + :format="() => customFormat(duibiTwo.internalLaborCostEstimation==undefined?'':duibiTwo.internalLaborCostEstimation)" | |
| 1367 | + ></el-progress> | |
| 1368 | + </div> | |
| 1369 | + <div class="jindutiao"> | |
| 1370 | + <div style="margin-right:10px;width:56px">设备</div> | |
| 1371 | + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> --> | |
| 1372 | + <el-progress | |
| 1373 | + style="width: 150px;" | |
| 1374 | + :text-inside="true" | |
| 1375 | + :stroke-width="20" | |
| 1376 | + :percentage="baifenbi(duibiTwo.setCostEstimate==undefined?'':duibiTwo.setCostEstimate)" | |
| 1377 | + status="success" | |
| 1378 | + :format="() => customFormat(duibiTwo.setCostEstimate==undefined?'':duibiTwo.setCostEstimate)" | |
| 1379 | + ></el-progress> | |
| 1380 | + </div> | |
| 1381 | + <div class="jindutiao"> | |
| 1382 | + <div style="margin-right:10px;width:56px">宣传</div> | |
| 1383 | + <!-- <el-progress :text-inside="true" :stroke-width="26" :format="format(xiaoduiObj.shou)" :percentage="xiaoduiObj.shouBi"></el-progress> --> | |
| 1384 | + <el-progress | |
| 1385 | + style="width: 150px;" | |
| 1386 | + :text-inside="true" | |
| 1387 | + :stroke-width="20" | |
| 1388 | + :percentage="baifenbi(duibiTwo.estimatedPromotionalExpenses==undefined?'':duibiTwo.estimatedPromotionalExpenses)" | |
| 1389 | + status="success" | |
| 1390 | + :format="() => customFormat(duibiTwo.estimatedPromotionalExpenses==undefined?'':duibiTwo.estimatedPromotionalExpenses)" | |
| 1391 | + ></el-progress> | |
| 1392 | + </div> | |
| 1393 | + <div class="jindutiao"> | |
| 1394 | + <div style="margin-right:10px;width:56px">其他</div> | |
| 1395 | + <el-progress | |
| 1396 | + style="width: 150px;" | |
| 1397 | + :text-inside="true" | |
| 1398 | + :stroke-width="20" | |
| 1399 | + :percentage="baifenbi(duibiTwo.otherNecessaryEstimates==undefined?'':duibiTwo.otherNecessaryEstimates)" | |
| 1400 | + status="success" | |
| 1401 | + :format="() => customFormat(duibiTwo.otherNecessaryEstimates==undefined?'':duibiTwo.otherNecessaryEstimates)" | |
| 1402 | + ></el-progress> | |
| 1403 | + </div> | |
| 1404 | + </div> | |
| 1405 | + </div> | |
| 1406 | +</el-dialog> | |
| 1407 | + | |
| 1408 | + | |
| 1409 | + <!-- 复制 --> | |
| 1410 | + <el-dialog :visible.sync="copyShow" custom-class='xiaoguo_css' style="padding: 0;" width="50%" | |
| 1411 | + center :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false"> | |
| 1412 | + <div style="padding:15px;background-color:#F9F9F9;font-size:14px;border:1px solid #ECECEC;margin-bottom:20px;display: flex;justify-content: space-between;"> | |
| 1413 | + <div>复制页</div> | |
| 1414 | + </div> | |
| 1415 | + <div style="padding:0 36px;"> | |
| 1416 | + <el-form label-position="right" :model="copy" label-width="120px" | |
| 1417 | + style="position: relative"> | |
| 1418 | + <el-form-item label="新方案名称" class="grid-content bg-purple device-from" prop="planName"> | |
| 1419 | + <el-input v-model="copy.planName" placeholder="请输入" /> | |
| 1420 | + </el-form-item> | |
| 1421 | + </el-form> | |
| 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="copyClose" >返回</el-button> | |
| 1428 | + <el-button plain @click="copysev" style="background-color: #3F9B6A;color: #fff;" >保存 | |
| 1429 | + </el-button> | |
| 1430 | + </div> | |
| 1431 | + </el-dialog> | |
| 1432 | +<el-dialog :visible.sync="searchShow" custom-class='xiaoguo_css' style="padding: 0;" width="50%" | |
| 1433 | + center :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false"> | |
| 1434 | + <div style="padding:15px;background-color:#F9F9F9;font-size:14px;border:1px solid #ECECEC;margin-bottom:20px;display: flex;justify-content: space-between;"> | |
| 1435 | + <div>搜索关键词配置</div> | |
| 1436 | + </div> | |
| 1437 | + <div style="padding:0 36px;"> | |
| 1438 | + <el-checkbox v-model="searPei.name">方案名称</el-checkbox> | |
| 1439 | + <!-- <el-checkbox v-model="searPei.lei">方案类型</el-checkbox> --> | |
| 1440 | + <el-checkbox v-model="searPei.staut">审核状态</el-checkbox> | |
| 1441 | + </div> | |
| 1442 | + | |
| 1443 | + <div style="display: flex;justify-content: flex-end;padding: 10px 20px 10px 0"> | |
| 1444 | + <el-button class="buttonHover" | |
| 1445 | + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 1446 | + @click="searchQuit" >返回</el-button> | |
| 1447 | + <el-button plain @click="searchShow=false" style="background-color: #3F9B6A;color: #fff;" >保存 | |
| 1448 | + </el-button> | |
| 1449 | + </div> | |
| 1450 | + </el-dialog> | |
| 1451 | + | |
| 1452 | +<el-dialog :visible.sync="jiucuoShow" custom-class='bian_css' style="padding: 0;" width="50%" | |
| 1453 | + :close-on-press-escape="false" center :close-on-click-modal="false" class="dialog_css_Xq" :show-close="false"> | |
| 1454 | + <div style="padding:20px;"> | |
| 1455 | + <div style="font-size: 14px;padding-bottom: 20px;color: #000;">氛围策划调整纠错</div> | |
| 1456 | + <wangEditor v-model="jiuMsg" ref="editor"></wangEditor> | |
| 1457 | + <div style="padding-top:20px;display:flex;justify-content: flex-end;"> | |
| 1458 | + <el-button style="background-color: #3F9B6A;color: #fff" | |
| 1459 | + @click="jiuCheck">确定</el-button> | |
| 1460 | + <el-button @click="jiucuoShow = false" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" class="buttonHover">取消</el-button> | |
| 1461 | + | |
| 1462 | + </div> | |
| 1463 | + | |
| 1464 | + </div> | |
| 1465 | + | |
| 1466 | + </el-dialog> | |
| 1467 | +<actbians :showBian="actbianMsg" @BianchildClose='BianchildClose'></actbians> | |
| 1468 | +</div> | |
| 1469 | +</template> | |
| 1470 | + | |
| 1471 | +<script> | |
| 1472 | + import { | |
| 1473 | + deleteById, | |
| 1474 | + queryByPage, | |
| 1475 | + xiangByPage, | |
| 1476 | + fujiaTable, | |
| 1477 | + mingTable, | |
| 1478 | + danqueryById, | |
| 1479 | + xiangedit, | |
| 1480 | + actEdit, | |
| 1481 | + actAdd, | |
| 1482 | + actPage, | |
| 1483 | + MingAdd, | |
| 1484 | + MingDel, | |
| 1485 | + cereGet, | |
| 1486 | + cereAdd, | |
| 1487 | + cereEdit, | |
| 1488 | + cereDel, | |
| 1489 | + copy, | |
| 1490 | + excelQueryByPage, | |
| 1491 | + excelAdd, | |
| 1492 | + effectEvaluation, | |
| 1493 | + lishiDeta | |
| 1494 | + } from '../../api/activityBz' | |
| 1495 | + import actbians from "./atmosphereBian" | |
| 1496 | + import * as echarts from 'echarts' | |
| 1497 | + import Vue from 'vue' | |
| 1498 | + import html2canvas from 'html2canvas' | |
| 1499 | + import jsPDF from 'jspdf' | |
| 1500 | + import wangEditor from "@/components/editor/index"; | |
| 1501 | + import { | |
| 1502 | + uploadUrl | |
| 1503 | + } from '@/utils/request' | |
| 1504 | + export default { | |
| 1505 | + components: { | |
| 1506 | + actbians, | |
| 1507 | + wangEditor | |
| 1508 | + }, | |
| 1509 | + data() { | |
| 1510 | + return { | |
| 1511 | + uploadFileUrl: uploadUrl, // 请求地址 | |
| 1512 | + daoData:[], | |
| 1513 | + actbianMsg: { | |
| 1514 | + acBian: '', //编辑数据 | |
| 1515 | + bianshow: false, //编辑页 | |
| 1516 | + }, | |
| 1517 | + fileData:[], | |
| 1518 | + fenlei: [], | |
| 1519 | + secondData: {}, | |
| 1520 | + | |
| 1521 | + formSear:{ | |
| 1522 | + planName: '', | |
| 1523 | + state:null, | |
| 1524 | + dataOwnership: '2', | |
| 1525 | + pageNumber: 1, | |
| 1526 | + pageSize: 10, | |
| 1527 | + isDraft:0 | |
| 1528 | + }, | |
| 1529 | + | |
| 1530 | + planFen: '', | |
| 1531 | + eventTheme: '', | |
| 1532 | + currentPage: 1, | |
| 1533 | + total: 100, | |
| 1534 | + flag: false, | |
| 1535 | + pageSize: 10, | |
| 1536 | + ggXin: false, | |
| 1537 | + radio: '1', | |
| 1538 | + shan: '', | |
| 1539 | + activeName: 'first', | |
| 1540 | + rules: { | |
| 1541 | + coDe: [{ | |
| 1542 | + required: true, | |
| 1543 | + message: '请输入氛围名称', | |
| 1544 | + trigger: 'blur' | |
| 1545 | + }, | |
| 1546 | + | |
| 1547 | + ], | |
| 1548 | + }, | |
| 1549 | + formInline: { | |
| 1550 | + merchantName: '', // 商家名称 | |
| 1551 | + storeId: '', // 编码 | |
| 1552 | + contacts: '', // 联系人 | |
| 1553 | + businessEntity: '', //经营主体 | |
| 1554 | + page: 1, // 当前页 | |
| 1555 | + pageSize: 10 // 每页记录数 | |
| 1556 | + }, | |
| 1557 | + tableData: [], | |
| 1558 | + id: '', | |
| 1559 | + text: '123', | |
| 1560 | + tableData1: [{ | |
| 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 | + id: 0, | |
| 1574 | + name: '氛围主题', | |
| 1575 | + planName: '', | |
| 1576 | + text: '氛围主办方', | |
| 1577 | + eventTheme: '' | |
| 1578 | + }, { | |
| 1579 | + id: 0, | |
| 1580 | + name: '氛围参与方', | |
| 1581 | + planName: '', | |
| 1582 | + text: '氛围主要目的', | |
| 1583 | + eventTheme: '' | |
| 1584 | + }, { | |
| 1585 | + id: 0, | |
| 1586 | + name: '范围设置', | |
| 1587 | + planName: '', | |
| 1588 | + text: '状态', | |
| 1589 | + eventTheme: '' | |
| 1590 | + }], | |
| 1591 | + internalLaborCostEstimation: '', | |
| 1592 | + externalLaborCostEstimation: '', | |
| 1593 | + tableData3: [{ | |
| 1594 | + id: 0, | |
| 1595 | + name: '商品成本预估', | |
| 1596 | + planName: '', | |
| 1597 | + text: '设备成本预估', | |
| 1598 | + eventTheme: '' | |
| 1599 | + }, { | |
| 1600 | + id: 0, | |
| 1601 | + name: '宣传费用预估', | |
| 1602 | + planName: '', | |
| 1603 | + text: '其他必要成本预估', | |
| 1604 | + eventTheme: '' | |
| 1605 | + }, { | |
| 1606 | + id: 0, | |
| 1607 | + name: '总成本预估', | |
| 1608 | + planName: '', | |
| 1609 | + text: '备注', | |
| 1610 | + eventTheme: '' | |
| 1611 | + }], | |
| 1612 | + expectedAttractTraffic: '', | |
| 1613 | + expectedParticipation: '', | |
| 1614 | + tableData4: [{ | |
| 1615 | + id: 0, | |
| 1616 | + name: '预计直接收益', | |
| 1617 | + planName: '', | |
| 1618 | + text: '预计间接收益', | |
| 1619 | + eventTheme: '-' | |
| 1620 | + }], | |
| 1621 | + createUser: '', | |
| 1622 | + createDate: '', | |
| 1623 | + tableData5: [{ | |
| 1624 | + id: 0, | |
| 1625 | + name: '更新人', | |
| 1626 | + planName: '', | |
| 1627 | + text: '更新时间', | |
| 1628 | + eventTheme: '-' | |
| 1629 | + }], | |
| 1630 | + tableData2: [], //基本信息明细列表 | |
| 1631 | + tableData6: [], //基本信息附件列表 | |
| 1632 | + addMing: false, //执行效果添加明细 | |
| 1633 | + zhixingBian: false, //判断是否编辑执行效果 | |
| 1634 | + tableDa: [], //执行效果明细列表 | |
| 1635 | + zhiXing: true, //判断是否是新增的执行效果 | |
| 1636 | + mingFrom: { | |
| 1637 | + detailLtemName: '', | |
| 1638 | + estimatedQuantity: '', | |
| 1639 | + estimatedCost: '', | |
| 1640 | + notes: '' | |
| 1641 | + }, | |
| 1642 | + planTime:[], | |
| 1643 | + zhixingList: { | |
| 1644 | + planTime: [], | |
| 1645 | + planName: '', //氛围名称 | |
| 1646 | + eventAddrs: '', //实际举办地点 | |
| 1647 | + eventStartTime: 0, //实际开始时间 | |
| 1648 | + eventEndTime: 0, //实际结束时间 | |
| 1649 | + sponsor: '', //实际主办方 | |
| 1650 | + participants: '', //实际参与方 | |
| 1651 | + internalLaborCostEstimation: '', //内部人工成本 | |
| 1652 | + externalLaborCostEstimation: '', //外部人工成本 | |
| 1653 | + costEstimationGoods: '', //商品成本 | |
| 1654 | + setCostEstimate: '', //设备成本 | |
| 1655 | + estimatedPromotionalExpenses: '', //宣传费用预估 | |
| 1656 | + otherNecessaryEstimates: '', //其他成本预估 | |
| 1657 | + totalCostEstimation: '', //总成本预估 | |
| 1658 | + notes: '', //备注 | |
| 1659 | + expectedAttractTraffic: '', //吸引流量 | |
| 1660 | + expectedParticipation: '', //参与人数 | |
| 1661 | + expectedDirectBenefits: '', //直接收益 | |
| 1662 | + expectedIndirectBenefits: '', //间接收益 | |
| 1663 | + createDate: '', //创建时间 | |
| 1664 | + feedbackContent:'' | |
| 1665 | + }, //执行效果列表 | |
| 1666 | + pageindex: { | |
| 1667 | + pageNumber: 1, | |
| 1668 | + pageSize: 10, | |
| 1669 | + dataOwnership: '2', | |
| 1670 | + isDraft:0 | |
| 1671 | + }, | |
| 1672 | + multipleSelection: [], | |
| 1673 | + options: [], | |
| 1674 | + xinADD:{ | |
| 1675 | + classificationName:'', | |
| 1676 | + parentId:'', | |
| 1677 | + classificationType:'0' | |
| 1678 | + }, | |
| 1679 | + value: '', | |
| 1680 | + xiaoDui: false, //效果对比 | |
| 1681 | + dataList:[], | |
| 1682 | + | |
| 1683 | + fenleiDelId:null,//删除的分类ID | |
| 1684 | + xiaoduiObj:{ | |
| 1685 | + biliOne:'0%', | |
| 1686 | + bilis:0, | |
| 1687 | + biliTwo:'0%', | |
| 1688 | + biliT:0 | |
| 1689 | + },//效果对比数据 | |
| 1690 | + fujiLei:'', | |
| 1691 | + defaultProps:{ | |
| 1692 | + children: 'children', | |
| 1693 | + label: 'classificationName' | |
| 1694 | + }, | |
| 1695 | + | |
| 1696 | + copy:{ | |
| 1697 | + planName:'' | |
| 1698 | + }, | |
| 1699 | + copyShow:false, | |
| 1700 | + duibiOne:{}, | |
| 1701 | + duibiTwo:{}, | |
| 1702 | + searchShow:false, | |
| 1703 | + searPei:{ | |
| 1704 | + name:true, | |
| 1705 | + lei:false, | |
| 1706 | + staut:false, | |
| 1707 | + }, | |
| 1708 | + lishiList:null, | |
| 1709 | + labelStyle:{ | |
| 1710 | + width:'197px', | |
| 1711 | + height:'42px', | |
| 1712 | + }, | |
| 1713 | + labelStyleOne:{ | |
| 1714 | + width:'110px', | |
| 1715 | + height:'42px', | |
| 1716 | + color:'#000', | |
| 1717 | + }, | |
| 1718 | + lidata:[], | |
| 1719 | + lixiang:{}, | |
| 1720 | + duibiList:{}, | |
| 1721 | + tiaozhengShow:false, | |
| 1722 | + jiucuoShow:false, | |
| 1723 | + jiuMsg:'', | |
| 1724 | + editId:'', | |
| 1725 | + zhixingqingk:'' | |
| 1726 | + } | |
| 1727 | + }, | |
| 1728 | + created() { | |
| 1729 | + this.getAll() | |
| 1730 | + | |
| 1731 | + }, | |
| 1732 | + computed: { | |
| 1733 | + | |
| 1734 | + }, | |
| 1735 | + methods: { | |
| 1736 | + getStatus(state) { | |
| 1737 | + switch (state) { | |
| 1738 | + case '': | |
| 1739 | + return '待提交'; | |
| 1740 | + case '1': | |
| 1741 | + return '待审核'; | |
| 1742 | + case '2': | |
| 1743 | + return '业务部审核'; | |
| 1744 | + case '3': | |
| 1745 | + return '品牌审核'; | |
| 1746 | + case '4': | |
| 1747 | + return '审核通过'; | |
| 1748 | + case '5': | |
| 1749 | + return '审核不通过' | |
| 1750 | + } | |
| 1751 | + }, | |
| 1752 | + //查询全数据 | |
| 1753 | + async getAll() { | |
| 1754 | + const res = await queryByPage(this.pageindex) | |
| 1755 | + this.tableData = res.data.content | |
| 1756 | + this.total = res.data.content.length | |
| 1757 | + | |
| 1758 | + }, | |
| 1759 | + //删除记录按钮 | |
| 1760 | + handleDelete(val) { | |
| 1761 | + if (this.multipleSelection.length == 1) { | |
| 1762 | + | |
| 1763 | + const h = this.$createElement; | |
| 1764 | + this.$msgbox({ | |
| 1765 | + title: '消息', | |
| 1766 | + message: h('p', null, [ | |
| 1767 | + h('span', null, '是否删除 '), | |
| 1768 | + ]), | |
| 1769 | + showCancelButton: true, | |
| 1770 | + showClose: false, | |
| 1771 | + confirmButtonText: '确定', | |
| 1772 | + cancelButtonText: '取消', | |
| 1773 | + customClass: 'oe-dialog-btn', | |
| 1774 | + beforeClose: (action, instance, done) => { | |
| 1775 | + if (action === 'confirm') { | |
| 1776 | + deleteById({ | |
| 1777 | + id: this.multipleSelection[0].id | |
| 1778 | + }).then(res => { | |
| 1779 | + this.getAll() | |
| 1780 | + done(); | |
| 1781 | + }) | |
| 1782 | + } else { | |
| 1783 | + done(); | |
| 1784 | + } | |
| 1785 | + } | |
| 1786 | + }) | |
| 1787 | + } else { | |
| 1788 | + this.$message({ | |
| 1789 | + message: '请选择一个文件删除', | |
| 1790 | + customClass: 'custom-message', | |
| 1791 | + offset: 100 | |
| 1792 | + }) | |
| 1793 | + } | |
| 1794 | + }, | |
| 1795 | + actDelete(item){ | |
| 1796 | + const h = this.$createElement; | |
| 1797 | + this.$msgbox({ | |
| 1798 | + title: '消息', | |
| 1799 | + message: h('p', null, [ | |
| 1800 | + h('span', null, '是否删除 '), | |
| 1801 | + ]), | |
| 1802 | + showCancelButton: true, | |
| 1803 | + showClose: false, | |
| 1804 | + confirmButtonText: '确定', | |
| 1805 | + cancelButtonText: '取消', | |
| 1806 | + customClass: 'oe-dialog-btn', | |
| 1807 | + beforeClose: (action, instance, done) => { | |
| 1808 | + if (action === 'confirm') { | |
| 1809 | + deleteById({ | |
| 1810 | + id: item.id | |
| 1811 | + }).then(res => { | |
| 1812 | + this.getAll() | |
| 1813 | + done(); | |
| 1814 | + }) | |
| 1815 | + } else { | |
| 1816 | + done(); | |
| 1817 | + } | |
| 1818 | + } | |
| 1819 | + }) | |
| 1820 | + | |
| 1821 | + }, | |
| 1822 | + //查询 | |
| 1823 | + async onSubmit() { | |
| 1824 | + const res = await danqueryById(this.formSear) | |
| 1825 | + this.tableData = res.data.content | |
| 1826 | + }, | |
| 1827 | + //重置按钮 | |
| 1828 | + resetting() { | |
| 1829 | + this.formSear ={ | |
| 1830 | + planName: '', | |
| 1831 | + state:null, | |
| 1832 | + dataOwnership: '2', | |
| 1833 | + pageNumber: 1, | |
| 1834 | + pageSize: 10, | |
| 1835 | + isDraft:0 | |
| 1836 | + | |
| 1837 | + } | |
| 1838 | + this.getAll() | |
| 1839 | + }, | |
| 1840 | + //编辑页 | |
| 1841 | + BianchildClose(msg) { | |
| 1842 | + this.actbianMsg.bianshow = msg | |
| 1843 | + this.getAll() | |
| 1844 | + }, | |
| 1845 | + actBian(item) { | |
| 1846 | + this.actbianMsg.acBian = item | |
| 1847 | + this.actbianMsg.bianshow = true | |
| 1848 | + }, | |
| 1849 | + //详情点击 | |
| 1850 | + handleEditForm(item,val) { | |
| 1851 | + this.zhixingBian = flag | |
| 1852 | + if(val == 1){ | |
| 1853 | + this.activeName = 'first' | |
| 1854 | + }else if(val == 2 || flag){ | |
| 1855 | + | |
| 1856 | + this.activeName = 'second' | |
| 1857 | + }else if(val == 3){ | |
| 1858 | + | |
| 1859 | + this.activeName = 'fourd' | |
| 1860 | + } | |
| 1861 | + this.liData = [] | |
| 1862 | + this.lixiang = {} | |
| 1863 | + this.lishiList=null | |
| 1864 | + this.fileData = [] | |
| 1865 | + this.zhixingList = { | |
| 1866 | + planTime:[], | |
| 1867 | + planName: '', //氛围名称 | |
| 1868 | + eventAddrs: '', //实际举办地点 | |
| 1869 | + eventStartTime: 0, //实际开始时间 | |
| 1870 | + eventEndTime: 0, //实际结束时间 | |
| 1871 | + sponsor: '', //实际主办方 | |
| 1872 | + participants: '', //实际参与方 | |
| 1873 | + internalLaborCostEstimation: '', //内部人工成本 | |
| 1874 | + externalLaborCostEstimation: '', //外部人工成本 | |
| 1875 | + costEstimationGoods: '', //商品成本 | |
| 1876 | + setCostEstimate: '', //设备成本 | |
| 1877 | + estimatedPromotionalExpenses: '', //宣传费用预估 | |
| 1878 | + otherNecessaryEstimates: '', //其他成本预估 | |
| 1879 | + totalCostEstimation: '', //总成本预估 | |
| 1880 | + notes: '', //备注 | |
| 1881 | + expectedAttractTraffic: '', //吸引流量 | |
| 1882 | + expectedParticipation: '', //参与人数 | |
| 1883 | + expectedDirectBenefits: '', //直接收益 | |
| 1884 | + expectedIndirectBenefits: '', //间接收益 | |
| 1885 | + createDate: '', //创建时间 | |
| 1886 | + feedbackContent:'' | |
| 1887 | + } //执行效果列表 | |
| 1888 | + actPage({ | |
| 1889 | + detailsId: item.id, | |
| 1890 | + pageNumber: 1, | |
| 1891 | + pageSize: 10, | |
| 1892 | + }).then(res => { | |
| 1893 | + console.log(res.data.content) | |
| 1894 | + if (res.data.content.length == 0) { | |
| 1895 | + this.zhiXing = true | |
| 1896 | + } else { | |
| 1897 | + mingTable({ | |
| 1898 | + detailsId: res.data.content[0].id, | |
| 1899 | + pageNumber: 1, | |
| 1900 | + pageSize: 10, | |
| 1901 | + }).then(res => { | |
| 1902 | + this.tableDa = res.data.content | |
| 1903 | + }) | |
| 1904 | + this.zhiXing = false | |
| 1905 | + this.zhixingList = res.data.content[0] | |
| 1906 | + if((typeof this.zhixingList.eventStartTime) == 'object' || (typeof this.zhixingList.eventEndTime) == 'object' ){ | |
| 1907 | + this.zhixingList.planTime = [] | |
| 1908 | + }else{ | |
| 1909 | + console.log(typeof this.zhixingList.eventStartTime) | |
| 1910 | + this.zhixingList.planTime = [ this.zhixingList.eventStartTime, this.zhixingList.eventEndTime] | |
| 1911 | + } | |
| 1912 | + | |
| 1913 | + } | |
| 1914 | + }) | |
| 1915 | + let that = this | |
| 1916 | + this.planTime = [item.eventStartTime, item.eventEndTime] | |
| 1917 | + fujiaTable({ | |
| 1918 | + detailsId: item.id, | |
| 1919 | + pageNumber: 1, | |
| 1920 | + pageSize: 10, | |
| 1921 | + }).then(res => { | |
| 1922 | + this.tableData6 = res.data.content | |
| 1923 | + }) | |
| 1924 | + mingTable({ | |
| 1925 | + detailsId: item.id, | |
| 1926 | + pageNumber: 1, | |
| 1927 | + pageSize: 10, | |
| 1928 | + }).then(res => { | |
| 1929 | + this.tableData2 = res.data.content | |
| 1930 | + }) | |
| 1931 | + | |
| 1932 | + | |
| 1933 | + danqueryById({ | |
| 1934 | + id: item.id, | |
| 1935 | + dataOwnership: '2', | |
| 1936 | + pageNumber: 1, | |
| 1937 | + pageSize: 10, | |
| 1938 | + }).then(res => { | |
| 1939 | + this.secondData = res.data.content[0] | |
| 1940 | + //基本信息 | |
| 1941 | + // that.id=res.data.content[0].id | |
| 1942 | + that.text = res.data.content[0].planName | |
| 1943 | + that.tableData1[0].eventTheme = res.data.content[0].planType | |
| 1944 | + that.tableData1[0].planName = res.data.content[0].eventAddrs | |
| 1945 | + that.tableData1[1].eventTheme = res.data.content[0].eventStartTime | |
| 1946 | + that.tableData1[1].planName = res.data.content[0].eventEndTime | |
| 1947 | + that.tableData1[2].eventTheme = res.data.content[0].eventTheme | |
| 1948 | + that.tableData1[2].planName = res.data.content[0].sponsor | |
| 1949 | + that.tableData1[3].eventTheme = res.data.content[0].participants | |
| 1950 | + that.tableData1[3].planName = res.data.content[0].mainPurpose | |
| 1951 | + that.tableData1[4].planName = this.getStatus(res.data.content[0].state) | |
| 1952 | + that.tableData1[4].eventTheme = res.data.content[0].rangeSetting | |
| 1953 | + //氛围成本信息 | |
| 1954 | + that.internalLaborCostEstimation = res.data.content[0].internalLaborCostEstimation | |
| 1955 | + that.externalLaborCostEstimation = res.data.content[0].externalLaborCostEstimation | |
| 1956 | + that.tableData3[0].eventTheme = res.data.content[0].costEstimationGoods | |
| 1957 | + that.tableData3[0].planName = res.data.content[0].setCostEstimate | |
| 1958 | + that.tableData3[1].eventTheme = res.data.content[0].estimatedPromotionalExpenses | |
| 1959 | + that.tableData3[1].planName = res.data.content[0].otherNecessaryEstimates | |
| 1960 | + that.tableData3[2].eventTheme = res.data.content[0].totalCostEstimation | |
| 1961 | + that.tableData3[2].planName = res.data.content[0].notes | |
| 1962 | + //预估效果 | |
| 1963 | + that.expectedAttractTraffic = res.data.content[0].expectedAttractTraffic | |
| 1964 | + that.expectedParticipation = res.data.content[0].expectedParticipation | |
| 1965 | + that.tableData4[0].eventTheme = res.data.content[0].expectedDirectBenefits | |
| 1966 | + that.tableData4[0].planName = res.data.content[0].expectedIndirectBenefits | |
| 1967 | + //系统信息 | |
| 1968 | + that.createUser = res.data.content[0].createUser | |
| 1969 | + that.createDate = res.data.content[0].createDate | |
| 1970 | + | |
| 1971 | + that.tableData5[0].planName = '-' | |
| 1972 | + that.tableData5[0].eventTheme = res.data.content[0].updateUser | |
| 1973 | + | |
| 1974 | + }).catch(err => { | |
| 1975 | + console.log(err) | |
| 1976 | + | |
| 1977 | + }) | |
| 1978 | + if (!item) { | |
| 1979 | + this.formItem = {} | |
| 1980 | + } else { | |
| 1981 | + this.formItem = item | |
| 1982 | + } | |
| 1983 | + lishiDeta({eventDetailsId:item.id}).then(res=>{ | |
| 1984 | + this.liData = res.data | |
| 1985 | + }) | |
| 1986 | + this.ggXin = true | |
| 1987 | + }, | |
| 1988 | + formTime(data){ | |
| 1989 | + this.zhixingList.planTime = data | |
| 1990 | + }, | |
| 1991 | + removeEmptyValues(obj) { | |
| 1992 | + if (typeof obj !== 'object' || obj === null) { | |
| 1993 | + return obj; | |
| 1994 | + } | |
| 1995 | + | |
| 1996 | + const newObj = Array.isArray(obj) ? [] : {}; | |
| 1997 | + | |
| 1998 | + for (const key in obj) { | |
| 1999 | + if (Object.prototype.hasOwnProperty.call(obj, key)) { | |
| 2000 | + const value = obj[key]; | |
| 2001 | + if (value !== null && value !== undefined && value !== '' && !this.isEmptyObject(value)) { | |
| 2002 | + if (Array.isArray(newObj)) { | |
| 2003 | + newObj.push(this.removeEmptyValues(value)); | |
| 2004 | + } else { | |
| 2005 | + newObj[key] = this.removeEmptyValues(value); | |
| 2006 | + } | |
| 2007 | + } | |
| 2008 | + } | |
| 2009 | + } | |
| 2010 | + | |
| 2011 | + return newObj; | |
| 2012 | + }, | |
| 2013 | + isEmptyObject(obj) { | |
| 2014 | + return Object.keys(obj).length === 0 && obj.constructor === Object; | |
| 2015 | + }, | |
| 2016 | + //获取当前时间 | |
| 2017 | + updateCurrentTime() { | |
| 2018 | + const now = new Date(); | |
| 2019 | + const year = now.getFullYear(); | |
| 2020 | + const month = (now.getMonth() + 1).toString().padStart(2, '0'); | |
| 2021 | + const day = now.getDate().toString().padStart(2, '0'); | |
| 2022 | + const hours = now.getHours().toString().padStart(2, '0'); | |
| 2023 | + const minutes = now.getMinutes().toString().padStart(2, '0'); | |
| 2024 | + const seconds = now.getSeconds().toString().padStart(2, '0'); | |
| 2025 | + | |
| 2026 | + return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; | |
| 2027 | + }, | |
| 2028 | + | |
| 2029 | + handleCurrentChange(val) { | |
| 2030 | + this.currentPage = val | |
| 2031 | + }, | |
| 2032 | + handleSizeChange(val) { | |
| 2033 | + this.pageSize = val | |
| 2034 | + }, | |
| 2035 | + closeFn() { | |
| 2036 | + this.ggXin = false | |
| 2037 | + }, | |
| 2038 | + handleClick() { | |
| 2039 | + console.log() | |
| 2040 | + }, | |
| 2041 | + refreshData() { | |
| 2042 | + // console.log('12123') | |
| 2043 | + this.tableDa = [] | |
| 2044 | + this.activeName = 'first' | |
| 2045 | + this.zhixingBian = false | |
| 2046 | + }, | |
| 2047 | + reshData() { | |
| 2048 | + this.tableDa = [] | |
| 2049 | + this.tiaozhengShow = false | |
| 2050 | + }, | |
| 2051 | + | |
| 2052 | + handleSelectionChange(val) { | |
| 2053 | + this.multipleSelection = val; | |
| 2054 | + }, | |
| 2055 | + toggleSelection(rows) { | |
| 2056 | + if (rows) { | |
| 2057 | + rows.forEach(row => { | |
| 2058 | + this.$refs.mulTable.toggleRowSelection(row); | |
| 2059 | + }); | |
| 2060 | + } | |
| 2061 | + }, | |
| 2062 | + tableAll() { | |
| 2063 | + this.$refs.mulTable.clearSelection(); // 清除所有选项 | |
| 2064 | + const allRows = this.$refs.mulTable.data; // 获取所有行数据 | |
| 2065 | + allRows.forEach(row => { | |
| 2066 | + this.$refs.mulTable.toggleRowSelection(row, true); // 全选所有项 | |
| 2067 | + }); | |
| 2068 | + }, | |
| 2069 | + TabClick(tab, event) { | |
| 2070 | + console.log(tab, event) | |
| 2071 | + if (tab.index == '0') { | |
| 2072 | + this.getAll() | |
| 2073 | + } else { | |
| 2074 | + this.tableData = [] | |
| 2075 | + } | |
| 2076 | + }, | |
| 2077 | + minSev() { | |
| 2078 | + if (this.zhiXing) { | |
| 2079 | + this.tableDa.push(this.mingFrom) | |
| 2080 | + } else { | |
| 2081 | + this.mingFrom.detailsId = this.zhixingList.id | |
| 2082 | + MingAdd(this.mingFrom).then(res => { | |
| 2083 | + this.mingcha(this.zhixingList.id) | |
| 2084 | + }) | |
| 2085 | + } | |
| 2086 | + this.mingFrom = { | |
| 2087 | + detailLtemName: '', | |
| 2088 | + estimatedQuantity: '', | |
| 2089 | + estimatedCost: '', | |
| 2090 | + notes: '' | |
| 2091 | + } | |
| 2092 | + this.addMing = false | |
| 2093 | + }, | |
| 2094 | + // 查询执行明细 | |
| 2095 | + mingcha(id) { | |
| 2096 | + mingTable({ | |
| 2097 | + detailsId: id, | |
| 2098 | + pageNumber: 1, | |
| 2099 | + pageSize: 10 | |
| 2100 | + }).then(res => { | |
| 2101 | + this.tableDa = res.data.content | |
| 2102 | + }) | |
| 2103 | + }, | |
| 2104 | + MingDelete(index, item) { | |
| 2105 | + const h = this.$createElement; | |
| 2106 | + this.$msgbox({ | |
| 2107 | + title: '消息', | |
| 2108 | + message: h('p', null, [ | |
| 2109 | + h('span', null, '是否删除 '), | |
| 2110 | + ]), | |
| 2111 | + showCancelButton: true, | |
| 2112 | + showClose: false, | |
| 2113 | + confirmButtonText: '确定', | |
| 2114 | + cancelButtonText: '取消', | |
| 2115 | + customClass: 'oe-dialog-btn', | |
| 2116 | + beforeClose: (action, instance, done) => { | |
| 2117 | + if (action === 'confirm') { | |
| 2118 | + if (this.zhiXing) { | |
| 2119 | + this.tableDa.splice(item, 1); | |
| 2120 | + } else { | |
| 2121 | + MingDel({ | |
| 2122 | + id: item.id | |
| 2123 | + }).then(res => { | |
| 2124 | + this.mingcha(this.zhixingList.id) | |
| 2125 | + }) | |
| 2126 | + } | |
| 2127 | + done(); | |
| 2128 | + } else { | |
| 2129 | + done(); | |
| 2130 | + } | |
| 2131 | + } | |
| 2132 | + }) | |
| 2133 | + }, | |
| 2134 | + tianMing() { | |
| 2135 | + if (this.zhixingBian) { | |
| 2136 | + this.addMing = true | |
| 2137 | + } | |
| 2138 | + }, | |
| 2139 | + | |
| 2140 | + duibi(){ | |
| 2141 | + if (this.multipleSelection.length ==1 ) { | |
| 2142 | + this.xiaoDui = true | |
| 2143 | + this.duibiOne = this.multipleSelection[0] | |
| 2144 | + console.log(this.multipleSelection[0]) | |
| 2145 | + let that = this | |
| 2146 | + actPage({ | |
| 2147 | + detailsId:this.multipleSelection[0].id, | |
| 2148 | + pageNumber: 1, | |
| 2149 | + pageSize: 10, | |
| 2150 | + }).then(res => { | |
| 2151 | + this.duibiTwo = res.data.content[0] === undefined ? {} : res.data.content[0]; | |
| 2152 | + console.log(this.duibiTwo) | |
| 2153 | + if( res.data.content[0] === undefined || res.data.content[0].totalCostEstimation =='' ){ | |
| 2154 | + that.xiaoduiObj.biliTwo = '0%' | |
| 2155 | + that.xiaoduiObj.biliT = 0 | |
| 2156 | + }else{ | |
| 2157 | + that.xiaoduiObj.biliT = that.duibiTwo.internalLaborCostEstimation / that.duibiTwo.totalCostEstimation*100 | |
| 2158 | + that.xiaoduiObj.biliTwo =`${Math.round(that.duibiTwo.internalLaborCostEstimation / that.duibiTwo.totalCostEstimation*100)}%` | |
| 2159 | + } | |
| 2160 | + | |
| 2161 | + }) | |
| 2162 | + if(that.duibiOne.totalCostEstimation ==''){ | |
| 2163 | + that.xiaoduiObj.biliOne = '0%' | |
| 2164 | + that.xiaoduiObj.bilis = 0 | |
| 2165 | + }else{ | |
| 2166 | + that.xiaoduiObj.bilis = that.duibiOne.internalLaborCostEstimation / that.duibiOne.totalCostEstimation*100 | |
| 2167 | + that.xiaoduiObj.biliOne = `${Math.round(that.duibiOne.internalLaborCostEstimation / that.duibiOne.totalCostEstimation*100)}%` | |
| 2168 | + } | |
| 2169 | + | |
| 2170 | + }else{ | |
| 2171 | + this.$message({ | |
| 2172 | + message: '请选择一个文件对比', | |
| 2173 | + customClass: 'custom-message', | |
| 2174 | + offset: 100 | |
| 2175 | + }) | |
| 2176 | + } | |
| 2177 | + | |
| 2178 | + }, | |
| 2179 | + | |
| 2180 | + koop(item){ | |
| 2181 | + this.copy.id = item.id | |
| 2182 | + this.copyShow = true | |
| 2183 | + }, | |
| 2184 | + copyClose(){ | |
| 2185 | + this.copyShow = false | |
| 2186 | + this.copy.planName = '' | |
| 2187 | + }, | |
| 2188 | + copysev(){ | |
| 2189 | + if(this.copy.planName == ''){ | |
| 2190 | + this.$message({ | |
| 2191 | + message: '请填写数据', | |
| 2192 | + customClass: 'custom-message', | |
| 2193 | + offset: 100 | |
| 2194 | + }) | |
| 2195 | + return; | |
| 2196 | + }else{ | |
| 2197 | + copy(this.copy).then(res=>{ | |
| 2198 | + this.copyShow = false | |
| 2199 | + this.getAll() | |
| 2200 | + }) | |
| 2201 | + } | |
| 2202 | + }, | |
| 2203 | + | |
| 2204 | + | |
| 2205 | + fenleiChange(value){ | |
| 2206 | + this.xinADD.parentId = value[value.length - 1] | |
| 2207 | + }, | |
| 2208 | + | |
| 2209 | + | |
| 2210 | + customFormat(percentage) { | |
| 2211 | + let zong | |
| 2212 | + if(percentage==undefined ||percentage === null || percentage == '' ){ | |
| 2213 | + percentage = 0 | |
| 2214 | + zong = 10000 | |
| 2215 | + } | |
| 2216 | + return `${percentage} / ${percentage==''?zong:parseInt(percentage) *10}`; | |
| 2217 | + }, | |
| 2218 | + baifenbi(item){ | |
| 2219 | + | |
| 2220 | + let zong | |
| 2221 | + if(item == undefined || item === null || item == '' ){ | |
| 2222 | + item = 0 | |
| 2223 | + zong = 10000 | |
| 2224 | + return Math.round(item / (item*10) * 100); | |
| 2225 | + }else{ | |
| 2226 | + return Math.round(item / zong * 100); | |
| 2227 | + } | |
| 2228 | + | |
| 2229 | + }, | |
| 2230 | + handleUploadSuccess(response, file, fileList) { | |
| 2231 | + const fileMsg = { | |
| 2232 | + name:file.name, | |
| 2233 | + url: file.response.data.url, | |
| 2234 | + } | |
| 2235 | + // 将文件地址存储在 uploadedFiles 数组中 | |
| 2236 | + this.fileData.push(fileMsg); | |
| 2237 | + }, | |
| 2238 | + handleRemove(){ | |
| 2239 | + this.fileData = [] | |
| 2240 | + }, | |
| 2241 | + daoru(response, file, fileList){ | |
| 2242 | + this.daoData.push(file.raw) | |
| 2243 | + const formDate = new FormData() | |
| 2244 | + formDate.append('file', this.daoData[0]) | |
| 2245 | + excelAdd(formDate).then(res => { | |
| 2246 | + this.getAll() | |
| 2247 | + }) | |
| 2248 | + }, | |
| 2249 | + | |
| 2250 | + | |
| 2251 | + async daochu(){ | |
| 2252 | + let res = await excelQueryByPage(this.pageindex) | |
| 2253 | + if(!res){ | |
| 2254 | + return | |
| 2255 | + } | |
| 2256 | + const blob = new Blob([res], { type: 'application/vnd.ms-excel' }) | |
| 2257 | + const fileName = '审核流程.xls' | |
| 2258 | + if ('download' in document.createElement('a')) { | |
| 2259 | + // 非IE下载 | |
| 2260 | + const elink = document.createElement('a') | |
| 2261 | + elink.download = fileName | |
| 2262 | + elink.style.display = 'none' | |
| 2263 | + elink.href = URL.createObjectURL(blob) | |
| 2264 | + document.body.appendChild(elink) | |
| 2265 | + elink.click() | |
| 2266 | + URL.revokeObjectURL(elink.href) // 释放URL 对象 | |
| 2267 | + document.body.removeChild(elink) | |
| 2268 | + } else { | |
| 2269 | + // IE10+下载 | |
| 2270 | + navigator.msSaveBlob(blob, fileName) | |
| 2271 | + } | |
| 2272 | + this.$message({ | |
| 2273 | + message: '导出成功', | |
| 2274 | + type: 'success' | |
| 2275 | + }) | |
| 2276 | + | |
| 2277 | + | |
| 2278 | + }, | |
| 2279 | + // 下载 | |
| 2280 | + async downloadPdf() { | |
| 2281 | + const content = this.$refs.actXiang; | |
| 2282 | + | |
| 2283 | + // 使用 html2canvas 将 div 渲染为画布 | |
| 2284 | + const canvas = await html2canvas(content); | |
| 2285 | + | |
| 2286 | + // 获取画布的图像数据 | |
| 2287 | + const imgData = canvas.toDataURL('image/png'); | |
| 2288 | + | |
| 2289 | + // 创建一个新的 PDF 文档 | |
| 2290 | + const pdf = new jsPDF('p', 'mm', 'a4'); | |
| 2291 | + | |
| 2292 | + // 添加图像到 PDF,第二个参数是图像格式,第三个参数是缩放比例 | |
| 2293 | + const imgWidth = 190; // 图像的宽度(mm) | |
| 2294 | + const imgHeight = (canvas.height * imgWidth) / canvas.width; // 保持图像的宽高比 | |
| 2295 | + | |
| 2296 | + pdf.addImage(imgData, 'PNG', 10, 10, imgWidth, imgHeight); // 10, 10 是图像在 PDF 中的位置(mm) | |
| 2297 | + | |
| 2298 | + // 保存 PDF 文件 | |
| 2299 | + pdf.save('氛围方案.pdf'); | |
| 2300 | + }, | |
| 2301 | + // 下载 | |
| 2302 | + async lishidownloadPdf() { | |
| 2303 | + const content = this.$refs.lishiRef; | |
| 2304 | + | |
| 2305 | + // 使用 html2canvas 将 div 渲染为画布 | |
| 2306 | + const canvas = await html2canvas(content); | |
| 2307 | + | |
| 2308 | + // 获取画布的图像数据 | |
| 2309 | + const imgData = canvas.toDataURL('image/png'); | |
| 2310 | + | |
| 2311 | + // 创建一个新的 PDF 文档 | |
| 2312 | + const pdf = new jsPDF('p', 'mm', 'a4'); | |
| 2313 | + | |
| 2314 | + // 添加图像到 PDF,第二个参数是图像格式,第三个参数是缩放比例 | |
| 2315 | + const imgWidth = 190; // 图像的宽度(mm) | |
| 2316 | + const imgHeight = (canvas.height * imgWidth) / canvas.width; // 保持图像的宽高比 | |
| 2317 | + | |
| 2318 | + pdf.addImage(imgData, 'PNG', 10, 10, imgWidth, imgHeight); // 10, 10 是图像在 PDF 中的位置(mm) | |
| 2319 | + | |
| 2320 | + // 保存 PDF 文件 | |
| 2321 | + pdf.save('历史方案.pdf'); | |
| 2322 | + }, | |
| 2323 | + | |
| 2324 | +setSearch(){ | |
| 2325 | +this.searchShow = true | |
| 2326 | +}, | |
| 2327 | +lichange(e){ | |
| 2328 | +console.log(this.liData[e]) | |
| 2329 | +this.lishiList=e | |
| 2330 | + let msg =this.liData[e] | |
| 2331 | +this.duibiList = JSON.parse(msg.modifyContent) | |
| 2332 | +this.lixiang = JSON.parse(msg.originalData) | |
| 2333 | + | |
| 2334 | +}, | |
| 2335 | +tiaozheng(){ | |
| 2336 | + this.tiaozhengShow = true | |
| 2337 | +}, | |
| 2338 | +jiucuo(){ | |
| 2339 | + this.jiuMsg = '' | |
| 2340 | + this.jiucuoShow =true | |
| 2341 | +}, | |
| 2342 | +jiuCheck(){ | |
| 2343 | + xiangedit({id:this.editId,isErrorCorrection:this.jiuMsg}).then(res=>{ | |
| 2344 | + this.jiucuoShow = false | |
| 2345 | + }) | |
| 2346 | +}, | |
| 2347 | +//执行效果保存 | |
| 2348 | + async bianji() { | |
| 2349 | + if(this.fileData.length !=0){ | |
| 2350 | + this.zhixingList.feedbackContent = this.fileData[0].url | |
| 2351 | + } | |
| 2352 | + if (this.zhiXing) { | |
| 2353 | + this.zhixingList.eventStartTime = this.zhixingList.planTime[0] | |
| 2354 | + this.zhixingList.eventEndTime = this.zhixingList.planTime[1] | |
| 2355 | + this.zhixingList.detailsId = this.secondData.id | |
| 2356 | + this.zhixingList.createDate = this.updateCurrentTime() | |
| 2357 | + actAdd(this.zhixingList).then(res => { | |
| 2358 | + for (let i = 0; i < this.tableDa.length; i++) { | |
| 2359 | + this.tableDa[i].detailsId = res.data.id | |
| 2360 | + MingAdd(this.tableDa[i]).then(res => { | |
| 2361 | + this.$message({ | |
| 2362 | + message: '保存成功', | |
| 2363 | + type: 'success' | |
| 2364 | + }) | |
| 2365 | + }) | |
| 2366 | + } | |
| 2367 | + }) | |
| 2368 | + | |
| 2369 | + } else { | |
| 2370 | + let that = this | |
| 2371 | + Vue.delete(that.zhixingList,'createDate') | |
| 2372 | + this.zhixingList.eventStartTime = this.zhixingList.planTime[0] | |
| 2373 | + this.zhixingList.eventEndTime = this.zhixingList.planTime[1] | |
| 2374 | + Vue.delete(that.zhixingList,'planTime') | |
| 2375 | + this.zhixingList.updateDate = '' | |
| 2376 | + await actEdit(this.zhixingList) | |
| 2377 | + this.$message({ | |
| 2378 | + message: '保存成功', | |
| 2379 | + type: 'success' | |
| 2380 | + }) | |
| 2381 | + } | |
| 2382 | + | |
| 2383 | + this.ggXin = false | |
| 2384 | + this.getAll() | |
| 2385 | + }, | |
| 2386 | + searchQuit(){ | |
| 2387 | + this.searPei={ | |
| 2388 | + name:true, | |
| 2389 | + lei:false, | |
| 2390 | + staut:false, | |
| 2391 | + } | |
| 2392 | + this.searchShow=false | |
| 2393 | + } | |
| 2394 | + } | |
| 2395 | + } | |
| 2396 | +</script> | |
| 2397 | + | |
| 2398 | +<style scoped> | |
| 2399 | + .custom-tree-node { | |
| 2400 | + flex: 1; | |
| 2401 | + display: flex; | |
| 2402 | + align-items: center; | |
| 2403 | + justify-content: space-between; | |
| 2404 | + font-size: 14px; | |
| 2405 | + padding-right: 8px; | |
| 2406 | + } | |
| 2407 | + /deep/ .first-column-bg { | |
| 2408 | + background-color: #f4f4f5 !important; | |
| 2409 | + } | |
| 2410 | + | |
| 2411 | + .zhuti { | |
| 2412 | + padding: 0 20px 20px 20px; | |
| 2413 | + min-height: calc(100vh - 50px - 20px); | |
| 2414 | + background-color: #Fff; | |
| 2415 | + | |
| 2416 | + } | |
| 2417 | +::v-deep .el-form-item{ | |
| 2418 | + margin-bottom:16px; | |
| 2419 | +} | |
| 2420 | + /deep/ .el-form-item__content { | |
| 2421 | + line-height: 0; | |
| 2422 | + } | |
| 2423 | + | |
| 2424 | + .tableBtn { | |
| 2425 | + display: inline-block; | |
| 2426 | + margin-right: 10px; | |
| 2427 | + } | |
| 2428 | + | |
| 2429 | + .formSearch { | |
| 2430 | + display: flex; | |
| 2431 | + width: 100%; | |
| 2432 | + font-size: 14px; | |
| 2433 | + justify-content: space-between; | |
| 2434 | + padding-bottom: 10px; | |
| 2435 | + align-items: center; | |
| 2436 | + } | |
| 2437 | + | |
| 2438 | + .greens { | |
| 2439 | + color: #3F9B6A; | |
| 2440 | + } | |
| 2441 | + | |
| 2442 | + /deep/ .el-table__row { | |
| 2443 | + font-size: 14px; | |
| 2444 | + color:#000000e6; | |
| 2445 | + height:42px; | |
| 2446 | + } | |
| 2447 | + | |
| 2448 | + .fenye { | |
| 2449 | + margin-top: 20px; | |
| 2450 | + display: flex; | |
| 2451 | + justify-content: space-between; | |
| 2452 | + position: relative; | |
| 2453 | + } | |
| 2454 | + | |
| 2455 | + /deep/ .el-pagination.is-background .el-pager li:not(.disabled).active { | |
| 2456 | + background-color: #3F9B6A; | |
| 2457 | + } | |
| 2458 | + | |
| 2459 | + .el-row { | |
| 2460 | + margin-bottom: 20px; | |
| 2461 | + } | |
| 2462 | + | |
| 2463 | + :last-child { | |
| 2464 | + margin-bottom: 0; | |
| 2465 | + } | |
| 2466 | + | |
| 2467 | + .el-col { | |
| 2468 | + border-radius: 4px; | |
| 2469 | + } | |
| 2470 | + | |
| 2471 | + .bg-purple-dark { | |
| 2472 | + background: #99a9bf; | |
| 2473 | + } | |
| 2474 | + | |
| 2475 | + .bg-purple { | |
| 2476 | + /* background: #d3dce6; */ | |
| 2477 | + } | |
| 2478 | + | |
| 2479 | + .bg-purple-light { | |
| 2480 | + background: #e5e9f2; | |
| 2481 | + } | |
| 2482 | + | |
| 2483 | + .grid-content { | |
| 2484 | + border-radius: 4px; | |
| 2485 | + min-height: 36px; | |
| 2486 | + } | |
| 2487 | + | |
| 2488 | + .row-bg { | |
| 2489 | + padding: 10px 0; | |
| 2490 | + background-color: #f9fafc; | |
| 2491 | + } | |
| 2492 | + | |
| 2493 | + /deep/ .bg-purple[data-v-0e3fe4ec] { | |
| 2494 | + background: #fff; | |
| 2495 | + height: 50px; | |
| 2496 | + } | |
| 2497 | + | |
| 2498 | + /deep/ .el-form--label-top .el-form-item__label { | |
| 2499 | + padding: 0; | |
| 2500 | + } | |
| 2501 | + | |
| 2502 | + | |
| 2503 | + .pagination { | |
| 2504 | + text-align: right; | |
| 2505 | + line-height: 20px; | |
| 2506 | + } | |
| 2507 | + | |
| 2508 | + /deep/ .el-pagination__total { | |
| 2509 | + margin-top: 4px; | |
| 2510 | + } | |
| 2511 | + | |
| 2512 | +::v-deep .xiang_css{ | |
| 2513 | + margin-top:11vh !important; | |
| 2514 | + margin-left: 13%; | |
| 2515 | + max-height:600px; | |
| 2516 | + overflow-y: auto; | |
| 2517 | +} | |
| 2518 | + /deep/ .dialog_css { | |
| 2519 | + margin-top: 11vh; | |
| 2520 | + margin-left: 25%; | |
| 2521 | + padding: 0px; | |
| 2522 | + | |
| 2523 | + .el-dialog__title { | |
| 2524 | + font-size: 14px; | |
| 2525 | + color: #000000e6; | |
| 2526 | + } | |
| 2527 | + } | |
| 2528 | + | |
| 2529 | + /deep/.el-dialog__body { | |
| 2530 | + padding: 0px; | |
| 2531 | + } | |
| 2532 | + | |
| 2533 | + /deep/ .el-dialog__header { | |
| 2534 | + background-color: #fff; | |
| 2535 | + } | |
| 2536 | + | |
| 2537 | + /deep/.el-dialog__title { | |
| 2538 | + font-size: 14px; | |
| 2539 | + color: #000000e6; | |
| 2540 | + } | |
| 2541 | + | |
| 2542 | + .el-row { | |
| 2543 | + margin-bottom: 20px; | |
| 2544 | + | |
| 2545 | + &:last-child { | |
| 2546 | + margin-bottom: 0; | |
| 2547 | + } | |
| 2548 | + } | |
| 2549 | + | |
| 2550 | + /deep/ .avatar-uploader .el-upload { | |
| 2551 | + border: 1px dashed #d9d9d9; | |
| 2552 | + border-radius: 6px; | |
| 2553 | + cursor: pointer; | |
| 2554 | + position: relative; | |
| 2555 | + overflow: hidden; | |
| 2556 | + } | |
| 2557 | + | |
| 2558 | + .avatar-uploader .el-upload:hover { | |
| 2559 | + border-color: #409EFF; | |
| 2560 | + } | |
| 2561 | + | |
| 2562 | + .avatar-uploader-icon { | |
| 2563 | + font-size: 28px; | |
| 2564 | + color: #8c939d; | |
| 2565 | + width: 108px; | |
| 2566 | + height: 108px; | |
| 2567 | + line-height: 108px; | |
| 2568 | + /*text-align: center;*/ | |
| 2569 | + } | |
| 2570 | + | |
| 2571 | + .avatar { | |
| 2572 | + width: 108px; | |
| 2573 | + height: 108px; | |
| 2574 | + display: block; | |
| 2575 | + } | |
| 2576 | + | |
| 2577 | + ::v-deep .el-tabs__item.is-active { | |
| 2578 | + color: #3F9B6A; | |
| 2579 | + opacity: 1; | |
| 2580 | + } | |
| 2581 | + | |
| 2582 | + /deep/ .el-tabs__nav-wrap::after { | |
| 2583 | + background-color: #fff; | |
| 2584 | + } | |
| 2585 | + | |
| 2586 | + ::v-deep .el-tabs__item:hover { | |
| 2587 | + color: #3F9B6A; | |
| 2588 | + cursor: pointer; | |
| 2589 | + opacity: 1; | |
| 2590 | + } | |
| 2591 | + | |
| 2592 | + /deep/ .el-tabs__active-bar { | |
| 2593 | + background-color: #389865; | |
| 2594 | + } | |
| 2595 | + | |
| 2596 | + /deep/ .el-table_2_column_13 { | |
| 2597 | + font-weight: 100; | |
| 2598 | + } | |
| 2599 | +::v-deep .el-input__inner{ | |
| 2600 | + height:32px; | |
| 2601 | + line-height:32px; | |
| 2602 | +} | |
| 2603 | + ::v-deep .el-input__inner:focus { | |
| 2604 | + border: #3F9B6A 1px solid; | |
| 2605 | + } | |
| 2606 | + | |
| 2607 | + ::v-deep .el-input__inner:hover { | |
| 2608 | + border: #3F9B6A 1px solid; | |
| 2609 | + } | |
| 2610 | + | |
| 2611 | + ::v-deep .el-select .el-input.is-focus .el-input__inner { | |
| 2612 | + border-color: #3F9B6A | |
| 2613 | + } | |
| 2614 | + | |
| 2615 | + ::v-deep .el-form-item__label { | |
| 2616 | + font-weight: 100; | |
| 2617 | + font-size: 14px; | |
| 2618 | + color:#000000e6; | |
| 2619 | + } | |
| 2620 | + | |
| 2621 | + /* ::v-deep .el-steps .el-step__head.is-wait { | |
| 2622 | + background-color: red; /* 修改为你想要的颜色 */ | |
| 2623 | + | |
| 2624 | + /* 修改未进行步骤的描述文字颜色 */ | |
| 2625 | + ::v-deep .el-steps .el-step__description.is-wait { | |
| 2626 | + color: #999; | |
| 2627 | + /* 修改为你想要的颜色 */ | |
| 2628 | + } | |
| 2629 | + | |
| 2630 | + /* 修改未进行步骤的图标颜色 */ | |
| 2631 | + ::v-deep .el-steps .el-step__icon.is-text.is-wait { | |
| 2632 | + color: #999; | |
| 2633 | + /* 修改为你想要的颜色 */ | |
| 2634 | + } | |
| 2635 | + | |
| 2636 | + /* 修改未进行步骤的边框色 */ | |
| 2637 | + ::v-deep .el-steps .el-step__line.is-wait { | |
| 2638 | + border-color: #eee; | |
| 2639 | + /* 修改为你想要的颜色 */ | |
| 2640 | + } | |
| 2641 | + | |
| 2642 | + ::v-deep .el-steps .is-process .el-step__line { | |
| 2643 | + background-color: #3F9B6A; | |
| 2644 | + /* 修改线的颜色 */ | |
| 2645 | + } | |
| 2646 | + | |
| 2647 | + ::v-deep .el-steps .is-process .el-step__title { | |
| 2648 | + color: #fe7b6a; | |
| 2649 | + /* 修改进行中步骤的标题颜色 */ | |
| 2650 | + } | |
| 2651 | + | |
| 2652 | + ::v-deep .el-steps .is-process .el-step__icon { | |
| 2653 | + color: #fff; | |
| 2654 | + /* 修改进行中步骤的图标颜色 */ | |
| 2655 | + background: #3F9B6A; | |
| 2656 | + /* 修改进行中步骤图标的边框颜色 */ | |
| 2657 | + border: 0px; | |
| 2658 | + } | |
| 2659 | + | |
| 2660 | + ::v-deep .el-step__icon-inner { | |
| 2661 | + line-height: 0 | |
| 2662 | + } | |
| 2663 | + | |
| 2664 | + /* 线条长度 */ | |
| 2665 | + ::v-deep .el-step.is-vertical .el-step__line { | |
| 2666 | + top: 30px; | |
| 2667 | + height: 60px; | |
| 2668 | + } | |
| 2669 | + | |
| 2670 | + .fenlan { | |
| 2671 | + display: flex; | |
| 2672 | + } | |
| 2673 | + | |
| 2674 | + .souLei { | |
| 2675 | + border: 1px solid #d7d7d7; | |
| 2676 | + background-color: #fff; | |
| 2677 | + width:300px; | |
| 2678 | + margin-right:20px; | |
| 2679 | + | |
| 2680 | + } | |
| 2681 | +::v-deep .el-menu{ | |
| 2682 | + border-right:0px; | |
| 2683 | +} | |
| 2684 | +::v-deep .el-menu-item{ | |
| 2685 | + height:36px; | |
| 2686 | + line-height: 33px; | |
| 2687 | +} | |
| 2688 | + | |
| 2689 | +::v-deep .el-submenu__title{ | |
| 2690 | + height:36px; | |
| 2691 | + line-height: 33px; | |
| 2692 | + font-weight:600; | |
| 2693 | + border-radius:4px; | |
| 2694 | + margin:4px 0; | |
| 2695 | +} | |
| 2696 | +::v-deep .el-menu-item-group__title{ | |
| 2697 | + padding:0px | |
| 2698 | +} | |
| 2699 | + ::v-deep .fudan{ | |
| 2700 | + font-weight:600; | |
| 2701 | + border-radius:4px; | |
| 2702 | + padding-left:29px !important; | |
| 2703 | + margin:4px 0; | |
| 2704 | + } | |
| 2705 | + ::v-deep .chinddan{ | |
| 2706 | + margin:5px 0; | |
| 2707 | + } | |
| 2708 | +</style> | |
| 2709 | +<style lang="scss" scoped> | |
| 2710 | + ::v-deep .el-table tr:hover{ | |
| 2711 | + background-color: #F0F7F3 !important; | |
| 2712 | + } | |
| 2713 | + ::v-deep .souTabs { | |
| 2714 | + padding:0 15px 0 12px; | |
| 2715 | + .el-submenu{ | |
| 2716 | + padding:0px; | |
| 2717 | + } | |
| 2718 | + .el-menu-item:focus, .el-menu-item:hover{ | |
| 2719 | + background-color: #3F9B6A !important; | |
| 2720 | + } | |
| 2721 | + .el-menu-item:hover{ | |
| 2722 | + background-color:#3f9b6a1a !important; | |
| 2723 | + color:#000 !important; | |
| 2724 | + } | |
| 2725 | + .el-tabs--left .el-tabs__header.is-left { | |
| 2726 | + width: 100%; | |
| 2727 | + margin-right: 0px; | |
| 2728 | + } | |
| 2729 | + | |
| 2730 | + .el-tabs--left .el-tabs__item.is-left { | |
| 2731 | + text-align: center; | |
| 2732 | + } | |
| 2733 | + | |
| 2734 | + .el-tabs__item.is-active { | |
| 2735 | + background-color: #DEEBE2; | |
| 2736 | + } | |
| 2737 | + } | |
| 2738 | + | |
| 2739 | + ::v-deep .tableList { | |
| 2740 | + width: 100%; | |
| 2741 | + } | |
| 2742 | + ::v-deep .fenxi_css{ | |
| 2743 | + margin-top: 9vh !important; | |
| 2744 | + margin-left: 10%; | |
| 2745 | + .el-dialog__header{ | |
| 2746 | + padding:0; | |
| 2747 | + } | |
| 2748 | + .el-tabs--border-card { | |
| 2749 | + border: none; | |
| 2750 | + -webkit-box-shadow:none; | |
| 2751 | + box-shadow:none; | |
| 2752 | + .el-tabs__content{ | |
| 2753 | + border: 1px solid #E4E7ED; | |
| 2754 | + padding:0; | |
| 2755 | + } | |
| 2756 | + .el-tabs__header{ | |
| 2757 | + background-color: #fff; | |
| 2758 | + border-bottom:none; | |
| 2759 | + } | |
| 2760 | + .el-tabs__content{ | |
| 2761 | + border: none; | |
| 2762 | + } | |
| 2763 | + .el-tabs__header .el-tabs__item{ | |
| 2764 | + border: none; | |
| 2765 | + margin-right: 10px; | |
| 2766 | + background-color: #F2F2F2; | |
| 2767 | + font-size:12px; | |
| 2768 | + border-top-left-radius: 8px; | |
| 2769 | + border-top-right-radius: 8px; | |
| 2770 | + padding:0 15px; | |
| 2771 | + } | |
| 2772 | + .el-tabs__header .el-tabs__item.is-active{ | |
| 2773 | + color:#fff; | |
| 2774 | + background-color: #3F9B6A; | |
| 2775 | + } | |
| 2776 | + .el-tabs__header .el-tabs__item:not(.is-disabled):hover{ | |
| 2777 | + color:#3F9B6A; | |
| 2778 | + } | |
| 2779 | + } | |
| 2780 | + | |
| 2781 | + } | |
| 2782 | + ::v-deep .xiaoguo_css{ | |
| 2783 | + margin-top: 30vh !important; | |
| 2784 | + margin-left: 25%; | |
| 2785 | + .el-dialog__header{ | |
| 2786 | + padding:0; | |
| 2787 | + } | |
| 2788 | + .el-tabs--border-card { | |
| 2789 | + border: none; | |
| 2790 | + -webkit-box-shadow:none; | |
| 2791 | + box-shadow:none; | |
| 2792 | + .el-tabs__content{ | |
| 2793 | + border: 1px solid #E4E7ED; | |
| 2794 | + padding:0; | |
| 2795 | + } | |
| 2796 | + .el-tabs__header{ | |
| 2797 | + background-color: #fff; | |
| 2798 | + border-bottom:none; | |
| 2799 | + } | |
| 2800 | + .el-tabs__content{ | |
| 2801 | + border: none; | |
| 2802 | + } | |
| 2803 | + .el-tabs__header .el-tabs__item{ | |
| 2804 | + border: none; | |
| 2805 | + margin-right: 10px; | |
| 2806 | + background-color: #F2F2F2; | |
| 2807 | + font-size:12px; | |
| 2808 | + border-top-left-radius: 8px; | |
| 2809 | + border-top-right-radius: 8px; | |
| 2810 | + padding:0 15px; | |
| 2811 | + } | |
| 2812 | + .el-tabs__header .el-tabs__item.is-active{ | |
| 2813 | + color:#fff; | |
| 2814 | + background-color: #3F9B6A; | |
| 2815 | + } | |
| 2816 | + .el-tabs__header .el-tabs__item:not(.is-disabled):hover{ | |
| 2817 | + color:#3F9B6A; | |
| 2818 | + } | |
| 2819 | + } | |
| 2820 | + } | |
| 2821 | + ::v-deep .demo-input-suffix { | |
| 2822 | + display: flex; | |
| 2823 | + margin-right: 20px; | |
| 2824 | + width: 83%; | |
| 2825 | + | |
| 2826 | + .el-input__inner{ | |
| 2827 | + height:32px; | |
| 2828 | + } | |
| 2829 | + } | |
| 2830 | + ::v-deep .el-input__icon{ | |
| 2831 | + line-height:25px; | |
| 2832 | + } | |
| 2833 | + ::v-deep .el-input--mini .el-input__icon{ | |
| 2834 | + line-height:33px; | |
| 2835 | + } | |
| 2836 | + | |
| 2837 | + ::v-deep .buttonHover:hover{ | |
| 2838 | + color:#3f9b6a !important; | |
| 2839 | + border-color: #c5e1d2 !important; | |
| 2840 | + background-color: #ecf5f0 !important; | |
| 2841 | + outline: none; | |
| 2842 | + } | |
| 2843 | + ::v-deep .DelBtnHover:hover{ | |
| 2844 | + color:#fff !important; | |
| 2845 | + border-color: rgb(226, 78, 90) !important; | |
| 2846 | + background-color: rgb(226, 78, 90) !important; | |
| 2847 | + outline: none; | |
| 2848 | + } | |
| 2849 | +::v-deep .el-menu-item.is-active { | |
| 2850 | + background-color: #3F9B6A !important; | |
| 2851 | +} | |
| 2852 | +::v-deep .jindutiao{ | |
| 2853 | + display:flex; | |
| 2854 | + align-items:center; | |
| 2855 | + margin-bottom:15px; | |
| 2856 | + .el-progress-bar__outer{ | |
| 2857 | + border-radius:0px; | |
| 2858 | + } | |
| 2859 | + .el-progress-bar__inner{ | |
| 2860 | + border-radius:0px; | |
| 2861 | + } | |
| 2862 | +} | |
| 2863 | + | |
| 2864 | +</style> | ... | ... |
admin-web-master/src/views/atmosphere/atmosphereSp.vue
| ... | ... | @@ -59,14 +59,15 @@ |
| 59 | 59 | {{scope.row.state == ''?'待提交':scope.row.state == '1'?'待审批':scope.row.state == '2'?'部门领导审批':scope.row.state == '3'?'公司领导审批':scope.row.state == '4'?'其他审批':scope.row.state == '5'?'审核通过':'已驳回'}} |
| 60 | 60 | </template> |
| 61 | 61 | </el-table-column> |
| 62 | - <el-table-column label="修改时间" prop="createDate" min-width="250" > | |
| 62 | + <el-table-column label="创建时间" prop="createDate" min-width="250" > | |
| 63 | 63 | </el-table-column> |
| 64 | - <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 | 67 | <el-table-column label="操作" min-width="200"> |
| 68 | 68 | <template slot-scope="scope"> |
| 69 | - <div @click="actSp(scope.row)" class="tableBtn greens" v-if="scope.row.state != ''">OA流程审批</div> | |
| 69 | + <div class="tableBtn greens" @click="handleEditForm(scope.row,1)">查看</div> | |
| 70 | + <div @click="actSp(scope.row)" class="tableBtn greens" v-if="scope.row.state == '1'">审核</div> | |
| 70 | 71 | </template> |
| 71 | 72 | </el-table-column> |
| 72 | 73 | </el-table> |
| ... | ... | @@ -196,7 +197,7 @@ |
| 196 | 197 | </div> |
| 197 | 198 | </div> |
| 198 | 199 | <div style="padding:55px 10px 10px 10px;background-color:#fff;position:relative"> |
| 199 | - <div style="position: absolute;top: 60px;right: 10px; z-index: 10;"> | |
| 200 | + <!-- <div style="position: absolute;top: 60px;right: 10px; z-index: 10;"> | |
| 200 | 201 | <el-radio-group v-model="radio1" size="mini" style="margin-right:10px"> |
| 201 | 202 | <el-radio-button label="本周"></el-radio-button> |
| 202 | 203 | <el-radio-button label="本月"></el-radio-button> |
| ... | ... | @@ -213,7 +214,7 @@ |
| 213 | 214 | start-placeholder="开始日期" |
| 214 | 215 | end-placeholder="结束日期"> |
| 215 | 216 | </el-date-picker> |
| 216 | - </div> | |
| 217 | + </div> --> | |
| 217 | 218 | <el-tabs type="border-card" @tab-click="TabClick"> |
| 218 | 219 | <el-tab-pane label="整体效果分析"> |
| 219 | 220 | <el-table :data="dataList" |
| ... | ... | @@ -400,7 +401,7 @@ |
| 400 | 401 | style="position: relative"> |
| 401 | 402 | <el-date-picker style="width: 100%;" v-model="secondData.planTime" value-format="yyyy-MM-dd HH:mm:ss" |
| 402 | 403 | type="datetimerange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" disabled |
| 403 | - align="right" @change="dateFormat"> | |
| 404 | + align="right"> | |
| 404 | 405 | </el-date-picker> |
| 405 | 406 | </el-form-item> |
| 406 | 407 | </el-col> |
| ... | ... | @@ -756,6 +757,376 @@ |
| 756 | 757 | </el-dialog> |
| 757 | 758 | </div> |
| 758 | 759 | </div> |
| 760 | + <el-dialog title="氛围方案详情" :visible.sync="ggXin" custom-class='xiang_css' style="padding: 0;" width="80%" | |
| 761 | + center :close-on-click-modal="false" :close-on-press-escape="false" @close="refreshData"> | |
| 762 | + <div ref="actXiang"> | |
| 763 | + <div style="width: 100%;"> | |
| 764 | + <div style="display: flex;padding:0px 20px 20px 20px; "> | |
| 765 | + <div style="width: 150px;height: 80px;" v-if="secondData.coverPoster"> | |
| 766 | + <img :src="secondData.coverPoster" alt="" style="width: 100%;height: 80px;"/> | |
| 767 | + </div> | |
| 768 | + <div | |
| 769 | + style="display: flex;flex-direction: column;justify-content: space-around;padding: 0 10px;font-size: 12px;"> | |
| 770 | + <span style="margin-bottom: 10px;">{{text}}</span> | |
| 771 | + <span>活动时间:{{tableData1[1].eventTheme}}至{{tableData1[1].planName}}</span> | |
| 772 | + <span>活动地点:{{tableData1[0].planName}}</span> | |
| 773 | + </div> | |
| 774 | + </div> | |
| 775 | + </div> | |
| 776 | + <div style="width: 100%;background-color: #fff;"> | |
| 777 | + <el-tabs v-model="activeName" @tab-click="handleClick" style="padding-left:20px;"> | |
| 778 | + <el-tab-pane label="方案概况" name="first"></el-tab-pane> | |
| 779 | + <el-tab-pane label="执行效果" name="second"></el-tab-pane> | |
| 780 | + </el-tabs> | |
| 781 | + </div> | |
| 782 | + <div v-if="activeName=='first'" style="display: flex;"> | |
| 783 | + <div style="width: 100%;"> | |
| 784 | + <div style="width: 100%;"> | |
| 785 | + <div style="font-size: 12px;padding: 10px 20px 0px 20px;">基本信息</div> | |
| 786 | + <div style="padding: 10px 20px;"> | |
| 787 | + <el-table :data="tableData1" | |
| 788 | + :header-cell-style="{fontSize: '12px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}" | |
| 789 | + style="width: 100%;margin: auto;"> | |
| 790 | + <el-table-column class-name="first-column-bg" label="方案编号" prop="name" min-width="15%"> | |
| 791 | + </el-table-column> | |
| 792 | + <el-table-column :label="id" prop="eventTheme" min-width="35%"> | |
| 793 | + | |
| 794 | + </el-table-column> | |
| 795 | + <el-table-column class-name="first-column-bg" label="方案名称" prop="text" min-width="15%"> | |
| 796 | + | |
| 797 | + </el-table-column> | |
| 798 | + <el-table-column :label="text" prop="planName" min-width="35%"> | |
| 799 | + | |
| 800 | + </el-table-column> | |
| 801 | + </el-table> | |
| 802 | + | |
| 803 | + | |
| 804 | + </div> | |
| 805 | + </div> | |
| 806 | + <div style="width: 100%;"> | |
| 807 | + <div style="font-size: 12px;padding: 10px 20px 0px 20px;">活动明细信息</div> | |
| 808 | + <div style="padding: 10px 20px;"> | |
| 809 | + <el-table :data="tableData2" | |
| 810 | + :header-cell-style="{fontSize: '12px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}" | |
| 811 | + style="width: 100%;margin: auto;"> | |
| 812 | + <el-table-column label="序号" min-width="5%" align='center'> | |
| 813 | + <template slot-scope="scope"> | |
| 814 | + <span style="">{{ scope.$index +1}}</span> | |
| 815 | + </template> | |
| 816 | + </el-table-column> | |
| 817 | + <el-table-column label="明细项名称" prop="detailLtemName" min-width="28%"> | |
| 818 | + </el-table-column> | |
| 819 | + <el-table-column label="预估数量" prop="estimatedQuantity" min-width="20%"> | |
| 820 | + | |
| 821 | + </el-table-column> | |
| 822 | + <el-table-column label="预估费用" prop="estimatedCost" min-width="20%"> | |
| 823 | + | |
| 824 | + </el-table-column> | |
| 825 | + <el-table-column label="备注" prop="notes" min-width="20%"> | |
| 826 | + </el-table-column> | |
| 827 | + </el-table> | |
| 828 | + </div> | |
| 829 | + </div> | |
| 830 | + <div style="width: 100%;"> | |
| 831 | + <div style="font-size: 12px;padding: 10px 20px 0px 20px;">活动成本信息</div> | |
| 832 | + <div style="padding:10px 20px;"> | |
| 833 | + <el-table :data="tableData3" | |
| 834 | + :header-cell-style="{fontSize: '12px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}" | |
| 835 | + style="width: 100%;margin: auto;"> | |
| 836 | + <el-table-column class-name="first-column-bg" label="内部人力成本预估" prop="name" min-width="15%"> | |
| 837 | + </el-table-column> | |
| 838 | + <el-table-column :label="internalLaborCostEstimation" prop="eventTheme" min-width="35%"> | |
| 839 | + | |
| 840 | + </el-table-column> | |
| 841 | + <el-table-column class-name="first-column-bg" label="外部人力成本预估" prop="text" min-width="15%"> | |
| 842 | + | |
| 843 | + </el-table-column> | |
| 844 | + <el-table-column :label="externalLaborCostEstimation" prop="planName" min-width="35%"> | |
| 845 | + | |
| 846 | + </el-table-column> | |
| 847 | + </el-table> | |
| 848 | + </div> | |
| 849 | + </div> | |
| 850 | + <div style="width: 100%;"> | |
| 851 | + <div style="font-size: 12px;padding:10px 20px 0px 20px;">预估效果</div> | |
| 852 | + <div style="padding:10px 20px;"> | |
| 853 | + <el-table :data="tableData4" | |
| 854 | + :header-cell-style="{fontSize: '12px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}" | |
| 855 | + style="width: 100%;margin: auto;"> | |
| 856 | + <el-table-column class-name="first-column-bg" label="预计吸引流量" prop="name" min-width="15%"> | |
| 857 | + </el-table-column> | |
| 858 | + <el-table-column :label="expectedAttractTraffic" prop="eventTheme" min-width="35%"> | |
| 859 | + | |
| 860 | + </el-table-column> | |
| 861 | + <el-table-column class-name="first-column-bg" label="预计参与人数" prop="text" min-width="15%"> | |
| 862 | + | |
| 863 | + </el-table-column> | |
| 864 | + <el-table-column :label="expectedParticipation" prop="planName" min-width="35%"> | |
| 865 | + | |
| 866 | + </el-table-column> | |
| 867 | + </el-table> | |
| 868 | + </el-table-column> | |
| 869 | + </div> | |
| 870 | + </div> | |
| 871 | + <div style="width: 100%;"> | |
| 872 | + <div style="font-size: 12px;padding: 10px 20px 0px 20px;">相关附件信息</div> | |
| 873 | + <div style="padding:10px 20px;"> | |
| 874 | + <el-table :data="tableData6" | |
| 875 | + :header-cell-style="{fontSize: '12px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}" | |
| 876 | + style="width: 100%;margin: auto;"> | |
| 877 | + <el-table-column label="序号" min-width="5%" align='center'> | |
| 878 | + <template slot-scope="scope"> | |
| 879 | + <span style="">{{ scope.$index + 1 }}</span> | |
| 880 | + </template> | |
| 881 | + </el-table-column> | |
| 882 | + <el-table-column label="附件名称" prop="attachmentName" min-width="75%"> | |
| 883 | + | |
| 884 | + </el-table-column> | |
| 885 | + <el-table-column label="操作" prop="text" min-width="20%"> | |
| 886 | + <template slot-scope="scope"> | |
| 887 | + <a class="tableBtn greens" :href="scope.row.attachmentUrl" target="_blank" download>下载</a> | |
| 888 | + </template> | |
| 889 | + </el-table-column> | |
| 890 | + | |
| 891 | + </el-table> | |
| 892 | + </div> | |
| 893 | + </div> | |
| 894 | + <div style="width: 100%;"> | |
| 895 | + <div style="font-size: 12px;padding: 10px 20px 0px 20px;">系统信息</div> | |
| 896 | + <div style="padding:10px 20px;"> | |
| 897 | + <el-table :data="tableData5" | |
| 898 | + :header-cell-style="{fontSize: '12px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}" | |
| 899 | + style="width: 100%;margin: auto;"> | |
| 900 | + <el-table-column class-name="first-column-bg" label="创建人" prop="name" min-width="15%"> | |
| 901 | + </el-table-column> | |
| 902 | + <el-table-column :label="createUser" prop="eventTheme" min-width="35%"> | |
| 903 | + | |
| 904 | + </el-table-column> | |
| 905 | + <el-table-column class-name="first-column-bg" label="创建时间" prop="text" min-width="15%"> | |
| 906 | + | |
| 907 | + </el-table-column> | |
| 908 | + <el-table-column :label="createDate" prop="planName" min-width="35%"> | |
| 909 | + | |
| 910 | + </el-table-column> | |
| 911 | + </el-table> | |
| 912 | + </div> | |
| 913 | + </div> | |
| 914 | + </div> | |
| 915 | + | |
| 916 | + </div> | |
| 917 | + <div v-if="activeName=='second'"> | |
| 918 | + | |
| 919 | + <div style="padding: 20px"> | |
| 920 | + <div style="border: solid 1px #E5E5E5;border-radius: 5px"> | |
| 921 | + <div style="border-bottom: 1px solid #E5E5E5;padding: 1px"> | |
| 922 | + <div style="padding: 10px 20px;background-color: #FAFAFA;font-size: 12px;"> | |
| 923 | + 基本信息 | |
| 924 | + </div> | |
| 925 | + </div> | |
| 926 | + <div style="padding: 20px 40px 20px 20px"> | |
| 927 | + <el-form label-position="top" ref="ruleFormInfo" :model="zhixingList" label-width="120px" | |
| 928 | + style="position: relative"> | |
| 929 | + <el-row :gutter="20"> | |
| 930 | + <el-col :span="8"> | |
| 931 | + <el-form-item label="活动名称" class="grid-content bg-purple device-from" prop="name"> | |
| 932 | + <el-input v-model="zhixingList.planName" placeholder="请输入" :disabled="!zhixingBian"/> | |
| 933 | + </el-form-item> | |
| 934 | + </el-col> | |
| 935 | + <el-col :span="8"> | |
| 936 | + <el-form-item label="实际举办地点" class="grid-content bg-purple" prop="name"> | |
| 937 | + <el-input v-model="zhixingList.eventAddrs" placeholder="请输入" :disabled="!zhixingBian"/> | |
| 938 | + </el-form-item> | |
| 939 | + </el-col> | |
| 940 | + | |
| 941 | + <el-col :span="8"> | |
| 942 | + <el-form-item label="实际举办时间" class="grid-content bg-purple" prop="event_start_time" | |
| 943 | + style="position: relative"> | |
| 944 | + <el-date-picker style="width: 100%;" v-model="zhixingList.planTime" value-format="yyyy-MM-dd HH:mm:ss" | |
| 945 | + :disabled="!zhixingBian" @input="formTime" | |
| 946 | + type="datetimerange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" | |
| 947 | + align="right"> | |
| 948 | + </el-date-picker> | |
| 949 | + </el-form-item> | |
| 950 | + </el-col> | |
| 951 | + </el-row> | |
| 952 | + | |
| 953 | + <el-row :gutter="20"> | |
| 954 | + <el-col :span="8"> | |
| 955 | + <el-form-item label="活动主办方" class="grid-content bg-purple" prop="name"> | |
| 956 | + <el-input v-model="zhixingList.sponsor" placeholder="请输入" :disabled="!zhixingBian"/> | |
| 957 | + </el-form-item> | |
| 958 | + </el-col> | |
| 959 | + <el-col :span="8"> | |
| 960 | + <el-form-item label="活动实际参与方" class="grid-content bg-purple" prop="name"> | |
| 961 | + <el-input v-model="zhixingList.participants" placeholder="请输入" :disabled="!zhixingBian"/> | |
| 962 | + </el-form-item> | |
| 963 | + </el-col> | |
| 964 | + </el-row> | |
| 965 | + </el-form> | |
| 966 | + </div> | |
| 967 | + </div> | |
| 968 | + </div> | |
| 969 | + <div style="padding: 0px 20px 20px 20px"> | |
| 970 | + <div style="border: solid 1px #E5E5E5;border-radius: 5px"> | |
| 971 | + <div style="border-bottom: 1px solid #E5E5E5;padding: 1px;display: flex"> | |
| 972 | + <div style="padding: 10px 20px;background-color: #FAFAFA;font-size: 12px;"> | |
| 973 | + 活动明细信息 | |
| 974 | + </div> | |
| 975 | + | |
| 976 | + </div> | |
| 977 | + <!-- 表格--> | |
| 978 | + <div style="padding: 20px 20px 20px 20px"> | |
| 979 | + <el-table :data="tableDa" | |
| 980 | + :header-cell-style="{fontSize: '12px', backgroundColor: '#FAFAFA',color:'#000',fontWeight: 'normal'}" | |
| 981 | + style="width: 100%"> | |
| 982 | + <el-table-column label="序号" width="auto" min-width="5%" align="center"> | |
| 983 | + <template slot-scope="scope"> | |
| 984 | + {{scope.$index +1}} | |
| 985 | + </template> | |
| 986 | + </el-table-column> | |
| 987 | + <el-table-column label="明细项名称" prop="detailLtemName" width="auto" min-width="22%"> | |
| 988 | + | |
| 989 | + </el-table-column> | |
| 990 | + <el-table-column label="预估数量" prop="estimatedQuantity" width="auto" min-width="15%"> | |
| 991 | + | |
| 992 | + </el-table-column> | |
| 993 | + <el-table-column label="预估费用" prop="estimatedCost" width="auto" min-width="15%"> | |
| 994 | + </el-table-column> | |
| 995 | + <el-table-column prop="notes" label="备注" width="auto" min-width="15%"> | |
| 996 | + </el-table-column> | |
| 997 | + <el-table-column label="操作" width="auto" min-width="18%" v-if="zhixingBian"> | |
| 998 | + <template slot-scope="scope"> | |
| 999 | + <div class="tableBtn greens" @click="MingDelete(scope.$index,scope.row)">删除</div> | |
| 1000 | + </template> | |
| 1001 | + </el-table-column> | |
| 1002 | + </el-table> | |
| 1003 | + | |
| 1004 | + </div> | |
| 1005 | + </div> | |
| 1006 | + </div> | |
| 1007 | + <div style="padding: 20px"> | |
| 1008 | + <div style="border: solid 1px #E5E5E5;border-radius: 5px;padding-bottom: 20px;"> | |
| 1009 | + <div style="border-bottom: 1px solid #E5E5E5;padding: 1px"> | |
| 1010 | + <div style="padding: 10px 20px;background-color: #FAFAFA;font-size: 12px;"> | |
| 1011 | + 实际花费成本 | |
| 1012 | + </div> | |
| 1013 | + </div> | |
| 1014 | + <div style="padding: 20px 40px 0px 20px"> | |
| 1015 | + <el-form label-position="top" ref="ruleFormInfo" :model="zhixingList" label-width="120px" | |
| 1016 | + style="position: relative"> | |
| 1017 | + <el-row :gutter="20"> | |
| 1018 | + <el-col :span="8"> | |
| 1019 | + <el-form-item label="内部人力成本预估" class="grid-content bg-purple device-from" prop="name"> | |
| 1020 | + <el-input v-model="zhixingList.internalLaborCostEstimation" placeholder="请输入" :disabled="!zhixingBian"/> | |
| 1021 | + </el-form-item> | |
| 1022 | + </el-col> | |
| 1023 | + <el-col :span="8"> | |
| 1024 | + <el-form-item label="外部人力成本预估" class="grid-content bg-purple" prop="name"> | |
| 1025 | + <el-input v-model="zhixingList.externalLaborCostEstimation" placeholder="请输入" :disabled="!zhixingBian"/> | |
| 1026 | + </el-form-item> | |
| 1027 | + </el-col> | |
| 1028 | + | |
| 1029 | + <el-col :span="8"> | |
| 1030 | + <el-form-item label="商品成本预估" class="grid-content bg-purple" prop="name"> | |
| 1031 | + <el-input v-model="zhixingList.costEstimationGoods" placeholder="请输入" :disabled="!zhixingBian"/> | |
| 1032 | + </el-form-item> | |
| 1033 | + </el-col> | |
| 1034 | + </el-row> | |
| 1035 | + | |
| 1036 | + <el-row :gutter="20"> | |
| 1037 | + <el-col :span="8"> | |
| 1038 | + <el-form-item label="设备成本" class="grid-content bg-purple" prop="name"> | |
| 1039 | + <el-input v-model="zhixingList.setCostEstimate" placeholder="请输入" :disabled="!zhixingBian"/> | |
| 1040 | + </el-form-item> | |
| 1041 | + </el-col> | |
| 1042 | + <el-col :span="8"> | |
| 1043 | + <el-form-item label="宣传费用" class="grid-content bg-purple" prop="name"> | |
| 1044 | + <el-input v-model="zhixingList.estimatedPromotionalExpenses" placeholder="请输入" :disabled="!zhixingBian"/> | |
| 1045 | + </el-form-item> | |
| 1046 | + </el-col> | |
| 1047 | + <el-col :span="8"> | |
| 1048 | + <el-form-item label="其他成本" class="grid-content bg-purple" prop="name"> | |
| 1049 | + <el-input v-model="zhixingList.otherNecessaryEstimates" placeholder="请输入" :disabled="!zhixingBian"/> | |
| 1050 | + </el-form-item> | |
| 1051 | + </el-col> | |
| 1052 | + </el-row> | |
| 1053 | + | |
| 1054 | + <el-row :gutter="20"> | |
| 1055 | + <el-col :span="8"> | |
| 1056 | + <el-form-item label="总成本" prop="name" class="grid-content bg-purple"> | |
| 1057 | + <el-input v-model="zhixingList.totalCostEstimation" placeholder="请输入" :disabled="!zhixingBian"/> | |
| 1058 | + </el-form-item> | |
| 1059 | + </el-col> | |
| 1060 | + <el-col :span="16"> | |
| 1061 | + <el-form-item label="备注" prop="name" class="grid-content bg-purple"> | |
| 1062 | + <el-input v-model="zhixingList.notes" placeholder="请输入" :disabled="!zhixingBian"/> | |
| 1063 | + </el-form-item> | |
| 1064 | + </el-col> | |
| 1065 | + </el-row> | |
| 1066 | + </el-form> | |
| 1067 | + </div> | |
| 1068 | + </div> | |
| 1069 | + </div> | |
| 1070 | + | |
| 1071 | + <div style="padding: 20px"> | |
| 1072 | + <div style="border: solid 1px #E5E5E5;border-radius: 5px;padding-bottom: 20px;"> | |
| 1073 | + <div style="border-bottom: 1px solid #E5E5E5;padding: 1px"> | |
| 1074 | + <div style="padding: 10px 20px;background-color: #FAFAFA;font-size: 12px;"> | |
| 1075 | + 活动执行效果 | |
| 1076 | + </div> | |
| 1077 | + </div> | |
| 1078 | + <div style="padding: 20px 40px 0px 20px"> | |
| 1079 | + <el-form label-position="top" ref="ruleFormInfo" :model="zhixingList" label-width="120px" | |
| 1080 | + style="position: relative"> | |
| 1081 | + <el-row :gutter="20"> | |
| 1082 | + <el-col :span="8"> | |
| 1083 | + <el-form-item label="吸引流量" class="grid-content bg-purple device-from" prop="name"> | |
| 1084 | + <el-input v-model="zhixingList.expectedAttractTraffic" placeholder="请输入" :disabled="!zhixingBian"/> | |
| 1085 | + </el-form-item> | |
| 1086 | + </el-col> | |
| 1087 | + <el-col :span="8"> | |
| 1088 | + <el-form-item label="参与人数" class="grid-content bg-purple" prop="name"> | |
| 1089 | + <el-input v-model="zhixingList.expectedParticipation" placeholder="请输入" :disabled="!zhixingBian"/> | |
| 1090 | + </el-form-item> | |
| 1091 | + </el-col> | |
| 1092 | + | |
| 1093 | + <el-col :span="8"> | |
| 1094 | + <el-form-item label="直接收益" class="grid-content bg-purple" prop="name"> | |
| 1095 | + <el-input v-model="zhixingList.expectedDirectBenefits" placeholder="请输入" :disabled="!zhixingBian"/> | |
| 1096 | + </el-form-item> | |
| 1097 | + </el-col> | |
| 1098 | + </el-row> | |
| 1099 | + <el-row :gutter="20"> | |
| 1100 | + <el-col :span="8"> | |
| 1101 | + <el-form-item label="间接收益" class="grid-content bg-purple" prop="name"> | |
| 1102 | + <el-input v-model="zhixingList.expectedIndirectBenefits" placeholder="请输入" :disabled="!zhixingBian"/> | |
| 1103 | + </el-form-item> | |
| 1104 | + </el-col> | |
| 1105 | + | |
| 1106 | + </el-row> | |
| 1107 | + <el-row :gutter="20"> | |
| 1108 | + <el-col :span="24"> | |
| 1109 | + <el-form-item label="反馈内容" class="grid-content bg-purple" prop="name"> | |
| 1110 | + <el-upload class="upload-demo" ref="upload" :on-remove="handleRemove" | |
| 1111 | + :action="uploadFileUrl" :on-success="handleUploadSuccess" :file-list="fileData" | |
| 1112 | + :show-file-list="true" v-if="zhixingBian"> | |
| 1113 | + <el-button style="background-color: #fff;color: #3F9B6A;border: 1px solid #dcdfe6;" class="buttonHover" v-if="fileData.length==0">+点击上传</el-button> | |
| 1114 | + </el-upload> | |
| 1115 | + <div v-else>{{zhixingList.feedbackContent}}</div> | |
| 1116 | + </el-form-item> | |
| 1117 | + </el-col> | |
| 1118 | + | |
| 1119 | + </el-row> | |
| 1120 | + </el-form> | |
| 1121 | + </div> | |
| 1122 | + </div> | |
| 1123 | + | |
| 1124 | + </div> | |
| 1125 | + | |
| 1126 | + </div> | |
| 1127 | + </div> | |
| 1128 | + | |
| 1129 | + </el-dialog> | |
| 759 | 1130 | </div> |
| 760 | 1131 | </template> |
| 761 | 1132 | |
| ... | ... | @@ -817,34 +1188,36 @@ |
| 817 | 1188 | id: '', |
| 818 | 1189 | text: 123, |
| 819 | 1190 | tableData1: [{ |
| 820 | - id: 0, | |
| 821 | - name: '类型', | |
| 822 | - planName: '', | |
| 823 | - text: '活动地点', | |
| 824 | - eventTheme: '' | |
| 825 | - }, { | |
| 826 | - id: 0, | |
| 827 | - name: '活动开始时间', | |
| 828 | - planName: '', | |
| 829 | - text: '活动结束时间', | |
| 830 | - eventTheme: '' | |
| 831 | - }, { | |
| 832 | - id: 0, | |
| 833 | - name: '活动主题', | |
| 834 | - planName: '', | |
| 835 | - text: '活动主办方', | |
| 836 | - eventTheme: '' | |
| 837 | - }, { | |
| 838 | - id: 0, | |
| 839 | - name: '活动参与方', | |
| 840 | - planName: '', | |
| 841 | - text: '活动主要目的', | |
| 842 | - eventTheme: '' | |
| 843 | - }, { | |
| 844 | - id: '5', | |
| 845 | - name: '状态', | |
| 846 | - eventTheme: '待审核' | |
| 847 | - }], | |
| 1191 | + id:0, | |
| 1192 | + name: '类型', | |
| 1193 | + planName: '', | |
| 1194 | + text: '活动地点', | |
| 1195 | + eventTheme: '' | |
| 1196 | + },{ | |
| 1197 | + id:0, | |
| 1198 | + name: '活动开始时间', | |
| 1199 | + planName: '', | |
| 1200 | + text: '活动结束时间', | |
| 1201 | + eventTheme: '' | |
| 1202 | + },{ | |
| 1203 | + id:0, | |
| 1204 | + name: '活动主题', | |
| 1205 | + planName: '', | |
| 1206 | + text: '活动主办方', | |
| 1207 | + eventTheme: '' | |
| 1208 | + },{ | |
| 1209 | + id:0, | |
| 1210 | + name: '活动参与方', | |
| 1211 | + planName: '', | |
| 1212 | + text: '活动主要目的', | |
| 1213 | + eventTheme: '' | |
| 1214 | + },{ | |
| 1215 | + id:0, | |
| 1216 | + name: '范围设置', | |
| 1217 | + planName: '', | |
| 1218 | + text: '状态', | |
| 1219 | + eventTheme: '' | |
| 1220 | + }], | |
| 848 | 1221 | internalLaborCostEstimation: '', |
| 849 | 1222 | externalLaborCostEstimation: '', |
| 850 | 1223 | tableData3: [{ |
| ... | ... | @@ -912,7 +1285,9 @@ |
| 912 | 1285 | pageindex: { |
| 913 | 1286 | pageNumber: 1, |
| 914 | 1287 | pageSize: 10, |
| 915 | - dataOwnership: '2' | |
| 1288 | + dataOwnership: '2', | |
| 1289 | + isDraft:0, | |
| 1290 | + state:'待提交' | |
| 916 | 1291 | }, |
| 917 | 1292 | multipleSelection: [], |
| 918 | 1293 | options: [{ |
| ... | ... | @@ -926,6 +1301,9 @@ |
| 926 | 1301 | children: 'children', |
| 927 | 1302 | label: 'classificationName' |
| 928 | 1303 | }, |
| 1304 | + dataList:[], | |
| 1305 | + zhixingBian:false,//判断是否编辑执行效果 | |
| 1306 | + | |
| 929 | 1307 | } |
| 930 | 1308 | }, |
| 931 | 1309 | created() { |
| ... | ... | @@ -990,6 +1368,8 @@ |
| 990 | 1368 | dataOwnership: '2', |
| 991 | 1369 | pageNumber: 1, |
| 992 | 1370 | pageSize: 10, |
| 1371 | + isDraft:0, | |
| 1372 | + state:'待提交' | |
| 993 | 1373 | }) |
| 994 | 1374 | this.tableData = res.data.content |
| 995 | 1375 | } else if (this.planName == '' && this.eventTheme != '') { |
| ... | ... | @@ -998,6 +1378,8 @@ |
| 998 | 1378 | dataOwnership: '2', |
| 999 | 1379 | pageNumber: 1, |
| 1000 | 1380 | pageSize: 10, |
| 1381 | + isDraft:0, | |
| 1382 | + state:'待提交' | |
| 1001 | 1383 | }) |
| 1002 | 1384 | this.tableData = res.data.content |
| 1003 | 1385 | } else { |
| ... | ... | @@ -1007,6 +1389,8 @@ |
| 1007 | 1389 | dataOwnership: '2', |
| 1008 | 1390 | pageNumber: 1, |
| 1009 | 1391 | pageSize: 10, |
| 1392 | + isDraft:0, | |
| 1393 | + state:'待提交' | |
| 1010 | 1394 | }) |
| 1011 | 1395 | this.tableData = res.data.content |
| 1012 | 1396 | } |
| ... | ... | @@ -1094,6 +1478,7 @@ |
| 1094 | 1478 | }) |
| 1095 | 1479 | } |
| 1096 | 1480 | this.Liunie = false |
| 1481 | + this.actSpye = false | |
| 1097 | 1482 | }, |
| 1098 | 1483 | TabClick(tab, event){ |
| 1099 | 1484 | console.log(tab, event) |
| ... | ... | @@ -1106,7 +1491,133 @@ |
| 1106 | 1491 | } |
| 1107 | 1492 | this.getAll() |
| 1108 | 1493 | |
| 1109 | - } | |
| 1494 | + }, | |
| 1495 | + //详情点击 | |
| 1496 | + handleEditForm(item,val) { | |
| 1497 | + this.zhixingList={ | |
| 1498 | + planTime: [], | |
| 1499 | + planName: '', //活动名称 | |
| 1500 | + eventAddrs: '', //实际举办地点 | |
| 1501 | + eventStartTime: 0, //实际开始时间 | |
| 1502 | + eventEndTime: 0, //实际结束时间 | |
| 1503 | + sponsor: '', //实际主办方 | |
| 1504 | + participants: '', //实际参与方 | |
| 1505 | + internalLaborCostEstimation: '', //内部人工成本 | |
| 1506 | + externalLaborCostEstimation: '', //外部人工成本 | |
| 1507 | + costEstimationGoods: '', //商品成本 | |
| 1508 | + setCostEstimate: '', //设备成本 | |
| 1509 | + estimatedPromotionalExpenses: '', //宣传费用预估 | |
| 1510 | + otherNecessaryEstimates: '', //其他成本预估 | |
| 1511 | + totalCostEstimation: '', //总成本预估 | |
| 1512 | + notes: '', //备注 | |
| 1513 | + expectedAttractTraffic: '', //吸引流量 | |
| 1514 | + expectedParticipation: '', //参与人数 | |
| 1515 | + expectedDirectBenefits: '', //直接收益 | |
| 1516 | + expectedIndirectBenefits: '', //间接收益 | |
| 1517 | + createDate:'',//创建时间 | |
| 1518 | + }//执行效果列表 | |
| 1519 | + actPage({ | |
| 1520 | + detailsId:item.id, | |
| 1521 | + pageNumber: 1, | |
| 1522 | + pageSize: 10, | |
| 1523 | + }).then(res=>{ | |
| 1524 | + console.log(res.data.content) | |
| 1525 | + if(res.data.content.length == 0){ | |
| 1526 | + this.zhiXing = true | |
| 1527 | + | |
| 1528 | + }else{ | |
| 1529 | + mingTable({ | |
| 1530 | + detailsId:res.data.content[0].id, | |
| 1531 | + pageNumber: 1, | |
| 1532 | + pageSize: 10, | |
| 1533 | + }).then(res=>{ | |
| 1534 | + this.tableDa = res.data.content | |
| 1535 | + }) | |
| 1536 | + this.zhiXing = false | |
| 1537 | + this.zhixingList = res.data.content[0] | |
| 1538 | + if((typeof this.zhixingList.eventStartTime) == 'object' || (typeof this.zhixingList.eventEndTime) == 'object' ){ | |
| 1539 | + this.zhixingList.planTime = [] | |
| 1540 | + }else{ | |
| 1541 | + console.log(typeof this.zhixingList.eventStartTime) | |
| 1542 | + this.zhixingList.planTime = [ this.zhixingList.eventStartTime, this.zhixingList.eventEndTime] | |
| 1543 | + } | |
| 1544 | + } | |
| 1545 | + }) | |
| 1546 | + this.idX = item.id | |
| 1547 | + this.planTime=[item.eventStartTime,item.eventEndTime] | |
| 1548 | + let that = this | |
| 1549 | + | |
| 1550 | + fujiaTable({ | |
| 1551 | + detailsId:item.id, | |
| 1552 | + pageNumber: 1, | |
| 1553 | + pageSize: 10, | |
| 1554 | + }).then(res=>{ | |
| 1555 | + this.tableData6 = res.data.content | |
| 1556 | + }) | |
| 1557 | + mingTable({ | |
| 1558 | + detailsId:item.id, | |
| 1559 | + pageNumber: 1, | |
| 1560 | + pageSize: 10, | |
| 1561 | + }).then(res=>{ | |
| 1562 | + this.tableData2 = res.data.content | |
| 1563 | + }) | |
| 1564 | + | |
| 1565 | + danqueryById({id:item.id,dataOwnership:'2', pageNumber: 1,pageSize: 10,}).then(res=>{ | |
| 1566 | + this.secondData = res.data.content[0] | |
| 1567 | + //基本信息 | |
| 1568 | + // that.id=res.data.content[0].id | |
| 1569 | + that.text=res.data.content[0].planName | |
| 1570 | + that.tableData1[0].eventTheme =res.data.content[0].planType | |
| 1571 | + that.tableData1[0].planName = res.data.content[0].eventAddrs | |
| 1572 | + that.tableData1[1].eventTheme = res.data.content[0].eventStartTime | |
| 1573 | + that.tableData1[1].planName = res.data.content[0].eventEndTime | |
| 1574 | + that.tableData1[2].eventTheme =res.data.content[0].eventTheme | |
| 1575 | + that.tableData1[2].planName = res.data.content[0].sponsor | |
| 1576 | + that.tableData1[3].eventTheme = res.data.content[0].participants | |
| 1577 | + that.tableData1[3].planName = res.data.content[0].mainPurpose | |
| 1578 | + that.tableData1[4].planName = this.getStatus(res.data.content[0].state) | |
| 1579 | + that.tableData1[4].eventTheme = res.data.content[0].rangeSetting | |
| 1580 | + //活动成本信息 | |
| 1581 | + that.internalLaborCostEstimation=res.data.content[0].internalLaborCostEstimation | |
| 1582 | + that.externalLaborCostEstimation=res.data.content[0].externalLaborCostEstimation | |
| 1583 | + that.tableData3[0].eventTheme = res.data.content[0].costEstimationGoods | |
| 1584 | + that.tableData3[0].planName = res.data.content[0].setCostEstimate | |
| 1585 | + that.tableData3[1].eventTheme = res.data.content[0].estimatedPromotionalExpenses | |
| 1586 | + that.tableData3[1].planName = res.data.content[0].otherNecessaryEstimates | |
| 1587 | + that.tableData3[2].eventTheme = res.data.content[0].totalCostEstimation | |
| 1588 | + that.tableData3[2].planName = res.data.content[0].notes | |
| 1589 | + //预估效果 | |
| 1590 | + that.expectedAttractTraffic=res.data.content[0].expectedAttractTraffic | |
| 1591 | + that.expectedParticipation=res.data.content[0].expectedParticipation | |
| 1592 | + that.tableData4[0].eventTheme = res.data.content[0].expectedDirectBenefits | |
| 1593 | + that.tableData4[0].planName = res.data.content[0].expectedIndirectBenefits | |
| 1594 | + //系统信息 | |
| 1595 | + that.createUser = res.data.content[0].createUser | |
| 1596 | + that.createDate = res.data.content[0].createDate | |
| 1597 | + that.tableData5[0].planName = '-' | |
| 1598 | + that.tableData5[0].eventTheme = res.data.content[0].updateUser | |
| 1599 | + | |
| 1600 | + | |
| 1601 | + }).catch(err=>{ | |
| 1602 | + console.log(err) | |
| 1603 | + | |
| 1604 | + }) | |
| 1605 | + if (!item) { | |
| 1606 | + this.formItem = {} | |
| 1607 | + } else { | |
| 1608 | + this.formItem = item | |
| 1609 | + } | |
| 1610 | + this.ggXin = true | |
| 1611 | + }, | |
| 1612 | + refreshData(){ | |
| 1613 | + // console.log('12123') | |
| 1614 | + this.tableDa = [] | |
| 1615 | + this.activeName = 'first' | |
| 1616 | + this.zhixingBian = false | |
| 1617 | + }, | |
| 1618 | + formTime(data){ | |
| 1619 | + this.zhixingList.planTime = data | |
| 1620 | + }, | |
| 1110 | 1621 | } |
| 1111 | 1622 | } |
| 1112 | 1623 | </script> |
| ... | ... | @@ -1127,7 +1638,10 @@ |
| 1127 | 1638 | line-height: 0; |
| 1128 | 1639 | } |
| 1129 | 1640 | |
| 1130 | - | |
| 1641 | + .tableBtn { | |
| 1642 | + display: inline-block; | |
| 1643 | + margin-right: 10px; | |
| 1644 | + } | |
| 1131 | 1645 | |
| 1132 | 1646 | .formSearch { |
| 1133 | 1647 | display: flex; | ... | ... |
admin-web-master/src/views/member/tips/index.vue
| 1 | 1 | <template> |
| 2 | + <div style="background-color:#f7f7f7;padding:10px 10px;"> | |
| 2 | 3 | <div class="tipStyle"> |
| 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> | |
| 3 | 7 | <!-- 搜索 --> |
| 4 | 8 | <div class="topSearch"> |
| 5 | 9 | <div class="formSearch"> |
| ... | ... | @@ -14,22 +18,23 @@ |
| 14 | 18 | </el-select> |
| 15 | 19 | </el-form-item> |
| 16 | 20 | <el-form-item> |
| 17 | - <el-button type="primary" plain @click="search">查询</el-button> | |
| 18 | - <el-button plain @click="clear">重置</el-button> | |
| 21 | + <el-button style="background-color: #3F9B6A;color: #fff" @click="search">查询</el-button> | |
| 22 | + <el-button class="buttonHover" | |
| 23 | + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" @click="clear">重置</el-button> | |
| 19 | 24 | </el-form-item> |
| 20 | 25 | </el-form> |
| 21 | 26 | </div> |
| 22 | - <div class="rightBTn"> | |
| 23 | - <el-button type="primary" @click="addTips">新建标签</el-button> | |
| 24 | - <el-button @click="exportTips">导出标签</el-button> | |
| 25 | - </div> | |
| 27 | + | |
| 28 | + </div> | |
| 29 | + <div style="margin-bottom: 20px;"> | |
| 30 | + <el-button style="background-color: #3F9B6A;color: #fff" @click="addTips">新建标签</el-button> | |
| 31 | + <el-button style="background-color: #3F9B6A;color: #fff" @click="exportTips">导出标签</el-button> | |
| 26 | 32 | </div> |
| 27 | 33 | <!-- 表格 --> |
| 28 | 34 | <div class="tableBox"> |
| 29 | 35 | <el-table |
| 30 | 36 | :data="tableData" |
| 31 | - border | |
| 32 | - :header-cell-style="{ background: '#EEF3FF', color: '#333333' }" | |
| 37 | + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 33 | 38 | tooltip-effect="dark" |
| 34 | 39 | style="width: 100%" |
| 35 | 40 | @selection-change="handleSelectionChange" |
| ... | ... | @@ -53,10 +58,9 @@ |
| 53 | 58 | </el-table-column> |
| 54 | 59 | <el-table-column label="操作"> |
| 55 | 60 | <template slot-scope="scope"> |
| 56 | - <div class="btnList"> | |
| 57 | - <el-button type="text" @click="edit(scope.row)">编辑</el-button> | |
| 58 | - <el-button type="text" @click="deleteTips(scope.row)">删除</el-button> | |
| 59 | - </div> | |
| 61 | + <div @click="edit(scope.row)" class="tableBtn greens">编辑</div> | |
| 62 | + <div @click="deleteTips(scope.row)" class="tableBtn greens">删除</div> | |
| 63 | + | |
| 60 | 64 | </template> |
| 61 | 65 | </el-table-column> |
| 62 | 66 | </el-table> |
| ... | ... | @@ -100,6 +104,7 @@ |
| 100 | 104 | </el-dialog> |
| 101 | 105 | <tips-form ref="tipsForm" @reset="reset" /> |
| 102 | 106 | </div> |
| 107 | + </div> | |
| 103 | 108 | </template> |
| 104 | 109 | |
| 105 | 110 | <script> |
| ... | ... | @@ -240,17 +245,10 @@ export default { |
| 240 | 245 | <style scoped lang='scss'> |
| 241 | 246 | @import url("../../../styles/elDialog.scss"); |
| 242 | 247 | .tipStyle { |
| 243 | - padding: 20px; | |
| 244 | - .topSearch { | |
| 245 | - display: flex; | |
| 246 | - justify-content: space-between; | |
| 247 | - align-items: center; | |
| 248 | - .formSearch, | |
| 249 | - .rightBTn { | |
| 250 | - margin-left: 20px; | |
| 251 | - } | |
| 248 | + padding: 0 20px 20px 20px; | |
| 249 | + min-height: calc(100vh - 50px - 20px); | |
| 250 | + background-color: #Fff; | |
| 252 | 251 | } |
| 253 | -} | |
| 254 | 252 | .diaddStyle { |
| 255 | 253 | h1 { |
| 256 | 254 | text-align: center; |
| ... | ... | @@ -276,4 +274,18 @@ export default { |
| 276 | 274 | background-color: #fff; |
| 277 | 275 | border-top: 0; |
| 278 | 276 | } |
| 277 | + .tableBtn { | |
| 278 | + display: inline-block; | |
| 279 | + margin-right: 10px; | |
| 280 | + } | |
| 281 | + | |
| 282 | + .greens { | |
| 283 | + color: #3F9B6A ; | |
| 284 | + } | |
| 285 | + ::v-deep .buttonHover:hover{ | |
| 286 | + color:#3f9b6a !important; | |
| 287 | + border-color: #c5e1d2 !important; | |
| 288 | + background-color: #ecf5f0 !important; | |
| 289 | + outline: none; | |
| 290 | + } | |
| 279 | 291 | </style> | ... | ... |
admin-web-master/src/views/member/tips/tipsForm.vue
| ... | ... | @@ -120,8 +120,9 @@ |
| 120 | 120 | </div> |
| 121 | 121 | <div class="footer"> |
| 122 | 122 | <div class="btn_list"> |
| 123 | - <el-button @click="back">取消</el-button> | |
| 124 | - <el-button type="primary" @click="save">保存</el-button> | |
| 123 | + <el-button class="buttonHover" | |
| 124 | + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" @click="back">取消</el-button> | |
| 125 | + <el-button style="background-color: #3F9B6A;color: #fff" @click="save">保存</el-button> | |
| 125 | 126 | </div> |
| 126 | 127 | </div> |
| 127 | 128 | </div> |
| ... | ... | @@ -319,4 +320,10 @@ export default { |
| 319 | 320 | padding: 0 8px; |
| 320 | 321 | } |
| 321 | 322 | } |
| 323 | + ::v-deep .buttonHover:hover{ | |
| 324 | + color:#3f9b6a !important; | |
| 325 | + border-color: #c5e1d2 !important; | |
| 326 | + background-color: #ecf5f0 !important; | |
| 327 | + outline: none; | |
| 328 | + } | |
| 322 | 329 | </style> | ... | ... |
admin-web-master/src/views/revenue/details/index.vue
| ... | ... | @@ -10,22 +10,27 @@ |
| 10 | 10 | |
| 11 | 11 | <!-- 顶部搜索 --> |
| 12 | 12 | <div class="toolbar"> |
| 13 | - <el-form ref="formParams" :inline="true" :model="formParams"> | |
| 13 | + <el-form ref="formParams" :inline="true" :model="pageIndex"> | |
| 14 | 14 | <el-form-item label="渠道"> |
| 15 | 15 | <el-select placeholder="全部" |
| 16 | - style="width: 168px;margin-right: 15px"> | |
| 17 | - <el-option label="1" value="1" /> | |
| 16 | + v-model="pageIndex.ticketChannel" | |
| 17 | + style="width: 120px;margin-right: 15px"> | |
| 18 | + <el-option label="大麦" value="大麦" /> | |
| 19 | + <el-option label="猫眼" value="猫眼" /> | |
| 20 | + <el-option label="携程" value="携程" /> | |
| 21 | + <el-option label="美团" value="美团" /> | |
| 18 | 22 | </el-select> |
| 19 | 23 | </el-form-item> |
| 20 | 24 | <el-form-item label="票种"> |
| 21 | - <el-select placeholder="全部" | |
| 22 | - style="width: 168px;margin-right: 15px"> | |
| 23 | - <el-option label="1" value="1" /> | |
| 25 | + <el-select placeholder="全部" v-model="pageIndex.ticketType" | |
| 26 | + style="width: 120px;margin-right: 15px"> | |
| 27 | + <el-option label="电影票" value="电影票" /> | |
| 28 | + <el-option label="演唱会票" value="演唱会票" /> | |
| 24 | 29 | </el-select> |
| 25 | 30 | </el-form-item> |
| 26 | 31 | <el-form-item label="日期"> |
| 27 | 32 | <el-date-picker |
| 28 | - v-model="formParams.dates" | |
| 33 | + v-model="pageIndex.list" | |
| 29 | 34 | type="daterange" |
| 30 | 35 | |
| 31 | 36 | range-separator="至" |
| ... | ... | @@ -36,11 +41,11 @@ |
| 36 | 41 | </el-form-item> |
| 37 | 42 | |
| 38 | 43 | <el-form-item label-width="0"> |
| 39 | - <el-button @click="search('formParams')" style="background-color: #3F9B6A;color: #fff;">查询</el-button> | |
| 40 | - <el-button @click="clear('formParams')" class="buttonHover" | |
| 44 | + <el-button @click="search" style="background-color: #3F9B6A;color: #fff;">查询</el-button> | |
| 45 | + <el-button @click="clear" class="buttonHover" | |
| 41 | 46 | style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;">重置</el-button> |
| 42 | 47 | </el-form-item> |
| 43 | - <!-- <el-button style="background-color: #fff;color: #000;float:right;">导出</el-button> --> | |
| 48 | + <el-button style="background-color: #3F9B6A;color: #fff" @click="daochu">导出</el-button> | |
| 44 | 49 | </el-form> |
| 45 | 50 | </div> |
| 46 | 51 | </div> |
| ... | ... | @@ -55,22 +60,19 @@ |
| 55 | 60 | :data="tableData.slice((currentPage - 1) * pageSize, currentPage * pageSize)" |
| 56 | 61 | :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" |
| 57 | 62 | > |
| 58 | - <el-table-column prop="id" label="序号" /> | |
| 59 | - <el-table-column label="内容" :show-overflow-tooltip="true"> | |
| 60 | - <template slot-scope="scope"> | |
| 61 | - <span>站内信</span> | |
| 62 | - </template> | |
| 63 | - </el-table-column> | |
| 64 | - <el-table-column prop="id" label="渠道"> | |
| 65 | - <template slot-scope="scope"> | |
| 66 | - <span>站内信</span> | |
| 67 | - </template> | |
| 68 | - </el-table-column> | |
| 69 | - <el-table-column prop="name" label="票种" /> | |
| 70 | - <el-table-column prop="name" label="票名" /> | |
| 71 | - <el-table-column prop="amount1" label="销售数量(张)" /> | |
| 72 | - <el-table-column prop="amount2" label="客单价(元)" /> | |
| 73 | - <el-table-column prop="amount3" label="销售金额(元)" /> | |
| 63 | + <el-table-column label="序号" > | |
| 64 | + <template slot-scope="scope"> | |
| 65 | + {{scope.$index +1}} | |
| 66 | + </template> | |
| 67 | + </el-table-column> | |
| 68 | + <el-table-column prop="ticketChannel" label="渠道"> | |
| 69 | + | |
| 70 | + </el-table-column> | |
| 71 | + <el-table-column prop="ticketType" label="票种" /> | |
| 72 | + <el-table-column prop="ticketName" label="票名" /> | |
| 73 | + <el-table-column prop="num" label="销售数量(张)" /> | |
| 74 | + <el-table-column prop="ticketPrice" label="客单价(元)" /> | |
| 75 | + <el-table-column prop="price" label="销售金额(元)" /> | |
| 74 | 76 | <!-- <el-table-column label="操作"> |
| 75 | 77 | <template slot-scope="scope"> |
| 76 | 78 | <el-button type="text" style="background-color: transparent;color: #3F9B6A;;border: none;">详情</el-button> |
| ... | ... | @@ -94,7 +96,7 @@ |
| 94 | 96 | </template> |
| 95 | 97 | |
| 96 | 98 | <script> |
| 97 | - | |
| 99 | +import {getSalesParticular,excelToSalesParticular} from '@/api/piaowu' | |
| 98 | 100 | export default { |
| 99 | 101 | data() { |
| 100 | 102 | return { |
| ... | ... | @@ -106,54 +108,17 @@ export default { |
| 106 | 108 | page: 1, |
| 107 | 109 | pageSize: 10 |
| 108 | 110 | }, |
| 109 | - tipsList: [{ | |
| 110 | - id: 1, | |
| 111 | - name: '系统消息' | |
| 112 | - }, | |
| 113 | - { | |
| 114 | - id: 2, | |
| 115 | - name: '公告' | |
| 116 | - }, | |
| 117 | - { | |
| 118 | - id: 3, | |
| 119 | - name: '站内信' | |
| 120 | - }], | |
| 121 | - tableData: [{ | |
| 122 | - id: '1', | |
| 123 | - name: '2', | |
| 124 | - amount1: '34', | |
| 125 | - amount2: '54', | |
| 126 | - amount3: 10 | |
| 127 | - }, { | |
| 128 | - id: '2', | |
| 129 | - name: '7', | |
| 130 | - amount1: '6', | |
| 131 | - amount2: '5', | |
| 132 | - amount3: 12 | |
| 133 | - }, { | |
| 134 | - id: '2', | |
| 135 | - name: '2', | |
| 136 | - amount1: '2', | |
| 137 | - amount2: '4', | |
| 138 | - amount3: 9 | |
| 139 | - }, { | |
| 140 | - id: '435', | |
| 141 | - name: '王小虎', | |
| 142 | - amount1: '234', | |
| 143 | - amount2: '23', | |
| 144 | - amount3: 17 | |
| 145 | - }, { | |
| 146 | - id: '345', | |
| 147 | - name: '34', | |
| 148 | - amount1: '64', | |
| 149 | - amount2: '4.1', | |
| 150 | - amount3: 15 | |
| 151 | - }], | |
| 152 | - rules: { | |
| 153 | - noticeType: [ | |
| 154 | - { required: true, message: '请选择消息类型', trigger: 'change' } | |
| 155 | - ] | |
| 156 | - }, | |
| 111 | + tipsList: [], | |
| 112 | + tableData: [], | |
| 113 | + pageIndex:{ | |
| 114 | + list: [], | |
| 115 | + page: 1, | |
| 116 | + pageSize: 10, | |
| 117 | + startTime:"", | |
| 118 | + endTime:"", | |
| 119 | + ticketChannel:"", | |
| 120 | + ticketType:"" | |
| 121 | + }, | |
| 157 | 122 | |
| 158 | 123 | } |
| 159 | 124 | }, |
| ... | ... | @@ -161,6 +126,32 @@ export default { |
| 161 | 126 | this.getAll() |
| 162 | 127 | }, |
| 163 | 128 | methods: { |
| 129 | + async getAll(){ | |
| 130 | + let res = await getSalesParticular(this.pageIndex) | |
| 131 | + this.tableData = res.data.list | |
| 132 | + this.total = res.data.total | |
| 133 | + | |
| 134 | + | |
| 135 | + }, | |
| 136 | + search(){ | |
| 137 | + if(this.pageIndex.list.length !=0){ | |
| 138 | + this.pageIndex.startTime = this.pageIndex.list[0] | |
| 139 | + this.pageIndex.endTime = this.pageIndex.list[1] | |
| 140 | + } | |
| 141 | + this.getAll() | |
| 142 | + }, | |
| 143 | + clear(){ | |
| 144 | + this.pageIndex = { | |
| 145 | + list: [], | |
| 146 | + page: 1, | |
| 147 | + pageSize: 10, | |
| 148 | + startTime:"", | |
| 149 | + endTime:"", | |
| 150 | + ticketChannel:"", | |
| 151 | + ticketType:"" | |
| 152 | + } | |
| 153 | + this.getAll() | |
| 154 | + }, | |
| 164 | 155 | getSummaries(param) { |
| 165 | 156 | const { columns, data } = param; |
| 166 | 157 | const sums = []; |
| ... | ... | @@ -189,7 +180,34 @@ export default { |
| 189 | 180 | }); |
| 190 | 181 | |
| 191 | 182 | return sums; |
| 192 | - } | |
| 183 | + | |
| 184 | + }, | |
| 185 | + async daochu(){ | |
| 186 | + let res = await excelToSalesParticular(this.pageIndex) | |
| 187 | + if(!res){ | |
| 188 | + return | |
| 189 | + } | |
| 190 | + const blob = new Blob([res], { type: 'application/vnd.ms-excel' }) | |
| 191 | + const fileName = '销售额明细表.xls' | |
| 192 | + if ('download' in document.createElement('a')) { | |
| 193 | + // 非IE下载 | |
| 194 | + const elink = document.createElement('a') | |
| 195 | + elink.download = fileName | |
| 196 | + elink.style.display = 'none' | |
| 197 | + elink.href = URL.createObjectURL(blob) | |
| 198 | + document.body.appendChild(elink) | |
| 199 | + elink.click() | |
| 200 | + URL.revokeObjectURL(elink.href) // 释放URL 对象 | |
| 201 | + document.body.removeChild(elink) | |
| 202 | + } else { | |
| 203 | + // IE10+下载 | |
| 204 | + navigator.msSaveBlob(blob, fileName) | |
| 205 | + } | |
| 206 | + this.$message({ | |
| 207 | + message: '导出成功', | |
| 208 | + type: 'success' | |
| 209 | + }) | |
| 210 | + | |
| 193 | 211 | }, |
| 194 | 212 | handleCurrentChange(val) { |
| 195 | 213 | this.currentPage = val |
| ... | ... | @@ -197,7 +215,7 @@ export default { |
| 197 | 215 | handleSizeChange(val) { |
| 198 | 216 | this.pageSize = val |
| 199 | 217 | }, |
| 200 | - | |
| 218 | + } | |
| 201 | 219 | } |
| 202 | 220 | </script> |
| 203 | 221 | ... | ... |
admin-web-master/src/views/revenue/totalsales/index.vue
| ... | ... | @@ -10,10 +10,27 @@ |
| 10 | 10 | |
| 11 | 11 | <!-- 顶部搜索 --> |
| 12 | 12 | <div class="toolbar"> |
| 13 | - <el-form ref="formParams" :inline="true" :model="formParams"> | |
| 13 | + <el-form ref="formParams" :inline="true" :model="pageIndex"> | |
| 14 | + <el-form-item label="渠道"> | |
| 15 | + <el-select placeholder="全部" | |
| 16 | + v-model="pageIndex.ticketChannel" | |
| 17 | + style="width: 120px;margin-right: 15px"> | |
| 18 | + <el-option label="大麦" value="大麦" /> | |
| 19 | + <el-option label="猫眼" value="猫眼" /> | |
| 20 | + <el-option label="携程" value="携程" /> | |
| 21 | + <el-option label="美团" value="美团" /> | |
| 22 | + </el-select> | |
| 23 | + </el-form-item> | |
| 24 | + <el-form-item label="票种"> | |
| 25 | + <el-select placeholder="全部" v-model="pageIndex.ticketType" | |
| 26 | + style="width: 120px;margin-right: 15px"> | |
| 27 | + <el-option label="电影票" value="电影票" /> | |
| 28 | + <el-option label="演唱会票" value="演唱会票" /> | |
| 29 | + </el-select> | |
| 30 | + </el-form-item> | |
| 14 | 31 | <el-form-item label="日期"> |
| 15 | 32 | <el-date-picker |
| 16 | - v-model="formParams.dates" | |
| 33 | + v-model="pageIndex.list" | |
| 17 | 34 | type="daterange" |
| 18 | 35 | |
| 19 | 36 | range-separator="至" |
| ... | ... | @@ -30,6 +47,9 @@ |
| 30 | 47 | </el-form-item> |
| 31 | 48 | </el-form> |
| 32 | 49 | </div> |
| 50 | + <div> | |
| 51 | + <el-button style="background-color: #3F9B6A;color: #fff" @click="daochu">导出</el-button> | |
| 52 | + </div> | |
| 33 | 53 | </div> |
| 34 | 54 | <!-- 表格 --> |
| 35 | 55 | <div class="content_table" style="padding: 15px 10px 10px 20px;background-color:#F2F3F5"> |
| ... | ... | @@ -38,21 +58,21 @@ |
| 38 | 58 | <div style="display:flex;font-size:14px;justify-content: space-around"> |
| 39 | 59 | <div style="width:10%;border-right:1px solid #F2F2F2"> |
| 40 | 60 | <div style="margin-bottom: 10px;font-weight: 600;">总销售额(元)</div> |
| 41 | - <div style="font-weight: 600;">100,000.00</div> | |
| 61 | + <div style="font-weight: 600;">{{moyeOne}}</div> | |
| 42 | 62 | </div> |
| 43 | 63 | <div style="width:10%;border-right:1px solid #F2F2F2"> |
| 44 | 64 | <div style="margin-bottom: 10px;font-weight: 600;">美团销售总额(元)</div> |
| 45 | - <div style="font-weight: 600;">100,000.00</div> | |
| 65 | + <div style="font-weight: 600;">{{meimoye}}</div> | |
| 46 | 66 | </div> |
| 47 | 67 | <div style="width:10%;border-right:1px solid #F2F2F2"> |
| 48 | 68 | <div style="margin-bottom: 10px;font-weight: 600;">大麦销售总额(元)</div> |
| 49 | - <div style="font-weight: 600;">100,000.00</div> | |
| 69 | + <div style="font-weight: 600;">{{moyeTwo}}</div> | |
| 50 | 70 | </div> |
| 51 | 71 | <div style="width:10%;border-right:1px solid #F2F2F2"> |
| 52 | 72 | <div style="margin-bottom: 10px;font-weight: 600;">携程销售总额(元)</div> |
| 53 | - <div style="font-weight: 600;">100,000.00</div> | |
| 73 | + <div style="font-weight: 600;">{{moyethree}}</div> | |
| 54 | 74 | </div> |
| 55 | - <div style="width:10%;border-right:1px solid #F2F2F2"> | |
| 75 | + <!-- <div style="width:10%;border-right:1px solid #F2F2F2"> | |
| 56 | 76 | <div style="margin-bottom: 10px;font-weight: 600;">票种1销售总额(元)</div> |
| 57 | 77 | <div style="font-weight: 600;">100,000.00</div> |
| 58 | 78 | </div> |
| ... | ... | @@ -63,7 +83,7 @@ |
| 63 | 83 | <div style="width:10%"> |
| 64 | 84 | <div style="margin-bottom: 10px;font-weight: 600;">票种2销售总额(元)</div> |
| 65 | 85 | <div style="font-weight: 600;">100,000.00</div> |
| 66 | - </div> | |
| 86 | + </div> --> | |
| 67 | 87 | </div> |
| 68 | 88 | </div> |
| 69 | 89 | </div> |
| ... | ... | @@ -72,10 +92,10 @@ |
| 72 | 92 | <div style="background-color: #fff;padding: 10px;margin-right: 10px;width: 32%;"> |
| 73 | 93 | <div style="display: flex;border-bottom:1px solid #F2F2F2;justify-content: space-between;padding: 5px; 0 15px 0"> |
| 74 | 94 | <div style="line-height: 200%;">总销售额趋势表</div> |
| 75 | - <!-- <el-button style="background-color: #fff;color: #000;">导出</el-button> --> | |
| 95 | + <!-- <el-button style="background-color: #3F9B6A;color: #fff">导出</el-button> --> | |
| 76 | 96 | </div> |
| 77 | 97 | <div style="margin:10px 0 15px 0"> |
| 78 | - <el-date-picker | |
| 98 | + <!-- <el-date-picker | |
| 79 | 99 | |
| 80 | 100 | v-model="value1" |
| 81 | 101 | value-format="yyyy-mm-dd" |
| ... | ... | @@ -83,26 +103,26 @@ |
| 83 | 103 | range-separator="至" |
| 84 | 104 | start-placeholder="开始日期" |
| 85 | 105 | end-placeholder="结束日期"> |
| 86 | - </el-date-picker> | |
| 106 | + </el-date-picker> --> | |
| 87 | 107 | </div> |
| 88 | 108 | <div style="color:#000">单位:张</div> |
| 89 | 109 | <!-- 折线图--> |
| 90 | - <div ref="container" style="width: 400px; height: 400px;"></div> | |
| 110 | + <div ref="container1" style="width: 400px; height: 400px;"></div> | |
| 91 | 111 | |
| 92 | 112 | </div> |
| 93 | 113 | <div style="background-color: #fff;padding: 10px;margin-right: 10px;width: 32%;"> |
| 94 | 114 | <div style="display: flex;border-bottom:1px solid #F2F2F2;justify-content: space-between;padding: 5px; 0 15px 0"> |
| 95 | 115 | <div style="line-height: 200%;">渠道销售情况表</div> |
| 96 | - <!-- <el-button style="background-color: #fff;color: #000;">导出</el-button> --> | |
| 116 | + <!-- <el-button style="background-color: #3F9B6A;color: #fff">导出</el-button> --> | |
| 97 | 117 | </div> |
| 98 | - <div style="margin:10px 0 15px 0"> | |
| 118 | + <!-- <div style="margin:10px 0 15px 0"> | |
| 99 | 119 | <el-radio-group v-model="radio1"> |
| 100 | 120 | <el-radio-button label="全部"></el-radio-button> |
| 101 | 121 | <el-radio-button label="美团"></el-radio-button> |
| 102 | 122 | <el-radio-button label="大麦"></el-radio-button> |
| 103 | 123 | <el-radio-button label="携程"></el-radio-button> |
| 104 | 124 | </el-radio-group> |
| 105 | - </div> | |
| 125 | + </div> --> | |
| 106 | 126 | <div style="color:#000">单位:元</div> |
| 107 | 127 | <!-- 柱状图--> |
| 108 | 128 | <div ref="container2" style="width: 400px; height: 400px;"></div> |
| ... | ... | @@ -111,16 +131,16 @@ |
| 111 | 131 | <div style="background-color: #fff;padding: 10px;width: 32%;"> |
| 112 | 132 | <div style="display: flex;border-bottom:1px solid #F2F2F2;justify-content: space-between;padding: 5px; 0 15px 0"> |
| 113 | 133 | <div style="line-height: 200%;">票种销售额情况表</div> |
| 114 | - <!-- <el-button style="background-color: #fff;color: #000;">导出</el-button> --> | |
| 134 | + <!-- <el-button style="background-color: #3F9B6A;color: #fff">导出</el-button> --> | |
| 115 | 135 | </div> |
| 116 | - <div style="margin:10px 0 15px 0"> | |
| 136 | + <!-- <div style="margin:10px 0 15px 0"> | |
| 117 | 137 | <el-radio-group v-model="radio2"> |
| 118 | 138 | <el-radio-button label="全部"></el-radio-button> |
| 119 | 139 | <el-radio-button label="票种1"></el-radio-button> |
| 120 | 140 | <el-radio-button label="票种2"></el-radio-button> |
| 121 | 141 | <el-radio-button label="票种3"></el-radio-button> |
| 122 | 142 | </el-radio-group> |
| 123 | - </div> | |
| 143 | + </div> --> | |
| 124 | 144 | <div style="color:#000">单位:元</div> |
| 125 | 145 | <!-- 柱状图--> |
| 126 | 146 | <div ref="container3" style="width: 400px; height: 400px;"></div> |
| ... | ... | @@ -135,13 +155,13 @@ |
| 135 | 155 | |
| 136 | 156 | <script> |
| 137 | 157 | import * as echarts from 'echarts'; |
| 158 | +import {getTotalSales,excelToTotalSales} from '@/api/piaowu' | |
| 138 | 159 | export default { |
| 139 | 160 | data() { |
| 140 | 161 | return { |
| 141 | 162 | value1:'', |
| 142 | 163 | radio1:'', |
| 143 | 164 | radio2:'', |
| 144 | - list: [], | |
| 145 | 165 | total: 1, |
| 146 | 166 | pageSize: 10, |
| 147 | 167 | currentPage: 1, |
| ... | ... | @@ -149,77 +169,46 @@ export default { |
| 149 | 169 | page: 1, |
| 150 | 170 | pageSize: 10 |
| 151 | 171 | }, |
| 152 | - tipsList: [{ | |
| 153 | - id: 1, | |
| 154 | - name: '系统消息' | |
| 155 | - }, | |
| 156 | - { | |
| 157 | - id: 2, | |
| 158 | - name: '公告' | |
| 159 | - }, | |
| 160 | - { | |
| 161 | - id: 3, | |
| 162 | - name: '站内信' | |
| 163 | - }], | |
| 164 | - tableData: [{ | |
| 165 | - id: '1', | |
| 166 | - name: '王小虎', | |
| 167 | - amount1: '234', | |
| 168 | - amount2: '3.2', | |
| 169 | - amount3: 10 | |
| 170 | - }, { | |
| 171 | - id: '4', | |
| 172 | - name: '5', | |
| 173 | - amount1: '165', | |
| 174 | - amount2: '4.43', | |
| 175 | - amount3: 12 | |
| 176 | - }, { | |
| 177 | - id: '12987124', | |
| 178 | - name: '6', | |
| 179 | - amount1: '6', | |
| 180 | - amount2: '1.9', | |
| 181 | - amount3: 9 | |
| 182 | - }, { | |
| 183 | - id: '234', | |
| 184 | - name: '534', | |
| 185 | - amount1: '621', | |
| 186 | - amount2: '2.2', | |
| 187 | - amount3: 17 | |
| 188 | - }, { | |
| 189 | - id: '34', | |
| 190 | - name: '623', | |
| 191 | - amount1: '539', | |
| 192 | - amount2: '4.1', | |
| 193 | - amount3: 15 | |
| 194 | - }], | |
| 172 | + tipsList: [], | |
| 173 | + tableData: [], | |
| 195 | 174 | chart1:null, |
| 196 | 175 | chart2:null, |
| 197 | 176 | chart3:null, |
| 198 | - rules: { | |
| 199 | - noticeType: [ | |
| 200 | - { required: true, message: '请选择消息类型', trigger: 'change' } | |
| 201 | - ] | |
| 202 | - }, | |
| 203 | - | |
| 177 | + pageIndex:{ | |
| 178 | + list: [], | |
| 179 | + page: 1, | |
| 180 | + pageSize: 10, | |
| 181 | + startTime:"", | |
| 182 | + endTime:"", | |
| 183 | + ticketChannel:"", | |
| 184 | + ticketType:"" | |
| 185 | + }, | |
| 186 | +numOne:0, | |
| 187 | + moyeOne:0, | |
| 188 | + numTwo:0, | |
| 189 | + moyeTwo:0, | |
| 190 | + meimoye:0, | |
| 191 | + numthree:0, | |
| 192 | + moyethree:0, | |
| 204 | 193 | } |
| 205 | 194 | }, |
| 206 | 195 | mounted() { |
| 207 | - // this.getAll() | |
| 208 | - this.echar(this.$refs.container) | |
| 209 | - | |
| 210 | - this.echar2(this.$refs.container2) | |
| 211 | - | |
| 212 | - this.echar3(this.$refs.container3) | |
| 213 | - this.resizeChart = () => { | |
| 214 | - try { | |
| 215 | - this.chart.resize() | |
| 216 | - this.chart2.resize() | |
| 217 | - this.chart3.resize() | |
| 218 | - } catch (error) { | |
| 219 | - console.log(error); | |
| 220 | - } | |
| 221 | - }; | |
| 222 | - window.addEventListener('resize', this.resizeChart, false); // false代表事件句柄在冒泡阶段执行 | |
| 196 | + this.getAll() | |
| 197 | + // this.echar(this.$refs.container) | |
| 198 | + // console.log(this.$refs.container2) | |
| 199 | + // this.echar2(this.$refs.container2) | |
| 200 | + | |
| 201 | + // this.echar3(this.$refs.container3) | |
| 202 | + // this.resizeChart = () => { | |
| 203 | + // try { | |
| 204 | + // this.chart.resize() | |
| 205 | + // this.chart2.resize() | |
| 206 | + // this.chart3.resize() | |
| 207 | + // } catch (error) { | |
| 208 | + // console.log(error); | |
| 209 | + // } | |
| 210 | + // }; | |
| 211 | + // window.addEventListener('resize', this.resizeChart, false); // false代表事件句柄在冒泡阶段执行 | |
| 223 | 212 | |
| 224 | 213 | // this.$nextTick(() => { |
| 225 | 214 | // this.echar(this.$refs.container) |
| ... | ... | @@ -239,177 +228,184 @@ export default { |
| 239 | 228 | }, |
| 240 | 229 | |
| 241 | 230 | methods: { |
| 242 | - echar(diameter) { | |
| 243 | - this.chart1 = echarts.init(diameter); | |
| 231 | + async getAll(){ | |
| 232 | + let res = await getTotalSales(this.pageIndex) | |
| 233 | + this.tableData = res.data.list | |
| 234 | + this.total = res.data.total | |
| 235 | + | |
| 236 | + // this.echar(res.data.list) | |
| 237 | + let numOne =0 | |
| 238 | + let moyeOne =0 | |
| 239 | + let meimoye = 0 | |
| 240 | + let numTwo =0 | |
| 241 | + let moyeTwo =0 | |
| 242 | + let numthree=0 | |
| 243 | + let moyethree =0 | |
| 244 | + | |
| 245 | + this.tableData.map(item=>{ | |
| 246 | + moyeOne += Number(item.price) | |
| 247 | + if(item.ticketChannel == '美团'){ | |
| 248 | + numOne += item.num | |
| 249 | + meimoye = meimoye + Number(item.price) | |
| 250 | + } | |
| 251 | + if(item.ticketChannel == '大麦'){ | |
| 252 | + numTwo += item.num | |
| 253 | + | |
| 254 | + moyeTwo = moyeTwo + Number(item.price) | |
| 255 | + } | |
| 256 | + if(item.ticketChannel == '携程'){ | |
| 257 | + numthree += item.num | |
| 258 | + | |
| 259 | + moyethree = moyethree + Number(item.price) | |
| 260 | + } | |
| 261 | + }) | |
| 262 | + this.numOne = numOne | |
| 263 | + this.moyeOne = moyeOne | |
| 264 | + this.numTwo = numTwo | |
| 265 | + this.moyeTwo = moyeTwo | |
| 266 | + this.meimoye = meimoye | |
| 267 | + this.numthree = numthree | |
| 268 | +this.moyethree = moyethree | |
| 269 | +this.echar2(this.tableData) | |
| 270 | +this.echar3( this.tableData) | |
| 271 | +this.echar( this.tableData) | |
| 272 | + }, | |
| 273 | + search(){ | |
| 274 | + if(this.pageIndex.list.length !=0){ | |
| 275 | + this.pageIndex.startTime = this.pageIndex.list[0] | |
| 276 | + this.pageIndex.endTime = this.pageIndex.list[1] | |
| 277 | + } | |
| 278 | + this.getAll() | |
| 279 | + }, | |
| 280 | + clear(){ | |
| 281 | + this.pageIndex = { | |
| 282 | + list: [], | |
| 283 | + page: 1, | |
| 284 | + pageSize: 10, | |
| 285 | + startTime:"", | |
| 286 | + endTime:"", | |
| 287 | + ticketChannel:"", | |
| 288 | + ticketType:"" | |
| 289 | + } | |
| 290 | + this.getAll() | |
| 291 | + }, | |
| 292 | + echar(datas) { | |
| 293 | + let Dom = this.$refs.container1 | |
| 294 | + let myChart = echarts.init(Dom) | |
| 295 | + // let processedData = datas.map(item => ({ | |
| 296 | + // name: item.ticketChannel, | |
| 297 | + // value: item.num | |
| 298 | + // })) | |
| 299 | + let processedData = datas.reduce((accumulator, item) => { | |
| 300 | + // 查找当前名称是否已经存在于累加器中 | |
| 301 | + let existingItemIndex = accumulator.findIndex(i => i.name === item.time); | |
| 302 | + | |
| 303 | + // 如果存在,则累加值 | |
| 304 | + if (existingItemIndex !== -1) { | |
| 305 | + accumulator[existingItemIndex].value += item.num; | |
| 306 | + } else { | |
| 307 | + // 如果不存在,则添加新项 | |
| 308 | + accumulator.push({ name: item.time, value: item.num }); | |
| 309 | + } | |
| 310 | + | |
| 311 | + return accumulator; | |
| 312 | + }, []); // 初始值为空数组 | |
| 313 | + console.log(processedData) | |
| 314 | + // this.chart1 = echarts.init(diameter); | |
| 244 | 315 | // 指定图表的配置项和数据 |
| 245 | - const option = { | |
| 316 | + let option = { | |
| 246 | 317 | xAxis: { |
| 247 | 318 | type: 'category', |
| 248 | - data: ['周一', '周二', '周三', '周四', '周五', '周六', '周天'] | |
| 249 | - }, | |
| 319 | + data:processedData.map(item => item.name), | |
| 320 | + }, | |
| 250 | 321 | yAxis: { |
| 251 | 322 | type: 'value' |
| 252 | 323 | }, |
| 253 | 324 | series: [ |
| 254 | 325 | { |
| 255 | - data: [150, 230, 224, 218, 135, 147, 260], | |
| 256 | - type: 'line' | |
| 326 | + data:processedData.map(item => item.value), | |
| 327 | + type: 'line', | |
| 257 | 328 | } |
| 258 | 329 | ] |
| 259 | - } | |
| 330 | + } | |
| 260 | 331 | |
| 261 | 332 | // 使用刚指定的配置项和数据显示图表。 |
| 262 | - this.chart1.setOption(option) | |
| 333 | + option && myChart.setOption(option); | |
| 263 | 334 | }, |
| 264 | - echar2(diameter) { | |
| 265 | - this.chart2= echarts.init(diameter); | |
| 335 | + echar2(datas) { | |
| 336 | + let Dom = this.$refs.container2 | |
| 337 | + let myChart = echarts.init(Dom) | |
| 338 | + let processedData = datas.reduce((accumulator, item) => { | |
| 339 | + // 查找当前名称是否已经存在于累加器中 | |
| 340 | + let existingItemIndex = accumulator.findIndex(i => i.name === item.ticketChannel); | |
| 341 | + | |
| 342 | + // 如果存在,则累加值 | |
| 343 | + if (existingItemIndex !== -1) { | |
| 344 | + accumulator[existingItemIndex].value += Number(item.price); | |
| 345 | + } else { | |
| 346 | + // 如果不存在,则添加新项 | |
| 347 | + accumulator.push({ name: item.ticketChannel, value:Number(item.price)}); | |
| 348 | + } | |
| 349 | + | |
| 350 | + return accumulator; | |
| 351 | + }, []); // 初始值为空数组 | |
| 352 | + // this.chart2= echarts.init(diameter); | |
| 266 | 353 | let option = { |
| 267 | 354 | xAxis: { |
| 268 | 355 | type: 'category', |
| 269 | - data: ['周一', '周二', '周三', '周四', '周五', '周六', '周天'] | |
| 356 | + data:processedData.map(item => item.name), | |
| 270 | 357 | }, |
| 271 | 358 | yAxis: { |
| 272 | 359 | type: 'value' |
| 273 | 360 | }, |
| 274 | 361 | series: [ |
| 275 | 362 | { |
| 276 | - data: [ | |
| 277 | - 120, | |
| 278 | - { | |
| 279 | - value: 200, | |
| 280 | - | |
| 281 | - itemStyle: { | |
| 282 | - color: '#000' | |
| 283 | - } | |
| 284 | - }, | |
| 285 | - { | |
| 286 | - value: 150, | |
| 287 | - itemStyle: { | |
| 288 | - color: '#a90000' | |
| 289 | - } | |
| 290 | - }, | |
| 291 | - 80, | |
| 292 | - 70, | |
| 293 | - 110, | |
| 294 | - 130 | |
| 295 | - ], | |
| 363 | + data:processedData.map(item => item.value), | |
| 296 | 364 | type: 'bar' |
| 297 | - } | |
| 298 | - ] | |
| 299 | - }; | |
| 300 | -// const labelOption = { | |
| 301 | -// show: true, | |
| 302 | -// position:'top', | |
| 303 | -// distance: 15, | |
| 304 | -// align: 'center', | |
| 305 | -// verticalAlign: 'top', | |
| 306 | -// rotate:top, | |
| 307 | -// fontSize: 16, | |
| 308 | - | |
| 309 | -// } | |
| 310 | -// // 指定图表的配置项和数据 | |
| 311 | -// let option = { | |
| 312 | -// toolbox: { | |
| 313 | -// show: true, | |
| 314 | -// orient: 'vertical', | |
| 315 | -// left: 'right', | |
| 316 | -// top: 'center', | |
| 317 | -// }, | |
| 318 | -// xAxis: [ | |
| 319 | -// { | |
| 320 | -// type: 'category', | |
| 321 | -// axisTick: { show: false }, | |
| 322 | -// data: ['2012', '2013', '2014', '2015', '2016'] | |
| 323 | -// } | |
| 324 | -// ], | |
| 325 | -// yAxis: [ | |
| 326 | -// { | |
| 327 | -// type: 'value' | |
| 328 | -// } | |
| 329 | -// ], | |
| 330 | -// series: [ | |
| 331 | -// { | |
| 332 | -// name: 'Forest', | |
| 333 | -// type: 'bar', | |
| 334 | -// barGap: 0, | |
| 335 | -// label: labelOption, | |
| 336 | -// emphasis: { | |
| 337 | -// focus: 'series' | |
| 338 | -// }, | |
| 339 | -// data: [320, 332, 301, 334, 390] | |
| 340 | -// }, | |
| 341 | -// { | |
| 342 | -// name: 'Steppe', | |
| 343 | -// type: 'bar', | |
| 344 | -// label: labelOption, | |
| 345 | -// emphasis: { | |
| 346 | -// focus: 'series' | |
| 347 | -// }, | |
| 348 | -// data: [220, 182, 191, 234, 290] | |
| 349 | -// }, | |
| 350 | -// { | |
| 351 | -// name: 'Desert', | |
| 352 | -// type: 'bar', | |
| 353 | -// label: labelOption, | |
| 354 | -// emphasis: { | |
| 355 | -// focus: 'series' | |
| 356 | -// }, | |
| 357 | -// data: [150, 232, 201, 154, 190] | |
| 358 | -// }, | |
| 359 | -// { | |
| 360 | -// name: 'Wetland', | |
| 361 | -// type: 'bar', | |
| 362 | -// label: labelOption, | |
| 363 | -// emphasis: { | |
| 364 | -// focus: 'series' | |
| 365 | -// }, | |
| 366 | -// data: [98, 77, 101, 99, 40] | |
| 367 | -// } | |
| 368 | -// ] | |
| 369 | -// } | |
| 365 | + }, | |
| 370 | 366 | |
| 371 | - // 使用刚指定的配置项和数据显示图表。 | |
| 372 | - this.chart2.setOption(option) | |
| 367 | + ], | |
| 368 | + | |
| 369 | + }; | |
| 370 | + option && myChart.setOption(option); | |
| 373 | 371 | }, |
| 374 | - echar3(diameter) { | |
| 375 | - this.chart3 = echarts.init(diameter); | |
| 372 | + echar3(datas) { | |
| 373 | + let Dom = this.$refs.container3 | |
| 374 | + let myChart = echarts.init(Dom) | |
| 375 | + let processedData = datas.reduce((accumulator, item) => { | |
| 376 | + // 查找当前名称是否已经存在于累加器中 | |
| 377 | + let existingItemIndex = accumulator.findIndex(i => i.name === item.ticketType); | |
| 378 | + | |
| 379 | + // 如果存在,则累加值 | |
| 380 | + if (existingItemIndex !== -1) { | |
| 381 | + accumulator[existingItemIndex].value +=Number(item.price); | |
| 382 | + } else { | |
| 383 | + // 如果不存在,则添加新项 | |
| 384 | + accumulator.push({ name: item.ticketType, value: Number(item.price) }); | |
| 385 | + } | |
| 386 | + | |
| 387 | + return accumulator; | |
| 388 | + }, []); // 初始值为空数组 | |
| 389 | + | |
| 390 | + // this.chart3 = echarts.init(diameter); | |
| 376 | 391 | // 指定图表的配置项和数据 |
| 377 | 392 | let option = { |
| 378 | 393 | xAxis: { |
| 379 | 394 | type: 'category', |
| 380 | - data: ['周一', '周二', '周三', '周四', '周五', '周六', '周天'] | |
| 395 | + data:processedData.map(item => item.name), | |
| 381 | 396 | }, |
| 382 | 397 | yAxis: { |
| 383 | 398 | type: 'value' |
| 384 | 399 | }, |
| 385 | 400 | series: [ |
| 386 | 401 | { |
| 387 | - data: [ | |
| 388 | - 120, | |
| 389 | - { | |
| 390 | - value: 200, | |
| 391 | - | |
| 392 | - itemStyle: { | |
| 393 | - color: '#858564' | |
| 394 | - } | |
| 395 | - }, | |
| 396 | - { | |
| 397 | - value: 150, | |
| 398 | - itemStyle: { | |
| 399 | - color: '#65665' | |
| 400 | - } | |
| 401 | - }, | |
| 402 | - 80, | |
| 403 | - 70, | |
| 404 | - 110, | |
| 405 | - 130 | |
| 406 | - ], | |
| 402 | + data:processedData.map(item => item.value), | |
| 407 | 403 | type: 'bar' |
| 408 | 404 | } |
| 409 | 405 | ] |
| 410 | 406 | }; |
| 411 | 407 | // 使用刚指定的配置项和数据显示图表。 |
| 412 | - this.chart3.setOption(option) | |
| 408 | + option && myChart.setOption(option) | |
| 413 | 409 | }, |
| 414 | 410 | getSummaries(param) { |
| 415 | 411 | const { columns, data } = param; |
| ... | ... | @@ -436,15 +432,43 @@ export default { |
| 436 | 432 | }); |
| 437 | 433 | |
| 438 | 434 | return sums; |
| 439 | - } | |
| 440 | - }, | |
| 435 | + }, | |
| 436 | + | |
| 441 | 437 | handleCurrentChange(val) { |
| 442 | 438 | this.currentPage = val |
| 443 | 439 | }, |
| 444 | 440 | handleSizeChange(val) { |
| 445 | 441 | this.pageSize = val |
| 446 | 442 | }, |
| 443 | + async daochu(){ | |
| 444 | + let res = await excelToTotalSales(this.pageIndex) | |
| 445 | + if(!res){ | |
| 446 | + return | |
| 447 | + } | |
| 448 | + const blob = new Blob([res], { type: 'application/vnd.ms-excel' }) | |
| 449 | + const fileName = '总销售额明细表.xls' | |
| 450 | + if ('download' in document.createElement('a')) { | |
| 451 | + // 非IE下载 | |
| 452 | + const elink = document.createElement('a') | |
| 453 | + elink.download = fileName | |
| 454 | + elink.style.display = 'none' | |
| 455 | + elink.href = URL.createObjectURL(blob) | |
| 456 | + document.body.appendChild(elink) | |
| 457 | + elink.click() | |
| 458 | + URL.revokeObjectURL(elink.href) // 释放URL 对象 | |
| 459 | + document.body.removeChild(elink) | |
| 460 | + } else { | |
| 461 | + // IE10+下载 | |
| 462 | + navigator.msSaveBlob(blob, fileName) | |
| 463 | + } | |
| 464 | + this.$message({ | |
| 465 | + message: '导出成功', | |
| 466 | + type: 'success' | |
| 467 | + }) | |
| 468 | + | |
| 447 | 469 | |
| 470 | + }, | |
| 471 | + } | |
| 448 | 472 | } |
| 449 | 473 | </script> |
| 450 | 474 | ... | ... |
admin-web-master/src/views/stockControl/inventory/addCommodity.vue
| ... | ... | @@ -3,7 +3,7 @@ |
| 3 | 3 | <div> |
| 4 | 4 | <el-card class="box-card"> |
| 5 | 5 | <span class="addTitle">商品详情</span> |
| 6 | - <el-button type="success" class="btnList" @click="back">关闭</el-button> | |
| 6 | + <el-button style="background-color: #3F9B6A;color: #fff" class="btnList" @click="back">关闭</el-button> | |
| 7 | 7 | <el-button v-if="productItem.shelveState === 2" type="primary" class="btnList" @click="examineShow(productData)">审核</el-button> |
| 8 | 8 | </el-card> |
| 9 | 9 | <el-card class="box-card"> |
| ... | ... | @@ -46,7 +46,7 @@ |
| 46 | 46 | <el-table |
| 47 | 47 | :data="productItem.skuList" |
| 48 | 48 | style="width: 100%" |
| 49 | - :header-cell-style="{ background: '#EEF3FF', color: '#333333' }" | |
| 49 | + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 50 | 50 | > |
| 51 | 51 | <el-table-column |
| 52 | 52 | v-for="(skuAttr, index) in skuAttrName" | ... | ... |
admin-web-master/src/views/stockControl/inventory/index.vue
| 1 | 1 | <!-- --> |
| 2 | 2 | <template> |
| 3 | - <div> | |
| 3 | + <div style="background-color:#f7f7f7;padding:10px 10px;"> | |
| 4 | 4 | <div class="pending"> |
| 5 | + <div style="height:58px;line-height:58px;"> | |
| 6 | + <div style="color:#0006"> <span>库存管理</span> <span style="padding:0 5px;">></span> <span style="color:#000000e6">商品库存</span></div> | |
| 7 | + </div> | |
| 5 | 8 | <!-- 搜索 --> |
| 6 | 9 | <div class="formSearch"> |
| 7 | 10 | <el-form :inline="true" :model="formInline" class="demo-form-inline"> |
| ... | ... | @@ -37,9 +40,10 @@ |
| 37 | 40 | /> |
| 38 | 41 | </el-form-item> |
| 39 | 42 | <el-form-item> |
| 40 | - <el-button type="primary" plain @click="search">查询</el-button> | |
| 41 | - <el-button plain @click="clear">重置</el-button> | |
| 42 | - <el-button type="success" plain @click="productDataExport">导出商品</el-button> | |
| 43 | + <el-button style="background-color: #3F9B6A;color: #fff" @click="search">查询</el-button> | |
| 44 | + <el-button class="buttonHover" | |
| 45 | + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" @click="clear">重置</el-button> | |
| 46 | + <el-button style="background-color: #3F9B6A;color: #fff" @click="productDataExport">导出商品</el-button> | |
| 43 | 47 | <!-- <span |
| 44 | 48 | v-for="(item, index) in btnList" |
| 45 | 49 | :key="index" |
| ... | ... | @@ -58,8 +62,7 @@ |
| 58 | 62 | ref="multipleTable" |
| 59 | 63 | v-loading="loading" |
| 60 | 64 | :data="tableData" |
| 61 | - border | |
| 62 | - :header-cell-style="{ background: '#EEF3FF', color: '#333333' }" | |
| 65 | + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 63 | 66 | tooltip-effect="dark" |
| 64 | 67 | style="width: 100%" |
| 65 | 68 | > |
| ... | ... | @@ -116,7 +119,13 @@ |
| 116 | 119 | </el-table-column> |
| 117 | 120 | <el-table-column label="操作" width="200"> |
| 118 | 121 | <template slot-scope="scope"> |
| 119 | - <div class="btnList"> | |
| 122 | + <div v-if="scope.row.shelveState == 1" @click="OutForced(scope.row)" class="tableBtn greens">强制下架</div> | |
| 123 | + <div v-if="scope.row.shelveState == 1" @click="setFictitious(scope.row)" class="tableBtn greens">虚拟销量</div> | |
| 124 | + <div v-if="scope.row.shelveState == 2" @click="examineShow(scope.row)" class="tableBtn greens">审核</div> | |
| 125 | + <div @click="Godetails(scope.row)" class="tableBtn greens">查看详情</div> | |
| 126 | + | |
| 127 | + | |
| 128 | + <!-- <div class="btnList"> | |
| 120 | 129 | <el-button |
| 121 | 130 | v-if="scope.row.shelveState == 1" |
| 122 | 131 | slot="reference" |
| ... | ... | @@ -138,7 +147,7 @@ |
| 138 | 147 | type="text" |
| 139 | 148 | @click="Godetails(scope.row)" |
| 140 | 149 | >查看详情</el-button> |
| 141 | - </div> | |
| 150 | + </div> --> | |
| 142 | 151 | </template> |
| 143 | 152 | </el-table-column> |
| 144 | 153 | </el-table> |
| ... | ... | @@ -177,8 +186,9 @@ |
| 177 | 186 | </el-form-item> |
| 178 | 187 | </el-form> |
| 179 | 188 | <span slot="footer" class="dialog-footer"> |
| 180 | - <el-button @click="examineVisible = false">取 消</el-button> | |
| 181 | - <el-button type="primary" @click="submintUs">确 定</el-button> | |
| 189 | + <el-button class="buttonHover" | |
| 190 | + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" @click="examineVisible = false">取 消</el-button> | |
| 191 | + <el-button style="background-color: #3F9B6A;color: #fff" @click="submintUs">确 定</el-button> | |
| 182 | 192 | </span> |
| 183 | 193 | </el-dialog> |
| 184 | 194 | <!-- 设置虚拟销量 --> |
| ... | ... | @@ -199,8 +209,9 @@ |
| 199 | 209 | </el-form-item> |
| 200 | 210 | </el-form> |
| 201 | 211 | <span slot="footer" class="dialog-footer"> |
| 202 | - <el-button @click="FictitiousVisible = false">取 消</el-button> | |
| 203 | - <el-button type="primary" @click="FicSubmintUs">确 定</el-button> | |
| 212 | + <el-button class="buttonHover" | |
| 213 | + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" @click="FictitiousVisible = false">取 消</el-button> | |
| 214 | + <el-button style="background-color: #3F9B6A;color: #fff" @click="FicSubmintUs">确 定</el-button> | |
| 204 | 215 | </span> |
| 205 | 216 | </el-dialog> |
| 206 | 217 | <add-commodity ref="addCommodity" :examine-show="examineShow" @reset="reset" /> |
| ... | ... | @@ -402,8 +413,10 @@ export default { |
| 402 | 413 | //@import url(); 引入公共css类 |
| 403 | 414 | @import url("../../../styles/elDialog.scss"); |
| 404 | 415 | .pending { |
| 405 | - padding: 30px; | |
| 406 | -} | |
| 416 | + padding: 0 20px 20px 20px; | |
| 417 | + min-height: calc(100vh - 50px - 20px); | |
| 418 | + background-color: #Fff; | |
| 419 | + } | |
| 407 | 420 | .fenye { |
| 408 | 421 | margin-top: 20px; |
| 409 | 422 | } |
| ... | ... | @@ -445,4 +458,24 @@ export default { |
| 445 | 458 | } |
| 446 | 459 | } |
| 447 | 460 | } |
| 461 | +.batch_btn { | |
| 462 | + padding: 5px 10px; | |
| 463 | + border: 1px solid #dfe6ec; | |
| 464 | + background-color: #fff; | |
| 465 | + border-top: 0; | |
| 466 | +} | |
| 467 | + .tableBtn { | |
| 468 | + display: inline-block; | |
| 469 | + margin-right: 10px; | |
| 470 | + } | |
| 471 | + | |
| 472 | + .greens { | |
| 473 | + color: #3F9B6A ; | |
| 474 | + } | |
| 475 | + ::v-deep .buttonHover:hover{ | |
| 476 | + color:#3f9b6a !important; | |
| 477 | + border-color: #c5e1d2 !important; | |
| 478 | + background-color: #ecf5f0 !important; | |
| 479 | + outline: none; | |
| 480 | + } | |
| 448 | 481 | </style> | ... | ... |
admin-web-master/src/views/stockControl/stocksForewarn/index.vue
| 1 | 1 | <!-- --> |
| 2 | 2 | <template> |
| 3 | - <div class="pending"> | |
| 3 | + <div style="background-color:#f7f7f7;padding:10px 10px;"> | |
| 4 | 4 | <div class="tab_show"> |
| 5 | - <div class="" style="font-weight: 600;font-size: 12px;margin-bottom: 15px;display: flex;justify-content: space-between;"> | |
| 6 | - <div style="">库存预警</div> | |
| 7 | - <el-button plain @click="setthreshold" size="mini" style="background-color: #3F9B6A;color: #fff;">库存阈值设置</el-button> | |
| 5 | + <div style="height:58px;line-height:58px;"> | |
| 6 | + <div style="color:#0006"> <span>库存管理</span> <span style="padding:0 5px;">></span> <span style="color:#000000e6">库存预警</span></div> | |
| 8 | 7 | </div> |
| 8 | + <div style="margin-bottom:20px;"><el-button plain @click="setthreshold" size="mini" style="background-color: #3F9B6A;color: #fff;">库存阈值设置</el-button></div> | |
| 9 | 9 | <!-- 搜索 --> |
| 10 | 10 | <div class="filter-container"> |
| 11 | 11 | <div style="display:flex;justify-content: space-between;background-color: #f5f5f5;padding:10px"> |
| ... | ... | @@ -237,11 +237,10 @@ this.dialogVisible = false |
| 237 | 237 | padding-left: 15px; |
| 238 | 238 | } |
| 239 | 239 | .tab_show{ |
| 240 | - padding-top: 10px; | |
| 241 | - padding-left: 10px; | |
| 242 | - padding-right: 10px; | |
| 243 | - background-color: #fff; | |
| 244 | -} | |
| 240 | + padding: 0 20px 20px 20px; | |
| 241 | + min-height: calc(100vh - 50px - 20px); | |
| 242 | + background-color: #Fff; | |
| 243 | + } | |
| 245 | 244 | .filter-container { |
| 246 | 245 | font-size:12px; |
| 247 | 246 | border:1px solid #EBEEF5; | ... | ... |