Commit b00d45f0 by chenxin

fix: 卡券 微盟微商城 增加微盟券号

parent 3fc0fbd4
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=/marketing/static/img/favicon.ico><title>GIC后台</title><link rel=stylesheet type=text/css href=/marketing/static/fonts/iconfont.css><link rel=stylesheet type=text/css href=/marketing/static/css/common.css><link rel=stylesheet href=//web-1251519181.file.myqcloud.com/components/element.2.12.0.css><link href=/marketing/static/css/main.58ff29d8f606476dbcc2ea55b50f9fa2.css rel=stylesheet></head><body><div id=app></div><script src=//web-1251519181.file.myqcloud.com/lib/vue/2.5.2/vue.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vue-router/3.0.2/vue-router.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vuex/3.1.0/vuex.min.js></script><script src=//web-1251519181.file.myqcloud.com/components/element.2.12.0.js></script><script src=//web-1251519181.file.myqcloud.com/components/header.2.0.33.js></script><script src=//web-1251519181.file.myqcloud.com/components/footer.2.0.04.js></script><script src=//web-1251519181.file.myqcloud.com/components/card.2.0.09.js></script><script src=//web-1251519181.file.myqcloud.com/components/store.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/img-preview.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/member-group.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-card.2.0.13.js></script><script src=//web-1251519181.file.myqcloud.com/components/confirm-people.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/people.2.0.38.js></script><script src=//web-1251519181.file.myqcloud.com/components/export-excel.2.0.13.js></script><script src=//web-1251519181.file.myqcloud.com/components/input.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/delete.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/selector.1.1.95.js></script><script type=text/javascript src=/marketing/static/js/manifest.ad9692ba25202a873dcc.js></script><script type=text/javascript src=/marketing/static/js/vendor.810e43468685c3e36778.js></script><script type=text/javascript src=/marketing/static/js/main.edd776b9d499b63a9a77.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=/marketing/static/img/favicon.ico><title>GIC后台</title><link rel=stylesheet type=text/css href=/marketing/static/fonts/iconfont.css><link rel=stylesheet type=text/css href=/marketing/static/css/common.css><link rel=stylesheet href=//web-1251519181.file.myqcloud.com/components/element.2.12.0.css><link href=/marketing/static/css/main.4a16bf39d190e92c39eb1405f5a0db89.css rel=stylesheet></head><body><div id=app></div><script src=//web-1251519181.file.myqcloud.com/lib/vue/2.5.2/vue.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vue-router/3.0.2/vue-router.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vuex/3.1.0/vuex.min.js></script><script src=//web-1251519181.file.myqcloud.com/components/element.2.12.0.js></script><script src=//web-1251519181.file.myqcloud.com/components/header.2.0.33.js></script><script src=//web-1251519181.file.myqcloud.com/components/footer.2.0.04.js></script><script src=//web-1251519181.file.myqcloud.com/components/card.2.0.09.js></script><script src=//web-1251519181.file.myqcloud.com/components/store.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/img-preview.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/member-group.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-card.2.0.13.js></script><script src=//web-1251519181.file.myqcloud.com/components/confirm-people.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/people.2.0.38.js></script><script src=//web-1251519181.file.myqcloud.com/components/export-excel.2.0.13.js></script><script src=//web-1251519181.file.myqcloud.com/components/input.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/delete.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/selector.1.1.95.js></script><script type=text/javascript src=/marketing/static/js/manifest.d882e2b2b4387b3c0681.js></script><script type=text/javascript src=/marketing/static/js/vendor.810e43468685c3e36778.js></script><script type=text/javascript src=/marketing/static/js/main.f96aa57c4ec8ef239a54.js></script></body></html>
\ No newline at end of file
!function(e){var r=window.webpackJsonp;window.webpackJsonp=function(n,a,c){for(var f,i,u,d=0,s=[];d<n.length;d++)i=n[d],t[i]&&s.push(t[i][0]),t[i]=0;for(f in a)Object.prototype.hasOwnProperty.call(a,f)&&(e[f]=a[f]);for(r&&r(n,a,c);s.length;)s.shift()();if(c)for(d=0;d<c.length;d++)u=o(o.s=c[d]);return u};var n={},t={12:0};function o(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.e=function(e){var r=t[e];if(0===r)return new Promise(function(e){e()});if(r)return r[2];var n=new Promise(function(n,o){r=t[e]=[n,o]});r[2]=n;var a=document.getElementsByTagName("head")[0],c=document.createElement("script");c.type="text/javascript",c.charset="utf-8",c.async=!0,c.timeout=12e4,o.nc&&c.setAttribute("nonce",o.nc),c.src=o.p+"static/js/"+({0:"card",1:"game",2:"wechat",3:"ewash",4:"evaluation",5:"message",6:"ecm",7:"recharge",8:"msg",9:"calllog"}[e]||e)+"."+{0:"879f3cad2281c22af2ca",1:"cccfb8478fee7428d453",2:"223a7a321795592a6fdf",3:"4a99e3de56e8fed524f8",4:"120ce304df38ad00cda2",5:"73ec2f1707504c4de588",6:"018a4e5a93e57d0153dc",7:"7800a1645705a6640145",8:"4b4e327d76f3e16d4b51",9:"fecc3d1064e01cef69e9"}[e]+".js";var f=setTimeout(i,12e4);function i(){c.onerror=c.onload=null,clearTimeout(f);var r=t[e];0!==r&&(r&&r[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}return c.onerror=c.onload=i,a.appendChild(c),n},o.m=e,o.c=n,o.d=function(e,r,n){o.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:n})},o.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(r,"a",r),r},o.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},o.p="/marketing/",o.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file
!function(e){var r=window.webpackJsonp;window.webpackJsonp=function(n,c,a){for(var f,i,u,s=0,d=[];s<n.length;s++)i=n[s],t[i]&&d.push(t[i][0]),t[i]=0;for(f in c)Object.prototype.hasOwnProperty.call(c,f)&&(e[f]=c[f]);for(r&&r(n,c,a);d.length;)d.shift()();if(a)for(s=0;s<a.length;s++)u=o(o.s=a[s]);return u};var n={},t={12:0};function o(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.e=function(e){var r=t[e];if(0===r)return new Promise(function(e){e()});if(r)return r[2];var n=new Promise(function(n,o){r=t[e]=[n,o]});r[2]=n;var c=document.getElementsByTagName("head")[0],a=document.createElement("script");a.type="text/javascript",a.charset="utf-8",a.async=!0,a.timeout=12e4,o.nc&&a.setAttribute("nonce",o.nc),a.src=o.p+"static/js/"+({0:"card",1:"game",2:"wechat",3:"ewash",4:"evaluation",5:"message",6:"ecm",7:"recharge",8:"msg",9:"calllog"}[e]||e)+"."+{0:"d2a0c1a1e3d3f3555005",1:"cccfb8478fee7428d453",2:"6fc3904284e4740968d4",3:"4a99e3de56e8fed524f8",4:"d98f58c16cb8a918fc07",5:"73ec2f1707504c4de588",6:"6a787f6466c7bc3cf9ec",7:"7800a1645705a6640145",8:"4b4e327d76f3e16d4b51",9:"fecc3d1064e01cef69e9"}[e]+".js";var f=setTimeout(i,12e4);function i(){a.onerror=a.onload=null,clearTimeout(f);var r=t[e];0!==r&&(r&&r[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}return a.onerror=a.onload=i,c.appendChild(a),n},o.m=e,o.c=n,o.d=function(e,r,n){o.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:n})},o.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(r,"a",r),r},o.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},o.p="/marketing/",o.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file
......@@ -202,10 +202,10 @@ export default {
var that = this;
// console.log("新数据:",newData,oldData)
that.repProjectName = newData || 'gic-web';
},
$route(val) {
console.log(val);
}
// $route(val) {
// console.log(val);
// }
},
/* 接收数据 */
......
......@@ -82,12 +82,13 @@ export default {
if (res.data.errorCode === 0) {
if (binding.value.url === '/api-plug/upload-img') {
(binding.value.model.code = res.data.result[0].imageFiledCode), (binding.value.model.imgUrl = res.data.result[0].qcloudImageUrl);
} else if (binding.value.acceptType.includes('image')) {
} else if (binding.value.acceptType && binding.value.acceptType.includes('csv')) {
// 额外为csv
binding.value.model.code = new Date().getTime();
} else {
(binding.value.model.code = res.data.result.imageFiledCode), (binding.value.model.imgUrl = res.data.result.qcloudImageUrl);
binding.value.model.mediaId = res.data.result.imageMediaId;
binding.value.model.wxImg = res.data.result.wxImg || res.data.result.imageUrl || '';
} else if (binding.value.acceptType.includes('csv')) {
binding.value.model.code = new Date().getTime();
}
binding.value.$tips({ type: 'success', message: '上传成功' });
} else {
......
......@@ -22,6 +22,8 @@ export const logout = params => requests(PREFIX + 'do-logout?requestProject=mark
// 获取显示本人btn
export const getIsShowSelf = params => requests(MARKET_PREFIX + 'is-show-self?requestProject=marketing', params);
// 查询微盟店铺列表 无参
// 根据微盟店铺id查询所有店铺卡券 list-enteprise-weimob-coupon?wmPid=xxx
// 查询微盟店铺列表
export const listEntepriseWeimobShop = params => requests(MARKET_PREFIX + 'list-enteprise-weimob-shop', params);
// 根据微盟店铺id查询所有店铺卡券 list-enteprise-weimob-coupon?wmPid=xxx
export const listEntepriseWeimobCoupon = params => requests(MARKET_PREFIX + 'list-enteprise-weimob-coupon', params);
......@@ -5,7 +5,7 @@ import dmUploadImg from '@/components/upload/img';
import imgTextDrag from './partials/imgtext-drag';
import { formatDateTimeByType, deepClone } from '@/utils/index.js';
import xxSysp_mix from '@/mixins/selector.js'; // 商品选择器方法
import { listEntepriseWeimobShop } from '@/service/api/commonApi.js';
import { listEntepriseWeimobShop, listEntepriseWeimobCoupon } from '@/service/api/commonApi.js';
import { cardGetShelfs, getCardDetail, saveUpdateCard, copyCardDetailService, getCategoryList, getPropertyList, getPropertyValueList } from '@/service/api/cardApi.js';
import dmGoodsInput from '@/components/goods-input/index.vue';
const initForm = {
......@@ -114,8 +114,13 @@ export default {
v3name: []
}
],
coupGoodsWeimobList: []
coupGoodsWeimobList: [],
// ----微盟适用商品结束----
wmShopAddDisabled: true, // 添加店铺是否可用
wmShopIds: [], // 保存过的店铺id不能重复选择
countFlag: 1, // 微盟店铺 1只能添加1条 2能添加多条
weimobShopList: [], // 微盟店铺list
weimobDemoCodeList: [] // 保存的微盟店铺以及对应的微盟券号 {pid:xxxx,card:xxxx,loading:false, cardList: [], save: false, name: ''}
};
},
watch: {
......@@ -273,6 +278,13 @@ export default {
this.form.proNoList = useCondition.proNo ? [{ name: useCondition.proNo, id: useCondition.proNo }] : [];
}
// 微盟券号 -- 复制不赋值
if (card.cardApplyChannel.indexOf('WMmicroMall') !== -1 && card.weimobDemoCode && this.isAdd && this.isInfo) {
this.weimobDemoCodeList = JSON.parse(card.weimobDemoCode).map(v => {
return { pid: v.pid, card: v.card, loading: false, cardList: [{ cardTemplateId: v.card, name: v.name }], save: true, name: v.name };
});
}
// 微盟适用商品
// isCopy则第二三层不能编辑除非第一层变动;
if ((card.cardType === 0 || card.cardType === 1) && this.form.cardApplyChannel.indexOf('WMmicroMall') !== -1 && card.coupGoodsWeimobList && card.coupGoodsWeimobList.length) {
......@@ -310,7 +322,6 @@ export default {
v3name: f3Arr || []
};
});
console.log(this.goodsList);
if (this.goodsList.length) {
this.goods.flag = true;
}
......@@ -533,6 +544,16 @@ export default {
}
}
// 微盟券号
if (this.form.cardApplyChannel.indexOf('WMmicroMall') !== -1) {
/* eslint-disable */
card.weimobDemoCode = this.weimobDemoCodeList
.filter(v => v.save)
.map(({ pid, card, name }) => { return { pid, card, name }; })
|| [];
/* eslint-disable */
}
// 微盟适用商品
if ((this.form.cardType === 0 || this.form.cardType === 1) && this.form.cardApplyChannel.indexOf('WMmicroMall') !== -1 && this.coupGoodsWeimobList.length !== 0) {
card.coupGoodsWeimobList = this.coupGoodsWeimobList;
......@@ -694,15 +715,62 @@ export default {
checkInputString(val, name) {
this.form[name] = val.replace(/[^a-zA-Z0-9]*/g, '') + '';
},
// ------微盟店铺开始-------
saveWmShop(saveItem, idx) {
if (!saveItem.pid || !saveItem.card) {
this.$message({ message: '该条券号保存不完整', type: '' });
return;
}
this.weimobDemoCodeList[idx].save = true;
this.weimobDemoCodeList[idx].name = saveItem.cardList.find(v => {
return v.cardTemplateId == saveItem.card;
}).name; // 保存name
this.wmShopAddDisabled = false;
this.wmShopIds.push(saveItem.pid); // 保存过得店铺新增的下拉不让选
},
delWmShop(saveItem, idx) {
const id_idx = this.wmShopIds.findIndex(v => {
return v == saveItem.pid;
});
this.wmShopIds.splice(id_idx, 1);
this.weimobDemoCodeList.splice(idx, 1);
if (this.weimobDemoCodeList.length === 0) {
this.addWmShop();
}
},
addWmShop() {
this.weimobDemoCodeList.push({ pid: '', card: '', loading: false, cardList: [], save: false, cardName: '' });
this.wmShopAddDisabled = true;
},
// 获取微盟店铺列表
// 1.查询微盟店铺列表 无参 2.根据微盟店铺id查询所有店铺卡券 wmPid=xxx
getListEntepriseWeimobShop(wmPid) {
listEntepriseWeimobShop({ wmPid }).then(res => {
console.log('--------');
console.log(res);
console.log('--------');
getListEntepriseWeimobShop() {
listEntepriseWeimobShop().then(res => {
this.weimobDemoCodeList = [{ pid: '', card: '', loading: false, cardList: [], save: false, cardName: '' }];
this.countFlag = res.result.countFlag || 1;
this.weimobShopList = res.result.dataList || [];
});
},
// 第一层店铺change 根据微盟店铺id查询所有店铺卡券 wmPid=xxx
handleShopChange(wmPid, idx) {
if (wmPid) {
this.weimobDemoCodeList[idx].loading = true;
listEntepriseWeimobCoupon({ wmPid })
.then(res => {
this.weimobDemoCodeList[idx].cardList = res.result || [];
this.weimobDemoCodeList[idx].loading = false;
if (this.weimobDemoCodeList[idx].cardList.length === 0) {
this.$message({ message: '该店铺没有对应微盟券号', type: 'warning' });
}
})
.catch(() => {
this.weimobDemoCodeList[idx].loading = false;
});
} else {
this.weimobDemoCodeList[idx].cardList = [];
this.weimobDemoCodeList[idx].card = '';
}
},
// ---------微盟店铺结束--------
// ------微盟适用商品开始-------
// 获取第一层数据
getCategoryList() {
......
......@@ -29,6 +29,26 @@
<el-input v-model="form.erpDemoCode" class="w400" placeholder="请输入demo券号" :disabled="isEdit || isInfo" @blur="checkErpDemoCode"></el-input>
</el-form-item>
<!-- 微盟微商城 微盟券号 -->
<el-form-item label="微盟券号" v-if="form.cardApplyChannel.indexOf('WMmicroMall') !== -1">
<div class="mb10" v-for="(saveItem, idx) in weimobDemoCodeList" :key="idx">
<el-select class="w200" :disabled="saveItem.save || isEdit || isInfo" v-model="saveItem.pid" filterable placeholder="请选择店铺" clearable @change="handleShopChange($event, idx)">
<el-option :disabled="wmShopIds.includes(item.wmPid)" v-for="item in weimobShopList" :key="item.wmPid" :label="item.wmPidName" :value="item.wmPid"></el-option>
</el-select>
<el-select :disabled="!saveItem.pid || saveItem.save || isEdit || isInfo" :loading="saveItem.loading" class="w200" v-model="saveItem.card" filterable placeholder="请选择微盟券号" clearable>
<el-option v-for="item in saveItem.cardList" :key="item.cardTemplateId" :label="item.name" :value="item.cardTemplateId"></el-option>
</el-select>
<template v-if="isAdd || isCopy">
<el-button type="text" v-if="!saveItem.save" class="ml10" @click="saveWmShop(saveItem, idx)">保存</el-button>
<el-button type="text" v-if="saveItem.save" class="ml10" @click="delWmShop(saveItem, idx)">删除</el-button>
</template>
</div>
<template v-if="isAdd || isCopy">
<el-button v-if="countFlag == 2 || isAdd || isCopy" :disabled="wmShopAddDisabled || weimobDemoCodeList.length >= weimobShopList.length" type="primary" @click="addWmShop">添加店铺</el-button>
<span class="fz12 gray ml10">* 店铺不可重复选择,新建卡券仅保存点击保存过的数据</span>
</template>
</el-form-item>
<el-form-item prop="cardColor" label="卡券颜色" style="height: 40px;">
<el-color-picker v-model="form.cardColor" :disabled="isInfo"></el-color-picker> <span class="vertical-top">{{ form.cardColor }}</span>
</el-form-item>
......
......@@ -18,7 +18,8 @@
</el-form-item>
<el-form-item v-if="type === 'add'" label="导入券码文件" prop="fileId">
<div>
<div class="inline-block" v-if="ruleForm.fileId">已导入</div>
<!-- eslint-disable-nextline -->
<div v-if="ruleForm.fileId" class="inline-block">已导入</div>
<file v-if="!ruleForm.fileId" :noUse="!ruleForm.destoryMode" needExtraParams :paramsObj="{ destoryPlanId: ruleForm.destoryPlanId }" ref="fileUpload" class="dash-btn inline-block" label="点击上传" @backImg="backImg" acceptType=".csv" tips="" :url="uploadUrl" width="50" iconClass="el-icon-upload2" /><!-- 上传 -->
<!-- <el-button icon="el-icon-upload2" class="dash-btn">点击上传</el-button> -->
<el-button type="text" class="ml10">点击下载文件模板</el-button>
......
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