询价项目记录

一、 根据供应商与物料分类关联表 查找供应商选择的分类返回前端

        List<TenderSupplierBasicCategory> tenderSupplierBasicCategories = tenderSupplierBasicCategoryMapper.selectList(
            new LambdaQueryWrapper<TenderSupplierBasicCategory>()
                .eq(TenderSupplierBasicCategory::getSupplierBasicId, supplierId)
        );
        if(tenderSupplierBasicCategories != null && !tenderSupplierBasicCategories.isEmpty()){
            //  根据物料分组集合 拼接物料分类名称
            List<TenderMaterialCategory> tenderMaterialCategories = tenderMaterialCategoryMapper.selectList(
                new LambdaQueryWrapper<TenderMaterialCategory>()
                    .in(TenderMaterialCategory::getMaterialCategoryId, tenderSupplierBasicCategories.stream()
                        .map(TenderSupplierBasicCategory::getCategoryId)
                        .collect(Collectors.toList()))
            );
           // 获取tenderMaterialCategories中  materialCategoryName 属性拼接
            String materialCategoryNames = tenderMaterialCategories.stream()
                .map(TenderMaterialCategory::getMaterialCategoryName)
                .collect(Collectors.joining(","));
            // 设置到vo对象中
            vo.setMaterialCategoryNames(materialCategoryNames);

        }

二、前端控制需求公司为单选, 同时后端接收到的参数 为数组

  1. 添加了 handleDeptChange 函数,当用户选择一个部门时,它会将单个值包装成数组存储在 formData.value.deptIds 中
  1. 在 TreeSelect 组件上添加了 @change="handleDeptChange" 事件处理器

这样修改后:

  • 用户界面上只能选择一个部门(因为 TreeSelect 设置了 :multiple="false")
  • 但在向后端提交数据时,选择的单个部门 ID 会被包装成数组形式传递
  • 如果用户清除选择,则会传递空数组
       <Col span="6">
              <FormItem
                label="需求单位"
                v-bind="validateInfos.deptIds"
                class="form-item"
              >
                <TreeSelect
                  v-model:value="formData.deptIds"
                  :tree-data="deptTreeData"
                  :placeholder="$t('ui.formRules.selectRequired')"
                  :get-popup-container="getPopupContainer"
                  tree-default-expand-all
                  :multiple="false"
                  :field-names="{
                    children: 'children',
                    label: 'deptName',
                    value: 'deptId',
                  }"
                  style="width: 100%"
                  allow-clear
                  @change="handleDeptChange"
                />
              </FormItem>
            </Col>
// 添加处理部门选择变化的函数
function handleDeptChange(value: number | undefined) {
  // 如果选择了值,将单个值包装为数组传给后端
  formData.value.deptIds = value ? [value] : [];
}

三、自定义字典翻译实现

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值