dev-cl
qsh 2 months ago
parent f45123126d
commit f56305505f
  1. 41
      src/api/finance/plan.js
  2. 36
      src/api/finance/salary.js
  3. 20
      src/api/home/index.js
  4. 20
      src/api/home/salary.js
  5. 101
      src/views/Finance/Commission/Comp/DialogPlan.vue
  6. 42
      src/views/Finance/Commission/index.vue
  7. 76
      src/views/Finance/Salary/Comp/DialogSalary.vue
  8. 12
      src/views/Finance/Salary/index.vue
  9. 2
      src/views/Pers/Setting/index.vue

@ -0,0 +1,41 @@
import request from '@/config/axios'
// 获取提成结算参数
export const getCommissionParams = async () => {
return await request.get({ url: '/admin-api/oa/percentage/get-percentage-param' })
}
// 创建
export const createPlan = (data) => {
return request.post({ url: '/admin-api/oa/percentage/create', data, isSubmitForm: true })
}
// 修改
export const updatePlan = (data) => {
return request.put({ url: '/admin-api/oa/percentage/update', data })
}
// 修改状态
export const updatePlanStatus = (data) => {
return request.put({ url: '/admin-api/oa/percentage/status/update', data })
}
// 分页
export const getPlanPage = (params) => {
return request.get({ url: '/admin-api/oa/percentage/page', params })
}
// 列表
export const getPlanSimpleList = (params) => {
return request.get({ url: '/admin-api/oa/percentage/simple-list', params })
}
// 详情
export const getPlanDetail = (id) => {
return request.get({ url: '/admin-api/oa/percentage/get', params: { id } })
}
// 删除
export const deletePlan = (id) => {
return request.delete({ url: '/admin-api/oa/percentage/delete', params: { id } })
}

@ -0,0 +1,36 @@
import request from '@/config/axios'
// 创建
export const createSalary = (data) => {
return request.post({ url: '/admin-api/oa/user-salary/create', data, isSubmitForm: true })
}
// 修改
export const updateSalary = (data) => {
return request.put({ url: '/admin-api/oa/user-salary/update', data })
}
// 修改状态
export const updateSalaryStatus = (data) => {
return request.put({ url: '/admin-api/oa/user-salary/status/update', data })
}
// 分页
export const getSalaryPage = (params) => {
return request.get({ url: '/admin-api/oa/user-salary/page', params })
}
// 列表
export const getSalarySimpleList = (params) => {
return request.get({ url: '/admin-api/oa/user-salary/simple-list', params })
}
// 详情
export const getSalaryDetail = (id) => {
return request.get({ url: '/admin-api/oa/user-salary/get', params: { id } })
}
// 删除
export const deleteSalary = (id) => {
return request.delete({ url: '/admin-api/oa/user-salary/delete', params: { id } })
}

@ -1,20 +0,0 @@
import request from '@/config/axios'
// 线索情况
export const getUserClueCount = async (params) => {
return await request.get({ url: '/admin-api/crm/home/get-user-count', params })
}
// 成交率
export const getClueSignSignRate = async (params) => {
return await request.get({ url: '/admin-api/crm/home/get-sign-rate', params })
}
// 成交率
export const getClueSignSignRank = async (params) => {
return await request.get({ url: '/admin-api/crm/home/get-sign-top10', params })
}
// 成交率
export const getClueFollowRank = async (params) => {
return await request.get({ url: '/admin-api/crm/home/get-follow-top10', params })
}

@ -0,0 +1,20 @@
import request from '@/config/axios'
// 生成工资条
export const createSalarySlip = async (data) => {
return await request.post({ url: '/admin-api/oa/user-salary-grant/create', data })
}
// 导入工资条
export const importSalarySlip = async (params) => {
return await request.get({ url: '/admin-api/oa/user-salary-grant/import', params })
}
// 修改工资条
export const updateSalarySlip = async (data) => {
return await request.put({ url: '/admin-api/oa/user-salary-grant/update', data })
}
// 封存
export const sealupSalarySlip = async (data) => {
return await request.post({ url: '/admin-api/oa/user-salary-grant/confirm', data })
}

