| | |
| | | |
| | | class VerifyCard extends Component { |
| | | static propTpyes = { |
| | | btnTab: PropTypes.any, // 表单标签页(按钮)参数 |
| | | config: PropTypes.any, // 表单标签页参数 |
| | | card: PropTypes.object, // 按钮信息 |
| | | columns: PropTypes.array |
| | |
| | | } |
| | | |
| | | UNSAFE_componentWillMount() { |
| | | const { columns, config, card, btnTab } = this.props |
| | | const { columns, config, card } = this.props |
| | | const { appType } = this.state |
| | | let _verify = fromJS(card.verify || {}).toJS() |
| | | |
| | |
| | | oriVerify: fromJS(_verify).toJS() |
| | | }) |
| | | |
| | | if (card.intertype === 'inner') { |
| | | return |
| | | } |
| | | if (card.intertype === 'inner') return |
| | | |
| | | new Promise(resolve => { |
| | | let _fields = [] |
| | | if (card.OpenType === 'form') { |
| | | _fields.push({ |
| | |
| | | label: card.label, |
| | | type: 'text' |
| | | }) |
| | | resolve(_fields) |
| | | } else if (card.modal && (card.OpenType === 'pop' || !card.OpenType)) { |
| | | _fields = card.modal.fields || [] |
| | | resolve(_fields) |
| | | // } else if (card.OpenType === 'pop') { |
| | | // Api.getCloudConfig({ |
| | | // func: 'sPC_Get_LongParam', |
| | | // MenuID: card.uuid |
| | | // }).then(res => { |
| | | // if (res.status) { |
| | | // let _LongParam = '' |
| | | // if (res.LongParam) { |
| | | // try { |
| | | // _LongParam = JSON.parse(window.decodeURIComponent(window.atob(res.LongParam))) |
| | | // } catch (e) { |
| | | // console.warn('Parse Failure') |
| | | // _LongParam = '' |
| | | // } |
| | | // } |
| | | |
| | | // if (!_LongParam) { |
| | | // message.warning('未获取到表单信息,部分验证将无法设置!') |
| | | // } else { |
| | | // _LongParam = updateForm(_LongParam) |
| | | // _fields = _LongParam.fields || [] |
| | | // } |
| | | // } else { |
| | | // notification.warning({ |
| | | // top: 92, |
| | | // message: res.message, |
| | | // duration: 5 |
| | | // }) |
| | | // } |
| | | // resolve(_fields) |
| | | // }) |
| | | } else { |
| | | resolve(_fields) |
| | | } |
| | | }).then(_fields => { |
| | | |
| | | let _usefulfields = ['UserName', 'FullName', 'RoleID', 'mk_departmentcode', 'mk_organization', 'mk_user_type', 'mk_nation', 'mk_province', 'mk_city', 'mk_district', 'mk_address', 'BillCode', 'BVoucher', 'FIBVoucherDate', 'FiYear', 'ModularDetailCode', 'tbid', 'mk_deleted'] |
| | | let _declare = ['@UserName nvarchar(50)', '@FullName nvarchar(50)', '@RoleID nvarchar(512)', '@mk_departmentcode nvarchar(512)', '@mk_organization nvarchar(512)', '@mk_user_type nvarchar(20)', '@mk_nation nvarchar(50)', '@mk_province nvarchar(50)', '@mk_city nvarchar(50)', '@mk_district nvarchar(50)', '@mk_address nvarchar(100)', '@ErrorCode nvarchar(50)', '@retmsg nvarchar(4000)', '@BillCode nvarchar(50)', '@BVoucher nvarchar(50)', '@FIBVoucherDate nvarchar(50)', '@FiYear nvarchar(50)', '@ModularDetailCode nvarchar(50)', '@bid nvarchar(50)', '@tbid nvarchar(50)', '@mk_deleted int'] |
| | | let _select = ['@UserName=\'\'', '@FullName=\'\'', '@RoleID=\'\'', '@mk_departmentcode=\'\'', '@mk_organization=\'\'', '@mk_user_type=\'\'', '@mk_nation=\'\'', '@mk_province=\'\'', '@mk_city=\'\'', '@mk_district=\'\'', '@mk_address=\'\'', '@ErrorCode=\'\'', '@retmsg=\'\'', '@BillCode=\'\'', '@BVoucher=\'\'', '@FIBVoucherDate=\'\'', '@FiYear=\'\'', '@ModularDetailCode=\'\'', '@bid=\'\'', '@mk_deleted=1'] |
| | |
| | | _fields.unshift({ uuid: 'BID', field: 'BID', label: 'BID', type: 'text' }) |
| | | } |
| | | |
| | | let hasColumn = false |
| | | if (columns && columns.length > 0) { |
| | | if (btnTab) { // 表单标签 |
| | | hasColumn = btnTab.Ot !== 'notRequired' |
| | | } else if (card.Ot !== 'notRequired') { |
| | | hasColumn = true |
| | | } |
| | | } |
| | | |
| | | let unionFields = fromJS(_fields).toJS() |
| | | let formArr = _fields.map(_f => _f.field.toLowerCase()) |
| | | |
| | | if (hasColumn) { |
| | | if (card.Ot !== 'notRequired' && columns) { |
| | | columns.forEach(_f => { |
| | | if (_f.field && !formArr.includes(_f.field.toLowerCase())) { |
| | | formArr.push(_f.field.toLowerCase()) |
| | | if (!_f.field) return |
| | | |
| | | let key = _f.field.toLowerCase() |
| | | |
| | | if (!formArr.includes(key)) { |
| | | formArr.push(key) |
| | | unionFields.push(_f) |
| | | } |
| | | if (!_f.field || fieldArr.includes(_f.field.toLowerCase())) return |
| | | |
| | | fieldArr.push(_f.field.toLowerCase()) |
| | | if (fieldArr.includes(key)) return |
| | | |
| | | fieldArr.push(key) |
| | | _usefulfields.push(_f.field) |
| | | |
| | | if (_f.datatype) { // 自定义字段 |
| | |
| | | unionFields, |
| | | uniqueFields |
| | | }) |
| | | }) |
| | | } |
| | | |
| | | componentDidMount() { |
| | |
| | | } |
| | | |
| | | scriptsChange = (values) => { |
| | | const { columns, card } = this.props |
| | | |
| | | let verify = fromJS(this.state.verify).toJS() |
| | | |
| | | if (values.uuid) { |
| | |
| | | verify.scripts.push(values) |
| | | } |
| | | |
| | | if (/@bvoucher(\s|\))/ig.test(values.sql)) { |
| | | if (verify.voucher && verify.voucher.enabled) { |
| | | |
| | | } else if (card.Ot !== 'notRequired' && columns) { |
| | | let hasvoucher = false |
| | | columns.forEach(_f => { |
| | | if (!_f.field) return |
| | | |
| | | if (_f.field.toLowerCase() === 'bvoucher') { |
| | | hasvoucher = true |
| | | } |
| | | }) |
| | | |
| | | if (!hasvoucher) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: '未启用创建凭证,且字段集中不存在凭证字段(bvoucher)。', |
| | | duration: 5 |
| | | }) |
| | | } |
| | | } else { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: '未启用创建凭证,且字段集中不存在凭证字段(bvoucher)。', |
| | | duration: 5 |
| | | }) |
| | | } |
| | | } |
| | | |
| | | MKEmitter.emit('editLineId', values.uuid) |
| | | |
| | | this.setState({ verify }) |