You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2616 lines
93 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

const {
getProjectByArea,
getCompany,
API_BASE_URL,
IMG_BASE_URL,
getElectricPlanAll,
findAllPlan,
saveOrEditCustomerEntry,
entryDetail,
getAddressByLonLat,
getAddressLonLat,
createQrcode,
getFormSet,
DEV,
findTypeReferenceListNew,
bankCardPage,
surveyToDesign, getAllDictionarySelect,
updateCustomerEntry,auditBack,getKcFormSet,getPressureLevel
} = require('../../../api/api')
const utilAddWatermark = require('../../../utils/addWatermark')
const utilAddWatermark2 = require('../../../utils/addWatermark2')
const utilGetLocation = require('../../../utils/getLocation')
const utils = require('../../../utils/util')
Page({
data: {
API_BASE_URL: API_BASE_URL,
IMG_BASE_URL: IMG_BASE_URL,
DEV: DEV,
capture: ['camera', 'album'], //拍摄模式
standardSolutionsList: [{
type: "", //方案类型
name: "", //方案名称
id: "", //方案ID
code: "", //方案编号
drawing: "", //参考图纸
}], //标准方案初始数量
combinedSolutionsList: [{
type: "", //方案类型
name: "", //方案名称
id: "", //方案ID
code: "", //方案编号
pickerIndex: 0, //方案类型选择下标
drawing: "", //参考图纸
addType: 1, //显示新增方案按钮
}], //组合方案初始数量
data: {
name: ""
},
photo: {
fwImg1: [],
fwImg2: [],
fwImg3: [],
fwImg4: [],
fwImg5: [],
flyImgs: [], //无人机航拍图
roofPhotoOne: [], //安装区域整体照片
roofPhotoTwo: [], //安装区域东南角照片
roofPhotoThree: [], //安装区域西南角照片
roofPhotoFour: [], //安装区域正南照片
roofPhotoFive: [], //安装区域细节照片
roofPhotoFacade: [], //房屋内部结构照片
roofPhotoInterior: [], //房屋内部环境照片
detailSupplementOne: [], //逆变器、配电箱预安装位置照片
houseSupplementOne: [], //房屋其他障碍物照片
surveyVideo: [], //踏勘补充证明视频
surveyFiles: [], //踏勘记录表
houseOwnership: [],//房产证
vrRoofOne: [], //房屋整体图
vrRoofTwo: [], //房屋整体俯视图
vrRoofThree: [], //房屋内部结构图
vrRoofFour: [], //入户全景照片
houseOutlinePhoto:[], //房屋轮廓照片
// phoneVideo: [], //屋顶视频
// filingDocumentPhoto: [], //备案文件
//踏勘记录表
// surveyPhoneOne: [], //踏勘记录表1
// surveyPhoneTwo: [], //踏勘记录表2
//房屋照片
// roofPhotoSix:[],//补充2
// houseSupplementTwo:[],//房屋补充2
//细节照片
// roofPhotoSeven:[],//障碍物照片
// dimensionsPhotoThickness:[],//楼顶厚度/围墙
// detailSupplementTwo:[],//细节补充2
//方案信息
designDrawings: [], //设计图纸
zjpbImg: [], //组件排布图
zjzxImg: [], // 组件走线图
zjcsImg: [], //支架侧视图
zjhsImg: [], //电气图
// nbqwzImg: [], //逆变器位置
// pdxwzImg: [], //配电箱位置
dzImgs: [], //组合图
},
photoTips: [
//越秀
{
showKey: 'fly_imgs',
key: 'flyImgs',
num: 9,
minNum: 3,
title: '无人机航拍图',
},{
showKey: 'roof_photo_one',
key: 'roofPhotoOne',
num: 9,
minNum: 2,
title: '安装区域整体照片',
}, {
showKey: 'roof_photo_two',
key: 'roofPhotoTwo',
num: 9,
minNum: 1,
title: '安装区域东南角照片',
}, {
showKey: 'roof_photo_four',
key: 'roofPhotoFour',
num: 9,
minNum: 1,
title: '安装区域正南照片',
}, {
showKey: 'roof_photo_three',
key: 'roofPhotoThree',
num: 9,
minNum: 1,
title: '安装区域西南角照片',
}, {
showKey: 'roof_photo_five',
key: 'roofPhotoFive',
num: 9,
minNum: 1,
title: '安装区域细节照片',
}, {
showKey: 'roof_photo_interior',
key: 'roofPhotoInterior',
num: 9,
minNum: 2,
title: '房屋内部环境照片',
}, {
showKey: 'roof_photo_facade',
key: 'roofPhotoFacade',
num: 9,
minNum: 2,
title: '房屋内部结构照片',
}, {
showKey: 'detail_supplement_one',
key: 'detailSupplementOne',
num: 9,
minNum: 1,
title: '逆变器、配电箱预安装位置照片',
},{
showKey: 'house_outline_photo',
key: 'houseOutlinePhoto',
num: 9,
minNum: 1,
title: '房屋轮廓照片',
}, {
showKey: 'house_supplement_one',
key: 'houseSupplementOne',
num: 9,
minNum: 1,
title: '房屋其他障碍物照片',
}, {
showKey: 'survey_files',
key: 'surveyFiles',
num: 4,
title: '踏勘记录表',
},{
showKey: 'roof_photo_one_03',
key: 'roofPhotoOne',
num: 9,
minNum: 2,
title: '房屋屋顶照片',
},{
showKey: 'roof_photo_two_03',
key: 'roofPhotoTwo',
num: 9,
minNum: 1,
title: '房屋屋顶东侧图片',
},{
showKey: 'roof_photo_three_03',
key: 'roofPhotoThree',
num: 9,
minNum: 1,
title: '房屋屋顶西侧图片',
},{
showKey: 'roof_photo_four_03',
key: 'roofPhotoFour',
num: 9,
minNum: 1,
title: '房屋屋顶南侧图片',
},{
showKey: 'fw_img3',
key: 'fwImg3',
num: 9,
minNum: 1,
title: '房屋屋顶东南侧图片',
},{
showKey: 'fw_img4',
key: 'fwImg4',
num: 9,
minNum: 1,
title: '房屋屋顶西南侧图片',
},{
showKey: 'fw_img5',
key: 'fwImg5',
num: 9,
minNum: 1,
title: '遮阴物与房屋距离、高度',
},{
showKey: 'survey_video',
key: 'surveyVideo',
num: 8,
minNum: 1,
title: '踏勘补充证明视频',
},{
showKey: 'house_ownership',
key: 'houseOwnership',
num: 8,
minNum: 1,
title: '房产证明',
},{
showKey: 'survey_files_03',
key: 'surveyFiles',
num: 9,
minNum: 1,
title: '户用勘察记录表(附平面草图)',
},{
showKey: 'fw_img1',
key: 'fwImg1',
num: 9,
minNum: 1,
title: '房屋整体图',
},{
showKey: 'vr_roof_one',
key: 'vrRoofOne',
num: 9,
minNum: 1,
title: '房屋整体图VR全景',
},{
showKey: 'vr_roof_two',
key: 'vrRoofTwo',
num: 9,
minNum: 1,
title: '房屋整体俯视图(无人机)',
},{
showKey: 'vr_roof_three',
key: 'vrRoofThree',
num: 9,
minNum: 1,
title: '房屋内部结构图VR',
},{
showKey: 'fw_img2',
key: 'fwImg2',
num: 9,
minNum: 1,
title: '房屋内部结构图',
},{
showKey: 'vr_roof_four',
key: 'vrRoofFour',
num: 9,
minNum: 1,
title: '入户全景照片(VR)',
},{
showKey: 'fly_imgs_04',
key: 'flyImgs',
num: 9,
minNum: 3,
title: '屋顶高空俯视照片',
},{
showKey: 'roof_photo_two_04',
key: 'roofPhotoTwo',
num: 9,
minNum: 1,
title: '屋顶东南照片',
},{
showKey: 'roof_photo_four_04',
key: 'roofPhotoFour',
num: 9,
minNum: 1,
title: '屋顶正南照片',
},{
showKey: 'roof_photo_three_04',
key: 'roofPhotoThree',
num: 9,
minNum: 1,
title: '屋顶西南照片',
},{
showKey: 'vr_roof_four_04',
key: 'vrRoofFour',
num: 9,
minNum: 1,
title: '入户全景照片',
},{
showKey: 'survey_files_04',
key: 'surveyFiles',
num: 4,
title: '现场勘测表',
}],
//房屋信息
roofType: "平屋顶", //默认为平屋顶
sealRoof: '', //是否封屋顶
schemeType: 1, //默认为标准方案
shootType: 1, //默认为无人机拍摄
azimuth: 1, //方位角默认为正南
gender: 1, //默认为男
repaymentMethod: 1, //划转方式默认为二类卡
projectId: '',
insuranceList: ["控制投放及续保", "控制投放", "其他"],
filingList: ['农户备案', '项目公司备案'],
isComplement: false, //默认不需要填写共签人信息
userObj: {}, //业主信息
formSetObj: {}, //自定义字段
verifyFields: [], //校验字段
caseImgArr: [], //示例图数据
productZj: 0, //产品默认的组件值
companyList: [], //对应产品的项目公司列表数据
auditStatus: '1',
nodeType: '1',
gridType: '0',
gfRoofTypeList: [], //广发--屋顶类型
roofTypeAllColumn: {},//选中的屋顶类型
},
/** input数值输入控制 **/
onInput(e) {
let value = e.detail.value;
let name = e.currentTarget.dataset.name;
// 将输入值的小数点替换为一个字符,确保只有两位小数
value = value.replace(/^(\-)*(\d+)\.(\d{2}).*$/, '$1$2.$3');
// 设置输入框的值
this.setData({
[`${name}`]: value
});
},
//只能输入整数
onInput2(e) {
let value = e.detail.value;
let name = e.currentTarget.dataset.name;
value = value.replace(/[^\d]/g,'');
this.setData({
[`${name}`]: value
});
},
onLoad(e) {
if (e.navTitle) {
wx.setNavigationBarTitle({
title: e.navTitle,
})
}
const projectId = e.projectId; //有projectId说明从列表进去,可能是修改或者是暂存过
const type = e.type
const surveyType = e.surveyType
if (projectId) {
this.setData({
projectId,
entryId: projectId,
traderId: wx.getStorageSync('traderId'),
})
}
this.setData({
type,
surveyType,
disabledYear:(new Date()).getFullYear()
})
this.findAllPlan();
this.getCaseImg();
},
onReady() {
const query = wx.createSelectorQuery()
query.select('#Canvas')
.fields({
node: true,
size: true
})
.exec(async (res) => {
const canvas = res[0].node
this.setData({
canvas,
})
})
},
onShow() {},
/*** 获取字典 */
getDictionaryList(partner, callback) {
getAllDictionarySelect({
capitalId: partner,
}).then((res) => {
if(res.data){
this.setData({
roofTypeList: res.data.roof_type.map(item=>item.columns), //屋顶类型
angleAzimuthSel: res.data.angle_azimuth.map(item=>item.columns), //方位角
voltageClassesSel: res.data.voltage_classes.map(item=>item.columns), //并网电压等级
structureTypeSel: res.data.structure_type.map(item=>item.columns), //结构类型
groundTypeSel: res.data.ground_type.map(item=>item.columns), //地面类型
})
}
if(callback) callback(res.data)
})
},
/** 获取自定义字段 */
getFormSet(partner) {
getFormSet({
stage: '02', //01:信息登记,02踏勘设计,03电站安装,04电站并网
partner: partner,
}).then((res) => {
this.setData({
formSetObj: res.data.columns,
})
})
if(partner == '03'){
getKcFormSet().then((res) => {
if(res.data){
this.setData({
gfRoofTypeList: res.data, //广发--屋顶类型数据集合
})
}
})
}
},
/** 获取示例图 */
getCaseImg() {
findTypeReferenceListNew({
typeId: '02', //勘测
}).then((res) => {
if (res.data) {
this.setData({
caseImgArr: res.data,
})
}
})
},
/** 示图图片放大 **/
viewPic(e) {
wx.previewImage({
current: e.currentTarget.dataset.item.map(itm => IMG_BASE_URL + itm.imgsValue)[e.currentTarget.dataset.index], // 当前显示图片的 http 链接
urls: e.currentTarget.dataset.item.map(itm => IMG_BASE_URL + itm.imgsValue) // 需要预览的图片 http 链接列表
})
},
/** 获取电站详情 **/
entryDetail(e) {
let that = this
wx.showLoading({
title: "加载中"
})
entryDetail({
userId: wx.getStorageSync('userId'),
entryId: e.projectId
}).then((res) => {
wx.hideLoading()
var componentNum = 0; //设计安装容量
// 组件,1逆变器,并网箱,4支架
if (res.componentList.length > 0) {
var componentList = [];
var converterList = [];
var cagesList = [];
var supportList = [];
for (let i = 0; i < res.componentList.length; i++) {
const element = res.componentList[i];
var OB = {
id: "",
num: "", //数量
model: "", //名称
addType: 0,
}
if (element.item_type == 3) {
OB.id = element.item_id;
OB.num = element.num;
OB.model = element.model;
OB.material_model = element.material_model;
componentNum = (element.num * element.model + componentNum)
componentList.push(OB)
} else if (element.item_type == 1) {
OB.id = element.item_id;
OB.num = element.num;
OB.model = element.model;
OB.material_model = element.material_model;
converterList.push(OB)
} else if (element.item_type == 2) {
OB.id = element.item_id;
OB.num = element.num;
OB.model = element.model;
cagesList.push(OB)
} else if (element.item_type == 4) {
OB.id = element.item_id;
OB.num = element.num;
OB.model = element.model;
supportList.push(OB)
}
}
//维持默认数组第一addType为1,用以显示新增按钮
if (componentList.length > 0) {
componentList[0].addType = 1;
this.setData({
componentList: componentList
})
} else {
this.setData({
componentList: [{
id: res.modeId ? res.modeId : '', //默认产品信息中的组件规格id
num: '', //数量
model: res.modeId ? res.assemblySpecs : '', //名称,默认产品信息中的组件规格
addType: 1,
}], //组件初始数量
})
}
if (converterList.length > 0) {
converterList[0].addType = 1;
this.setData({
converterList: converterList
})
} else {
this.setData({
converterList: [{
id: "",
num: "", //数量
model: "", //名称
addType: 1,
}], //逆变器初始数量
})
}
if (cagesList.length > 0) {
cagesList[0].addType = 1;
this.setData({
cagesList: cagesList
})
} else {
this.setData({
cagesList: [{
id: "",
num: "", //数量
model: "", //名称
addType: 1,
}], //并网箱初始数量
})
}
if (supportList.length > 0) {
supportList[0].addType = 1;
this.setData({
supportList: supportList
})
} else {
this.setData({
supportList: [{
id: "",
num: "", //数量
model: "", //名称
addType: 1,
}], //支架初始数量
})
}
} else {
this.setData({
componentList: [{
id: res.modeId ? res.modeId : '', //默认产品信息中的组件规格id
num: "", //数量
model: res.modeId ? res.assemblySpecs : '', //名称,默认产品信息中的组件规格
addType: 1,
}], //组件初始数量
converterList: [{
id: "",
num: "", //数量
model: "", //名称
addType: 1,
}], //逆变器初始数量
cagesList: [{
id: "",
num: "", //数量
model: "", //名称
addType: 1,
}], //并网箱初始数量
supportList: [{
id: "",
num: "", //数量
model: "", //名称
addType: 1,
}], //支架初始数量
})
}
this.setData({
productZj: res.assemblySpecs ? Number(res.assemblySpecs) : 0, //产品默认的组件值
componentNum: (componentNum / 1000).toFixed(3),
})
//预计投放日默认当前时间后60天
let date = new Date();
//这里的60就是你要加的天数减也可以。年、月会相应加上去值得注意的是date.getMonth()得到的月份比实际月份小1所以实际月份是(date.getMonth()+1)
date.setDate(date.getDate() + 60);
var leaseDate = utils.formatTime2(date);
// var leaseDate = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate();
this.setData({
detail: res,
id: res.id, //修改数据的时候传此ID
bankFlag:res.bankFlag,//开卡按钮标记1.可开卡 2.不可开卡
projectId: res.project_id,
projectCode: res.projectCode,
projectName: res.projectName,
tenant_type: res.tenant_type == '1' ? '个人' : '单位', //1.个人2单位
capitalId: res.zfId, //资方
capitalName: res.zfName, //资方
roofType: res.roof_type,
shootType: res.shoot_type ? res.shoot_type : 1,
// capture:res.shoot_type&&(res.shoot_type == 1) ? ['album', 'camera'] : ['camera'],//1.无人机拍摄 2.手机拍摄
azimuth: res.azimuth ? res.azimuth : '', //方位角
directionDeg: res.angle, //方位角
repaymentMethod: res.repayment_method ? res.repayment_method : 1,
//如果租金划转方式是二类卡,那么二类卡的信息 显示这个
secCardName: res.secCardName ? res.secCardName : '', //二类卡账户名
secCardNo: res.secCardNo ? res.secCardNo : '', //二类卡账号
secBankNumber: res.secBankNumber ? res.secBankNumber : '', //二类卡联行号
distance: res.distance, //配电箱至并网点距离
buildingHeight: res.building_height, //建筑高度
ewLength: res.ew_length, //东西长
nsWide: res.ns_wide, //南北宽
remark: res.remarks,
schemeType: res.scheme_type ? res.scheme_type : 1,
solutionRemark: res.scheme_remarks,
paycycle: res.pay_cycle,
companyName: res.project_company_name,
companyId: res.project_company_id,
insuranceFlag: res.insurance_flag, // 保险购买情况:1.控制投放及续保 2.控制投放 3.其他
filingType: res.filing_type, // 备案类型:1.农户备案 2.项目公司备案
leaseDate: res.lease_date ? res.lease_date : leaseDate, //预计投放日
filingDocumentCode: res.filing_document_code, //项目备案代码
/********/
sealRoof: res.seal_roof, //是否封屋顶1是2.否
completionYear: res.completion_year ? res.completion_year : '', //房屋建成年份
slopeGradient: res.slope_gradient, //屋面坡度
purlineInterval: res.purline_interval, //檀条间距
waterproof: res.waterproof, //屋顶防水情况
sourcePollution: res.source_pollution, //是否有污染源
opsCondition: res.ops_condition, //是否具备运维空间
voltageClasses: res.voltage_classes, //并网电压等级
transformerCapacity: res.transformer_capacity, //变压器容量
restrictFlag: res.restrict_flag, //是否符合变压器容量限制要求
dipAngle: res.dip_angle, //组件倾角
roofArea: res.roof_area, //屋顶面积
//业主信息参数
name: res.tenant_name,
phone: res.mobile,
idCard: res.id_code,
regno: res.regno,
provinceName: res.province,
cityName: res.city,
areaName: res.area,
address: res.address,
longitude: res.longitude,
latitude: res.latitude,
age: res.age,
gender: res.gender == "MALE" ? "1" : "2", //性别
bankName: res.bank_name ? res.bank_name : '', //卡账号名称
bankCode: res.bank_code ? res.bank_code : '', //卡账号
tssBankNum: res.tss_bank_num ? res.tss_bank_num : '', //卡开户行
tssBankNumName: res.tss_bank_num_name, //卡开户行名称
bankCard: res.bank_card, //银行卡照片
idCardFront: res.id_card_front, //身份证正面
idCardBack: res.id_card_back, //身份证反面
residenceBooklet: res.residence_booklet, //户口本复印件
estimateCapacity: res.estimate_capacity, //预估组件
//共签人信息年龄大于65岁需要共签人
bpName: res.bp_name, //共签人名称
bpRelation: res.bp_relation, //共签人与业主关系
bpIdCard: res.bp_id_card, //共签人证件号码,不能与租户身份证号码相同
bpMobile: res.bp_mobile, //共签人手机号
bpCardFront: res.bp_card_front, // 共签人身份证正面
bpCardBack: res.bp_card_back, // 共签人身份证反面
bpFile: res.bp_file, // 共签人子女证明材料
auditRemarks: res.zs_audit_remarks, //审核意见
auditStatus: res.zs_flag?res.zs_flag: '1', //审核结果
nodeType: res.node_type?res.node_type:'1', //驳回节点
roofFaceThickness: res.roof_face_thickness,//屋面板厚度
structureType: res.structure_type,//结构类型
siteSlope: res.site_slope,//场地坡度
groundType: res.ground_type,//地面类型
geologicalCondition: res.geological_condition,//地质情况
fenceHeight: res.fence_height,//围墙高度
windPressure: res.wind_pressure, //风压
snowPressure: res.snow_pressure, //雪压
pressureLevel: res.pressure_level, //风雪压等级
})
//并网方式处理
if(res.recordBoxHistory){
if(res.recordBoxHistory ==''){//并网方式没选择过,默认‘单户并网’
this.setData({
// gridType: '0',//并网方式
boxTotalCount: '', //总数
boxGroupNum: '', //编号
boxGroupName: '', //名称
})
}else{
this.setData({
gridType: res.recordBoxHistory.type,//并网方式
gridStatus: res.recordBoxHistory.status,//状态为1不能编辑
boxTotalCount: res.recordBoxHistory.total_count,
boxGroupNum: res.recordBoxHistory.group_number,
boxGroupName: res.recordBoxHistory.group_name,
boxGroupId: res.recordBoxHistory.box_group_id,
})
}
}
if (res.insurance_flag == 1) {
this.setData({
insurance: "控制投放及续保"
})
} else if (res.insurance_flag == 2) {
this.setData({
insurance: "控制投放"
})
} else if (res.insurance_flag == 3) {
this.setData({
insurance: "其他"
})
}
if (res.filing_type == 1) { //如果是农户备案。只能选择二类卡
this.setData({
filingName: "农户备案",
repaymentMethod: 1
})
} else if (res.filing_type == 2) {
this.setData({
filingName: "项目公司备案",
repaymentMethod: 0
})
}
//当业主年龄大于65岁时共签人信息必填
if (res.age >= 65) {
this.setData({
isComplement: true
})
}
if (res.longitude && res.latitude) {
this.setData({
longitudeAndLongitude: res.longitude + "," + res.latitude
})
}
if (res.scheme_type == 1) {
for (let i = 0; i < that.data.planList.length; i++) {
const element = that.data.planList[i];
if (res.scheme_type_id && (res.scheme_type_id == element.id)) {
this.setData({
standardSolutionsListIndex: i,
})
}
}
this.setData({
[`standardSolutionsList[0].id`]: res.scheme_id ? res.scheme_id : '',
[`standardSolutionsList[0].type`]: res.scheme_type_name ? res.scheme_type_name : '',
[`standardSolutionsList[0].typeId`]: res.scheme_type_id ? res.scheme_type_id : '',
[`standardSolutionsList[0].name`]: res.scheme_name ? res.scheme_name : "",
})
} else if (res.scheme_type == 2) {
if (res.composePlanList.length > 0) {
var combinedSolutionsList = []
for (let i = 0; i < res.composePlanList.length; i++) {
var combinedSolutionsListOB = {}
const element = res.composePlanList[i];
if (i == 0) {
combinedSolutionsListOB.addType = 1;
}
combinedSolutionsListOB.code = element.code;
combinedSolutionsListOB.id = element.planId;
combinedSolutionsListOB.name = element.name;
combinedSolutionsListOB.type = element.planType;
combinedSolutionsListOB.planTypeId = element.planTypeId;
for (let i = 0; i < that.data.planList.length; i++) {
const planTypeObj = that.data.planList[i];
if (planTypeObj.allPlan.length > 0) {
for (let j = 0; j < planTypeObj.allPlan.length; j++) {
const plan = planTypeObj.allPlan[j];
if (plan.id == element.planId) {
combinedSolutionsListOB.pickerIndex = i
}
}
}
}
combinedSolutionsList.push(combinedSolutionsListOB)
}
this.setData({
combinedSolutionsList: combinedSolutionsList
})
}
}
// 添加图片
this.setData({
[`photo.flyImgs`]: res.fly_imgs ? res.fly_imgs.split(",").map(itm => {
return {
name: itm,
url: IMG_BASE_URL + itm
}
}) : [], //无人机航拍图
[`photo.roofPhotoOne`]: res.roof_photo_one ? res.roof_photo_one.split(",").map(itm => {
return {
name: itm,
url: IMG_BASE_URL + itm
}
}) : [], //安装区域整体照片
[`photo.roofPhotoTwo`]: res.roof_photo_two ? res.roof_photo_two.split(",").map(itm => {
return {
name: itm,
url: IMG_BASE_URL + itm
}
}) : [], //安装区域东南角照片
[`photo.roofPhotoThree`]: res.roof_photo_three ? res.roof_photo_three.split(",").map(itm => {
return {
name: itm,
url: IMG_BASE_URL + itm
}
}) : [], //安装区域西南角照片
[`photo.roofPhotoFour`]: res.roof_photo_four ? res.roof_photo_four.split(",").map(itm => {
return {
name: itm,
url: IMG_BASE_URL + itm
}
}) : [], //安装区域正南照片
[`photo.roofPhotoFive`]: res.roof_photo_five ? res.roof_photo_five.split(",").map(itm => {
return {
name: itm,
url: IMG_BASE_URL + itm
}
}) : [], //安装区域细节照片
[`photo.roofPhotoInterior`]: res.roof_photo_interior ? res.roof_photo_interior.split(",").map(itm => {
return {
name: itm,
url: IMG_BASE_URL + itm
}
}) : [], //房屋内部环境照片
[`photo.roofPhotoFacade`]: res.roof_photo_facade ? res.roof_photo_facade.split(",").map(itm => {
return {
name: itm,
url: IMG_BASE_URL + itm
}
}) : [], //房屋内部结构照片
[`photo.detailSupplementOne`]: res.detail_supplement_one ? res.detail_supplement_one.split(",").map(itm => {
return {
name: itm,
url: IMG_BASE_URL + itm
}
}) : [], //逆变器、配电箱预安装位置照片
[`photo.houseSupplementOne`]: res.house_supplement_one ? res.house_supplement_one.split(",").map(itm => {
return {
name: itm,
url: IMG_BASE_URL + itm
}
}) : [], //房屋其他障碍物照片
[`photo.surveyVideo`]: res.survey_video ? res.survey_video.split(",").map(itm => {
return {
name: itm,
url: IMG_BASE_URL + itm
}
}) : [], //踏勘补充证明视频
[`photo.surveyFiles`]: res.survey_files ? res.survey_files.split(",").map(itm => { return { name: itm, url: IMG_BASE_URL + itm}}) : [], //踏勘记录表
[`photo.houseOwnership`]: res.house_ownership ? res.house_ownership.split(",").map(itm => { return { name: itm, url: IMG_BASE_URL + itm}}) : [], //房产证
[`photo.vrRoofOne`]: res.vr_roof_one ? res.vr_roof_one.split(",").map(itm => { return { name: itm, url: IMG_BASE_URL + itm}}) : [], //房屋整体图VR全景
[`photo.vrRoofTwo`]: res.vr_roof_two ? res.vr_roof_two.split(",").map(itm => { return { name: itm, url: IMG_BASE_URL + itm}}) : [], //房屋整体俯视图VR
[`photo.vrRoofThree`]: res.vr_roof_three ? res.vr_roof_three.split(",").map(itm => { return { name: itm, url: IMG_BASE_URL + itm}}) : [], //房屋内部结构图VR
[`photo.vrRoofFour`]: res.vr_roof_four ? res.vr_roof_four.split(",").map(itm => { return { name: itm, url: IMG_BASE_URL + itm}}) : [], //入户全景照片(VR)
[`photo.houseOutlinePhoto`]: res.house_outline_photo ? res.house_outline_photo.split(",").map(itm => { return { name: itm, url: IMG_BASE_URL + itm}}) : [], //房屋轮廓照片
// [`photo.phoneVideo`]:res.roof_value ? [{name:res.roof_value,url:IMG_BASE_URL + res.roof_value}] : [],//屋顶视频
// [`photo.phoneHouse`]:res.house_ownership ? this.data.photo.phoneHouse: [],//房产证
// [`photo.filingDocumentPhoto`]:res.filing_document_photo ? [{name:res.filing_document_photo,url:IMG_BASE_URL + res.filing_document_photo}] : [],//备案文件
//房屋照片
// [`photo.roofPhotoSix`]:res.roof_photo_six ? [{name:res.roof_photo_six,url:IMG_BASE_URL + res.roof_photo_six}] : [],//补充2
// [`photo.houseSupplementTwo`]:res.house_supplement_two ? [{name:res.house_supplement_two,url:IMG_BASE_URL + res.house_supplement_two}] : [],//房屋补充2
//细节照片
// [`photo.roofPhotoSeven`]:res.roof_photo_seven ? [{name:res.roof_photo_seven,url:IMG_BASE_URL + res.roof_photo_seven}] : [],//障碍物照片
// [`photo.dimensionsPhotoThickness`]:res.dimensions_photo_thickness ? [{name:res.dimensions_photo_thickness,url:IMG_BASE_URL + res.dimensions_photo_thickness}] : [],//楼顶厚度/围墙
// [`photo.detailSupplementTwo`]:res.detail_supplement_two ? [{name:res.detail_supplement_two,url:IMG_BASE_URL + res.detail_supplement_two}] : [],//细节补充2
//踏勘记录表
// [`photo.surveyPhoneOne`]:res.survey_record ? [{name:res.survey_record,url:IMG_BASE_URL + res.survey_record}] : [],//踏勘记录表
// [`photo.surveyPhoneTwo`]:res.survey_record2 ? [{name:res.survey_record2,url:IMG_BASE_URL + res.survey_record2}] : [],//踏勘记录表2
//方案信息
'photo.designDrawings': res.design_drawings ? res.design_drawings.split(",").map(itm => {
return {
name: itm,
url: IMG_BASE_URL + itm
}
}) : [], //设计图纸
'photo.zjpbImg': res.zjpb_img ? res.zjpb_img.split(",").map(itm => {return {name: itm,url: IMG_BASE_URL + itm}}) : [], //组件排布图
'photo.zjzxImg': res.zjzx_img ? res.zjzx_img.split(",").map(itm => {return {name: itm,url: IMG_BASE_URL + itm}}) : [], //组件接线图
'photo.zjcsImg': res.zjcs_img ? res.zjcs_img.split(",").map(itm => {return {name: itm,url: IMG_BASE_URL + itm}}) : [], //组件支架图
'photo.zjhsImg': res.zjhs_img ? res.zjhs_img.split(",").map(itm => {return {name: itm,url: IMG_BASE_URL + itm}}) : [], //电气图
//2024-9-4 广发
'photo.fwImg1': res.fw_img1 ? res.fw_img1.split(",").map(itm => {return {name: itm,url: IMG_BASE_URL + itm}}) : [], //房屋整体图
'photo.fwImg2': res.fw_img2 ? res.fw_img2.split(",").map(itm => {return {name: itm,url: IMG_BASE_URL + itm}}) : [], //房屋内部结构图
'photo.fwImg3': res.fw_img3 ? res.fw_img3.split(",").map(itm => {return {name: itm,url: IMG_BASE_URL + itm}}) : [], //房屋屋顶东南侧图片
'photo.fwImg4': res.fw_img4 ? res.fw_img4.split(",").map(itm => {return {name: itm,url: IMG_BASE_URL + itm}}) : [], //房屋屋顶西南侧图片
'photo.fwImg5': res.fw_img5 ? res.fw_img5.split(",").map(itm => {return {name: itm,url: IMG_BASE_URL + itm}}) : [], //遮阴物与房屋距离、高度
// [`photo.nbqwzImg`]: res.nbqwz_img ? [{name:res.nbqwz_img,url:IMG_BASE_URL + res.nbqwz_img}] : [],//逆变器位置图
// [`photo.pdxwzImg`]: res.pdxwz_img ? [{name:res.pdxwz_img,url:IMG_BASE_URL + res.pdxwz_img}] : [],//配电箱位置图
// [`photo.dzImgs`]: res.dz_imgs ? res.dz_imgs.split(",").map(itm=>{return {name:itm, url:IMG_BASE_URL + itm}}) : [],//组合图
});
this.getFormSet(res.management); //设置的参数
//下拉字典
this.getDictionaryList(res.management, (res2)=>{
if(res2.angle_azimuth){
let angleList = res2.angle_azimuth.map(item=>item.columns);
if(res.azimuth){
let azimuthName = angleList.find(itm => itm.dict_key === res.azimuth).dict_value;
this.setData({
azimuthName
})
}
}
});
setTimeout(()=>{
if(res.management == '03' && res.roof_type !=''){
this.roofTypeToColumn(res.roof_type)
}
},500)
this.getProjectList();
this.getElectricPlanAll();
this.getCompanyList();
})
},
/** 获取产品编号 **/
getProjectList(e) {
getProjectByArea({
province: this.data.provinceName,
city: this.data.cityName,
area: this.data.areaName,
userId: wx.getStorageSync('userId'),
type: 1,
tenantType: this.data.tenant_type == '单位' ? '2' : '1', //租户类型1.个人2单位
filType: this.data.tenant_type == '单位' ? '2' : '1', //租户类型1.个人2单位
projectId: this.data.capitalId,
filingType: this.data.filingType, //备案类型1.农户2项目公司
}).then((res) => {
this.setData({
projectList: res.data && res.data.length ? res.data.map(itm => itm.columns) : []
})
})
},
/** 获取项目公司列表数据 **/
getCompanyList(e) {
getCompany({
traderId: wx.getStorageSync('traderId'),
projectId: this.data.projectId,
province: this.data.provinceName,
city: this.data.cityName,
area: this.data.areaName,
partner: this.data.capitalId, //资方
filingType: this.data.filingType?this.data.filingType:'', //备案类型
}).then((res) => {
this.setData({
companyList: res.data && res.data.length ? res.data.map(itm => itm.columns) : []
})
})
},
/* 获取风雪压等级*/
getPressure(province,city,area) {
getPressureLevel({
province: this.data.provinceName,
city: this.data.cityName,
area: this.data.areaName,
}).then((res) => {
if(res.code == 200){
if(res.data){
this.setData({
windPressure: res.data.columns.wind_pressure, //风压
snowPressure: res.data.columns.snow_pressure, //雪压
pressureLevel: res.data.columns.pressure_level, //风雪压等级
})
}
}
})
},
/** 获取组件、逆变器、并网箱、支架列表 **/
getElectricPlanAll(e) {
getElectricPlanAll({
partnerId: this.data.capitalId,//资方
}).then((res) => {
var AllComponentApiList = [];
var converterApiList = [];
var cagesApiList = [];
var supportApiList = [];
for (let i = 0; i < res.zjs.length; i++) {
const element = res.zjs[i].columns;
AllComponentApiList.push(element)
}
for (let j = 0; j < res.inverters.length; j++) {
const element = res.inverters[j].columns;
converterApiList.push(element)
}
for (let k = 0; k < res.boxs.length; k++) {
const element = res.boxs[k].columns;
cagesApiList.push(element)
}
for (let m = 0; m < res.zhij.length; m++) {
const element = res.zhij[m].columns;
supportApiList.push(element)
}
let componentApiList = AllComponentApiList.length ? AllComponentApiList.filter(itm => Number(itm.model) >= this.data.productZj) : []; //过滤大于等于productZj的组件列表
this.setData({
AllComponentApiList: AllComponentApiList,
componentApiList: componentApiList, //组件
[`componentList[${0}].material_model`]: componentApiList.length && (this.data.componentList[0].id == '') ? componentApiList[0].material_model : this.data.componentList[0].material_model,
[`componentList[${0}].model`]: componentApiList.length && (this.data.componentList[0].id == '') ? componentApiList[0].model : this.data.componentList[0].model,
[`componentList[${0}].id`]: componentApiList.length && (this.data.componentList[0].id == '') ? componentApiList[0].id : this.data.componentList[0].id,
converterApiList: converterApiList, //逆变器
cagesApiList: cagesApiList, //并网箱
supportApiList: supportApiList, //支架
})
})
},
/** 获取方案类型和方案名称 **/
findAllPlan(e) {
let that = this
findAllPlan({
}).then((res) => {
for (let i = 0; i < res.length; i++) {
if (res[i].allPlan) {
res[i].allPlan = JSON.parse(res[i].allPlan)
for (let j = 0; j < res[i].allPlan.length; j++) {
var element = res[i].allPlan[j].columns;
res[i].allPlan[j] = element
}
}
}
that.setData({
planList: res,
})
if (that.data.projectId) {
that.entryDetail({
projectId: that.data.projectId
})
} else {
this.setData({
componentList: [{
id: "",
num: "", //数量
model: "", //名称
addType: 1,
}], //组件初始数量
converterList: [{
id: "",
num: "", //数量
model: "", //名称
addType: 1,
}], //逆变器初始数量
cagesList: [{
id: "",
num: "", //数量
model: "", //名称
addType: 1,
}], //并网箱初始数量
supportList: [{
id: "",
num: "", //数量
model: "", //名称
addType: 1,
}], //支架初始数量
componentNum: 0, //设置安装容量
})
}
})
},
/** 暂存提交数据 **/
submitFrom(e) {
var that = this
var type = e.currentTarget.dataset.type
var flag = e.currentTarget.dataset.flag
// console.log("3:初勘 4.初勘暂存",type);
// return
wx.showLoading({
title: '提交中',
mask: true
})
var composePlanList = []; // 标准方案或组合方案
// if (this.data.schemeType == 2) { //组合
// this.data.combinedSolutionsList.forEach(element => {
// var composePlanListOB = {}
// if (element.planTypeId) {
// composePlanListOB.code = element.code;
// composePlanListOB.name = element.name;
// composePlanListOB.planType = element.type;
// composePlanListOB.planId = element.id;
// composePlanListOB.planTypeId = element.planTypeId;
// composePlanList.push(composePlanListOB)
// }
// });
// }
var itemList = []; //组件 逆变器 并网箱 支架
this.data.componentList.forEach(element => { //组件
if (element.id) {
var component = {}
component.itemType = 3;
component.itemId = element.id;
component.num = element.num
itemList.push(component)
}
});
this.data.converterList.forEach(element => { //逆变器
if (element.id) {
var component = {}
component.itemType = 1;
component.itemId = element.id;
component.num = element.num;
itemList.push(component)
}
});
this.data.cagesList.forEach(element => { //并网箱
if (element.id) {
var component = {}
component.itemType = 2;
component.itemId = element.id;
component.num = element.num;
itemList.push(component)
}
});
this.data.supportList.forEach(element => { //支架
if (element.id) {
var support = {}
support.itemType = 4;
support.itemId = element.id;
support.num = element.num;
itemList.push(support)
}
});
//接口数据
var userId = wx.getStorageSync('userId')
var CustomerEntry = {
type: type, //0:暂存 1:提交 3:初勘 4.初勘暂存
composePlanLists: composePlanList.length > 0 ? composePlanList : [],
itemList: itemList.length > 0 ? itemList : [],
projectId: this.data.projectId, //项目ID
projectCode: this.data.projectCode, //产品编号
projectName: this.data.projectName, //产品名称
company: this.data.companyId, //项目公司id
filingType: this.data.filingType ? this.data.filingType : "", //备案类型 1.农户备案 2.项目公司备案
// insuranceFlag: this.data.insuranceFlag ? this.data.insuranceFlag : "", // 保险购买情况:1.控制投放及续保 2.控制投放 3.其他
insuranceFlag: "1", // 保险购买情况:1.控制投放及续保 2.控制投放 3.其他
leaseDate: this.data.leaseDate ? this.data.leaseDate : "", //预计投放日
repaymentMethod: this.data.repaymentMethod, //划转方式
// filingDocumentCode: this.data.filingDocumentCode ? this.data.filingDocumentCode : "", //项目备案代码
//共签人信息
// bpCardFront: this.data.bpCardFront, //共签人身份证正面
// bpCardBack: this.data.bpCardBack, //共签人身份证反面
// bpFile: this.data.bpFile, //共签人子女证明材料
// bpName: this.data.bpName ? this.data.bpName : "", //共签人名称
// bpRelation: this.data.bpRelation ? this.data.bpRelation : "", //共签人与业主关系
// bpIdCard: this.data.bpIdCard ? this.data.bpIdCard : "", //共签人证件号码,不能与租户身份证号码相同
// bpMobile: this.data.bpMobile ? this.data.bpMobile : "", //共签人手机号
//业主信息
// tenantName: this.data.name, //业主姓名
// mobile: this.data.phone ? this.data.phone : "", //联系方式
// gender: this.data.gender == 1 ? "MALE" : "FEMALE", //性别
// age: this.data.age ? this.data.age : "", //年龄
// bankName: this.data.bankName ? this.data.bankName : "", //账号名称
// bankCode: this.data.bankCode ? this.data.bankCode : "", //账号
// tssBankNum: this.data.tssBankNum ? this.data.tssBankNum : "", //开户行
// tssBankNumName:this.data.tssBankNumName ? this.data.tssBankNumName : "", //开户行名称
// estimateCapacity: this.data.estimateCapacity, //预估组件
// bankCard: this.data.bankCard, //银行卡照片
// idCardFront: this.data.idCardFront, //身份证正面
// idCardBack: this.data.idCardBack, //身份证反面
// idCode: this.data.idCard ? this.data.idCard : "", //身份证卡号
// residenceBooklet: this.data.residenceBooklet, //户口本复印件
province: this.data.provinceName ? this.data.provinceName : "", //省
city: this.data.cityName ? this.data.cityName : "", //市
area: this.data.areaName ? this.data.areaName : "", //区
address: this.data.address ? this.data.address.trim() : "", //详细地址
longitude: this.data.longitude ? this.data.longitude : "", //经度
latitude: this.data.latitude ? this.data.latitude : "", //纬度
//房屋信息
roofType: this.data.roofType, //屋顶类型
sealRoof: this.data.sealRoof, //是否封屋顶
completionYear: this.data.completionYear, //房屋建成年份
azimuth: this.data.azimuth, //方位角
angle: this.data.azimuth!=1 && this.data.azimuth!=10 && this.data.azimuth!=11 && this.data.azimuth!=12 ? this.data.directionDeg : "", //方位角角度
buildingHeight: this.data.buildingHeight ? this.data.buildingHeight : "", //建筑高度
ewLength: this.data.ewLength ? this.data.ewLength : "", //东西长
nsWide: this.data.nsWide ? this.data.nsWide : "", //南北宽
slopeGradient: this.data.roofType == '斜屋顶' ? this.data.slopeGradient : '', //屋面坡度
purlineInterval: this.data.roofType == '斜屋顶' ? this.data.purlineInterval : '', //檀条间距
waterproof: this.data.waterproof, //屋顶防水情况
sourcePollution: this.data.sourcePollution, //是否有污染源
opsCondition: this.data.opsCondition, //是否具备运维空间
voltageClasses: this.data.voltageClasses, //并网电压等级
transformerCapacity: this.data.transformerCapacity, //变压器容量
restrictFlag: this.data.restrictFlag, //是否符合变压器容量限制要求
distance: this.data.distance ? this.data.distance : "", //配电箱至并网点距离
dipAngle: this.data.dipAngle ? this.data.dipAngle : "", //组件倾角
roofArea: this.data.roofArea ? this.data.roofArea : "", //屋顶面积
// shootType: this.data.shootType, //拍摄方式
// houseOwnership: this.data.photo.phoneHouse.length > 0 ? this.data.photo.phoneHouse.map(itm=>itm.name).join(",") : "", //房产证照片
// surveyRecord: this.data.photo.surveyPhoneOne.length > 0 ? this.data.photo.surveyPhoneOne[0].name : "", //踏勘记录表1
// surveyRecord2: this.data.photo.surveyPhoneTwo.length > 0 ? this.data.photo.surveyPhoneTwo[0].name : "", //踏勘记录表2
// roofValue: this.data.photo.phoneVideo.length > 0 ? this.data.photo.phoneVideo[0].name : "", //屋顶视频
//房屋照片
fwImg1: this.data.photo.fwImg1.length > 0 ? this.data.photo.fwImg1.map(itm => itm.name).join(",") : "", //房屋整体图
fwImg2: this.data.photo.fwImg2.length > 0 ? this.data.photo.fwImg2.map(itm => itm.name).join(",") : "", //房屋内部结构图
fwImg3: this.data.photo.fwImg3.length > 0 ? this.data.photo.fwImg3.map(itm => itm.name).join(",") : "", //房屋屋顶东南侧图片
fwImg4: this.data.photo.fwImg4.length > 0 ? this.data.photo.fwImg4.map(itm => itm.name).join(",") : "", //房屋屋顶西南侧图片
fwImg5: this.data.photo.fwImg5.length > 0 ? this.data.photo.fwImg5.map(itm => itm.name).join(",") : "", //遮阴物与房屋距离、高度
flyImgs: this.data.photo.flyImgs.length > 0 ? this.data.photo.flyImgs.map(itm => itm.name).join(",") : "", //无人机航拍图
roofPhotoOne: this.data.photo.roofPhotoOne.length > 0 ? this.data.photo.roofPhotoOne.map(itm => itm.name).join(",") : "", //安装区域整体照片
roofPhotoTwo: this.data.photo.roofPhotoTwo.length > 0 ? this.data.photo.roofPhotoTwo.map(itm => itm.name).join(",") : "", //安装区域东南角照片
roofPhotoThree: this.data.photo.roofPhotoThree.length > 0 ? this.data.photo.roofPhotoThree.map(itm => itm.name).join(",") : "", //安装区域西南角照片
roofPhotoFour: this.data.photo.roofPhotoFour.length > 0 ? this.data.photo.roofPhotoFour.map(itm => itm.name).join(",") : "", //安装区域正南照片
roofPhotoFive: this.data.photo.roofPhotoFive.length > 0 ? this.data.photo.roofPhotoFive.map(itm => itm.name).join(",") : "", //安装区域细节照片
roofPhotoFacade: this.data.photo.roofPhotoFacade.length > 0 ? this.data.photo.roofPhotoFacade.map(itm => itm.name).join(",") : "", //房屋内部结构照片;
roofPhotoInterior: this.data.photo.roofPhotoInterior.length > 0 ? this.data.photo.roofPhotoInterior.map(itm => itm.name).join(",") : "", //房屋内部环境照片;
detailSupplementOne: this.data.photo.detailSupplementOne.length > 0 ? this.data.photo.detailSupplementOne.map(itm => itm.name).join(",") : "", //逆变器、配电箱预安装位置照片
houseSupplementOne: this.data.photo.houseSupplementOne.length > 0 ? this.data.photo.houseSupplementOne.map(itm => itm.name).join(",") : "", //房屋其他障碍物照片
surveyVideo: this.data.photo.surveyVideo.length > 0 ? this.data.photo.surveyVideo.map(itm => itm.name).join(",") : "", //踏勘补充证明视频
surveyFiles: this.data.photo.surveyFiles.length > 0 ? this.data.photo.surveyFiles.map(itm => itm.name).join(",") : "", //踏勘记录表
houseOwnership: this.data.photo.houseOwnership.length > 0 ? this.data.photo.houseOwnership.map(itm => itm.name).join(",") : "", //房产证
vrRoofOne: this.data.photo.vrRoofOne.length > 0 ? this.data.photo.vrRoofOne.map(itm => itm.name).join(",") : "", //房屋整体图VR全景
vrRoofTwo: this.data.photo.vrRoofTwo.length > 0 ? this.data.photo.vrRoofTwo.map(itm => itm.name).join(",") : "", //房屋整体俯视图VR
vrRoofThree: this.data.photo.vrRoofThree.length > 0 ? this.data.photo.vrRoofThree.map(itm => itm.name).join(",") : "", //房屋内部结构图VR
vrRoofFour: this.data.photo.vrRoofFour.length > 0 ? this.data.photo.vrRoofFour.map(itm => itm.name).join(",") : "", //入户全景照片(VR)
houseOutlinePhoto: this.data.photo.houseOutlinePhoto.length > 0 ? this.data.photo.houseOutlinePhoto.map(itm => itm.name).join(",") : "", //房屋轮廓照片(VR)
// roofPhotoSix: this.data.photo.roofPhotoSix.length > 0 ? this.data.photo.roofPhotoSix[0].name : "", //补充2
// houseSupplementTwo: this.data.photo.houseSupplementTwo.length > 0 ? this.data.photo.houseSupplementTwo[0].name : "", //房屋补充2
//细节照片
// roofPhotoSeven: this.data.photo.roofPhotoSeven.length > 0 ? this.data.photo.roofPhotoSeven[0].name : "", //障碍物照片
// dimensionsPhotoThickness: this.data.photo.dimensionsPhotoThickness.length > 0 ? this.data.photo.dimensionsPhotoThickness[0].name : "", //楼顶厚度/围墙
// detailSupplementTwo: this.data.photo.detailSupplementTwo.length > 0 ? this.data.photo.detailSupplementTwo[0].name : "", //细节补充2
// filingDocumentPhoto: this.data.photo.filingDocumentPhoto.length > 0 ? this.data.photo.filingDocumentPhoto[0].name : "", //备案文件
// remarks: this.data.remark ? this.data.remark : "", //备注
//方案信息
designDrawings: this.data.photo.designDrawings.length > 0 ? this.data.photo.designDrawings.map(itm => itm.name).join(",") : "", //设计图纸,
zjpbImg: this.data.photo.zjpbImg.length > 0 ? this.data.photo.zjpbImg.map(itm => itm.name).join(",") : "", //组件排布图,
zjzxImg: this.data.photo.zjzxImg.length > 0 ? this.data.photo.zjzxImg.map(itm => itm.name).join(",") : "", //组件支架图,
zjcsImg: this.data.photo.zjcsImg.length > 0 ? this.data.photo.zjcsImg.map(itm => itm.name).join(",") : "", //组件接线图,
zjhsImg: this.data.photo.zjhsImg.length > 0 ? this.data.photo.zjhsImg.map(itm => itm.name).join(",") : "", //电气图,
// nbqwzImg: this.data.photo.nbqwzImg.length > 0 ? this.data.photo.nbqwzImg[0].name : "", //逆变器位置
// pdxwzImg: this.data.photo.pdxwzImg.length > 0 ? this.data.photo.pdxwzImg[0].name : "", //配电箱位置
// dzImgs: this.data.photo.dzImgs.length > 0 ? this.data.photo.dzImgs.map(itm=>itm.name).join(",") : "", //组合图
schemeType: this.data.schemeType, //设计方案
schemeTypeId: this.data.schemeType == 1 ? this.data.standardSolutionsList[0].typeId ? this.data.standardSolutionsList[0].typeId : "" : "", //当设计方案为标准方案时,传参
schemeTypeName: this.data.schemeType == 1 ? this.data.standardSolutionsList[0].type ? this.data.standardSolutionsList[0].type : "" : "",
schemeId: this.data.schemeType == 1 ? this.data.standardSolutionsList[0].id ? this.data.standardSolutionsList[0].id : "" : "",
schemeName: this.data.schemeType == 1 ? this.data.standardSolutionsList[0].name ? this.data.standardSolutionsList[0].name : "" : "",
schemeRemarks: this.data.solutionRemark ? this.data.solutionRemark : "", //方案备注
zsFlag: this.data.auditStatus ? this.data.auditStatus : "", //审核结果 1通过 2驳回
nodeType: this.data.nodeType ? this.data.nodeType : "",//驳回节点 1勘测 2设计
zsAuditRemarks: this.data.auditRemarks ? this.data.auditRemarks : "",//审核意见
mergeType: this.data.gridType,
boxTotalCount: this.data.boxTotalCount,
boxGroupId: this.data.boxGroupId,
roofFaceThickness: this.data.roofFaceThickness ? this.data.roofFaceThickness : "", //屋面板厚度
structureType: this.data.structureType ? this.data.structureType : "", //结构类型
siteSlope: this.data.siteSlope ? this.data.siteSlope : "", //场地坡度
groundType: this.data.groundType ? this.data.groundType : "", //地面类型
geologicalCondition: this.data.geologicalCondition ? this.data.geologicalCondition : "", //地质情况
fenceHeight: this.data.fenceHeight ? this.data.fenceHeight : "", //围墙高度
windPressure: this.data.windPressure?this.data.windPressure:'', //风压
snowPressure: this.data.snowPressure?this.data.snowPressure:'', //雪压
pressureLevel: this.data.pressureLevel?this.data.pressureLevel:'', //风雪压等级
}
if (this.data.id) {
CustomerEntry.id = this.data.id
}
var data = {
userId: userId,
CustomerEntry: CustomerEntry,
}
//设计自审暂存
if(flag =='zs'){
if(this.data.auditStatus =='1' || type =='0'){//审核通过或者暂存
updateCustomerEntry(data).then(res=>{
wx.hideLoading();
if (res.code == 200) {
wx.showToast({
title: res.msg || "操作成功",
icon: 'none',
success: function () {
setTimeout(function () {
//延时返回上一页面
wx.navigateBack()
}, 1800) //延迟时间
}
})
} else {
wx.showToast({
title: res.errMsg,
icon: 'none'
})
}
});
}
if(this.data.auditStatus =='2' && type =='1'){//审核驳回并且是保存
if(!this.data.auditRemarks){
wx.showToast({
title: '请输入审核意见',
icon: 'none'
})
return
}
auditBack({
userId: userId,
id: this.data.id,
zsAuditRemarks: that.data.auditRemarks,
type: that.data.nodeType, //驳回节点1.待勘测 2.待设计
}).then((res) => {
wx.hideLoading()
if (res.code == 200) {
wx.showToast({
title: "操作成功",
icon: 'none',
success: function () {
setTimeout(function () {
//延时返回上一页面
wx.navigateBack()
}, 1800) //延迟时间
}
})
} else {
wx.showToast({
title: res.errMsg,
icon: 'none'
})
}
})
}
return
}
// wx.hideLoading()
console.log("勘测暂存", data)
// return
//提交设计
if(type == '5'){
surveyToDesign(data).then(res=>{
wx.hideLoading();
if (res.code == 200) {
wx.showToast({
title: res.msg || "操作成功",
icon: 'none',
success: function () {
setTimeout(function () {
//延时返回上一页面
wx.navigateBack()
}, 1800) //延迟时间
}
})
} else {
wx.showToast({
title: res.errMsg,
icon: 'none'
})
}
});
return
}
//暂存或提交审核
saveOrEditCustomerEntry(data).then((res) => {
wx.hideLoading()
if (res.code == 200) {
wx.showToast({
title: type == '1' ? res.msg : "操作成功",
icon: 'none',
success: function () {
setTimeout(function () {
//延时返回上一页面
wx.navigateBack()
}, 1800) //延迟时间
}
})
} else {
wx.showToast({
title: res.errMsg,
icon: 'none'
})
}
})
},
/** 取消 **/
cancel(e) {
wx.showModal({
title: '提示',
content: '确定取消?',
complete: (res) => {
if (res.cancel) {}
if (res.confirm) {
wx.navigateBack()
}
}
})
},
/** 判断方位角方向 **/
getDirection: function (rotate) {
// 计算应偏移度数
let that = this;
var area = parseInt(rotate / 90)
var detailArea = rotate % 90
if (area == 0) {
that.setData({
areaTT: "西偏北",
detailAreaTT: 90 - detailArea
})
} else if (area == 1) {
that.setData({
areaTT: "西偏南",
detailAreaTT: detailArea
})
} else if (area == 2) {
that.setData({
areaTT: "东偏南",
detailAreaTT: 90 - detailArea
})
} else {
that.setData({
areaTT: "东偏北",
detailAreaTT: detailArea
})
}
return that.data.areaTT + that.data.detailAreaTT;
},
/** 上传图片之前 **/
beforeRead(e) {
const water = e.currentTarget.dataset.water,
that = this;
const {
callback
} = e.detail;
console.log("上传前", e);
// callback(true);
// return
if (water == '水印') {
let that = this;
wx.getSystemInfoAsync({
success(rep) {
if (rep.platform == 'devtools') {
callback(true);
} else {
callback(true);
//指南针监听,手机拍摄
wx.onCompassChange(function (res) {
console.log("指针", res);
var rotate = 360 - res.direction.toFixed(0)
let direction = that.getDirection(rotate) + '°';
that.setData({
direction: direction
});
});
setTimeout(() => {
wx.stopCompass();
}, 200);
}
}
});
} else {
callback(true);
}
},
/** 上传图片 **/
afteruploadPhotoRead(e) {
var that = this;
const choseType = Array.isArray(e.detail.file) ? (e.detail.file[0].choseType || undefined) : (e.detail.file.choseType || undefined); //camera相机 album相册
const water = e.currentTarget.dataset.water
const name = e.currentTarget.dataset.name
console.log("上传后", this.data.direction, choseType, e);
// 细节照片添加水印
if (water == '水印') {
if (!this.data.name) {
wx.showToast({
title: '请输入业主姓名',
icon: 'none'
})
return
}
if (!this.data.phone) {
wx.showToast({
title: '请输入业主联系电话',
icon: 'none'
})
return
}
this.data.data.name = this.data.name
this.data.data.phone = this.data.phone
if (choseType == 'camera') { //当从相机拍照时,图片添加水印
this.getLocation(e)
return
}
}
//身份证明水印
if (water == '身份证明水印') {
const tempFilePath = e.detail.file[0].url; //图片路径
const photoName = e.currentTarget.dataset.name; //图片名称
utilAddWatermark2.addWatermark(tempFilePath, this.data).then((src) => {
this.data.photo[photoName].push(src)
this.setData({
[`photo.${photoName}`]: this.data.photo[photoName]
})
});
return;
}
//无水印上传
if (Array.isArray(e.detail.file)) { //多张
var count = 0;
this.afteruploadPhotoReadS(e, count)
return
}
const {
file
} = e.detail;
wx.showLoading({
title: '上传中',
})
wx.uploadFile({
url: that.data.API_BASE_URL + 'common/weChat/uploadImage',
filePath: file.url,
name: 'file',
complete: function (res) {
console.log("上传图片", res)
wx.hideLoading()
if (res.statusCode == 200) {
wx.showToast({
title: '选择成功',
icon: 'none',
})
var item = {
url: "",
name: "",
}
item.url = file.url;
item.name = res.data;
that.data.photo[name].push(item)
that.setData({
[`photo.${name}`]: that.data.photo[name]
})
} else {
wx.showToast({
title: '选择失败',
icon: 'error'
})
}
}
})
},
/** 上传多张图片递归 **/
afteruploadPhotoReadS(e, count) {
let ob = {
name: '',
url: '',
}
const name = e.currentTarget.dataset.name
wx.showLoading({
title: '加载第' + (count + 1) + '张照片中',
mask: true,
})
const element = e.detail.file[count];
var that = this;
wx.uploadFile({
url: that.data.API_BASE_URL + 'common/weChat/uploadImage',
filePath: element.url,
name: 'file',
success(res) {
wx.hideLoading()
if (res.statusCode == 200) {
count = count + 1;
ob.name = res.data
ob.url = element.url
that.data.photo[name].push(ob);
that.setData({
[`photo.${name}`]: that.data.photo[name]
})
if (count == e.detail.file.length) {
wx.showToast({
title: '选择成功',
icon: 'none'
})
} else {
that.afteruploadPhotoReadS(e, count)
}
} else {
wx.showToast({
title: '选择失败',
icon: 'error'
})
}
}
})
},
/** 文件上传多张递归 **/
afteruploadPhotoReadFile(e, file, count, type) {
let ob = {
name: '',
url: '',
}
const name = e.currentTarget.dataset.name
wx.showLoading({
title: '加载第' + (count + 1) + '张照片中',
mask: true,
})
const element = file[count];
var that = this;
var url = ''
if(type =='file'){
//获取文件后缀
let suffix = element.path.substring(element.path.lastIndexOf('.') + 1)
if (suffix.search(/pdf|dwg/) == -1&&name=='designDrawings') {
wx.showToast({
title: '文件格式不正确',
icon: 'none'
})
return
}
else if (suffix.search(/jpg|png|jpeg|pdf/) == -1 && name!='designDrawings') {
wx.showToast({
title: '只能上传jpg、png、jpeg、pdf文件',
icon: 'none'
})
return
}
url = API_BASE_URL + 'common/uploadFile_Name?fileName='+ element.name
}else{
url = API_BASE_URL + 'common/weChat/uploadImage'
}
wx.uploadFile({
url: url,
filePath: type =='file'?element.path:element.tempFilePath,
name: 'file',
success(res) {
wx.hideLoading()
if (res.statusCode == 200) {
count = count + 1;
ob.name = type =='file'?JSON.parse(res.data).path: res.data,
ob.url = type =='file'?JSON.parse(res.data).path:element.tempFilePath
that.data.photo[name].push(ob);
that.setData({
[`photo.${name}`]: that.data.photo[name]
})
if (count == file.length) {
wx.showToast({
title: '选择成功',
icon: 'none'
})
} else {
that.afteruploadPhotoReadFile(e, file, count, type)
}
} else {
wx.showToast({
title: '选择失败',
icon: 'error'
})
}
}
})
},
/** 删除图片 **/
deleteImg(e) {
const name = e.currentTarget.dataset.name
const index = (name != 'surveyFiles' && name != 'designDrawings') ? e.detail.index : e.currentTarget.dataset.index //删除图片的下标
this.data.photo[name].splice(index, 1);
this.setData({
[`photo.${name}`]: this.data.photo[name]
})
},
/** 上传pdf或图片 **/
upload(e) {
var that = this;
let name = e.currentTarget.dataset.name;
let maxcount = e.currentTarget.dataset.maxcount;
console.log(989889889,maxcount, this.data.photo[name].length, maxcount - this.data.photo[name].length)
wx.chooseMessageFile({
count: maxcount - this.data.photo[name].length,
type: 'all',
success(res) {
if (Array.isArray(res.tempFiles)) { //多张
var count = 0;
that.afteruploadPhotoReadFile(e, res.tempFiles, count, 'file')
return
}
//获取文件后缀/jpg|png|jpeg|pdf|dwg
let suffix = res.tempFiles[0].path.substring(res.tempFiles[0].path.lastIndexOf('.') + 1)
console.log(989898, name)
if (suffix.search(/pdf|dwg/) == -1&&name=='designDrawings') {
wx.showToast({
title: '文件格式不正确',
icon: 'none'
})
return
}else if(suffix.search(/jpg|png|jpeg|pdf/) == -1){
wx.showToast({
title: '只能上传jpg、png、jpeg、pdf文件',
icon: 'none'
})
return
}
wx.showLoading({
title: '选择中',
})
wx.uploadFile({
// url: that.data.API_BASE_URL + 'common/weChat/uploadImage',
url: that.data.API_BASE_URL + 'common/uploadFile_Name?fileName=' + res.tempFiles[0].name,
filePath: res.tempFiles[0].path,
name: 'file',
complete: function (res) {
wx.hideLoading()
if (res.statusCode == 200) {
wx.showToast({
title: '选择成功',
icon: 'none'
})
that.data.photo[name].push({
name: JSON.parse(res.data).path,
url: IMG_BASE_URL + JSON.parse(res.data).path
});
that.setData({
[`photo.${name}`]: that.data.photo[name]
})
} else {
wx.showToast({
title: '选择失败',
icon: 'none'
})
}
}
})
}
})
},
//选择产品编号
bindprojectList(e) {
let productZj = this.data.projectList[e.detail.value].assembly_specs ? Number(this.data.projectList[e.detail.value].assembly_specs) : 0; //默认组件值
let componentApiList = this.data.AllComponentApiList.length ? this.data.AllComponentApiList.filter(itm => Number(itm.model) >= productZj) : []; //过滤大于等于productZj的组件列表
this.setData({
projectCode: this.data.projectList[e.detail.value].code,
projectName: this.data.projectList[e.detail.value].name,
projectId: this.data.projectList[e.detail.value].id,
companyName: '',
companyId: '',
paycycle: this.data.projectList[e.detail.value].pay_cycle,
productZj: productZj, //默认组件值
componentApiList: componentApiList,
[`componentList[${0}].material_model`]: componentApiList.length ? componentApiList[0].material_model : '',
[`componentList[${0}].model`]: componentApiList.length ? componentApiList[0].model : '',
[`componentList[${0}].id`]: componentApiList.length ? componentApiList[0].id : '',
})
if (this.data.projectList[e.detail.value].filing_type == 1) {
this.setData({
filingName: "农户备案",
filingType: 1,
repaymentMethod: 1,
})
} else if (this.data.projectList[e.detail.value].filing_type == 2) {
this.setData({
filingName: "项目公司备案",
filingType: 2,
repaymentMethod: 0,
})
}
this.getCompanyList();
},
//选择项目公司
bindcompanyList(e) {
this.setData({
companyId: this.data.companyList[e.detail.value].id,
companyName: this.data.companyList[e.detail.value].name,
})
},
//选择备案类型
bindfilingList(e) {
this.setData({
filingName: this.data.filingList[e.detail.value],
filingType: parseInt(e.detail.value) + 1
})
if (this.data.filingName == "农户备案") {
this.setData({
repaymentMethod: 1
})
}
},
//选择标准方案类型
bindPlanChange(e) {
const index = e.detail.value; //选择第几个
this.data.standardSolutionsList[0].type = this.data.planList[index].name; //方案类型
this.data.standardSolutionsList[0].typeId = this.data.planList[index].id; //方案类型id
this.data.standardSolutionsList[0].name = ""; //方案名称
this.data.standardSolutionsList[0].code = ""; //方案编号
this.data.standardSolutionsList[0].nameId = ""; //方案名称Id
this.data.standardSolutionsList[0].id = "";
this.setData({
standardSolutionsList: this.data.standardSolutionsList,
standardSolutionsListIndex: index, //选择方案类型的下标用以渲染方案名称picker选择器
})
},
//选择标准方案名称
bindPlanNameChange(e) {
if (!this.data.standardSolutionsListIndex.toString()) {
wx.showToast({
title: '请先选择标准方案类型',
icon: 'none'
})
return
}
const index = e.detail.value; //选择第几个
this.data.standardSolutionsList[0].name = this.data.planList[this.data.standardSolutionsListIndex].allPlan[index].name; //方案名称
this.data.standardSolutionsList[0].id = this.data.planList[this.data.standardSolutionsListIndex].allPlan[index].id; //方案名称Id
this.setData({
standardSolutionsList: this.data.standardSolutionsList,
})
},
//选择组合方案类型
bindCombinationPlanChange(e) {
const pickerIndex = e.detail.value; //选择器选择第几个
const index = e.currentTarget.dataset.index; //选择第几个
this.setData({
[`combinedSolutionsList[${index}].type`]: this.data.planList[pickerIndex].name,
[`combinedSolutionsList[${index}].planTypeId`]: this.data.planList[pickerIndex].id,
[`combinedSolutionsList[${index}].pickerIndex`]: pickerIndex, //选择方案类型的下标用以渲染方案名称picker选择器
[`combinedSolutionsList[${index}].name`]: "",
[`combinedSolutionsList[${index}].code`]: "",
[`combinedSolutionsList[${index}].id`]: "",
})
},
//选择组合方案名称
bindCombinationPlanNameChange(e) {
const pickerIndex = e.detail.value; //选择器选择第几个
const cindex = e.currentTarget.dataset.cindex; //选择第几个
const index = e.currentTarget.dataset.index; //选择第几个
for (let i = 0; i < this.data.combinedSolutionsList.length; i++) {
const element = this.data.combinedSolutionsList[i];
if (index == i && !element.type) {
wx.showToast({
title: '请先选择当前组合方案类型',
icon: 'none'
})
return
}
}
this.setData({
[`combinedSolutionsList[${index}].id`]: this.data.planList[cindex].allPlan[pickerIndex].id,
[`combinedSolutionsList[${index}].name`]: this.data.planList[cindex].allPlan[pickerIndex].name,
[`combinedSolutionsList[${index}].code`]: this.data.planList[cindex].allPlan[pickerIndex].code,
})
},
//选择组件
bindComponentChange(e) {
const pickerIndex = e.detail.value; //选择器选择第几个
const index = e.currentTarget.dataset.index; //选择第几个
var componentNum = 0
componentNum = this.data.componentList[0].num * this.data.componentApiList[pickerIndex].model
this.setData({
[`componentList[${index}].material_model`]: this.data.componentApiList[pickerIndex].material_model,
[`componentList[${index}].model`]: this.data.componentApiList[pickerIndex].model,
[`componentList[${index}].id`]: this.data.componentApiList[pickerIndex].id,
componentNum: (componentNum / 1000).toFixed(3)
})
},
//选择逆变器
bindConverterChange(e) {
const pickerIndex = e.detail.value; //选择器选择第几个
const index = e.currentTarget.dataset.index; //选择第几个
this.setData({
[`converterList[${index}].material_model`]: this.data.converterApiList[pickerIndex].material_model,
[`converterList[${index}].model`]: this.data.converterApiList[pickerIndex].model,
[`converterList[${index}].id`]: this.data.converterApiList[pickerIndex].id,
})
},
//选择并网箱
bindCagesChange(e) {
const pickerIndex = e.detail.value; //选择器选择第几个
const index = e.currentTarget.dataset.index; //选择第几个
this.setData({
[`cagesList[${index}].model`]: this.data.cagesApiList[pickerIndex].model,
[`cagesList[${index}].id`]: this.data.cagesApiList[pickerIndex].id,
})
},
//选择支架
bindSupportChange(e) {
const pickerIndex = e.detail.value; //选择器选择第几个
const index = e.currentTarget.dataset.index; //选择第几个
this.setData({
[`supportList[${index}].model`]: this.data.supportApiList[pickerIndex].model,
[`supportList[${index}].id`]: this.data.supportApiList[pickerIndex].id,
})
},
/**
* 选择设计方案
* @param {*} e 1:标准方案 2:组合方案
*/
radioChangeSolution(e) {
this.setData({
schemeType: e.detail.value == 1 ? 1 : 2,
})
},
//审核结果
radioAuditResult(e) {
this.setData({
auditStatus: e.detail.value,
})
},
//驳回节点
radioRejectNode(e) {
this.setData({
nodeType: e.detail.value,
})
},
//保险购买情况
bindInsuranceFlag(e) {
let index = Number(e.detail.value);
this.setData({
insurance: this.data.insuranceList[index],
insuranceFlag: index + 1
})
},
//选择预计投放日
bindLeaseDate(e) {
this.setData({
leaseDate: e.detail.value
})
},
//选择房屋建成年份
bindCompletionYearDate(e) {
this.setData({
completionYear: e.detail.value
})
},
//选择并网电压等级
bindVoltageClasses(e) {
this.setData({
voltageClasses: e.detail.value == 0 ? 220 : 380
})
},
//选择屋顶类型
radioChangeRoofType(e) {
this.setData({
roofType: e.detail.value,
})
},
//下拉选择
changeSelectVal(e) {
let dval = e.detail.value
let key = e.currentTarget.dataset.key
let list = e.currentTarget.dataset.list
this.setData({
[key]: this.data[list][dval].dict_value,
})
if(key == 'azimuthName'){ //方位角
this.setData({
azimuth: this.data[list][dval].dict_key,
})
}
if(this.data.capitalId == '03' && key == 'roofType'){
this.roofTypeToColumn(this.data[list][dval].dict_value)
}
},
//屋顶类型对应显示字段
roofTypeToColumn(name){
this.data.gfRoofTypeList.forEach(item=>{
if(name == item.roofType){
let selectRoofType = item.forms.map(itm=>{return itm.columns});
let roofTypeAllColumn = {}
selectRoofType.forEach(item2=>{
roofTypeAllColumn[item2.column_key] = {
status: 1,
must_fill_flag: item2.must_fill_flag
}
})
// console.log(555, roofTypeAllColumn)
this.setData({
roofTypeAllColumn
})
}
})
},
//选择是否封屋顶
radioSealRoof(e) {
this.setData({
sealRoof: e.detail.value,
})
},
//选择屋顶防水情况
radioWaterproof(e) {
this.setData({
waterproof: e.detail.value,
})
},
//选择是否有污染源
radioSourcePollution(e) {
this.setData({
sourcePollution: e.detail.value,
})
},
//选择是否具备运维空间
radioOpsCondition(e) {
this.setData({
opsCondition: e.detail.value,
})
},
//选择是否符合变压器容量限制要求
radioRestrictFlag(e) {
this.setData({
restrictFlag: e.detail.value,
})
},
//选择拍摄方式
// radioChangeShooting(e) {
// this.setData({
// shootType: e.detail.value == 1 ? 1 : 2,
// capture:e.detail.value == 1 ? ['album', 'camera'] : ['camera'],//1.无人机拍摄 2.手机拍摄
// })
// },
//选择方位角
// radioChangeAzimuth(e) {
// if (e.detail.value == 1) {
// this.setData({
// azimuth: 1
// })
// } else if (e.detail.value == 2) {
// this.setData({
// azimuth: 2
// })
// } else if (e.detail.value == 3) {
// this.setData({
// azimuth: 3
// })
// }
// },
//选择划转方式
radioChangeRepaymentMethod(e) {
this.setData({
repaymentMethod: e.detail.value
})
},
/**
* 输入组件,逆变器,并网箱的数量
* @param {*} e 1:组件 2:逆变器 3:并网箱
*/
inputNum(e) {
switch (e.currentTarget.dataset.type) {
case "1":
this.setData({
[`componentList[${e.currentTarget.dataset.index}].num`]: e.detail.value,
})
var componentNum = 0
for (let i = 0; i < this.data.componentList.length; i++) {
const element = this.data.componentList[i];
componentNum = element.num * element.model
}
this.setData({
componentNum: (componentNum / 1000).toFixed(2)
})
break;
case "2":
this.setData({
[`converterList[${e.currentTarget.dataset.index}].num`]: e.detail.value,
})
break;
case "3":
this.setData({
[`cagesList[${e.currentTarget.dataset.index}].num`]: e.detail.value,
})
break;
case "4":
this.setData({
[`supportList[${e.currentTarget.dataset.index}].num`]: e.detail.value,
})
break;
}
},
//新增方案
addSolution(e) {
const list = [{
type: "", //方案类型
name: "", //方案名称
id: "", //方案ID
code: "", //方案编号
pickerIndex: 0, //方案类型选择下标
drawing: "", //参考图纸
}]
var demo = this.data.combinedSolutionsList.concat(list)
this.setData({
[`combinedSolutionsList[${demo.length-1}]`]: demo[demo.length - 1]
})
},
//删除方案
deleteSolution(e) {
wx.showModal({
title: '提示',
content: '确定删除当前方案?',
complete: (res) => {
if (res.confirm) {
this.data.combinedSolutionsList.splice(e.currentTarget.dataset.index, 1)
this.setData({
combinedSolutionsList: this.data.combinedSolutionsList
})
}
}
})
},
/**
* 新增型号
* @param {*} e 1:组件 2:逆变器 3:并网箱
*/
add(e) {
const list = {
id: "",
num: "",
name: "",
}
switch (e.currentTarget.dataset.type) {
case "1":
this.setData({
componentList: this.data.componentList.concat(list)
})
break;
case "2":
this.setData({
converterList: this.data.converterList.concat(list)
})
break;
case "3":
this.setData({
cagesList: this.data.cagesList.concat(list)
})
case "4":
this.setData({
supportList: this.data.supportList.concat(list)
})
break;
}
},
/**
* 删除型号
* @param {*} e 1:组件 2:逆变器 3:并网箱
*/
delete(e) {
wx.showModal({
title: '提示',
content: '确定删除?',
complete: (res) => {
if (res.confirm) {
switch (e.currentTarget.dataset.type) {
case "1":
this.data.componentList.splice(e.currentTarget.dataset.index, 1)
this.setData({
componentList: this.data.componentList
})
break;
case "2":
this.data.converterList.splice(e.currentTarget.dataset.index, 1)
this.setData({
converterList: this.data.converterList,
})
break;
case "3":
this.data.cagesList.splice(e.currentTarget.dataset.index, 1)
this.setData({
cagesList: this.data.cagesList,
})
case "4":
this.data.supportList.splice(e.currentTarget.dataset.index, 1)
this.setData({
supportList: this.data.supportList,
})
break;
}
}
}
})
},
//获取用户当前地理位置后为照片添加水印
getLocation(e) {
if (this.data.customerAddress && this.data.imageCodeImg) { //有地址,有导航二维码图,直接绘制图片
this.chooseImages(e);
return;
}
utilGetLocation.getLocationAddress().then((res) => {
res.res.data = res.res.data.slice(res.res.data.lastIndexOf('省') + 1)
this.setData({
customerAddress: res.res.data,
canvasLongitude: res.resLocation.longitude,
canvasLatitude: res.resLocation.latitude,
});
//获取小程序二维码
let lonLat = res.resLocation.longitude + ',' + res.resLocation.latitude;
createQrcode({
content: lonLat
}).then(ret => {
// let codeImg ="data:image/png;base64," + ret;
let codeImg = IMG_BASE_URL + ret;
this.setData({
imageCodeImg: codeImg
});
this.chooseImages(e)
});
})
},
//获取当前位置信息 位置信息转经纬度
getNowLocationDetails: utils.debounce(function (e) {
var that = this
if (that.data.provinceName && that.data.address) {
wx.showModal({
content: '即将获取您当前所在位置的经纬度,请确认您已到达电站安装位置。',
complete: (res) => {
if (res.confirm) {
that.getNowLocation()
}
}
})
}
}),
/**
*
* 获取当前位置信息 经纬度转位置信息
*
* @param {*} e
*/
getNowLocation(e) {
var that = this
wx.getLocation({
type: 'wgs84',
isHighAccuracy: true,
success(res) {
console.log("获取经纬", res)
wx.showLoading({
title: '获取定位中',
})
if(res.longitude && res.latitude){
wx.hideLoading()
that.setData({
longitude: res.longitude.toFixed(6),
latitude: res.latitude.toFixed(6),
longitudeAndLongitude: res.longitude.toFixed(6) + "," + res.latitude.toFixed(6)
})
}
},
fail(res) {
wx.showModal({
title: '提示',
content: '请授权当前小程序定位权限',
cancelText: "取消",
confirmText: "确定",
success(res) {
if (res.confirm) {
wx.openSetting({
withSubscriptions: true,
})
}
}
})
}
})
},
//根据地址获取经纬度
getAddressLonLat() {
var that = this
wx.showLoading({
title: '加载中',
})
getAddressLonLat({
address: that.data.region[0] + that.data.region[1] + that.data.region[2] + that.data.address
}).then((res) => {
wx.hideLoading()
if (res.code == 200) {
if (res.data) {
var data = res.data.split(",")
that.setData({
longitude: data[0],
latitude: data[1],
longitudeAndLongitude: data[0] + "," + data[1]
})
}
} else {
wx.showToast({
title: '获取经纬度失败',
icon: 'none'
})
}
})
},
//选择图片为图片添加水印
async chooseImages(e) {
const photoName = e.currentTarget.dataset.name; //图片名称
const tempFilePath = e.detail.file.url || e.detail.file[0].url //图片路径
const canvasWidth = wx.getSystemInfoSync().screenWidth;
// 获取图片信息
await wx.getImageInfo({
src: tempFilePath,
}).then(async res => {
let watermarkScale = res.width / canvasWidth;
this.setData({
canvasHeight: Math.round(res.height / watermarkScale),
canvasWidth: canvasWidth,
})
await utilAddWatermark.addWatermark(tempFilePath, photoName, this.data).then((res) => {
this.data.photo[photoName].push(res)
this.setData({
[`photo.${photoName}`]: this.data.photo[photoName]
})
})
})
},
//打开pdf文件或者大图查看图片
openDocument(res) {
let path = res.currentTarget.dataset.path
if (path) {
let suffix = path.substring(path.lastIndexOf('.') + 1) //获取文件后缀
if(suffix=='mp4'){// 开始预览多媒体内容
wx.previewMedia({
sources: [{
url :IMG_BASE_URL + path,
type: 'video'
}], // 需要预览的资源列表
});
}else if(suffix != 'jpg' && suffix != 'png' && suffix != 'gif' && suffix != 'jpeg') {
wx.showLoading({
title: '加载中',
})
wx.downloadFile({
url: IMG_BASE_URL + path,
complete: function (res) {
wx.hideLoading()
const filePath = res.tempFilePath
wx.openDocument({
filePath: filePath,
fileType: suffix,
showMenu: true,
success: function (res) {}
})
}
})
}else{
wx.previewImage({
urls: [IMG_BASE_URL + path] // 需要预览的图片http链接列表
})
}
}
},
//拨打业主联系电话
phoneFn(e) {
const phone = e.currentTarget.dataset.phone;
if (!phone) {
wx.showToast({
title: '暂无联系方式',
icon: 'none'
})
return
}
wx.makePhoneCall({
phoneNumber: phone,
})
},
//业主信息
userFn(e) {
wx.navigateTo({
url: '/home/pages/ownerForm/ownerForm?projectId=' + this.data.entryId + '&type=3',
})
},
/** 填充所有图片 **/
imageAll(e) {
var that = this
wx.showModal({
title: '提示',
content: '确定选取图片后填充所有图片?',
complete: (res) => {
if (res.confirm) {
wx.chooseMedia({
count: 1,
mediaType: ['image'],
success(resImage) {
wx.showLoading({
title: '选择中',
})
wx.uploadFile({
url: API_BASE_URL + 'common/weChat/uploadImage',
filePath: resImage.tempFiles[0].tempFilePath,
name: 'file',
complete: function (res) {
wx.hideLoading()
if (res.statusCode == 200) {
for (let i in that.data.photo) {
let arr = [];
arr.push({
name: res.data,
url: IMG_BASE_URL + res.data
});
that.setData({
[`photo.${i}`]: arr,
})
}
wx.showToast({
title: '填充成功',
icon: 'none'
})
} else {
wx.showToast({
title: '填充失败',
icon: 'none'
})
}
}
})
}
})
}
}
})
},
/** 打开省市区弹框 **/
bindRegionChange(e) {
this.setData({
showRegion: true
})
},
/** 选择的地址 **/
chooseRegion(e) {
this.setData({
provinceName: e.detail.provinceName,
cityName: e.detail.cityName,
areaName: e.detail.areaName,
address: "",
projectId: '',
projectCode: '',
projectName: '',
paycycle: '',
filingName: '',
companyName: '',
companyId: '',
companyList:[]
})
this.getProjectList();
this.getCompanyList();
this.getPressure(e.detail.provinceName, e.detail.cityName, e.detail.areaName) //获取风雪压等级
},
/** 开卡 **/
bankCardPage(e) {
//bankFlag 开卡标记1.可开卡 2.不可开卡
wx.showLoading({
title: '加载中',
})
bankCardPage({
entryId: this.data.entryId
}).then((resApi) => {
wx.hideLoading()
console.log("开卡web", resApi)
if (resApi.code == 200) {
wx.navigateTo({
url: '../webView/webView',
success: function (res) {
// 通过eventChannel向被打开页面传送数据
res.eventChannel.emit('acceptDataFromOpenerPage', {
data: resApi.data.gdUrl
})
}
})
} else {
wx.showToast({
title: resApi.errMsg,
icon: 'none'
})
}
})
},
/** 文件或图片上传选择-对话框 **/
selectUplosd(e){
var that = this;
let name = e.currentTarget.dataset.name;
let maxcount = e.currentTarget.dataset.maxcount;
wx.showActionSheet({
itemList: ['文件', '图片'],
success: function (res) {
if (!res.cancel) {
if (res.tapIndex == 0) {//文件
that.upload(e);
} else if (res.tapIndex == 1) {//图片
wx.chooseMedia({
count: maxcount - that.data.photo[name].length,
mediaType: ['image'],
sourceType: ['album'],
success: function (rep) {
if (Array.isArray(rep.tempFiles)) { //多张
var count = 0;
that.afteruploadPhotoReadFile(e, rep.tempFiles, count)
return
}
wx.showLoading({
title: '选择中',
})
wx.uploadFile({
url: API_BASE_URL + 'common/weChat/uploadImage',
filePath: rep.tempFiles[0].tempFilePath,
name: 'file',
complete: function (res) {
wx.hideLoading()
if (res.statusCode == 200) {
wx.showToast({
title: '选择成功',
icon: 'none',
})
var item = {
url: "",
name: "",
}
item.url = rep.tempFiles[0].tempFilePath;
item.name = res.data;
that.data.photo[name].push(item)
that.setData({
[`photo.${name}`]: that.data.photo[name]
})
} else {
wx.showToast({
title: '选择失败',
icon: 'error'
})
}
}
})
},
fail: function(){},
});
}
}
}
});
},
//选择并网方式
radioChangeGridType(e) {
let detail = this.data.detail
this.setData({
gridType: e.detail.value,
})
if(e.detail.value == '1'){//一户多站选项
if(detail.recordBoxHistory && detail.recordBoxHistory != ''){//有历史记录取历史数据
if(detail.recordBoxHistory.type == '1'){//判断是不是一户多站的数据type=1
this.setData({
boxTotalCount: detail.recordBoxHistory.total_count?detail.recordBoxHistory.total_count:'',
boxGroupNum: detail.recordBoxHistory.group_number?detail.recordBoxHistory.group_number:'',
boxGroupName: detail.recordBoxHistory.group_name?detail.recordBoxHistory.group_name:'',
})
}else{//type不是1则取一户多站字段
this.setData({
boxTotalCount: detail.oneToAnyBoxSet.total_count?detail.oneToAnyBoxSet.total_count:'',
boxGroupNum: detail.oneToAnyBoxSet.group_number?detail.oneToAnyBoxSet.group_number:'',
boxGroupName: detail.oneToAnyBoxSet.group_name?detail.oneToAnyBoxSet.group_name:'',
boxGroupId: detail.oneToAnyBoxSet.id?detail.oneToAnyBoxSet.id:'',
})
}
}else{//没有历史记录oneToAnyBoxSet取原有数据
this.setData({
boxTotalCount: detail.oneToAnyBoxSet.total_count?detail.oneToAnyBoxSet.total_count:'',
boxGroupNum: detail.oneToAnyBoxSet.group_number?detail.oneToAnyBoxSet.group_number:'',
boxGroupName: detail.oneToAnyBoxSet.group_name?detail.oneToAnyBoxSet.group_name:'',
boxGroupId: detail.oneToAnyBoxSet.id?detail.oneToAnyBoxSet.id:'',
})
}
}else if(e.detail.value == '2' && detail.recordBoxHistory != ''){//整村汇流选项
if(detail.recordBoxHistory && detail.recordBoxHistory != '' && detail.recordBoxHistory.type == '2'){//有历史数据
this.setData({
boxTotalCount: detail.recordBoxHistory.total_count?detail.recordBoxHistory.total_count:'',
boxGroupNum: detail.recordBoxHistory.group_number?detail.recordBoxHistory.group_number:'',
boxGroupName: detail.recordBoxHistory.group_name?detail.recordBoxHistory.group_name:'',
})
}else{//没有历史数据,全清空
this.setData({
boxTotalCount: '',
boxGroupNum: '',
boxGroupName: '',
})
}
}else{//单户并网选项
this.setData({
boxTotalCount: '',
boxGroupNum: '',
boxGroupName: '',
})
}
},
//打开选择汇流组
goConverge(e){
wx.navigateTo({
url: '/home/pages/converge/converge?projectId='+this.data.entryId,
})
}
})