From 9b02716b0428e7621c2fa4568268c549de5135d1 Mon Sep 17 00:00:00 2001 From: "Frank.Qiu" Date: Mon, 16 Apr 2018 20:59:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=8D=E9=80=89=E4=B8=8B=E6=8B=89=E6=A0=91?= =?UTF-8?q?=E5=8A=A0formatter=EF=BC=8C=E4=B8=8B=E6=8B=89=E6=A1=86=E7=9A=84?= =?UTF-8?q?=E9=BB=98=E8=AE=A4formatter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- demo/config.js | 4 +-- dist/bundle.js | 30 ++++++++++++++++--- dist/demo.js | 4 +-- dist/widget.js | 30 ++++++++++++++++--- .../abstract.allvaluechooser.js | 3 +- .../abstract.treevaluechooser.js | 13 ++++++++ .../combo.treevaluechooser.js | 1 + .../valuechooser/abstract.valuechooser.js | 3 +- src/widget/multitree/multi.tree.combo.js | 2 ++ .../multitree/trigger/searcher.multi.tree.js | 8 +++-- 10 files changed, 82 insertions(+), 16 deletions(-) diff --git a/demo/config.js b/demo/config.js index cc3e5dfe71..b08dc04e1d 100644 --- a/demo/config.js +++ b/demo/config.js @@ -11,7 +11,7 @@ Demo.CONSTANTS = { ITEMS: BI.map("柳州市城贸金属材料有限责任公司 柳州市建福房屋租赁有限公司 柳州市迅昌数码办公设备有限责任公司 柳州市河海贸易有限责任公司 柳州市花篮制衣厂 柳州市兴溪物资有限公司 柳州市针织总厂 柳州市衡管物资有限公司 柳州市琪成机电设备有限公司 柳州市松林工程机械修理厂 柳州市积玉贸易有限公司 柳州市福运来贸易有限责任公司 柳州市钢义物资有限公司 柳州市洋力化工有限公司 柳州市悦盛贸易有限公司 柳州市雁城钢管物资有限公司 柳州市恒瑞钢材经营部 柳州市科拓电子有限公司 柳州市九方电子有限公司 柳州市桂龙汽车配件厂 柳州市制鞋工厂 柳州市炜力科贸有限公司 柳州市希翼贸易有限公司 柳州市兆金物资有限公司 柳州市和润电子科技有限责任公司 柳州市汇凯贸易有限公司 柳州市好机汇商贸有限公司 柳州市泛源商贸经营部 柳州市利汇达物资有限公司 广西全民药业有限责任公司 柳州超凡物资贸易有限责任公司 柳州市贵宏物资有限责任公司 柳州昊恒贸易有限责任公司 柳州市浦联物资有限公司 柳州市广通园林绿化工程有限责任公司 柳州市松发物资贸易有限责任公司 柳州市奥士达办公设备有限责任公司 柳州市海泰物资有限公司 柳州市金三环针织厂 柳州市钢贸物资有限公司 柳州市明阳纺织有限公司 柳州市世科科技发展有限公司 柳州市禄羊贸易有限公司 柳州市金兆阳商贸有限公司 柳州市汇昌物资经营部 柳州市林泰金属物资供应站 柳州市自来水管道材料设备公司 柳州市丹柳铝板有限公司 柳州市桂冶物资有限公司 柳州市宸业物资经营部 柳州市耀成贸易有限公司 柳州奥易自动化科技有限公司 柳州市萃丰科技有限责任公司 柳州市华储贸易有限责任公司 柳州市黄颜钢材有限责任公司 柳州市银盛物资有限责任公司 柳州市新仪化玻供应站 柳州市晶凯化工有限公司 广西柳州市柳江包装纸厂 柳州市志新物资有限责任公司 柳州市兆钢物资有限公司 柳州市友方科技发展有限责任公司 柳州市缝纫机台板家具总厂 柳州市晖海数码办公设备有限责任公司 柳州市富兰特服饰有限责任公司 柳州市柳北区富兴物资经营部 柳州市柳锌福利厂 柳州市海泉印刷有限责任公司 柳州市乾亨贸易有限公司 柳州市悦宁物资贸易有限公司 柳州市昊天贸易有限公司 广西惠字钢铁有限公司 柳州市名青物资有限公司 柳州市林郝物资有限公司 柳州市民政服装厂 柳州市多维劳保用品厂 柳州市轻工物资供应公司 柳州市程源物资有限责任公司 柳州市寿丰物资贸易有限责任公司 柳州市凯凡物资有限公司 柳州市利晖物资经营部 柳州市恒茂金属物资供应站 柳州市中储物资经营部 柳州市第二医疗器械厂 柳州市来鑫物资经营部 柳州市钢鑫物资贸易有限责任公司 柳州市双合袜业有限责任公司 柳州市茂松经贸有限责任公司 柳州市行行物资贸易有限公司 柳州市方一物资有限公司 柳州成异钢管销售有限公司 柳州广惠佳电脑有限公司 桂林市圣泽鑫物资有限公司柳州分公司 柳州市砼基建材贸易有限公司 柳州市海燕针织厂 上海浦光仪表厂柳州销售处 柳州市能电工贸有限责任公司 柳州市广贸物资有限公司 柳州市柳北区大昌电工灯饰经营部 柳州市金龙印务有限公司 柳州市奇缘婚典服务有限公司 柳州市盛博物资经营部 柳州市项元钢铁贸易有限公司 柳州市虞美人化妆品经营部 柳州市俊彦鞋厂 柳州市聚源特钢有限公司 柳州市迅龙科贸有限责任公司 柳州市恒飞电子有限责任公司 柳州市蓝正现代办公设备有限责任公司 柳州地区农业生产资料公司 柳州华菱钢管销售有限公司 柳州融通物资有限公司 柳州市可仁广告策划有限责任公司 柳州市鸟鑫物资有限责任公司 柳州市五丰钢材供应站 柳州市金江不锈钢有限公司 柳州市美日物资设备有限责任公司 柳州市鑫东物资贸易有限责任公司 柳州地区日用杂品公司 柳州市华纳物资贸易有限公司 柳州乾利金虹物资贸易有限责任公司 柳州市新迈计算机有限公司 柳州市富丽实业发展公司 柳州市石钢金属材料有限公司 柳州市力志传真机销售有限公司 广西宝森投资有限公司 柳州市嵘基商贸有限公司 柳州市景民商贸有限责任公司 柳州市银桥化玻有限责任公司 柳州市宏文糖烟店 柳州市科苑电脑网络有限公司 柳州市两面针旅游用品厂 柳州市立早室内装璜有限责任公司 柳州地化建材有限公司 柳州市涛达贸易有限公司 柳州市兰丰档案服务中心 柳州市惠贸物资有限责任公司 柳州市立文物资有限责任公司 柳州市致和商贸经营部 柳州市金色阳光信息咨询有限公司 柳州市赛利钢材经销部 柳州市日用化工厂 柳州市昆廷物资有限责任公司 柳州市邦盛贸易有限公司 柳州市济华贸易有限公司 柳州昕威橡塑化工经营部 柳州市联业贸易有限公司 柳州市兰钢贸易有限公司 柳州市子欣科技有限公司 柳州市狄龙机电设备有限公司 柳州市方真物资贸易有限公司 柳州市银鸥废旧回收中心 柳州市冠宝贸易有限公司 柳州市鑫盛德商务咨询有限责任公司 柳州市泰汇银通经贸有限公司 广西瀚维智测科技有限公司 柳州市钓鱼郎制衣有限责任公司 柳州溪水物资有限公司 柳州市融峰物资有限责任公司 广西新地科技有限责任公司 柳州市纺织装饰公司 柳州市粤翔冶金炉料有限公司 柳州市远腾贸易有限公司 柳州市东鸿城市改造有限公司 广西丛欣实业有限公司 柳州市服装厂 柳州市立安联合刀片有限公司 广西国扬投资有限责任公司 柳州市铭泰办公设备公司 柳州市桂钢物资供应站 柳州市昱升物资有限责任公司 柳州市鹰飞灿科贸有限公司 柳州市先导科贸有限公司 柳州市金秋建材物资经营部 柳州市童装厂 柳州市民泽物资有限公司 柳州市恒先物资贸易有限公司 柳州市银夏冷气工程有限责任公司 柳州粮食批发有限责任公司 柳州市金银华窗纱制造有限责任公司 柳州市三方贸易有限公司 柳州市丰涛商贸有限责任公司 柳州华智企业管理咨询有限责任公司 柳州市诚正建筑工程施工图审查有限公司 柳州市今科电讯设备营销中心 柳州市闽德电子有限公司 柳州市鑫虹针织厂 柳州市畅通通讯器材有限责任公司 柳州市正钢物资经营部 柳州市新柳饲料有限责任公司 柳州市黄村油库 柳州市天泰电力装饰工程有限公司 柳州市兆吉物资有限责任公司 柳州市八龙纸制品有限责任公司 柳州市巨佳电脑网络科技有限公司 ".match(/[^\s]+/g), function (i, v) { return { text: v, - value: v, + value: i, title: v }; }), @@ -1513,7 +1513,7 @@ Demo.CONSTANTS = { pId: "0_1", id: "0_1_33", text: "重庆市( 共1个 )", - value: "重庆市", + value: "1xczx", open: true }, {pId: "0_1_33", id: "0_1_33_0", text: "重庆市区", value: "重庆市区", open: true}], diff --git a/dist/bundle.js b/dist/bundle.js index 5e618e8fdc..1d5752358c 100644 --- a/dist/bundle.js +++ b/dist/bundle.js @@ -99478,6 +99478,7 @@ BI.MultiTreeCombo = BI.inherit(BI.Single, { return BI.extend(BI.MultiTreeCombo.superclass._defaultConfig.apply(this, arguments), { baseCls: "bi-multi-tree-combo", itemsCreator: BI.emptyFn, + valueFormatter: BI.emptyFn, height: 25 }); }, @@ -99495,6 +99496,7 @@ BI.MultiTreeCombo = BI.inherit(BI.Single, { this.trigger = BI.createWidget({ type: "bi.multi_select_trigger", height: o.height, + valueFormatter: o.valueFormatter, // adapter: this.popup, masker: { offset: this.constants.offset @@ -99973,6 +99975,9 @@ BI.MultiTreeSearcher = BI.inherit(BI.Widget, { return BI.extend(BI.MultiTreeSearcher.superclass._defaultConfig.apply(this, arguments), { baseCls: "bi-multi-tree-searcher", itemsCreator: BI.emptyFn, + valueFormatter: function (v) { + return v; + }, popup: {}, adapter: null, @@ -100068,6 +100073,7 @@ BI.MultiTreeSearcher = BI.inherit(BI.Widget, { }, setState: function (ob) { + var o = this.options; ob || (ob = {}); ob.value || (ob.value = {}); if (BI.isNumber(ob)) { @@ -100078,7 +100084,7 @@ BI.MultiTreeSearcher = BI.inherit(BI.Widget, { var text = ""; BI.each(ob.value, function (name, children) { var childNodes = getChildrenNode(children); - text += name + (childNodes === "" ? "" : (":" + childNodes)) + "; "; + text += (o.valueFormatter(name + "") || name) + (childNodes === "" ? "" : (":" + childNodes)) + "; "; }); this.editor.setState(text); } @@ -100089,7 +100095,7 @@ BI.MultiTreeSearcher = BI.inherit(BI.Widget, { BI.each(ob, function (name, children) { index++; var childNodes = getChildrenNode(children); - text += name + (childNodes === "" ? "" : (":" + childNodes)) + (index === size ? "" : ","); + text += (o.valueFormatter(name + "") || name) + (childNodes === "" ? "" : (":" + childNodes)) + (index === size ? "" : ","); }); return text; } @@ -109790,7 +109796,8 @@ BI.AbstractAllValueChooser = BI.inherit(BI.Widget, { var text = v; if (BI.isNotNull(this.items)) { BI.some(this.items, function (i, item) { - if (item.value === v) { + // 把value都换成字符串 + if (item.value + "" === v) { text = item.text; return true; } @@ -109979,6 +109986,19 @@ BI.shortcut("bi.all_value_chooser_pane", BI.AllValueChooserPane);BI.AbstractTree }); }, + _valueFormatter: function (v) { + var text = v; + if (BI.isNotNull(this.items)) { + BI.some(this.items, function (i, item) { + if (item.value + "" === v) { + text = item.text; + return true; + } + }); + } + return text; + }, + _initData: function (items) { this.items = items; var nodes = BI.Tree.treeFormat(items); @@ -110652,6 +110672,7 @@ BI.TreeValueChooserCombo = BI.inherit(BI.AbstractTreeValueChooser, { type: "bi.multi_tree_combo", element: this, itemsCreator: BI.bind(this._itemsCreator, this), + valueFormatter: BI.bind(this._valueFormatter, this), width: o.width, height: o.height }); @@ -110752,7 +110773,8 @@ BI.AbstractValueChooser = BI.inherit(BI.Widget, { var text = v; if (BI.isNotNull(this.items)) { BI.some(this.items, function (i, item) { - if (item.value === v) { + // 把value都换成字符串 + if (item.value + "" === v) { text = item.text; return true; } diff --git a/dist/demo.js b/dist/demo.js index 0da4391342..4094b298d4 100644 --- a/dist/demo.js +++ b/dist/demo.js @@ -14736,7 +14736,7 @@ Demo.CONSTANTS = { ITEMS: BI.map("柳州市城贸金属材料有限责任公司 柳州市建福房屋租赁有限公司 柳州市迅昌数码办公设备有限责任公司 柳州市河海贸易有限责任公司 柳州市花篮制衣厂 柳州市兴溪物资有限公司 柳州市针织总厂 柳州市衡管物资有限公司 柳州市琪成机电设备有限公司 柳州市松林工程机械修理厂 柳州市积玉贸易有限公司 柳州市福运来贸易有限责任公司 柳州市钢义物资有限公司 柳州市洋力化工有限公司 柳州市悦盛贸易有限公司 柳州市雁城钢管物资有限公司 柳州市恒瑞钢材经营部 柳州市科拓电子有限公司 柳州市九方电子有限公司 柳州市桂龙汽车配件厂 柳州市制鞋工厂 柳州市炜力科贸有限公司 柳州市希翼贸易有限公司 柳州市兆金物资有限公司 柳州市和润电子科技有限责任公司 柳州市汇凯贸易有限公司 柳州市好机汇商贸有限公司 柳州市泛源商贸经营部 柳州市利汇达物资有限公司 广西全民药业有限责任公司 柳州超凡物资贸易有限责任公司 柳州市贵宏物资有限责任公司 柳州昊恒贸易有限责任公司 柳州市浦联物资有限公司 柳州市广通园林绿化工程有限责任公司 柳州市松发物资贸易有限责任公司 柳州市奥士达办公设备有限责任公司 柳州市海泰物资有限公司 柳州市金三环针织厂 柳州市钢贸物资有限公司 柳州市明阳纺织有限公司 柳州市世科科技发展有限公司 柳州市禄羊贸易有限公司 柳州市金兆阳商贸有限公司 柳州市汇昌物资经营部 柳州市林泰金属物资供应站 柳州市自来水管道材料设备公司 柳州市丹柳铝板有限公司 柳州市桂冶物资有限公司 柳州市宸业物资经营部 柳州市耀成贸易有限公司 柳州奥易自动化科技有限公司 柳州市萃丰科技有限责任公司 柳州市华储贸易有限责任公司 柳州市黄颜钢材有限责任公司 柳州市银盛物资有限责任公司 柳州市新仪化玻供应站 柳州市晶凯化工有限公司 广西柳州市柳江包装纸厂 柳州市志新物资有限责任公司 柳州市兆钢物资有限公司 柳州市友方科技发展有限责任公司 柳州市缝纫机台板家具总厂 柳州市晖海数码办公设备有限责任公司 柳州市富兰特服饰有限责任公司 柳州市柳北区富兴物资经营部 柳州市柳锌福利厂 柳州市海泉印刷有限责任公司 柳州市乾亨贸易有限公司 柳州市悦宁物资贸易有限公司 柳州市昊天贸易有限公司 广西惠字钢铁有限公司 柳州市名青物资有限公司 柳州市林郝物资有限公司 柳州市民政服装厂 柳州市多维劳保用品厂 柳州市轻工物资供应公司 柳州市程源物资有限责任公司 柳州市寿丰物资贸易有限责任公司 柳州市凯凡物资有限公司 柳州市利晖物资经营部 柳州市恒茂金属物资供应站 柳州市中储物资经营部 柳州市第二医疗器械厂 柳州市来鑫物资经营部 柳州市钢鑫物资贸易有限责任公司 柳州市双合袜业有限责任公司 柳州市茂松经贸有限责任公司 柳州市行行物资贸易有限公司 柳州市方一物资有限公司 柳州成异钢管销售有限公司 柳州广惠佳电脑有限公司 桂林市圣泽鑫物资有限公司柳州分公司 柳州市砼基建材贸易有限公司 柳州市海燕针织厂 上海浦光仪表厂柳州销售处 柳州市能电工贸有限责任公司 柳州市广贸物资有限公司 柳州市柳北区大昌电工灯饰经营部 柳州市金龙印务有限公司 柳州市奇缘婚典服务有限公司 柳州市盛博物资经营部 柳州市项元钢铁贸易有限公司 柳州市虞美人化妆品经营部 柳州市俊彦鞋厂 柳州市聚源特钢有限公司 柳州市迅龙科贸有限责任公司 柳州市恒飞电子有限责任公司 柳州市蓝正现代办公设备有限责任公司 柳州地区农业生产资料公司 柳州华菱钢管销售有限公司 柳州融通物资有限公司 柳州市可仁广告策划有限责任公司 柳州市鸟鑫物资有限责任公司 柳州市五丰钢材供应站 柳州市金江不锈钢有限公司 柳州市美日物资设备有限责任公司 柳州市鑫东物资贸易有限责任公司 柳州地区日用杂品公司 柳州市华纳物资贸易有限公司 柳州乾利金虹物资贸易有限责任公司 柳州市新迈计算机有限公司 柳州市富丽实业发展公司 柳州市石钢金属材料有限公司 柳州市力志传真机销售有限公司 广西宝森投资有限公司 柳州市嵘基商贸有限公司 柳州市景民商贸有限责任公司 柳州市银桥化玻有限责任公司 柳州市宏文糖烟店 柳州市科苑电脑网络有限公司 柳州市两面针旅游用品厂 柳州市立早室内装璜有限责任公司 柳州地化建材有限公司 柳州市涛达贸易有限公司 柳州市兰丰档案服务中心 柳州市惠贸物资有限责任公司 柳州市立文物资有限责任公司 柳州市致和商贸经营部 柳州市金色阳光信息咨询有限公司 柳州市赛利钢材经销部 柳州市日用化工厂 柳州市昆廷物资有限责任公司 柳州市邦盛贸易有限公司 柳州市济华贸易有限公司 柳州昕威橡塑化工经营部 柳州市联业贸易有限公司 柳州市兰钢贸易有限公司 柳州市子欣科技有限公司 柳州市狄龙机电设备有限公司 柳州市方真物资贸易有限公司 柳州市银鸥废旧回收中心 柳州市冠宝贸易有限公司 柳州市鑫盛德商务咨询有限责任公司 柳州市泰汇银通经贸有限公司 广西瀚维智测科技有限公司 柳州市钓鱼郎制衣有限责任公司 柳州溪水物资有限公司 柳州市融峰物资有限责任公司 广西新地科技有限责任公司 柳州市纺织装饰公司 柳州市粤翔冶金炉料有限公司 柳州市远腾贸易有限公司 柳州市东鸿城市改造有限公司 广西丛欣实业有限公司 柳州市服装厂 柳州市立安联合刀片有限公司 广西国扬投资有限责任公司 柳州市铭泰办公设备公司 柳州市桂钢物资供应站 柳州市昱升物资有限责任公司 柳州市鹰飞灿科贸有限公司 柳州市先导科贸有限公司 柳州市金秋建材物资经营部 柳州市童装厂 柳州市民泽物资有限公司 柳州市恒先物资贸易有限公司 柳州市银夏冷气工程有限责任公司 柳州粮食批发有限责任公司 柳州市金银华窗纱制造有限责任公司 柳州市三方贸易有限公司 柳州市丰涛商贸有限责任公司 柳州华智企业管理咨询有限责任公司 柳州市诚正建筑工程施工图审查有限公司 柳州市今科电讯设备营销中心 柳州市闽德电子有限公司 柳州市鑫虹针织厂 柳州市畅通通讯器材有限责任公司 柳州市正钢物资经营部 柳州市新柳饲料有限责任公司 柳州市黄村油库 柳州市天泰电力装饰工程有限公司 柳州市兆吉物资有限责任公司 柳州市八龙纸制品有限责任公司 柳州市巨佳电脑网络科技有限公司 ".match(/[^\s]+/g), function (i, v) { return { text: v, - value: v, + value: i, title: v }; }), @@ -16238,7 +16238,7 @@ Demo.CONSTANTS = { pId: "0_1", id: "0_1_33", text: "重庆市( 共1个 )", - value: "重庆市", + value: "1xczx", open: true }, {pId: "0_1_33", id: "0_1_33_0", text: "重庆市区", value: "重庆市区", open: true}], diff --git a/dist/widget.js b/dist/widget.js index c3d9620776..6ac30f5b8a 100644 --- a/dist/widget.js +++ b/dist/widget.js @@ -12843,6 +12843,7 @@ BI.MultiTreeCombo = BI.inherit(BI.Single, { return BI.extend(BI.MultiTreeCombo.superclass._defaultConfig.apply(this, arguments), { baseCls: "bi-multi-tree-combo", itemsCreator: BI.emptyFn, + valueFormatter: BI.emptyFn, height: 25 }); }, @@ -12860,6 +12861,7 @@ BI.MultiTreeCombo = BI.inherit(BI.Single, { this.trigger = BI.createWidget({ type: "bi.multi_select_trigger", height: o.height, + valueFormatter: o.valueFormatter, // adapter: this.popup, masker: { offset: this.constants.offset @@ -13338,6 +13340,9 @@ BI.MultiTreeSearcher = BI.inherit(BI.Widget, { return BI.extend(BI.MultiTreeSearcher.superclass._defaultConfig.apply(this, arguments), { baseCls: "bi-multi-tree-searcher", itemsCreator: BI.emptyFn, + valueFormatter: function (v) { + return v; + }, popup: {}, adapter: null, @@ -13433,6 +13438,7 @@ BI.MultiTreeSearcher = BI.inherit(BI.Widget, { }, setState: function (ob) { + var o = this.options; ob || (ob = {}); ob.value || (ob.value = {}); if (BI.isNumber(ob)) { @@ -13443,7 +13449,7 @@ BI.MultiTreeSearcher = BI.inherit(BI.Widget, { var text = ""; BI.each(ob.value, function (name, children) { var childNodes = getChildrenNode(children); - text += name + (childNodes === "" ? "" : (":" + childNodes)) + "; "; + text += (o.valueFormatter(name + "") || name) + (childNodes === "" ? "" : (":" + childNodes)) + "; "; }); this.editor.setState(text); } @@ -13454,7 +13460,7 @@ BI.MultiTreeSearcher = BI.inherit(BI.Widget, { BI.each(ob, function (name, children) { index++; var childNodes = getChildrenNode(children); - text += name + (childNodes === "" ? "" : (":" + childNodes)) + (index === size ? "" : ","); + text += (o.valueFormatter(name + "") || name) + (childNodes === "" ? "" : (":" + childNodes)) + (index === size ? "" : ","); }); return text; } @@ -23155,7 +23161,8 @@ BI.AbstractAllValueChooser = BI.inherit(BI.Widget, { var text = v; if (BI.isNotNull(this.items)) { BI.some(this.items, function (i, item) { - if (item.value === v) { + // 把value都换成字符串 + if (item.value + "" === v) { text = item.text; return true; } @@ -23344,6 +23351,19 @@ BI.shortcut("bi.all_value_chooser_pane", BI.AllValueChooserPane);BI.AbstractTree }); }, + _valueFormatter: function (v) { + var text = v; + if (BI.isNotNull(this.items)) { + BI.some(this.items, function (i, item) { + if (item.value + "" === v) { + text = item.text; + return true; + } + }); + } + return text; + }, + _initData: function (items) { this.items = items; var nodes = BI.Tree.treeFormat(items); @@ -24017,6 +24037,7 @@ BI.TreeValueChooserCombo = BI.inherit(BI.AbstractTreeValueChooser, { type: "bi.multi_tree_combo", element: this, itemsCreator: BI.bind(this._itemsCreator, this), + valueFormatter: BI.bind(this._valueFormatter, this), width: o.width, height: o.height }); @@ -24117,7 +24138,8 @@ BI.AbstractValueChooser = BI.inherit(BI.Widget, { var text = v; if (BI.isNotNull(this.items)) { BI.some(this.items, function (i, item) { - if (item.value === v) { + // 把value都换成字符串 + if (item.value + "" === v) { text = item.text; return true; } diff --git a/src/component/allvaluechooser/abstract.allvaluechooser.js b/src/component/allvaluechooser/abstract.allvaluechooser.js index 782caa93f4..8f5e3a8f3a 100644 --- a/src/component/allvaluechooser/abstract.allvaluechooser.js +++ b/src/component/allvaluechooser/abstract.allvaluechooser.js @@ -26,7 +26,8 @@ BI.AbstractAllValueChooser = BI.inherit(BI.Widget, { var text = v; if (BI.isNotNull(this.items)) { BI.some(this.items, function (i, item) { - if (item.value === v) { + // 把value都换成字符串 + if (item.value + "" === v) { text = item.text; return true; } diff --git a/src/component/treevaluechooser/abstract.treevaluechooser.js b/src/component/treevaluechooser/abstract.treevaluechooser.js index b892d19fd9..da4c738edd 100644 --- a/src/component/treevaluechooser/abstract.treevaluechooser.js +++ b/src/component/treevaluechooser/abstract.treevaluechooser.js @@ -11,6 +11,19 @@ BI.AbstractTreeValueChooser = BI.inherit(BI.Widget, { }); }, + _valueFormatter: function (v) { + var text = v; + if (BI.isNotNull(this.items)) { + BI.some(this.items, function (i, item) { + if (item.value + "" === v) { + text = item.text; + return true; + } + }); + } + return text; + }, + _initData: function (items) { this.items = items; var nodes = BI.Tree.treeFormat(items); diff --git a/src/component/treevaluechooser/combo.treevaluechooser.js b/src/component/treevaluechooser/combo.treevaluechooser.js index 025094fa3b..4831945c0f 100644 --- a/src/component/treevaluechooser/combo.treevaluechooser.js +++ b/src/component/treevaluechooser/combo.treevaluechooser.js @@ -27,6 +27,7 @@ BI.TreeValueChooserCombo = BI.inherit(BI.AbstractTreeValueChooser, { type: "bi.multi_tree_combo", element: this, itemsCreator: BI.bind(this._itemsCreator, this), + valueFormatter: BI.bind(this._valueFormatter, this), width: o.width, height: o.height }); diff --git a/src/component/valuechooser/abstract.valuechooser.js b/src/component/valuechooser/abstract.valuechooser.js index 0d1ce422a9..128ae49565 100644 --- a/src/component/valuechooser/abstract.valuechooser.js +++ b/src/component/valuechooser/abstract.valuechooser.js @@ -24,7 +24,8 @@ BI.AbstractValueChooser = BI.inherit(BI.Widget, { var text = v; if (BI.isNotNull(this.items)) { BI.some(this.items, function (i, item) { - if (item.value === v) { + // 把value都换成字符串 + if (item.value + "" === v) { text = item.text; return true; } diff --git a/src/widget/multitree/multi.tree.combo.js b/src/widget/multitree/multi.tree.combo.js index 23db361dad..78427303f0 100644 --- a/src/widget/multitree/multi.tree.combo.js +++ b/src/widget/multitree/multi.tree.combo.js @@ -19,6 +19,7 @@ BI.MultiTreeCombo = BI.inherit(BI.Single, { return BI.extend(BI.MultiTreeCombo.superclass._defaultConfig.apply(this, arguments), { baseCls: "bi-multi-tree-combo", itemsCreator: BI.emptyFn, + valueFormatter: BI.emptyFn, height: 25 }); }, @@ -36,6 +37,7 @@ BI.MultiTreeCombo = BI.inherit(BI.Single, { this.trigger = BI.createWidget({ type: "bi.multi_select_trigger", height: o.height, + valueFormatter: o.valueFormatter, // adapter: this.popup, masker: { offset: this.constants.offset diff --git a/src/widget/multitree/trigger/searcher.multi.tree.js b/src/widget/multitree/trigger/searcher.multi.tree.js index 12db605f2c..12200f5654 100644 --- a/src/widget/multitree/trigger/searcher.multi.tree.js +++ b/src/widget/multitree/trigger/searcher.multi.tree.js @@ -10,6 +10,9 @@ BI.MultiTreeSearcher = BI.inherit(BI.Widget, { return BI.extend(BI.MultiTreeSearcher.superclass._defaultConfig.apply(this, arguments), { baseCls: "bi-multi-tree-searcher", itemsCreator: BI.emptyFn, + valueFormatter: function (v) { + return v; + }, popup: {}, adapter: null, @@ -105,6 +108,7 @@ BI.MultiTreeSearcher = BI.inherit(BI.Widget, { }, setState: function (ob) { + var o = this.options; ob || (ob = {}); ob.value || (ob.value = {}); if (BI.isNumber(ob)) { @@ -115,7 +119,7 @@ BI.MultiTreeSearcher = BI.inherit(BI.Widget, { var text = ""; BI.each(ob.value, function (name, children) { var childNodes = getChildrenNode(children); - text += name + (childNodes === "" ? "" : (":" + childNodes)) + "; "; + text += (o.valueFormatter(name + "") || name) + (childNodes === "" ? "" : (":" + childNodes)) + "; "; }); this.editor.setState(text); } @@ -126,7 +130,7 @@ BI.MultiTreeSearcher = BI.inherit(BI.Widget, { BI.each(ob, function (name, children) { index++; var childNodes = getChildrenNode(children); - text += name + (childNodes === "" ? "" : (":" + childNodes)) + (index === size ? "" : ","); + text += (o.valueFormatter(name + "") || name) + (childNodes === "" ? "" : (":" + childNodes)) + (index === size ? "" : ","); }); return text; }