mirror of
https://github.com/crmeb/CRMEB.git
synced 2026-11-01 15:31:03 +00:00
improve: 后台组件替换
This commit is contained in:
parent
0bc05d6f19
commit
f8b8b7b015
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<Modal v-model="isTemplate" title="优惠券列表" width="60%" @on-ok="ok" @on-cancel="cancel">
|
||||
<el-dialog :visible.sync="isTemplate" title="优惠券列表" append-to-body width="60%">
|
||||
<el-table
|
||||
:data="couponList"
|
||||
ref="table"
|
||||
@ -67,9 +67,9 @@
|
||||
</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>
|
||||
<el-tag color="blue" v-show="scope.row.status === 1">正常</el-tag>
|
||||
<el-tag color="gold" v-show="scope.row.status === 0">未开启</el-tag>
|
||||
<el-tag color="red" v-show="scope.row.status === -1">已失效</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@ -82,7 +82,11 @@
|
||||
@pagination="tableList"
|
||||
/>
|
||||
</div>
|
||||
</Modal>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="ok">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -211,6 +215,7 @@ export default {
|
||||
} else {
|
||||
this.$emit('nameId', this.selectedIds, this.selectedNames);
|
||||
}
|
||||
this.isTemplate = false;
|
||||
},
|
||||
pageChange(index) {
|
||||
this.tableFrom.page = index;
|
||||
|
||||
@ -14,16 +14,18 @@
|
||||
item.text
|
||||
}}</el-radio-button>
|
||||
</el-radio-group>
|
||||
<DatePicker
|
||||
<el-date-picker
|
||||
:editable="false"
|
||||
@change="onchangeTime"
|
||||
:value="timeVal"
|
||||
format="yyyy/MM/dd"
|
||||
v-model="timeVal"
|
||||
value-format="yyyy/MM/dd"
|
||||
type="daterange"
|
||||
placement="bottom-end"
|
||||
placeholder="请选择时间"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
style="width: 200px"
|
||||
></DatePicker>
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="ivu-text-left">
|
||||
@ -161,7 +163,7 @@ export default {
|
||||
// 具体日期
|
||||
onchangeTime(e) {
|
||||
this.timeVal = e;
|
||||
this.formValidate.data = this.timeVal.join('-');
|
||||
this.formValidate.data = this.timeVal ? this.timeVal.join('-') : '';
|
||||
this.getListService();
|
||||
},
|
||||
// 选择时间
|
||||
@ -185,7 +187,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading2 = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 搜索
|
||||
@ -212,7 +214,7 @@ export default {
|
||||
});
|
||||
}
|
||||
} else {
|
||||
this.$Message.warning('请先选择商品');
|
||||
this.$message.warning('请先选择商品');
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<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" @change="changeColor($event, color)" alpha></ColorPicker
|
||||
<el-color-picker v-model="color.item" @change="changeColor($event, color)" show-alpha></el-color-picker
|
||||
><span @click="resetBgA(color, index, key)">重置</span>
|
||||
</div>
|
||||
</el-col>
|
||||
|
||||
@ -15,16 +15,12 @@
|
||||
</draggable>
|
||||
</div>
|
||||
|
||||
<Modal
|
||||
v-model="modals"
|
||||
:loading="loading"
|
||||
<el-dialog
|
||||
:visible.sync="modals"
|
||||
:title="titles"
|
||||
class="paymentFooter"
|
||||
:class="type ? '' : 'middleTop'"
|
||||
scrollable
|
||||
width="900"
|
||||
@on-cancel="cancel"
|
||||
@on-ok="ok"
|
||||
>
|
||||
<sort-list ref="goodslist" @getProductDiy="getProductDiy" v-if="modals && type == 1"></sort-list>
|
||||
<goods-list
|
||||
@ -36,7 +32,11 @@
|
||||
:diy="true"
|
||||
v-if="modals && type != 1"
|
||||
></goods-list>
|
||||
</Modal>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="ok">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -127,7 +127,7 @@ export default {
|
||||
},
|
||||
ok() {
|
||||
if (!this.tempGoods.length) {
|
||||
return this.$Message.warning('请先选择商品');
|
||||
return this.$message.warning('请先选择商品');
|
||||
}
|
||||
let list = this.defaults.goodsList.list;
|
||||
list.push.apply(list, this.tempGoods);
|
||||
@ -135,6 +135,7 @@ export default {
|
||||
let picList = this.unique(list);
|
||||
this.defaults.goodsList.list = picList;
|
||||
// this.defaults.goodsList.list.push(this.tempGoods);
|
||||
this.modals = false;
|
||||
},
|
||||
bindDelete(index) {
|
||||
this.defaults.goodsList.list.splice(index, 1);
|
||||
|
||||
@ -66,7 +66,7 @@ export default {
|
||||
if (this.datas[this.name].list.length < 20) {
|
||||
this.datas[this.name].list.push(obj);
|
||||
} else {
|
||||
this.$Message.warning('最多添加20个热词');
|
||||
this.$message.warning('最多添加20个热词');
|
||||
}
|
||||
},
|
||||
close(index) {
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
<el-col class="label" :span="4">
|
||||
<span>{{ item.title }}</span>
|
||||
</el-col>
|
||||
<el-col span="19" class="slider-box">
|
||||
<el-col :span="19" class="slider-box">
|
||||
<div class="input-box" @click="getLink(index)">
|
||||
<el-input v-model="item.val" :placeholder="item.pla" :maxlength="item.max" icon="ios-arrow-forward" readonly />
|
||||
</div>
|
||||
@ -15,7 +15,7 @@
|
||||
<el-col class="label" :span="4">
|
||||
<span>{{ item.title }}</span>
|
||||
</el-col>
|
||||
<el-col span="19" class="slider-box">
|
||||
<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>
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
<span v-if="datas[name].show">{{ datas[name].title }}</span>
|
||||
<span v-else>数量</span>
|
||||
</el-col>
|
||||
<el-col span="19" class="slider-box">
|
||||
<el-col :span="19" class="slider-box">
|
||||
<el-input
|
||||
v-model="datas[name].val"
|
||||
type="number"
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="c_row-item">
|
||||
<el-col class="label" :span="4"> 是否显示 </el-col>
|
||||
<el-col span="19">
|
||||
<el-col :span="19">
|
||||
<el-switch :active-value="1" :inactive-value="0" v-model="datas[name].val" />
|
||||
</el-col>
|
||||
</div>
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<el-col class="label" :span="4" v-if="datas[name].title">
|
||||
{{ datas[name].title }}
|
||||
</el-col>
|
||||
<el-col span="19" class="slider-box">
|
||||
<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"
|
||||
|
||||
@ -19,13 +19,13 @@
|
||||
</div>
|
||||
<div class="c_row-item">
|
||||
<el-col class="label" :span="4"> 名称 </el-col>
|
||||
<el-col span="19" class="slider-box">
|
||||
<el-col :span="19" class="slider-box">
|
||||
<el-input v-model="item.name" placeholder="选填不超过10个字" />
|
||||
</el-col>
|
||||
</div>
|
||||
<div class="c_row-item">
|
||||
<el-col class="label" :span="4"> 链接 </el-col>
|
||||
<el-col span="19" class="slider-box">
|
||||
<el-col :span="19" class="slider-box">
|
||||
<el-input v-model="item.link" placeholder="选填不超过10个字" />
|
||||
</el-col>
|
||||
</div>
|
||||
@ -45,12 +45,12 @@
|
||||
</el-button>
|
||||
</div>
|
||||
<div>
|
||||
<Modal
|
||||
<el-dialog
|
||||
v-model="modalPic"
|
||||
width="950px"
|
||||
scrollable
|
||||
footer-hide
|
||||
closable
|
||||
:show-close="false"
|
||||
title="上传商品图"
|
||||
:mask-closable="false"
|
||||
:z-index="888"
|
||||
@ -62,7 +62,7 @@
|
||||
:gridPic="gridPic"
|
||||
v-if="modalPic"
|
||||
></uploadPictures>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -29,7 +29,7 @@
|
||||
<el-col class="label">
|
||||
<span>{{ list.title }}</span>
|
||||
</el-col>
|
||||
<el-col span="19" class="slider-box">
|
||||
<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>
|
||||
|
||||
@ -8,12 +8,9 @@
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<Modal
|
||||
v-model="modalPic"
|
||||
<el-dialog
|
||||
:visible.sync="modalPic"
|
||||
width="950px"
|
||||
scrollable
|
||||
footer-hide
|
||||
closable
|
||||
title="上传商品图"
|
||||
:mask-closable="false"
|
||||
:z-index="888"
|
||||
@ -25,7 +22,7 @@
|
||||
:gridPic="gridPic"
|
||||
v-if="modalPic"
|
||||
></uploadPictures>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -35,7 +35,12 @@
|
||||
<div v-else class="info-item">
|
||||
<span>{{ infos.title }}</span>
|
||||
<div class="input-box">
|
||||
<el-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>
|
||||
@ -43,24 +48,21 @@
|
||||
</div>
|
||||
</draggable>
|
||||
<div>
|
||||
<Modal
|
||||
v-model="modalPic"
|
||||
<el-dialog
|
||||
:visible.sync="modalPic"
|
||||
width="950px"
|
||||
scrollable
|
||||
footer-hide
|
||||
closable
|
||||
title="上传商品图"
|
||||
:mask-closable="false"
|
||||
:close-on-click-modal="false"
|
||||
:z-index="888"
|
||||
>
|
||||
<uploadPictures
|
||||
<uploadPictures
|
||||
:isChoice="isChoice"
|
||||
@getPic="getPic"
|
||||
:gridBtn="gridBtn"
|
||||
:gridPic="gridPic"
|
||||
v-if="modalPic"
|
||||
></uploadPictures>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</div>
|
||||
<template v-if="datas[name]">
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<Modal v-model="addressModal" title="选择可配送区域" width="50%" class="modal" :mask="true">
|
||||
<el-dialog :visible.sync="addressModal" title="选择可配送区域" width="50%" class="modal">
|
||||
<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">
|
||||
@ -50,8 +50,7 @@
|
||||
<el-button @click="close">取消</el-button>
|
||||
<el-button type="primary" @click="confirm">确定</el-button>
|
||||
</div>
|
||||
<Spin size="large" fix v-if="loading"></Spin>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
<template>
|
||||
<div>
|
||||
<Modal
|
||||
v-model="isTemplate"
|
||||
<el-dialog
|
||||
:visible.sync="isTemplate"
|
||||
title="运费模版"
|
||||
width="70%"
|
||||
if="isTemplate"
|
||||
@on-cancel="cancel"
|
||||
@on-visible-change="close"
|
||||
@closed="close"
|
||||
>
|
||||
<div class="Modals">
|
||||
<el-form class="form" ref="formData" label-width="120px" label-position="right">
|
||||
@ -192,7 +192,7 @@
|
||||
</el-form>
|
||||
</div>
|
||||
<div slot="footer"></div>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
<city ref="city" @selectCity="selectCity" :type="type" :selectArr="selectArr"></city>
|
||||
</div>
|
||||
</template>
|
||||
@ -253,10 +253,8 @@ export default {
|
||||
},
|
||||
computed: {},
|
||||
methods: {
|
||||
close(status) {
|
||||
if (!status) {
|
||||
this.$emit('close');
|
||||
}
|
||||
close() {
|
||||
this.$emit('close');
|
||||
},
|
||||
editFrom(id) {
|
||||
this.id = id;
|
||||
@ -318,8 +316,7 @@ export default {
|
||||
this.$refs.city.getCityList();
|
||||
this.$refs.city.addressModal = true;
|
||||
},
|
||||
changeRadio() {
|
||||
},
|
||||
changeRadio() {},
|
||||
// 提交
|
||||
handleSubmit: function () {
|
||||
let that = this;
|
||||
@ -389,7 +386,7 @@ export default {
|
||||
},
|
||||
];
|
||||
this.$emit('addSuccess');
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
});
|
||||
},
|
||||
// 删除
|
||||
@ -410,10 +407,10 @@ export default {
|
||||
// };
|
||||
// this.$modalSure(delfromData)
|
||||
// .then((res) => {
|
||||
// this.$Message.success(res.msg);
|
||||
// this.$message.success(res.msg);
|
||||
// })
|
||||
// .catch((res) => {
|
||||
// this.$Message.error(res.msg);
|
||||
// this.$message.error(res.msg);
|
||||
// });
|
||||
},
|
||||
// 关闭
|
||||
|
||||
@ -1,14 +1,10 @@
|
||||
<template>
|
||||
<div v-if="FromData">
|
||||
<Modal
|
||||
v-model="modals"
|
||||
scrollable
|
||||
footer-hide
|
||||
closable
|
||||
<el-dialog :visible.sync="modals"
|
||||
:title="FromData.title"
|
||||
:z-index="1"
|
||||
width="700"
|
||||
@on-cancel="cancel"
|
||||
@closed="cancel"
|
||||
>
|
||||
<template>
|
||||
<div class="radio acea-row row-middle" v-if="FromData.action === '/marketing/coupon/save.html'">
|
||||
@ -28,7 +24,7 @@
|
||||
ref="fc"
|
||||
handleIcon="false"
|
||||
></form-create>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -93,7 +89,7 @@ export default {
|
||||
})
|
||||
.then((res) => {
|
||||
if (this.update) this.$parent.getList();
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.modals = false;
|
||||
setTimeout(() => {
|
||||
this.$emit('submitFail');
|
||||
@ -102,7 +98,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 关闭按钮
|
||||
|
||||
@ -271,7 +271,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
getTemplateRow(row) {
|
||||
@ -311,7 +311,7 @@ export default {
|
||||
this.treeSelect = res.data;
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
pageChange() {
|
||||
@ -349,7 +349,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
} else {
|
||||
liveGoods({
|
||||
@ -382,7 +382,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
}
|
||||
},
|
||||
@ -400,7 +400,7 @@ export default {
|
||||
}
|
||||
}
|
||||
} else {
|
||||
this.$Message.warning('请先选择商品');
|
||||
this.$message.warning('请先选择商品');
|
||||
}
|
||||
},
|
||||
// 表格搜索
|
||||
|
||||
@ -71,7 +71,7 @@ export default {
|
||||
this.labelList = res.data;
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
selectLabel(label) {
|
||||
|
||||
@ -1,9 +1,17 @@
|
||||
<template>
|
||||
<div>
|
||||
<Modal v-model="modals" scrollable closable title="选择链接" :mask-closable="false" width="860" @on-cancel="cancel">
|
||||
<el-dialog :visible.sync="modals" title="选择链接" :close-on-click-modal="false" width="860">
|
||||
<div class="table_box">
|
||||
<div class="left_box">
|
||||
<Tree :data="categoryData" @on-select-change="handleCheckChange"></Tree>
|
||||
<el-tree
|
||||
:data="categoryData"
|
||||
node-key="id"
|
||||
default-expand-all
|
||||
:props="props"
|
||||
highlight-current
|
||||
@node-click="handleCheckChange"
|
||||
:current-node-key="treeId"
|
||||
></el-tree>
|
||||
</div>
|
||||
<div class="right_box" v-if="currenType == 'link'">
|
||||
<div v-if="basicsList.length">
|
||||
@ -151,9 +159,9 @@
|
||||
>
|
||||
<el-form ref="formValidate" :model="formValidate" class="tabform" v-if="currenType == 'product'">
|
||||
<el-row :gutter="24">
|
||||
<el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="" label-for="pid">
|
||||
<el-select v-model="formValidate.cate_id" style="width: 230px" clearable @change="userSearchs">
|
||||
<el-select v-model="formValidate.cate_id" style="width: 180px" clearable @change="userSearchs">
|
||||
<el-option
|
||||
v-for="item in treeSelect"
|
||||
:value="item.id"
|
||||
@ -164,15 +172,15 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="" label-for="store_name">
|
||||
<el-input
|
||||
search
|
||||
enter-button
|
||||
placeholder="请输入商品名称,关键字,编号"
|
||||
v-model="formValidate.store_name"
|
||||
style="width: 250px"
|
||||
@on-search="userSearchs"
|
||||
style="width: 200px"
|
||||
@change="userSearchs"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -200,6 +208,7 @@
|
||||
>
|
||||
<el-table-column
|
||||
:label="item.title"
|
||||
:width="item.width"
|
||||
:min-width="item.minWidth"
|
||||
v-for="(item, index) in currenType == 'special'
|
||||
? columns
|
||||
@ -304,12 +313,12 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div slot="footer">
|
||||
<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>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<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>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -331,6 +340,10 @@ export default {
|
||||
modals: false,
|
||||
categoryData: [],
|
||||
currenType: 'link',
|
||||
props: {
|
||||
label: 'name',
|
||||
children: 'children',
|
||||
},
|
||||
columns: [
|
||||
{
|
||||
title: 'ID',
|
||||
@ -494,14 +507,14 @@ export default {
|
||||
};
|
||||
this.$modalSure(delfromData)
|
||||
.then((res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.tableList.splice(num, 1);
|
||||
if (!this.tableList.length) {
|
||||
this.customNum = 2;
|
||||
}
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
customLink() {
|
||||
@ -519,7 +532,7 @@ export default {
|
||||
this.tableList = res.data.list;
|
||||
})
|
||||
.catch((err) => {
|
||||
this.$Message.error(err.msg);
|
||||
this.$message.error(err.msg);
|
||||
});
|
||||
},
|
||||
handleSubmit(name) {
|
||||
@ -536,15 +549,15 @@ export default {
|
||||
this.reset();
|
||||
// saveLink(this.customdate,this.categoryId).then(res=>{
|
||||
// this.getCustomList();
|
||||
// this.$Message.success(res.msg);
|
||||
// this.$message.success(res.msg);
|
||||
// this.$emit("linkUrl",this.customdate.url);
|
||||
// this.modals = false
|
||||
// this.reset();
|
||||
// }).catch(err=>{
|
||||
// this.$Message.error(err.msg);
|
||||
// this.$message.error(err.msg);
|
||||
// })
|
||||
} else {
|
||||
this.$Message.error('请填写信息');
|
||||
this.$message.error('请填写信息');
|
||||
}
|
||||
});
|
||||
},
|
||||
@ -558,7 +571,7 @@ export default {
|
||||
this.treeSelect = res.data;
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 表格搜索
|
||||
@ -582,10 +595,10 @@ export default {
|
||||
.then((res) => {
|
||||
res.data[0].children[0].selected = true;
|
||||
this.categoryData = res.data;
|
||||
this.handleCheckChange('', res.data[0].children[0]);
|
||||
this.handleCheckChange(res.data[0].children[0]);
|
||||
})
|
||||
.catch((err) => {
|
||||
this.$Message.error(err.msg);
|
||||
this.$message.error(err.msg);
|
||||
});
|
||||
},
|
||||
getList() {
|
||||
@ -603,7 +616,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
} else if (this.currenType == 'seckill') {
|
||||
seckillListApi(this.formValidate)
|
||||
@ -618,7 +631,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
} else if (this.currenType == 'advance') {
|
||||
presellListApi(this.formValidate)
|
||||
@ -633,7 +646,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
advance;
|
||||
});
|
||||
} else if (this.currenType == 'bargain') {
|
||||
@ -649,7 +662,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
} else if (this.currenType == 'combination') {
|
||||
combinationListApi(this.formValidate)
|
||||
@ -664,7 +677,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
} else if (this.currenType == 'news') {
|
||||
cmsListApi(this.formValidate)
|
||||
@ -679,7 +692,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
} else if (this.currenType == 'integral') {
|
||||
integralProductListApi(this.formValidate)
|
||||
@ -694,21 +707,22 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
}
|
||||
},
|
||||
handleCheckChange(data, event) {
|
||||
handleCheckChange(data) {
|
||||
this.reset();
|
||||
let id = '';
|
||||
if (event.pid) {
|
||||
id = event.id;
|
||||
this.categoryId = event.id;
|
||||
this.treeId = data.id;
|
||||
if (data.pid) {
|
||||
id = data.id;
|
||||
this.categoryId = data.id;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
this.loading = true;
|
||||
this.currenType = event.type;
|
||||
this.currenType = data.type;
|
||||
if (
|
||||
this.currenType == 'product' ||
|
||||
this.currenType == 'seckill' ||
|
||||
@ -777,13 +791,13 @@ export default {
|
||||
})
|
||||
.catch((err) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(err.msg);
|
||||
this.$message.error(err.msg);
|
||||
});
|
||||
}
|
||||
},
|
||||
ok() {
|
||||
if (this.currenUrl == '') {
|
||||
return this.$Message.warning('请选择链接');
|
||||
return this.$message.warning('请选择链接');
|
||||
} else {
|
||||
this.$emit('linkUrl', this.currenUrl);
|
||||
this.modals = false;
|
||||
@ -899,7 +913,7 @@ export default {
|
||||
margin-left: 23px;
|
||||
font-size: 13px;
|
||||
font-family: PingFang SC;
|
||||
width: 645px;
|
||||
flex:1;
|
||||
height: 470px;
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
|
||||
@ -148,7 +148,7 @@ export default {
|
||||
this.configObj.productList.list = res.data.list;
|
||||
})
|
||||
.catch((err) => {
|
||||
this.$Message.error(err.msg);
|
||||
this.$message.error(err.msg);
|
||||
});
|
||||
},
|
||||
},
|
||||
|
||||
@ -134,7 +134,7 @@ export default {
|
||||
// this.$store.commit('mobildConfig/UPDATEARR', { num: this.num, val: this.pageData })
|
||||
})
|
||||
.catch((err) => {
|
||||
this.$Message.error(err.msg);
|
||||
this.$message.error(err.msg);
|
||||
});
|
||||
},
|
||||
// 获取组件参数
|
||||
@ -152,7 +152,7 @@ export default {
|
||||
this.configObj.selectList.list = res.data.list;
|
||||
})
|
||||
.catch((err) => {
|
||||
this.$Message.error(err.msg);
|
||||
this.$message.error(err.msg);
|
||||
});
|
||||
},
|
||||
handleSubmit(name) {
|
||||
|
||||
@ -2,28 +2,28 @@
|
||||
<div class="box">
|
||||
<div class="c_row-item" v-if="this.$route.query.type !== 2">
|
||||
<el-col class="label" :span="4"> 模板名称 </el-col>
|
||||
<el-col span="19" class="slider-box">
|
||||
<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">
|
||||
<el-col class="label" :span="4"> 页面标题 </el-col>
|
||||
<el-col span="19" class="slider-box">
|
||||
<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">
|
||||
<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 :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">
|
||||
<el-col class="label" :span="4"> 背景设置 </el-col>
|
||||
<el-col span="19" class="slider-box">
|
||||
<el-col :span="19" class="slider-box">
|
||||
<div class="acea-row row-between row-top color">
|
||||
<el-checkbox v-model="bgColor" @change="bgColorTap">背景色</el-checkbox>
|
||||
<ColorPicker v-model="colorPicker" @change="colorPickerTap(colorPicker)" />
|
||||
<el-color-picker v-model="colorPicker" @change="colorPickerTap(colorPicker)"></el-color-picker>
|
||||
</div>
|
||||
<div class="acea-row row-between row-top color">
|
||||
<el-checkbox v-model="bgPic" @change="bgPicTap">背景图</el-checkbox>
|
||||
@ -47,16 +47,7 @@
|
||||
</el-col>
|
||||
</div>
|
||||
<div>
|
||||
<Modal
|
||||
v-model="modalPic"
|
||||
width="950px"
|
||||
scrollable
|
||||
footer-hide
|
||||
closable
|
||||
title="上传背景图"
|
||||
:mask-closable="false"
|
||||
:z-index="1"
|
||||
>
|
||||
<el-dialog :visible.sync="modalPic" width="950px" title="上传背景图" :close-on-click-modal="false" :z-index="1">
|
||||
<uploadPictures
|
||||
:isChoice="isChoice"
|
||||
@getPic="getPic"
|
||||
@ -64,7 +55,7 @@
|
||||
:gridPic="gridPic"
|
||||
v-if="modalPic"
|
||||
></uploadPictures>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<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" @change="changeColor($event, color)" alpha></ColorPicker
|
||||
<el-color-picker v-model="color.item" @change="changeColor($event, color)" show-alpha></el-color-picker
|
||||
><span @click="resetBgA(color, index, key)">重置</span>
|
||||
</div>
|
||||
</el-col>
|
||||
|
||||
@ -4,15 +4,14 @@
|
||||
<el-col class="label" :span="4" v-if="configData.title">
|
||||
{{ configData.title }}
|
||||
</el-col>
|
||||
<el-col span="19" class="slider-box">
|
||||
<Cascader
|
||||
:data="configData.list"
|
||||
<el-col :span="19" class="slider-box">
|
||||
<el-cascader
|
||||
:options="configData.list"
|
||||
placeholder="请选择商品分类"
|
||||
change-on-select
|
||||
v-model="configData.activeValue"
|
||||
filterable
|
||||
@change="sliderChange"
|
||||
></Cascader>
|
||||
></el-cascader>
|
||||
</el-col>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -19,13 +19,13 @@
|
||||
</div>
|
||||
<div class="c_row-item">
|
||||
<el-col class="label" :span="4"> 名称 </el-col>
|
||||
<el-col span="19" class="slider-box">
|
||||
<el-col :span="19" class="slider-box">
|
||||
<el-input v-model="item.name" placeholder="选填不超过10个字" />
|
||||
</el-col>
|
||||
</div>
|
||||
<div class="c_row-item">
|
||||
<el-col class="label" :span="4"> 链接 </el-col>
|
||||
<el-col span="19" class="slider-box">
|
||||
<el-col :span="19" class="slider-box">
|
||||
<div @click="getLink(index)">
|
||||
<el-input icon="ios-arrow-forward" v-model="item.link" readonly placeholder="选填不超过10个字" />
|
||||
</div>
|
||||
@ -39,14 +39,11 @@
|
||||
</draggable>
|
||||
<el-button class="add-btn" type="info" ghost @click="addMenu" v-if="footConfig.length < 5">添加图文导航</el-button>
|
||||
<div>
|
||||
<Modal
|
||||
v-model="modalPic"
|
||||
<el-dialog
|
||||
:visible.sync="modalPic"
|
||||
width="950px"
|
||||
scrollable
|
||||
footer-hide
|
||||
closable
|
||||
title="上传底部菜单"
|
||||
:mask-closable="false"
|
||||
:close-on-click-modal="false"
|
||||
:z-index="1"
|
||||
>
|
||||
<uploadPictures
|
||||
@ -56,7 +53,7 @@
|
||||
:gridPic="gridPic"
|
||||
v-if="modalPic"
|
||||
></uploadPictures>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
</div>
|
||||
<linkaddress ref="linkaddres" @linkUrl="linkUrl"></linkaddress>
|
||||
</div>
|
||||
|
||||
@ -17,15 +17,7 @@
|
||||
</draggable>
|
||||
</div>
|
||||
|
||||
<Modal
|
||||
v-model="modals"
|
||||
title="商品列表"
|
||||
footerHide
|
||||
class="paymentFooter"
|
||||
scrollable
|
||||
width="900"
|
||||
@on-cancel="cancel"
|
||||
>
|
||||
<el-dialog :visible.sync="modals" title="商品列表" class="paymentFooter" width="900" @closed="cancel">
|
||||
<goods-list
|
||||
ref="goodslist"
|
||||
:ischeckbox="true"
|
||||
@ -33,7 +25,7 @@
|
||||
@getProductId="getProductId"
|
||||
v-if="modals"
|
||||
></goods-list>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@ -11,14 +11,10 @@
|
||||
<img :src="item.img" alt="" v-if="item.img" />
|
||||
<div class="upload-box" v-else><Icon type="ios-camera-outline" size="36" /></div>
|
||||
<div>
|
||||
<Modal
|
||||
v-model="modalPic"
|
||||
<el-dialog :visible.sync="modalPic"
|
||||
width="950px"
|
||||
scrollable
|
||||
footer-hide
|
||||
closable
|
||||
title="上传图片"
|
||||
:mask-closable="false"
|
||||
:close-on-click-modal="false"
|
||||
:z-index="1"
|
||||
>
|
||||
<uploadPictures
|
||||
@ -28,7 +24,7 @@
|
||||
:gridPic="gridPic"
|
||||
v-if="modalPic"
|
||||
></uploadPictures>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</div>
|
||||
<div class="info">
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<el-col class="label" :span="4">
|
||||
{{ configData.title }}
|
||||
</el-col>
|
||||
<el-col span="19" class="slider-box">
|
||||
<el-col :span="19" class="slider-box">
|
||||
<div @click="getLink(configData.title)">
|
||||
<el-input
|
||||
:icon="configData.title == '链接' ? 'ios-arrow-forward' : ''"
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<el-col class="label" :span="4">
|
||||
<span>{{ configData.title || '商品数量' }}</span>
|
||||
</el-col>
|
||||
<el-col span="19" class="slider-box">
|
||||
<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"
|
||||
|
||||
@ -43,14 +43,10 @@
|
||||
</div>
|
||||
</draggable>
|
||||
<div>
|
||||
<Modal
|
||||
v-model="modalPic"
|
||||
<el-dialog :visible.sync="modalPic"
|
||||
width="950px"
|
||||
scrollable
|
||||
footer-hide
|
||||
closable
|
||||
title="上传图片"
|
||||
:mask-closable="false"
|
||||
:close-on-click-modal="false"
|
||||
:z-index="1"
|
||||
>
|
||||
<uploadPictures
|
||||
@ -60,7 +56,7 @@
|
||||
:gridPic="gridPic"
|
||||
v-if="modalPic"
|
||||
></uploadPictures>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</div>
|
||||
<template v-if="configData.list">
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<el-col class="label" :span="4" v-if="configData.title">
|
||||
{{ configData.title }}
|
||||
</el-col>
|
||||
<el-col span="19" class="slider-box">
|
||||
<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>
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<el-col class="label" :span="4" v-if="configData.title">
|
||||
{{ configData.title }}
|
||||
</el-col>
|
||||
<el-col span="18" class="slider-box">
|
||||
<el-col :span="18" class="slider-box">
|
||||
<Slider v-model="configData.val" show-input @change="sliderChange($event)" :min="configData.min"></Slider>
|
||||
</el-col>
|
||||
</div>
|
||||
|
||||
@ -10,15 +10,11 @@
|
||||
<span class="iconfont-diy icondel_1" @click.stop="bindDelete" v-if="configData.url && configData.type"></span>
|
||||
</div>
|
||||
<div>
|
||||
<Modal
|
||||
v-model="modalPic"
|
||||
<el-dialog
|
||||
:visible.sync="modalPic"
|
||||
width="950px"
|
||||
scrollable
|
||||
footer-hide
|
||||
closable
|
||||
:title="configData.header ? configData.header : '上传图片'"
|
||||
:mask-closable="false"
|
||||
:z-index="1"
|
||||
:close-on-click-modal="false"
|
||||
>
|
||||
<uploadPictures
|
||||
:isChoice="isChoice"
|
||||
@ -27,7 +23,7 @@
|
||||
:gridPic="gridPic"
|
||||
v-if="modalPic"
|
||||
></uploadPictures>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<Modal v-model="modals" class="paymentFooter" scrollable width="400" :z-index="99999" v-if="delfromData">
|
||||
<el-dialog :visible.sync="modals" class="paymentFooter" width="400" :destroy-on-close="true">
|
||||
<p slot="header" style="color: #f60">
|
||||
<Icon type="md-alert" />
|
||||
<span>{{ `${delfromData.title}` }}</span>
|
||||
@ -12,7 +12,7 @@
|
||||
<el-button type="warning" :loading="modal_loading" @click="ok">确定</el-button>
|
||||
<el-button type="primary" @click="cancel">取消</el-button>
|
||||
</div>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@ -38,14 +38,14 @@ export default {
|
||||
setTimeout(() => {
|
||||
tableDelApi(this.delfromData)
|
||||
.then(async (res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.modal_loading = false;
|
||||
this.modals = false;
|
||||
this.$emit('submitModel');
|
||||
})
|
||||
.catch((res) => {
|
||||
this.modal_loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
this.modals = false;
|
||||
});
|
||||
}, 2000);
|
||||
|
||||
@ -189,10 +189,10 @@ export default {
|
||||
};
|
||||
this.$modalSure(delfromData)
|
||||
.then((res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
clickFn(event, { index, value }) {
|
||||
@ -212,7 +212,7 @@ export default {
|
||||
};
|
||||
this.$modalSure(delfromData)
|
||||
.then((res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.$nextTick(() => {
|
||||
this.imgsArr = [];
|
||||
});
|
||||
@ -220,7 +220,7 @@ export default {
|
||||
this.getData();
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 删除成功
|
||||
@ -281,7 +281,7 @@ export default {
|
||||
}
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
},
|
||||
@ -291,7 +291,7 @@ export default {
|
||||
|
||||
<style scoped lang="stylus">
|
||||
.contentBox {
|
||||
height: 100%;
|
||||
// height: 100%;
|
||||
width: 100%;
|
||||
position: static;
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div>
|
||||
<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-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">
|
||||
@ -13,18 +13,19 @@
|
||||
</el-col>
|
||||
<el-col v-if="item.custom">
|
||||
<el-form-item class="tab_data">
|
||||
<DatePicker
|
||||
<el-date-picker
|
||||
:editable="false"
|
||||
format="yyyy/MM/dd"
|
||||
value-format="yyyy/MM/dd"
|
||||
type="daterange"
|
||||
placement="bottom-end"
|
||||
placeholder="请选择时间"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
style="width: 200px"
|
||||
></DatePicker>
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24" v-if="isExist.existOne">
|
||||
<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" />
|
||||
@ -35,7 +36,7 @@
|
||||
<span class="Refresh">刷新</span><Icon type="ios-refresh" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24" class="withdrawal" v-if="isExist.existTwo">
|
||||
<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>
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div>
|
||||
<Modal v-model="isTemplate" title="推荐人信息" width="45%" @on-cancel="cancel">
|
||||
<div class="Modals">
|
||||
<el-dialog :visible.sync="isTemplate" title="推荐人信息" width="45%" @closed="cancel">
|
||||
<div class="Modals" v-loading="spinShow">
|
||||
<div class="header acea-row row-middle">
|
||||
<div class="pictrue"><img :src="spread.avatar" /></div>
|
||||
<div class="name">{{ spread.nickname }}</div>
|
||||
@ -49,9 +49,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div slot="footer"></div>
|
||||
<Spin size="large" fix v-if="spinShow"></Spin>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<Modal v-model="modals" scrollable title="备注" class="order_box" :closable="false">
|
||||
<el-dialog :visible.sync="modals" title="备注" class="order_box" :show-close="false">
|
||||
<el-form ref="formValidate" :model="formValidate" :rules="ruleValidate" label-width="85px" @submit.native.prevent>
|
||||
<el-form-item label="备注:" prop="remark">
|
||||
<el-input
|
||||
@ -16,7 +16,7 @@
|
||||
<el-button type="primary" @click="putRemark('formValidate')">提交</el-button>
|
||||
<el-button @click="cancel('formValidate')">取消</el-button>
|
||||
</div>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@ -52,7 +52,7 @@ export default {
|
||||
if (valid) {
|
||||
this.$emit('submitFail', this.formValidate.remark);
|
||||
} else {
|
||||
this.$Message.warning('请填写备注信息');
|
||||
this.$message.warning('请填写备注信息');
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
@ -139,19 +139,19 @@ export default {
|
||||
let list = data.tabBar.default.tabBarList.list;
|
||||
for (let i = 0; i < list.length; i++) {
|
||||
if (list[i].link == '/pages/storeList/index' || list[i].link == 'pages/storeList/index') {
|
||||
return this.$Message.error('请先开启您的周边功能(/pages/storeList/index)');
|
||||
return this.$message.error('请先开启您的周边功能(/pages/storeList/index)');
|
||||
}
|
||||
}
|
||||
}
|
||||
if (data.tabBar.default.tabBarList.list.length < 2) {
|
||||
return this.$Message.error('您最少应添加2个导航');
|
||||
return this.$message.error('您最少应添加2个导航');
|
||||
}
|
||||
}
|
||||
|
||||
diySave(this.pageId, {
|
||||
value: data,
|
||||
}).then((res) => {
|
||||
this.$Message.success('保存成功');
|
||||
this.$message.success('保存成功');
|
||||
});
|
||||
},
|
||||
// 对象转数组
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div>
|
||||
<Modal v-model="isTemplate" title="推荐人信息" width="45%" @on-cancel="cancel">
|
||||
<div class="Modals">
|
||||
<el-dialog :visible.sync="isTemplate" title="推荐人信息" width="45%" @closed="cancel">
|
||||
<div class="Modals" v-loading="spinShow">
|
||||
<div class="header acea-row row-middle">
|
||||
<div class="pictrue"><img :src="spread.avatar" /></div>
|
||||
<div class="name">{{ spread.nickname }}</div>
|
||||
@ -49,9 +49,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div slot="footer"></div>
|
||||
<Spin size="large" fix v-if="spinShow"></Spin>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
:label-position="labelPosition"
|
||||
class="tabform"
|
||||
>
|
||||
<el-row :gutter="24" justify="end">
|
||||
<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)">
|
||||
@ -31,15 +31,16 @@
|
||||
</el-col>
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item class="tab_data">
|
||||
<DatePicker
|
||||
<el-date-picker
|
||||
:editable="false"
|
||||
:value="value2"
|
||||
format="yyyy/MM/dd"
|
||||
v-model="value2"
|
||||
value-format="yyyy/MM/dd"
|
||||
type="daterange"
|
||||
placement="bottom-end"
|
||||
placeholder="el-select date"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
style="width: 200px"
|
||||
></DatePicker>
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col>
|
||||
|
||||
@ -1,15 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<Modal
|
||||
v-model="modals"
|
||||
:z-index="100"
|
||||
scrollable
|
||||
footer-hide
|
||||
closable
|
||||
title="发送优惠券"
|
||||
:mask-closable="false"
|
||||
width="900"
|
||||
>
|
||||
<el-dialog :visible.sync="modals" :z-index="100" title="发送优惠券" :close-on-click-modal="false" width="900">
|
||||
<div class="acea-row">
|
||||
<span class="sp">优惠券名称:</span
|
||||
><el-input
|
||||
@ -60,7 +51,7 @@
|
||||
<div class="acea-row row-right page">
|
||||
<pagination v-if="total" :total="total" :page.sync="page.page" :limit.sync="page.limit" @pagination="getList" />
|
||||
</div>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -79,38 +70,6 @@ export default {
|
||||
modals: false,
|
||||
loading: false,
|
||||
couponList: [],
|
||||
columns: [
|
||||
{
|
||||
title: '优惠券名称',
|
||||
key: 'title',
|
||||
align: 'center',
|
||||
minWidth: 100,
|
||||
},
|
||||
{
|
||||
title: '优惠券面值',
|
||||
key: 'coupon_price',
|
||||
align: 'center',
|
||||
minWidth: 80,
|
||||
},
|
||||
{
|
||||
title: '优惠券最低消费',
|
||||
key: 'use_min_price',
|
||||
align: 'center',
|
||||
minWidth: 150,
|
||||
},
|
||||
{
|
||||
title: '优惠券有效期限',
|
||||
slot: 'coupon_time',
|
||||
align: 'center',
|
||||
minWidth: 120,
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
slot: 'action',
|
||||
align: 'center',
|
||||
width: 120,
|
||||
},
|
||||
],
|
||||
page: {
|
||||
page: 1, // 当前页
|
||||
limit: 15,
|
||||
@ -133,12 +92,12 @@ export default {
|
||||
this.loading = false;
|
||||
} else {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 表格搜索
|
||||
@ -159,10 +118,10 @@ export default {
|
||||
};
|
||||
this.$modalSure(delfromData)
|
||||
.then((res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
},
|
||||
|
||||
@ -28,7 +28,6 @@
|
||||
empty-text="暂无数据"
|
||||
|
||||
max-height="400"
|
||||
:columns="columns"
|
||||
:data="tableList"
|
||||
:loading="loading"
|
||||
@select="selectionGood"
|
||||
@ -118,7 +117,7 @@ export default {
|
||||
this.treeSelect = res.data;
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 列表
|
||||
@ -131,7 +130,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 表格搜索
|
||||
|
||||
@ -1,16 +1,8 @@
|
||||
<template>
|
||||
<div>
|
||||
<Modal
|
||||
v-model="isTemplate"
|
||||
scrollable
|
||||
footer-hide
|
||||
closable
|
||||
:title="formItem.id ? '编辑提货点' : '添加提货点'"
|
||||
:z-index="1"
|
||||
@on-cancel="cancel"
|
||||
>
|
||||
<el-dialog :visible.sync="isTemplate" :title="formItem.id ? '编辑提货点' : '添加提货点'" @closed="cancel">
|
||||
<div class="article-manager">
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt">
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt" v-loading="spinShow">
|
||||
<el-form
|
||||
ref="formItem"
|
||||
:model="formItem"
|
||||
@ -19,7 +11,7 @@
|
||||
:rules="ruleValidate"
|
||||
@submit.native.prevent
|
||||
>
|
||||
<el-row :gutter="24">
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="24">
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="提货点名称:" prop="name" label-for="name">
|
||||
@ -44,12 +36,12 @@
|
||||
<el-col :span="24">
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="提货点地址:" label-for="address" prop="address">
|
||||
<Cascader
|
||||
:data="addresData"
|
||||
<el-cascader
|
||||
:options="addresData"
|
||||
:value="formItem.address"
|
||||
v-model="formItem.address"
|
||||
@change="handleChange"
|
||||
></Cascader>
|
||||
></el-cascader>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col>
|
||||
@ -70,15 +62,17 @@
|
||||
<el-col :span="24">
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="提货点营业:" label-for="day_time" prop="day_time">
|
||||
<TimePicker
|
||||
type="timerange"
|
||||
<el-time-picker
|
||||
is-range
|
||||
@change="onchangeTime"
|
||||
v-model="formItem.day_time"
|
||||
format="HH:mm:ss"
|
||||
:value="formItem.day_time"
|
||||
placement="bottom-end"
|
||||
placeholder="请选择营业时间"
|
||||
></TimePicker>
|
||||
value-format="HH:mm:ss"
|
||||
range-separator="至"
|
||||
start-placeholder="开始时间"
|
||||
end-placeholder="结束时间"
|
||||
placeholder="选择时间范围"
|
||||
></el-time-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col>
|
||||
@ -113,40 +107,31 @@
|
||||
<el-col :span="24">
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="经纬度:" label-for="status2" prop="latlng">
|
||||
<Tooltip>
|
||||
<el-input
|
||||
search
|
||||
enter-button="查找位置"
|
||||
v-model="formItem.latlng"
|
||||
style="width: 100%"
|
||||
placeholder="请查找位置"
|
||||
@on-search="onSearch"
|
||||
/>
|
||||
<el-tooltip>
|
||||
<el-input v-model="formItem.latlng" style="width: 100%" placeholder="请查找位置">
|
||||
<el-button type="primary" slot="append" @click="onSearch">查找位置</el-button>
|
||||
</el-input>
|
||||
<div slot="content">请点击查找位置选择位置</div>
|
||||
</Tooltip>
|
||||
</el-tooltip>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row >
|
||||
<!-- <el-row>
|
||||
<div class="btn">
|
||||
<el-button type="primary" long @click="handleSubmit('formItem')">{{
|
||||
formItem.id ? '修改' : '提交'
|
||||
}}</el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
<Spin size="large" fix v-if="spinShow"></Spin>
|
||||
</el-row> -->
|
||||
</el-form>
|
||||
</el-card>
|
||||
|
||||
<Modal
|
||||
v-model="modalPic"
|
||||
<el-dialog
|
||||
:visible.sync="modalPic"
|
||||
width="950px"
|
||||
scrollable
|
||||
footer-hide
|
||||
closable
|
||||
:title="modalTitle"
|
||||
:mask-closable="false"
|
||||
:close-on-click-modal="false"
|
||||
:z-index="888"
|
||||
>
|
||||
<uploadPictures
|
||||
@ -156,22 +141,22 @@
|
||||
:gridPic="gridPic"
|
||||
v-if="modalPic"
|
||||
></uploadPictures>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
|
||||
<Modal
|
||||
v-model="modalMap"
|
||||
scrollable
|
||||
footer-hide
|
||||
closable
|
||||
<el-dialog
|
||||
:visible.sync="modalMap"
|
||||
title="请选择地址"
|
||||
:mask-closable="false"
|
||||
:close-on-click-modal="false"
|
||||
:z-index="1"
|
||||
class="mapBox"
|
||||
>
|
||||
<iframe id="mapPage" width="100%" height="100%" frameborder="0" v-bind:src="keyUrl"></iframe>
|
||||
</Modal>
|
||||
<iframe id="mapPage" width="100%" height="600px" frameborder="0" v-bind:src="keyUrl"></iframe>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</Modal>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" long @click="handleSubmit('formItem')">{{ formItem.id ? '修改' : '提交' }}</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -222,7 +207,7 @@ export default {
|
||||
address2: [],
|
||||
detailed_address: '',
|
||||
valid_time: [],
|
||||
day_time: [],
|
||||
day_time: ['', ''],
|
||||
latlng: '',
|
||||
id: 0,
|
||||
},
|
||||
@ -361,6 +346,7 @@ export default {
|
||||
let info = res.data.info || null;
|
||||
that.formItem = info || that.formItem;
|
||||
that.formItem.address = info.address2;
|
||||
that.formItem.day_time = info.day_time.split('-');
|
||||
that.spinShow = false;
|
||||
})
|
||||
.catch(function (res) {
|
||||
@ -400,6 +386,7 @@ export default {
|
||||
this.formItem.day_time = e;
|
||||
},
|
||||
onSearch() {
|
||||
console.log('111');
|
||||
if (!this.keyUrl) {
|
||||
keyApi()
|
||||
.then(async (res) => {
|
||||
@ -408,7 +395,7 @@ export default {
|
||||
this.modalMap = true;
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
} else {
|
||||
this.modalMap = true;
|
||||
@ -420,14 +407,14 @@ export default {
|
||||
if (valid) {
|
||||
storeAddApi(this.formItem)
|
||||
.then(async (res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.isTemplate = false;
|
||||
this.$parent.getList();
|
||||
this.$refs[name].resetFields();
|
||||
this.clearFrom();
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
} else {
|
||||
return false;
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
<template>
|
||||
<div>
|
||||
<!-- 修复升级 -->
|
||||
<Modal
|
||||
v-model="upgrade"
|
||||
<el-dialog
|
||||
:visible.sync="upgrade"
|
||||
width="390"
|
||||
height="96"
|
||||
:closable="false"
|
||||
@ -16,11 +16,11 @@
|
||||
<h2>您有新的修复版本可升级</h2>
|
||||
<p>更多惊喜内容等你来探索,快来看看吧~</p>
|
||||
</div>
|
||||
<div slot="footer" class="footer">
|
||||
<el-button class="cancel" shape="circle" @click="upgrade = false">暂不升级</el-button>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button shape="circle" @click="upgrade = false">暂不升级</el-button>
|
||||
<el-button shape="circle" type="primary" @click="upgradeNow()">立即升级</el-button>
|
||||
</div>
|
||||
</Modal>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
|
||||
@ -243,7 +243,7 @@ export default {
|
||||
const file = this.ruleForm.imgList[i].raw;
|
||||
await this.uploadItem(file);
|
||||
if (i == this.ruleForm.imgList.length - 1) {
|
||||
this.$Message.success('上传成功');
|
||||
this.$message.success('上传成功');
|
||||
this.$emit('uploadSuccess');
|
||||
this.uploadModal = false;
|
||||
this.loading = false;
|
||||
@ -260,7 +260,7 @@ export default {
|
||||
this.loading = true;
|
||||
onlineUpload({ pid: this.ruleForm.region, images: urls })
|
||||
.then((res) => {
|
||||
this.$Message.success('上传成功');
|
||||
this.$message.success('上传成功');
|
||||
this.$emit('uploadSuccess');
|
||||
this.uploadModal = false;
|
||||
this.loading = false;
|
||||
@ -268,7 +268,7 @@ export default {
|
||||
})
|
||||
.catch((err) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(err.msg);
|
||||
this.$message.error(err.msg);
|
||||
});
|
||||
}
|
||||
} else if (this.ruleForm.type == 2) {
|
||||
@ -276,7 +276,7 @@ export default {
|
||||
return e.att_id;
|
||||
});
|
||||
moveApi({ pid: this.ruleForm.region, images: attId }).then((res) => {
|
||||
this.$Message.success('上传成功');
|
||||
this.$message.success('上传成功');
|
||||
this.$emit('uploadSuccess');
|
||||
this.uploadModal = false;
|
||||
this.initData();
|
||||
@ -304,7 +304,7 @@ export default {
|
||||
})
|
||||
.catch((err) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(err.msg);
|
||||
this.$message.error(err.msg);
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
@ -114,9 +114,9 @@
|
||||
@mouseleave="enterMouse(item)"
|
||||
>
|
||||
<p class="number" v-if="item.num > 0">
|
||||
<Badge :count="item.num" type="error" :offset="[11, 12]">
|
||||
<el-badge :value="item.num" type="primary">
|
||||
<a href="#" class="demo-badge"></a>
|
||||
</Badge>
|
||||
</el-badge>
|
||||
</p>
|
||||
<img
|
||||
:class="item.isSelect ? 'on' : ''"
|
||||
@ -325,11 +325,11 @@ export default {
|
||||
onOk: () => {
|
||||
method(node.id)
|
||||
.then((res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
node.remove();
|
||||
})
|
||||
.catch((err) => {
|
||||
this.$Message.error(err);
|
||||
this.$message.error(err);
|
||||
});
|
||||
},
|
||||
onCancel: () => {},
|
||||
@ -344,10 +344,10 @@ export default {
|
||||
};
|
||||
interfaceEditName(data)
|
||||
.then((res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
})
|
||||
.catch((err) => {
|
||||
this.$Message.error(err);
|
||||
this.$message.error(err);
|
||||
});
|
||||
}
|
||||
},
|
||||
@ -384,7 +384,7 @@ export default {
|
||||
this.getMove();
|
||||
} else {
|
||||
if (!this.ids.toString()) {
|
||||
this.$Message.warning('请先选择图片');
|
||||
this.$message.warning('请先选择图片');
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -398,14 +398,14 @@ export default {
|
||||
};
|
||||
moveApi(data)
|
||||
.then(async (res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.getFileList();
|
||||
this.pids = 0;
|
||||
this.checkPicList = [];
|
||||
this.ids = [];
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
delImg(id) {
|
||||
@ -420,12 +420,12 @@ export default {
|
||||
};
|
||||
this.$modalSure(delfromData)
|
||||
.then((res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.getFileList();
|
||||
this.checkPicList = [];
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 删除图片
|
||||
@ -441,12 +441,12 @@ export default {
|
||||
};
|
||||
this.$modalSure(delfromData)
|
||||
.then((res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.getFileList();
|
||||
this.initData();
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
initData() {
|
||||
@ -489,12 +489,12 @@ export default {
|
||||
};
|
||||
this.$modalSure(delfromData)
|
||||
.then((res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.getList();
|
||||
this.checkPicList = [];
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 确认删除树
|
||||
@ -533,7 +533,7 @@ export default {
|
||||
// this.addFlag(this.treeData);
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
loadData(item, callback) {
|
||||
@ -585,7 +585,7 @@ export default {
|
||||
});
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
showSelectData() {
|
||||
@ -647,10 +647,10 @@ export default {
|
||||
// 上传之前
|
||||
beforeUpload(file) {
|
||||
// if (file.size > 2097152) {
|
||||
// this.$Message.error(file.name + "大小超过2M!");
|
||||
// this.$message.error(file.name + "大小超过2M!");
|
||||
// } else
|
||||
if (!/image\/\w+/.test(file.type)) {
|
||||
this.$Message.error('请上传以jpg、jpeg、png等结尾的图片文件'); //FileExt.toLowerCase()
|
||||
this.$message.error('请上传以jpg、jpeg、png等结尾的图片文件'); //FileExt.toLowerCase()
|
||||
return false;
|
||||
}
|
||||
this.uploadData = {
|
||||
@ -666,11 +666,11 @@ export default {
|
||||
// 上传成功
|
||||
handleSuccess(res, file, fileList) {
|
||||
if (res.status === 200) {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.fileData.page = 1;
|
||||
this.getFileList();
|
||||
} else {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
},
|
||||
// 关闭
|
||||
@ -712,12 +712,12 @@ export default {
|
||||
// 点击使用选中图片
|
||||
checkPics() {
|
||||
if (this.isChoice === '单选') {
|
||||
if (this.checkPicList.length > 1) return this.$Message.warning('最多只能选一张图片');
|
||||
if (this.checkPicList.length > 1) return this.$message.warning('最多只能选一张图片');
|
||||
this.$emit('getPic', this.checkPicList[0]);
|
||||
} else {
|
||||
let maxLength = this.$route.query.maxLength;
|
||||
if (maxLength != undefined && this.checkPicList.length > Number(maxLength))
|
||||
return this.$Message.warning('最多只能选' + maxLength + '张图片');
|
||||
return this.$message.warning('最多只能选' + maxLength + '张图片');
|
||||
this.$emit('getPicD', this.checkPicList);
|
||||
}
|
||||
},
|
||||
@ -730,7 +730,7 @@ export default {
|
||||
// 修改图片文字上传
|
||||
bindTxt(item) {
|
||||
if (item.real_name == '') {
|
||||
this.$Message.error('请填写内容');
|
||||
this.$message.error('请填写内容');
|
||||
}
|
||||
fileUpdateApi(item.att_id, {
|
||||
real_name: item.real_name,
|
||||
@ -738,10 +738,10 @@ export default {
|
||||
.then((res) => {
|
||||
this.editName(item);
|
||||
item.isEdit = false;
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
})
|
||||
.catch((error) => {
|
||||
this.$Message.error(error.msg);
|
||||
this.$message.error(error.msg);
|
||||
});
|
||||
},
|
||||
},
|
||||
@ -815,12 +815,16 @@ export default {
|
||||
right: 0;
|
||||
top: 0;
|
||||
}
|
||||
/deep/ .el-badge__content.is-fixed {
|
||||
top: 15px;
|
||||
right: 25px;
|
||||
}
|
||||
}
|
||||
.Nav {
|
||||
width: 100%;
|
||||
border-right: 1px solid #eee;
|
||||
min-width: 220px;
|
||||
max-width: 220px;
|
||||
max-width: 250px;
|
||||
}
|
||||
.trees-coadd {
|
||||
width: 100%;
|
||||
|
||||
@ -11,9 +11,9 @@
|
||||
@click="zh_uploadFile"
|
||||
>{{ videoLink ? '确认添加' : '上传视频' }}</el-button
|
||||
>
|
||||
<Upload
|
||||
<el-upload
|
||||
v-if="upload_type === '1' && !videoLink"
|
||||
:show-upload-list="false"
|
||||
:show-file-list="false"
|
||||
:action="fileUrl"
|
||||
class="ml10"
|
||||
:before-upload="videoSaveToUrl"
|
||||
@ -23,7 +23,7 @@
|
||||
style="display: inline-block"
|
||||
>
|
||||
<el-button type="primary" icon="ios-cloud-upload-outline">上传视频</el-button>
|
||||
</Upload>
|
||||
</el-upload>
|
||||
<Progress :percent="progress" :stroke-width="5" v-if="upload.videoIng" />
|
||||
<div class="iview-video-style" v-if="formValidate.video_link">
|
||||
<video
|
||||
@ -88,9 +88,9 @@ export default {
|
||||
handleSuccess(res, file, fileList) {
|
||||
if (res.status === 200) {
|
||||
this.formValidate.video_link = res.data.src;
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
} else {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
},
|
||||
videoSaveToUrl(file) {
|
||||
@ -102,7 +102,7 @@ export default {
|
||||
this.progress = 100;
|
||||
},
|
||||
error: (e) => {
|
||||
this.$Message.error(e.msg);
|
||||
this.$message.error(e.msg);
|
||||
},
|
||||
uploading: (chunk, allChunk) => {
|
||||
this.videoIng = true;
|
||||
|
||||
@ -11,9 +11,9 @@
|
||||
@click="zh_uploadFile"
|
||||
>{{ videoLink ? '确认添加' : '上传视频' }}</el-button
|
||||
>
|
||||
<Upload
|
||||
<el-upload
|
||||
v-if="upload_type === '1' && !videoLink"
|
||||
:show-upload-list="false"
|
||||
:show-file-list="false"
|
||||
:action="fileUrl"
|
||||
class="ml10"
|
||||
:before-upload="videoSaveToUrl"
|
||||
@ -23,7 +23,7 @@
|
||||
style="display: inline-block"
|
||||
>
|
||||
<el-button type="primary" icon="ios-cloud-upload-outline">上传视频</el-button>
|
||||
</Upload>
|
||||
</el-upload>
|
||||
<Progress :percent="progress" :stroke-width="5" v-if="upload.videoIng" />
|
||||
<div class="iview-video-style" v-if="formValidate.video_link">
|
||||
<video
|
||||
@ -81,7 +81,7 @@ export default {
|
||||
this.progress = 100;
|
||||
},
|
||||
error: (e) => {
|
||||
this.$Message.error(e.msg);
|
||||
this.$message.error(e.msg);
|
||||
},
|
||||
uploading: (chunk, allChunk) => {
|
||||
this.videoIng = true;
|
||||
@ -106,9 +106,9 @@ export default {
|
||||
handleSuccess(res, file, fileList) {
|
||||
if (res.status === 200) {
|
||||
this.formValidate.video_link = res.data.src;
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
} else {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
},
|
||||
getToken() {
|
||||
|
||||
@ -15,11 +15,10 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="footer">
|
||||
<el-button type="primary" class="btns" @click="subBtn">确定</el-button>
|
||||
<el-button type="primary" class="btns" ghost @click="cancel">取消</el-button>
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="subBtn">确 定</el-button>
|
||||
</span>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -126,11 +125,11 @@ export default {
|
||||
this.$emit('onceGetList');
|
||||
this.activeIds = [];
|
||||
this.unLaberids = [];
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.$emit('close');
|
||||
})
|
||||
.catch((error) => {
|
||||
this.$Message.error(error.msg);
|
||||
this.$message.error(error.msg);
|
||||
});
|
||||
},
|
||||
cancel() {
|
||||
|
||||
@ -8,30 +8,12 @@
|
||||
<monaco @change="changeValue" :value="newHtml" />
|
||||
</div>
|
||||
|
||||
<Modal
|
||||
v-model="modalPic"
|
||||
width="1024px"
|
||||
scrollable
|
||||
footer-hide
|
||||
closable
|
||||
title="上传图片"
|
||||
:mask-closable="false"
|
||||
:z-index="9"
|
||||
>
|
||||
<el-dialog :visible.sync="modalPic" width="1024px" title="上传图片" :close-on-click-modal="false">
|
||||
<uploadPictures v-if="modalPic" :isChoice="isChoice" @getPic="getPic" @getPicD="getPicD"></uploadPictures>
|
||||
</Modal>
|
||||
<Modal
|
||||
v-model="modalVideo"
|
||||
width="800px"
|
||||
scrollable
|
||||
footer-hide
|
||||
closable
|
||||
title="上传视频"
|
||||
:mask-closable="false"
|
||||
:z-index="9"
|
||||
>
|
||||
</el-dialog>
|
||||
<el-dialog :visible.sync="modalVideo" width="800px" title="上传视频" :close-on-click-modal="false">
|
||||
<uploadVideo v-if="modalVideo" @getVideo="getvideo"></uploadVideo>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
|
||||
@ -192,7 +192,7 @@ export default {
|
||||
instance.confirmButtonText = this.$t('message.user.logOutExit');
|
||||
AccountLogout().then((res) => {
|
||||
done();
|
||||
this.$Message.success('您已成功退出');
|
||||
this.$message.success('您已成功退出');
|
||||
this.$store.commit('clearAll');
|
||||
// localStorage.clear();
|
||||
// sessionStorage.clear();
|
||||
|
||||
@ -10,7 +10,6 @@
|
||||
|
||||
import axios from 'axios';
|
||||
import store from '@/store';
|
||||
// import { Spin } from 'iview'
|
||||
const addErrorLog = (errorInfo) => {
|
||||
const {
|
||||
statusText,
|
||||
@ -43,7 +42,6 @@ class HttpRequest {
|
||||
destroy(url) {
|
||||
delete this.queue[url];
|
||||
if (!Object.keys(this.queue).length) {
|
||||
// Spin.hide()
|
||||
}
|
||||
}
|
||||
interceptors(instance, url) {
|
||||
|
||||
@ -189,9 +189,7 @@ new Vue({
|
||||
watch: {
|
||||
// 监听路由 控制侧边栏显示 标记当前顶栏菜单(如需要)
|
||||
$route(to, from) {
|
||||
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) => {
|
||||
|
||||
@ -175,7 +175,7 @@ export default {
|
||||
this.login_captcha = data.login_captcha;
|
||||
})
|
||||
.catch((err) => {
|
||||
this.$Message.error(err);
|
||||
this.$message.error(err);
|
||||
this.login_logo = require('@/assets/images/logo.png');
|
||||
this.swiperList = [{ slide: this.defaultSwiperList }];
|
||||
});
|
||||
@ -187,7 +187,7 @@ export default {
|
||||
closeModel(params) {
|
||||
this.isShow = false;
|
||||
// noinspection JSVoidFunctionReturnValueUsed
|
||||
let msg = this.$Message.loading({
|
||||
let msg = this.$message.loading({
|
||||
content: '登录中...',
|
||||
duration: 0,
|
||||
});
|
||||
@ -231,17 +231,21 @@ export default {
|
||||
this.login_captcha = 0;
|
||||
try {
|
||||
if (data.queue === false) {
|
||||
this.$Notice.warning({
|
||||
this.$notify.warning({
|
||||
title: '温馨提示',
|
||||
desc: '您的【消息队列】未开启,没有开启会导致异步任务无法执行。请尽快执行命令开启!!<a href="https://doc.crmeb.com/single/crmeb_v4/7217" target="_blank">点击查看开启方法</a>',
|
||||
duration: 30,
|
||||
dangerouslyUseHTMLString: true,
|
||||
message:
|
||||
'您的【消息队列】未开启,没有开启会导致异步任务无法执行。请尽快执行命令开启!!<a href="https://doc.crmeb.com/single/crmeb_v4/7217" target="_blank">点击查看开启方法</a>',
|
||||
duration: 30000,
|
||||
});
|
||||
}
|
||||
if (data.timer === false) {
|
||||
this.$Notice.warning({
|
||||
this.$notify.warning({
|
||||
title: '温馨提示',
|
||||
desc: '您的【定时任务】未开启,没有开启会导致自动收货、未支付自动取消订单、订单自动好评、拼团到期退款等任务无法正常执行。请尽快执行命令开启!!<a href="https://doc.crmeb.com/single/crmeb_v4/7211" target="_blank">点击查看开启方法</a>',
|
||||
duration: 30,
|
||||
dangerouslyUseHTMLString: true,
|
||||
message:
|
||||
'您的【定时任务】未开启,没有开启会导致自动收货、未支付自动取消订单、订单自动好评、拼团到期退款等任务无法正常执行。请尽快执行命令开启!!<a href="https://doc.crmeb.com/single/crmeb_v4/7211" target="_blank">点击查看开启方法</a>',
|
||||
duration: 30000,
|
||||
});
|
||||
}
|
||||
|
||||
@ -255,7 +259,7 @@ export default {
|
||||
.catch((res) => {
|
||||
msg();
|
||||
let data = res === undefined ? {} : res;
|
||||
this.$Message.error(data.msg || '登录失败');
|
||||
this.$message.error(data.msg || '登录失败');
|
||||
this.login_captcha = res.data.login_captcha;
|
||||
});
|
||||
setTimeout((e) => {
|
||||
@ -287,20 +291,24 @@ export default {
|
||||
socket.onerror = (err) => {
|
||||
if (!isNotice) {
|
||||
isNotice = true;
|
||||
this.$Notice.warning({
|
||||
this.$notify.warning({
|
||||
title: '温馨提示',
|
||||
desc: '您的【长连接】未开启,没有开启会导致系统默认客服无法使用,后台订单通知无法收到。请尽快执行命令开启!!<a href="https://doc.crmeb.com/single/crmeb_v4/7219" target="_blank">点击查看开启方法</a>',
|
||||
duration: 30,
|
||||
message:
|
||||
'您的【长连接】未开启,没有开启会导致系统默认客服无法使用,后台订单通知无法收到。请尽快执行命令开启!!<a href="https://doc.crmeb.com/single/crmeb_v4/7219" target="_blank">点击查看开启方法</a>',
|
||||
dangerouslyUseHTMLString: true,
|
||||
duration: 30000,
|
||||
});
|
||||
}
|
||||
};
|
||||
socket.onclose = (err) => {
|
||||
if (!isNotice) {
|
||||
isNotice = true;
|
||||
this.$Notice.warning({
|
||||
this.$notify.warning({
|
||||
title: '温馨提示',
|
||||
desc: '您的【长连接】未开启,没有开启会导致系统默认客服无法使用,后台订单通知无法收到。请尽快执行命令开启!!<a href="https://doc.crmeb.com/single/crmeb_v4/7219" target="_blank">点击查看开启方法</a>',
|
||||
duration: 30,
|
||||
message:
|
||||
'您的【长连接】未开启,没有开启会导致系统默认客服无法使用,后台订单通知无法收到。请尽快执行命令开启!!<a href="https://doc.crmeb.com/single/crmeb_v4/7219" target="_blank">点击查看开启方法</a>',
|
||||
dangerouslyUseHTMLString: true,
|
||||
duration: 30000,
|
||||
});
|
||||
}
|
||||
};
|
||||
@ -314,7 +322,7 @@ export default {
|
||||
|
||||
closefail() {
|
||||
// if (this.jigsaw) this.jigsaw.reset();
|
||||
this.$Message.error('校验错误');
|
||||
this.$message.error('校验错误');
|
||||
},
|
||||
handleResize(event) {
|
||||
this.fullWidth = document.documentElement.clientWidth;
|
||||
|
||||
@ -21,17 +21,17 @@
|
||||
item.text
|
||||
}}</el-radio-button>
|
||||
</el-radio-group>
|
||||
<DatePicker
|
||||
:editable="true"
|
||||
:clearable="true"
|
||||
<el-date-picker
|
||||
v-model="timeVal"
|
||||
:editable="false"
|
||||
@change="onchangeTime"
|
||||
:value="timeVal"
|
||||
format="yyyy/MM/dd"
|
||||
value-format="yyyy/MM/dd"
|
||||
type="daterange"
|
||||
placement="bottom-end"
|
||||
placeholder="请选择时间"
|
||||
style="width: 200px"
|
||||
></DatePicker>
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-bind="grid">
|
||||
@ -57,7 +57,6 @@
|
||||
<el-card :bordered="false" shadow="never">
|
||||
<el-table
|
||||
ref="selection"
|
||||
:columns="columns"
|
||||
:data="tableList"
|
||||
class="ivu-mt"
|
||||
v-loading="loading"
|
||||
@ -151,14 +150,20 @@
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="acea-row row-right page">
|
||||
<pagination v-if="total" :total="total" :page.sync="formValidate.page" :limit.sync="formValidate.limit" @pagination="getList" />
|
||||
<pagination
|
||||
v-if="total"
|
||||
:total="total"
|
||||
:page.sync="formValidate.page"
|
||||
:limit.sync="formValidate.limit"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</div>
|
||||
</el-card>
|
||||
<!-- 推广人列表-->
|
||||
<promoters-list ref="promotersLists"></promoters-list>
|
||||
<!-- 推广二维码-->
|
||||
<Modal v-model="modals" scrollable footer-hide closable title="推广二维码" :mask-closable="false" width="600">
|
||||
<div class="acea-row row-around">
|
||||
<el-dialog :visible.sync="modals" title="推广二维码" :close-on-click-modal="false" width="600">
|
||||
<div class="acea-row row-around" v-loading="spinShow">
|
||||
<div class="acea-row row-column-around row-between-wrapper">
|
||||
<div class="QRpic" v-if="code_src"><img v-lazy="code_src" /></div>
|
||||
<span class="QRpic_sp1 mt10" @click="getWeChat">公众号推广二维码</span>
|
||||
@ -172,10 +177,9 @@
|
||||
<span class="QRpic_sp2 mt10" @click="getH5">H5推广二维码</span>
|
||||
</div>
|
||||
</div>
|
||||
<Spin size="large" fix v-if="spinShow"></Spin>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
<!--修改推广人-->
|
||||
<Modal v-model="promoterShow" scrollable title="修改推广人" class="order_box" :closable="false">
|
||||
<el-dialog :visible.sync="promoterShow" title="修改推广人" class="order_box" :show-close="false">
|
||||
<el-form ref="formInline" :model="formInline" label-width="100px" @submit.native.prevent>
|
||||
<el-form-item label="用户头像:" prop="image">
|
||||
<div class="picBox" @click="customer">
|
||||
@ -188,14 +192,14 @@
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer">
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="cancel('formInline')">取 消</el-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%">
|
||||
</span>
|
||||
</el-dialog>
|
||||
<el-dialog :visible.sync="customerShow" title="请选择商城用户" :show-close="false" width="50%">
|
||||
<customerInfo v-if="customerShow" @imageObject="imageObject"></customerInfo>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -257,105 +261,6 @@ export default {
|
||||
loading: false,
|
||||
tableList: [],
|
||||
timeVal: [],
|
||||
columns: [
|
||||
// {
|
||||
// type: 'selection',
|
||||
// width: 60,
|
||||
// align: 'center'
|
||||
// },
|
||||
{
|
||||
title: 'ID',
|
||||
key: 'uid',
|
||||
width: 80,
|
||||
},
|
||||
{
|
||||
title: '头像',
|
||||
key: 'headimgurl',
|
||||
minWidth: 60,
|
||||
render: (h, params) => {
|
||||
return h('viewer', [
|
||||
h(
|
||||
'div',
|
||||
{
|
||||
style: {
|
||||
width: '36px',
|
||||
height: '36px',
|
||||
borderRadius: '4px',
|
||||
cursor: 'pointer',
|
||||
},
|
||||
},
|
||||
[
|
||||
h('img', {
|
||||
attrs: {
|
||||
src: params.row.headimgurl ? params.row.headimgurl : require('../../assets/images/moren.jpg'),
|
||||
},
|
||||
style: {
|
||||
width: '100%',
|
||||
height: '100%',
|
||||
},
|
||||
}),
|
||||
],
|
||||
),
|
||||
]);
|
||||
},
|
||||
},
|
||||
{
|
||||
title: '用户信息',
|
||||
slot: 'nickname',
|
||||
minWidth: 120,
|
||||
},
|
||||
{
|
||||
title: '推广用户数量',
|
||||
key: 'spread_count',
|
||||
minWidth: 125,
|
||||
},
|
||||
{
|
||||
title: '分销等级',
|
||||
slot: 'agentLevel',
|
||||
minWidth: 120,
|
||||
},
|
||||
{
|
||||
title: '订单数量',
|
||||
key: 'order_count',
|
||||
minWidth: 90,
|
||||
},
|
||||
{
|
||||
title: '订单金额',
|
||||
key: 'order_price',
|
||||
minWidth: 120,
|
||||
},
|
||||
{
|
||||
title: '佣金总金额',
|
||||
key: 'brokerage_money',
|
||||
minWidth: 120,
|
||||
},
|
||||
{
|
||||
title: '已提现金额',
|
||||
key: 'extract_count_price',
|
||||
minWidth: 120,
|
||||
},
|
||||
{
|
||||
title: '提现次数',
|
||||
key: 'extract_count_num',
|
||||
minWidth: 100,
|
||||
},
|
||||
{
|
||||
title: '未提现金额',
|
||||
key: 'new_money',
|
||||
minWidth: 105,
|
||||
},
|
||||
{
|
||||
title: '上级推广人',
|
||||
key: 'spread_name',
|
||||
minWidth: 105,
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
slot: 'right',
|
||||
fixed: 'right',
|
||||
minWidth: 130,
|
||||
},
|
||||
],
|
||||
code_src: '',
|
||||
code_xcx: '',
|
||||
code_h5: '',
|
||||
@ -385,17 +290,17 @@ export default {
|
||||
this.$refs[name].validate((valid) => {
|
||||
if (valid) {
|
||||
if (!this.formInline.spread_uid) {
|
||||
return this.$Message.error('请上传用户');
|
||||
return this.$message.error('请上传用户');
|
||||
}
|
||||
agentSpreadApi(this.formInline)
|
||||
.then((res) => {
|
||||
this.promoterShow = false;
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.getList();
|
||||
this.$refs[name].resetFields();
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
}
|
||||
});
|
||||
@ -412,7 +317,7 @@ export default {
|
||||
location.href = res.data[0];
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 操作
|
||||
@ -463,11 +368,11 @@ export default {
|
||||
};
|
||||
this.$modalSure(delfromDatap)
|
||||
.then((res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.getList();
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 取消自己推广资格
|
||||
@ -481,11 +386,11 @@ export default {
|
||||
};
|
||||
this.$modalSure(delfromData)
|
||||
.then((res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.getList();
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
edit(row) {
|
||||
@ -513,13 +418,13 @@ export default {
|
||||
this.cardLists = data.res;
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 具体日期
|
||||
onchangeTime(e) {
|
||||
this.timeVal = e;
|
||||
this.formValidate.data = this.timeVal.join('-');
|
||||
this.formValidate.data = this.timeVal ? this.timeVal.join('-') : '';
|
||||
this.formValidate.page = 1;
|
||||
if (!e[0]) {
|
||||
this.formValidate.data = '';
|
||||
@ -547,7 +452,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 表格搜索
|
||||
@ -578,7 +483,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.spinShow = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 小程序推广二维码
|
||||
@ -595,7 +500,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.spinShow = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
getH5() {
|
||||
@ -611,7 +516,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.spinShow = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
},
|
||||
|
||||
@ -1,14 +1,11 @@
|
||||
<template>
|
||||
<div>
|
||||
<Modal
|
||||
v-model="modals"
|
||||
scrollable
|
||||
footer-hide
|
||||
closable
|
||||
<el-dialog
|
||||
:visible.sync="modals"
|
||||
:title="listTitle === 'man' ? '统计推广人列表' : '推广订单'"
|
||||
:mask-closable="false"
|
||||
:close-on-click-modal="false"
|
||||
width="900"
|
||||
@on-cancel="onCancel"
|
||||
@closed="onCancel"
|
||||
>
|
||||
<div class="table_box">
|
||||
<el-form
|
||||
@ -32,16 +29,17 @@
|
||||
item.text
|
||||
}}</el-radio-button>
|
||||
</el-radio-group>
|
||||
<DatePicker
|
||||
<el-date-picker
|
||||
:editable="false"
|
||||
@change="onchangeTime"
|
||||
:value="timeVal"
|
||||
format="yyyy/MM/dd"
|
||||
v-model="timeVal"
|
||||
value-format="yyyy/MM/dd"
|
||||
type="daterange"
|
||||
placement="bottom-end"
|
||||
placeholder="请选择时间"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
style="width: 200px"
|
||||
></DatePicker>
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="ivu-text-left">
|
||||
@ -88,7 +86,6 @@
|
||||
</div>
|
||||
<el-table
|
||||
ref="selection"
|
||||
:columns="columns4"
|
||||
:data="tabList"
|
||||
:loading="loading"
|
||||
empty-text="暂无数据"
|
||||
@ -166,7 +163,7 @@
|
||||
@pagination="pageChange"
|
||||
/>
|
||||
</div>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -257,7 +254,7 @@ export default {
|
||||
// 具体日期
|
||||
onchangeTime(e) {
|
||||
this.timeVal = e;
|
||||
this.formValidate.data = this.timeVal.join('-');
|
||||
this.formValidate.data = this.timeVal ? this.timeVal.join('-') : '';
|
||||
this.getList(this.rowsList, this.listTitle);
|
||||
},
|
||||
// 选择时间
|
||||
@ -288,7 +285,7 @@ export default {
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.tabList = [];
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
pageChange() {
|
||||
|
||||
@ -207,7 +207,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
getContent(val) {
|
||||
@ -218,10 +218,10 @@ export default {
|
||||
this.formValidate.content = this.content;
|
||||
setAgreement(this.formValidate)
|
||||
.then(async (res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
//详情
|
||||
@ -236,7 +236,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
},
|
||||
|
||||
@ -17,13 +17,13 @@
|
||||
<div class="line"></div>
|
||||
<div class="right title">小程序设置</div>
|
||||
</div>
|
||||
<Alert v-if="!pageData.appId && !pageData.code">
|
||||
<template slot="desc">
|
||||
<el-alert v-if="!pageData.appId && !pageData.code">
|
||||
<template slot="title">
|
||||
您尚未配置小程序信息,请<router-link :to="{ path: $routeProStr + '/setting/system_config_retail/3/7' }"
|
||||
>立即设置</router-link
|
||||
></template
|
||||
>
|
||||
</Alert>
|
||||
</el-alert>
|
||||
<div class="content-box">
|
||||
<div class="left">小程序名称:</div>
|
||||
<div class="right">{{ pageData.routine_name || '未命名' }}</div>
|
||||
@ -122,11 +122,11 @@ export default {
|
||||
window.open(res.data.url);
|
||||
})
|
||||
.catch((err) => {
|
||||
this.$Message.warning(err.msg);
|
||||
this.$message.warning(err.msg);
|
||||
});
|
||||
},
|
||||
downLoadCode(url) {
|
||||
if (!url) return this.$Message.warning('暂无小程序码');
|
||||
if (!url) return this.$message.warning('暂无小程序码');
|
||||
var image = new Image();
|
||||
image.src = url;
|
||||
// 解决跨域 Canvas 污染问题
|
||||
|
||||
@ -93,7 +93,7 @@ export default {
|
||||
}
|
||||
}
|
||||
} else {
|
||||
this.$Message.warning('请先选择图片');
|
||||
this.$message.warning('请先选择图片');
|
||||
}
|
||||
},
|
||||
handleRemove(file) {
|
||||
@ -135,7 +135,7 @@ export default {
|
||||
})
|
||||
.catch((err) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(err.msg);
|
||||
this.$message.error(err.msg);
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
@ -7,7 +7,6 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-table
|
||||
:columns="columns1"
|
||||
:data="tableList"
|
||||
v-loading="loading"
|
||||
highlight-current-row
|
||||
@ -161,7 +160,7 @@ export default {
|
||||
this.loading = false;
|
||||
})
|
||||
.catch((err) => {
|
||||
this.$Message.error(err);
|
||||
this.$message.error(err);
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
@ -182,19 +181,19 @@ export default {
|
||||
};
|
||||
this.$modalSure(delfromData)
|
||||
.then((res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.tableList.splice(num, 1);
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
handleSubmit(name) {
|
||||
this.$refs[name].validate((valid) => {
|
||||
if (valid) {
|
||||
this.$Message.success('成功!');
|
||||
this.$message.success('成功!');
|
||||
} else {
|
||||
this.$Message.error('失败!');
|
||||
this.$message.error('失败!');
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
</div>
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt">
|
||||
<!-- 公众号设置 -->
|
||||
<el-row :gutter="24" >
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="24" class="ml40">
|
||||
<!-- 预览功能 -->
|
||||
<el-col ::span="24">
|
||||
@ -44,7 +44,7 @@
|
||||
<el-tab-pane label="菜单信息" name="name1">
|
||||
<el-col :span="24" class="userAlert">
|
||||
<div class="box-card right">
|
||||
<Alert show-icon closable class="spwidth"> 已添加子菜单,仅可设置菜单名称</Alert>
|
||||
<el-alert type="info" show-icon closable title="已添加子菜单,仅可设置菜单名称"></el-alert>
|
||||
<el-form
|
||||
ref="formValidate"
|
||||
:model="formValidate"
|
||||
@ -79,12 +79,20 @@
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="备用网页" prop="url">
|
||||
<el-input v-model="formValidate.url" placeholder="请填写备用网页" class="spwidth"></el-input>
|
||||
<el-input
|
||||
v-model="formValidate.url"
|
||||
placeholder="请填写备用网页"
|
||||
class="spwidth"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div v-if="formValidate.type === 'view'">
|
||||
<el-form-item label="跳转地址" prop="url">
|
||||
<el-input v-model="formValidate.url" placeholder="请填写跳转地址" class="spwidth"></el-input>
|
||||
<el-input
|
||||
v-model="formValidate.url"
|
||||
placeholder="请填写跳转地址"
|
||||
class="spwidth"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-form>
|
||||
@ -104,7 +112,7 @@
|
||||
</el-row>
|
||||
</el-card>
|
||||
|
||||
<Modal v-model="modal2" width="360">
|
||||
<el-dialog :visible.sync="modal2" width="360">
|
||||
<p slot="header" style="color: #f60; text-align: center">
|
||||
<Icon type="ios-information-circle"></Icon>
|
||||
<span>删除</span>
|
||||
@ -112,10 +120,10 @@
|
||||
<div style="text-align: center">
|
||||
<p>确定删除吗?</p>
|
||||
</div>
|
||||
<div slot="footer">
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button type="error" size="large" long @click="del">确定</el-button>
|
||||
</div>
|
||||
</Modal>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -184,7 +192,7 @@ export default {
|
||||
this.list = data.menus;
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 点击保存提交
|
||||
@ -208,13 +216,13 @@ export default {
|
||||
};
|
||||
MenuApi(data)
|
||||
.then(async (res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.checkedMenuId = null;
|
||||
this.formValidate = {};
|
||||
this.isTrue = false;
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 点击元素
|
||||
@ -254,22 +262,22 @@ export default {
|
||||
if (this.checkedMenuId === null) return true;
|
||||
if (!this.isTrue) return true;
|
||||
if (!this.formValidate.name) {
|
||||
this.$Message.warning('请输入按钮名称!');
|
||||
this.$message.warning('请输入按钮名称!');
|
||||
return false;
|
||||
}
|
||||
if (this.formValidate.type === 'click' && !this.formValidate.key) {
|
||||
this.$Message.warning('请输入关键字!');
|
||||
this.$message.warning('请输入关键字!');
|
||||
return false;
|
||||
}
|
||||
if (this.formValidate.type === 'view' && !reg.test(this.formValidate.url)) {
|
||||
this.$Message.warning('请输入正确的跳转地址!');
|
||||
this.$message.warning('请输入正确的跳转地址!');
|
||||
return false;
|
||||
}
|
||||
if (
|
||||
this.formValidate.type === 'miniprogram' &&
|
||||
(!this.formValidate.appid || !this.formValidate.pagepath || !this.formValidate.url)
|
||||
) {
|
||||
this.$Message.warning('请填写完整小程序配置!');
|
||||
this.$message.warning('请填写完整小程序配置!');
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
@ -279,7 +287,7 @@ export default {
|
||||
if (this.isTrue) {
|
||||
this.modal2 = true;
|
||||
} else {
|
||||
this.$Message.warning('请选择菜单!');
|
||||
this.$message.warning('请选择菜单!');
|
||||
}
|
||||
},
|
||||
// 确认删除
|
||||
|
||||
@ -3,14 +3,16 @@
|
||||
<div class="i-layout-page-header header-title">
|
||||
<div class="fl_header">
|
||||
<router-link :to="{ path: $routeProStr + '/app/wechat/news_category/index' }"
|
||||
><el-button icon="ios-arrow-back" size="small" type="text" v-show="$route.params.id">返回</el-button></router-link
|
||||
><el-button icon="ios-arrow-back" size="small" type="text" v-show="$route.params.id"
|
||||
>返回</el-button
|
||||
></router-link
|
||||
>
|
||||
<el-divider direction="vertical"></el-divider>
|
||||
<span class="ivu-page-header-title mr20" style="padding: 0" v-text="$route.meta.title"></span>
|
||||
</div>
|
||||
</div>
|
||||
<el-card :bordered="false" shadow="never" class="save_from ivu-mt">
|
||||
<el-row :gutter="24">
|
||||
<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">
|
||||
@ -60,7 +62,7 @@
|
||||
:label-position="labelPosition"
|
||||
@submit.native.prevent
|
||||
>
|
||||
<el-row :gutter="24" >
|
||||
<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="请输入文章标题" />
|
||||
@ -96,16 +98,7 @@
|
||||
<el-button type="primary" class="submission" @click="subFrom('saveForm')">提交</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<Modal
|
||||
v-model="modalPic"
|
||||
width="950px"
|
||||
scrollable
|
||||
footer-hide
|
||||
closable
|
||||
title="上传文章图"
|
||||
:mask-closable="false"
|
||||
:z-index="888"
|
||||
>
|
||||
<el-dialog :visible.sync="modalPic" width="950px" title="上传文章图" :close-on-click-modal="false">
|
||||
<uploadPictures
|
||||
:isChoice="isChoice"
|
||||
@getPic="getPic"
|
||||
@ -113,7 +106,7 @@
|
||||
:gridPic="gridPic"
|
||||
v-if="modalPic"
|
||||
></uploadPictures>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-col>
|
||||
@ -269,7 +262,7 @@ export default {
|
||||
// 删除
|
||||
del(i) {
|
||||
if (i === 0) {
|
||||
this.$Message.warning('不能再删除了');
|
||||
this.$message.warning('不能再删除了');
|
||||
} else {
|
||||
this.list.splice(i, 1);
|
||||
this.saveForm = {};
|
||||
@ -285,7 +278,7 @@ export default {
|
||||
this.content = this.list[this.current].content;
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 提交数据
|
||||
@ -298,7 +291,7 @@ export default {
|
||||
};
|
||||
wechatNewsAddApi(data)
|
||||
.then(async (res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
setTimeout(() => {
|
||||
this.$router.push({
|
||||
path: this.$routeProStr + '/app/wechat/news_category/index',
|
||||
@ -306,7 +299,7 @@ export default {
|
||||
}, 500);
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
} else {
|
||||
return false;
|
||||
@ -316,42 +309,42 @@ export default {
|
||||
check() {
|
||||
for (let index in this.list) {
|
||||
if (!this.list[index].title) {
|
||||
this.$Message.warning('请输入文章的标题');
|
||||
this.$message.warning('请输入文章的标题');
|
||||
return false;
|
||||
} else if (!this.list[index].author) {
|
||||
this.$Message.warning('请输入文章的作者');
|
||||
this.$message.warning('请输入文章的作者');
|
||||
return false;
|
||||
} else if (!this.list[index].synopsis) {
|
||||
this.$Message.warning('请输入文章的摘要');
|
||||
this.$message.warning('请输入文章的摘要');
|
||||
return false;
|
||||
} else if (!this.list[index].image_input) {
|
||||
this.$Message.warning('请输入文章的图文封面');
|
||||
this.$message.warning('请输入文章的图文封面');
|
||||
return false;
|
||||
} else if (!this.list[index].content) {
|
||||
this.$Message.warning('请输入文章的内容');
|
||||
this.$message.warning('请输入文章的内容');
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
// if(!this.saveForm.title){
|
||||
// this.$Message.warning('请输入文章的标题');
|
||||
// this.$message.warning('请输入文章的标题');
|
||||
// return false;
|
||||
// }
|
||||
// else if(!this.saveForm.author){
|
||||
// this.$Message.warning('请输入文章的作者');
|
||||
// this.$message.warning('请输入文章的作者');
|
||||
// return false;
|
||||
// }
|
||||
// else if(!this.saveForm.synopsis){
|
||||
// this.$Message.warning('请输入文章的摘要');
|
||||
// this.$message.warning('请输入文章的摘要');
|
||||
// return false;
|
||||
// }
|
||||
// else if(!this.saveForm.image_input){
|
||||
// this.$Message.warning('请输入文章的图文封面');
|
||||
// this.$message.warning('请输入文章的图文封面');
|
||||
// return false;
|
||||
// }
|
||||
// else if(!this.saveForm.content){
|
||||
// this.$Message.warning('请输入文章的内容');
|
||||
// this.$message.warning('请输入文章的内容');
|
||||
// return false;
|
||||
// }else{
|
||||
// return true
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
</div>
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt">
|
||||
<!-- 公众号设置 -->
|
||||
<el-row :gutter="24" >
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="24" class="ml40">
|
||||
<!-- 预览功能 -->
|
||||
<el-col ::span="24">
|
||||
@ -54,14 +54,14 @@
|
||||
<el-form-item label="关键字:" prop="val" v-if="$route.params.id">
|
||||
<div class="arrbox">
|
||||
<!--:closable="$route.params.id==='0'? true : false"-->
|
||||
<Tag
|
||||
@on-close="handleClose"
|
||||
<el-tag
|
||||
@close="handleClose(item)"
|
||||
:name="item"
|
||||
:closable="true"
|
||||
v-for="(item, index) in labelarr"
|
||||
:key="index"
|
||||
>{{ item }}
|
||||
</Tag>
|
||||
</el-tag>
|
||||
<!--:readonly="$route.params.id!=='0'"-->
|
||||
<input
|
||||
class="arrbox_ip"
|
||||
@ -116,8 +116,8 @@
|
||||
class="mr15"
|
||||
v-model="formValidate.data.src"
|
||||
/>
|
||||
<Upload
|
||||
:show-upload-list="false"
|
||||
<el-upload
|
||||
:show-file-list="false"
|
||||
:action="fileUrl"
|
||||
:on-success="handleSuccess"
|
||||
:format="formValidate.type === 'image' ? formatImg : formatVoice"
|
||||
@ -129,7 +129,7 @@
|
||||
style="margin-top: 1px"
|
||||
>
|
||||
<el-button type="primary">上传</el-button>
|
||||
</Upload>
|
||||
</el-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>
|
||||
@ -149,7 +149,7 @@
|
||||
</el-card>
|
||||
|
||||
<!--图文消息 -->
|
||||
<Modal v-model="modals" scrollable title="发送消息" width="1200" height="800" footer-hide class="modelBox">
|
||||
<el-dialog :visible.sync="modals" title="发送消息" width="1200px" :lock-scroll="false" class="modelBox">
|
||||
<news-category
|
||||
v-if="modals"
|
||||
@getCentList="getCentList"
|
||||
@ -158,7 +158,7 @@
|
||||
:contentWidth="contentWidth"
|
||||
:maxCols="maxCols"
|
||||
></news-category>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -264,7 +264,7 @@ export default {
|
||||
}
|
||||
this.val = '';
|
||||
},
|
||||
handleClose(event, name) {
|
||||
handleClose(name) {
|
||||
const index = this.labelarr.indexOf(name);
|
||||
this.labelarr.splice(index, 1);
|
||||
},
|
||||
@ -307,7 +307,7 @@ export default {
|
||||
}
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 选择图文
|
||||
@ -340,20 +340,20 @@ export default {
|
||||
handleSuccess(res, file) {
|
||||
if (res.status === 200) {
|
||||
this.formValidate.data.src = res.data.src;
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
} else {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
},
|
||||
handleFormatError(file) {
|
||||
if (this.formValidate.type === 'image') {
|
||||
this.$Message.warning('请上传bmp/png/jpeg/jpg/gif格式的图片');
|
||||
this.$message.warning('请上传bmp/png/jpeg/jpg/gif格式的图片');
|
||||
} else {
|
||||
this.$Message.warning('请上传mp3/wma/wav/amr格式的语音');
|
||||
this.$message.warning('请上传mp3/wma/wav/amr格式的语音');
|
||||
}
|
||||
},
|
||||
handleMaxSize(file) {
|
||||
this.$Message.warning('请上传文件2M以内的文件');
|
||||
this.$message.warning('请上传文件2M以内的文件');
|
||||
},
|
||||
// 保存
|
||||
submenus(name) {
|
||||
@ -375,10 +375,10 @@ export default {
|
||||
replyApi(data)
|
||||
.then(async (res) => {
|
||||
this.operation();
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
} else {
|
||||
return false;
|
||||
@ -437,6 +437,9 @@ export default {
|
||||
text-align: left;
|
||||
box-sizing border-box;
|
||||
width: 90%;
|
||||
.el-tag{
|
||||
margin-right: 3px;
|
||||
}
|
||||
}
|
||||
|
||||
.arrbox_ip {
|
||||
|
||||
@ -44,7 +44,6 @@
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-table
|
||||
:columns="columns1"
|
||||
:data="tabList"
|
||||
ref="table"
|
||||
class="mt25"
|
||||
@ -102,7 +101,7 @@
|
||||
/>
|
||||
</div>
|
||||
</el-card>
|
||||
<Modal v-model="modal" title="二维码" footer-hide>
|
||||
<el-dialog :visible.sync="modal" title="二维码">
|
||||
<div class="acea-row row-around">
|
||||
<div class="acea-row row-column-around row-between-wrapper">
|
||||
<div v-viewer class="QRpic">
|
||||
@ -110,7 +109,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -194,7 +193,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 修改是否显示
|
||||
@ -205,10 +204,10 @@ export default {
|
||||
};
|
||||
keywordsetStatusApi(data)
|
||||
.then(async (res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 表格搜索
|
||||
@ -234,25 +233,22 @@ export default {
|
||||
};
|
||||
this.$modalSure(delfromData)
|
||||
.then((res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.tabList.splice(num, 1);
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 下载二维码
|
||||
download(row) {
|
||||
this.$Spin.show();
|
||||
downloadReplyCode(row.id)
|
||||
.then((res) => {
|
||||
this.$Spin.hide();
|
||||
this.modal = true;
|
||||
this.qrcode = res.data.url;
|
||||
})
|
||||
.catch((err) => {
|
||||
this.$Spin.hide();
|
||||
this.$Message.error(err.msg);
|
||||
this.$message.error(err.msg);
|
||||
});
|
||||
},
|
||||
},
|
||||
|
||||
@ -1,15 +1,5 @@
|
||||
<template>
|
||||
<Modal
|
||||
v-model="modals"
|
||||
:z-index="1"
|
||||
scrollable
|
||||
footer-hide
|
||||
closable
|
||||
title="等级任务"
|
||||
:mask-closable="false"
|
||||
width="950"
|
||||
@on-cancel="handleReset"
|
||||
>
|
||||
<el-dialog :visible.sync="modals" title="等级任务" :close-on-click-modal="false" width="950" @closed="handleReset">
|
||||
<el-form
|
||||
ref="levelFrom"
|
||||
:model="levelFrom"
|
||||
@ -38,7 +28,11 @@
|
||||
<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>
|
||||
<el-alert type="info" show-icon closable>
|
||||
<template slot="title">
|
||||
添加等级任务,任务类型中的{$num}会自动替换成限定数量+系统预设的单位生成任务名
|
||||
</template>
|
||||
</el-alert>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-divider direction="vertical" dashed />
|
||||
@ -116,7 +110,7 @@
|
||||
</div>
|
||||
<!-- 新建 编辑表单-->
|
||||
<edit-from ref="edits" :FromData="FromData" @submitFail="submitFail" :titleType="titleType"></edit-from>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@ -184,7 +178,7 @@ export default {
|
||||
// this.getlevelId(this.levelId);
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 编辑
|
||||
@ -212,7 +206,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 修改显示隐藏
|
||||
@ -223,10 +217,10 @@ export default {
|
||||
};
|
||||
setTaskShowApi(data)
|
||||
.then(async (res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 设置任务是否达成
|
||||
@ -237,10 +231,10 @@ export default {
|
||||
};
|
||||
setTaskMustApi(data)
|
||||
.then(async (res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 新建编辑提交成功
|
||||
@ -258,11 +252,11 @@ export default {
|
||||
};
|
||||
this.$modalSure(delfromData)
|
||||
.then((res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.levelLists.splice(num, 1);
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
},
|
||||
|
||||
@ -23,16 +23,18 @@
|
||||
item.text
|
||||
}}</el-radio-button>
|
||||
</el-radio-group>
|
||||
<DatePicker
|
||||
<el-date-picker
|
||||
:editable="false"
|
||||
@change="onchangeTime"
|
||||
:value="timeVal"
|
||||
format="yyyy/MM/dd"
|
||||
value-format="yyyy/MM/dd"
|
||||
type="daterange"
|
||||
placement="bottom-end"
|
||||
placeholder="请选择时间"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
style="width: 200px"
|
||||
></DatePicker>
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="ivu-text-left">
|
||||
@ -160,7 +162,7 @@ export default {
|
||||
// 具体日期
|
||||
onchangeTime(e) {
|
||||
this.timeVal = e;
|
||||
this.formValidate.data = this.timeVal.join('-');
|
||||
this.formValidate.data = this.timeVal ? this.timeVal.join('-') : '';
|
||||
this.getList();
|
||||
},
|
||||
// 选择时间
|
||||
@ -182,7 +184,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 搜索
|
||||
|
||||
@ -106,11 +106,11 @@ export default {
|
||||
}
|
||||
this.$modalSure(delfromData)
|
||||
.then((res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.tabList.splice(num, 1);
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 列表
|
||||
@ -130,7 +130,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
pageChange(index) {
|
||||
|
||||
@ -1,447 +0,0 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="i-layout-page-header header-title">
|
||||
<span class="ivu-page-header-title">{{ $route.meta.title }}</span>
|
||||
</div>
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt">
|
||||
<div class="table_box">
|
||||
<el-form
|
||||
ref="formValidate"
|
||||
:model="formValidate"
|
||||
:label-width="labelWidth"
|
||||
:label-position="labelPosition"
|
||||
class="tabform"
|
||||
@submit.native.prevent
|
||||
>
|
||||
<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"
|
||||
@change="selectChange(formValidate.data)"
|
||||
>
|
||||
<el-radio-button :label="itemn.val" v-for="(itemn, indexn) in fromList.fromTxt" :key="indexn">
|
||||
{{ itemn.text }}
|
||||
</el-radio-button>
|
||||
</el-radio-group>
|
||||
<DatePicker
|
||||
:editable="false"
|
||||
@change="onchangeTime"
|
||||
:value="timeVal"
|
||||
format="yyyy/MM/dd"
|
||||
type="daterange"
|
||||
placement="bottom-end"
|
||||
placeholder="请选择时间"
|
||||
style="width: 200px"
|
||||
></DatePicker>
|
||||
</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>
|
||||
</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
|
||||
>
|
||||
</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>
|
||||
发送图文消息
|
||||
</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</div>
|
||||
<el-table
|
||||
ref="selection"
|
||||
:data="tabList"
|
||||
:loading="loading"
|
||||
empty-text="暂无数据"
|
||||
highlight-current-row
|
||||
class="mt25"
|
||||
@select="onSelectTab"
|
||||
@select-all="onSelectTab"
|
||||
>
|
||||
<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>
|
||||
</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">
|
||||
<pagination
|
||||
v-if="total"
|
||||
:total="total"
|
||||
:page.sync="formValidate.page"
|
||||
:limit.sync="formValidate.limit"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</div>
|
||||
</el-card>
|
||||
<!-- 用户分组和标签编辑-->
|
||||
<edit-from ref="edits" :FromData="FromData" @submitFail="submitFail"></edit-from>
|
||||
<!-- 发送优惠券-->
|
||||
<send-from ref="sends" :userIds="user_ids"></send-from>
|
||||
<!--发送图文消息 -->
|
||||
<Modal
|
||||
v-model="modal13"
|
||||
scrollable
|
||||
title="发送消息"
|
||||
:z-index="100"
|
||||
width="1200"
|
||||
height="800"
|
||||
footer-hide
|
||||
class="modelBox"
|
||||
>
|
||||
<news-category
|
||||
v-if="modal13"
|
||||
:isShowSend="isShowSend"
|
||||
:userIds="user_ids"
|
||||
:scrollerHeight="scrollerHeight"
|
||||
:contentTop="contentTop"
|
||||
:contentWidth="contentWidth"
|
||||
:maxCols="maxCols"
|
||||
></news-category>
|
||||
</Modal>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapState } from 'vuex';
|
||||
import { wechatUserListtApi, tagListtApi, groupsEditApi } from '@/api/app';
|
||||
import newsCategory from '@/components/newsCategory/index';
|
||||
import editFrom from '@/components/from/from';
|
||||
import sendFrom from '@/components/sendCoupons/index';
|
||||
export default {
|
||||
name: 'user',
|
||||
components: {
|
||||
newsCategory,
|
||||
editFrom,
|
||||
sendFrom,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
tagidList: [],
|
||||
isShowSend: true,
|
||||
maxCols: 4,
|
||||
scrollerHeight: '600',
|
||||
contentTop: '130',
|
||||
contentWidth: '98%',
|
||||
modal13: false,
|
||||
timeVal: [],
|
||||
fromList: {
|
||||
title: '选择时间',
|
||||
custom: true,
|
||||
fromTxt: [
|
||||
{ text: '全部', val: '' },
|
||||
{ text: '今天', val: 'today' },
|
||||
{ text: '昨天', val: 'yesterday' },
|
||||
{ text: '最近7天', val: 'lately7' },
|
||||
{ text: '最近30天', val: 'lately30' },
|
||||
{ text: '本月', val: 'month' },
|
||||
{ text: '本年', val: 'year' },
|
||||
],
|
||||
},
|
||||
formValidate: {
|
||||
limit: 15,
|
||||
page: 1,
|
||||
nickname: '',
|
||||
data: '',
|
||||
tagid_list: '',
|
||||
sex: '',
|
||||
groupid: 0,
|
||||
subscribe: '',
|
||||
export: 2,
|
||||
},
|
||||
loading: false,
|
||||
tabList: [],
|
||||
total: 0,
|
||||
value2: '',
|
||||
grid: {
|
||||
xl: 8,
|
||||
lg: 8,
|
||||
md: 8,
|
||||
sm: 24,
|
||||
xs: 24,
|
||||
},
|
||||
tagList: [],
|
||||
groupList: [],
|
||||
FromData: null,
|
||||
selectionList: [],
|
||||
user_ids: '',
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapState('media', ['isMobile']),
|
||||
labelWidth() {
|
||||
return this.isMobile ? undefined : '85px';
|
||||
},
|
||||
labelPosition() {
|
||||
return this.isMobile ? 'top' : 'right';
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.getListTag();
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
// 操作
|
||||
changeMenu(row, name) {
|
||||
switch (name) {
|
||||
case '1':
|
||||
this.editGroup(`app/wechat/user_group/${row.openid}/edit`);
|
||||
break;
|
||||
case '2':
|
||||
this.editGroup(`app/wechat/user_tag/${row.openid}/edit`);
|
||||
break;
|
||||
default:
|
||||
let delfromData = {
|
||||
title: '同步该用户标签',
|
||||
url: `app/wechat/syn_tag/${row.openid}`,
|
||||
method: 'PUT',
|
||||
ids: '',
|
||||
};
|
||||
this.$modalSure(delfromData)
|
||||
.then((res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.getList();
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
}
|
||||
},
|
||||
// 修改用户分组 标签
|
||||
editGroup(url) {
|
||||
groupsEditApi(url)
|
||||
.then(async (res) => {
|
||||
this.FromData = res.data;
|
||||
this.$refs.edits.modals = true;
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 修改成功
|
||||
submitFail() {
|
||||
this.getList();
|
||||
},
|
||||
// 同步标签
|
||||
submitModel() {
|
||||
this.getList();
|
||||
},
|
||||
// 点击发送优惠券
|
||||
onSend() {
|
||||
if (this.selectionList.length === 0) {
|
||||
this.$Message.warning('请选择要发送优惠券的用户');
|
||||
} else {
|
||||
this.$refs.sends.modals = true;
|
||||
this.$refs.sends.getList();
|
||||
}
|
||||
},
|
||||
// 发送图文消息
|
||||
onSendPic() {
|
||||
if (this.selectionList.length === 0) {
|
||||
this.$Message.warning('请选择要发送图文消息的用户');
|
||||
} else {
|
||||
this.modal13 = true;
|
||||
}
|
||||
},
|
||||
// 全选
|
||||
onSelectTab(selection) {
|
||||
this.selectionList = selection;
|
||||
let data = [];
|
||||
this.selectionList.map((item) => {
|
||||
data.push(item.uid);
|
||||
});
|
||||
this.user_ids = data.join(',');
|
||||
},
|
||||
// 具体日期
|
||||
onchangeTime(e) {
|
||||
this.timeVal = e;
|
||||
this.formValidate.data = this.timeVal.join('-');
|
||||
this.getList();
|
||||
},
|
||||
// 选择时间
|
||||
selectChange(tab) {
|
||||
this.formValidate.data = tab;
|
||||
this.timeVal = [];
|
||||
this.getList();
|
||||
},
|
||||
// 标签 分组
|
||||
getListTag() {
|
||||
let obj = {
|
||||
id: '',
|
||||
name: '全部',
|
||||
};
|
||||
tagListtApi()
|
||||
.then(async (res) => {
|
||||
let data = res.data;
|
||||
this.tagList = data.tagList;
|
||||
this.groupList = data.groupList;
|
||||
this.groupList.unshift(obj);
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 列表
|
||||
getList() {
|
||||
this.loading = true;
|
||||
this.formValidate.sex = this.formValidate.sex || '';
|
||||
this.formValidate.subscribe = this.formValidate.subscribe || '';
|
||||
this.formValidate.tagid_list = this.tagidList.join(',');
|
||||
wechatUserListtApi(this.formValidate)
|
||||
.then(async (res) => {
|
||||
let data = res.data;
|
||||
this.tabList = data.list;
|
||||
this.total = data.count;
|
||||
this.loading = false;
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 搜索
|
||||
userSearchs() {
|
||||
this.getList();
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped lang="stylus">
|
||||
.Refresh
|
||||
font-size 12px
|
||||
color #1890FF
|
||||
cursor pointer
|
||||
.userFrom
|
||||
>>> .ivu-form-item-content
|
||||
margin-left: 0px !important
|
||||
.tabBox_img
|
||||
width 36px
|
||||
height 36px
|
||||
border-radius:4px
|
||||
cursor pointer
|
||||
img
|
||||
width 100%
|
||||
height 100%
|
||||
.subscribe_box
|
||||
>>> .ivu-form-item-label
|
||||
width 110px !important
|
||||
>>> .ivu-form-item-content
|
||||
margin-left 110px !important
|
||||
.sex_box
|
||||
>>> .ivu-form-item-label
|
||||
width 60px !important
|
||||
>>> .ivu-form-item-content
|
||||
margin-left 60px !important
|
||||
.btn_box
|
||||
>>> .ivu-form-item-content
|
||||
margin-left 0 !important
|
||||
.modelBox
|
||||
>>> .ivu-modal-body
|
||||
padding 0 16px 16px 16px !important
|
||||
</style>
|
||||
@ -22,7 +22,7 @@
|
||||
<div class="goodsTitle acea-row">
|
||||
<div class="title">文章信息</div>
|
||||
</div>
|
||||
<el-row :gutter="24" >
|
||||
<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%" />
|
||||
@ -76,7 +76,7 @@
|
||||
<div class="goodsTitle acea-row">
|
||||
<div class="title">其他设置</div>
|
||||
</div>
|
||||
<el-row :gutter="24" >
|
||||
<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%"/>-->
|
||||
@ -101,16 +101,7 @@
|
||||
</el-row>
|
||||
<el-button type="primary" class="submission" @click="onsubmit('formValidate')">提交</el-button>
|
||||
</el-form>
|
||||
<Modal
|
||||
v-model="modalPic"
|
||||
width="950px"
|
||||
scrollable
|
||||
footer-hide
|
||||
closable
|
||||
title="上传商品图"
|
||||
:mask-closable="false"
|
||||
:z-index="888"
|
||||
>
|
||||
<el-dialog :visible.sync="modalPic" width="950px" title="上传商品图" :close-on-click-modal="false">
|
||||
<uploadPictures
|
||||
:isChoice="isChoice"
|
||||
@getPic="getPic"
|
||||
@ -118,7 +109,7 @@
|
||||
:gridPic="gridPic"
|
||||
v-if="modalPic"
|
||||
></uploadPictures>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
@ -262,7 +253,7 @@ export default {
|
||||
this.treeData = res.data;
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 提交数据
|
||||
@ -272,13 +263,13 @@ export default {
|
||||
if (valid) {
|
||||
cmsAddApi(this.formValidate)
|
||||
.then(async (res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
setTimeout(() => {
|
||||
this.$router.push({ path: this.$routeProStr + '/cms/article/index' });
|
||||
}, 500);
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
} else {
|
||||
return false;
|
||||
@ -307,7 +298,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
},
|
||||
|
||||
@ -11,12 +11,16 @@
|
||||
<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>
|
||||
<el-cascader
|
||||
v-model="artFrom.pid"
|
||||
placeholder="请选择"
|
||||
style="width: 80%"
|
||||
class="treeSel"
|
||||
@change="handleCheckChange"
|
||||
:options="treeData"
|
||||
:props="props"
|
||||
>
|
||||
</el-cascader>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-bind="grid">
|
||||
@ -106,17 +110,9 @@
|
||||
</div>
|
||||
</el-card>
|
||||
<!--关联-->
|
||||
<Modal
|
||||
v-model="modals"
|
||||
title="商品列表"
|
||||
footerHide
|
||||
class="paymentFooter"
|
||||
scrollable
|
||||
width="900"
|
||||
@on-cancel="cancel"
|
||||
>
|
||||
<el-dialog :visible.sync="modals" title="商品列表" class="paymentFooter" width="900" @closed="cancel">
|
||||
<goods-list ref="goodslist" @getProductId="getProductId" v-if="modals"></goods-list>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -159,6 +155,11 @@ export default {
|
||||
rows: {},
|
||||
modal_loading: false,
|
||||
modals: false,
|
||||
props: {
|
||||
value: 'id',
|
||||
label: 'title',
|
||||
emitPath: false,
|
||||
},
|
||||
};
|
||||
},
|
||||
components: {
|
||||
@ -196,7 +197,7 @@ export default {
|
||||
};
|
||||
relationApi(data, this.rows.id)
|
||||
.then(async (res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
row.id = 0;
|
||||
this.modal_loading = false;
|
||||
this.modals = false;
|
||||
@ -207,7 +208,7 @@ export default {
|
||||
.catch((res) => {
|
||||
this.modal_loading = false;
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
cancel() {
|
||||
@ -225,7 +226,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 分类
|
||||
@ -241,26 +242,13 @@ export default {
|
||||
this.treeData.unshift(obj);
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 下拉树
|
||||
handleCheckChange(data) {
|
||||
let value = '';
|
||||
let title = '';
|
||||
this.list = [];
|
||||
this.artFrom.pid = 0;
|
||||
data.forEach((item, index) => {
|
||||
value += `${item.id},`;
|
||||
title += `${item.title},`;
|
||||
});
|
||||
value = value.substring(0, value.length - 1);
|
||||
title = title.substring(0, title.length - 1);
|
||||
this.list.push({
|
||||
value,
|
||||
title,
|
||||
});
|
||||
this.artFrom.pid = value;
|
||||
console.log(data);
|
||||
this.artFrom.pid = data ? data : 0;
|
||||
this.artFrom.page = 1;
|
||||
this.getList();
|
||||
},
|
||||
@ -283,11 +271,11 @@ export default {
|
||||
};
|
||||
this.$modalSure(delfromData)
|
||||
.then((res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.getList();
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
}
|
||||
},
|
||||
@ -302,11 +290,11 @@ export default {
|
||||
};
|
||||
this.$modalSure(delfromData)
|
||||
.then((res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.cmsList.splice(num, 1);
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 表格搜索
|
||||
|
||||
@ -1,13 +1,10 @@
|
||||
<template>
|
||||
<Modal
|
||||
v-model="modals"
|
||||
scrollable
|
||||
footer-hide
|
||||
closable
|
||||
<el-dialog
|
||||
:visible.sync="modals"
|
||||
title="选择商品"
|
||||
:mask-closable="false"
|
||||
:close-on-click-modal="false"
|
||||
width="950"
|
||||
@on-cancel="handleReset"
|
||||
@closed="handleReset"
|
||||
>
|
||||
<el-form
|
||||
ref="levelFrom"
|
||||
@ -33,7 +30,6 @@
|
||||
</el-form>
|
||||
<el-divider direction="vertical" dashed />
|
||||
<el-table
|
||||
:columns="columns1"
|
||||
:data="levelLists"
|
||||
ref="table"
|
||||
:loading="loading"
|
||||
@ -80,7 +76,7 @@
|
||||
</div>
|
||||
<!-- 新建 编辑表单-->
|
||||
<edit-from ref="edits" :FromData="FromData" @submitFail="submitFail" :titleType="titleType"></edit-from>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@ -119,7 +115,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
pageChange(index) {
|
||||
|
||||
@ -168,7 +168,7 @@ export default {
|
||||
// this.$refs.edits.modals = true;
|
||||
// this.FromData = res.data;
|
||||
// }).catch(res => {
|
||||
// this.$Message.error(res.msg);
|
||||
// this.$message.error(res.msg);
|
||||
// })
|
||||
},
|
||||
// 编辑
|
||||
@ -178,7 +178,7 @@ export default {
|
||||
// this.FromData = res.data;
|
||||
// this.$refs.edits.modals = true;
|
||||
// }).catch(res => {
|
||||
// this.$Message.error(res.msg);
|
||||
// this.$message.error(res.msg);
|
||||
// })
|
||||
},
|
||||
// 删除
|
||||
@ -192,11 +192,11 @@ export default {
|
||||
};
|
||||
this.$modalSure(delfromData)
|
||||
.then((res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.getList();
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 列表
|
||||
@ -212,7 +212,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 表格搜索
|
||||
@ -228,10 +228,10 @@ export default {
|
||||
};
|
||||
statusApi(data)
|
||||
.then(async (res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 查看文章
|
||||
|
||||
@ -171,7 +171,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 修改
|
||||
@ -191,11 +191,11 @@ export default {
|
||||
};
|
||||
this.$modalSure(delfromData)
|
||||
.then((res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.getList();
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
},
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<span class="ivu-page-header-title">{{ $route.meta.title }}</span>
|
||||
</div>
|
||||
<el-card :bordered="false" shadow="never" class="ivu-mt">
|
||||
<el-form label-width="85px" @submit.native.prevent>
|
||||
<el-form label-width="85px" @submit.native.prevent v-loading="spinShow">
|
||||
<el-form-item label="协议内容:">
|
||||
<WangEditor :content="agreement.content" @editorContent="getEditorContent"></WangEditor>
|
||||
</el-form-item>
|
||||
@ -12,7 +12,6 @@
|
||||
<el-button type="primary" @click="memberAgreementSave">保存</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<Spin fix v-if="spinShow"></Spin>
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
@ -56,22 +55,19 @@ export default {
|
||||
this.agreement.id = id || 0;
|
||||
})
|
||||
.catch((err) => {
|
||||
this.$Message.error(err);
|
||||
this.$message.error(err);
|
||||
this.spinShow = false;
|
||||
});
|
||||
},
|
||||
// 保存
|
||||
memberAgreementSave() {
|
||||
this.$Spin.show();
|
||||
agentAgreementSave(this.agreement)
|
||||
.then((res) => {
|
||||
this.$Spin.hide();
|
||||
this.$Message.success('保存成功');
|
||||
this.$message.success('保存成功');
|
||||
this.memberAgreement();
|
||||
})
|
||||
.catch((err) => {
|
||||
this.$Spin.hide();
|
||||
this.$Message.error(err);
|
||||
this.$message.error(err);
|
||||
});
|
||||
},
|
||||
},
|
||||
|
||||
@ -48,7 +48,6 @@
|
||||
<el-row class="ivu-mt box-wrapper">
|
||||
<el-col :xs="24" :sm="24" ref="rightBox">
|
||||
<el-table
|
||||
:columns="columns"
|
||||
:data="userLists"
|
||||
ref="table"
|
||||
v-loading="loading"
|
||||
@ -92,12 +91,12 @@
|
||||
</el-table-column>
|
||||
<el-table-column label="申请状态" min-width="150">
|
||||
<template slot-scope="scope">
|
||||
<Tag>{{ scope.row.status == 0 ? '申请中' : scope.row.status == 1 ? '已同意' : '已拒绝' }}</Tag>
|
||||
<el-tag>{{ scope.row.status == 0 ? '申请中' : scope.row.status == 1 ? '已同意' : '已拒绝' }}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="邀请码" min-width="150">
|
||||
<template slot-scope="scope">
|
||||
<Tag>{{ scope.row.division_invite }}</Tag>
|
||||
<el-tag>{{ scope.row.division_invite }}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="170">
|
||||
@ -162,54 +161,6 @@ export default {
|
||||
id: 2,
|
||||
},
|
||||
],
|
||||
columns: [
|
||||
{
|
||||
title: '用户UID',
|
||||
key: 'uid',
|
||||
width: 80,
|
||||
},
|
||||
{
|
||||
title: '代理商名称',
|
||||
key: 'agent_name',
|
||||
minWidth: 150,
|
||||
},
|
||||
{
|
||||
title: '代理商电话',
|
||||
key: 'phone',
|
||||
minWidth: 100,
|
||||
},
|
||||
{
|
||||
title: '事业部ID',
|
||||
key: 'division_id',
|
||||
minWidth: 100,
|
||||
},
|
||||
{
|
||||
title: '申请图片',
|
||||
slot: 'images',
|
||||
minWidth: 100,
|
||||
},
|
||||
{
|
||||
title: '申请时间',
|
||||
key: 'add_time',
|
||||
minWidth: 100,
|
||||
},
|
||||
{
|
||||
title: '申请状态',
|
||||
slot: 'status',
|
||||
minWidth: 100,
|
||||
},
|
||||
{
|
||||
title: '邀请码',
|
||||
key: 'division_invite',
|
||||
minWidth: 100,
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
slot: 'action',
|
||||
fixed: 'right',
|
||||
minWidth: 120,
|
||||
},
|
||||
],
|
||||
FromData: null,
|
||||
loading: false,
|
||||
current: 0,
|
||||
@ -277,7 +228,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
pageChange(index) {
|
||||
@ -304,10 +255,10 @@ export default {
|
||||
};
|
||||
isShowApi(data)
|
||||
.then(async (res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 编辑
|
||||
@ -322,11 +273,11 @@ export default {
|
||||
};
|
||||
this.$modalSure(delfromData)
|
||||
.then((res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.userLists.splice(num, 1);
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
},
|
||||
|
||||
@ -33,7 +33,6 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-table
|
||||
:columns="columns"
|
||||
:data="userLists"
|
||||
ref="table"
|
||||
class="mt25"
|
||||
@ -118,9 +117,8 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-card>
|
||||
<Modal v-model="staffModal" scrollable title="员工列表" class="order_box" width="800" footer-hide>
|
||||
<el-dialog :visible.sync="staffModal" title="员工列表" class="order_box" width="800px">
|
||||
<el-table
|
||||
:columns="columns2"
|
||||
:data="clerkLists"
|
||||
ref="table"
|
||||
class="mt25"
|
||||
@ -165,7 +163,7 @@
|
||||
@pagination="getClerkList"
|
||||
/>
|
||||
</div>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -192,76 +190,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,
|
||||
},
|
||||
],
|
||||
columns: [
|
||||
{
|
||||
title: '用户UID',
|
||||
key: 'uid',
|
||||
width: 80,
|
||||
},
|
||||
{
|
||||
title: '头像',
|
||||
slot: 'avatars',
|
||||
minWidth: 60,
|
||||
},
|
||||
{
|
||||
title: '姓名',
|
||||
slot: 'nickname',
|
||||
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,
|
||||
@ -329,7 +257,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 添加表单
|
||||
@ -348,10 +276,10 @@ export default {
|
||||
};
|
||||
isShowApi(data)
|
||||
.then(async (res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 编辑
|
||||
@ -366,11 +294,11 @@ export default {
|
||||
};
|
||||
this.$modalSure(delfromData)
|
||||
.then((res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.userLists.splice(num, 1);
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
},
|
||||
|
||||
@ -122,7 +122,7 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-card>
|
||||
<Modal v-model="staffModal" scrollable title="代理商列表" class="order_box" width="800" footer-hide>
|
||||
<el-dialog :visible.sync="staffModal" title="代理商列表" class="order_box" width="800px">
|
||||
<el-table
|
||||
:data="clerkLists"
|
||||
ref="table"
|
||||
@ -178,7 +178,7 @@
|
||||
@pagination="getClerkList"
|
||||
/>
|
||||
</div>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -273,7 +273,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 添加表单
|
||||
@ -292,10 +292,10 @@ export default {
|
||||
};
|
||||
isShowApi(data)
|
||||
.then(async (res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 编辑
|
||||
@ -310,11 +310,11 @@ export default {
|
||||
};
|
||||
this.$modalSure(delfromData)
|
||||
.then((res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.userLists.splice(num, 1);
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
},
|
||||
|
||||
@ -13,19 +13,20 @@
|
||||
<el-col :span="24">
|
||||
<el-form-item label="订单时间:">
|
||||
<dateRadio @selectDate="onSelectDate"></dateRadio>
|
||||
<DatePicker
|
||||
<el-date-picker
|
||||
:editable="false"
|
||||
:clearable="false"
|
||||
@change="onchangeTime"
|
||||
:value="timeVal"
|
||||
format="yyyy/MM/dd"
|
||||
v-model="timeVal"
|
||||
value-format="yyyy/MM/dd"
|
||||
type="daterange"
|
||||
placement="bottom-start"
|
||||
placeholder="请选择时间"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
style="width: 200px"
|
||||
:options="options"
|
||||
class="mr20"
|
||||
></DatePicker>
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
@ -50,7 +51,7 @@
|
||||
</el-form>
|
||||
</el-card>
|
||||
<el-card :bordered="false" shadow="never">
|
||||
<el-table ref="table" :columns="columns" :data="tabList" :loading="loading" empty-text="暂无数据">
|
||||
<el-table ref="table" :data="tabList" :loading="loading" empty-text="暂无数据">
|
||||
<el-table-column label="ID" width="50">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.id }}</span>
|
||||
@ -104,12 +105,12 @@
|
||||
</div>
|
||||
</el-card>
|
||||
<!-- 拒绝通过-->
|
||||
<Modal v-model="modals" scrollable closable title="备注" :mask-closable="false">
|
||||
<el-dialog :visible.sync="modals" title="备注" :close-on-click-modal="false">
|
||||
<el-input v-model="mark_msg.mark" type="textarea" :rows="4" placeholder="请输入备注" />
|
||||
<div slot="footer">
|
||||
<el-button type="primary" size="large" long :loading="modal_loading" @click="oks">确定</el-button>
|
||||
</div>
|
||||
</Modal>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button :loading="modal_loading" type="primary" @click="oks">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
@ -140,49 +141,6 @@ export default {
|
||||
modals: false,
|
||||
total: 0,
|
||||
loading: false,
|
||||
columns: [
|
||||
{
|
||||
title: 'ID',
|
||||
key: 'id',
|
||||
width: 50,
|
||||
},
|
||||
{
|
||||
title: '关联订单',
|
||||
key: 'relation',
|
||||
minWidth: 120,
|
||||
},
|
||||
{
|
||||
title: '交易时间',
|
||||
key: 'add_time',
|
||||
minWidth: 90,
|
||||
},
|
||||
{
|
||||
title: '交易金额',
|
||||
slot: 'number',
|
||||
minWidth: 100,
|
||||
},
|
||||
{
|
||||
title: '用户',
|
||||
key: 'nickname',
|
||||
minWidth: 80,
|
||||
},
|
||||
{
|
||||
title: '交易类型',
|
||||
key: 'type_name',
|
||||
minWidth: 100,
|
||||
},
|
||||
{
|
||||
title: '备注',
|
||||
key: 'mark',
|
||||
minWidth: 100,
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
slot: 'set',
|
||||
fixed: 'right',
|
||||
width: 100,
|
||||
},
|
||||
],
|
||||
tabList: [],
|
||||
withdrawal: [],
|
||||
selectIndexTime: '',
|
||||
@ -239,14 +197,14 @@ export default {
|
||||
this.mark_msg.mark = this.mark_msg.mark.trim();
|
||||
setBalanceMark(this.extractId, this.mark_msg)
|
||||
.then(async (res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.modal_loading = false;
|
||||
this.modals = false;
|
||||
this.getList();
|
||||
})
|
||||
.catch((res) => {
|
||||
this.modal_loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 备注
|
||||
@ -267,7 +225,7 @@ export default {
|
||||
// 具体日期
|
||||
onchangeTime(e) {
|
||||
this.timeVal = e;
|
||||
this.formValidate.time = this.timeVal.join('-');
|
||||
this.formValidate.time = this.timeVal ? this.timeVal.join('-') : '';
|
||||
this.formValidate.page = 1;
|
||||
this.getList();
|
||||
},
|
||||
@ -290,7 +248,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 编辑提交成功
|
||||
|
||||
@ -15,25 +15,26 @@
|
||||
@submit.native.prevent
|
||||
>
|
||||
<el-form-item label="创建时间:">
|
||||
<DatePicker
|
||||
<el-date-picker
|
||||
:editable="false"
|
||||
:clearable="false"
|
||||
@change="onchangeTime"
|
||||
:value="timeVal"
|
||||
format="yyyy/MM/dd"
|
||||
v-model="timeVal"
|
||||
value-format="yyyy/MM/dd"
|
||||
type="daterange"
|
||||
placement="bottom-start"
|
||||
placeholder="请选择时间"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
style="width: 200px"
|
||||
:options="options"
|
||||
class="mr20"
|
||||
></DatePicker>
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<div class="table">
|
||||
<el-table
|
||||
:columns="columns"
|
||||
:data="orderList"
|
||||
ref="table"
|
||||
class="mt25"
|
||||
@ -91,18 +92,9 @@
|
||||
</div>
|
||||
</div>
|
||||
</el-card>
|
||||
<Modal
|
||||
v-model="modals"
|
||||
scrollable
|
||||
footer-hide
|
||||
closable
|
||||
title="账单详情"
|
||||
:mask-closable="false"
|
||||
@on-cancel="cancel"
|
||||
width="1000"
|
||||
>
|
||||
<el-dialog :visible.sync="modals" title="账单详情" width="1000">
|
||||
<commission-details v-if="modals" ref="commission" :ids="ids" :time="formValidate.time"></commission-details>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -132,45 +124,6 @@ export default {
|
||||
total: 0,
|
||||
loading: false,
|
||||
tab: 'day',
|
||||
columns: [
|
||||
{
|
||||
title: 'ID',
|
||||
key: 'id',
|
||||
width: 60,
|
||||
},
|
||||
{
|
||||
title: '标题',
|
||||
key: 'title',
|
||||
minWidth: 80,
|
||||
},
|
||||
{
|
||||
title: '日期',
|
||||
key: 'add_time',
|
||||
minWidth: 80,
|
||||
},
|
||||
{
|
||||
title: '收入金额',
|
||||
slot: 'income_price',
|
||||
minWidth: 80,
|
||||
},
|
||||
{
|
||||
title: '支出金额',
|
||||
slot: 'exp_price',
|
||||
minWidth: 80,
|
||||
},
|
||||
{
|
||||
title: '入账金额',
|
||||
slot: 'entry_price',
|
||||
minWidth: 80,
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
slot: 'action',
|
||||
fixed: 'right',
|
||||
minWidth: 120,
|
||||
align: 'center',
|
||||
},
|
||||
],
|
||||
orderList: [
|
||||
{
|
||||
id: '1',
|
||||
@ -245,8 +198,8 @@ export default {
|
||||
},
|
||||
// 具体日期
|
||||
onchangeTime(e) {
|
||||
this.timeVal = e;
|
||||
this.formValidate.time = this.timeVal[0] ? this.timeVal.join('-') : '';
|
||||
this.timeVal = e || [];
|
||||
this.formValidate.time = this.timeVal[0] ? this.timeVal ? this.timeVal.join('-') : '' : '';
|
||||
this.formValidate.page = 1;
|
||||
this.getList();
|
||||
},
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div class="order_detail" v-if="orderDetail.userInfo">
|
||||
<div class="order_detail" v-if="orderDetail.userInfo" v-loading="spinShow">
|
||||
<div class="msg-box">
|
||||
<div class="box-title">收货信息</div>
|
||||
<div class="msg-wrapper">
|
||||
@ -51,7 +51,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="goods-box">
|
||||
<el-table :data="orderList">
|
||||
<el-table :data="orderList">
|
||||
<el-table-column label="商品ID" width="80">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.productInfo.id }}</span>
|
||||
@ -82,7 +82,6 @@
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<Spin fix v-if="spinShow"></Spin>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -117,7 +116,7 @@ export default {
|
||||
})
|
||||
.catch((err) => {
|
||||
this.spinShow = false;
|
||||
this.$Message.error(err.msg);
|
||||
this.$message.error(err.msg);
|
||||
this.$emit('detall', false);
|
||||
});
|
||||
},
|
||||
|
||||
@ -12,19 +12,21 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="订单时间:">
|
||||
<DatePicker
|
||||
<el-date-picker
|
||||
:editable="false"
|
||||
:clearable="false"
|
||||
@change="onchangeTime"
|
||||
:value="timeVal"
|
||||
v-model="timeVal"
|
||||
format="yyyy/MM/dd"
|
||||
value-format="yyyy/MM/dd"
|
||||
type="daterange"
|
||||
placement="bottom-start"
|
||||
placeholder="请选择时间"
|
||||
style="width: 200px"
|
||||
:options="options"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
|
||||
class="mr20"
|
||||
></DatePicker>
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
@ -115,12 +117,12 @@
|
||||
</div>
|
||||
</el-card>
|
||||
<!-- 拒绝通过-->
|
||||
<Modal v-model="modals" scrollable closable title="备注" :mask-closable="false">
|
||||
<el-dialog :visible.sync="modals" title="备注" :close-on-click-modal="false">
|
||||
<el-input v-model="mark_msg.mark" type="textarea" :rows="4" placeholder="请输入备注" />
|
||||
<div slot="footer">
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" size="large" long :loading="modal_loading" @click.prevent="oks">确定</el-button>
|
||||
</div>
|
||||
</Modal>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
@ -152,54 +154,6 @@ export default {
|
||||
modals: false,
|
||||
total: 0,
|
||||
loading: false,
|
||||
columns: [
|
||||
{
|
||||
title: '交易单号',
|
||||
key: 'flow_id',
|
||||
width: 180,
|
||||
},
|
||||
{
|
||||
title: '关联订单',
|
||||
key: 'order_id',
|
||||
minWidth: 180,
|
||||
},
|
||||
{
|
||||
title: '交易时间',
|
||||
key: 'add_time',
|
||||
minWidth: 90,
|
||||
},
|
||||
{
|
||||
title: '交易金额',
|
||||
slot: 'price',
|
||||
minWidth: 150,
|
||||
},
|
||||
{
|
||||
title: '交易用户',
|
||||
key: 'nickname',
|
||||
minWidth: 150,
|
||||
},
|
||||
{
|
||||
title: '交易类型',
|
||||
key: 'trading_type',
|
||||
minWidth: 100,
|
||||
},
|
||||
{
|
||||
title: '支付方式',
|
||||
slot: 'pay_type',
|
||||
minWidth: 100,
|
||||
},
|
||||
{
|
||||
title: '备注',
|
||||
key: 'mark',
|
||||
minWidth: 100,
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
slot: 'set',
|
||||
fixed: 'right',
|
||||
width: 100,
|
||||
},
|
||||
],
|
||||
tabList: [],
|
||||
withdrawal: [],
|
||||
payment: [
|
||||
@ -254,14 +208,14 @@ export default {
|
||||
this.modal_loading = true;
|
||||
setMarks(this.extractId, this.mark_msg)
|
||||
.then((res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.modal_loading = false;
|
||||
this.modals = false;
|
||||
this.getList();
|
||||
})
|
||||
.catch((err) => {
|
||||
this.modal_loading = false;
|
||||
this.$Message.error(err.msg);
|
||||
this.$message.error(err.msg);
|
||||
});
|
||||
},
|
||||
// 备注
|
||||
@ -273,7 +227,7 @@ export default {
|
||||
// 具体日期
|
||||
onchangeTime(e) {
|
||||
this.timeVal = e;
|
||||
this.formValidate.time = this.timeVal.join('-');
|
||||
this.formValidate.time = this.timeVal ? this.timeVal.join('-') : '';
|
||||
this.formValidate.page = 1;
|
||||
this.getList();
|
||||
},
|
||||
@ -296,7 +250,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 编辑提交成功
|
||||
|
||||
@ -1,8 +1,7 @@
|
||||
<template>
|
||||
<div style="width: 100%">
|
||||
<Modal v-model="modals" scrollable footer-hide closable title="用户详情" :mask-closable="false" width="700">
|
||||
<Spin size="large" fix v-if="spinShow"></Spin>
|
||||
<div class="">
|
||||
<el-dialog :visible.sync="modals" title="用户详情" :close-on-click-modal="false" width="700px">
|
||||
<div class="" v-loading="spinShow">
|
||||
<div class="dashboard-workplace-header-tip">
|
||||
<div class="dashboard-workplace-header-tip-desc">
|
||||
<span class="dashboard-workplace-header-tip-desc-sp">姓名:{{ detailsData.nickname }}</span>
|
||||
@ -32,15 +31,17 @@
|
||||
<!-- </el-col>-->
|
||||
<el-col :span="12">
|
||||
<el-form-item label="时间范围:" class="tab_data">
|
||||
<DatePicker
|
||||
<el-date-picker
|
||||
:editable="false"
|
||||
style="width: 100%"
|
||||
@change="onchangeTime"
|
||||
format="yyyy-MM-dd"
|
||||
value-format="yyyy-MM-dd"
|
||||
type="daterange"
|
||||
placement="bottom-end"
|
||||
placeholder="请选择时间范围"
|
||||
></DatePicker>
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
@ -81,7 +82,7 @@
|
||||
@pagination="getList"
|
||||
/>
|
||||
</div>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -140,12 +141,12 @@ export default {
|
||||
this.spinShow = false;
|
||||
} else {
|
||||
this.spinShow = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
})
|
||||
.catch((res) => {
|
||||
this.spinShow = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 列表
|
||||
@ -160,7 +161,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 搜索
|
||||
|
||||
@ -52,7 +52,6 @@
|
||||
</el-form>
|
||||
<el-table
|
||||
ref="table"
|
||||
:columns="columns"
|
||||
:data="tabList"
|
||||
:loading="loading"
|
||||
empty-text="暂无数据"
|
||||
@ -118,41 +117,6 @@ export default {
|
||||
page: 1, // 当前页
|
||||
limit: 20, // 每页显示条数
|
||||
},
|
||||
columns: [
|
||||
{
|
||||
title: '用户信息',
|
||||
key: 'nickname',
|
||||
minWidth: 150,
|
||||
},
|
||||
{
|
||||
title: '总佣金金额',
|
||||
key: 'sum_number',
|
||||
sortable: 'custom',
|
||||
minWidth: 120,
|
||||
},
|
||||
{
|
||||
title: '账户余额',
|
||||
key: 'now_money',
|
||||
minWidth: 100,
|
||||
},
|
||||
{
|
||||
title: '账户佣金',
|
||||
key: 'brokerage_price',
|
||||
sortable: 'custom',
|
||||
minWidth: 120,
|
||||
},
|
||||
{
|
||||
title: '提现到账佣金',
|
||||
key: 'extract_price',
|
||||
minWidth: 150,
|
||||
},
|
||||
// {
|
||||
// title: '操作',
|
||||
// slot: 'action',
|
||||
// fixed: 'right',
|
||||
// minWidth: 100
|
||||
// }
|
||||
],
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -180,7 +144,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 搜索
|
||||
@ -201,7 +165,7 @@ export default {
|
||||
location.href = res.data[0];
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 详情
|
||||
|
||||
@ -185,7 +185,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
reset() {
|
||||
|
||||
@ -20,15 +20,17 @@
|
||||
</el-col>
|
||||
<el-col :xl="6" :lg="12" :md="13" :sm="12" :xs="24">
|
||||
<el-form-item label="时间范围:" class="tab_data">
|
||||
<DatePicker
|
||||
<el-date-picker
|
||||
:editable="false"
|
||||
style="width: 80%"
|
||||
@change="onchangeTime"
|
||||
format="yyyy/MM/dd"
|
||||
value-format="yyyy/MM/dd"
|
||||
type="daterange"
|
||||
placement="bottom-end"
|
||||
placeholder="请选择时间"
|
||||
></DatePicker>
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xl="6" :lg="12" :md="13" :sm="12" :xs="24">
|
||||
@ -148,7 +150,7 @@ export default {
|
||||
this.billList = res.data.list;
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 列表
|
||||
@ -163,7 +165,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 搜索
|
||||
@ -185,7 +187,7 @@ export default {
|
||||
location.href = res.data[0];
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
},
|
||||
|
||||
@ -22,16 +22,18 @@
|
||||
item.text
|
||||
}}</el-radio-button>
|
||||
</el-radio-group>
|
||||
<DatePicker
|
||||
<el-date-picker
|
||||
:editable="false"
|
||||
@change="onchangeTime"
|
||||
:value="timeVal"
|
||||
v-model="timeVal"
|
||||
format="yyyy/MM/dd"
|
||||
type="daterange"
|
||||
placement="bottom-end"
|
||||
placeholder="请选择时间"
|
||||
style="width: 200px"
|
||||
></DatePicker>
|
||||
value-format="yyyy/MM/dd"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="ivu-text-left">
|
||||
@ -210,12 +212,12 @@ export default {
|
||||
};
|
||||
this.$modalSure(delfromData)
|
||||
.then((res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.tabList.splice(delfromData.num, 1);
|
||||
this.getList();
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 退款
|
||||
@ -229,7 +231,7 @@ export default {
|
||||
this.$refs.edits.modals = true;
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 编辑提交成功
|
||||
@ -240,7 +242,7 @@ export default {
|
||||
// 具体日期
|
||||
onchangeTime(e) {
|
||||
this.timeVal = e;
|
||||
this.formValidate.data = this.timeVal.join('-');
|
||||
this.formValidate.data = this.timeVal ? this.timeVal.join('-') : '';
|
||||
this.formValidate.page = 1;
|
||||
this.getList();
|
||||
this.getUserRecharge();
|
||||
@ -271,7 +273,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 小方块
|
||||
@ -286,7 +288,7 @@ export default {
|
||||
this.cardLists = data;
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 导出
|
||||
@ -302,7 +304,7 @@ export default {
|
||||
location.href = res.data[0];
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
},
|
||||
|
||||
@ -22,16 +22,18 @@
|
||||
item.text
|
||||
}}</el-radio-button>
|
||||
</el-radio-group>
|
||||
<DatePicker
|
||||
<el-date-picker
|
||||
:editable="false"
|
||||
@change="onchangeTime"
|
||||
:value="timeVal"
|
||||
v-model="timeVal"
|
||||
format="yyyy/MM/dd"
|
||||
type="daterange"
|
||||
placement="bottom-end"
|
||||
placeholder="请选择时间"
|
||||
value-format="yyyy/MM/dd"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
style="width: 200px"
|
||||
></DatePicker>
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
@ -178,12 +180,12 @@
|
||||
<!-- 编辑表单-->
|
||||
<edit-from ref="edits" :FromData="FromData" @submitFail="submitFail"></edit-from>
|
||||
<!-- 拒绝通过-->
|
||||
<Modal v-model="modals" scrollable closable title="未通过原因" :mask-closable="false">
|
||||
<el-dialog :visible.sync="modals" title="未通过原因" :close-on-click-modal="false">
|
||||
<el-input v-model="fail_msg.message" type="textarea" :rows="4" placeholder="请输入未通过原因" />
|
||||
<div slot="footer">
|
||||
<el-button type="primary" size="large" long :loading="modal_loading" @click="oks">确定</el-button>
|
||||
</div>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
@ -215,54 +217,6 @@ export default {
|
||||
total: 0,
|
||||
cardLists: [],
|
||||
loading: false,
|
||||
columns: [
|
||||
{
|
||||
title: 'ID',
|
||||
key: 'id',
|
||||
width: 80,
|
||||
},
|
||||
{
|
||||
title: '用户信息',
|
||||
slot: 'nickname',
|
||||
minWidth: 180,
|
||||
},
|
||||
{
|
||||
title: '提现金额',
|
||||
slot: 'extract_price',
|
||||
minWidth: 90,
|
||||
},
|
||||
{
|
||||
title: '提现方式',
|
||||
slot: 'extract_type',
|
||||
minWidth: 150,
|
||||
},
|
||||
{
|
||||
title: '收款码',
|
||||
slot: 'qrcode_url',
|
||||
minWidth: 150,
|
||||
},
|
||||
{
|
||||
title: '添加时间',
|
||||
slot: 'add_time',
|
||||
minWidth: 100,
|
||||
},
|
||||
{
|
||||
title: '备注',
|
||||
key: 'mark',
|
||||
minWidth: 100,
|
||||
},
|
||||
{
|
||||
title: '审核状态',
|
||||
slot: 'status',
|
||||
minWidth: 180,
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
slot: 'createModalFrame',
|
||||
fixed: 'right',
|
||||
width: 100,
|
||||
},
|
||||
],
|
||||
tabList: [],
|
||||
fromList: {
|
||||
title: '选择时间',
|
||||
@ -368,13 +322,13 @@ export default {
|
||||
this.modal_loading = true;
|
||||
refuseApi(this.extractId, this.fail_msg)
|
||||
.then(async (res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.modal_loading = false;
|
||||
this.modals = false;
|
||||
this.getList();
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 通过
|
||||
@ -388,17 +342,17 @@ export default {
|
||||
};
|
||||
this.$modalSure(delfromData)
|
||||
.then((res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.getList();
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 具体日期
|
||||
onchangeTime(e) {
|
||||
this.timeVal = e;
|
||||
this.formValidate.data = this.timeVal.join('-');
|
||||
this.formValidate.data = this.timeVal ? this.timeVal.join('-') : '';
|
||||
this.formValidate.page = 1;
|
||||
this.getList();
|
||||
},
|
||||
@ -433,7 +387,7 @@ export default {
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 编辑
|
||||
@ -447,7 +401,7 @@ export default {
|
||||
this.$refs.edits.modals = true;
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 编辑提交成功
|
||||
|
||||
@ -7,12 +7,10 @@
|
||||
<el-tag style="float: right;" type="success">{{ item.date }}</el-tag>
|
||||
</p>
|
||||
<div>
|
||||
<!--<Numeral :value="item.yesterday" style=""/>-->
|
||||
<div class="number">{{ item.today }}</div>
|
||||
<div class="ivu-pt-8" style="height: 42px">
|
||||
<span>昨日 {{ item.yesterday }}</span>
|
||||
<span class="ivu-mr">
|
||||
<!--日同比 <Trend :flag="Number(item.today_ratio)>=0?'up':'down'">{{Number(item.today_ratio)}}%</Trend>-->
|
||||
日环比 {{ Number(item.today_ratio) }}%
|
||||
<Icon
|
||||
:type="Number(item.today_ratio) >= 0 ? 'md-arrow-dropup' : 'md-arrow-dropdown'"
|
||||
@ -20,15 +18,6 @@
|
||||
:class="Number(item.today_ratio) >= 0 ? ' ' : 'on'"
|
||||
/>
|
||||
</span>
|
||||
<!-- <span style="display: inline-block">
|
||||
周同比 <Trend :flag="Number(item.week_ratio)>=0?'up':'down'">{{Number(item.week_ratio)}}%</Trend>
|
||||
周环比 {{ Number(item.week_ratio) }}%
|
||||
<Icon
|
||||
:type="Number(item.week_ratio) >= 0 ? 'md-arrow-dropup' : 'md-arrow-dropdown'"
|
||||
class="iconColor"
|
||||
:class="Number(item.week_ratio) >= 0 ? ' ' : 'on'"
|
||||
/>
|
||||
</span> -->
|
||||
</div>
|
||||
<el-divider style="margin: 8px 0" />
|
||||
<div>
|
||||
@ -43,7 +32,6 @@
|
||||
</el-row>
|
||||
</template>
|
||||
<script>
|
||||
import echarts from 'echarts';
|
||||
import { headerApi } from '@/api/index';
|
||||
export default {
|
||||
data() {
|
||||
@ -72,7 +60,7 @@ export default {
|
||||
this.infoList = data.info;
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
},
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<el-col :xl="16" :lg="12" :md="24" :sm="24" :xs="24" class="ivu-mb dashboard-console-visit">
|
||||
<el-card :bordered="false" shadow="never">
|
||||
<div slot="title">
|
||||
<Avatar icon="ios-pulse" size="small" style="color: #1890ff; background-color: #e6f7ff" />
|
||||
<el-avatar icon="el-icon-user-solid" size="small" style="color: #1890ff; background-color: #e6f7ff" ></el-avatar>
|
||||
<span class="ivu-pl-8">用户</span>
|
||||
</div>
|
||||
<echarts-from
|
||||
@ -19,7 +19,7 @@
|
||||
<el-col :xl="8" :lg="12" :md="24" :sm="24" :xs="24">
|
||||
<el-card :bordered="false" shadow="never" class="dashboard-console-visit">
|
||||
<div slot="title">
|
||||
<Avatar icon="ios-analytics" size="small" style="color: #1890ff; background-color: #e6f7ff" />
|
||||
<el-avatar icon="el-icon-s-marketing" size="small" style="color: #1890ff; background-color: #e6f7ff" ></el-avatar>
|
||||
<span class="ivu-pl-8">购买用户统计</span>
|
||||
</div>
|
||||
<echarts-from ref="visitChart" :infoList="infoList" :echartsTitle="circle"></echarts-from>
|
||||
@ -74,7 +74,7 @@ export default {
|
||||
this.bing_xdata = res.bing_xdata;
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
getRank() {
|
||||
@ -84,7 +84,7 @@ export default {
|
||||
this.lists = data.list;
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 监听页面宽度变化,刷新表格
|
||||
|
||||
@ -4,9 +4,13 @@
|
||||
<el-col san="24" class="ivu-mb">
|
||||
<el-card :bordered="false" shadow="never" class="dashboard-console-visit">
|
||||
<div slot="title">
|
||||
<el-row justify="center" align="middle">
|
||||
<el-row justify="center" align="middle">
|
||||
<el-col :span="8">
|
||||
<Avatar icon="ios-podium" size="small" style="color: #1890ff; background-color: #e6f7ff" />
|
||||
<el-avatar
|
||||
icon="el-icon-s-marketing"
|
||||
size="small"
|
||||
style="color: #1890ff; background-color: #e6f7ff"
|
||||
></el-avatar>
|
||||
<span class="ivu-pl-8">订单</span>
|
||||
</el-col>
|
||||
<el-col :span="16" class="ivu-text-right">
|
||||
@ -104,7 +108,7 @@ export default {
|
||||
]);
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 时间改变
|
||||
|
||||
@ -78,7 +78,7 @@ export default {
|
||||
this.isShow = true;
|
||||
})
|
||||
.cache((err) => {
|
||||
this.$Message.error(err.msg);
|
||||
this.$message.error(err.msg);
|
||||
});
|
||||
} else {
|
||||
}
|
||||
@ -94,7 +94,7 @@ export default {
|
||||
this.notice = res.data.feedback;
|
||||
})
|
||||
.cache((err) => {
|
||||
this.$Message.error(err.msg);
|
||||
this.$message.error(err.msg);
|
||||
});
|
||||
},
|
||||
},
|
||||
|
||||
@ -15,11 +15,7 @@
|
||||
<div class="main">
|
||||
<div class="chat">
|
||||
<div class="record" @scroll="onScroll" ref="record">
|
||||
<div id="chat_scroll" ref="scrollBox">
|
||||
<Spin v-show="loading">
|
||||
<Icon type="ios-loading" size="18" class="demo-spin-icon-load"></Icon>
|
||||
<div>Loading</div>
|
||||
</Spin>
|
||||
<div id="chat_scroll" ref="scrollBox" v-loading="loading">
|
||||
<ul>
|
||||
<template v-for="item in records">
|
||||
<li :key="item.id" :class="{ right: item.uid === serviceData.tourist_uid }" :id="`chat_${item.id}`">
|
||||
@ -95,8 +91,8 @@
|
||||
<span class="iconfont iconbiaoqing1"></span>
|
||||
</button>
|
||||
<button title="图片" v-if="kufuToken">
|
||||
<Upload
|
||||
:show-upload-list="false"
|
||||
<el-upload
|
||||
:show-file-list="false"
|
||||
:action="uploadAction"
|
||||
:before-upload="beforeUpload"
|
||||
:format="['jpg', 'jpeg', 'png', 'gif']"
|
||||
@ -106,7 +102,7 @@
|
||||
:on-error="uploadError"
|
||||
>
|
||||
<span class="iconfont icontupian1"></span>
|
||||
</Upload>
|
||||
</el-upload>
|
||||
</button>
|
||||
</div>
|
||||
<!-- <div>-->
|
||||
@ -313,10 +309,10 @@ export default {
|
||||
});
|
||||
});
|
||||
ws.$on('socket_error', () => {
|
||||
this.$Message.error('连接失败');
|
||||
this.$message.error('连接失败');
|
||||
});
|
||||
ws.$on('err_tip', (data) => {
|
||||
this.$Message.error(data.msg);
|
||||
this.$message.error(data.msg);
|
||||
});
|
||||
ws.$on('success', (data) => {
|
||||
this.is_tourist = 0;
|
||||
@ -377,7 +373,7 @@ export default {
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
this.$Message.error(err.msg);
|
||||
this.$message.error(err.msg);
|
||||
this.change = true;
|
||||
});
|
||||
},
|
||||
@ -459,7 +455,7 @@ export default {
|
||||
});
|
||||
})
|
||||
.catch((err) => {
|
||||
this.$Message.error(err.msg);
|
||||
this.$message.error(err.msg);
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
@ -564,13 +560,13 @@ export default {
|
||||
return promise;
|
||||
},
|
||||
handleFormatError(file) {
|
||||
this.$Message.error('上传图片只能是 jpg、jpg、jpeg、gif 格式!');
|
||||
this.$message.error('上传图片只能是 jpg、jpg、jpeg、gif 格式!');
|
||||
},
|
||||
uploadSuccess(res) {
|
||||
this.sendMsg(res.data.url, 3);
|
||||
},
|
||||
uploadError(error) {
|
||||
this.$Message.error(error);
|
||||
this.$message.error(error);
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
@ -47,13 +47,13 @@ export default {
|
||||
},
|
||||
subMit() {
|
||||
if (!this.name) {
|
||||
return this.$Message.error('请填写姓名');
|
||||
return this.$message.error('请填写姓名');
|
||||
}
|
||||
if (!this.phone || !/^1(3|4|5|7|8|9|6)\d{9}$/i.test(this.phone)) {
|
||||
return this.$Message.error('请填写正确的手机号码');
|
||||
return this.$message.error('请填写正确的手机号码');
|
||||
}
|
||||
if (!this.con) {
|
||||
return this.$Message.error('请填写内容');
|
||||
return this.$message.error('请填写内容');
|
||||
}
|
||||
this.isDisabled = true;
|
||||
feedbackFromApi({
|
||||
@ -62,11 +62,11 @@ export default {
|
||||
content: this.con,
|
||||
})
|
||||
.then((res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.$router.go(-1);
|
||||
})
|
||||
.catch((error) => {
|
||||
this.$Message.error(error.msg);
|
||||
this.$message.error(error.msg);
|
||||
});
|
||||
},
|
||||
},
|
||||
|
||||
@ -90,8 +90,8 @@
|
||||
</div>
|
||||
<div class="footer-box">
|
||||
<div class="words" v-if="userToken" @click="showWords">
|
||||
<Upload
|
||||
:show-upload-list="false"
|
||||
<el-upload
|
||||
:show-file-list="false"
|
||||
:action="fileUrl"
|
||||
:before-upload="beforeUpload"
|
||||
:data="uploadData"
|
||||
@ -103,7 +103,7 @@
|
||||
style="margin-top: 1px; display: inline-block"
|
||||
>
|
||||
<span class="iconfont icontupian3"></span>
|
||||
</Upload>
|
||||
</el-upload>
|
||||
</div>
|
||||
<div class="input-box">
|
||||
<el-input v-model="con" placeholder="请输入内容" />
|
||||
@ -274,10 +274,10 @@ export default {
|
||||
}, 300);
|
||||
});
|
||||
ws.$on('socket_error', () => {
|
||||
this.$Message.error('连接失败');
|
||||
this.$message.error('连接失败');
|
||||
});
|
||||
ws.$on('error', () => {
|
||||
this.$Message.error('连接失败');
|
||||
this.$message.error('连接失败');
|
||||
});
|
||||
ws.$on('to_transfer', (data) => {
|
||||
ws.send({
|
||||
@ -310,7 +310,7 @@ export default {
|
||||
this.$router.go(-1);
|
||||
},
|
||||
handleFormatError(file) {
|
||||
this.$Message.error('上传图片只能是 jpg、jpg、jpeg、gif 格式!');
|
||||
this.$message.error('上传图片只能是 jpg、jpg、jpeg、gif 格式!');
|
||||
},
|
||||
// 获取商品信息
|
||||
getGoodsInfo() {
|
||||
@ -320,7 +320,7 @@ export default {
|
||||
this.productInfo = res.data;
|
||||
})
|
||||
.catch((err) => {
|
||||
this.$Message.error(err.msg);
|
||||
this.$message.error(err.msg);
|
||||
});
|
||||
},
|
||||
// 获取订单信息
|
||||
@ -366,7 +366,7 @@ export default {
|
||||
});
|
||||
})
|
||||
.catch((error) => {
|
||||
this.$Message.error(error.msg);
|
||||
this.$message.error(error.msg);
|
||||
setTimeout((res) => {
|
||||
this.$router.replace({
|
||||
path: '/kefu/mobile_feedback',
|
||||
@ -378,7 +378,7 @@ export default {
|
||||
beforeUpload(file) {
|
||||
const isImage = file.type === 'image/jpeg' || file.type === 'image/png';
|
||||
if (!isImage) {
|
||||
this.$Message.error('上传图片只能是 JPG、PNG 格式!');
|
||||
this.$message.error('上传图片只能是 JPG、PNG 格式!');
|
||||
}
|
||||
this.uploadData = {
|
||||
filename: file,
|
||||
@ -394,10 +394,10 @@ export default {
|
||||
// 上传成功
|
||||
handleSuccess(res, file, fileList) {
|
||||
if (res.status === 200) {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.sendMsg(res.data.url, 3);
|
||||
} else {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
},
|
||||
// 滚动到底部
|
||||
@ -518,7 +518,7 @@ export default {
|
||||
// 发送消息
|
||||
sendText() {
|
||||
if (!this.isSend) {
|
||||
this.$Message.error('请输入内容');
|
||||
this.$message.error('请输入内容');
|
||||
}
|
||||
this.sendMsg(this.con, 1);
|
||||
this.con = '';
|
||||
|
||||
@ -54,12 +54,11 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- 添加分组 -->
|
||||
<Modal
|
||||
v-model="cateData.isCate"
|
||||
width="300"
|
||||
:footer-hide="true"
|
||||
:closable="false"
|
||||
class-name="vertical-center-modal"
|
||||
<el-dialog
|
||||
:visible.sync="cateData.isCate"
|
||||
width="300px"
|
||||
:show-close="false"
|
||||
custom-class="vertical-center-modal"
|
||||
class="words-box"
|
||||
>
|
||||
<div class="mask-title">
|
||||
@ -73,14 +72,13 @@
|
||||
<el-input class="noinput" v-model="cateData.sort" placeholder="请输入分组排序" />
|
||||
</div>
|
||||
<el-button @click.stop="cateConfirm" class="subBtn" type="primary" :disabled="cateStatus">确定</el-button>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
<!-- 添加话术 -->
|
||||
<Modal
|
||||
v-model="msgData.isCateMeg"
|
||||
width="300"
|
||||
:footer-hide="true"
|
||||
:closable="false"
|
||||
class-name="vertical-center-modal"
|
||||
<el-dialog
|
||||
:visible.sync="msgData.isCateMeg"
|
||||
width="300px"
|
||||
:show-close="false"
|
||||
custom-class="vertical-center-modal"
|
||||
class="words-box"
|
||||
>
|
||||
<div class="mask-title">
|
||||
@ -99,7 +97,7 @@
|
||||
</el-select>
|
||||
</div>
|
||||
<el-button @click.stop="msgConfirm" class="subBtn" type="primary" :disabled="msgStatus">确定</el-button>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
<!-- 编辑弹窗 -->
|
||||
<div class="edit-box" v-if="isWordShow">
|
||||
<div class="head">
|
||||
@ -147,12 +145,11 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- 编辑分组列表 -->
|
||||
<Modal
|
||||
v-model="editList.status"
|
||||
width="300"
|
||||
:footer-hide="true"
|
||||
:closable="false"
|
||||
class-name="vertical-center-modal"
|
||||
<el-dialog
|
||||
:visible.sync="editList.status"
|
||||
width="300px"
|
||||
:show-close="false"
|
||||
custom-class="vertical-center-modal"
|
||||
class="words-box cate-list"
|
||||
>
|
||||
<div class="mask-title">
|
||||
@ -168,7 +165,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</Modal>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -381,11 +378,11 @@ export default {
|
||||
this.page = 1;
|
||||
this.wordsData.isScroll = true;
|
||||
this.wordsList = [];
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.getServiceCate();
|
||||
})
|
||||
.catch((error) => {
|
||||
this.$Message.error(error.msg);
|
||||
this.$message.error(error.msg);
|
||||
});
|
||||
} else {
|
||||
editServiceCate(this.cateData.id, {
|
||||
@ -399,7 +396,7 @@ export default {
|
||||
this.page = 1;
|
||||
this.wordsData.isScroll = true;
|
||||
this.wordsList = [];
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.getServiceCate();
|
||||
});
|
||||
}
|
||||
@ -422,14 +419,14 @@ export default {
|
||||
this.msgData.title = '';
|
||||
this.msgData.message = '';
|
||||
this.msgData.msgCateId = this.wordsData.cateId;
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.wordsData.isScroll = true;
|
||||
this.wordsData.page = 1;
|
||||
this.wordsList = [];
|
||||
this.getWordsList();
|
||||
})
|
||||
.catch((error) => {
|
||||
this.$Message.error(error.msg);
|
||||
this.$message.error(error.msg);
|
||||
});
|
||||
} else {
|
||||
serviceCateUpdate(this.msgData.editId, {
|
||||
@ -441,7 +438,7 @@ export default {
|
||||
this.msgData.title = '';
|
||||
this.msgData.message = '';
|
||||
this.msgData.msgCateId = this.wordsData.cateId;
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.wordsData.isScroll = true;
|
||||
this.wordsData.page = 1;
|
||||
this.wordsList = [];
|
||||
@ -470,10 +467,10 @@ export default {
|
||||
this.$modalSure(delfromData)
|
||||
.then((res) => {
|
||||
this.wordsList.splice(num, 1);
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
delCate(row, tit, num) {
|
||||
@ -491,11 +488,11 @@ export default {
|
||||
this.page = 1;
|
||||
this.wordsData.isScroll = true;
|
||||
this.wordsList = [];
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.getServiceCate();
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
},
|
||||
|
||||
@ -42,13 +42,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <Modal v-model="modals" scrollable footer-hide closable title="请完成安全校验" :mask-closable="false" :z-index="2"-->
|
||||
<!-- width="342">-->
|
||||
<!-- <div class="captchaBox">-->
|
||||
<!-- <div id="captcha" style="position: relative" ref="captcha"></div>-->
|
||||
<!-- <div id="msg"></div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </Modal>-->
|
||||
</div>
|
||||
<div class="foot-box" v-if="copyright">{{ copyright }}</div>
|
||||
<div class="foot-box" v-else>
|
||||
@ -172,7 +165,7 @@ export default {
|
||||
},
|
||||
// 关闭模态框
|
||||
closeModel() {
|
||||
let msg = this.$Message.loading({
|
||||
let msg = this.$message.loading({
|
||||
content: '登录中...',
|
||||
duration: 0,
|
||||
});
|
||||
@ -206,7 +199,7 @@ export default {
|
||||
let data = res === undefined ? {} : res;
|
||||
this.errorNum++;
|
||||
this.captchas();
|
||||
this.$Message.error(data.msg || '登录失败');
|
||||
this.$message.error(data.msg || '登录失败');
|
||||
if (this.jigsaw) this.jigsaw.reset();
|
||||
});
|
||||
},
|
||||
@ -217,7 +210,7 @@ export default {
|
||||
},
|
||||
closefail() {
|
||||
if (this.jigsaw) this.jigsaw.reset();
|
||||
this.$Message.error('校验错误');
|
||||
this.$message.error('校验错误');
|
||||
},
|
||||
handleResize(event) {
|
||||
this.fullWidth = document.documentElement.clientWidth;
|
||||
@ -253,7 +246,7 @@ export default {
|
||||
this.timeNum = 0;
|
||||
window.clearInterval(this.scanTime);
|
||||
this.rxpired = true;
|
||||
this.$Message.error(error.msg);
|
||||
this.$message.error(error.msg);
|
||||
});
|
||||
},
|
||||
// 扫码登录情况
|
||||
|
||||
@ -230,7 +230,7 @@ export default {
|
||||
if (data.recored.is_tourist == this.tabCur) this.list.unshift(data.recored);
|
||||
}
|
||||
if (data.recored.is_tourist != this.tabCur && data.recored.id) {
|
||||
this.$Notice.info({
|
||||
this.$notify.info({
|
||||
title: this.tabCur ? '用户发来消息啦!' : '游客发来消息啦!',
|
||||
});
|
||||
}
|
||||
|
||||
@ -60,8 +60,8 @@
|
||||
<!-- 工具 -->
|
||||
<div class="tool-wrapper" v-if="isTool">
|
||||
<div class="tool-item">
|
||||
<Upload
|
||||
:show-upload-list="false"
|
||||
<el-upload
|
||||
:show-file-list="false"
|
||||
:action="fileUrl"
|
||||
class="mr10 mb10"
|
||||
:before-upload="beforeUpload"
|
||||
@ -75,7 +75,7 @@
|
||||
>
|
||||
<img src="../static/tool-01.png" mode="" />
|
||||
<div>图片</div>
|
||||
</Upload>
|
||||
</el-upload>
|
||||
</div>
|
||||
<div class="tool-item" @click="goTransfer">
|
||||
<img src="../static/tool-02.png" mode="" />
|
||||
@ -299,7 +299,7 @@ export default {
|
||||
this.$router.go(-1);
|
||||
},
|
||||
handleFormatError(file) {
|
||||
this.$Message.error('上传图片只能是 jpg、jpg、jpeg、gif 格式!');
|
||||
this.$message.error('上传图片只能是 jpg、jpg、jpeg、gif 格式!');
|
||||
},
|
||||
// 用户详情
|
||||
goUserInfo(item, status) {
|
||||
@ -314,10 +314,10 @@ export default {
|
||||
// 上传成功
|
||||
handleSuccess(res, file, fileList) {
|
||||
if (res.status === 200) {
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.sendMsg(res.data.url, 3);
|
||||
} else {
|
||||
this.$Message.error(res.msg);
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
},
|
||||
// 滚动到底部
|
||||
@ -383,14 +383,14 @@ export default {
|
||||
this.transferList.forEach((el, index) => {
|
||||
el.isCheck = false;
|
||||
});
|
||||
this.$Message.success(res.msg);
|
||||
this.$message.success(res.msg);
|
||||
this.isTransfer = false;
|
||||
})
|
||||
.catch((error) => {
|
||||
this.$Message.error(error.msg);
|
||||
this.$message.error(error.msg);
|
||||
});
|
||||
} else {
|
||||
this.$Message.error('请选择转接客服');
|
||||
this.$message.error('请选择转接客服');
|
||||
}
|
||||
},
|
||||
// 商品信息
|
||||
@ -453,7 +453,7 @@ export default {
|
||||
// 发送消息
|
||||
sendText() {
|
||||
if (!this.isSend) {
|
||||
return this.$Message.error('请输入内容');
|
||||
return this.$message.error('请输入内容');
|
||||
}
|
||||
this.sendMsg(this.con, 1);
|
||||
this.con = '';
|
||||
|
||||
@ -199,10 +199,10 @@ export default {
|
||||
copyText(text) {
|
||||
this.$copyText(text)
|
||||
.then((message) => {
|
||||
this.$Message.success('复制成功');
|
||||
this.$message.success('复制成功');
|
||||
})
|
||||
.catch((err) => {
|
||||
this.$Message.error('复制失败');
|
||||
this.$message.error('复制失败');
|
||||
});
|
||||
},
|
||||
getIndex: function () {
|
||||
|
||||
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