业务字典的使用步骤
程序员文章站
2022-06-21 23:46:21
一:登录前端,创建业务字典 系统管理——>业务字典——>新增业务字典,输入 字典编号:settlementMethod 字典名称:结算方式 字典排序:1 是否封存:否 然后保存 然后右边增加业务字典详情: 字典名称:微信 字典键值:1 字典排序:1 是否封存:否 保存,增加第二个字典详细: 字典名称 ......
一:登录前端,创建业务字典
系统管理——>业务字典——>新增业务字典,输入
字典编号:settlementmethod
字典名称:结算方式
字典排序:1
是否封存:否
然后保存
然后右边增加业务字典详情:
字典名称:微信
字典键值:1
字典排序:1
是否封存:否
保存,增加第二个字典详细:
字典名称:支付宝
字典键值:2
字典排序:2
是否封存:否
然后保存
要使用的是字典编号:settlementmethod和字典键值1和2
二:前端vue页面增加
1:增加模板插槽
<template slot-scope="{row}"
slot="settlementmethod">
<el-tag>{{row.smname}}</el-tag>
</template>
插槽的slotsettlementmethod要对应列中的prop
而row.smname中的smname即为字典返回的字典名称,如:微信
2:配置列
{
label: "结算方式",
type: "select",
dicurl: "/api/blade-system/dict-biz/dictionary?code=settlementmethod",
props: {
label: "dictvalue",
value: "dictkey"
},
datatype: "number",
slot: true,
prop: "settlementmethod",
search: true,
rules: [
{
required: true,
message: "请选择结算方式",
trigger: "blur"
}
]
},
注意业务字典调用api为:/api/blade-system/dict-biz/dictionary?code=settlementmethod
其中的settlementmethod为第一步创建的业务字典编号
字段prop为settlementmethod,对应插槽的 slot
三:后端
1、在vo中增加返回字典值名称的列:smname(第二条第1点中设置的smname)
private string smname;
2、在wrapper中包装vo,根据字典编号来返回字典名称
string dictvalue= dictbizcache.getvalue("settlementmethod",paymentvo.getsettlementmethod());
paymentvo.setsmname(dictvalue);
3、在controller中修改返回的对象为上面包装好的vo,而不是entity
将详情detailapi
public r<paymententity> detail(paymententity payment) {
paymententity detail = paymentservice.getone(condition.getquerywrapper(payment));
return r.data(detail);
}
修改为:
public r<paymentvo> detail(paymententity payment) {
paymententity detail = paymentservice.getone(condition.getquerywrapper(payment));
return r.data(paymentwrapper.build().entityvo(detail));
}
同样的方法,将list也修改一下,注意是pagevo方法:
paymentwrapper.build().pagevo(pages)
注意:datatype: "number",要和数据库字段的类似对应,否则可能显示不正确
推荐阅读