2026-04-15 09:09:27 +08:00
|
|
|
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({})
|
|
|
|
|
|
|
|
|
|
// 是否 布尔类型
|
2026-04-20 11:28:23 +08:00
|
|
|
options.value['yesOrNoBool'] = [
|
2026-04-15 09:09:27 +08:00
|
|
|
{ label: '是', value: true },
|
|
|
|
|
{ label: '否', value: false }
|
|
|
|
|
]
|
|
|
|
|
|
2026-04-20 11:28:23 +08:00
|
|
|
// 有 无
|
|
|
|
|
options.value['haveOrNot'] = [
|
|
|
|
|
{ label: '有', value: 1 },
|
|
|
|
|
{ label: '无', value: 0 }
|
|
|
|
|
]
|
|
|
|
|
|
2026-04-15 09:09:27 +08:00
|
|
|
// 事件类型
|
|
|
|
|
options.value['eventType'] = [
|
|
|
|
|
{ label: '水毁事件', value: '水毁事件' },
|
|
|
|
|
{ label: '冰雪事件', value: '冰雪事件' }
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
// 抢险进度
|
|
|
|
|
options.value['repairProgress'] = [
|
|
|
|
|
{ label: '未抢险', value: '未抢险' },
|
|
|
|
|
{ label: '抢险中', value: '抢险中' }
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
// 处理措施
|
|
|
|
|
options.value['disposalMeasures'] = [
|
|
|
|
|
{ label: '全幅封闭', value: '全幅封闭' },
|
|
|
|
|
{ label: '半幅封闭', value: '半幅封闭' },
|
2026-04-27 15:28:20 +08:00
|
|
|
{ label: '便道通行', value: '便道通行' },
|
|
|
|
|
{ label: '正常通行', value: '正常通行' }
|
2026-04-15 09:09:27 +08:00
|
|
|
]
|
|
|
|
|
|
2026-04-17 09:21:59 +08:00
|
|
|
// 冰灾 处理措施
|
|
|
|
|
options.value['iceDisposalMeasures'] = [
|
2026-04-17 18:16:31 +08:00
|
|
|
{ label: '正常通行', value: '正常通行' },
|
2026-04-17 09:21:59 +08:00
|
|
|
{ label: '封闭交通', value: '封闭交通' },
|
|
|
|
|
{ label: '限速通行', value: '限速通行' },
|
|
|
|
|
]
|
|
|
|
|
|
2026-04-15 09:09:27 +08:00
|
|
|
// 路线类型
|
|
|
|
|
options.value['roadType'] = [
|
|
|
|
|
{ label: '国道', value: 'G' },
|
|
|
|
|
{ label: '省道', value: 'S' },
|
|
|
|
|
{ label: '县道', value: 'X' },
|
|
|
|
|
{ label: '乡道', value: 'Y' },
|
|
|
|
|
{ label: '村道', value: 'C' }
|
|
|
|
|
]
|
|
|
|
|
|
2026-04-15 10:44:57 +08:00
|
|
|
// 路况类型 水灾 冰灾
|
|
|
|
|
// 雪灾
|
|
|
|
|
options.value['iceRoadConditionType'] = [
|
|
|
|
|
{ label: '积雪', value: '积雪' },
|
|
|
|
|
{ label: '积冰', value: '积冰' },
|
|
|
|
|
]
|
|
|
|
|
// 水灾
|
|
|
|
|
options.value['waterRoadConditionType'] = [
|
2026-04-15 09:09:27 +08:00
|
|
|
{ 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,
|
|
|
|
|
}
|
|
|
|
|
}
|