录入界面0.1

This commit is contained in:
SGK\17962 2025-08-13 17:58:48 +08:00
parent b2881fe530
commit b765e16294
7 changed files with 383 additions and 172 deletions

View File

@ -46,8 +46,7 @@ declare namespace Api {
custPhoneNo: string;
/** 磁条卡更换登记id */
magneticCardId: CommonType.IdType;
magneticCardList: [];
/** 综合收单商户名 */
magneticCardList: { oldCardNo: string; newCardNo: string }[]; /** 综合收单商户名 */
acquiringName: string;
/** 综合收单商户号 */
acquiringId: CommonType.IdType;
@ -55,7 +54,7 @@ declare namespace Api {
internetChannel: string;
/** 交警处罚决定书 */
trafficId: CommonType.IdType;
trafficList: [];
trafficList: { trafficNo: string; trafficAmt: number }[];
/** 职工所属单位 */
workplace: string;
/** 公积金缴纳账户名称 */

View File

@ -74,6 +74,7 @@ declare module 'vue' {
NButton: typeof import('naive-ui')['NButton']
NCard: typeof import('naive-ui')['NCard']
NCheckbox: typeof import('naive-ui')['NCheckbox']
NCheckboxGroup: typeof import('naive-ui')['NCheckboxGroup']
NCode: typeof import('naive-ui')['NCode']
NCollapse: typeof import('naive-ui')['NCollapse']
NCollapseItem: typeof import('naive-ui')['NCollapseItem']
@ -125,6 +126,7 @@ declare module 'vue' {
NStatistic: typeof import('naive-ui')['NStatistic']
NSwitch: typeof import('naive-ui')['NSwitch']
NTab: typeof import('naive-ui')['NTab']
NTable: typeof import('naive-ui')['NTable']
NTabPane: typeof import('naive-ui')['NTabPane']
NTabs: typeof import('naive-ui')['NTabs']
NTag: typeof import('naive-ui')['NTag']

View File

@ -3,6 +3,7 @@ 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";
defineOptions({
name: 'SubcategoryOperateDrawer'
@ -110,6 +111,8 @@ async function handleSubmit() {
emit('submitted');
}
useDict('sys_normal_disable');
watch(visible, () => {
if (visible.value) {
handleUpdateModelWhenEdit();
@ -131,7 +134,7 @@ watch(visible, () => {
<NFormItem label="业务子类名称" path="name">
<NInput v-model:value="model.name" placeholder="请输入业务子类名称" />
</NFormItem>
<NFormItem :label="$t('page.system.user.status')" path="status">
<NFormItem label="状态" path="status">
<DictRadio v-model:value="model.status" dict-code="sys_normal_disable" />
</NFormItem>
<NFormItem label="计价规则说明" path="pricingRule">

View File

@ -1,6 +1,8 @@
<script setup lang="tsx">
import {onMounted,ref, watch} from "vue";
import { NDivider } from 'naive-ui';
import { fetchBatchDeleteMarket, fetchGetMarketList } from '@/service/api/mps/market';
import { fetchGetSubcategorySelect } from '@/service/api/business/subcategory';
import { useAppStore } from '@/store/modules/app';
import { useAuth } from '@/hooks/business/auth';
import { useDownload } from '@/hooks/business/download';
@ -9,9 +11,9 @@ import { $t } from '@/locales';
import ButtonIcon from '@/components/custom/button-icon.vue';
import MarketOperateDrawer from './modules/market-operate-drawer.vue';
import MarketSearch from './modules/market-search.vue';
import {computed, ref, watch} from "vue";
import {useBoolean} from "~/packages/hooks";
import MarketImportModal from './modules/market-import-modal.vue';
import {useBoolean,useLoading} from "~/packages/hooks";
defineOptions({
name: 'MarketList'
});
@ -417,11 +419,32 @@ function handleImport() {
function handleExport() {
download('/mps/market/export', searchParams, `营销数据管理_${new Date().getTime()}.xlsx`);
}
//
const { startLoading, endLoading } = useLoading();
const subcategoryIdOptions = ref<CommonType.Option<CommonType.IdType>[]>([]);
onMounted(() => {
getSubcategoryOptions();
});
async function getSubcategoryOptions() {
startLoading();
const { error, data } = await fetchGetSubcategorySelect();
if (!error) {
subcategoryIdOptions.value = data.map(item => ({
label: item.name,
value: item.id
}));
}
endLoading();
}
</script>
<template>
<div class="min-h-500px flex-col-stretch gap-16px overflow-hidden lt-sm:overflow-auto">
<MarketSearch v-model:model="searchParams" @reset="resetSearchParams" @search="getDataByPage" />
<MarketSearch v-model:model="searchParams" :subcategoryId-options="subcategoryIdOptions" @reset="resetSearchParams" @search="getDataByPage" />
<NCard title="营销数据管理列表" :bordered="false" size="small" class="sm:flex-1-hidden card-wrapper">
<template #header-extra>
<TableHeaderOperation
@ -469,6 +492,7 @@ function handleExport() {
v-model:visible="drawerVisible"
:operate-type="operateType"
:row-data="editingData"
:subcategory-id-options="subcategoryIdOptions"
@submitted="getDataByPage"
/>
</NCard>

View File

@ -7,6 +7,7 @@ import {fetchGetMuUserSelect} from "@/service/api/system";
import {useLoading} from "~/packages/hooks";
import {fetchGetSubcategorySelect} from "@/service/api/business/subcategory";
import {useAuthStore} from "@/store/modules/auth";
import {useDict} from "@/hooks/business/dict";
defineOptions({
name: 'MarketOperateDrawer'
@ -17,9 +18,13 @@ interface Props {
operateType: NaiveUI.TableOperateType;
/** the edit row data */
rowData?: Api.Mps.Market | null;
/** 业务类型选项 */
subcategoryIdOptions?: CommonType.Option<CommonType.IdType>[];
}
const props = defineProps<Props>();
const props = withDefaults(defineProps<Props>(), {
subcategoryIdOptions: () => []
});
interface Emits {
(e: 'submitted'): void;
@ -31,6 +36,7 @@ const visible = defineModel<boolean>('visible', {
default: false
});
const {options: mpsCheckStatusOptions} = useDict('mps_check_status');
const { formRef, validate, restoreValidation } = useNaiveForm();
const { createRequiredRule } = useFormRules();
@ -55,7 +61,7 @@ function createDefaultModel(): Model {
jbName: '',
yxId: '',
jbId: '',
date: undefined,
date: null,
deptName: '',
deptId: undefined,
custType: '',
@ -68,7 +74,7 @@ function createDefaultModel(): Model {
acquiringName: '',
acquiringId: '',
internetChannel: '',
trafficId: undefined,
trafficId: null,
trafficList: [],
workplace: '',
surplusAccountName: '',
@ -131,19 +137,20 @@ async function handleSubmit() {
}
window.$message?.success($t('common.updateSuccess'));
closeDrawer();
// closeDrawer();
emit('submitted');
}
/* ------------------------处理营销人员列表start------------------------------- */
const { startLoading: startUserLoading, endLoading: endUserLoading } = useLoading();
const operatorIdOptions = ref<CommonType.Option<CommonType.IdType>[]>([]);
const subcategoryIdOptions = ref<CommonType.Option<CommonType.IdType>[]>([]);
// const subcategoryIdOptions = ref<CommonType.Option<CommonType.IdType>[]>([]);
//
const showMarketingFields = ref(false);
const showCustFields = ref(false);
onMounted(() => {
getoperatorIdOptions();
getsubcategoryIdOptions()
// getsubcategoryIdOptions()
});
async function getoperatorIdOptions() {
@ -158,18 +165,18 @@ async function getoperatorIdOptions() {
}
endUserLoading();
}
async function getsubcategoryIdOptions() {
startUserLoading();
const { error, data } = await fetchGetSubcategorySelect();
if (!error) {
subcategoryIdOptions.value = data.map(item => ({
label: item.name,
value: item.id
}));
}
endUserLoading();
}
// async function getsubcategoryIdOptions() {
// startUserLoading();
// const { error, data } = await fetchGetSubcategorySelect();
//
// if (!error) {
// subcategoryIdOptions.value = data.map(item => ({
// label: item.name,
// value: item.id
// }));
// }
// endUserLoading();
// }
function handleJbNameUpdate(value: string, option: CommonType.Option<CommonType.IdType>) {
model.jbId = value;
model.jbName = option.label;
@ -192,7 +199,21 @@ watch(showMarketingFields, (newValue) => {
}
});
//
watch(() => model.custType, (newVal) => {
if (newVal === '2') {
//
showCustFields.value = false;
model.custPhoneNo = '';
model.custId = '';
}
if (newVal === '1') {
showCustFields.value = true;
}
});
//
const isdisplaycustinfo = ref(false);
const isdisplaymagneticCardList = ref(false);
const isdisplayacquiringName = ref(false);
const isdisplayacquiringId = ref(false);
@ -205,6 +226,7 @@ const isdisplayheatingNo = ref(false);
watch(() => model.subcategoryName, (newVal) => {
switch (newVal) {
case '公积金缴纳账户':
isdisplaycustinfo.value = false;
isdisplaymagneticCardList.value = false;
isdisplayacquiringName.value = false;
isdisplayacquiringId.value = false;
@ -219,29 +241,86 @@ watch(() => model.subcategoryName, (newVal) => {
model.custType = '';
model.custAcctNo = '';
model.custPhoneNo = '';
model.acquiringName = '';
model.acquiringId = '';
model.internetChannel = '';
model.trafficList = [];
model.workplace = '';
model.surplusAccountName = '';
model.heatingNo = '';
break;
case '磁条卡更换金融IC卡':
isdisplaycustinfo.value = true;
isdisplaymagneticCardList.value = true;
isdisplayacquiringName.value = false;
isdisplayacquiringId.value = false;
isdisplayinternetChannel.value = false;
isdisplaytrafficList.value = false;
isdisplayworkplace.value = false;
isdisplaysurplusAccountName.value = true;
isdisplaysurplusAccountName.value = false;
isdisplayheatingNo.value = false;
model.custId='';
model.custName = '';
model.custType = '';
model.custAcctNo = '';
model.custPhoneNo = '';
break;
case '代收交警罚没款':
isdisplaycustinfo.value = true;
isdisplaymagneticCardList.value = false;
isdisplayacquiringName.value = false;
isdisplayacquiringId.value = false;
isdisplayinternetChannel.value = false;
isdisplaytrafficList.value = true;
isdisplayworkplace.value = false;
isdisplaysurplusAccountName.value = false;
isdisplayheatingNo.value = false;
break;
case '新增综合收单商户(首月)':
isdisplaycustinfo.value = true;
isdisplaymagneticCardList.value = false;
isdisplayacquiringName.value = true;
isdisplayacquiringId.value = true;
isdisplayinternetChannel.value = false;
isdisplaytrafficList.value = false;
isdisplayworkplace.value = false;
isdisplaysurplusAccountName.value = false;
isdisplayheatingNo.value = false;
break;
case '网上支付客户':
isdisplaycustinfo.value = true;
isdisplaymagneticCardList.value = false;
isdisplayacquiringName.value = false;
isdisplayacquiringId.value = false;
isdisplayinternetChannel.value = true;
isdisplaytrafficList.value = false;
isdisplayworkplace.value = false;
isdisplaysurplusAccountName.value = false;
isdisplayheatingNo.value = false;
break;
case '营销职工社保卡':
isdisplaycustinfo.value = true;
isdisplaymagneticCardList.value = false;
isdisplayacquiringName.value = false;
isdisplayacquiringId.value = false;
isdisplayinternetChannel.value = false;
isdisplaytrafficList.value = false;
isdisplayworkplace.value = true;
isdisplaysurplusAccountName.value = false;
isdisplayheatingNo.value = false;
break;
case '取暖费':
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 = 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;
break;
}
model.magneticCardList = [];
model.acquiringName = '';
model.acquiringId = '';
model.internetChannel = '';
@ -249,24 +328,33 @@ watch(() => model.subcategoryName, (newVal) => {
model.workplace = '';
model.surplusAccountName = '';
model.heatingNo = '';
break;
default:
//
showMarketingFields.value = false;
break;
}
if (newVal === '磁条卡更换金融IC卡') {
// magneticCardId
model.acquiringName = '';
model.acquiringId = '';
model.internetChannel = '';
model.trafficId = undefined;
model.workplace = '';
model.surplusAccountName = '';
model.heatingNo = '';
}
});
//
function removeMagneticCardItem(index: number) {
if (model.magneticCardList) {
model.magneticCardList.splice(index, 1);
}
}
function addMagneticCardItem() {
if (!model.magneticCardList) {
model.magneticCardList = [];
}
model.magneticCardList.push({ oldCardNo: '', newCardNo: '' });
}
//
function removeTrafficItem(index: number) {
if (model.trafficList) {
model.trafficList.splice(index, 1);
}
}
function addTrafficItem() {
if (!model.trafficList) {
model.trafficList = [];
}
model.trafficList.push({ trafficNo: '', trafficAmt: 0 });
}
watch(visible, () => {
if (visible.value) {
handleUpdateModelWhenEdit();
@ -360,8 +448,8 @@ watch(visible, () => {
<NFormItem label="日期" path="date">
<NDatePicker
v-model:formatted-value="model.date"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
type="date"
value-format="yyyy-MM-dd"
clearable
/>
</NFormItem>
@ -375,7 +463,7 @@ watch(visible, () => {
</div>
<!-- 客户信息部分 -->
<div v-if="!isSurplusAccountType" class="form-section">
<div v-if="isdisplaycustinfo" class="form-section">
<NDivider class="section-divider">客户信息</NDivider>
<n-grid :cols="24" :x-gap="24" responsive="screen">
<n-grid-item :span="24">
@ -406,7 +494,7 @@ watch(visible, () => {
/>
</NFormItem>
</n-grid-item>
<n-grid-item :span="12">
<n-grid-item v-if="showCustFields" :span="12">
<NFormItem label="客户联系电话:" path="custPhoneNo">
<NInput
v-model:value="model.custPhoneNo"
@ -415,7 +503,7 @@ watch(visible, () => {
/>
</NFormItem>
</n-grid-item>
<n-grid-item :span="12">
<n-grid-item v-if="showCustFields" :span="12">
<NFormItem label="客户身份证号:" path="custId">
<NInput
v-model:value="model.custId"
@ -427,33 +515,116 @@ watch(visible, () => {
</n-grid>
</div>
<NDivider class="section-divider">营销信息</NDivider>
<NFormItem label="磁条卡更换登记id" path="magneticCardId">
<NInput v-model:value="model.magneticCardId" placeholder="请输入磁条卡更换登记id" />
<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>
<NInput
v-model:value="item.oldCardNo"
placeholder="请输入老卡号"
/>
</td>
<td>
<NInput
v-model:value="item.newCardNo"
placeholder="请输入新卡号"
/>
</td>
<td>
<NButton text type="error" @click="removeMagneticCardItem(index)">
删除
</NButton>
</td>
</tr>
<tr>
<td colspan="3" style="text-align: center;">
<NButton text type="primary" @click="addMagneticCardItem()" block>
添加卡号
</NButton>
</td>
</tr>
</tbody>
</NTable>
</NFormItem>
<NFormItem label="综合收单商户名" path="acquiringName">
<NFormItem v-if="isdisplayacquiringName" label="综合收单商户名" path="acquiringName">
<NInput v-model:value="model.acquiringName" placeholder="请输入综合收单商户名" />
</NFormItem>
<NFormItem label="综合收单商户号" path="acquiringId">
<NFormItem v-if="isdisplayacquiringId" label="综合收单商户号" path="acquiringId">
<NInput v-model:value="model.acquiringId" placeholder="请输入综合收单商户号" />
</NFormItem>
<NFormItem label="网上支付开通渠道" path="internetChannel">
<NInput v-model:value="model.internetChannel" placeholder="请输入网上支付开通渠道" />
<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 label="交警处罚决定书" path="trafficId">
<NInput v-model:value="model.trafficId" placeholder="请输入交警处罚决定书" />
<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>
<NInput
v-model:value="item.trafficNo"
placeholder="请输入决定书编号"
/>
</td>
<td>
<NInputNumber
v-model:value="item.trafficAmt"
placeholder="请输入处罚金额"
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" @click="addTrafficItem()" block>
添加决定书
</NButton>
</td>
</tr>
</tbody>
</NTable>
</NFormItem>
<NFormItem label="职工所属单位" path="workplace">
<NFormItem v-if="isdisplayworkplace" label="职工所属单位" path="workplace">
<NInput v-model:value="model.workplace" placeholder="请输入职工所属单位" />
</NFormItem>
<NFormItem label="公积金缴纳账户名称" path="surplusAccountName">
<NFormItem v-if="isdisplaysurplusAccountName" label="公积金缴纳账户名称" path="surplusAccountName">
<NInput v-model:value="model.surplusAccountName" placeholder="请输入公积金缴纳账户名称" />
</NFormItem>
<NFormItem label="取暖费户号" path="heatingNo">
<NFormItem v-if="isdisplayheatingNo" label="取暖费户号" path="heatingNo">
<NInput v-model:value="model.heatingNo" placeholder="请输入取暖费户号" />
</NFormItem>
<NDivider class="section-divider">核对信息</NDivider>
<NFormItem label="核对标志0未核对 1核对通过 9核对失败" path="checkFlag">
<NInput v-model:value="model.checkFlag" placeholder="请输入核对标志0未核对 1核对通过 9核对失败" />
<NFormItem label="核对状态" path="checkFlag">
<NSelect v-model:value="model.checkFlag" :options="mpsCheckStatusOptions" placeholder="请选择核对状态" />
</NFormItem>
<NFormItem label="核对时间" path="checkTime">
<NDatePicker
@ -475,8 +646,8 @@ watch(visible, () => {
</NForm>
<template #footer>
<NSpace :size="16">
<NButton @click="closeDrawer">{{ $t('common.cancel') }}</NButton>
<NButton type="primary" @click="handleSubmit">{{ $t('common.confirm') }}</NButton>
<NButton type="error" @click="closeDrawer">{{ $t('common.close') }}</NButton>
<NButton type="primary" @click="handleSubmit">{{ $t('common.save') }}</NButton>
</NSpace>
</template>
</NDrawerContent>

View File

@ -2,11 +2,21 @@
import { ref } from 'vue';
import { useNaiveForm } from '@/hooks/common/form';
import { $t } from '@/locales';
import {useDict} from "@/hooks/business/dict";
defineOptions({
name: 'MarketSearch'
});
interface Props {
/** 业务类型选项 */
subcategoryIdOptions?: CommonType.Option<CommonType.IdType>[];
}
const props = withDefaults(defineProps<Props>(), {
subcategoryIdOptions: () => []
});
interface Emits {
(e: 'reset'): void;
(e: 'search'): void;
@ -16,6 +26,7 @@ const emit = defineEmits<Emits>();
const { formRef, validate, restoreValidation } = useNaiveForm();
const {options: mpsCheckStatusOptions} = useDict('mps_check_status');
const model = defineModel<Api.Mps.MarketSearchParams>('model', { required: true });
@ -38,107 +49,109 @@ async function search() {
<NCollapseItem :title="$t('common.search')" name="user-search">
<NForm ref="formRef" :model="model" label-placement="left" :label-width="80">
<NGrid responsive="screen" item-responsive>
<NFormItemGi span="24 s:12 m:6" label="业务类型id" path="subcategoryId" class="pr-24px">
<NInput v-model:value="model.subcategoryId" placeholder="请输入业务类型id" />
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" label="业务类型名称" path="subcategoryName" class="pr-24px">
<NInput v-model:value="model.subcategoryName" placeholder="请输入业务类型名称" />
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" label="营销人员名称" path="yxName" class="pr-24px">
<NInput v-model:value="model.yxName" placeholder="请输入营销人员名称" />
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" label="经办人员名称" path="jbName" class="pr-24px">
<NInput v-model:value="model.jbName" placeholder="请输入经办人员名称" />
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" label="营销人员营销号" path="yxId" class="pr-24px">
<NInput v-model:value="model.yxId" placeholder="请输入营销人员营销号" />
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" label="经办人员营销号" path="jbId" class="pr-24px">
<NInput v-model:value="model.jbId" placeholder="请输入经办人员营销号" />
<NFormItemGi span="24 s:12 m:8" label="业务类型名称" path="subcategoryName" class="pr-24px">
<NSelect
v-model:value="model.subcategoryName"
filterable
placeholder="选择业务类型"
:options="subcategoryIdOptions"
/>
</NFormItemGi>
<!-- <NFormItemGi span="24 s:12 m:6" label="营销人员名称" path="yxName" class="pr-24px">-->
<!-- <NInput v-model:value="model.yxName" placeholder="请输入营销人员名称" />-->
<!-- </NFormItemGi>-->
<!-- <NFormItemGi span="24 s:12 m:6" label="经办人员名称" path="jbName" class="pr-24px">-->
<!-- <NInput v-model:value="model.jbName" placeholder="请输入经办人员名称" />-->
<!-- </NFormItemGi>-->
<!-- <NFormItemGi span="24 s:12 m:6" label="营销人员营销号" path="yxId" class="pr-24px">-->
<!-- <NInput v-model:value="model.yxId" placeholder="请输入营销人员营销号" />-->
<!-- </NFormItemGi>-->
<!-- <NFormItemGi span="24 s:12 m:6" label="经办人员营销号" path="jbId" class="pr-24px">-->
<!-- <NInput v-model:value="model.jbId" placeholder="请输入经办人员营销号" />-->
<!-- </NFormItemGi>-->
<NFormItemGi span="24 s:12 m:6" label="数据日期" path="date" class="pr-24px">
<NDatePicker
v-model:formatted-value="model.date"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
type="date"
value-format="yyyy-MM-dd"
clearable
/>
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" label="部门名称" path="deptName" class="pr-24px">
<NInput v-model:value="model.deptName" placeholder="请输入部门名称" />
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" label="部门id" path="deptId" class="pr-24px">
<NInput v-model:value="model.deptId" placeholder="请输入部门id" />
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" label="客户类型1-个人2-对公)" path="custType" class="pr-24px">
<NSelect
v-model:value="model.custType"
placeholder="请选择客户类型1-个人2-对公)"
:options="[]"
clearable
/>
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" label="客户身份证号" path="custId" class="pr-24px">
<NInput v-model:value="model.custId" placeholder="请输入客户身份证号" />
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" label="客户姓名" path="custName" class="pr-24px">
<NInput v-model:value="model.custName" placeholder="请输入客户姓名" />
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" label="客户账号/卡号" path="custAcctNo" class="pr-24px">
<NInput v-model:value="model.custAcctNo" placeholder="请输入客户账号/卡号" />
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" label="客户联系电话" path="custPhoneNo" class="pr-24px">
<NInput v-model:value="model.custPhoneNo" placeholder="请输入客户联系电话" />
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" label="磁条卡更换登记id" path="magneticCardId" class="pr-24px">
<NInput v-model:value="model.magneticCardId" placeholder="请输入磁条卡更换登记id" />
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" label="综合收单商户名" path="acquiringName" class="pr-24px">
<NInput v-model:value="model.acquiringName" placeholder="请输入综合收单商户名" />
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" label="综合收单商户号" path="acquiringId" class="pr-24px">
<NInput v-model:value="model.acquiringId" placeholder="请输入综合收单商户号" />
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" label="网上支付开通渠道" path="internetChannel" class="pr-24px">
<NInput v-model:value="model.internetChannel" placeholder="请输入网上支付开通渠道" />
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" label="交警处罚决定书" path="trafficId" class="pr-24px">
<NInput v-model:value="model.trafficId" placeholder="请输入交警处罚决定书" />
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" label="职工所属单位" path="workplace" class="pr-24px">
<NInput v-model:value="model.workplace" placeholder="请输入职工所属单位" />
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" label="公积金缴纳账户名称" path="surplusAccountName" class="pr-24px">
<NInput v-model:value="model.surplusAccountName" placeholder="请输入公积金缴纳账户名称" />
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" label="取暖费户号" path="heatingNo" class="pr-24px">
<NInput v-model:value="model.heatingNo" placeholder="请输入取暖费户号" />
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" label="核对标志0未核对 1核对通过 9核对失败" path="checkFlag" class="pr-24px">
<NInput v-model:value="model.checkFlag" placeholder="请输入核对标志0未核对 1核对通过 9核对失败" />
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" label="核对时间" path="checkTime" class="pr-24px">
<NDatePicker
v-model:formatted-value="model.checkTime"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
clearable
/>
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" label="核对人员(人工核对时)" path="checkUser" class="pr-24px">
<NInput v-model:value="model.checkUser" placeholder="请输入核对人员(人工核对时)" />
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" label="核对方式0系统 1人工 2其他1 3其他2 4其他3" path="checkType" class="pr-24px">
<NSelect
v-model:value="model.checkType"
placeholder="请选择核对方式0系统 1人工 2其他1 3其他2 4其他3"
:options="[]"
clearable
/>
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" label="核对结果" path="checkMsg" class="pr-24px">
<NInput v-model:value="model.checkMsg" placeholder="请输入核对结果" />
<!-- <NFormItemGi span="24 s:12 m:6" label="部门名称" path="deptName" class="pr-24px">-->
<!-- <NInput v-model:value="model.deptName" placeholder="请输入部门名称" />-->
<!-- </NFormItemGi>-->
<!-- <NFormItemGi span="24 s:12 m:6" label="部门id" path="deptId" class="pr-24px">-->
<!-- <NInput v-model:value="model.deptId" placeholder="请输入部门id" />-->
<!-- </NFormItemGi>-->
<!-- <NFormItemGi span="24 s:12 m:6" label="客户类型1-个人2-对公)" path="custType" class="pr-24px">-->
<!-- <NSelect-->
<!-- v-model:value="model.custType"-->
<!-- placeholder="请选择客户类型1-个人2-对公)"-->
<!-- :options="[]"-->
<!-- clearable-->
<!-- />-->
<!-- </NFormItemGi>-->
<!-- <NFormItemGi span="24 s:12 m:6" label="客户身份证号" path="custId" class="pr-24px">-->
<!-- <NInput v-model:value="model.custId" placeholder="请输入客户身份证号" />-->
<!-- </NFormItemGi>-->
<!-- <NFormItemGi span="24 s:12 m:6" label="客户姓名" path="custName" class="pr-24px">-->
<!-- <NInput v-model:value="model.custName" placeholder="请输入客户姓名" />-->
<!-- </NFormItemGi>-->
<!-- <NFormItemGi span="24 s:12 m:6" label="客户账号/卡号" path="custAcctNo" class="pr-24px">-->
<!-- <NInput v-model:value="model.custAcctNo" placeholder="请输入客户账号/卡号" />-->
<!-- </NFormItemGi>-->
<!-- <NFormItemGi span="24 s:12 m:6" label="客户联系电话" path="custPhoneNo" class="pr-24px">-->
<!-- <NInput v-model:value="model.custPhoneNo" placeholder="请输入客户联系电话" />-->
<!-- </NFormItemGi>-->
<!-- <NFormItemGi span="24 s:12 m:6" label="磁条卡更换登记id" path="magneticCardId" class="pr-24px">-->
<!-- <NInput v-model:value="model.magneticCardId" placeholder="请输入磁条卡更换登记id" />-->
<!-- </NFormItemGi>-->
<!-- <NFormItemGi span="24 s:12 m:6" label="综合收单商户名" path="acquiringName" class="pr-24px">-->
<!-- <NInput v-model:value="model.acquiringName" placeholder="请输入综合收单商户名" />-->
<!-- </NFormItemGi>-->
<!-- <NFormItemGi span="24 s:12 m:6" label="综合收单商户号" path="acquiringId" class="pr-24px">-->
<!-- <NInput v-model:value="model.acquiringId" placeholder="请输入综合收单商户号" />-->
<!-- </NFormItemGi>-->
<!-- <NFormItemGi span="24 s:12 m:6" label="网上支付开通渠道" path="internetChannel" class="pr-24px">-->
<!-- <NInput v-model:value="model.internetChannel" placeholder="请输入网上支付开通渠道" />-->
<!-- </NFormItemGi>-->
<!-- <NFormItemGi span="24 s:12 m:6" label="交警处罚决定书" path="trafficId" class="pr-24px">-->
<!-- <NInput v-model:value="model.trafficId" placeholder="请输入交警处罚决定书" />-->
<!-- </NFormItemGi>-->
<!-- <NFormItemGi span="24 s:12 m:6" label="职工所属单位" path="workplace" class="pr-24px">-->
<!-- <NInput v-model:value="model.workplace" placeholder="请输入职工所属单位" />-->
<!-- </NFormItemGi>-->
<!-- <NFormItemGi span="24 s:12 m:6" label="公积金缴纳账户名称" path="surplusAccountName" class="pr-24px">-->
<!-- <NInput v-model:value="model.surplusAccountName" placeholder="请输入公积金缴纳账户名称" />-->
<!-- </NFormItemGi>-->
<!-- <NFormItemGi span="24 s:12 m:6" label="取暖费户号" path="heatingNo" class="pr-24px">-->
<!-- <NInput v-model:value="model.heatingNo" placeholder="请输入取暖费户号" />-->
<!-- </NFormItemGi>-->
<NFormItemGi span="24 s:12 m:8" label="核对标志" path="checkFlag" class="pr-24px">
<NSelect v-model:value="model.checkFlag" :options="mpsCheckStatusOptions" placeholder="请选择核对状态" />
</NFormItemGi>
<!-- <NFormItemGi span="24 s:12 m:6" label="核对时间" path="checkTime" class="pr-24px">-->
<!-- <NDatePicker-->
<!-- v-model:formatted-value="model.checkTime"-->
<!-- type="datetime"-->
<!-- value-format="yyyy-MM-dd HH:mm:ss"-->
<!-- clearable-->
<!-- />-->
<!-- </NFormItemGi>-->
<!-- <NFormItemGi span="24 s:12 m:6" label="核对人员(人工核对时)" path="checkUser" class="pr-24px">-->
<!-- <NInput v-model:value="model.checkUser" placeholder="请输入核对人员(人工核对时)" />-->
<!-- </NFormItemGi>-->
<!-- <NFormItemGi span="24 s:12 m:6" label="核对方式0系统 1人工 2其他1 3其他2 4其他3" path="checkType" class="pr-24px">-->
<!-- <NSelect-->
<!-- v-model:value="model.checkType"-->
<!-- placeholder="请选择核对方式0系统 1人工 2其他1 3其他2 4其他3"-->
<!-- :options="[]"-->
<!-- clearable-->
<!-- />-->
<!-- </NFormItemGi>-->
<!-- <NFormItemGi span="24 s:12 m:6" label="核对结果" path="checkMsg" class="pr-24px">-->
<!-- <NInput v-model:value="model.checkMsg" placeholder="请输入核对结果" />-->
<!-- </NFormItemGi>-->
<NFormItemGi span="24" class="pr-24px">
<NSpace class="w-full" justify="end">
<NButton @click="reset">

View File

@ -33,7 +33,6 @@ public class BusinessSubcategoryBo extends BaseEntity {
/**
* 业务类型ID
*/
@NotNull(message = "业务类型ID不能为空", groups = { AddGroup.class, EditGroup.class })
private String typeId;
/**