UNPKG

kero

Version:
131 lines (119 loc) 3.99 kB
/** * Module : kero dataTable row ref * Author : liuyk(liuyk@yonyou.com) * Date : 2016-08-08 13:54:01 */ import {getJSObject} from 'neoui-sparrow/js/util'; import {date} from 'neoui-sparrow/js/util/dateUtils'; import {_getField} from './row-util'; const ref = function (fieldName) { this.parent.createField(fieldName); if (!this.valueChange[fieldName]) this.valueChange[fieldName] = ko.observable(1); return ko.pureComputed({ read: function () { this.valueChange[fieldName](); this.currentRowChange(); return this.getChildValue(fieldName) //var value = this._getField(fieldName)['value']; //return value; }, write: function (value) { this.setChildValue(fieldName, value); //this.setValue(fieldName, value) }, owner: this }) } const refMeta = function (fieldName, key) { if (!this.metaChange[fieldName + '.' + key]) this.metaChange[fieldName + '.' + key] = ko.observable(1); return ko.pureComputed({ read: function () { this.metaChange[fieldName + '.' + key]() return this.getMeta(fieldName, key) }, write: function (value) { this.setMeta(fieldName, key, value) }, owner: this }) } const refCombo = function (fieldName, datasource) { if (!this.valueChange[fieldName]) this.valueChange[fieldName] = ko.observable(1); return ko.pureComputed({ read: function () { this.valueChange[fieldName](); this.currentRowChange(); var ds = getJSObject(this.parent.parent, datasource) if (_getField(this, fieldName)['value'] === undefined || _getField(this, fieldName)['value'] === "") return ""; var v = _getField(this, fieldName)['value']; var valArr = typeof v === 'string' ? v.split(',') : [v]; var nameArr = [] for (var i = 0, length = ds.length; i < length; i++) { for (var j = 0; j < valArr.length; j++) { var value = ds[i]['pk'] || ds[i]['value'] || ''; if (value == valArr[j]) { nameArr.push(ds[i].name) } } } return nameArr.toString(); }, write: function (value) { this.setValue(fieldName, value) }, owner: this }) } const refDate = function (fieldName, format) { if (!this.valueChange[fieldName]) this.valueChange[fieldName] = ko.observable(1); return ko.pureComputed({ read: function () { this.valueChange[fieldName](); this.currentRowChange(); if (!_getField(this, fieldName)['value']) return ""; var valArr = _getField(this, fieldName)['value'] if (!valArr) return ""; valArr = date.format(valArr, format); //moment(valArr).format(format) return valArr; }, write: function (value) { this.setValue(fieldName, value) }, owner: this }) } // 刘云燕提交 const refEnum = function (fieldName) { this.parent.createField(fieldName); if (!this.valueChange[fieldName]) this.valueChange[fieldName] = ko.observable(1); return ko.pureComputed({ read: function () { this.valueChange[fieldName](); this.currentRowChange(); if (!_getField(this, fieldName)['value']) return ""; var valArr = _getField(this, fieldName)['value'] if (!valArr) return ""; if(valArr == "N") valArr = "否"; else if(valArr == "Y") valArr = "是"; return valArr; }, write: function (value) { this.setValue(fieldName, value) }, owner: this }) } export { ref, refMeta, refCombo, refDate, refEnum }