Переглянути джерело

管理后台业务逻辑变化引起的系列需求优化以及充值模板优化等

pansl 1 рік тому
батько
коміт
0a395d4a27

+ 1 - 1
src/components/admin/table/search.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="w-full min-h-0 pt-5 pl-5 pr-5 bg-white rounded-lg dark:bg-regal-dark">
-    <el-form :inline="true">
+    <el-form :inline="true" @submit.native.prevent>
       <slot name="body" />
       <el-form-item>
         <el-button type="primary" @click="search()">

+ 1 - 1
src/views/appletManage/miniProgramList/form/create.vue

@@ -33,7 +33,7 @@
         </el-form-item>
         <el-form-item label="备注" prop="remark">
           <el-tooltip placement="top">
-            <template #content> 鼠标移到账号上面显示备注内容<br /> </template>
+            <template #content> 鼠标移到小程序名称上面显示备注内容<br /> </template>
             <el-input v-model="formData.remark" placeholder="请填写备注" type="textarea" />
           </el-tooltip>
         </el-form-item>

+ 28 - 46
src/views/appletManage/miniProgramList/form/depotsTransfer.vue

@@ -8,75 +8,64 @@
         <el-form-item label="状态" prop="status">
           <el-switch v-model="form.status" disabled :active-value="1" :inactive-value="0" />
         </el-form-item>
-        <el-form-item label="分配至投手公司" prop="username">
-          <div>
-            <el-transfer v-model="form.depotsValue" :props="{
-              key: 'id',
-              label: 'username',
-            }" :titles="['未分配', '已分配']" filterable :left-default-checked="leftChecked"
-              :right-default-checked="rightChecked" @right-check-change="transferChange($event, 'right')"
-              @left-check-change="transferChange($event, 'left')" :filter-method="filterMethod" filter-placeholder="搜索"
-              :data="dataObj" />
-          </div>
+        <el-form-item label="分配至投放公司" prop="depotsValue" :rules="[{ required: true, message: '请选择' }]">
+          <el-select v-model="form.depotsValue" filterable clearable placeholder="请选择">
+            <el-option v-for="item in dataObj" :key="item.id" :label="item.username" :value="item.id" />
+          </el-select>
         </el-form-item>
       </div>
     </div>
     <div class="flex justify-end">
-      <el-button type="primary" size="default" @click="doSave">确定</el-button>
+      <el-button type="primary" size="default" @click="doSave(ruleForm)">确定</el-button>
     </div>
   </el-form>
 </template>
 
 <script lang="ts" setup>
 import { manageMiniprogramAllocationDetail, manageMiniprogramShow, manageMiniprogramAllocation } from '@/api/applet/index'
-
+import type { FormInstance, FormRules } from 'element-plus'
 const props = defineProps({
   primary: Object,
 });
+const ruleForm = ref<FormInstance>()
 const loading = ref(false)
 const rules = reactive({
   miniProgramIds: [{ required: true, message: '请选择小程序' }],
 });
 const form = ref({})
 const dataObj = ref([])
-const leftChecked = ref([])
-const rightChecked = ref([])
-const channels = ref([])
 const emit = defineEmits(['close']);
 const params = ref({})
