Files
huangguo_admin/src/views/datingManagement/adminLoufeng/components/AddOrEdit.vue
T
2025-06-10 17:11:41 +07:00

276 lines
10 KiB
Vue

<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>