| | |
| | | vertical-align: bottom; |
| | | } |
| | | } |
| | | .fixed-table-height { |
| | | tr, td, th { |
| | | overflow: hidden; |
| | | } |
| | | ::-webkit-scrollbar { |
| | | width: 17px; |
| | | height: 17px; |
| | | } |
| | | ::-webkit-scrollbar-thumb { |
| | | background: rgba(193, 193, 193, 0.7); |
| | | } |
| | | ::-webkit-scrollbar-track { |
| | | background: #fafafa; |
| | | } |
| | | .ant-table-body { |
| | | border-bottom: 1px solid rgba(0, 0, 0, .05); |
| | | .ant-table-fixed { |
| | | border-bottom: 0; |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 系统色设置 |
| | | .mk-main-view { |
| | |
| | | controlFields: subtype !== 'propcard' ? [ |
| | | {field: 'printHeight', values: ['flex']}, |
| | | {field: 'cardFloat', values: ['grid']}, |
| | | {field: 'zHeight', values: ['grid']}, |
| | | ] : [{field: 'cardFloat', values: ['grid']}], |
| | | forbid: subtype === 'tablecard' |
| | | }, |
| | | { |
| | | type: 'number', |
| | | field: 'zHeight', |
| | | label: '最大高度', |
| | | initval: wrap.zHeight || '', |
| | | tooltip: '卡片内容区的最大高度(不包含标题、翻页等元素),添加高度后组件中第一个属性卡将固定于头部。注:小于等于100时为高度的百分比。', |
| | | min: 10, |
| | | max: 3000, |
| | | precision: 0, |
| | | required: false, |
| | | forbid: subtype !== 'datacard' || appType === 'mob' |
| | | }, |
| | | { |
| | | type: 'radio', |
| | | field: 'pagestyle', |
| | | label: '分页风格', |
| | |
| | | required: true |
| | | }, |
| | | { |
| | | type: 'number', |
| | | field: 'zHeight', |
| | | label: '最大高度', |
| | | initval: wrap.zHeight || '', |
| | | tooltip: '卡片内容区的最大高度(不包含标题、翻页等元素),添加高度后组件中第一个属性卡将固定于头部。注:小于等于100时为高度的百分比。', |
| | | min: 10, |
| | | max: 3000, |
| | | precision: 0, |
| | | required: false, |
| | | forbid: appType === 'mob' |
| | | }, |
| | | { |
| | | type: 'radio', |
| | | field: 'pagestyle', |
| | | label: '分页风格', |
| | |
| | | tooltip: '设置卡片区域的最小宽度,显示区域小于此值将出现横向滚动。', |
| | | required: false |
| | | }, |
| | | { |
| | | type: 'number', |
| | | field: 'zHeight', |
| | | label: '高度', |
| | | min: 10, |
| | | max: 5000, |
| | | precision: 0, |
| | | initval: wrap.zHeight, |
| | | tooltip: '卡片区域高度,内容超出时纵向滚动。注:小于等于100时为高度的百分比,第一个扩展属性卡将定位在顶部。', |
| | | required: false, |
| | | forbid: appType === 'mob' |
| | | }, |
| | | { |
| | | type: 'color', |
| | | field: 'zBColor', |
| | | label: '边框颜色', |
| | | initval: wrap.zBColor || 'transparent', |
| | | tooltip: '卡片区域设置高度或最小宽度时,滚动区域边框的颜色。', |
| | | required: false |
| | | }, |
| | | // { |
| | | // type: 'color', |
| | | // field: 'zBColor', |
| | | // label: '边框颜色', |
| | | // initval: wrap.zBColor || 'transparent', |
| | | // tooltip: '卡片区域设置高度或最小宽度时,滚动区域边框的颜色。', |
| | | // required: false |
| | | // }, |
| | | { |
| | | type: 'radio', |
| | | field: 'permission', |
| | |
| | | <ProfileOutlined className="profile" title="setting" onClick={() => this.profileAction()} /> |
| | | </div> |
| | | } trigger="hover"> |
| | | <Button type="link" className="submit mk-primary" onDoubleClick={this.changeMenu} style={resetStyle(group.subButton.style)}>{group.subButton.label}</Button> |
| | | <Button type="link" className="submit" onDoubleClick={this.changeMenu} style={resetStyle(group.subButton.style)}>{group.subButton.label}</Button> |
| | | </Popover> |
| | | {group.resetButton && group.resetButton.enable === 'true' ? <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={ |
| | | <div className="mk-popover-control"> |
| | |
| | | field: 'height', |
| | | label: '表格高度', |
| | | initval: wrap.height || '', |
| | | tooltip: '表格高度,空值时高度自适应。注:小于等于100时为高度的百分比。', |
| | | tooltip: '表格内容区的高度(不包含表头),空值时高度自适应。注:小于等于100时为高度的百分比。', |
| | | min: 10, |
| | | max: 3000, |
| | | precision: 0, |
| | |
| | | { |
| | | type: 'number', |
| | | field: 'height', |
| | | label: '高度', |
| | | label: '表格高度', |
| | | initval: wrap.height || '', |
| | | tooltip: '表格高度,空值时高度自适应。注:小于等于100时为高度的百分比。', |
| | | tooltip: '表格内容区的高度(不包含表头),空值时高度自适应。注:小于等于100时为高度的百分比。', |
| | | min: 10, |
| | | max: 3000, |
| | | precision: 0, |
| | |
| | | { |
| | | type: 'number', |
| | | field: 'height', |
| | | label: '高度', |
| | | label: '表格高度', |
| | | initval: wrap.height || '', |
| | | tooltip: '表格高度,空值时高度自适应。注:小于等于100时为高度的百分比。', |
| | | tooltip: '表格内容区的高度(不包含表头),空值时高度自适应。注:小于等于100时为高度的百分比。', |
| | | min: 10, |
| | | max: 3000, |
| | | precision: 0, |
| | |
| | | } |
| | | } |
| | | |
| | | if (_config.wrap.zHeight) { |
| | | _config.wrap.zHeight = _config.wrap.zHeight <= 100 ? _config.wrap.zHeight + 'vh' : _config.wrap.zHeight |
| | | if (_config.style) { |
| | | delete _config.style.height |
| | | } |
| | | _config.wrap.layout += ' fix-height' |
| | | } else { |
| | | _config.wrap.zHeight = 'none' |
| | | } |
| | | |
| | | this.setState({ |
| | | pageSize: _config.setting.pageSize || 10, |
| | | pageOptions, |
| | |
| | | {config.wrap.pickup === 'true' && this.state.data.length > 0 ? <div className="pickup-wrap"><Switch title="收起" checkedChildren="开" unCheckedChildren="关" checked={pickup} onChange={this.pickupChange} /></div> : null} |
| | | <div className={`data-zoom ${config.wrap.wrapClass}`}> |
| | | {switchable ? <div className={'prev-page ' + (pageIndex === 1 ? 'disabled' : '')} onClick={this.prevPage}><div><div><img src={preImg} alt=""/></div></div></div> : null} |
| | | <Row className={'card-row-list ' + config.wrap.layout}> |
| | | <Row className={'card-row-list ' + config.wrap.layout} style={{maxHeight: config.wrap.zHeight}}> |
| | | {precards.map((item, index) => ( |
| | | <Col key={'pre' + index} className="extend-card" style={item.wStyle} span={item.setting.width || 6}> |
| | | {item.setting.cardRole === 'header' ? <TableHeader card={item} data={extendData} refresh={this.refreshByHeader}> |
| | |
| | | |
| | | .pickup-wrap { |
| | | float: right; |
| | | margin-bottom: 3px; |
| | | button { |
| | | margin-top: 3px; |
| | | } |
| | |
| | | .card-row-list { |
| | | flex: 10; |
| | | max-width: 100%; |
| | | } |
| | | .card-row-list.fix-height { |
| | | border: 1px solid #e8e8e8; |
| | | border-radius: 4px; |
| | | overflow-y: auto; |
| | | .extend-card:first-child { |
| | | position: sticky; |
| | | top: 0; |
| | | z-index: 1; |
| | | .card-item-box { |
| | | margin-top: 0!important; |
| | | margin-bottom: 0!important; |
| | | } |
| | | } |
| | | div:last-child { |
| | | .card-item-box { |
| | | border-bottom: none!important; |
| | | } |
| | | } |
| | | } |
| | | .card-row-list.flex-layout { |
| | | display: flex; |
| | |
| | | } |
| | | } |
| | | } |
| | | .custom-data-card-box::-webkit-scrollbar { |
| | | .custom-data-card-box::-webkit-scrollbar, .custom-data-card-box .card-row-list::-webkit-scrollbar { |
| | | width: 7px; |
| | | height: 7px; |
| | | } |
| | | .custom-data-card-box::-webkit-scrollbar-thumb { |
| | | .custom-data-card-box::-webkit-scrollbar-thumb, .custom-data-card-box .card-row-list::-webkit-scrollbar-thumb { |
| | | border-radius: 5px; |
| | | box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.13); |
| | | background: rgba(0, 0, 0, 0.13); |
| | | } |
| | | .custom-data-card-box::-webkit-scrollbar-track { |
| | | .custom-data-card-box::-webkit-scrollbar-track, .custom-data-card-box .card-row-list::-webkit-scrollbar-track { |
| | | box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05); |
| | | border-radius: 3px; |
| | | border: 1px solid rgba(0, 0, 0, 0.07); |
| | |
| | | |
| | | _config.wrap.wrapClass = `${_config.wrap.selStyle} ${_config.wrap.cardType || ''}` |
| | | |
| | | if (_config.wrap.zHeight || _config.wrap.minWidth) { |
| | | if (_config.wrap.zHeight) { |
| | | _config.wrap.zHeight = _config.wrap.zHeight <= 100 ? _config.wrap.zHeight + 'vh' : _config.wrap.zHeight |
| | | _config.wrap.wrapClass += ' fix-height' |
| | | } |
| | | _config.wrap.minWidth = _config.wrap.minWidth ? _config.wrap.minWidth + 'px' : '100%' |
| | | _config.wrap.zoomStyle = { |
| | | maxHeight: _config.wrap.zHeight || 'none', |
| | | '--mk-data-zoom-width': _config.wrap.minWidth |
| | | } |
| | | } else { |
| | | _config.wrap.zoomStyle = null |
| | | } |
| | | |
| | | if (_config.wrap.shifting === 'true') { |
| | | _config.wrap.shifting = 'shifting' |
| | | } else { |
| | |
| | | if (_config.wrap.maxPageSize) { |
| | | pageOptions = pageOptions.filter(item => item <= _config.wrap.maxPageSize) |
| | | } |
| | | } |
| | | |
| | | if (_config.wrap.zHeight) { |
| | | _config.wrap.zHeight = _config.wrap.zHeight <= 100 ? _config.wrap.zHeight + 'vh' : _config.wrap.zHeight |
| | | } |
| | | |
| | | if (_config.wrap.zHeight || _config.wrap.minWidth) { |
| | | _config.wrap.zoomStyle = { |
| | | border: `1px solid ${_config.wrap.zBColor || 'transparent'}`, |
| | | height: _config.wrap.zHeight || 'auto' |
| | | } |
| | | } else { |
| | | _config.wrap.zoomStyle = null |
| | | } |
| | | |
| | | this.setState({ |
| | |
| | | } |
| | | {config.wrap.pickup === 'true' && this.state.data.length > 0 ? <div className="pickup-wrap"><Switch title="收起" checkedChildren="开" unCheckedChildren="关" checked={pickup} onChange={this.pickupChange} /></div> : null} |
| | | <div className={config.wrap.zoomStyle ? 'data-zoom-box' : ''} style={config.wrap.zoomStyle}> |
| | | <div className={`data-zoom ${config.wrap.wrapClass}`} style={config.wrap.minWidth ? {minWidth: config.wrap.minWidth} : null}> |
| | | <Row className={'card-row-list '}> |
| | | <div className={`data-zoom ${config.wrap.wrapClass}`}> |
| | | <Row className="card-row-list"> |
| | | {precards.map((item, index) => ( |
| | | <Col key={'pre' + index} className="extend-card" style={item.wStyle} span={item.setting.width || 6}> |
| | | {item.setting.cardRole === 'header' ? <TableHeader card={item} data={extendData} refresh={this.refreshByHeader}> |
| | |
| | | |
| | | .pickup-wrap { |
| | | float: right; |
| | | margin-bottom: 3px; |
| | | button { |
| | | margin-top: 3px; |
| | | } |
| | |
| | | .data-zoom { |
| | | display: flex; |
| | | position: relative; |
| | | min-width: var(--mk-data-zoom-width, 100%); |
| | | .mk-disabled { |
| | | >.card-item-box { |
| | | cursor: not-allowed; |
| | |
| | | .card-row-list { |
| | | flex: 10; |
| | | max-width: 100%; |
| | | } |
| | | .card-row-list.flex-layout { |
| | | display: flex; |
| | | width: 100%; |
| | | >.ant-col { |
| | | width: 5%; |
| | | flex: 1; |
| | | } |
| | | } |
| | | .card-item-box { |
| | | position: relative; |
| | |
| | | width: 100%; |
| | | overflow-x: auto; |
| | | overflow-y: auto; |
| | | padding-bottom: 10px; |
| | | border: 1px solid #e8e8e8; |
| | | border-radius: 4px; |
| | | |
| | | .extend-card:first-child { |
| | | position: sticky; |
| | | top: 0px; |
| | | z-index: 2; |
| | | .fix-height .card-row-list { |
| | | .extend-card:first-child { |
| | | position: sticky; |
| | | top: 0; |
| | | z-index: 1; |
| | | .card-item-box { |
| | | margin-top: 0!important; |
| | | margin-bottom: 0!important; |
| | | } |
| | | } |
| | | div:last-child { |
| | | .sub-card-wrap { |
| | | .card-item-box { |
| | | border-bottom: none!important; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .data-zoom-box::-webkit-scrollbar { |
| | | height: 9px; |
| | | width: 9px; |
| | | width: 7px; |
| | | } |
| | | .data-zoom-box::-webkit-scrollbar-thumb { |
| | | border-radius: 5px; |
| | |
| | | } |
| | | } |
| | | } |
| | | .double-data-card-box::-webkit-scrollbar { |
| | | .double-data-card-box::-webkit-scrollbar, .double-data-card-box .card-row-list::-webkit-scrollbar { |
| | | width: 7px; |
| | | height: 7px; |
| | | } |
| | | .double-data-card-box::-webkit-scrollbar-thumb { |
| | | .double-data-card-box::-webkit-scrollbar-thumb, .double-data-card-box .card-row-list::-webkit-scrollbar-thumb { |
| | | border-radius: 5px; |
| | | box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.13); |
| | | background: rgba(0, 0, 0, 0.13); |
| | | } |
| | | .double-data-card-box::-webkit-scrollbar-track { |
| | | .double-data-card-box::-webkit-scrollbar-track, .double-data-card-box .card-row-list::-webkit-scrollbar-track { |
| | | box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05); |
| | | border-radius: 3px; |
| | | border: 1px solid rgba(0, 0, 0, 0.07); |
| | |
| | | } |
| | | |
| | | return ( |
| | | <div className={`normal-custom-table ${setting.tableHeader || ''} ${setting.parity === 'true' ? 'mk-parity' : ''} ${height ? 'fixed-height' : ''} ${setting.mode || ''} table-vertical-${setting.vertical || 'middle'} table-col-${columns.length} ${fixed}`} style={style}> |
| | | <div className={`normal-custom-table ${setting.tableHeader || ''} ${setting.parity === 'true' ? 'mk-parity' : ''} ${height ? 'fixed-table-height' : ''} ${setting.mode || ''} table-vertical-${setting.vertical || 'middle'} table-col-${columns.length} ${fixed}`} style={style}> |
| | | {(setting.tableType === 'radio' || setting.tableType === 'checkbox') && data && data.length > 0 ? |
| | | <Switch title="收起" className="main-pickup" checkedChildren="开" unCheckedChildren="关" checked={pickup} onChange={this.pickupChange} /> : null |
| | | } |
| | |
| | | // } |
| | | } |
| | | } |
| | | // .ant-table-body::-webkit-scrollbar { |
| | | // width: 8px; |
| | | // height: 10px; |
| | | // } |
| | | // ::-webkit-scrollbar-thumb { |
| | | // border-radius: 5px; |
| | | // box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.13); |
| | | // background: rgba(0, 0, 0, 0.13); |
| | | // } |
| | | // ::-webkit-scrollbar-track {/*滚动条里面轨道*/ |
| | | // box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05); |
| | | // border-radius: 3px; |
| | | // border: 1px solid rgba(0, 0, 0, 0.07); |
| | | // background: rgba(0, 0, 0, 0); |
| | | // } |
| | | .fix-header { |
| | | .ant-table-body { |
| | | min-height: unset |
| | |
| | | background-color: #fafafa!important; |
| | | } |
| | | } |
| | | .normal-custom-table:not(.fixed-height) { |
| | | .normal-custom-table:not(.fixed-table-height) { |
| | | .ant-table-body::-webkit-scrollbar { |
| | | width: 8px; |
| | | height: 10px; |
| | |
| | | border-radius: 3px; |
| | | border: 1px solid rgba(0, 0, 0, 0.07); |
| | | background: rgba(0, 0, 0, 0); |
| | | } |
| | | } |
| | | .normal-custom-table.fixed-height { |
| | | .ant-table-body { |
| | | border-bottom: 1px solid rgba(0, 0, 0, .05); |
| | | .ant-table-fixed { |
| | | border-bottom: 0; |
| | | } |
| | | } |
| | | } |
| | | .normal-custom-table.hidden { |
| | |
| | | {setting.hasSubmit && edData.length > 0 ? <div className="edit-custom-table-btn-wrap" style={submit.wrapStyle}> |
| | | <Button style={submit.style} onClick={() => setTimeout(() => {this.submit()}, 10)} loading={loading} className="submit-table" type="link">提交</Button> |
| | | </div> : null} |
| | | <div className={`edit-custom-table ${setting.tableHeader || ''} ${setting.parity === 'true' ? 'mk-parity' : ''} ${height ? 'fixed-height' : ''} ${setting.mode || ''} table-vertical-${setting.vertical || ''} mk-edit-${setting.editType || 'simple'}`} style={style}> |
| | | <div className={`edit-custom-table ${setting.tableHeader || ''} ${setting.parity === 'true' ? 'mk-parity' : ''} ${height ? 'fixed-table-height' : ''} ${setting.mode || ''} table-vertical-${setting.vertical || ''} mk-edit-${setting.editType || 'simple'}`} style={style}> |
| | | <Table |
| | | rowKey="$$uuid" |
| | | components={components} |
| | |
| | | background-color: #fafafa!important; |
| | | } |
| | | } |
| | | .edit-custom-table:not(.fixed-height) { |
| | | .edit-custom-table:not(.fixed-table-height) { |
| | | .ant-table-body::-webkit-scrollbar { |
| | | width: 8px; |
| | | height: 10px; |
| | |
| | | border-radius: 3px; |
| | | border: 1px solid rgba(0, 0, 0, 0.07); |
| | | background: rgba(0, 0, 0, 0); |
| | | } |
| | | } |
| | | .edit-custom-table.fixed-height { |
| | | .ant-table-body { |
| | | border-bottom: 1px solid rgba(0, 0, 0, .05); |
| | | .ant-table-fixed { |
| | | border-bottom: 0; |
| | | } |
| | | } |
| | | } |
| | | .edit-custom-table.hidden { |
| | |
| | | } |
| | | |
| | | return ( |
| | | <div className={'normal-data-table mingke-table ' + (height ? 'fixed-height' : '') + ` table-col-${columns.length}`}> |
| | | <div className={'normal-data-table mingke-table ' + (height ? 'fixed-table-height' : '') + ` table-col-${columns.length}`}> |
| | | <Table |
| | | components={components} |
| | | size={setting.size || 'middle'} |
| | |
| | | } |
| | | } |
| | | } |
| | | .normal-data-table:not(.fixed-height) { |
| | | .normal-data-table:not(.fixed-table-height) { |
| | | .ant-table-body::-webkit-scrollbar { |
| | | width: 8px; |
| | | height: 10px; |
| | |
| | | border-radius: 3px; |
| | | border: 1px solid rgba(0, 0, 0, 0.07); |
| | | background: rgba(0, 0, 0, 0); |
| | | } |
| | | } |
| | | .normal-data-table.fixed-height { |
| | | .ant-table-body { |
| | | border-bottom: 1px solid rgba(0, 0, 0, .05); |
| | | .ant-table-fixed { |
| | | border-bottom: 0; |
| | | } |
| | | } |
| | | } |
| | |
| | | duration: 5 |
| | | }) |
| | | return false |
| | | } else if (/\send\s+begin\s/ig.test(sql)) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: `end 后不可紧跟 begin。`, |
| | | duration: 5 |
| | | }) |
| | | return false |
| | | } else if (type === 'customscript' && /\son\s+[a-z0-9_]+\.[a-z0-9_]+\s*=\s*[a-z0-9_]+\.[a-z0-9_]+/ig.test(sql)) { |
| | | let list = sql.match(/\son\s+[a-z0-9_]+\.[a-z0-9_]+\s*=\s*[a-z0-9_]+\.[a-z0-9_]+/ig) |
| | | let errors = [] |
| | |
| | | begin |
| | | select @retmsg='X' from s_my_works_flow_role where works_flow_id=@ID@ and works_flow_code=@works_flow_code@ and userid=@userid@ |
| | | |
| | | if @retmsg !='' |
| | | if @retmsg !='' |
| | | begin |
| | | select @ErrorCode='E', @retmsg='当前单据已审核,请刷新后重试' |
| | | goto aaa |
| | | goto aaa |
| | | end |
| | | |
| | | if @dataM@ !='' |
| | | begin |
| | | set @retmsg ='' |
| | | select @retmsg='X' from s_my_works_flow_role where works_flow_id=@ID@ and works_flow_code=@works_flow_code@ and deleted=0 |
| | | |
| | | if @retmsg != '' |
| | | begin |
| | | goto goto_mk |
| | | end |
| | | end |
| | | |
| | | select @retmsg='页面数据已更新,或没有当前单据的审批权限' |
| | | goto aaa |
| | | end |
| | | end |
| | | |
| | | goto_mk: |
| | | |
| | | set @retmsg='' |
| | | |
| | | update s_my_works_flow set status=@status@,statusname=@statusname@,works_flow_param=@works_flow_param@,works_flow_detail_id=@works_flow_detail_id@,modifydate=getdate(),upid=@time_id@,modifyuserid=@userid@,modifyuser=@username,modifystaff=@fullname${verify.flowRemark ? ',remark=@' + verify.flowRemark : ''} |