水电费
公积金缴纳账户 类型是对公
This commit is contained in:
parent
b9fa6eb66f
commit
c3c13687a6
@ -12,7 +12,7 @@ declare namespace Api {
|
||||
/** 所属大类ID */
|
||||
categoryId: CommonType.IdType;
|
||||
/** 业务类型ID */
|
||||
typeId: CommonType.IdType;
|
||||
typeId: string;
|
||||
/** 业务子类名称 */
|
||||
name: string;
|
||||
/** 业务子类状态 */
|
||||
|
@ -82,14 +82,14 @@ const {
|
||||
// ellipsis: true,
|
||||
// resizable: true
|
||||
// },
|
||||
// {
|
||||
// key: 'typeId',
|
||||
// title: '业务子类ID',
|
||||
// align: 'center',
|
||||
// minWidth: 120,
|
||||
// ellipsis: true,
|
||||
// resizable: true
|
||||
// },
|
||||
{
|
||||
key: 'typeId',
|
||||
title: '业务子类ID',
|
||||
align: 'center',
|
||||
minWidth: 120,
|
||||
ellipsis: true,
|
||||
resizable: true
|
||||
},
|
||||
{
|
||||
key: 'name',
|
||||
title: '业务子类名称',
|
||||
|
@ -2,8 +2,8 @@
|
||||
import { computed, reactive, watch } from 'vue';
|
||||
import { fetchCreateSubcategory, fetchUpdateSubcategory } from '@/service/api/business/subcategory';
|
||||
import { useFormRules, useNaiveForm } from '@/hooks/common/form';
|
||||
import { $t } from '@/locales';
|
||||
import {useDict} from "@/hooks/business/dict";
|
||||
import { $t } from '@/locales';
|
||||
|
||||
defineOptions({
|
||||
name: 'SubcategoryOperateDrawer'
|
||||
@ -15,7 +15,7 @@ interface Props {
|
||||
/** the edit row data */
|
||||
rowData?: Api.Business.Subcategory | null;
|
||||
/** the category id */
|
||||
categoryId: string;
|
||||
categoryId: CommonType.IdType;
|
||||
}
|
||||
|
||||
const props = defineProps<Props>();
|
||||
@ -96,16 +96,16 @@ function closeDrawer() {
|
||||
async function handleSubmit() {
|
||||
await validate();
|
||||
|
||||
const { id, categoryId, name, status,pricingRule } = model;
|
||||
const { id, categoryId, name,typeId, status,pricingRule } = model;
|
||||
|
||||
// request
|
||||
if (props.operateType === 'add') {
|
||||
const { error } = await fetchCreateSubcategory({ categoryId, name, status,pricingRule });
|
||||
const { error } = await fetchCreateSubcategory({ categoryId, name,typeId, status,pricingRule });
|
||||
if (error) return;
|
||||
}
|
||||
|
||||
if (props.operateType === 'edit') {
|
||||
const { error } = await fetchUpdateSubcategory({ id, categoryId, name, status,pricingRule });
|
||||
const { error } = await fetchUpdateSubcategory({ id, categoryId, name,typeId, status,pricingRule });
|
||||
if (error) return;
|
||||
}
|
||||
|
||||
@ -138,7 +138,7 @@ watch(visible, () => {
|
||||
<NInput v-model:value="model.name" placeholder="请输入业务子类名称" />
|
||||
</NFormItem>
|
||||
<NFormItem label="业务子类id" path="typeId">
|
||||
<NInput v-model:value="model.typeId" placeholder="请输入业务子类id" />
|
||||
<NInput v-model:value="model.typeId" :disabled="props.operateType === 'edit'" placeholder="请输入业务子类id" />
|
||||
</NFormItem>
|
||||
<NFormItem label="状态" path="status">
|
||||
<DictRadio v-model:value="model.status" dict-code="sys_normal_disable" />
|
||||
|
@ -117,14 +117,6 @@ const {
|
||||
ellipsis: true,
|
||||
resizable: true
|
||||
},
|
||||
{
|
||||
key: 'yxName',
|
||||
title: '营销人员名称',
|
||||
align: 'center',
|
||||
minWidth: 120,
|
||||
ellipsis: true,
|
||||
resizable: true
|
||||
},
|
||||
{
|
||||
key: 'jbName',
|
||||
title: '经办人员名称',
|
||||
@ -134,16 +126,24 @@ const {
|
||||
resizable: true
|
||||
},
|
||||
{
|
||||
key: 'yxId',
|
||||
title: '营销人员营销号',
|
||||
key: 'jbId',
|
||||
title: '经办人员营销号',
|
||||
align: 'center',
|
||||
minWidth: 120,
|
||||
ellipsis: true,
|
||||
resizable: true
|
||||
},
|
||||
{
|
||||
key: 'jbId',
|
||||
title: '经办人员营销号',
|
||||
key: 'yxName',
|
||||
title: '营销人员名称',
|
||||
align: 'center',
|
||||
minWidth: 120,
|
||||
ellipsis: true,
|
||||
resizable: true
|
||||
},
|
||||
{
|
||||
key: 'yxId',
|
||||
title: '营销人员营销号',
|
||||
align: 'center',
|
||||
minWidth: 120,
|
||||
ellipsis: true,
|
||||
@ -314,7 +314,7 @@ const {
|
||||
},
|
||||
{
|
||||
key: 'heatingNo',
|
||||
title: '取暖费户号',
|
||||
title: '户号',
|
||||
align: 'center',
|
||||
minWidth: 120,
|
||||
ellipsis: true,
|
||||
|
@ -87,7 +87,27 @@ function createDefaultModel(): Model {
|
||||
};
|
||||
}
|
||||
|
||||
type RuleKey = Extract<keyof Model, 'subcategoryId' | 'jbName' | 'jbId' | 'yxName' | 'yxId' | 'subcategoryName' | 'date' | 'custPhoneNo' | 'custId' | 'custAcctNo' | 'custType'|'custName' | 'acquiringId' | 'heatingNo' >;// 添加手机号验证规则
|
||||
type RuleKey = Extract<
|
||||
keyof Model,
|
||||
| 'subcategoryId'
|
||||
| 'jbName'
|
||||
| 'jbId'
|
||||
| 'yxName'
|
||||
| 'yxId'
|
||||
| 'subcategoryName'
|
||||
| 'date'
|
||||
| 'custPhoneNo'
|
||||
| 'custId'
|
||||
| 'custAcctNo'
|
||||
| 'custType'
|
||||
| 'custName'
|
||||
| 'acquiringId'
|
||||
| 'heatingNo'
|
||||
| 'acquiringName'
|
||||
| 'workplace'
|
||||
| 'surplusAccountName'
|
||||
| 'internetChannel'
|
||||
>;
|
||||
const phonePatternRule = {
|
||||
pattern: /^1[3-9]\d{9}$/,
|
||||
message: '请输入正确的手机号',
|
||||
@ -136,7 +156,11 @@ const rules: Record<RuleKey, App.Global.FormRule | App.Global.FormRule[]> = {
|
||||
custId: [idCardPatternRule,createRequiredRule('客户手机号不能为空')],
|
||||
custAcctNo: [accountPatternRule,createRequiredRule('账户号不能为空')],
|
||||
custType: createRequiredRule('客户类型不能为空'),
|
||||
acquiringId: acquiringIdPatternRule
|
||||
acquiringId: [acquiringIdPatternRule,createRequiredRule('综合收单商户号不能为空')],
|
||||
acquiringName: createRequiredRule('综合收单商户名不能为空'),
|
||||
workplace: createRequiredRule('职工所属单位不能为空'),
|
||||
surplusAccountName: createRequiredRule('公积金缴纳账户名称不能为空'),
|
||||
internetChannel: createRequiredRule('互联网渠道不能为空')
|
||||
};
|
||||
|
||||
// const showMarketingFields = ref(false);
|
||||
@ -370,7 +394,7 @@ watch(
|
||||
);
|
||||
|
||||
// 判断业务类型
|
||||
const isdisplaycustinfo = ref(false);
|
||||
const isdisplaymktinfo = ref(false);
|
||||
const isdisplaycustTypeinfo = ref(false);
|
||||
const isdisplaymagneticCardList = ref(false);
|
||||
const isdisplayacquiringName = ref(false);
|
||||
@ -385,18 +409,27 @@ watch(
|
||||
() => model.subcategoryName,
|
||||
newVal => {
|
||||
// 判断客户类型
|
||||
if(newVal === '新增综合收单商户(首月)'){
|
||||
isdisplaycustTypeinfo.value = true;
|
||||
}else if(newVal === '智e通(企业版)'){
|
||||
model.custType = '2';
|
||||
isdisplaycustTypeinfo.value = false;
|
||||
}else{
|
||||
model.custType = '1';
|
||||
isdisplaycustTypeinfo.value = false;
|
||||
switch (newVal) {
|
||||
case '新增综合收单商户(首月)':
|
||||
isdisplaycustTypeinfo.value = true;
|
||||
break;
|
||||
case '智e通(企业版)':
|
||||
case '公积金缴纳账户':
|
||||
case '企业手机银行':
|
||||
model.custType = '2';
|
||||
model.custId = '';
|
||||
model.custPhoneNo = '';
|
||||
isdisplaycustTypeinfo.value = false;
|
||||
break;
|
||||
default:
|
||||
model.custType = '1';
|
||||
isdisplaycustTypeinfo.value = false;
|
||||
break;
|
||||
}
|
||||
|
||||
switch (newVal) {
|
||||
case '公积金缴纳账户':
|
||||
isdisplaycustinfo.value = false;
|
||||
isdisplaymktinfo.value = true;
|
||||
isdisplaymagneticCardList.value = false;
|
||||
isdisplayacquiringName.value = false;
|
||||
isdisplayacquiringId.value = false;
|
||||
@ -405,16 +438,9 @@ watch(
|
||||
isdisplayworkplace.value = false;
|
||||
isdisplaysurplusAccountName.value = true;
|
||||
isdisplayheatingNo.value = false;
|
||||
|
||||
model.custId = '';
|
||||
model.custName = '';
|
||||
model.custType = '';
|
||||
model.custAcctNo = '';
|
||||
model.custPhoneNo = '';
|
||||
break;
|
||||
case '磁条卡更换金融IC卡':
|
||||
isdisplaycustinfo.value = true;
|
||||
model.custType = '1';
|
||||
isdisplaymktinfo.value = true;
|
||||
isdisplaymagneticCardList.value = true;
|
||||
isdisplayacquiringName.value = false;
|
||||
isdisplayacquiringId.value = false;
|
||||
@ -425,7 +451,7 @@ watch(
|
||||
isdisplayheatingNo.value = false;
|
||||
break;
|
||||
case '代收交警罚没款':
|
||||
isdisplaycustinfo.value = true;
|
||||
isdisplaymktinfo.value = true;
|
||||
isdisplaymagneticCardList.value = false;
|
||||
isdisplayacquiringName.value = false;
|
||||
isdisplayacquiringId.value = false;
|
||||
@ -436,7 +462,7 @@ watch(
|
||||
isdisplayheatingNo.value = false;
|
||||
break;
|
||||
case '新增综合收单商户(首月)':
|
||||
isdisplaycustinfo.value = true;
|
||||
isdisplaymktinfo.value = true;
|
||||
isdisplaymagneticCardList.value = false;
|
||||
isdisplayacquiringName.value = true;
|
||||
isdisplayacquiringId.value = true;
|
||||
@ -447,7 +473,7 @@ watch(
|
||||
isdisplayheatingNo.value = false;
|
||||
break;
|
||||
case '网上支付客户':
|
||||
isdisplaycustinfo.value = true;
|
||||
isdisplaymktinfo.value = true;
|
||||
isdisplaymagneticCardList.value = false;
|
||||
isdisplayacquiringName.value = false;
|
||||
isdisplayacquiringId.value = false;
|
||||
@ -458,7 +484,7 @@ watch(
|
||||
isdisplayheatingNo.value = false;
|
||||
break;
|
||||
case '营销职工社保卡':
|
||||
isdisplaycustinfo.value = true;
|
||||
isdisplaymktinfo.value = true;
|
||||
isdisplaymagneticCardList.value = false;
|
||||
isdisplayacquiringName.value = false;
|
||||
isdisplayacquiringId.value = false;
|
||||
@ -469,7 +495,9 @@ watch(
|
||||
isdisplayheatingNo.value = false;
|
||||
break;
|
||||
case '取暖费':
|
||||
isdisplaycustinfo.value = true;
|
||||
case '代收水费':
|
||||
case '代收电费':
|
||||
isdisplaymktinfo.value = true;
|
||||
isdisplaymagneticCardList.value = false;
|
||||
isdisplayacquiringName.value = false;
|
||||
isdisplayacquiringId.value = false;
|
||||
@ -480,15 +508,15 @@ watch(
|
||||
isdisplayheatingNo.value = true;
|
||||
break;
|
||||
default:
|
||||
isdisplaycustinfo.value = true;
|
||||
isdisplaymagneticCardList.value = false;
|
||||
isdisplayacquiringName.value = false;
|
||||
isdisplayacquiringId.value = false;
|
||||
isdisplayinternetChannel.value = false;
|
||||
isdisplaytrafficList.value = false;
|
||||
isdisplayworkplace.value = false;
|
||||
isdisplaysurplusAccountName.value = false;
|
||||
isdisplayheatingNo.value = false;
|
||||
isdisplaymktinfo.value = false;
|
||||
// isdisplaymagneticCardList.value = false;
|
||||
// isdisplayacquiringName.value = false;
|
||||
// isdisplayacquiringId.value = false;
|
||||
// isdisplayinternetChannel.value = false;
|
||||
// isdisplaytrafficList.value = false;
|
||||
// isdisplayworkplace.value = false;
|
||||
// isdisplaysurplusAccountName.value = false;
|
||||
// isdisplayheatingNo.value = false;
|
||||
break;
|
||||
}
|
||||
if( props.operateType==='add'){
|
||||
@ -651,7 +679,7 @@ watch(visible, () => {
|
||||
</div>
|
||||
|
||||
<!-- 客户信息部分 -->
|
||||
<div v-if="isdisplaycustinfo" class="form-section">
|
||||
<div class="form-section">
|
||||
<NDivider class="section-divider">客户信息</NDivider>
|
||||
<NGrid :cols="24" :x-gap="24" responsive="screen">
|
||||
<NGridItem v-if="isdisplaycustTypeinfo" :span="24">
|
||||
@ -686,109 +714,111 @@ watch(visible, () => {
|
||||
</NGridItem>
|
||||
</NGrid>
|
||||
</div>
|
||||
<NDivider class="section-divider">营销信息</NDivider>
|
||||
<NFormItem v-if="isdisplaymagneticCardList" label="磁条卡更换登记">
|
||||
<NTable :bordered="true" :single-line="false">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>老卡号</th>
|
||||
<th>新卡号</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="(item, index) in model.magneticCardList" :key="index">
|
||||
<td>
|
||||
<NInputNumber
|
||||
v-model:value="item.oldCardNo"
|
||||
placeholder="请输入老卡号"
|
||||
:show-button="false"
|
||||
:controls="false" style="width: 100%"
|
||||
/>
|
||||
</td>
|
||||
<td>
|
||||
<NInputNumber
|
||||
v-model:value="item.newCardNo"
|
||||
placeholder="请输入新卡号"
|
||||
:show-button="false"
|
||||
:controls="false" style="width: 100%"
|
||||
/>
|
||||
</td>
|
||||
<td>
|
||||
<NButton text type="error" @click="removeMagneticCardItem(index)">删除</NButton>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3" style="text-align: center">
|
||||
<NButton text type="primary" block @click="addMagneticCardItem()">添加卡号</NButton>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</NTable>
|
||||
</NFormItem>
|
||||
<NFormItem v-if="isdisplayacquiringName" label="综合收单商户名" path="acquiringName">
|
||||
<NInput v-model:value="model.acquiringName" placeholder="请输入综合收单商户名" />
|
||||
</NFormItem>
|
||||
<NFormItem v-if="isdisplayacquiringId" label="综合收单商户号" path="acquiringId">
|
||||
<NInput v-model:value="model.acquiringId" placeholder="请输入综合收单商户号" />
|
||||
</NFormItem>
|
||||
<NFormItem v-if="isdisplayinternetChannel" label="网上支付开通渠道" path="internetChannel">
|
||||
<NCheckboxGroup v-model:value="model.internetChannel">
|
||||
<NSpace>
|
||||
<NCheckbox value="微信">微信</NCheckbox>
|
||||
<NCheckbox value="支付宝">支付宝</NCheckbox>
|
||||
<NCheckbox value="京东">京东</NCheckbox>
|
||||
<NCheckbox value="美团">美团</NCheckbox>
|
||||
<NCheckbox value="抖音">抖音</NCheckbox>
|
||||
<NCheckbox value="拼多多">拼多多</NCheckbox>
|
||||
<NCheckbox value="其他">其他</NCheckbox>
|
||||
</NSpace>
|
||||
</NCheckboxGroup>
|
||||
</NFormItem>
|
||||
<NFormItem v-if="isdisplaytrafficList" label="交警处罚决定书">
|
||||
<NTable :bordered="true" :single-line="false">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>决定书编号</th>
|
||||
<th>处罚金额</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="(item, index) in model.trafficList || []" :key="index">
|
||||
<td>
|
||||
<NInputNumber
|
||||
v-model:value="item.trafficNo"
|
||||
placeholder="请输入决定书编号"
|
||||
:show-button="false"
|
||||
:controls="false"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</td>
|
||||
<td>
|
||||
<NInputNumber v-model:value="item.trafficAmt" placeholder="请输入处罚金额" :min="0" style="width: 100%" />
|
||||
</td>
|
||||
<td>
|
||||
<NButton text type="error" @click="removeTrafficItem(index)">删除</NButton>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3" style="text-align: center">
|
||||
<NButton text type="primary" block @click="addTrafficItem()">添加决定书</NButton>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</NTable>
|
||||
</NFormItem>
|
||||
<NFormItem v-if="isdisplayworkplace" label="职工所属单位" path="workplace">
|
||||
<NInput v-model:value="model.workplace" placeholder="请输入职工所属单位" />
|
||||
</NFormItem>
|
||||
<NFormItem v-if="isdisplaysurplusAccountName" label="公积金缴纳账户名称" path="surplusAccountName">
|
||||
<NInput v-model:value="model.surplusAccountName" placeholder="请输入公积金缴纳账户名称" />
|
||||
</NFormItem>
|
||||
<NFormItem v-if="isdisplayheatingNo" label="取暖费户号" path="heatingNo">
|
||||
<NInput v-model:value="model.heatingNo" placeholder="请输入取暖费户号" />
|
||||
</NFormItem>
|
||||
<div class="form-section" v-if="isdisplaymktinfo">
|
||||
<NDivider class="section-divider">营销信息</NDivider>
|
||||
<NFormItem v-if="isdisplaymagneticCardList" label="磁条卡更换登记">
|
||||
<NTable :bordered="true" :single-line="false">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>老卡号</th>
|
||||
<th>新卡号</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="(item, index) in model.magneticCardList" :key="index">
|
||||
<td>
|
||||
<NInputNumber
|
||||
v-model:value="item.oldCardNo"
|
||||
placeholder="请输入老卡号"
|
||||
:show-button="false"
|
||||
:controls="false" style="width: 100%"
|
||||
/>
|
||||
</td>
|
||||
<td>
|
||||
<NInputNumber
|
||||
v-model:value="item.newCardNo"
|
||||
placeholder="请输入新卡号"
|
||||
:show-button="false"
|
||||
:controls="false" style="width: 100%"
|
||||
/>
|
||||
</td>
|
||||
<td>
|
||||
<NButton text type="error" @click="removeMagneticCardItem(index)">删除</NButton>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3" style="text-align: center">
|
||||
<NButton text type="primary" block @click="addMagneticCardItem()">添加卡号</NButton>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</NTable>
|
||||
</NFormItem>
|
||||
<NFormItem v-if="isdisplayacquiringName" label="综合收单商户名" path="acquiringName">
|
||||
<NInput v-model:value="model.acquiringName" placeholder="请输入综合收单商户名" />
|
||||
</NFormItem>
|
||||
<NFormItem v-if="isdisplayacquiringId" label="综合收单商户号" path="acquiringId">
|
||||
<NInput v-model:value="model.acquiringId" placeholder="请输入综合收单商户号" />
|
||||
</NFormItem>
|
||||
<NFormItem v-if="isdisplayinternetChannel" label="网上支付开通渠道" path="internetChannel">
|
||||
<NCheckboxGroup v-model:value="model.internetChannel">
|
||||
<NSpace>
|
||||
<NCheckbox value="微信">微信</NCheckbox>
|
||||
<NCheckbox value="支付宝">支付宝</NCheckbox>
|
||||
<NCheckbox value="京东">京东</NCheckbox>
|
||||
<NCheckbox value="美团">美团</NCheckbox>
|
||||
<NCheckbox value="抖音">抖音</NCheckbox>
|
||||
<NCheckbox value="拼多多">拼多多</NCheckbox>
|
||||
<NCheckbox value="其他">其他</NCheckbox>
|
||||
</NSpace>
|
||||
</NCheckboxGroup>
|
||||
</NFormItem>
|
||||
<NFormItem v-if="isdisplaytrafficList" label="交警处罚决定书">
|
||||
<NTable :bordered="true" :single-line="false">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>决定书编号</th>
|
||||
<th>处罚金额</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="(item, index) in model.trafficList || []" :key="index">
|
||||
<td>
|
||||
<NInputNumber
|
||||
v-model:value="item.trafficNo"
|
||||
placeholder="请输入决定书编号"
|
||||
:show-button="false"
|
||||
:controls="false"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</td>
|
||||
<td>
|
||||
<NInputNumber v-model:value="item.trafficAmt" placeholder="请输入处罚金额" :min="0" style="width: 100%" />
|
||||
</td>
|
||||
<td>
|
||||
<NButton text type="error" @click="removeTrafficItem(index)">删除</NButton>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3" style="text-align: center">
|
||||
<NButton text type="primary" block @click="addTrafficItem()">添加决定书</NButton>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</NTable>
|
||||
</NFormItem>
|
||||
<NFormItem v-if="isdisplayworkplace" label="职工所属单位" path="workplace">
|
||||
<NInput v-model:value="model.workplace" placeholder="请输入职工所属单位" />
|
||||
</NFormItem>
|
||||
<NFormItem v-if="isdisplaysurplusAccountName" label="公积金缴纳账户名称" path="surplusAccountName">
|
||||
<NInput v-model:value="model.surplusAccountName" placeholder="请输入公积金缴纳账户名称" />
|
||||
</NFormItem>
|
||||
<NFormItem v-if="isdisplayheatingNo" label="户号" path="heatingNo">
|
||||
<NInput v-model:value="model.heatingNo" placeholder="请输入户号" />
|
||||
</NFormItem>
|
||||
</div>
|
||||
<div v-if="false" class="form-section">
|
||||
<NDivider class="section-divider">核对信息</NDivider>
|
||||
<NFormItem label="核对状态" path="checkFlag">
|
||||
|
Loading…
Reference in New Issue
Block a user