打卡信息列表状态修改为文字

上报违法列表详情和列表字段对应
提车列表详情字段对应
main
zhufu 2026-02-08 09:40:30 +08:00
parent d9b9a40fd4
commit 615ae4239d
8 changed files with 79 additions and 17 deletions

View File

@ -1,7 +1,10 @@
<template>
<div>
<BasicTable @register="registerTable">
<template #bodyCell="{ column, record, index }">
<template #bodyCell="{ column, record, index, text }">
<template v-if="column.key == 'PunchStatus'">
{{ getLabel('PunchStatus', text) }}
</template>
<template v-if="column.key == 'LngLat'">
{{ `${record.Lng}, ${record.Lat}` }}
</template>
@ -15,7 +18,7 @@
import { BasicTable, useTable } from '@/components/Table';
import { PermissionBtn } from '@/components/PermissionBtn/index';
import { LoadAllPage } from '@/api/illegalconstruction/checkiinformation'
import { columns, searchFormSchema } from './util';
import { columns, searchFormSchema, statusOptions } from './util';
//
@ -38,4 +41,19 @@
return info;
},
});
const getLabel = (type, value) => {
let result: any[] = [];
let label = '';
switch (type) {
case 'PunchStatus':
result = statusOptions;
break;
}
result.forEach((item) => {
if (item.value == value) {
label = item.label;
}
});
return label;
};
</script>

View File

