|
|
const {
|
|
|
projectList,
|
|
|
API_BASE_URL,
|
|
|
IMG_BASE_URL,
|
|
|
getElectricPlanAll,
|
|
|
findAllPlan,
|
|
|
saveOrEditCustomerEntry,
|
|
|
entryDetail,
|
|
|
getAddressByLonLat,
|
|
|
getAddressLonLat,
|
|
|
createQrcode
|
|
|
} = require('../../../api/api')
|
|
|
|
|
|
const utils = require('../../../utils/util')
|
|
|
Page({
|
|
|
/**
|
|
|
* 页面的初始数据
|
|
|
*/
|
|
|
data: {
|
|
|
API_BASE_URL: API_BASE_URL,
|
|
|
IMG_BASE_URL: IMG_BASE_URL,
|
|
|
|
|
|
capture: ['camera'], //拍摄模式
|
|
|
canvasLocation: "../../img/canvas-location.png", //手机拍摄添加水印定位图标
|
|
|
canvasDate: "../../img/canvas-date.png", //手机拍摄添加水印日期图片
|
|
|
canvasPeople: "../../img/canvas-people.png", //手机拍摄添加人员图片
|
|
|
|
|
|
standardSolutionsList: [{
|
|
|
type: "", //方案类型
|
|
|
name: "", //方案名称
|
|
|
id: "", //方案ID
|
|
|
code: "", //方案编号
|
|
|
drawing: "", //参考图纸
|
|
|
}], //标准方案初始数量
|
|
|
|
|
|
combinedSolutionsList: [{
|
|
|
type: "", //方案类型
|
|
|
name: "", //方案名称
|
|
|
id: "", //方案ID
|
|
|
code: "", //方案编号
|
|
|
pickerIndex: 0, //方案类型选择下标
|
|
|
drawing: "", //参考图纸
|
|
|
addType: 1, //显示新增方案按钮
|
|
|
}], //组合方案初始数量
|
|
|
|
|
|
photo: {
|
|
|
idCardFrontFileList: [], //身份证正面
|
|
|
idCardBackFileList: [], //身份证反面
|
|
|
// 无人机拍摄
|
|
|
phoneOne: [], //俯拍图
|
|
|
phoneTwo: [], //角度南
|
|
|
phoneThree: [], //补充1
|
|
|
phoneFour: [], //补充2
|
|
|
// 手机拍摄
|
|
|
phoneFive: [], //东北
|
|
|
phoneSix: [], //东南
|
|
|
phoneSeven: [], //南侧
|
|
|
phoneEight: [], //西南
|
|
|
phoneNine: [], //补充1
|
|
|
phoneTen: [], //补充2
|
|
|
phoneVideo: [], //屋顶视频
|
|
|
phoneHouse: [], //房产证
|
|
|
//踏勘记录表
|
|
|
surveyPhoneOne: [], //踏勘记录表1
|
|
|
surveyPhoneTwo: [], //踏勘记录表2
|
|
|
|
|
|
filingPhone: [], //备案文件
|
|
|
|
|
|
// 外观照片
|
|
|
outwardHousePhone: [], //房屋外观照片
|
|
|
inwardHousePhone: [], //房屋内部照片
|
|
|
roofHousePhone: [], //楼顶厚度照片
|
|
|
|
|
|
designPaper: [], //设计图纸
|
|
|
},
|
|
|
|
|
|
roofType: "平屋顶", //默认为平屋顶
|
|
|
schemeType: 1, //默认为标准方案
|
|
|
shootType: 1, //默认为无人机拍摄
|
|
|
azimuth: 1, //方位角默认为正南
|
|
|
repaymentMethod: 1, //划转方式默认为二类卡
|
|
|
|
|
|
projectId: ''
|
|
|
},
|
|
|
|
|
|
onLoad(e) {
|
|
|
const projectId = e.projectId; //有projectId说明从列表进去,可能是修改或者是暂存过
|
|
|
if (projectId) {
|
|
|
this.setData({
|
|
|
projectId
|
|
|
})
|
|
|
}
|
|
|
this.getProjectList()
|
|
|
this.getElectricPlanAll()
|
|
|
this.findAllPlan()
|
|
|
},
|
|
|
|
|
|
|
|
|
onReady() {
|
|
|
const query = wx.createSelectorQuery()
|
|
|
query.select('#Canvas')
|
|
|
.fields({
|
|
|
node: true,
|
|
|
size: true
|
|
|
})
|
|
|
.exec((res) => {
|
|
|
const canvas = res[0].node
|
|
|
this.setData({
|
|
|
canvas,
|
|
|
})
|
|
|
})
|
|
|
},
|
|
|
|
|
|
|
|
|
openDocument(res) {
|
|
|
console.log('openDocument', res)
|
|
|
let path = res.currentTarget.dataset.path
|
|
|
if (path) {
|
|
|
//获取文件后缀
|
|
|
let suffix = path.substring(path.lastIndexOf('.') + 1)
|
|
|
if (suffix == 'pdf') {
|
|
|
wx.downloadFile({
|
|
|
// 示例 url,并非真实存在
|
|
|
url: IMG_BASE_URL + path,
|
|
|
success: function (res) {
|
|
|
const filePath = res.tempFilePath
|
|
|
wx.openDocument({
|
|
|
filePath: filePath,
|
|
|
showMenu: true,
|
|
|
success: function (res) {
|
|
|
console.log('打开文档成功')
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
} else {
|
|
|
wx.previewImage({
|
|
|
urls: [IMG_BASE_URL + path] // 需要预览的图片http链接列表
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
/**
|
|
|
*
|
|
|
* 获取电站详情
|
|
|
*
|
|
|
* @param {*} e
|
|
|
*/
|
|
|
entryDetail(e) {
|
|
|
let that = this
|
|
|
wx.showLoading({
|
|
|
title: "加载中"
|
|
|
})
|
|
|
entryDetail({
|
|
|
userId: wx.getStorageSync('userId'),
|
|
|
entryId: e.projectId
|
|
|
}).then((res) => {
|
|
|
wx.hideLoading()
|
|
|
var componentNum = 0;
|
|
|
// 组件,逆变器,并网箱,支架
|
|
|
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;
|
|
|
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;
|
|
|
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: "",
|
|
|
num: "", //数量
|
|
|
model: "", //名称
|
|
|
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: "",
|
|
|
num: "", //数量
|
|
|
model: "", //名称
|
|
|
addType: 1,
|
|
|
}], //组件初始数量
|
|
|
converterList: [{
|
|
|
id: "",
|
|
|
num: "", //数量
|
|
|
model: "", //名称
|
|
|
addType: 1,
|
|
|
}], //逆变器初始数量
|
|
|
cagesList: [{
|
|
|
id: "",
|
|
|
num: "", //数量
|
|
|
model: "", //名称
|
|
|
addType: 1,
|
|
|
}], //并网箱初始数量
|
|
|
supportList: [{
|
|
|
id: "",
|
|
|
num: "", //数量
|
|
|
model: "", //名称
|
|
|
addType: 1,
|
|
|
}], //支架初始数量
|
|
|
})
|
|
|
}
|
|
|
|
|
|
this.setData({
|
|
|
componentNum: (componentNum/1000).toFixed(3),
|
|
|
})
|
|
|
|
|
|
let designPaperItem = res.design_drawings ? res.design_drawings.split(",") : ""
|
|
|
|
|
|
let designPaper = []
|
|
|
if (designPaperItem.length > 0) {
|
|
|
designPaperItem.forEach(element => {
|
|
|
let ob = {
|
|
|
name: '',
|
|
|
url: ''
|
|
|
}
|
|
|
ob.name = element
|
|
|
ob.url = this.data.IMG_BASE_URL + element
|
|
|
designPaper.push(ob)
|
|
|
});
|
|
|
}
|
|
|
|
|
|
|
|
|
this.setData({
|
|
|
id: res.id, //修改数据的时候传此ID
|
|
|
projectId: res.project_id,
|
|
|
projectCode: res.projectCode,
|
|
|
projectName: res.projectName,
|
|
|
name: res.tenant_name,
|
|
|
phone: res.mobile,
|
|
|
idCard: res.id_code,
|
|
|
bankName: res.bank_name,
|
|
|
bankCode: res.bank_code,
|
|
|
[`region[0]`]: res.province,
|
|
|
[`region[1]`]: res.city,
|
|
|
[`region[2]`]: res.area,
|
|
|
address: res.address,
|
|
|
longitude: res.longitude,
|
|
|
latitude: res.latitude,
|
|
|
roofType: res.roof_type,
|
|
|
shootType: res.shoot_type ? res.shoot_type : 2,
|
|
|
azimuth: res.azimuth ? res.azimuth : 1,
|
|
|
directionDeg: res.angle,
|
|
|
repaymentMethod: res.repayment_method ? res.repayment_method : 1,
|
|
|
deg: res.distance,
|
|
|
height: res.building_height,
|
|
|
remark: res.remarks,
|
|
|
schemeType: res.scheme_type ? res.scheme_type : 1,
|
|
|
solutionRemark: res.scheme_remarks,
|
|
|
'photo.designPaper': designPaper, //设计图纸
|
|
|
paycycle: res.pay_cycle,
|
|
|
companyName: res.project_company_name ? res.project_company_name : ""
|
|
|
})
|
|
|
|
|
|
|
|
|
if (res.longitude && res.latitude) {
|
|
|
this.setData({
|
|
|
longitudeAndLongitude: res.longitude + "," + res.latitude
|
|
|
})
|
|
|
} else {
|
|
|
this.getAddressLonLat()
|
|
|
}
|
|
|
|
|
|
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];
|
|
|
|
|
|
|
|
|
|
|
|
// type: "", //方案类型
|
|
|
// name: "", //方案名称
|
|
|
// id: "", //方案ID
|
|
|
// code: "", //方案编号
|
|
|
// pickerIndex: 0, //方案类型选择下标
|
|
|
// drawing: "", //参考图纸
|
|
|
// addType: 1, //显示新增方案按钮
|
|
|
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
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
// 添加图片
|
|
|
if (res.shoot_type == 1) {
|
|
|
if (res.roof_photo_one) {
|
|
|
this.setData({
|
|
|
[`photo.phoneOne[0].name`]: res.roof_photo_one,
|
|
|
[`photo.phoneOne[0].url`]: this.data.IMG_BASE_URL + res.roof_photo_one,
|
|
|
})
|
|
|
}
|
|
|
if (res.roof_photo_two) {
|
|
|
this.setData({
|
|
|
[`photo.phoneTwo[0].name`]: res.roof_photo_two,
|
|
|
[`photo.phoneTwo[0].url`]: this.data.IMG_BASE_URL + res.roof_photo_two,
|
|
|
})
|
|
|
}
|
|
|
if (res.roof_photo_three) {
|
|
|
this.setData({
|
|
|
[`photo.phoneThree[0].name`]: res.roof_photo_three,
|
|
|
[`photo.phoneThree[0].url`]: this.data.IMG_BASE_URL + res.roof_photo_three,
|
|
|
})
|
|
|
}
|
|
|
if (res.roof_photo_four) {
|
|
|
this.setData({
|
|
|
[`photo.phoneFour[0].name`]: res.roof_photo_four,
|
|
|
[`photo.phoneFour[0].url`]: this.data.IMG_BASE_URL + res.roof_photo_four,
|
|
|
})
|
|
|
}
|
|
|
if (res.roof_value) {
|
|
|
this.setData({
|
|
|
[`photo.phoneVideo[0].name`]: res.roof_value,
|
|
|
[`photo.phoneVideo[0].url`]: this.data.IMG_BASE_URL + res.roof_value,
|
|
|
})
|
|
|
}
|
|
|
} else if (res.shoot_type == 2) {
|
|
|
if (res.roof_photo_one) {
|
|
|
this.setData({
|
|
|
[`photo.phoneSix[0].name`]: res.roof_photo_one,
|
|
|
[`photo.phoneSix[0].url`]: this.data.IMG_BASE_URL + res.roof_photo_one,
|
|
|
})
|
|
|
}
|
|
|
if (res.roof_photo_two) {
|
|
|
this.setData({
|
|
|
[`photo.phoneSeven[0].name`]: res.roof_photo_two,
|
|
|
[`photo.phoneSeven[0].url`]: this.data.IMG_BASE_URL + res.roof_photo_two,
|
|
|
})
|
|
|
}
|
|
|
if (res.roof_photo_three) {
|
|
|
this.setData({
|
|
|
[`photo.phoneEight[0].name`]: res.roof_photo_three,
|
|
|
[`photo.phoneEight[0].url`]: this.data.IMG_BASE_URL + res.roof_photo_three,
|
|
|
})
|
|
|
}
|
|
|
if (res.roof_photo_four) {
|
|
|
this.setData({
|
|
|
[`photo.phoneNine[0].name`]: res.roof_photo_four,
|
|
|
[`photo.phoneNine[0].url`]: this.data.IMG_BASE_URL + res.roof_photo_four,
|
|
|
|
|
|
})
|
|
|
}
|
|
|
if (res.roof_photo_five) {
|
|
|
this.setData({
|
|
|
[`photo.phoneTen[0].name`]: res.roof_photo_five,
|
|
|
[`photo.phoneTen[0].url`]: this.data.IMG_BASE_URL + res.roof_photo_five,
|
|
|
})
|
|
|
}
|
|
|
if (res.roof_value) {
|
|
|
this.setData({
|
|
|
[`photo.phoneVideo[0].name`]: res.roof_value,
|
|
|
[`photo.phoneVideo[0].url`]: this.data.IMG_BASE_URL + res.roof_value,
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
if (res.id_card_back) {
|
|
|
this.setData({
|
|
|
[`photo.idCardBackFileList[0].name`]: res.id_card_back,
|
|
|
[`photo.idCardBackFileList[0].url`]: this.data.IMG_BASE_URL + res.id_card_back,
|
|
|
})
|
|
|
}
|
|
|
|
|
|
if (res.id_card_front) {
|
|
|
this.setData({
|
|
|
[`photo.idCardFrontFileList[0].name`]: res.id_card_front,
|
|
|
[`photo.idCardFrontFileList[0].url`]: this.data.IMG_BASE_URL + res.id_card_front,
|
|
|
})
|
|
|
}
|
|
|
if (res.house_ownership) {
|
|
|
this.setData({
|
|
|
[`photo.phoneHouse[0].name`]: res.house_ownership,
|
|
|
[`photo.phoneHouse[0].url`]: this.data.IMG_BASE_URL + res.house_ownership,
|
|
|
})
|
|
|
}
|
|
|
if (res.survey_record) {
|
|
|
this.setData({
|
|
|
[`photo.surveyPhoneOne[0].name`]: res.survey_record,
|
|
|
[`photo.surveyPhoneOne[0].url`]: this.data.IMG_BASE_URL + res.survey_record,
|
|
|
})
|
|
|
}
|
|
|
if (res.survey_record2) {
|
|
|
this.setData({
|
|
|
[`photo.surveyPhoneTwo[0].name`]: res.survey_record2,
|
|
|
[`photo.surveyPhoneTwo[0].url`]: this.data.IMG_BASE_URL + res.survey_record2,
|
|
|
})
|
|
|
}
|
|
|
|
|
|
// if (res.roof_photo_facade) {
|
|
|
// this.setData({
|
|
|
// [`photo.outwardHousePhone[0].name`]: res.roof_photo_facade,
|
|
|
// [`photo.outwardHousePhone[0].url`]: this.data.IMG_BASE_URL + res.roof_photo_facade,
|
|
|
// })
|
|
|
// }
|
|
|
|
|
|
if (res.roof_photo_interior) {
|
|
|
this.setData({
|
|
|
[`photo.inwardHousePhone[0].name`]: res.roof_photo_interior,
|
|
|
[`photo.inwardHousePhone[0].url`]: this.data.IMG_BASE_URL + res.roof_photo_interior,
|
|
|
})
|
|
|
}
|
|
|
|
|
|
if (res.dimensions_photo_thickness) {
|
|
|
this.setData({
|
|
|
[`photo.roofHousePhone[0].name`]: res.dimensions_photo_thickness,
|
|
|
[`photo.roofHousePhone[0].url`]: this.data.IMG_BASE_URL + res.dimensions_photo_thickness,
|
|
|
})
|
|
|
}
|
|
|
|
|
|
if (res.filing_document_photo) {
|
|
|
this.setData({
|
|
|
[`photo.filingPhone[0].name`]: res.filing_document_photo,
|
|
|
[`photo.filingPhone[0].url`]: this.data.IMG_BASE_URL + res.filing_document_photo,
|
|
|
})
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
})
|
|
|
},
|
|
|
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* 获取产品编号
|
|
|
*
|
|
|
* @param {*} e
|
|
|
*/
|
|
|
getProjectList(e) {
|
|
|
projectList({
|
|
|
userId: wx.getStorageSync('userId')
|
|
|
}).then((res) => {
|
|
|
this.setData({
|
|
|
projectList: res
|
|
|
})
|
|
|
})
|
|
|
},
|
|
|
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* 获取组件、逆变器、并网箱列表
|
|
|
*
|
|
|
* @param {*} e
|
|
|
*/
|
|
|
getElectricPlanAll(e) {
|
|
|
getElectricPlanAll({
|
|
|
|
|
|
}).then((res) => {
|
|
|
var componentApiList = [];
|
|
|
var converterApiList = [];
|
|
|
var cagesApiList = [];
|
|
|
var supportListApiList = [];
|
|
|
for (let i = 0; i < res.zjs.length; i++) {
|
|
|
const element = res.zjs[i].columns;
|
|
|
componentApiList.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;
|
|
|
supportListApiList.push(element)
|
|
|
}
|
|
|
this.setData({
|
|
|
componentApiList: componentApiList, //组件
|
|
|
converterApiList: converterApiList, //逆变器
|
|
|
cagesApiList: cagesApiList, //并网箱
|
|
|
supportListApiList: supportListApiList
|
|
|
})
|
|
|
})
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* 获取方案类型和方案名称
|
|
|
*
|
|
|
* @param {*} e
|
|
|
*/
|
|
|
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
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* 暂存提交数据
|
|
|
*
|
|
|
* @param {*} e 1:暂存 2:提交
|
|
|
*/
|
|
|
submitFrom(e) {
|
|
|
if (e.currentTarget.dataset.type == 1) { //暂存
|
|
|
|
|
|
|
|
|
if (!this.data.projectId) {
|
|
|
wx.showToast({
|
|
|
title: '请选择产品名称',
|
|
|
icon: 'none'
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
|
|
|
wx.showLoading({
|
|
|
title: '提交中',
|
|
|
mask: true
|
|
|
})
|
|
|
|
|
|
var composePlanList = []; // 标准方案或组合方案
|
|
|
// if (this.data.schemeType == 1) { //标准
|
|
|
// if (this.data.standardSolutionsList[0].code && this.data.standardSolutionsList[0].name && this.data.standardSolutionsList[0].type && this.data.standardSolutionsList[0].id) {
|
|
|
// var composePlanListOB = {}
|
|
|
// composePlanListOB.code = this.data.standardSolutionsList[0].code;
|
|
|
// composePlanListOB.name = this.data.standardSolutionsList[0].name;
|
|
|
// composePlanListOB.planType = this.data.standardSolutionsList[0].type;
|
|
|
// composePlanListOB.planId = this.data.standardSolutionsList[0].id;
|
|
|
// composePlanList.push(composePlanListOB)
|
|
|
// }
|
|
|
// } else
|
|
|
if (this.data.schemeType == 2) { //组合
|
|
|
this.data.combinedSolutionsList.forEach(element => {
|
|
|
if (element.code && element.name && element.type && element.id) {
|
|
|
var composePlanListOB = {}
|
|
|
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 = []; //组件 逆变器 并网箱 1:组件 2:逆变器 3:并网箱 4:支架
|
|
|
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 designPaper = [];
|
|
|
this.data.photo.designPaper.forEach(element => {
|
|
|
designPaper.push(element.name)
|
|
|
});
|
|
|
designPaper.join(",")
|
|
|
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* 接口数据
|
|
|
*
|
|
|
*/
|
|
|
var userId = wx.getStorageSync('userId')
|
|
|
var CustomerEntry = {
|
|
|
id: this.data.id ? this.data.id : "",
|
|
|
type: 0, //0.暂存 2.准入登记 3.准入登记
|
|
|
composePlanLists: composePlanList.length > 0 ? composePlanList : [],
|
|
|
itemList: itemList.length > 0 ? itemList : [],
|
|
|
projectId: this.data.projectId, //项目ID
|
|
|
projectCode: this.data.projectCode, //产品编号
|
|
|
projectName: this.data.projectName, //产品名称
|
|
|
tenantName: this.data.name, //业主姓名
|
|
|
mobile: this.data.phone, //联系方式
|
|
|
province: this.data.region ? this.data.region[0] : "", //省
|
|
|
city: this.data.region ? this.data.region[1] : "", //市
|
|
|
area: this.data.region ? this.data.region[2] : "", //区
|
|
|
idCode: this.data.idCard, //身份证卡号
|
|
|
bankName: this.data.bankName, //开户银行
|
|
|
bankCode: this.data.bankCode, //银行账号
|
|
|
address: this.data.address, //详细地址
|
|
|
longitude: this.data.longitude ? this.data.longitude : "", //经度
|
|
|
latitude: this.data.latitude ? this.data.latitude : "", //纬度
|
|
|
idCardFront: this.data.photo.idCardFrontFileList.length > 0 ? this.data.photo.idCardFrontFileList[0].name : '', //身份证正面
|
|
|
idCardBack: this.data.photo.idCardBackFileList.length > 0 ? this.data.photo.idCardBackFileList[0].name : '', //身份证反面
|
|
|
roofType: this.data.roofType, //屋顶类型
|
|
|
shootType: this.data.shootType, //拍摄方式
|
|
|
roofPhotoOne: this.data.shootType == 1 ? this.data.photo.phoneOne.length > 0 ? this.data.photo.phoneOne[0].name : "" : this.data.photo.phoneSix.length > 0 ? this.data.photo.phoneSix[0].name : "",
|
|
|
roofPhotoTwo: this.data.shootType == 1 ? this.data.photo.phoneTwo.length > 0 ? this.data.photo.phoneTwo[0].name : "" : this.data.photo.phoneSeven.length > 0 ? this.data.photo.phoneSeven[0].name : "",
|
|
|
roofPhotoThree: this.data.shootType == 1 ? this.data.photo.phoneThree.length > 0 ? this.data.photo.phoneThree[0].name : "" : this.data.photo.phoneEight.length > 0 ? this.data.photo.phoneEight[0].name : "",
|
|
|
roofPhotoFour: this.data.shootType == 1 ? this.data.photo.phoneFour.length > 0 ? this.data.photo.phoneFour[0].name : "" : this.data.photo.phoneNine.length > 0 ? this.data.photo.phoneNine[0].name : "",
|
|
|
roofPhotoFive: this.data.shootType == 1 ? "" : this.data.photo.phoneTen.length > 0 ? this.data.photo.phoneTen[0].name : "", //房屋照片
|
|
|
roofValue: this.data.photo.phoneVideo.length > 0 ? this.data.photo.phoneVideo[0].name : "", //屋顶视频
|
|
|
houseOwnership: this.data.photo.phoneHouse.length > 0 ? this.data.photo.phoneHouse[0].name : "", //房产证照片
|
|
|
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
|
|
|
|
|
|
// roofPhotoFacade: this.data.photo.outwardHousePhone.length > 0 ? this.data.photo.outwardHousePhone[0].name : "", //房屋外观照片;
|
|
|
roofPhotoInterior: this.data.photo.inwardHousePhone.length > 0 ? this.data.photo.inwardHousePhone[0].name : "", //房屋内部照片;
|
|
|
dimensionsPhotoThickness: this.data.photo.roofHousePhone.length > 0 ? this.data.photo.roofHousePhone[0].name : "", //楼顶厚度照片
|
|
|
filingDocumentPhoto: this.data.photo.filingPhone.length > 0 ? this.data.photo.filingPhone[0].name : "", //备案文件
|
|
|
|
|
|
|
|
|
distance: this.data.deg, //并网距离
|
|
|
azimuth: this.data.azimuth, //方位角
|
|
|
angle: this.data.azimuth != 1 ? this.data.directionDeg : "", //方位角角度
|
|
|
buildingHeight: this.data.height, //建筑高度
|
|
|
repaymentMethod: this.data.repaymentMethod, //划转方式
|
|
|
remarks: this.data.remark, //备注
|
|
|
designDrawings: designPaper + "", //设计图纸
|
|
|
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, //方案备注
|
|
|
}
|
|
|
|
|
|
var data = {
|
|
|
userId: userId,
|
|
|
CustomerEntry: CustomerEntry,
|
|
|
}
|
|
|
|
|
|
|
|
|
// wx.hideLoading()
|
|
|
// console.log("暂存", data)
|
|
|
// return
|
|
|
|
|
|
saveOrEditCustomerEntry(data).then((res) => {
|
|
|
wx.hideLoading()
|
|
|
if (res.code == 200) {
|
|
|
wx.showToast({
|
|
|
title: "暂存成功",
|
|
|
icon: 'none',
|
|
|
success: function () {
|
|
|
setTimeout(function () {
|
|
|
//延时返回上一页面
|
|
|
wx.navigateBack()
|
|
|
}, 1500) //延迟时间
|
|
|
}
|
|
|
})
|
|
|
} else {
|
|
|
wx.showToast({
|
|
|
title: res.errMsg,
|
|
|
icon: 'none'
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} else if (e.currentTarget.dataset.type == 2) { //提交
|
|
|
if (!this.data.projectId) {
|
|
|
wx.showToast({
|
|
|
title: '请选择产品名称',
|
|
|
icon: 'none'
|
|
|
})
|
|
|
return
|
|
|
} else if (!this.data.name) {
|
|
|
wx.showToast({
|
|
|
title: '请输入姓名',
|
|
|
icon: 'none'
|
|
|
})
|
|
|
return
|
|
|
} else if (!this.data.phone) {
|
|
|
wx.showToast({
|
|
|
title: '请输入联系方式',
|
|
|
icon: 'none'
|
|
|
})
|
|
|
return
|
|
|
} else if (!this.data.idCard) {
|
|
|
wx.showToast({
|
|
|
title: '请输入身份证号码',
|
|
|
icon: 'none'
|
|
|
})
|
|
|
return
|
|
|
}else if (!this.data.bankName) {
|
|
|
wx.showToast({
|
|
|
title: '请输入开户银行',
|
|
|
icon: 'none'
|
|
|
})
|
|
|
return
|
|
|
} else if (!this.data.bankCode) {
|
|
|
wx.showToast({
|
|
|
title: '请输入银行账号',
|
|
|
icon: 'none'
|
|
|
})
|
|
|
return
|
|
|
} else if (!this.data.region) {
|
|
|
wx.showToast({
|
|
|
title: "请选择安装地址",
|
|
|
icon: 'none'
|
|
|
})
|
|
|
return
|
|
|
} else if (!this.data.address) {
|
|
|
wx.showToast({
|
|
|
title: "请输入安装地址",
|
|
|
icon: 'none'
|
|
|
})
|
|
|
return
|
|
|
} else if (!this.data.longitude && this.data.latitude) {
|
|
|
wx.showToast({
|
|
|
title: "请添加经纬度信息",
|
|
|
icon: 'none'
|
|
|
})
|
|
|
return
|
|
|
} else if (this.data.photo.idCardBackFileList.length == 0 || this.data.photo.idCardFrontFileList.length == 0) {
|
|
|
wx.showToast({
|
|
|
title: "请上传身份证照片",
|
|
|
icon: 'none'
|
|
|
})
|
|
|
return
|
|
|
} else if (this.data.shootType == 1 && (this.data.photo.phoneOne.length == 0 || this.data.photo.phoneTwo.length == 0 || this.data.photo.phoneVideo.length == 0)) {
|
|
|
wx.showToast({
|
|
|
title: "请上传房屋照片",
|
|
|
icon: 'none'
|
|
|
})
|
|
|
return
|
|
|
} else if (this.data.shootType == 2 && (this.data.photo.phoneSix.length == 0 || this.data.photo.phoneSeven.length == 0 || this.data.photo.phoneEight.length == 0 || this.data.photo.phoneVideo.length == 0)) {
|
|
|
wx.showToast({
|
|
|
title: "请上传房屋照片",
|
|
|
icon: 'none'
|
|
|
})
|
|
|
return
|
|
|
} else if (this.data.photo.outwardHousePhone.length == 0 || this.data.photo.inwardHousePhone.length == 0 || this.data.photo.roofHousePhone.length == 0) {
|
|
|
wx.showToast({
|
|
|
title: "请上传外观照片",
|
|
|
icon: 'none'
|
|
|
})
|
|
|
return
|
|
|
} else if (this.data.photo.phoneHouse.length == 0) {
|
|
|
wx.showToast({
|
|
|
title: "请上传房产证",
|
|
|
icon: 'none'
|
|
|
})
|
|
|
return
|
|
|
} else if (this.data.photo.surveyPhoneOne.length == 0) {
|
|
|
wx.showToast({
|
|
|
title: "请上传踏勘记录表",
|
|
|
icon: 'none'
|
|
|
})
|
|
|
return
|
|
|
} else if (!this.data.deg) {
|
|
|
wx.showToast({
|
|
|
title: "请输入并网距离",
|
|
|
icon: 'none'
|
|
|
})
|
|
|
return
|
|
|
} else if (this.data.azimuth != 1 && !this.data.directionDeg) {
|
|
|
wx.showToast({
|
|
|
title: "方位角为非正南时请输入角度",
|
|
|
icon: 'none'
|
|
|
})
|
|
|
return
|
|
|
} else if (!this.data.height) {
|
|
|
wx.showToast({
|
|
|
title: "请输入建筑高度",
|
|
|
icon: 'none'
|
|
|
})
|
|
|
return
|
|
|
} else if (this.data.photo.designPaper.length == 0) {
|
|
|
wx.showToast({
|
|
|
title: "请上传1-10张设计图纸",
|
|
|
icon: 'none'
|
|
|
})
|
|
|
return
|
|
|
} else if (this.data.schemeType == 1 && !this.data.standardSolutionsList[0].id) {
|
|
|
wx.showToast({
|
|
|
title: "请完整选择标准方案",
|
|
|
icon: 'none'
|
|
|
})
|
|
|
return
|
|
|
} else if (this.data.schemeType == 2) {
|
|
|
for (let i = 0; i < this.data.combinedSolutionsList.length; i++) {
|
|
|
const element = this.data.combinedSolutionsList[i];
|
|
|
if (!element.code) {
|
|
|
wx.showToast({
|
|
|
title: "请完整选择组合方案",
|
|
|
icon: 'none'
|
|
|
})
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
for (let b = 0; b < this.data.componentList.length; b++) {
|
|
|
const element = this.data.componentList[b];
|
|
|
if (!element.num) {
|
|
|
wx.showToast({
|
|
|
title: "有组件未选择输入完整",
|
|
|
icon: 'none'
|
|
|
})
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
for (let i = 0; i < this.data.converterList.length; i++) {
|
|
|
const element = this.data.converterList[i];
|
|
|
if (!element.num) {
|
|
|
wx.showToast({
|
|
|
title: "有逆变器未选择输入完整",
|
|
|
icon: 'none'
|
|
|
})
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// for (let j = 0; j < this.data.cagesList.length; j++) {
|
|
|
// const element = this.data.cagesList[j];
|
|
|
// if (!element.num) {
|
|
|
// wx.showToast({
|
|
|
// title: "有并网箱未选择输入完整",
|
|
|
// icon: 'none'
|
|
|
// })
|
|
|
// return;
|
|
|
// }
|
|
|
// }
|
|
|
|
|
|
wx.showLoading({
|
|
|
title: '提交中',
|
|
|
mask: true
|
|
|
})
|
|
|
|
|
|
|
|
|
var composePlanList = []; // 标准方案或组合方案
|
|
|
// if (this.data.schemeType == 1) { //标准
|
|
|
// var composePlanListOB = {}
|
|
|
// composePlanListOB.code = this.data.standardSolutionsList[0].code;
|
|
|
// composePlanListOB.name = this.data.standardSolutionsList[0].name;
|
|
|
// composePlanListOB.planType = this.data.standardSolutionsList[0].type;
|
|
|
// composePlanListOB.planId = this.data.standardSolutionsList[0].id;
|
|
|
// composePlanList.push(composePlanListOB)
|
|
|
// } else
|
|
|
if (this.data.schemeType == 2) { //组合
|
|
|
this.data.combinedSolutionsList.forEach(element => {
|
|
|
var composePlanListOB = {}
|
|
|
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 = []; //组件 逆变器 并网箱 1:组件 2:逆变器 3:并网箱
|
|
|
this.data.componentList.forEach(element => { //组件
|
|
|
var component = {}
|
|
|
if (element.id && element.num) {
|
|
|
component.itemType = 3;
|
|
|
component.itemId = element.id;
|
|
|
component.num = element.num
|
|
|
itemList.push(component)
|
|
|
}
|
|
|
});
|
|
|
|
|
|
this.data.converterList.forEach(element => { //逆变器
|
|
|
var component = {}
|
|
|
if (element.id && element.num) {
|
|
|
component.itemType = 1;
|
|
|
component.itemId = element.id;
|
|
|
component.num = element.num;
|
|
|
itemList.push(component)
|
|
|
}
|
|
|
});
|
|
|
|
|
|
this.data.cagesList.forEach(element => { //并网箱
|
|
|
var component = {}
|
|
|
if (element.id && element.num) {
|
|
|
component.itemType = 2;
|
|
|
component.itemId = element.id;
|
|
|
component.num = element.num;
|
|
|
itemList.push(component)
|
|
|
}
|
|
|
});
|
|
|
|
|
|
|
|
|
var designPaper = [];
|
|
|
this.data.photo.designPaper.forEach(element => {
|
|
|
designPaper.push(element.name)
|
|
|
});
|
|
|
designPaper.join(",")
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* 接口数据
|
|
|
*
|
|
|
*/
|
|
|
var userId = wx.getStorageSync('userId')
|
|
|
var CustomerEntry = {
|
|
|
id: this.data.id ? this.data.id : "", //当有此参数的时候页面为修改
|
|
|
type: 3, //0.暂存 2.准入登记 3.提交审核
|
|
|
composePlanLists: composePlanList,
|
|
|
itemList: itemList,
|
|
|
projectId: this.data.projectId, //项目ID
|
|
|
projectCode: this.data.projectCode, //产品编号
|
|
|
projectName: this.data.projectName, //产品名称
|
|
|
tenantName: this.data.name, //业主姓名
|
|
|
mobile: this.data.phone, //联系方式
|
|
|
province: this.data.region[0], //省
|
|
|
city: this.data.region[1], //市
|
|
|
area: this.data.region[2], //区
|
|
|
idCode: this.data.idCard, //身份证卡号
|
|
|
bankName: this.data.bankName, //开户银行
|
|
|
bankCode: this.data.bankCode, //银行账号
|
|
|
address: this.data.address, //详细地址
|
|
|
longitude: this.data.longitude, //经度
|
|
|
latitude: this.data.latitude, //纬度
|
|
|
idCardFront: this.data.photo.idCardFrontFileList[0].name, //身份证正面
|
|
|
idCardBack: this.data.photo.idCardBackFileList[0].name, //身份证反面
|
|
|
roofType: this.data.roofType, //屋顶类型
|
|
|
shootType: this.data.shootType, //拍摄方式
|
|
|
roofPhotoOne: this.data.shootType == 1 ? this.data.photo.phoneOne[0].name : this.data.photo.phoneSix[0].name,
|
|
|
roofPhotoTwo: this.data.shootType == 1 ? this.data.photo.phoneTwo[0].name : this.data.photo.phoneSeven[0].name,
|
|
|
roofPhotoThree: this.data.shootType == 1 ? this.data.photo.phoneThree.length > 0 ? this.data.photo.phoneThree[0].name : "" : this.data.photo.phoneEight[0].name,
|
|
|
roofPhotoFour: this.data.shootType == 1 ? this.data.photo.phoneFour.length > 0 ? this.data.photo.phoneFour[0].name : "" : this.data.photo.phoneNine.length > 0 ? this.data.photo.phoneNine[0].name : "",
|
|
|
roofPhotoFive: this.data.shootType == 1 ? "" : this.data.photo.phoneTen.length > 0 ? this.data.photo.phoneTen[0].name : "", //房屋照片
|
|
|
roofValue: this.data.photo.phoneVideo[0].name, //屋顶视频
|
|
|
houseOwnership: this.data.photo.phoneHouse[0].name, //房产证照片
|
|
|
surveyRecord: this.data.photo.surveyPhoneOne[0].name, //踏勘记录表1
|
|
|
surveyRecord2: this.data.photo.surveyPhoneTwo.length > 0 ? this.data.photo.surveyPhoneTwo[0].name : "", //踏勘记录表2
|
|
|
|
|
|
// roofPhotoFacade: this.data.photo.outwardHousePhone[0].name, //房屋外观照片;
|
|
|
roofPhotoInterior: this.data.photo.inwardHousePhone[0].name, //房屋内部照片;
|
|
|
dimensionsPhotoThickness: this.data.photo.roofHousePhone[0].name, //楼顶厚度照片
|
|
|
filingDocumentPhoto: this.data.photo.filingPhone.length > 0 ? this.data.photo.filingPhone[0].name : "", //备案文件
|
|
|
|
|
|
distance: this.data.deg, //并网距离
|
|
|
azimuth: this.data.azimuth, //方位角
|
|
|
angle: this.data.azimuth != 1 ? this.data.directionDeg : "", //方位角角度
|
|
|
buildingHeight: this.data.height, //建筑高度
|
|
|
repaymentMethod: this.data.repaymentMethod, //划转方式
|
|
|
remarks: this.data.remark, //备注
|
|
|
designDrawings: designPaper + "", //设计图纸
|
|
|
schemeType: this.data.schemeType, //设计方案
|
|
|
schemeTypeId: this.data.schemeType == 1 ? this.data.standardSolutionsList[0].typeId : "", //当设计方案为标准方案时,传参
|
|
|
schemeTypeName: this.data.schemeType == 1 ? this.data.standardSolutionsList[0].type : "",
|
|
|
schemeId: this.data.schemeType == 1 ? this.data.standardSolutionsList[0].id : "",
|
|
|
schemeName: this.data.schemeType == 1 ? this.data.standardSolutionsList[0].name : "",
|
|
|
schemeRemarks: this.data.solutionRemark, //方案备注
|
|
|
}
|
|
|
|
|
|
var data = {
|
|
|
userId: userId,
|
|
|
CustomerEntry: CustomerEntry,
|
|
|
}
|
|
|
|
|
|
// console.log("提交数据", data)
|
|
|
// return
|
|
|
|
|
|
saveOrEditCustomerEntry(data).then((res) => {
|
|
|
wx.hideLoading()
|
|
|
if (res.code == 200) {
|
|
|
wx.showToast({
|
|
|
title: this.data.id ? "修改成功" : "提交成功",
|
|
|
icon: 'none',
|
|
|
success: function () {
|
|
|
setTimeout(function () {
|
|
|
//延时返回上一页面
|
|
|
wx.navigateBack()
|
|
|
}, 1500) //延迟时间
|
|
|
}
|
|
|
})
|
|
|
} else {
|
|
|
wx.showToast({
|
|
|
title: res.errMsg,
|
|
|
icon: 'none'
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
},
|
|
|
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* 上传图片
|
|
|
*
|
|
|
* @param {*} e
|
|
|
*/
|
|
|
afteruploadPhotoRead(e) {
|
|
|
|
|
|
const type = e.currentTarget.dataset.type
|
|
|
|
|
|
if (type == 16) {
|
|
|
var count = 0;
|
|
|
this.afteruploadPhotoReadS(e, count)
|
|
|
return
|
|
|
}
|
|
|
|
|
|
// 手机拍摄添加水印
|
|
|
if (type == 7 || type == 8 || type == 9 || type == 10 || type == 11) {
|
|
|
if (!this.data.name) {
|
|
|
wx.showToast({
|
|
|
title: '请输入业主姓名',
|
|
|
icon: 'none'
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
this.getLocation(e)
|
|
|
return
|
|
|
}
|
|
|
|
|
|
const {
|
|
|
file
|
|
|
} = e.detail;
|
|
|
const img = file.url;
|
|
|
wx.showLoading({
|
|
|
title: '上传中',
|
|
|
})
|
|
|
var that = this
|
|
|
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: "",
|
|
|
}
|
|
|
// 渲染各自图片
|
|
|
switch (e.currentTarget.dataset.type) {
|
|
|
case "0": //身份证正面
|
|
|
item.url = img;
|
|
|
item.name = res.data;
|
|
|
that.data.photo.idCardFrontFileList.push(item)
|
|
|
that.setData({
|
|
|
'photo.idCardFrontFileList': that.data.photo.idCardFrontFileList
|
|
|
})
|
|
|
break
|
|
|
case "1": //身份证反面
|
|
|
item.url = img;
|
|
|
item.name = res.data;
|
|
|
that.data.photo.idCardBackFileList.push(item)
|
|
|
that.setData({
|
|
|
'photo.idCardBackFileList': that.data.photo.idCardBackFileList
|
|
|
})
|
|
|
break
|
|
|
case "2": //无人机俯拍
|
|
|
item.url = img;
|
|
|
item.name = res.data;
|
|
|
that.data.photo.phoneOne.push(item)
|
|
|
that.setData({
|
|
|
'photo.phoneOne': that.data.photo.phoneOne
|
|
|
})
|
|
|
break
|
|
|
case "3": //无人机角度南
|
|
|
item.url = img;
|
|
|
item.name = res.data;
|
|
|
that.data.photo.phoneTwo.push(item)
|
|
|
that.setData({
|
|
|
'photo.phoneTwo': that.data.photo.phoneTwo
|
|
|
})
|
|
|
break
|
|
|
case "4": //无人机补充1
|
|
|
item.url = img;
|
|
|
item.name = res.data;
|
|
|
that.data.photo.phoneThree.push(item)
|
|
|
that.setData({
|
|
|
'photo.phoneThree': that.data.photo.phoneThree
|
|
|
})
|
|
|
break
|
|
|
case "5": //无人机补充2
|
|
|
item.url = img;
|
|
|
item.name = res.data;
|
|
|
that.data.photo.phoneFour.push(item)
|
|
|
that.setData({
|
|
|
'photo.phoneFour': that.data.photo.phoneFour
|
|
|
})
|
|
|
break
|
|
|
case "12": //屋顶视频
|
|
|
item.url = img;
|
|
|
item.name = res.data;
|
|
|
that.data.photo.phoneVideo.push(item)
|
|
|
that.setData({
|
|
|
'photo.phoneVideo': that.data.photo.phoneVideo
|
|
|
})
|
|
|
break
|
|
|
case "13": //房产证
|
|
|
item.url = img;
|
|
|
item.name = res.data;
|
|
|
that.data.photo.phoneHouse.push(item)
|
|
|
that.setData({
|
|
|
'photo.phoneHouse': that.data.photo.phoneHouse
|
|
|
})
|
|
|
break
|
|
|
case "14": //踏勘表1
|
|
|
item.url = img;
|
|
|
item.name = res.data;
|
|
|
that.data.photo.surveyPhoneOne.push(item)
|
|
|
that.setData({
|
|
|
'photo.surveyPhoneOne': that.data.photo.surveyPhoneOne
|
|
|
})
|
|
|
break
|
|
|
case "15": //踏勘表2
|
|
|
item.url = img;
|
|
|
item.name = res.data;
|
|
|
that.data.photo.surveyPhoneTwo.push(item)
|
|
|
that.setData({
|
|
|
'photo.surveyPhoneTwo': that.data.photo.surveyPhoneTwo
|
|
|
})
|
|
|
break
|
|
|
case "17": //备案文件
|
|
|
item.url = img;
|
|
|
item.name = res.data;
|
|
|
that.data.photo.filingPhone.push(item)
|
|
|
that.setData({
|
|
|
'photo.filingPhone': that.data.photo.filingPhone
|
|
|
})
|
|
|
break
|
|
|
case "18": //房屋外观照片
|
|
|
item.url = img;
|
|
|
item.name = res.data;
|
|
|
that.data.photo.outwardHousePhone.push(item)
|
|
|
that.setData({
|
|
|
'photo.outwardHousePhone': that.data.photo.outwardHousePhone
|
|
|
})
|
|
|
break
|
|
|
case "19": //房屋内部照片
|
|
|
item.url = img;
|
|
|
item.name = res.data;
|
|
|
that.data.photo.inwardHousePhone.push(item)
|
|
|
that.setData({
|
|
|
'photo.inwardHousePhone': that.data.photo.inwardHousePhone
|
|
|
})
|
|
|
break
|
|
|
case "20": //楼顶厚度照片
|
|
|
item.url = img;
|
|
|
item.name = res.data;
|
|
|
that.data.photo.roofHousePhone.push(item)
|
|
|
that.setData({
|
|
|
'photo.roofHousePhone': that.data.photo.roofHousePhone
|
|
|
})
|
|
|
break
|
|
|
}
|
|
|
} else {
|
|
|
wx.showToast({
|
|
|
title: '选择失败',
|
|
|
icon: 'error'
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* 上传设计图纸,多张图片递归
|
|
|
*
|
|
|
* @param {*} e
|
|
|
*/
|
|
|
afteruploadPhotoReadS(e, count) {
|
|
|
let ob = {
|
|
|
name: '',
|
|
|
url: '',
|
|
|
}
|
|
|
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()
|
|
|
console.log("res", res)
|
|
|
if (res.statusCode == 200) {
|
|
|
count = count + 1;
|
|
|
ob.name = res.data
|
|
|
ob.url = element.url
|
|
|
that.data.photo.designPaper.push(ob)
|
|
|
console.log("designPaper", that.data.photo.designPaper)
|
|
|
that.setData({
|
|
|
'photo.designPaper': that.data.photo.designPaper
|
|
|
})
|
|
|
if (count == e.detail.file.length) {
|
|
|
wx.showToast({
|
|
|
title: '选择成功',
|
|
|
icon: 'none'
|
|
|
})
|
|
|
} else {
|
|
|
that.afteruploadPhotoReadS(e, count)
|
|
|
}
|
|
|
} else {
|
|
|
wx.showToast({
|
|
|
title: '选择失败',
|
|
|
icon: 'error'
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* 删除图片
|
|
|
*
|
|
|
* @param {*} e
|
|
|
*/
|
|
|
deleteImg(e) {
|
|
|
console.log("删除图片事件", e)
|
|
|
|
|
|
switch (e.currentTarget.dataset.type) {
|
|
|
case "0": //删除身份证正面
|
|
|
this.setData({
|
|
|
'photo.idCardFrontFileList': []
|
|
|
})
|
|
|
break;
|
|
|
case "1": //删除身份证反面
|
|
|
this.setData({
|
|
|
'photo.idCardBackFileList': []
|
|
|
})
|
|
|
break;
|
|
|
case "2": //删除俯拍
|
|
|
this.setData({
|
|
|
'photo.phoneOne': []
|
|
|
})
|
|
|
break;
|
|
|
case "3": //删除角度南
|
|
|
this.setData({
|
|
|
'photo.phoneTwo': []
|
|
|
})
|
|
|
break;
|
|
|
case "4": //删除补充1
|
|
|
this.setData({
|
|
|
'photo.phoneThree': []
|
|
|
})
|
|
|
break;
|
|
|
case "5": //删除补充2
|
|
|
this.setData({
|
|
|
'photo.phoneFour': []
|
|
|
})
|
|
|
break;
|
|
|
case "6": //删除东北
|
|
|
this.setData({
|
|
|
'photo.phoneFive': []
|
|
|
})
|
|
|
break;
|
|
|
case "7": //删除东南
|
|
|
this.setData({
|
|
|
'photo.phoneSix': []
|
|
|
})
|
|
|
break;
|
|
|
case "8": //删除南侧
|
|
|
this.setData({
|
|
|
'photo.phoneSeven': []
|
|
|
})
|
|
|
break;
|
|
|
case "9": //删除西南
|
|
|
this.setData({
|
|
|
'photo.phoneEight': []
|
|
|
})
|
|
|
break;
|
|
|
case "10": //删除补充1
|
|
|
this.setData({
|
|
|
'photo.phoneNine': []
|
|
|
})
|
|
|
break;
|
|
|
case "11": //删除补充2
|
|
|
this.setData({
|
|
|
'photo.phoneTen': []
|
|
|
})
|
|
|
break;
|
|
|
case "12": //删除屋顶视频
|
|
|
this.setData({
|
|
|
'photo.phoneVideo': []
|
|
|
})
|
|
|
break;
|
|
|
case "13": //删除房产证
|
|
|
this.setData({
|
|
|
'photo.phoneHouse': []
|
|
|
})
|
|
|
break;
|
|
|
case "14": //删除踏勘1
|
|
|
this.setData({
|
|
|
'photo.surveyPhoneOne': []
|
|
|
})
|
|
|
break;
|
|
|
case "15": //删除踏勘2
|
|
|
this.setData({
|
|
|
'photo.surveyPhoneTwo': []
|
|
|
})
|
|
|
break;
|
|
|
case "16":
|
|
|
this.deleteImgS(e)
|
|
|
break;
|
|
|
case "17": //备案文件
|
|
|
this.setData({
|
|
|
'photo.filingPhone': []
|
|
|
})
|
|
|
break;
|
|
|
case "18": //房屋外观照片
|
|
|
this.setData({
|
|
|
'photo.outwardHousePhone': []
|
|
|
})
|
|
|
break;
|
|
|
case "19": //房屋内部照片
|
|
|
this.setData({
|
|
|
'photo.inwardHousePhone': []
|
|
|
})
|
|
|
break;
|
|
|
case "20": //楼顶厚度照片
|
|
|
this.setData({
|
|
|
'photo.roofHousePhone': []
|
|
|
})
|
|
|
break;
|
|
|
}
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 删除设计图纸
|
|
|
*
|
|
|
*/
|
|
|
deleteImgS(e) {
|
|
|
const index = e.detail.index; //删除图片的下标
|
|
|
this.data.photo.designPaper.splice(index, 1)
|
|
|
this.setData({
|
|
|
'photo.designPaper': this.data.photo.designPaper
|
|
|
})
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* 上传pdf或图片
|
|
|
*
|
|
|
* @param {*} e
|
|
|
*/
|
|
|
upload(e) {
|
|
|
var that = this;
|
|
|
wx.chooseMessageFile({
|
|
|
count: 1,
|
|
|
type: 'all',
|
|
|
success(res) {
|
|
|
console.log('chooseMessageFile===', res)
|
|
|
|
|
|
//获取文件后缀
|
|
|
let suffix = res.tempFiles[0].path.substring(res.tempFiles[0].path.lastIndexOf('.') + 1)
|
|
|
|
|
|
if (suffix.search(/jpg|png|jpeg|pdf/) == -1) {
|
|
|
wx.showToast({
|
|
|
title: '只能上传pdf文件或图片',
|
|
|
icon: 'none'
|
|
|
})
|
|
|
return
|
|
|
} else {
|
|
|
wx.showLoading({
|
|
|
title: '选择中',
|
|
|
})
|
|
|
wx.uploadFile({
|
|
|
url: that.data.API_BASE_URL + 'common/weChat/uploadImage',
|
|
|
filePath: res.tempFiles[0].path,
|
|
|
name: 'file',
|
|
|
complete: function (res) {
|
|
|
console.log("选择文件", res)
|
|
|
wx.hideLoading()
|
|
|
if (res.statusCode == 200) {
|
|
|
wx.showToast({
|
|
|
title: '选择成功',
|
|
|
icon: 'none'
|
|
|
})
|
|
|
that.setData({
|
|
|
designPaper: res.data
|
|
|
})
|
|
|
} else {
|
|
|
wx.showToast({
|
|
|
title: '选择失败',
|
|
|
icon: 'none'
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* 选择产品编号
|
|
|
*
|
|
|
* @param {*} ee
|
|
|
*/
|
|
|
bindprojectList(e) {
|
|
|
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: this.data.projectList[e.detail.value].companyName,
|
|
|
paycycle: this.data.projectList[e.detail.value].pay_cycle
|
|
|
})
|
|
|
},
|
|
|
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* 选择标准方案类型
|
|
|
*
|
|
|
* @param {*} e
|
|
|
*/
|
|
|
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选择器
|
|
|
})
|
|
|
},
|
|
|
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* 选择标准方案名称
|
|
|
*
|
|
|
* @param {*} e
|
|
|
*/
|
|
|
bindPlanNameChange(e) {
|
|
|
if (!this.data.standardSolutionsListIndex) {
|
|
|
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,
|
|
|
})
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* 选择组合方案类型
|
|
|
*
|
|
|
* @param {*} e
|
|
|
*/
|
|
|
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`]: "",
|
|
|
})
|
|
|
},
|
|
|
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* 选择组合方案名称
|
|
|
*
|
|
|
* @param {*} e
|
|
|
*/
|
|
|
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,
|
|
|
})
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* 选择组件
|
|
|
*
|
|
|
* @param {*} e
|
|
|
*/
|
|
|
bindComponentChange(e) {
|
|
|
const pickerIndex = e.detail.value; //选择器选择第几个
|
|
|
const index = e.currentTarget.dataset.index; //选择第几个
|
|
|
this.setData({
|
|
|
[`componentList[${index}].model`]: this.data.componentApiList[pickerIndex].model,
|
|
|
[`componentList[${index}].id`]: this.data.componentApiList[pickerIndex].id,
|
|
|
})
|
|
|
},
|
|
|
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* 选择逆变器
|
|
|
*
|
|
|
* @param {*} e
|
|
|
*/
|
|
|
bindConverterChange(e) {
|
|
|
const pickerIndex = e.detail.value; //选择器选择第几个
|
|
|
const index = e.currentTarget.dataset.index; //选择第几个
|
|
|
this.setData({
|
|
|
[`converterList[${index}].model`]: this.data.converterApiList[pickerIndex].model,
|
|
|
[`converterList[${index}].id`]: this.data.converterApiList[pickerIndex].id,
|
|
|
})
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* 选择并网箱
|
|
|
*
|
|
|
* @param {*} e
|
|
|
*/
|
|
|
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,
|
|
|
})
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* 选择支架
|
|
|
*
|
|
|
* @param {*} e
|
|
|
*/
|
|
|
bindSupportListChange(e) {
|
|
|
const pickerIndex = e.detail.value; //选择器选择第几个
|
|
|
const index = e.currentTarget.dataset.index; //选择第几个
|
|
|
this.setData({
|
|
|
[`supportList[${index}].model`]: this.data.supportListApiList[pickerIndex].model,
|
|
|
[`supportList[${index}].id`]: this.data.supportListApiList[pickerIndex].id,
|
|
|
})
|
|
|
},
|
|
|
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* 选择设计方案
|
|
|
*
|
|
|
* @param {*} e 1:标准方案 2:组合方案
|
|
|
*/
|
|
|
radioChangeSolution(e) {
|
|
|
this.setData({
|
|
|
schemeType: e.detail.value == 1 ? 1 : 2,
|
|
|
})
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* 选择屋顶类型
|
|
|
*
|
|
|
* @param {*} e
|
|
|
*/
|
|
|
radioChangeRoofType(e) {
|
|
|
this.setData({
|
|
|
roofType: e.detail.value,
|
|
|
})
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* 选择拍摄方式
|
|
|
*
|
|
|
* @param {*} e
|
|
|
*/
|
|
|
radioChangeShooting(e) {
|
|
|
this.setData({
|
|
|
shootType: e.detail.value == 1 ? 1 : 2
|
|
|
})
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* 选择方位角
|
|
|
*
|
|
|
* @param {*} e
|
|
|
*/
|
|
|
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
|
|
|
})
|
|
|
}
|
|
|
},
|
|
|
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* 选择划转方式
|
|
|
*
|
|
|
* @param {*} e
|
|
|
*/
|
|
|
radioChangeRepaymentMethod(e) {
|
|
|
this.setData({
|
|
|
repaymentMethod: e.detail.value
|
|
|
})
|
|
|
},
|
|
|
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* 选择用户地址
|
|
|
*
|
|
|
* @param {*} e
|
|
|
*/
|
|
|
bindRegionChange: function (e) {
|
|
|
this.setData({
|
|
|
region: e.detail.value,
|
|
|
address: "",
|
|
|
longitudeAndLongitude: "",
|
|
|
longitude: "",
|
|
|
latitude: "",
|
|
|
})
|
|
|
},
|
|
|
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
*
|
|
|
* 输入组件,逆变器,并网箱的数量
|
|
|
*
|
|
|
* @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(3)
|
|
|
})
|
|
|
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,
|
|
|
})
|
|
|
case "4":
|
|
|
this.setData({
|
|
|
[`supportList[${e.currentTarget.dataset.index}].num`]: e.detail.value,
|
|
|
})
|
|
|
break;
|
|
|
}
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* 新增方案
|
|
|
*
|
|
|
* @param {*} e
|
|
|
*/
|
|
|
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]
|
|
|
})
|
|
|
},
|
|
|
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* 删除方案
|
|
|
*
|
|
|
* @param {*} e
|
|
|
*/
|
|
|
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;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
*
|
|
|
* 获取用户当前地理位置后为照片添加水印
|
|
|
*
|
|
|
* @param {*} res
|
|
|
* @param {*} e
|
|
|
*/
|
|
|
getLocation(e) {
|
|
|
var that = this
|
|
|
wx.showLoading({
|
|
|
title: '获取定位中',
|
|
|
})
|
|
|
wx.getLocation({
|
|
|
type: 'wgs84',
|
|
|
isHighAccuracy: true,
|
|
|
success(resLocation) {
|
|
|
getAddressByLonLat({
|
|
|
lonLat: resLocation.longitude + "," + resLocation.latitude
|
|
|
}).then((res) => {
|
|
|
wx.hideLoading()
|
|
|
if (res.code == 200) {
|
|
|
res.data = res.data.split("省")
|
|
|
that.setData({
|
|
|
customerAddress: res.data.length > 1 ? res.data[1] : res.data,
|
|
|
canvasLongitude: resLocation.longitude,
|
|
|
canvasLatitude: resLocation.latitude
|
|
|
})
|
|
|
wx.getStorage({
|
|
|
key: 'userName',
|
|
|
success(res) {
|
|
|
that.setData({
|
|
|
userName: res.data
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
//获取小程序二维码
|
|
|
let lonLat = resLocation.longitude + ',' + resLocation.latitude;
|
|
|
createQrcode({
|
|
|
content:lonLat
|
|
|
}).then(ret=>{
|
|
|
let codeImg ="data:image/png;base64," + ret;
|
|
|
that.setData({
|
|
|
imageCodeImg:codeImg
|
|
|
});
|
|
|
// console.log("codeImg",codeImg);
|
|
|
that.chooseImages(e)
|
|
|
});
|
|
|
// that.chooseImages(e)
|
|
|
} else {
|
|
|
wx.showToast({
|
|
|
title: '定位失败',
|
|
|
icon: 'none'
|
|
|
})
|
|
|
}
|
|
|
|
|
|
})
|
|
|
},
|
|
|
fail(res) {
|
|
|
wx.hideLoading()
|
|
|
wx.showModal({
|
|
|
title: '提示',
|
|
|
content: '拍摄上传房屋照片,请先授权小程序定位权限',
|
|
|
cancelText: "取消",
|
|
|
confirmText: "确定",
|
|
|
success(res) {
|
|
|
if (res.confirm) {
|
|
|
wx.openSetting({
|
|
|
withSubscriptions: true,
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* 获取当前位置信息 经纬度转位置信息
|
|
|
*
|
|
|
* @param {*} e
|
|
|
*/
|
|
|
getNowLocation(e) {
|
|
|
var that = this
|
|
|
wx.getLocation({
|
|
|
type: 'wgs84',
|
|
|
isHighAccuracy: true,
|
|
|
success(res) {
|
|
|
console.log("获取经纬", res)
|
|
|
wx.showLoading({
|
|
|
title: '获取定位中',
|
|
|
})
|
|
|
getAddressByLonLat({
|
|
|
lonLat: res.longitude + "," + res.latitude
|
|
|
}).then((res) => {
|
|
|
wx.hideLoading()
|
|
|
if (res.code == 200) {
|
|
|
|
|
|
} else {
|
|
|
wx.showToast({
|
|
|
title: '定位失败',
|
|
|
icon: 'none'
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
fail(res) {
|
|
|
wx.showModal({
|
|
|
title: '提示',
|
|
|
content: '请授权当前小程序定位权限',
|
|
|
cancelText: "取消",
|
|
|
confirmText: "确定",
|
|
|
success(res) {
|
|
|
if (res.confirm) {
|
|
|
wx.openSetting({
|
|
|
withSubscriptions: true,
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* 获取当前位置信息 位置信息转经纬度
|
|
|
*
|
|
|
* @param {*} e
|
|
|
*/
|
|
|
getNowLocationDetails: utils.debounce(function (e) {
|
|
|
var that = this
|
|
|
if (that.data.region[0] && that.data.address) {
|
|
|
that.getAddressLonLat()
|
|
|
}
|
|
|
}),
|
|
|
|
|
|
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'
|
|
|
})
|
|
|
}
|
|
|
} else {
|
|
|
wx.showToast({
|
|
|
title: '获取经纬度失败',
|
|
|
icon: 'none'
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
*
|
|
|
* 选择图片
|
|
|
*
|
|
|
*
|
|
|
* @param {*} res
|
|
|
*/
|
|
|
async chooseImages(res) {
|
|
|
const type = res.currentTarget.dataset.type
|
|
|
const {
|
|
|
file
|
|
|
} = res.detail;
|
|
|
await this.addWatermark(file.url, type)
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* 添加水印方法
|
|
|
*
|
|
|
* @param {*} tempFilePath//图片路径
|
|
|
* @param {*} type //类型
|
|
|
*/
|
|
|
addWatermark(tempFilePath, type) {
|
|
|
return new Promise(async (resolve, reject) => {
|
|
|
|
|
|
wx.showLoading({
|
|
|
title: '添加水印中',
|
|
|
})
|
|
|
|
|
|
// 获取图片信息
|
|
|
const imgInfo = await wx.getImageInfo({
|
|
|
src: tempFilePath
|
|
|
})
|
|
|
|
|
|
//获取当前设备像素
|
|
|
const dpr = wx.getSystemInfoSync().pixelRatio
|
|
|
|
|
|
//创建画笔
|
|
|
const ctx = this.data.canvas.getContext('2d')
|
|
|
|
|
|
//设置画布大小
|
|
|
if (wx.getSystemInfoSync().platform == "ios") {
|
|
|
this.data.canvas.width = imgInfo.width
|
|
|
this.data.canvas.height = imgInfo.height
|
|
|
ctx.scale(1, 1)
|
|
|
} else {
|
|
|
this.data.canvas.width = imgInfo.width * 1.5
|
|
|
this.data.canvas.height = imgInfo.height * 1.5
|
|
|
ctx.scale(1.5, 1.5)
|
|
|
}
|
|
|
|
|
|
// 创建图片对象
|
|
|
const image = this.data.canvas.createImage();
|
|
|
|
|
|
//设置图片路径
|
|
|
image.src = tempFilePath;
|
|
|
|
|
|
//绘制照片
|
|
|
image.onload = () => {
|
|
|
//绘制定位图标
|
|
|
const imageLocation = this.data.canvas.createImage();
|
|
|
imageLocation.src = this.data.canvasLocation
|
|
|
imageLocation.onload = () => {
|
|
|
ctx.drawImage(imageLocation, 20, imgInfo.height - 100, 80, 80)
|
|
|
}
|
|
|
|
|
|
//绘制人员图标
|
|
|
const imagePeople = this.data.canvas.createImage();
|
|
|
imagePeople.src = this.data.canvasPeople
|
|
|
imagePeople.onload = () => {
|
|
|
ctx.drawImage(imagePeople, 20, imgInfo.height - 220, 80, 80)
|
|
|
}
|
|
|
|
|
|
//绘制日期图标
|
|
|
// const imageDate = this.data.canvas.createImage();
|
|
|
// imageDate.src = this.data.canvasDate
|
|
|
// imageDate.onload = () => {
|
|
|
// ctx.drawImage(imageDate, imgInfo.width - 500, imgInfo.height - 220, 80, 80)
|
|
|
// }
|
|
|
|
|
|
ctx.drawImage(image, 0, 0, imgInfo.width, imgInfo.height)
|
|
|
|
|
|
//绘制黑色背景矩形
|
|
|
//绘制黑色渐变背景矩形
|
|
|
var grd = ctx.createLinearGradient(0, 0, imgInfo.width, 0);
|
|
|
grd.addColorStop(0, "rgba(0,0,0,0.8)");
|
|
|
grd.addColorStop(1, "rgba(255,255,255,0.4)");
|
|
|
ctx.fillStyle = grd;
|
|
|
ctx.fillRect(0, imgInfo.height - 250, imgInfo.width, 250)
|
|
|
|
|
|
//设置文字大小及字体
|
|
|
if (wx.getSystemInfoSync().platform == "ios") {
|
|
|
ctx.font = `35px sans-serif`
|
|
|
} else {
|
|
|
ctx.font = `25px sans-serif`
|
|
|
}
|
|
|
|
|
|
//设置画笔颜色
|
|
|
ctx.fillStyle = '#ffffff';
|
|
|
|
|
|
// //绘制时间
|
|
|
// let time = utils.formatTime(new Date())
|
|
|
// ctx.fillText(`${time}`, imgInfo.width - 400, imgInfo.height - 165)
|
|
|
|
|
|
//设置文字大小及字体
|
|
|
if (wx.getSystemInfoSync().platform == "ios") {
|
|
|
ctx.font = `40px sans-serif`
|
|
|
} else {
|
|
|
ctx.font = `30px sans-serif`
|
|
|
}
|
|
|
|
|
|
//绘制用户姓名
|
|
|
let name = this.data.name
|
|
|
ctx.fillText("用户姓名:" + `${name}`, 120, imgInfo.height - 195)
|
|
|
|
|
|
//绘制勘测人员
|
|
|
let time = utils.formatTime(new Date())
|
|
|
let surveyName = this.data.userName
|
|
|
ctx.fillText("勘测人员:" + `${surveyName}` + "(" + `${time}` + ")", 120, imgInfo.height - 145)
|
|
|
|
|
|
|
|
|
//绘制地点
|
|
|
ctx.fillText(`${this.data.customerAddress}`, 120, imgInfo.height - 25)
|
|
|
|
|
|
//绘制经纬度
|
|
|
ctx.fillText("经度:" + `${this.data.canvasLongitude}` + " " + "纬度:" + `${this.data.canvasLatitude}`, 120, imgInfo.height - 75)
|
|
|
|
|
|
|
|
|
//绘制完成后将canvas转为为图片
|
|
|
setTimeout(() => {
|
|
|
wx.hideLoading()
|
|
|
wx.showLoading({
|
|
|
title: '上传中',
|
|
|
mask: true
|
|
|
})
|
|
|
wx.canvasToTempFilePath({
|
|
|
canvas: this.data.canvas,
|
|
|
complete: (res) => {
|
|
|
console.log("将canvas转为为图片", res)
|
|
|
if (res.errMsg == "canvasToTempFilePath:ok") {
|
|
|
var that = this
|
|
|
wx.uploadFile({
|
|
|
url: that.data.API_BASE_URL + 'common/weChat/uploadImage',
|
|
|
filePath: res.tempFilePath,
|
|
|
name: 'file',
|
|
|
complete: function (res) {
|
|
|
wx.hideLoading()
|
|
|
console.log("上传图片", res)
|
|
|
if (res.statusCode == 200) {
|
|
|
var item = {
|
|
|
url: "",
|
|
|
name: "",
|
|
|
}
|
|
|
switch (type) {
|
|
|
case "7": //手机东南
|
|
|
item.url = that.data.IMG_BASE_URL + res.data;
|
|
|
item.name = res.data;
|
|
|
that.data.photo.phoneSix.push(item)
|
|
|
that.setData({
|
|
|
'photo.phoneSix': that.data.photo.phoneSix
|
|
|
})
|
|
|
break
|
|
|
case "8": //手机南侧
|
|
|
item.url = that.data.IMG_BASE_URL + res.data;
|
|
|
item.name = res.data;
|
|
|
that.data.photo.phoneSeven.push(item)
|
|
|
that.setData({
|
|
|
'photo.phoneSeven': that.data.photo.phoneSeven
|
|
|
})
|
|
|
break
|
|
|
case "9": //手机西南
|
|
|
item.url = that.data.IMG_BASE_URL + res.data;
|
|
|
item.name = res.data;
|
|
|
that.data.photo.phoneEight.push(item)
|
|
|
that.setData({
|
|
|
'photo.phoneEight': that.data.photo.phoneEight
|
|
|
})
|
|
|
break
|
|
|
case "10": //手机补充1
|
|
|
item.url = that.data.IMG_BASE_URL + res.data;
|
|
|
item.name = res.data;
|
|
|
that.data.photo.phoneNine.push(item)
|
|
|
that.setData({
|
|
|
'photo.phoneNine': that.data.photo.phoneNine
|
|
|
})
|
|
|
break
|
|
|
case "11": //手机补充2
|
|
|
item.url = that.data.IMG_BASE_URL + res.data;
|
|
|
item.name = res.data;
|
|
|
that.data.photo.phoneTen.push(item)
|
|
|
that.setData({
|
|
|
'photo.phoneTen': that.data.photo.phoneTen
|
|
|
})
|
|
|
break
|
|
|
}
|
|
|
} else {
|
|
|
wx.showToast({
|
|
|
title: "选择失败",
|
|
|
icon: 'none'
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
} else {
|
|
|
wx.hideLoading()
|
|
|
wx.showToast({
|
|
|
title: "选择失败",
|
|
|
icon: 'none'
|
|
|
})
|
|
|
}
|
|
|
resolve(res.tempFilePath)
|
|
|
},
|
|
|
})
|
|
|
}, 300)
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
}) |