/** * spread 公用函数 * * @author CaiAoLin * @date 2017/7/12 * @version */ /** * 校验数据 * * @param {string} validator * @param {string} value * @return {boolean} */ function checkData(validator, value) { let result = false; switch (validator) { case 'number': let regular = /^\d+(\.\d+)?$/; result = regular.test(value); break; case 'boolean': let booleanValue = [true, false]; result = booleanValue.indexOf(value) >= 0; break; } return result; } /** * 查找指定字段的列index * * @param {object} data * @param {String} field * @return {Number} */ function getFieldColumn(data, field) { let result = -1; if (data.length <= 0) { return result; } for (let tmp in data) { if (data[tmp].field === field) { result = tmp; break; } } return result; } /** * 生成样式 * * @param {object} setting * @return {object} */ function getStyle(setting) { let style = new GC.Spread.Sheets.Style(); style.locked = setting.readOnly === undefined ? true : setting.readOnly; style.hAlign = setting.hAlign === undefined ? GC.Spread.Sheets.HorizontalAlign.center : setting.hAlign; return style; } /** * 根据项目工料机id获取对应的配合比或者机械单价数据 * * @param {Number} projectGLJid * @param {function} callback * @return {void|boolean} */ function getRatioData(projectGLJid, callback) { projectGLJid = parseInt(projectGLJid); if (isNaN(projectGLJid) || projectGLJid <= 0) { callback(null, 'fail'); return false; } $.ajax({ url: '/glj/get-ratio', type: 'post', data: {id: projectGLJid, project_id: 1}, error: function() { callback(null, 'fail'); }, beforeSend: function() { }, success: function(response) { if (response.err === 0) { callback(response, 'success'); } else { callback(null, 'fail'); } } }); }