@ -10,8 +10,8 @@
> >
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12" :offset="0"> <el-col :span="12" :offset="0">
<el-form-item label="方案名称" prop="name"> <el-form-item label="方案名称" prop="percentageName">
<el-input v-model="formData.name" placeholder="请输入方案名称" clearable /> <el-input v-model="formData.percentageName" placeholder="请输入方案名称" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" :offset="0"> <el-col :span="12" :offset="0">
@ -27,9 +27,9 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-button type="primary" class="mb-10px" plain @click="handleAddRules" <el-button type="primary" class="mb-10px" plain @click="handleAddRules">
>添加提成档位</el-button 添加提成档位
> </el-button>
<el-row :gutter="20" class="mb-10px"> <el-row :gutter="20" class="mb-10px">
<el-col <el-col
:span="24" :span="24"
@ -41,17 +41,17 @@
<el-select v-model="item.ruleParam1" style="width: 100px"> <el-select v-model="item.ruleParam1" style="width: 100px">
<el-option <el-option
v-for="it in opts.percentage_param1" v-for="it in opts.percentage_param1"
:key="Number(it.value)" :key="it.value"
:label="it.label" :label="it.label"
:value="Number(it.value)" :value="it.value"
/> />
</el-select> </el-select>
<el-select class="ml-5px" v-model="item.ruleParam2" style="width: 100px"> <el-select class="ml-5px" v-model="item.ruleParam2" style="width: 100px">
<el-option <el-option
v-for="it in opts.percentage_param2" v-for="it in opts.percentage_param2"
:key="Number(it.value)" :key="it.value"
:label="it.label" :label="it.label"
:value="Number(it.value)" :value="it.value"
/> />
</el-select> </el-select>
<span class="ml-5px"></span> <span class="ml-5px"></span>
@ -67,9 +67,9 @@
<el-select class="ml-5px" v-model="item.ruleParam4" style="width: 120px"> <el-select class="ml-5px" v-model="item.ruleParam4" style="width: 120px">
<el-option <el-option
v-for="it in opts.percentage_param4" v-for="it in opts.percentage_param4"
:key="Number(it.value)" :key="it.value"
:label="it.label" :label="it.label"
:value="Number(it.value)" :value="it.value"
/> />
</el-select> </el-select>
<div v-if="item.ruleParam4 == 2" class="inline-flex items-center"> <div v-if="item.ruleParam4 == 2" class="inline-flex items-center">
@ -88,9 +88,9 @@
<el-select class="ml-5px" v-model="item.ruleParam5" style="width: 100px"> <el-select class="ml-5px" v-model="item.ruleParam5" style="width: 100px">
<el-option <el-option
v-for="it in opts.percentage_param5" v-for="it in opts.percentage_param5"
:key="Number(it.value)" :key="it.value"
:label="it.label" :label="it.label"
:value="Number(it.value)" :value="it.value"
/> />
</el-select> </el-select>
<span class="ml-5px">结算</span> <span class="ml-5px">结算</span>
@ -105,6 +105,7 @@
<template #suffix> % </template> <template #suffix> % </template>
</el-input> </el-input>
</div> </div>
<Icon icon="ep:remove-filled" class="text-red-500 ml-20px" @click="handleRemove(index)" />
</el-col> </el-col>
</el-row> </el-row>
@ -113,17 +114,17 @@
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12" :offset="0"> <el-col :span="12" :offset="0">
<el-form-item label="是否扣除其他支出" labelWidth="150px"> <el-form-item label="是否扣除其他支出" labelWidth="150px">
<el-radio-group v-model="formData.qitazhichu"> <el-radio-group v-model="formData.isDeductExtraPay">
<el-radio :label="0"> </el-radio> <el-radio :label="true"> </el-radio>
<el-radio :label="1"> </el-radio> <el-radio :label="false"> </el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" :offset="0"> <el-col :span="12" :offset="0">
<el-form-item label="是否扣除售后" labelWidth="150px"> <el-form-item label="是否扣除售后" labelWidth="150px">
<el-radio-group v-model="formData.shouhou"> <el-radio-group v-model="formData.isDeductAfterSale">
<el-radio :label="0"> </el-radio> <el-radio :label="true"> </el-radio>
<el-radio :label="1"> </el-radio> <el-radio :label="false"> </el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -131,15 +132,15 @@
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12" :offset="0"> <el-col :span="12" :offset="0">
<el-form-item label="是否关联成交率" labelWidth="150px"> <el-form-item label="是否关联成交率" labelWidth="150px">
<el-radio-group v-model="formData.saleCommissionRelateDealConfig"> <el-radio-group v-model="formData.isRelateSignRate">
<el-radio label="true"> </el-radio> <el-radio :label="true"> </el-radio>
<el-radio label="false"> </el-radio> <el-radio :label="false"> </el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" :offset="0"> <el-col :span="12" :offset="0">
<el-form-item label="提成计算时间" labelWidth="150px"> <el-form-item label="提成计算时间" labelWidth="150px">
<el-radio-group v-model="formData.jisuanshijian"> <el-radio-group v-model="formData.calculateType">
<el-radio :label="1">成交后</el-radio> <el-radio :label="1">成交后</el-radio>
<el-radio :label="2">回款后</el-radio> <el-radio :label="2">回款后</el-radio>
</el-radio-group> </el-radio-group>
@ -148,7 +149,7 @@
</el-row> </el-row>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12" :offset="0"> <el-col :span="12" :offset="0">
<el-form-item label="关联规则" v-if="formData.saleCommissionRelateDealConfig == 'true'"> <el-form-item label="关联规则" v-if="formData.isRelateSignRate == 'true'">
<div> <div>
<el-button @click="formData.saleCommissionRelateRulesConfig.push({})"> <el-button @click="formData.saleCommissionRelateRulesConfig.push({})">
新增规则 新增规则
@ -198,7 +199,9 @@
</template> </template>
<script setup name="DialogCommissionPlan"> <script setup name="DialogCommissionPlan">
import * as PlanApi from '@/api/finance/plan'
const message = useMessage() // const message = useMessage() //
const { t } = useI18n() //
const dialogVisible = ref(false) // const dialogVisible = ref(false) //
const dialogTitle = ref('工资条设置') const dialogTitle = ref('工资条设置')
@ -206,7 +209,7 @@ const formLoading = ref(false) // 表单的加载中:1)修改时的数据加
const formData = ref({}) const formData = ref({})
const rules = { const rules = {
name: { required: true, message: '方案名称不可为空', trigger: 'blur' } percentageName: { required: true, message: '方案名称不可为空', trigger: 'blur' }
} }
const opts = ref({ const opts = ref({
percentage_param1: [], percentage_param1: [],
@ -224,16 +227,16 @@ const open = async (type, row) => {
resetForm() resetForm()
if (!opts.value.length) { if (!opts.value.length) {
// const arr = await ClassApi.getCommissionParams() const arr = await PlanApi.getCommissionParams()
// arr.map((item) => { arr.map((item) => {
// opts.value[item.dictType].push(item) opts.value[item.dictType].push(item)
// }) })
} }
if (row?.id) { if (row?.percentageId) {
formLoading.value = true formLoading.value = true
try { try {
// formData.value = await UserApi.getUser(id) formData.value = await PlanApi.getPlanDetail(row.percentageId)
} finally { } finally {
formLoading.value = false formLoading.value = false
} }
@ -244,32 +247,35 @@ defineExpose({ open }) // 提供 open 方法,用于打开弹窗
/** 重置表单 */ /** 重置表单 */
const resetForm = () => { const resetForm = () => {
formData.value = { formData.value = {
name: undefined, percentageName: undefined,
percentageType: 1, percentageType: 1,
rules: [ rules: [
{ {
ruleParam1: 1, ruleParam1: '2',
ruleParam2: 1, ruleParam2: '1',
ruleParam3: 0, ruleParam3: 0,
ruleParam4: 1, ruleParam4: '1',
ruleParam5: 1, ruleParam5: '1',
ruleParam6: 10 ruleParam6: 10
} }
], ],
saleCommissionRelateDealConfig: 'false', isRelateSignRate: false,
saleCommissionRelateRulesConfig: [] saleCommissionRelateRulesConfig: [],
isDeductExtraPay: true,
isDeductAfterSale: true,
calculateType: 1
} }
formRef.value?.resetFields() formRef.value?.resetFields()
} }
function handleAddRules() { function handleAddRules() {
formData.value.rules.push({ formData.value.rules.push({
ruleParam1: 1, ruleParam1: '2',
ruleParam2: 1, ruleParam2: '1',
ruleParam3: 0, ruleParam3: 0,
ruleParam4: 1, ruleParam4: '1',
ruleParam5: 1, ruleParam5: '1',
ruleParam6: 1 ruleParam6: 0
}) })
} }
@ -283,11 +289,12 @@ const submitForm = async () => {
// //
formLoading.value = true formLoading.value = true
try { try {
const data = { ...formData.value }
if (formType.value === 'create') { if (formType.value === 'create') {
// await ClassApi.createClassType(data) await PlanApi.createPlan(data)
message.success(t('common.createSuccess')) message.success(t('common.createSuccess'))
} else { } else {
// await ClassApi.updateClassType(data) await PlanApi.updatePlan(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
dialogVisible.value = false dialogVisible.value = false
@ -297,6 +304,10 @@ const submitForm = async () => {
formLoading.value = false formLoading.value = false
} }
} }
function handleRemove(index) {
formData.value.rules.splice(index, 1)
}
</script> </script>
<style lang="scss" scoped></style> <style lang="scss" scoped></style>

@ -2,7 +2,11 @@
<div> <div>
<el-form :model="searchForm" inline @submit.prevent> <el-form :model="searchForm" inline @submit.prevent>
<el-form-item> <el-form-item>
<el-input v-model="searchForm.name" placeholder="方案名称" @keyup.enter="handleQuery" /> <el-input
v-model="searchForm.percentageName"
placeholder="方案名称"
@keyup.enter="handleQuery"
/>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-select <el-select
@ -30,7 +34,7 @@
</el-form> </el-form>
<el-table v-loading="loading" :data="tableList" border stripe> <el-table v-loading="loading" :data="tableList" border stripe>
<el-table-column type="index" width="50" /> <el-table-column type="index" width="50" />
<el-table-column label="方案名称" prop="name" width="240" /> <el-table-column label="方案名称" prop="percentageName" width="240" />
<el-table-column label="结算方式" prop="percentageType" width="150" /> <el-table-column label="结算方式" prop="percentageType" width="150" />
<el-table-column label="结算规则"> <el-table-column label="结算规则">
<template #default="{ row }"> <template #default="{ row }">
@ -61,7 +65,7 @@
<el-button <el-button
type="primary" type="primary"
link link
@click="handleDelete(scope.row.id)" @click="handleDelete(scope.row.percentageId)"
v-hasPermi="['finance:commission:delete']" v-hasPermi="['finance:commission:delete']"
> >
删除 删除
@ -82,8 +86,14 @@
<script name="CommissionPlan" setup> <script name="CommissionPlan" setup>
import DialogPlan from './Comp/DialogPlan.vue' import DialogPlan from './Comp/DialogPlan.vue'
import * as PlanApi from '@/api/finance/plan'
import { removeNullField } from '@/utils'
const message = useMessage() //
const { t } = useI18n() //
const searchForm = ref({ const searchForm = ref({
name: undefined, percentageName: undefined,
status: undefined, status: undefined,
pageNo: 1, pageNo: 1,
pageSize: 20 pageSize: 20
@ -106,10 +116,9 @@ const total = ref(0)
const getList = async () => { const getList = async () => {
loading.value = true loading.value = true
try { try {
tableList.value = [{ status: 0 }] const data = await PlanApi.getPlanPage(removeNullField(searchForm.value))
// const data = await UserApi.getUserPage(queryParams) tableList.value = data.list
// tableList.value = data.list total.value = data.total
// total.value = data.total
} finally { } finally {
loading.value = false loading.value = false
} }
@ -124,9 +133,9 @@ const handleStatusChange = async (row) => {
try { try {
// //
const text = row.status === 0 ? '启用' : '停用' const text = row.status === 0 ? '启用' : '停用'
await message.confirm('确认要"' + text + '""' + row.name + '"方案吗?') await message.confirm('确认要"' + text + '""' + row.percentageName + '"方案吗?')
// //
// await UserApi.updateUserStatus(row.id, row.status) await PlanApi.updatePlanStatus({ percentageId: row.percentageId, status: row.status })
// //
await getList() await getList()
} catch { } catch {
@ -134,6 +143,19 @@ const handleStatusChange = async (row) => {
row.status = row.status === 0 ? 1 : 0 row.status = row.status === 0 ? 1 : 0
} }
} }
/** 删除按钮操作 */
const handleDelete = async (id) => {
try {
//
await message.delConfirm()
//
await PlanApi.deletePlan(id)
message.success(t('common.delSuccess'))
//
await getList()
} catch {}
}
</script> </script>
<style lang="scss" scoped></style> <style lang="scss" scoped></style>

@ -13,22 +13,22 @@
<el-divider direction="horizontal" content-position="left">应发</el-divider> <el-divider direction="horizontal" content-position="left">应发</el-divider>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12" :offset="0"> <el-col :span="12" :offset="0">
<el-form-item label="基本工资" prop="dixin"> <el-form-item label="基本工资" prop="baseSalary">
<el-input-number v-model="formData.dixin" :min="0" :controls="false" /> <el-input-number v-model="formData.baseSalary" :min="0" :controls="false" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" :offset="0"> <el-col :span="12" :offset="0">
<el-form-item label="奖金" prop="jiangjin"> <el-form-item label="奖金" prop="rewardSalary">
<el-input-number v-model="formData.jiangjin" :min="0" :controls="false" /> <el-input-number v-model="formData.rewardSalary" :min="0" :controls="false" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12" :offset="0"> <el-col :span="12" :offset="0">
<el-form-item label="提成方案" prop="tichengfangan"> <el-form-item label="提成方案" prop="planId">
<el-select v-model="formData.tichengfangan" placeholder="请选择" filterable> <el-select v-model="formData.planId" placeholder="请选择" filterable>
<el-option <el-option
v-for="item in tichengfanganOptions" v-for="item in planOptions"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
@ -49,39 +49,39 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" :offset="0"> <el-col :span="12" :offset="0">
<el-form-item label="其他应发" prop="qitayingfa"> <el-form-item label="其他应发" prop="extraSalary">
<el-input-number v-model="formData.qitayingfa" :min="0" :controls="false" /> <el-input-number v-model="formData.extraSalary" :min="0" :controls="false" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-divider direction="horizontal" content-position="left">应扣</el-divider> <el-divider direction="horizontal" content-position="left">应扣</el-divider>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12" :offset="0"> <el-col :span="12" :offset="0">
<el-form-item label="绩效" prop="jixiao"> <el-form-item label="绩效">
<el-input placeholder="生成后录入" disabled /> <el-input placeholder="生成后录入" disabled />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" :offset="0"> <el-col :span="12" :offset="0">
<el-form-item label="考勤" prop="kaoqin"> <el-form-item label="考勤">
<el-input placeholder="自动计算" disabled /> <el-input placeholder="自动计算" disabled />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12" :offset="0"> <el-col :span="12" :offset="0">
<el-form-item label="社保" prop="shebao"> <el-form-item label="社保" prop="socialDeduct">
<el-input-number v-model="formData.shebao" :min="0" :controls="false" /> <el-input-number v-model="formData.socialDeduct" :min="0" :controls="false" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" :offset="0"> <el-col :span="12" :offset="0">
<el-form-item label="公积金" prop="gongjijin"> <el-form-item label="公积金" prop="accumulationFundDeduct">
<el-input-number v-model="formData.gongjijin" :min="0" :controls="false" /> <el-input-number v-model="formData.accumulationFundDeduct" :min="0" :controls="false" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12" :offset="0"> <el-col :span="12" :offset="0">
<el-form-item label="税额" prop="shuie"> <el-form-item label="税额">
<el-input placeholder="自动计算" disabled /> <el-input placeholder="自动计算" disabled />
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -103,7 +103,8 @@
</template> </template>
<script setup name="DialogSalarySetting"> <script setup name="DialogSalarySetting">
// const message = useMessage() // import * as SalaryApi from '@/api/finance/salary'
const message = useMessage() //
const dialogVisible = ref(false) // const dialogVisible = ref(false) //
const dialogTitle = ref('工资条设置') const dialogTitle = ref('工资条设置')
@ -112,41 +113,40 @@ const formLoading = ref(false) // 表单的加载中:1)修改时的数据加
const formData = ref({}) const formData = ref({})
const rules = { const rules = {
dixin: { required: true, message: '基本工资不可为空', trigger: 'blur' } baseSalary: { required: true, message: '基本工资不可为空', trigger: 'blur' }
} }
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (row) => { const open = async (row) => {
dialogVisible.value = true dialogVisible.value = true
dialogTitle.value = `工资条设置-【${row.nickname}` dialogTitle.value = `工资条设置-【${row.name}`
resetForm() resetForm()
getOptions() getOptions()
formLoading.value = true formLoading.value = true
try { try {
// formData.value = await UserApi.getUser(id) formData.value = await SalaryApi.getSalaryDetail(id)
} finally { } finally {
formLoading.value = false formLoading.value = false
} }
} }
defineExpose({ open }) // open defineExpose({ open }) // open
const tichengfanganOptions = ref([]) const planOptions = ref([])
function getOptions() { function getOptions() {
tichengfanganOptions.value = [] planOptions.value = []
} }
/** 重置表单 */ /** 重置表单 */
const resetForm = () => { const resetForm = () => {
formData.value = { formData.value = {
dixin: 0, baseSalary: 0,
tichengfangan: undefined, planId: undefined,
jiangjin: 0, rewardSalary: 0,
qitayingfa: 0, butie: 0,
jixiao: 0, manqin: 0,
kaoqin: 0, extraSalary: 0,
shebao: 0, socialDeduct: 0,
gongjijin: 0, accumulationFundDeduct: 0,
shuie: 0,
qitayingkou: 0 qitayingkou: 0
} }
formRef.value?.resetFields() formRef.value?.resetFields()
@ -162,13 +162,13 @@ const submitForm = async () => {
// //
formLoading.value = true formLoading.value = true
try { try {
// const data = formData.value as unknown as UserApi.UserVO const data = formData.value
// if (formType.value === 'create') { if (formType.value === 'create') {
// await UserApi.createUser(data) await SalaryApi.createSalary(data)
// message.success(t('common.createSuccess')) message.success(t('common.createSuccess'))
// } else { } else {
// await UserApi.updateUser(data) await SalaryApi.updateSalary(data)
// } }
message.success('配置成功') message.success('配置成功')
dialogVisible.value = false dialogVisible.value = false
// //

@ -21,7 +21,7 @@
<el-table v-loading="loading" :data="tableList" border stripe> <el-table v-loading="loading" :data="tableList" border stripe>
<el-table-column type="index" width="50" /> <el-table-column type="index" width="50" />
<el-table-column label="用户姓名" prop="nickname" /> <el-table-column label="员工姓名" prop="nickname" />
<el-table-column label="部门" key="deptName" prop="deptName" /> <el-table-column label="部门" key="deptName" prop="deptName" />
<el-table-column label="手机号码" prop="mobile" width="120" /> <el-table-column label="手机号码" prop="mobile" width="120" />
<el-table-column label="在职状态" prop="status" /> <el-table-column label="在职状态" prop="status" />
@ -50,6 +50,9 @@
<script name="EmployeeList" setup> <script name="EmployeeList" setup>
import DialogSalary from './Comp/DialogSalary.vue' import DialogSalary from './Comp/DialogSalary.vue'
import * as SalaryApi from '@/api/finance/salary'
import { removeNullField } from '@/utils'
const searchForm = ref({ const searchForm = ref({
name: undefined, name: undefined,
status: 0, status: 0,
@ -74,10 +77,9 @@ const total = ref(0)
const getList = async () => { const getList = async () => {
loading.value = true loading.value = true
try { try {
tableList.value = [1, 2] const data = await SalaryApi.getSalaryPage(removeNullField(searchForm.value))
// const data = await UserApi.getUserPage(queryParams) tableList.value = data.list
// tableList.value = data.list total.value = data.total
// total.value = data.total
} finally { } finally {
loading.value = false loading.value = false
} }

@ -1,6 +1,6 @@
<template> <template>
<el-tabs v-model="tabName"> <el-tabs v-model="tabName">
<el-tab-pane label="考勤方案" name="kqfa" v-if="checkPermi['per:setting:attendance-plan']"> <el-tab-pane label="考勤方案" name="kqfa" v-if="checkPermi(['per:setting:attendance-plan'])">
<AttendancePlan v-if="tabName == 'kqfa'" /> <AttendancePlan v-if="tabName == 'kqfa'" />
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>

Loading…
Cancel
Save