Commit 97a08c8a authored by 小费同学阿's avatar 小费同学阿 💬

Merge remote-tracking branch 'origin/develop' into develop

parents 334b147e 3f847dc5
import { ProjectParams, ProjectListGetResultModel, ProjectModel } from '@/api/project/model/projectModel';
import {
ProjectParams,
ProjectListGetResultModel,
ProjectModel,
} from '@/api/project/model/projectModel';
import { defHttp } from '@/utils/http/axios';
enum Api {
//分页查询变更记录
GetList = '/pro/change-visa/page',
changeSignatureGetList = 'pro/reportCenter/change-visa/list',
//根据id查询详情
GetDetail = '/pro/change-visa/find-byid',
//新增
......@@ -23,6 +29,9 @@ enum Api {
}
export const getSettlementManageList = (params?: ProjectParams) =>
defHttp.post<ProjectModel>({ url: Api.GetList, data: params });
export const getChangeSignatureList = (params?: ProjectParams) =>
defHttp.post<ProjectModel>({ url: Api.changeSignatureGetList, data: params });
// 根据id 查询详情
export const getItem = (params?: any) =>
defHttp.get<ProjectModel>({
......@@ -30,7 +39,6 @@ export const getItem = (params?: any) =>
params,
});
/**
* @description: 新增
*/
......@@ -57,39 +65,31 @@ export const updateItem = (params?: any) => {
//审核接口
export const auditItem = (params?: any) =>
defHttp.get<ProjectModel>(
{
defHttp.get<ProjectModel>({
url: Api.Audit,
params,
});
/**
* 批量删除
*/
export const deleteList = (params?: any) =>
defHttp.delete<ProjectModel>(
{
defHttp.delete<ProjectModel>({
url: Api.DeleteList,
params,
});
/**
* 删除一个
*/
export const deleteOne = (params?: any) =>
defHttp.delete<ProjectModel>(
{
defHttp.delete<ProjectModel>({
url: Api.DeleteOne,
params,
});
export const checkQuarter = (params?: any) =>
defHttp.get<ProjectModel>(
{
defHttp.get<ProjectModel>({
url: Api.CheckQuarter,
params,
});
......@@ -3,6 +3,7 @@ import { ProjectModel, ProjectParams } from '@/api/project/model/projectModel';
enum Api {
GetList = '/pro/educationTraining/page',
safetyEducationGetList = '/pro/educationTraining/page',
UpdateProject = '/pro/educationTraining/update',
DeleteProject = '/pro/educationTraining/del',
GetUserList = '/pro/sys/sysUser',
......@@ -11,6 +12,9 @@ enum Api {
export const getListByPage = (params?: ProjectParams) =>
defHttp.post<ProjectModel>({ url: Api.GetList, data: params });
export const safetyEducationGetListByPage = (params?: ProjectParams) =>
defHttp.post<ProjectModel>({ url: Api.safetyEducationGetList, data: params });
export const addItem = (params?: any) =>
defHttp.post<ProjectModel>({ url: Api.UpdateProject, data: params });
......
......@@ -3,6 +3,7 @@ import { ProjectModel, ProjectParams } from '@/api/project/model/projectModel';
enum Api {
GetList = '/pro/dangerManagement/page',
potentialSafetyGetList = '/pro/dangerManagement/page',
UpdateProject = '/pro/dangerManagement/update',
DeleteProject = '/pro/dangerManagement/del',
}
......@@ -10,6 +11,8 @@ enum Api {
export const getListByPage = (params?: ProjectParams) =>
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) =>
defHttp.post<ProjectModel>({ url: Api.UpdateProject, data: params });
......
......@@ -6,6 +6,8 @@ import { defHttp } from '@/utils/http/axios';
enum Api {
//查询list
GetList = '/pro/reportCenter/settlement/list',
//结算管理查询List集合
GetListPage = '/pro/settlement/page',
//新增接口
Add = '/pro/settlement/add',
//根据id查询详情
......@@ -22,11 +24,13 @@ enum Api {
getDepartmentList = '/pro/sys/sysDept',
// 查询季度是否已经存在
isSettlement = '/pro/settlement/is-settlement',
}
export const getSettlementManageList = (params?: ProjectParams) =>
defHttp.post<ProjectParams>({ url: Api.GetList, data: params });
export const getListByPage = (params?: ProjectParams) =>
defHttp.post<ProjectParams>({ url: Api.GetListPage, data: params });
export const addItems = (params?: any) =>
defHttp.post<ProjectModel>({
url: Api.Add,
......@@ -46,9 +50,10 @@ export const getItem = (params?: any) =>
* 修改
*/
export const updateItem = (params?: any) =>
defHttp.put<ProjectModel>({
defHttp.put<ProjectModel>(
{
url: Api.update,
data: params.management,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
......
......@@ -321,14 +321,14 @@ export const Content: FormSchema[] = [
field: 'responsibleParty',
label: '责任方',
required: true,
component: 'input',
component: 'Input',
colProps: { span: 7, offset: 1 },
},
{
field: 'changeContent',
label: ' 变更内容:',
required: true,
component: 'input',
component: 'Input',
colProps: { span: 7, offset: 1 },
},
//预估变更金额
......@@ -345,7 +345,7 @@ export const Content: FormSchema[] = [
label: '预估变更金额占合同金额比例:',
labelWidth:"300px",
required: true,
component: 'input',
component: 'Input',
colProps: { span: 7, offset: 1 },
},
//签证编号:
......@@ -353,7 +353,7 @@ export const Content: FormSchema[] = [
field: 'visaNumber',
label: '签证编号:',
required: true,
component: 'input',
component: 'Input',
colProps: { span: 7, offset: 1 },
},
//签证类型:
......@@ -361,7 +361,7 @@ export const Content: FormSchema[] = [
field: 'visaType',
label: '签证类型:',
required: true,
component: 'input',
component: 'Input',
colProps: { span: 7, offset: 1 },
},
......
......@@ -53,13 +53,12 @@
</div>
</template>
<script setup lang="ts">
import { BasicTable, useTable, TableAction } from '@/components/Table';
import {useModal} from "@/components/Modal";
import yearModal from '@/components/yearModal/yearModal.vue';
const { createMessage } = useMessage();
const { push } = useRouter();
const [register, { openModal: openModal,closeModal:closeModal }] = useModal();
import { BasicTable, useTable, TableAction } from '@/components/Table';
import { getSettlementManageList,auditItem,deleteList,checkQuarter} from '@/api/changeSignatrue/changeSignatrue';
import {
columns,
......
<template>
<div>
<BasicTable @register="registerTable">
<template #bodyCell="{ column, record, index }">
<template v-if="column.key === 'serialNumber'">
......@@ -12,28 +13,32 @@
:actions="[
{
label: '查看详情',
onClick: handleDetail.bind(null, record, 1),
ifShow: (_action) => {
return record.completionResult == '1';
},
onClick: handleDetail.bind(null, record, true),
},
]"
/>
</template>
</template>
</BasicTable>
<change-signature-drawer @register="registerDrawer" @success="handleSuccess" />
</div>
</template>
<script lang="ts" setup>
import { changeSignatureColumns, searchFormSchema } from './data';
import { BasicTable, useTable, TableAction } from '@/components/Table';
import { getSettlementManageList } from '@/api/changeSignatrue/changeSignatrue';
import { getChangeSignatureList } from '@/api/changeSignatrue/changeSignatrue';
import { inject } from 'vue';
import { router } from '@/router';
import { Tag } from 'ant-design-vue';
import { useDrawer } from '@/components/Drawer';
import ChangeSignatureDrawer from '@/views/project/tabs/drawer/changeSignatureDrawer.vue';
const [registerDrawer, { openDrawer }] = useDrawer();
let detailId = inject('detailId');
console.log('detailId', detailId);
const [registerTable, { reload }] = useTable({
api: getSettlementManageList,
api: getChangeSignatureList,
columns: changeSignatureColumns,
formConfig: {
labelWidth: 120,
......@@ -54,13 +59,11 @@
fixed: undefined,
},
});
function handleDetail(record: Recordable, disabled: number) {
router.push({
path: '/changeSignature/edit',
query: {
id: record.id,
disabled: String(disabled),
},
async function handleDetail(record: Recordable, disabled: boolean) {
openDrawer(true, {
record,
isUpdate: true,
disabled,
});
}
</script>
......@@ -908,7 +908,7 @@ export const settlementManagementColumns = [
},
{
title: '立项投资额(万元)',
dataIndex: 'uniqueProjectCount',
dataIndex: 'projectInvestment',
width: 140,
},
{
......@@ -918,7 +918,7 @@ export const settlementManagementColumns = [
},
{
title: '招标方式',
dataIndex: 'updateBy',
dataIndex: 'biddingMethod',
width: 140,
},
{
......@@ -978,7 +978,7 @@ export const settlementManagementColumns = [
},
{
title: '结算审定金额(元)',
dataIndex: 'auditTime',
dataIndex: 'sumOfMoney',
width: 140,
},
{
......@@ -993,7 +993,7 @@ export const settlementManagementColumns = [
},
{
title: '备注',
dataIndex: 'auditTime',
dataIndex: 'remark',
width: 140,
},
];
......@@ -1005,63 +1005,58 @@ export const changeSignatureColumns = [
width: 200,
},
{
title: '项目数量',
dataIndex: 'uniqueProjectCount',
width: 180,
},
{
title: '合同名称',
dataIndex: 'companyName',
title: '项合同名称',
dataIndex: 'contractName',
width: 180,
},
{
title: '合同金额',
dataIndex: 'updateBy',
dataIndex: 'contractAmount',
width: 180,
},
{
title: '合同累计签证、变更金额(含本次)(元)',
dataIndex: 'updateTime',
dataIndex: 'changeAmount',
width: 180,
},
{
title: '累计变更签证金额占合同金额比例',
dataIndex: 'status',
dataIndex: 'amountRatio',
width: 180,
},
{
title: '变更编号',
dataIndex: 'auditor',
dataIndex: 'changeNumber',
width: 180,
},
{
title: '变更类型',
dataIndex: 'auditTime',
dataIndex: 'changeType',
width: 180,
},
{
title: '责任方',
dataIndex: 'auditTime',
dataIndex: 'responsibleParty',
width: 180,
},
{
title: '变更内容',
dataIndex: 'auditTime',
dataIndex: 'changeContent',
width: 180,
},
{
title: '预估变更金额(元)',
dataIndex: 'auditTime',
dataIndex: 'visaAmount',
width: 180,
},
{
title: '预估变更金额占合同金额比例',
dataIndex: 'auditTime',
dataIndex: 'contractValueRatio',
width: 180,
},
{
title: '签证编号',
dataIndex: 'auditTime',
dataIndex: 'visaNumber',
width: 180,
},
];
......@@ -1113,6 +1108,11 @@ export const potentialSafetyColumns = [
},
];
export const safetyEducationColumns = [
{
title: '序号',
dataIndex: 'serialNumber',
width: 100,
},
{
title: '填报周期',
dataIndex: 'fillingPeriod',
......
<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 { changeSignatureDrawer } 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: changeSignatureDrawer,
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>
import { FormSchema } from '@/components/Table';
//结算管理详情抽屉
export const settlementDrawer: FormSchema[] = [
{
label: '填报周期',
field: 'yearQuarter',
labelWidth: '140px',
required: true,
component: 'Input',
},
{
label: '立项投资额(万元)',
field: 'projectInvestment',
labelWidth: '140px',
required: true,
component: 'Input',
},
{
label: '资金来源',
field: 'fundingSource',
labelWidth: '140px',
required: true,
component: 'Input',
},
{
label: '招标方式',
field: 'biddingMethod',
labelWidth: '140px',
required: true,
component: 'Select',
componentProps: {
options: [
{
label: '建委招标',
value: '1',
},
{
label: '平台招标',
value: '2',
},
{
label: '邀标比选',
value: '3',
},
{
label: '直接委托',
value: '4',
},
{
label: '评分定离',
value: '5',
},
],
},
},
{
label: '合同类型',
field: 'contracYpe',
labelWidth: '140px',
required: true,
component: 'Select',
componentProps: {
options: [
{
label: '施工',
value: '1',
},
{
label: '监理',
value: '2',
},
{
label: '设计',
value: '3',
},
{
label: '图审',
value: '4',
},
],
},
},
{
label: '合同名称',
field: 'contractName',
labelWidth: '140px',
required: true,
component: 'Input',
},
{
label: '甲方单位名称',
field: 'firstPartyName',
labelWidth: '140px',
required: true,
component: 'Input',
},
{
label: '乙方单位名称',
field: 'secondPartyName',
labelWidth: '140px',
required: true,
component: 'Input',
},
{
label: '合同形式',
field: 'formOfContract',
labelWidth: '140px',
required: true,
component: 'Select',
componentProps: {
options: [
{
label: '固定总价',
value: '1',
},
{
label: '固定单价',
value: '2',
},
{
label: '费率',
value: '3',
},
{
label: '其他',
value: '4',
},
],
},
},
{
label: '合同签订时间',
field: 'contractSigningTime',
labelWidth: '140px',
required: true,
component: 'Input',
},
{
label: '竣工时间',
field: 'closingTime',
labelWidth: '140px',
required: true,
component: 'Input',
},
{
label: '结算完成时间',
field: 'closingTimeDatetime',
labelWidth: '140px',
required: true,
component: 'Input',
},
{
label: '合同金额(元)',
field: 'contractAmount',
labelWidth: '140px',
required: true,
component: 'Input',
},
{
label: '签证、变更金额(元)',
field: 'submittedForSettlement',
labelWidth: '140px',
required: true,
component: 'Input',
},
{
label: '结算报送金额(元)',
field: 'superContractScale',
labelWidth: '140px',
required: true,
component: 'Input',
},
{
label: '结算审定金额(元)',
field: 'sumOfMoney',
labelWidth: '140px',
required: true,
component: 'Input',
},
{
label: '结算审核金额超合同额比例',
field: 'proportionContractAmount',
labelWidth: '140px',
required: true,
component: 'Input',
},
{
label: '会议纪要',
field: 'meetingMinutes',
labelWidth: '140px',
required: true,
component: 'Input',
},
{
label: '备注',
field: 'remark',
labelWidth: '140px',
required: true,
component: 'Input',
},
];
//变更签证管理详情抽屉
export const changeSignatureDrawer: FormSchema[] = [
{
label: '填报周期',
field: 'yearQuarter',
labelWidth: '280px',
required: true,
component: 'Input',
},
{
label: '项合同名称',
field: 'contractName',
labelWidth: '280px',
required: true,
component: 'Input',
},
{
label: '合同金额',
field: 'contractAmount',
labelWidth: '280px',
required: true,
component: 'Input',
},
{
label: '合同累计签证、变更金额(含本次)(元)',
field: 'changeAmount',
labelWidth: '280px',
required: true,
component: 'Input',
},
{
label: '累计变更签证金额占合同金额比例',
field: 'amountRatio',
labelWidth: '280px',
required: true,
component: 'Input',
},
{
label: '变更编号',
field: 'changeNumber',
labelWidth: '280px',
required: true,
component: 'Input',
},
{
label: '变更类型',
field: 'changeType',
labelWidth: '280px',
required: true,
component: 'Input',
},
{
label: '责任方',
field: 'responsibleParty',
labelWidth: '280px',
required: true,
component: 'Input',
},
{
label: '变更内容',
field: 'changeContent',
labelWidth: '280px',
required: true,
component: 'Input',
},
{
label: '预估变更金额(元)',
field: 'visaAmount',
labelWidth: '280px',
required: true,
component: 'Input',
},
{
label: '预估变更金额占合同金额比例',
field: 'contractValueRatio',
labelWidth: '280px',
required: true,
component: 'Input',
},
{
label: '签证编号',
field: 'visaNumber',
labelWidth: '280px',
required: true,
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',
},
];
//安全教育管理详情抽屉
export const safetyEducationDrawer: FormSchema[] = [
{
label: '填报周期',
field: 'fillingPeriod',
labelWidth: '140px',
required: true,
component: 'Input',
},
{
label: '培训时间',
field: 'trainingTime',
labelWidth: '140px',
required: true,
component: 'Input',
},
{
label: '培训主题',
field: 'trainingTheme',
labelWidth: '140px',
required: true,
component: 'Input',
},
{
label: '培训类型',
field: 'trainingType',
labelWidth: '140px',
required: true,
component: 'Input',
},
{
label: '培训形式',
field: 'trainingFormat',
labelWidth: '140px',
required: true,
component: 'Input',
},
{
label: '计划会议',
field: 'trainingMeet',
labelWidth: '140px',
required: true,
component: 'Input',
},
{
label: '培训人员',
field: 'trainers',
labelWidth: '140px',
required: true,
component: 'Input',
},
{
label: '学识(合计)',
field: 'knowledge',
labelWidth: '140px',
required: true,
component: 'Input',
},
{
label: '人数',
field: 'numberOfPeople',
labelWidth: '140px',
required: true,
component: 'Input',
},
{
label: '备注',
field: 'remark',
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>
<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 { safetyEducationDrawer } 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: safetyEducationDrawer,
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>
<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 { settlementDrawer } 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: settlementDrawer,
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>
<div>
<BasicTable @register="registerTable">
<template #bodyCell="{ column, record, index }">
<template v-if="column.key === 'serialNumber'">
......@@ -12,28 +13,32 @@
:actions="[
{
label: '查看详情',
onClick: handleDetail.bind(null, record, 1),
ifShow: (_action) => {
return record.completionResult == '1';
},
onClick: handleDetail.bind(null, record, true),
},
]"
/>
</template>
</template>
</BasicTable>
<potential-safety-drawer @register="registerDrawer" @success="handleSuccess" />
</div>
</template>
<script lang="ts" setup>
import { useDrawer } from '@/components/Drawer';
import {potentialSafetyDrawer} from "@/views/project/tabs/drawer/drawerData";
import { potentialSafetyColumns, searchFormSchema } from './data';
import { BasicTable, useTable, TableAction } from '@/components/Table';
import { getListByPage } from '@/api/project/saftyManage';
import { potentialSafetyGetListByPage } from '@/api/project/saftyManage';
import { inject } from 'vue';
import { router } from '@/router';
import { Tag } from 'ant-design-vue';
import PotentialSafetyDrawer from "@/views/project/tabs/drawer/potentialSafetyDrawer.vue";
let detailId = inject('detailId');
console.log('detailId', detailId);
const [registerDrawer, { openDrawer }] = useDrawer();
const [registerTable, { reload }] = useTable({
api: getListByPage,
api: potentialSafetyGetListByPage,
columns: potentialSafetyColumns,
formConfig: {
labelWidth: 120,
......@@ -54,13 +59,11 @@
fixed: undefined,
},
});
function handleDetail(record: Recordable, disabled: number) {
router.push({
path: '/potentialSafety/edit',
query: {
id: record.id,
disabled: String(disabled),
},
async function handleDetail(record: Recordable, disabled: boolean) {
openDrawer(true, {
record,
isUpdate: true,
disabled,
});
}
</script>
<template>
<div>
<BasicTable @register="registerTable">
<template #bodyCell="{ column, record, index }">
<template v-if="column.key === 'serialNumber'">
......@@ -13,27 +14,29 @@
{
label: '查看详情',
onClick: handleDetail.bind(null, record, 1),
ifShow: (_action) => {
return record.completionResult == '1';
},
},
]"
/>
</template>
</template>
</BasicTable>
<safety-education-drawer @register="registerDrawer" @success="handleSuccess"></safety-education-drawer>
</div>
</template>
<script lang="ts" setup>
import {useDrawer} from "@/components/Drawer";
import { safetyEducationColumns, searchFormSchema } from './data';
import { BasicTable, useTable, TableAction } from '@/components/Table';
import { getListByPage } from '@/api/project/safetyEducation';
import { safetyEducationGetListByPage} from '@/api/project/safetyEducation';
import { inject } from 'vue';
import { router } from '@/router';
import { Tag } from 'ant-design-vue';
import SafetyEducationDrawer from "@/views/project/tabs/drawer/safetyEducationDrawer.vue";
let detailId = inject('detailId');
console.log('detailId', detailId);
const [registerDrawer, { openDrawer }] = useDrawer();
const [registerTable, { reload }] = useTable({
api: getListByPage,
api: safetyEducationGetListByPage,
columns: safetyEducationColumns,
formConfig: {
labelWidth: 120,
......@@ -54,13 +57,11 @@
fixed: undefined,
},
});
function handleDetail(record: Recordable, disabled: number) {
router.push({
path: '/safetyEducation/edit',
query: {
id: record.id,
disabled: String(disabled),
},
async function handleDetail(record: Recordable, disabled: boolean) {
openDrawer(true, {
record,
isUpdate: true,
disabled,
});
}
</script>
<!--结算管理-->
<template>
<div>
<BasicTable @register="registerTable">
<template #bodyCell="{ column, record, index }">
<template v-if="column.key === 'serialNumber'">
......@@ -13,18 +14,19 @@
:actions="[
{
label: '查看详情',
onClick: handleDetail.bind(null, record, 1),
ifShow: (_action) => {
return record.completionResult == '1';
},
onClick: handleDetail.bind(null, record, true),
},
]"
/>
</template>
</template>
</BasicTable>
<settlement-drawer @register="registerDrawer" @success="handleSuccess"></settlement-drawer>
</div>
</template>
<script lang="ts" setup>
import {useDrawer} from "@/components/Drawer";
import SettlementDrawer from "@/views/project/tabs/drawer/settlementDrawer.vue";
import { settlementManagementColumns, searchFormSchema } from './data';
import { BasicTable, useTable, TableAction } from '@/components/Table';
import { getSettlementManageList } from '@/api/project/settlementManage';
......@@ -33,6 +35,7 @@
import { Tag } from 'ant-design-vue';
let detailId = inject('detailId');
console.log('detailId', detailId);
const [registerDrawer, { openDrawer }] = useDrawer();
const [registerTable, { reload }] = useTable({
api: getSettlementManageList,
columns: settlementManagementColumns,
......@@ -55,13 +58,11 @@
fixed: undefined,
},
});
function handleDetail(record: Recordable, disabled: number) {
router.push({
path: '/settlementManagement/edit',
query: {
id: record.id,
disabled: String(disabled),
},
async function handleDetail(record: Recordable, disabled: boolean) {
openDrawer(true, {
record,
isUpdate: true,
disabled,
});
}
</script>
......@@ -61,7 +61,7 @@ const { push } = useRouter();
import {useRouter} from "vue-router";
import {onMounted}from "vue"
const [register, { openModal: openModal,closeModal:closeModal }] = useModal();
import {getSettlementManageList, auditItem,deleteLis,getDepartmentList,isSettlement} from '@/api/project/settlementManage';
import {getListByPage, auditItem,deleteLis,getDepartmentList,isSettlement} from '@/api/project/settlementManage';
import { columns, searchFormSchema } from './data';
import { useDrawer } from '@/components/Drawer';
const { createMessage } = useMessage();
......@@ -70,7 +70,7 @@ import {useMessage} from "@/hooks/web/useMessage";
defineOptions({ name: 'SettlementManagement' });
const [registerDrawer, { openDrawer }] = useDrawer();
const [registerTable, { reload }] = useTable({
api: getSettlementManageList,
api: getListByPage,
columns,
formConfig: {
labelWidth: 120,
......
......@@ -12,7 +12,7 @@
type="text"
preIcon="ant-design:delete-outlined"
danger
@click="deleteItem(index)"
@click="deleteItem(index,item)"
>
</a-button>
</template>
......@@ -46,7 +46,6 @@
addItems,
getItem,
updateItem,
deleteOne,
auditItem,
} from '@/api/project/settlementManage';
import { EditModel } from '@/api/project/model/settlementManageModel';
......@@ -62,6 +61,8 @@
const disabled = ref(false);
//审核状态
const statusResult = ref(null);
//删除的id集合
const deleteId = ref([]);
//页面传递过来了的id
const routeId = ref(null);
onMounted(async () => {
......@@ -179,16 +180,10 @@
});
});
}
function deleteItem(index: any) {
tabsFormSchema.splice(index, 1);
if (formData.value && formData.value.management && formData.value.management[index]) {
console.log(formData.value.management[index].id);
deleteOne(formData.value.management[index].id);
} else {
console.log('Invalid index or data not found');
}
// await deleteItem(formData.value.management[index].id)
function deleteItem(index: any,item:object) {
deleteId.value.push(formData.value.management[index].id)
formData.value.management.splice(index, 1);
tabsFormSchema.splice(index, 1);
}
async function handleAdd() {
openDrawer(true, {
......@@ -204,16 +199,21 @@
let item = tabsFormSchema[i];
const { validate, getFieldsValue } = item.Form[1];
const data = await validate();
let res = getFieldsValue();
formData.value.management[i] = deepMerge(formData.value.management[i], res);
}
let res;
if (isUpdate.value) {
console.log(formData.value, '数据查看');
console.log(formData.value.management, '数据查看');
}
if (routeId.value) {
res = await updateItem(unref(formData));
console.log(unref(formData), '数据查看')
console.log(deleteId.value);
const requestDate={
ids:deleteId.value,
management:unref(formData).management
}
res = await updateItem(requestDate);
} else {
res = await addItems(unref(formData));
}
......
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