@@ -715,15 +715,15 @@ const handleEdit = (idx: any, row: any) => { | |||
recover() //复原 | |||
title.value = '编辑' | |||
form.value = JSON.parse(JSON.stringify(toRaw(row))) | |||
console.log(form.value , '==============---------============='); | |||
tableFrom.value.dialogArray.forEach((item) => { | |||
Object.keys(form.value).forEach((key) => { | |||
if (item.prop == key && item.isAmount) { | |||
form.value[key] = form.value[key] * 0.01 | |||
} | |||
if (item.prop == key && item.from && item.from.type == 'select') { | |||
form.value[key] = form.value[key] + '' | |||
} | |||
}) | |||
}) | |||
for (let key in form.value) { |
@@ -9,34 +9,21 @@ | |||
</template> | |||
<template v-slot="scope"> | |||
<div class="input-wrap"> | |||
<el-form-item | |||
:prop="`dataForms[${+scope.$index}].feeType`" | |||
:rules="[ | |||
{ | |||
validator: validFun( | |||
scope.row, | |||
scope.$index, | |||
'feeType' | |||
), | |||
trigger: 'blur', | |||
}, | |||
]" | |||
:disabled="true" | |||
> | |||
<el-select | |||
:disabled="true" | |||
@change=" | |||
(vlaue) => afterSaleFeeTypeChange(vlaue, scope.$index) | |||
" | |||
v-model="scope.row.feeType" | |||
placeholder="请选择售后类型" | |||
> | |||
<el-option | |||
v-for="item in AFTER_SALE_TYPE" | |||
:key="item.value" | |||
:label="item.label" | |||
:value="item.value" | |||
/> | |||
<el-form-item :prop="`dataForms[${+scope.$index}].feeType`" :rules="[ | |||
{ | |||
validator: validFun( | |||
scope.row, | |||
scope.$index, | |||
'feeType' | |||
), | |||
trigger: 'blur', | |||
}, | |||
]" :disabled="true"> | |||
<el-select :disabled="true" @change=" | |||
(vlaue) => afterSaleFeeTypeChange(vlaue, scope.$index) | |||
" v-model="scope.row.feeType" placeholder="请选择售后类型"> | |||
<el-option v-for="item in AFTER_SALE_TYPE" :key="item.value" :label="item.label" | |||
:value="item.value" /> | |||
</el-select> | |||
</el-form-item> | |||
</div> | |||
@@ -50,26 +37,15 @@ | |||
</template> | |||
<template v-slot="scope"> | |||
<div class="input-wrap"> | |||
<el-form-item | |||
:prop="`dataForms[${+scope.$index}].fee`" | |||
:rules="[ | |||
{ | |||
validator: validFun(scope.row, scope.$index, 'fee'), | |||
trigger: 'blur', | |||
}, | |||
]" | |||
> | |||
<el-input | |||
maxlength="60" | |||
:disabled="true" | |||
v-trim | |||
clearable | |||
@input=" | |||
handleBeforeInput(scope.$index, scope.row.fee, 3, scope.row) | |||
" | |||
v-model="scope.row.fee" | |||
placeholder="费用" | |||
> | |||
<el-form-item :prop="`dataForms[${+scope.$index}].fee`" :rules="[ | |||
{ | |||
validator: validFun(scope.row, scope.$index, 'fee'), | |||
trigger: 'blur', | |||
}, | |||
]"> | |||
<el-input maxlength="60" :disabled="true" v-trim clearable @input=" | |||
handleBeforeInput(scope.$index, scope.row.fee, 3, scope.row) | |||
" v-model="scope.row.fee" placeholder="费用"> | |||
<template #append>{{ scope.row.unit || '元' }}</template> | |||
</el-input> | |||
</el-form-item> | |||
@@ -84,57 +60,31 @@ | |||
<template v-slot="scope"> | |||
<div class="input-wrap"> | |||
<el-form-item :prop="`dataForms.${scope.$index}.chargeMethod`"> | |||
<el-select | |||
:disabled="isInfo" | |||
v-model="scope.row.chargeMethod" | |||
:placeholder="`请选择扣款渠道`" | |||
@change="handleSelectChange(scope.row, $event)" | |||
collapse-tags-tooltip | |||
filterable | |||
> | |||
<el-option | |||
v-for="eles in agencyqueryallList" | |||
:label="eles.label" | |||
:value="eles.value" | |||
/> | |||
<el-select :disabled="isInfo" v-model="scope.row.chargeMethod" :placeholder="`请选择扣款渠道`" | |||
@change="handleSelectChange(scope.row, $event)" collapse-tags-tooltip filterable> | |||
<el-option v-for="eles in agencyqueryallList" :label="eles.label" :value="eles.value" /> | |||
</el-select> | |||
</el-form-item> | |||
</div> | |||
</template> | |||
</el-table-column> | |||
<el-table-column | |||
:label="items.label" | |||
v-for="(items, index) in options" | |||
:key="items.prop" | |||
> | |||
<el-table-column :label="items.label" v-for="(items, index) in options" :key="items.prop"> | |||
<template #header> | |||
<span class="red">*</span> | |||
{{ items.label }} | |||
</template> | |||
<template v-slot="scope"> | |||
<div class="input-wrap"> | |||
<el-form-item | |||
v-if="!items.isHideEdit && !scope.row.merchatIdIsEdit" | |||
:prop="`dataForms.${scope.$index}.${items.prop}`" | |||
:rules="[ | |||
<el-form-item v-if="!items.isHideEdit && scope.row.chargeMethod == 'BANK'" | |||
:prop="`dataForms.${scope.$index}.${items.prop}`" :rules="[ | |||
{ | |||
validator: validFun(scope.row, scope.$index, items.prop), | |||
trigger: 'blur', | |||
}, | |||
]" | |||
> | |||
<el-input | |||
v-if="!items.type || items.type === 'input'" | |||
maxlength="60" | |||
:disabled=" | |||
isInfo || (items.isHideEdit && !scope.row.merchatIdIsEdit) | |||
" | |||
v-trim | |||
clearable | |||
v-model="scope.row[items.prop]" | |||
placeholder="" | |||
/> | |||
]"> | |||
<el-input v-if="!items.type || items.type === 'input'" maxlength="60" :disabled="isInfo || (items.isHideEdit && !scope.row.merchatIdIsEdit) | |||
" v-trim clearable v-model="scope.row[items.prop]" placeholder="" /> | |||
</el-form-item> | |||
</div> | |||
</template> | |||
@@ -146,38 +96,26 @@ | |||
</template> | |||
<template v-slot="scope"> | |||
<div class="input-wrap"> | |||
<el-form-item | |||
v-if="scope.row.merchatIdisEdit || scope.row.payConfigId" | |||
:prop="`dataForms[${+scope.$index}].payConfigId`" | |||
:rules="[ | |||
<el-form-item v-if="scope.row.merchatIdisEdit || scope.row.payConfigId" | |||
:prop="`dataForms[${+scope.$index}].payConfigId`" :rules="[ | |||
{ | |||
validator: validFun(scope.row, scope.$index, 'payConfigId'), | |||
trigger: 'blur', | |||
}, | |||
]" | |||
> | |||
<el-select | |||
:disabled="isInfo" | |||
v-model="scope.row.payConfigId" | |||
:placeholder="`请选择商户号`" | |||
collapse-tags-tooltip | |||
filterable | |||
> | |||
<el-option | |||
v-for="eles in merchantList" | |||
:label="eles.label" | |||
:value="eles.value" | |||
> | |||
<div style="display: flex;justify-content: space-between;align-items: center;"> | |||
<span > | |||
{{ eles.label }} | |||
</span> | |||
<span style="color: #999;"> | |||
{{ eles.merchantId }} | |||
</span> | |||
</div> | |||
]"> | |||
<el-select :disabled="isInfo" v-model="scope.row.payConfigId" :placeholder="`请选择商户号`" | |||
collapse-tags-tooltip filterable> | |||
<el-option v-for="eles in scope.row.merchantList" :label="eles.label" :value="eles.value"> | |||
<div style="display: flex;justify-content: space-between;align-items: center;"> | |||
<span> | |||
{{ eles.label }} | |||
</span> | |||
<span style="color: #999;"> | |||
{{ eles.merchantId }} | |||
</span> | |||
</div> | |||
</el-option> | |||
</el-option> | |||
</el-select> | |||
</el-form-item> | |||
</div> | |||
@@ -209,16 +147,11 @@ const props = defineProps({ | |||
type: Boolean, | |||
default: false, | |||
}, | |||
// merchantList: { | |||
// type: Array, | |||
// default: () => [], | |||
// }, | |||
agencyqueryallList: { | |||
type: Array, | |||
default: () => [], | |||
}, | |||
}) | |||
const merchantList = ref([]) | |||
let dataForms = computed({ | |||
get() { | |||
console.log(props.modelValue, 'props.modelValue') | |||
@@ -252,11 +185,15 @@ const validFun = (row, index, prop) => { | |||
} | |||
} | |||
} | |||
const handleSelectChange = (row: any, val: any) => { | |||
console.log(row, val) | |||
row.bankName = '' | |||
row.bankAccount = '' | |||
row.bankAccountName = '' | |||
if (['WEIXINPAY', 'ALIPAY'].includes(val)) { | |||
row.merchatIdisEdit = true | |||
getmerchantList(val, row.merchantList) | |||
getmerchantList(val, row) | |||
} else { | |||
row.payConfigId = '' | |||
row.merchatIdisEdit = false | |||
@@ -270,16 +207,15 @@ function getmerchantList(type, List) { | |||
if (res && res.statusCode === 0) { | |||
//数据转换 | |||
let bizContent = res.data | |||
merchantList.value = bizContent?.map((item) => { | |||
List.merchantList = bizContent?.map((item) => { | |||
return { | |||
label: item.info, | |||
label: item.appName, | |||
value: item.id, | |||
merchantId: item.wxMchId, | |||
payProductType: item.payChannelType | |||
} | |||
}) | |||
// merchantList.value = List | |||
console.log(bizContent, 'getmerchantList',List) | |||
console.log(bizContent, 'getmerchantList', List) | |||
} else { | |||
ElMessage.error(res.message || res.errorMsg) | |||
} |
@@ -10,21 +10,10 @@ | |||
</template> | |||
<template v-slot="scope"> | |||
<div class="input-wrap"> | |||
<el-form-item | |||
:prop="`dataForm.${scope.$index}.feeType`" | |||
:disabled="true" | |||
> | |||
<el-select | |||
:disabled="true" | |||
v-model="scope.row.feeType" | |||
placeholder="请选择办理费类型" | |||
> | |||
<el-option | |||
v-for="item in PROCESSING_FEE_TYPE" | |||
:key="item.value" | |||
:label="item.label" | |||
:value="item.value" | |||
/> | |||
<el-form-item :prop="`dataForm.${scope.$index}.feeType`" :disabled="true"> | |||
<el-select :disabled="true" v-model="scope.row.feeType" placeholder="请选择办理费类型"> | |||
<el-option v-for="item in PROCESSING_FEE_TYPE" :key="item.value" :label="item.label" | |||
:value="item.value" /> | |||
</el-select> | |||
</el-form-item> | |||
</div> | |||
@@ -37,15 +26,8 @@ | |||
</template> | |||
<template v-slot="scope"> | |||
<div class="input-wrap"> | |||
<el-form-item | |||
:prop="`dataForm.${scope.$index}.fee`" | |||
> | |||
<el-input | |||
maxlength="60" | |||
:disabled="true" | |||
:model-value="scope.row.fee / 100" | |||
placeholder="办理费金额" | |||
> | |||
<el-form-item :prop="`dataForm.${scope.$index}.fee`"> | |||
<el-input maxlength="60" :disabled="true" :model-value="scope.row.fee / 100" placeholder="办理费金额"> | |||
<template #append>元</template> | |||
</el-input> | |||
</el-form-item> | |||
@@ -61,21 +43,9 @@ | |||
</template> | |||
<template v-slot="scope"> | |||
<div class="input-wrap"> | |||
<el-form-item | |||
:prop="`dataForm.${scope.$index}.feeType`" | |||
:disabled="true" | |||
> | |||
<el-select | |||
:disabled="true" | |||
v-model="scope.row.feeType" | |||
placeholder="请选择使用费类型" | |||
> | |||
<el-option | |||
v-for="item in USE_FEE_TYPE" | |||
:key="item.value" | |||
:label="item.label" | |||
:value="item.value" | |||
/> | |||
<el-form-item :prop="`dataForm.${scope.$index}.feeType`" :disabled="true"> | |||
<el-select :disabled="true" v-model="scope.row.feeType" placeholder="请选择使用费类型"> | |||
<el-option v-for="item in USE_FEE_TYPE" :key="item.value" :label="item.label" :value="item.value" /> | |||
</el-select> | |||
</el-form-item> | |||
</div> | |||
@@ -89,18 +59,9 @@ | |||
<template v-slot="scope"> | |||
<div class="input-wrap"> | |||
<el-form-item :prop="`dataForm.${scope.$index}.billingMode`"> | |||
<el-select | |||
:disabled="true" | |||
v-model="scope.row.billingMode" | |||
style="width: 200px" | |||
placeholder="请选择使用费计费方式" | |||
> | |||
<el-option | |||
v-for="item in BILLING_MODE" | |||
:key="item.value" | |||
:label="item.label" | |||
:value="item.value" | |||
/> | |||
<el-select :disabled="true" v-model="scope.row.billingMode" style="width: 200px" | |||
placeholder="请选择使用费计费方式"> | |||
<el-option v-for="item in BILLING_MODE" :key="item.value" :label="item.label" :value="item.value" /> | |||
</el-select> | |||
</el-form-item> | |||
</div> | |||
@@ -113,18 +74,10 @@ | |||
</template> | |||
<template v-slot="scope"> | |||
<div class="input-wrap" v-if="scope.row.billingMode === 'TIMES'"> | |||
<el-form-item | |||
:prop="`dataForm.${scope.$index}.useAmount`" | |||
:rules="[ | |||
{ required: true, message: '请输入', trigger: 'bulr' }, | |||
]" | |||
> | |||
<el-input | |||
maxlength="60" | |||
:disabled="true" | |||
v-model="scope.row.feeBase" | |||
placeholder="收费基数" | |||
> | |||
<el-form-item :prop="`dataForm.${scope.$index}.useAmount`" :rules="[ | |||
{ required: true, message: '请输入', trigger: 'bulr' }, | |||
]"> | |||
<el-input maxlength="60" :disabled="true" v-model="scope.row.feeBase" placeholder="收费基数"> | |||
<template #append>元</template> | |||
</el-input> | |||
</el-form-item> | |||
@@ -139,14 +92,8 @@ | |||
<template v-slot="scope"> | |||
<div class="input-wrap"> | |||
<el-form-item :prop="`dataForm.${scope.$index}.fee`"> | |||
<el-input | |||
maxlength="60" | |||
:disabled="true" | |||
v-trim | |||
clearable | |||
v-model="scope.row.fee" | |||
placeholder="使用费金额" | |||
> | |||
<el-input maxlength="60" :disabled="true" v-trim clearable v-model="scope.row.fee" | |||
placeholder="使用费金额"> | |||
<template #append> | |||
{{ scope.row.billingMode === 'TIMES' ? '%' : '元' }} | |||
</template> | |||
@@ -165,57 +112,32 @@ | |||
<template v-slot="scope"> | |||
<div class="input-wrap"> | |||
<el-form-item :prop="`dataForm.${scope.$index}.chargeMethod`"> | |||
<el-select | |||
:disabled="isInfo" | |||
v-model="scope.row.chargeMethod" | |||
:placeholder="`请选择扣款渠道`" | |||
@change="handleSelectChange(scope.row, $event)" | |||
collapse-tags-tooltip | |||
filterable | |||
> | |||
<el-option | |||
v-for="eles in agencyqueryallList" | |||
:label="eles.label" | |||
:value="eles.value" | |||
/> | |||
<el-select :disabled="isInfo" v-model="scope.row.chargeMethod" :placeholder="`请选择扣款渠道`" | |||
@change="handleSelectChange(scope.row, $event)" collapse-tags-tooltip filterable> | |||
<el-option v-for="eles in agencyqueryallList" :label="eles.label" :value="eles.value" /> | |||
</el-select> | |||
</el-form-item> | |||
</div> | |||
</template> | |||
</el-table-column> | |||
<el-table-column | |||
:label="items.label" | |||
v-for="(items, index) in options" | |||
:key="items.prop" | |||
> | |||
<el-table-column :label="items.label" v-for="(items, index) in options" :key="items.prop"> | |||
<template #header> | |||
<span class="red">*</span> | |||
{{ items.label }} | |||
</template> | |||
<template v-slot="scope"> | |||
{{ scope.row.merchatIdIsEdit }} | |||
<div class="input-wrap"> | |||
<el-form-item | |||
v-if="!items.isHideEdit && !scope.row.merchatIdIsEdit" | |||
:prop="`dataForm.${scope.$index}.${items.prop}`" | |||
:rules="[ | |||
<el-form-item v-if="!items.isHideEdit && scope.row.chargeMethod == 'BANK'" | |||
:prop="`dataForm.${scope.$index}.${items.prop}`" :rules="[ | |||
{ | |||
validator: validFun(scope.row, scope.$index, items.prop), | |||
trigger: 'blur', | |||
}, | |||
]" | |||
> | |||
<el-input | |||
v-if="!items.type || items.type === 'input'" | |||
maxlength="60" | |||
:disabled=" | |||
isInfo || (items.isHideEdit && !scope.row.merchatIdIsEdit) | |||
" | |||
v-trim | |||
clearable | |||
v-model="scope.row[items.prop]" | |||
placeholder="" | |||
/> | |||
]"> | |||
<el-input v-if="!items.type || items.type === 'input'" maxlength="60" :disabled="isInfo || (items.isHideEdit && !scope.row.merchatIdIsEdit) | |||
" v-trim clearable v-model="scope.row[items.prop]" placeholder="" /> | |||
</el-form-item> | |||
</div> | |||
</template> | |||
@@ -227,39 +149,26 @@ | |||
</template> | |||
<template v-slot="scope"> | |||
<div class="input-wrap"> | |||
<el-form-item | |||
v-if="scope.row.merchatIdisEdit || scope.row.payConfigId" | |||
:prop="`dataForm[${+scope.$index}].payConfigId`" | |||
:rules="[ | |||
<el-form-item v-if="scope.row.merchatIdisEdit || scope.row.payConfigId" | |||
:prop="`dataForm[${+scope.$index}].payConfigId`" :rules="[ | |||
{ | |||
validator: validFun(scope.row, scope.$index, 'payConfigId'), | |||
trigger: 'blur', | |||
}, | |||
]" | |||
> | |||
<el-select | |||
:disabled="isInfo" | |||
v-model="scope.row.payConfigId" | |||
:placeholder="`请选择商户号`" | |||
@change="onChange(scope.row, $event,scope.$index)" | |||
collapse-tags-tooltip | |||
filterable | |||
> | |||
<el-option | |||
v-for="eles in merchantList" | |||
:label="eles.label" | |||
:value="eles.value" | |||
> | |||
<div style="display: flex;justify-content: space-between;align-items: center;"> | |||
<span > | |||
{{ eles.label }} | |||
</span> | |||
<span style="color: #999;"> | |||
{{ eles.merchantId }} | |||
</span> | |||
</div> | |||
]"> | |||
<el-select :disabled="isInfo" v-model="scope.row.payConfigId" :placeholder="`请选择商户号`" | |||
@change="onChange(scope.row, $event, scope.$index)" collapse-tags-tooltip filterable> | |||
<el-option v-for="eles in scope.row.merchantList" :label="eles.label" :value="eles.value"> | |||
<div style="display: flex;justify-content: space-between;align-items: center;"> | |||
<span> | |||
{{ eles.label }} | |||
</span> | |||
<span style="color: #999;"> | |||
{{ eles.merchantId }} | |||
</span> | |||
</div> | |||
</el-option> | |||
</el-option> | |||
</el-select> | |||
</el-form-item> | |||
</div> | |||
@@ -286,7 +195,7 @@ const USE_FEE_TYPE = computed(() => { | |||
}) | |||
// 计费方式 | |||
const BILLING_MODE = computed(() => { | |||
return $storeinitData.state.dictData['BILLING_MODE'] || [] | |||
return $storeinitData.state.dictData['BILLING_MODE'] || [] | |||
}) | |||
// 收费方式 | |||
const CHARGE_METHOD = computed(() => { | |||
@@ -343,9 +252,12 @@ const options = [ | |||
] | |||
const handleSelectChange = (row: any, val: any) => { | |||
console.log(row, val) | |||
row.bankName = '' | |||
row.bankAccount = '' | |||
row.bankAccountName = '' | |||
if (['WEIXINPAY', 'ALIPAY'].includes(val)) { | |||
row.merchatIdisEdit = true | |||
getmerchantList(val, row.merchantList) | |||
getmerchantList(val, row) | |||
} else { | |||
row.payConfigId = '' | |||
row.merchatIdisEdit = false | |||
@@ -357,37 +269,36 @@ function getmerchantList(type, List) { | |||
{ payChannelType: type } | |||
).then((res: any) => { | |||
if (res && res.statusCode === 0) { | |||
//数据转换 | |||
//数据转换 售后费 | |||
let bizContent = res.data | |||
merchantList.value = bizContent?.map((item) => { | |||
List.merchantList = bizContent?.map((item) => { | |||
return { | |||
label: item.info, | |||
label: item.appName, | |||
value: item.id, | |||
merchantId: item.wxMchId, | |||
payProductType: item.payChannelType | |||
} | |||
}) | |||
// merchantList.value = List | |||
console.log(bizContent, 'getmerchantList',List) | |||
console.log(bizContent, 'getmerchantList', List) | |||
} else { | |||
ElMessage.error(res.message || res.errorMsg) | |||
} | |||
}) | |||
} | |||
const onChange = (row: any, val: any, index: any) => { | |||
console.log( props.merchantList,' props. props. props.'); | |||
console.log(row, val,index,'-------------------') | |||
console.log(dataForm.value,'dataForm.valuedataForm.value'); | |||
console.log(props.merchantList, ' props. props. props.'); | |||
console.log(row, val, index, '-------------------') | |||
console.log(dataForm.value, 'dataForm.valuedataForm.value'); | |||
const data = props.merchantList.filter(item => item.value === row.payConfigId); | |||
console.log(data[0],'payProductTypepayProductTypepayProductType'); | |||
dataForm.value[index].payProductType = data[0].payProductType | |||
console.log(data[0], 'payProductTypepayProductTypepayProductType'); | |||
dataForm.value[index].payProductType = data[0].payProductType | |||
} | |||
const validFun = (row, index, prop) => { | |||
return (rule: any, value: any, callback: any) => { | |||
console.log(rule, index, prop, dataForm.value[index][prop],"数据") | |||
console.log(rule, index, prop, dataForm.value[index][prop], "数据") | |||
if (!dataForm.value[index][prop]) { | |||
console.log('错误',dataForm.value,prop,index); | |||
console.log('错误', dataForm.value, prop, index); | |||
callback(new Error('请填写')) | |||
} else { | |||
callback() |
@@ -100,7 +100,8 @@ function handleChangeReason(b) { | |||
} | |||
}) | |||
} | |||
let WEIXINPAY = [] | |||
let ALIPAY = [] | |||
function completeAudit() { | |||
getList() | |||
} | |||
@@ -108,7 +109,40 @@ function completeAudit() { | |||
onMounted(() => { | |||
allCity(provinceAndCityData, '') | |||
getList() | |||
name() | |||
}) | |||
async function name() { | |||
const data1 = await BaseService.post( | |||
'/managew/api/product/promotion/getPayConfig', | |||
{ payChannelType: 'WEIXINPAY' } | |||
); | |||
WEIXINPAY = data1?.data?.map((item) => { | |||
return { | |||
label: item.appName, | |||
value: item.id, | |||
merchantId: item.wxMchId, | |||
payProductType: item.payChannelType | |||
} | |||
}) | |||
const data2 = await BaseService.post( | |||
'/managew/api/product/promotion/getPayConfig', | |||
{ payChannelType: 'ALIPAY' } | |||
); | |||
ALIPAY = data2?.data?.map((item) => { | |||
return { | |||
label: item.appName, | |||
value: item.id, | |||
merchantId: item.wxMchId, | |||
payProductType: item.payChannelType | |||
} | |||
}) | |||
console.log(WEIXINPAY, 'WEIXINPAY', ALIPAY); | |||
} | |||
onBeforeMount(() => { | |||
getAgencyqueryAll() | |||
}) | |||
@@ -163,9 +197,9 @@ function handleEdit(idx: any, row: any) { | |||
feeListData.value = [] //改为空 | |||
customSelectorSelection(row.releaseId, 'releaseId', row) | |||
customSelectorSelection(row.validityFormat, 'validityFormat') | |||
assignment(crudRef.value.form, row) | |||
// assignment(crudRef.value.form, row) | |||
handleChangeReason(false) | |||
handleEditKou(row) | |||
// handleEditKou(row) | |||
handleAfterFee(row) | |||
} | |||
@@ -282,7 +316,7 @@ function submit(data: any) { | |||
item.fee = item.fee * 100 | |||
}) | |||
console.log(data, datas, '修改新增请求') | |||
datas.issueScope = issueScopeData.value | |||
datas.issueScope = data.issueScope | |||
let items = deepConvertDotNotationToNested(datas); | |||
if (items.cancelDefault) { | |||
items.cancelDefault.releaseId = datas.releaseId | |||
@@ -293,13 +327,13 @@ function submit(data: any) { | |||
if (items.passFee) { | |||
items.passFee.releaseId = datas.releaseId | |||
} | |||
if (!items.cancelDefault.chargeMethod) { | |||
if (!items.cancelDefault?.chargeMethod) { | |||
items.cancelDefault = null | |||
} | |||
if (!items.passDefault.chargeMethod) { | |||
if (!items.passDefault?.chargeMethod) { | |||
items.passDefault = null | |||
} | |||
if (!items.passFee.chargeMethod) { | |||
if (!items.passFee?.chargeMethod) { | |||
items.passFee = null | |||
} | |||
BaseService.post(api, items).then((res: any) => { | |||
@@ -647,19 +681,35 @@ const getEditFeeListData = (id, form) => { | |||
} | |||
releaseList.value = data | |||
form.cancelAmount = data.cancelAmount * 0.01 | |||
data.validityFormat = data.validityFormat + '' | |||
if (data.afterSaleFees) { | |||
data.afterSaleFees.forEach((item) => { | |||
item.fee = item.fee / 100 | |||
}) | |||
} | |||
addMenu(feeListData.value) | |||
addMenu(releaseList.value) | |||
addMenu(data.afterSaleFees) | |||
crudRef.value.form = restoreDotNotationFromNested(data) | |||
console.log(crudRef.value.form, 'getFeeListData', restoreDotNotationFromNested(data)) | |||
console.log(feeListData.value, releaseList.value, 'getFeeListData', restoreDotNotationFromNested(data),data.afterSaleFees) | |||
afterSaleFeesList.value = data.afterSaleFees | |||
} else { | |||
ElMessage.error(res.message || res.errorMsg) | |||
} | |||
}) | |||
} | |||
async function addMenu(array: type) { | |||
array?.forEach(element => { | |||
if (element.chargeMethod === 'WEIXINPAY') { | |||
element.merchantList = WEIXINPAY | |||
} else if (element.chargeMethod === 'ALIPAY') { | |||
element.merchantList = ALIPAY | |||
} | |||
}); | |||
} | |||
const agencyqueryallList = ref() | |||
const getAgencyqueryAll = () => { | |||
///userw/agency/agencyqueryall | |||
@@ -978,9 +1028,9 @@ let field = ref({ | |||
options: provinceAndCityData, | |||
slotSetEdit: true, | |||
slotSetNameEdit: 'issueScopeSlot', | |||
// type: 'cascader', | |||
type: 'cascader', | |||
required: false, | |||
// multiple: true, | |||
multiple: true, | |||
}, | |||
}, | |||
{ | |||
@@ -1073,7 +1123,6 @@ let field = ref({ | |||
formLabelWidth: formLabelWidth, | |||
listData: PAY_TYPE, | |||
type: 'select', | |||
// required: true, | |||
}, | |||
}, | |||
{ | |||
@@ -1084,7 +1133,6 @@ let field = ref({ | |||
width: '45%', | |||
formLabelWidth: formLabelWidth, | |||
type: 'input', | |||
// required: true, | |||
}, | |||
}, | |||
{ | |||
@@ -1095,7 +1143,6 @@ let field = ref({ | |||
width: '45%', | |||
formLabelWidth: formLabelWidth, | |||
type: 'input', | |||
// required: true, | |||
}, | |||
}, | |||
{ | |||
@@ -1107,7 +1154,6 @@ let field = ref({ | |||
width: '45%', | |||
formLabelWidth: formLabelWidth, | |||
type: 'input', | |||
// required: true, | |||
}, | |||
}, | |||
{ |
@@ -114,7 +114,7 @@ | |||
<el-form-item :prop="`processingFeeList.${scope.$index}.amount`" :rules="[ | |||
{ required: true, message: '请输入', trigger: 'blur' }, | |||
]"> | |||
<el-input maxlength="60" :disabled="isInfo" v-trim @input=" | |||
<el-input maxlength="60" type="number" :disabled="isInfo" v-trim @input=" | |||
handleBeforeInput( | |||
scope.$index, | |||
scope.row.amount, | |||
@@ -210,7 +210,7 @@ | |||
<el-form-item :prop="`useFeeList.${scope.$index}.useAmount`" :rules="[ | |||
{ required: true, message: '请输入', trigger: 'bulr' }, | |||
]"> | |||
<el-input maxlength="60" :disabled="isInfo" v-trim clearable @input=" | |||
<el-input maxlength="60" type="number" :disabled="isInfo" v-trim clearable @input=" | |||
handleBeforeInput( | |||
scope.$index, | |||
scope.row.useAmount, | |||
@@ -285,7 +285,7 @@ | |||
<el-form-item :prop="`useFeeList.${scope.$index}.useAmount`" :rules="[ | |||
{ required: true, message: '请输入', trigger: 'bulr' }, | |||
]"> | |||
<el-input maxlength="60" :disabled="isInfo" v-trim clearable @input=" | |||
<el-input maxlength="60" type="number" :disabled="isInfo" v-trim clearable @input=" | |||
handleBeforeInput( | |||
scope.$index, | |||
scope.row.useAmount, | |||
@@ -815,18 +815,18 @@ function submit(data: any) { | |||
JSON.parse(JSON.stringify(toRaw(dataForm.useFeeList ?? null))) ?? [] | |||
datas.afterSaleFees = | |||
JSON.parse(JSON.stringify(toRaw(dataForm.afterSaleFees ?? null))) ?? [] | |||
if (datas.processingFeeList) | |||
datas.processingFeeList.forEach((item) => { | |||
item.amount = item.amount * 100 | |||
}) | |||
if (datas.useFeeList) | |||
datas.useFeeList.forEach((item) => { | |||
item.useAmount = item.useAmount * 100 | |||
}) | |||
if (datas.afterSaleFees) | |||
datas.afterSaleFees.forEach((item) => { | |||
item.amount = item.amount * 100 | |||
}) | |||
// if (datas.processingFeeList) | |||
// datas.processingFeeList.forEach((item) => { | |||
// item.amount = item.amount * 100 | |||
// }) | |||
// if (datas.useFeeList) | |||
// datas.useFeeList.forEach((item) => { | |||
// item.useAmount = item.useAmount * 100 | |||
// }) | |||
// if (datas.afterSaleFees) | |||
// datas.afterSaleFees.forEach((item) => { | |||
// item.amount = item.amount * 100 | |||
// }) | |||
if (datas.expenseType == 1) { | |||
if (!datas.processingFeeList || datas.processingFeeList.length == 0) { | |||
return ElMessage.error('办理费不能为空!') | |||
@@ -1000,6 +1000,13 @@ const getEditFeeListData = (id, form, success) => { | |||
dataForm.useFeeList = data.useFeeList | |||
dataForm.processingFeeList = data.processingFeeList | |||
data.expenseType = data.processingFeeList?.length > 0 ? 1 : 2 | |||
data.customerType = data.customerType + '' | |||
data.productType = data.productType + '' | |||
data.promotionMode = data.promotionMode + '' | |||
data.qtSign = data.qtSign + '' | |||
data.signingParty = data.signingParty + '' | |||
data.supAfterSales = data.supAfterSales + '' | |||
data.useCharacter = data.useCharacter + '' | |||
crudRef.value.form = data | |||
success() | |||
} else { | |||
@@ -1743,7 +1750,6 @@ let field = ref<any>({ | |||
width: '45%', | |||
formLabelWidth: formLabelWidth, | |||
type: 'select', | |||
required: true, | |||
multiple: true, | |||
listData: CAR_PLACE, | |||
}, | |||
@@ -1948,36 +1954,6 @@ let field = ref<any>({ | |||
hideEdit: true, | |||
}, | |||
}, | |||
// { | |||
// prop: 'deductionChannelsId', | |||
// label: '用户扣款渠道', | |||
// width: '120px', | |||
// // id: 'agencyId', | |||
// // name: 'name', | |||
// // api: '/userw/agency/agencyqueryall', | |||
// listData: agencyIdList, | |||
// hide: true, | |||
// form: { | |||
// width: '45%', | |||
// formLabelWidth: formLabelWidth, | |||
// type: 'select', | |||
// listData: agencyIdList, | |||
// required: true, | |||
// // multiple: true, | |||
// }, | |||
// }, | |||
// { | |||
// prop: 'agencyType', | |||
// label: '机构类型', | |||
// listData: AGENCY_TYPE, | |||
// form: { | |||
// width: '45%', | |||
// formLabelWidth: formLabelWidth, | |||
// type: 'select', | |||
// required: true, | |||
// listData: AGENCY_TYPE, | |||
// }, | |||
// }, | |||
{ | |||
prop: 'agencyId', | |||
label: '合作机构', | |||
@@ -1992,23 +1968,7 @@ let field = ref<any>({ | |||
required: true, | |||
multiple: false, | |||
}, | |||
}, // 解决变更记录列表首次加载没有字段问题 | |||
// { // 增加协议管理,暂不需要 | |||
// prop: 'supAgree', | |||
// label: '补充协议', | |||
// width: '120px', | |||
// hide: true, | |||
// span: 3, | |||
// form: { | |||
// width: '90%', | |||
// formLabelWidth: formLabelWidth, | |||
// type: 'upload', | |||
// placeholder: '请上传补充协议(只能上传docx文件)', | |||
// required: true, | |||
// limit: 3, | |||
// accept: '.docx', | |||
// }, | |||
// }, | |||
}, | |||
{ | |||
prop: 'supAfterSales', | |||
label: '合作渠道是否支持售后', | |||
@@ -2067,20 +2027,6 @@ let field = ref<any>({ | |||
required: false, | |||
}, | |||
}, | |||
// { | |||
// prop: 'address', | |||
// label: '地址', | |||
// hide: true, | |||
// span: 2, | |||
// form: { | |||
// digit: 100, | |||
// width: '90%', | |||
// formLabelWidth: formLabelWidth, | |||
// type: 'input', | |||
// itemType: 'textarea', | |||
// required: true, | |||
// }, | |||
// }, | |||
{ | |||
prop: 'remarks', | |||
label: '备注', |
@@ -3,7 +3,7 @@ let formLabelWidth = '150px'; | |||
// 表单数据配置(改为函数形式,接收route参数) | |||
export const getZxqdFindConfig = (route) => ({ | |||
tabSize: "small", //Table 的尺寸 large / default /small (默认default) | |||
searchShow: false, //是否显示搜索模块(默认false) IsPermission(route, 'QUERY_BASE') | |||
searchShow: true, //是否显示搜索模块(默认false) IsPermission(route, 'QUERY_BASE') | |||
border: true, //是否添加边框(默认false) | |||
dialogCustom: false, //自定义Dialog (默认false) | |||
dialogFooter: false, //隐藏弹窗页脚显示 (默认false) |
@@ -37,7 +37,8 @@ | |||
<el-button v-if="IsPermission(route, 'EDIT_LIST')" type="primary" @click="handleFileName()" size="small"> | |||
下载模板 | |||
</el-button> | |||
<el-button v-if="IsPermission(route, 'DEL_LIST')" :type="scope.row.state==='ENABLE'?'danger':'success'" @click="handleDetele(scope.row)" size="small"> | |||
<el-button v-if="IsPermission(route, 'DEL_LIST')" :type="scope.row.state === 'ENABLE' ? 'danger' : 'success'" | |||
@click="handleDetele(scope.row)" size="small"> | |||
{{ scope.row.state === 'ENABLE' ? '禁用' : '启用' }} | |||
</el-button> | |||
</template> | |||
@@ -70,8 +71,8 @@ | |||
<div style="width: 100%"> | |||
<el-select clearable filterable v-model="addForm.mapChannelId" style="width: 100%" | |||
@change="centerServiceHallIdChange" placeholder="请选择中心网点编号"> | |||
<el-option v-for="item in centerServiceHallIdList" :key="item.centerServiceHallId" :label="item.centerServicehallName" | |||
:value="item.centerServiceHallId" /> | |||
<el-option v-for="item in centerServiceHallIdList" :key="item.centerServiceHallId" | |||
:label="item.centerServicehallName" :value="item.centerServiceHallId" /> | |||
</el-select> | |||
</div> | |||
</el-form-item> | |||
@@ -131,7 +132,8 @@ | |||
</el-button> | |||
<div style="padding: 20px 50px;text-align: left;font-weight: 700;" v-if="addForm.locationModels.length > 0"> | |||
办理点信息</div> | |||
<el-form v-for="(item, index) in addForm.locationModels" :key="index" label-width="150" :rules="rules" :model="item"> | |||
<el-form v-for="(item, index) in addForm.locationModels" :key="index" label-width="150" :rules="rules" | |||
:model="item"> | |||
<el-form-item label="名称:" prop="name"> | |||
<div style="width: 100%"> | |||
<el-input maxlength="60" v-trim clearable v-model="item.name" placeholder="请输入办理点名称" /> | |||
@@ -177,8 +179,14 @@ | |||
<el-dialog title="中心网点管理" v-model="vShowDoalog"> | |||
<crud-template ref="crudRefTwo" :home-data="zxqdFind" @submit="itemAdd" @handleEdit="itemEdit" @add="Adds" | |||
:searchForm="searchForm" @CurrentChange="handleCurrentChangeTwo" @handleDelete="itemDelete" | |||
:searchForm="searchForm" @btnSearch="btnSearch2" @CurrentChange="handleCurrentChangeTwo" @handleDelete="itemDelete" | |||
:tableData="tableItemData"> | |||
<template #search> | |||
<el-input maxlength="60" v-trim clearable v-model="searchForm2.centerServiceHallId" style="width: 200px" | |||
placeholder="请输入中心网点编号" /> | |||
<el-input maxlength="60" v-trim clearable v-model="searchForm2.centerServicehallName" style="width: 200px" | |||
placeholder="请输入中心网点名称" /> | |||
</template> | |||
</crud-template> | |||
</el-dialog> | |||
</div> | |||
@@ -212,6 +220,7 @@ const route = useRoute() | |||
const zxqdFind = ref(getZxqdFindConfig(route));; | |||
const vShowDoalog = ref(false); | |||
const crudRefTwo = ref(); | |||
const searchForm2 = ref({}); | |||
const tableItemData = ref([]); | |||
// 导入 | |||
const uploadUrl = '/minIo/upload' | |||
@@ -326,7 +335,9 @@ const getItmeLiet = () => { | |||
pageNo: zxqdFind.value.paging.currentPage, | |||
pageSize: zxqdFind.value.paging.pageSize, | |||
} | |||
let searchFormList = { ...searchForm.value } | |||
console.log(searchForm2.value + '---------0'); | |||
let searchFormList = { ...searchForm2.value } | |||
for (let key in searchFormList) { | |||
if (searchFormList[key]) { | |||
params[key] = searchFormList[key] | |||
@@ -372,10 +383,16 @@ function btnSearch() { | |||
getList() | |||
} | |||
// 搜索按钮 | |||
function btnSearch2() { | |||
zxqdFind.value.paging.currentPage = 1 | |||
getItmeLiet() | |||
} | |||
//标签分页 | |||
function handleClick(tab, event) { | |||
orderStep.value = tab.props.name | |||
getList() | |||
getItmeLiet(); | |||
} | |||
//分页 | |||
@@ -387,7 +404,7 @@ function handleAvatarSuccess(response: any, row) { | |||
console.log(22222222222); | |||
console.log(response, row, 22222222222); | |||
const { ossFilePath, originalFileName } = response.data | |||
url.value = ossFilePath | |||
url.value = ossFilePath | |||
console.log(url.value, originalFileName) | |||
BaseService.postN('/userw/serviceHall/registerLocationBath', { excelFileUrl: url.value, serviceHallId: serviceHallId.value }).then((res: any) => { | |||
if (res && res.code === 0) { | |||
@@ -591,7 +608,7 @@ function handleFirstDot() { | |||
} | |||
//添加一级网点切换所属渠道 | |||
const agencyIdChange = (value) => { | |||
if(value===''||value===null||value===undefined){ | |||
if (value === '' || value === null || value === undefined) { | |||
ElMessage.error("渠道不能为空!") | |||
return; | |||
} | |||
@@ -831,7 +848,7 @@ function handleEdit(row: IObject) { | |||
crudRef.value.dialogFormVisible = true | |||
} | |||
// 删除 | |||
function handleDetele(row: IObject) { | |||
function handleDetele(row: IObject) { | |||
if (row.superServiceHallId) { | |||
isFirstDot.value = false | |||
} else { | |||
@@ -844,14 +861,14 @@ function handleDetele(row: IObject) { | |||
}) | |||
.then(() => { | |||
BaseService.postN('/userw/serviceHall/serviceHallDelete', { | |||
status: row.state==='ENABLE'?'DISABLE':'ENABLE', | |||
status: row.state === 'ENABLE' ? 'DISABLE' : 'ENABLE', | |||
serviceHallId: row.serviceHallId, | |||
orderSource: 'WEB', | |||
id: row.id, | |||
}).then((res: any) => { | |||
if (res && res.code === 0) { | |||
getList() | |||
ElMessage.success(row.state==='ENABLE'?'禁用成功':'启用成功') | |||
ElMessage.success(row.state === 'ENABLE' ? '禁用成功' : '启用成功') | |||
} else { | |||
ElMessage.error(res.message) | |||
} |
@@ -504,15 +504,16 @@ | |||
if (res && res.code === 0) { | |||
let bizContent = res.data | |||
let userRole = bizContent.userRole || {} | |||
let ids: any = [] | |||
let menuList = bizContent.menuList || {} | |||
let ids: any = bizContent.ids || [] | |||
//过滤父ids,避免子未选中,但是展示全选 | |||
; (userRole.menuList || []).map((item) => { | |||
; (menuList || []).map((item) => { | |||
//item.link && | |||
if (item.id) { | |||
ids.push(item.id) | |||
} | |||
}) | |||
; (userRole.ids || []).map((item) => { | |||
; (ids || []).map((item) => { | |||
//item.link && | |||
if (item) { | |||
ids.push(item) | |||
@@ -557,7 +558,7 @@ | |||
type: 'error', | |||
}) | |||
.then(() => { | |||
BaseService.postN('/userw/rbac/roledelete', { id: row.id }).then((res: any) => { | |||
BaseService.postN('/userw/rbac/roleDelete', { id: row.id }).then((res: any) => { | |||
if (res && res.code === 0) { | |||
getList() | |||
ElMessage.success('删除成功') | |||
@@ -675,7 +676,7 @@ | |||
if (type === 1) { | |||
api = '/userw/rbac/roleenable' | |||
} else if (type === 2) { | |||
api = '/userw/rbac/roledisable' | |||
api = '/userw/rbac/roleDisable' | |||
} | |||
BaseService.postN(api, { id: row.id }).then((res: any) => { | |||
if (res && res.code === 0) { | |||
@@ -695,7 +696,7 @@ | |||
rbacSource: rbacSource ?? addForm.value.roleSource, | |||
}).then((res: any) => { | |||
if (res && res.code === 0) { | |||
let list = res.data || [] | |||
let list = res.data.list || [] | |||
let dataList = [] as IObject[] | |||
list.map((item) => { | |||
dataList.push({ | |||
@@ -713,7 +714,7 @@ | |||
function getSystemAllList() { | |||
BaseService.postN('/userw/rbac/systemtypelist').then((res: any) => { | |||
if (res && res.code === 0) { | |||
let list = res.data || [] | |||
let list = res.data.systemTypeList || [] | |||
let dataList = [] as IObject[] | |||
list.map((item) => { | |||
dataList.push({ |
@@ -168,7 +168,7 @@ function init(row: any) { | |||
getPageServiceList(); | |||
} | |||
function getRow(id: string) { | |||
BaseService.postN('/userw/staff/query', { staffId: id }).then((res: any) => { | |||
BaseService.postN('/userw/staff/query', { id: id }).then((res: any) => { | |||
if (res && res.code === 0) { | |||
let data = res.data || {}; | |||
dataForm.value = { | |||
@@ -185,7 +185,7 @@ function getAgencyList() { | |||
BaseService.postN('/userw/agency/agencyqueryall').then((res: any) => { | |||
if (res && res.code === 0) { | |||
let bizContent = res.data | |||
let data = bizContent.agencyQueryAllModels || []; | |||
let data = bizContent || []; | |||
let list = [] as IObject[]; | |||
data.map((item) => { | |||
list.push({ | |||
@@ -256,6 +256,9 @@ async function getPageServiceList() { | |||
let data = bizContent.result || []; | |||
let list = [] as IObject[]; | |||
console.log(data + '---------==========---------'); | |||
data.map((item) => { | |||
list.push({ | |||
label: item.name, | |||
@@ -263,11 +266,11 @@ async function getPageServiceList() { | |||
}) | |||
}) | |||
// if (selectPage.value.pageNo !== 1) { | |||
// pageServiceHallList.value = [...pageServiceHallList.value, ...list] | |||
// } else { | |||
// pageServiceHallList.value = list | |||
// } | |||
if (selectPage.value.pageNo !== 1) { | |||
pageServiceHallList.value = [...pageServiceHallList.value, ...list] | |||
} else { | |||
pageServiceHallList.value = list | |||
} | |||
selectLoading.value = false; | |||
hasPage.value = bizContent.pageCount === selectPage.value.pageNo ? false : true; | |||
} else { |
@@ -9,8 +9,8 @@ | |||
} | |||
"> | |||
<template #search> | |||
<el-input v-trim clearable v-model="searchForm.serviceHallId" style="width: 180px" placeholder="请输入网点名" /> | |||
<el-input v-trim clearable v-model="searchForm.agencyId" style="width: 180px" placeholder="请输入渠道" /> | |||
<el-input v-trim clearable v-model="searchForm.serviceHallName" style="width: 180px" placeholder="请输入网点名" /> | |||
<el-input v-trim clearable v-model="searchForm.agencyName" style="width: 180px" placeholder="请输入渠道" /> | |||
<el-input v-trim clearable v-model="searchForm.staffName" style="width: 180px" placeholder="请输入员工姓名" /> | |||
<el-input v-trim clearable v-model="searchForm.mobile" style="width: 180px" placeholder="请输入手机号" /> | |||
<!-- <el-select clearable v-model="searchForm.rbacSource" style="width: 180px" placeholder="请选择所属来源方"> | |||
@@ -142,9 +142,9 @@ | |||
tableData: [] as IObject[], | |||
formLoding: false, | |||
searchForm: { | |||
serviceHallId: '', | |||
serviceHallName: '', | |||
mobile: '', | |||
agencyId: '', | |||
agencyName: '', | |||
staffName: '', | |||
staffId: '', | |||
rbacSource: '', | |||
@@ -366,9 +366,9 @@ | |||
function refreshLeft() { | |||
field.value.paging.currentPage = 1 | |||
searchForm.value = { | |||
serviceHallId: '', | |||
serviceHallName: '', | |||
mobile: '', | |||
agencyId: '', | |||
agencyName: '', | |||
staffName: '', | |||
staffId: '', | |||
rbacSource: '', |
@@ -192,7 +192,7 @@ | |||
rbacSource: dataForm.value.rbacSource, | |||
}).then((res: any) => { | |||
if (res && res.code === 0) { | |||
let list = res.data || [] | |||
let list = res.data.list || [] | |||
let dataList = [] as IObject[] | |||
let codeList: any = [] | |||
list.map((item) => { |