浏览代码

✨ feat:
广告组合: 顶部搜索框输入内容会根据查询按钮进行全局搜索, 不会默认执行搜索;
趋势图第一次获取数据默认会传递当前时间为参数

WanGxC 1 年之前
父节点
当前提交
601fa0899c
共有 3 个文件被更改,包括 30 次插入20 次删除
  1. 13 5
      src/views/adManage/portfolios/api.ts
  2. 12 13
      src/views/adManage/portfolios/crud.tsx
  3. 5 2
      src/views/adManage/portfolios/index.vue

+ 13 - 5
src/views/adManage/portfolios/api.ts

@@ -12,7 +12,7 @@ const {profile} = storeToRefs(shopInfo)
 
 export const apiPrefix = '/api/ad_manage/portfolios/'
 export function GetList(query: UserPageQuery) {
-	const updatedQuery = { ...query, startDate: dateRange.value[0], endDate: dateRange.value[1] };
+	const updatedQuery = { ...query, startDate: dateRange.value[0], endDate: dateRange.value[1], name: query.name }
 
 	return request({
 		url: apiPrefix,
@@ -60,33 +60,41 @@ export function DelObj(id: DelReq) {
 }
 
 export function getCardData(query: UserPageQuery) {
+	const updatedQuery = { ...query, startDate: dateRange.value[0], endDate: dateRange.value[1], name: query.name }
+
 	return request({
 		url: apiPrefix + 'report/amount',
 		method: 'GET',
-		params: query,
+		params: updatedQuery,
 	})
 }
 
 export function getLineData(query: UserPageQuery) {
+	const updatedQuery = { ...query, startDate: dateRange.value[0], endDate: dateRange.value[1], name: query.name }
+
 	return request({
 		url: apiPrefix + 'report/trend/daily',
 		method: 'GET',
-		params: query,
+		params: updatedQuery,
 	})
 }
 
 export function getLineWeekData(query: UserPageQuery) {
+	const updatedQuery = { ...query, startDate: dateRange.value[0], endDate: dateRange.value[1], name: query.name }
+
 	return request({
 		url: apiPrefix + 'report/trend/weekly',
 		method: 'GET',
-		params: query,
+		params: updatedQuery,
 	})
 }
 
 export function getLineMonthData(query: UserPageQuery) {
+	const updatedQuery = { ...query, startDate: dateRange.value[0], endDate: dateRange.value[1], name: query.name }
+
 	return request({
 		url: apiPrefix + 'report/trend/monthly',
 		method: 'GET',
-		params: query,
+		params: updatedQuery,
 	})
 }

+ 12 - 13
src/views/adManage/portfolios/crud.tsx

@@ -3,21 +3,17 @@ import { dict, UserPageQuery, AddReq, DelReq, EditReq, compute, CreateCrudOption
 import { inject, nextTick, ref, watch } from 'vue'
 import { BaseColumn } from '/@/views/adManage/utils/commonTabColumn.js'
 import emitter from '/@/utils/emitter'
-import {storeToRefs} from 'pinia'
-import { usePublicData } from '/@/stores/publicData'
 
 
-const publicData = usePublicData()
-const { dateRange } = storeToRefs(publicData)
 export const createCrudOptions = function ({ crudExpose, context }: CreateCrudOptionsProps): CreateCrudOptionsRet {
-
-	// 通过 update 控制趋势图刷新
-	let update = 0
+  // 通过 update 控制趋势图刷新
+  let update = 0
   const pageRequest = async (query: UserPageQuery) => {
-		update++
-		console.log('update', update)
-		emitter.emit('protfolios-update', update)
-    return await api.GetList(query)
+    update++
+    emitter.emit('protfolios-update', { update, query })
+    const res = await api.GetList(query)
+
+    return res
   }
   const editRequest = async ({ form, row }: EditReq) => {
     form.id = row.id
@@ -128,16 +124,19 @@ export const createCrudOptions = function ({ crudExpose, context }: CreateCrudOp
           },
           search: {
             show: true,
+						autoSearchTrigger: false,
             component: {
               props: {
-                clearable: true,
-              },
+								clearable: true,
+							},
+              placeholder: '请输入广告组合',
             },
           },
           form: {
             rules: [{ required: true, message: '必填项' }],
           },
         },
+
         state: {
           title: '状态',
           type: 'dict-select',

+ 5 - 2
src/views/adManage/portfolios/index.vue

@@ -3,7 +3,7 @@
     <fs-page class="fs-page-custom">
       <fs-crud ref="crudRef" v-bind="crudBinding">
         <template #search-left>
-          <DateRangePicker v-model="dateRange" timezone="America/Los_Angeles"></DateRangePicker>
+          <DateRangePicker v-model="dateRange" timezone="America/Los_Angeles" style="margin-right: 15px;"></DateRangePicker>
         </template>
         <template #header-middle>
           <el-tabs v-model="tabActiveName" class="chart-tabs" type="border-card">
@@ -51,15 +51,18 @@ const { crudBinding, crudRef, crudExpose } = useFs({ createCrudOptions, context:
 
 // 避免时间更改后立马刷新趋势图, 通过监听事件触发
 const updateDateRange = ref([])
+const searchName = ref('')
 emitter.on('protfolios-update', (value: any) => {
-  if (value !== 1) {
+  if (value.update != 1) {
     updateDateRange.value = dateRange.value
+		searchName.value = value.query.name
   }
 })
 
 const queryParams = ref({
   profileId: profile.value.profile_id,
   dateRange: updateDateRange,
+	name: searchName
 })
 
 // 页面打开后获取列表数据