From 98fcd368f98e7b383b12621b3ae608c4be72dd0d Mon Sep 17 00:00:00 2001
From: guochunsi <1595020186@qq.com>
Date: Thu, 8 Jan 2026 19:00:25 +0800
Subject: [PATCH] ren
---
src/components/TableColumn/index.vue | 28 +-
src/components/TableColumnControl/index.vue | 134 +--
src/composables/useTableColumns.ts | 91 +-
src/utils/request.ts | 6 +-
.../academicqualificationsconfig/index.vue | 5 +-
src/views/professional/outercompany/index.vue | 18 +-
.../professional/outercompany/indexSecond.vue | 5 +-
.../professional/outercompany/indexTrain.vue | 21 +-
.../outercompanyemployee/form.vue | 304 +++++
.../outercompanyemployee/index.vue | 233 +---
.../outercompanyemployee/indexSecond.vue | 2 +-
.../outercompanyemployee/indexTrain.vue | 2 +-
.../index.vue | 5 +-
.../index.vue | 5 +-
.../professionalatstation/index.vue | 5 +-
.../professionalemploymentnature/index.vue | 5 +-
.../professionalmajorstation/index.vue | 5 +-
.../professionalpaperconfig/index.vue | 5 +-
.../professionalpartybranch/index.vue | 5 +-
.../professionalpartychange/index.vue | 2 +-
.../professionalqualificationconfig/index.vue | 5 +-
.../index.vue | 10 +-
.../professionalstationdutylevel/index.vue | 5 +-
.../professionalstationtype/index.vue | 5 +-
.../index.vue | 10 +-
.../index.vue | 5 +-
.../index.vue | 10 +-
.../professionalteacherhonor/index.vue | 10 +-
.../professionalteachertype/index.vue | 5 +-
.../index.vue | 5 +-
.../professionaltitlelevelconfig/index.vue | 5 +-
.../professionaltitlerelation/index.vue | 10 +-
.../professionaltopiclevelconfig/index.vue | 5 +-
.../professionaltopicsourceconfig/index.vue | 5 +-
.../professionalworktype/index.vue | 5 +-
.../professionalyearbounds/index.vue | 4 +-
.../professional/salaryexportrecord/index.vue | 32 +-
.../professional/teacherawardtax/index.vue | 51 +-
src/views/professional/teacherbase/index.vue | 1037 +++++------------
.../professional/teacherbase/multiDialog.vue | 847 +++-----------
.../professional/teacherpayslip/index.vue | 99 +-
.../teacherpayslip/salaryInfo.vue | 502 ++++++--
.../professional/teachersalary/index.vue | 123 +-
.../professional/teachersalary/salaryInfo.vue | 486 ++++++--
.../professional/typeofworkconfig/index.vue | 5 +-
45 files changed, 1818 insertions(+), 2354 deletions(-)
create mode 100644 src/views/professional/outercompanyemployee/form.vue
diff --git a/src/components/TableColumn/index.vue b/src/components/TableColumn/index.vue
index 9da0796..f6b4d48 100644
--- a/src/components/TableColumn/index.vue
+++ b/src/components/TableColumn/index.vue
@@ -5,7 +5,7 @@
:label="label"
v-bind="$attrs"
>
-
+
@@ -31,35 +31,13 @@ const isColumnVisible = inject<(propOrLabel: string) => boolean>('isColumnVisibl
// 计算是否应该显示该列
const shouldShow = computed(() => {
// 优先使用 prop,如果没有 prop 则使用 label
- let key = props.prop || props.label || ''
+ const key = props.prop || props.label || ''
if (!key) {
// 如果没有 prop 和 label,默认显示(可能是序号列等特殊列)
return true
}
- // 如果 key 是 label,尝试通过 labelToPropMap 映射到 prop
- // 这样可以确保与 useTableColumns 的提取逻辑一致
- if (!props.prop && props.label) {
- const labelToPropMap: Record = {
- '是否退休': 'tied',
- '姓名/工号': 'nameNo',
- '性别': 'sex',
- '部门': 'deptName',
- '学历学位': 'dgreeName',
- '职称等级': 'professionalTitle',
- '岗位级别': 'stationLevelName',
- '职业资格等级': 'levelName',
- '职业资格工种': 'workName',
- '用工性质': 'employmentNatureName',
- '手机': 'telPhone',
- '家庭住址': 'homeAddress',
- '授课类型': 'teacherCate',
- '操作': 'action',
- }
- // 如果 label 在映射表中,使用映射后的 prop;否则使用 label
- key = labelToPropMap[props.label] || props.label
- }
-
+ // isColumnVisible 函数会同时匹配 prop 和 label,所以直接传递即可
return isColumnVisible(key)
})
diff --git a/src/components/TableColumnControl/index.vue b/src/components/TableColumnControl/index.vue
index 2b566d3..6309293 100644
--- a/src/components/TableColumnControl/index.vue
+++ b/src/components/TableColumnControl/index.vue
@@ -2,36 +2,24 @@
- {{ triggerText || '列设置' }}
+ {{ triggerText || '列显隐' }}
-
-
-
- 重置
- 确定
-
-
+
+
+
diff --git a/src/views/professional/outercompanyemployee/index.vue b/src/views/professional/outercompanyemployee/index.vue
index ec99152..bc1324b 100755
--- a/src/views/professional/outercompanyemployee/index.vue
+++ b/src/views/professional/outercompanyemployee/index.vue
@@ -2,7 +2,7 @@
-
+
@@ -33,7 +31,6 @@
v-model="state.queryForm.realName"
placeholder="请输入姓名"
clearable
- style="width: 200px"
/>
@@ -41,7 +38,6 @@
v-model="state.queryForm.idCard"
placeholder="请输入身份证"
clearable
- style="width: 200px"
/>
@@ -49,7 +45,6 @@
v-model="state.queryForm.mobile"
placeholder="请输入手机"
clearable
- style="width: 200px"
/>
@@ -57,7 +52,6 @@
v-model="state.queryForm.inoutFlag"
clearable
placeholder="请选择"
- style="width: 200px"
>
- 查询
- 重置
+ 查询
+ 重置
-
+
新 增
导 入
导出
+ :loading="exportLoading">导出
批量删除
-
@@ -190,139 +186,12 @@
/>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ :form-data="form"
+ :company-list="companyList"
+ @success="handleFormSuccess"
+ />
@@ -400,13 +269,12 @@ import { Plus } from '@element-plus/icons-vue'
import {
fetchList,
getObj,
- addObj,
- putObj,
delObj,
batchDel,
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()
@@ -436,7 +304,6 @@ const getDictLabel = (value: string | number) => {
// 表格引用
const tableRef = ref()
-const formRef = ref()
const queryRef = ref()
const uploadFormRef = ref()
@@ -448,7 +315,6 @@ const dialogVisible = ref(false)
const dialogUploadVisible = ref(false)
const dialogAvatarVisible = ref(false)
const dialogViewVisible = ref(false)
-const submitLoading = ref(false)
const exportLoading = ref(false)
// 选中的行数据
@@ -476,28 +342,6 @@ const form = reactive({
remarks: ''
})
-// 表单验证规则
-const formRules = {
- companyId: [
- { required: true, message: '请选择单位', trigger: 'change' }
- ],
- realName: [
- { required: true, message: '请填写姓名', trigger: 'blur' }
- ],
- idCard: [
- { required: true, message: '请填写身份证号', trigger: 'blur' }
- ],
- mobile: [
- { required: true, message: '请填写手机号', trigger: 'blur' }
- ],
- address: [
- { required: true, message: '请填写家庭住址', trigger: 'blur' }
- ],
- inoutFlag: [
- { required: true, message: '请选择是否允许进出', trigger: 'change' }
- ]
-}
-
// 头像相关
const dialogImageUrl = ref('')
const fileList = ref([])
@@ -665,36 +509,9 @@ const resetPassword = (row: any) => {
}).catch(() => {})
}
-// 提交表单
-const handleSubmit = async () => {
- if (!formRef.value) return
-
- await formRef.value.validate(async (valid: boolean) => {
- if (valid) {
- submitLoading.value = true
- try {
- // 设置单位名称
- const selectedCompany = companyList.value.find(item => item.id === form.companyId)
- if (selectedCompany) {
- form.companyName = selectedCompany.companyName
- }
-
- if (form.id) {
- await putObj(form)
- message.success('修改成功')
- } else {
- await addObj(form)
- message.success('添加成功')
- }
- dialogVisible.value = false
- getDataList()
- } catch (error: any) {
- message.error(error?.msg || '操作失败')
- } finally {
- submitLoading.value = false
- }
- }
- })
+// 表单提交成功回调
+const handleFormSuccess = () => {
+ getDataList()
}
// 获取图片 URL
diff --git a/src/views/professional/outercompanyemployee/indexSecond.vue b/src/views/professional/outercompanyemployee/indexSecond.vue
index 54d0374..d90f85c 100755
--- a/src/views/professional/outercompanyemployee/indexSecond.vue
+++ b/src/views/professional/outercompanyemployee/indexSecond.vue
@@ -690,7 +690,7 @@ const handleSubmit = async () => {
dialogVisible.value = false
getDataList()
} catch (error: any) {
- message.error(error?.msg || '操作失败')
+ message.error(error.msg)
} finally {
submitLoading.value = false
}
diff --git a/src/views/professional/outercompanyemployee/indexTrain.vue b/src/views/professional/outercompanyemployee/indexTrain.vue
index b26bc1e..535decb 100755
--- a/src/views/professional/outercompanyemployee/indexTrain.vue
+++ b/src/views/professional/outercompanyemployee/indexTrain.vue
@@ -648,7 +648,7 @@ const handleSubmit = async () => {
dialogVisible.value = false
getDataList()
} catch (error: any) {
- message.error(error?.msg || '操作失败')
+ message.error(error.msg)
} finally {
submitLoading.value = false
}
diff --git a/src/views/professional/professionalacademicdegreeconfig/index.vue b/src/views/professional/professionalacademicdegreeconfig/index.vue
index 8b00823..a2e3e9a 100755
--- a/src/views/professional/professionalacademicdegreeconfig/index.vue
+++ b/src/views/professional/professionalacademicdegreeconfig/index.vue
@@ -233,8 +233,9 @@ const handleSubmit = async () => {
}
dialogVisible.value = false
getDataList()
- } catch (error) {
- // 提交失败
+ } catch (error: any) {
+ // 处理业务错误
+ message.error(error.msg)
} finally {
submitLoading.value = false
}
diff --git a/src/views/professional/professionalacademiceducationtypeconfig/index.vue b/src/views/professional/professionalacademiceducationtypeconfig/index.vue
index f54b80a..0cc68b1 100755
--- a/src/views/professional/professionalacademiceducationtypeconfig/index.vue
+++ b/src/views/professional/professionalacademiceducationtypeconfig/index.vue
@@ -233,8 +233,9 @@ const handleSubmit = async () => {
}
dialogVisible.value = false
getDataList()
- } catch (error) {
- // 提交失败
+ } catch (error: any) {
+ // 处理业务错误
+ message.error(error.msg)
} finally {
submitLoading.value = false
}
diff --git a/src/views/professional/professionalatstation/index.vue b/src/views/professional/professionalatstation/index.vue
index 30bb427..57f0a73 100755
--- a/src/views/professional/professionalatstation/index.vue
+++ b/src/views/professional/professionalatstation/index.vue
@@ -233,8 +233,9 @@ const handleSubmit = async () => {
}
dialogVisible.value = false
getDataList()
- } catch (error) {
- // 提交失败
+ } catch (error: any) {
+ // 处理业务错误
+ message.error(error.msg)
} finally {
submitLoading.value = false
}
diff --git a/src/views/professional/professionalemploymentnature/index.vue b/src/views/professional/professionalemploymentnature/index.vue
index cf40b78..8cf96c1 100755
--- a/src/views/professional/professionalemploymentnature/index.vue
+++ b/src/views/professional/professionalemploymentnature/index.vue
@@ -233,8 +233,9 @@ const handleSubmit = async () => {
}
dialogVisible.value = false
getDataList()
- } catch (error) {
- // 提交失败
+ } catch (error: any) {
+ // 处理业务错误
+ message.error(error.msg)
} finally {
submitLoading.value = false
}
diff --git a/src/views/professional/professionalmajorstation/index.vue b/src/views/professional/professionalmajorstation/index.vue
index ec71873..0172f4f 100755
--- a/src/views/professional/professionalmajorstation/index.vue
+++ b/src/views/professional/professionalmajorstation/index.vue
@@ -233,8 +233,9 @@ const handleSubmit = async () => {
}
dialogVisible.value = false
getDataList()
- } catch (error) {
- // 提交失败
+ } catch (error: any) {
+ // 处理业务错误
+ message.error(error.msg)
} finally {
submitLoading.value = false
}
diff --git a/src/views/professional/professionalpaperconfig/index.vue b/src/views/professional/professionalpaperconfig/index.vue
index aea5e9a..ae5bf82 100755
--- a/src/views/professional/professionalpaperconfig/index.vue
+++ b/src/views/professional/professionalpaperconfig/index.vue
@@ -233,8 +233,9 @@ const handleSubmit = async () => {
}
dialogVisible.value = false
getDataList()
- } catch (error) {
- // 提交失败
+ } catch (error: any) {
+ // 处理业务错误
+ message.error(error.msg)
} finally {
submitLoading.value = false
}
diff --git a/src/views/professional/professionalpartybranch/index.vue b/src/views/professional/professionalpartybranch/index.vue
index fa9ba1d..2cbb600 100755
--- a/src/views/professional/professionalpartybranch/index.vue
+++ b/src/views/professional/professionalpartybranch/index.vue
@@ -232,8 +232,9 @@ const handleSubmit = async () => {
}
dialogVisible.value = false
getDataList()
- } catch (error) {
- // 提交失败
+ } catch (error: any) {
+ // 处理业务错误
+ message.error(error.msg)
} finally {
submitLoading.value = false
}
diff --git a/src/views/professional/professionalpartychange/index.vue b/src/views/professional/professionalpartychange/index.vue
index 0c7b854..c5a6170 100755
--- a/src/views/professional/professionalpartychange/index.vue
+++ b/src/views/professional/professionalpartychange/index.vue
@@ -66,7 +66,7 @@
-
+
diff --git a/src/views/professional/professionalqualificationconfig/index.vue b/src/views/professional/professionalqualificationconfig/index.vue
index 004914b..88daf15 100644
--- a/src/views/professional/professionalqualificationconfig/index.vue
+++ b/src/views/professional/professionalqualificationconfig/index.vue
@@ -233,8 +233,9 @@ const handleSubmit = async () => {
}
dialogVisible.value = false
getDataList()
- } catch (error) {
- // 提交失败
+ } catch (error: any) {
+ // 处理业务错误
+ message.error(error.msg)
} finally {
submitLoading.value = false
}
diff --git a/src/views/professional/professionalqualificationrelation/index.vue b/src/views/professional/professionalqualificationrelation/index.vue
index 021d4b6..edc9f41 100644
--- a/src/views/professional/professionalqualificationrelation/index.vue
+++ b/src/views/professional/professionalqualificationrelation/index.vue
@@ -307,8 +307,9 @@ const changeState = (row: any, val: number) => {
})
message.success('操作成功')
getDataList()
- } catch (error) {
- // Failed to change state
+ } catch (error: any) {
+ // 处理业务错误
+ message.error(error.msg)
}
}).catch(() => {})
} else if (val === -2) {
@@ -354,8 +355,9 @@ const handleDel = (row: any) => {
state.pagination.current = state.pagination.current - 1
}
getDataList()
- } catch (error) {
- // Failed to delete
+ } catch (error: any) {
+ // 处理业务错误
+ message.error(error.msg)
}
}).catch(() => {})
}
diff --git a/src/views/professional/professionalstationdutylevel/index.vue b/src/views/professional/professionalstationdutylevel/index.vue
index c177d9d..8aee92f 100755
--- a/src/views/professional/professionalstationdutylevel/index.vue
+++ b/src/views/professional/professionalstationdutylevel/index.vue
@@ -233,8 +233,9 @@ const handleSubmit = async () => {
}
dialogVisible.value = false
getDataList()
- } catch (error) {
- // 提交失败
+ } catch (error: any) {
+ // 处理业务错误
+ message.error(error.msg)
} finally {
submitLoading.value = false
}
diff --git a/src/views/professional/professionalstationtype/index.vue b/src/views/professional/professionalstationtype/index.vue
index e2e6b55..7ed9677 100755
--- a/src/views/professional/professionalstationtype/index.vue
+++ b/src/views/professional/professionalstationtype/index.vue
@@ -233,8 +233,9 @@ const handleSubmit = async () => {
}
dialogVisible.value = false
getDataList()
- } catch (error) {
- // 提交失败
+ } catch (error: any) {
+ // 处理业务错误
+ message.error(error.msg)
} finally {
submitLoading.value = false
}
diff --git a/src/views/professional/professionalteacheracademicrelation/index.vue b/src/views/professional/professionalteacheracademicrelation/index.vue
index 6c62ab5..e7686cd 100755
--- a/src/views/professional/professionalteacheracademicrelation/index.vue
+++ b/src/views/professional/professionalteacheracademicrelation/index.vue
@@ -347,8 +347,9 @@ const changeState = (row: any, val: number) => {
})
message.success('操作成功')
getDataList()
- } catch (error) {
- // Failed to change state
+ } catch (error: any) {
+ // 处理业务错误
+ message.error(error.msg)
}
}).catch(() => {})
} else if (val === -2) {
@@ -393,8 +394,9 @@ const handleDel = (row: any) => {
state.pagination.current = state.pagination.current - 1
}
getDataList()
- } catch (error) {
- // Failed to delete
+ } catch (error: any) {
+ // 处理业务错误
+ message.error(error.msg)
}
}).catch(() => {})
}
diff --git a/src/views/professional/professionalteachercertificateconf/index.vue b/src/views/professional/professionalteachercertificateconf/index.vue
index 67b19c4..e15ce74 100755
--- a/src/views/professional/professionalteachercertificateconf/index.vue
+++ b/src/views/professional/professionalteachercertificateconf/index.vue
@@ -233,8 +233,9 @@ const handleSubmit = async () => {
}
dialogVisible.value = false
getDataList()
- } catch (error) {
- // 提交失败
+ } catch (error: any) {
+ // 处理业务错误
+ message.error(error.msg)
} finally {
submitLoading.value = false
}
diff --git a/src/views/professional/professionalteachercertificaterelation/index.vue b/src/views/professional/professionalteachercertificaterelation/index.vue
index 16c0c95..8ede29f 100755
--- a/src/views/professional/professionalteachercertificaterelation/index.vue
+++ b/src/views/professional/professionalteachercertificaterelation/index.vue
@@ -300,8 +300,9 @@ const changeState = (row: any, val: number) => {
})
message.success('操作成功')
getDataList()
- } catch (error) {
- // Failed to change state
+ } catch (error: any) {
+ // 处理业务错误
+ message.error(error.msg)
}
}).catch(() => {})
} else if (val === -2) {
@@ -346,8 +347,9 @@ const handleDel = (row: any) => {
state.pagination.current = state.pagination.current - 1
}
getDataList()
- } catch (error) {
- // Failed to delete
+ } catch (error: any) {
+ // 处理业务错误
+ message.error(error.msg)
}
}).catch(() => {})
}
diff --git a/src/views/professional/professionalteacherhonor/index.vue b/src/views/professional/professionalteacherhonor/index.vue
index 560d8e3..603d438 100755
--- a/src/views/professional/professionalteacherhonor/index.vue
+++ b/src/views/professional/professionalteacherhonor/index.vue
@@ -283,8 +283,9 @@ const changeState = (row: any, val: number) => {
})
message.success('操作成功')
getDataList()
- } catch (error) {
- // Failed to change state
+ } catch (error: any) {
+ // 处理业务错误
+ message.error(error.msg)
}
}).catch(() => {})
} else if (val === -2) {
@@ -331,8 +332,9 @@ const handleDel = (row: any) => {
state.pagination.current = state.pagination.current - 1
}
getDataList()
- } catch (error) {
- // Failed to delete
+ } catch (error: any) {
+ // 处理业务错误
+ message.error(error.msg)
}
}).catch(() => {})
}
diff --git a/src/views/professional/professionalteachertype/index.vue b/src/views/professional/professionalteachertype/index.vue
index 94d82a3..0bcacc9 100755
--- a/src/views/professional/professionalteachertype/index.vue
+++ b/src/views/professional/professionalteachertype/index.vue
@@ -233,8 +233,9 @@ const handleSubmit = async () => {
}
dialogVisible.value = false
getDataList()
- } catch (error) {
- // 提交失败
+ } catch (error: any) {
+ // 处理业务错误
+ message.error(error.msg)
} finally {
submitLoading.value = false
}
diff --git a/src/views/professional/professionalteachingmaterialconfig/index.vue b/src/views/professional/professionalteachingmaterialconfig/index.vue
index 6ea36df..d2d0693 100755
--- a/src/views/professional/professionalteachingmaterialconfig/index.vue
+++ b/src/views/professional/professionalteachingmaterialconfig/index.vue
@@ -233,8 +233,9 @@ const handleSubmit = async () => {
}
dialogVisible.value = false
getDataList()
- } catch (error) {
- // 提交失败
+ } catch (error: any) {
+ // 处理业务错误
+ message.error(error.msg)
} finally {
submitLoading.value = false
}
diff --git a/src/views/professional/professionaltitlelevelconfig/index.vue b/src/views/professional/professionaltitlelevelconfig/index.vue
index 07ba589..3648684 100755
--- a/src/views/professional/professionaltitlelevelconfig/index.vue
+++ b/src/views/professional/professionaltitlelevelconfig/index.vue
@@ -233,8 +233,9 @@ const handleSubmit = async () => {
}
dialogVisible.value = false
getDataList()
- } catch (error) {
- // 提交失败
+ } catch (error: any) {
+ // 处理业务错误
+ message.error(error.msg)
} finally {
submitLoading.value = false
}
diff --git a/src/views/professional/professionaltitlerelation/index.vue b/src/views/professional/professionaltitlerelation/index.vue
index 97bde1a..48d804e 100755
--- a/src/views/professional/professionaltitlerelation/index.vue
+++ b/src/views/professional/professionaltitlerelation/index.vue
@@ -341,8 +341,9 @@ const changeState = (row: any, val: number) => {
})
message.success('操作成功')
getDataList()
- } catch (error) {
- // Failed to change state
+ } catch (error: any) {
+ // 处理业务错误
+ message.error(error.msg)
}
}).catch(() => {})
} else if (val === -2) {
@@ -389,8 +390,9 @@ const handleDel = (row: any) => {
state.pagination.current = state.pagination.current - 1
}
getDataList()
- } catch (error) {
- // Failed to delete
+ } catch (error: any) {
+ // 处理业务错误
+ message.error(error.msg)
}
}).catch(() => {})
}
diff --git a/src/views/professional/professionaltopiclevelconfig/index.vue b/src/views/professional/professionaltopiclevelconfig/index.vue
index 14e25d5..d596ade 100755
--- a/src/views/professional/professionaltopiclevelconfig/index.vue
+++ b/src/views/professional/professionaltopiclevelconfig/index.vue
@@ -233,8 +233,9 @@ const handleSubmit = async () => {
}
dialogVisible.value = false
getDataList()
- } catch (error) {
- // 提交失败
+ } catch (error: any) {
+ // 处理业务错误
+ message.error(error.msg)
} finally {
submitLoading.value = false
}
diff --git a/src/views/professional/professionaltopicsourceconfig/index.vue b/src/views/professional/professionaltopicsourceconfig/index.vue
index bd451fd..d8e4b97 100755
--- a/src/views/professional/professionaltopicsourceconfig/index.vue
+++ b/src/views/professional/professionaltopicsourceconfig/index.vue
@@ -233,8 +233,9 @@ const handleSubmit = async () => {
}
dialogVisible.value = false
getDataList()
- } catch (error) {
- // 提交失败
+ } catch (error: any) {
+ // 处理业务错误
+ message.error(error.msg)
} finally {
submitLoading.value = false
}
diff --git a/src/views/professional/professionalworktype/index.vue b/src/views/professional/professionalworktype/index.vue
index 27111e9..f846b81 100755
--- a/src/views/professional/professionalworktype/index.vue
+++ b/src/views/professional/professionalworktype/index.vue
@@ -201,8 +201,9 @@ const handleSubmit = async () => {
}
dialogVisible.value = false
getDataList()
- } catch (error) {
- // 提交失败
+ } catch (error: any) {
+ // 处理业务错误
+ message.error(error.msg)
} finally {
submitLoading.value = false
}
diff --git a/src/views/professional/professionalyearbounds/index.vue b/src/views/professional/professionalyearbounds/index.vue
index 029bc33..12764eb 100755
--- a/src/views/professional/professionalyearbounds/index.vue
+++ b/src/views/professional/professionalyearbounds/index.vue
@@ -292,7 +292,7 @@ const handleDel = (row: any) => {
message.success('删除成功')
getDataList(false) // 删除后保持当前页
} catch (error: any) {
- message.error(error?.msg || '删除失败')
+ message.error(error.msg)
}
}).catch(() => {
// 用户取消
@@ -317,7 +317,7 @@ const handleSubmit = async () => {
dialogVisible.value = false
getDataList(false) // 提交后保持当前页
} catch (error: any) {
- message.error(error?.msg || '操作失败')
+ message.error(error.msg)
} finally {
submitLoading.value = false
}
diff --git a/src/views/professional/salaryexportrecord/index.vue b/src/views/professional/salaryexportrecord/index.vue
index d72392a..eca9ce5 100644
--- a/src/views/professional/salaryexportrecord/index.vue
+++ b/src/views/professional/salaryexportrecord/index.vue
@@ -18,7 +18,6 @@
value-format="YYYY"
placeholder="请选择薪资年份"
clearable
- style="width: 200px"
/>
@@ -30,11 +29,18 @@
value-format="M"
placeholder="请选择薪资月份"
clearable
- style="width: 200px"
/>
+
+
+
+
+ 查询
+ 重置
+
+
@@ -49,13 +55,13 @@
>
-
+
-
+
-
+
-
+
{{ scope.row.confirm === '1' ? '是' : '否' }}
@@ -63,7 +69,7 @@
-
+
{
getDataList() // 查询后跳转到第一页
}
+// 重置
+const resetQuery = () => {
+ searchFormRef.value?.formRef?.resetFields()
+ Object.assign(search, {
+ salaryYear: '',
+ salaryMonth: ''
+ })
+ handleFilter()
+}
+
// 删除
const handleDel = (row: any) => {
messageBox.confirm('确认删除?').then(async () => {
@@ -153,7 +169,7 @@ const handleDel = (row: any) => {
message.success('删除成功')
getDataList(false) // 删除后保持当前页
} catch (error: any) {
- message.error(error?.msg || '删除失败')
+ message.error(error.msg)
}
}).catch(() => {
// 用户取消
diff --git a/src/views/professional/teacherawardtax/index.vue b/src/views/professional/teacherawardtax/index.vue
index 911209d..33d5d67 100644
--- a/src/views/professional/teacherawardtax/index.vue
+++ b/src/views/professional/teacherawardtax/index.vue
@@ -1,18 +1,6 @@
-
-
-
- 绩效导入
-
-
-
-
@@ -36,7 +23,6 @@
v-model="search.teacherNo"
placeholder="请输入工号"
clearable
- style="width: 200px"
/>
@@ -48,13 +34,33 @@
value-format="YYYY"
placeholder="请选择年份"
clearable
- style="width: 200px"
/>
+
+
+
+
+ 查询
+ 重置
+
+
+
+
+
+ 绩效导入
+
+
+
+
@@ -158,6 +163,17 @@ const handleFilter = () => {
getDataList() // 查询后跳转到第一页
}
+// 重置
+const resetQuery = () => {
+ searchFormRef.value?.formRef?.resetFields()
+ Object.assign(search, {
+ realName: '',
+ teacherNo: '',
+ year: ''
+ })
+ handleFilter()
+}
+
// 导入
const handleImportBaseSalary = () => {
importAwardTaxRef.value?.init()
@@ -165,7 +181,4 @@ const handleImportBaseSalary = () => {
diff --git a/src/views/professional/teacherbase/index.vue b/src/views/professional/teacherbase/index.vue
index f907ec9..6393867 100644
--- a/src/views/professional/teacherbase/index.vue
+++ b/src/views/professional/teacherbase/index.vue
@@ -194,65 +194,67 @@
-
-
-
新 增
-
+
+
+
+ 新 增
+
-
-
+
+
-
- 状态锁定
-
+
+ 状态锁定
+
-
- 导出WORD
-
- 自定义导出
-
+
+ 导出WORD
+
+ 自定义导出
+
+
+
+ 导入信息
+
+
-
-
导入信息
-
-
-
+
+ >
+
@@ -312,7 +310,11 @@
-
+
+
+
+
+
@@ -894,7 +896,7 @@
政治面貌信息
-
+
新增
@@ -903,7 +905,7 @@
- {{ getPoliticsStatusName(scope.row.politicsStatusId || scope.row.politicsStatus) }}
+ {{ getNameById(searchPoliticsStatusList, scope.row.politicsStatusId || scope.row.politicsStatus, 'politicsStatus') }}
@@ -921,13 +923,13 @@
{{ scope.row.createTime ? new Date(scope.row.createTime).toLocaleDateString() : '-' }}
-
+
-
-
+
+
编辑
-
+
删除
@@ -944,7 +946,7 @@
社会关系信息
-
+
新增
@@ -960,17 +962,17 @@
- {{ getPoliticsStatusName(scope.row.politicsStatusId || scope.row.politicsStatus) }}
+ {{ getNameById(searchPoliticsStatusList, scope.row.politicsStatusId || scope.row.politicsStatus, 'politicsStatus') }}
-
+
-
-
+
+
编辑
-
+
删除
@@ -995,42 +997,50 @@
{{ scope.row.graduateTime ? new Date(scope.row.graduateTime).toLocaleDateString() : '-' }}
-
-
+
+
+ {{ getNameById(baseInfoAbout.academicQualificationList, scope.row.qualificationConfigId, 'qualificationName') }}
+
+
+
+
+ {{ getNameById(baseInfoAbout.degreeList, scope.row.degreeConfigId, 'degreeName') }}
+
+
-
+ 查看
-
-
+
-
+ 查看
-
-
+
-
+
@@ -1046,8 +1056,16 @@
-
-
+
+
+ {{ getNameById(baseInfoAbout.proTitleList, scope.row.professionalTitleConfigId, 'professionalTitle') }}
+
+
+
+
+ {{ getNameById(baseInfoAbout.majorStationList, scope.row.majorStation, 'majorStationName') }}
+
+
{{ scope.row.certificateTime ? new Date(scope.row.certificateTime).toLocaleDateString() : '-' }}
@@ -1059,24 +1077,24 @@
-
+
-
+ 查看
-
-
+
@@ -1092,26 +1110,34 @@
-
-
+
+
+ {{ getNameById(baseInfoAbout.workTypeList, scope.row.worker, 'workName') }}
+
+
+
+
+ {{ getNameById(baseInfoAbout.qualificationList, scope.row.qualificationConfigId, 'levelName') }}
+
+
{{ scope.row.certificateTime ? new Date(scope.row.certificateTime).toLocaleDateString() : '-' }}
-
+
-
+ 查看
-
-
+
@@ -1133,26 +1159,30 @@
-
-
-
+
-
- -
-
+ {{ getNameById(certificateList, scope.row.certificateConfId, 'cretificateName') }}
+
-
+
+
+
+ 查看
+ -
+
+
+
@@ -1224,9 +1254,17 @@
- 查 看
-
-
+ 查看
+ -
+
+
@@ -1378,25 +1416,31 @@
-
-
+
+
+
-
diff --git a/src/views/professional/teacherpayslip/index.vue b/src/views/professional/teacherpayslip/index.vue
index 5edb69d..06c7e93 100755
--- a/src/views/professional/teacherpayslip/index.vue
+++ b/src/views/professional/teacherpayslip/index.vue
@@ -1,36 +1,6 @@
-
-
-
- 工资条导入
-
- 设置可查询
-
- 设置不可查询
-
- 批量删除
-
-
-
-
@@ -54,7 +23,6 @@
v-model="search.realName"
placeholder="请输入姓名"
clearable
- style="width: 200px"
/>
@@ -63,7 +31,6 @@
v-model="search.idCard"
placeholder="请输入身份证号"
clearable
- style="width: 200px"
/>
@@ -75,7 +42,6 @@
value-format="YYYY"
placeholder="请选择年份"
clearable
- style="width: 200px"
/>
@@ -87,7 +53,6 @@
value-format="M"
placeholder="请选择月份"
clearable
- style="width: 200px"
/>
@@ -97,7 +62,6 @@
filterable
clearable
placeholder="请选择岗位类别"
- style="width: 200px"
>
+
+
+
+
+ 查询
+ 重置
+
+
+
+
+
+ 工资条导入
+
+ 设置可查询
+
+ 设置不可查询
+
+ 批量删除
+
+
+
+
- {{ scope.row.normalView === '1' ? '是' : '否' }}
+ {{ scope.row.normalView === '1' ? '可查询' : '不可查询' }}
@@ -285,6 +290,20 @@ const handleFilter = () => {
getDataList() // 查询后跳转到第一页
}
+// 重置
+const resetQuery = () => {
+ searchFormRef.value?.formRef?.resetFields()
+ Object.assign(search, {
+ teacherNo: '',
+ realName: '',
+ idCard: '',
+ nf: '',
+ yf: '',
+ stationTypeId: ''
+ })
+ handleFilter()
+}
+
// 选择变化
const selectionChange = (selection: any[]) => {
selectList.value = selection
@@ -303,7 +322,7 @@ const handleImportBaseSalary = () => {
// 批量删除
const delbatch = () => {
if (selectList.value.length === 0) {
- message.info("请至少选择一名人员")
+ message.warning("请至少选择一名人员")
return
}
@@ -315,7 +334,7 @@ const delbatch = () => {
if (response.data.code == -1) {
message.error(response.data.data)
} else {
- message.info("删除成功")
+ message.success("删除成功")
getDataList(false) // 删除后保持当前页
}
} catch (error: any) {
@@ -329,7 +348,7 @@ const delbatch = () => {
// 设置可查询/不可查询
const canSearch = (val: number) => {
if (selectList.value.length === 0) {
- message.info("请至少选择一名人员")
+ message.warning("请至少选择一名人员")
return
}
diff --git a/src/views/professional/teacherpayslip/salaryInfo.vue b/src/views/professional/teacherpayslip/salaryInfo.vue
index 5ca643a..ae56f10 100644
--- a/src/views/professional/teacherpayslip/salaryInfo.vue
+++ b/src/views/professional/teacherpayslip/salaryInfo.vue
@@ -1,73 +1,78 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+ 姓名:
+ {{ salaryData.baseInfo[0].realName }}
+ -
+
+
+ 身份证号:
+ {{ salaryData.baseInfo[0].idCard }}
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+ 应发部分
+
+
@@ -97,41 +102,53 @@
- 基础工资应税收入= 岗位工资 +薪级工资+见习期工资+生活补贴+岗位津贴+教龄津贴+特教补贴+特级教师津贴+特岗津贴(1)+特岗津贴(2)+奖励绩效性工资+乡镇工作补贴+临时补贴+保留津贴+应休未休假-个人补缴-其他扣款-医疗救助金
-
-
-
-
-
-
+
+ 基础工资应税收入= 岗位工资 +薪级工资+见习期工资+生活补贴+岗位津贴+教龄津贴+特教补贴+特级教师津贴+特岗津贴(1)+特岗津贴(2)+奖励绩效性工资+乡镇工作补贴+临时补贴+保留津贴+应休未休假-个人补缴-其他扣款-医疗救助金
+
+
+
+
+
+ 应扣部分
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
- 个人所得税 = 个税计算数据中的《 累计应补(退)税额 》
-
-
+
+ 个人所得税 = 个税计算数据中的《 累计应补(退)税额 》
+
-
-
-
-
+
+
+
+ 造单收入清单
+
+
@@ -146,17 +163,19 @@
-
-
-
-
-
-
+
+
+
+ 个税计算数据
+
+
@@ -178,37 +197,46 @@
- 应税收入= 基础工资应税收入+造单收入
- 累计专项扣除=当年累计个人承担的住房公积金+医疗保险金+失业保险金+养老保险金
-
-
+
+ 应税收入= 基础工资应税收入+造单收入
+ 累计专项扣除=当年累计个人承担的住房公积金+医疗保险金+失业保险金+养老保险金
+
-
-
-
-
+
+
+
+ 实发合计
+
+
- 实发工资= 应发工资-应扣合计
-
-
-
+
+ 实发工资= 应发工资-应扣合计
+
+
+
-
diff --git a/src/views/professional/teachersalary/index.vue b/src/views/professional/teachersalary/index.vue
index e210a5d..1b48e7a 100755
--- a/src/views/professional/teachersalary/index.vue
+++ b/src/views/professional/teachersalary/index.vue
@@ -1,48 +1,6 @@
-
-
-
- 人事薪资导入
-
- 薪资导出
-
- 税金导入
-
- 设置可查询
-
- 设置不可查询
-
- 批量删除
-
-
-
-
+
+
+
+
+ 查询
+ 重置
+
+
+
+
+
+ 人事薪资导入
+
+ 薪资导出
+
+ 税金导入
+
+ 设置可查询
+
+ 设置不可查询
+
+ 批量删除
+
+
+
+
- {{ scope.row.normalView === '1' ? '是' : '否' }}
+ {{ scope.row.normalView === '1' ? '可查询' : '不可查询' }}
-
+
{
getDataList() // 查询后跳转到第一页
}
+// 重置
+const resetQuery = () => {
+ searchFormRef.value?.formRef?.resetFields()
+ Object.assign(search, {
+ teacherNo: '',
+ realName: '',
+ idCard: '',
+ nf: '',
+ yf: '',
+ stationTypeId: ''
+ })
+ handleFilter()
+}
+
// 选择变化
const selectionChange = (selection: any[]) => {
selectList.value = selection
@@ -327,7 +356,7 @@ const handleExportSalart = () => {
// 批量删除
const delbatch = () => {
if (selectList.value.length === 0) {
- message.info("请至少选择一名人员")
+ message.warning("请至少选择一名人员")
return
}
@@ -339,7 +368,7 @@ const delbatch = () => {
if (response.data.code == -1) {
message.error(response.data.data)
} else {
- message.info("删除成功")
+ message.success("删除成功")
getDataList(false) // 删除后保持当前页
}
} catch (error: any) {
@@ -353,7 +382,7 @@ const delbatch = () => {
// 设置可查询/不可查询
const canSearch = (val: number) => {
if (selectList.value.length === 0) {
- message.info("请至少选择一名人员")
+ message.warning("请至少选择一名人员")
return
}
diff --git a/src/views/professional/teachersalary/salaryInfo.vue b/src/views/professional/teachersalary/salaryInfo.vue
index 994a3fa..a53809f 100644
--- a/src/views/professional/teachersalary/salaryInfo.vue
+++ b/src/views/professional/teachersalary/salaryInfo.vue
@@ -1,73 +1,79 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+ 姓名:
+ {{ salaryData.baseInfo[0].realName }}
+ -
+
+
+ 身份证号:
+ {{ salaryData.baseInfo[0].idCard }}
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+ 应发部分
+
+
@@ -96,41 +102,53 @@
- 基础工资应税收入= 岗位工资 +薪级工资+见习期工资+生活补贴+岗位津贴+教龄津贴+特教补贴+特级教师津贴+特岗津贴(1)+特岗津贴(2)+奖励绩效性工资+乡镇工作补贴+临时补贴+保留津贴+应休未休假-个人补缴-其他扣款-医疗救助金
-
-
-
-
-
-
+
+ 基础工资应税收入= 岗位工资 +薪级工资+见习期工资+生活补贴+岗位津贴+教龄津贴+特教补贴+特级教师津贴+特岗津贴(1)+特岗津贴(2)+奖励绩效性工资+乡镇工作补贴+临时补贴+保留津贴+应休未休假-个人补缴-其他扣款-医疗救助金
+
+
+
+
+
+ 应扣部分
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
- 个人所得税 = 个税计算数据中的《 累计应补(退)税额 》
-
-
+
+ 个人所得税 = 个税计算数据中的《 累计应补(退)税额 》
+
-
-
-
-
+
+
+
+ 造单收入清单
+
+
@@ -145,17 +163,18 @@
-
-
-
-
-
-
+
+
+
+ 个税计算数据
+
+
@@ -177,17 +196,24 @@
-
-
+
+ 应税收入= 基础工资应税收入+造单收入
+ 累计专项扣除=当年累计个人承担的住房公积金+医疗保险金+失业保险金+养老保险金
+
-
-
-
-
+
+
+
+ 实发合计
+
+
@@ -195,17 +221,22 @@
- 实发工资= 应发工资-应扣合计
-
-
-
+
+ 实发工资= 应发工资-应扣合计
+
+
+
-
diff --git a/src/views/professional/typeofworkconfig/index.vue b/src/views/professional/typeofworkconfig/index.vue
index 463dd60..5cd66e4 100755
--- a/src/views/professional/typeofworkconfig/index.vue
+++ b/src/views/professional/typeofworkconfig/index.vue
@@ -233,8 +233,9 @@ const handleSubmit = async () => {
}
dialogVisible.value = false
getDataList()
- } catch (error) {
- // 提交失败
+ } catch (error: any) {
+ // 处理业务错误
+ message.error(error.msg)
} finally {
submitLoading.value = false
}