页面调整

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

View File

@ -141,9 +141,12 @@ watch(visible, () => {
<NInput <NInput
v-model:value="model.pricingRule" v-model:value="model.pricingRule"
:rows="3" :rows="3"
type="textarea"
placeholder="请输入计价规则说明" placeholder="请输入计价规则说明"
/> >
<template #suffix>
/
</template>
</NInput>
</NFormItem> </NFormItem>
</NForm> </NForm>
<template #footer> <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 DetailEntryOperateDrawer from './modules/detail-entry-operate-drawer.vue';
import DetailEntrySearch from './modules/detail-entry-search.vue'; import DetailEntrySearch from './modules/detail-entry-search.vue';
import {computed, ref, watch} from "vue"; import {computed, ref, watch} from "vue";
import DictTag from '@/components/custom/dict-tag.vue';
import {useBoolean} from "~/packages/hooks"; import {useBoolean} from "~/packages/hooks";
import DetailEntryImportModal from './modules/detail-entry-import-modal.vue'; import DetailEntryImportModal from './modules/detail-entry-import-modal.vue';
import {useDict} from "@/hooks/business/dict";
defineOptions({ defineOptions({
name: 'DetailEntryList' name: 'DetailEntryList'
}); });
@ -20,6 +22,8 @@ const appStore = useAppStore();
const { download } = useDownload(); const { download } = useDownload();
const { hasAuth } = useAuth(); const { hasAuth } = useAuth();
const { bool: importVisible, setTrue: openImportModal } = useBoolean(); 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 // trafficList
const trafficListModalVisible = ref(false); const trafficListModalVisible = ref(false);
@ -160,14 +164,14 @@ const {
ellipsis: true, ellipsis: true,
resizable: true resizable: true
}, },
{ // {
key: 'deptId', // key: 'deptId',
title: '部门id', // title: 'id',
align: 'center', // align: 'center',
minWidth: 120, // minWidth: 120,
ellipsis: true, // ellipsis: true,
resizable: true // resizable: true
}, // },
{ {
key: 'custType', key: 'custType',
title: '客户类型', title: '客户类型',
@ -307,16 +311,26 @@ const {
ellipsis: true, ellipsis: true,
resizable: true resizable: true
}, },
{
key: 'checkMsg',
title: '核对结果',
align: 'center',
minWidth: 120,
ellipsis: true,
resizable: true,
fixed: 'right'
},
{ {
key: 'checkFlag', key: 'checkFlag',
title: '核对标志', title: '核对标志',
align: 'center', align: 'center',
minWidth: 120, minWidth: 120,
ellipsis: true, ellipsis: true,
fixed: 'right',
resizable: true, resizable: true,
render(row) { render(row) {
return <DictTag size="small" value={row.checkFlag} dictCode="mps_check_status" />; return <DictTag size="small" value={row.checkFlag} dictCode="mps_check_status" />;
} },
}, },
// { // {
// key: 'checkTime', // key: 'checkTime',
@ -342,14 +356,15 @@ const {
// ellipsis: true, // ellipsis: true,
// resizable: true // resizable: true
// }, // },
{ // {
key: 'checkMsg', // key: 'checkMsg',
title: '核对结果', // title: '',
align: 'center', // align: 'center',
minWidth: 120, // minWidth: 120,
ellipsis: true, // ellipsis: true,
resizable: true // resizable: true,
}, // fixed: 'right'
// }
// { // {
// key: 'operate', // key: 'operate',
// title: $t('common.operate'), // title: $t('common.operate'),

View File

@ -1,8 +1,9 @@
<script setup lang="ts"> <script setup lang="ts">
import { ref } from 'vue'; import {onMounted, ref} from 'vue';
import { useNaiveForm } from '@/hooks/common/form'; import { useNaiveForm } from '@/hooks/common/form';
import { $t } from '@/locales'; import { $t } from '@/locales';
import { useDict } from '@/hooks/business/dict'; import { useDict } from '@/hooks/business/dict';
import {fetchGetSubcategorySelect} from "@/service/api/business/subcategory";
defineOptions({ defineOptions({
name: 'DetailEntrySearch' name: 'DetailEntrySearch'
}); });
@ -20,6 +21,24 @@ const { formRef, validate, restoreValidation } = useNaiveForm();
const model = defineModel<Api.Mps.DetailEntrySearchParams>('model', { required: true }); const model = defineModel<Api.Mps.DetailEntrySearchParams>('model', { required: true });
const { options: mpsCustTypeOptions } = useDict('mps_cust_type'); 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() { async function reset() {
Object.assign(model.value.params!, {}); Object.assign(model.value.params!, {});
@ -43,8 +62,16 @@ async function search() {
<!-- <NInput v-model:value="model.subcategoryId" placeholder="请输入业务类型id" />--> <!-- <NInput v-model:value="model.subcategoryId" placeholder="请输入业务类型id" />-->
<!-- </NFormItemGi>--> <!-- </NFormItemGi>-->
<NFormItemGi span="24 s:12 m:6" label="业务名称" path="subcategoryName" class="pr-24px"> <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>
<!-- <NFormItemGi span="24 s:12 m:6" label="营销人员名称" path="yxName" class="pr-24px">--> <!-- <NFormItemGi span="24 s:12 m:6" label="营销人员名称" path="yxName" class="pr-24px">-->
<!-- <NInput v-model:value="model.yxName" placeholder="请输入营销人员名称" />--> <!-- <NInput v-model:value="model.yxName" placeholder="请输入营销人员名称" />-->
<!-- </NFormItemGi>--> <!-- </NFormItemGi>-->
@ -123,6 +150,9 @@ async function search() {
<!-- <NFormItemGi span="24 s:12 m:6" label="核对标志0未核对 1核对通过 9核对失败" path="checkFlag" class="pr-24px">--> <!-- <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核对失败" />--> <!-- <NInput v-model:value="model.checkFlag" placeholder="请输入核对标志0未核对 1核对通过 9核对失败" />-->
<!-- </NFormItemGi>--> <!-- </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">--> <!-- <NFormItemGi span="24 s:12 m:6" label="核对时间" path="checkTime" class="pr-24px">-->
<!-- <NDatePicker--> <!-- <NDatePicker-->
<!-- v-model:formatted-value="model.checkTime"--> <!-- v-model:formatted-value="model.checkTime"-->
@ -142,9 +172,9 @@ async function search() {
<!-- clearable--> <!-- clearable-->
<!-- />--> <!-- />-->
<!-- </NFormItemGi>--> <!-- </NFormItemGi>-->
<NFormItemGi span="24 s:12 m:6" label="核对结果" path="checkMsg" class="pr-24px"> <!-- <NFormItemGi span="24 s:12 m:6" label="核对结果" path="checkMsg" class="pr-24px">-->
<NInput v-model:value="model.checkMsg" placeholder="请输入核对结果" /> <!-- <NInput v-model:value="model.checkMsg" placeholder="请输入核对结果" />-->
</NFormItemGi> <!-- </NFormItemGi>-->
<NFormItemGi span="24" class="pr-24px"> <NFormItemGi span="24" class="pr-24px">
<NSpace class="w-full" justify="end"> <NSpace class="w-full" justify="end">
<NButton @click="reset"> <NButton @click="reset">

View File

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

View File

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

View File

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