jsk
This commit is contained in:
parent
b0076d4bc0
commit
1c14c5e546
|
|
@ -174,3 +174,37 @@ export function getDevicelistApi(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 |
|
|
@ -21,11 +21,11 @@
|
|||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-row :gutter="10" class="mb8">
|
||||
</el-form>
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
<el-table v-loading="loading" :data="tableListData">
|
||||
</el-row>
|
||||
<el-table v-loading="loading" :data="tableListData">
|
||||
<el-table-column label="序号" align="center" width="80" type="index" fixed="left">
|
||||
<template slot-scope="scope">
|
||||
<span>{{(queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1}}</span>
|
||||
|
|
@ -33,7 +33,7 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="姓名" align="center" prop="name" :show-overflow-tooltip="true" width="120"/>
|
||||
<el-table-column label="身份证号" align="center" prop="idNumber" :show-overflow-tooltip="true" width="180"/>
|
||||
<!-- <el-table-column label="部门" align="center" prop="deptFullName" :show-overflow-tooltip="true" width="250"/>
|
||||
<!-- <el-table-column label="部门" align="center" prop="deptFullName" :show-overflow-tooltip="true" width="250"/>
|
||||
<el-table-column label="出生日期" align="center" width="120" prop="birthday" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="出生地点" align="center" prop="birthAddr" :show-overflow-tooltip="true"/> -->
|
||||
<el-table-column label="证件类型" align="center" prop="certificateTypeName" :show-overflow-tooltip="true"/>
|
||||
|
|
@ -47,10 +47,10 @@
|
|||
<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="soltNo" :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>
|
||||
<el-table-column label="存取类型" align="center" prop="typeName" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="存取证任务下达时间" align="center" prop="createTime" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="实际存取证时间" align="center" prop="realProcessDate" :show-overflow-tooltip="true"/>
|
||||
</el-table>
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
|
|
@ -60,7 +60,7 @@
|
|||
/>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="证件核验记录" name="statistics">
|
||||
<el-form :model="queryParams2" ref="queryForm2" size="small" :inline="true" v-show="showSearch" label-width="90px">
|
||||
<el-form :model="queryParams2" ref="queryForm2" size="small" :inline="true" v-show="showSearch" label-width="90px">
|
||||
<el-form-item label="日期范围">
|
||||
<el-date-picker
|
||||
v-model="dateRange"
|
||||
|
|
@ -79,10 +79,10 @@
|
|||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery2">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery2">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-row :gutter="10" class="mb8">
|
||||
</el-form>
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList2"></right-toolbar>
|
||||
</el-row>
|
||||
</el-row>
|
||||
<el-table v-loading="loading" :data="tableListData2">
|
||||
<el-table-column label="序号" align="center" width="80" type="index" fixed="left">
|
||||
<template slot-scope="scope">
|
||||
|
|
@ -91,7 +91,7 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="姓名" align="center" prop="name" :show-overflow-tooltip="true" width="120"/>
|
||||
<el-table-column label="身份证号" align="center" prop="idNumber" :show-overflow-tooltip="true" width="180"/>
|
||||
<!-- <el-table-column label="部门" align="center" prop="deptFullName" :show-overflow-tooltip="true" width="250"/>
|
||||
<!-- <el-table-column label="部门" align="center" prop="deptFullName" :show-overflow-tooltip="true" width="250"/>
|
||||
<el-table-column label="出生日期" align="center" width="120" prop="birthday" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="出生地点" align="center" prop="birthAddr" :show-overflow-tooltip="true"/> -->
|
||||
<el-table-column label="证件类型" align="center" prop="certificateTypeName" :show-overflow-tooltip="true"/>
|
||||
|
|
@ -108,7 +108,7 @@
|
|||
<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>
|
||||
</el-table>
|
||||
<pagination
|
||||
v-show="total2>0"
|
||||
:total="total2"
|
||||
|
|
@ -116,14 +116,13 @@
|
|||
:limit.sync="queryParams2.pageSize"
|
||||
@pagination="getList2"
|
||||
/>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// import { stockInoutFlowingPageApi,stockInoutStatisticsPageApi } from "@/api/foodManage/stockReport";
|
||||
|
||||
import { getAccessListPageApi,getCheckListPageApi } from "@/api/certificateManage/index";
|
||||
export default {
|
||||
name: "CertificateLogList",
|
||||
dicts: [],
|
||||
|
|
@ -139,17 +138,17 @@ export default {
|
|||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
showSearch: true,
|
||||
activeName:'stream',
|
||||
//-----证件存取记录------
|
||||
// 总条数
|
||||
total: 0,
|
||||
//表格数据
|
||||
tableListData: [],
|
||||
tableListData: [],
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
pageSize: 10,
|
||||
},
|
||||
dateRange:this.defaultDateRange(),//区域树
|
||||
pickerOptions: {
|
||||
|
|
@ -178,24 +177,24 @@ export default {
|
|||
picker.$emit('pick', [start, end]);
|
||||
}
|
||||
}]
|
||||
},
|
||||
},
|
||||
//-----证件核验记录------
|
||||
// 总条数
|
||||
total2: 0,
|
||||
//表格数据
|
||||
tableListData2: [],
|
||||
tableListData2: [],
|
||||
// 查询参数
|
||||
queryParams2: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
pageSize: 10,
|
||||
},
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
created() {
|
||||
if(this.$route.query.certificateInfoRowData){
|
||||
created() {
|
||||
if(this.$route.query.certificateInfoRowData){
|
||||
this.certificateInfoRowData = JSON.parse(this.$route.query.certificateInfoRowData)
|
||||
console.log(this.certificateInfoRowData)
|
||||
this.getList()
|
||||
|
|
@ -218,13 +217,13 @@ export default {
|
|||
jumpList() {
|
||||
// const obj = { path: "foodManage/purchaseManage/contractDetail" };
|
||||
// this.$tab.closeOpenPage(obj);
|
||||
// this.$router.replace({ path: "/foodManage/purchaseManage/contractList" }); // 要打开的页面
|
||||
// this.$router.replace({ path: "/foodManage/purchaseManage/contractList" }); // 要打开的页面
|
||||
},
|
||||
handleTabClick(){
|
||||
if(this.activeName=='stream'){
|
||||
this.queryParams={
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
pageSize: 10,
|
||||
}
|
||||
this.dateRange = this.defaultDateRange()
|
||||
this.resetForm("queryForm");
|
||||
|
|
@ -246,7 +245,7 @@ export default {
|
|||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
resetQuery() {
|
||||
this.dateRange = this.defaultDateRange()
|
||||
this.queryParams = {
|
||||
pageNum: 1,
|
||||
|
|
@ -254,13 +253,13 @@ export default {
|
|||
}
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
},
|
||||
/** 查询列表 */
|
||||
getList() {
|
||||
// this.loading = true;
|
||||
let param = {
|
||||
"pageNum": this.queryParams.pageNum,
|
||||
"pageSize": this.queryParams.pageSize,
|
||||
"pageNum": this.queryParams.pageNum,
|
||||
"pageSize": this.queryParams.pageSize,
|
||||
}
|
||||
if(this.dateRange&&this.dateRange.length>0){
|
||||
param.startDate=this.formatDateTime(this.dateRange[0])
|
||||
|
|
@ -268,14 +267,14 @@ export default {
|
|||
}else{
|
||||
param.startDate=undefined;
|
||||
param.endDate=undefined;
|
||||
}
|
||||
}
|
||||
console.log(param)
|
||||
// stockInoutFlowingPageApi(param).then(response => {
|
||||
// this.tableListData = response.rows;
|
||||
// this.total = Number(response.total);
|
||||
// this.loading = false;
|
||||
// });
|
||||
},
|
||||
getAccessListPageApi(param).then(response => {
|
||||
this.tableListData = response.rows;
|
||||
this.total = Number(response.total);
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
//-----证件核验记录------
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery2() {
|
||||
|
|
@ -283,7 +282,7 @@ export default {
|
|||
this.getList2();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery2() {
|
||||
resetQuery2() {
|
||||
this.queryParams2 = {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
|
|
@ -295,7 +294,7 @@ export default {
|
|||
getList2() {
|
||||
this.loading = true;
|
||||
let param = {
|
||||
"pageNum": this.queryParams2.pageNum,
|
||||
"pageNum": this.queryParams2.pageNum,
|
||||
"pageSize": this.queryParams2.pageSize,
|
||||
}
|
||||
if(this.dateRange&&this.dateRange.length>0){
|
||||
|
|
@ -306,21 +305,21 @@ export default {
|
|||
param.endDate=undefined;
|
||||
}
|
||||
console.log(param)
|
||||
// stockInoutStatisticsPageApi(param).then(response => {
|
||||
// this.tableListData2 = response.rows;
|
||||
// this.total2 = Number(response.total);
|
||||
// this.loading = false;
|
||||
// });
|
||||
},
|
||||
getCheckListPageApi(param).then(response => {
|
||||
this.tableListData2 = response.rows;
|
||||
this.total2 = Number(response.total);
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
defaultDateRange() {
|
||||
const end = new Date(new Date().toLocaleDateString());
|
||||
end.setTime(end.getTime() + 24 * 60 * 60 * 1000 -1);
|
||||
const start = new Date((new Date().toLocaleDateString()));
|
||||
start.setTime(start.getTime() - 30 * 24 * 60 * 60 * 1000);
|
||||
start.setTime(start.getTime() - 30 * 24 * 60 * 60 * 1000);
|
||||
this.start = parseInt(start.getTime() / 1000)
|
||||
this.end = parseInt(end.getTime() / 1000)
|
||||
return [start, end]
|
||||
},
|
||||
},
|
||||
//日期
|
||||
formatDate(date) {
|
||||
// 格式化为 YYYY-MM-DD
|
||||
|
|
@ -341,7 +340,7 @@ export default {
|
|||
const minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()
|
||||
const seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()
|
||||
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@
|
|||
size="mini"
|
||||
@click="handleAdd(5)"
|
||||
>应急取证</el-button>
|
||||
</el-col>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
icon="el-icon-download"
|
||||
|
|
@ -79,10 +79,10 @@
|
|||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleTask"
|
||||
@click="handleTask"
|
||||
>出入境核验
|
||||
</el-button>
|
||||
</el-col>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
<el-table v-loading="loading" :data="tableListData" @selection-change="handleSelectionChange" height="800">
|
||||
|
|
@ -91,7 +91,7 @@
|
|||
<template slot-scope="scope">
|
||||
<span>{{(queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column label="姓名" align="center" prop="name" :show-overflow-tooltip="true" width="120"/>
|
||||
<el-table-column label="身份证号" align="center" prop="idNumber" :show-overflow-tooltip="true" width="180"/>
|
||||
<el-table-column label="出生日期" align="center" prop="birthday" :show-overflow-tooltip="true"/>
|
||||
|
|
@ -155,8 +155,42 @@
|
|||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog title="核验任务下达" :visible.sync="openTask" width="600px" append-to-body>
|
||||
<el-form ref="taskForm" :model="taskForm" :rules="taskRules" label-width="120px">
|
||||
<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-form ref="taskForm" :model="taskForm" :rules="taskRules" label-width="120px">
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="核验截止日期" prop="verificationDate">
|
||||
|
|
@ -167,14 +201,14 @@
|
|||
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-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitTask">确 定</el-button>
|
||||
<el-button @click="cancelTask">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
@ -218,6 +252,9 @@
|
|||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
title2: "",
|
||||
// 是否显示弹出层
|
||||
open2: false,
|
||||
checked: false,
|
||||
selectName:"",
|
||||
selectIdNumber:"",
|
||||
|
|
@ -252,11 +289,13 @@
|
|||
},
|
||||
// 表单校验
|
||||
baseFormRules: {
|
||||
|
||||
name: [
|
||||
{ required: true, message: "姓名不能为空", trigger: "blur" }
|
||||
],
|
||||
|
||||
},
|
||||
baseFormRules2: {
|
||||
exitTime: [{ required: true, message: "出境时间不能为空", trigger: "blur" }],
|
||||
entryTime: [{ required: true, message: "入境时间不能为空", trigger: "blur" }],
|
||||
},
|
||||
logTableData:[],//异常弹窗
|
||||
// 总条数
|
||||
|
|
@ -276,9 +315,9 @@
|
|||
// 表单参数
|
||||
taskForm: {
|
||||
verificationDate:""
|
||||
},
|
||||
},
|
||||
// 表单校验
|
||||
taskRules: {
|
||||
taskRules: {
|
||||
verificationDate: [
|
||||
{
|
||||
required: true,
|
||||
|
|
@ -365,14 +404,20 @@
|
|||
return;
|
||||
}
|
||||
var titlemsg="是否确定自助取证?"
|
||||
var
|
||||
titled="自助取证"
|
||||
if(type==3){
|
||||
titlemsg="是否确定自助取证?"
|
||||
titled="自助取证"
|
||||
}else if(type==4){
|
||||
titlemsg="是否确定管理员取证?"
|
||||
titled="管理员取证"
|
||||
}else if(type==5){
|
||||
titlemsg="是否确定应急取证?"
|
||||
titled="应急取证"
|
||||
}else if(type==6){
|
||||
titlemsg="是否确定代人取证?"
|
||||
titled="代人取证"
|
||||
}
|
||||
if(type==6){
|
||||
this.open = true;
|
||||
|
|
@ -384,17 +429,31 @@
|
|||
this.allreplace=response;
|
||||
});
|
||||
}else{
|
||||
this.$modal.confirm(titlemsg).then(() => {
|
||||
getCertificateTakeAddPageApi({"certificateNos":CertificateNos,"type":type,"idNumber":"","name":""}).then(response => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("操作成功");
|
||||
});
|
||||
}).catch(() => {});
|
||||
this.selectCertificateNos=CertificateNos;
|
||||
this.selectType=type;
|
||||
this.open2 = true;
|
||||
this.title2 = titled;
|
||||
}
|
||||
},
|
||||
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() {
|
||||
console.log("this.baseForm",this.baseForm);
|
||||
getCertificateTakeAddPageApi({"certificateNos":this.selectCertificateNos,"type":this.selectType,"idNumber":this.selectIdNumber,"name":this.selectName}).then(response => {
|
||||
const param={"certificateNos":this.selectCertificateNos,"type":this.selectType,"idNumber":this.selectIdNumber,"name":this.selectName};
|
||||
console.log("param",param);
|
||||
getCertificateTakeAddPageApi(param).then(response => {
|
||||
this.getList();
|
||||
this.open = false;
|
||||
this.reset();
|
||||
|
|
@ -422,8 +481,8 @@
|
|||
},
|
||||
/** 远程校验按钮操作 */
|
||||
handleTask() {
|
||||
this.resetTask()
|
||||
this.openTask = true
|
||||
this.resetTask()
|
||||
this.openTask = true
|
||||
},
|
||||
// 取消按钮
|
||||
cancelTask() {
|
||||
|
|
@ -434,21 +493,21 @@
|
|||
resetTask() {
|
||||
this.taskForm = {
|
||||
verificationDate:""
|
||||
}
|
||||
this.resetForm('taskForm')
|
||||
}
|
||||
this.resetForm('taskForm')
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitTask: function () {
|
||||
this.$refs['taskForm'].validate((valid) => {
|
||||
this.$refs['taskForm'].validate((valid) => {
|
||||
let param = Object.assign({},this.taskForm)
|
||||
console.log(param)
|
||||
console.log(this.ids)
|
||||
if (valid) {
|
||||
if (valid) {
|
||||
// updateUser(param).then((response) => {
|
||||
// this.$modal.msgSuccess('修改成功')
|
||||
// this.openTask = false
|
||||
// this.getList()
|
||||
// })
|
||||
// })
|
||||
}
|
||||
})
|
||||
},
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
<el-option label="小型" value="1"/>
|
||||
<el-option label="中型" value="2"/>
|
||||
<el-option label="大型" value="3"/>
|
||||
</el-select>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="单位名称" prop="unitName">
|
||||
<el-input
|
||||
|
|
@ -49,7 +49,7 @@
|
|||
<template slot-scope="scope">
|
||||
<span>{{(queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column label="护照柜名称" align="center" prop="deviceName" :show-overflow-tooltip="true" width="180"/>
|
||||
<el-table-column label="设备编号" align="center" prop="deviceNumber" :show-overflow-tooltip="true" width="120"/>
|
||||
<el-table-column label="护照柜类型" align="center" prop="deviceType" :show-overflow-tooltip="true" width="100">
|
||||
|
|
@ -71,11 +71,11 @@
|
|||
<el-table-column label="总槽位数" align="center" prop="soltNum" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="已使用槽位数" align="center" prop="soltUsedNum" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="空余数" align="center" prop="" :show-overflow-tooltip="true">
|
||||
<template slot-scope="scope">
|
||||
<template slot-scope="scope">
|
||||
<span>{{Number(scope.row.soltNum)-Number(scope.row.soltUsedNum)}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="所属单位" align="center" prop="unitName" :show-overflow-tooltip="true"></el-table-column>
|
||||
</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">
|
||||
<template slot-scope="scope">
|
||||
|
||||
|
|
@ -108,7 +108,25 @@
|
|||
<!-- 基础设置 -->
|
||||
<el-tab-pane label="基础设置" name="baseSetting" style="height: 400px;">
|
||||
<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-form-item label="设备编号" prop="deviceNumber">
|
||||
<el-input v-model="baseForm.deviceNumber" placeholder="请输入设备编号" maxlength="30" clearable/>
|
||||
|
|
@ -167,13 +185,24 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
listDept,
|
||||
getDept,
|
||||
delDept,
|
||||
addDept,
|
||||
updateDept,
|
||||
listDeptExcludeChild,
|
||||
} from '@/api/system/dept'
|
||||
import { systemAreaTreeApi,getCanteenByAreaApi,getStallByCanteenApi } from "@/api/base/stall";
|
||||
import { getDeviceListPageApi,addDeviceApi, updateDeviceApi, deleteDeviceApi,getMenuRecipeDetailApi,uploadApkApi } from "@/api/device/index";
|
||||
import base64 from 'base-64';
|
||||
import { getToken } from '@/utils/auth'
|
||||
import Treeselect from '@riophae/vue-treeselect'
|
||||
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||
export default {
|
||||
name: "",
|
||||
dicts: ["dev_comm_status","dev_status"],
|
||||
components: { Treeselect },
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
|
|
@ -190,6 +219,7 @@
|
|||
total: 0,
|
||||
//表格数据
|
||||
tableListData: [],
|
||||
deptOptions: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
|
|
@ -221,6 +251,12 @@
|
|||
},
|
||||
// 表单校验
|
||||
baseFormRules: {
|
||||
deptId: [
|
||||
{ required: true, message: "单位不能为空", trigger: "blur" }
|
||||
],
|
||||
deviceType: [
|
||||
{ required: true, message: "设备类型不能为空", trigger: "blur" }
|
||||
],
|
||||
deviceNumber: [
|
||||
{ required: true, message: "设备编号不能为空", trigger: "blur" }
|
||||
],
|
||||
|
|
@ -280,23 +316,6 @@
|
|||
// 上传的地址
|
||||
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(){
|
||||
|
|
@ -358,6 +377,21 @@
|
|||
this.reset();
|
||||
this.open = true;
|
||||
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) {
|
||||
|
|
@ -366,6 +400,9 @@
|
|||
this.baseForm = Object.assign({}, row)
|
||||
// this.$set(this,"metadata",row.deviceMetadata)
|
||||
this.title = "修改";
|
||||
listDept().then((response) => {
|
||||
this.deptOptions = this.handleTree(response.data, 'deptId')
|
||||
})
|
||||
},
|
||||
handleTabClick(tab, event) {
|
||||
console.log(tab, event);
|
||||
|
|
@ -407,7 +444,6 @@
|
|||
console.log(this.baseForm)
|
||||
this.$refs["baseForm"].validate(valid => {
|
||||
if (valid) {
|
||||
this.baseForm.deviceType=20
|
||||
// this.baseForm.metadata=this.metadata
|
||||
if (this.baseForm.deviceId != undefined) {
|
||||
updateDeviceApi(this.baseForm).then(response => {
|
||||
|
|
@ -477,7 +513,7 @@
|
|||
apkName:null,
|
||||
apkPath:null,
|
||||
updateContent:null,
|
||||
deviceType:20,//20食堂APP 2超市APP
|
||||
deviceType:null,//20食堂APP 2超市APP
|
||||
};
|
||||
this.resetForm("appForm");
|
||||
this.openApp = true;
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@
|
|||
style="width: 240px"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form-item>
|
||||
<el-form-item label="手机号码" prop="phonenumber">
|
||||
<el-input
|
||||
v-model="queryParams.phonenumber"
|
||||
|
|
@ -54,7 +54,7 @@
|
|||
style="width: 240px"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button
|
||||
type="primary"
|
||||
|
|
@ -72,14 +72,14 @@
|
|||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
@click="handleExport"
|
||||
>导出
|
||||
</el-button>
|
||||
</el-col>
|
||||
|
|
@ -90,10 +90,10 @@
|
|||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleTask"
|
||||
@click="handleTask"
|
||||
>有无证件核验
|
||||
</el-button>
|
||||
</el-col>
|
||||
</el-col>
|
||||
<right-toolbar
|
||||
:showSearch.sync="showSearch"
|
||||
@queryTable="getList"
|
||||
|
|
@ -106,24 +106,24 @@
|
|||
<template slot-scope="scope">
|
||||
<span>{{(queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1}}</span>
|
||||
</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="" :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">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ hidePhone(scope.row.phonenumber) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<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="" :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">
|
||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
<el-table-column label="单位职务" align="center" prop="postName" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="人员类别" align="center" prop="userTypeName" :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">
|
||||
<template slot-scope="scope">
|
||||
<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>
|
||||
</el-table-column>
|
||||
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
|
|
@ -134,11 +134,11 @@
|
|||
@pagination="getList"
|
||||
/>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-row>
|
||||
|
||||
<!-- 添加或修改参数配置对话框 -->
|
||||
<el-dialog title="核验任务下达" :visible.sync="openTask" width="600px" append-to-body>
|
||||
<el-form ref="taskForm" :model="taskForm" :rules="taskRules" label-width="120px">
|
||||
<el-dialog title="核验任务下达" :visible.sync="openTask" width="600px" append-to-body>
|
||||
<el-form ref="taskForm" :model="taskForm" :rules="taskRules" label-width="120px">
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="核验截止日期" prop="verificationDate">
|
||||
|
|
@ -149,25 +149,26 @@
|
|||
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-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitTask">确 定</el-button>
|
||||
<el-button @click="cancelTask">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
listUser,
|
||||
deptTreeSelect,
|
||||
} from '@/api/system/user'
|
||||
listUser,
|
||||
deptTreeSelect,
|
||||
} from '@/api/system/user'
|
||||
import {getCertificateUserListPageApi} from "@/api/certificateManage/index"
|
||||
import Treeselect from '@riophae/vue-treeselect'
|
||||
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||
export default {
|
||||
name: '',
|
||||
dicts: [
|
||||
|
|
@ -193,30 +194,31 @@ export default {
|
|||
// 总条数
|
||||
total: 0,
|
||||
// 用户表格数据
|
||||
userList: null,
|
||||
userList: null,
|
||||
// 部门树选项
|
||||
deptOptions: undefined,
|
||||
deptOptions: undefined,
|
||||
// 部门名称
|
||||
deptName: undefined,
|
||||
deptName: undefined,
|
||||
defaultProps: {
|
||||
children: 'children',
|
||||
label: 'label',
|
||||
},
|
||||
},
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
isCertificate:"1",
|
||||
userName: undefined,
|
||||
phonenumber: undefined,
|
||||
phonenumber: undefined,
|
||||
deptId: undefined,
|
||||
},
|
||||
openTask: false,
|
||||
// 表单参数
|
||||
taskForm: {
|
||||
verificationDate:""
|
||||
},
|
||||
},
|
||||
// 表单校验
|
||||
taskRules: {
|
||||
taskRules: {
|
||||
verificationDate: [
|
||||
{
|
||||
required: true,
|
||||
|
|
@ -226,7 +228,7 @@ export default {
|
|||
]
|
||||
},
|
||||
}
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
// 根据名称筛选部门树
|
||||
deptName(val) {
|
||||
|
|
@ -235,21 +237,21 @@ export default {
|
|||
},
|
||||
created() {
|
||||
this.getList()
|
||||
this.getDeptTree()
|
||||
this.getDeptTree()
|
||||
},
|
||||
methods: {
|
||||
/* 手机号码脱敏 */
|
||||
hidePhone(phone) {
|
||||
if (!phone) return ''
|
||||
return phone.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2')
|
||||
},
|
||||
},
|
||||
/** 查询用户列表 */
|
||||
getList() {
|
||||
this.loading = true
|
||||
listUser(this.queryParams).then(
|
||||
(response) => {
|
||||
this.userList = response.rows
|
||||
this.total = response.total
|
||||
this.total = response.total
|
||||
this.loading = false
|
||||
},
|
||||
)
|
||||
|
|
@ -279,31 +281,31 @@ export default {
|
|||
handleNodeClick(data) {
|
||||
this.queryParams.deptId = data.id
|
||||
this.handleQuery()
|
||||
},
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1
|
||||
this.getList()
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm('queryForm')
|
||||
resetQuery() {
|
||||
this.resetForm('queryForm')
|
||||
this.$refs.tree.setCurrentKey(null)
|
||||
this.handleQuery()
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
handleSelectionChange(selection) {
|
||||
// 更新选中的roleId数组
|
||||
this.ids = selection.map((item) => item.userId)
|
||||
// 更新单选和多选状态
|
||||
this.single = selection.length !== 1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
|
||||
|
||||
/** 远程校验按钮操作 */
|
||||
handleTask() {
|
||||
this.resetTask()
|
||||
this.openTask = true
|
||||
this.resetTask()
|
||||
this.openTask = true
|
||||
},
|
||||
// 取消按钮
|
||||
cancelTask() {
|
||||
|
|
@ -314,21 +316,21 @@ export default {
|
|||
resetTask() {
|
||||
this.taskForm = {
|
||||
verificationDate:""
|
||||
}
|
||||
this.resetForm('taskForm')
|
||||
}
|
||||
this.resetForm('taskForm')
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitTask: function () {
|
||||
this.$refs['taskForm'].validate((valid) => {
|
||||
this.$refs['taskForm'].validate((valid) => {
|
||||
let param = Object.assign({},this.taskForm)
|
||||
console.log(param)
|
||||
console.log(this.ids)
|
||||
if (valid) {
|
||||
if (valid) {
|
||||
// updateUser(param).then((response) => {
|
||||
// this.$modal.msgSuccess('修改成功')
|
||||
// this.openTask = false
|
||||
// this.getList()
|
||||
// })
|
||||
// })
|
||||
}
|
||||
})
|
||||
},
|
||||
|
|
@ -348,14 +350,14 @@ export default {
|
|||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
// this.download(
|
||||
// 'system/user/export',
|
||||
// {
|
||||
// ...this.queryParams,
|
||||
// },
|
||||
// `user_${new Date().getTime()}.xlsx`,
|
||||
// )
|
||||
},
|
||||
this.download(
|
||||
'system/user/export2',
|
||||
{
|
||||
...this.queryParams,
|
||||
},
|
||||
`user_${new Date().getTime()}.xlsx`,
|
||||
)
|
||||
},
|
||||
//日期
|
||||
formatDate(sdate) {
|
||||
let date = new Date(sdate);
|
||||
|
|
@ -364,7 +366,7 @@ export default {
|
|||
const month = String(date.getMonth() + 1).padStart(2, '0'); // 月份从0开始
|
||||
const day = String(date.getDate()).padStart(2, '0');
|
||||
return `${year}-${month}-${day}`;
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
<div class="app-container home">
|
||||
<el-row :gutter="20">
|
||||
<el-col :sm="24" :lg="12" style="padding-left: 20px">
|
||||
<h2>证件管理系统</h2>
|
||||
<h2>公职人员护照管理系统</h2>
|
||||
<p>
|
||||
<b>当前版本:</b> <span>v{{ version }}</span>
|
||||
</p>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<div class="login">
|
||||
<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-input
|
||||
v-model="loginForm.username"
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
<div class="login">
|
||||
<div class="login-form" style="width: 450px;">
|
||||
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form" >
|
||||
<h3 class="title">证件管理系统</h3>
|
||||
<h3 class="title">公职人员护照管理系统</h3>
|
||||
<template v-if="loginMethod === 'password'">
|
||||
<el-form-item prop="username">
|
||||
<el-input
|
||||
|
|
@ -406,7 +406,7 @@ export default {
|
|||
align-items: center;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
background-image: url("../assets/images/login-bg.png");
|
||||
background-image: url("../assets/images/logind.jpg");
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%; /* 确保背景图覆盖整个容器 */
|
||||
background-position: center center; /* 居中显示背景图 */
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<div class="register">
|
||||
<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-input v-model="registerForm.username" type="text" auto-complete="off" placeholder="账号">
|
||||
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
<div class="container">
|
||||
<div class="register">
|
||||
<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-input v-model="registerForm.nickName" type="text" auto-complete="off" placeholder="请输入姓名">
|
||||
|
|
|
|||
|
|
@ -215,7 +215,7 @@
|
|||
label="用户账号"
|
||||
align="center"
|
||||
key="userName"
|
||||
prop="userName"
|
||||
prop="userName"
|
||||
v-if="columns[1].visible"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
|
|
@ -365,7 +365,7 @@
|
|||
<el-dropdown-menu slot="dropdown">
|
||||
<!-- <el-dropdown-item
|
||||
command="handleUpFace"
|
||||
icon="el-icon-key"
|
||||
icon="el-icon-key"
|
||||
>人脸上传
|
||||
</el-dropdown-item> -->
|
||||
<el-dropdown-item
|
||||
|
|
@ -444,7 +444,7 @@
|
|||
noResultsText="没有搜索结果"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="手机号码" prop="phonenumber">
|
||||
<el-input
|
||||
|
|
@ -455,14 +455,14 @@
|
|||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="邮箱" prop="email">
|
||||
<el-form-item label="身份证" prop="idNumber">
|
||||
<el-input
|
||||
v-model="form.email"
|
||||
placeholder="请输入邮箱"
|
||||
v-model="form.idNumber"
|
||||
placeholder="请输入身份证号码"
|
||||
maxlength="50"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item
|
||||
v-if="form.userId == undefined"
|
||||
|
|
@ -490,7 +490,7 @@
|
|||
show-password
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="用户性别">
|
||||
<el-select
|
||||
|
|
@ -518,6 +518,18 @@
|
|||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</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-form-item label="用户类别">
|
||||
<el-select v-model="form.userType" placeholder="请选择用户类别" style="width: 100%;">
|
||||
|
|
@ -530,23 +542,11 @@
|
|||
</el-select>
|
||||
</el-form-item>
|
||||
</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-form-item label="岗位">
|
||||
<el-select
|
||||
v-model="form.postIds"
|
||||
multiple style="width: 100%;"
|
||||
v-model="form.postId"
|
||||
style="width: 100%;"
|
||||
placeholder="请选择岗位"
|
||||
>
|
||||
<el-option
|
||||
|
|
@ -558,7 +558,7 @@
|
|||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="角色" prop="roleIds">
|
||||
<el-select
|
||||
|
|
@ -590,7 +590,7 @@
|
|||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="登录权限" prop="loginTypeArr">
|
||||
<el-checkbox-group v-model="loginTypeArr">
|
||||
|
|
@ -616,9 +616,9 @@
|
|||
end-placeholder="结束日期" clearable
|
||||
format="yyyy-MM-dd" style="width: 100%"
|
||||
:picker-options="pickerOptions" >
|
||||
</el-date-picker>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="人脸图片">
|
||||
<el-upload
|
||||
|
|
@ -643,7 +643,7 @@
|
|||
</el-upload>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="备注">
|
||||
|
|
@ -665,7 +665,7 @@
|
|||
<!-- 人脸上传弹窗 -->
|
||||
<el-dialog title="上传人脸" :visible.sync="openFace" width="500px" append-to-body>
|
||||
<el-form ref="baseForm" :model="baseForm" label-width="100px">
|
||||
<el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="人脸图片">
|
||||
<el-upload
|
||||
|
|
@ -696,7 +696,7 @@
|
|||
<el-button @click="openFace=false">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
|
||||
<el-dialog :visible.sync="dialogVisible" width="700px">
|
||||
<img style="width: 100%;height: 100%;" :src="dialogImageUrl" alt="">
|
||||
</el-dialog>
|
||||
|
|
@ -767,8 +767,8 @@ import Treeselect from '@riophae/vue-treeselect'
|
|||
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||
import { validateNewPassword } from '@/utils/validate'
|
||||
|
||||
import store from "@/store";
|
||||
import { imgUpLoadTwo } from '@/api/system/upload'
|
||||
import store from "@/store";
|
||||
import { imgUpLoadTwo } from '@/api/system/upload'
|
||||
import { decryptWithSM4,encryptWithSM4 } from '@/utils/sm';
|
||||
export default {
|
||||
name: 'User',
|
||||
|
|
@ -815,6 +815,7 @@ export default {
|
|||
// 登录权限数组
|
||||
loginTypeArr: [],
|
||||
isCustomerList:[{id:"0",name:"是"},{id:"1",name:"否"}],
|
||||
isCertificates:[{"value":0,"label":"否"},{"value":1,"label":"是"}],
|
||||
// 角色下拉多选限制数量
|
||||
multipleLimit: 1,
|
||||
// 表单参数
|
||||
|
|
@ -880,6 +881,10 @@ export default {
|
|||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
idNumber: [
|
||||
{ required: true, message: "身份证不能为空", trigger: "blur" },
|
||||
{ validator: this.validateIDCard, trigger: 'blur' }
|
||||
],
|
||||
nickName: [
|
||||
{
|
||||
required: true,
|
||||
|
|
@ -949,7 +954,7 @@ export default {
|
|||
checkUrlList: [],//图片
|
||||
checkUrlNameList: [],//图片
|
||||
dialogVisible:false,//图片弹窗
|
||||
dialogImageUrl:"",//图片弹窗
|
||||
dialogImageUrl:"",//图片弹窗
|
||||
loadingBtn:false,
|
||||
// 是否显示cropper
|
||||
visible: false,
|
||||
|
|
@ -998,6 +1003,17 @@ export default {
|
|||
})
|
||||
},
|
||||
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) {
|
||||
if (!phone) return ''
|
||||
|
|
@ -1018,11 +1034,11 @@ export default {
|
|||
(response) => {
|
||||
this.userList = response.rows
|
||||
this.total = response.total
|
||||
// this.userList.forEach(item=>{
|
||||
// this.userList.forEach(item=>{
|
||||
// if(item.phonenumber&&item.phonenumber!=""){
|
||||
// this.$set(item,"phonenumber",decryptWithSM4(item.phonenumber))
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
// })
|
||||
this.loading = false
|
||||
},
|
||||
)
|
||||
|
|
@ -1176,18 +1192,13 @@ export default {
|
|||
const userId = row.userId || this.ids
|
||||
getUser(userId).then((response) => {
|
||||
this.form = response.data
|
||||
// if(this.form.phonenumber&&this.form..phonenumber!=""){
|
||||
// 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))
|
||||
// }
|
||||
console.log("this.form",this.form);
|
||||
const loginType = response.data.loginType
|
||||
if (loginType) {
|
||||
this.loginTypeArr = loginType.split(',')
|
||||
}
|
||||
if(this.form.isPermanent==0){
|
||||
this.effectiveDateRange = [new Date(this.form.effectiveStartDay).getTime(),new Date(this.form.effectiveEndDay).getTime()]
|
||||
if(this.form.isPermanent==0){
|
||||
this.effectiveDateRange = [new Date(this.form.effectiveStartDay).getTime(),new Date(this.form.effectiveEndDay).getTime()]
|
||||
}
|
||||
this.postOptions = response.posts
|
||||
this.roleOptions = response.roles
|
||||
|
|
@ -1202,7 +1213,7 @@ export default {
|
|||
this.fileList=[]
|
||||
this.checkUrlList=[]
|
||||
this.checkUrlNameList = []
|
||||
}
|
||||
}
|
||||
this.open = true
|
||||
this.title = '修改用户'
|
||||
this.form.password = ''
|
||||
|
|
@ -1301,9 +1312,9 @@ export default {
|
|||
this.form.photoUrl = null
|
||||
// this.$message.warning('请先上传人脸图片')
|
||||
}else{
|
||||
this.form.photoUrl = this.checkUrlList[0]
|
||||
this.form.photoUrl = this.checkUrlList[0]
|
||||
}
|
||||
if(this.form.isPermanent==0){
|
||||
if(this.form.isPermanent==0){
|
||||
this.form.effectiveStartDay = this.formatDate(this.effectiveDateRange[0])
|
||||
this.form.effectiveEndDay = this.formatDate(this.effectiveDateRange[1])
|
||||
}else{
|
||||
|
|
@ -1314,10 +1325,10 @@ export default {
|
|||
if (valid) {
|
||||
// if(param.phonenumber&¶m.phonenumber!=""){
|
||||
// this.$set(param,"phonenumber",encryptWithSM4(param.phonenumber))
|
||||
// }
|
||||
// }
|
||||
// if(param.email&¶m.email!=""){
|
||||
// this.$set(param,"email",encryptWithSM4(param.email))
|
||||
// }
|
||||
// this.$set(param,"email",encryptWithSM4(param.email))
|
||||
// }
|
||||
if (param.userId != undefined) {
|
||||
updateUser(param).then((response) => {
|
||||
this.$modal.msgSuccess('修改成功')
|
||||
|
|
@ -1392,7 +1403,7 @@ export default {
|
|||
// 提交上传文件
|
||||
submitFileForm() {
|
||||
this.$refs.upload.submit()
|
||||
},
|
||||
},
|
||||
hasSystemOrAuditrRole(roles) {
|
||||
if (!roles || !Array.isArray(roles)) {
|
||||
return false // 如果 roles 为空或不是数组,返回 false
|
||||
|
|
@ -1401,7 +1412,7 @@ export default {
|
|||
(role) =>
|
||||
role.roleKey === 'systemAdmin' || role.roleKey === 'audit',
|
||||
) // 检查是否存在 roleKey 为 admin 的角色
|
||||
},
|
||||
},
|
||||
// 检查行是否可选
|
||||
checkSelectable(row) {
|
||||
return !(
|
||||
|
|
@ -1409,7 +1420,7 @@ export default {
|
|||
row.isBuiltIn === '0' ||
|
||||
this.hasSystemOrAuditrRole(row.roles)
|
||||
)
|
||||
},
|
||||
},
|
||||
getRowClassName(row) {
|
||||
return !this.checkSelectable(row) ? 'disabled-row' : ''
|
||||
},
|
||||
|
|
@ -1420,9 +1431,9 @@ export default {
|
|||
console.log(row)
|
||||
const userId = row.userId || this.ids
|
||||
getUser(userId).then((response) => {
|
||||
this.baseForm = response.data
|
||||
this.openFace = true
|
||||
})
|
||||
this.baseForm = response.data
|
||||
this.openFace = true
|
||||
})
|
||||
},
|
||||
submitFace(){
|
||||
// console.log(this.baseForm)
|
||||
|
|
@ -1433,7 +1444,7 @@ export default {
|
|||
this.baseForm.photoUrl = this.checkUrlList[0]
|
||||
updateUser(this.baseForm).then((response) => {
|
||||
this.$modal.msgSuccess('上传成功')
|
||||
store.commit('SET_FACE', this.checkUrlList[0]);
|
||||
store.commit('SET_FACE', this.checkUrlList[0]);
|
||||
this.openFace = false;
|
||||
this.getList()
|
||||
})
|
||||
|
|
@ -1448,12 +1459,12 @@ export default {
|
|||
if (res.code == 200) {
|
||||
this.checkUrlList.push(res.data.url)
|
||||
this.checkUrlNameList.push(res.data.name)
|
||||
} else {
|
||||
} else {
|
||||
this.$modal.msgError(res.msg)
|
||||
}
|
||||
this.loadingBtn=false
|
||||
})
|
||||
.catch((error) => {
|
||||
.catch((error) => {
|
||||
this.$modal.msgError(error)
|
||||
this.loadingBtn=false
|
||||
})
|
||||
|
|
@ -1462,7 +1473,7 @@ export default {
|
|||
console.log('success')
|
||||
},
|
||||
// 上传之前
|
||||
handleBeforeUpload(file) {
|
||||
handleBeforeUpload(file) {
|
||||
const isLt = file.size / 1024 / 1024 < 5
|
||||
if (!isLt) {
|
||||
this.$modal.msgError(`图片大小不能超过 5 MB`)
|
||||
|
|
@ -1501,7 +1512,7 @@ export default {
|
|||
const month = String(date.getMonth() + 1).padStart(2, '0'); // 月份从0开始
|
||||
const day = String(date.getDate()).padStart(2, '0');
|
||||
return `${year}-${month}-${day}`;
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
Loading…
Reference in New Issue