Commit 8b0138b6 authored by 罗林杰's avatar 罗林杰

完善会员修改

parent 589b8ddc
......@@ -4,18 +4,18 @@
<div v-show="showSwitch.courseContent" class="courseContent">
<div class="search">
<el-form ref="queryForm" style="padding: 30px 0 0 10px" :model="queryParams" :inline="true">
<el-form-item label="会员:" prop="memCodeStr">
<el-form-item label="会员:" prop="memCodeStr">
<el-input
v-model="queryParams.memCodeStr"
placeholder="请输入会员号"
clearable
:maxlength="30"
size="small"
style="width: 150px"
style="width: 170px"
/>
</el-form-item>
<el-form-item label="性别:" prop="memSex">
<el-select v-model="queryParams.memSex" placeholder="请选择性别" style="width: 150px" clearable>
<el-select v-model="queryParams.memSex" placeholder="请选择性别" style="width: 170px" clearable>
<el-option
v-for="item in sexOptions"
:key="item.value"
......@@ -25,7 +25,7 @@
</el-select>
</el-form-item>
<el-form-item label="民族:" prop="memNation">
<el-select v-model="queryParams.memNation" placeholder="请选择民族" style="width: 150px" clearable>
<el-select v-model="queryParams.memNation" placeholder="请选择民族" style="width: 170px" clearable>
<el-option
v-for="item in nationOptions"
:key="item.value"
......@@ -35,7 +35,7 @@
</el-select>
</el-form-item>
<el-form-item label="星座:" prop="memConstellation">
<el-select v-model="queryParams.memConstellation" placeholder="请选择星座" style="width: 150px" clearable>
<el-select v-model="queryParams.memConstellation" placeholder="请选择星座" style="width: 170px" clearable>
<el-option
v-for="item in constellationOptions"
:key="item.value"
......@@ -48,7 +48,7 @@
<el-select
v-model="queryParams.memHeight"
placeholder="请选择身高"
style="width: 150px"
style="width: 170px"
multiple
collapse-tags
clearable
......@@ -66,7 +66,7 @@
<el-select
v-model="queryParams.memWeight"
placeholder="请选择体重"
style="width: 150px"
style="width: 170px"
multiple
collapse-tags
clearable
......@@ -84,7 +84,7 @@
<el-select
v-model="queryParams.memMaxEducation"
placeholder="请选择学历"
style="width: 100%"
style="width: 170px"
multiple
collapse-tags
clearable
......@@ -97,14 +97,14 @@
/>
</el-select>
</el-form-item>
<el-form-item label="收入:" prop="minYearIncome">
<el-form-item label="收入:" prop="minYearIncome">
<el-input
v-model="queryParams.minYearIncome"
placeholder="请输入最低收入"
clearable
:maxlength="30"
size="small"
style="width: 150px"
style="width: 170px"
/>
</el-form-item>
<el-form-item label="籍贯:" prop="memNative">
......@@ -112,7 +112,7 @@
<el-select
v-model="queryParams.memProvince"
placeholder="请选择省份"
style="width: 150px"
style="width: 170px"
clearable
@change="handleProvinceChange"
>
......@@ -124,11 +124,13 @@
/>
</el-select>
<!-- 市级选择(仅当选择了省份时显示) -->
</el-form-item>
<el-form-item label="城市:" prop="memCity">
<el-select
v-model="queryParams.memCity"
multiple
placeholder="请选择城市"
style="width: 150px"
style="width: 170px"
collapse-tags
clearable
>
......@@ -141,7 +143,7 @@
</el-select>
</el-form-item>
<el-form-item label="婚姻:" prop="memMarriage">
<el-select v-model="queryParams.memMarriage" placeholder="请选择婚姻状况" style="width: 150px" clearable>
<el-select v-model="queryParams.memMarriage" placeholder="请选择婚姻状况" style="width: 170px" clearable>
<el-option
v-for="item in marriageOptions"
:key="item.value"
......@@ -157,11 +159,11 @@
clearable
:maxlength="30"
size="small"
style="width: 150px"
style="width: 170px"
/>
</el-form-item>
<el-form-item label="实名:" prop="memRealAuthen">
<el-select v-model="queryParams.memRealAuthen" placeholder="请选择实名情况" style="width: 150px" clearable>
<el-select v-model="queryParams.memRealAuthen" placeholder="请选择实名情况" style="width: 170px" clearable>
<el-option
v-for="item in memRealAuthenOptions"
:key="item.value"
......@@ -171,7 +173,7 @@
</el-select>
</el-form-item>
<el-form-item label="等级:" prop="memLevel">
<el-select v-model="queryParams.memLevel" placeholder="请选择会员等级" style="width: 150px" clearable>
<el-select v-model="queryParams.memLevel" placeholder="请选择会员等级" style="width: 170px" clearable>
<el-option
v-for="item in memLevelOptions"
:key="item.value"
......@@ -180,6 +182,16 @@
/>
</el-select>
</el-form-item>
<el-form-item label="状态:" prop="flag">
<el-select v-model="queryParams.flag" placeholder="请选择账号状态" style="width: 170px" clearable>
<el-option
v-for="item in flagOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item>
<!-- //查询按钮-->
<el-button
......@@ -197,19 +209,6 @@
@click="resetQuery"
>{{ commonField.resetName }}</el-button>
</el-form-item>
<div style="float: right">
<el-form-item>
<!-- //新增按钮-->
<el-button
v-has-permi="hasAddPerm"
:class="commonField.addClass"
:type="commonField.typePrimary"
:icon="commonField.addIcon"
:size="commonField.smallSize"
@click="handleAdd"
>{{ commonField.addName }}</el-button>
</el-form-item>
</div>
</el-form>
</div>
<div style="padding:5px 10px">
......@@ -245,20 +244,20 @@
</el-table-column>
<el-table-column align="center" prop="memRealAuthen" min-width="80" label="实名情况" show-overflow-tooltip>
<template slot-scope="scope">
<el-tag v-if="scope.row.memRealAuthen === '1'" type="green" size="medium ">已实名</el-tag>
<el-tag v-else type="warning" size="medium ">未实名</el-tag>
<el-tag v-if="scope.row.memRealAuthen === '1'" type="warning" size="medium ">已实名</el-tag>
<el-tag v-else type="green" size="medium ">未实名</el-tag>
</template>
</el-table-column>
<el-table-column align="center" prop="memLevel" min-width="80" label="会员等级" show-overflow-tooltip>
<template slot-scope="scope">
<el-tag v-if="scope.row.memLevel === 1" type="green" size="medium ">会员</el-tag>
<el-tag v-else type="warning" size="medium ">普通用户</el-tag>
<el-tag v-if="scope.row.memLevel === 1" type="danger" size="medium ">会员</el-tag>
<el-tag v-else type="green" size="medium ">普通用户</el-tag>
</template>
</el-table-column>
<el-table-column align="center" prop="isRecommended" min-width="80" label="推荐" show-overflow-tooltip>
<template slot-scope="scope">
<el-tag v-if="scope.row.isRecommended === 1" type="green" size="medium ">推荐</el-tag>
<el-tag v-else type="warning" size="medium ">未推荐</el-tag>
<el-tag v-if="scope.row.isRecommended === 1" type="warning" size="medium ">推荐</el-tag>
<el-tag v-else type="green" size="medium ">未推荐</el-tag>
</template>
</el-table-column>
<el-table-column label="权重" prop="sort" :show-overflow-tooltip="true" min-width="55">
......@@ -431,11 +430,21 @@ export default {
memLevelOptions: [
{
label: '普通用户',
value: '0'
value: 0
},
{
label: '会员',
value: 1
}
],
flagOptions: [
{
label: '启用',
value: '1'
},
{
label: '停用',
value: '0'
}
]
}
......
......@@ -88,7 +88,7 @@
placeholder="请输入电话"
clearable
:disabled="secondFromDisabled"
:maxlength="30"
:maxlength="11"
size="small"
style="width: 300px"
/>
......@@ -98,7 +98,7 @@
placeholder="请输入电话"
clearable
:disabled="showSecretData"
:maxlength="30"
:maxlength="11"
size="small"
style="width: 300px"
/>
......@@ -112,7 +112,7 @@
placeholder="请输入证件号"
clearable
:disabled="secondFromDisabled"
:maxlength="30"
:maxlength="18"
size="small"
style="width: 300px"
/>
......@@ -122,7 +122,7 @@
placeholder="请输入证件号"
clearable
:disabled="showSecretData"
:maxlength="30"
:maxlength="18"
size="small"
style="width: 300px"
/>
......@@ -195,13 +195,11 @@
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="体重:" prop="memWeight">
<el-form-item label="微信号:" prop="memWxCode">
<el-input
v-model="form.memWeight"
placeholder="请输入体重"
v-model="form.memWxCode"
placeholder="请输入微信号"
clearable
:disabled="secondFromDisabled"
:maxlength="30"
......@@ -210,6 +208,41 @@
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="实名情况:" prop="memRealAuthen">
<el-select
v-model="form.memRealAuthen"
placeholder="请选择实名情况"
style="width: 300px"
clearable
:disabled="secondFromDisabled"
>
<el-option
v-for="item in memRealAuthenOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="会员等级:" prop="memLevel">
<el-select
v-model="form.memLevel"
placeholder="请选择会员等级"
style="width: 300px"
:disabled="secondFromDisabled"
>
<el-option
v-for="item in memLevelOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="学历:" prop="memMaxEducation">
<el-select
......@@ -241,8 +274,6 @@
/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="职业:" prop="memCareer">
<el-input
......@@ -282,8 +313,6 @@
/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="生日" prop="memBirthday">
<el-date-picker
......@@ -298,39 +327,6 @@
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="星座:" prop="memConstellation">
<el-select
v-model="form.memConstellation"
placeholder="请选择星座"
style="width: 300px"
clearable
disabled
>
<el-option
v-for="item in constellationOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="身高:" prop="memHeight">
<el-input
v-model="form.memHeight"
placeholder="请输入身高"
clearable
:disabled="secondFromDisabled"
:maxlength="30"
size="small"
style="width: 300px"
/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="居住地:" prop="memResidence">
<el-cascader
......@@ -358,10 +354,28 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="微信号:" prop="memWxCode">
<el-form-item label="星座:" prop="memConstellation">
<el-select
v-model="form.memConstellation"
placeholder="请选择星座"
style="width: 300px"
clearable
disabled
>
<el-option
v-for="item in constellationOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="16型人格:" prop="memMbti">
<el-input
v-model="form.memWxCode"
placeholder="请输入微信号"
v-model="form.memMbti"
placeholder="请输入16型人格"
clearable
:disabled="secondFromDisabled"
:maxlength="30"
......@@ -370,13 +384,11 @@
/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="16型人格:" prop="memMbti">
<el-form-item label="身高:" prop="memHeight">
<el-input
v-model="form.memMbti"
placeholder="请输入16型人格"
v-model="form.memHeight"
placeholder="请输入身高"
clearable
:disabled="secondFromDisabled"
:maxlength="30"
......@@ -386,21 +398,16 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="实名情况:" prop="memRealAuthen">
<el-select
v-model="form.memRealAuthen"
placeholder="请选择实名情况"
style="width: 300px"
<el-form-item label="体重:" prop="memWeight">
<el-input
v-model="form.memWeight"
placeholder="请输入体重"
clearable
:disabled="secondFromDisabled"
>
<el-option
v-for="item in memRealAuthenOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
:maxlength="30"
size="small"
style="width: 300px"
/>
</el-form-item>
</el-col>
<el-col :span="8">
......@@ -420,8 +427,6 @@
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="是否推荐:" prop="isRecommended">
<el-select
......@@ -496,6 +501,20 @@
/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备注:" prop="remarks">
<el-input
v-model="form.remarks"
type="textarea"
placeholder="请输入备注"
clearable
:disabled="secondFromDisabled"
:maxlength="200"
size="small"
style="width: 100%"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
......@@ -597,7 +616,7 @@ export default {
memHobby: [{ required: true, message: '请输入兴趣爱好', trigger: 'blur' }],
memFuturePlan: [{ required: true, message: '请输入未来规划', trigger: 'blur' }],
memResidence: [{ required: true, message: '请选择居住地', trigger: 'change' }],
memNativePlace: [{ required: true, message: '请选择籍贯', trigger: 'change' }],
memNative: [{ required: true, message: '请选择籍贯', trigger: 'change' }],
memRealName: [{ required: false, message: '请输入真实姓名', trigger: 'blur' }],
memPhone: [{ required: false, message: '请输入手机号', trigger: 'blur' }],
memIdcard: [{ required: false, message: '请输入身份证号', trigger: 'blur' }]
......@@ -649,11 +668,11 @@ export default {
],
flagOptions: [
{
label: '启',
label: '启',
value: '1'
},
{
label: '暂停',
label: '停用',
value: '0'
}
],
......@@ -670,11 +689,11 @@ export default {
memLevelOptions: [
{
label: '普通用户',
value: '1'
value: 0
},
{
label: '会员',
value: '0'
value: 1
}
],
showSecretData: true
......@@ -791,6 +810,7 @@ export default {
this.form.memMarriage = Number(this.form.memMarriage)
this.form.memConstellation = Number(this.form.memConstellation)
this.form.memResidence = Number(this.form.memResidence)
this.form.memLevel = Number(this.form.memLevel)
},
handleResidence() {
const province = this.residence.find(item => item.value === this.form.memResidence[0])
......@@ -913,8 +933,14 @@ export default {
this.form.memPhone = res.data.memPhone
})
this.rules.memRealName = [{ required: true, message: '请输入姓名', trigger: 'blur' }]
this.rules.memPhone = [{ required: true, message: '请输入手机号码', trigger: 'blur' }]
this.rules.memIdcard = [{ required: true, message: '请输入身份证号', trigger: 'blur' }]
this.rules.memPhone = [
{ required: true, message: '请输入手机号', trigger: 'blur' },
{ validator: this.phoneValidator, trigger: 'blur' }
]
this.rules.memIdcard = [
{ required: true, message: '请输入身份证号', trigger: 'blur' },
{ validator: this.idCardValidator, trigger: 'blur' }
]
} else {
this.form.memRealName = ''
this.form.memIdcard = ''
......@@ -924,6 +950,22 @@ export default {
this.rules.memIdcard = [{ required: false, message: '请输入身份证号', trigger: 'blur' }]
}
this.showSecretData = isLocked
},
phoneValidator(rule, value, callback) {
const phoneRegex = /^1[3456789]\d{9}$/
if (value && !phoneRegex.test(value)) {
callback(new Error('请输入正确的11位手机号'))
} else {
callback()
}
},
idCardValidator(rule, value, callback) {
const idCardRegex = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
if (value && !idCardRegex.test(value)) {
callback(new Error('请输入正确的18位身份证号'))
} else {
callback()
}
}
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment