From f093da99ecb963d19d62dc0f242f00b20bc8895c Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期三, 14 四月 2021 13:22:31 +0800 Subject: [PATCH] Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev --- ruoyi-ui/src/utils/ruoyi.js | 107 +++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 75 insertions(+), 32 deletions(-) diff --git a/ruoyi-ui/src/utils/ruoyi.js b/ruoyi-ui/src/utils/ruoyi.js index 601b4ae..ac390f5 100644 --- a/ruoyi-ui/src/utils/ruoyi.js +++ b/ruoyi-ui/src/utils/ruoyi.js @@ -17,6 +17,8 @@ } else { if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) { time = parseInt(time) + } else if (typeof time === 'string') { + time = time.replace(new RegExp(/-/gm), '/'); } if ((typeof time === 'number') && (time.toString().length === 10)) { time = time * 1000 @@ -52,13 +54,17 @@ } // 娣诲姞鏃ユ湡鑼冨洿 -export function addDateRange(params, dateRange) { +export function addDateRange(params, dateRange, propName) { var search = params; - search.beginTime = ""; - search.endTime = ""; + search.params = {}; if (null != dateRange && '' != dateRange) { - search.beginTime = this.dateRange[0]; - search.endTime = this.dateRange[1]; + if (typeof (propName) === "undefined") { + search.params["beginTime"] = dateRange[0]; + search.params["endTime"] = dateRange[1]; + } else { + search.params["begin" + propName] = dateRange[0]; + search.params["end" + propName] = dateRange[1]; + } } return search; } @@ -66,13 +72,28 @@ // 鍥炴樉鏁版嵁瀛楀吀 export function selectDictLabel(datas, value) { var actions = []; - Object.keys(datas).map((key) => { + Object.keys(datas).some((key) => { if (datas[key].dictValue == ('' + value)) { actions.push(datas[key].dictLabel); - return false; + return true; } }) return actions.join(''); +} + +// 鍥炴樉鏁版嵁瀛楀吀锛堝瓧绗︿覆鏁扮粍锛� +export function selectDictLabels(datas, value, separator) { + var actions = []; + var currentSeparator = undefined === separator ? "," : separator; + var temp = value.split(currentSeparator); + Object.keys(value.split(currentSeparator)).some((val) => { + Object.keys(datas).some((key) => { + if (datas[key].dictValue == ('' + temp[val])) { + actions.push(datas[key].dictLabel + currentSeparator); + } + }) + }) + return actions.join('').substring(0, actions.join('').length - 1); } // 閫氱敤涓嬭浇鏂规硶 @@ -96,12 +117,11 @@ // 杞崲瀛楃涓诧紝undefined,null绛夎浆鍖栦负"" export function praseStrEmpty(str) { - if (!str || str == "undefined" || str == "null") { - return ""; - } - return str; + if (!str || str == "undefined" || str == "null") { + return ""; + } + return str; } - /** * 鏋勯�犳爲鍨嬬粨鏋勬暟鎹� @@ -109,24 +129,47 @@ * @param {*} id id瀛楁 榛樿 'id' * @param {*} parentId 鐖惰妭鐐瑰瓧娈� 榛樿 'parentId' * @param {*} children 瀛╁瓙鑺傜偣瀛楁 榛樿 'children' - * @param {*} rootId 鏍笽d 榛樿 0 */ -export function handleTree(data, id, parentId, children, rootId) { - id = id || 'id' - parentId = parentId || 'parentId' - children = children || 'children' - rootId = rootId || 0 - //瀵规簮鏁版嵁娣卞害鍏嬮殕 - const cloneData = JSON.parse(JSON.stringify(data)) - //寰幆鎵�鏈夐」 - const treeData = cloneData.filter(father => { - let branchArr = cloneData.filter(child => { - //杩斿洖姣忎竴椤圭殑瀛愮骇鏁扮粍 - return father[id] === child[parentId] - }); - branchArr.length > 0 ? father.children = branchArr : ''; - //杩斿洖绗竴灞� - return father[parentId] === rootId; - }); - return treeData != '' ? treeData : data; - } +export function handleTree(data, id, parentId, children) { + let config = { + id: id || 'id', + parentId: parentId || 'parentId', + childrenList: children || 'children' + }; + + var childrenListMap = {}; + var nodeIds = {}; + var tree = []; + + for (let d of data) { + let parentId = d[config.parentId]; + if (childrenListMap[parentId] == null) { + childrenListMap[parentId] = []; + } + nodeIds[d[config.id]] = d; + childrenListMap[parentId].push(d); + } + + for (let d of data) { + let parentId = d[config.parentId]; + if (nodeIds[parentId] == null) { + tree.push(d); + } + } + + for (let t of tree) { + adaptToChildrenList(t); + } + + function adaptToChildrenList(o) { + if (childrenListMap[o[config.id]] !== null) { + o[config.childrenList] = childrenListMap[o[config.id]]; + } + if (o[config.childrenList]) { + for (let c of o[config.childrenList]) { + adaptToChildrenList(c); + } + } + } + return tree; +} -- Gitblit v1.9.3