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

253 lines
5.8 KiB

// other/pages/qualityAcceptList/qualityAcceptList.js
const {
getAddressLonLat,
qualityDetailData,
addSample,
cancelAccept,listSorting,getAddressByLonLat
} = require("../../../api/api");
const app = getApp()
const { routeLink } = require("../../../utils/route.js");
Page({
/**
* 页面的初始数据
*/
data: {
tabIndex: 1,
detail: {},
cjEntry: [],//检验电站
wcjEntry: [], //电站列表
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
this.setData({
id:options.projectId
});
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
this.getDetail()
},
//详情
getDetail(){
wx.showLoading({
title: "加载中"
});
qualityDetailData({
id: this.data.id
}).then(res=>{
if(res.code == 200){
this.setData({
detail: res.data.detailRecord.columns,
cjEntry: res.data.cjEntry.map(itm=>itm.columns),
wcjEntry: res.data.wcjEntry.map(itm=>itm.columns),
})
}
wx.hideLoading();
});
},
//切换TAB
changeTab(e){
let type = e.currentTarget.dataset.index
this.setData({
tabIndex: type
})
},
/** 打开导航 **/
addrFn(e){
let obj = e.currentTarget.dataset.obj;
wx.showLoading({
title: '加载中',
});
getAddressLonLat({
address:obj
}).then(res=>{
wx.hideLoading()
if (res.code == 200 && res.data) {
var data = res.data.split(",")
wx.openLocation({
latitude:Number(data[1]),
longitude:Number(data[0]),
name:obj,
scale: 18,
});
} else {
wx.showToast({
title: '获取经纬度失败',
icon: 'none'
})
}
});
},
/** 复制 **/
copy(e) {
const code = e.currentTarget.dataset.code;
wx.setClipboardData({
data: code,
success(res) {
wx.showToast({
title: '已复制',
icon: 'none'
})
}
})
},
//验收
bindAccept(e){
routeLink("/other/pages/qualityAccept/qualityAccept?entryId=" + e.currentTarget.dataset.eid+ '&id='+ e.currentTarget.dataset.id);
},
//无法验收
bindNoAccept(e){
routeLink("/other/pages/unableAccept/unableAccept?id=" + e.currentTarget.dataset.id + '&type='+ e.currentTarget.dataset.type);
},
//添加抽检
addSampleFn(e){
wx.showLoading({
title: "加载中",
mask: true
});
addSample({
id: this.data.id, //质检单id
detailId: e.currentTarget.dataset.id, //质检单明细id
}).then(res=>{
if(res.code == 200){
wx.showToast({
title: '添加成功',
duration: 1000
})
setTimeout(()=>{
this.getDetail()
},1000)
}
wx.hideLoading();
});
},
//撤回抽检
bindCancelAccept(e){
wx.showModal({
title: '提示',
content: '是否撤回这条质检单?',
complete: (res) => {
if (res.cancel) {}
if (res.confirm) {
cancelAccept({
detailId: e.currentTarget.dataset.id, //质检单明细id
}).then((res) => {
if (res.code == 200) {
wx.showToast({
title: '操作成功',
icon: 'none'
})
this.getDetail()
} else {
wx.showToast({
title: res.errMsg,
icon: 'none'
})
}
})
}
}
})
},
//定位排序
bindPosition(e) {
var that = this
wx.getLocation({
type: 'wgs84',
isHighAccuracy: true,
success(res) {
console.log("获取经纬", res.longitude.toFixed(6), res.latitude.toFixed(6))
wx.showLoading({
title: '获取定位中',
})
if(res.longitude && res.latitude){
wx.hideLoading()
that.getAddress(res.longitude.toFixed(6), res.latitude.toFixed(6))
wx.showLoading({
title: "加载中"
});
}
},
fail(res) {
wx.showModal({
title: '提示',
content: '请授权当前小程序定位权限',
cancelText: "取消",
confirmText: "确定",
success(res) {
if (res.confirm) {
wx.openSetting({
withSubscriptions: true,
})
}
}
})
}
})
},
//根据经纬度获取地址
getAddress: function(longitude, latitude) {
let that = this
getAddressByLonLat({
lonLat: longitude+","+latitude
}).then((res) => {
wx.hideLoading()
if (res.code == 200) {
wx.showModal({
title: '当前位置',
content: res.data,
showCancel: false,
complete: (res) => {
if (res.confirm) {
that.positionSort(longitude, latitude)
}
}
})
that.setData({
currentAddress: res.data,
})
} else {
wx.showToast({
title: '地址获取失败',
icon: 'none'
})
}
})
},
//重新排序
positionSort(longitude, latitude) {
var that = this
wx.showLoading({
title: "排序中"
});
listSorting({
id: that.data.id,
longitude: longitude,
latitude: latitude,
}).then(ress=>{
if(ress.code == 200){
that.setData({
detail: ress.data.detailRecord.columns,
cjEntry: ress.data.cjEntry.map(itm=>itm.columns),
wcjEntry: ress.data.wcjEntry.map(itm=>itm.columns),
})
}else{
wx.showToast({
title: res.errMsg,
icon: 'none',
duration: 1500
})
}
wx.hideLoading();
});
},
})