ng-form-element
Version:
ng-form-element
1,599 lines (1,365 loc) • 2.34 MB
JavaScript
module.exports =
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = "fb15");
/******/ })
/************************************************************************/
/******/ ({
/***/ "00fd":
/***/ (function(module, exports, __webpack_require__) {
var Symbol = __webpack_require__("9e69");
/** Used for built-in method references. */
var objectProto = Object.prototype;
/** Used to check objects for own properties. */
var hasOwnProperty = objectProto.hasOwnProperty;
/**
* Used to resolve the
* [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
* of values.
*/
var nativeObjectToString = objectProto.toString;
/** Built-in value references. */
var symToStringTag = Symbol ? Symbol.toStringTag : undefined;
/**
* A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.
*
* @private
* @param {*} value The value to query.
* @returns {string} Returns the raw `toStringTag`.
*/
function getRawTag(value) {
var isOwn = hasOwnProperty.call(value, symToStringTag),
tag = value[symToStringTag];
try {
value[symToStringTag] = undefined;
var unmasked = true;
} catch (e) {}
var result = nativeObjectToString.call(value);
if (unmasked) {
if (isOwn) {
value[symToStringTag] = tag;
} else {
delete value[symToStringTag];
}
}
return result;
}
module.exports = getRawTag;
/***/ }),
/***/ "03dd":
/***/ (function(module, exports, __webpack_require__) {
var isPrototype = __webpack_require__("eac5"),
nativeKeys = __webpack_require__("57a5");
/** Used for built-in method references. */
var objectProto = Object.prototype;
/** Used to check objects for own properties. */
var hasOwnProperty = objectProto.hasOwnProperty;
/**
* The base implementation of `_.keys` which doesn't treat sparse arrays as dense.
*
* @private
* @param {Object} object The object to query.
* @returns {Array} Returns the array of property names.
*/
function baseKeys(object) {
if (!isPrototype(object)) {
return nativeKeys(object);
}
var result = [];
for (var key in Object(object)) {
if (hasOwnProperty.call(object, key) && key != 'constructor') {
result.push(key);
}
}
return result;
}
module.exports = baseKeys;
/***/ }),
/***/ "043c":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"7833e774-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/form-design/items/base/batch/index.vue?vue&type=template&id=c49c7154
var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[
'ng-base-batch',
_vm.record.options.customClass ? _vm.record.options.customClass : ''
],style:(_vm.record.options.customStyle)},[(_vm.isDragPanel)?[_c('el-row',{attrs:{"gutter":20}},[_c('draggable',_vm._b({staticClass:"draggable-box",attrs:{"tag":"div"},on:{"add":function($event){return _vm.dragEnd($event, _vm.record.list)}},model:{value:(_vm.record.list),callback:function ($$v) {_vm.$set(_vm.record, "list", $$v)},expression:"record.list"}},'draggable',{
group: 'form-draggable' ,
ghostClass: 'moving',
animation: 180,
handle: '.drag-move'
},false),_vm._l((_vm.record.list),function(item){return _c('ng-form-node',{key:item.key,staticClass:"drag-move",attrs:{"selectItem":_vm.selectItem,"record":item},on:{"handleSelectItem":_vm.handleSelectItem,"handleCopy":function($event){return _vm.handleCopy(item)},"handleDetele":function($event){return _vm.handleDetele(item)}}})}),1)],1)]:[_c('TableBuild',{attrs:{"record":_vm.record,"models":_vm.models,"prop-prepend":_vm.propPrepend,"preview":_vm.preview}})]],2)}
var staticRenderFns = []
// CONCATENATED MODULE: ./packages/form-design/items/base/batch/index.vue?vue&type=template&id=c49c7154
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"7833e774-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/form-design/items/base/batch/build/index.vue?vue&type=template&id=46b38874
var buildvue_type_template_id_46b38874_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"form-table-index",attrs:{"id":_vm.record.model,"name":_vm.record.model}},[_c('el-table',{class:[
'form-table',
_vm.record.options.customClass ? _vm.record.options.customClass : ''
],style:(_vm.record.options.customStyle),attrs:{"size":_vm.config.size,"data":_vm.models[_vm.record.model],"empty-text":_vm.getLabel(_vm.record.options.noDataText) || _vm.t('ngform.item.batch.no_data'),"border":_vm.record.options.showBorder,"scroll":{
x:
_vm.record.list.length * 190 +
80 +
(!_vm.record.options.hideSequence ? 60 : 0),
y: _vm.record.options.scrollY
}}},[(_vm.isVisible)?[(!_vm.record.options.hideSequence)?_c('el-table-column',{attrs:{"label":_vm.t('ngform.item.batch.seq'),"align":"center","type":"index","width":"50"}}):_vm._e(),_vm._l((_vm.record.list),function(item,index){return [(_vm.record.options.addType != 'dialog' || (!_vm.record.options.showItem || _vm.record.options.showItem.length == 0 || _vm.record.options.showItem.includes(item.model) ))?_c('el-table-column',{key:index,attrs:{"label":item.label,"width":_vm.record.options.colWidth && _vm.record.options.colWidth[item.model] ? _vm.record.options.colWidth[item.model] : undefined,"align":"center"},scopedSlots:_vm._u([{key:"default",fn:function(scope){return [_c('TableItem',{attrs:{"record":item,"index":scope.$index,"models":_vm.models,"parent-model":_vm.propPrepend + _vm.record.model,"preview":_vm.preview || _vm.record.options.addType == 'dialog',"domains":_vm.models[_vm.record.model][scope.$index]}})]}}],null,true)}):_vm._e()]}),(!_vm.preview || _vm.record.options.addType == 'dialog')?_c('el-table-column',{attrs:{"label":_vm.t('ngform.item.batch.operate'),"align":"center","fixed":_vm.record.options.fixedBtn ? 'right' : undefined,"width":_vm.controlWidth},scopedSlots:_vm._u([{key:"default",fn:function(scope){return [(_vm.preview && _vm.record.options.addType == 'dialog')?_c('el-button',{attrs:{"type":"success","size":_vm.config.size},on:{"click":function($event){return _vm.updateDomain(scope.row)}}},[_c('i',{staticClass:"el-icon-eye"}),_vm._v(" "+_vm._s(_vm.t('ngform.item.view'))+" ")]):_vm._e(),(!_vm.preview && _vm.record.options.addType == 'dialog')?_c('el-button',{attrs:{"type":"primary","size":_vm.config.size},on:{"click":function($event){return _vm.updateDomain(scope.row)}}},[_c('i',{staticClass:"el-icon-edit"}),_vm._v(" "+_vm._s(_vm.t('ngform.item.edit'))+" ")]):_vm._e(),(!_vm.preview && _vm.record.options.copyRow)?_c('el-button',{attrs:{"type":"primary","size":_vm.config.size},on:{"click":function($event){return _vm.copyDomain(scope.row , scope.$index)}}},[_c('i',{staticClass:"el-icon-copy-document"}),_vm._v(_vm._s(_vm.t('ngform.item.copy'))+" ")]):_vm._e(),(!_vm.preview)?_c('el-button',{attrs:{"type":"danger","size":_vm.config.size},on:{"click":function($event){return _vm.removeDomain(scope.$index)}}},[_c('i',{staticClass:"el-icon-delete"}),_vm._v(_vm._s(_vm.t('ngform.item.delete'))+" ")]):_vm._e()]}}],null,false,3974457320)}):_vm._e()]:_vm._e()],2),(!_vm.preview)?_c('el-button',{attrs:{"size":_vm.config.size,"type":"dashed","disabled":_vm.curDisabled},on:{"click":_vm.addDomain}},[_c('i',{staticClass:"el-icon-circle-plus-outline"}),_vm._v(_vm._s(_vm.t('ngform.item.add'))+" ")]):_vm._e(),(_vm.addOrUpdateVisible)?_c('AddOrUpdate',{ref:"addOrUpdate",attrs:{"formTemplate":_vm.templateData,"preview":_vm.preview},on:{"formAdd":_vm.formAdd,"formUpdate":_vm.formUpdate}}):_vm._e()],1)}
var buildvue_type_template_id_46b38874_staticRenderFns = []
// CONCATENATED MODULE: ./packages/form-design/items/base/batch/build/index.vue?vue&type=template&id=46b38874
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"7833e774-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/form-design/items/base/batch/build/table-item.vue?vue&type=template&id=06238e04
var table_itemvue_type_template_id_06238e04_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('ng-form-item',{attrs:{"disabled":_vm.disabled,"preview":_vm.preview,"models":_vm.domains,"record":_vm.record,"show-label":false,"prop-prepend":_vm.parentModel + '.' + _vm.index + '.'},on:{"focus":function($event){return _vm.$emit('focus')},"blur":function($event){return _vm.$emit('blur')}}})],1)}
var table_itemvue_type_template_id_06238e04_staticRenderFns = []
// CONCATENATED MODULE: ./packages/form-design/items/base/batch/build/table-item.vue?vue&type=template&id=06238e04
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/form-design/items/base/batch/build/table-item.vue?vue&type=script&lang=js
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var table_itemvue_type_script_lang_js = ({
name: "TableItem",
props: {
record: {
type: Object,
required : true
},
// 是否预览结果表单
preview: {
type: Boolean ,
default: false
},
index: {
type: Number
},
models: {
type: Object
},
domains: {
type: Object
},
disabled: {
type: Boolean,
default: false
},
parentModel: {
type: String,
required : true
}
},
computed: {
customList() {
if (this.$GSFORM && this.$GSFORM.customComponents) {
const customComponents_ = this.$GSFORM.customComponents
return customComponents_.map(item => item.type);
} else {
return [];
}
},
recordRules() {
// 2020-07-29 如果是预览 不需要规则验证
if(this.preview || !this.record.rules || this.record.rules.length == 0) {
return []
}
let rules =this.record.rules
// 2020-09-12 判断是否必填 ,非必填得没有值得时候不校验
const isRequire = rules[0].required
// 循环判断
for(var i = 0 ; i < rules.length ; i++){
const t = rules[i]
t.required = isRequire
// 2021-08-12 lyf 针对必填而且是文本输入的组件增加纯空格校验
if(t.required && (this.record.type == 'input' || this.record.type == 'textarea') ){
t.whitespace = true
}
if(t.vtype == 1 || t.vtype == 2){
t.validator = this.validatorFiled
}
// 判断trigger
if(!t.trigger) {
t.trigger = ['change','blur']
}
}
return rules
}
},
methods: {
}
});
// CONCATENATED MODULE: ./packages/form-design/items/base/batch/build/table-item.vue?vue&type=script&lang=js
/* harmony default export */ var build_table_itemvue_type_script_lang_js = (table_itemvue_type_script_lang_js);
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__("2877");
// CONCATENATED MODULE: ./packages/form-design/items/base/batch/build/table-item.vue
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
build_table_itemvue_type_script_lang_js,
table_itemvue_type_template_id_06238e04_render,
table_itemvue_type_template_id_06238e04_staticRenderFns,
false,
null,
null,
null
)
/* harmony default export */ var table_item = (component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"7833e774-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/form-design/items/base/batch/build/add-or-update.vue?vue&type=template&id=bcc49eec
var add_or_updatevue_type_template_id_bcc49eec_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-dialog',{attrs:{"title":!_vm.dataForm._id ? _vm.t('ngform.item.add') : _vm.t('ngform.item.edit'),"close-on-click-modal":false,"append-to-body":true,"lock-scroll":false,"visible":_vm.visible,"id":_vm.randomId},on:{"update:visible":function($event){_vm.visible=$event}}},[(typeof _vm.formTemplate.list !== 'undefined')?_c('el-form',{key:_vm.dataForm._id,ref:"dataForm",staticClass:"form-build form-design",attrs:{"label-position":_vm.config.labelPosition,"hide-required-asterisk":_vm.config.hideRequiredMark,"label-width":_vm.config.labelWidth + 'px',"model":_vm.dataForm,"size":"mini"}},[_c('el-row',{attrs:{"gutter":20}},[_vm._l((_vm.formTemplate.list),function(item){return [_c('el-col',{attrs:{"span":item.span || 24}},[_c('ng-form-item',{key:item.key,attrs:{"disabled":_vm.disabled,"preview":_vm.preview,"models":_vm.dataForm,"record":item},on:{"update:models":function($event){_vm.dataForm=$event}}})],1)]})],2),_c('el-form-item',{attrs:{"label":_vm.t('ngform.item.batch.seq_label'),"prop":"seq"}},[(_vm.preview)?[_vm._v(" "+_vm._s(_vm.dataForm.seq)+" ")]:[_c('el-input-number',{attrs:{"controls-position":"right","min":0,"placeholder":_vm.t('ngform.item.batch.seq_label'),"disabled":_vm.preview},model:{value:(_vm.dataForm.seq),callback:function ($$v) {_vm.$set(_vm.dataForm, "seq", $$v)},expression:"dataForm.seq"}})]],2)],1):_vm._e(),_c('div',{staticClass:"mod-footer"},[_c('el-button',{attrs:{"size":"mini"},on:{"click":function($event){_vm.visible = false}}},[_vm._v(_vm._s(_vm.t("ngform.cancel")))]),(!_vm.preview)?_c('el-button',{attrs:{"size":"mini","disabled":_vm.loading,"type":"primary"},on:{"click":function($event){return _vm.dataFormSubmit()}}},[_vm._v(_vm._s(_vm.t("ngform.confirm")))]):_vm._e()],1)],1)}
var add_or_updatevue_type_template_id_bcc49eec_staticRenderFns = []
// CONCATENATED MODULE: ./packages/form-design/items/base/batch/build/add-or-update.vue?vue&type=template&id=bcc49eec
// EXTERNAL MODULE: ./packages/locale/mixin.js
var mixin = __webpack_require__("b5ee");
// EXTERNAL MODULE: ./node_modules/lodash/cloneDeep.js
var cloneDeep = __webpack_require__("0644");
var cloneDeep_default = /*#__PURE__*/__webpack_require__.n(cloneDeep);
// EXTERNAL MODULE: ./packages/utils/index.js
var utils = __webpack_require__("e74d");
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/form-design/items/base/batch/build/add-or-update.vue?vue&type=script&lang=js
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var add_or_updatevue_type_script_lang_js = ({
name: "table-add-or-update",
mixins: [mixin["a" /* default */]],
data() {
return {
randomId: "",
loading: false,
visible: false,
dataForm: {
_id: "",
seq: 0
},
dataRule: {}
}
},
computed: {
customList() {
if (this.customComponents) {
return this.customComponents.map((item) => item.type)
} else {
return []
}
},
config() {
if(this.configInject && this.configInject != null && this.configInject != undefined) {
return this.configInject() || {}
}
return {}
},
topModels() {
if(this.topModelsC && this.topModelsC != null && this.topModelsC != undefined) {
return this.topModelsC() || {}
}
return {}
},
},
props: {
// 表格内部的配置
formTemplate: {
type: Object,
default: () => ({})
},
// 是否预览结果表单
preview: {
type: Boolean,
default: false
},
disabled: {
type: Boolean,
default: false
}
},
inject: {
// 表单全局config配置
configInject: {
from: "configC"
},
customComponents: {
from: "customC",
default: () => []
},
topModelsC: {
from: "topModelsC",
default: null
}
},
methods: {
recordRules(record) {
// 2020-07-29 如果是预览 不需要规则验证
if (this.preview) {
return []
}
const rules = record.rules
// 循环判断
for (var i = 0; i < rules.length; i++) {
const t = rules[i]
if (t.vtype == 1 || t.vtype == 2) {
t.validator = this.validatorFiled
}
if (t.required && (record.type == "input" || record.type == "textarea")) {
t.whitespace = true
}
// 判断trigger
if (!t.trigger) {
t.trigger = ["change", "blur"]
}
}
return rules
},
dynamicVisibleItem(record) {
if (!record.options || !record.options.dynamicVisible) {
return true
}
if (!record.options.dynamicVisibleValue) {
return true
}
let fstr = record.options.dynamicVisibleValue
// 打开了开关 这里获取函数内容
const func = Object(utils["dynamicFun"])(fstr, this.dataForm,this.topModels)
return func
},
// 2021-03-12 清理没有显示的组件的数据
clearHiddenValue() {
// 根据组件ID 是否隐藏为准
// 根据 formTemplate.config.outputHidden 来判断是否要输出隐藏
if (!this.config || !this.config.outputHidden) {
const formdesign = document.getElementById(this.randomId)
// 循环当前数据 非P 开头的统一不深入第二层
for (let key in this.dataForm) {
if (key.indexOf("_label") > 0 || key == "_id" || key == "seq") continue
// 判断key的id是否还在
const key_div = formdesign.querySelector("#" + key)
if (!key_div) {
// 删除
delete this.dataForm[key]
delete this.dataForm[key + "_label"]
}
}
}
},
validatorFiled(rule, value, callback) {
// 判断rule类型
if (rule.vtype == 1) {
// 正则
if (!rule.pattern) {
callback()
return
}
// 正则匹配
var patt1 = new RegExp(rule.pattern)
//document.write(patt1.test("free"));
if (patt1.test(value)) {
callback()
} else {
callback(new Error(rule.message))
}
return
} else if (rule.vtype == 2) {
// 表达式
const script = rule.script
// 打开了开关 这里获取函数内容
const fvalue = Object(utils["dynamicFun"])(script, this.dataForm,this.topModels)
if (!fvalue) {
callback(new Error(rule.message))
} else {
callback()
}
}
},
init(data) {
this.randomId = "ng_table_dialog" + new Date().getTime()
this.visible = true
this.dataForm._id = null
if (data) {
//this.dataForm = data
for (var i in data) {
//this.dataForm[i] = data[i]
this.$set(this.dataForm, i, data[i])
}
} else {
// 初始化数据
//const d = {}
this.dataForm.seq = 0
this.formTemplate.list.forEach((item) => {
if (item.options.defaultValue) this.$set(this.dataForm, item.model, item.options.defaultValue)
//this.dataForm[item.model] = item.options.defaultValue;
//this.dataForm[item.model] = undefined
else this.$set(this.dataForm, item.model, undefined)
// 删除对应的label
delete this.dataForm[item.model + "label"]
})
console.log("this.dataForm", this.dataForm)
this.$nextTick(() => {
this.$refs["dataForm"] && this.$refs["dataForm"].resetFields()
})
}
},
// 表单提交
dataFormSubmit() {
this.$refs["dataForm"] &&
this.$refs["dataForm"].validate((valid) => {
if (valid) {
this.loading = true
this.clearHiddenValue()
if (!this.dataForm._id) {
// 回填一个ID
const id = new Date().getTime() * 10 + parseInt(Math.random() * 100)
this.dataForm._id = id
this.$emit("formAdd", cloneDeep_default()(this.dataForm))
} else {
this.$emit("formUpdate", cloneDeep_default()(this.dataForm))
}
this.loading = false
this.visible = false
}
})
}
}
});
// CONCATENATED MODULE: ./packages/form-design/items/base/batch/build/add-or-update.vue?vue&type=script&lang=js
/* harmony default export */ var build_add_or_updatevue_type_script_lang_js = (add_or_updatevue_type_script_lang_js);
// EXTERNAL MODULE: ./packages/form-design/items/base/batch/build/add-or-update.vue?vue&type=style&index=0&id=bcc49eec&prod&lang=css
var add_or_updatevue_type_style_index_0_id_bcc49eec_prod_lang_css = __webpack_require__("f0b7");
// CONCATENATED MODULE: ./packages/form-design/items/base/batch/build/add-or-update.vue
/* normalize component */
var add_or_update_component = Object(componentNormalizer["a" /* default */])(
build_add_or_updatevue_type_script_lang_js,
add_or_updatevue_type_template_id_bcc49eec_render,
add_or_updatevue_type_template_id_bcc49eec_staticRenderFns,
false,
null,
null,
null
)
/* harmony default export */ var add_or_update = (add_or_update_component.exports);
// EXTERNAL MODULE: ./packages/form-design/items/mixin.js
var items_mixin = __webpack_require__("93f0");
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/form-design/items/base/batch/build/index.vue?vue&type=script&lang=js
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//import TableFormItem from "./table-form-item";
/* harmony default export */ var buildvue_type_script_lang_js = ({
name: "ng-form-base-batch",
mixins: [items_mixin["a" /* default */]] ,
components: {
TableItem: table_item,AddOrUpdate: add_or_update
},
data() {
return {
addOrUpdateVisible: false,
isVisible: true
};
},
props:{
record: {
type: Object,
required : true
},
models: {
type: Object,
required : true
},
parentDisabled: {
type: Boolean,
default: false
},
// 是否预览结果表单
preview: {
type: Boolean ,
default: false
},
propPrepend:{
type: String,
default: ''
}
},
computed: {
curDisabled() {
return this.record.options.disabled || this.disabled || this.parentDisabled;
},
templateData() {
return {list: this.record.list, config: this.config }
},
controlWidth() {
let w = 100
if(this.preview) {
return w
}
if(this.record.options.copyRow) {
w += 80
}
if(this.record.options.addType == 'dialog') {
w += 80
}
return w
},
config() {
if(this.configInject && this.configInject != null && this.configInject != undefined) {
return this.configInject() || {}
}
return {}
},
},
inject: {
// 表单全局config配置
configInject: {
from: 'configC'
}
},
mounted(){
// 2021-05-10 lyf 只要没有默认值都先给回填一个 这个可以处理初始化么有值,导致后面很多联动没法做,必须要通过v-if刷新
if(!Object.prototype.hasOwnProperty.call(this.models, this.record.model) ) {
this.$set(this.models , this.record.model , [])
}
this.$ngform_bus.$on('reset', () => {
this.$set(this.models , this.record.model , [])
});
},
methods: {
validationSubform() {
return true ;
},
resetForm() {
this.$refs.dynamicValidateForm.resetFields();
},
removeDomain(index) {
const this_ = this
this.$confirm(this.t('ngform.item.batch.delete_prompt'), this.t('ngform.header.prompt'), {
confirmButtonText: this.t('ngform.confirm'),
cancelButtonText: this.t('ngform.cancel'),
type: 'warning'
}).then(() => {
let domains = this.models[this.record.model]
if(domains) {
if (index !== -1) {
domains.splice(index, 1);
this.$message({
message: this_.t('ngform.item.batch.operation_success'),
type: 'success',
duration: 1000
})
}
}
})
},
updateDomain(data) {
this.addOrUpdateVisible = true
this.$nextTick(() => {
this.$refs.addOrUpdate.init(data)
})
},
// 行复制 2021-02-17 lyf
copyDomain(data , index ) {
let copyData = cloneDeep_default()(data) // {...data}
copyData._id = null
if(this.record.options.addType == 'dialog') {
this.addOrUpdateVisible = true
this.$nextTick(() => {
this.$refs.addOrUpdate.init(copyData)
})
} else {
// 直接添加一行数据
this.isVisible = false
let domains = this.models[this.record.model]
domains.splice(index + 1, 0, copyData);
//domains.push(copyData)
this.isVisible = true
}
},
addDomain() {
if(this.record.options.addType == 'dialog') {
this.addOrUpdateVisible = true
this.$nextTick(() => {
this.$refs.addOrUpdate.init()
})
} else {
// 直接添加一行数据
this.isVisible = false
const items = this.record.list
const itemObject = {}
// items.forEach(t=>{
// itemObject[t.model] = ''
// })
let domains = this.models[this.record.model]
if(!domains) {
const ds = [itemObject]
domains = ds
} else {
domains.push(itemObject)
}
this.$set(this.models , this.record.model , domains)
this.isVisible = true
}
},
formAdd(form){
this.isVisible = false
let domains = this.models[this.record.model]
if(!domains) {
const ds = [form]
this.models[this.record.model] = ds
domains = this.models[this.record.model]
} else {
domains.push(form)
}
// 排序
domains.sort(function(a, b){
return a.seq - b.seq
});
this.isVisible = true
this.$message({
message: this.t('ngform.item.batch.operation_success'),
type: 'success',
duration: 1000
})
},
formUpdate(form){
let domains = this.models[this.record.model]
for(var i in this.models[this.record.model] ){
if(this.models[this.record.model] [i]._id == form._id){
this.models[this.record.model].splice(i,1,form)
break
}
}
this.models[this.record.model].sort(function(a, b){
return a.seq - b.seq
});
this.$message({
message: this.t('ngform.item.batch.operation_success'),
type: 'success',
duration: 1000
})
},
handleInput() {
this.$emit("change", this.models);
}
}
});
// CONCATENATED MODULE: ./packages/form-design/items/base/batch/build/index.vue?vue&type=script&lang=js
/* harmony default export */ var batch_buildvue_type_script_lang_js = (buildvue_type_script_lang_js);
// CONCATENATED MODULE: ./packages/form-design/items/base/batch/build/index.vue
/* normalize component */
var build_component = Object(componentNormalizer["a" /* default */])(
batch_buildvue_type_script_lang_js,
buildvue_type_template_id_46b38874_render,
buildvue_type_template_id_46b38874_staticRenderFns,
false,
null,
null,
null
)
/* harmony default export */ var build = (build_component.exports);
// EXTERNAL MODULE: ./node_modules/vuedraggable/dist/vuedraggable.umd.js
var vuedraggable_umd = __webpack_require__("b76a");
var vuedraggable_umd_default = /*#__PURE__*/__webpack_require__.n(vuedraggable_umd);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/form-design/items/base/batch/index.vue?vue&type=script&lang=js
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var batchvue_type_script_lang_js = ({
mixins: [items_mixin["a" /* default */]] ,
components: {
TableBuild: build,draggable: vuedraggable_umd_default.a
},
created() {
// 赋予一个空的默认值
this.updateArrayDefaultValue()
},
methods: {
dragEnd(evt, list) {
// 拖拽结束,自动选择拖拽的控件项
const clone = this.cloneDeepAndFormat(list[evt.newIndex] , evt)
delete clone.icon
this.$set(list , evt.newIndex , clone)
this.handleSelectItem(clone)
},
handleCopy(item){
const nitem = this.cloneDeepAndFormat(item)
const key = item.type + "_" + new Date().getTime()
nitem.key = key
nitem.model = key
// 找到index 插入
const oindex = this.record.list.findIndex(t=>t.key == item.key)
if(oindex >= 0) {
// insert
this.record.list.splice(oindex + 1 , 0, nitem)
}
},
handleDetele(item) {
const oindex = this.record.list.findIndex(t=>t.key == item.key)
if(oindex >= 0) {
this.record.list.splice(oindex , 1);
}
}
}
});
// CONCATENATED MODULE: ./packages/form-design/items/base/batch/index.vue?vue&type=script&lang=js
/* harmony default export */ var base_batchvue_type_script_lang_js = (batchvue_type_script_lang_js);
// EXTERNAL MODULE: ./packages/form-design/items/base/batch/index.vue?vue&type=style&index=0&id=c49c7154&prod&lang=css
var batchvue_type_style_index_0_id_c49c7154_prod_lang_css = __webpack_require__("a89e");
// CONCATENATED MODULE: ./packages/form-design/items/base/batch/index.vue
/* normalize component */
var batch_component = Object(componentNormalizer["a" /* default */])(
base_batchvue_type_script_lang_js,
render,
staticRenderFns,
false,
null,
null,
null
)
/* harmony default export */ var batch = (batch_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"7833e774-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/form-design/items/base/batch/properties.vue?vue&type=template&id=3fafc373
var propertiesvue_type_template_id_3fafc373_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-collapse-item',{attrs:{"name":"column","title":_vm.t('ngform.item.batch.columns')}},[_c('el-form',{staticClass:"ng-batch-properties",attrs:{"size":"mini","label-width":"80px","label-position":"top"}},[_c('el-divider',{staticClass:"divider-center"},[_vm._v(" "+_vm._s(_vm.selectItem.options.addType == 'dialog' ? _vm.t('ngform.item.batch.dialogConfig') : _vm.t('ngform.item.batch.lineConfig'))+" ")]),_c('el-form-item',[_c('el-checkbox-group',{model:{value:(_vm.selectItem.options.showItem),callback:function ($$v) {_vm.$set(_vm.selectItem.options, "showItem", $$v)},expression:"selectItem.options.showItem"}},_vm._l((_vm.selectItem.list),function(item){return _c('el-row',{key:item.model},[_c('el-col',{attrs:{"span":12}},[(_vm.selectItem.options.addType == 'dialog')?_c('el-checkbox',{attrs:{"label":item.model}},[_vm._v(_vm._s(item.label))]):_c('span',[_vm._v(" "+_vm._s(item.label)+" ")])],1),_c('el-col',{attrs:{"span":12}},[_c('el-input',{attrs:{"placeholder":_vm.t('ngform.item.width')},model:{value:(_vm.selectItem.options.colWidth[item.model]),callback:function ($$v) {_vm.$set(_vm.selectItem.options.colWidth, item.model, $$v)},expression:"selectItem.options.colWidth[item.model]"}})],1)],1)}),1)],1)],1)],1)}
var propertiesvue_type_template_id_3fafc373_staticRenderFns = []
// CONCATENATED MODULE: ./packages/form-design/items/base/batch/properties.vue?vue&type=template&id=3fafc373
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/form-design/items/base/batch/properties.vue?vue&type=script&lang=js
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var propertiesvue_type_script_lang_js = ({
mixins: [mixin["a" /* default */]],
components: {
},
props: {
selectItem: {
type: Object
}
},
methods: {
}
});
// CONCATENATED MODULE: ./packages/form-design/items/base/batch/properties.vue?vue&type=script&lang=js
/* harmony default export */ var batch_propertiesvue_type_script_lang_js = (propertiesvue_type_script_lang_js);
// EXTERNAL MODULE: ./packages/form-design/items/base/batch/properties.vue?vue&type=style&index=0&id=3fafc373&prod&lang=css
var propertiesvue_type_style_index_0_id_3fafc373_prod_lang_css = __webpack_require__("7ae2");
// CONCATENATED MODULE: ./packages/form-design/items/base/batch/properties.vue
/* normalize component */
var properties_component = Object(componentNormalizer["a" /* default */])(
batch_propertiesvue_type_script_lang_js,
propertiesvue_type_template_id_3fafc373_render,
propertiesvue_type_template_id_3fafc373_staticRenderFns,
false,
null,
null,
null
)
/* harmony default export */ var properties = (properties_component.exports);
// EXTERNAL MODULE: ./packages/locale/index.js + 1 modules
var locale = __webpack_require__("92af");
// CONCATENATED MODULE: ./packages/form-design/items/base/batch/index.js
// 对外输出 包含组件的对外json定义、属性配置页面、展示页面 三部分
const obj = {}
obj.type = 'batch'//, // 表单类型
obj.component = batch
obj.properties = properties
// 序号 实际在json中删除
obj.seq = 20
// 不需要事件和监听
obj.event_ = false
obj.listen_ = false
// 补充配置样式
obj.options = {
config: {
size: 'mini',
labelWidth: 80
},
columns: [
{
label: Object(locale["a" /* $t */])('ngform.item.label'),//'标签',
prop: 'label',
default: Object(locale["a" /* $t */])('ngform.item.batch.name'),//'动态表格',
span: 24
},
{
label: Object(locale["a" /* $t */])('ngform.item.label_width'),//'标签宽度',
prop: 'labelWidth',
type: 'number',
default: -1
},
{
label: Object(locale["a" /* $t */])('ngform.item.width'),//'要素宽度',
prop: 'width',
default: '100%',
span: 24
},
{
label: Object(locale["a" /* $t */])('ngform.item.span'),//'所占栅格',
type: 'spanGroup',
prop: 'span',
min: 1,
max: 24,
default: 24,
span: 24
},
{
label: Object(locale["a" /* $t */])('ngform.item.model'), //'数据字段',
prop: 'model',
span: 24
},
{
label: Object(locale["a" /* $t */])('ngform.item.key'), //'数据KEY',
prop: 'key',
show: false,
span: 24
},
// 默认栅格值回填
{
label: '栅格默认值',
prop: 'list',
show: false,
default: [],
span: 24
}
],
group: [
{
label: Object(locale["a" /* $t */])('ngform.item.options'),//'属性',
prop: 'options',
alone: true, // 是否独立与columns之外展示 false则和columns一起,不另外显示
collapse: false, // 是否启用 collapse 必须alone=true
column: [
{
label: Object(locale["a" /* $t */])('ngform.item.batch.scroll_height'),//'滚动高度',
prop: 'scrollY',
type: 'number',
default: 0,
span: 24
},
// showItem:[] ,
// colWidth:{},
{
prop: 'showItem',
show: false,
default: []
},
{
prop: 'colWidth',
show: false,
default: {}
},
{
label: Object(locale["a" /* $t */])('ngform.item.batch.custom_style'),// '样式style',
prop: 'customStyle',
type: 'textarea',
span: 24
},
{
label: Object(locale["a" /* $t */])('ngform.item.batch.no_data_label'),// '空内容提示',
prop: 'noDataText',
type: 'textarea',
default: Object(locale["a" /* $t */])('ngform.item.batch.no_data'),//'暂无数据',
span: 24
},
{
label: Object(locale["a" /* $t */])('ngform.item.batch.custom_class'),//'样式class',
prop: 'customClass',
type: 'textarea',
span: 24
},
{
label: Object(locale["a" /* $t */])('ngform.item.batch.copy_row'),//'行复制',
prop: 'copyRow',
type: 'switch',
default: true,
span: 24
},
{
label: Object(locale["a" /* $t */])('ngform.item.batch.hide_seq'),//'隐藏序号',
prop: 'hideSequence',
type: 'switch',
default: true,
span: 24
},
{
label: Object(locale["a" /* $t */])('ngform.item.batch.show_border'),// '边框',
prop: 'showBorder',
type: 'switch',
default: true,
span: 24
},
{
label: Object(locale["a" /* $t */])('ngform.item.if_hidden'),//'是否隐藏',
prop: 'hidden',
type: 'switch',
default: false,
span: 24
},
{
label: Object(locale["a" /* $t */])('ngform.item.if_disabled'),//'是否禁用',
prop: 'disabled',
type: 'switch',
default: false,
span: 24
},
{
label: Object(locale["a" /* $t */])('ngform.item.batch.fixed_operate'),//'是否禁用',
prop: 'fixedBtn',
type: 'switch',
default: false,
span: 24
},
{
label: Object(locale["a" /* $t */])('ngform.item.batch.add_type'),// '新增方式',
prop: 'addType',
default: 'line',
type: 'radioButton',
dicData: [
{ label: Object(locale["a" /* $t */])('ngform.item.batch.add_type_line') /*'增加行'*/, value: 'line' },
{ label: Object(locale["a" /* $t */])('ngform.item.batch.add_type_dialog')/*'弹出框'*/, value: 'dialog' }
],
span: 24
}
]
}
]
}
/* harmony default export */ var base_batch = __webpack_exports__["default"] = (obj);
/***/ }),
/***/ "0644":
/***/ (function(module, exports, __webpack_require__) {
var baseClone = __webpack_require__("3818");
/** Used to compose bitmasks for cloning. */
var CLONE_DEEP_FLAG = 1,
CLONE_SYMBOLS_FLAG = 4;
/**
* This method is like `_.clone` except that it recursively clones `value`.
*
* @static
* @memberOf _
* @since 1.0.0
* @category Lang
* @param {*} value The value to recursively clone.
* @returns {*} Returns the deep cloned value.
* @see _.clone
* @example
*
* var objects = [{ 'a': 1 }, { 'b': 2 }];
*
* var deep = _.cloneDeep(objects);
* console.log(deep[0] === objects[0]);
* // => false
*/
function cloneDeep(value) {
return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);
}
module.exports = cloneDeep;
/***/ }),
/***/ "06a6":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"7833e774-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/form-design/items/base/cascader/index.vue?vue&type=template&id=8ae83860
var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.preview)?_c('el-cascader',{ref:"cascader",style:(("width:" + (_vm.record.width))),attrs:{"options":(_vm.record.options.dynamic == 1 && _vm.record.options.remoteFunc ? _vm.checkValues : _vm.record.options.options),"placeholder":_vm.getLabel(_vm.record.options.placeholder),"filterable":_vm.record.options.showSearch,"clearable":_vm.record.options.clearable,"props":_vm.itemProp,"disabled":_vm.recordDisabled},on:{"change":function($event){return _vm.handleChange($event)},"focus":_vm.handleFocus,"blur":_vm.handleBlur},model:{value:(_vm.models[_vm.record.model]),callback:function ($$v) {_vm.$set(_vm.models, _vm.record.model, $$v)},expression:"models[record.model]"}}):_c('span',[_vm._v(" "+_vm._s(_vm.models[_vm.record.model+'_label'])+" ")])}
var staticRenderFns = []
// CONCATENATED MODULE: ./packages/form-design/items/base/cascader/index.vue?vue&type=template&id=8ae83860
// EXTERNAL MODULE: ./packages/form-design/items/mixin.js
var mixin = __webpack_require__("93f0");
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/form-design/items/base/cascader/index.vue?vue&type=script&lang=js
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var cascadervue_type_script_lang_js = ({
mixins: [mixin["a" /* default */]],
data() {
return {
itemProp: {
children: 'children',
value: 'value',
label: 'label',
multiple: this.record.options.multiple
},
}
},
created () {
this.updateArrayDefaultValue()
// 如果是静态数据 判断当前是否有值 是否要回填默认值
if(this.record.options.dynamic == 0
&& this.models
&& (
!Object.prototype.hasOwnProperty.call(this.models,this.record.model)
|| this.models[this.record.model] == undefined)
) {
if(this.record.options.defaultValue != null && this.record.options.defaultValue.length > 0) {
this.$set(this.models , this.record.model , this.record.options.defaultValue)
}
}
// 判断如果是远程方法的话 远程请求数据
this.initDynamicValue()
// 判断是否有联动关联需要处理
if(this.linkageData) {
this.linkageDataHandle(false)
}
// 判断如果已经有了值 但没有label 则尝试回填label
const value = this.models[this.record.model]
if(value && value.length > 0) {
this.handleChange(value)
}
},
methods: {
handleChange(value) {
if(!this.$refs.cascader) return
let labels = []
let as = []
// 获取数据 判断从ajax 还是本地默认配置
let datas = this.record.options.dynamic > 0 ? this.checkValues : this.record.options.options
if(!datas) {
datas = []
}
// 判断是不是复选
if(!this.itemProp.multiple) {
// 复选
as = [value]
} else {
as = value
}
const checkNodes = this.$refs.cascader.getCheckedNodes()
for(let i = 0 ; i < as.length ; i++){
const v = as[i]
// 比对nodes 显示值
const fs = checkNodes.filter(t=>t.path == v)
if(fs && fs.length > 0) {
const label = fs[0].pathLabels
if(label && label.length > 0)
labels.push(label.join('/'))
}
}
const modelLabel = this.record.model + '_label'
//this.models[modelLabel] = labels.join(',')
this.$set(this.models , modelLabel , labels.join(','))
}
}
});
// CONCATENATED MODULE: ./packages/form-design/items/base/cascader/index.vue?vue&type=script&lang=js
/* harmony default export */ var base_cascadervue_type_script_lang_js = (cascadervue_type_script_lang_js);
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__("2877");
// CONCATENATED MODULE: ./packages/form-design/items/base/cascader/index.vue
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
base_cascadervue_type_script_lang_js,
render,
staticRenderFns,
false,
null,
null,
null
)
/* harmony default export */ var cascader = (component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"7833e774-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/form-design/items/base/cascader/properties.vue?vue&type=template&id=0cec152b
var propertiesvue_type_template_id_0cec152b_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-collapse-item',{attrs:{"name":"data","title":_vm.t('ngform.item.datasource')}},[_c('DatasourceConfig',{attrs:{"selectItem":_vm.selectItem}})],1)}
var propertiesvue_type_template_id_0cec152b_staticRenderFns = []
// CONCATENATED MODULE: ./packages/form-design/items/base/cascader/properties.vue?vue&type=template&id=0cec152b
// EXTERNAL MODULE: ./packages/form-design/items/base/select/datasource-config.vue + 9 modules
var datasource_config = __webpack_require__("1f6f");
// EXTERNAL MODULE: ./packages/locale/mixin.js
var locale_mixin = __webpack_require__("b5ee");
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vu