Commit 03abbe7a by member

会员分层上线

parents 0db0b875 cd574670
<!DOCTYPE html><html><head><meta charset=utf-8><link rel="shortcut icon" href=./favicon.ico><title>GIC-会员标签</title><link href=./static/css/app.dc797bf4a20e589cad5642e412a033b8.css rel=stylesheet></head><body style="background-color: #f0f2f5;min-width: 1400px;"><div id=app></div><script src=//web-1251519181.file.myqcloud.com/lib/vue/2.6.6/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/lib/elementUI/index.2.5.4.js></script><script src=//web-1251519181.file.myqcloud.com/components/header.2.0.34.js></script><script src=//web-1251519181.file.myqcloud.com/components/footer.2.0.02.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-new.2.0.55.js></script><script src=//web-1251519181.file.myqcloud.com/components/aside-menu.2.0.11.js></script><script src=//web-1251519181.file.myqcloud.com/components/area-ab.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/card.2.0.02.js></script><script src=//web-1251519181.file.myqcloud.com/components/selector.1.1.95.js></script><script src=//web-1251519181.file.myqcloud.com/components/export-excel.2.0.13.js></script><script type=text/javascript src=./static/js/manifest.7ba73b56fca7d01ee16a.js></script><script type=text/javascript src=./static/js/vendor.4aa38b9b9bf3652c83db.js></script><script type=text/javascript src=./static/js/app.40af18c8abfdb9938b42.js></script></body></html>
\ No newline at end of file
<!DOCTYPE html><html><head><meta charset=utf-8><link rel="shortcut icon" href=./favicon.ico><title>GIC-会员标签</title><link href=./static/css/app.179dbcda87d1474264ac6e51c2c325d0.css rel=stylesheet></head><body style="background-color: #f0f2f5;min-width: 1400px;"><div id=app></div><script src=//web-1251519181.file.myqcloud.com/lib/vue/2.6.6/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/lib/elementUI/index.2.5.4.js></script><script src=//web-1251519181.file.myqcloud.com/components/header.2.0.34.js></script><script src=//web-1251519181.file.myqcloud.com/components/footer.2.0.02.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-new.2.0.55.js></script><script src=//web-1251519181.file.myqcloud.com/components/aside-menu.2.0.11.js></script><script src=//web-1251519181.file.myqcloud.com/components/area-ab.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/card.2.0.02.js></script><script src=//web-1251519181.file.myqcloud.com/components/selector.1.1.95.js></script><script src=//web-1251519181.file.myqcloud.com/components/export-excel.2.0.13.js></script><script type=text/javascript src=./static/js/manifest.0bc29d1d03f6c6a77baa.js></script><script type=text/javascript src=./static/js/vendor.4aa38b9b9bf3652c83db.js></script><script type=text/javascript src=./static/js/app.00df35cd5b8b29655909.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.
This source diff could not be displayed because it is too large. You can view the blob instead.
!function(e){var c=window.webpackJsonp;window.webpackJsonp=function(a,t,o){for(var b,f,d,i=0,u=[];i<a.length;i++)f=a[i],n[f]&&u.push(n[f][0]),n[f]=0;for(b in t)Object.prototype.hasOwnProperty.call(t,b)&&(e[b]=t[b]);for(c&&c(a,t,o);u.length;)u.shift()();if(o)for(i=0;i<o.length;i++)d=r(r.s=o[i]);return d};var a={},n={34:0};function r(c){if(a[c])return a[c].exports;var n=a[c]={i:c,l:!1,exports:{}};return e[c].call(n.exports,n,n.exports,r),n.l=!0,n.exports}r.e=function(e){var c=n[e];if(0===c)return new Promise(function(e){e()});if(c)return c[2];var a=new Promise(function(a,r){c=n[e]=[a,r]});c[2]=a;var t=document.getElementsByTagName("head")[0],o=document.createElement("script");o.type="text/javascript",o.charset="utf-8",o.async=!0,o.timeout=12e4,r.nc&&o.setAttribute("nonce",r.nc),o.src=r.p+"static/js/"+e+"."+{0:"e154776c382295008ca1",1:"1a66f3452cb905b67755",2:"e314f8bddc59b2a5d92b",3:"a8228e235fb38439db05",4:"168759426bbb68ab2a8c",5:"e40e7fd437119ae55b57",6:"15bc1d4315b5f2762d02",7:"463c410b570dea893bef",8:"00c99a671866c96c95b7",9:"d6e86c55d9ed30932539",10:"921af27f26a9d92cd622",11:"7696c743e78e8fa58ee3",12:"7a1e1d87277751c1b2fb",13:"4cbb12cbf7a9b8c30ba8",14:"012b850d5f8cb0572383",15:"3917aa09ec184a6ec064",16:"8b5816be3cf77b0756a0",17:"b43a253e53779917cbec",18:"16936cf5d39aeb5c8313",19:"308e228686726571bdcf",20:"1ac36cb7034a21c0d370",21:"230eda0aadee66fd9007",22:"1f5fb7a3cf35a2d10b33",23:"5cd622ab4c1b1afa3f6f",24:"babff488cb202e2e3303",25:"75fb7d5b168203653102",26:"b708c6b0a0da9bd559cf",27:"a91f14144ead01b55416",28:"7e8ce9ee59e705c91770",29:"14583ddcefc3b8dbbad1",30:"6a5ee2a1c27c5a16c485",31:"4581161a7b4779f896f3"}[e]+".js";var b=setTimeout(f,12e4);function f(){o.onerror=o.onload=null,clearTimeout(b);var c=n[e];0!==c&&(c&&c[1](new Error("Loading chunk "+e+" failed.")),n[e]=void 0)}return o.onerror=o.onload=f,t.appendChild(o),a},r.m=e,r.c=a,r.d=function(e,c,a){r.o(e,c)||Object.defineProperty(e,c,{configurable:!1,enumerable:!0,get:a})},r.n=function(e){var c=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(c,"a",c),c},r.o=function(e,c){return Object.prototype.hasOwnProperty.call(e,c)},r.p="./",r.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file
!function(e){var c=window.webpackJsonp;window.webpackJsonp=function(a,t,f){for(var o,b,d,i=0,u=[];i<a.length;i++)b=a[i],n[b]&&u.push(n[b][0]),n[b]=0;for(o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);for(c&&c(a,t,f);u.length;)u.shift()();if(f)for(i=0;i<f.length;i++)d=r(r.s=f[i]);return d};var a={},n={34:0};function r(c){if(a[c])return a[c].exports;var n=a[c]={i:c,l:!1,exports:{}};return e[c].call(n.exports,n,n.exports,r),n.l=!0,n.exports}r.e=function(e){var c=n[e];if(0===c)return new Promise(function(e){e()});if(c)return c[2];var a=new Promise(function(a,r){c=n[e]=[a,r]});c[2]=a;var t=document.getElementsByTagName("head")[0],f=document.createElement("script");f.type="text/javascript",f.charset="utf-8",f.async=!0,f.timeout=12e4,r.nc&&f.setAttribute("nonce",r.nc),f.src=r.p+"static/js/"+e+"."+{0:"0fa578b6fd608b5640ed",1:"1a66f3452cb905b67755",2:"e314f8bddc59b2a5d92b",3:"a8228e235fb38439db05",4:"a35a7484dc2cd235fd44",5:"7f71062e94db4aa8332f",6:"15bc1d4315b5f2762d02",7:"463c410b570dea893bef",8:"00c99a671866c96c95b7",9:"d6e86c55d9ed30932539",10:"921af27f26a9d92cd622",11:"7696c743e78e8fa58ee3",12:"7a1e1d87277751c1b2fb",13:"4cbb12cbf7a9b8c30ba8",14:"012b850d5f8cb0572383",15:"3917aa09ec184a6ec064",16:"8b5816be3cf77b0756a0",17:"b43a253e53779917cbec",18:"16936cf5d39aeb5c8313",19:"308e228686726571bdcf",20:"1ac36cb7034a21c0d370",21:"230eda0aadee66fd9007",22:"1f5fb7a3cf35a2d10b33",23:"5cd622ab4c1b1afa3f6f",24:"babff488cb202e2e3303",25:"75fb7d5b168203653102",26:"b708c6b0a0da9bd559cf",27:"a91f14144ead01b55416",28:"7e8ce9ee59e705c91770",29:"14583ddcefc3b8dbbad1",30:"6a5ee2a1c27c5a16c485",31:"4581161a7b4779f896f3"}[e]+".js";var o=setTimeout(b,12e4);function b(){f.onerror=f.onload=null,clearTimeout(o);var c=n[e];0!==c&&(c&&c[1](new Error("Loading chunk "+e+" failed.")),n[e]=void 0)}return f.onerror=f.onload=b,t.appendChild(f),a},r.m=e,r.c=a,r.d=function(e,c,a){r.o(e,c)||Object.defineProperty(e,c,{configurable:!1,enumerable:!0,get:a})},r.n=function(e){var c=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(c,"a",c),c},r.o=function(e,c){return Object.prototype.hasOwnProperty.call(e,c)},r.p="./",r.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file
......@@ -649,12 +649,11 @@
<template v-if="parent.templateCode == 'tag021'">
<div class="m-b-20" :key="'tag021' + pindex">
<div class="checkboxOption-wrap__body__checkAll border-box tag-mode">
<el-checkbox :indeterminate="parent.isIndeterminate" v-model="parent.checkAll" @change="handleTagCheckChange($event, parent.checkAll)">全选</el-checkbox>
<el-checkbox :indeterminate="parent.isIndeterminate" v-model="parent.checkAll" @change="handleCheckAllChange($event, parent)">全选</el-checkbox>
</div>
<div class="checkboxOption-wrap__body__options border-box tag-options">
<el-checkbox-group v-model="parent.checkeditems" @change="handleCheckedCitiesChange">
<!-- <el-checkbox v-for="(item, index) in parent.options" :label="item.key" :key="item.key + index">{{ item.value }}</el-checkbox> -->
<el-checkbox v-for="item in parent.options" :label="item" :key="item.memberTagGradeId">{{item.gradeLevelName}}</el-checkbox>
<el-checkbox v-for="(item, index) in parent.options" :label="item.memberTagGradeId" :key="item.memberTagGradeId + index">{{item.aliasName}}</el-checkbox>
</el-checkbox-group>
</div>
</div>
......@@ -701,7 +700,6 @@ export default {
components: {
VueGicCard
// vueGicGoodsSelector
},
data() {
......@@ -1098,10 +1096,6 @@ export default {
}
}
},
handleTagCheckChange(e, parent) {
this.templateData[0].checkeditems = parent ? this.templateData[0].options : [];
this.templateData[0].isIndeterminate = false;
},
/**
* 根据模板的id获取控件的模板code ---
*/
......@@ -1114,7 +1108,6 @@ export default {
.then(res => {
if (res.errorCode == 1) {
let data = res.result;
console.log(data);
for (let key in data) {
if (data.templateCode == 'com023') {
this[data.templateCode][key] = data[key];
......@@ -1153,7 +1146,6 @@ export default {
// 调整商品选择器顺序
if (data.templateCode == 'com022') {
setTimeout(_ => {
console.log('111');
this.templateData.push(this[data.templateCode]);
}, 200);
} else {
......@@ -1201,6 +1193,7 @@ export default {
let checkedCount = null;
for (let tem of this.templateData) {
console.log(this.templateData);
switch (tem.templateCode) {
case 'tag013':
value = tagValue.val[0].data.value.split(' ');
......@@ -1375,11 +1368,13 @@ export default {
* 将tagValue 替代模板数据的v-model
*/
replaceTemplateValue() {
// 回显数据
let tagValue = JSON.parse(this.templateDataList.tagValue);
let tagParams = JSON.parse(this.templateDataList.tagParams);
let value = null;
let selectVal = null;
let checkedCount = null;
console.log(this.templateData, 'asdsadsad');
// compute 是计算属性的区间值 value是选中的值
for(let i = 0; i < this.templateDataList.templateCode.length; i++) {
......@@ -1413,6 +1408,7 @@ export default {
// 组合 属于和多选框
case 'tag001':
console.log(this.templateData, 'asdsadsad');
value = tagValue.val[0].data.value.split(' ');
for (let i = 0; i < this.templateData.length; i++) {
if (this.templateData[i].templateCode === 'tag001') {
......@@ -1425,6 +1421,7 @@ export default {
break;
case 'tag013':
console.log(this.templateData);
value = tagValue.val[0].data.value.split(' ');
for (let i = 0; i < this.templateData.length; i++) {
if (this.templateData[i].templateCode === 'tag013') {
......@@ -1435,6 +1432,19 @@ export default {
this.templateData[i].checkAll = checkedCount == this.templateData[i].options.length;
this.templateData[i].isIndeterminate = checkedCount > 0 && checkedCount < this.templateData[i].options.length;
break;
case 'tag021':
value = tagValue.val[0].data.value.split(' ');
for (let i = 0; i < this.templateData.length; i++) {
if (this.templateData[i].templateCode === 'tag021') {
this.templateData[i].checkeditems = value;
}
}
checkedCount = this.templateData[i].checkeditems.length;
this.templateData[i].checkAll = checkedCount == this.templateData[i].options.length;
this.templateData[i].isIndeterminate = checkedCount > 0 && checkedCount < this.templateData[i].options.length;
break;
// 属于不属于 从newTagVal里面比较
case 'tag002':
if (tagParams.template[0].selectTwo) {
......@@ -1658,7 +1668,6 @@ export default {
case 'com022':
for (let i = 0; i < tagParams.template.length; i++) {
if (tagParams.template[i].templateCode == 'com022') {
console.log(tagParams.template[i].conditionsList);
this.$refs.selector[0].conditions = JSON.parse(JSON.stringify(tagParams.template[i].conditionsList));
}
}
......@@ -1700,6 +1709,18 @@ export default {
}
}
break;
// case 'tag021':
// value = tagValue.val[0].data.value.split(' ');
// for (let i = 0; i < this.templateData.length; i++) {
// if (this.templateData[i].templateCode === 'tag021') {
// this.templateData[i].checkeditems = value;
// }
// }
// checkedCount = this.templateData[i].checkeditems.length;
// this.templateData[i].checkAll = checkedCount == this.templateData[i].options.length;
// this.templateData[i].isIndeterminate = checkedCount > 0 && checkedCount < this.templateData[i].options.length;
// break;
}
}
},
......
......@@ -159,6 +159,14 @@ export default {
options: [
]
},
// 会员分层
tag021: {
checkeditems: [],
isIndeterminate: false,
checkAll: false,
options: [],
compute: 'in'
},
// 时间属性-固定时段/相对时段 年月日-年月日+最近+之后
tag014: {
......@@ -427,10 +435,10 @@ export default {
if (code === 'tag021' && that.templateData.length === 1) {
tagValue.val[0].data.compute = that.templateData[0].compute;
const checkeditems = this.templateData[0].checkeditems.map(el => el.memberTagGradeId);
const checkeditems = this.templateData[0].checkeditems.map(el => el);
this.templateData[0].options.forEach((ele, index) =>{
if (checkeditems.indexOf(ele.memberTagGradeId) != -1) {
this.postTemplateData.selectedVal.push(ele.gradeLevelName);
this.postTemplateData.selectedVal.push(ele.aliasName);
itemArr.push(ele.memberTagGradeId);
}
});
......@@ -1060,9 +1068,6 @@ export default {
};
console.log(sendObj);
this.$emit('returnTagData', sendObj);
// }
// 更新暂存架
// that.$emit('updateTemp');
}
})
.catch(function(error) {
......@@ -1077,7 +1082,11 @@ export default {
if (val) {
item.checkeditems = [];
item.options.forEach(function(el, index) {
item.checkeditems.push(el.key);
if (item.templateCode === 'tag021') {
item.checkeditems.push(el.memberTagGradeId);
} else {
item.checkeditems.push(el.key);
}
});
} else {
item.checkeditems = [];
......@@ -1287,11 +1296,6 @@ export default {
}
item.searchOptions.forEach(function(ele, index) {
if (!!tagsMap && tagsMap.indexOf(ele.value) != -1) {
// that.$message.error({
// duration: 1000,
// message: "输入值已存在"
// })
// that.tagData.searchModel = [];
return false;
}
if (item.searchModel.indexOf(ele.key) != -1) {
......@@ -1670,16 +1674,6 @@ export default {
}
}, 200);
// 获取已存数据
// that
// .getExistData(that.tagData.tagId)
// .then(item => {
// that.templateData = item;
// })
// .catch(function(error) {
// console.log(error);
// });
if (resData.result.templateCode === 'tag009' || resData.result.templateCode === 'tag010') {
that.searchFlag = true;
}
......@@ -1735,9 +1729,7 @@ export default {
let selectVal = null;
let checkedCount = null;
console.log(this.templateDataList);
// console.log(this.templateDataList.templateCode);
// console.log(this.templateData);
console.log(this.templateDataList, 'asdsd');
// compute 是计算属性的区间值 value是选中的值
for(let i = 0; i < this.templateDataList.templateCode.length; i++) {
......@@ -1786,6 +1778,7 @@ export default {
break;
case 'tag013':
console.log(this.templateData, 'asdsad')
value = tagValue.val[0].data.value.split(' ');
for (let i = 0; i < this.templateData.length; i++) {
if (this.templateData[i].templateCode === 'tag013') {
......@@ -2161,12 +2154,7 @@ export default {
that.tagData.tagDescribe = resData.result.tagDescribe;
that.tagData.isActive = resData.result.isActive;
that.tagData.tagType = resData.result.tagType;
// 获取 columnKey
// if (!!resData.result.columnKey) {currentComputeType
that.currentKey = resData.result.columnKey;
// }else {
// that.currentKey = resData.result.tagId;
// }
let templateObj = resData.result.template;
if (!!templateObj) {
that.checkTagTemplate(templateObj.templateContent);
......
......@@ -78,7 +78,6 @@ export default {
},
handleSave() {
const ret = this.$refs.tagConfig.getTemplateData();
console.log(ret);
this.templateData = JSON.parse(JSON.stringify(ret));
this.tagId = this.tagDataAssgin.tagId;
......
......@@ -84,7 +84,7 @@
<div style="color: #909399;">
默认显示上次页面缓存人数,可点击刷新按钮查看当页分组最新人数。
</div>
<i slot="reference" class="iconfont icon-zhongzhi refresh" @click="refershMember"></i>
<i slot="reference" class="iconfont icon-zhongzhi refresh" @click="refershMember('')"></i>
</el-popover>
</template>
......@@ -146,9 +146,15 @@
<div class="right-box" v-show="isTagRecommend">
<div class="common-wrap__opt">
<!-- <div class="batch-option">
<el-button type="primary" @click="toAddGroup" class="fr">分层配置</el-button>
</div> -->
<div class="title">
<i class="el-icon-warning dialog-icon"></i>
<span>
覆盖人数于每日上午8点半进行更新
</span>
</div>
<div class="batch-option">
<!-- <el-button type="primary" @click="toAddGroup" class="fr">分层配置</el-button> -->
</div>
</div>
<div class="common-wrap__table m-t-20">
<el-table
......@@ -160,6 +166,17 @@
@selection-change="handleSelectionChange">
<el-table-column label="分层名称" prop="aliasName">
</el-table-column>
<el-table-column label="更新时间" prop="latestUpdateTime">
<template slot-scope="scope">
<p class="h-18">{{ scope.row.latestUpdateTime | formatTimeYMD }}</p>
<p class="h-18">{{ scope.row.latestUpdateTime | formatTimeHMS }}</p>
</template>
</el-table-column>
<el-table-column label="更新频率" prop="updateType">
<template slot-scope="scope">
{{scope.row | formatUpdateFrequency}}
</template>
</el-table-column>
<el-table-column prop="peopleCover" label="覆盖人数" show-overflow-tooltip >
<template slot="header">
覆盖人数
......@@ -341,13 +358,14 @@ export default {
requestProject: 'gic-member-tag-web'
};
if (tag) {
// 分层
Ids = this.groupTableData.map(el => el.memberTagGradeId).join(',');
param.gradeIds = Ids;
} else {
Ids = this.groupTableData.map(el => el.memberTagGradeId).join(',');
Ids = this.groupTableData.map(el => el.memberTagGroupId).join(',');
param.memberTagGroupIds = Ids;
}
if (this.isTag) {
if (tag) {
updateGradeTag(param).then(res => {
if (res.errorCode == 1) {
this._getTagLists();
......@@ -357,7 +375,7 @@ export default {
} else {
refershMemberCount(param).then(res => {
if (res.errorCode == 1) {
this.getGroupList(this.params);
this.getGroupList();
this.$message.success({message: '更新成功'});
}
});
......@@ -742,6 +760,20 @@ export default {
.m-r-8 {
margin-right: 8px;
}
.title {
font-size: 14px;
width: 270px;
color: #606266;
padding: 5px 10px;
border-radius: 4px;
background-color: #e6f7ff;
border: 1px solid #91d5ff;
.dialog-icon {
font-size: 12px;
color: #1890ff;
padding-right: 4px;
}
}
}
.h-18 {
font-size: 13px;
......
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