sohelp-ele
Version:
SohelpEle Library
213 lines (212 loc) • 5.75 kB
JavaScript
(function() {
"use strict";
try {
if (typeof document != "undefined") {
var elementStyle = document.createElement("style");
elementStyle.appendChild(document.createTextNode(".sohelp-dyn-select[data-v-762d2f6f]{ width: 100%;}"));
document.head.appendChild(elementStyle);
}
} catch (e) {
console.error("vite-plugin-css-injected-by-js", e);
}
})();
var render = function() {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
return _c("el-select", _vm._g(_vm._b({ staticClass: "sohelp-dyn-select", attrs: { "clearable": _vm.clearable, "filterable": _vm.filterable, "value": _vm.value, "disabled": _vm.disabled }, on: { "update:value": function($event) {
_vm.value = $event;
}, "change": _vm.change } }, "el-select", _vm.$attrs, false), _vm.$listeners), _vm._l(_vm.options, function(item) {
return _c("el-option", { key: item.value, attrs: { "label": item.label, "value": item.value } });
}), 1);
};
var staticRenderFns = [];
var index_vue_vue_type_style_index_0_scoped_true_lang = "";
function normalizeComponent(scriptExports, render2, staticRenderFns2, functionalTemplate, injectStyles, scopeId, moduleIdentifier, shadowMode) {
var options = typeof scriptExports === "function" ? scriptExports.options : scriptExports;
if (render2) {
options.render = render2;
options.staticRenderFns = staticRenderFns2;
options._compiled = true;
}
if (functionalTemplate) {
options.functional = true;
}
if (scopeId) {
options._scopeId = "data-v-" + scopeId;
}
var hook;
if (moduleIdentifier) {
hook = function(context) {
context = context || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext;
if (!context && typeof __VUE_SSR_CONTEXT__ !== "undefined") {
context = __VUE_SSR_CONTEXT__;
}
if (injectStyles) {
injectStyles.call(this, context);
}
if (context && context._registeredComponents) {
context._registeredComponents.add(moduleIdentifier);
}
};
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) {
options._injectStyles = hook;
var originalRender = options.render;
options.render = function renderWithStyleInjection(h, context) {
hook.call(context);
return originalRender(h, context);
};
} else {
var existing = options.beforeCreate;
options.beforeCreate = existing ? [].concat(existing, hook) : [hook];
}
}
return {
exports: scriptExports,
options
};
}
const __vue2_script = {
name: "SohelpDynSelect",
props: {
autoRead: {
type: Boolean,
default: true
},
clearable: {
type: Boolean,
default: true
},
filterable: {
type: Boolean,
default: true
},
namespace: {
type: String,
value: ""
},
url: {
type: String,
value: "/engine/service/crud/query"
},
params: {
type: Object
},
mappingFields: {
type: Object,
value: {
label: "",
value: ""
}
},
data: {
type: Array
},
value: [String, Number, Array]
},
data() {
return {
baseParams: {},
options: [],
disabled: false
};
},
methods: {
change(val) {
var _a;
let _label = (_a = this.options.find((item) => item.value === val)) == null ? void 0 : _a.label;
this.$emit("change", val, _label);
},
mappingFieldsLists(_data) {
if ((_data == null ? void 0 : _data.length) < 1) {
return _data;
}
let _arr = [];
if (this.mappingFields) {
_arr = _data.map((item) => {
return {
label: item[this.mappingFields.label] || "",
value: item[this.mappingFields.value] || ""
};
});
} else {
_arr = _data;
}
let _temp = _arr.filter((item) => {
return item.label && item.value;
});
if (!_temp.length) {
this.$message.error("label\u3001value \u5C5E\u6027\u6620\u5C04\u9519\u8BEF");
return false;
}
return _temp;
},
load(params) {
if (this.data) {
this.options = this.data;
return false;
}
let _params = {};
if (this.namespace) {
_params["namespace"] = this.namespace;
}
if (params) {
_params = { ...{}, ...params };
}
SohelpHttp.get(this.url, _params).then((res) => {
if (res.meta.success) {
const _res = res.data;
if (_res.length) {
this.options = this.mappingFieldsLists(_res);
}
}
}).catch((err) => {
this.$message.error(err);
});
},
reload(params) {
let _params = { ...this.baseParams, ...params };
this.load(_params);
},
refresh() {
this.reload({});
}
},
mounted() {
this.disabled = this.$attrs.disabled || false;
this.baseParams = this.$attrs.params || this.params;
if (this.autoRead) {
this.load(this.baseParams);
}
}
};
const __cssModules = {};
var __component__ = /* @__PURE__ */ normalizeComponent(
__vue2_script,
render,
staticRenderFns,
false,
__vue2_injectStyles,
"762d2f6f",
null,
null
);
function __vue2_injectStyles(context) {
for (let o in __cssModules) {
this[o] = __cssModules[o];
}
}
var index = /* @__PURE__ */ function() {
return __component__.exports;
}();
export { index as default };