This commit is contained in:
qsh
2024-07-16 16:49:01 +08:00
parent f3b5079fbe
commit a9c5d16926
5 changed files with 505 additions and 15 deletions

View File

@@ -1,7 +1,7 @@
<template>
<Dialog v-model="dialogVisible" :title="dialogTitle" style="width: 1000px">
<el-form
:model="comissionForm"
:model="formData"
ref="formRef"
:rules="rules"
class="mt-10px"
@@ -11,12 +11,12 @@
<el-row :gutter="20">
<el-col :span="12" :offset="0">
<el-form-item label="方案名称" prop="name">
<el-input v-model="comissionForm.name" placeholder="请输入方案名称" clearable />
<el-input v-model="formData.name" placeholder="请输入方案名称" clearable />
</el-form-item>
</el-col>
<el-col :span="12" :offset="0">
<el-form-item label="结算方式">
<el-radio-group v-model="comissionForm.percentageType">
<el-radio-group v-model="formData.percentageType">
<el-radio :label="1">
<Tooltip message="可配置多级,命中某档位后,按照档位分级结算" />阶梯结算
</el-radio>
@@ -35,7 +35,7 @@
:span="24"
:offset="0"
class="flex"
v-for="(item, index) in comissionForm.rules"
v-for="(item, index) in formData.rules"
:key="index"
>
<el-select v-model="item.ruleParam1" style="width: 100px">
@@ -107,6 +107,85 @@
</div>
</el-col>
</el-row>
<el-divider direction="horizontal" />
<el-row :gutter="20">
<el-col :span="12" :offset="0">
<el-form-item label="是否扣除其他支出" labelWidth="150px">
<el-radio-group v-model="formData.qitazhichu">
<el-radio :label="0"> </el-radio>
<el-radio :label="1"> </el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12" :offset="0">
<el-form-item label="是否扣除售后" labelWidth="150px">
<el-radio-group v-model="formData.shouhou">
<el-radio :label="0"> </el-radio>
<el-radio :label="1"> </el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12" :offset="0">
<el-form-item label="是否关联成交率" labelWidth="150px">
<el-radio-group v-model="formData.saleCommissionRelateDealConfig">
<el-radio label="true"> </el-radio>
<el-radio label="false"> </el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12" :offset="0">
<el-form-item label="提成计算时间" labelWidth="150px">
<el-radio-group v-model="formData.jisuanshijian">
<el-radio :label="1">成交后</el-radio>
<el-radio :label="2">回款后</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12" :offset="0">
<el-form-item label="关联规则" v-if="formData.saleCommissionRelateDealConfig == 'true'">
<div>
<el-button @click="formData.saleCommissionRelateRulesConfig.push({})">
新增规则
</el-button>
<div
v-for="(item, index) in formData.saleCommissionRelateRulesConfig"
:key="index"
class="mt-10px flex justify-center items-center"
>
<span>成交率达</span>
<el-input
class="ml-10px"
v-model="item.successRate"
placeholder="成交率"
style="width: 100px"
type="number"
:min="0"
>
<template #suffix>%</template>
</el-input>
<span>可结算</span>
<el-input
class="ml-10px"
v-model="item.comissionRate"
placeholder="提成率"
style="width: 100px"
type="number"
:min="0"
>
<template #suffix>%</template>
</el-input>
<span>提成</span>
</div>
</div>
</el-form-item>
</el-col>
</el-row>
</el-form>
<template #footer>
@@ -125,7 +204,7 @@ const dialogVisible = ref(false) // 弹窗的是否展示
const dialogTitle = ref('工资条设置')
const formLoading = ref(false) // 表单的加载中1修改时的数据加载2提交的按钮禁用
const comissionForm = ref({})
const formData = ref({})
const rules = {
name: { required: true, message: '方案名称不可为空', trigger: 'blur' }
}
@@ -154,7 +233,7 @@ const open = async (type, row) => {
if (row?.id) {
formLoading.value = true
try {
// comissionForm.value = await UserApi.getUser(id)
// formData.value = await UserApi.getUser(id)
} finally {
formLoading.value = false
}
@@ -164,7 +243,7 @@ defineExpose({ open }) // 提供 open 方法,用于打开弹窗
/** 重置表单 */
const resetForm = () => {
comissionForm.value = {
formData.value = {
name: undefined,
percentageType: 1,
rules: [
@@ -176,13 +255,15 @@ const resetForm = () => {
ruleParam5: 1,
ruleParam6: 10
}
]
],
saleCommissionRelateDealConfig: 'false',
saleCommissionRelateRulesConfig: []
}
formRef.value?.resetFields()
}
function handleAddRules() {
comissionForm.value.rules.push({
formData.value.rules.push({
ruleParam1: 1,
ruleParam2: 1,
ruleParam3: 0,