a
This commit is contained in:
@@ -142,6 +142,16 @@ export const TURNOVER_AUDIT_STATUS_LIST = [
|
|||||||
{ label: "通过", value: "3" ,type: "success", icon: "CircleCheck"}
|
{ label: "通过", value: "3" ,type: "success", icon: "CircleCheck"}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
|
// 人事模块
|
||||||
|
// 专业审核状态选项(用于 AuditState 组件), 学历学位审核状态选项
|
||||||
|
import type { StateOption } from '/@/components/AuditState/index.vue'
|
||||||
|
export const PROFESSIONAL_AUDIT_STATE_OPTIONS: StateOption[] = [
|
||||||
|
{ value: '1', label: '已通过', type: 'success', icon: 'fa-solid fa-circle-check', effect: 'dark' },
|
||||||
|
{ value: '-2', label: '已驳回', type: 'danger', icon: 'fa-solid fa-circle-xmark', effect: 'dark' },
|
||||||
|
{ value: '0', label: '待审核', type: 'warning', icon: 'fa-regular fa-clock', effect: 'light' }
|
||||||
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据值从状态列表中获取配置项
|
* 根据值从状态列表中获取配置项
|
||||||
* @param statusList 状态列表
|
* @param statusList 状态列表
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd"
|
||||||
v-if="permissions.professional_professionalacademicqualificationsconfig_add">新 增
|
v-auth="'professional_professionalacademicqualificationsconfig_add'">新 增
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -34,14 +34,14 @@
|
|||||||
<el-table-column label="操作" width="150" align="center" fixed="right">
|
<el-table-column label="操作" width="150" align="center" fixed="right">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-button
|
||||||
v-if="permissions.professional_professionalacademicqualificationsconfig_edit"
|
v-auth="'professional_professionalacademicqualificationsconfig_edit'"
|
||||||
icon="edit-pen"
|
icon="edit-pen"
|
||||||
link
|
link
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="handleEdit(scope.row)">修改
|
@click="handleEdit(scope.row)">修改
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="permissions.professional_professionalacademicqualificationsconfig_del"
|
v-auth="'professional_professionalacademicqualificationsconfig_del'"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
<!-- 新增/编辑弹窗 -->
|
<!-- 新增/编辑弹窗 -->
|
||||||
<el-dialog
|
<el-dialog
|
||||||
v-model="dialogVisible"
|
v-model="dialogVisible"
|
||||||
:title="form.id ? '编辑' : '新增'"
|
:title="form.id ? '修改' : '新增'"
|
||||||
width="600px"
|
width="600px"
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
destroy-on-close
|
destroy-on-close
|
||||||
@@ -113,26 +113,12 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, computed } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
import { storeToRefs } from 'pinia'
|
|
||||||
import { useUserInfo } from '/@/stores/userInfo'
|
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { useMessage } from '/@/hooks/message'
|
import { useMessage } from '/@/hooks/message'
|
||||||
import { useMessageBox } from '/@/hooks/message'
|
import { useMessageBox } from '/@/hooks/message'
|
||||||
import { fetchList, addObj, putObj, delObj } from '/@/api/professional/rsbase/academicqualificationsconfig'
|
import { fetchList, addObj, putObj, delObj } from '/@/api/professional/rsbase/academicqualificationsconfig'
|
||||||
|
|
||||||
// 使用 Pinia store
|
|
||||||
const userInfoStore = useUserInfo()
|
|
||||||
const { userInfos } = storeToRefs(userInfoStore)
|
|
||||||
|
|
||||||
// 创建权限对象
|
|
||||||
const permissions = computed(() => {
|
|
||||||
const perms: Record<string, boolean> = {}
|
|
||||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
|
||||||
perms[perm] = true
|
|
||||||
})
|
|
||||||
return perms
|
|
||||||
})
|
|
||||||
|
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd"
|
||||||
v-if="permissions.professional_outercompany_add">新 增
|
v-auth="'professional_outercompany_add'">新 增
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -59,14 +59,14 @@
|
|||||||
<el-table-column label="操作" min-width="150" align="center" fixed="right">
|
<el-table-column label="操作" min-width="150" align="center" fixed="right">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-button
|
||||||
v-if="permissions.professional_outercompany_edit"
|
v-auth="'professional_outercompany_edit'"
|
||||||
icon="edit-pen"
|
icon="edit-pen"
|
||||||
link
|
link
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="handleEdit(scope.row)">修改
|
@click="handleEdit(scope.row)">修改
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="permissions.professional_outercompany_del"
|
v-auth="'professional_outercompany_del'"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@@ -86,7 +86,7 @@
|
|||||||
<!-- 新增/编辑弹窗 -->
|
<!-- 新增/编辑弹窗 -->
|
||||||
<el-dialog
|
<el-dialog
|
||||||
v-model="dialogVisible"
|
v-model="dialogVisible"
|
||||||
:title="form.id ? '编辑' : '新增'"
|
:title="form.id ? '修改' : '新增'"
|
||||||
width="600px"
|
width="600px"
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
destroy-on-close
|
destroy-on-close
|
||||||
@@ -140,26 +140,12 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, computed } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
import { storeToRefs } from 'pinia'
|
|
||||||
import { useUserInfo } from '/@/stores/userInfo'
|
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { useMessage } from '/@/hooks/message'
|
import { useMessage } from '/@/hooks/message'
|
||||||
import { useMessageBox } from '/@/hooks/message'
|
import { useMessageBox } from '/@/hooks/message'
|
||||||
import { fetchList, addObj, putObj, delObj, getObj } from '/@/api/professional/stayschool/outercompany'
|
import { fetchList, addObj, putObj, delObj, getObj } from '/@/api/professional/stayschool/outercompany'
|
||||||
|
|
||||||
// 使用 Pinia store
|
|
||||||
const userInfoStore = useUserInfo()
|
|
||||||
const { userInfos } = storeToRefs(userInfoStore)
|
|
||||||
|
|
||||||
// 创建权限对象
|
|
||||||
const permissions = computed(() => {
|
|
||||||
const perms: Record<string, boolean> = {}
|
|
||||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
|
||||||
perms[perm] = true
|
|
||||||
})
|
|
||||||
return perms
|
|
||||||
})
|
|
||||||
|
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd"
|
||||||
v-if="permissions.professional_outercompany_add">新 增
|
v-auth="'professional_outercompany_add'">新 增
|
||||||
</el-button>
|
</el-button>
|
||||||
<!-- <right-toolbar
|
<!-- <right-toolbar
|
||||||
v-model:showSearch="showSearch"
|
v-model:showSearch="showSearch"
|
||||||
@@ -65,14 +65,14 @@
|
|||||||
<el-table-column label="操作" min-width="150" align="center" fixed="right">
|
<el-table-column label="操作" min-width="150" align="center" fixed="right">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-button
|
||||||
v-if="permissions.professional_outercompany_edit"
|
v-auth="'professional_outercompany_edit'"
|
||||||
icon="edit-pen"
|
icon="edit-pen"
|
||||||
link
|
link
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="handleEdit(scope.row)">修改
|
@click="handleEdit(scope.row)">修改
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="permissions.professional_outercompany_del"
|
v-auth="'professional_outercompany_del'"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@@ -92,7 +92,7 @@
|
|||||||
<!-- 新增/编辑弹窗 -->
|
<!-- 新增/编辑弹窗 -->
|
||||||
<el-dialog
|
<el-dialog
|
||||||
v-model="dialogVisible"
|
v-model="dialogVisible"
|
||||||
:title="form.id ? '编辑' : '新增'"
|
:title="form.id ? '修改' : '新增'"
|
||||||
width="600px"
|
width="600px"
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
destroy-on-close
|
destroy-on-close
|
||||||
@@ -146,26 +146,12 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, computed } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
import { storeToRefs } from 'pinia'
|
|
||||||
import { useUserInfo } from '/@/stores/userInfo'
|
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { useMessage } from '/@/hooks/message'
|
import { useMessage } from '/@/hooks/message'
|
||||||
import { useMessageBox } from '/@/hooks/message'
|
import { useMessageBox } from '/@/hooks/message'
|
||||||
import { fetchList, addObj, putObj, delObj, getObj } from '/@/api/professional/stayschool/outercompany'
|
import { fetchList, addObj, putObj, delObj, getObj } from '/@/api/professional/stayschool/outercompany'
|
||||||
|
|
||||||
// 使用 Pinia store
|
|
||||||
const userInfoStore = useUserInfo()
|
|
||||||
const { userInfos } = storeToRefs(userInfoStore)
|
|
||||||
|
|
||||||
// 创建权限对象
|
|
||||||
const permissions = computed(() => {
|
|
||||||
const perms: Record<string, boolean> = {}
|
|
||||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
|
||||||
perms[perm] = true
|
|
||||||
})
|
|
||||||
return perms
|
|
||||||
})
|
|
||||||
|
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
|
|||||||
@@ -48,14 +48,14 @@
|
|||||||
<!-- <el-table-column label="操作" width="150" align="center" fixed="right">
|
<!-- <el-table-column label="操作" width="150" align="center" fixed="right">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-button
|
||||||
v-if="permissions.professional_outercompany_edit"
|
v-auth="'professional_outercompany_edit'"
|
||||||
icon="edit-pen"
|
icon="edit-pen"
|
||||||
text
|
text
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="handleEdit(scope.row)">修改
|
@click="handleEdit(scope.row)">修改
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="permissions.professional_outercompany_del"
|
v-auth="'professional_outercompany_del'"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
text
|
text
|
||||||
type="danger"
|
type="danger"
|
||||||
@@ -77,24 +77,10 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, computed } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
import { storeToRefs } from 'pinia'
|
|
||||||
import { useUserInfo } from '/@/stores/userInfo'
|
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { fetchList } from '/@/api/professional/stayschool/outercompany'
|
import { fetchList } from '/@/api/professional/stayschool/outercompany'
|
||||||
|
|
||||||
// 使用 Pinia store
|
|
||||||
const userInfoStore = useUserInfo()
|
|
||||||
const { userInfos } = storeToRefs(userInfoStore)
|
|
||||||
|
|
||||||
// 创建权限对象
|
|
||||||
const permissions = computed(() => {
|
|
||||||
const perms: Record<string, boolean> = {}
|
|
||||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
|
||||||
perms[perm] = true
|
|
||||||
})
|
|
||||||
return perms
|
|
||||||
})
|
|
||||||
|
|
||||||
// 表格引用
|
// 表格引用
|
||||||
const tableRef = ref()
|
const tableRef = ref()
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog
|
<el-dialog
|
||||||
v-model="visible"
|
v-model="visible"
|
||||||
:title="formData.id ? '编辑' : '新增'"
|
:title="formData.id ? '修改' : '新增'"
|
||||||
width="800px"
|
width="800px"
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
destroy-on-close
|
destroy-on-close
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog
|
<el-dialog
|
||||||
v-model="visible"
|
v-model="visible"
|
||||||
:title="formData.id ? '编辑' : '新增'"
|
:title="formData.id ? '修改' : '新增'"
|
||||||
width="800px"
|
width="800px"
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
destroy-on-close
|
destroy-on-close
|
||||||
|
|||||||
@@ -75,7 +75,7 @@
|
|||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd"
|
||||||
v-if="permissions.professional_outercompanyemployee_add">新 增
|
v-auth="'professional_outercompanyemployee_add'">新 增
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
@@ -152,21 +152,21 @@
|
|||||||
<el-table-column label="操作" width="250" align="center" fixed="right">
|
<el-table-column label="操作" width="250" align="center" fixed="right">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-button
|
||||||
v-if="permissions.professional_outercompanyemployee_edit"
|
v-auth="'professional_outercompanyemployee_edit'"
|
||||||
icon="edit-pen"
|
icon="edit-pen"
|
||||||
link
|
link
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="handleEdit(scope.row)">修改
|
@click="handleEdit(scope.row)">修改
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="permissions.professional_outercompanyemployee_reset_pw"
|
v-auth="'professional_outercompanyemployee_reset_pw'"
|
||||||
icon="RefreshLeft"
|
icon="RefreshLeft"
|
||||||
link
|
link
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="resetPassword(scope.row)">重置密码
|
@click="resetPassword(scope.row)">重置密码
|
||||||
</el-button>
|
</el-button>
|
||||||
<!-- <el-button
|
<!-- <el-button
|
||||||
v-if="permissions.professional_outercompanyemployee_del"
|
v-auth="'professional_outercompanyemployee_del'"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="primary"
|
type="primary"
|
||||||
@@ -230,18 +230,14 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, computed, onMounted } from 'vue'
|
import { ref, reactive, onMounted } from 'vue'
|
||||||
import { storeToRefs } from 'pinia'
|
|
||||||
import { useUserInfo } from '/@/stores/userInfo'
|
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { useMessage } from '/@/hooks/message'
|
import { useMessage } from '/@/hooks/message'
|
||||||
import { useMessageBox } from '/@/hooks/message'
|
import { useMessageBox } from '/@/hooks/message'
|
||||||
import { useDict } from '/@/hooks/dict'
|
import { useDict } from '/@/hooks/dict'
|
||||||
import { Session } from '/@/utils/storage'
|
|
||||||
import { validateNull } from '/@/utils/validate'
|
import { validateNull } from '/@/utils/validate'
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
import request from '/@/utils/request'
|
import request from '/@/utils/request'
|
||||||
import { Plus, Picture } from '@element-plus/icons-vue'
|
|
||||||
import {
|
import {
|
||||||
fetchList,
|
fetchList,
|
||||||
getObj,
|
getObj,
|
||||||
@@ -250,20 +246,7 @@ import {
|
|||||||
resetPassWord
|
resetPassWord
|
||||||
} from '/@/api/professional/stayschool/outercompanyemployee'
|
} from '/@/api/professional/stayschool/outercompanyemployee'
|
||||||
import { getList as getCompanyList } from '/@/api/professional/stayschool/outercompany'
|
import { getList as getCompanyList } from '/@/api/professional/stayschool/outercompany'
|
||||||
import FormDialog from './form.vue'
|
const FormDialog = defineAsyncComponent(() => import('./form.vue'))
|
||||||
|
|
||||||
// 使用 Pinia store
|
|
||||||
const userInfoStore = useUserInfo()
|
|
||||||
const { userInfos } = storeToRefs(userInfoStore)
|
|
||||||
|
|
||||||
// 创建权限对象
|
|
||||||
const permissions = computed(() => {
|
|
||||||
const perms: Record<string, boolean> = {}
|
|
||||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
|
||||||
perms[perm] = true
|
|
||||||
})
|
|
||||||
return perms
|
|
||||||
})
|
|
||||||
|
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
|
|||||||
@@ -81,7 +81,7 @@
|
|||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd"
|
||||||
v-if="permissions.professional_outercompanyemployee_add"
|
v-auth="'professional_outercompanyemployee_add'"
|
||||||
>
|
>
|
||||||
新 增
|
新 增
|
||||||
</el-button>
|
</el-button>
|
||||||
@@ -171,21 +171,21 @@
|
|||||||
<el-table-column label="操作" width="250" align="center" fixed="right">
|
<el-table-column label="操作" width="250" align="center" fixed="right">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-button
|
||||||
v-if="permissions.professional_outercompanyemployee_edit"
|
v-auth="'professional_outercompanyemployee_edit'"
|
||||||
icon="edit-pen"
|
icon="edit-pen"
|
||||||
link
|
link
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="handleEdit(scope.row)">修改
|
@click="handleEdit(scope.row)">修改
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="permissions.professional_outercompanyemployee_reset_pw"
|
v-auth="'professional_outercompanyemployee_reset_pw'"
|
||||||
icon="RefreshLeft"
|
icon="RefreshLeft"
|
||||||
link
|
link
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="resetPassword(scope.row)">重置密码
|
@click="resetPassword(scope.row)">重置密码
|
||||||
</el-button>
|
</el-button>
|
||||||
<!-- <el-button
|
<!-- <el-button
|
||||||
v-if="permissions.professional_outercompanyemployee_del"
|
v-auth="'professional_outercompanyemployee_del'"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="primary"
|
type="primary"
|
||||||
@@ -250,14 +250,11 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, computed, onMounted } from 'vue'
|
import { ref, reactive, onMounted } from 'vue'
|
||||||
import { storeToRefs } from 'pinia'
|
|
||||||
import { useUserInfo } from '/@/stores/userInfo'
|
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { useMessage } from '/@/hooks/message'
|
import { useMessage } from '/@/hooks/message'
|
||||||
import { useMessageBox } from '/@/hooks/message'
|
import { useMessageBox } from '/@/hooks/message'
|
||||||
import { useDict } from '/@/hooks/dict'
|
import { useDict } from '/@/hooks/dict'
|
||||||
import { Session } from '/@/utils/storage'
|
|
||||||
import { validateNull } from '/@/utils/validate'
|
import { validateNull } from '/@/utils/validate'
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
import request from '/@/utils/request'
|
import request from '/@/utils/request'
|
||||||
@@ -271,20 +268,7 @@ import {
|
|||||||
resetPassWord
|
resetPassWord
|
||||||
} from '/@/api/professional/stayschool/outercompanyemployee'
|
} from '/@/api/professional/stayschool/outercompanyemployee'
|
||||||
import { getList as getCompanyList } from '/@/api/professional/stayschool/outercompany'
|
import { getList as getCompanyList } from '/@/api/professional/stayschool/outercompany'
|
||||||
import FormDialog from './form.vue'
|
const FormDialog = defineAsyncComponent(() => import('./form.vue'))
|
||||||
|
|
||||||
// 使用 Pinia store
|
|
||||||
const userInfoStore = useUserInfo()
|
|
||||||
const { userInfos } = storeToRefs(userInfoStore)
|
|
||||||
|
|
||||||
// 创建权限对象
|
|
||||||
const permissions = computed(() => {
|
|
||||||
const perms: Record<string, boolean> = {}
|
|
||||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
|
||||||
perms[perm] = true
|
|
||||||
})
|
|
||||||
return perms
|
|
||||||
})
|
|
||||||
|
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd"
|
||||||
v-if="permissions.professional_professionalacademicdegreeconfig_add">新 增
|
v-auth="'professional_professionalacademicdegreeconfig_add'">新 增
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -35,14 +35,14 @@
|
|||||||
<el-table-column label="操作" width="150" align="center" fixed="right">
|
<el-table-column label="操作" width="150" align="center" fixed="right">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-button
|
||||||
v-if="permissions.professional_professionalacademicdegreeconfig_edit"
|
v-auth="'professional_professionalacademicdegreeconfig_edit'"
|
||||||
icon="edit-pen"
|
icon="edit-pen"
|
||||||
link
|
link
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="handleEdit(scope.row)">修改
|
@click="handleEdit(scope.row)">修改
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="permissions.professional_professionalacademicdegreeconfig_del"
|
v-auth="'professional_professionalacademicdegreeconfig_del'"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@@ -63,7 +63,7 @@
|
|||||||
<!-- 新增/编辑弹窗 -->
|
<!-- 新增/编辑弹窗 -->
|
||||||
<el-dialog
|
<el-dialog
|
||||||
v-model="dialogVisible"
|
v-model="dialogVisible"
|
||||||
:title="form.id ? '编辑' : '新增'"
|
:title="form.id ? '修改' : '新增'"
|
||||||
width="600px"
|
width="600px"
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
destroy-on-close
|
destroy-on-close
|
||||||
@@ -114,27 +114,12 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, computed } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
import { storeToRefs } from 'pinia'
|
|
||||||
import { useUserInfo } from '/@/stores/userInfo'
|
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { useMessage } from '/@/hooks/message'
|
import { useMessage } from '/@/hooks/message'
|
||||||
import { useMessageBox } from '/@/hooks/message'
|
import { useMessageBox } from '/@/hooks/message'
|
||||||
import { fetchList, addObj, putObj, delObj } from '/@/api/professional/rsbase/professionalacademicdegreeconfig'
|
import { fetchList, addObj, putObj, delObj } from '/@/api/professional/rsbase/professionalacademicdegreeconfig'
|
||||||
|
|
||||||
// 使用 Pinia store
|
|
||||||
const userInfoStore = useUserInfo()
|
|
||||||
const { userInfos } = storeToRefs(userInfoStore)
|
|
||||||
|
|
||||||
// 创建权限对象
|
|
||||||
const permissions = computed(() => {
|
|
||||||
const perms: Record<string, boolean> = {}
|
|
||||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
|
||||||
perms[perm] = true
|
|
||||||
})
|
|
||||||
return perms
|
|
||||||
})
|
|
||||||
|
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd"
|
||||||
v-if="permissions.professional_professionalacademiceducationtypeconfig_add">新 增
|
v-auth="'professional_professionalacademiceducationtypeconfig_add'">新 增
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -35,14 +35,14 @@
|
|||||||
<el-table-column label="操作" width="150" align="center" fixed="right">
|
<el-table-column label="操作" width="150" align="center" fixed="right">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-button
|
||||||
v-if="permissions.professional_professionalacademiceducationtypeconfig_edit"
|
v-auth="'professional_professionalacademiceducationtypeconfig_edit'"
|
||||||
icon="edit-pen"
|
icon="edit-pen"
|
||||||
link
|
link
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="handleEdit(scope.row)">修改
|
@click="handleEdit(scope.row)">修改
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="permissions.professional_professionalacademiceducationtypeconfig_del"
|
v-auth="'professional_professionalacademiceducationtypeconfig_del'"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@@ -63,7 +63,7 @@
|
|||||||
<!-- 新增/编辑弹窗 -->
|
<!-- 新增/编辑弹窗 -->
|
||||||
<el-dialog
|
<el-dialog
|
||||||
v-model="dialogVisible"
|
v-model="dialogVisible"
|
||||||
:title="form.id ? '编辑' : '新增'"
|
:title="form.id ? '修改' : '新增'"
|
||||||
width="600px"
|
width="600px"
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
destroy-on-close
|
destroy-on-close
|
||||||
@@ -114,27 +114,12 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, computed } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
import { storeToRefs } from 'pinia'
|
|
||||||
import { useUserInfo } from '/@/stores/userInfo'
|
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { useMessage } from '/@/hooks/message'
|
import { useMessage } from '/@/hooks/message'
|
||||||
import { useMessageBox } from '/@/hooks/message'
|
import { useMessageBox } from '/@/hooks/message'
|
||||||
import { fetchList, addObj, putObj, delObj } from '/@/api/professional/rsbase/professionalacademiceducationtypeconfig'
|
import { fetchList, addObj, putObj, delObj } from '/@/api/professional/rsbase/professionalacademiceducationtypeconfig'
|
||||||
|
|
||||||
// 使用 Pinia store
|
|
||||||
const userInfoStore = useUserInfo()
|
|
||||||
const { userInfos } = storeToRefs(userInfoStore)
|
|
||||||
|
|
||||||
// 创建权限对象
|
|
||||||
const permissions = computed(() => {
|
|
||||||
const perms: Record<string, boolean> = {}
|
|
||||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
|
||||||
perms[perm] = true
|
|
||||||
})
|
|
||||||
return perms
|
|
||||||
})
|
|
||||||
|
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd"
|
||||||
v-if="permissions.professional_professionalatstation_add">新 增
|
v-auth="'professional_professionalatstation_add'">新 增
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -35,14 +35,14 @@
|
|||||||
<el-table-column label="操作" width="150" align="center" fixed="right">
|
<el-table-column label="操作" width="150" align="center" fixed="right">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-button
|
||||||
v-if="permissions.professional_professionalatstation_edit"
|
v-auth="'professional_professionalatstation_edit'"
|
||||||
icon="edit-pen"
|
icon="edit-pen"
|
||||||
link
|
link
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="handleEdit(scope.row)">修改
|
@click="handleEdit(scope.row)">修改
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="permissions.professional_professionalatstation_del"
|
v-auth="'professional_professionalatstation_del'"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@@ -63,7 +63,7 @@
|
|||||||
<!-- 新增/编辑弹窗 -->
|
<!-- 新增/编辑弹窗 -->
|
||||||
<el-dialog
|
<el-dialog
|
||||||
v-model="dialogVisible"
|
v-model="dialogVisible"
|
||||||
:title="form.id ? '编辑' : '新增'"
|
:title="form.id ? '修改' : '新增'"
|
||||||
width="600px"
|
width="600px"
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
destroy-on-close
|
destroy-on-close
|
||||||
@@ -114,27 +114,12 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, computed } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
import { storeToRefs } from 'pinia'
|
|
||||||
import { useUserInfo } from '/@/stores/userInfo'
|
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { useMessage } from '/@/hooks/message'
|
import { useMessage } from '/@/hooks/message'
|
||||||
import { useMessageBox } from '/@/hooks/message'
|
import { useMessageBox } from '/@/hooks/message'
|
||||||
import { fetchList, addObj, putObj, delObj } from '/@/api/professional/rsbase/professionalatstation'
|
import { fetchList, addObj, putObj, delObj } from '/@/api/professional/rsbase/professionalatstation'
|
||||||
|
|
||||||
// 使用 Pinia store
|
|
||||||
const userInfoStore = useUserInfo()
|
|
||||||
const { userInfos } = storeToRefs(userInfoStore)
|
|
||||||
|
|
||||||
// 创建权限对象
|
|
||||||
const permissions = computed(() => {
|
|
||||||
const perms: Record<string, boolean> = {}
|
|
||||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
|
||||||
perms[perm] = true
|
|
||||||
})
|
|
||||||
return perms
|
|
||||||
})
|
|
||||||
|
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd"
|
||||||
v-if="permissions.professional_professionalemploymentnature_add">新 增
|
v-auth="'professional_professionalemploymentnature_add'">新 增
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -35,14 +35,14 @@
|
|||||||
<el-table-column label="操作" width="150" align="center" fixed="right">
|
<el-table-column label="操作" width="150" align="center" fixed="right">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-button
|
||||||
v-if="permissions.professional_professionalemploymentnature_edit"
|
v-auth="'professional_professionalemploymentnature_edit'"
|
||||||
icon="edit-pen"
|
icon="edit-pen"
|
||||||
link
|
link
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="handleEdit(scope.row)">修改
|
@click="handleEdit(scope.row)">修改
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="permissions.professional_professionalemploymentnature_del"
|
v-auth="'professional_professionalemploymentnature_del'"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@@ -63,7 +63,7 @@
|
|||||||
<!-- 新增/编辑弹窗 -->
|
<!-- 新增/编辑弹窗 -->
|
||||||
<el-dialog
|
<el-dialog
|
||||||
v-model="dialogVisible"
|
v-model="dialogVisible"
|
||||||
:title="form.id ? '编辑' : '新增'"
|
:title="form.id ? '修改' : '新增'"
|
||||||
width="600px"
|
width="600px"
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
destroy-on-close
|
destroy-on-close
|
||||||
@@ -114,27 +114,12 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, computed } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
import { storeToRefs } from 'pinia'
|
|
||||||
import { useUserInfo } from '/@/stores/userInfo'
|
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { useMessage } from '/@/hooks/message'
|
import { useMessage } from '/@/hooks/message'
|
||||||
import { useMessageBox } from '/@/hooks/message'
|
import { useMessageBox } from '/@/hooks/message'
|
||||||
import { fetchList, addObj, putObj, delObj } from '/@/api/professional/rsbase/professionalemploymentnature'
|
import { fetchList, addObj, putObj, delObj } from '/@/api/professional/rsbase/professionalemploymentnature'
|
||||||
|
|
||||||
// 使用 Pinia store
|
|
||||||
const userInfoStore = useUserInfo()
|
|
||||||
const { userInfos } = storeToRefs(userInfoStore)
|
|
||||||
|
|
||||||
// 创建权限对象
|
|
||||||
const permissions = computed(() => {
|
|
||||||
const perms: Record<string, boolean> = {}
|
|
||||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
|
||||||
perms[perm] = true
|
|
||||||
})
|
|
||||||
return perms
|
|
||||||
})
|
|
||||||
|
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd"
|
||||||
v-if="permissions.professional_professionalmajorstation_add">新 增
|
v-auth="'professional_professionalmajorstation_add'">新 增
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -35,14 +35,14 @@
|
|||||||
<el-table-column label="操作" width="150" align="center" fixed="right">
|
<el-table-column label="操作" width="150" align="center" fixed="right">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-button
|
||||||
v-if="permissions.professional_professionalmajorstation_edit"
|
v-auth="'professional_professionalmajorstation_edit'"
|
||||||
icon="edit-pen"
|
icon="edit-pen"
|
||||||
link
|
link
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="handleEdit(scope.row)">修改
|
@click="handleEdit(scope.row)">修改
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="permissions.professional_professionalmajorstation_del"
|
v-auth="'professional_professionalmajorstation_del'"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@@ -63,7 +63,7 @@
|
|||||||
<!-- 新增/编辑弹窗 -->
|
<!-- 新增/编辑弹窗 -->
|
||||||
<el-dialog
|
<el-dialog
|
||||||
v-model="dialogVisible"
|
v-model="dialogVisible"
|
||||||
:title="form.id ? '编辑' : '新增'"
|
:title="form.id ? '修改' : '新增'"
|
||||||
width="600px"
|
width="600px"
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
destroy-on-close
|
destroy-on-close
|
||||||
@@ -114,27 +114,12 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, computed } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
import { storeToRefs } from 'pinia'
|
|
||||||
import { useUserInfo } from '/@/stores/userInfo'
|
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { useMessage } from '/@/hooks/message'
|
import { useMessage } from '/@/hooks/message'
|
||||||
import { useMessageBox } from '/@/hooks/message'
|
import { useMessageBox } from '/@/hooks/message'
|
||||||
import { fetchList, addObj, putObj, delObj } from '/@/api/professional/rsbase/professionalmajorstation'
|
import { fetchList, addObj, putObj, delObj } from '/@/api/professional/rsbase/professionalmajorstation'
|
||||||
|
|
||||||
// 使用 Pinia store
|
|
||||||
const userInfoStore = useUserInfo()
|
|
||||||
const { userInfos } = storeToRefs(userInfoStore)
|
|
||||||
|
|
||||||
// 创建权限对象
|
|
||||||
const permissions = computed(() => {
|
|
||||||
const perms: Record<string, boolean> = {}
|
|
||||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
|
||||||
perms[perm] = true
|
|
||||||
})
|
|
||||||
return perms
|
|
||||||
})
|
|
||||||
|
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd"
|
||||||
v-if="permissions.professional_professionalpaperconfig_add">新 增
|
v-auth="'professional_professionalpaperconfig_add'">新 增
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -35,14 +35,14 @@
|
|||||||
<el-table-column label="操作" width="150" align="center" fixed="right">
|
<el-table-column label="操作" width="150" align="center" fixed="right">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-button
|
||||||
v-if="permissions.professional_professionalpaperconfig_edit"
|
v-auth="'professional_professionalpaperconfig_edit'"
|
||||||
icon="edit-pen"
|
icon="edit-pen"
|
||||||
link
|
link
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="handleEdit(scope.row)">修改
|
@click="handleEdit(scope.row)">修改
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="permissions.professional_professionalpaperconfig_del"
|
v-auth="'professional_professionalpaperconfig_del'"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@@ -63,7 +63,7 @@
|
|||||||
<!-- 新增/编辑弹窗 -->
|
<!-- 新增/编辑弹窗 -->
|
||||||
<el-dialog
|
<el-dialog
|
||||||
v-model="dialogVisible"
|
v-model="dialogVisible"
|
||||||
:title="form.id ? '编辑' : '新增'"
|
:title="form.id ? '修改' : '新增'"
|
||||||
width="600px"
|
width="600px"
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
destroy-on-close
|
destroy-on-close
|
||||||
@@ -114,27 +114,12 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, computed } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
import { storeToRefs } from 'pinia'
|
|
||||||
import { useUserInfo } from '/@/stores/userInfo'
|
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { useMessage } from '/@/hooks/message'
|
import { useMessage } from '/@/hooks/message'
|
||||||
import { useMessageBox } from '/@/hooks/message'
|
import { useMessageBox } from '/@/hooks/message'
|
||||||
import { fetchList, addObj, putObj, delObj } from '/@/api/professional/rsbase/professionalpaperconfig'
|
import { fetchList, addObj, putObj, delObj } from '/@/api/professional/rsbase/professionalpaperconfig'
|
||||||
|
|
||||||
// 使用 Pinia store
|
|
||||||
const userInfoStore = useUserInfo()
|
|
||||||
const { userInfos } = storeToRefs(userInfoStore)
|
|
||||||
|
|
||||||
// 创建权限对象
|
|
||||||
const permissions = computed(() => {
|
|
||||||
const perms: Record<string, boolean> = {}
|
|
||||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
|
||||||
perms[perm] = true
|
|
||||||
})
|
|
||||||
return perms
|
|
||||||
})
|
|
||||||
|
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
@@ -235,7 +220,7 @@ const handleSubmit = async () => {
|
|||||||
getDataList()
|
getDataList()
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
// 处理业务错误
|
// 处理业务错误
|
||||||
message.error(error.msg)
|
|
||||||
} finally {
|
} finally {
|
||||||
submitLoading.value = false
|
submitLoading.value = false
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd"
|
||||||
v-if="permissions.professional_professionalpartybranch_add">新 增
|
v-auth="'professional_professionalpartybranch_add'">新 增
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -38,14 +38,14 @@
|
|||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
icon="Edit"
|
icon="Edit"
|
||||||
v-if="permissions.professional_professionalpartybranch_edit"
|
v-auth="'professional_professionalpartybranch_edit'"
|
||||||
@click="handleEdit(scope.row)">编辑
|
@click="handleEdit(scope.row)">编辑
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
type="danger"
|
type="danger"
|
||||||
link
|
link
|
||||||
icon="Delete"
|
icon="Delete"
|
||||||
v-if="permissions.professional_professionalpartybranch_del"
|
v-auth="'professional_professionalpartybranch_del'"
|
||||||
@click="handleDel(scope.row)">删除
|
@click="handleDel(scope.row)">删除
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
<!-- 新增/编辑弹窗 -->
|
<!-- 新增/编辑弹窗 -->
|
||||||
<el-dialog
|
<el-dialog
|
||||||
v-model="dialogVisible"
|
v-model="dialogVisible"
|
||||||
:title="form.id ? '编辑' : '新增'"
|
:title="form.id ? '修改' : '新增'"
|
||||||
width="600px"
|
width="600px"
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
destroy-on-close
|
destroy-on-close
|
||||||
@@ -113,27 +113,12 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, computed } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
import { storeToRefs } from 'pinia'
|
|
||||||
import { useUserInfo } from '/@/stores/userInfo'
|
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { useMessage } from '/@/hooks/message'
|
import { useMessage } from '/@/hooks/message'
|
||||||
import { useMessageBox } from '/@/hooks/message'
|
import { useMessageBox } from '/@/hooks/message'
|
||||||
import { fetchList, addObj, putObj, delObj } from '/@/api/professional/rsbase/professionalpartybranch'
|
import { fetchList, addObj, putObj, delObj } from '/@/api/professional/rsbase/professionalpartybranch'
|
||||||
|
|
||||||
// 使用 Pinia store
|
|
||||||
const userInfoStore = useUserInfo()
|
|
||||||
const { userInfos } = storeToRefs(userInfoStore)
|
|
||||||
|
|
||||||
// 创建权限对象
|
|
||||||
const permissions = computed(() => {
|
|
||||||
const perms: Record<string, boolean> = {}
|
|
||||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
|
||||||
perms[perm] = true
|
|
||||||
})
|
|
||||||
return perms
|
|
||||||
})
|
|
||||||
|
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
@@ -234,7 +219,7 @@ const handleSubmit = async () => {
|
|||||||
getDataList()
|
getDataList()
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
// 处理业务错误
|
// 处理业务错误
|
||||||
message.error(error.msg)
|
|
||||||
} finally {
|
} finally {
|
||||||
submitLoading.value = false
|
submitLoading.value = false
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd"
|
||||||
v-if="permissions.professional_professionalqualificationconfig_add">新 增
|
v-auth="'professional_professionalqualificationconfig_add'">新 增
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -35,14 +35,14 @@
|
|||||||
<el-table-column label="操作" width="150" align="center" fixed="right">
|
<el-table-column label="操作" width="150" align="center" fixed="right">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-button
|
||||||
v-if="permissions.professional_professionalqualificationconfig_edit"
|
v-auth="'professional_professionalqualificationconfig_edit'"
|
||||||
icon="edit-pen"
|
icon="edit-pen"
|
||||||
link
|
link
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="handleEdit(scope.row)">修改
|
@click="handleEdit(scope.row)">修改
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="permissions.professional_professionalqualificationconfig_del"
|
v-auth="'professional_professionalqualificationconfig_del'"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@@ -63,7 +63,7 @@
|
|||||||
<!-- 新增/编辑弹窗 -->
|
<!-- 新增/编辑弹窗 -->
|
||||||
<el-dialog
|
<el-dialog
|
||||||
v-model="dialogVisible"
|
v-model="dialogVisible"
|
||||||
:title="form.id ? '编辑' : '新增'"
|
:title="form.id ? '修改' : '新增'"
|
||||||
width="600px"
|
width="600px"
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
destroy-on-close
|
destroy-on-close
|
||||||
@@ -114,27 +114,12 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, computed } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
import { storeToRefs } from 'pinia'
|
|
||||||
import { useUserInfo } from '/@/stores/userInfo'
|
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { useMessage } from '/@/hooks/message'
|
import { useMessage } from '/@/hooks/message'
|
||||||
import { useMessageBox } from '/@/hooks/message'
|
import { useMessageBox } from '/@/hooks/message'
|
||||||
import { fetchList, addObj, putObj, delObj } from '/@/api/professional/rsbase/professionalqualificationconfig'
|
import { fetchList, addObj, putObj, delObj } from '/@/api/professional/rsbase/professionalqualificationconfig'
|
||||||
|
|
||||||
// 使用 Pinia store
|
|
||||||
const userInfoStore = useUserInfo()
|
|
||||||
const { userInfos } = storeToRefs(userInfoStore)
|
|
||||||
|
|
||||||
// 创建权限对象
|
|
||||||
const permissions = computed(() => {
|
|
||||||
const perms: Record<string, boolean> = {}
|
|
||||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
|
||||||
perms[perm] = true
|
|
||||||
})
|
|
||||||
return perms
|
|
||||||
})
|
|
||||||
|
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
@@ -235,7 +220,7 @@ const handleSubmit = async () => {
|
|||||||
getDataList()
|
getDataList()
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
// 处理业务错误
|
// 处理业务错误
|
||||||
message.error(error.msg)
|
|
||||||
} finally {
|
} finally {
|
||||||
submitLoading.value = false
|
submitLoading.value = false
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog v-model="dialogVisible" title="编辑职业资格" width="600px" append-to-body :close-on-click-modal="false" destroy-on-close>
|
<el-dialog v-model="dialogVisible" title="修改职业资格" width="600px" append-to-body :close-on-click-modal="false" destroy-on-close>
|
||||||
<div v-if="showForm">
|
<div v-if="showForm">
|
||||||
<el-form
|
<el-form
|
||||||
ref="formRef"
|
ref="formRef"
|
||||||
|
|||||||
@@ -59,13 +59,13 @@
|
|||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd"
|
||||||
v-if="permissions.professional_professionalqualificationrelation_add">新 增
|
v-auth="'professional_professionalqualificationrelation_add'">新 增
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
type="warning"
|
type="warning"
|
||||||
plain
|
plain
|
||||||
icon="Download"
|
icon="Download"
|
||||||
v-if="permissions.professional_teacherbase_export"
|
v-auth="'professional_teacherbase_export'"
|
||||||
@click="handleDownLoadWord"
|
@click="handleDownLoadWord"
|
||||||
:loading="exportLoading">导出信息
|
:loading="exportLoading">导出信息
|
||||||
</el-button>
|
</el-button>
|
||||||
@@ -127,31 +127,34 @@
|
|||||||
<el-table-column label="操作" width="280" align="center" fixed="right">
|
<el-table-column label="操作" width="280" align="center" fixed="right">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-button
|
||||||
|
v-auth="'professional_professionalqualificationrelation_edit'"
|
||||||
|
v-if="scope.row.state === '0' || scope.row.state === '-2'"
|
||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
icon="edit-pen"
|
icon="edit-pen"
|
||||||
v-if="permissions.professional_professionalqualificationrelation_edit && (scope.row.state === '0' || scope.row.state === '-2')"
|
@click="handleEdit(scope.row)">修改
|
||||||
@click="handleEdit(scope.row)">编辑
|
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-auth="'professional_professionalqualificationrelation_exam'"
|
||||||
|
v-if="scope.row.state === '0'"
|
||||||
type="success"
|
type="success"
|
||||||
link
|
link
|
||||||
icon="CircleCheck"
|
icon="CircleCheck"
|
||||||
v-if="permissions.professional_professionalqualificationrelation_exam && scope.row.state === '0'"
|
|
||||||
@click="changeState(scope.row, 1)">通过
|
@click="changeState(scope.row, 1)">通过
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-auth="'professional_professionalqualificationrelation_exam'"
|
||||||
|
v-if="scope.row.state === '0' || scope.row.state === '1'"
|
||||||
type="danger"
|
type="danger"
|
||||||
link
|
link
|
||||||
icon="CircleClose"
|
icon="CircleClose"
|
||||||
v-if="permissions.professional_professionalqualificationrelation_exam && (scope.row.state === '0' || scope.row.state === '1')"
|
|
||||||
@click="changeState(scope.row, -2)">驳回
|
@click="changeState(scope.row, -2)">驳回
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-auth="'professional_professionalqualificationrelation_del'"
|
||||||
type="danger"
|
type="danger"
|
||||||
link
|
link
|
||||||
icon="delete"
|
icon="delete"
|
||||||
v-if="permissions.professional_professionalqualificationrelation_del"
|
|
||||||
style="margin-left: 12px"
|
style="margin-left: 12px"
|
||||||
@click="handleDel(scope.row)">删除
|
@click="handleDel(scope.row)">删除
|
||||||
</el-button>
|
</el-button>
|
||||||
@@ -182,9 +185,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, computed, onMounted, nextTick } from 'vue'
|
import { ref, reactive, onMounted, nextTick } from 'vue'
|
||||||
import { storeToRefs } from 'pinia'
|
|
||||||
import { useUserInfo } from '/@/stores/userInfo'
|
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { useMessage } from '/@/hooks/message'
|
import { useMessage } from '/@/hooks/message'
|
||||||
import { useMessageBox } from '/@/hooks/message'
|
import { useMessageBox } from '/@/hooks/message'
|
||||||
@@ -197,6 +198,7 @@ import {
|
|||||||
} from '/@/api/professional/professionaluser/professionalqualificationrelation'
|
} from '/@/api/professional/professionaluser/professionalqualificationrelation'
|
||||||
import { getLevelList } from '/@/api/professional/rsbase/professionalqualificationconfig'
|
import { getLevelList } from '/@/api/professional/rsbase/professionalqualificationconfig'
|
||||||
import { getWorkTypeList } from '/@/api/professional/rsbase/professionalworktype'
|
import { getWorkTypeList } from '/@/api/professional/rsbase/professionalworktype'
|
||||||
|
import { PROFESSIONAL_AUDIT_STATE_OPTIONS } from '/@/config/global'
|
||||||
import { defineAsyncComponent } from 'vue'
|
import { defineAsyncComponent } from 'vue'
|
||||||
const TeacherNameNo = defineAsyncComponent(() => import('/@/components/TeacherNameNo/index.vue'))
|
const TeacherNameNo = defineAsyncComponent(() => import('/@/components/TeacherNameNo/index.vue'))
|
||||||
const AuditState = defineAsyncComponent(() => import('/@/components/AuditState/index.vue'))
|
const AuditState = defineAsyncComponent(() => import('/@/components/AuditState/index.vue'))
|
||||||
@@ -204,26 +206,9 @@ const DataForm = defineAsyncComponent(() => import('./form.vue'))
|
|||||||
const ProfessionalBackResaon = defineAsyncComponent(() => import('/@/views/professional/common/professional-back-resaon.vue'))
|
const ProfessionalBackResaon = defineAsyncComponent(() => import('/@/views/professional/common/professional-back-resaon.vue'))
|
||||||
const previewFile = defineAsyncComponent(() => import('/@/components/tools/preview-file.vue'))
|
const previewFile = defineAsyncComponent(() => import('/@/components/tools/preview-file.vue'))
|
||||||
|
|
||||||
// 审核状态选项(独立定义,防止其他页面修改时被波及)
|
// 审核状态选项
|
||||||
import type { StateOption } from '/@/components/AuditState/index.vue'
|
const auditStateOptions = PROFESSIONAL_AUDIT_STATE_OPTIONS
|
||||||
const auditStateOptions: StateOption[] = [
|
|
||||||
{ value: '1', label: '已通过', type: 'success', icon: 'fa-solid fa-circle-check', effect: 'dark' },
|
|
||||||
{ value: '-2', label: '已驳回', type: 'danger', icon: 'fa-solid fa-circle-xmark', effect: 'dark' },
|
|
||||||
{ value: '0', label: '待审核', type: 'warning', icon: 'fa-regular fa-clock', effect: 'light' }
|
|
||||||
]
|
|
||||||
|
|
||||||
// 使用 Pinia store
|
|
||||||
const userInfoStore = useUserInfo()
|
|
||||||
const { userInfos } = storeToRefs(userInfoStore)
|
|
||||||
|
|
||||||
// 创建权限对象
|
|
||||||
const permissions = computed(() => {
|
|
||||||
const perms: Record<string, boolean> = {}
|
|
||||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
|
||||||
perms[perm] = true
|
|
||||||
})
|
|
||||||
return perms
|
|
||||||
})
|
|
||||||
|
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
@@ -357,7 +342,7 @@ const handleDel = (row: any) => {
|
|||||||
getDataList()
|
getDataList()
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
// 处理业务错误
|
// 处理业务错误
|
||||||
message.error(error.msg)
|
|
||||||
}
|
}
|
||||||
}).catch(() => {})
|
}).catch(() => {})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd"
|
||||||
v-if="permissions.professional_professionalstationdutylevel_add">新 增
|
v-auth="'professional_professionalstationdutylevel_add'">新 增
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -35,14 +35,14 @@
|
|||||||
<el-table-column label="操作" width="150" align="center" fixed="right">
|
<el-table-column label="操作" width="150" align="center" fixed="right">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-button
|
||||||
v-if="permissions.professional_professionalstationdutylevel_edit"
|
v-auth="'professional_professionalstationdutylevel_edit'"
|
||||||
icon="edit-pen"
|
icon="edit-pen"
|
||||||
link
|
link
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="handleEdit(scope.row)">修改
|
@click="handleEdit(scope.row)">修改
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="permissions.professional_professionalstationdutylevel_del"
|
v-auth="'professional_professionalstationdutylevel_del'"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@@ -63,7 +63,7 @@
|
|||||||
<!-- 新增/编辑弹窗 -->
|
<!-- 新增/编辑弹窗 -->
|
||||||
<el-dialog
|
<el-dialog
|
||||||
v-model="dialogVisible"
|
v-model="dialogVisible"
|
||||||
:title="form.id ? '编辑' : '新增'"
|
:title="form.id ? '修改' : '新增'"
|
||||||
width="600px"
|
width="600px"
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
destroy-on-close
|
destroy-on-close
|
||||||
@@ -114,27 +114,12 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, computed } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
import { storeToRefs } from 'pinia'
|
|
||||||
import { useUserInfo } from '/@/stores/userInfo'
|
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { useMessage } from '/@/hooks/message'
|
import { useMessage } from '/@/hooks/message'
|
||||||
import { useMessageBox } from '/@/hooks/message'
|
import { useMessageBox } from '/@/hooks/message'
|
||||||
import { fetchList, addObj, putObj, delObj } from '/@/api/professional/rsbase/professionalstationdutylevel'
|
import { fetchList, addObj, putObj, delObj } from '/@/api/professional/rsbase/professionalstationdutylevel'
|
||||||
|
|
||||||
// 使用 Pinia store
|
|
||||||
const userInfoStore = useUserInfo()
|
|
||||||
const { userInfos } = storeToRefs(userInfoStore)
|
|
||||||
|
|
||||||
// 创建权限对象
|
|
||||||
const permissions = computed(() => {
|
|
||||||
const perms: Record<string, boolean> = {}
|
|
||||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
|
||||||
perms[perm] = true
|
|
||||||
})
|
|
||||||
return perms
|
|
||||||
})
|
|
||||||
|
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
@@ -235,7 +220,6 @@ const handleSubmit = async () => {
|
|||||||
getDataList()
|
getDataList()
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
// 处理业务错误
|
// 处理业务错误
|
||||||
message.error(error.msg)
|
|
||||||
} finally {
|
} finally {
|
||||||
submitLoading.value = false
|
submitLoading.value = false
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd"
|
||||||
v-if="permissions.professional_professionalstationtype_add">新 增
|
v-auth="'professional_professionalstationtype_add'">新 增
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -35,14 +35,14 @@
|
|||||||
<el-table-column label="操作" width="150" align="center" fixed="right">
|
<el-table-column label="操作" width="150" align="center" fixed="right">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-button
|
||||||
v-if="permissions.professional_professionalstationtype_edit"
|
v-auth="'professional_professionalstationtype_edit'"
|
||||||
icon="edit-pen"
|
icon="edit-pen"
|
||||||
link
|
link
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="handleEdit(scope.row)">修改
|
@click="handleEdit(scope.row)">修改
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="permissions.professional_professionalstationtype_del"
|
v-auth="'professional_professionalstationtype_del'"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@@ -63,7 +63,7 @@
|
|||||||
<!-- 新增/编辑弹窗 -->
|
<!-- 新增/编辑弹窗 -->
|
||||||
<el-dialog
|
<el-dialog
|
||||||
v-model="dialogVisible"
|
v-model="dialogVisible"
|
||||||
:title="form.id ? '编辑' : '新增'"
|
:title="form.id ? '修改' : '新增'"
|
||||||
width="600px"
|
width="600px"
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
destroy-on-close
|
destroy-on-close
|
||||||
@@ -114,27 +114,12 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, computed } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
import { storeToRefs } from 'pinia'
|
|
||||||
import { useUserInfo } from '/@/stores/userInfo'
|
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { useMessage } from '/@/hooks/message'
|
import { useMessage } from '/@/hooks/message'
|
||||||
import { useMessageBox } from '/@/hooks/message'
|
import { useMessageBox } from '/@/hooks/message'
|
||||||
import { fetchList, addObj, putObj, delObj } from '/@/api/professional/rsbase/professionalstationtype'
|
import { fetchList, addObj, putObj, delObj } from '/@/api/professional/rsbase/professionalstationtype'
|
||||||
|
|
||||||
// 使用 Pinia store
|
|
||||||
const userInfoStore = useUserInfo()
|
|
||||||
const { userInfos } = storeToRefs(userInfoStore)
|
|
||||||
|
|
||||||
// 创建权限对象
|
|
||||||
const permissions = computed(() => {
|
|
||||||
const perms: Record<string, boolean> = {}
|
|
||||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
|
||||||
perms[perm] = true
|
|
||||||
})
|
|
||||||
return perms
|
|
||||||
})
|
|
||||||
|
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
@@ -235,7 +220,6 @@ const handleSubmit = async () => {
|
|||||||
getDataList()
|
getDataList()
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
// 处理业务错误
|
// 处理业务错误
|
||||||
message.error(error.msg)
|
|
||||||
} finally {
|
} finally {
|
||||||
submitLoading.value = false
|
submitLoading.value = false
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog v-model="dialogVisible" title="编辑学历学位" width="600px" append-to-body :close-on-click-modal="false" destroy-on-close>
|
<el-dialog v-model="dialogVisible" title="修改学历学位" width="600px" append-to-body :close-on-click-modal="false" destroy-on-close>
|
||||||
<div v-if="showForm">
|
<div v-if="showForm">
|
||||||
<el-form
|
<el-form
|
||||||
ref="formRef"
|
ref="formRef"
|
||||||
|
|||||||
@@ -59,13 +59,13 @@
|
|||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd"
|
||||||
v-if="permissions.professional_professionalteacheracademicrelation_add">新 增
|
v-auth="'professional_professionalteacheracademicrelation_add'">新 增
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
type="warning"
|
type="warning"
|
||||||
plain
|
plain
|
||||||
icon="Download"
|
icon="Download"
|
||||||
v-if="permissions.professional_teacherbase_export"
|
v-auth="'professional_teacherbase_export'"
|
||||||
@click="handleDownLoadWord"
|
@click="handleDownLoadWord"
|
||||||
:loading="exportLoading">导出信息
|
:loading="exportLoading">导出信息
|
||||||
</el-button>
|
</el-button>
|
||||||
@@ -153,31 +153,34 @@
|
|||||||
<el-table-column label="操作" width="280" align="center" fixed="right">
|
<el-table-column label="操作" width="280" align="center" fixed="right">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-button
|
||||||
|
v-auth="'professional_professionalteacheracademicrelation_edit'"
|
||||||
|
v-if="scope.row.state === '0' || scope.row.state === '-2'"
|
||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
icon="edit-pen"
|
icon="edit-pen"
|
||||||
v-if="permissions.professional_professionalteacheracademicrelation_edit && (scope.row.state === '0' || scope.row.state === '-2')"
|
|
||||||
@click="handleEdit(scope.row)">编辑
|
@click="handleEdit(scope.row)">编辑
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-auth="'professional_professionalteacheracademicrelation_exam'"
|
||||||
|
v-if="scope.row.state === '0'"
|
||||||
type="success"
|
type="success"
|
||||||
link
|
link
|
||||||
icon="CircleCheck"
|
icon="CircleCheck"
|
||||||
v-if="permissions.professional_professionalteacheracademicrelation_exam && scope.row.state === '0'"
|
|
||||||
@click="changeState(scope.row, 1)">通过
|
@click="changeState(scope.row, 1)">通过
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-auth="'professional_professionalteacheracademicrelation_exam'"
|
||||||
|
v-if="scope.row.state === '0' || scope.row.state === '1'"
|
||||||
type="danger"
|
type="danger"
|
||||||
link
|
link
|
||||||
icon="CircleClose"
|
icon="CircleClose"
|
||||||
v-if="permissions.professional_professionalteacheracademicrelation_exam && (scope.row.state === '0' || scope.row.state === '1')"
|
|
||||||
@click="changeState(scope.row, -2)">驳回
|
@click="changeState(scope.row, -2)">驳回
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-auth="'professional_professionalteacheracademicrelation_del'"
|
||||||
type="danger"
|
type="danger"
|
||||||
link
|
link
|
||||||
icon="delete"
|
icon="delete"
|
||||||
v-if="permissions.professional_professionalteacheracademicrelation_del"
|
|
||||||
style="margin-left: 12px"
|
style="margin-left: 12px"
|
||||||
@click="handleDel(scope.row)">删除
|
@click="handleDel(scope.row)">删除
|
||||||
</el-button>
|
</el-button>
|
||||||
@@ -208,9 +211,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, computed, onMounted, nextTick } from 'vue'
|
import { ref, reactive, onMounted, nextTick } from 'vue'
|
||||||
import { storeToRefs } from 'pinia'
|
|
||||||
import { useUserInfo } from '/@/stores/userInfo'
|
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { useMessage } from '/@/hooks/message'
|
import { useMessage } from '/@/hooks/message'
|
||||||
import { useMessageBox } from '/@/hooks/message'
|
import { useMessageBox } from '/@/hooks/message'
|
||||||
@@ -224,6 +225,7 @@ import {
|
|||||||
import { getDegreeList } from '/@/api/professional/rsbase/professionalacademicdegreeconfig'
|
import { getDegreeList } from '/@/api/professional/rsbase/professionalacademicdegreeconfig'
|
||||||
import { getQualificationList } from '/@/api/professional/rsbase/academicqualificationsconfig'
|
import { getQualificationList } from '/@/api/professional/rsbase/academicqualificationsconfig'
|
||||||
import { getAllTypeList } from '/@/api/professional/rsbase/professionalacademiceducationtypeconfig'
|
import { getAllTypeList } from '/@/api/professional/rsbase/professionalacademiceducationtypeconfig'
|
||||||
|
import { PROFESSIONAL_AUDIT_STATE_OPTIONS } from '/@/config/global'
|
||||||
import { defineAsyncComponent } from 'vue'
|
import { defineAsyncComponent } from 'vue'
|
||||||
const TeacherNameNo = defineAsyncComponent(() => import('/@/components/TeacherNameNo/index.vue'))
|
const TeacherNameNo = defineAsyncComponent(() => import('/@/components/TeacherNameNo/index.vue'))
|
||||||
const AuditState = defineAsyncComponent(() => import('/@/components/AuditState/index.vue'))
|
const AuditState = defineAsyncComponent(() => import('/@/components/AuditState/index.vue'))
|
||||||
@@ -231,26 +233,9 @@ const DataForm = defineAsyncComponent(() => import('./form.vue'))
|
|||||||
const ProfessionalBackResaon = defineAsyncComponent(() => import('/@/views/professional/common/professional-back-resaon.vue'))
|
const ProfessionalBackResaon = defineAsyncComponent(() => import('/@/views/professional/common/professional-back-resaon.vue'))
|
||||||
const previewFile = defineAsyncComponent(() => import('/@/components/tools/preview-file.vue'))
|
const previewFile = defineAsyncComponent(() => import('/@/components/tools/preview-file.vue'))
|
||||||
|
|
||||||
// 审核状态选项(独立定义,防止其他页面修改时被波及)
|
// 审核状态选项
|
||||||
import type { StateOption } from '/@/components/AuditState/index.vue'
|
const auditStateOptions = PROFESSIONAL_AUDIT_STATE_OPTIONS
|
||||||
const auditStateOptions: StateOption[] = [
|
|
||||||
{ value: '1', label: '已通过', type: 'success', icon: 'fa-solid fa-circle-check', effect: 'dark' },
|
|
||||||
{ value: '-2', label: '已驳回', type: 'danger', icon: 'fa-solid fa-circle-xmark', effect: 'dark' },
|
|
||||||
{ value: '0', label: '待审核', type: 'warning', icon: 'fa-regular fa-clock', effect: 'light' }
|
|
||||||
]
|
|
||||||
|
|
||||||
// 使用 Pinia store
|
|
||||||
const userInfoStore = useUserInfo()
|
|
||||||
const { userInfos } = storeToRefs(userInfoStore)
|
|
||||||
|
|
||||||
// 创建权限对象
|
|
||||||
const permissions = computed(() => {
|
|
||||||
const perms: Record<string, boolean> = {}
|
|
||||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
|
||||||
perms[perm] = true
|
|
||||||
})
|
|
||||||
return perms
|
|
||||||
})
|
|
||||||
|
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
@@ -349,7 +334,6 @@ const changeState = (row: any, val: number) => {
|
|||||||
getDataList()
|
getDataList()
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
// 处理业务错误
|
// 处理业务错误
|
||||||
message.error(error.msg)
|
|
||||||
}
|
}
|
||||||
}).catch(() => {})
|
}).catch(() => {})
|
||||||
} else if (val === -2) {
|
} else if (val === -2) {
|
||||||
@@ -396,7 +380,6 @@ const handleDel = (row: any) => {
|
|||||||
getDataList()
|
getDataList()
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
// 处理业务错误
|
// 处理业务错误
|
||||||
message.error(error.msg)
|
|
||||||
}
|
}
|
||||||
}).catch(() => {})
|
}).catch(() => {})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd"
|
||||||
v-if="permissions.professional_professionalteachercertificateconf_add">新 增
|
v-auth="'professional_professionalteachercertificateconf_add'">新 增
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -35,14 +35,14 @@
|
|||||||
<el-table-column label="操作" width="150" align="center" fixed="right">
|
<el-table-column label="操作" width="150" align="center" fixed="right">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-button
|
||||||
v-if="permissions.professional_professionalteachercertificateconf_edit"
|
v-auth="'professional_professionalteachercertificateconf_edit'"
|
||||||
icon="edit-pen"
|
icon="edit-pen"
|
||||||
link
|
link
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="handleEdit(scope.row)">修改
|
@click="handleEdit(scope.row)">修改
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="permissions.professional_professionalteachercertificateconf_del"
|
v-auth="'professional_professionalteachercertificateconf_del'"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@@ -63,7 +63,7 @@
|
|||||||
<!-- 新增/编辑弹窗 -->
|
<!-- 新增/编辑弹窗 -->
|
||||||
<el-dialog
|
<el-dialog
|
||||||
v-model="dialogVisible"
|
v-model="dialogVisible"
|
||||||
:title="form.id ? '编辑' : '新增'"
|
:title="form.id ? '修改' : '新增'"
|
||||||
width="600px"
|
width="600px"
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
destroy-on-close
|
destroy-on-close
|
||||||
@@ -114,27 +114,12 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, computed } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
import { storeToRefs } from 'pinia'
|
|
||||||
import { useUserInfo } from '/@/stores/userInfo'
|
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { useMessage } from '/@/hooks/message'
|
import { useMessage } from '/@/hooks/message'
|
||||||
import { useMessageBox } from '/@/hooks/message'
|
import { useMessageBox } from '/@/hooks/message'
|
||||||
import { fetchList, addObj, putObj, delObj } from '/@/api/professional/rsbase/professionalteachercertificateconf'
|
import { fetchList, addObj, putObj, delObj } from '/@/api/professional/rsbase/professionalteachercertificateconf'
|
||||||
|
|
||||||
// 使用 Pinia store
|
|
||||||
const userInfoStore = useUserInfo()
|
|
||||||
const { userInfos } = storeToRefs(userInfoStore)
|
|
||||||
|
|
||||||
// 创建权限对象
|
|
||||||
const permissions = computed(() => {
|
|
||||||
const perms: Record<string, boolean> = {}
|
|
||||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
|
||||||
perms[perm] = true
|
|
||||||
})
|
|
||||||
return perms
|
|
||||||
})
|
|
||||||
|
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
@@ -235,7 +220,6 @@ const handleSubmit = async () => {
|
|||||||
getDataList()
|
getDataList()
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
// 处理业务错误
|
// 处理业务错误
|
||||||
message.error(error.msg)
|
|
||||||
} finally {
|
} finally {
|
||||||
submitLoading.value = false
|
submitLoading.value = false
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -310,11 +310,40 @@
|
|||||||
|
|
||||||
<TableColumn prop="workLevelName" label="职业资格等级" width="120" align="center" show-overflow-tooltip />
|
<TableColumn prop="workLevelName" label="职业资格等级" width="120" align="center" show-overflow-tooltip />
|
||||||
|
|
||||||
<TableColumn prop="teacherCer" label="教师上岗证" width="120" align="center" show-overflow-tooltip />
|
<TableColumn label="资格证书" width="120" align="center">
|
||||||
|
<template #default="scope">
|
||||||
<TableColumn prop="midCer" label="中等教师资格证" width="150" align="center" show-overflow-tooltip />
|
<DetailPopover
|
||||||
|
v-if="scope.row.teacherCer || scope.row.midCer || scope.row.highCer"
|
||||||
<TableColumn prop="highCer" label="高校教师资格证" width="150" align="center" show-overflow-tooltip />
|
title="资格证书"
|
||||||
|
:title-icon="InfoFilled"
|
||||||
|
:width="320"
|
||||||
|
:items="[
|
||||||
|
{
|
||||||
|
label: '教师上岗证',
|
||||||
|
content: scope.row.teacherCer || '-',
|
||||||
|
layout: 'horizontal'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '中等教师资格证',
|
||||||
|
content: scope.row.midCer || '-',
|
||||||
|
layout: 'horizontal'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '高校教师资格证',
|
||||||
|
content: scope.row.highCer || '-',
|
||||||
|
layout: 'horizontal'
|
||||||
|
}
|
||||||
|
]">
|
||||||
|
<template #reference>
|
||||||
|
<span class="certificate-link" style="color: var(--el-color-primary); cursor: pointer;">
|
||||||
|
查看详情
|
||||||
|
<el-icon class="title-icon"><InfoFilled /></el-icon>
|
||||||
|
</span>
|
||||||
|
</template>
|
||||||
|
</DetailPopover>
|
||||||
|
<span v-else class="empty-text">-</span>
|
||||||
|
</template>
|
||||||
|
</TableColumn>
|
||||||
|
|
||||||
<TableColumn prop="employmentNature" label="用工性质" width="120" align="center" show-overflow-tooltip />
|
<TableColumn prop="employmentNature" label="用工性质" width="120" align="center" show-overflow-tooltip />
|
||||||
|
|
||||||
@@ -1434,7 +1463,7 @@
|
|||||||
import { useMessage, useMessageBox } from '/@/hooks/message'
|
import { useMessage, useMessageBox } from '/@/hooks/message'
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
// 导入图标
|
// 导入图标
|
||||||
import { User, Phone, Document, CreditCard, Briefcase, Flag, Plus, Delete, Connection, School, Medal, Files, Clock, Setting, Switch, CircleCheck, CircleClose, Refresh, Download } from '@element-plus/icons-vue'
|
import { User, Phone, Document, CreditCard, Briefcase, Flag, Plus, Delete, Connection, School, Medal, Files, Clock, Setting, Switch, CircleCheck, CircleClose, Refresh, Download, InfoFilled } from '@element-plus/icons-vue'
|
||||||
|
|
||||||
// 导入api(统一使用 /@/ 路径别名)
|
// 导入api(统一使用 /@/ 路径别名)
|
||||||
import {
|
import {
|
||||||
@@ -1448,6 +1477,7 @@
|
|||||||
exportTeacherInfo as exportTeacherInfoApi
|
exportTeacherInfo as exportTeacherInfoApi
|
||||||
} from '/@/api/professional/professionaluser/teacherbase'
|
} from '/@/api/professional/professionaluser/teacherbase'
|
||||||
import {getDictsByTypes} from '/@/api/admin/dict'
|
import {getDictsByTypes} from '/@/api/admin/dict'
|
||||||
|
import {useDict} from '/@/hooks/dict'
|
||||||
import {getNationalList} from '/@/api/basic/basicnation'
|
import {getNationalList} from '/@/api/basic/basicnation'
|
||||||
import {addPoliticssStatus, dePoObj} from '/@/api/professional/professionaluser/professionalpoliticsstatus'
|
import {addPoliticssStatus, dePoObj} from '/@/api/professional/professionaluser/professionalpoliticsstatus'
|
||||||
import {addSocialObj, delSocialObj as delSocialObjApi} from '/@/api/professional/professionaluser/professionalsocial'
|
import {addSocialObj, delSocialObj as delSocialObjApi} from '/@/api/professional/professionaluser/professionalsocial'
|
||||||
@@ -1462,7 +1492,6 @@
|
|||||||
import {updateStatus} from '/@/api/professional/professionalstatuslock'
|
import {updateStatus} from '/@/api/professional/professionalstatuslock'
|
||||||
import {resetPassWord} from "/@/api/professional/professionaluser/teacherbase"
|
import {resetPassWord} from "/@/api/professional/professionaluser/teacherbase"
|
||||||
// 组件配置已不再需要(已从 avue-crud 迁移到 el-table)
|
// 组件配置已不再需要(已从 avue-crud 迁移到 el-table)
|
||||||
import global from '/@/components/tools/commondict.vue'
|
|
||||||
import authImg from "/@/components/tools/auth-img.vue"
|
import authImg from "/@/components/tools/auth-img.vue"
|
||||||
|
|
||||||
// 导入工具
|
// 导入工具
|
||||||
@@ -1472,6 +1501,7 @@
|
|||||||
const TeacherNameNo = defineAsyncComponent(() => import('/@/components/TeacherNameNo/index.vue'))
|
const TeacherNameNo = defineAsyncComponent(() => import('/@/components/TeacherNameNo/index.vue'))
|
||||||
const GenderTag = defineAsyncComponent(() => import('/@/components/GenderTag/index.vue'))
|
const GenderTag = defineAsyncComponent(() => import('/@/components/GenderTag/index.vue'))
|
||||||
const StatusTag = defineAsyncComponent(() => import('/@/components/StatusTag/index.vue'))
|
const StatusTag = defineAsyncComponent(() => import('/@/components/StatusTag/index.vue'))
|
||||||
|
const DetailPopover = defineAsyncComponent(() => import('/@/components/DetailPopover/index.vue'))
|
||||||
const ShowEvidence = defineAsyncComponent(() => import("../common/showEvidence.vue"));
|
const ShowEvidence = defineAsyncComponent(() => import("../common/showEvidence.vue"));
|
||||||
const ExportTeacherInfoDialog = defineAsyncComponent(() => import('./export-teacher-info.vue'));
|
const ExportTeacherInfoDialog = defineAsyncComponent(() => import('./export-teacher-info.vue'));
|
||||||
const ImportTeacherInfo = defineAsyncComponent(() => import('./import-teacherInfo.vue'));
|
const ImportTeacherInfo = defineAsyncComponent(() => import('./import-teacherInfo.vue'));
|
||||||
@@ -1580,7 +1610,7 @@
|
|||||||
professionalStationRelation: {}
|
professionalStationRelation: {}
|
||||||
})
|
})
|
||||||
const healthList = ref([])
|
const healthList = ref([])
|
||||||
const YES_OR_NO = global.YES_OR_NO
|
const { yes_no_type: YES_OR_NO ,sexy:sexyList } = useDict('yes_no_type','sexy')
|
||||||
const teacherCateList = ref([])
|
const teacherCateList = ref([])
|
||||||
const baseInfoAbout = reactive({
|
const baseInfoAbout = reactive({
|
||||||
stationTypeList: [],
|
stationTypeList: [],
|
||||||
@@ -1633,17 +1663,6 @@
|
|||||||
|
|
||||||
const visibleTableColumns = ref<string[]>([])
|
const visibleTableColumns = ref<string[]>([])
|
||||||
|
|
||||||
// 静态配置数据
|
|
||||||
const sexyList = [
|
|
||||||
{
|
|
||||||
label: '男',
|
|
||||||
value: '1'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '女',
|
|
||||||
value: '0'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
const teacherClassifyData = ref([])
|
const teacherClassifyData = ref([])
|
||||||
const stationFormValidate = {
|
const stationFormValidate = {
|
||||||
stationTypeId: [
|
stationTypeId: [
|
||||||
@@ -2904,6 +2923,30 @@
|
|||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 资格证书链接样式
|
||||||
|
:deep(.certificate-link){
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 4px;
|
||||||
|
color: var(--el-color-primary)!important;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: all 0.2s ease;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
color: var(--el-color-primary-light-3)!important;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title-icon {
|
||||||
|
font-size: 14px;
|
||||||
|
opacity: 0.8;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.empty-text {
|
||||||
|
color: #909399;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 弹窗内容区域样式优化 - 只优化外层容器,不修改组件内部样式
|
// 弹窗内容区域样式优化 - 只优化外层容器,不修改组件内部样式
|
||||||
|
|||||||
Reference in New Issue
Block a user