-const transferChange = (e, type) => {
-  console.log(e, 'transferChangetransferChange');
-  let arr = JSON.parse(JSON.stringify(dataObj.value))
-  const checkArr = arr.filter(el => e.includes(el.id)).map(el => el.id)
-  channels.value = checkArr
-  params.value = { uids: channels.value.join(','), action: type == 'left' ? 'off' : 'on' }
-  console.log(params.value, channels.value, 'checkArrcheckArr');
-}
-const filterMethod = (query, item) => {
-  return item.username.includes(query)
-}
-const doSave = () => {
-  console.log(form.value.depotsValue, 'channels.value', toRaw(channels.value));
-  if (toRaw(channels.value).length <= 0) {
-    ElMessage.warning('请选择投手公司')
-  } else {
-    manageMiniprogramAllocation(props.primary.id, params.value).then(res => {
-      console.log(res);
-      ElMessage.success(res.message)
-      emit('close', false)
-    })
+const doSave = (formEl: FormInstance | undefined) => {
+  params.value = {
+    action: "on",
+    uids: form.value.depotsValue
   }
-}
+  if (!formEl) return;
+  formEl
+    .validate(valid => {
+      if (valid) {
+        manageMiniprogramAllocation(props.primary.id, params.value).then(res => {
+          console.log(res);
+          ElMessage.success(res.message)
+          emit('close', false)
+        })
+      } else {
+        loading.value = false;
+      }
+    })
+    .then(() => { });
 
 
+}
+
 onMounted(() => {
   manageMiniprogramAllocationDetail(props.primary.id).then(res => {
     console.log(res, 'manageMiniprogramAllocationDetail');
     dataObj.value = res.data.all
     let timer = setTimeout(() => {
       if (res.data.on?.length > 0) {
-        form.value.depotsValue = res.data.on.map(el => el.id)
-        rightChecked.value = res.data.on.map(el => el.id)
+        form.value.depotsValue = res.data.on.map(el => el.id)[0]
         clearTimeout(timer)
       }
     }, 10);
@@ -85,18 +74,11 @@ onMounted(() => {
     console.log(res, 'props.primary');
     form.value = res.data
   })
-
 })
 
 </script>
 
 <style lang="scss" scoped>
-::v-deep(.el-input__wrapper) {
-  display: flex;
-  width: 180px;
-  flex: none;
-}
-
 .wrapper {
   display: flex;
   align-items: center;

+ 106 - 0
src/views/appletManage/miniProgramList/form/depotsTransferAgo.vue

@@ -0,0 +1,106 @@
+<template>
+  <el-form :model="form" label-width="130px" ref="ruleForm" :rules="rules" v-loading="loading" class="pr-4">
+    <div class="flex flex-row justify-between">
+      <div class="w-full">
+        <el-form-item label="小程序名称" prop="email">
+          <el-input v-model="form.name" disabled placeholder="请填写登录账号" />
+        </el-form-item>
+        <el-form-item label="状态" prop="status">
+          <el-switch v-model="form.status" disabled :active-value="1" :inactive-value="0" />
+        </el-form-item>
+        <el-form-item label="分配至优化师" prop="username">
+          <div>
+            <el-transfer v-model="form.depotsValue" :props="{
+              key: 'id',
+              label: 'username',
+            }" :titles="['未分配', '已分配']" filterable :left-default-checked="leftChecked"
+              :right-default-checked="rightChecked" @right-check-change="transferChange($event, 'right')"
+              @left-check-change="transferChange($event, 'left')" :filter-method="filterMethod" filter-placeholder="搜索"
+              :data="dataObj" />
+          </div>
+        </el-form-item>
+      </div>
+    </div>
+    <div class="flex justify-end">
+      <el-button type="primary" size="default" @click="doSave">确定</el-button>
+    </div>
+  </el-form>
+</template>
+
+<script lang="ts" setup>
+import { manageMiniprogramAllocationDetail, manageMiniprogramShow, manageMiniprogramAllocation } from '@/api/applet/index'
+
+const props = defineProps({
+  primary: Object,
+});
+const loading = ref(false)
+const rules = reactive({
+  miniProgramIds: [{ required: true, message: '请选择小程序' }],
+});
+const form = ref({})
+const dataObj = ref([])
+const leftChecked = ref([])
+const rightChecked = ref([])
+const channels = ref([])
+const emit = defineEmits(['close']);
+const params = ref({})
+const transferChange = (e, type) => {
+  console.log(e, 'transferChangetransferChange');
+  let arr = JSON.parse(JSON.stringify(dataObj.value))
+  const checkArr = arr.filter(el => e.includes(el.id)).map(el => el.id)
+  channels.value = checkArr
+  params.value = { uids: channels.value.join(','), action: type == 'left' ? 'off' : 'on' }
+  console.log(params.value, channels.value, 'checkArrcheckArr');
+}
+const filterMethod = (query, item) => {
+  return item.username.includes(query)
+}
+const doSave = () => {
+  console.log(form.value.depotsValue, 'channels.value', toRaw(channels.value));
+  if (toRaw(channels.value).length <= 0) {
+    ElMessage.warning('请选择投手公司')
+  } else {
+    manageMiniprogramAllocation(props.primary.id, params.value).then(res => {
+      console.log(res);
+      ElMessage.success(res.message)
+      emit('close', false)
+    })
+  }
+}
+
+
+onMounted(() => {
+  manageMiniprogramAllocationDetail(props.primary.id).then(res => {
+    console.log(res, 'manageMiniprogramAllocationDetail');
+    dataObj.value = res.data.all
+    let timer = setTimeout(() => {
+      if (res.data.on?.length > 0) {
+        form.value.depotsValue = res.data.on.map(el => el.id)
+        rightChecked.value = res.data.on.map(el => el.id)
+        clearTimeout(timer)
+      }
+    }, 10);
+  });
+  manageMiniprogramShow(props.primary.id).then(res => {
+    console.log(res, 'props.primary');
+    form.value = res.data
+  })
+
+})
+
+</script>
+
+<style lang="scss" scoped>
+::v-deep(.el-input__wrapper) {
+  display: flex;
+  width: 180px;
+  flex: none;
+}
+
+.wrapper {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  width: 100%;
+}
+</style>

+ 62 - 61
src/views/customer/audience/index.vue

@@ -1,83 +1,84 @@
 <template>
-	<div>
-		<Search :search="search" :reset="reset">
-		  <template v-slot:body>
-		    <el-form-item label="用户id" prop="uid">
-		      <el-input v-model="id" name="uid" clearable />
-		    </el-form-item>
-		
-		  </template>
-		</Search>
-		
-		<div class="table-default">
-			<el-table  :data="tableData"  class="mt-3" v-loading="loading">
-			  <el-table-column prop="miniprogram_name" label="小程序" />
-			  <el-table-column prop="uid" label="用户id" />
-			  <el-table-column prop="user_created_at" label="小程序注册时间" />
-			  <el-table-column prop="ranse_start_at" label="最新染色时间" />
-			  <el-table-column prop="charge_coin" label="看币余额" />
-			  <el-table-column prop="reward_coin" label="充送币余额" />
-			  <el-table-column prop="total_charge_count" label="累计充值次数" />
-			  <el-table-column prop="vip_text" label="VIP状态" />
-			  <el-table-column prop="vip_end" label="VIP结束时间" />
-			  <el-table-column label="操作" fixed="right">
-					<template #default="scope">
-						<el-button v-action="'channel.orders.userDetails'" link type="primary" size="small"
-						  @click="openDetail(scope.row)">用户详情</el-button>
-					</template>
-				</el-table-column>
-			</el-table>
-		</div>
-		<Dialog v-model="userDetailVisible" width="50%" title="用户详情" :alignCenter="true" destroy-on-close>
-		  <userDetail @close="closeDetail" :primary="userDetailData"></userDetail>
-		</Dialog>
-	</div>
+  <div>
+    <Search :search="search" :reset="reset">
+      <template v-slot:body>
+        <el-form-item label="用户ID" prop="uid">
+          <el-input v-model="id" name="uid" clearable />
+        </el-form-item>
+      </template>
+    </Search>
+    <div class="table-default">
+      <el-table :data="tableData" class="mt-3" v-loading="loading">
+        <el-table-column prop="miniprogram_name" label="小程序" />
+        <el-table-column prop="uid" label="用户ID" />
+        <el-table-column prop="user_created_at" label="小程序注册时间" />
+        <el-table-column prop="ranse_start_at" label="最新染色时间" />
+        <el-table-column prop="charge_coin" label="看币余额" />
+        <el-table-column prop="reward_coin" label="充送币余额" />
+        <el-table-column prop="total_charge_count" label="累计充值次数" />
+        <el-table-column prop="vip_text" label="VIP状态" />
+        <el-table-column prop="vip_end" label="VIP结束时间" />
+        <el-table-column label="操作" fixed="right">
+          <template #default="scope">
+            <el-button v-action="'channel.orders.userDetails'" link type="primary" size="small"
+              @click="openDetail(scope.row)">用户详情</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+    <Dialog v-model="userDetailVisible" width="50%" title="用户详情" :alignCenter="true" destroy-on-close>
+      <userDetail @close="closeDetail" :primary="userDetailData"></userDetail>
+    </Dialog>
+  </div>
 </template>
 
 <script lang="ts" setup>
-import { computed, onMounted,} from 'vue';
+import { computed, onMounted, } from 'vue';
 import userDetail from './userDetail/index.vue';
 import router from '@/router'
-import {getUserInfo} from "@/api/customer/audience"
+import { getUserInfo } from "@/api/customer/audience"
 import { list } from 'postcss';
 const rolesIdentify = inject('rolesIdentify');
 const loading = ref(false)
-const id = ref('');	
+const id = ref('');
 const tableData = ref([]);
 const userDetailData = ref({})
 const userDetailVisible = ref(false)
-const   search = async ()  => {
-	if(id.value <  1){
-		ElMessage.error("请输入用户id");
-		return false;
-	};
-	loading.value = true;
-	tableData.value = [];
-	if(rolesIdentify.value.includes('optimizer')){
-		let res = 	await getUserInfo({uid:id.value})
-		if(res.data){
-			tableData.value.push(res.data);
-		}
-	}
-	loading.value = false;
-	
+const search = async () => {
+  if (id.value < 1) {
+    ElMessage.error("请输入用户id");
+    return false;
+  };
+  loading.value = true;
+  tableData.value = [];
+  if (rolesIdentify.value.includes('optimizer')) {
+    let res = await getUserInfo({ uid: id.value })
+    if (res.data) {
+      tableData.value.push(res.data);
+    }
+  }
+  loading.value = false;
+
 };
+const reset = () => {
+  id.value = '';
+  tableData.value = [];
+}
 
 
-const closeDetail = () =>{
-	userDetailVisible.value = false;
+const closeDetail = () => {
+  userDetailVisible.value = false;
 }
-const openDetail = ( data: object) =>{
-	userDetailVisible.value = true;
-	userDetailData.value = data;
+const openDetail = (data: object) => {
+  userDetailVisible.value = true;
+  userDetailData.value = data;
 }
-onMounted(() =>{
-	// tableData.push();
-	// console.log(tableData);
+onMounted(() => {
+  // tableData.push();
+  // console.log(tableData);
 })
 </script>
 
 
 
-<style>
-</style>
+<style></style>

+ 6 - 1
src/views/ordersManage/tabs/rechargeList/index.vue

@@ -147,6 +147,7 @@ import { useGetList } from '@/hook/curd/useGetList';
 import { titleObj, titlePtObj } from "./excelTitle"
 import userDetail from './userDetail/index.vue'
 import create from './form/create.vue'
+import Cache from '@/support/cache';
 import {
   channelOrderList,
   channelMiniprogramUseList,
@@ -298,6 +299,9 @@ onMounted(() => {
   // query.value.orderTime = [start_date, end_date];
   // query.value.created_at_start = start_date
   // query.value.created_at_end = end_date
+  if (JSON.parse(Cache.get('nav_data'))?.app.id) {
+    query.value.miniprogram_id = JSON.parse(Cache.get('nav_data'))?.app.id
+  }
   search();
 });
 </script>
@@ -322,4 +326,5 @@ onMounted(() => {
       font-size: 15px;
     }
   }
-}</style>
+}
+</style>

+ 39 - 33
src/views/ordersManage/tabs/refundList/index.vue

@@ -45,24 +45,24 @@
               value-format="YYYY-MM-DD" v-model="query.orderTime" type="daterange" :shortcuts="shortcuts"
               range-separator="To" start-placeholder="开始时间" end-placeholder="结束时间" />
           </el-form-item>
-		  <el-form-item label="支付名称" prop="pay_merchant_name"  v-if="rolesIdentify.includes('administrator')">
-		    <el-input v-model="query.pay_merchant_name" placeholder="请输入支付名称" clearable />
-		  </el-form-item>
-		  <el-form-item label="收款主体" prop="payee_name" v-if="rolesIdentify.includes('administrator')">
-		    <el-input v-model="query.payee_name" placeholder="请输入收款主体" clearable />
-		  </el-form-item>
-		  <el-form-item label="支付商户号" prop="pay_appid"  v-if="rolesIdentify.includes('administrator')">
-		    <el-input v-model="query.pay_appid" placeholder="请输入支付商户号" clearable />
-		  </el-form-item>
+          <el-form-item label="支付名称" prop="pay_merchant_name" v-if="rolesIdentify.includes('administrator')">
+            <el-input v-model="query.pay_merchant_name" placeholder="请输入支付名称" clearable />
+          </el-form-item>
+          <el-form-item label="收款主体" prop="payee_name" v-if="rolesIdentify.includes('administrator')">
+            <el-input v-model="query.payee_name" placeholder="请输入收款主体" clearable />
+          </el-form-item>
+          <el-form-item label="支付商户号" prop="pay_appid" v-if="rolesIdentify.includes('administrator')">
+            <el-input v-model="query.pay_appid" placeholder="请输入支付商户号" clearable />
+          </el-form-item>
         </template>
         <template v-slot:extra_button>
-          <exportExcel v-if="rolesIdentify.includes('administrator')"  api="orderRefund/order_list" sheet_name="订单列表" :title_obj="titlePtObj[query.refund_status]"
-            :extro_params="{ is_all: true, ...query }">
+          <exportExcel v-if="rolesIdentify.includes('administrator')" api="orderRefund/order_list" sheet_name="订单列表"
+            :title_obj="titlePtObj[query.refund_status]" :extro_params="{ is_all: true, ...query }">
+          </exportExcel>
+          <exportExcel v-else="rolesIdentify.includes('administrator')" api="orderRefund/order_list" sheet_name="订单列表"
+            :title_obj="titleObj[query.refund_status]" :extro_params="{ is_all: true, ...query }">
           </exportExcel>
-		  <exportExcel v-else="rolesIdentify.includes('administrator')"  api="orderRefund/order_list" sheet_name="订单列表" :title_obj="titleObj[query.refund_status]"
-		    :extro_params="{ is_all: true, ...query }">
-		  </exportExcel>
-		  
+
         </template>
       </Search>
     </div>
@@ -95,12 +95,15 @@
         </el-table-column>
         <el-table-column prop="pay_name" label="支付方式" show-overflow-tooltip min-width="150px">
         </el-table-column>
-		<el-table-column prop="pay_merchant_name" label="支付名称" show-overflow-tooltip min-width="150px"  v-if="rolesIdentify.includes('administrator')">
-		</el-table-column>
-		<el-table-column prop="payee_name" label="收款主体" show-overflow-tooltip min-width="150px"  v-if="rolesIdentify.includes('administrator')">
-		</el-table-column>
-		<el-table-column prop="pay_appid" label="支付商户号" show-overflow-tooltip min-width="150px"  v-if="rolesIdentify.includes('administrator')">
-		</el-table-column>
+        <el-table-column prop="pay_merchant_name" label="支付名称" show-overflow-tooltip min-width="150px"
+          v-if="rolesIdentify.includes('administrator')">
+        </el-table-column>
+        <el-table-column prop="payee_name" label="收款主体" show-overflow-tooltip min-width="150px"
+          v-if="rolesIdentify.includes('administrator')">
+        </el-table-column>
+        <el-table-column prop="pay_appid" label="支付商户号" show-overflow-tooltip min-width="150px"
+          v-if="rolesIdentify.includes('administrator')">
+        </el-table-column>
         <el-table-column prop="pay_at" label="退款时间" v-if="query.refund_status == 1" show-overflow-tooltip
           min-width="180px">
         </el-table-column>
@@ -117,7 +120,7 @@
             </div>
           </template>
         </el-table-column>
-      <!--  <el-table-column v-if="query.refund_status == 0" prop="pt_verify_status_text" label="平台审核" show-overflow-tooltip
+        <!--  <el-table-column v-if="query.refund_status == 0" prop="pt_verify_status_text" label="平台审核" show-overflow-tooltip
           min-width="150px">
           <template #default="scope">
             <div class="wrapper">
@@ -127,10 +130,10 @@
             </div>
           </template>
         </el-table-column> -->
-    <!--    <el-table-column v-if="query.refund_status == 0" prop="pt_verify_remark" label="平台审核备注" show-overflow-tooltip
+        <!--    <el-table-column v-if="query.refund_status == 0" prop="pt_verify_remark" label="平台审核备注" show-overflow-tooltip
           min-width="150px">
         </el-table-column> -->
-       <!-- <el-table-column v-if="query.refund_status == 0" prop="sh_verify_status_text" label="商户审核" show-overflow-tooltip
+        <!-- <el-table-column v-if="query.refund_status == 0" prop="sh_verify_status_text" label="商户审核" show-overflow-tooltip
           min-width="150px">
           <template #default="scope">
             <div class="wrapper">
@@ -140,25 +143,24 @@
             </div>
           </template>
         </el-table-column> -->
-       <!-- <el-table-column v-if="query.refund_status == 0" prop="sh_verify_remark" label="商户审核备注" show-overflow-tooltip
+        <!-- <el-table-column v-if="query.refund_status == 0" prop="sh_verify_remark" label="商户审核备注" show-overflow-tooltip
           min-width="150px">
         </el-table-column> -->
         <el-table-column v-if="query.refund_status == 0" label="操作" fixed="right">
           <template #default="scope">
-          <!--  <el-button link type="primary" size="small" v-action="'orderRefund.RefundOrder.platformVerify'"
+            <!--  <el-button link type="primary" size="small" v-action="'orderRefund.RefundOrder.platformVerify'"
               @click="openType('noapprovedVisible', scope.row, '平台审核')">平台审核</el-button>
             <br /> -->
-          <!--  <el-button link type="primary" size="small" v-action="'orderRefund.RefundOrder.companyVerify'"
+            <!--  <el-button link type="primary" size="small" v-action="'orderRefund.RefundOrder.companyVerify'"
               @click="openType('noapprovedVisible', scope.row, '商户审核')">商户审核</el-button>
             <br /> -->
-           <!-- <el-button :disabled="!scope.row.can_pay" link type="primary" size="small"
+            <!-- <el-button :disabled="!scope.row.can_pay" link type="primary" size="small"
               v-action="'orderRefund.RefundOrder.payToUser'"
               @click="openType('approvedVisible', scope.row)">确认打款</el-button>
             <br /> -->
-			<el-button link type="primary" size="small"
-			  v-action="'orderRefund.RefundOrder.payToUser'"
-			  @click="openType('approvedVisible', scope.row)">确认打款</el-button>
-			<br />
+            <el-button link type="primary" size="small" v-action="'orderRefund.RefundOrder.payToUser'"
+              @click="openType('approvedVisible', scope.row)">确认打款</el-button>
+            <br />
           </template>
         </el-table-column>
       </el-table>
@@ -192,7 +194,8 @@ import { shortcuts } from '@/utils/shortcuts'
 import { useRouter, useRoute } from 'vue-router'
 import { InfoFilled } from '@element-plus/icons-vue';
 import { useGetList } from '@/hook/curd/useGetList';
-import {titleObj,titlePtObj} from "./excelTitle"
+import { titleObj, titlePtObj } from "./excelTitle"
+import Cache from '@/support/cache';
 import {
   channelOrderList,
   channelMiniprogramUseList,
@@ -361,6 +364,9 @@ onMounted(() => {
   initRemoteOption('channelPromotions')
   init()
   query.value.refund_status = 0;
+  if (JSON.parse(Cache.get('nav_data'))?.app.id) {
+    query.value.miniprogram_id = JSON.parse(Cache.get('nav_data'))?.app.id
+  }
   search();
 });
 </script>

+ 9 - 1
src/views/payBack/juliangAccount/tabs/advertiserList/form/create.vue

@@ -20,6 +20,14 @@
             <el-input style="width:200px;margin:0 5px;" v-model.number="formCallback.max_money">
               <template #append>元</template>
             </el-input>
+            <el-tooltip placement="top">
+              <template #content>
+                <span>判断范围示例: 30&lt;= 回传金额 &gt;= 1000</span> <br />
+              </template>
+              <el-icon>
+                <InfoFilled />
+              </el-icon>
+            </el-tooltip>
           </div>
         </el-form-item>
         <el-form-item class="ml-6" label="" label-width="fit-content">
@@ -76,7 +84,7 @@
 </template>
 
 <script lang="ts" setup>
-import { Close } from '@element-plus/icons-vue';
+import { Close, InfoFilled } from '@element-plus/icons-vue';
 import { FormInstance } from 'element-plus';
 import { callbackJuliangAccountAddAccount } from '@/api/backConfig/index'
 import { useRouter, useRoute } from 'vue-router'

+ 9 - 1
src/views/payBack/juliangAccount/tabs/advertiserList/form/paybackConfig.vue

@@ -14,6 +14,14 @@
             <el-input style="width:200px;margin:0 5px;" v-model.number="formCallback.max_money">
               <template #append>元</template>
             </el-input>
+            <el-tooltip placement="top">
+              <template #content>
+                <span>判断范围示例: 30&lt;= 回传金额 &gt;= 1000</span> <br />
+              </template>
+              <el-icon>
+                <InfoFilled />
+              </el-icon>
+            </el-tooltip>
           </div>
         </el-form-item>
         <el-form-item class="ml-6" label="" label-width="fit-content">
@@ -70,7 +78,7 @@
 </template>
 
 <script lang="ts" setup>
-import { Close } from '@element-plus/icons-vue';
+import { Close, InfoFilled } from '@element-plus/icons-vue';
 import { FormInstance } from 'element-plus';
 import { callbackJuliangAccountUpdateCallbackConfig } from '@/api/backConfig/index';
 import { useRouter, useRoute } from 'vue-router'

+ 8 - 0
src/views/payBack/juliangAccount/tabs/advertiserList/index.vue

@@ -14,6 +14,9 @@
         <el-input placeholder="请输入巨量账户" class="input" icon="search" v-model="query.account_name" clearable></el-input>
       </el-form-item> -->
     </template>
+    <template v-slot:extra_button>
+      <el-button type="warning" @click="toHelp">使用文档</el-button>
+    </template>
   </Search>
   <div class="table-default">
     <div class="pt-5 pl-2" v-action="'callback.JuliangAccount.addAccount'">
@@ -94,6 +97,11 @@ const closeType = (type: string) => {
   search()
 }
 
+
+const toHelp = () => {
+  window.open('https://docs.qq.com/doc/DRGRra3lsclJkYW95')
+}
+
 const switchStatus = (data: object) => {
   console.log({ id: data.id, state: data.state }, 'data', data);
   callbackJuliangAccountTurnCallbackState({ id: data.id, state: data.state }).then(res => {