@ -1,4 +1,6 @@
import { BasicColumn, FormSchema } from '@/components/Table';
import { asyncGetOptions } from '@/utils/global'
export const statusOptions = await asyncGetOptions('JGMinePointStatus');
export const columns: BasicColumn[] = [
{

View File

@ -28,6 +28,9 @@
<template v-else-if="item.key == 'vehicles'">
<a-table :dataSource="props.modalData['vehicles']" :columns="vehiclesColumns" :pagination="false">
<template #bodyCell="{ column, record, text }">
<template v-if="column.key === 'type'">
{{ getLabel('type', text) }}
</template>
<template v-if="column.key === 'images'">
<a-image-preview-group
:preview="{
@ -81,7 +84,7 @@ import { message } from "ant-design-vue";
import { getAppEnvConfig } from '@/utils/env';
const { VITE_GLOB_INFO_IMAGE_URL } = getAppEnvConfig();
const props = defineProps(['modalType', 'modalData'])
const props = defineProps(['modalType', 'modalData', 'carTypeOptions'])
const emits = defineEmits(['closeModal'])
const reviewValue = ref('')
@ -91,13 +94,13 @@ const showInfoColumn = [
{ label: '当事人电话', key: 'partyPhone' },
{ label: '违法类型', key: 'violationType' },
{ label: '问题描述', key: 'problemDescription' },
{ label: '上报人', key: 'reporter' },
{ label: '上报人', key: 'reporterName' },
{ label: '上报时间', key: 'reportTime' },
{ label: '上报单位', key: 'reportUnitName' },
{ label: '状态', key: 'status' },
{ label: '处理意见', key: 'handlingOpinion' },
{ label: '处理单位', key: 'handlingUnit' },
{ label: '处理人', key: 'handler' },
{ label: '处理单位', key: 'handUnitName' },
{ label: '处理人', key: 'handlerName' },
{ label: '处理时间', key: 'handlingTime', },
{ label: '现场照片', key: 'scenePhotos', span: 2},
{ label: '车辆信息', key: 'vehicles', span: 3},
@ -131,6 +134,21 @@ const submit = (isagree) => {
emits('closeModal', true)
})
}
const getLabel = (type, value) => {
let result: any[] = [];
let label = '';
switch (type) {
case 'type':
result = props.carTypeOptions;
break;
}
result.forEach((item) => {
if (item.value == value) {
label = item.label;
}
});
return label;
};
</script>
<style lang="scss" scoped>

View File

@ -12,7 +12,7 @@
</template>
</BasicTable>
<a-modal width="100%" wrap-class-name="getcar-show-info-modal" v-model:open="showInfoModalOpen" :title="modalType == 'add'? '添加': '编辑'" :maskClosable="false" :footer="null" :destroyOnClose="true" @cancel="modalClose">
<ShowInfoModal :modalType="modalType" :modalData="modalData" @closeModal="closeModal"/>
<ShowInfoModal :modalType="modalType" :modalData="modalData" :carTypeOptions="carTypeOptions" @closeModal="closeModal"/>
</a-modal>
</div>
</template>
@ -24,7 +24,7 @@
import { BasicTable, useTable } from '@/components/Table';
import { PermissionBtn } from '@/components/PermissionBtn/index';
import { LoadAllPage, Get } from '@/api/illegalconstruction/getcar'
import { columns, searchFormSchema, statusOptions } from './util';
import { columns, searchFormSchema, statusOptions, carTypeOptions } from './util';
import ShowInfoModal from './ShowInfoModal/index.vue'
const showInfoModalOpen = ref(false)

View File

@ -2,6 +2,7 @@ import { BasicColumn, FormSchema } from '@/components/Table';
import { asyncGetOptions } from '@/utils/global'
export const statusOptions = await asyncGetOptions('JGPickUpStatus');
export const carTypeOptions = await asyncGetOptions('JGVehicleType');
export const columns: BasicColumn[] = [
{

View File

@ -28,6 +28,9 @@
<template v-else-if="item.key == 'vehicles'">
<a-table :dataSource="props.modalData['vehicles']" :columns="vehiclesColumns" :pagination="false">
<template #bodyCell="{ column, record, text }">
<template v-if="column.key === 'type'">
{{ getLabel('type', text) }}
</template>
<template v-if="column.key === 'vehicleImages'">
<a-image-preview-group
:preview="{
@ -70,7 +73,7 @@ import { message } from "ant-design-vue";
import { getAppEnvConfig } from '@/utils/env';
const { VITE_GLOB_INFO_IMAGE_URL } = getAppEnvConfig();
const props = defineProps(['modalType', 'modalData'])
const props = defineProps(['modalType', 'modalData', 'carTypeOptions'])
const emits = defineEmits(['closeModal'])
const processValue = ref('')
@ -80,13 +83,13 @@ const showInfoColumn = [
{ label: '当事人电话', key: 'partyPhone' },
{ label: '违法类型', key: 'violationTypeName' },
{ label: '问题描述', key: 'problemDescription' },
{ label: '上报人', key: 'reporter' },
{ label: '上报人', key: 'reporterName' },
{ label: '上报时间', key: 'reportTime' },
{ label: '上报单位', key: 'reportUnitName' },
{ label: '状态', key: 'statusName' },
{ label: '处理意见', key: 'handlingOpinion' },
{ label: '处理单位', key: 'handlingUnit' },
{ label: '处理人', key: 'handler' },
{ label: '处理单位', key: 'handUnitName' },
{ label: '处理人', key: 'handlerName' },
{ label: '处理时间', key: 'handlingTime', },
{ label: '现场照片', key: 'scenePhotos', span: 2},
{ label: '车辆信息', key: 'vehicles', span: 3},
@ -119,6 +122,21 @@ const submit = () => {
emits('closeModal', true)
})
}
const getLabel = (type, value) => {
let result: any[] = [];
let label = '';
switch (type) {
case 'type':
result = props.carTypeOptions;
break;
}
result.forEach((item) => {
if (item.value == value) {
label = item.label;
}
});
return label;
};
</script>
<style lang="scss" scoped>

View File

@ -22,7 +22,7 @@
</template>
</BasicTable>
<a-modal width="100%" wrap-class-name="reportviolations-show-info-modal" v-model:open="showInfoModalOpen" :title="modalType == 'process'? '处理': '详情'" :maskClosable="false" :footer="null" :destroyOnClose="true" @cancel="modalClose">
<ShowInfoModal :modalType="modalType" :modalData="modalData" @closeModal="closeModal"/>
<ShowInfoModal :modalType="modalType" :modalData="modalData" :carTypeOptions="carTypeOptions" @closeModal="closeModal"/>
</a-modal>
</div>
</template>
@ -35,7 +35,7 @@
import { PermissionBtn } from '@/components/PermissionBtn/index';
import { LoadAllPage, Get } from '@/api/illegalconstruction/reportviolations'
import { Add } from '@/api/illegalconstruction/getcar'
import { columns, searchFormSchema, statusOptions, violationTypeOptions } from './util';
import { columns, searchFormSchema, statusOptions, violationTypeOptions, carTypeOptions } from './util';
import ShowInfoModal from './ShowInfoModal/index.vue'
import dayjs from 'dayjs';

View File

@ -3,6 +3,7 @@ import { asyncGetOptions } from '@/utils/global'
export const statusOptions = await asyncGetOptions('FMViolationStatus');
export const violationTypeOptions = await asyncGetOptions('JGViolationType');
export const carTypeOptions = await asyncGetOptions('JGVehicleType');
export const columns: BasicColumn[] = [
{
@ -13,6 +14,10 @@ export const columns: BasicColumn[] = [
title: '状态',
dataIndex: 'StatusName',
},
{
title: '盗采点',
dataIndex: 'PointName',
},
{
title: '违法类型',
dataIndex: 'ViolationTypeName',
@ -31,11 +36,11 @@ export const columns: BasicColumn[] = [
},
{
title: '处理人',
dataIndex: 'Handler',
dataIndex: 'HandelUserName',
},
{
title: '处理单位',
dataIndex: 'HandlingUnit',
dataIndex: 'HandelUnit',
},
{
title: '处理时间',
@ -47,7 +52,7 @@ export const columns: BasicColumn[] = [
},
{
title: '上报单位',
dataIndex: 'ReportUnit',
dataIndex: 'OrgName',
},
];