mirror of
https://github.com/crmeb/CRMEB.git
synced 2026-10-29 22:10:49 +00:00
improve: 替换
This commit is contained in:
parent
f8b8b7b015
commit
a2dfd2f806
@ -206,6 +206,28 @@
|
||||
: ''
|
||||
"
|
||||
>
|
||||
<el-table-column
|
||||
width="50"
|
||||
v-if="
|
||||
[
|
||||
'special',
|
||||
'product',
|
||||
'seckill',
|
||||
'product_category',
|
||||
'bargain',
|
||||
'combination',
|
||||
'advance',
|
||||
'integral',
|
||||
'news',
|
||||
].includes(currenType)
|
||||
"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-radio v-model="templateRadio" :label="scope.row.id" @change.native="getTemplateRow(scope.row)"
|
||||
> </el-radio
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
:label="item.title"
|
||||
:width="item.width"
|
||||
@ -287,7 +309,7 @@
|
||||
<el-input v-model="customdate.url" placeholder="请输入跳转路径"></el-input>
|
||||
</el-form-item> -->
|
||||
<div class="mb30 radioGroup">
|
||||
<el-radio-group v-model="customdate.status" @on-change="radioTap('customdate')">
|
||||
<el-radio-group v-model="customdate.status" @input="radioTap('customdate')">
|
||||
<el-radio :label="1">
|
||||
<span>普通链接</span>
|
||||
</el-radio>
|
||||
@ -344,6 +366,7 @@ export default {
|
||||
label: 'name',
|
||||
children: 'children',
|
||||
},
|
||||
templateRadio: 0,
|
||||
columns: [
|
||||
{
|
||||
title: 'ID',
|
||||
@ -462,40 +485,12 @@ export default {
|
||||
created() {
|
||||
this.getSort();
|
||||
this.goodsCategory();
|
||||
let radio = {
|
||||
width: 60,
|
||||
align: 'center',
|
||||
render: (h, params) => {
|
||||
let id = params.row.id;
|
||||
let flag = false;
|
||||
if (this.presentId === id) {
|
||||
flag = true;
|
||||
} else {
|
||||
flag = false;
|
||||
}
|
||||
let self = this;
|
||||
return h('div', [
|
||||
h('el-radio', {
|
||||
props: {
|
||||
value: flag,
|
||||
},
|
||||
on: {
|
||||
'on-change': () => {
|
||||
self.presentId = id;
|
||||
this.currenUrl = params.row.url;
|
||||
},
|
||||
},
|
||||
}),
|
||||
]);
|
||||
},
|
||||
};
|
||||
this.columns.unshift(radio);
|
||||
this.columns7.unshift(radio);
|
||||
this.columns8.unshift(radio);
|
||||
this.bargain.unshift(radio);
|
||||
this.news.unshift(radio);
|
||||
},
|
||||
methods: {
|
||||
getTemplateRow(row) {
|
||||
this.presentId = row.id;
|
||||
this.currenUrl = row.url;
|
||||
},
|
||||
// 删除
|
||||
delLink(row, tit, num) {
|
||||
let delfromData = {
|
||||
|
||||
@ -2,8 +2,8 @@
|
||||
<div class="setUp">
|
||||
<template>
|
||||
<el-tabs v-model="configData.tabVal">
|
||||
<el-tab-pane label="内容设置" />
|
||||
<el-tab-pane label="样式设置" />
|
||||
<el-tab-pane label="内容设置" name="0"></el-tab-pane>
|
||||
<el-tab-pane label="样式设置" name="1"></el-tab-pane>
|
||||
</el-tabs>
|
||||
</template>
|
||||
</div>
|
||||
|
||||
@ -194,7 +194,13 @@
|
||||
</el-table>
|
||||
</div>
|
||||
<div class="footer acea-row row-right">
|
||||
<Page :total="total" show-elevator show-total @on-change="pageChange" :page-size="fileData.limit" />
|
||||
<pagination
|
||||
v-if="total"
|
||||
:total="total"
|
||||
:page.sync="fileData.page"
|
||||
@pagination="pageChange"
|
||||
:limit.sync="fileData.limit"
|
||||
></pagination>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -187,10 +187,7 @@ export default {
|
||||
closeModel(params) {
|
||||
this.isShow = false;
|
||||
// noinspection JSVoidFunctionReturnValueUsed
|
||||
let msg = this.$message.loading({
|
||||
content: '登录中...',
|
||||
duration: 0,
|
||||
});
|
||||
|
||||
this.loading = true;
|
||||
AccountLogin({
|
||||
account: this.formInline.username,
|
||||
@ -200,7 +197,6 @@ export default {
|
||||
captchaVerification: params ? params.captchaVerification : '',
|
||||
})
|
||||
.then(async (res) => {
|
||||
msg();
|
||||
let data = res.data;
|
||||
let expires = this.getExpiresTime(data.expires_time);
|
||||
// 记录用户登陆信息
|
||||
@ -257,7 +253,6 @@ export default {
|
||||
});
|
||||
})
|
||||
.catch((res) => {
|
||||
msg();
|
||||
let data = res === undefined ? {} : res;
|
||||
this.$message.error(data.msg || '登录失败');
|
||||
this.login_captcha = res.data.login_captcha;
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="24" class="ml40">
|
||||
<!-- 预览功能 -->
|
||||
<el-col ::span="24">
|
||||
<el-col :span="24">
|
||||
<el-col :xl="7" :lg="7" :md="22" :sm="22" :xs="22" class="left mb15">
|
||||
<img class="top" src="../../../../assets/images/mobilehead.png" />
|
||||
<img class="bottom" src="@/assets/images/mobilefoot.png" />
|
||||
@ -101,7 +101,7 @@
|
||||
</el-tab-pane>
|
||||
<el-button size="small" type="error" slot="extra" @click="deltMenus">删除</el-button>
|
||||
</el-tabs>
|
||||
<el-col ::span="24" v-if="isTrue">
|
||||
<el-col :span="24" v-if="isTrue">
|
||||
<el-button type="primary" style="display: block; margin: 10px auto" @click="submenus('formValidate')"
|
||||
>保存并发布</el-button
|
||||
>
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="24" class="ml40">
|
||||
<!-- 预览功能 -->
|
||||
<el-col ::span="24">
|
||||
<el-col :span="24">
|
||||
<el-col :xl="7" :lg="7" :md="22" :sm="22" :xs="22" class="left mb15">
|
||||
<img class="top" src="../../../../assets/images/mobilehead.png" />
|
||||
<img class="bottom" src="../../../../assets/images/mobilefoot.png" />
|
||||
@ -137,7 +137,7 @@
|
||||
</el-form>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col ::span="24">
|
||||
<el-col :span="24">
|
||||
<div class="acea-row row-center">
|
||||
<el-button type="primary" class="mr20" @click="submenus('formValidate')">保存并发布 </el-button>
|
||||
</div>
|
||||
|
||||
@ -165,17 +165,12 @@ export default {
|
||||
},
|
||||
// 关闭模态框
|
||||
closeModel() {
|
||||
let msg = this.$message.loading({
|
||||
content: '登录中...',
|
||||
duration: 0,
|
||||
});
|
||||
AccountLogin({
|
||||
account: this.formInline.username,
|
||||
password: this.formInline.password,
|
||||
imgcode: this.formInline.code,
|
||||
})
|
||||
.then(async (res) => {
|
||||
msg();
|
||||
let expires = this.getExpiresTime(res.data.exp_time);
|
||||
// 记录用户登陆信息
|
||||
setCookies('kefu_uuid', res.data.kefuInfo.uid, expires);
|
||||
@ -195,7 +190,6 @@ export default {
|
||||
}
|
||||
})
|
||||
.catch((res) => {
|
||||
msg();
|
||||
let data = res === undefined ? {} : res;
|
||||
this.errorNum++;
|
||||
this.captchas();
|
||||
|
||||
@ -46,7 +46,7 @@
|
||||
</vue-scroll>
|
||||
</div>
|
||||
<div class="right-box">
|
||||
<Scroll :on-reach-bottom="handleReachBottom" class="right-scroll" height="360">
|
||||
<div v-infinite-scroll="handleReachBottom" class="right-scroll" height="360">
|
||||
<div class="msg-item add-box" v-if="tabCur" style="margin-top: 0">
|
||||
<div class="box2">
|
||||
<el-input
|
||||
@ -103,7 +103,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</Scroll>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<el-dialog :visible.sync="isAddSort" :title="maskTitle" width="304px" class="class-box">
|
||||
|
||||
@ -103,7 +103,7 @@
|
||||
/>
|
||||
</div>
|
||||
<div v-if="orderList.length > 0">
|
||||
<Scroll :on-reach-bottom="orderReachBottom" height="650" class="right-scroll">
|
||||
<div v-infinite-scroll="orderReachBottom" height="650" class="right-scroll">
|
||||
<div class="order-list">
|
||||
<div class="order-item" v-for="(item, index) in orderList" :key="index">
|
||||
<div class="head">
|
||||
@ -180,7 +180,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</Scroll>
|
||||
</div>
|
||||
</div>
|
||||
<empty v-if="orderList.length == 0 && orderConfig.type === ''" status="3" msg="暂无订单信息"></empty>
|
||||
<empty v-if="orderList.length == 0 && orderConfig.type === 0" status="4" msg="暂无未支付订单"></empty>
|
||||
@ -211,8 +211,8 @@
|
||||
/>
|
||||
</div>
|
||||
<div class="list-wrapper" v-if="goodsConfig.buyList.length > 0">
|
||||
<Scroll :on-reach-bottom="goodsReachBottom" height="650" class="right-scroll">
|
||||
<div class="list-item" v-for="item in goodsConfig.buyList">
|
||||
<div v-infinite-scroll="goodsReachBottom" height="650" class="right-scroll">
|
||||
<div class="list-item" v-for="(item, index) in goodsConfig.buyList" :key="index">
|
||||
<div class="img-box">
|
||||
<img :src="item.image" alt="" />
|
||||
</div>
|
||||
@ -228,7 +228,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</Scroll>
|
||||
</div>
|
||||
</div>
|
||||
<empty v-else status="3" msg="暂无商品信息"></empty>
|
||||
</div>
|
||||
|
||||
@ -16,12 +16,12 @@
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt">
|
||||
<el-row class="mt30 acea-row row-middle row-center">
|
||||
<el-col :span="20">
|
||||
<Steps :current="current">
|
||||
<Step title="选择砍价商品"></Step>
|
||||
<Step title="填写基础信息"></Step>
|
||||
<Step title="修改商品详情"></Step>
|
||||
<Step title="修改商品规则"></Step>
|
||||
</Steps>
|
||||
<el-steps :active="current">
|
||||
<el-step title="选择砍价商品"></el-step>
|
||||
<el-step title="填写基础信息"></el-step>
|
||||
<el-step title="修改商品详情"></el-step>
|
||||
<el-step title="修改商品规则"></el-step>
|
||||
</el-steps>
|
||||
</el-col>
|
||||
<el-col :span="23" v-loading="spinShow">
|
||||
<el-form
|
||||
@ -637,41 +637,9 @@ export default {
|
||||
productAttrsApi(row.id, 2)
|
||||
.then((res) => {
|
||||
let data = res.data.info;
|
||||
let radio = {
|
||||
title: '选择',
|
||||
key: 'chose',
|
||||
width: 60,
|
||||
align: 'center',
|
||||
render: (h, params) => {
|
||||
let uid = params.index;
|
||||
let flag = false;
|
||||
if (this.currentid === uid) {
|
||||
flag = true;
|
||||
} else {
|
||||
flag = false;
|
||||
}
|
||||
let self = this;
|
||||
return h('div', [
|
||||
h('el-radio', {
|
||||
props: {
|
||||
value: flag,
|
||||
},
|
||||
on: {
|
||||
'on-change': () => {
|
||||
self.currentid = uid;
|
||||
let attrs = [];
|
||||
attrs.push(params.row);
|
||||
self.formValidate.attrs = attrs;
|
||||
},
|
||||
},
|
||||
}),
|
||||
]);
|
||||
},
|
||||
};
|
||||
that.columns = data.header;
|
||||
// that.columns.unshift(radio);
|
||||
that.specsData = data.attrs;
|
||||
that.inputChange(data);
|
||||
that.formValidate.items = data.items;
|
||||
})
|
||||
.catch((res) => {
|
||||
@ -684,50 +652,6 @@ export default {
|
||||
this.push(row);
|
||||
this.formValidate.attrs = attrs;
|
||||
},
|
||||
inputChange(data) {
|
||||
let that = this;
|
||||
let $index = [];
|
||||
data.header.forEach(function (item, index) {
|
||||
if (item.type === 1) {
|
||||
$index.push({ index: index, key: item.key, title: item.title });
|
||||
}
|
||||
});
|
||||
$index.forEach(function (item, index) {
|
||||
let title = item.title;
|
||||
let key = item.key;
|
||||
let row = {
|
||||
title: title,
|
||||
key: key,
|
||||
align: 'center',
|
||||
minWidth: 100,
|
||||
render: (h, params) => {
|
||||
return h('div', [
|
||||
h('InputNumber', {
|
||||
props: {
|
||||
min: 1,
|
||||
precision: 0,
|
||||
value: params.row.quota,
|
||||
},
|
||||
on: {
|
||||
'on-change': (e) => {
|
||||
params.row.quota = e;
|
||||
that.specsData[params.index] = params.row;
|
||||
if (!!that.formValidate.attrs && that.formValidate.attrs.length) {
|
||||
that.formValidate.attrs.forEach((v, index) => {
|
||||
if (v.id === params.row.id) {
|
||||
that.formValidate.attrs.splice(index, 1, params.row);
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
},
|
||||
}),
|
||||
]);
|
||||
},
|
||||
};
|
||||
that.columns.splice(item.index, 1, row);
|
||||
});
|
||||
},
|
||||
// 获取运费模板;
|
||||
productGetTemplate() {
|
||||
productGetTemplateApi().then((res) => {
|
||||
@ -818,40 +742,7 @@ export default {
|
||||
this.formValidate.rule = info.rule === null ? '' : info.rule;
|
||||
this.$set(this.formValidate, 'items', info.attrs.items);
|
||||
this.description = this.formValidate.description;
|
||||
|
||||
this.columns = info.attrs.header;
|
||||
let radio = {
|
||||
title: '选择',
|
||||
key: 'chose',
|
||||
width: 60,
|
||||
align: 'center',
|
||||
render: (h, params) => {
|
||||
let uid = params.index;
|
||||
let flag = false;
|
||||
if (this.currentid === uid) {
|
||||
flag = true;
|
||||
} else {
|
||||
flag = false;
|
||||
}
|
||||
let self = this;
|
||||
return h('div', [
|
||||
h('el-radio', {
|
||||
props: {
|
||||
value: flag,
|
||||
},
|
||||
on: {
|
||||
'on-change': () => {
|
||||
self.currentid = uid;
|
||||
let attrs = [];
|
||||
attrs.push(params.row);
|
||||
self.formValidate.attrs = attrs;
|
||||
},
|
||||
},
|
||||
}),
|
||||
]);
|
||||
},
|
||||
};
|
||||
that.columns.unshift(radio);
|
||||
this.specsData = info.attrs.value;
|
||||
let defaultAttrs = [];
|
||||
info.attrs.value.forEach(function (item, index) {
|
||||
|
||||
@ -16,11 +16,11 @@
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt">
|
||||
<el-row class="mt30 acea-row row-middle row-center">
|
||||
<el-col :span="20">
|
||||
<Steps :current="current">
|
||||
<Step title="选择拼团商品"></Step>
|
||||
<Step title="填写基础信息"></Step>
|
||||
<Step title="修改商品详情"></Step>
|
||||
</Steps>
|
||||
<el-steps :active="current">
|
||||
<el-step title="选择拼团商品"></el-step>
|
||||
<el-step title="填写基础信息"></el-step>
|
||||
<el-step title="修改商品详情"></el-step>
|
||||
</el-steps>
|
||||
</el-col>
|
||||
<el-col :span="23" v-loading="spinShow">
|
||||
<el-form
|
||||
@ -336,7 +336,7 @@
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="规格选择:">
|
||||
<el-table :data="specsData" :columns="columns" border @selection-change="changeCheckbox">
|
||||
<el-table :data="specsData" border @selection-change="changeCheckbox">
|
||||
<el-table-column type="selection" width="55"> </el-table-column>
|
||||
<el-table-column
|
||||
:label="item.title"
|
||||
@ -697,56 +697,11 @@ export default {
|
||||
that.formValidate.items = data.items;
|
||||
that.columns = data.header;
|
||||
// that.columns.unshift(selection);
|
||||
that.inputChange(data);
|
||||
})
|
||||
.catch((res) => {
|
||||
that.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
inputChange(data) {
|
||||
let that = this;
|
||||
let $index = [];
|
||||
data.header.forEach(function (item, index) {
|
||||
if (item.type === 1) {
|
||||
$index.push({ index: index, key: item.key, title: item.title });
|
||||
}
|
||||
});
|
||||
$index.forEach(function (item, index) {
|
||||
let title = item.title;
|
||||
let key = item.key;
|
||||
let row = {
|
||||
title: title,
|
||||
key: key,
|
||||
align: 'center',
|
||||
minWidth: 100,
|
||||
render: (h, params) => {
|
||||
return h('div', [
|
||||
h('InputNumber', {
|
||||
props: {
|
||||
min: 1,
|
||||
precision: 0,
|
||||
value: params.row.quota,
|
||||
},
|
||||
on: {
|
||||
'on-change': (e) => {
|
||||
params.row.quota = e;
|
||||
that.specsData[params.index] = params.row;
|
||||
if (!!that.formValidate.attrs && that.formValidate.attrs.length) {
|
||||
that.formValidate.attrs.forEach((v, index) => {
|
||||
if (v.id === params.row.id) {
|
||||
that.formValidate.attrs.splice(index, 1, params.row);
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
},
|
||||
}),
|
||||
]);
|
||||
},
|
||||
};
|
||||
that.columns.splice(item.index, 1, row);
|
||||
});
|
||||
},
|
||||
// 多选
|
||||
changeCheckbox(selection) {
|
||||
this.formValidate.attrs = selection;
|
||||
@ -842,7 +797,6 @@ export default {
|
||||
}
|
||||
}
|
||||
that.formValidate.attrs = attr;
|
||||
that.inputChange(data);
|
||||
this.spinShow = false;
|
||||
})
|
||||
.catch((res) => {
|
||||
|
||||
@ -16,11 +16,11 @@
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt">
|
||||
<el-row class="mt30 acea-row row-middle row-center" v-loading="spinShow">
|
||||
<el-col :span="20">
|
||||
<Steps :current="current">
|
||||
<Step title="选择积分商品"></Step>
|
||||
<Step title="填写基础信息"></Step>
|
||||
<Step title="修改商品详情"></Step>
|
||||
</Steps>
|
||||
<el-steps :active="current">
|
||||
<el-step title="选择积分商品"></el-step>
|
||||
<el-step title="填写基础信息"></el-step>
|
||||
<el-step title="修改商品详情"></el-step>
|
||||
</el-steps>
|
||||
</el-col>
|
||||
<el-col :span="23">
|
||||
<el-form
|
||||
@ -465,56 +465,11 @@ export default {
|
||||
});
|
||||
that.formValidate.items = data.items;
|
||||
that.columns = data.header;
|
||||
that.inputChange(data);
|
||||
})
|
||||
.catch((res) => {
|
||||
that.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
inputChange(data) {
|
||||
let that = this;
|
||||
let $index = [];
|
||||
data.header.forEach(function (item, index) {
|
||||
if (item.type === 1) {
|
||||
$index.push({ index: index, key: item.key, title: item.title });
|
||||
}
|
||||
});
|
||||
$index.forEach(function (item, index) {
|
||||
let title = item.title;
|
||||
let key = item.key;
|
||||
let row = {
|
||||
title: title,
|
||||
key: key,
|
||||
align: 'center',
|
||||
minWidth: 120,
|
||||
render: (h, params) => {
|
||||
return h('div', [
|
||||
h('InputNumber', {
|
||||
props: {
|
||||
min: 0,
|
||||
precision: 0,
|
||||
value: key === 'price' ? params.row.price : params.row.quota,
|
||||
},
|
||||
on: {
|
||||
'on-change': (e) => {
|
||||
key === 'price' ? (params.row.price = e) : (params.row.quota = e);
|
||||
that.specsData[params.index] = params.row;
|
||||
if (!!that.formValidate.attrs && that.formValidate.attrs.length) {
|
||||
that.formValidate.attrs.forEach((v, index) => {
|
||||
if (v.id === params.row.id) {
|
||||
that.formValidate.attrs.splice(index, 1, params.row);
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
},
|
||||
}),
|
||||
]);
|
||||
},
|
||||
};
|
||||
that.columns.splice(item.index, 1, row);
|
||||
});
|
||||
},
|
||||
// 多选
|
||||
changeCheckbox(selection) {
|
||||
this.formValidate.attrs = selection;
|
||||
@ -589,7 +544,6 @@ export default {
|
||||
}
|
||||
}
|
||||
that.formValidate.attrs = attr;
|
||||
that.inputChange(data);
|
||||
this.spinShow = false;
|
||||
})
|
||||
.catch((res) => {
|
||||
|
||||
@ -14,11 +14,11 @@
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt">
|
||||
<el-row class="mt30 acea-row row-middle row-center">
|
||||
<el-col :span="20">
|
||||
<Steps :current="current">
|
||||
<Step title="选择预售商品"></Step>
|
||||
<Step title="填写基础信息"></Step>
|
||||
<Step title="修改商品详情"></Step>
|
||||
</Steps>
|
||||
<el-steps :active="current">
|
||||
<el-step title="选择预售商品"></el-step>
|
||||
<el-step title="填写基础信息"></el-step>
|
||||
<el-step title="修改商品详情"></el-step>
|
||||
</el-steps>
|
||||
</el-col>
|
||||
<el-col :span="23">
|
||||
<el-form
|
||||
@ -533,70 +533,18 @@ export default {
|
||||
productAttrsApi(row.id, 6)
|
||||
.then((res) => {
|
||||
let data = res.data.info;
|
||||
let selection = {
|
||||
type: 'selection',
|
||||
width: 60,
|
||||
align: 'center',
|
||||
};
|
||||
that.specsData = data.attrs;
|
||||
that.specsData.forEach(function (item, index) {
|
||||
that.$set(that.specsData[index], 'id', index);
|
||||
});
|
||||
that.formValidate.items = data.items;
|
||||
that.columns = data.header;
|
||||
that.columns.unshift(selection);
|
||||
that.inputChange(data);
|
||||
})
|
||||
.catch((res) => {
|
||||
that.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
inputChange(data) {
|
||||
let that = this;
|
||||
let $index = [];
|
||||
data.header.forEach(function (item, index) {
|
||||
if (item.type === 1) {
|
||||
$index.push({ index: index, key: item.key, title: item.title });
|
||||
}
|
||||
});
|
||||
$index.forEach(function (item, index) {
|
||||
let title = item.title;
|
||||
let key = item.key;
|
||||
let row = {
|
||||
title: title,
|
||||
key: key,
|
||||
align: 'center',
|
||||
minWidth: 100,
|
||||
render: (h, params) => {
|
||||
return h('div', [
|
||||
h('InputNumber', {
|
||||
props: {
|
||||
min: 1,
|
||||
max: key === 'price' ? 10000000 : params.row.stock,
|
||||
value: key === 'price' ? params.row.price : params.row.quota,
|
||||
},
|
||||
on: {
|
||||
'on-change': (e) => {
|
||||
key === 'price'
|
||||
? (params.row.price = e)
|
||||
: (params.row.quota = e < params.row.stock ? e : params.row.stock);
|
||||
that.specsData[params.index] = params.row;
|
||||
if (!!that.formValidate.attrs && that.formValidate.attrs.length) {
|
||||
that.formValidate.attrs.forEach((v, index) => {
|
||||
if (v.id === params.row.id) {
|
||||
that.formValidate.attrs.splice(index, 1, params.row);
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
},
|
||||
}),
|
||||
]);
|
||||
},
|
||||
};
|
||||
that.columns.splice(item.index, 1, row);
|
||||
});
|
||||
},
|
||||
|
||||
// 多选
|
||||
changeCheckbox(selection) {
|
||||
this.formValidate.attrs = selection;
|
||||
@ -684,7 +632,6 @@ export default {
|
||||
}
|
||||
}
|
||||
that.formValidate.attrs = attr;
|
||||
that.inputChange(data);
|
||||
this.spinShow = false;
|
||||
})
|
||||
.catch((res) => {
|
||||
|
||||
@ -12,11 +12,11 @@
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt">
|
||||
<el-row class="mt30 acea-row row-middle row-center">
|
||||
<el-col :span="20">
|
||||
<Steps :current="current">
|
||||
<Step title="选择秒杀商品"></Step>
|
||||
<Step title="填写基础信息"></Step>
|
||||
<Step title="修改商品详情"></Step>
|
||||
</Steps>
|
||||
<el-steps :active="current">
|
||||
<el-step title="选择秒杀商品"></el-step>
|
||||
<el-step title="填写基础信息"></el-step>
|
||||
<el-step title="修改商品详情"></el-step>
|
||||
</el-steps>
|
||||
</el-col>
|
||||
<el-col :span="23">
|
||||
<el-form
|
||||
@ -608,58 +608,12 @@ export default {
|
||||
});
|
||||
that.formValidate.items = data.items;
|
||||
that.columns = data.header;
|
||||
// that.columns.unshift(selection);
|
||||
that.inputChange(data);
|
||||
})
|
||||
.catch((res) => {
|
||||
that.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
inputChange(data) {
|
||||
let that = this;
|
||||
let $index = [];
|
||||
data.header.forEach(function (item, index) {
|
||||
if (item.type === 1) {
|
||||
$index.push({ index: index, key: item.key, title: item.title });
|
||||
}
|
||||
});
|
||||
$index.forEach(function (item, index) {
|
||||
let title = item.title;
|
||||
let key = item.key;
|
||||
let row = {
|
||||
title: title,
|
||||
key: key,
|
||||
align: 'center',
|
||||
minWidth: 120,
|
||||
render: (h, params) => {
|
||||
return h('div', [
|
||||
h('InputNumber', {
|
||||
props: {
|
||||
min: 0,
|
||||
value: key === 'price' ? params.row.price : params.row.quota,
|
||||
formatter: (value) =>
|
||||
key === 'price' ? `${value}`.match(/^\d+(?:\.\d{0,2})?/) : `${value}`.match(/^\d+(?:\.\d{0,-1})?/),
|
||||
},
|
||||
on: {
|
||||
'on-change': (e) => {
|
||||
key === 'price' ? (params.row.price = e) : (params.row.quota = e);
|
||||
that.specsData[params.index] = params.row;
|
||||
if (!!that.formValidate.attrs && that.formValidate.attrs.length) {
|
||||
that.formValidate.attrs.forEach((v, index) => {
|
||||
if (v.id === params.row.id) {
|
||||
that.formValidate.attrs.splice(index, 1, params.row);
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
},
|
||||
}),
|
||||
]);
|
||||
},
|
||||
};
|
||||
that.columns.splice(item.index, 1, row);
|
||||
});
|
||||
},
|
||||
|
||||
// 多选
|
||||
changeCheckbox(selection) {
|
||||
this.formValidate.attrs = selection;
|
||||
@ -761,7 +715,6 @@ export default {
|
||||
}
|
||||
}
|
||||
that.formValidate.attrs = attr;
|
||||
this.inputChange(data);
|
||||
this.spinShow = false;
|
||||
})
|
||||
.catch((res) => {
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
<template>
|
||||
<el-row justify="center" align="middle">
|
||||
<el-col :span="20" style="margin-top: 70px" class="mb50">
|
||||
<Steps :current="current">
|
||||
<Step title="验证账号信息"></Step>
|
||||
<Step title="修改账户密码"></Step>
|
||||
<Step title="登录"></Step>
|
||||
</Steps>
|
||||
<el-steps :active="current">
|
||||
<el-step title="验证账号信息"></el-step>
|
||||
<el-step title="修改账户密码"></el-step>
|
||||
<el-step title="登录"></el-step>
|
||||
</el-steps>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<div class="index_from page-account-container">
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
<template>
|
||||
<el-row justify="center" align="middle">
|
||||
<el-col :span="20" style="margin-top: 70px" class="mb50">
|
||||
<Steps :current="current">
|
||||
<Step title="验证账号信息"></Step>
|
||||
<Step title="修改手机号码"></Step>
|
||||
<Step title="登录"></Step>
|
||||
</Steps>
|
||||
<el-steps :active="current">
|
||||
<el-step title="验证账号信息"></el-step>
|
||||
<el-step title="修改手机号码"></el-step>
|
||||
<el-step title="登录"></el-step>
|
||||
</el-steps>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<div class="index_from page-account-container">
|
||||
|
||||
@ -16,14 +16,14 @@
|
||||
@submit.native.prevent
|
||||
>
|
||||
<el-form-item label="选择类型:">
|
||||
<el-radio-group v-model="formItem.type" @on-change="changeRadio">
|
||||
<el-radio-group v-model="formItem.type" @input="changeRadio">
|
||||
<el-radio label="1" v-if="virtual_type !== 3">发货</el-radio>
|
||||
<el-radio label="2" v-if="virtual_type !== 3">送货</el-radio>
|
||||
<el-radio label="3">无需配送</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="formItem.type == 1" v-show="export_open" label="发货类型:">
|
||||
<el-radio-group v-model="formItem.express_record_type" @on-change="changeExpress">
|
||||
<el-radio-group v-model="formItem.express_record_type" @input="changeExpress">
|
||||
<el-radio label="3">商家寄件</el-radio>
|
||||
<el-radio label="1">录入单号</el-radio>
|
||||
<el-radio label="2">电子面单打印</el-radio>
|
||||
|
||||
@ -28,7 +28,7 @@
|
||||
<el-card :bordered="false" shadow="never" v-if="cardShow == 0">
|
||||
<el-row v-if="cardShow == 0" type="flex">
|
||||
<el-col style="width: 310px; height: 550px; margin-right: 30px" v-if="isDiy">
|
||||
<iframe class="iframe-box" :src="imgUrl" frameborder="0" ref="iframe"></iframe>
|
||||
<iframe class="iframe-box" :src="iframeUrl" frameborder="0" ref="iframe"></iframe>
|
||||
<div class="mask"></div>
|
||||
</el-col>
|
||||
<el-col :span="isDiy ? '' : 24" v-bind="isDiy ? grid : ''" :class="isDiy ? 'table' : ''">
|
||||
@ -234,7 +234,7 @@ export default {
|
||||
iframeUrl: '',
|
||||
modal: false,
|
||||
BaseURL: Setting.apiBaseURL.replace(/adminapi/, ''),
|
||||
cardShow: 1,
|
||||
cardShow: 0,
|
||||
loadingExist: false,
|
||||
isDiy: 1,
|
||||
qrcodeImg: '',
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="是否显示:" label-for="keyword">
|
||||
<el-radio-group v-model="levelFrom.is_show" type="button" @on-change="userSearchs">
|
||||
<el-radio-group v-model="levelFrom.is_show" type="button" @input="userSearchs">
|
||||
<el-radio label="">全部</el-radio>
|
||||
<el-radio label="1">显示</el-radio>
|
||||
<el-radio label="0">隐藏</el-radio>
|
||||
|
||||
@ -11,9 +11,9 @@
|
||||
</div>
|
||||
<div class="message">
|
||||
<el-card :bordered="false" shadow="never" class="">
|
||||
<Steps :current="currentTab">
|
||||
<Step :title="item.label" v-for="(item, index) in headerList" :key="index"></Step>
|
||||
</Steps>
|
||||
<el-steps :active="currentTab">
|
||||
<el-step :title="item.label" v-for="(item, index) in headerList" :key="index"></el-step>
|
||||
</el-steps>
|
||||
</el-card>
|
||||
</div>
|
||||
<div class="pt10 tab-1" v-show="currentTab == '0'">
|
||||
|
||||
@ -41,7 +41,7 @@
|
||||
</el-timeline>
|
||||
</div>
|
||||
</div>
|
||||
<Scroll v-if="currentTab == 2" :on-reach-bottom="handleReachBottom" height="550">
|
||||
<div v-if="currentTab == 2" v-infinite-scroll="handleReachBottom" height="550">
|
||||
<div class="contentTime" >
|
||||
<div class="acea-row row-top off" @mouseenter="quearyEvear(item.id,index)" v-for="(item,index) in upgradeLogList" :key="index" :class="{active:index==dynamic}">
|
||||
<div class="time">
|
||||
@ -67,8 +67,7 @@
|
||||
</el-timeline>
|
||||
</div>
|
||||
</div>
|
||||
</Scroll>
|
||||
|
||||
</div>
|
||||
</el-card>
|
||||
<!-- 免责声明 -->
|
||||
<el-dialog :visible.sync="declaration"
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
</el-col>
|
||||
<el-col v-bind="grid" v-if="authType != 2">
|
||||
<el-form-item label="页面地址:" prop="menu_path">
|
||||
<el-input v-model="formValidate.menu_path" placeholder="请输入页面地址" @on-change="changeUnique">
|
||||
<el-input v-model="formValidate.menu_path" placeholder="请输入页面地址" @change="changeUnique">
|
||||
<template #prepend>
|
||||
<span>{{ $routeProStr }}</span>
|
||||
</template>
|
||||
@ -51,7 +51,7 @@
|
||||
</el-col>
|
||||
<el-col v-bind="grid" v-if="authType == 2">
|
||||
<el-form-item label="接口地址:" prop="api_url">
|
||||
<el-input v-model="formValidate.api_url" placeholder="请输入接口地址" @on-change="changeUnique">
|
||||
<el-input v-model="formValidate.api_url" placeholder="请输入接口地址" @change="changeUnique">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
@ -106,15 +106,56 @@
|
||||
/>
|
||||
</div>
|
||||
</el-card>
|
||||
<el-dialog :visible.sync="modal" title="添加批次">
|
||||
<form-create v-model="fapi" :rule="rule" @submit="onSubmit"></form-create>
|
||||
<el-dialog :visible.sync="modal" width="600px" :title="`${formValidate.id ? '编辑' : '添加'}批次`">
|
||||
<!-- <form-create v-model="fapi" :rule="rule" @submit="onSubmit"></form-create> -->
|
||||
<el-form ref="formValidate" :model="formValidate" label-width="100px" @submit.native.prevent>
|
||||
<el-form-item label="批次名称:">
|
||||
<el-input placeholder="请输入批次名称" element-id="unit_name" v-model="formValidate.title" />
|
||||
</el-form-item>
|
||||
<template v-if="!formValidate.id">
|
||||
<el-form-item label="制卡数量:">
|
||||
<el-input-number
|
||||
controls-position="right"
|
||||
placeholder="请输入制卡数量"
|
||||
element-id="sort"
|
||||
:precision="0"
|
||||
:max="100000"
|
||||
:min="1"
|
||||
v-model="formValidate.total_num"
|
||||
class="perW10"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="体验天数:">
|
||||
<el-input-number
|
||||
controls-position="right"
|
||||
placeholder="请输入体验天数"
|
||||
element-id="sort"
|
||||
:precision="0"
|
||||
:max="100000"
|
||||
:min="1"
|
||||
v-model="formValidate.use_day"
|
||||
class="perW10"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="是否激活:">
|
||||
<el-radio-group element-id="status" v-model="formValidate.status">
|
||||
<el-radio :label="1" class="radio">激活</el-radio>
|
||||
<el-radio :label="0">冻结</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注:">
|
||||
<el-input type="textarea" placeholder="请输入备注" :max="100000" v-model="formValidate.remark" />
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="modal = false">取消</el-button>
|
||||
<el-button type="primary" @click="onSubmit()">提交</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<el-dialog :visible.sync="cardModal" title="卡列表" width="1000px">
|
||||
<cardList v-if="cardModal" :id="id"></cardList>
|
||||
</el-dialog>
|
||||
<el-dialog :visible.sync="modal2" title="编辑批次名">
|
||||
<form-create :rule="rule2" @submit="onSubmit2"></form-create>
|
||||
</el-dialog>
|
||||
<cardList v-if="cardModal" :id="id"></cardList> </el-dialog
|
||||
>=
|
||||
<el-dialog :visible.sync="modal3" title="二维码">
|
||||
<div v-if="qrcode" class="acea-row row-around">
|
||||
<div v-if="qrcode && qrcode.wechat_img" class="acea-row row-column-around row-between-wrapper">
|
||||
@ -163,105 +204,16 @@ export default {
|
||||
},
|
||||
loading: false,
|
||||
modal: false,
|
||||
rule: [
|
||||
{
|
||||
type: 'input',
|
||||
field: 'title',
|
||||
title: '批次名称',
|
||||
validate: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入批次名称',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
type: 'InputNumber',
|
||||
field: 'total_num',
|
||||
title: '制卡数量',
|
||||
value: 1,
|
||||
props: {
|
||||
min: 1,
|
||||
precision: 0,
|
||||
max: 100000,
|
||||
},
|
||||
on: {
|
||||
'on-change': (data) => {
|
||||
if (data > 100000) {
|
||||
this.$nextTick((e) => {
|
||||
this.rule[1].value = 100000;
|
||||
});
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
type: 'InputNumber',
|
||||
field: 'use_day',
|
||||
title: '体验天数',
|
||||
value: 1,
|
||||
props: {
|
||||
min: 1,
|
||||
precision: 0,
|
||||
max: 100000,
|
||||
},
|
||||
on: {
|
||||
'on-change': (data) => {
|
||||
if (data > 100000) {
|
||||
this.$nextTick((e) => {
|
||||
this.rule[2].value = 100000;
|
||||
});
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
type: 'radio',
|
||||
field: 'status',
|
||||
title: '是否激活',
|
||||
value: '0',
|
||||
options: [
|
||||
{
|
||||
value: '0',
|
||||
label: '冻结',
|
||||
},
|
||||
{
|
||||
value: '1',
|
||||
label: '激活',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
type: 'input',
|
||||
field: 'remark',
|
||||
title: '备注',
|
||||
props: {
|
||||
type: 'textarea',
|
||||
},
|
||||
},
|
||||
],
|
||||
|
||||
formValidate: {
|
||||
id: 0,
|
||||
title: '',
|
||||
total_num: 1,
|
||||
use_day: 1,
|
||||
status: 1,
|
||||
remark: '',
|
||||
},
|
||||
modal2: false,
|
||||
rule2: [
|
||||
{
|
||||
type: 'hidden',
|
||||
field: 'id',
|
||||
value: '',
|
||||
},
|
||||
{
|
||||
type: 'input',
|
||||
field: 'title',
|
||||
title: '批次名称',
|
||||
value: '',
|
||||
validate: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入批次名称',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
modal3: false,
|
||||
qrcode: null,
|
||||
fapi: {},
|
||||
@ -335,9 +287,9 @@ export default {
|
||||
changeMenu(row, name) {
|
||||
switch (name) {
|
||||
case '1':
|
||||
this.rule2[0].value = row.id;
|
||||
this.rule2[1].value = row.title;
|
||||
this.modal2 = true;
|
||||
this.formValidate.id = row.id;
|
||||
this.formValidate.title = row.title;
|
||||
this.modal = true;
|
||||
break;
|
||||
case '2':
|
||||
this.id = row.id;
|
||||
@ -350,36 +302,39 @@ export default {
|
||||
},
|
||||
// 添加批次弹窗
|
||||
addBatch() {
|
||||
this.fapi.resetFields();
|
||||
// this.fapi.resetFields();
|
||||
this.modal = true;
|
||||
this.formValidate.id = 0;
|
||||
this.formValidate.title = '';
|
||||
},
|
||||
// 提交批次
|
||||
onSubmit(formData) {
|
||||
memberBatchSave(0, formData)
|
||||
.then((res) => {
|
||||
this.modal = false;
|
||||
this.$message.success(res.msg);
|
||||
this.getMemberBatch();
|
||||
this.fapi.resetFields();
|
||||
onSubmit() {
|
||||
if (this.formValidate.id) {
|
||||
memberBatchSetValue(this.formValidate.id, {
|
||||
field: 'title',
|
||||
value: this.formValidate.id,
|
||||
})
|
||||
.catch((err) => {
|
||||
this.$message.error(err.msg);
|
||||
});
|
||||
},
|
||||
onSubmit2(formData) {
|
||||
memberBatchSetValue(formData.id, {
|
||||
field: 'title',
|
||||
value: formData.title,
|
||||
})
|
||||
.then((res) => {
|
||||
this.modal2 = false;
|
||||
this.$message.success(res.msg);
|
||||
this.getMemberBatch();
|
||||
})
|
||||
.catch((err) => {
|
||||
this.$message.error(err.msg);
|
||||
});
|
||||
.then((res) => {
|
||||
this.modal = false;
|
||||
this.$message.success(res.msg);
|
||||
this.getMemberBatch();
|
||||
})
|
||||
.catch((err) => {
|
||||
this.$message.error(err.msg);
|
||||
});
|
||||
} else {
|
||||
memberBatchSave(this.formValidate.id, this.formValidate)
|
||||
.then((res) => {
|
||||
this.modal = false;
|
||||
this.$message.success(res.msg);
|
||||
this.getMemberBatch();
|
||||
})
|
||||
.catch((err) => {
|
||||
this.$message.error(err.msg);
|
||||
});
|
||||
}
|
||||
},
|
||||
onSubmit2(formData) {},
|
||||
// 会员卡二维码
|
||||
getMemberScan() {
|
||||
userMemberScan()
|
||||
|
||||
@ -24,7 +24,7 @@
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="ivu-text-left userFrom" v-if="!collapse">
|
||||
<el-col v-bind="grid" v-if="!collapse">
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="ios-search" label="default" class="mr15" @click="userSearchs"
|
||||
>搜索</el-button
|
||||
@ -37,188 +37,143 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<template v-if="collapse">
|
||||
<el-col :::span="18">
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="用户标签:" label-for="label_id">
|
||||
<div class="labelInput acea-row row-between-wrapper" @click="openSelectLabel">
|
||||
<div style="width: 90%">
|
||||
<div v-if="selectDataLabel.length">
|
||||
<el-tag :closable="false" v-for="(item, index) in selectDataLabel" :key="index">{{
|
||||
item.label_name
|
||||
}}</el-tag>
|
||||
</div>
|
||||
<span class="span" v-else>选择用户关联标签</span>
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="用户标签:" label-for="label_id">
|
||||
<div class="labelInput acea-row row-between-wrapper" @click="openSelectLabel">
|
||||
<div style="width: 90%">
|
||||
<div v-if="selectDataLabel.length">
|
||||
<el-tag :closable="false" v-for="(item, index) in selectDataLabel" :key="index">{{
|
||||
item.label_name
|
||||
}}</el-tag>
|
||||
</div>
|
||||
<div class="ivu-icon ivu-icon-ios-arrow-down"></div>
|
||||
<span class="span" v-else>选择用户关联标签</span>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="下单次数:" label-for="pay_count">
|
||||
<el-select v-model="pay_count" placeholder="请选择下单次数" element-id="pay_count" clearable>
|
||||
<el-option value="all" label="全部"></el-option>
|
||||
<el-option value="-1" label="0次"></el-option>
|
||||
<el-option value="0" label="1次以上"></el-option>
|
||||
<el-option value="1" label="2次以上"></el-option>
|
||||
<el-option value="2" label="3次以上"></el-option>
|
||||
<el-option value="3" label="4次以上"></el-option>
|
||||
<el-option value="4" label="5次以上"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<div class="ivu-icon ivu-icon-ios-arrow-down"></div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col ::span="18">
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="用户分组:" label-for="group_id">
|
||||
<el-select v-model="group_id" placeholder="请选择用户分组" element-id="group_id" clearable>
|
||||
<el-option value="all" label="全部"></el-option>
|
||||
<el-option
|
||||
:value="item.id"
|
||||
v-for="(item, index) in groupList"
|
||||
:key="index"
|
||||
:label="item.group_name"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="用户等级:" label-for="level">
|
||||
<el-select v-model="level" placeholder="请选择用户等级" element-id="level" clearable>
|
||||
<el-option value="all" label="全部">全部</el-option>
|
||||
<el-option
|
||||
:value="item.id"
|
||||
v-for="(item, index) in levelList"
|
||||
:key="index"
|
||||
:label="item.name"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="下单次数:" label-for="pay_count">
|
||||
<el-select v-model="pay_count" placeholder="请选择下单次数" element-id="pay_count" clearable>
|
||||
<el-option value="all" label="全部"></el-option>
|
||||
<el-option value="-1" label="0次"></el-option>
|
||||
<el-option value="0" label="1次以上"></el-option>
|
||||
<el-option value="1" label="2次以上"></el-option>
|
||||
<el-option value="2" label="3次以上"></el-option>
|
||||
<el-option value="3" label="4次以上"></el-option>
|
||||
<el-option value="4" label="5次以上"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col ::span="18">
|
||||
<!-- <el-col v-bind="grid">
|
||||
<el-form-item label="性别:" label-for="sex">
|
||||
<el-radio-group v-model="userFrom.sex" type="button">
|
||||
<el-radio-button label="">
|
||||
<span>全部</span>
|
||||
</el-radio-button>
|
||||
<el-radio-button label="1">
|
||||
<span>男</span>
|
||||
</el-radio-button>
|
||||
<el-radio-button label="2">
|
||||
<span>女</span>
|
||||
</el-radio-button>
|
||||
<el-radio-button label="0">
|
||||
<span>保密</span>
|
||||
</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col> -->
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="身份:" label-for="is_promoter">
|
||||
<el-radio-group v-model="userFrom.is_promoter" type="button">
|
||||
<el-radio-button label="">
|
||||
<span>全部</span>
|
||||
</el-radio-button>
|
||||
<el-radio-button label="1">
|
||||
<span>推广员</span>
|
||||
</el-radio-button>
|
||||
<el-radio-button label="0">
|
||||
<span>普通用户</span>
|
||||
</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="付费会员:" label-for="isMember">
|
||||
<!-- <el-select
|
||||
v-model="userFrom.isMember"
|
||||
placeholder="请选择付费会员"
|
||||
element-id="isMember"
|
||||
clearable
|
||||
@change="changeMember"
|
||||
>
|
||||
<el-option :value="1">是</el-option>
|
||||
<el-option :value="0">否</el-option>
|
||||
</el-select> -->
|
||||
<el-radio-group v-model="userFrom.isMember" type="button">
|
||||
<el-radio-button label="">
|
||||
<span>全部</span>
|
||||
</el-radio-button>
|
||||
<el-radio-button label="1">
|
||||
<span>是</span>
|
||||
</el-radio-button>
|
||||
<el-radio-button label="0">
|
||||
<span>否</span>
|
||||
</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="用户分组:" label-for="group_id">
|
||||
<el-select v-model="group_id" placeholder="请选择用户分组" element-id="group_id" clearable>
|
||||
<el-option value="all" label="全部"></el-option>
|
||||
<el-option
|
||||
:value="item.id"
|
||||
v-for="(item, index) in groupList"
|
||||
:key="index"
|
||||
:label="item.group_name"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col ::span="18">
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="访问情况:" label-for="user_time_type">
|
||||
<el-select
|
||||
v-model="user_time_type"
|
||||
placeholder="请选择访问情况"
|
||||
element-id="user_time_type"
|
||||
clearable
|
||||
>
|
||||
<el-option value="" label="全部"></el-option>
|
||||
<el-option value="visitno" label="时间段未访问"></el-option>
|
||||
<el-option value="visit" label="时间段访问过"></el-option>
|
||||
<el-option value="add_time" label="首次访问"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-bind="grid" v-if="user_time_type">
|
||||
<el-form-item label="访问时间:" label-for="user_time">
|
||||
<el-date-picker
|
||||
:editable="false"
|
||||
@change="onchangeTime"
|
||||
v-modal="timeVal"
|
||||
format="yyyy/MM/dd"
|
||||
type="datetimerange"
|
||||
value-format="yyyy/MM/dd"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
class="mr20"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="用户等级:" label-for="level">
|
||||
<el-select v-model="level" placeholder="请选择用户等级" element-id="level" clearable>
|
||||
<el-option value="all" label="全部">全部</el-option>
|
||||
<el-option
|
||||
:value="item.id"
|
||||
v-for="(item, index) in levelList"
|
||||
:key="index"
|
||||
:label="item.name"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col ::span="18">
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="地区:" label-for="country">
|
||||
<el-select
|
||||
v-model="userFrom.country"
|
||||
placeholder="请选择国家"
|
||||
element-id="country"
|
||||
clearable
|
||||
@change="changeCountry"
|
||||
>
|
||||
<el-option value="domestic" label="中国"></el-option>
|
||||
<el-option value="abroad" label="外国"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-bind="grid" v-if="userFrom.country === 'domestic'">
|
||||
<el-form-item label="省份:">
|
||||
<el-cascader
|
||||
:options="addresData"
|
||||
:value="address"
|
||||
v-model="address"
|
||||
@change="handleChange"
|
||||
clearable
|
||||
></el-cascader>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="身份:" label-for="is_promoter">
|
||||
<el-radio-group v-model="userFrom.is_promoter" type="button">
|
||||
<el-radio-button label="">
|
||||
<span>全部</span>
|
||||
</el-radio-button>
|
||||
<el-radio-button label="1">
|
||||
<span>推广员</span>
|
||||
</el-radio-button>
|
||||
<el-radio-button label="0">
|
||||
<span>普通用户</span>
|
||||
</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="付费会员:" label-for="isMember">
|
||||
<el-radio-group v-model="userFrom.isMember" type="button">
|
||||
<el-radio-button label="">
|
||||
<span>全部</span>
|
||||
</el-radio-button>
|
||||
<el-radio-button label="1">
|
||||
<span>是</span>
|
||||
</el-radio-button>
|
||||
<el-radio-button label="0">
|
||||
<span>否</span>
|
||||
</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="访问情况:" label-for="user_time_type">
|
||||
<el-select v-model="user_time_type" placeholder="请选择访问情况" element-id="user_time_type" clearable>
|
||||
<el-option value="" label="全部"></el-option>
|
||||
<el-option value="visitno" label="时间段未访问"></el-option>
|
||||
<el-option value="visit" label="时间段访问过"></el-option>
|
||||
<el-option value="add_time" label="首次访问"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-bind="grid2" v-if="user_time_type">
|
||||
<el-form-item label="访问时间:" label-for="user_time">
|
||||
<el-date-picker
|
||||
:editable="false"
|
||||
@change="onchangeTime"
|
||||
v-modal="timeVal"
|
||||
format="yyyy/MM/dd"
|
||||
type="datetimerange"
|
||||
value-format="yyyy/MM/dd"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
class="mr20"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="地区:" label-for="country">
|
||||
<el-select
|
||||
v-model="userFrom.country"
|
||||
placeholder="请选择国家"
|
||||
element-id="country"
|
||||
clearable
|
||||
@change="changeCountry"
|
||||
>
|
||||
<el-option value="domestic" label="中国"></el-option>
|
||||
<el-option value="abroad" label="外国"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-bind="grid" v-if="userFrom.country === 'domestic'">
|
||||
<el-form-item label="省份:">
|
||||
<el-cascader
|
||||
:options="addresData"
|
||||
:value="address"
|
||||
v-model="address"
|
||||
@change="handleChange"
|
||||
clearable
|
||||
></el-cascader>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</template>
|
||||
</el-row>
|
||||
<el-row v-if="collapse">
|
||||
<el-col :span="13" class="ivu-text-right userFrom">
|
||||
<el-col v-bind="grid" class="userFrom" v-if="collapse">
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="ios-search" label="default" class="mr15" @click="userSearchs"
|
||||
>搜索</el-button
|
||||
@ -232,8 +187,8 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-row justify="space-between" class="mt20">
|
||||
<el-col ::span="24">
|
||||
<el-row :gutter="24" justify="space-between" class="mt20">
|
||||
<el-col :span="24">
|
||||
<el-button v-auth="['admin-user-save']" type="primary" class="mr10" @click="edit({ uid: 0 })"
|
||||
>添加用户</el-button
|
||||
>
|
||||
@ -253,7 +208,7 @@
|
||||
|
||||
<!-- <el-button v-auth="['admin-user-synchro']" class="mr20" @click="synchro">同步公众号用户</el-button> -->
|
||||
</el-col>
|
||||
<el-col ::span="24" class="userAlert" v-if="selectionList.length">
|
||||
<el-col :span="24" class="userAlert" v-if="selectionList.length">
|
||||
<el-alert show-icon>
|
||||
<template slot="title">
|
||||
已选择<i class="userI"> {{ selectionList.length }} </i>项
|
||||
@ -405,10 +360,10 @@
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer">
|
||||
<el-button type="primary" @click="putSend('formInline')">提交</el-button>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="cancel('formInline')">取消</el-button>
|
||||
</div>
|
||||
<el-button type="primary" @click="putSend('formInline')">提交</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<el-dialog :visible.sync="customerShow" title="请选择商城用户" :show-close="false" width="50%">
|
||||
<customerInfo v-if="customerShow" @imageObject="imageObject"></customerInfo>
|
||||
@ -599,17 +554,17 @@ export default {
|
||||
contentTop: '130',
|
||||
contentWidth: '98%',
|
||||
grid: {
|
||||
xl: 8,
|
||||
lg: 12,
|
||||
md: 12,
|
||||
sm: 24,
|
||||
xl: 6,
|
||||
lg: 6,
|
||||
md: 8,
|
||||
sm: 12,
|
||||
xs: 24,
|
||||
},
|
||||
grid2: {
|
||||
xl: 18,
|
||||
lg: 16,
|
||||
md: 12,
|
||||
sm: 24,
|
||||
xl: 8,
|
||||
lg: 8,
|
||||
md: 8,
|
||||
sm: 12,
|
||||
xs: 24,
|
||||
},
|
||||
loading: false,
|
||||
@ -867,7 +822,7 @@ export default {
|
||||
},
|
||||
// 选择地址
|
||||
handleChange(selectedData) {
|
||||
console.log(selectedData)
|
||||
console.log(selectedData);
|
||||
this.selectedData = selectedData.map((o) => o.label);
|
||||
this.userFrom.province = this.selectedData[0];
|
||||
this.userFrom.city = this.selectedData[1];
|
||||
|
||||
@ -1,5 +1,11 @@
|
||||
@import './index.scss';
|
||||
|
||||
.el-row {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
position: relative;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
/* 页面宽度小于1200px
|
||||
------------------------------- */
|
||||
@media screen and (max-width: $lg) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user