Commit 76481314 authored by 高滢's avatar 高滢

feat(投资完成): 选择周期

parent 80e6a00b
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
tableList.value = list; tableList.value = list;
console.log(list, '数据查看list'); console.log(list, '数据查看list');
}); });
const [registerTable, { expandAll, getSelectRows }] = useTable({ const [registerTable, { expandAll, getSelectRows, clearSelectedRowKeys }] = useTable({
api: loadData, api: loadData,
title: '树形表格', title: '树形表格',
isTreeTable: true, isTreeTable: true,
...@@ -115,6 +115,7 @@ ...@@ -115,6 +115,7 @@
function handleSubmit() { function handleSubmit() {
getSelectRowList(); getSelectRowList();
clearSelectedRowKeys();
closeModal(); closeModal();
} }
</script> </script>
...@@ -42,13 +42,6 @@ ...@@ -42,13 +42,6 @@
rowSelection: { rowSelection: {
type: 'checkbox', type: 'checkbox',
}, },
// actionColumn: {
// width: 80,
// title: '操作',
// dataIndex: 'action',
// // slots: { customRender: 'action' },
// fixed: undefined,
// },
}); });
const { createMessage } = useMessage(); const { createMessage } = useMessage();
function getSelectRowList() { function getSelectRowList() {
......
...@@ -165,7 +165,7 @@ import {onMounted, ref, unref} from 'vue'; ...@@ -165,7 +165,7 @@ import {onMounted, ref, unref} from 'vue';
}), }),
}, },
{ {
title: '项目类型', title: '资金来源',
dataIndex: 'projectType', dataIndex: 'projectType',
fixed: 'left', fixed: 'left',
width: 180, width: 180,
......
...@@ -525,7 +525,6 @@ export function formSchema(year, planType): FormSchema[] { ...@@ -525,7 +525,6 @@ export function formSchema(year, planType): FormSchema[] {
{ label: '结转', value: '结转' }, { label: '结转', value: '结转' },
{ label: '缓建', value: '缓建' }, { label: '缓建', value: '缓建' },
], ],
disabled: true,
style: { border: 'none' }, style: { border: 'none' },
}, },
colProps: { span: 7, offset: 1 }, colProps: { span: 7, offset: 1 },
...@@ -535,10 +534,9 @@ export function formSchema(year, planType): FormSchema[] { ...@@ -535,10 +534,9 @@ export function formSchema(year, planType): FormSchema[] {
label: '总投资', label: '总投资',
required: planType != '承建', required: planType != '承建',
show: planType != '承建', show: planType != '承建',
component: 'Input', component: 'InputNumber',
componentProps: { componentProps: {
readonly: true, addonAfter: '万元',
disabled: true,
}, },
colProps: { span: 7, offset: 1 }, colProps: { span: 7, offset: 1 },
}, },
...@@ -547,23 +545,25 @@ export function formSchema(year, planType): FormSchema[] { ...@@ -547,23 +545,25 @@ export function formSchema(year, planType): FormSchema[] {
label: '合同总额', label: '合同总额',
show: planType === '承建', show: planType === '承建',
required: planType === '承建', required: planType === '承建',
component: 'Input', component: 'InputNumber',
componentProps: { componentProps: {
readonly: true, addonAfter: '万元',
disabled: true,
}, },
colProps: { span: 7, offset: 1 }, colProps: { span: 7, offset: 1 },
}, },
{ {
field: 'time', field: 'time',
component: 'RangePicker',
label: '开竣工时间', label: '开竣工时间',
required: true, required: true,
component: 'Input', icon: 'healthicons:i-schedule-school-date-time-outline',
colProps: { span: 7, offset: 1 },
componentProps: { componentProps: {
readonly: true, placeholder: ['开始日期', '结束日期'],
disabled: true, style: { width: '100%' },
valueFormat: 'YYYY-MM',
format: 'YYYY-MM',
}, },
colProps: { span: 7, offset: 1 },
}, },
{ {
field: 'completionSchedule', field: 'completionSchedule',
...@@ -572,18 +572,12 @@ export function formSchema(year, planType): FormSchema[] { ...@@ -572,18 +572,12 @@ export function formSchema(year, planType): FormSchema[] {
component: 'Select', component: 'Select',
componentProps: { componentProps: {
options: [ options: [
{ { label: '未施工', value: '未施工' },
label: 'A(已经立项实施的跨年工程)', { label: '施工前期', value: '施工前期' },
value: 'A(已经立项实施的跨年工程)', { label: '施工中期', value: '施工中期' },
}, { label: '施工后期', value: '施工后期' },
{ { label: '完工', value: '完工' },
label: 'B(该年度必须建设的项目)', { label: '竣工', value: '竣工' },
value: 'B(该年度必须建设的项目)',
},
{
label: 'C(可缓建项目)',
value: 'C(可缓建项目)',
},
], ],
}, },
colProps: { span: 7, offset: 1 }, colProps: { span: 7, offset: 1 },
...@@ -596,7 +590,6 @@ export function formSchema(year, planType): FormSchema[] { ...@@ -596,7 +590,6 @@ export function formSchema(year, planType): FormSchema[] {
component: 'InputNumber', component: 'InputNumber',
componentProps: { componentProps: {
addonAfter: '万元', addonAfter: '万元',
disabled: true,
}, },
colProps: { span: 7, offset: 1 }, colProps: { span: 7, offset: 1 },
}, },
...@@ -608,7 +601,6 @@ export function formSchema(year, planType): FormSchema[] { ...@@ -608,7 +601,6 @@ export function formSchema(year, planType): FormSchema[] {
component: 'InputNumber', component: 'InputNumber',
componentProps: { componentProps: {
addonAfter: '万元', addonAfter: '万元',
disabled: true,
}, },
colProps: { span: 7, offset: 1 }, colProps: { span: 7, offset: 1 },
}, },
...@@ -641,10 +633,9 @@ export function formSchema(year, planType): FormSchema[] { ...@@ -641,10 +633,9 @@ export function formSchema(year, planType): FormSchema[] {
field: 'planFunds', field: 'planFunds',
label: year + '年计划资金', label: year + '年计划资金',
required: true, required: true,
component: 'Input', component: 'InputNumber',
componentProps: { componentProps: {
readonly: true, addonAfter: '万元',
disabled: true,
}, },
colProps: { span: 7, offset: 1 }, colProps: { span: 7, offset: 1 },
}, },
...@@ -662,10 +653,6 @@ export function formSchema(year, planType): FormSchema[] { ...@@ -662,10 +653,6 @@ export function formSchema(year, planType): FormSchema[] {
field: 'competentDepartment', field: 'competentDepartment',
label: '项目主管部门', label: '项目主管部门',
component: 'Input', component: 'Input',
componentProps: {
readonly: true,
disabled: true,
},
colProps: { span: 7, offset: 1 }, colProps: { span: 7, offset: 1 },
}, },
{ {
...@@ -673,10 +660,6 @@ export function formSchema(year, planType): FormSchema[] { ...@@ -673,10 +660,6 @@ export function formSchema(year, planType): FormSchema[] {
label: '合同方式', label: '合同方式',
component: 'Input', component: 'Input',
show: planType === '承建', show: planType === '承建',
componentProps: {
readonly: true,
disabled: true,
},
colProps: { span: 7, offset: 1 }, colProps: { span: 7, offset: 1 },
}, },
{ {
......
...@@ -145,6 +145,7 @@ ...@@ -145,6 +145,7 @@
</template> </template>
</template> </template>
</BasicTable> </BasicTable>
<yearModal @register="registerYearModal" @close="handleNewYearModal" />
<performanceModel @register="register" @close="handleNew" /> <performanceModel @register="register" @close="handleNew" />
<CycleModel @register="registerCycleModel" :user-data="mothCycle" @get-cycle="getSetCycle" /> <CycleModel @register="registerCycleModel" :user-data="mothCycle" @get-cycle="getSetCycle" />
<FillDetailsModel @register="registerFillDetail" /> <FillDetailsModel @register="registerFillDetail" />
...@@ -173,11 +174,13 @@ ...@@ -173,11 +174,13 @@
import { useMessage } from '@/hooks/web/useMessage'; import { useMessage } from '@/hooks/web/useMessage';
import { useUserStore } from '@/store/modules/user'; import { useUserStore } from '@/store/modules/user';
import CycleModel from '@/views/performance/cycleModel/cycleModel.vue'; import CycleModel from '@/views/performance/cycleModel/cycleModel.vue';
import yearModal from '@/components/yearModal.vue';
import FillDetailsModel from '@/views/performance/fillDetailsModel/fillDetailsModel.vue'; import FillDetailsModel from '@/views/performance/fillDetailsModel/fillDetailsModel.vue';
const { createMessage } = useMessage(); const { createMessage } = useMessage();
const { push } = useRouter(); const { push } = useRouter();
const [register, { openModal: openModal, closeModal: closeModel }] = useModal(); const [register, { openModal: openModal, closeModal: closeModel }] = useModal();
const [registerYearModal, { openModal: openYearModal, closeModal: closeYearModal }] = useModal()
const [registerCycleModel, { openModal: openCycleModel }] = useModal(); const [registerCycleModel, { openModal: openCycleModel }] = useModal();
const [registerFillDetail, { openModal: openFillDetailModel }] = useModal(); const [registerFillDetail, { openModal: openFillDetailModel }] = useModal();
defineOptions({ name: 'Performance' }); defineOptions({ name: 'Performance' });
...@@ -246,9 +249,9 @@ ...@@ -246,9 +249,9 @@
} }
function handleCreate() { function handleCreate() {
openModal(true, { openYearModal(true, {
data: ['year'], data: ['year'],
planType:planType.value, // planType:planType.value,
}); });
} }
function handleNew(e) { function handleNew(e) {
...@@ -260,6 +263,16 @@ ...@@ -260,6 +263,16 @@
query: e, query: e,
}); });
} }
function handleNewYearModal(e){
const data = {
filingCycle: e.year,
planType: planType.value,
}
push({
path: '/engineeringProject/performanceEdit',
query:data,
});
}
async function examine(record: Recordable) { async function examine(record: Recordable) {
const id = record.id; const id = record.id;
const res = await auditItem({ id }); const res = await auditItem({ id });
......
...@@ -58,16 +58,22 @@ ...@@ -58,16 +58,22 @@
</CollapseContainer> </CollapseContainer>
<!--新增按钮--> <!--新增按钮-->
<a-button
v-if="!disabled"
type="dashed"
@click="addProject"
preIcon="ei:plus"
style="margin-right: 10px"
>
导入项目
</a-button>
<a-button v-if="!disabled" type="dashed" @click="add" preIcon="ei:plus"> <a-button v-if="!disabled" type="dashed" @click="add" preIcon="ei:plus">
从计划中添加 导入投资计划
</a-button> </a-button>
<!--新增按钮那个触发的弹窗--> <!--新增按钮那个触发的弹窗-->
<addPlanModel v-if="!disabled" @register="register" @close="handleNewData" /> <addPlanModel v-if="!disabled" @register="register" @close="handleNewData" />
<Operations @register="registerDrawer" /> <Operations @register="registerDrawer" />
<!-- <a-button type="dashed" @click="add" preIcon="ei:plus"> 从项目库导入 </a-button> <engineeringprojectModel @register="registerProjectModel" @close="handleNewData" />
<a-button type="dashed" @click="handleAdd" class="ml-2" preIcon="ei:plus"> 新建项目 </a-button> -->
<!-- <projectDrawer v-if="!disabled" @register="registerDrawer" @success="handleSuccess" />
<projectlibraryModel v-if="!disabled" @register="register" @close="handleNewData" /> -->
</PageWrapper> </PageWrapper>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
...@@ -80,7 +86,7 @@ ...@@ -80,7 +86,7 @@
import { unref, onMounted, ref, reactive, nextTick, provide } from 'vue'; import { unref, onMounted, ref, reactive, nextTick, provide } from 'vue';
import { PageWrapper } from '@/components/Page'; import { PageWrapper } from '@/components/Page';
import { BasicForm, useForm, FormProps, UseFormReturnType } from '@/components/Form'; import { BasicForm, useForm, FormProps, UseFormReturnType } from '@/components/Form';
import { formSchema, formSchema1, formSchema2 } from './data'; import { formSchema } from './data';
import { deepMerge } from '@/utils'; import { deepMerge } from '@/utils';
import { useMessage } from '@/hooks/web/useMessage'; import { useMessage } from '@/hooks/web/useMessage';
import { editModel } from '@/api/project/model/performance'; import { editModel } from '@/api/project/model/performance';
...@@ -89,13 +95,14 @@ ...@@ -89,13 +95,14 @@
import { addItem, updateItem, getItem, GetEngineProjectList } from '@/api/project/performance'; import { addItem, updateItem, getItem, GetEngineProjectList } from '@/api/project/performance';
import { useDrawer } from '@/components/Drawer'; import { useDrawer } from '@/components/Drawer';
import CollapseContainer from '@/components/Container/src/collapse/CollapseContainer.vue'; import CollapseContainer from '@/components/Container/src/collapse/CollapseContainer.vue';
import engineeringprojectModel from '../engineeringProject/engineeringProjectModel/engineeringprojectModel.vue';
//历史记录是否可查 //历史记录是否可查
const historyData = ref(true); const historyData = ref(true);
//页面传递过来了的id //页面传递过来了的id
const routeId = ref(null); const routeId = ref(null);
const [register, { openModal: openModal }] = useModal(); const [register, { openModal: openModal }] = useModal();
const [registerProjectModel, { openModal: openProjectModel }] = useModal();
const [registerDrawer, { openDrawer }] = useDrawer(); const [registerDrawer, { openDrawer }] = useDrawer();
const loadingRef = ref(false); const loadingRef = ref(false);
const { createMessage } = useMessage(); const { createMessage } = useMessage();
...@@ -119,20 +126,19 @@ ...@@ -119,20 +126,19 @@
historyData.value = false; historyData.value = false;
formData.value.planCompletion = []; formData.value.planCompletion = [];
isUpdate.value = false; isUpdate.value = false;
getTitle.value = '创建完成情况'; getTitle.value = '创建投资计划完成情况';
// let ids = JSON.parse(route.query.ids); //改成选择周期之后注释
let ids = route.query.ids; // let ids = route.query.ids;
let result = await GetEngineProjectList({ // let result = await GetEngineProjectList({
ids, // ids,
}); // });
console.log('后端的计划所包含的项目', result); // console.log('后端的计划所包含的项目', result);
formData.value.ids = ids; // formData.value.ids = ids;
formData.value.investmentIds = ids.join(','); // formData.value.investmentIds = ids.join(',');
result.map((res) => { // result.map((res) => {
let item = res; // let item = res;
item.time = item.beginTime + '/' + item.endTime; // handleNew(item);
handleNew(item); // });
});
} else { } else {
isUpdate.value = true; isUpdate.value = true;
disabled.value = route.query.disabled == '0' ? false : true; disabled.value = route.query.disabled == '0' ? false : true;
...@@ -142,11 +148,11 @@ ...@@ -142,11 +148,11 @@
getTitle.value = '编辑完成情况'; getTitle.value = '编辑完成情况';
} }
let res = await getItem({ id }); let res = await getItem({ id });
formData.value.id = id;
formData.value.planCompletion = [];
console.log('后端返回的详情', res); console.log('后端返回的详情', res);
formData.value.id = id;
for (let i = 0; i < res.length; i++) { for (let i = 0; i < res.length; i++) {
const source = res[i]; const source = res[i];
source.time = [source.beginTime, source.endTime];
const item = { const item = {
name: '项目:' + source.projectName, name: '项目:' + source.projectName,
proId: source.proId, proId: source.proId,
...@@ -160,7 +166,6 @@ ...@@ -160,7 +166,6 @@
), ),
}; };
const { setFieldsValue, clearValidate } = item.Form[1]; const { setFieldsValue, clearValidate } = item.Form[1];
source.time = source.beginTime + '/' + source.endTime;
tabsFormSchema.push(item); tabsFormSchema.push(item);
nextTick(() => { nextTick(() => {
setFieldsValue({ setFieldsValue({
...@@ -199,8 +204,8 @@ ...@@ -199,8 +204,8 @@
const item = { const item = {
name: '项目:' + info.projectName, name: '项目:' + info.projectName,
forceRender: true, forceRender: true,
proId: info.proId, proId: info.proId?info.proId:info.id,
investmentId: info.investmentId, investmentId: info.investmentId ? info.investmentId : null,
show: true, show: true,
Form: useForm( Form: useForm(
Object.assign( Object.assign(
...@@ -222,7 +227,9 @@ ...@@ -222,7 +227,9 @@
data: route.query.ids, data: route.query.ids,
}); });
} }
function addProject() {
openProjectModel();
}
/*右上角的删除按钮*/ /*右上角的删除按钮*/
async function deleteItem(index: any) { async function deleteItem(index: any) {
tabsFormSchema[index].show = false; tabsFormSchema[index].show = false;
...@@ -232,7 +239,6 @@ ...@@ -232,7 +239,6 @@
function handleNewData(data: any) { function handleNewData(data: any) {
data.map((res) => { data.map((res) => {
let item = res; let item = res;
item.time = item.beginTime + '/' + item.endTime;
handleNew(item); handleNew(item);
}); });
} }
...@@ -271,7 +277,7 @@ ...@@ -271,7 +277,7 @@
{ field: 'projectOverview', required: true }, { field: 'projectOverview', required: true },
{ field: 'constructionMode', required: true }, { field: 'constructionMode', required: true },
{ field: 'attribute', required: true }, { field: 'attribute', required: true },
{ field: 'totalInvestment', required: planType.value != '承建'}, { field: 'totalInvestment', required: planType.value != '承建' },
{ field: 'contractAmount', required: planType.value === '承建' }, { field: 'contractAmount', required: planType.value === '承建' },
{ field: 'time', required: true }, { field: 'time', required: true },
{ field: 'completionSchedule', required: true }, { field: 'completionSchedule', required: true },
...@@ -299,10 +305,14 @@ ...@@ -299,10 +305,14 @@
let res = getFieldsValue(); let res = getFieldsValue();
let obj = { let obj = {
proId: item.proId, proId: item.proId,
investmentId: item.investmentId, investmentId: item.investmentId ? item.investmentId : null,
}; };
obj = deepMerge(obj, res); obj = deepMerge(obj, res);
formData.value.planCompletion.push(obj); formData.value.planCompletion.push(obj);
if (res.time) {
formData.value.planCompletion[engineerConListIndex].beginTime = res.time[0];
formData.value.planCompletion[engineerConListIndex].endTime = res.time[1];
}
engineerConListIndex = engineerConListIndex + 1; engineerConListIndex = engineerConListIndex + 1;
} }
} }
......
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