Files
PropertyDeployment/resources/Web/MicroCommunityIotWeb/html/pages/meter/editInstrument/editInstrument.js
2025-12-09 20:22:03 +08:00

291 lines
11 KiB
JavaScript

(function(vc) {
vc.extends({
data: {
editInstrumentInfo: {
machineId: '',
machineCode: '',
machineName: '',
communityId: '',
typeId: '',
typeName: '',
charge: '',
sign: '',
upMin: '',
checkSec: '',
implBean: '',
factoryName: '',
instrumentParamList: [],
instrumentSensorList: [],
specs: [],
sensorList: []
},
instrumentTypeList: [],
factoryList: [],
sensorTypeList: []
},
_initMethod: function() {
$that.editInstrumentInfo.machineId = vc.getParam("machineId");
$that._listInstrument();
$that._listInstrumentType();
$that._listFactorys();
vc.getDict('instrument_sensor', 'sensor_type', function (_data) {
$that.sensorTypeList = _data;
})
},
_initEvent: function() {
},
methods: {
editInstrumentValidate() {
return vc.validate.validate({
editInstrumentInfo: $that.editInstrumentInfo
}, {
'editInstrumentInfo.machineId': [{
limit: "required",
param: "",
errInfo: "仪表ID不能为空"
},
],
'editInstrumentInfo.machineCode': [{
limit: "required",
param: "",
errInfo: "仪表编码不能为空"
},
{
limit: "maxLength",
param: "64",
errInfo: "仪表编码不能超过64"
},
],
'editInstrumentInfo.machineName': [{
limit: "required",
param: "",
errInfo: "仪表名称不能为空"
},
{
limit: "maxLength",
param: "200",
errInfo: "仪表名称不能超过200"
},
],
'editInstrumentInfo.communityId': [{
limit: "required",
param: "",
errInfo: "小区不能为空"
},
],
'editInstrumentInfo.typeId': [{
limit: "required",
param: "",
errInfo: "仪表类型不能为空"
},
],
'editInstrumentInfo.upMin': [{
limit: "required",
param: "",
errInfo: "上报时间不能为空"
},
{
limit: "min",
param: "0",
errInfo: "上报时间不能低于0"
},
{
limit: "num",
param: "",
errInfo: "上报时间必须为整数"
},
],
'editInstrumentInfo.checkSec': [{
limit: "required",
param: "",
errInfo: "采样时间不能为空"
},
{
limit: "min",
param: "0",
errInfo: "采样时间不能低于0"
},
{
limit: "num",
param: "",
errInfo: "采样时间必须为整数"
},
],
'editInstrumentInfo.implBean': [{
limit: "required",
param: "",
errInfo: "仪表厂家不能为空"
},
],
});
},
saveInstrumentInfo: function() {
$that.editInstrumentInfo.communityId = vc.getCurrentCommunity().communityId;
if (!$that.editInstrumentValidate()) {
vc.toast(vc.validate.errInfo);
return;
}
vc.http.apiPost(
'/instrument.updateInstrument',
JSON.stringify($that.editInstrumentInfo), {
emulateJSON: true
},
function(json, res) {
let _json = JSON.parse(json);
if (_json.code === 0) {
vc.goBack();
vc.toast("修改成功");
return;
}
vc.toast(_json.msg);
},
function(errInfo, error) {
console.log('请求失败处理');
vc.toast(errInfo);
});
},
_listInstrument: function () {
var param = {
params: {
page: -1,
row: 100,
communityId: vc.getCurrentCommunity().communityId,
machineId: $that.editInstrumentInfo.machineId
}
};
//发送get请求
vc.http.apiGet('/instrument.listInstrument',
param,
function (json, res) {
var _instrumentManageInfo = JSON.parse(json);
$that._clearEditInstrumentInfo();
vc.copyObject(_instrumentManageInfo.data[0], $that.editInstrumentInfo);
$that.editInstrumentInfo.specs = $that.editInstrumentInfo.instrumentParamList;
$that.editInstrumentInfo.instrumentSensorList.forEach(
instrumentSensor => {
let _sensorList = $that.editInstrumentInfo.sensorList;
let _sensor = {
id: vc.uuid(),
sensorType: instrumentSensor.sensorType,
paramType: instrumentSensor.minValue ? '1001' : '1002',
minValue: instrumentSensor.minValue,
maxValue: instrumentSensor.maxValue,
units: instrumentSensor.units
};
_sensorList.push(_sensor);
$that.editInstrumentInfo.sensorList = _sensorList;
}
);
}, function (errInfo, error) {
console.log('请求失败处理');
}
);
},
_listInstrumentType: function() {
let param = {
params: {
page: -1,
row: 500,
communityId: vc.getCurrentCommunity().communityId,
}
};
//发送get请求
vc.http.apiGet('/instrumentType.listInstrumentType',
param,
function(json, res) {
let _instrumentTypeManageInfo = JSON.parse(json);
$that.instrumentTypeList = _instrumentTypeManageInfo.data;
},
function(errInfo, error) {
console.log('请求失败处理');
}
);
},
_listFactorys: function() {
let param = {
params: {
page: -1,
row: 500,
}
};
//发送get请求
vc.http.apiGet('/instrumentFactory.listInstrumentFactory',
param,
function(json, res) {
let _instrumentFactoryManageInfo = JSON.parse(json);
$that.factoryList = _instrumentFactoryManageInfo.data;
},
function(errInfo, error) {
console.log('请求失败处理');
}
);
},
_changeFactory: function() {
let _factorys = $that.factoryList;
_factorys.forEach(item => {
if (item.factoryId === $that.editInstrumentInfo.implBean) {
item.instrumentFactorySpecList.forEach(specItem => {
specItem.value = "";
})
$that.editInstrumentInfo.specs = item.instrumentFactorySpecList;
}
});
},
_changeParamType: function (_id) {
let _sensorList = $that.editInstrumentInfo.sensorList;
_sensorList.forEach(item => {
if (_id === item.id) {
item.minValue = null;
item.maxValue = null;
item.units = null;
}
});
},
_addInstrumentSensor: function () {
let _sensorList = $that.editInstrumentInfo.sensorList;
let _sensor = {
id: vc.uuid(),
sensorType: '',
paramType: '1001',
minValue: null,
maxValue: null,
units: null
};
_sensorList.push(_sensor);
$that.editInstrumentInfo.sensorList = _sensorList;
},
_removeInstrumentSensor: function (item) {
let _sensorList = $that.editInstrumentInfo.sensorList;
let index = _sensorList.indexOf(item);
if (index > -1) {
_sensorList.splice(index, 1);
}
},
_clearEditInstrumentInfo: function () {
$that.editInstrumentInfo = {
machineId: '',
machineCode: '',
machineName: '',
communityId: '',
typeId: '',
typeName: '',
charge: '',
sign: '',
upMin: '',
checkSec: '',
implBean: '',
factoryName: '',
instrumentParamList: [],
instrumentSensorList: [],
specs: [],
sensorList: []
};
}
}
});
})(window.vc);