fix(加班申请): 使用后端专门返回状态的接口,代替使用字典。

fix(status-tag.ts):把产品需求、项目需求的状态颜色定义收敛到此处。
This commit is contained in:
dk
2026-06-04 10:49:34 +08:00
parent 9d84b1aae0
commit acef4418d8
9 changed files with 77 additions and 56 deletions

View File

@@ -1,6 +1,6 @@
<script setup lang="ts">
import { computed, reactive, watch } from 'vue';
import { RDMS_OVERTIME_APPLICATION_STATUS_DICT_CODE } from '@/constants/dict';
import { computed, onMounted, reactive, ref, watch } from 'vue';
import { fetchGetOvertimeApplicationStatusDict } from '@/service/api';
import TableSearchFields, { type SearchField } from '@/components/custom/table-search-fields.vue';
defineOptions({ name: 'OvertimeApplicationSearch' });
@@ -21,6 +21,8 @@ const searchModel = reactive<Record<string, any>>({
approverName: ''
});
const statusOptions = ref<Array<{ label: string; value: string }>>([]);
let syncingFromSource = false;
watch(
@@ -53,6 +55,24 @@ watch(
{ flush: 'sync' }
);
async function loadStatusOptions() {
const { error, data } = await fetchGetOvertimeApplicationStatusDict();
if (error || !data) {
statusOptions.value = [];
return;
}
statusOptions.value = data.map(item => ({
label: item.statusName,
value: item.statusCode
}));
}
onMounted(async () => {
await loadStatusOptions();
});
const fields = computed<SearchField[]>(() => [
{
key: 'applicantName',
@@ -69,8 +89,8 @@ const fields = computed<SearchField[]>(() => [
{
key: 'statusCode',
label: '状态',
type: 'dict',
dictCode: RDMS_OVERTIME_APPLICATION_STATUS_DICT_CODE,
type: 'select',
options: statusOptions.value,
placeholder: '请选择状态'
},
{