UNPKG

fastlion-amis

Version:

一种MIS页面生成工具

456 lines 50.8 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 icons_1 = require("@ant-design/icons"); var components_1 = require("../../../../../components"); var Button_1 = tslib_1.__importDefault(require("../../../../../components/Button")); var icons_2 = require("../../../../../components/icons"); var types_1 = require("../../types"); var util_1 = require("../../../../../utils/print/util"); var commonTableFunction_1 = require("../../../../../store/utils/commonTableFunction"); var print_1 = require("../../../../../utils/print"); var lodash_1 = require("lodash"); var TableSetting_1 = tslib_1.__importDefault(require("./TableSetting")); var utils_1 = require("./utils"); var FormPrint = /** @class */ (function (_super) { tslib_1.__extends(FormPrint, _super); function FormPrint(props) { var _this = this; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p; _this = _super.call(this, props) || this; var setting = (_a = localStorage.getItem('SF_PrintFormSetting')) !== null && _a !== void 0 ? _a : '{}'; var settingObj = JSON.parse(setting); _this.state = { previewLoading: false, saveLoading: false, btnDisabled: true, showEmpty: true, isDynamicSubTitle: false, dynamicSubTiltes: [], settingValues: { printer: (_b = settingObj.printer) !== null && _b !== void 0 ? _b : props.printers[0], direction: (_c = settingObj.direction) !== null && _c !== void 0 ? _c : 'vertical', content: (_d = settingObj.content) !== null && _d !== void 0 ? _d : 'current', page: (_e = settingObj.page) !== null && _e !== void 0 ? _e : 'A4', width: (_f = settingObj.width) !== null && _f !== void 0 ? _f : 210, height: (_g = settingObj.height) !== null && _g !== void 0 ? _g : 297, top: (_h = settingObj.top) !== null && _h !== void 0 ? _h : 10, bottom: (_j = settingObj.bottom) !== null && _j !== void 0 ? _j : 10, left: (_k = settingObj.left) !== null && _k !== void 0 ? _k : 10, right: (_l = settingObj.right) !== null && _l !== void 0 ? _l : 10, copies: (_m = settingObj.copies) !== null && _m !== void 0 ? _m : 1, duplex: (_o = settingObj.duplex) !== null && _o !== void 0 ? _o : 0 }, optionValues: { showTitle: true, title: '', titleFontSize: 16, titleFontFamily: '宋体', showSubTitle: true, subTitle: [], subTitleFontSize: 13, subTitleFontFamily: '宋体', titleAllPrint: true, subTitleAllPrint: true, showHeaderTitle: true, headerTitle: '', headerFontSize: 16, headerFontFamily: '宋体', showHeaderLine: true, showLogo: true, showFooterTitle: false, footerTitle: '', footerFontSize: 13, footerFontFamily: '宋体', showPrinter: true, showPageNum: true, showDate: true, showFooterLine: true, countAllPage: false, lineWidth: 1, borderWidth: 2, rowPadding: 0, colPadding: 0, contentFontSize: 13, contentFontFamily: '宋体', }, tableValues: (0, lodash_1.flatMap)((_p = props.columns) !== null && _p !== void 0 ? _p : [], function (column) { if (column.type !== 'lion-upload' && column.type != 'operation' && column.type != '__checkme' && column.type != '__pseudoColumn' && column.name) { return tslib_1.__assign(tslib_1.__assign({}, column), { name: column.name, title: (0, commonTableFunction_1.getColumnShowLabel)(column), printType: 'all', width: 20, grouping: 'none', sort: 'none', statistic: 'none', group: column.groupName || column.label }); } return []; }) }; return _this; } FormPrint.prototype.componentDidMount = function () { this.getSetting(); }; FormPrint.prototype.componentWillUnmount = function () { localStorage.setItem('SF_PrintFormSetting', JSON.stringify(this.state.settingValues)); }; FormPrint.prototype.getSetting = function () { return tslib_1.__awaiter(this, void 0, void 0, function () { var _a, env, selectApi, payload, _b, isGlobalSetting_1, optionValues, tableValues_1, top_1, bottom_1, left_1, right_1, _c, isDynamicTitle, _d, isDynamicSubTitle_1, reportTitle, _e, reportSubTitle_1, reportTitleSql, reportSubTitleSql, values_1; var _this = this; return tslib_1.__generator(this, function (_f) { switch (_f.label) { case 0: _a = this.props, env = _a.env, selectApi = _a.selectApi; if (!selectApi) return [3 /*break*/, 2]; return [4 /*yield*/, env.fetcher(selectApi, this.props.data).finally(function () { return _this.setState({ btnDisabled: false }); })]; case 1: payload = _f.sent(); if (payload.ok && payload.data) { _b = payload.data, isGlobalSetting_1 = _b.isGlobalSetting, optionValues = _b.optionValues, tableValues_1 = _b.tableValues, top_1 = _b.top, bottom_1 = _b.bottom, left_1 = _b.left, right_1 = _b.right, _c = _b.isDynamicTitle, isDynamicTitle = _c === void 0 ? false : _c, _d = _b.isDynamicSubTitle, isDynamicSubTitle_1 = _d === void 0 ? false : _d, reportTitle = _b.reportTitle, _e = _b.reportSubTitle, reportSubTitle_1 = _e === void 0 ? [] : _e, reportTitleSql = _b.reportTitleSql, reportSubTitleSql = _b.reportSubTitleSql; this.reportTitleSql = reportTitleSql; this.reportSubTitleSql = reportSubTitleSql; values_1 = tslib_1.__assign({}, (isGlobalSetting_1 ? payload.data : optionValues)); if (isDynamicTitle) { values_1.title = reportTitle; } if (isDynamicSubTitle_1) { values_1.subTitle = reportSubTitle_1.filter(function (val, index) { var _a; return (_a = values_1.subTitle) === null || _a === void 0 ? void 0 : _a.includes(index); }); } this.setState(function (pre) { return { isDynamicSubTitle: !!isDynamicSubTitle_1, dynamicSubTiltes: isDynamicSubTitle_1 ? reportSubTitle_1 : [], settingValues: isGlobalSetting_1 ? tslib_1.__assign(tslib_1.__assign({}, pre.settingValues), { top: top_1 !== null && top_1 !== void 0 ? top_1 : pre.settingValues.top, bottom: bottom_1 !== null && bottom_1 !== void 0 ? bottom_1 : pre.settingValues.bottom, left: left_1 !== null && left_1 !== void 0 ? left_1 : pre.settingValues.left, right: right_1 !== null && right_1 !== void 0 ? right_1 : pre.settingValues.right }) : pre.settingValues, optionValues: tslib_1.__assign(tslib_1.__assign({}, pre.optionValues), values_1), tableValues: Array.isArray(tableValues_1) ? pre.tableValues.map(function (data) { var _a, _b, _c, _d, _e; var column = tableValues_1.find(function (column) { return column.name == data.name; }); if (column) { return tslib_1.__assign(tslib_1.__assign({}, data), { printType: (_a = column.printType) !== null && _a !== void 0 ? _a : data.printType, width: (_b = column.width) !== null && _b !== void 0 ? _b : data.width, grouping: (_c = column.grouping) !== null && _c !== void 0 ? _c : data.grouping, sort: (_d = column.sort) !== null && _d !== void 0 ? _d : data.sort, statistic: (_e = column.statistic) !== null && _e !== void 0 ? _e : data.statistic }); } return data; }) : pre.tableValues }; }); } _f.label = 2; case 2: return [2 /*return*/]; } }); }); }; FormPrint.prototype.saveDefaultSetting = function () { var _a; return tslib_1.__awaiter(this, void 0, void 0, function () { var _b, env, modifyApi, _c, optionValues, tableValues, dynamicSubTiltes, isDynamicSubTitle, subTitle, saveTableValue, data, api; var _this = this; return tslib_1.__generator(this, function (_d) { _b = this.props, env = _b.env, modifyApi = _b.modifyApi; _c = this.state, optionValues = _c.optionValues, tableValues = _c.tableValues, dynamicSubTiltes = _c.dynamicSubTiltes, isDynamicSubTitle = _c.isDynamicSubTitle; subTitle = isDynamicSubTitle ? (_a = optionValues.subTitle) === null || _a === void 0 ? void 0 : _a.map(function (val) { return dynamicSubTiltes.findIndex(function (title) { return title == val; }); }) : optionValues.subTitle; saveTableValue = tableValues.map(function (item) { return { name: item.name, printType: item.printType, width: item.width, grouping: item.grouping, sort: item.sort, statistic: item.statistic }; }); data = { optionValues: tslib_1.__assign(tslib_1.__assign({}, optionValues), { subTitle: subTitle }), tableValues: saveTableValue }; if (modifyApi) { api = tslib_1.__assign(tslib_1.__assign({}, modifyApi), { data: tslib_1.__assign(tslib_1.__assign({}, modifyApi.data), { reportTitleSql: this.reportTitleSql, reportSubTitleSql: this.reportSubTitleSql }) }); this.setState({ saveLoading: true }); env.fetcher(api, data).then(function (payload) { env.notify('success', payload.msg); }).catch(function (err) { env.notify('error', err); }).finally(function () { _this.setState({ saveLoading: false }); }); } return [2 /*return*/]; }); }); }; FormPrint.prototype.deleteDefaultSetting = function () { return tslib_1.__awaiter(this, void 0, void 0, function () { var _a, env, deleteApi; return tslib_1.__generator(this, function (_b) { _a = this.props, env = _a.env, deleteApi = _a.deleteApi; if (deleteApi) { env.fetcher(deleteApi).then(function (payload) { env.notify('success', payload.msg); }).catch(function (err) { env.notify('error', err); }); } return [2 /*return*/]; }); }); }; FormPrint.prototype.getTableData = function () { var _a, _b; return tslib_1.__awaiter(this, void 0, Promise, function () { var _c, env, api, ctx, settingValues, payload, items; return tslib_1.__generator(this, function (_d) { switch (_d.label) { case 0: _c = this.props, env = _c.env, api = _c.api, ctx = _c.ctx; settingValues = this.state.settingValues; if (!(settingValues.content == 'all')) return [3 /*break*/, 5]; if (!this.cacheData) return [3 /*break*/, 1]; return [2 /*return*/, this.cacheData]; case 1: if (!api) return [3 /*break*/, 3]; return [4 /*yield*/, env.fetcher(api, tslib_1.__assign(tslib_1.__assign({}, this.props.query), { pageParam: { "size": "", "index": "", "topN": "" } }))]; case 2: payload = _d.sent(); items = payload.data.items; if (payload.ok && Array.isArray(items)) { this.cacheData = items; return [2 /*return*/, items]; } _d.label = 3; case 3: return [2 /*return*/, []]; case 4: return [3 /*break*/, 6]; case 5: if (settingValues.content == 'current') { return [2 /*return*/, (_a = ctx.items) !== null && _a !== void 0 ? _a : []]; } else if (settingValues.content == 'selected') { return [2 /*return*/, (_b = ctx.selectedItems) !== null && _b !== void 0 ? _b : []]; } _d.label = 6; case 6: return [2 /*return*/, []]; } }); }); }; FormPrint.prototype.handleFormPrint = function (preview) { return tslib_1.__awaiter(this, void 0, void 0, function () { var _a, settingValues, optionValues, tableColumns, columns, hideColums, headRows, template, tableData, taskCount, countOfPage, countOfTask, count, htmls, i, start, end, html; var _this = this; return tslib_1.__generator(this, function (_b) { switch (_b.label) { case 0: this.setState({ previewLoading: true, showEmpty: false }); _a = this.state, settingValues = _a.settingValues, optionValues = _a.optionValues, tableColumns = _a.tableValues; columns = this.props.columns; hideColums = tableColumns.filter(function (item) { return item.printType == 'none'; }).map(function (item) { return item.name; }); headRows = (0, commonTableFunction_1.getHeadRows)(columns.filter(function (column) { var _a; return column.name && column.name != 'operation' && column.type != 'lion-upload' && column.name != 'SF_CHECK' && column.name != 'SF_PSEUDO' && !hideColums.includes((_a = column.name) !== null && _a !== void 0 ? _a : ''); }).map(function (column) { var index = tableColumns.findIndex(function (item) { return item.name == column.name; }); return index > -1 ? tslib_1.__assign(tslib_1.__assign({}, column), { index: index }) : column; }).sort(function (a, b) { return a.index - b.index; })); template = (0, util_1.buildFormTemplate)(settingValues, optionValues); return [4 /*yield*/, this.getTableData()]; case 1: tableData = _b.sent(); taskCount = 6; countOfPage = (0, utils_1.getCountOfPage)(template.table.height, optionValues.contentFontSize, optionValues.rowPadding); countOfTask = countOfPage * taskCount - taskCount - (optionValues.countAllPage ? taskCount : 0); count = Math.ceil(tableData.length / countOfTask); htmls = []; for (i = 0; i < count; i++) { start = i * countOfTask; end = (i + 1) * countOfTask; html = (0, utils_1.createHtml)(tslib_1.__assign(tslib_1.__assign({}, optionValues), { tableWidth: template.table.width }), tableColumns, headRows, tableData, [start, end], i == count - 1); htmls.push(html); } (0, print_1.formPrint)(preview, settingValues, template, htmls, function () { if (!preview) antd_1.message.success('打印任务发送成功'); _this.setState({ previewLoading: false }); }); return [2 /*return*/]; } }); }); }; FormPrint.prototype.render = function () { var _this = this; var _a; var _b = this.props, env = _b.env, cx = _b.classnames, __ = _b.translate, popupContainer = _b.popupContainer, printers = _b.printers, superRole = _b.superRole, onHide = _b.onHide; var _c = this.state, previewLoading = _c.previewLoading, saveLoading = _c.saveLoading, showEmpty = _c.showEmpty, settingValues = _c.settingValues, optionValues = _c.optionValues, tableValues = _c.tableValues, isDynamicSubTitle = _c.isDynamicSubTitle, dynamicSubTiltes = _c.dynamicSubTiltes; return (react_1.default.createElement(react_1.default.Fragment, null, react_1.default.createElement("div", { className: cx('Modal-header') }, react_1.default.createElement("div", { className: cx('Modal-title') }, '报表打印', react_1.default.createElement("a", { "data-tooltip": __('Dialog.close'), onClick: function (e) { return onHide(e); }, className: cx('Modal-close') }, react_1.default.createElement(icons_2.CloseIcon, null)))), react_1.default.createElement("div", { className: cx('Modal-body') }, react_1.default.createElement("div", { className: 'print-form-container' }, react_1.default.createElement("div", { className: 'preview-container' }, react_1.default.createElement(components_1.Spinner, { size: "md", overlay: true, show: previewLoading }), showEmpty && react_1.default.createElement(antd_1.Empty, { description: '\u6682\u65E0\u9884\u89C8\u6548\u679C', className: 'preview-empty' }), react_1.default.createElement("iframe", { id: 'report-preview', width: '100%', height: '100%' })), react_1.default.createElement(antd_1.Tabs, { tabBarStyle: { marginBottom: 8, paddingLeft: 24, paddingRight: 24 }, style: { width: 350 } }, react_1.default.createElement(antd_1.Tabs.TabPane, { key: 1, tab: '\u8BBE\u7F6E' }, react_1.default.createElement("div", { className: "print-setting" }, react_1.default.createElement("div", { className: "print-setting-label" }, "\u6253\u5370\u8BBE\u5907"), react_1.default.createElement("div", { className: "print-setting-content" }, react_1.default.createElement(antd_1.Row, { gutter: 10 }, react_1.default.createElement(antd_1.Col, { span: 12 }, react_1.default.createElement(antd_1.Form.Item, { colon: false, label: __('CRUD.printer') }, react_1.default.createElement(antd_1.Select, { style: { width: 170 }, getPopupContainer: popupContainer, dropdownClassName: 'label-print-selector', value: settingValues.printer, onChange: function (value) { return _this.setState({ settingValues: tslib_1.__assign(tslib_1.__assign({}, settingValues), { printer: value }) }); } }, printers.map(function (item) { return react_1.default.createElement(antd_1.Select.Option, { key: item, value: item }, item); })))), react_1.default.createElement(antd_1.Col, { span: 12 }, react_1.default.createElement(antd_1.Form.Item, { colon: false, label: __('CRUD.pageSize') }, react_1.default.createElement(antd_1.Select, { getPopupContainer: popupContainer, dropdownClassName: 'label-print-selector', value: settingValues.page, onChange: function (value) { return _this.setState({ settingValues: tslib_1.__assign(tslib_1.__assign({}, settingValues), { page: value, width: types_1.sizeOptions[value][0], height: types_1.sizeOptions[value][1] }) }); } }, types_1.pageOptions.map(function (item) { return react_1.default.createElement(antd_1.Select.Option, { key: item.value, value: item.value }, item.label); }))))), react_1.default.createElement(antd_1.Row, { gutter: 10 }, react_1.default.createElement(antd_1.Col, { span: 12 }, react_1.default.createElement(antd_1.Form.Item, { colon: false, label: __('width') }, react_1.default.createElement(antd_1.InputNumber, { style: { width: 170 }, min: 0, max: 1000, value: settingValues.width, onChange: function (value) { return value != null && _this.setState({ settingValues: tslib_1.__assign(tslib_1.__assign({}, settingValues), { width: value }) }); } }))), react_1.default.createElement(antd_1.Col, { span: 12 }, react_1.default.createElement(antd_1.Form.Item, { colon: false, label: __('height') }, react_1.default.createElement(antd_1.InputNumber, { style: { width: 170 }, min: 0, max: 1000, value: settingValues.height, onChange: function (value) { return value != null && _this.setState({ settingValues: tslib_1.__assign(tslib_1.__assign({}, settingValues), { height: value }) }); } }))))), react_1.default.createElement("div", { className: "print-setting-label" }, "\u7EB8\u5F20\u8BBE\u7F6E(\u5355\u4F4D\uFF1Amm)"), react_1.default.createElement("div", { className: "print-setting-content" }, react_1.default.createElement(antd_1.Row, { gutter: 10 }, react_1.default.createElement(antd_1.Col, { span: 12 }, react_1.default.createElement(antd_1.Form.Item, { colon: false, label: __('up') }, react_1.default.createElement(antd_1.InputNumber, { style: { width: 120 }, min: 0, max: 100, value: settingValues.top, onChange: function (value) { return value != null && _this.setState({ settingValues: tslib_1.__assign(tslib_1.__assign({}, settingValues), { top: value }) }); } }))), react_1.default.createElement(antd_1.Col, { span: 12 }, react_1.default.createElement(antd_1.Form.Item, { colon: false, label: __('below') }, react_1.default.createElement(antd_1.InputNumber, { style: { width: 120 }, min: 0, max: 100, value: settingValues.bottom, onChange: function (value) { return value != null && _this.setState({ settingValues: tslib_1.__assign(tslib_1.__assign({}, settingValues), { bottom: value }) }); } })))), react_1.default.createElement(antd_1.Row, { gutter: 10 }, react_1.default.createElement(antd_1.Col, { span: 12 }, react_1.default.createElement(antd_1.Form.Item, { colon: false, label: __('left') }, react_1.default.createElement(antd_1.InputNumber, { style: { width: 120 }, min: 0, max: 100, value: settingValues.left, onChange: function (value) { return value != null && _this.setState({ settingValues: tslib_1.__assign(tslib_1.__assign({}, settingValues), { left: value }) }); } }))), react_1.default.createElement(antd_1.Col, { span: 12 }, react_1.default.createElement(antd_1.Form.Item, { colon: false, label: __('right') }, react_1.default.createElement(antd_1.InputNumber, { style: { width: 120 }, min: 0, max: 100, value: settingValues.right, onChange: function (value) { return value != null && _this.setState({ settingValues: tslib_1.__assign(tslib_1.__assign({}, settingValues), { right: value }) }); } })))), react_1.default.createElement(antd_1.Row, null, react_1.default.createElement(antd_1.Col, { span: 24 }, react_1.default.createElement(antd_1.Form.Item, { colon: false, label: '\u53CC\u9762' }, react_1.default.createElement(antd_1.Select, { style: { width: 160 }, value: settingValues.duplex, options: types_1.duplexPrintOptions, onChange: function (value) { return _this.setState({ settingValues: tslib_1.__assign(tslib_1.__assign({}, settingValues), { duplex: value }) }); } })))), react_1.default.createElement(antd_1.Row, null, react_1.default.createElement(antd_1.Col, { span: 24 }, react_1.default.createElement(antd_1.Form.Item, { colon: false, label: __('direction') }, react_1.default.createElement(antd_1.Radio.Group, { value: settingValues.direction, onChange: function (value) { return _this.setState({ settingValues: tslib_1.__assign(tslib_1.__assign({}, settingValues), { direction: value.target.value }) }); } }, react_1.default.createElement(antd_1.Radio, { value: 'vertical' }, __('vertical')), react_1.default.createElement(antd_1.Radio, { value: 'horizontal' }, __('horizontal'))))))), react_1.default.createElement("div", { className: "print-setting-label" }, "\u6570\u636E\u8303\u56F4"), react_1.default.createElement("div", { className: "print-setting-content" }, react_1.default.createElement(antd_1.Row, null, react_1.default.createElement(antd_1.Col, { span: 24 }, react_1.default.createElement(antd_1.Form.Item, { colon: false, label: __('content') }, react_1.default.createElement(antd_1.Radio.Group, { value: settingValues.content, onChange: function (value) { return _this.setState({ settingValues: tslib_1.__assign(tslib_1.__assign({}, settingValues), { content: value.target.value }) }); } }, react_1.default.createElement(antd_1.Radio, { style: { marginRight: 0 }, value: 'current' }, "\u5F53\u524D\u6570\u636E"), react_1.default.createElement(antd_1.Radio, { style: { marginRight: 0 }, value: 'selected' }, __('selectedData')), react_1.default.createElement(antd_1.Radio, { style: { marginRight: 0 }, value: 'all' }, __('allData')))))), react_1.default.createElement(antd_1.Row, null, react_1.default.createElement(antd_1.Col, { span: 24 }, react_1.default.createElement(antd_1.Form.Item, { colon: false, label: __('CRUD.copies') }, react_1.default.createElement(antd_1.InputNumber, { min: 1, max: 10, value: settingValues.copies, onChange: function (value) { return value != null && _this.setState({ settingValues: tslib_1.__assign(tslib_1.__assign({}, settingValues), { copies: value }) }); } }))))))), react_1.default.createElement(antd_1.Tabs.TabPane, { key: 2, tab: '\u9009\u9879' }, react_1.default.createElement("div", { className: "print-setting" }, react_1.default.createElement("div", { className: "print-setting-label" }, "\u5185\u5BB9\u8BBE\u7F6E"), react_1.default.createElement("div", { className: "print-setting-content" }, react_1.default.createElement(antd_1.Row, { align: "middle" }, react_1.default.createElement(antd_1.Col, { span: 6 }, react_1.default.createElement(antd_1.Checkbox, { disabled: !superRole, checked: optionValues.showTitle, onChange: function (e) { return _this.setState({ optionValues: tslib_1.__assign(tslib_1.__assign({}, optionValues), { showTitle: e.target.checked }) }); } }, "\u6807\u9898")), react_1.default.createElement(antd_1.Col, { span: 16 }, react_1.default.createElement(antd_1.Input, { disabled: !superRole, value: optionValues.title, onChange: function (e) { return _this.setState({ optionValues: tslib_1.__assign(tslib_1.__assign({}, optionValues), { title: e.target.value }) }); }, maxLength: 50, placeholder: __('CRUD.fillIn') })), react_1.default.createElement(antd_1.Col, { span: 2 }, react_1.default.createElement(antd_1.Popover, { trigger: 'click', placement: 'bottom', getPopupContainer: env.getModalContainer, showArrow: false, content: react_1.default.createElement("div", { style: { display: 'flex', flexDirection: 'column' } }, react_1.default.createElement("span", null, "\u5B57\u4F53"), react_1.default.createElement(antd_1.Select, { disabled: !superRole, style: { width: 100 }, value: optionValues.titleFontFamily, options: types_1.fontFamilyOptions, onChange: function (val) { return _this.setState({ optionValues: tslib_1.__assign(tslib_1.__assign({}, optionValues), { titleFontFamily: val }) }); } }), react_1.default.createElement("span", { style: { marginTop: 4 } }, "\u5B57\u53F7"), react_1.default.createElement(antd_1.Select, { disabled: !superRole, style: { width: 100 }, value: optionValues.titleFontSize, options: types_1.fontSizeOptions, onChange: function (val) { return _this.setState({ optionValues: tslib_1.__assign(tslib_1.__assign({}, optionValues), { titleFontSize: val }) }); } })) }, react_1.default.createElement(icons_1.FontColorsOutlined, { style: { fontSize: 20, paddingLeft: 8, paddingTop: 3, color: '#00000065' } })))), react_1.default.createElement(antd_1.Row, { align: "middle" }, react_1.default.createElement(antd_1.Col, { span: 6 }, react_1.default.createElement(antd_1.Checkbox, { disabled: !superRole, checked: optionValues.showSubTitle, onChange: function (e) { return _this.setState({ optionValues: tslib_1.__assign(tslib_1.__assign({}, optionValues), { showSubTitle: e.target.checked }) }); } }, "\u5B50\u6807\u9898")), react_1.default.createElement(antd_1.Col, { span: 16 }, isDynamicSubTitle ? react_1.default.createElement(antd_1.Select, { disabled: !superRole, style: { width: '100%' }, getPopupContainer: popupContainer, dropdownClassName: 'label-print-selector', mode: "multiple", placeholder: __('Select.placeholder'), maxTagCount: 'responsive', value: optionValues.subTitle, onChange: function (value) { if (value.length <= 3) { _this.setState({ optionValues: tslib_1.__assign(tslib_1.__assign({}, optionValues), { subTitle: value }) }); } else { env.notify('error', '最多选择3项'); } } }, dynamicSubTiltes.map(function (item, index) { return react_1.default.createElement(antd_1.Select.Option, { key: index, value: item }, item); })) : react_1.default.createElement(antd_1.Input, { disabled: !superRole, value: (_a = optionValues.subTitle) === null || _a === void 0 ? void 0 : _a[0], onChange: function (e) { return _this.setState({ optionValues: tslib_1.__assign(tslib_1.__assign({}, optionValues), { subTitle: e.target.value.length ? [e.target.value] : [] }) }); }, maxLength: 50, placeholder: __('CRUD.fillIn') })), react_1.default.createElement(antd_1.Col, { span: 2 }, react_1.default.createElement(antd_1.Popover, { trigger: 'click', placement: 'bottom', getPopupContainer: env.getModalContainer, showArrow: false, content: react_1.default.createElement("div", { style: { display: 'flex', flexDirection: 'column' } }, react_1.default.createElement("span", null, "\u5B57\u4F53"), react_1.default.createElement(antd_1.Select, { disabled: !superRole, style: { width: 100 }, value: optionValues.subTitleFontFamily, options: types_1.fontFamilyOptions, onChange: function (val) { return _this.setState({ optionValues: tslib_1.__assign(tslib_1.__assign({}, optionValues), { subTitleFontFamily: val }) }); } }), react_1.default.createElement("span", { style: { marginTop: 4 } }, "\u5B57\u53F7"), react_1.default.createElement(antd_1.Select, { disabled: !superRole, style: { width: 100 }, value: optionValues.subTitleFontSize, options: types_1.fontSizeOptions, onChange: function (val) { return _this.setState({ optionValues: tslib_1.__assign(tslib_1.__assign({}, optionValues), { subTitleFontSize: val }) }); } })) }, react_1.default.createElement(icons_1.FontColorsOutlined, { style: { fontSize: 20, paddingLeft: 8, paddingTop: 3, color: '#00000065' } })))), react_1.default.createElement(antd_1.Row, { align: 'middle' }, react_1.default.createElement(antd_1.Col, { span: 12 }, react_1.default.createElement(antd_1.Checkbox, { disabled: !superRole, checked: optionValues.titleAllPrint, onChange: function (e) { return _this.setState({ optionValues: tslib_1.__assign(tslib_1.__assign({}, optionValues), { titleAllPrint: e.target.checked }) }); } }, "\u6807\u9898\u6BCF\u9875\u6253\u5370")), react_1.default.createElement(antd_1.Col, { span: 12 }, react_1.default.createElement(antd_1.Checkbox, { disabled: !superRole, checked: optionValues.subTitleAllPrint, onChange: function (e) { return _this.setState({ optionValues: tslib_1.__assign(tslib_1.__assign({}, optionValues), { subTitleAllPrint: e.target.checked }) }); } }, "\u5B50\u6807\u9898\u6BCF\u9875\u6253\u5370"))), react_1.default.createElement(antd_1.Divider, null), react_1.default.createElement(antd_1.Row, { align: 'middle' }, react_1.default.createElement(antd_1.Col, { span: 6 }, react_1.default.createElement(antd_1.Checkbox, { disabled: !superRole, checked: optionValues.showHeaderTitle, onChange: function (e) { return _this.setState({ optionValues: tslib_1.__assign(tslib_1.__assign({}, optionValues), { showHeaderTitle: e.target.checked }) }); } }, "\u9875\u7709")), react_1.default.createElement(antd_1.Col, { span: 16 }, react_1.default.createElement(antd_1.Input, { disabled: !superRole, value: optionValues.headerTitle, onChange: function (e) { return _this.setState({ optionValues: tslib_1.__assign(tslib_1.__assign({}, optionValues), { headerTitle: e.target.value }) }); }, maxLength: 50, placeholder: __('CRUD.fillIn') })), react_1.default.createElement(antd_1.Col, { span: 2 }, react_1.default.createElement(antd_1.Popover, { trigger: 'click', placement: 'bottom', getPopupContainer: env.getModalContainer, showArrow: false, content: react_1.default.createElement("div", { style: { display: 'flex', flexDirection: 'column' } }, react_1.default.createElement("span", null, "\u5B57\u4F53"), react_1.default.createElement(antd_1.Select, { disabled: !superRole, style: { width: 100 }, value: optionValues.headerFontFamily, options: types_1.fontFamilyOptions, onChange: function (val) { return _this.setState({ optionValues: tslib_1.__assign(tslib_1.__assign({}, optionValues), { headerFontFamily: val }) }); } }), react_1.default.createElement("span", { style: { marginTop: 4 } }, "\u5B57\u53F7"), react_1.default.createElement(antd_1.Select, { disabled: !superRole, style: { width: 100 }, value: optionValues.headerFontSize, options: types_1.fontSizeOptions, onChange: function (val) { return _this.setState({ optionValues: tslib_1.__assign(tslib_1.__assign({}, optionValues), { headerFontSize: val }) }); } })) }, react_1.default.createElement(icons_1.FontColorsOutlined, { style: { fontSize: 20, paddingLeft: 8, paddingTop: 3, color: '#00000065' } })))), react_1.default.createElement(antd_1.Row, { align: 'middle' }, react_1.default.createElement(antd_1.Col, { span: 6 }), react_1.default.createElement(antd_1.Col, { span: 9 }, react_1.default.createElement(antd_1.Checkbox, { disabled: !superRole, checked: optionValues.showHeaderLine, onChange: function (e) { return _this.setState({ optionValues: tslib_1.__assign(tslib_1.__assign({}, optionValues), { showHeaderLine: e.target.checked }) }); } }, "\u9875\u7709\u6A2A\u7EBF")), react_1.default.createElement(antd_1.Col, { span: 9 }, react_1.default.createElement(antd_1.Checkbox, { disabled: !superRole, checked: optionValues.showLogo, onChange: function (e) { return _this.setState({ optionValues: tslib_1.__assign(tslib_1.__assign({}, optionValues), { showLogo: e.target.checked }) }); } }, "\u516C\u53F8logo"))), react_1.default.createElement(antd_1.Divider, null), react_1.default.createElement(antd_1.Row, { align: 'middle' }, react_1.default.createElement(antd_1.Col, { span: 6 }, react_1.default.createElement(antd_1.Checkbox, { disabled: !superRole, checked: optionValues.showFooterTitle, onChange: function (e) { return _this.setState({ optionValues: tslib_1.__assign(tslib_1.__assign({}, optionValues), { showFooterTitle: e.target.checked }) }); } }, "\u9875\u811A")), react_1.default.createElement(antd_1.Col, { span: 16 }, react_1.default.createElement(antd_1.Input, { disabled: !superRole, value: optionValues.footerTitle, onChange: function (e) { return _this.setState({ optionValues: tslib_1.__assign(tslib_1.__assign({}, optionValues), { footerTitle: e.target.value }) }); }, maxLength: 50, placeholder: __('CRUD.fillIn') })), react_1.default.createElement(antd_1.Col, { span: 2 }, react_1.default.createElement(antd_1.Popover, { trigger: 'click', placement: 'bottom', getPopupContainer: env.getModalContainer, showArrow: false, content: react_1.default.createElement("div", { style: { display: 'flex', flexDirection: 'column' } }, react_1.default.createElement("span", null, "\u5B57\u4F53"), react_1.default.createElement(antd_1.Select, { disabled: !superRole, style: { width: 100 }, value: optionValues.footerFontFamily, options: types_1.fontFamilyOptions, onChange: function (val) { return _this.setState({ optionValues: tslib_1.__assign(tslib_1.__assign({}, optionValues), { footerFontFamily: val }) }); } }), react_1.default.createElement("span", { style: { marginTop: 4 } }, "\u5B57\u53F7"), react_1.default.createElement(antd_1.Select, { disabled: !superRole, style: { width: 100 }, value: optionValues.footerFontSize, options: types_1.fontSizeOptions, onChange: function (val) { return _this.setState({ optionValues: tslib_1.__assign(tslib_1.__assign({}, optionValues), { footerFontSize: val }) }); } })) }, react_1.default.createElement(icons_1.FontColorsOutlined, { style: { fontSize: 20, paddingLeft: 8, paddingTop: 3, color: '#00000065' } })))), react_1.default.createElement(antd_1.Row, { align: "middle" }, react_1.default.createElement(antd_1.Col, { span: 6 }), react_1.default.createElement(antd_1.Col, { span: 9 }, react_1.default.createElement(antd_1.Checkbox, { disabled: !superRole, checked: optionValues.showPrinter, onChange: function (e) { return _this.setState({ optionValues: tslib_1.__assign(tslib_1.__assign({}, optionValues), { showPrinter: e.target.checked }) }); } }, "\u6253\u5370\u8005")), react_1.default.createElement(antd_1.Col, { span: 9 }, react_1.default.createElement(antd_1.Checkbox, { disabled: !superRole, checked: optionValues.showPageNum, onChange: function (e) { return _this.setState({ optionValues: tslib_1.__assign(tslib_1.__assign({}, optionValues), { showPageNum: e.target.checked }) }); } }, "\u9875\u7801"))), react_1.default.createElement(antd_1.Row, { align: 'middle' }, react_1.default.createElement(antd_1.Col, { span: 6 }), react_1.default.createElement(antd_1.Col, { span: 9 }, react_1.default.createElement(antd_1.Checkbox, { disabled: !superRole, checked: optionValues.showDate, onChange: function (e) { return _this.setState({ optionValues: tslib_1.__assign(tslib_1.__assign({}, optionValues), { showDate: e.target.checked }) }); } }, "\u6253\u5370\u65F6\u95F4")), react_1.default.createElement(antd_1.Col, { span: 9 }, react_1.default.createElement(antd_1.Checkbox, { disabled: !superRole, checked: optionValues.showFooterLine, onChange: function (e) { return _this.setState({ optionValues: tslib_1.__assign(tslib_1.__assign({}, optionValues), { showFooterLine: e.target.checked }) }); } }, "\u9875\u811A\u6A2A\u7EBF"))), react_1.default.createElement(antd_1.Divider, null), react_1.default.createElement(antd_1.Row, { align: 'middle' }, react_1.default.createElement(antd_1.Col, { span: 12 }, react_1.default.createElement(antd_1.Checkbox, { disabled: !superRole, checked: optionValues.countAllPage, onChange: function (e) { return _this.setState({ optionValues: tslib_1.__assign(tslib_1.__assign({}, optionValues), { countAllPage: e.target.checked }) }); } }, "\u6BCF\u9875\u6253\u5370\u5408\u8BA1")))), react_1.default.createElement("div", { className: "print-setting-label" }, "\u8868\u683C\u6837\u5F0F"), react_1.default.createElement("div", { className: "print-setting-content" }, react_1.default.createElement(antd_1.Row, { align: "middle" }, react_1.default.createElement(antd_1.Col, { span: 12 }, "\u7EBF\u6761\u5BBD\u5EA6\u00A0\u00A0", react_1.default.createElement(antd_1.InputNumber, { disabled: !superRole, value: optionValues.lineWidth, onChange: function (value) { return value && _this.setState({ optionValues: tslib_1.__assign(tslib_1.__assign({}, optionValues), { lineWidth: value }) }); }, min: 0, max: 5 })), react_1.default.createElement(antd_1.Col, { span: 12 }, "\u8FB9\u6846\u5BBD\u5EA6\u00A0\u00A0", react_1.default.createElement(antd_1.InputNumber, { disabled: !superRole, value: optionValues.borderWidth, onChange: function (value) { return value && _this.setState({ optionValues: tslib_1.__assign(tslib_1.__assign({}, optionValues), { borderWidth: value }) }); }, min: 0, max: 5 }))), react_1.default.createElement(antd_1.Row, { align: "middle" }, react_1.default.createElement(antd_1.Col, { span: 12 }, "\u884C\u5185\u8FB9\u8DDD\u00A0\u00A0", react_1.default.createElement(antd_1.InputNumber, { disabled: !superRole, value: optionValues.rowPadding, onChange: function (value) { return value != null && _this.setState({ optionValues: tslib_1.__assign(tslib_1.__assign({}, optionValues), { rowPadding: value }) }); }, min: 0, max: 20 })), react_1.default.createElement(antd_1.Col, { span: 12 }, "\u5217\u5185\u8FB9\u8DDD\u00A0\u00A0", react_1.default.createElement(antd_1.InputNumber, { disabled: !superRole, value: optionValues.colPadding, onChange: function (value) { return value != null && _this.setState({ optionValues: tslib_1.__assign(tslib_1.__assign({}, optionValues), { colPadding: value }) }); }, min: 0, max: 20 }))), react_1.default.createElement(antd_1.Row, { align: "middle" }, react_1.default.createElement(antd_1.Col, { span: 12 }, "\u8868\u683C\u5B57\u4F53\u00A0\u00A0", react_1.default.createElement(antd_1.Select, { style: { width: 90 }, disabled: !superRole, value: optionValues.contentFontFamily, onChange: function (value) { return _this.setState({ optionValues: tslib_1.__assign(tslib_1.__assign({}, optionValues), { contentFontFamily: value }) }); }, options: types_1.fontFamilyOptions })), react_1.default.createElement(antd_1.Col, { span: 12 }, "\u8868\u683C\u5B57\u53F7\u00A0\u00A0", react_1.default.createElement(antd_1.Select, { style: { width: 90 }, disabled: !superRole, value: optionValues.contentFontSize, onChange: function (value) { return _this.setState({ optionValues: tslib_1.__assign(tslib_1.__assign({}, optionValues), { contentFontSize: value }) }); }, options: types_1.fontSizeOptions })))))), react_1.default.createElement(antd_1.Tabs.TabPane, { key: 3, tab: '\u6570\u636E' }, react_1.default.createElement(TableSetting_1.default, { superRole: superRole, tableValues: tableValues, onTableValuesChange: function (values) { return _this.setState({ tableValues: values }); } }))))), react_1.default.createElement("div", { className: cx('Modal-footer') }, superRole && react_1.default.createElement(Button_1.default, { onClick: this.deleteDefaultSetting.bind(this) }, "\u6E05\u7A7A\u9ED8\u8BA4\u503C"), superRole && react_1.default.createElement(Button_1.default, { onClick: t