<script lang="ts" setup>
|
import { ref } from 'vue';
|
|
import { Page } from '@vben/common-ui';
|
|
import { message, Radio, Button, Card, Spin } from 'ant-design-vue';
|
|
import { getTenderConfig, saveTenderConfig } from '#/api/srm/tender-config';
|
import { BIDDING_MODE, BIDDING_MODE_OPTIONS } from '#/views/srm/enums';
|
|
defineOptions({ name: 'SrmTenderConfig' });
|
|
const loading = ref(false);
|
const saving = ref(false);
|
const defaultBiddingMode = ref<string>(BIDDING_MODE.FULL);
|
|
async function loadConfig() {
|
loading.value = true;
|
try {
|
const res = await getTenderConfig();
|
if (res?.defaultBiddingMode) {
|
defaultBiddingMode.value = res.defaultBiddingMode;
|
}
|
} finally {
|
loading.value = false;
|
}
|
}
|
|
async function handleSave() {
|
saving.value = true;
|
try {
|
await saveTenderConfig({ defaultBiddingMode: defaultBiddingMode.value });
|
message.success('保存成功');
|
await loadConfig();
|
} finally {
|
saving.value = false;
|
}
|
}
|
|
loadConfig();
|
</script>
|
|
<template>
|
<Page>
|
<Spin :spinning="loading">
|
<Card title="招投标默认模式配置" class="max-w-lg">
|
<div class="mb-4 text-gray-500 text-sm">
|
设置新建招标项目时的默认招投标模式,用户在创建项目时仍可手动更改。
|
</div>
|
<div class="flex items-center gap-4">
|
<span class="font-medium">默认模式:</span>
|
<Radio.Group
|
v-model:value="defaultBiddingMode"
|
:options="BIDDING_MODE_OPTIONS"
|
/>
|
</div>
|
<div class="mt-6">
|
<Button type="primary" :loading="saving" @click="handleSave">
|
保存
|
</Button>
|
</div>
|
</Card>
|
</Spin>
|
</Page>
|
</template>
|