明树Git Lab

Commit 09e7c682 authored by zhanghan's avatar zhanghan

责任书书写完成

parent c76a6f19
Pipeline #108765 passed with stage
in 19 seconds
......@@ -286,6 +286,9 @@
font-size: 12px;
color: #969696;
}
.el-form-item {
margin-bottom: 4px;
}
.el-form-item__label {
min-width: 100px;
font-weight: 400;
......
......@@ -309,6 +309,9 @@
}
// ==========================设置定制化样式 start ==========================
.el-form-item {
margin-bottom: 4px;
}
.el-form-item__label {
min-width: 100px;
font-weight: 400;
......
This diff is collapsed.
......@@ -7,20 +7,14 @@
<div class="tab-content">
<el-form :model="formData" label-width="150" :disabled="isPreview">
<el-collapse v-model="activeCollapse">
<!-- 选择类型 -->
<el-collapse-item title="选择类型" name="选择类型">
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="请选择登记类型" required>
<el-radio-group v-model="formData.djlx">
<el-radio value="1">中止</el-radio>
<el-radio value="2">重启</el-radio>
<el-radio value="3">终止</el-radio>
<el-radio value="4">退出</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<!-- 移除原有的选择类型折叠面板 -->
<el-collapse-item title="登记类型" name="登记类型">
<el-form-item label="登记类型">
<el-tag v-if="formData.djlx == 1">中止</el-tag>
<el-tag v-if="formData.djlx == 2">重启</el-tag>
<el-tag v-if="formData.djlx == 3">终止</el-tag>
<el-tag v-if="formData.djlx == 4">退出</el-tag>
</el-form-item>
</el-collapse-item>
<!-- 基本信息 -->
......@@ -742,11 +736,47 @@
</div>
</div>
</div>
<!-- 新增:选择类型弹窗 -->
<el-dialog
v-model="showTypeDialog"
title="选择登记类型"
width="500px"
:close-on-click-modal="false"
:close-on-press-escape="false"
:show-close="false"
>
<el-form :model="formData" label-width="140">
<el-form-item
style="margin-bottom: 24px"
label="请选择登记类型"
required
>
<el-radio-group v-model="formData.djlx">
<el-radio value="1">中止</el-radio>
<el-radio value="2">重启</el-radio>
<el-radio value="3">终止</el-radio>
<el-radio value="4">退出</el-radio>
</el-radio-group>
</el-form-item>
</el-form>
<template #footer>
<el-button @click="showTypeDialog = false">取 消</el-button>
<el-button type="primary" @click="confirmType">确 定</el-button>
</template>
</el-dialog>
</div>
</template>
<script setup>
import { reactive, ref, onMounted, getCurrentInstance, watch } from "vue";
import {
reactive,
ref,
onMounted,
getCurrentInstance,
watch,
nextTick,
} from "vue";
import { useRouter, useRoute } from "vue-router";
import { ElMessage } from "element-plus";
import DynamicTable from "@/components/FormDynamicTable/index.vue";
......@@ -824,7 +854,6 @@ const { proxy } = getCurrentInstance();
// ========== 基础配置 ==========
const activeCollapse = ref([
"选择类型",
"基本信息",
"项目中止内容",
"项目重启内容",
......@@ -832,12 +861,15 @@ const activeCollapse = ref([
"项目退出内容",
"项目投资效益",
"资金构成",
"登记类型",
"财务评价指标",
]);
const loading = ref(false);
const isPreview = ref(!!route.query.isPreview);
const projectList = ref([]);
const rcCgqyglId = ref(route.query.id || "");
// 新增:控制类型选择弹窗显示
const showTypeDialog = ref(false);
// ========== 表单数据(完全适配原有后端字段) ==========
const formData = reactive({
......@@ -855,31 +887,6 @@ const formData = reactive({
njfglmc2: "",
},
],
projectId: "",
projectName: "",
djlx: "",
projectCode: "",
sfybb: "",
sbdw: "",
ssejqy: "",
tzsxyjfl: "",
tzsxejfl: "",
tzbk: "",
jnw: "",
cwbblx: "",
xmgsqc: "",
xmjsqy: 0,
yynxn: 0,
xmkgsjyj: "",
xmjgsjyj: "",
tcsqrq: "",
tcrq: "",
yjwcsj: "",
tblxr: "",
tblxrdh: "",
dqjzc: 0.0,
jsnrjgm: "",
cgRatio: "",
// 资金构成(使用原有zjgc字段,默认初始化表格结构)
zjgc: [
......@@ -924,44 +931,23 @@ const formData = reactive({
{ index: "", label: "批复总投资", unit: "万元", value: "", editable: true },
],
// 财务评价指标(使用原有字段)
jcxmtznbsylsq: "",
xmzbjnbsyl: "",
xmtzhsq: "",
sjycxmqtznbsylsq: "",
ycxmzbjnbsylsh: "",
// 项目中止
zzyy: "",
zzxxyy: "",
qtsm: "",
xmzzbg: [],
qtxgzccl: [],
bpbbwjlj: [],
// 项目重启
jhcqsj: "",
cqyy: "",
xmcqbg: [],
jcwj: [],
// 项目终止
zhongzyy: "",
zhongzyyxxfx: "",
xmssxz: "",
knfsdfljfhjjss: "",
xmzhongzbg: [],
// 项目退出
zmjz: 0.0,
tcphsr: 0.0,
ysdtcphzj: 0.0,
czdwt: "",
xxbgzcs: "",
tcyy: "",
tcyyxxfx: "",
});
// ========== 新增:弹窗确认选择类型 ==========
const confirmType = () => {
if (!formData.djlx) {
return ElMessage.warning("请选择登记类型");
}
showTypeDialog.value = false;
};
// ========== 新增:资金构成变更处理方法 ==========
const handleZjgcChange = (row) => {
// 1. 批复总投资变更 → 同步到投资总额(万元)-审批时
......@@ -1021,37 +1007,37 @@ const changeProject = (val) => {
loading.value = false;
if (!data) return;
// 回填基础信息
formData.projectName = data.projectName || "";
formData.sbdw = data.sbdw || "";
formData.xmgsqc = data.xmgsqc || "";
formData.xmkgsjyj = data.xmkgsjyj || "";
formData.xmjgsjyj = data.xmjgsjyj || "";
formData.yynxn = data.yynxn || 0;
formData.xmjsqy = data.xmjsqy || 0;
// // 回填基础信息
// formData.projectName = data.projectName || "";
// formData.sbdw = data.sbdw || "";
// formData.xmgsqc = data.xmgsqc || "";
// formData.xmkgsjyj = data.xmkgsjyj || "";
// formData.xmjgsjyj = data.xmjgsjyj || "";
// formData.yynxn = data.yynxn || 0;
// formData.xmjsqy = data.xmjsqy || 0;
// 回填项目投资效益表格数据
formData.projectGdxxs[0].njfcgblqk_nt =
data.projectXmtzzes?.at(1)?.children?.at(0)?.rmbjj || "";
formData.projectGdxxs[0].njfcgbl =
data.projectXmtzzes?.at(2)?.rmbjj || "";
formData.projectGdxxs[0].jjcgbl = data.projectCwpjzbs?.at(0)?.num || "";
formData.projectGdxxs[0].jjcgbl2 = data.projectCwpjzbs?.at(1)?.num || "";
// // 回填项目投资效益表格数据
// formData.projectGdxxs[0].njfcgblqk_nt =
// data.projectXmtzzes?.at(1)?.children?.at(0)?.rmbjj || "";
// formData.projectGdxxs[0].njfcgbl =
// data.projectXmtzzes?.at(2)?.rmbjj || "";
// formData.projectGdxxs[0].jjcgbl = data.projectCwpjzbs?.at(0)?.num || "";
// formData.projectGdxxs[0].jjcgbl2 = data.projectCwpjzbs?.at(1)?.num || "";
// 回填资金构成(兼容后端返回的zjgc数据)
if (data.zjgc && Array.isArray(data.zjgc)) {
formData.zjgc = data.zjgc.map((item) => ({
...item,
editable: item.editable !== false,
}));
}
// // 回填资金构成(兼容后端返回的zjgc数据)
// if (data.zjgc && Array.isArray(data.zjgc)) {
// formData.zjgc = data.zjgc.map((item) => ({
// ...item,
// editable: item.editable !== false,
// }));
// }
// 回填财务评价指标
formData.jcxmtznbsylsq = data.jcxmtznbsylsq || "";
formData.xmzbjnbsyl = data.xmzbjnbsyl || "";
formData.xmtzhsq = data.xmtzhsq || "";
formData.sjycxmqtznbsylsq = data.sjycxmqtznbsylsq || "";
formData.ycxmzbjnbsylsh = data.ycxmzbjnbsylsh || "";
// // 回填财务评价指标
// formData.jcxmtznbsylsq = data.jcxmtznbsylsq || "";
// formData.xmzbjnbsyl = data.xmzbjnbsyl || "";
// formData.xmtzhsq = data.xmtzhsq || "";
// formData.sjycxmqtznbsylsq = data.sjycxmqtznbsylsq || "";
// formData.ycxmzbjnbsylsh = data.ycxmzbjnbsylsh || "";
},
error: () => {
loading.value = false;
......@@ -1144,6 +1130,13 @@ const getJsqtzjcDetail = () => {
},
];
}
// 编辑状态下如果已有类型值,不弹出弹窗;否则弹出
if (!isPreview.value) {
nextTick(() => {
showTypeDialog.value = true;
});
}
},
error: () => {
loading.value = false;
......@@ -1154,6 +1147,13 @@ const getJsqtzjcDetail = () => {
// ========== 保存表单 ==========
const saveClick = () => {
// 新增:保存前校验类型是否选择
if (!formData.djlx) {
ElMessage.warning("请先选择登记类型");
showTypeDialog.value = true;
return;
}
if (!formData.projectId) return ElMessage.warning("请选择项目信息");
loading.value = true;
const url = rcCgqyglId.value
......@@ -1186,9 +1186,23 @@ const backClick = () => router.back(-1);
onMounted(() => {
getProjectData();
if (rcCgqyglId.value) {
// 编辑/预览:拉取接口数据
getJsqtzjcDetail();
// 非预览状态下自动弹出类型选择弹窗
if (!isPreview.value) {
if (rcCgqyglId.value) {
// 编辑状态:先获取详情,再判断是否弹出
getJsqtzjcDetail();
} else {
// 新增状态:直接弹出
nextTick(() => {
showTypeDialog.value = true;
});
}
} else {
// 预览状态:获取详情但不弹出弹窗
if (rcCgqyglId.value) {
getJsqtzjcDetail();
}
}
});
</script>
......
......@@ -86,14 +86,14 @@ let tableColumns = ref([
showOverflowTooltip: true,
},
{
prop: "xmkgrq",
label: "项目开工日期",
prop: "xmtcsj",
label: "项目投产时间",
showOverflowTooltip: true,
width: 170,
},
{
prop: "xmssqx",
label: "项目实施期限(年)",
prop: "jhjgsj",
label: "计划竣工时间",
showOverflowTooltip: true,
width: 120,
},
......
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