diff --git a/src/api/clue/followRecord.js b/src/api/clue/followRecord.js
new file mode 100644
index 0000000..81fb223
--- /dev/null
+++ b/src/api/clue/followRecord.js
@@ -0,0 +1,16 @@
+import request from '@/config/axios'
+
+// 查询(精简)列表
+export const getFollowList = async (params) => {
+  return await request.get({ url: '/admin-api/crm/clue-follow-record/list', params })
+}
+
+// 新增
+export const createFollow = async (data) => {
+  return await request.post({ url: '/admin-api/crm/clue-follow-record/create', data: data })
+}
+
+// 删除
+export const deleteFollow = async (id) => {
+  return await request.delete({ url: '/admin-api/crm/clue-follow-record/delete?id=' + id })
+}
diff --git a/src/api/clue/index.js b/src/api/clue/index.js
index c142494..f278e9e 100644
--- a/src/api/clue/index.js
+++ b/src/api/clue/index.js
@@ -34,3 +34,7 @@ export const deleteClue = async (id) => {
 export const getClueCount = async () => {
   return await request.get({ url: '/admin-api/crm/sch-clue/get-clue-num' })
 }
+
+export const getOpearateRecord = async (params) => {
+  return await request.get({ url: '/admin-api/crm/clue-operate-record/list', params })
+}
diff --git a/src/components/Dialog/src/Dialog.vue b/src/components/Dialog/src/Dialog.vue
index 59a9ce1..34b7a32 100644
--- a/src/components/Dialog/src/Dialog.vue
+++ b/src/components/Dialog/src/Dialog.vue
@@ -55,6 +55,8 @@ const dialogStyle = computed(() => {
     height: unref(dialogHeight)
   }
 })
+
+const emit = defineEmits(['close'])
 </script>
 
 <template>
