Commit f5b59f75 authored by jiaxu.yan's avatar jiaxu.yan

feat : 完成计划修改

parent 51d8aaef
...@@ -18,6 +18,7 @@ enum Api { ...@@ -18,6 +18,7 @@ enum Api {
audit = '/pro/completion/audit', audit = '/pro/completion/audit',
Itemdelete = '/pro/completion/delProject', Itemdelete = '/pro/completion/delProject',
GetPerformanceDetail = '/pro/reportCenter/details/completionSituation', GetPerformanceDetail = '/pro/reportCenter/details/completionSituation',
getProject = '/pro/completion/getProject',
} }
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 });
...@@ -69,3 +70,6 @@ export const Itemdelete = (params?: any) => ...@@ -69,3 +70,6 @@ export const Itemdelete = (params?: any) =>
// 查看投资计划完成情况详情 // 查看投资计划完成情况详情
export const getPerformanceDetail = (params?: any) => export const getPerformanceDetail = (params?: any) =>
defHttp.post<ProjectModel>({ url: Api.GetPerformanceDetail, data: params }); defHttp.post<ProjectModel>({ url: Api.GetPerformanceDetail, data: params });
export const getProject = (params?: any) =>
defHttp.post<ProjectModel>({ url: Api.getProject, params });
...@@ -689,3 +689,71 @@ export const formSchema2: FormSchema[] = [ ...@@ -689,3 +689,71 @@ export const formSchema2: FormSchema[] = [
colProps: { span: 7, offset: 1 }, colProps: { span: 7, offset: 1 },
}, },
]; ];
export const modelColumns2: BasicColumn[] = [
{
title: '序号',
dataIndex: 'serialNumber', // 这个dataIndex仅作为标识,不对应实际数据字段
width: 50, // 可以自定义宽度
},
{
title: '项目名称',
dataIndex: 'projectName',
width: 200,
},
{
dataIndex: 'constructionSite',
title: '立项主体',
width: 180,
},
{
dataIndex: 'fundingSource',
title: '资金来源',
width: 180,
},
{
dataIndex: 'constructionScale',
title: '建设规模',
width: 180,
},
{
dataIndex: 'projectOverview',
title: '项目概况',
width: 180,
},
{
dataIndex: 'constructionMode',
title: '建设模式',
width: 180,
},
{
dataIndex: 'implementingEntity',
title: '实施主体',
width: 180,
},
{
dataIndex: 'filingCycle',
title: '填报年度',
width: 180,
},
{
dataIndex: 'totalInvestment',
title: '总投资',
width: 180,
},
{
dataIndex: 'competentDepartment',
title: '项目主管部门',
width: 180,
},
{
dataIndex: 'attribute',
title: '建设性质',
width: 180,
},
{
dataIndex: 'time',
title: '开竣工时间',
width: 180,
},
];
...@@ -11,8 +11,8 @@ ...@@ -11,8 +11,8 @@
<a-button type="primary" v-if="!disabled" @click="handleSubmit"> 提交 </a-button> <a-button type="primary" v-if="!disabled" @click="handleSubmit"> 提交 </a-button>
<a-button type="default" @click="router.back()"> 返回 </a-button> <a-button type="default" @click="router.back()"> 返回 </a-button>
</template> </template>
<template v-for="(item, index) in tabsFormSchema">
<PageCard v-for="(item, index) in tabsFormSchema" :key="index" :title="item.name"> <PageCard v-if="item.show" :key="index" :title="item.name">
<template #right> <template #right>
<a-button <a-button
v-if="!disabled" v-if="!disabled"
...@@ -25,7 +25,11 @@ ...@@ -25,7 +25,11 @@
</template> </template>
<BasicForm :loading="loading" @register="item.Form[0]" /> <BasicForm :loading="loading" @register="item.Form[0]" />
</PageCard> </PageCard>
</template>
<a-button v-if="!disabled" type="dashed" @click="add" preIcon="ei:plus">
从计划中添加
</a-button>
<addPlanModel v-if="!disabled" @register="register" @close="handleNewData" />
<!-- <a-button type="dashed" @click="add" preIcon="ei:plus"> 从项目库导入 </a-button> <!-- <a-button type="dashed" @click="add" preIcon="ei:plus"> 从项目库导入 </a-button>
<a-button type="dashed" @click="handleAdd" class="ml-2" preIcon="ei:plus"> 新建项目 </a-button> --> <a-button type="dashed" @click="handleAdd" class="ml-2" preIcon="ei:plus"> 新建项目 </a-button> -->
<!-- <projectDrawer v-if="!disabled" @register="registerDrawer" @success="handleSuccess" /> <!-- <projectDrawer v-if="!disabled" @register="registerDrawer" @success="handleSuccess" />
...@@ -33,7 +37,10 @@ ...@@ -33,7 +37,10 @@
</PageWrapper> </PageWrapper>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { unref, computed, onMounted, ref, reactive, nextTick } from 'vue'; import addPlanModel from './addPlanModel.vue';
import { useModal } from '@/components/Modal';
const [register, { openModal: openModal }] = useModal();
import { unref, computed, onMounted, ref, reactive, nextTick, provide } from 'vue';
import { PageWrapper } from '@/components/Page'; import { PageWrapper } from '@/components/Page';
import PageCard from '@/components/Page/src/PageCard.vue'; import PageCard from '@/components/Page/src/PageCard.vue';
import { BasicForm, useForm, FormProps, UseFormReturnType } from '@/components/Form'; import { BasicForm, useForm, FormProps, UseFormReturnType } from '@/components/Form';
...@@ -57,10 +64,11 @@ ...@@ -57,10 +64,11 @@
const formData = ref<editModel>({}); const formData = ref<editModel>({});
const disabled = ref(false); const disabled = ref(false);
const getTitle = ref(''); const getTitle = ref('');
onMounted(async () => {
loadingRef.value = true;
const route = useRoute(); const route = useRoute();
const id = route.query.id; // 获取名为id的参数 const id = route.query.id; // 获取名为id的参数
provide('detailId', id);
onMounted(async () => {
loadingRef.value = true;
if (!id) { if (!id) {
formData.value.planCompletion = []; formData.value.planCompletion = [];
isUpdate.value = false; isUpdate.value = false;
...@@ -91,6 +99,7 @@ ...@@ -91,6 +99,7 @@
const item = { const item = {
name: '序号' + (i + 1), name: '序号' + (i + 1),
forceRender: true, forceRender: true,
show: true,
Form: useForm( Form: useForm(
Object.assign( Object.assign(
{ schemas: source.planType == '承建' ? formSchema1 : formSchema2, disabled }, { schemas: source.planType == '承建' ? formSchema1 : formSchema2, disabled },
...@@ -118,6 +127,7 @@ ...@@ -118,6 +127,7 @@
type TabsFormType = { type TabsFormType = {
name: string; name: string;
forceRender?: boolean; forceRender?: boolean;
show: boolean;
Form: UseFormReturnType; Form: UseFormReturnType;
}; };
const baseFormConfig: Partial<FormProps> = { const baseFormConfig: Partial<FormProps> = {
...@@ -136,6 +146,7 @@ ...@@ -136,6 +146,7 @@
const item = { const item = {
name: '序号' + (tabsFormSchema.length + 1), name: '序号' + (tabsFormSchema.length + 1),
forceRender: true, forceRender: true,
show: true,
Form: useForm( Form: useForm(
Object.assign( Object.assign(
{ schemas: info.planType == '承建' ? formSchema1 : formSchema2, disabled }, { schemas: info.planType == '承建' ? formSchema1 : formSchema2, disabled },
...@@ -154,29 +165,27 @@ ...@@ -154,29 +165,27 @@
clearValidate(); clearValidate();
}); });
} }
async function add() {
openModal();
}
async function deleteItem(index: any) { async function deleteItem(index: any) {
loadingRef.value = true; tabsFormSchema[index].show = false;
const id = formData.value.planCompletion[index].id;
if (id) {
await Itemdelete({
id,
});
formData.value.planCompletion.splice(index, 1);
tabsFormSchema.splice(index, 1);
loadingRef.value = false;
} else {
formData.value.planCompletion.splice(index, 1);
tabsFormSchema.splice(index, 1);
loadingRef.value = false;
}
} }
function handleNewData(data: any) {
data.map((res) => {
let item = res;
item.time = item.beginTime + '/' + item.endTime;
handleNew(item);
});
}
async function handleSubmit() { async function handleSubmit() {
loadingRef.value = true; loadingRef.value = true;
try { try {
for (let i = 0; i < tabsFormSchema.length; i++) { for (let i = 0; i < tabsFormSchema.length; i++) {
let item = tabsFormSchema[i]; let item = tabsFormSchema[i];
if (item.show) {
const { validate, getFieldsValue } = item.Form[1]; const { validate, getFieldsValue } = item.Form[1];
await validate(); await validate();
let res = getFieldsValue(); let res = getFieldsValue();
...@@ -189,6 +198,7 @@ ...@@ -189,6 +198,7 @@
); );
console.log(formData.value.planCompletion); console.log(formData.value.planCompletion);
} }
}
formData.value.proNumber = formData.value.planCompletion.Length; formData.value.proNumber = formData.value.planCompletion.Length;
let res = isUpdate.value ? await updateItem(unref(formData)) : await addItem(unref(formData)); let res = isUpdate.value ? await updateItem(unref(formData)) : await addItem(unref(formData));
loadingRef.value = true; loadingRef.value = true;
......
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
<!-- <button @click="getSelectRowList">获取数据</button>--> <!-- <button @click="getSelectRowList">获取数据</button>-->
</BasicModal> </BasicModal>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { getEngineeringList } from '@/api/project/performance'; import { getEngineeringList } from '@/api/project/performance';
import { BasicModal, useModalInner } from '@/components/Modal'; import { BasicModal, useModalInner } from '@/components/Modal';
...@@ -40,6 +41,7 @@ ...@@ -40,6 +41,7 @@
labelWidth: 120, labelWidth: 120,
schemas: searchModelFormSchema, schemas: searchModelFormSchema,
}, },
useSearchForm: true, useSearchForm: true,
showTableSetting: false, showTableSetting: false,
bordered: true, bordered: true,
......
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