fix:约炮管理更新

This commit is contained in:
ouyangxiu
2025-06-14 11:37:09 +07:00
parent 3b51eabab0
commit 20329b478f
38 changed files with 1390 additions and 3582 deletions
+7 -7
View File
@@ -1,14 +1,14 @@
/* /*
* @Author: * @Author:
* @Mail: * @Mail:
* @Date: 2022-03-14 15:25:07 * @Date: 2022-01-21 16:55:02
* @LastEditTime: 2022-06-06 17:59:18 * @LastEditTime: 2022-06-10 19:19:29
* @LastEditors: * @LastEditors:
* @FilePath: /comics-admin/src/api/datingManagement/complaint.js * @FilePath: /web_admin/src/api/datingManagement/complaint.js
*/ */
import request from '@/utils/request' import request from '@/utils/request'
// 新增约炮举报 // 新增约炮举报
export function datingComplaintAdd (data) { export function datingComplaintAdd(data) {
return request({ return request({
url: '/api/web/dating/complaint/add', url: '/api/web/dating/complaint/add',
method: 'post', method: 'post',
@@ -16,7 +16,7 @@ export function datingComplaintAdd (data) {
}) })
} }
// 删除约炮举报 // 删除约炮举报
export function datingComplaintDel (data) { export function datingComplaintDel(data) {
return request({ return request({
url: '/api/web/dating/complaint/del', url: '/api/web/dating/complaint/del',
method: 'post', method: 'post',
@@ -25,7 +25,7 @@ export function datingComplaintDel (data) {
} }
// 请求约炮举报列表 // 请求约炮举报列表
export function datingComplaintList (data) { export function datingComplaintList(data) {
return request({ return request({
url: '/api/web/dating/complaint/list', url: '/api/web/dating/complaint/list',
method: 'post', method: 'post',
@@ -35,7 +35,7 @@ export function datingComplaintList (data) {
} }
// 修改约炮举报 // 修改约炮举报
export function datingComplaintUpdate (data) { export function datingComplaintUpdate(data) {
return request({ return request({
url: '/api/web/dating/complaint/update', url: '/api/web/dating/complaint/update',
method: 'post', method: 'post',
+17 -8
View File
@@ -1,14 +1,14 @@
/* /*
* @Author: * @Author:
* @Mail: * @Mail:
* @Date: 2022-03-14 15:25:07 * @Date: 2022-01-21 16:55:02
* @LastEditTime: 2022-06-06 17:59:23 * @LastEditTime: 2025-02-12 10:43:50
* @LastEditors: * @LastEditors: Administrator admin@example.com
* @FilePath: /comics-admin/src/api/datingManagement/datingBoss.js * @FilePath: /aiqi_admin/src/api/datingManagement/datingBoss.js
*/ */
import request from '@/utils/request' import request from '@/utils/request'
// 新增约炮经纪人 // 新增约炮经纪人
export function datingBossAdd (data) { export function datingBossAdd(data) {
return request({ return request({
url: '/api/web/dating/boss/add', url: '/api/web/dating/boss/add',
method: 'post', method: 'post',
@@ -16,7 +16,7 @@ export function datingBossAdd (data) {
}) })
} }
// 删除约炮经纪人 // 删除约炮经纪人
export function datingBossDel (data) { export function datingBossDel(data) {
return request({ return request({
url: '/api/web/dating/boss/del', url: '/api/web/dating/boss/del',
method: 'post', method: 'post',
@@ -25,7 +25,7 @@ export function datingBossDel (data) {
} }
// 请求约炮经纪人列表 // 请求约炮经纪人列表
export function datingBossList (data) { export function datingBossList(data) {
return request({ return request({
url: '/api/web/dating/boss/list', url: '/api/web/dating/boss/list',
method: 'post', method: 'post',
@@ -35,10 +35,19 @@ export function datingBossList (data) {
} }
// 修改约炮经纪人 // 修改约炮经纪人
export function datingBossUpdate (data) { export function datingBossUpdate(data) {
return request({ return request({
url: '/api/web/dating/boss/update', url: '/api/web/dating/boss/update',
method: 'post', method: 'post',
data data
}) })
} }
// 批量修改修改约炮联系方式
export function datingBossUpdateMany(data) {
return request({
url: '/api/web/dating/boss/updateMany',
method: 'post',
data
})
}
+8 -8
View File
@@ -1,14 +1,14 @@
/* /*
* @Author: * @Author:
* @Mail: * @Mail:
* @Date: 2022-03-14 15:25:07 * @Date: 2022-01-21 10:43:13
* @LastEditTime: 2022-06-06 17:59:27 * @LastEditTime: 2022-06-10 19:19:37
* @LastEditors: * @LastEditors: Please set LastEditors
* @FilePath: /comics-admin/src/api/datingManagement/datingCity.js * @FilePath: /web_admin/src/api/datingManagement/datingCity.js
*/ */
import request from '@/utils/request' import request from '@/utils/request'
// 新增约炮城市 // 新增约炮城市
export function datingCityAdd (data) { export function datingCityAdd(data) {
return request({ return request({
url: '/api/web/dating/city/add', url: '/api/web/dating/city/add',
method: 'post', method: 'post',
@@ -16,7 +16,7 @@ export function datingCityAdd (data) {
}) })
} }
// 删除约炮城市 // 删除约炮城市
export function datingCityDel (data) { export function datingCityDel(data) {
return request({ return request({
url: '/api/web/dating/city/del', url: '/api/web/dating/city/del',
method: 'post', method: 'post',
@@ -25,7 +25,7 @@ export function datingCityDel (data) {
} }
// 请求约炮城市列表 // 请求约炮城市列表
export function datingCityList (data) { export function datingCityList(data) {
return request({ return request({
url: '/api/web/dating/city/list', url: '/api/web/dating/city/list',
method: 'post', method: 'post',
@@ -35,7 +35,7 @@ export function datingCityList (data) {
} }
// 修改约炮城市 // 修改约炮城市
export function datingCityUpdate (data) { export function datingCityUpdate(data) {
return request({ return request({
url: '/api/web/dating/city/update', url: '/api/web/dating/city/update',
method: 'post', method: 'post',
-26
View File
@@ -1,26 +0,0 @@
/*
* @Author:
* @Mail:
* @Date: 2022-03-14 15:25:07
* @LastEditTime: 2022-06-06 17:59:32
* @LastEditors:
* @FilePath: /comics-admin/src/api/datingManagement/datingConfig.js
*/
import request from '@/utils/request'
export function getDatingConfig (data) {
return request({
url: '/api/web/dating/config/list',
method: 'post',
filterParam: true,
data
})
}
export function updateDatingConfig (data) {
return request({
url: '/api/web/dating/config/update',
method: 'post',
data
})
}
+22 -31
View File
@@ -1,35 +1,43 @@
/* /*
* @Author: * @Author:
* @Mail: * @Mail:
* @Date: 2022-03-14 15:25:07 * @Date: 2022-01-21 10:43:13
* @LastEditTime: 2022-06-06 17:59:37 * @LastEditTime: 2025-02-12 10:55:53
* @LastEditors: * @LastEditors: Administrator admin@example.com
* @FilePath: /comics-admin/src/api/datingManagement/datingModel.js * @FilePath: /aiqi_admin/src/api/datingManagement/datingModel.js
*/ */
import request from '@/utils/request' import request from '@/utils/request'
// 新增嫩模 // 新增嫩模
export function datingModelAdd (data) { export function datingGirlAdd(data) {
return request({ return request({
url: '/api/web/dating/model/add', url: '/api/web/dating/girl/add',
method: 'post', method: 'post',
data data
}) })
} }
// 删除嫩模 // 删除嫩模
export function datingModelDel (data) { export function datingGirlDel(data) {
return request({ return request({
url: '/api/web/dating/model/del', url: '/api/web/dating/girl/del',
method: 'post',
data
})
}
export function datingGirlDelmany(data) {
return request({
url: '/api/web/dating/girl/delmany',
method: 'post', method: 'post',
data data
}) })
} }
// 请求嫩模列表 // 请求嫩模列表
export function datingModelList (data) { export function datingGirlList(data) {
return request({ return request({
url: '/api/web/dating/model/list', url: '/api/web/dating/girl/list',
method: 'post', method: 'post',
filterParam: true, filterParam: true,
data data
@@ -37,37 +45,20 @@ export function datingModelList (data) {
} }
// 修改嫩模 // 修改嫩模
export function datingModelUpdate (data) { export function datingGirlUpdate(data) {
return request({ return request({
url: '/api/web/dating/model/update', url: '/api/web/dating/girl/update',
method: 'post', method: 'post',
data data
}) })
} }
// 批量修改嫩模 // 批量修改嫩模
export function datingModelUpdateMany (data) { export function datingGirlUpdatemany(data) {
return request({ return request({
url: '/api/web/dating/model/updatemany', url: '/api/web/dating/girl/updateMany',
method: 'post', method: 'post',
data data
}) })
} }
// 批量删除嫩模
export function datingModelDelMany (data) {
return request({
url: '/api/web/dating/model/delmany',
method: 'post',
data
})
}
// 审核嫩模
export function datingModeAudit (data) {
return request({
url: '/api/web/dating/model/verify',
method: 'post',
data
})
}
+7 -9
View File
@@ -1,14 +1,13 @@
/* /*
* @Author: * @Author:
* @Mail: * @Mail:
* @Date: 2022-03-14 15:25:07 * @Date: 2022-01-21 16:55:02
* @LastEditTime: 2022-06-06 17:59:50 * @LastEditTime: 2022-06-10 19:19:45
* @LastEditors: * @LastEditors: Please set LastEditors
* @FilePath: /comics-admin/src/api/datingManagement/datingOrder.js * @FilePath: /web_admin/src/api/datingManagement/datingOrder.js
*/ */
import request from '@/utils/request' import request from '@/utils/request'
// 删除约炮城市 export function datingOrderDel(data) {
export function datingOrderDel (data) {
return request({ return request({
url: '/api/web/dating/order/del', url: '/api/web/dating/order/del',
method: 'post', method: 'post',
@@ -16,8 +15,7 @@ export function datingOrderDel (data) {
}) })
} }
// 请求约炮城市列表 export function datingOrderList(data) {
export function datingOrderList (data) {
return request({ return request({
url: '/api/web/dating/order/list', url: '/api/web/dating/order/list',
method: 'post', method: 'post',
@@ -26,7 +24,7 @@ export function datingOrderList (data) {
}) })
} }
export function datingOrderAdd (data) { export function datingOrderAdd(data) {
return request({ return request({
url: '/api/web/dating/order/add', url: '/api/web/dating/order/add',
method: 'post', method: 'post',
+10 -10
View File
@@ -1,14 +1,14 @@
/* /*
* @Author: * @Author:
* @Mail: * @Mail:
* @Date: 2022-03-14 15:25:07 * @Date: 2022-01-21 16:55:02
* @LastEditTime: 2022-06-06 17:59:55 * @LastEditTime: 2022-06-10 19:19:49
* @LastEditors: * @LastEditors: Please set LastEditors
* @FilePath: /comics-admin/src/api/datingManagement/datingReport.js * @FilePath: /web_admin/src/api/datingManagement/datingReport.js
*/ */
import request from '@/utils/request' import request from '@/utils/request'
// 新增约炮体验报告 // 新增约炮体验报告
export function datingReportAdd (data) { export function datingReportAdd(data) {
return request({ return request({
url: '/api/web/dating/report/add', url: '/api/web/dating/report/add',
method: 'post', method: 'post',
@@ -16,7 +16,7 @@ export function datingReportAdd (data) {
}) })
} }
// 删除约炮体验报告 // 删除约炮体验报告
export function datingReportDel (data) { export function datingReportDel(data) {
return request({ return request({
url: '/api/web/dating/report/del', url: '/api/web/dating/report/del',
method: 'post', method: 'post',
@@ -25,7 +25,7 @@ export function datingReportDel (data) {
} }
// 请求约炮体验报告列表 // 请求约炮体验报告列表
export function datingReportList (data) { export function datingReportList(data) {
return request({ return request({
url: '/api/web/dating/report/list', url: '/api/web/dating/report/list',
method: 'post', method: 'post',
@@ -35,7 +35,7 @@ export function datingReportList (data) {
} }
// 修改约炮体验报告 // 修改约炮体验报告
export function datingReportUpdate (data) { export function datingReportUpdate(data) {
return request({ return request({
url: '/api/web/dating/report/update', url: '/api/web/dating/report/update',
method: 'post', method: 'post',
@@ -44,9 +44,9 @@ export function datingReportUpdate (data) {
} }
// 修改约炮体验报告 // 修改约炮体验报告
export function datingReportAudit (data) { export function datingReportAudit(data) {
return request({ return request({
url: '/api/web/dating/report/audit', url: '/api/web/dating/report/check',
method: 'post', method: 'post',
data data
}) })
-19
View File
@@ -1,19 +0,0 @@
/*
* @Author:
* @Mail:
* @Date: 2022-03-14 15:25:07
* @LastEditTime: 2022-06-06 17:59:55
* @LastEditors:
* @FilePath: /comics-admin/src/api/datingManagement/datingReport.js
*/
import request from '@/utils/request'
// 修改约炮体验报告
export function datingUrlList(data) {
return request({
url: '/api/web/dating/url/list',
method: 'post',
data
})
}
-62
View File
@@ -1,62 +0,0 @@
/*
* @Author:
* @Mail:
* @Date: 2022-03-14 15:25:07
* @LastEditTime: 2022-06-06 18:00:00
* @LastEditors:
* @FilePath: /comics-admin/src/api/datingManagement/loufeng.js
*/
import request from '@/utils/request'
// 新增楼风
export function loufengAdd (data) {
return request({
url: '/api/web/dating/loufeng/add',
method: 'post',
data
})
}
// 删除楼风
export function loufengDel (data) {
return request({
url: '/api/web/dating/loufeng/del',
method: 'post',
data
})
}
// 请求楼风列表
export function loufengList (data) {
return request({
url: '/api/web/dating/loufeng/list',
method: 'post',
filterParam: true,
data
})
}
// 修改楼风
export function loufengUpdate (data) {
return request({
url: '/api/web/dating/loufeng/update',
method: 'post',
data
})
}
// 批量修改楼风
export function loufengUpdateMany (data) {
return request({
url: '/api/web/dating/loufeng/updatemany',
method: 'post',
data
})
}
// 批量删除楼风
export function loufengDelMany (data) {
return request({
url: '/api/web/dating/loufeng/delmany',
method: 'post',
data
})
}
+13 -42
View File
@@ -551,6 +551,12 @@ export const serverRouter = [
icon: 'el-icon-thumb' icon: 'el-icon-thumb'
}, },
children: [ children: [
{
path: 'datingCity',
name: 'DatingCity',
api_url: [],
meta: { title: '楼凤城市', noCache: true, icon: 'el-icon-thumb' }
},
{ {
path: 'datingBoss', path: 'datingBoss',
name: 'DatingBoss', name: 'DatingBoss',
@@ -558,10 +564,10 @@ export const serverRouter = [
meta: { title: '经纪人列表', noCache: true, icon: 'el-icon-thumb' } meta: { title: '经纪人列表', noCache: true, icon: 'el-icon-thumb' }
}, },
{ {
path: 'datingCity', path: 'datingModel',
name: 'DatingCity', name: 'DatingModel',
api_url: [], api_url: [],
meta: { title: '城市列表', noCache: true, icon: 'el-icon-thumb' } meta: { title: '楼凤外围', noCache: true, icon: 'el-icon-thumb' }
}, },
{ {
path: 'complaint', path: 'complaint',
@@ -570,51 +576,16 @@ export const serverRouter = [
meta: { title: '举报列表', noCache: true, icon: 'el-icon-thumb' } meta: { title: '举报列表', noCache: true, icon: 'el-icon-thumb' }
}, },
{ {
path: 'adminLoufeng', path: 'datingOrder',
name: 'AdminLoufeng', name: 'DatingOrder',
api_url: [], api_url: [],
meta: { title: '管理员权限楼凤', noCache: true, icon: 'el-icon-thumb' } meta: { title: '约炮订单', noCache: true, icon: 'el-icon-thumb' }
},
{
path: 'adminModel',
name: 'AdminModel',
api_url: [],
meta: { title: '管理员权限嫩模', noCache: true, icon: 'el-icon-thumb' }
},
{
path: 'loufeng',
name: 'Loufeng',
api_url: [],
meta: { title: '楼风列表', noCache: true, icon: 'el-icon-thumb' }
},
{
path: 'datingModel',
name: 'DatingModel',
api_url: [],
meta: { title: '嫩模列表', noCache: true, icon: 'el-icon-thumb' }
}, },
{ {
path: 'datingReport', path: 'datingReport',
name: 'DatingReport', name: 'DatingReport',
api_url: [], api_url: [],
meta: { title: '体验报告列表', noCache: true, icon: 'el-icon-thumb' } meta: { title: '验证报告', noCache: true, icon: 'el-icon-thumb' }
},
{
path: 'datingOrder',
name: 'DatingOrder',
api_url: [],
meta: { title: '订单列表', noCache: true, icon: 'el-icon-thumb' }
},
{
path: 'datingConfig',
name: 'DatingConfig',
api_url: [],
meta: { title: '约炮配置', noCache: true, icon: 'el-icon-thumb' }
}, {
path: 'linkUrlList',
name: 'DinkUrlList',
api_url: [],
meta: { title: '跳转链接列表', noCache: true, icon: 'el-icon-thumb' }
} }
] ]
}, },
+4 -9
View File
@@ -91,17 +91,12 @@ const map = {
PostTag: () => import('@/views/postManagement/postTag/index.vue'), // 帖子标签 PostTag: () => import('@/views/postManagement/postTag/index.vue'), // 帖子标签
// 约炮管理 // 约炮管理
DatingManagement: Layout, DatingManagement: Layout,
DatingCity: () => import('@/views/datingManagement/datingCity/index.vue'), // 楼凤城市
DatingBoss: () => import('@/views/datingManagement/datingBoss/index.vue'), // 经纪人列表 DatingBoss: () => import('@/views/datingManagement/datingBoss/index.vue'), // 经纪人列表
DatingCity: () => import('@/views/datingManagement/datingCity/index.vue'), // 城市列表 DatingModel: () => import('@/views/datingManagement/datingModel/index.vue'), // 楼凤外围
Complaint: () => import('@/views/datingManagement/complaint/index.vue'), // 举报列表 Complaint: () => import('@/views/datingManagement/complaint/index.vue'), // 举报列表
AdminLoufeng: () => import('@/views/datingManagement/adminLoufeng/index.vue'), // 管理员权限楼风 DatingOrder: () => import('@/views/datingManagement/datingOrder/index.vue'), // 约炮订单
AdminModel: () => import('@/views/datingManagement/adminModel/index.vue'), // 管理员权限嫩模 DatingReport: () => import('@/views/datingManagement/datingReport/index.vue') // 验证报告列表
Loufeng: () => import('@/views/datingManagement/loufeng/index.vue'), // 楼风列表
DatingModel: () => import('@/views/datingManagement/datingModel/index.vue'), // 嫩模列表
DatingReport: () => import('@/views/datingManagement/datingReport/index.vue'), // 体验报告列表
DatingOrder: () => import('@/views/datingManagement/datingOrder/index.vue'), // 订单列表
DatingConfig: () => import('@/views/datingManagement/datingConfig/index.vue'), // 约炮配置
DinkUrlList: () => import('@/views/datingManagement/linkUrlList/index.vue'), // 经纪人链接
// 商品管理 // 商品管理
Commodity: Layout, Commodity: Layout,
@@ -1,275 +0,0 @@
<template>
<el-dialog :title="title" :visible.sync="Visible" width="900px" center class="ac-dialog" :close-on-click-modal="false" @close="close">
<el-form :rules="rules" :inline="true" :model="form" ref="ruleForm" class="demo-form-inline" label-width="120px" label-position="right">
<el-row :gutter="24">
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="12">
<el-form-item label="标题">
<el-input v-model="form.title" placeholder="请输入标题" />
</el-form-item>
</el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="年龄">
<el-input v-model="form.age" placeholder="请输入年龄" />
</el-form-item>
</el-col>
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="上/下架状态">
<el-select placeholder="请选择上/下架状态" clearable v-model="form.disable" style="width: 163px">
<el-option v-for="item in loufengStatusList" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="验证状态">
<el-select placeholder="请选择验证状态" clearable v-model="form.verified" style="width: 163px">
<el-option v-for="item in verifiedStatusList" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="省份">
<el-input v-model="form.province" placeholder="请输入省份" />
</el-form-item>
</el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="城市">
<el-select placeholder="请选择城市" v-model="form.city" style="width: 163px" clearable filterable allow-create default-first-option>
<el-option v-for="item in cityList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="联系方式">
<el-input v-model="form.contact" placeholder="请输入联系方式" />
</el-form-item>
</el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="经纪人">
<el-select placeholder="请选择经纪人" clearable v-model="form.bossId" style="width: 163px" filterable allow-create default-first-option>
<el-option v-for="item in bossList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<el-form-item label="地址">
<el-input v-model="form.address" placeholder="请输入地址" type="textarea" style="width: 500px" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :lg="24" :md="24" :sm="24" :xl="24" :xs="24">
<el-form-item label="服务项目">
<el-input v-model="form.serviceItem" placeholder="请输入服务项目" type="textarea" style="width: 500px" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<el-form-item label="简介">
<el-input v-model="form.introduction" placeholder="请输入简介" type="textarea" style="width: 500px" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :lg="24" :md="24" :sm="24" :xl="24" :xs="24">
<el-form-item label="妹子图片">
<UploadImgArr @changeImgUrl='changeImagesUrl' :img='form.images' style="width:500px"></UploadImgArr>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="楼凤信息价格" prop="infoPrice">
<el-input v-model.number="infoPrice" placeholder="请输入楼凤信息价格" />
</el-form-item>
</el-col>
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="楼凤价格">
<el-input v-model="form.price" placeholder="请输入楼凤价格" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="推荐值">
<el-input v-model.number="form.recommend" placeholder="请输入推荐值" />
</el-form-item>
</el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="妹子人数" prop="quantity">
<el-input v-model.number="form.quantity" placeholder="请输入妹子人数" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="颜值评分" prop="beautyScore">
<el-input v-model="form.beautyScore" placeholder="请输入颜值评分" />
</el-form-item>
</el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="环境评分" prop="environScore">
<el-input v-model.number="form.environScore" placeholder="请输入环境评分" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="服务评分" prop="serviceScore">
<el-input v-model.number="form.serviceScore" placeholder="请输入服务评分" />
</el-form-item>
</el-col>
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="营业时间">
<el-input v-model="form.businessTime" placeholder="请输入营业时间" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="收藏次数" prop="collects">
<el-input v-model.number="form.collects" placeholder="请输入收藏次数" />
</el-form-item>
</el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="验证报告次数" prop="reports">
<el-input v-model.number="form.reports" placeholder="请输入验证报告次数" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="出售次数" prop="sells">
<el-input v-model.number="form.sells" placeholder="请输入出售次数" />
</el-form-item>
</el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="观看次数" prop="watches">
<el-input v-model.number="form.watches" placeholder="请输入观看次数" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="Visible = false"> </el-button>
<el-button type="primary" @click="submit('ruleForm')"> </el-button>
</div>
</el-dialog>
</template>
<script>
import { loufengAdd, loufengUpdate } from '@/api/datingManagement/loufeng'
import UploadImgArr from '@/components/UploadImgArr/index'
import { changeMoneyYuan, changeMoneyFen } from '@/filters/index'
import {
loufengStatusList,
verifiedStatusList,
} from '@/filters/dating/datingManagement'
export default {
name: 'AddOrEdit',
props: ['data', 'bossList', 'cityList'],
components: {
UploadImgArr,
},
data() {
return {
Visible: true,
title: '',
loufengStatusList: loufengStatusList(),
verifiedStatusList: verifiedStatusList(),
infoPrice: undefined,
// 表单数据
form: {
address: undefined,
age: undefined,
beautyScore: '10',
businessTime: undefined,
city: undefined,
contact: undefined,
disable: undefined,
environScore: 10,
images: [],
infoPrice: undefined,
introduction: undefined,
price: undefined,
province: undefined,
quantity: 1,
serviceItem: undefined,
serviceScore: 10,
title: undefined,
verified: undefined,
collects: 0,
reports: 0,
sells: 0,
watches: 0,
},
rules: {},
}
},
mounted() {
this.title = this.data.title
if (this.title === '编辑') {
this.form = { ...this.data.data, ...{} }
this.infoPrice = changeMoneyYuan(this.form.infoPrice)
}
},
methods: {
//TODO:新增权限楼凤数据
add(data) {
loufengAdd(data).then((res) => {
if (res.code === 200) {
this.$message.success('新增成功')
this.Visible = false
} else {
this.$message.error('新增失败')
}
})
},
//TODO:编辑权限楼凤数据
update(data) {
loufengUpdate(data).then((res) => {
if (res.code === 200) {
this.$message.success('更新成功')
this.Visible = false
} else {
this.$message.error('更新失败')
}
})
},
// 提交按钮
submit(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
this.form.infoPrice = this.infoPrice
? changeMoneyFen(this.infoPrice)
: 0
if (this.title === '新增') {
this.add(this.form)
} else if (this.title === '编辑') {
const data = {
id: this.data.data.id,
param: this.form,
}
this.update(data)
}
} else {
return false
}
})
},
changeImagesUrl(data) {
this.form.images = data
},
// 关闭编辑
close() {
this.$emit('close')
},
},
}
</script>
@@ -1,98 +0,0 @@
<!--
* @Author:
* @Mail:
* @Date: 2022-03-14 15:21:40
* @LastEditTime: 2022-06-07 22:43:13
* @LastEditors:
* @FilePath: /comics-admin/src/views/datingManagement/adminLoufeng/components/batch.vue
-->
<template>
<el-dialog :title="title" :visible.sync="Visible" width="500px" center class="ac-dialog" :close-on-click-modal="false" @close="close">
<el-form :inline="true" :model="form" ref="ruleForm" class="demo-form-inline" label-width="120px" label-position="right">
<el-row :gutter="24">
<el-col :lg="24" :md="24" :sm="24" :xl="24" :xs="24">
<el-form-item label="上/下架状态">
<el-select placeholder="请选择上/下架状态" clearable v-model="form.disable" style="width: 180px">
<el-option v-for="item in loufengStatusList" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :lg="24" :md="24" :sm="24" :xl="24" :xs="24">
<el-form-item label="验证状态">
<el-select placeholder="请选择验证状态" clearable v-model="form.verified" style="width: 180px">
<el-option v-for="item in verifiedStatusList" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="Visible = false"> </el-button>
<el-button type="primary" @click="submit"> </el-button>
</div>
</el-dialog>
</template>
<script>
import { loufengUpdateMany } from '@/api/datingManagement/loufeng'
import {
loufengStatusList,
verifiedStatusList,
} from '@/filters/dating/datingManagement'
export default {
name: 'AvList',
props: ['data'],
data() {
return {
loufengStatusList: loufengStatusList(),
verifiedStatusList: verifiedStatusList(),
Visible: true,
title: '',
// 表单数据
form: {
disable: undefined,
verified: undefined,
},
}
},
methods: {
//TODO:批量修改楼凤数据
loufengUpdateManyFun(data) {
loufengUpdateMany(data).then((res) => {
if (res.code === 200) {
this.$message.success('修改成功')
} else {
this.$message.error('修改失败')
}
})
},
// 提交按钮
submit() {
if (this.data.length) {
const Ids = []
this.data.forEach((item) => {
Ids.push(item.id)
})
const data = {
ids: Ids,
param: {
disable: this.form.disable,
verified: this.form.verified,
},
}
this.loufengUpdateManyFun(data)
} else {
this.$message.error('未选择')
}
this.Visible = false
},
// 关闭编辑
close() {
this.$emit('close')
},
},
}
</script>
@@ -1,378 +0,0 @@
<template>
<div class="pf-warpper avlist">
<el-row class="table-form">
<el-form :inline="true" :model="searchData" class="form-inline" size="mini">
<el-form-item>
<el-input placeholder="请输入楼风Id" clearable v-model.number="searchData.id" @clear="onClear('id')" />
</el-form-item>
<el-form-item>
<el-input placeholder="请输入标题" clearable v-model.number="searchData.title" @clear="onClear('title')" />
</el-form-item>
<el-form-item>
<el-select placeholder="请选择城市" clearable v-model="searchData.city" @clear="onClear('city')" filterable allow-create default-first-option>
<el-option v-for="item in cityList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item>
<el-select placeholder="请选择上/下架状态" clearable v-model="searchData.disable" @clear="onClear('disable')">
<el-option v-for="item in loufengStatusList" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item>
<el-select placeholder="请选择验证状态" clearable v-model="searchData.verified" @clear="onClear('verified')">
<el-option v-for="item in verifiedStatusList" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item>
<el-select placeholder="请选择排序方式" clearable v-model="searchData.sortType" @clear="onClear('sortType')">
<el-option v-for="item in loufengSortTypeList" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item>
<el-button @click="onSearch" icon="el-icon-search" plain type="primary">搜索</el-button>
<el-button @click="add" icon="el-icon-circle-plus-outline" plain type="success">新增</el-button>
<el-button @click="batch" icon="el-icon-edit-outline" plain type="warning">批量设置</el-button>
<el-button @click="deletMany" icon="el-icon-edit-outline" plain type="warning">批量删除</el-button>
</el-form-item>
</el-form>
</el-row>
<el-row>
<el-col>
<el-table :data="resData" element-loading-text="拼命加载中" border height="750" highlight-current-row style="width: 100%" v-loading="loading" :row-style="{ height: '70px' }" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="50"> </el-table-column>
<el-table-column align="center" label="楼风ID" width="100">
<template slot-scope="scope">{{ scope.row.id }}</template>
</el-table-column>
<el-table-column align="center" label="标题" width="120">
<template slot-scope="scope">{{ scope.row.title }}</template>
</el-table-column>
<el-table-column align="center" label="上/下架">
<template slot-scope="scope">{{ scope.row.disable | changeLoufengStatus }}</template>
</el-table-column>
<el-table-column align="center" label="是否验证">
<template slot-scope="scope">{{ scope.row.verified | changeVerifiedStatus }}</template>
</el-table-column>
<el-table-column align="center" label="推荐值">
<template slot-scope="scope">{{ scope.row.recommend }}</template>
</el-table-column>
<el-table-column align="center" label="年龄">
<template slot-scope="scope">{{ scope.row.age }}</template>
</el-table-column>
<el-table-column align="center" label="妹子图片" width="120">
<template slot-scope="scope">
<ShowImg v-if="scope.row.images.length > 1" style="width: 65px; height: 40px; margin: 0 auto;line-height: 40px" :urls="scope.row.images"></ShowImg>
<ShowImg v-else style="width: 40px; height: 40px; margin: 0 auto;line-height: 40px" :urls="scope.row.images"></ShowImg>
</template>
</el-table-column>
<el-table-column align="center" label="省份">
<template slot-scope="scope">{{ scope.row.province }}</template>
</el-table-column>
<el-table-column align="center" label="城市">
<template slot-scope="scope">
{{scope.row.city|changeName(cityList,'id','name') }}
</template>
</el-table-column>
<el-table-column align="center" label="地址" width="120">
<template slot-scope="scope">{{ scope.row.address }}</template>
</el-table-column>
<el-table-column align="center" label="联系方式" width="150">
<template slot-scope="scope">{{ scope.row.contact }}</template>
</el-table-column>
<el-table-column align="center" label="服务项目" width="200">
<template slot-scope="scope">{{ scope.row.serviceItem }}</template>
</el-table-column>
<el-table-column align="center" label="楼凤价格" width="150">
<template slot-scope="scope">{{ scope.row.price }}</template>
</el-table-column>
<el-table-column align="center" label="简介" width="250" show-overflow-tooltip>
<template slot-scope="scope">{{ scope.row.introduction }}</template>
</el-table-column>
<el-table-column align="center" label="楼凤信息价格" width="120">
<template slot-scope="scope">{{ scope.row.infoPrice | changeMoneyYuan }}</template>
</el-table-column>
<el-table-column align="center" label="颜值评分">
<template slot-scope="scope">{{ scope.row.beautyScore }}</template>
</el-table-column>
<el-table-column align="center" label="环境评分">
<template slot-scope="scope">{{ scope.row.environScore }}</template>
</el-table-column>
<el-table-column align="center" label="服务评分">
<template slot-scope="scope">{{ scope.row.serviceScore }}</template>
</el-table-column>
<el-table-column align="center" label="妹子人数">
<template slot-scope="scope">{{ scope.row.quantity }}</template>
</el-table-column>
<el-table-column align="center" label="营业时间" width="180">
<template slot-scope="scope">{{ scope.row.businessTime }}</template>
</el-table-column>
<el-table-column align="center" label="收藏次数">
<template slot-scope="scope">{{ scope.row.collects }}</template>
</el-table-column>
<el-table-column align="center" label="验证报告次数">
<template slot-scope="scope">{{ scope.row.reports }}</template>
</el-table-column>
<el-table-column align="center" label="观看次数">
<template slot-scope="scope">{{ scope.row.watches }}</template>
</el-table-column>
<el-table-column align="center" label="出售次数">
<template slot-scope="scope">{{ scope.row.sells }}</template>
</el-table-column>
<el-table-column align="center" label="假数据">
<el-table-column align="center" label="购买次数">
<template slot-scope="scope">{{
scope.row.fake.buys
}}</template>
</el-table-column>
<el-table-column align="center" label="收藏次数">
<template slot-scope="scope">{{
scope.row.fake.likes
}}</template>
</el-table-column>
<el-table-column align="center" label="搜索次数">
<template slot-scope="scope">{{
scope.row.fake.looks
}}</template>
</el-table-column>
</el-table-column>
<el-table-column align="center" label="真数据">
<el-table-column align="center" label="购买次数">
<template slot-scope="scope">{{
scope.row.real.buys
}}</template>
</el-table-column>
<el-table-column align="center" label="收藏次数">
<template slot-scope="scope">{{
scope.row.real.likes
}}</template>
</el-table-column>
<el-table-column align="center" label="搜索次数">
<template slot-scope="scope">{{
scope.row.real.looks
}}</template>
</el-table-column>
</el-table-column>
<el-table-column align="center" label="创建时间" width="180">
<template slot-scope="scope">{{
scope.row.createdAt | BeiJingTime
}}</template>
</el-table-column>
<el-table-column align="center" label="更新时间" width="180">
<template slot-scope="scope">{{
scope.row.updatedAt | BeiJingTime
}}</template>
</el-table-column>
<el-table-column align="center" fixed="right" label="操作" width="200">
<template slot-scope="scope">
<el-button @click="handleEdit(scope.$index, scope.row)" size="mini" type="primary">编辑</el-button>
<el-button @click="handleDelete(scope.$index, scope.row)" size="mini" type="danger">删除</el-button>
</template>
</el-table-column>
</el-table>
</el-col>
</el-row>
<div class="table-pagination">
<el-pagination :current-page="searchData.pageNum" :page-size="searchData.pageSize" :page-sizes="[10, 20, 30, 50, 100]" :total="total" @current-change="handleCurrentChange" @size-change="handleSizeChange" layout="total, sizes, prev, pager, next, jumper" />
</div>
<!-- 新增及编辑 -->
<Edit :data="editData" :bossList="bossList" :cityList="cityList" v-if="editVisible" @close="closeEdit" />
<Batch :data="selectBatch" v-if="batchVisible" @close="closeEdit"></Batch>
</div>
</template>
<script>
// 引入模块
import {
loufengStatusList,
verifiedStatusList,
loufengSortTypeList,
} from '@/filters/dating/datingManagement'
import {
loufengList,
loufengDel,
loufengDelMany,
} from '@/api/datingManagement/loufeng'
import { datingBossList } from '@/api/datingManagement/datingBoss'
import { datingCityList } from '@/api/datingManagement/datingCity'
import ShowImg from '@/components/ShowImg/index.vue'
import Edit from './components/AddOrEdit'
import Batch from './components/batch'
export default {
name: 'AdminLoufeng',
components: {
Edit,
ShowImg,
Batch,
},
data() {
return {
loufengStatusList: loufengStatusList(),
verifiedStatusList: verifiedStatusList(),
loufengSortTypeList: loufengSortTypeList(),
// 请求列表参数
searchData: {
pageNum: 1,
pageSize: 10,
id: undefined,
city: undefined,
disable: undefined,
title: undefined,
verified: undefined,
sortType: undefined,
},
resData: [], // el-table表格数据
editVisible: false, // 新增或编辑弹出框
batchVisible: false,
total: 0, // 数据总条数
loading: true, // 列表加载状态
bossList: [], // 经纪人列表
cityList: [], // 城市列表
selectBatch: [],
// 编辑数据
editData: {
title: '新增',
data: {},
},
}
},
mounted() {
this.onSearchBossList()
this.onSearchCityList()
this.onSearch()
},
methods: {
//TODO:获取经纪人列表数据
onSearchBossList() {
datingBossList({ pageNum: 1, pageSize: 500, param: {} }).then((res) => {
if (res.code === 200) {
this.bossList = res.data.list
} else {
this.bossList = []
this.$message.error('请求列表失败!')
}
})
},
//TODO:获取城市列表数据
onSearchCityList() {
datingCityList({ pageNum: 1, pageSize: 500, param: {} }).then((res) => {
if (res.code === 200) {
this.cityList = res.data.list
} else {
this.cityList = []
this.$message.error('请求列表失败!')
}
})
},
//TODO:请求权限楼凤列表
getLoufengList() {
this.loading = true
loufengList(this.searchData).then((res) => {
if (res.code === 200) {
this.resData = res.data.list
this.total = res.data.total
} else {
this.$message.error('请求列表失败!')
this.resData = []
this.total = 0
}
this.loading = false
})
},
//TODO:删除权限楼凤列表
handleDelete(index, row) {
this.$confirm('确定删除?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
loufengDel({ id: row.id }).then((res) => {
if (res.code === 200) {
this.getLoufengList()
this.$message.success('成功删除!')
} else {
this.$message.error(res.tip)
}
})
})
},
//TODO:批量删除权限楼凤列表
deletMany() {
const Ids = []
this.selectBatch.forEach((item) => {
Ids.push(item.id)
})
loufengDelMany({ ids: Ids }).then((res) => {
if (res.code === 200) {
this.getLoufengList()
this.$message.success('成功删除!')
} else {
this.$message.error(res.tip)
}
})
},
onSearch() {
this.searchData.pageNum = 1
this.searchData.pageSize = 10
this.getLoufengList()
},
// 切换每页数据量
handleSizeChange(val) {
this.searchData.pageSize = val
this.getLoufengList()
},
// 切换页数
handleCurrentChange(val) {
this.searchData.pageNum = val
this.getLoufengList()
},
// 新增按钮
add() {
this.editVisible = true
this.editData = {
title: '新增',
data: {},
}
},
// 编辑按钮
handleEdit(index, row) {
this.editVisible = true
this.editData = {
title: '编辑',
data: row,
}
},
// 批量选择
handleSelectionChange(val) {
this.selectBatch = val
},
// 批量设置
batch() {
this.batchVisible = true
},
// 关闭编辑弹窗
closeEdit() {
this.editData = {
title: '新增',
data: {},
}
this.editVisible = false
this.batchVisible = false
this.getLoufengList()
},
// 清空某一项筛选列表
onClear(key) {
this.searchData[key] = undefined
this.getLoufengList()
},
},
}
</script>
@@ -1,257 +0,0 @@
<template>
<el-dialog :title="title" :visible.sync="Visible" width="900px" center class="ac-dialog" :close-on-click-modal="false" @close="close">
<el-form :rules="rules" :inline="true" :model="form" ref="ruleForm" class="demo-form-inline" label-width="120px" label-position="right">
<el-row :gutter="24">
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="12">
<el-form-item label="名称">
<el-input v-model="form.title" placeholder="请输入名称" />
</el-form-item>
</el-col>
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="年龄">
<el-input v-model.number="form.girlAge" placeholder="请输入年龄" />
</el-form-item>
</el-col>
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="上/下架状态">
<el-select placeholder="请选择上/下架状态" clearable v-model="form.status" style="width: 163px">
<el-option v-for="item in loufengStatusList" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="胸围">
<el-select placeholder="请选择胸围" clearable v-model="form.bustSize" style="width: 163px" filterable allow-create default-first-option>
<el-option v-for="item in bustSizeList" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<el-form-item label="妹纸类型">
<el-input v-model="form.girlType" placeholder="请输入妹纸类型" type="textarea" style="width: 500px" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :lg="24" :md="24" :sm="24" :xl="24" :xs="24">
<el-form-item label="标题">
<el-input v-model="form.title" placeholder="请输入标题" style="width: 500px" />
</el-form-item>
</el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="城市">
<el-select placeholder="请选择城市" v-model="form.city" style="width: 163px" clearable filterable allow-create default-first-option>
<el-option v-for="item in cityList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
</el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="联系方式">
<el-input v-model="form.contactInfo" placeholder="请输入联系方式" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :lg="24" :md="24" :sm="24" :xl="24" :xs="24">
<el-form-item label="妹子图片">
<UploadImgArr @changeImgUrl='changeImagesUrl' :img='form.images' style="width:500px"></UploadImgArr>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="价格">
<el-input v-model.number="form.price" placeholder="请输入价格" />
</el-form-item>
</el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="预约价格">
<el-input v-model.number="reservationPrice" placeholder="请输入预约价格" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="服务种类" prop="serviceItems">
<el-select placeholder="请服务服务种类" v-model="form.serviceItems" style="width: 163px" multiple filterable allow-create default-first-option>
<el-option v-for="(item,index) in datingConfig.serviceItems" :key="index" :label="item" :value="item" />
</el-select>
</el-form-item>
</el-col>
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="12">
<el-form-item label="服务方式">
<el-select placeholder="请服务方式" multiple filterable v-model="form.serviceType" style="width: 163px" allow-create default-first-option>
<el-option v-for="(item,index) in datingConfig.serviceType" :key="index" :label="item" :value="item" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="推荐值">
<el-input v-model.number="form.recommend" placeholder="请输入推荐值" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="颜值评分" prop="beautyScore">
<el-input v-model="form.beautyScore" placeholder="请输入颜值评分" />
</el-form-item>
</el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="服务评分" prop="serviceScore">
<el-input v-model.number="form.serviceScore" placeholder="请输入服务评分" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="区域">
<el-input v-model="form.region" placeholder="请输入区域" />
</el-form-item>
</el-col>
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="收藏次数" prop="collects">
<el-input v-model.number="form.collects" placeholder="请输入收藏次数" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="验证报告次数" prop="reports">
<el-input v-model.number="form.reports" placeholder="请输入验证报告次数" />
</el-form-item>
</el-col>
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="出售次数" prop="sells">
<el-input v-model.number="form.sells" placeholder="请输入出售次数" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="Visible = false"> </el-button>
<el-button type="primary" @click="submit('ruleForm')"> </el-button>
</div>
</el-dialog>
</template>
<script>
import {
datingModelAdd,
datingModelUpdate,
} from '@/api/datingManagement/datingModel'
import UploadImgArr from '@/components/UploadImgArr/index'
import { changeMoneyYuan, changeMoneyFen } from '@/filters/index'
import { bustSizeList } from '@/filters/dating/datingManagement'
import { getMediaStatusList } from '@/filters/dating/datingModel'
export default {
name: 'AddOrEdit',
props: ['data', 'datingConfig', 'cityList'],
components: {
UploadImgArr,
},
data() {
return {
Visible: true,
title: '',
loufengStatusList: getMediaStatusList(),
bustSizeList: bustSizeList(),
reservationPrice: undefined,
// 表单数据
form: {
girlAge: undefined,
bossId: undefined,
bustSize: undefined,
disable: undefined,
images: [],
girlType: undefined,
price: undefined,
region: undefined,
reservationPrice: undefined,
serviceItems: undefined,
serviceMethod: undefined,
title: undefined,
verified: undefined,
videos: undefined,
contactInfo: undefined,
beautyScore: '10',
serviceScore: 10,
collects: 0,
reports: 0,
sells: 0,
status: undefined,
serviceType: undefined,
},
rules: {
},
}
},
mounted() {
this.title = this.data.title
if (this.title === '编辑') {
this.form = { ...this.data.data, ...{} }
this.reservationPrice = changeMoneyYuan(this.form.reservationPrice)
}
},
methods: {
//TODO:新增嫩模权限管理
add(data) {
datingModelAdd(data).then((res) => {
if (res.code === 200) {
this.$message.success('新增成功')
this.Visible = false
} else {
this.$message.error('新增失败')
}
})
},
//TODO:编辑嫩模权限管理
update(data) {
datingModelUpdate(data).then((res) => {
if (res.code === 200) {
this.$message.success('更新成功')
this.Visible = false
} else {
this.$message.error('更新失败')
}
})
},
// 提交按钮
submit(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
this.form.reservationPrice = this.reservationPrice
? changeMoneyFen(this.reservationPrice)
: 0
if (this.title === '新增') {
this.add(this.form)
} else if (this.title === '编辑') {
const data = {
id: this.data.data.id,
param: this.form,
}
this.update(data)
}
} else {
return false
}
})
},
changeImagesUrl(data) {
this.form.images = data
},
// 关闭编辑
close() {
this.$emit('close')
},
},
}
</script>
@@ -1,85 +0,0 @@
<!--
* @Author:
* @Mail:
* @Date: 2022-03-14 15:21:40
* @LastEditTime: 2022-06-08 14:20:36
* @LastEditors:
* @FilePath: /comics-admin/src/views/datingManagement/adminModel/components/batch.vue
-->
<template>
<el-dialog :title="title" :visible.sync="Visible" width="500px" center class="ac-dialog" :close-on-click-modal="false" @close="close">
<el-form :inline="true" :model="form" ref="ruleForm" class="demo-form-inline" label-width="120px" label-position="right">
<el-row :gutter="24">
<el-col :lg="24" :md="24" :sm="24" :xl="24" :xs="24">
<el-form-item label="上/下架状态">
<el-select placeholder="请选择上/下架状态" clearable v-model="form.status" style="width: 180px">
<el-option v-for="item in getMediaStatusList" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="Visible = false"> </el-button>
<el-button type="primary" @click="submit"> </el-button>
</div>
</el-dialog>
</template>
<script>
import { datingModelUpdateMany } from '@/api/datingManagement/datingModel'
import { getMediaStatusList } from '@/filters/dating/datingModel'
export default {
name: 'AvList',
props: ['data'],
data() {
return {
getMediaStatusList: getMediaStatusList(),
Visible: true,
title: '',
// 表单数据
form: {
status: undefined,
},
}
},
methods: {
//TODO:批量设置嫩模权限列表
datingModelUpdateManyFun(data) {
datingModelUpdateMany(data).then((res) => {
if (res.code === 200) {
this.$message.success('修改成功')
} else {
this.$message.error('修改失败')
}
})
},
// 提交按钮
submit() {
if (this.data.length) {
const Ids = []
this.data.forEach((item) => {
Ids.push(item.id)
})
const data = {
ids: Ids,
param: {
status: this.form.status,
},
}
this.datingModelUpdateManyFun(data)
} else {
this.$message.error('未选择')
}
this.Visible = false
},
// 关闭编辑
close() {
this.$emit('close')
},
},
}
</script>
@@ -1,374 +0,0 @@
<template>
<div class="pf-warpper avlist">
<el-row class="table-form">
<el-form :inline="true" :model="searchData" class="form-inline" size="mini">
<el-form-item>
<el-input placeholder="请输入嫩模ID" clearable v-model.number="searchData.id" @clear="onClear('id')" />
</el-form-item>
<el-form-item>
<el-input placeholder="请输入商家Id" clearable v-model.number="searchData.bossId" @clear="onClear('bossId')" />
</el-form-item>
<el-form-item>
<el-input placeholder="请输入标题" clearable v-model.number="searchData.title" @clear="onClear('title')" />
</el-form-item>
<el-form-item>
<el-select placeholder="请选择城市" clearable v-model="searchData.city" @clear="onClear('city')" filterable allow-create default-first-option>
<el-option v-for="item in cityList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item>
<el-select placeholder="请选择媒体上架状态" clearable v-model="searchData.status" @clear="onClear('status')">
<el-option v-for="(item,index) in getMediaStatusList" :key="index" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item>
<el-select placeholder="请选择排序方式" clearable v-model="searchData.sortType" @clear="onClear('sortType')">
<el-option v-for="item in loufengSortTypeList" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item>
<el-button @click="onSearch" icon="el-icon-search" plain type="primary">搜索</el-button>
<el-button @click="add" icon="el-icon-circle-plus-outline" plain type="success">新增</el-button>
<el-button @click="batch" icon="el-icon-edit-outline" plain type="warning">批量设置</el-button>
<el-button @click="deletMany" icon="el-icon-edit-outline" plain type="warning">批量删除</el-button>
</el-form-item>
</el-form>
</el-row>
<el-row>
<el-col>
<el-table :data="resData" element-loading-text="拼命加载中" border height="750" highlight-current-row style="width: 100%" v-loading="loading" :row-style="{ height: '70px' }" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="50"> </el-table-column>
<el-table-column align="center" label="嫩模ID">
<template slot-scope="scope">{{ scope.row.id }}</template>
</el-table-column>
<el-table-column align="center" label="商家ID" width="120">
<template slot-scope="scope">{{ scope.row.bossId }}</template>
</el-table-column>
<el-table-column align="center" label="商家名称" width="120">
<template slot-scope="scope">{{ scope.row.bossId|changeName(bossList,'id','name') }}</template>
</el-table-column>
<el-table-column align="center" label="名称" width="150">
<template slot-scope="scope">{{ scope.row.title }}</template>
</el-table-column>
<el-table-column align="center" label="媒体上架状态" width="150">
<template slot-scope="scope">{{ scope.row.status | changeMediaStatusType}}</template>
</el-table-column>
<el-table-column align="center" label="推荐值">
<template slot-scope="scope">{{ scope.row.recommend }}</template>
</el-table-column>
<el-table-column align="center" label="年龄">
<template slot-scope="scope">{{ scope.row.girlAge }}</template>
</el-table-column>
<el-table-column align="center" label="妹子图片" width="120">
<template slot-scope="scope">
<ShowImg v-if="scope.row.images && scope.row.images.length > 1" style="width: 65px; height: 40px; margin: 0 auto;line-height: 40px" :urls="scope.row.images"></ShowImg>
<ShowImg v-else style="width: 40px; height: 40px; margin: 0 auto;line-height: 40px" :urls="scope.row.images"></ShowImg>
</template>
</el-table-column>
<el-table-column align="center" label="胸围">
<template slot-scope="scope">{{ scope.row.bustSize }}</template>
</el-table-column>
<el-table-column align="center" label="妹纸类型" width="250">
<template slot-scope="scope">{{ scope.row.girlType }}</template>
</el-table-column>
<el-table-column align="center" label="联系方式" width="120">
<template slot-scope="scope">{{ scope.row.contactInfo }}</template>
</el-table-column>
<el-table-column align="center" label="价格" width="150">
<template slot-scope="scope">{{ scope.row.price | changeMoneyYuan}}</template>
</el-table-column>
<el-table-column align="center" label="预约价格">
<template slot-scope="scope">{{ scope.row.reservationPrice | changeMoneyYuan }}</template>
</el-table-column>
<el-table-column align="center" label="服务种类" width="200">
<template slot-scope="scope">{{ scope.row.serviceItems }}</template>
</el-table-column>
<el-table-column align="center" label="服务方式" width="150">
<template slot-scope="scope">{{ scope.row.serviceMethod }}</template>
</el-table-column>
<el-table-column align="center" label="颜值评分">
<template slot-scope="scope">{{ scope.row.beautyScore }}</template>
</el-table-column>
<el-table-column align="center" label="服务评分">
<template slot-scope="scope">{{ scope.row.serviceScore }}</template>
</el-table-column>
<el-table-column align="center" label="区域" width="150">
<template slot-scope="scope">{{ scope.row.region }}</template>
</el-table-column>
<el-table-column align="center" label="收藏次数">
<template slot-scope="scope">{{ scope.row.collects }}</template>
</el-table-column>
<el-table-column align="center" label="验证报告次数">
<template slot-scope="scope">{{ scope.row.reports }}</template>
</el-table-column>
<el-table-column align="center" label="出售次数">
<template slot-scope="scope">{{ scope.row.sells }}</template>
</el-table-column>
<el-table-column align="center" label="观看次数">
<template slot-scope="scope">{{ scope.row.watches }}</template>
</el-table-column>
<el-table-column align="center" label="假数据">
<el-table-column align="center" label="购买次数">
<template slot-scope="scope">{{
scope.row.fake.buys
}}</template>
</el-table-column>
<el-table-column align="center" label="收藏次数">
<template slot-scope="scope">{{
scope.row.fake.likes
}}</template>
</el-table-column>
<el-table-column align="center" label="搜索次数">
<template slot-scope="scope">{{
scope.row.fake.looks
}}</template>
</el-table-column>
</el-table-column>
<el-table-column align="center" label="真数据">
<el-table-column align="center" label="购买次数">
<template slot-scope="scope">{{
scope.row.real.buys
}}</template>
</el-table-column>
<el-table-column align="center" label="收藏次数">
<template slot-scope="scope">{{
scope.row.real.likes
}}</template>
</el-table-column>
<el-table-column align="center" label="搜索次数">
<template slot-scope="scope">{{
scope.row.real.looks
}}</template>
</el-table-column>
</el-table-column>
<el-table-column align="center" label="创建时间" width="180">
<template slot-scope="scope">{{
scope.row.createdAt | BeiJingTime
}}</template>
</el-table-column>
<el-table-column align="center" label="更新时间" width="180">
<template slot-scope="scope">{{
scope.row.updatedAt | BeiJingTime
}}</template>
</el-table-column>
<el-table-column align="center" fixed="right" label="操作" width="200">
<template slot-scope="scope">
<el-button @click="handleEdit(scope.$index, scope.row)" size="mini" type="primary">编辑</el-button>
<el-button @click="handleDelete(scope.$index, scope.row)" size="mini" type="danger">删除</el-button>
</template>
</el-table-column>
</el-table>
</el-col>
</el-row>
<div class="table-pagination">
<el-pagination :current-page="searchData.pageNum" :page-size="searchData.pageSize" :page-sizes="[10, 20, 30, 50, 100]" :total="total" @current-change="handleCurrentChange" @size-change="handleSizeChange" layout="total, sizes, prev, pager, next, jumper" />
</div>
<!-- 新增及编辑 -->
<Edit :datingConfig="datingConfig" :data="editData" :bossList="bossList" :cityList="cityList" v-if="editVisible" @close="closeEdit" />
<Batch :data="selectBatch" v-if="batchVisible" @close="closeEdit"></Batch>
</div>
</template>
<script>
// 引入模块
import Edit from './components/AddOrEdit'
import { loufengSortTypeList } from '@/filters/dating/datingManagement'
import {
datingModelList,
datingModelDel,
datingModelDelMany,
} from '@/api/datingManagement/datingModel'
import { datingBossList } from '@/api/datingManagement/datingBoss'
import { datingCityList } from '@/api/datingManagement/datingCity'
import { getMediaStatusList } from '@/filters/dating/datingModel'
import { getDatingConfig } from '@/api/datingManagement/datingConfig'
import ShowImg from '@/components/ShowImg/index.vue'
import Batch from './components/batch'
export default {
name: 'DatingModel',
components: {
Edit,
ShowImg,
Batch,
},
data() {
return {
loufengSortTypeList: loufengSortTypeList(),
getMediaStatusList: getMediaStatusList(),
// 请求列表参数
searchData: {
pageNum: 1,
pageSize: 10,
id: undefined,
bossId: undefined,
disable: undefined,
title: undefined,
verified: undefined,
sortType: undefined,
},
datingConfig: [],
resData: [], // el-table表格数据
editVisible: false, // 新增或编辑弹出框
batchVisible: false,
total: 0, // 数据总条数
loading: true, // 列表加载状态
bossList: [], // 经纪人列表
cityList: [], // 城市列表
selectBatch: [],
// 编辑数据
editData: {
title: '新增',
data: {},
},
}
},
mounted() {
this.onSearchBossList()
this.onSearchCityList()
this.onSearch()
this.onSearchDatingConfig()
},
methods: {
//TODO:获取嫩模配置
onSearchDatingConfig() {
getDatingConfig({}).then((res) => {
if (res.code === 200) {
this.datingConfig = res.data
} else {
this.$message.error('请求系统配置失败')
}
})
},
//TODO:获取经纪人列表数据
onSearchBossList() {
datingBossList({ pageNum: 1, pageSize: 500, param: {} }).then((res) => {
if (res.code === 200) {
this.bossList = res.data.list
} else {
this.bossList = []
this.$message.error('请求列表失败!')
}
})
},
//TODO:获取城市列表数据
onSearchCityList() {
datingCityList({ pageNum: 1, pageSize: 500, param: {} }).then((res) => {
if (res.code === 200) {
this.cityList = res.data.list
} else {
this.cityList = []
this.$message.error('请求列表失败!')
}
})
},
//TODO:请求管理员权限嫩模列表数据
getDatingModelList() {
this.loading = true
datingModelList(this.searchData).then((res) => {
if (res.code === 200) {
this.resData = res.data.list
this.total = res.data.total
} else {
this.$message.error('请求列表失败!')
this.resData = []
this.total = 0
}
this.loading = false
})
},
//TODO:删除管理员权限嫩模列表数据
handleDelete(index, row) {
this.$confirm('确定删除?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
datingModelDel({ id: row.id }).then((res) => {
if (res.code === 200) {
this.getDatingModelList()
this.$message.success('成功删除!')
} else {
this.$message.error(res.tip)
}
})
})
},
//TODO:批量删除管理员权限嫩模列表数据
deletMany() {
const Ids = []
this.selectBatch.forEach((item) => {
Ids.push(item.id)
})
datingModelDelMany({ ids: Ids }).then((res) => {
if (res.code === 200) {
this.getDatingModelList()
this.$message.success('成功删除!')
} else {
this.$message.error(res.tip)
}
})
},
onSearch() {
this.searchData.pageNum = 1
this.searchData.pageSize = 10
this.getDatingModelList()
},
// 切换每页数据量
handleSizeChange(val) {
this.searchData.pageSize = val
this.getDatingModelList()
},
// 切换页数
handleCurrentChange(val) {
this.searchData.pageNum = val
this.getDatingModelList()
},
// 新增按钮
add() {
this.editVisible = true
this.editData = {
title: '新增',
data: {},
}
},
// 编辑按钮
handleEdit(index, row) {
this.editVisible = true
this.editData = {
title: '编辑',
data: row,
}
},
// 批量选择
handleSelectionChange(val) {
this.selectBatch = val
},
// 批量设置
batch() {
this.batchVisible = true
},
// 关闭编辑弹窗
closeEdit() {
this.editData = {
title: '新增',
data: {},
}
this.editVisible = false
this.batchVisible = false
this.getDatingModelList()
},
// 清空某一项筛选列表
onClear(key) {
this.searchData[key] = undefined
this.getDatingModelList()
},
},
}
</script>
@@ -23,7 +23,7 @@
</el-col> </el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12"> <el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="举报处理结果"> <el-form-item label="举报处理结果">
<el-select placeholder="请选择举报处理结果" clearable v-model="form.complaintStatus" :disabled='form.complaintStatus===1?false:true'> <el-select placeholder="请选择举报处理结果" clearable :disabled='form.complaintStatus===1?false:true' v-model="form.complaintStatus">
<el-option v-for="item in complaintStatusList" :key="item.value" :label="item.label" :value="item.value" /> <el-option v-for="item in complaintStatusList" :key="item.value" :label="item.label" :value="item.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
@@ -53,17 +53,17 @@
<script> <script>
import { import {
complaintStatusList, complaintStatusList,
modelIdList, modelIdList
} from '@/filters/dating/datingManagement' } from '@/filters/dating/datingManagement'
import { import {
datingComplaintAdd, datingComplaintAdd,
datingComplaintUpdate, datingComplaintUpdate
} from '@/api/datingManagement/complaint' } from '@/api/datingManagement/complaint'
import UploadImgArr from '@/components/UploadImgArr/index' import UploadImgArr from '@/components/UploadImgArr/index'
export default { export default {
name: 'AddOrEdit', name: 'AddOrEdit',
components: { components: {
UploadImgArr, UploadImgArr
}, },
props: ['data'], props: ['data'],
data() { data() {
@@ -79,23 +79,23 @@ export default {
type: undefined, // 类型 type: undefined, // 类型
objectId: undefined, // 楼风id objectId: undefined, // 楼风id
proofs: [], // 举报凭证截图 proofs: [], // 举报凭证截图
userId: undefined, // 用户id userId: undefined // 用户id
}, },
rules: { rules: {
userId: [{ required: true, message: '必填', trigger: 'blur' }], userId: [{ required: true, message: '必填', trigger: 'blur' }],
objectId: [{ required: true, message: '必填', trigger: 'blur' }], objectId: [{ required: true, message: '必填', trigger: 'blur' }]
}, }
} }
}, },
mounted() { mounted() {
this.title = this.data.title this.title = this.data.title
if (this.title === '编辑') { if (this.title === '编辑') {
this.form = { ...this.data.data, ...{} } this.form = { ...this.data.data, ...{}}
} }
}, },
methods: { methods: {
//TODO:新增举报列表数据 // TODO新增举报列表信息
add(data) { add(data) {
datingComplaintAdd(data).then((res) => { datingComplaintAdd(data).then((res) => {
if (res.code === 200) { if (res.code === 200) {
@@ -106,7 +106,7 @@ export default {
} }
}) })
}, },
//TODO:编辑举报列表数据 // TODO编辑举报列表信息
update(data) { update(data) {
datingComplaintUpdate(data).then((res) => { datingComplaintUpdate(data).then((res) => {
if (res.code === 200) { if (res.code === 200) {
@@ -117,6 +117,7 @@ export default {
} }
}) })
}, },
// 提交按钮 // 提交按钮
submit(formName) { submit(formName) {
this.$refs[formName].validate((valid) => { this.$refs[formName].validate((valid) => {
@@ -126,7 +127,7 @@ export default {
} else if (this.title === '编辑') { } else if (this.title === '编辑') {
const data = { const data = {
id: this.data.data.id, id: this.data.data.id,
param: this.form, param: this.form
} }
this.update(data) this.update(data)
} }
@@ -143,8 +144,8 @@ export default {
// 关闭编辑 // 关闭编辑
close() { close() {
this.$emit('close') this.$emit('close')
}, }
}, }
} }
</script> </script>
+71 -53
View File
@@ -9,6 +9,15 @@
<el-form-item> <el-form-item>
<el-input placeholder="请输入对象ID" clearable v-model.number="searchData.objectId" @clear="onClear('userId')" /> <el-input placeholder="请输入对象ID" clearable v-model.number="searchData.objectId" @clear="onClear('userId')" />
</el-form-item> </el-form-item>
<el-form-item>
<el-input placeholder="请输入经纪人ID" clearable v-model.number="searchData.bossId" @clear="onClear('bossId')" />
</el-form-item>
<el-form-item>
<el-input placeholder="请输入经纪人用户ID" clearable v-model.number="searchData.bossUserId" @clear="onClear('bossUserId')" />
</el-form-item>
<el-form-item>
<el-input placeholder="请输入商户ID" clearable v-model.number="searchData.merchantUserId" @clear="onClear('merchantUserId')" />
</el-form-item>
<el-form-item> <el-form-item>
<el-select placeholder="请选择举报处理结果" clearable v-model="searchData.complaintStatus" @clear="onClear('complaintStatus')"> <el-select placeholder="请选择举报处理结果" clearable v-model="searchData.complaintStatus" @clear="onClear('complaintStatus')">
<el-option :label="'未处理'" :value="1" /> <el-option :label="'未处理'" :value="1" />
@@ -17,19 +26,45 @@
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="onSearch" icon="el-icon-search" plain type="primary">搜索</el-button> <el-button @click="onSearch" icon="el-icon-search" plain type="primary">搜索</el-button>
<el-button @click="add" icon="el-icon-circle-plus-outline" plain type="success">新增</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-row> </el-row>
<el-row> <el-row>
<el-col> <el-col>
<el-table :data="resData" element-loading-text="拼命加载中" border height="750" highlight-current-row style="width: 100%" v-loading="loading" :row-style="{ height: '70px' }"> <el-table :data="resData" element-loading-text="拼命加载中" border height="750" highlight-current-row style="width: 100%" v-loading="loading" :row-style="{ height: '70px' }">
<el-table-column align="center" label="ID">
<template slot-scope="scope">{{ scope.row.id }}</template>
</el-table-column>
<el-table-column align="center" label="用户Id"> <el-table-column align="center" label="用户Id">
<template slot-scope="scope">{{ scope.row.userId }}</template> <template slot-scope="scope">{{ scope.row.userId }}</template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="状态">
<template slot-scope="scope">
<el-tag :type="scope.row.girlStatus===1 ?'success':'danger'">{{ scope.row.girlStatus===1 ? '上架' : '下架' }}</el-tag>
</template>
</el-table-column>
<el-table-column align="center" label="类型"> <el-table-column align="center" label="类型">
<template slot-scope="scope">{{ scope.row.type | changeModelId }}</template> <template slot-scope="scope">{{ scope.row.type | changeModelId }}</template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="经纪人信息">
<el-table-column align="center" label="ID" width="120">
<template slot-scope="scope">{{ scope.row.boss.id }}</template>
</el-table-column>
<el-table-column align="center" label="名称" width="120">
<template slot-scope="scope">{{ scope.row.boss.name }}</template>
</el-table-column>
<el-table-column align="center" label="用户ID" width="120">
<template slot-scope="scope">{{ scope.row.boss.userId }}</template>
</el-table-column>
</el-table-column>
<el-table-column align="center" label="商户信息">
<el-table-column align="center" label="ID" width="120">
<template slot-scope="scope">{{ scope.row.merchantUser.id }}</template>
</el-table-column>
<el-table-column align="center" label="名称" width="120">
<template slot-scope="scope">{{ scope.row.merchantUser.name }}</template>
</el-table-column>
</el-table-column>
<el-table-column align="center" label="对象ID" width="120"> <el-table-column align="center" label="对象ID" width="120">
<template slot-scope="scope">{{ scope.row.objectId }}</template> <template slot-scope="scope">{{ scope.row.objectId }}</template>
</el-table-column> </el-table-column>
@@ -57,8 +92,8 @@
</el-table-column> </el-table-column>
<el-table-column align="center" fixed="right" label="操作" width="250"> <el-table-column align="center" fixed="right" label="操作" width="250">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-if='scope.row.girlStatus===1' @click="takeDown(scope.$index, scope.row)" size="mini" type="danger">下架</el-button>
<el-button @click="handleEdit(scope.$index, scope.row)" size="mini" type="primary">编辑</el-button> <el-button @click="handleEdit(scope.$index, scope.row)" size="mini" type="primary">编辑</el-button>
<el-button v-if="scope.row.complaintStatus !== 2" @click="handleOff(scope.$index, scope.row)" size="mini" type="danger">下架</el-button>
<el-button @click="handleDelete(scope.$index, scope.row)" size="mini" type="danger">删除</el-button> <el-button @click="handleDelete(scope.$index, scope.row)" size="mini" type="danger">删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
@@ -78,16 +113,15 @@
import Edit from './components/AddOrEdit' import Edit from './components/AddOrEdit'
import { import {
datingComplaintList, datingComplaintList,
datingComplaintDel, datingComplaintDel
} from '@/api/datingManagement/complaint' } from '@/api/datingManagement/complaint'
import { loufengUpdate } from '@/api/datingManagement/loufeng' import { datingGirlUpdate } from '@/api/datingManagement/datingModel'
import { datingModelUpdate } from '@/api/datingManagement/datingModel'
import ShowImg from '@/components/ShowImg/index.vue' import ShowImg from '@/components/ShowImg/index.vue'
export default { export default {
name: 'Complaint', name: 'Complaint',
components: { components: {
Edit, Edit,
ShowImg, ShowImg
}, },
data() { data() {
return { return {
@@ -98,6 +132,9 @@ export default {
objectId: undefined, objectId: undefined,
complaintStatus: undefined, complaintStatus: undefined,
userId: undefined, userId: undefined,
bossId: undefined,
bossUserId: undefined,
merchantUserId: undefined
}, },
resData: [], // el-table表格数据 resData: [], // el-table表格数据
editVisible: false, // 新增或编辑弹出框 editVisible: false, // 新增或编辑弹出框
@@ -106,8 +143,8 @@ export default {
// 编辑数据 // 编辑数据
editData: { editData: {
title: '新增', title: '新增',
data: {}, data: {}
}, }
} }
}, },
@@ -115,7 +152,7 @@ export default {
this.onSearch() this.onSearch()
}, },
methods: { methods: {
//TODO请求举报列表数据 // TODO:请求举报列表数据
getDatingComplaintList() { getDatingComplaintList() {
this.loading = true this.loading = true
datingComplaintList(this.searchData).then((res) => { datingComplaintList(this.searchData).then((res) => {
@@ -130,12 +167,30 @@ export default {
this.loading = false this.loading = false
}) })
}, },
//TODO删除举报列表数据 // TODO:举报列表下架
takeDown(index, row) {
const data = {
id: row.objectId,
param: {
status: 2
}
}
datingGirlUpdate(data).then((res) => {
if (res.code === 200) {
this.$message.success('更新成功')
this.getDatingComplaintList()
this.Visible = false
} else {
this.$message.error('更新失败')
}
})
},
// TODO:删除举报列表数据
handleDelete(index, row) { handleDelete(index, row) {
this.$confirm('确定删除?', '警告', { this.$confirm('确定删除?', '警告', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning', type: 'warning'
}).then(() => { }).then(() => {
datingComplaintDel({ id: row.id }).then((res) => { datingComplaintDel({ id: row.id }).then((res) => {
if (res.code === 200) { if (res.code === 200) {
@@ -147,43 +202,6 @@ export default {
}) })
}) })
}, },
//TODO:下架楼凤
loufengUpdateFun(data) {
loufengUpdate(data).then((res) => {
if (res.code === 200) {
this.getDatingComplaintList()
this.$message.success('成功下架!')
} else {
this.$message.error(res.tip)
}
})
},
//TODO:下架嫩模
datingModelUpdateFun(data) {
datingModelUpdate(data).then((res) => {
if (res.code === 200) {
this.getDatingComplaintList()
this.$message.success('成功下架!')
} else {
this.$message.error(res.tip)
}
})
},
// 下架
handleOff(index, row) {
const data = {
id: row.objectId,
param: {
disable: 2,
},
}
if (row.type === 1) {
this.loufengUpdateFun(data)
} else if (row.type === 2) {
this.datingModelUpdateFun(data)
}
},
onSearch() { onSearch() {
this.searchData.pageNum = 1 this.searchData.pageNum = 1
@@ -207,7 +225,7 @@ export default {
this.editVisible = true this.editVisible = true
this.editData = { this.editData = {
title: '新增', title: '新增',
data: {}, data: {}
} }
}, },
// 编辑按钮 // 编辑按钮
@@ -215,7 +233,7 @@ export default {
this.editVisible = true this.editVisible = true
this.editData = { this.editData = {
title: '编辑', title: '编辑',
data: row, data: row
} }
}, },
@@ -223,7 +241,7 @@ export default {
closeEdit() { closeEdit() {
this.editData = { this.editData = {
title: '新增', title: '新增',
data: {}, data: {}
} }
this.editVisible = false this.editVisible = false
this.getDatingComplaintList() this.getDatingComplaintList()
@@ -232,8 +250,8 @@ export default {
onClear(key) { onClear(key) {
this.searchData[key] = undefined this.searchData[key] = undefined
this.getDatingComplaintList() this.getDatingComplaintList()
}, }
}, }
} }
</script> </script>
@@ -1,72 +1,97 @@
<template> <template>
<el-dialog :title="title" :visible.sync="Visible" width="700px" center class="ac-dialog" :close-on-click-modal="false" @close="close"> <el-dialog :title="title" :visible.sync="Visible" width="750px" center class="ac-dialog" :close-on-click-modal="false" @close="close">
<el-form :inline="true" :model="form" :rules="rules" ref="ruleForm" class="demo-form-inline" label-width="120px" label-position="right"> <el-form :inline="true" :model="form" :rules="rules" ref="ruleForm" class="demo-form-inline" label-width="100px" label-position="right">
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="账号ID" prop="accountId">
<el-input v-model.number="form.accountId" placeholder="请输入账号ID" />
</el-form-item>
</el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12"> <el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="名称"> <el-form-item label="名称">
<el-input v-model="form.name" placeholder="请输入名称" /> <el-input v-model.trim="form.name" placeholder="请输入名称" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="排序" prop="rank">
<el-input v-model.number="form.rank" placeholder="请输入排序" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="粉丝" prop="fans">
<el-input v-model.number="form.fans" placeholder="请输入粉丝数量" />
</el-form-item>
</el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="认证妹子">
<el-input v-model.number="form.girls" placeholder="请输入认证妹子数量" />
</el-form-item>
</el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="8">
<el-form-item label="商家归属跳转链接" prop="looks">
<el-input v-model="form.url" placeholder="请输入商家归属跳转链接" />
</el-form-item>
</el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="8">
<el-form-item label="商家归属显示是否展示" prop="looks">
<el-switch v-model="form.urlStatus" active-color="#13ce66" inactive-color="#ff4949" >
</el-switch>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24"> <el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="头像"> <el-form-item label="头像">
<UploadImg @changeImgUrl="changeAvatarUrl" :img="form.avatar"></UploadImg> <UploadImg @changeImgUrl="changeAvatarUrl" :img="form.avatar"></UploadImg>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24"> <el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="背景">
<UploadImg @changeImgUrl="changeBackgroundUrl" :img="form.background"></UploadImg>
</el-form-item>
</el-col>
<el-col :lg="24" :md="24" :sm="24" :xl="24" :xs="24">
<el-form-item label="备注"> <el-form-item label="备注">
<el-input v-model="form.remarks" placeholder="请输入备注" /> <el-input v-model="form.remarks" placeholder="请输入备注" type="textarea" style="width:500px" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24"> <el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="描述"> <el-form-item label="地址">
<el-input v-model="form.desc" placeholder="请输入描述" /> <el-input v-model="form.address" placeholder="请输入地址" />
</el-form-item>
</el-col>
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="联系方式">
<el-input v-model="form.contact" placeholder="请输入联系方式" />
</el-form-item>
</el-col>
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="茶老板等级">
<el-select placeholder="请选择茶老板等级" clearable v-model="form.level" style="width: 160px">
<el-option label="普通" :value="0" />
<el-option label="铜牌" :value="1" />
<el-option label="银牌" :value="2" />
<el-option label="金牌" :value="3" />
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12"> <el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="成交"> <el-form-item label="用户ID" prop="userId">
<el-input v-model.number="form.orders" placeholder="请输入成交数量" /> <el-input v-model.number="form.userId" placeholder="请输入用户ID" />
</el-form-item>
</el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="楼凤妹子数量">
<el-input v-model.number="form.lfGirls" disabled placeholder="请输入楼凤妹子数量" />
</el-form-item>
</el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="外围妹子数量">
<el-input v-model.number="form.wwGirls" disabled placeholder="请输入外围妹子数量" />
</el-form-item>
</el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="购买次数">
<el-input v-model.number="form.sells" disabled placeholder="请输入购买次数" />
</el-form-item>
</el-col>
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="收藏次数">
<el-input v-model.number="form.collects" disabled placeholder="请输入收藏次数" />
</el-form-item>
</el-col>
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="观看次数">
<el-input v-model.number="form.watches" disabled placeholder="请输入观看次数" />
</el-form-item>
</el-col>
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="推荐值">
<el-input v-model.number="form.recommend" placeholder="请输入推荐值" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24"> <el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="是否启用"> <el-form-item label="是否启用">
<el-switch v-model="form.status" active-color="#13ce66" inactive-color="#ff4949"></el-switch> <el-switch v-model="form.status" active-color="#13ce66" ></el-switch>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24"> <el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="是否推荐"> <el-form-item label="是否认证">
<el-switch v-model="form.recomment" active-color="#13ce66" inactive-color="#ff4949"></el-switch> <el-switch v-model="form.auth" active-color="#13ce66" ></el-switch>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -80,14 +105,14 @@
<script> <script>
import { import {
datingBossAdd, datingBossAdd,
datingBossUpdate, datingBossUpdate
} from '@/api/datingManagement/datingBoss' } from '@/api/datingManagement/datingBoss'
import UploadImg from '@/components/UploadImg/index' import UploadImg from '@/components/UploadImg/index'
export default { export default {
name: 'AddOrEdit', name: 'AddOrEdit',
props: ['data'], props: ['data'],
components: { components: {
UploadImg, UploadImg
}, },
data() { data() {
return { return {
@@ -95,49 +120,54 @@ export default {
title: '', title: '',
// 表单数据 // 表单数据
form: { form: {
urlStatus: undefined, userId: undefined, // 用户ID
url: undefined, accountId: undefined, // 账号ID 0,
avatar: undefined, // 头像 address: undefined, // 地址 "string",
recomment: undefined, // 是否推荐 auth: undefined, // 是否认证 true,
rank: undefined, // 排序 avatar: undefined, // 头像 "string",
orders: undefined, // 成交数量 background: undefined, // 背景 "string",
name: undefined, // 名称 collects: undefined, // 收藏次数 0,
girls: undefined, // 认证妹子数量 contact: undefined, // 联系方式 "string",
remarks: undefined, // 备注 girls: undefined, // 妹子数量 0,
desc: undefined, // 描述 id: 0,
status: true, // 是否启用 level: undefined, // 茶老板等级 0:普通 1:铜牌 2:银牌 3:金牌 0,
fans: undefined, // 粉丝 name: undefined, // 名称 "string",
recommend: undefined, // 是否推荐 1:推荐 0,
remarks: undefined, // 备注 "string",
sells: undefined, // 购买次数 0,
status: undefined, // 是否启用 true,
watches: undefined // 观看次数 0,
}, },
rules: { rules: {
name: [{ required: true, message: '必填', trigger: 'blur' }], accountId: [{ required: true, message: '必填', trigger: 'blur' }]
}, }
} }
}, },
mounted() { mounted() {
this.title = this.data.title this.title = this.data.title
if (this.title === '编辑') { if (this.title === '编辑') {
this.form = { ...this.data.data, ...{} } this.form = { ...this.data.data, ...{}}
} }
}, },
methods: { methods: {
//TODO:新增经纪人列表数据 // TODO:新增经纪人列表数据
add(data) { add(data) {
datingBossAdd(data).then((res) => { datingBossAdd(data).then((res) => {
if (res.code === 200) { if (res.code === 200) {
this.$message.success('新增成功') this.$message.success('新增成功')
this.Visible = false this.close()
} else { } else {
this.$message.error('新增失败') this.$message.error('新增失败')
} }
}) })
}, },
//TODO:编辑经纪人列表数据 // TODO:编辑经纪人列表数据
update(data) { update(data) {
datingBossUpdate(data).then((res) => { datingBossUpdate(data).then((res) => {
if (res.code === 200) { if (res.code === 200) {
this.$message.success('更新成功') this.$message.success('更新成功')
this.Visible = false this.close()
} else { } else {
this.$message.error('更新失败') this.$message.error('更新失败')
} }
@@ -147,7 +177,9 @@ export default {
changeAvatarUrl(data) { changeAvatarUrl(data) {
this.form.avatar = data this.form.avatar = data
}, },
changeBackgroundUrl(data) {
this.form.background = data
},
// 提交按钮 // 提交按钮
submit(formName) { submit(formName) {
this.$refs[formName].validate((valid) => { this.$refs[formName].validate((valid) => {
@@ -157,7 +189,7 @@ export default {
} else if (this.title === '编辑') { } else if (this.title === '编辑') {
const data = { const data = {
id: this.data.data.id, id: this.data.data.id,
param: this.form, param: this.form
} }
this.update(data) this.update(data)
} }
@@ -170,8 +202,8 @@ export default {
// 关闭编辑 // 关闭编辑
close() { close() {
this.$emit('close') this.$emit('close')
}, }
}, }
} }
</script> </script>
@@ -0,0 +1,101 @@
<template>
<el-dialog :title="title" :visible.sync="Visible" width="750px" center class="ac-dialog" :close-on-click-modal="false" @close="close">
<el-form :inline="true" :model="form" :rules="rules" ref="ruleForm" class="demo-form-inline" label-width="100px" label-position="right">
<el-row :gutter="24">
<el-col :span='24'>
<el-form-item label="联系方式">
<el-input v-model="form.contact" placeholder="请输入联系方式" style='width:300px'/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="Visible = false"> </el-button>
<el-button type="primary" @click="submit('ruleForm')"> </el-button>
</div>
</el-dialog>
</template>
<script>
import {
datingBossUpdateMany
} from '@/api/datingManagement/datingBoss'
export default {
name: 'AddOrEdit',
props: ['data'],
components: {
},
data() {
return {
Visible: true,
title: '批量设置联系方式',
// 表单数据
form: {
userId: undefined, // 用户ID
accountId: undefined, // 账号ID 0,
address: undefined, // 地址 "string",
auth: undefined, // 是否认证 true,
avatar: undefined, // 头像 "string",
background: undefined, // 背景 "string",
collects: undefined, // 收藏次数 0,
contact: undefined, // 联系方式 "string",
girls: undefined, // 妹子数量 0,
id: 0,
level: undefined, // 茶老板等级 0:普通 1:铜牌 2:银牌 3:金牌 0,
name: undefined, // 名称 "string",
recommend: undefined, // 是否推荐 1:推荐 0,
remarks: undefined, // 备注 "string",
sells: undefined, // 购买次数 0,
status: undefined, // 是否启用 true,
watches: undefined // 观看次数 0,
},
rules: {
accountId: [{ required: true, message: '必填', trigger: 'blur' }]
}
}
},
mounted() {
console.log(this.data)
},
methods: {
// TODO:编辑经纪人列表数据
update(data) {
datingBossUpdateMany(data).then((res) => {
if (res.code === 200) {
this.$message.success('更新成功')
this.close()
} else {
this.$message.error('更新失败')
}
})
},
// 提交按钮
submit(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
const arr = []
this.data.forEach(item => {
arr.push(item.id)
})
const data = {
ids: arr,
param: {
contact: this.form.contact
}
}
this.update(data)
} else {
return false
}
})
},
// 关闭编辑
close() {
this.$emit('close')
}
}
}
</script>
+139 -74
View File
@@ -3,118 +3,153 @@
<el-row class="table-form"> <el-row class="table-form">
<el-form :inline="true" :model="searchData" class="form-inline" size="mini"> <el-form :inline="true" :model="searchData" class="form-inline" size="mini">
<el-form-item> <el-form-item>
<el-select placeholder="请选择推荐状态" v-model="searchData.recomment" @clear="onClear('recomment')" clearable> <el-input v-model.number="searchData.id" @clear="onClear('id')" placeholder="请输入经纪人ID" style="width:177px" />
<el-option :label="'推荐'" :value="true" /> </el-form-item>
<el-option :label="'不推荐'" :value="false" /> <el-form-item>
<el-input v-model="searchData.name" @clear="onClear('name')" placeholder="请输入经纪人名称" style="width:177px" />
</el-form-item>
<el-form-item>
<el-input v-model.number="searchData.accountId" @clear="onClear('accountId')" placeholder="请输入账号ID" style="width:177px" />
</el-form-item>
<el-form-item>
<el-input v-model.number="searchData.userId" @clear="onClear('userId')" placeholder="请输入用户ID" style="width:177px" />
</el-form-item>
<el-form-item>
<el-select v-model="searchData.status" @clear="onClear('status')" placeholder="请选择是否启用" clearable>
<el-option label="启用" :value="true" />
<el-option label="未启用" :value="false" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-input placeholder="请输入商家id" v-model.number="searchData.id" @clear="onClear('id')" /> <el-select v-model="searchData.sort" @clear="onClear('sort')" placeholder="请选择排序方式" clearable>
<el-option label="创建时间" :value="1" />
<el-option label="推荐值" :value="2" />
</el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="onSearch" icon="el-icon-search" plain type="primary">搜索</el-button> <el-button @click="onSearch" icon="el-icon-search" plain type="primary">搜索 </el-button>
<el-button @click="add" icon="el-icon-circle-plus-outline" plain type="success">新增</el-button> <el-button @click="add" icon="el-icon-circle-plus-outline" plain type="success">新增 </el-button>
<el-button @click="onSearch" icon="el-icon-refresh" plain type="info">刷新</el-button> <el-button @click="onSearch" icon="el-icon-refresh" plain type="info">刷新 </el-button>
<el-button @click="setContact" icon="el-icon-circle-plus-outline" plain type="success">批量设置联系方式 </el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-row> </el-row>
<el-row> <el-row>
<el-col> <el-col>
<el-table :data="resData" element-loading-text="拼命加载中" border height="750" highlight-current-row style="width: 100%" v-loading="loading" :row-style="{ height: '70px' }"> <el-table
<el-table-column align="center" label="排序"> :data="resData"
<template slot-scope="scope">{{ scope.row.rank }}</template> element-loading-text="拼命加载中"
</el-table-column> border
height="750"
highlight-current-row
style="width: 100%"
v-loading="loading"
:row-style="{ height: '70px' }"
@selection-change="handleSelectionChange">
<el-table-column type="selection" width="50"> </el-table-column>
<el-table-column align="center" label="id"> <el-table-column align="center" label="id">
<template slot-scope="scope">{{ scope.row.id }}</template> <template slot-scope="scope">{{ scope.row.id }}</template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="账号ID">
<template slot-scope="scope">{{ scope.row.accountId }}</template>
</el-table-column>
<el-table-column align="center" label="用户ID">
<template slot-scope="scope">{{ scope.row.userId }}</template>
</el-table-column>
<el-table-column align="center" label="名称" width="120"> <el-table-column align="center" label="名称" width="120">
<template slot-scope="scope">{{ scope.row.name }}</template> <template slot-scope="scope">{{ scope.row.name }}</template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="地址">
<template slot-scope="scope">{{ scope.row.address }}</template>
</el-table-column>
<el-table-column align="center" label="是否认证" width="100">
<template slot-scope="scope">
<el-tag :type="scope.row.auth ? 'success' : 'danger'">{{ scope.row.auth ? '已认证' : '未认证' }}</el-tag>
</template>
</el-table-column>
<el-table-column align="center" label="头像"> <el-table-column align="center" label="头像">
<template slot-scope="scope"> <template slot-scope="scope">
<ShowImg style="width: 40px; height: 40px; margin: 0 auto;line-height: 40px" :urls="scope.row.avatar"></ShowImg> <ShowImg style="width: 40px; height: 40px; margin: 0 auto;line-height: 40px" :urls="scope.row.avatar"></ShowImg>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="认证妹子" show-overflow-tooltip> <el-table-column align="center" label="背景">
<template slot-scope="scope">{{ scope.row.girls }}</template>
</el-table-column>
<el-table-column width="150" align="center" label="商家归属跳转链接">
<template slot-scope="scope">{{
scope.row.url
}}
</template>
</el-table-column>
<el-table-column align="center" label="商家归属显示是否展示">
<template slot-scope="scope">{{
scope.row.urlStatus ? '开启' : '关闭'
}}
</template>
</el-table-column>
<el-table-column align="center" label="成交" show-overflow-tooltip>
<template slot-scope="scope">{{ scope.row.orders }}</template>
</el-table-column>
<el-table-column align="center" label="粉丝" show-overflow-tooltip>
<template slot-scope="scope">{{ scope.row.fans }}</template>
</el-table-column>
<el-table-column align="center" label="描述" width="250" show-overflow-tooltip>
<template slot-scope="scope">{{ scope.row.desc }}</template>
</el-table-column>
<el-table-column align="center" label="备注" width="250" show-overflow-tooltip>
<template slot-scope="scope">{{ scope.row.remarks }}</template>
</el-table-column>
<el-table-column align="center" label="链接点击次数" width="250" show-overflow-tooltip>
<template slot-scope="scope">{{ scope.row.urlClickCount }}</template>
</el-table-column>
<el-table-column align="center" label="是否推荐" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button :type="scope.row.recomment ? 'success' : 'danger'" plain size="mini">{{ scope.row.recomment ? '已推荐' : '未推荐' }} <ShowImg style="width: 40px; height: 40px; margin: 0 auto;line-height: 40px" :urls="scope.row.background"></ShowImg>
</el-button> </template>
</el-table-column>
<el-table-column align="center" label="收藏次数">
<template slot-scope="scope">{{ scope.row.collects }}</template>
</el-table-column>
<el-table-column align="center" label="联系方式">
<template slot-scope="scope">{{ scope.row.contact }}</template>
</el-table-column>
<el-table-column align="center" label="楼凤妹子数量" show-overflow-tooltip>
<template slot-scope="scope">{{ scope.row.lfGirls }}</template>
</el-table-column>
<el-table-column align="center" label="外围妹子数量" show-overflow-tooltip>
<template slot-scope="scope">{{ scope.row.wwGirls }}</template>
</el-table-column>
<el-table-column align="center" label="茶老板等级">
<template slot-scope="scope">{{ scope.row.level | filterLevel }}</template>
</el-table-column>
<el-table-column align="center" label="推荐值" width="100">
<template slot-scope="scope">
<el-tag type="success">{{ scope.row.recommend }}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="是否启用" width="100"> <el-table-column align="center" label="是否启用" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button :type="scope.row.status ? 'success' : 'danger'" plain size="mini">{{ scope.row.status ? '已启用' : '未启用' }} <el-tag :type="scope.row.status ? 'success' : 'danger'">{{ scope.row.status ? '已启用' : '未启用' }}</el-tag>
</el-button>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="售卖次数">
<template slot-scope="scope">{{ scope.row.sells }}</template>
</el-table-column>
<el-table-column align="center" label="观看次数">
<template slot-scope="scope">{{ scope.row.watches }}</template>
</el-table-column>
<el-table-column align="center" label="备注" width="250" show-overflow-tooltip>
<template slot-scope="scope">{{ scope.row.remarks }}</template>
</el-table-column>
<el-table-column align="center" label="创建时间" width="180"> <el-table-column align="center" label="创建时间" width="180">
<template slot-scope="scope">{{ <template
scope.row.createdAt | BeiJingTime slot-scope="scope">{{ scope.row.createdAt | BeiJingTime }}
}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="更新时间" width="180"> <el-table-column align="center" label="更新时间" width="180">
<template slot-scope="scope">{{ <template
scope.row.updatedAt | BeiJingTime slot-scope="scope">{{ scope.row.updatedAt | BeiJingTime }}
}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" fixed="right" label="操作" width="200"> <el-table-column align="center" fixed="right" label="操作" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button @click="handleEdit(scope.$index, scope.row)" size="mini" type="primary">编辑 <el-button @click="handleEdit(scope.$index, scope.row)" size="mini" type="primary">编辑 </el-button>
</el-button> <el-button @click="handleDelete(scope.$index, scope.row)" size="mini" type="danger">删除 </el-button>
<el-button @click="handleDelete(scope.$index, scope.row)" size="mini" type="danger">删除
</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-col> </el-col>
</el-row> </el-row>
<div class="table-pagination"> <div class="table-pagination">
<el-pagination :current-page="searchData.pageNum" :page-size="searchData.pageSize" :page-sizes="[10, 20, 30, 50, 100]" :total="total" @current-change="handleCurrentChange" @size-change="handleSizeChange" layout="total, sizes, prev, pager, next, jumper" /> <el-pagination
:current-page="searchData.pageNum"
:page-size="searchData.pageSize"
:page-sizes="[10, 20, 30, 50, 100]"
:total="total"
@current-change="handleCurrentChange"
@size-change="handleSizeChange"
layout="total, sizes, prev, pager, next, jumper"/>
</div> </div>
<!-- 新增及编辑 --> <!-- 新增及编辑 -->
<Edit :data="editData" v-if="editVisible" @close="closeEdit" /> <Edit :data="editData" v-if="editVisible" @close="closeEdit" />
<SetContact :data="selectBatch" v-if="setContactVisible" @close="closeEdit"/>
</div> </div>
</template> </template>
<script> <script>
// 引入模块 // 引入模块
import Edit from './components/AddOrEdit' import Edit from './components/AddOrEdit'
import { import SetContact from './components/SetContact'
datingBossList, import { datingBossList, datingBossDel } from '@/api/datingManagement/datingBoss'
datingBossDel,
} from '@/api/datingManagement/datingBoss'
import ShowImg from '@/components/ShowImg/index.vue' import ShowImg from '@/components/ShowImg/index.vue'
export default { export default {
@@ -122,6 +157,21 @@ export default {
components: { components: {
Edit, Edit,
ShowImg, ShowImg,
SetContact
},
filters: {
filterLevel(val) {
switch (val) {
case 0:
return '普通'
case 1:
return '铜牌'
case 2:
return '银牌'
case 3:
return '金牌'
}
}
}, },
data() { data() {
return { return {
@@ -129,18 +179,23 @@ export default {
searchData: { searchData: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
recomment: undefined,
id: undefined, id: undefined,
name: undefined,
accountId: undefined,
status: undefined,
sort: undefined
}, },
resData: [], // el-table表格数据 resData: [], // el-table表格数据
editVisible: false, // 新增或编辑弹出框 editVisible: false, // 新增或编辑弹出框
setContactVisible: false,
total: 0, // 数据总条数 total: 0, // 数据总条数
loading: true, // 列表加载状态 loading: true, // 列表加载状态
// 编辑数据 // 编辑数据
editData: { editData: {
title: '新增', title: '新增',
data: {}, data: {}
}, },
selectBatch: []
} }
}, },
@@ -148,10 +203,10 @@ export default {
this.onSearch() this.onSearch()
}, },
methods: { methods: {
//TODO请求经纪人列表数据 // TODO:请求经纪人列表数据
getDatingBossList() { getDatingBossList() {
this.loading = true this.loading = true
datingBossList(this.searchData).then((res) => { datingBossList(this.searchData).then(res => {
if (res.code === 200) { if (res.code === 200) {
this.resData = res.data.list this.resData = res.data.list
this.total = res.data.total this.total = res.data.total
@@ -163,14 +218,15 @@ export default {
this.loading = false this.loading = false
}) })
}, },
//TODO:删除经纪人列表数据
// TODO:删除经纪人列表数据
handleDelete(index, row) { handleDelete(index, row) {
this.$confirm('确定删除?', '警告', { this.$confirm('确定删除?', '警告', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning', type: 'warning'
}).then(() => { }).then(() => {
datingBossDel({ id: row.id }).then((res) => { datingBossDel({ id: row.id }).then(res => {
if (res.code === 200) { if (res.code === 200) {
this.getDatingBossList() this.getDatingBossList()
this.$message.success('成功删除!') this.$message.success('成功删除!')
@@ -185,6 +241,14 @@ export default {
this.searchData.pageSize = 10 this.searchData.pageSize = 10
this.getDatingBossList() this.getDatingBossList()
}, },
// 批量选择
handleSelectionChange(val) {
this.selectBatch = val
},
setContact() {
this.setContactVisible = true
},
// 切换每页数据量 // 切换每页数据量
handleSizeChange(val) { handleSizeChange(val) {
this.searchData.pageSize = val this.searchData.pageSize = val
@@ -201,7 +265,7 @@ export default {
this.editVisible = true this.editVisible = true
this.editData = { this.editData = {
title: '新增', title: '新增',
data: {}, data: {}
} }
}, },
// 编辑按钮 // 编辑按钮
@@ -209,7 +273,7 @@ export default {
this.editVisible = true this.editVisible = true
this.editData = { this.editData = {
title: '编辑', title: '编辑',
data: row, data: row
} }
}, },
@@ -217,8 +281,9 @@ export default {
closeEdit() { closeEdit() {
this.editData = { this.editData = {
title: '新增', title: '新增',
data: {}, data: {}
} }
this.setContactVisible = false
this.editVisible = false this.editVisible = false
this.getDatingBossList() this.getDatingBossList()
}, },
@@ -226,7 +291,7 @@ export default {
onClear(key) { onClear(key) {
this.searchData[key] = undefined this.searchData[key] = undefined
this.getDatingBossList() this.getDatingBossList()
}, }
}, }
} }
</script> </script>
@@ -28,12 +28,12 @@
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24"> <el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="是否是热门城市"> <el-form-item label="是否是热门城市">
<el-switch v-model="form.hot" active-color="#13ce66" inactive-color="#ff4949"></el-switch> <el-switch v-model="form.hot" active-color="#13ce66" ></el-switch>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24"> <el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="是否启用"> <el-form-item label="是否启用">
<el-switch v-model="form.status" active-color="#13ce66" inactive-color="#ff4949"></el-switch> <el-switch v-model="form.status" active-color="#13ce66" ></el-switch>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -47,7 +47,7 @@
<script> <script>
import { import {
datingCityAdd, datingCityAdd,
datingCityUpdate, datingCityUpdate
} from '@/api/datingManagement/datingCity' } from '@/api/datingManagement/datingCity'
export default { export default {
name: 'AddOrEdit', name: 'AddOrEdit',
@@ -62,40 +62,39 @@ export default {
rank: undefined, // 排序 rank: undefined, // 排序
hotRank: undefined, // 热门排序 hotRank: undefined, // 热门排序
hot: undefined, // 是否热门城市 hot: undefined, // 是否热门城市
status: true, // 是否启用 status: true // 是否启用
}, },
rules: { rules: {
rank: [{ required: true, message: '必填', trigger: 'blur' }], rank: [{ required: true, message: '必填', trigger: 'blur' }],
hotRank: [{ required: true, message: '必填', trigger: 'blur' }], hotRank: [{ required: true, message: '必填', trigger: 'blur' }]
}, }
} }
}, },
mounted() { mounted() {
this.title = this.data.title this.title = this.data.title
if (this.title === '编辑') { if (this.title === '编辑') {
this.form = { ...this.data.data, ...{} } this.form = { ...this.data.data, ...{}}
} }
}, },
methods: { methods: {
//TODO:新增城市列表数据 // TODO新增楼凤城市列表数据
add(data) { add(data) {
datingCityAdd(data).then((res) => { datingCityAdd(data).then((res) => {
if (res.code === 200) { if (res.code === 200) {
this.$message.success('新增成功') this.$message.success('success')
this.Visible = false this.close()
} else { } else {
this.$message.error('新增失败') this.$$message.error('新增失败')
} }
}) })
}, },
// TODO:编辑楼凤城市列表数据
//TODO:编辑城市列表数据
update(data) { update(data) {
datingCityUpdate(data).then((res) => { datingCityUpdate(data).then((res) => {
if (res.code === 200) { if (res.code === 200) {
this.$message.success('更新成功') this.$message.success('更新成功')
this.Visible = false this.close()
} else { } else {
this.$message.error('更新失败') this.$message.error('更新失败')
} }
@@ -110,7 +109,7 @@ export default {
} else if (this.title === '编辑') { } else if (this.title === '编辑') {
const data = { const data = {
id: this.data.data.id, id: this.data.data.id,
param: this.form, param: this.form
} }
this.update(data) this.update(data)
} }
@@ -123,8 +122,8 @@ export default {
// 关闭编辑 // 关闭编辑
close() { close() {
this.$emit('close') this.$emit('close')
}, }
}, }
} }
</script> </script>
+25 -44
View File
@@ -6,25 +6,9 @@
<el-form-item> <el-form-item>
<el-input placeholder="请输入省份" clearable v-model="searchData.province" @clear="onClear('province')" /> <el-input placeholder="请输入省份" clearable v-model="searchData.province" @clear="onClear('province')" />
</el-form-item> </el-form-item>
<el-form-item> <el-button @click="onSearch" icon="el-icon-search" plain type="primary">搜索</el-button>
<el-input placeholder="请输入城市名称" clearable v-model="searchData.cityName" @clear="onClear('cityName')" /> <el-button @click="add" icon="el-icon-circle-plus-outline" plain type="success">新增</el-button>
</el-form-item> <el-button @click="onSearch" icon="el-icon-refresh" plain type="info">刷新</el-button>
<el-form-item>
<el-select placeholder="请选择排序" clearable v-model="searchData.sortType" @clear="onClear('sortType')">
<el-option :label="'排序'" :value="1" />
<el-option :label="'热门排序'" :value="2" />
</el-select>
<el-select placeholder="请选择热门城市" clearable v-model="searchData.isHot" @clear="onClear('isHot')">
<el-option :label="'热门城市'" :value="true" />
<el-option :label="'非热门城市'" :value="false" />
</el-select>
</el-form-item>
<el-button @click="onSearch" icon="el-icon-search" plain type="primary">搜索
</el-button>
<el-button @click="add" icon="el-icon-circle-plus-outline" plain type="success">新增
</el-button>
<el-button @click="onSearch" icon="el-icon-refresh" plain type="info">刷新
</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-row> </el-row>
@@ -40,6 +24,9 @@
<el-table-column align="center" label="省份"> <el-table-column align="center" label="省份">
<template slot-scope="scope">{{ scope.row.province }}</template> <template slot-scope="scope">{{ scope.row.province }}</template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="妹子数量">
<template slot-scope="scope">{{ scope.row.girls }}</template>
</el-table-column>
<el-table-column align="center" label="排序"> <el-table-column align="center" label="排序">
<template slot-scope="scope">{{ scope.row.rank }}</template> <template slot-scope="scope">{{ scope.row.rank }}</template>
</el-table-column> </el-table-column>
@@ -72,10 +59,8 @@
</el-table-column> </el-table-column>
<el-table-column align="center" fixed="right" label="操作" width="200"> <el-table-column align="center" fixed="right" label="操作" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button @click="handleEdit(scope.$index, scope.row)" size="mini" type="primary">编辑 <el-button @click="handleEdit(scope.$index, scope.row)" size="mini" type="primary">编辑</el-button>
</el-button> <el-button @click="handleDelete(scope.$index, scope.row)" size="mini" type="danger">删除</el-button>
<el-button @click="handleDelete(scope.$index, scope.row)" size="mini" type="danger">删除
</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@@ -93,23 +78,21 @@
import Edit from './components/AddOrEdit' import Edit from './components/AddOrEdit'
import { import {
datingCityList, datingCityList,
datingCityDel, datingCityDel
} from '@/api/datingManagement/datingCity' } from '@/api/datingManagement/datingCity'
export default { export default {
name: 'DatingCity', name: 'DatingCity',
components: { components: {
Edit, Edit
}, },
data() { data() {
return { return {
// 请求列表参数 // 请求列表参数
searchData: { searchData: {
province: undefined, // 省份
cityName: undefined, // 城市名称
sortType: undefined, //排序
isHot: undefined, // 热门城市
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
province: undefined // 省份
}, },
resData: [], // el-table表格数据 resData: [], // el-table表格数据
editVisible: false, // 新增或编辑弹出框 editVisible: false, // 新增或编辑弹出框
@@ -118,8 +101,8 @@ export default {
// 编辑数据 // 编辑数据
editData: { editData: {
title: '新增', title: '新增',
data: {}, data: {}
}, }
} }
}, },
@@ -127,7 +110,7 @@ export default {
this.onSearch() this.onSearch()
}, },
methods: { methods: {
//TODO请求城市列表数据 // TODO:请求楼凤城市数据列表
getDatingCityList() { getDatingCityList() {
this.loading = true this.loading = true
datingCityList(this.searchData).then((res) => { datingCityList(this.searchData).then((res) => {
@@ -135,20 +118,19 @@ export default {
this.resData = res.data.list this.resData = res.data.list
this.total = res.data.total this.total = res.data.total
} else { } else {
this.$message.error('请求列表失败!')
this.resData = [] this.resData = []
this.total = 0 this.total = 0
this.$message.error('请求列表失败!')
} }
this.loading = false this.loading = false
}) })
}, },
// TODO: 删除楼凤城市数据列表
//TODO:删除城市列表数据
handleDelete(index, row) { handleDelete(index, row) {
this.$confirm('确定删除?', '警告', { this.$confirm('确定删除?', '警告', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning', type: 'warning'
}).then(() => { }).then(() => {
datingCityDel({ id: row.id }).then((res) => { datingCityDel({ id: row.id }).then((res) => {
if (res.code === 200) { if (res.code === 200) {
@@ -160,7 +142,6 @@ export default {
}) })
}) })
}, },
onSearch() { onSearch() {
this.searchData.pageNum = 1 this.searchData.pageNum = 1
this.searchData.pageSize = 10 this.searchData.pageSize = 10
@@ -180,26 +161,26 @@ export default {
// 新增按钮 // 新增按钮
add() { add() {
this.editVisible = true
this.editData = { this.editData = {
title: '新增', title: '新增',
data: {}, data: {}
} }
this.editVisible = true
}, },
// 编辑按钮 // 编辑按钮
handleEdit(index, row) { handleEdit(index, row) {
this.editVisible = true
this.editData = { this.editData = {
title: '编辑', title: '编辑',
data: row, data: row
} }
this.editVisible = true
}, },
// 关闭编辑弹窗 // 关闭编辑弹窗
closeEdit() { closeEdit() {
this.editData = { this.editData = {
title: '新增', title: '新增',
data: {}, data: {}
} }
this.editVisible = false this.editVisible = false
this.getDatingCityList() this.getDatingCityList()
@@ -208,8 +189,8 @@ export default {
onClear(key) { onClear(key) {
this.searchData.param[key] = undefined this.searchData.param[key] = undefined
this.getDatingCityList() this.getDatingCityList()
}, }
}, }
} }
</script> </script>
@@ -1,94 +0,0 @@
<!--
* @Author:
* @Mail:
* @Date: 2022-03-14 15:21:40
* @LastEditTime: 2022-06-08 15:54:01
* @LastEditors: Please set LastEditors
* @FilePath: /comics-admin/src/views/datingManagement/datingConfig/index.vue
-->
<template>
<div class='center'>
<el-row>
<el-col>
<el-form ref="form" :model="form" label-width="180px" style="width:800px;margin:0 auto">
<el-form-item label="服务种类">
<el-input placeholder="请输入服务种类,用逗号隔开" v-model="form.serviceItems"></el-input>
</el-form-item>
<el-form-item label="服务方式">
<el-input placeholder="请输入服务方式,用逗号隔开" v-model="form.serviceType"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit">提交</el-button>
<el-button>取消</el-button>
</el-form-item>
</el-form>
</el-col>
</el-row>
</div>
</template>
<script>
import {
getDatingConfig,
updateDatingConfig,
} from '@/api/datingManagement/datingConfig'
import { arryToString, stringToArry } from '@/filters'
export default {
name: 'SystemConfig',
data() {
return {
serviceItems: '',
serviceType: '',
form: {
serviceType: undefined,
serviceItems: undefined,
},
}
},
mounted() {
this.getData()
},
methods: {
//TODO:请求约炮配置管理
getData() {
getDatingConfig({}).then((res) => {
if (res.code === 200) {
this.form = res.data
this.form.serviceType = arryToString(this.form.serviceType)
this.form.serviceItems = arryToString(this.form.serviceItems)
} else {
this.$message.error('请求系统配置失败')
}
})
},
//TODO:编辑约炮配置
onSubmit() {
let param = JSON.parse(JSON.stringify(this.form))
param.serviceType = stringToArry(this.form.serviceType)
param.serviceItems = stringToArry(this.form.serviceItems)
updateDatingConfig(param).then((res) => {
if (res.code === 200) {
this.getData()
this.$message.success('配置成功')
} else {
this.$message.error('配置失败')
}
})
},
},
}
</script>
<style lang="scss" scoped>
@import '@/styles/variables.scss';
.center {
width: 100%;
height: calc(100vh - 140px);
padding: 45px 0;
margin: 0 auto;
overflow: auto;
border-radius: 6px;
background-color: $themeBg;
}
</style>
@@ -1,159 +1,174 @@
<template> <template>
<el-dialog :title="title" :visible.sync="Visible" width="1100px" center class="ac-dialog" :close-on-click-modal="false" @close="close"> <el-dialog :title="title" :visible.sync="Visible" width="900px" center class="ac-dialog" :close-on-click-modal="false" @close="close">
<el-form :rules="rules" :inline="true" :model="form" ref="ruleForm" class="demo-form-inline" label-width="120px" label-position="right"> <el-form :rules="rules" @submit.native.prevent :inline="true" :model="form" ref="ruleForm" class="demo-form-inline" label-width="100px" label-position="right">
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="8"> <el-col :lg="15" :md="15" :sm="15" :xl="15" :xs="15">
<el-form-item label="商家Id"> <el-form-item label="标题">
<el-select placeholder="请选择商家" clearable v-model="form.bossId" style="width: 163px" filterable allow-create default-first-option> <el-input v-model="form.title" placeholder="请输入标题" style="width: 400px" />
</el-form-item>
</el-col>
<el-col :lg="9" :md="9" :sm="9" :xl="9" :xs="9">
<el-form-item label="妹子类型">
<el-select placeholder="请选择妹子类型" v-model="form.type" style="width: 160px">
<el-option label="楼凤" :value="1" />
<el-option label="外围" :value="2" />
</el-select>
</el-form-item>
</el-col>
<el-col :lg="6" :md="6" :sm="6" :xl="6" :xs="6">
<el-form-item label="验证状态">
<el-switch v-model="form.verified" active-color="#13ce66" :active-value="1" :inactive-value="0"></el-switch>
</el-form-item>
</el-col>
<el-col :lg="9" :md="9" :sm="9" :xl="9" :xs="9">
<el-form-item label="推荐值">
<el-input v-model.number="form.recommend" placeholder="请输入推荐值" />
</el-form-item>
</el-col>
<el-col :lg="9" :md="9" :sm="9" :xl="9" :xs="9">
<el-form-item label="楼凤上架状态">
<el-select placeholder="请选择楼凤上架状态" v-model="form.status" style="width: 160px" filterable allow-create default-first-option>
<el-option v-for="(item, index) in getMediaStatusList" :key="index" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :lg="24" :md="24" :sm="24" :xl="24" :xs="24">
<el-form-item label="审核备注">
<el-input v-model="form.remark" placeholder="请输入审核备注" type="textarea" style="width:600px" />
</el-form-item>
</el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="信息价格">
<el-input v-model.number="form.price" placeholder="请输入价格" />
</el-form-item>
</el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="服务价目">
<el-input v-model="form.servicePrice" placeholder="请输入服务价目" />
</el-form-item>
</el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="经纪人Id">
<el-select placeholder="请选择经纪人" clearable v-model.number="form.bossId" style="width: 160px" filterable allow-create default-first-option>
<el-option v-for="item in bossList" :key="item.id" :label="item.name" :value="item.id" /> <el-option v-for="item in bossList" :key="item.id" :label="item.name" :value="item.id" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="8"> <el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="排序"> <el-form-item label="用户ID">
<el-input v-model.number="form.rank" placeholder="请输入排序" /> <el-input v-model.number="form.userId" placeholder="请输入用户ID" />
</el-form-item>
</el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="8">
<el-form-item label="楼凤上架状态">
<el-select placeholder="请选择楼凤上架状态" v-model="form.status" style="width: 163px" filterable allow-create default-first-option>
<el-option v-for="(item,index) in getMediaStatusList" :key="index" :label="item.label" :value="item.value" />
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="8"> <el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="年龄"> <el-form-item label="年龄">
<el-input v-model.number="form.girlAge" placeholder="请输入年龄" /> <el-input v-model="form.age" placeholder="请输入年龄" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="8"> <el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="身高"> <el-form-item label="身高">
<el-input v-model.number="form.girlHeight" placeholder="请输入身高" /> <el-input-number v-model.number="form.height" :min="130" :max="200" label="请输入身高" style="width: 160px"></el-input-number>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="8"> <el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="罩杯"> <el-form-item label="胸围">
<el-select placeholder="请选择罩杯" clearable v-model="form.cupValue" style="width: 163px" filterable allow-create default-first-option> <el-select placeholder="请选择胸围" v-model="form.bust" style="width: 160px">
<el-option v-for="item in bustSizeList" :key="item.value" :label="item.label" :value="item.value" /> <el-option label="A" value="A" />
<el-option label="B" value="B" />
<el-option label="C" value="C" />
<el-option label="D" value="D" />
<el-option label="E" value="E" />
<el-option label="F" value="F" />
<el-option label="G" value="G" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> <el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="服务城市">
<el-row :gutter="24"> <el-select placeholder="请选择服务城市" v-model="form.city" style="width: 160px" filterable>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="8"> <el-option v-for="(item, index) in cityList" :key="index" :label="item.name" :value="item.name" />
<el-form-item label="价格"> </el-select>
<el-input v-model.number="form.price" placeholder="请输入价格" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="8"> <el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="预约价格"> <el-form-item label="详细地址">
<el-input v-model.number="form.reservationPrice" placeholder="请输入预约价格" /> <el-input v-model="form.address" placeholder="详细地址" />
</el-form-item>
</el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="8">
<el-form-item label="标签">
<el-input v-model="form.tags" placeholder="请输入标签,逗号隔开" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="8">
<el-form-item label="视频封面">
<UploadImg @changeImgUrl="changeCoverImgUrl" :img="form.videoCover"></UploadImg>
</el-form-item>
</el-col>
<el-col :xs="16" :sm="16" :md="16" :lg="16" :xl="16">
<el-form-item label="妹子图片">
<UploadImgArr @changeImgUrl='changeImagesUrl' :img='form.images' style="width:500px"></UploadImgArr>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="12">
<el-form-item label="标题">
<el-input v-model="form.title" placeholder="请输入标题" style="width:335px" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12"> <el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="联系方式"> <el-form-item label="联系方式">
<el-input v-model="form.contactInfo" placeholder="请输入联系方式" style="width:335px" /> <el-input v-model="form.contact" placeholder="请输入联系方式" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
</el-row> <el-form-item label="服务项目" prop="serviceItems">
<el-row :gutter="24"> <el-input v-model="form.serviceItems" placeholder="请输入服务项目" type="textarea" style="width:600px" />
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="8">
<el-form-item label="服务城市">
<el-select placeholder="请服务选择城市" multiple v-model="form.serviceCity" style="width: 163px" filterable allow-create default-first-option>
<el-option v-for="(item,index) in datingConfig.serviceCity" :key="index" :label="item" :value="item" />
</el-select>
</el-form-item>
</el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="8">
<el-form-item label="服务种类" prop="serviceItems">
<el-select placeholder="请服务服务种类" v-model="form.serviceItems" style="width: 163px" multiple filterable allow-create default-first-option>
<el-option v-for="(item,index) in datingConfig.serviceItems" :key="index" :label="item" :value="item" />
</el-select>
</el-form-item>
</el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="8">
<el-form-item label="服务方式">
<el-select placeholder="请服务方式" multiple filterable v-model="form.serviceType" style="width: 163px" allow-create default-first-option>
<el-option v-for="(item,index) in datingConfig.serviceType" :key="index" :label="item" :value="item" />
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :lg="24" :md="24" :sm="24" :xl="24" :xs="24">
</el-row> <el-form-item label="简介">
<el-row :gutter="24"> <el-input v-model="form.introduction" placeholder="请输入简介" type="textarea" style="width:600px" />
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="8">
<el-form-item label="分辨率宽">
<el-input disabled v-model.number="form.width" placeholder="请输入分辨率宽" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="8"> </el-row>
<el-form-item label="分辨率高"> <el-row :gutter="24">
<el-input disabled v-model.number="form.height" placeholder="请输入分辨率高" /> <el-col :lg="24" :md="24" :sm="24" :xl="24" :xs="24">
<el-form-item label="妹子图片">
<UploadImgArr @changeImgUrl="changeImagesUrl" :img="form.images" style="width:500px"></UploadImgArr>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :lg="24" :md="24" :sm="24" :xl="24" :xs="24"> <el-col :lg="24" :md="24" :sm="24" :xl="24" :xs="24">
<el-form-item label="跳转链接"> <el-form-item label="妹子视频">
<el-input v-model="form.url" placeholder="请输入跳转链接" style="width: 500px" /> <div v-if="form.videoUrl" style="width: 380px; height: 240px; overflow: hidden">
<DPlayer
ref="player"
:video="{
url: '/api/web/media/m3u8/' + filterM3u8(form.videoUrl),
type: 'hls',
pic: '',
}"
hotkey
:autoplay="false"
@playing="onPlayerPlay"
@pause="onPlayerPause"
@loadeddata="onPlayerLoadeddata"
@error="onPlayerError"
@ended="onPlayerEnded"
@waiting="onPlayerWaiting"></DPlayer>
</div>
<UploadVideo @changeVideoUrl="changeVideoUrl" @repeatVideo="repeatVideo" style="max-width: 520px"></UploadVideo>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="8">
<el-form-item label="视频URl"> <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<el-input disabled v-model="form.videoUrl" placeholder="请输入视频URl" /> <el-form-item label="视频url">
<el-input disabled v-model="form.videoUrl" style="width:700px"> </el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="8"> <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<el-form-item label="视频ID"> <el-form-item label="视频ID">
<el-input v-model="form.taskID" placeholder="请输入视频ID" /> <el-input disabled style="width: 700px" v-model="form.taskID" placeholder="上传视频自动生成ID" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="8">
<el-form-item label="虚拟购买次数" prop="sells">
<el-input v-model.number="form.fake.sells" placeholder="请输入购买次数" style="width:150px" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="8"> <el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="8">
<el-form-item label="购买次数" prop="buys"> <el-form-item label="虚拟收藏次数" prop="collects">
<el-input v-model.number="form.fake.buys" placeholder="请输入购买次数" /> <el-input v-model.number="form.fake.collects" placeholder="请输入收藏次数" style="width:150px" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="8"> <el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="8">
<el-form-item label="收藏次数" prop="likes"> <el-form-item label="虚拟观看次数" prop="watches">
<el-input v-model.number="form.fake.likes" placeholder="请输入收藏次数" /> <el-input v-model.number="form.fake.watches" placeholder="请输入观看次数" style="width:150px" />
</el-form-item>
</el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="8">
<el-form-item label="观看次数" prop="looks">
<el-input v-model.number="form.fake.looks" placeholder="请输入观看次数" />
</el-form-item>
</el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="8">
<el-form-item label="报告次数" prop="reports">
<el-input v-model.number="form.fake.reports" placeholder="请输入报告次数" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -165,123 +180,104 @@
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
import { import { datingGirlAdd, datingGirlUpdate } from '@/api/datingManagement/datingModel'
datingModelAdd,
datingModelUpdate,
} from '@/api/datingManagement/datingModel'
import UploadImgArr from '@/components/UploadImgArr/index' import UploadImgArr from '@/components/UploadImgArr/index'
import UploadImg from '@/components/UploadImg/index' import { changeMoneyYuan, changeMoneyFen } from '@/filters/index'
import {
changeMoneyYuan,
changeMoneyFen,
arryToString,
stringToArry,
} from '@/filters/index'
import { bustSizeList } from '@/filters/dating/datingManagement'
import { getMediaStatusList } from '@/filters/dating/datingModel' import { getMediaStatusList } from '@/filters/dating/datingModel'
import DPlayer from '@/components/VueDplayerHls/index'
import UploadVideo from '@/components/UploadVideo/index'
export default { export default {
name: 'AddOrEdit', name: 'AddOrEdit',
props: ['data', 'bossList', 'datingConfig'], props: ['data', 'bossList', 'cityList'],
components: { components: {
UploadImgArr, UploadImgArr,
UploadImg, DPlayer,
UploadVideo
}, },
data() { data() {
return { return {
Visible: true, Visible: true,
title: '', title: '',
bustSizeList: bustSizeList(),
getMediaStatusList: getMediaStatusList(), getMediaStatusList: getMediaStatusList(),
tags: undefined, serviceItems: undefined,
// 表单数据 // 表单数据
form: { form: {
bossId: undefined, // 茶老板(经纪人)Id
bossId: undefined, age: undefined, // 年龄
cupValue: undefined, city: undefined, // 服务城市
title: undefined, // 标题 address: undefined, // 地址'string',
girlHeight: undefined, // 身高 beauty: undefined, // 颜值 'string',
girlAge: undefined, // 年龄 bust: undefined, // 胸围 'string',
height: undefined, // 分辨率高 consumePrice: undefined, // 消费价格 0,
contact: undefined, // 联系方式 'string',
exId: undefined, // 外部ID 0,
height: undefined, // 身高
id: undefined, // 嫩模ID id: undefined, // 嫩模ID
tags: undefined, // 标签 images: [],
price: undefined, // 价格 price: undefined, // 价格
rank: undefined, // 排序 recommend: undefined, // 是否推荐 1:推荐0,
reservationPrice: undefined, // 预约价格 introduction: undefined, // 简介'string',
status: undefined, // 启用状态 reports: undefined, // 0,验证报告次数
taskID: undefined, // 视频ID
videoUrl: undefined, // 视频URl
width: undefined, // 分辨率宽
videoCover: undefined, // 视频封面
serviceCity: undefined, // 服务城市
serviceItems: undefined, // 服务种类 serviceItems: undefined, // 服务种类
serviceType: undefined, // 服务方式 servicePrice: undefined, // 服务价格'string',
videoTime: undefined, // 视频时间 status: undefined, // 启用状态
size: undefined, // 视频大小 title: undefined, // 标题
url: undefined, userId: undefined, // 用户id 0,
type: undefined, // 妹子类型 0,
verified: undefined, // 是否验证 0:未验证 1:已验证 0,
videoUrl: undefined, // 妹子视频
fake: { fake: {
buys: undefined, // 购买次数 sells: undefined, // 购买次数
likes: undefined, // 收藏次数 collects: undefined, // 收藏次数
looks: undefined, // 观看次数 watches: undefined // 观看次数
reports: undefined, // 报告次数 }
}, },
}, rules: {}
rules: {},
} }
}, },
mounted() { mounted() {
this.title = this.data.title this.title = this.data.title
if (this.title === '编辑') { if (this.title === '编辑') {
this.form = JSON.parse(JSON.stringify(this.data.data)) this.form = JSON.parse(JSON.stringify(this.data.data))
if (this.form.tags) { this.form.price = changeMoneyYuan(this.data.data.price)
this.form.tags = arryToString(this.form.tags)
}
this.form.reservationPrice = changeMoneyYuan(
this.data.data.reservationPrice
)
} }
}, },
methods: { methods: {
//TODO:新增嫩模列表数据 // TODO:新增楼凤外围数据
add(data) { add(data) {
datingModelAdd(data).then((res) => { datingGirlAdd(data).then(res => {
if (res.code === 200) { if (res.code === 200) {
this.$message.success('新增成功') this.$message.success('新增成功')
this.Visible = false this.close()
} else { } else {
this.$message.error('新增失败') this.$message.error('新增失败')
} }
}) })
}, },
//TODO:编辑嫩模列表数据 // TODO编辑楼凤外围数据
update(data) { update(data) {
datingModelUpdate(data).then((res) => { datingGirlUpdate(data).then(res => {
if (res.code === 200) { if (res.code === 200) {
this.$message.success('更新成功') this.$message.success('更新成功')
this.Visible = false this.close()
} else { } else {
this.$message.error('更新失败') this.$message.error(res.data ? res.data : '更新失败')
} }
}) })
}, },
// 提交按钮 // 提交按钮
submit(formName) { submit(formName) {
this.$refs[formName].validate((valid) => { this.$refs[formName].validate(valid => {
if (valid) { if (valid) {
let param = JSON.parse(JSON.stringify(this.form)) const param = JSON.parse(JSON.stringify(this.form))
if (param.tags) { param.price = changeMoneyFen(this.form.price)
param.tags = stringToArry(param.tags)
}
param.reservationPrice = param.reservationPrice
? changeMoneyFen(param.reservationPrice)
: 0
if (this.title === '新增') { if (this.title === '新增') {
this.add(param) this.add(param)
} else if (this.title === '编辑') { } else if (this.title === '编辑') {
const data = { const data = {
id: this.data.data.id, id: param.id,
param: param, param: param
} }
this.update(data) this.update(data)
} }
@@ -291,9 +287,6 @@ export default {
}) })
}, },
changeCoverImgUrl(data) {
this.form.videoCover = data
},
changeImagesUrl(data) { changeImagesUrl(data) {
this.form.images = data this.form.images = data
}, },
@@ -301,7 +294,32 @@ export default {
close() { close() {
this.$emit('close') this.$emit('close')
}, },
// 上传视频返回地址
changeVideoUrl(data) {
this.form.videoUrl = data.videoUri
this.form.taskID = data.id
}, },
// 重复上传视频
repeatVideo(data) {
// this.taskId = data.taskId
// this.getData()
},
// / 监听视频播放的回调函数
onPlayerPlay() {},
// / 监听暂停播放的回调函数
onPlayerPause() {},
// / 监听当前视频数据加载完成
onPlayerLoadeddata() {},
// / 监听当前视频数据加载失败
onPlayerError() {},
// / 监听当前视频数据加载ing
onPlayerWaiting() {},
// / 监听当前视频播放完成
onPlayerEnded() {},
filterM3u8(v) {
return /\.m3u8/g.test(v) ? v : v + '.m3u8'
}
}
} }
</script> </script>
@@ -1,76 +0,0 @@
<!--
* @Author:
* @Mail:
* @Date: 2022-03-14 15:21:40
* @LastEditTime: 2022-06-08 15:02:24
* @LastEditors: Please set LastEditors
* @FilePath: /comics-admin/src/views/datingManagement/datingModel/components/auditEdit.vue
-->
<template>
<el-dialog :title="title" :visible.sync="Visible" width="600px" center class="ac-dialog" :close-on-click-modal="false" @close="close">
<el-form :inline="true" class="demo-form-inline" label-width="80px" label-position="right">
<el-row :gutter="24">
<el-col :lg="24" :md="24" :sm="24" :xl="24" :xs="24">
<el-form-item label="审核结果">
<el-select placeholder="请选择审核结果" clearable v-model="form.status">
<el-option :key="true" label="通过" :value="true" />
<el-option :key="false" label="拒绝" :value="false" />
</el-select>
</el-form-item>
</el-col>
<el-col :lg="24" :md="24" :sm="24" :xl="24" :xs="24">
<el-form-item label="备注">
<el-input v-model="form.remark" placeholder="请输入备注" type="textarea" style="width: 420px" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="Visible = false"> </el-button>
<el-button type="primary" @click="submit"> </el-button>
</div>
</el-dialog>
</template>
<script>
import { datingModeAudit } from '@/api/datingManagement/datingModel'
export default {
name: 'AddOrEdit',
props: ['data'],
components: {},
data() {
return {
Visible: true,
title: '',
form: {
id: undefined,
status: undefined,
remark: undefined,
},
}
},
mounted() {
this.title = this.data.title
this.form.id = this.data.data.id
},
methods: {
//TODO:审核嫩模
submit() {
datingModeAudit(this.form).then((res) => {
if (res.code === 200) {
this.$message.success('提交成功')
this.Visible = false
} else {
this.$message.error(res.data)
}
})
},
// 关闭编辑
close() {
this.$emit('close')
},
},
}
</script>
@@ -0,0 +1,125 @@
<!-- eslint-disable vue/max-attributes-per-line -->
<!--
* @Author:
* @Mail:
* @Date: 2022-06-13 15:33:58
* @LastEditTime: 2025-02-12 10:59:16
* @LastEditors: Administrator admin@example.com
* @FilePath: /aiqi_admin/src/views/datingManagement/datingModel/components/batch.vue
-->
<template>
<el-dialog :title="title" :visible.sync="Visible" width="700px" center class="ac-dialog" :close-on-click-modal="false"
@close="close">
<el-form :inline="true" :model="form" :rules="rules" ref="ruleForm" class="demo-form-inline" label-width="120px"
label-position="right">
<el-row :gutter="24">
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="联系方式">
<el-input v-model="form.contact" placeholder="请输入联系方式" />
</el-form-item>
</el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="楼凤上架状态">
<el-select placeholder="请选择楼凤上架状态" v-model="form.status" style="width: 160px" filterable
allow-create default-first-option>
<el-option v-for="(item, index) in getMediaStatusList" :key="index" :label="item.label"
:value="item.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="推荐值">
<el-input v-model.number="form.recommend" placeholder="请输入推荐值" />
</el-form-item>
</el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="验证状态">
<el-switch v-model="form.verified" active-color="#13ce66" :active-value="1"
:inactive-value="0"></el-switch>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="Visible = false"> </el-button>
<el-button type="primary" @click="submit"> </el-button>
</div>
</el-dialog>
</template>
<script>
import { getMediaStatusList } from '@/filters/dating/datingModel'
import { datingGirlUpdatemany } from '@/api/datingManagement/datingModel'
// import { datingGirlUpdate } from '@/api/datingManagement/datingModel'
export default {
name: 'Batch',
props: ['data'],
data() {
return {
getMediaStatusList: getMediaStatusList(),
Visible: true,
title: '',
idArr: [],
// 表单数据
form: {
contact: undefined,
status: undefined,
recommend: undefined,
verified: undefined
},
rules: {
contact: undefined
}
}
},
mounted() {
},
methods: {
// TODO:批量设置视频列表数据
submit() {
const param = JSON.parse(JSON.stringify(this.form))
const arr = []
this.data.forEach(item => {
arr.push(item.id)
})
const params = {
ids: arr,
param: param
}
datingGirlUpdatemany(params).then((res) => {
if (res.code === 200) {
this.$message.success('设置成功')
this.close()
} else {
this.$message.error('设置失败')
}
})
// this.data.forEach((item) => {
// const data = {
// id: item.id,
// param: param
// }
// datingGirlUpdatemany(data).then((res) => {
// if (res.code === 200) {
// this.$message.success(item.id + '设置成功')
// this.close()
// } else {
// this.$message.error(item.id + '设置失败')
// }
// })
// })
},
// 关闭编辑
close() {
this.$emit('close')
}
}
}
</script>
@@ -0,0 +1,101 @@
<template>
<el-dialog :close-on-click-modal="false" :title="title" :visible.sync="Visible" @close="close" center class="ac-dialog" width="500px">
<el-form :inline="true" :model="form" class="demo-form-inline" label-position="right" label-width="100px" ref="form">
<el-row :gutter="24" v-if="title === '添加评论'">
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="12">
<el-form-item label="用户ID">
<el-input v-model="form.userId" placeholder="请输入用户ID" />
</el-form-item>
</el-col>
<el-col :lg="24" :md="24" :sm="24" :xl="24" :xs="24">
<el-form-item label="评论内容">
<el-input v-model="form.text" type="textarea" style="width:450px" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="dialog-footer" slot="footer">
<el-button @click="Visible=false"> </el-button>
<el-button @click="submit('form')" type="primary"> </el-button>
</div>
</el-dialog>
</template>
<script>
import { commentReply } from '@/api/videoManagement/commentManage'
import { commentManageTypelList } from '@/filters/videoManagement/commentManage'
export default {
name: 'AvList',
props: ['data'],
data() {
return {
commentManageTypelList: commentManageTypelList(),
Visible: true,
title: '',
// 表单数据
form: {
objectId: undefined, // 对象id
parentsId: undefined, // 评论id
replyId: undefined, // 回复ID
text: undefined, // 评论内容
userId: undefined, // 用户id
total: undefined,
objectType: undefined
}
}
},
created() {
this.form.parentsId = this.data.parentsId
this.form.postId = this.data.postId
this.form.replyId = this.data.id
},
mounted() {
this.title = this.data.title
this.form = { ...this.data.data }
this.formData = Object.assign({}, this.form)
if (this.title === '回复消息') {
this.form.userId = 0
}
},
methods: {
// TODO:帖子添加评论
commentReplyFun(data) {
commentReply(data).then((res) => {
if (res.code === 200) {
this.$message.success('回复成功')
this.Visible = false
} else {
this.$message.error('回复失败')
}
})
},
// 提交
submit(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
if (this.title === '添加评论') {
this.form.objectId = this.form.objectId
? Number(this.form.objectId)
: 0
this.form.userId = this.form.userId ? Number(this.form.userId) : 0
this.form.parentsId = this.form.parentsId
? Number(this.form.parentsId)
: 0
this.form.replyId = this.form.replyId
? Number(this.form.replyId)
: 0
}
this.commentReplyFun(this.form)
}
})
},
// 关闭编辑
close() {
this.$emit('close', false)
}
}
}
</script>
+203 -176
View File
@@ -1,4 +1,3 @@
<template> <template>
<div class="pf-warpper avlist"> <div class="pf-warpper avlist">
<el-row class="table-form"> <el-row class="table-form">
@@ -9,14 +8,17 @@
<el-form-item> <el-form-item>
<el-input placeholder="请输入标题" clearable v-model.number="searchData.title" @clear="onClear('title')" /> <el-input placeholder="请输入标题" clearable v-model.number="searchData.title" @clear="onClear('title')" />
</el-form-item> </el-form-item>
<el-form-item>
<el-input placeholder="请输入用户ID" clearable v-model.number="searchData.userId" @clear="onClear('userId')" />
</el-form-item>
<el-form-item> <el-form-item>
<el-select placeholder="请选择商家" clearable v-model="searchData.bossId" @clear="onClear('bossId')" filterable allow-create default-first-option> <el-select placeholder="请选择商家" clearable v-model="searchData.bossId" @clear="onClear('bossId')" filterable allow-create default-first-option>
<el-option v-for="item in bossList" :key="item.id" :label="item.name" :value="item.id" /> <el-option v-for="item in bossList" :key="item.id" :label="item.name" :value="item.id" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-select placeholder="请选择媒体上架状态" clearable v-model="searchData.status" @clear="onClear('status')"> <el-select placeholder="请选择上架状态" clearable v-model="searchData.status" @clear="onClear('status')">
<el-option v-for="(item,index) in getMediaStatusList" :key="index" :label="item.label" :value="item.value" /> <el-option v-for="(item, index) in getMediaStatusList" :key="index" :label="item.label" :value="item.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
@@ -24,37 +26,52 @@
<el-option v-for="item in loufengSortTypeList" :key="item.value" :label="item.label" :value="item.value" /> <el-option v-for="item in loufengSortTypeList" :key="item.value" :label="item.label" :value="item.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item>
<el-select placeholder="请选择是否验证" clearable v-model="searchData.verified" @clear="onClear('verified')">
<el-option label="已验证" :value="1" />
<el-option label="未验证" :value="0" />
</el-select>
</el-form-item>
<el-form-item>
<el-select placeholder="请选择妹子类型" clearable v-model="searchData.type" @clear="onClear('type')">
<el-option label="楼凤" :value="1" />
<el-option label="外围" :value="2" />
</el-select>
</el-form-item>
<el-form-item> <el-form-item>
<el-button @click="onSearch" icon="el-icon-search" plain type="primary">搜索</el-button> <el-button @click="onSearch" icon="el-icon-search" plain type="primary">搜索</el-button>
<el-button @click="add" icon="el-icon-circle-plus-outline" plain type="success">新增</el-button> <el-button @click="add" icon="el-icon-circle-plus-outline" plain type="success">新增</el-button>
<el-button @click="setLoufeng" icon="el-icon-circle-plus-outline" plain type="success">批量设置楼凤</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-row> </el-row>
<el-row> <el-row>
<el-col> <el-col>
<el-table :data="resData" element-loading-text="拼命加载中" border height="750" highlight-current-row style="width: 100%" v-loading="loading" :row-style="{ height: '70px' }"> <el-table
<el-table-column align="center" label="排序"> :data="resData"
<template slot-scope="scope">{{ scope.row.rank }}</template> element-loading-text="拼命加载中"
</el-table-column> border
<el-table-column align="center" label="嫩模ID"> height="750"
highlight-current-row
style="width: 100%"
v-loading="loading"
:row-style="{ height: '70px' }"
@selection-change="handleSelectionChange">
<el-table-column type="selection" width="50"> </el-table-column>
<el-table-column align="center" label="ID">
<template slot-scope="scope">{{ scope.row.id }}</template> <template slot-scope="scope">{{ scope.row.id }}</template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="商家Id" width="120"> <el-table-column align="center" label="妹子类型">
<template slot-scope="scope">{{ scope.row.bossId }}</template> <template slot-scope="scope">{{ scope.row.type | filterType }}</template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="商家名称" width="120"> <el-table-column align="center" label="用户ID">
<template slot-scope="scope"> <template slot-scope="scope">{{ scope.row.userId }}</template>
{{ scope.row.bossId|changeName(bossList,'id','name') }}
</template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="名称" width="150"> <el-table-column align="center" label="名称" width="150">
<template slot-scope="scope">{{ scope.row.title }}</template> <template slot-scope="scope">{{ scope.row.title }}</template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="媒体上架状态" width="150"> <el-table-column align="center" label="简介" width="300" show-overflow-tooltip>
<template slot-scope="scope">{{ scope.row.status | changeMediaStatusType}}</template> <template slot-scope="scope">{{ scope.row.introduction }}</template>
</el-table-column>
<el-table-column align="center" label="年龄">
<template slot-scope="scope">{{ scope.row.girlAge }}</template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="妹子图片" width="120"> <el-table-column align="center" label="妹子图片" width="120">
<template slot-scope="scope" v-if="scope.row.images"> <template slot-scope="scope" v-if="scope.row.images">
@@ -62,185 +79,179 @@
<ShowImg v-else style="width: 40px; height: 40px; margin: 0 auto;line-height: 40px" :urls="scope.row.images"></ShowImg> <ShowImg v-else style="width: 40px; height: 40px; margin: 0 auto;line-height: 40px" :urls="scope.row.images"></ShowImg>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="启用状态"> <el-table-column align="center" label="妹子视频">
<template slot-scope="scope">{{ scope.row.status?'启用':'未启用' }}</template>
</el-table-column>
<el-table-column align="center" label="罩杯">
<template slot-scope="scope">{{ scope.row.cupValue | changeBustSizeType}}</template>
</el-table-column>
<el-table-column align="center" label="身高">
<template slot-scope="scope">{{ scope.row.girlHeight }}</template>
</el-table-column>
<el-table-column align="center" label="价格">
<template slot-scope="scope">{{ scope.row.price | changeMoneyYuan }}</template>
</el-table-column>
<el-table-column align="center" label="联系方式" width="300" show-overflow-tooltip>
<template slot-scope="scope">{{ scope.row.contactInfo }}</template>
</el-table-column>
<el-table-column width="150" align="center" label="跳转链接">
<template slot-scope="scope">{{
scope.row.url
}}
</template>
</el-table-column>
<el-table-column align="center" label="预约价格">
<template slot-scope="scope">{{ scope.row.reservationPrice | changeMoneyYuan }}</template>
</el-table-column>
<el-table-column align="center" label="服务种类" width="200">
<template slot-scope="scope">
<el-tag :key="index + 'tagData'" style="margin: 2px" v-for="(item, index) in scope.row.serviceItems" size="mini">
{{ item }}
</el-tag>
</template>
</el-table-column>
<el-table-column align="center" label="服务方式" width="150">
<template slot-scope="scope">
<el-tag :key="index + 'tagData'" style="margin: 2px" v-for="(item, index) in scope.row.serviceType" size="mini">
{{ item }}
</el-tag>
</template>
</el-table-column>
<el-table-column align="center" label="服务城市" width="500" show-overflow-tooltip>
<template slot-scope="scope">
<el-tag :key="index + 'tagData'" style="margin: 2px" v-for="(item, index) in scope.row.serviceCity" size="mini">
{{ item }}
</el-tag>
</template>
</el-table-column>
<el-table-column align="center" label="标签" width="150">
<template slot-scope="scope" v-if="scope.row.tags">
<el-tag :key="index + 'tagData'" style="margin: 2px" v-for="(item, index) in scope.row.tags" size="mini">
{{ item }}
</el-tag>
</template>
</el-table-column>
<el-table-column align="center" label="预览视频">
<template slot-scope="scope"> <template slot-scope="scope">
<i v-if="scope.row.videoUrl" class="el-icon-video-play views" title="点击预览" @click="checkMedia(scope.row.videoUrl, scope.row)"></i> <i v-if="scope.row.videoUrl" class="el-icon-video-play views" title="点击预览" @click="checkMedia(scope.row.videoUrl, scope.row)"></i>
<div v-else>暂无</div> <div v-else>暂无</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="视频ID" width="150"> <el-table-column align="center" label="服务价格" width="150">
<template slot-scope="scope">{{ scope.row.videoId }}</template> <template slot-scope="scope">{{ scope.row.servicePrice }}</template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="视频URl" width="250"> <el-table-column align="center" label="城市">
<template slot-scope="scope">{{ scope.row.videoUrl }}</template> <template slot-scope="scope">{{ scope.row.city }}</template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="视频封面"> <el-table-column align="center" label="地址" width="200">
<template slot-scope="scope">{{ scope.row.address }}</template>
</el-table-column>
<el-table-column align="center" label="年龄">
<template slot-scope="scope">{{ scope.row.age }}</template>
</el-table-column>
<el-table-column align="center" label="推荐值">
<template slot-scope="scope"> <template slot-scope="scope">
<ShowImg style="width: 40px; height: 40px; margin: 0 auto;line-height: 40px" :urls="scope.row.videoCover"></ShowImg> <el-tag type="success">{{ scope.row.recommend }}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="颜值" width="200">
<template slot-scope="scope">{{ scope.row.beauty }}</template>
</el-table-column>
<el-table-column align="center" label="胸围">
<template slot-scope="scope">{{ scope.row.bust }}</template>
</el-table-column>
<el-table-column align="center" label="身高">
<template slot-scope="scope">{{ scope.row.height }}</template>
</el-table-column>
<el-table-column align="center" label="消费价格">
<template slot-scope="scope">{{ scope.row.consumePrice | changeMoneyYuan }}</template>
</el-table-column>
<el-table-column align="center" label="联系方式" width="300">
<template slot-scope="scope">{{ scope.row.contact }}</template>
</el-table-column>
<el-table-column align="center" label="外部ID">
<template slot-scope="scope">{{ scope.row.exId }}</template>
</el-table-column>
<el-table-column align="center" label="经纪人Id" width="120">
<template slot-scope="scope">{{ scope.row.bossId }}</template>
</el-table-column>
<el-table-column align="center" label="价格" width="150">
<template slot-scope="scope">{{ scope.row.price | changeMoneyYuan }}</template>
</el-table-column>
<el-table-column align="center" label="服务种类" width="200">
<template slot-scope="scope">
{{ scope.row.serviceItems }}
</template>
</el-table-column>
<el-table-column align="center" label="验证状态">
<template slot-scope="scope">
<el-tag :type="scope.row.verified===1 ? 'success' : 'danger'">{{ scope.row.verified===1 ? '验证' : '未验证' }}</el-tag>
</template>
</el-table-column>
<el-table-column align="center" label="审核备注" width="200">
<template slot-scope="scope">
{{ scope.row.remark }}
</template>
</el-table-column>
<el-table-column align="center" label="假数据"> <el-table-column align="center" label="假数据">
<el-table-column align="center" label="购买次数"> <el-table-column align="center" label="购买次数">
<template slot-scope="scope">{{ <template
scope.row.fake.buys slot-scope="scope">{{ scope.row.fake.sells }}
}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="收藏次数"> <el-table-column align="center" label="收藏次数">
<template slot-scope="scope">{{ <template
scope.row.fake.likes slot-scope="scope">{{ scope.row.fake.collects }}
}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="搜索次数"> <el-table-column align="center" label="观看次数">
<template slot-scope="scope">{{ <template
scope.row.fake.looks slot-scope="scope">{{ scope.row.fake.watches }}
}}
</template>
</el-table-column>
<el-table-column align="center" label="报告次数">
<template slot-scope="scope">{{
scope.row.fake.reports
}}
</template> </template>
</el-table-column> </el-table-column>
</el-table-column> </el-table-column>
<el-table-column align="center" label="真数据"> <el-table-column align="center" label="真数据">
<el-table-column align="center" label="购买次数"> <el-table-column align="center" label="购买次数">
<template slot-scope="scope">{{ <template
scope.row.real.buys slot-scope="scope">{{ scope.row.real.sells }}
}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="收藏次数"> <el-table-column align="center" label="收藏次数">
<template slot-scope="scope">{{ <template
scope.row.real.likes slot-scope="scope">{{ scope.row.real.collects }}
}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="搜索次数"> <el-table-column align="center" label="观看次数">
<template slot-scope="scope">{{ <template
scope.row.real.looks slot-scope="scope">{{ scope.row.real.watches }}
}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="报告次数">
<template slot-scope="scope">{{
scope.row.real.reports
}}
</template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="验证报告次数">
<template slot-scope="scope">{{ scope.row.reports }}</template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="创建时间" width="180"> <el-table-column align="center" label="创建时间" width="180">
<template slot-scope="scope">{{ <template slot-scope="scope">{{ scope.row.createdAt | BeiJingTime }}</template>
scope.row.createdAt | BeiJingTime
}}</template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="更新时间" width="180"> <el-table-column align="center" label="更新时间" width="180">
<template slot-scope="scope">{{ <template slot-scope="scope">{{ scope.row.updatedAt | BeiJingTime }}</template>
scope.row.updatedAt | BeiJingTime
}}</template>
</el-table-column> </el-table-column>
<el-table-column align="center" fixed="right" label="操作" width="255"> <el-table-column align="center" fixed="right" label="操作" width="255">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button @click="onAddComment(scope.row)" size="mini" type="success">添加评论 </el-button>
<el-button @click="handleEdit(scope.$index, scope.row)" size="mini" type="primary">编辑</el-button> <el-button @click="handleEdit(scope.$index, scope.row)" size="mini" type="primary">编辑</el-button>
<el-button v-if="scope.row.status === 3" @click="handleCheck(scope.row)" size="mini" type="primary">审核</el-button>
<el-button @click="handleDelete(scope.$index, scope.row)" size="mini" type="danger">删除</el-button> <el-button @click="handleDelete(scope.$index, scope.row)" size="mini" type="danger">删除</el-button>
<el-button v-if="scope.row.status === 0" size="mini" type="warning" plain disabled>待审核</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-col> </el-col>
</el-row> </el-row>
<div class="table-pagination"> <div class="table-pagination">
<el-pagination :current-page="searchData.pageNum" :page-size="searchData.pageSize" :page-sizes="[10, 20, 30, 50, 100]" :total="total" @current-change="handleCurrentChange" @size-change="handleSizeChange" layout="total, sizes, prev, pager, next, jumper" /> <el-pagination
:current-page="searchData.pageNum"
:page-size="searchData.pageSize"
:page-sizes="[10, 30, 50, 100, 200,500]"
:total="total"
@current-change="handleCurrentChange"
@size-change="handleSizeChange"
layout="total, sizes, prev, pager, next, jumper"/>
</div> </div>
<!-- 新增及编辑 --> <!-- 新增及编辑 -->
<Audit :data="editData" v-if="auditVisible" @close="closeEdit"></Audit> <!-- <EditCom :data="editData" v-if="editComVisible" @close="closeEdit" /> -->
<Edit :data="editData" :bossList="bossList" :datingConfig="datingConfig" v-if="editVisible" @close="closeEdit" /> <Edit :data="editData" :bossList="bossList" :cityList="cityList" v-if="editVisible" @close="closeEdit" />
<Batch :data="selectBatch" v-if="batchVisible" @close="closeEdit"></Batch>
<ShowVideo ref="showvideo"></ShowVideo> <ShowVideo ref="showvideo"></ShowVideo>
</div> </div>
</template> </template>
<script> <script>
// 引入模块 // 引入模块
import Edit from './components/AddOrEdit' import Edit from './components/AddOrEdit'
import Audit from './components/auditEdit' import Batch from './components/batch'
import ShowVideo from '@/components/ShowVideo/index.vue'
import { loufengSortTypeList } from '@/filters/dating/datingManagement' import { loufengSortTypeList } from '@/filters/dating/datingManagement'
import { import { getMediaStatusList } from '@/filters/dating/datingModel'
datingModelList, import { datingGirlList, datingGirlDel } from '@/api/datingManagement/datingModel'
datingModelDel,
} from '@/api/datingManagement/datingModel'
import { datingBossList } from '@/api/datingManagement/datingBoss' import { datingBossList } from '@/api/datingManagement/datingBoss'
import { datingCityList } from '@/api/datingManagement/datingCity' import { datingCityList } from '@/api/datingManagement/datingCity'
import ShowImg from '@/components/ShowImg/index.vue' import ShowImg from '@/components/ShowImg/index.vue'
import { getDatingConfig } from '@/api/datingManagement/datingConfig' import ShowVideo from '@/components/ShowVideo/index.vue'
import { getMediaStatusList } from '@/filters/dating/datingModel' // import EditCom from '@/views/postManagement/postList/components/editCom'
export default { export default {
name: 'DatingModel', name: 'DatingModel',
components: { components: {
Edit, Edit,
Audit, // Audit,
Batch,
ShowImg, ShowImg,
ShowVideo, // EditCom,
ShowVideo
},
filters: {
filterType(val) {
switch (val) {
case 1:
return '楼凤'
case 2:
return '外围'
}
}
}, },
data() { data() {
return { return {
// editComVisible: false, // 添加评论弹窗
auditVisible: false, auditVisible: false,
datingConfig: undefined, // 约炮配置
loufengSortTypeList: loufengSortTypeList(), loufengSortTypeList: loufengSortTypeList(),
getMediaStatusList: getMediaStatusList(), getMediaStatusList: getMediaStatusList(),
// 请求列表参数 // 请求列表参数
@@ -248,11 +259,13 @@ export default {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
id: undefined, id: undefined,
city: undefined, // 城市"string",
bossId: undefined, bossId: undefined,
status: undefined, status: undefined,
title: undefined, title: undefined,
verified: undefined, verified: undefined,
sortType: undefined, sortType: undefined,
type: undefined // 妹子类型
}, },
resData: [], // el-table表格数据 resData: [], // el-table表格数据
editVisible: false, // 新增或编辑弹出框 editVisible: false, // 新增或编辑弹出框
@@ -260,78 +273,91 @@ export default {
loading: true, // 列表加载状态 loading: true, // 列表加载状态
bossList: [], // 经纪人列表 bossList: [], // 经纪人列表
cityList: [], // 城市列表 cityList: [], // 城市列表
selectBatch: [],
batchVisible: false,
// 编辑数据 // 编辑数据
editData: { editData: {
title: '新增', title: '新增',
data: {}, data: {}
}, }
} }
}, },
mounted() { mounted() {
this.onSearchBossList() this.onSearchBossList()
this.onSearchCityList() this.onSearchCityList()
this.onSearchDatingConfig()
this.onSearch() this.onSearch()
}, },
methods: { methods: {
//TODO:获取嫩模配置列表数据 changeObjectType(val) {
onSearchDatingConfig() { switch (val) {
getDatingConfig({}).then((res) => { case 1:
if (res.code === 200) { return 3 // 楼风
this.datingConfig = res.data case 2:
} else { return 4 // 外围
this.datingConfig = []
this.$message.error('请求系统配置失败')
} }
})
}, },
// 添加评论
onAddComment(row) {
const objectType = this.changeObjectType(row.type)
// TODO:获取经纪人列表 this.editData = {
onSearchBossList() { title: '添加评论',
datingBossList({ pageNum: 1, pageSize: 500, param: {} }).then((res) => { data: {
if (res.code === 200) { userId: 0,
this.bossList = res.data.list objectId: row.id,
} else { objectType: objectType
this.bossList = []
this.$message.error('请求经纪人列表失败!')
} }
}) }
// this.editComVisible = true
}, },
//TODO:获取城市列表 // TODO:请求城市列表数据
onSearchCityList() { onSearchCityList() {
datingCityList({ pageNum: 1, pageSize: 500, param: {} }).then((res) => { datingCityList({ pageNum: 1, pageSize: 500, param: {}}).then(res => {
if (res.code === 200) { if (res.code === 200) {
this.cityList = res.data.list this.cityList = res.data.list
} else { } else {
this.cityList = [] this.cityList = []
this.$message.error('请求城市列表失败!') this.$message.error('请求列表失败!')
} }
}) })
}, },
//TODO: 请求嫩模列表数据
// TODO:请求商家列表数据
onSearchBossList() {
datingBossList({ pageNum: 1, pageSize: 500, param: {}}).then(res => {
if (res.code === 200) {
this.bossList = res.data.list
} else {
this.bossList = []
this.$message.error('请求列表失败!')
}
})
},
// TODO:请求楼凤外围列表数据
getDatingModelList() { getDatingModelList() {
this.loading = true this.loading = true
datingModelList(this.searchData).then((res) => { datingGirlList(this.searchData).then(res => {
if (res.code === 200) { if (res.code === 200) {
this.resData = res.data.list this.resData = res.data.list
this.total = res.data.total this.total = res.data.total
} else { } else {
this.$message.error('请求列表失败!')
this.resData = [] this.resData = []
this.total = 0 this.total = 0
this.$message.error('请求列表失败!')
} }
this.loading = false this.loading = false
}) })
}, },
//TODO:删除嫩模列表数据 // TODO:删除楼凤外围列表数据
handleDelete(index, row) { handleDelete(index, row) {
this.$confirm('确定删除?', '警告', { this.$confirm('确定删除?', '警告', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning', type: 'warning'
}).then(() => { }).then(() => {
datingModelDel({ id: row.id }).then((res) => { datingGirlDel({ id: row.id }).then(res => {
if (res.code === 200) { if (res.code === 200) {
this.getDatingModelList() this.getDatingModelList()
this.$message.success('成功删除!') this.$message.success('成功删除!')
@@ -341,13 +367,13 @@ export default {
}) })
}) })
}, },
setLoufeng() {
this.batchVisible = true
},
handleCheck(row) { // 批量选择
this.auditVisible = true handleSelectionChange(val) {
this.editData = { this.selectBatch = val
title: '审核',
data: row,
}
}, },
onSearch() { onSearch() {
@@ -369,27 +395,29 @@ export default {
// 新增按钮 // 新增按钮
add() { add() {
this.editVisible = true
this.editData = { this.editData = {
title: '新增', title: '新增',
data: {}, data: {}
} }
this.editVisible = true
}, },
// 编辑按钮 // 编辑按钮
handleEdit(index, row) { handleEdit(index, row) {
this.editVisible = true
this.editData = { this.editData = {
title: '编辑', title: '编辑',
data: row, data: row
} }
this.editVisible = true
}, },
// 关闭编辑弹窗 // 关闭编辑弹窗
closeEdit() { closeEdit() {
this.editData = { this.editData = {
title: '新增', title: '新增',
data: {}, data: {}
} }
// this.editComVisible = false
this.batchVisible = false
this.auditVisible = false this.auditVisible = false
this.editVisible = false this.editVisible = false
this.getDatingModelList() this.getDatingModelList()
@@ -402,8 +430,7 @@ export default {
// 视频查看 // 视频查看
checkMedia(url, data) { checkMedia(url, data) {
this.$refs.showvideo.open(url, data, data.id) this.$refs.showvideo.open(url, data, data.id)
}, }
}, }
} }
</script> </script>
@@ -1,105 +0,0 @@
<!--
* @Author:
* @Mail:
* @Date: 2022-03-14 15:21:40
* @LastEditTime: 2022-06-08 15:48:21
* @LastEditors: Please set LastEditors
* @FilePath: /comics-admin/src/views/datingManagement/datingOrder/components/AddOrEdit.vue
-->
<template>
<el-dialog :title="title" :visible.sync="Visible" width="900px" center class="ac-dialog" :close-on-click-modal="false" @close="close">
<el-form :inline="true" :model="form" ref="ruleForm" class="demo-form-inline" label-width="120px" label-position="right">
<el-row :gutter="24">
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="12">
<el-form-item label="对象ID">
<el-input v-model.number="form.objectId" placeholder="请输入对象ID" />
</el-form-item>
</el-col>
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="用户ID">
<el-input v-model.number="form.userId" placeholder="请输入用户ID" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="对象类型">
<el-select placeholder="请选择对象类型" clearable v-model="form.objectType" style="width: 163px">
<el-option v-for="item in modelIdList" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="价格">
<el-input v-model.number="form.price" placeholder="请输入价格" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="Visible = false"> </el-button>
<el-button type="primary" @click="submit('ruleForm')"> </el-button>
</div>
</el-dialog>
</template>
<script>
import { datingOrderAdd } from '@/api/datingManagement/datingOrder'
import { changeMoneyYuan, changeMoneyFen } from '@/filters/index'
import { modelIdList } from '@/filters/dating/datingManagement'
export default {
name: 'AddOrEdit',
props: ['data'],
data() {
return {
Visible: true,
title: '',
modelIdList: modelIdList(),
price: undefined,
// 表单数据
form: {
objectId: undefined,
objectType: undefined,
price: undefined,
userId: undefined,
},
}
},
mounted() {
this.title = this.data.title
},
methods: {
//TODO:新增订单列表数据
add(data) {
datingOrderAdd(data).then((res) => {
if (res.code === 200) {
this.$message.success('新增成功')
this.Visible = false
} else {
this.$message.error('新增失败')
}
})
},
// 提交按钮
submit(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
let param = JSON.parse(JSON.stringify(this.form))
param.price = this.form.price ? changeMoneyFen(this.form.price) : 0
if (this.title === '新增') {
this.add(param)
}
} else {
return false
}
})
},
// 关闭编辑
close() {
this.$emit('close')
},
},
}
</script>
@@ -19,7 +19,6 @@
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="onSearch" icon="el-icon-search" plain type="primary">搜索</el-button> <el-button @click="onSearch" icon="el-icon-search" plain type="primary">搜索</el-button>
<el-button @click="add" icon="el-icon-circle-plus-outline" plain type="success">新增</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-row> </el-row>
@@ -70,23 +69,20 @@
<div class="table-pagination"> <div class="table-pagination">
<el-pagination :current-page="searchData.pageNum" :page-size="searchData.pageSize" :page-sizes="[10, 20, 30, 50, 100]" :total="total" @current-change="handleCurrentChange" @size-change="handleSizeChange" layout="total, sizes, prev, pager, next, jumper" /> <el-pagination :current-page="searchData.pageNum" :page-size="searchData.pageSize" :page-sizes="[10, 20, 30, 50, 100]" :total="total" @current-change="handleCurrentChange" @size-change="handleSizeChange" layout="total, sizes, prev, pager, next, jumper" />
</div> </div>
<Edit :data="editData" v-if="editVisible" @close="closeEdit" />
</div> </div>
</template> </template>
<script> <script>
// 引入模块 // 引入模块
import Edit from './components/AddOrEdit'
import { modelIdList } from '@/filters/dating/datingManagement' import { modelIdList } from '@/filters/dating/datingManagement'
import { import {
datingOrderList, datingOrderList,
datingOrderDel, datingOrderDel
} from '@/api/datingManagement/datingOrder' } from '@/api/datingManagement/datingOrder'
import ShowImg from '@/components/ShowImg/index.vue' import ShowImg from '@/components/ShowImg/index.vue'
export default { export default {
name: 'DatingOrder', name: 'DatingOrder',
components: { components: {
Edit, ShowImg
ShowImg,
}, },
data() { data() {
return { return {
@@ -100,17 +96,18 @@ export default {
objectId: undefined, objectId: undefined,
objectType: undefined, objectType: undefined,
start: undefined, start: undefined,
end: undefined, end: undefined
}, },
resData: [], // el-table表格数据 resData: [], // el-table表格数据
editVisible: false, // 新增或编辑弹出框 editVisible: false, // 新增或编辑弹出框
total: 0, // 数据总条数 total: 0, // 数据总条数
loading: true, // 列表加载状态 loading: true, // 列表加载状态
bossList: [], // 经纪人列表
// 编辑数据 // 编辑数据
editData: { editData: {
title: '新增', title: '新增',
data: {}, data: {}
}, }
} }
}, },
@@ -118,9 +115,8 @@ export default {
this.onSearch() this.onSearch()
}, },
methods: { methods: {
//TODO:请求订单列表数据 // TODO:请求约炮订单列表数据
getDatingOrderList() { getDatingOrderList() {
this.loading = true
if (this.time) { if (this.time) {
this.searchData.start = this.time[0] this.searchData.start = this.time[0]
this.searchData.end = this.time[1] this.searchData.end = this.time[1]
@@ -128,6 +124,7 @@ export default {
this.searchData.start = undefined this.searchData.start = undefined
this.searchData.end = undefined this.searchData.end = undefined
} }
this.loading = true
datingOrderList(this.searchData).then((res) => { datingOrderList(this.searchData).then((res) => {
if (res.code === 200) { if (res.code === 200) {
this.resData = res.data.list this.resData = res.data.list
@@ -140,12 +137,12 @@ export default {
this.loading = false this.loading = false
}) })
}, },
//TODO删除订单列表数据 // TODO:删除约炮订单列表数据
handleDelete(index, row) { handleDelete(index, row) {
this.$confirm('确定删除?', '警告', { this.$confirm('确定删除?', '警告', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning', type: 'warning'
}).then(() => { }).then(() => {
datingOrderDel({ id: row.id }).then((res) => { datingOrderDel({ id: row.id }).then((res) => {
if (res.code === 200) { if (res.code === 200) {
@@ -174,30 +171,12 @@ export default {
this.getDatingOrderList() this.getDatingOrderList()
}, },
// 新增按钮
add() {
this.editVisible = true
this.editData = {
title: '新增',
data: {},
}
},
// 关闭编辑弹窗
closeEdit() {
this.editData = {
title: '新增',
data: {},
}
this.editVisible = false
this.getDatingOrderList()
},
// 清空某一项筛选列表 // 清空某一项筛选列表
onClear(key) { onClear(key) {
this.searchData[key] = undefined this.searchData[key] = undefined
this.getDatingOrderList() this.getDatingOrderList()
}, }
}, }
} }
</script> </script>
@@ -33,20 +33,16 @@
</el-col> </el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12"> <el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="状态"> <el-form-item label="状态">
<el-select placeholder="请选择状态" clearable v-model="form.status" style="width: 163px"> <el-select placeholder="请选择状态" clearable v-model="form.status" style="width: 163px" disabled>
<el-option v-for="item in reportStatusList" :key="item.value" :label="item.label" :value="item.value" /> <el-option v-for="item in reportStatusList" :key="item.value" :label="item.label" :value="item.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row :gutter="24">
<el-col :lg="24" :md="24" :sm="24" :xl="24" :xs="24"> <el-col :lg="24" :md="24" :sm="24" :xl="24" :xs="24">
<el-form-item label="图片"> <el-form-item label="图片">
<UploadImgArr @changeImgUrl='changeImagesUrl' :img='form.images' style="width:500px"></UploadImgArr> <UploadImgArr @changeImgUrl='changeImagesUrl' :img='form.images' style="width:500px"></UploadImgArr>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row :gutter="24">
<el-col :lg="24" :md="24" :sm="24" :xl="24" :xs="24"> <el-col :lg="24" :md="24" :sm="24" :xl="24" :xs="24">
<el-form-item label="文字内容"> <el-form-item label="文字内容">
<el-input v-model="form.text" placeholder="请输入文字描述" type="textarea" style="width: 420px" /> <el-input v-model="form.text" placeholder="请输入文字描述" type="textarea" style="width: 420px" />
@@ -63,18 +59,18 @@
<script> <script>
import { import {
datingReportAdd, datingReportAdd,
datingReportUpdate, datingReportUpdate
} from '@/api/datingManagement/datingReport' } from '@/api/datingManagement/datingReport'
import UploadImgArr from '@/components/UploadImgArr/index' import UploadImgArr from '@/components/UploadImgArr/index'
import { import {
modelIdList, modelIdList,
reportStatusList, reportStatusList
} from '@/filters/dating/datingManagement' } from '@/filters/dating/datingManagement'
export default { export default {
name: 'AddOrEdit', name: 'AddOrEdit',
props: ['data', 'cityList'], props: ['data', 'cityList'],
components: { components: {
UploadImgArr, UploadImgArr
}, },
data() { data() {
return { return {
@@ -90,23 +86,23 @@ export default {
status: undefined, status: undefined,
text: undefined, text: undefined,
userId: undefined, userId: undefined,
orderId: undefined, orderId: undefined
}, },
rules: { rules: {
userId: [{ required: true, message: '必填', trigger: 'blur' }], userId: [{ required: true, message: '必填', trigger: 'blur' }],
objectId: [{ required: true, message: '必填', trigger: 'blur' }], objectId: [{ required: true, message: '必填', trigger: 'blur' }]
}, }
} }
}, },
mounted() { mounted() {
this.title = this.data.title this.title = this.data.title
if (this.title === '编辑') { if (this.title === '编辑') {
this.form = { ...this.data.data, ...{} } this.form = { ...this.data.data, ...{}}
} }
}, },
methods: { methods: {
//TODO新增体验报告列表 // TODO:新增验证报告数据
add(data) { add(data) {
datingReportAdd(data).then((res) => { datingReportAdd(data).then((res) => {
if (res.code === 200) { if (res.code === 200) {
@@ -117,7 +113,7 @@ export default {
} }
}) })
}, },
//TODO编辑体验报告列表 // TODO:编辑验证报告数据
update(data) { update(data) {
datingReportUpdate(data).then((res) => { datingReportUpdate(data).then((res) => {
if (res.code === 200) { if (res.code === 200) {
@@ -137,7 +133,7 @@ export default {
} else if (this.title === '编辑') { } else if (this.title === '编辑') {
const data = { const data = {
id: this.data.data.id, id: this.data.data.id,
param: this.form, param: this.form
} }
this.update(data) this.update(data)
} }
@@ -153,8 +149,8 @@ export default {
// 关闭编辑 // 关闭编辑
close() { close() {
this.$emit('close') this.$emit('close')
}, }
}, }
} }
</script> </script>
@@ -1,14 +1,14 @@
<!-- <!--
* @Author: * @Author:
* @Mail: * @Mail:
* @Date: 2022-03-14 15:21:40 * @Date: 2022-01-21 16:55:02
* @LastEditTime: 2022-06-08 15:42:25 * @LastEditTime: 2022-05-25 17:38:59
* @LastEditors: * @LastEditors: Please set LastEditors
* @FilePath: /comics-admin/src/views/datingManagement/datingReport/components/Audit.vue * @FilePath: /web_admin/src/views/datingManagement/datingReport/components/Audit.vue
--> -->
<template> <template>
<el-dialog :title="title" :visible.sync="Visible" width="500px" center class="ac-dialog" :close-on-click-modal="false" @close="close"> <el-dialog :title="title" :visible.sync="Visible" width="800px" center class="ac-dialog" :close-on-click-modal="false" @close="close">
<el-form :inline="true" class="demo-form-inline" label-width="120px" label-position="right"> <el-form :inline="true" class="demo-form-inline" label-width="80px" label-position="right">
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="12"> <el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="12">
<el-form-item label="ID"> <el-form-item label="ID">
@@ -17,14 +17,12 @@
</el-col> </el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12"> <el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="审核结果"> <el-form-item label="审核结果">
<el-select placeholder="请选择审核结果" size="mini" v-model="status"> <el-select placeholder="请选择审核结果" v-model="status">
<el-option label="通过" :value="true" /> <el-option label="通过" :value="true" />
<el-option label="拒绝" :value="false" /> <el-option label="拒绝" :value="false" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row :gutter="24">
<el-col :lg="24" :md="24" :sm="24" :xl="24" :xs="24"> <el-col :lg="24" :md="24" :sm="24" :xl="24" :xs="24">
<el-form-item label="备注"> <el-form-item label="备注">
<el-input v-model="form.remark" placeholder="请输入备注" type="textarea" style="width: 420px" /> <el-input v-model="form.remark" placeholder="请输入备注" type="textarea" style="width: 420px" />
@@ -41,7 +39,6 @@
<script> <script>
import { datingReportAudit } from '@/api/datingManagement/datingReport' import { datingReportAudit } from '@/api/datingManagement/datingReport'
export default { export default {
name: 'Audit', name: 'Audit',
props: ['data'], props: ['data'],
@@ -53,38 +50,37 @@ export default {
status: undefined, status: undefined,
form: { form: {
id: undefined, id: undefined,
remark: undefined, remark: undefined
}, }
} }
}, },
mounted() { mounted() {
this.title = this.data.title this.title = this.data.title
this.form = { ...this.data.data, ...{} } this.form = { ...this.data.data, ...{}}
}, },
methods: { methods: {
//TODO:提交体验报告审核 // TODO:审核验证报告
submit() { submit() {
const data = { const data = {
id: this.form.id, id: this.form.id,
status: this.status, status: this.status,
remark: this.form.remark, remark: this.form.remark
} }
datingReportAudit(data).then((res) => { datingReportAudit(data).then((res) => {
if (res.code === 200) { if (res.code === 200) {
this.$message.success('提交成功') this.$message.success('提交成功')
this.Visible = false this.close()
} else { } else {
this.$message.error(res.data) this.$message.error(res.data)
this.Visible = false
} }
}) })
}, },
// 关闭编辑 // 关闭编辑
close() { close() {
this.$emit('close') this.$emit('close')
}, }
}, }
} }
</script> </script>
@@ -59,7 +59,7 @@
<el-table-column align="center" label="状态"> <el-table-column align="center" label="状态">
<template slot-scope="scope">{{ scope.row.status | changeReportStatus }}</template> <template slot-scope="scope">{{ scope.row.status | changeReportStatus }}</template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="文字内容" width="400" show-overflow-tooltip=""> <el-table-column align="center" label="文字内容" width="400">
<template slot-scope="scope">{{ scope.row.text }}</template> <template slot-scope="scope">{{ scope.row.text }}</template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="备注" width="200" show-overflow-tooltip> <el-table-column align="center" label="备注" width="200" show-overflow-tooltip>
@@ -99,11 +99,11 @@ import Edit from './components/AddOrEdit'
import Audit from './components/Audit' import Audit from './components/Audit'
import { import {
modelIdList, modelIdList,
reportStatusList, reportStatusList
} from '@/filters/dating/datingManagement' } from '@/filters/dating/datingManagement'
import { import {
datingReportList, datingReportList,
datingReportDel, datingReportDel
} from '@/api/datingManagement/datingReport' } from '@/api/datingManagement/datingReport'
import { datingCityList } from '@/api/datingManagement/datingCity' import { datingCityList } from '@/api/datingManagement/datingCity'
import ShowImg from '@/components/ShowImg/index.vue' import ShowImg from '@/components/ShowImg/index.vue'
@@ -112,11 +112,10 @@ export default {
components: { components: {
Edit, Edit,
Audit, Audit,
ShowImg, ShowImg
}, },
data() { data() {
return { return {
time: undefined,
modelIdList: modelIdList(), modelIdList: modelIdList(),
reportStatusList: reportStatusList(), reportStatusList: reportStatusList(),
// 请求列表参数 // 请求列表参数
@@ -126,7 +125,7 @@ export default {
userId: undefined, userId: undefined,
objectType: undefined, objectType: undefined,
objectId: undefined, objectId: undefined,
status: undefined, status: undefined
}, },
resData: [], // el-table表格数据 resData: [], // el-table表格数据
editVisible: false, // 新增或编辑弹出框 editVisible: false, // 新增或编辑弹出框
@@ -137,8 +136,8 @@ export default {
// 编辑数据 // 编辑数据
editData: { editData: {
title: '新增', title: '新增',
data: {}, data: {}
}, }
} }
}, },
@@ -149,7 +148,7 @@ export default {
methods: { methods: {
// TODO:请求城市列表数据 // TODO:请求城市列表数据
onSearchCityList() { onSearchCityList() {
datingCityList({ pageNum: 1, pageSize: 500, param: {} }).then((res) => { datingCityList({ pageNum: 1, pageSize: 500, param: {}}).then((res) => {
if (res.code === 200) { if (res.code === 200) {
this.cityList = res.data.list this.cityList = res.data.list
} else { } else {
@@ -158,8 +157,7 @@ export default {
} }
}) })
}, },
// TODO:请求验证报告列表数据
//TODO:请求体验报告列表数据
getDatingReportList() { getDatingReportList() {
this.loading = true this.loading = true
datingReportList(this.searchData).then((res) => { datingReportList(this.searchData).then((res) => {
@@ -174,12 +172,12 @@ export default {
this.loading = false this.loading = false
}) })
}, },
//TODO:删除验报告列表数据 // TODO删除验报告列表数据
handleDelete(index, row) { handleDelete(index, row) {
this.$confirm('确定删除?', '警告', { this.$confirm('确定删除?', '警告', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning', type: 'warning'
}).then(() => { }).then(() => {
datingReportDel({ id: row.id }).then((res) => { datingReportDel({ id: row.id }).then((res) => {
if (res.code === 200) { if (res.code === 200) {
@@ -213,7 +211,7 @@ export default {
this.editVisible = true this.editVisible = true
this.editData = { this.editData = {
title: '新增', title: '新增',
data: {}, data: {}
} }
}, },
// 编辑按钮 // 编辑按钮
@@ -221,7 +219,7 @@ export default {
this.editVisible = true this.editVisible = true
this.editData = { this.editData = {
title: '编辑', title: '编辑',
data: row, data: row
} }
}, },
@@ -229,7 +227,7 @@ export default {
this.auditVisible = true this.auditVisible = true
this.editData = { this.editData = {
title: '审核', title: '审核',
data: row, data: row
} }
}, },
@@ -237,18 +235,19 @@ export default {
closeEdit() { closeEdit() {
this.editData = { this.editData = {
title: '新增', title: '新增',
data: {}, data: {}
} }
this.editVisible = false this.editVisible = false
this.auditVisible = false this.auditVisible = false
this.getDatingReportList() this.getDatingReportList()
}, },
// 清空某一项筛选列表 // 清空某一项筛选列表
onClear(key) { onClear(key) {
this.searchData[key] = undefined this.searchData[key] = undefined
this.getDatingReportList() this.getDatingReportList()
}, }
}, }
} }
</script> </script>
@@ -1,180 +0,0 @@
<template>
<div class="pf-warpper avlist">
<el-row class="table-form">
<el-form :inline="true" :model="searchData" class="form-inline" size="mini">
<el-form-item>
<el-form-item>
<el-input placeholder="请输入嫩模ID" clearable v-model.number="searchData.datingBossId"
@clear="onClear('datingBossId')" />
</el-form-item>
<el-form-item>
<el-input placeholder="请输入IP地址" clearable v-model="searchData.ip" @clear="onClear('ip')" />
</el-form-item>
</el-form-item>
<el-form-item>
<el-date-picker v-model="time" type="daterange" range-separator="至" value-format="yyyy-MM-ddTHH:mm:ss+08:00"
start-placeholder="开始日期" end-placeholder="结束日期">
</el-date-picker>
</el-form-item>
<el-button @click="onSearch" icon="el-icon-search" plain type="primary">搜索
</el-button>
<el-button @click="onSearch" icon="el-icon-refresh" plain type="info">刷新
</el-button>
</el-form>
</el-row>
<el-row>
<el-col>
<el-table :data="resData" element-loading-text="拼命加载中" border height="750" highlight-current-row
style="width: 100%" v-loading="loading" :row-style="{ height: '70px' }">
<el-table-column align="center" label="经济人ID">
<template slot-scope="scope">{{ scope.row.datingBossId }}</template>
</el-table-column>
<el-table-column align="center" label="IP地址">
<template slot-scope="scope">{{ scope.row.ip }}</template>
</el-table-column>
<el-table-column align="center" label="当时跳转链接">
<template slot-scope="scope">{{ scope.row.url }}</template>
</el-table-column>
<el-table-column align="center" label="创建时间" width="180">
<template slot-scope="scope">{{
scope.row.createdAt | BeiJingTime
}}
</template>
</el-table-column>
<!-- <el-table-column align="center" fixed="right" label="操作" width="200">
<template slot-scope="scope">
<el-button @click="handleEdit(scope.$index, scope.row)" size="mini" type="primary">编辑
</el-button>
<el-button @click="handleDelete(scope.$index, scope.row)" size="mini" type="danger">删除
</el-button>
</template>
</el-table-column> -->
</el-table>
</el-col>
</el-row>
<div class="table-pagination">
<el-pagination :current-page="searchData.pageNum" :page-size="searchData.pageSize"
:page-sizes="[10, 20, 30, 50, 100]" :total="total" @current-change="handleCurrentChange"
@size-change="handleSizeChange" layout="total, sizes, prev, pager, next, jumper" />
</div>
<!-- 新增及编辑 -->
<Edit :data="editData" v-if="editVisible" @close="closeEdit" />
</div>
</template>
<script>
// 引入模块
import {
datingUrlList
} from '@/api/datingManagement/linkUrlList.js'
export default {
name: 'datingUrlList',
components: {
},
data() {
return {
// 请求列表参数
searchData: {
datingBossId: undefined, // 省份
ip: undefined, // 城市名称
start: undefined, //排序
end: undefined, // 热门城市
pageNum: 1,
pageSize: 10,
},
time: undefined,
resData: [], // el-table表格数据
editVisible: false, // 新增或编辑弹出框
total: 0, // 数据总条数
loading: true, // 列表加载状态
// 编辑数据
editData: {
title: '新增',
data: {},
},
}
},
mounted() {
this.onSearch()
},
methods: {
//TODO:请求城市列表数据
getdatingUrlList() {
this.loading = true
if (this.time) {
this.searchData.start = this.time[0]
this.searchData.end = this.time[1]
} else {
this.searchData.start = undefined
this.searchData.end = undefined
}
datingUrlList(this.searchData).then((res) => {
if (res.code === 200) {
this.resData = res.data.list
this.total = res.data.total
} else {
this.resData = []
this.total = 0
this.$message.error('请求列表失败!')
}
this.loading = false
})
},
onSearch() {
this.searchData.pageNum = 1
this.searchData.pageSize = 10
this.getdatingUrlList()
},
// 切换每页数据量
handleSizeChange(val) {
this.searchData.pageSize = val
this.getdatingUrlList()
},
// 切换页数
handleCurrentChange(val) {
this.searchData.pageNum = val
this.getdatingUrlList()
},
// 新增按钮
add() {
this.editVisible = true
this.editData = {
title: '新增',
data: {},
}
},
// 编辑按钮
handleEdit(index, row) {
this.editVisible = true
this.editData = {
title: '编辑',
data: row,
}
},
// 关闭编辑弹窗
closeEdit() {
this.editData = {
title: '新增',
data: {},
}
this.editVisible = false
this.getdatingUrlList()
},
// 清空某一项筛选列表
onClear(key) {
this.searchData[key] = undefined
this.getdatingUrlList()
},
},
}
</script>
@@ -1,247 +0,0 @@
<template>
<el-dialog :title="title" :visible.sync="Visible" width="900px" center class="ac-dialog" :close-on-click-modal="false" @close="close">
<el-form :rules="rules" :inline="true" :model="form" ref="ruleForm" class="demo-form-inline" label-width="120px" label-position="right">
<el-row :gutter="24">
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="排序">
<el-input v-model.number="form.rank" placeholder="请输入排序" />
</el-form-item>
</el-col>
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="是否启用">
<el-switch v-model="form.status" active-color="#13ce66" inactive-color="#ff4949"></el-switch>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="12">
<el-form-item label="标题">
<el-input v-model="form.title" placeholder="请输入标题" />
</el-form-item>
</el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="年龄">
<el-input v-model="form.age" placeholder="请输入年龄" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="城市">
<el-select placeholder="请选择城市" clearable v-model="form.city" filterable allow-create default-first-option style="width: 163px">
<el-option v-for="item in cityList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
</el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="服务城市">
<el-select placeholder="请服务选择城市" clearable multiple v-model="form.serviceCity" filterable allow-create default-first-option style="width: 163px">
<el-option v-for="item in cityList" :key="item.id" :label="item.name" :value="item.name" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<el-form-item label="地址">
<el-input v-model="form.address" placeholder="请输入地址" type="textarea" style="width: 500px" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<el-form-item label="简介">
<el-input v-model="form.introduction" placeholder="请输入简介" type="textarea" style="width: 500px" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :lg="24" :md="24" :sm="24" :xl="24" :xs="24">
<el-form-item label="妹子图片">
<UploadImgArr @changeImgUrl='changeImagesUrl' :img='form.images' style="width:500px"></UploadImgArr>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="楼凤信息价格" prop="infoPrice">
<el-input v-model.number="form.infoPrice" placeholder="请输入楼凤信息价格" />
</el-form-item>
</el-col>
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="楼凤价格">
<el-input v-model="form.price" placeholder="请输入楼凤价格" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="颜值评分" prop="beautyScore">
<el-input v-model="form.beautyScore" placeholder="请输入颜值评分" />
</el-form-item>
</el-col>
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
<el-form-item label="城市名称">
<el-input v-model="form.cityName" placeholder="请输入城市名称" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="服务种类" prop="serviceItems">
<el-input v-model="form.serviceItems" placeholder="请输入服务种类" />
</el-form-item>
</el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="QQ" prop="qq">
<el-input v-model="form.qq" placeholder="请输入联系QQ" />
</el-form-item>
</el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="手机" prop="telephone">
<el-input v-model="form.telephone" placeholder="请输入联系手机" />
</el-form-item>
</el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="微信" prop="weChat">
<el-input v-model="form.weChat" placeholder="请输入联系微信" />
</el-form-item>
</el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="购买次数" prop="buys">
<el-input v-model.number="form.fake.buys" placeholder="请输入购买次数" />
</el-form-item>
</el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="收藏次数" prop="likes">
<el-input v-model.number="form.fake.likes" placeholder="请输入收藏次数" />
</el-form-item>
</el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="观看次数" prop="looks">
<el-input v-model.number="form.fake.looks" placeholder="请输入观看次数" />
</el-form-item>
</el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="报告次数" prop="reports">
<el-input v-model.number="form.fake.reports" placeholder="请输入报告次数" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="Visible = false"> </el-button>
<el-button type="primary" @click="submit('ruleForm')"> </el-button>
</div>
</el-dialog>
</template>
<script>
import { loufengAdd, loufengUpdate } from '@/api/datingManagement/loufeng'
import UploadImgArr from '@/components/UploadImgArr/index'
import { changeMoneyYuan, changeMoneyFen } from '@/filters/index'
export default {
name: 'AddOrEdit',
props: ['data', 'cityList'],
components: {
UploadImgArr
},
data() {
return {
Visible: true,
title: '',
infoPrice: undefined,
// 表单数据
form: {
rank: undefined, // 排序
address: undefined,
age: undefined,
serviceCity: [], // 服务城市
beautyScore: undefined, // 颜值评分
cityName: undefined, // 城市名称
qq: undefined, // 联系QQ
telephone: undefined, // 联系手机
weChat: undefined, // 联系微信
serviceItems: undefined, // 服务种类
status: undefined, // 是否启用
city: undefined,
images: [],
infoPrice: undefined,
introduction: undefined,
price: undefined,
title: undefined,
fake: {
buys: undefined, // 购买次数
likes: undefined, // 收藏次数
looks: undefined, // 观看次数
reports: undefined // 报告次数
}
},
rules: {}
}
},
mounted() {
this.title = this.data.title
if (this.title === '编辑') {
this.form = { ...this.data.data, ...{}}
this.infoPrice = changeMoneyYuan(this.form.infoPrice)
}
},
methods: {
// TODO:新增楼凤列表数据
add(data) {
loufengAdd(data).then((res) => {
if (res.code === 200) {
this.$message.success('新增成功')
this.Visible = false
} else {
this.$message.error('新增失败')
}
})
},
// TODO:编辑楼凤列表数据
update(data) {
loufengUpdate(data).then((res) => {
if (res.code === 200) {
this.$message.success('更新成功')
this.Visible = false
} else {
this.$message.error('更新失败')
}
})
},
// 提交按钮
submit(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
this.form.infoPrice = this.infoPrice
? changeMoneyFen(this.infoPrice)
: 0
if (this.title === '新增') {
this.add(this.form)
} else if (this.title === '编辑') {
const data = {
id: this.data.data.id,
param: this.form
}
this.update(data)
}
} else {
return false
}
})
},
changeImagesUrl(data) {
this.form.images = data
},
// 关闭编辑
close() {
this.$emit('close')
}
}
}
</script>
@@ -1,318 +0,0 @@
<template>
<div class="pf-warpper avlist">
<el-row class="table-form">
<el-form :inline="true" :model="searchData" class="form-inline" size="mini">
<el-form-item>
<el-input placeholder="请输入楼风Id" clearable v-model.number="searchData.id" @clear="onClear('id')" />
</el-form-item>
<el-form-item>
<el-input placeholder="请输入标题" clearable v-model.number="searchData.title" @clear="onClear('title')" />
</el-form-item>
<el-form-item>
<el-select placeholder="请选择城市" clearable v-model="searchData.city" @clear="onClear('city')" filterable allow-create default-first-option>
<el-option v-for="item in cityList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item>
<el-select placeholder="请选择启用状态" clearable v-model="searchData.status" @clear="onClear('status')">
<el-option :label="'启用'" :value="true" />
<el-option :label="'不启用'" :value="false" />
</el-select>
</el-form-item>
<el-form-item>
<el-select placeholder="请选择排序方式" clearable v-model="searchData.sortType" @clear="onClear('sortType')">
<el-option v-for="item in loufengSortTypeList" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item>
<el-button @click="onSearch" icon="el-icon-search" plain type="primary">搜索</el-button>
<el-button @click="add" icon="el-icon-circle-plus-outline" plain type="success">新增</el-button>
</el-form-item>
</el-form>
</el-row>
<el-row>
<el-col>
<el-table :data="resData" element-loading-text="拼命加载中" border height="750" highlight-current-row style="width: 100%" v-loading="loading" :row-style="{ height: '70px' }">
<el-table-column align="center" label="排序" width="100">
<template slot-scope="scope">{{ scope.row.rank }}</template>
</el-table-column>
<el-table-column align="center" label="楼风ID" width="100">
<template slot-scope="scope">{{ scope.row.id }}</template>
</el-table-column>
<el-table-column align="center" label="标题" width="120">
<template slot-scope="scope">{{ scope.row.title }}</template>
</el-table-column>
<el-table-column align="center" label="年龄">
<template slot-scope="scope">{{ scope.row.age }}</template>
</el-table-column>
<el-table-column align="center" label="启用状态">
<template slot-scope="scope">{{ scope.row.status?'启用':'未启用' }}</template>
</el-table-column>
<el-table-column align="center" label="颜值评分">
<template slot-scope="scope">{{ scope.row.beautyScore }}</template>
</el-table-column>
<el-table-column align="center" label="妹子图片" width="120">
<template slot-scope="scope" v-if="scope.row.images">
<ShowImg v-if=" scope.row.images.length > 1" style="width: 65px; height: 40px; margin: 0 auto;line-height: 40px" :urls="scope.row.images"></ShowImg>
<ShowImg v-else style="width: 40px; height: 40px; margin: 0 auto;line-height: 40px" :urls="scope.row.images"></ShowImg>
</template>
</el-table-column>
<el-table-column align="center" label="城市">
<template slot-scope="scope">{{ scope.row.cityName }}</template>
</el-table-column>
<el-table-column align="center" label="地址" width="120">
<template slot-scope="scope">{{ scope.row.address }}</template>
</el-table-column>
<el-table-column align="center" label="服务种类" width="200">
<template slot-scope="scope">{{ scope.row.serviceItems }}</template>
</el-table-column>
<el-table-column align="center" label="楼凤价格" width="150">
<template slot-scope="scope">{{ scope.row.price }}</template>
</el-table-column>
<el-table-column align="center" label="简介" width="250" show-overflow-tooltip>
<template slot-scope="scope">{{ scope.row.introduction }}</template>
</el-table-column>
<el-table-column align="center" label="联系方式 QQ" width="100">
<template slot-scope="scope">{{ scope.row.qq }}</template>
</el-table-column>
<el-table-column align="center" label="联系方式 电话" width="100">
<template slot-scope="scope">{{ scope.row.telephone }}</template>
</el-table-column>
<el-table-column align="center" label="联系方式 微信" width="100">
<template slot-scope="scope">{{ scope.row.weChat }}</template>
</el-table-column>
<el-table-column align="center" label="服务城市" width="150">
<template slot-scope="scope">
<el-tag :key="index + 'tagData'" style="margin: 2px" v-for="(item, index) in scope.row.serviceCity" size="mini">
{{ item|changeName(cityList,'id','name') }}
</el-tag>
</template>
</el-table-column>
<el-table-column align="center" label="楼凤信息价格" width="120">
<template slot-scope="scope">{{ scope.row.infoPrice | changeMoneyYuan }}</template>
</el-table-column>
<el-table-column align="center" label="假数据">
<el-table-column align="center" label="购买次数">
<template slot-scope="scope">{{
scope.row.fake.buys
}}
</template>
</el-table-column>
<el-table-column align="center" label="收藏次数">
<template slot-scope="scope">{{
scope.row.fake.likes
}}
</template>
</el-table-column>
<el-table-column align="center" label="搜索次数">
<template slot-scope="scope">{{
scope.row.fake.looks
}}
</template>
</el-table-column>
<el-table-column align="center" label="报告次数">
<template slot-scope="scope">{{
scope.row.fake.reports
}}
</template>
</el-table-column>
</el-table-column>
<el-table-column align="center" label="真数据">
<el-table-column align="center" label="购买次数">
<template slot-scope="scope">{{
scope.row.real.buys
}}
</template>
</el-table-column>
<el-table-column align="center" label="收藏次数">
<template slot-scope="scope">{{
scope.row.real.likes
}}
</template>
</el-table-column>
<el-table-column align="center" label="搜索次数">
<template slot-scope="scope">{{
scope.row.real.looks
}}
</template>
</el-table-column>
<el-table-column align="center" label="报告次数">
<template slot-scope="scope">{{
scope.row.real.reports
}}
</template>
</el-table-column>
</el-table-column>
<el-table-column align="center" label="创建时间" width="180">
<template slot-scope="scope">{{
scope.row.createdAt | BeiJingTime
}}
</template>
</el-table-column>
<el-table-column align="center" label="更新时间" width="180">
<template slot-scope="scope">{{
scope.row.updatedAt | BeiJingTime
}}
</template>
</el-table-column>
<el-table-column align="center" fixed="right" label="操作" width="200">
<template slot-scope="scope">
<el-button @click="handleEdit(scope.$index, scope.row)" size="mini" type="primary">编辑</el-button>
<el-button @click="handleDelete(scope.$index, scope.row)" size="mini" type="danger">删除</el-button>
</template>
</el-table-column>
</el-table>
</el-col>
</el-row>
<div class="table-pagination">
<el-pagination :current-page="searchData.pageNum" :page-size="searchData.pageSize" :page-sizes="[10, 20, 30, 50, 100]" :total="total" @current-change="handleCurrentChange" @size-change="handleSizeChange" layout="total, sizes, prev, pager, next, jumper" />
</div>
<!-- 新增及编辑 -->
<Edit :data="editData" :cityList="cityList" v-if="editVisible" @close="closeEdit" />
</div>
</template>
<script>
// 引入模块
import Edit from './components/AddOrEdit'
import { loufengSortTypeList } from '@/filters/dating/datingManagement'
import { loufengList, loufengDel } from '@/api/datingManagement/loufeng'
import { datingBossList } from '@/api/datingManagement/datingBoss'
import { datingCityList } from '@/api/datingManagement/datingCity'
import ShowImg from '@/components/ShowImg/index.vue'
export default {
name: 'Loufeng',
components: {
Edit,
ShowImg,
},
data() {
return {
loufengSortTypeList: loufengSortTypeList(),
// 请求列表参数
searchData: {
pageNum: 1,
pageSize: 10,
id: undefined,
city: undefined,
title: undefined,
disable: undefined,
verified: undefined,
sortType: undefined,
},
resData: [], // el-table表格数据
editVisible: false, // 新增或编辑弹出框
total: 0, // 数据总条数
loading: true, // 列表加载状态
cityList: [], // 城市列表
// 编辑数据
editData: {
title: '新增',
data: {},
},
}
},
mounted() {
this.onSearchCityList()
this.onSearch()
},
methods: {
// TODO:获取城市列表
onSearchCityList() {
datingCityList({ pageNum: 1, pageSize: 500, param: {} }).then((res) => {
if (res.code === 200) {
this.cityList = res.data.list
} else {
this.cityList = []
this.$message.error('请求列表失败!')
}
})
},
// TODO:请求楼风列表数据
getLoufengList() {
this.loading = true
loufengList(this.searchData).then((res) => {
if (res.code === 200) {
this.resData = res.data.list
this.total = res.data.total
} else {
this.resData = []
this.total = 0
this.$message.error('请求列表失败!')
}
this.loading = false
})
},
//TODO:删除楼凤列表数据
handleDelete(index, row) {
this.$confirm('确定删除?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
loufengDel({ id: row.id }).then((res) => {
if (res.code === 200) {
this.getLoufengList()
this.$message.success('成功删除!')
} else {
this.$message.error(res.tip)
}
})
})
},
onSearch() {
this.searchData.pageNum = 1
this.searchData.pageSize = 10
this.getLoufengList()
},
// 切换每页数据量
handleSizeChange(val) {
this.searchData.pageSize = val
this.getLoufengList()
},
// 切换页数
handleCurrentChange(val) {
this.searchData.pageNum = val
this.getLoufengList()
},
// 新增按钮
add() {
this.editVisible = true
this.editData = {
title: '新增',
data: {},
}
},
// 编辑按钮
handleEdit(index, row) {
this.editVisible = true
this.editData = {
title: '编辑',
data: row,
}
},
// 关闭编辑弹窗
closeEdit() {
this.editData = {
title: '新增',
data: {},
}
this.editVisible = false
this.getLoufengList()
},
// 清空某一项筛选列表
onClear(key) {
this.searchData[key] = undefined
this.getLoufengList()
},
},
}
</script>