import { monitorDeviceForm, treatmentDeviceForm, productionDeviceForm, } from '../device-info-items.js'; import { uploadDevice, updateDevice } from '../../../../../services/inspection/fetchDevice'; Page({ data: { // 设备类型id(0:监控设备;1:治理设备;2:生产设备;) deviceType: 0, // 模式,add: 新增设备;update:更新设备 mode: 'add', submitText: '保存', }, onLoad(options) { this.getOpenerEventChannel().on('acceptDeviceData', data => { if (data) { const { scene, type, mode, deviceInfo } = data; let barTitle = mode == 'add' ? '新增' : '修改', _formArr; switch (type) { case 1: barTitle += '治理设备'; let defaultValue1 = mode == 'update' ? deviceInfo : { piSceneGuid: scene.guid, piSceneTypeId: scene.typeid, }; _formArr = treatmentDeviceForm(scene.typeid, defaultValue1); break; case 2: barTitle += '生产设备'; let defaultValue2 = mode == 'update' ? deviceInfo : { wiSceneGuid: scene.guid, wiSceneTypeId: scene.typeid, }; _formArr = productionDeviceForm(scene.typeid, defaultValue2); break; case 0: default: barTitle += '监测设备'; let defaultValue0 = mode == 'update' ? deviceInfo : { diSceneGuid: scene.guid, diSceneTypeId: scene.typeid, }; _formArr = monitorDeviceForm(scene.typeid, defaultValue0); break; } wx.setNavigationBarTitle({ title: barTitle, }); this.setData({ formArray: _formArr, scene, deviceType: type, mode, submitText: mode == 'add' ? '保存' : '更新', }); } }); }, // 提交表单 submit(e) { const formObj = e.detail; const { mode } = this.data; if (mode == 'add') { this.addDevice(formObj); } else { this.updateDevice(formObj); } console.log('submit'); console.log(formObj); }, // 取消表单 cancel() { // console.log('cancel'); wx.navigateBack({ delta: 1, success: res => {}, fail: res => {}, complete: res => {}, }); }, // 新增设备信息 addDevice(formObj) { const { deviceType } = this.data; uploadDevice(formObj, deviceType).then(res => { // console.log(res); this.getOpenerEventChannel().emit('updateDeviceInfoOver'); wx.navigateBack({ delta: 1, success: () => { wx.showToast({ title: '设备新增成功', duration: 2000, icon: 'success', mask: true, }); }, }); }); }, // 更新设备信息 updateDevice(formObj) { const { deviceType } = this.data; updateDevice(formObj, deviceType).then(res => { // console.log(res); this.getOpenerEventChannel().emit('updateDeviceInfoOver'); wx.navigateBack({ delta: 1, success: () => { wx.showToast({ title: '设备修改成功', duration: 2000, icon: 'success', mask: true, }); }, }); }); }, });