public/manifest.json | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/menu/components/editor/braft-editor/index.jsx | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/menu/datasource/verifycard/excelout/index.jsx | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/menu/datasource/verifycard/index.jsx | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/menu/datasource/verifycard/index.scss | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/billprint/index.jsx | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/menudesign/index.scss | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/menudesign/printmenuform/index.jsx | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
public/manifest.json
@@ -6,5 +6,5 @@ "display": "standalone", "theme_color": "#000000", "background_color": "#ffffff", "mk_version": "20240910" "mk_version": "20241002" } src/menu/components/editor/braft-editor/index.jsx
@@ -109,8 +109,9 @@ card.name = card.wrap.name card.errors = [] card.$tables = [] if (card.wrap.datatype !== 'static') { if (card.wrap.datatype === 'dynamic') { card.$c_ds = true card.errors = checkComponent(card) src/menu/datasource/verifycard/excelout/index.jsx
@@ -69,7 +69,7 @@ } render() { return (<DownloadOutlined className="columns-out" onClick={this.actionTrigger}/>) return (<DownloadOutlined className="columns-out" title="下载" onClick={this.actionTrigger}/>) } } src/menu/datasource/verifycard/index.jsx
@@ -1186,6 +1186,33 @@ }) } tolowercase = (type) => { const that = this confirm({ content: type === 'sub' ? '确定将子表字段转为小写吗?' : '确定将字段转为小写吗?', onOk() { that.execlowercase(type) }, onCancel() {} }) } execlowercase = (type) => { const { subColumns, columns } = this.state if (type === 'sub') { this.setState({subColumns: fromJS(subColumns).toJS().map(col => { col.field = col.field.toLowerCase() return col })}) } else { this.setState({columns: fromJS(columns).toJS().map(col => { col.field = col.field.toLowerCase() return col })}) } } /** * @description 组件销毁,清除state更新 */ @@ -1233,6 +1260,7 @@ type="fields" updatefield={this.updatefields} /> <SwapOutlined className="columns-lowercase" title="转小写" onClick={() => this.tolowercase()}/> <ExcelOut data={columns} setting={setting}/> <EditTable actions={['edit', 'move', 'copy', 'del', 'clear']} searchKey={searchKey} type="datasourcefield" wrappedComponentRef={(inst) => this.datasource = inst} data={columns} columns={colColumns} onChange={(columns) => this.setState({columns})}/> </TabPane> : <TabPane tab={ @@ -1257,6 +1285,7 @@ type="fields" updatefield={this.updateSubfields} /> <SwapOutlined className="columns-lowercase" title="转小写" onClick={() => this.tolowercase('sub')}/> <ExcelOut data={subColumns} setting={setting}/> <EditTable actions={['edit', 'move', 'copy', 'del', 'clear']} searchKey={searchKey} type="datasourcefield" wrappedComponentRef={(inst) => this.subdatasource = inst} data={subColumns} columns={colColumns} onChange={(subColumns) => this.setState({subColumns})}/> </TabPane> : null} src/menu/datasource/verifycard/index.scss
@@ -146,6 +146,16 @@ margin-right: 5px; cursor: pointer; } .columns-lowercase { float: right; position: relative; z-index: 2; right: 30px; height: 0px; top: -15px; color: orange; cursor: pointer; } .columns-out { float: right; position: relative; @@ -159,7 +169,7 @@ .ant-table-thead { .copy-control { top: -18px; right: 30px; right: 55px; .anticon-copy { margin-right: 12px; } src/views/billprint/index.jsx
@@ -1043,6 +1043,21 @@ } } if (this.state.config.printPage === 'custom' && this.state.config.printScripts) { try { // eslint-disable-next-line let func = new Function('components', 'pages', 'notification', this.state.config.printScripts) func(comps, pages, notification) } catch (e) { console.warn(e) notification.warning({ top: 92, message: '自定义脚本执行错误!', duration: 5 }) } } else { while (!over) { let page = [] let count = 0 @@ -1102,6 +1117,7 @@ over = true } } } let total = pages.length let date = moment().format('YYYY-MM-DD') src/views/menudesign/index.scss
@@ -17,6 +17,13 @@ top: calc(50vh - 70px); z-index: 10; } .mini-radio { white-space: nowrap; span.ant-radio + * { padding-right: 0px; padding-left: 4px; } } .mk-hidden { text-decoration: line-through!important; span { src/views/menudesign/printmenuform/index.jsx
@@ -1,14 +1,20 @@ import React, {Component} from 'react' import PropTypes from 'prop-types' import { Form, Row, Col, InputNumber, Select, Radio, Tooltip, Input } from 'antd' import { Form, Row, Col, InputNumber, Select, Radio, Tooltip, Input, Modal } from 'antd' import { QuestionCircleOutlined, EditOutlined } from '@ant-design/icons' import CodeMirror from '@/templates/zshare/codemirror' // import './index.scss' class MainSearch extends Component { static propTpyes = { config: PropTypes.object, updateConfig: PropTypes.func } state = { visible: false, printScripts: '' } selectChange = (key, value) => { @@ -76,9 +82,22 @@ }) } onScriptChange = (val) => { this.setState({printScripts: val}) } submit = () => { const { config } = this.props const { printScripts } = this.state this.setState({visible: false}) this.props.updateConfig({...config, printScripts}) } render() { const { config } = this.props const { getFieldDecorator } = this.props.form const { visible, printScripts } = this.state const formItemLayout = { labelCol: { xs: { span: 24 }, @@ -91,6 +110,7 @@ } return ( <> <Form {...formItemLayout}> <Row> <Col span={24}> @@ -167,13 +187,19 @@ {getFieldDecorator('printPage', { initialValue: config.printPage || 'auto' })( <Radio.Group onChange={(e) => this.selectChange('printPage', e.target.value)}> <Radio.Group className="mini-radio" onChange={(e) => this.selectChange('printPage', e.target.value)}> <Radio value="auto">自适应</Radio> <Radio value="page">分页</Radio> <Radio value="custom">自定义</Radio> </Radio.Group> )} </Form.Item> </Col> {config.printPage === 'custom' ? <Col span={24}> <Form.Item label="自定义脚本"> <EditOutlined style={{color: '#1890ff'}} onClick={() => this.setState({visible: true, printScripts: config.printScripts || ''})} /> </Form.Item> </Col> : null} {config.printPage === 'page' ? <Col span={24}> <Form.Item label="每页数(条)"> {getFieldDecorator('everyPCount', { @@ -271,6 +297,19 @@ </Col> </Row> </Form> <Modal title="自定义脚本" wrapClassName="normal-css-modal" visible={visible} width={800} maskClosable={false} onOk={this.submit} onCancel={() => { this.setState({ visible: false })}} destroyOnClose > <CodeMirror mode="text/javascript" theme="cobalt" value={printScripts} onChange={this.onScriptChange} /> </Modal> </> ) } }