@@ -66,6 +68,7 @@ const dialogStyle = computed(() => {
     draggable
     lock-scroll
     v-bind="getBindValue"
+    @close="emit('close')"
   >
     <template #header>
       <div class="flex justify-between">
diff --git a/src/views/Clue/Pool/Comp/DialogClue.vue b/src/views/Clue/Pool/Comp/DialogClue.vue
index 3a0565b..880d2f4 100644
--- a/src/views/Clue/Pool/Comp/DialogClue.vue
+++ b/src/views/Clue/Pool/Comp/DialogClue.vue
@@ -1,5 +1,5 @@
 <template>
-  <Dialog :title="dialogTitle" v-model="dialogVisible" width="800px">
+  <Dialog :title="dialogTitle" v-model="dialogVisible" width="800px" @close="destroyMap">
     <el-tabs v-model="tabName">
       <el-tab-pane label="线索信息" name="info">
         <Form ref="formRef" v-loading="formLoading" :rules="rules" isCol :schema="formSchema" />
@@ -16,7 +16,7 @@
                 :disabled="!row.editable"
               >
                 <el-option
-                  v-for="item in userOptions"
+                  v-for="item in props.userOptions"
                   :key="item.id"
                   :label="item.nickname"
                   :value="item.id"
@@ -92,9 +92,9 @@
 
 <script setup name="DialogClue">
 import { useAppStore } from '@/store/modules/app'
-import { getSimpleUserList as getUserOption } from '@/api/system/user'
 import { getPlaceList } from '@/api/school/place'
 import * as ClueApi from '@/api/clue'
+import { getDiyFieldList } from '@/api/clue/clueField'
 import { formatDate } from '@/utils/formatTime'
 import AMapLoader from '@amap/amap-jsapi-loader'
 import ImgPostion from '@/assets/imgs/flag/flag_red.png'
@@ -112,6 +112,9 @@ const appStore = useAppStore()
 const props = defineProps({
   schema: {
     type: Array
+  },
+  userOptions: {
+    type: Array
   }
 })
 
@@ -156,7 +159,6 @@ const rules = {
 const tabName = ref('info')
 
 const followList = ref([])
-const userOptions = ref([])
 
 const areaValue = ref('')
 const areaList = ref([])
@@ -167,10 +169,14 @@ const defaultLatLng = ref({
 })
 const info = ref({})
 
+const diyFieldArr = ref([])
+
 const open = async (type, id) => {
   dialogVisible.value = true
+  tabName.value = 'info'
   dialogTitle.value = type == 'create' ? '新增线索' : '修改线索'
   formType.value = type
+  resetForm()
   // 修改时,设置数据
   if (id) {
     formLoading.value = true
@@ -185,6 +191,13 @@ const open = async (type, id) => {
     } finally {
       formLoading.value = false
     }
+  } else {
+    followList.value = []
+    address.value = []
+    defaultLatLng.value = {
+      lat: 31.86119,
+      lng: 117.283042
+    }
   }
   if (appStore.getAppInfo?.instanceType == 1 && !dialogMap.value) {
     nextTick(() => {
@@ -194,8 +207,17 @@ const open = async (type, id) => {
     })
   }
 }
+
 defineExpose({ open }) // 提供 open 方法,用于打开弹窗
 
+function resetForm() {
+  info.value.address = undefined
+  info.value.lat = undefined
+  info.value.lng = undefined
+  info.value.followUsers = []
+  info.value.diyParams = {}
+}
+
 const placeList = ref([])
 function getSchoolPlace() {
   getPlaceList().then((data) => {
@@ -203,6 +225,8 @@ function getSchoolPlace() {
   })
 }
 
+const emit = defineEmits(['success'])
+
 async function handleSave() {
   // 校验表单
   if (!formRef.value) return
@@ -220,10 +244,12 @@ async function handleSave() {
     params.lng = defaultLatLng.value.lng
     params.followUsers = [...followList.value]
     params.diyParams = {}
-    debugger
-    for (const key in info.value.diyParams) {
-      if (Object.hasOwnProperty.call(info.value.diyParams, key)) {
-        params.diyParams[key] = params.key
+    diyFieldArr.value.map((it) => {
+      params.diyParams[it.field] = undefined
+    })
+    for (const key in params.diyParams) {
+      if (Object.hasOwnProperty.call(params, key)) {
+        params.diyParams[key] = params[key]
       }
     }
     if (formType.value === 'create') {
@@ -270,13 +296,15 @@ function initMap(data) {
         lng: data.lng,
         lat: data.lat
       }
-      addmark(data.lng, data.lat, AMap)
     }
     dialogMap.value = new AMap.Map('dialogMap', {
       zoom: 12,
       zooms: [2, 22],
       center: [defaultLatLng.value.lng, defaultLatLng.value.lat]
     })
+    if (data.lng || data.lat) {
+      addmark(data.lng, data.lat, AMap)
+    }
     AutoComplete.value = new AMap.AutoComplete({
       city: '全国'
     })
@@ -375,10 +403,19 @@ function currentSelect(val) {
   }
 }
 
-onMounted(() => {
-  getUserOption().then((data) => {
-    userOptions.value = data
+function destroyMap() {
+  dialogMap.value = null
+  aMap.value = null
+}
+
+function getDiyList() {
+  getDiyFieldList().then((data) => {
+    diyFieldArr.value = data
   })
+}
+
+onMounted(() => {
+  getDiyList()
 })
 </script>
 
diff --git a/src/views/Clue/Pool/Comp/DrawerClue.vue b/src/views/Clue/Pool/Comp/DrawerClue.vue
index 36fb1e3..b43d503 100644
--- a/src/views/Clue/Pool/Comp/DrawerClue.vue
+++ b/src/views/Clue/Pool/Comp/DrawerClue.vue
@@ -39,55 +39,26 @@
       <el-tab-pane label="跟进记录" name="followRecord">
         <el-button class="mb-10px" type="primary" @click="addFollow">添加跟进记录</el-button>
         <el-timeline>
-          <el-timeline-item timestamp="2024-04-01" placement="top">
+          <el-timeline-item
+            v-for="item in followRecordList"
+            :key="item.recordId"
+            :timestamp="item.operateDate"
+            placement="top"
+          >
             <el-card shadow="always" :body-style="{ padding: '10px' }">
               <div>
-                <div class="flex justify-between" style="align-items: center">
-                  <div class="flex align-baseline">
-                    <b class="text-18px">张三</b>
-                    <span class="text-14 ml-10px">2024-04-01 09:00:00</span>
-                  </div>
-                  <div>
-                    <el-button type="primary" plain @click="updateFollow()">修改</el-button>
-                    <el-button type="danger" plain>删除</el-button>
-                  </div>
+                <div>
+                  <b class="text-18px" style="line-height: 36px">{{ item.operateUserName }}</b>
                 </div>
-                <div>{{ followContent }}</div>
+                <div>{{ item.centent }}</div>
                 <div class="flex mt-10px" style="align-items: center">
                   <div class="flex" style="color: #666; align-items: center">
                     <Icon icon="ep:clock" class="mr-5px" />
-                    <span>本次跟进时间:2024-04-05 10:57</span>
+                    <span>本次跟进时间:{{ item.followTime }}</span>
                   </div>
                   <div class="flex ml-50px" style="color: #666; align-items: center">
                     <Icon icon="ep:clock" class="mr-5px" />
-                    <span>下次跟进时间:2024-04-10 10:00</span>
-                  </div>
-                </div>
-              </div>
-            </el-card>
-          </el-timeline-item>
-          <el-timeline-item timestamp="2024-02-01" placement="top">
-            <el-card shadow="always" :body-style="{ padding: '10px' }">
-              <div>
-                <div class="flex justify-between" style="align-items: center">
-                  <div class="flex align-baseline">
-                    <b class="text-18px">李四</b>
-                    <span class="text-14 ml-10px">2024-02-01 09:00:00</span>
-                  </div>
-                  <div>
-                    <el-button type="primary" plain>修改</el-button>
-                    <el-button type="danger" plain>删除</el-button>
-                  </div>
-                </div>
-                <div>{{ followContent2 }}</div>
-                <div class="flex mt-10px" style="align-items: center">
-                  <div class="flex" style="color: #666; align-items: center">
-                    <Icon icon="ep:clock" class="mr-5px" />
-                    <span>本次跟进时间:2024-02-05 10:57</span>
-                  </div>
-                  <div class="flex ml-50px" style="color: #666; align-items: center">
-                    <Icon icon="ep:clock" class="mr-5px" />
-                    <span>下次跟进时间:2024-02-10 10:00</span>
+                    <span>下次跟进时间:{{ item.nextFollowTime }}</span>
                   </div>
                 </div>
               </div>
@@ -96,74 +67,33 @@
         </el-timeline>
       </el-tab-pane>
       <el-tab-pane label="详细信息" name="infoDetail">
-        <Descriptions :data="info" :schema="schema" :columns="2" />
-        <el-checkbox v-model="showSchool" :label="true" @change="handleShowSchool"
-          >展示场地</el-checkbox
-        >
-        <div id="dialogMap" class="mt-20px" style="height: 400px; width: 100%"></div>
+        <Descriptions :data="info" :schema="showSchema" :columns="2" />
+        <div v-if="appStore.getAppInfo?.instanceType == 1">
+          <el-checkbox v-model="showSchool" :label="true" @change="handleShowSchool">
+            展示场地
+          </el-checkbox>
+          <div id="dialogMap" class="mt-20px" style="height: 400px; width: 100%"></div>
+        </div>
       </el-tab-pane>
       <el-tab-pane label="操作记录" name="operateRecord">
         <el-timeline>
-          <el-timeline-item timestamp="2024-04-01" placement="top">
+          <el-timeline-item
+            v-for="item in operateRecordList"
+            :key="item.recordId"
+            :timestamp="item.operateDate"
+            placement="top"
+          >
             <el-card shadow="always" :body-style="{ padding: '10px' }">
               <div style="color: #666">
                 <div class="pt-5px">
-                  <span>操作人:机器人1号</span>
+                  <span>操作人:{{ item.operateUserName }}</span>
                 </div>
                 <div class="pt-5px pb-5px">
-                  <span>成交线索</span>
+                  <span>{{ item.centent }}</span>
                 </div>
                 <div class="flex" style="align-items: center">
                   <Icon icon="ep:clock" class="mr-5px" />
-                  <span>操作时间:2024-04-05 10:57</span>
-                </div>
-              </div>
-            </el-card>
-          </el-timeline-item>
-          <el-timeline-item timestamp="2024-02-01" placement="top">
-            <el-card shadow="always" :body-style="{ padding: '10px' }">
-              <div style="color: #666">
-                <div class="pt-5px">
-                  <span>操作人:机器人2号</span>
-                </div>
-                <div class="pt-5px pb-5px">
-                  <span>修改意向状态为:高意向</span>
-                </div>
-                <div class="flex" style="align-items: center">
-                  <Icon icon="ep:clock" class="mr-5px" />
-                  <span>操作时间:2024-04-1 10:57</span>
-                </div>
-              </div>
-            </el-card>
-          </el-timeline-item>
-          <el-timeline-item timestamp="2024-02-01" placement="top">
-            <el-card shadow="always" :body-style="{ padding: '10px' }">
-              <div style="color: #666">
-                <div class="pt-5px">
-                  <span>操作人:机器人1号</span>
-                </div>
-                <div class="pt-5px pb-5px">
-                  <span>跟进线索</span>
-                </div>
-                <div class="flex" style="align-items: center">
-                  <Icon icon="ep:clock" class="mr-5px" />
-                  <span>操作时间:2024-04-1 10:57</span>
-                </div>
-              </div>
-            </el-card>
-          </el-timeline-item>
-          <el-timeline-item timestamp="2024-02-01" placement="top">
-            <el-card shadow="always" :body-style="{ padding: '10px' }">
-              <div style="color: #666">
-                <div class="pt-5px">
-                  <span>操作人:机器人2号</span>
-                </div>
-                <div class="pt-5px pb-5px">
-                  <span>创建线索</span>
-                </div>
-                <div class="flex" style="align-items: center">
-                  <Icon icon="ep:clock" class="mr-5px" />
-                  <span>操作时间:2024-04-1 10:57</span>
+                  <span>操作时间:{{ item.followTime }}</span>
                 </div>
               </div>
             </el-card>
@@ -177,47 +107,50 @@
 </template>
 
 <script setup>
+import { useAppStore } from '@/store/modules/app'
 import * as ClueApi from '@/api/clue'
+import * as FollowApi from '@/api/clue/followRecord'
+import { getPlaceList } from '@/api/school/place'
+
 import DialogFollow from './DialogFollow.vue'
-import ImgFlag from '@/assets/imgs/flag/position_blue.png'
 import AMapLoader from '@amap/amap-jsapi-loader'
+import { formatDate } from '@/utils/formatTime'
+
+import ImgPostion from '@/assets/imgs/flag/position_blue.png'
+import FlagRed from '@/assets/imgs/flag/flag_red.png'
+import FlagYellow from '@/assets/imgs/flag/flag_yellow.png'
+import FlagPurple from '@/assets/imgs/flag/flag_purple.png'
+import FlagGreen from '@/assets/imgs/flag/flag_green.png'
+import FlagBlue from '@/assets/imgs/flag/flag_blue.png'
+import FlagBlack from '@/assets/imgs/flag/flag_black.png'
+
+const appStore = useAppStore()
+
 const show = ref(false)
 const info = ref(null)
 const loading = ref(false)
 
-const schema = ref([
-  {
-    field: 'name',
-    label: '线索名称'
-  },
-  {
-    field: 'contact',
-    label: '联系方式'
-  },
-  {
-    field: 'supplier',
-    label: '意向状态'
-  },
-  {
-    field: 'supplier',
-    label: '创建时间'
-  },
-  {
-    field: 'purchaseCount',
-    label: '诉求',
-    span: 2
-  },
-  {
-    field: 'remark',
-    label: '备注',
-    isEditor: true,
-    span: 2
+const props = defineProps({
+  schema: {
+    type: Array
   }
-])
-
-const followContent = ``
+})
 
-const followContent2 = ``
+const showSchema = computed(() => {
+  const arr = [
+    {
+      field: 'requirement',
+      label: '诉求',
+      span: 2
+    },
+    {
+      field: 'remark',
+      label: '备注',
+      span: 2
+    }
+  ]
+  return [...props.schema, ...arr]
+})
 
 const followList = ref([
   {
@@ -234,17 +167,41 @@ const followList = ref([
   }
 ])
 
+const followRecordList = ref([])
+const operateRecordList = ref([])
+
 // 地图相关
 const dialogMap = ref(null)
 const aMap = ref(null)
 
 async function open(id) {
   try {
-    info.value = await ClueApi.getClue(id)
+    FollowApi.getFollowList({ clueId: id }).then((data) => {
+      followRecordList.value = data.map((item) => ({
+        operateUserName: item.operateUserName,
+        centent: item.centent,
+        operateDate: formatDate(item.operateTime),
+        followTime: formatDate(item.operateTime, 'YYYY-MM-DD HH:mm'),
+        nextFollowTime: formatDate(item.nextFollowTime)
+      }))
+    })
+    ClueApi.getOpearateRecord({ clueId: id }).then((data) => {
+      operateRecordList.value = data.map((item) => ({
+        operateUserName: item.operateUserName,
+        centent: item.centent,
+        operateDate: formatDate(item.operateTime),
+        followTime: formatDate(item.operateTime, 'YYYY-MM-DD HH:mm')
+      }))
+    })
+    const data = await ClueApi.getClue(id)
+    info.value = { ...data, ...data.diyParams }
     show.value = true
-    if (!dialogMap.value) {
+    infoIndex.value = 'followRecord'
+
+    if (appStore.getAppInfo?.instanceType == 1 && !dialogMap.value) {
       nextTick(() => {
-        initMap()
+        getSchoolPlace()
+        initMap(info.value)
       })
     }
   } catch (error) {
@@ -252,53 +209,89 @@ async function open(id) {
   }
 }
 
-function initMap() {
+const placeList = ref([])
+function getSchoolPlace() {
+  getPlaceList().then((data) => {
+    placeList.value = data.placeList
+  })
+}
+
+const defaultLatLng = ref({
+  lat: 31.86119,
+  lng: 117.283042
+})
+
+function initMap(data) {
   AMapLoader.load({
     key: '2ffb0e2ea90b1df0b8be48ed66e18fc8', //设置您的key
     version: '2.0'
   }).then((AMap) => {
     aMap.value = AMap
+    if (data.lng || data.lat) {
+      defaultLatLng.value = {
+        lng: data.lng,
+        lat: data.lat
+      }
+    }
     dialogMap.value = new AMap.Map('dialogMap', {
       zoom: 12,
       zooms: [2, 22],
-      center: [117.283042, 31.86119]
+      center: [defaultLatLng.value.lng, defaultLatLng.value.lat]
     })
+    if (data.lng || data.lat) {
+      addmark(data.lng, data.lat, AMap)
+    }
   })
 }
 
 const showSchool = ref(false)
 const schoolMarkers = ref([])
-
 function handleShowSchool() {
   if (showSchool.value) {
-    let marker1 = new aMap.value.Marker({
-      map: dialogMap.value,
-      position: [117.258001, 31.895216],
-      label: {
-        content: '慧安驾校桃花社区训练基地',
-        direction: 'left'
-      },
-      icon: ImgFlag,
-      // extData: element,
-      clickable: true
-    })
-    let marker2 = new aMap.value.Marker({
-      map: dialogMap.value,
-      position: [117.286731, 31.902396],
-      label: {
-        content: '(皖西)瑞星驾校总校(D)',
-        direction: 'left'
-      },
-      icon: ImgFlag,
-      // extData: element,
-      clickable: true
-    })
-    schoolMarkers.value = [marker1, marker2]
+    const flagMap = {
+      red: FlagRed,
+      yellow: FlagYellow,
+      purple: FlagPurple,
+      green: FlagGreen,
+      blue: FlagBlue,
+      black: FlagBlack
+    }
+    schoolMarkers.value = []
+    for (let i = 0; i < placeList.value.length; i++) {
+      const place = placeList.value[i]
+      const marker = new aMap.value.Marker({
+        map: dialogMap.value,
+        position: [place.lng, place.lat],
+        label: {
+          content: place.name,
+          direction: 'left'
+        },
+        icon: flagMap[place.flagColor || 'red'],
+        extData: place,
+        clickable: true
+      })
+      schoolMarkers.value.push(marker)
+    }
   } else {
     dialogMap.value.remove(schoolMarkers.value)
   }
 }
 
+let marker = ref(null)
+function addmark(lat, lng, AMap) {
+  marker.value && removeMarker()
+  marker.value = new AMap.Marker({
+    position: new AMap.LngLat(lat, lng),
+    zoom: 13,
+    icon: ImgPostion
+  })
+  dialogMap.value.add(marker.value)
+  dialogMap.value.setCenter([lat, lng], '', 500)
+}
+function removeMarker() {
+  dialogMap.value.remove(marker.value)
+}
+
 const infoIndex = ref('followRecord')
 
 defineExpose({
@@ -309,9 +302,6 @@ const followRef = ref()
 function addFollow() {
   followRef.value.open('create', null)
 }
-function updateFollow() {
-  followRef.value.open('update', { nextFollowTime: '2024-04-01 12:12' })
-}
 
 function destroyMap() {
   dialogMap.value = null
diff --git a/src/views/Clue/Pool/cluePool.data.js b/src/views/Clue/Pool/cluePool.data.js
deleted file mode 100644
index a09c2c7..0000000
--- a/src/views/Clue/Pool/cluePool.data.js
+++ /dev/null
@@ -1,199 +0,0 @@
-// import { CrudSchema } from '@/hooks/web/useCrudSchemas'
-import { dateFormatter } from '@/utils/formatTime'
-// import * as MailAccountApi from '@/api/system/mail/account'
-
-// 表单校验
-export const rules = reactive({
-  name: [required],
-  phone: [required],
-  source: [required],
-  intentionState: [required]
-})
-
-// const userList = await MailAccountApi.getSimpleMailAccountList()
-const userList = []
-
-// CrudSchema:https://doc.iocoder.cn/vue3/crud-schema/
-const crudSchemas = reactive([
-  {
-    label: '线索名称',
-    field: 'name',
-    isSearch: true,
-    isTable: true
-  },
-  {
-    label: '联系方式',
-    field: 'contact',
-    isSearch: true,
-    isTable: true
-  },
-  {
-    label: '线索位置',
-    field: 'address',
-    isSearch: true,
-    isTable: true,
-    isForm: false
-  },
-  {
-    label: '线索来源',
-    field: 'resource',
-    isSearch: true,
-    isTable: true,
-    search: {
-      component: 'Select',
-      api: () => userList,
-      componentProps: {
-        optionsAlias: {
-          labelField: 'name',
-          valueField: 'id'
-        }
-      }
-    },
-    form: {
-      component: 'Select',
-      api: () => userList,
-      componentProps: {
-        optionsAlias: {
-          labelField: 'name',
-          valueField: 'id'
-        }
-      }
-    }
-  },
-  {
-    label: '意向状态',
-    field: 'intention',
-    isSearch: true,
-    isTable: true,
-    table: {
-      fixed: 'left'
-    },
-    search: {
-      component: 'Select',
-      api: () => userList,
-      componentProps: {
-        optionsAlias: {
-          labelField: 'name',
-          valueField: 'id'
-        }
-      }
-    },
-    form: {
-      component: 'Select',
-      api: () => userList,
-      componentProps: {
-        optionsAlias: {
-          labelField: 'name',
-          valueField: 'id'
-        }
-      }
-    }
-  },
-  {
-    label: '跟进人员',
-    field: 'userId',
-    isSearch: true,
-    isTable: true,
-    isForm: false,
-    search: {
-      component: 'Select',
-      api: () => userList,
-      componentProps: {
-        optionsAlias: {
-          labelField: 'name',
-          valueField: 'id'
-        }
-      }
-    }
-  },
-  {
-    label: '下次跟进时间',
-    field: 'nextTime',
-    isSearch: true,
-    isTable: true,
-    isForm: false,
-    formatter: dateFormatter,
-    detail: {
-      dateFormat: 'YYYY-MM-DD'
-    },
-    search: {
-      component: 'DatePicker',
-      componentProps: {
-        type: 'daterange',
-        format: 'YYYY-MM-DD',
-        valueFormat: 'YYYY-MM-DD',
-        startPlaceholder: '下次跟进时间',
-        endPlaceholder: '下次跟进时间'
-      }
-    }
-  },
-  {
-    label: '诉求',
-    field: 'need',
-    isTable: true,
-    form: {
-      component: 'Input',
-      componentProps: {
-        type: 'textarea'
-      },
-      colProps: {
-        span: 24
-      }
-    }
-  },
-  {
-    label: '最新跟进时间',
-    field: 'latestFollowTime',
-    isTable: true,
-    isForm: false
-  },
-  {
-    label: '创建时间',
-    field: 'createTime',
-    isSearch: true,
-    isTable: true,
-    table: {
-      fixed: 'left'
-    },
-    formatter: dateFormatter,
-    detail: {
-      dateFormat: 'YYYY-MM-DD'
-    },
-    search: {
-      component: 'DatePicker',
-      componentProps: {
-        type: 'daterange',
-        format: 'YYYY-MM-DD',
-        valueFormat: 'YYYY-MM-DD',
-        startPlaceholder: '创建时间',
-        endPlaceholder: '创建时间'
-      }
-    },
-    form: {
-      component: 'DatePicker',
-      componentProps: {
-        type: 'date',
-        format: 'YYYY-MM-DD',
-        valueFormat: 'YYYY-MM-DD',
-        placeholder: '创建时间'
-      }
-    }
-  },
-  {
-    label: '跟进记录',
-    field: 'followRecord',
-    isTable: true
-  },
-  {
-    label: '备注',
-    field: 'remark',
-    isTable: true,
-    form: {
-      component: 'Editor',
-      colProps: {
-        span: 24
-      }
-    }
-  }
-])
-export const { allSchemas } = useCrudSchemas(crudSchemas)
diff --git a/src/views/Clue/Pool/index.vue b/src/views/Clue/Pool/index.vue
index ed4f311..f70cde0 100644
--- a/src/views/Clue/Pool/index.vue
+++ b/src/views/Clue/Pool/index.vue
@@ -1,7 +1,7 @@
 <template>
   <div>
     <div class="relative">
-      <el-tabs v-model="queryType" size="small">
+      <el-tabs v-model="queryType" size="small" @tab-change="getTableList">
         <el-tab-pane label="全部" name="0" />
         <el-tab-pane name="1">
           <template #label>
@@ -118,10 +118,11 @@
     <DialogClue
       v-if="!loading"
       ref="formRef"
+      :userOptions="userOptions"
       :schema="allSchemas.formSchema"
       @sucess="getTableList"
     />
-    <DrawerClue ref="drawerRef" />
+    <DrawerClue v-if="!loading" ref="drawerRef" :schema="allSchemas.formSchema" />
     <DialogSuccess ref="successRef" />
     <DialogFollow ref="followRef" />
   </div>
@@ -133,6 +134,7 @@ import DialogClue from './Comp/DialogClue.vue'
 import DrawerClue from './Comp/DrawerClue.vue'
 import DialogSuccess from './Comp/DialogSuccess.vue'
 import DialogFollow from './Comp/DialogFollow.vue'
+import { getSimpleUserList as getUserOption } from '@/api/system/user'
 
 import { removeNullField } from '@/utils'
 import { formatDate } from '@/utils/formatTime'
@@ -240,8 +242,11 @@ async function makeCall(phone) {
 function handleSuccess(row) {
   successRef.value.open(row)
 }
-
+const userOptions = ref([])
 onMounted(() => {
+  getUserOption().then((data) => {
+    userOptions.value = data
+  })
   getSearchCount()
   getCurdSchemas()
 })
diff --git a/src/views/Clue/Set/index.vue b/src/views/Clue/Set/index.vue
index 9718b0d..87d303d 100644
--- a/src/views/Clue/Set/index.vue
+++ b/src/views/Clue/Set/index.vue
@@ -27,9 +27,9 @@
       <el-tab-pane label="常规设置" :name="40" v-if="checkPermi(['clue:setting:general-setting'])">
         <GeneralSet v-if="tabIndex == 40" />
       </el-tab-pane>
-      <el-tab-pane label="消息通知" :name="50" v-if="checkPermi(['mall:setting:prod'])">
+      <!-- <el-tab-pane label="消息通知" :name="50" v-if="checkPermi(['mall:setting:prod'])">
         <MsgSend v-if="tabIndex == 50" />
-      </el-tab-pane>
+      </el-tab-pane> -->
     </el-tabs>
   </div>
 </template>
@@ -40,7 +40,7 @@ import FieldOrder from './Comp/FieldOrder.vue'
 import ClueSource from './Comp/ClueSource.vue'
 // import ClueGet from './Comp/ClueGet.vue'
 // import ClueSend from './Comp/ClueSend.vue'
-import MsgSend from './Comp/MsgSend.vue'
+// import MsgSend from './Comp/MsgSend.vue'
 import GeneralSet from './Comp/GeneralSet.vue'
 import { checkPermi } from '@/utils/permission'
 
diff --git a/src/views/MiniMall/MallSet/index.vue b/src/views/MiniMall/MallSet/index.vue
index 9bb4afe..43eb993 100644
--- a/src/views/MiniMall/MallSet/index.vue
+++ b/src/views/MiniMall/MallSet/index.vue
@@ -15,16 +15,16 @@
     <el-tab-pane label="常规设置" :name="4" v-if="checkPermi(['mall:setting:general'])">
       <GeneralSet v-if="tabIndex == 4" />
     </el-tab-pane>
-    <el-tab-pane label="消息通知" :name="9" v-if="checkPermi(['mall:setting:msg'])">
+    <!-- <el-tab-pane label="消息通知" :name="9" v-if="checkPermi(['mall:setting:msg'])">
       <MsgSend v-if="tabIndex == 9" />
-    </el-tab-pane>
+    </el-tab-pane> -->
   </el-tabs>
 </template>
 
 <script setup>
 import GeneralSet from './Comp/GeneralSet.vue'
 import FieldProduct from './Comp/FieldProduct.vue'
-import MsgSend from './Comp/MsgSend.vue'
+// import MsgSend from './Comp/MsgSend.vue'
 import CategorySet from './Comp/CategorySet.vue'
 import BrandSet from './Comp/BrandSet.vue'
 import SupplierSet from './Comp/SupplierSet.vue'