riku
2024-11-07 5a678cce1b157411f20fbddfaed49c7bc8d9fba7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
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,
          });
        },
      });
    });
  },
});