This commit is contained in:
2026-09-24 09:56:49 +08:00
parent 1c2630a338
commit f709e3a0e4
24 changed files with 142 additions and 29 deletions
@@ -100,6 +100,7 @@ layout("/layouts/platform.html"){
{prop: 'userName', label: '姓名'},
{prop: 'loginName', label: '工号'},
{prop: 'sex', label: '性别'},
{prop: 'idcard', label: '身份证号'},
{prop: 'unitName', label: '单位'},
{prop: 'userState', label: '状态'},
{prop: 'mutualGoldStartTime', label: '入会时间'},
@@ -163,4 +164,4 @@ layout("/layouts/platform.html"){
<!--#
}
#-->
#-->
@@ -24,9 +24,9 @@ layout("/layouts/platform.html"){
</div>
<div class="search-item">
<div class="search-item-label">工号姓名:</div>
<div class="search-item-label">会员信息:</div>
<div class="search-item-option">
<el-input clearable maxlength="10" placeholder="可输入会员的工号或姓名进行查询"
<el-input clearable maxlength="50" placeholder="可输入会员的工号、姓名或身份证号进行查询"
v-model.trim="pageForm.keyWord"></el-input>
</div>
</div>
@@ -147,6 +147,10 @@ layout("/layouts/platform.html"){
<el-radio-button label="女"></el-radio-button>
</el-radio-group>
</el-form-item>
<el-form-item label="身份证号" prop="idcard">
<el-input @input="$refs.form.validateField('idcard')" maxlength="18"
v-model.trim="formData.idcard"></el-input>
</el-form-item>
<el-form-item label="单位" prop="unitId">
<el-select clearable filterable style="width: 100%"
@@ -194,6 +198,20 @@ layout("/layouts/platform.html"){
</div>
<script>
const idcardPattern = /^[1-9]\d{5}(18|19|20|(3\d))\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
const validateIdcard = (rule, value, callback) => {
if (!value) {
callback()
return
}
if (!idcardPattern.test(value)) {
callback(new Error('请输入正确的身份证号'))
return
}
callback()
}
const vue = new Vue({
el: '#app',
mixins: [initTableMixins],
@@ -215,6 +233,7 @@ layout("/layouts/platform.html"){
loginName: [{required: true, message: '请输入工号', trigger: ['change', 'blur']}],
userName: [{required: true, message: '请输入姓名', trigger: ['change', 'blur']}],
// sex: [{required: true, message: '请选择性别', trigger: ['change', 'blur']}],
idcard: [{validator: validateIdcard, trigger: ['change', 'blur']}],
unitName: [{required: false, message: '请输入单位', trigger: ['change', 'blur']}],
unitId: [{required: true, message: '请选择单位', trigger: ['change', 'blur']}],
isMember: [{required: true, message: '请选择是否会员', trigger: ['change', 'blur']}],
@@ -230,6 +249,7 @@ layout("/layouts/platform.html"){
userName: null,
loginName: null,
sex: null,
idcard: null,
unitName: null,
unitId: null,
isMember: null,
@@ -302,6 +322,12 @@ layout("/layouts/platform.html"){
})
},
async doHandle() {
const idcard = (this.formData.idcard || '').trim()
if (idcard && !idcardPattern.test(idcard)) {
this.notifyWarning('请输入正确的身份证号')
return
}
this.$set(this.formData, 'idcard', idcard || null)
const valid = await this.$refs.form.validate()
if (!valid) return
const url = this.formData.id ? '/doEdit' : '/doAdd'