UNPKG

aos-element

Version:

A Component Library for Vue.js.

893 lines (845 loc) 24.8 kB
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 = "/dist/"; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 163); /******/ }) /************************************************************************/ /******/ ({ /***/ 0: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); /* globals __VUE_SSR_CONTEXT__ */ // IMPORTANT: Do NOT use ES2015 features in this file (except for modules). // This module is a runtime utility for cleaner component module output and will // be included in the final webpack user bundle. function normalizeComponent ( scriptExports, render, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier, /* server only */ shadowMode /* vue-cli only */ ) { // Vue.extend constructor export interop var options = typeof scriptExports === 'function' ? scriptExports.options : scriptExports // render functions if (render) { options.render = render options.staticRenderFns = staticRenderFns options._compiled = true } // functional template if (functionalTemplate) { options.functional = true } // scopedId if (scopeId) { options._scopeId = 'data-v-' + scopeId } var hook if (moduleIdentifier) { // server build hook = function (context) { // 2.3 injection context = context || // cached call (this.$vnode && this.$vnode.ssrContext) || // stateful (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional // 2.2 with runInNewContext: true if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { context = __VUE_SSR_CONTEXT__ } // inject component styles if (injectStyles) { injectStyles.call(this, context) } // register component module identifier for async chunk inferrence if (context && context._registeredComponents) { context._registeredComponents.add(moduleIdentifier) } } // used by ssr in case component is cached and beforeCreate // never gets called options._ssrRegister = hook } else if (injectStyles) { hook = shadowMode ? function () { injectStyles.call( this, (options.functional ? this.parent : this).$root.$options.shadowRoot ) } : injectStyles } if (hook) { if (options.functional) { // for template-only hot-reload because in that case the render fn doesn't // go through the normalizer options._injectStyles = hook // register for functional component in vue file var originalRender = options.render options.render = function renderWithStyleInjection (h, context) { hook.call(context) return originalRender(h, context) } } else { // inject component registration as beforeCreate hook var existing = options.beforeCreate options.beforeCreate = existing ? [].concat(existing, hook) : [hook] } } return { exports: scriptExports, options: options } } /***/ }), /***/ 10: /***/ (function(module, exports) { module.exports = require("throttle-debounce/debounce"); /***/ }), /***/ 163: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/aos-defdoc/src/main.vue?vue&type=template&id=24760bb8& var render = function() { var _vm = this var _h = _vm.$createElement var _c = _vm._self._c || _h return _c( "div", { staticClass: "aos-defdoc" }, [ _vm.editable && _vm.showType === "select" ? _c( "el-select", { ref: "aosDefdoc", attrs: { filterable: "", clearable: _vm.clearable, disabled: _vm.disabled, multiple: _vm.multiple, multipleLimit: _vm.multipleLimit, "collapse-tags": _vm.collapseTags, placeholder: _vm.placeholder }, on: { change: _vm.handleDefChange, "visible-change": _vm.handleVisibleChange, clear: _vm.handleClear, blur: _vm.handleBlur, focus: _vm.handleFocus, "remove-tag": _vm.handleRemoveTag }, model: { value: _vm.defValue, callback: function($$v) { _vm.defValue = $$v }, expression: "defValue" } }, _vm._l(_vm.options, function(item) { return _c("el-option", { key: item.code, attrs: { label: item.name, value: item.code } }) }), 1 ) : _vm._e(), !_vm.editable ? _c( "div", { staticClass: "el-form-item__content aos-form-input-text" }, [_vm._v("\n " + _vm._s(_vm.defValueLable) + "\n ")] ) : _vm._e(), _vm.editable && _vm.showType === "checkbox" && _vm.multiple ? _c( "div", { staticClass: "aos-defdoc__container" }, [ _c( "el-checkbox-group", { on: { change: _vm.handleCheckedChange }, model: { value: _vm.defValue, callback: function($$v) { _vm.defValue = $$v }, expression: "defValue" } }, _vm._l(_vm.options, function(item) { return _c( "el-checkbox", { key: item.code, attrs: { label: item.code } }, [_vm._v(_vm._s(item.name))] ) }), 1 ) ], 1 ) : _vm._e(), _vm.editable && _vm.showType === "button" && _vm.multiple ? _c( "div", { staticClass: "aos-defdoc__container" }, [ _c( "el-checkbox-group", { attrs: { size: "mini" }, on: { change: _vm.handleCheckedChange }, model: { value: _vm.defValue, callback: function($$v) { _vm.defValue = $$v }, expression: "defValue" } }, _vm._l(_vm.options, function(item) { return _c( "el-checkbox-button", { key: item.code, attrs: { label: item.code } }, [_vm._v(_vm._s(item.name))] ) }), 1 ) ], 1 ) : _vm._e(), _vm.editable && _vm.showType === "checkbox" && !_vm.multiple ? _c( "div", { staticClass: "aos-defdoc__container" }, [ _c( "el-radio-group", { on: { change: _vm.handleRadioChange }, model: { value: _vm.defValue, callback: function($$v) { _vm.defValue = $$v }, expression: "defValue" } }, _vm._l(_vm.options, function(item) { return _c( "el-radio", { key: item.code, attrs: { label: item.code } }, [_vm._v(_vm._s(item.name))] ) }), 1 ) ], 1 ) : _vm._e(), _vm.editable && _vm.showType === "button" && !_vm.multiple ? _c( "div", { staticClass: "aos-defdoc__container" }, [ _c( "el-radio-group", { attrs: { size: "mini" }, on: { change: _vm.handleRadioChange }, model: { value: _vm.defValue, callback: function($$v) { _vm.defValue = $$v }, expression: "defValue" } }, _vm._l(_vm.options, function(item) { return _c( "el-radio-button", { key: item.code, attrs: { label: item.code } }, [_vm._v(_vm._s(item.name))] ) }), 1 ) ], 1 ) : _vm._e() ], 1 ) } var staticRenderFns = [] render._withStripped = true // CONCATENATED MODULE: ./packages/aos-defdoc/src/main.vue?vue&type=template&id=24760bb8& // EXTERNAL MODULE: external "lodash/cloneDeep" var cloneDeep_ = __webpack_require__(7); var cloneDeep_default = /*#__PURE__*/__webpack_require__.n(cloneDeep_); // EXTERNAL MODULE: external "throttle-debounce/debounce" var debounce_ = __webpack_require__(10); var debounce_default = /*#__PURE__*/__webpack_require__.n(debounce_); // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/aos-defdoc/src/main.vue?vue&type=script&lang=js& // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /* harmony default export */ var mainvue_type_script_lang_js_ = ({ name: 'AosDefdoc', props: { value: { type: [String, Array], required: true, default: '' }, // 字典组件的code,对应 defCode: { type: String }, // 字典的分组 tag: { type: String, default: '' }, editable: { type: Boolean, required: true, default: true }, debounce: { type: Number, default: 300 }, // 参照下拉列表的位置 placement: { type: String, default: 'bottom-start' }, // 提示 placeholder: { type: String, default: '请选择' }, // 是否可清空 clearable: { type: Boolean, default: true }, // 禁用状态 disabled: { type: Boolean, default: false }, multiple: { type: Boolean, default: false }, // 多选限制 multipleLimit: { type: Number, default: 0 }, collapseTags: { type: Boolean, default: false }, // 是否默认选中返回的第一项值 firstDefault: { type: Boolean, default: false }, customerUrl: { type: String }, noDefCode: { type: Boolean, default: false }, ormCode: { type: String }, ormName: { type: String }, ormData: { type: String }, ormStatus: { type: String }, showType: { type: String, default: 'select' }, // 是否外部选项 outer: { type: Boolean, default: false }, // 外部具体选项 outerOptions: { type: Array, default: function _default() { return []; } } }, data: function data() { return { options: [], defValue: '', defValueLable: '', firstInit: true, isIndeterminate: true, checkAll: false, debounceHandleChangeEmit: '' }; }, methods: { handleChangeEmit: function handleChangeEmit() { this.$emit('change', this.emitData, this.emitFullData); }, handleCheckAllChange: function handleCheckAllChange() { this.isIndeterminate = false; }, handleCheckedChange: function handleCheckedChange(data) { this.defValue = data; this.setDefValueLabel(data); this.handleChangeEmit(); }, handleRadioChange: function handleRadioChange(data) { this.defValue = data; this.setDefValueLabel(data); this.handleChangeEmit(); }, getOptions: function getOptions() { var _this = this; if (this.outer) { this.options = cloneDeep_default()(this.outerOptions); if (this.firstInit && this.firstDefault) { this.setFirstDefault(); } return Promise.resolve(this.outerOptions); } else { if (!this.noDefCode && !this.defCode) { this.$message({ type: 'error', message: '字典组件的defCode不能为空' }); return; } // let dict = this.$storage.get('dict', 'session') || {} // if (dict && Object.keys(dict).length > 0 && dict[this.defCode]) { // this.options = dict[this.defCode] // if (this.firstInit && this.firstDefault) { // this.setFirstDefault() // this.firstInit = false // } // return window.Promise.resolve(); // } else { var url = "/core/api/defdoc-detail-enable/" + this.defCode; if (this.tag) { url = "/core/api/defdoc-detail-by-tag/" + this.defCode + '/' + this.tag; } if (this.customerUrl) { if (!this.noDefCode) { url = this.customerUrl + this.defCode; } else { url = this.customerUrl; } } return this.$optimizeHttp({ url: url, method: 'get' }).then(function (res) { if (_this.ormStatus && res[_this.ormStatus]) { if (_this.ormData && res[_this.ormData]) { _this.options = cloneDeep_default()(res[_this.ormData]); _this.options.forEach(function (item) { if (_this.ormCode && item[_this.ormCode]) { item.code = item[_this.ormCode]; } if (_this.ormName && item[_this.ormName]) { item.name = item[_this.ormName]; } }); if (_this.firstInit && _this.firstDefault) { _this.setFirstDefault(); } _this.firstInit = false; } } else { if (res.status === 200) { _this.options = cloneDeep_default()(res.data); _this.options.forEach(function (item) { if (_this.ormCode && item[_this.ormCode]) { item.code = item[_this.ormCode]; } if (_this.ormName && item[_this.ormName]) { item.name = item[_this.ormName]; } }); if (_this.firstInit && _this.firstDefault) { _this.setFirstDefault(); } _this.firstInit = false; // dict[this.defCode] = res.data // this.$storage.add('dict', dict, 'session') } else { _this.$message({ type: "error", message: res.data.title }); } } }).catch(function () {}); } // } }, /** * @description: 设置默认第一项,当有值的时候不设置 * @param {type} none * @return: undefined */ setFirstDefault: function setFirstDefault() { if (this.multiple) { if (this.defValue.length <= 0) { this.defValue = []; this.defValue.push(this.options[0].code); } } else { if (!this.defValue) { this.defValue = this.options[0].code; } } this.handleChangeEmit(); }, handleDefChange: function handleDefChange(data) { this.defValue = data; this.setDefValueLabel(data); this.handleChangeEmit(); }, handleVisibleChange: function handleVisibleChange(data) { this.$emit('visible-change', data); }, handleRemoveTag: function handleRemoveTag(tag) { this.$emit('remove-tag', tag); }, handleClear: function handleClear() { this.$emit('clear', this.defValue); }, reset: function reset() { this.defValue = ''; this.defValueLable = ''; }, handleBlur: function handleBlur(e) { this.$emit('blur', e); }, handleFocus: function handleFocus(e) { this.$emit('focus', e); }, setDefValueLabel: function setDefValueLabel(data) { var _this2 = this; window.Promise.all([this.getOptions()]).then(function () { if (_this2.multiple && data && data.length > 0) { _this2.defValueLable = ""; data.forEach(function (item, index) { var sourceData = _this2.$_.find(_this2.options, { code: item }); if (sourceData) { _this2.defValueLable += sourceData.name; if (index < data.length - 1) { _this2.defValueLable += ','; } } }); } else { var sourceData = _this2.$_.find(_this2.options, { code: data }); if (sourceData) { _this2.defValueLable = sourceData.name; } else { _this2.defValueLable = ''; } } }); }, init: function init() { if (this.multiple) { var value = this.value; if (value) { this.defValue = value.split(','); } else { this.defValue = []; } } else { this.defValue = this.value || ''; } this.setDefValueLabel(this.defValue); this.debounceHandleChangeEmit(); } }, created: function created() { this.debounceHandleChangeEmit = debounce_default()(10, this.handleChangeEmit); this.init(); this.firstInit = true; }, computed: { emitData: function emitData() { var _this3 = this; var emitData = ''; if (this.multiple) { if (this.defValue && this.defValue.length > 0) { this.defValue.forEach(function (item, index) { emitData += item; if (index < _this3.defValue.length - 1) { emitData += ','; } }); } } else { emitData = this.defValue; } return emitData; }, emitFullData: function emitFullData() { var _this4 = this; var emitFullData = []; var options = this.options; if (this.multiple) { if (this.defValue && this.defValue.length > 0) { this.defValue.forEach(function (item) { var data = _this4.$_.find(options, { code: item }); if (data) { emitFullData.push(data); } }); } } else { var data = this.$_.find(options, { code: this.defValue }); if (data) { emitFullData.push(data); } } return emitFullData; } }, watch: { // defValue: function (val, oldVal) { // if (this.options && this.options.length > 0 && val && !this.$_.isEqual(val, oldVal)) { // window.Promise.all([this.getOptions()]).then(() => { // this.setDefValueLabel(this.defValue); // }); // } // }, value: function value(val, oldVal) { if (!this.$_.isEqual(val, oldVal)) { this.init(); } }, defCode: function defCode(val, oldVal) { if (!this.$_.isEqual(val, oldVal)) { this.init(); } }, tag: function tag(val, oldVal) { if (!this.$_.isEqual(val, oldVal)) { this.init(); } }, customerUrl: function customerUrl(val, oldVal) { if (!this.$_.isEqual(val, oldVal)) { this.init(); } }, outer: function outer(val, oldVal) { if (!this.$_.isEqual(val, oldVal)) { this.init(); } }, outerOptions: function outerOptions(val, oldVal) { if (!this.$_.isEqual(val, oldVal)) { this.init(); } } } }); // CONCATENATED MODULE: ./packages/aos-defdoc/src/main.vue?vue&type=script&lang=js& /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(0); // CONCATENATED MODULE: ./packages/aos-defdoc/src/main.vue /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( src_mainvue_type_script_lang_js_, render, staticRenderFns, false, null, null, null ) /* hot reload */ if (false) { var api; } component.options.__file = "packages/aos-defdoc/src/main.vue" /* harmony default export */ var main = (component.exports); // CONCATENATED MODULE: ./packages/aos-defdoc/index.js main.install = function (Vue) { Vue.component(main.name, main); }; /* harmony default export */ var aos_defdoc = __webpack_exports__["default"] = (main); /***/ }), /***/ 7: /***/ (function(module, exports) { module.exports = require("lodash/cloneDeep"); /***/ }) /******/ });