修改营销界面搜索框

数据按业务日期倒序
This commit is contained in:
SGK\17962 2025-09-24 16:29:00 +08:00
parent 99568320f1
commit a42d08f6d8
3 changed files with 58 additions and 21 deletions

View File

@ -3,6 +3,8 @@ import { ref } from 'vue';
import { useNaiveForm } from '@/hooks/common/form';
import { $t } from '@/locales';
import {useDict} from "@/hooks/business/dict";
import {fetchGetDeptTree} from "@/service/api/system";
import {useLoading} from "~/packages/hooks";
defineOptions({
name: 'MarketSearch'
@ -33,9 +35,29 @@ const {options: mpsCheckStatusOptions} = useDict('mps_check_status');
const model = defineModel<Api.Mps.MarketSearchParams>('model', { required: true });
const {loading: deptLoading ,startLoading: startDeptLoading, endLoading: endDeptLoading } = useLoading();
const deptData = ref<Api.Common.CommonTreeRecord>([]);
async function getDeptData() {
startDeptLoading();
const { data: tree, error } = await fetchGetDeptTree();
if (!error) {
deptData.value = tree;
}
endDeptLoading();
}
getDeptData();
const dateRangeCreateTime = ref<[string, string] | null>(null);
function onDateRangeCreateTimeUpdate(value: [string, string] | null) {
if (value?.length) {
model.value.params!.beginTime = `${value[0]} 00:00:00`;
model.value.params!.endTime = `${value[1]} 23:59:59`;
}
}
async function reset() {
Object.assign(model.value.params!, {});
dateRangeCreateTime.value = null;
await restoreValidation();
emit('reset');
}
@ -52,7 +74,7 @@ async function search() {
<NCollapseItem :title="$t('common.search')" name="user-search">
<NForm ref="formRef" :model="model" label-placement="left" :label-width="80">
<NGrid responsive="screen" item-responsive>
<NFormItemGi span="24" label="业务类型" path="subcategoryName" class="pr-24px">
<NFormItemGi span="24 s:12 m:6" label="业务类型" path="subcategoryName" class="pr-24px">
<NSelect
v-model:value="model.subcategoryId"
filterable
@ -64,26 +86,38 @@ async function search() {
<!-- <NFormItemGi span="24 s:12 m:6" label="营销人员名称" path="yxName" class="pr-24px">-->
<!-- <NInput v-model:value="model.yxName" placeholder="请输入营销人员名称" />-->
<!-- </NFormItemGi>-->
<!-- <NFormItemGi span="24 s:12 m:6" label="经办人员名称" path="jbName" class="pr-24px">-->
<!-- <NInput v-model:value="model.jbName" placeholder="请输入经办人员名称" />-->
<!-- </NFormItemGi>-->
<NFormItemGi span="24 s:12 m:6" label="经办人员名称" path="jbName" class="pr-24px">
<NInput v-model:value="model.jbName" placeholder="请输入经办人员名称" />
</NFormItemGi>
<!-- <NFormItemGi span="24 s:12 m:6" label="营销人员营销号" path="yxId" class="pr-24px">-->
<!-- <NInput v-model:value="model.yxId" placeholder="请输入营销人员营销号" />-->
<!-- </NFormItemGi>-->
<!-- <NFormItemGi span="24 s:12 m:6" label="经办人员营销号" path="jbId" class="pr-24px">-->
<!-- <NInput v-model:value="model.jbId" placeholder="请输入经办人员营销号" />-->
<!-- </NFormItemGi>-->
<NFormItemGi span="24 s:12 m:6" label="数据日期" path="date" class="pr-24px">
<NDatePicker
v-model:formatted-value="model.date"
type="date"
value-format="yyyy-MM-dd"
<NFormItemGi span="24 s:12 m:6" label="经办人员营销号" path="jbId" class="pr-24px">
<NInput v-model:value="model.jbId" placeholder="请输入经办人员营销号" />
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" label="部门名称" path="deptName" class="pr-24px">
<NTreeSelect
v-model:value="model.deptId"
:loading="deptLoading"
clearable
:options="deptData as []"
label-field="label"
key-field="id"
:default-expanded-keys="deptData?.length ? [deptData[0].id] : []"
placeholder="请选择部门名称"
/>
</NFormItemGi>
<NFormItemGi span="24 s:12 m:12" label="业务日期" path="date" class="pr-24px">
<NDatePicker
v-model:formatted-value="dateRangeCreateTime"
update-value-on-close
class="w-full"
type="daterange"
value-format="yyyy-MM-dd"
clearable
@update:formatted-value="onDateRangeCreateTimeUpdate"
/>
</NFormItemGi>
<!-- <NFormItemGi span="24 s:12 m:6" label="部门名称" path="deptName" class="pr-24px">-->
<!-- <NInput v-model:value="model.deptName" placeholder="请输入部门名称" />-->
<!-- </NFormItemGi>-->
<!-- <NFormItemGi span="24 s:12 m:6" label="部门id" path="deptId" class="pr-24px">-->
<!-- <NInput v-model:value="model.deptId" placeholder="请输入部门id" />-->
<!-- </NFormItemGi>-->
@ -98,9 +132,9 @@ async function search() {
<!-- <NFormItemGi span="24 s:12 m:6" label="客户身份证号" path="custId" class="pr-24px">-->
<!-- <NInput v-model:value="model.custId" placeholder="请输入客户身份证号" />-->
<!-- </NFormItemGi>-->
<NFormItemGi span="24 s:12 m:6" label="客户姓名" path="custName" class="pr-24px">
<NInput v-model:value="model.custName" placeholder="请输入客户姓名" />
</NFormItemGi>
<!-- <NFormItemGi span="24 s:12 m:6" label="客户姓名" path="custName" class="pr-24px">-->
<!-- <NInput v-model:value="model.custName" placeholder="请输入客户姓名" />-->
<!-- </NFormItemGi>-->
<!-- <NFormItemGi span="24 s:12 m:6" label="客户账号/卡号" path="custAcctNo" class="pr-24px">-->
<!-- <NInput v-model:value="model.custAcctNo" placeholder="请输入客户账号/卡号" />-->
<!-- </NFormItemGi>-->

View File

@ -220,7 +220,7 @@ async function getoperatorIdOptions() {
getoperatorIdOptions();
const deptData = ref<Api.Common.CommonTreeRecord>([]);
async function getTreeData() {
async function getDeptData() {
startDeptLoading();
const { data: tree, error } = await fetchGetDeptTree();
if (!error) {
@ -229,7 +229,7 @@ async function getTreeData() {
endDeptLoading();
}
getTreeData();
getDeptData();
const { drawerVisible, operateType, editingData, handleAdd, handleEdit, checkedRowKeys, onBatchDeleted, onDeleted } =
useTableOperate(data, getData);

View File

@ -22,6 +22,7 @@ import org.dromara.mps.domain.vo.MpsMagneticcardVo;
import org.dromara.mps.domain.vo.MpsTrafficVo;
import org.dromara.mps.mapper.MpsMagneticcardMapper;
import org.dromara.mps.mapper.MpsTrafficMapper;
import org.dromara.system.domain.SysDeptTransfer;
import org.springframework.stereotype.Service;
import org.dromara.mps.domain.bo.MpsMarketBo;
import org.dromara.mps.domain.vo.MpsMarketVo;
@ -137,7 +138,6 @@ public class MpsMarketServiceImpl implements IMpsMarketService {
private LambdaQueryWrapper<MpsMarket> buildQueryWrapper(MpsMarketBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<MpsMarket> lqw = Wrappers.lambdaQuery();
lqw.orderByAsc(MpsMarket::getDataId);
lqw.eq(StringUtils.isNotBlank(bo.getSubcategoryId()), MpsMarket::getSubcategoryId, bo.getSubcategoryId());
lqw.like(StringUtils.isNotBlank(bo.getSubcategoryName()), MpsMarket::getSubcategoryName, bo.getSubcategoryName());
lqw.like(StringUtils.isNotBlank(bo.getYxName()), MpsMarket::getYxName, bo.getYxName());
@ -164,6 +164,9 @@ public class MpsMarketServiceImpl implements IMpsMarketService {
lqw.eq(StringUtils.isNotBlank(bo.getCheckUser()), MpsMarket::getCheckUser, bo.getCheckUser());
lqw.eq(StringUtils.isNotBlank(bo.getCheckType()), MpsMarket::getCheckType, bo.getCheckType());
lqw.eq(StringUtils.isNotBlank(bo.getCheckMsg()), MpsMarket::getCheckMsg, bo.getCheckMsg());
lqw.between(params.get("beginTime") != null && params.get("endTime") != null,
MpsMarket::getDate, params.get("beginTime"), params.get("endTime"));
lqw.orderByDesc( MpsMarket::getDate);
return lqw;
}