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

完善会员修改

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