瀏覽代碼

年7月3日18:38:25

master
wq 2 月之前
父節點
當前提交
74596e7c4c

+ 4
- 4
src/crud/index.vue 查看文件

@@ -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) {

+ 56
- 120
src/views/onlineBusinessHall/productManagement/promoteAnd/components/afterSaleFees.vue 查看文件

@@ -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)
}

+ 60
- 149
src/views/onlineBusinessHall/productManagement/promoteAnd/components/feeList.vue 查看文件

@@ -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()

+ 60
- 14
src/views/onlineBusinessHall/productManagement/promoteAnd/index.vue 查看文件

@@ -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,
},
},
{

+ 23
- 77
src/views/onlineBusinessHall/productManagement/releaseProduct/index.vue 查看文件

@@ -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: '备注',

+ 1
- 1
src/views/system/branch/data.js 查看文件

@@ -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)

+ 29
- 12
src/views/system/branch/index.vue 查看文件

@@ -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)
}

+ 8
- 7
src/views/system/roleManage/index.vue 查看文件

@@ -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({

+ 10
- 7
src/views/system/userManage/addorupdate.vue 查看文件

@@ -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 {

+ 6
- 6
src/views/system/userManage/index.vue 查看文件

@@ -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: '',

+ 1
- 1
src/views/system/userManage/modifyRole.vue 查看文件

@@ -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) => {

Loading…
取消
儲存