分成比例页面 支行下拉选,
增加部门选择框:部门名+网点号
This commit is contained in:
parent
1d49ccea4f
commit
0bee6780ea
@ -49,3 +49,11 @@ export function fetchGetDeptSelect() {
|
|||||||
method: 'get'
|
method: 'get'
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
/** 获取部门选择框列表 */
|
||||||
|
export function fetchGetDeptBranchIdSelect() {
|
||||||
|
return request<Api.System.Dept[]>({
|
||||||
|
url: '/system/dept/optionselectBranchId',
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { computed, reactive, watch } from 'vue';
|
import {computed, onMounted, reactive, ref, watch} from 'vue';
|
||||||
import { fetchCreatePercentage, fetchUpdatePercentage } from '@/service/api/business/percentage';
|
import { fetchCreatePercentage, fetchUpdatePercentage } from '@/service/api/business/percentage';
|
||||||
import { useFormRules, useNaiveForm } from '@/hooks/common/form';
|
import { useFormRules, useNaiveForm } from '@/hooks/common/form';
|
||||||
import { $t } from '@/locales';
|
import { $t } from '@/locales';
|
||||||
|
import {fetchGetDeptBranchIdSelect} from "@/service/api/system";
|
||||||
|
|
||||||
defineOptions({
|
defineOptions({
|
||||||
name: 'PercentageOperateDrawer'
|
name: 'PercentageOperateDrawer'
|
||||||
@ -142,19 +143,47 @@ const displayJbPercent = computed({
|
|||||||
set: (val) => {
|
set: (val) => {
|
||||||
model.jbPercent = val ? val / 100 : 0
|
model.jbPercent = val ? val / 100 : 0
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
|
onMounted(() => {
|
||||||
|
getDeptIdOptions()
|
||||||
|
});
|
||||||
|
const deptIdOptions = ref<CommonType.Option<CommonType.IdType>[]>([]);
|
||||||
|
//获取部门列表
|
||||||
|
async function getDeptIdOptions(){
|
||||||
|
|
||||||
|
const { error, data } = await fetchGetDeptBranchIdSelect();
|
||||||
|
if (!error) {
|
||||||
|
deptIdOptions.value = data.map(item => ({
|
||||||
|
label: item.deptName,
|
||||||
|
value: item.deptCategory
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function handleDeptUpdate(value: string, option: CommonType.Option<CommonType.IdType>) {
|
||||||
|
model.branchId = value;
|
||||||
|
model.branchName = option.label;
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<NDrawer v-model:show="visible" :title="title" display-directive="show" :width="800" class="max-w-90%">
|
<NDrawer v-model:show="visible" :title="title" display-directive="show" :width="800" class="max-w-90%">
|
||||||
<NDrawerContent :title="title" :native-scrollbar="false" closable>
|
<NDrawerContent :title="title" :native-scrollbar="false" closable>
|
||||||
<NForm ref="formRef" :model="model" :rules="rules">
|
<NForm ref="formRef" :model="model" :rules="rules">
|
||||||
<NFormItem label="支行代码" path="branchId">
|
|
||||||
<NInput v-model:value="model.branchId" placeholder="请输入支行代码" />
|
|
||||||
</NFormItem>
|
|
||||||
<NFormItem label="支行名称" path="branchName">
|
<NFormItem label="支行名称" path="branchName">
|
||||||
<NInput v-model:value="model.branchName" placeholder="请输入支行名称" />
|
<!-- <NInput v-model:value="model.branchName" placeholder="请输入支行名称" />-->
|
||||||
|
<NSelect
|
||||||
|
v-model:value="model.branchName"
|
||||||
|
filterable
|
||||||
|
placeholder="选择支行"
|
||||||
|
:options="deptIdOptions"
|
||||||
|
clearable
|
||||||
|
@update:value="handleDeptUpdate"
|
||||||
|
/>
|
||||||
</NFormItem>
|
</NFormItem>
|
||||||
|
<NFormItem label="支行代码" path="branchId">
|
||||||
|
<NInput v-model:value="model.branchId" disabled placeholder="请输入支行代码" />
|
||||||
|
</NFormItem>
|
||||||
|
|
||||||
<NFormItem label="营销人员分成比例" path="yxPercent">
|
<NFormItem label="营销人员分成比例" path="yxPercent">
|
||||||
<!-- <NInput v-model:value="model.yxPercent" placeholder="请输入营销人员分成比例" />-->
|
<!-- <NInput v-model:value="model.yxPercent" placeholder="请输入营销人员分成比例" />-->
|
||||||
<NInput-number
|
<NInput-number
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref } from 'vue';
|
import {onMounted, ref} from 'vue';
|
||||||
import { useNaiveForm } from '@/hooks/common/form';
|
import { useNaiveForm } from '@/hooks/common/form';
|
||||||
import { $t } from '@/locales';
|
import { $t } from '@/locales';
|
||||||
|
import {fetchGetDeptBranchIdSelect} from "@/service/api/system";
|
||||||
|
|
||||||
defineOptions({
|
defineOptions({
|
||||||
name: 'PercentageSearch'
|
name: 'PercentageSearch'
|
||||||
@ -30,6 +31,26 @@ async function search() {
|
|||||||
await validate();
|
await validate();
|
||||||
emit('search');
|
emit('search');
|
||||||
}
|
}
|
||||||
|
onMounted(() => {
|
||||||
|
getDeptIdOptions()
|
||||||
|
});
|
||||||
|
const deptIdOptions = ref<CommonType.Option<CommonType.IdType>[]>([]);
|
||||||
|
//获取部门列表
|
||||||
|
async function getDeptIdOptions(){
|
||||||
|
|
||||||
|
const { error, data } = await fetchGetDeptBranchIdSelect();
|
||||||
|
if (!error) {
|
||||||
|
deptIdOptions.value = data.map(item => ({
|
||||||
|
label: item.deptName,
|
||||||
|
value: item.deptCategory
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function handleDeptUpdate(value: string, option: CommonType.Option<CommonType.IdType>) {
|
||||||
|
|
||||||
|
model.value.branchId = value;
|
||||||
|
// model.value.branchName = option.label;
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
@ -38,18 +59,28 @@ async function search() {
|
|||||||
<NCollapseItem :title="$t('common.search')" name="user-search">
|
<NCollapseItem :title="$t('common.search')" name="user-search">
|
||||||
<NForm ref="formRef" :model="model" label-placement="left" :label-width="80">
|
<NForm ref="formRef" :model="model" label-placement="left" :label-width="80">
|
||||||
<NGrid responsive="screen" item-responsive>
|
<NGrid responsive="screen" item-responsive>
|
||||||
|
<NFormItemGi span="24 s:12 m:6" label="支行名称" path="branchName" class="pr-24px">
|
||||||
|
<!-- <NInput v-model:value="model.branchName" placeholder="请输入支行名称" />-->
|
||||||
|
<NSelect
|
||||||
|
v-model:value="model.branchName"
|
||||||
|
filterable
|
||||||
|
placeholder="选择支行"
|
||||||
|
:options="deptIdOptions"
|
||||||
|
clearable
|
||||||
|
@update:value="handleDeptUpdate"
|
||||||
|
/>
|
||||||
|
</NFormItemGi>
|
||||||
<NFormItemGi span="24 s:12 m:6" label="支行代码" path="branchId" class="pr-24px">
|
<NFormItemGi span="24 s:12 m:6" label="支行代码" path="branchId" class="pr-24px">
|
||||||
<NInput v-model:value="model.branchId" placeholder="请输入支行代码" />
|
<NInput v-model:value="model.branchId" placeholder="请输入支行代码" />
|
||||||
|
|
||||||
</NFormItemGi>
|
</NFormItemGi>
|
||||||
<NFormItemGi span="24 s:12 m:6" label="支行名称" path="branchName" class="pr-24px">
|
|
||||||
<NInput v-model:value="model.branchName" placeholder="请输入支行名称" />
|
<!-- <NFormItemGi span="24 s:12 m:6" label="营销人员分成比例" path="yxPercent" class="pr-24px">-->
|
||||||
</NFormItemGi>
|
<!-- <NInput v-model:value="model.yxPercent" placeholder="请输入营销人员分成比例" />-->
|
||||||
<NFormItemGi span="24 s:12 m:6" label="营销人员分成比例" path="yxPercent" class="pr-24px">
|
<!-- </NFormItemGi>-->
|
||||||
<NInput v-model:value="model.yxPercent" placeholder="请输入营销人员分成比例" />
|
<!-- <NFormItemGi span="24 s:12 m:6" label="经办人员分成比例" path="jbPercent" class="pr-24px">-->
|
||||||
</NFormItemGi>
|
<!-- <NInput v-model:value="model.jbPercent" placeholder="请输入经办人员分成比例" />-->
|
||||||
<NFormItemGi span="24 s:12 m:6" label="经办人员分成比例" path="jbPercent" class="pr-24px">
|
<!-- </NFormItemGi>-->
|
||||||
<NInput v-model:value="model.jbPercent" placeholder="请输入经办人员分成比例" />
|
|
||||||
</NFormItemGi>
|
|
||||||
<NFormItemGi span="24" class="pr-24px">
|
<NFormItemGi span="24" class="pr-24px">
|
||||||
<NSpace class="w-full" justify="end">
|
<NSpace class="w-full" justify="end">
|
||||||
<NButton @click="reset">
|
<NButton @click="reset">
|
||||||
|
@ -81,9 +81,9 @@ async function search() {
|
|||||||
<!-- <NFormItemGi span="24 s:12 m:6" label="营销人员营销号" path="yxId" class="pr-24px">-->
|
<!-- <NFormItemGi span="24 s:12 m:6" label="营销人员营销号" path="yxId" class="pr-24px">-->
|
||||||
<!-- <NInput v-model:value="model.yxId" placeholder="请输入营销人员营销号" />-->
|
<!-- <NInput v-model:value="model.yxId" placeholder="请输入营销人员营销号" />-->
|
||||||
<!-- </NFormItemGi>-->
|
<!-- </NFormItemGi>-->
|
||||||
<!-- <NFormItemGi span="24 s:12 m:6" label="经办人员营销号" path="jbId" class="pr-24px">-->
|
<NFormItemGi span="24 s:12 m:6" label="营销号" path="jbId" class="pr-24px">
|
||||||
<!-- <NInput v-model:value="model.jbId" placeholder="请输入经办人员营销号" />-->
|
<NInput v-model:value="model.jbId" placeholder="请输入经办人员营销号" />
|
||||||
<!-- </NFormItemGi>-->
|
</NFormItemGi>
|
||||||
<!-- <NFormItemGi span="24 s:12 m:6" label="数据日期" path="date" class="pr-24px">-->
|
<!-- <NFormItemGi span="24 s:12 m:6" label="数据日期" path="date" class="pr-24px">-->
|
||||||
<!-- <NDatePicker-->
|
<!-- <NDatePicker-->
|
||||||
<!-- v-model:formatted-value="model.date"-->
|
<!-- v-model:formatted-value="model.date"-->
|
||||||
|
@ -140,4 +140,15 @@ public class SysDeptController extends BaseController {
|
|||||||
return R.ok(deptService.selectDeptByIds(deptIds == null ? null : List.of(deptIds)));
|
return R.ok(deptService.selectDeptByIds(deptIds == null ? null : List.of(deptIds)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取部门选择框列表
|
||||||
|
*
|
||||||
|
* @param deptIds 部门ID串
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("system:dept:query")
|
||||||
|
@GetMapping("/optionselectBranchId")
|
||||||
|
public R<List<SysDeptVo>> optionselectBranchId(@RequestParam(required = false) Long[] deptIds) {
|
||||||
|
return R.ok(deptService.selectDeptCatByIds(deptIds == null ? null : List.of(deptIds)));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -74,6 +74,13 @@ public interface ISysDeptService {
|
|||||||
*/
|
*/
|
||||||
List<SysDeptVo> selectDeptByIds(List<Long> deptIds);
|
List<SysDeptVo> selectDeptByIds(List<Long> deptIds);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过部门id查网点号
|
||||||
|
* @param deptIds
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<SysDeptVo> selectDeptCatByIds(List<Long> deptIds);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据ID查询所有子部门数(正常状态)
|
* 根据ID查询所有子部门数(正常状态)
|
||||||
*
|
*
|
||||||
|
@ -193,6 +193,14 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
|
|||||||
.in(CollUtil.isNotEmpty(deptIds), SysDept::getDeptId, deptIds));
|
.in(CollUtil.isNotEmpty(deptIds), SysDept::getDeptId, deptIds));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SysDeptVo> selectDeptCatByIds(List<Long> deptIds) {
|
||||||
|
return baseMapper.selectDeptList(new LambdaQueryWrapper<SysDept>()
|
||||||
|
.select(SysDept::getDeptCategory, SysDept::getDeptName, SysDept::getLeader)
|
||||||
|
.eq(SysDept::getStatus, SystemConstants.NORMAL)
|
||||||
|
.in(CollUtil.isNotEmpty(deptIds), SysDept::getDeptId, deptIds));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通过部门ID查询部门名称
|
* 通过部门ID查询部门名称
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user