flx:修改项目基本信息

This commit is contained in:
Rain_ 2025-11-17 14:32:32 +08:00
parent b378583fc8
commit d6cd8d2ed5
5 changed files with 5748 additions and 418 deletions

View File

@ -365,7 +365,7 @@ export default {
// //
client.on("message", (topic, message) => { client.on("message", (topic, message) => {
// console.log(message); // console.log(message);
console.log("收到来自", topic, "的消息", message.toString()); console.log("收到来自", topic, "的消息", JSON.parse(message));
message = JSON.parse(message); message = JSON.parse(message);
// if(message.content){ // if(message.content){
// if(message.content.indexOf("") > -1 || message.content.indexOf("") > -1){ // if(message.content.indexOf("") > -1 || message.content.indexOf("") > -1){

View File

@ -634,7 +634,7 @@
:model="addProjectForm" :model="addProjectForm"
ref="addProjectForm" ref="addProjectForm"
:rules="addProjectFormRules" :rules="addProjectFormRules"
label-width="120px" label-width="130px"
class="dialogFormBox big" class="dialogFormBox big"
:inline="true" :inline="true"
> >
@ -676,7 +676,7 @@
:placeholder="$t('message.companyDiagram.PleaseEnter')" :placeholder="$t('message.companyDiagram.PleaseEnter')"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item <!-- <el-form-item
:label=" :label="
$t('message.companyDiagram.dialog_ProjectPop_up.projectManage') $t('message.companyDiagram.dialog_ProjectPop_up.projectManage')
" "
@ -686,6 +686,12 @@
v-model="addProjectForm.projectManage" v-model="addProjectForm.projectManage"
:placeholder="$t('message.companyDiagram.PleaseEnter')" :placeholder="$t('message.companyDiagram.PleaseEnter')"
></el-input> ></el-input>
</el-form-item> -->
<el-form-item label="项目/场站负责人" prop="projectSiteManager">
<el-input
v-model="addProjectForm.projectSiteManager"
:placeholder="$t('message.companyDiagram.PleaseEnter')"
></el-input>
</el-form-item> </el-form-item>
<el-form-item <el-form-item
:label=" :label="
@ -720,7 +726,7 @@
> >
<el-input v-model="addProjectForm.latitude" disabled></el-input> <el-input v-model="addProjectForm.latitude" disabled></el-input>
</el-form-item> </el-form-item>
<el-form-item <!-- <el-form-item
:label=" :label="
$t('message.companyDiagram.dialog_ProjectPop_up.projectNumber') $t('message.companyDiagram.dialog_ProjectPop_up.projectNumber')
" "
@ -846,7 +852,7 @@
:value="Number(item.data)" :value="Number(item.data)"
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item> -->
<!-- <el-form-item <!-- <el-form-item
:label=" :label="
$t( $t(
@ -867,7 +873,7 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> --> </el-form-item> -->
<el-form-item <!-- <el-form-item
:label=" :label="
$t('message.companyDiagram.dialog_ProjectPop_up.saleAcreage') $t('message.companyDiagram.dialog_ProjectPop_up.saleAcreage')
" "
@ -904,7 +910,7 @@
$t('message.companyDiagram.dialog_ProjectPop_up.placeholder') $t('message.companyDiagram.dialog_ProjectPop_up.placeholder')
" "
></el-input> ></el-input>
</el-form-item> </el-form-item> -->
<!-- 云联万物项目新增字段 --> <!-- 云联万物项目新增字段 -->
<el-form-item <el-form-item
v-if="COMPANY == 'yunlian'" v-if="COMPANY == 'yunlian'"
@ -950,7 +956,7 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="'是否重点工程'" prop="majorProjectType"> <!-- <el-form-item :label="'是否重点工程'" prop="majorProjectType">
<div style="width: 280px"> <div style="width: 280px">
<el-radio v-model="addProjectForm.majorProjectType" :label="1" <el-radio v-model="addProjectForm.majorProjectType" :label="1"
></el-radio ></el-radio
@ -959,8 +965,36 @@
></el-radio ></el-radio
> >
</div> </div>
</el-form-item> </el-form-item> -->
<el-form-item label="新能源类型" prop="renewableEnergyType">
<el-input
v-model="addProjectForm.renewableEnergyType"
:placeholder="$t('message.companyDiagram.PleaseEnter')"
></el-input>
</el-form-item>
<el-form-item label="装机容量(万kW)" prop="installedCapacity">
<el-input
v-model="addProjectForm.installedCapacity"
:placeholder="$t('message.companyDiagram.PleaseEnter')"
></el-input>
</el-form-item>
<el-form-item :label="'是否配储'" prop="storageRequired">
<div style="width: 280px">
<el-radio v-model="addProjectForm.storageRequired" :label="1"
></el-radio
>
<el-radio v-model="addProjectForm.storageRequired" :label="0"
></el-radio
>
</div>
</el-form-item>
<el-form-item label="配储容量" prop="capacity">
<el-input
v-model="addProjectForm.capacity"
:placeholder="$t('message.companyDiagram.PleaseEnter')"
></el-input>
</el-form-item>
<el-form-item <el-form-item
v-if="projectType2 == 'hengqin'" v-if="projectType2 == 'hengqin'"
:label="'id'" :label="'id'"
@ -971,12 +1005,7 @@
:placeholder="$t('message.companyDiagram.PleaseEnter')" :placeholder="$t('message.companyDiagram.PleaseEnter')"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="项目配图" prop="layoutImage">
:label="
$t('message.companyDiagram.dialog_ProjectPop_up.layoutImage')
"
prop="layoutImage"
>
<el-upload <el-upload
class="avatar-uploader" class="avatar-uploader"
:action="$store.state.UPLOADURL" :action="$store.state.UPLOADURL"
@ -995,7 +1024,7 @@
<i v-else class="el-icon-plus avatar-uploader-icon"></i> <i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload> </el-upload>
</el-form-item> </el-form-item>
<el-form-item <!-- <el-form-item
label="项目图标" label="项目图标"
prop="projectIcon" prop="projectIcon"
> >
@ -1016,7 +1045,7 @@
</div> </div>
<i v-else class="el-icon-plus avatar-uploader-icon"></i> <i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload> </el-upload>
</el-form-item> </el-form-item> -->
<div class="dialog-footer"> <div class="dialog-footer">
<el-button <el-button
class="cancleBtn" class="cancleBtn"
@ -1609,6 +1638,11 @@ export default {
constructionPermit: "", constructionPermit: "",
streetTownshipTownCode: "", streetTownshipTownCode: "",
streetTownshipTown: "", streetTownshipTown: "",
projectSiteManager: "",
renewableEnergyType: "",
installedCapacity: "",
storageRequired: 0,
capacity: "",
}, },
addProjectFormRules: { addProjectFormRules: {
streetTownshipTown: [ streetTownshipTown: [
@ -1653,6 +1687,27 @@ export default {
trigger: "blur", trigger: "blur",
}, },
], ],
projectSiteManager: [
{
required: true,
message: this.$t("message.companyDiagram.required"),
trigger: "blur",
},
],
renewableEnergyType: [
{
required: true,
message: this.$t("message.companyDiagram.required"),
trigger: "blur",
},
],
installedCapacity: [
{
required: true,
message: this.$t("message.companyDiagram.required"),
trigger: "blur",
},
],
projectManage: [ projectManage: [
{ {
required: true, required: true,
@ -3412,7 +3467,10 @@ export default {
} }
this.$refs["addAccountForm"].validate((valid) => { this.$refs["addAccountForm"].validate((valid) => {
const showPassword = isMaskedData(this.addAccountForm.showPassword) && this.addAccountForm.showPassword === this.oldAddAccountForm.showPassword const showPassword =
isMaskedData(this.addAccountForm.showPassword) &&
this.addAccountForm.showPassword ===
this.oldAddAccountForm.showPassword;
if (showPassword || valid) { if (showPassword || valid) {
// //
const sensitiveFields = ["userTel", "showPassword"]; const sensitiveFields = ["userTel", "showPassword"];
@ -3421,7 +3479,7 @@ export default {
this.oldAddAccountForm, this.oldAddAccountForm,
sensitiveFields sensitiveFields
); );
console.log(processedData) console.log(processedData);
if (this.isAdd) { if (this.isAdd) {
addSystemUserApi(this.addAccountForm).then((res) => { addSystemUserApi(this.addAccountForm).then((res) => {
this.addAccountDialog = false; this.addAccountDialog = false;
@ -3594,20 +3652,26 @@ export default {
console.log("编辑页有值吗", item); console.log("编辑页有值吗", item);
this.projectDialogTitle = this.$t("message.companyDiagram.editProject"); // this.projectDialogTitle = this.$t("message.companyDiagram.editProject"); //
this.isAdd = false; this.isAdd = false;
this.addProjectForm = JSON.parse(JSON.stringify({ this.addProjectForm = JSON.parse(
...item, JSON.stringify({
projectIcon: item.projectIcon ? item.projectIcon : "", ...item,
})); projectIcon: item.projectIcon ? item.projectIcon : "",
})
);
this.addProjectDialog = true; this.addProjectDialog = true;
this.$nextTick(() => { this.$nextTick(() => {
setTimeout(() => { setTimeout(() => {
this.$refs["addProjectForm"].clearValidate(); this.$refs["addProjectForm"].clearValidate();
this.$refs.cascader.$refs.panel.activePath = []; this.$refs.cascader.$refs.panel.activePath = [];
this.provincesCityArr = [ if (item.areaCode) {
item.provincesCode, this.provincesCityArr = [
item.cityCode, item.provincesCode,
item.areaCode, item.cityCode,
]; item.areaCode,
];
} else {
this.provincesCityArr = [item.provincesCode, item.cityCode];
}
}, 200); }, 200);
}); });
}, },
@ -3674,7 +3738,7 @@ export default {
console.log(val); console.log(val);
this.addProjectForm.provincesCode = val[0]; this.addProjectForm.provincesCode = val[0];
this.addProjectForm.cityCode = val[1]; this.addProjectForm.cityCode = val[1];
this.addProjectForm.areaCode = val[2]; this.addProjectForm.areaCode = val[2] || "";
}, },
// handleRemove(){ // handleRemove(){
// this.addProjectForm.layoutImage='' // this.addProjectForm.layoutImage=''
@ -3705,7 +3769,7 @@ export default {
// console.log(res); // console.log(res);
this.addProjectForm.projectIcon = this.addProjectForm.projectIcon =
this.$store.state.FILEURL + res.data[0].imageUrl; this.$store.state.FILEURL + res.data[0].imageUrl;
console.log(this.addProjectForm.projectIcon); console.log(this.addProjectForm.projectIcon);
}, },
openAuthorizedConfig(type) { openAuthorizedConfig(type) {
this.authorizedConfig = { this.authorizedConfig = {
@ -3968,7 +4032,7 @@ export default {
} }
/deep/ .projectDialog .el-dialog { /deep/ .projectDialog .el-dialog {
margin-top: 20px !important; // margin-top: 20px !important;
margin-bottom: 0; margin-bottom: 0;
.el-input--medium .el-input__inner { .el-input--medium .el-input__inner {
// height: 65px; // height: 65px;

File diff suppressed because it is too large Load Diff

View File

@ -22,22 +22,25 @@
</el-button> </el-button>
<!-- 编辑 --> <!-- 编辑 -->
<el-button <el-button
v-permission="{key: 'xmjbxx_edit', menuPath: '/project/summary/baseInfo'}" v-permission="{
key: 'xmjbxx_edit',
menuPath: '/project/summary/baseInfo',
}"
type="primary" type="primary"
size="medium" size="medium"
@click="addProjectDialog = true" @click="addProjectDialog = true"
>{{ $t('message.companyDiagram.Table.edit') }}</el-button >{{ $t("message.companyDiagram.Table.edit") }}</el-button
> >
<!-- <el-button type="primary" size="medium">{{$t('message.companyDiagram.projectSchedule')}}</el-button> --> <!-- <el-button type="primary" size="medium">{{$t('message.companyDiagram.projectSchedule')}}</el-button> -->
</div> </div>
<div> <div>
<div class="custom_tab"> <div class="custom_tab">
<div class="title">{{ $t('message.companyDiagram.sheet') }}</div> <div class="title">{{ $t("message.companyDiagram.sheet") }}</div>
<div class="flex4"> <div class="flex4">
<div class="type_content" style="z-index: 2"> <div class="type_content" style="z-index: 2">
<div class="flex3"> <div class="flex3">
<span class="width_35">{{ <span class="width_35">{{
$t('message.companyDiagram.entryName1') $t("message.companyDiagram.entryName1")
}}</span> }}</span>
<span class="width_65" style="white-space: nowrap">{{ <span class="width_65" style="white-space: nowrap">{{
projectDetail.projectName projectDetail.projectName
@ -45,7 +48,7 @@
</div> </div>
<div class="flex3"> <div class="flex3">
<span class="width_35">{{ <span class="width_35">{{
$t('message.companyDiagram.Table.projectAddress') $t("message.companyDiagram.Table.projectAddress")
}}</span> }}</span>
<span class="width_65 bg_color" style="white-space: nowrap">{{ <span class="width_65 bg_color" style="white-space: nowrap">{{
projectDetail.projectAddress projectDetail.projectAddress
@ -54,15 +57,15 @@
<div class="flex3"> <div class="flex3">
<span class="width_35">{{ <span class="width_35">{{
$t( $t(
'message.companyDiagram.dialog_ProjectPop_up.provincesCode' "message.companyDiagram.dialog_ProjectPop_up.provincesCode"
) )
}}</span> }}</span>
<span class="width_65" <span class="width_65"
>{{ projectDetail.provinceName >{{ projectDetail.provinceName }}{{ projectDetail.cityName
}}{{projectDetail.cityName}}{{ projectDetail.areaName }}</span }}{{ projectDetail.areaName }}</span
> >
</div> </div>
<div class="flex3"> <!-- <div class="flex3">
<span class="width_35">{{ <span class="width_35">{{
$t( $t(
'message.companyDiagram.dialog_ProjectPop_up.projectManage' 'message.companyDiagram.dialog_ProjectPop_up.projectManage'
@ -71,67 +74,33 @@
<span class="width_65 bg_color">{{ <span class="width_65 bg_color">{{
projectDetail.projectManage projectDetail.projectManage
}}</span> }}</span>
</div> -->
<div class="flex3">
<span class="width_35">项目/场站负责人</span>
<span class="width_65 bg_color">{{
projectDetail.projectSiteManager
}}</span>
</div> </div>
<div class="flex3"> <div class="flex3">
<span class="width_35">{{ <span class="width_35">{{
$t('message.companyDiagram.dialog_ProjectPop_up.longitude') $t("message.companyDiagram.dialog_ProjectPop_up.longitude")
}}</span> }}</span>
<span class="width_65">{{ projectDetail.longitude }}</span> <span class="width_65">{{ projectDetail.longitude }}</span>
</div> </div>
<div class="flex3"> <div class="flex3">
<span class="width_35">{{ <span class="width_35">装机容量(万kW)</span>
$t( <span class="width_65">{{
'message.companyDiagram.dialog_ProjectPop_up.projectNumber' projectDetail.installedCapacity
)
}}</span>
<span class="width_65 bg_color">{{
projectDetail.projectNumber
}}</span> }}</span>
</div> </div>
<div class="flex3"> <div class="flex3">
<span class="width_35">{{ <span class="width_35">配储容量</span>
$t( <span class="width_65">{{ projectDetail.capacity }}()</span>
'message.companyDiagram.dialog_ProjectPop_up.projectAcreage'
)
}}</span>
<span class="width_65"
>{{ projectDetail.projectAcreage }}()</span
>
</div>
<div class="flex3">
<span class="width_35">{{
$t(
'message.companyDiagram.dialog_ProjectPop_up.startWorkDate'
)
}}</span>
<span class="width_65 bg_color">{{
projectDetail.startWorkDate
}}</span>
</div>
<div class="flex3">
<span class="width_35">{{
$t('message.companyDiagram.dialog_ProjectPop_up.saleAcreage')
}}</span>
<span class="width_65">{{ projectDetail.saleAcreage }}</span>
</div>
<div class="flex3">
<span class="width_35">{{
$t('message.companyDiagram.dialog_ProjectPop_up.buildingNum')
}}</span>
<span class="width_65 bg_color">{{
projectDetail.buildingNum
}}</span>
</div>
<div class="flex3">
<span class="width_35">{{
$t('message.companyDiagram.dialog_ProjectPop_up.projectTel')
}}</span>
<span class="width_65">{{ projectDetail.projectTel }}</span>
</div> </div>
<div class="flex3"> <div class="flex3">
<span class="width_35"> <span class="width_35">
<!-- 项目唯一标识(SN) --> <!-- 项目唯一标识(SN) -->
{{ $t('message.projectInfo.projectOnlyMark') }} {{ $t("message.projectInfo.projectOnlyMark") }}
</span> </span>
<span class="width_65 bg_color" style="white-space: nowrap">{{ <span class="width_65 bg_color" style="white-space: nowrap">{{
projectDetail.projectSn projectDetail.projectSn
@ -156,85 +125,26 @@
</div> </div>
<div class="flex3"> <div class="flex3">
<span class="width_35 border_l">{{ <span class="width_35 border_l">{{
$t('message.companyDiagram.dialog_ProjectPop_up.latitude') $t("message.companyDiagram.dialog_ProjectPop_up.latitude")
}}</span> }}</span>
<span class="width_65 bg_color">{{ <span class="width_65 bg_color">{{
projectDetail.latitude projectDetail.latitude
}}</span> }}</span>
</div> </div>
<div class="flex3"> <div class="flex3">
<span class="width_35 border_l">{{ <span class="width_35 border_l">新能源类型</span>
$t('message.companyDiagram.dialog_ProjectPop_up.projectType') <span class="width_65">{{
projectDetail.renewableEnergyType
}}</span> }}</span>
<span
class="width_65"
v-for="(item, index) in projectTypeList"
:key="index"
v-if="projectDetail.projectType == item.data"
>{{ item.name }}</span
>
</div> </div>
<div class="flex3"> <div class="flex3">
<span class="width_35 border_l">{{ <span class="width_35 border_l">是否配储</span>
$t( <span class="width_65">{{
'message.companyDiagram.dialog_ProjectPop_up.structureType' projectDetail.storageRequired == 1 ? "是" : "否"
)
}}</span> }}</span>
<span
class="width_65 bg_color"
v-for="(item, index) in structureTypeList"
:key="index"
v-if="projectDetail.structureType == item.data"
>{{ item.name }}</span
>
</div> </div>
<div class="flex3"> <div class="flex3">
<span class="width_35 border_l">{{ <span class="width_35 border_l">项目配图</span>
$t('message.companyDiagram.dialog_ProjectPop_up.bulidStatus')
}}</span>
<span
class="width_65"
v-for="(item, index) in $t(
'message.companyDiagram.BUILDSTATUS'
)"
:key="index"
v-if="projectDetail.bulidStatus == item.id"
>{{ item.name }}</span
>
</div>
<div class="flex3">
<span class="width_35 border_l">{{
$t(
'message.companyDiagram.dialog_ProjectPop_up.constructionStage'
)
}}</span>
<span
class="width_65 bg_color"
v-for="(item, index) in constructionStageList"
:key="item.data"
v-if="projectDetail.constructionStage == item.data"
>{{ item.name }}</span
>
<!-- <span
class="width_65 bg_color"
v-for="(item, index) in $t(
'message.companyDiagram.CONSTRUCTIONSTAGE'
)"
:key="index"
v-if="projectDetail.constructionStage == item.id"
>{{ item.name }}</span
> -->
</div>
<div class="flex3">
<span class="width_35 border_l">{{
$t('message.companyDiagram.dialog_ProjectPop_up.households')
}}</span>
<span class="width_65">{{ projectDetail.households }}</span>
</div>
<div class="flex3">
<span class="width_35 border_l">{{
$t('message.companyDiagram.dialog_ProjectPop_up.layoutImage')
}}</span>
<span class="width_65 bg_color"> <span class="width_65 bg_color">
<img <img
:src="projectDetail.layoutImage" :src="projectDetail.layoutImage"
@ -245,13 +155,13 @@
cursor: pointer; cursor: pointer;
" "
@click=" @click="
bigImageDialog = true bigImageDialog = true;
bigImageUrl = projectDetail.layoutImage bigImageUrl = projectDetail.layoutImage;
" "
/> />
</span> </span>
</div> </div>
<div class="flex3"> <!-- <div class="flex3">
<span class="width_35 border_l" style="height: 44px">{{ <span class="width_35 border_l" style="height: 44px">{{
$t('message.companyDiagram.dialog_ProjectPop_up.shopDrawing') $t('message.companyDiagram.dialog_ProjectPop_up.shopDrawing')
}}</span> }}</span>
@ -270,7 +180,7 @@
" "
/> />
</span> </span>
</div> </div> -->
<div class="flex3" style="background: rgba(235, 234, 234, 0.5)"> <div class="flex3" style="background: rgba(235, 234, 234, 0.5)">
<span class="width_35"> </span> <span class="width_35"> </span>
<span class="width_65" style="white-space: nowrap"></span> <span class="width_65" style="white-space: nowrap"></span>
@ -296,7 +206,7 @@
:model="addProjectForm" :model="addProjectForm"
ref="addProjectForm" ref="addProjectForm"
:rules="addProjectFormRules" :rules="addProjectFormRules"
label-width="120px" label-width="130px"
class="dialogFormBox big" class="dialogFormBox big"
:inline="true" :inline="true"
> >
@ -338,14 +248,9 @@
:placeholder="$t('message.companyDiagram.PleaseEnter')" :placeholder="$t('message.companyDiagram.PleaseEnter')"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="项目/场站负责人" prop="projectSiteManager">
:label="
$t('message.companyDiagram.dialog_ProjectPop_up.projectManage')
"
prop="projectManage"
>
<el-input <el-input
v-model="addProjectForm.projectManage" v-model="addProjectForm.projectSiteManager"
:placeholder="$t('message.companyDiagram.PleaseEnter')" :placeholder="$t('message.companyDiagram.PleaseEnter')"
></el-input> ></el-input>
</el-form-item> </el-form-item>
@ -372,7 +277,7 @@
<template slot="append"> <template slot="append">
<el-link type="primary" @click="toGetLocalFn">{{ <el-link type="primary" @click="toGetLocalFn">{{
$t( $t(
'message.companyDiagram.dialog_ProjectPop_up.coordinatePicking' "message.companyDiagram.dialog_ProjectPop_up.coordinatePicking"
) )
}}</el-link> }}</el-link>
</template> </template>
@ -388,208 +293,36 @@
:disabled="true" :disabled="true"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="新能源类型" prop="renewableEnergyType">
:label="
$t('message.companyDiagram.dialog_ProjectPop_up.projectNumber')
"
prop="projectNumber"
>
<el-input <el-input
v-model="addProjectForm.projectNumber" v-model="addProjectForm.renewableEnergyType"
:placeholder="$t('message.companyDiagram.PleaseEnter')" :placeholder="$t('message.companyDiagram.PleaseEnter')"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="装机容量(万kW)" prop="installedCapacity">
:label="
$t('message.companyDiagram.dialog_ProjectPop_up.projectType')
"
prop="projectType"
>
<el-select
v-model="addProjectForm.projectType"
:placeholder="$t('message.companyDiagram.PleaseSelect')"
>
<el-option
v-for="item in projectTypeList"
:key="item.data"
:label="item.name"
:value="Number(item.data)"
></el-option>
</el-select>
</el-form-item>
<el-form-item
:label="
$t(
'message.companyDiagram.dialog_ProjectPop_up.engineeringPurpose'
)
"
prop="engineeringPurpose"
>
<el-select
v-model="addProjectForm.engineeringPurpose"
:placeholder="$t('message.companyDiagram.PleaseSelect')"
>
<el-option
v-for="item in $t('message.companyDiagram.ENGINEERINGPRUPOSE')"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
:label="
$t('message.companyDiagram.dialog_ProjectPop_up.structureType')
"
prop="structureType"
>
<el-select
v-model="addProjectForm.structureType"
:placeholder="$t('message.companyDiagram.PleaseSelect')"
>
<el-option
v-for="item in structureTypeList"
:key="item.data"
:label="item.name"
:value="Number(item.data)"
></el-option>
</el-select>
</el-form-item>
<el-form-item
:label="
$t('message.companyDiagram.dialog_ProjectPop_up.projectAcreage')
"
prop="projectAcreage"
>
<el-input <el-input
v-model="addProjectForm.projectAcreage" v-model="addProjectForm.installedCapacity"
:placeholder="$t('message.companyDiagram.PleaseEnter')" :placeholder="$t('message.companyDiagram.PleaseEnter')"
type="number"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item <el-form-item :label="'是否配储'" prop="storageRequired">
:label="
$t('message.companyDiagram.dialog_ProjectPop_up.bulidStatus')
"
prop="bulidStatus"
>
<el-select
v-model="addProjectForm.bulidStatus"
:placeholder="$t('message.companyDiagram.PleaseSelect')"
>
<el-option
v-for="item in $t('message.companyDiagram.BUILDSTATUS')"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
:label="
$t('message.companyDiagram.dialog_ProjectPop_up.startWorkDate')
"
prop="startWorkDate"
>
<el-date-picker
v-model="addProjectForm.startWorkDate"
type="date"
:placeholder="
$t(
'message.companyDiagram.dialog_ProjectPop_up.date_placeholder'
)
"
value-format="yyyy-MM-dd"
></el-date-picker>
</el-form-item>
<el-form-item
:label="
$t(
'message.companyDiagram.dialog_ProjectPop_up.constructionStage'
)
"
prop="constructionStage"
>
<el-select
v-model="addProjectForm.constructionStage"
:placeholder="$t('message.companyDiagram.PleaseSelect')"
>
<el-option
v-for="item in constructionStageList"
:key="item.data"
:label="item.name"
:value="Number(item.data)"
></el-option>
<!-- <el-option
v-for="item in $t('message.companyDiagram.CONSTRUCTIONSTAGE')"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option> -->
</el-select>
</el-form-item>
<el-form-item
:label="
$t('message.companyDiagram.dialog_ProjectPop_up.saleAcreage')
"
prop="saleAcreage"
>
<el-input
v-model="addProjectForm.saleAcreage"
:placeholder="$t('message.companyDiagram.PleaseEnter')"
type="number"
></el-input>
</el-form-item>
<el-form-item
:label="
$t('message.companyDiagram.dialog_ProjectPop_up.households')
"
prop="households"
>
<el-input
v-model.number="addProjectForm.households"
:placeholder="
$t('message.companyDiagram.dialog_ProjectPop_up.placeholder')
"
></el-input>
</el-form-item>
<el-form-item
:label="
$t('message.companyDiagram.dialog_ProjectPop_up.buildingNum')
"
prop="buildingNum"
>
<el-input
v-model.number="addProjectForm.buildingNum"
:placeholder="
$t('message.companyDiagram.dialog_ProjectPop_up.placeholder')
"
></el-input>
</el-form-item>
<!-- 是否重点工程 -->
<el-form-item
:label="$t('message.projectInfo.isImportanceProject')"
prop="majorProjectType"
>
<div style="width: 280px"> <div style="width: 280px">
<el-radio v-model="addProjectForm.majorProjectType" :label="1"> <el-radio v-model="addProjectForm.storageRequired" :label="1"
<!-- --> ></el-radio
{{ $t('message.projectInfo.is') }} >
</el-radio> <el-radio v-model="addProjectForm.storageRequired" :label="0"
<el-radio v-model="addProjectForm.majorProjectType" :label="0"> ></el-radio
{{ $t('message.projectInfo.isNot') }} >
<!-- -->
</el-radio>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="配储容量" prop="capacity">
<el-input
v-model="addProjectForm.capacity"
:placeholder="$t('message.companyDiagram.PleaseEnter')"
></el-input>
</el-form-item>
<br /> <br />
<el-form-item <el-form-item label="项目配图" prop="layoutImage">
:label="
$t('message.companyDiagram.dialog_ProjectPop_up.layoutImage')
"
prop="layoutImage"
>
<div style="width: 280px"> <div style="width: 280px">
<el-upload <el-upload
class="avatar-uploader" class="avatar-uploader"
@ -610,7 +343,7 @@
</el-upload> </el-upload>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item <!-- <el-form-item
:label=" :label="
$t('message.companyDiagram.dialog_ProjectPop_up.shopDrawing') $t('message.companyDiagram.dialog_ProjectPop_up.shopDrawing')
" "
@ -633,21 +366,21 @@
</div> </div>
<i v-else class="el-icon-plus avatar-uploader-icon"></i> <i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload> </el-upload>
</el-form-item> </el-form-item> -->
<div class="dialog-footer"> <div class="dialog-footer">
<el-button <el-button
class="cancleBtn" class="cancleBtn"
@click="addProjectDialog = false" @click="addProjectDialog = false"
icon="el-icon-circle-close" icon="el-icon-circle-close"
size="medium" size="medium"
>{{ $t('message.companyDiagram.cancel') }}</el-button >{{ $t("message.companyDiagram.cancel") }}</el-button
> >
<el-button <el-button
type="primary" type="primary"
icon="el-icon-circle-check" icon="el-icon-circle-check"
@click="saveProjectFn" @click="saveProjectFn"
size="medium" size="medium"
>{{ $t('message.companyDiagram.determine') }}</el-button >{{ $t("message.companyDiagram.determine") }}</el-button
> >
</div> </div>
</el-form> </el-form>
@ -671,14 +404,17 @@
</div> </div>
</template> </template>
<script> <script>
import { import { checkPhone } from "@/assets/js/util.js";
checkPhone
} from '@/assets/js/util.js'
import { import {
sendSafetyHatProjectDataApi, sendSafetyHatProjectDataApi,
getDictionaryItemApi getDictionaryItemApi,
} from "@/assets/js/api/companyDiagram.js"; } from "@/assets/js/api/companyDiagram.js";
import { getProjectDetail, editProjectInfo, sendProjectInfo, getProjectConfigListApi } from "@/assets/js/api/baseInfo.js"; import {
getProjectDetail,
editProjectInfo,
sendProjectInfo,
getProjectConfigListApi,
} from "@/assets/js/api/baseInfo.js";
import { selectProvincesCityListApi } from "@/assets/js/api/project.js"; import { selectProvincesCityListApi } from "@/assets/js/api/project.js";
import scroll from "vue-seamless-scroll"; import scroll from "vue-seamless-scroll";
import gdMap from "../../../components/map/gd-map"; import gdMap from "../../../components/map/gd-map";
@ -701,7 +437,9 @@ export default {
} }
}; };
return { return {
projectDialogTitle: /* "编辑项目", */ this.$t('message.projectInfo.editProject'), projectDialogTitle: /* "编辑项目", */ this.$t(
"message.projectInfo.editProject"
),
addProjectDialog: false, addProjectDialog: false,
addProjectForm: { addProjectForm: {
areaCode: "", areaCode: "",
@ -714,7 +452,7 @@ export default {
households: "", households: "",
latitude: "", latitude: "",
layoutImage: "", layoutImage: "",
constructionMapUrl: '', constructionMapUrl: "",
longitude: "", longitude: "",
projectAcreage: "", projectAcreage: "",
projectAddress: "", projectAddress: "",
@ -727,7 +465,12 @@ export default {
structureType: "", structureType: "",
projectManage: "", projectManage: "",
projectTel: "", projectTel: "",
majorProjectType: 0 majorProjectType: 0,
projectSiteManager: "",
renewableEnergyType: "",
installedCapacity: "",
storageRequired: 0,
capacity: "",
}, },
projectDetail: { projectDetail: {
areaCode: "", areaCode: "",
@ -740,7 +483,7 @@ export default {
households: "", households: "",
latitude: "", latitude: "",
layoutImage: "", layoutImage: "",
constructionMapUrl: '', constructionMapUrl: "",
longitude: "", longitude: "",
projectAcreage: "", projectAcreage: "",
projectAddress: "", projectAddress: "",
@ -776,6 +519,27 @@ export default {
trigger: "blur", trigger: "blur",
}, },
], ],
projectSiteManager: [
{
required: true,
message: this.$t("message.companyDiagram.required"),
trigger: "blur",
},
],
renewableEnergyType: [
{
required: true,
message: this.$t("message.companyDiagram.required"),
trigger: "blur",
},
],
installedCapacity: [
{
required: true,
message: this.$t("message.companyDiagram.required"),
trigger: "blur",
},
],
projectManage: [ projectManage: [
{ {
required: true, required: true,
@ -867,8 +631,8 @@ export default {
value: "code", value: "code",
}, },
showMap: false, showMap: false,
projectAuditStatus: '',// projectAuditStatus: "", //
company: '', company: "",
constructionStageList: [], constructionStageList: [],
structureTypeList: [], structureTypeList: [],
projectTypeList: [], projectTypeList: [],
@ -877,78 +641,77 @@ export default {
}, },
created() { created() {
this.projectSn = this.$store.state.projectSn; this.projectSn = this.$store.state.projectSn;
this.company = COMPANY this.company = COMPANY;
this.getDataDateils(); this.getDataDateils();
this.loadProvincesCityList(); this.loadProvincesCityList();
this.getProjectConfigList(); this.getProjectConfigList();
this.getDictionaryList(); this.getDictionaryList();
this.getDictionaryByStructure(); this.getDictionaryByStructure();
this.getDicProjectTypeList(); this.getDicProjectTypeList();
}, },
mounted() { mounted() {
console.log('编辑表示:',this.$store.state.userInfo); console.log("编辑表示:", this.$store.state.userInfo);
}, },
methods: { methods: {
// //
// //
getDicProjectTypeList(){ getDicProjectTypeList() {
getDictionaryItemApi({ getDictionaryItemApi({
dictionaryEncoding: 'project_type', dictionaryEncoding: "project_type",
projectSn: this.projectSn projectSn: this.projectSn,
}).then(res => { }).then((res) => {
if (res.result.length > 0) { if (res.result.length > 0) {
this.projectTypeList = res.result this.projectTypeList = res.result;
} }
}) });
}, },
// //
getDictionaryList() { getDictionaryList() {
getDictionaryItemApi({ getDictionaryItemApi({
dictionaryEncoding: 'project_construction_stage', dictionaryEncoding: "project_construction_stage",
projectSn: this.projectSn projectSn: this.projectSn,
}).then(res => { }).then((res) => {
if (res.result.length > 0) { if (res.result.length > 0) {
this.constructionStageList = res.result this.constructionStageList = res.result;
} }
});
})
}, },
// //
getDictionaryByStructure() { getDictionaryByStructure() {
getDictionaryItemApi({ getDictionaryItemApi({
dictionaryEncoding: 'project_structure_type', dictionaryEncoding: "project_structure_type",
projectSn: this.projectSn projectSn: this.projectSn,
}).then(res => { }).then((res) => {
if (res.result.length > 0) { if (res.result.length > 0) {
this.structureTypeList = res.result this.structureTypeList = res.result;
} }
});
})
}, },
sendSafetyHatProject() { sendSafetyHatProject() {
sendSafetyHatProjectDataApi({ projectSn: this.projectSn }).then(res => { sendSafetyHatProjectDataApi({ projectSn: this.projectSn }).then((res) => {
if (res.code == 200) { if (res.code == 200) {
this.$message.success('上传成功!') this.$message.success("上传成功!");
} }
}) });
}, },
getProjectConfigList() { getProjectConfigList() {
getProjectConfigListApi({ projectSn: this.projectSn }).then(res => { getProjectConfigListApi({ projectSn: this.projectSn }).then((res) => {
if (res.code == 200) { if (res.code == 200) {
this.projectAuditStatus = res.result[0].projectAuditStatus this.projectAuditStatus = res.result[0].projectAuditStatus;
console.log(res.result[0].projectAuditStatus); console.log(res.result[0].projectAuditStatus);
} }
}) });
}, },
uploadThirdParty() { uploadThirdParty() {
sendProjectInfo({ projectSn: this.projectSn }).then(res => { sendProjectInfo({ projectSn: this.projectSn }).then((res) => {
if (res.code == 200) { if (res.code == 200) {
this.$message.success(this.$t('message.projectInfo.updateSuccess') + '!') this.$message.success(
this.getProjectConfigList() this.$t("message.projectInfo.updateSuccess") + "!"
);
this.getProjectConfigList();
} }
}) });
}, },
closeMap(val) { closeMap(val) {
this.showMap = val; this.showMap = val;
@ -965,14 +728,23 @@ export default {
}; };
getProjectDetail(data).then((res) => { getProjectDetail(data).then((res) => {
if (res.code == 200) { if (res.code == 200) {
this.projectDetail = res.result != null ? res.result : this.projectDetail; this.projectDetail =
this.provincesCityArr = [ res.result != null ? res.result : this.projectDetail;
res.result.provincesCode,
res.result.cityCode, if (res.result.areaCode) {
res.result.areaCode, this.provincesCityArr = [
]; res.result.provincesCode,
res.result.cityCode,
res.result.areaCode,
];
} else {
this.provincesCityArr = [
res.result.provincesCode,
res.result.cityCode,
];
}
this.addProjectForm = JSON.parse(JSON.stringify(res.result)); this.addProjectForm = JSON.parse(JSON.stringify(res.result));
this.$store.commit('setProDetail', res.result) this.$store.commit("setProDetail", res.result);
} }
}); });
}, },
@ -993,12 +765,13 @@ export default {
}, },
// //
handleUploadSuccess(res, type) { handleUploadSuccess(res, type) {
console.log(res) console.log(res);
if (type == 1) { if (type == 1) {
this.addProjectForm.layoutImage = this.addProjectForm.layoutImage =
this.$store.state.FILEURL + res.data[0].imageUrl; this.$store.state.FILEURL + res.data[0].imageUrl;
} else { } else {
this.addProjectForm.constructionMapUrl = this.$store.state.FILEURL + res.data[0].imageUrl; this.addProjectForm.constructionMapUrl =
this.$store.state.FILEURL + res.data[0].imageUrl;
} }
}, },
@ -1012,9 +785,12 @@ export default {
saveProjectFn() { saveProjectFn() {
if (this.addProjectForm.projectTel) { if (this.addProjectForm.projectTel) {
if (!checkPhone(this.addProjectForm.projectTel)) { if (!checkPhone(this.addProjectForm.projectTel)) {
console.log('this.addProjectForm.projectTel', this.addProjectForm.projectTel); console.log(
this.$message.error('请输入正确的联系电话') "this.addProjectForm.projectTel",
return this.addProjectForm.projectTel
);
this.$message.error("请输入正确的联系电话");
return;
} }
} }
this.$refs["addProjectForm"].validate((valid) => { this.$refs["addProjectForm"].validate((valid) => {
@ -1042,11 +818,11 @@ export default {
changeProvincesCity(val) { changeProvincesCity(val) {
this.addProjectForm.provincesCode = val[0]; this.addProjectForm.provincesCode = val[0];
this.addProjectForm.cityCode = val[1]; this.addProjectForm.cityCode = val[1];
this.addProjectForm.areaCode = val[2]; this.addProjectForm.areaCode = val[2] || "";
}, },
}, },
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.flex { .flex {
display: flex; display: flex;

File diff suppressed because it is too large Load Diff