master
lion 3 years ago
parent b2b83c8179
commit 96bb4a06fd

@ -4,8 +4,9 @@
<lx-header icon="md-apps" text="活动列表" style="margin-bottom: 10px; border: 0px; margin-top: 15px">
<slot>
<div style="display: flex;justify-content: flex-start;flex-wrap: wrap;">
<Button icon="ios-add" type="primary" style="margin-right: 10px;" @click="$refs['addActivity'].isShow = true,$refs['addActivity'].type = 'add'">添加</Button>
<Input v-model="select.keyword" style="width: 200px;margin-right: 10px;" placeholder="关键字搜索" />
<Button type="primary" @click="getActivities"></Button>
<Button icon="ios-add" type="primary" style="margin-left: 10px;" @click="$refs['addActivity'].isShow = true,$refs['addActivity'].type = 'add'">添加</Button>
</div>
</slot>
</lx-header>
@ -18,9 +19,10 @@
@pageIndexChange="pageChange"
:table-item="table">
<template v-slot:btns>
<el-table-column fixed="right" label="操作" width="220" header-align="center">
<el-table-column fixed="right" label="操作" width="260" header-align="center">
<template slot-scope="scope">
<Button type="primary" size="small" @click="editorActivity(scope.row.id,'editor')"></Button>
<Button v-if="scope.row.audit_status==0" style="margin-left: 10px;" type="primary" size="small" @click="checkActivity(scope.row.id)"></Button>
<Button type="primary" size="small" style="margin-left: 10px;" @click="editorActivity(scope.row.id,'copy')"></Button>
<Poptip
transfer
@ -36,6 +38,7 @@
</xy-table>
<addActivity ref="addActivity" @refresh="getActivities"></addActivity>
<checkActivity ref="checkActivity" @refresh="getActivities"></checkActivity>
<showActiveOrder :id="activeId" :name="activeName" :is-show.sync="isShowOrder"></showActiveOrder>
</div>
</template>
@ -44,18 +47,21 @@
import {index,destroy} from "@/api/activity"
import addActivity from '@/views/activity/component/addActivity'
import checkActivity from '@/views/activity/component/checkActivity'
import showActiveOrder from '@/views/activity/component/showActiveOrder'
import { Message } from 'element-ui'
export default {
components:{
addActivity,
showActiveOrder
showActiveOrder,
checkActivity
},
data() {
return {
select:{
pageSize:10,
pageIndex:1
pageIndex:1,
keyword:""
},
total:0,
@ -71,6 +77,15 @@ export default {
align:'left',
fixed:'left',
},
{
label:"状态",
width: 180,
prop:'audit_status',
align:'center',
formatter:(cell,data,value)=>{
return value==0 ? '待审核':(value==1 ?'通过':'不通过')
}
},
{
label:"活动关联方",
width: 220,
@ -103,6 +118,7 @@ export default {
{
label:"主办方logo",
width: 140,
prop:'logo',
customFn:(row)=>{
if(row.sponsor_logo){
return (<el-image style={{'height':'90px'}} src={row.sponsor_logo}></el-image>)
@ -119,6 +135,7 @@ export default {
label:"活动海报",
width: 240,
align:'left',
prop:'poster',
customFn:(row)=>{
if(row.active_playbill){
return (<el-image style={{'height':'110px'}} src={row.active_playbill}></el-image>)
@ -128,6 +145,7 @@ export default {
{
label:"活动开始时间",
width: 240,
prop:'start_date',
customFn:(row)=>{
return (<div>{row.start_date} {row.start_time}</div>)
}
@ -135,6 +153,7 @@ export default {
{
label:"活动结束时间",
width: 240,
prop:'end_date',
customFn:(row)=>{
return (<div>{row.end_date} {row.end_time}</div>)
}
@ -170,6 +189,7 @@ export default {
{
label:"剩余名额",
width: 140,
prop:'apply_sum',
customFn:(row)=>{
return (<div>{row?.member_sum - row?.start_member_sum - row?.total}</div>)
}
@ -221,7 +241,8 @@ export default {
async getActivities(){
const res = await index({
rows:this.select.pageSize,
page:this.select.pageIndex
page:this.select.pageIndex,
keyword:this.select.keyword
})
this.list = res.data
this.total = res.total
@ -244,6 +265,11 @@ export default {
this.$refs['addActivity'].id = id
this.$refs['addActivity'].type = type
this.$refs['addActivity'].isShow = true
},
checkActivity(id){
this.$refs['checkActivity'].id = id
// this.$refs['addActivity'].type = type
this.$refs['checkActivity'].isShow = true
}
},
mounted() {

@ -1,622 +0,0 @@
<template>
<div>
<xy-dialog ref="dialog" :is-show.sync="isShow" type="form" :title="type === 'add' ? '新增活动' : '编辑活动'" :form="form" :rules="rules" @submit="submit">
<template v-slot:activeName>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>活动名称
</div>
<div class="xy-table-item-content">
<el-input v-model="form.activeName" placeholder="请输入活动名称" clearable style="width: 300px;"></el-input>
</div>
</div>
</template>
<template v-slot:shopId>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>发布方
</div>
<div class="xy-table-item-content">
<el-input readonly v-model="form.shopId.label" placeholder="请选择发布方" clearable style="width: 300px; " @focus="isShowShops = true,getShops()">
<i
class="el-icon-arrow-down el-input__icon"
slot="suffix"
@click="isShowShops = true,getShops()">
</i>
</el-input>
</div>
</div>
</template>
<template v-slot:sponsor>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>主办方
</div>
<div class="xy-table-item-content">
<el-input v-model="form.sponsor" placeholder="请输入主办方" clearable style="width: 300px;"></el-input>
</div>
</div>
</template>
<template v-slot:sponsorLogo>
<div class="xy-table-item">
<div class="xy-table-item-label">
主办方logo
</div>
<div class="xy-table-item-content">
<div v-if="form.sponsorLogo" style="position: relative;">
<img :src="form.sponsorLogo" class="avatar">
<Button
shape="circle"
icon="md-close"
type="error"
size="small"
class="img__delete"
@click="form.sponsorLogo = ''"></Button>
</div>
<el-upload
v-else
accept="picture"
:limit="1"
class="avatar-uploader"
list-type="picture-card"
:action="action"
:show-file-list="true"
:on-error="uploadFail"
:on-success="uploadSuccess"
:before-upload="uploadBefore">
<i class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</div>
</div>
</template>
<template v-slot:sponsorAdvertise>
<div class="xy-table-item">
<div class="xy-table-item-label">
主办方广告语
</div>
<div class="xy-table-item-content">
<el-input v-model="form.sponsorAdvertise" placeholder="请输入主办方广告语" clearable style="width: 300px;"></el-input>
</div>
</div>
</template>
<template v-slot:recommend>
<div class="xy-table-item">
<div class="xy-table-item-label">
简介
</div>
<div class="xy-table-item-content">
<el-input :autosize="{minRows:2}" type="textarea" v-model="form.recommend" placeholder="请输入简介" clearable style="width: 300px;"></el-input>
</div>
</div>
</template>
<template v-slot:slogan>
<div class="xy-table-item">
<div class="xy-table-item-label">
宣传标语
</div>
<div class="xy-table-item-content">
<el-input v-model="form.slogan" placeholder="请输入宣传标语" clearable style="width: 300px;"></el-input>
</div>
</div>
</template>
<template v-slot:date>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>活动日期
</div>
<div class="xy-table-item-content">
<el-date-picker
align='center'
style="width: 360px;"
v-model="form.date"
value-format="yyyy-MM-dd/HH:mm:ss"
type="datetimerange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
</div>
</div>
</template>
<template v-slot:address>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>活动地址
</div>
<div class="xy-table-item-content">
<el-input v-model="form.address" placeholder="请输入活动地址" clearable style="width: 300px;"></el-input>
</div>
</div>
</template>
<template v-slot:relationName>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>联系人
</div>
<div class="xy-table-item-content">
<el-input v-model="form.relationName" placeholder="请输入联系人址" clearable style="width: 300px;"></el-input>
</div>
</div>
</template>
<template v-slot:phoneNumber>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>联系电话
</div>
<div class="xy-table-item-content">
<el-input v-model="form.phoneNumber" placeholder="请输入联系电话" clearable style="width: 300px;"></el-input>
</div>
</div>
</template>
<template v-slot:group>
<div class="xy-table-item">
<div class="xy-table-item-label">
活动人群
</div>
<div class="xy-table-item-content">
<el-input v-model="form.group" placeholder="请输入活动人群" clearable style="width: 300px;"></el-input>
</div>
</div>
</template>
<template v-slot:memberSum>
<div class="xy-table-item">
<div class="xy-table-item-label">
活动人数
</div>
<div class="xy-table-item-content">
<el-input-number :precision="0" :controls="false" v-model="form.memberSum" placeholder="请输入活动人数" clearable style="width: 300px;"></el-input-number>
</div>
</div>
</template>
<template v-slot:startMemberSum>
<div class="xy-table-item">
<div class="xy-table-item-label">
初始活动人数
</div>
<div class="xy-table-item-content">
<el-input-number :precision="0" :controls="false" v-model="form.startMemberSum" placeholder="请输入初始活动人数" clearable style="width: 300px;"></el-input-number>
</div>
</div>
</template>
<template v-slot:greatServices>
<div class="xy-table-item">
<div class="xy-table-item-label">
服务亮点
</div>
<div class="xy-table-item-content">
<el-input v-model="form.greatServices" placeholder="请输入服务亮点" clearable style="width: 300px;"></el-input>
</div>
</div>
</template>
<template v-slot:applyDate>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>报名日期
</div>
<div class="xy-table-item-content">
<el-date-picker
align='center'
style="width: 360px;"
v-model="form.applyDate"
value-format="yyyy-MM-dd HH:mm:ss"
type="datetimerange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
</div>
</div>
</template>
<!-- <template v-slot:money>
<div class="xy-table-item">
<div class="xy-table-item-label">
活动金额
</div>
<div class="xy-table-item-content">
<el-input-number :precision="2" :controls="false" v-model="form.money" placeholder="请输入活动金额" clearable style="width: 300px;"></el-input-number>
</div>
</div>
</template> -->
<template v-slot:activePlaybill>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>活动海报
</div>
<div class="xy-table-item-content">
<div v-if="form.activePlaybill" style="position: relative;">
<img :src="form.activePlaybill" class="avatar">
<Button
shape="circle"
icon="md-close"
type="error"
size="small"
class="img__delete"
@click="form.activePlaybill = ''"></Button>
</div>
<el-upload
v-else
accept="picture"
:limit="1"
class="avatar-uploader"
list-type="picture-card"
:action="action"
:show-file-list="true"
:on-error="uploadFail"
:on-success="uploadSuccess1"
:before-upload="uploadBefore">
<i class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</div>
</div>
</template>
<template v-slot:sort>
<div class="xy-table-item">
<div class="xy-table-item-label">
排序
</div>
<div class="xy-table-item-content">
<el-input-number :precision="0" :controls="false" v-model="form.sort" placeholder="请输入排序" clearable style="width: 300px;"></el-input-number>
</div>
</div>
</template>
<template v-slot:content>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>活动内容:
</div>
<div class="xy-table-item-content" style="width: 680px;">
<xyTinymce v-if="isShow" :height="200" v-model="form.content"></xyTinymce>
</div>
</div>
</template>
</xy-dialog>
<!-- shopId选择-->
<Modal v-model="isShowShops" title="发布方选择">
<Table
highlight-row
ref="currentRowTable"
:columns="shopColumns"
:data="shops"
@on-current-change="shopSelect" />
<Page :current="shopPageIndex" :total="shopTotal" simple style="padding-top: 14px;display: flex;justify-content: center;" @on-change="shopPageChange"/>
</Modal>
</div>
</template>
<script>
import {index as shopIndex} from "@/api/merchant"
import {store,show,save} from "@/api/activity"
import { Message } from 'element-ui'
import xyTinymce from "@/components/XyTinymce/index.vue";
export default {
components:{
xyTinymce
},
data() {
return {
isShow:false,
type:'add',
id:'',
action:`${process.env.VUE_APP_BASE_API}api/admin/upload-file`,
form:{
activeName:"",
shopId:"",
sponsor:"",
sponsorLogo:"",
sponsorAdvertise:"",
recommend:"",
//slogan:"",
date:"",
address:'',
relationName:"",
phoneNumber:"",
group:"",
startMemberSum:"",
memberSum:"",
greatServices:"",
applyDate:[],
// money:0.00,
activePlaybill:"",
sort:0,
content:"",
},
rules:{
activeName:[
{required:true,message:'请输入活动名称'}
],
shopId:[
{required:true,message:'请选择发布方'}
],
sponsor:[
{required:true,message:'请输入主办方'}
],
date:[
{required:true,message:'请选择活动日期'}
],
applyDate:[
{required:true,message:'请选择报名日期'}
],
address:[
{required:true,message:'请输入活动地址'}
],
relationName:[
{required:true,message:'请输入联系人'}
],
phoneNumber:[
{required:true,message:'请输入联系电话'},
{pattern: /^[1][3-9][\d]{9}/,message:'手机号格式错误'}
],
activePlaybill:[
{required:true,message:'请上传活动海报'}
],
content:[
{required:true,message:'请输入活动内容'}
]
},
shops:[],
shopPageIndex:1,
shopTotal:0,
isShowShops:false,
shopColumns:[
{
title:'名称',
key:'username',
width:120
},
{
title:'全称',
key:'name',
// width:120
},
// {
// title:'',
// tooltip:true,
// render:(h,{row,column,index})=>{
// return (<div>{row?.merchant?.name}</div>)
// }
// },
{
title:'状态',
key:'state',
width: 120,
align:'center',
render:(h,{row,column,index})=>{
return (<div>{row.state=="1"?"启用":"禁用"}</div>)
}
}
]
}
},
methods: {
//
uploadFail(err){
console.log(err)
},
uploadSuccess(response){
console.log(response)
this.form.sponsorLogo = response.url
},
uploadSuccess1(response){
console.log(response)
this.form.activePlaybill = response.url
},
uploadBefore(file){
console.log(file)
if((file.size/1000) > 2024){
Message({
type:'warning',
message:'上传图片大小超过2M'
})
return false
}
},
async getShops(){
const res = await shopIndex({
page_size:10,
page:this.shopPageIndex
})
this.shops = res.data
this.shopTotal = res.total
},
shopSelect(e){
this.form.shopId = {value:e.id,label:e.name}
},
shopPageChange(e){
this.shopPageIndex = e
this.getShops()
},
async getDetail(){
const res = await show({id:this.id})
this.form = {
activeName:res.active_name,
shopId:{value:res.shop_id,label:res.shop.name},
sponsor:res.sponsor,
sponsorLogo:res.sponsor_logo,
sponsorAdvertise:res.sponsor_advertise,
recommend:res.recommend,
//slogan:res.slogan,
date:[`${res.start_date}/${res.start_time}`,`${res.end_date}/${res.end_time}`],
address:res.address,
relationName:res.relation_name,
phoneNumber:res.phone_number,
group:res.group,
startMemberSum:res.start_member_sum,
memberSum:res.member_sum,
greatServices:res.great_services,
applyDate:[res.apply_start,res.apply_end],
// money:Number(res.money),
activePlaybill:res.active_playbill,
sort:res.sort,
content:res.content,
}
},
compareDate(d1, d2) {
let reg = new RegExp('-', 'g')
return ((new Date(d1.replace(reg, '/'))) > (new Date(d2.replace(reg, '/'))))
},
submit(){
let start_date = this.form.date[0]
let apply_end = this.form.applyDate[1]
if(this.compareDate(apply_end,start_date)){
Message({
type:'warning',
message:'截止报名日期不能晚于活动开始日期'
})
return
}
if(this.type === 'add'){
store({
active_name:this.form.activeName,
shop_id:this.form.shopId.value,
sponsor:this.form.sponsor,
sponsor_logo:this.form.sponsorLogo,
sponsor_advertise:this.form.sponsorAdvertise,
recommend:this.form.recommend,
//slogan:this.form.slogan,
start_date:this.form.date[0]?.split('/')[0],
start_time:this.form.date[0]?.split('/')[1],
end_date:this.form.date[1]?.split('/')[0],
end_time:this.form.date[1]?.split('/')[1],
address:this.form.address,
relation_name:this.form.relationName,
phone_number:this.form.phoneNumber,
group:this.form.group,
start_member_sum:this.form.startMemberSum,
member_sum:this.form.member_sum,
content:this.form.content,
great_services:this.form.greatServices,
// money:this.form.money,
apply_start:this.form.applyDate[0],
apply_end:this.form.applyDate[1],
active_playbill:this.form.activePlaybill,
sort:this.form.sort
}).then(res => {
Message({
type:'success',
message:'新增活动成功'
})
this.isShow = false
this.$emit('refresh')
})
return
}
if(this.type === 'editor'){
save({
id:this.id,
active_name:this.form.activeName,
shop_id:this.form.shopId.value,
sponsor:this.form.sponsor,
sponsor_logo:this.form.sponsorLogo,
sponsor_advertise:this.form.sponsorAdvertise,
recommend:this.form.recommend,
//slogan:this.form.slogan,
start_date:this.form.date[0]?.split('/')[0],
start_time:this.form.date[0]?.split('/')[1],
end_date:this.form.date[1]?.split('/')[0],
end_time:this.form.date[1]?.split('/')[1],
address:this.form.address,
relation_name:this.form.relationName,
phone_number:this.form.phoneNumber,
group:this.form.group,
start_member_sum:this.form.startMemberSum,
member_sum:this.form.memberSum,
content:this.form.content,
great_services:this.form.greatServices,
// money:this.form.money,
apply_start:this.form.applyDate[0],
apply_end:this.form.applyDate[1],
active_playbill:this.form.activePlaybill,
sort:this.form.sort
}).then(res => {
Message({
type:'success',
message:'编辑活动成功'
})
this.isShow = false
this.$emit('refresh')
})
}
}
},
watch:{
isShow(newVal){
if(newVal){
if(this.type === 'editor'){
this.getDetail()
}
}else{
this.id = ''
this.type = ''
this.$refs['dialog'].reset()
}
}
}
}
</script>
<style scoped lang="scss">
.xy-table-item-label{
width: 160px;
}
.img__delete{
transform: scale(0.8,0.8);
position: absolute;
top: 4px;
right: 4px;
}
::v-deep .avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
::v-deep .avatar-uploader .el-upload:hover {
border-color: #409EFF;
}
::v-deep .el-upload--picture-card {
font-size: 28px;
color: #8c939d;
width: 80px !important;
height: 80px !important;
line-height: 80px !important;
text-align: center;
}
::v-deep .avatar-uploader-icon{
font-size: 28px;
color: #8c939d;
width: 80px !important;
height: 80px !important;
line-height: 80px !important;
text-align: center;
}
::v-deep .avatar {
width: 80px !important;
display: block;
border-radius: 6px;
}
::v-deep .xy-table-item-label{
width: 160px !important;
}
::v-deep .el-date-editor .el-range-separator{
width: auto !important;
}
::v-deep .el-input-number .el-input__inner{
text-align: left !important;
}
</style>

@ -559,7 +559,7 @@ companykeyword:"",
sort:res.sort,
content:res?.content,
}
},
compareDate(d1, d2) {
@ -646,8 +646,8 @@ companykeyword:"",
apply_end:this.form.applyDate[1],
active_playbill:this.form.activePlaybill,
sort:this.form.sort,
content: replaceAll(this.form.content,'../storage/files',`${process.env.VUE_APP_BASE_API}storage/files`)
content: replaceAll(this.form.content,'../storage/files',`${process.env.VUE_APP_BASE_API}storage/files`),
// audit_status:1
}).then(res => {
Message({
type:'success',

@ -0,0 +1,202 @@
<template>
<div>
<xy-dialog ref="dialog" :is-show.sync="isShow" type="form" :title="'审核'" :form="checkform" :rules="rules" @submit="submit">
<template v-slot:audit_status>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>状态
</div>
<div class="xy-table-item-content">
<el-select v-model="checkform.audit_status" placeholder="请选择">
<el-option
v-for="item in statusList"
:key="item.id"
:label="item.value"
:value="item.id">
</el-option>
</el-select>
</div>
</div>
</template>
</xy-dialog>
</div>
</template>
<script>
import {show,save} from "@/api/activity"
import { Message } from 'element-ui'
import {replaceAll} from "@/utils/index"
export default {
components:{
},
data() {
return {
isShow:false,
id:'',
checkform:{
audit_status:0,
},
rules:{
audit_status:[
{required:true,message:'请选择状态'}
]
},
statusList:[{
id:0,
value:'待审核'
},{
id:1,
value:'通过'
},{
id:2,
value:'不通过'
}]
}
},
created(){
},
methods: {
async getDetail(){
const res = await show({id:this.id})
this.form = {
activeName:res.active_name,
company_ids:res.company_ids?JSON.parse(res.company_ids):[],
sponsorLogo:res.sponsor_logo,
sponsorAdvertise:res.sponsor_advertise,
recommend:res.recommend,
//slogan:res.slogan,
date:[`${res.start_date}/${res.start_time}`,`${res.end_date}/${res.end_time}`],
address:res.address,
relationName:res.relation_name,
phoneNumber:res.phone_number,
group:res.group,
memberSum:res.member_sum,
startMemberSum:res.start_member_sum,
greatServices:res.great_services,
applyDate:[res.apply_start,res.apply_end],
// money:Number(res.money),
activePlaybill:res.active_playbill,
sort:res.sort,
content:res?.content,
}
},
submit(){
save({
id:this.id,
audit_status:this.checkform.audit_status,
active_name:this.form.activeName,
company_ids:this.form.company_ids,
shop_id:0,
sponsor:0,
sponsor_logo:this.form.sponsorLogo,
sponsor_advertise:this.form.sponsorAdvertise,
recommend:this.form.recommend,
//slogan:this.form.slogan,
start_date:this.form.date[0]?.split('/')[0],
start_time:this.form.date[0]?.split('/')[1],
end_date:this.form.date[1]?.split('/')[0],
end_time:this.form.date[1]?.split('/')[1],
address:this.form.address,
relation_name:this.form.relationName,
phone_number:this.form.phoneNumber,
group:this.form.group,
start_member_sum:this.form.startMemberSum,
member_sum:this.form.memberSum,
great_services:this.form.greatServices,
// money:this.form.money,
apply_start:this.form.applyDate[0],
apply_end:this.form.applyDate[1],
active_playbill:this.form.activePlaybill,
sort:this.form.sort,
content: replaceAll(this.form.content,'../storage/files',`${process.env.VUE_APP_BASE_API}storage/files`),
}).then(res => {
Message({
type:'success',
message:'审核成功'
})
this.isShow = false
this.$emit('refresh')
})
}
},
watch:{
isShow(newVal){
if(newVal){
this.getDetail()
}else{
this.id = ''
this.$refs['dialog'].reset()
}
}
}
}
</script>
<style scoped lang="scss">
.xy-table-item-label{
width: 160px;
}
.img__delete{
transform: scale(0.8,0.8);
position: absolute;
top: 4px;
right: 4px;
}
::v-deep .avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
::v-deep .avatar-uploader .el-upload:hover {
border-color: #409EFF;
}
::v-deep .el-upload--picture-card {
font-size: 28px;
color: #8c939d;
width: 80px !important;
height: 80px !important;
line-height: 80px !important;
text-align: center;
}
::v-deep .avatar-uploader-icon{
font-size: 28px;
color: #8c939d;
width: 80px !important;
height: 80px !important;
line-height: 80px !important;
text-align: center;
}
::v-deep .avatar {
width: 80px !important;
display: block;
border-radius: 6px;
}
::v-deep .xy-table-item-label{
width: 160px !important;
}
::v-deep .el-date-editor .el-range-separator{
width: auto !important;
}
::v-deep .el-input-number .el-input__inner{
text-align: left !important;
}
.searchCompanys{
display: flex;
justify-content: space-between;
margin-bottom:16px;
.el-input{
width:80%
}
}
</style>

@ -82,6 +82,22 @@ export default {
label: "建卡医院",
width: 120
},
{
prop: "spread_member_name",
label: "推广渠道",
width: 120
},
{
prop: "spread_member_phone",
label: "推广人号码",
width: 120
},
{
prop: "used_time_name",
label: "是否核销",
width: 120
},
],
}
},
@ -92,6 +108,9 @@ export default {
}).then(res=>{
for(var k of res.apply){
k.wechat_nickname = k.members?k.members.wechat_nickname:""
k.used_time_name = k.used_time ? '已核销':'待核销'
k.spread_member_name = k.spread_member?k.spread_member.name:''
k.spread_member_phone = k.spread_member?k.spread_member.phone:''
}
this.list = res.apply
})

Loading…
Cancel
Save