<!DOCTYPE HTML>
|
<html xmlns:th="http://www.thymeleaf.org" xmlns:matrix="http://www.w3.org/1999/xhtml">
|
<head>
|
<meta charset="utf-8">
|
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
|
<meta name="renderer" content="webkit|ie-comp|ie-stand">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
<meta name="viewport"
|
content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
|
<meta http-equiv="Cache-Control" content="no-siteapp"/>
|
<!-- 本框架基本脚本和样式 -->
|
<script type="text/javascript" th:src="@{/js/systools/MBaseVue.js}"></script>
|
<link rel="stylesheet" th:href="@{/plugin/element-ui/index.css}">
|
<link rel="stylesheet" th:href="@{/plugin/bootstrap-3.3.5/css/bootstrap.min.css}">
|
<link th:href="@{/css/styleOne/style.min.css}" rel="stylesheet" type="text/css"/>
|
|
<!-- 富文本编辑器 -->
|
<script type="text/javascript" charset="utf-8"
|
th:src="@{/plugin/beditor/ueditor.config.js}"></script>
|
<script type="text/javascript" charset="utf-8"
|
th:src="@{/plugin/beditor/ueditor.all.js}">
|
</script>
|
<script type="text/javascript" charset="utf-8"
|
th:src="@{/plugin/beditor/lang/zh-cn/zh-cn.js}"></script>
|
<style>
|
|
.el-aside {
|
background-color: #D3DCE6;
|
color: #333;
|
text-align: center;
|
}
|
.el-main {
|
background-color: #E9EEF3;
|
color: #333;
|
}
|
body > .el-container {
|
margin-bottom: 1000px;
|
}
|
.button {
|
padding: 5px;
|
text-align: center;
|
}
|
|
.imageOne {
|
display: block;
|
height: 50px;
|
padding: 5px 5px;
|
text-align: center;
|
}
|
.imageTwo {
|
display: block;
|
height: 280px;
|
padding: 5px 5px;
|
text-align: center;
|
}
|
.imageThree {
|
display: block;
|
padding: 5px 5px;
|
text-align: center;
|
}
|
|
.box-card {
|
padding: 5px 5px;
|
}
|
|
</style>
|
</head>
|
|
<body>
|
<div class="panel-body" id="app" v-cloak>
|
<el-form :model="ruleForm" :rules="rules" class="form-horizontal" id="dataform" ref="ruleForm" label-width="120px">
|
|
<el-container>
|
<el-aside width="30%">
|
<el-card class="box-card" :body-style="{ padding: '10px 10px'}">
|
<!--<div @click="uploadImg()" class="imageOne">
|
<img v-if="imageUrlTitle" :src="imageUrlTitle" style="width: 100%;">
|
<el-button type="primary" v-show="imageUrlTitle == ''" round><span style="font-size: 20px;">标题</span><span style="padding:5px;font-size: 15px;color: red;">(上传图片)</span></span></el-button>
|
</div>-->
|
<el-row>
|
<div @click="uploadImg()" class="imageTwo" >
|
<img v-if="imageUrlHead" :src="imageUrlHead" style="width: 100%;height: 100%">
|
<el-button type="primary" v-show="imageUrlHead == ''" round><span style="font-size: 20px;">头部</span><span style="padding:5px;font-size: 15px;color: red;">(上传图片)</span></span></el-button>
|
</div>
|
</el-row>
|
<el-row style="display:flex;">
|
<el-col>
|
<div style="padding:5px;font-size: 15px;text-align: left;"><span>您已累计签到<span style="color: red;">3</span>天</span></div>
|
</el-col>
|
<el-col>
|
<div style="padding:5px;font-size: 15px;text-align: right;"><span>签到提醒</span></div>
|
</el-col>
|
</el-row>
|
|
<el-row>
|
<div @click="uploadImg()">
|
<el-calendar :range="['2019-03-04', '2019-03-24']"></el-calendar>
|
<img v-if="imageUrlState" :src="imageUrlState" style="width: 100%;">
|
<!--<el-button type="primary" v-show="imageUrlState == ''" round><span style="font-size: 20px;">日历签到背景</span><span style="padding:5px;font-size: 15px;color: red;">(上传图片)</span></span></el-button>-->
|
</div>
|
</el-row>
|
|
<el-row>
|
<div @click="uploadImg()" class="imageThree" >
|
<el-button type="primary" v-show="imageUrlButton == ''" round><span style="font-size: 20px;">签到按钮</span><span style="padding:5px;font-size: 15px;color: red;">(上传图片)</span></span></el-button>
|
<img v-if="imageUrlButton" :src="imageUrlButton" style="width: 100%;">
|
</div>
|
</el-row>
|
|
|
<el-row>
|
<div style="text-align: center;padding: 5px;" @click="gzsmSet()">
|
<div class="col-sm-8 col-sm-offset-2" style="text-align: left;">
|
<span style="padding:5px;font-size: 30px;">-- 规则说明--</span>
|
</div>
|
<div class="el-col-sm-24" style="text-align: center;">
|
<span style="padding:5px;font-size: 15px;color: red;">(点击,编辑规则内容,背景颜色,字体颜色、大小、透明度)</span>
|
</div>
|
<div class="col-sm-8 col-sm-offset-2" style="text-align: left;">
|
<span style="padding:5px;font-size: 15px;">1、每天参与签到可获得积分</span>
|
</div>
|
<div class="col-sm-8 col-sm-offset-2" style="text-align: left;">
|
<span style="padding:5px;font-size: 15px;">2、连续签到7天将获得赠送大礼包</span>
|
</div>
|
<div class="col-sm-8 col-sm-offset-2" style="text-align: left;">
|
<span style="padding:5px;font-size: 15px;">3、每7天重新开始计算</span>
|
</div>
|
</div>
|
</el-row>
|
</el-card>
|
</el-aside>
|
|
<el-main width="70%">
|
<div>
|
<el-tabs v-model="activeName" @tab-click="clickSecondTab">
|
<el-tab-pane label="活动设置" name="first">
|
<div class="col-sm-8 col-sm-offset-1" style="padding: 10px">
|
<el-form-item label="活动名称" prop="actName">
|
<el-input v-model="ruleForm.actName" placeholder="请输入活动名称"></el-input>
|
</el-form-item>
|
</div>
|
<div class="col-sm-8 col-sm-offset-1" style="padding: 10px">
|
<el-form-item label="活动编码" prop="actCode">
|
<el-input v-model.number="ruleForm.actCode" placeholder="请输入最大开团数量"></el-input>
|
</el-form-item>
|
</div>
|
<div class="col-sm-4 col-sm-offset-1" style="padding: 10px">
|
<el-form-item label="活动时间" prop="actTime">
|
<div class="block">
|
<el-date-picker
|
v-model="ruleForm.actTime"
|
type="daterange"
|
range-separator="至"
|
start-placeholder="开始日期"
|
end-placeholder="结束日期">
|
</el-date-picker>
|
</div>
|
</el-form-item>
|
</div>
|
</el-tab-pane>
|
|
<el-tab-pane label="奖品设置" name="second">
|
<el-row style="display:flex;">
|
<el-col :span="20">
|
<el-tabs v-model="editableTabsValue" type="card" closable @tab-click="clickTab" @tab-remove="removeTab">
|
<el-tab-pane v-for="(item, index) in editableTabs" :key="item.name" :label="item.title" :name="item.name">
|
<el-row v-show="editableTabsValue !== '1'">
|
<el-form-item label="签到累计天数">
|
<el-input v-model.number="item.content.cumulativeDay" oninput ="value=value.replace(/[^0-9.]/g,'')"></el-input>
|
</el-form-item>
|
</el-row>
|
<el-row>
|
<el-form-item label="奖项类型">
|
<el-col>
|
<el-radio-group v-model="item.content.awardType" @change="jxlxChange">
|
<el-radio :label="1">自定义奖品</el-radio>
|
<el-radio :label="2">积分</el-radio>
|
<el-radio :label="3">优惠券</el-radio>
|
<el-radio :label="4">商品</el-radio>
|
</el-radio-group>
|
</el-col>
|
</el-form-item >
|
</el-row>
|
<el-row >
|
<el-col>
|
<el-form-item label="奖项名称">
|
<el-input v-model="item.content.awardName" placeholder="奖项名称"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row >
|
<el-col>
|
<el-form-item label="图片介绍">
|
<el-upload
|
action="/admin/multipleUploadFile/doUpload"
|
:show-file-list="false"
|
:on-success="introduceImgSuccess">
|
<img v-if="item.content.introduceImg" :src="item.content.introduceImg" style="max-width: 200px;">
|
</el-upload>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
<div v-show="item.content.awardType !== 2">
|
<el-row style="display:flex;">
|
<el-col>
|
<el-form-item label="奖项库存">
|
<el-input v-model="item.content.awardInventoryCnt" oninput ="value=value.replace(/[^0-9.]/g,'')"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col>
|
<el-form-item label="已派发">
|
<el-input v-model="item.content.awardDistributeCnt"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</div>
|
<div v-show="item.content.awardType === 1">
|
<el-row >
|
<el-col>
|
<el-form-item label="文字介绍">
|
<el-input type="textarea" v-model="item.content.introduceTip"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row >
|
<el-col>
|
<el-form-item label="兑奖方式">
|
<el-col>
|
<el-radio-group v-model="item.content.awardWay" @change="awardWayChange">
|
<el-radio :label="1">线下兑换</el-radio>
|
<el-radio :label="2">物流配送</el-radio>
|
<el-radio :label="3">客服兑换</el-radio>
|
</el-radio-group>
|
</el-col>
|
</el-form-item >
|
</el-col>
|
</el-row>
|
<el-row >
|
<el-col>
|
<el-form-item label="操作提示">
|
<el-input v-model="item.content.operationTip"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<div v-show="item.content.awardWay === 1">
|
<el-row >
|
<el-col>
|
<el-form-item label="兑奖地址">
|
<el-input v-model="item.content.prizeAddress"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
</div>
|
<div v-show="item.content.awardWay === 3">
|
<el-row >
|
<el-col>
|
<el-form-item label="客服微信">
|
<el-upload
|
action="/admin/multipleUploadFile/doUpload"
|
:show-file-list="false"
|
:on-success="wechatImgSuccess">
|
<img v-if="item.content.wechatImg" :src="item.content.wechatImg" style="max-width: 200px;">
|
</el-upload>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</div>
|
<div v-show="[1,3].includes(item.content.awardWay)">
|
<el-row >
|
<el-col>
|
<el-form-item label="客服电话">
|
<el-input v-model="item.content.customerPhone"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</div>
|
<div v-show="item.content.awardWay !== 2">
|
<el-row >
|
<el-col>
|
<el-form-item label="兑奖期限">
|
<div class="block">
|
<el-date-picker
|
v-model="item.content.prizeTime"
|
type="daterange"
|
range-separator="至"
|
start-placeholder="开始日期"
|
end-placeholder="结束日期">
|
</el-date-picker>
|
</div>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</div>
|
</div>
|
<div v-show="item.content.awardType === 2">
|
<el-row >
|
<el-col>
|
<el-form-item label="积分数量">
|
<el-input v-model="item.content.scoreCnt" oninput ="value=value.replace(/[^0-9.]/g,'')"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</div>
|
<div v-show="item.content.awardType === 3">
|
<el-row style="display:flex;">
|
<el-col>
|
<el-form-item label="优惠券名称">
|
<el-input v-model="item.content.couponName"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col>
|
<el-form-item label="优惠券">
|
<el-input v-model="item.content.couponId"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col>
|
<el-button type="primary" @click="chooseCoupon(item.content.couponName,item.name)">
|
选择优惠券
|
</el-button>
|
</el-col>
|
</el-row>
|
|
<el-drawer
|
title="选择商城优惠券"
|
:visible.sync="drawerCoupon"
|
:direction="directionCoupon"
|
size="90%">
|
<el-row style="margin-left: 50px;">
|
<el-col :span="24">
|
<el-row>
|
<el-form ref="formCoupon" :model="formCoupon" inline >
|
<el-form-item prop="yhjmc">
|
<el-input v-model="formCoupon.yhjmc" placeholder="请输入优惠券名称"></el-input>
|
</el-form-item>
|
<el-button type="primary" @click="searchFormCoupon" >搜索</el-button>
|
<el-button @click="resetFormCoupon('formCoupon')">重置</el-button>
|
</el-form>
|
</el-row>
|
|
<el-row class="table-style" >
|
<el-table ref="multipleTable"
|
:data="couponList.rows"
|
:height="tableHeightCoupon"
|
stripe:true
|
style="width: 100%">
|
<el-table-column
|
prop="cname"
|
label="优惠券名称"
|
show-overflow-tooltip>
|
</el-table-column>
|
<el-table-column
|
prop="endTime"
|
label="截止日期"
|
show-overflow-tooltip>
|
</el-table-column>
|
<el-table-column
|
prop="address"
|
label="操作">
|
<template slot-scope="scope">
|
<el-button type="primary"
|
size="mini"
|
@click="chooseOneCoupon(scope.row)">选择
|
</el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
</el-row>
|
<el-row class="paginationStyle" >
|
<el-pagination background
|
@size-change="changePageSizeCoupon"
|
@current-change="changeCurrentPageCoupon"
|
:current-page="couponList.currentPage"
|
:page-sizes="[10, 20, 30, 50]"
|
:page-size="couponList.pageSize"
|
layout="total, sizes, prev, pager, next, jumper"
|
:total="couponList.total">
|
</el-pagination>
|
</el-row>
|
</el-col>
|
</el-row>
|
</el-drawer>
|
|
</div>
|
<div v-show="item.content.awardType === 4">
|
<el-row style="display:flex;">
|
<el-col>
|
<el-form-item label="品项名称">
|
<el-input v-model="item.content.goodsName"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col>
|
<el-form-item label="品项">
|
<el-input v-model="item.content.goodsId"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col>
|
<el-button type="primary" @click="chooseGoods(item.content.goodsName,item.name)">
|
选择品项
|
</el-button>
|
</el-col>
|
</el-row>
|
|
<el-drawer
|
title="选择ERP产品"
|
:visible.sync="drawerGoods"
|
:direction="directionGoods"
|
size="90%">
|
<el-row style="margin-left: 50px;">
|
<el-col :span="24">
|
<el-row>
|
<el-form ref="formGoods" :model="formGoods" inline >
|
<el-form-item prop="cpmc">
|
<el-input v-model="formGoods.cpmc" placeholder="请输入产品名称"></el-input>
|
</el-form-item>
|
<el-button type="primary" @click="searchFormGoods" >搜索</el-button>
|
<el-button @click="resetFormGoods('formGoods')">重置</el-button>
|
</el-form>
|
</el-row>
|
|
<el-row class="table-style" >
|
<el-table ref="multipleTable"
|
:data="goodsList.rows"
|
:height="tableHeightGoods"
|
stripe:true
|
style="width: 100%">
|
<el-table-column
|
prop="name"
|
label="名称"
|
show-overflow-tooltip>
|
</el-table-column>
|
<el-table-column
|
prop="address"
|
label="操作">
|
<template slot-scope="scope">
|
<el-button type="primary"
|
size="mini"
|
@click="chooseOneGoods(scope.row)">选择
|
</el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
</el-row>
|
<el-row class="paginationStyle" >
|
<el-pagination background
|
@size-change="changePageSizeGoods"
|
@current-change="changeCurrentPageGoods"
|
:current-page="goodsList.currentPage"
|
:page-sizes="[10, 20, 30, 50]"
|
:page-size="goodsList.pageSize"
|
layout="total, sizes, prev, pager, next, jumper"
|
:total="goodsList.total">
|
</el-pagination>
|
</el-row>
|
</el-col>
|
</el-row>
|
</el-drawer>
|
|
</div>
|
</el-tab-pane>
|
</el-tabs>
|
</el-col>
|
<el-col :span="4">
|
<el-button type="primary" @click="addTab(editableTabsValue)">
|
新增奖品
|
</el-button>
|
</el-col>
|
</el-row>
|
</el-tab-pane>
|
|
<el-tab-pane label="背景图片上传" name="third">
|
<!--<div class="col-sm-8 col-sm-offset-1" style="padding: 10px">
|
<el-form-item label="标题">
|
<el-upload
|
action="/admin/multipleUploadFile/doUpload"
|
:show-file-list="false"
|
:on-success="imageUrlTitleSuccess">
|
<img v-if="imageUrlTitle" :src="imageUrlTitle" style="max-width: 300px;">
|
</el-upload>
|
</el-form-item>
|
</div>-->
|
<div class="col-sm-8 col-sm-offset-1" style="padding: 10px">
|
<el-form-item label="头部">
|
<el-upload
|
action="/admin/multipleUploadFile/doUpload"
|
:show-file-list="false"
|
:on-success="imageUrlHeadSuccess">
|
<img v-if="imageUrlHead" :src="imageUrlHead" style="max-width: 300px;">
|
</el-upload>
|
</el-form-item>
|
</div>
|
<!--<div class="col-sm-8 col-sm-offset-1" style="padding: 10px">
|
<el-form-item label="日历签到背景">
|
<el-upload
|
action="/admin/multipleUploadFile/doUpload"
|
:show-file-list="false"
|
:on-success="imageUrlStateSuccess">
|
<img v-if="imageUrlState" :src="imageUrlState" style="max-width: 300px;">
|
</el-upload>
|
</el-form-item>
|
</div>-->
|
<div class="col-sm-8 col-sm-offset-1" style="padding: 10px">
|
<el-form-item label="签到按钮">
|
<el-upload
|
action="/admin/multipleUploadFile/doUpload"
|
:show-file-list="false"
|
:on-success="imageUrlButtonSuccess">
|
<img v-if="imageUrlButton" :src="imageUrlButton" style="max-width: 300px;">
|
<i v-else></i>
|
</el-upload>
|
</el-form-item>
|
</div>
|
</el-tab-pane>
|
|
<el-tab-pane label="规则说明" name="fourth">
|
<div class="col-sm-8 col-sm-offset-1">
|
<el-form-item label="规则内容" prop="ruleExplain" style="padding: 10px">
|
<el-input type="textarea" v-model="ruleForm.ruleExplain"></el-input>
|
</el-form-item>
|
<el-form-item label="背景颜色" style="padding: 10px">
|
<el-color-picker v-model="backgroundColor"></el-color-picker>
|
</el-form-item>
|
<el-form-item label="字体颜色" style="padding: 10px">
|
<el-color-picker v-model="typographyColor"></el-color-picker>
|
</el-form-item>
|
<el-form-item label="字体大小" style="padding: 10px">
|
<el-input-number v-model="typographyNum" :min="10" :max="50" label="描述文字"></el-input-number>
|
</el-form-item>
|
<!--<el-form-item label="字体透明度" style="padding: 10px">
|
<el-input-number v-model="typographyLight" :min="1" :max="100" label="描述文字">%</el-input-number>
|
</el-form-item>-->
|
</div>
|
</el-tab-pane>
|
</el-tabs>
|
</div>
|
|
<div class="form-group ">
|
<div class="col-sm-12 text-center">
|
<el-button type="primary" @click="updateSignAwardSet('ruleForm')">保存</el-button>
|
<el-button type="danger" @click="cancelSubmit">关闭</el-button>
|
</div>
|
</div>
|
</el-main>
|
|
</el-container>
|
|
</el-form>
|
</div>
|
</body>
|
<script type="text/javascript" th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script>
|
<script type="text/javascript" th:src="@{/js/plugin/jquery.query.js}"></script>
|
<script type="text/javascript" th:src="@{/plugin/bootstrap-3.3.5/js/bootstrap.min.js}"></script>
|
<script type="text/javascript" th:src="@{/js/systools/AjaxProxyVue.js}"></script>
|
<script type="text/javascript" th:src="@{/js/plugin/vue.js}"></script>
|
<script type="text/javascript" th:src="@{/plugin/element-ui/index.js}"></script>
|
<script type="text/javascript" th:src="@{/js/systools/MJsBase.js}"></script>
|
<script type="text/javascript" th:src="@{/plugin/layer/layer.js}"></script>
|
<script type="text/javascript" th:src="@{/plugin/moment.min.js}"></script>
|
|
<script>
|
//获取传输的活动对象
|
var actId = $.query.get("actId");
|
const prize = {
|
//奖品基本信息
|
id:'',
|
cumulativeDay:'',
|
awardType:1,
|
awardName:'',
|
introduceImg:'',
|
introduceTip:'',
|
awardInventoryCnt:'',
|
awardDistributeCnt:'',
|
awardWay:1,
|
operationTip:'',
|
prizeAddress:'',
|
prizeTime: '',
|
wechatImg:'',
|
scoreCnt:'',
|
couponId:'',
|
customerPhone:'',
|
goodsId:'',
|
couponName:'',
|
goodsName:'',
|
}
|
var app = new Vue({
|
el: '#app',
|
data: {
|
activeName: 'first',
|
formLabelWidth: '120px',
|
//标题图片
|
imageUrlTitle: '',
|
imageUrlHead: "../../../images/sign/signHead.png",
|
imageUrlButton: "../../../images/sign/signButton.png",
|
imageUrlState: '',
|
|
activeClickTab:0,
|
|
//优惠券搜索弹出
|
drawerCoupon: false,
|
directionCoupon: 'rtl',
|
tableHeightCoupon: 500,
|
//--优惠券
|
formCoupon:{
|
yhjmc:'',
|
order:'',
|
sort:''
|
},
|
couponList:{
|
rows:[],
|
total:0,
|
pageSize:10,
|
currentPage:1,
|
},
|
|
//品项搜索弹出
|
drawerGoods: false,
|
directionGoods: 'rtl',
|
tableHeightGoods: 500,
|
//--品项
|
formGoods:{
|
cpmc:'',
|
order:'',
|
sort:''
|
},
|
goodsList:{
|
rows:[],
|
total:0,
|
pageSize:10,
|
currentPage:1,
|
},
|
|
//字体颜色
|
typographyColor: '#409EFF',
|
//背景颜色
|
backgroundColor: '#409EFF',
|
//字体大小
|
typographyNum: '5',
|
//字体透明度
|
typographyLight: '50',
|
//奖品设置
|
prize:JSON.parse(JSON.stringify(prize)),
|
editableTabsValue: '1',
|
editableTabs: [{
|
title: '签到日常奖励',
|
name: '1',
|
content: JSON.parse(JSON.stringify(prize))
|
}],
|
tabIndex: 1,
|
|
ruleForm : {
|
//商品基本信息
|
actName : '',
|
actCode : '',
|
actTime : '',
|
//规则说明
|
ruleExplain : '',
|
},
|
rules : {
|
//商品基本信息
|
actName : [
|
{ required: true, message: '请输入活动名称', trigger: 'blur' }
|
],
|
actCode : [
|
{ required: true, message: '请输入活动编码', trigger: 'blur' }
|
],
|
actTime : [
|
{ required: true, message: '请选择日期', trigger: 'change' }
|
],
|
ruleExplain : [
|
{ required: true, message: '请输入规则内容', trigger: 'blur' }
|
]
|
},
|
},
|
created: function () {
|
this.loadInfo();
|
},
|
methods: {
|
//选择优惠券
|
chooseCoupon(val,name){
|
let _this = this;
|
_this.drawerCoupon = true;
|
_this.activeClickTab = parseInt(name);
|
|
console.log(_this.activeClickTab);
|
_this.formCoupon.yhjmc = val;
|
_this.loadCouponList();
|
},
|
//--优惠券
|
loadCouponList() {
|
let _this = this;
|
let data=_this.getRequestParamCoupon();
|
data.pageSize=_this.couponList.pageSize;
|
data.pageNum=_this.couponList.currentPage;
|
AjaxProxy.requst({
|
app: _this,
|
data:data,
|
url: basePath + '/admin/activitySignAwardSet/selectCouponList',
|
callback: function (data) {
|
_this.couponList.rows = data.rows;
|
_this.couponList.total = data.total;
|
}
|
});
|
},
|
//查询参数
|
getRequestParamCoupon(){
|
let _this = this;
|
return {
|
yhjmc:_this.formCoupon.yhjmc,
|
order:_this.formCoupon.order,
|
sort:_this.formCoupon.sort,
|
}
|
},
|
//查询
|
searchFormCoupon:function(){
|
this.couponList.currentPage=1;
|
this.loadCouponList();
|
},
|
//重置
|
resetFormCoupon(formName) {
|
(this.$refs[formName])[0].resetFields();
|
},
|
changePageSizeCoupon(val) {
|
this.couponList.pageSize = val;
|
this.loadCouponList();
|
},
|
changeCurrentPageCoupon(val) {
|
this.couponList.currentPage = val;
|
this.loadCouponList();
|
},
|
//选择
|
chooseOneCoupon(row) {
|
let _this = this;
|
_this.editableTabs[_this.activeClickTab-1].content.couponId = row.id;
|
_this.editableTabs[_this.activeClickTab-1].content.couponName = row.cname;
|
_this.drawerCoupon = false;
|
},
|
|
//选择品项
|
chooseGoods(val,name){
|
let _this = this;
|
_this.drawerGoods = true;
|
_this.activeClickTab = parseInt(name);
|
_this.formGoods.cpmc = val;
|
_this.loadGoodsList();
|
},
|
//--品项
|
loadGoodsList() {
|
let _this = this;
|
let data=_this.getRequestParamGoods();
|
data.pageSize=_this.goodsList.pageSize;
|
data.pageNum=_this.goodsList.currentPage;
|
AjaxProxy.requst({
|
app: _this,
|
data:data,
|
url: basePath + '/admin/activitySignAwardSet/selectGoodsList',
|
callback: function (data) {
|
_this.goodsList.rows = data.rows;
|
_this.goodsList.total = data.total;
|
}
|
});
|
},
|
//查询参数
|
getRequestParamGoods(){
|
let _this = this;
|
return {
|
cpmc:_this.formCoupon.cpmc,
|
order:_this.formCoupon.order,
|
sort:_this.formCoupon.sort,
|
}
|
},
|
//查询
|
searchFormGoods:function(){
|
this.goodsList.currentPage=1;
|
this.loadGoodsList();
|
},
|
//重置
|
resetFormGoods(formName) {
|
(this.$refs[formName])[0].resetFields();
|
},
|
changePageSizeGoods(val) {
|
this.goodsList.pageSize = val;
|
this.loadGoodsList();
|
},
|
changeCurrentPageGoods(val) {
|
this.goodsList.currentPage = val;
|
this.loadGoodsList();
|
},
|
//选择
|
chooseOneGoods(row) {
|
let _this = this;
|
_this.editableTabs[_this.activeClickTab-1].content.goodsId = row.id;
|
_this.editableTabs[_this.activeClickTab-1].content.goodsName = row.name;
|
_this.drawerGoods = false;
|
},
|
|
//加载活动详情
|
loadInfo() {
|
let _this = this;
|
_this.loadSign();
|
},
|
loadSign() {
|
let _this = this;
|
let data={
|
actId:actId,
|
};
|
AjaxProxy.requst({
|
app: _this,
|
data:data,
|
url: basePath + '/admin/activitySignAwardSet/findSignForUpdate',
|
callback: function (data) {
|
_this.ruleForm.actName = data.mapInfo.addSignAwardSetVo.actName;
|
_this.ruleForm.actCode = data.mapInfo.addSignAwardSetVo.actCode;
|
let arrayObj = new Array();
|
arrayObj.push(new Date(data.mapInfo.addSignAwardSetVo.beginTime));
|
arrayObj.push(new Date(data.mapInfo.addSignAwardSetVo.endTime));
|
_this.ruleForm.actTime = arrayObj;
|
//字体颜色
|
_this.ruleForm.ruleExplain = data.mapInfo.addSignAwardSetVo.signSetBasicJsonDto.ruleExplain;
|
_this.typographyColor = data.mapInfo.addSignAwardSetVo.signSetBasicJsonDto.typographyColor;
|
_this.backgroundColor = data.mapInfo.addSignAwardSetVo.signSetBasicJsonDto.backgroundColor;
|
_this.typographyNum = data.mapInfo.addSignAwardSetVo.signSetBasicJsonDto.typographyNum;
|
_this.typographyLight = data.mapInfo.addSignAwardSetVo.signSetBasicJsonDto.typographyLight;
|
_this.imageUrlTitle = data.mapInfo.addSignAwardSetVo.signSetBasicJsonDto.imageUrlTitle;
|
_this.imageUrlHead = data.mapInfo.addSignAwardSetVo.signSetBasicJsonDto.imageUrlHead;
|
_this.imageUrlButton = data.mapInfo.addSignAwardSetVo.signSetBasicJsonDto.imageUrlButton;
|
_this.imageUrlState = data.mapInfo.addSignAwardSetVo.signSetBasicJsonDto.imageUrlState;
|
|
for (let i = 0; i < data.mapInfo.addSignAwardSetVo.activitySignAwardSets.length; i++) {
|
_this.tabIndex = data.mapInfo.addSignAwardSetVo.activitySignAwardSets.length;
|
let prizeVo = data.mapInfo.addSignAwardSetVo.activitySignAwardSets[i];
|
let arrayObjs = new Array();
|
arrayObjs.push(new Date(prizeVo.prizeStartTime));
|
arrayObjs.push(new Date(prizeVo.prizeEndTime));
|
let content = JSON.parse(JSON.stringify(prize));
|
content = {
|
id: prizeVo.id,
|
cumulativeDay: prizeVo.cumulativeDay,
|
awardType: parseInt(prizeVo.awardType),
|
awardName: prizeVo.awardName,
|
introduceImg: prizeVo.introduceImg,
|
customerPhone: prizeVo.customerPhone,
|
introduceTip: prizeVo.introduceTip,
|
awardInventoryCnt: prizeVo.awardInventoryCnt,
|
awardDistributeCnt: prizeVo.awardDistributeCnt,
|
awardWay: parseInt(prizeVo.awardWay),
|
operationTip: prizeVo.operationTip,
|
prizeAddress: prizeVo.prizeAddress,
|
wechatImg: prizeVo.wechatImg,
|
scoreCnt: prizeVo.scoreCnt,
|
couponId: prizeVo.couponId,
|
goodsId: prizeVo.goodsId,
|
couponName: prizeVo.couponName,
|
goodsName: prizeVo.goodsName,
|
prizeTime: arrayObjs,
|
}
|
if(i === 0){
|
_this.editableTabs[0].content = content;
|
}else{
|
let newTabName = i+1 +'';
|
_this.editableTabs.push({
|
title: "商品奖励"+"("+newTabName+")",
|
name: newTabName,
|
content: content,
|
});
|
this.editableTabsValue = newTabName;
|
}
|
}
|
}
|
});
|
},
|
//保存
|
updateSignAwardSet : function(formName) {
|
const _this = this;
|
let flag = false;
|
_this.$refs[formName].validate((valid) => {
|
if (!valid) {
|
_this.$notify({
|
title: '提示',
|
message: '请完善签到活动信息',
|
type: 'warning'
|
});
|
flag = true;
|
return;
|
}
|
});
|
if (flag) {
|
return;
|
}
|
//活动基本信息
|
let signSetBasicJsonDto = {
|
ruleExplain: _this.ruleForm.ruleExplain,
|
//字体颜色
|
typographyColor: _this.typographyColor,
|
//背景颜色
|
backgroundColor: _this.backgroundColor,
|
//字体大小
|
typographyNum: _this.typographyNum,
|
//字体透明度
|
typographyLight: _this.typographyNum,
|
//标题图片
|
imageUrlTitle: _this.imageUrlTitle,
|
imageUrlHead: _this.imageUrlHead,
|
imageUrlButton: _this.imageUrlButton,
|
imageUrlState: _this.imageUrlState,
|
}
|
//奖品信息
|
let activitySignAwardSets = [];
|
for (let i = 0; i < _this.editableTabs.length; i++) {
|
let prize = _this.editableTabs[i].content;
|
let name = _this.editableTabs[i].title;
|
let awardRule = 2;
|
if(name == "签到日常奖励"){
|
awardRule = 1;
|
}
|
let activitySignAwardSet = {
|
id: prize.id,
|
cumulativeDay: prize.cumulativeDay,
|
awardRule: awardRule,
|
awardType: prize.awardType,
|
awardName: prize.awardName,
|
introduceImg: prize.introduceImg,
|
introduceTip: prize.introduceTip,
|
awardInventoryCnt: prize.awardInventoryCnt,
|
awardDistributeCnt: prize.awardDistributeCnt,
|
awardWay: prize.awardWay,
|
operationTip: prize.operationTip,
|
customerPhone: prize.customerPhone,
|
prizeAddress: prize.prizeAddress,
|
wechatImg: prize.wechatImg,
|
scoreCnt: prize.scoreCnt,
|
couponId: prize.couponId,
|
goodsId: prize.goodsId,
|
couponName: prize.couponName,
|
goodsName: prize.goodsName,
|
prizeStartTime: prize.prizeTime[0],
|
prizeEndTime: prize.prizeTime[1],
|
}
|
activitySignAwardSets.push(activitySignAwardSet);
|
}
|
let resultData = {
|
actMainId: actId,
|
actName: _this.ruleForm.actName,
|
actCode: _this.ruleForm.actCode,
|
beginTime : _this.ruleForm.actTime[0],
|
endTime : _this.ruleForm.actTime[1],
|
signSetBasicJsonDto,
|
activitySignAwardSets,
|
}
|
AjaxProxy.requst({
|
app: _this,
|
data: resultData,
|
url: basePath + '/admin/activitySignAwardSet/updateSignAwardSet',
|
callback: function (data) {
|
_this.$message({
|
message: data.info,
|
type: 'success',
|
});
|
}
|
});
|
},
|
//奖品设置
|
addTab(targetName) {
|
let newTabName = ++this.tabIndex + '';
|
this.editableTabs.push({
|
title: "商品奖励"+"("+newTabName+")",
|
name: newTabName,
|
content: JSON.parse(JSON.stringify(prize)),
|
});
|
this.editableTabsValue = newTabName;
|
this.activeClickTab = parseInt(newTabName);
|
},
|
clickSecondTab(targetName) {
|
this.activeClickTab = 1;
|
},
|
clickTab(targetName) {
|
console.log(targetName.name);
|
this.activeClickTab = parseInt(targetName.name);
|
},
|
removeTab(targetName) {
|
let tabs = this.editableTabs;
|
let activeName = this.editableTabsValue;
|
if(activeName === '1' || targetName === '1'){
|
this.$notify({
|
title: '提示',
|
message: '【签到日常奖励】不能删除',
|
type: 'warning'
|
});
|
}else{
|
if (activeName === targetName) {
|
tabs.forEach((tab, index) => {
|
if (tab.name === targetName && tab.title !== "签到日常奖励") {
|
let nextTab = tabs[index + 1] || tabs[index - 1];
|
if (nextTab) {
|
activeName = nextTab.name;
|
}
|
}
|
});
|
}
|
this.editableTabsValue = activeName;
|
this.editableTabs = tabs.filter(tab => tab.name !== targetName);
|
this.tabIndex = this.editableTabs.length;
|
}
|
},
|
//切换奖项类型,显示不同内容
|
jxlxChange(val){
|
let _this = this;
|
_this.isShow=val;
|
},
|
//切换兑奖方式,显示不同内容
|
awardWayChange(val){
|
let _this = this;
|
_this.isShow=val;
|
},
|
//跳转到图片上传
|
uploadImg(){
|
this.activeName = 'third';
|
},
|
//跳转到规则说明
|
gzsmSet(){
|
this.activeName = 'fourth';
|
},
|
//标题图片
|
imageUrlTitleSuccess(res, file) {
|
this.imageUrlTitle = res.path;
|
},
|
imageUrlHeadSuccess(res, file) {
|
this.imageUrlHead = res.path;
|
},
|
imageUrlButtonSuccess(res, file) {
|
this.imageUrlButton = res.path;
|
},
|
imageUrlStateSuccess(res, file) {
|
this.imageUrlState = res.path;
|
},
|
//奖品设置的图片介绍
|
introduceImgSuccess(res, file) {
|
this.editableTabs[this.activeClickTab-1].content.introduceImg = res.path;
|
},
|
//奖品设置的客服微信
|
wechatImgSuccess(res, file) {
|
this.editableTabs[this.activeClickTab-1].content.wechatImg = res.path;
|
},
|
cancelSubmit() {
|
this.closeFrame();
|
},
|
closeFrame() {
|
parent.layer.close(parent.layer.getFrameIndex(window.name));
|
},
|
}
|
})
|
</script>
|
|
</body>
|
</html>
|