sohelp-ele
Version:
SohelpEle Library
271 lines (270 loc) • 8.55 kB
JavaScript
(function() {
"use strict";
try {
if (typeof document != "undefined") {
var elementStyle = document.createElement("style");
elementStyle.appendChild(document.createTextNode(""));
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("ele-table-select", _vm._g(_vm._b({ attrs: { "clearable": true, "init-value": _vm.initValue, "multiple": _vm.multiple, "popper-width": 580, "table-config": _vm.tableConfig, "value-with-label": true, "disabled": _vm.disabled }, on: { "change": _vm.change } }, "ele-table-select", _vm.$attrs, false), _vm.$listeners), [_vm.$slots.toolbar ? _c("template", { slot: "toolbar" }, [_vm._t("toolbar")], 2) : _c("template", { slot: "toolbar" }, [_c("el-row", { attrs: { "gutter": 10 } }, [_c("el-col", { attrs: { "span": 12 } }, [_c("el-input", { attrs: { "clearable": "", "placeholder": "\u8BF7\u8F93\u5165\u5173\u952E\u5B57\u641C\u7D22" }, nativeOn: { "keydown": function($event) {
if (!$event.type.indexOf("key") && _vm._k($event.keyCode, "enter", 13, $event.key, "Enter")) {
return null;
}
return _vm.search.apply(null, arguments);
} }, model: { value: _vm.keyword, callback: function($$v) {
_vm.keyword = $$v;
}, expression: "keyword" } })], 1), _c("el-col", { attrs: { "span": 12 } }, [_c("el-button", { attrs: { "primary": "" }, on: { "click": _vm.search } }, [_vm._v("\u641C\u7D22")])], 1)], 1)], 1)], 2);
};
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: "SohelpTableSelect",
props: {
refid: "",
multiple: {
type: Boolean,
default: false
}
},
data() {
return {
keyword: "",
initValue: {},
params: {},
foldStatus: false,
tableConfig: {
datasource: [],
columns: [],
toolbar: true,
pageSize: 5,
pageSizes: [5, 10, 15, 20],
rowClickChecked: true,
rowClickCheckedIntelligent: false,
size: "small"
},
done: false,
url: "/engine/service/crud/page",
namespace: "",
disabled: false
};
},
methods: {
setInitValue(initValue) {
this.initValue = Object.assign(this.initValue, initValue || {});
},
change(value) {
var _a, _b;
let labelKey = this.$attrs["label-key"];
let valueKey = this.$attrs["value-key"];
let label = "";
let dataMap = (_b = (_a = this.tableConfig) == null ? void 0 : _a.datasource) == null ? void 0 : _b.find((item) => item[valueKey] === value);
if (dataMap) {
label = dataMap[labelKey];
}
let _initValue = {};
_initValue[labelKey] = label;
_initValue[valueKey] = value;
this.initValue = Object.assign(this.initValue, _initValue);
this.$emit(
"change",
value,
label,
this.tableConfig.datasource
);
},
async isDone() {
let promise = new Promise((resolve, reject) => {
if (this.done) {
resolve();
} else {
let timer = setInterval(() => {
if (this.done) {
clearInterval(timer);
resolve();
}
}, 17);
}
});
return promise;
},
getColumns() {
this.done = false;
SohelpHttp.get("/engine/web/ele/grid/read", { refid: this.refid }).then((res) => {
let sum = 0;
const rec = res.data;
if (!rec) {
return;
}
if (res.meta.success) {
let data = [];
let refData = rec == null ? void 0 : rec.properties;
if ((rec == null ? void 0 : rec.requestType) === "url") {
this.url = rec.requestValue;
} else if ((rec == null ? void 0 : rec.requestType) === "namespace") {
this.namespace = rec == null ? void 0 : rec.requestValue;
}
for (let i = 0; i < (refData == null ? void 0 : refData.length); i++) {
let recordData = refData[i];
if (recordData.width) {
sum = sum + parseInt(recordData.width);
}
let col = {};
if (recordData.header != "\u64CD\u4F5C") {
if (recordData.groupHeader) {
col = {
title: recordData.groupHeader,
children: [
{
label: recordData.header,
prop: recordData.name,
width: parseInt(recordData.width),
fixed: recordData.lock === "1" ? "right" : false
}
]
};
} else {
col = {
label: recordData.header,
prop: recordData.name,
width: parseInt(recordData.width),
fixed: recordData.lock === "1" ? "right" : false
};
}
}
let group = false;
data.forEach((e) => {
if (col.label == e.label) {
e.children.push(col.children[0]);
group = true;
}
});
if (!group) {
data.push(col);
}
}
this.tableConfig.columns = data;
let colum = {
columnKey: "selection",
type: "selection",
width: 50,
align: "center"
};
if (this.multiple) {
this.tableConfig.columns.unshift(colum);
}
}
this.load();
});
},
search() {
this.load({
keyword: this.keyword
});
},
refresh() {
this.load({});
},
async load(params) {
let url = this.url;
if (this.namespace) {
url = url + "?namespace=" + this.namespace;
}
Object.assign(this.params, params, {});
SohelpHttp.get(url, this.params).then((res) => {
if (res.meta.success) {
this.tableConfig.datasource = res.data.results;
}
}).catch((e) => {
this.$message.error(e);
});
}
},
mounted() {
this.disabled = this.$attrs.disabled || false;
this.getColumns();
},
created() {
}
};
const __cssModules = {};
var __component__ = /* @__PURE__ */ normalizeComponent(
__vue2_script,
render,
staticRenderFns,
false,
__vue2_injectStyles,
"b22ba91a",
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 };