vue-ant-patterns
Version:
vue-ant-patterns
477 lines (410 loc) • 15 kB
JavaScript
'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));
}
}
};