diff --git a/src/api/clue/payment.js b/src/api/clue/payment.js
index 5f69e3a..4913d56 100644
--- a/src/api/clue/payment.js
+++ b/src/api/clue/payment.js
@@ -5,7 +5,7 @@ export const getPaymentList = async (params) => {
   return await request.get({ url: '/admin-api/crm/sign-pay-record/list', params })
 }
 
-// 查询(精简)列表
+// 查询列表
 export const getPaymentPage = async (params) => {
   return await request.get({ url: '/admin-api/crm/sign-pay-record/page', params })
 }
@@ -45,3 +45,8 @@ export const updateApplyPayment = async (data) => {
     data
   })
 }
+
+// 导出
+export const exportPayment = async (params) => {
+  return await request.download({ url: '/admin-api/crm/sign-pay-record/export-excel', params })
+}
diff --git a/src/views/Basic/WxRobot/Setting.vue b/src/views/Basic/WxRobot/Setting.vue
index 8cbf408..6f0fdf2 100644
--- a/src/views/Basic/WxRobot/Setting.vue
+++ b/src/views/Basic/WxRobot/Setting.vue
@@ -16,6 +16,11 @@
           <el-input v-else v-model="row.wxGroup" size="small" clearable @blur="rowChange(row)" />
         </template>
       </el-table-column>
+      <el-table-column label="群二维码" width="90">
+        <template #default="{ row }">
+          <img :src="row.wxCode" width="80px" height="80px" alt="" />
+        </template>
+      </el-table-column>
       <el-table-column label="操作" width="100">
         <template #default="{ row }">
           <div>
@@ -23,32 +28,94 @@
               修改群名称
             </el-button>
           </div>
-          <div>
-            <el-button type="primary" style="padding: 5px 0" text @click="row.edit = true">
+          <div v-if="['每日', '每月'].includes(row.sendFrequency)">
+            <el-button type="primary" style="padding: 5px 0" text @click="changeSendTime(row)">
               修改发送时间
             </el-button>
           </div>
         </template>
       </el-table-column>
     </el-table>
+
+    <Dialog :title="`修改【${sendTimeInfo.name}】发送时间`" v-model="showSendTime" width="500px">
+      <el-text type="danger">
+        <span v-if="sendTimeInfo.sendFrequency == '每日'">
+          请按照时间格式输入,多个时间以“、”分割,如09:00、15:00、18:00
+        </span>
+        <span v-else-if="sendTimeInfo.sendFrequency == '每月'">
+          请按照"日期-时间"格式输入,多个日期以“、”分割,如26-18:00、28-14:00、30-15:00、30-18:00
+        </span>
+      </el-text>
+      <el-input
+        type="textarea"
+        class="mt-20px mb-20px"
+        :autosize="{ minRows: 3 }"
+        v-model="sendTimeInfo.sendTime"
+        placeholder="请输入"
+        clearable
+      />
+      <template #footer>
+        <el-button :disabled="formLoading" type="primary" @click="submitSendTime">确 定</el-button>
+        <el-button @click="showSendTime = false">取 消</el-button>
+      </template>
+    </Dialog>
   </div>
 </template>
 
 <script setup name="WXSetting">
+const message = useMessage() // 消息弹窗
+
 const loading = ref(false)
 const tableList = ref([
   {
     name: '分配通知',
-    sendType: []
+    sendType: [],
+    sendFrequency: '每次',
+    sendTime: '触发时立刻发送',
+    remark: '线索分配给除本人之外的用户时,通知对方注意接收'
   },
   {
     name: '发货通知',
-    sendType: []
+    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: []
+    sendType: [],
+    sendFrequency: '每月',
+    sendTime: '26-18:00、28-14:00、30-15:00、30-18:00',
+    remark: '发送业绩排名到微信/群'
   }
+  // {
+  //   name: '周报',
+  //   sendType: [],
+  //   sendFrequency: '触发时立刻发送'
+  // }
 ])
 const columns = [
   {
@@ -76,6 +143,36 @@ async function rowChange(row) {
     row.edit = false
   }
 }
+
+const showSendTime = ref(false)
+const sendTimeInfo = ref({})
+function changeSendTime(row) {
+  showSendTime.value = true
+  sendTimeInfo.value = row
+}
+
+function submitSendTime() {
+  // 校验时间是否有效
+  const arr = 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('校验成功!')
+    }
+  } 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))) {
+      message.error('请检查输入格式是否正确!!!')
+      return
+    } else {
+      message.success('校验成功!')
+    }
+  }
+}
 </script>
 
 <style lang="scss" scoped></style>
diff --git a/src/views/Clue/Order/Comp/Reback.vue b/src/views/Clue/Order/Comp/Reback.vue
index aa4d9b1..267f6af 100644
--- a/src/views/Clue/Order/Comp/Reback.vue
+++ b/src/views/Clue/Order/Comp/Reback.vue
@@ -192,6 +192,7 @@
       <el-form-item>
         <el-button @click="handleSearch" v-hasPermi="['clue:order:return-search']">查询</el-button>
         <el-button @click="handleReset" v-hasPermi="['clue:order:return-reset']">重置</el-button>
+        <el-button @click="handleExport" v-hasPermi="['clue:order:return-export']">导出</el-button>
         <el-button @click="batchAudit" v-hasPermi="['clue:order:return-batch-audit']">
           批量审核
         </el-button>
@@ -423,8 +424,10 @@ import DialogFeebackDetail from './DialogFeebackDetail.vue'
 import DialogBatchAudit from './DialogBatchAudit.vue'
 
 import { removeNullField } from '@/utils'
+import download from '@/utils/download'
 import { useAppStore } from '@/store/modules/app'
 import { dateFormatter, formatDate } from '@/utils/formatTime'
+import { ElLoading } from 'element-plus'
 
 const userStore = useUserStore()
 const message = useMessage() // 消息弹窗
@@ -518,6 +521,26 @@ async function getList() {
   }
 }
 
+async function handleExport() {
+  try {
+    ElLoading.service({
+      lock: true,
+      text: '正在导出数据,请稍后...',
+      background: 'rgba(0, 0, 0, 0.7)'
+    })
+    const params = removeNullField(searchForm.value)
+    delete params.pageNo
+    delete params.pageSize
+    const data = await FeebackApi.exportPayment(params)
+    download.excel(data, `汇款记录表${new Date().getTime()}.xls`)
+  } finally {
+    setTimeout(() => {
+      const loadingInstance = ElLoading.service()
+      loadingInstance.close()
+    }, 400)
+  }
+}
+
 const batchIds = ref([])
 function handleSelectionChange(val) {
   batchIds.value = val.map((it) => it.id)