明树Git Lab

Commit af5f598d authored by zhanghan's avatar zhanghan

项目模块完成

parent 727ed250
Pipeline #108889 passed with stage
in 21 seconds
......@@ -400,6 +400,15 @@
</template>
</div>
</div>
<!-- 预览模式底部信息区域 -->
<el-collapse v-model="activeCollapse" v-if="isPreview" style="margin-top: 20px;">
<el-collapse-item title="相关信息" name="相关信息">
<div style="padding: 20px; color: #909399; text-align: center;">
<p>此为预览模式,如需编辑请返回列表页点击"编辑"按钮</p>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div>
</template>
......
......@@ -104,7 +104,7 @@ let total = ref(0);
let currentPage = ref(1);
let pageSize = ref(10);
// 获取列表数据
const getProjectData = (params) => {
const getProjectData = (params = {}) => {
loading.value = true;
proxy.$post({
url: "/api/project/getJsqtzhsList",
......
......@@ -9,7 +9,19 @@
<el-collapse v-model="activeCollapse">
<el-collapse-item title="项目基本信息" name="项目基本信息">
<el-row :gutter="24">
<el-col :span="12">
<el-col :span="6">
<el-form-item label="年度" required>
<el-date-picker
v-model="formData.nd"
type="year"
placeholder="请选择年度"
format="YYYY"
value-format="YYYY"
style="width: 100%"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="项目名称" required>
<el-select
v-model="formData.projectId"
......@@ -26,7 +38,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="所属行业">
<CommonSelector
v-model="formData.sshy"
......@@ -34,7 +46,7 @@
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="项目公司名称">
<el-input
v-model="formData.xmgsmc"
......@@ -43,7 +55,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="填报单位名称">
<el-input
v-model="formData.sbdw"
......@@ -52,7 +64,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="所属二级企业">
<el-input
v-model="formData.ssejqy"
......@@ -60,7 +72,7 @@
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="项目阶段">
<CommonSelector
v-model="formData.xmjd"
......@@ -69,7 +81,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="项目类别">
<CommonSelector
v-model="formData.xmlx"
......@@ -77,7 +89,7 @@
></CommonSelector>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="投资模式分类">
<CommonSelector
v-model="formData.tzms"
......@@ -85,7 +97,7 @@
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="投资回收方式">
<CommonSelector
v-model="formData.tzhsfs"
......@@ -94,7 +106,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="下年项目阶段">
<CommonSelector
v-model="formData.xnxmjd"
......@@ -102,7 +114,7 @@
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="财务报表类型">
<CommonSelector
v-model="formData.cwbblx"
......@@ -125,7 +137,8 @@
><el-row gutter="20">
<el-col :span="12">
<el-form-item label="项目投资总额(决策值)(万元)">
<el-input
<el-input-number
precision="2"
v-model="formData.tzzejc"
placeholder="请输入项目投资总额(决策值)(万元)"
/>
......@@ -133,7 +146,8 @@
</el-col>
<el-col :span="12">
<el-form-item label="我方资本金出资额-决策值(万元)">
<el-input
<el-input-number
precision="2"
v-model="formData.wfzbjczejc"
placeholder="请输入我方资本金出资额-决策值(万元)"
/>
......@@ -141,23 +155,26 @@
</el-col>
<el-col :span="12">
<el-form-item label="投资总额-实际值(万元)">
<el-input
<el-input-number
precision="2"
v-model="formData.tzzesj"
placeholder="请输入投资总额-实际值(万元)"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="我方资本家出资额--实际值(万元)">
<el-input
<el-form-item label="我方资本金出资额--实际值(万元)">
<el-input-number
precision="2"
v-model="formData.wfzbjczesj"
placeholder="请输入我方资本出资额--实际值(万元)"
placeholder="请输入我方资本出资额--实际值(万元)"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="投资总额-计划值(万元)">
<el-input
<el-input-number
precision="2"
v-model="formData.tzzejhz"
placeholder="请输入投资总额-计划值(万元)"
/>
......@@ -167,47 +184,47 @@
</el-collapse-item>
<el-collapse-item
title="2025年投资回收累计完成情况-年度更新"
name="2025年投资回收累计完成情况-年度更新"
:title="dynamicTitles.yearlyUpdateTitle"
:name="dynamicTitles.yearlyUpdateTitle"
>
<el-row gutter="20">
<!-- 第一行:决策目标值相关数字项 -->
<el-col :span="12">
<el-form-item label="本年完成 投资回收决策目标值(万元)">
<el-input
<el-input-number
precision="2"
v-model="formData.bnwc"
type="number"
precision="8"
placeholder="请输入本年完成 投资回收决策目标值(万元)"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="截止本年累计(决策目标值)">
<el-input
<el-input-number
precision="2"
v-model="formData.jzbnlj"
type="number"
precision="8"
placeholder="请输入截止本年累计(决策目标值)"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="下一年完成数(万元)">
<el-input
<el-input-number
precision="2"
v-model="formData.xynwcs"
type="number"
precision="8"
placeholder="请输入下一年完成数(万元)"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="本年计划(万元)">
<el-input
<el-input-number
precision="2"
v-model="formData.bnjh"
type="number"
precision="8"
placeholder="请输入本年计划(万元)"
/>
</el-form-item>
......@@ -216,40 +233,40 @@
<!-- 第二行:实际值相关数字项 -->
<el-col :span="12">
<el-form-item label="本年完成--投资回收实际值(万元)">
<el-input
<el-input-number
precision="2"
v-model="formData.bnwcsjz"
type="number"
precision="8"
placeholder="请输入本年完成--投资回收实际值(万元)"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="截止本年累计--投资回收实际值">
<el-input
<el-input-number
precision="2"
v-model="formData.jzbnljsjz"
type="number"
precision="8"
placeholder="请输入截止本年累计--投资回收实际值"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="累计欠收(万元)">
<el-input
<el-input-number
precision="2"
v-model="formData.ljqs"
type="number"
precision="8"
placeholder="请输入累计欠收(万元)"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="完成率(%)">
<el-input
<el-input-number
precision="2"
v-model="formData.wcl"
type="number"
precision="2"
placeholder="请输入完成率(%)"
/>
</el-form-item>
......@@ -328,22 +345,45 @@
:is-preview="isPreview"
/>
</el-collapse-item>
<el-collapse-item
title="投资回收(决策)"
name="投资回收(决策)"
title="投资回收(计划)"
name="投资回收(计划)"
>
<FinancialTable
v-model="formData.tzhsjc"
v-model="formData.tzhsjh"
:showSerialColumn="false"
:is-preview="isPreview"
:showNameColumn="false"
:showTotalColumn="false"
/>
</el-collapse-item>
<el-collapse-item
title="投资回收(计划)"
name="投资回收(计划)"
:title="dynamicTitles.yearlyCompletionTitle"
:name="dynamicTitles.yearlyCompletionTitle"
>
<FinancialTable
v-model="formData.tzhsjh"
<InvestmentRecoveryTable
v-model="formData.tzhswcqkndgx"
:is-preview="isPreview"
table-type="year"
:table-title="dynamicTitles.yearlyCompletionTitle"
/>
</el-collapse-item>
<el-collapse-item
:title="dynamicTitles.monthlyCompletionTitle"
:name="dynamicTitles.monthlyCompletionTitle"
>
<InvestmentRecoveryTable
v-model="formData.tzhswcqkydgx"
:is-preview="isPreview"
table-type="month"
:table-title="dynamicTitles.monthlyCompletionTitle"
:plan-data="formData.tzhsjh"
:decision-data="formData.tzhsjc"
:last-year-plan-data="formData.lastyeartzhs"
:current-year="currentYear"
/>
</el-collapse-item>
</el-collapse>
......@@ -360,16 +400,38 @@
</template>
</div>
</div>
<!-- 预览模式底部信息区域 -->
<el-collapse
v-model="activeCollapse"
v-if="isPreview"
style="margin-top: 20px"
>
<el-collapse-item title="相关信息" name="相关信息">
<div style="padding: 20px; color: #909399; text-align: center">
<p>此为预览模式,如需编辑请返回列表页点击"编辑"按钮</p>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div>
</template>
<script setup>
import { reactive, ref, onMounted, getCurrentInstance, h, computed } from "vue";
import {
reactive,
watch,
ref,
onMounted,
getCurrentInstance,
h,
computed,
} from "vue";
import { useRouter, useRoute } from "vue-router";
import { ElMessage } from "element-plus";
import DynamicTable from "@/components/FormDynamicTable/index.vue";
import FinancialTable from "@/components/FinancialTable.vue";
import InvestmentRecoveryTable from "@/components/InvestmentRecoveryTable.vue";
import routerBack from "@/components/common/routerBack.vue";
const transferColumns = ref([
{
......@@ -414,103 +476,96 @@ const router = useRouter();
const route = useRoute();
const { proxy } = getCurrentInstance();
// 折叠面板默认展开项
const activeCollapse = ref([
"项目基本信息",
"出资情况",
"合同约定权益获取",
"分红情况",
"投资额完成情况(万元)",
"投资回收(决策)",
"投资回收(计划)",
"2025年投资回收累计完成情况-年度更新",
"净现金流",
"截止12月末累计应收",
"截止12月末累计实收",
"资金流出",
"分红情况",
]);
// 表单数据
let initTableData = () => {
Object.assign(formData, {
jzymljys: {
// 指标列表
// 使用 Object.assign 直接替换整个对象,而不是合并
formData.jzymljys = {
indicatorList: [
{ name: "政府付费", isTextRow: false, noTotal: false },
{ name: "政府补贴", isTextRow: false, noTotal: false },
{ name: "使用者付费", isTextRow: false, noTotal: false },
{ name: "使用者欠付", isTextRow: false, noTotal: false },
{ name: "补贴收入", isTextRow: false, noTotal: false },
{
name: "销售回款(含房地产、水泥、新能源售电、其他生产制造收入等)",
isTextRow: false,
noTotal: false,
},
{ name: "资产盘活", isTextRow: false, noTotal: false },
{ name: "股权分红", isTextRow: false, noTotal: false },
{ name: "其他", isTextRow: false, noTotal: false },
// 关键:标记为文本行+不需要合计
{ name: "目标(决策)与计划差异说明", isTextRow: true, noTotal: true },
{ name: "一月", isTextRow: false, noTotal: false },
{ name: "二月", isTextRow: false, noTotal: false },
{ name: "三月", isTextRow: false, noTotal: false },
{ name: "四月", isTextRow: false, noTotal: false },
{ name: "五月", isTextRow: false, noTotal: false },
{ name: "六月", isTextRow: false, noTotal: false },
{ name: "七月", isTextRow: false, noTotal: false },
{ name: "八月", isTextRow: false, noTotal: false },
{ name: "九月", isTextRow: false, noTotal: false },
{ name: "十月", isTextRow: false, noTotal: false },
{ name: "十一月", isTextRow: false, noTotal: false },
{ name: "十二月", isTextRow: false, noTotal: false },
],
// 时间列表(月度)
dynamicTimeList: [
"一月",
"二月",
"三月",
"四月",
"五月",
"六月",
"七月",
"八月",
"九月",
"十月",
"十一月",
"十二月",
{ label: "政府付费", prop: "a1" },
{ label: "政府补贴", prop: "a2" },
{ label: "使用者付费", prop: "a3" },
{ label: "使用者欠付", prop: "a4" },
{ label: "补贴收入", prop: "a5" },
{
label: "销售回款(含房地产、水泥、新能源售电、其他生产制造收入等)",
prop: "a6",
},
{ label: "资产盘活", prop: "a7" },
{ label: "股权分红", prop: "a8" },
{ label: "其他", prop: "a9" },
{
label: "目标(决策)与计划差异说明",
prop: "a10",
isTextRow: true,
},
],
// 表格数据(子组件会自动初始化,父组件可传初始值)
// 表格数据(子组件自动初始化,无需手动赋值)
tableData: [],
},
jzymljsh: {
// 指标列表
};
formData.jzymljsh = {
indicatorList: [
{ name: "政府付费", isTextRow: false, noTotal: false },
{ name: "政府补贴", isTextRow: false, noTotal: false },
{ name: "使用者付费", isTextRow: false, noTotal: false },
{ name: "使用者欠付", isTextRow: false, noTotal: false },
{ name: "补贴收入", isTextRow: false, noTotal: false },
{ name: "一月", isTextRow: false, noTotal: false },
{ name: "二月", isTextRow: false, noTotal: false },
{ name: "三月", isTextRow: false, noTotal: false },
{ name: "四月", isTextRow: false, noTotal: false },
{ name: "五月", isTextRow: false, noTotal: false },
{ name: "六月", isTextRow: false, noTotal: false },
{ name: "七月", isTextRow: false, noTotal: false },
{ name: "八月", isTextRow: false, noTotal: false },
{ name: "九月", isTextRow: false, noTotal: false },
{ name: "十月", isTextRow: false, noTotal: false },
{ name: "十一月", isTextRow: false, noTotal: false },
{
name: "销售回款(含房地产、水泥、新能源售电、其他生产制造收入等)",
name: "十二月",
isTextRow: false,
noTotal: false,
},
{ name: "资产盘活", isTextRow: false, noTotal: false },
{ name: "股权分红", isTextRow: false, noTotal: false },
{ name: "其他", isTextRow: false, noTotal: false },
// 关键:标记为文本行+不需要合计
{ name: "目标(决策)与计划差异说明", isTextRow: true, noTotal: true },
],
// 时间列表(月度)
dynamicTimeList: [
"一月",
"二月",
"三月",
"四月",
"五月",
"六月",
"七月",
"八月",
"九月",
"十月",
"十一月",
"十二月",
{ label: "政府付费", prop: "a1" },
{ label: "政府补贴", prop: "a2" },
{ label: "使用者付费", prop: "a3" },
{ label: "使用者欠付", prop: "a4" },
{ label: "补贴收入", prop: "a5" },
{
label: "销售回款(含房地产、水泥、新能源售电、其他生产制造收入等)",
prop: "a6",
},
{ label: "资产盘活", prop: "a7" },
{ label: "股权分红", prop: "a8" },
{ label: "其他", prop: "a9" },
{
label: "目标(决策)与计划差异说明",
prop: "a10",
isTextRow: true,
},
],
// 表格数据(子组件会自动初始化,父组件可传初始值)
// 表格数据(子组件自动初始化,无需手动赋值)
tableData: [],
},
tzhsjc: {
};
formData.tzhsjc = {
// 指标列表
indicatorList: [
{ name: "建设期政府付费", isTextRow: false, noTotal: false },
......@@ -539,47 +594,321 @@ let initTableData = () => {
dynamicTimeList: ["一季度", "二季度", "三季度", "四季度"],
// 表格数据(子组件会自动初始化,父组件可传初始值)
tableData: [],
},
tzhsjh: {
};
formData.tzhsjh = {
// 指标列表
indicatorList: [
{ name: "建设期政府付费", isTextRow: false, noTotal: false },
{ name: "运营期政府付费", isTextRow: false, noTotal: false },
{ name: "投资价差收取", isTextRow: false, noTotal: false },
{ name: "参股项目投资回收", isTextRow: false, noTotal: false },
{ name: "代建工程款回收", isTextRow: false, noTotal: false },
{ name: "政府付费", isTextRow: false, noTotal: false },
{ name: "政府补贴", isTextRow: false, noTotal: false },
{ name: "使用者付费", isTextRow: false, noTotal: false },
{ name: "使用者欠付", isTextRow: false, noTotal: false },
{ name: "补贴收入", isTextRow: false, noTotal: false },
{
name: "销售回款(含房地产、水泥、新能源售电、其他生产制造收入等)",
isTextRow: false,
noTotal: false,
name: " ",
},
{ name: "资产盘活", isTextRow: false, noTotal: false },
{ name: "股权分红", isTextRow: false, noTotal: false },
{ name: "其他", isTextRow: false, noTotal: false },
// 关键:标记为文本行+不需要合计
{ name: "目标(决策)与计划差异说明", isTextRow: true, noTotal: true },
],
// 时间列表(月度)
dynamicTimeList: ["一季度", "二季度", "三季度", "四季度"],
// 时间列表(月度)- 使用动态年度
get dynamicTimeList() {
const year = formData.nd;
const yearStr = `${year}年`;
const q1Str = `${year}年(一季度)`;
const q2Str = `${year}年(二季度)`;
const q3Str = `${year}年(三季度)`;
const q4Str = `${year}年(四季度)`;
return [
// 第一组:投资回收(决策) -> 动态年度
{
label: "合计",
prop: "a1",
headerGroup: "投资回收(决策)",
subGroup: yearStr,
},
{
label: "政府付费",
prop: "a2",
headerGroup: "投资回收(决策)",
subGroup: yearStr,
},
{
label: "政府补助",
prop: "a3",
headerGroup: "投资回收(决策)",
subGroup: yearStr,
},
{
label: "使用者付费",
prop: "a4",
headerGroup: "投资回收(决策)",
subGroup: yearStr,
},
{
label: "使用者欠付",
prop: "a5",
headerGroup: "投资回收(决策)",
subGroup: yearStr,
},
{
label: "补贴收入",
prop: "a6",
headerGroup: "投资回收(决策)",
subGroup: yearStr,
},
{
label: "销售回款(含房地产、水泥、新能源售电、其他生产制造收入等)",
prop: "a7",
headerGroup: "投资回收(决策)",
subGroup: yearStr,
},
{
label: "资产盘活",
prop: "a8",
headerGroup: "投资回收(决策)",
subGroup: yearStr,
},
{
label: "股权分红",
prop: "a9",
headerGroup: "投资回收(决策)",
subGroup: yearStr,
},
{
label: "其他",
prop: "a10",
headerGroup: "投资回收(决策)",
subGroup: yearStr,
},
{
label: "目标(决策)与计划差异说明",
isTextRow: true,
prop: "a11",
headerGroup: "投资回收(决策)",
subGroup: yearStr,
},
// 第二组:动态年度
{ label: "合计", prop: "a12", headerGroup: yearStr },
{ label: "政府付费", prop: "a13", headerGroup: yearStr },
{ label: "政府补助", prop: "a14", headerGroup: yearStr },
{ label: "使用者付费", prop: "a15", headerGroup: yearStr },
{ label: "使用者欠付", prop: "a16", headerGroup: yearStr },
{ label: "补贴收入", prop: "a17", headerGroup: yearStr },
{
label: "销售回款(含房地产、水泥、新能源售电、其他生产制造收入等)",
prop: "a18",
headerGroup: yearStr,
},
{ label: "资产盘活", prop: "a19", headerGroup: yearStr },
{ label: "股权分红", prop: "a20", headerGroup: yearStr },
{ label: "其他", prop: "a21", headerGroup: yearStr },
{
label: "目标(决策)与计划差异说明",
isTextRow: true,
prop: "a22",
headerGroup: yearStr,
},
// 第三组:动态年度(一季度)
{ label: "合计", prop: "a23", headerGroup: q1Str },
{ label: "政府付费", prop: "a24", headerGroup: q1Str },
{ label: "政府补助", prop: "a25", headerGroup: q1Str },
{ label: "使用者付费", prop: "a26", headerGroup: q1Str },
{ label: "使用者欠付", prop: "a27", headerGroup: q1Str },
{ label: "补贴收入", prop: "a28", headerGroup: q1Str },
{
label: "销售回款(含房地产、水泥、新能源售电、其他生产制造收入等)",
prop: "a29",
headerGroup: q1Str,
},
{ label: "资产盘活", prop: "a30", headerGroup: q1Str },
{ label: "股权分红", prop: "a31", headerGroup: q1Str },
{ label: "其他", prop: "a32", headerGroup: q1Str },
{
label: "目标(决策)与计划差异说明",
isTextRow: true,
prop: "a33",
headerGroup: q1Str,
},
// 第四组:投资回收(计划) -> 动态年度
{
label: "合计",
prop: "a34",
headerGroup: "投资回收(计划)",
subGroup: yearStr,
},
{
label: "政府付费",
prop: "a35",
headerGroup: "投资回收(计划)",
subGroup: yearStr,
},
{
label: "政府补助",
prop: "a36",
headerGroup: "投资回收(计划)",
subGroup: yearStr,
},
{
label: "使用者付费",
prop: "a37",
headerGroup: "投资回收(计划)",
subGroup: yearStr,
},
{
label: "使用者欠付",
prop: "a38",
headerGroup: "投资回收(计划)",
subGroup: yearStr,
},
{
label: "补贴收入",
prop: "a39",
headerGroup: "投资回收(计划)",
subGroup: yearStr,
},
{
label: "销售回款(含房地产、水泥、新能源售电、其他生产制造收入等)",
prop: "a40",
headerGroup: "投资回收(计划)",
subGroup: yearStr,
},
{
label: "资产盘活",
prop: "a41",
headerGroup: "投资回收(计划)",
subGroup: yearStr,
},
{
label: "股权分红",
prop: "a42",
headerGroup: "投资回收(计划)",
subGroup: yearStr,
},
{
label: "其他",
prop: "a43",
headerGroup: "投资回收(计划)",
subGroup: yearStr,
},
{
label: "目标(决策)与计划差异说明",
isTextRow: true,
prop: "a44",
headerGroup: "投资回收(计划)",
subGroup: yearStr,
},
// 第五组:动态年度(三季度)
{ label: "合计", prop: "a45", headerGroup: q3Str },
{ label: "政府付费", prop: "a46", headerGroup: q3Str },
{ label: "政府补助", prop: "a47", headerGroup: q3Str },
{ label: "使用者付费", prop: "a48", headerGroup: q3Str },
{ label: "使用者欠付", prop: "a49", headerGroup: q3Str },
{ label: "补贴收入", prop: "a50", headerGroup: q3Str },
{
label: "销售回款(含房地产、水泥、新能源售电、其他生产制造收入等)",
prop: "a51",
headerGroup: q3Str,
},
{ label: "资产盘活", prop: "a52", headerGroup: q3Str },
{ label: "股权分红", prop: "a53", headerGroup: q3Str },
{ label: "其他", prop: "a54", headerGroup: q3Str },
{
label: "目标(决策)与计划差异说明",
isTextRow: true,
prop: "a55",
headerGroup: q3Str,
},
// 第六组:动态年度(四季度)
{ label: "合计", prop: "a56", headerGroup: q4Str },
{ label: "政府付费", prop: "a57", headerGroup: q4Str },
{ label: "政府补助", prop: "a58", headerGroup: q4Str },
{ label: "使用者付费", prop: "a59", headerGroup: q4Str },
{ label: "使用者欠付", prop: "a60", headerGroup: q4Str },
{ label: "补贴收入", prop: "a61", headerGroup: q4Str },
{
label: "销售回款(含房地产、水泥、新能源售电、其他生产制造收入等)",
prop: "a62",
headerGroup: q4Str,
},
{ label: "资产盘活", prop: "a63", headerGroup: q4Str },
{ label: "股权分红", prop: "a64", headerGroup: q4Str },
{ label: "其他", prop: "a65", headerGroup: q4Str },
{
label: "目标(决策)与计划差异说明",
isTextRow: true,
prop: "a66",
headerGroup: q4Str,
},
];
},
// 表格数据(子组件会自动初始化,父组件可传初始值)
tableData: [],
},
});
};
formData.tzhswcqkndgx = {
tableData: [],
};
formData.tzhswcqkydgx = {
tableData: [],
};
};
const formData = reactive({
nd: new Date().getFullYear().toString(), // 年度,默认当前年份
jzymljys: {},
jzymljsh: {},
tzhsjc: {},
tzhsjh: {},
tzhswcqkndgx: {},
tzhswcqkydgx: {},
lastyeartzhs: null, // 去年投资回收计划数据
projectGdxxs: [],
});
// 计算属性:动态生成年份相关的标题
const currentYear = computed(
() => formData.nd || new Date().getFullYear().toString(),
);
const lastYear = computed(() => {
const year = parseInt(currentYear.value);
return (year - 1).toString();
});
// 动态标题
const dynamicTitles = computed(() => ({
// 投资回收累计完成情况-年度更新
yearlyUpdateTitle: `${currentYear.value}年投资回收累计完成情况-年度更新`,
// 投资回收完成情况-年度更新
yearlyCompletionTitle: `${currentYear.value}年投资回收完成情况(年度更新)`,
// 投资回收完成情况-月度更新
monthlyCompletionTitle: `${currentYear.value}年投资回收完成情况(月度更新)`,
}));
// 折叠面板默认展开项(动态计算)
const getActiveCollapseItems = () => [
"项目基本信息",
"出资情况",
"合同约定权益获取",
"分红情况",
"投资额完成情况(万元)",
"投资回收(决策)",
"投资回收(计划)",
dynamicTitles.value.yearlyUpdateTitle,
"净现金流",
"截止12月末累计应收",
"截止12月末累计实收",
"资金流出",
"分红情况",
dynamicTitles.value.yearlyCompletionTitle,
dynamicTitles.value.monthlyCompletionTitle,
];
const activeCollapse = ref(getActiveCollapseItems());
// 监听年度变化,更新 activeCollapse
watch(
() => formData.nd,
() => {
activeCollapse.value = getActiveCollapseItems();
},
{ immediate: false },
);
let options = ref();
// ========== 选择项目同步名称(通用) ==========
......@@ -625,6 +954,7 @@ const getProjectData = (params = {}) => {
page: 1,
pagesize: 1000,
attributes: [],
menuType: "xmjc",
...params,
},
......@@ -644,11 +974,12 @@ const getRcCgqyglDetail = () => {
data: { id: rcCgqyglId.value },
callback: (data) => {
loading.value = false;
console.log(data.jzymljys.tableData[0], "1111");
console.log(data.jzymljys, "jzymljys详情数据");
console.log(data.jzymljsh, "jzymljsh详情数据");
console.log(data.lastyeartzhs, "lastyeartzhs");
Object.assign(formData, {
...data,
});
// 合并其他非表格字段
Object.assign(formData, data);
},
});
};
......@@ -675,6 +1006,7 @@ const saveClick = () => {
const submitData = {
...formData,
projectId: formData.projectId + "",
id: route.query.id || null,
};
proxy.$post({
......
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