a
This commit is contained in:
@@ -41,14 +41,13 @@ const props = withDefaults(defineProps<Props>(), {
|
|||||||
emptyText: '-'
|
emptyText: '-'
|
||||||
})
|
})
|
||||||
|
|
||||||
// 根据 state 值查找对应的配置
|
// 根据 state 值查找对应的配置(统一转字符串比较,兼容数字 10 与字符串 '10')
|
||||||
const currentOption = computed(() => {
|
const currentOption = computed(() => {
|
||||||
if (!props.state && props.state !== 0 && props.state !== '0') {
|
if (props.state == null || props.state === '') {
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
return props.options.find(option => {
|
const stateStr = String(props.state)
|
||||||
return String(option.value) === String(props.state)
|
return props.options.find(option => String(option.value) === stateStr) || null
|
||||||
}) || null
|
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -37,13 +37,13 @@ const props = withDefaults(defineProps<Props>(), {
|
|||||||
|
|
||||||
// 默认的类型映射(只使用字符串键)
|
// 默认的类型映射(只使用字符串键)
|
||||||
const defaultTypeMap: Record<string, { type: string; effect: string }> = {
|
const defaultTypeMap: Record<string, { type: string; effect: string }> = {
|
||||||
'1': { type: 'warning', effect: 'dark' },
|
'1': { type: 'danger', effect: 'dark' },
|
||||||
'0': { type: 'primary', effect: 'light' }
|
'0': { type: 'primary', effect: 'light' }
|
||||||
}
|
}
|
||||||
|
|
||||||
// 默认的颜色映射(只使用字符串键)
|
// 默认的颜色映射(只使用字符串键)
|
||||||
const defaultColorMap: Record<string, string> = {
|
const defaultColorMap: Record<string, string> = {
|
||||||
'1': 'var(--el-color-warning)',
|
'1': 'var(--el-color-danger)',
|
||||||
'0': 'var(--el-color-primary)'
|
'0': 'var(--el-color-primary)'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -149,7 +149,8 @@ import type { StateOption } from '/@/components/AuditState/index.vue'
|
|||||||
export const PROFESSIONAL_AUDIT_STATE_OPTIONS: StateOption[] = [
|
export const PROFESSIONAL_AUDIT_STATE_OPTIONS: StateOption[] = [
|
||||||
{ value: '1', label: '已通过', type: 'success', icon: 'fa-solid fa-circle-check', effect: 'dark' },
|
{ 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: '-2', label: '已驳回', type: 'danger', icon: 'fa-solid fa-circle-xmark', effect: 'dark' },
|
||||||
{ value: '0', label: '待审核', type: 'warning', icon: 'fa-regular fa-clock', effect: 'light' }
|
{ value: '0', label: '待审核', type: 'warning', icon: 'fa-regular fa-clock', effect: 'light' },
|
||||||
|
{ value: '10', label: '部门通过', type: 'warning', icon: 'fa-regular fa-clock' ,effect:"dark" }
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
30
src/hooks/auth.ts
Normal file
30
src/hooks/auth.ts
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
import { storeToRefs } from 'pinia'
|
||||||
|
import { useUserInfo } from '/@/stores/userInfo'
|
||||||
|
import { judementSameArr } from '/@/utils/arrayOperation'
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 权限 composable:用于「无权限即无节点」场景(v-if + hasAuth),替代 v-auth
|
||||||
|
* 多页面复用,保证响应式(权限变更后模板会更新)
|
||||||
|
*
|
||||||
|
* @example
|
||||||
|
* const { hasAuth, hasAuths, hasAuthAll } = useAuth()
|
||||||
|
* // 模板:v-if="hasAuth('xxx')" v-if="hasAuths(['a','b'])" v-if="hasAuthAll(['a','b'])"
|
||||||
|
*/
|
||||||
|
export function useAuth() {
|
||||||
|
const { userInfos } = storeToRefs(useUserInfo())
|
||||||
|
const list = () => userInfos.value?.authBtnList ?? []
|
||||||
|
|
||||||
|
/** 单个权限:有该权限返回 true */
|
||||||
|
const hasAuth = (code: string) => list().includes(code)
|
||||||
|
|
||||||
|
/** 多个权限满足其一即返回 true */
|
||||||
|
const hasAuths = (codes: string[]) => {
|
||||||
|
const btnList = list()
|
||||||
|
return codes.some((c) => btnList.includes(c))
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 多个权限全部满足才返回 true */
|
||||||
|
const hasAuthAll = (codes: string[]) => judementSameArr(codes, list())
|
||||||
|
|
||||||
|
return { hasAuth, hasAuths, hasAuthAll }
|
||||||
|
}
|
||||||
@@ -5,10 +5,10 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<div class="mb15" style="width: 100%;">
|
<div class="mb15" style="width: 100%;">
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_professionalacademicqualificationsconfig_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd">新 增
|
||||||
v-auth="'professional_professionalacademicqualificationsconfig_add'">新 增
|
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -18,6 +18,7 @@
|
|||||||
:data="state.dataList"
|
:data="state.dataList"
|
||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
|
row-key="id"
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
:header-cell-style="tableStyle.headerCellStyle"
|
:header-cell-style="tableStyle.headerCellStyle"
|
||||||
>
|
>
|
||||||
@@ -34,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-auth="'professional_professionalacademicqualificationsconfig_edit'"
|
v-if="hasAuth('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-auth="'professional_professionalacademicqualificationsconfig_del'"
|
v-if="hasAuth('professional_professionalacademicqualificationsconfig_del')"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@@ -114,12 +115,13 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
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'
|
||||||
|
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -24,10 +24,10 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<div class="mb15" style="width: 100%;">
|
<div class="mb15" style="width: 100%;">
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_outercompany_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd">新 增
|
||||||
v-auth="'professional_outercompany_add'">新 增
|
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -38,6 +38,7 @@
|
|||||||
:data="state.dataList"
|
:data="state.dataList"
|
||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
|
row-key="id"
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
:header-cell-style="tableStyle.headerCellStyle"
|
:header-cell-style="tableStyle.headerCellStyle"
|
||||||
>
|
>
|
||||||
@@ -59,14 +60,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-auth="'professional_outercompany_edit'"
|
v-if="hasAuth('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-auth="'professional_outercompany_del'"
|
v-if="hasAuth('professional_outercompany_del')"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@@ -141,12 +142,13 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
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'
|
||||||
|
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -24,10 +24,10 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<div class="mb15" style="width: 100%;">
|
<div class="mb15" style="width: 100%;">
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_outercompany_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd">新 增
|
||||||
v-auth="'professional_outercompany_add'">新 增
|
|
||||||
</el-button>
|
</el-button>
|
||||||
<!-- <right-toolbar
|
<!-- <right-toolbar
|
||||||
v-model:showSearch="showSearch"
|
v-model:showSearch="showSearch"
|
||||||
@@ -44,6 +44,7 @@
|
|||||||
:data="state.dataList"
|
:data="state.dataList"
|
||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
|
row-key="id"
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
:header-cell-style="tableStyle.headerCellStyle"
|
:header-cell-style="tableStyle.headerCellStyle"
|
||||||
>
|
>
|
||||||
@@ -65,14 +66,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-auth="'professional_outercompany_edit'"
|
v-if="hasAuth('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-auth="'professional_outercompany_del'"
|
v-if="hasAuth('professional_outercompany_del')"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@@ -147,12 +148,13 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
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'
|
||||||
|
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
:data="state.dataList"
|
:data="state.dataList"
|
||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
|
row-key="id"
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
:header-cell-style="tableStyle.headerCellStyle"
|
:header-cell-style="tableStyle.headerCellStyle"
|
||||||
>
|
>
|
||||||
@@ -48,14 +49,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-auth="'professional_outercompany_edit'"
|
v-if="hasAuth('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-auth="'professional_outercompany_del'"
|
v-if="hasAuth('professional_outercompany_del')"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
text
|
text
|
||||||
type="danger"
|
type="danger"
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
ref="formRef"
|
ref="formRef"
|
||||||
:model="formData"
|
:model="formData"
|
||||||
:rules="formRules"
|
:rules="formRules"
|
||||||
label-width="120px"
|
label-width="100px"
|
||||||
class="form-content"
|
class="form-content"
|
||||||
>
|
>
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
@@ -22,7 +22,6 @@
|
|||||||
filterable
|
filterable
|
||||||
clearable
|
clearable
|
||||||
placeholder="请选择单位"
|
placeholder="请选择单位"
|
||||||
style="width: 100%"
|
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in companyList"
|
v-for="item in companyList"
|
||||||
@@ -107,7 +106,6 @@
|
|||||||
v-model="formData.inoutFlag"
|
v-model="formData.inoutFlag"
|
||||||
clearable
|
clearable
|
||||||
placeholder="请选择"
|
placeholder="请选择"
|
||||||
style="width: 100%"
|
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in yesNoDict"
|
v-for="item in yesNoDict"
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
ref="formRef"
|
ref="formRef"
|
||||||
:model="formData"
|
:model="formData"
|
||||||
:rules="formRules"
|
:rules="formRules"
|
||||||
label-width="120px"
|
label-width="100px"
|
||||||
class="form-content"
|
class="form-content"
|
||||||
>
|
>
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
@@ -22,7 +22,6 @@
|
|||||||
filterable
|
filterable
|
||||||
clearable
|
clearable
|
||||||
placeholder="请选择班级"
|
placeholder="请选择班级"
|
||||||
style="width: 100%"
|
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in companyList"
|
v-for="item in companyList"
|
||||||
@@ -86,7 +85,6 @@
|
|||||||
v-model="formData.inoutFlag"
|
v-model="formData.inoutFlag"
|
||||||
clearable
|
clearable
|
||||||
placeholder="请选择"
|
placeholder="请选择"
|
||||||
style="width: 100%"
|
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in yesNoDict"
|
v-for="item in yesNoDict"
|
||||||
|
|||||||
@@ -72,10 +72,10 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<div class="mb15">
|
<div class="mb15">
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_outercompanyemployee_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd">新 增
|
||||||
v-auth="'professional_outercompanyemployee_add'">新 增
|
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
@@ -108,6 +108,7 @@
|
|||||||
<el-table
|
<el-table
|
||||||
ref="tableRef"
|
ref="tableRef"
|
||||||
:data="state.dataList"
|
:data="state.dataList"
|
||||||
|
row-key="id"
|
||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
@@ -157,21 +158,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-auth="'professional_outercompanyemployee_edit'"
|
v-if="hasAuth('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-auth="'professional_outercompanyemployee_reset_pw'"
|
v-if="hasAuth('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-auth="'professional_outercompanyemployee_del'"
|
v-if="hasAuth('professional_outercompanyemployee_del')"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="primary"
|
type="primary"
|
||||||
@@ -237,6 +238,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, onMounted } from 'vue'
|
import { ref, reactive, onMounted } from 'vue'
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
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'
|
||||||
@@ -253,6 +255,9 @@ import {
|
|||||||
import { getList as getCompanyList } from '/@/api/professional/stayschool/outercompany'
|
import { getList as getCompanyList } from '/@/api/professional/stayschool/outercompany'
|
||||||
const FormDialog = defineAsyncComponent(() => import('./form.vue'))
|
const FormDialog = defineAsyncComponent(() => import('./form.vue'))
|
||||||
|
|
||||||
|
// 无权限即无节点
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
|
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
@@ -441,14 +446,14 @@ const batchDelect = () => {
|
|||||||
|
|
||||||
// 重置密码
|
// 重置密码
|
||||||
const resetPassword = (row: any) => {
|
const resetPassword = (row: any) => {
|
||||||
messageBox.confirm('是否确定重置密码?', '提示').then(async () => {
|
messageBox.confirm('是否确定重置密码?').then(async () => {
|
||||||
try {
|
try {
|
||||||
const response = await resetPassWord(row)
|
const response = await resetPassWord(row)
|
||||||
const pw = response.data?.data
|
const pw = response.data
|
||||||
if (!validateNull(pw)) {
|
if (!validateNull(pw)) {
|
||||||
messageBox.alert('重置后密码为: ' + pw, '重置密码')
|
messageBox.info('重置后密码为: ' + pw)
|
||||||
} else {
|
} else {
|
||||||
messageBox.alert('系统繁忙,请重试', '重置密码')
|
messageBox.error('系统繁忙,请重试')
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
// 重置密码失败
|
// 重置密码失败
|
||||||
|
|||||||
@@ -78,10 +78,10 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<div class="mb15" style="width: 100%; position: relative;">
|
<div class="mb15" style="width: 100%; position: relative;">
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_outercompanyemployee_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd"
|
||||||
v-auth="'professional_outercompanyemployee_add'"
|
|
||||||
>
|
>
|
||||||
新 增
|
新 增
|
||||||
</el-button>
|
</el-button>
|
||||||
@@ -127,6 +127,7 @@
|
|||||||
<el-table
|
<el-table
|
||||||
ref="tableRef"
|
ref="tableRef"
|
||||||
:data="state.dataList"
|
:data="state.dataList"
|
||||||
|
row-key="id"
|
||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
@@ -148,7 +149,13 @@
|
|||||||
|
|
||||||
<el-table-column prop="inoutFlag" label="允许进出" width="100" align="center">
|
<el-table-column prop="inoutFlag" label="允许进出" width="100" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-tag v-if="scope.row.inoutFlag">{{ getDictLabel(scope.row.inoutFlag) }}</el-tag>
|
<el-tag
|
||||||
|
v-if="scope.row.inoutFlag"
|
||||||
|
:type="scope.row.inoutFlag === '1' ? 'success' : 'info'"
|
||||||
|
effect="plain"
|
||||||
|
>
|
||||||
|
{{ getDictLabel(scope.row.inoutFlag) }}
|
||||||
|
</el-tag>
|
||||||
<span v-else>-</span>
|
<span v-else>-</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@@ -171,21 +178,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-auth="'professional_outercompanyemployee_edit'"
|
v-if="hasAuth('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-auth="'professional_outercompanyemployee_reset_pw'"
|
v-if="hasAuth('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-auth="'professional_outercompanyemployee_del'"
|
v-if="hasAuth('professional_outercompanyemployee_del')"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="primary"
|
type="primary"
|
||||||
@@ -252,6 +259,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, onMounted } from 'vue'
|
import { ref, reactive, onMounted } from 'vue'
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
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'
|
||||||
@@ -270,6 +278,9 @@ import {
|
|||||||
import { getList as getCompanyList } from '/@/api/professional/stayschool/outercompany'
|
import { getList as getCompanyList } from '/@/api/professional/stayschool/outercompany'
|
||||||
const FormDialog = defineAsyncComponent(() => import('./form.vue'))
|
const FormDialog = defineAsyncComponent(() => import('./form.vue'))
|
||||||
|
|
||||||
|
// 无权限即无节点
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
|
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -78,10 +78,10 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<div class="mb15" style="width: 100%;">
|
<div class="mb15" style="width: 100%;">
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_outercompanyemployee_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd"
|
||||||
v-auth="'professional_outercompanyemployee_add'"
|
|
||||||
>
|
>
|
||||||
新 增
|
新 增
|
||||||
</el-button>
|
</el-button>
|
||||||
@@ -127,6 +127,7 @@
|
|||||||
<el-table
|
<el-table
|
||||||
ref="tableRef"
|
ref="tableRef"
|
||||||
:data="state.dataList"
|
:data="state.dataList"
|
||||||
|
row-key="id"
|
||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
@@ -148,7 +149,13 @@
|
|||||||
|
|
||||||
<el-table-column prop="inoutFlag" label="允许进出" width="100" align="center">
|
<el-table-column prop="inoutFlag" label="允许进出" width="100" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-tag v-if="scope.row.inoutFlag">{{ getDictLabel(scope.row.inoutFlag) }}</el-tag>
|
<el-tag
|
||||||
|
v-if="scope.row.inoutFlag"
|
||||||
|
:type="scope.row.inoutFlag === '1' ? 'success' : 'info'"
|
||||||
|
effect="plain"
|
||||||
|
>
|
||||||
|
{{ getDictLabel(scope.row.inoutFlag) }}
|
||||||
|
</el-tag>
|
||||||
<span v-else>-</span>
|
<span v-else>-</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@@ -171,21 +178,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-auth="'professional_outercompanyemployee_edit'"
|
v-if="hasAuth('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-auth="'professional_outercompanyemployee_reset_pw'"
|
v-if="hasAuth('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-auth="'professional_outercompanyemployee_del'"
|
v-if="hasAuth('professional_outercompanyemployee_del')"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="primary"
|
type="primary"
|
||||||
@@ -252,6 +259,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, onMounted } from 'vue'
|
import { ref, reactive, onMounted } from 'vue'
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
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'
|
||||||
@@ -272,6 +280,9 @@ import { getList as getCompanyList } from '/@/api/professional/stayschool/outerc
|
|||||||
import { defineAsyncComponent } from 'vue';
|
import { defineAsyncComponent } from 'vue';
|
||||||
const FormTrain = defineAsyncComponent(() => import('./formTrain.vue'))
|
const FormTrain = defineAsyncComponent(() => import('./formTrain.vue'))
|
||||||
|
|
||||||
|
// 无权限即无节点
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
|
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -5,10 +5,10 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<div class="mb15" style="width: 100%;">
|
<div class="mb15" style="width: 100%;">
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_professionalacademicdegreeconfig_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd">新 增
|
||||||
v-auth="'professional_professionalacademicdegreeconfig_add'">新 增
|
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -19,6 +19,7 @@
|
|||||||
:data="state.dataList"
|
:data="state.dataList"
|
||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
|
row-key="id"
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
:header-cell-style="tableStyle.headerCellStyle"
|
:header-cell-style="tableStyle.headerCellStyle"
|
||||||
>
|
>
|
||||||
@@ -35,14 +36,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-auth="'professional_professionalacademicdegreeconfig_edit'"
|
v-if="hasAuth('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-auth="'professional_professionalacademicdegreeconfig_del'"
|
v-if="hasAuth('professional_professionalacademicdegreeconfig_del')"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@@ -115,11 +116,13 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
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'
|
||||||
|
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -5,10 +5,10 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<div class="mb15" style="width: 100%;">
|
<div class="mb15" style="width: 100%;">
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_professionalacademiceducationtypeconfig_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd">新 增
|
||||||
v-auth="'professional_professionalacademiceducationtypeconfig_add'">新 增
|
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -19,6 +19,7 @@
|
|||||||
:data="state.dataList"
|
:data="state.dataList"
|
||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
|
row-key="id"
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
:header-cell-style="tableStyle.headerCellStyle"
|
:header-cell-style="tableStyle.headerCellStyle"
|
||||||
>
|
>
|
||||||
@@ -35,14 +36,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-auth="'professional_professionalacademiceducationtypeconfig_edit'"
|
v-if="hasAuth('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-auth="'professional_professionalacademiceducationtypeconfig_del'"
|
v-if="hasAuth('professional_professionalacademiceducationtypeconfig_del')"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@@ -115,11 +116,13 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
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'
|
||||||
|
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -5,10 +5,10 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<div class="mb15" style="width: 100%;">
|
<div class="mb15" style="width: 100%;">
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_professionalatstation_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd">新 增
|
||||||
v-auth="'professional_professionalatstation_add'">新 增
|
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -19,6 +19,7 @@
|
|||||||
:data="state.dataList"
|
:data="state.dataList"
|
||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
|
row-key="id"
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
:header-cell-style="tableStyle.headerCellStyle"
|
:header-cell-style="tableStyle.headerCellStyle"
|
||||||
>
|
>
|
||||||
@@ -35,14 +36,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-auth="'professional_professionalatstation_edit'"
|
v-if="hasAuth('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-auth="'professional_professionalatstation_del'"
|
v-if="hasAuth('professional_professionalatstation_del')"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@@ -115,11 +116,13 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
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'
|
||||||
|
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -5,10 +5,10 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<div class="mb15" style="width: 100%;">
|
<div class="mb15" style="width: 100%;">
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_professionalemploymentnature_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd">新 增
|
||||||
v-auth="'professional_professionalemploymentnature_add'">新 增
|
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -19,6 +19,7 @@
|
|||||||
:data="state.dataList"
|
:data="state.dataList"
|
||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
|
row-key="id"
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
:header-cell-style="tableStyle.headerCellStyle"
|
:header-cell-style="tableStyle.headerCellStyle"
|
||||||
>
|
>
|
||||||
@@ -35,14 +36,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-auth="'professional_professionalemploymentnature_edit'"
|
v-if="hasAuth('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-auth="'professional_professionalemploymentnature_del'"
|
v-if="hasAuth('professional_professionalemploymentnature_del')"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@@ -115,11 +116,13 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
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'
|
||||||
|
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -5,10 +5,10 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<div class="mb15" style="width: 100%;">
|
<div class="mb15" style="width: 100%;">
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_professionalmajorstation_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd">新 增
|
||||||
v-auth="'professional_professionalmajorstation_add'">新 增
|
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -19,6 +19,7 @@
|
|||||||
:data="state.dataList"
|
:data="state.dataList"
|
||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
|
row-key="id"
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
:header-cell-style="tableStyle.headerCellStyle"
|
:header-cell-style="tableStyle.headerCellStyle"
|
||||||
>
|
>
|
||||||
@@ -35,14 +36,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-auth="'professional_professionalmajorstation_edit'"
|
v-if="hasAuth('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-auth="'professional_professionalmajorstation_del'"
|
v-if="hasAuth('professional_professionalmajorstation_del')"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@@ -115,11 +116,13 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
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'
|
||||||
|
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -5,10 +5,10 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<div class="mb15" style="width: 100%;">
|
<div class="mb15" style="width: 100%;">
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_professionalpaperconfig_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd">新 增
|
||||||
v-auth="'professional_professionalpaperconfig_add'">新 增
|
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -19,6 +19,7 @@
|
|||||||
:data="state.dataList"
|
:data="state.dataList"
|
||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
|
row-key="id"
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
:header-cell-style="tableStyle.headerCellStyle"
|
:header-cell-style="tableStyle.headerCellStyle"
|
||||||
>
|
>
|
||||||
@@ -35,14 +36,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-auth="'professional_professionalpaperconfig_edit'"
|
v-if="hasAuth('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-auth="'professional_professionalpaperconfig_del'"
|
v-if="hasAuth('professional_professionalpaperconfig_del')"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@@ -115,11 +116,13 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
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'
|
||||||
|
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -5,10 +5,10 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<div class="mb15" style="width: 100%;">
|
<div class="mb15" style="width: 100%;">
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_professionalpartybranch_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd">新 增
|
||||||
v-auth="'professional_professionalpartybranch_add'">新 增
|
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -35,17 +35,17 @@
|
|||||||
<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="hasAuth('professional_professionalpartybranch_edit')"
|
||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
icon="Edit"
|
icon="EditPen"
|
||||||
v-auth="'professional_professionalpartybranch_edit'"
|
@click="handleEdit(scope.row)">修改
|
||||||
@click="handleEdit(scope.row)">编辑
|
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_professionalpartybranch_del')"
|
||||||
type="danger"
|
type="danger"
|
||||||
link
|
link
|
||||||
icon="Delete"
|
icon="Delete"
|
||||||
v-auth="'professional_professionalpartybranch_del'"
|
|
||||||
@click="handleDel(scope.row)">删除
|
@click="handleDel(scope.row)">删除
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
@@ -115,10 +115,14 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
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'
|
||||||
|
|
||||||
|
// 无权限即无节点
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
|
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -5,10 +5,10 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<div class="mb15" style="width: 100%;">
|
<div class="mb15" style="width: 100%;">
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_professionalqualificationconfig_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd">新 增
|
||||||
v-auth="'professional_professionalqualificationconfig_add'">新 增
|
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -19,6 +19,7 @@
|
|||||||
:data="state.dataList"
|
:data="state.dataList"
|
||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
|
row-key="id"
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
:header-cell-style="tableStyle.headerCellStyle"
|
:header-cell-style="tableStyle.headerCellStyle"
|
||||||
>
|
>
|
||||||
@@ -35,14 +36,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-auth="'professional_professionalqualificationconfig_edit'"
|
v-if="hasAuth('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-auth="'professional_professionalqualificationconfig_del'"
|
v-if="hasAuth('professional_professionalqualificationconfig_del')"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@@ -115,11 +116,13 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
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'
|
||||||
|
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -56,16 +56,16 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<div class="mb15" style="width: 100%;">
|
<div class="mb15" style="width: 100%;">
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_professionalqualificationrelation_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd">新 增
|
||||||
v-auth="'professional_professionalqualificationrelation_add'">新 增
|
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_teacherbase_export')"
|
||||||
type="warning"
|
type="warning"
|
||||||
plain
|
plain
|
||||||
icon="Download"
|
icon="Download"
|
||||||
v-auth="'professional_teacherbase_export'"
|
|
||||||
@click="handleDownLoadWord"
|
@click="handleDownLoadWord"
|
||||||
:loading="exportLoading">导出信息
|
:loading="exportLoading">导出信息
|
||||||
</el-button>
|
</el-button>
|
||||||
@@ -76,6 +76,7 @@
|
|||||||
<el-table
|
<el-table
|
||||||
ref="tableRef"
|
ref="tableRef"
|
||||||
:data="state.dataList"
|
:data="state.dataList"
|
||||||
|
row-key="id"
|
||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
@@ -127,47 +128,42 @@
|
|||||||
<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="hasAuth('professional_professionalqualificationrelation_edit') && (scope.row.state === '0' || scope.row.state === '-2')"
|
||||||
v-if="scope.row.state === '0' || scope.row.state === '-2'"
|
|
||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
icon="edit-pen"
|
icon="edit-pen"
|
||||||
@click="handleEdit(scope.row)">修改
|
@click="handleEdit(scope.row)">修改
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'professional_professionalqualificationrelation_exam'"
|
v-if="hasAuth('professional_professionalqualificationrelation_exam') && scope.row.canExam"
|
||||||
v-if="scope.row.canExam"
|
|
||||||
type="success"
|
type="success"
|
||||||
link
|
link
|
||||||
icon="CircleCheck"
|
icon="CircleCheck"
|
||||||
@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="hasAuth('professional_professionalqualificationrelation_exam') && scope.row.canDeptExam"
|
||||||
v-if="scope.row.canDeptExam"
|
|
||||||
type="success"
|
type="success"
|
||||||
link
|
link
|
||||||
icon="CircleCheck"
|
icon="CircleCheck"
|
||||||
@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="hasAuth('professional_professionalqualificationrelation_exam') && scope.row.canBack"
|
||||||
v-if="scope.row.canBack"
|
|
||||||
type="danger"
|
type="danger"
|
||||||
link
|
link
|
||||||
icon="CircleClose"
|
icon="CircleClose"
|
||||||
@click="changeState(scope.row, -2)">驳回
|
@click="changeState(scope.row, -2)">驳回
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'professional_professionalqualificationrelation_exam'"
|
v-if="hasAuth('professional_professionalqualificationrelation_exam') && scope.row.canDeptBack"
|
||||||
v-if="scope.row.canDeptBack"
|
|
||||||
type="danger"
|
type="danger"
|
||||||
link
|
link
|
||||||
icon="CircleClose"
|
icon="CircleClose"
|
||||||
@click="changeState(scope.row, -2)">部门驳回
|
@click="changeState(scope.row, -2)">部门驳回
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'professional_professionalqualificationrelation_del'"
|
v-if="hasAuth('professional_professionalqualificationrelation_del')"
|
||||||
type="danger"
|
type="danger"
|
||||||
link
|
link
|
||||||
icon="delete"
|
icon="delete"
|
||||||
@@ -203,6 +199,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, onMounted, nextTick } from 'vue'
|
import { ref, reactive, onMounted, nextTick } from 'vue'
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
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'
|
||||||
@@ -225,6 +222,8 @@ const previewFile = defineAsyncComponent(() => import('/@/components/tools/previ
|
|||||||
// 审核状态选项
|
// 审核状态选项
|
||||||
const auditStateOptions = PROFESSIONAL_AUDIT_STATE_OPTIONS
|
const auditStateOptions = PROFESSIONAL_AUDIT_STATE_OPTIONS
|
||||||
|
|
||||||
|
// 无权限即无节点
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
|
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
|
|||||||
@@ -5,10 +5,10 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<div class="mb15" style="width: 100%;">
|
<div class="mb15" style="width: 100%;">
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_professionalstationdutylevel_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd">新 增
|
||||||
v-auth="'professional_professionalstationdutylevel_add'">新 增
|
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -19,6 +19,7 @@
|
|||||||
:data="state.dataList"
|
:data="state.dataList"
|
||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
|
row-key="id"
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
:header-cell-style="tableStyle.headerCellStyle"
|
:header-cell-style="tableStyle.headerCellStyle"
|
||||||
>
|
>
|
||||||
@@ -35,14 +36,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-auth="'professional_professionalstationdutylevel_edit'"
|
v-if="hasAuth('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-auth="'professional_professionalstationdutylevel_del'"
|
v-if="hasAuth('professional_professionalstationdutylevel_del')"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@@ -115,11 +116,13 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
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'
|
||||||
|
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -5,10 +5,10 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<div class="mb15" style="width: 100%;">
|
<div class="mb15" style="width: 100%;">
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_professionalstationtype_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd">新 增
|
||||||
v-auth="'professional_professionalstationtype_add'">新 增
|
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -19,6 +19,7 @@
|
|||||||
:data="state.dataList"
|
:data="state.dataList"
|
||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
|
row-key="id"
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
:header-cell-style="tableStyle.headerCellStyle"
|
:header-cell-style="tableStyle.headerCellStyle"
|
||||||
>
|
>
|
||||||
@@ -35,14 +36,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-auth="'professional_professionalstationtype_edit'"
|
v-if="hasAuth('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-auth="'professional_professionalstationtype_del'"
|
v-if="hasAuth('professional_professionalstationtype_del')"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@@ -115,11 +116,13 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
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'
|
||||||
|
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -56,16 +56,16 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<div class="mb15" style="width: 100%;">
|
<div class="mb15" style="width: 100%;">
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_professionalteacheracademicrelation_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd">新 增
|
||||||
v-auth="'professional_professionalteacheracademicrelation_add'">新 增
|
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_teacherbase_export')"
|
||||||
type="warning"
|
type="warning"
|
||||||
plain
|
plain
|
||||||
icon="Download"
|
icon="Download"
|
||||||
v-auth="'professional_teacherbase_export'"
|
|
||||||
@click="handleDownLoadWord"
|
@click="handleDownLoadWord"
|
||||||
:loading="exportLoading">导出信息
|
:loading="exportLoading">导出信息
|
||||||
</el-button>
|
</el-button>
|
||||||
@@ -76,6 +76,7 @@
|
|||||||
<el-table
|
<el-table
|
||||||
ref="tableRef"
|
ref="tableRef"
|
||||||
:data="state.dataList"
|
:data="state.dataList"
|
||||||
|
row-key="id"
|
||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
@@ -153,47 +154,42 @@
|
|||||||
<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="hasAuth('professional_professionalteacheracademicrelation_edit') && (scope.row.state === '0' || scope.row.state === '-2')"
|
||||||
v-if="scope.row.state === '0' || scope.row.state === '-2'"
|
|
||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
icon="edit-pen"
|
icon="edit-pen"
|
||||||
@click="handleEdit(scope.row)">编辑
|
@click="handleEdit(scope.row)">编辑
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'professional_professionalteacheracademicrelation_exam'"
|
v-if="hasAuth('professional_professionalteacheracademicrelation_exam') && scope.row.canExam"
|
||||||
v-if="scope.row.canExam"
|
|
||||||
type="success"
|
type="success"
|
||||||
link
|
link
|
||||||
icon="CircleCheck"
|
icon="CircleCheck"
|
||||||
@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="hasAuth('professional_professionalteacheracademicrelation_exam') && scope.row.canDeptExam"
|
||||||
v-if="scope.row.canDeptExam"
|
|
||||||
type="success"
|
type="success"
|
||||||
link
|
link
|
||||||
icon="CircleCheck"
|
icon="CircleCheck"
|
||||||
@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="hasAuth('professional_professionalteacheracademicrelation_exam') && scope.row.canBack"
|
||||||
v-if="scope.row.canBack"
|
|
||||||
type="danger"
|
type="danger"
|
||||||
link
|
link
|
||||||
icon="CircleClose"
|
icon="CircleClose"
|
||||||
@click="changeState(scope.row, -2)">驳回
|
@click="changeState(scope.row, -2)">驳回
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'professional_professionalteacheracademicrelation_exam'"
|
v-if="hasAuth('professional_professionalteacheracademicrelation_exam') && scope.row.canDeptBack"
|
||||||
v-if="scope.row.canDeptBack"
|
|
||||||
type="danger"
|
type="danger"
|
||||||
link
|
link
|
||||||
icon="CircleClose"
|
icon="CircleClose"
|
||||||
@click="changeState(scope.row, -2)">部门驳回
|
@click="changeState(scope.row, -2)">部门驳回
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'professional_professionalteacheracademicrelation_del'"
|
v-if="hasAuth('professional_professionalteacheracademicrelation_del')"
|
||||||
type="danger"
|
type="danger"
|
||||||
link
|
link
|
||||||
icon="delete"
|
icon="delete"
|
||||||
@@ -229,6 +225,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, onMounted, nextTick } from 'vue'
|
import { ref, reactive, onMounted, nextTick } from 'vue'
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
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'
|
||||||
@@ -252,6 +249,8 @@ const previewFile = defineAsyncComponent(() => import('/@/components/tools/previ
|
|||||||
// 审核状态选项
|
// 审核状态选项
|
||||||
const auditStateOptions = PROFESSIONAL_AUDIT_STATE_OPTIONS
|
const auditStateOptions = PROFESSIONAL_AUDIT_STATE_OPTIONS
|
||||||
|
|
||||||
|
// 无权限即无节点
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
|
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
|
|||||||
@@ -5,10 +5,10 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<div class="mb15" style="width: 100%;">
|
<div class="mb15" style="width: 100%;">
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_professionalteachercertificateconf_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd">新 增
|
||||||
v-auth="'professional_professionalteachercertificateconf_add'">新 增
|
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -19,6 +19,7 @@
|
|||||||
:data="state.dataList"
|
:data="state.dataList"
|
||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
|
row-key="id"
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
:header-cell-style="tableStyle.headerCellStyle"
|
:header-cell-style="tableStyle.headerCellStyle"
|
||||||
>
|
>
|
||||||
@@ -35,14 +36,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-auth="'professional_professionalteachercertificateconf_edit'"
|
v-if="hasAuth('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-auth="'professional_professionalteachercertificateconf_del'"
|
v-if="hasAuth('professional_professionalteachercertificateconf_del')"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@@ -115,11 +116,13 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
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'
|
||||||
|
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -56,13 +56,13 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<div class="mb15" style="width: 100%;">
|
<div class="mb15" style="width: 100%;">
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'professional_professionalteachercertificaterelation_add'"
|
v-if="hasAuth('professional_professionalteachercertificaterelation_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd">新 增
|
@click="handleAdd">新 增
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'professional_teacherbase_export'"
|
v-if="hasAuth('professional_teacherbase_export')"
|
||||||
type="warning"
|
type="warning"
|
||||||
plain
|
plain
|
||||||
icon="Download"
|
icon="Download"
|
||||||
@@ -76,6 +76,7 @@
|
|||||||
<el-table
|
<el-table
|
||||||
ref="tableRef"
|
ref="tableRef"
|
||||||
:data="state.dataList"
|
:data="state.dataList"
|
||||||
|
row-key="id"
|
||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
@@ -123,47 +124,42 @@
|
|||||||
<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_professionalteachercertificaterelation_edit'"
|
v-if="hasAuth('professional_professionalteachercertificaterelation_edit') && (scope.row.state === '0' || scope.row.state === '-2')"
|
||||||
v-if="scope.row.state === '0' || scope.row.state === '-2'"
|
|
||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
icon="edit-pen"
|
icon="edit-pen"
|
||||||
@click="handleEdit(scope.row)">编辑
|
@click="handleEdit(scope.row)">编辑
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'professional_professionalteachercertificaterelation_exam'"
|
v-if="hasAuth('professional_professionalteachercertificaterelation_exam') && scope.row.canExam"
|
||||||
v-if="scope.row.canExam"
|
|
||||||
type="success"
|
type="success"
|
||||||
link
|
link
|
||||||
icon="CircleCheck"
|
icon="CircleCheck"
|
||||||
@click="changeState(scope.row, 1)">通过
|
@click="changeState(scope.row, 1)">通过
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_professionalteachercertificaterelation_exam') && scope.row.canDeptExam"
|
||||||
type="success"
|
type="success"
|
||||||
link
|
link
|
||||||
v-auth="'professional_professionalteachercertificaterelation_exam'"
|
|
||||||
icon="CircleCheck"
|
icon="CircleCheck"
|
||||||
v-if="scope.row.canDeptExam"
|
|
||||||
@click="changeState(scope.row, 1)">部门通过
|
@click="changeState(scope.row, 1)">部门通过
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'professional_professionalteachercertificaterelation_exam'"
|
v-if="hasAuth('professional_professionalteachercertificaterelation_exam') && scope.row.canBack"
|
||||||
v-if="scope.row.canBack"
|
|
||||||
type="danger"
|
type="danger"
|
||||||
link
|
link
|
||||||
icon="CircleClose"
|
icon="CircleClose"
|
||||||
@click="changeState(scope.row, -2)">驳回
|
@click="changeState(scope.row, -2)">驳回
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_professionalteachercertificaterelation_exam') && scope.row.canDeptBack"
|
||||||
type="danger"
|
type="danger"
|
||||||
link
|
link
|
||||||
icon="CircleClose"
|
icon="CircleClose"
|
||||||
v-auth="'professional_professionalteachercertificaterelation_exam'"
|
|
||||||
v-if="scope.row.canDeptBack"
|
|
||||||
@click="changeState(scope.row, -2)">部门驳回
|
@click="changeState(scope.row, -2)">部门驳回
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'professional_professionalteachercertificaterelation_del'"
|
v-if="hasAuth('professional_professionalteachercertificaterelation_del')"
|
||||||
type="danger"
|
type="danger"
|
||||||
link
|
link
|
||||||
icon="delete"
|
icon="delete"
|
||||||
@@ -199,6 +195,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, onMounted, nextTick } from 'vue'
|
import { ref, reactive, onMounted, nextTick } from 'vue'
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
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'
|
||||||
@@ -209,6 +206,7 @@ import {
|
|||||||
delObj,
|
delObj,
|
||||||
exportExcel
|
exportExcel
|
||||||
} from '/@/api/professional/professionaluser/professionalteachercertificaterelation'
|
} from '/@/api/professional/professionaluser/professionalteachercertificaterelation'
|
||||||
|
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'))
|
||||||
@@ -218,11 +216,10 @@ const previewFile = defineAsyncComponent(() => import('/@/components/tools/previ
|
|||||||
|
|
||||||
// 审核状态选项(独立定义,防止其他页面修改时被波及)
|
// 审核状态选项(独立定义,防止其他页面修改时被波及)
|
||||||
import type { StateOption } from '/@/components/AuditState/index.vue'
|
import type { StateOption } from '/@/components/AuditState/index.vue'
|
||||||
const auditStateOptions: StateOption[] = [
|
const auditStateOptions: StateOption[] = PROFESSIONAL_AUDIT_STATE_OPTIONS
|
||||||
{ 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' }
|
const { hasAuth } = useAuth()
|
||||||
]
|
|
||||||
|
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
|
|||||||
@@ -56,7 +56,7 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<div class="mb15" style="width: 100%;">
|
<div class="mb15" style="width: 100%;">
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'professional_professionalteacherhonor_add'"
|
v-if="hasAuth('professional_professionalteacherhonor_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd">新 增
|
@click="handleAdd">新 增
|
||||||
@@ -75,6 +75,7 @@
|
|||||||
<el-table
|
<el-table
|
||||||
ref="tableRef"
|
ref="tableRef"
|
||||||
:data="state.dataList"
|
:data="state.dataList"
|
||||||
|
row-key="id"
|
||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
@@ -118,47 +119,42 @@
|
|||||||
<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_professionalteacherhonor_edit'"
|
v-if="hasAuth('professional_professionalteacherhonor_edit') && (scope.row.state === '0' || scope.row.state === '-2')"
|
||||||
v-if="scope.row.state === '0' || scope.row.state === '-2'"
|
|
||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
icon="edit-pen"
|
icon="edit-pen"
|
||||||
@click="handleEdit(scope.row)">修改
|
@click="handleEdit(scope.row)">修改
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'professional_professionalteacherhonor_exam'"
|
v-if="hasAuth('professional_professionalteacherhonor_exam') && scope.row.canExam"
|
||||||
v-if="scope.row.canExam"
|
|
||||||
type="success"
|
type="success"
|
||||||
link
|
link
|
||||||
icon="CircleCheck"
|
icon="CircleCheck"
|
||||||
@click="changeState(scope.row, 1)">通过
|
@click="changeState(scope.row, 1)">通过
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_professionalteacherhonor_exam') && scope.row.canDeptExam"
|
||||||
type="success"
|
type="success"
|
||||||
link
|
link
|
||||||
v-auth="'professional_professionalteacherhonor_exam'"
|
|
||||||
icon="CircleCheck"
|
icon="CircleCheck"
|
||||||
v-if="scope.row.canDeptExam"
|
|
||||||
@click="changeState(scope.row, 1)">部门通过
|
@click="changeState(scope.row, 1)">部门通过
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'professional_professionalteacherhonor_exam'"
|
v-if="hasAuth('professional_professionalteacherhonor_exam') && scope.row.canBack"
|
||||||
v-if="scope.row.canBack"
|
|
||||||
type="danger"
|
type="danger"
|
||||||
link
|
link
|
||||||
icon="CircleClose"
|
icon="CircleClose"
|
||||||
@click="changeState(scope.row, -2)">驳回
|
@click="changeState(scope.row, -2)">驳回
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_professionalteacherhonor_exam') && scope.row.canDeptBack"
|
||||||
type="danger"
|
type="danger"
|
||||||
link
|
link
|
||||||
v-auth="'professional_professionalteacherhonor_exam'"
|
|
||||||
icon="CircleClose"
|
icon="CircleClose"
|
||||||
v-if="scope.row.canDeptBack"
|
|
||||||
@click="changeState(scope.row, -2)">部门驳回
|
@click="changeState(scope.row, -2)">部门驳回
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'professional_professionalteacherhonor_del'"
|
v-if="hasAuth('professional_professionalteacherhonor_del')"
|
||||||
type="danger"
|
type="danger"
|
||||||
link
|
link
|
||||||
icon="delete"
|
icon="delete"
|
||||||
@@ -194,6 +190,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, nextTick } from 'vue'
|
import { ref, reactive, nextTick } from 'vue'
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
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'
|
||||||
@@ -220,6 +217,9 @@ const { professional_state: professionalState } = useDict('professional_state')
|
|||||||
// 审核状态选项
|
// 审核状态选项
|
||||||
const auditStateOptions = PROFESSIONAL_AUDIT_STATE_OPTIONS
|
const auditStateOptions = PROFESSIONAL_AUDIT_STATE_OPTIONS
|
||||||
|
|
||||||
|
// 无权限即无节点
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
|
|
||||||
// 表格引用
|
// 表格引用
|
||||||
const tableRef = ref()
|
const tableRef = ref()
|
||||||
const searchFormRef = ref()
|
const searchFormRef = ref()
|
||||||
|
|||||||
@@ -5,10 +5,10 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<div class="mb15" style="width: 100%;">
|
<div class="mb15" style="width: 100%;">
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_professionalteachertype_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd">新 增
|
||||||
v-auth="'professional_professionalteachertype_add'">新 增
|
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -19,6 +19,7 @@
|
|||||||
:data="state.dataList"
|
:data="state.dataList"
|
||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
|
row-key="id"
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
:header-cell-style="tableStyle.headerCellStyle"
|
:header-cell-style="tableStyle.headerCellStyle"
|
||||||
>
|
>
|
||||||
@@ -35,14 +36,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-auth="'professional_professionalteachertype_edit'"
|
v-if="hasAuth('professional_professionalteachertype_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-auth="'professional_professionalteachertype_del'"
|
v-if="hasAuth('professional_professionalteachertype_del')"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@@ -115,11 +116,13 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
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/professionalteachertype'
|
import { fetchList, addObj, putObj, delObj } from '/@/api/professional/rsbase/professionalteachertype'
|
||||||
|
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -5,10 +5,10 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<div class="mb15" style="width: 100%;">
|
<div class="mb15" style="width: 100%;">
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_professionalteachingmaterialconfig_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd">新 增
|
||||||
v-auth="'professional_professionalteachingmaterialconfig_add'">新 增
|
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -19,6 +19,7 @@
|
|||||||
:data="state.dataList"
|
:data="state.dataList"
|
||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
|
row-key="id"
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
:header-cell-style="tableStyle.headerCellStyle"
|
:header-cell-style="tableStyle.headerCellStyle"
|
||||||
>
|
>
|
||||||
@@ -35,14 +36,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-auth="'professional_professionalteachingmaterialconfig_edit'"
|
v-if="hasAuth('professional_professionalteachingmaterialconfig_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-auth="'professional_professionalteachingmaterialconfig_del'"
|
v-if="hasAuth('professional_professionalteachingmaterialconfig_del')"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@@ -115,11 +116,13 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
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/professionalteachingmaterialconfig'
|
import { fetchList, addObj, putObj, delObj } from '/@/api/professional/rsbase/professionalteachingmaterialconfig'
|
||||||
|
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -5,10 +5,10 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<div class="mb15" style="width: 100%;">
|
<div class="mb15" style="width: 100%;">
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_professionaltitlelevelconfig_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd">新 增
|
||||||
v-auth="'professional_professionaltitlelevelconfig_add'">新 增
|
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -19,6 +19,7 @@
|
|||||||
:data="state.dataList"
|
:data="state.dataList"
|
||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
|
row-key="id"
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
:header-cell-style="tableStyle.headerCellStyle"
|
:header-cell-style="tableStyle.headerCellStyle"
|
||||||
>
|
>
|
||||||
@@ -35,14 +36,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-auth="'professional_professionaltitlelevelconfig_edit'"
|
v-if="hasAuth('professional_professionaltitlelevelconfig_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-auth="'professional_professionaltitlelevelconfig_del'"
|
v-if="hasAuth('professional_professionaltitlelevelconfig_del')"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@@ -115,11 +116,13 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
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/professionaltitlelevelconfig'
|
import { fetchList, addObj, putObj, delObj } from '/@/api/professional/rsbase/professionaltitlelevelconfig'
|
||||||
|
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -84,17 +84,17 @@
|
|||||||
</template>
|
</template>
|
||||||
</search-form>
|
</search-form>
|
||||||
|
|
||||||
<!-- 操作按钮 -->
|
<!-- 操作按钮:无权限不渲染 -->
|
||||||
<el-row>
|
<el-row>
|
||||||
<div class="mb15" style="width: 100%;">
|
<div class="mb15" style="width: 100%;">
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'professional_professionaltitlerelation_add'"
|
v-if="hasAuth('professional_professionaltitlerelation_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd">新 增
|
@click="handleAdd">新 增
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'professional_teacherbase_export'"
|
v-if="hasAuth('professional_teacherbase_export')"
|
||||||
class="ml10"
|
class="ml10"
|
||||||
type="warning"
|
type="warning"
|
||||||
plain
|
plain
|
||||||
@@ -109,6 +109,7 @@
|
|||||||
<el-table
|
<el-table
|
||||||
ref="tableRef"
|
ref="tableRef"
|
||||||
:data="state.dataList"
|
:data="state.dataList"
|
||||||
|
row-key="id"
|
||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
@@ -140,10 +141,6 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
<!-- <el-table-column prop="changedTime" label="变动时间" width="180" align="center" />
|
|
||||||
|
|
||||||
<el-table-column prop="createTime" label="创建时间" width="180" align="center" /> -->
|
|
||||||
|
|
||||||
<el-table-column label="证明材料" width="120" align="center">
|
<el-table-column label="证明材料" width="120" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-button
|
||||||
@@ -162,47 +159,42 @@
|
|||||||
<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_professionaltitlerelation_edit'"
|
v-if="hasAuth('professional_professionaltitlerelation_edit') && (scope.row.state === '0' || scope.row.state === '-2')"
|
||||||
v-if="scope.row.state === '0' || scope.row.state === '-2'"
|
|
||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
icon="edit-pen"
|
icon="edit-pen"
|
||||||
@click="handleEdit(scope.row)">修改
|
@click="handleEdit(scope.row)">修改
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'professional_professionaltitlerelation_exam'"
|
v-if="hasAuth('professional_professionaltitlerelation_exam') && scope.row.canExam"
|
||||||
v-if="scope.row.canExam"
|
|
||||||
type="success"
|
type="success"
|
||||||
link
|
link
|
||||||
icon="CircleCheck"
|
icon="CircleCheck"
|
||||||
@click="changeState(scope.row, 1)">通过
|
@click="changeState(scope.row, 1)">通过
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_professionaltitlerelation_exam') && scope.row.canDeptExam"
|
||||||
type="success"
|
type="success"
|
||||||
link
|
link
|
||||||
icon="CircleCheck"
|
icon="CircleCheck"
|
||||||
v-auth="'professional_professionaltitlerelation_exam'"
|
|
||||||
v-if="scope.row.canDeptExam"
|
|
||||||
@click="changeState(scope.row, 1)">部门通过
|
@click="changeState(scope.row, 1)">部门通过
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'professional_professionaltitlerelation_exam'"
|
v-if="hasAuth('professional_professionaltitlerelation_exam') && scope.row.canBack"
|
||||||
v-if="scope.row.canBack"
|
|
||||||
type="danger"
|
type="danger"
|
||||||
link
|
link
|
||||||
icon="CircleClose"
|
icon="CircleClose"
|
||||||
@click="changeState(scope.row, -2)">驳回
|
@click="changeState(scope.row, -2)">驳回
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_professionaltitlerelation_exam') && scope.row.canDeptBack"
|
||||||
type="danger"
|
type="danger"
|
||||||
link
|
link
|
||||||
v-auth="'professional_professionaltitlerelation_exam'"
|
|
||||||
icon="CircleClose"
|
icon="CircleClose"
|
||||||
v-if="scope.row.canDeptBack"
|
|
||||||
@click="changeState(scope.row, -2)">部门驳回
|
@click="changeState(scope.row, -2)">部门驳回
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'professional_professionaltitlerelation_del'"
|
v-if="hasAuth('professional_professionaltitlerelation_del')"
|
||||||
type="danger"
|
type="danger"
|
||||||
link
|
link
|
||||||
icon="delete"
|
icon="delete"
|
||||||
@@ -239,6 +231,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, onMounted, nextTick } from 'vue'
|
import { ref, reactive, onMounted, nextTick } from 'vue'
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
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'
|
||||||
@@ -260,7 +253,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'))
|
||||||
|
|
||||||
// 使用 Pinia store
|
// 无权限即无节点:使用 useAuth + v-if
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
|
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
@@ -336,7 +331,6 @@ const handlePreview = (list: string[]) => {
|
|||||||
// 审核状态变更
|
// 审核状态变更
|
||||||
const changeState = (row: any, val: number) => {
|
const changeState = (row: any, val: number) => {
|
||||||
if (val === 1) {
|
if (val === 1) {
|
||||||
// 通过
|
|
||||||
const str = '通过'
|
const str = '通过'
|
||||||
messageBox.confirm(`是否确认${str}${row.realName}的申请`).then(async () => {
|
messageBox.confirm(`是否确认${str}${row.realName}的申请`).then(async () => {
|
||||||
try {
|
try {
|
||||||
@@ -348,11 +342,9 @@ 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) {
|
||||||
// 驳回
|
|
||||||
backReasonRef.value?.init(row, 'title')
|
backReasonRef.value?.init(row, 'title')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,10 +5,10 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<div class="mb15" style="width: 100%;">
|
<div class="mb15" style="width: 100%;">
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_professionaltopiclevelconfig_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd">新 增
|
||||||
v-auth="'professional_professionaltopiclevelconfig_add'">新 增
|
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -19,6 +19,7 @@
|
|||||||
:data="state.dataList"
|
:data="state.dataList"
|
||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
|
row-key="id"
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
:header-cell-style="tableStyle.headerCellStyle"
|
:header-cell-style="tableStyle.headerCellStyle"
|
||||||
>
|
>
|
||||||
@@ -35,14 +36,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-auth="'professional_professionaltopiclevelconfig_edit'"
|
v-if="hasAuth('professional_professionaltopiclevelconfig_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-auth="'professional_professionaltopiclevelconfig_del'"
|
v-if="hasAuth('professional_professionaltopiclevelconfig_del')"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@@ -115,11 +116,13 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
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/professionaltopiclevelconfig'
|
import { fetchList, addObj, putObj, delObj } from '/@/api/professional/rsbase/professionaltopiclevelconfig'
|
||||||
|
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -5,10 +5,10 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<div class="mb15" style="width: 100%;">
|
<div class="mb15" style="width: 100%;">
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_professionaltopicsourceconfig_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd">新 增
|
||||||
v-auth="'professional_professionaltopicsourceconfig_add'">新 增
|
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -19,6 +19,7 @@
|
|||||||
:data="state.dataList"
|
:data="state.dataList"
|
||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
|
row-key="id"
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
:header-cell-style="tableStyle.headerCellStyle"
|
:header-cell-style="tableStyle.headerCellStyle"
|
||||||
>
|
>
|
||||||
@@ -35,14 +36,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-auth="'professional_professionaltopicsourceconfig_edit'"
|
v-if="hasAuth('professional_professionaltopicsourceconfig_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-auth="'professional_professionaltopicsourceconfig_del'"
|
v-if="hasAuth('professional_professionaltopicsourceconfig_del')"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@@ -115,11 +116,13 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
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/professionaltopicsourceconfig'
|
import { fetchList, addObj, putObj, delObj } from '/@/api/professional/rsbase/professionaltopicsourceconfig'
|
||||||
|
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -5,10 +5,10 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<div class="mb15" style="width: 100%;">
|
<div class="mb15" style="width: 100%;">
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_worktype_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd">新 增
|
||||||
v-auth="'professional_worktype_add'">新 增
|
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -19,6 +19,7 @@
|
|||||||
:data="state.dataList"
|
:data="state.dataList"
|
||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
|
row-key="id"
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
:header-cell-style="tableStyle.headerCellStyle"
|
:header-cell-style="tableStyle.headerCellStyle"
|
||||||
>
|
>
|
||||||
@@ -31,14 +32,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-auth="'professional_worktype_edit'"
|
v-if="hasAuth('professional_worktype_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-auth="'professional_worktype_del'"
|
v-if="hasAuth('professional_worktype_del')"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@@ -92,11 +93,13 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
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/professionalworktype'
|
import { fetchList, addObj, putObj, delObj } from '/@/api/professional/rsbase/professionalworktype'
|
||||||
|
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -7,8 +7,7 @@
|
|||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd">新 增
|
||||||
v-auth="'professional_professionalyearbounds_add'">新 增
|
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -46,14 +45,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-auth="'professional_professionalyearbounds_edit'"
|
v-if="hasAuth('professional_professionalyearbounds_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-auth="'professional_professionalyearbounds_del'"
|
v-if="hasAuth('professional_professionalyearbounds_del')"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@@ -177,11 +176,13 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
import { defineAsyncComponent } from 'vue'
|
import { defineAsyncComponent } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { useMessage, useMessageBox } from '/@/hooks/message'
|
import { useMessage, useMessageBox } from '/@/hooks/message'
|
||||||
import { fetchList, addObj, putObj, delObj } from '/@/api/professional/salaries/professionalyearbounds'
|
import { fetchList, addObj, putObj, delObj } from '/@/api/professional/salaries/professionalyearbounds'
|
||||||
|
|
||||||
const TeacherNameNo = defineAsyncComponent(() => import('/@/components/TeacherNameNo/index.vue'))
|
const TeacherNameNo = defineAsyncComponent(() => import('/@/components/TeacherNameNo/index.vue'))
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
|
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
|
|||||||
@@ -49,6 +49,7 @@
|
|||||||
:data="state.dataList"
|
:data="state.dataList"
|
||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
|
row-key="id"
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
:header-cell-style="tableStyle.headerCellStyle"
|
:header-cell-style="tableStyle.headerCellStyle"
|
||||||
class="data-table"
|
class="data-table"
|
||||||
@@ -72,7 +73,7 @@
|
|||||||
<el-table-column label="操作" min-width="80" align="center" fixed="right">
|
<el-table-column label="操作" min-width="80" align="center" fixed="right">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'professional_salaryexportrecord_del'"
|
v-if="hasAuth('professional_salaryexportrecord_del')"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="primary"
|
type="primary"
|
||||||
@@ -97,7 +98,9 @@ import { ref, reactive } from 'vue'
|
|||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { useMessage, useMessageBox } from '/@/hooks/message'
|
import { useMessage, useMessageBox } from '/@/hooks/message'
|
||||||
import { fetchList, delObj } from '/@/api/professional/salaries/salaryexportrecord'
|
import { fetchList, delObj } from '/@/api/professional/salaries/salaryexportrecord'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
|
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -26,8 +26,8 @@
|
|||||||
<div class="el-upload-list__item-name">{{ fileName }}</div>
|
<div class="el-upload-list__item-name">{{ fileName }}</div>
|
||||||
</template>
|
</template>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('teacher_award_import')"
|
||||||
size="small"
|
size="small"
|
||||||
v-auth="'teacher_award_import'"
|
|
||||||
type="primary">选择文件
|
type="primary">选择文件
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-upload>
|
</el-upload>
|
||||||
@@ -48,12 +48,14 @@ import { ref, computed } from 'vue'
|
|||||||
import { useMessage } from '/@/hooks/message'
|
import { useMessage } from '/@/hooks/message'
|
||||||
import { Session } from '/@/utils/storage'
|
import { Session } from '/@/utils/storage'
|
||||||
import request from '/@/utils/request'
|
import request from '/@/utils/request'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
|
|
||||||
// Emits
|
// Emits
|
||||||
const emit = defineEmits<{
|
const emit = defineEmits<{
|
||||||
(e: 'refreshData'): void
|
(e: 'refreshData'): void
|
||||||
}>()
|
}>()
|
||||||
|
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示
|
// 消息提示
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
|
|
||||||
|
|||||||
@@ -52,10 +52,10 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<div class="mb15">
|
<div class="mb15">
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('teacher_award_import')"
|
||||||
type="primary"
|
type="primary"
|
||||||
plain
|
plain
|
||||||
icon="UploadFilled"
|
icon="UploadFilled"
|
||||||
v-auth="'teacher_award_import'"
|
|
||||||
@click="handleImportBaseSalary">绩效导入
|
@click="handleImportBaseSalary">绩效导入
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
@@ -67,6 +67,7 @@
|
|||||||
:data="state.dataList"
|
:data="state.dataList"
|
||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
|
:row-key="(row: any) => row.id ?? String(row.teacherNo) + row.year"
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
:header-cell-style="tableStyle.headerCellStyle"
|
:header-cell-style="tableStyle.headerCellStyle"
|
||||||
>
|
>
|
||||||
@@ -109,8 +110,10 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
import { fetchList } from '/@/api/professional/salaries/teacherawardtax'
|
import { fetchList } from '/@/api/professional/salaries/teacherawardtax'
|
||||||
const ImportAwardTax = defineAsyncComponent(() => import('./importAwardTax.vue'))
|
const ImportAwardTax = defineAsyncComponent(() => import('./importAwardTax.vue'))
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
|
|
||||||
// 表格引用
|
// 表格引用
|
||||||
const tableRef = ref()
|
const tableRef = ref()
|
||||||
|
|||||||
@@ -26,8 +26,8 @@
|
|||||||
<div class="el-upload-list__item-name">{{ fileName }}</div>
|
<div class="el-upload-list__item-name">{{ fileName }}</div>
|
||||||
</template>
|
</template>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_salary_import')"
|
||||||
size="small"
|
size="small"
|
||||||
v-auth="'professional_salary_import'"
|
|
||||||
type="primary">选择文件
|
type="primary">选择文件
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-upload>
|
</el-upload>
|
||||||
@@ -45,6 +45,7 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, computed } from 'vue'
|
import { ref, computed } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
import { useMessage } from '/@/hooks/message'
|
import { useMessage } from '/@/hooks/message'
|
||||||
import { Session } from '/@/utils/storage'
|
import { Session } from '/@/utils/storage'
|
||||||
import request from '/@/utils/request'
|
import request from '/@/utils/request'
|
||||||
@@ -54,6 +55,7 @@ const emit = defineEmits<{
|
|||||||
(e: 'refreshData'): void
|
(e: 'refreshData'): void
|
||||||
}>()
|
}>()
|
||||||
|
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示
|
// 消息提示
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
|
|
||||||
|
|||||||
@@ -26,8 +26,8 @@
|
|||||||
<div class="el-upload-list__item-name">{{ fileName }}</div>
|
<div class="el-upload-list__item-name">{{ fileName }}</div>
|
||||||
</template>
|
</template>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_salary_import')"
|
||||||
size="small"
|
size="small"
|
||||||
v-auth="'professional_salary_import'"
|
|
||||||
type="primary">选择文件
|
type="primary">选择文件
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-upload>
|
</el-upload>
|
||||||
@@ -45,6 +45,7 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, computed } from 'vue'
|
import { ref, computed } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
import { useMessage } from '/@/hooks/message'
|
import { useMessage } from '/@/hooks/message'
|
||||||
import { Session } from '/@/utils/storage'
|
import { Session } from '/@/utils/storage'
|
||||||
import request from '/@/utils/request'
|
import request from '/@/utils/request'
|
||||||
@@ -54,6 +55,9 @@ const emit = defineEmits<{
|
|||||||
(e: 'refreshData'): void
|
(e: 'refreshData'): void
|
||||||
}>()
|
}>()
|
||||||
|
|
||||||
|
// 无权限即无节点
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
|
|
||||||
// 消息提示
|
// 消息提示
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
|
|
||||||
|
|||||||
@@ -87,30 +87,30 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<div class="mb15">
|
<div class="mb15">
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_salary_import')"
|
||||||
type="primary"
|
type="primary"
|
||||||
plain
|
plain
|
||||||
icon="UploadFilled"
|
icon="UploadFilled"
|
||||||
v-auth="'professional_salary_import'"
|
|
||||||
@click="handleImportBaseSalary">工资条导入
|
@click="handleImportBaseSalary">工资条导入
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_seach_auth')"
|
||||||
icon="View"
|
icon="View"
|
||||||
class="ml10"
|
class="ml10"
|
||||||
v-auth="'professional_seach_auth'"
|
|
||||||
@click="canSearch(1)">设置可查询
|
@click="canSearch(1)">设置可查询
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_seach_auth')"
|
||||||
icon="Hide"
|
icon="Hide"
|
||||||
class="ml10"
|
class="ml10"
|
||||||
v-auth="'professional_seach_auth'"
|
|
||||||
@click="canSearch(0)">设置不可查询
|
@click="canSearch(0)">设置不可查询
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_professionalsalaries_del')"
|
||||||
type="danger"
|
type="danger"
|
||||||
plain
|
plain
|
||||||
icon="Delete"
|
icon="Delete"
|
||||||
class="ml10"
|
class="ml10"
|
||||||
v-auth="'professional_professionalsalaries_del'"
|
|
||||||
@click="delbatch">批量删除
|
@click="delbatch">批量删除
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
@@ -120,6 +120,7 @@
|
|||||||
<el-table
|
<el-table
|
||||||
ref="tableRef"
|
ref="tableRef"
|
||||||
:data="state.dataList"
|
:data="state.dataList"
|
||||||
|
row-key="id"
|
||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
@@ -189,6 +190,7 @@
|
|||||||
import { ref, reactive, onMounted } from 'vue'
|
import { ref, reactive, onMounted } from 'vue'
|
||||||
import { defineAsyncComponent } from 'vue'
|
import { defineAsyncComponent } from 'vue'
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
import { useMessage, useMessageBox } from '/@/hooks/message'
|
import { useMessage, useMessageBox } from '/@/hooks/message'
|
||||||
import { fetchList, delBatch, setCanSearch } from '/@/api/professional/salaries/teacherpayslip'
|
import { fetchList, delBatch, setCanSearch } from '/@/api/professional/salaries/teacherpayslip'
|
||||||
import { checkAuth } from '/@/api/professional/salaries/teachersalary'
|
import { checkAuth } from '/@/api/professional/salaries/teachersalary'
|
||||||
@@ -199,6 +201,8 @@ const ExportBaseSalary = defineAsyncComponent(() => import('./exportBaseSalary.v
|
|||||||
|
|
||||||
const TeacherNameNo = defineAsyncComponent(() => import('/@/components/TeacherNameNo/index.vue'))
|
const TeacherNameNo = defineAsyncComponent(() => import('/@/components/TeacherNameNo/index.vue'))
|
||||||
|
|
||||||
|
// 无权限即无节点
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
|
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
|
|||||||
@@ -26,8 +26,8 @@
|
|||||||
<div class="el-upload-list__item-name">{{ fileName }}</div>
|
<div class="el-upload-list__item-name">{{ fileName }}</div>
|
||||||
</template>
|
</template>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_salary_import')"
|
||||||
size="small"
|
size="small"
|
||||||
v-auth="'professional_salary_import'"
|
|
||||||
type="primary">选择文件
|
type="primary">选择文件
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-upload>
|
</el-upload>
|
||||||
@@ -45,6 +45,7 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, computed } from 'vue'
|
import { ref, computed } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
import { useMessage } from '/@/hooks/message'
|
import { useMessage } from '/@/hooks/message'
|
||||||
import { Session } from '/@/utils/storage'
|
import { Session } from '/@/utils/storage'
|
||||||
import request from '/@/utils/request'
|
import request from '/@/utils/request'
|
||||||
@@ -54,6 +55,7 @@ const emit = defineEmits<{
|
|||||||
(e: 'refreshData'): void
|
(e: 'refreshData'): void
|
||||||
}>()
|
}>()
|
||||||
|
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示
|
// 消息提示
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
|
|
||||||
|
|||||||
@@ -26,8 +26,8 @@
|
|||||||
<div class="el-upload-list__item-name">{{ fileName }}</div>
|
<div class="el-upload-list__item-name">{{ fileName }}</div>
|
||||||
</template>
|
</template>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_salary_import')"
|
||||||
size="small"
|
size="small"
|
||||||
v-auth="'professional_salary_import'"
|
|
||||||
type="primary">选择文件
|
type="primary">选择文件
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-upload>
|
</el-upload>
|
||||||
@@ -45,6 +45,7 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, computed } from 'vue'
|
import { ref, computed } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
import { useMessage } from '/@/hooks/message'
|
import { useMessage } from '/@/hooks/message'
|
||||||
import { Session } from '/@/utils/storage'
|
import { Session } from '/@/utils/storage'
|
||||||
import request from '/@/utils/request'
|
import request from '/@/utils/request'
|
||||||
@@ -54,6 +55,7 @@ const emit = defineEmits<{
|
|||||||
(e: 'refreshData'): void
|
(e: 'refreshData'): void
|
||||||
}>()
|
}>()
|
||||||
|
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示
|
// 消息提示
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
|
|
||||||
|
|||||||
@@ -93,46 +93,46 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<div class="mb15">
|
<div class="mb15">
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_salary_import')"
|
||||||
type="primary"
|
type="primary"
|
||||||
plain
|
plain
|
||||||
icon="UploadFilled"
|
icon="UploadFilled"
|
||||||
v-auth="'professional_salary_import'"
|
|
||||||
@click="handleImportBaseSalary">人事薪资导入
|
@click="handleImportBaseSalary">人事薪资导入
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_salary_finance_import')"
|
||||||
type="warning"
|
type="warning"
|
||||||
plain
|
plain
|
||||||
icon="Download"
|
icon="Download"
|
||||||
class="ml10"
|
class="ml10"
|
||||||
v-auth="'professional_salary_finance_import'"
|
|
||||||
@click="handleExportSalart">薪资导出
|
@click="handleExportSalart">薪资导出
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_salary_finance_import')"
|
||||||
type="primary"
|
type="primary"
|
||||||
plain
|
plain
|
||||||
icon="UploadFilled"
|
icon="UploadFilled"
|
||||||
class="ml10"
|
class="ml10"
|
||||||
v-auth="'professional_salary_finance_import'"
|
|
||||||
@click="handleImportTaxSalary">税金导入
|
@click="handleImportTaxSalary">税金导入
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_seach_auth')"
|
||||||
icon="View"
|
icon="View"
|
||||||
class="ml10"
|
class="ml10"
|
||||||
v-auth="'professional_seach_auth'"
|
|
||||||
@click="canSearch(1)">设置可查询
|
@click="canSearch(1)">设置可查询
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_seach_auth')"
|
||||||
icon="Hide"
|
icon="Hide"
|
||||||
class="ml10"
|
class="ml10"
|
||||||
v-auth="'professional_seach_auth'"
|
|
||||||
@click="canSearch(0)">设置不可查询
|
@click="canSearch(0)">设置不可查询
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_professionalsalaries_del')"
|
||||||
type="danger"
|
type="danger"
|
||||||
plain
|
plain
|
||||||
icon="Delete"
|
icon="Delete"
|
||||||
class="ml10"
|
class="ml10"
|
||||||
v-auth="'professional_professionalsalaries_del'"
|
|
||||||
@click="delbatch">批量删除
|
@click="delbatch">批量删除
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
@@ -142,6 +142,7 @@
|
|||||||
<el-table
|
<el-table
|
||||||
ref="tableRef"
|
ref="tableRef"
|
||||||
:data="state.dataList"
|
:data="state.dataList"
|
||||||
|
row-key="id"
|
||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
@@ -211,6 +212,7 @@
|
|||||||
import { ref, reactive, onMounted } from 'vue'
|
import { ref, reactive, onMounted } from 'vue'
|
||||||
import { defineAsyncComponent } from 'vue'
|
import { defineAsyncComponent } from 'vue'
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
import { useMessage, useMessageBox } from '/@/hooks/message'
|
import { useMessage, useMessageBox } from '/@/hooks/message'
|
||||||
import { fetchList, delBatch, setCanSearch, checkAuth } from '/@/api/professional/salaries/teachersalary'
|
import { fetchList, delBatch, setCanSearch, checkAuth } from '/@/api/professional/salaries/teachersalary'
|
||||||
import { getStationLevelList } from '/@/api/professional/professionalstationlevelconfig'
|
import { getStationLevelList } from '/@/api/professional/professionalstationlevelconfig'
|
||||||
@@ -221,6 +223,9 @@ const ImportTaxSalary = defineAsyncComponent(() => import('./importTaxSalary.vue
|
|||||||
|
|
||||||
const TeacherNameNo = defineAsyncComponent(() => import('/@/components/TeacherNameNo/index.vue'))
|
const TeacherNameNo = defineAsyncComponent(() => import('/@/components/TeacherNameNo/index.vue'))
|
||||||
|
|
||||||
|
// 无权限即无节点
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
|
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -5,10 +5,10 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<div class="mb15" style="width: 100%;">
|
<div class="mb15" style="width: 100%;">
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('professional_typeofworkconfig_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd"
|
@click="handleAdd">新 增
|
||||||
v-auth="'professional_typeofworkconfig_add'">新 增
|
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -17,6 +17,7 @@
|
|||||||
<el-table
|
<el-table
|
||||||
ref="tableRef"
|
ref="tableRef"
|
||||||
:data="state.dataList"
|
:data="state.dataList"
|
||||||
|
row-key="id"
|
||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
@@ -35,14 +36,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-auth="'professional_typeofworkconfig_edit'"
|
v-if="hasAuth('professional_typeofworkconfig_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-auth="'professional_typeofworkconfig_del'"
|
v-if="hasAuth('professional_typeofworkconfig_del')"
|
||||||
icon="delete"
|
icon="delete"
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@@ -116,10 +117,14 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
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/typeofworkconfig'
|
import { fetchList, addObj, putObj, delObj } from '/@/api/professional/rsbase/typeofworkconfig'
|
||||||
|
|
||||||
|
// 无权限即无节点
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
|
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -57,7 +57,7 @@
|
|||||||
|
|
||||||
<div class="mb15">
|
<div class="mb15">
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruit_newstucheckin_statistics_output'"
|
v-if="hasAuth('recruit_newstucheckin_statistics_output')"
|
||||||
type="warning"
|
type="warning"
|
||||||
plain
|
plain
|
||||||
icon="Download"
|
icon="Download"
|
||||||
@@ -97,6 +97,7 @@
|
|||||||
|
|
||||||
<script setup lang="ts" name="backSchoolCheckin-statistics">
|
<script setup lang="ts" name="backSchoolCheckin-statistics">
|
||||||
import { ref, reactive, computed, onMounted } from 'vue'
|
import { ref, reactive, computed, onMounted } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
import { useMessage } from '/@/hooks/message'
|
import { useMessage } from '/@/hooks/message'
|
||||||
import { getDataStatistics } from '/@/api/recruit/newstucheckin'
|
import { getDataStatistics } from '/@/api/recruit/newstucheckin'
|
||||||
import { getList } from '/@/api/recruit/recruitstudentplangroup'
|
import { getList } from '/@/api/recruit/recruitstudentplangroup'
|
||||||
@@ -104,6 +105,8 @@ import { getDeptList } from '/@/api/basic/basicclass'
|
|||||||
import { queryAllClass } from '/@/api/basic/basicclass'
|
import { queryAllClass } from '/@/api/basic/basicclass'
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
|
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
|
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
|
|
||||||
|
|||||||
@@ -95,7 +95,7 @@
|
|||||||
名单导出
|
名单导出
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruit_recruitstudentsignup_allCX'"
|
v-if="hasAuth('recruit_recruitstudentsignup_allCX')"
|
||||||
type="primary"
|
type="primary"
|
||||||
plain
|
plain
|
||||||
icon="Search"
|
icon="Search"
|
||||||
@@ -230,8 +230,7 @@
|
|||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
|
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruit_recruitstudentsignup_show'"
|
v-if="hasAuth('recruit_recruitstudentsignup_show') && scope.row.pushed == '1' && scope.row.paiedOffline != '10' && (scope.row.clfPayCode != undefined && scope.row.clfPayCode != '')"
|
||||||
v-if="scope.row.pushed == '1' && scope.row.paiedOffline != '10' && (scope.row.clfPayCode != undefined && scope.row.clfPayCode != '')"
|
|
||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
:icon="Tickets"
|
:icon="Tickets"
|
||||||
@@ -240,7 +239,7 @@
|
|||||||
支付二维码
|
支付二维码
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruit_recruitstudentsignup_back'"
|
v-if="hasAuth('recruit_recruitstudentsignup_back')"
|
||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
icon="EditPen"
|
icon="EditPen"
|
||||||
@@ -299,6 +298,7 @@
|
|||||||
|
|
||||||
<script setup lang="ts" name="backSchoolCheckinTabIndex">
|
<script setup lang="ts" name="backSchoolCheckinTabIndex">
|
||||||
import { ref, reactive, onMounted, nextTick, defineAsyncComponent, defineExpose } from 'vue'
|
import { ref, reactive, onMounted, nextTick, defineAsyncComponent, defineExpose } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { useMessage } from '/@/hooks/message'
|
import { useMessage } from '/@/hooks/message'
|
||||||
import { getList } from '/@/api/recruit/recruitstudentplangroup'
|
import { getList } from '/@/api/recruit/recruitstudentplangroup'
|
||||||
@@ -315,7 +315,7 @@ const GenderTag = defineAsyncComponent(() => import('/@/components/GenderTag/ind
|
|||||||
const SearchForm = defineAsyncComponent(() => import('/@/components/SearchForm/index.vue'))
|
const SearchForm = defineAsyncComponent(() => import('/@/components/SearchForm/index.vue'))
|
||||||
const ClickableTag = defineAsyncComponent(() => import('/@/components/ClickableTag/index.vue'))
|
const ClickableTag = defineAsyncComponent(() => import('/@/components/ClickableTag/index.vue'))
|
||||||
const DetailPopover = defineAsyncComponent(() => import('/@/components/DetailPopover/index.vue'))
|
const DetailPopover = defineAsyncComponent(() => import('/@/components/DetailPopover/index.vue'))
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
|
|
||||||
|
|||||||
@@ -90,7 +90,7 @@
|
|||||||
<!-- 操作按钮 -->
|
<!-- 操作按钮 -->
|
||||||
<div class="mb15">
|
<div class="mb15">
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruit_newstucheckin_output'"
|
v-if="hasAuth('recruit_newstucheckin_output')"
|
||||||
type="warning"
|
type="warning"
|
||||||
plain
|
plain
|
||||||
icon="Download"
|
icon="Download"
|
||||||
@@ -108,6 +108,7 @@
|
|||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
stripe
|
stripe
|
||||||
|
row-key="id"
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
:header-cell-style="tableStyle.headerCellStyle"
|
:header-cell-style="tableStyle.headerCellStyle"
|
||||||
>
|
>
|
||||||
@@ -210,7 +211,7 @@
|
|||||||
<el-table-column label="操作" width="100" align="center" fixed="right">
|
<el-table-column label="操作" width="100" align="center" fixed="right">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruit_newstucheckin_edit'"
|
v-if="hasAuth('recruit_newstucheckin_edit')"
|
||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
icon="EditPen"
|
icon="EditPen"
|
||||||
@@ -237,6 +238,7 @@
|
|||||||
|
|
||||||
<script setup lang="ts" name="newstucheckin">
|
<script setup lang="ts" name="newstucheckin">
|
||||||
import { ref, reactive, onMounted, defineAsyncComponent } from 'vue'
|
import { ref, reactive, onMounted, defineAsyncComponent } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { useMessage } from '/@/hooks/message'
|
import { useMessage } from '/@/hooks/message'
|
||||||
import { fetchList } from '/@/api/recruit/newstucheckin'
|
import { fetchList } from '/@/api/recruit/newstucheckin'
|
||||||
@@ -253,7 +255,7 @@ import { InfoFilled, CircleCheck, CircleClose, DocumentChecked, Warning, Clock }
|
|||||||
const StuCheckIn = defineAsyncComponent(() => import('./stu-check-in.vue'))
|
const StuCheckIn = defineAsyncComponent(() => import('./stu-check-in.vue'))
|
||||||
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 { hasAuth } = useAuth()
|
||||||
// 是否住宿字典
|
// 是否住宿字典
|
||||||
const { yes_no_type } = useDict('yes_no_type')
|
const { yes_no_type } = useDict('yes_no_type')
|
||||||
|
|
||||||
|
|||||||
@@ -57,7 +57,7 @@
|
|||||||
|
|
||||||
<div class="mb15">
|
<div class="mb15">
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruit_newstucheckin_statistics_output'"
|
v-if="hasAuth('recruit_newstucheckin_statistics_output')"
|
||||||
type="warning"
|
type="warning"
|
||||||
plain
|
plain
|
||||||
icon="Download"
|
icon="Download"
|
||||||
@@ -97,6 +97,7 @@
|
|||||||
|
|
||||||
<script setup lang="ts" name="newstucheckin-statistics">
|
<script setup lang="ts" name="newstucheckin-statistics">
|
||||||
import { ref, reactive, onMounted } from 'vue'
|
import { ref, reactive, onMounted } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
import { useMessage } from '/@/hooks/message'
|
import { useMessage } from '/@/hooks/message'
|
||||||
import { getDataStatistics } from '/@/api/recruit/newstucheckin'
|
import { getDataStatistics } from '/@/api/recruit/newstucheckin'
|
||||||
import { getList } from '/@/api/recruit/recruitstudentplangroup'
|
import { getList } from '/@/api/recruit/recruitstudentplangroup'
|
||||||
@@ -104,6 +105,7 @@ import { getDeptList } from '/@/api/basic/basicclass'
|
|||||||
import { queryAllClass } from '/@/api/basic/basicclass'
|
import { queryAllClass } from '/@/api/basic/basicclass'
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
|
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
|
|
||||||
|
|||||||
@@ -45,7 +45,7 @@
|
|||||||
<!-- 操作按钮 -->
|
<!-- 操作按钮 -->
|
||||||
<div class="mb15">
|
<div class="mb15">
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruit_recruitImitateAdjustBatch_add'"
|
v-if="hasAuth('recruit_recruitImitateAdjustBatch_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="addOrUpdateHandle"
|
@click="addOrUpdateHandle"
|
||||||
@@ -61,6 +61,7 @@
|
|||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
stripe
|
stripe
|
||||||
|
row-key="id"
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
:header-cell-style="tableStyle.headerCellStyle"
|
:header-cell-style="tableStyle.headerCellStyle"
|
||||||
>
|
>
|
||||||
@@ -71,7 +72,7 @@
|
|||||||
<el-table-column label="操作" width="380" align="center" fixed="right">
|
<el-table-column label="操作" width="380" align="center" fixed="right">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruit_recruitImitateAdjustBatch_show'"
|
v-if="hasAuth('recruit_recruitImitateAdjustBatch_show')"
|
||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
icon="Document"
|
icon="Document"
|
||||||
@@ -80,7 +81,7 @@
|
|||||||
模拟列表
|
模拟列表
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruit_recruitImitateAdjustBatch_show'"
|
v-if="hasAuth('recruit_recruitImitateAdjustBatch_show')"
|
||||||
type="warning"
|
type="warning"
|
||||||
link
|
link
|
||||||
icon="Download"
|
icon="Download"
|
||||||
@@ -89,7 +90,7 @@
|
|||||||
导出模拟结果
|
导出模拟结果
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruit_recruitImitateAdjustBatch_edit'"
|
v-if="hasAuth('recruit_recruitImitateAdjustBatch_edit')"
|
||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
icon="EditPen"
|
icon="EditPen"
|
||||||
@@ -98,7 +99,7 @@
|
|||||||
修改
|
修改
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruit_recruitImitateAdjustBatch_del'"
|
v-if="hasAuth('recruit_recruitImitateAdjustBatch_del')"
|
||||||
type="danger"
|
type="danger"
|
||||||
link
|
link
|
||||||
icon="Delete"
|
icon="Delete"
|
||||||
@@ -126,6 +127,7 @@
|
|||||||
|
|
||||||
<script setup lang="ts" name="recruitImitateAdjustBatch">
|
<script setup lang="ts" name="recruitImitateAdjustBatch">
|
||||||
import { ref, reactive, onMounted, nextTick, defineAsyncComponent } from 'vue'
|
import { ref, reactive, onMounted, nextTick, defineAsyncComponent } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { useMessage, useMessageBox } from '/@/hooks/message'
|
import { useMessage, useMessageBox } from '/@/hooks/message'
|
||||||
import { getList } from '/@/api/recruit/recruitstudentplangroup'
|
import { getList } from '/@/api/recruit/recruitstudentplangroup'
|
||||||
@@ -133,7 +135,7 @@ import { delObj, fetchList } from '/@/api/recruit/recruitImitateAdjustBatch'
|
|||||||
|
|
||||||
const TableForm = defineAsyncComponent(() => import('./detaiform.vue'))
|
const TableForm = defineAsyncComponent(() => import('./detaiform.vue'))
|
||||||
const MnTable = defineAsyncComponent(() => import('./mnTable.vue'))
|
const MnTable = defineAsyncComponent(() => import('./mnTable.vue'))
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
>
|
>
|
||||||
<el-form :inline="true">
|
<el-form :inline="true">
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button v-auth="'recruit_recruitImitateAdjustBatch_add'" icon="FolderAdd" type="primary" @click="addOrUpdateHandle()">新增</el-button>
|
<el-button v-if="hasAuth('recruit_recruitImitateAdjustBatch_add')" icon="FolderAdd" type="primary" @click="addOrUpdateHandle()">新增</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-table
|
<el-table
|
||||||
@@ -111,8 +111,8 @@
|
|||||||
align="center"
|
align="center"
|
||||||
label="操作">
|
label="操作">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button v-auth="'recruit_recruitImitateAdjustBatch_edit'" type="text" size="small" :icon="Edit" @click="addOrUpdateHandle(scope.row.id)">修改</el-button>
|
<el-button v-if="hasAuth('recruit_recruitImitateAdjustBatch_edit')" type="text" size="small" :icon="Edit" @click="addOrUpdateHandle(scope.row.id)">修改</el-button>
|
||||||
<el-button v-auth="'recruit_recruitImitateAdjustBatch_del'" type="danger" link size="small" :icon="Delete" @click="deleteHandle(scope.row.id)">删除</el-button>
|
<el-button v-if="hasAuth('recruit_recruitImitateAdjustBatch_del')" type="danger" link size="small" :icon="Delete" @click="deleteHandle(scope.row.id)">删除</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@@ -123,6 +123,7 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, nextTick, defineAsyncComponent } from 'vue'
|
import { ref, reactive, nextTick, defineAsyncComponent } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
import { useMessage, useMessageBox } from '/@/hooks/message'
|
import { useMessage, useMessageBox } from '/@/hooks/message'
|
||||||
import { Edit, Delete } from '@element-plus/icons-vue'
|
import { Edit, Delete } from '@element-plus/icons-vue'
|
||||||
import { getMNStuList, delMNObj } from '/@/api/recruit/recruitImitateAdjustBatch'
|
import { getMNStuList, delMNObj } from '/@/api/recruit/recruitImitateAdjustBatch'
|
||||||
@@ -132,7 +133,7 @@ import { getLabelValueByProps } from '/@/utils/dictLabel'
|
|||||||
|
|
||||||
const AddMNStu = defineAsyncComponent(() => import('./addMNStu.vue'))
|
const AddMNStu = defineAsyncComponent(() => import('./addMNStu.vue'))
|
||||||
const GenderTag = defineAsyncComponent(() => import('@/components/GenderTag/index.vue'))
|
const GenderTag = defineAsyncComponent(() => import('@/components/GenderTag/index.vue'))
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// Emits
|
// Emits
|
||||||
const emit = defineEmits<{
|
const emit = defineEmits<{
|
||||||
(e: 'refreshDataList'): void
|
(e: 'refreshDataList'): void
|
||||||
|
|||||||
@@ -44,7 +44,7 @@
|
|||||||
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div class="mb15" v-auth="'recruit_recruitexampeople_add'">
|
<div class="mb15" v-if="hasAuth('recruit_recruitexampeople_add')">
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@@ -74,7 +74,7 @@
|
|||||||
<el-table-column label="操作" align="center" width="150px" fixed="right">
|
<el-table-column label="操作" align="center" width="150px" fixed="right">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruit_recruitexampeople_del'"
|
v-if="hasAuth('recruit_recruitexampeople_del')"
|
||||||
type="danger"
|
type="danger"
|
||||||
link
|
link
|
||||||
icon="Delete"
|
icon="Delete"
|
||||||
@@ -108,12 +108,13 @@
|
|||||||
|
|
||||||
<script setup lang="ts" name="recruitexampeople">
|
<script setup lang="ts" name="recruitexampeople">
|
||||||
import { ref, reactive, nextTick, defineAsyncComponent } from 'vue'
|
import { ref, reactive, nextTick, defineAsyncComponent } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { useMessage, useMessageBox } from '/@/hooks/message'
|
import { useMessage, useMessageBox } from '/@/hooks/message'
|
||||||
import { addObj, delObj, fetchList } from '/@/api/recruit/recruitexampeople'
|
import { addObj, delObj, fetchList } from '/@/api/recruit/recruitexampeople'
|
||||||
|
|
||||||
const AddForm = defineAsyncComponent(() => import('./add-form.vue'))
|
const AddForm = defineAsyncComponent(() => import('./add-form.vue'))
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -58,7 +58,7 @@
|
|||||||
<!-- 操作按钮 -->
|
<!-- 操作按钮 -->
|
||||||
<div class="mb15">
|
<div class="mb15">
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruit_recruitplanmajor_add'"
|
v-if="hasAuth('recruit_recruitplanmajor_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="addOrUpdateHandle"
|
@click="addOrUpdateHandle"
|
||||||
@@ -74,6 +74,7 @@
|
|||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
stripe
|
stripe
|
||||||
|
row-key="id"
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
:header-cell-style="tableStyle.headerCellStyle"
|
:header-cell-style="tableStyle.headerCellStyle"
|
||||||
>
|
>
|
||||||
@@ -124,7 +125,6 @@
|
|||||||
<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-auth="'recruit_recruitplanmajor_edit'"
|
|
||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
icon="EditPen"
|
icon="EditPen"
|
||||||
@@ -133,7 +133,7 @@
|
|||||||
修改
|
修改
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruit_recruitplanmajor_del'"
|
v-if="hasAuth('recruit_recruitplanmajor_del')"
|
||||||
type="danger"
|
type="danger"
|
||||||
link
|
link
|
||||||
icon="Delete"
|
icon="Delete"
|
||||||
@@ -160,6 +160,7 @@
|
|||||||
|
|
||||||
<script setup lang="ts" name="recruitplanmajor">
|
<script setup lang="ts" name="recruitplanmajor">
|
||||||
import { ref, reactive, onMounted, nextTick, defineAsyncComponent } from 'vue'
|
import { ref, reactive, onMounted, nextTick, defineAsyncComponent } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { useMessage, useMessageBox } from '/@/hooks/message'
|
import { useMessage, useMessageBox } from '/@/hooks/message'
|
||||||
import { useDict } from '/@/hooks/dict'
|
import { useDict } from '/@/hooks/dict'
|
||||||
@@ -169,7 +170,7 @@ import { getDeptList } from '/@/api/basic/basicclass'
|
|||||||
import { getMajorNameList } from '/@/api/basic/major'
|
import { getMajorNameList } from '/@/api/basic/major'
|
||||||
|
|
||||||
const TableForm = defineAsyncComponent(() => import('./detaiform.vue'))
|
const TableForm = defineAsyncComponent(() => import('./detaiform.vue'))
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -76,7 +76,7 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="对接人" prop="djUser" v-auth="'recruit_recruitprestudent_dj_sure'">
|
<el-form-item label="对接人" prop="djUser" v-if="hasAuth('recruit_recruitprestudent_dj_sure')">
|
||||||
<el-select v-model="dataForm.djUser" filterable clearable placeholder="" >
|
<el-select v-model="dataForm.djUser" filterable clearable placeholder="" >
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in contactNameList"
|
v-for="item in contactNameList"
|
||||||
@@ -295,12 +295,14 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, nextTick } from 'vue'
|
import { ref, reactive, nextTick } from 'vue'
|
||||||
import { ElNotification } from 'element-plus'
|
import { ElNotification } from 'element-plus'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
import { getObj, addObjStu, putObj } from '/@/api/recruit/recruitprestudent'
|
import { getObj, addObjStu, putObj } from '/@/api/recruit/recruitprestudent'
|
||||||
import { getList } from '/@/api/recruit/recruitstudentplangroup'
|
import { getList } from '/@/api/recruit/recruitstudentplangroup'
|
||||||
import { getDicts } from '/@/api/admin/dict'
|
import { getDicts } from '/@/api/admin/dict'
|
||||||
import { queryAllTeacherByRecruit } from '/@/api/professional/professionaluser/teacherbase'
|
import { queryAllTeacherByRecruit } from '/@/api/professional/professionaluser/teacherbase'
|
||||||
import { verifyPhone, verifyAdmissionNumber } from '/@/utils/toolsValidate'
|
import { verifyPhone, verifyAdmissionNumber } from '/@/utils/toolsValidate'
|
||||||
|
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// Props
|
// Props
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
planList?: any[]
|
planList?: any[]
|
||||||
|
|||||||
@@ -85,7 +85,7 @@
|
|||||||
<!-- 操作按钮 -->
|
<!-- 操作按钮 -->
|
||||||
<div class="mb15">
|
<div class="mb15">
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruit_recruitprestudent_add'"
|
v-if="hasAuth('recruit_recruitprestudent_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="addOrUpdateHandle(null)"
|
@click="addOrUpdateHandle(null)"
|
||||||
@@ -111,6 +111,7 @@
|
|||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
stripe
|
stripe
|
||||||
|
row-key="id"
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
:header-cell-style="tableStyle.headerCellStyle"
|
:header-cell-style="tableStyle.headerCellStyle"
|
||||||
>
|
>
|
||||||
@@ -145,7 +146,7 @@
|
|||||||
<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-auth="'recruit_recruitprestudent_edit'"
|
v-if="hasAuth('recruit_recruitprestudent_edit')"
|
||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
icon="EditPen"
|
icon="EditPen"
|
||||||
@@ -154,8 +155,7 @@
|
|||||||
修改
|
修改
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruit_recruitprestudent_dj'"
|
v-if="hasAuth('recruit_recruitprestudent_dj') && scope.row.isDj == '0'"
|
||||||
v-if="scope.row.isDj == '0'"
|
|
||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
icon="Connection"
|
icon="Connection"
|
||||||
@@ -164,7 +164,7 @@
|
|||||||
确认对接
|
确认对接
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruit_recruitprestudent_del'"
|
v-if="hasAuth('recruit_recruitprestudent_del')"
|
||||||
type="danger"
|
type="danger"
|
||||||
link
|
link
|
||||||
icon="Delete"
|
icon="Delete"
|
||||||
@@ -197,6 +197,7 @@
|
|||||||
|
|
||||||
<script setup lang="ts" name="recruitprestudent">
|
<script setup lang="ts" name="recruitprestudent">
|
||||||
import { ref, reactive, onMounted, nextTick, defineAsyncComponent } from 'vue'
|
import { ref, reactive, onMounted, nextTick, defineAsyncComponent } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { useDict } from '/@/hooks/dict'
|
import { useDict } from '/@/hooks/dict'
|
||||||
import { useMessage, useMessageBox } from '/@/hooks/message'
|
import { useMessage, useMessageBox } from '/@/hooks/message'
|
||||||
@@ -208,7 +209,7 @@ import { queryByGroupId as schoolListApi} from '/@/api/recruit/recruitstudentsch
|
|||||||
import { getDeptListByLevelTwo } from '/@/api/basic/basicdept'
|
import { getDeptListByLevelTwo } from '/@/api/basic/basicdept'
|
||||||
|
|
||||||
const TableForm = defineAsyncComponent(() => import('./enrolplantemplate-form.vue'))
|
const TableForm = defineAsyncComponent(() => import('./enrolplantemplate-form.vue'))
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -45,7 +45,7 @@
|
|||||||
<!-- 操作按钮 -->
|
<!-- 操作按钮 -->
|
||||||
<div class="mb15">
|
<div class="mb15">
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruit_recruitschoolcode_add'"
|
v-if="hasAuth('recruit_recruitschoolcode_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="addOrUpdateHandle()"
|
@click="addOrUpdateHandle()"
|
||||||
@@ -53,7 +53,7 @@
|
|||||||
新增
|
新增
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruit_recruitschoolcode_add'"
|
v-if="hasAuth('recruit_recruitschoolcode_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
plain
|
plain
|
||||||
icon="UploadFilled"
|
icon="UploadFilled"
|
||||||
@@ -85,7 +85,7 @@
|
|||||||
<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-auth="'recruit_recruitschoolcode_edit'"
|
v-if="hasAuth('recruit_recruitschoolcode_edit')"
|
||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
icon="EditPen"
|
icon="EditPen"
|
||||||
@@ -94,7 +94,7 @@
|
|||||||
修改
|
修改
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruit_recruitschoolcode_del'"
|
v-if="hasAuth('recruit_recruitschoolcode_del')"
|
||||||
type="danger"
|
type="danger"
|
||||||
link
|
link
|
||||||
icon="Delete"
|
icon="Delete"
|
||||||
@@ -164,6 +164,7 @@
|
|||||||
|
|
||||||
<script setup lang="ts" name="recruitschoolcode">
|
<script setup lang="ts" name="recruitschoolcode">
|
||||||
import { ref, reactive, onMounted, defineAsyncComponent } from 'vue'
|
import { ref, reactive, onMounted, defineAsyncComponent } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { useMessage, useMessageBox } from '/@/hooks/message'
|
import { useMessage, useMessageBox } from '/@/hooks/message'
|
||||||
import { getList } from '/@/api/recruit/recruitstudentplangroup'
|
import { getList } from '/@/api/recruit/recruitstudentplangroup'
|
||||||
@@ -171,7 +172,7 @@ import { delObj, fetchList } from '/@/api/recruit/recruitschoolcode'
|
|||||||
import request from '/@/utils/request'
|
import request from '/@/utils/request'
|
||||||
|
|
||||||
const TableForm = defineAsyncComponent(() => import('./detaiform.vue'))
|
const TableForm = defineAsyncComponent(() => import('./detaiform.vue'))
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
<el-button type="primary" icon="Search" @click="getDataList">查询</el-button>
|
<el-button type="primary" icon="Search" @click="getDataList">查询</el-button>
|
||||||
<el-button type="primary" plain icon="Refresh" class="ml10" @click="resetQuery">重置</el-button>
|
<el-button type="primary" plain icon="Refresh" class="ml10" @click="resetQuery">重置</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item v-auth="'recruit_recruitstudentplan_add'">
|
<el-form-item v-if="hasAuth('recruit_recruitstudentplan_add')">
|
||||||
<el-button type="primary" icon="FolderAdd" class="ml10" @click="handleAdd">新增</el-button>
|
<el-button type="primary" icon="FolderAdd" class="ml10" @click="handleAdd">新增</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
@@ -36,6 +36,7 @@
|
|||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
stripe
|
stripe
|
||||||
|
row-key="id"
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
:header-cell-style="tableStyle.headerCellStyle"
|
:header-cell-style="tableStyle.headerCellStyle"
|
||||||
>
|
>
|
||||||
@@ -60,7 +61,7 @@
|
|||||||
<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-auth="'recruit_recruitstudentplan_edit'"
|
v-if="hasAuth('recruit_recruitstudentplan_edit')"
|
||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
icon="EditPen"
|
icon="EditPen"
|
||||||
@@ -69,7 +70,7 @@
|
|||||||
编辑
|
编辑
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruit_recruitstudentplan_del'"
|
v-if="hasAuth('recruit_recruitstudentplan_del')"
|
||||||
type="danger"
|
type="danger"
|
||||||
link
|
link
|
||||||
icon="Delete"
|
icon="Delete"
|
||||||
@@ -168,10 +169,12 @@
|
|||||||
|
|
||||||
<script setup lang="ts" name="recruitstudentplan">
|
<script setup lang="ts" name="recruitstudentplan">
|
||||||
import { ref, reactive } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { useMessage, useMessageBox } from '/@/hooks/message'
|
import { useMessage, useMessageBox } from '/@/hooks/message'
|
||||||
import { addObj, delObj, fetchList, putObj } from '/@/api/recruit/recruitstudentplan'
|
import { addObj, delObj, fetchList, putObj } from '/@/api/recruit/recruitstudentplan'
|
||||||
|
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
<!-- 操作按钮 -->
|
<!-- 操作按钮 -->
|
||||||
<div class="mb15">
|
<div class="mb15">
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruit_recruitstudentplancorrectscoreconfig_add'"
|
v-if="hasAuth('recruit_recruitstudentplancorrectscoreconfig_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="addOrUpdateHandle"
|
@click="addOrUpdateHandle"
|
||||||
@@ -38,6 +38,7 @@
|
|||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
stripe
|
stripe
|
||||||
|
row-key="id"
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
:header-cell-style="tableStyle.headerCellStyle"
|
:header-cell-style="tableStyle.headerCellStyle"
|
||||||
>
|
>
|
||||||
@@ -52,7 +53,7 @@
|
|||||||
<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-auth="'recruit_recruitstudentplancorrectscoreconfig_edit'"
|
v-if="hasAuth('recruit_recruitstudentplancorrectscoreconfig_edit')"
|
||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
icon="EditPen"
|
icon="EditPen"
|
||||||
@@ -61,7 +62,7 @@
|
|||||||
修改
|
修改
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruit_recruitstudentplancorrectscoreconfig_del'"
|
v-if="hasAuth('recruit_recruitstudentplancorrectscoreconfig_del')"
|
||||||
type="danger"
|
type="danger"
|
||||||
link
|
link
|
||||||
icon="Delete"
|
icon="Delete"
|
||||||
@@ -88,13 +89,14 @@
|
|||||||
|
|
||||||
<script setup lang="ts" name="recruitstudentplancorrectscoreconfig">
|
<script setup lang="ts" name="recruitstudentplancorrectscoreconfig">
|
||||||
import { ref, reactive, onMounted, nextTick, defineAsyncComponent } from 'vue'
|
import { ref, reactive, onMounted, nextTick, defineAsyncComponent } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { useMessage, useMessageBox } from '/@/hooks/message'
|
import { useMessage, useMessageBox } from '/@/hooks/message'
|
||||||
import { getList } from '/@/api/recruit/recruitstudentplangroup'
|
import { getList } from '/@/api/recruit/recruitstudentplangroup'
|
||||||
import { fetchList, delObj } from '/@/api/recruit/recruitstudentplancorrectscoreconfig'
|
import { fetchList, delObj } from '/@/api/recruit/recruitstudentplancorrectscoreconfig'
|
||||||
|
|
||||||
const TableForm = defineAsyncComponent(() => import('./detaiform.vue'))
|
const TableForm = defineAsyncComponent(() => import('./detaiform.vue'))
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
<el-button type="primary" icon="Search" @click="getDataList">查询</el-button>
|
<el-button type="primary" icon="Search" @click="getDataList">查询</el-button>
|
||||||
<el-button type="primary" plain icon="Refresh" class="ml10" @click="resetQuery">重置</el-button>
|
<el-button type="primary" plain icon="Refresh" class="ml10" @click="resetQuery">重置</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item v-auth="'recruit_recruitstudentplandegreeofeducation_add'">
|
<el-form-item v-if="hasAuth('recruit_recruitstudentplandegreeofeducation_add')">
|
||||||
<el-button type="primary" icon="FolderAdd" class="ml10" @click="handleAdd">新增</el-button>
|
<el-button type="primary" icon="FolderAdd" class="ml10" @click="handleAdd">新增</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
@@ -36,6 +36,7 @@
|
|||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
stripe
|
stripe
|
||||||
|
row-key="id"
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
:header-cell-style="tableStyle.headerCellStyle"
|
:header-cell-style="tableStyle.headerCellStyle"
|
||||||
>
|
>
|
||||||
@@ -48,7 +49,7 @@
|
|||||||
<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-auth="'recruit_recruitstudentplandegreeofeducation_edit'"
|
v-if="hasAuth('recruit_recruitstudentplandegreeofeducation_edit')"
|
||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
icon="EditPen"
|
icon="EditPen"
|
||||||
@@ -57,7 +58,7 @@
|
|||||||
编辑
|
编辑
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruit_recruitstudentplandegreeofeducation_del'"
|
v-if="hasAuth('recruit_recruitstudentplandegreeofeducation_del')"
|
||||||
type="danger"
|
type="danger"
|
||||||
link
|
link
|
||||||
icon="Delete"
|
icon="Delete"
|
||||||
@@ -114,10 +115,12 @@
|
|||||||
|
|
||||||
<script setup lang="ts" name="recruitstudentplandegreeofeducation">
|
<script setup lang="ts" name="recruitstudentplandegreeofeducation">
|
||||||
import { ref, reactive } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { useMessage, useMessageBox } from '/@/hooks/message'
|
import { useMessage, useMessageBox } from '/@/hooks/message'
|
||||||
import { addObj, delObj, fetchList, putObj } from '/@/api/recruit/recruitstudentplandegreeofeducation'
|
import { addObj, delObj, fetchList, putObj } from '/@/api/recruit/recruitstudentplandegreeofeducation'
|
||||||
|
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -15,10 +15,10 @@
|
|||||||
|
|
||||||
<!-- 操作按钮 -->
|
<!-- 操作按钮 -->
|
||||||
<div class="mb15">
|
<div class="mb15">
|
||||||
<el-button v-auth="'recruit_recruitstudentplangroup_add'" type="primary" icon="FolderAdd" @click="addOrUpdateHandle()">
|
<el-button v-if="hasAuth('recruit_recruitstudentplangroup_add')" type="primary" icon="FolderAdd" @click="addOrUpdateHandle()">
|
||||||
新 增
|
新 增
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button v-auth="'recruit_recruitexampeople_add'" type="primary" plain icon="UserFilled" class="ml10" @click="editExam">
|
<el-button v-if="hasAuth('recruit_recruitexampeople_add')" type="primary" plain icon="UserFilled" class="ml10" @click="editExam">
|
||||||
审核人员管理
|
审核人员管理
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
@@ -30,6 +30,7 @@
|
|||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
stripe
|
stripe
|
||||||
|
row-key="id"
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
:header-cell-style="tableStyle.headerCellStyle"
|
:header-cell-style="tableStyle.headerCellStyle"
|
||||||
>
|
>
|
||||||
@@ -106,7 +107,7 @@
|
|||||||
<el-table-column label="操作" width="240" align="center" fixed="right">
|
<el-table-column label="操作" width="240" align="center" fixed="right">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruit_recruitstudentplangroup_edit'"
|
v-if="hasAuth('recruit_recruitstudentplangroup_edit')"
|
||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
icon="EditPen"
|
icon="EditPen"
|
||||||
@@ -114,10 +115,10 @@
|
|||||||
>
|
>
|
||||||
修改
|
修改
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button v-auth="'recruit_recruitstudentplangroup_edit'" type="primary" link icon="Switch" @click="majorHandle(scope.row)">
|
<el-button v-if="hasAuth('recruit_recruitstudentplangroup_edit')" type="primary" link icon="Switch" @click="majorHandle(scope.row)">
|
||||||
专业调整
|
专业调整
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button v-auth="'recruit_recruitstudentplangroup_del'" type="danger" link icon="Delete" @click="deleteHandle(scope.row.id)">
|
<el-button v-if="hasAuth('recruit_recruitstudentplangroup_del')" type="danger" link icon="Delete" @click="deleteHandle(scope.row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
@@ -142,6 +143,7 @@
|
|||||||
|
|
||||||
<script setup lang="ts" name="recruitstudentplangroup">
|
<script setup lang="ts" name="recruitstudentplangroup">
|
||||||
import { ref, reactive, onMounted, nextTick, defineAsyncComponent, watch } from 'vue';
|
import { ref, reactive, onMounted, nextTick, defineAsyncComponent, watch } from 'vue';
|
||||||
|
import { useAuth } from '/@/hooks/auth';
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table';
|
import { BasicTableProps, useTable } from '/@/hooks/table';
|
||||||
import { useMessage, useMessageBox } from '/@/hooks/message';
|
import { useMessage, useMessageBox } from '/@/hooks/message';
|
||||||
import { delObj, fetchList, putObj, editQuickField } from '/@/api/recruit/recruitstudentplangroup';
|
import { delObj, fetchList, putObj, editQuickField } from '/@/api/recruit/recruitstudentplangroup';
|
||||||
@@ -152,7 +154,7 @@ import { Calendar } from '@element-plus/icons-vue';
|
|||||||
const TableForm = defineAsyncComponent(() => import('./enrolplantemplate-form.vue'));
|
const TableForm = defineAsyncComponent(() => import('./enrolplantemplate-form.vue'));
|
||||||
const MajorGroupByDeptForm = defineAsyncComponent(() => import('@/views/recruit/recruitplanmajor/majorGroupByDept.vue'));
|
const MajorGroupByDeptForm = defineAsyncComponent(() => import('@/views/recruit/recruitplanmajor/majorGroupByDept.vue'));
|
||||||
const ExamPeopleIndex = defineAsyncComponent(() => import('@/views/recruit/recruitexampeople/index.vue'));
|
const ExamPeopleIndex = defineAsyncComponent(() => import('@/views/recruit/recruitexampeople/index.vue'));
|
||||||
|
const { hasAuth } = useAuth();
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage();
|
const message = useMessage();
|
||||||
const messageBox = useMessageBox();
|
const messageBox = useMessageBox();
|
||||||
|
|||||||
@@ -42,7 +42,7 @@
|
|||||||
<!-- 操作按钮 -->
|
<!-- 操作按钮 -->
|
||||||
<div class="mb15">
|
<div class="mb15">
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruit_recruitstudentplangroup_add'"
|
v-if="hasAuth('recruit_recruitstudentplangroup_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="addOrUpdateHandle"
|
@click="addOrUpdateHandle"
|
||||||
@@ -58,6 +58,7 @@
|
|||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
stripe
|
stripe
|
||||||
|
row-key="id"
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
:header-cell-style="tableStyle.headerCellStyle"
|
:header-cell-style="tableStyle.headerCellStyle"
|
||||||
>
|
>
|
||||||
@@ -77,7 +78,7 @@
|
|||||||
<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-auth="'recruit_recruitstudentschool_edit'"
|
v-if="hasAuth('recruit_recruitstudentschool_edit')"
|
||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
icon="EditPen"
|
icon="EditPen"
|
||||||
@@ -86,7 +87,7 @@
|
|||||||
修改
|
修改
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruit_recruitstudentschool_del'"
|
v-if="hasAuth('recruit_recruitstudentschool_del')"
|
||||||
type="danger"
|
type="danger"
|
||||||
link
|
link
|
||||||
icon="Delete"
|
icon="Delete"
|
||||||
@@ -114,6 +115,7 @@
|
|||||||
|
|
||||||
<script setup lang="ts" name="recruitstudentschool">
|
<script setup lang="ts" name="recruitstudentschool">
|
||||||
import { ref, reactive, onMounted, nextTick, defineAsyncComponent } from 'vue'
|
import { ref, reactive, onMounted, nextTick, defineAsyncComponent } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { useMessage, useMessageBox } from '/@/hooks/message'
|
import { useMessage, useMessageBox } from '/@/hooks/message'
|
||||||
import { getList } from '/@/api/recruit/recruitstudentplangroup'
|
import { getList } from '/@/api/recruit/recruitstudentplangroup'
|
||||||
@@ -122,7 +124,7 @@ import { getDeptList } from '/@/api/basic/basicclass'
|
|||||||
|
|
||||||
const TableForm = defineAsyncComponent(() => import('./detaiform.vue'))
|
const TableForm = defineAsyncComponent(() => import('./detaiform.vue'))
|
||||||
const MajorGroupByDeptForm = defineAsyncComponent(() => import('/@/views/recruit/recruitplanmajor/majorGroupByDept.vue'))
|
const MajorGroupByDeptForm = defineAsyncComponent(() => import('/@/views/recruit/recruitplanmajor/majorGroupByDept.vue'))
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<template #footer>
|
<template #footer>
|
||||||
<div class="dialog-footer">
|
<div class="dialog-footer">
|
||||||
<el-button @click="handleClose">关 闭</el-button>
|
<el-button @click="handleClose">关 闭</el-button>
|
||||||
<el-button @click="handleConfirm" v-auth="'recruit_recruitstudentsignup_sureLQTZ'" v-if="canConfirm" type="primary">确认已发放</el-button>
|
<el-button @click="handleConfirm" v-if="hasAuth('recruit_recruitstudentsignup_sureLQTZ') && canConfirm" type="primary">确认已发放</el-button>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
@@ -15,12 +15,14 @@
|
|||||||
<script>
|
<script>
|
||||||
import { ref } from 'vue'
|
import { ref } from 'vue'
|
||||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
import { toWord, sureLQTZ } from '/@/api/recruit/recruitstudentsignup'
|
import { toWord, sureLQTZ } from '/@/api/recruit/recruitstudentsignup'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'AdmissionNoticeDialog',
|
name: 'AdmissionNoticeDialog',
|
||||||
emits: ['refresh'],
|
emits: ['refresh'],
|
||||||
setup(props, { emit }) {
|
setup(props, { emit }) {
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
const visible = ref(false)
|
const visible = ref(false)
|
||||||
const pdfPath = ref('')
|
const pdfPath = ref('')
|
||||||
const currentId = ref('')
|
const currentId = ref('')
|
||||||
@@ -61,6 +63,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
hasAuth,
|
||||||
visible,
|
visible,
|
||||||
pdfPath,
|
pdfPath,
|
||||||
canConfirm,
|
canConfirm,
|
||||||
|
|||||||
@@ -669,10 +669,10 @@
|
|||||||
<template #footer v-if="isEdit">
|
<template #footer v-if="isEdit">
|
||||||
<div class="dialog-footer">
|
<div class="dialog-footer">
|
||||||
<el-button @click="visible = false">取消</el-button>
|
<el-button @click="visible = false">取消</el-button>
|
||||||
<el-button type="primary" @click="dataFormSubmit('0')" v-auth="'recruit_recruitstudentsignup_add'" v-if="canSubmit&&!dataForm.id">保存并送审</el-button>
|
<el-button type="primary" @click="dataFormSubmit('0')" v-if="hasAuth('recruit_recruitstudentsignup_add') && canSubmit&&!dataForm.id">保存并送审</el-button>
|
||||||
<el-button type="primary" @click="dataFormSubmit('0')" v-auth="'recruit_recruitstudentsignup_edit'" v-if="canSubmit&&dataForm.id">保存</el-button>
|
<el-button type="primary" @click="dataFormSubmit('0')" v-if="hasAuth('recruit_recruitstudentsignup_edit') && canSubmit&&dataForm.id">保存</el-button>
|
||||||
<el-button type="success" icon="CircleCheck" @click="dataFormSubmit('20')" v-auth="'signup_info_exam'" v-if="canSubmit&&dataForm.id">确认录取</el-button>
|
<el-button type="success" icon="CircleCheck" @click="dataFormSubmit('20')" v-if="hasAuth('signup_info_exam') && canSubmit&&dataForm.id">确认录取</el-button>
|
||||||
<el-button type="danger" icon="CircleClose" @click="dataFormSubmit('-20')" v-auth="'signup_info_exam'" v-if="canSubmit&&dataForm.id">驳回录取</el-button>
|
<el-button type="danger" icon="CircleClose" @click="dataFormSubmit('-20')" v-if="hasAuth('signup_info_exam') && canSubmit&&dataForm.id">驳回录取</el-button>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -686,6 +686,7 @@
|
|||||||
import { ref, reactive, nextTick, watch, computed, onMounted } from 'vue'
|
import { ref, reactive, nextTick, watch, computed, onMounted } from 'vue'
|
||||||
import { ElNotification } from 'element-plus'
|
import { ElNotification } from 'element-plus'
|
||||||
import { Plus } from '@element-plus/icons-vue'
|
import { Plus } from '@element-plus/icons-vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
import { useMessage, useMessageBox } from '/@/hooks/message'
|
import { useMessage, useMessageBox } from '/@/hooks/message'
|
||||||
import { Session } from '/@/utils/storage'
|
import { Session } from '/@/utils/storage'
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
@@ -701,6 +702,7 @@ import { getNationalList } from "/@/api/basic/basicnation"
|
|||||||
import { verifyAdmissionNumber, verifyPhone } from '/@/utils/toolsValidate'
|
import { verifyAdmissionNumber, verifyPhone } from '/@/utils/toolsValidate'
|
||||||
import { AUDIT_STATUS_LIST, getStatusConfig } from '/@/config/global'
|
import { AUDIT_STATUS_LIST, getStatusConfig } from '/@/config/global'
|
||||||
|
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
// Emits
|
// Emits
|
||||||
|
|||||||
@@ -275,15 +275,15 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<div class="mb15" style="width: 100%;">
|
<div class="mb15" style="width: 100%;">
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('recruit_send_img')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
v-auth="'recruit_send_img'"
|
|
||||||
@click="handleAddData">新增
|
@click="handleAddData">新增
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="hasAuth('zipExport')"
|
||||||
type="warning"
|
type="warning"
|
||||||
plain
|
plain
|
||||||
v-auth="'zipExport'"
|
|
||||||
icon="Download"
|
icon="Download"
|
||||||
@click="downZip()">招生名单打包导出
|
@click="downZip()">招生名单打包导出
|
||||||
</el-button>
|
</el-button>
|
||||||
@@ -642,9 +642,9 @@
|
|||||||
import { ref, reactive, onMounted, nextTick, defineAsyncComponent, watch } from 'vue'
|
import { ref, reactive, onMounted, nextTick, defineAsyncComponent, watch } from 'vue'
|
||||||
import { Edit, Check, DocumentChecked, Close, Switch, Tickets, Document, Warning, User, CircleCheck } from '@element-plus/icons-vue'
|
import { Edit, Check, DocumentChecked, Close, Switch, Tickets, Document, Warning, User, CircleCheck } from '@element-plus/icons-vue'
|
||||||
import ClickableTag from '/@/components/ClickableTag/index.vue'
|
import ClickableTag from '/@/components/ClickableTag/index.vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
import { useMessage, useMessageBox } from '/@/hooks/message'
|
import { useMessage, useMessageBox } from '/@/hooks/message'
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { auth } from '/@/utils/authFunction'
|
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
import { getList } from '/@/api/recruit/recruitstudentplangroup'
|
import { getList } from '/@/api/recruit/recruitstudentplangroup'
|
||||||
import {
|
import {
|
||||||
@@ -681,7 +681,7 @@ const InterviewForm = defineAsyncComponent(() => import('/@/views/recruit/recrui
|
|||||||
const PayQrcodeDialog = defineAsyncComponent(() => import('./PayQrcodeDialog.vue'))
|
const PayQrcodeDialog = defineAsyncComponent(() => import('./PayQrcodeDialog.vue'))
|
||||||
const AdmissionNoticeDialog = defineAsyncComponent(() => import('./AdmissionNoticeDialog.vue'))
|
const AdmissionNoticeDialog = defineAsyncComponent(() => import('./AdmissionNoticeDialog.vue'))
|
||||||
const ActionDropdown = defineAsyncComponent(() => import('/@/components/tools/action-dropdown.vue'))
|
const ActionDropdown = defineAsyncComponent(() => import('/@/components/tools/action-dropdown.vue'))
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
@@ -989,68 +989,68 @@ const getActionMenuItems = (row: any) => {
|
|||||||
command: 'edit',
|
command: 'edit',
|
||||||
label: '补材料',
|
label: '补材料',
|
||||||
icon: Edit,
|
icon: Edit,
|
||||||
visible: () => auth('recruit_recruitstudentsignup_edit')
|
visible: () => hasAuth('recruit_recruitstudentsignup_edit')
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
command: 'interview',
|
command: 'interview',
|
||||||
label: '面试',
|
label: '面试',
|
||||||
icon: Check,
|
icon: Check,
|
||||||
visible: () => auth('recruit_recruitstudentsignup_interview') && row.canInterview
|
visible: () => hasAuth('recruit_recruitstudentsignup_interview') && row.canInterview
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
command: 'audit',
|
command: 'audit',
|
||||||
label: '审核',
|
label: '审核',
|
||||||
icon: DocumentChecked,
|
icon: DocumentChecked,
|
||||||
visible: () => auth('recruit_recruitstudentsignup_edit') && row.canExam
|
visible: () => hasAuth('recruit_recruitstudentsignup_edit') && row.canExam
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
command: 'leaveSchool',
|
command: 'leaveSchool',
|
||||||
label: '退学',
|
label: '退学',
|
||||||
icon: Close,
|
icon: Close,
|
||||||
visible: () => auth('recruit_recruitstudentsignup_leaveSchool') && row.canQuit
|
visible: () => hasAuth('recruit_recruitstudentsignup_leaveSchool') && row.canQuit
|
||||||
},
|
},
|
||||||
// 复学
|
// 复学
|
||||||
{
|
{
|
||||||
command: 'reEntry',
|
command: 'reEntry',
|
||||||
label: '复学',
|
label: '复学',
|
||||||
icon: Check,
|
icon: Check,
|
||||||
visible: () => auth('recruit_resetsign') && row.canReset
|
visible: () => hasAuth('recruit_resetsign') && row.canReset
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
command: 'majorChange',
|
command: 'majorChange',
|
||||||
label: '调整专业',
|
label: '调整专业',
|
||||||
icon: Switch,
|
icon: Switch,
|
||||||
visible: () => auth('recruit_recruitstudentsignup_change') && row.canChangeMajor
|
visible: () => hasAuth('recruit_recruitstudentsignup_change') && row.canChangeMajor
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
command: 'payQrcode',
|
command: 'payQrcode',
|
||||||
label: '支付二维码',
|
label: '支付二维码',
|
||||||
icon: Tickets,
|
icon: Tickets,
|
||||||
visible: () => auth('recruit_recruitstudentsignup_show') && row.canPayQrcode
|
visible: () => hasAuth('recruit_recruitstudentsignup_show') && row.canPayQrcode
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
command: 'rePush',
|
command: 'rePush',
|
||||||
label: '重新推送',
|
label: '重新推送',
|
||||||
icon: Check,
|
icon: Check,
|
||||||
visible: () => auth('recruit_recruitstudentsignup_rePush') && row.rePush
|
visible: () => hasAuth('recruit_recruitstudentsignup_rePush') && row.rePush
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
command: 'admissionNotice',
|
command: 'admissionNotice',
|
||||||
label: '录取通知书',
|
label: '录取通知书',
|
||||||
icon: Document,
|
icon: Document,
|
||||||
visible: () => auth('recruit_recruitstudentsignup_show') && row.canPrintReport
|
visible: () => hasAuth('recruit_recruitstudentsignup_show') && row.canPrintReport
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
command: 'infoTable',
|
command: 'infoTable',
|
||||||
label: '信息表',
|
label: '信息表',
|
||||||
icon: Document,
|
icon: Document,
|
||||||
visible: () => auth('recruit_recruitstudentsignup_show') && row.canShowInfo
|
visible: () => hasAuth('recruit_recruitstudentsignup_show') && row.canShowInfo
|
||||||
},
|
},
|
||||||
// {
|
// {
|
||||||
// command: 'pushCity',
|
// command: 'pushCity',
|
||||||
// label: '推送市局',
|
// label: '推送市局',
|
||||||
// icon: Upload,
|
// icon: Upload,
|
||||||
// visible: () => auth('recruit_recruitstudentsignup_push') && row.auditStatus == '20'
|
// visible: () => hasAuth('recruit_recruitstudentsignup_push') && row.auditStatus == '20'
|
||||||
// }
|
// }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -209,7 +209,7 @@
|
|||||||
@click="handleExport()">分班导出
|
@click="handleExport()">分班导出
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruit_banding'"
|
v-if="hasAuth('recruit_banding')"
|
||||||
class="ml10"
|
class="ml10"
|
||||||
type="danger"
|
type="danger"
|
||||||
plain
|
plain
|
||||||
@@ -217,7 +217,7 @@
|
|||||||
@click="oneClassHandle()">一键分班
|
@click="oneClassHandle()">一键分班
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruit_banding'"
|
v-if="hasAuth('recruit_banding')"
|
||||||
class="ml10"
|
class="ml10"
|
||||||
type="danger"
|
type="danger"
|
||||||
plain
|
plain
|
||||||
@@ -225,7 +225,7 @@
|
|||||||
@click="oneStuNoHandle()">一键分学号
|
@click="oneStuNoHandle()">一键分学号
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruit_synchronous_stuwork'"
|
v-if="hasAuth('recruit_synchronous_stuwork')"
|
||||||
class="ml10"
|
class="ml10"
|
||||||
type="primary"
|
type="primary"
|
||||||
plain
|
plain
|
||||||
@@ -329,8 +329,7 @@
|
|||||||
查看
|
查看
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="scope.row.isTb=='0' && scope.row.classNo !=null"
|
v-if="hasAuth('recruit_banding') && scope.row.isTb=='0' && scope.row.classNo !=null"
|
||||||
v-auth="'recruit_banding'"
|
|
||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
icon="Switch"
|
icon="Switch"
|
||||||
@@ -387,6 +386,7 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, nextTick, onMounted, defineAsyncComponent } from 'vue'
|
import { ref, reactive, nextTick, onMounted, defineAsyncComponent } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
import { useMessage } from '/@/hooks/message'
|
import { useMessage } from '/@/hooks/message'
|
||||||
import { useMessageBox } from '/@/hooks/message'
|
import { useMessageBox } from '/@/hooks/message'
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
@@ -411,7 +411,7 @@ import { useDict } from '/@/hooks/dict'
|
|||||||
|
|
||||||
const TableForm = defineAsyncComponent(() => import('./detaiform.vue'))
|
const TableForm = defineAsyncComponent(() => import('./detaiform.vue'))
|
||||||
const GenderTag = defineAsyncComponent(() => import('/@/components/GenderTag/index.vue'))
|
const GenderTag = defineAsyncComponent(() => import('/@/components/GenderTag/index.vue'))
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 使用 hooks
|
// 使用 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
|
|
||||||
|
|||||||
@@ -87,14 +87,14 @@
|
|||||||
<!-- 操作按钮 -->
|
<!-- 操作按钮 -->
|
||||||
<div class="mb15">
|
<div class="mb15">
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruitStuDorm'"
|
v-if="hasAuth('recruitStuDorm')"
|
||||||
icon="Setting"
|
icon="Setting"
|
||||||
@click="setDormFW"
|
@click="setDormFW"
|
||||||
>
|
>
|
||||||
设置住宿范围
|
设置住宿范围
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruitStuDorm'"
|
v-if="hasAuth('recruitStuDorm')"
|
||||||
type="danger"
|
type="danger"
|
||||||
plain
|
plain
|
||||||
icon="Location"
|
icon="Location"
|
||||||
@@ -104,7 +104,7 @@
|
|||||||
一键判断住宿范围
|
一键判断住宿范围
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruitStuDormMess'"
|
v-if="hasAuth('recruitStuDormMess')"
|
||||||
type="danger"
|
type="danger"
|
||||||
plain
|
plain
|
||||||
icon="Message"
|
icon="Message"
|
||||||
@@ -167,8 +167,7 @@
|
|||||||
<el-table-column label="操作" width="300" align="center" fixed="right">
|
<el-table-column label="操作" width="300" align="center" fixed="right">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruitStuDormSd'"
|
v-if="hasAuth('recruitStuDormSd') && scope.row.isOutFw != '1'"
|
||||||
v-if="scope.row.isOutFw != '1'"
|
|
||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
icon="CircleCheck"
|
icon="CircleCheck"
|
||||||
@@ -177,8 +176,7 @@
|
|||||||
设为范围内
|
设为范围内
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruitStuDormSd'"
|
v-if="hasAuth('recruitStuDormSd') && scope.row.isOutFw != '2'"
|
||||||
v-if="scope.row.isOutFw != '2'"
|
|
||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
icon="Close"
|
icon="Close"
|
||||||
@@ -195,7 +193,7 @@
|
|||||||
家庭地址
|
家庭地址
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruitStuDormDel'"
|
v-if="hasAuth('recruitStuDormDel')"
|
||||||
type="danger"
|
type="danger"
|
||||||
link
|
link
|
||||||
icon="Delete"
|
icon="Delete"
|
||||||
@@ -221,6 +219,7 @@
|
|||||||
|
|
||||||
<script setup lang="ts" name="recruitstudentsignupList">
|
<script setup lang="ts" name="recruitstudentsignupList">
|
||||||
import { ref, reactive, onMounted, nextTick, defineAsyncComponent } from 'vue'
|
import { ref, reactive, onMounted, nextTick, defineAsyncComponent } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { useMessage, useMessageBox } from '/@/hooks/message'
|
import { useMessage, useMessageBox } from '/@/hooks/message'
|
||||||
import { useDict } from '/@/hooks/dict'
|
import { useDict } from '/@/hooks/dict'
|
||||||
@@ -233,7 +232,7 @@ const GenderTag = defineAsyncComponent(() => import('/@/components/GenderTag/ind
|
|||||||
const SearchForm = defineAsyncComponent(() => import('/@/components/SearchForm/index.vue'))
|
const SearchForm = defineAsyncComponent(() => import('/@/components/SearchForm/index.vue'))
|
||||||
const DormFW = defineAsyncComponent(() => import('./dormFW.vue'))
|
const DormFW = defineAsyncComponent(() => import('./dormFW.vue'))
|
||||||
const ShowMap = defineAsyncComponent(() => import('./showMap.vue'))
|
const ShowMap = defineAsyncComponent(() => import('./showMap.vue'))
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const messageBox = useMessageBox()
|
const messageBox = useMessageBox()
|
||||||
|
|||||||
@@ -33,7 +33,7 @@
|
|||||||
filterable
|
filterable
|
||||||
clearable
|
clearable
|
||||||
placeholder=""
|
placeholder=""
|
||||||
:disabled="!(auth('recruit_recruitprestudent_dj_sure') || dataForm.auditStatus != '20')">
|
:disabled="!(hasAuth('recruit_recruitprestudent_dj_sure') || dataForm.auditStatus != '20')">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in contactNameList"
|
v-for="item in contactNameList"
|
||||||
:key="item.teacherNo"
|
:key="item.teacherNo"
|
||||||
@@ -183,9 +183,9 @@
|
|||||||
<template #footer>
|
<template #footer>
|
||||||
<div class="dialog-footer">
|
<div class="dialog-footer">
|
||||||
<el-button @click="visible = false">取消</el-button>
|
<el-button @click="visible = false">取消</el-button>
|
||||||
<el-button type="primary" @click="dataFormSubmit('1')" v-auth="'recruit_recruitstudentsignup_edit'" v-if="canSubmit">保存</el-button>
|
<el-button type="primary" @click="dataFormSubmit('1')" v-if="hasAuth('recruit_recruitstudentsignup_edit') && canSubmit">保存</el-button>
|
||||||
<el-button type="success" icon="CircleCheck" @click="dataFormSubmit('2')" v-auth="'signup_material_exam'" v-if="canSubmit">通过</el-button>
|
<el-button type="success" icon="CircleCheck" @click="dataFormSubmit('2')" v-if="hasAuth('signup_material_exam') && canSubmit">通过</el-button>
|
||||||
<el-button type="danger" icon="CircleClose" @click="dataFormSubmit('3')" v-auth="'signup_material_exam'" v-if="canSubmit">驳回</el-button>
|
<el-button type="danger" icon="CircleClose" @click="dataFormSubmit('3')" v-if="hasAuth('signup_material_exam') && canSubmit">驳回</el-button>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -198,16 +198,17 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, nextTick, computed, onMounted } from 'vue'
|
import { ref, reactive, nextTick, computed, onMounted } from 'vue'
|
||||||
import { Plus } from '@element-plus/icons-vue'
|
import { Plus } from '@element-plus/icons-vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
import { useMessage } from '/@/hooks/message'
|
import { useMessage } from '/@/hooks/message'
|
||||||
import { Session } from '/@/utils/storage'
|
import { Session } from '/@/utils/storage'
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
import { auth } from '/@/utils/authFunction'
|
|
||||||
import { getObj, materialExam } from '/@/api/recruit/recruitstudentsignup'
|
import { getObj, materialExam } from '/@/api/recruit/recruitstudentsignup'
|
||||||
import { getList } from '/@/api/recruit/recruitstudentplangroup'
|
import { getList } from '/@/api/recruit/recruitstudentplangroup'
|
||||||
import { queryAllTeacher } from '/@/api/professional/professionaluser/teacherbase'
|
import { queryAllTeacher } from '/@/api/professional/professionaluser/teacherbase'
|
||||||
import { AUDIT_STATUS_LIST, getStatusConfig } from '/@/config/global'
|
import { AUDIT_STATUS_LIST, getStatusConfig } from '/@/config/global'
|
||||||
|
|
||||||
const auditStatusList = AUDIT_STATUS_LIST
|
const auditStatusList = AUDIT_STATUS_LIST
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
|
|
||||||
|
|||||||
@@ -155,8 +155,7 @@
|
|||||||
<el-table-column label="操作" width="100" align="center" fixed="right">
|
<el-table-column label="操作" width="100" align="center" fixed="right">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruit_recruitstudentsignupturnover_edit'"
|
v-if="hasAuth('recruit_recruitstudentsignupturnover_edit') && scope.row.isMajorChange == '1'"
|
||||||
v-if="scope.row.isMajorChange == '1'"
|
|
||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
icon="EditPen"
|
icon="EditPen"
|
||||||
@@ -212,6 +211,7 @@
|
|||||||
|
|
||||||
<script setup lang="ts" name="recruitstudentsignupturnover">
|
<script setup lang="ts" name="recruitstudentsignupturnover">
|
||||||
import { ref, reactive, computed, onMounted } from 'vue'
|
import { ref, reactive, computed, onMounted } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { useMessage } from '/@/hooks/message'
|
import { useMessage } from '/@/hooks/message'
|
||||||
import { fetchList, putObj } from '/@/api/recruit/recruitstudentsignupturnover'
|
import { fetchList, putObj } from '/@/api/recruit/recruitstudentsignupturnover'
|
||||||
@@ -222,6 +222,7 @@ import { Warning, InfoFilled } from '@element-plus/icons-vue'
|
|||||||
import { TURNOVER_AUDIT_STATUS_LIST, getStatusConfig } from '/@/config/global'
|
import { TURNOVER_AUDIT_STATUS_LIST, getStatusConfig } from '/@/config/global'
|
||||||
import { getDicts } from '/@/api/admin/dict'
|
import { getDicts } from '/@/api/admin/dict'
|
||||||
|
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 消息提示 hooks
|
// 消息提示 hooks
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
|
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<div>
|
<div>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruit_recruitstudentsignupturnovermoneychange_add'"
|
v-if="hasAuth('recruit_recruitstudentsignupturnovermoneychange_add')"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="FolderAdd"
|
icon="FolderAdd"
|
||||||
@click="handleAdd">新 增
|
@click="handleAdd">新 增
|
||||||
@@ -45,6 +45,7 @@
|
|||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
stripe
|
stripe
|
||||||
|
row-key="id"
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
:header-cell-style="tableStyle.headerCellStyle"
|
:header-cell-style="tableStyle.headerCellStyle"
|
||||||
>
|
>
|
||||||
@@ -62,7 +63,7 @@
|
|||||||
<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-auth="'recruit_recruitstudentsignupturnovermoneychange_edit'"
|
v-if="hasAuth('recruit_recruitstudentsignupturnovermoneychange_edit')"
|
||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
icon="EditPen"
|
icon="EditPen"
|
||||||
@@ -71,7 +72,7 @@
|
|||||||
编辑
|
编辑
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-auth="'recruit_recruitstudentsignupturnovermoneychange_del'"
|
v-if="hasAuth('recruit_recruitstudentsignupturnovermoneychange_del')"
|
||||||
type="danger"
|
type="danger"
|
||||||
link
|
link
|
||||||
icon="Delete"
|
icon="Delete"
|
||||||
@@ -98,10 +99,12 @@
|
|||||||
|
|
||||||
<script setup lang="ts" name="recruitstudentsignupturnovermoneychange">
|
<script setup lang="ts" name="recruitstudentsignupturnovermoneychange">
|
||||||
import { ref, reactive, defineAsyncComponent, nextTick } from 'vue'
|
import { ref, reactive, defineAsyncComponent, nextTick } from 'vue'
|
||||||
|
import { useAuth } from '/@/hooks/auth'
|
||||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||||
import { useMessage, useMessageBox } from '/@/hooks/message'
|
import { useMessage, useMessageBox } from '/@/hooks/message'
|
||||||
import { delObj, fetchList } from '/@/api/recruit/recruitstudentsignupturnovermoneychange'
|
import { delObj, fetchList } from '/@/api/recruit/recruitstudentsignupturnovermoneychange'
|
||||||
|
|
||||||
|
const { hasAuth } = useAuth()
|
||||||
// 定义组件
|
// 定义组件
|
||||||
const FormDialog = defineAsyncComponent(() => import('./form.vue'))
|
const FormDialog = defineAsyncComponent(() => import('./form.vue'))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user