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/customer/poolConfig/index.vue |  136 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 136 insertions(+), 0 deletions(-)

diff --git a/src/views/crm/customer/poolConfig/index.vue b/src/views/crm/customer/poolConfig/index.vue
new file mode 100644
index 0000000..28d58a6
--- /dev/null
+++ b/src/views/crm/customer/poolConfig/index.vue
@@ -0,0 +1,136 @@
+<template>
+  <doc-alert title="銆愬鎴枫�戝鎴风鐞嗐�佸叕娴峰鎴�" url="https://doc.iocoder.cn/crm/customer/" />
+  <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:customer-pool-config:update']"
+            >
+              淇濆瓨
+            </el-button>
+          </div>
+        </template>
+        <!-- 琛ㄥ崟 -->
+        <el-form-item label="瀹㈡埛鍏捣瑙勫垯璁剧疆" prop="enabled">
+          <el-radio-group v-model="formData.enabled" @change="changeEnable" 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.enabled">
+          <el-form-item>
+            <el-input-number class="mr-2" v-model="formData.contactExpireDays" />
+            澶╀笉璺熻繘鎴�
+            <el-input-number class="mx-2" v-model="formData.dealExpireDays" />
+            澶╂湭鎴愪氦
+          </el-form-item>
+          <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>
+        </div>
+      </el-card>
+    </el-form>
+  </ContentWrap>
+</template>
+<script setup lang="ts">
+import * as CustomerPoolConfigApi from '@/api/crm/customer/poolConfig'
+import { CardTitle } from '@/components/Card'
+
+defineOptions({ name: 'CrmCustomerPoolConfig' })
+
+const message = useMessage() // 娑堟伅寮圭獥
+const { t } = useI18n() // 鍥介檯鍖�
+
+const formLoading = ref(false)
+const formData = ref({
+  enabled: false,
+  contactExpireDays: undefined,
+  dealExpireDays: undefined,
+  notifyEnabled: false,
+  notifyDays: undefined
+})
+const formRules = reactive({
+  enabled: [{ required: true, message: '鏄惁鍚敤瀹㈡埛鍏捣涓嶈兘涓虹┖', trigger: 'blur' }]
+})
+const formRef = ref() // 琛ㄥ崟 Ref
+
+/** 鑾峰彇閰嶇疆 */
+const getConfig = async () => {
+  try {
+    formLoading.value = true
+    const data = await CustomerPoolConfigApi.getCustomerPoolConfig()
+    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 CustomerPoolConfigApi.CustomerPoolConfigVO
+    await CustomerPoolConfigApi.saveCustomerPoolConfig(data)
+    message.success(t('common.updateSuccess'))
+    await getConfig()
+    formLoading.value = false
+  } finally {
+    formLoading.value = false
+  }
+}
+
+/** 鏇存敼瀹㈡埛鍏捣瑙勫垯璁剧疆 */
+const changeEnable = () => {
+  if (!formData.value.enabled) {
+    formData.value.contactExpireDays = undefined
+    formData.value.dealExpireDays = undefined
+    formData.value.notifyEnabled = false
+    formData.value.notifyDays = undefined
+  }
+}
+
+/** 鏇存敼鎻愬墠鎻愰啋璁剧疆 */
+const changeNotifyEnable = () => {
+  if (!formData.value.notifyEnabled) {
+    formData.value.notifyDays = undefined
+  }
+}
+
+onMounted(() => {
+  getConfig()
+})
+</script>

--
Gitblit v1.8.0