UNPKG

vue-ant-patterns

Version:

vue-ant-patterns

477 lines (410 loc) 15 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _moment = require('moment'); var _moment2 = _interopRequireDefault(_moment); var _extend = require('extend'); var _extend2 = _interopRequireDefault(_extend); var _vueTypes = require('ant-design-vue/lib/_util/vue-types'); var _vueTypes2 = _interopRequireDefault(_vueTypes); var _antDesignVue = require('ant-design-vue'); var _bConstant = require('../../biz-lib/b-constant'); var _bConstant2 = _interopRequireDefault(_bConstant); var _bSearchHelper = require('../../biz-lib/b-search-helper'); var _bSearchHelper2 = _interopRequireDefault(_bSearchHelper); var _bTableCollection = require('../../biz-lib/b-table-collection'); var _bTableCollection2 = _interopRequireDefault(_bTableCollection); var _en_US = require('./locale/en_US'); var _en_US2 = _interopRequireDefault(_en_US); var _zh_CN = require('./locale/zh_CN'); var _zh_CN2 = _interopRequireDefault(_zh_CN); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var langType = { 'zh-cn': _zh_CN2['default'], 'en-us': _en_US2['default'] }; /* * @Author: w.pengfei * @Date: 2020-06-22 13:29:35 * @LastEditTime: 2021-05-19 17:05:16 * @Description: '' * @LastEditors: daibing */ var TextArea = _antDesignVue.Input.TextArea; var inputAttr_err = 'data-___err'; var getElAttr = function getElAttr(el, val) { if (el && el.nodeType && el.nodeType === 1) { if (val) { el.setAttribute(inputAttr_err, val); return; } return el.getAttribute(inputAttr_err); } }; exports['default'] = { name: 'mixin-form-item', props: { localeCode: _vueTypes2['default'].string.def('zh-cn') }, // inject: ['subFields'], created: function created() { // 去掉防抖, 输入框看起来稍微好一点 // this.onFieldInput = debounceHandler(this.onFieldInput); }, data: function data() { return { textareaCache: {}, langType: langType }; }, methods: { getDisable: function getDisable(sectionCode, fieldName, rawDis) { var strConnector = this.strConnector; var _$props = this.$props, forceDisableField = _$props.forceDisableField, forceEnableField = _$props.forceEnableField; var isDisabled = rawDis; var fieldId = this.combinationFieldName(null, sectionCode, fieldName); fieldId = fieldId.replace('null' + strConnector, ''); if (forceDisableField.includes(fieldId)) { isDisabled = true; } if (forceEnableField.includes(fieldId)) { isDisabled = false; } if ((forceEnableField.length || forceDisableField.length) && (forceDisableField.includes(fieldId) || forceEnableField.includes(fieldId))) { return isDisabled; } return isDisabled; }, getRequired: function getRequired(sectionCode, fieldName, rawReq) { var strConnector = this.strConnector; var forceRequiredField = this.forceRequiredField, forceUnRequiredField = this.forceUnRequiredField; var isRequired = rawReq; var fieldId = this.combinationFieldName(null, sectionCode, fieldName); fieldId = fieldId.replace('null' + strConnector, ''); if (forceRequiredField.includes(fieldId)) { isRequired = true; } if (forceUnRequiredField.includes(fieldId)) { isRequired = false; } if ((forceRequiredField.length || forceUnRequiredField.length) && (forceRequiredField.includes(fieldId) || forceUnRequiredField.includes(fieldId))) { return isRequired; } return isRequired; }, // 文本框 render$TEXT: function render$TEXT(fieldPropertys) { var h = this.$createElement; var nFieldName = fieldPropertys.nFieldName, label = fieldPropertys.label, sloton = fieldPropertys.sloton, rules = fieldPropertys.rules, isReadOnly = fieldPropertys.isReadOnly, slotprops = fieldPropertys.slotprops, isDisabled = fieldPropertys.isDisabled, value = fieldPropertys.value; var _$props2 = this.$props, form = _$props2.form, localeCode = _$props2.localeCode; var getFieldDecorator = form.getFieldDecorator; var langType = this.langType; var pleaseEnter = langType[localeCode].pleaseEnter; var inpRops = { props: (0, _extends3['default'])({ disabled: isDisabled || isReadOnly, allowClear: true, placeholder: pleaseEnter + label }, slotprops), on: sloton, ref: nFieldName + '_TEXT' }; return getFieldDecorator(nFieldName, { initialValue: value, rules: rules })(h('a-input', inpRops)); }, // 数字文本框 render$NUMBER: function render$NUMBER(fieldPropertys) { var h = this.$createElement; var nFieldName = fieldPropertys.nFieldName, label = fieldPropertys.label, isReadOnly = fieldPropertys.isReadOnly, slotprops = fieldPropertys.slotprops, isDisabled = fieldPropertys.isDisabled, sloton = fieldPropertys.sloton, rules = fieldPropertys.rules, value = fieldPropertys.value; var _$props3 = this.$props, form = _$props3.form, localeCode = _$props3.localeCode; var getFieldDecorator = form.getFieldDecorator; var langType = this.langType; var pleaseEnter = langType[localeCode].pleaseEnter; var inpRops = { props: (0, _extends3['default'])({ disabled: isDisabled || isReadOnly, readonly: isReadOnly, placeholder: pleaseEnter + label }, slotprops), on: sloton, ref: nFieldName + '_NUMBER' }; return getFieldDecorator(nFieldName, { initialValue: value, rules: rules })(h(_antDesignVue.InputNumber, inpRops)); }, // 文本域 render$TEXTAREA: function render$TEXTAREA(fieldPropertys) { var h = this.$createElement; var nFieldName = fieldPropertys.nFieldName, label = fieldPropertys.label, sloton = fieldPropertys.sloton, isReadOnly = fieldPropertys.isReadOnly, slotprops = fieldPropertys.slotprops, rules = fieldPropertys.rules, isDisabled = fieldPropertys.isDisabled, value = fieldPropertys.value; var _$props4 = this.$props, form = _$props4.form, localeCode = _$props4.localeCode; var langType = this.langType; var getFieldDecorator = form.getFieldDecorator; var pleaseEnter = langType[localeCode].pleaseEnter; var inpRops = { props: (0, _extends3['default'])({ disabled: isDisabled || isReadOnly, placeholder: pleaseEnter + label, allowClear: true, readonly: isReadOnly, autoSize: { minRows: 3, maxRows: 8 } }, slotprops), on: sloton, ref: nFieldName + '_TEXTAREA' }; return getFieldDecorator(nFieldName, { initialValue: value, rules: rules })(h(TextArea, inpRops)); }, // 日期控件 render$DATE: function render$DATE(fieldPropertys, _time) { var h = this.$createElement; var nFieldName = fieldPropertys.nFieldName, value = fieldPropertys.value, label = fieldPropertys.label, sloton = fieldPropertys.sloton, isReadOnly = fieldPropertys.isReadOnly, slotprops = fieldPropertys.slotprops, isDisabled = fieldPropertys.isDisabled, rules = fieldPropertys.rules, dateFormat = fieldPropertys.dateFormat; var _$props5 = this.$props, form = _$props5.form, localeCode = _$props5.localeCode; var langType = this.langType; var getFieldDecorator = form.getFieldDecorator; var pleaseEnter = langType[localeCode].pleaseEnter; var inpRops = { props: (0, _extends3['default'])({ disabled: isDisabled || isReadOnly, readonly: isReadOnly, format: dateFormat || 'YYYY-MM-DD', placeholder: pleaseEnter + label }, slotprops), 'class': 'vm-width-full-item', on: sloton, ref: nFieldName + '_DATE' }; return getFieldDecorator(nFieldName, { initialValue: value, rules: rules })(h(_antDesignVue.DatePicker, inpRops)); }, // 时间控件 render$TIME: function render$TIME(fieldPropertys) { var h = this.$createElement; var nFieldName = fieldPropertys.nFieldName, value = fieldPropertys.value, label = fieldPropertys.label, sloton = fieldPropertys.sloton, isReadOnly = fieldPropertys.isReadOnly, slotprops = fieldPropertys.slotprops, isDisabled = fieldPropertys.isDisabled, rules = fieldPropertys.rules; var _$props6 = this.$props, form = _$props6.form, localeCode = _$props6.localeCode; var langType = this.langType; var getFieldDecorator = form.getFieldDecorator; var pleaseEnter = langType[localeCode].pleaseEnter; var inpRops = { props: (0, _extends3['default'])({ disabled: isDisabled, readonly: isReadOnly, placeholder: pleaseEnter + label }, slotprops), on: sloton }; return getFieldDecorator(nFieldName, { initialValue: value, rules: rules })(h(_antDesignVue.TimePicker, inpRops)); }, // 搜索助手, slotprops里需要有code render$SELECTOR: function render$SELECTOR(fieldPropertys) { var h = this.$createElement; var nFieldName = fieldPropertys.nFieldName, value = fieldPropertys.value, label = fieldPropertys.label, sloton = fieldPropertys.sloton, isReadOnly = fieldPropertys.isReadOnly, slotprops = fieldPropertys.slotprops, isDisabled = fieldPropertys.isDisabled, rules = fieldPropertys.rules; var form = this.$props.form; var getFieldDecorator = form.getFieldDecorator; var inpRops = { props: (0, _extends3['default'])({ disabled: isDisabled || isReadOnly, readonly: isReadOnly || isDisabled, allowClear: true, placeholder: label }, slotprops), on: sloton, ref: nFieldName + '_SELECTOR' }; return getFieldDecorator(nFieldName, { initialValue: value, rules: rules })(h(_bSearchHelper2['default'], inpRops)); }, // 常数代码 render$CONSTANT: function render$CONSTANT(fieldPropertys) { var h = this.$createElement; var nFieldName = fieldPropertys.nFieldName, value = fieldPropertys.value, label = fieldPropertys.label, sloton = fieldPropertys.sloton, isReadOnly = fieldPropertys.isReadOnly, typeCode = fieldPropertys.typeCode, isDisabled = fieldPropertys.isDisabled, rules = fieldPropertys.rules; var form = this.$props.form; var getFieldDecorator = form.getFieldDecorator; var inpRops = { props: { disabled: isDisabled || isReadOnly, readonly: isReadOnly, allowClear: true, placeholder: label, typeCode: typeCode }, on: sloton, ref: nFieldName + '_CONSTANT' }; return getFieldDecorator(nFieldName, { initialValue: value, rules: rules })(h(_bConstant2['default'], inpRops)); }, /** * 下拉列表控件 * 表集合 */ render$SETID: function render$SETID(fieldPropertys) { var h = this.$createElement; var nFieldName = fieldPropertys.nFieldName, value = fieldPropertys.value, label = fieldPropertys.label, sloton = fieldPropertys.sloton, isReadOnly = fieldPropertys.isReadOnly, typeCode = fieldPropertys.typeCode, isDisabled = fieldPropertys.isDisabled, rules = fieldPropertys.rules, tableCollectionQueryParam = fieldPropertys.tableCollectionQueryParam, tableCollectionKeys = fieldPropertys.tableCollectionKeys, tableName = fieldPropertys.tableName; var form = this.$props.form; var getFieldDecorator = form.getFieldDecorator; var inpRops = { props: { disabled: isDisabled || isReadOnly, readonly: isReadOnly, allowClear: true, placeholder: label, tableName: tableName, status: 'edit', type: 'select', queryParam: tableCollectionQueryParam, keys: tableCollectionKeys // value, }, on: sloton, ref: nFieldName + '_SETID' }; return getFieldDecorator(nFieldName, { initialValue: value, rules: rules })(h(_bTableCollection2['default'], inpRops)); }, render$COMBOBOX: function render$COMBOBOX(fieldPropertys) { return this.render$CONSTANT(fieldPropertys); }, // 多选框控件 render$CHECKBOX: function render$CHECKBOX() { var h = this.$createElement; return h('span', ['CHECKBOX \u63A7\u4EF6']); }, // 多选框控件 render$SELECTBOX: function render$SELECTBOX() { var h = this.$createElement; return h('span', ['SELECTBOX \u63A7\u4EF6']); }, // 上传图片控件 render$IMG: function render$IMG() { var h = this.$createElement; return h('span', ['IMG \u4E0A\u4F20\u56FE\u7247\u63A7\u4EF6']); }, // 上传附件控件 render$FILE: function render$FILE() { var h = this.$createElement; return h('span', ['FILE \u4E0A\u4F20\u9644\u4EF6\u63A7\u4EF6']); }, // 货币控件 render$MONEY: function render$MONEY(fieldPropertys) { return this.render$TEXT(fieldPropertys); }, // 身份证 render$IDCARD: function render$IDCARD() { var h = this.$createElement; return h('span', ['IDCARD \u8EAB\u4EFD\u8BC1']); }, // CKEDIT 文本编辑器 render$CKEDIT: function render$CKEDIT() { var h = this.$createElement; return h('span', ['CKEDIT \u6587\u672C\u7F16\u8F91\u5668']); }, onFieldChange: function onFieldChange(arg) { this.$emit('fieldChange', (0, _extends3['default'])({}, arg)); }, onFieldInput: function onFieldInput(arg) { this.$emit('fieldChange', (0, _extends3['default'])({}, arg)); }, onSearchChange: function onSearchChange(_ref) { var arg = _ref.arg; this.$emit('searchChange', (0, _extends3['default'])({}, arg)); }, onFieldSelect: function onFieldSelect(arg) { this.$emit('fieldSelect', (0, _extends3['default'])({}, arg)); } } };