import { EditTask } from './artUtil'; import { artApi } from './artApi'; import Equipment from './equipment'; class ArtworkEquipmentType { constructor(params) { if (!params) { params = {}; } this.id = params.id; this.name = params.name; this.description = params.description; this.equipmentCount = params.equipment_count || 0; this.style = params.style; this.tags = []; if (params.tag_name) { this.tags = params.tag_name.map((item) => { return { name: item }; }); } this.creator = params.creator; this.updater = params.updater; this.createTime = params.create_time; this.updateTime = params.update_time; } updateEquipmentType(params) { let { name, description, style, tags, dataType, chartConfiguration } = params; let editTask = new EditTask(artApi.equipmentTypeUpdate); editTask.addParam('_id', this.id); editTask.addParam('_description', description); editTask.addParam('_name', name); editTask.addParam('_style', style); return new Promise((resolve, reject) => { editTask .execute() .then((res) => { if (res.data) { let materialType = new ArtworkEquipmentType(res.data); resolve(materialType); } }) .catch((err) => { reject(err); }); }); } deleteEquipmentType(params) { let editTask = new EditTask(artApi.equipmentTypeDelete); editTask.addParam('_id', this.id); return editTask.execute(); } createEquipment(params) { let editTask = new EditTask(artApi.equipmentInsert); editTask.addParam('_type_id', this.id); editTask.addParam('_description', params.description); editTask.addParam('_manufacture', params.manufacturers); editTask.addParam('_number', params.serialNumber); editTask.addParam('_model', params.equipmentModel); editTask.addParam('_laboratory_id', params.laboratoryId); editTask.addParam('_name', params.name); editTask.addParam('_data_type', params.dataType); editTask.addParam('_chart_option', params.chartConfiguration); return new Promise((resolve, reject) => { editTask .execute() .then((res) => { if (res.data) { let equipment = new Equipment(res.data); resolve(equipment); } }) .catch((err) => { reject(err); }); }); } } export default ArtworkEquipmentType;