From 0472ec32cadb4f9bca6dbab82ac33a42e76f37ed Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 28 六月 2022 16:24:15 +0800 Subject: [PATCH] 菜单栏&时间轴 --- src/menu/components/card/cardsimplecomponent/options.jsx | 142 ++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 126 insertions(+), 16 deletions(-) diff --git a/src/menu/components/card/cardsimplecomponent/options.jsx b/src/menu/components/card/cardsimplecomponent/options.jsx index 2dcda21..7b397d1 100644 --- a/src/menu/components/card/cardsimplecomponent/options.jsx +++ b/src/menu/components/card/cardsimplecomponent/options.jsx @@ -1,9 +1,36 @@ /** * @description tablecard setting琛ㄥ崟閰嶇疆淇℃伅 */ -export function getTableSetting (setting, columns) { +export function getTableSetting (setting, columns, buttons = [], action = []) { let _columns = columns.map(item => ({value: item.field, label: item.label})) _columns.push({value: '$Index', label: '搴忓彿锛堝墠绔級'}) + let appType = sessionStorage.getItem('appType') + let menulist = [] + let appmenulist = [] + + if (appType) { + appmenulist = sessionStorage.getItem('appMenus') + if (appmenulist) { + try { + appmenulist = JSON.parse(appmenulist) + } catch (e) { + appmenulist = [] + } + } else { + appmenulist = [] + } + } else { + menulist = sessionStorage.getItem('fstMenuList') + if (menulist) { + try { + menulist = JSON.parse(menulist) + } catch (e) { + menulist = [] + } + } else { + menulist = [] + } + } const settingForm = [ { @@ -50,6 +77,88 @@ label: '瀵规瘮鍊�', initval: setting.controlValue || '', required: false + }, + { + type: 'radio', + field: 'click', + label: '鐐瑰嚮浜嬩欢', + initval: setting.click || '', + tooltip: '褰撻�夋嫨瑙﹀彂鎸夐挳鏃讹紝鍙湁褰撳崱鐗囦腑鍙瓨鍦ㄤ竴涓寜閽椂鏈夋晥銆�', + required: false, + options: [ + {value: '', label: '鏃�'}, + {value: 'menu', label: '鑿滃崟'}, + {value: 'link', label: '閾炬帴'}, + {value: 'button', label: '鎸夐挳'}, + ], + controlFields: [ + {field: 'menu', values: ['menu']}, + {field: 'linkurl', values: ['link']}, + {field: 'open', values: ['menu', 'link']}, + {field: 'joint', values: ['menu', 'link']}, + {field: 'linkbtn', values: ['button']}, + ] + }, + { + type: 'radio', + field: 'joint', + label: '鍙傛暟鎷兼帴', + initval: setting.joint || 'true', + required: false, + options: [ + {value: 'true', label: '鏄�'}, + {value: 'false', label: '鍚�'}, + ], + }, + { + type: 'radio', + field: 'open', + label: '鎵撳紑鏂瑰紡', + initval: setting.open || 'blank', + required: false, + options: [ + {value: 'blank', label: appType !== 'mob' ? '鏂扮獥鍙�' : '鏂伴〉闈�'}, + {value: 'self', label: appType !== 'mob' ? '褰撳墠绐楀彛' : '褰撳墠椤甸潰'}, + ], + forbid: appType !== 'pc' && appType !== 'mob' + }, + { + type: appType ? 'select' : 'cascader', + field: 'menu', + label: '鍏宠仈鑿滃崟', + initval: setting.menu || (appType ? '' : []), + required: true, + extendName: 'MenuNo', + options: appType ? appmenulist : menulist, + }, + { + type: 'textarea', + field: 'linkurl', + label: '閾炬帴', + initval: setting.linkurl || '', + required: true, + options: [], + span: 24 + }, + { + type: 'select', + field: 'linkbtn', + label: '鍏宠仈鎸夐挳', + initval: setting.linkbtn || '', + required: true, + options: buttons + }, + { + type: 'radio', + field: 'swipe', + label: '婊戝姩鎸夐挳', + initval: setting.swipe || 'true', + required: false, + options: [ + {value: 'true', label: '鏄剧ず'}, + {value: 'false', label: '涓嶆樉绀�'}, + ], + forbid: action.length === 0 || appType !== 'mob' } ] @@ -70,7 +179,7 @@ if (appmenulist) { try { appmenulist = JSON.parse(appmenulist) - } catch { + } catch (e) { appmenulist = [] } } else { @@ -81,7 +190,7 @@ if (menulist) { try { menulist = JSON.parse(menulist) - } catch { + } catch (e) { menulist = [] } } else { @@ -95,7 +204,7 @@ field: 'primaryId', label: '涓婚敭鍊�', initval: setting.primaryId || '', - tooltip: '鍗$墖鐐瑰嚮鏃讹紝鍚戝叾浠栫粍浠朵紶閫掔殑ID鍊笺��', + tooltip: '璁剧疆涓�涓睘鎬у崱闈欐�両D锛屽悜鍏朵粬缁勪欢浼犻�掔殑鎸囧畾闈欐�両D鍊�', required: false, forbid: !hasPrimaryKey }, @@ -123,16 +232,8 @@ label: '鍏宠仈鑿滃崟', initval: setting.menu || (appType ? '' : []), required: true, + extendName: 'MenuNo', options: appType ? appmenulist : menulist, - }, - { - type: 'textarea', - field: 'linkurl', - label: '閾炬帴', - initval: setting.linkurl || '', - required: true, - options: [], - span: 24 }, { type: 'radio', @@ -141,10 +242,10 @@ initval: setting.open || 'blank', required: false, options: [ - {value: 'blank', label: '鏂扮獥鍙�'}, - {value: 'self', label: '褰撳墠绐楀彛'}, + {value: 'blank', label: appType !== 'mob' ? '鏂扮獥鍙�' : '鏂伴〉闈�'}, + {value: 'self', label: appType !== 'mob' ? '褰撳墠绐楀彛' : '褰撳墠椤甸潰'}, ], - forbid: appType !== 'pc' + forbid: appType !== 'pc' && appType !== 'mob' }, { type: 'radio', @@ -157,6 +258,15 @@ {value: 'false', label: '鍚�'}, ], }, + { + type: 'textarea', + field: 'linkurl', + label: '閾炬帴', + initval: setting.linkurl || '', + required: true, + options: [], + span: 24 + }, ] return cardSettingForm -- Gitblit v1.8.0