fastlion-amis
Version:
一种MIS页面生成工具
75 lines (74 loc) • 5.18 kB
JavaScript
"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