Commit 48265e66 authored by 张伯涛's avatar 张伯涛

安全隐患管理详情抽屉

parent af9dddcd
...@@ -3,6 +3,7 @@ import { ProjectModel, ProjectParams } from '@/api/project/model/projectModel'; ...@@ -3,6 +3,7 @@ import { ProjectModel, ProjectParams } from '@/api/project/model/projectModel';
enum Api { enum Api {
GetList = '/pro/dangerManagement/page', GetList = '/pro/dangerManagement/page',
potentialSafetyGetList = '/pro/dangerManagement/page',
UpdateProject = '/pro/dangerManagement/update', UpdateProject = '/pro/dangerManagement/update',
DeleteProject = '/pro/dangerManagement/del', DeleteProject = '/pro/dangerManagement/del',
} }
...@@ -10,6 +11,8 @@ enum Api { ...@@ -10,6 +11,8 @@ enum Api {
export const getListByPage = (params?: ProjectParams) => export const getListByPage = (params?: ProjectParams) =>
defHttp.post<ProjectModel>({ url: Api.GetList, data: params }); defHttp.post<ProjectModel>({ url: Api.GetList, data: params });
export const potentialSafetyGetListByPage = (params?: ProjectParams) =>
defHttp.post<ProjectModel>({ url: Api.potentialSafetyGetList, data: params });
export const addItem = (params?: any) => export const addItem = (params?: any) =>
defHttp.post<ProjectModel>({ url: Api.UpdateProject, data: params }); defHttp.post<ProjectModel>({ url: Api.UpdateProject, data: params });
......
...@@ -287,3 +287,69 @@ export const changeSignatureDrawer: FormSchema[] = [ ...@@ -287,3 +287,69 @@ export const changeSignatureDrawer: FormSchema[] = [
component: 'Input', component: 'Input',
}, },
]; ];
//安全隐患管理详情抽屉
export const potentialSafetyDrawer: FormSchema[] = [
{
label: '填报周期',
field: 'fillingPeriod',
labelWidth: '140px',
required: true,
component: 'Input',
},
{
label: '隐患描述',
field: 'describe',
labelWidth: '140px',
required: true,
component: 'Input',
},
{
label: '隐患级别',
field: 'level',
labelWidth: '140px',
required: true,
component: 'Input',
},
{
label: '计划费用(万元)',
field: 'planCost',
labelWidth: '140px',
required: true,
component: 'Input',
},
{
label: '实际费用(万元)',
field: 'actualCost',
labelWidth: '140px',
required: true,
component: 'Input',
},
{
label: '计划时间',
field: 'planTime',
labelWidth: '140px',
required: true,
component: 'Input',
},
{
label: '实际时间',
field: 'actualTime',
labelWidth: '140px',
required: true,
component: 'Input',
},
{
label: '隐患治理后的评估情况',
field: 'assessmentSituation',
labelWidth: '140px',
required: true,
component: 'Input',
},
{
label: '责任人',
field: 'responsiblePerson',
labelWidth: '140px',
required: true,
component: 'Input',
},
];
<template>
<BasicDrawer
v-bind="$attrs"
@register="registerDrawer"
showFooter
:title="getTitle"
width="700px"
@ok="handleSubmit"
>
<BasicForm ref="formElRef" @register="registerForm" />
</BasicDrawer>
</template>
<script lang="ts" setup>
import { onMounted, ref, unref } from 'vue';
import { BasicForm, useForm, FormActionType } from '@/components/Form';
import { potentialSafetyDrawer } from '../drawer/drawerData';
import { BasicDrawer, useDrawerInner } from '@/components/Drawer';
const isUpdate = ref(true);
const formElRef = ref<Nullable<FormActionType>>(null);
const [registerForm, { resetFields, setFieldsValue }] = useForm({
labelWidth: 90,
baseColProps: { span: 24 },
schemas: potentialSafetyDrawer,
showActionButtonGroup: false,
});
onMounted(async () => {});
const [registerDrawer, { setDrawerProps, closeDrawer }] = useDrawerInner(async (data) => {
resetFields();
setDrawerProps({ confirmLoading: false });
if (data.disabled == true) {
getTitle.value = '查看变更签证管理';
const formEl = unref(formElRef);
if (!formEl) return;
await formEl.setProps({
disabled: true,
});
}
if (unref(isUpdate)) {
setFieldsValue({
...data.record,
});
}
});
const getTitle = ref('');
async function handleSubmit() {
closeDrawer();
}
</script>
<template> <template>
<BasicTable @register="registerTable"> <div>
<template #bodyCell="{ column, record, index }"> <BasicTable @register="registerTable">
<template v-if="column.key === 'serialNumber'"> <template #bodyCell="{ column, record, index }">
{{ index + 1 }} <template v-if="column.key === 'serialNumber'">
</template> {{ index + 1 }}
<template v-if="column.key === 'tenderYear'"> </template>
{{ record.tenderYear + '年' + record.biddingQuarter + '季度' }} <template v-if="column.key === 'tenderYear'">
</template> {{ record.tenderYear + '年' + record.biddingQuarter + '季度' }}
<template v-if="column.key === 'action'"> </template>
<TableAction <template v-if="column.key === 'action'">
:actions="[ <TableAction
{ :actions="[
label: '查看详情', {
onClick: handleDetail.bind(null, record, 1), label: '查看详情',
ifShow: (_action) => { onClick: handleDetail.bind(null, record, true),
return record.completionResult == '1';
}, },
}, ]"
]" />
/> </template>
</template> </template>
</template> </BasicTable>
</BasicTable> <potential-safety-drawer @register="registerDrawer" @success="handleSuccess" />
</div>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { useDrawer } from '@/components/Drawer';
import {potentialSafetyDrawer} from "@/views/project/tabs/drawer/drawerData";
import { potentialSafetyColumns, searchFormSchema } from './data'; import { potentialSafetyColumns, searchFormSchema } from './data';
import { BasicTable, useTable, TableAction } from '@/components/Table'; import { BasicTable, useTable, TableAction } from '@/components/Table';
import { getListByPage } from '@/api/project/saftyManage'; import { potentialSafetyGetListByPage } from '@/api/project/saftyManage';
import { inject } from 'vue'; import { inject } from 'vue';
import { router } from '@/router'; import { router } from '@/router';
import { Tag } from 'ant-design-vue'; import { Tag } from 'ant-design-vue';
import PotentialSafetyDrawer from "@/views/project/tabs/drawer/potentialSafetyDrawer.vue";
let detailId = inject('detailId'); let detailId = inject('detailId');
console.log('detailId', detailId); console.log('detailId', detailId);
const [registerDrawer, { openDrawer }] = useDrawer();
const [registerTable, { reload }] = useTable({ const [registerTable, { reload }] = useTable({
api: getListByPage, api: potentialSafetyGetListByPage,
columns: potentialSafetyColumns, columns: potentialSafetyColumns,
formConfig: { formConfig: {
labelWidth: 120, labelWidth: 120,
...@@ -54,13 +59,11 @@ ...@@ -54,13 +59,11 @@
fixed: undefined, fixed: undefined,
}, },
}); });
function handleDetail(record: Recordable, disabled: number) { async function handleDetail(record: Recordable, disabled: boolean) {
router.push({ openDrawer(true, {
path: '/potentialSafety/edit', record,
query: { isUpdate: true,
id: record.id, disabled,
disabled: String(disabled),
},
}); });
} }
</script> </script>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment