UNPKG

fastlion-amis

Version:

一种MIS页面生成工具

75 lines (74 loc) 5.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var react_1 = tslib_1.__importDefault(require("react")); var antd_1 = require("antd"); var types_1 = require("../../types"); var tableColumns = [ { title: '标题', key: 'title', type: 'text', width: 70, options: [] }, { title: '打印', key: 'printType', type: 'select', width: 40, options: [ { label: '是', value: 'all' }, { label: '否', value: 'none' }, ] } ]; var TableSetting = function (_a) { var superRole = _a.superRole, detailTableValues = _a.detailTableValues, onTableValuesChange = _a.onTableValuesChange; var handleTableValueChange = function (name, rowKey, columnKey, value) { var values = detailTableValues.slice().map(function (detail) { if (detail.name == name) { return tslib_1.__assign(tslib_1.__assign({}, detail), { columns: detail.columns.map(function (row, index) { var _a; if (index == rowKey) { return tslib_1.__assign(tslib_1.__assign({}, row), (_a = {}, _a[columnKey] = value, _a)); } return row; }) }); } return detail; }); onTableValuesChange(values); }; var handleTableChange = function (name, _a) { var isPrint = _a.isPrint, fontSize = _a.fontSize, fontFamily = _a.fontFamily; var valuse = detailTableValues.slice().map(function (detail) { if (detail.name == name) { return tslib_1.__assign(tslib_1.__assign({}, detail), { isPrint: isPrint !== null && isPrint !== void 0 ? isPrint : detail.isPrint, fontSize: fontSize !== null && fontSize !== void 0 ? fontSize : detail.fontSize, fontFamily: fontFamily !== null && fontFamily !== void 0 ? fontFamily : detail.fontFamily }); } return detail; }); onTableValuesChange(valuse); }; return (react_1.default.createElement("div", { style: { width: '100%', height: '100%', overflowY: 'auto' } }, detailTableValues.map(function (detail) { var id = "report-print-column-config-table_".concat(detail.name); return (react_1.default.createElement("div", { key: detail.name, style: { marginBottom: 8 } }, react_1.default.createElement(antd_1.Checkbox, { disabled: !superRole, checked: detail.isPrint, onChange: function (e) { return handleTableChange(detail.name, { isPrint: e.target.checked }); } }, detail.label || "\u8868\u683C".concat(detail.name)), react_1.default.createElement("div", { style: { marginTop: 3 } }, react_1.default.createElement("span", null, "\u5B57\u4F53\uFF1A"), react_1.default.createElement(antd_1.Select, { disabled: !superRole, style: { width: 100 }, size: 'small', value: detail.fontFamily, options: types_1.fontFamilyOptions, onChange: function (val) { return handleTableChange(detail.name, { fontFamily: val }); } }), react_1.default.createElement("span", null, "\u00A0\u00A0\u5B57\u53F7\uFF1A"), react_1.default.createElement(antd_1.Select, { disabled: !superRole, style: { width: 100 }, size: 'small', value: detail.fontSize, options: types_1.fontSizeOptions, onChange: function (val) { return handleTableChange(detail.name, { fontSize: val }); } })), react_1.default.createElement("table", { style: { marginTop: 8 }, id: id, className: "column-config-table", width: 300, cellSpacing: 0 }, react_1.default.createElement("thead", null, react_1.default.createElement("tr", null, tableColumns.map(function (column) { return (react_1.default.createElement("th", { key: column.key }, column.title)); }))), react_1.default.createElement("tbody", null, detail.columns.map(function (row, index) { return (react_1.default.createElement("tr", { key: index }, tableColumns.map(function (column) { return (react_1.default.createElement("td", { key: column.key }, column.type == 'text' && react_1.default.createElement(react_1.default.Fragment, null, row.title), column.type == 'select' && react_1.default.createElement(antd_1.Select, { disabled: !superRole, size: 'small', showArrow: false, //@ts-ignore value: row[column.key], getPopupContainer: function () { return document.getElementById(id); }, dropdownClassName: 'column-config-table-select-dropdown', onChange: function (value) { handleTableValueChange(detail.name, index, column.key, value); } }, column.options.map(function (option, index) { return (react_1.default.createElement(antd_1.Select.Option, { key: index, value: option.value }, option.label)); })))); }))); }))))); }))); }; exports.default = TableSetting; //# sourceMappingURL=./renderers/Lion/LabelPrint/components/detail/TableSetting.js.map