背景
項目中使用增值稅稅率, 需求原本是統(tǒng)一的指定稅率, 譬如3% 5% 等固定的. 隨著業(yè)務增加, 發(fā)現(xiàn)不同業(yè)務有不同的稅率, 一會加一個, 一下要改很多個界面. 就想著放到統(tǒng)一的地方.
技術(shù)背景
界面主要使用 Ext.NET方式構(gòu)建, 引用js文件方式.
代碼實現(xiàn)
/// 定義一個Combobox 待會要使用的靜態(tài)數(shù)據(jù)源 base.js
var VTaxRatioCMB = Ext.create('Ext.data.Store', {
id: 'VTaxRatioCMB',
fields: ['value', 'name'],
data : [
{"value":0, "name":"0"},
{"value":0.03, "name":"3%"},
{"value":0.05, "name":"5%"},
{"value":0.06,"name":"6%"},
{"value":0.085, "name":"8.5%"},
{"value":0.11, "name":"11%"},
{"value":0.13, "name":"13%"},
{"value":0.17, "name":"17%"}
]
});
//使用到的界面引入上面js文件后, 使用. 測試加載都沒有問題.
<ext:ComboBox ID="TaxRatio" StoreID="VTaxRatioCMB" AutoDataBind="true" ValueField="value" DisplayField="name" runat="server" FieldLabel="稅率/征收率" Editable="false" LabelAlign="Right" AnchorHorizontal="90%" EmptyText="" TabIndex="24" IndicatorText="*" IndicatorCls="Indicator" AllowBlank="false">
<CustomConfig>
<ext:ConfigItem Name="tooltip" Value="稅率/征收率" />
</CustomConfig>
<Listeners>
<Select Handler="
">
</Select>
</Listeners>
</ext:ComboBox>
題外話
界面表單加載 combobox時原本通過如下方式加載, 這種定義store方式 賦值combobox 不影響對應邏輯. 需要注意值類型
var initComboxByValue = function (comb) {
var value = comb.getValue();
// 此處value定義的類型需要為Int類型, 不然無法匹配類型
var record = comb.findRecordByValue(value);
if (record) {
comb.setSelectedItems(record);
} else {
comb.setValue('');
}
}
/處理combox數(shù)據(jù)
var combs = App.ValueAddedTaxPanel.queryBy(function (item) {
return item.getXType() == 'combobox';
});
Ext.Array.each(combs, function (item) {
initComboxByValue(item);
});
最后編輯于 :2017.12.06 15:10:52
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者 【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。 平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。