This commit is contained in:
jiask 2025-11-04 15:40:39 +08:00
parent b0076d4bc0
commit 1c14c5e546
12 changed files with 375 additions and 234 deletions

View File

@ -174,3 +174,37 @@ export function getDevicelistApi(data) {
params:data params:data
}) })
} }
// 备份人员管理-分页查询信息
export function getCertificateUserListPageApi(data) {
return request({
url: '/certificate/certificate_system/list',
method: 'get',
headers: {
//"merchant-id":"378915229716713472",
},
params:data
})
}
export function getAccessListPageApi(data) {
return request({
url: '/certificate/certificate_manage/certificateInfo/getAccessListByCertificateNo',
method: 'get',
headers: {
//"merchant-id":"378915229716713472",
},
params:data
})
}
export function getCheckListPageApi(data) {
return request({
url: '/certificate/certificate_manage/certificateInfo/getCheckListByCertificateNo',
method: 'get',
headers: {
//"merchant-id":"378915229716713472",
},
params:data
})
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

View File

@ -47,9 +47,9 @@
<el-table-column label="有效期至" align="center" width="120" prop="issueLifespan" :show-overflow-tooltip="true"/> <el-table-column label="有效期至" align="center" width="120" prop="issueLifespan" :show-overflow-tooltip="true"/>
<el-table-column label="设备编号" align="center" prop="deviceNo" :show-overflow-tooltip="true"/> <el-table-column label="设备编号" align="center" prop="deviceNo" :show-overflow-tooltip="true"/>
<el-table-column label="槽位编号" align="center" prop="soltNo" :show-overflow-tooltip="true"/> <el-table-column label="槽位编号" align="center" prop="soltNo" :show-overflow-tooltip="true"/>
<el-table-column label="存取类型" align="center" prop="" :show-overflow-tooltip="true"/> <el-table-column label="存取类型" align="center" prop="typeName" :show-overflow-tooltip="true"/>
<el-table-column label="存取证任务下达时间" align="center" prop="" :show-overflow-tooltip="true"/> <el-table-column label="存取证任务下达时间" align="center" prop="createTime" :show-overflow-tooltip="true"/>
<el-table-column label="实际存取证时间" align="center" prop="" :show-overflow-tooltip="true"/> <el-table-column label="实际存取证时间" align="center" prop="realProcessDate" :show-overflow-tooltip="true"/>
</el-table> </el-table>
<pagination <pagination
v-show="total>0" v-show="total>0"
@ -122,8 +122,7 @@
</template> </template>
<script> <script>
// import { stockInoutFlowingPageApi,stockInoutStatisticsPageApi } from "@/api/foodManage/stockReport"; import { getAccessListPageApi,getCheckListPageApi } from "@/api/certificateManage/index";
export default { export default {
name: "CertificateLogList", name: "CertificateLogList",
dicts: [], dicts: [],
@ -270,11 +269,11 @@ export default {
param.endDate=undefined; param.endDate=undefined;
} }
console.log(param) console.log(param)
// stockInoutFlowingPageApi(param).then(response => { getAccessListPageApi(param).then(response => {
// this.tableListData = response.rows; this.tableListData = response.rows;
// this.total = Number(response.total); this.total = Number(response.total);
// this.loading = false; this.loading = false;
// }); });
}, },
//----------- //-----------
/** 搜索按钮操作 */ /** 搜索按钮操作 */
@ -306,11 +305,11 @@ export default {
param.endDate=undefined; param.endDate=undefined;
} }
console.log(param) console.log(param)
// stockInoutStatisticsPageApi(param).then(response => { getCheckListPageApi(param).then(response => {
// this.tableListData2 = response.rows; this.tableListData2 = response.rows;
// this.total2 = Number(response.total); this.total2 = Number(response.total);
// this.loading = false; this.loading = false;
// }); });
}, },
defaultDateRange() { defaultDateRange() {
const end = new Date(new Date().toLocaleDateString()); const end = new Date(new Date().toLocaleDateString());

View File

@ -155,6 +155,40 @@
</div> </div>
</el-dialog> </el-dialog>
<el-dialog :title="title2+''" :visible.sync="open2" width="700px" append-to-body>
<el-tabs v-model="activeName">
<!-- 基础设置 -->
<el-tab-pane label="" name="baseSetting" style="height: 100px;">
<el-form ref="baseForm" :model="baseForm" :rules="baseFormRules2" label-width="80px">
<el-row>
<el-col :span="12">
<el-form-item label="出境日期" prop="exitTime">
<el-date-picker
v-model="baseForm.exitTime"
type="date"
placeholder="选择日期"
format="yyyy-MM-dd" style="width: 100%;"
value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<el-form-item label="入境日期" prop="entryTime">
<el-date-picker
v-model="baseForm.entryTime"
type="date"
placeholder="选择日期"
format="yyyy-MM-dd" style="width: 100%;"
value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-tab-pane>
</el-tabs>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm2"> </el-button>
<el-button @click="cancel2"> </el-button>
</div>
</el-dialog>
<el-dialog title="核验任务下达" :visible.sync="openTask" width="600px" append-to-body> <el-dialog title="核验任务下达" :visible.sync="openTask" width="600px" append-to-body>
<el-form ref="taskForm" :model="taskForm" :rules="taskRules" label-width="120px"> <el-form ref="taskForm" :model="taskForm" :rules="taskRules" label-width="120px">
<el-row> <el-row>
@ -218,6 +252,9 @@
title: "", title: "",
// //
open: false, open: false,
title2: "",
//
open2: false,
checked: false, checked: false,
selectName:"", selectName:"",
selectIdNumber:"", selectIdNumber:"",
@ -252,11 +289,13 @@
}, },
// //
baseFormRules: { baseFormRules: {
name: [ name: [
{ required: true, message: "姓名不能为空", trigger: "blur" } { required: true, message: "姓名不能为空", trigger: "blur" }
], ],
},
baseFormRules2: {
exitTime: [{ required: true, message: "出境时间不能为空", trigger: "blur" }],
entryTime: [{ required: true, message: "入境时间不能为空", trigger: "blur" }],
}, },
logTableData:[],// logTableData:[],//
// //
@ -365,14 +404,20 @@
return; return;
} }
var titlemsg="是否确定自助取证?" var titlemsg="是否确定自助取证?"
var
titled="自助取证"
if(type==3){ if(type==3){
titlemsg="是否确定自助取证?" titlemsg="是否确定自助取证?"
titled="自助取证"
}else if(type==4){ }else if(type==4){
titlemsg="是否确定管理员取证?" titlemsg="是否确定管理员取证?"
titled="管理员取证"
}else if(type==5){ }else if(type==5){
titlemsg="是否确定应急取证?" titlemsg="是否确定应急取证?"
titled="应急取证"
}else if(type==6){ }else if(type==6){
titlemsg="是否确定代人取证?" titlemsg="是否确定代人取证?"
titled="代人取证"
} }
if(type==6){ if(type==6){
this.open = true; this.open = true;
@ -384,17 +429,31 @@
this.allreplace=response; this.allreplace=response;
}); });
}else{ }else{
this.$modal.confirm(titlemsg).then(() => { this.selectCertificateNos=CertificateNos;
getCertificateTakeAddPageApi({"certificateNos":CertificateNos,"type":type,"idNumber":"","name":""}).then(response => { this.selectType=type;
this.getList(); this.open2 = true;
this.$modal.msgSuccess("操作成功"); this.title2 = titled;
});
}).catch(() => {});
} }
}, },
submitForm2: function() {
const param={"certificateNos":this.selectCertificateNos,"type":this.selectType,"exitTime":this.baseForm.exitTime,"entryTime":this.baseForm.entryTime};
console.log("param",param);
getCertificateTakeAddPageApi(param).then(response => {
this.getList();
this.open2 = false;
this.reset();
this.$modal.msgSuccess("操作成功");
});
},
//
cancel2() {
this.open2 = false;
this.reset();
},
submitForm: function() { submitForm: function() {
console.log("this.baseForm",this.baseForm); const param={"certificateNos":this.selectCertificateNos,"type":this.selectType,"idNumber":this.selectIdNumber,"name":this.selectName};
getCertificateTakeAddPageApi({"certificateNos":this.selectCertificateNos,"type":this.selectType,"idNumber":this.selectIdNumber,"name":this.selectName}).then(response => { console.log("param",param);
getCertificateTakeAddPageApi(param).then(response => {
this.getList(); this.getList();
this.open = false; this.open = false;
this.reset(); this.reset();

View File

@ -75,7 +75,7 @@
<span>{{Number(scope.row.soltNum)-Number(scope.row.soltUsedNum)}}</span> <span>{{Number(scope.row.soltNum)-Number(scope.row.soltUsedNum)}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="所属单位" align="center" prop="unitName" :show-overflow-tooltip="true"></el-table-column> <el-table-column label="所属单位" align="center" prop="deptName" :show-overflow-tooltip="true"></el-table-column>
<el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
@ -108,7 +108,25 @@
<!-- 基础设置 --> <!-- 基础设置 -->
<el-tab-pane label="基础设置" name="baseSetting" style="height: 400px;"> <el-tab-pane label="基础设置" name="baseSetting" style="height: 400px;">
<el-form ref="baseForm" :model="baseForm" :rules="baseFormRules" label-width="80px"> <el-form ref="baseForm" :model="baseForm" :rules="baseFormRules" label-width="80px">
<el-col :span="12" v-if="baseForm.deptId !== 0">
<el-form-item label="单位" prop="deptId" style="width: 100%;">
<treeselect
v-model="baseForm.deptId"
:options="deptOptions"
:normalizer="normalizer"
placeholder="选择单位"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="类型" prop="deviceType">
<el-select v-model="baseForm.deviceType" placeholder="护照柜类型" clearable>
<el-option label="小型" value="1"/>
<el-option label="中型" value="2"/>
<el-option label="大型" value="3"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="设备编号" prop="deviceNumber"> <el-form-item label="设备编号" prop="deviceNumber">
<el-input v-model="baseForm.deviceNumber" placeholder="请输入设备编号" maxlength="30" clearable/> <el-input v-model="baseForm.deviceNumber" placeholder="请输入设备编号" maxlength="30" clearable/>
@ -167,13 +185,24 @@
</template> </template>
<script> <script>
import {
listDept,
getDept,
delDept,
addDept,
updateDept,
listDeptExcludeChild,
} from '@/api/system/dept'
import { systemAreaTreeApi,getCanteenByAreaApi,getStallByCanteenApi } from "@/api/base/stall"; import { systemAreaTreeApi,getCanteenByAreaApi,getStallByCanteenApi } from "@/api/base/stall";
import { getDeviceListPageApi,addDeviceApi, updateDeviceApi, deleteDeviceApi,getMenuRecipeDetailApi,uploadApkApi } from "@/api/device/index"; import { getDeviceListPageApi,addDeviceApi, updateDeviceApi, deleteDeviceApi,getMenuRecipeDetailApi,uploadApkApi } from "@/api/device/index";
import base64 from 'base-64'; import base64 from 'base-64';
import { getToken } from '@/utils/auth' import { getToken } from '@/utils/auth'
import Treeselect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
export default { export default {
name: "", name: "",
dicts: ["dev_comm_status","dev_status"], dicts: ["dev_comm_status","dev_status"],
components: { Treeselect },
data() { data() {
return { return {
// //
@ -190,6 +219,7 @@
total: 0, total: 0,
// //
tableListData: [], tableListData: [],
deptOptions: [],
// //
title: "", title: "",
// //
@ -221,6 +251,12 @@
}, },
// //
baseFormRules: { baseFormRules: {
deptId: [
{ required: true, message: "单位不能为空", trigger: "blur" }
],
deviceType: [
{ required: true, message: "设备类型不能为空", trigger: "blur" }
],
deviceNumber: [ deviceNumber: [
{ required: true, message: "设备编号不能为空", trigger: "blur" } { required: true, message: "设备编号不能为空", trigger: "blur" }
], ],
@ -280,23 +316,6 @@
// //
url: process.env.VUE_APP_BASE_API + '/file/upload', url: process.env.VUE_APP_BASE_API + '/file/upload',
}, },
appFormRules:{
version: [
{ required: true, message: "版本号不能为空", trigger: "blur" }
],
versionName: [
{ required: true, message: "版本号名称不能为空", trigger: "blur" }
],
apkName: [
{ required: true, message: "APP名称不能为空", trigger: "blur" }
],
apkPath: [
{ required: true, message: "APP路径不能为空", trigger: "blur" }
],
updateContent: [
{ required: true, message: "更新内容不能为空", trigger: "blur" }
]
},
}; };
}, },
mounted(){ mounted(){
@ -358,6 +377,21 @@
this.reset(); this.reset();
this.open = true; this.open = true;
this.title = "新增"; this.title = "新增";
listDept().then((response) => {
this.deptOptions = this.handleTree(response.data, 'deptId');
console.log("this.deptOptions",this.deptOptions)
})
},
/** 转换部门数据结构 */
normalizer(node) {
if (node.children && !node.children.length) {
delete node.children
}
return {
id: node.deptId,
label: node.deptName,
children: node.children,
}
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
@ -366,6 +400,9 @@
this.baseForm = Object.assign({}, row) this.baseForm = Object.assign({}, row)
// this.$set(this,"metadata",row.deviceMetadata) // this.$set(this,"metadata",row.deviceMetadata)
this.title = "修改"; this.title = "修改";
listDept().then((response) => {
this.deptOptions = this.handleTree(response.data, 'deptId')
})
}, },
handleTabClick(tab, event) { handleTabClick(tab, event) {
console.log(tab, event); console.log(tab, event);
@ -407,7 +444,6 @@
console.log(this.baseForm) console.log(this.baseForm)
this.$refs["baseForm"].validate(valid => { this.$refs["baseForm"].validate(valid => {
if (valid) { if (valid) {
this.baseForm.deviceType=20
// this.baseForm.metadata=this.metadata // this.baseForm.metadata=this.metadata
if (this.baseForm.deviceId != undefined) { if (this.baseForm.deviceId != undefined) {
updateDeviceApi(this.baseForm).then(response => { updateDeviceApi(this.baseForm).then(response => {
@ -477,7 +513,7 @@
apkName:null, apkName:null,
apkPath:null, apkPath:null,
updateContent:null, updateContent:null,
deviceType:20,//20APP 2APP deviceType:null,//20APP 2APP
}; };
this.resetForm("appForm"); this.resetForm("appForm");
this.openApp = true; this.openApp = true;

View File

@ -108,22 +108,22 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="用户姓名" align="center" prop="nickName" :show-overflow-tooltip="true"/> <el-table-column label="用户姓名" align="center" prop="nickName" :show-overflow-tooltip="true"/>
<el-table-column label="身份证号" align="center" prop="" :show-overflow-tooltip="true"/> <el-table-column label="身份证号" align="center" prop="idNumber" :show-overflow-tooltip="true"/>
<el-table-column label="手机号码" align="center" prop="phonenumber" width="120"> <el-table-column label="手机号码" align="center" prop="phonenumber" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ hidePhone(scope.row.phonenumber) }}</span> <span>{{ hidePhone(scope.row.phonenumber) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="单位职务" align="center" prop="" :show-overflow-tooltip="true"/> <el-table-column label="单位职务" align="center" prop="postName" :show-overflow-tooltip="true"/>
<el-table-column label="人员类别" align="center" prop="" :show-overflow-tooltip="true"/> <el-table-column label="人员类别" align="center" prop="userTypeName" :show-overflow-tooltip="true"/>
<el-table-column label="应备案类型" align="center" prop="" :show-overflow-tooltip="true"/> <el-table-column label="责任处室" align="center" prop="deptName" :show-overflow-tooltip="true"/>
<el-table-column label="责任处室" align="center" prop="" :show-overflow-tooltip="true"/> <el-table-column label="有无证件" align="center" prop="" :show-overflow-tooltip="true">
<el-table-column label="有无证件" align="center" prop="" :show-overflow-tooltip="true"/>
<!-- <el-table-column label="创建时间" align="center" prop="createTime" width="160">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span> <span v-if="scope.row.isHave==0||scope.row.isHave==null" style="color: #FF7322;font-size: 15px;"></span>
<span v-if="scope.row.isHave==1" style="color: #03DF6D;font-size: 15px;"></span>
</template> </template>
</el-table-column> --> </el-table-column>
</el-table> </el-table>
<pagination <pagination
@ -166,6 +166,7 @@ import {
listUser, listUser,
deptTreeSelect, deptTreeSelect,
} from '@/api/system/user' } from '@/api/system/user'
import {getCertificateUserListPageApi} from "@/api/certificateManage/index"
import Treeselect from '@riophae/vue-treeselect' import Treeselect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css' import '@riophae/vue-treeselect/dist/vue-treeselect.css'
export default { export default {
@ -206,6 +207,7 @@ export default {
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
isCertificate:"1",
userName: undefined, userName: undefined,
phonenumber: undefined, phonenumber: undefined,
deptId: undefined, deptId: undefined,
@ -348,13 +350,13 @@ export default {
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
// this.download( this.download(
// 'system/user/export', 'system/user/export2',
// { {
// ...this.queryParams, ...this.queryParams,
// }, },
// `user_${new Date().getTime()}.xlsx`, `user_${new Date().getTime()}.xlsx`,
// ) )
}, },
// //
formatDate(sdate) { formatDate(sdate) {

View File

@ -2,7 +2,7 @@
<div class="app-container home"> <div class="app-container home">
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :sm="24" :lg="12" style="padding-left: 20px"> <el-col :sm="24" :lg="12" style="padding-left: 20px">
<h2>证件管理系统</h2> <h2>公职人员护照管理系统</h2>
<p> <p>
<b>当前版本:</b> <span>v{{ version }}</span> <b>当前版本:</b> <span>v{{ version }}</span>
</p> </p>

View File

@ -1,7 +1,7 @@
<template> <template>
<div class="login"> <div class="login">
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form"> <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
<h3 class="title">证件管理系统</h3> <h3 class="title">公职人员护照管理系统</h3>
<el-form-item prop="username"> <el-form-item prop="username">
<el-input <el-input
v-model="loginForm.username" v-model="loginForm.username"

View File

@ -3,7 +3,7 @@
<div class="login"> <div class="login">
<div class="login-form" style="width: 450px;"> <div class="login-form" style="width: 450px;">
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form" > <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form" >
<h3 class="title">证件管理系统</h3> <h3 class="title">公职人员护照管理系统</h3>
<template v-if="loginMethod === 'password'"> <template v-if="loginMethod === 'password'">
<el-form-item prop="username"> <el-form-item prop="username">
<el-input <el-input
@ -406,7 +406,7 @@ export default {
align-items: center; align-items: center;
height: 100%; height: 100%;
width: 100%; width: 100%;
background-image: url("../assets/images/login-bg.png"); background-image: url("../assets/images/logind.jpg");
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 100% 100%; /* 确保背景图覆盖整个容器 */ background-size: 100% 100%; /* 确保背景图覆盖整个容器 */
background-position: center center; /* 居中显示背景图 */ background-position: center center; /* 居中显示背景图 */

View File

@ -1,7 +1,7 @@
<template> <template>
<div class="register"> <div class="register">
<el-form ref="registerForm" :model="registerForm" :rules="registerRules" class="register-form"> <el-form ref="registerForm" :model="registerForm" :rules="registerRules" class="register-form">
<h3 class="title">证件管理系统</h3> <h3 class="title">公职人员护照管理系统</h3>
<el-form-item prop="username"> <el-form-item prop="username">
<el-input v-model="registerForm.username" type="text" auto-complete="off" placeholder="账号"> <el-input v-model="registerForm.username" type="text" auto-complete="off" placeholder="账号">
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" /> <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />

View File

@ -2,7 +2,7 @@
<div class="container"> <div class="container">
<div class="register"> <div class="register">
<el-form ref="registerForm" :model="registerForm" :rules="registerRules" class="register-form"> <el-form ref="registerForm" :model="registerForm" :rules="registerRules" class="register-form">
<h3 class="title">证件管理系统</h3> <h3 class="title">公职人员护照管理系统</h3>
<el-form-item prop="nickName"> <el-form-item prop="nickName">
<el-input v-model="registerForm.nickName" type="text" auto-complete="off" placeholder="请输入姓名"> <el-input v-model="registerForm.nickName" type="text" auto-complete="off" placeholder="请输入姓名">

View File

@ -455,10 +455,10 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="邮箱" prop="email"> <el-form-item label="身份证" prop="idNumber">
<el-input <el-input
v-model="form.email" v-model="form.idNumber"
placeholder="请输入邮箱" placeholder="请输入身份证号码"
maxlength="50" maxlength="50"
/> />
</el-form-item> </el-form-item>
@ -518,6 +518,18 @@
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12">
<el-form-item label="备案人员">
<el-radio-group v-model="form.isCertificate">
<el-radio
v-for="dict in isCertificates"
:key="dict.value"
:label="dict.value"
>{{ dict.label }}
</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="用户类别"> <el-form-item label="用户类别">
<el-select v-model="form.userType" placeholder="请选择用户类别" style="width: 100%;"> <el-select v-model="form.userType" placeholder="请选择用户类别" style="width: 100%;">
@ -530,23 +542,11 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- <el-col :span="12">
<el-form-item label="APP用户">
<el-radio-group v-model="form.isCustomer">
<el-radio
v-for="item in isCustomerList"
:key="item.id"
:label="item.id"
>{{ item.name }}
</el-radio>
</el-radio-group>
</el-form-item>
</el-col> -->
<el-col :span="12"> <el-col :span="12">
<el-form-item label="岗位"> <el-form-item label="岗位">
<el-select <el-select
v-model="form.postIds" v-model="form.postId"
multiple style="width: 100%;" style="width: 100%;"
placeholder="请选择岗位" placeholder="请选择岗位"
> >
<el-option <el-option
@ -815,6 +815,7 @@ export default {
// //
loginTypeArr: [], loginTypeArr: [],
isCustomerList:[{id:"0",name:"是"},{id:"1",name:"否"}], isCustomerList:[{id:"0",name:"是"},{id:"1",name:"否"}],
isCertificates:[{"value":0,"label":"否"},{"value":1,"label":"是"}],
// //
multipleLimit: 1, multipleLimit: 1,
// //
@ -880,6 +881,10 @@ export default {
trigger: 'blur', trigger: 'blur',
}, },
], ],
idNumber: [
{ required: true, message: "身份证不能为空", trigger: "blur" },
{ validator: this.validateIDCard, trigger: 'blur' }
],
nickName: [ nickName: [
{ {
required: true, required: true,
@ -998,6 +1003,17 @@ export default {
}) })
}, },
methods: { methods: {
validateIDCard(rule, value, callback) {
// 15
const reg15 = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;
// 18
const reg18 = /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}(\d|X|x)$/;
if (reg15.test(value) || reg18.test(value)) {
callback(); //
} else {
callback(new Error('请输入有效的身份证号')); //
}
},
/* 手机号码脱敏 */ /* 手机号码脱敏 */
hidePhone(phone) { hidePhone(phone) {
if (!phone) return '' if (!phone) return ''
@ -1176,12 +1192,7 @@ export default {
const userId = row.userId || this.ids const userId = row.userId || this.ids
getUser(userId).then((response) => { getUser(userId).then((response) => {
this.form = response.data this.form = response.data
// if(this.form.phonenumber&&this.form..phonenumber!=""){ console.log("this.form",this.form);
// this.$set(this.form,"phonenumber",decryptWithSM4(response.data.phonenumber))
// }
// if(this.form.email&&this.form..email!=""){
// this.$set(this.form,"email",decryptWithSM4(response.data.email))
// }
const loginType = response.data.loginType const loginType = response.data.loginType
if (loginType) { if (loginType) {
this.loginTypeArr = loginType.split(',') this.loginTypeArr = loginType.split(',')