
"地址" prop="entrepriseAddress"> - <el-cascader
- v-model="formData.entrepriseAddress"
- size="large"
- :options="region"
- />
-
- //导入组件
- import { regionData } from 'element-china-area-data'
需要再项目中安装一下地址组件:

安装命令:npm install element-china-area-data
- const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调
- const submitForm = async () => {
- // 校验表单
- await formRef.value.validate()
- // 提交请求
- formLoading.value = true
- try {
- const data = formData.value as unknown as FleetEntrepriseVO
- if (formType.value === 'create') {
- await FleetEntrepriseApi.createFleetEntreprise(data)
- message.success(t('common.createSuccess'))
- } else {
- await FleetEntrepriseApi.updateFleetEntreprise(data)
- message.success(t('common.updateSuccess'))
- }
- dialogVisible.value = false
- // 发送操作成功的事件
- emit('success')
- } finally {
- formLoading.value = false
- }
- }
相关api接口:
createFleetEntreprise: async (data: FleetEntrepriseVO) => {
return await request.post({ url: `/operate/fleet-entreprise/create`, data })
},
- @Schema(description = "地址", requiredMode = Schema.RequiredMode.REQUIRED)
- @NotEmpty(message = "地址不能为空")
- private List
entrepriseAddress;
需要以list集合的形式保存数据,因为前端传来的地址为数组形式;
而在数据表中是以char的字符类型存储:
/**
* 地址
*/
private String entrepriseAddress;
controller层:
- @PostMapping("/create")
- @Operation(summary = "创建企业")
- @PreAuthorize("@ss.hasPermission('operate:fleet-entreprise:create')")
- public CommonResult
createFleetEntreprise(@Valid @RequestBody FleetEntrepriseSaveReqVO createReqVO) { - return success(fleetEntrepriseService.createFleetEntreprise(createReqVO));
- }
实现层:
- @Override
- public Long createFleetEntreprise(FleetEntrepriseSaveReqVO createReqVO) {
- // 插入
- FleetEntrepriseDO fleetEntreprise = BeanUtils.toBean(createReqVO, FleetEntrepriseDO.class);
- fleetEntrepriseMapper.insert(fleetEntreprise);
- // 返回
- return fleetEntreprise.getId();
- }
mapper层:
- @Mapper
- public interface FleetEntrepriseMapper extends BaseMapperX
{ -
- default PageResult
selectPage(FleetEntreprisePageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX
() - .likeIfPresent(FleetEntrepriseDO::getEntrepriseName, reqVO.getEntrepriseName())
- .eqIfPresent(FleetEntrepriseDO::getEntrepriseVenue, reqVO.getEntrepriseVenue())
- .orderByDesc(FleetEntrepriseDO::getId));
- }
-
- }
前端把地址以数组的形式传到后端,所以要以list集合的形式保存,当用户编辑这条信息时,把值传给前端就会显示对应的地址;