回退校验,企业入驻更改,模型字体统一

main
严飞永 3 weeks ago
parent e6a0057055
commit 6a42497c7f

@ -69,8 +69,10 @@
</el-carousel-item>
</el-carousel>
</div>
<!-- 基本信息描述 -->
<div class="descriptionsdiv">
<el-descriptions class="margin-top" :column="3" border>
<!-- 项目名称 -->
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span> 项目名称
@ -78,6 +80,7 @@
{{ basicInfo.name }}
</el-descriptions-item>
<!-- 项目法人单位 -->
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span> 项目法人单位
@ -85,6 +88,7 @@
{{ basicInfo.xmfrdwxz }}
</el-descriptions-item>
<!-- 项目法人单位性质 -->
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span> 项目法人单位性质
@ -92,20 +96,19 @@
<dict-tag :options="dict.type.xmfrdwxz" :value="basicInfo.nature" />
</el-descriptions-item>
<!-- 施工单位 -->
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span> 施工单位
</template>
<template slot="label">施工单位</template>
{{ basicInfo.sgdw }}
</el-descriptions-item>
<!-- 设计单位 -->
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span> 设计单位
</template>
<template slot="label">设计单位</template>
{{ basicInfo.sjdw }}
</el-descriptions-item>
<!-- 总投资额万元 -->
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span> 总投资额万元
@ -113,6 +116,7 @@
{{ basicInfo.ztze }}
</el-descriptions-item>
<!-- 所属功能区 -->
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span> 所属功能区
@ -120,13 +124,15 @@
<dict-tag :options="dict.type.ssgnq" :value="basicInfo.ssgnq" />
</el-descriptions-item>
<!-- 建设起止时间 -->
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span> 建设起止时间
</template>
<template slot="label"
><span style="color: red">*</span>建设起止时间</template
>
{{ basicInfo.begainTime }} {{ basicInfo.endTime }}
</el-descriptions-item>
<!-- 现状分类 -->
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span> 现状分类
@ -134,20 +140,19 @@
<dict-tag :options="dict.type.xzfl" :value="basicInfo.xzfl" />
</el-descriptions-item>
<!-- 建设地点 -->
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span> 建设地点
</template>
<template slot="label">建设地点</template>
{{ basicInfo.jsdd }}
</el-descriptions-item>
<!-- 重点发展产业 -->
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span> 重点发展产业
</template>
<template slot="label">重点发展产业</template>
{{ basicInfo.prioritize }}
</el-descriptions-item>
<!-- 建设模式 -->
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span> 建设模式
@ -155,13 +160,13 @@
<dict-tag :options="dict.type.jsms" :value="basicInfo.jsms" />
</el-descriptions-item>
<!-- 项目标签 -->
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span> 项目标签
</template>
<template slot="label">项目标签</template>
{{ basicInfo.label }}
</el-descriptions-item>
<!-- 项目负责人 -->
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span> 项目负责人
@ -169,6 +174,7 @@
{{ basicInfo.projectLeader }}
</el-descriptions-item>
<!-- 联系方式 -->
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span> 联系方式
@ -176,27 +182,25 @@
{{ basicInfo.phone }}
</el-descriptions-item>
<!-- 施工许可证发放时间 -->
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span> 施工许可证发放时间
</template>
<template slot="label">施工许可证发放时间</template>
{{ basicInfo.issuingTime }}
</el-descriptions-item>
<!-- 竣工验收时间 -->
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span> 竣工验收时间
</template>
<template slot="label">竣工验收时间</template>
{{ basicInfo.acceptanceTime }}
</el-descriptions-item>
<!-- 建设进度 -->
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span> 建设进度
</template>
<template slot="label"> 建设进度 </template>
{{ basicInfo.jsjd }}
</el-descriptions-item>
<!-- 统一社会信用代码 -->
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span> 统一社会信用代码
@ -204,38 +208,33 @@
{{ basicInfo.tyshxydm }}
</el-descriptions-item>
<!-- 计划投资额(亿元) -->
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span> 计划投资额(亿元)
</template>
<template slot="label">计划投资额(亿元)</template>
{{ basicInfo.jhtze }}
</el-descriptions-item>
<!-- 所属产业目录 -->
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span> 所属产业目录
</template>
<template slot="label">所属产业目录</template>
<dict-tag :options="dict.type.shangloumulu" :value="basicInfo.ml" />
</el-descriptions-item>
<!-- 所属细分产业 -->
<el-descriptions-item :span="3">
<template slot="label">
<span style="color: red">*</span> 所属细分产业
</template>
<template slot="label"> 所属细分产业 </template>
<dict-tag :options="dict.type.bqlx" :value="basicInfo.xfcy" />
</el-descriptions-item>
<!-- 项目法人单位简介 -->
<el-descriptions-item :span="3">
<template slot="label">
<span style="color: red">*</span> 项目法人单位简介
</template>
<template slot="label">项目法人单位简介</template>
{{ basicInfo.unitIntroduction }}
</el-descriptions-item>
<!-- 项目简介 -->
<el-descriptions-item :span="3">
<template slot="label">
<span style="color: red">*</span> 项目简介
</template>
<template slot="label">项目简介</template>
{{ basicInfo.introduction }}
</el-descriptions-item>
</el-descriptions>
@ -415,11 +414,13 @@
</el-col>
<el-col :span="12">
<el-form-item label="施工许可证发放时间" prop="issuingTime">
<el-input
<el-date-picker
v-model="form.issuingTime"
maxlength="50"
placeholder="请输入施工许可证发放时间"
></el-input>
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择施工许可证发放时间"
style="width: 100%"
></el-date-picker>
</el-form-item>
</el-col>
</el-row>
@ -445,11 +446,13 @@
</el-col>
<el-col :span="12">
<el-form-item label="竣工验收时间" prop="acceptanceTime">
<el-input
<el-date-picker
v-model="form.acceptanceTime"
maxlength="50"
placeholder="请输入竣工验收时间"
></el-input>
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择竣工验收时间"
style="width: 100%"
></el-date-picker>
</el-form-item>
</el-col>
</el-row>
@ -674,12 +677,6 @@ export default {
trigger: "change",
},
],
sgdw: [
{ required: true, message: "施工单位不能为空", trigger: "blur" },
],
sjdw: [
{ required: true, message: "设计单位不能为空", trigger: "blur" },
],
ztze: [
{ required: true, message: "总投资额不能为空", trigger: "blur" },
{ type: "number", message: "总投资额必须是数字", trigger: "blur" },
@ -704,18 +701,9 @@ export default {
xzfl: [
{ required: true, message: "现状分类不能为空", trigger: "change" },
],
jsdd: [
{ required: true, message: "建设地点不能为空", trigger: "blur" },
],
prioritize: [
{ required: true, message: "重点发展产业不能为空", trigger: "blur" },
],
jsms: [
{ required: true, message: "建设模式不能为空", trigger: "change" },
],
label: [
{ required: true, message: "项目标签不能为空", trigger: "blur" },
],
projectLeader: [
{ required: true, message: "项目负责人不能为空", trigger: "blur" },
],
@ -727,55 +715,8 @@ export default {
trigger: "blur",
},
],
issuingTime: [
{
required: true,
message: "施工许可证发放时间不能为空",
trigger: "blur",
},
],
acceptanceTime: [
{ required: true, message: "竣工验收时间不能为空", trigger: "blur" },
],
jsjd: [
{ required: true, message: "建设进度不能为空", trigger: "blur" },
],
tyshxydm: [
{
required: true,
message: "统一社会信用代码不能为空",
trigger: "blur",
},
{
pattern: /^[a-zA-Z0-9]{18}$/,
message: "请输入正确格式的18位统一社会信用代码",
trigger: "blur",
},
],
jhtze: [
{
required: true,
message: "计划投资额(亿元)不能为空",
trigger: "blur",
},
],
ml: [
{
required: true,
message: "所属产业目录不能为空",
trigger: "change",
},
],
xfcy: [
{
required: true,
message: "所属细分产业不能为空",
trigger: "change",
},
],
unitIntroduction: [
{
required: true,
max: 1000,
message: "项目法人单位简介长度不能超过1000个字",
trigger: "blur",
@ -783,30 +724,17 @@ export default {
],
introduction: [
{
required: true,
max: 1000,
message: "项目简介长度不能超过1000个字",
trigger: "blur",
},
],
fj: [
{
required: true,
message: "请上传至少一张项目代表性照片",
trigger: "change",
},
tyshxydm: [
{ required: true, message: "请填写", trigger: "blur" },
{
validator: (rule, value, callback) => {
if (
!value ||
value.split(",").filter((url) => url.trim() !== "").length === 0
) {
callback(new Error("请上传至少一张项目代表性照片"));
} else {
callback();
}
},
trigger: "change",
pattern: /^[a-zA-Z0-9]{18}$/,
message: "请输入正确格式的18位统一社会信用代码",
trigger: "blur",
},
],
},

@ -18,8 +18,7 @@
style="
border: none;
background-color: rgba(43, 98, 241, 0.1);
color: #2b62f1;
"
color: #2b62f1;"
@click="addBuildingTag"
>
<img
@ -131,113 +130,70 @@
<el-descriptions class="margin-top" :column="4" border>
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span>是否为重要楼栋
</template>
<span style="color: red;">*</span>
是否为重要楼栋</template>
{{ getTextForBoolean(selectedBuilding.sfwzyld) }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span>层数
</template>
<span style="color: red;">*</span>层数</template>
{{ selectedBuilding.floor }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span>总建筑高度
</template>
<span style="color: red;">*</span>总建筑高度</template>
{{ selectedBuilding.totalBuildingHeight }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span>首层高度
</template>
<template slot="label"><span style="color: red;">*</span>首层高度平方米</template>
{{ selectedBuilding.scgd }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span>2至4层层高
</template>
<template slot="label">2至4层层高</template>
{{ selectedBuilding.twoAndFourCg }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span>4层以上层高()
</template>
<template slot="label">4层以上层高()</template>
{{ selectedBuilding.fourYscg }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span>首层地面荷载(/平方米)
</template>
<template slot="label"><span style="color: red;">*</span>首层地面荷载(/)</template>
{{ selectedBuilding.scdmhz }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span>二至三层楼面荷载(/平方米)
</template>
<template slot="label">二至三层楼面荷载(/平方米)</template>
{{ selectedBuilding.twoAndThreeLmhz }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span>标准层面积(千平方米)
</template>
<template slot="label"><span style="color: red;">*</span>标准层面积(千平方米)</template>
{{ selectedBuilding.bzcmj }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span>柱距
</template>
<template slot="label">柱距</template>
{{ selectedBuilding.zj }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span>是否有吊装口
</template>
<template slot="label">是否有吊装口</template>
{{ getTextForBoolean(selectedBuilding.sfydzk) }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span>是否有汽车盘道
</template>
<template slot="label">是否有汽车盘道</template>
{{ getTextForBoolean(selectedBuilding.sfyqcpd) }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span>四层及以上楼面荷载(/平方米)
</template>
<template slot="label">四层及以上楼面荷载(/平方米)</template>
{{ selectedBuilding.fourYslmhz }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span>地基基础等级
</template>
<template slot="label"> 地基基础等级</template>
{{ selectedBuilding.djjcdj }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span>吊车情况
</template>
<template slot="label"> 吊车情况</template>
{{ selectedBuilding.dcqk }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span>货梯情况
</template>
<template slot="label"> 货梯情况</template>
{{ selectedBuilding.htqk }}
</el-descriptions-item>
</el-descriptions>
@ -319,7 +275,7 @@
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="2至4层层高" prop="twoAndFourCg">
<el-form-item label="2至4层层高" porp="twoAndFourCg">
<el-input
v-model="buildingForm.twoAndFourCg"
placeholder="请输入2至4层层高"
@ -591,14 +547,6 @@ export default {
trigger: "blur",
},
],
fourYscg: [
{
required: true,
message: "请输入4层以上层高",
trigger: "blur",
},
],
zj: [{ required: true, message: "请输入柱距", trigger: "blur" }],
scdmhz: [
{
required: true,
@ -606,13 +554,6 @@ export default {
trigger: "blur",
},
],
twoAndThreeLmhz: [
{
required: true,
message: "请输入二至三层楼面荷载(吨/平方米)",
trigger: "blur",
},
],
bzcmj: [
{
required: true,
@ -620,28 +561,6 @@ export default {
trigger: "blur",
},
],
sfydzk: [
{ required: true, message: "请选择是否有吊装口", trigger: "change" },
],
sfyqcpd: [
{
required: true,
message: "请选择是否有汽车盘道",
trigger: "change",
},
],
fourYslmhz: [
{
required: true,
message: "请输入四层及以上楼面荷载(吨/平方米)",
trigger: "blur",
},
],
djjcdj: [
{ required: true, message: "请输入地基基础等级", trigger: "blur" },
],
dcqk: [{ required: true, message: "请输入吊车情况", trigger: "blur" }],
htqk: [{ required: true, message: "请输入货梯情况", trigger: "blur" }],
},
};
},

@ -71,58 +71,58 @@
{{ (pagination.currentPage - 1) * pagination.pageSize + scope.$index + 1 }}
</template>
</el-table-column>
<el-table-column prop="name" label="企业名称" show-overflow-tooltip>
<el-table-column prop="qymc" label="企业名称" show-overflow-tooltip>
<template slot-scope="scope">
<el-input v-if="scope.row.isEditing" v-model="scope.row.name"></el-input>
<span v-else style="color: #2B62F1;">{{ scope.row.name }}</span>
<el-input v-if="scope.row.isEditing" v-model="scope.row.qymc"></el-input>
<span v-else style="color: #2B62F1;">{{ scope.row.qymc }}</span>
</template>
</el-table-column>
<el-table-column prop="code" label="统一社会信用代码" width="200">
<el-table-column prop="tyshxydm" label="统一社会信用代码" width="200" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="sshy" label="所属行业">
<el-table-column prop="hymc" label="所属行业" show-overflow-tooltip>
<template slot-scope="scope">
<el-input v-if="scope.row.isEditing" v-model="scope.row.sshy"></el-input>
<span v-else>{{ scope.row.sshy }}</span>
<el-input v-if="scope.row.isEditing" v-model="scope.row.hymc"></el-input>
<span v-else>{{ scope.row.hymc }}</span>
</template>
</el-table-column>
<el-table-column prop="zjjg" label='租金价格'>
<el-table-column prop="zjjg" label='租金价格' show-overflow-tooltip>
<template slot-scope="scope">
<el-input v-if="scope.row.isEditing" v-model.number="scope.row.zjjg"></el-input>
<span v-else>{{ scope.row.zjjg }}</span>
</template>
</el-table-column>
<el-table-column prop="zcdz" label='注册地址' show-overflow-tooltip>
<el-table-column prop="qyzs" label='注册地址' show-overflow-tooltip>
<template slot-scope="scope">
<el-input v-if="scope.row.isEditing" v-model.number="scope.row.zcdz"></el-input>
<span v-else>{{ scope.row.zcdz }}</span>
<el-input v-if="scope.row.isEditing" v-model.number="scope.row.qyzs"></el-input>
<span v-else>{{ scope.row.qyzs }}</span>
</template>
</el-table-column>
<el-table-column prop="clrq" label='成立日期'>
<el-table-column prop="clrq" label='成立日期' show-overflow-tooltip>
<template slot-scope="scope">
<el-date-picker v-if="scope.row.isEditing" v-model="scope.row.clrq" type="datetime"
value-format="yyyy-MM-dd HH:mm:ss" style="width: 100%;"></el-date-picker>
<span v-else>{{ scope.row.clrq ? new Date(scope.row.clrq).toLocaleDateString('en-CA') : '' }}</span>
</template>
</el-table-column>
<el-table-column prop="zczb" label='注册资本'>
<el-table-column prop="zczj" label='注册资本' show-overflow-tooltip>
<template slot-scope="scope">
<el-input v-if="scope.row.isEditing" v-model.number="scope.row.zczb"></el-input>
<span v-else>{{ scope.row.zczb }}</span>
<el-input v-if="scope.row.isEditing" v-model.number="scope.row.zczj"></el-input>
<span v-else>{{ scope.row.zczj }}</span>
</template>
</el-table-column>
<el-table-column prop="fddbr" label='法定代表人'>
<el-table-column prop="fddbrxm" label='法定代表人' show-overflow-tooltip>
<template slot-scope="scope">
<el-input v-if="scope.row.isEditing" v-model.number="scope.row.fddbr"></el-input>
<span v-else>{{ scope.row.fddbr }}</span>
<el-input v-if="scope.row.isEditing" v-model.number="scope.row.fddbrxm"></el-input>
<span v-else>{{ scope.row.fddbrxm }}</span>
</template>
</el-table-column>
<el-table-column prop="qylx" label='企业类型'>
<el-table-column prop="qylxmc" label='企业类型' show-overflow-tooltip>
<template slot-scope="scope">
<el-input v-if="scope.row.isEditing" v-model.number="scope.row.qylx"></el-input>
<span v-else>{{ scope.row.qylx }}</span>
<el-input v-if="scope.row.isEditing" v-model.number="scope.row.qylxmc"></el-input>
<span v-else>{{ scope.row.qylxmc }}</span>
</template>
</el-table-column>
<el-table-column prop="jyfw" label='经营范围'>
<el-table-column prop="jyfw" label='经营范围' show-overflow-tooltip>
<template slot-scope="scope">
<el-input v-if="scope.row.isEditing" v-model.number="scope.row.jyfw"></el-input>
<span v-else>{{ scope.row.jyfw }}</span>

@ -37,8 +37,8 @@
:placeholder="item.zdname === '暂无指标' ? '暂无数据' : '请输入内容'">
</el-input>
</div>
<div v-else>
<span class="label-color">{{ item.zdname || '暂无指标' }}</span> {{ item.zdinfor ||
<div v-else class="label-color">
<span>{{ item.zdname || '暂无指标' }}</span> {{ item.zdinfor ||
'无' }}
</div>
</td>
@ -85,7 +85,6 @@ export default {
{ value: '有', label: '有' },
{ value: '无', label: '无' },
],
//
}
};
},
@ -226,6 +225,9 @@ export default {
.left-column {
border-right: 1px solid #E6EAF2;
background-color: #F4F7FE;
font-size: 0.88rem;
width: 12.5rem;
color: #909399;
}
.right-columns {
@ -233,6 +235,11 @@ export default {
}
.label-color {
color: #808080;
color:black ;
font-size: 0.88rem;
}
.label-color span {
color:#909399 ;
font-size: 0.88rem;
}
</style>

@ -3,68 +3,26 @@
<!-- 顶部信息 -->
<div class="containertop">
<div class="topleft">
<img src="@/assets/images/detailsicon/1.png" alt="" />
<img src="@/assets/images/detailsicon/1.png" alt="">
<span>规划信息</span>
</div>
<div
class="topright"
v-if="action === 'fill' || !action || action === 'okay'"
>
<el-button
v-if="!isEditing"
type="primary"
size="medium"
plain
style="
border: none;
background-color: rgba(43, 98, 241, 0.1);
color: #2b62f1;
"
@click="edit"
>
<img
src="@/assets/images/detailsicon/icon-bj@2x.png"
alt="编辑"
style="width: 0.6rem; height: 0.6rem; margin-right: 4px"
/>
<div class="topright" v-if="action === 'fill' || !action || action === 'okay'">
<el-button v-if="!isEditing" type="primary" size="medium" plain
style="border: none;background-color: rgba(43,98,241,0.1);color: #2B62F1;" @click="edit">
<img src="@/assets/images/detailsicon/icon-bj@2x.png" alt="编辑"
style="width: 0.6rem; height: 0.6rem; margin-right: 4px;">
编辑
</el-button>
<el-button
v-else
type="primary"
size="medium"
plain
style="
border: none;
background-color: rgba(43, 98, 241, 0.1);
color: #2b62f1;
"
@click="save"
>
<img
src="@/assets/images/detailsicon/icon-bj@2x.png"
alt="保存"
style="width: 0.6rem; height: 0.6rem; margin-right: 4px"
/>
<el-button v-else type="primary" size="medium" plain
style="border: none;background-color: rgba(43,98,241,0.1);color: #2B62F1;" @click="save">
<img src="@/assets/images/detailsicon/icon-bj@2x.png" alt="保存"
style="width: 0.6rem; height: 0.6rem; margin-right: 4px;">
保存
</el-button>
<el-button
type="primary"
size="medium"
plain
v-if="checkRole(['admin', 'common', 'gov'])"
style="
border: none;
background-color: rgba(43, 98, 241, 0.1);
color: #2b62f1;
"
@click="handleExport"
>
<img
src="@/assets/images/detailsicon/icon-dc@2x.png"
alt="导出"
style="width: 0.6rem; height: 0.6rem; margin-right: 4px"
/>
<el-button type="primary" size="medium" plain v-if="checkRole(['admin', 'common','gov'])"
style="border: none;background-color: rgba(43,98,241,0.1);color: #2B62F1;" @click="handleExport">
<img src="@/assets/images/detailsicon/icon-dc@2x.png" alt="导出"
style="width: 0.6rem; height: 0.6rem; margin-right: 4px;">
导出
</el-button>
</div>
@ -75,200 +33,100 @@
<el-descriptions class="margin-top" :column="4" border>
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span>总用地面积(平方米)
<span style="color: red;">*</span>
总用地面积(平方米)
</template>
<el-input
v-if="isEditing"
v-model="form.zydmj"
style="width: 100%"
/>
<el-input v-if="isEditing" v-model="form.zydmj" style="width: 100%;"></el-input>
<span v-else>{{ form.zydmj }}</span>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span>容积率
<span style="color: red;">*</span>
容积率
</template>
<el-input v-if="isEditing" v-model="form.rjl" style="width: 100%" />
<el-input v-if="isEditing" v-model="form.rjl" style="width: 100%;"></el-input>
<span v-else>{{ form.rjl }}</span>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span>总建筑面积平方米
<span style="color: red;">*</span>
总建筑面积平方米
</template>
<el-input
v-if="isEditing"
v-model="form.zjzmj"
style="width: 100%"
/>
<el-input v-if="isEditing" v-model="form.zjzmj" style="width: 100%;"></el-input>
<span v-else>{{ form.zjzmj }}</span>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span>标准层建筑面积平方米
</template>
<el-input
v-if="isEditing"
v-model="form.bzcjzmj"
style="width: 100%"
/>
<el-descriptions-item label="标准层建筑面积(平方米)">
<el-input v-if="isEditing" v-model="form.bzcjzmj" style="width: 100%;"></el-input>
<span v-else>{{ form.bzcjzmj }}</span>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span>计容积率建筑面积(平方米)
</template>
<el-input
v-if="isEditing"
v-model="form.jrjljzmj"
style="width: 100%"
/>
<el-descriptions-item label="计容积率建筑面积(平方米)">
<el-input v-if="isEditing" v-model="form.jrjljzmj" style="width: 100%;"></el-input>
<span v-else>{{ form.jrjljzmj }}</span>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span>建筑密度(%)
</template>
<el-input
v-if="isEditing"
v-model="form.jzmd"
style="width: 100%"
/>
<el-descriptions-item label="建筑密度(%)">
<el-input v-if="isEditing" v-model="form.jzmd" style="width: 100%;"></el-input>
<span v-else>{{ form.jzmd }}</span>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span>绿地率(%)
</template>
<el-input v-if="isEditing" v-model="form.ldl" style="width: 100%" />
<el-descriptions-item label="绿地率(%)">
<el-input v-if="isEditing" v-model="form.ldl" style="width: 100%;"></el-input>
<span v-else>{{ form.ldl }}</span>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span>建筑栋数
<span style="color: red;">*</span>
建筑栋数
</template>
<el-input
v-if="isEditing"
v-model="form.jzds"
style="width: 100%"
/>
<el-input v-if="isEditing" v-model="form.jzds" style="width: 100%;"></el-input>
<span v-else>{{ form.jzds }}</span>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span>地上建筑面积(平方米)
</template>
<el-input
v-if="isEditing"
v-model="form.dsjzmj"
style="width: 100%"
/>
<el-descriptions-item label="地上建筑面积(平方米)">
<el-input v-if="isEditing" v-model="form.dsjzmj" style="width: 100%;"></el-input>
<span v-else>{{ form.dsjzmj }}</span>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span>地下建筑面积(平方米)
</template>
<el-input
v-if="isEditing"
v-model="form.dxjzmj"
style="width: 100%"
/>
<el-descriptions-item label="地下建筑面积(平方米)">
<el-input v-if="isEditing" v-model="form.dxjzmj" style="width: 100%;"></el-input>
<span v-else>{{ form.dxjzmj }}</span>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span>最高建筑层数
<span style="color: red;">*</span>
最高建筑层数
</template>
<el-input
v-if="isEditing"
v-model="form.zgjzcs"
style="width: 100%"
/>
<el-input v-if="isEditing" v-model="form.zgjzcs" style="width: 100%;"></el-input>
<span v-else>{{ form.zgjzcs }}</span>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span>最高建筑高度()
</template>
<el-input
v-if="isEditing"
v-model="form.zgjzgd"
style="width: 100%"
/>
<el-descriptions-item label="最高建筑高度(米)">
<el-input v-if="isEditing" v-model="form.zgjzgd" style="width: 100%;"></el-input>
<span v-else>{{ form.zgjzgd }}</span>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span>机动车停车位()
</template>
<el-input
v-if="isEditing"
v-model="form.jdctcw"
style="width: 100%"
/>
<el-descriptions-item label="机动车停车位(辆)">
<el-input v-if="isEditing" v-model="form.jdctcw" style="width: 100%;"></el-input>
<span v-else>{{ form.jdctcw }}</span>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span>非机动车停车位()
</template>
<el-input
v-if="isEditing"
v-model="form.fjdctcw"
style="width: 100%"
/>
<el-descriptions-item label="非机动车停车位(辆)">
<el-input v-if="isEditing" v-model="form.fjdctcw" style="width: 100%;"></el-input>
<span v-else>{{ form.fjdctcw }}</span>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<span style="color: red">*</span>防火等级
<span style="color: red;">*</span>
防火等级
</template>
<el-input
v-if="isEditing"
v-model="form.fhdj"
style="width: 100%"
/>
<el-input v-if="isEditing" v-model="form.fhdj" style="width: 100%;"></el-input>
<span v-else>{{ form.fhdj }}</span>
</el-descriptions-item>
<!-- 非必填 -->
<el-descriptions-item label="规划文件">
<div v-if="isEditing">
<span v-if="form.ghwj">{{ form.ghwj.split("/").pop() }}</span>
<el-tooltip
class="item"
effect="dark"
content="支持pdf或word文件大小不得超过50MB"
placement="top-start"
>
<el-button
type="text"
icon="el-icon-upload"
@click="showFileDialog"
>
<span v-if="form.ghwj">{{ form.ghwj.split('/').pop() }}</span>
<el-tooltip class="item" effect="dark" content="支持pdf或word文件大小不得超过50MB" placement="top-start">
<el-button type="text" icon="el-icon-upload" @click="showFileDialog">
<span v-if="form.ghwj"></span>
<span v-else></span>
</el-button>
</el-tooltip>
</div>
<span v-else>
<a v-if="form.ghwj" :href="form.ghwj" target="_blank">{{
form.ghwj.split("/").pop()
}}</a>
<a v-if="form.ghwj" :href="form.ghwj" target="_blank">{{ form.ghwj.split('/').pop() }}</a>
<span v-else></span>
</span>
</el-descriptions-item>
@ -280,16 +138,14 @@
<FileUpload @file-uploaded="handleFileUploaded" v-model="form.ghwj" />
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="dialogVisible = false"
> </el-button
>
<el-button type="primary" @click="dialogVisible = false"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import FileUpload from "@/components/FileUpload2";
import FileUpload from '@/components/FileUpload2'
import { checkPermi, checkRole } from "@/utils/permission";
export default {
@ -297,20 +153,20 @@ export default {
props: {
size: {
type: String,
default: "",
default: ''
},
planInfo: {
type: Object,
required: true,
required: true
},
xmId: {
type: Number,
required: true,
required: true
},
action: {
type: String,
required: true,
},
required: true
}
},
data() {
return {
@ -335,15 +191,17 @@ export default {
jdctcw: 0,
fjdctcw: 0,
fhdj: null,
ghwj: "",
createBy: "",
ghwj: '',
createBy: '',
createId: 0,
createTime: null,
updateBy: "",
updateBy: '',
updateId: 0,
updateTime: null,
},
rules: {},
rules: {
}
};
},
watch: {
@ -352,8 +210,8 @@ export default {
this.form = { ...newVal };
},
immediate: true,
deep: true,
},
deep: true
}
},
methods: {
checkPermi,
@ -363,7 +221,7 @@ export default {
this.download(
"/gysl/planInformation/export",
{
xmId: this.form.xmId,
xmId: this.form.xmId
},
`规划信息${new Date().getTime()}.xlsx`
);
@ -371,39 +229,24 @@ export default {
//
edit() {
this.isEditing = true;
document.addEventListener("click", this.handleClickOutside);
document.addEventListener('click', this.handleClickOutside);
},
//
save() {
if (this.validateForm()) {
const formData = this.prepareFormData(this.form);
//
this.$emit("update-data", formData);
this.$emit('update-data', formData);
this.isEditing = false;
document.removeEventListener("click", this.handleClickOutside);
document.removeEventListener('click', this.handleClickOutside);
}
},
//
validateForm() {
const requiredFields = [
"zydmj",
"rjl",
"zjzmj",
"bzcjzmj",
"jrjljzmj",
"jzmd",
"ldl",
"jzds",
"dsjzmj",
"dxjzmj",
"zgjzcs",
"jdctcw",
"fjdctcw",
"fhdj",
];
const requiredFields = ['zydmj', 'rjl', 'zjzmj', 'jzds', 'zgjzcs', 'fhdj'];
for (const field of requiredFields) {
if (!this.form[field]) {
this.$message.error("请填写完整的规划信息");
this.$message.error('请填写完整的规划信息');
return false;
}
}
@ -413,12 +256,12 @@ export default {
prepareFormData(formData) {
return {
...formData,
createBy: "",
createBy: '',
createId: 0,
createTime: "",
updateBy: "",
createTime: '',
updateBy: '',
updateId: 0,
updateTime: "",
updateTime: ''
};
},
//
@ -431,14 +274,11 @@ export default {
},
handleClickOutside(event) {
const saveButton = this.$el.querySelector('.el-button:contains("保存")');
if (
!this.$el.contains(event.target) ||
saveButton.contains(event.target)
) {
if (!this.$el.contains(event.target) || saveButton.contains(event.target)) {
return;
}
},
},
}
}
};
</script>
@ -447,7 +287,7 @@ export default {
display: flex;
flex-direction: column;
width: 100%;
background-color: #ffffff;
background-color: #FFFFFF;
box-shadow: 0rem 0.13rem 0.63rem 0rem rgba(177, 177, 177, 0.1);
border-radius: 0.5rem 0.5rem 0.5rem 0.5rem;
}
@ -461,9 +301,9 @@ export default {
height: auto;
display: flex;
justify-content: space-between;
padding: 0.7rem 0;
padding: 0.5rem;
border-bottom: 1px solid #e5e5e5;
padding: .7rem 0;
padding: .5rem;
border-bottom: 1px solid #E5E5E5;
}
.topleft {
@ -485,7 +325,7 @@ export default {
font-family: aliregular;
font-weight: 500;
font-size: 1rem;
color: #3d424c;
color: #3D424C;
line-height: 1rem;
text-align: right;
font-style: normal;
@ -497,4 +337,4 @@ export default {
margin-left: 1rem;
height: auto;
}
</style>
</style>

@ -467,36 +467,22 @@ export default {
spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)",
});
// basicInformation
// basicInformation
const basicRequiredFields = [
"acceptanceTime",
"name",
"xmfrdwxz",
"nature",
"ztze",
"ssgnq",
"begainTime",
"endTime",
"fj",
"introduction",
"issuingTime",
"jsdd",
"jsjd",
"xzfl",
"jsms",
"label",
"latitude",
"longitude",
"name",
"nature",
"phone",
"prioritize",
"projectLeader",
"sgdw",
"sjdw",
"ssgnq",
"tyshxydm",
"phone",
"unitIntroduction",
"xmfrdwxz",
"xzfl",
"ztze",
"jhtze",
"ml",
"xfcy",
"introduction",
"tyshxydm",
];
const basicMissingFields = basicRequiredFields.filter(
(field) => !this.basicInformation[field]
@ -536,16 +522,8 @@ export default {
"zydmj",
"rjl",
"zjzmj",
"bzcjzmj",
"jrjljzmj",
"jzmd",
"ldl",
"jzds",
"dsjzmj",
"dxjzmj",
"zgjzcs",
"jdctcw",
"fjdctcw",
"fhdj",
];
const planMissingFields = planRequiredFields.filter(
@ -557,8 +535,6 @@ export default {
return;
}
//
const submitData = this.prepareSubmitData();
// console.log(':', JSON.stringify(submitData, null, 2));

Loading…
Cancel
Save