页面调整

This commit is contained in:
zhuangdashia 2025-08-26 00:20:26 +08:00
parent ec0ec7a376
commit 8a70b649a2
7 changed files with 83 additions and 25 deletions

View File

@ -131,9 +131,16 @@ const {
resizable: true,
render: (row) => {
if (!row.pricingRule) return '';
const suffixMap = {
'gjjjnzh': ' * 交易金额',
'xzzhsdshlcltsdj': ' 元/条',
'default': ' 元/条'
};
const suffix = suffixMap[row.typeId] || suffixMap.default;
return (
<NEllipsis style="width: 100%;" tooltip={true}>
{row.pricingRule}
{`${row.pricingRule}${suffix}`}
</NEllipsis>
);
}

View File

@ -141,9 +141,12 @@ watch(visible, () => {
<NInput
v-model:value="model.pricingRule"
:rows="3"
type="textarea"
placeholder="请输入计价规则说明"
/>
>
<template #suffix>
/
</template>
</NInput>
</NFormItem>
</NForm>
<template #footer>

View File

@ -10,8 +10,10 @@ import ButtonIcon from '@/components/custom/button-icon.vue';
import DetailEntryOperateDrawer from './modules/detail-entry-operate-drawer.vue';
import DetailEntrySearch from './modules/detail-entry-search.vue';
import {computed, ref, watch} from "vue";
import DictTag from '@/components/custom/dict-tag.vue';
import {useBoolean} from "~/packages/hooks";
import DetailEntryImportModal from './modules/detail-entry-import-modal.vue';
import {useDict} from "@/hooks/business/dict";
defineOptions({
name: 'DetailEntryList'
});
@ -20,6 +22,8 @@ const appStore = useAppStore();
const { download } = useDownload();
const { hasAuth } = useAuth();
const { bool: importVisible, setTrue: openImportModal } = useBoolean();
// const { options: mps_cust_type } = useDict('mps_cust_type');
const { options: mps_check_status } = useDict('mps_check_status');
// trafficList
const trafficListModalVisible = ref(false);
@ -160,14 +164,14 @@ const {
ellipsis: true,
resizable: true
},
{
key: 'deptId',
title: '部门id',
align: 'center',
minWidth: 120,
ellipsis: true,
resizable: true
},
// {
// key: 'deptId',
// title: 'id',
// align: 'center',
// minWidth: 120,
// ellipsis: true,
// resizable: true
// },
{
key: 'custType',
title: '客户类型',
@ -307,16 +311,26 @@ const {
ellipsis: true,
resizable: true
},
{
key: 'checkMsg',
title: '核对结果',
align: 'center',
minWidth: 120,
ellipsis: true,
resizable: true,
fixed: 'right'
},
{
key: 'checkFlag',
title: '核对标志',
align: 'center',
minWidth: 120,
ellipsis: true,
fixed: 'right',
resizable: true,
render(row) {
return <DictTag size="small" value={row.checkFlag} dictCode="mps_check_status" />;
}
},
},
// {
// key: 'checkTime',
@ -342,14 +356,15 @@ const {
// ellipsis: true,
// resizable: true
// },
{
key: 'checkMsg',
title: '核对结果',
align: 'center',
minWidth: 120,
ellipsis: true,
resizable: true
},
// {
// key: 'checkMsg',
// title: '',
// align: 'center',
// minWidth: 120,
// ellipsis: true,
// resizable: true,
// fixed: 'right'
// }
// {
// key: 'operate',
// title: $t('common.operate'),

View File

@ -1,8 +1,9 @@
<script setup lang="ts">
import { ref } from 'vue';
import {onMounted, ref} from 'vue';
import { useNaiveForm } from '@/hooks/common/form';
import { $t } from '@/locales';
import { useDict } from '@/hooks/business/dict';
import {fetchGetSubcategorySelect} from "@/service/api/business/subcategory";
defineOptions({
name: 'DetailEntrySearch'
});
@ -20,6 +21,24 @@ const { formRef, validate, restoreValidation } = useNaiveForm();
const model = defineModel<Api.Mps.DetailEntrySearchParams>('model', { required: true });
const { options: mpsCustTypeOptions } = useDict('mps_cust_type');
/** 业务类型选项 */
const subcategoryIdOptions = ref<CommonType.Option<CommonType.IdType>[]>([]);
const {options: mpsCheckStatusOptions} = useDict('mps_check_status');
onMounted(() => {
getSubcategoryOptions();
});
async function getSubcategoryOptions() {
const { error, data } = await fetchGetSubcategorySelect();
if (!error) {
subcategoryIdOptions.value = data.map(item => ({
label: item.name,
value: item.id
}));
}
}
async function reset() {
Object.assign(model.value.params!, {});
@ -43,8 +62,16 @@ async function search() {
<!-- <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="请输入业务类型名称" />
<!-- <NInput v-model:value="model.subcategoryName" placeholder="请输入业务类型名称" />-->
<NSelect
v-model:value="model.subcategoryId"
filterable
placeholder="选择业务类型"
:options="subcategoryIdOptions"
clearable
/>
</NFormItemGi>
<!-- <NFormItemGi span="24 s:12 m:6" label="营销人员名称" path="yxName" class="pr-24px">-->
<!-- <NInput v-model:value="model.yxName" placeholder="请输入营销人员名称" />-->
<!-- </NFormItemGi>-->
@ -123,6 +150,9 @@ async function search() {
<!-- <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:8" label="核对标志" path="checkFlag" class="pr-24px">
<NSelect v-model:value="model.checkFlag" :options="mpsCheckStatusOptions" placeholder="请选择核对状态" clearable />
</NFormItemGi>
<!-- <NFormItemGi span="24 s:12 m:6" label="核对时间" path="checkTime" class="pr-24px">-->
<!-- <NDatePicker-->
<!-- v-model:formatted-value="model.checkTime"-->
@ -142,9 +172,9 @@ async function search() {
<!-- 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 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

@ -202,6 +202,7 @@ const {
title: '计价月份',
align: 'center',
minWidth: 120,
fixed: 'right',
ellipsis: true,
resizable: true
},

View File

@ -129,6 +129,7 @@ const {
key: 'importTime',
title: '计价月份',
align: 'center',
fixed: 'right',
minWidth: 120,
ellipsis: true,
resizable: true

View File

@ -256,6 +256,7 @@ const {
title: '计价月份',
align: 'center',
minWidth: 120,
fixed: 'right',
ellipsis: true,
resizable: true
},