feat(system): 增加销售提成上传功能

- 在员工列表页面添加上传销售提成按钮
- 实现销售提成上传的弹窗和相关逻辑
- 在员工信息表单中添加销售提成字段
- 优化员工列表展示,增加销售提成列
This commit is contained in:
tzy 2025-05-30 11:00:18 +08:00
parent f59eaf59ac
commit 892e1e2633

View File

@ -126,13 +126,22 @@
v-hasPermi="['system:staff:importFund']"
>上传五险一金</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="primary"
icon="el-icon-plus"
size="mini"
@click="importSalesCommissions"
v-hasPermi="['system:staff:importSalesCommissions']"
>上传销售提成</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="staffList" >
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="姓名" align="center" fixed="left" width="90" prop="name" />
<el-table-column label="所属公司" align="center" fixed="left" prop="companyName" >
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_company" :value="scope.row.companyName"/>
@ -164,7 +173,7 @@
</el-table-column>
<el-table-column label="开户行" align="center" show-overflow-tooltip prop="bank" />
<el-table-column label="银行卡号" align="center" show-overflow-tooltip prop="bankNumber" width="90"/>
<el-table-column label="入职日期" align="center" prop="employmentDate" width="100">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.employmentDate, '{y}-{m}-{d}') }}</span>
@ -498,9 +507,9 @@
<el-select v-model="form.subsidyList" multiple placeholder="请选择福利补贴" style="width: 100%;">
<el-option
v-for="subsidy in subsidyOptions"
:key="subsidy.value"
:label="subsidy.label"
:value="subsidy.value"
:key="subsidy.key"
:label="subsidy.value"
:value="subsidy.key"
></el-option>
</el-select>
</el-form-item>
@ -616,6 +625,33 @@
<el-button @click="upload.open = false"> </el-button>
</div>
</el-dialog>
<!-- 上传销售提成 -->
<el-dialog :title="uploadSale.title" v-dialog-drag :visible.sync="uploadSale.open" width="400px" append-to-body>
<el-upload
ref="uploadFund"
:limit="1"
accept=".xlsx, .xls"
:headers="uploadSale.headers"
:action="uploadSale.url"
:disabled="uploadSale.isUploading"
:on-progress="handleFundUpload"
:on-success="handleFundSuccess"
:auto-upload="false"
drag
>
<i class="el-icon-upload"></i>
<div class="el-upload__text">
<!-- <el-link type="primary" :underline="false" style="font-size:20px;vertical-align: baseline;" @click="importTemplate">下载模板</el-link>-->
将文件拖到此处
<em>点击上传</em>
</div>
<div class="el-upload__tip" style="color:red" slot="tip">提示仅允许导入xlsxlsx格式文件</div>
</el-upload>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitFundForm"> </el-button>
<el-button @click="upload.open = false"> </el-button>
</div>
</el-dialog>
<!-- 员工详情 -->
<el-dialog v-dialog-drag :title="infoTitle" :visible.sync="openInfo" width="80%" append-to-body :close-on-click-modal="false">
<el-form ref="infoForm" :model="infoForm" :rules="infoRules" label-width="98px">
@ -719,6 +755,17 @@
</el-form-item>
</el-col>
</el-row>
<el-divider content-position="left">销售信息</el-divider>
<el-row>
<el-form-item label="销售提成" prop="salesCommission">
<el-input v-model="infoForm.salesCommission" placeholder="销售提成" >
<template slot="append"></template>
</el-input>
</el-form-item>
</el-row>
<el-divider content-position="left">其他详情</el-divider>
<el-row>
<el-col :span="6">
@ -851,6 +898,19 @@ export default {
//
url: process.env.VUE_APP_BASE_API + "system/staff/uploadAccumulationFund"
},
//
uploadSale: {
//
open: false,
//
title: "",
//
isUploading: false,
//
headers: { Authorization: "Bearer " + getToken() },
//
url: process.env.VUE_APP_BASE_API + "system/staff/importSalesCommissions"
},
//
queryParams: {
pageNum: 1,
@ -868,7 +928,7 @@ export default {
//form
infoForm:{},
infoRules: {
},
//
rules: {
@ -961,7 +1021,7 @@ export default {
listAllOptions().then(response => {
this.subsidyOptions = response.data;
});
},
/** 获取部门 */
@ -1167,7 +1227,11 @@ export default {
}
});
},
//
importSalesCommissions(){
this.uploadSale.title = "销售提成上传";
this.uploadSale.open = true;
},
//
uploadAccumulationFund(){
this.uploadFund.title = "五险一金导入";
@ -1225,7 +1289,7 @@ export default {
});
},