合并代码
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
type="primary"
|
||||
icon="FolderAdd"
|
||||
@click="handleAdd"
|
||||
v-if="permissions.professional_professionalacademicqualificationsconfig_add">新 增
|
||||
v-auth="'professional_professionalacademicqualificationsconfig_add'">新 增
|
||||
</el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
@@ -34,14 +34,14 @@
|
||||
<el-table-column label="操作" width="150" align="center" fixed="right">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
v-if="permissions.professional_professionalacademicqualificationsconfig_edit"
|
||||
v-auth="'professional_professionalacademicqualificationsconfig_edit'"
|
||||
icon="edit-pen"
|
||||
link
|
||||
type="primary"
|
||||
@click="handleEdit(scope.row)">修改
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="permissions.professional_professionalacademicqualificationsconfig_del"
|
||||
v-auth="'professional_professionalacademicqualificationsconfig_del'"
|
||||
icon="delete"
|
||||
link
|
||||
type="danger"
|
||||
@@ -62,7 +62,7 @@
|
||||
<!-- 新增/编辑弹窗 -->
|
||||
<el-dialog
|
||||
v-model="dialogVisible"
|
||||
:title="form.id ? '编辑' : '新增'"
|
||||
:title="form.id ? '修改' : '新增'"
|
||||
width="600px"
|
||||
:close-on-click-modal="false"
|
||||
destroy-on-close
|
||||
@@ -113,26 +113,12 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, computed } from 'vue'
|
||||
import { storeToRefs } from 'pinia'
|
||||
import { useUserInfo } from '/@/stores/userInfo'
|
||||
import { ref, reactive } from 'vue'
|
||||
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'
|
||||
|
||||
// 使用 Pinia store
|
||||
const userInfoStore = useUserInfo()
|
||||
const { userInfos } = storeToRefs(userInfoStore)
|
||||
|
||||
// 创建权限对象
|
||||
const permissions = computed(() => {
|
||||
const perms: Record<string, boolean> = {}
|
||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
||||
perms[perm] = true
|
||||
})
|
||||
return perms
|
||||
})
|
||||
|
||||
// 消息提示 hooks
|
||||
const message = useMessage()
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
type="primary"
|
||||
icon="FolderAdd"
|
||||
@click="handleAdd"
|
||||
v-if="permissions.professional_outercompany_add">新 增
|
||||
v-auth="'professional_outercompany_add'">新 增
|
||||
</el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
@@ -59,14 +59,14 @@
|
||||
<el-table-column label="操作" min-width="150" align="center" fixed="right">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
v-if="permissions.professional_outercompany_edit"
|
||||
v-auth="'professional_outercompany_edit'"
|
||||
icon="edit-pen"
|
||||
link
|
||||
type="primary"
|
||||
@click="handleEdit(scope.row)">修改
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="permissions.professional_outercompany_del"
|
||||
v-auth="'professional_outercompany_del'"
|
||||
icon="delete"
|
||||
link
|
||||
type="danger"
|
||||
@@ -86,7 +86,7 @@
|
||||
<!-- 新增/编辑弹窗 -->
|
||||
<el-dialog
|
||||
v-model="dialogVisible"
|
||||
:title="form.id ? '编辑' : '新增'"
|
||||
:title="form.id ? '修改' : '新增'"
|
||||
width="600px"
|
||||
:close-on-click-modal="false"
|
||||
destroy-on-close
|
||||
@@ -140,26 +140,12 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, computed } from 'vue'
|
||||
import { storeToRefs } from 'pinia'
|
||||
import { useUserInfo } from '/@/stores/userInfo'
|
||||
import { ref, reactive } from 'vue'
|
||||
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'
|
||||
|
||||
// 使用 Pinia store
|
||||
const userInfoStore = useUserInfo()
|
||||
const { userInfos } = storeToRefs(userInfoStore)
|
||||
|
||||
// 创建权限对象
|
||||
const permissions = computed(() => {
|
||||
const perms: Record<string, boolean> = {}
|
||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
||||
perms[perm] = true
|
||||
})
|
||||
return perms
|
||||
})
|
||||
|
||||
// 消息提示 hooks
|
||||
const message = useMessage()
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
type="primary"
|
||||
icon="FolderAdd"
|
||||
@click="handleAdd"
|
||||
v-if="permissions.professional_outercompany_add">新 增
|
||||
v-auth="'professional_outercompany_add'">新 增
|
||||
</el-button>
|
||||
<!-- <right-toolbar
|
||||
v-model:showSearch="showSearch"
|
||||
@@ -65,14 +65,14 @@
|
||||
<el-table-column label="操作" min-width="150" align="center" fixed="right">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
v-if="permissions.professional_outercompany_edit"
|
||||
v-auth="'professional_outercompany_edit'"
|
||||
icon="edit-pen"
|
||||
link
|
||||
type="primary"
|
||||
@click="handleEdit(scope.row)">修改
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="permissions.professional_outercompany_del"
|
||||
v-auth="'professional_outercompany_del'"
|
||||
icon="delete"
|
||||
link
|
||||
type="danger"
|
||||
@@ -92,7 +92,7 @@
|
||||
<!-- 新增/编辑弹窗 -->
|
||||
<el-dialog
|
||||
v-model="dialogVisible"
|
||||
:title="form.id ? '编辑' : '新增'"
|
||||
:title="form.id ? '修改' : '新增'"
|
||||
width="600px"
|
||||
:close-on-click-modal="false"
|
||||
destroy-on-close
|
||||
@@ -146,26 +146,12 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, computed } from 'vue'
|
||||
import { storeToRefs } from 'pinia'
|
||||
import { useUserInfo } from '/@/stores/userInfo'
|
||||
import { ref, reactive } from 'vue'
|
||||
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'
|
||||
|
||||
// 使用 Pinia store
|
||||
const userInfoStore = useUserInfo()
|
||||
const { userInfos } = storeToRefs(userInfoStore)
|
||||
|
||||
// 创建权限对象
|
||||
const permissions = computed(() => {
|
||||
const perms: Record<string, boolean> = {}
|
||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
||||
perms[perm] = true
|
||||
})
|
||||
return perms
|
||||
})
|
||||
|
||||
// 消息提示 hooks
|
||||
const message = useMessage()
|
||||
|
||||
@@ -48,14 +48,14 @@
|
||||
<!-- <el-table-column label="操作" width="150" align="center" fixed="right">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
v-if="permissions.professional_outercompany_edit"
|
||||
v-auth="'professional_outercompany_edit'"
|
||||
icon="edit-pen"
|
||||
text
|
||||
type="primary"
|
||||
@click="handleEdit(scope.row)">修改
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="permissions.professional_outercompany_del"
|
||||
v-auth="'professional_outercompany_del'"
|
||||
icon="delete"
|
||||
text
|
||||
type="danger"
|
||||
@@ -77,24 +77,10 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, computed } from 'vue'
|
||||
import { storeToRefs } from 'pinia'
|
||||
import { useUserInfo } from '/@/stores/userInfo'
|
||||
import { ref, reactive } from 'vue'
|
||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||
import { fetchList } from '/@/api/professional/stayschool/outercompany'
|
||||
|
||||
// 使用 Pinia store
|
||||
const userInfoStore = useUserInfo()
|
||||
const { userInfos } = storeToRefs(userInfoStore)
|
||||
|
||||
// 创建权限对象
|
||||
const permissions = computed(() => {
|
||||
const perms: Record<string, boolean> = {}
|
||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
||||
perms[perm] = true
|
||||
})
|
||||
return perms
|
||||
})
|
||||
|
||||
// 表格引用
|
||||
const tableRef = ref()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
v-model="visible"
|
||||
:title="formData.id ? '编辑' : '新增'"
|
||||
:title="formData.id ? '修改' : '新增'"
|
||||
width="800px"
|
||||
:close-on-click-modal="false"
|
||||
destroy-on-close
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
v-model="visible"
|
||||
:title="formData.id ? '编辑' : '新增'"
|
||||
:title="formData.id ? '修改' : '新增'"
|
||||
width="800px"
|
||||
:close-on-click-modal="false"
|
||||
destroy-on-close
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
type="primary"
|
||||
icon="FolderAdd"
|
||||
@click="handleAdd"
|
||||
v-if="permissions.professional_outercompanyemployee_add">新 增
|
||||
v-auth="'professional_outercompanyemployee_add'">新 增
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
@@ -152,21 +152,21 @@
|
||||
<el-table-column label="操作" width="250" align="center" fixed="right">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
v-if="permissions.professional_outercompanyemployee_edit"
|
||||
v-auth="'professional_outercompanyemployee_edit'"
|
||||
icon="edit-pen"
|
||||
link
|
||||
type="primary"
|
||||
@click="handleEdit(scope.row)">修改
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="permissions.professional_outercompanyemployee_reset_pw"
|
||||
v-auth="'professional_outercompanyemployee_reset_pw'"
|
||||
icon="RefreshLeft"
|
||||
link
|
||||
type="primary"
|
||||
@click="resetPassword(scope.row)">重置密码
|
||||
</el-button>
|
||||
<!-- <el-button
|
||||
v-if="permissions.professional_outercompanyemployee_del"
|
||||
v-auth="'professional_outercompanyemployee_del'"
|
||||
icon="delete"
|
||||
link
|
||||
type="primary"
|
||||
@@ -230,18 +230,14 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, computed, onMounted } from 'vue'
|
||||
import { storeToRefs } from 'pinia'
|
||||
import { useUserInfo } from '/@/stores/userInfo'
|
||||
import { ref, reactive, onMounted } from 'vue'
|
||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||
import { useMessage } from '/@/hooks/message'
|
||||
import { useMessageBox } from '/@/hooks/message'
|
||||
import { useDict } from '/@/hooks/dict'
|
||||
import { Session } from '/@/utils/storage'
|
||||
import { validateNull } from '/@/utils/validate'
|
||||
import axios from 'axios'
|
||||
import request from '/@/utils/request'
|
||||
import { Plus, Picture } from '@element-plus/icons-vue'
|
||||
import {
|
||||
fetchList,
|
||||
getObj,
|
||||
@@ -250,20 +246,7 @@ import {
|
||||
resetPassWord
|
||||
} from '/@/api/professional/stayschool/outercompanyemployee'
|
||||
import { getList as getCompanyList } from '/@/api/professional/stayschool/outercompany'
|
||||
import FormDialog from './form.vue'
|
||||
|
||||
// 使用 Pinia store
|
||||
const userInfoStore = useUserInfo()
|
||||
const { userInfos } = storeToRefs(userInfoStore)
|
||||
|
||||
// 创建权限对象
|
||||
const permissions = computed(() => {
|
||||
const perms: Record<string, boolean> = {}
|
||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
||||
perms[perm] = true
|
||||
})
|
||||
return perms
|
||||
})
|
||||
const FormDialog = defineAsyncComponent(() => import('./form.vue'))
|
||||
|
||||
// 消息提示 hooks
|
||||
const message = useMessage()
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
type="primary"
|
||||
icon="FolderAdd"
|
||||
@click="handleAdd"
|
||||
v-if="permissions.professional_outercompanyemployee_add"
|
||||
v-auth="'professional_outercompanyemployee_add'"
|
||||
>
|
||||
新 增
|
||||
</el-button>
|
||||
@@ -171,21 +171,21 @@
|
||||
<el-table-column label="操作" width="250" align="center" fixed="right">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
v-if="permissions.professional_outercompanyemployee_edit"
|
||||
v-auth="'professional_outercompanyemployee_edit'"
|
||||
icon="edit-pen"
|
||||
link
|
||||
type="primary"
|
||||
@click="handleEdit(scope.row)">修改
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="permissions.professional_outercompanyemployee_reset_pw"
|
||||
v-auth="'professional_outercompanyemployee_reset_pw'"
|
||||
icon="RefreshLeft"
|
||||
link
|
||||
type="primary"
|
||||
@click="resetPassword(scope.row)">重置密码
|
||||
</el-button>
|
||||
<!-- <el-button
|
||||
v-if="permissions.professional_outercompanyemployee_del"
|
||||
v-auth="'professional_outercompanyemployee_del'"
|
||||
icon="delete"
|
||||
link
|
||||
type="primary"
|
||||
@@ -250,14 +250,11 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, computed, onMounted } from 'vue'
|
||||
import { storeToRefs } from 'pinia'
|
||||
import { useUserInfo } from '/@/stores/userInfo'
|
||||
import { ref, reactive, onMounted } from 'vue'
|
||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||
import { useMessage } from '/@/hooks/message'
|
||||
import { useMessageBox } from '/@/hooks/message'
|
||||
import { useDict } from '/@/hooks/dict'
|
||||
import { Session } from '/@/utils/storage'
|
||||
import { validateNull } from '/@/utils/validate'
|
||||
import axios from 'axios'
|
||||
import request from '/@/utils/request'
|
||||
@@ -271,20 +268,7 @@ import {
|
||||
resetPassWord
|
||||
} from '/@/api/professional/stayschool/outercompanyemployee'
|
||||
import { getList as getCompanyList } from '/@/api/professional/stayschool/outercompany'
|
||||
import FormDialog from './form.vue'
|
||||
|
||||
// 使用 Pinia store
|
||||
const userInfoStore = useUserInfo()
|
||||
const { userInfos } = storeToRefs(userInfoStore)
|
||||
|
||||
// 创建权限对象
|
||||
const permissions = computed(() => {
|
||||
const perms: Record<string, boolean> = {}
|
||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
||||
perms[perm] = true
|
||||
})
|
||||
return perms
|
||||
})
|
||||
const FormDialog = defineAsyncComponent(() => import('./form.vue'))
|
||||
|
||||
// 消息提示 hooks
|
||||
const message = useMessage()
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
type="primary"
|
||||
icon="FolderAdd"
|
||||
@click="handleAdd"
|
||||
v-if="permissions.professional_professionalacademicdegreeconfig_add">新 增
|
||||
v-auth="'professional_professionalacademicdegreeconfig_add'">新 增
|
||||
</el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
@@ -35,14 +35,14 @@
|
||||
<el-table-column label="操作" width="150" align="center" fixed="right">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
v-if="permissions.professional_professionalacademicdegreeconfig_edit"
|
||||
v-auth="'professional_professionalacademicdegreeconfig_edit'"
|
||||
icon="edit-pen"
|
||||
link
|
||||
type="primary"
|
||||
@click="handleEdit(scope.row)">修改
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="permissions.professional_professionalacademicdegreeconfig_del"
|
||||
v-auth="'professional_professionalacademicdegreeconfig_del'"
|
||||
icon="delete"
|
||||
link
|
||||
type="danger"
|
||||
@@ -63,7 +63,7 @@
|
||||
<!-- 新增/编辑弹窗 -->
|
||||
<el-dialog
|
||||
v-model="dialogVisible"
|
||||
:title="form.id ? '编辑' : '新增'"
|
||||
:title="form.id ? '修改' : '新增'"
|
||||
width="600px"
|
||||
:close-on-click-modal="false"
|
||||
destroy-on-close
|
||||
@@ -114,27 +114,12 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, computed } from 'vue'
|
||||
import { storeToRefs } from 'pinia'
|
||||
import { useUserInfo } from '/@/stores/userInfo'
|
||||
import { ref, reactive } from 'vue'
|
||||
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'
|
||||
|
||||
// 使用 Pinia store
|
||||
const userInfoStore = useUserInfo()
|
||||
const { userInfos } = storeToRefs(userInfoStore)
|
||||
|
||||
// 创建权限对象
|
||||
const permissions = computed(() => {
|
||||
const perms: Record<string, boolean> = {}
|
||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
||||
perms[perm] = true
|
||||
})
|
||||
return perms
|
||||
})
|
||||
|
||||
// 消息提示 hooks
|
||||
const message = useMessage()
|
||||
const messageBox = useMessageBox()
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
type="primary"
|
||||
icon="FolderAdd"
|
||||
@click="handleAdd"
|
||||
v-if="permissions.professional_professionalacademiceducationtypeconfig_add">新 增
|
||||
v-auth="'professional_professionalacademiceducationtypeconfig_add'">新 增
|
||||
</el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
@@ -35,14 +35,14 @@
|
||||
<el-table-column label="操作" width="150" align="center" fixed="right">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
v-if="permissions.professional_professionalacademiceducationtypeconfig_edit"
|
||||
v-auth="'professional_professionalacademiceducationtypeconfig_edit'"
|
||||
icon="edit-pen"
|
||||
link
|
||||
type="primary"
|
||||
@click="handleEdit(scope.row)">修改
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="permissions.professional_professionalacademiceducationtypeconfig_del"
|
||||
v-auth="'professional_professionalacademiceducationtypeconfig_del'"
|
||||
icon="delete"
|
||||
link
|
||||
type="danger"
|
||||
@@ -63,7 +63,7 @@
|
||||
<!-- 新增/编辑弹窗 -->
|
||||
<el-dialog
|
||||
v-model="dialogVisible"
|
||||
:title="form.id ? '编辑' : '新增'"
|
||||
:title="form.id ? '修改' : '新增'"
|
||||
width="600px"
|
||||
:close-on-click-modal="false"
|
||||
destroy-on-close
|
||||
@@ -114,27 +114,12 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, computed } from 'vue'
|
||||
import { storeToRefs } from 'pinia'
|
||||
import { useUserInfo } from '/@/stores/userInfo'
|
||||
import { ref, reactive } from 'vue'
|
||||
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'
|
||||
|
||||
// 使用 Pinia store
|
||||
const userInfoStore = useUserInfo()
|
||||
const { userInfos } = storeToRefs(userInfoStore)
|
||||
|
||||
// 创建权限对象
|
||||
const permissions = computed(() => {
|
||||
const perms: Record<string, boolean> = {}
|
||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
||||
perms[perm] = true
|
||||
})
|
||||
return perms
|
||||
})
|
||||
|
||||
// 消息提示 hooks
|
||||
const message = useMessage()
|
||||
const messageBox = useMessageBox()
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
type="primary"
|
||||
icon="FolderAdd"
|
||||
@click="handleAdd"
|
||||
v-if="permissions.professional_professionalatstation_add">新 增
|
||||
v-auth="'professional_professionalatstation_add'">新 增
|
||||
</el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
@@ -35,14 +35,14 @@
|
||||
<el-table-column label="操作" width="150" align="center" fixed="right">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
v-if="permissions.professional_professionalatstation_edit"
|
||||
v-auth="'professional_professionalatstation_edit'"
|
||||
icon="edit-pen"
|
||||
link
|
||||
type="primary"
|
||||
@click="handleEdit(scope.row)">修改
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="permissions.professional_professionalatstation_del"
|
||||
v-auth="'professional_professionalatstation_del'"
|
||||
icon="delete"
|
||||
link
|
||||
type="danger"
|
||||
@@ -63,7 +63,7 @@
|
||||
<!-- 新增/编辑弹窗 -->
|
||||
<el-dialog
|
||||
v-model="dialogVisible"
|
||||
:title="form.id ? '编辑' : '新增'"
|
||||
:title="form.id ? '修改' : '新增'"
|
||||
width="600px"
|
||||
:close-on-click-modal="false"
|
||||
destroy-on-close
|
||||
@@ -114,27 +114,12 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, computed } from 'vue'
|
||||
import { storeToRefs } from 'pinia'
|
||||
import { useUserInfo } from '/@/stores/userInfo'
|
||||
import { ref, reactive } from 'vue'
|
||||
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'
|
||||
|
||||
// 使用 Pinia store
|
||||
const userInfoStore = useUserInfo()
|
||||
const { userInfos } = storeToRefs(userInfoStore)
|
||||
|
||||
// 创建权限对象
|
||||
const permissions = computed(() => {
|
||||
const perms: Record<string, boolean> = {}
|
||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
||||
perms[perm] = true
|
||||
})
|
||||
return perms
|
||||
})
|
||||
|
||||
// 消息提示 hooks
|
||||
const message = useMessage()
|
||||
const messageBox = useMessageBox()
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
type="primary"
|
||||
icon="FolderAdd"
|
||||
@click="handleAdd"
|
||||
v-if="permissions.professional_professionalemploymentnature_add">新 增
|
||||
v-auth="'professional_professionalemploymentnature_add'">新 增
|
||||
</el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
@@ -35,14 +35,14 @@
|
||||
<el-table-column label="操作" width="150" align="center" fixed="right">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
v-if="permissions.professional_professionalemploymentnature_edit"
|
||||
v-auth="'professional_professionalemploymentnature_edit'"
|
||||
icon="edit-pen"
|
||||
link
|
||||
type="primary"
|
||||
@click="handleEdit(scope.row)">修改
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="permissions.professional_professionalemploymentnature_del"
|
||||
v-auth="'professional_professionalemploymentnature_del'"
|
||||
icon="delete"
|
||||
link
|
||||
type="danger"
|
||||
@@ -63,7 +63,7 @@
|
||||
<!-- 新增/编辑弹窗 -->
|
||||
<el-dialog
|
||||
v-model="dialogVisible"
|
||||
:title="form.id ? '编辑' : '新增'"
|
||||
:title="form.id ? '修改' : '新增'"
|
||||
width="600px"
|
||||
:close-on-click-modal="false"
|
||||
destroy-on-close
|
||||
@@ -114,27 +114,12 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, computed } from 'vue'
|
||||
import { storeToRefs } from 'pinia'
|
||||
import { useUserInfo } from '/@/stores/userInfo'
|
||||
import { ref, reactive } from 'vue'
|
||||
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'
|
||||
|
||||
// 使用 Pinia store
|
||||
const userInfoStore = useUserInfo()
|
||||
const { userInfos } = storeToRefs(userInfoStore)
|
||||
|
||||
// 创建权限对象
|
||||
const permissions = computed(() => {
|
||||
const perms: Record<string, boolean> = {}
|
||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
||||
perms[perm] = true
|
||||
})
|
||||
return perms
|
||||
})
|
||||
|
||||
// 消息提示 hooks
|
||||
const message = useMessage()
|
||||
const messageBox = useMessageBox()
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
type="primary"
|
||||
icon="FolderAdd"
|
||||
@click="handleAdd"
|
||||
v-if="permissions.professional_professionalmajorstation_add">新 增
|
||||
v-auth="'professional_professionalmajorstation_add'">新 增
|
||||
</el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
@@ -35,14 +35,14 @@
|
||||
<el-table-column label="操作" width="150" align="center" fixed="right">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
v-if="permissions.professional_professionalmajorstation_edit"
|
||||
v-auth="'professional_professionalmajorstation_edit'"
|
||||
icon="edit-pen"
|
||||
link
|
||||
type="primary"
|
||||
@click="handleEdit(scope.row)">修改
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="permissions.professional_professionalmajorstation_del"
|
||||
v-auth="'professional_professionalmajorstation_del'"
|
||||
icon="delete"
|
||||
link
|
||||
type="danger"
|
||||
@@ -63,7 +63,7 @@
|
||||
<!-- 新增/编辑弹窗 -->
|
||||
<el-dialog
|
||||
v-model="dialogVisible"
|
||||
:title="form.id ? '编辑' : '新增'"
|
||||
:title="form.id ? '修改' : '新增'"
|
||||
width="600px"
|
||||
:close-on-click-modal="false"
|
||||
destroy-on-close
|
||||
@@ -114,27 +114,12 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, computed } from 'vue'
|
||||
import { storeToRefs } from 'pinia'
|
||||
import { useUserInfo } from '/@/stores/userInfo'
|
||||
import { ref, reactive } from 'vue'
|
||||
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'
|
||||
|
||||
// 使用 Pinia store
|
||||
const userInfoStore = useUserInfo()
|
||||
const { userInfos } = storeToRefs(userInfoStore)
|
||||
|
||||
// 创建权限对象
|
||||
const permissions = computed(() => {
|
||||
const perms: Record<string, boolean> = {}
|
||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
||||
perms[perm] = true
|
||||
})
|
||||
return perms
|
||||
})
|
||||
|
||||
// 消息提示 hooks
|
||||
const message = useMessage()
|
||||
const messageBox = useMessageBox()
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
type="primary"
|
||||
icon="FolderAdd"
|
||||
@click="handleAdd"
|
||||
v-if="permissions.professional_professionalpaperconfig_add">新 增
|
||||
v-auth="'professional_professionalpaperconfig_add'">新 增
|
||||
</el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
@@ -35,14 +35,14 @@
|
||||
<el-table-column label="操作" width="150" align="center" fixed="right">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
v-if="permissions.professional_professionalpaperconfig_edit"
|
||||
v-auth="'professional_professionalpaperconfig_edit'"
|
||||
icon="edit-pen"
|
||||
link
|
||||
type="primary"
|
||||
@click="handleEdit(scope.row)">修改
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="permissions.professional_professionalpaperconfig_del"
|
||||
v-auth="'professional_professionalpaperconfig_del'"
|
||||
icon="delete"
|
||||
link
|
||||
type="danger"
|
||||
@@ -63,7 +63,7 @@
|
||||
<!-- 新增/编辑弹窗 -->
|
||||
<el-dialog
|
||||
v-model="dialogVisible"
|
||||
:title="form.id ? '编辑' : '新增'"
|
||||
:title="form.id ? '修改' : '新增'"
|
||||
width="600px"
|
||||
:close-on-click-modal="false"
|
||||
destroy-on-close
|
||||
@@ -114,27 +114,12 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, computed } from 'vue'
|
||||
import { storeToRefs } from 'pinia'
|
||||
import { useUserInfo } from '/@/stores/userInfo'
|
||||
import { ref, reactive } from 'vue'
|
||||
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'
|
||||
|
||||
// 使用 Pinia store
|
||||
const userInfoStore = useUserInfo()
|
||||
const { userInfos } = storeToRefs(userInfoStore)
|
||||
|
||||
// 创建权限对象
|
||||
const permissions = computed(() => {
|
||||
const perms: Record<string, boolean> = {}
|
||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
||||
perms[perm] = true
|
||||
})
|
||||
return perms
|
||||
})
|
||||
|
||||
// 消息提示 hooks
|
||||
const message = useMessage()
|
||||
const messageBox = useMessageBox()
|
||||
@@ -235,7 +220,7 @@ const handleSubmit = async () => {
|
||||
getDataList()
|
||||
} catch (error: any) {
|
||||
// 处理业务错误
|
||||
message.error(error.msg)
|
||||
|
||||
} finally {
|
||||
submitLoading.value = false
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
type="primary"
|
||||
icon="FolderAdd"
|
||||
@click="handleAdd"
|
||||
v-if="permissions.professional_professionalpartybranch_add">新 增
|
||||
v-auth="'professional_professionalpartybranch_add'">新 增
|
||||
</el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
@@ -38,14 +38,14 @@
|
||||
type="primary"
|
||||
link
|
||||
icon="Edit"
|
||||
v-if="permissions.professional_professionalpartybranch_edit"
|
||||
v-auth="'professional_professionalpartybranch_edit'"
|
||||
@click="handleEdit(scope.row)">编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
type="danger"
|
||||
link
|
||||
icon="Delete"
|
||||
v-if="permissions.professional_professionalpartybranch_del"
|
||||
v-auth="'professional_professionalpartybranch_del'"
|
||||
@click="handleDel(scope.row)">删除
|
||||
</el-button>
|
||||
</template>
|
||||
@@ -62,7 +62,7 @@
|
||||
<!-- 新增/编辑弹窗 -->
|
||||
<el-dialog
|
||||
v-model="dialogVisible"
|
||||
:title="form.id ? '编辑' : '新增'"
|
||||
:title="form.id ? '修改' : '新增'"
|
||||
width="600px"
|
||||
:close-on-click-modal="false"
|
||||
destroy-on-close
|
||||
@@ -113,27 +113,12 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, computed } from 'vue'
|
||||
import { storeToRefs } from 'pinia'
|
||||
import { useUserInfo } from '/@/stores/userInfo'
|
||||
import { ref, reactive } from 'vue'
|
||||
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/professionalpartybranch'
|
||||
|
||||
// 使用 Pinia store
|
||||
const userInfoStore = useUserInfo()
|
||||
const { userInfos } = storeToRefs(userInfoStore)
|
||||
|
||||
// 创建权限对象
|
||||
const permissions = computed(() => {
|
||||
const perms: Record<string, boolean> = {}
|
||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
||||
perms[perm] = true
|
||||
})
|
||||
return perms
|
||||
})
|
||||
|
||||
// 消息提示 hooks
|
||||
const message = useMessage()
|
||||
const messageBox = useMessageBox()
|
||||
@@ -234,7 +219,7 @@ const handleSubmit = async () => {
|
||||
getDataList()
|
||||
} catch (error: any) {
|
||||
// 处理业务错误
|
||||
message.error(error.msg)
|
||||
|
||||
} finally {
|
||||
submitLoading.value = false
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
type="primary"
|
||||
icon="FolderAdd"
|
||||
@click="handleAdd"
|
||||
v-if="permissions.professional_professionalqualificationconfig_add">新 增
|
||||
v-auth="'professional_professionalqualificationconfig_add'">新 增
|
||||
</el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
@@ -35,14 +35,14 @@
|
||||
<el-table-column label="操作" width="150" align="center" fixed="right">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
v-if="permissions.professional_professionalqualificationconfig_edit"
|
||||
v-auth="'professional_professionalqualificationconfig_edit'"
|
||||
icon="edit-pen"
|
||||
link
|
||||
type="primary"
|
||||
@click="handleEdit(scope.row)">修改
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="permissions.professional_professionalqualificationconfig_del"
|
||||
v-auth="'professional_professionalqualificationconfig_del'"
|
||||
icon="delete"
|
||||
link
|
||||
type="danger"
|
||||
@@ -63,7 +63,7 @@
|
||||
<!-- 新增/编辑弹窗 -->
|
||||
<el-dialog
|
||||
v-model="dialogVisible"
|
||||
:title="form.id ? '编辑' : '新增'"
|
||||
:title="form.id ? '修改' : '新增'"
|
||||
width="600px"
|
||||
:close-on-click-modal="false"
|
||||
destroy-on-close
|
||||
@@ -114,27 +114,12 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, computed } from 'vue'
|
||||
import { storeToRefs } from 'pinia'
|
||||
import { useUserInfo } from '/@/stores/userInfo'
|
||||
import { ref, reactive } from 'vue'
|
||||
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'
|
||||
|
||||
// 使用 Pinia store
|
||||
const userInfoStore = useUserInfo()
|
||||
const { userInfos } = storeToRefs(userInfoStore)
|
||||
|
||||
// 创建权限对象
|
||||
const permissions = computed(() => {
|
||||
const perms: Record<string, boolean> = {}
|
||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
||||
perms[perm] = true
|
||||
})
|
||||
return perms
|
||||
})
|
||||
|
||||
// 消息提示 hooks
|
||||
const message = useMessage()
|
||||
const messageBox = useMessageBox()
|
||||
@@ -235,7 +220,7 @@ const handleSubmit = async () => {
|
||||
getDataList()
|
||||
} catch (error: any) {
|
||||
// 处理业务错误
|
||||
message.error(error.msg)
|
||||
|
||||
} finally {
|
||||
submitLoading.value = false
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<el-dialog v-model="dialogVisible" title="编辑职业资格" width="600px" append-to-body :close-on-click-modal="false" destroy-on-close>
|
||||
<el-dialog v-model="dialogVisible" title="修改职业资格" width="600px" append-to-body :close-on-click-modal="false" destroy-on-close>
|
||||
<div v-if="showForm">
|
||||
<el-form
|
||||
ref="formRef"
|
||||
|
||||
@@ -59,13 +59,13 @@
|
||||
type="primary"
|
||||
icon="FolderAdd"
|
||||
@click="handleAdd"
|
||||
v-if="permissions.professional_professionalqualificationrelation_add">新 增
|
||||
v-auth="'professional_professionalqualificationrelation_add'">新 增
|
||||
</el-button>
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="Download"
|
||||
v-if="permissions.professional_teacherbase_export"
|
||||
v-auth="'professional_teacherbase_export'"
|
||||
@click="handleDownLoadWord"
|
||||
:loading="exportLoading">导出信息
|
||||
</el-button>
|
||||
@@ -127,31 +127,34 @@
|
||||
<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'"
|
||||
type="primary"
|
||||
link
|
||||
icon="edit-pen"
|
||||
v-if="permissions.professional_professionalqualificationrelation_edit && (scope.row.state === '0' || scope.row.state === '-2')"
|
||||
@click="handleEdit(scope.row)">编辑
|
||||
@click="handleEdit(scope.row)">修改
|
||||
</el-button>
|
||||
<el-button
|
||||
v-auth="'professional_professionalqualificationrelation_exam'"
|
||||
v-if="scope.row.state === '0'"
|
||||
type="success"
|
||||
link
|
||||
icon="CircleCheck"
|
||||
v-if="permissions.professional_professionalqualificationrelation_exam && scope.row.state === '0'"
|
||||
@click="changeState(scope.row, 1)">通过
|
||||
</el-button>
|
||||
<el-button
|
||||
v-auth="'professional_professionalqualificationrelation_exam'"
|
||||
v-if="scope.row.state === '0' || scope.row.state === '1'"
|
||||
type="danger"
|
||||
link
|
||||
icon="CircleClose"
|
||||
v-if="permissions.professional_professionalqualificationrelation_exam && (scope.row.state === '0' || scope.row.state === '1')"
|
||||
@click="changeState(scope.row, -2)">驳回
|
||||
</el-button>
|
||||
<el-button
|
||||
v-auth="'professional_professionalqualificationrelation_del'"
|
||||
type="danger"
|
||||
link
|
||||
icon="delete"
|
||||
v-if="permissions.professional_professionalqualificationrelation_del"
|
||||
style="margin-left: 12px"
|
||||
@click="handleDel(scope.row)">删除
|
||||
</el-button>
|
||||
@@ -182,9 +185,7 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, computed, onMounted, nextTick } from 'vue'
|
||||
import { storeToRefs } from 'pinia'
|
||||
import { useUserInfo } from '/@/stores/userInfo'
|
||||
import { ref, reactive, onMounted, nextTick } from 'vue'
|
||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||
import { useMessage } from '/@/hooks/message'
|
||||
import { useMessageBox } from '/@/hooks/message'
|
||||
@@ -197,6 +198,7 @@ import {
|
||||
} from '/@/api/professional/professionaluser/professionalqualificationrelation'
|
||||
import { getLevelList } from '/@/api/professional/rsbase/professionalqualificationconfig'
|
||||
import { getWorkTypeList } from '/@/api/professional/rsbase/professionalworktype'
|
||||
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'))
|
||||
@@ -204,26 +206,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'))
|
||||
|
||||
// 审核状态选项(独立定义,防止其他页面修改时被波及)
|
||||
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 = PROFESSIONAL_AUDIT_STATE_OPTIONS
|
||||
|
||||
// 使用 Pinia store
|
||||
const userInfoStore = useUserInfo()
|
||||
const { userInfos } = storeToRefs(userInfoStore)
|
||||
|
||||
// 创建权限对象
|
||||
const permissions = computed(() => {
|
||||
const perms: Record<string, boolean> = {}
|
||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
||||
perms[perm] = true
|
||||
})
|
||||
return perms
|
||||
})
|
||||
|
||||
// 消息提示 hooks
|
||||
const message = useMessage()
|
||||
@@ -357,7 +342,7 @@ const handleDel = (row: any) => {
|
||||
getDataList()
|
||||
} catch (error: any) {
|
||||
// 处理业务错误
|
||||
message.error(error.msg)
|
||||
|
||||
}
|
||||
}).catch(() => {})
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
type="primary"
|
||||
icon="FolderAdd"
|
||||
@click="handleAdd"
|
||||
v-if="permissions.professional_professionalstationdutylevel_add">新 增
|
||||
v-auth="'professional_professionalstationdutylevel_add'">新 增
|
||||
</el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
@@ -35,14 +35,14 @@
|
||||
<el-table-column label="操作" width="150" align="center" fixed="right">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
v-if="permissions.professional_professionalstationdutylevel_edit"
|
||||
v-auth="'professional_professionalstationdutylevel_edit'"
|
||||
icon="edit-pen"
|
||||
link
|
||||
type="primary"
|
||||
@click="handleEdit(scope.row)">修改
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="permissions.professional_professionalstationdutylevel_del"
|
||||
v-auth="'professional_professionalstationdutylevel_del'"
|
||||
icon="delete"
|
||||
link
|
||||
type="danger"
|
||||
@@ -63,7 +63,7 @@
|
||||
<!-- 新增/编辑弹窗 -->
|
||||
<el-dialog
|
||||
v-model="dialogVisible"
|
||||
:title="form.id ? '编辑' : '新增'"
|
||||
:title="form.id ? '修改' : '新增'"
|
||||
width="600px"
|
||||
:close-on-click-modal="false"
|
||||
destroy-on-close
|
||||
@@ -114,27 +114,12 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, computed } from 'vue'
|
||||
import { storeToRefs } from 'pinia'
|
||||
import { useUserInfo } from '/@/stores/userInfo'
|
||||
import { ref, reactive } from 'vue'
|
||||
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'
|
||||
|
||||
// 使用 Pinia store
|
||||
const userInfoStore = useUserInfo()
|
||||
const { userInfos } = storeToRefs(userInfoStore)
|
||||
|
||||
// 创建权限对象
|
||||
const permissions = computed(() => {
|
||||
const perms: Record<string, boolean> = {}
|
||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
||||
perms[perm] = true
|
||||
})
|
||||
return perms
|
||||
})
|
||||
|
||||
// 消息提示 hooks
|
||||
const message = useMessage()
|
||||
const messageBox = useMessageBox()
|
||||
@@ -235,7 +220,6 @@ const handleSubmit = async () => {
|
||||
getDataList()
|
||||
} catch (error: any) {
|
||||
// 处理业务错误
|
||||
message.error(error.msg)
|
||||
} finally {
|
||||
submitLoading.value = false
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
type="primary"
|
||||
icon="FolderAdd"
|
||||
@click="handleAdd"
|
||||
v-if="permissions.professional_professionalstationtype_add">新 增
|
||||
v-auth="'professional_professionalstationtype_add'">新 增
|
||||
</el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
@@ -35,14 +35,14 @@
|
||||
<el-table-column label="操作" width="150" align="center" fixed="right">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
v-if="permissions.professional_professionalstationtype_edit"
|
||||
v-auth="'professional_professionalstationtype_edit'"
|
||||
icon="edit-pen"
|
||||
link
|
||||
type="primary"
|
||||
@click="handleEdit(scope.row)">修改
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="permissions.professional_professionalstationtype_del"
|
||||
v-auth="'professional_professionalstationtype_del'"
|
||||
icon="delete"
|
||||
link
|
||||
type="danger"
|
||||
@@ -63,7 +63,7 @@
|
||||
<!-- 新增/编辑弹窗 -->
|
||||
<el-dialog
|
||||
v-model="dialogVisible"
|
||||
:title="form.id ? '编辑' : '新增'"
|
||||
:title="form.id ? '修改' : '新增'"
|
||||
width="600px"
|
||||
:close-on-click-modal="false"
|
||||
destroy-on-close
|
||||
@@ -114,27 +114,12 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, computed } from 'vue'
|
||||
import { storeToRefs } from 'pinia'
|
||||
import { useUserInfo } from '/@/stores/userInfo'
|
||||
import { ref, reactive } from 'vue'
|
||||
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'
|
||||
|
||||
// 使用 Pinia store
|
||||
const userInfoStore = useUserInfo()
|
||||
const { userInfos } = storeToRefs(userInfoStore)
|
||||
|
||||
// 创建权限对象
|
||||
const permissions = computed(() => {
|
||||
const perms: Record<string, boolean> = {}
|
||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
||||
perms[perm] = true
|
||||
})
|
||||
return perms
|
||||
})
|
||||
|
||||
// 消息提示 hooks
|
||||
const message = useMessage()
|
||||
const messageBox = useMessageBox()
|
||||
@@ -235,7 +220,6 @@ const handleSubmit = async () => {
|
||||
getDataList()
|
||||
} catch (error: any) {
|
||||
// 处理业务错误
|
||||
message.error(error.msg)
|
||||
} finally {
|
||||
submitLoading.value = false
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<el-dialog v-model="dialogVisible" title="编辑学历学位" width="600px" append-to-body :close-on-click-modal="false" destroy-on-close>
|
||||
<el-dialog v-model="dialogVisible" title="修改学历学位" width="600px" append-to-body :close-on-click-modal="false" destroy-on-close>
|
||||
<div v-if="showForm">
|
||||
<el-form
|
||||
ref="formRef"
|
||||
|
||||
@@ -59,13 +59,13 @@
|
||||
type="primary"
|
||||
icon="FolderAdd"
|
||||
@click="handleAdd"
|
||||
v-if="permissions.professional_professionalteacheracademicrelation_add">新 增
|
||||
v-auth="'professional_professionalteacheracademicrelation_add'">新 增
|
||||
</el-button>
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="Download"
|
||||
v-if="permissions.professional_teacherbase_export"
|
||||
v-auth="'professional_teacherbase_export'"
|
||||
@click="handleDownLoadWord"
|
||||
:loading="exportLoading">导出信息
|
||||
</el-button>
|
||||
@@ -153,31 +153,34 @@
|
||||
<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'"
|
||||
type="primary"
|
||||
link
|
||||
icon="edit-pen"
|
||||
v-if="permissions.professional_professionalteacheracademicrelation_edit && (scope.row.state === '0' || scope.row.state === '-2')"
|
||||
@click="handleEdit(scope.row)">编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
v-auth="'professional_professionalteacheracademicrelation_exam'"
|
||||
v-if="scope.row.state === '0'"
|
||||
type="success"
|
||||
link
|
||||
icon="CircleCheck"
|
||||
v-if="permissions.professional_professionalteacheracademicrelation_exam && scope.row.state === '0'"
|
||||
@click="changeState(scope.row, 1)">通过
|
||||
</el-button>
|
||||
<el-button
|
||||
v-auth="'professional_professionalteacheracademicrelation_exam'"
|
||||
v-if="scope.row.state === '0' || scope.row.state === '1'"
|
||||
type="danger"
|
||||
link
|
||||
icon="CircleClose"
|
||||
v-if="permissions.professional_professionalteacheracademicrelation_exam && (scope.row.state === '0' || scope.row.state === '1')"
|
||||
@click="changeState(scope.row, -2)">驳回
|
||||
</el-button>
|
||||
<el-button
|
||||
v-auth="'professional_professionalteacheracademicrelation_del'"
|
||||
type="danger"
|
||||
link
|
||||
icon="delete"
|
||||
v-if="permissions.professional_professionalteacheracademicrelation_del"
|
||||
style="margin-left: 12px"
|
||||
@click="handleDel(scope.row)">删除
|
||||
</el-button>
|
||||
@@ -208,9 +211,7 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, computed, onMounted, nextTick } from 'vue'
|
||||
import { storeToRefs } from 'pinia'
|
||||
import { useUserInfo } from '/@/stores/userInfo'
|
||||
import { ref, reactive, onMounted, nextTick } from 'vue'
|
||||
import { BasicTableProps, useTable } from '/@/hooks/table'
|
||||
import { useMessage } from '/@/hooks/message'
|
||||
import { useMessageBox } from '/@/hooks/message'
|
||||
@@ -224,6 +225,7 @@ import {
|
||||
import { getDegreeList } from '/@/api/professional/rsbase/professionalacademicdegreeconfig'
|
||||
import { getQualificationList } from '/@/api/professional/rsbase/academicqualificationsconfig'
|
||||
import { getAllTypeList } from '/@/api/professional/rsbase/professionalacademiceducationtypeconfig'
|
||||
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'))
|
||||
@@ -231,26 +233,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'))
|
||||
|
||||
// 审核状态选项(独立定义,防止其他页面修改时被波及)
|
||||
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 = PROFESSIONAL_AUDIT_STATE_OPTIONS
|
||||
|
||||
// 使用 Pinia store
|
||||
const userInfoStore = useUserInfo()
|
||||
const { userInfos } = storeToRefs(userInfoStore)
|
||||
|
||||
// 创建权限对象
|
||||
const permissions = computed(() => {
|
||||
const perms: Record<string, boolean> = {}
|
||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
||||
perms[perm] = true
|
||||
})
|
||||
return perms
|
||||
})
|
||||
|
||||
// 消息提示 hooks
|
||||
const message = useMessage()
|
||||
@@ -349,7 +334,6 @@ const changeState = (row: any, val: number) => {
|
||||
getDataList()
|
||||
} catch (error: any) {
|
||||
// 处理业务错误
|
||||
message.error(error.msg)
|
||||
}
|
||||
}).catch(() => {})
|
||||
} else if (val === -2) {
|
||||
@@ -396,7 +380,6 @@ const handleDel = (row: any) => {
|
||||
getDataList()
|
||||
} catch (error: any) {
|
||||
// 处理业务错误
|
||||
message.error(error.msg)
|
||||
}
|
||||
}).catch(() => {})
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
type="primary"
|
||||
icon="FolderAdd"
|
||||
@click="handleAdd"
|
||||
v-if="permissions.professional_professionalteachercertificateconf_add">新 增
|
||||
v-auth="'professional_professionalteachercertificateconf_add'">新 增
|
||||
</el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
@@ -35,14 +35,14 @@
|
||||
<el-table-column label="操作" width="150" align="center" fixed="right">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
v-if="permissions.professional_professionalteachercertificateconf_edit"
|
||||
v-auth="'professional_professionalteachercertificateconf_edit'"
|
||||
icon="edit-pen"
|
||||
link
|
||||
type="primary"
|
||||
@click="handleEdit(scope.row)">修改
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="permissions.professional_professionalteachercertificateconf_del"
|
||||
v-auth="'professional_professionalteachercertificateconf_del'"
|
||||
icon="delete"
|
||||
link
|
||||
type="danger"
|
||||
@@ -63,7 +63,7 @@
|
||||
<!-- 新增/编辑弹窗 -->
|
||||
<el-dialog
|
||||
v-model="dialogVisible"
|
||||
:title="form.id ? '编辑' : '新增'"
|
||||
:title="form.id ? '修改' : '新增'"
|
||||
width="600px"
|
||||
:close-on-click-modal="false"
|
||||
destroy-on-close
|
||||
@@ -114,27 +114,12 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, computed } from 'vue'
|
||||
import { storeToRefs } from 'pinia'
|
||||
import { useUserInfo } from '/@/stores/userInfo'
|
||||
import { ref, reactive } from 'vue'
|
||||
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'
|
||||
|
||||
// 使用 Pinia store
|
||||
const userInfoStore = useUserInfo()
|
||||
const { userInfos } = storeToRefs(userInfoStore)
|
||||
|
||||
// 创建权限对象
|
||||
const permissions = computed(() => {
|
||||
const perms: Record<string, boolean> = {}
|
||||
userInfos.value.authBtnList.forEach((perm: string) => {
|
||||
perms[perm] = true
|
||||
})
|
||||
return perms
|
||||
})
|
||||
|
||||
// 消息提示 hooks
|
||||
const message = useMessage()
|
||||
const messageBox = useMessageBox()
|
||||
@@ -235,7 +220,6 @@ const handleSubmit = async () => {
|
||||
getDataList()
|
||||
} catch (error: any) {
|
||||
// 处理业务错误
|
||||
message.error(error.msg)
|
||||
} finally {
|
||||
submitLoading.value = false
|
||||
}
|
||||
|
||||
@@ -310,11 +310,40 @@
|
||||
|
||||
<TableColumn prop="workLevelName" label="职业资格等级" width="120" align="center" show-overflow-tooltip />
|
||||
|
||||
<TableColumn prop="teacherCer" label="教师上岗证" width="120" align="center" show-overflow-tooltip />
|
||||
|
||||
<TableColumn prop="midCer" label="中等教师资格证" width="150" align="center" show-overflow-tooltip />
|
||||
|
||||
<TableColumn prop="highCer" label="高校教师资格证" width="150" align="center" show-overflow-tooltip />
|
||||
<TableColumn label="资格证书" width="120" align="center">
|
||||
<template #default="scope">
|
||||
<DetailPopover
|
||||
v-if="scope.row.teacherCer || scope.row.midCer || scope.row.highCer"
|
||||
title="资格证书"
|
||||
:title-icon="InfoFilled"
|
||||
:width="320"
|
||||
:items="[
|
||||
{
|
||||
label: '教师上岗证',
|
||||
content: scope.row.teacherCer || '-',
|
||||
layout: 'horizontal'
|
||||
},
|
||||
{
|
||||
label: '中等教师资格证',
|
||||
content: scope.row.midCer || '-',
|
||||
layout: 'horizontal'
|
||||
},
|
||||
{
|
||||
label: '高校教师资格证',
|
||||
content: scope.row.highCer || '-',
|
||||
layout: 'horizontal'
|
||||
}
|
||||
]">
|
||||
<template #reference>
|
||||
<span class="certificate-link" style="color: var(--el-color-primary); cursor: pointer;">
|
||||
查看详情
|
||||
<el-icon class="title-icon"><InfoFilled /></el-icon>
|
||||
</span>
|
||||
</template>
|
||||
</DetailPopover>
|
||||
<span v-else class="empty-text">-</span>
|
||||
</template>
|
||||
</TableColumn>
|
||||
|
||||
<TableColumn prop="employmentNature" label="用工性质" width="120" align="center" show-overflow-tooltip />
|
||||
|
||||
@@ -1434,7 +1463,7 @@
|
||||
import { useMessage, useMessageBox } from '/@/hooks/message'
|
||||
import axios from 'axios'
|
||||
// 导入图标
|
||||
import { User, Phone, Document, CreditCard, Briefcase, Flag, Plus, Delete, Connection, School, Medal, Files, Clock, Setting, Switch, CircleCheck, CircleClose, Refresh, Download } from '@element-plus/icons-vue'
|
||||
import { User, Phone, Document, CreditCard, Briefcase, Flag, Plus, Delete, Connection, School, Medal, Files, Clock, Setting, Switch, CircleCheck, CircleClose, Refresh, Download, InfoFilled } from '@element-plus/icons-vue'
|
||||
|
||||
// 导入api(统一使用 /@/ 路径别名)
|
||||
import {
|
||||
@@ -1448,6 +1477,7 @@
|
||||
exportTeacherInfo as exportTeacherInfoApi
|
||||
} from '/@/api/professional/professionaluser/teacherbase'
|
||||
import {getDictsByTypes} from '/@/api/admin/dict'
|
||||
import {useDict} from '/@/hooks/dict'
|
||||
import {getNationalList} from '/@/api/basic/basicnation'
|
||||
import {addPoliticssStatus, dePoObj} from '/@/api/professional/professionaluser/professionalpoliticsstatus'
|
||||
import {addSocialObj, delSocialObj as delSocialObjApi} from '/@/api/professional/professionaluser/professionalsocial'
|
||||
@@ -1462,7 +1492,6 @@
|
||||
import {updateStatus} from '/@/api/professional/professionalstatuslock'
|
||||
import {resetPassWord} from "/@/api/professional/professionaluser/teacherbase"
|
||||
// 组件配置已不再需要(已从 avue-crud 迁移到 el-table)
|
||||
import global from '/@/components/tools/commondict.vue'
|
||||
import authImg from "/@/components/tools/auth-img.vue"
|
||||
|
||||
// 导入工具
|
||||
@@ -1472,6 +1501,7 @@
|
||||
const TeacherNameNo = defineAsyncComponent(() => import('/@/components/TeacherNameNo/index.vue'))
|
||||
const GenderTag = defineAsyncComponent(() => import('/@/components/GenderTag/index.vue'))
|
||||
const StatusTag = defineAsyncComponent(() => import('/@/components/StatusTag/index.vue'))
|
||||
const DetailPopover = defineAsyncComponent(() => import('/@/components/DetailPopover/index.vue'))
|
||||
const ShowEvidence = defineAsyncComponent(() => import("../common/showEvidence.vue"));
|
||||
const ExportTeacherInfoDialog = defineAsyncComponent(() => import('./export-teacher-info.vue'));
|
||||
const ImportTeacherInfo = defineAsyncComponent(() => import('./import-teacherInfo.vue'));
|
||||
@@ -1580,7 +1610,7 @@
|
||||
professionalStationRelation: {}
|
||||
})
|
||||
const healthList = ref([])
|
||||
const YES_OR_NO = global.YES_OR_NO
|
||||
const { yes_no_type: YES_OR_NO ,sexy:sexyList } = useDict('yes_no_type','sexy')
|
||||
const teacherCateList = ref([])
|
||||
const baseInfoAbout = reactive({
|
||||
stationTypeList: [],
|
||||
@@ -1633,17 +1663,6 @@
|
||||
|
||||
const visibleTableColumns = ref<string[]>([])
|
||||
|
||||
// 静态配置数据
|
||||
const sexyList = [
|
||||
{
|
||||
label: '男',
|
||||
value: '1'
|
||||
},
|
||||
{
|
||||
label: '女',
|
||||
value: '0'
|
||||
}
|
||||
]
|
||||
const teacherClassifyData = ref([])
|
||||
const stationFormValidate = {
|
||||
stationTypeId: [
|
||||
@@ -2904,6 +2923,30 @@
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
// 资格证书链接样式
|
||||
:deep(.certificate-link){
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
color: var(--el-color-primary)!important;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
|
||||
&:hover {
|
||||
color: var(--el-color-primary-light-3)!important;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.title-icon {
|
||||
font-size: 14px;
|
||||
opacity: 0.8;
|
||||
}
|
||||
}
|
||||
|
||||
.empty-text {
|
||||
color: #909399;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// 弹窗内容区域样式优化 - 只优化外层容器,不修改组件内部样式
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
v-for="item in teacherList"
|
||||
:key="item.teacherNo"
|
||||
:label="item.realName"
|
||||
:value="item.realName"
|
||||
:value="item.teacherNo"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@@ -49,7 +49,7 @@
|
||||
|
||||
<script setup lang="ts" name="AddExamPeopleForm">
|
||||
import { ref, watch } from 'vue'
|
||||
import { queryTeacherBaseByNoByAssets } from '/@/api/professional/professionaluser/teacherbase'
|
||||
import {getTeacherInfoCommon} from '/@/api/professional/professionaluser/teacherbase'
|
||||
|
||||
// Props
|
||||
const props = defineProps<{
|
||||
@@ -87,7 +87,7 @@ const remoteTeacherByQuery = (query: string) => {
|
||||
teacherList.value = []
|
||||
if (query !== '') {
|
||||
setTimeout(() => {
|
||||
queryTeacherBaseByNoByAssets(query).then(response => {
|
||||
getTeacherInfoCommon({searchKeywords:query,tied:"0"}).then(response => {
|
||||
teacherList.value = response.data
|
||||
})
|
||||
}, 200)
|
||||
|
||||
@@ -252,64 +252,79 @@ const dataRule = {
|
||||
/**
|
||||
* 判断市平台招生专业是否占用,占用不可选
|
||||
*/
|
||||
const isCityDisable = (id: string) => {
|
||||
if (!dataForm.cityPlanIds || !Array.isArray(dataForm.cityPlanIds)) {
|
||||
return false
|
||||
}
|
||||
return dataForm.cityPlanIds.some(e => e == id)
|
||||
}
|
||||
// const isCityDisable = (id: string) => {
|
||||
// if (!dataForm.cityPlanIds || !Array.isArray(dataForm.cityPlanIds)) {
|
||||
// return false
|
||||
// }
|
||||
// return dataForm.cityPlanIds.some(e => e == id)
|
||||
// }
|
||||
|
||||
// 设置费用默认值
|
||||
const setFeeDefaults = () => {
|
||||
if (tuitionFeeList.value.length > 0) {
|
||||
// 初中费用:字典值 1
|
||||
const czFeeItem = tuitionFeeList.value.find((item: any) => item.value === '1')
|
||||
const czFeeItem = tuitionFeeList.value.find((item: any) => item.label === '1')
|
||||
|
||||
if (czFeeItem) {
|
||||
dataForm.czFee = Number(czFeeItem.label) || 0
|
||||
dataForm.czFee = Number(czFeeItem.value) || 0
|
||||
}
|
||||
// 高中费用:字典值 2
|
||||
const gzFeeItem = tuitionFeeList.value.find((item: any) => item.value === '2')
|
||||
const gzFeeItem = tuitionFeeList.value.find((item: any) => item.label === '2')
|
||||
if (gzFeeItem) {
|
||||
dataForm.gzFee = Number(gzFeeItem.label) || 0
|
||||
dataForm.gzFee = Number(gzFeeItem.value) || 0
|
||||
}
|
||||
// 技职校费用:字典值 3
|
||||
const jzxFeeItem = tuitionFeeList.value.find((item: any) => item.value === '3')
|
||||
const jzxFeeItem = tuitionFeeList.value.find((item: any) => item.label === '3')
|
||||
if (jzxFeeItem) {
|
||||
dataForm.jzxFee = Number(jzxFeeItem.label) || 0
|
||||
dataForm.jzxFee = Number(jzxFeeItem.value) || 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 初始化数据
|
||||
const initData = () => {
|
||||
const initData = (id: string | null) => {
|
||||
// 查询二级学院信息
|
||||
getDeptList().then((data: any) => {
|
||||
deptList.value = data.data
|
||||
})
|
||||
|
||||
// 获取招生计划列表
|
||||
getList().then((data: any) => {
|
||||
planList.value = data.data
|
||||
// 新增时,默认选中第一个招生计划
|
||||
if (!id && data.data && data.data.length > 0) {
|
||||
dataForm.groupId = data.data[0]?.id || ''
|
||||
}
|
||||
})
|
||||
|
||||
// 获取正式专业代码列表
|
||||
getMajorNameList().then((data: any) => {
|
||||
offcialZydmList.value = data.data
|
||||
})
|
||||
|
||||
// 获取数据字典(一次获取多个)
|
||||
getDictsByTypes(['basic_major_years', 'basic_major_level', 'tuition_fee']).then((res: any) => {
|
||||
majorYears.value = res.data?.basic_major_years || []
|
||||
ccList.value = res.data?.basic_major_level || []
|
||||
tuitionFeeList.value = res.data?.tuition_fee || []
|
||||
|
||||
// 新增时,根据学费字典设置费用默认值
|
||||
if (!id) {
|
||||
setFeeDefaults()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 表单提交
|
||||
const dataFormSubmit = () => {
|
||||
if (dataForm.cityPlanId != null) {
|
||||
cityPlanIdList.value.forEach(e => {
|
||||
if (e.id == dataForm.cityPlanId) {
|
||||
dataForm.cityPlanName = e.schoolMajorName
|
||||
dataForm.cityPlanYear = e.educational
|
||||
}
|
||||
})
|
||||
}
|
||||
// if (dataForm.cityPlanId != null) {
|
||||
// cityPlanIdList.value.forEach(e => {
|
||||
// if (e.id == dataForm.cityPlanId) {
|
||||
// dataForm.cityPlanName = e.schoolMajorName
|
||||
// dataForm.cityPlanYear = e.educational
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
dataFormRef.value?.validate((valid: boolean) => {
|
||||
if (valid) {
|
||||
canSubmit.value = false
|
||||
@@ -351,7 +366,7 @@ const init = (id: string | null) => {
|
||||
dataFormRef.value?.resetFields()
|
||||
})
|
||||
|
||||
initData()
|
||||
initData(id)
|
||||
|
||||
// 获取详情数据
|
||||
if (id) {
|
||||
@@ -366,19 +381,9 @@ const init = (id: string | null) => {
|
||||
}
|
||||
}).catch(() => {
|
||||
// 错误处理
|
||||
})
|
||||
})
|
||||
} else {
|
||||
// 新增模式:设置默认招生计划和费用默认值
|
||||
getList().then((data: any) => {
|
||||
if (data.data && data.data.length > 0) {
|
||||
dataForm.groupId = data.data[0]?.id || ""
|
||||
}
|
||||
})
|
||||
// 等待字典数据加载完成后设置费用默认值
|
||||
getDictsByTypes(['tuition_fee']).then((res: any) => {
|
||||
tuitionFeeList.value = res.data?.tuition_fee || []
|
||||
setFeeDefaults()
|
||||
})
|
||||
// 新增模式:initData 中已处理默认招生计划和费用默认值
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user