diff --git a/src/api/home/salary.js b/src/api/home/salary.js index 50ee407..f821060 100644 --- a/src/api/home/salary.js +++ b/src/api/home/salary.js @@ -1,7 +1,17 @@ import request from '@/config/axios' + +// 查询工资条 +export const getSalaryPage = async (params) => { + return await request.get({ url: '/admin-api/oa/user-salary-grant/page', params }) +} + // 生成工资条 export const createSalarySlip = async (data) => { - return await request.post({ url: '/admin-api/oa/user-salary-grant/create', data }) + return await request.post({ + url: '/admin-api/oa/user-salary-grant/create', + data, + isSubmitForm: true + }) } // 导入工资条 @@ -18,3 +28,18 @@ export const updateSalarySlip = async (data) => { export const sealupSalarySlip = async (data) => { return await request.post({ url: '/admin-api/oa/user-salary-grant/confirm', data }) } + +// 获取考勤模板链接 +export const getLinkAttendance = async () => { + return await request.get({ url: '/admin-api/oa/user-attendance/get-import-template' }) +} + +// 获取奖金模板 +export const getLinkReward = async () => { + return await request.get({ url: '/admin-api/oa/user-salary-grant/get-import-template' }) +} + +// 获取历史工资条模板 +export const getLinkHistorySalary = async () => { + return await request.get({ url: '/admin-api/oa/user-salary-grant/get-import-template/history' }) +} diff --git a/src/components/Pagination/index.vue b/src/components/Pagination/index.vue index cb9cb9e..ad9f6cf 100644 --- a/src/components/Pagination/index.vue +++ b/src/components/Pagination/index.vue @@ -6,7 +6,7 @@ v-model:page-size="pageSize" :small="small" :background="true" - :page-sizes="[10, 20, 30, 50, 100]" + :page-sizes="[10, 20, 50, 100, 200]" :pager-count="pagerCount" :total="total" class="float-right mt-15px mb-15px" diff --git a/src/utils/download.ts b/src/utils/download.ts index ab20014..a124af9 100644 --- a/src/utils/download.ts +++ b/src/utils/download.ts @@ -36,3 +36,19 @@ const download = { } export default download + +export function downloadFile(url: string, fileName: string) { + const link = document.createElement('a') + // 这里是将url转成blob地址, + fetch(url) + .then((res) => res.blob()) + .then((blob) => { + // 将链接地址字符内容转变成blob地址 + link.href = URL.createObjectURL(blob) + link.download = fileName + document.body.appendChild(link) + link.click() + URL.revokeObjectURL(link.href) //清除引用 + document.body.removeChild(link) + }) +} diff --git a/src/views/Finance/Salary/Comp/DialogSalary.vue b/src/views/Finance/Salary/Comp/DialogSalary.vue index bd69ae3..e406b26 100644 --- a/src/views/Finance/Salary/Comp/DialogSalary.vue +++ b/src/views/Finance/Salary/Comp/DialogSalary.vue @@ -38,15 +38,15 @@ - - + + - - + + @@ -87,8 +87,8 @@ - - + + @@ -129,7 +129,7 @@ const open = async (row) => { try { formData.value = await SalaryApi.getSalaryDetail(row.id) if (!formData.value) { - resetForm() + resetForm(row.id) } } finally { formLoading.value = false @@ -145,17 +145,19 @@ function getOptions() { } /** 重置表单 */ -const resetForm = () => { +const resetForm = (id) => { formData.value = { + employeeId: id, baseSalary: 0, planId: undefined, rewardSalary: 0, - butie: 0, - manqin: 0, + allowanceSalary: 0, + fullWorkSalary: 0, extraSalary: 0, socialDeduct: 0, accumulationFundDeduct: 0, - qitayingkou: 0 + meritsSalary: 0, + extraDeduct: 0 } formRef.value?.resetFields() } @@ -171,12 +173,7 @@ const submitForm = async () => { formLoading.value = true try { const data = formData.value - if (formType.value === 'create') { - await SalaryApi.createSalary(data) - message.success(t('common.createSuccess')) - } else { - await SalaryApi.updateSalary(data) - } + await SalaryApi.updateSalary(data) message.success('配置成功') dialogVisible.value = false // 发送操作成功的事件 diff --git a/src/views/Finance/Salary/index.vue b/src/views/Finance/Salary/index.vue index 3b52fbc..5dcff1f 100644 --- a/src/views/Finance/Salary/index.vue +++ b/src/views/Finance/Salary/index.vue @@ -5,6 +5,7 @@ diff --git a/src/views/Home/Salary/Comp/DialogCreateSalary.vue b/src/views/Home/Salary/Comp/DialogCreateSalary.vue index ba6d638..715c199 100644 --- a/src/views/Home/Salary/Comp/DialogCreateSalary.vue +++ b/src/views/Home/Salary/Comp/DialogCreateSalary.vue @@ -3,58 +3,58 @@ - - + + - - - +
+ + + 点击上传 + + + + 点击下载模板文件 + +
- - - - + +
+ + + 点击上传 + + + + 点击下载模板文件 + +
@@ -69,6 +69,10 @@ diff --git a/src/views/Home/Salary/Comp/DialogSalaryImport.vue b/src/views/Home/Salary/Comp/DialogSalaryImport.vue new file mode 100644 index 0000000..d1c208b --- /dev/null +++ b/src/views/Home/Salary/Comp/DialogSalaryImport.vue @@ -0,0 +1,89 @@ + + + + + diff --git a/src/views/Home/Salary/index.vue b/src/views/Home/Salary/index.vue index 9567414..8c01edd 100644 --- a/src/views/Home/Salary/index.vue +++ b/src/views/Home/Salary/index.vue @@ -1,17 +1,21 @@ - + @@ -147,13 +151,13 @@ @@ -163,39 +167,39 @@ @@ -228,31 +232,31 @@ - + - +