UNPKG

sohelp-ele

Version:

SohelpEle Library

272 lines (271 loc) 8.56 kB
(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); } })(); "use strict"; 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; }(); module.exports = index;