This commit is contained in:
张良(004796)
2024-03-11 18:14:18 +08:00
parent 1fbcbf9a67
commit 7c28a972b8
4 changed files with 448 additions and 939 deletions

View File

@@ -1,6 +1,7 @@
<template> <template>
<div> <div>
<template v-for="(item, index) in options"> <span v-if="!values || values.length === 0">{{emptyValue}}</span>
<template v-if="values && values.length > 0" v-for="(item, index) in options">
<template v-if="values.includes(item.value)"> <template v-if="values.includes(item.value)">
<span <span
v-if="item.listClass === 'default' || !item.listClass " v-if="item.listClass === 'default' || !item.listClass "
@@ -31,6 +32,10 @@ export default {
default: null, default: null,
}, },
value: [Number, String, Array, Boolean], value: [Number, String, Array, Boolean],
emptyValue: {
type: String,
default: ''
},
}, },
created() { created() {
}, },

View File

@@ -11,22 +11,11 @@ export const userTypeList = [
{ value: 'app_user', label: 'APP用户',listClass: listClass.info}, { value: 'app_user', label: 'APP用户',listClass: listClass.info},
] ]
export const genderList = [
{ value: 0, label: '未知', listClass: listClass.warning },
{ value: 1, label: '女', listClass: listClass.danger },
{ value: 2, label: '男', listClass: listClass.primary }
]
export const authList = [ export const authList = [
{ value: 0, label: '未认证', listClass: listClass.danger }, { value: 0, label: '未认证', listClass: listClass.danger },
{ value: 1, label: '已认证', listClass: listClass.primary } { value: 1, label: '已认证', listClass: listClass.primary }
] ]
export const userStatusList = [
{ value: 0, label: '可用', listClass: listClass.primary },
{ value: 1, label: '不可用', listClass: listClass.danger }
]
// 链接类型 1 网页 2 app内页 3 JSON数据 // 链接类型 1 网页 2 app内页 3 JSON数据
export const bannerLinkTypeList = [ export const bannerLinkTypeList = [
{ value: 1, label: '网页' }, { value: 1, label: '网页' },
@@ -312,3 +301,199 @@ export const sensitiveTypeList = [
{ value: 2, label: '黑名单', listClass: listClass.danger}, { value: 2, label: '黑名单', listClass: listClass.danger},
] ]
// xq平台的字典
export const userStatusList = [
{ value: 0, label: '可用', listClass: listClass.primary },
{ value: 1, label: '不可用', listClass: listClass.danger }
]
export const genderList = [
{ value: 0, label: '未知', listClass: listClass.warning },
{ value: 1, label: '女', listClass: listClass.danger },
{ value: 2, label: '男', listClass: listClass.primary }
]
/** 用户 - 体型 */
export const userSomatotypeList = [
{ value: 1, label: '瘦'},
{ value: 2, label: '较瘦' },
{ value: 3, label: '匀称' },
{ value: 4, label: '苗条' },
{ value: 5, label: '高挑' },
{ value: 6, label: '丰满' },
{ value: 7, label: '健壮' },
{ value: 8, label: '魁梧' },
{ value: 9, label: '胖' },
{ value: 10, label: '较胖' },
]
/** 用户 - 生肖 */
export const userZodiacList = [
{ value: 1, label: '鼠'},
{ value: 2, label: '牛' },
{ value: 3, label: '虎' },
{ value: 4, label: '兔' },
{ value: 5, label: '龙' },
{ value: 6, label: '蛇' },
{ value: 7, label: '马' },
{ value: 8, label: '羊' },
{ value: 9, label: '猴' },
{ value: 10, label: '鸡' },
{ value: 11, label: '狗' },
{ value: 12, label: '猪' },
]
/** 用户 - 学历 */
export const userEducationList = [
{ value: 1, label: '中专以下'},
{ value: 2, label: '中专' },
{ value: 3, label: '大专' },
{ value: 4, label: '本科' },
{ value: 5, label: '硕士' },
{ value: 6, label: '博士' },
{ value: 7, label: '博士后' },
]
/** 用户 - 婚况 */
export const userMarriageList = [
{ value: 1, label: '未婚'},
{ value: 2, label: '离异' },
{ value: 3, label: '丧偶' }
]
/** 用户 - 年收入 */
export const userAnnualIncomeList = [
{ value: 1, label: '5万以下'},
{ value: 2, label: '5-10万' },
{ value: 3, label: '10-20万' },
{ value: 4, label: '20-30万' },
{ value: 5, label: '30-50万' },
{ value: 6, label: '50-100万' },
{ value: 7, label: '100万以上' },
]
/** 用户 - 公司性质 */
export const userCompanyNatureList = [
{ value: 1, label: '政府机关'},
{ value: 2, label: '事业单位' },
{ value: 3, label: '外企企业' },
{ value: 4, label: '世界500强' },
{ value: 5, label: '上市公司' },
{ value: 6, label: '国有企业' },
{ value: 7, label: '私营企业' },
{ value: 8, label: '自有公司' },
]
/** 用户 - 为谁征婚 */
export const userForPersonalsList = [
{ value: 1, label: '为自己征婚'},
{ value: 2, label: '为子女征婚' },
{ value: 3, label: '为亲友征婚' }
]
/** 用户 - 住房情况 */
export const userHousingStatusList = [
{ value: 1, label: '暂未购房'},
{ value: 2, label: '已购房(有贷款)' },
{ value: 3, label: '已购房(无贷款)' },
{ value: 4, label: '与父母同住' },
{ value: 5, label: '无房希望对方解决' },
{ value: 6, label: '无房希望双方解决' },
]
/** 用户 - 购车情况 */
export const userCarStatusList = [
{ value: 1, label: '未购车'},
{ value: 2, label: '已购车(经济型)' },
{ value: 3, label: '已购车(中档型)' },
{ value: 4, label: '已购车(豪华型)' },
{ value: 5, label: '需要时可配置' },
]
/** 用户 - 是否吸烟 */
export const userSmokeStatusList = [
{ value: 1, label: '不吸,很反感'},
{ value: 2, label: '不吸烟,但不反感' },
{ value: 3, label: '社交偶尔吸烟' },
{ value: 4, label: '烟不离手' },
]
/** 用户 - 是否喝酒 */
export const userDrinkStatusList = [
{ value: 1, label: '不喝酒'},
{ value: 2, label: '社交需要喝' },
{ value: 3, label: '兴致时小酌' },
{ value: 4, label: '酒不离口' },
]
/** 用户 - 有没有小孩 */
export const userChildStatusList = [
{ value: 1, label: '没有'},
{ value: 2, label: '有,和我住一起' },
{ value: 3, label: '有,有时和我住一起' },
{ value: 4, label: '有,不和我住一起' },
]
/** 用户 - 家庭背景 */
export const userFamilyBackgroundList = [
{ value: 1, label: '高知'},
{ value: 2, label: '高干' },
{ value: 3, label: '经商' },
{ value: 4, label: '中产阶级' },
{ value: 5, label: '小康' },
{ value: 6, label: '工薪阶层' },
{ value: 7, label: '其他' },
]
/** 用户 - 家中排行 */
export const userFamilyRankingList = [
{ value: 1, label: '独生子女'},
{ value: 2, label: '老大' },
{ value: 3, label: '老二' },
{ value: 4, label: '老三' },
{ value: 5, label: '老四' },
{ value: 6, label: '老五' },
{ value: 7, label: '其他' },
]
/** 用户 - 是否接受异地恋 */
export const userLoveAtDistanceList = [
{ value: 1, label: '接受'},
{ value: 2, label: '不接受' },
{ value: 3, label: '看情况' }
]
/** 用户 - 何时结婚 */
export const userWhenMarriageList = [
{ value: 1, label: '及时闪婚'},
{ value: 2, label: '一年以内' },
{ value: 3, label: '两年以内' },
{ value: 4, label: '三年以内' },
{ value: 5, label: '时机成熟就结婚' },
]
/** 用户 - 是否要小孩 */
export const userWantChildList = [
{ value: 1, label: '愿意'},
{ value: 2, label: '不愿意' },
{ value: 3, label: '视情况而定' }
]
/** 用户 - 愿与对方父母同住 */
export const userLiveAtParentList = [
{ value: 1, label: '愿意'},
{ value: 2, label: '不愿意' },
{ value: 3, label: '视情况而定' }
]
/** 用户 - 交友目的 */
export const userFindTagList = [
{ value: 1, label: '交朋友' },
{ value: 2, label: '找知己' },
{ value: 3, label: '谈恋爱' },
{ value: 4, label: '结婚' },
]

View File

@@ -1,204 +1,36 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="用户号" prop="usercode"> <el-form-item label="id" prop="id">
<el-input <el-input
v-model="queryParams.usercode" v-model="queryParams.id"
placeholder="请输入用户号" placeholder="请输入用户号"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="用户编号" prop="usercode">
<el-input
v-model="queryParams.usercode"
placeholder="请输入用户编号"
clearable
@keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="昵称" prop="nickname"> <el-form-item label="昵称" prop="nickname">
<el-input <el-input
v-model="queryParams.nickname" v-model="queryParams.nickname"
placeholder="请输入昵称" placeholder="请输入昵称"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="密码" prop="password">
<el-input
v-model="queryParams.password"
placeholder="请输入密码"
clearable
@keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="手机号" prop="mobile"> <el-form-item label="手机号" prop="mobile">
<el-input <el-input
v-model="queryParams.mobile" v-model="queryParams.mobile"
placeholder="请输入手机号" placeholder="请输入手机号"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="头像" prop="avatar">
<el-input
v-model="queryParams.avatar"
placeholder="请输入头像"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="自定义头像 1-自定义头像 0-默认头像" prop="avatarState">
<el-input
v-model="queryParams.avatarState"
placeholder="请输入自定义头像 1-自定义头像 0-默认头像"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="性别 0-未知 1-女 2-男" prop="gender">
<el-input
v-model="queryParams.gender"
placeholder="请输入性别 0-未知 1-女 2-男"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="年龄" prop="age">
<el-input
v-model="queryParams.age"
placeholder="请输入年龄"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="生日" prop="birthday">
<el-date-picker clearable
v-model="queryParams.birthday"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择生日">
</el-date-picker>
</el-form-item>
<el-form-item label="身高" prop="height">
<el-input
v-model="queryParams.height"
placeholder="请输入身高"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="体重" prop="weight">
<el-input
v-model="queryParams.weight"
placeholder="请输入体重"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="生肖" prop="zodiac">
<el-input
v-model="queryParams.zodiac"
placeholder="请输入生肖"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="星座" prop="sign">
<el-input
v-model="queryParams.sign"
placeholder="请输入星座"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="居住地" prop="residence">
<el-input
v-model="queryParams.residence"
placeholder="请输入居住地"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="户籍地" prop="address">
<el-input
v-model="queryParams.address"
placeholder="请输入户籍地"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="居住城市" prop="residenceCity">
<el-input
v-model="queryParams.residenceCity"
placeholder="请输入居住城市"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="学历" prop="education">
<el-input
v-model="queryParams.education"
placeholder="请输入学历"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="婚况" prop="marriage">
<el-input
v-model="queryParams.marriage"
placeholder="请输入婚况"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="职业" prop="profession">
<el-input
v-model="queryParams.profession"
placeholder="请输入职业"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="年收入" prop="annualIncome">
<el-input
v-model="queryParams.annualIncome"
placeholder="请输入年收入"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="公司性质" prop="companyNature">
<el-input
v-model="queryParams.companyNature"
placeholder="请输入公司性质"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="为谁征婚" prop="forPersonals">
<el-input
v-model="queryParams.forPersonals"
placeholder="请输入为谁征婚"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="邀请人" prop="inviteId">
<el-input
v-model="queryParams.inviteId"
placeholder="请输入邀请人"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="邀请人Code" prop="inviteCode">
<el-input
v-model="queryParams.inviteCode"
placeholder="请输入邀请人Code"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="im_token" prop="imToken">
<el-input
v-model="queryParams.imToken"
placeholder="请输入im_token"
clearable
@keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
@@ -229,68 +61,55 @@
v-hasPermi="['xq:user:edit']" v-hasPermi="['xq:user:edit']"
>修改</el-button> >修改</el-button>
</el-col> </el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['xq:user:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['xq:user:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
<el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="" align="center" prop="id" v-if="true"/> <el-table-column label="id" align="center" prop="id" show-overflow-tooltip />
<el-table-column label="用户号" align="center" prop="usercode" /> <el-table-column label="号" align="center" prop="usercode" />
<el-table-column label="昵称" align="center" prop="nickname" /> <el-table-column label="昵称" align="center" prop="nickname" />
<el-table-column label="用户类型: 0普通用户 1 内部用户 2 审核人员账号" align="center" prop="type" />
<el-table-column label="密码" align="center" prop="password" />
<el-table-column label="手机号" align="center" prop="mobile" /> <el-table-column label="手机号" align="center" prop="mobile" />
<el-table-column label="头像" align="center" prop="avatar" /> <el-table-column label="头像" align="center" prop="avatar" >
<el-table-column label="自定义头像 1-自定义头像 0-默认头像" align="center" prop="avatarState" /> <template v-slot="scope">
<el-table-column label="性别 0-未知 1-女 2-男" align="center" prop="gender" /> <image-avatar :src="scope.row.avatar"/>
<el-table-column label="年龄" align="center" prop="age" /> </template>
<el-table-column label="生日" align="center" prop="birthday" width="180"> </el-table-column>
<template slot-scope="scope"> <el-table-column label="性别" align="center" prop="gender" >
<span>{{ parseTime(scope.row.birthday, '{y}-{m}-{d}') }}</span> <template v-slot="scope">
<cai-dict-tag :options="genderList" :value="scope.row.gender" />
</template>
</el-table-column>
<el-table-column label="邀请人" align="center" prop="inviteId" show-overflow-tooltip>
<template v-slot="scope">
<span v-if="!scope.row.inviteId">-</span>
<span v-if="scope.row.inviteId">{{scope.row.inviteNickname}}({{scope.row.inviteUsercode}})</span>
</template>
</el-table-column>
<el-table-column label="年龄" align="center" prop="age" />
<!-- <el-table-column label="生日" align="center" prop="birthday" width="180" />-->
<!-- <el-table-column label="身高" align="center" prop="height" />-->
<!-- <el-table-column label="体重" align="center" prop="weight" />-->
<!-- <el-table-column label="体型" align="center" prop="somatotype" />-->
<!-- <el-table-column label="生肖" align="center" prop="zodiac" />-->
<!-- <el-table-column label="星座" align="center" prop="sign" />-->
<!-- <el-table-column label="居住地" align="center" prop="residence" />-->
<!-- <el-table-column label="户籍地" align="center" prop="address" />-->
<!-- <el-table-column label="居住城市" align="center" prop="residenceCity" />-->
<!-- <el-table-column label="学历" align="center" prop="education" />-->
<!-- <el-table-column label="婚况" align="center" prop="marriage" />-->
<!-- <el-table-column label="职业" align="center" prop="profession" />-->
<!-- <el-table-column label="年收入" align="center" prop="annualIncome" />-->
<!-- <el-table-column label="公司性质" align="center" prop="companyNature" />-->
<!-- <el-table-column label="为谁征婚" align="center" prop="forPersonals" />-->
<!-- <el-table-column label="自我描述" align="center" prop="remark" />-->
<el-table-column label="状态" align="center" prop="status" >
<template v-slot="scope">
<cai-dict-tag :options="userStatusList" :value="scope.row.status" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="身高" align="center" prop="height" />
<el-table-column label="体重" align="center" prop="weight" />
<el-table-column label="体型" align="center" prop="somatotype" />
<el-table-column label="生肖" align="center" prop="zodiac" />
<el-table-column label="星座" align="center" prop="sign" />
<el-table-column label="居住地" align="center" prop="residence" />
<el-table-column label="户籍地" align="center" prop="address" />
<el-table-column label="居住城市" align="center" prop="residenceCity" />
<el-table-column label="学历" align="center" prop="education" />
<el-table-column label="婚况" align="center" prop="marriage" />
<el-table-column label="职业" align="center" prop="profession" />
<el-table-column label="年收入" align="center" prop="annualIncome" />
<el-table-column label="公司性质" align="center" prop="companyNature" />
<el-table-column label="为谁征婚" align="center" prop="forPersonals" />
<el-table-column label="自我描述" align="center" prop="remark" />
<el-table-column label="状态 0-可用 1-不可用" align="center" prop="status" />
<el-table-column label="邀请人" align="center" prop="inviteId" />
<el-table-column label="邀请人Code" align="center" prop="inviteCode" />
<el-table-column label="im_token" align="center" prop="imToken" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template v-slot="scope">
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
@@ -305,6 +124,20 @@
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
v-hasPermi="['xq:user:remove']" v-hasPermi="['xq:user:remove']"
>删除</el-button> >删除</el-button>
<el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)">
<el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button>
<el-dropdown-menu slot="dropdown">
<!-- <el-dropdown-item command="handleDelete" icon="el-icon-info">完整信息</el-dropdown-item>-->
<el-dropdown-item v-hasPermi="['xq:user:restPwd']" command="handleResetPwd" icon="el-icon-key">重置密码</el-dropdown-item>
<el-dropdown-item v-hasPermi="['xq:user:updateMobile']" command="handleResetMobile" icon="el-icon-phone">修改手机</el-dropdown-item>
<el-dropdown-item v-hasPermi="['xq:user:lock']" command="handleUserForbid" icon="el-icon-lock">封禁</el-dropdown-item>
<el-dropdown-item v-hasPermi="['xq:user:unBindInvite']" v-if="scope.row.inviteId" command="handleUserUnBindInvite" icon="el-icon-unlock"><span style="color: red">解绑邀请</span></el-dropdown-item>
<el-dropdown-item v-hasPermi="['xq:user:bindInvite']" v-if="!scope.row.inviteId" command="handleUserBindInvite" icon="el-icon-link">绑定邀请</el-dropdown-item>
<el-dropdown-item v-hasPermi="['xq:user:resetAvatar']" command="handleUserResetAvatar" icon="el-icon-refresh-right">重置头像</el-dropdown-item>
<el-dropdown-item v-hasPermi="['xq:user:resetNickname']" command="handleUserResetNickname" icon="el-icon-refresh-right">重置昵称</el-dropdown-item>
<el-dropdown-item v-hasPermi="['xq:user:remove']" command="handleDelete" icon="el-icon-delete" ><span style="color: red">删除</span></el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@@ -316,109 +149,18 @@
:limit.sync="queryParams.pageSize" :limit.sync="queryParams.pageSize"
@pagination="getList" @pagination="getList"
/> />
<!-- 添加或修改用户管理对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="用户号" prop="usercode">
<el-input v-model="form.usercode" placeholder="请输入用户号" />
</el-form-item>
<el-form-item label="昵称" prop="nickname">
<el-input v-model="form.nickname" placeholder="请输入昵称" />
</el-form-item>
<el-form-item label="密码" prop="password">
<el-input v-model="form.password" placeholder="请输入密码" />
</el-form-item>
<el-form-item label="手机号" prop="mobile">
<el-input v-model="form.mobile" placeholder="请输入手机号" />
</el-form-item>
<el-form-item label="头像" prop="avatar">
<el-input v-model="form.avatar" placeholder="请输入头像" />
</el-form-item>
<el-form-item label="自定义头像 1-自定义头像 0-默认头像" prop="avatarState">
<el-input v-model="form.avatarState" placeholder="请输入自定义头像 1-自定义头像 0-默认头像" />
</el-form-item>
<el-form-item label="性别 0-未知 1-女 2-男" prop="gender">
<el-input v-model="form.gender" placeholder="请输入性别 0-未知 1-女 2-男" />
</el-form-item>
<el-form-item label="年龄" prop="age">
<el-input v-model="form.age" placeholder="请输入年龄" />
</el-form-item>
<el-form-item label="生日" prop="birthday">
<el-date-picker clearable
v-model="form.birthday"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择生日">
</el-date-picker>
</el-form-item>
<el-form-item label="身高" prop="height">
<el-input v-model="form.height" placeholder="请输入身高" />
</el-form-item>
<el-form-item label="体重" prop="weight">
<el-input v-model="form.weight" placeholder="请输入体重" />
</el-form-item>
<el-form-item label="生肖" prop="zodiac">
<el-input v-model="form.zodiac" placeholder="请输入生肖" />
</el-form-item>
<el-form-item label="星座" prop="sign">
<el-input v-model="form.sign" placeholder="请输入星座" />
</el-form-item>
<el-form-item label="居住地" prop="residence">
<el-input v-model="form.residence" placeholder="请输入居住地" />
</el-form-item>
<el-form-item label="户籍地" prop="address">
<el-input v-model="form.address" placeholder="请输入户籍地" />
</el-form-item>
<el-form-item label="居住城市" prop="residenceCity">
<el-input v-model="form.residenceCity" placeholder="请输入居住城市" />
</el-form-item>
<el-form-item label="学历" prop="education">
<el-input v-model="form.education" placeholder="请输入学历" />
</el-form-item>
<el-form-item label="婚况" prop="marriage">
<el-input v-model="form.marriage" placeholder="请输入婚况" />
</el-form-item>
<el-form-item label="职业" prop="profession">
<el-input v-model="form.profession" placeholder="请输入职业" />
</el-form-item>
<el-form-item label="年收入" prop="annualIncome">
<el-input v-model="form.annualIncome" placeholder="请输入年收入" />
</el-form-item>
<el-form-item label="公司性质" prop="companyNature">
<el-input v-model="form.companyNature" placeholder="请输入公司性质" />
</el-form-item>
<el-form-item label="为谁征婚" prop="forPersonals">
<el-input v-model="form.forPersonals" placeholder="请输入为谁征婚" />
</el-form-item>
<el-form-item label="自我描述" prop="remark">
<el-input v-model="form.remark" placeholder="请输入自我描述" />
</el-form-item>
<el-form-item label="邀请人" prop="inviteId">
<el-input v-model="form.inviteId" placeholder="请输入邀请人" />
</el-form-item>
<el-form-item label="邀请人Code" prop="inviteCode">
<el-input v-model="form.inviteCode" placeholder="请输入邀请人Code" />
</el-form-item>
<el-form-item label="im_token" prop="imToken">
<el-input v-model="form.imToken" placeholder="请输入im_token" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { listUser, getUser, delUser, addUser, updateUser } from "@/api/xq/user"; import { listUser, getUser, delUser, addUser, updateUser } from "@/api/xq/user";
import { genderList, userStatusList } from '@/constant/statusMap'
export default { export default {
name: "User", name: "User",
data() { data() {
return { return {
userStatusList,genderList,
// 按钮loading // 按钮loading
buttonLoading: false, buttonLoading: false,
// 遮罩层 // 遮罩层
@@ -445,130 +187,8 @@ export default {
pageSize: 10, pageSize: 10,
usercode: undefined, usercode: undefined,
nickname: undefined, nickname: undefined,
type: undefined, id: undefined,
password: undefined,
mobile: undefined, mobile: undefined,
avatar: undefined,
avatarState: undefined,
gender: undefined,
age: undefined,
birthday: undefined,
height: undefined,
weight: undefined,
somatotype: undefined,
zodiac: undefined,
sign: undefined,
residence: undefined,
address: undefined,
residenceCity: undefined,
education: undefined,
marriage: undefined,
profession: undefined,
annualIncome: undefined,
companyNature: undefined,
forPersonals: undefined,
status: undefined,
inviteId: undefined,
inviteCode: undefined,
imToken: undefined
},
// 表单参数
form: {},
// 表单校验
rules: {
id: [
{ required: true, message: "不能为空", trigger: "blur" }
],
usercode: [
{ required: true, message: "用户号不能为空", trigger: "blur" }
],
nickname: [
{ required: true, message: "昵称不能为空", trigger: "blur" }
],
type: [
{ required: true, message: "用户类型: 0普通用户 1 内部用户 2 审核人员账号不能为空", trigger: "change" }
],
password: [
{ required: true, message: "密码不能为空", trigger: "blur" }
],
mobile: [
{ required: true, message: "手机号不能为空", trigger: "blur" }
],
avatar: [
{ required: true, message: "头像不能为空", trigger: "blur" }
],
avatarState: [
{ required: true, message: "自定义头像 1-自定义头像 0-默认头像不能为空", trigger: "blur" }
],
gender: [
{ required: true, message: "性别 0-未知 1-女 2-男不能为空", trigger: "blur" }
],
age: [
{ required: true, message: "年龄不能为空", trigger: "blur" }
],
birthday: [
{ required: true, message: "生日不能为空", trigger: "blur" }
],
height: [
{ required: true, message: "身高不能为空", trigger: "blur" }
],
weight: [
{ required: true, message: "体重不能为空", trigger: "blur" }
],
somatotype: [
{ required: true, message: "体型不能为空", trigger: "change" }
],
zodiac: [
{ required: true, message: "生肖不能为空", trigger: "blur" }
],
sign: [
{ required: true, message: "星座不能为空", trigger: "blur" }
],
residence: [
{ required: true, message: "居住地不能为空", trigger: "blur" }
],
address: [
{ required: true, message: "户籍地不能为空", trigger: "blur" }
],
residenceCity: [
{ required: true, message: "居住城市不能为空", trigger: "blur" }
],
education: [
{ required: true, message: "学历不能为空", trigger: "blur" }
],
marriage: [
{ required: true, message: "婚况不能为空", trigger: "blur" }
],
profession: [
{ required: true, message: "职业不能为空", trigger: "blur" }
],
annualIncome: [
{ required: true, message: "年收入不能为空", trigger: "blur" }
],
companyNature: [
{ required: true, message: "公司性质不能为空", trigger: "blur" }
],
forPersonals: [
{ required: true, message: "为谁征婚不能为空", trigger: "blur" }
],
remark: [
{ required: true, message: "自我描述不能为空", trigger: "blur" }
],
createTime: [
{ required: true, message: "创建时间不能为空", trigger: "blur" }
],
status: [
{ required: true, message: "状态 0-可用 1-不可用不能为空", trigger: "change" }
],
inviteId: [
{ required: true, message: "邀请人不能为空", trigger: "blur" }
],
inviteCode: [
{ required: true, message: "邀请人Code不能为空", trigger: "blur" }
],
imToken: [
{ required: true, message: "im_token不能为空", trigger: "blur" }
]
} }
}; };
}, },

View File

@@ -1,148 +1,28 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="用户ID" prop="userId"> <el-form-item label="用户编号" prop="usercode">
<el-input <el-input
v-model="queryParams.userId" v-model="queryParams.usercode"
placeholder="请输入用户ID" placeholder="请输入用户编号"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="用户号" prop="usercode"> <el-form-item label="昵称" prop="nickname">
<el-input <el-input
v-model="queryParams.usercode" v-model="queryParams.nickname"
placeholder="请输入用户号" placeholder="请输入昵称"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="民族" prop="nation"> <el-form-item label="手机号" prop="mobile">
<el-input <el-input
v-model="queryParams.nation" v-model="queryParams.mobile"
placeholder="请输入民族" placeholder="请输入手机号"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="家庭背景" prop="familyBackground">
<el-input
v-model="queryParams.familyBackground"
placeholder="请输入家庭背景"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="家中排行" prop="familyRanking">
<el-input
v-model="queryParams.familyRanking"
placeholder="请输入家中排行"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="是否接受异地恋" prop="loveAtDistance">
<el-input
v-model="queryParams.loveAtDistance"
placeholder="请输入是否接受异地恋"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="何时结婚" prop="whenMarriage">
<el-input
v-model="queryParams.whenMarriage"
placeholder="请输入何时结婚"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="是否要小孩" prop="wantChild">
<el-input
v-model="queryParams.wantChild"
placeholder="请输入是否要小孩"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="愿与对方父母同住" prop="liveAtParent">
<el-input
v-model="queryParams.liveAtParent"
placeholder="请输入愿与对方父母同住"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="交友目的" prop="findTag">
<el-input
v-model="queryParams.findTag"
placeholder="请输入交友目的"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="毕业院校" prop="graduateSchool">
<el-input
v-model="queryParams.graduateSchool"
placeholder="请输入毕业院校"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="兴趣爱好" prop="hobbys">
<el-input
v-model="queryParams.hobbys"
placeholder="请输入兴趣爱好"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="择偶条件-年龄" prop="filterAge">
<el-input
v-model="queryParams.filterAge"
placeholder="请输入择偶条件-年龄"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="择偶条件-身高" prop="filterHeight">
<el-input
v-model="queryParams.filterHeight"
placeholder="请输入择偶条件-身高"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="择偶条件-婚况" prop="filterMarriage">
<el-input
v-model="queryParams.filterMarriage"
placeholder="请输入择偶条件-婚况"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="择偶条件-学历" prop="filterEducation">
<el-input
v-model="queryParams.filterEducation"
placeholder="请输入择偶条件-学历"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="择偶条件-地区" prop="filterResidence">
<el-input
v-model="queryParams.filterResidence"
placeholder="请输入择偶条件-地区"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="择偶条件-年收入" prop="filterAnnualIncome">
<el-input
v-model="queryParams.filterAnnualIncome"
placeholder="请输入择偶条件-年收入"
clearable
@keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
@@ -152,16 +32,6 @@
</el-form> </el-form>
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['xq:userInfo:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
type="success" type="success"
@@ -173,76 +43,154 @@
v-hasPermi="['xq:userInfo:edit']" v-hasPermi="['xq:userInfo:edit']"
>修改</el-button> >修改</el-button>
</el-col> </el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['xq:userInfo:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['xq:userInfo:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
<el-table v-loading="loading" :data="userInfoList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="userInfoList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="" align="center" prop="id" v-if="true"/> <el-table-column label="用户编号" align="center" prop="usercode" />
<el-table-column label="用户ID" align="center" prop="userId" /> <el-table-column label="昵称" align="center" prop="nickname" show-overflow-tooltip/>
<el-table-column label="用户号" align="center" prop="usercode" /> <el-table-column label="手机号" align="center" prop="mobile" width="100"/>
<el-table-column label="住房情况" align="center" prop="housingStatus" /> <el-table-column label="个人信息" align="center" >
<el-table-column label="购车情况" align="center" prop="carStatus" /> <el-table-column label="头像" align="center" prop="avatar" >
<el-table-column label="是否吸烟" align="center" prop="smokeStatus" /> <template v-slot="scope">
<el-table-column label="是否喝酒" align="center" prop="drinkStatus" /> <image-avatar :src="scope.row.avatar"/>
<el-table-column label="民族" align="center" prop="nation" /> </template>
<el-table-column label="有没有小孩" align="center" prop="childStatus" /> </el-table-column>
<el-table-column label="家庭背景" align="center" prop="familyBackground" /> <el-table-column label="性别" align="center" prop="gender" >
<el-table-column label="家中排行" align="center" prop="familyRanking" /> <template v-slot="scope">
<el-table-column label="是否接受异地恋" align="center" prop="loveAtDistance" /> <cai-dict-tag :options="genderList" :value="scope.row.gender" />
<el-table-column label="何时结婚" align="center" prop="whenMarriage" /> </template>
<el-table-column label="是否要小孩" align="center" prop="wantChild" /> </el-table-column>
<el-table-column label="愿与对方父母同住" align="center" prop="liveAtParent" /> <el-table-column label="年龄" align="center" prop="age" />
<el-table-column label="交友目的" align="center" prop="findTag" /> <el-table-column label="生日" align="center" prop="birthday" show-overflow-tooltip/>
<el-table-column label="毕业院校" align="center" prop="graduateSchool" /> <el-table-column label="身高" align="center" prop="height" />
<el-table-column label="兴趣爱好" align="center" prop="hobbys" /> <el-table-column label="体重" align="center" prop="weight" />
<el-table-column label="择偶条件-年龄" align="center" prop="filterAge" /> <el-table-column label="体型" align="center" prop="somatotype" >
<el-table-column label="择偶条件-身高" align="center" prop="filterHeight" /> <template v-slot="scope">
<el-table-column label="择偶条件-体型" align="center" prop="filterSomatotype" /> <cai-dict-tag :options="userSomatotypeList" :value="scope.row.somatotype" empty-value="-"/>
<el-table-column label="择偶条件-婚况" align="center" prop="filterMarriage" /> </template>
<el-table-column label="择偶条件-学历" align="center" prop="filterEducation" /> </el-table-column>
<el-table-column label="择偶条件-地区" align="center" prop="filterResidence" /> <el-table-column label="生肖" align="center" prop="zodiac" >
<el-table-column label="择偶条件-年收入" align="center" prop="filterAnnualIncome" /> <template v-slot="scope">
<el-table-column label="择偶条件-小孩情况" align="center" prop="filterChildStatus" /> <cai-dict-tag :options="userZodiacList" :value="scope.row.zodiac" empty-value="-"/>
<el-table-column label="择偶条件-住房情况" align="center" prop="filterHousingStatus" /> </template>
<el-table-column label="择偶条件-购车情况" align="center" prop="filterCarStatus" /> </el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="星座" align="center" prop="sign" />
<template slot-scope="scope"> <el-table-column label="居住地" align="center" prop="residence" />
<el-table-column label="户籍地" align="center" prop="address" />
<el-table-column label="居住城市" align="center" prop="residenceCity" />
<el-table-column label="学历" align="center" prop="education" >
<template v-slot="scope">
<cai-dict-tag :options="userEducationList" :value="scope.row.education" empty-value="-"/>
</template>
</el-table-column>
<el-table-column label="婚况" align="center" prop="marriage" >
<template v-slot="scope">
<cai-dict-tag :options="userMarriageList" :value="scope.row.marriage" empty-value="-"/>
</template>
</el-table-column>
<el-table-column label="职业" align="center" prop="profession" />
<el-table-column label="年收入" align="center" prop="annualIncome" >
<template v-slot="scope">
<cai-dict-tag :options="userAnnualIncomeList" :value="scope.row.annualIncome" empty-value="-"/>
</template>
</el-table-column>
<el-table-column label="公司性质" align="center" prop="companyNature" >
<template v-slot="scope">
<cai-dict-tag :options="userCompanyNatureList" :value="scope.row.companyNature" empty-value="-"/>
</template>
</el-table-column>
<el-table-column label="为谁征婚" align="center" prop="forPersonals" show-overflow-tooltip>
<template v-slot="scope">
<cai-dict-tag :options="userForPersonalsList" :value="scope.row.forPersonals" empty-value="-"/>
</template>
</el-table-column>
<el-table-column label="自我描述" align="center" prop="remark" show-overflow-tooltip />
<el-table-column label="住房情况" align="center" prop="housingStatus" >
<template v-slot="scope">
<cai-dict-tag :options="userHousingStatusList" :value="scope.row.housingStatus" empty-value="-"/>
</template>
</el-table-column>
<el-table-column label="购车情况" align="center" prop="carStatus" >
<template v-slot="scope">
<cai-dict-tag :options="userCarStatusList" :value="scope.row.carStatus" empty-value="-"/>
</template>
</el-table-column>
<el-table-column label="是否吸烟" align="center" prop="smokeStatus" show-overflow-tooltip>
<template v-slot="scope">
<cai-dict-tag :options="userSmokeStatusList" :value="scope.row.smokeStatus" empty-value="-"/>
</template>
</el-table-column>
<el-table-column label="是否喝酒" align="center" prop="drinkStatus" >
<template v-slot="scope">
<cai-dict-tag :options="userDrinkStatusList" :value="scope.row.drinkStatus" empty-value="-"/>
</template>
</el-table-column>
<el-table-column label="民族" align="center" prop="nation" />
<el-table-column label="有没有小孩" align="center" prop="childStatus" >
<template v-slot="scope">
<cai-dict-tag :options="userChildStatusList" :value="scope.row.childStatus" empty-value="-"/>
</template>
</el-table-column>
<el-table-column label="家庭背景" align="center" prop="familyBackground" >
<template v-slot="scope">
<cai-dict-tag :options="userFamilyBackgroundList" :value="scope.row.familyBackground" empty-value="-"/>
</template>
</el-table-column>
<el-table-column label="家中排行" align="center" prop="familyRanking" >
<template v-slot="scope">
<cai-dict-tag :options="userFamilyRankingList" :value="scope.row.familyRanking" empty-value="-"/>
</template>
</el-table-column>
<el-table-column label="是否接受异地恋" align="center" prop="loveAtDistance" >
<template v-slot="scope">
<cai-dict-tag :options="userLoveAtDistanceList" :value="scope.row.loveAtDistance" empty-value="-"/>
</template>
</el-table-column>
<el-table-column label="何时结婚" align="center" prop="whenMarriage" >
<template v-slot="scope">
<cai-dict-tag :options="userWhenMarriageList" :value="scope.row.whenMarriage" empty-value="-"/>
</template>
</el-table-column>
<el-table-column label="是否要小孩" align="center" prop="wantChild" >
<template v-slot="scope">
<cai-dict-tag :options="userWantChildList" :value="scope.row.wantChild" empty-value="-"/>
</template>
</el-table-column>
<el-table-column label="愿与对方父母同住" align="center" prop="liveAtParent" >
<template v-slot="scope">
<cai-dict-tag :options="userLiveAtParentList" :value="scope.row.liveAtParent" empty-value="-"/>
</template>
</el-table-column>
<el-table-column label="交友目的" align="center" prop="findTag" >
<template v-slot="scope">
<cai-dict-tag :options="userFindTagList" :value="scope.row.findTag" empty-value="-"/>
</template>
</el-table-column>
<el-table-column label="毕业院校" align="center" prop="graduateSchool" />
<el-table-column label="兴趣爱好" align="center" prop="hobbys" />
</el-table-column>
<el-table-column label="择偶条件" align="center" >
<el-table-column label="年龄" align="center" prop="filterAge" />
<el-table-column label="身高" align="center" prop="filterHeight" />
<el-table-column label="体型" align="center" prop="filterSomatotype" />
<el-table-column label="婚况" align="center" prop="filterMarriage" />
<el-table-column label="学历" align="center" prop="filterEducation" />
<el-table-column label="地区" align="center" prop="filterResidence" />
<el-table-column label="年收入" align="center" prop="filterAnnualIncome" />
<el-table-column label="小孩情况" align="center" prop="filterChildStatus" />
<el-table-column label="住房情况" align="center" prop="filterHousingStatus" />
<el-table-column label="购车情况" align="center" prop="filterCarStatus" />
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right">
<template v-slot="scope">
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit" icon="el-icon-info"
@click="handleUpdate(scope.row)" @click="handleInfo(scope.row)"
v-hasPermi="['xq:userInfo:edit']" >详情</el-button>
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['xq:userInfo:remove']"
>删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@@ -254,82 +202,28 @@
:limit.sync="queryParams.pageSize" :limit.sync="queryParams.pageSize"
@pagination="getList" @pagination="getList"
/> />
<!-- 添加或修改用户信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="用户ID" prop="userId">
<el-input v-model="form.userId" placeholder="请输入用户ID" />
</el-form-item>
<el-form-item label="用户号" prop="usercode">
<el-input v-model="form.usercode" placeholder="请输入用户号" />
</el-form-item>
<el-form-item label="民族" prop="nation">
<el-input v-model="form.nation" placeholder="请输入民族" />
</el-form-item>
<el-form-item label="家庭背景" prop="familyBackground">
<el-input v-model="form.familyBackground" placeholder="请输入家庭背景" />
</el-form-item>
<el-form-item label="家中排行" prop="familyRanking">
<el-input v-model="form.familyRanking" placeholder="请输入家中排行" />
</el-form-item>
<el-form-item label="是否接受异地恋" prop="loveAtDistance">
<el-input v-model="form.loveAtDistance" placeholder="请输入是否接受异地恋" />
</el-form-item>
<el-form-item label="何时结婚" prop="whenMarriage">
<el-input v-model="form.whenMarriage" placeholder="请输入何时结婚" />
</el-form-item>
<el-form-item label="是否要小孩" prop="wantChild">
<el-input v-model="form.wantChild" placeholder="请输入是否要小孩" />
</el-form-item>
<el-form-item label="愿与对方父母同住" prop="liveAtParent">
<el-input v-model="form.liveAtParent" placeholder="请输入愿与对方父母同住" />
</el-form-item>
<el-form-item label="交友目的" prop="findTag">
<el-input v-model="form.findTag" placeholder="请输入交友目的" />
</el-form-item>
<el-form-item label="毕业院校" prop="graduateSchool">
<el-input v-model="form.graduateSchool" placeholder="请输入毕业院校" />
</el-form-item>
<el-form-item label="兴趣爱好" prop="hobbys">
<el-input v-model="form.hobbys" placeholder="请输入兴趣爱好" />
</el-form-item>
<el-form-item label="择偶条件-年龄" prop="filterAge">
<el-input v-model="form.filterAge" placeholder="请输入择偶条件-年龄" />
</el-form-item>
<el-form-item label="择偶条件-身高" prop="filterHeight">
<el-input v-model="form.filterHeight" placeholder="请输入择偶条件-身高" />
</el-form-item>
<el-form-item label="择偶条件-婚况" prop="filterMarriage">
<el-input v-model="form.filterMarriage" placeholder="请输入择偶条件-婚况" />
</el-form-item>
<el-form-item label="择偶条件-学历" prop="filterEducation">
<el-input v-model="form.filterEducation" placeholder="请输入择偶条件-学历" />
</el-form-item>
<el-form-item label="择偶条件-地区" prop="filterResidence">
<el-input v-model="form.filterResidence" placeholder="请输入择偶条件-地区" />
</el-form-item>
<el-form-item label="择偶条件-年收入" prop="filterAnnualIncome">
<el-input v-model="form.filterAnnualIncome" placeholder="请输入择偶条件-年收入" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { listUserInfo, getUserInfo, delUserInfo, addUserInfo, updateUserInfo } from "@/api/xq/userInfo"; import { listUserInfo, getUserInfo, delUserInfo, addUserInfo, updateUserInfo } from "@/api/xq/userInfo";
import {
genderList, userCarStatusList, userChildStatusList, userCompanyNatureList, userDrinkStatusList,
userEducationList, userFamilyBackgroundList, userFamilyRankingList, userForPersonalsList, userHousingStatusList,
userLiveAtParentList, userLoveAtDistanceList, userSmokeStatusList,
userSomatotypeList,userMarriageList,userAnnualIncomeList,userZodiacList,
userWantChildList, userWhenMarriageList,userFindTagList
} from '@/constant/statusMap'
export default { export default {
name: "UserInfo", name: "UserInfo",
data() { data() {
return { return {
// 按钮loading genderList,userCarStatusList, userChildStatusList, userCompanyNatureList, userDrinkStatusList,
buttonLoading: false, userEducationList, userFamilyBackgroundList, userFamilyRankingList, userForPersonalsList, userHousingStatusList,
userLiveAtParentList, userLoveAtDistanceList, userSmokeStatusList,
userSomatotypeList,userMarriageList,userAnnualIncomeList,userZodiacList,
userWantChildList, userWhenMarriageList,userFindTagList,
// 遮罩层 // 遮罩层
loading: true, loading: true,
// 选中数组 // 选中数组
@@ -344,15 +238,12 @@ export default {
total: 0, total: 0,
// 用户信息表格数据 // 用户信息表格数据
userInfoList: [], userInfoList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数 // 查询参数
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
userId: undefined, nickname: undefined,
mobile: undefined,
usercode: undefined, usercode: undefined,
housingStatus: undefined, housingStatus: undefined,
carStatus: undefined, carStatus: undefined,
@@ -380,95 +271,6 @@ export default {
filterHousingStatus: undefined, filterHousingStatus: undefined,
filterCarStatus: undefined filterCarStatus: undefined
}, },
// 表单参数
form: {},
// 表单校验
rules: {
id: [
{ required: true, message: "不能为空", trigger: "blur" }
],
userId: [
{ required: true, message: "用户ID不能为空", trigger: "blur" }
],
usercode: [
{ required: true, message: "用户号不能为空", trigger: "blur" }
],
housingStatus: [
{ required: true, message: "住房情况不能为空", trigger: "change" }
],
carStatus: [
{ required: true, message: "购车情况不能为空", trigger: "change" }
],
smokeStatus: [
{ required: true, message: "是否吸烟不能为空", trigger: "change" }
],
drinkStatus: [
{ required: true, message: "是否喝酒不能为空", trigger: "change" }
],
nation: [
{ required: true, message: "民族不能为空", trigger: "blur" }
],
childStatus: [
{ required: true, message: "有没有小孩不能为空", trigger: "change" }
],
familyBackground: [
{ required: true, message: "家庭背景不能为空", trigger: "blur" }
],
familyRanking: [
{ required: true, message: "家中排行不能为空", trigger: "blur" }
],
loveAtDistance: [
{ required: true, message: "是否接受异地恋不能为空", trigger: "blur" }
],
whenMarriage: [
{ required: true, message: "何时结婚不能为空", trigger: "blur" }
],
wantChild: [
{ required: true, message: "是否要小孩不能为空", trigger: "blur" }
],
liveAtParent: [
{ required: true, message: "愿与对方父母同住不能为空", trigger: "blur" }
],
findTag: [
{ required: true, message: "交友目的不能为空", trigger: "blur" }
],
graduateSchool: [
{ required: true, message: "毕业院校不能为空", trigger: "blur" }
],
hobbys: [
{ required: true, message: "兴趣爱好不能为空", trigger: "blur" }
],
filterAge: [
{ required: true, message: "择偶条件-年龄不能为空", trigger: "blur" }
],
filterHeight: [
{ required: true, message: "择偶条件-身高不能为空", trigger: "blur" }
],
filterSomatotype: [
{ required: true, message: "择偶条件-体型不能为空", trigger: "change" }
],
filterMarriage: [
{ required: true, message: "择偶条件-婚况不能为空", trigger: "blur" }
],
filterEducation: [
{ required: true, message: "择偶条件-学历不能为空", trigger: "blur" }
],
filterResidence: [
{ required: true, message: "择偶条件-地区不能为空", trigger: "blur" }
],
filterAnnualIncome: [
{ required: true, message: "择偶条件-年收入不能为空", trigger: "blur" }
],
filterChildStatus: [
{ required: true, message: "择偶条件-小孩情况不能为空", trigger: "change" }
],
filterHousingStatus: [
{ required: true, message: "择偶条件-住房情况不能为空", trigger: "change" }
],
filterCarStatus: [
{ required: true, message: "择偶条件-购车情况不能为空", trigger: "change" }
]
}
}; };
}, },
created() { created() {
@@ -484,45 +286,6 @@ export default {
this.loading = false; this.loading = false;
}); });
}, },
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: undefined,
userId: undefined,
usercode: undefined,
housingStatus: undefined,
carStatus: undefined,
smokeStatus: undefined,
drinkStatus: undefined,
nation: undefined,
childStatus: undefined,
familyBackground: undefined,
familyRanking: undefined,
loveAtDistance: undefined,
whenMarriage: undefined,
wantChild: undefined,
liveAtParent: undefined,
findTag: undefined,
graduateSchool: undefined,
hobbys: undefined,
filterAge: undefined,
filterHeight: undefined,
filterSomatotype: undefined,
filterMarriage: undefined,
filterEducation: undefined,
filterResidence: undefined,
filterAnnualIncome: undefined,
filterChildStatus: undefined,
filterHousingStatus: undefined,
filterCarStatus: undefined
};
this.resetForm("form");
},
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery() { handleQuery() {
this.queryParams.pageNum = 1; this.queryParams.pageNum = 1;
@@ -539,70 +302,6 @@ export default {
this.single = selection.length!==1 this.single = selection.length!==1
this.multiple = !selection.length this.multiple = !selection.length
}, },
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加用户信息";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.loading = true;
this.reset();
const id = row.id || this.ids
getUserInfo(id).then(response => {
this.loading = false;
this.form = response.data;
this.open = true;
this.title = "修改用户信息";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
this.buttonLoading = true;
if (this.form.id != null) {
updateUserInfo(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
}).finally(() => {
this.buttonLoading = false;
});
} else {
addUserInfo(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
}).finally(() => {
this.buttonLoading = false;
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除用户信息编号为"' + ids + '"的数据项?').then(() => {
this.loading = true;
return delUserInfo(ids);
}).then(() => {
this.loading = false;
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {
}).finally(() => {
this.loading = false;
});
},
/** 导出按钮操作 */
handleExport() {
this.download('xq/userInfo/export', {
...this.queryParams
}, `userInfo_${new Date().getTime()}.xlsx`)
}
} }
}; };
</script> </script>