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