aos-element
Version:
A Component Library for Vue.js.
1,355 lines (1,298 loc) • 39 kB
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 = "/dist/";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 162);
/******/ })
/************************************************************************/
/******/ ({
/***/ 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");
/***/ }),
/***/ 162:
/***/ (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-ref/src/main.vue?vue&type=template&id=24c7f20c&
var render = function() {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _c(
"div",
{ staticClass: "aos-ref" },
[
_vm.editable && _vm.showType === "select"
? _c(
"el-select",
{
ref: "aosRef",
attrs: {
filterable: "",
multiple: _vm.multiple,
multipleLimit: _vm.multipleLimit,
"collapse-tags": _vm.collapseTags,
clearable: _vm.clearable,
disabled: _vm.disabled,
placeholder: _vm.placeholder,
"default-first-option": "",
"allow-create": _vm.allowCreate,
remote: "",
"remote-method": _vm.handleRemoteMethod,
loading: false
},
on: {
change: _vm.handleRefChange,
"visible-change": _vm.handleVisibleChange,
clear: _vm.handleClear,
blur: _vm.handleBlur,
focus: _vm.handleFocus,
"remove-tag": _vm.handleRemoveTag
},
model: {
value: _vm.refValue,
callback: function($$v) {
_vm.refValue = $$v
},
expression: "refValue"
}
},
[
_vm.refType === "select"
? _vm._l(_vm.options, function(item) {
return _c("el-option", {
key: item.code,
attrs: { label: item.value, value: item.code }
})
})
: _vm._e(),
_vm.refType === "tree"
? [
_c(
"el-option-group",
{
key: _vm.options.label,
staticClass: "aos-ref__option-tree",
attrs: { label: _vm.options.label }
},
[
_vm._l(_vm.treeOptionFlat, function(item) {
return _c("el-option", {
key: "tree_" + item.code,
staticStyle: { height: "0px" },
attrs: { label: item.value, value: item.code }
})
}),
_c(
"el-option",
{
key: "tree_options",
staticClass: "aos-ref__option-tree-option"
},
[
_vm.refType === "tree"
? _c("el-tree", {
ref: "tree",
staticClass: "aos-ref__option-tree-main",
attrs: {
"node-key": "code",
data: _vm.options,
props: _vm.defaultProps,
"default-expand-all": _vm.defaultExpandAll,
"filter-node-method": _vm.filterNode,
"default-checked-keys":
_vm.defaultCheckedKeys,
"show-checkbox":
_vm.multiple && _vm.showCheckbox,
"expand-on-click-node": true
},
on: {
"node-click": _vm.handleNodeClick,
check: _vm.handleCheck
},
scopedSlots: _vm._u([
{
key: "default",
fn: function(ref) {
var node = ref.node
return _c(
"span",
{
staticClass:
"aos-ref__option-tree-main-item"
},
[
_c("span", [
_vm._v(_vm._s(node.label))
])
]
)
}
}
])
})
: _vm._e()
],
1
)
],
2
)
]
: _vm._e(),
_vm.appendIcon
? _c("template", { slot: "append" }, [
_c("i", {
staticClass: "el-icon-plus",
on: { click: _vm.handleAppendPlusClick }
})
])
: _vm._e()
],
2
)
: _vm._e(),
!_vm.editable
? _c(
"div",
{ staticClass: "el-form-item__content aos-form-input-text" },
[
_vm._v(
"\n " +
_vm._s(
_vm.onlyTranslate
? _vm.translateRefValueLable
: _vm.refValueLable
) +
"\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.refValue,
callback: function($$v) {
_vm.refValue = $$v
},
expression: "refValue"
}
},
_vm._l(_vm.options, function(item) {
return _c(
"el-checkbox",
{ key: item.code, attrs: { label: item.code } },
[_vm._v(_vm._s(item.value))]
)
}),
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.refValue,
callback: function($$v) {
_vm.refValue = $$v
},
expression: "refValue"
}
},
_vm._l(_vm.options, function(item) {
return _c(
"el-checkbox-button",
{ key: item.code, attrs: { label: item.code } },
[_vm._v(_vm._s(item.value))]
)
}),
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.refValue,
callback: function($$v) {
_vm.refValue = $$v
},
expression: "refValue"
}
},
_vm._l(_vm.options, function(item) {
return _c(
"el-radio",
{ key: item.code, attrs: { label: item.code } },
[_vm._v(_vm._s(item.value))]
)
}),
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.refValue,
callback: function($$v) {
_vm.refValue = $$v
},
expression: "refValue"
}
},
_vm._l(_vm.options, function(item) {
return _c(
"el-radio-button",
{ key: item.code, attrs: { label: item.code } },
[_vm._v(_vm._s(item.value))]
)
}),
1
)
],
1
)
: _vm._e()
],
1
)
}
var staticRenderFns = []
render._withStripped = true
// CONCATENATED MODULE: ./packages/aos-ref/src/main.vue?vue&type=template&id=24c7f20c&
// EXTERNAL MODULE: external "throttle-debounce/debounce"
var debounce_ = __webpack_require__(10);
var debounce_default = /*#__PURE__*/__webpack_require__.n(debounce_);
// EXTERNAL MODULE: external "lodash/cloneDeep"
var cloneDeep_ = __webpack_require__(7);
var cloneDeep_default = /*#__PURE__*/__webpack_require__.n(cloneDeep_);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/aos-ref/src/main.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var mainvue_type_script_lang_js_ = ({
name: 'AosRef',
props: {
// 参照对应的编码
refCode: {
type: String,
required: true
// default:'woTypeRef'
},
value: {
type: [String, Array],
required: true
},
// 编辑状态
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
},
// 是否折叠多选
collapseTags: {
type: Boolean,
default: false
},
// 多选限制
multipleLimit: {
type: Number,
default: 0
},
// 查询参数
queryParams: {
type: Object,
default: function _default() {
return {};
}
},
// 过滤参数
filters: {
type: Array,
default: function _default() {
return [];
}
},
// 默认选中第一项
firstDefault: {
type: Boolean,
default: false
},
// 参照显示的类型,默认是输入框,暂时未启用
showType: {
type: String,
default: 'select',
validator: function validator(value) {
return ['select', 'table', 'button', 'checkbox'].indexOf(value) !== -1;
}
},
// 只翻译,适用于只显示非编辑状态
onlyTranslate: {
type: Boolean,
default: false
},
// 只翻译时外部传回来的值,需要和onlyTranslate配合使用
translateRefValueLable: {
type: String,
default: ''
},
// 是否允许通过输入框创建新的条目
allowCreate: {
type: Boolean,
default: false
},
// 是否显示尾部的添加
appendIcon: {
type: Boolean,
default: false
},
customerUrl: {
type: String
},
noRefCode: {
type: Boolean,
default: false
},
ormCode: {
type: String
},
ormName: {
type: String
},
ormData: {
type: String
},
ormStatus: {
type: String
},
// 是否不使用请求缓存
immediate: {
type: Boolean,
default: false
},
defaultExpandAll: {
type: Boolean,
default: false
},
onlyTreeLeaf: {
type: Boolean,
default: true
}
},
computed: {
emitData: function emitData() {
var _this = this;
var emitData = '';
if (this.multiple) {
if (this.refValue && this.refValue.length > 0) {
this.refValue.forEach(function (item, index) {
emitData += item;
if (index < _this.refValue.length - 1) {
emitData += ',';
}
});
}
} else {
emitData = this.refValue;
}
return emitData;
},
emitFullData: function emitFullData() {
var _this2 = this;
var emitFullData = [];
var options = this.options;
if (this.refType === 'tree') {
options = this.treeOptionFlat;
}
if (this.multiple) {
if (this.refValue && this.refValue.length > 0) {
this.refValue.forEach(function (item) {
var data = _this2.$_.find(options, { code: item });
if (data) {
emitFullData.push(data);
}
});
}
} else {
var data = this.$_.find(options, { code: this.refValue });
if (data) {
emitFullData.push(data);
}
}
return emitFullData;
}
},
watch: {
// filterText(val) {
// this.$refs.tree.filter(val);
// },
// refValue: function (val, oldVal) {
// if (!this.onlyTranslate && this.options && this.options.length > 0 && val && !this.$_.isEqual(val, oldVal)) {
// this.init()
// }
// },
filters: {
handler: function handler(val, oldVal) {
if (!this.onlyTranslate && val && Object.keys(val).length > 0) {
this.init();
}
},
deep: true
},
value: function value(val, oldVal) {
if (!this.onlyTranslate && !this.$_.isEqual(val, oldVal)) {
if (this.multiple && this.refType === 'tree') {
if (this.emitData !== val) {
this.init();
}
} else {
this.init();
}
}
},
refCode: function refCode(val, oldVal) {
if (!this.onlyTranslate && !this.$_.isEqual(val, oldVal)) {
this.init();
}
},
customerUrl: function customerUrl(val, oldVal) {
if (!this.onlyTranslate && !this.$_.isEqual(val, oldVal)) {
this.init();
}
}
},
created: function created() {
this.debounceHandleEmitChange = debounce_default()(10, this.handleEmitChange);
if (!this.onlyTranslate) {
this.init();
this.firstInit = true;
}
},
data: function data() {
return {
options: [],
refValue: '',
refValueLable: '',
firstInit: true,
debounceHandleEmitChange: '',
refType: 'select',
filterText: '',
treeRefValueObject: {},
treeOptionFlat: [],
defaultProps: {
children: 'children',
label: 'value'
},
showCheckbox: true,
defaultCheckedKeys: []
};
},
methods: {
handleCheckChange: function handleCheckChange(data, checked, indeterminate) {
console.log(data, checked, indeterminate);
},
handleCheck: function handleCheck(data, checkedData) {
var refValue = [];
// const node = this.$refs.tree.getNode(data)
// if(node.expanded){
// this.$nextTick(()=>{
// node.expanded = true
// node.childNodes.forEach(event=>event.expanded = true)
// })
// }
// console.log('---',data, checkedData,node);
checkedData.checkedNodes.forEach(function (item) {
if (item.isLeaf) {
refValue.push(item.code);
}
});
this.refValue = refValue;
this.defaultCheckedKeys = refValue;
this.setRefValue(refValue);
this.handleEmitChange();
},
getTreeFilter: function getTreeFilter(queryString) {
var _this3 = this;
// console.log('--- queryString ---', queryString)
this.filterText = queryString;
if (queryString) {
this.$nextTick(function () {
_this3.$refs.tree.filter(queryString);
});
}
},
handleNodeClick: function handleNodeClick(data) {
var _this4 = this;
if (this.onlyTreeLeaf && data.isLeaf) {
this.setTreeRefValue(data);
this.debounceHandleEmitChange();
this.$refs.tree.setChecked(data, true); //设置为未选中
var node = this.$refs.tree.getNode(data); //获取节点
if (node.childNodes.length > 0) {
this.treeToList(node).map(function (item) {
if (item.childNodes.length <= 0) {
_this4.$refs.tree.setChecked(item, true);
}
});
}
} else if (!this.onlyTreeLeaf) {
this.setTreeRefValue(data);
this.debounceHandleEmitChange();
}
},
setTreeRefValue: function setTreeRefValue(data) {
var _this5 = this;
console.log('setTreeRefValue', data);
this.treeRefValueObject[data.code] = data;
var code = data.code;
var label = data.value;
this.refValueLable = '';
if (this.multiple) {
if (this.refValue && Array.isArray(this.refValue) && this.refValue.indexOf(code) < 0) {
this.refValue.push(code);
}
this.refValue.forEach(function (key, index) {
_this5.refValueLable = _this5.refValueLable + _this5.treeRefValueObject[key].value;
if (index < _this5.refValue.length - 1) {
_this5.refValueLable = _this5.refValueLable + ',';
}
});
} else {
this.refValue = code;
this.refValueLable = label;
}
},
filterNode: function filterNode(value, data) {
if (!value) return true;
return data.value.indexOf(value) !== -1;
},
getLableByCode: function getLableByCode() {
var _this6 = this;
var paramsData = '';
if (this.multiple) {
paramsData = this.refValue.join(',');
} else {
paramsData = this.refValue;
}
this.$optimizeHttp({
url: '/core/api/ref/translate/' + this.refCode,
method: 'get',
params: {
code: paramsData
}
}).then(function (res) {
var resData = cloneDeep_default()(res.data);
_this6.refValueLable = '';
if (_this6.refValue.length > 0) {
if (_this6.multiple) {
_this6.refValue.forEach(function (item, index) {
var sourceData = _this6.$_.find(resData, { code: item });
if (sourceData) {
if (_this6.refType === 'tree') {
_this6.treeRefValueObject[sourceData.code] = sourceData;
if (!_this6.$_.find(_this6.treeOptionFlat, { code: sourceData.code })) {
_this6.treeOptionFlat.push(sourceData);
}
}
if (!_this6.$_.find(_this6.options, { code: sourceData.code })) {
_this6.options.push(sourceData);
}
_this6.refValueLable += sourceData.value;
if (index < _this6.refValue.length - 1) {
_this6.refValueLable += ',';
}
}
});
} else {
var sourceData = _this6.$_.find(resData, { code: _this6.refValue });
if (sourceData) {
if (_this6.refType === 'tree') {
_this6.treeRefValueObject[sourceData.code] = sourceData;
if (!_this6.$_.find(_this6.treeOptionFlat, { code: sourceData.code })) {
_this6.treeOptionFlat.push(sourceData);
}
}
if (!_this6.$_.find(_this6.options, { code: sourceData.code })) {
_this6.options.push(sourceData);
}
_this6.refValueLable = sourceData.value;
} else {
_this6.refValueLable = '';
}
}
}
});
},
handleCheckedChange: function handleCheckedChange(data) {
this.refValue = data;
this.setRefValue(data);
this.handleEmitChange();
},
handleRadioChange: function handleRadioChange(data) {
this.refValue = data;
this.setRefValue(data);
this.handleEmitChange();
},
handleEmitChange: function handleEmitChange() {
this.$emit('change', this.emitData, this.emitFullData);
},
handleAppendPlusClick: function handleAppendPlusClick() {
this.$emit('plus-click');
},
checkOptionsIsTreeType: function checkOptionsIsTreeType(options) {
var isTreeType = false;
if (options && options.length > 0) {
for (var index = 0; index < options.length; index++) {
var element = options[index];
if (element.children) {
isTreeType = true;
}
}
}
if (isTreeType) {
this.refType = 'tree';
} else {
this.refType = 'select';
}
},
setTreeDataLeaf: function setTreeDataLeaf(parent, option) {
var _this7 = this;
if (option && Array.isArray(option) && option.length > 0) {
option.forEach(function (item) {
if (parent && parent.level) {
item.level = parent.level + 1;
} else {
item.level = 1;
}
if (item.children && Array.isArray(item.children) && item.children.length > 0) {
item.isLeaf = false;
_this7.setTreeDataLeaf(item, item.children);
} else {
item.isLeaf = true;
}
});
}
},
flatTreeData: function flatTreeData(option) {
var _this8 = this;
if (option && Array.isArray(option) && option.length > 0) {
option.forEach(function (item) {
_this8.treeOptionFlat.push(item);
if (item.children && Array.isArray(item.children) && item.children.length > 0) {
_this8.flatTreeData(item.children);
}
});
}
},
/**
* @description: 参照远程搜索
* @param {type} 输入框的值
* @return:
*/
handleRemoteMethod: function handleRemoteMethod(queryString) {
var _this9 = this;
if (!this.refCode) {
this.$message({
type: 'error',
message: this.refCode + '对应的 refCode 不能为空.'
});
return;
}
var submitData = void 0;
var filters = Object.prototype.toString.call(this.filters) === '[object Array]' ? this.filters : [];
var content = queryString ? queryString : '';
if (this.showType === 'dialog') {
submitData = {
content: content,
page: this.page,
size: this.size,
filters: filters
};
} else {
submitData = {
content: content,
filters: filters
};
}
// let queryParamsKeys = Object.keys(this.queryParams);
// if (queryParamsKeys.length > 0) {
// queryParamsKeys.forEach((item) => {
// params[item] = this.queryParams[item];
// });
// }
var url = '/core/api/ref/simple-search/' + this.refCode;
if (this.customerUrl) {
url = this.customerUrl + this.refCode;
if (this.noRefCode) {
url = this.customerUrl;
}
}
var http = this.$optimizeHttp;
if (this.immediate) {
http = this.$http;
}
return http({
method: 'post',
url: url,
data: submitData
}).then(function (res) {
if (res.status === 200) {
var options = JSON.parse(res.data.data);
if (!options || Array.isArray(options) && options.length === 0) {
_this9.$emit('options-empty', true);
}
_this9.checkOptionsIsTreeType(options);
if (_this9.refType === 'tree') {
_this9.setTreeDataLeaf('', options);
_this9.treeOptionFlat = [];
_this9.flatTreeData(options);
}
_this9.options = options;
if (_this9.firstInit && _this9.firstDefault) {
_this9.setFirstDefault();
}
_this9.firstInit = false;
if (_this9.refType === 'tree') {
_this9.getTreeFilter(queryString);
}
} else {
_this9.$message({
type: 'error',
message: '请求参照数据失败'
});
}
});
},
/**
* @description: 设置默认第一项,当有值的时候不设置
* @param {type} none
* @return: undefined
*/
setFirstDefault: function setFirstDefault() {
if (this.multiple) {
if (this.refValue.length <= 0) {
this.refValue = [];
var options = this.options;
if (this.refType === 'tree') {
options = this.treeOptionFlat;
}
if (options.length > 0 && options[0]) {
this.refValue.push(options[0].code);
this.debounceHandleEmitChange();
}
}
} else {
if (!this.refValue) {
var _options = this.options;
if (this.refType === 'tree') {
_options = this.treeOptionFlat;
}
if (Array.isArray(_options) && _options[0]) {
this.refValue = _options[0].code;
this.debounceHandleEmitChange();
}
}
}
},
handleRefChange: function handleRefChange(data) {
//this.defaultCheckedKeys = data
this.refValue = data;
this.setRefValue(data);
this.debounceHandleEmitChange();
},
handleVisibleChange: function handleVisibleChange(data) {
this.$emit('visible-change', data);
},
handleRemoveTag: function handleRemoveTag(tag) {
var _this10 = this;
this.$emit('remove-tag', tag);
if (this.multiple && this.refType === 'tree') {
this.$refs.tree.setChecked(tag, false); //设置为未选中
var node = this.$refs.tree.getNode(tag); //获取节点
if (node.childNodes.length > 0) {
this.treeToList(node).map(function (item) {
if (item.childNodes.length <= 0) {
_this10.$refs.tree.setChecked(item, false);
}
});
}
// arr = arr.filter(item => item != value)
this.refValue = this.refValue.filter(function (item) {
return item != tag;
});
this.defaultCheckedKeys = this.defaultCheckedKeys.filter(function (item) {
return item != tag;
});
}
},
handleClear: function handleClear(data) {
if (this.multiple && this.refType === 'tree') {
this.refValue = '';
this.defaultCheckedKeys = [];
}
this.$emit('clear');
},
handleBlur: function handleBlur(e) {
this.$emit('blur', e);
},
handleFocus: function handleFocus(e) {
this.handleRemoteMethod();
this.$emit('focus', e);
},
setRefValue: function setRefValue(data) {
var _this11 = this;
var copyData = void 0;
var findLabel = true;
var options = this.options;
if (this.refType === 'tree') {
options = this.treeOptionFlat;
}
if (this.multiple && data) {
if (typeof data === 'string') {
copyData = data.split(',').filter(function (item) {
return item;
});
} else {
copyData = this.$_.cloneDeep(data);
}
this.refValueLable = '';
if (copyData.length > 0) {
copyData.forEach(function (item, index) {
var sourceData = _this11.$_.find(options, { code: item });
if (sourceData) {
if (_this11.refType === 'tree') {
_this11.treeRefValueObject[sourceData.code] = sourceData;
}
_this11.refValueLable += sourceData.value;
if (index < copyData.length - 1) {
_this11.refValueLable += ',';
}
} else {
findLabel = false;
}
});
}
} else {
var sourceData = this.$_.find(options, { code: data });
if (sourceData) {
this.refValueLable = sourceData.value;
if (this.refType === 'tree') {
this.treeRefValueObject[sourceData.code] = sourceData;
}
} else {
this.refValueLable = '';
findLabel = false;
}
}
if (!this.onlyTranslate && (!this.multiple && this.refValue || this.multiple && Array.isArray(this.refValue) && this.refValue.length > 0) && !findLabel) {
this.getLableByCode();
}
this.debounceHandleEmitChange();
},
init: function init() {
var _this12 = this;
if (this.multiple) {
var value = this.value;
if (value) {
value += '';
var valueList = value.split(',');
this.refValue = valueList.filter(function (item) {
return item;
});
this.defaultCheckedKeys = valueList.filter(function (item) {
return item;
});
} else {
this.refValue = [];
this.defaultCheckedKeys = [];
}
} else {
this.refValue = this.value || '';
}
Promise.all([this.handleRemoteMethod()]).then(function () {
_this12.setRefValue(_this12.value);
});
},
reset: function reset() {
this.refValue = '';
this.refValueLable = '';
}
}
});
// CONCATENATED MODULE: ./packages/aos-ref/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-ref/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-ref/src/main.vue"
/* harmony default export */ var main = (component.exports);
// CONCATENATED MODULE: ./packages/aos-ref/index.js
main.install = function (Vue) {
Vue.component(main.name, main);
};
/* harmony default export */ var aos_ref = __webpack_exports__["default"] = (main);
/***/ }),
/***/ 7:
/***/ (function(module, exports) {
module.exports = require("lodash/cloneDeep");
/***/ })
/******/ });