UNPKG

fastlion-amis

Version:

一种MIS页面生成工具

710 lines 59.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var react_1 = tslib_1.__importDefault(require("react")); var form_1 = tslib_1.__importDefault(require("antd/lib/form")); var input_1 = tslib_1.__importDefault(require("antd/lib/input")); var input_number_1 = tslib_1.__importDefault(require("antd/lib/input-number")); var select_1 = tslib_1.__importDefault(require("antd/lib/select")); var popover_1 = tslib_1.__importDefault(require("antd/lib/popover")); var message_1 = tslib_1.__importDefault(require("antd/lib/message")); var popconfirm_1 = tslib_1.__importDefault(require("antd/lib/popconfirm")); var modal_1 = tslib_1.__importDefault(require("antd/lib/modal")); var row_1 = tslib_1.__importDefault(require("antd/lib/row")); var col_1 = tslib_1.__importDefault(require("antd/lib/col")); var radio_1 = tslib_1.__importDefault(require("antd/lib/radio")); var checkbox_1 = tslib_1.__importDefault(require("antd/lib/checkbox")); var empty_1 = tslib_1.__importDefault(require("antd/lib/empty")); var components_1 = require("../../../../components"); var print_1 = require("../../../../utils/print"); var icons_1 = require("../../../../components/icons"); var EditOutlined_1 = tslib_1.__importDefault(require("@ant-design/icons/lib/icons/EditOutlined")); var Button_1 = tslib_1.__importDefault(require("../../../../components/Button")); var util_1 = require("../../../../utils/print/util"); var types_1 = require("../types"); var moment_1 = tslib_1.__importDefault(require("moment")); var Option = select_1.default.Option; var LabelPrint = /** @class */ (function (_super) { tslib_1.__extends(LabelPrint, _super); function LabelPrint(props) { var _this = _super.call(this, props) || this; _this.formRef = react_1.default.createRef(); var __ = props.translate; var operateOptions = [ { optionName: __('CRUD.null'), optionValue: __('CRUD.null') }, { optionName: __('CRUD.add'), optionValue: '+' }, { optionName: __('CRUD.multiply'), optionValue: '*' }, ]; _this.state = { templateInputShow: false, templateInputValue: '', templateSelectValue: __('CRUD.selectTemplate'), printConfigs: [], templateInfos: [], typeOptions: [{ optionName: __('CRUD.null'), optionValue: __('CRUD.null') }], operateOptions: operateOptions, showEmpty: true, previewLoading: false, printLoading: false, visible: false }; return _this; } LabelPrint.prototype.componentDidMount = function () { return tslib_1.__awaiter(this, void 0, void 0, function () { var _a, columns, numberField, types_2, templateInfos, printConfigs; var _this = this; return tslib_1.__generator(this, function (_b) { switch (_b.label) { case 0: _a = this.props, columns = _a.columns, numberField = _a.numberField; // 处理动态字段下拉值数组 if (numberField) { types_2 = []; columns === null || columns === void 0 ? void 0 : columns.forEach(function (item) { if (~numberField.indexOf(item.name)) { types_2.push({ optionName: item.label, optionValue: item.name, }); } }); types_2.length > 0 && this.setState({ typeOptions: tslib_1.__spreadArray(tslib_1.__spreadArray([], this.state.typeOptions, true), types_2, true) }); } return [4 /*yield*/, this.getTemplateInfos()]; case 1: templateInfos = _b.sent(); return [4 /*yield*/, this.getPrintConfigs()]; case 2: printConfigs = _b.sent(); if (templateInfos.length > 0) { this.setState({ templateInfos: templateInfos, printConfigs: printConfigs }, function () { var _a; // 有模板数据:设置为第一个模板 // 没有有模板数据:表单项label默认为labelList[0].tempName if (printConfigs.length > 0) { _this.setPrintConfig(printConfigs[0].caption); } else { // Form.Item initalValue 由于render期间只执行一次,所以通过请求获取的数据赋值上去无效 // 因此通过该方法赋默认值 (_a = _this.formRef.current) === null || _a === void 0 ? void 0 : _a.setFieldsValue({ label: templateInfos[0].tempName }); } }); } return [2 /*return*/]; } }); }); }; // 获取模板数据 LabelPrint.prototype.getTemplateInfos = function () { return tslib_1.__awaiter(this, void 0, void 0, function () { var _a, env, templateApi, templates; return tslib_1.__generator(this, function (_b) { switch (_b.label) { case 0: _a = this.props, env = _a.env, templateApi = _a.templateApi; return [4 /*yield*/, env.fetcher(templateApi).then(function (res) { if (res.status === 0) { return Promise.resolve(res.data); } else { return Promise.resolve([]); } })]; case 1: templates = _b.sent(); return [2 /*return*/, templates]; } }); }); }; // 获取打印默认值配置 LabelPrint.prototype.getPrintConfigs = function () { return tslib_1.__awaiter(this, void 0, void 0, function () { var _a, env, defValGetApi, templateArr; return tslib_1.__generator(this, function (_b) { switch (_b.label) { case 0: _a = this.props, env = _a.env, defValGetApi = _a.defValGetApi; return [4 /*yield*/, env.fetcher(defValGetApi).then(function (res) { if (res.status === 0) { return Promise.resolve(res.data); } else { return Promise.resolve([]); } })]; case 1: templateArr = _b.sent(); return [2 /*return*/, templateArr]; } }); }); }; // 设置打印默认值 LabelPrint.prototype.setPrintConfig = function (value) { var _a, _b; var printers = this.props.printers; var _c = this.state, printConfigs = _c.printConfigs, templateInfos = _c.templateInfos; var config = printConfigs.find(function (config) { return config.caption === value; }); if (config) { var tempName = (_a = templateInfos.find(function (item) { return item.tempId === config.templateId; })) === null || _a === void 0 ? void 0 : _a.tempName; this.setState({ templateInputShow: false, templateInputValue: '', templateSelectValue: value, }); // 将模板对应的字段赋值到表单 var printer = printers.indexOf(config.printer) > -1 ? config.printer : printers[0]; // 如果printers含有template.printer则显示template.printer var content = config.content, direction = config.direction, width = config.width, height = config.height, topMargin = config.topMargin, bottomMargin = config.bottomMargin, leftMargin = config.leftMargin, rightMargin = config.rightMargin, rowSpacing = config.rowSpacing, colSpacing = config.colSpacing, horArrange = config.horArrange; (_b = this.formRef.current) === null || _b === void 0 ? void 0 : _b.setFieldsValue({ printer: printer, label: tempName, pageSize: config.pageSize, direction: direction, pageWidth: width, pageHeight: height, marginTop: topMargin, marginBottom: bottomMargin, marginLeft: leftMargin, marginRight: rightMargin, rowSpacing: rowSpacing, colSpacing: colSpacing, repeat: !!horArrange, content: content }); } }; // 新增打印默认值配置 LabelPrint.prototype.addPrintConfig = function () { var _a; return tslib_1.__awaiter(this, void 0, void 0, function () { var _b, templateInputValue, templateInfos, _c, env, defValAddApi, labelId, values, content, printer, label_1, pageSize, repeat, pageWidth, pageHeight, marginTop, marginLeft, marginBottom, marginRight, rowSpacing, colSpacing, direction, res, printConfigs; return tslib_1.__generator(this, function (_d) { switch (_d.label) { case 0: _b = this.state, templateInputValue = _b.templateInputValue, templateInfos = _b.templateInfos; _c = this.props, env = _c.env, defValAddApi = _c.defValAddApi, labelId = _c.labelId; if (!(templateInputValue.trim().length > 0)) return [3 /*break*/, 6]; return [4 /*yield*/, this.formRef.current.validateFields()]; case 1: values = _d.sent(); content = values.content, printer = values.printer, label_1 = values.label, pageSize = values.pageSize, repeat = values.repeat, pageWidth = values.pageWidth, pageHeight = values.pageHeight, marginTop = values.marginTop, marginLeft = values.marginLeft, marginBottom = values.marginBottom, marginRight = values.marginRight, rowSpacing = values.rowSpacing, colSpacing = values.colSpacing, direction = values.direction; return [4 /*yield*/, env.fetcher(defValAddApi, { caption: templateInputValue, printer: printer, pageSize: pageSize, templateId: (_a = templateInfos.find(function (item) { return item.tempName === label_1; })) === null || _a === void 0 ? void 0 : _a.tempId, labelId: labelId, direction: direction, width: pageWidth, height: pageHeight, topMargin: marginTop, bottomMargin: marginBottom, leftMargin: marginLeft, rightMargin: marginRight, rowSpacing: rowSpacing, colSpacing: colSpacing, horArrange: +repeat, content: content })]; case 2: res = _d.sent(); if (!(res.status === 0)) return [3 /*break*/, 4]; message_1.default.success('保存模板成功'); return [4 /*yield*/, this.getPrintConfigs()]; case 3: printConfigs = _d.sent(); this.setState({ printConfigs: printConfigs, templateInputShow: false, templateInputValue: '', templateSelectValue: templateInputValue.trim() }); return [3 /*break*/, 5]; case 4: message_1.default.error('保存模板失败' + res.msg); this.setState({ templateInputShow: false, templateInputValue: '', }); _d.label = 5; case 5: return [3 /*break*/, 7]; case 6: this.setState({ templateInputShow: false, }); _d.label = 7; case 7: return [2 /*return*/]; } }); }); }; // 删除打印配置项 LabelPrint.prototype.deletePrintConfig = function (value) { var _this = this; var _a = this.props, __ = _a.translate, env = _a.env, defValDelApi = _a.defValDelApi, labelId = _a.labelId; env.fetcher(defValDelApi, { labelId: labelId, caption: value }).then(function (res) { return tslib_1.__awaiter(_this, void 0, void 0, function () { var printConfigs_1; var _this = this; return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: if (!(res.status === 0)) return [3 /*break*/, 2]; message_1.default.success("".concat(__('CRUD.deleted'))); return [4 /*yield*/, this.getPrintConfigs() // 如果下拉值===删除的值 ]; case 1: printConfigs_1 = _a.sent(); // 如果下拉值===删除的值 this.setState({ printConfigs: printConfigs_1 }, function () { if (printConfigs_1.length > 0) { _this.setPrintConfig(printConfigs_1[0].caption); } }); return [3 /*break*/, 3]; case 2: message_1.default.error(res.msg); _a.label = 3; case 3: return [2 /*return*/]; } }); }); }); }; LabelPrint.prototype.editPrintConfig = function (item) { var _this = this; var _a = this.props, defValEditApi = _a.defValEditApi, labelId = _a.labelId, env = _a.env; env.fetcher(defValEditApi, { labelId: labelId, oldCaption: item.caption, newCaption: this.inputValue, caption: this.inputValue }).then(function (res) { return tslib_1.__awaiter(_this, void 0, void 0, function () { var printConfigs_2; var _this = this; return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: this.setState({ visible: false }); if (!res.ok) return [3 /*break*/, 2]; message_1.default.success(res.msg); return [4 /*yield*/, this.getPrintConfigs()]; case 1: printConfigs_2 = _a.sent(); this.setState(function (pre) { var _a; return ({ printConfigs: printConfigs_2, templateSelectValue: ((_a = pre.currentPrintConfig) === null || _a === void 0 ? void 0 : _a.caption) === pre.templateSelectValue ? _this.inputValue : pre.templateSelectValue }); }); return [3 /*break*/, 3]; case 2: message_1.default.error(res.msg); _a.label = 3; case 3: return [2 /*return*/]; } }); }); }); }; // 保存打印信息函数,发送保存请求 LabelPrint.prototype.savePrintInfo = function () { // 获取保存请求的地址 var _a = this.props, fetcher = _a.env.fetcher, ctx = _a.ctx, callbackApi = _a.callbackApi; if (!callbackApi) return; var PRINT_TIME = (0, moment_1.default)(new Date()).format('YYYY-MM-DD HH:mm:ss'); fetcher(callbackApi, tslib_1.__assign(tslib_1.__assign({}, ctx), { PRINT_TIME: PRINT_TIME })); }; LabelPrint.prototype.handleClose = function (e) { var onHide = this.props.onHide; onHide(e); this.setState({ templateInputShow: false, }); }; LabelPrint.prototype.handleAddInput = function () { if (this.state.templateInputShow) return; this.setState({ templateInputShow: true, templateSelectValue: this.state.templateInputValue ? '' : this.props.translate('CRUD.labelName') }); }; // 获取标签打印数据 // dataRange: 1选中数据 0全部数据打印 3当前页数据 LabelPrint.prototype.getLabelPrintData = function (dataRange) { return tslib_1.__awaiter(this, void 0, void 0, function () { var _a, env, ctx, labelDataApi, query, orderParam, primaryField, isRow, primaryKey, data, res; return tslib_1.__generator(this, function (_b) { switch (_b.label) { case 0: _a = this.props, env = _a.env, ctx = _a.ctx, labelDataApi = _a.labelDataApi, query = _a.query, orderParam = _a.orderParam, primaryField = _a.primaryField, isRow = _a.isRow, primaryKey = _a.primaryKey; if (dataRange == 1 && (ctx === null || ctx === void 0 ? void 0 : ctx.selectedItems.length) <= 0) { message_1.default.info('请先选择行数据'); return [2 /*return*/, Promise.reject()]; } data = isRow ? Object.assign({ printType: 2 }, ctx) : { primaryField: primaryField, ids: dataRange == 3 ? ctx.items.map(function (item) { return item.hasOwnProperty(primaryField) ? item[primaryField] : null; }).filter(function (item) { return item; }).join(',') : ctx.ids, printType: dataRange == 0 ? 1 : 0, orderBy: orderParam, selectedItems: dataRange == 3 ? ctx.items.concat() : ctx.selectedItems.concat() }; Object.keys(query).forEach(function (key) { var item = query[key]; if (key == 'filterOptionData') { Object.keys(item !== null && item !== void 0 ? item : {}).forEach(function (k) { return data[k] = item[k]; }); } else { data[key] = item; } }); return [4 /*yield*/, env.fetcher(labelDataApi, data)]; case 1: res = _b.sent(); if (res.status === 0 && res.data != null) { if (primaryKey) { return [2 /*return*/, res.data.items.map(function (item) { var primaryValue = item[primaryKey]; var target = ctx.items.find(function (val) { return val[primaryKey] === primaryValue; }); return tslib_1.__assign(tslib_1.__assign({}, target), item); })]; } return [2 /*return*/, res.data.items]; } else { env.alert(res.msg); } return [2 /*return*/, []]; } }); }); }; // 动态份数处理 LabelPrint.prototype.arrangeData = function (labelPrintData) { return tslib_1.__awaiter(this, void 0, void 0, function () { var res, label, count, operate, type, templateInfos, temp1, handlePrintData, dynamicCountArr, previewData, i, dynamicCount, typeNum, item, k, __, templateInfo; return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, this.formRef.current.validateFields()]; case 1: res = _a.sent(); label = res.label, count = res.count, operate = res.operate, type = res.type; templateInfos = this.state.templateInfos; temp1 = []; if (type === '无') { labelPrintData.forEach(function (item) { for (var i = 0; i < count; i++) { temp1.push(item); } }); } handlePrintData = type === '无' ? temp1 : []; dynamicCountArr = []; previewData = type === '无' ? labelPrintData : []; if (type !== '无') { for (i = 0; i < labelPrintData.length; i++) { dynamicCount = 0; typeNum = typeof (labelPrintData[i][type] === 'number') ? labelPrintData[i][type] : 0; if (operate === '+') { dynamicCount = Math.floor(count + typeNum); } else if (operate === '*') { dynamicCount = Math.floor(count * typeNum); } dynamicCountArr.push(dynamicCount); if (dynamicCount === 0) { continue; } item = labelPrintData[i]; for (k = 0; k < dynamicCount; k++) { // dynamicCount===0时不会循环 handlePrintData.push(item); } previewData.push(item); } } // handlePrintData.length为0,previewPrintData.length也会为0 if (handlePrintData.length === 0) { __ = this.props.translate; message_1.default.info("".concat(__('CRUD.countIs0'), ",").concat(__('CRUD.reSelect'))); return [2 /*return*/, Promise.reject()]; } templateInfo = templateInfos.find(function (item) { return item.tempName === label; }); return [2 /*return*/, { handlePrintData: handlePrintData, previewData: previewData, templateInfo: templateInfo }]; } }); }); }; LabelPrint.prototype.showModalTip = function (countOfPage, maxPage) { return new Promise(function (resolve) { modal_1.default.confirm({ content: react_1.default.createElement(react_1.default.Fragment, null, react_1.default.createElement("span", null, "\u9884\u89C8\u5171\u9700\u6E32\u67D3 ", react_1.default.createElement("strong", null, countOfPage), " \u9875\u3002"), react_1.default.createElement("span", null, "\u5927\u4E8E\u7B49\u4E8E", maxPage, "\u9875\u65F6\uFF0C\u4EC5\u6E32\u67D3\u524D", maxPage, "\u9875\uFF0C\u8BF7\u786E\u8BA4\u662F\u5426\u9884\u89C8\uFF1F")), okText: '确认', cancelText: '取消', onOk: function () { return resolve(true); }, onCancel: function () { return resolve(false); }, zIndex: 2000 }); }); }; // 标签仅预览 LabelPrint.prototype.handleLabelPrint = function (preview) { return tslib_1.__awaiter(this, void 0, void 0, function () { var values, isRepeat, content, direction, pageWidth, pageHeight, rowSpacing, colSpacing, range, startPage, endPage, labelPrintData, arrangeData, handlePrintData, templateInfo, vertical, width, height, isRange, col, row, rowCount, columnCount, countOfPage, printData, labelCount, pageCount, maxPreviewPageCount, confirm, param; var _this = this; return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, this.formRef.current.validateFields()]; case 1: values = _a.sent(); isRepeat = values.repeat, content = values.content, direction = values.direction, pageWidth = values.pageWidth, pageHeight = values.pageHeight, rowSpacing = values.rowSpacing, colSpacing = values.colSpacing, range = values.range, startPage = values.startPage, endPage = values.endPage; if (preview) { this.setState({ previewLoading: true, showEmpty: false }); } else { this.setState({ printLoading: true }); } return [4 /*yield*/, this.getLabelPrintData(content).catch(function () { return _this.setState({ previewLoading: false, printLoading: false }); })]; case 2: labelPrintData = _a.sent(); if (labelPrintData.length == 0) { message_1.default.info('数据为空'); this.setState({ previewLoading: false, printLoading: false }); return [2 /*return*/]; } return [4 /*yield*/, this.arrangeData(labelPrintData).catch(function () { return _this.setState({ previewLoading: false, printLoading: false }); })]; case 3: arrangeData = _a.sent(); if (!arrangeData) { return [2 /*return*/]; } handlePrintData = arrangeData.handlePrintData, templateInfo = arrangeData.templateInfo; if (!templateInfo) return [3 /*break*/, 6]; vertical = direction === 0; width = vertical ? pageWidth : pageHeight; height = vertical ? pageHeight : pageWidth; isRange = range === 1; col = ((vertical ? width : height) - colSpacing); row = ((vertical ? height : width) - rowSpacing); if (templateInfo.width > col || templateInfo.height > row) { modal_1.default.error({ title: '提示', content: "\u914D\u7F6E\u51FA\u9519, \u6807\u7B7E\u5927\u5C0F".concat([templateInfo.width, templateInfo.height], " \u8D85\u8FC7\u7EB8\u5F20\u53EF\u7528\u5927\u5C0F").concat([col, row]), zIndex: 9999 }); this.setState({ previewLoading: false, printLoading: false }); return [2 /*return*/]; } if (isRange && startPage > endPage) { message_1.default.info('请输入正确的输出页码'); this.setState({ previewLoading: false, printLoading: false }); return [2 /*return*/]; } rowCount = (0, util_1.getMaxCount)(templateInfo.height, height, rowSpacing); columnCount = (0, util_1.getMaxCount)(templateInfo.width, width, colSpacing); countOfPage = rowCount * columnCount; printData = isRange ? isRepeat ? handlePrintData.slice((startPage - 1) * countOfPage, endPage * countOfPage) : handlePrintData.slice(startPage - 1, endPage) : handlePrintData.slice(); labelCount = printData.length; pageCount = isRepeat ? labelCount % countOfPage === 0 ? labelCount / countOfPage : Math.floor(labelCount / countOfPage) + 1 : labelCount; maxPreviewPageCount = isRepeat ? 10 : 50; confirm = true; if (!preview) return [3 /*break*/, 5]; if (!(pageCount >= maxPreviewPageCount)) return [3 /*break*/, 5]; return [4 /*yield*/, this.showModalTip(pageCount, maxPreviewPageCount)]; case 4: confirm = _a.sent(); printData = printData.slice(0, isRepeat ? maxPreviewPageCount * countOfPage : maxPreviewPageCount); _a.label = 5; case 5: if (confirm) { param = tslib_1.__assign(tslib_1.__assign({}, values), { preview: preview, direction: vertical, arrange: isRepeat }); this.callLabelPreview(templateInfo.tempContent, printData, param, countOfPage, columnCount); } else { this.setState({ previewLoading: false }); } _a.label = 6; case 6: return [2 /*return*/]; } }); }); }; LabelPrint.prototype.callLabelPreview = function (templateContent, printData, printerParam, countOfPage, countOfColumn) { var _this = this; var baseUrl = this.props.baseUrl; var arrange = printerParam.arrange, preview = printerParam.preview; var labelTemplate = (0, util_1.buildLabelTemplate)(templateContent); var templateDatas = arrange ? (0, util_1.setLabelTemplateDataWithArrange)(labelTemplate, printData, printerParam, countOfPage, countOfColumn, baseUrl) : (0, util_1.setLabelTemplateData)(labelTemplate, printData, baseUrl); (0, print_1.labelPrint)(tslib_1.__assign(tslib_1.__assign({}, printerParam), { templateDatas: templateDatas }), function () { if (!preview) { message_1.default.success('打印任务发送成功'); _this.savePrintInfo(); _this.setState({ printLoading: false }); } else { _this.setState({ previewLoading: false }); } }); }; LabelPrint.prototype.render = function () { var _this = this; var _a, _b; var _c = this.props, printers = _c.printers, cx = _c.classnames, __ = _c.translate, modalContainer = _c.modalContainer, popupContainer = _c.popupContainer, remark = _c.remark, isRow = _c.isRow, ctx = _c.ctx; var _d = this.state, templateInputShow = _d.templateInputShow, templateInputValue = _d.templateInputValue, templateSelectValue = _d.templateSelectValue, printConfigs = _d.printConfigs, templateInfos = _d.templateInfos, typeOptions = _d.typeOptions, operateOptions = _d.operateOptions, showEmpty = _d.showEmpty, previewLoading = _d.previewLoading; var labelCaptionArr = templateInfos.map(function (item) { return item.tempName; }); 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') }, __('CRUD.labelPrint'), react_1.default.createElement("a", { "data-tooltip": __('Dialog.close'), onClick: this.handleClose.bind(this), className: cx('Modal-close') }, react_1.default.createElement(icons_1.CloseIcon, null)))), react_1.default.createElement("div", { className: cx('Modal-body') }, remark, 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(empty_1.default, { description: '\u6682\u65E0\u9884\u89C8\u6548\u679C', className: 'preview-empty' }), react_1.default.createElement("iframe", { id: 'label-preview', width: '100%', height: '100%' })), react_1.default.createElement(form_1.default, { style: { width: 350 }, ref: this.formRef, colon: false, layout: 'vertical' }, 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(row_1.default, { gutter: 10 }, react_1.default.createElement(col_1.default, { span: 12 }, react_1.default.createElement(form_1.default.Item, { name: "printer", label: __('CRUD.printer'), initialValue: (printers === null || printers === void 0 ? void 0 : printers[0]) || '', rules: [{ required: true, message: "".concat(__('CRUD.selectPrinter')) }] }, react_1.default.createElement(select_1.default, { showSearch: true, getPopupContainer: popupContainer, dropdownClassName: 'label-print-selector' }, printers === null || printers === void 0 ? void 0 : printers.map(function (item) { return react_1.default.createElement(Option, { key: item, value: item }, item); })))), react_1.default.createElement(col_1.default, { span: 12 }, react_1.default.createElement(form_1.default.Item, { name: "pageSize", label: __('CRUD.pageSize'), initialValue: types_1.pageOptions[0].value, rules: [{ required: true, message: "".concat(__('CRUD.selectPage')) }] }, react_1.default.createElement(select_1.default, { showSearch: true, getPopupContainer: popupContainer, dropdownClassName: 'label-print-selector', onChange: function (value) { var _a; var _b = types_1.sizeOptions[value], pageWidth = _b[0], pageHeight = _b[1]; (_a = _this.formRef.current) === null || _a === void 0 ? void 0 : _a.setFieldsValue({ pageWidth: pageWidth, pageHeight: pageHeight }); } }, types_1.pageOptions === null || types_1.pageOptions === void 0 ? void 0 : types_1.pageOptions.map(function (item) { return react_1.default.createElement(Option, { key: item.value, value: item.value }, item.label); }))))), react_1.default.createElement(row_1.default, { gutter: 10 }, react_1.default.createElement(col_1.default, { span: 12 }, react_1.default.createElement(form_1.default.Item, { name: "pageWidth", label: __('width'), initialValue: types_1.sizeOptions[types_1.pageOptions[0].value][0], rules: [{ validator: function (rule, value) { return tslib_1.__awaiter(_this, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) { if (value < 0 || value > 1000) { throw new Error("".concat(__('CRUD.fillIn'), "1-1000")); } return [2 /*return*/]; }); }); } }] }, react_1.default.createElement(input_number_1.default, { className: 'w-full', min: 0, max: 1000 }))), react_1.default.createElement(col_1.default, { span: 12 }, react_1.default.createElement(form_1.default.Item, { name: "pageHeight", label: __('height'), initialValue: types_1.sizeOptions[types_1.pageOptions[0].value][1], rules: [{ validator: function (rule, value) { return tslib_1.__awaiter(_this, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) { if (value < 0 || value > 1000) { throw new Error("".concat(__('CRUD.fillIn'), "1-1000")); } return [2 /*return*/]; }); }); } }] }, react_1.default.createElement(input_number_1.default, { className: 'w-full', min: 0, max: 1000 }))))), react_1.default.createElement("div", { className: "print-setting-label" }, "\u7EB8\u5F20\u8BBE\u7F6E"), react_1.default.createElement("div", { className: "print-setting-content" }, react_1.default.createElement(row_1.default, { gutter: 10, style: { marginTop: 6 } }, react_1.default.createElement(col_1.default, { span: 2, style: { paddingTop: 5 } }, " ", react_1.default.createElement("span", null, __('up'))), react_1.default.createElement(col_1.default, { span: 10 }, react_1.default.createElement(form_1.default.Item, { name: "marginTop", initialValue: 0 }, react_1.default.createElement(input_number_1.default, { className: "w-full" }))), react_1.default.createElement(col_1.default, { span: 2, style: { paddingTop: 5 } }, " ", react_1.default.createElement("span", null, __('left'))), react_1.default.createElement(col_1.default, { span: 10 }, react_1.default.createElement(form_1.default.Item, { name: "marginLeft", initialValue: 0 }, react_1.default.createElement(input_number_1.default, { className: "w-full" })))), react_1.default.createElement(row_1.default, null, react_1.default.createElement(col_1.default, { span: 3, style: { paddingTop: 5 } }, __('direction')), react_1.default.createElement(col_1.default, { span: 21 }, react_1.default.createElement(form_1.default.Item, { name: "direction", initialValue: 0, rules: [{ required: true, }] }, react_1.default.createElement(radio_1.default.Group, null, react_1.default.createElement(radio_1.default, { value: 0, style: { marginRight: 22 } }, __('vertical')), react_1.default.createElement(radio_1.default, { value: 1 }, __('horizontal'))))))), react_1.default.createElement("div", { className: "print-setting-label" }, "\u6253\u5370\u5185\u5BB9"), react_1.default.createElement("div", { className: "print-setting-content" }, react_1.default.createElement(row_1.default, { gutter: 4, style: { marginTop: 6 } }, react_1.default.createElement(col_1.default, { span: 3, style: { paddingTop: 4 } }, "\u6807\u7B7E"), react_1.default.createElement(col_1.default, { span: 21 }, react_1.default.createElement(form_1.default.Item, { name: "label", rules: [{ required: true, message: "".concat(__('CRUD.select_Label')) }] }, react_1.default.createElement(select_1.default, { showSearch: true, getPopupContainer: popupContainer, dropdownClassName: 'label-print-selector' }, labelCaptionArr === null || labelCaptionArr === void 0 ? void 0 : labelCaptionArr.map(function (item) { return react_1.default.createElement(Option, { key: item, value: item }, item); }))))), react_1.default.createElement(row_1.default, null, react_1.default.createElement(col_1.default, { span: 24 }, react_1.default.createElement(row_1.default, { gutter: 4 }, react_1.default.createElement(col_1.default, { span: 3, style: { paddingTop: 5 } }, __('CRUD.copies')), react_1.default.createElement(col_1.default, { span: 6, style: { padding: '0 2px' } }, react_1.default.createElement(form_1.default.Item, { name: "count", initialValue: 1, rules: [{ validator: function (rule, value) { return tslib_1.__awaiter(_this, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) { if (value < 1 || value > 10000) { throw new Error("".concat(__('CRUD.fillIn'), "1-10000")); } return [2 /*return*/]; }); }); } }] }, react_1.default.createElement(input_number_1.default, { className: 'input-count', min: 1, max: 10000, formatter: function (value) { return value ? Number(value).toFixed(0) : ''; } }))), react_1.default.createElement(col_1.default, { span: 6, style: { padding: '0 6px' } }, react_1.default.createElement(form_1.default.Item, { name: "operate", initialValue: operateOptions[0].optionValue, rules: [{ required: true, }] }, react_1.default.createElement(select_1.default, { getPopupContainer: popupContainer, dropdownClassName: 'label-print-selector', onChange: function (value) { if (value === '无') { _this.formRef.current.setFieldsValue({ type: value }); } else { if (_this.formRef.current.getFieldValue('type') === '无' && typeOptions[1]) { _this.formRef.current.setFieldsValue({ type: typeOptions[1].optionValue }); } else if (!typeOptions[1]) { _this.formRef.current.setFieldsValue({ operate: '无' }); } } } }, operateOptions === null || operateOptions === void 0 ? void 0 : operateOptions.map(function (item, index) { return react_1.default.createElement(Option, { key: index, value: item.optionValue }, item.optionName); })))), react_1.default.createElement(col_1.default, { span: 9, style: { padding: '0 2px' } }, react_1.default.createElement(form_1.default.Item, { name: "type", initialValue: operateOptions[0].optionValue, rules: [{ required: true, }] }, react_1.default.createElement(select_1.default, { getPopupContainer: popupContainer, dropdownClassName: 'label-print-selector', onChange: function (value) { if (value === '无') { _this.formRef.current.setFieldsValue({ operate: value }); } else { if (_this.formRef.current.getFieldValue('operate') === '无') { _this.formRef.current.setFieldsValue({ operate: operateOptions[1].optionValue }); } } } }, typeOptions === null || typeOptions === void 0 ? void 0 : typeOptions.map(function (item, index) { return react_1.default.createElement(Option, { key: index, value: item.optionValue }, item.optionName); }))))))), react_1.default.createElement(row_1.default, { gutter: 4 }, react_1.default.createElement(col_1.default, { span: 3, style: { paddingTop: 5 } }, __('arrange')), react_1.default.createElement(col_1.default, { span: 7 }, react_1.default.createElement(form_1.default.Item, { name: "repeat", valuePropName: 'checked', initialValue: true }, react_1.default.createElement(checkbox_1.default, null, "\u6392\u5217"))), react_1.default.createElement(col_1.default, { span: 2.5, style: { paddingTop: 5 } }, " ", __('rowSpacing')), react_1.default.createElement(col_1.default, { span: 4.5 }, react_1.default.createElement(form_1.default.Item, { name: "rowSpacing", initialValue: 0 }, react_1.default.createElement(input_number_1.default, { style: { width: 60 }, min: 0 }))), react_1.default.createElement(col_1.default, { span: 2.5, style: { paddingTop: 5 } }, " ", __('colSpacing')), react_1.default.createElement(col_1.default, { span: 4.5 }, react_1.default.createElement(form_1.default.Item, { name: "colSpacing", initialValue: 0 }, react_1.default.createElement(input_number_1.default, { style: { width: 60 }, min: 0 }))))), react_1.default.createElement("div", { className: "print-setting-label" }, "\u6570\u636E\u8303\u56F4"), react_1.defau