From a1d7e81859f554f3a53680cc35f0f49bf1f77098 Mon Sep 17 00:00:00 2001
From: wwf <1971391498@qq.com>
Date: 星期四, 14 五月 2026 14:37:02 +0800
Subject: [PATCH] 导入项目
---
src/views/crm/contract/config/index.vue | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 103 insertions(+), 0 deletions(-)
diff --git a/src/views/crm/contract/config/index.vue b/src/views/crm/contract/config/index.vue
new file mode 100644
index 0000000..c592123
--- /dev/null
+++ b/src/views/crm/contract/config/index.vue
@@ -0,0 +1,103 @@
+<template>
+ <doc-alert title="銆愬悎鍚屻�戝悎鍚岀鐞嗐�佸悎鍚屾彁閱�" url="https://doc.iocoder.cn/crm/contract/" />
+ <doc-alert title="銆愰�氱敤銆戞暟鎹潈闄�" url="https://doc.iocoder.cn/crm/permission/" />
+
+ <ContentWrap>
+ <el-form
+ ref="formRef"
+ :model="formData"
+ :rules="formRules"
+ label-width="160px"
+ v-loading="formLoading"
+ >
+ <el-card shadow="never">
+ <!-- 鎿嶄綔 -->
+ <template #header>
+ <div class="flex items-center justify-between">
+ <CardTitle title="鍚堝悓閰嶇疆璁剧疆" />
+ <el-button type="primary" @click="onSubmit" v-hasPermi="['crm:contract-config:update']">
+ 淇濆瓨
+ </el-button>
+ </div>
+ </template>
+ <!-- 琛ㄥ崟 -->
+ <el-form-item label="鎻愬墠鎻愰啋璁剧疆" prop="notifyEnabled">
+ <el-radio-group
+ v-model="formData.notifyEnabled"
+ @change="changeNotifyEnable"
+ class="ml-4"
+ >
+ <el-radio :value="false" size="large">涓嶆彁閱�</el-radio>
+ <el-radio :value="true" size="large">鎻愰啋</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ <div v-if="formData.notifyEnabled">
+ <el-form-item>
+ 鎻愬墠 <el-input-number class="mx-2" v-model="formData.notifyDays" /> 澶╂彁閱�
+ </el-form-item>
+ </div>
+ </el-card>
+ </el-form>
+ </ContentWrap>
+</template>
+<script setup lang="ts">
+import * as ContractConfigApi from '@/api/crm/contract/config'
+import { CardTitle } from '@/components/Card'
+
+defineOptions({ name: 'CrmContractConfig' })
+
+const message = useMessage() // 娑堟伅寮圭獥
+const { t } = useI18n() // 鍥介檯鍖�
+
+const formLoading = ref(false)
+const formData = ref({
+ notifyEnabled: false,
+ notifyDays: undefined
+})
+const formRules = reactive({})
+const formRef = ref() // 琛ㄥ崟 Ref
+
+/** 鑾峰彇閰嶇疆 */
+const getConfig = async () => {
+ try {
+ formLoading.value = true
+ const data = await ContractConfigApi.getContractConfig()
+ if (data === null) {
+ return
+ }
+ formData.value = data
+ } finally {
+ formLoading.value = false
+ }
+}
+
+/** 鎻愪氦閰嶇疆 */
+const onSubmit = async () => {
+ // 鏍¢獙琛ㄥ崟
+ if (!formRef) return
+ const valid = await formRef.value.validate()
+ if (!valid) return
+ // 鎻愪氦璇锋眰
+ formLoading.value = true
+ try {
+ const data = formData.value as ContractConfigApi.ContractConfigVO
+ await ContractConfigApi.saveContractConfig(data)
+ message.success(t('common.updateSuccess'))
+ await getConfig()
+ formLoading.value = false
+ } finally {
+ formLoading.value = false
+ }
+}
+
+/** 鏇存敼鎻愬墠鎻愰啋璁剧疆 */
+const changeNotifyEnable = () => {
+ if (!formData.value.notifyEnabled) {
+ formData.value.notifyDays = undefined
+ }
+}
+
+onMounted(() => {
+ getConfig()
+})
+</script>
--
Gitblit v1.8.0