185 lines
5.5 KiB
JavaScript
185 lines
5.5 KiB
JavaScript
![]() |
import {
|
|||
|
CellsysType,
|
|||
|
EditTask,
|
|||
|
EditType,
|
|||
|
Operator,
|
|||
|
Query,
|
|||
|
QueryTask,
|
|||
|
QueryType
|
|||
|
} from './cellsysUtil.js';
|
|||
|
import {PublishTarget} from './cellsysEnum';
|
|||
|
import CellsysEquipmentMonitor from "./cellsysEquipmentMonitor";
|
|||
|
import CellsysEquipment from "./cellsysEquipment";
|
|||
|
|
|||
|
class CellsysEquipmentType {
|
|||
|
constructor(params) {
|
|||
|
this.cellsysType = CellsysType.EquipmentType
|
|||
|
params = params || {}
|
|||
|
|
|||
|
this.orgId = params.org_id
|
|||
|
this.orgName = params.org_name
|
|||
|
this.id = params.id
|
|||
|
this.type = params.type
|
|||
|
this.typeCount = params.type_count
|
|||
|
this.name = params.name
|
|||
|
this.description = params.description
|
|||
|
this.style = params.style || {}
|
|||
|
this.createBy = params.create_by;
|
|||
|
this.createTime = params.create_time;
|
|||
|
this.updateBy = params.update_by;
|
|||
|
this.updateTime = params.update_time;
|
|||
|
this.tags = [];
|
|||
|
if (params.tag_name) {
|
|||
|
this.tags = params.tag_name.map(name => {
|
|||
|
return {"name": name}
|
|||
|
})
|
|||
|
}
|
|||
|
this.isPublish = params.is_publish || 0
|
|||
|
this.publishRange = params.publish_range; //发布范围 0-群组 1-组织
|
|||
|
this.publishGroup = params.publish_group ? params.publish_group : []; //发布的群组
|
|||
|
this.isEditable = params.is_update === 1; //is_update表示是否允许其他人编辑 0-不允许 1-允许
|
|||
|
this.isUnlock = params.is_unlock;//是否未锁定,0-已锁定,1-未锁定
|
|||
|
|
|||
|
let creator = params.creator;
|
|||
|
this.creator = {
|
|||
|
memberId: null,
|
|||
|
name: null
|
|||
|
}
|
|||
|
if (creator) {
|
|||
|
this.creator = {
|
|||
|
memberId: creator.member_id,
|
|||
|
name: creator.name
|
|||
|
}
|
|||
|
}
|
|||
|
let updater = params.updater;
|
|||
|
this.updater = {
|
|||
|
memberId: null,
|
|||
|
name: null
|
|||
|
}
|
|||
|
if (updater) {
|
|||
|
this.updater = {
|
|||
|
memberId: updater.member_id,
|
|||
|
name: updater.name
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
setId(value) {
|
|||
|
this.id = value
|
|||
|
}
|
|||
|
|
|||
|
setName(value) {
|
|||
|
this.name = value
|
|||
|
}
|
|||
|
|
|||
|
getIcon() {
|
|||
|
return this.style
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 查询监控量
|
|||
|
*/
|
|||
|
queryMonitorList(filters) {
|
|||
|
let query = new Query();
|
|||
|
|
|||
|
query.addFilter('equipment_type_id', Operator.Equals, this.type);
|
|||
|
query.setOrder({ create_time: 'desc' });
|
|||
|
let queryTask = new QueryTask(QueryType.EquipmentTypeMonitors, false);
|
|||
|
return new Promise((resolve, reject) => {
|
|||
|
queryTask
|
|||
|
.execute(query)
|
|||
|
.then((res) => {
|
|||
|
let resArr = res.map((item) => {
|
|||
|
return new CellsysEquipmentMonitor(item);
|
|||
|
});
|
|||
|
resolve(resArr);
|
|||
|
})
|
|||
|
.catch((err) => {
|
|||
|
reject(err);
|
|||
|
});
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
/*查询设备类型下所有设备*/
|
|||
|
queryEquipments(){
|
|||
|
let query = new Query();
|
|||
|
|
|||
|
query.addFilter('type_id', Operator.Equals, this.id);
|
|||
|
let queryType = QueryType.Equipment;
|
|||
|
query.setOrder({ id: 'desc' });
|
|||
|
|
|||
|
let queryTask = new QueryTask(queryType, false);
|
|||
|
return new Promise((resolve, reject) => {
|
|||
|
queryTask
|
|||
|
.execute(query)
|
|||
|
.then((res) => {
|
|||
|
let resArr = res.map((item) => {
|
|||
|
return new CellsysEquipment(item);
|
|||
|
});
|
|||
|
resolve(resArr);
|
|||
|
})
|
|||
|
.catch((err) => {
|
|||
|
reject(err);
|
|||
|
});
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
// EquipmentTypePublish
|
|||
|
//发布功能
|
|||
|
setPublish(publishStatus, range, ids, isEditable, remark) {
|
|||
|
let editTask = new EditTask(EditType.EquipmentTypePublish);
|
|||
|
editTask.addParam('_id', this.id);
|
|||
|
editTask.addParam('_equipment_type_name', this.name);
|
|||
|
editTask.addParam('_is_publish', PublishTarget[publishStatus]);
|
|||
|
editTask.addParam('_remark', remark);
|
|||
|
if (publishStatus !== "noPublish") {
|
|||
|
if (range === 1) { //发布到组织
|
|||
|
editTask.addParam('_publish_org', ids);
|
|||
|
} else {
|
|||
|
editTask.addParam('_publish_group', ids);
|
|||
|
}
|
|||
|
editTask.addParam('_publish_range', range);
|
|||
|
}
|
|||
|
if (isEditable) {
|
|||
|
editTask.addParam('_is_update', 1);
|
|||
|
} else {
|
|||
|
editTask.addParam('_is_update', 0);
|
|||
|
}
|
|||
|
return editTask.execute();
|
|||
|
}
|
|||
|
|
|||
|
//查询协同数据发布记录列表
|
|||
|
synergyDataPublishRecord(dataId, type) {
|
|||
|
|
|||
|
let query = new Query();
|
|||
|
query.setOrder({create_time: 'desc'});
|
|||
|
query.addFilter('data_type', '=', 6);
|
|||
|
query.setCurrPage(1);
|
|||
|
query.setPageSize(1);
|
|||
|
|
|||
|
|
|||
|
if (dataId) {
|
|||
|
query.addFilter('data_id', '=', dataId);
|
|||
|
}
|
|||
|
if (type) {
|
|||
|
query.addFilter('type', '=', type);
|
|||
|
}
|
|||
|
let queryTask = new QueryTask(QueryType.synergyDataPublishRecord, true);
|
|||
|
return new Promise((resolve, reject) => {
|
|||
|
queryTask
|
|||
|
.execute(query)
|
|||
|
.then((res) => {
|
|||
|
|
|||
|
resolve(res);
|
|||
|
|
|||
|
})
|
|||
|
.catch((err) => {
|
|||
|
reject(err);
|
|||
|
});
|
|||
|
});
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
export default CellsysEquipmentType
|