diff --git a/src/api/system/wechat/index.js b/src/api/system/wechat/index.js
new file mode 100644
index 0000000..eb4c01d
--- /dev/null
+++ b/src/api/system/wechat/index.js
@@ -0,0 +1,23 @@
+import request from '@/config/axios'
+
+// 更新
+export const updateWechatConfig = (data) => {
+  return request.post({ url: '/admin-api/system/wx-robot-message-setting/save', data })
+}
+
+// 更新发送时间
+export const updateWechatSendTime = (data) => {
+  return request.put({ url: '/admin-api/system/wx-robot-message-setting/update-send-time', data })
+}
+// 更新微信群
+export const updateWechatGroup = (data) => {
+  return request.put({ url: '/admin-api/system/wx-robot-message-setting/update-wx-group', data })
+}
+
+// 获得列表
+export const getWechatConfigList = (params) => {
+  return request.get({
+    url: '/admin-api/system/wx-robot-message-setting/list',
+    params
+  })
+}
diff --git a/src/router/modules/remaining.ts b/src/router/modules/remaining.ts
index 348d8ae..fdd7af5 100644
--- a/src/router/modules/remaining.ts
+++ b/src/router/modules/remaining.ts
@@ -129,27 +129,27 @@ const remainingRouter: AppRouteRecordRaw[] = [
   //     }
   //   ]
   // },
-  {
-    path: '/Basic',
-    component: Layout,
-    name: 'Basic',
-    meta: { title: '菜单管理' },
-    redirect: '/Basic/menu',
-    children: [
-      {
-        path: 'menu',
-        component: () => import('@/views/Basic/Menu/index.vue'),
-        name: 'Menu',
-        meta: {
-          canTo: true,
-          hidden: true,
-          noTagsView: false,
-          icon: 'ep:user',
-          title: '菜单管理'
-        }
-      }
-    ]
-  },
+  // {
+  //   path: '/Basic',
+  //   component: Layout,
+  //   name: 'Basic',
+  //   meta: { title: '菜单管理' },
+  //   redirect: '/Basic/menu',
+  //   children: [
+  //     {
+  //       path: 'menu',
+  //       component: () => import('@/views/Basic/Menu/index.vue'),
+  //       name: 'Menu',
+  //       meta: {
+  //         canTo: true,
+  //         hidden: true,
+  //         noTagsView: false,
+  //         icon: 'ep:user',
+  //         title: '菜单管理'
+  //       }
+  //     }
+  //   ]
+  // },
   {
     path: '/login',
     component: () => import('@/views/Login/Login.vue'),
diff --git a/src/views/Basic/WxRobot/Setting.vue b/src/views/Basic/WxRobot/Setting.vue
index 6f0fdf2..d1d3f1e 100644
--- a/src/views/Basic/WxRobot/Setting.vue
+++ b/src/views/Basic/WxRobot/Setting.vue
@@ -5,15 +5,21 @@
       <el-table-column label="发送方式" min-width="150">
         <template #default="{ row }">
           <el-checkbox-group v-model="row.sendType" size="small" @change="rowChange(row)">
-            <el-checkbox :label="1"> 微信 </el-checkbox>
-            <el-checkbox :label="2"> 微信群 </el-checkbox>
+            <el-checkbox label="微信"> 微信 </el-checkbox>
+            <el-checkbox label="微信群"> 微信群 </el-checkbox>
           </el-checkbox-group>
         </template>
       </el-table-column>
       <el-table-column label="微信群名称" min-width="150">
         <template #default="{ row }">
-          <span v-if="!row.edit">{{ row.wxGroup }}</span>
-          <el-input v-else v-model="row.wxGroup" size="small" clearable @blur="rowChange(row)" />
+          <el-input
+            v-if="row.sendType.includes('微信群')"
+            v-model="row.wxGroup"
+            size="small"
+            clearable
+            @input="rowChange(row)"
+          />
+          <span v-else>{{ row.wxGroup }}</span>
         </template>
       </el-table-column>
       <el-table-column label="群二维码" width="90">
@@ -23,11 +29,17 @@
       </el-table-column>
       <el-table-column label="操作" width="100">
         <template #default="{ row }">
-          <div>
-            <el-button type="primary" style="padding: 5px 0" text @click="row.edit = true">
+          <!-- <div>
+            <el-button
+              v-if="row.sendType.includes('微信群')"
+              type="primary"
+              style="padding: 5px 0"
+              text
+              @click="row.edit = true"
+            >
               修改群名称
             </el-button>
-          </div>
+          </div> -->
           <div v-if="['每日', '每月'].includes(row.sendFrequency)">
             <el-button type="primary" style="padding: 5px 0" text @click="changeSendTime(row)">
               修改发送时间
@@ -37,7 +49,11 @@
       </el-table-column>
     </el-table>
 
-    <Dialog :title="`修改【${sendTimeInfo.name}】发送时间`" v-model="showSendTime" width="500px">
+    <Dialog
+      :title="`修改【${sendTimeInfo.messageName}】发送时间`"
+      v-model="showSendTime"
+      width="500px"
+    >
       <el-text type="danger">
         <span v-if="sendTimeInfo.sendFrequency == '每日'">
           请按照时间格式输入,多个时间以“、”分割,如09:00、15:00、18:00
@@ -63,68 +79,20 @@
 </template>
 
 <script setup name="WXSetting">
+import * as WechatApi from '@/api/system/wechat'
+
 const message = useMessage() // 消息弹窗
 
 const loading = ref(false)
-const tableList = ref([
-  {
-    name: '分配通知',
-    sendType: [],
-    sendFrequency: '每次',
-    sendTime: '触发时立刻发送',
-    remark: '线索分配给除本人之外的用户时,通知对方注意接收'
-  },
-  {
-    name: '发货通知',
-    sendType: [],
-    sendFrequency: '每次',
-    sendTime: '触发时立刻发送',
-    remark: '攀尼下单后,点击发货,发送发货模板到微信/群'
-  },
-  {
-    name: '审核失败通知',
-    sendType: [],
-    sendFrequency: '每次',
-    sendTime: '触发时立刻发送',
-    remark: 'crm中的回款、售后等审核失败,通知申请人'
-  },
-  {
-    name: '喜报',
-    sendType: [],
-    sendFrequency: '每次',
-    sendTime: '触发时立刻发送',
-    remark: '销售成交登记时,发送喜报到微信/群',
-    wxGroup: '寻驾'
-  },
-  {
-    name: '周业绩排名',
-    sendType: [],
-    sendFrequency: '每日',
-    sendTime: '10:00、15:00、18:00',
-    remark: '发送业绩排名到微信/群',
-    wxGroup: '爱顽熊'
-  },
-  {
-    name: '月业绩排名',
-    sendType: [],
-    sendFrequency: '每月',
-    sendTime: '26-18:00、28-14:00、30-15:00、30-18:00',
-    remark: '发送业绩排名到微信/群'
-  }
-  // {
-  //   name: '周报',
-  //   sendType: [],
-  //   sendFrequency: '触发时立刻发送'
-  // }
-])
+const tableList = ref([])
 const columns = [
   {
     label: '消息名称',
-    prop: 'name'
+    prop: 'messageName'
   },
   {
     label: '解释说明',
-    prop: 'remark'
+    prop: 'description'
   },
   {
     label: '发送频率',
@@ -136,11 +104,35 @@ const columns = [
   }
 ]
 
-async function rowChange(row) {
+onMounted(() => {
+  getTableList()
+})
+
+async function getTableList() {
   try {
-    console.log(row)
+    loading.value = true
+    const list = await WechatApi.getWechatConfigList()
+    tableList.value = list.map((it) => ({ ...it, sendType: it.sendType || [] }))
+  } finally {
+    loading.value = false
+  }
+}
+
+let timer = ref(null)
+const lastId = ref('')
+function rowChange(row) {
+  try {
+    lastId.value == row.id && clearTimeout(timer.value)
+    timer.value = setTimeout(async () => {
+      lastId.value = row.id
+      await WechatApi.updateWechatGroup({
+        id: row.id,
+        sendType: row.sendType,
+        wxGroup: row.wxGroup
+      })
+      // message.success('修改成功')
+    }, 1500)
   } finally {
-    row.edit = false
   }
 }
 
@@ -148,28 +140,53 @@ const showSendTime = ref(false)
 const sendTimeInfo = ref({})
 function changeSendTime(row) {
   showSendTime.value = true
-  sendTimeInfo.value = row
+  sendTimeInfo.value = { ...row }
 }
 
-function submitSendTime() {
+const formLoading = ref(false)
+
+async function submitSendTime() {
   // 校验时间是否有效
-  const arr = sendTimeInfo.value.sendTime.split('、')
+  const arr = sendTimeInfo.value.sendTime ? sendTimeInfo.value.sendTime.split('、') : []
+
   if (sendTimeInfo.value.sendFrequency == '每日') {
     // 正则校验是否HH:MM
     if (arr.some((it) => !/^([01]?[0-9]|2[0-3]):[0-5][0-9]$/.test(it))) {
       message.error('请检查输入格式是否正确!!!')
       return
     } else {
-      message.success('校验成功!')
+      try {
+        formLoading.value = true
+        await WechatApi.updateWechatSendTime({
+          id: sendTimeInfo.value.id,
+          sendTime: arr.join('、')
+        })
+        message.success('修改成功!')
+        getTableList()
+        showSendTime.value = false
+      } finally {
+        formLoading.value = false
+      }
     }
   } else if (sendTimeInfo.value.sendFrequency == '每月') {
     // 正则校验是否【1-31】-HH:MM
     const reg = /^([1-9]|[1-2]\d|3[01])-([01]?[0-9]|2[0-3]):[0-5][0-9]$/
-    if (arr.some((it) => !reg.test(it))) {
+    if (arr.length > 0 && arr.some((it) => !reg.test(it))) {
       message.error('请检查输入格式是否正确!!!')
       return
     } else {
-      message.success('校验成功!')
+      try {
+        formLoading.value = true
+        await WechatApi.updateWechatSendTime({
+          id: sendTimeInfo.value.id,
+          sendTime: arr.join('、')
+        })
+        message.success('修改成功!')
+        getTableList()
+        showSendTime.value = false
+      } finally {
+        formLoading.value = false
+      }
     }
   }
 }
diff --git a/src/views/Kpi/Score/index.vue b/src/views/Kpi/Score/index.vue
index 31392e4..7aded1e 100644
--- a/src/views/Kpi/Score/index.vue
+++ b/src/views/Kpi/Score/index.vue
@@ -173,8 +173,9 @@ async function getList() {
 }
 
 let timer = ref(null)
+const lastId = ref('')
 function handleSave() {
-  clearTimeout(timer.value)
+  lastId.value == row.id && clearTimeout(timer.value)
   timer.value = setTimeout(() => {
     message.success('正在保存数据,请稍后')
   }, 2000)