|
|
const {
|
|
|
getProjectByArea,
|
|
|
getCompany,
|
|
|
API_BASE_URL,
|
|
|
IMG_BASE_URL,
|
|
|
getElectricPlanAll,
|
|
|
findAllPlan,
|
|
|
saveOrEditCustomerEntry,
|
|
|
entryDetail,
|
|
|
createQrcode,
|
|
|
getFormSet,
|
|
|
DEV,
|
|
|
findTypeReferenceListNew,
|
|
|
bankCardPage,
|
|
|
surveyToDesign, getAllDictionarySelect,
|
|
|
updateCustomerEntry,auditBack,designCustomerEntry,
|
|
|
appletsFailed,
|
|
|
appletsToExamine,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'], //拍摄模式
|
|
|
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: '现场勘测表',
|
|
|
}],
|
|
|
//房屋信息
|
|
|
sealRoof: '', //是否封屋顶
|
|
|
schemeType: 1, //默认为标准方案
|
|
|
azimuth: 1, //方位角默认为正南
|
|
|
// repaymentMethod: 1, //划转方式默认为二类卡
|
|
|
projectId: '',
|
|
|
formSetObj: {}, //自定义字段
|
|
|
caseImgArr: [], //示例图数据
|
|
|
productZj: 0, //产品默认的组件值
|
|
|
companyList: [], //对应产品的项目公司列表数据
|
|
|
auditStatus: '1',
|
|
|
nodeType: '1',
|
|
|
gridType: '0',
|
|
|
active:0,
|
|
|
},
|
|
|
/** 多产品-input输入控制 **/
|
|
|
onInputArr(e){
|
|
|
const pIndex = e.currentTarget.dataset.pindex;
|
|
|
let value = e.detail.value;
|
|
|
let name = e.currentTarget.dataset.name;
|
|
|
// 将输入值的小数点替换为一个字符,确保只有两位小数
|
|
|
value = value.replace(/^(\-)*(\d+)\.(\d{2}).*$/, '$1$2.$3');
|
|
|
// 设置输入框的值
|
|
|
this.setData({
|
|
|
[`projectListTab[${pIndex}].${name}`]: value,
|
|
|
});
|
|
|
},
|
|
|
/** 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) {
|
|
|
console.log("option",e);
|
|
|
if (e.navTitle) {
|
|
|
wx.setNavigationBarTitle({
|
|
|
title: e.navTitle,
|
|
|
})
|
|
|
}
|
|
|
this.setData({
|
|
|
projectId:e.projectId, //有projectId说明从列表进去,可能是修改或者是暂存过
|
|
|
entryId: e.projectId,
|
|
|
traderId: wx.getStorageSync('traderId'),
|
|
|
type: e.type,
|
|
|
navTitle:e.navTitle,
|
|
|
disabledYear:(new Date()).getFullYear()
|
|
|
})
|
|
|
if(e.navTitle == '勘测设计'){
|
|
|
this.setData({
|
|
|
disable1:true,
|
|
|
});
|
|
|
}
|
|
|
if(e.navTitle == '设计审核'){
|
|
|
this.setData({
|
|
|
disable1:true,
|
|
|
disable2:true,
|
|
|
});
|
|
|
}
|
|
|
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), //并网电压等级
|
|
|
})
|
|
|
}
|
|
|
if(callback) callback(res.data)
|
|
|
})
|
|
|
},
|
|
|
/** 获取自定义字段 */
|
|
|
getFormSet(partner) {
|
|
|
getFormSet({
|
|
|
stage: '02', //01:信息登记,02:踏勘设计,03:电站安装,04:电站并网
|
|
|
partner: partner,
|
|
|
}).then((res) => {
|
|
|
this.setData({
|
|
|
formSetObj: res.data.columns,
|
|
|
})
|
|
|
})
|
|
|
},
|
|
|
/** 获取示例图 */
|
|
|
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: that.data.entryId
|
|
|
}).then((res) => {
|
|
|
wx.hideLoading()
|
|
|
//预计投放日默认当前时间后60天
|
|
|
let date = new Date();
|
|
|
//这里的60就是你要加的天数,减也可以。年、月会相应加上去,值得注意的是date.getMonth()得到的月份比实际月份小1,所以实际月份是(date.getMonth()+1)
|
|
|
date.setDate(date.getDate() + 60);
|
|
|
var leaseDate = utils.formatTime2(date);
|
|
|
this.setData({
|
|
|
detail: res,
|
|
|
id: res.id, //修改数据的时候传此ID
|
|
|
tenant_type: res.tenant_type == '1' ? '个人' : '单位', //1.个人,2单位
|
|
|
capitalId: res.zfId, //资方id
|
|
|
provinceName: res.province,
|
|
|
cityName: res.city,
|
|
|
areaName: res.area,
|
|
|
address: res.address,
|
|
|
longitude: res.longitude,
|
|
|
latitude: res.latitude,
|
|
|
longitudeAndLongitude: (res.longitude && res.latitude) ? (res.longitude + "," + res.latitude) : '',
|
|
|
companyName: res.project_company_name,
|
|
|
companyId: res.project_company_id,
|
|
|
filingType: res.filing_type, // 备案类型:1.农户备案 2.项目公司备案
|
|
|
repaymentMethod:res.filing_type == 1 ? 1 : (res.filing_type == 2) ? 0 : '',//如果是农户备案。只能选择二类卡
|
|
|
leaseDate: res.lease_date ? res.lease_date : leaseDate, //预计投放日
|
|
|
//房屋信息
|
|
|
sealRoof: res.seal_roof, //是否封屋顶,1是,2.否
|
|
|
completionYear: res.completion_year ? res.completion_year : '', //房屋建成年份
|
|
|
azimuth: res.azimuth ? res.azimuth : '', //方位角
|
|
|
directionDeg: res.angle, //方位角
|
|
|
buildingHeight: res.building_height, //建筑高度
|
|
|
ewLength: res.ew_length, //东西长
|
|
|
nsWide: res.ns_wide, //南北宽
|
|
|
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, //是否符合变压器容量限制要求
|
|
|
distance: res.distance, //配电箱至并网点距离
|
|
|
// dipAngle: res.dip_angle, //组件倾角
|
|
|
roofArea: res.roof_area, //屋顶面积
|
|
|
//方案信息
|
|
|
// schemeType: res.scheme_type ? res.scheme_type : 1,
|
|
|
solutionRemark: res.scheme_remarks,//方案备注
|
|
|
//设计自审
|
|
|
auditRemarks: res.zs_audit_remarks, //审核意见
|
|
|
auditStatus: res.zs_flag?res.zs_flag: '1', //审核结果
|
|
|
nodeType: res.node_type?res.node_type:'1', //驳回节点
|
|
|
// remark: res.remarks,
|
|
|
// insuranceFlag: res.insurance_flag, // 保险购买情况:1.控制投放及续保 2.控制投放 3.其他
|
|
|
// filingDocumentCode: res.filing_document_code, //项目备案代码
|
|
|
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,
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
//已选产品数据处理
|
|
|
let projectDetailList = res.projectDetailList;
|
|
|
let projectListPrm=[{
|
|
|
"projectId":"",//产品id
|
|
|
"projectName":"",//产品名称
|
|
|
"projectCode":"",//产品编号
|
|
|
"payCycle":"",//租金支付周期
|
|
|
"roofType":"",//屋顶类型
|
|
|
"assemblySpecs": 0, //产品默认的组件值
|
|
|
}], arr=[];
|
|
|
let projectListTab=[];
|
|
|
projectDetailList.forEach(pItem=>{
|
|
|
//产品
|
|
|
let obj = {};
|
|
|
for(let key in projectListPrm[0]){
|
|
|
if(pItem[key]){
|
|
|
obj[key] = pItem[key]
|
|
|
}
|
|
|
}
|
|
|
arr.push(obj);
|
|
|
//图片
|
|
|
let photo = {};
|
|
|
for(let key in this.data.photo){
|
|
|
photo[key] = pItem[key] ? pItem[key].split(",").map(itm => { return { name: itm, url: IMG_BASE_URL + itm}}) : []
|
|
|
}
|
|
|
//tab
|
|
|
pItem.addEntryReqDesignDetails[0].id = pItem.addEntryReqDesignDetails[0].schemeId;
|
|
|
photo.designDrawings=pItem.addEntryReqDesignDetails[0].designDrawings ? pItem.addEntryReqDesignDetails[0].designDrawings.split(",").map(itm => { return { name: itm, url: IMG_BASE_URL + itm}}) : [];
|
|
|
// 3组件,1逆变器,2并网箱,4支架
|
|
|
var componentApiList = this.data.componentApiList;//组件列表
|
|
|
let componentNum = 0;
|
|
|
var componentList = [];
|
|
|
var converterList = [];
|
|
|
var cagesList = [];
|
|
|
var supportList = [];
|
|
|
if (pItem.componentList.length > 0) {
|
|
|
for (let i = 0; i < pItem.componentList.length; i++) {
|
|
|
const element = pItem.componentList[i];
|
|
|
var OB = {
|
|
|
id: "",
|
|
|
num: "", //数量
|
|
|
model: "", //名称
|
|
|
addType: 0,
|
|
|
}
|
|
|
if (element.item_type == 3) {
|
|
|
OB.id = pItem.assemblySpecs > Number(element.model) ? (utils.filterItem('model',pItem.assemblySpecs,componentApiList).id || "") : element.item_id;
|
|
|
OB.num = element.num;
|
|
|
OB.model = pItem.assemblySpecs > Number(element.model) ? (utils.filterItem('model',pItem.assemblySpecs,componentApiList).model || "") : element.model;
|
|
|
OB.material_model = pItem.assemblySpecs > Number(element.model) ? (utils.filterItem('model',pItem.assemblySpecs,componentApiList).material_model || "") : element.material_model;
|
|
|
componentNum = (Number(OB.num) * Number(OB.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)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
let obj2={
|
|
|
...obj,
|
|
|
"dipAngle": pItem.dipAngle, //组件倾角
|
|
|
"photoTips":that.data.photoTips,//照片
|
|
|
photo:photo,
|
|
|
"plan":pItem.addEntryReqDesignDetails[0],
|
|
|
"componentNum":(componentNum / 1000).toFixed(3), //设计安装容量
|
|
|
"converterList":converterList.length ? converterList : [{
|
|
|
id: "",
|
|
|
num: "", //数量
|
|
|
model: "", //名称
|
|
|
material_model:'',
|
|
|
addType: 1,
|
|
|
}],//1逆变器
|
|
|
"cagesList":cagesList.length ? cagesList : [{
|
|
|
id: "",
|
|
|
num: "", //数量
|
|
|
model: "", //名称
|
|
|
addType: 1,
|
|
|
}],//2并网箱
|
|
|
"componentList":componentList.length ? componentList : [{
|
|
|
id: utils.filterItem('model',pItem.assemblySpecs,componentApiList).id || "",
|
|
|
num: "", //数量
|
|
|
model: utils.filterItem('model',pItem.assemblySpecs,componentApiList).model || "", //名称
|
|
|
material_model:utils.filterItem('model',pItem.assemblySpecs,componentApiList).material_model || '',
|
|
|
addType: 1,
|
|
|
}],//3组件
|
|
|
"supportList":supportList.length ? supportList : [{
|
|
|
id: "",
|
|
|
num: "", //数量
|
|
|
model: "", //名称
|
|
|
addType: 1,
|
|
|
}],//4支架
|
|
|
}
|
|
|
projectListTab.push(obj2);
|
|
|
});
|
|
|
this.setData({
|
|
|
projectListPrm:arr.length ? arr : projectListPrm,
|
|
|
projectListTab,
|
|
|
});
|
|
|
//设置的参数
|
|
|
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
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
this.getCompanyList();
|
|
|
this.getProjectList();
|
|
|
// console.log("projectListPrm",this.data.projectListPrm);
|
|
|
// console.log("projectListTab",projectListTab);
|
|
|
})
|
|
|
},
|
|
|
//获取多产品-tab
|
|
|
getProjectListTab(projectId,roofType,callback){
|
|
|
callback = typeof callback == 'function' ? callback : function(){};
|
|
|
if(projectId && this.data.projectListPrm.find(itm=>itm.projectId == projectId)){
|
|
|
wx.showToast({
|
|
|
title: '产品不能重复',
|
|
|
icon:'none'
|
|
|
})
|
|
|
return callback(false);
|
|
|
}else if(roofType && this.data.projectListPrm.find(itm=>itm.roofType == roofType)){
|
|
|
wx.showToast({
|
|
|
title: '屋顶类型不能重复',
|
|
|
icon:'none'
|
|
|
})
|
|
|
return callback(false);
|
|
|
}else{
|
|
|
callback(true);
|
|
|
}
|
|
|
let projectListTab = this.data.projectListTab, projectListPrm = this.data.projectListPrm, arr = [], that=this;
|
|
|
var componentApiList = this.data.componentApiList;//组件列表
|
|
|
for(var i=0;i<projectListPrm.length;i++){
|
|
|
if(projectListPrm[i].projectId && projectListPrm[i].roofType){
|
|
|
let obj = projectListTab.find(itm=>itm.roofType == projectListPrm[i].roofType);
|
|
|
if(obj){
|
|
|
if(!obj.componentList[0].id){
|
|
|
obj.componentList[0].id = utils.filterItem('model',projectListPrm[i].assemblySpecs,componentApiList).id || "";
|
|
|
obj.componentList[0].model = utils.filterItem('model',projectListPrm[i].assemblySpecs,componentApiList).model || "";
|
|
|
obj.componentList[0].material_model = utils.filterItem('model',projectListPrm[i].assemblySpecs,componentApiList).material_model || "";
|
|
|
}
|
|
|
arr.push(obj);
|
|
|
continue;
|
|
|
}
|
|
|
arr.push({
|
|
|
...projectListPrm[i],
|
|
|
"photoTips":that.data.photoTips,//照片
|
|
|
"photo":that.data.photo,
|
|
|
"plan":{
|
|
|
"schemeTypeId":"",//方案类型id
|
|
|
"schemeTypeName":"",//方案类型名称
|
|
|
"schemeId":"",//方案id
|
|
|
"schemeName":"",//方案名称
|
|
|
},
|
|
|
"componentNum":0, //设计安装容量
|
|
|
"converterList":[{
|
|
|
id: "",
|
|
|
num: "", //数量
|
|
|
model: "", //名称
|
|
|
material_model:'',
|
|
|
addType: 1,
|
|
|
}],//1逆变器
|
|
|
"cagesList":[{
|
|
|
id: "",
|
|
|
num: "", //数量
|
|
|
model: "", //名称
|
|
|
addType: 1,
|
|
|
}],//2并网箱
|
|
|
"componentList":[{
|
|
|
id: utils.filterItem('model',projectListPrm[i].assemblySpecs,componentApiList).id || "",
|
|
|
num: "", //数量
|
|
|
model: utils.filterItem('model',projectListPrm[i].assemblySpecs,componentApiList).model || "", //名称
|
|
|
material_model:utils.filterItem('model',projectListPrm[i].assemblySpecs,componentApiList).material_model || '',
|
|
|
addType: 1,
|
|
|
}],//3组件
|
|
|
"supportList":[{
|
|
|
id: "",
|
|
|
num: "", //数量
|
|
|
model: "", //名称
|
|
|
addType: 1,
|
|
|
}],//4支架
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
this.setData({
|
|
|
projectListTab:arr,
|
|
|
active:0,
|
|
|
});
|
|
|
if(arr.length){
|
|
|
this.selectComponent("#tabResize").resize()
|
|
|
}
|
|
|
console.log("projectListPrm",this.data.projectListPrm);
|
|
|
console.log("projectListTab",arr);
|
|
|
},
|
|
|
/** 打开省市区弹框 **/
|
|
|
bindRegionChange(e) {
|
|
|
if(this.data.disable1){
|
|
|
return
|
|
|
}
|
|
|
this.setData({
|
|
|
showRegion: true
|
|
|
})
|
|
|
},
|
|
|
/** 选择的地址 **/
|
|
|
chooseRegion(e) {
|
|
|
this.setData({
|
|
|
provinceName: e.detail.provinceName,
|
|
|
cityName: e.detail.cityName,
|
|
|
areaName: e.detail.areaName,
|
|
|
address: "",
|
|
|
projectListPrm:[{
|
|
|
"projectId":"",//产品id
|
|
|
"projectName":"",//产品名称
|
|
|
"projectCode":"",//产品编号
|
|
|
"payCycle":"",//租金支付周期
|
|
|
"roofType":"",//屋顶类型
|
|
|
"assemblySpecs": 0, //产品默认的组件值
|
|
|
}],
|
|
|
projectListTab:[],
|
|
|
companyName: '',
|
|
|
companyId: '',
|
|
|
companyList:[]
|
|
|
})
|
|
|
this.getProjectList();
|
|
|
this.getCompanyList();
|
|
|
this.getPressure(e.detail.provinceName, e.detail.cityName, e.detail.areaName) //获取风雪压等级
|
|
|
},
|
|
|
//获取当前位置信息 位置信息转经纬度
|
|
|
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()
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
}),
|
|
|
/** 获取当前位置信息 经纬度转位置信息 **/
|
|
|
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,
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
/** 获取项目公司列表数据 **/
|
|
|
getCompanyList(e) {
|
|
|
getCompany({
|
|
|
traderId: wx.getStorageSync('traderId'),
|
|
|
projectId: this.data.entryId,
|
|
|
partner: this.data.capitalId, //资方
|
|
|
filingType: this.data.filingType?this.data.filingType:'', //备案类型
|
|
|
province: this.data.provinceName,
|
|
|
city: this.data.cityName,
|
|
|
area: this.data.areaName,
|
|
|
}).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, //风雪压等级
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
//选择项目公司
|
|
|
bindcompanyList(e) {
|
|
|
this.setData({
|
|
|
companyId: this.data.companyList[e.detail.value].id,
|
|
|
companyName: this.data.companyList[e.detail.value].name,
|
|
|
})
|
|
|
},
|
|
|
/** 获取产品列表数据 **/
|
|
|
getProjectList(e) {
|
|
|
getProjectByArea({
|
|
|
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项目公司
|
|
|
province: this.data.provinceName,
|
|
|
city: this.data.cityName,
|
|
|
area: this.data.areaName,
|
|
|
}).then((res) => {
|
|
|
this.setData({
|
|
|
projectList: res.data && res.data.length ? res.data.map(itm => itm.columns) : []
|
|
|
})
|
|
|
})
|
|
|
},
|
|
|
//选择产品
|
|
|
bindprojectList(e) {
|
|
|
this.getProjectListTab(this.data.projectList[e.detail.value].id,'',(res)=>{
|
|
|
if(res){
|
|
|
//产品信息
|
|
|
let index = e.currentTarget.dataset.index;
|
|
|
this.data.projectListPrm[index].projectCode = this.data.projectList[e.detail.value].code
|
|
|
this.data.projectListPrm[index].projectName = this.data.projectList[e.detail.value].name
|
|
|
this.data.projectListPrm[index].projectId = this.data.projectList[e.detail.value].id
|
|
|
this.data.projectListPrm[index].payCycle = this.data.projectList[e.detail.value].pay_cycle
|
|
|
this.data.projectListPrm[index].roofType = ''
|
|
|
this.data.projectListPrm[index].assemblySpecs = this.data.projectList[e.detail.value].assembly_specs ? Number(this.data.projectList[e.detail.value].assembly_specs) : 0; //默认组件值
|
|
|
this.setData({
|
|
|
[`projectListPrm[${index}]`]:this.data.projectListPrm[index],
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
//选择并网方式
|
|
|
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,
|
|
|
})
|
|
|
},
|
|
|
//选择屋顶类型
|
|
|
radioChangeRoofType(e) {
|
|
|
let dval = e.detail.value
|
|
|
let list = e.currentTarget.dataset.list
|
|
|
let index = e.currentTarget.dataset.index;
|
|
|
this.getProjectListTab('',this.data[list][dval].dict_value,(res)=>{
|
|
|
if(res){
|
|
|
this.setData({
|
|
|
[`projectListPrm[${index}].roofType`]:this.data[list][dval].dict_value,
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
//新增产品-按钮
|
|
|
addProd(){
|
|
|
let obj ={
|
|
|
"projectId":"",//产品id
|
|
|
"projectName":"",//产品名称
|
|
|
"projectCode":"",//产品编号
|
|
|
"payCycle":"",//租金支付周期
|
|
|
"roofType":"",//屋顶类型
|
|
|
"assemblySpecs": 0, //产品默认的组件值
|
|
|
}
|
|
|
this.data.projectListPrm.push(obj);
|
|
|
this.setData({
|
|
|
[`projectListPrm`]:this.data.projectListPrm,
|
|
|
})
|
|
|
},
|
|
|
//删除产品-按钮
|
|
|
delProd(e){
|
|
|
let index = e.currentTarget.dataset.index;
|
|
|
this.data.projectListPrm.splice(index,1);
|
|
|
this.setData({
|
|
|
[`projectListPrm`]:this.data.projectListPrm,
|
|
|
})
|
|
|
this.getProjectListTab();
|
|
|
},
|
|
|
//选择房屋建成年份
|
|
|
bindCompletionYearDate(e) {
|
|
|
this.setData({
|
|
|
completionYear: e.detail.value
|
|
|
})
|
|
|
},
|
|
|
/** 开卡 **/
|
|
|
bankCardPage(e) {
|
|
|
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'
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
//radio选择(划转方式、是否封屋顶、屋顶防水情况、是否有污染源、是否具备运维空间、是否符合变压器容量限制要求)
|
|
|
radioChange(e) {
|
|
|
let key = e.currentTarget.dataset.key;
|
|
|
this.setData({
|
|
|
[`${key}`]: 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,
|
|
|
})
|
|
|
}
|
|
|
},
|
|
|
//tab切换
|
|
|
tabChange(e){
|
|
|
this.setData({
|
|
|
active:e.detail.index
|
|
|
});
|
|
|
},
|
|
|
/** 获取组件、逆变器、并网箱、支架列表 **/
|
|
|
getElectricPlanAll(callBack) {
|
|
|
callBack = typeof callBack == 'function' ? callBack : function(){};
|
|
|
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, //组件
|
|
|
componentApiList: AllComponentApiList, //组件
|
|
|
// [`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, //支架
|
|
|
})
|
|
|
callBack();
|
|
|
})
|
|
|
},
|
|
|
/** 获取方案类型和方案名称 **/
|
|
|
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,
|
|
|
})
|
|
|
this.getElectricPlanAll(()=>{
|
|
|
that.entryDetail();
|
|
|
});//组件、逆变器列表数据
|
|
|
})
|
|
|
},
|
|
|
/** 勘测暂存提交数据、设计审核自审暂存提交、勘测设计暂存提交 **/
|
|
|
submitFrom(e) {
|
|
|
var that = this
|
|
|
var type = e.currentTarget.dataset.type
|
|
|
var flag = e.currentTarget.dataset.flag
|
|
|
wx.showLoading({
|
|
|
title: '提交中',
|
|
|
mask: true
|
|
|
})
|
|
|
var composePlanList = []; // 标准方案或组合方案
|
|
|
let projectListTab = JSON.parse(JSON.stringify(this.data.projectListTab))
|
|
|
var itemList = []; //3组件 1逆变器 2并网箱 4支架
|
|
|
var addEntryReqSurveyDetails = [];//多产品-图片
|
|
|
var addEntryReqDesignDetails = [];//多产品-方案
|
|
|
projectListTab.forEach(pItem=>{
|
|
|
pItem.componentList.forEach(element => { //组件
|
|
|
if (element.id) {
|
|
|
var component = {}
|
|
|
component.projectId = pItem.projectId;
|
|
|
component.itemType = 3;
|
|
|
component.itemId = element.id;
|
|
|
component.num = element.num
|
|
|
itemList.push(component)
|
|
|
}
|
|
|
});
|
|
|
pItem.converterList.forEach(element => { //逆变器
|
|
|
if (element.id) {
|
|
|
var component = {}
|
|
|
component.projectId = pItem.projectId;
|
|
|
component.itemType = 1;
|
|
|
component.itemId = element.id;
|
|
|
component.num = element.num;
|
|
|
itemList.push(component)
|
|
|
}
|
|
|
});
|
|
|
pItem.cagesList.forEach(element => { //并网箱
|
|
|
if (element.id) {
|
|
|
var component = {}
|
|
|
component.projectId = pItem.projectId;
|
|
|
component.itemType = 2;
|
|
|
component.itemId = element.id;
|
|
|
component.num = element.num;
|
|
|
itemList.push(component)
|
|
|
}
|
|
|
});
|
|
|
pItem.supportList.forEach(element => { //支架
|
|
|
if (element.id) {
|
|
|
var support = {}
|
|
|
support.projectId = pItem.projectId;
|
|
|
support.itemType = 4;
|
|
|
support.itemId = element.id;
|
|
|
support.num = element.num;
|
|
|
itemList.push(support)
|
|
|
}
|
|
|
});
|
|
|
//图片
|
|
|
for(let key in pItem.photo){
|
|
|
pItem.photo[key] = pItem.photo[key].length > 0 ? pItem.photo[key].map(itm => itm.name).join(",") : ""
|
|
|
}
|
|
|
addEntryReqSurveyDetails.push({
|
|
|
projectId: pItem.projectId,
|
|
|
dipAngle: pItem.dipAngle, //组件倾角
|
|
|
...pItem.photo,
|
|
|
});
|
|
|
//方案
|
|
|
let obj ={
|
|
|
"projectId":pItem.projectId, // 产品id
|
|
|
...pItem.plan,
|
|
|
"designDrawings":pItem.photo['designDrawings'],//设计图纸
|
|
|
}
|
|
|
addEntryReqDesignDetails.push(obj);
|
|
|
});
|
|
|
//接口数据
|
|
|
var userId = wx.getStorageSync('userId')
|
|
|
var CustomerEntry = {
|
|
|
type: type, //0:暂存 1:提交 3:初勘 4.初勘暂存
|
|
|
composePlanLists: composePlanList.length > 0 ? composePlanList : [],
|
|
|
itemList: itemList.length > 0 ? itemList : [],//设备列表
|
|
|
projectList:this.data.projectListPrm,//产品列表
|
|
|
addEntryReqSurveyDetails:addEntryReqSurveyDetails,//多产品-图片数据
|
|
|
addEntryReqDesignDetails:addEntryReqDesignDetails,//多产品-方案数据
|
|
|
// projectId: this.data.projectId, //项目ID
|
|
|
// projectCode: this.data.projectCode, //产品编号
|
|
|
// projectName: this.data.projectName, //产品名称
|
|
|
// roofType: this.data.roofType, //屋顶类型
|
|
|
//项目信息
|
|
|
company: this.data.companyId, //项目公司id
|
|
|
filingType: this.data.filingType ? this.data.filingType : "", //备案类型 1.农户备案 2.项目公司备案
|
|
|
insuranceFlag: "1", // 保险购买情况:1.控制投放及续保 2.控制投放 3.其他
|
|
|
leaseDate: this.data.leaseDate ? this.data.leaseDate : "", //预计投放日
|
|
|
repaymentMethod: this.data.repaymentMethod, //划转方式
|
|
|
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 : "", //纬度
|
|
|
//房屋信息
|
|
|
mergeType: this.data.gridType,//并网方式
|
|
|
boxTotalCount: this.data.boxTotalCount,//并网方式-本组电站个数
|
|
|
boxGroupId: this.data.boxGroupId,//并网方式-汇流组id
|
|
|
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 : "", //屋顶面积
|
|
|
//房屋照片
|
|
|
// 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)
|
|
|
//方案信息
|
|
|
schemeType: 1, //设计方案-1标准方案
|
|
|
schemeRemarks: this.data.solutionRemark ? this.data.solutionRemark : "", //方案备注
|
|
|
// 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(",") : "", //电气图,
|
|
|
// 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 : "" : "",
|
|
|
/**设计自审**/
|
|
|
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 : "",//审核意见
|
|
|
|
|
|
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,
|
|
|
}
|
|
|
console.log("submit", data,type,flag)
|
|
|
// wx.hideLoading()
|
|
|
// return
|
|
|
//勘测设计-暂存、提交
|
|
|
if(flag =='sj'){
|
|
|
designCustomerEntry(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.msg || res.errMsg,
|
|
|
icon: 'none'
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
return
|
|
|
}
|
|
|
//设计审核-设计自审-暂存、提交
|
|
|
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
|
|
|
}
|
|
|
//勘测提交设计
|
|
|
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
|
|
|
const pIndex = e.currentTarget.dataset.pindex
|
|
|
console.log("上传后", this.data.direction, choseType, e);
|
|
|
// 细节照片添加水印
|
|
|
if (water == '水印') {
|
|
|
if (!this.data.detail.tenant_name) {
|
|
|
wx.showToast({
|
|
|
title: '请输入业主姓名',
|
|
|
icon: 'none'
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
if (!this.data.detail.mobile) {
|
|
|
wx.showToast({
|
|
|
title: '请输入业主联系电话',
|
|
|
icon: 'none'
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
this.data.data.name = this.data.detail.tenant_name
|
|
|
this.data.data.phone = this.data.detail.mobile
|
|
|
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.projectListTab[pIndex].photo[name].push(item)
|
|
|
that.setData({
|
|
|
[`projectListTab[${pIndex}].photo.${name}`]: that.data.projectListTab[pIndex].photo[name]
|
|
|
})
|
|
|
} else {
|
|
|
wx.showToast({
|
|
|
title: '选择失败',
|
|
|
icon: 'error'
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
/** 上传多张图片递归 **/
|
|
|
afteruploadPhotoReadS(e, count) {
|
|
|
let ob = {
|
|
|
name: '',
|
|
|
url: '',
|
|
|
}
|
|
|
const name = e.currentTarget.dataset.name
|
|
|
const pIndex = e.currentTarget.dataset.pindex
|
|
|
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
|
|
|
console.log("图",that.data.projectListTab[pIndex],pIndex);
|
|
|
that.data.projectListTab[pIndex].photo[name].push(ob);
|
|
|
that.setData({
|
|
|
[`projectListTab[${pIndex}].photo.${name}`]: that.data.projectListTab[pIndex].photo[name]
|
|
|
})
|
|
|
if (count == e.detail.file.length) {
|
|
|
wx.showToast({
|
|
|
title: '选择成功',
|
|
|
icon: 'none'
|
|
|
})
|
|
|
} else {
|
|
|
that.afteruploadPhotoReadS(e, count)
|
|
|
}
|
|
|
} else {
|
|
|
wx.showToast({
|
|
|
title: '选择失败',
|
|
|
icon: 'error'
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
//获取用户当前地理位置后为照片添加水印
|
|
|
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)
|
|
|
});
|
|
|
})
|
|
|
},
|
|
|
//选择图片为图片添加水印
|
|
|
async chooseImages(e) {
|
|
|
const photoName = e.currentTarget.dataset.name; //图片名称
|
|
|
const pIndex = e.currentTarget.dataset.pindex;
|
|
|
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.projectListTab[pIndex].photo[photoName].push(res)
|
|
|
this.setData({
|
|
|
[`projectListTab[${pIndex}].photo.${photoName}`]: this.data.projectListTab[pIndex].photo[photoName]
|
|
|
})
|
|
|
})
|
|
|
|
|
|
})
|
|
|
},
|
|
|
/** 删除图片 **/
|
|
|
deleteImg(e) {
|
|
|
const name = e.currentTarget.dataset.name
|
|
|
const pIndex = e.currentTarget.dataset.pindex
|
|
|
const index = (name != 'surveyFiles' && name != 'designDrawings') ? e.detail.index : e.currentTarget.dataset.index //删除图片的下标
|
|
|
this.data.projectListTab[pIndex].photo[name].splice(index, 1);
|
|
|
this.setData({
|
|
|
[`projectListTab[${pIndex}].photo.${name}`]: this.data.projectListTab[pIndex].photo[name]
|
|
|
})
|
|
|
},
|
|
|
/** 文件或图片上传选择-对话框 **/
|
|
|
selectUplosd(e){
|
|
|
var that = this;
|
|
|
let name = e.currentTarget.dataset.name;
|
|
|
let pIndex = e.currentTarget.dataset.pindex;
|
|
|
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.projectListTab[pIndex].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.projectListTab[pIndex].photo[name].push(item)
|
|
|
that.setData({
|
|
|
[`projectListTab[${pIndex}].photo.${name}`]: that.data.projectListTab[pIndex].photo[name]
|
|
|
})
|
|
|
} else {
|
|
|
wx.showToast({
|
|
|
title: '选择失败',
|
|
|
icon: 'error'
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
fail: function(){},
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
/** 上传pdf或图片 **/
|
|
|
upload(e) {
|
|
|
var that = this;
|
|
|
let name = e.currentTarget.dataset.name;
|
|
|
let pIndex = e.currentTarget.dataset.pindex;
|
|
|
let maxcount = e.currentTarget.dataset.maxcount;
|
|
|
wx.chooseMessageFile({
|
|
|
count: maxcount - this.data.projectListTab[pIndex].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|jpg|png|jpeg|doc|docx|xls|xlsx/) == -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.projectListTab[pIndex].photo[name].push({
|
|
|
name: JSON.parse(res.data).path,
|
|
|
url: IMG_BASE_URL + JSON.parse(res.data).path
|
|
|
});
|
|
|
that.setData({
|
|
|
[`projectListTab[${pIndex}].photo.${name}`]: that.data.projectListTab[pIndex].photo[name]
|
|
|
})
|
|
|
} else {
|
|
|
wx.showToast({
|
|
|
title: '选择失败',
|
|
|
icon: 'none'
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
/** 文件上传多张递归 **/
|
|
|
afteruploadPhotoReadFile(e, file, count, type) {
|
|
|
let ob = {
|
|
|
name: '',
|
|
|
url: '',
|
|
|
}
|
|
|
const name = e.currentTarget.dataset.name
|
|
|
const pIndex = e.currentTarget.dataset.pindex
|
|
|
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|jpg|png|jpeg|doc|docx|xls|xlsx/) == -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.projectListTab[pIndex].photo[name].push(ob);
|
|
|
that.setData({
|
|
|
[`projectListTab[${pIndex}].photo.${name}`]: that.data.projectListTab[pIndex].photo[name]
|
|
|
})
|
|
|
if (count == file.length) {
|
|
|
wx.showToast({
|
|
|
title: '选择成功',
|
|
|
icon: 'none'
|
|
|
})
|
|
|
} else {
|
|
|
that.afteruploadPhotoReadFile(e, file, count, type)
|
|
|
}
|
|
|
} else {
|
|
|
wx.showToast({
|
|
|
title: '选择失败',
|
|
|
icon: 'error'
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
//选择标准方案类型
|
|
|
bindPlanChange(e) {
|
|
|
const pIndex = e.currentTarget.dataset.pindex;
|
|
|
const index = e.detail.value;
|
|
|
this.data.projectListTab[pIndex].plan.schemeTypeName = this.data.planList[index].name; //方案类型名称
|
|
|
this.data.projectListTab[pIndex].plan.schemeTypeId = this.data.planList[index].id; //方案类型id
|
|
|
this.data.projectListTab[pIndex].plan.schemeTypeIndex = index;
|
|
|
this.data.projectListTab[pIndex].plan.id = "";
|
|
|
this.data.projectListTab[pIndex].plan.schemeName = ""; //方案名称
|
|
|
this.data.projectListTab[pIndex].plan.schemeId = ""; //方案名称Id
|
|
|
this.setData({
|
|
|
[`projectListTab[${pIndex}].plan`]: this.data.projectListTab[pIndex].plan,
|
|
|
})
|
|
|
},
|
|
|
//选择标准方案名称
|
|
|
bindPlanNameChange(e) {
|
|
|
const pIndex = e.currentTarget.dataset.pindex;
|
|
|
const index = e.detail.value;
|
|
|
const schemeTypeId = this.data.projectListTab[pIndex].plan.schemeTypeId;
|
|
|
if (!schemeTypeId) {
|
|
|
wx.showToast({
|
|
|
title: '请先选择标准方案类型',
|
|
|
icon: 'none'
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
this.data.projectListTab[pIndex].plan.id = this.data.planList.find(itm=>itm.id == schemeTypeId).allPlan[index].id;
|
|
|
this.data.projectListTab[pIndex].plan.schemeName = this.data.planList.find(itm=>itm.id == schemeTypeId).allPlan[index].name; //方案名称
|
|
|
this.data.projectListTab[pIndex].plan.schemeId = this.data.planList.find(itm=>itm.id == schemeTypeId).allPlan[index].id; //方案名称Id
|
|
|
this.setData({
|
|
|
[`projectListTab[${pIndex}].plan`]: this.data.projectListTab[pIndex].plan,
|
|
|
})
|
|
|
|
|
|
},
|
|
|
//选择组件
|
|
|
bindComponentChange(e) {
|
|
|
const pickerIndex = e.detail.value; //选择器选择第几个
|
|
|
const index = e.currentTarget.dataset.index; //选择第几个
|
|
|
const pIndex = e.currentTarget.dataset.pindex;
|
|
|
var componentNum = 0
|
|
|
var assemblySpecs = e.currentTarget.dataset.assemblyspecs;//默认组件值
|
|
|
var componentApiList = this.data.componentApiList.filter(itm=>Number(itm.model) >= assemblySpecs);
|
|
|
// console.log("componentApiList",componentApiList);
|
|
|
// // return
|
|
|
componentNum = this.data.projectListTab[pIndex].componentList[0].num * componentApiList[pickerIndex].model
|
|
|
this.setData({
|
|
|
[`projectListTab[${pIndex}].componentList[${index}].material_model`]: componentApiList[pickerIndex].material_model,
|
|
|
[`projectListTab[${pIndex}].componentList[${index}].model`]: componentApiList[pickerIndex].model,
|
|
|
[`projectListTab[${pIndex}].componentList[${index}].id`]: componentApiList[pickerIndex].id,
|
|
|
[`projectListTab[${pIndex}].componentNum`]: (componentNum / 1000).toFixed(3)
|
|
|
})
|
|
|
},
|
|
|
//选择逆变器
|
|
|
bindConverterChange(e) {
|
|
|
const pickerIndex = e.detail.value; //选择器选择第几个
|
|
|
const index = e.currentTarget.dataset.index; //选择第几个
|
|
|
const pIndex = e.currentTarget.dataset.pindex;
|
|
|
this.setData({
|
|
|
[`projectListTab[${pIndex}].converterList[${index}].material_model`]: this.data.converterApiList[pickerIndex].material_model,
|
|
|
[`projectListTab[${pIndex}].converterList[${index}].model`]: this.data.converterApiList[pickerIndex].model,
|
|
|
[`projectListTab[${pIndex}].converterList[${index}].id`]: this.data.converterApiList[pickerIndex].id,
|
|
|
})
|
|
|
},
|
|
|
//选择并网箱
|
|
|
bindCagesChange(e) {
|
|
|
const pickerIndex = e.detail.value; //选择器选择第几个
|
|
|
const index = e.currentTarget.dataset.index; //选择第几个
|
|
|
const pIndex = e.currentTarget.dataset.pindex;
|
|
|
this.setData({
|
|
|
[`projectListTab[${pIndex}].cagesList[${index}].model`]: this.data.cagesApiList[pickerIndex].model,
|
|
|
[`projectListTab[${pIndex}].cagesList[${index}].id`]: this.data.cagesApiList[pickerIndex].id,
|
|
|
})
|
|
|
},
|
|
|
//选择支架
|
|
|
bindSupportChange(e) {
|
|
|
const pickerIndex = e.detail.value; //选择器选择第几个
|
|
|
const index = e.currentTarget.dataset.index; //选择第几个
|
|
|
const pIndex = e.currentTarget.dataset.pindex;
|
|
|
this.setData({
|
|
|
[`projectListTab[${pIndex}].supportList[${index}].model`]: this.data.supportApiList[pickerIndex].model,
|
|
|
[`projectListTab[${pIndex}].supportList[${index}].id`]: this.data.supportApiList[pickerIndex].id,
|
|
|
})
|
|
|
},
|
|
|
/** 输入组件,逆变器,并网箱,支架的数量 */
|
|
|
inputNum(e) {
|
|
|
const pIndex = e.currentTarget.dataset.pindex;
|
|
|
switch (e.currentTarget.dataset.type) {
|
|
|
case "组件":
|
|
|
this.setData({
|
|
|
[`projectListTab[${pIndex}].componentList[${e.currentTarget.dataset.index}].num`]: e.detail.value,
|
|
|
})
|
|
|
var componentNum = 0
|
|
|
for (let i = 0; i < this.data.projectListTab[pIndex].componentList.length; i++) {
|
|
|
const element = this.data.projectListTab[pIndex].componentList[i];
|
|
|
componentNum = element.num * element.model
|
|
|
}
|
|
|
this.setData({
|
|
|
[`projectListTab[${pIndex}].componentNum`]: (componentNum / 1000).toFixed(3)
|
|
|
})
|
|
|
break;
|
|
|
case "逆变器":
|
|
|
this.setData({
|
|
|
[`projectListTab[${pIndex}].converterList[${e.currentTarget.dataset.index}].num`]: e.detail.value,
|
|
|
})
|
|
|
break;
|
|
|
case "并网箱":
|
|
|
this.setData({
|
|
|
[`projectListTab[${pIndex}].cagesList[${e.currentTarget.dataset.index}].num`]: e.detail.value,
|
|
|
})
|
|
|
break;
|
|
|
case "支架":
|
|
|
this.setData({
|
|
|
[`projectListTab[${pIndex}].supportList[${e.currentTarget.dataset.index}].num`]: e.detail.value,
|
|
|
})
|
|
|
break;
|
|
|
}
|
|
|
},
|
|
|
/** 新增型号 */
|
|
|
add(e) {
|
|
|
const pIndex = e.currentTarget.dataset.pindex;
|
|
|
const list = {
|
|
|
id: "",
|
|
|
num: "",
|
|
|
name: "",
|
|
|
}
|
|
|
switch (e.currentTarget.dataset.type) {
|
|
|
case "组件":
|
|
|
this.setData({
|
|
|
[`projectListTab[${pIndex}].componentList`]:this.data.projectListTab[pIndex].componentList.concat(list)
|
|
|
})
|
|
|
break;
|
|
|
case "逆变器":
|
|
|
this.setData({
|
|
|
[`projectListTab[${pIndex}].converterList`]:this.data.projectListTab[pIndex].converterList.concat(list)
|
|
|
})
|
|
|
break;
|
|
|
case "并网箱":
|
|
|
this.setData({
|
|
|
[`projectListTab[${pIndex}].cagesList`]:this.data.projectListTab[pIndex].cagesList.concat(list)
|
|
|
})
|
|
|
case "支架":
|
|
|
this.setData({
|
|
|
[`projectListTab[${pIndex}].supportList`]:this.data.projectListTab[pIndex].supportList.concat(list)
|
|
|
})
|
|
|
break;
|
|
|
}
|
|
|
},
|
|
|
/** 删除型号 */
|
|
|
delete(e) {
|
|
|
const pIndex = e.currentTarget.dataset.pindex;
|
|
|
wx.showModal({
|
|
|
title: '提示',
|
|
|
content: '确定删除?',
|
|
|
complete: (res) => {
|
|
|
if (res.confirm) {
|
|
|
switch (e.currentTarget.dataset.type) {
|
|
|
case "组件":
|
|
|
this.data.projectListTab[pIndex].componentList.splice(e.currentTarget.dataset.index, 1)
|
|
|
this.setData({
|
|
|
[`projectListTab[${pIndex}].componentList`]:this.data.projectListTab[pIndex].componentList
|
|
|
})
|
|
|
break;
|
|
|
case "逆变器":
|
|
|
this.data.projectListTab[pIndex].converterList.splice(e.currentTarget.dataset.index, 1)
|
|
|
this.setData({
|
|
|
[`projectListTab[${pIndex}].converterList`]:this.data.projectListTab[pIndex].converterList
|
|
|
})
|
|
|
break;
|
|
|
case "并网箱":
|
|
|
this.data.projectListTab[pIndex].cagesList.splice(e.currentTarget.dataset.index, 1)
|
|
|
this.setData({
|
|
|
[`projectListTab[${pIndex}].cagesList`]:this.data.projectListTab[pIndex].cagesList
|
|
|
})
|
|
|
case "支架":
|
|
|
this.data.projectListTab[pIndex].supportList.splice(e.currentTarget.dataset.index, 1)
|
|
|
this.setData({
|
|
|
[`projectListTab[${pIndex}].supportList`]:this.data.projectListTab[pIndex].supportList
|
|
|
})
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
//审核结果
|
|
|
radioAuditResult(e) {
|
|
|
this.setData({
|
|
|
auditStatus: e.detail.value,
|
|
|
})
|
|
|
},
|
|
|
//驳回节点
|
|
|
radioRejectNode(e) {
|
|
|
this.setData({
|
|
|
nodeType: e.detail.value,
|
|
|
})
|
|
|
},
|
|
|
//打开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链接列表
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
/** 填充所有图片 **/
|
|
|
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'
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
//选择预计投放日
|
|
|
// bindLeaseDate(e) {
|
|
|
// this.setData({
|
|
|
// leaseDate: e.detail.value
|
|
|
// })
|
|
|
// },
|
|
|
/** 设计审核-不通过 **/
|
|
|
noPass(e) {
|
|
|
if (!this.data.auditOpinion) {
|
|
|
wx.showToast({
|
|
|
title: '请输入不通过审核意见',
|
|
|
icon: 'none'
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
wx.showLoading({
|
|
|
title: "提交中"
|
|
|
})
|
|
|
appletsFailed({
|
|
|
id: this.data.entryId,
|
|
|
remarks: this.data.auditOpinion ? this.data.auditOpinion : "",
|
|
|
userId: wx.getStorageSync('userId')
|
|
|
}).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.msg || res.errMsg,
|
|
|
icon: res.code
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
/** 设计审核-通过 **/
|
|
|
pass(ee) {
|
|
|
var CustomerEntry = {
|
|
|
id: this.data.id ? this.data.id : "",
|
|
|
examineRemarks: this.data.auditOpinion ? this.data.auditOpinion : "", //审核意见
|
|
|
}
|
|
|
console.log("CustomerEntry", CustomerEntry)
|
|
|
// return
|
|
|
var data = {
|
|
|
userId: wx.getStorageSync('userId'),
|
|
|
CustomerEntry: CustomerEntry,
|
|
|
}
|
|
|
|
|
|
wx.showLoading({
|
|
|
title: "提交中"
|
|
|
})
|
|
|
appletsToExamine(
|
|
|
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.msg || res.errMsg,
|
|
|
icon: 'none'
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
}) |