1.界面:
自然人新增页面基础信息界面:UI_ZY_NATURAL_INFO_A;
2.字段的配置:
<1>自然人的户籍地址:
户籍所在省:
其中,数据服务:hdsapiSystemStateResource 对应的url: /system/state 所调的后台方式如下:
@ApiOperation(value="查询州省代码")
@RequestMapping(value = "state",method = RequestMethod.GET)
public List<LabelVO> findState(@RequestParam(required=false) String cntrCd, @RequestParam(required=false) String regionCd){
SysState query = new SysState();
query.setCountryCode(cntrCd);
query.setEconomicRegionCode(regionCd);
return this.convertLabel(addressService.findState(query));
}
参考对象值:cntrCd={{'00086'}}(备注:这个参数的名称要与数据服务:hdsapiSystemStateResource所调的后台方法中的参数名字保持一致),这样就能把参数
'00086',传到后台了;
sql查询逻辑:
[Rnull][admin]2018-07-01 15:57:54,564 DEBUG [sys.repository.dao.SysStateDao.findList] - ==> Preparing:
SELECT
a.state_cd AS "stateCode",
a.economic_region_cd AS "economicRegionCode",
a.cntr_cd AS "countryCode",
a.state_nm AS "stateName",
a.valid_ind AS "validInd",
a.sys_ind AS "sysInd"
FROM
cbay_sys_state a
WHERE
a.cntr_cd = '00086'
sql查询结果:
"stateCode","economicRegionCode","countryCode","stateName","validInd","sysInd"
100000 00001 00086 北京市 1 0
100001 00001 00086 天津市 1 0
100002 00001 00086 河北省 1 0
100003 00002 00086 山西省 1 0
100004 00003 00086 内蒙古自治区 1 0
100005 00001 00086 辽宁省 1 0
100006 00002 00086 吉林省 1 0
100007 00002 00086 黑龙江省 1 0
100008 00001 00086 上海市 1 0
100009 00001 00086 江苏省 1 0
100010 00001 00086 浙江省 1 0
100011 00002 00086 安徽省 1 0
100012 00001 00086 福建省 1 0
100013 00002 00086 江西省 1 0
100014 00001 00086 山东省 1 0
100015 00002 00086 河南省 1 0
100016 00002 00086 湖北省 1 0
100017 00002 00086 湖南省 1 0
100018 00001 00086 广东省 1 0
100019 00003 00086 广西壮族自治区 1 0
100020 00001 00086 海南省 1 0
100021 00003 00086 重庆市 1 0
100022 00003 00086 四川省 1 0
100023 00003 00086 贵州省 1 0
100024 00003 00086 云南省 1 0
100025 00003 00086 西藏自治区 1 0
100026 00003 00086 陕西省 1 0
100027 00003 00086 甘肃省 1 0
100028 00003 00086 青海省 1 0
100029 00003 00086 宁夏回族自治区 1 0
100030 00003 00086 新疆维吾尔自治区 1 0
100031 00001 00086 台湾省 1 0
100032 00001 00086 香港特别行政区 1 0
100033 00001 00086 澳门特别行政区 1 0
查询出来的结果后将(界面组件类型配置为:"下拉选";下拉项显示字段:label;下拉项值字段:value)
change事件处理:udshukouStateonchang;
function udshukouStateonchang(RootFrameService){
var event = arguments[0];
var data = arguments[1];
var scopes = angular.element('form[form-anchor]').scope();
var homestate= scopes.cbayNtCustomerDTO.cbayNtBpBaseDTO.cbayNtBpInfoDTO.homestate;
var mailstate = scopes.cbayNtCustomerDTO.cbayNtBpBaseDTO.cbayNtBpInfoDTO.mailstate;
if(homestate==undefined){
scopes.root.cbayNtCustomerDTO.cbayNtBpBaseDTO.cbayNtBpInfoDTO.mailstate = null ;
return;
}
if(homestate.length>0){
var mailstate = homestate;
scopes.root.cbayNtCustomerDTO.cbayNtBpBaseDTO.cbayNtBpInfoDTO.mailstate=mailstate ;
}
if (mailstate == undefined) {
scopes.root.cbayNtCustomerDTO.cbayNtBpBaseDTO.cbayNtBpInfoDTO.livestate = null;
return;
}
if (mailstate.length > 0) {
var livestate = mailstate;
scopes.root.cbayNtCustomerDTO.cbayNtBpBaseDTO.cbayNtBpInfoDTO.livestate = livestate;
}
}
户籍所在市:
户籍地址:
其中watch事件处理:udshukouAddressonchang
function udshukouAddressonchang(RootFrameService){
var scope = arguments[0];
var newValue = arguments[1];
var oldValue = arguments[2];
if(newValue === oldValue) return;
var config = scope.root.config;
if (config.isEdit && oldValue === undefined) return;
var mailAddress = scope.cbayNtCustomerDTO.cbayNtBpBaseDTO.cbayNtBpInfoDTO.mailAddress;
var homeAddress = scope.cbayNtCustomerDTO.cbayNtBpBaseDTO.cbayNtBpInfoDTO.homeAddress;
if((mailAddress==undefined && homeAddress==undefined) || (mailAddress ==oldValue && homeAddress == oldValue)){
scope.cbayNtCustomerDTO.cbayNtBpBaseDTO.cbayNtBpInfoDTO.mailAddress = newValue;
scope.cbayNtCustomerDTO.cbayNtBpBaseDTO.cbayNtBpInfoDTO.homeAddress = newValue;
return;
}
if(mailAddress == oldValue){
scope.cbayNtCustomerDTO.cbayNtBpBaseDTO.cbayNtBpInfoDTO.mailAddress = newValue;
return;
}
if(homeAddress == oldValue){
scope.cbayNtCustomerDTO.cbayNtBpBaseDTO.cbayNtBpInfoDTO.homeAddress = newValue;
return;
}
if(mailAddress==undefined){
scope.cbayNtCustomerDTO.cbayNtBpBaseDTO.cbayNtBpInfoDTO.mailAddress = newValue;
return;
}
if(homeAddress == undefined){
scope.cbayNtCustomerDTO.cbayNtBpBaseDTO.cbayNtBpInfoDTO.homeAddress = newValue;
return;
}
}
<2>自然人的通讯地址:
通讯地所在省:
(备注:数据服务、参考对象值等同户籍省;事件函数不用配;下拉项显示字段、下拉项值字段不用变)
通讯地所在市:
(备注:数据服务、参考对象值等同户籍市;事件函数不用配;下拉项显示字段、下拉项值字段不用变)
参考对象值:cntrCd={{'00086'}}&stateCd={{cbayNtCustomerDTO.cbayNtBpBaseDTO.cbayNtBpInfoDTO.mailstate}}
通讯地址:
<3>自然人的居住地址:
居住地所在省:
(备注:数据服务、参考对象值等同户籍省;事件函数不用配;下拉项显示字段、下拉项值字段不用变)
居住地所在市:
(备注:数据服务、参考对象值等同户籍市;事件函数不用配;下拉项显示字段、下拉项值字段不用变)
参考对象值:cntrCd={{'00086'}}&stateCd={{cbayNtCustomerDTO.cbayNtBpBaseDTO.cbayNtBpInfoDTO.livestate}}
居住地址:
最后达到的效果如下图所示: