2026-08-10 f9e6eb6fc2c2e0c2a2b17238b817fcbfcb6bab56
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<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>