Commit db59962a by zhangmeng

修改了自定义卡券传数量不对的问题

parent 51fe59f3
No preview for this file type
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=./static/img/favicon.ico><title>GIC后台</title><link rel=stylesheet type=text/css href=static/css/iconfont.css><link rel=stylesheet type=text/css href=static/css/common.css><link href=/marketing/static/css/app.479c6fa0a0b837ccce9292d51ef7168c.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/marketing/static/js/manifest.0a85049e489e85ac5f0a.js></script><script type=text/javascript src=/marketing/static/js/vendor.ccb4bd422cd76a080cba.js></script><script type=text/javascript src=/marketing/static/js/app.2cec4369ecc3aa4f3703.js></script></body></html>
\ No newline at end of file
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=./static/img/favicon.ico><title>GIC后台</title><link rel=stylesheet type=text/css href=static/css/iconfont.css><link rel=stylesheet type=text/css href=static/css/common.css><link href=/marketing/static/css/app.49fd2bb5d4d8e0c2d65b8847ca768723.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/marketing/static/js/manifest.0a85049e489e85ac5f0a.js></script><script type=text/javascript src=/marketing/static/js/vendor.ccb4bd422cd76a080cba.js></script><script type=text/javascript src=/marketing/static/js/app.f3b2d1f3138a9480a7ac.js></script></body></html>
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
// mall 积分商城
import mall from '../../views/mall/index';
import couponList from '../../views/mall/coupon/list';
import couponExchange from '../../views/mall/coupon/exchange';
import couponInfo from '../../views/mall/coupon/info.vue';
import mallTemp from '../../views/mall/temp'
import imgTextTemp from '../../components/libs/imgTextTemp'
import imgTemp from '../../components/libs/imgTemp'
import audioTemp from '../../components/libs/audioTemp'
import videoTemp from '../../components/libs/videoTemp'
import videoAddEdit from '../../components/libs/videoTemp/addEdit'
import mallAddRecord from '../../views/mall/addRecord'
import editor from '../../views/mall/editor'
export default {
path: 'mall',
name: '微信营销',
component: mall,
redirect: 'mall/coupon',
meta: {},
children: [
{
path: 'coupon',
name: '优惠券',
component: couponList,
meta: {}
},
{
path: 'coupon/exchange/:id',
name: '优惠券兑换记录',
component: couponExchange,
meta: {}
},
{
path: 'coupon/info',
name: '新增优惠券',
component: couponInfo,
meta: {
type:'add'
}
},
{
path: 'coupon/info/:id',
name: '编辑优惠券',
component: couponInfo,
meta: {
type:'edit'
}
},
{
path: 'coupon/queryinfo/:id',
name: '优惠券详情',
component: couponInfo,
meta: {
type:'info'
}
},
{
path: 'record/add',
name: '新建群发',
component: mallAddRecord,
meta: { type: 'add' }
},
{
path: 'record/edit/:id',
name: '编辑群发',
component: mallAddRecord,
meta: { type: 'edit' }
},
{
path: 'record/add/:id',
name: '使用图文群发',
component: mallAddRecord,
meta: { type: 'imgText' }
},
{
path: 'editor/:id',
name: '编辑图文',
component: editor,
meta: { type: 'edit' }
},
{
path: 'editor',
name: '新建图文',
component: editor,
meta: { type: 'add' }
},
{
path: 'temp',
name: '素材库',
component: mallTemp,
redirect: 'temp/imgtext',
meta: {},
children: [{
path: 'imgtext',
name: '图文',
component: imgTextTemp,
meta: {}
},
{
path: 'img',
name: '图片',
component: imgTemp,
meta: {}
},
{
path: 'audio',
name: '语音',
component: audioTemp,
meta: {}
},
{
path: 'video',
name: '视频',
component: videoTemp,
meta: {}
},
{
path: 'video/add',
name: '新增视频',
component: videoAddEdit,
meta: {
type: 'add'
}
},
{
path: 'video/edit/:id',
name: '编辑视频',
component: videoAddEdit,
meta: {
type: 'edit'
}
},
]
}
]
};
......@@ -26,6 +26,9 @@ import calllog from './modules/calllog'
import evaluation from './modules/evaluation'
//计费中心
import recharge from './modules/recharge'
//积分商城
import mall from './modules/mall'
export default [
{
......@@ -35,7 +38,7 @@ export default [
redirect: '/wechat/record',
children: [
card,
// giccard,
mall,
ecm,
game,
message,
......
......@@ -12,7 +12,7 @@ const MINI_TIME = 300
// 超时时间
let TIME_OUT_MAX = 20000
// 环境value
let _env = process.env.NODE_ENV === 'development'
let _isDev = process.env.NODE_ENV === 'development'
// 请求接口host
let _apiHost = config.api
// 请求组(判断当前请求数)
......@@ -58,7 +58,9 @@ function handlerErr(code,message = '请求错误') {
router.push('/404')
break
case 401:
window.location.href = config.api+'/gic-web/#/'
if (!_isDev) {
window.location.href = config.api+'/gic-web/#/'
}
message = '登录失效'
break
case 403:
......@@ -70,7 +72,7 @@ function handlerErr(code,message = '请求错误') {
break
case 500:
message = '服务器内部错误'
router.push('/500')
// router.push('/500')
break
case 501:
message = '功能未实现'
......
import { requests } from './index';
import router from '@/router';
const PREFIX = 'api-integral-mall/';
import Vue from 'vue';
const _vm = new Vue();
// 首页优惠券
export const getPageCardsList = (params) => requests(PREFIX + 'page-cards', params);
//更新库存
export const updateStockService = (params) => requests(PREFIX + 'update-stock', params);
//更新兑换所需积分
export const updateIntegralCostService = (params) => requests(PREFIX + 'update-integral-cost', params);
//更新兑换所需现金
export const updateCashCostService = (params) => requests(PREFIX + 'update-cash-cost', params);
//删除商品
export const deleteProService = (params) => requests(PREFIX + 'delete-pro', params);
//查看兑换记录
export const getPageExchangeLogsList = (params) => requests(PREFIX + 'page-exchange-logs', params);
//查看兑换记录
export const getIntegralMallProInfo = (params) => requests(PREFIX + 'get-integral-mall-pro', params);
//发送记录--新建保存群发
export const sendRecordSaveService = (params) => requests(PREFIX + 'save-update-wechat-marketing-record', params);
//获取营销场景
export const sceneSettingList = (params) => requests(PREFIX + 'scene-setting-list', params);
//查看数据
export const getWechatCardData = (params) => requests(PREFIX + 'get-wechat-card-data', params);
//发送记录操作: 删除
export const delWechatMarketingRecord = (params) => requests(PREFIX + 'del-wechat-marketing-record', params);
//发送记录操作: 失效
export const invalidWechatMarketingRecord = (params) => requests(PREFIX + 'invalid-wechat-marketing-record', params);
//素材库 图文 图文分页列表
export const loadImgTextList = (params) => requests(PREFIX + 'page-marketing-wechat-image-text', params);
//素材库 图文 删除图文素材信息
export const deleteImageText = (params) => requests(PREFIX + 'delete-image-text', params);
//素材库--图文--获取图文素材的同步信息 (同步状态, 微信侧图文总条数)
export const getSyncInfo = (params) => requests(PREFIX + 'get-sync-info', params);
//素材库--图文--同步微信侧 图文素材数据
export const syncWechatImageText = (params) => requests(PREFIX + 'sync-wechatImage-text', params);
//素材库--图片--图片分页列表
export const loadImgList = (params) => requests(PREFIX + 'page-marketing-wechat-image', params);
//素材库--图片--编辑图片名称
export const updateImgName = (params) => requests(PREFIX + 'update-marketing-wechat-image-titlename', params);
//素材库--图片--修改图片分组
export const updateGroupName = (params) => requests(PREFIX + 'update-marketing-wechat-image-group', params);
//素材库--图片--新建图片分组
export const addGroupService = (params) => requests(PREFIX + 'save-marketing-wechat-image-group', params);
//素材库--图片--删除图片分组
export const deleteGroupService = (params) => requests(PREFIX + 'delete-marketing-wechat-image-group', params);
//素材库--图片--批量删除图片
export const deleteImageService = (params) => requests(PREFIX + 'delete-batch-marketing-wechat-image', params);
//素材库--图片--移动分组
export const changeGroupService = (params) => requests(PREFIX + 'marketing-wechat-image-changeGroup', params);
//素材库--语音--语音分页列表
export const loadAudioList = (params) => requests(PREFIX + 'page-marketing-wechat-audio', params);
//素材库--语音--删除语音信息
export const delAudioService = (params) => requests(PREFIX + 'delete-marketing-wechat-audio', params);
//素材库--语音--新增/修改语音的弹窗回显信息
export const editAudioDetailService = (params) => requests(PREFIX + 'marketing-wechat-audio-edit', params);
//素材库--语音--新建语音--上传语音
export const uploadAudioService = (params) => requests(PREFIX + 'upload-marketing-audiosave', params);
//素材库--语音--新建/编辑 保存语音信息
export const saveAudioService = (params) => requests(PREFIX + 'save-update-marketing-wechat-audio', params);
//素材库--视频--视频分页列表
export const loadVideoList = (params) => requests(PREFIX + 'page-marketing-wechat-video', params);
//素材库--视频--删除视频信息
export const delVideoService = (params) => requests(PREFIX + 'delete-marketing-wechat-video', params);
//素材库--视频--新增/修改视频的弹窗回显信息
export const editVideoDetailService = (params) => requests(PREFIX + 'marketing-wechat-video-edit', params);
//素材库--视频--新建语音--上传视频
export const uploadVideoService = (params) => requests(PREFIX + 'upload-marketing-videosave', params);
//素材库--视频--新建/编辑 保存视频信息
export const saveVideoService = (params) => requests(PREFIX + 'save-update-marketing-wechat-video', params);
//素材库--图文--编辑图文信息 -- 回显图文信息
export const wechatImageTextEdit = (params) => requests(PREFIX + 'wechat-image-text-edit', params);
//素材库--图文--新增/更新 图文素材信息
export const saveUpdateWechatImageText = (params) => requests(PREFIX + 'save-update-wechat-image-text', params);
//素材库--图文--新增/更新 图文素材信息
export const getWechatMarketingDetail = (params) => requests(PREFIX + 'get-wechat-marketing-detail', params);
//获取公众号的appid
export const getMarketingUserInfo = (params) => requests(PREFIX + 'get-marketing-user-info', params);
......@@ -383,10 +383,9 @@ export default {
if (this.form.useCodeSuffix) {
card.customCodeSuffix = this.form.customCodeSuffix;
}
card.cardCodeCount = this.form.customCodeEnd - this.form.customCodeBegin;
card.cardCodeCount = this.form.customCodeEnd - this.form.customCodeBegin + 1;
} else {
card.cardCodeCount = this.form.cardCodeCount;
card.cardCodeCount = this.form.cardCodeCount;
}
//时间判断
card.cardEffectiveMode = this.form.cardEffectiveMode;
......
<template>
<section class="dm-wrap" v-loading="loading">
<div class="pb22 clearfix">
<el-date-picker class="w250" v-model="dateTime" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" @change="getPageExchangeLogsList"></el-date-picker>
<el-select class="vertical-middle w150" v-model="listParams.status" placeholder="选择领取状态" @change="getPageExchangeLogsList">
<el-option v-for="v in statusOptions" :key="v.value" :label="v.label" :value="v.value"></el-option>
</el-select>
<el-select class="vertical-middle w150" v-model="listParams.useStatus" placeholder="选择使用状态" @change="getPageExchangeLogsList">
<el-option v-for="v in useStatusOptions" :key="v.value" :label="v.label" :value="v.value"></el-option>
</el-select>
<el-input v-model="listParams.memberInfo" class="w300" placeholder="输入姓名/昵称/手机号" clearable @change="getPageExchangeLogsList"><i slot="prefix" class="el-input__icon el-icon-search"></i></el-input>
<el-button type="primary" class="fr" icon="iconfont icon-icon_yunxiazai fz14" @click="exportExcel"> 导出列表</el-button>
</div>
<el-table tooltipEffect="light" :data="tableList" style="width: 100%">
<el-table-column v-for="(v,i) in tableHeader" :align="v.align" :key="i" :prop="v.prop" :label="v.label">
<template slot-scope="scope">
<span v-if="v.formatter" v-html="v.formatter(scope.row)"></span>
<span v-else>{{scope.row[v.prop]}}</span>
</template>
</el-table-column>
</el-table>
<el-pagination v-show="tableList.length" background class="dm-pagination" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="listParams.currentPage" :page-sizes="[10, 20, 30, 40]" :page-size="listParams.pageSize" layout="total, sizes, prev, pager, next" :total="total"></el-pagination>
</section>
</template>
<script>
import {getPageExchangeLogsList} from '@/service/api/mallApi.js';
import {formateDateTimeByType} from '@/utils/index.js';
export default {
data() {
let _vm = this;
return {
loading:false,
tableHeader:[
{label:'兑换时间',prop:'createTime',minWidth:'170',align:'left',formatter(row){
return formateDateTimeByType(row.createTime,'yyyy-MM-dd-HH-mm-ss');
}},
{label:'流水号',prop:'definedCode',minWidth:'100',align:'left'},
{label:'会员信息',prop:'issuingQuantity',minWidth:'170',align:'left',formatter(row){
return `<a href="/member/#/wechatmemberDetail?memberId=${row.memberId}" target="_blank">
<img class="vertical-middle table__avatar" src="${row.photoUrl}" width="60" height="60" alt="" srcset="">
<div class="inline-block vertical-middle">
<p class="table-name--ellipsis">${row.memberName || '--'}</p>
<p class="table-name--ellipsis fz13">${row.cardNum || '--'}</p>
</div>
</a>`;
}},
{label:'消耗积分',prop:'payCost',width:'80',align:'left'},
{label:'领取状态',prop:'status',width:'100',align:'left',formatter(row){
let statusLabel ='--';
_vm.statusOptions.map(v => {
if (row.status === v.value) {
statusLabel = v.label
}
});
return statusLabel;
}},
{label:'使用状态',prop:'useStatus',width:'100',align:'left',formatter(row){
return row.useStatus === 5?'已使用':'未使用';
}},
],
total:0,
statusOptions:[{label:'所有领取状态',value:-1},{label:'兑换取消(礼品)',value:0},{label:'兑换',value:1},{label:'领取(卡券)',value:2},{label:'已发货(礼品)',value:3}],
useStatusOptions:[{label:'所有使用状态',value:-1},{label:'已使用',value:5},{label:'未使用',value:0}],
listParams:{
pageSize: 20,
currentPage: 1,
status: -1,
useStatus: -1,
memberInfo: "",
integralMallProId: this.$route.params.id,
beginTime: "",
endTime: ""
},
dateTime:['',''],
tableList:[]
};
},
created() {
this.$store.commit('mutations_breadcrumb',[{name:'积分商城'},{name:'优惠券',path:'/mall/coupon'},{name:'优惠券兑换记录',path:''}]);
this.getPageExchangeLogsList();
},
methods: {
handleSizeChange(val) {
this.listParams.pageSize = val;
this.getPageExchangeLogsList();
},
handleCurrentChange(val) {
this.listParams.currentPage = val;
this.getPageExchangeLogsList();
},
async getPageExchangeLogsList() {
this.loading = true;
if (this.dateTime) {
this.listParams.beginTime = formateDateTimeByType(this.dateTime[0],'yyyy-MM-dd');
this.listParams.endTime = formateDateTimeByType(this.dateTime[1],'yyyy-MM-dd');
} else {
this.listParams.beginTime = this.listParams.senendTimedEndTime = '';
}
let res = await getPageExchangeLogsList(this.listParams);
this.tableList = res.result.rows || [];
this.total = res.result.total || 0;
this.loading = false;
},
// TODO
exportExcel(){
}
}
};
</script>
export default {
data() {
return {
form:{
integralCost:0,
cashCost:0,
limitTimes:0,
memberGrade:'',
exchangeDateType:1,
exchangeFixDate:['',''], // exchangeFixDateBegin // exchangeFixDateEnd,
exchangeDateDayArr:[],
exchangeDateWeekArr:[]
},
rules:{},
memberGradeOptions:[],
exchangeDateDayOptions:[],
exchangeDateWeekOptions:[1,2,3,4,5,6,7],
sendChildData:{
storeType:0,
storeGroupIds:'',
storeIds:[],
},
editDisabled:false,
infoDisabled:false,
}
},
computed:{
isLimitTimes() {
return this.form.limitTimes > 0;
}
},
methods:{
//门店分组回执方法
getSelectGroupData(val) {
this.sendChildData.storeType = val.storeType || 0
this.sendChildData.storeGroupIds = val.storeGroupIds || ''
this.sendChildData.storeIds = val.storeIds || []
},
}
};
<template>
<el-form class="dm-wrap" :model="form" ref="form" :rules="rules" label-width="120px">
<el-form-item prop="integralCost" label="积分费用">
<el-input-number controls-position="right" :disabled="editDisabled || infoDisabled" v-model="form.integralCost" class="w200" :precison="0" :min="0"></el-input-number>
</el-form-item>
<el-form-item prop="cashCost" label="现金费用">
<el-input-number controls-position="right" :disabled="editDisabled || infoDisabled" v-model="form.cashCost" class="w200" :precison="0" :min="0"></el-input-number>
</el-form-item>
<el-form-item prop="limitTimes" label="次数显示">
<el-checkbox :disabled="editDisabled || infoDisabled" v-model="isLimitTimes">每个会员限制兑换
<el-input-number controls-position="right" :disabled="editDisabled || infoDisabled || !isLimitTimes" v-model="form.limitTimes" class="w100" :precison="0" :min="0"></el-input-number>
</el-checkbox>
</el-form-item>
<el-form-item prop="memberGrade" label="适用会员">
<el-select v-model="form.memberGrade" multiple placeholder="请选择" class="w">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="展现门店">
<vue-gic-store-linkage :disabled="infoDisabled" :msg="sendChildData" ref="selectTree" @sendSelectGroupData="getSelectGroupData"></vue-gic-store-linkage>
</el-form-item>
<el-form-item prop="exchangeDateType" label="兑换日期">
<el-radio-group v-model="form.exchangeDateType">
<el-radio class="block" :label="1">全部日期</el-radio>
<el-radio class="block" :label="2">固定日期
<el-date-picker v-model="form.exchangeFixDate" :disabled="editDisabled || infoDisabled" :picker-options="pickerOptions" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
</el-radio>
<el-radio class="block" :label="3">每月
<el-select v-model="form.exchangeDateDayArr" multiple filterable allow-create default-first-option placeholder="请选择文章标签">
<el-option v-for="item in exchangeDateDayOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-radio>
<el-radio class="block" :label="4">每周
<el-select v-model="form.exchangeDateWeek" multiple placeholder="请选择文章标签">
<el-option v-for="item in exchangeDateWeekOptions" :key="item" :label="item" :value="item"></el-option>
</el-select>
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item prop="exchangeTimeType" label="兑换时段">
<el-radio-group v-model="form.exchangeTimeType">
<el-radio :label="1">全部日期</el-radio>
<el-radio :label="2">部分时段
<el-time-picker is-range v-model="value4" value-format="HH-mm" range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间" placeholder="选择时间范围"></el-time-picker>
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item prop="proShowStatus" label="显示状态">
<el-radio-group v-model="form.proShowStatus">
<el-radio :label="1">上架状态就显示</el-radio>
<el-radio :label="1">兑换状态下显示</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item prop="proShowStatus" label="发布时间">
<el-radio-group v-model="form.proShowStatus">
<el-radio :label="1">立即发布</el-radio>
<el-radio :label="1">定时发布
<el-date-picker v-model="value1" type="datetime" placeholder="选择日期时间"></el-date-picker>
</el-radio>
</el-radio-group>
</el-form-item>
<div class="btn-wrap_fixed" :class="{'on':asideShow}">
<el-button type="primary" @click="submitForm('form')" v-if="!infoDisabled">确认新增</el-button>
<el-button @click="$router.go(-1)">返 回</el-button>
</div>
</el-form>
</template>
<script>
import infojs from './info.js';
export default infojs;
</script>
<template>
<section class="dm-wrap">
<div class="pb22 clearfix">
<el-button class="fr" type="primary" @click="$router.push('/wechat/record/add')">新增优惠券</el-button>
</div>
<el-table tooltipEffect="light" :data="tableList" style="width: 100%" v-loading="loading">
<el-table-column label="商品" align="left" prop="timesStatus" min-width="140">
<template slot-scope="scope">
<div class="ellipsis-100" >
<img class="vertical-middle table__avatar" :src="defaultAvatar" width="60" height="60" />
<div class="inline-block vertical-middle">
<p class="table-name--ellipsis">{{scope.row.proTitle || '--'}}</p>
<p class="fz13 gray">{{scope.row.proSubTitle || '--'}}</p>
</div>
</div>
</template>
</el-table-column>
<el-table-column label="积分费用" align="left" prop="integralCost" width="180">
<template slot-scope="scope">
<updateCount :model="scope.row" theType="integralCost" typeName="积分" @refresh="getPageCardsList"></updateCount>
</template>
</el-table-column>
<el-table-column label="现金费用" align="left" prop="cashCost" width="180">
<template slot-scope="scope">
<updateCount :model="scope.row" theType="cashCost" typeName="元" @refresh="getPageCardsList"></updateCount>
</template>
</el-table-column>
<el-table-column label="库存" align="left" prop="virtualStock" width="180">
<template slot-scope="scope">
<updateCount :model="scope.row" theType="virtualStock" @refresh="getPageCardsList"></updateCount>
</template>
</el-table-column>
<el-table-column label="兑换次数" align="left" prop="allExchangeNumber" width="80">
<template slot-scope="scope">
<span @click="$router.push('/mall/coupon/exchange/'+scope.row.integralMallProId)" class="blue">{{scope.row.allExchangeNumber}}</span>
</template>
</el-table-column>
<el-table-column label="状态" align="left" prop="status" width="80px">
<template slot-scope="scope" >
<span v-if="scope.row.status == 0" class="dm-status--error">删除</span>
<span v-if="scope.row.status == 1" class="dm-status--primary">正常</span>
<span v-if="scope.row.status == 2" class="dm-status--warning">上架</span>
</template>
</el-table-column>
<el-table-column label="显示状态" align="left" prop="proShowStatus" width="120">
<template slot-scope="scope" >
<span v-if="scope.row.proShowStatus == 1">上架状态就显示</span>
<span v-if="scope.row.proShowStatus == 2">兑换状态下显示</span>
</template>
</el-table-column>
<el-table-column label="操作" align="left" width="140px">
<template slot-scope="scope">
<el-button type="text">编辑</el-button>
<dm-confirm @confirm="delData(scope.row)" tips="是否删除该优惠券?">
<el-button type="text">删除</el-button>
</dm-confirm>
</template>
</el-table-column>
</el-table>
<el-pagination v-show="tableList.length" background class="dm-pagination" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="listParams.currentPage" :page-sizes="[10, 20, 30, 40]" :page-size="listParams.pageSize" layout="total, sizes, prev, pager, next" :total="total"></el-pagination>
</section>
</template>
<script>
import { getPageCardsList, deleteProService } from '@/service/api/mallApi.js';
import updateCount from './update-count';
import {formateDateTimeByType} from '@/utils/index.js';
export default {
name: 'coupon-list',
components: {
updateCount
},
data () {
return {
defaultAvatar:require('../../../assets/img/head_default.png'),
loading:false,
tableList:[],
listParams:{
currentPage:1,
pageSize:20
},
total:0
}
},
created() {
this.$store.commit('mutations_breadcrumb',[{name:'积分商城'},{name:'优惠券',path:''}]);
this.getPageCardsList();
},
methods: {
search() {
this.listParams.currentPage = 1;
this.getPageCardsList();
},
handleSizeChange(val) {
this.listParams.pageSize = val;
this.getPageCardsList();
},
handleCurrentChange(val) {
this.listParams.currentPage = val;
this.getPageCardsList();
},
async getPageCardsList() {
this.loading = true;
let res = await getPageCardsList(this.listParams);
this.tableList = [];
let result = res.result.rows || [];
result.map(v => {
v.integralCostFlag = false;
v.cashCostFlag = false;
v.virtualStockFlag = false;
v.allExchangeNumberFlag = false;
this.tableList.push(v);
})
this.total = res.result.totalCount;
this.loading = false;
},
// 删除
delData(row) {
deleteProService({proId:row.integralMallProId}).then(res => {
this.$tips({type: 'success',message: '删除成功!'});
this.getPageCardsList();
}).catch(err => {
this.$tips({type: 'error',message: '删除失败!'});
})
}
}
}
</script>
<template slot-scope="scope">
<div>
<div v-if="!model[theType+'Flag']" @click="edit">
<span>{{model[theType]}}{{typeName}}</span> <i class="el-icon-edit cursor-hover"></i>
</div>
<div v-else >
<el-input-number class="w150" controls-position="right" :precision="0" v-model="model.inputValue" :min="0"></el-input-number>
<div class="pt10">
<el-button size="mini" type="primary" @click="submit">确 定</el-button>
<el-button size="mini" @click="model[theType+'Flag'] = false">取 消</el-button>
</div>
</div>
</div>
</template>
<script>
import { updateStockService, updateIntegralCostService,updateCashCostService } from '@/service/api/mallApi.js';
export default {
props: {
model: {
type: Object,
default() {
return {}
}
},
theType: String,
typeName: String
},
watch: {
},
methods:{
async submit() {
// try {
console.log(this.theType)
let res = null;
if (this.theType === 'virtualStock') { // 库存
res = await updateStockService({proId:this.model.integralMallProId,stock:this.model.inputValue});
} else if (this.theType === 'cashCost') { // 现金费用
res = await updateCashCostService({proId:this.model.integralMallProId,cost:this.model.inputValue});
} else if (this.theType === 'integralCost') { // 积分费用
res = await updateIntegralCostService({proId:this.model.integralMallProId,cost:this.model.inputValue});
}
if (res.errorCode === 0) {
this.$tips({type:'success',message: '更新成功'});
this.$emit('refresh');
} else {
this.$tips({type:'error',message: '更新失败'});
}
// } catch (err) {
// this.$tips({type:'error',message: '更新失败'});
// }
},
edit() {
this.model[this.theType + 'Flag'] = true;
this.model.inputValue = this.model[this.theType];
}
},
}
</script>
<template>
<div>
<router-view></router-view>
</div>
</template>
<script>
export default {
name: 'mall',
data () {
return {
}
},
created() {
this.$store.commit('mutations_breadcrumb',[{name:'积分商城'}]);
this.$store.commit('aside_handler',false);
this.$nextTick(_ => {
this.$store.commit('aside_handler',true);
})
}
}
</script>
<template>
<router-view></router-view>
</template>
<script>
export default {
name: 'wechat-temp',
data () {
return {}
},
created() {
this.$store.commit('mutations_breadcrumb',[{name:'营销管理'},{name:'微信营销',path:'/wechat'},{name:'素材库',path:''}]);
}
}
</script>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment