mirror of
https://github.com/crmeb/CRMEB.git
synced 2026-10-29 14:01:07 +00:00
improve: 后台组件替换
This commit is contained in:
parent
f3087f1a3e
commit
f9417ba5ec
115
template/admin/src/components/Pagination/index.vue
Normal file
115
template/admin/src/components/Pagination/index.vue
Normal file
@ -0,0 +1,115 @@
|
||||
<template>
|
||||
<div :class="{ hidden: hidden }" class="pagination-container">
|
||||
<el-pagination
|
||||
:background="background"
|
||||
:current-page.sync="currentPage"
|
||||
:page-size.sync="pageSize"
|
||||
:layout="layout"
|
||||
:page-sizes="pageSizes"
|
||||
:total="total"
|
||||
v-bind="$attrs"
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
></el-pagination>
|
||||
<!-- <el-pagination
|
||||
@size-change="limitChange"
|
||||
@current-change="pageChange"
|
||||
:current-page="4"
|
||||
:page-sizes="[10, 15, 20, 30]"
|
||||
:page-size="page.limit"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="page.total"
|
||||
>
|
||||
</el-pagination> -->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { scrollTo } from '@/utils/scroll-to.js';
|
||||
|
||||
export default {
|
||||
name: 'Pagination',
|
||||
props: {
|
||||
total: {
|
||||
required: true,
|
||||
type: Number,
|
||||
},
|
||||
page: {
|
||||
type: Number,
|
||||
default: 1,
|
||||
},
|
||||
limit: {
|
||||
type: Number,
|
||||
default: 20,
|
||||
},
|
||||
pageSizes: {
|
||||
type: Array,
|
||||
default() {
|
||||
return [10, 20, 30, 50];
|
||||
},
|
||||
},
|
||||
layout: {
|
||||
type: String,
|
||||
default: 'total, sizes, prev, pager, next, jumper',
|
||||
},
|
||||
background: {
|
||||
type: Boolean,
|
||||
default: true,
|
||||
},
|
||||
autoScroll: {
|
||||
type: Boolean,
|
||||
default: true,
|
||||
},
|
||||
hidden: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
currentPage: {
|
||||
get() {
|
||||
console.log(this.page);
|
||||
return this.page;
|
||||
},
|
||||
set(val) {
|
||||
this.$emit('update:page', val);
|
||||
},
|
||||
},
|
||||
pageSize: {
|
||||
get() {
|
||||
return this.limit;
|
||||
},
|
||||
set(val) {
|
||||
this.$emit('update:limit', val);
|
||||
},
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
handleSizeChange(val) {
|
||||
console.log(val);
|
||||
this.$emit('pagination');
|
||||
if (this.autoScroll) {
|
||||
scrollTo(0, 800);
|
||||
}
|
||||
},
|
||||
handleCurrentChange(val) {
|
||||
console.log(val);
|
||||
|
||||
this.$emit('pagination');
|
||||
if (this.autoScroll) {
|
||||
scrollTo(0, 800);
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.pagination-container {
|
||||
background: #fff;
|
||||
padding: 32px 16px;
|
||||
}
|
||||
.pagination-container.hidden {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
@ -1,8 +1,8 @@
|
||||
<template>
|
||||
<div>
|
||||
<!--v-if="item.count && item.count!='0.00'"-->
|
||||
<Row type="flex" align="middle" :gutter="10" class="ivu-mt">
|
||||
<Col
|
||||
<el-row align="middle" :gutter="10" class="ivu-mt">
|
||||
<el-col
|
||||
:xl="item.col"
|
||||
:lg="6"
|
||||
:md="12"
|
||||
@ -12,7 +12,7 @@
|
||||
v-for="(item, index) in cardLists"
|
||||
:key="index"
|
||||
>
|
||||
<Card shadow :padding="0" class="card_cent">
|
||||
<el-card shadow="never" class="card_cent">
|
||||
<div class="card_box">
|
||||
<div
|
||||
class="card_box_cir"
|
||||
@ -42,9 +42,9 @@
|
||||
<span class="sp2" v-text="item.name"></span>
|
||||
</div>
|
||||
</div>
|
||||
</Card>
|
||||
</Col>
|
||||
</Row>
|
||||
</el-card>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -95,7 +95,7 @@ export default {
|
||||
display flex
|
||||
align-items: center
|
||||
/*justify-content: center*/
|
||||
padding: 25px
|
||||
// padding: 25px
|
||||
box-sizing: border-box
|
||||
border-radius: 4px
|
||||
.card_box_cir
|
||||
|
||||
@ -1,45 +1,86 @@
|
||||
<template>
|
||||
<div>
|
||||
<Modal v-model="isTemplate" title="优惠券列表" width="60%" @on-ok="ok" @on-cancel="cancel">
|
||||
<Table
|
||||
:columns="columns"
|
||||
<el-table
|
||||
:data="couponList"
|
||||
ref="table"
|
||||
class="mt25"
|
||||
:loading="loading"
|
||||
highlight-row
|
||||
@on-select="handleSelectRow"
|
||||
@on-select-cancel="handleCancelRow"
|
||||
@on-select-all="handleSelectAll"
|
||||
@on-select-all-cancel="handleSelectAll"
|
||||
v-loading="loading"
|
||||
highlight-current-row
|
||||
:row-key="getRowKey"
|
||||
no-userFrom-text="暂无数据"
|
||||
no-filtered-userFrom-text="暂无筛选结果"
|
||||
@selection-change="changeCheckbox"
|
||||
>
|
||||
<template slot-scope="{ row, index }" slot="count">
|
||||
<span v-if="row.is_permanent">不限量</span>
|
||||
<div v-else>
|
||||
<span class="fa">发布:{{ row.total_count }}</span>
|
||||
<span class="sheng">剩余:{{ row.remain_count }}</span>
|
||||
</div>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="start_time">
|
||||
<div v-if="row.start_time">{{ row.start_time | formatDate }} - {{ row.end_time | formatDate }}</div>
|
||||
<span v-else>不限时</span>
|
||||
</template>
|
||||
<template slot-scope="{ row }" slot="type">
|
||||
<span v-if="row.type === 1">品类券</span>
|
||||
<span v-else-if="row.type === 2">商品券</span>
|
||||
<span v-else-if="row.type === 3">会员券</span>
|
||||
<span v-else>通用券</span>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="status">
|
||||
<Tag color="blue" v-show="row.status === 1">正常</Tag>
|
||||
<Tag color="gold" v-show="row.status === 0">未开启</Tag>
|
||||
<Tag color="red" v-show="row.status === -1">已失效</Tag>
|
||||
</template>
|
||||
</Table>
|
||||
<el-table-column v-if="!luckDraw" type="selection" width="55" :reserve-selection="true"> </el-table-column>
|
||||
<el-table-column v-else width="50">
|
||||
<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="ID" width="60">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.id }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="优惠券名称" min-width="120">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.title }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="优惠券类型" min-width="100">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.type === 1">品类券</span>
|
||||
<span v-else-if="scope.row.type === 2">商品券</span>
|
||||
<span v-else-if="scope.row.type === 3">会员券</span>
|
||||
<span v-else>通用券</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="面值" min-width="100">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.coupon_price }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="最低消费额" min-width="100">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.use_min_price }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="发布数量" min-width="100">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.is_permanent">不限量</span>
|
||||
<div v-else>
|
||||
<span class="fa">发布:{{ scope.row.total_count }}</span>
|
||||
<span class="sheng">剩余:{{ scope.row.remain_count }}</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="有效期限" min-width="100">
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.start_time">
|
||||
{{ scope.row.start_time | formatDate }} - {{ scope.row.end_time | formatDate }}
|
||||
</div>
|
||||
<span v-else>不限时</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="状态" min-width="100">
|
||||
<template slot-scope="scope">
|
||||
<Tag color="blue" v-show="scope.row.status === 1">正常</Tag>
|
||||
<Tag color="gold" v-show="scope.row.status === 0">未开启</Tag>
|
||||
<Tag color="red" v-show="scope.row.status === -1">已失效</Tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="acea-row row-right page">
|
||||
<Page :total="total" show-elevator show-total @on-change="receivePageChange" :page-size="tableFrom.limit" />
|
||||
<pagination
|
||||
v-if="total"
|
||||
:total="total"
|
||||
:page.sync="tableFrom.page"
|
||||
:limit.sync="tableFrom.limit"
|
||||
@pagination="tableList"
|
||||
/>
|
||||
</div>
|
||||
</Modal>
|
||||
</div>
|
||||
@ -76,6 +117,8 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
templateRadio: 0,
|
||||
|
||||
currentid: 0,
|
||||
productRow: {},
|
||||
isTemplate: false,
|
||||
@ -83,183 +126,63 @@ export default {
|
||||
tableFrom: {
|
||||
receive_type: 3,
|
||||
page: 1,
|
||||
limit: 10,
|
||||
limit: 5,
|
||||
},
|
||||
total: 0,
|
||||
ids: [],
|
||||
texts: [],
|
||||
columns: [
|
||||
{
|
||||
title: 'ID',
|
||||
key: 'id',
|
||||
width: 60,
|
||||
},
|
||||
{
|
||||
title: '优惠券名称',
|
||||
key: 'title',
|
||||
minWidth: 150,
|
||||
},
|
||||
{
|
||||
title: '优惠券类型',
|
||||
slot: 'type',
|
||||
minWidth: 80,
|
||||
},
|
||||
{
|
||||
title: '面值',
|
||||
key: 'coupon_price',
|
||||
minWidth: 100,
|
||||
},
|
||||
{
|
||||
title: '最低消费额',
|
||||
key: 'use_min_price',
|
||||
minWidth: 100,
|
||||
},
|
||||
{
|
||||
title: '发布数量',
|
||||
slot: 'count',
|
||||
minWidth: 120,
|
||||
},
|
||||
{
|
||||
title: '有效期限',
|
||||
slot: 'start_time',
|
||||
minWidth: 120,
|
||||
},
|
||||
{
|
||||
title: '状态',
|
||||
slot: 'status',
|
||||
minWidth: 80,
|
||||
},
|
||||
],
|
||||
couponList: [],
|
||||
selectedIds: new Set(),
|
||||
selectedNames: new Set(),
|
||||
selectedIds: [],
|
||||
selectedNames: [],
|
||||
multipleSelection: [],
|
||||
};
|
||||
},
|
||||
mounted() {},
|
||||
watch: {
|
||||
updateIds: function (newVal) {
|
||||
this.selectedIds = new Set(newVal);
|
||||
this.selectedIds = newVal;
|
||||
},
|
||||
updateName: function (newVal) {
|
||||
this.selectedNames = new Set(newVal);
|
||||
this.selectedNames = newVal;
|
||||
this.multipleSelection = newVal;
|
||||
},
|
||||
},
|
||||
created() {
|
||||
let radio = {
|
||||
width: 60,
|
||||
align: 'center',
|
||||
render: (h, params) => {
|
||||
let id = params.row.id;
|
||||
let flag = false;
|
||||
if (this.currentid === id) {
|
||||
flag = true;
|
||||
} else {
|
||||
flag = false;
|
||||
}
|
||||
let self = this;
|
||||
return h('div', [
|
||||
h('Radio', {
|
||||
props: {
|
||||
value: flag,
|
||||
},
|
||||
on: {
|
||||
'on-change': () => {
|
||||
self.currentid = id;
|
||||
this.productRow = params.row;
|
||||
},
|
||||
},
|
||||
}),
|
||||
]);
|
||||
},
|
||||
};
|
||||
|
||||
let checkbox = {
|
||||
type: 'selection',
|
||||
width: 60,
|
||||
align: 'center',
|
||||
};
|
||||
if (this.luckDraw) {
|
||||
this.columns.unshift(radio);
|
||||
} else {
|
||||
this.columns.unshift(checkbox);
|
||||
}
|
||||
},
|
||||
created() {},
|
||||
methods: {
|
||||
getRowKey(row) {
|
||||
return row.id;
|
||||
},
|
||||
getTemplateRow(row) {
|
||||
this.currentid = row.id;
|
||||
this.productRow = row;
|
||||
},
|
||||
//对象数组去重;
|
||||
unique(arr) {
|
||||
const res = new Map();
|
||||
return arr.filter((arr) => !res.has(arr.id) && res.set(arr.id, 1));
|
||||
},
|
||||
handleSelectAll(selection) {
|
||||
// 取消全选 数组为空
|
||||
if (selection.length === 0) {
|
||||
// cy 若取消全选,删除保存在selectedIds里和当前table数据的id一致的数据,达到,当前页取消全选的效果
|
||||
// 当前页的table数据
|
||||
let that = this;
|
||||
let data = that.$refs.table.data;
|
||||
data.forEach((item) => {
|
||||
if (that.selectedIds.has(item.id)) {
|
||||
that.selectedIds.delete(item.id);
|
||||
let nameList = that.unique(Array.from(that.selectedNames));
|
||||
that.unique(Array.from(that.selectedNames)).forEach((j, index) => {
|
||||
if (j.id === item.id) {
|
||||
nameList.splice(index, 1);
|
||||
}
|
||||
});
|
||||
that.selectedNames = new Set(nameList);
|
||||
// this.selectedNames.clear();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
selection.forEach((item) => {
|
||||
this.selectedIds.add(item.id);
|
||||
this.selectedNames.add({ id: item.id, title: item.title });
|
||||
});
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
//确保dom加载完毕
|
||||
this.setChecked();
|
||||
});
|
||||
},
|
||||
|
||||
// 选中某一行
|
||||
handleSelectRow(selection, row) {
|
||||
this.selectedIds.add(row.id);
|
||||
this.selectedNames.add({ id: row.id, title: row.title });
|
||||
this.$nextTick(() => {
|
||||
//确保dom加载完毕
|
||||
this.setChecked();
|
||||
});
|
||||
},
|
||||
// 取消某一行
|
||||
handleCancelRow(selection, row) {
|
||||
let that = this;
|
||||
that.selectedIds.delete(row.id);
|
||||
let nameList = Array.from(that.selectedNames);
|
||||
Array.from(that.selectedNames).forEach((item, index) => {
|
||||
if (item.id === row.id) {
|
||||
nameList.splice(index, 1);
|
||||
}
|
||||
});
|
||||
that.selectedNames = new Set(nameList);
|
||||
this.$nextTick(() => {
|
||||
//确保dom加载完毕
|
||||
this.setChecked();
|
||||
});
|
||||
},
|
||||
setChecked() {
|
||||
this.ids = [...this.selectedIds];
|
||||
this.texts = [...this.selectedNames];
|
||||
// 找到绑定的table的ref对应的dom,找到table的objData对象,objData保存的是当前页的数据
|
||||
let objData = this.$refs.table.objData;
|
||||
for (let index in objData) {
|
||||
if (this.selectedIds.has(objData[index].id)) {
|
||||
// cy 弊端 每次切换select都会触发table的on-select事件
|
||||
// this.$refs.purchaseTable.toggleSelect(index) // 在保存选中的ids的set合集里找与当前页数据id一样的行,使用toggleSelect(index),将这一行选中
|
||||
// cy 改进
|
||||
objData[index]._isChecked = true;
|
||||
changeCheckbox(selection) {
|
||||
console.log(selection);
|
||||
let uniqueArr = [];
|
||||
let cups = [];
|
||||
let ids = [];
|
||||
let arr = this.unique(selection);
|
||||
for (let i = 0; i < arr.length; i++) {
|
||||
const item = arr[i];
|
||||
if (!ids.includes(item.id)) {
|
||||
let obj = {
|
||||
id: item.id,
|
||||
title: item.title,
|
||||
};
|
||||
cups.push(obj);
|
||||
ids.push(item.id);
|
||||
uniqueArr.push(item);
|
||||
}
|
||||
}
|
||||
console.log(cups);
|
||||
this.selectedIds = ids;
|
||||
this.selectedNames = cups;
|
||||
this.multipleSelection = uniqueArr;
|
||||
},
|
||||
cancel() {
|
||||
this.isTemplate = false;
|
||||
@ -272,11 +195,12 @@ export default {
|
||||
releasedListApi(this.tableFrom).then((res) => {
|
||||
let data = res.data;
|
||||
this.couponList = data.list;
|
||||
this.total = data.count;
|
||||
this.$nextTick(() => {
|
||||
//确保dom加载完毕
|
||||
this.setChecked();
|
||||
// this.setChecked();
|
||||
this.showSelectData();
|
||||
});
|
||||
this.total = data.count;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
@ -285,13 +209,32 @@ export default {
|
||||
this.$emit('getCouponId', this.productRow);
|
||||
this.currentid = 0;
|
||||
} else {
|
||||
this.$emit('nameId', this.ids, this.texts);
|
||||
this.$emit('nameId', this.selectedIds, this.selectedNames);
|
||||
}
|
||||
},
|
||||
receivePageChange(index) {
|
||||
pageChange(index) {
|
||||
this.tableFrom.page = index;
|
||||
this.tableList();
|
||||
},
|
||||
limitChange(limit) {
|
||||
this.tableFrom.limit = limit;
|
||||
this.tableList();
|
||||
},
|
||||
showSelectData() {
|
||||
console.log(this.multipleSelection);
|
||||
if (this.multipleSelection.length > 0) {
|
||||
// 判断是否存在勾选过的数据
|
||||
this.couponList.forEach((row) => {
|
||||
// 获取数据列表接口请求到的数据
|
||||
this.multipleSelection.forEach((item) => {
|
||||
// 勾选到的数据
|
||||
if (row.id === item.id) {
|
||||
// this.$refs.table.toggleRowSelection(item, true); // 若有重合,则回显该条数据
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
@ -1,20 +1,22 @@
|
||||
<template>
|
||||
<div class="customer">
|
||||
<Form ref="formValidate" :model="formValidate" :label-width="100" @submit.native.prevent>
|
||||
<Row :gutter="24" type="flex">
|
||||
<Col span="24" class="ivu-text-left">
|
||||
<FormItem label="搜索日期:">
|
||||
<RadioGroup
|
||||
<el-form ref="formValidate" :model="formValidate" label-width="100px" @submit.native.prevent>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="24" class="ivu-text-left">
|
||||
<el-form-item label="搜索日期:">
|
||||
<el-radio-group
|
||||
v-model="formValidate.data"
|
||||
type="button"
|
||||
@on-change="selectChange(formValidate.data)"
|
||||
@change="selectChange(formValidate.data)"
|
||||
class="mr"
|
||||
>
|
||||
<Radio :label="item.val" v-for="(item, i) in fromList.fromTxt" :key="i">{{ item.text }}</Radio>
|
||||
</RadioGroup>
|
||||
<el-radio-button :label="item.val" v-for="(item, i) in fromList.fromTxt" :key="i">{{
|
||||
item.text
|
||||
}}</el-radio-button>
|
||||
</el-radio-group>
|
||||
<DatePicker
|
||||
:editable="false"
|
||||
@on-change="onchangeTime"
|
||||
@change="onchangeTime"
|
||||
:value="timeVal"
|
||||
format="yyyy/MM/dd"
|
||||
type="daterange"
|
||||
@ -22,63 +24,99 @@
|
||||
placeholder="请选择时间"
|
||||
style="width: 200px"
|
||||
></DatePicker>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col span="12" class="ivu-text-left">
|
||||
<FormItem label="用户名称:">
|
||||
<Input
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="ivu-text-left">
|
||||
<el-form-item label="用户名称:">
|
||||
<el-input
|
||||
search
|
||||
enter-button
|
||||
placeholder="请输入用户名称"
|
||||
v-model="formValidate.nickname"
|
||||
style="width: 90%"
|
||||
@on-search="userSearchs"
|
||||
></Input>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Row>
|
||||
</Form>
|
||||
<Table
|
||||
:loading="loading2"
|
||||
highlight-row
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-table
|
||||
v-loading="loading2"
|
||||
highlight-current-row
|
||||
no-userFrom-text="暂无数据"
|
||||
no-filtered-userFrom-text="暂无筛选结果"
|
||||
ref="selection"
|
||||
:columns="columns4"
|
||||
:data="tableList2"
|
||||
>
|
||||
<template slot-scope="{ row, index }" slot="nickname">
|
||||
<div>{{ row.nickname }}</div>
|
||||
<div style="color: red">{{ row.is_del ? '用户已注销' : '' }}</div>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="headimgurl">
|
||||
<div class="tabBox_img" v-viewer>
|
||||
<img v-lazy="row.headimgurl" />
|
||||
</div>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="user_type">
|
||||
<span v-if="row.user_type === 'wechat'">公众号</span>
|
||||
<span v-else-if="row.user_type === 'routine'">小程序</span>
|
||||
<span v-else-if="row.user_type === 'h5'">H5</span>
|
||||
<span v-else-if="row.user_type === 'pc'">PC</span>
|
||||
<span v-else>--</span>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="sex">
|
||||
<span v-show="row.sex === 1">男</span>
|
||||
<span v-show="row.sex === 2">女</span>
|
||||
<span v-show="row.sex === 0">保密</span>
|
||||
<span v-show="row.sex === null">--</span>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="country">
|
||||
<span v-if="row.country || row.province || row.city">{{ row.country + row.province + row.city }}</span>
|
||||
<span v-else>--</span>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="subscribe">
|
||||
<span v-text="row.subscribe === 1 ? '关注' : '未关注'"></span>
|
||||
</template>
|
||||
</Table>
|
||||
<el-table-column width="50">
|
||||
<template slot-scope="scope">
|
||||
<el-radio
|
||||
v-model="currentid"
|
||||
:disabled="!!scope.row.is_del"
|
||||
:label="scope.row.uid"
|
||||
@input="() => currentidRadio(scope.row)"
|
||||
> </el-radio
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="ID" width="80">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.uid }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="微信用户名称" min-width="180">
|
||||
<template slot-scope="scope">
|
||||
<div>{{ scope.row.nickname }}</div>
|
||||
<div style="color: red">{{ scope.row.is_del ? '用户已注销' : '' }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="客服头像" min-width="90">
|
||||
<template slot-scope="scope">
|
||||
<div class="tabBox_img" v-viewer>
|
||||
<img v-lazy="scope.row.headimgurl" />
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="用户类型" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.user_type === 'wechat'">公众号</span>
|
||||
<span v-else-if="scope.row.user_type === 'routine'">小程序</span>
|
||||
<span v-else-if="scope.row.user_type === 'h5'">H5</span>
|
||||
<span v-else-if="scope.row.user_type === 'pc'">PC</span>
|
||||
<span v-else>--</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="性别" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span v-show="scope.row.sex === 1">男</span>
|
||||
<span v-show="scope.row.sex === 2">女</span>
|
||||
<span v-show="scope.row.sex === 0">保密</span>
|
||||
<span v-show="scope.row.sex === null">--</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="地区" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.country || scope.row.province || scope.row.city">{{
|
||||
scope.row.country + scope.row.province + scope.row.city
|
||||
}}</span>
|
||||
<span v-else>--</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="是否关注公众号" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span v-text="scope.row.subscribe === 1 ? '关注' : '未关注'"></span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="acea-row row-right page">
|
||||
<Page :total="total2" show-elevator show-total @on-change="pageChange2" :page-size="formValidate.limit" />
|
||||
<pagination
|
||||
v-if="total2"
|
||||
:total="total2"
|
||||
:page.sync="formValidate.page"
|
||||
:limit.sync="formValidate.limit"
|
||||
@pagination="getListService"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@ -111,91 +149,6 @@ export default {
|
||||
},
|
||||
currentid: 0,
|
||||
productRow: {},
|
||||
columns4: [
|
||||
{
|
||||
title: '选择',
|
||||
key: 'chose',
|
||||
width: 60,
|
||||
align: 'center',
|
||||
render: (h, params) => {
|
||||
let uid = params.row.uid;
|
||||
let flag = false;
|
||||
if (this.currentid === uid) {
|
||||
flag = true;
|
||||
} else {
|
||||
flag = false;
|
||||
}
|
||||
let self = this;
|
||||
return h('div', [
|
||||
h('Radio', {
|
||||
props: {
|
||||
value: flag,
|
||||
disabled: !!params.row.is_del,
|
||||
},
|
||||
on: {
|
||||
'on-change': () => {
|
||||
self.currentid = uid;
|
||||
this.productRow = params.row;
|
||||
if (this.productRow.uid) {
|
||||
if (this.$route.query.fodder === 'image') {
|
||||
/* eslint-disable */
|
||||
let imageObject = {
|
||||
image: this.productRow.headimgurl,
|
||||
uid: this.productRow.uid,
|
||||
};
|
||||
form_create_helper.set('image', imageObject);
|
||||
form_create_helper.close('image');
|
||||
} else {
|
||||
this.$emit('imageObject', {
|
||||
image: this.productRow.headimgurl,
|
||||
uid: this.productRow.uid,
|
||||
});
|
||||
}
|
||||
} else {
|
||||
this.$Message.warning('请先选择商品');
|
||||
}
|
||||
},
|
||||
},
|
||||
}),
|
||||
]);
|
||||
},
|
||||
},
|
||||
{
|
||||
title: 'ID',
|
||||
key: 'uid',
|
||||
width: 80,
|
||||
},
|
||||
{
|
||||
title: '微信用户名称',
|
||||
slot: 'nickname',
|
||||
minWidth: 180,
|
||||
},
|
||||
{
|
||||
title: '客服头像',
|
||||
slot: 'headimgurl',
|
||||
minWidth: 60,
|
||||
},
|
||||
{
|
||||
title: '用户类型',
|
||||
slot: 'user_type',
|
||||
minWidth: 100,
|
||||
},
|
||||
{
|
||||
title: '性别',
|
||||
slot: 'sex',
|
||||
minWidth: 60,
|
||||
},
|
||||
{
|
||||
title: '地区',
|
||||
slot: 'country',
|
||||
minWidth: 120,
|
||||
},
|
||||
{
|
||||
title: '是否关注公众号',
|
||||
slot: 'subscribe',
|
||||
minWidth: 120,
|
||||
},
|
||||
],
|
||||
loading2: false,
|
||||
total2: 0,
|
||||
};
|
||||
@ -235,15 +188,33 @@ export default {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
pageChange2(pageIndex) {
|
||||
this.formValidate.page = pageIndex;
|
||||
this.getListService();
|
||||
},
|
||||
// 搜索
|
||||
userSearchs() {
|
||||
this.formValidate.page = 1;
|
||||
this.getListService();
|
||||
},
|
||||
currentidRadio(row) {
|
||||
self.currentid = row.uid;
|
||||
this.productRow = row;
|
||||
if (this.productRow.uid) {
|
||||
if (this.$route.query.fodder === 'image') {
|
||||
/* eslint-disable */
|
||||
let imageObject = {
|
||||
image: this.productRow.headimgurl,
|
||||
uid: this.productRow.uid,
|
||||
};
|
||||
form_create_helper.set('image', imageObject);
|
||||
form_create_helper.close('image');
|
||||
} else {
|
||||
this.$emit('imageObject', {
|
||||
image: this.productRow.headimgurl,
|
||||
uid: this.productRow.uid,
|
||||
});
|
||||
}
|
||||
} else {
|
||||
this.$Message.warning('请先选择商品');
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<RadioGroup v-model="selectIndexTime" type="button" @on-change="onSelectTime">
|
||||
<Radio :label="index" v-for="(item, index) in options.shortcuts" :key="index">{{ item.text }}</Radio>
|
||||
</RadioGroup>
|
||||
<el-radio-group v-model="selectIndexTime" type="button" @change="onSelectTime">
|
||||
<el-radio-button :label="index" v-for="(item, index) in options.shortcuts" :key="index">{{ item.text }}</el-radio-button>
|
||||
</el-radio-group>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="c_row-item" v-if="configData[this.configNum]">
|
||||
<Col span="8" class="c_label">{{ configData[this.configNum][name].title }}</Col>
|
||||
<Col span="14" class="color-box">
|
||||
<el-col :span="8" class="c_label">{{ configData[this.configNum][name].title }}</el-col>
|
||||
<el-col span="14" class="color-box">
|
||||
<div class="color-item" v-for="(color, key) in configData[this.configNum][name].color" :key="key">
|
||||
<ColorPicker v-model="color.item" @on-change="changeColor($event, color)" alpha></ColorPicker
|
||||
<ColorPicker v-model="color.item" @change="changeColor($event, color)" alpha></ColorPicker
|
||||
><span @click="resetBgA(color, index, key)">重置</span>
|
||||
</div>
|
||||
</Col>
|
||||
</el-col>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -8,15 +8,15 @@
|
||||
<draggable class="dragArea list-group" :list="datas[name].list" group="peoples" handle=".icon">
|
||||
<div class="input-item" v-for="(item, index) in datas[name].list" :key="index">
|
||||
<div class="icon"><Icon type="ios-keypad" size="20" /></div>
|
||||
<Input v-model="item.val" placeholder="选填,不超过十个字" :maxlength="item.maxlength || 10" />
|
||||
<el-input v-model="item.val" placeholder="选填,不超过十个字" :maxlength="item.maxlength || 10" />
|
||||
<div class="close" @click="close(index)">
|
||||
<Icon type="md-close" size="20" style="color: #d8d8d8" />
|
||||
</div>
|
||||
</div>
|
||||
</draggable>
|
||||
<div class="add-btn" @click="addHotTxt">
|
||||
<Button type="primary" ghost style="width: 100%; height: 40px; border-color: #1890ff; color: #1890ff"
|
||||
>添加热词</Button
|
||||
<el-button type="primary" ghost style="width: 100%; height: 40px; border-color: #1890ff; color: #1890ff"
|
||||
>添加热词</el-button
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -2,22 +2,22 @@
|
||||
<div class="numbox" v-if="datas[name]">
|
||||
<div class="c_row-item" v-for="(item, index) in datas[name].list" :key="index">
|
||||
<div class="dif" v-if="item.title === '链接'">
|
||||
<Col class="label" span="4">
|
||||
<el-col class="label" :span="4">
|
||||
<span>{{ item.title }}</span>
|
||||
</Col>
|
||||
<Col span="19" class="slider-box">
|
||||
</el-col>
|
||||
<el-col span="19" class="slider-box">
|
||||
<div class="input-box" @click="getLink(index)">
|
||||
<Input v-model="item.val" :placeholder="item.pla" :maxlength="item.max" icon="ios-arrow-forward" readonly />
|
||||
<el-input v-model="item.val" :placeholder="item.pla" :maxlength="item.max" icon="ios-arrow-forward" readonly />
|
||||
</div>
|
||||
</Col>
|
||||
</el-col>
|
||||
</div>
|
||||
<div class="dif" v-else>
|
||||
<Col class="label" span="4">
|
||||
<el-col class="label" :span="4">
|
||||
<span>{{ item.title }}</span>
|
||||
</Col>
|
||||
<Col span="19" class="slider-box">
|
||||
<Input v-model="item.val" :placeholder="item.pla" :maxlength="item.max" style="text-align: right" />
|
||||
</Col>
|
||||
</el-col>
|
||||
<el-col span="19" class="slider-box">
|
||||
<el-input v-model="item.val" :placeholder="item.pla" :maxlength="item.max" style="text-align: right" />
|
||||
</el-col>
|
||||
</div>
|
||||
</div>
|
||||
<linkaddress ref="linkaddres" @linkUrl="linkUrl"></linkaddress>
|
||||
|
||||
@ -1,20 +1,20 @@
|
||||
<template>
|
||||
<div class="numbox" v-if="datas[name]">
|
||||
<div class="c_row-item">
|
||||
<Col class="label" span="4">
|
||||
<el-col class="label" :span="4">
|
||||
<span v-if="datas[name].show">{{ datas[name].title }}</span>
|
||||
<span v-else>数量</span>
|
||||
</Col>
|
||||
<Col span="19" class="slider-box">
|
||||
<Input
|
||||
</el-col>
|
||||
<el-col span="19" class="slider-box">
|
||||
<el-input
|
||||
v-model="datas[name].val"
|
||||
type="number"
|
||||
placeholder="请输入数量"
|
||||
style="text-align: right; width: 350px"
|
||||
@on-blur="numberVal(datas[name].val)"
|
||||
@on-change="maxNum(datas[name].val)"
|
||||
@blur="numberVal(datas[name].val)"
|
||||
@change="maxNum(datas[name].val)"
|
||||
/>
|
||||
</Col>
|
||||
</el-col>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
<template>
|
||||
<div class="c_row-item">
|
||||
<Col class="label" span="4"> 是否显示 </Col>
|
||||
<Col span="19">
|
||||
<i-switch v-model="datas[name].val" />
|
||||
</Col>
|
||||
<el-col class="label" :span="4"> 是否显示 </el-col>
|
||||
<el-col span="19">
|
||||
<el-switch :active-value="1" :inactive-value="0" v-model="datas[name].val" />
|
||||
</el-col>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@ -1,16 +1,19 @@
|
||||
<template>
|
||||
<div class="slider-box">
|
||||
<div class="c_row-item">
|
||||
<Col class="label" span="4" v-if="datas[name].title">
|
||||
<el-col class="label" :span="4" v-if="datas[name].title">
|
||||
{{ datas[name].title }}
|
||||
</Col>
|
||||
<Col span="19" class="slider-box">
|
||||
<Select v-model="datas[name].activeValue" clearable style="width: 350px" @on-change="sliderChange">
|
||||
<Option v-for="(item, index) in datas[name].list" :value="item.activeValue" :key="index">{{
|
||||
item.title
|
||||
}}</Option>
|
||||
</Select>
|
||||
</Col>
|
||||
</el-col>
|
||||
<el-col span="19" class="slider-box">
|
||||
<el-select v-model="datas[name].activeValue" clearable style="width: 350px" @change="sliderChange">
|
||||
<el-option
|
||||
v-for="(item, index) in datas[name].list"
|
||||
:value="item.activeValue"
|
||||
:key="index"
|
||||
:label="item.title"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-col>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -4,12 +4,12 @@
|
||||
<span>选择模板</span>{{ datas[name].tabList[datas[name].tabVal].name }}
|
||||
</div>
|
||||
<div class="radio-box" :class="{ on: datas[name].type == 1 }">
|
||||
<RadioGroup v-model="datas[name].tabVal" type="button" size="large" @on-change="radioChange($event)">
|
||||
<Radio :label="index" v-for="(item, index) in datas[name].tabList" :key="index">
|
||||
<el-radio-group v-model="datas[name].tabVal" type="button" size="large" @change="radioChange($event)">
|
||||
<el-radio-button :label="index" v-for="(item, index) in datas[name].tabList" :key="index">
|
||||
<span class="iconfont" :class="item.icon" v-if="item.icon"></span>
|
||||
<span v-else>{{ item.name }}</span>
|
||||
</Radio>
|
||||
</RadioGroup>
|
||||
</el-radio-button>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -18,16 +18,16 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="c_row-item">
|
||||
<Col class="label" span="4"> 名称 </Col>
|
||||
<Col span="19" class="slider-box">
|
||||
<Input v-model="item.name" placeholder="选填不超过10个字" />
|
||||
</Col>
|
||||
<el-col class="label" :span="4"> 名称 </el-col>
|
||||
<el-col span="19" class="slider-box">
|
||||
<el-input v-model="item.name" placeholder="选填不超过10个字" />
|
||||
</el-col>
|
||||
</div>
|
||||
<div class="c_row-item">
|
||||
<Col class="label" span="4"> 链接 </Col>
|
||||
<Col span="19" class="slider-box">
|
||||
<Input v-model="item.link" placeholder="选填不超过10个字" />
|
||||
</Col>
|
||||
<el-col class="label" :span="4"> 链接 </el-col>
|
||||
<el-col span="19" class="slider-box">
|
||||
<el-input v-model="item.link" placeholder="选填不超过10个字" />
|
||||
</el-col>
|
||||
</div>
|
||||
</div>
|
||||
<div class="del-box" @click="deleteMenu(index)">
|
||||
@ -36,13 +36,13 @@
|
||||
</div>
|
||||
</draggable>
|
||||
<div class="add-btn" v-if="datas[name].list.length < 5">
|
||||
<Button
|
||||
<el-button
|
||||
type="primary"
|
||||
ghost
|
||||
style="width: 100%; height: 40px; border-color: #1890ff; color: #1890ff"
|
||||
@click="addMenu"
|
||||
>添加图文导航
|
||||
</Button>
|
||||
</el-button>
|
||||
</div>
|
||||
<div>
|
||||
<Modal
|
||||
|
||||
@ -10,12 +10,12 @@
|
||||
<div class="content">
|
||||
<div class="con-item" v-for="(list, key) in item.chiild" :key="key">
|
||||
<div class="dif" v-if="list.title === '链接'">
|
||||
<Col class="label">
|
||||
<el-col class="label">
|
||||
<span>{{ list.title }}</span>
|
||||
</Col>
|
||||
<Col class="slider-box">
|
||||
</el-col>
|
||||
<el-col class="slider-box">
|
||||
<div class="input-box" @click="getLink(index, key)">
|
||||
<Input
|
||||
<el-input
|
||||
v-model="list.val"
|
||||
:placeholder="list.pla"
|
||||
:maxlength="list.max"
|
||||
@ -23,18 +23,18 @@
|
||||
readonly
|
||||
/>
|
||||
</div>
|
||||
</Col>
|
||||
</el-col>
|
||||
</div>
|
||||
<div class="dif" v-else>
|
||||
<Col class="label">
|
||||
<el-col class="label">
|
||||
<span>{{ list.title }}</span>
|
||||
</Col>
|
||||
<Col span="19" class="slider-box">
|
||||
<Input v-model="list.val" :placeholder="list.pla" :maxlength="list.max" style="text-align: right" />
|
||||
</Col>
|
||||
</el-col>
|
||||
<el-col span="19" class="slider-box">
|
||||
<el-input v-model="list.val" :placeholder="list.pla" :maxlength="list.max" style="text-align: right" />
|
||||
</el-col>
|
||||
</div>
|
||||
<!-- <span>{{ list.title }}</span>
|
||||
<Input
|
||||
<el-input
|
||||
v-model="list.val"
|
||||
:placeholder="list.pla"
|
||||
:maxlength="list.max"
|
||||
@ -42,9 +42,9 @@
|
||||
</div>
|
||||
<div class="con-item" v-if="item.link">
|
||||
<span>{{ item.link.title }}</span>
|
||||
<Select v-model="item.link.activeVal" style="">
|
||||
<Option v-for="(item, j) in item.link.optiops" :value="item.value" :key="j">{{ item.label }} </Option>
|
||||
</Select>
|
||||
<el-select v-model="item.link.activeVal" style="">
|
||||
<el-option v-for="(item, j) in item.link.optiops" :value="item.value" :key="j" :label="item.label"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="delete" @click.stop="bindDelete(index)" v-if="datas[name].max > 1">
|
||||
@ -55,8 +55,8 @@
|
||||
</div>
|
||||
<div v-if="datas[name]">
|
||||
<div class="add-btn" @click="addHotTxt" v-if="datas[name].list.length < datas[name].max">
|
||||
<Button type="primary" ghost style="width: 100%; height: 40px; border-color: #1890ff; color: #1890ff"
|
||||
>添加模块</Button
|
||||
<el-button type="primary" ghost style="width: 100%; height: 40px; border-color: #1890ff; color: #1890ff"
|
||||
>添加模块</el-button
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1,18 +1,18 @@
|
||||
<template>
|
||||
<div class="txt_tab" v-if="datas[name]">
|
||||
<div class="c_row-item">
|
||||
<Col class="c_label">
|
||||
<el-col class="c_label">
|
||||
{{ datas[name].title }}
|
||||
<span>{{ datas[name].list[datas[name].type].val }}</span>
|
||||
</Col>
|
||||
<Col class="color-box">
|
||||
<RadioGroup v-model="datas[name].type" type="button" @on-change="radioChange($event)">
|
||||
<Radio :label="key" v-for="(radio, key) in datas[name].list" :key="key">
|
||||
</el-col>
|
||||
<el-col class="color-box">
|
||||
<el-radio-group v-model="datas[name].type" type="button" @change="radioChange($event)">
|
||||
<el-radio-button :label="key" v-for="(radio, key) in datas[name].list" :key="key">
|
||||
<span class="iconfont" :class="radio.icon" v-if="radio.icon"></span>
|
||||
<span v-else>{{ radio.val }}</span>
|
||||
</Radio>
|
||||
</RadioGroup>
|
||||
</Col>
|
||||
</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-col>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
<div class="info-item" v-if="infos.title === '链接'">
|
||||
<span>{{ infos.title }}</span>
|
||||
<div class="input-box" @click="getLink(index, key)">
|
||||
<Input
|
||||
<el-input
|
||||
v-model="infos.value"
|
||||
:placeholder="infos.tips"
|
||||
:maxlength="infos.maxlength"
|
||||
@ -35,7 +35,7 @@
|
||||
<div v-else class="info-item">
|
||||
<span>{{ infos.title }}</span>
|
||||
<div class="input-box">
|
||||
<Input v-model="infos.value" :placeholder="infos.tips" :maxlength="infos.maxlength" width="250px" />
|
||||
<el-input v-model="infos.value" :placeholder="infos.tips" :maxlength="infos.maxlength" width="250px" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -65,13 +65,13 @@
|
||||
</div>
|
||||
<template v-if="datas[name]">
|
||||
<div class="add-btn" v-if="datas[name].list.length < datas[name].max || datas[name].max == ''">
|
||||
<Button
|
||||
<el-button
|
||||
type="primary"
|
||||
ghost
|
||||
style="width: 100%; height: 40px; border-color: #1890ff; color: #1890ff"
|
||||
@click="addBox"
|
||||
>添加图片
|
||||
</Button>
|
||||
</el-button>
|
||||
</div>
|
||||
</template>
|
||||
<linkaddress ref="linkaddres" @linkUrl="linkUrl"></linkaddress>
|
||||
|
||||
@ -1,16 +1,16 @@
|
||||
<template>
|
||||
<div>
|
||||
<Modal v-model="addressModal" title="选择可配送区域" width="50%" class="modal" :mask="true">
|
||||
<Row :gutter="24" type="flex">
|
||||
<Col :xl="24" :lg="24" :md="24" :sm="24" :xs="24" class="item">
|
||||
<el-row :gutter="24" >
|
||||
<el-col :xl="24" :lg="24" :md="24" :sm="24" :xs="24" class="item">
|
||||
<div class="acea-row row-right row-middle">
|
||||
<Checkbox v-model="iSselect" @on-change="allCheckbox">全选</Checkbox>
|
||||
<el-checkbox v-model="iSselect" @change="allCheckbox">全选</el-checkbox>
|
||||
<div class="empty" @click="empty">清空</div>
|
||||
</div>
|
||||
</Col>
|
||||
</Row>
|
||||
<Row :gutter="24" type="flex" :loading="loading">
|
||||
<Col
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24" :loading="loading">
|
||||
<el-col
|
||||
:xl="6"
|
||||
:lg="6"
|
||||
:md="6"
|
||||
@ -22,33 +22,33 @@
|
||||
v-if="item.isShow"
|
||||
>
|
||||
<div @mouseenter="enter(index)" @mouseleave="leave()">
|
||||
<Checkbox v-model="item.checked" :label="item.name" @on-change="checkedClick(index)">{{
|
||||
<el-checkbox v-model="item.checked" :label="item.name" @change="checkedClick(index)">{{
|
||||
item.name
|
||||
}}</Checkbox
|
||||
}}</el-checkbox
|
||||
><span class="red">({{ (item.count || 0) + '/' + item.childNum }})</span>
|
||||
<div class="city" v-show="activeCity === index">
|
||||
<div class="checkBox">
|
||||
<div class="arrow"></div>
|
||||
<div>
|
||||
<Checkbox
|
||||
<el-checkbox
|
||||
v-model="city.checked"
|
||||
:label="city.name"
|
||||
@on-change="primary(index, indexn)"
|
||||
@change="primary(index, indexn)"
|
||||
class="itemn"
|
||||
v-for="(city, indexn) in item.children"
|
||||
:key="indexn"
|
||||
v-show="city.isShow"
|
||||
>{{ city.name }}</Checkbox
|
||||
>{{ city.name }}</el-checkbox
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</Col>
|
||||
</Row>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<div slot="footer">
|
||||
<Button @click="close">取消</Button>
|
||||
<Button type="primary" @click="confirm">确定</Button>
|
||||
<el-button @click="close">取消</el-button>
|
||||
<el-button type="primary" @click="confirm">确定</el-button>
|
||||
</div>
|
||||
<Spin size="large" fix v-if="loading"></Spin>
|
||||
</Modal>
|
||||
|
||||
@ -9,119 +9,187 @@
|
||||
@on-visible-change="close"
|
||||
>
|
||||
<div class="Modals">
|
||||
<Form class="form" ref="formData" :label-width="120" label-position="right">
|
||||
<Row :gutter="24" type="flex">
|
||||
<Col :xl="18" :lg="18" :md="18" :sm="24" :xs="24">
|
||||
<FormItem label="模板名称:" prop="name">
|
||||
<Input type="text" placeholder="请输入模板名称" :maxlength="20" v-model="formData.name" />
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Row>
|
||||
<Row :gutter="24" type="flex">
|
||||
<Col :xl="18" :lg="18" :md="18" :sm="24" :xs="24">
|
||||
<FormItem label="计费方式:" props="state" label-for="state">
|
||||
<RadioGroup class="radio" v-model="formData.type" @on-change="changeRadio" element-id="state">
|
||||
<Radio :label="1">按件数</Radio>
|
||||
<Radio :label="2">按重量</Radio>
|
||||
<Radio :label="3">按体积</Radio>
|
||||
</RadioGroup>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Row>
|
||||
<Row :gutter="24" type="flex">
|
||||
<Col :xl="24" :lg="24" :md="24" :sm="24" :xs="24">
|
||||
<FormItem class="label" label="配送区域及运费:" props="state" label-for="state">
|
||||
<Table
|
||||
<el-form class="form" ref="formData" label-width="120px" label-position="right">
|
||||
<el-row :gutter="24">
|
||||
<el-col :xl="18" :lg="18" :md="18" :sm="24" :xs="24">
|
||||
<el-form-item label="模板名称:" prop="name">
|
||||
<el-input type="text" placeholder="请输入模板名称" :maxlength="20" v-model="formData.name" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :xl="18" :lg="18" :md="18" :sm="24" :xs="24">
|
||||
<el-form-item label="计费方式:" props="state" label-for="state">
|
||||
<el-radio-group class="radio" v-model="formData.type" @change="changeRadio" element-id="state">
|
||||
<el-radio :label="1">按件数</el-radio>
|
||||
<el-radio :label="2">按重量</el-radio>
|
||||
<el-radio :label="3">按体积</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :xl="24" :lg="24" :md="24" :sm="24" :xs="24">
|
||||
<el-form-item class="label" label="配送区域及运费:" props="state" label-for="state">
|
||||
<el-table ref="table" :data="templateList" class="ivu-mt" empty-text="暂无数据" border>
|
||||
<el-table-column label="可配送区域" minWidth="100">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-model="templateList[scope.$index].regionName" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
:label="formData.type === 2 ? '首件重量(KG)' : formData.type === 3 ? '首件体积(m³)' : '首件'"
|
||||
minWidth="100"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-input type="number" v-model="templateList[scope.$index].first" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="运费(元)" minWidth="100">
|
||||
<template slot-scope="scope">
|
||||
<el-input type="number" v-model="templateList[scope.$index].price" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
:label="formData.type === 2 ? '续件重量(KG)' : formData.type === 3 ? '续件体积(m³)' : '续件'"
|
||||
minWidth="100"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-input type="number" v-model="templateList[scope.$index].continue" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="续费(元)" minWidth="100">
|
||||
<template slot-scope="scope">
|
||||
<el-input type="number" v-model="templateList[scope.$index].continue_price" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="100">
|
||||
<template slot-scope="scope">
|
||||
<a
|
||||
v-if="scope.row.regionName !== '默认全国'"
|
||||
@click="delCity(scope.row, '配送区域', scope.$index, 1)"
|
||||
>删除</a
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-row class="addTop">
|
||||
<el-col>
|
||||
<el-button type="primary" icon="md-add" @click="addCity(1)">单独添加配送区域</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :xl="24" :lg="24" :md="24" :sm="24" :xs="24">
|
||||
<el-form-item label="指定包邮:" prop="store_name" label-for="store_name">
|
||||
<el-radio-group class="radio" v-model="formData.appoint_check">
|
||||
<el-radio :label="1">开启</el-radio>
|
||||
<el-radio :label="0">关闭</el-radio>
|
||||
</el-radio-group>
|
||||
<el-table
|
||||
ref="table"
|
||||
:columns="columns"
|
||||
:data="templateList"
|
||||
class="ivu-mt"
|
||||
no-data-text="暂无数据"
|
||||
border
|
||||
>
|
||||
<template slot-scope="{ row, index }" slot="action">
|
||||
<a v-if="row.regionName !== '默认全国'" @click="delCity(row, '配送区域', index, 1)">删除</a>
|
||||
</template>
|
||||
</Table>
|
||||
<Row type="flex" class="addTop">
|
||||
<Col>
|
||||
<Button type="primary" icon="md-add" @click="addCity(1)">单独添加配送区域</Button>
|
||||
</Col>
|
||||
</Row>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Row>
|
||||
<Row :gutter="24" type="flex">
|
||||
<Col :xl="24" :lg="24" :md="24" :sm="24" :xs="24">
|
||||
<FormItem label="指定包邮:" prop="store_name" label-for="store_name">
|
||||
<Radio-group class="radio" v-model="formData.appoint_check">
|
||||
<Radio :label="1">开启</Radio>
|
||||
<Radio :label="0">关闭</Radio>
|
||||
</Radio-group>
|
||||
<Table
|
||||
ref="table"
|
||||
:columns="columns2"
|
||||
:data="appointList"
|
||||
class="addTop ivu-mt"
|
||||
no-data-text="暂无数据"
|
||||
empty-text="暂无数据"
|
||||
border
|
||||
v-if="formData.appoint_check === 1"
|
||||
>
|
||||
<template slot-scope="{ row, index }" slot="action">
|
||||
<a v-if="row.regionName !== '默认全国'" @click="delCity(row, '配送区域', index, 2)">删除</a>
|
||||
</template>
|
||||
</Table>
|
||||
<Row type="flex" class="addTop" v-if="formData.appoint_check === 1">
|
||||
<Col>
|
||||
<Button type="primary" icon="md-add" @click="addCity(2)">单独指定包邮</Button>
|
||||
</Col>
|
||||
</Row>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Row>
|
||||
<Row :gutter="24" type="flex">
|
||||
<Col :xl="24" :lg="24" :md="24" :sm="24" :xs="24">
|
||||
<FormItem label="指定不送达:" prop="store_name" label-for="store_name">
|
||||
<Radio-group class="radio" v-model="formData.no_delivery_check">
|
||||
<Radio :label="1">开启</Radio>
|
||||
<Radio :label="0">关闭</Radio>
|
||||
</Radio-group>
|
||||
<Table
|
||||
<el-table-column label="选择地区" minWidth="100">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-model="appointList[scope.$index].placeName" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
:label="formData.type === 2 ? '包邮重量' : formData.type === 3 ? '包邮体积(m³)' : '包邮件数'"
|
||||
minWidth="100"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-input type="number" v-model="appointList[scope.$index].a_num" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="包邮金额(元)" minWidth="100">
|
||||
<template slot-scope="scope">
|
||||
<el-input type="number" v-model="appointList[scope.$index].a_price" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="100">
|
||||
<template slot-scope="scope">
|
||||
<a
|
||||
v-if="scope.row.regionName !== '默认全国'"
|
||||
@click="delCity(scope.row, '配送区域', scope.$index, 2)"
|
||||
>删除</a
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-row class="addTop" v-if="formData.appoint_check === 1">
|
||||
<el-col>
|
||||
<el-button type="primary" icon="md-add" @click="addCity(2)">单独指定包邮</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :xl="24" :lg="24" :md="24" :sm="24" :xs="24">
|
||||
<el-form-item label="指定不送达:" prop="store_name" label-for="store_name">
|
||||
<el-radio-group class="radio" v-model="formData.no_delivery_check">
|
||||
<el-radio :label="1">开启</el-radio>
|
||||
<el-radio :label="0">关闭</el-radio>
|
||||
</el-radio-group>
|
||||
<el-table
|
||||
ref="table"
|
||||
:columns="columns3"
|
||||
:data="noDeliveryList"
|
||||
class="addTop ivu-mt"
|
||||
no-data-text="暂无数据"
|
||||
empty-text="暂无数据"
|
||||
border
|
||||
v-if="formData.no_delivery_check === 1"
|
||||
>
|
||||
<template slot-scope="{ row, index }" slot="action">
|
||||
<a v-if="row.regionName !== '默认全国'" @click="delCity(row, '配送区域', index, 3)">删除</a>
|
||||
</template>
|
||||
</Table>
|
||||
<Row type="flex" class="addTop" v-if="formData.no_delivery_check === 1">
|
||||
<Col>
|
||||
<Button type="primary" icon="md-add" @click="addCity(3)">单独指定不送达</Button>
|
||||
</Col>
|
||||
</Row>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Row>
|
||||
<Row :gutter="24" type="flex">
|
||||
<Col :xl="18" :lg="18" :md="18" :sm="24" :xs="24">
|
||||
<FormItem label="排序:" prop="store_name" label-for="store_name">
|
||||
<InputNumber :min="0" placeholder="输入值越大越靠前" v-model="formData.sort"></InputNumber>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Row>
|
||||
<Row :gutter="24" type="flex">
|
||||
<Col>
|
||||
<FormItem prop="store_name" label-for="store_name">
|
||||
<Button type="primary" @click="handleSubmit">{{ id ? '立即修改' : '立即提交' }}</Button>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Row>
|
||||
</Form>
|
||||
<el-table-column label="选择地区" minWidth="100">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-model="noDeliveryList[scope.$index].placeName" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="100">
|
||||
<template slot-scope="scope">
|
||||
<a
|
||||
v-if="scope.row.regionName !== '默认全国'"
|
||||
@click="delCity(scope.row, '配送区域', scope.$index, 3)"
|
||||
>删除</a
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-row class="addTop" v-if="formData.no_delivery_check === 1">
|
||||
<el-col>
|
||||
<el-button type="primary" icon="md-add" @click="addCity(3)">单独指定不送达</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :xl="18" :lg="18" :md="18" :sm="24" :xs="24">
|
||||
<el-form-item label="排序:" prop="store_name" label-for="store_name">
|
||||
<el-input-number
|
||||
controls-position="right"
|
||||
:min="0"
|
||||
placeholder="输入值越大越靠前"
|
||||
v-model="formData.sort"
|
||||
></el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col>
|
||||
<el-form-item prop="store_name" label-for="store_name">
|
||||
<el-button type="primary" @click="handleSubmit">{{ id ? '立即修改' : '立即提交' }}</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</div>
|
||||
<div slot="footer"></div>
|
||||
</Modal>
|
||||
@ -141,186 +209,6 @@ export default {
|
||||
let that = this;
|
||||
return {
|
||||
isTemplate: false,
|
||||
columns: [
|
||||
{
|
||||
title: '可配送区域',
|
||||
key: 'regionName',
|
||||
minWidth: 100,
|
||||
render: (h, params) => {
|
||||
return h('Input', {
|
||||
props: {
|
||||
type: 'text',
|
||||
readonly: true,
|
||||
size: 'small',
|
||||
value: that.templateList[params.index].regionName,
|
||||
},
|
||||
});
|
||||
},
|
||||
},
|
||||
{
|
||||
title: '首件',
|
||||
key: 'first',
|
||||
minWidth: 70,
|
||||
render: (h, params) => {
|
||||
return h('Input', {
|
||||
props: {
|
||||
type: 'number',
|
||||
size: 'small',
|
||||
value: that.templateList[params.index].first, // 此处如何让数据双向绑定
|
||||
},
|
||||
on: {
|
||||
'on-change': (event) => {
|
||||
that.templateList[params.index].first = event.target.value;
|
||||
},
|
||||
},
|
||||
});
|
||||
},
|
||||
},
|
||||
{
|
||||
title: '运费(元)',
|
||||
key: 'price',
|
||||
minWidth: 70,
|
||||
render: (h, params) => {
|
||||
return h('Input', {
|
||||
props: {
|
||||
type: 'number',
|
||||
size: 'small',
|
||||
value: that.templateList[params.index].price, // 此处如何让数据双向绑定
|
||||
},
|
||||
on: {
|
||||
'on-change': (event) => {
|
||||
that.templateList[params.index].price = event.target.value;
|
||||
},
|
||||
},
|
||||
});
|
||||
},
|
||||
},
|
||||
{
|
||||
title: '续件',
|
||||
key: 'continue',
|
||||
minWidth: 70,
|
||||
render: (h, params) => {
|
||||
return h('Input', {
|
||||
props: {
|
||||
type: 'number',
|
||||
size: 'small',
|
||||
value: that.templateList[params.index].continue, // 此处如何让数据双向绑定
|
||||
},
|
||||
on: {
|
||||
'on-change': (event) => {
|
||||
that.templateList[params.index].continue = event.target.value;
|
||||
},
|
||||
},
|
||||
});
|
||||
},
|
||||
},
|
||||
{
|
||||
title: '续费(元)',
|
||||
key: 'continue_price',
|
||||
minWidth: 70,
|
||||
render: (h, params) => {
|
||||
return h('Input', {
|
||||
props: {
|
||||
type: 'number',
|
||||
size: 'small',
|
||||
value: that.templateList[params.index].continue_price, // 此处如何让数据双向绑定
|
||||
},
|
||||
on: {
|
||||
'on-change': (event) => {
|
||||
that.templateList[params.index].continue_price = event.target.value;
|
||||
},
|
||||
},
|
||||
});
|
||||
},
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
slot: 'action',
|
||||
minWidth: 70,
|
||||
},
|
||||
],
|
||||
columns2: [
|
||||
{
|
||||
title: '选择地区',
|
||||
key: 'placeName',
|
||||
minWidth: 250,
|
||||
render: (h, params) => {
|
||||
return h('Input', {
|
||||
props: {
|
||||
type: 'text',
|
||||
readonly: true,
|
||||
size: 'small',
|
||||
value: that.appointList[params.index].placeName,
|
||||
},
|
||||
});
|
||||
},
|
||||
},
|
||||
{
|
||||
title: '包邮件数',
|
||||
key: 'a_num',
|
||||
minWidth: 100,
|
||||
render: (h, params) => {
|
||||
return h('Input', {
|
||||
props: {
|
||||
type: 'number',
|
||||
size: 'small',
|
||||
value: that.appointList[params.index].a_num, // 此处如何让数据双向绑定
|
||||
},
|
||||
on: {
|
||||
'on-change': (event) => {
|
||||
that.appointList[params.index].a_num = event.target.value;
|
||||
},
|
||||
},
|
||||
});
|
||||
},
|
||||
},
|
||||
{
|
||||
title: '包邮金额(元)',
|
||||
key: 'a_price',
|
||||
minWidth: 100,
|
||||
render: (h, params) => {
|
||||
return h('Input', {
|
||||
props: {
|
||||
type: 'number',
|
||||
size: 'small',
|
||||
value: that.appointList[params.index].a_price, // 此处如何让数据双向绑定
|
||||
},
|
||||
on: {
|
||||
'on-change': (event) => {
|
||||
that.appointList[params.index].a_price = event.target.value;
|
||||
},
|
||||
},
|
||||
});
|
||||
},
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
slot: 'action',
|
||||
minWidth: 100,
|
||||
},
|
||||
],
|
||||
columns3: [
|
||||
{
|
||||
title: '选择地区',
|
||||
key: 'placeName',
|
||||
minWidth: 250,
|
||||
render: (h, params) => {
|
||||
return h('Input', {
|
||||
props: {
|
||||
type: 'text',
|
||||
readonly: true,
|
||||
size: 'small',
|
||||
value: that.noDeliveryList[params.index].placeName,
|
||||
},
|
||||
});
|
||||
},
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
slot: 'action',
|
||||
minWidth: 100,
|
||||
},
|
||||
],
|
||||
templateList: [
|
||||
{
|
||||
region: [
|
||||
@ -384,7 +272,7 @@ export default {
|
||||
appoint_check: formData.appoint_check,
|
||||
no_delivery_check: formData.no_delivery_check,
|
||||
};
|
||||
this.headerType();
|
||||
// this.headerType();
|
||||
});
|
||||
},
|
||||
selectCity: function (data, type) {
|
||||
@ -431,23 +319,6 @@ export default {
|
||||
this.$refs.city.addressModal = true;
|
||||
},
|
||||
changeRadio() {
|
||||
this.headerType();
|
||||
},
|
||||
headerType() {
|
||||
let that = this;
|
||||
if (this.formData.type === 2) {
|
||||
that.columns[1].title = '首件重量(KG)';
|
||||
that.columns[3].title = '续件重量(KG)';
|
||||
that.columns2[1].title = '包邮重量(KG)';
|
||||
} else if (this.formData.type === 3) {
|
||||
that.columns[1].title = '首件体积(m³)';
|
||||
that.columns[3].title = '续件体积(m³)';
|
||||
that.columns2[1].title = '包邮体积(m³)';
|
||||
} else {
|
||||
that.columns[1].title = '首件';
|
||||
that.columns[3].title = '续件';
|
||||
that.columns2[1].title = '包邮件数';
|
||||
}
|
||||
},
|
||||
// 提交
|
||||
handleSubmit: function () {
|
||||
|
||||
@ -13,11 +13,11 @@
|
||||
<template>
|
||||
<div class="radio acea-row row-middle" v-if="FromData.action === '/marketing/coupon/save.html'">
|
||||
<div class="name ivu-form-item-content">优惠券类型</div>
|
||||
<Radio-group v-model="type" @on-change="couponsType">
|
||||
<Radio :label="0">通用券</Radio>
|
||||
<Radio :label="1">品类券</Radio>
|
||||
<Radio :label="2">商品券</Radio>
|
||||
</Radio-group>
|
||||
<el-radio-group v-model="type" @change="couponsType">
|
||||
<el-radio :label="0">通用券</el-radio>
|
||||
<el-radio :label="1">品类券</el-radio>
|
||||
<el-radio :label="2">商品券</el-radio>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
</template>
|
||||
<form-create
|
||||
|
||||
@ -1,14 +1,14 @@
|
||||
<template>
|
||||
<div class="goodList">
|
||||
<Form ref="formValidate" :model="formValidate" :label-width="120" label-position="right" class="tabform">
|
||||
<Row type="flex" :gutter="24">
|
||||
<Col v-bind="grid" v-if="!liveStatus">
|
||||
<FormItem label="商品分类:" label-for="pid">
|
||||
<!-- <Select v-model="formValidate.cate_id" style="width: 200px" clearable @on-change="userSearchs">
|
||||
<Option v-for="item in treeSelect" :value="item.id" :key="item.id"
|
||||
<el-form ref="formValidate" :model="formValidate" label-width="120px" label-position="right" class="tabform">
|
||||
<el-row :gutter="24">
|
||||
<el-col v-bind="grid" v-if="!liveStatus">
|
||||
<el-form-item label="商品分类:" label-for="pid">
|
||||
<!-- <el-select v-model="formValidate.cate_id" style="width: 200px" clearable @change="userSearchs">
|
||||
<el-option v-for="item in treeSelect" :value="item.id" :key="item.id"
|
||||
>{{ item.html + item.cate_name }}
|
||||
</Option>
|
||||
</Select> -->
|
||||
</el-option>
|
||||
</el-select> -->
|
||||
<el-cascader
|
||||
v-model="formValidate.cate_id"
|
||||
size="small"
|
||||
@ -16,20 +16,19 @@
|
||||
:props="{ emitPath: false }"
|
||||
clearable
|
||||
></el-cascader>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col v-bind="grid" v-if="!type && diy">
|
||||
<FormItem label="商品类型:" label-for="pid">
|
||||
<Select v-model="goodType" style="width: 200px" clearable @on-change="userSearchs">
|
||||
<Option v-for="item in goodList" :value="item.activeValue" :key="item.activeValue"
|
||||
>{{ item.title }}
|
||||
</Option>
|
||||
</Select>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col v-bind="grid">
|
||||
<FormItem label="商品搜索:" label-for="store_name">
|
||||
<Input
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-bind="grid" v-if="!type && diy">
|
||||
<el-form-item label="商品类型:" label-for="pid">
|
||||
<el-select v-model="goodType" style="width: 200px" clearable @change="userSearchs">
|
||||
<el-option v-for="item in goodList" :value="item.activeValue" :key="item.activeValue" :label="item.title">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="商品搜索:" label-for="store_name">
|
||||
<el-input
|
||||
search
|
||||
enter-button
|
||||
placeholder="请输入商品名称/关键字/编号"
|
||||
@ -37,31 +36,63 @@
|
||||
style="width: 250px"
|
||||
@on-search="userSearchs"
|
||||
/>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Row>
|
||||
</Form>
|
||||
<Table
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-table
|
||||
ref="table"
|
||||
no-data-text="暂无数据"
|
||||
@on-selection-change="changeCheckbox"
|
||||
no-filtered-data-text="暂无筛选结果"
|
||||
empty-text="暂无数据"
|
||||
max-height="400"
|
||||
:columns="liveStatus == false ? columns4 : columns5"
|
||||
:highlight-current-row="many !== 'many'"
|
||||
:data="tableList"
|
||||
:loading="loading"
|
||||
v-loading="loading"
|
||||
@select="changeCheckbox"
|
||||
@select-all="changeCheckbox"
|
||||
>
|
||||
<template slot-scope="{ row, index }" slot="image">
|
||||
<div class="tabBox_img" v-viewer>
|
||||
<img v-lazy="row.image" />
|
||||
</div>
|
||||
</template>
|
||||
</Table>
|
||||
<el-table-column v-if="many == 'many'" type="selection" width="55"> </el-table-column>
|
||||
<el-table-column v-else width="50">
|
||||
<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="商品ID" width="80">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.id }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="图片" width="80">
|
||||
<template slot-scope="scope">
|
||||
<div class="tabBox_img" v-viewer>
|
||||
<img v-lazy="scope.row.image" />
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="商品名称" min-width="250">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.store_name }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="商品分类" min-width="150" v-if="liveStatus">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.cate_name }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="acea-row row-right page">
|
||||
<Page :total="total" show-elevator show-total @on-change="pageChange" :page-size="formValidate.limit" />
|
||||
<pagination
|
||||
v-if="total"
|
||||
:total="total"
|
||||
:page.sync="formValidate.page"
|
||||
:limit.sync="formValidate.limit"
|
||||
@pagination="pageChange"
|
||||
/>
|
||||
</div>
|
||||
<div class="footer" slot="footer" v-if="many === 'many' && !diy">
|
||||
<Button type="primary" size="large" :loading="modal_loading" long @click="ok">提交</Button>
|
||||
<el-button type="primary" size="large" :loading="modal_loading" long @click="ok">提交</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@ -117,6 +148,8 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
templateRadio: 0,
|
||||
|
||||
modal_loading: false,
|
||||
treeSelect: [],
|
||||
formValidate: {
|
||||
@ -203,53 +236,6 @@ export default {
|
||||
},
|
||||
computed: {},
|
||||
created() {
|
||||
let radio = {
|
||||
width: 60,
|
||||
align: 'center',
|
||||
render: (h, params) => {
|
||||
let id = params.row.id;
|
||||
let flag = false;
|
||||
if (this.currentid === id) {
|
||||
flag = true;
|
||||
} else {
|
||||
flag = false;
|
||||
}
|
||||
let self = this;
|
||||
return h('div', [
|
||||
h('Radio', {
|
||||
props: {
|
||||
value: flag,
|
||||
},
|
||||
on: {
|
||||
'on-change': () => {
|
||||
self.currentid = id;
|
||||
this.productRow = params.row;
|
||||
this.$emit('getProductId', this.productRow);
|
||||
if (this.productRow.id) {
|
||||
if (this.$route.query.fodder === 'image') {
|
||||
/* eslint-disable */
|
||||
let imageObject = {
|
||||
image: this.productRow.image,
|
||||
product_id: this.productRow.id,
|
||||
};
|
||||
form_create_helper.set('image', imageObject);
|
||||
form_create_helper.close('image');
|
||||
}
|
||||
} else {
|
||||
this.$Message.warning('请先选择商品');
|
||||
}
|
||||
},
|
||||
},
|
||||
}),
|
||||
]);
|
||||
},
|
||||
};
|
||||
|
||||
let checkbox = {
|
||||
type: 'selection',
|
||||
width: 60,
|
||||
align: 'center',
|
||||
};
|
||||
let many = '';
|
||||
if (this.ischeckbox) {
|
||||
many = 'many';
|
||||
@ -257,13 +243,6 @@ export default {
|
||||
many = this.$route.query.type;
|
||||
}
|
||||
this.many = many;
|
||||
if (many === 'many') {
|
||||
this.columns4.unshift(checkbox);
|
||||
this.columns5.unshift(checkbox);
|
||||
} else {
|
||||
this.columns4.unshift(radio);
|
||||
this.columns5.unshift(radio);
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.goodsCategory();
|
||||
@ -295,6 +274,21 @@ export default {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
getTemplateRow(row) {
|
||||
console.log('111');
|
||||
let images = [];
|
||||
let imageObject = {
|
||||
image: row.image,
|
||||
product_id: row.id,
|
||||
store_name: row.store_name,
|
||||
temp_id: row.temp_id,
|
||||
};
|
||||
images.push(imageObject);
|
||||
this.images = images;
|
||||
this.diyVal = row;
|
||||
this.$emit('getProductId', row);
|
||||
},
|
||||
changeRadio(row) {},
|
||||
changeCheckbox(selection) {
|
||||
let images = [];
|
||||
selection.forEach(function (item) {
|
||||
@ -308,7 +302,7 @@ export default {
|
||||
});
|
||||
this.images = images;
|
||||
this.diyVal = selection;
|
||||
this.$emit('getProductDiy', selection);
|
||||
this.$emit('getProductId', selection);
|
||||
},
|
||||
// 商品分类;
|
||||
goodsCategory() {
|
||||
@ -320,8 +314,7 @@ export default {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
pageChange(index) {
|
||||
this.formValidate.page = index;
|
||||
pageChange() {
|
||||
if (this.diy) {
|
||||
this.productList();
|
||||
} else {
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
<template>
|
||||
<div class="iconBox">
|
||||
<Input
|
||||
<el-input
|
||||
v-model="iconVal"
|
||||
placeholder="输入关键词搜索,注意全是英文"
|
||||
clearable
|
||||
style="width: 300px"
|
||||
@on-change="upIcon(iconVal)"
|
||||
@change="upIcon(iconVal)"
|
||||
ref="search"
|
||||
/>
|
||||
<div class="trees-coadd">
|
||||
|
||||
@ -18,8 +18,8 @@
|
||||
<div v-if="!isUser">暂无标签</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<Button type="primary" class="btns" @click="subBtn">确定</Button>
|
||||
<Button type="primary" class="btns" ghost @click="cancel">取消</Button>
|
||||
<el-button type="primary" class="btns" @click="subBtn">确定</el-button>
|
||||
<el-button type="primary" class="btns" ghost @click="cancel">取消</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -149,20 +149,24 @@
|
||||
currenType == 'integral'
|
||||
"
|
||||
>
|
||||
<Form ref="formValidate" :model="formValidate" class="tabform" v-if="currenType == 'product'">
|
||||
<Row type="flex" :gutter="24">
|
||||
<Col>
|
||||
<FormItem label="" label-for="pid">
|
||||
<Select v-model="formValidate.cate_id" style="width: 230px" clearable @on-change="userSearchs">
|
||||
<Option v-for="item in treeSelect" :value="item.id" :key="item.id"
|
||||
>{{ item.html + item.cate_name }}
|
||||
</Option>
|
||||
</Select>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col>
|
||||
<FormItem label="" label-for="store_name">
|
||||
<Input
|
||||
<el-form ref="formValidate" :model="formValidate" class="tabform" v-if="currenType == 'product'">
|
||||
<el-row :gutter="24">
|
||||
<el-col>
|
||||
<el-form-item label="" label-for="pid">
|
||||
<el-select v-model="formValidate.cate_id" style="width: 230px" clearable @change="userSearchs">
|
||||
<el-option
|
||||
v-for="item in treeSelect"
|
||||
:value="item.id"
|
||||
:key="item.id"
|
||||
:label="item.html + item.cate_name"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col>
|
||||
<el-form-item label="" label-for="store_name">
|
||||
<el-input
|
||||
search
|
||||
enter-button
|
||||
placeholder="请输入商品名称,关键字,编号"
|
||||
@ -170,31 +174,16 @@
|
||||
style="width: 250px"
|
||||
@on-search="userSearchs"
|
||||
/>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Row>
|
||||
</Form>
|
||||
<Table
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-table
|
||||
row-key="id"
|
||||
ref="table"
|
||||
no-data-text="暂无数据"
|
||||
no-filtered-data-text="暂无筛选结果"
|
||||
:columns="
|
||||
currenType == 'special'
|
||||
? columns
|
||||
: currenType == 'product_category'
|
||||
? columns7
|
||||
: currenType == 'bargain' ||
|
||||
currenType == 'combination' ||
|
||||
currenType == 'advance' ||
|
||||
currenType == 'integral'
|
||||
? bargain
|
||||
: currenType == 'news'
|
||||
? news
|
||||
: columns8
|
||||
"
|
||||
empty-text="暂无数据"
|
||||
:data="tableList"
|
||||
:loading="loading"
|
||||
v-loading="loading"
|
||||
:max-height="
|
||||
currenType == 'product_category'
|
||||
? '410'
|
||||
@ -209,28 +198,53 @@
|
||||
: ''
|
||||
"
|
||||
>
|
||||
<template slot-scope="{ row, index }" slot="pic" v-if="row.hasOwnProperty('pic')">
|
||||
<viewer>
|
||||
<div class="tabBox_img">
|
||||
<img v-lazy="row.pic" />
|
||||
</div>
|
||||
</viewer>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="image" v-if="row.hasOwnProperty('image')">
|
||||
<viewer>
|
||||
<div class="tabBox_img">
|
||||
<img v-lazy="row.image" />
|
||||
</div>
|
||||
</viewer>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="image_input" v-if="row.hasOwnProperty('image_input')">
|
||||
<viewer>
|
||||
<div class="tabBox_img">
|
||||
<img v-lazy="row.image_input[0]" />
|
||||
</div>
|
||||
</viewer>
|
||||
</template>
|
||||
</Table>
|
||||
<el-table-column
|
||||
:label="item.title"
|
||||
:min-width="item.minWidth"
|
||||
v-for="(item, index) in currenType == 'special'
|
||||
? columns
|
||||
: currenType == 'product_category'
|
||||
? columns7
|
||||
: currenType == 'bargain' ||
|
||||
currenType == 'combination' ||
|
||||
currenType == 'advance' ||
|
||||
currenType == 'integral'
|
||||
? bargain
|
||||
: currenType == 'news'
|
||||
? news
|
||||
: columns8"
|
||||
:key="index"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<template v-if="item.key">
|
||||
<div>
|
||||
<span>{{ scope.row[item.key] }}</span>
|
||||
</div>
|
||||
</template>
|
||||
<template v-else-if="item.slot === 'pic' && scope.row.hasOwnProperty('pic')">
|
||||
<viewer>
|
||||
<div class="tabBox_img">
|
||||
<img v-lazy="scope.row.pic" />
|
||||
</div>
|
||||
</viewer>
|
||||
</template>
|
||||
<template v-else-if="item.slot === 'image' && scope.row.hasOwnProperty('image')">
|
||||
<viewer>
|
||||
<div class="tabBox_img">
|
||||
<img v-lazy="scope.row.image" />
|
||||
</div>
|
||||
</viewer>
|
||||
</template>
|
||||
<template v-else-if="item.slot === 'image_input' && scope.row.hasOwnProperty('image_input')">
|
||||
<viewer>
|
||||
<div class="tabBox_img">
|
||||
<img v-lazy="scope.row.image_input[0]" />
|
||||
</div>
|
||||
</viewer>
|
||||
</template>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div
|
||||
class="acea-row row-right page"
|
||||
v-if="
|
||||
@ -243,25 +257,31 @@
|
||||
currenType == 'integral'
|
||||
"
|
||||
>
|
||||
<Page :total="total" show-elevator show-total @on-change="pageChange" :page-size="formValidate.limit" />
|
||||
<pagination
|
||||
v-if="total"
|
||||
:total="total"
|
||||
:page.sync="formValidate.page"
|
||||
:limit.sync="formValidate.limit"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right_box" v-if="currenType == 'custom'">
|
||||
<!--<div v-if="!tableList.length || customNum==2">-->
|
||||
<!--<Button type="primary" @click="customList" v-if="tableList.length">自定义列表</Button>-->
|
||||
<!--<el-button type="primary" @click="customList" v-if="tableList.length">自定义列表</el-button>-->
|
||||
<div style="width: 340px; margin: 150px 100px 0 120px">
|
||||
<Form ref="customdate" :model="customdate" :rules="ruleValidate" :label-width="88">
|
||||
<!--<FormItem label="链接名称:" prop="name">-->
|
||||
<!--<Input v-model="customdate.name" placeholder="会员中心"></Input>-->
|
||||
<!--</FormItem>-->
|
||||
<FormItem label="跳转路径:" prop="url">
|
||||
<Input v-model="customdate.url" placeholder="请输入跳转路径"></Input>
|
||||
</FormItem>
|
||||
</Form>
|
||||
<el-form ref="customdate" :model="customdate" :rules="ruleValidate" :label-width="88">
|
||||
<!--<el-form-item label="链接名称:" prop="name">-->
|
||||
<!--<el-input v-model="customdate.name" placeholder="会员中心"></el-input>-->
|
||||
<!--</el-form-item>-->
|
||||
<el-form-item label="跳转路径:" prop="url">
|
||||
<el-input v-model="customdate.url" placeholder="请输入跳转路径"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<!--</div>-->
|
||||
<!--<div v-else>-->
|
||||
<!--<Button type="primary" @click="customLink">自定义链接</Button>-->
|
||||
<!--<el-button type="primary" @click="customLink">自定义链接</el-button>-->
|
||||
<!--<div class="Box">-->
|
||||
<!--<div v-for="(item,index) in tableList" :key="index" class="item">-->
|
||||
<!--<div class="cont_box" :class="currenId==item.id?'on':''" @click="getUrl(item)">{{item.name}}</div>-->
|
||||
@ -272,13 +292,13 @@
|
||||
</div>
|
||||
</div>
|
||||
<!--<div slot="footer" v-if="categoryId==9&&customNum==2">-->
|
||||
<!--<Button @click="handleReset('customdate')">重置</Button>-->
|
||||
<!--<Button type="primary" @click="handleSubmit('customdate')">确定</Button>-->
|
||||
<!--<el-button @click="handleReset('customdate')">重置</el-button>-->
|
||||
<!--<el-button type="primary" @click="handleSubmit('customdate')">确定</el-button>-->
|
||||
<!--</div>-->
|
||||
<div slot="footer">
|
||||
<Button @click="cancel">取消</Button>
|
||||
<Button type="primary" @click="handleSubmit('customdate')" v-if="currenType == 'custom'">确定</Button>
|
||||
<Button type="primary" @click="ok" v-else>确定</Button>
|
||||
<el-button @click="cancel">取消</el-button>
|
||||
<el-button type="primary" @click="handleSubmit('customdate')" v-if="currenType == 'custom'">确定</el-button>
|
||||
<el-button type="primary" @click="ok" v-else>确定</el-button>
|
||||
</div>
|
||||
</Modal>
|
||||
</div>
|
||||
@ -430,7 +450,7 @@ export default {
|
||||
}
|
||||
let self = this;
|
||||
return h('div', [
|
||||
h('Radio', {
|
||||
h('el-radio', {
|
||||
props: {
|
||||
value: flag,
|
||||
},
|
||||
@ -513,10 +533,6 @@ export default {
|
||||
handleReset(name) {
|
||||
this.$refs[name].resetFields();
|
||||
},
|
||||
pageChange(index) {
|
||||
this.formValidate.page = index;
|
||||
this.getList();
|
||||
},
|
||||
// 商品分类;
|
||||
goodsCategory() {
|
||||
treeListApi(1)
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="mobile-config">
|
||||
<Form ref="formInline">
|
||||
<el-form ref="formInline">
|
||||
<div v-for="(item, key) in rCom" :key="key">
|
||||
<component
|
||||
:is="item.components.name"
|
||||
@ -14,7 +14,7 @@
|
||||
></component>
|
||||
</div>
|
||||
<rightBtn :activeIndex="activeIndex" :configObj="configObj"></rightBtn>
|
||||
</Form>
|
||||
</el-form>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="mobile-config">
|
||||
<Form ref="formInline">
|
||||
<el-form ref="formInline">
|
||||
<div v-for="(item, key) in rCom" :key="key">
|
||||
<component
|
||||
:is="item.components.name"
|
||||
@ -14,7 +14,7 @@
|
||||
></component>
|
||||
</div>
|
||||
<rightBtn :activeIndex="activeIndex" :configObj="configObj"></rightBtn>
|
||||
</Form>
|
||||
</el-form>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="mobile-config">
|
||||
<Form ref="formInline">
|
||||
<el-form ref="formInline">
|
||||
<div v-for="(item, key) in rCom" :key="key">
|
||||
<component
|
||||
:is="item.components.name"
|
||||
@ -13,7 +13,7 @@
|
||||
></component>
|
||||
</div>
|
||||
<rightBtn :activeIndex="activeIndex" :configObj="configObj"></rightBtn>
|
||||
</Form>
|
||||
</el-form>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="mobile-config">
|
||||
<Form ref="formInline">
|
||||
<el-form ref="formInline">
|
||||
<div v-for="(item, key) in rCom" :key="key">
|
||||
<component
|
||||
:is="item.components.name"
|
||||
@ -9,7 +9,7 @@
|
||||
:configNme="item.configNme"
|
||||
></component>
|
||||
</div>
|
||||
</Form>
|
||||
</el-form>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@ -1,37 +1,37 @@
|
||||
<template>
|
||||
<div class="box">
|
||||
<div class="c_row-item" v-if="this.$route.query.type !== 2">
|
||||
<Col class="label" span="4"> 模板名称 </Col>
|
||||
<Col span="19" class="slider-box">
|
||||
<Input v-model="name" placeholder="选填不超过15个字" maxlength="15" @on-change="changName" />
|
||||
</Col>
|
||||
<el-col class="label" :span="4"> 模板名称 </el-col>
|
||||
<el-col span="19" class="slider-box">
|
||||
<el-input v-model="name" placeholder="选填不超过15个字" maxlength="15" @change="changName" />
|
||||
</el-col>
|
||||
</div>
|
||||
<div class="c_row-item">
|
||||
<Col class="label" span="4"> 页面标题 </Col>
|
||||
<Col span="19" class="slider-box">
|
||||
<Input v-model="value" placeholder="选填不超过30个字" maxlength="30" @on-change="changVal" />
|
||||
</Col>
|
||||
<el-col class="label" :span="4"> 页面标题 </el-col>
|
||||
<el-col span="19" class="slider-box">
|
||||
<el-input v-model="value" placeholder="选填不超过30个字" maxlength="30" @change="changVal" />
|
||||
</el-col>
|
||||
</div>
|
||||
<div class="c_row-item">
|
||||
<Col class="label" span="4"> 页面状态 </Col>
|
||||
<Col span="19" class="slider-box">
|
||||
<i-switch v-model="isShow" @on-change="changeState" />
|
||||
</Col>
|
||||
<el-col class="label" :span="4"> 页面状态 </el-col>
|
||||
<el-col span="19" class="slider-box">
|
||||
<el-switch :active-value="1" :inactive-value="0" v-model="isShow" @change="changeState" />
|
||||
</el-col>
|
||||
</div>
|
||||
<div class="c_row-item acea-row row-top">
|
||||
<Col class="label" span="4"> 背景设置 </Col>
|
||||
<Col span="19" class="slider-box">
|
||||
<el-col class="label" :span="4"> 背景设置 </el-col>
|
||||
<el-col span="19" class="slider-box">
|
||||
<div class="acea-row row-between row-top color">
|
||||
<Checkbox v-model="bgColor" @on-change="bgColorTap">背景色</Checkbox>
|
||||
<ColorPicker v-model="colorPicker" @on-change="colorPickerTap(colorPicker)" />
|
||||
<el-checkbox v-model="bgColor" @change="bgColorTap">背景色</el-checkbox>
|
||||
<ColorPicker v-model="colorPicker" @change="colorPickerTap(colorPicker)" />
|
||||
</div>
|
||||
<div class="acea-row row-between row-top color">
|
||||
<Checkbox v-model="bgPic" @on-change="bgPicTap">背景图</Checkbox>
|
||||
<RadioGroup v-model="tabVal" type="button" @on-change="radioTap">
|
||||
<Radio :label="index" v-for="(item, index) in picList" :key="index">
|
||||
<el-checkbox v-model="bgPic" @change="bgPicTap">背景图</el-checkbox>
|
||||
<el-radio-group v-model="tabVal" type="button" @change="radioTap">
|
||||
<el-radio-button :label="index" v-for="(item, index) in picList" :key="index">
|
||||
<span class="iconfont-diy" :class="item"></span>
|
||||
</Radio>
|
||||
</RadioGroup>
|
||||
</el-radio-button>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
<div v-if="bgPic">
|
||||
<div class="title">建议尺寸:690 * 240px</div>
|
||||
@ -44,7 +44,7 @@
|
||||
<!--<span class="iconfont-diy icondel_1" @click.stop="bindDelete" v-if="bgPicUrl"></span>-->
|
||||
</div>
|
||||
</div>
|
||||
</Col>
|
||||
</el-col>
|
||||
</div>
|
||||
<div>
|
||||
<Modal
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="c_row-item" v-if="configData">
|
||||
<Col span="8" class="c_label">{{ configData.title }}</Col>
|
||||
<Col span="14" class="color-box">
|
||||
<el-col :span="8" class="c_label">{{ configData.title }}</el-col>
|
||||
<el-col span="14" class="color-box">
|
||||
<div class="color-item" v-for="(color, key) in configData.color" :key="key">
|
||||
<ColorPicker v-model="color.item" @on-change="changeColor($event, color)" alpha></ColorPicker
|
||||
<ColorPicker v-model="color.item" @change="changeColor($event, color)" alpha></ColorPicker
|
||||
><span @click="resetBgA(color, index, key)">重置</span>
|
||||
</div>
|
||||
</Col>
|
||||
</el-col>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -1,19 +1,19 @@
|
||||
<template>
|
||||
<div class="slider-box">
|
||||
<div class="c_row-item">
|
||||
<Col class="label" span="4" v-if="configData.title">
|
||||
<el-col class="label" :span="4" v-if="configData.title">
|
||||
{{ configData.title }}
|
||||
</Col>
|
||||
<Col span="19" class="slider-box">
|
||||
</el-col>
|
||||
<el-col span="19" class="slider-box">
|
||||
<Cascader
|
||||
:data="configData.list"
|
||||
placeholder="请选择商品分类"
|
||||
change-on-select
|
||||
v-model="configData.activeValue"
|
||||
filterable
|
||||
@on-change="sliderChange"
|
||||
@change="sliderChange"
|
||||
></Cascader>
|
||||
</Col>
|
||||
</el-col>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -18,18 +18,18 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="c_row-item">
|
||||
<Col class="label" span="4"> 名称 </Col>
|
||||
<Col span="19" class="slider-box">
|
||||
<Input v-model="item.name" placeholder="选填不超过10个字" />
|
||||
</Col>
|
||||
<el-col class="label" :span="4"> 名称 </el-col>
|
||||
<el-col span="19" class="slider-box">
|
||||
<el-input v-model="item.name" placeholder="选填不超过10个字" />
|
||||
</el-col>
|
||||
</div>
|
||||
<div class="c_row-item">
|
||||
<Col class="label" span="4"> 链接 </Col>
|
||||
<Col span="19" class="slider-box">
|
||||
<el-col class="label" :span="4"> 链接 </el-col>
|
||||
<el-col span="19" class="slider-box">
|
||||
<div @click="getLink(index)">
|
||||
<Input icon="ios-arrow-forward" v-model="item.link" readonly placeholder="选填不超过10个字" />
|
||||
<el-input icon="ios-arrow-forward" v-model="item.link" readonly placeholder="选填不超过10个字" />
|
||||
</div>
|
||||
</Col>
|
||||
</el-col>
|
||||
</div>
|
||||
</div>
|
||||
<div class="del-box" @click="deleteMenu(index)">
|
||||
@ -37,7 +37,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</draggable>
|
||||
<Button class="add-btn" type="info" ghost @click="addMenu" v-if="footConfig.length < 5">添加图文导航</Button>
|
||||
<el-button class="add-btn" type="info" ghost @click="addMenu" v-if="footConfig.length < 5">添加图文导航</el-button>
|
||||
<div>
|
||||
<Modal
|
||||
v-model="modalPic"
|
||||
|
||||
@ -35,7 +35,7 @@
|
||||
<div class="info-item" v-for="(infos, key) in item.info" :key="key">
|
||||
<span>{{ infos.title }}</span>
|
||||
<div class="input-box">
|
||||
<Input v-model="infos.value" :placeholder="infos.tips" :maxlength="infos.max" />
|
||||
<el-input v-model="infos.value" :placeholder="infos.tips" :maxlength="infos.max" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -43,7 +43,7 @@
|
||||
</draggable>
|
||||
</div>
|
||||
<div class="add-btn" v-if="defaults.menu.length < 4">
|
||||
<Button style="width: 100%; height: 40px" @click="addBox">添加板块</Button>
|
||||
<el-button style="width: 100%; height: 40px" @click="addBox">添加板块</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -10,15 +10,15 @@
|
||||
<div class="icon">
|
||||
<Icon type="ios-keypad" size="20" />
|
||||
</div>
|
||||
<Input v-model="item.val" maxlength="10" placeholder="选填,不超过十个字" />
|
||||
<el-input v-model="item.val" maxlength="10" placeholder="选填,不超过十个字" />
|
||||
<div class="delete" @click.stop="bindDelete(index)">
|
||||
<Icon type="ios-close-circle" size="20" />
|
||||
</div>
|
||||
</div>
|
||||
</draggable>
|
||||
<div class="add-btn" @click="addHotTxt" v-if="configData.list.length < 20">
|
||||
<Button type="primary" ghost style="width: 100%; height: 40px; border-color: #1890ff; color: #1890ff"
|
||||
>添加热词</Button
|
||||
<el-button type="primary" ghost style="width: 100%; height: 40px; border-color: #1890ff; color: #1890ff"
|
||||
>添加热词</el-button
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
<template>
|
||||
<div class="box" v-if="configData">
|
||||
<div class="c_row-item">
|
||||
<Col class="label" span="4">
|
||||
<el-col class="label" :span="4">
|
||||
{{ configData.title }}
|
||||
</Col>
|
||||
<Col span="19" class="slider-box">
|
||||
</el-col>
|
||||
<el-col span="19" class="slider-box">
|
||||
<div @click="getLink(configData.title)">
|
||||
<Input
|
||||
<el-input
|
||||
:icon="configData.title == '链接' ? 'ios-arrow-forward' : ''"
|
||||
:readonly="configData.title == '链接' ? true : false"
|
||||
v-model="configData.value"
|
||||
@ -14,7 +14,7 @@
|
||||
:maxlength="configData.max"
|
||||
/>
|
||||
</div>
|
||||
</Col>
|
||||
</el-col>
|
||||
</div>
|
||||
<linkaddress ref="linkaddres" @linkUrl="linkUrl"></linkaddress>
|
||||
</div>
|
||||
|
||||
@ -1,21 +1,21 @@
|
||||
<template>
|
||||
<div class="numbox" v-if="configData">
|
||||
<div class="c_row-item">
|
||||
<Col class="label" span="4">
|
||||
<el-col class="label" :span="4">
|
||||
<span>{{ configData.title || '商品数量' }}</span>
|
||||
</Col>
|
||||
<Col span="19" class="slider-box">
|
||||
<!--<Input v-model="configData.val" type="number" placeholder="请输入数量" @on-change="bindChange" style="text-align: right;"/>-->
|
||||
<InputNumber
|
||||
</el-col>
|
||||
<el-col span="19" class="slider-box">
|
||||
<!--<el-input v-model="configData.val" type="number" placeholder="请输入数量" @change="bindChange" style="text-align: right;"/>-->
|
||||
<el-input-number controls-position="right"
|
||||
v-model="configData.val"
|
||||
placeholder="请输入数量"
|
||||
:step="1"
|
||||
:max="100"
|
||||
:min="1"
|
||||
@on-change="bindChange"
|
||||
@change="bindChange"
|
||||
style="text-align: right"
|
||||
></InputNumber>
|
||||
</Col>
|
||||
></el-input-number>
|
||||
</el-col>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
<template>
|
||||
<div class="c_row-item">
|
||||
<Col class="c_label">{{ configData.title }}</Col>
|
||||
<Col>
|
||||
<i-switch v-model="configData.val" />
|
||||
</Col>
|
||||
<el-col class="c_label">{{ configData.title }}</el-col>
|
||||
<el-col>
|
||||
<el-switch :active-value="1" :inactive-value="0" v-model="configData.val" />
|
||||
</el-col>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@ -20,16 +20,16 @@
|
||||
<div class="info-item" v-for="(infos, key) in item.info" :key="key">
|
||||
<span>{{ infos.title }}</span>
|
||||
<div class="input-box" @click="getLink(index, key, item.info)">
|
||||
<Input
|
||||
<el-input
|
||||
:icon="key == item.info.length - 1 ? 'ios-arrow-forward' : ''"
|
||||
v-model="infos.value"
|
||||
:readonly="key == item.info.length - 1 ? true : false"
|
||||
:placeholder="infos.tips"
|
||||
:maxlength="infos.max"
|
||||
v-if="configData.isCube"
|
||||
@on-blur="onBlur"
|
||||
@blur="onBlur"
|
||||
/>
|
||||
<Input
|
||||
<el-input
|
||||
:icon="key == item.info.length - 1 ? 'ios-arrow-forward' : ''"
|
||||
v-model="infos.value"
|
||||
:readonly="key == item.info.length - 1 ? true : false"
|
||||
@ -65,12 +65,12 @@
|
||||
</div>
|
||||
<template v-if="configData.list">
|
||||
<div class="add-btn" v-if="configData.list.length < configData.maxList">
|
||||
<Button
|
||||
<el-button
|
||||
type="primary"
|
||||
ghost
|
||||
style="width: 100%; height: 40px; border-color: #1890ff; color: #1890ff"
|
||||
@click="addBox"
|
||||
>添加板块</Button
|
||||
>添加板块</el-button
|
||||
>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="mobile-page">
|
||||
<div v-if="isUpdate">
|
||||
<Divider />
|
||||
<el-divider direction="vertical" />
|
||||
<div class="title">布局</div>
|
||||
<div class="tip">选定布局区域,在下方添加图片,建议添加比例一致的图片</div>
|
||||
<div class="advert">
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
<div class="con-item" v-for="(list, key) in item.chiild" :key="key">
|
||||
<span>{{ list.title }}</span>
|
||||
<div style="width: 100%" @click="getLink(index, key, item)">
|
||||
<Input
|
||||
<el-input
|
||||
:icon="key && !item.link ? 'ios-arrow-forward' : ''"
|
||||
:readonly="key && !item.link ? true : false"
|
||||
v-model="list.val"
|
||||
@ -28,9 +28,9 @@
|
||||
</div>
|
||||
<div class="con-item" v-if="item.link">
|
||||
<span>{{ item.link.title }}</span>
|
||||
<Select v-model="item.link.activeVal" style="" @on-change="sliderChange(index)">
|
||||
<Option v-for="(item, j) in item.link.optiops" :value="item.value" :key="j">{{ item.label }} </Option>
|
||||
</Select>
|
||||
<el-select v-model="item.link.activeVal" style="" @change="sliderChange(index)">
|
||||
<el-option v-for="(item, j) in item.link.optiops" :value="item.value" :key="j" :label="item.label"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="delete" @click.stop="bindDelete(index)">
|
||||
@ -41,8 +41,8 @@
|
||||
</div>
|
||||
<div v-if="configData.list">
|
||||
<div class="add-btn" @click="addHotTxt" v-if="configData.list.length < configData.max">
|
||||
<Button type="primary" ghost style="width: 100%; height: 40px; border-color: #1890ff; color: #1890ff"
|
||||
>添加模块</Button
|
||||
<el-button type="primary" ghost style="width: 100%; height: 40px; border-color: #1890ff; color: #1890ff"
|
||||
>添加模块</el-button
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1,16 +1,14 @@
|
||||
<template>
|
||||
<div class="slider-box">
|
||||
<div class="c_row-item">
|
||||
<Col class="label" span="4" v-if="configData.title">
|
||||
<el-col class="label" :span="4" v-if="configData.title">
|
||||
{{ configData.title }}
|
||||
</Col>
|
||||
<Col span="19" class="slider-box">
|
||||
<Select v-model="configData.activeValue" @on-change="sliderChange">
|
||||
<Option v-for="(item, index) in configData.list" :value="item.activeValue" :key="index">{{
|
||||
item.title
|
||||
}}</Option>
|
||||
</Select>
|
||||
</Col>
|
||||
</el-col>
|
||||
<el-col span="19" class="slider-box">
|
||||
<el-select v-model="configData.activeValue" @change="sliderChange">
|
||||
<el-option v-for="(item, index) in configData.list" :value="item.activeValue" :key="index" :label="item.title"></el-option>
|
||||
</el-select>
|
||||
</el-col>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
<template>
|
||||
<div class="setUp">
|
||||
<template>
|
||||
<Tabs v-model="configData.tabVal">
|
||||
<TabPane label="内容设置" />
|
||||
<TabPane label="样式设置" />
|
||||
</Tabs>
|
||||
<el-tabs v-model="configData.tabVal">
|
||||
<el-tab-pane label="内容设置" />
|
||||
<el-tab-pane label="样式设置" />
|
||||
</el-tabs>
|
||||
</template>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
<template>
|
||||
<div class="slider-box">
|
||||
<div class="c_row-item">
|
||||
<Col class="label" span="4" v-if="configData.title">
|
||||
<el-col class="label" :span="4" v-if="configData.title">
|
||||
{{ configData.title }}
|
||||
</Col>
|
||||
<Col span="18" class="slider-box">
|
||||
<Slider v-model="configData.val" show-input @on-change="sliderChange($event)" :min="configData.min"></Slider>
|
||||
</Col>
|
||||
</el-col>
|
||||
<el-col span="18" class="slider-box">
|
||||
<Slider v-model="configData.val" show-input @change="sliderChange($event)" :min="configData.min"></Slider>
|
||||
</el-col>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="c_row-item" v-if="configData">
|
||||
<Col span="8" class="c_label">{{ configData.title }}</Col>
|
||||
<Col span="14" class="color-box">
|
||||
<i-switch :true-value="true" :false-value="false" v-model="configData.status" @on-change="change" />
|
||||
</Col>
|
||||
<el-col :span="8" class="c_label">{{ configData.title }}</el-col>
|
||||
<el-col span="14" class="color-box">
|
||||
<el-switch :active-value="true" :inactive-value="false" v-model="configData.status" @change="change" />
|
||||
</el-col>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -5,12 +5,12 @@
|
||||
>{{ configData.tabList[configData.tabVal].name }}
|
||||
</div>
|
||||
<div class="radio-box" :class="{ on: configData.type == 1 }">
|
||||
<RadioGroup v-model="configData.tabVal" type="button" size="large" @on-change="radioChange($event)">
|
||||
<Radio :label="index" v-for="(item, index) in configData.tabList" :key="index">
|
||||
<el-radio-group v-model="configData.tabVal" type="button" size="large" @change="radioChange($event)">
|
||||
<el-radio-button :label="index" v-for="(item, index) in configData.tabList" :key="index">
|
||||
<span class="iconfont-diy" :class="item.icon" v-if="item.icon"></span>
|
||||
<span v-else>{{ item.name }}</span>
|
||||
</Radio>
|
||||
</RadioGroup>
|
||||
</el-radio-button>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -1,18 +1,18 @@
|
||||
<template>
|
||||
<div class="txt_tab" v-if="configData">
|
||||
<div class="c_row-item">
|
||||
<Col class="c_label">
|
||||
<el-col class="c_label">
|
||||
{{ configData.title }}
|
||||
<span>{{ configData.list[configData.type].val }}</span>
|
||||
</Col>
|
||||
<Col class="color-box">
|
||||
<RadioGroup v-model="configData.type" type="button" @on-change="radioChange($event)">
|
||||
<Radio :label="key" v-for="(radio, key) in configData.list" :key="key">
|
||||
</el-col>
|
||||
<el-col class="color-box">
|
||||
<el-radio-group v-model="configData.type" type="button" @change="radioChange($event)">
|
||||
<el-radio-button :label="key" v-for="(radio, key) in configData.list" :key="key">
|
||||
<span class="iconfont-diy" :class="radio.icon" v-if="radio.icon"></span>
|
||||
<span v-else>{{ radio.val }}</span>
|
||||
</Radio>
|
||||
</RadioGroup>
|
||||
</Col>
|
||||
</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-col>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -9,8 +9,8 @@
|
||||
<p v-if="delfromData.info !== undefined">{{ `${delfromData.info}` }}</p>
|
||||
</div>
|
||||
<div slot="footer" class="acea-row row-right">
|
||||
<Button type="warning" :loading="modal_loading" @click="ok">确定</Button>
|
||||
<Button type="primary" @click="cancel">取消</Button>
|
||||
<el-button type="warning" :loading="modal_loading" @click="ok">确定</el-button>
|
||||
<el-button type="primary" @click="cancel">取消</el-button>
|
||||
</div>
|
||||
</Modal>
|
||||
</template>
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
<template>
|
||||
<div :style="{ height: scrollerHeight + 'px' || '' }">
|
||||
<Card :bordered="false" dis-hover class="ivu-mt">
|
||||
<Form ref="formValidate" :model="formValidate" :label-width="80" label-position="left" class="tabform">
|
||||
<Row :gutter="24" type="flex" justify="end">
|
||||
<Col span="24">
|
||||
<Col v-bind="grid" class="mr">
|
||||
<FormItem label="图文搜索:" prop="cate_name" label-for="cate_name">
|
||||
<Input
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt">
|
||||
<el-form ref="formValidate" :model="formValidate" label-width="85px" label-position="left" class="tabform">
|
||||
<el-row :gutter="24" justify="end">
|
||||
<el-col :span="24">
|
||||
<el-col v-bind="grid" class="mr">
|
||||
<el-form-item label="图文搜索:" prop="cate_name" label-for="cate_name">
|
||||
<el-input
|
||||
search
|
||||
enter-button
|
||||
placeholder="请输入"
|
||||
@ -14,17 +14,17 @@
|
||||
v-model="formValidate.cate_name"
|
||||
@on-search="userSearchs"
|
||||
/>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Col>
|
||||
</Row>
|
||||
<Row type="flex" v-show="$route.path === routePre + '/app/wechat/news_category/index'">
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row v-show="$route.path === routePre + '/app/wechat/news_category/index'">
|
||||
<router-link :to="routePre + '/app/wechat/news_category/save/0'">
|
||||
<Button type="primary" class="bnt" icon="md-add">添加图文消息</Button>
|
||||
<el-button type="primary" class="bnt" icon="md-add">添加图文消息</el-button>
|
||||
</router-link>
|
||||
</Row>
|
||||
</Form>
|
||||
</Card>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-card>
|
||||
<div class="contentBox">
|
||||
<div id="content" :style="{ top: contentTop + 'px' || '', width: contentWidth }" ref="content">
|
||||
<vue-waterfall-easy
|
||||
@ -48,28 +48,28 @@
|
||||
@mouseenter="mouseenterOut(j)"
|
||||
@mouseleave="mouseenterOver(j)"
|
||||
>
|
||||
<Button
|
||||
<el-button
|
||||
type="success"
|
||||
shape="circle"
|
||||
icon="md-create"
|
||||
v-show="props.value.new[i].isDel && isShow"
|
||||
@click="clkk(props.value)"
|
||||
></Button>
|
||||
<Button
|
||||
></el-button>
|
||||
<el-button
|
||||
type="error"
|
||||
shape="circle"
|
||||
icon="md-trash"
|
||||
v-show="props.value.new[i].isDel && isShow"
|
||||
@click="del(props.value, '删除图文', i)"
|
||||
style="margin-top: 5px"
|
||||
></Button>
|
||||
<Button
|
||||
></el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="md-paper-plane"
|
||||
v-show="props.value.new[i].isDel && isShowSend"
|
||||
shape="circle"
|
||||
@click="send(props.value, '发送', i)"
|
||||
>推送</Button
|
||||
>推送</el-button
|
||||
>
|
||||
</div>
|
||||
<span class="news_sp">{{ j.title }}</span>
|
||||
|
||||
@ -1,18 +1,18 @@
|
||||
<template>
|
||||
<div>
|
||||
<Form ref="orderData" :label-width="80" label-position="right" class="tabform">
|
||||
<Row :gutter="24" type="flex" v-for="(item, index) in fromList" :key="index">
|
||||
<Col :xl="8" :lg="8" :md="8" :sm="24" :xs="24">
|
||||
<FormItem :label="item.title + ':'">
|
||||
<RadioGroup type="button" v-model="date">
|
||||
<Radio :label="itemn.text" v-for="(itemn, indexn) in item.fromTxt" :key="indexn"
|
||||
>{{ itemn.text }}{{ item.num }}</Radio
|
||||
<el-form ref="orderData" label-width="85px" label-position="right" class="tabform">
|
||||
<el-row :gutter="24" v-for="(item, index) in fromList" :key="index">
|
||||
<el-col :xl="8" :lg="8" :md="8" :sm="24" :xs="24">
|
||||
<el-form-item :label="item.title + ':'">
|
||||
<el-radio-group type="button" v-model="date">
|
||||
<el-radio-button :label="itemn.text" v-for="(itemn, indexn) in item.fromTxt" :key="indexn"
|
||||
>{{ itemn.text }}{{ item.num }}</el-radio-button
|
||||
>
|
||||
</RadioGroup>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col v-if="item.custom">
|
||||
<FormItem class="tab_data">
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-if="item.custom">
|
||||
<el-form-item class="tab_data">
|
||||
<DatePicker
|
||||
:editable="false"
|
||||
format="yyyy/MM/dd"
|
||||
@ -21,32 +21,32 @@
|
||||
placeholder="请选择时间"
|
||||
style="width: 200px"
|
||||
></DatePicker>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Row>
|
||||
<Row :gutter="24" type="flex" v-if="isExist.existOne">
|
||||
<Col span="10" class="mr">
|
||||
<FormItem :label="searchFrom.title + ':'" prop="real_name" label-for="real_name">
|
||||
<Input search enter-button :placeholder="searchFrom.place" element-id="name" />
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col>
|
||||
<Button class="mr">导出</Button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24" v-if="isExist.existOne">
|
||||
<el-col span="10" class="mr">
|
||||
<el-form-item :label="searchFrom.title + ':'" prop="real_name" label-for="real_name">
|
||||
<el-input search enter-button :placeholder="searchFrom.place" element-id="name" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col>
|
||||
<el-button class="mr">导出</el-button>
|
||||
<span class="Refresh">刷新</span><Icon type="ios-refresh" />
|
||||
</Col>
|
||||
</Row>
|
||||
<Row :gutter="24" type="flex" class="withdrawal" v-if="isExist.existTwo">
|
||||
<Col span="2.5" class="item">
|
||||
<TreeSelect v-model="withdrawalTxt" :data="treeData.withdrawal" class="perW160" @on-change="changeTree" />
|
||||
</Col>
|
||||
<Col span="2.5" class="item">
|
||||
<TreeSelect v-model="paymentTxt" :data="treeData.payment" class="perW160" @on-change="changeTree" />
|
||||
</Col>
|
||||
<Col span="6" class="item">
|
||||
<Input search enter-button placeholder="微信名称、姓名、支付宝账号、银行卡号" element-id="name" />
|
||||
</Col>
|
||||
</Row>
|
||||
</Form>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24" class="withdrawal" v-if="isExist.existTwo">
|
||||
<el-col span="2.5" class="item">
|
||||
<TreeSelect v-model="withdrawalTxt" :data="treeData.withdrawal" class="perW160" @change="changeTree" />
|
||||
</el-col>
|
||||
<el-col span="2.5" class="item">
|
||||
<TreeSelect v-model="paymentTxt" :data="treeData.payment" class="perW160" @change="changeTree" />
|
||||
</el-col>
|
||||
<el-col :span="6" class="item">
|
||||
<el-input search enter-button placeholder="微信名称、姓名、支付宝账号、银行卡号" element-id="name" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</div>
|
||||
</template>
|
||||
<style scoped lang="stylus">
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
<template>
|
||||
<Modal v-model="modals" scrollable title="备注" class="order_box" :closable="false">
|
||||
<Form ref="formValidate" :model="formValidate" :rules="ruleValidate" :label-width="80" @submit.native.prevent>
|
||||
<FormItem label="备注:" prop="remark">
|
||||
<Input
|
||||
<el-form ref="formValidate" :model="formValidate" :rules="ruleValidate" label-width="85px" @submit.native.prevent>
|
||||
<el-form-item label="备注:" prop="remark">
|
||||
<el-input
|
||||
v-model="formValidate.remark"
|
||||
:maxlength="200"
|
||||
show-word-limit
|
||||
@ -10,11 +10,11 @@
|
||||
placeholder="请输入备注信息"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</FormItem>
|
||||
</Form>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer">
|
||||
<Button type="primary" @click="putRemark('formValidate')">提交</Button>
|
||||
<Button @click="cancel('formValidate')">取消</Button>
|
||||
<el-button type="primary" @click="putRemark('formValidate')">提交</el-button>
|
||||
<el-button @click="cancel('formValidate')">取消</el-button>
|
||||
</div>
|
||||
</Modal>
|
||||
</template>
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="btn-box" style="display: none">
|
||||
<Button type="primary" @click="handleSubmit('formInline')" style="text-align: center; width: 60%">确定</Button>
|
||||
<el-button type="primary" @click="handleSubmit('formInline')" style="text-align: center; width: 60%">确定</el-button>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
></component>
|
||||
</div>
|
||||
<div style="text-align: center" v-if="rCom.length">
|
||||
<Button type="primary" style="width: 100%; margin: 0 auto; height: 40px" @click="saveConfig">保存</Button>
|
||||
<el-button type="primary" style="width: 100%; margin: 0 auto; height: 40px" @click="saveConfig">保存</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1,61 +1,61 @@
|
||||
<template>
|
||||
<div class="table_box">
|
||||
<Form
|
||||
<el-form
|
||||
ref="DataList"
|
||||
:model="DataList"
|
||||
:rules="rules"
|
||||
:label-width="80"
|
||||
label-width="85px"
|
||||
:label-position="labelPosition"
|
||||
class="tabform"
|
||||
>
|
||||
<Row :gutter="24" type="flex" justify="end">
|
||||
<Col span="24" class="ivu-text-left">
|
||||
<FormItem label="订单状态:">
|
||||
<RadioGroup v-model="DataList.status" type="button" @on-change="selectChange(DataList.status)">
|
||||
<Radio :label="item.label" v-for="(item, i) in typeName" :key="i">{{
|
||||
<el-row :gutter="24" justify="end">
|
||||
<el-col :span="24" class="ivu-text-left">
|
||||
<el-form-item label="订单状态:">
|
||||
<el-radio-group v-model="DataList.status" type="button" @change="selectChange(DataList.status)">
|
||||
<el-radio-button :label="item.label" v-for="(item, i) in typeName" :key="i">{{
|
||||
item.name + '(' + item.num + ')'
|
||||
}}</Radio>
|
||||
</RadioGroup>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col span="24" class="ivu-text-left">
|
||||
<Col v-bind="grid">
|
||||
<FormItem label="创建时间:">
|
||||
<RadioGroup v-model="DataList.data" type="button" @on-change="timeChange(DataList.data)">
|
||||
<Radio label="today">今天</Radio>
|
||||
<Radio label="yesterday">昨天</Radio>
|
||||
<Radio label="lately7">最近7天</Radio>
|
||||
<Radio label="lately30">最近30天</Radio>
|
||||
</RadioGroup>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col v-bind="grid">
|
||||
<FormItem class="tab_data">
|
||||
}}</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="ivu-text-left">
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="创建时间:">
|
||||
<el-radio-group v-model="DataList.data" type="button" @change="timeChange(DataList.data)">
|
||||
<el-radio-button label="today">今天</el-radio-button>
|
||||
<el-radio-button label="yesterday">昨天</el-radio-button>
|
||||
<el-radio-button label="lately7">最近7天</el-radio-button>
|
||||
<el-radio-button label="lately30">最近30天</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item class="tab_data">
|
||||
<DatePicker
|
||||
:editable="false"
|
||||
:value="value2"
|
||||
format="yyyy/MM/dd"
|
||||
type="daterange"
|
||||
placement="bottom-end"
|
||||
placeholder="Select date"
|
||||
placeholder="el-select date"
|
||||
style="width: 200px"
|
||||
></DatePicker>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Col>
|
||||
<Col span="24" class="ivu-text-left" v-if="$route.path === routePro + '/echarts/trade/order'">
|
||||
<FormItem label="订单类型:">
|
||||
<RadioGroup v-model="currentTab" type="button" @on-change="onClickTab(currentTab)">
|
||||
<Radio label="">全部</Radio>
|
||||
<Radio label="1">普通</Radio>
|
||||
<Radio label="2">拼团</Radio>
|
||||
<Radio label="3">砍价</Radio>
|
||||
<Radio label="4">秒杀</Radio>
|
||||
</RadioGroup>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Row>
|
||||
</Form>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col>
|
||||
<el-col :span="24" class="ivu-text-left" v-if="$route.path === routePro + '/echarts/trade/order'">
|
||||
<el-form-item label="订单类型:">
|
||||
<el-radio-group v-model="currentTab" type="button" @change="onClickTab(currentTab)">
|
||||
<el-radio-button label="">全部</el-radio-button>
|
||||
<el-radio-button label="1">普通</el-radio-button>
|
||||
<el-radio-button label="2">拼团</el-radio-button>
|
||||
<el-radio-button label="3">砍价</el-radio-button>
|
||||
<el-radio-button label="4">秒杀</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
>
|
||||
<div class="acea-row">
|
||||
<span class="sp">优惠券名称:</span
|
||||
><Input
|
||||
><el-input
|
||||
v-model="page.coupon_title"
|
||||
search
|
||||
enter-button
|
||||
@ -21,26 +21,44 @@
|
||||
@on-search="userSearchs"
|
||||
/>
|
||||
</div>
|
||||
<Table
|
||||
:columns="columns"
|
||||
<el-table
|
||||
:data="couponList"
|
||||
ref="table"
|
||||
class="mt25"
|
||||
:loading="loading"
|
||||
highlight-row
|
||||
v-loading="loading"
|
||||
highlight-current-row
|
||||
no-userFrom-text="暂无数据"
|
||||
no-filtered-userFrom-text="暂无筛选结果"
|
||||
>
|
||||
<template slot-scope="{ row, index }" slot="coupon_time">
|
||||
<div v-if="row.coupon_time">{{ row.coupon_time }}</div>
|
||||
<div v-else>{{ row.use_time }}</div>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="action">
|
||||
<a @click="sendGrant(row, '发送优惠券', index)">发送</a>
|
||||
</template>
|
||||
</Table>
|
||||
<el-table-column label="优惠券名称" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.title }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="优惠券面值" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.coupon_price }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="优惠券最低消费" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.use_min_price }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="优惠券有效期限" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.coupon_time">{{ scope.row.coupon_time }}</div>
|
||||
<div v-else>{{ scope.row.use_time }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="90">
|
||||
<template slot-scope="scope">
|
||||
<a @click="sendGrant(scope.row, '发送优惠券', index)">发送</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="acea-row row-right page">
|
||||
<Page :total="total" show-elevator show-total @on-change="pageChange" :page-size="page.limit" />
|
||||
<pagination v-if="total" :total="total" :page.sync="page.page" :limit.sync="page.limit" @pagination="getList" />
|
||||
</div>
|
||||
</Modal>
|
||||
</div>
|
||||
@ -127,10 +145,6 @@ export default {
|
||||
userSearchs() {
|
||||
this.getList();
|
||||
},
|
||||
pageChange(index) {
|
||||
this.page.page = index;
|
||||
this.getList();
|
||||
},
|
||||
// 发送
|
||||
sendGrant(row, tit, num) {
|
||||
let delfromData = {
|
||||
|
||||
@ -1,17 +1,17 @@
|
||||
<template>
|
||||
<div class="goodList">
|
||||
<Form ref="formValidate" :model="formValidate" :label-width="120" label-position="right" class="tabform">
|
||||
<Row type="flex" :gutter="24">
|
||||
<Col v-bind="grid">
|
||||
<FormItem label="商品分类:" label-for="pid">
|
||||
<Select v-model="formValidate.pid" style="width: 230px" clearable @on-change="userSearchs">
|
||||
<Option v-for="item in treeSelect" :value="item.id" :key="item.id">{{ item.cate_name }} </Option>
|
||||
</Select>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col v-bind="grid">
|
||||
<FormItem label="商品搜索:" label-for="store_name">
|
||||
<Input
|
||||
<el-form ref="formValidate" :model="formValidate" label-width="120px" label-position="right" class="tabform">
|
||||
<el-row :gutter="24">
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="商品分类:" label-for="pid">
|
||||
<el-select v-model="formValidate.pid" style="width: 230px" clearable @change="userSearchs">
|
||||
<el-option v-for="item in treeSelect" :value="item.id" :key="item.id" :label="item.cate_name"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="商品搜索:" label-for="store_name">
|
||||
<el-input
|
||||
search
|
||||
enter-button
|
||||
placeholder="请输入商品分类,id"
|
||||
@ -19,26 +19,39 @@
|
||||
style="width: 80%"
|
||||
@on-search="userSearchs"
|
||||
/>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Row>
|
||||
</Form>
|
||||
<Table
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-table
|
||||
ref="table"
|
||||
no-data-text="暂无数据"
|
||||
no-filtered-data-text="暂无筛选结果"
|
||||
empty-text="暂无数据"
|
||||
|
||||
max-height="400"
|
||||
:columns="columns"
|
||||
:data="tableList"
|
||||
:loading="loading"
|
||||
@on-selection-change="selectionGood"
|
||||
@select="selectionGood"
|
||||
>
|
||||
<template slot-scope="{ row, index }" slot="image">
|
||||
<div class="tabBox_img" v-viewer>
|
||||
<img v-lazy="row.pic" />
|
||||
</div>
|
||||
</template>
|
||||
</Table>
|
||||
<el-table-column type="selection" width="55"> </el-table-column>
|
||||
<el-table-column label="商品ID" width="80">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.id }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="图片" min-width="90">
|
||||
<template slot-scope="scope">
|
||||
<div class="tabBox_img" v-viewer>
|
||||
<img v-lazy="scope.row.pic" />
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="商品分类" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.cate_name }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@ -10,81 +10,81 @@
|
||||
@on-cancel="cancel"
|
||||
>
|
||||
<div class="article-manager">
|
||||
<Card :bordered="false" dis-hover class="ivu-mt">
|
||||
<Form
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt">
|
||||
<el-form
|
||||
ref="formItem"
|
||||
:model="formItem"
|
||||
:label-width="120"
|
||||
label-width="120px"
|
||||
label-position="right"
|
||||
:rules="ruleValidate"
|
||||
@submit.native.prevent
|
||||
>
|
||||
<Row type="flex" :gutter="24">
|
||||
<Col span="24">
|
||||
<Col v-bind="grid">
|
||||
<FormItem label="提货点名称:" prop="name" label-for="name">
|
||||
<Input v-model="formItem.name" placeholder="请输入提货点名称" />
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Col>
|
||||
<Col span="24">
|
||||
<Col v-bind="grid">
|
||||
<FormItem label="提货点简介:" label-for="introduction">
|
||||
<Input v-model="formItem.introduction" placeholder="请输入提货点简介" />
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Col>
|
||||
<Col span="24">
|
||||
<Col v-bind="grid">
|
||||
<FormItem label="提货点手机号:" label-for="phone" prop="phone">
|
||||
<Input v-model="formItem.phone" placeholder="请输入提货点手机号" />
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Col>
|
||||
<Col span="24">
|
||||
<Col v-bind="grid">
|
||||
<FormItem label="提货点地址:" label-for="address" prop="address">
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="24">
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="提货点名称:" prop="name" label-for="name">
|
||||
<el-input v-model="formItem.name" placeholder="请输入提货点名称" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="提货点简介:" label-for="introduction">
|
||||
<el-input v-model="formItem.introduction" placeholder="请输入提货点简介" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="提货点手机号:" label-for="phone" prop="phone">
|
||||
<el-input v-model="formItem.phone" placeholder="请输入提货点手机号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="提货点地址:" label-for="address" prop="address">
|
||||
<Cascader
|
||||
:data="addresData"
|
||||
:value="formItem.address"
|
||||
v-model="formItem.address"
|
||||
@on-change="handleChange"
|
||||
@change="handleChange"
|
||||
></Cascader>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Col>
|
||||
<Col span="24">
|
||||
<Col v-bind="grid">
|
||||
<FormItem label="详细地址:" label-for="detailed_address" prop="detailed_address">
|
||||
<Input v-model="formItem.detailed_address" placeholder="请输入详细地址" />
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Col>
|
||||
<!--<Col span="24">-->
|
||||
<!--<Col v-bind="grid">-->
|
||||
<!--<FormItem label="核销时效:" label-for="valid_time">-->
|
||||
<!--<DatePicker @on-change="onchangeDate" :value="formItem.valid_time" v-model="formItem.valid_time" format="yyyy/MM/dd" type="daterange" split-panels placeholder="请选择核销时效" ></DatePicker>-->
|
||||
<!--</FormItem>-->
|
||||
<!--</Col>-->
|
||||
<!--</Col>-->
|
||||
<Col span="24">
|
||||
<Col v-bind="grid">
|
||||
<FormItem label="提货点营业:" label-for="day_time" prop="day_time">
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="详细地址:" label-for="detailed_address" prop="detailed_address">
|
||||
<el-input v-model="formItem.detailed_address" placeholder="请输入详细地址" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col>
|
||||
<!--<el-col :span="24">-->
|
||||
<!--<el-col v-bind="grid">-->
|
||||
<!--<el-form-item label="核销时效:" label-for="valid_time">-->
|
||||
<!--<DatePicker @change="onchangeDate" :value="formItem.valid_time" v-model="formItem.valid_time" format="yyyy/MM/dd" type="daterange" split-panels placeholder="请选择核销时效" ></DatePicker>-->
|
||||
<!--</el-form-item>-->
|
||||
<!--</el-col>-->
|
||||
<!--</el-col>-->
|
||||
<el-col :span="24">
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="提货点营业:" label-for="day_time" prop="day_time">
|
||||
<TimePicker
|
||||
type="timerange"
|
||||
@on-change="onchangeTime"
|
||||
@change="onchangeTime"
|
||||
v-model="formItem.day_time"
|
||||
format="HH:mm:ss"
|
||||
:value="formItem.day_time"
|
||||
placement="bottom-end"
|
||||
placeholder="请选择营业时间"
|
||||
></TimePicker>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Col>
|
||||
<Col span="24">
|
||||
<Col v-bind="grid">
|
||||
<FormItem label="提货点logo:" prop="image">
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="提货点logo:" prop="image">
|
||||
<div class="picBox" @click="modalPicTap('单选', 'logo')">
|
||||
<div class="pictrue" v-if="formItem.image">
|
||||
<img v-lazy="formItem.image" />
|
||||
@ -93,12 +93,12 @@
|
||||
<Icon type="ios-camera-outline" size="26" />
|
||||
</div>
|
||||
</div>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Col>
|
||||
<Col span="24">
|
||||
<Col v-bind="grid">
|
||||
<FormItem label="提货点大图:" prop="oblong_image">
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="提货点大图:" prop="oblong_image">
|
||||
<div class="picBox" @click="modalPicTap('单选', 'oblong')">
|
||||
<div class="pictrue" v-if="formItem.oblong_image">
|
||||
<img v-lazy="formItem.oblong_image" />
|
||||
@ -107,14 +107,14 @@
|
||||
<Icon type="ios-camera-outline" size="26" />
|
||||
</div>
|
||||
</div>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Col>
|
||||
<Col span="24">
|
||||
<Col v-bind="grid">
|
||||
<FormItem label="经纬度:" label-for="status2" prop="latlng">
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="经纬度:" label-for="status2" prop="latlng">
|
||||
<Tooltip>
|
||||
<Input
|
||||
<el-input
|
||||
search
|
||||
enter-button="查找位置"
|
||||
v-model="formItem.latlng"
|
||||
@ -124,20 +124,20 @@
|
||||
/>
|
||||
<div slot="content">请点击查找位置选择位置</div>
|
||||
</Tooltip>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Col>
|
||||
</Row>
|
||||
<Row type="flex">
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row >
|
||||
<div class="btn">
|
||||
<Button type="primary" long @click="handleSubmit('formItem')">{{
|
||||
<el-button type="primary" long @click="handleSubmit('formItem')">{{
|
||||
formItem.id ? '修改' : '提交'
|
||||
}}</Button>
|
||||
}}</el-button>
|
||||
</div>
|
||||
</Row>
|
||||
</el-row>
|
||||
<Spin size="large" fix v-if="spinShow"></Spin>
|
||||
</Form>
|
||||
</Card>
|
||||
</el-form>
|
||||
</el-card>
|
||||
|
||||
<Modal
|
||||
v-model="modalPic"
|
||||
|
||||
@ -17,8 +17,8 @@
|
||||
<p>更多惊喜内容等你来探索,快来看看吧~</p>
|
||||
</div>
|
||||
<div slot="footer" class="footer">
|
||||
<Button class="cancel" shape="circle" @click="upgrade = false">暂不升级</Button>
|
||||
<Button shape="circle" type="primary" @click="upgradeNow()">立即升级</Button>
|
||||
<el-button class="cancel" shape="circle" @click="upgrade = false">暂不升级</el-button>
|
||||
<el-button shape="circle" type="primary" @click="upgradeNow()">立即升级</el-button>
|
||||
</div>
|
||||
</Modal>
|
||||
</div>
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
<template>
|
||||
<div class="Modal">
|
||||
<Row class="colLeft">
|
||||
<Col :xl="6" :lg="6" :md="6" :sm="6" :xs="24" class="colLeft">
|
||||
<el-row class="colLeft">
|
||||
<el-col :xl="6" :lg="6" :md="6" :sm="6" :xs="24" class="colLeft">
|
||||
<div class="Nav">
|
||||
<div class="input">
|
||||
<Input
|
||||
<el-input
|
||||
search
|
||||
enter-button
|
||||
placeholder="请输入分类名称"
|
||||
@ -21,18 +21,18 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</Col>
|
||||
<Col :xl="18" :lg="18" :md="18" :sm="18" :xs="24" class="colLeft">
|
||||
</el-col>
|
||||
<el-col :xl="18" :lg="18" :md="18" :sm="18" :xs="24" class="colLeft">
|
||||
<div class="conter">
|
||||
<div class="bnt acea-row row-middle">
|
||||
<Col span="24">
|
||||
<Button
|
||||
<el-col :span="24">
|
||||
<el-button
|
||||
type="primary"
|
||||
:disabled="checkPicList.length === 0"
|
||||
@click="checkPics"
|
||||
class="mr10"
|
||||
v-if="isShow !== 0"
|
||||
>使用选中图片</Button
|
||||
>使用选中图片</el-button
|
||||
>
|
||||
<Upload
|
||||
:show-upload-list="false"
|
||||
@ -46,11 +46,15 @@
|
||||
:on-success="handleSuccess"
|
||||
style="margin-top: 1px; display: inline-block"
|
||||
>
|
||||
<Button type="primary">上传图片</Button>
|
||||
<el-button type="primary">上传图片</el-button>
|
||||
</Upload>
|
||||
<!--<Button type="success" @click.stop="add" class="mr10">添加分类</Button>-->
|
||||
<Button type="error" class="mr10" :disabled="checkPicList.length === 0" @click.stop="editPicList('图片')"
|
||||
>删除图片</Button
|
||||
<!--<el-button type="success" @click.stop="add" class="mr10">添加分类</el-button>-->
|
||||
<el-button
|
||||
type="error"
|
||||
class="mr10"
|
||||
:disabled="checkPicList.length === 0"
|
||||
@click.stop="editPicList('图片')"
|
||||
>删除图片</el-button
|
||||
>
|
||||
<i-select :value="pids" placeholder="图片移动至" style="width: 250px" class="treeSel">
|
||||
<i-option v-for="(item, index) of list" :value="item.value" :key="index" style="display: none">
|
||||
@ -64,10 +68,10 @@
|
||||
class="treeBox"
|
||||
></Tree>
|
||||
</i-select>
|
||||
</Col>
|
||||
</el-col>
|
||||
</div>
|
||||
<div class="pictrueList acea-row">
|
||||
<Row :gutter="24" class="conter">
|
||||
<el-row :gutter="24" class="conter">
|
||||
<div v-show="isShowPic" class="imagesNo">
|
||||
<Icon type="ios-images" size="60" color="#dbdbdb" />
|
||||
<span class="imagesNo_sp">图片库为空</span>
|
||||
@ -98,13 +102,13 @@
|
||||
<p style="width: 80%" v-if="!item.isEdit">
|
||||
{{ item.editName }}
|
||||
</p>
|
||||
<Input
|
||||
<el-input
|
||||
size="small"
|
||||
style="width: 80%"
|
||||
type="text"
|
||||
v-model="item.real_name"
|
||||
v-else
|
||||
@on-blur="bindTxt(item)"
|
||||
@blur="bindTxt(item)"
|
||||
/>
|
||||
<span
|
||||
class="iconfont iconbianji1"
|
||||
@ -117,21 +121,21 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--<Col class="mb20" v-bind="gridPic"-->
|
||||
<!--<el-col class="mb20" v-bind="gridPic"-->
|
||||
<!--v-for="(item, index) in pictrueList" :key="index" >-->
|
||||
<!--<div class="pictrueList_pic">-->
|
||||
<!--<img :class="item.isSelect ? 'on': '' " v-lazy="item.satt_dir"-->
|
||||
<!--@click.stop="changImage(item, index, pictrueList)"/>-->
|
||||
<!--</div>-->
|
||||
<!--</Col>-->
|
||||
</Row>
|
||||
<!--</el-col>-->
|
||||
</el-row>
|
||||
</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" :limit.sync="fileData.limit" @pagination="pageChange" />
|
||||
</div>
|
||||
</div>
|
||||
</Col>
|
||||
</Row>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -648,8 +652,7 @@ export default {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
pageChange(index) {
|
||||
this.fileData.page = index;
|
||||
pageChange() {
|
||||
this.getFileList();
|
||||
this.checkPicList = [];
|
||||
},
|
||||
|
||||
@ -1,15 +1,15 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="mt20 ml20">
|
||||
<Input class="perW35" v-model="videoLink" placeholder="请输入视频链接" />
|
||||
<el-input class="perW35" v-model="videoLink" placeholder="请输入视频链接" />
|
||||
<input type="file" ref="refid" style="display: none" @change="zh_uploadFile_change" />
|
||||
<Button
|
||||
<el-button
|
||||
v-if="upload_type !== '1' || videoLink"
|
||||
type="primary"
|
||||
icon="ios-cloud-upload-outline"
|
||||
class="ml10"
|
||||
@click="zh_uploadFile"
|
||||
>{{ videoLink ? '确认添加' : '上传视频' }}</Button
|
||||
>{{ videoLink ? '确认添加' : '上传视频' }}</el-button
|
||||
>
|
||||
<Upload
|
||||
v-if="upload_type === '1' && !videoLink"
|
||||
@ -22,7 +22,7 @@
|
||||
:multiple="true"
|
||||
style="display: inline-block"
|
||||
>
|
||||
<Button type="primary" icon="ios-cloud-upload-outline">上传视频</Button>
|
||||
<el-button type="primary" icon="ios-cloud-upload-outline">上传视频</el-button>
|
||||
</Upload>
|
||||
<Progress :percent="progress" :stroke-width="5" v-if="upload.videoIng" />
|
||||
<div class="iview-video-style" v-if="formValidate.video_link">
|
||||
@ -38,7 +38,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt50 ml20">
|
||||
<Button type="primary" @click="uploads">确认</Button>
|
||||
<el-button type="primary" @click="uploads">确认</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -1,15 +1,15 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="mt20 ml20">
|
||||
<Input class="perW35" v-model="videoLink" placeholder="请输入视频链接" />
|
||||
<el-input class="perW35" v-model="videoLink" placeholder="请输入视频链接" />
|
||||
<input type="file" ref="refid" style="display: none" @change="zh_uploadFile_change" />
|
||||
<Button
|
||||
<el-button
|
||||
v-if="upload_type !== '1' || videoLink"
|
||||
type="primary"
|
||||
icon="ios-cloud-upload-outline"
|
||||
class="ml10"
|
||||
@click="zh_uploadFile"
|
||||
>{{ videoLink ? '确认添加' : '上传视频' }}</Button
|
||||
>{{ videoLink ? '确认添加' : '上传视频' }}</el-button
|
||||
>
|
||||
<Upload
|
||||
v-if="upload_type === '1' && !videoLink"
|
||||
@ -22,7 +22,7 @@
|
||||
:multiple="true"
|
||||
style="display: inline-block"
|
||||
>
|
||||
<Button type="primary" icon="ios-cloud-upload-outline">上传视频</Button>
|
||||
<el-button type="primary" icon="ios-cloud-upload-outline">上传视频</el-button>
|
||||
</Upload>
|
||||
<Progress :percent="progress" :stroke-width="5" v-if="upload.videoIng" />
|
||||
<div class="iview-video-style" v-if="formValidate.video_link">
|
||||
@ -38,7 +38,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt50 ml20">
|
||||
<Button type="primary" @click="uploads">确认</Button>
|
||||
<el-button type="primary" @click="uploads">确认</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -17,8 +17,8 @@
|
||||
</div>
|
||||
|
||||
<div class="footer">
|
||||
<Button type="primary" class="btns" @click="subBtn">确定</Button>
|
||||
<Button type="primary" class="btns" ghost @click="cancel">取消</Button>
|
||||
<el-button type="primary" class="btns" @click="subBtn">确定</el-button>
|
||||
<el-button type="primary" class="btns" ghost @click="cancel">取消</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<div ref="wang-editor" class="wang-editor" />
|
||||
</div>
|
||||
<div v-if="monacoBox">
|
||||
<Button type="primary" class="bottom" @click="getHtmlint">可视化界面</Button>
|
||||
<el-button type="primary" class="bottom" @click="getHtmlint">可视化界面</el-button>
|
||||
<monaco @change="changeValue" :value="newHtml" />
|
||||
</div>
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div ref="code_box" class="text">
|
||||
<Input v-model="content" type="textarea" placeholder="" @on-change="changeContent" />
|
||||
<el-input v-model="content" type="textarea" placeholder="" @change="changeContent" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@ -42,8 +42,9 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getMenuSider, getHeaderName } from '@/libs/system';
|
||||
import { getMenuSider, getHeaderName, findFirstNonNullChildren } from '@/libs/system';
|
||||
import Logo from '@/layout/logo/index.vue';
|
||||
import { mapState } from 'vuex';
|
||||
|
||||
export default {
|
||||
name: 'layoutColumnsAside',
|
||||
@ -54,7 +55,6 @@ export default {
|
||||
liIndex: 0,
|
||||
difference: 0,
|
||||
routeSplit: [],
|
||||
activePath: '',
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -72,6 +72,7 @@ export default {
|
||||
routesList() {
|
||||
this.$store.state.routesList.routesList;
|
||||
},
|
||||
...mapState('menu', ['activePath']),
|
||||
},
|
||||
beforeDestroy() {
|
||||
this.bus.$off('routesListChange');
|
||||
@ -93,8 +94,11 @@ export default {
|
||||
// 菜单高亮点击事件
|
||||
onColumnsAsideMenuClick(v) {
|
||||
let { path, redirect } = v;
|
||||
if (path) this.$router.push(path);
|
||||
else this.$router.push(path);
|
||||
if (v.children) {
|
||||
this.$router.push(findFirstNonNullChildren(v.children).path);
|
||||
} else {
|
||||
this.$router.push(path);
|
||||
}
|
||||
// 一个路由设置自动收起菜单
|
||||
if (!v.children || v.children.length <= 1) this.$store.state.themeConfig.themeConfig.isCollapse = true;
|
||||
else if (v.children.length > 1) this.$store.state.themeConfig.themeConfig.isCollapse = false;
|
||||
|
||||
@ -41,7 +41,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getMenuSider, getHeaderName } from '@/libs/system';
|
||||
import { getMenuSider, getHeaderName, findFirstNonNullChildren } from '@/libs/system';
|
||||
import Logo from '@/layout/logo/index.vue';
|
||||
|
||||
export default {
|
||||
@ -109,8 +109,11 @@ export default {
|
||||
// 菜单高亮点击事件
|
||||
onColumnsAsideMenuClick(v) {
|
||||
let { path, redirect } = v;
|
||||
if (path) this.$router.push(path);
|
||||
else this.$router.push(path);
|
||||
if (v.children) {
|
||||
this.$router.push(findFirstNonNullChildren(v.children).path);
|
||||
} else {
|
||||
this.$router.push(path);
|
||||
}
|
||||
// 一个路由设置自动收起菜单
|
||||
if (!v.children || v.children.length <= 1) this.$store.state.themeConfig.themeConfig.isCollapse = true;
|
||||
else if (v.children.length > 1) this.$store.state.themeConfig.themeConfig.isCollapse = false;
|
||||
|
||||
@ -116,7 +116,7 @@
|
||||
<div class="layout-breadcrumb-seting-bar-flex mt15">
|
||||
<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.fourIsDark') }}</div>
|
||||
<div class="layout-breadcrumb-seting-bar-flex-value">
|
||||
<el-switch v-model="getThemeConfig.isIsDark" :width="35" @change="onAddDarkChange"></el-switch>
|
||||
<el-switch v-model="getThemeConfig.isIsDark" :width="35" @change="onAddDarkChange"> </el-switch>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
@ -147,19 +147,19 @@
|
||||
<div class="layout-breadcrumb-seting-bar-flex">
|
||||
<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.threeIsCollapse') }}</div>
|
||||
<div class="layout-breadcrumb-seting-bar-flex-value">
|
||||
<el-switch v-model="getThemeConfig.isCollapse" :width="35" @change="setLocalThemeConfig"></el-switch>
|
||||
<el-switch v-model="getThemeConfig.isCollapse" :width="35" @change="setLocalThemeConfig"> </el-switch>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layout-breadcrumb-seting-bar-flex mt15">
|
||||
<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.threeIsUniqueOpened') }}</div>
|
||||
<div class="layout-breadcrumb-seting-bar-flex-value">
|
||||
<el-switch v-model="getThemeConfig.isUniqueOpened" :width="35" @change="setLocalThemeConfig"></el-switch>
|
||||
<el-switch v-model="getThemeConfig.isUniqueOpened" :width="35" @change="setLocalThemeConfig"> </el-switch>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layout-breadcrumb-seting-bar-flex mt15">
|
||||
<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.threeIsFixedHeader') }}</div>
|
||||
<div class="layout-breadcrumb-seting-bar-flex-value">
|
||||
<el-switch v-model="getThemeConfig.isFixedHeader" :width="35" @change="setLocalThemeConfig"></el-switch>
|
||||
<el-switch v-model="getThemeConfig.isFixedHeader" :width="35" @change="setLocalThemeConfig"> </el-switch>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -168,7 +168,7 @@
|
||||
<div class="layout-breadcrumb-seting-bar-flex">
|
||||
<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.fourIsShowLogo') }}</div>
|
||||
<div class="layout-breadcrumb-seting-bar-flex-value">
|
||||
<el-switch v-model="getThemeConfig.isShowLogo" :width="35" @change="setLocalThemeConfig"></el-switch>
|
||||
<el-switch v-model="getThemeConfig.isShowLogo" :width="35" @change="setLocalThemeConfig"> </el-switch>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
@ -182,58 +182,56 @@
|
||||
:disabled="getThemeConfig.layout === 'classic' || getThemeConfig.layout === 'transverse'"
|
||||
:width="35"
|
||||
@change="setLocalThemeConfig"
|
||||
></el-switch>
|
||||
>
|
||||
</el-switch>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layout-breadcrumb-seting-bar-flex mt15">
|
||||
<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.fourIsBreadcrumbIcon') }}</div>
|
||||
<div class="layout-breadcrumb-seting-bar-flex-value">
|
||||
<el-switch v-model="getThemeConfig.isBreadcrumbIcon" :width="35" @change="setLocalThemeConfig"></el-switch>
|
||||
<el-switch v-model="getThemeConfig.isBreadcrumbIcon" :width="35" @change="setLocalThemeConfig"> </el-switch>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layout-breadcrumb-seting-bar-flex mt15">
|
||||
<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.fourIsTagsview') }}</div>
|
||||
<div class="layout-breadcrumb-seting-bar-flex-value">
|
||||
<el-switch v-model="getThemeConfig.isTagsview" :width="35" @change="setLocalThemeConfig"></el-switch>
|
||||
<el-switch v-model="getThemeConfig.isTagsview" :width="35" @change="setLocalThemeConfig"> </el-switch>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="layout-breadcrumb-seting-bar-flex mt15">
|
||||
<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.fourIsTagsviewIcon') }}</div>
|
||||
<div class="layout-breadcrumb-seting-bar-flex-value">
|
||||
<el-switch
|
||||
<el-switch
|
||||
v-model="getThemeConfig.isTagsviewIcon"
|
||||
:disabled="!getThemeConfig.isTagsview"
|
||||
:width="35"
|
||||
@change="setLocalThemeConfig"
|
||||
></el-switch>
|
||||
> </el-switch>
|
||||
</div>
|
||||
</div> -->
|
||||
<!-- <div class="layout-breadcrumb-seting-bar-flex mt15">
|
||||
<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.fourIsCacheTagsView') }}</div>
|
||||
<div class="layout-breadcrumb-seting-bar-flex-value">
|
||||
<el-switch v-model="getThemeConfig.isCacheTagsView" :width="35" @change="setLocalThemeConfig"></el-switch>
|
||||
<el-switch v-model="getThemeConfig.isCacheTagsView" :width="35" @change="setLocalThemeConfig"> </el-switch>
|
||||
</div>
|
||||
</div> -->
|
||||
<div class="layout-breadcrumb-seting-bar-flex mt15">
|
||||
<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.fourIsFooter') }}</div>
|
||||
<div class="layout-breadcrumb-seting-bar-flex-value">
|
||||
<el-switch v-model="getThemeConfig.isFooter" :width="35" @change="setLocalThemeConfig"></el-switch>
|
||||
<el-switch v-model="getThemeConfig.isFooter" :width="35" @change="setLocalThemeConfig"> </el-switch>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layout-breadcrumb-seting-bar-flex mt15">
|
||||
<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.fourIsGrayscale') }}</div>
|
||||
<div class="layout-breadcrumb-seting-bar-flex-value">
|
||||
<el-switch
|
||||
v-model="getThemeConfig.isGrayscale"
|
||||
:width="35"
|
||||
@change="onAddFilterChange('grayscale')"
|
||||
></el-switch>
|
||||
<el-switch v-model="getThemeConfig.isGrayscale" :width="35" @change="onAddFilterChange('grayscale')">
|
||||
</el-switch>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layout-breadcrumb-seting-bar-flex mt15">
|
||||
<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.fourIsInvert') }}</div>
|
||||
<div class="layout-breadcrumb-seting-bar-flex-value">
|
||||
<el-switch v-model="getThemeConfig.isInvert" :width="35" @change="onAddFilterChange('invert')"></el-switch>
|
||||
<el-switch v-model="getThemeConfig.isInvert" :width="35" @change="onAddFilterChange('invert')"> </el-switch>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -8,12 +8,12 @@
|
||||
</div>
|
||||
|
||||
<div class="layout-navbars-breadcrumb-user-icon">
|
||||
<el-popover
|
||||
<el-tooltip effect="light"
|
||||
placement="bottom"
|
||||
trigger="click"
|
||||
v-model="isShowUserNewsPopover"
|
||||
:width="300"
|
||||
popper-class="el-popover-pupop-user-news"
|
||||
popper-class="el-tooltip-pupop-user-news"
|
||||
>
|
||||
<el-badge :is-dot="isDot" @click.stop="openNews" slot="reference">
|
||||
<i class="el-icon-bell" :title="$t('message.user.title4')"></i>
|
||||
@ -21,7 +21,7 @@
|
||||
<transition name="el-zoom-in-top">
|
||||
<UserNews v-show="isShowUserNewsPopover" @haveNews="initIsDot" />
|
||||
</transition>
|
||||
</el-popover>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
<div class="layout-navbars-breadcrumb-user-icon mr10" @click="onScreenfullClick">
|
||||
<i
|
||||
|
||||
@ -53,7 +53,7 @@ import 'vue-happy-scroll/docs/happy-scroll.css';
|
||||
import VueAwesomeSwiper from 'vue-awesome-swiper';
|
||||
// 懒加载
|
||||
import VueLazyload from 'vue-lazyload';
|
||||
import VXETable from 'vxe-table';
|
||||
import VXETable, { t } from 'vxe-table';
|
||||
import Viewer from 'v-viewer';
|
||||
import VueDND from 'awe-dnd';
|
||||
import formCreate from '@form-create/iview';
|
||||
@ -70,7 +70,9 @@ import timeOptions from '@/libs/timeOptions';
|
||||
import scroll from '@/libs/loading';
|
||||
import * as tools from '@/libs/tools';
|
||||
import VueTreeList from 'vue-tree-list';
|
||||
|
||||
import Pagination from "@/components/Pagination";
|
||||
// 全局组件挂载
|
||||
Vue.component('Pagination', Pagination)
|
||||
// 复制到粘贴板插件
|
||||
import VueClipboard from 'vue-clipboard2';
|
||||
|
||||
@ -187,7 +189,9 @@ new Vue({
|
||||
watch: {
|
||||
// 监听路由 控制侧边栏显示 标记当前顶栏菜单(如需要)
|
||||
$route(to, from) {
|
||||
const onRoutes = to.meta.activeMenu ? to.meta.activeMenu : '';
|
||||
console.log(to);
|
||||
const onRoutes = to.meta.activeMenu ? to.meta.activeMenu : to.meta.path;
|
||||
console.log(onRoutes);
|
||||
this.$store.commit('menu/setActivePath', onRoutes);
|
||||
if (to.name == 'crud_crud') {
|
||||
this.$store.state.menus.oneLvRoutes.map((e) => {
|
||||
|
||||
@ -13,28 +13,29 @@
|
||||
<img :src="login_logo" alt="logo" style="width: 100%; height: 74px" />
|
||||
</div>
|
||||
</div>
|
||||
<Form ref="formInline" :model="formInline" :rules="ruleInline" @keyup.enter="handleSubmit('formInline')">
|
||||
<FormItem prop="username">
|
||||
<Input
|
||||
<el-form ref="formInline" :model="formInline" :rules="ruleInline" @keyup.enter="handleSubmit('formInline')">
|
||||
<el-form-item prop="username">
|
||||
<el-input
|
||||
type="text"
|
||||
v-model="formInline.username"
|
||||
prefix="ios-contact-outline"
|
||||
placeholder="请输入用户名"
|
||||
size="large"
|
||||
/>
|
||||
</FormItem>
|
||||
<FormItem prop="password">
|
||||
<Input
|
||||
</el-form-item>
|
||||
<el-form-item prop="password">
|
||||
<el-input
|
||||
type="password"
|
||||
v-model="formInline.password"
|
||||
prefix="ios-lock-outline"
|
||||
placeholder="请输入密码"
|
||||
size="large"
|
||||
show-password
|
||||
/>
|
||||
</FormItem>
|
||||
<!-- <FormItem prop="code">
|
||||
</el-form-item>
|
||||
<!-- <el-form-item prop="code">
|
||||
<div class="code">
|
||||
<Input
|
||||
<el-input
|
||||
type="text"
|
||||
v-model="formInline.code"
|
||||
prefix="ios-keypad-outline"
|
||||
@ -43,13 +44,13 @@
|
||||
/>
|
||||
<img :src="imgcode" class="pictrue" @click="captchas" />
|
||||
</div>
|
||||
</FormItem> -->
|
||||
<FormItem class="pt10">
|
||||
<Button type="primary" long :loading="loading" size="large" @click="handleSubmit('formInline')" class="btn"
|
||||
>登录</Button
|
||||
</el-form-item> -->
|
||||
<el-form-item class="pt10">
|
||||
<el-button type="primary" :loading="loading" size="large" @click="handleSubmit('formInline')" class="btn"
|
||||
>登录</el-button
|
||||
>
|
||||
</FormItem>
|
||||
</Form>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -422,6 +423,7 @@ export default {
|
||||
}
|
||||
|
||||
.btn {
|
||||
width: 100%;
|
||||
background: linear-gradient(90deg, rgba(25, 180, 241, 1) 0%, rgba(14, 115, 232, 1) 100%) !important;
|
||||
}
|
||||
|
||||
|
||||
@ -1,28 +1,30 @@
|
||||
<template>
|
||||
<div>
|
||||
<Card :bordered="false" dis-hover class="ivu-mb-16">
|
||||
<Form
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mb-16">
|
||||
<el-form
|
||||
ref="formValidate"
|
||||
:model="formValidate"
|
||||
:label-width="labelWidth"
|
||||
:label-position="labelPosition"
|
||||
@submit.native.prevent
|
||||
>
|
||||
<Row type="flex" :gutter="24">
|
||||
<Col span="24">
|
||||
<FormItem label="时间选择:">
|
||||
<RadioGroup
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="时间选择:">
|
||||
<el-radio-group
|
||||
v-model="formValidate.data"
|
||||
type="button"
|
||||
@on-change="selectChange(formValidate.data)"
|
||||
@change="selectChange(formValidate.data)"
|
||||
class="mr"
|
||||
>
|
||||
<Radio :label="item.val" v-for="(item, i) in fromList.fromTxt" :key="i">{{ item.text }}</Radio>
|
||||
</RadioGroup>
|
||||
<el-radio-button :label="item.val" v-for="(item, i) in fromList.fromTxt" :key="i">{{
|
||||
item.text
|
||||
}}</el-radio-button>
|
||||
</el-radio-group>
|
||||
<DatePicker
|
||||
:editable="true"
|
||||
:clearable="true"
|
||||
@on-change="onchangeTime"
|
||||
@change="onchangeTime"
|
||||
:value="timeVal"
|
||||
format="yyyy/MM/dd"
|
||||
type="daterange"
|
||||
@ -30,79 +32,128 @@
|
||||
placeholder="请选择时间"
|
||||
style="width: 200px"
|
||||
></DatePicker>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col v-bind="grid">
|
||||
<FormItem label="搜索:" label-for="status">
|
||||
<Input
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="搜索:" label-for="status">
|
||||
<el-input
|
||||
search
|
||||
enter-button
|
||||
placeholder="请输入姓名、电话、UID"
|
||||
v-model="formValidate.nickname"
|
||||
@on-search="userSearchs"
|
||||
/>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col v-bind="grid">
|
||||
<Button v-auth="['export-userAgent']" class="export" icon="ios-share-outline" @click="exports">导出</Button>
|
||||
</Col>
|
||||
</Row>
|
||||
</Form>
|
||||
</Card>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-bind="grid">
|
||||
<el-button v-auth="['export-userAgent']" class="export" icon="ios-share-outline" @click="exports"
|
||||
>导出</el-button
|
||||
>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-card>
|
||||
<cards-data :cardLists="cardLists" v-if="cardLists.length >= 0"></cards-data>
|
||||
<Card :bordered="false" dis-hover>
|
||||
<Table
|
||||
<el-card :bordered="false" shadow="never">
|
||||
<el-table
|
||||
ref="selection"
|
||||
:columns="columns"
|
||||
:data="tableList"
|
||||
class="ivu-mt"
|
||||
:loading="loading"
|
||||
no-data-text="暂无数据"
|
||||
highlight-row
|
||||
no-filtered-data-text="暂无筛选结果"
|
||||
v-loading="loading"
|
||||
empty-text="暂无数据"
|
||||
highlight-current-row
|
||||
>
|
||||
<template slot-scope="{ row }" slot="nickname">
|
||||
<div class="name">
|
||||
<div class="item">昵称:{{ row.nickname }}</div>
|
||||
<div class="item">姓名:{{ row.real_name }}</div>
|
||||
<div class="item">电话:{{ row.phone }}</div>
|
||||
</div>
|
||||
</template>
|
||||
<template slot-scope="{ row }" slot="agentLevel">
|
||||
<div>{{ row.agentLevel ? row.agentLevel.name : '--' }}</div>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="right">
|
||||
<a @click="promoters(row, 'man')">推广人</a>
|
||||
<Divider type="vertical" />
|
||||
<template>
|
||||
<Dropdown @on-click="changeMenu(row, $event, index)" :transfer="true">
|
||||
<a href="javascript:void(0)">
|
||||
更多
|
||||
<Icon type="ios-arrow-down"></Icon>
|
||||
</a>
|
||||
<DropdownMenu slot="list">
|
||||
<DropdownItem name="1">推广订单</DropdownItem>
|
||||
<DropdownItem name="2">推广二维码</DropdownItem>
|
||||
<DropdownItem name="3">修改上级推广人</DropdownItem>
|
||||
<DropdownItem name="4" v-if="row.spread_uid">清除上级推广人</DropdownItem>
|
||||
<DropdownItem name="5">取消推广资格</DropdownItem>
|
||||
<DropdownItem name="6">修改分销等级</DropdownItem>
|
||||
</DropdownMenu>
|
||||
</Dropdown>
|
||||
<el-table-column label="ID" width="80">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.uid }}</span>
|
||||
</template>
|
||||
</template>
|
||||
</Table>
|
||||
</el-table-column>
|
||||
<el-table-column label="商品图片" min-width="90">
|
||||
<template slot-scope="scope">
|
||||
<div class="tabBox_img" v-viewer>
|
||||
<img v-lazy="scope.row.headimgurl ? scope.row.headimgurl : require('../../assets/images/moren.jpg')" />
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="用户信息" min-width="120">
|
||||
<template slot-scope="scope">
|
||||
<div class="name">
|
||||
<div class="item">昵称:{{ scope.row.nickname }}</div>
|
||||
<div class="item">姓名:{{ scope.row.real_name }}</div>
|
||||
<div class="item">电话:{{ scope.row.phone }}</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="推广用户数量" min-width="120">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.spread_count }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="分销等级" min-width="120">
|
||||
<template slot-scope="scope">
|
||||
<div>{{ scope.row.agentLevel ? scope.row.agentLevel.name : '--' }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="订单数量" min-width="120">
|
||||
<template slot-scope="scope">
|
||||
<div>{{ scope.row.order_count }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="订单金额" min-width="120">
|
||||
<template slot-scope="scope">
|
||||
<div>{{ scope.row.order_price }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="佣金总金额" min-width="120">
|
||||
<template slot-scope="scope">
|
||||
<div>{{ scope.row.brokerage_money }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="已提现金额" min-width="120">
|
||||
<template slot-scope="scope">
|
||||
<div>{{ scope.row.extract_count_price }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="提现次数" min-width="120">
|
||||
<template slot-scope="scope">
|
||||
<div>{{ scope.row.extract_count_num }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="未提现金额" min-width="120">
|
||||
<template slot-scope="scope">
|
||||
<div>{{ scope.row.new_money }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="上级推广人" min-width="120">
|
||||
<template slot-scope="scope">
|
||||
<div>{{ scope.row.spread_name }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="170">
|
||||
<template slot-scope="scope">
|
||||
<a @click="promoters(scope.row, 'man')">推广人</a>
|
||||
<el-divider direction="vertical"></el-divider>
|
||||
<template>
|
||||
<el-dropdown size="small" @command="changeMenu(scope.row, $event, index)" :transfer="true">
|
||||
<span class="el-dropdown-link">更多<i class="el-icon-arrow-down el-icon--right"></i> </span>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item command="1">推广订单</el-dropdown-item>
|
||||
<el-dropdown-item command="2">推广二维码</el-dropdown-item>
|
||||
<el-dropdown-item command="3">修改上级推广人</el-dropdown-item>
|
||||
<el-dropdown-item command="4" v-if="scope.row.spread_uid">清除上级推广人</el-dropdown-item>
|
||||
<el-dropdown-item command="5">取消推广资格</el-dropdown-item>
|
||||
<el-dropdown-item command="6">修改分销等级</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</template>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="acea-row row-right page">
|
||||
<Page
|
||||
:total="total"
|
||||
:current="formValidate.page"
|
||||
show-elevator
|
||||
show-total
|
||||
@on-change="pageChange"
|
||||
:page-size="formValidate.limit"
|
||||
/>
|
||||
<pagination v-if="total" :total="total" :page.sync="formValidate.page" :limit.sync="formValidate.limit" @pagination="getList" />
|
||||
</div>
|
||||
</Card>
|
||||
</el-card>
|
||||
<!-- 推广人列表-->
|
||||
<promoters-list ref="promotersLists"></promoters-list>
|
||||
<!-- 推广二维码-->
|
||||
@ -125,8 +176,8 @@
|
||||
</Modal>
|
||||
<!--修改推广人-->
|
||||
<Modal v-model="promoterShow" scrollable title="修改推广人" class="order_box" :closable="false">
|
||||
<Form ref="formInline" :model="formInline" :label-width="100" @submit.native.prevent>
|
||||
<FormItem label="用户头像:" prop="image">
|
||||
<el-form ref="formInline" :model="formInline" label-width="100px" @submit.native.prevent>
|
||||
<el-form-item label="用户头像:" prop="image">
|
||||
<div class="picBox" @click="customer">
|
||||
<div class="pictrue" v-if="formInline.image">
|
||||
<img v-lazy="formInline.image" />
|
||||
@ -135,11 +186,11 @@
|
||||
<Icon type="ios-camera-outline" size="26" />
|
||||
</div>
|
||||
</div>
|
||||
</FormItem>
|
||||
</Form>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer">
|
||||
<Button type="primary" @click="putSend('formInline')">提交</Button>
|
||||
<Button @click="cancel('formInline')">取消</Button>
|
||||
<el-button type="primary" @click="putSend('formInline')">提交</el-button>
|
||||
<el-button @click="cancel('formInline')">取消</el-button>
|
||||
</div>
|
||||
</Modal>
|
||||
<Modal v-model="customerShow" scrollable title="请选择商城用户" :closable="false" width="50%">
|
||||
@ -318,7 +369,7 @@ export default {
|
||||
computed: {
|
||||
...mapState('media', ['isMobile']),
|
||||
labelWidth() {
|
||||
return this.isMobile ? undefined : 80;
|
||||
return this.isMobile ? undefined : '85px';
|
||||
},
|
||||
labelPosition() {
|
||||
return this.isMobile ? 'top' : 'right';
|
||||
@ -499,10 +550,6 @@ export default {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
pageChange(index) {
|
||||
this.formValidate.page = index;
|
||||
this.getList();
|
||||
},
|
||||
// 表格搜索
|
||||
userSearchs() {
|
||||
this.formValidate.page = 1;
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
@on-cancel="onCancel"
|
||||
>
|
||||
<div class="table_box">
|
||||
<Form
|
||||
<el-form
|
||||
ref="formValidate"
|
||||
:model="formValidate"
|
||||
:label-width="labelWidth"
|
||||
@ -19,20 +19,22 @@
|
||||
class="tabform"
|
||||
@submit.native.prevent
|
||||
>
|
||||
<Row :gutter="24" type="flex" justify="end">
|
||||
<Col span="24" class="ivu-text-left">
|
||||
<FormItem label="时间选择:">
|
||||
<RadioGroup
|
||||
<el-row :gutter="24" justify="end">
|
||||
<el-col :span="24" class="ivu-text-left">
|
||||
<el-form-item label="时间选择:">
|
||||
<el-radio-group
|
||||
v-model="formValidate.data"
|
||||
type="button"
|
||||
@on-change="selectChange(formValidate.data)"
|
||||
@change="selectChange(formValidate.data)"
|
||||
class="mr"
|
||||
>
|
||||
<Radio :label="item.val" v-for="(item, i) in fromList.fromTxt" :key="i">{{ item.text }}</Radio>
|
||||
</RadioGroup>
|
||||
<el-radio-button :label="item.val" v-for="(item, i) in fromList.fromTxt" :key="i">{{
|
||||
item.text
|
||||
}}</el-radio-button>
|
||||
</el-radio-group>
|
||||
<DatePicker
|
||||
:editable="false"
|
||||
@on-change="onchangeTime"
|
||||
@change="onchangeTime"
|
||||
:value="timeVal"
|
||||
format="yyyy/MM/dd"
|
||||
type="daterange"
|
||||
@ -40,66 +42,129 @@
|
||||
placeholder="请选择时间"
|
||||
style="width: 200px"
|
||||
></DatePicker>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col span="24" class="ivu-text-left">
|
||||
<Col :xl="15" :lg="15" :md="20" :sm="24" :xs="24">
|
||||
<FormItem label="用户类型:">
|
||||
<RadioGroup v-model="formValidate.type" type="button" @on-change="userSearchs" class="mr">
|
||||
<Radio
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="ivu-text-left">
|
||||
<el-col :xl="15" :lg="15" :md="20" :sm="24" :xs="24">
|
||||
<el-form-item label="用户类型:">
|
||||
<el-radio-group v-model="formValidate.type" type="button" @change="userSearchs" class="mr">
|
||||
<el-radio-button
|
||||
:label="item.val"
|
||||
v-for="(item, i) in listTitle === 'man' ? fromList.fromTxt2 : fromList.fromTxt3"
|
||||
:key="i"
|
||||
>
|
||||
{{ item.text }}
|
||||
</Radio>
|
||||
</RadioGroup>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col :xl="15" :lg="15" :md="20" :sm="24" :xs="24" v-if="listTitle === 'man'">
|
||||
<FormItem label="搜索:">
|
||||
<Input
|
||||
</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xl="15" :lg="15" :md="20" :sm="24" :xs="24" v-if="listTitle === 'man'">
|
||||
<el-form-item label="搜索:">
|
||||
<el-input
|
||||
search
|
||||
enter-button
|
||||
placeholder="请输入请姓名、电话、UID"
|
||||
v-model="formValidate.nickname"
|
||||
style="width: 90%"
|
||||
@on-search="userSearchs"
|
||||
></Input>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col :xl="15" :lg="15" :md="20" :sm="24" :xs="24" v-if="listTitle === 'order'">
|
||||
<FormItem label="订单号:">
|
||||
<Input
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xl="15" :lg="15" :md="20" :sm="24" :xs="24" v-if="listTitle === 'order'">
|
||||
<el-form-item label="订单号:">
|
||||
<el-input
|
||||
search
|
||||
enter-button
|
||||
placeholder="请输入请订单号"
|
||||
v-model="formValidate.order_id"
|
||||
style="width: 90%"
|
||||
@on-search="userSearchs"
|
||||
></Input>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Col>
|
||||
</Row>
|
||||
</Form>
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</div>
|
||||
<Table
|
||||
<el-table
|
||||
ref="selection"
|
||||
:columns="columns4"
|
||||
:data="tabList"
|
||||
:loading="loading"
|
||||
no-data-text="暂无数据"
|
||||
highlight-row
|
||||
empty-text="暂无数据"
|
||||
highlight-current-row
|
||||
max-height="400"
|
||||
no-filtered-data-text="暂无筛选结果"
|
||||
>
|
||||
<template slot-scope="{ row, index }" slot="add_time">
|
||||
<div>{{ row.spread_time | formatDate }}</div>
|
||||
<template v-if="listTitle === 'man'">
|
||||
<el-table-column label="UID" width="80">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.uid }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="头像" min-width="90">
|
||||
<template slot-scope="scope">
|
||||
<div class="tabBox_img" v-viewer>
|
||||
<img v-lazy="scope.row.avatar ? scope.row.avatar : require('../../../assets/images/moren.jpg')" />
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="用户信息" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.nickname }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="是否推广员" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.promoter_name }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="推广人数" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.spread_count }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="订单数" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.order_count }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="绑定时间" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.spread_time | formatDate }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</template>
|
||||
</Table>
|
||||
<template v-else>
|
||||
<el-table-column label="订单ID" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.order_id }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="用户信息" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.user_info }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="时间" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row._add_time }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="返佣金额" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.brokerage_price || 0 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</template>
|
||||
</el-table>
|
||||
<div class="acea-row row-right page">
|
||||
<Page :total="total" show-elevator show-total @on-change="pageChange" :page-size="formValidate.limit" />
|
||||
<pagination
|
||||
v-if="total"
|
||||
:total="total"
|
||||
:page.sync="formValidate.page"
|
||||
:limit.sync="formValidate.limit"
|
||||
@pagination="pageChange"
|
||||
/>
|
||||
</div>
|
||||
</Modal>
|
||||
</div>
|
||||
@ -171,7 +236,7 @@ export default {
|
||||
computed: {
|
||||
...mapState('media', ['isMobile']),
|
||||
labelWidth() {
|
||||
return this.isMobile ? undefined : 100;
|
||||
return this.isMobile ? undefined : '100px';
|
||||
},
|
||||
labelPosition() {
|
||||
return this.isMobile ? 'top' : 'right';
|
||||
@ -218,96 +283,6 @@ export default {
|
||||
let data = res.data;
|
||||
this.tabList = data.list;
|
||||
this.total = data.count;
|
||||
if (this.listTitle === 'man') {
|
||||
this.columns4 = [
|
||||
{
|
||||
title: 'UID',
|
||||
minWidth: 80,
|
||||
key: 'uid',
|
||||
},
|
||||
{
|
||||
title: '头像',
|
||||
key: 'avatar',
|
||||
minWidth: 80,
|
||||
render: (h, params) => {
|
||||
return h('viewer', [
|
||||
h(
|
||||
'div',
|
||||
{
|
||||
style: {
|
||||
width: '36px',
|
||||
height: '36px',
|
||||
borderRadius: '4px',
|
||||
cursor: 'pointer',
|
||||
},
|
||||
},
|
||||
[
|
||||
h('img', {
|
||||
attrs: {
|
||||
src: params.row.avatar ? params.row.avatar : require('../../../assets/images/moren.jpg'),
|
||||
},
|
||||
style: {
|
||||
width: '100%',
|
||||
height: '100%',
|
||||
},
|
||||
}),
|
||||
],
|
||||
),
|
||||
]);
|
||||
},
|
||||
},
|
||||
{
|
||||
title: '用户信息',
|
||||
key: 'nickname',
|
||||
minWidth: 120,
|
||||
},
|
||||
{
|
||||
title: '是否推广员',
|
||||
key: 'promoter_name',
|
||||
minWidth: 100,
|
||||
},
|
||||
{
|
||||
title: '推广人数',
|
||||
key: 'spread_count',
|
||||
sortable: true,
|
||||
minWidth: 90,
|
||||
},
|
||||
{
|
||||
title: '订单数',
|
||||
key: 'order_count',
|
||||
sortable: true,
|
||||
minWidth: 90,
|
||||
},
|
||||
{
|
||||
title: '绑定时间',
|
||||
slot: 'add_time',
|
||||
sortable: true,
|
||||
minWidth: 130,
|
||||
},
|
||||
];
|
||||
} else {
|
||||
this.columns4 = [
|
||||
{
|
||||
title: '订单ID',
|
||||
key: 'order_id',
|
||||
},
|
||||
{
|
||||
title: '用户信息',
|
||||
key: 'user_info',
|
||||
},
|
||||
{
|
||||
title: '时间',
|
||||
key: '_add_time',
|
||||
},
|
||||
{
|
||||
title: '返佣金额',
|
||||
key: 'brokerage_price',
|
||||
render: (h, params) => {
|
||||
return h('viewer', [h('span', params.row.brokerage_price || 0)]);
|
||||
},
|
||||
},
|
||||
];
|
||||
}
|
||||
this.loading = false;
|
||||
})
|
||||
.catch((res) => {
|
||||
@ -316,8 +291,7 @@ export default {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
pageChange(index) {
|
||||
this.formValidate.page = index;
|
||||
pageChange() {
|
||||
this.getList(this.rowsList, this.listTitle);
|
||||
},
|
||||
// 搜索
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
<div class="i-layout-page-header header-title">
|
||||
<span class="ivu-page-header-title mr20">{{ $route.meta.title }}</span>
|
||||
<div style="float: right">
|
||||
<Button class="bnt" type="primary" @click="onsubmit('formValidate')">保存</Button>
|
||||
<el-button class="bnt" type="primary" @click="onsubmit('formValidate')">保存</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-wrapper">
|
||||
@ -22,13 +22,13 @@
|
||||
</div>
|
||||
<div style="margin-left: 40px">
|
||||
<div class="table_box">
|
||||
<div type="flex">
|
||||
<div >
|
||||
<div v-bind="grid">
|
||||
<div class="title">隐私权限页面展示:</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<Form
|
||||
<el-form
|
||||
class="form"
|
||||
ref="formValidate"
|
||||
:model="formValidate"
|
||||
@ -37,14 +37,14 @@
|
||||
@submit.native.prevent
|
||||
>
|
||||
<div class="goodsTitle acea-row"></div>
|
||||
<FormItem label="" style="margin: 0px">
|
||||
<el-form-item label="" style="margin: 0px">
|
||||
<WangEditor
|
||||
style="width: 90%"
|
||||
:content="formValidate.content"
|
||||
@editorContent="getEditorContent"
|
||||
></WangEditor>
|
||||
</FormItem>
|
||||
</Form>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -94,7 +94,7 @@ export default {
|
||||
};
|
||||
},
|
||||
labelWidth() {
|
||||
return this.isMobile ? undefined : 120;
|
||||
return this.isMobile ? undefined : '120px';
|
||||
},
|
||||
labelPosition() {
|
||||
return this.isMobile ? 'top' : 'right';
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
<div class="i-layout-page-header header-title">
|
||||
<span class="ivu-page-header-title">{{ $route.meta.title }}</span>
|
||||
</div>
|
||||
<Card :bordered="false" dis-hover class="ivu-mt">
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt">
|
||||
<div class="flex-wrapper">
|
||||
<!-- :src="iframeUrl" -->
|
||||
<div>
|
||||
@ -31,17 +31,17 @@
|
||||
<div class="content-box">
|
||||
<div class="left">小程序码:</div>
|
||||
<div class="right">
|
||||
<Button type="primary" @click="downLoadCode(pageData.code)">下载小程序码</Button>
|
||||
<el-button type="primary" @click="downLoadCode(pageData.code)">下载小程序码</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-box">
|
||||
<div class="left">小程序包:</div>
|
||||
<div class="right">
|
||||
<span>是否已开通小程序直播</span>
|
||||
<RadioGroup class="rad" size="large" v-model="is_live">
|
||||
<Radio :label="0">未开通</Radio>
|
||||
<Radio :label="1">已开通</Radio>
|
||||
</RadioGroup>
|
||||
<el-radio-group class="rad" size="large" v-model="is_live">
|
||||
<el-radio :label="0">未开通</el-radio>
|
||||
<el-radio :label="1">已开通</el-radio>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-box last">
|
||||
@ -53,13 +53,13 @@
|
||||
查看如何开通直播功能
|
||||
</div>
|
||||
|
||||
<Button class="mt10" type="primary" @click="downLoad()">下载小程序包</Button>
|
||||
<el-button class="mt10" type="primary" @click="downLoad()">下载小程序包</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</Card>
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -107,7 +107,7 @@ export default {
|
||||
computed: {
|
||||
...mapState('media', ['isMobile']),
|
||||
labelWidth() {
|
||||
return this.isMobile ? undefined : 80;
|
||||
return this.isMobile ? undefined : '85px';
|
||||
},
|
||||
labelPosition() {
|
||||
return this.isMobile ? 'top' : 'left';
|
||||
|
||||
@ -1,42 +1,66 @@
|
||||
<template>
|
||||
<div>
|
||||
<Card :bordered="false" dis-hover class="ivu-mt">
|
||||
<Row type="flex" class="mb20">
|
||||
<Col span="24">
|
||||
<Button type="primary" icon="md-add" @click="add" class="mr10">发布版本</Button>
|
||||
</Col>
|
||||
</Row>
|
||||
<Table
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt">
|
||||
<el-row class="mb20">
|
||||
<el-col :span="24">
|
||||
<el-button type="primary" icon="md-add" @click="add" class="mr10">发布版本</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-table
|
||||
:columns="columns1"
|
||||
:data="tableList"
|
||||
:loading="loading"
|
||||
highlight-row
|
||||
v-loading="loading"
|
||||
highlight-current-row
|
||||
no-userFrom-text="暂无数据"
|
||||
no-filtered-userFrom-text="暂无筛选结果"
|
||||
>
|
||||
<template slot-scope="{ row }" slot="version">
|
||||
<Poptip v-if="row.is_new" trigger="hover" placement="top-start" content="当前为最新线上版本!">
|
||||
<Icon size="16" type="ios-bookmark" color="red" style="margin-right: 10px" />
|
||||
</Poptip>
|
||||
<Icon v-else size="16" type="ios-bookmark" color="white" style="margin-right: 10px" />
|
||||
<span>{{ row.version }} </span>
|
||||
</template>
|
||||
<template slot-scope="{ row }" slot="platform">
|
||||
<span>{{ row.platform === 1 ? '安卓' : '苹果' }}</span>
|
||||
</template>
|
||||
<template slot-scope="{ row }" slot="is_force">
|
||||
<span>{{ row.is_force === 1 ? '强制' : '非强制' }}</span>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="action">
|
||||
<a @click="edit(row)">编辑</a>
|
||||
<!-- <Divider type="vertical" /> -->
|
||||
<!-- <a @click="del(row, '删除版本', index)">删除</a> -->
|
||||
</template>
|
||||
</Table>
|
||||
<div class="acea-row row-right page">
|
||||
<Page :total="total" show-elevator show-total @on-change="pageChange" :page-size="tableFrom.limit" />
|
||||
</div>
|
||||
</Card>
|
||||
<el-table-column label="版本号" width="80">
|
||||
<template slot-scope="scope">
|
||||
<el-tooltip
|
||||
effect="light"
|
||||
v-if="scope.row.is_new"
|
||||
trigger="hover"
|
||||
placement="top-start"
|
||||
content="当前为最新线上版本!"
|
||||
>
|
||||
<Icon size="16" type="ios-bookmark" color="red" style="margin-right: 10px" />
|
||||
</el-tooltip>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="平台类型" min-width="90">
|
||||
<template slot-scope="scope">
|
||||
<div class="tabBox_img" v-viewer>
|
||||
<span>{{ scope.row.platform === 1 ? '安卓' : '苹果' }}</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="升级信息" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.info }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="是否强制" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.is_force === 1 ? '强制' : '非强制' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="发布日期" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.add_time }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="下载地址" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.url }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="60">
|
||||
<template slot-scope="scope">
|
||||
<a @click="edit(scope.row)">编辑</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -49,7 +73,7 @@ export default {
|
||||
...mapState('media', ['isMobile']),
|
||||
...mapState('userLevel', ['categoryId']),
|
||||
labelWidth() {
|
||||
return this.isMobile ? undefined : 80;
|
||||
return this.isMobile ? undefined : '85px';
|
||||
},
|
||||
labelPosition() {
|
||||
return this.isMobile ? 'top' : 'left';
|
||||
|
||||
@ -3,13 +3,13 @@
|
||||
<div class="i-layout-page-header header-title">
|
||||
<span class="ivu-page-header-title">{{ $route.meta.title }}</span>
|
||||
</div>
|
||||
<Card :bordered="false" dis-hover class="ivu-mt">
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt">
|
||||
<!-- 公众号设置 -->
|
||||
<Row :gutter="24" type="flex">
|
||||
<Col span="24" class="ml40">
|
||||
<el-row :gutter="24" >
|
||||
<el-col :span="24" class="ml40">
|
||||
<!-- 预览功能 -->
|
||||
<Col :span="24">
|
||||
<Col :xl="7" :lg="7" :md="22" :sm="22" :xs="22" class="left mb15">
|
||||
<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" />
|
||||
<div style="background: #f4f5f9; min-height: 438px; position: absolute; top: 63px; width: 320px"></div>
|
||||
@ -38,71 +38,71 @@
|
||||
<div class="text" @click="addtext"><Icon type="ios-add" /></div>
|
||||
</div>
|
||||
</div>
|
||||
</Col>
|
||||
<Col :xl="11" :lg="12" :md="22" :sm="22" :xs="22">
|
||||
<Tabs value="name1" v-if="checkedMenuId !== null">
|
||||
<TabPane label="菜单信息" name="name1">
|
||||
<Col span="24" class="userAlert">
|
||||
</el-col>
|
||||
<el-col :xl="11" :lg="12" :md="22" :sm="22" :xs="22">
|
||||
<el-tabs value="name1" v-if="checkedMenuId !== null">
|
||||
<el-tab-pane label="菜单信息" name="name1">
|
||||
<el-col :span="24" class="userAlert">
|
||||
<div class="box-card right">
|
||||
<Alert show-icon closable class="spwidth"> 已添加子菜单,仅可设置菜单名称</Alert>
|
||||
<Form
|
||||
<el-form
|
||||
ref="formValidate"
|
||||
:model="formValidate"
|
||||
:rules="ruleValidate"
|
||||
:label-width="100"
|
||||
label-width="100px"
|
||||
class="mt20"
|
||||
>
|
||||
<FormItem label="菜单名称" prop="name">
|
||||
<Input v-model="formValidate.name" placeholder="请填写菜单名称" class="spwidth"></Input>
|
||||
</FormItem>
|
||||
<FormItem label="规则状态" prop="type">
|
||||
<Select v-model="formValidate.type" placeholder="请选择规则状态" class="spwidth">
|
||||
<Option value="click">关键字</Option>
|
||||
<Option value="view">跳转网页</Option>
|
||||
<Option value="miniprogram">小程序</Option>
|
||||
</Select>
|
||||
</FormItem>
|
||||
<el-form-item label="菜单名称" prop="name">
|
||||
<el-input v-model="formValidate.name" placeholder="请填写菜单名称" class="spwidth"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="规则状态" prop="type">
|
||||
<el-select v-model="formValidate.type" placeholder="请选择规则状态" class="spwidth">
|
||||
<el-option value="click" label="关键字"></el-option>
|
||||
<el-option value="view" label="跳转网页"></el-option>
|
||||
<el-option value="miniprogram" label="小程序"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<div v-if="formValidate.type === 'click'">
|
||||
<FormItem label="关键字" prop="key">
|
||||
<Input v-model="formValidate.key" placeholder="请填写关键字" class="spwidth"></Input>
|
||||
</FormItem>
|
||||
<el-form-item label="关键字" prop="key">
|
||||
<el-input v-model="formValidate.key" placeholder="请填写关键字" class="spwidth"></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div v-if="formValidate.type === 'miniprogram'">
|
||||
<FormItem label="appid" prop="appid">
|
||||
<Input v-model="formValidate.appid" placeholder="请填写appid" class="spwidth"></Input>
|
||||
</FormItem>
|
||||
<FormItem label="小程序路径" prop="pagepath">
|
||||
<Input
|
||||
<el-form-item label="appid" prop="appid">
|
||||
<el-input v-model="formValidate.appid" placeholder="请填写appid" class="spwidth"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="小程序路径" prop="pagepath">
|
||||
<el-input
|
||||
v-model="formValidate.pagepath"
|
||||
placeholder="请填写小程序路径"
|
||||
class="spwidth"
|
||||
></Input>
|
||||
</FormItem>
|
||||
<FormItem label="备用网页" prop="url">
|
||||
<Input v-model="formValidate.url" placeholder="请填写备用网页" class="spwidth"></Input>
|
||||
</FormItem>
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="备用网页" prop="url">
|
||||
<el-input v-model="formValidate.url" placeholder="请填写备用网页" class="spwidth"></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div v-if="formValidate.type === 'view'">
|
||||
<FormItem label="跳转地址" prop="url">
|
||||
<Input v-model="formValidate.url" placeholder="请填写跳转地址" class="spwidth"></Input>
|
||||
</FormItem>
|
||||
<el-form-item label="跳转地址" prop="url">
|
||||
<el-input v-model="formValidate.url" placeholder="请填写跳转地址" class="spwidth"></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</Form>
|
||||
</el-form>
|
||||
</div>
|
||||
</Col>
|
||||
</TabPane>
|
||||
<Button size="small" type="error" slot="extra" @click="deltMenus">删除</Button>
|
||||
</Tabs>
|
||||
<Col :span="24" v-if="isTrue">
|
||||
<Button type="primary" style="display: block; margin: 10px auto" @click="submenus('formValidate')"
|
||||
>保存并发布</Button
|
||||
</el-col>
|
||||
</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-button type="primary" style="display: block; margin: 10px auto" @click="submenus('formValidate')"
|
||||
>保存并发布</el-button
|
||||
>
|
||||
</Col>
|
||||
</Col>
|
||||
</Col>
|
||||
</Col>
|
||||
</Row>
|
||||
</Card>
|
||||
</el-col>
|
||||
</el-col>
|
||||
</el-col>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-card>
|
||||
|
||||
<Modal v-model="modal2" width="360">
|
||||
<p slot="header" style="color: #f60; text-align: center">
|
||||
@ -113,7 +113,7 @@
|
||||
<p>确定删除吗?</p>
|
||||
</div>
|
||||
<div slot="footer">
|
||||
<Button type="error" size="large" long @click="del">确定</Button>
|
||||
<el-button type="error" size="large" long @click="del">确定</el-button>
|
||||
</div>
|
||||
</Modal>
|
||||
</div>
|
||||
|
||||
@ -3,15 +3,15 @@
|
||||
<div class="i-layout-page-header header-title">
|
||||
<div class="fl_header">
|
||||
<router-link :to="{ path: $routeProStr + '/app/wechat/news_category/index' }"
|
||||
><Button icon="ios-arrow-back" size="small" type="text" v-show="$route.params.id">返回</Button></router-link
|
||||
><el-button icon="ios-arrow-back" size="small" type="text" v-show="$route.params.id">返回</el-button></router-link
|
||||
>
|
||||
<Divider type="vertical" />
|
||||
<el-divider direction="vertical"></el-divider>
|
||||
<span class="ivu-page-header-title mr20" style="padding: 0" v-text="$route.meta.title"></span>
|
||||
</div>
|
||||
</div>
|
||||
<Card :bordered="false" dis-hover class="save_from ivu-mt">
|
||||
<Row type="flex" :gutter="24">
|
||||
<Col :xl="6" :lg="6" :md="12" :sm="24" :xs="24">
|
||||
<el-card :bordered="false" shadow="never" class="save_from ivu-mt">
|
||||
<el-row :gutter="24">
|
||||
<el-col :xl="6" :lg="6" :md="12" :sm="24" :xs="24">
|
||||
<!-- v-if="list.length!=0"-->
|
||||
<div v-for="(item, i) in list" :key="i">
|
||||
<div
|
||||
@ -28,7 +28,7 @@
|
||||
backgroundSize: '100% 100%',
|
||||
}"
|
||||
>
|
||||
<Button type="error" shape="circle" icon="md-trash" @click="del(i)" v-show="isDel"></Button>
|
||||
<el-button type="error" shape="circle" icon="md-trash" @click="del(i)" v-show="isDel"></el-button>
|
||||
</div>
|
||||
<span class="news_sp">{{ item.title }}</span>
|
||||
</div>
|
||||
@ -37,21 +37,21 @@
|
||||
<div class="news_cent_img ivu-mr-8">
|
||||
<img :src="item.image_input ? item.image_input : baseImg" />
|
||||
</div>
|
||||
<Button type="error" shape="circle" icon="md-trash" @click="del(i)"></Button>
|
||||
<el-button type="error" shape="circle" icon="md-trash" @click="del(i)"></el-button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="acea-row row-center-wrapper">
|
||||
<Button
|
||||
<el-button
|
||||
icon="ios-download-outline"
|
||||
class="mt20"
|
||||
type="primary"
|
||||
@click="handleAdd"
|
||||
>添加图文</Button
|
||||
>添加图文</el-button
|
||||
>
|
||||
</div> -->
|
||||
</Col>
|
||||
<Col :xl="18" :lg="18" :md="12" :sm="24" :xs="24">
|
||||
<Form
|
||||
</el-col>
|
||||
<el-col :xl="18" :lg="18" :md="12" :sm="24" :xs="24">
|
||||
<el-form
|
||||
class="saveForm"
|
||||
ref="saveForm"
|
||||
:model="saveForm"
|
||||
@ -60,24 +60,24 @@
|
||||
:label-position="labelPosition"
|
||||
@submit.native.prevent
|
||||
>
|
||||
<Row :gutter="24" type="flex">
|
||||
<Col span="24" class="ml40">
|
||||
<FormItem label="标题:" prop="title">
|
||||
<Input style="width: 60%" v-model="saveForm.title" type="text" placeholder="请输入文章标题" />
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col span="24" class="ml40">
|
||||
<FormItem label="作者:" prop="author">
|
||||
<Input style="width: 60%" v-model="saveForm.author" type="text" placeholder="请输入作者名称" />
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col span="24" class="ml40">
|
||||
<FormItem label="摘要:" prop="synopsis">
|
||||
<Input style="width: 60%" v-model="saveForm.synopsis" type="textarea" placeholder="请输入摘要" />
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col span="24" class="ml40">
|
||||
<FormItem label="图文封面:" prop="image_input">
|
||||
<el-row :gutter="24" >
|
||||
<el-col :span="24" class="ml40">
|
||||
<el-form-item label="标题:" prop="title">
|
||||
<el-input style="width: 60%" v-model="saveForm.title" type="text" placeholder="请输入文章标题" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="ml40">
|
||||
<el-form-item label="作者:" prop="author">
|
||||
<el-input style="width: 60%" v-model="saveForm.author" type="text" placeholder="请输入作者名称" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="ml40">
|
||||
<el-form-item label="摘要:" prop="synopsis">
|
||||
<el-input style="width: 60%" v-model="saveForm.synopsis" type="textarea" placeholder="请输入摘要" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="ml40">
|
||||
<el-form-item label="图文封面:" prop="image_input">
|
||||
<div class="picBox" @click="modalPicTap('单选')">
|
||||
<div class="pictrue" v-if="saveForm.image_input">
|
||||
<img :src="saveForm.image_input" />
|
||||
@ -86,16 +86,16 @@
|
||||
<Icon type="ios-camera-outline" size="26" />
|
||||
</div>
|
||||
</div>
|
||||
</FormItem>
|
||||
<FormItem label="正文:" prop="content">
|
||||
</el-form-item>
|
||||
<el-form-item label="正文:" prop="content">
|
||||
<WangEditor style="width: 90%" :content="content" @editorContent="getEditorContent"></WangEditor>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col span="24" class="ml40">
|
||||
<FormItem>
|
||||
<Button type="primary" class="submission" @click="subFrom('saveForm')">提交</Button>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="ml40">
|
||||
<el-form-item>
|
||||
<el-button type="primary" class="submission" @click="subFrom('saveForm')">提交</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<Modal
|
||||
v-model="modalPic"
|
||||
width="950px"
|
||||
@ -114,11 +114,11 @@
|
||||
v-if="modalPic"
|
||||
></uploadPictures>
|
||||
</Modal>
|
||||
</Row>
|
||||
</Form>
|
||||
</Col>
|
||||
</Row>
|
||||
</Card>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -219,7 +219,7 @@ export default {
|
||||
computed: {
|
||||
...mapState('media', ['isMobile']),
|
||||
labelWidth() {
|
||||
return this.isMobile ? undefined : 120;
|
||||
return this.isMobile ? undefined : '120px';
|
||||
},
|
||||
labelPosition() {
|
||||
return this.isMobile ? 'top' : 'right';
|
||||
|
||||
@ -3,13 +3,13 @@
|
||||
<div class="i-layout-page-header header-title">
|
||||
<span class="ivu-page-header-title">{{ $route.meta.title }}</span>
|
||||
</div>
|
||||
<Card :bordered="false" dis-hover class="ivu-mt">
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt">
|
||||
<!-- 公众号设置 -->
|
||||
<Row :gutter="24" type="flex">
|
||||
<Col span="24" class="ml40">
|
||||
<el-row :gutter="24" >
|
||||
<el-col :span="24" class="ml40">
|
||||
<!-- 预览功能 -->
|
||||
<Col :span="24">
|
||||
<Col :xl="7" :lg="7" :md="22" :sm="22" :xs="22" class="left mb15">
|
||||
<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" />
|
||||
<div class="centent">
|
||||
@ -39,19 +39,19 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</Col>
|
||||
<Col :xl="11" :lg="12" :md="22" :sm="22" :xs="22">
|
||||
<Col span="24" class="userAlert">
|
||||
</el-col>
|
||||
<el-col :xl="11" :lg="12" :md="22" :sm="22" :xs="22">
|
||||
<el-col :span="24" class="userAlert">
|
||||
<div class="box-card right">
|
||||
<Form
|
||||
<el-form
|
||||
ref="formValidate"
|
||||
:model="formValidate"
|
||||
:rules="ruleValidate"
|
||||
:label-width="100"
|
||||
label-width="100px"
|
||||
class="mt20"
|
||||
@submit.native.prevent
|
||||
>
|
||||
<FormItem label="关键字:" prop="val" v-if="$route.params.id">
|
||||
<el-form-item label="关键字:" prop="val" v-if="$route.params.id">
|
||||
<div class="arrbox">
|
||||
<!--:closable="$route.params.id==='0'? true : false"-->
|
||||
<Tag
|
||||
@ -71,45 +71,45 @@
|
||||
@keyup.enter="addlabel"
|
||||
/>
|
||||
</div>
|
||||
</FormItem>
|
||||
<FormItem label="消息状态:">
|
||||
<RadioGroup v-model="formValidate.status">
|
||||
<Radio :label="1">启用</Radio>
|
||||
<Radio :label="0">禁用</Radio>
|
||||
</RadioGroup>
|
||||
</FormItem>
|
||||
<FormItem label="消息类型:" prop="type">
|
||||
<Select
|
||||
</el-form-item>
|
||||
<el-form-item label="消息状态:">
|
||||
<el-radio-group v-model="formValidate.status">
|
||||
<el-radio :label="1">启用</el-radio>
|
||||
<el-radio :label="0">禁用</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="消息类型:" prop="type">
|
||||
<el-select
|
||||
v-model="formValidate.type"
|
||||
placeholder="请选择规则状态"
|
||||
style="width: 90%"
|
||||
@on-change="RuleFactor(formValidate.type)"
|
||||
@change="RuleFactor(formValidate.type)"
|
||||
>
|
||||
<Option value="text">文字消息</Option>
|
||||
<Option value="image">图片消息</Option>
|
||||
<Option value="news">图文消息</Option>
|
||||
<Option value="voice">声音消息</Option>
|
||||
</Select>
|
||||
</FormItem>
|
||||
<FormItem label="消息内容:" prop="content" v-if="formValidate.type === 'text'">
|
||||
<Input
|
||||
<el-option value="text" label="文字消息"></el-option>
|
||||
<el-option value="image" label="图片消息"></el-option>
|
||||
<el-option value="news" label="图文消息"></el-option>
|
||||
<el-option value="voice" label="声音消息"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="消息内容:" prop="content" v-if="formValidate.type === 'text'">
|
||||
<el-input
|
||||
v-model="formValidate.data.content"
|
||||
placeholder="请填写消息内容"
|
||||
style="width: 90%"
|
||||
type="textarea"
|
||||
:rows="4"
|
||||
></Input>
|
||||
</FormItem>
|
||||
<FormItem label="选取图文:" v-if="formValidate.type === 'news'">
|
||||
<Button type="info" @click="changePic">选择图文消息</Button>
|
||||
</FormItem>
|
||||
<FormItem
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="选取图文:" v-if="formValidate.type === 'news'">
|
||||
<el-button type="info" @click="changePic">选择图文消息</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="formValidate.type === 'image' ? '图片地址:' : '语音地址:'"
|
||||
prop="src"
|
||||
v-if="formValidate.type === 'image' || formValidate.type === 'voice'"
|
||||
>
|
||||
<div class="acea-row row-middle">
|
||||
<Input
|
||||
<el-input
|
||||
readonly="readonly"
|
||||
placeholder="default size"
|
||||
style="width: 75%"
|
||||
@ -128,25 +128,25 @@
|
||||
class="mr20"
|
||||
style="margin-top: 1px"
|
||||
>
|
||||
<Button type="primary">上传</Button>
|
||||
<el-button type="primary">上传</el-button>
|
||||
</Upload>
|
||||
</div>
|
||||
<span v-show="formValidate.type === 'image'">文件最大2Mb,支持bmp/png/jpeg/jpg/gif格式</span>
|
||||
<span v-show="formValidate.type === 'voice'">文件最大2Mb,支持mp3格式,播放长度不超过60s</span>
|
||||
</FormItem>
|
||||
</Form>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</Col>
|
||||
<Col :span="24">
|
||||
</el-col>
|
||||
<el-col ::span="24">
|
||||
<div class="acea-row row-center">
|
||||
<Button type="primary" class="mr20" @click="submenus('formValidate')">保存并发布 </Button>
|
||||
<el-button type="primary" class="mr20" @click="submenus('formValidate')">保存并发布 </el-button>
|
||||
</div>
|
||||
</Col>
|
||||
</Col>
|
||||
</Col>
|
||||
</Col>
|
||||
</Row>
|
||||
</Card>
|
||||
</el-col>
|
||||
</el-col>
|
||||
</el-col>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-card>
|
||||
|
||||
<!--图文消息 -->
|
||||
<Modal v-model="modals" scrollable title="发送消息" width="1200" height="800" footer-hide class="modelBox">
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<Card :bordered="false" dis-hover class="ivu-mt"></Card>
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt"></el-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@ -1,90 +1,107 @@
|
||||
<template>
|
||||
<div>
|
||||
<Card :bordered="false" dis-hover class="ivu-mt">
|
||||
<Form
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt">
|
||||
<el-form
|
||||
ref="levelFrom"
|
||||
:model="formValidate"
|
||||
:label-width="labelWidth"
|
||||
:label-position="labelPosition"
|
||||
@submit.native.prevent
|
||||
>
|
||||
<Row type="flex" :gutter="24">
|
||||
<Col v-bind="grid">
|
||||
<FormItem label="回复类型:" prop="type" label-for="type">
|
||||
<Select
|
||||
<el-row :gutter="24">
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="回复类型:" prop="type" label-for="type">
|
||||
<el-select
|
||||
v-model="formValidate.type"
|
||||
placeholder="请选择"
|
||||
element-id="type"
|
||||
clearable
|
||||
@on-change="userSearchs"
|
||||
@change="userSearchs"
|
||||
>
|
||||
<Option value="text">文字消息</Option>
|
||||
<Option value="image">图片消息</Option>
|
||||
<Option value="news">图文消息</Option>
|
||||
<Option value="voice">声音消息</Option>
|
||||
</Select>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col v-bind="grid">
|
||||
<FormItem label="关键字:" prop="key" label-for="key">
|
||||
<Input
|
||||
<el-option value="text" label="文字消息"></el-option>
|
||||
<el-option value="image" label="图片消息"></el-option>
|
||||
<el-option value="news" label="图文消息"></el-option>
|
||||
<el-option value="voice" label="声音消息"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="关键字:" prop="key" label-for="key">
|
||||
<el-input
|
||||
search
|
||||
enter-button
|
||||
v-model="formValidate.key"
|
||||
placeholder="请输入关键字"
|
||||
@on-search="userSearchs"
|
||||
/>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Row>
|
||||
<Row type="flex">
|
||||
<Col v-bind="grid">
|
||||
<Button type="primary" icon="md-add" @click="add">添加关键字</Button>
|
||||
</Col>
|
||||
</Row>
|
||||
</Form>
|
||||
<Table
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col v-bind="grid">
|
||||
<el-button type="primary" icon="md-add" @click="add">添加关键字</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-table
|
||||
:columns="columns1"
|
||||
:data="tabList"
|
||||
ref="table"
|
||||
class="mt25"
|
||||
:loading="loading"
|
||||
highlight-row
|
||||
highlight-current-row
|
||||
no-userFrom-text="暂无数据"
|
||||
no-filtered-userFrom-text="暂无筛选结果"
|
||||
>
|
||||
<template slot-scope="{ row, index }" slot="status">
|
||||
<i-switch
|
||||
v-model="row.status"
|
||||
:value="row.status"
|
||||
:true-value="1"
|
||||
:false-value="0"
|
||||
@on-change="onchangeIsShow(row)"
|
||||
size="large"
|
||||
>
|
||||
<span slot="open">显示</span>
|
||||
<span slot="close">隐藏</span>
|
||||
</i-switch>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="action">
|
||||
<a @click="edit(row)">编辑</a>
|
||||
<!--<Divider type="vertical" />-->
|
||||
<!--<a @click="download(row)">下载二维码</a>-->
|
||||
<Divider type="vertical" />
|
||||
<a @click="del(row, '关键字回复', index)">删除</a>
|
||||
</template>
|
||||
</Table>
|
||||
<el-table-column label="ID" width="80">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.id }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="关键字" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.key }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="回复类型" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.type }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="是否显示" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<el-switch
|
||||
class="defineSwitch"
|
||||
:active-value="1"
|
||||
:inactive-value="0"
|
||||
v-model="scope.row.status"
|
||||
:value="scope.row.status"
|
||||
@change="onchangeIsShow(scope.row)"
|
||||
size="large"
|
||||
active-text="显示"
|
||||
inactive-text="隐藏"
|
||||
>
|
||||
</el-switch>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="170">
|
||||
<template slot-scope="scope">
|
||||
<a @click="edit(scope.row)">编辑</a>
|
||||
<el-divider direction="vertical"></el-divider>
|
||||
<a @click="del(scope.row, '关键字回复', index)">删除</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="acea-row row-right page">
|
||||
<Page
|
||||
<pagination
|
||||
v-if="total"
|
||||
:total="total"
|
||||
:current="formValidate.page"
|
||||
show-elevator
|
||||
show-total
|
||||
@on-change="pageChange"
|
||||
:page-size="formValidate.limit"
|
||||
:page.sync="formValidate.page"
|
||||
:limit.sync="formValidate.limit"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</div>
|
||||
</Card>
|
||||
</el-card>
|
||||
<Modal v-model="modal" title="二维码" footer-hide>
|
||||
<div class="acea-row row-around">
|
||||
<div class="acea-row row-column-around row-between-wrapper">
|
||||
@ -158,7 +175,7 @@ export default {
|
||||
computed: {
|
||||
...mapState('media', ['isMobile']),
|
||||
labelWidth() {
|
||||
return this.isMobile ? undefined : 75;
|
||||
return this.isMobile ? undefined : '75px';
|
||||
},
|
||||
labelPosition() {
|
||||
return this.isMobile ? 'top' : 'right';
|
||||
@ -180,10 +197,6 @@ export default {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
pageChange(index) {
|
||||
this.formValidate.page = index;
|
||||
this.getList();
|
||||
},
|
||||
// 修改是否显示
|
||||
onchangeIsShow(row) {
|
||||
let data = {
|
||||
|
||||
@ -10,17 +10,17 @@
|
||||
width="950"
|
||||
@on-cancel="handleReset"
|
||||
>
|
||||
<Form
|
||||
<el-form
|
||||
ref="levelFrom"
|
||||
:model="levelFrom"
|
||||
:label-width="labelWidth"
|
||||
:label-position="labelPosition"
|
||||
@submit.native.prevent
|
||||
>
|
||||
<Row type="flex" :gutter="24">
|
||||
<Col v-bind="grid">
|
||||
<FormItem label="优惠券名称:" prop="status2" label-for="status2">
|
||||
<Input
|
||||
<el-row :gutter="24">
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="优惠券名称:" prop="status2" label-for="status2">
|
||||
<el-input
|
||||
search
|
||||
enter-button
|
||||
v-model="levelFrom.name"
|
||||
@ -28,61 +28,91 @@
|
||||
@on-search="userSearchs"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Row>
|
||||
</Form>
|
||||
<Divider dashed />
|
||||
<Row type="flex">
|
||||
<Col v-bind="grid" class="mb15">
|
||||
<Button type="primary" icon="md-add" @click="add">添加等级任务</Button>
|
||||
</Col>
|
||||
<Col span="24" class="userAlert">
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-divider direction="vertical" dashed />
|
||||
<el-row>
|
||||
<el-col v-bind="grid" class="mb15">
|
||||
<el-button type="primary" icon="md-add" @click="add">添加等级任务</el-button>
|
||||
</el-col>
|
||||
<el-col :span="24" class="userAlert">
|
||||
<Alert show-icon closable>添加等级任务,任务类型中的{$num}会自动替换成限定数量+系统预设的单位生成任务名</Alert>
|
||||
</Col>
|
||||
</Row>
|
||||
<Divider dashed />
|
||||
<Table
|
||||
:columns="columns1"
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-divider direction="vertical" dashed />
|
||||
<el-table
|
||||
:data="levelLists"
|
||||
ref="table"
|
||||
:loading="loading"
|
||||
v-loading="loading"
|
||||
no-userFrom-text="暂无数据"
|
||||
no-filtered-userFrom-text="暂无筛选结果"
|
||||
>
|
||||
<template slot-scope="{ row, index }" slot="is_shows">
|
||||
<i-switch
|
||||
v-model="row.is_show"
|
||||
:value="row.is_show"
|
||||
:true-value="1"
|
||||
:false-value="0"
|
||||
size="large"
|
||||
@on-change="onchangeIsShow(row)"
|
||||
>
|
||||
<span slot="open">显示</span>
|
||||
<span slot="close">隐藏</span>
|
||||
</i-switch>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="is_musts">
|
||||
<i-switch
|
||||
v-model="row.is_must"
|
||||
:value="row.is_must"
|
||||
:true-value="1"
|
||||
:false-value="0"
|
||||
size="large"
|
||||
@on-change="onchangeIsMust(row)"
|
||||
>
|
||||
<span slot="open">全部完成</span>
|
||||
<span slot="close">达成其一</span>
|
||||
</i-switch>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="action">
|
||||
<a @click="edit(row)">编辑 | </a>
|
||||
<a @click="del(row, '删除等级任务', index)"> 删除</a>
|
||||
</template>
|
||||
</Table>
|
||||
<el-table-column label="ID" width="80">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.id }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="等级名称" min-width="100">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.level_name }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="任务名称" min-width="100">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.name }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="是否显示" min-width="100">
|
||||
<template slot-scope="scope">
|
||||
<el-switch
|
||||
:active-value="1"
|
||||
:inactive-value="0"
|
||||
v-model="scope.row.is_show"
|
||||
:value="scope.row.is_show"
|
||||
size="large"
|
||||
@change="onchangeIsShow(scope.row)"
|
||||
>
|
||||
</el-switch>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="务必达成" min-width="100">
|
||||
<template slot-scope="scope">
|
||||
<el-switch
|
||||
:active-value="1"
|
||||
:inactive-value="0"
|
||||
v-model="scope.row.is_must"
|
||||
:value="scope.row.is_must"
|
||||
size="large"
|
||||
@change="onchangeIsMust(scope.row)"
|
||||
active-text="全部"
|
||||
inactive-text="其一"
|
||||
>
|
||||
</el-switch>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="任务说明" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.illustrate }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="170">
|
||||
<template slot-scope="scope">
|
||||
<a @click="edit(scope.row)">编辑 | </a>
|
||||
<el-divider direction="vertical"></el-divider>
|
||||
<a @click="del(scope.row, '删除等级任务', index)"> 删除</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="acea-row row-right page">
|
||||
<Page :total="total" show-elevator show-total @on-change="pageChange" :page-size="levelFrom.limit" />
|
||||
<pagination
|
||||
v-if="total"
|
||||
:total="total"
|
||||
:page.sync="levelFrom.page"
|
||||
:limit.sync="levelFrom.limit"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</div>
|
||||
<!-- 新建 编辑表单-->
|
||||
<edit-from ref="edits" :FromData="FromData" @submitFail="submitFail" :titleType="titleType"></edit-from>
|
||||
@ -116,51 +146,7 @@ export default {
|
||||
total: 0,
|
||||
levelLists: [],
|
||||
loading: false,
|
||||
columns1: [
|
||||
{
|
||||
title: 'ID',
|
||||
key: 'id',
|
||||
sortable: true,
|
||||
width: 80,
|
||||
},
|
||||
{
|
||||
title: '等级名称',
|
||||
key: 'level_name',
|
||||
minWidth: 100,
|
||||
},
|
||||
{
|
||||
title: '任务名称',
|
||||
key: 'name',
|
||||
minWidth: 120,
|
||||
},
|
||||
{
|
||||
title: '排序',
|
||||
sort: 'grade',
|
||||
sortable: true,
|
||||
minWidth: 100,
|
||||
},
|
||||
{
|
||||
title: '是否显示',
|
||||
slot: 'is_shows',
|
||||
minWidth: 110,
|
||||
},
|
||||
{
|
||||
title: '务必达成',
|
||||
slot: 'is_musts',
|
||||
minWidth: 135,
|
||||
},
|
||||
{
|
||||
title: '任务说明',
|
||||
key: 'illustrate',
|
||||
minWidth: 120,
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
slot: 'action',
|
||||
fixed: 'right',
|
||||
minWidth: 120,
|
||||
},
|
||||
],
|
||||
|
||||
FromData: null,
|
||||
ids: 0,
|
||||
modalTitleSs: '',
|
||||
@ -171,7 +157,7 @@ export default {
|
||||
...mapState('media', ['isMobile']),
|
||||
...mapState('userLevel', ['levelId']),
|
||||
labelWidth() {
|
||||
return this.isMobile ? undefined : 75;
|
||||
return this.isMobile ? undefined : '75px';
|
||||
},
|
||||
labelPosition() {
|
||||
return this.isMobile ? 'top' : 'right';
|
||||
@ -229,10 +215,6 @@ export default {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
pageChange(index) {
|
||||
this.levelFrom.page = index;
|
||||
this.getList();
|
||||
},
|
||||
// 修改显示隐藏
|
||||
onchangeIsShow(row) {
|
||||
let data = {
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
<template>
|
||||
<div>
|
||||
<Card :bordered="false" dis-hover class="ivu-mt">
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt">
|
||||
<div class="table_box">
|
||||
<Form
|
||||
<el-form
|
||||
ref="formValidate"
|
||||
:model="formValidate"
|
||||
:label-width="labelWidth"
|
||||
@ -10,20 +10,22 @@
|
||||
class="tabform"
|
||||
@submit.native.prevent
|
||||
>
|
||||
<Row :gutter="24" type="flex" justify="end">
|
||||
<Col span="24" class="ivu-text-left">
|
||||
<FormItem label="时间选择:">
|
||||
<RadioGroup
|
||||
<el-row :gutter="24" justify="end">
|
||||
<el-col :span="24" class="ivu-text-left">
|
||||
<el-form-item label="时间选择:">
|
||||
<el-radio-group
|
||||
v-model="formValidate.data"
|
||||
type="button"
|
||||
@on-change="selectChange(formValidate.data)"
|
||||
@change="selectChange(formValidate.data)"
|
||||
class="mr"
|
||||
>
|
||||
<Radio :label="item.val" v-for="(item, i) in fromList.fromTxt" :key="i">{{ item.text }}</Radio>
|
||||
</RadioGroup>
|
||||
<el-radio-button :label="item.val" v-for="(item, i) in fromList.fromTxt" :key="i">{{
|
||||
item.text
|
||||
}}</el-radio-button>
|
||||
</el-radio-group>
|
||||
<DatePicker
|
||||
:editable="false"
|
||||
@on-change="onchangeTime"
|
||||
@change="onchangeTime"
|
||||
:value="timeVal"
|
||||
format="yyyy/MM/dd"
|
||||
type="daterange"
|
||||
@ -31,51 +33,71 @@
|
||||
placeholder="请选择时间"
|
||||
style="width: 200px"
|
||||
></DatePicker>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col span="24" class="ivu-text-left">
|
||||
<Col :xl="7" :lg="10" :md="12" :sm="24" :xs="24">
|
||||
<FormItem label="操作名称:">
|
||||
<Select v-model="formValidate.type" style="width: 90%" clearable>
|
||||
<Option :value="1">男</Option>
|
||||
<Option :value="2">女</Option>
|
||||
<Option :value="0">保密</Option>
|
||||
</Select>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col :xl="7" :lg="10" :md="12" :sm="24" :xs="24">
|
||||
<FormItem label="操作用户:">
|
||||
<Input placeholder="请输入用户名称" v-model="formValidate.nickname" style="width: 90%"></Input>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col :xl="3" :lg="4" :md="12" :sm="24" :xs="24" class="btn_box">
|
||||
<FormItem>
|
||||
<Button type="primary" icon="ios-search" label="default" class="userSearch" @click="userSearchs"
|
||||
>搜索</Button
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="ivu-text-left">
|
||||
<el-col :xl="7" :lg="10" :md="12" :sm="24" :xs="24">
|
||||
<el-form-item label="操作名称:">
|
||||
<el-select v-model="formValidate.type" style="width: 90%" clearable>
|
||||
<el-option :value="1" label="男"></el-option>
|
||||
<el-option :value="2" label="女"></el-option>
|
||||
<el-option :value="0" label="保密"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xl="7" :lg="10" :md="12" :sm="24" :xs="24">
|
||||
<el-form-item label="操作用户:">
|
||||
<el-input placeholder="请输入用户名称" v-model="formValidate.nickname" style="width: 90%"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xl="3" :lg="4" :md="12" :sm="24" :xs="24" class="btn_box">
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="ios-search" label="default" class="userSearch" @click="userSearchs"
|
||||
>搜索</el-button
|
||||
>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Col>
|
||||
</Row>
|
||||
</Form>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</div>
|
||||
<Table
|
||||
ref="selection"
|
||||
:columns="columns4"
|
||||
:data="tabList"
|
||||
:loading="loading"
|
||||
no-data-text="暂无数据"
|
||||
highlight-row
|
||||
no-filtered-data-text="暂无筛选结果"
|
||||
>
|
||||
<template slot-scope="{ row, index }" slot="add_time">
|
||||
<span> {{ row.add_time ? row.add_time : '' | formatDate }}</span>
|
||||
</template>
|
||||
</Table>
|
||||
<el-table ref="selection" :data="tabList" :loading="loading" empty-text="暂无数据" highlight-current-row>
|
||||
<el-table-column label="ID" width="80">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.id }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作用户" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.nickname }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作名称" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.type_name }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="关联内容" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.headimgurl }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作时间" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span> {{ scope.row.add_time ? scope.row.add_time : '' | formatDate }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="acea-row row-right page">
|
||||
<Page :total="total" show-elevator show-total @on-change="pageChange" :page-size="formValidate.limit" />
|
||||
<pagination
|
||||
v-if="total"
|
||||
:total="total"
|
||||
:page.sync="formValidate.page"
|
||||
:limit.sync="formValidate.limit"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</div>
|
||||
</Card>
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -119,40 +141,13 @@ export default {
|
||||
loading: false,
|
||||
tabList: [],
|
||||
total: 0,
|
||||
columns4: [
|
||||
{
|
||||
title: 'ID',
|
||||
width: 80,
|
||||
key: 'id',
|
||||
},
|
||||
{
|
||||
title: '操作用户',
|
||||
key: 'nickname',
|
||||
minWidth: 120,
|
||||
},
|
||||
{
|
||||
title: '操作名称',
|
||||
key: 'type_name',
|
||||
minWidth: 120,
|
||||
},
|
||||
{
|
||||
title: '关联内容',
|
||||
key: 'headimgurl',
|
||||
minWidth: 150,
|
||||
},
|
||||
{
|
||||
title: '操作时间',
|
||||
slot: 'add_time',
|
||||
minWidth: 150,
|
||||
},
|
||||
],
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapState('media', ['isMobile']),
|
||||
...mapState('order', ['orderChartType']),
|
||||
labelWidth() {
|
||||
return this.isMobile ? undefined : 80;
|
||||
return this.isMobile ? undefined : '85px';
|
||||
},
|
||||
labelPosition() {
|
||||
return this.isMobile ? 'top' : 'right';
|
||||
@ -190,10 +185,6 @@ export default {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
pageChange(index) {
|
||||
this.formValidate.page = index;
|
||||
this.getList();
|
||||
},
|
||||
// 搜索
|
||||
userSearchs() {
|
||||
this.getList();
|
||||
|
||||
@ -1,24 +1,40 @@
|
||||
<template>
|
||||
<div>
|
||||
<Card :bordered="false" dis-hover class="save_from ivu-mt">
|
||||
<Button type="primary" icon="md-add" @click="add">{{ '添加' + $route.meta.title }}</Button>
|
||||
<Table
|
||||
:columns="columns1"
|
||||
<el-card :bordered="false" shadow="never" class="save_from ivu-mt">
|
||||
<el-button type="primary" icon="md-add" @click="add">{{ '添加' + $route.meta.title }}</el-button>
|
||||
<el-table
|
||||
:data="tabList"
|
||||
ref="table"
|
||||
class="mt25"
|
||||
:loading="loading"
|
||||
highlight-row
|
||||
v-loading="loading"
|
||||
highlight-current-row
|
||||
no-userFrom-text="暂无数据"
|
||||
no-filtered-userFrom-text="暂无筛选结果"
|
||||
>
|
||||
<template slot-scope="{ row, index }" slot="action">
|
||||
<a @click="edit(row)">编辑</a>
|
||||
<Divider type="vertical" />
|
||||
<a @click="del(row, '删除标签', index)">删除</a>
|
||||
</template>
|
||||
</Table>
|
||||
</Card>
|
||||
<el-table-column label="ID" width="80">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.id }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="标签名" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.name }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="人数" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.count }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="170">
|
||||
<template slot-scope="scope">
|
||||
<a @click="edit(scope.row)">编辑</a>
|
||||
<el-divider direction="vertical"></el-divider>
|
||||
<a @click="del(scope.row, '删除标签', index)">删除</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -40,29 +56,7 @@ export default {
|
||||
FromData: null,
|
||||
loading: false,
|
||||
tabList: [],
|
||||
columns1: [
|
||||
{
|
||||
title: 'ID',
|
||||
key: 'id',
|
||||
width: 80,
|
||||
},
|
||||
{
|
||||
title: '标签名',
|
||||
key: 'name',
|
||||
minWidth: 200,
|
||||
},
|
||||
{
|
||||
title: '人数',
|
||||
key: 'count',
|
||||
minWidth: 120,
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
slot: 'action',
|
||||
fixed: 'right',
|
||||
minWidth: 150,
|
||||
},
|
||||
],
|
||||
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
|
||||
@ -3,9 +3,9 @@
|
||||
<div class="i-layout-page-header header-title">
|
||||
<span class="ivu-page-header-title">{{ $route.meta.title }}</span>
|
||||
</div>
|
||||
<Card :bordered="false" dis-hover class="ivu-mt">
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt">
|
||||
<div class="table_box">
|
||||
<Form
|
||||
<el-form
|
||||
ref="formValidate"
|
||||
:model="formValidate"
|
||||
:label-width="labelWidth"
|
||||
@ -13,22 +13,22 @@
|
||||
class="tabform"
|
||||
@submit.native.prevent
|
||||
>
|
||||
<Row :gutter="24" type="flex" justify="end">
|
||||
<Col span="24" class="ivu-text-left">
|
||||
<FormItem :label="fromList.title + ':'">
|
||||
<RadioGroup
|
||||
<el-row :gutter="24" justify="end">
|
||||
<el-col :span="24" class="ivu-text-left">
|
||||
<el-form-item :label="fromList.title + ':'">
|
||||
<el-radio-group
|
||||
type="button"
|
||||
v-model="formValidate.data"
|
||||
class="mr15"
|
||||
@on-change="selectChange(formValidate.data)"
|
||||
@change="selectChange(formValidate.data)"
|
||||
>
|
||||
<Radio :label="itemn.val" v-for="(itemn, indexn) in fromList.fromTxt" :key="indexn">
|
||||
<el-radio-button :label="itemn.val" v-for="(itemn, indexn) in fromList.fromTxt" :key="indexn">
|
||||
{{ itemn.text }}
|
||||
</Radio>
|
||||
</RadioGroup>
|
||||
</el-radio-button>
|
||||
</el-radio-group>
|
||||
<DatePicker
|
||||
:editable="false"
|
||||
@on-change="onchangeTime"
|
||||
@change="onchangeTime"
|
||||
:value="timeVal"
|
||||
format="yyyy/MM/dd"
|
||||
type="daterange"
|
||||
@ -36,115 +36,148 @@
|
||||
placeholder="请选择时间"
|
||||
style="width: 200px"
|
||||
></DatePicker>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col span="24" class="ivu-text-left">
|
||||
<FormItem label="用户分组:">
|
||||
<RadioGroup type="button" v-model="formValidate.groupid">
|
||||
<Radio :label="item.id" v-for="(item, index) in groupList" :key="index">{{ item.name }}</Radio>
|
||||
</RadioGroup>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col span="24" class="ivu-text-left">
|
||||
<FormItem label="用户标签:">
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="ivu-text-left">
|
||||
<el-form-item label="用户分组:">
|
||||
<el-radio-group type="button" v-model="formValidate.groupid">
|
||||
<el-radio-button :label="item.id" v-for="(item, index) in groupList" :key="index">{{
|
||||
item.name
|
||||
}}</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="ivu-text-left">
|
||||
<el-form-item label="用户标签:">
|
||||
<TagSelect v-model="tagidList">
|
||||
<TagSelectOption :name="item.id" v-for="(item, index) in tagList" :key="index">{{
|
||||
item.name
|
||||
}}</TagSelectOption>
|
||||
</TagSelect>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col span="24" class="ivu-text-left">
|
||||
<Col :xl="7" :lg="12" :md="12" :sm="24" :xs="24">
|
||||
<FormItem label="用户名称:">
|
||||
<Input placeholder="请输入用户名称" v-model="formValidate.nickname" class="perW90"></Input>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col :xl="7" :lg="12" :md="12" :sm="24" :xs="24" class="sex_box">
|
||||
<FormItem label="性别:">
|
||||
<Select v-model="formValidate.sex" style="width: 90%" clearable>
|
||||
<Option value="1">男</Option>
|
||||
<Option value="2">女</Option>
|
||||
<Option value="0">保密</Option>
|
||||
</Select>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col :xl="7" :lg="12" :md="12" :sm="24" :xs="24" class="subscribe_box">
|
||||
<FormItem label="是否关注公众号:">
|
||||
<Select v-model="formValidate.subscribe" style="width: 90%" clearable>
|
||||
<Option value="1">是</Option>
|
||||
<Option value="0">否</Option>
|
||||
</Select>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col :xl="3" :lg="3" :md="3" :sm="24" :xs="24" class="btn_box">
|
||||
<FormItem>
|
||||
<Button type="primary" icon="ios-search" label="default" class="userSearch" @click="userSearchs"
|
||||
>搜索</Button
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="ivu-text-left">
|
||||
<el-col :xl="7" :lg="12" :md="12" :sm="24" :xs="24">
|
||||
<el-form-item label="用户名称:">
|
||||
<el-input placeholder="请输入用户名称" v-model="formValidate.nickname" class="perW90"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xl="7" :lg="12" :md="12" :sm="24" :xs="24" class="sex_box">
|
||||
<el-form-item label="性别:">
|
||||
<el-select v-model="formValidate.sex" style="width: 90%" clearable>
|
||||
<el-option :value="1" label="男"></el-option>
|
||||
<el-option :value="2" label="女"></el-option>
|
||||
<el-option :value="0" label="保密"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xl="7" :lg="12" :md="12" :sm="24" :xs="24" class="subscribe_box">
|
||||
<el-form-item label="是否关注公众号:">
|
||||
<el-select v-model="formValidate.subscribe" style="width: 90%" clearable>
|
||||
<el-option value="1" label="是"></el-option>
|
||||
<el-option value="0" label="否"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xl="3" :lg="3" :md="3" :sm="24" :xs="24" class="btn_box">
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="ios-search" label="default" class="userSearch" @click="userSearchs"
|
||||
>搜索</el-button
|
||||
>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Col>
|
||||
<Divider dashed />
|
||||
<Col span="24">
|
||||
<Button type="primary" class="mr20" @click="onSend">发送优惠券</Button>
|
||||
<Button class="greens mr20" size="default" @click="onSendPic">
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col>
|
||||
<el-divider direction="vertical" dashed />
|
||||
<el-col :span="24">
|
||||
<el-button type="primary" class="mr20" @click="onSend">发送优惠券</el-button>
|
||||
<el-button class="greens mr20" size="default" @click="onSendPic">
|
||||
<Icon type="md-list"></Icon>
|
||||
发送图文消息
|
||||
</Button>
|
||||
</Col>
|
||||
</Row>
|
||||
</Form>
|
||||
</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</div>
|
||||
<Table
|
||||
<el-table
|
||||
ref="selection"
|
||||
:columns="columns4"
|
||||
:data="tabList"
|
||||
:loading="loading"
|
||||
no-data-text="暂无数据"
|
||||
highlight-row
|
||||
empty-text="暂无数据"
|
||||
highlight-current-row
|
||||
class="mt25"
|
||||
no-filtered-data-text="暂无筛选结果"
|
||||
@on-selection-change="onSelectTab"
|
||||
@select="onSelectTab"
|
||||
@select-all="onSelectTab"
|
||||
>
|
||||
<template slot-scope="{ row, index }" slot="headimgurl">
|
||||
<div class="tabBox_img" v-viewer>
|
||||
<img v-lazy="row.headimgurl" />
|
||||
</div>
|
||||
</template>
|
||||
<template slot-scope="{ row }" slot="sex">
|
||||
<span v-show="row.sex === 1">男</span>
|
||||
<span v-show="row.sex === 2">女</span>
|
||||
<span v-show="row.sex === 0">保密</span>
|
||||
</template>
|
||||
<template slot-scope="{ row }" slot="country">
|
||||
<span>{{ row.country + row.province + row.city }}</span>
|
||||
</template>
|
||||
<template slot-scope="{ row }" slot="subscribe">
|
||||
<span v-show="row.subscribe === 1">关注</span>
|
||||
<span v-show="row.subscribe === 0">未关注</span>
|
||||
</template>
|
||||
<template slot-scope="{ row }" slot="createModalFrame">
|
||||
<template>
|
||||
<Dropdown @on-click="changeMenu(row, $event)">
|
||||
<a href="javascript:void(0)"
|
||||
>操作
|
||||
<Icon type="ios-arrow-down"></Icon>
|
||||
</a>
|
||||
<DropdownMenu slot="list">
|
||||
<DropdownItem name="1" v-show="row.subscribe">修改分组</DropdownItem>
|
||||
<DropdownItem name="2" v-show="row.subscribe">修改标签</DropdownItem>
|
||||
<DropdownItem name="3" v-show="row.subscribe">同步标签</DropdownItem>
|
||||
<DropdownItem v-show="!row.subscribe">无法操作</DropdownItem>
|
||||
</DropdownMenu>
|
||||
</Dropdown>
|
||||
<el-table-column type="selection" width="55"> </el-table-column>
|
||||
<el-table-column label="ID" width="80">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.uid }}</span>
|
||||
</template>
|
||||
</template>
|
||||
</Table>
|
||||
</el-table-column>
|
||||
<el-table-column label="微信用户名称" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.nickname }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="头像" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<div class="tabBox_img" v-viewer>
|
||||
<img v-lazy="scope.row.headimgurl" />
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="性别" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span v-show="scope.row.sex === 1">男</span>
|
||||
<span v-show="scope.row.sex === 2">女</span>
|
||||
<span v-show="scope.row.sex === 0">保密</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="地区" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.country + scope.row.province + scope.row.city }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="是否关注公众号" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span v-show="scope.row.subscribe === 1">关注</span>
|
||||
<span v-show="scope.row.subscribe === 0">未关注</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="用户分组" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.groupid }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="用户标签" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.tagid_list }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="170">
|
||||
<template slot-scope="scope">
|
||||
<el-dropdown size="small" @command="changeMenu(scope.row, $event)">
|
||||
<span class="el-dropdown-link">操作<i class="el-icon-arrow-down el-icon--right"></i> </span>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item command="1" v-show="scope.row.subscribe">修改分组</el-dropdown-item>
|
||||
<el-dropdown-item command="2" v-show="scope.row.subscribe">修改标签</el-dropdown-item>
|
||||
<el-dropdown-item command="3" v-show="scope.row.subscribe">同步标签</el-dropdown-item>
|
||||
<el-dropdown-item v-show="!scope.row.subscribe">无法操作</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="acea-row row-right page">
|
||||
<Page :total="total" show-elevator show-total @on-change="pageChange" :page-size="formValidate.limit" />
|
||||
<pagination
|
||||
v-if="total"
|
||||
:total="total"
|
||||
:page.sync="formValidate.page"
|
||||
:limit.sync="formValidate.limit"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</div>
|
||||
</Card>
|
||||
</el-card>
|
||||
<!-- 用户分组和标签编辑-->
|
||||
<edit-from ref="edits" :FromData="FromData" @submitFail="submitFail"></edit-from>
|
||||
<!-- 发送优惠券-->
|
||||
@ -231,51 +264,6 @@ export default {
|
||||
sm: 24,
|
||||
xs: 24,
|
||||
},
|
||||
columns4: [
|
||||
{
|
||||
type: 'selection',
|
||||
min: 60,
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: 'ID',
|
||||
key: 'uid',
|
||||
},
|
||||
{
|
||||
title: '微信用户名称',
|
||||
key: 'nickname',
|
||||
},
|
||||
{
|
||||
title: '头像',
|
||||
slot: 'headimgurl',
|
||||
},
|
||||
{
|
||||
title: '性别',
|
||||
slot: 'sex',
|
||||
},
|
||||
{
|
||||
title: '地区',
|
||||
slot: 'country',
|
||||
},
|
||||
{
|
||||
title: '是否关注公众号',
|
||||
slot: 'subscribe',
|
||||
},
|
||||
{
|
||||
title: '用户分组',
|
||||
key: 'groupid',
|
||||
},
|
||||
{
|
||||
title: '用户标签',
|
||||
key: 'tagid_list',
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
slot: 'createModalFrame',
|
||||
fixed: 'right',
|
||||
width: 100,
|
||||
},
|
||||
],
|
||||
tagList: [],
|
||||
groupList: [],
|
||||
FromData: null,
|
||||
@ -286,7 +274,7 @@ export default {
|
||||
computed: {
|
||||
...mapState('media', ['isMobile']),
|
||||
labelWidth() {
|
||||
return this.isMobile ? undefined : 80;
|
||||
return this.isMobile ? undefined : '85px';
|
||||
},
|
||||
labelPosition() {
|
||||
return this.isMobile ? 'top' : 'right';
|
||||
@ -416,10 +404,6 @@ export default {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
pageChange(index) {
|
||||
this.formValidate.page = index;
|
||||
this.getList();
|
||||
},
|
||||
// 搜索
|
||||
userSearchs() {
|
||||
this.getList();
|
||||
|
||||
@ -3,14 +3,14 @@
|
||||
<div class="i-layout-page-header header-title">
|
||||
<div class="fl_header">
|
||||
<span>
|
||||
<Button icon="ios-arrow-back" size="small" type="text" @click="$router.go(-1)">返回</Button>
|
||||
<el-button icon="ios-arrow-back" size="small" type="text" @click="$router.go(-1)">返回</el-button>
|
||||
</span>
|
||||
<Divider type="vertical" />
|
||||
<el-divider direction="vertical"></el-divider>
|
||||
<span class="ivu-page-header-title">{{ $route.params.id ? '编辑文章' : '添加文章' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<Card :bordered="false" dis-hover class="ivu-mt">
|
||||
<Form
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt">
|
||||
<el-form
|
||||
class="form"
|
||||
ref="formValidate"
|
||||
:model="formValidate"
|
||||
@ -22,35 +22,39 @@
|
||||
<div class="goodsTitle acea-row">
|
||||
<div class="title">文章信息</div>
|
||||
</div>
|
||||
<Row :gutter="24" type="flex">
|
||||
<Col v-bind="grid" class="mr50">
|
||||
<FormItem label="标题:" prop="title" label-for="title">
|
||||
<Input v-model="formValidate.title" placeholder="请输入" element-id="title" style="width: 90%" />
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col v-bind="grid" class="mr50">
|
||||
<FormItem label="作者:" prop="author" label-for="author">
|
||||
<Input v-model="formValidate.author" placeholder="请输入" element-id="author" style="width: 90%" />
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col v-bind="grid" class="mr50">
|
||||
<FormItem label="文章分类:" label-for="cid" prop="cid">
|
||||
<el-row :gutter="24" >
|
||||
<el-col v-bind="grid" class="mr50">
|
||||
<el-form-item label="标题:" prop="title" label-for="title">
|
||||
<el-input v-model="formValidate.title" placeholder="请输入" element-id="title" style="width: 90%" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-bind="grid" class="mr50">
|
||||
<el-form-item label="作者:" prop="author" label-for="author">
|
||||
<el-input v-model="formValidate.author" placeholder="请输入" element-id="author" style="width: 90%" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-bind="grid" class="mr50">
|
||||
<el-form-item label="文章分类:" label-for="cid" prop="cid">
|
||||
<div class="perW90">
|
||||
<Select v-model="formValidate.cid">
|
||||
<Option v-for="item in treeData" :value="item.id" :disabled="item.disabled" :key="item.id">{{
|
||||
item.html + item.title
|
||||
}}</Option>
|
||||
</Select>
|
||||
<el-select v-model="formValidate.cid">
|
||||
<el-option
|
||||
v-for="item in treeData"
|
||||
:value="item.id"
|
||||
:disabled="item.disabled"
|
||||
:key="item.id"
|
||||
:label="item.html + item.title"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col v-bind="grid" class="mr50">
|
||||
<FormItem label="文章简介:" prop="synopsis" label-for="synopsis">
|
||||
<Input v-model="formValidate.synopsis" type="textarea" placeholder="请输入" style="width: 90%" />
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col v-bind="grid" class="mr50">
|
||||
<FormItem label="图文封面:" prop="image_input">
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-bind="grid" class="mr50">
|
||||
<el-form-item label="文章简介:" prop="synopsis" label-for="synopsis">
|
||||
<el-input v-model="formValidate.synopsis" type="textarea" placeholder="请输入" style="width: 90%" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-bind="grid" class="mr50">
|
||||
<el-form-item label="图文封面:" prop="image_input">
|
||||
<div class="picBox" @click="modalPicTap('单选')">
|
||||
<div class="pictrue" v-if="formValidate.image_input">
|
||||
<img :src="formValidate.image_input" />
|
||||
@ -60,43 +64,43 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="tip">建议尺寸:500 x 312 px</div>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Row>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<div class="goodsTitle acea-row">
|
||||
<div class="title">文章内容</div>
|
||||
</div>
|
||||
<FormItem label="文章内容:" prop="content">
|
||||
<el-form-item label="文章内容:" prop="content">
|
||||
<WangEditor style="width: 90%" :content="formValidate.content" @editorContent="getEditorContent"></WangEditor>
|
||||
</FormItem>
|
||||
</el-form-item>
|
||||
<div class="goodsTitle acea-row">
|
||||
<div class="title">其他设置</div>
|
||||
</div>
|
||||
<Row :gutter="24" type="flex">
|
||||
<!-- <Col span="24">-->
|
||||
<!-- <FormItem label="原文链接:">-->
|
||||
<!-- <Input v-model="formValidate.url" placeholder="请输入" element-id="url" style="width: 60%"/>-->
|
||||
<!-- </FormItem>-->
|
||||
<!-- </Col>-->
|
||||
<Col span="24">
|
||||
<FormItem label="banner显示:" label-for="is_banner">
|
||||
<RadioGroup v-model="formValidate.is_banner" element-id="is_banner">
|
||||
<Radio :label="1" class="radio">显示</Radio>
|
||||
<Radio :label="0">不显示</Radio>
|
||||
</RadioGroup>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col span="24">
|
||||
<FormItem label="热门文章:" label-for="is_hot">
|
||||
<RadioGroup v-model="formValidate.is_hot" element-id="is_hot">
|
||||
<Radio :label="1" class="radio">显示</Radio>
|
||||
<Radio :label="0">不显示</Radio>
|
||||
</RadioGroup>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Row>
|
||||
<Button type="primary" class="submission" @click="onsubmit('formValidate')">提交</Button>
|
||||
</Form>
|
||||
<el-row :gutter="24" >
|
||||
<!-- <el-col :span="24">-->
|
||||
<!-- <el-form-item label="原文链接:">-->
|
||||
<!-- <el-input v-model="formValidate.url" placeholder="请输入" element-id="url" style="width: 60%"/>-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
<el-col :span="24">
|
||||
<el-form-item label="banner显示:" label-for="is_banner">
|
||||
<el-radio-group v-model="formValidate.is_banner" element-id="is_banner">
|
||||
<el-radio :label="1" class="radio">显示</el-radio>
|
||||
<el-radio :label="0">不显示</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="热门文章:" label-for="is_hot">
|
||||
<el-radio-group v-model="formValidate.is_hot" element-id="is_hot">
|
||||
<el-radio :label="1" class="radio">显示</el-radio>
|
||||
<el-radio :label="0">不显示</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-button type="primary" class="submission" @click="onsubmit('formValidate')">提交</el-button>
|
||||
</el-form>
|
||||
<Modal
|
||||
v-model="modalPic"
|
||||
width="950px"
|
||||
@ -115,7 +119,7 @@
|
||||
v-if="modalPic"
|
||||
></uploadPictures>
|
||||
</Modal>
|
||||
</Card>
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -213,7 +217,7 @@ export default {
|
||||
computed: {
|
||||
...mapState('media', ['isMobile']),
|
||||
labelWidth() {
|
||||
return this.isMobile ? undefined : 120;
|
||||
return this.isMobile ? undefined : '120px';
|
||||
},
|
||||
labelPosition() {
|
||||
return this.isMobile ? 'top' : 'right';
|
||||
|
||||
@ -1,27 +1,27 @@
|
||||
<template>
|
||||
<div>
|
||||
<Card :bordered="false" dis-hover class="ivu-mt">
|
||||
<Form
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt">
|
||||
<el-form
|
||||
ref="artFrom"
|
||||
:model="artFrom"
|
||||
:label-width="labelWidth"
|
||||
:label-position="labelPosition"
|
||||
@submit.native.prevent
|
||||
>
|
||||
<Row type="flex" :gutter="24">
|
||||
<Col v-bind="grid">
|
||||
<FormItem label="文章分类:" label-for="pid">
|
||||
<el-row :gutter="24">
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="文章分类:" label-for="pid">
|
||||
<i-select :value="artFrom.pid" placeholder="请选择" style="width: 80%" class="treeSel">
|
||||
<i-option v-for="(item, index) of list" :value="item.value" :key="index" style="display: none">
|
||||
{{ item.title }}
|
||||
</i-option>
|
||||
<Tree :data="treeData" @on-select-change="handleCheckChange"></Tree>
|
||||
</i-select>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col v-bind="grid">
|
||||
<FormItem label="文章搜索:" label-for="title">
|
||||
<Input
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="文章搜索:" label-for="title">
|
||||
<el-input
|
||||
search
|
||||
enter-button
|
||||
placeholder="请输入"
|
||||
@ -29,56 +29,82 @@
|
||||
style="width: 80%"
|
||||
@on-search="userSearchs"
|
||||
/>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Row>
|
||||
<Row type="flex">
|
||||
<Col v-bind="grid">
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col v-bind="grid">
|
||||
<router-link :to="$routeProStr + '/cms/article/add_article'" v-auth="['cms-article-creat']"
|
||||
><Button type="primary" class="bnt" icon="md-add">添加文章</Button></router-link
|
||||
><el-button type="primary" class="bnt" icon="md-add">添加文章</el-button></router-link
|
||||
>
|
||||
</Col>
|
||||
</Row>
|
||||
</Form>
|
||||
<Table
|
||||
:columns="columns1"
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-table
|
||||
:data="cmsList"
|
||||
ref="table"
|
||||
class="mt25"
|
||||
:loading="loading"
|
||||
highlight-row
|
||||
v-loading="loading"
|
||||
highlight-current-row
|
||||
no-userFrom-text="暂无数据"
|
||||
no-filtered-userFrom-text="暂无筛选结果"
|
||||
>
|
||||
<template slot-scope="{ row, index }" slot="titles">
|
||||
<span>{{ ' [ ' + row.catename + ' ] ' + row.title }}</span>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="image_inputs">
|
||||
<div v-if="row.image_input.length !== 0" v-viewer>
|
||||
<div class="tabBox_img" v-for="(item, index) in row.image_input" :key="index">
|
||||
<img v-lazy="item" />
|
||||
<el-table-column label="ID" width="80">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.id }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="文章图片" min-width="90">
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.image_input.length !== 0" v-viewer>
|
||||
<div class="tabBox_img" v-for="(item, index) in scope.row.image_input" :key="index">
|
||||
<img v-lazy="item" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="action">
|
||||
<a @click="edit(row)">编辑</a>
|
||||
<Divider type="vertical" />
|
||||
<a @click="artRelation(row, '取消关联', index)">{{ row.product_id === 0 ? '关联' : '取消关联' }}</a>
|
||||
<Divider type="vertical" />
|
||||
<a @click="del(row, '删除文章', index)">删除</a>
|
||||
</template>
|
||||
</Table>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="文章名称" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ ' [ ' + scope.row.catename + ' ] ' + scope.row.title }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="关联商品" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.store_name }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="浏览量" min-width="80">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.visit }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="时间" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.add_time | formatDate }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="170">
|
||||
<template slot-scope="scope">
|
||||
<a @click="edit(scope.row)">编辑</a>
|
||||
<el-divider direction="vertical"></el-divider>
|
||||
<a @click="artRelation(scope.row, '取消关联', index)">{{
|
||||
scope.row.product_id === 0 ? '关联' : '取消关联'
|
||||
}}</a>
|
||||
<el-divider direction="vertical"></el-divider>
|
||||
<a @click="del(scope.row, '删除文章', index)">删除</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="acea-row row-right page">
|
||||
<Page
|
||||
<pagination
|
||||
v-if="total"
|
||||
:total="total"
|
||||
:current="artFrom.page"
|
||||
show-elevator
|
||||
show-total
|
||||
@on-change="pageChange"
|
||||
:page-size="artFrom.limit"
|
||||
:page.sync="artFrom.page"
|
||||
:limit.sync="artFrom.limit"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</div>
|
||||
</Card>
|
||||
</el-card>
|
||||
<!--关联-->
|
||||
<Modal
|
||||
v-model="modals"
|
||||
@ -121,53 +147,7 @@ export default {
|
||||
limit: 20,
|
||||
},
|
||||
total: 0,
|
||||
columns1: [
|
||||
{
|
||||
title: 'ID',
|
||||
key: 'id',
|
||||
width: 80,
|
||||
},
|
||||
{
|
||||
title: '文章图片',
|
||||
slot: 'image_inputs',
|
||||
minWidth: 90,
|
||||
},
|
||||
{
|
||||
title: '文章名称',
|
||||
slot: 'titles',
|
||||
minWidth: 130,
|
||||
},
|
||||
{
|
||||
title: '关联商品',
|
||||
key: 'store_name',
|
||||
minWidth: 130,
|
||||
},
|
||||
// {
|
||||
// title: '排序',
|
||||
// key: 'sort',
|
||||
// minWidth: 60
|
||||
// },
|
||||
{
|
||||
title: '浏览量',
|
||||
key: 'visit',
|
||||
minWidth: 80,
|
||||
},
|
||||
{
|
||||
title: '时间',
|
||||
key: 'add_time',
|
||||
sortable: true,
|
||||
render: (h, params) => {
|
||||
return h('div', formatDate(new Date(Number(params.row.add_time) * 1000), 'yyyy-MM-dd hh:mm'));
|
||||
},
|
||||
minWidth: 120,
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
slot: 'action',
|
||||
fixed: 'right',
|
||||
minWidth: 150,
|
||||
},
|
||||
],
|
||||
|
||||
cmsList: [],
|
||||
treeData: [],
|
||||
list: [],
|
||||
@ -188,12 +168,20 @@ export default {
|
||||
computed: {
|
||||
...mapState('media', ['isMobile']),
|
||||
labelWidth() {
|
||||
return this.isMobile ? undefined : 75;
|
||||
return this.isMobile ? undefined : '75px';
|
||||
},
|
||||
labelPosition() {
|
||||
return this.isMobile ? 'top' : 'right';
|
||||
},
|
||||
},
|
||||
filters: {
|
||||
formatDate(time) {
|
||||
if (time !== 0) {
|
||||
let date = new Date(time * 1000);
|
||||
return formatDate(date, 'yyyy-MM-dd hh:mm');
|
||||
}
|
||||
},
|
||||
},
|
||||
created() {},
|
||||
activated() {
|
||||
this.artFrom.pid = this.$route.query.id ? this.$route.query.id : 0;
|
||||
@ -256,10 +244,6 @@ export default {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
pageChange(index) {
|
||||
this.artFrom.page = index;
|
||||
this.getList();
|
||||
},
|
||||
// 下拉树
|
||||
handleCheckChange(data) {
|
||||
let value = '';
|
||||
|
||||
@ -9,17 +9,17 @@
|
||||
width="950"
|
||||
@on-cancel="handleReset"
|
||||
>
|
||||
<Form
|
||||
<el-form
|
||||
ref="levelFrom"
|
||||
:model="levelFrom"
|
||||
:label-width="labelWidth"
|
||||
:label-position="labelPosition"
|
||||
@submit.native.prevent
|
||||
>
|
||||
<Row type="flex" :gutter="24">
|
||||
<Col v-bind="grid">
|
||||
<FormItem label="商品名称:" prop="status2" label-for="status2">
|
||||
<Input
|
||||
<el-row :gutter="24">
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="商品名称:" prop="status2" label-for="status2">
|
||||
<el-input
|
||||
search
|
||||
enter-button
|
||||
v-model="levelFrom.name"
|
||||
@ -27,12 +27,12 @@
|
||||
@on-search="userSearchs"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Row>
|
||||
</Form>
|
||||
<Divider dashed />
|
||||
<Table
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-divider direction="vertical" dashed />
|
||||
<el-table
|
||||
:columns="columns1"
|
||||
:data="levelLists"
|
||||
ref="table"
|
||||
@ -41,38 +41,42 @@
|
||||
no-filtered-userFrom-text="暂无筛选结果"
|
||||
>
|
||||
<template slot-scope="{ row, index }" slot="is_shows">
|
||||
<i-switch
|
||||
<el-switch
|
||||
:active-value="1"
|
||||
:inactive-value="0"
|
||||
v-model="row.is_show"
|
||||
:value="row.is_show"
|
||||
:true-value="1"
|
||||
:false-value="0"
|
||||
size="large"
|
||||
@on-change="onchangeIsShow(row)"
|
||||
@change="onchangeIsShow(row)"
|
||||
>
|
||||
<span slot="open">显示</span>
|
||||
<span slot="close">隐藏</span>
|
||||
</i-switch>
|
||||
</el-switch>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="is_musts">
|
||||
<i-switch
|
||||
<el-switch
|
||||
:active-value="1"
|
||||
:inactive-value="0"
|
||||
v-model="row.is_must"
|
||||
:value="row.is_must"
|
||||
:true-value="1"
|
||||
:false-value="0"
|
||||
size="large"
|
||||
@on-change="onchangeIsMust(row)"
|
||||
@change="onchangeIsMust(row)"
|
||||
active-text="全部完成"
|
||||
inactive-text="达成其一"
|
||||
>
|
||||
<span slot="open">全部完成</span>
|
||||
<span slot="close">达成其一</span>
|
||||
</i-switch>
|
||||
</el-switch>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="action">
|
||||
<a @click="edit(row)">编辑 | </a>
|
||||
<a @click="del(row, '删除任务')"> 删除</a>
|
||||
</template>
|
||||
</Table>
|
||||
</el-table>
|
||||
<div class="acea-row row-right page">
|
||||
<Page :total="total" show-elevator show-total @on-change="pageChange" :page-size="levelFrom.limit" />
|
||||
<pagination
|
||||
v-if="total"
|
||||
:total="total"
|
||||
:page.sync="levelFrom.page"
|
||||
:limit.sync="levelFrom.limit"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</div>
|
||||
<!-- 新建 编辑表单-->
|
||||
<edit-from ref="edits" :FromData="FromData" @submitFail="submitFail" :titleType="titleType"></edit-from>
|
||||
|
||||
@ -1,42 +1,43 @@
|
||||
<template>
|
||||
<div>
|
||||
<Card :bordered="false" dis-hover class="ivu-mt">
|
||||
<Form
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt">
|
||||
<el-form
|
||||
ref="formValidate"
|
||||
:model="formValidate"
|
||||
:label-width="labelWidth"
|
||||
:label-position="labelPosition"
|
||||
@submit.native.prevent
|
||||
>
|
||||
<Row type="flex" :gutter="24">
|
||||
<Col v-bind="grid">
|
||||
<FormItem label="是否显示:" label-for="status">
|
||||
<Select v-model="status" placeholder="请选择" element-id="status" clearable @on-change="userSearchs">
|
||||
<Option value="all">全部</Option>
|
||||
<Option value="1">显示</Option>
|
||||
<Option value="0">不显示</Option>
|
||||
</Select>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col v-bind="grid">
|
||||
<FormItem label="分类昵称:" prop="title" label-for="status2">
|
||||
<Input
|
||||
<el-row :gutter="24">
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="是否显示:" label-for="status">
|
||||
<el-select v-model="status" placeholder="请选择" element-id="status" clearable @change="userSearchs">
|
||||
<el-option value="all" label="全部"></el-option>
|
||||
<el-option value="1" label="显示"></el-option>
|
||||
<el-option value="0" label="不显示"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="分类昵称:" prop="title" label-for="status2">
|
||||
<el-input
|
||||
search
|
||||
enter-button
|
||||
placeholder="请输入分类昵称"
|
||||
v-model="formValidate.title"
|
||||
@on-search="userSearchs"
|
||||
/>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Row>
|
||||
<Row type="flex">
|
||||
<Col v-bind="grid">
|
||||
<Button v-auth="['cms-category-create']" type="primary" icon="md-add" @click="add">添加文章分类</Button>
|
||||
</Col>
|
||||
</Row>
|
||||
</Form>
|
||||
<!-- <Divider dashed /> -->
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col v-bind="grid">
|
||||
<el-button v-auth="['cms-category-create']" type="primary" icon="md-add" @click="add"
|
||||
>添加文章分类</el-button
|
||||
>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<vxe-table
|
||||
class="vxeTable mt25"
|
||||
highlight-hover-row
|
||||
@ -56,40 +57,37 @@
|
||||
</vxe-table-column>
|
||||
<vxe-table-column field="status" title="状态" min-width="120">
|
||||
<template v-slot="{ row }">
|
||||
<i-switch
|
||||
<el-switch
|
||||
:active-value="1"
|
||||
:inactive-value="0"
|
||||
v-model="row.status"
|
||||
:value="row.status"
|
||||
:true-value="1"
|
||||
:false-value="0"
|
||||
@on-change="onchangeIsShow(row)"
|
||||
@change="onchangeIsShow(row)"
|
||||
size="large"
|
||||
>
|
||||
<span slot="open">显示</span>
|
||||
<span slot="close">隐藏</span>
|
||||
</i-switch>
|
||||
</el-switch>
|
||||
</template>
|
||||
</vxe-table-column>
|
||||
<vxe-table-column field="date" title="操作" align="center" width="250" fixed="right">
|
||||
<template v-slot="{ row }">
|
||||
<a @click="edit(row)">编辑</a>
|
||||
<Divider type="vertical" />
|
||||
<el-divider direction="vertical"></el-divider>
|
||||
<a @click="del(row, '删除文章分类')">删除</a>
|
||||
<Divider type="vertical" />
|
||||
<el-divider direction="vertical"></el-divider>
|
||||
<a @click="lookUp(row)">查看文章</a>
|
||||
</template>
|
||||
</vxe-table-column>
|
||||
</vxe-table>
|
||||
<div class="acea-row row-right page">
|
||||
<Page
|
||||
<pagination
|
||||
v-if="total"
|
||||
:total="total"
|
||||
:current="formValidate.page"
|
||||
show-elevator
|
||||
show-total
|
||||
@on-change="pageChange"
|
||||
:page-size="formValidate.limit"
|
||||
:page.sync="formValidate.page"
|
||||
:limit.sync="formValidate.limit"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</div>
|
||||
</Card>
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
@ -152,7 +150,7 @@ export default {
|
||||
computed: {
|
||||
...mapState('media', ['isMobile']),
|
||||
labelWidth() {
|
||||
return this.isMobile ? undefined : 75;
|
||||
return this.isMobile ? undefined : '75px';
|
||||
},
|
||||
labelPosition() {
|
||||
return this.isMobile ? 'top' : 'right';
|
||||
@ -217,10 +215,6 @@ export default {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
pageChange(index) {
|
||||
this.formValidate.page = index;
|
||||
this.getList();
|
||||
},
|
||||
// 表格搜索
|
||||
userSearchs() {
|
||||
this.formValidate.page = 1;
|
||||
|
||||
@ -1,31 +1,39 @@
|
||||
<template>
|
||||
<div>
|
||||
<Card :bordered="false" dis-hover class="ivu-mt">
|
||||
<Row type="flex">
|
||||
<Col v-bind="grid">
|
||||
<Button type="primary" icon="md-add" @click="add">添加</Button>
|
||||
</Col>
|
||||
</Row>
|
||||
<Table
|
||||
:columns="columns"
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt">
|
||||
<el-row>
|
||||
<el-col v-bind="grid">
|
||||
<el-button type="primary" icon="md-add" @click="add">添加</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-table
|
||||
:data="dataList"
|
||||
ref="table"
|
||||
class="mt25"
|
||||
:loading="loading"
|
||||
highlight-row
|
||||
v-loading="loading"
|
||||
highlight-current-row
|
||||
no-userFrom-text="暂无数据"
|
||||
no-filtered-userFrom-text="暂无筛选结果"
|
||||
>
|
||||
<template slot-scope="{ row, index }" slot="action">
|
||||
<a @click="edit(row)">修改</a>
|
||||
<Divider type="vertical" />
|
||||
<a @click="del(row, '删除', index)">删除</a>
|
||||
</template>
|
||||
</Table>
|
||||
<el-table-column :label="item.title" :min-width="item.minWidth" v-for="(item, index) in columns" :key="index">
|
||||
<template slot-scope="scope">
|
||||
<template v-if="item.key">
|
||||
<div>
|
||||
<span>{{ scope.row[item.key] }}</span>
|
||||
</div>
|
||||
</template>
|
||||
<template v-else-if="item.slot === 'action'">
|
||||
<a @click="edit(scope.row)">修改</a>
|
||||
<el-divider direction="vertical"></el-divider>
|
||||
<a @click="del(scope.row, '删除', index)">删除</a>
|
||||
</template>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="acea-row row-right page">
|
||||
<Page :total="total" show-elevator show-total @on-change="pageChange" :page-size="from.limit" />
|
||||
<pagination v-if="total" :total="total" :page.sync="from.page" :limit.sync="from.limit" @pagination="getList" />
|
||||
</div>
|
||||
</Card>
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -59,7 +67,7 @@ export default {
|
||||
computed: {
|
||||
...mapState('media', ['isMobile']),
|
||||
labelWidth() {
|
||||
return this.isMobile ? undefined : 75;
|
||||
return this.isMobile ? undefined : '75px';
|
||||
},
|
||||
labelPosition() {
|
||||
return this.isMobile ? 'top' : 'left';
|
||||
@ -166,11 +174,6 @@ export default {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
//分页
|
||||
pageChange(index) {
|
||||
this.from.page = index;
|
||||
this.getList();
|
||||
},
|
||||
// 修改
|
||||
edit(row) {
|
||||
let url = this.methodApi.edit.replace('<id>', row[this.curdKey]);
|
||||
|
||||
@ -3,17 +3,17 @@
|
||||
<div class="i-layout-page-header header-title">
|
||||
<span class="ivu-page-header-title">{{ $route.meta.title }}</span>
|
||||
</div>
|
||||
<Card :bordered="false" dis-hover class="ivu-mt">
|
||||
<Form :label-width="80" @submit.native.prevent>
|
||||
<FormItem label="协议内容:">
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt">
|
||||
<el-form label-width="85px" @submit.native.prevent>
|
||||
<el-form-item label="协议内容:">
|
||||
<WangEditor :content="agreement.content" @editorContent="getEditorContent"></WangEditor>
|
||||
</FormItem>
|
||||
<FormItem>
|
||||
<Button type="primary" @click="memberAgreementSave">保存</Button>
|
||||
</FormItem>
|
||||
</Form>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="memberAgreementSave">保存</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<Spin fix v-if="spinShow"></Spin>
|
||||
</Card>
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@ -1,34 +1,37 @@
|
||||
<template>
|
||||
<div>
|
||||
<Card :bordered="false" dis-hover class="ivu-mt mb10">
|
||||
<Form
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt mb10">
|
||||
<el-form
|
||||
ref="formValidate"
|
||||
:model="formValidate"
|
||||
:label-width="labelWidth"
|
||||
:label-position="labelPosition"
|
||||
@submit.native.prevent
|
||||
>
|
||||
<Row type="flex" :gutter="24" align="middle">
|
||||
<Col>
|
||||
<FormItem label="状态:">
|
||||
<Select
|
||||
<el-row :gutter="24" align="middle">
|
||||
<el-col>
|
||||
<el-form-item label="状态:">
|
||||
<el-select
|
||||
style="width: 200px"
|
||||
v-model="formValidate.status"
|
||||
placeholder="请选择状态"
|
||||
element-id="group_id"
|
||||
clearable
|
||||
@on-change="userSearchs"
|
||||
@change="userSearchs"
|
||||
>
|
||||
<Option value="all">全部</Option>
|
||||
<Option :value="item.id" v-for="(item, index) in statusList" :key="index">{{
|
||||
item.status_name
|
||||
}}</Option>
|
||||
</Select>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col>
|
||||
<FormItem label="搜索:">
|
||||
<Input
|
||||
<el-option value="all" label="全部"></el-option>
|
||||
<el-option
|
||||
:value="item.id"
|
||||
v-for="(item, index) in statusList"
|
||||
:key="index"
|
||||
:label="item.status_name"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col>
|
||||
<el-form-item label="搜索:">
|
||||
<el-input
|
||||
style="width: 250px"
|
||||
search
|
||||
enter-button
|
||||
@ -36,57 +39,89 @@
|
||||
v-model="formValidate.keyword"
|
||||
@on-search="userSearchs"
|
||||
/>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Row>
|
||||
</Form>
|
||||
</Card>
|
||||
<Card :bordered="false" dis-hover class="ivu-mt">
|
||||
<Row class="ivu-mt box-wrapper">
|
||||
<Col :xs="24" :sm="24" ref="rightBox">
|
||||
<Table
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-card>
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt">
|
||||
<el-row class="ivu-mt box-wrapper">
|
||||
<el-col :xs="24" :sm="24" ref="rightBox">
|
||||
<el-table
|
||||
:columns="columns"
|
||||
:data="userLists"
|
||||
ref="table"
|
||||
:loading="loading"
|
||||
highlight-row
|
||||
v-loading="loading"
|
||||
highlight-current-row
|
||||
no-formValidate-text="暂无数据"
|
||||
no-filtered-formValidate-text="暂无筛选结果"
|
||||
>
|
||||
<template slot-scope="{ row, index }" slot="images">
|
||||
<div class="pictrue-box" v-if="row.images.length">
|
||||
<div v-viewer v-for="(item, index) in row.images || []" :key="index">
|
||||
<img class="pictrue mr10" v-lazy="item" :src="item" />
|
||||
<el-table-column label="用户UID" width="80">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.uid }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="代理商名称" min-width="150">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.agent_name }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="代理商电话" min-width="150">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.phone }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="事业部ID" min-width="150">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.division_id }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="申请图片" min-width="150">
|
||||
<template slot-scope="scope">
|
||||
<div class="pictrue-box" v-if="scope.row.images.length">
|
||||
<div v-viewer v-for="(item, index) in scope.row.images || []" :key="index">
|
||||
<img class="pictrue mr10" v-lazy="item" :src="item" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="status">
|
||||
<Tag>{{ row.status == 0 ? '申请中' : row.status == 1 ? '已同意' : '已拒绝' }}</Tag>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="division_end_time">
|
||||
<span> {{ row.division_end_time }}</span>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="action">
|
||||
<a v-if="row.status == 0" @click="groupAdd(row.id, 1)">同意</a>
|
||||
<Divider v-if="row.status == 0" type="vertical" />
|
||||
<a v-if="row.status == 0" @click="groupAdd(row.id, 0)">拒绝</a>
|
||||
<Divider type="vertical" v-if="row.status == 0" />
|
||||
<a @click="del(row, '删除申请', index)">删除</a>
|
||||
</template>
|
||||
</Table>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="申请时间" min-width="150">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.add_time }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="申请状态" min-width="150">
|
||||
<template slot-scope="scope">
|
||||
<Tag>{{ scope.row.status == 0 ? '申请中' : scope.row.status == 1 ? '已同意' : '已拒绝' }}</Tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="邀请码" min-width="150">
|
||||
<template slot-scope="scope">
|
||||
<Tag>{{ scope.row.division_invite }}</Tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="170">
|
||||
<template slot-scope="scope">
|
||||
<a v-if="scope.row.status == 0" @click="groupAdd(scope.row.id, 1)">同意</a>
|
||||
<el-divider v-if="scope.row.status == 0" direction="vertical" />
|
||||
<a v-if="scope.row.status == 0" @click="groupAdd(scope.row.id, 0)">拒绝</a>
|
||||
<el-divider direction="vertical" v-if="scope.row.status == 0" />
|
||||
<a @click="del(scope.row, '删除申请', index)">删除</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="acea-row row-right page">
|
||||
<Page
|
||||
<pagination
|
||||
v-if="total"
|
||||
:total="total"
|
||||
:current="formValidate.page"
|
||||
show-elevator
|
||||
show-total
|
||||
@on-change="pageChange"
|
||||
:page-size="formValidate.limit"
|
||||
:page.sync="formValidate.page"
|
||||
:limit.sync="formValidate.limit"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</div>
|
||||
</Col>
|
||||
</Row>
|
||||
</Card>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -204,7 +239,7 @@ export default {
|
||||
computed: {
|
||||
...mapState('media', ['isMobile']),
|
||||
labelWidth() {
|
||||
return this.isMobile ? undefined : 75;
|
||||
return this.isMobile ? undefined : '75px';
|
||||
},
|
||||
labelPosition() {
|
||||
return this.isMobile ? 'top' : 'right';
|
||||
|
||||
@ -1,17 +1,17 @@
|
||||
<template>
|
||||
<div>
|
||||
<Card :bordered="false" dis-hover class="ivu-mt">
|
||||
<Form
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt">
|
||||
<el-form
|
||||
ref="formValidate"
|
||||
:model="formValidate"
|
||||
:label-width="labelWidth"
|
||||
:label-position="labelPosition"
|
||||
@submit.native.prevent
|
||||
>
|
||||
<Row type="flex" :gutter="24" align="middle">
|
||||
<Col v-bind="grid">
|
||||
<FormItem label="搜索:" label-for="status">
|
||||
<Input
|
||||
<el-row :gutter="24" align="middle">
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="搜索:" label-for="status">
|
||||
<el-input
|
||||
style="width: 300px"
|
||||
search
|
||||
enter-button
|
||||
@ -19,121 +19,150 @@
|
||||
v-model="formValidate.keyword"
|
||||
@on-search="userSearchs"
|
||||
/>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Row>
|
||||
</Form>
|
||||
</Card>
|
||||
<Card :bordered="false" dis-hover class="ivu-mt">
|
||||
<Row class="ivu-mt box-wrapper">
|
||||
<Col :xs="24" :sm="24" ref="rightBox">
|
||||
<Row type="flex">
|
||||
<Col v-bind="grid">
|
||||
<Button type="primary" @click="groupAdd('0')" class="mr20">添加代理商</Button>
|
||||
</Col>
|
||||
</Row>
|
||||
<Table
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-card>
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt">
|
||||
<el-row class="ivu-mt box-wrapper">
|
||||
<el-col :xs="24" :sm="24" ref="rightBox">
|
||||
<el-row>
|
||||
<el-col v-bind="grid">
|
||||
<el-button type="primary" @click="groupAdd('0')" class="mr20">添加代理商</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-table
|
||||
:columns="columns"
|
||||
:data="userLists"
|
||||
ref="table"
|
||||
class="mt25"
|
||||
:loading="loading"
|
||||
highlight-row
|
||||
v-loading="loading"
|
||||
highlight-current-row
|
||||
no-formValidate-text="暂无数据"
|
||||
no-filtered-formValidate-text="暂无筛选结果"
|
||||
>
|
||||
<template slot-scope="{ row, index }" slot="avatars">
|
||||
<div class="tabBox_img" v-viewer>
|
||||
<img v-lazy="row.avatar" />
|
||||
</div>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="nickname">
|
||||
<div class="acea-row">
|
||||
<Icon type="md-male" v-show="row.sex === '男'" color="#2db7f5" size="15" class="mr5" />
|
||||
<Icon type="md-female" v-show="row.sex === '女'" color="#ed4014" size="15" class="mr5" />
|
||||
<div v-text="row.nickname"></div>
|
||||
</div>
|
||||
<!-- <div v-show="row.vip_name" class="vipName">{{row.vip_name}}</div>-->
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="status">
|
||||
<i-switch
|
||||
v-model="row.division_status"
|
||||
:value="row.division_status"
|
||||
:true-value="1"
|
||||
:false-value="0"
|
||||
@on-change="onchangeIsShow(row)"
|
||||
size="large"
|
||||
>
|
||||
<span slot="open">显示</span>
|
||||
<span slot="close">隐藏</span>
|
||||
</i-switch>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="division_end_time">
|
||||
<span> {{ row.division_end_time }}</span>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="division_percent">
|
||||
<span> {{ row.division_percent }}%</span>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="action">
|
||||
<a @click="jump(row.uid)">查看员工</a>
|
||||
<Divider type="vertical" />
|
||||
<a @click="groupAdd(row.uid)">编辑</a>
|
||||
<Divider type="vertical" />
|
||||
<a @click="del(row, '删除代理商', index)">删除</a>
|
||||
</template>
|
||||
</Table>
|
||||
<el-table-column label="用户UID" width="80">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.uid }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="头像" min-width="90">
|
||||
<template slot-scope="scope">
|
||||
<div class="tabBox_img" v-viewer>
|
||||
<img v-lazy="scope.row.avatar" />
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="姓名" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<div class="acea-row">
|
||||
<Icon type="md-male" v-show="scope.row.sex === '男'" color="#2db7f5" size="15" class="mr5" />
|
||||
<Icon type="md-female" v-show="scope.row.sex === '女'" color="#ed4014" size="15" class="mr5" />
|
||||
<div v-text="scope.row.nickname"></div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="分销比例" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span> {{ scope.row.division_percent }}%</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="代理商数量" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.agent_count }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="订单数量" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.order_count }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="截止时间" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.division_end_time }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="状态" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<el-switch
|
||||
:active-value="1"
|
||||
:inactive-value="0"
|
||||
v-model="scope.row.division_status"
|
||||
:value="scope.row.division_status"
|
||||
@change="onchangeIsShow(scope.row)"
|
||||
size="large"
|
||||
>
|
||||
</el-switch>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="170">
|
||||
<template slot-scope="scope">
|
||||
<a @click="jump(scope.row.uid)">查看员工</a>
|
||||
<el-divider direction="vertical"></el-divider>
|
||||
<a @click="groupAdd(scope.row.uid)">编辑</a>
|
||||
<el-divider direction="vertical"></el-divider>
|
||||
<a @click="del(scope.row, '删除代理商', index)">删除</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="acea-row row-right page">
|
||||
<Page
|
||||
<pagination
|
||||
v-if="total"
|
||||
:total="total"
|
||||
:current="formValidate.page"
|
||||
show-elevator
|
||||
show-total
|
||||
@on-change="pageChange"
|
||||
:page-size="formValidate.limit"
|
||||
:page.sync="formValidate.page"
|
||||
:limit.sync="formValidate.limit"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</div>
|
||||
</Col>
|
||||
</Row>
|
||||
</Card>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-card>
|
||||
<Modal v-model="staffModal" scrollable title="员工列表" class="order_box" width="800" footer-hide>
|
||||
<Table
|
||||
<el-table
|
||||
:columns="columns2"
|
||||
:data="clerkLists"
|
||||
ref="table"
|
||||
class="mt25"
|
||||
:loading="loading"
|
||||
highlight-row
|
||||
v-loading="loading"
|
||||
highlight-current-row
|
||||
no-formValidate-text="暂无数据"
|
||||
no-filtered-formValidate-text="暂无筛选结果"
|
||||
>
|
||||
<template slot-scope="{ row, index }" slot="avatars">
|
||||
<div class="tabBox_img" v-viewer>
|
||||
<img v-lazy="row.avatar" />
|
||||
</div>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="nickname">
|
||||
<div class="acea-row">
|
||||
<Icon type="md-male" v-show="row.sex === '男'" color="#2db7f5" size="15" class="mr5" />
|
||||
<Icon type="md-female" v-show="row.sex === '女'" color="#ed4014" size="15" class="mr5" />
|
||||
<div v-text="row.nickname"></div>
|
||||
</div>
|
||||
<!-- <div v-show="row.vip_name" class="vipName">{{row.vip_name}}</div>-->
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="agent_end_time">
|
||||
<span> {{ row.agent_end_time | formatDate }}</span>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="division_percent">
|
||||
<span> {{ row.division_percent }}%</span>
|
||||
</template>
|
||||
</Table>
|
||||
<el-table-column label="用户UID" width="80">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.uid }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="头像" min-width="90">
|
||||
<template slot-scope="scope">
|
||||
<div class="tabBox_img" v-viewer>
|
||||
<img v-lazy="scope.row.avatar" />
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="姓名" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<div class="acea-row">
|
||||
<Icon type="md-male" v-show="scope.row.sex === '男'" color="#2db7f5" size="15" class="mr5" />
|
||||
<Icon type="md-female" v-show="scope.row.sex === '女'" color="#ed4014" size="15" class="mr5" />
|
||||
<div v-text="scope.row.nickname"></div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="分销比例" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span> {{ scope.row.division_percent }}%</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="acea-row row-right page">
|
||||
<Page
|
||||
<pagination
|
||||
v-if="total2"
|
||||
:total="total2"
|
||||
:current="clerkReqData.page"
|
||||
show-elevator
|
||||
show-total
|
||||
@on-change="clerkPageChange"
|
||||
:page-size="clerkReqData.limit"
|
||||
:page.sync="clerkReqData.page"
|
||||
:limit.sync="clerkReqData.limit"
|
||||
@pagination="getClerkList"
|
||||
/>
|
||||
</div>
|
||||
</Modal>
|
||||
@ -261,7 +290,7 @@ export default {
|
||||
computed: {
|
||||
...mapState('media', ['isMobile']),
|
||||
labelWidth() {
|
||||
return this.isMobile ? undefined : 75;
|
||||
return this.isMobile ? undefined : '75px';
|
||||
},
|
||||
labelPosition() {
|
||||
return this.isMobile ? 'top' : 'right';
|
||||
@ -303,14 +332,6 @@ export default {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
pageChange(index) {
|
||||
this.formValidate.page = index;
|
||||
this.getList();
|
||||
},
|
||||
clerkPageChange() {
|
||||
this.clerkReqData.page = index;
|
||||
this.getClerkList();
|
||||
},
|
||||
// 添加表单
|
||||
groupAdd(id) {
|
||||
this.$modalForm(agentFrom(id))
|
||||
|
||||
@ -1,17 +1,17 @@
|
||||
<template>
|
||||
<div>
|
||||
<Card :bordered="false" dis-hover class="ivu-mt">
|
||||
<Form
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt">
|
||||
<el-form
|
||||
ref="formValidate"
|
||||
:model="formValidate"
|
||||
:label-width="labelWidth"
|
||||
:label-position="labelPosition"
|
||||
@submit.native.prevent
|
||||
>
|
||||
<Row type="flex" :gutter="24" align="middle">
|
||||
<Col v-bind="grid">
|
||||
<FormItem label="搜索:" label-for="status">
|
||||
<Input
|
||||
<el-row :gutter="24" align="middle">
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="搜索:" label-for="status">
|
||||
<el-input
|
||||
style="width: 300px"
|
||||
search
|
||||
enter-button
|
||||
@ -19,121 +19,163 @@
|
||||
v-model="formValidate.keyword"
|
||||
@on-search="userSearchs"
|
||||
/>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Row>
|
||||
</Form>
|
||||
</Card>
|
||||
<Card :bordered="false" dis-hover class="ivu-mt">
|
||||
<Row class="ivu-mt box-wrapper">
|
||||
<Col :xs="24" :sm="24" ref="rightBox">
|
||||
<Row type="flex">
|
||||
<Col v-bind="grid">
|
||||
<Button type="primary" @click="groupAdd('0')" class="mr20">添加事业部</Button>
|
||||
</Col>
|
||||
</Row>
|
||||
<Table
|
||||
:columns="columns"
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-card>
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt">
|
||||
<el-row class="ivu-mt box-wrapper">
|
||||
<el-col :xs="24" :sm="24" ref="rightBox">
|
||||
<el-row>
|
||||
<el-col v-bind="grid">
|
||||
<el-button type="primary" @click="groupAdd('0')" class="mr20">添加事业部</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-table
|
||||
:data="userLists"
|
||||
ref="table"
|
||||
class="mt25"
|
||||
:loading="loading"
|
||||
highlight-row
|
||||
highlight-current-row
|
||||
no-formValidate-text="暂无数据"
|
||||
no-filtered-formValidate-text="暂无筛选结果"
|
||||
>
|
||||
<template slot-scope="{ row, index }" slot="avatars">
|
||||
<div class="tabBox_img" v-viewer>
|
||||
<img v-lazy="row.avatar" />
|
||||
</div>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="nickname">
|
||||
<div class="acea-row">
|
||||
<Icon type="md-male" v-show="row.sex === '男'" color="#2db7f5" size="15" class="mr5" />
|
||||
<Icon type="md-female" v-show="row.sex === '女'" color="#ed4014" size="15" class="mr5" />
|
||||
<div v-text="row.nickname"></div>
|
||||
</div>
|
||||
<!-- <div v-show="row.vip_name" class="vipName">{{row.vip_name}}</div>-->
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="status">
|
||||
<i-switch
|
||||
v-model="row.division_status"
|
||||
:value="row.division_status"
|
||||
:true-value="1"
|
||||
:false-value="0"
|
||||
@on-change="onchangeIsShow(row)"
|
||||
size="large"
|
||||
>
|
||||
<span slot="open">显示</span>
|
||||
<span slot="close">隐藏</span>
|
||||
</i-switch>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="division_end_time">
|
||||
<span> {{ row.division_end_time }}</span>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="division_percent">
|
||||
<span> {{ row.division_percent }}%</span>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="action">
|
||||
<a @click="jump(row.uid)">查看代理商</a>
|
||||
<Divider type="vertical" />
|
||||
<a @click="groupAdd(row.uid)">编辑</a>
|
||||
<Divider type="vertical" />
|
||||
<a @click="del(row, '删除员工', index)">删除</a>
|
||||
</template>
|
||||
</Table>
|
||||
<el-table-column label="用户UID" width="80">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.uid }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="头像" min-width="90">
|
||||
<template slot-scope="scope">
|
||||
<div class="tabBox_img" v-viewer>
|
||||
<img v-lazy="scope.row.avatar" />
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="姓名" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<div class="acea-row">
|
||||
<Icon type="md-male" v-show="scope.row.sex === '男'" color="#2db7f5" size="15" class="mr5" />
|
||||
<Icon type="md-female" v-show="scope.row.sex === '女'" color="#ed4014" size="15" class="mr5" />
|
||||
<div v-text="scope.row.nickname"></div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="邀请码" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.division_invite }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="分销比例" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span> {{ scope.row.division_percent }}%</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="代理商数量" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.agent_count }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="订单数量" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.order_count }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="截止时间" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.division_end_time }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="状态" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<el-switch
|
||||
:active-value="1"
|
||||
:inactive-value="0"
|
||||
v-model="scope.row.division_status"
|
||||
:value="scope.row.division_status"
|
||||
@change="onchangeIsShow(scope.row)"
|
||||
size="large"
|
||||
>
|
||||
</el-switch>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="170">
|
||||
<template slot-scope="scope">
|
||||
<a @click="jump(scope.row.uid)">查看代理商</a>
|
||||
<el-divider direction="vertical"></el-divider>
|
||||
<a @click="groupAdd(scope.row.uid)">编辑</a>
|
||||
<el-divider direction="vertical"></el-divider>
|
||||
<a @click="del(scope.row, '删除员工', index)">删除</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="acea-row row-right page">
|
||||
<Page
|
||||
<pagination
|
||||
v-if="total"
|
||||
:total="total"
|
||||
:current="formValidate.page"
|
||||
show-elevator
|
||||
show-total
|
||||
@on-change="pageChange"
|
||||
:page-size="formValidate.limit"
|
||||
:page.sync="formValidate.page"
|
||||
:limit.sync="formValidate.limit"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</div>
|
||||
</Col>
|
||||
</Row>
|
||||
</Card>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-card>
|
||||
<Modal v-model="staffModal" scrollable title="代理商列表" class="order_box" width="800" footer-hide>
|
||||
<Table
|
||||
:columns="columns2"
|
||||
<el-table
|
||||
:data="clerkLists"
|
||||
ref="table"
|
||||
class="mt25"
|
||||
:loading="loading"
|
||||
highlight-row
|
||||
v-loading="loading"
|
||||
highlight-current-row
|
||||
no-formValidate-text="暂无数据"
|
||||
no-filtered-formValidate-text="暂无筛选结果"
|
||||
>
|
||||
<template slot-scope="{ row, index }" slot="avatars">
|
||||
<div class="tabBox_img" v-viewer>
|
||||
<img v-lazy="row.avatar" />
|
||||
</div>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="nickname">
|
||||
<div class="acea-row">
|
||||
<Icon type="md-male" v-show="row.sex === '男'" color="#2db7f5" size="15" class="mr5" />
|
||||
<Icon type="md-female" v-show="row.sex === '女'" color="#ed4014" size="15" class="mr5" />
|
||||
<div v-text="row.nickname"></div>
|
||||
</div>
|
||||
<!-- <div v-show="row.vip_name" class="vipName">{{row.vip_name}}</div>-->
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="agent_end_time">
|
||||
<span> {{ row.agent_end_time | formatDate }}</span>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="division_percent">
|
||||
<span> {{ row.division_percent }}%</span>
|
||||
</template>
|
||||
</Table>
|
||||
<el-table-column label="用户UID" width="80">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.uid }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="头像" min-width="90">
|
||||
<template slot-scope="scope">
|
||||
<div class="tabBox_img" v-viewer>
|
||||
<img v-lazy="scope.row.avatar" />
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="姓名" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<div class="acea-row">
|
||||
<Icon type="md-male" v-show="scope.row.sex === '男'" color="#2db7f5" size="15" class="mr5" />
|
||||
<Icon type="md-female" v-show="scope.row.sex === '女'" color="#ed4014" size="15" class="mr5" />
|
||||
<div v-text="scope.row.nickname"></div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="分销比例" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span> {{ scope.row.division_percent }}%</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="到期时间" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span> {{ scope.row.division_end_time | formatDate }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="员工数量" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span> {{ scope.row.agent_count }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="acea-row row-right page">
|
||||
<Page
|
||||
<pagination
|
||||
v-if="total2"
|
||||
:total="total2"
|
||||
:current="clerkReqData.page"
|
||||
show-elevator
|
||||
show-total
|
||||
@on-change="clerkPageChange"
|
||||
:page-size="clerkReqData.limit"
|
||||
:page.sync="clerkReqData.page"
|
||||
:limit.sync="clerkReqData.limit"
|
||||
@pagination="getClerkList"
|
||||
/>
|
||||
</div>
|
||||
</Modal>
|
||||
@ -163,91 +205,6 @@ export default {
|
||||
proportion: 0,
|
||||
image: '',
|
||||
},
|
||||
columns2: [
|
||||
{
|
||||
title: '用户UID',
|
||||
key: 'uid',
|
||||
width: 80,
|
||||
},
|
||||
{
|
||||
title: '头像',
|
||||
slot: 'avatars',
|
||||
minWidth: 60,
|
||||
},
|
||||
{
|
||||
title: '姓名',
|
||||
slot: 'nickname',
|
||||
minWidth: 150,
|
||||
},
|
||||
{
|
||||
title: '分销比例',
|
||||
slot: 'division_percent',
|
||||
minWidth: 100,
|
||||
},
|
||||
{
|
||||
title: '到期时间',
|
||||
key: 'division_end_time',
|
||||
minWidth: 150,
|
||||
},
|
||||
{
|
||||
title: '员工数量',
|
||||
key: 'agent_count',
|
||||
minWidth: 100,
|
||||
},
|
||||
],
|
||||
columns: [
|
||||
{
|
||||
title: '用户UID',
|
||||
key: 'uid',
|
||||
width: 80,
|
||||
},
|
||||
{
|
||||
title: '头像',
|
||||
slot: 'avatars',
|
||||
minWidth: 60,
|
||||
},
|
||||
{
|
||||
title: '姓名',
|
||||
slot: 'nickname',
|
||||
minWidth: 150,
|
||||
},
|
||||
{
|
||||
title: '邀请码',
|
||||
key: 'division_invite',
|
||||
minWidth: 150,
|
||||
},
|
||||
{
|
||||
title: '分销比例',
|
||||
slot: 'division_percent',
|
||||
minWidth: 100,
|
||||
},
|
||||
{
|
||||
title: '代理商数量',
|
||||
key: 'agent_count',
|
||||
minWidth: 100,
|
||||
},
|
||||
{
|
||||
title: '订单数量',
|
||||
key: 'order_count',
|
||||
minWidth: 100,
|
||||
},
|
||||
{
|
||||
title: '截止时间',
|
||||
slot: 'division_end_time',
|
||||
minWidth: 100,
|
||||
},
|
||||
{
|
||||
title: '状态',
|
||||
slot: 'status',
|
||||
minWidth: 100,
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
slot: 'action',
|
||||
fixed: 'right',
|
||||
minWidth: 120,
|
||||
},
|
||||
],
|
||||
FromData: null,
|
||||
loading: false,
|
||||
current: 0,
|
||||
@ -276,7 +233,7 @@ export default {
|
||||
computed: {
|
||||
...mapState('media', ['isMobile']),
|
||||
labelWidth() {
|
||||
return this.isMobile ? undefined : 75;
|
||||
return this.isMobile ? undefined : '75px';
|
||||
},
|
||||
labelPosition() {
|
||||
return this.isMobile ? 'top' : 'right';
|
||||
@ -319,14 +276,6 @@ export default {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
pageChange(index) {
|
||||
this.formValidate.page = index;
|
||||
this.getList();
|
||||
},
|
||||
clerkPageChange() {
|
||||
this.clerkReqData.page = index;
|
||||
this.getClerkList();
|
||||
},
|
||||
// 添加表单
|
||||
groupAdd(id) {
|
||||
this.$modalForm(regionFrom(id))
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div>
|
||||
<Card :bordered="false" dis-hover class="ivu-mt mb10">
|
||||
<Form
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt mb10">
|
||||
<el-form
|
||||
ref="formValidate"
|
||||
:model="formValidate"
|
||||
:label-width="labelWidth"
|
||||
@ -9,14 +9,14 @@
|
||||
class="tabform"
|
||||
@submit.native.prevent
|
||||
>
|
||||
<Row :gutter="24" type="flex">
|
||||
<Col span="24">
|
||||
<FormItem label="订单时间:">
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="订单时间:">
|
||||
<dateRadio @selectDate="onSelectDate"></dateRadio>
|
||||
<DatePicker
|
||||
:editable="false"
|
||||
:clearable="false"
|
||||
@on-change="onchangeTime"
|
||||
@change="onchangeTime"
|
||||
:value="timeVal"
|
||||
format="yyyy/MM/dd"
|
||||
type="daterange"
|
||||
@ -26,74 +26,88 @@
|
||||
:options="options"
|
||||
class="mr20"
|
||||
></DatePicker>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col span="24">
|
||||
<FormItem label="交易类型:">
|
||||
<Select
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="交易类型:">
|
||||
<el-select
|
||||
type="button"
|
||||
v-model="formValidate.trading_type"
|
||||
class="mr15"
|
||||
@on-change="selChange"
|
||||
@change="selChange"
|
||||
style="width: 30%"
|
||||
>
|
||||
<Option
|
||||
<el-option
|
||||
:label="item"
|
||||
:value="Object.keys(withdrawal)[index]"
|
||||
v-for="(item, index) in Object.values(withdrawal)"
|
||||
:key="index"
|
||||
>{{ item }}</Option
|
||||
>
|
||||
</Select>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Row>
|
||||
</Form>
|
||||
</Card>
|
||||
<Card :bordered="false" dis-hover>
|
||||
<Table
|
||||
ref="table"
|
||||
:columns="columns"
|
||||
:data="tabList"
|
||||
:loading="loading"
|
||||
no-data-text="暂无数据"
|
||||
no-filtered-data-text="暂无筛选结果"
|
||||
>
|
||||
<template slot-scope="{ row }" slot="extract_price">
|
||||
<div>{{ row.extract_price }}</div>
|
||||
</template>
|
||||
<template slot-scope="{ row }" slot="pay_type">
|
||||
<div v-for="item in payment" :key="item.value">
|
||||
<span v-if="row.pay_type == item.value"> {{ item.title }} </span>
|
||||
</div>
|
||||
</template>
|
||||
<template slot-scope="{ row }" slot="number">
|
||||
<div v-if="row.pm" class="z-price">+ {{ row.number }}</div>
|
||||
<div v-else class="f-price">- {{ row.number }}</div>
|
||||
</template>
|
||||
<template slot-scope="{ row }" slot="add_time">
|
||||
<span> {{ row.add_time | formatDate }}</span>
|
||||
</template>
|
||||
<template slot-scope="{ row }" slot="set">
|
||||
<Button size="small" type="primary" class="item" @click="setMark(row)">备注</Button>
|
||||
</template>
|
||||
</Table>
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-card>
|
||||
<el-card :bordered="false" shadow="never">
|
||||
<el-table ref="table" :columns="columns" :data="tabList" :loading="loading" empty-text="暂无数据">
|
||||
<el-table-column label="ID" width="50">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.id }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="关联订单" min-width="120">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.relation }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="交易时间" min-width="100">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.add_time }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="交易金额" min-width="100">
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.pm" class="z-price">+ {{ scope.row.number }}</div>
|
||||
<div v-else class="f-price">- {{ scope.row.number }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="用户" min-width="100">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.nickname }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="交易类型" min-width="100">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.type_name }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="备注" min-width="100">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.mark }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="70">
|
||||
<template slot-scope="scope">
|
||||
<a @click="setMark(scope.row)">备注</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="acea-row row-right page">
|
||||
<Page
|
||||
<pagination
|
||||
v-if="total"
|
||||
:total="total"
|
||||
:current="formValidate.page"
|
||||
show-elevator
|
||||
show-total
|
||||
@on-change="pageChange"
|
||||
:page-size="formValidate.limit"
|
||||
:page.sync="formValidate.page"
|
||||
:limit.sync="formValidate.limit"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</div>
|
||||
</Card>
|
||||
</el-card>
|
||||
<!-- 拒绝通过-->
|
||||
<Modal v-model="modals" scrollable closable title="备注" :mask-closable="false">
|
||||
<Input v-model="mark_msg.mark" type="textarea" :rows="4" placeholder="请输入备注" />
|
||||
<el-input v-model="mark_msg.mark" type="textarea" :rows="4" placeholder="请输入备注" />
|
||||
<div slot="footer">
|
||||
<Button type="primary" size="large" long :loading="modal_loading" @click="oks">确定</Button>
|
||||
<el-button type="primary" size="large" long :loading="modal_loading" @click="oks">确定</el-button>
|
||||
</div>
|
||||
</Modal>
|
||||
</div>
|
||||
@ -209,7 +223,7 @@ export default {
|
||||
computed: {
|
||||
...mapState('media', ['isMobile']),
|
||||
labelWidth() {
|
||||
return this.isMobile ? undefined : 80;
|
||||
return this.isMobile ? undefined : '85px';
|
||||
},
|
||||
labelPosition() {
|
||||
return this.isMobile ? 'top' : 'left';
|
||||
@ -279,10 +293,6 @@ export default {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
pageChange(index) {
|
||||
this.formValidate.page = index;
|
||||
this.getList();
|
||||
},
|
||||
// 编辑提交成功
|
||||
submitFail() {
|
||||
this.getList();
|
||||
|
||||
@ -1,24 +1,24 @@
|
||||
<template>
|
||||
<div>
|
||||
<Card :bordered="false" dis-hover class="ivu-mt">
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt">
|
||||
<div class="ivu-mt tabbox">
|
||||
<Tabs @on-click="onClickTab" class="mb20">
|
||||
<TabPane label="日账单" name="day" />
|
||||
<TabPane label="周账单" name="week" />
|
||||
<TabPane label="月账单" name="month" />
|
||||
</Tabs>
|
||||
<Form
|
||||
<el-tabs v-model="tab" @tab-click="onClickTab" class="mb20">
|
||||
<el-tab-pane label="日账单" name="day" />
|
||||
<el-tab-pane label="周账单" name="week" />
|
||||
<el-tab-pane label="月账单" name="month" />
|
||||
</el-tabs>
|
||||
<el-form
|
||||
ref="formValidate"
|
||||
:model="formValidate"
|
||||
:label-width="labelWidth"
|
||||
:label-position="labelPosition"
|
||||
@submit.native.prevent
|
||||
>
|
||||
<FormItem label="创建时间:">
|
||||
<el-form-item label="创建时间:">
|
||||
<DatePicker
|
||||
:editable="false"
|
||||
:clearable="false"
|
||||
@on-change="onchangeTime"
|
||||
@change="onchangeTime"
|
||||
:value="timeVal"
|
||||
format="yyyy/MM/dd"
|
||||
type="daterange"
|
||||
@ -28,47 +28,69 @@
|
||||
:options="options"
|
||||
class="mr20"
|
||||
></DatePicker>
|
||||
</FormItem>
|
||||
</Form>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<div class="table">
|
||||
<Table
|
||||
<el-table
|
||||
:columns="columns"
|
||||
:data="orderList"
|
||||
ref="table"
|
||||
class="mt25"
|
||||
:loading="loading"
|
||||
highlight-row
|
||||
v-loading="loading"
|
||||
highlight-current-row
|
||||
no-userFrom-text="暂无数据"
|
||||
no-filtered-userFrom-text="暂无筛选结果"
|
||||
>
|
||||
<template slot-scope="{ row }" slot="income_price">
|
||||
<span style="color: #f5222d">¥{{ row.income_price }}</span>
|
||||
</template>
|
||||
<template slot-scope="{ row }" slot="exp_price">
|
||||
<span style="color: #00c050">¥{{ row.exp_price }}</span>
|
||||
</template>
|
||||
<template slot-scope="{ row }" slot="entry_price">
|
||||
<span>¥{{ row.entry_price }}</span>
|
||||
</template>
|
||||
<template slot-scope="{ row }" slot="action">
|
||||
<a @click="Info(row)">账单详情</a>
|
||||
<Divider type="vertical" />
|
||||
<a @click="download(row)">下载</a>
|
||||
</template>
|
||||
</Table>
|
||||
<el-table-column label="ID" width="80">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.id }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="标题" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.title }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="日期" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.add_time }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="收入金额" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span style="color: #f5222d">¥{{ scope.row.income_price }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="支出金额" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span style="color: #00c050">¥{{ scope.row.exp_price }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="入账金额" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>¥{{ scope.row.entry_price }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="170">
|
||||
<template slot-scope="scope">
|
||||
<a @click="Info(scope.row)">账单详情</a>
|
||||
<el-divider direction="vertical"></el-divider>
|
||||
<a @click="download(scope.row)">下载</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="acea-row row-right page">
|
||||
<Page
|
||||
<pagination
|
||||
v-if="total"
|
||||
:total="total"
|
||||
:current="formValidate.page"
|
||||
show-elevator
|
||||
show-total
|
||||
@on-change="pageChange"
|
||||
:page-size="formValidate.limit"
|
||||
:page.sync="formValidate.page"
|
||||
:limit.sync="formValidate.limit"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</Card>
|
||||
</el-card>
|
||||
<Modal
|
||||
v-model="modals"
|
||||
scrollable
|
||||
@ -110,7 +132,6 @@ export default {
|
||||
total: 0,
|
||||
loading: false,
|
||||
tab: 'day',
|
||||
staff: [],
|
||||
columns: [
|
||||
{
|
||||
title: 'ID',
|
||||
@ -184,7 +205,7 @@ export default {
|
||||
},
|
||||
computed: {
|
||||
labelWidth() {
|
||||
return this.isMobile ? undefined : 80;
|
||||
return this.isMobile ? undefined : '85px';
|
||||
},
|
||||
labelPosition() {
|
||||
return this.isMobile ? 'top' : 'left';
|
||||
@ -192,16 +213,9 @@ export default {
|
||||
},
|
||||
mounted() {
|
||||
this.onClickTab(this.tab);
|
||||
this.staffApi();
|
||||
},
|
||||
methods: {
|
||||
staffApi() {
|
||||
staffListInfo().then((res) => {
|
||||
this.staff = res.data;
|
||||
});
|
||||
},
|
||||
onClickTab(e) {
|
||||
this.tab = e;
|
||||
onClickTab() {
|
||||
this.getList();
|
||||
},
|
||||
search() {
|
||||
@ -236,11 +250,6 @@ export default {
|
||||
this.formValidate.page = 1;
|
||||
this.getList();
|
||||
},
|
||||
//分页
|
||||
pageChange(status) {
|
||||
this.formValidate.page = status;
|
||||
this.getList();
|
||||
},
|
||||
// 账单详情
|
||||
Info(row) {
|
||||
this.ids = row.ids || '';
|
||||
|
||||
@ -51,26 +51,36 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="goods-box">
|
||||
<Table :columns="columns1" :data="orderList">
|
||||
<template slot-scope="{ row, index }" slot="id">
|
||||
{{ row.productInfo.id }}
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="name">
|
||||
<div class="product_info">
|
||||
<img :src="row.productInfo.image" alt="" />
|
||||
<p>{{ row.productInfo.store_name }}</p>
|
||||
</div>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="className">
|
||||
{{ row.class_name }}
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="price">
|
||||
{{ row.productInfo.price }}
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="total_num">
|
||||
{{ row.cart_num }}
|
||||
</template>
|
||||
</Table>
|
||||
<el-table :data="orderList">
|
||||
<el-table-column label="商品ID" width="80">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.productInfo.id }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="商品名称" min-width="160">
|
||||
<template slot-scope="scope">
|
||||
<div class="product_info">
|
||||
<img :src="scope.row.productInfo.image" alt="" />
|
||||
<p>{{ scope.row.productInfo.store_name }}</p>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="商品分类" min-width="160">
|
||||
<template slot-scope="scope">
|
||||
<div>{{ scope.row.class_name }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="商品售价" min-width="160">
|
||||
<template slot-scope="scope">
|
||||
<div>{{ scope.row.productInfo.price }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="商品数量" min-width="160">
|
||||
<template slot-scope="scope">
|
||||
<div>{{ scope.row.cart_num }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<Spin fix v-if="spinShow"></Spin>
|
||||
</div>
|
||||
@ -90,30 +100,6 @@ export default {
|
||||
return {
|
||||
orderDetail: {},
|
||||
orderList: [],
|
||||
columns1: [
|
||||
{
|
||||
title: '商品ID',
|
||||
slot: 'id',
|
||||
maxWidth: 80,
|
||||
},
|
||||
{
|
||||
title: '商品名称',
|
||||
slot: 'name',
|
||||
minWidth: 160,
|
||||
},
|
||||
{
|
||||
title: '商品分类',
|
||||
slot: 'className',
|
||||
},
|
||||
{
|
||||
title: '商品售价',
|
||||
slot: 'price',
|
||||
},
|
||||
{
|
||||
title: '商品数量',
|
||||
slot: 'total_num',
|
||||
},
|
||||
],
|
||||
spinShow: false,
|
||||
};
|
||||
},
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div>
|
||||
<Card :bordered="false" dis-hover class="ivu-mt mb10">
|
||||
<Form
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt mb10">
|
||||
<el-form
|
||||
ref="formValidate"
|
||||
:model="formValidate"
|
||||
:label-width="labelWidth"
|
||||
@ -9,13 +9,13 @@
|
||||
class="tabform"
|
||||
@submit.native.prevent
|
||||
>
|
||||
<Row :gutter="24" type="flex">
|
||||
<Col span="24">
|
||||
<FormItem label="订单时间:">
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="订单时间:">
|
||||
<DatePicker
|
||||
:editable="false"
|
||||
:clearable="false"
|
||||
@on-change="onchangeTime"
|
||||
@change="onchangeTime"
|
||||
:value="timeVal"
|
||||
format="yyyy/MM/dd"
|
||||
type="daterange"
|
||||
@ -25,27 +25,25 @@
|
||||
:options="options"
|
||||
class="mr20"
|
||||
></DatePicker>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col span="24">
|
||||
<FormItem label="交易类型:">
|
||||
<Select
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="交易类型:">
|
||||
<el-select
|
||||
type="button"
|
||||
v-model="formValidate.status"
|
||||
class="mr15"
|
||||
@on-change="selChange"
|
||||
@change="selChange"
|
||||
style="width: 30%"
|
||||
>
|
||||
<Option :label="item" :value="index" v-for="(item, index) in withdrawal" :key="index">{{
|
||||
item
|
||||
}}</Option>
|
||||
</Select>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col span="24">
|
||||
<FormItem label="流水搜索:">
|
||||
<el-option :label="item" :value="index" v-for="(item, index) in withdrawal" :key="index"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="流水搜索:">
|
||||
<div class="acea-row row-middle">
|
||||
<Input
|
||||
<el-input
|
||||
search
|
||||
enter-button
|
||||
@on-search="getList"
|
||||
@ -55,56 +53,72 @@
|
||||
style="width: 30%"
|
||||
/>
|
||||
</div>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Row>
|
||||
</Form>
|
||||
</Card>
|
||||
<Card :bordered="false" dis-hover>
|
||||
<Table
|
||||
ref="table"
|
||||
:columns="columns"
|
||||
:data="tabList"
|
||||
class="ivu-mt"
|
||||
:loading="loading"
|
||||
no-data-text="暂无数据"
|
||||
no-filtered-data-text="暂无筛选结果"
|
||||
>
|
||||
<template slot-scope="{ row }" slot="extract_price">
|
||||
<div>{{ row.extract_price }}</div>
|
||||
</template>
|
||||
<template slot-scope="{ row }" slot="pay_type">
|
||||
<div v-for="item in payment" :key="item.value">
|
||||
<span v-if="row.pay_type == item.value"> {{ item.title }} </span>
|
||||
</div>
|
||||
</template>
|
||||
<template slot-scope="{ row }" slot="price">
|
||||
<div v-if="row.price >= 0" class="z-price">+{{ row.price }}</div>
|
||||
<div v-if="row.price < 0" class="f-price">{{ row.price }}</div>
|
||||
</template>
|
||||
<template slot-scope="{ row }" slot="add_time">
|
||||
<span> {{ row.add_time | formatDate }}</span>
|
||||
</template>
|
||||
<template slot-scope="{ row }" slot="set">
|
||||
<Button size="small" type="primary" class="item" @click="setMark(row)">备注</Button>
|
||||
</template>
|
||||
</Table>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-card>
|
||||
<el-card :bordered="false" shadow="never">
|
||||
<el-table ref="table" :data="tabList" class="ivu-mt" v-loading="loading" empty-text="暂无数据">
|
||||
<el-table-column label="交易单号" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.flow_id }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="关联订单" min-width="120">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.order_id }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="交易时间" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.add_time }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="交易金额" min-width="90">
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.price >= 0" class="z-price">+{{ scope.row.price }}</div>
|
||||
<div v-if="scope.row.price < 0" class="f-price">{{ scope.row.price }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="交易用户" min-width="90">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.nickname }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="支付方式" min-width="90">
|
||||
<template slot-scope="scope">
|
||||
<div v-for="item in payment" :key="item.value">
|
||||
<span v-if="scope.row.pay_type == item.value"> {{ item.title }} </span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="备注" min-width="90">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.mark }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="170">
|
||||
<template slot-scope="scope">
|
||||
<a @click="setMark(scope.row)">备注</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="acea-row row-right page">
|
||||
<Page
|
||||
<pagination
|
||||
v-if="total"
|
||||
:total="total"
|
||||
:current="formValidate.page"
|
||||
show-elevator
|
||||
show-total
|
||||
@on-change="pageChange"
|
||||
:page-size="formValidate.limit"
|
||||
:page.sync="formValidate.page"
|
||||
:limit.sync="formValidate.limit"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</div>
|
||||
</Card>
|
||||
</el-card>
|
||||
<!-- 拒绝通过-->
|
||||
<Modal v-model="modals" scrollable closable title="备注" :mask-closable="false">
|
||||
<Input v-model="mark_msg.mark" type="textarea" :rows="4" placeholder="请输入备注" />
|
||||
<el-input v-model="mark_msg.mark" type="textarea" :rows="4" placeholder="请输入备注" />
|
||||
<div slot="footer">
|
||||
<Button type="primary" size="large" long :loading="modal_loading" @click.prevent="oks">确定</Button>
|
||||
<el-button type="primary" size="large" long :loading="modal_loading" @click.prevent="oks">确定</el-button>
|
||||
</div>
|
||||
</Modal>
|
||||
</div>
|
||||
@ -225,7 +239,7 @@ export default {
|
||||
computed: {
|
||||
...mapState('media', ['isMobile']),
|
||||
labelWidth() {
|
||||
return this.isMobile ? undefined : 80;
|
||||
return this.isMobile ? undefined : '85px';
|
||||
},
|
||||
labelPosition() {
|
||||
return this.isMobile ? 'top' : 'left';
|
||||
@ -285,10 +299,6 @@ export default {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
pageChange(index) {
|
||||
this.formValidate.page = index;
|
||||
this.getList();
|
||||
},
|
||||
// 编辑提交成功
|
||||
submitFail() {
|
||||
this.getList();
|
||||
|
||||
@ -15,50 +15,70 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<Divider dashed />
|
||||
<Form ref="formValidate" :label-width="75" :label-position="labelPosition" class="tabform" @submit.native.prevent>
|
||||
<Row :gutter="24" type="flex">
|
||||
<!-- <Col span="8">-->
|
||||
<!-- <FormItem label="订单号/昵称:">-->
|
||||
<!-- <Input enter-button placeholder="请输入" element-id="name" v-model="formValidate.nickname"-->
|
||||
<el-divider direction="vertical" dashed />
|
||||
<el-form
|
||||
ref="formValidate"
|
||||
label-width="75px"
|
||||
:label-position="labelPosition"
|
||||
class="tabform"
|
||||
@submit.native.prevent
|
||||
>
|
||||
<el-row :gutter="24">
|
||||
<!-- <el-col :span="8">-->
|
||||
<!-- <el-form-item label="订单号/昵称:">-->
|
||||
<!-- <el-input enter-button placeholder="请输入" element-id="name" v-model="formValidate.nickname"-->
|
||||
<!-- clearable/>-->
|
||||
<!-- </FormItem>-->
|
||||
<!-- </Col>-->
|
||||
<Col span="12">
|
||||
<FormItem label="时间范围:" class="tab_data">
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
<el-col :span="12">
|
||||
<el-form-item label="时间范围:" class="tab_data">
|
||||
<DatePicker
|
||||
:editable="false"
|
||||
style="width: 100%"
|
||||
@on-change="onchangeTime"
|
||||
@change="onchangeTime"
|
||||
format="yyyy-MM-dd"
|
||||
type="daterange"
|
||||
placement="bottom-end"
|
||||
placeholder="请选择时间范围"
|
||||
></DatePicker>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col span="4">
|
||||
<Button type="primary" icon="ios-search" @click="userSearchs">搜索</Button>
|
||||
</Col>
|
||||
</Row>
|
||||
</Form>
|
||||
<Table
|
||||
:columns="columns"
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-button type="primary" icon="ios-search" @click="userSearchs">搜索</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-table
|
||||
:data="tabList"
|
||||
ref="table"
|
||||
:loading="loading"
|
||||
v-loading="loading"
|
||||
no-userFrom-text="暂无数据"
|
||||
no-filtered-userFrom-text="暂无筛选结果"
|
||||
class="table"
|
||||
></Table>
|
||||
>
|
||||
<el-table-column label="佣金金额" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.number }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="获得时间" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row._add_time }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="备注" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.mark }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="acea-row row-right page">
|
||||
<Page
|
||||
<pagination
|
||||
v-if="total"
|
||||
:total="total"
|
||||
:current="formValidate.page"
|
||||
show-elevator
|
||||
show-total
|
||||
@on-change="pageChange"
|
||||
:page-size="formValidate.limit"
|
||||
:page.sync="formValidate.page"
|
||||
:limit.sync="formValidate.limit"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</div>
|
||||
</Modal>
|
||||
@ -85,34 +105,13 @@ export default {
|
||||
limit: 20, // 每页显示条数
|
||||
},
|
||||
total: 0,
|
||||
columns: [
|
||||
// {
|
||||
// title:'昵称',
|
||||
// key:'nickname'
|
||||
// },
|
||||
{
|
||||
title: '佣金金额',
|
||||
key: 'number',
|
||||
minWidth: 80,
|
||||
},
|
||||
{
|
||||
title: '获得时间',
|
||||
key: '_add_time',
|
||||
minWidth: 150,
|
||||
},
|
||||
{
|
||||
title: '备注',
|
||||
key: 'mark',
|
||||
minWidth: 330,
|
||||
},
|
||||
],
|
||||
tabList: [],
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapState('media', ['isMobile']),
|
||||
labelWidth() {
|
||||
return this.isMobile ? undefined : 100;
|
||||
return this.isMobile ? undefined : '100px';
|
||||
},
|
||||
labelPosition() {
|
||||
return this.isMobile ? 'top' : 'left';
|
||||
@ -164,10 +163,6 @@ export default {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
pageChange(index) {
|
||||
this.formValidate.page = index;
|
||||
this.getList();
|
||||
},
|
||||
// 搜索
|
||||
userSearchs() {
|
||||
this.formValidate.page = 1;
|
||||
|
||||
@ -1,28 +1,28 @@
|
||||
<template>
|
||||
<div>
|
||||
<Card :bordered="false" dis-hover class="ivu-mt">
|
||||
<Form
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt">
|
||||
<el-form
|
||||
ref="formValidate"
|
||||
:label-width="labelWidth"
|
||||
:label-position="labelPosition"
|
||||
class="tabform"
|
||||
@submit.native.prevent
|
||||
>
|
||||
<Row :gutter="24" type="flex">
|
||||
<Col :xl="5" :lg="8" :md="10" :sm="11" :xs="24" class="mr10">
|
||||
<FormItem label="昵称/ID:">
|
||||
<Input
|
||||
<el-row :gutter="24">
|
||||
<el-col :xl="5" :lg="8" :md="10" :sm="11" :xs="24" class="mr10">
|
||||
<el-form-item label="昵称/ID:">
|
||||
<el-input
|
||||
enter-button
|
||||
placeholder="请输入"
|
||||
element-id="nickname"
|
||||
v-model="formValidate.nickname"
|
||||
clearable
|
||||
/>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col :xl="6" :lg="12" :md="13" :sm="12" :xs="24">
|
||||
<FormItem label="佣金范围:" class="tab_data">
|
||||
<Input-number
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xl="6" :lg="12" :md="13" :sm="12" :xs="24">
|
||||
<el-form-item label="佣金范围:" class="tab_data">
|
||||
<el-input-number
|
||||
type="number"
|
||||
:min="0"
|
||||
enter-button
|
||||
@ -32,7 +32,7 @@
|
||||
v-model="formValidate.price_min"
|
||||
/>
|
||||
<span class="mr10">一</span>
|
||||
<Input-number
|
||||
<el-input-number
|
||||
type="number"
|
||||
:min="0"
|
||||
enter-button
|
||||
@ -40,40 +40,60 @@
|
||||
element-id="price_max"
|
||||
v-model="formValidate.price_max"
|
||||
/>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col>
|
||||
<Button type="primary" icon="ios-search" @click="userSearchs">搜索</Button>
|
||||
<Button v-auth="['export-userCommission']" class="export" icon="ios-share-outline" @click="exports"
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col>
|
||||
<el-button type="primary" icon="ios-search" @click="userSearchs">搜索</el-button>
|
||||
<el-button v-auth="['export-userCommission']" class="export" icon="ios-share-outline" @click="exports"
|
||||
>导出
|
||||
</Button>
|
||||
</Col>
|
||||
</Row>
|
||||
</Form>
|
||||
<Table
|
||||
</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-table
|
||||
ref="table"
|
||||
:columns="columns"
|
||||
:data="tabList"
|
||||
:loading="loading"
|
||||
no-data-text="暂无数据"
|
||||
no-filtered-data-text="暂无筛选结果"
|
||||
empty-text="暂无数据"
|
||||
@on-sort-change="sortChanged"
|
||||
>
|
||||
<!-- <template slot-scope="{ row, index }" slot="action">
|
||||
<a @click="Info(row)">详情</a>
|
||||
</template> -->
|
||||
</Table>
|
||||
<el-table-column label="用户信息" min-width="100">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.nickname }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="总佣金金额" min-width="100">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.sum_number }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="账户余额" min-width="100">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.now_money }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="账户佣金" min-width="100">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.brokerage_price }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="提现到账佣金" min-width="100">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.extract_price }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="acea-row row-right page">
|
||||
<Page
|
||||
<pagination
|
||||
v-if="total"
|
||||
:total="total"
|
||||
:current="formValidate.page"
|
||||
show-elevator
|
||||
show-total
|
||||
:page-size="formValidate.limit"
|
||||
@on-change="pageChange"
|
||||
:page.sync="formValidate.page"
|
||||
:limit.sync="formValidate.limit"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</div>
|
||||
</Card>
|
||||
</el-card>
|
||||
<commission-details ref="commission"></commission-details>
|
||||
</div>
|
||||
</template>
|
||||
@ -138,7 +158,7 @@ export default {
|
||||
computed: {
|
||||
...mapState('media', ['isMobile']),
|
||||
labelWidth() {
|
||||
return this.isMobile ? undefined : 80;
|
||||
return this.isMobile ? undefined : '85px';
|
||||
},
|
||||
labelPosition() {
|
||||
return this.isMobile ? 'top' : 'left';
|
||||
@ -163,10 +183,6 @@ export default {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
pageChange(index) {
|
||||
this.formValidate.page = index;
|
||||
this.getList();
|
||||
},
|
||||
// 搜索
|
||||
userSearchs() {
|
||||
this.formValidate.page = 1;
|
||||
|
||||
@ -1,58 +1,83 @@
|
||||
<template>
|
||||
<div>
|
||||
<Form
|
||||
<el-form
|
||||
ref="formValidate"
|
||||
:label-width="labelWidth"
|
||||
:label-position="labelPosition"
|
||||
class="tabform"
|
||||
@submit.native.prevent
|
||||
>
|
||||
<Row type="flex" :gutter="24">
|
||||
<Col v-bind="grid">
|
||||
<FormItem label="订单搜索:" label-for="status1">
|
||||
<Input v-model="formValidate.keywords" placeholder="请输入交易单号/交易人" class="input"></Input>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col>
|
||||
<el-row :gutter="24">
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="订单搜索:" label-for="status1">
|
||||
<el-input v-model="formValidate.keywords" placeholder="请输入交易单号/交易人" class="input"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col>
|
||||
<div class="search" @click="searchs">搜索</div>
|
||||
</Col>
|
||||
<Col>
|
||||
</el-col>
|
||||
<el-col>
|
||||
<div class="reset" @click="reset">重置</div>
|
||||
</Col>
|
||||
</Row>
|
||||
</Form>
|
||||
<!-- <Divider dashed/> -->
|
||||
<Table
|
||||
:columns="columns"
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-table
|
||||
:data="tabList"
|
||||
ref="table"
|
||||
:loading="loading"
|
||||
v-loading="loading"
|
||||
no-userFrom-text="暂无数据"
|
||||
no-filtered-userFrom-text="暂无筛选结果"
|
||||
class="table"
|
||||
>
|
||||
<template slot-scope="{ row }" slot="extract_price">
|
||||
<div>{{ row.extract_price }}</div>
|
||||
</template>
|
||||
<template slot-scope="{ row }" slot="pay_type">
|
||||
<span> {{ row.pay_type_name }} </span>
|
||||
</template>
|
||||
<template slot-scope="{ row }" slot="price">
|
||||
<div v-if="row.price >= 0" class="z-price">+{{ row.price }}</div>
|
||||
<div v-if="row.price < 0" class="f-price">{{ row.price }}</div>
|
||||
</template>
|
||||
<template slot-scope="{ row }" slot="add_time">
|
||||
<span> {{ row.add_time | formatDate }}</span>
|
||||
</template>
|
||||
</Table>
|
||||
<el-table-column label="交易单号" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.flow_id }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="关联订单" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.order_id }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="交易时间" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.add_time }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="交易金额" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.price >= 0" class="z-price">+{{ scope.row.price }}</div>
|
||||
<div v-if="scope.row.price < 0" class="f-price">{{ scope.row.price }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="交易用户" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.nickname }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="交易类型" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.pay_type_name }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="支付方式" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.order_id }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="备注" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.mark }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="acea-row row-right page">
|
||||
<Page
|
||||
<pagination
|
||||
v-if="total"
|
||||
:total="total"
|
||||
:current="formValidate.page"
|
||||
show-elevator
|
||||
show-total
|
||||
@on-change="pageChange"
|
||||
:page-size="formValidate.limit"
|
||||
:page.sync="formValidate.page"
|
||||
:limit.sync="formValidate.limit"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@ -85,48 +110,6 @@ export default {
|
||||
limit: 20,
|
||||
},
|
||||
total: 0,
|
||||
columns: [
|
||||
{
|
||||
title: '交易单号',
|
||||
key: 'flow_id',
|
||||
width: 180,
|
||||
},
|
||||
{
|
||||
title: '关联订单',
|
||||
key: 'order_id',
|
||||
minWidth: 180,
|
||||
},
|
||||
{
|
||||
title: '交易时间',
|
||||
key: 'add_time',
|
||||
minWidth: 120,
|
||||
},
|
||||
{
|
||||
title: '交易金额',
|
||||
slot: 'price',
|
||||
minWidth: 80,
|
||||
},
|
||||
{
|
||||
title: '交易用户',
|
||||
key: 'nickname',
|
||||
minWidth: 80,
|
||||
},
|
||||
{
|
||||
title: '交易类型',
|
||||
key: 'trading_type',
|
||||
minWidth: 80,
|
||||
},
|
||||
{
|
||||
title: '支付方式',
|
||||
slot: 'pay_type',
|
||||
minWidth: 100,
|
||||
},
|
||||
{
|
||||
title: '备注',
|
||||
key: 'mark',
|
||||
minWidth: 100,
|
||||
},
|
||||
],
|
||||
tabList: [],
|
||||
payment: [
|
||||
{
|
||||
@ -165,14 +148,14 @@ export default {
|
||||
computed: {
|
||||
...mapState('admin/layout', ['isMobile']),
|
||||
labelWidth() {
|
||||
return this.isMobile ? undefined : 80;
|
||||
return this.isMobile ? undefined : '85px';
|
||||
},
|
||||
labelPosition() {
|
||||
return this.isMobile ? 'top' : 'left';
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
this.getList(this.ids);
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
staffApi() {
|
||||
@ -182,7 +165,7 @@ export default {
|
||||
},
|
||||
searchs() {
|
||||
this.formValidate.page = 1;
|
||||
this.getList(this.ids);
|
||||
this.getList();
|
||||
},
|
||||
// 时间
|
||||
onchangeTime(e) {
|
||||
@ -190,9 +173,8 @@ export default {
|
||||
this.formValidate.end_time = e[1];
|
||||
},
|
||||
// 列表
|
||||
getList(id) {
|
||||
this.ids = id;
|
||||
this.formValidate.ids = id;
|
||||
getList() {
|
||||
this.formValidate.ids = this.ids;
|
||||
this.loading = true;
|
||||
getFlowList(this.formValidate)
|
||||
.then(async (res) => {
|
||||
@ -206,10 +188,6 @@ export default {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
pageChange(index) {
|
||||
this.formValidate.page = index;
|
||||
this.getList(this.ids);
|
||||
},
|
||||
reset() {
|
||||
this.formValidate = {
|
||||
ids: this.ids,
|
||||
@ -219,7 +197,7 @@ export default {
|
||||
page: 1,
|
||||
limit: 10,
|
||||
};
|
||||
this.getList(this.ids);
|
||||
this.getList();
|
||||
},
|
||||
// 关闭按钮
|
||||
cancel() {
|
||||
|
||||
@ -3,8 +3,8 @@
|
||||
<div class="i-layout-page-header header-title">
|
||||
<span class="ivu-page-header-title">{{ $route.meta.title }}</span>
|
||||
</div>
|
||||
<Card :bordered="false" dis-hover class="ivu-mt">
|
||||
<Form
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt">
|
||||
<el-form
|
||||
ref="formValidate"
|
||||
:model="formValidate"
|
||||
:label-width="labelWidth"
|
||||
@ -12,68 +12,91 @@
|
||||
class="tabform"
|
||||
@submit.native.prevent
|
||||
>
|
||||
<Row :gutter="24" type="flex">
|
||||
<Col :xl="6" :lg="12" :md="13" :sm="12" :xs="24">
|
||||
<FormItem label="关键字:">
|
||||
<Input enter-button placeholder="请输入" element-id="name" v-model="formValidate.nickname" />
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col :xl="6" :lg="12" :md="13" :sm="12" :xs="24">
|
||||
<FormItem label="时间范围:" class="tab_data">
|
||||
<el-row :gutter="24">
|
||||
<el-col :xl="6" :lg="12" :md="13" :sm="12" :xs="24">
|
||||
<el-form-item label="关键字:">
|
||||
<el-input enter-button placeholder="请输入" element-id="name" v-model="formValidate.nickname" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xl="6" :lg="12" :md="13" :sm="12" :xs="24">
|
||||
<el-form-item label="时间范围:" class="tab_data">
|
||||
<DatePicker
|
||||
:editable="false"
|
||||
style="width: 80%"
|
||||
@on-change="onchangeTime"
|
||||
@change="onchangeTime"
|
||||
format="yyyy/MM/dd"
|
||||
type="daterange"
|
||||
placement="bottom-end"
|
||||
placeholder="请选择时间"
|
||||
></DatePicker>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col :xl="6" :lg="12" :md="13" :sm="12" :xs="24">
|
||||
<FormItem label="筛选类型:" class="tab_data">
|
||||
<Select v-model="formValidate.type" style="width: 200px; height: 32px" clearable>
|
||||
<Option v-for="(item, index) in billList" :key="index" :value="item.type">{{ item.title }}</Option>
|
||||
</Select>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col span="6">
|
||||
<FormItem>
|
||||
<Button type="primary" icon="ios-search" @click="userSearchs">搜索</Button>
|
||||
<Button v-auth="['export-userFinance']" class="export" icon="ios-share-outline" @click="exports"
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xl="6" :lg="12" :md="13" :sm="12" :xs="24">
|
||||
<el-form-item label="筛选类型:" class="tab_data">
|
||||
<el-select v-model="formValidate.type" style="width: 200px; height: 32px" clearable>
|
||||
<el-option
|
||||
v-for="(item, index) in billList"
|
||||
:key="index"
|
||||
:value="item.type"
|
||||
:label="item.title"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="ios-search" @click="userSearchs">搜索</el-button>
|
||||
<el-button v-auth="['export-userFinance']" class="export" icon="ios-share-outline" @click="exports"
|
||||
>导出
|
||||
</Button>
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Row>
|
||||
</Form>
|
||||
<Table
|
||||
ref="table"
|
||||
highlight-row
|
||||
:columns="columns"
|
||||
:data="tabList"
|
||||
:loading="loading"
|
||||
no-data-text="暂无数据"
|
||||
no-filtered-data-text="暂无筛选结果"
|
||||
>
|
||||
<template slot-scope="{ row }" slot="number">
|
||||
<div :class="[row.pm === 1 ? 'green' : 'red']">
|
||||
{{ row.pm === 1 ? row.number : '-' + row.number }}
|
||||
</div>
|
||||
</template>
|
||||
</Table>
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-table ref="table" highlight-current-row :data="tabList" v-loading="loading" empty-text="暂无数据">
|
||||
<el-table-column label="用户ID" width="80">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.uid }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="昵称" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.nickname }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="金额" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<div :class="[scope.row.pm === 1 ? 'green' : 'red']">
|
||||
{{ scope.row.pm === 1 ? scope.row.number : '-' + scope.row.number }}
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="类型" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.title }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="备注" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.mark }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="创建时间" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.add_time }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="acea-row row-right page">
|
||||
<Page
|
||||
<pagination
|
||||
v-if="total"
|
||||
:total="total"
|
||||
:current="formValidate.page"
|
||||
show-elevator
|
||||
show-total
|
||||
:page-size="formValidate.limit"
|
||||
@on-change="pageChange"
|
||||
:page.sync="formValidate.page"
|
||||
:limit.sync="formValidate.limit"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</div>
|
||||
</Card>
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -97,52 +120,12 @@ export default {
|
||||
loading: false,
|
||||
tabList: [],
|
||||
total: 0,
|
||||
columns: [
|
||||
{
|
||||
title: '用户ID',
|
||||
key: 'uid',
|
||||
sortable: true,
|
||||
width: 80,
|
||||
},
|
||||
{
|
||||
title: '昵称',
|
||||
key: 'nickname',
|
||||
minWidth: 150,
|
||||
},
|
||||
{
|
||||
title: '金额',
|
||||
minWidth: 150,
|
||||
slot: 'number',
|
||||
// render: (h, params) => {
|
||||
// return h('div', {
|
||||
// style: {
|
||||
// color: '#FF5722'
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
},
|
||||
{
|
||||
title: '类型',
|
||||
key: 'title',
|
||||
minWidth: 100,
|
||||
},
|
||||
{
|
||||
title: '备注',
|
||||
key: 'mark',
|
||||
minWidth: 150,
|
||||
},
|
||||
{
|
||||
title: '创建时间',
|
||||
key: 'add_time',
|
||||
minWidth: 200,
|
||||
},
|
||||
],
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapState('media', ['isMobile']),
|
||||
labelWidth() {
|
||||
return this.isMobile ? undefined : 80;
|
||||
return this.isMobile ? undefined : '85px';
|
||||
},
|
||||
labelPosition() {
|
||||
return this.isMobile ? 'top' : 'right';
|
||||
@ -183,10 +166,6 @@ export default {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
pageChange(index) {
|
||||
this.formValidate.page = index;
|
||||
this.getList();
|
||||
},
|
||||
// 搜索
|
||||
userSearchs() {
|
||||
this.formValidate.page = 1;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div>
|
||||
<Card :bordered="false" dis-hover class="ivu-mb-16">
|
||||
<Form
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mb-16">
|
||||
<el-form
|
||||
ref="formValidate"
|
||||
:model="formValidate"
|
||||
:label-width="labelWidth"
|
||||
@ -9,20 +9,22 @@
|
||||
class="tabform"
|
||||
@submit.native.prevent
|
||||
>
|
||||
<Row :gutter="24" type="flex" justify="end">
|
||||
<Col span="24" class="ivu-text-left">
|
||||
<FormItem label="时间选择:">
|
||||
<RadioGroup
|
||||
<el-row :gutter="24" justify="end">
|
||||
<el-col :span="24" class="ivu-text-left">
|
||||
<el-form-item label="时间选择:">
|
||||
<el-radio-group
|
||||
v-model="formValidate.data"
|
||||
type="button"
|
||||
@on-change="selectChange(formValidate.data)"
|
||||
@change="selectChange(formValidate.data)"
|
||||
class="mr"
|
||||
>
|
||||
<Radio :label="item.val" v-for="(item, i) in fromList.fromTxt" :key="i">{{ item.text }}</Radio>
|
||||
</RadioGroup>
|
||||
<el-radio-button :label="item.val" v-for="(item, i) in fromList.fromTxt" :key="i">{{
|
||||
item.text
|
||||
}}</el-radio-button>
|
||||
</el-radio-group>
|
||||
<DatePicker
|
||||
:editable="false"
|
||||
@on-change="onchangeTime"
|
||||
@change="onchangeTime"
|
||||
:value="timeVal"
|
||||
format="yyyy/MM/dd"
|
||||
type="daterange"
|
||||
@ -30,20 +32,20 @@
|
||||
placeholder="请选择时间"
|
||||
style="width: 200px"
|
||||
></DatePicker>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col span="24" class="ivu-text-left">
|
||||
<FormItem label="支付类型:">
|
||||
<RadioGroup v-model="formValidate.paid" type="button" @on-change="selChange">
|
||||
<Radio label="">全部</Radio>
|
||||
<Radio label="1">已支付</Radio>
|
||||
<Radio label="0">未支付</Radio>
|
||||
</RadioGroup>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col span="24" class="ivu-text-left">
|
||||
<FormItem label="搜索:">
|
||||
<Input
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="ivu-text-left">
|
||||
<el-form-item label="支付类型:">
|
||||
<el-radio-group v-model="formValidate.paid" type="button" @change="selChange">
|
||||
<el-radio-button label="">全部</el-radio-button>
|
||||
<el-radio-button label="1">已支付</el-radio-button>
|
||||
<el-radio-button label="0">未支付</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="ivu-text-left">
|
||||
<el-form-item label="搜索:">
|
||||
<el-input
|
||||
search
|
||||
enter-button
|
||||
@on-search="selChange"
|
||||
@ -53,50 +55,87 @@
|
||||
style="width: 30%; display: inline-table"
|
||||
class="mr"
|
||||
/>
|
||||
<Button v-auth="['export-userRecharge']" class="mr" icon="ios-share-outline" @click="exports"
|
||||
>导出</Button
|
||||
<el-button v-auth="['export-userRecharge']" class="mr" icon="ios-share-outline" @click="exports"
|
||||
>导出</el-button
|
||||
>
|
||||
<!-- <span class="Refresh">刷新</span><Icon type="ios-refresh" />-->
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Row>
|
||||
</Form>
|
||||
</Card>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-card>
|
||||
<cards-data :cardLists="cardLists" v-if="cardLists.length >= 0"></cards-data>
|
||||
<Card :bordered="false" dis-hover>
|
||||
<el-card :bordered="false" shadow="never">
|
||||
<div>充值记录列表</div>
|
||||
<Table
|
||||
ref="table"
|
||||
:columns="columns"
|
||||
:data="tabList"
|
||||
class="ivu-mt"
|
||||
:loading="loading"
|
||||
no-data-text="暂无数据"
|
||||
no-filtered-data-text="暂无筛选结果"
|
||||
>
|
||||
<template slot-scope="{ row, index }" slot="right">
|
||||
<a
|
||||
href="javascript:void(0);"
|
||||
v-if="row.refund_price <= 0 && row.paid && row.recharge_type != 'system'"
|
||||
@click="refund(row)"
|
||||
>退款</a
|
||||
>
|
||||
<!-- <Divider type="vertical" v-if="row.paid"/>-->
|
||||
<a href="javascript:void(0);" v-if="row.paid === 0" @click="del(row, '此条充值记录', index)">删除</a>
|
||||
<span class="refund" v-if="row.refund_price > 0">已退款</span>
|
||||
</template>
|
||||
</Table>
|
||||
<el-table ref="table" :data="tabList" class="ivu-mt" :loading="loading" empty-text="暂无数据"
|
||||
><el-table-column label="ID" width="80">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.id }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="头像" min-width="90">
|
||||
<template slot-scope="scope">
|
||||
<div class="tabBox_img" v-viewer>
|
||||
<img v-lazy="scope.row.avatar ? scope.row.avatar : require('../../../../assets/images/moren.jpg')" />
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="用户昵称" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.nickname }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="订单号" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.order_id }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="支付金额" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.price }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="是否支付" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.paid_type }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="充值类型" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row._recharge_type }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="支付时间" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row._pay_time }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="170">
|
||||
<template slot-scope="scope">
|
||||
<a
|
||||
href="javascript:void(0);"
|
||||
v-if="scope.row.refund_price <= 0 && scope.row.paid && scope.row.recharge_type != 'system'"
|
||||
@click="refund(scope.row)"
|
||||
>退款</a
|
||||
>
|
||||
<!-- <el-divider direction="vertical" v-if="scope.row.paid"/>-->
|
||||
<a href="javascript:void(0);" v-if="scope.row.paid === 0" @click="del(scope.row, '此条充值记录', index)"
|
||||
>删除</a
|
||||
>
|
||||
<span class="refund" v-if="scope.row.refund_price > 0">已退款</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="acea-row row-right page">
|
||||
<Page
|
||||
<pagination
|
||||
v-if="total"
|
||||
:total="total"
|
||||
:current="formValidate.page"
|
||||
show-elevator
|
||||
show-total
|
||||
@on-change="pageChange"
|
||||
:page-size="formValidate.limit"
|
||||
:page.sync="formValidate.page"
|
||||
:limit.sync="formValidate.limit"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</div>
|
||||
</Card>
|
||||
</el-card>
|
||||
<!-- 退款表单-->
|
||||
<edit-from ref="edits" :FromData="FromData" @submitFail="submitFail"></edit-from>
|
||||
</div>
|
||||
@ -129,81 +168,6 @@ export default {
|
||||
total: 0,
|
||||
cardLists: [],
|
||||
loading: false,
|
||||
columns: [
|
||||
{
|
||||
title: 'ID',
|
||||
key: 'id',
|
||||
sortable: true,
|
||||
width: 80,
|
||||
},
|
||||
{
|
||||
title: '头像',
|
||||
key: 'avatar',
|
||||
minWidth: 80,
|
||||
render: (h, params) => {
|
||||
return h('viewer', [
|
||||
h(
|
||||
'div',
|
||||
{
|
||||
style: {
|
||||
width: '36px',
|
||||
height: '36px',
|
||||
borderRadius: '4px',
|
||||
cursor: 'pointer',
|
||||
},
|
||||
},
|
||||
[
|
||||
h('img', {
|
||||
attrs: {
|
||||
src: params.row.avatar ? params.row.avatar : require('../../../../assets/images/moren.jpg'),
|
||||
},
|
||||
style: {
|
||||
width: '100%',
|
||||
height: '100%',
|
||||
},
|
||||
}),
|
||||
],
|
||||
),
|
||||
]);
|
||||
},
|
||||
},
|
||||
{
|
||||
title: '用户昵称',
|
||||
key: 'nickname',
|
||||
minWidth: 150,
|
||||
},
|
||||
{
|
||||
title: '订单号',
|
||||
key: 'order_id',
|
||||
minWidth: 150,
|
||||
},
|
||||
{
|
||||
title: '支付金额',
|
||||
key: 'price',
|
||||
minWidth: 110,
|
||||
},
|
||||
{
|
||||
title: '是否支付',
|
||||
key: 'paid_type',
|
||||
minWidth: 110,
|
||||
},
|
||||
{
|
||||
title: '充值类型',
|
||||
key: '_recharge_type',
|
||||
minWidth: 100,
|
||||
},
|
||||
{
|
||||
title: '支付时间',
|
||||
key: '_pay_time',
|
||||
minWidth: 120,
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
slot: 'right',
|
||||
fixed: 'right',
|
||||
minWidth: 100,
|
||||
},
|
||||
],
|
||||
tabList: [],
|
||||
fromList: {
|
||||
title: '选择时间',
|
||||
@ -224,7 +188,7 @@ export default {
|
||||
computed: {
|
||||
...mapState('media', ['isMobile']),
|
||||
labelWidth() {
|
||||
return this.isMobile ? undefined : 80;
|
||||
return this.isMobile ? undefined : '85px';
|
||||
},
|
||||
labelPosition() {
|
||||
return this.isMobile ? 'top' : 'right';
|
||||
@ -310,10 +274,6 @@ export default {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
pageChange(index) {
|
||||
this.formValidate.page = index;
|
||||
this.getList();
|
||||
},
|
||||
// 小方块
|
||||
getUserRecharge() {
|
||||
userRechargeApi({
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user