|
|
@@ -147,7 +147,7 @@ |
|
|
|
</el-button> |
|
|
|
<el-form :model="dataForm" ref="ruleFormRef1"> |
|
|
|
<el-table :data="dataForm.useFeeList" :border="true"> |
|
|
|
<el-table-column label="使用费类型"> |
|
|
|
<el-table-column label="使用费类型" width="150"> |
|
|
|
<template #header> |
|
|
|
<span class="red">*</span> |
|
|
|
使用费类型 |
|
|
@@ -160,7 +160,7 @@ |
|
|
|
<el-select :disabled="isInfo" @change=" |
|
|
|
(vlaue) => useFeeListTypeChange(vlaue, scope.$index) |
|
|
|
" v-model="scope.row.useFeeType" placeholder="请选择使用费类型"> |
|
|
|
<el-option v-for="item in USE_FEE_TYPE" :key="item.value" :label="item.label" |
|
|
|
<el-option v-for="item in USEFEE_TYPE" :key="item.value" :label="item.label" |
|
|
|
:value="item.value" /> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
@@ -178,57 +178,55 @@ |
|
|
|
{ required: true, message: '请输入', trigger: 'blur' }, |
|
|
|
]"> |
|
|
|
<el-select :disabled="isInfo" @change="(el) => changeBillingMode(el, scope.$index)" |
|
|
|
v-model="scope.row.billingMode" style="width: 200px" placeholder="请选择使用费计费方式"> |
|
|
|
<el-option v-for="item in BILLING_MODE" :key="item.value" :label="item.label" |
|
|
|
v-model="scope.row.billingMode" style="width: 100%" placeholder="请选择使用费计费方式"> |
|
|
|
<el-option v-for="item in USEFEE_JF" :key="item.value" :label="item.label" |
|
|
|
:value="item.value" /> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="收费基数"> |
|
|
|
<el-table-column label="百分比" width="150"> |
|
|
|
<template #header> |
|
|
|
<span class="red">*</span> |
|
|
|
收费基数 |
|
|
|
百分比 |
|
|
|
</template> |
|
|
|
<template v-slot="scope"> |
|
|
|
<div class="input-wrap" v-if="scope.row.billingMode === 'TIMES'"> |
|
|
|
<el-form-item :prop="`useFeeList.${scope.$index}.useAmount`" :rules="[ |
|
|
|
{ required: true, message: '请输入', trigger: 'bulr' }, |
|
|
|
]"> |
|
|
|
<div class="input-wrap" v-if="scope.row.billingMode==='PERCENTAGE'"> |
|
|
|
<el-form-item :prop="`useFeeList.${scope.$index}.percentage`" > |
|
|
|
<el-input maxlength="60" :disabled="isInfo" v-trim clearable @input=" |
|
|
|
handleBeforeInput( |
|
|
|
scope.$index, |
|
|
|
scope.row.feeBase, |
|
|
|
scope.row.percentage, |
|
|
|
2, |
|
|
|
scope.row |
|
|
|
) |
|
|
|
" v-model="scope.row.feeBase" placeholder="收费基数"> |
|
|
|
<template #append>元</template> |
|
|
|
" v-model="scope.row.percentage" placeholder="百分比"> |
|
|
|
<template #append>%</template> |
|
|
|
</el-input> |
|
|
|
</el-form-item> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="使用费金额"> |
|
|
|
<el-table-column label="使用费金额" width="150"> |
|
|
|
<template #header> |
|
|
|
<span class="red">*</span> |
|
|
|
使用费金额 |
|
|
|
</template> |
|
|
|
<template v-slot="scope"> |
|
|
|
<div class="input-wrap"> |
|
|
|
<el-form-item :prop="`useFeeList.${scope.$index}.useAmount`" :rules="[ |
|
|
|
<div class="input-wrap" v-if="scope.row.billingMode!=='PERCENTAGE'"> |
|
|
|
<el-form-item :prop="`useFeeList.${scope.$index}.fee`" :rules="[ |
|
|
|
{ required: true, message: '请输入', trigger: 'bulr' }, |
|
|
|
]"> |
|
|
|
<el-input maxlength="60" type="number" :disabled="isInfo" v-trim clearable @input=" |
|
|
|
<el-input maxlength="4" :disabled="isInfo" v-trim clearable @input=" |
|
|
|
handleBeforeInput( |
|
|
|
scope.$index, |
|
|
|
scope.row.useAmount, |
|
|
|
scope.row.fee, |
|
|
|
2, |
|
|
|
scope.row |
|
|
|
) |
|
|
|
" v-model="scope.row.useAmount" placeholder="使用费金额"> |
|
|
|
<template #append>{{ scope.row.unit }}</template> |
|
|
|
" v-model="scope.row.fee" placeholder="使用费金额"> |
|
|
|
<template #append>元</template> |
|
|
|
</el-input> |
|
|
|
</el-form-item> |
|
|
|
</div> |
|
|
@@ -259,7 +257,7 @@ |
|
|
|
{ required: true, message: '请输入', trigger: 'blur' }, |
|
|
|
]"> |
|
|
|
<el-select :disabled="isInfo" v-model="scope.row.useFeeType" placeholder="请选择使用费类型"> |
|
|
|
<el-option v-for="item in USE_FEE_TYPE" :key="item.value" :label="item.label" |
|
|
|
<el-option v-for="item in USEFEE_TYPE" :key="item.value" :label="item.label" |
|
|
|
:value="item.value" /> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
@@ -278,7 +276,7 @@ |
|
|
|
]"> |
|
|
|
<el-select :disabled="isInfo" @change="(el) => changeBillingMode(el, scope.$index)" |
|
|
|
v-model="scope.row.billingMode" style="width: 200px" placeholder="请选择使用费计费方式"> |
|
|
|
<el-option v-for="item in BILLING_MODE" :key="item.value" :label="item.label" |
|
|
|
<el-option v-for="item in USEFEE_JF" :key="item.value" :label="item.label" |
|
|
|
:value="item.value" /> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
@@ -295,7 +293,7 @@ |
|
|
|
<el-form-item :prop="`useFeeList.${scope.$index}.useAmount`" :rules="[ |
|
|
|
{ required: true, message: '请输入', trigger: 'bulr' }, |
|
|
|
]"> |
|
|
|
<el-input maxlength="60" type="number" :disabled="isInfo" v-trim clearable @input=" |
|
|
|
<el-input maxlength="4" :disabled="isInfo" v-trim clearable @input=" |
|
|
|
handleBeforeInput( |
|
|
|
scope.$index, |
|
|
|
scope.row.useAmount, |
|
|
@@ -303,7 +301,7 @@ |
|
|
|
scope.row |
|
|
|
) |
|
|
|
" v-model="scope.row.useAmount" placeholder="使用费金额"> |
|
|
|
<template #append>{{ scope.row.unit }}</template> |
|
|
|
<template #append>元</template> |
|
|
|
</el-input> |
|
|
|
</el-form-item> |
|
|
|
</div> |
|
|
@@ -602,16 +600,16 @@ const PROCESSING_FEE_TYPE = computed(() => { |
|
|
|
return $storeinitData.state.dictData['PROCESSING_FEE_TYPE'] || [] |
|
|
|
}) |
|
|
|
// 使用费类型 |
|
|
|
const USE_FEE_TYPE = computed(() => { |
|
|
|
return $storeinitData.state.dictData['USE_FEE_TYPE'] || [] |
|
|
|
const USEFEE_TYPE = computed(() => { |
|
|
|
return $storeinitData.state.dictData['USEFEE_TYPE'] || [] |
|
|
|
}) |
|
|
|
// 收费方式 |
|
|
|
const CHARGE_METHOD = computed(() => { |
|
|
|
return $storeinitData.state.dictData['CHARGE_METHOD'] || [] |
|
|
|
}) |
|
|
|
// 计费方式 |
|
|
|
const BILLING_MODE = computed(() => { |
|
|
|
return $storeinitData.state.dictData['BILLING_MODE'] || [] |
|
|
|
const USEFEE_JF = computed(() => { |
|
|
|
return $storeinitData.state.dictData['USEFEE_JF'] || [] |
|
|
|
}) |
|
|
|
// 设备类型区分通用密钥设备 |
|
|
|
const CSMSN_DEVICE_TYPE = computed(() => { |
|
|
@@ -788,6 +786,7 @@ function getReleaseId(form) { |
|
|
|
const ruleFormRef = ref() |
|
|
|
const ruleFormRef1 = ref() |
|
|
|
const ruleFormRef2 = ref() |
|
|
|
|
|
|
|
function submit(data: any) { |
|
|
|
// console.log(data, '提交111111') |
|
|
|
let forRef: any = '' |
|
|
@@ -816,14 +815,16 @@ function submit(data: any) { |
|
|
|
|
|
|
|
|
|
|
|
datas.processingFeeList = |
|
|
|
JSON.parse(JSON.stringify(toRaw(dataForm.processingFeeList ?? null))) ?? |
|
|
|
[] |
|
|
|
JSON.parse(JSON.stringify(toRaw(dataForm.processingFeeList ?? null))) ?? [] |
|
|
|
datas.useFeeList = |
|
|
|
JSON.parse(JSON.stringify(toRaw(dataForm.useFeeList ?? null))) ?? [] |
|
|
|
JSON.parse(JSON.stringify(toRaw(dataForm.useFeeList ?? null))) ?? [] |
|
|
|
datas.useFeeList.forEach((item) => { |
|
|
|
item.releaseId = data.releaseId |
|
|
|
}) |
|
|
|
|
|
|
|
let af = JSON.parse(JSON.stringify(toRaw(dataForm.afterSaleFees ?? null))) ?? [] |
|
|
|
if(isPropertyEmpty(af,'amount') && isPropertyEmpty(af,'productAfterType')){ |
|
|
|
af=null |
|
|
|
if (isPropertyEmpty(af, 'amount') && isPropertyEmpty(af, 'productAfterType')) { |
|
|
|
af = null |
|
|
|
} |
|
|
|
datas.afterSaleFees = af |
|
|
|
|
|
|
@@ -851,9 +852,8 @@ function submit(data: any) { |
|
|
|
} |
|
|
|
delete datas.processingFeeList |
|
|
|
} |
|
|
|
datas.cardType = datas.cardType |
|
|
|
delete datas.undefined |
|
|
|
if(datas.vehiclePalce==='' || datas.vehiclePalce===null|| datas.vehiclePalce===undefined){ |
|
|
|
if (datas.vehiclePalce === '' || datas.vehiclePalce === null || datas.vehiclePalce === undefined) { |
|
|
|
datas.vehiclePalce = [] |
|
|
|
} |
|
|
|
datas.vehicleType = datas.vehicleType.map((items) => { |
|
|
@@ -982,20 +982,6 @@ function handleEdit(idx: any, row: any) { |
|
|
|
isChangeInfoShow.value = false |
|
|
|
getEditFeeListData(row.id, row, () => { |
|
|
|
row.expenseType = row.processingFeeList?.length > 0 ? 1 : 2 |
|
|
|
// customSelectorSelection(row.productStandardsId, 'productStandardsId', row) |
|
|
|
// customSelectorSelection(row.promotionMode, 'promotionMode', { ...row }) |
|
|
|
// customSelectorSelection(row.extensionTool, 'extensionTool', row) |
|
|
|
// assignment(crudRef.value.form, row) |
|
|
|
// crudRef.value.form.changeReason = '' |
|
|
|
// isInfo.value = false |
|
|
|
// afterProcessingFeeList.value = [] |
|
|
|
// afterAfterSaleFees.value = [] |
|
|
|
|
|
|
|
// afterUseFeeList.value = [] |
|
|
|
// handleChangeReason(false) |
|
|
|
// row.expenseType = row.processingFeeList?.length > 0 ? 1 : 2 |
|
|
|
// handleChangeExpenseType(row.expenseType, row) |
|
|
|
// handleReleaseId(false) |
|
|
|
}) |
|
|
|
} |
|
|
|
const handleReleaseId = (key) => { |
|
|
@@ -1013,9 +999,7 @@ const handleReleaseId = (key) => { |
|
|
|
// }) |
|
|
|
} |
|
|
|
const getEditFeeListData = (id, form, success) => { |
|
|
|
BaseService.postN('/managew/api/product/product/detail', { |
|
|
|
id, |
|
|
|
}).then((res: any) => { |
|
|
|
BaseService.postN('/managew/api/product/product/detail', {id}).then((res: any) => { |
|
|
|
if (res && res.statusCode === 0) { |
|
|
|
//数据转换 |
|
|
|
let data = res.data |
|
|
@@ -1035,6 +1019,7 @@ const getEditFeeListData = (id, form, success) => { |
|
|
|
data.supAfterSales = data.supAfterSales + '' |
|
|
|
data.useCharacter = data.useCharacter + '' |
|
|
|
crudRef.value.form = data |
|
|
|
handleChangeExpenseType(data.expenseType, data.expenseType===1?data.afterSaleFees:data.useFeeList) |
|
|
|
success() |
|
|
|
} else { |
|
|
|
ElMessage.error(res.message || res.errorMsg) |
|
|
@@ -1072,18 +1057,6 @@ function handleInfo(idx: any, row: any) { |
|
|
|
isInfo.value = true |
|
|
|
getEditFeeListData(row.id, row, () => { |
|
|
|
row.expenseType = row.processingFeeList?.length > 0 ? 1 : 2 |
|
|
|
// customSelectorSelection(row.agencyType, 'agencyType', row) |
|
|
|
// customSelectorSelection(row.productStandardsId, 'productStandardsId', row) |
|
|
|
// customSelectorSelection(row.promotionMode, 'promotionMode', { ...row }) |
|
|
|
// customSelectorSelection(row.extensionTool, 'extensionTool', row) |
|
|
|
// assignment(crudRef.value.form, row) |
|
|
|
// handleChangeReason(true) |
|
|
|
// isInfo.value = true |
|
|
|
// afterProcessingFeeList.value = [] |
|
|
|
// afterAfterSaleFees.value = [] |
|
|
|
// afterUseFeeList.value = [] |
|
|
|
// row.expenseType = row.processingFeeList?.length > 0 ? 1 : 2 |
|
|
|
// handleChangeFeeInfo(row.expenseType, row) |
|
|
|
}) |
|
|
|
} |
|
|
|
// 操作记录详情 |
|
|
@@ -1365,17 +1338,21 @@ const handleChangeExpenseType = (value, form) => { |
|
|
|
if (value == 1) { |
|
|
|
if (item.prop == 'processingFeeList') { |
|
|
|
item.form.hideEdit = false |
|
|
|
item.form.hideInfo = false |
|
|
|
} |
|
|
|
if (item.prop == 'useFeeList') { |
|
|
|
item.form.hideEdit = true |
|
|
|
item.form.hideInfo = true |
|
|
|
} |
|
|
|
} |
|
|
|
if (value == 2) { |
|
|
|
if (item.prop == 'processingFeeList') { |
|
|
|
item.form.hideEdit = true |
|
|
|
item.form.hideInfo = true |
|
|
|
} |
|
|
|
if (item.prop == 'useFeeList') { |
|
|
|
item.form.hideEdit = false |
|
|
|
item.form.hideInfo = false |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
@@ -1419,11 +1396,10 @@ const processingFeeObj = { |
|
|
|
amount: '', |
|
|
|
} |
|
|
|
const useFeeObj = { |
|
|
|
releaseId:'', |
|
|
|
useFeeType: '', |
|
|
|
billingMode: '', |
|
|
|
useAmount: '', |
|
|
|
feeBase: '', //收费基数 |
|
|
|
checkContent: 'money', |
|
|
|
fee: '', |
|
|
|
unit: '元', |
|
|
|
} |
|
|
|
const afterSaleFeesObj = { |
|
|
@@ -2108,7 +2084,7 @@ let field = ref<any>({ |
|
|
|
span: 3, |
|
|
|
form: { |
|
|
|
digit: 100, |
|
|
|
width: '90%', |
|
|
|
width: '92%', |
|
|
|
formLabelWidth: formLabelWidth, |
|
|
|
type: 'input', |
|
|
|
itemType: 'textarea', |
|
|
@@ -2121,7 +2097,7 @@ let field = ref<any>({ |
|
|
|
hide: true, |
|
|
|
label: '办理费/使用费', |
|
|
|
form: { |
|
|
|
width: '90%', |
|
|
|
width: '92%', |
|
|
|
type: 'title', |
|
|
|
// hideInfo: true, |
|
|
|
}, |
|
|
@@ -2130,6 +2106,7 @@ let field = ref<any>({ |
|
|
|
prop: 'expenseType', |
|
|
|
label: '收费方式', |
|
|
|
hide: true, |
|
|
|
span: 3, |
|
|
|
listData: expenseTypeOptions, |
|
|
|
form: { |
|
|
|
// hideInfo: true, |
|
|
@@ -2148,8 +2125,8 @@ let field = ref<any>({ |
|
|
|
span: 3, |
|
|
|
form: { |
|
|
|
width: '95%', |
|
|
|
// hideInfo: true, |
|
|
|
// hideEdit: true, |
|
|
|
hideInfo: false, |
|
|
|
hideEdit: false, |
|
|
|
slotSetEdit: true, |
|
|
|
slotSetNameEdit: 'processingFeeList', |
|
|
|
slotSetInfo: true, |
|
|
@@ -2199,7 +2176,7 @@ let field = ref<any>({ |
|
|
|
hide: true, |
|
|
|
label: '售后费', |
|
|
|
form: { |
|
|
|
width: '90%', |
|
|
|
width: '92%', |
|
|
|
type: 'title', |
|
|
|
}, |
|
|
|
}, |
|
|
@@ -2252,7 +2229,7 @@ let field = ref<any>({ |
|
|
|
hide: true, |
|
|
|
label: '注销条件', |
|
|
|
form: { |
|
|
|
width: '90%', |
|
|
|
width: '92%', |
|
|
|
type: 'title', |
|
|
|
}, |
|
|
|
}, |
|
|
@@ -2274,9 +2251,9 @@ let field = ref<any>({ |
|
|
|
label: '注销违约金', |
|
|
|
hide: true, |
|
|
|
unit: '元', |
|
|
|
span: 2, |
|
|
|
span: 1, |
|
|
|
form: { |
|
|
|
checkContent: 'money', |
|
|
|
// checkContent: 'money', |
|
|
|
width: '45%', |
|
|
|
formLabelWidth: formLabelWidth, |
|
|
|
type: 'input', |
|
|
@@ -2287,7 +2264,7 @@ let field = ref<any>({ |
|
|
|
prop: 'otherCancelCondition', |
|
|
|
label: '其他注销条件', |
|
|
|
hide: true, |
|
|
|
span: 3, |
|
|
|
span: 1, |
|
|
|
form: { |
|
|
|
width: '45%', |
|
|
|
formLabelWidth: formLabelWidth, |
|
|
@@ -2299,7 +2276,7 @@ let field = ref<any>({ |
|
|
|
hide: true, |
|
|
|
label: '违约金', |
|
|
|
form: { |
|
|
|
width: '90%', |
|
|
|
width: '92%', |
|
|
|
type: 'title', |
|
|
|
}, |
|
|
|
}, |