import sceneApi from '@/api/fysp/sceneApi'; import configApi from '@/api/fytz/configApi'; /** * 场景类型枚举 * @param {Number} type 1:飞羽环境系统;2:飞羽监管系统; * @param {Boolean} allOption 是否在头部添加“全部”选项 */ async function enumScene(type, allOption = true) { let func; switch (parseInt(type)) { case 1: func = _enumScene_1; break; case 2: func = _enumScene_2; break; default: func = _enumScene_1; break; } return func().then((res) => { if (!allOption) { return res.shift(); } else { return res; } }); } function getSceneName(value, type = 1) { return enumScene(type).then((res) => { return res.find((v) => { if (v.value == value) { return v; } }); }); } // 飞羽环境系统 let _scene1; function _enumScene_1() { if (_scene1) { return Promise.resolve(_scene1); } else { return configApi.fetchSceneTypeRange().then((res) => { _scene1 = res.data.map((r) => { return { label: r.second, value: r.first }; }); _scene1.unshift({ label: '全部', value: null }); }); } // return [ // { // label: '全部', // value: null // }, // { // label: '餐饮', // value: '1' // }, // { // label: '工地', // value: '2' // }, // { // label: '码头', // value: '3' // }, // { // label: '堆场', // value: '4' // }, // { // label: '搅拌站', // value: '5' // }, // { // label: '工业企业', // value: '6' // }, // { // label: '汽修', // value: '7' // }, // { // label: '实验室', // value: '8' // }, // { // label: '医疗机构', // value: '9' // } // ]; } // 飞羽监管系统 let _scene2; function _enumScene_2() { if (_scene2) { return Promise.resolve(_scene2); } else { return sceneApi.getAllScene().then((res) => { _scene2 = res.map((r) => { return { label: r.sceneType, value: r.sceneTypeId + '' }; }); _scene2.unshift({ label: '全部', value: null }); }); } // return [ // { // label: '全部', // value: null // }, // { // label: '工地', // value: '1' // }, // { // label: '码头', // value: '2' // }, // { // label: '搅拌站', // value: '3' // }, // { // label: '工业企业', // value: '4' // }, // { // label: '餐饮', // value: '5' // }, // { // label: '汽修', // value: '6' // }, // { // label: '道路扬尘监测点', // value: '9' // }, // { // label: '道路', // value: '10' // }, // { // label: '堆场', // value: '14' // } // ]; } /** * 飞羽监管系统 场景类型转 飞羽环境系统 * @param {*} sceneTypeId */ async function svToTz(sceneTypeId) { const sv = await _enumScene_2(); const tz = await _enumScene_1(); const scType = sv.find((v) => { return v.value == sceneTypeId + ''; }); const tzType = tz.find((v) => { return v.label == scType.label; }); return tzType ? tzType : scType; } export { enumScene, getSceneName, svToTz };