WholeProcessPlatform/frontend/src/store/modules/jidiSelectEvent.ts

79 lines
1.7 KiB
TypeScript
Raw Normal View History

2026-04-02 13:51:36 +08:00
import { defineStore } from 'pinia';
import { ref, onMounted,nextTick } from 'vue';
2026-06-26 17:52:57 +08:00
import { wbsbGetKendoList } from '@/api/select';
2026-04-02 13:51:36 +08:00
export const useJidiSelectEventStore = defineStore('jidiSelectEvent', () => {
const jidiData: any = ref([
{
wbsCode: 'all',
wbsName: '当前全部',
selected: true
}
]);
2026-06-26 17:52:57 +08:00
const loading = ref(false);
2026-04-03 16:04:16 +08:00
const selectedItem = ref(jidiData.value[0]);
const updataJidiData = (index: any) => {
if(jidiData.value.length == 1){
return
}
2026-04-03 16:04:16 +08:00
selectedItem.value = jidiData.value[index];
jidiData.value.forEach((item: any) => {
item.selected = false;
2026-04-03 16:04:16 +08:00
});
jidiData.value[index].selected = true;
};
2026-06-26 17:52:57 +08:00
const getJidiData = async () => {
loading.value = true;
let params = {
filter: {
logic: 'and',
filters: [
{
field: 'wbsType',
operator: 'eq',
dataType: 'string',
value: 'PSB'
},
{
field: 'treeLevel',
operator: 'eq',
dataType: 'string',
value: '1'
}
]
},
sort: [
{
field: 'orderIndex',
dir: 'asc'
}
],
select: ['wbsCode', 'wbsName']
};
const res = await wbsbGetKendoList(params);
let data = res?.data?.data || [
{
wbsCode: 'all',
wbsName: '当前全部',
selected: true
}
];
jidiData.value = data.map((item: any) => {
return {
...item,
selected: item.wbsCode == 'all' ? true : false
};
});
loading.value = false;
};
onMounted(() => {
getJidiData();
});
2026-04-02 13:51:36 +08:00
return {
2026-04-03 16:04:16 +08:00
jidiData,
selectedItem,
2026-06-26 17:52:57 +08:00
updataJidiData,
loading
2026-04-02 13:51:36 +08:00
};
2026-04-03 16:04:16 +08:00
});