master
271556543@qq.com 3 years ago
parent c4d6edbd0b
commit 54a2c303e2

@ -1,17 +1,25 @@
<script>
export default {
props:{
hasAdd:{
type:Boolean,
default:true
}
},
data() {
return {
isShowSelector:false
isShowSelector:false,
width:300,
left:0,
}
},
methods: {
initStyle(){
const header = document.querySelector('.v-header').getBoundingClientRect()
this.width = header.width
const select = document.querySelector('.xy-selectors').getBoundingClientRect()
this.left = select.left - header.left
this.$forceUpdate()
},
showSelector(){
this.isShowSelector =! this.isShowSelector
},
@ -27,35 +35,31 @@ export default {
}
},
mounted() {
this.initStyle()
window.onresize = this.initStyle
},
render(h) {
let {renderAdd,hasAdd,isShowSelector,showSelector,$scopedSlots} = this
let {isShowSelector,showSelector,$scopedSlots} = this
return (
<div class="xy-selectors">
<div v-show={isShowSelector} style={{'width':'100vw','height':'100vh','position':'fixed','top':0,'left':0,'z-index':1}} on={{['click']:()=>this.isShowSelector = false}}></div>
<div class="xy-selectors-btn">
{$scopedSlots?.default ? $scopedSlots?.default() : ''}
<Button
icon='md-arrow-dropdown'
ghost={isShowSelector}
class={isShowSelector ? 'xy-selectors-btn__item xy-selectors-btn__select xy-selectors-btn-active__select' : 'xy-selectors-btn__item xy-selectors-btn__select"'}
type='primary'
on={{
['click']:() => showSelector()
}}>
高级搜索
</Button>
{
hasAdd ? renderAdd() : ''
}
</div>
<Button
icon='md-arrow-dropdown'
ghost={isShowSelector}
class={isShowSelector ? 'xy-selectors-btn__item xy-selectors-btn__select xy-selectors-btn-active__select' : 'xy-selectors-btn__item xy-selectors-btn__select"'}
type='primary'
on={{
['click']:() => showSelector()
}}>
高级搜索
</Button>
<transition
enter-active-class="scale-enter"
leave-to-class="scale-leave">
<div class="xy-selectors-card" v-show={isShowSelector}>
<div class="xy-selectors-card" style={{'width':`${this.width}px`,'left':`-${this.left}px`}} v-show={isShowSelector}>
<Icon
type="md-close"
size={24}
@ -65,7 +69,7 @@ export default {
}}}/>
<div class="xy-selectors-card-content">
{$scopedSlots?.selected ? $scopedSlots?.selected() : ''}
{$scopedSlots?.searchContent ? $scopedSlots?.searchContent() : ''}
{$scopedSlots?.default ? $scopedSlots?.default() : ''}
</div>
<div class="xy-selectors-card-btn">
<Button
@ -96,9 +100,9 @@ export default {
position: relative;
&-btn{
display: flex;
justify-content: flex-start;
align-items: center;
//display: flex;
//justify-content: flex-start;
//align-items: center;
&__item{
margin-right: 10px;
@ -127,7 +131,7 @@ export default {
}
}
&-card{
width: 100%;
//width: 100%;
background: rgba(239,242,250,0.95);
border-radius: 4px;
border-top-left-radius: 0;
@ -136,7 +140,6 @@ export default {
z-index: 4;
position: absolute;
&__close{
cursor: pointer;

@ -370,7 +370,7 @@ export default {
::v-deep .ivu-page-options-elevator{
color: #fff !important;
}
@media (max-width: 430px) {
@media (max-width: 600px) {
::v-deep .ivu-page-options{
display: none !important;
}

@ -0,0 +1,92 @@
import axios from 'axios'
import { getToken } from '@/utils/auth'
import { Loading, Message } from 'element-ui'
/*
* @params {string} url 请求拼接地址
* @params {object} info 请求参数params或data
*/
let loading;
export async function download(url,method='get',info,filename){
loading = Loading.service({
lock:true,
background:"rgba(0,0,0,0.4)",
text:"文件正在生成中..."
})
let options = {
baseURL:process.env.VUE_APP_BASE_API,
url,
method,
responseType: 'blob',
timeout:10000,
headers: {
Accept: 'application/json','Content-Type':'application/json; charset=utf-8',
withCredentials: true,
Authorization:"Bearer " + getToken()
},
}
if(method === 'get'){
Object.defineProperty(options,'params',{
value:info,
enumerable:true,
writable:false
})
}
if(method === 'post'){
Object.defineProperty(options,'data',{
value:info,
enumerable:true,
writable:false
})
}
try {
const response = await axios.request(options)
loading.close()
// 提取文件名
if(!filename){
filename = response.headers['content-disposition']?.match(
/filename=(.*)/
)[1] || ''
}
// 将二进制流转为blob
const blob = new Blob([response.data], { type: 'application/octet-stream' })
if (typeof window.navigator.msSaveBlob !== 'undefined') {
// 兼容IEwindow.navigator.msSaveBlob以本地方式保存文件
window.navigator.msSaveBlob(blob, decodeURI(filename))
} else {
// 创建新的URL并指向File对象或者Blob对象的地址
const blobURL = window.URL.createObjectURL(blob)
// 创建a标签用于跳转至下载链接
const tempLink = document.createElement('a')
tempLink.style.display = 'none'
tempLink.href = blobURL
tempLink.setAttribute('download', decodeURI(filename))
// 兼容某些浏览器不支持HTML5的download属性
if (typeof tempLink.download === 'undefined') {
tempLink.setAttribute('target', '_blank')
}
// 挂载a标签
document.body.appendChild(tempLink)
tempLink.click()
document.body.removeChild(tempLink)
// 释放blob URL地址
window.URL.revokeObjectURL(blobURL)
}
}catch (err){
console.error(err)
loading.close()
Message({
type:'error',
message:err
})
}
}

@ -16,7 +16,7 @@
<Button icon="ios-search" type="primary" style="margin-right: 10px;" @click="getFlow"></Button>
<Button icon="ios-repeat" type="primary" style="margin-right: 10px;" @click="select = {pageIndex:1,pageSize:10,merchantId:'',type:''},getFlow()">全部</Button>
<Button icon="ios-download" type="primary" style="margin-right: 10px;"></Button>
<Button icon="ios-download" type="primary" style="margin-right: 10px;" @click="downloadExel"></Button>
</div>
</slot>
</lx-header>
@ -35,6 +35,7 @@
<script>
import {index,getMerchants} from "@/api/finance"
import { parseTime } from '@/utils'
import {download} from '@/utils/downloadRequest'
import rechargeFine from '@/views/finance/component/rechargeFine'
export default {
@ -95,6 +96,10 @@ export default {
}
},
methods: {
downloadExel(){
download('/api/admin/finance/index','get',{is_export:1},'财务流水.xlsx')
},
pageChange(e){
this.select.pageIndex = e
this.getFlow()

@ -4,123 +4,68 @@
<lx-header icon="md-apps" text="广告管理" style="margin-bottom: 10px; border: 0px; margin-top: 15px">
<div slot="content"></div>
<slot>
<xy-selectors @search="getAds" @add="$refs['addAd'].isShow = true,$refs['addAd'].type = 'add'" @reset="resetSelect">
<template>
<!-- <template v-if="select.name || select.system || select.createDate[0] || select.createDate[1] || select.isEffect === 0 || select.isEffect === 1">-->
<!-- <Alert style="padding-top: 6px;padding-bottom: 6px;font-size: 13px" type="success" show-icon closable @on-close="resetSelect">-->
<!-- <Icon type="ios-funnel-outline" slot="icon" color="#fff"/>-->
<!-- <span v-if="select.name">-->
<!-- {{select.name}},-->
<!-- </span>-->
<!-- <span v-if="select.system">-->
<!-- {{select.system.label}},-->
<!-- </span>-->
<!-- <span v-if="select.createDate[0] || select.createDate[1]">-->
<!-- {{select.createDate[0]}} - {{select.createDate[1]}},-->
<!-- </span>-->
<!-- <span v-if="select.isEffect === 0 || select.isEffect === 1">-->
<!-- {{select.isEffect === 0 ? '有效' : '无效'}}-->
<!-- </span>-->
<!-- </Alert>-->
<!-- </template>-->
<Input v-model="select.name" placeholder="活动名称.." clearable style="width: 200px;margin-right: 10px;"/>
<Button type="primary" @click="getAds" style="margin-right: 10px;">搜索</Button>
</template>
<template v-slot:selected>
<div style="display: flex;padding: 0 0 10px 20px;">
<span style="padding-right: 6px">当前搜索条件</span>
<div v-if="select.name">
<el-tag effect="light" size="small" closable @close="select.name = ''">
{{select.name}}
</el-tag>,
</div>
<div v-if="select.system">
<el-tag effect="light" size="small" closable @close="select.system = ''">
{{select.system.label}}
</el-tag>,
</div>
<div v-if="select.createDate[0] || select.createDate[1]">
<el-tag effect="light" size="small" closable @close="select.createDate = []">
{{select.createDate[0]}} - {{select.createDate[1]}}
</el-tag>,
</div>
<div v-if="select.isEffect === 0 || select.isEffect === 1">
<el-tag effect="light" size="small" closable @close="select.isEffect = ''">
{{select.isEffect === 0 ? '有效' : '无效'}}
</el-tag>
<div style="display:flex;">
<Input v-model="select.name" placeholder="活动名称.." clearable style="width: 200px;margin-right: 10px;"/>
<Button type="primary" @click="getAds" style="margin-right: 10px;">搜索</Button>
<xy-selectors @search="getAds" @add="$refs['addAd'].isShow = true,$refs['addAd'].type = 'add'" @reset="resetSelect">
<template v-slot:selected>
<div style="display: flex;padding: 0 0 10px 20px;">
<span style="padding-right: 6px">当前搜索条件</span>
<div v-if="select.name">
<el-tag effect="light" size="small" closable @close="select.name = ''">
{{select.name}}
</el-tag>,
</div>
<div v-if="select.system">
<el-tag effect="light" size="small" closable @close="select.system = ''">
{{select.system.label}}
</el-tag>,
</div>
<div v-if="select.createDate[0] || select.createDate[1]">
<el-tag effect="light" size="small" closable @close="select.createDate = []">
{{select.createDate[0]}} - {{select.createDate[1]}}
</el-tag>,
</div>
<div v-if="select.isEffect === 0 || select.isEffect === 1">
<el-tag effect="light" size="small" closable @close="select.isEffect = ''">
{{select.isEffect === 0 ? '有效' : '无效'}}
</el-tag>
</div>
</div>
</div>
</template>
<template v-slot:searchContent>
</template>
<div class="select-content-item">
<div class="select-content-item-label" style="display: flex;flex-wrap: wrap">
发布系统
</div>
<div>
<template v-for="(item,index) in systems">
<el-tag :effect="select.system.value == item.value ? 'dark' : 'plain'" @click="select.system = item">{{item.label}}</el-tag>
</template>
<template>
<div class="select-content-item">
<div class="select-content-item-label" style="display: flex;flex-wrap: wrap">
发布系统
</div>
<div>
<template v-for="(item,index) in systems">
<el-tag :effect="select.system.value == item.value ? 'dark' : 'plain'" @click="select.system = item">{{item.label}}</el-tag>
</template>
</div>
</div>
</div>
<div class="select-content-item">
<div class="select-content-item-label">
创建时间
<div class="select-content-item">
<div class="select-content-item-label">
创建时间
</div>
<DatePicker :value="select.createDate" style="width: 220px;" transfer placeholder="选择创建日期" type="daterange" placement="bottom" @on-change="(e)=> select.createDate = e "></DatePicker>
</div>
<DatePicker :value="select.createDate" style="width: 220px;" transfer placeholder="选择创建日期" type="daterange" placement="bottom" @on-change="(e)=> select.createDate = e "></DatePicker>
</div>
<div class="select-content-item">
<div class="select-content-item-label">
是否有效
<div class="select-content-item">
<div class="select-content-item-label">
是否有效
</div>
<div>
<el-radio v-model="select.isEffect" :label="1"></el-radio>
<el-radio v-model="select.isEffect" :label="0"></el-radio>
<el-radio v-model="select.isEffect" label=""></el-radio>
</div>
</div>
<div>
<el-radio v-model="select.isEffect" :label="0"></el-radio>
<el-radio v-model="select.isEffect" :label="1"></el-radio>
<el-radio v-model="select.isEffect" label=""></el-radio>
</div>
</div>
</template>
</xy-selectors>
<!-- <div class="selects">-->
<!-- <div class="selects-item">-->
<!-- <div class="selects-item-label">活动名称</div>-->
<!-- <Input v-model="select.name" placeholder="活动名称搜索" clearable style="width: 150px;"/>-->
<!-- </div>-->
<!-- <div class="selects-item">-->
<!-- <div class="selects-item-label">发布系统</div>-->
<!-- <Select v-model="select.system" placeholder="选择发布系统" style="width: 150px;" clearable>-->
<!-- <Option v-for="item in systems" :key="item.value" :value="item.value">{{ item.label }}</Option>-->
<!-- </Select>-->
<!-- </div>-->
<!-- <div class="selects-item">-->
<!-- <div class="selects-item-label">创建时间</div>-->
<!-- <DatePicker :value="select.createDate" style="width: 200px;" transfer placeholder="选择创建日期" type="daterange" placement="bottom" @on-change="(e)=>select.createDate = e"></DatePicker>-->
<!-- </div>-->
<!-- <div class="selects-item">-->
<!-- <div class="selects-item-label">是否在有效期</div>-->
<!-- <Select v-model="select.isEffect" placeholder="是否有效" style="width: 100px;" clearable>-->
<!-- <Option v-for="item in [{value:0,label:'有效'},{value:1,label:'无效'},{value:'',label:'全部'}]" :value="item.value">{{ item.label }}</Option>-->
<!-- </Select>-->
<!-- </div>-->
<!-- <div class="selects-item">-->
<!-- <Button type="primary" style="margin: 0 6px 0 12px;" @click="getAds"></Button>-->
<!-- </div>-->
<!-- <div class="selects-item">-->
<!-- <Button type="error" ghost style="margin: 0 6px;" @click="resetSelect"></Button>-->
<!-- </div>-->
<!-- <div class="selects-item">-->
<!-- <Button style="margin: 0 6px;" type="info" @click="$refs['addAd'].isShow = true,$refs['addAd'].type = 'add'">新增</Button>-->
<!-- </div>-->
<!-- </div>-->
</template>
</xy-selectors>
</div>
</slot>
</lx-header>
</div>

@ -3,13 +3,11 @@
<div ref="lxHeader">
<lx-header icon="md-apps" text="订单管理" style="margin-bottom: 10px; border: 0px; margin-top: 15px">
<slot>
<div>
<xy-selectors @search="getOrders" :has-add="false">
<div style="display: flex">
<Input v-model="select.keyword" class="select" style="width: 200px; margin-right: 10px" placeholder="关键字搜索" />
<Button class="select" type="primary" style="margin-right: 10px;" @click="getOrders"></Button>
<xy-selectors @search="getOrders">
<template>
<Input v-model="select.keyword" class="select" style="width: 200px; margin-right: 10px" placeholder="关键字搜索" />
<Button class="select" type="primary" style="margin-right: 10px;" @click="getOrders"></Button>
</template>
<template v-slot:searchContent>
<div class="select-content-item">
<div class="select-content-item-label">所属商户</div>
<div>
@ -69,6 +67,7 @@
</div>
</template>
</xy-selectors>
<Button class="select" type="primary" style="margin-right: 10px;" @click="downloadExel"></Button>
</div>
</slot>
</lx-header>
@ -96,6 +95,7 @@
<script>
import {getList,index as getTypes} from "@/api/order"
import {parseTime} from "@/utils"
import {download} from '@/utils/downloadRequest'
import orderLog from '@/views/order/component/orderLog'
import actions from '@/views/order/component/actions'
@ -267,6 +267,10 @@ export default {
showLog(row){
this.selectId = row.id
this.isShowLog = true
},
downloadExel(){
download('/api/admin/order/get-list','get',{is_export:1},'订单列表.xlsx')
}
},
mounted() {
@ -286,6 +290,7 @@ export default {
margin-bottom: 10px;
&-label{
padding: 0 20px;
}
}

@ -4,11 +4,53 @@
<lx-header icon="md-apps" text="会所产品" style="margin-bottom: 10px; border: 0px; margin-top: 15px">
<div slot="content"></div>
<slot>
<div>
<div style="display: flex">
<Input clearable v-model="select.keywords" style="width: 200px; margin-right: 10px" placeholder="关键字搜索" />
<Select placeholder="类型搜索" v-model="select.type" style="width: 140px;margin-right: 10px">
<xy-selectors @search="getClubProduct">
<template v-slot:selected>
<div style="display: flex;padding: 0 0 10px 20px;">
<span style="padding-right: 6px">当前搜索条件</span>
<div v-if="select.confinementServices">
<el-tag effect="light" size="small" closable @close="select.confinementServices = ''">
{{select.confinementServices.name}}
</el-tag>,
</div>
<div v-if="select.state === 0 || select.state === 1">
<el-tag effect="light" size="small" closable @close="select.state = ''">
{{select.state === 0 ? '有效' : '无效'}}
</el-tag>
</div>
</div>
</template>
<template>
<div class="select-content-item">
<div class="select-content-item-label">
所属会所
</div>
<div>
<el-select size="small" clearable :value="select.confinementServices ? select.confinementServices.name : ''" style="width: 220px;" placeholder="请选择所属月子会所" @change="e => select.confinementServices = e">
<Scroll :on-reach-bottom="loadMoreClub">
<el-option v-for="item in clubs" :value="item" :key="item.id" :label="item.name">
</el-option>
</Scroll>
</el-select>
</div>
</div>
<div class="select-content-item">
<div class="select-content-item-label">
状态
</div>
<div>
<el-radio v-model="select.state" :label="0"></el-radio>
<el-radio v-model="select.state" :label="1"></el-radio>
<el-radio v-model="select.state" label=""></el-radio>
</div>
</div>
</template>
</xy-selectors>
</Select>
<Button type="primary" @click="getClubProduct"></Button>
<Button type="primary" style="margin-left: 10px" @click="$refs['addClubProduct'].type = 'add',$refs['addClubProduct'].isShow = true">新增</Button>
</div>
@ -50,6 +92,7 @@ import { Message } from 'element-ui'
import addClubProduct from '@/views/productService/components/confinement/addClubProduct'
import addProductCombo from '@/views/productService/components/confinement/addProductCombo'
import addProductPic from '@/views/productService/components/confinement/addProductPic'
import { index as clubIndex } from '@/api/confinementClub'
export default {
components:{
addClubProduct,
@ -58,11 +101,18 @@ export default {
},
data() {
return {
clubs:[],
clubSelect:{
pageSize:10,
page:1
},
select:{
page:1,
pageSize:10,
keywords:'',
type:''
confinementServices:'',
state:''
},
total:0,
@ -135,6 +185,25 @@ export default {
}
},
methods: {
async getClubs(){
const res = await clubIndex({
page:this.clubSelect.page,
page_size:this.clubSelect.pageSize,
},false)
if(res?.rows?.length === 0){
this.$Message.info({
content:'没有更多会所了',
duration:1
})
this.clubSelect.page --
}
this.clubs.push(...res.rows)
},
loadMoreClub(){
this.clubSelect.page ++
this.getClubs()
},
pageChange(e){
this.select.page = e
this.getClubProduct()
@ -144,7 +213,9 @@ export default {
const res = await index({
keyword:this.select.keywords,
page:this.select.page,
page_size:this.select.pageSize
page_size:this.select.pageSize,
confinement_services_id:this.select.confinementServices.id,
state:this.select.state
})
this.total = res.total
this.list = res.rows
@ -176,10 +247,41 @@ export default {
},
mounted() {
this.getClubProduct()
this.getClubs()
}
}
</script>
<style scoped lang="scss">
.select-content-item{
display: flex;
align-items: center;
margin-bottom: 10px;
&-label{
width: 110px;
padding: 0 20px;
}
}
::v-deep .ivu-select-dropdown{
}
::v-deep .ivu-scroll-container{
height: 140px !important;
&::after{
content: '加载更多..';
text-align: center;
font-size: 10px;
zoom: 0.8;
color: rgb(160,160,160);
background: #fff;
position: absolute;
left: 0;
right: 0;
bottom: 0;
}
}
</style>

@ -55,8 +55,9 @@ export default {
},
methods: {
async getMerchantItems(){
this.list = []
const res = await getMerchantItems({confinement_services_id:this.id})
console.log(res)
this.list.push(...res)
},
addList(){
@ -91,6 +92,10 @@ export default {
deleteItem(scope){
if(scope.row?.id){
destroyMerchantItems({id:scope.row.id}).then(res => {
Message({
type:'success',
message:'删除成功'
})
this.getMerchantItems()
})
}else{

@ -4,11 +4,10 @@
<lx-header icon="md-apps" text="月子会所" style="margin-bottom: 10px; border: 0px; margin-top: 15px">
<div slot="content"></div>
<slot>
<div>
<div style="display: flex">
<Input clearable v-model="select.keywords" style="width: 200px; margin-right: 10px" placeholder="关键字搜索" />
<Select placeholder="类型搜索" v-model="select.type" style="width: 140px;margin-right: 10px">
</Select>
<Button type="primary" @click="getClubs"></Button>
<Button type="primary" style="margin-left: 10px" @click="$refs['addConfinementClub'].type = 'add',$refs['addConfinementClub'].isShow = true">新增</Button>
</div>

@ -4,47 +4,95 @@
<lx-header icon="md-apps" text="产品与服务管理" style="margin-bottom: 10px; border: 0px; margin-top: 15px">
<div slot="content"></div>
<slot>
<div class="selector">
<div class="selector-item">
<div class="selector-item__label">产品名称</div>
<Input v-model="select.name" style="width: 200px;" placeholder="产品名称搜索" />
</div>
<div class="selector-item">
<div class="selector-item__label">所属商户</div>
<Select clearable v-model="select.merchantId" style="width: 140px;" placeholder="所属商户">
<Scroll :on-reach-bottom="loadMoreMerchant">
<Option v-for="item in merchants" :value="item.id" :key="item.id">
{{item.name}}
</Option>
</Scroll>
</Select>
</div>
<div class="selector-item">
<div class="selector-item__label">状态选择</div>
<Select clearable style="width: 130px;" clearable placeholder="状态选择" v-model="select.state">
<Option v-for="item in [{value:'active',label:'已上架'},{label:'已下架',value:'inactive'}]" :value="item.value">{{item.label}}</Option>
</Select>
</div>
<div class="selector-item">
<div class="selector-item__label">类别选择</div>
<el-cascader
clearable
placeholder="类别选择"
style="width: 170px;"
size="small"
:options="types"
:show-all-levels="false"
:props="{value:'id',label:'title',expandTrigger:'hover'}"
@change="e => select.productTypeId = e.at(-1)">
</el-cascader>
</div>
<div class="selector-item">
<Button type="primary" @click="getProducts"></Button>
</div>
<div class="selector-item">
<Button type="primary" @click="$refs['addProduct'].isShow = true,$refs['addProduct'].type = 'add'">新增</Button>
</div>
<div style="display: flex">
<Input v-model="select.name" style="width: 200px;margin-right: 10px;" placeholder="产品名称搜索" />
<xy-selectors @search="getProducts">
<template>
<div class="select-content-item">
<div class="select-content-item-label">所属商户</div>
<div>
<Select clearable v-model="select.merchantId" style="width: 140px;" placeholder="所属商户">-->
<Scroll :on-reach-bottom="loadMoreMerchant">
<Option v-for="item in merchants" :value="item.id" :key="item.id">
{{item.name}}
</Option>
</Scroll>
</Select>
</div>
</div>
<div class="select-content-item">
<div class="select-content-item-label">
状态
</div>
<div>
<el-radio v-model="select.state" label="inactive"></el-radio>
<el-radio v-model="select.state" label="active"></el-radio>
<el-radio v-model="select.state" label=""></el-radio>
</div>
</div>
<div class="select-content-item">
<div class="select-content-item-label">
类别
</div>
<div>
<el-cascader
clearable
placeholder="类别选择"
style="width: 170px;" size="small"
:options="types" :show-all-levels="false"
:props="{value:'id',label:'title',expandTrigger:'hover'}"
@change="e => select.productTypeId = e.at(-1)">
</el-cascader>
</div>
</div>
</template>
</xy-selectors>
<Button type="primary" @click="getProducts"></Button>
<Button type="primary" @click="$refs['addProduct'].isShow = true,$refs['addProduct'].type = 'add'" style="margin-left: 10px;">新增</Button>
</div>
<!-- <div class="selector">-->
<!-- <div class="selector-item">-->
<!-- <div class="selector-item__label">产品名称</div>-->
<!-- <Input v-model="select.name" style="width: 200px;" placeholder="产品名称搜索" />-->
<!-- </div>-->
<!-- <div class="selector-item">-->
<!-- <div class="selector-item__label">所属商户</div>-->
<!-- <Select clearable v-model="select.merchantId" style="width: 140px;" placeholder="所属商户">-->
<!-- <Scroll :on-reach-bottom="loadMoreMerchant">-->
<!-- <Option v-for="item in merchants" :value="item.id" :key="item.id">-->
<!-- {{item.name}}-->
<!-- </Option>-->
<!-- </Scroll>-->
<!-- </Select>-->
<!-- </div>-->
<!-- <div class="selector-item">-->
<!-- <div class="selector-item__label">状态选择</div>-->
<!-- <Select clearable style="width: 130px;" clearable placeholder="状态选择" v-model="select.state">-->
<!-- <Option v-for="item in [{value:'active',label:'已上架'},{label:'已下架',value:'inactive'}]" :value="item.value">{{item.label}}</Option>-->
<!-- </Select>-->
<!-- </div>-->
<!-- <div class="selector-item">-->
<!-- <div class="selector-item__label">类别选择</div>-->
<!-- <el-cascader-->
<!-- clearable-->
<!-- placeholder="类别选择"-->
<!-- style="width: 170px;"-->
<!-- size="small"-->
<!-- :options="types"-->
<!-- :show-all-levels="false"-->
<!-- :props="{value:'id',label:'title',expandTrigger:'hover'}"-->
<!-- @change="e => select.productTypeId = e.at(-1)">-->
<!-- </el-cascader>-->
<!-- </div>-->
<!-- <div class="selector-item">-->
<!-- <Button type="primary" @click="getProducts"></Button>-->
<!-- </div>-->
<!-- <div class="selector-item">-->
<!-- <Button type="primary" @click="$refs['addProduct'].isShow = true,$refs['addProduct'].type = 'add'">新增</Button>-->
<!-- </div>-->
<!-- </div>-->
</slot>
</lx-header>
</div>
@ -108,7 +156,8 @@ export default {
prop:'name',
label:'名称',
width:250,
align:'left'
align:'left',
fixed:'left'
},
{
prop:'product_type.name',
@ -255,6 +304,17 @@ export default {
</script>
<style scoped lang="scss">
.select-content-item{
display: flex;
align-items: center;
margin-bottom: 10px;
&-label{
width: 110px;
padding: 0 20px;
}
}
.selector{
display: flex;
flex-wrap: wrap;

@ -25,7 +25,9 @@
</div>
<div class="selector-item">
<Button type="primary" @click="$refs['addMember'].isShow = true,$refs['addMember'].type = 'add'">新增会员</Button>
</div>
<div class="selector-item">
<Button type="primary" @click="exportExel"></Button>
</div>
</div>
</slot>
@ -41,6 +43,7 @@
<script>
import {index,destroy} from '@/api/member'
import {parseTime} from "@/utils"
import {download} from '@/utils/downloadRequest'
import addMember from './component/addMember'
import { Message } from 'element-ui'
@ -146,6 +149,10 @@ export default {
})
this.getMembers()
})
},
exportExel(){
download('/api/admin/member/index','get',{is_export:1},'用户列表.xlsx')
}
},
mounted() {

Loading…
Cancel
Save