import { ref } from 'vue' import { request } from '@shared/utils/request' // 通用调用接口方法 const getOptionsByApi = async ({ url, params }) => { const res = await request({ url, method: 'get', params, timeout: 60000 }) if (res?.code === '00000') return res.data else { console.error('接口调用失败', res) return [] } } // 公用下拉选项 export function useOptions() { const options = ref({}) // 是否 布尔类型 options.value['yesNoBool'] = [ { label: '是', value: true }, { label: '否', value: false } ] // 事件类型 options.value['eventType'] = [ { label: '水毁事件', value: '水毁事件' }, { label: '冰雪事件', value: '冰雪事件' } ] // 抢险进度 options.value['repairProgress'] = [ { label: '未抢险', value: '未抢险' }, { label: '抢险中', value: '抢险中' } ] // 处理措施 options.value['disposalMeasures'] = [ { label: '全幅封闭', value: '全幅封闭' }, { label: '半幅封闭', value: '半幅封闭' }, { label: '正常通行', value: '正常通行' }, { label: '限制通行', value: '限制通行' } ] // 路线类型 options.value['roadType'] = [ { label: '国道', value: 'G' }, { label: '省道', value: 'S' }, { label: '县道', value: 'X' }, { label: '乡道', value: 'Y' }, { label: '村道', value: 'C' } ] // 路况类型 水灾 冰灾 // 雪灾 options.value['iceRoadConditionType'] = [ { label: '积雪', value: '积雪' }, { label: '积冰', value: '积冰' }, ] // 水灾 options.value['waterRoadConditionType'] = [ { label: '山体滑坡', value: '山体滑坡' }, { label: '泥石流', value: '泥石流' }, { label: '边坡坍塌(上、下)', value: '边坡坍塌(上、下)' }, { label: '路基沉降(垮塌)', value: '路基沉降(垮塌)' }, { label: '行道树倒塌', value: '行道树倒塌' }, { label: '积水', value: '积水' }, { label: '其他', value: '其他' } ] // 获取区县 const getAreaOptions = async (params) => { let list = await getOptionsByApi({ url: '/snow-ops-platform/infrastructure-asset/counties', params: { xzdm: params?.xzdm // 区县代码 可选 } }) list = list.filter((item) => { return !!item.qxmc }) options.value['area'] = list.map((item) => { return { label: item.qxmc, value: item.xzdm } }) } return { options, getAreaOptions, } }