WholeProcessPlatform/frontend/src/store/modules/jidiSelectEvent.ts
2026-06-26 17:52:57 +08:00

77 lines
1.7 KiB
TypeScript

import { defineStore } from 'pinia';
import { ref, onMounted } from 'vue';
import { wbsbGetKendoList } from '@/api/select';
export const useJidiSelectEventStore = defineStore('jidiSelectEvent', () => {
const jidiData: any = ref([
{
wbsCode: 'all',
wbsName: '当前全部',
selected: true
}
]);
const loading = ref(false);
const selectedItem = ref(jidiData.value[0]);
const updataJidiData = (index: any) => {
console.log(index);
selectedItem.value = jidiData.value[index];
jidiData.value.forEach((item: any) => {
item.selected = false;
});
jidiData.value[index].selected = true;
};
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();
});
return {
jidiData,
selectedItem,
updataJidiData,
loading
};
});