| | |
| | | precision: 0, |
| | | required: true |
| | | }, |
| | | // { |
| | | // type: 'radio', |
| | | // field: 'layout', |
| | | // label: '卡片布局', |
| | | // initval: wrap.layout || 'grid', |
| | | // tooltip: appType === 'mob' ? '弹性布局时,滑动加载无效' : '', |
| | | // required: false, |
| | | // options: [ |
| | | // {value: 'grid', label: '栅格布局'}, |
| | | // {value: 'flex', label: '弹性布局'}, |
| | | // ], |
| | | // controlFields: [ |
| | | // {field: 'printHeight', values: ['flex']}, |
| | | // {field: 'cardFloat', values: ['grid']}, |
| | | // ] |
| | | // }, |
| | | { |
| | | type: 'radio', |
| | | field: 'pagestyle', |
| | |
| | | flex: 1; |
| | | } |
| | | } |
| | | .card-row-list.float-center { |
| | | text-align: center; |
| | | >.ant-col { |
| | | display: inline-block; |
| | | float: none; |
| | | text-align: left; |
| | | vertical-align: top; |
| | | } |
| | | } |
| | | .card-row-list.float-right { |
| | | text-align: right; |
| | | >.ant-col { |
| | | display: inline-block; |
| | | float: none; |
| | | text-align: left; |
| | | vertical-align: top; |
| | | } |
| | | } |
| | | .card-item-box { |
| | | position: relative; |
| | | background-color: #ffffff; |
| | |
| | | data: PropTypes.object, |
| | | } |
| | | |
| | | state = { |
| | | card: null, // 卡片信息,包括正反面 |
| | | } |
| | | |
| | | /** |
| | | * @description 搜索条件初始化 |
| | | */ |
| | |
| | | |
| | | if (!card.setting.click || data.$disabled) return |
| | | |
| | | if (card.setting.click === 'menu' && card.setting.MenuID) { |
| | | let menu = { |
| | | MenuID: card.setting.MenuID, |
| | | MenuName: card.setting.MenuName, |
| | | MenuNo: card.setting.MenuNo, |
| | | type: card.setting.tabType |
| | | if (card.setting.click === 'menu') { |
| | | let menuId = card.setting.menu.slice(-1)[0] |
| | | let menu = null |
| | | |
| | | if (window.GLOB.mkThdMenus.has(menuId)) { |
| | | menu = {...window.GLOB.mkThdMenus.get(menuId)} |
| | | } else if (card.setting.MenuID) { |
| | | menu = { |
| | | MenuID: card.setting.MenuID, |
| | | MenuName: card.setting.MenuName, |
| | | type: card.setting.tabType |
| | | } |
| | | } |
| | | |
| | | let newtab = { |
| | | ...menu, |
| | | param: {} |
| | | } |
| | | if (!menu) return |
| | | |
| | | menu.param = {} |
| | | |
| | | if (card.setting.joint === 'true') { |
| | | newtab.param.$BID = data.$$uuid || '' |
| | | menu.param.$BID = data.$$uuid || '' |
| | | |
| | | Object.keys(data).forEach(key => { |
| | | if (/^\$/.test(key)) return |
| | | newtab.param[key] = data[key] |
| | | menu.param[key] = data[key] |
| | | }) |
| | | } |
| | | |
| | | MKEmitter.emit('modifyTabs', newtab, true) |
| | | MKEmitter.emit('modifyTabs', menu, true) |
| | | } else if (card.setting.click === 'link') { |
| | | let src = card.setting.linkurl |
| | | |
| | |
| | | |
| | | let code = config.wrap.code || ('modal' + config.uuid) |
| | | let tip = localStorage.getItem(code) |
| | | tip = null |
| | | |
| | | if ((data.$$uuid && tip === data.$$uuid) || (!data.$$uuid && tip)) return |
| | | |
| | |
| | | const { verify } = this.state |
| | | |
| | | let _columns = JSON.parse(JSON.stringify(verify.columns)) |
| | | |
| | | let _cols = _columns.map(col => col.Column) |
| | | let _cols = _columns.map(col => col.Column.toLowerCase()) |
| | | let names = {$up: false} |
| | | |
| | | columns.forEach(col => { |
| | | if (col.field && !_cols.includes(col.field)) { |
| | | let _type = 'Nvarchar(50)' |
| | | let _limit = '50' |
| | | if (col.type === 'number' && !col.decimal) { |
| | | _type = 'Int' |
| | | _limit = '' |
| | | } else if (col.type === 'number') { |
| | | _type = 'Decimal(18,' + col.decimal + ')' |
| | | _limit = col.decimal |
| | | } |
| | | |
| | | let _cell = { |
| | | uuid: col.uuid, |
| | | Column: col.field, |
| | | Text: col.label, |
| | | type: _type, |
| | | limit: _limit, |
| | | import: 'true', |
| | | required: 'true' |
| | | } |
| | | |
| | | if (_type !== 'Nvarchar(50)') { |
| | | _cell.min = 0 |
| | | _cell.max = 999999 |
| | | } |
| | | |
| | | _columns.push(_cell) |
| | | if (!col.field) return |
| | | if (_cols.includes(col.field.toLowerCase())) { |
| | | names.$up = true |
| | | names[col.field.toLowerCase()] = col.label |
| | | return |
| | | } |
| | | |
| | | let _type = 'Nvarchar(50)' |
| | | let _limit = '50' |
| | | if (col.type === 'number' && !col.decimal) { |
| | | _type = 'Int' |
| | | _limit = '' |
| | | } else if (col.type === 'number') { |
| | | _type = 'Decimal(18,' + col.decimal + ')' |
| | | _limit = col.decimal |
| | | } |
| | | |
| | | let _cell = { |
| | | uuid: col.uuid, |
| | | Column: col.field, |
| | | Text: col.label, |
| | | type: _type, |
| | | limit: _limit, |
| | | import: 'true', |
| | | required: 'true' |
| | | } |
| | | |
| | | if (_type !== 'Nvarchar(50)') { |
| | | _cell.min = 0 |
| | | _cell.max = 999999 |
| | | } |
| | | |
| | | _columns.push(_cell) |
| | | }) |
| | | |
| | | this.setState({ |
| | | verify: { |
| | | ...verify, |
| | | columns: _columns |
| | | } |
| | | }, () => { |
| | | this.resetUniqueColumns() |
| | | }) |
| | | if (names.$up) { |
| | | const that = this |
| | | |
| | | confirm({ |
| | | content: '部分字段名称与显示列不一致,是否更新?', |
| | | onOk() { |
| | | _columns = _columns.map(item => { |
| | | let key = item.Column.toLowerCase() |
| | | |
| | | if (names[key]) { |
| | | item.Text = names[key] |
| | | } |
| | | |
| | | return item |
| | | }) |
| | | |
| | | that.setState({ |
| | | verify: { |
| | | ...verify, |
| | | columns: _columns |
| | | } |
| | | }, () => { |
| | | that.resetUniqueColumns() |
| | | }) |
| | | }, |
| | | onCancel() { |
| | | that.setState({ |
| | | verify: { |
| | | ...verify, |
| | | columns: _columns |
| | | } |
| | | }, () => { |
| | | that.resetUniqueColumns() |
| | | }) |
| | | } |
| | | }) |
| | | } else { |
| | | this.setState({ |
| | | verify: { |
| | | ...verify, |
| | | columns: _columns |
| | | } |
| | | }, () => { |
| | | this.resetUniqueColumns() |
| | | }) |
| | | } |
| | | } |
| | | |
| | | clearField = () => { |
| | |
| | | const { verify } = this.state |
| | | |
| | | let columns = fromJS(verify.columns).toJS() |
| | | let fields = columns.map(item => item.Column) |
| | | let fields = columns.map(item => item.Column.toLowerCase()) |
| | | let names = {$up: false} |
| | | |
| | | config.columns.forEach(item => { |
| | | if (fields.includes(item.field) || !item.field) return |
| | | fields.push(item.field) |
| | | if (!item.field) return |
| | | if (fields.includes(item.field.toLowerCase())) { |
| | | names.$up = true |
| | | names[item.field.toLowerCase()] = item.label |
| | | return |
| | | } |
| | | |
| | | let cell = { |
| | | Column: item.field, |
| | |
| | | |
| | | if (config.subtype === 'dualdatacard') { |
| | | config.subColumns.forEach(item => { |
| | | if (fields.includes(item.field) || !item.field) return |
| | | fields.push(item.field) |
| | | if (!item.field) return |
| | | if (fields.includes(item.field.toLowerCase())) { |
| | | names.$up = true |
| | | names[item.field.toLowerCase()] = item.label |
| | | return |
| | | } |
| | | |
| | | let cell = { |
| | | Column: item.field, |
| | |
| | | }) |
| | | } |
| | | |
| | | this.setState({ |
| | | verify: {...verify, columns: columns} |
| | | }) |
| | | if (names.$up) { |
| | | const that = this |
| | | |
| | | confirm({ |
| | | content: '部分字段名称与显示列不一致,是否更新?', |
| | | onOk() { |
| | | columns = columns.map(item => { |
| | | let key = item.Column.toLowerCase() |
| | | |
| | | if (names[key]) { |
| | | item.Text = names[key] |
| | | } |
| | | |
| | | return item |
| | | }) |
| | | |
| | | that.setState({ |
| | | verify: {...verify, columns: columns} |
| | | }) |
| | | }, |
| | | onCancel() { |
| | | that.setState({ |
| | | verify: {...verify, columns: columns} |
| | | }) |
| | | } |
| | | }) |
| | | } else { |
| | | this.setState({ |
| | | verify: {...verify, columns: columns} |
| | | }) |
| | | } |
| | | } |
| | | |
| | | clearField = () => { |