完成教师档案
This commit is contained in:
parent
6696e5986e
commit
333316f207
@ -3,24 +3,18 @@
|
|||||||
// 响应接口
|
// 响应接口
|
||||||
import { get, post } from "@/utils/request";
|
import { get, post } from "@/utils/request";
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取服务器时间
|
* 获取服务器时间
|
||||||
*/
|
*/
|
||||||
export const serverTimeApi = async () => {
|
export const xqgwFindAllApi = async () => {
|
||||||
return await get('/api/server/serverTime')
|
return await get("/api/xqgw/findAll");
|
||||||
}
|
|
||||||
export const standardWordsRandomApi = async () => {
|
|
||||||
return await get('/api/standardWords/findRandom')
|
|
||||||
}
|
|
||||||
export const cmsArticleFindPageApi = async (params: any) => {
|
|
||||||
return await get("/api/cmsArticle/findPage", params);
|
|
||||||
};
|
};
|
||||||
|
export const xqxjFindAllApi = async () => {
|
||||||
export const agencyAgencyListApi = async () => {
|
return await get("/api/xqxj/findAll");
|
||||||
return await get("/api/agency/agencyList");
|
|
||||||
};
|
};
|
||||||
|
export const findAllNjBjTreeApi = async () => {
|
||||||
export const serverCheckInRangeTimeApi = async () => {
|
return await get("/api/nj/findAllNjBjTree");
|
||||||
return await get("/api/server/checkInRangeTime");
|
};
|
||||||
|
export const jsConfirmJsDataApi = async (params: any) => {
|
||||||
|
return await post("/api/js/confirmJsData", params);
|
||||||
};
|
};
|
||||||
|
|||||||
@ -4,6 +4,10 @@ import {get, post} from "@/utils/request";
|
|||||||
export const dicApi = async (param: { pid: number }) => {
|
export const dicApi = async (param: { pid: number }) => {
|
||||||
return await get("/api/dic/findByPid", param);
|
return await get("/api/dic/findByPid", param);
|
||||||
};
|
};
|
||||||
|
//字典接口
|
||||||
|
export const findDicTreeByPidApi = async (param: { pid: number }) => {
|
||||||
|
return await get("/api/dic/findDicTreeByPid", param);
|
||||||
|
};
|
||||||
|
|
||||||
//根据id查询部门
|
//根据id查询部门
|
||||||
export const deptFindAllDeptsByPidApi = async (param: { pid: number }) => {
|
export const deptFindAllDeptsByPidApi = async (param: { pid: number }) => {
|
||||||
@ -12,11 +16,25 @@ export const deptFindAllDeptsByPidApi = async (param: { pid: number }) => {
|
|||||||
|
|
||||||
//刷新token
|
//刷新token
|
||||||
export const refreshTokenApi = async (param: { refresh_token: string }) => {
|
export const refreshTokenApi = async (param: { refresh_token: string }) => {
|
||||||
return await post("/userlogin/refresh-token?refresh_token=" + param.refresh_token, param);
|
return await post(
|
||||||
|
"/userlogin/refresh-token?refresh_token=" + param.refresh_token,
|
||||||
|
param
|
||||||
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
//修改用户部门
|
//修改用户部门
|
||||||
export const userSaveApi = async (param: { id: string, deptId: string, deptName: string }) => {
|
export const userSaveApi = async (param: {
|
||||||
return await post("/api/user/save?deptId=" + param.deptId + '&deptName=' + param.deptName + '&id=' + param.id, param);
|
id: string;
|
||||||
|
deptId: string;
|
||||||
|
deptName: string;
|
||||||
|
}) => {
|
||||||
|
return await post(
|
||||||
|
"/api/user/save?deptId=" +
|
||||||
|
param.deptId +
|
||||||
|
"&deptName=" +
|
||||||
|
param.deptName +
|
||||||
|
"&id=" +
|
||||||
|
param.id,
|
||||||
|
param
|
||||||
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -2,13 +2,27 @@
|
|||||||
import { get, post } from "@/utils/request";
|
import { get, post } from "@/utils/request";
|
||||||
|
|
||||||
//密码登录接口
|
//密码登录接口
|
||||||
export const loginPass = async (param: { username: string, password: string, openId: number | string }) => {
|
export const loginPass = async (param: {
|
||||||
return await post("/userlogin/check?username=" + param.username + '&password=' + param.password + '&openId=' + param.openId, param
|
username: string;
|
||||||
)
|
password: string;
|
||||||
;
|
openId: number | string;
|
||||||
|
}) => {
|
||||||
|
return await post(
|
||||||
|
"/userlogin/check?username=" +
|
||||||
|
param.username +
|
||||||
|
"&password=" +
|
||||||
|
param.password +
|
||||||
|
"&openId=" +
|
||||||
|
param.openId,
|
||||||
|
param
|
||||||
|
);
|
||||||
};
|
};
|
||||||
//验证码登录接口
|
//验证码登录接口
|
||||||
export const loginCode = async (param: { phone: string | number, code: string | number, openId: number | string }) => {
|
export const loginCode = async (param: {
|
||||||
|
phone: string | number;
|
||||||
|
code: string | number;
|
||||||
|
openId: number | string;
|
||||||
|
}) => {
|
||||||
return await post("/open/sms/checkCode", param);
|
return await post("/open/sms/checkCode", param);
|
||||||
};
|
};
|
||||||
//验证码登录接口
|
//验证码登录接口
|
||||||
@ -35,15 +49,20 @@ export const authenticationApi = async (param: { userId: string }) => {
|
|||||||
return await get("/api/authentication/find-by-user", param);
|
return await get("/api/authentication/find-by-user", param);
|
||||||
};
|
};
|
||||||
|
|
||||||
// 汇兴小程序登录
|
|
||||||
export const huiXingLoginApi = async (param: { token: string }) => {
|
|
||||||
return await post("/userlogin/appCheck?token=" + param.token, param);
|
|
||||||
};
|
|
||||||
|
|
||||||
//获取公众号票据
|
//获取公众号票据
|
||||||
export const wxConfigApi = async (param: any) => {
|
export const wxConfigApi = async (param: any) => {
|
||||||
return await post("/userlogin/wxConfig", param);
|
return await post("/userlogin/wxConfig", param);
|
||||||
};
|
};
|
||||||
export const checkOpenId = async (param: { openId: string | number, appCode: string }) => {
|
|
||||||
return await post("/open/sms/checkOpenId", param);
|
export const checkOpenId = async (param: {
|
||||||
|
openId: string | number;
|
||||||
|
appCode: string;
|
||||||
|
}) => {
|
||||||
|
return await post("/open/login/js/checkUser", param);
|
||||||
|
};
|
||||||
|
export const updateUserApi = async (param: any) => {
|
||||||
|
return await post("/open/login/js/updateUser", param);
|
||||||
|
};
|
||||||
|
export const findJsByPhoneApi = async (param: any) => {
|
||||||
|
return await get("/api/js/findJsByPhone", param);
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,9 +1,22 @@
|
|||||||
<template>
|
<template>
|
||||||
<uni-data-picker :popup-title="'请选择'+attrs.label"
|
<view>
|
||||||
|
<u-loading-icon
|
||||||
|
:show="loadingShow"
|
||||||
|
style="justify-content: start"
|
||||||
|
size="20"
|
||||||
|
/>
|
||||||
|
<uni-data-picker
|
||||||
|
v-if="!loadingShow"
|
||||||
|
:popup-title="'请选择' + attrs.label"
|
||||||
:localdata="range"
|
:localdata="range"
|
||||||
v-model="newValue"
|
v-model="newValue"
|
||||||
:map="{text:attrs.componentProps.rangeKey,value:attrs.componentProps.savaKey}"
|
:map="{
|
||||||
@change="onchange" @nodeclick="onnodeclick" @popupopened="onpopupopened"
|
text: attrs.componentProps.rangeKey,
|
||||||
|
value: attrs.componentProps.savaKey,
|
||||||
|
}"
|
||||||
|
@change="onchange"
|
||||||
|
@nodeclick="onnodeclick"
|
||||||
|
@popupopened="onpopupopened"
|
||||||
@popupclosed="onpopupclosed"
|
@popupclosed="onpopupclosed"
|
||||||
:readonly="!!attrs.componentProps.disabled"
|
:readonly="!!attrs.componentProps.disabled"
|
||||||
v-bind="attrs.componentProps"
|
v-bind="attrs.componentProps"
|
||||||
@ -14,56 +27,98 @@
|
|||||||
<text style="color: red">{{ error }}</text>
|
<text style="color: red">{{ error }}</text>
|
||||||
</view>
|
</view>
|
||||||
<view v-else-if="data.length" class="flex-row">
|
<view v-else-if="data.length" class="flex-row">
|
||||||
<view v-for="(item,index) in data" :key="index" class="selected-item">
|
<view
|
||||||
|
v-for="(item, index) in data"
|
||||||
|
:key="index"
|
||||||
|
class="selected-item"
|
||||||
|
>
|
||||||
<text>{{ item.text }}</text>
|
<text>{{ item.text }}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="color-9" v-else-if="!attrs.componentProps.disabled">
|
<view class="color-9" v-else-if="!attrs.componentProps.disabled">
|
||||||
<text v-if="attrs.componentProps&&attrs.componentProps.placeholder">{{
|
<text
|
||||||
attrs.componentProps.placeholder
|
v-if="attrs.componentProps && attrs.componentProps.placeholder"
|
||||||
}}
|
>{{ attrs.componentProps.placeholder }}
|
||||||
</text>
|
</text>
|
||||||
<text v-else>请选择{{ attrs.label }}</text>
|
<text v-else>请选择{{ attrs.label }}</text>
|
||||||
</view>
|
</view>
|
||||||
<view v-else>无</view>
|
<view v-else>无</view>
|
||||||
<uni-icons type="right" size="18" color="#999999" v-if="!attrs.componentProps.disabled"/>
|
<uni-icons
|
||||||
|
type="right"
|
||||||
|
size="18"
|
||||||
|
color="#999999"
|
||||||
|
v-if="!attrs.componentProps.disabled"
|
||||||
|
/>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
</uni-data-picker>
|
</uni-data-picker>
|
||||||
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
const props = defineProps(['modelValue'])
|
import { isFunction, map } from "lodash";
|
||||||
const emit = defineEmits(['update:modelValue'])
|
const props = defineProps(["modelValue"]);
|
||||||
|
const emit = defineEmits(["update:modelValue"]);
|
||||||
const newValue = computed({
|
const newValue = computed({
|
||||||
get() {
|
get() {
|
||||||
return props.modelValue
|
return props.modelValue;
|
||||||
},
|
},
|
||||||
set(value) {
|
set(value) {
|
||||||
emit('update:modelValue', value)
|
emit("update:modelValue", value);
|
||||||
}
|
},
|
||||||
})
|
});
|
||||||
const attrs = useAttrs()
|
const attrs = useAttrs();
|
||||||
|
|
||||||
if (!newValue.value) {
|
if (!newValue.value) {
|
||||||
newValue.value = '0'
|
newValue.value = "0";
|
||||||
}
|
}
|
||||||
|
|
||||||
const range = ref(attrs.componentProps && attrs.componentProps.range || [])
|
const range = computed({
|
||||||
|
get() {
|
||||||
|
if (attrs.componentProps && attrs.componentProps.range) {
|
||||||
|
return attrs.componentProps.range;
|
||||||
|
} else {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
},
|
||||||
|
set(value) {
|
||||||
|
attrs.componentProps.range = value;
|
||||||
|
},
|
||||||
|
});
|
||||||
|
const loadingShow = ref(false);
|
||||||
|
function initapi() {
|
||||||
|
if (attrs.componentProps.api && isFunction(attrs.componentProps.api)) {
|
||||||
|
loadingShow.value = true;
|
||||||
|
attrs.componentProps.api(attrs.componentProps.param || null).then((res) => {
|
||||||
|
attrs.componentProps.range =
|
||||||
|
res[attrs.componentProps.resultKey || "result"];
|
||||||
|
if (
|
||||||
|
attrs.componentProps.request &&
|
||||||
|
isFunction(attrs.componentProps.request)
|
||||||
|
) {
|
||||||
|
attrs.componentProps.request(attrs.componentProps.range);
|
||||||
|
}
|
||||||
|
loadingShow.value = false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
initapi();
|
||||||
|
|
||||||
function onchange(e) {
|
function onchange(e) {
|
||||||
|
if (
|
||||||
|
attrs.componentProps.onChange &&
|
||||||
|
isFunction(attrs.componentProps.onChange)
|
||||||
|
) {
|
||||||
|
attrs.componentProps.onChange(e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function onnodeclick() {
|
function onnodeclick() {}
|
||||||
|
|
||||||
}
|
function onpopupopened() {}
|
||||||
|
|
||||||
function onpopupopened() {
|
function onpopupclosed() {}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function onpopupclosed() {
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|||||||
@ -14,6 +14,7 @@
|
|||||||
<FormBasicDataPicker v-bind="attrs" v-if="isShow('BasicDataPicker')" v-model="newValue"/>
|
<FormBasicDataPicker v-bind="attrs" v-if="isShow('BasicDataPicker')" v-model="newValue"/>
|
||||||
<FormBasicSearchList v-bind="attrs" v-if="isShow('BasicSearchList')" v-model="newValue"/>
|
<FormBasicSearchList v-bind="attrs" v-if="isShow('BasicSearchList')" v-model="newValue"/>
|
||||||
<FormBasicDateTimes v-bind="attrs" v-if="isShow('BasicDateTimes')" v-model="newValue"/>
|
<FormBasicDateTimes v-bind="attrs" v-if="isShow('BasicDateTimes')" v-model="newValue"/>
|
||||||
|
<FormBasicTree v-bind="attrs" v-if="isShow('BasicTree')" v-model="newValue"/>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
1
src/components/BasicForm/type/useForm.d.ts
vendored
1
src/components/BasicForm/type/useForm.d.ts
vendored
@ -26,6 +26,7 @@ type Component =
|
|||||||
| 'BasicDataPicker'
|
| 'BasicDataPicker'
|
||||||
| 'BasicSearchList'
|
| 'BasicSearchList'
|
||||||
| 'BasicDateTimes'
|
| 'BasicDateTimes'
|
||||||
|
| 'BasicTree'
|
||||||
|
|
||||||
interface FormsSchema {
|
interface FormsSchema {
|
||||||
field?: string,
|
field?: string,
|
||||||
|
|||||||
@ -1,15 +1,15 @@
|
|||||||
const ip: string = "dj.zhongjingzh.com";
|
const ip: string = "192.168.8.35:8897";
|
||||||
//打包服务器接口代理标识
|
//打包服务器接口代理标识
|
||||||
const SERVERAGENT: string = "/";
|
const SERVERAGENT: string = "/";
|
||||||
//本地代理url地址,配置了就启动代理,没配置就不启动代理
|
//本地代理url地址,配置了就启动代理,没配置就不启动代理
|
||||||
export const HOMEAGENT: string = "";
|
export const HOMEAGENT: string = "";
|
||||||
// 接口地址
|
// 接口地址
|
||||||
export const BASE_URL: string =
|
export const BASE_URL: string =
|
||||||
process.env.NODE_ENV == "development" ? `http://${ip}/yqdj` : SERVERAGENT;
|
process.env.NODE_ENV == "development" ? `http://${ip}/zhxy` : SERVERAGENT;
|
||||||
// WebSocket地址
|
// WebSocket地址
|
||||||
export const BASE_WS_URL: string = `wss://${ip}`;
|
export const BASE_WS_URL: string = `wss://${ip}`;
|
||||||
//图片地址
|
//图片地址
|
||||||
export const BASE_IMAGE_URL: string = `http://${ip}`;
|
export const BASE_IMAGE_URL: string = `http://${ip}/zhxy`;
|
||||||
//存token的key
|
//存token的key
|
||||||
export const AUTH_KEY: string = "satoken";
|
export const AUTH_KEY: string = "satoken";
|
||||||
//token过期返回状态码
|
//token过期返回状态码
|
||||||
@ -17,7 +17,7 @@ export const RESULT_CODE_NOT_LOGIN: number = 10;
|
|||||||
//是否打印接口日志
|
//是否打印接口日志
|
||||||
export const ISREQUESTLOG: boolean = false;
|
export const ISREQUESTLOG: boolean = false;
|
||||||
//是否打开登录页面拦截
|
//是否打开登录页面拦截
|
||||||
export const ISROUTERINTERCEPT: boolean = false;
|
export const ISROUTERINTERCEPT: boolean = true;
|
||||||
//配置路由白名单
|
//配置路由白名单
|
||||||
export const WHITELIST: WhiteList = [];
|
export const WHITELIST: WhiteList = [];
|
||||||
//主题颜色
|
//主题颜色
|
||||||
|
|||||||
@ -1,24 +1,79 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="wh-full">
|
<view class="wh-full">
|
||||||
<BasicLoading :isShow="isShow" bgColor="#fff" isShowTitle textColor="#000" title="启动中..." :type="1"/>
|
<BasicLoading
|
||||||
|
:isShow="isShow"
|
||||||
|
bgColor="#fff"
|
||||||
|
isShowTitle
|
||||||
|
textColor="#000"
|
||||||
|
title="启动中..."
|
||||||
|
:type="1"
|
||||||
|
/>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import {onShow} from "@dcloudio/uni-app";
|
import { onLoad } from "@dcloudio/uni-app";
|
||||||
|
import pages from "@/pages.json";
|
||||||
|
import { useDataStore } from "@/store/modules/data";
|
||||||
|
import { useUserStore } from "@/store/modules/user";
|
||||||
|
import { checkOpenId, findJsByPhoneApi } from "@/api/system/login";
|
||||||
import { isTabBar } from "@/utils/uniapp";
|
import { isTabBar } from "@/utils/uniapp";
|
||||||
import pages from '@/pages.json'
|
|
||||||
|
|
||||||
const isShow = ref(true)
|
const { setGlobal } = useDataStore();
|
||||||
onShow(async () => {
|
const { afterLoginAction } = useUserStore();
|
||||||
|
const { setFile, getFile } = useDataStore();
|
||||||
|
const isShow = ref(true);
|
||||||
|
|
||||||
|
function toHome() {
|
||||||
if (isTabBar()) {
|
if (isTabBar()) {
|
||||||
uni.switchTab({
|
uni.switchTab({
|
||||||
url: '/' + (pages as any).tabBar.list[0].pagePath
|
url: "/" + (pages as any).tabBar.list[0].pagePath,
|
||||||
})
|
});
|
||||||
} else {
|
} else {
|
||||||
uni.reLaunch({
|
uni.reLaunch({
|
||||||
url: '/' + pages.pages[1].path
|
url: "/" + pages.pages[1].path,
|
||||||
})
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
onLoad(async (data: any) => {
|
||||||
|
data.openId = "123";
|
||||||
|
if (data && data.openId) {
|
||||||
|
setGlobal(data);
|
||||||
|
checkOpenId({ openId: data.openId, appCode: "JS" })
|
||||||
|
.then(async (res) => {
|
||||||
|
if (res.resultCode == 1) {
|
||||||
|
if (res.result) {
|
||||||
|
afterLoginAction(res.result);
|
||||||
|
const findJsByPhoneResult = await findJsByPhoneApi({
|
||||||
|
phone: res.result.telephone,
|
||||||
|
});
|
||||||
|
if (findJsByPhoneResult.resultCode == 1) {
|
||||||
|
if (findJsByPhoneResult.result) {
|
||||||
|
if (findJsByPhoneResult.result["confirmStatus"] == "A") {
|
||||||
|
toHome();
|
||||||
|
} else {
|
||||||
|
setFile({
|
||||||
|
...findJsByPhoneResult.result,
|
||||||
|
...getFile,
|
||||||
|
});
|
||||||
|
setTimeout(() => {
|
||||||
|
uni.reLaunch({
|
||||||
|
url: "/pages/view/hr/teacherProfile/index",
|
||||||
|
});
|
||||||
|
}, 1500);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
toHome();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
uni.reLaunch({
|
||||||
|
url: "/pages/system/login/login",
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
.catch((err) => {});
|
||||||
|
}
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -44,7 +44,7 @@
|
|||||||
<input
|
<input
|
||||||
class="input-field"
|
class="input-field"
|
||||||
type="text"
|
type="text"
|
||||||
v-model="formData.name"
|
v-model="formData.loginName"
|
||||||
placeholder="请输入姓名"
|
placeholder="请输入姓名"
|
||||||
/>
|
/>
|
||||||
</view>
|
</view>
|
||||||
@ -87,14 +87,24 @@
|
|||||||
import { ref, reactive, computed } from "vue";
|
import { ref, reactive, computed } from "vue";
|
||||||
import CustomUpload from "/src/components/BasicUpload/CustomUpload.vue";
|
import CustomUpload from "/src/components/BasicUpload/CustomUpload.vue";
|
||||||
import { onUnmounted } from "vue";
|
import { onUnmounted } from "vue";
|
||||||
import { hideLoading, showLoading } from "@/utils/uniapp";
|
import { hideLoading, isTabBar, showLoading } from "@/utils/uniapp";
|
||||||
import { attachmentUpload } from "@/api/system/upload";
|
import { attachmentUpload } from "@/api/system/upload";
|
||||||
|
import { useDataStore } from "@/store/modules/data";
|
||||||
|
import {
|
||||||
|
findJsByPhoneApi,
|
||||||
|
sendCodeApi,
|
||||||
|
updateUserApi,
|
||||||
|
} from "@/api/system/login";
|
||||||
|
import { useUserStore } from "@/store/modules/user";
|
||||||
|
import pages from "@/pages.json";
|
||||||
|
const { getGlobal } = useDataStore();
|
||||||
const formData = reactive({
|
const formData = reactive({
|
||||||
name: "",
|
loginName: "",
|
||||||
phone: "",
|
phone: "",
|
||||||
code: "",
|
code: "",
|
||||||
avatar_url: "",
|
avatarUrl: "",
|
||||||
|
openId: getGlobal.openId,
|
||||||
|
appCode: "JS",
|
||||||
});
|
});
|
||||||
|
|
||||||
const countdown = ref(60);
|
const countdown = ref(60);
|
||||||
@ -104,7 +114,7 @@ const countdownText = computed(() => {
|
|||||||
return isCountingDown.value ? `${countdown.value}s后重试` : "获取验证码";
|
return isCountingDown.value ? `${countdown.value}s后重试` : "获取验证码";
|
||||||
});
|
});
|
||||||
|
|
||||||
const handleGetCode = () => {
|
const handleGetCode = async () => {
|
||||||
if (isCountingDown.value) {
|
if (isCountingDown.value) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -114,7 +124,14 @@ const handleGetCode = () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
console.log("获取验证码,手机号:", formData.phone);
|
console.log("获取验证码,手机号:", formData.phone);
|
||||||
|
const result = await sendCodeApi({
|
||||||
|
phone: formData.phone,
|
||||||
|
});
|
||||||
|
if (result.resultCode == 1) {
|
||||||
|
uni.showToast({ title: "验证码发送成功", icon: "success" });
|
||||||
|
} else {
|
||||||
|
uni.showToast({ title: "验证码发送失败", icon: "none" });
|
||||||
|
}
|
||||||
isCountingDown.value = true;
|
isCountingDown.value = true;
|
||||||
countdown.value = 60; // 重置倒计时
|
countdown.value = 60; // 重置倒计时
|
||||||
timer = setInterval(() => {
|
timer = setInterval(() => {
|
||||||
@ -128,25 +145,70 @@ const handleGetCode = () => {
|
|||||||
}, 1000);
|
}, 1000);
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleVerify = () => {
|
function toHome() {
|
||||||
|
if (isTabBar()) {
|
||||||
|
uni.switchTab({
|
||||||
|
url: "/" + (pages as any).tabBar.list[0].pagePath,
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
uni.reLaunch({
|
||||||
|
url: "/" + pages.pages[1].path,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const { afterLoginAction } = useUserStore();
|
||||||
|
const { setFile } = useDataStore();
|
||||||
|
const handleVerify = async () => {
|
||||||
if (
|
if (
|
||||||
!formData.name ||
|
!formData.loginName ||
|
||||||
!formData.phone ||
|
!formData.phone ||
|
||||||
!formData.code ||
|
!formData.code ||
|
||||||
!formData.avatar_url
|
!formData.avatarUrl
|
||||||
) {
|
) {
|
||||||
uni.showToast({ title: "请填写完整的验证信息", icon: "none" });
|
uni.showToast({ title: "请填写完整的验证信息", icon: "none" });
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("提交验证信息:", formData);
|
const result = await updateUserApi({
|
||||||
uni.showToast({ title: "验证成功 (模拟)", icon: "success" });
|
loginName: formData.loginName,
|
||||||
|
phone: formData.phone,
|
||||||
|
code: formData.code,
|
||||||
|
avatarUrl: formData.avatarUrl,
|
||||||
|
openId: getGlobal.openId,
|
||||||
|
appCode: "JS",
|
||||||
|
});
|
||||||
|
if (result.resultCode == 1) {
|
||||||
|
afterLoginAction(result.result);
|
||||||
|
uni.showToast({ title: "验证成功", icon: "success" });
|
||||||
|
const findJsByPhoneResult = await findJsByPhoneApi({
|
||||||
|
phone: formData.phone,
|
||||||
|
});
|
||||||
|
if (findJsByPhoneResult.resultCode == 1) {
|
||||||
|
if (findJsByPhoneResult.result) {
|
||||||
|
if (findJsByPhoneResult.result["confirmStatus"] == "A") {
|
||||||
|
toHome();
|
||||||
|
} else {
|
||||||
|
setFile(findJsByPhoneResult.result);
|
||||||
|
setTimeout(() => {
|
||||||
|
uni.reLaunch({
|
||||||
|
url: "/pages/view/hr/teacherProfile/index",
|
||||||
|
});
|
||||||
|
}, 1500);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
toHome();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
uni.showToast({ title: result.message || "验证失败", icon: "none" });
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
async function afterRead(event: any) {
|
async function afterRead(event: any) {
|
||||||
showLoading({ title: "上传中" });
|
showLoading({ title: "上传中" });
|
||||||
const { result } = await attachmentUpload(event.tempFilePaths[0]);
|
const { result } = await attachmentUpload(event.tempFilePaths[0]);
|
||||||
hideLoading();
|
hideLoading();
|
||||||
formData.avatar_url = result[0].filePath;
|
formData.avatarUrl = result[0].filePath;
|
||||||
}
|
}
|
||||||
|
|
||||||
onUnmounted(() => {
|
onUnmounted(() => {
|
||||||
@ -304,3 +366,6 @@ input::placeholder {
|
|||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
function updateUserApi(arg0: { loginName: string; phone: string; code: string;
|
||||||
|
avatarUrl: string; }) { throw new Error("Function not implemented."); }
|
||||||
|
|||||||
@ -30,44 +30,47 @@
|
|||||||
<template #bottom>
|
<template #bottom>
|
||||||
<view class="flex-row items-center pb-10 pt-5">
|
<view class="flex-row items-center pb-10 pt-5">
|
||||||
<u-button text="返回" class="ml-15 mr-7" :plain="true" @click="navigateBack"/>
|
<u-button text="返回" class="ml-15 mr-7" :plain="true" @click="navigateBack"/>
|
||||||
<u-button text="提交" class="mr-15 mr-7" type="primary" @click="submit"/>
|
<u-button text="下一步" class="mr-15 mr-7" type="primary" @click="submit"/>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
</BasicLayout>
|
</BasicLayout>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
|
import { dicApi } from "@/api/system/dic";
|
||||||
import { useForm } from "@/components/BasicForm/hooks/useForm";
|
import { useForm } from "@/components/BasicForm/hooks/useForm";
|
||||||
|
import { useDataStore } from "@/store/modules/data";
|
||||||
import { navigateBack, navigateTo } from "@/utils/uniapp";
|
import { navigateBack, navigateTo } from "@/utils/uniapp";
|
||||||
import { cloneDeep } from "lodash";
|
import { cloneDeep, map } from "lodash";
|
||||||
|
|
||||||
const schema = reactive<FormsSchema[]>([
|
const schema = reactive<FormsSchema[]>([
|
||||||
{
|
{
|
||||||
field: "xm",
|
field: "brgxId",
|
||||||
label: "与本人关系",
|
label: "与本人关系",
|
||||||
component: "BasicInput",
|
component: "BasicPicker",
|
||||||
required: true,
|
componentProps: {
|
||||||
componentProps: {},
|
api: dicApi,
|
||||||
|
param: { pid: 1066646708 },
|
||||||
|
rangeKey: "dictionaryValue",
|
||||||
|
savaKey: "dictionaryCode",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "nl",
|
field: "name",
|
||||||
label: "姓名",
|
label: "姓名",
|
||||||
component: "BasicInput",
|
component: "BasicInput",
|
||||||
required: true,
|
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "yhzgx",
|
field: "address",
|
||||||
label: "地址",
|
label: "地址",
|
||||||
component: "BasicInput",
|
component: "BasicInput",
|
||||||
required: true,
|
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "yhzgx",
|
field: "lxdh",
|
||||||
label: "联系电话",
|
label: "联系电话",
|
||||||
component: "BasicInput",
|
component: "BasicInput",
|
||||||
required: true,
|
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
@ -80,6 +83,13 @@ function addEducation() {
|
|||||||
education.xl.push({ value: {} });
|
education.xl.push({ value: {} });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const { getFile, setFile } = useDataStore();
|
||||||
|
if (getFile.jjlxrList && getFile.jjlxrList.length > 0) {
|
||||||
|
education.xl = map(getFile.jjlxrList, (item) => {
|
||||||
|
return { value: item };
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function deleteMemberFamily(index: number, item: any) {
|
function deleteMemberFamily(index: number, item: any) {
|
||||||
const list = cloneDeep(education.xl);
|
const list = cloneDeep(education.xl);
|
||||||
list.splice(index, 1);
|
list.splice(index, 1);
|
||||||
@ -87,14 +97,20 @@ function deleteMemberFamily(index: number, item: any) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function submit() {
|
function submit() {
|
||||||
|
setFile({
|
||||||
|
...getFile,
|
||||||
|
jjlxrList: map(education.xl, (item) => {
|
||||||
|
return item.value;
|
||||||
|
}),
|
||||||
|
});
|
||||||
navigateTo("/pages/view/hr/teacherProfile/PersonalHonor");
|
navigateTo("/pages/view/hr/teacherProfile/PersonalHonor");
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style>
|
<style>
|
||||||
.delete-icon {
|
.delete-icon {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 0;
|
right: -13px;
|
||||||
top: 0;
|
top: -14px;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -29,8 +29,18 @@
|
|||||||
</view>
|
</view>
|
||||||
<template #bottom>
|
<template #bottom>
|
||||||
<view class="flex-row items-center pb-10 pt-5">
|
<view class="flex-row items-center pb-10 pt-5">
|
||||||
<u-button text="返回" class="ml-15 mr-7" :plain="true" @click="navigateBack"/>
|
<u-button
|
||||||
<u-button text="提交" class="mr-15 mr-7" type="primary" @click="submit"/>
|
text="返回"
|
||||||
|
class="ml-15 mr-7"
|
||||||
|
:plain="true"
|
||||||
|
@click="navigateBack"
|
||||||
|
/>
|
||||||
|
<u-button
|
||||||
|
text="下一步"
|
||||||
|
class="mr-15 mr-7"
|
||||||
|
type="primary"
|
||||||
|
@click="submit"
|
||||||
|
/>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
</BasicLayout>
|
</BasicLayout>
|
||||||
@ -38,50 +48,39 @@
|
|||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { useForm } from "@/components/BasicForm/hooks/useForm";
|
import { useForm } from "@/components/BasicForm/hooks/useForm";
|
||||||
|
import { useDataStore } from "@/store/modules/data";
|
||||||
import { navigateTo, navigateBack } from "@/utils/uniapp";
|
import { navigateTo, navigateBack } from "@/utils/uniapp";
|
||||||
import { cloneDeep } from "lodash";
|
import { cloneDeep, map } from "lodash";
|
||||||
|
|
||||||
const schema = reactive<FormsSchema[]>([
|
const schema = reactive<FormsSchema[]>([
|
||||||
{
|
{
|
||||||
field: "xm",
|
field: "gztime",
|
||||||
label: "时间",
|
label: "时间",
|
||||||
component: "BasicDateTimes",
|
component: "BasicDateTimes",
|
||||||
required: true,
|
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "nl",
|
field: "gzdw",
|
||||||
label: "学校/单位",
|
label: "学校/单位",
|
||||||
component: "BasicDateTimes",
|
component: "BasicInput",
|
||||||
required: true,
|
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "yhzgx",
|
field: "zmr",
|
||||||
label: "证明人",
|
label: "证明人",
|
||||||
component: "BasicInput",
|
component: "BasicInput",
|
||||||
required: true,
|
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "yhzgx",
|
field: "lxfs",
|
||||||
label: "联系方式",
|
label: "联系方式",
|
||||||
component: "BasicInput",
|
component: "BasicInput",
|
||||||
required: true,
|
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "yhzgx",
|
field: "zw",
|
||||||
label: "职务",
|
label: "职务",
|
||||||
component: "BasicInput",
|
component: "BasicInput",
|
||||||
required: true,
|
|
||||||
componentProps: {},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
field: "yhzgx",
|
|
||||||
label: "联系电话",
|
|
||||||
component: "BasicInput",
|
|
||||||
required: true,
|
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
@ -90,6 +89,13 @@ const education = reactive<any>({
|
|||||||
xl: [{ value: {} }],
|
xl: [{ value: {} }],
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const { getFile, setFile } = useDataStore();
|
||||||
|
if (getFile.gzjlList && getFile.gzjlList.length > 0) {
|
||||||
|
education.xl = map(getFile.gzjlList, (item) => {
|
||||||
|
return { value: item };
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function addEducation() {
|
function addEducation() {
|
||||||
education.xl.push({ value: {} });
|
education.xl.push({ value: {} });
|
||||||
}
|
}
|
||||||
@ -101,14 +107,20 @@ function deleteMemberFamily(index: number, item: any) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function submit() {
|
function submit() {
|
||||||
|
setFile({
|
||||||
|
...getFile,
|
||||||
|
gzjlList: map(education.xl, (item) => {
|
||||||
|
return item.value;
|
||||||
|
}),
|
||||||
|
});
|
||||||
navigateTo("/pages/view/hr/teacherProfile/EmergencyContact");
|
navigateTo("/pages/view/hr/teacherProfile/EmergencyContact");
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style>
|
<style>
|
||||||
.delete-icon {
|
.delete-icon {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 0;
|
right: -13px;
|
||||||
top: 0;
|
top: -14px;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -29,59 +29,70 @@
|
|||||||
</view>
|
</view>
|
||||||
<template #bottom>
|
<template #bottom>
|
||||||
<view class="flex-row items-center pb-10 pt-5">
|
<view class="flex-row items-center pb-10 pt-5">
|
||||||
<u-button text="返回" class="ml-15 mr-7" :plain="true" @click="navigateBack"/>
|
<u-button
|
||||||
<u-button text="提交" class="mr-15 mr-7" type="primary" @click="submit"/>
|
text="返回"
|
||||||
|
class="ml-15 mr-7"
|
||||||
|
:plain="true"
|
||||||
|
@click="navigateBack"
|
||||||
|
/>
|
||||||
|
<u-button
|
||||||
|
text="下一步"
|
||||||
|
class="mr-15 mr-7"
|
||||||
|
type="primary"
|
||||||
|
@click="submit"
|
||||||
|
/>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
</BasicLayout>
|
</BasicLayout>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
|
import { dicApi } from "@/api/system/dic";
|
||||||
import { useForm } from "@/components/BasicForm/hooks/useForm";
|
import { useForm } from "@/components/BasicForm/hooks/useForm";
|
||||||
|
import { useDataStore } from "@/store/modules/data";
|
||||||
import { navigateTo, navigateBack } from "@/utils/uniapp";
|
import { navigateTo, navigateBack } from "@/utils/uniapp";
|
||||||
import { cloneDeep } from "lodash";
|
import { cloneDeep, map } from "lodash";
|
||||||
|
|
||||||
const schema = reactive<FormsSchema[]>([
|
const schema = reactive<FormsSchema[]>([
|
||||||
{
|
{
|
||||||
field: "xm",
|
field: "jtcygxId",
|
||||||
label: "与本人关系",
|
label: "与本人关系",
|
||||||
component: "BasicInput",
|
component: "BasicPicker",
|
||||||
required: true,
|
componentProps: {
|
||||||
componentProps: {},
|
api: dicApi,
|
||||||
|
param: { pid: 1066646708 },
|
||||||
|
rangeKey: "dictionaryValue",
|
||||||
|
savaKey: "dictionaryCode",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "nl",
|
field: "xm",
|
||||||
label: "姓名",
|
label: "姓名",
|
||||||
component: "BasicInput",
|
component: "BasicInput",
|
||||||
required: true,
|
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "yhzgx",
|
field: "cstime",
|
||||||
label: "出生日期",
|
label: "出生日期",
|
||||||
component: "BasicInput",
|
component: "BasicDateTimes",
|
||||||
required: true,
|
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "yhzgx",
|
field: "gzdw",
|
||||||
label: "工作单位",
|
label: "工作单位",
|
||||||
component: "BasicInput",
|
component: "BasicInput",
|
||||||
required: true,
|
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "yhzgx",
|
field: "zw",
|
||||||
label: "职务",
|
label: "职务",
|
||||||
component: "BasicInput",
|
component: "BasicInput",
|
||||||
required: true,
|
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "yhzgx",
|
field: "lxdh",
|
||||||
label: "联系电话",
|
label: "联系电话",
|
||||||
component: "BasicInput",
|
component: "BasicInput",
|
||||||
required: true,
|
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
@ -89,7 +100,12 @@
|
|||||||
const education = reactive<any>({
|
const education = reactive<any>({
|
||||||
xl: [{ value: {} }],
|
xl: [{ value: {} }],
|
||||||
});
|
});
|
||||||
|
const { getFile, setFile } = useDataStore();
|
||||||
|
if (getFile.jtcyList && getFile.jtcyList.length > 0) {
|
||||||
|
education.xl = map(getFile.jtcyList, (item) => {
|
||||||
|
return { value: item };
|
||||||
|
});
|
||||||
|
}
|
||||||
function addEducation() {
|
function addEducation() {
|
||||||
education.xl.push({ value: {} });
|
education.xl.push({ value: {} });
|
||||||
}
|
}
|
||||||
@ -101,15 +117,20 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function submit() {
|
function submit() {
|
||||||
|
setFile({
|
||||||
|
...getFile,
|
||||||
|
jtcyList: map(education.xl, (item) => {
|
||||||
|
return item.value;
|
||||||
|
}),
|
||||||
|
});
|
||||||
navigateTo("/pages/view/hr/teacherProfile/ExperienceInfo");
|
navigateTo("/pages/view/hr/teacherProfile/ExperienceInfo");
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style>
|
<style>
|
||||||
.delete-icon {
|
.delete-icon {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 0;
|
right: -13px;
|
||||||
top: 0;
|
top: -14px;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
@ -36,7 +36,7 @@
|
|||||||
@click="navigateBack"
|
@click="navigateBack"
|
||||||
/>
|
/>
|
||||||
<u-button
|
<u-button
|
||||||
text="提交"
|
text="下一步"
|
||||||
class="mr-15 mr-7"
|
class="mr-15 mr-7"
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="submit"
|
@click="submit"
|
||||||
@ -47,44 +47,40 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
|
import { dicApi } from "@/api/system/dic";
|
||||||
import { useForm } from "@/components/BasicForm/hooks/useForm";
|
import { useForm } from "@/components/BasicForm/hooks/useForm";
|
||||||
|
import { useDataStore } from "@/store/modules/data";
|
||||||
import { navigateTo, navigateBack } from "@/utils/uniapp";
|
import { navigateTo, navigateBack } from "@/utils/uniapp";
|
||||||
import { cloneDeep } from "lodash";
|
import { cloneDeep, map } from "lodash";
|
||||||
|
|
||||||
const schema = reactive<FormsSchema[]>([
|
const schema = reactive<FormsSchema[]>([
|
||||||
{
|
{
|
||||||
field: "xm",
|
field: "hjjbId",
|
||||||
label: "获奖级别",
|
label: "获奖级别",
|
||||||
component: "BasicInput",
|
component: "BasicPicker",
|
||||||
required: true,
|
componentProps: {
|
||||||
componentProps: {},
|
api: dicApi,
|
||||||
|
param: { pid: 1472324538 },
|
||||||
|
rangeKey: "dictionaryValue",
|
||||||
|
savaKey: "dictionaryCode",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "nl",
|
field: "bjdw",
|
||||||
label: "颁奖单位",
|
label: "颁奖单位",
|
||||||
component: "BasicInput",
|
component: "BasicInput",
|
||||||
required: true,
|
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "yhzgx",
|
field: "hjtime",
|
||||||
label: "获奖类型",
|
|
||||||
component: "BasicInput",
|
|
||||||
required: true,
|
|
||||||
componentProps: {},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
field: "yhzgx",
|
|
||||||
label: "获奖时间",
|
label: "获奖时间",
|
||||||
component: "BasicDateTimes",
|
component: "BasicDateTimes",
|
||||||
required: true,
|
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "yhzgx",
|
field: "hjfjId",
|
||||||
label: "上传证书",
|
label: "上传证书",
|
||||||
component: "BasicUpload",
|
component: "BasicUpload",
|
||||||
required: true,
|
|
||||||
itemProps: {
|
itemProps: {
|
||||||
labelPosition: "top",
|
labelPosition: "top",
|
||||||
},
|
},
|
||||||
@ -100,6 +96,13 @@ function addEducation() {
|
|||||||
education.xl.push({ value: {} });
|
education.xl.push({ value: {} });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const { getFile, setFile } = useDataStore();
|
||||||
|
if (getFile.grRyList && getFile.grRyList.length > 0) {
|
||||||
|
education.xl = map(getFile.grRyList, (item) => {
|
||||||
|
return { value: item };
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function deleteMemberFamily(index: number, item: any) {
|
function deleteMemberFamily(index: number, item: any) {
|
||||||
const list = cloneDeep(education.xl);
|
const list = cloneDeep(education.xl);
|
||||||
list.splice(index, 1);
|
list.splice(index, 1);
|
||||||
@ -107,15 +110,20 @@ function deleteMemberFamily(index: number, item: any) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function submit() {
|
function submit() {
|
||||||
|
setFile({
|
||||||
|
...getFile,
|
||||||
|
grRyList: map(education.xl, (item) => {
|
||||||
|
return { ...item.value, hjlxId: "GRRY" };
|
||||||
|
}),
|
||||||
|
});
|
||||||
navigateTo("/pages/view/hr/teacherProfile/PublicClassAwards");
|
navigateTo("/pages/view/hr/teacherProfile/PublicClassAwards");
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style>
|
<style>
|
||||||
.delete-icon {
|
.delete-icon {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 0;
|
right: -13px;
|
||||||
top: 0;
|
top: -14px;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
@ -29,59 +29,93 @@
|
|||||||
</view>
|
</view>
|
||||||
<template #bottom>
|
<template #bottom>
|
||||||
<view class="flex-row items-center pb-10 pt-5">
|
<view class="flex-row items-center pb-10 pt-5">
|
||||||
<u-button text="返回" class="ml-15 mr-7" :plain="true" @click="navigateBack"/>
|
<u-button
|
||||||
<u-button text="提交" class="mr-15 mr-7" type="primary" @click="submit"/>
|
text="返回"
|
||||||
|
class="ml-15 mr-7"
|
||||||
|
:plain="true"
|
||||||
|
@click="navigateBack"
|
||||||
|
/>
|
||||||
|
<u-button
|
||||||
|
text="下一步"
|
||||||
|
class="mr-15 mr-7"
|
||||||
|
type="primary"
|
||||||
|
@click="submit"
|
||||||
|
/>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
</BasicLayout>
|
</BasicLayout>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
|
import {
|
||||||
|
findAllNjBjTreeApi,
|
||||||
|
xqgwFindAllApi,
|
||||||
|
xqxjFindAllApi,
|
||||||
|
} from "@/api/base/server";
|
||||||
import { useForm } from "@/components/BasicForm/hooks/useForm";
|
import { useForm } from "@/components/BasicForm/hooks/useForm";
|
||||||
|
import { useDataStore } from "@/store/modules/data";
|
||||||
import { navigateTo, navigateBack } from "@/utils/uniapp";
|
import { navigateTo, navigateBack } from "@/utils/uniapp";
|
||||||
import { cloneDeep } from "lodash";
|
import { cloneDeep, map } from "lodash";
|
||||||
|
|
||||||
const schema = reactive<FormsSchema[]>([
|
const schema = reactive<FormsSchema[]>([
|
||||||
{
|
{
|
||||||
field: "xm",
|
field: "gwjbId",
|
||||||
label: "岗位级别",
|
label: "岗位级别",
|
||||||
component: "BasicInput",
|
component: "BasicPicker",
|
||||||
required: true,
|
componentProps: {
|
||||||
componentProps: {},
|
api: xqgwFindAllApi,
|
||||||
|
rangeKey: "gwmc",
|
||||||
|
savaKey: "id",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "nl",
|
field: "gwrztime",
|
||||||
label: "岗位任职时间",
|
label: "岗位任职时间",
|
||||||
component: "BasicDateTimes",
|
component: "BasicDateTimes",
|
||||||
required: true,
|
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "yhzgx",
|
field: "gwrznx",
|
||||||
label: "岗位任职年限",
|
label: "岗位任职年限",
|
||||||
component: "BasicInput",
|
component: "BasicInput",
|
||||||
required: true,
|
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "yhzgx",
|
field: "xj",
|
||||||
|
label: "薪级",
|
||||||
|
component: "BasicPicker",
|
||||||
|
componentProps: {
|
||||||
|
api: xqxjFindAllApi,
|
||||||
|
rangeKey: "xjmc",
|
||||||
|
savaKey: "id",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: "zrxk",
|
||||||
label: "主任学科",
|
label: "主任学科",
|
||||||
component: "BasicInput",
|
component: "BasicInput",
|
||||||
required: true,
|
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "yhzgx",
|
field: "jrxk",
|
||||||
label: "班主任",
|
label: "兼任学科",
|
||||||
component: "BasicInput",
|
component: "BasicInput",
|
||||||
required: true,
|
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "yhzgx",
|
field: "bzrBjId",
|
||||||
|
label: "班主任班级",
|
||||||
|
component: "BasicDataPicker",
|
||||||
|
componentProps: {
|
||||||
|
api: findAllNjBjTreeApi,
|
||||||
|
rangeKey: "title",
|
||||||
|
savaKey: "key",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: "dzzw",
|
||||||
label: "党政职务",
|
label: "党政职务",
|
||||||
component: "BasicInput",
|
component: "BasicInput",
|
||||||
required: true,
|
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
@ -90,6 +124,13 @@ const education = reactive<any>({
|
|||||||
xl: [{ value: {} }],
|
xl: [{ value: {} }],
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const { getFile, setFile } = useDataStore();
|
||||||
|
if (getFile.rgqkList && getFile.rgqkList.length > 0) {
|
||||||
|
education.xl = map(getFile.rgqkList, (item) => {
|
||||||
|
return { value: item };
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function addEducation() {
|
function addEducation() {
|
||||||
education.xl.push({ value: {} });
|
education.xl.push({ value: {} });
|
||||||
}
|
}
|
||||||
@ -101,14 +142,20 @@ function deleteMemberFamily(index: number, item: any) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function submit() {
|
function submit() {
|
||||||
|
setFile({
|
||||||
|
...getFile,
|
||||||
|
rgqkList: map(education.xl, (item) => {
|
||||||
|
return item.value;
|
||||||
|
}),
|
||||||
|
});
|
||||||
navigateTo("/pages/view/hr/teacherProfile/FamilyInfo");
|
navigateTo("/pages/view/hr/teacherProfile/FamilyInfo");
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style>
|
<style>
|
||||||
.delete-icon {
|
.delete-icon {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 0;
|
right: -13px;
|
||||||
top: 0;
|
top: -14px;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -29,50 +29,57 @@
|
|||||||
</view>
|
</view>
|
||||||
<template #bottom>
|
<template #bottom>
|
||||||
<view class="flex-row items-center pb-10 pt-5">
|
<view class="flex-row items-center pb-10 pt-5">
|
||||||
<u-button text="返回" class="ml-15 mr-7" :plain="true" @click="navigateBack"/>
|
<u-button
|
||||||
<u-button text="提交" class="mr-15 mr-7" type="primary" @click="submit"/>
|
text="返回"
|
||||||
|
class="ml-15 mr-7"
|
||||||
|
:plain="true"
|
||||||
|
@click="navigateBack"
|
||||||
|
/>
|
||||||
|
<u-button
|
||||||
|
text="提交"
|
||||||
|
class="mr-15 mr-7"
|
||||||
|
type="primary"
|
||||||
|
@click="submit"
|
||||||
|
/>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
</BasicLayout>
|
</BasicLayout>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
|
import { dicApi } from "@/api/system/dic";
|
||||||
import { useForm } from "@/components/BasicForm/hooks/useForm";
|
import { useForm } from "@/components/BasicForm/hooks/useForm";
|
||||||
import Template from "@/components/BasicQrcode/_template/template.vue";
|
import Template from "@/components/BasicQrcode/_template/template.vue";
|
||||||
|
import { useDataStore } from "@/store/modules/data";
|
||||||
import { navigateTo, navigateBack } from "@/utils/uniapp";
|
import { navigateTo, navigateBack } from "@/utils/uniapp";
|
||||||
import { cloneDeep } from "lodash";
|
import { cloneDeep, map } from "lodash";
|
||||||
|
|
||||||
const schema = reactive<FormsSchema[]>([
|
const schema = reactive<FormsSchema[]>([
|
||||||
{
|
{
|
||||||
field: "xm",
|
field: "xm",
|
||||||
label: "获奖级别",
|
label: "获奖级别",
|
||||||
component: "BasicInput",
|
component: "BasicPicker",
|
||||||
required: true,
|
componentProps: {
|
||||||
componentProps: {},
|
api: dicApi,
|
||||||
|
param: { pid: 1472324538 },
|
||||||
|
rangeKey: "dictionaryValue",
|
||||||
|
savaKey: "dictionaryCode",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "nl",
|
field: "bjdw",
|
||||||
label: "颁奖单位",
|
label: "颁奖单位",
|
||||||
component: "BasicInput",
|
component: "BasicInput",
|
||||||
required: true,
|
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "yhzgx",
|
field: "hjtime",
|
||||||
label: "获奖类型",
|
|
||||||
component: "BasicInput",
|
|
||||||
required: true,
|
|
||||||
componentProps: {},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
field: "yhzgx",
|
|
||||||
label: "获奖时间",
|
label: "获奖时间",
|
||||||
component: "BasicDateTimes",
|
component: "BasicDateTimes",
|
||||||
required: true,
|
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "yhzgx",
|
field: "hjfjId",
|
||||||
label: "上传证书",
|
label: "上传证书",
|
||||||
component: "BasicUpload",
|
component: "BasicUpload",
|
||||||
required: true,
|
required: true,
|
||||||
@ -91,6 +98,13 @@ function addEducation() {
|
|||||||
education.xl.push({ value: {} });
|
education.xl.push({ value: {} });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const { getFile, setFile } = useDataStore();
|
||||||
|
if (getFile.gkkRyList && getFile.gkkRyList.length > 0) {
|
||||||
|
education.xl = map(getFile.gkkRyList, (item) => {
|
||||||
|
return { value: item };
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function deleteMemberFamily(index: number, item: any) {
|
function deleteMemberFamily(index: number, item: any) {
|
||||||
const list = cloneDeep(education.xl);
|
const list = cloneDeep(education.xl);
|
||||||
list.splice(index, 1);
|
list.splice(index, 1);
|
||||||
@ -98,14 +112,20 @@ function deleteMemberFamily(index: number, item: any) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function submit() {
|
function submit() {
|
||||||
|
setFile({
|
||||||
|
...getFile,
|
||||||
|
gkkRyList: map(education.xl, (item) => {
|
||||||
|
return { ...item.value, hjlxId: "GKKHJQK" };
|
||||||
|
}),
|
||||||
|
});
|
||||||
navigateTo("/pages/view/hr/teacherProfile/RecordMaterials");
|
navigateTo("/pages/view/hr/teacherProfile/RecordMaterials");
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style>
|
<style>
|
||||||
.delete-icon {
|
.delete-icon {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 0;
|
right: -13px;
|
||||||
top: 0;
|
top: -14px;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -26,20 +26,24 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref } from "vue";
|
import { ref } from "vue";
|
||||||
import { onLoad } from "@dcloudio/uni-app";
|
import { onLoad } from "@dcloudio/uni-app";
|
||||||
import { navigateBack, navigateTo } from "@/utils/uniapp";
|
import { hideLoading, navigateBack, navigateTo, showLoading } from "@/utils/uniapp";
|
||||||
import { cloneDeep } from "lodash";
|
import { cloneDeep } from "lodash";
|
||||||
const leaveId = ref<string | null>(null);
|
const leaveId = ref<string | null>(null);
|
||||||
const signCompRef = ref<any>(null);
|
const signCompRef = ref<any>(null);
|
||||||
import { useForm } from "@/components/BasicForm/hooks/useForm";
|
import { useForm } from "@/components/BasicForm/hooks/useForm";
|
||||||
|
import { useDataStore } from "@/store/modules/data";
|
||||||
|
import { jsConfirmJsDataApi } from "@/api/base/server";
|
||||||
|
|
||||||
const [register, { getValue }] = useForm({
|
const signTitle = ref<string>("签名");
|
||||||
|
|
||||||
|
const [register, { getValue, setValue }] = useForm({
|
||||||
formsProps: {
|
formsProps: {
|
||||||
labelWidth: 120,
|
labelWidth: 120,
|
||||||
},
|
},
|
||||||
schema: [
|
schema: [
|
||||||
{
|
{
|
||||||
field: "ttlx",
|
field: "sfzrxy",
|
||||||
label: "上传人像页",
|
label: "身份证人像页",
|
||||||
component: "BasicUpload",
|
component: "BasicUpload",
|
||||||
itemProps: {
|
itemProps: {
|
||||||
labelPosition: "top",
|
labelPosition: "top",
|
||||||
@ -47,8 +51,8 @@ const [register, { getValue }] = useForm({
|
|||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "ttlx",
|
field: "sfzghy",
|
||||||
label: "上传国徽页",
|
label: "身份证国徽页",
|
||||||
component: "BasicUpload",
|
component: "BasicUpload",
|
||||||
itemProps: {
|
itemProps: {
|
||||||
labelPosition: "top",
|
labelPosition: "top",
|
||||||
@ -56,7 +60,7 @@ const [register, { getValue }] = useForm({
|
|||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "ttlx",
|
field: "dyxlbyz",
|
||||||
label: "第一学历毕业证",
|
label: "第一学历毕业证",
|
||||||
component: "BasicUpload",
|
component: "BasicUpload",
|
||||||
itemProps: {
|
itemProps: {
|
||||||
@ -65,7 +69,7 @@ const [register, { getValue }] = useForm({
|
|||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "ttlx",
|
field: "dyxlxwz",
|
||||||
label: "第一学历学位证",
|
label: "第一学历学位证",
|
||||||
component: "BasicUpload",
|
component: "BasicUpload",
|
||||||
itemProps: {
|
itemProps: {
|
||||||
@ -74,7 +78,7 @@ const [register, { getValue }] = useForm({
|
|||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "ttlx",
|
field: "zgxlbyz",
|
||||||
label: "最高学历毕业证",
|
label: "最高学历毕业证",
|
||||||
component: "BasicUpload",
|
component: "BasicUpload",
|
||||||
itemProps: {
|
itemProps: {
|
||||||
@ -83,7 +87,7 @@ const [register, { getValue }] = useForm({
|
|||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "ttlx",
|
field: "zgxlxwz",
|
||||||
label: "最高学历学位证",
|
label: "最高学历学位证",
|
||||||
component: "BasicUpload",
|
component: "BasicUpload",
|
||||||
itemProps: {
|
itemProps: {
|
||||||
@ -92,7 +96,7 @@ const [register, { getValue }] = useForm({
|
|||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "ttlx",
|
field: "pthzm",
|
||||||
label: "普通话证明",
|
label: "普通话证明",
|
||||||
component: "BasicUpload",
|
component: "BasicUpload",
|
||||||
itemProps: {
|
itemProps: {
|
||||||
@ -101,7 +105,7 @@ const [register, { getValue }] = useForm({
|
|||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "ttlx",
|
field: "jszgz",
|
||||||
label: "教师资格证",
|
label: "教师资格证",
|
||||||
component: "BasicUpload",
|
component: "BasicUpload",
|
||||||
itemProps: {
|
itemProps: {
|
||||||
@ -112,17 +116,41 @@ const [register, { getValue }] = useForm({
|
|||||||
],
|
],
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const { getFile, setFile } = useDataStore();
|
||||||
|
setValue(getFile);
|
||||||
|
|
||||||
|
const sign_file = ref<string>("");
|
||||||
|
|
||||||
async function submit() {
|
async function submit() {
|
||||||
|
const value = await getValue();
|
||||||
|
if (!sign_file.value) {
|
||||||
const data = await signCompRef.value.getSyncSignature();
|
const data = await signCompRef.value.getSyncSignature();
|
||||||
console.log(data);
|
sign_file.value = data.base64;
|
||||||
|
}
|
||||||
|
showLoading("提交中...");
|
||||||
|
const params = {
|
||||||
|
...getFile,
|
||||||
|
...value,
|
||||||
|
sign_file: sign_file.value,
|
||||||
|
};
|
||||||
|
setFile(params);
|
||||||
|
const res = await jsConfirmJsDataApi(params);
|
||||||
|
hideLoading();
|
||||||
|
if (res.resultCode === 1) {
|
||||||
|
uni.switchTab({
|
||||||
|
url: "/pages/base/message/index",
|
||||||
|
});
|
||||||
|
uni.showToast({
|
||||||
|
title: "提交成功",
|
||||||
|
icon: "success",
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
uni.showToast({
|
||||||
|
title: "提交失败",
|
||||||
|
icon: "none",
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped></style>
|
||||||
.delete-icon {
|
|
||||||
position: absolute;
|
|
||||||
right: 0;
|
|
||||||
top: 0;
|
|
||||||
z-index: 1;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<view
|
<view
|
||||||
class="flex-row items-center justify-center pb-10 pt-5"
|
class="flex-row items-center justify-center pb-10 pt-5"
|
||||||
style="border: 1px solid #E8E8E8"
|
style="border: 1px solid #e8e8e8"
|
||||||
@click="addEducation"
|
@click="addEducation"
|
||||||
>
|
>
|
||||||
<uni-icons type="plus" size="16" color="#447ADE"></uni-icons>
|
<uni-icons type="plus" size="16" color="#447ADE"></uni-icons>
|
||||||
@ -29,73 +29,100 @@
|
|||||||
</view>
|
</view>
|
||||||
<template #bottom>
|
<template #bottom>
|
||||||
<view class="flex-row items-center pb-10 pt-5">
|
<view class="flex-row items-center pb-10 pt-5">
|
||||||
<u-button text="返回" class="ml-15 mr-7" :plain="true" @click="navigateBack"/>
|
<u-button
|
||||||
<u-button text="提交" class="mr-15 mr-7" type="primary" @click="submit"/>
|
text="返回"
|
||||||
|
class="ml-15 mr-7"
|
||||||
|
:plain="true"
|
||||||
|
@click="navigateBack"
|
||||||
|
/>
|
||||||
|
<u-button
|
||||||
|
text="下一步"
|
||||||
|
class="mr-15 mr-7"
|
||||||
|
type="primary"
|
||||||
|
@click="submit"
|
||||||
|
/>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
</BasicLayout>
|
</BasicLayout>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
|
import { dicApi } from "@/api/system/dic";
|
||||||
import { useForm } from "@/components/BasicForm/hooks/useForm";
|
import { useForm } from "@/components/BasicForm/hooks/useForm";
|
||||||
|
import { useDataStore } from "@/store/modules/data";
|
||||||
import { navigateBack, navigateTo } from "@/utils/uniapp";
|
import { navigateBack, navigateTo } from "@/utils/uniapp";
|
||||||
import { cloneDeep } from "lodash";
|
import { cloneDeep, map } from "lodash";
|
||||||
const schema = reactive<FormsSchema[]>([
|
const schema = reactive<FormsSchema[]>([
|
||||||
{
|
{
|
||||||
field: "xm",
|
field: "zcdjId",
|
||||||
label: "职称等级",
|
label: "职称等级",
|
||||||
component: "BasicInput",
|
component: "BasicPicker",
|
||||||
required: true,
|
componentProps: {
|
||||||
componentProps: {},
|
api: dicApi,
|
||||||
|
param: { pid: 836722710 },
|
||||||
|
rangeKey: "dictionaryValue",
|
||||||
|
savaKey: "dictionaryCode",
|
||||||
},
|
},
|
||||||
{
|
|
||||||
field: "nl",
|
|
||||||
label: "职称类别",
|
|
||||||
component: "BasicInput",
|
|
||||||
required: true,
|
|
||||||
componentProps: {},
|
|
||||||
},
|
},
|
||||||
|
// {
|
||||||
|
// field: "zclbId",
|
||||||
|
// label: "职称类别",
|
||||||
|
// component: "BasicPicker",
|
||||||
|
// componentProps: {
|
||||||
|
// api: dicApi,
|
||||||
|
// param: { pid: 385536488 },
|
||||||
|
// rangeKey: "dictionaryValue",
|
||||||
|
// savaKey: "dictionaryCode",
|
||||||
|
// },
|
||||||
|
// },
|
||||||
{
|
{
|
||||||
field: "yhzgx",
|
field: "zczyId",
|
||||||
label: "职称专业",
|
label: "职称专业",
|
||||||
component: "BasicInput",
|
component: "BasicPicker",
|
||||||
required: true,
|
componentProps: {
|
||||||
componentProps: {},
|
api: dicApi,
|
||||||
|
param: { pid: 2130488509 },
|
||||||
|
rangeKey: "dictionaryValue",
|
||||||
|
savaKey: "dictionaryCode",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "yhzgx",
|
field: "zcspjg",
|
||||||
label: "职称审批机关",
|
label: "职称审批机关",
|
||||||
component: "BasicInput",
|
component: "BasicInput",
|
||||||
required: true,
|
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "yhzgx",
|
field: "zcbzwh",
|
||||||
label: "职称批准文号",
|
label: "职称批准文号",
|
||||||
component: "BasicInput",
|
component: "BasicInput",
|
||||||
required: true,
|
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "yhzgx",
|
field: "zcpztime",
|
||||||
label: "职称批准年月",
|
label: "职称批准年月",
|
||||||
component: "BasicInput",
|
component: "BasicDateTimes",
|
||||||
required: true,
|
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "yhzgx",
|
field: "zczsbh",
|
||||||
label: "职称证书编号",
|
label: "职称证书编号",
|
||||||
component: "BasicInput",
|
component: "BasicInput",
|
||||||
required: true,
|
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
const { getFile, setFile } = useDataStore();
|
||||||
|
|
||||||
const education = reactive<any>({
|
const education = reactive<any>({
|
||||||
xl: [{ value: {} }],
|
xl: [{ value: {} }],
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (getFile.zcxxList && getFile.zcxxList.length > 0) {
|
||||||
|
education.xl = map(getFile.zcxxList, (item) => {
|
||||||
|
return { value: item };
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function addEducation() {
|
function addEducation() {
|
||||||
education.xl.push({ value: {} });
|
education.xl.push({ value: {} });
|
||||||
}
|
}
|
||||||
@ -107,14 +134,20 @@ function deleteMemberFamily(index: number, item: any) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function submit() {
|
function submit() {
|
||||||
|
setFile({
|
||||||
|
...getFile,
|
||||||
|
zcxxList: map(education.xl, (item) => {
|
||||||
|
return item.value;
|
||||||
|
}),
|
||||||
|
});
|
||||||
navigateTo("/pages/view/hr/teacherProfile/PositionInfo");
|
navigateTo("/pages/view/hr/teacherProfile/PositionInfo");
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style>
|
<style>
|
||||||
.delete-icon {
|
.delete-icon {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 0;
|
right: -13px;
|
||||||
top: 0;
|
top: -14px;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<BasicLayout>
|
<BasicLayout>
|
||||||
<view class="p-15">
|
<view class="px-15 pb-15">
|
||||||
<BasicForm @register="register"> </BasicForm>
|
<BasicForm @register="register"> </BasicForm>
|
||||||
</view>
|
</view>
|
||||||
<template #bottom>
|
<template #bottom>
|
||||||
@ -12,7 +12,7 @@
|
|||||||
@click="navigateBack"
|
@click="navigateBack"
|
||||||
/>
|
/>
|
||||||
<u-button
|
<u-button
|
||||||
text="提交"
|
text="下一步"
|
||||||
class="mr-15 mr-7"
|
class="mr-15 mr-7"
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="submit"
|
@click="submit"
|
||||||
@ -23,227 +23,365 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref } from "vue";
|
|
||||||
import { onLoad } from "@dcloudio/uni-app";
|
|
||||||
import { navigateBack, navigateTo } from "@/utils/uniapp";
|
import { navigateBack, navigateTo } from "@/utils/uniapp";
|
||||||
import { cloneDeep } from "lodash";
|
|
||||||
|
|
||||||
const leaveId = ref<string | null>(null);
|
|
||||||
|
|
||||||
import { useForm } from "@/components/BasicForm/hooks/useForm";
|
import { useForm } from "@/components/BasicForm/hooks/useForm";
|
||||||
|
import { dicApi, findDicTreeByPidApi } from "@/api/system/dic";
|
||||||
|
import { useDataStore } from "@/store/modules/data";
|
||||||
|
import { map } from "lodash";
|
||||||
|
import dayjs from "dayjs";
|
||||||
|
|
||||||
const [register, { getValue }] = useForm({
|
const { getFile, setFile } = useDataStore();
|
||||||
|
const jsjg = ref("");
|
||||||
|
|
||||||
|
// 计算日期与当前日期相差的年数
|
||||||
|
const calculateYearDiff = (startDate: string) => {
|
||||||
|
if (!startDate) return "";
|
||||||
|
const start = dayjs(startDate);
|
||||||
|
const now = dayjs();
|
||||||
|
return now.diff(start, "year");
|
||||||
|
};
|
||||||
|
|
||||||
|
const [register, { getValue, setValue }] = useForm({
|
||||||
schema: [
|
schema: [
|
||||||
{
|
{
|
||||||
field: "ttlx",
|
title: "基础信息",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: "jsdah",
|
||||||
|
label: "档案号",
|
||||||
|
component: "BasicInput",
|
||||||
|
componentProps: {
|
||||||
|
disabled: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: "jsxm",
|
||||||
label: "姓名",
|
label: "姓名",
|
||||||
component: "BasicInput",
|
component: "BasicInput",
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "ttlx",
|
field: "jsxbId",
|
||||||
label: "籍贯",
|
label: "性别",
|
||||||
component: "BasicPicker",
|
component: "BasicPicker",
|
||||||
componentProps: {},
|
componentProps: {
|
||||||
|
api: dicApi,
|
||||||
|
param: { pid: 13001 },
|
||||||
|
rangeKey: "dictionaryValue",
|
||||||
|
savaKey: "dictionaryCode",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "ttlx",
|
field: "jsjgId",
|
||||||
|
label: "籍贯",
|
||||||
|
component: "BasicDataPicker",
|
||||||
|
componentProps: {
|
||||||
|
api: findDicTreeByPidApi,
|
||||||
|
param: { pid: 3701 },
|
||||||
|
rangeKey: "dictionaryValue",
|
||||||
|
savaKey: "dictionaryCode",
|
||||||
|
onChange: (e: any) => {
|
||||||
|
jsjg.value = map(e.detail.value, (item) => {
|
||||||
|
return item.text;
|
||||||
|
}).join("");
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: "mzId",
|
||||||
|
label: "民族",
|
||||||
|
component: "BasicPicker",
|
||||||
|
componentProps: {
|
||||||
|
api: dicApi,
|
||||||
|
param: { pid: 19204295 },
|
||||||
|
rangeKey: "dictionaryValue",
|
||||||
|
savaKey: "dictionaryCode",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: "sfzh",
|
||||||
label: "身份证号",
|
label: "身份证号",
|
||||||
component: "BasicInput",
|
component: "BasicInput",
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "ttlx",
|
field: "age",
|
||||||
label: "年龄",
|
label: "年龄",
|
||||||
component: "BasicInput",
|
component: "BasicInput",
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "ttlx",
|
field: "cstime",
|
||||||
label: "出生日期",
|
label: "出生日期",
|
||||||
component: "BasicDateTimes",
|
component: "BasicDateTimes",
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "ttlx",
|
field: "zzmmId",
|
||||||
label: "政治面貌",
|
label: "政治面貌",
|
||||||
component: "BasicPicker",
|
component: "BasicPicker",
|
||||||
componentProps: {},
|
componentProps: {
|
||||||
|
api: dicApi,
|
||||||
|
param: { pid: 385536488 },
|
||||||
|
rangeKey: "dictionaryValue",
|
||||||
|
savaKey: "dictionaryCode",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "ttlx",
|
field: "rdtime",
|
||||||
label: "联系电话",
|
|
||||||
component: "BasicInput",
|
|
||||||
componentProps: {},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
field: "ttlx",
|
|
||||||
label: "电子邮箱",
|
|
||||||
component: "BasicInput",
|
|
||||||
componentProps: {},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
field: "ttlx",
|
|
||||||
label: "入党时间",
|
label: "入党时间",
|
||||||
component: "BasicDateTimes",
|
component: "BasicDateTimes",
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "ttlx",
|
field: "lxdh",
|
||||||
label: "参公时间",
|
label: "联系电话",
|
||||||
component: "BasicDateTimes",
|
|
||||||
componentProps: {},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
field: "ttlx",
|
|
||||||
label: "工龄",
|
|
||||||
component: "BasicInput",
|
component: "BasicInput",
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "ttlx",
|
field: "dzyx",
|
||||||
label: "教龄计算年月",
|
label: "电子邮箱",
|
||||||
component: "BasicDateTimes",
|
component: "BasicInput",
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
field: "ttlx",
|
field: "sbkh",
|
||||||
label: "教龄",
|
label: "社保卡号",
|
||||||
component: "BasicInput",
|
component: "BasicInput",
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "ttlx",
|
title: "学历情况",
|
||||||
label: "进入本单位时间",
|
|
||||||
component: "BasicDateTimes",
|
|
||||||
componentProps: {},
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "ttlx",
|
field: "dyxlId",
|
||||||
label: "进入单位年限",
|
|
||||||
component: "BasicInput",
|
|
||||||
componentProps: {},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
field: "ttlx",
|
|
||||||
label: "进入来源",
|
|
||||||
component: "BasicInput",
|
|
||||||
componentProps: {},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
field: "ttlx",
|
|
||||||
label: "初始学历",
|
label: "初始学历",
|
||||||
component: "BasicPicker",
|
component: "BasicPicker",
|
||||||
componentProps: {},
|
componentProps: {
|
||||||
|
api: dicApi,
|
||||||
|
param: { pid: 1914632204 },
|
||||||
|
rangeKey: "dictionaryValue",
|
||||||
|
savaKey: "dictionaryCode",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "ttlx",
|
field: "dybyyx",
|
||||||
label: "全日制学历毕业院校",
|
label: "全日制学历毕业院校",
|
||||||
component: "BasicInput",
|
component: "BasicInput",
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "ttlx",
|
field: "dybyzy",
|
||||||
label: "最后学历",
|
label: "全日制学历专业",
|
||||||
component: "BasicInput",
|
component: "BasicInput",
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "ttlx",
|
field: "zhxlId",
|
||||||
|
label: "最后学历",
|
||||||
|
component: "BasicPicker",
|
||||||
|
componentProps: {
|
||||||
|
api: dicApi,
|
||||||
|
param: { pid: 1914632204 },
|
||||||
|
rangeKey: "dictionaryValue",
|
||||||
|
savaKey: "dictionaryCode",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: "zhbyyx",
|
||||||
label: "最后学历毕业院校",
|
label: "最后学历毕业院校",
|
||||||
component: "BasicInput",
|
component: "BasicInput",
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "ttlx",
|
field: "zhbyzy",
|
||||||
label: "最后学历专业",
|
label: "最后学历专业",
|
||||||
component: "BasicInput",
|
component: "BasicInput",
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "ttlx",
|
field: "zhbynytime",
|
||||||
label: "最后学历毕业年月",
|
label: "最后学历毕业年月",
|
||||||
component: "BasicDateTimes",
|
component: "BasicDateTimes",
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "ttlx",
|
field: "xwlbId",
|
||||||
label: "学位类别",
|
label: "学位类别",
|
||||||
component: "BasicPicker",
|
|
||||||
componentProps: {},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
field: "ttlx",
|
|
||||||
label: "学位",
|
|
||||||
component: "BasicInput",
|
component: "BasicInput",
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "ttlx",
|
field: "xw",
|
||||||
|
label: "学位",
|
||||||
|
component: "BasicPicker",
|
||||||
|
componentProps: {
|
||||||
|
api: dicApi,
|
||||||
|
param: { pid: 1513282965 },
|
||||||
|
rangeKey: "dictionaryValue",
|
||||||
|
savaKey: "dictionaryCode",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: "xwzy",
|
||||||
label: "学位专业",
|
label: "学位专业",
|
||||||
component: "BasicInput",
|
component: "BasicInput",
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "ttlx",
|
title: "教师资格",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: "zgxdId",
|
||||||
label: "教师资格学段",
|
label: "教师资格学段",
|
||||||
component: "BasicInput",
|
component: "BasicPicker",
|
||||||
componentProps: {},
|
componentProps: {
|
||||||
|
api: dicApi,
|
||||||
|
param: { pid: 1680570189 },
|
||||||
|
rangeKey: "dictionaryValue",
|
||||||
|
savaKey: "dictionaryCode",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "ttlx",
|
field: "zgxkId",
|
||||||
label: "教师资格学科",
|
label: "教师资格学科",
|
||||||
component: "BasicInput",
|
component: "BasicPicker",
|
||||||
componentProps: {},
|
componentProps: {
|
||||||
|
api: dicApi,
|
||||||
|
param: { pid: 1029593616 },
|
||||||
|
rangeKey: "dictionaryValue",
|
||||||
|
savaKey: "dictionaryCode",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "ttlx",
|
field: "zgzs",
|
||||||
label: "教师资格证书号",
|
label: "教师资格证书号",
|
||||||
component: "BasicInput",
|
component: "BasicInput",
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "ttlx",
|
field: "zgnytime",
|
||||||
label: "教师资格取得年月",
|
label: "教师资格取得年月",
|
||||||
component: "BasicDateTimes",
|
component: "BasicDateTimes",
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "ttlx",
|
field: "zgzctime",
|
||||||
label: "教师资格注册时间",
|
label: "教师资格注册时间",
|
||||||
component: "BasicDateTimes",
|
component: "BasicDateTimes",
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "ttlx",
|
title: "任职情况",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: "cgtime",
|
||||||
|
label: "参公时间",
|
||||||
|
component: "BasicDateTimes",
|
||||||
|
componentProps: {
|
||||||
|
change: (e: any) => {
|
||||||
|
const yearDiff = calculateYearDiff(e);
|
||||||
|
setValue({ jsgl: yearDiff });
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: "jsgl",
|
||||||
|
label: "工龄",
|
||||||
|
component: "BasicInput",
|
||||||
|
componentProps: {
|
||||||
|
disabled: true,
|
||||||
|
placeholder: "请选择参公时间",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: "jrdwtime",
|
||||||
|
label: "进入本单位时间",
|
||||||
|
component: "BasicDateTimes",
|
||||||
|
componentProps: {
|
||||||
|
change: (e: any) => {
|
||||||
|
const yearDiff = calculateYearDiff(e);
|
||||||
|
setValue({ jrdwnx: yearDiff });
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: "jrdwnx",
|
||||||
|
label: "进入本单位年限",
|
||||||
|
component: "BasicInput",
|
||||||
|
componentProps: {
|
||||||
|
placeholder: "请选择进入本单位时间",
|
||||||
|
disabled: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: "jsTime",
|
||||||
|
label: "教龄时间",
|
||||||
|
component: "BasicDateTimes",
|
||||||
|
componentProps: {
|
||||||
|
change: (e: any) => {
|
||||||
|
const yearDiff = calculateYearDiff(e);
|
||||||
|
setValue({ jl: yearDiff });
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: "jl",
|
||||||
|
label: "教龄",
|
||||||
|
component: "BasicInput",
|
||||||
|
componentProps: {
|
||||||
|
disabled: true,
|
||||||
|
placeholder: "请选择教龄时间",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
field: "jrly",
|
||||||
|
label: "进入来源",
|
||||||
|
component: "BasicInput",
|
||||||
|
componentProps: {},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: "bzqkId",
|
||||||
label: "编制情况",
|
label: "编制情况",
|
||||||
component: "BasicInput",
|
component: "BasicPicker",
|
||||||
componentProps: {},
|
componentProps: {
|
||||||
|
api: dicApi,
|
||||||
|
param: { pid: 290357612 },
|
||||||
|
rangeKey: "dictionaryValue",
|
||||||
|
savaKey: "dictionaryCode",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "ttlx",
|
field: "zdqkId",
|
||||||
label: "在岗情况",
|
label: "在岗情况",
|
||||||
component: "BasicInput",
|
component: "BasicPicker",
|
||||||
componentProps: {},
|
componentProps: {
|
||||||
|
api: dicApi,
|
||||||
|
param: { pid: 810984651 },
|
||||||
|
rangeKey: "dictionaryValue",
|
||||||
|
savaKey: "dictionaryCode",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "ttlx",
|
field: "fzgsj",
|
||||||
label: "非在岗时间",
|
label: "非在岗时间",
|
||||||
component: "BasicDateTimes",
|
component: "BasicDateTimes",
|
||||||
componentProps: {},
|
componentProps: {},
|
||||||
},
|
},
|
||||||
{
|
|
||||||
field: "ttlx",
|
|
||||||
label: "社保卡号",
|
|
||||||
component: "BasicInput",
|
|
||||||
componentProps: {},
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
|
setValue(getFile);
|
||||||
|
|
||||||
|
async function submit() {
|
||||||
function submit() {
|
try {
|
||||||
|
const value = await getValue();
|
||||||
|
setFile({ ...getFile, ...value, jsjg: jsjg.value });
|
||||||
navigateTo("/pages/view/hr/teacherProfile/TitleInfo");
|
navigateTo("/pages/view/hr/teacherProfile/TitleInfo");
|
||||||
|
} catch (error) {}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@ -1,23 +1,37 @@
|
|||||||
import { defineStore } from "pinia";
|
import { defineStore } from "pinia";
|
||||||
|
|
||||||
export const useDataStore = defineStore({
|
export const useDataStore = defineStore({
|
||||||
id: 'data',
|
id: "data",
|
||||||
state: () => ({
|
state: () => ({
|
||||||
data: {}
|
data: {},
|
||||||
|
global: {},
|
||||||
|
file: {},
|
||||||
}),
|
}),
|
||||||
getters: {
|
getters: {
|
||||||
getData(): any {
|
getData(): any {
|
||||||
return this.data
|
return this.data;
|
||||||
}
|
},
|
||||||
|
getGlobal(): any {
|
||||||
|
return this.global;
|
||||||
|
},
|
||||||
|
getFile(): any {
|
||||||
|
return this.file;
|
||||||
|
},
|
||||||
},
|
},
|
||||||
actions: {
|
actions: {
|
||||||
setData(data: any) {
|
setData(data: any) {
|
||||||
this.data = data
|
this.data = data;
|
||||||
}
|
},
|
||||||
|
setGlobal(data: any) {
|
||||||
|
this.global = data;
|
||||||
|
},
|
||||||
|
setFile(data: any) {
|
||||||
|
this.file = data;
|
||||||
|
},
|
||||||
},
|
},
|
||||||
persist: {
|
persist: {
|
||||||
enabled: true,
|
enabled: true,
|
||||||
detached: true,
|
detached: true,
|
||||||
H5Storage: localStorage
|
H5Storage: localStorage,
|
||||||
},
|
},
|
||||||
})
|
});
|
||||||
|
|||||||
@ -80,7 +80,7 @@ export const useUserStore = defineStore({
|
|||||||
if (value[AUTH_KEY]) {
|
if (value[AUTH_KEY]) {
|
||||||
this.setToken(value[AUTH_KEY])
|
this.setToken(value[AUTH_KEY])
|
||||||
}
|
}
|
||||||
authenticationApi({userId: value.userid}).then(({result}) => {
|
authenticationApi({userId: value.id}).then(({result}) => {
|
||||||
if (result) {
|
if (result) {
|
||||||
this.setAuth(result)
|
this.setAuth(result)
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user