yangpeilai пре 1 недеља
родитељ
комит
fb62e8953a

+ 3
- 3
src/layout/components/RealNameAuthentication.vue Прегледај датотеку

@@ -160,12 +160,12 @@
address: form.value.address,
idType: 'SFZ',
gender: form.value.gender,
openId: props.customerOpenId || sessionStorage.getItem('openId')
openId: props.customerOpenId
}
BaseService.postN('/userw/account/realnameauthentication', params).then((res: any) => {
if (res && res.code === 0) {
isShow.value = false
if (!props.customerOpenId) {
if (props.customerOpenId===sessionStorage.getItem('openId')) {
ElMessage.success('实名认证成功, 请重新登录')
router.push({ name: 'Login' })
} else {
@@ -208,7 +208,7 @@
// 上传成功
function onSuccess(response: any, uploadFile: any, item: any) {
if(response.code == 200){
console.log("1===>form.value",form.value)
// console.log("1===>form.value",form.value)
if (item.prop == 'userIdImgUrl') {
form.value.imagePath = response.data.ossFilePath
}

+ 491
- 227
src/views/system/userManage/addorupdate.vue Прегледај датотеку

@@ -1,304 +1,568 @@
<template>
<el-form :model="dataForm" :rules="dataRule" :ref="el => dataFormRef = el" @keyup.enter="dataFormSubmitHandle()"
label-width="120px" v-loading="formLoding">
<div v-loading="formLoding">
<el-form :model="dataForm" :rules="dataRule" :ref="el => dataFormRef = el" @keyup.enter="dataFormSubmitHandle()"
label-width="120px" >
<h4>基本信息</h4>
<el-row>
<el-col :span="8">
<el-form-item prop="staffName" label="员工姓名">
<el-input maxlength="60" v-trim clearable v-model="dataForm.staffName" type="text"
placeholder="请输入员工姓名"></el-input>
<el-input maxlength="60" v-trim clearable v-model="dataForm.staffName" type="text"
placeholder="请输入员工姓名"></el-input>
</el-form-item>
<!-- <el-form-item prop="staffId" label="员工工号">
<el-input maxlength="60"v-trim clearable v-model="dataForm.staffId" type="text" placeholder="请输入员工工号"></el-input>
</el-form-item> -->
</el-col>
<el-col :span="8">
<el-form-item prop="mobile" label="手机号">
<el-input maxlength="60" v-trim clearable v-model="dataForm.mobile" type="text" placeholder="请输入手机号" :disabled="disabled"></el-input>
<el-input maxlength="60" v-trim clearable v-model="dataForm.mobile" type="text" placeholder="请输入手机号"
:disabled="disabled"></el-input>
</el-form-item>
</el-col>

<el-col :span="8">
<el-form-item prop="identityType" label="员工身份标识">
<el-select clearable v-model="dataForm.identityType" style="width: 100%" placeholder="请选择员工身份标识">
<el-option v-for="item in STAFF_IDENTITY_TYPE" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
<el-select clearable v-model="dataForm.identityType" style="width: 100%" placeholder="请选择员工身份标识">
<el-option v-for="item in STAFF_IDENTITY_TYPE" :key="item.value" :label="item.label" :value="item.value"/>
</el-select>
</el-form-item>
<!-- <el-form-item prop="desensitization" label="是否脱敏">
<el-select clearable v-model="dataForm.desensitization" style="width: 100%" placeholder="请选择是否脱敏">
<el-option v-for="item in WHETHER_TYPE" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item> -->
</el-col>

<el-col :span="12">
<el-form-item prop="agencyId" label="所属渠道">
<el-select @change="agencyIdChange" clearable filterable v-model="dataForm.agencyId" style="width: 100%"
placeholder="请选择所属渠道">
<el-option v-for="item in agencyList" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
<el-select @change="agencyIdChange" clearable filterable v-model="dataForm.agencyId" style="width: 100%"
placeholder="请选择所属渠道">
<el-option v-for="item in agencyList" :key="item.value" :label="item.label" :value="item.value"/>
</el-select>
</el-form-item>
</el-col>

<el-col :span="12">
<el-form-item prop="serviceHallId" label="所属网点">
<el-select clearable :ref="(el) => elSelectRef = el" v-model="dataForm.serviceHallId" style="width: 100%"
placeholder="请选择所属网点" filterable remote :remote-method="(value) => filterMethod(value, false)"
v-loading="selectLoading">
<el-option v-for="item in pageServiceHallList" :key="item.value" :label="item.label" :value="item.value" />
<el-option value="loadMore" key="loadMore" v-if="hasPage && pageServiceHallList.length !== 0">
<div @click="($event) => handleLoadMore($event)" class="loadMore">加载更多......</div>
</el-option>
</el-select>
<el-select clearable :ref="(el) => elSelectRef = el" v-model="dataForm.serviceHallId" style="width: 100%"
placeholder="请选择所属网点" filterable remote :remote-method="(value) => filterMethod(value, false)"
v-loading="selectLoading">
<el-option v-for="item in pageServiceHallList" :key="item.value" :label="item.label" :value="item.value"/>
<el-option value="loadMore" key="loadMore" v-if="hasPage && pageServiceHallList.length !== 0">
<div @click="($event) => handleLoadMore($event)" class="loadMore">加载更多......</div>
</el-option>
</el-select>
</el-form-item>
<div class="btn-wrap">
<el-button type="primary" @click="cancelHandle">取消</el-button>
<el-button type="primary" @click="dataFormSubmitHandle">确认</el-button>
</div>
</el-col>
</el-row>
</el-form>
<!--实名信息-->
<div v-if="!disabled">
<h4>实名信息</h4>
<el-form :model="authForm" :rules="dataRule" ref="authFormRef" @keyup.enter="dataFormSubmitHandle()"
label-width="120px" >
<el-row>
<el-col :span="12">
<el-form-item prop="userIdImgUrl" label="身份证正面">
<el-upload ref="uploadImg" class="avatar-uploader"
:style="{ width: '300px', height: '189px' }"
:limit="1" :on-exceed="handleImg" :data="data" accept=".png,.jpg,jpeg"
:before-upload="beforeAvatarImgUpload" :show-file-list="false" :action="uploadUrl"
@success="(response: any, uploadFile: UploadFile) => onSuccess(response, uploadFile, 'userIdImgUrl')">
<img v-if="authForm.userIdImgUrl" :src="authForm.userIdImgUrl" class="avatar"/>
<el-icon v-else class="avatar-uploader-icon">
<Plus/>
</el-icon>
</el-upload>
</el-form-item>
</el-col>

<el-col :span="12">
<el-form-item prop="userIdBackImgUrl" label="身份证背面">
<el-upload ref="uploadImgBack" class="avatar-uploader"
:style="{ width: '300px', height: '189px' }"
:limit="1" :on-exceed="handleImgBack" :data="data" accept=".png,.jpg,jpeg"
:before-upload="beforeAvatarImgUpload" :show-file-list="false" :action="uploadUrl"
@success="(response: any, uploadFile: UploadFile) => onSuccess(response, uploadFile,'userIdBackImgUrl')">
<img v-if="authForm.uploadImgBack" :src="authForm.uploadImgBack" class="avatar"/>
<el-icon v-else class="avatar-uploader-icon">
<Plus/>
</el-icon>
</el-upload>
</el-form-item>
</el-col>

<el-col :span="24">
<div class="btn-box">
<el-button type="primary" @click="identifyingInformation" :loading="buttonLoading">自动识别身份证信息</el-button>
</div>
</el-col>

<el-col :span="12">
<el-form-item prop="idType" label="证件类型">
<el-select clearable v-model="authForm.idType" style="width: 100%" placeholder="请选择证件类型">
<el-option v-for="item in USER_ID_TYPE" :key="item.value" :label="item.label" :value="item.value"/>
</el-select>
</el-form-item>
</el-col>

<el-col :span="12">
<el-form-item prop="idNum" label="证件号">
<el-input maxlength="20" v-trim clearable v-model="authForm.idNum" type="text" placeholder="请输入证件号码"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="name" label="姓名">
<el-input maxlength="20" v-trim clearable v-model="authForm.name" type="text" placeholder="请输入姓名"/>
</el-form-item>
</el-col>

<el-col :span="12">
<el-form-item prop="gender" label="性别">
<el-select clearable v-model="authForm.gender" style="width: 100%" placeholder="请选择性别">
<el-option v-for="item in USER_GENDER" :key="item.value" :label="item.label" :value="item.value"/>
</el-select>
</el-form-item>
</el-col>

<el-col :span="24">
<el-form-item prop="address" label="地址">
<el-input v-model="authForm.address" type="text" placeholder="请输入地址"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<div class="btn-wrap">
<el-button @click="cancelHandle">取消</el-button>
<el-button type="primary" @click="dataFormSubmitHandle">确认</el-button>
</div>
</div>
</template>
<script setup lang="ts">
import { ref, reactive, nextTick, toRefs, computed } from "vue";
import {ref, reactive, nextTick, toRefs, computed} from "vue";
import BaseService from "@/utils/baseService";
import { ElMessage } from "element-plus"; //消息提示
import { useDebounce, isMobile } from "@/utils/utils";
import { useRouter } from "vue-router";
import { IObject } from "@/types/interface";
import {ElMessage, genFileId, UploadInstance, UploadProps, UploadRawFile} from "element-plus"; //消息提示
import {useDebounce, isMobile} from "@/utils/utils";
import {useRouter} from "vue-router";
import {IObject} from "@/types/interface";
import $storeinitData from "@/store/initData"; //引入tab vuex
import {
addApi,
updateApi,
getInfoApi,
agencyListApi,
serviceHallListApi,
serviceHallListBypageApi
addApi,
updateApi,
getInfoApi,
agencyListApi,
serviceHallListApi,
serviceHallListBypageApi
} from "@/api/system/user";
import moment from "moment"

const emit = defineEmits(["closeHandle", "refreshList"]);
const router = useRouter();
const elSelectRef = ref();
const AuthenticationVisible = ref(false)
const STAFF_IDENTITY_TYPE = computed(() => {
return $storeinitData.state.dictData['STAFF_IDENTITY_TYPE'] || []
return $storeinitData.state.dictData['STAFF_IDENTITY_TYPE'] || []
})
const WHETHER_TYPE = computed(() => {
return $storeinitData.state.dictData['WHETHER_TYPE'] || []
return $storeinitData.state.dictData['WHETHER_TYPE'] || []
})
const USER_ID_TYPE = computed(() => {
return $storeinitData.state.dictData['ID_TYPE'] || []
})

const USER_GENDER = computed(() => {
return $storeinitData.state.dictData['USER_GENDER'] || []
})
const initItem = {
id: "", //id
staffName: "", //名字
desensitization: "", //名字
identityType: "", //员工身份标识
//staffId: "", //员工工号
agencyId: "", //所属渠道id
serviceHallId: "", // 所属网点id
mobile: "", //
staffType: 1,// 后端目前没有定义好类型有哪些,新增时默认为1
status: 1, // 后端目前没有定义好类型有哪些,新增时默认为1
releaseTime: ""
id: "", //id
staffName: "", //名字
desensitization: "", //名字
identityType: "", //员工身份标识
//staffId: "", //员工工号
agencyId: "", //所属渠道id
serviceHallId: "", // 所属网点id
mobile: "", //
staffType: 1,// 后端目前没有定义好类型有哪些,新增时默认为1
status: 1, // 后端目前没有定义好类型有哪些,新增时默认为1
releaseTime: ""
};
//定义一个父组件传来的参数
const props = defineProps({
disabled: {
type: Boolean,
default: false
},
type: Boolean,
default: false
},
})
const state = reactive({
dataForm: {
...initItem
},
formLoding: false,
agencyList: [] as IObject[],
serviceHallList: [] as IObject[],
pageServiceHallList: [] as IObject[],
selectLoading: false,
selectPage: {
pageNo: 1,
pageSize: 16,
name: "",
agencyId: ''
},
hasPage: true
dataForm: {
...initItem
},
formLoding: false,
agencyList: [] as IObject[],
serviceHallList: [] as IObject[],
pageServiceHallList: [] as IObject[],
selectLoading: false,
selectPage: {
pageNo: 1,
pageSize: 16,
name: "",
agencyId: ''
},
hasPage: true
})

//实名相关
const uploadImg = ref<UploadInstance>()
const uploadImgBack = ref<UploadInstance>()
const handleImg: UploadProps['onExceed'] = (files) => {
uploadImg.value.clearFiles()
const file = files[0] as UploadRawFile
file.uid = genFileId()
uploadImg.value.handleStart(file)
uploadImg.value.submit()
}
const handleImgBack: UploadProps['onExceed'] = (files) => {
uploadImgBack.value.clearFiles()
const file = files[0] as UploadRawFile
file.uid = genFileId()
uploadImgBack.value.handleStart(file)
uploadImgBack.value.submit()
}
const uploadUrl = "/minIo/upload"
const data = {bucket: ""};

function onSuccess(response: any, uploadFile: any, item: any) {
if (response.code == 200) {
// console.log("1===>form.value",form.value)
authForm.value[item] = response.data.ossFilePath
ElMessage.success(response.msg)
}
}

const authForm = ref({
userIdImgUrl: '',
userIdImgUrlBack: '',
idType: '',
idNum: '',
name: '',
gender: ''
})

const buttonLoading = ref(false)

function identifyingInformation() {
buttonLoading.value = true
if (authForm.value.userIdImgUrl === '' || authForm.value.userIdImgUrl === null || authForm.value.userIdImgUrl === undefined) {
ElMessage.error('请上传身份证正面图片');
buttonLoading.value = false
return
}
const params = {
type: 1,
imagePath: authForm.value.userIdImgUrl
}
BaseService.postN('/iaw/api/ocr/do', params).then((res: any) => {
if (res && res.statusCode === 0) {
const data = res.data
authForm.value.idType = 'SFZ' // 暂时转换后期整体更改
authForm.value.idNum = data.idno
authForm.value.name = data.name
authForm.value.gender = data.gender == '男' ? 'MALE' : data.gender == '女' ? 'FEMALE' : 'UNKOWN' // 暂时转换后期整体更改
authForm.value.address = data.address
buttonLoading.value = false
ElMessage.success('识别成功');
}
}).catch((error) => {
buttonLoading.value = false
})
}

function submitAuth(openId:string) {
authFormRef.value.validate((valid) => {
if (valid) {
const params = {
userType: 'PERSONAL',
userIdImgUrl: authForm.value.userIdImgUrl,
userIdBackImgUrl: authForm.value.userIdBackImgUrl,
idNum: authForm.value.idNum,
userName: authForm.value.name,
address: authForm.value.address,
idType: 'SFZ',
gender: authForm.value.gender,
openId: openId
}
BaseService.postN('/userw/account/realnameauthentication', params).then((res: any) => {
if (res && res.code === 0) {
ElMessage.success('操作成功')
formLoding.value = false;
emit("closeHandle");
emit("refreshList");
}
}).catch((error) => {
formLoding.value = false;
})
}
})
}

const dataFormRef = ref();
const { dataForm, formLoding, agencyList, serviceHallList, pageServiceHallList, selectLoading, selectPage, hasPage } = toRefs(state);
const authFormRef = ref();
const {
dataForm,
formLoding,
agencyList,
serviceHallList,
pageServiceHallList,
selectLoading,
selectPage,
hasPage
} = toRefs(state);
const dataRule = computed(() => {
const validateMobile = (rule: any, value: string, callback: (e?: Error) => any): any => {
if (value && !isMobile(value)) {
return callback(new Error("请输入正确的手机号!"));
}
callback();
};
return {
mobile: [{ required: true, validator: validateMobile, message: "请输入正确的手机号", trigger: "blur" }],
staffName: [{ required: true, message: "请输入员工名字", trigger: "blur" }],
identityType: [{ required: true, message: "请输入员工身份标识", trigger: "blur" }],
agencyId: [{ required: true, message: "请输入所属渠道", trigger: "blur" }],
serviceHallId: [{ required: true, message: "请输入所属网点", trigger: "blur" }],
//staffId: [{ required: true, message: "请输入员工编号", trigger: "blur" }],
const validateMobile = (rule: any, value: string, callback: (e?: Error) => any): any => {
if (value && !isMobile(value)) {
return callback(new Error("请输入正确的手机号!"));
}
callback();
};
return {
mobile: [{required: true, validator: validateMobile, message: "请输入正确的手机号", trigger: "blur"}],
staffName: [{required: true, message: "请输入员工名字", trigger: "blur"}],
identityType: [{required: true, message: "请输入员工身份标识", trigger: "blur"}],
agencyId: [{required: true, message: "请输入所属渠道", trigger: "blur"}],
serviceHallId: [{required: true, message: "请输入所属网点", trigger: "blur"}],
//staffId: [{ required: true, message: "请输入员工编号", trigger: "blur" }],
userIdImgUrl: [{required: true, message: "请上传身份证正面", trigger: "blur"}],
userIdBackImgUrl: [{required: true, message: "请上传身份证反面", trigger: "blur"}],
idType: [{required: true, message: "请输入证件类型", trigger: "change"}],
idNum: [{required: true, message: "请输入证件号码", trigger: "blur"}],
name: [{required: true, message: "请输入姓名", trigger: "blur"}],
gender: [{required: true, message: "请输入性别", trigger: "change"}],
address: [{required: true, message: "请输入地址", trigger: "blur"}],
}


})

function submit() {
dataFormRef.value.validate((valid) => {
if (!valid) {
return false;
}
let params: any = {
...dataForm.value
}
let api = '/userw/staff/add';
if (dataForm.value.id) {
api = '/userw/staff/change';
} else {
delete params.id;
params.releaseTime = moment().format("YYYY-MM-DD HH:mm:ss");
}
BaseService.postN(api, params).then((res: any) => {
if (res && res.code === 0) {
ElMessage.success("操作成功");
emit("closeHandle");
emit("refreshList");
formLoding.value = true;
dataFormRef.value.validate((valid1) => {
if (!valid1) {
formLoding.value = false;
return false;
}
authFormRef.value.validate((valid2) => {
if (!valid2) {
formLoding.value = false;
return false;
}

let params: any = {
...dataForm.value
}
let api = '/userw/staff/add';
if (dataForm.value.id) {
api = '/userw/staff/change';
} else {
delete params.id;
params.releaseTime = moment().format("YYYY-MM-DD HH:mm:ss");
}
BaseService.postN(api, params).then((res: any) => {
if (res && res.code === 0) {
if (api === '/userw/staff/add') {
if (res.data.openId === '' || res.data.openId === null || res.data.openId === undefined) {
ElMessage.success("员工新增操作成功!");
ElMessage.warning("员工实名认证失败,请稍后重试!")
formLoding.value = false;
emit("closeHandle");
emit("refreshList");
} else {
ElMessage.error(res.message)
submitAuth(res.data.openId)
}
})
} else {
ElMessage.success("操作成功");
emit("closeHandle");
emit("refreshList");
}
}
}).catch((error) => {
formLoding.value = false;
})
})
})
}

const dataFormSubmitHandle = useDebounce(submit);

function cancelHandle() {
dataForm.value = {
...initItem
}
emit("closeHandle");
dataForm.value = {
...initItem
}
emit("closeHandle");
}

function init(row: any) {
if (row && row.id) {
getRow(row.id);
//处理回显数据
pageServiceHallList.value = [
{
label: row.serviceHallName,
value: row.serviceHallId
}
]
}
getAgencyList();
//getServiceList();
getPageServiceList();
if (row && row.id) {
getRow(row.id);
//处理回显数据
pageServiceHallList.value = [
{
label: row.serviceHallName,
value: row.serviceHallId
}
]
}
getAgencyList();
//getServiceList();
getPageServiceList();
}

function getRow(id: string) {
BaseService.postN('/userw/staff/query', { id: id }).then((res: any) => {
if (res && res.code === 0) {
let data = res.data || {};
dataForm.value = {
...data,
};
} else {
ElMessage.error(res.message);
}
formLoding.value = false;
});
BaseService.postN('/userw/staff/query', {id: id}).then((res: any) => {
if (res && res.code === 0) {
let data = res.data || {};
dataForm.value = {
...data,
};
} else {
ElMessage.error(res.message);
}
formLoding.value = false;
});
}

// 获取所有渠道
function getAgencyList() {
BaseService.postN('/userw/agency/agencyqueryall').then((res: any) => {
if (res && res.code === 0) {
let bizContent = res.data
let data = bizContent || [];
let list = [] as IObject[];
data.map((item) => {
list.push({
label: item.name,
value: item.agencyId
})
})
agencyList.value = list;
} else {
ElMessage.error(res.message);
}
});
BaseService.postN('/userw/agency/agencyqueryall').then((res: any) => {
if (res && res.code === 0) {
let bizContent = res.data
let data = bizContent || [];
let list = [] as IObject[];
data.map((item) => {
list.push({
label: item.name,
value: item.agencyId
})
})
agencyList.value = list;
} else {
ElMessage.error(res.message);
}
});
}

// 获取所有网点
function getServiceList() {
formLoding.value = true;
BaseService.post(serviceHallListApi).then((res: any) => {
if (res && res.code === 0) {
let bizContent = JSON.parse(res.bizContent);
let data = bizContent.serviceHallList || [];
let list = [] as IObject[];
data.map((item) => {
list.push({
label: item.name,
value: item.serviceHallId
})
})
formLoding.value = false;
serviceHallList.value = list;
} else {
formLoding.value = false;
ElMessage.error(res.message);
}
});
formLoding.value = true;
BaseService.post(serviceHallListApi).then((res: any) => {
if (res && res.code === 0) {
let bizContent = JSON.parse(res.bizContent);
let data = bizContent.serviceHallList || [];
let list = [] as IObject[];
data.map((item) => {
list.push({
label: item.name,
value: item.serviceHallId
})
})
formLoding.value = false;
serviceHallList.value = list;
} else {
formLoding.value = false;
ElMessage.error(res.message);
}
});
}

const agencyIdChange = (value) => {
selectPage.value.agencyId = value
filterMethod(null, false)
selectPage.value.agencyId = value
filterMethod(null, false)
}

// 分页获取网点,处理网点过多,加载过慢问题
function filterMethod(name, isAdd) {
if (isAdd) {
selectPage.value.pageNo = selectPage.value.pageNo + 1
}
if (name) {
selectPage.value.name = name
selectPage.value.pageNo = 1
}
if (selectPage.value.agencyId) {
selectPage.value.pageNo = 1
}
getPageServiceList();
if (isAdd) {
selectPage.value.pageNo = selectPage.value.pageNo + 1
}
if (name) {
selectPage.value.name = name
selectPage.value.pageNo = 1
}
if (selectPage.value.agencyId) {
selectPage.value.pageNo = 1
}
getPageServiceList();
}

async function getPageServiceList() {
selectLoading.value = true;
let params = {}
let searchFormList = { ...selectPage.value };
for (let key in searchFormList) {
if (searchFormList[key]) {
params[key] = searchFormList[key];
}
selectLoading.value = true;
let params = {}
let searchFormList = {...selectPage.value};
for (let key in searchFormList) {
if (searchFormList[key]) {
params[key] = searchFormList[key];
}
await BaseService.postN('/userw/staff/serviceHallListPage', searchFormList).then((res: any) => {
if (res && res.code === 0) {
let bizContent = res.data
let data = bizContent.result || [];
let list = [] as IObject[];

console.log(data + '---------==========---------');

data.map((item) => {
list.push({
label: item.name,
value: item.serviceHallId
})
})

if (selectPage.value.pageNo !== 1) {
pageServiceHallList.value = [...pageServiceHallList.value, ...list]
} else {
pageServiceHallList.value = list
}
selectLoading.value = false;
hasPage.value = bizContent.pageCount === selectPage.value.pageNo ? false : true;
} else {
selectLoading.value = false;
ElMessage.error(res.message);
}
});
}
await BaseService.postN('/userw/staff/serviceHallListPage', searchFormList).then((res: any) => {
if (res && res.code === 0) {
let bizContent = res.data
let data = bizContent.result || [];
let list = [] as IObject[];

console.log(data + '---------==========---------');


data.map((item) => {
list.push({
label: item.name,
value: item.serviceHallId
})
})

if (selectPage.value.pageNo !== 1) {
pageServiceHallList.value = [...pageServiceHallList.value, ...list]
} else {
pageServiceHallList.value = list
}
selectLoading.value = false;
hasPage.value = bizContent.pageCount === selectPage.value.pageNo ? false : true;
} else {
selectLoading.value = false;
ElMessage.error(res.message);
}
});
}

// 加载更多
function handleLoadMore($event) {
$event.stopPropagation()
filterMethod(null, true)
$event.stopPropagation()
filterMethod(null, true)
}

defineExpose({
init
init
});
</script>
<style lang="scss" scoped>
.btn-wrap {
position: absolute;
bottom: 20px;
right: 20px;
text-align: right;
}

h4 {
color: #303133;
}

::v-deep .el-upload {
width: 100%;
height: 100%;
}

::v-deep .el-upload .avatar-uploader-icon {
width: 100%;
height: 100%;
}

.avatar-uploader .avatar {
width: 100%;
height: 100%;
display: block;
}

.btn-box {
margin: 0 0 20px 120px;
}
</style>

+ 6
- 2
src/views/system/userManage/index.vue Прегледај датотеку

@@ -221,7 +221,7 @@
isDownload: false,
isAdd: false,
isTransferMachine: false,
isToLead: true, // 导入
isToLead: IsPermission(route, 'STAFF_EX'),
isTemplate: true,

templateUrl:
@@ -431,8 +431,12 @@
const AuthenticationVisible = ref()
const staffOpenId = ref()
function realNameAuthentication(row) {
// console.log("===>row",row)
if(row.staffOpenId === null || row.staffOpenId === '' || row.staffOpenId === undefined){
ElMessage.error("获取员工openId失败,请稍后重试")
return;
}
AuthenticationVisible.value = true
console.log("===>row",row)
staffOpenId.value = row.staffOpenId
}
function successfulCertification() {

Loading…
Откажи
Сачувај