From bfcacf54ad793bc33560f8bb15833508cf73aa5b Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 31 三月 2023 01:18:44 +0800 Subject: [PATCH] 2023-03-31 --- src/templates/zshare/modalform/index.jsx | 8 src/menu/components/card/cardsimplecomponent/node-wrap/index.jsx | 4 src/menu/components/timeline/normal-timeline/index.jsx | 7 src/menu/components/card/table-card/index.jsx | 7 src/menu/components/share/pasteforms/index.jsx | 174 ++++++++++ src/menu/components/form/simple-form/index.jsx | 102 +---- src/menu/components/share/pasteforms/index.scss | 0 src/mob/components/formdragelement/index.scss | 49 +++ src/mob/modalconfig/index.jsx | 49 -- src/menu/components/table/edit-table/index.jsx | 14 src/menu/components/carousel/data-card/index.jsx | 7 src/menu/components/card/balcony/index.jsx | 14 src/api/cacheutils.js | 4 src/menu/components/share/pastecomponent/index.jsx | 2 src/menu/components/form/step-form/index.jsx | 119 +------ src/templates/zshare/formconfig.jsx | 6 src/menu/components/form/tab-form/index.jsx | 113 +----- src/menu/components/carousel/prop-card/index.jsx | 14 src/menu/components/card/double-data-card/index.jsx | 21 + src/templates/modalconfig/dragelement/index.scss | 16 src/menu/components/card/data-card/index.jsx | 21 + src/menu/components/share/actioncomponent/index.jsx | 65 ++++ src/mob/components/formdragelement/card.jsx | 16 src/menu/modalconfig/index.jsx | 51 -- src/menu/components/card/prop-card/index.jsx | 28 + src/menu/components/table/base-table/index.jsx | 16 src/menu/components/table/normal-table/index.jsx | 14 src/menu/components/form/dragtitle/card.jsx | 4 28 files changed, 549 insertions(+), 396 deletions(-) diff --git a/src/api/cacheutils.js b/src/api/cacheutils.js index 9556233..265071c 100644 --- a/src/api/cacheutils.js +++ b/src/api/cacheutils.js @@ -7,7 +7,7 @@ */ static openIndexDB (db) { try { - let request = window.indexedDB.open(db, 2) + let request = window.indexedDB.open(db, 3) request.onerror = () => { console.warn('IndexedDB 鍒濆鍖栧け璐ワ紒') } @@ -27,7 +27,7 @@ if (!window.GLOB.IndexDB.objectStoreNames.contains('caches')) { window.GLOB.IndexDB.createObjectStore('caches', { keyPath: 'menuid' }) } - if (window.GLOB.systemType === '' && !window.GLOB.IndexDB.objectStoreNames.contains('funcs')) { + if (!window.GLOB.IndexDB.objectStoreNames.contains('funcs')) { window.GLOB.IndexDB.createObjectStore('funcs', { keyPath: 'id' }) } } diff --git a/src/menu/components/card/balcony/index.jsx b/src/menu/components/card/balcony/index.jsx index 7bd4ac0..9edccef 100644 --- a/src/menu/components/card/balcony/index.jsx +++ b/src/menu/components/card/balcony/index.jsx @@ -131,10 +131,15 @@ if (card.wrap.datatype === 'static') { card.elements.forEach(cell => { if (cell.eleType === 'button') { + if (cell.hidden === 'true') return if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) { if (!cell.modal || cell.modal.fields.length === 0) { - card.errors.push({ level: 1, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) } + } else if (cell.OpenType === 'excelIn' && (!cell.verify || !cell.verify.sheet || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎叆鍒楁湭璁剧疆锛乣}) + } else if (cell.OpenType === 'excelOut' && (!cell.verify || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎嚭鍒楁湭璁剧疆锛乣}) } } else if (cell.datatype === 'dynamic' && cell.field) { card.errors.push({ level: 1, detail: `鍗$墖涓姩鎬佸瓧娈碘��${cell.field}鈥濇棤鏁坄}) @@ -162,10 +167,15 @@ card.elements.forEach(cell => { if (cell.eleType === 'button') { + if (cell.hidden === 'true') return if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) { if (!cell.modal || cell.modal.fields.length === 0) { - card.errors.push({ level: 1, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) } + } else if (cell.OpenType === 'excelIn' && (!cell.verify || !cell.verify.sheet || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎叆鍒楁湭璁剧疆锛乣}) + } else if (cell.OpenType === 'excelOut' && (!cell.verify || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎嚭鍒楁湭璁剧疆锛乣}) } } else if (cell.datatype === 'dynamic' && cell.field && !columns.includes(cell.field)) { card.errors.push({ level: 1, detail: `鍗$墖涓姩鎬佸瓧娈碘��${cell.field}鈥濇棤鏁坄}) diff --git a/src/menu/components/card/cardsimplecomponent/node-wrap/index.jsx b/src/menu/components/card/cardsimplecomponent/node-wrap/index.jsx index 9f393ea..52d1867 100644 --- a/src/menu/components/card/cardsimplecomponent/node-wrap/index.jsx +++ b/src/menu/components/card/cardsimplecomponent/node-wrap/index.jsx @@ -2,7 +2,7 @@ import PropTypes from 'prop-types' import { is, fromJS } from 'immutable' import { Modal } from 'antd' -import { MoreOutlined } from '@ant-design/icons' +import { EditOutlined } from '@ant-design/icons' import MenusForm from './menus' @@ -48,7 +48,7 @@ return ( <> - <MoreOutlined style={{color: '#1890ff'}} title="鑺傜偣缁�" onClick={this.trigger}/> + <EditOutlined style={{color: '#1890ff'}} title="鑺傜偣缁�" onClick={this.trigger}/> <Modal title="鑺傜偣缁�" wrapClassName="nodes-field-modal" diff --git a/src/menu/components/card/data-card/index.jsx b/src/menu/components/card/data-card/index.jsx index bc06811..03d50c4 100644 --- a/src/menu/components/card/data-card/index.jsx +++ b/src/menu/components/card/data-card/index.jsx @@ -196,10 +196,15 @@ } card.action.forEach(cell => { + if (cell.hidden === 'true') return if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) { if (!cell.modal || cell.modal.fields.length === 0) { - card.errors.push({ level: 1, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) } + } else if (cell.OpenType === 'excelIn' && (!cell.verify || !cell.verify.sheet || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎叆鍒楁湭璁剧疆锛乣}) + } else if (cell.OpenType === 'excelOut' && (!cell.verify || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎嚭鍒楁湭璁剧疆锛乣}) } }) @@ -207,10 +212,15 @@ let linkbtn = item.setting.linkbtn || '' item.elements.forEach(cell => { if (cell.eleType === 'button') { + if (cell.hidden === 'true') return if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) { if (!cell.modal || cell.modal.fields.length === 0) { - card.errors.push({ level: 1, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) } + } else if (cell.OpenType === 'excelIn' && (!cell.verify || !cell.verify.sheet || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎叆鍒楁湭璁剧疆锛乣}) + } else if (cell.OpenType === 'excelOut' && (!cell.verify || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎嚭鍒楁湭璁剧疆锛乣}) } if (linkbtn && linkbtn === cell.uuid) { linkbtn = '' @@ -223,10 +233,15 @@ if (item.setting.type === 'multi' && appType !== 'mob') { item.backElements.forEach(cell => { if (cell.eleType === 'button') { + if (cell.hidden === 'true') return if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) { if (!cell.modal || cell.modal.fields.length === 0) { - card.errors.push({ level: 1, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) } + } else if (cell.OpenType === 'excelIn' && (!cell.verify || !cell.verify.sheet || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎叆鍒楁湭璁剧疆锛乣}) + } else if (cell.OpenType === 'excelOut' && (!cell.verify || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎嚭鍒楁湭璁剧疆锛乣}) } if (linkbtn && linkbtn === cell.uuid) { linkbtn = '' diff --git a/src/menu/components/card/double-data-card/index.jsx b/src/menu/components/card/double-data-card/index.jsx index 10e0a47..25728f6 100644 --- a/src/menu/components/card/double-data-card/index.jsx +++ b/src/menu/components/card/double-data-card/index.jsx @@ -191,10 +191,15 @@ } card.action.forEach(cell => { + if (cell.hidden === 'true') return if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) { if (!cell.modal || cell.modal.fields.length === 0) { - card.errors.push({ level: 1, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) } + } else if (cell.OpenType === 'excelIn' && (!cell.verify || !cell.verify.sheet || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎叆鍒楁湭璁剧疆锛乣}) + } else if (cell.OpenType === 'excelOut' && (!cell.verify || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎嚭鍒楁湭璁剧疆锛乣}) } }) @@ -202,10 +207,15 @@ let linkbtn = item.setting.linkbtn || '' item.elements.forEach(cell => { if (cell.eleType === 'button') { + if (cell.hidden === 'true') return if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) { if (!cell.modal || cell.modal.fields.length === 0) { - card.errors.push({ level: 1, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) } + } else if (cell.OpenType === 'excelIn' && (!cell.verify || !cell.verify.sheet || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎叆鍒楁湭璁剧疆锛乣}) + } else if (cell.OpenType === 'excelOut' && (!cell.verify || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎嚭鍒楁湭璁剧疆锛乣}) } if (linkbtn && linkbtn === cell.uuid) { linkbtn = '' @@ -217,10 +227,15 @@ item.backElements.forEach(cell => { if (cell.eleType === 'button') { + if (cell.hidden === 'true') return if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) { if (!cell.modal || cell.modal.fields.length === 0) { - card.errors.push({ level: 1, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) } + } else if (cell.OpenType === 'excelIn' && (!cell.verify || !cell.verify.sheet || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎叆鍒楁湭璁剧疆锛乣}) + } else if (cell.OpenType === 'excelOut' && (!cell.verify || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎嚭鍒楁湭璁剧疆锛乣}) } if (linkbtn && linkbtn === cell.uuid) { linkbtn = '' diff --git a/src/menu/components/card/prop-card/index.jsx b/src/menu/components/card/prop-card/index.jsx index 36e5239..e5931fd 100644 --- a/src/menu/components/card/prop-card/index.jsx +++ b/src/menu/components/card/prop-card/index.jsx @@ -167,10 +167,15 @@ item.elements.forEach(cell => { if (cell.eleType === 'button') { + if (cell.hidden === 'true') return if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) { if (!cell.modal || cell.modal.fields.length === 0) { - card.errors.push({ level: 1, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) } + } else if (cell.OpenType === 'excelIn' && (!cell.verify || !cell.verify.sheet || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎叆鍒楁湭璁剧疆锛乣}) + } else if (cell.OpenType === 'excelOut' && (!cell.verify || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎嚭鍒楁湭璁剧疆锛乣}) } if (linkbtn && linkbtn === cell.uuid) { linkbtn = '' @@ -183,10 +188,15 @@ if (item.setting.type === 'multi' && appType !== 'mob') { item.backElements.forEach(cell => { if (cell.eleType === 'button') { + if (cell.hidden === 'true') return if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) { if (!cell.modal || cell.modal.fields.length === 0) { - card.errors.push({ level: 1, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) } + } else if (cell.OpenType === 'excelIn' && (!cell.verify || !cell.verify.sheet || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎叆鍒楁湭璁剧疆锛乣}) + } else if (cell.OpenType === 'excelOut' && (!cell.verify || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎嚭鍒楁湭璁剧疆锛乣}) } if (linkbtn && linkbtn === cell.uuid) { linkbtn = '' @@ -226,10 +236,15 @@ let linkbtn = item.setting.linkbtn || '' item.elements.forEach(cell => { if (cell.eleType === 'button') { + if (cell.hidden === 'true') return if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) { if (!cell.modal || cell.modal.fields.length === 0) { - card.errors.push({ level: 1, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) } + } else if (cell.OpenType === 'excelIn' && (!cell.verify || !cell.verify.sheet || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎叆鍒楁湭璁剧疆锛乣}) + } else if (cell.OpenType === 'excelOut' && (!cell.verify || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎嚭鍒楁湭璁剧疆锛乣}) } if (linkbtn && linkbtn === cell.uuid) { linkbtn = '' @@ -242,10 +257,15 @@ if (item.setting.type === 'multi' && appType !== 'mob') { item.backElements.forEach(cell => { if (cell.eleType === 'button') { + if (cell.hidden === 'true') return if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) { if (!cell.modal || cell.modal.fields.length === 0) { - card.errors.push({ level: 1, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) } + } else if (cell.OpenType === 'excelIn' && (!cell.verify || !cell.verify.sheet || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎叆鍒楁湭璁剧疆锛乣}) + } else if (cell.OpenType === 'excelOut' && (!cell.verify || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎嚭鍒楁湭璁剧疆锛乣}) } if (linkbtn && linkbtn === cell.uuid) { linkbtn = '' diff --git a/src/menu/components/card/table-card/index.jsx b/src/menu/components/card/table-card/index.jsx index 92f485e..f856cb6 100644 --- a/src/menu/components/card/table-card/index.jsx +++ b/src/menu/components/card/table-card/index.jsx @@ -194,10 +194,15 @@ let linkbtn = item.setting.linkbtn || '' item.elements.forEach(cell => { if (cell.eleType === 'button') { + if (cell.hidden === 'true') return if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) { if (!cell.modal || cell.modal.fields.length === 0) { - card.errors.push({ level: 1, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) } + } else if (cell.OpenType === 'excelIn' && (!cell.verify || !cell.verify.sheet || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎叆鍒楁湭璁剧疆锛乣}) + } else if (cell.OpenType === 'excelOut' && (!cell.verify || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎嚭鍒楁湭璁剧疆锛乣}) } if (linkbtn && linkbtn === cell.uuid) { linkbtn = '' diff --git a/src/menu/components/carousel/data-card/index.jsx b/src/menu/components/carousel/data-card/index.jsx index 5a1eee0..cc1938a 100644 --- a/src/menu/components/carousel/data-card/index.jsx +++ b/src/menu/components/carousel/data-card/index.jsx @@ -150,10 +150,15 @@ card.subcards.forEach((item, i) => { item.elements.forEach(cell => { if (cell.eleType === 'button') { + if (cell.hidden === 'true') return if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) { if (!cell.modal || cell.modal.fields.length === 0) { - card.errors.push({ level: 1, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) } + } else if (cell.OpenType === 'excelIn' && (!cell.verify || !cell.verify.sheet || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎叆鍒楁湭璁剧疆锛乣}) + } else if (cell.OpenType === 'excelOut' && (!cell.verify || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎嚭鍒楁湭璁剧疆锛乣}) } } else if (cell.datatype === 'dynamic' && cell.field && !columns.includes(cell.field)) { card.errors.push({ level: 1, detail: `鍗$墖涓姩鎬佸瓧娈碘��${cell.field}鈥濇棤鏁坄}) diff --git a/src/menu/components/carousel/prop-card/index.jsx b/src/menu/components/carousel/prop-card/index.jsx index 9b25463..67e23af 100644 --- a/src/menu/components/carousel/prop-card/index.jsx +++ b/src/menu/components/carousel/prop-card/index.jsx @@ -137,10 +137,15 @@ card.subcards.forEach(item => { item.elements.forEach(cell => { if (cell.eleType === 'button') { + if (cell.hidden === 'true') return if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) { if (!cell.modal || cell.modal.fields.length === 0) { - card.errors.push({ level: 1, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) } + } else if (cell.OpenType === 'excelIn' && (!cell.verify || !cell.verify.sheet || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎叆鍒楁湭璁剧疆锛乣}) + } else if (cell.OpenType === 'excelOut' && (!cell.verify || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎嚭鍒楁湭璁剧疆锛乣}) } } else if (cell.datatype === 'dynamic' && cell.field) { card.errors.push({ level: 1, detail: `鍗$墖涓姩鎬佸瓧娈碘��${cell.field}鈥濇棤鏁坄}) @@ -169,10 +174,15 @@ card.subcards.forEach((item, i) => { item.elements.forEach(cell => { if (cell.eleType === 'button') { + if (cell.hidden === 'true') return if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) { if (!cell.modal || cell.modal.fields.length === 0) { - card.errors.push({ level: 1, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) } + } else if (cell.OpenType === 'excelIn' && (!cell.verify || !cell.verify.sheet || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎叆鍒楁湭璁剧疆锛乣}) + } else if (cell.OpenType === 'excelOut' && (!cell.verify || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎嚭鍒楁湭璁剧疆锛乣}) } } else if (cell.datatype === 'dynamic' && cell.field && !columns.includes(cell.field)) { card.errors.push({ level: 1, detail: `鍗$墖涓姩鎬佸瓧娈碘��${cell.field}鈥濇棤鏁坄}) diff --git a/src/menu/components/form/dragtitle/card.jsx b/src/menu/components/form/dragtitle/card.jsx index b8b8092..a2eb77d 100644 --- a/src/menu/components/form/dragtitle/card.jsx +++ b/src/menu/components/form/dragtitle/card.jsx @@ -9,7 +9,7 @@ import './index.scss' const NormalForm = asyncIconComponent(() => import('@/components/normalform')) -const PasteComponent = asyncIconComponent(() => import('@/menu/components/share/pastecomponent')) +const PasteForms = asyncIconComponent(() => import('@/menu/components/share/pasteforms')) const CopyComponent = asyncIconComponent(() => import('@/menu/components/share/copycomponent')) const Card = ({ id, card, sort, labelSize, active, moveCard, findCard, closeCard, selectCard, updateGroup, pasteForm }) => { @@ -90,7 +90,7 @@ <EditOutlined style={{color: '#1890ff'}} title="缂栬緫"/> </NormalForm> <CopyComponent type="formgroup" card={card}/> - <PasteComponent options={['form', 'forms']} updateConfig={(res) => pasteForm(res, id)} /> + <PasteForms config={card} updateConfig={(res) => pasteForm(res, id)} /> <CloseOutlined className="close" type="close" onClick={close} /> </div> } trigger="hover"> diff --git a/src/menu/components/form/simple-form/index.jsx b/src/menu/components/form/simple-form/index.jsx index 6d372ff..049c02d 100644 --- a/src/menu/components/form/simple-form/index.jsx +++ b/src/menu/components/form/simple-form/index.jsx @@ -23,7 +23,7 @@ const FormAction = asyncComponent(() => import('../formaction')) const NormalHeader = asyncComponent(() => import('@/menu/components/share/normalheader')) const CopyComponent = asyncIconComponent(() => import('@/menu/components/share/copycomponent')) -const PasteComponent = asyncIconComponent(() => import('@/menu/components/share/pastecomponent')) +const PasteForms = asyncIconComponent(() => import('@/menu/components/share/pasteforms')) const UserComponent = asyncIconComponent(() => import('@/menu/components/share/usercomponent')) const FieldsComponent = asyncComponent(() => import('@/templates/sharecomponent/fieldscomponent')) @@ -513,93 +513,43 @@ }) } - pasteForm = (res) => { + pasteForm = (forms, res) => { let _config = fromJS(this.state.card).toJS() + + _config.subcards[0].fields = forms if (res.subButton) { let that = this - _config.subcards[0].setting.focus = res.focus - _config.subcards[0].setting.cache = res.cache - _config.subcards[0].setting.align = res.align - _config.subcards[0].setting.enable = res.enable - _config.subcards[0].setting.verticalSpace = res.verticalSpace || '' - _config.wrap.focus = res.focus - _config.wrap.cache = res.cache - _config.wrap.align = res.align - _config.wrap.enable = res.enable - _config.wrap.verticalSpace = res.verticalSpace || '' - - _config.subcards[0].subButton = res.subButton + // _config.subcards[0].setting.focus = res.focus + // _config.subcards[0].setting.cache = res.cache + // _config.subcards[0].setting.align = res.align + // _config.subcards[0].setting.enable = res.enable + // _config.subcards[0].setting.verticalSpace = res.verticalSpace || '' + // _config.wrap.focus = res.focus + // _config.wrap.cache = res.cache + // _config.wrap.align = res.align + // _config.wrap.enable = res.enable + // _config.wrap.verticalSpace = res.verticalSpace || '' - _config.subcards[0].fields = res.fields.map(item => { - item.uuid = Utils.getuuid() - return item - }) - confirm({ - content: '鏇挎崲琛ㄥ崟鍙婃寜閽厤缃紵', + content: '鏄惁鏇挎崲鎸夐挳閰嶇疆锛�', + okText: '鏄�', + cancelText: '鍚�', onOk() { + _config.subcards[0].subButton = res.subButton + that.updateComponent(_config) }, - onCancel() {} + onCancel() { + that.updateComponent(_config) + } }) - return - } else if (res.fields) { - if (_config.subcards[0].fields.length > 0) { - let that = this - _config.subcards[0].fields = res.fields.map(item => { - item.uuid = Utils.getuuid() - return item - }) + } else { + _config.subcards[0].fields = forms - confirm({ - title: '纭畾鏇挎崲琛ㄥ崟鍚楋紵', - content: '鍘熻〃鍗曞皢鍒犻櫎銆�', - onOk() { - that.updateComponent(_config) - }, - onCancel() {} - }) - } else { - _config.subcards[0].fields = res.fields.map(item => { - item.uuid = Utils.getuuid() - return item - }) - - this.updateComponent(_config) - } - - return + this.updateComponent(_config) } - - let fieldrepet = false // 瀛楁閲嶅 - - _config.subcards[0].fields.forEach(item => { - if (res.field && item.field && item.field.toLowerCase() === res.field.toLowerCase()) { - fieldrepet = true - } - }) - - if (fieldrepet) { - notification.warning({ - top: 92, - message: '瀛楁宸插瓨鍦紒', - duration: 10 - }) - return - } - _config.subcards[0].fields.push(res) - - this.updateComponent(_config) - - this.handleForm(res) - - notification.success({ - top: 92, - message: '绮樿创鎴愬姛锛�', - duration: 2 - }) } getWrapForms = () => { @@ -682,7 +632,7 @@ <EditOutlined style={{color: '#1890ff'}} title="缂栬緫"/> </NormalForm> <CopyComponent type="simpleform" card={card}/> - <PasteComponent config={card} options={['form', 'forms', 'formgroup']} updateConfig={this.pasteForm} /> + <PasteForms config={card.subcards[0]} update={this.pasteForm} /> <FontColorsOutlined className="style" title="璋冩暣鏍峰紡" onClick={this.changeStyle}/> <UserComponent config={card}/> <DeleteOutlined className="close" title="鍒犻櫎缁勪欢" onClick={() => this.props.deletecomponent(card.uuid)} /> diff --git a/src/menu/components/form/step-form/index.jsx b/src/menu/components/form/step-form/index.jsx index 186c17c..71a2b3a 100644 --- a/src/menu/components/form/step-form/index.jsx +++ b/src/menu/components/form/step-form/index.jsx @@ -619,60 +619,29 @@ if (res.subtype === 'simpleform') { res = res.subcards[0] } - if (res.subButton) { - let card = fromJS(this.state.card).toJS() - res.uuid = Utils.getuuid() - res.sort = card.subcards.length + 1 + let card = fromJS(this.state.card).toJS() - res.fields.forEach(item => { - item.uuid = Utils.getuuid() - }) + res.uuid = Utils.getuuid() + res.sort = card.subcards.length + 1 - if (!res.prevButton) { - res.prevButton = {label: '涓婁竴姝�', type: 'prev', enable: 'false', style: {marginRight: '15px', paddingTop: '5px', paddingBottom: '5px'}} - } - if (!res.nextButton) { - res.nextButton = {label: '璺宠繃', type: 'next', enable: 'false', style: {paddingTop: '5px', paddingBottom: '5px'}} - } - - card.subcards.push(res) - - this.setState({ - group: res - }) - this.updateComponent(card) - - notification.success({ - top: 92, - message: '绮樿创鎴愬姛锛�', - duration: 2 - }) - return - } - - let _config = fromJS(this.state.group).toJS() - let fieldrepet = false // 瀛楁閲嶅 - - _config.fields.forEach(item => { - if (res.field && item.field && item.field.toLowerCase() === res.field.toLowerCase()) { - fieldrepet = true - } + res.fields.forEach(item => { + item.uuid = Utils.getuuid() }) - if (fieldrepet) { - notification.warning({ - top: 92, - message: '瀛楁宸插瓨鍦紒', - duration: 10 - }) - return + if (!res.prevButton) { + res.prevButton = {label: '涓婁竴姝�', type: 'prev', enable: 'false', style: {marginRight: '15px', paddingTop: '5px', paddingBottom: '5px'}} } - _config.fields.push(res) + if (!res.nextButton) { + res.nextButton = {label: '璺宠繃', type: 'next', enable: 'false', style: {paddingTop: '5px', paddingBottom: '5px'}} + } - this.updateGroup(_config) - - this.handleForm(res) + card.subcards.push(res) + + this.setState({ + group: res + }) + this.updateComponent(card) notification.success({ top: 92, @@ -723,58 +692,12 @@ }) } - parseForm = (g, res) => { - let _group = fromJS(g).toJS() - let _confirm = false - - if (res.copyType === 'form') { - let fieldrepet = false // 瀛楁閲嶅 - res.uuid = Utils.getuuid() - - _group.fields.forEach(item => { - if (res.field && item.field && item.field.toLowerCase() === res.field.toLowerCase()) { - fieldrepet = true - } - }) - - if (fieldrepet) { - notification.warning({ - top: 92, - message: '瀛楁宸插瓨鍦紒', - duration: 10 - }) - return - } - _group.fields.push(res) - } else { - if (_group.fields.length > 0) { - _confirm = true - } - - _group.fields = res.fields.map(item => { - item.uuid = Utils.getuuid() - return item - }) - } - - if (_confirm) { - let that = this - confirm({ - title: '纭畾鏇挎崲琛ㄥ崟鍚楋紵', - content: '鍘熻〃鍗曞皢鍒犻櫎銆�', - onOk() { - that.updateForms(_group) - }, - onCancel() {} - }) - } else { - this.updateForms(_group) - } - } - - updateForms = (_group) => { + parseForm = (g, forms) => { const { group } = this.state let card = fromJS(this.state.card).toJS() + let _group = fromJS(g).toJS() + + _group.fields = forms card.subcards = card.subcards.map(item => { if (item.uuid === _group.uuid) { @@ -821,7 +744,7 @@ <EditOutlined style={{color: '#1890ff'}} title="缂栬緫"/> </NormalForm> <CopyComponent type="stepform" card={card}/> - <PasteComponent config={card} options={['form', 'formgroup', 'simpleform']} updateConfig={this.pasteForm} /> + <PasteComponent config={card} options={['formgroup', 'simpleform']} updateConfig={this.pasteForm} /> <FontColorsOutlined className="style" title="璋冩暣鏍峰紡" onClick={this.changeStyle}/> <UserComponent config={card}/> <DeleteOutlined className="close" title="鍒犻櫎缁勪欢" onClick={() => this.props.deletecomponent(card.uuid)} /> diff --git a/src/menu/components/form/tab-form/index.jsx b/src/menu/components/form/tab-form/index.jsx index 0f280e2..0d1e4f1 100644 --- a/src/menu/components/form/tab-form/index.jsx +++ b/src/menu/components/form/tab-form/index.jsx @@ -624,56 +624,25 @@ if (res.subtype === 'simpleform') { res = res.subcards[0] } - if (res.subButton) { - let card = fromJS(this.state.card).toJS() - res.uuid = Utils.getuuid() - res.sort = card.subcards.length + 1 + let card = fromJS(this.state.card).toJS() - res.fields.forEach(item => { - item.uuid = Utils.getuuid() - }) + res.uuid = Utils.getuuid() + res.sort = card.subcards.length + 1 - delete res.prevButton - delete res.nextButton - - card.subcards.push(res) - - this.setState({ - group: res - }) - this.updateComponent(card) - - notification.success({ - top: 92, - message: '绮樿创鎴愬姛锛�', - duration: 2 - }) - return - } - - let _config = fromJS(this.state.group).toJS() - let fieldrepet = false // 瀛楁閲嶅 - - _config.fields.forEach(item => { - if (res.field && item.field && item.field.toLowerCase() === res.field.toLowerCase()) { - fieldrepet = true - } + res.fields.forEach(item => { + item.uuid = Utils.getuuid() }) - if (fieldrepet) { - notification.warning({ - top: 92, - message: '瀛楁宸插瓨鍦紒', - duration: 10 - }) - return - } - _config.fields.push(res) + delete res.prevButton + delete res.nextButton - this.updateGroup(_config) - - this.handleForm(res) + card.subcards.push(res) + + this.setState({ + group: res + }) + this.updateComponent(card) notification.success({ top: 92, @@ -724,58 +693,12 @@ }) } - parseForm = (g, res) => { - let _group = fromJS(g).toJS() - let _confirm = false - - if (res.copyType === 'form') { - let fieldrepet = false // 瀛楁閲嶅 - res.uuid = Utils.getuuid() - - _group.fields.forEach(item => { - if (res.field && item.field && item.field.toLowerCase() === res.field.toLowerCase()) { - fieldrepet = true - } - }) - - if (fieldrepet) { - notification.warning({ - top: 92, - message: '瀛楁宸插瓨鍦紒', - duration: 10 - }) - return - } - _group.fields.push(res) - } else { - if (_group.fields.length > 0) { - _confirm = true - } - - _group.fields = res.fields.map(item => { - item.uuid = Utils.getuuid() - return item - }) - } - - if (_confirm) { - let that = this - confirm({ - title: '纭畾鏇挎崲琛ㄥ崟鍚楋紵', - content: '鍘熻〃鍗曞皢鍒犻櫎銆�', - onOk() { - that.updateForms(_group) - }, - onCancel() {} - }) - } else { - this.updateForms(_group) - } - } - - updateForms = (_group) => { + parseForm = (g, forms) => { const { group } = this.state let card = fromJS(this.state.card).toJS() + let _group = fromJS(g).toJS() + + _group.fields = forms card.subcards = card.subcards.map(item => { if (item.uuid === _group.uuid) { @@ -822,7 +745,7 @@ <EditOutlined style={{color: '#1890ff'}} title="缂栬緫"/> </NormalForm> <CopyComponent type="tabform" card={card}/> - <PasteComponent config={card} options={['form', 'formgroup', 'simpleform']} updateConfig={this.pasteForm} /> + <PasteComponent config={card} options={['formgroup', 'simpleform']} updateConfig={this.pasteForm} /> <FontColorsOutlined className="style" title="璋冩暣鏍峰紡" onClick={this.changeStyle}/> <UserComponent config={card}/> <DeleteOutlined className="close" title="鍒犻櫎缁勪欢" onClick={() => this.props.deletecomponent(card.uuid)} /> diff --git a/src/menu/components/share/actioncomponent/index.jsx b/src/menu/components/share/actioncomponent/index.jsx index 82fe3f2..4d26f43 100644 --- a/src/menu/components/share/actioncomponent/index.jsx +++ b/src/menu/components/share/actioncomponent/index.jsx @@ -263,6 +263,71 @@ this.actionFormRef.handleConfirm().then(btn => { _actionlist = _actionlist.filter(item => !item.origin || item.uuid === btn.uuid) + if ((btn.OpenType === 'excelIn' || btn.OpenType === 'excelOut') && (!btn.verify || !btn.verify.columns) && config.subtype === 'basetable') { + let columns = [] + + if (btn.OpenType === 'excelOut') { + config.cols.forEach(item => { + if (!item.field || item.Hide === 'true') return + + let cell = { + Column: item.field, + Text: item.label, + Width: 20, + abs: 'false', + output: 'true', + required: 'false', + type: 'text', + uuid: Utils.getuuid() + } + + if (item.type === 'number') { + cell.type = 'number' + cell.decimal = item.decimal + } + + columns.push(cell) + }) + + btn.verify = btn.verify || {enable: 'false', dataType: 'default', scripts: []} + btn.verify.columns = columns + } else { + config.cols.forEach(item => { + if (!item.field || item.Hide === 'true') return + + let _type = 'Nvarchar(50)' + let _limit = '50' + if (item.type === 'number' && !item.decimal) { + _type = 'Int' + _limit = '' + } else if (item.type === 'number') { + _type = 'Decimal(18,' + item.decimal + ')' + _limit = item.decimal + } + + let _cell = { + uuid: Utils.getuuid(), + Column: item.field, + Text: item.label, + type: _type, + limit: _limit, + import: 'true', + required: 'true' + } + + if (_type !== 'Nvarchar(50)') { + _cell.min = 0 + _cell.max = 999999 + } + + columns.push(_cell) + }) + + btn.verify = btn.verify || {sheet: 'Sheet1', default: 'true', range: 1, scripts: [], uniques: []} + btn.verify.columns = columns + } + } + let labelrepet = false _actionlist = _actionlist.map(item => { if (item.uuid !== btn.uuid && item.label === btn.label) { diff --git a/src/menu/components/share/pastecomponent/index.jsx b/src/menu/components/share/pastecomponent/index.jsx index 477e3e0..aa7abd3 100644 --- a/src/menu/components/share/pastecomponent/index.jsx +++ b/src/menu/components/share/pastecomponent/index.jsx @@ -7,7 +7,7 @@ import Utils from '@/utils/utils.js' import MKEmitter from '@/utils/events.js' import asyncComponent from '@/utils/asyncComponent' -import './index.scss' +// import './index.scss' const PasteForm = asyncComponent(() => import('@/templates/zshare/pasteform')) diff --git a/src/menu/components/share/pasteforms/index.jsx b/src/menu/components/share/pasteforms/index.jsx new file mode 100644 index 0000000..ff09638 --- /dev/null +++ b/src/menu/components/share/pasteforms/index.jsx @@ -0,0 +1,174 @@ +import React, {Component} from 'react' +import PropTypes from 'prop-types' +import { fromJS } from 'immutable' +import { Modal, notification, Button } from 'antd' +import { SnippetsOutlined, QuestionCircleOutlined } from '@ant-design/icons' + +import Utils from '@/utils/utils.js' +import asyncComponent from '@/utils/asyncComponent' +import './index.scss' + +const PasteForm = asyncComponent(() => import('@/templates/zshare/pasteform')) + +class PasteController extends Component { + static propTpyes = { + config: PropTypes.object, // 缁勪欢閰嶇疆 + update: PropTypes.func + } + + state = { + visible: false, + choVisible: false, + result: null + } + + pasteSubmit = () => { + const { config } = this.props + + this.pasteFormRef.handleConfirm().then(res => { + if (!['form', 'forms', 'formgroup', 'simpleform'].includes(res.copyType)) { + notification.warning({ top: 92, message: '閰嶇疆淇℃伅鏍煎紡閿欒锛�', duration: 5 }) + return + } + + if (res.copyType === 'form') { + delete res.copyType + res = {fields: [res]} + } + + res.fields = res.fields || [] + res.fields = res.fields.map(item => { + item.uuid = Utils.getuuid() + return item + }) + + let fields = res.fields.map(item => item.field ? item.field.toLowerCase() : '') + + let repeat = false + let forms = [] + if (config.fields) { + forms = fromJS(config.fields).toJS() + forms.forEach(item => { + if (item.field && fields.includes(item.field.toLowerCase())) { + repeat = true + } + }) + } + + if (repeat) { + this.setState({result: res, choVisible: true, visible: false}) + return + } else { + forms.push(...res.fields) + } + + this.props.update(forms, res) + + this.setState({visible: false}) + + notification.success({ + top: 92, + message: '绮樿创鎴愬姛锛�', + duration: 2 + }) + }) + } + + replaceForms = () => { + const { config } = this.props + const { result } = this.state + + let forms = fromJS(config.fields).toJS() + let fields = fromJS(result.fields).toJS() + let repeats = [] + + forms = forms.map(item => { + if (!item.field) return item + + let cell = fields.filter(m => m.field && m.field.toLowerCase() === item.field.toLowerCase())[0] + if (cell) { + repeats.push(cell.field) + return cell + } + + return item + }) + + fields = fields.filter(m => !m.field || !repeats.includes(m.field)) + + forms.push(...fields) + + this.props.update(forms, result) + + this.setState({choVisible: false}) + } + + jumpForms = () => { + const { config } = this.props + const { result } = this.state + + let forms = fromJS(config.fields).toJS() + let fields = fromJS(result.fields).toJS() + let repeats = [] + + forms = forms.map(item => { + if (!item.field) return item + + let cell = fields.filter(m => m.field && m.field.toLowerCase() === item.field.toLowerCase())[0] + if (cell) { + repeats.push(cell.field) + } + + return item + }) + + fields = fields.filter(m => !m.field || !repeats.includes(m.field)) + + forms.push(...fields) + + this.props.update(forms, result) + + this.setState({choVisible: false}) + } + + render() { + const { type } = this.props + const { visible, choVisible } = this.state + + return ( + <div style={{display: 'inline-block'}}> + {type === 'toolbar' ? <Button icon="snippets" style={{color: 'purple'}} onClick={() => {this.setState({visible: true})}} >绮樿创</Button> : + <SnippetsOutlined style={{color: 'purple'}} onClick={() => {this.setState({visible: true})}} />} + <Modal + title="绮樿创" + visible={visible} + width={600} + maskClosable={false} + onOk={this.pasteSubmit} + onCancel={() => {this.setState({visible: false})}} + destroyOnClose + > + <PasteForm wrappedComponentRef={(inst) => this.pasteFormRef = inst} inputSubmit={this.pasteSubmit}/> + </Modal> + <Modal + title="" + visible={choVisible} + width={450} + closable={false} + maskClosable={false} + onCancel={() => {this.setState({choVisible: false, result: null})}} + footer={[ + <Button key="cancel" onClick={() => this.setState({choVisible: false, result: null})}>鍙栨秷</Button>, + <Button key="replace" className="mk-border-purple" style={{color: 'purple'}} onClick={this.replaceForms}>鏇挎崲</Button>, + <Button key="confirm" type="primary" onClick={this.jumpForms}>璺宠繃</Button> + ]} + destroyOnClose + > + <QuestionCircleOutlined style={{color: 'orange', fontSize: '24px', margin: '15px 10px', position: 'relative', top: '2px'}}/>瀛樺湪閲嶅琛ㄥ崟锛岃閫夋嫨澶勭悊鏂瑰紡銆� + </Modal> + </div> + ) + } +} + +export default PasteController \ No newline at end of file diff --git a/src/menu/components/share/pasteforms/index.scss b/src/menu/components/share/pasteforms/index.scss new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/menu/components/share/pasteforms/index.scss diff --git a/src/menu/components/table/base-table/index.jsx b/src/menu/components/table/base-table/index.jsx index 86ba414..c1f4e85 100644 --- a/src/menu/components/table/base-table/index.jsx +++ b/src/menu/components/table/base-table/index.jsx @@ -191,11 +191,17 @@ } card.action.forEach(cell => { + if (cell.hidden === 'true') return if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) { if (!cell.modal || cell.modal.fields.length === 0) { - card.errors.push({ level: 1, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) } + } else if (cell.OpenType === 'excelIn' && (!cell.verify || !cell.verify.sheet || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎叆鍒楁湭璁剧疆锛乣}) + } else if (cell.OpenType === 'excelOut' && (!cell.verify || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎嚭鍒楁湭璁剧疆锛乣}) } + if (doubleClick === cell.uuid) { doubleClick = '' } @@ -204,11 +210,17 @@ card.cols.forEach(col => { if (col.type === 'action') { col.elements.forEach(cell => { + if (cell.hidden === 'true') return if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) { if (!cell.modal || cell.modal.fields.length === 0) { - card.errors.push({ level: 1, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) } + } else if (cell.OpenType === 'excelIn' && (!cell.verify || !cell.verify.sheet || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎叆鍒楁湭璁剧疆锛乣}) + } else if (cell.OpenType === 'excelOut' && (!cell.verify || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎嚭鍒楁湭璁剧疆锛乣}) } + if (doubleClick === cell.uuid) { doubleClick = '' } diff --git a/src/menu/components/table/edit-table/index.jsx b/src/menu/components/table/edit-table/index.jsx index ac0caff..dd661ef 100644 --- a/src/menu/components/table/edit-table/index.jsx +++ b/src/menu/components/table/edit-table/index.jsx @@ -178,20 +178,30 @@ } card.action.forEach(cell => { + if (cell.hidden === 'true') return if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) { if (!cell.modal || cell.modal.fields.length === 0) { - card.errors.push({ level: 1, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) } + } else if (cell.OpenType === 'excelIn' && (!cell.verify || !cell.verify.sheet || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎叆鍒楁湭璁剧疆锛乣}) + } else if (cell.OpenType === 'excelOut' && (!cell.verify || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎嚭鍒楁湭璁剧疆锛乣}) } }) card.cols.forEach(col => { if (col.type === 'action') { col.elements.forEach(cell => { + if (cell.hidden === 'true') return if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) { if (!cell.modal || cell.modal.fields.length === 0) { - card.errors.push({ level: 1, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) } + } else if (cell.OpenType === 'excelIn' && (!cell.verify || !cell.verify.sheet || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎叆鍒楁湭璁剧疆锛乣}) + } else if (cell.OpenType === 'excelOut' && (!cell.verify || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎嚭鍒楁湭璁剧疆锛乣}) } }) } else if (col.type === 'custom') { diff --git a/src/menu/components/table/normal-table/index.jsx b/src/menu/components/table/normal-table/index.jsx index 873c345..898bda5 100644 --- a/src/menu/components/table/normal-table/index.jsx +++ b/src/menu/components/table/normal-table/index.jsx @@ -218,10 +218,15 @@ } card.action.forEach(cell => { + if (cell.hidden === 'true') return if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) { if (!cell.modal || cell.modal.fields.length === 0) { - card.errors.push({ level: 1, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) } + } else if (cell.OpenType === 'excelIn' && (!cell.verify || !cell.verify.sheet || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎叆鍒楁湭璁剧疆锛乣}) + } else if (cell.OpenType === 'excelOut' && (!cell.verify || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎嚭鍒楁湭璁剧疆锛乣}) } if (doubleClick === cell.uuid) { doubleClick = '' @@ -231,10 +236,15 @@ card.cols.forEach(col => { if (col.type === 'action') { col.elements.forEach(cell => { + if (cell.hidden === 'true') return if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) { if (!cell.modal || cell.modal.fields.length === 0) { - card.errors.push({ level: 1, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) } + } else if (cell.OpenType === 'excelIn' && (!cell.verify || !cell.verify.sheet || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎叆鍒楁湭璁剧疆锛乣}) + } else if (cell.OpenType === 'excelOut' && (!cell.verify || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎嚭鍒楁湭璁剧疆锛乣}) } if (doubleClick === cell.uuid) { doubleClick = '' diff --git a/src/menu/components/timeline/normal-timeline/index.jsx b/src/menu/components/timeline/normal-timeline/index.jsx index 79df605..826bfae 100644 --- a/src/menu/components/timeline/normal-timeline/index.jsx +++ b/src/menu/components/timeline/normal-timeline/index.jsx @@ -132,10 +132,15 @@ card.subcards.forEach(col => { col.elements.forEach(cell => { if (cell.eleType === 'button') { + if (cell.hidden === 'true') return if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) { if (!cell.modal || cell.modal.fields.length === 0) { - card.errors.push({ level: 1, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`}) } + } else if (cell.OpenType === 'excelIn' && (!cell.verify || !cell.verify.sheet || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎叆鍒楁湭璁剧疆锛乣}) + } else if (cell.OpenType === 'excelOut' && (!cell.verify || !cell.verify.columns || cell.verify.columns.length === 0)) { + card.errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎嚭鍒楁湭璁剧疆锛乣}) } } else if (cell.datatype === 'dynamic' && cell.field && !columns.includes(cell.field)) { card.errors.push({ level: 1, detail: `鍗$墖涓姩鎬佸瓧娈碘��${cell.field}鈥濇棤鏁坄}) diff --git a/src/menu/modalconfig/index.jsx b/src/menu/modalconfig/index.jsx index 4aab297..0448d06 100644 --- a/src/menu/modalconfig/index.jsx +++ b/src/menu/modalconfig/index.jsx @@ -21,7 +21,7 @@ const { Panel } = Collapse const { confirm } = Modal const ModalForm = asyncComponent(() => import('@/templates/zshare/modalform')) -const EditComponent = asyncComponent(() => import('@/templates/zshare/editcomponent')) +const PasteForms = asyncComponent(() => import('@/menu/components/share/pasteforms')) const DragElement = asyncComponent(() => import('@/templates/modalconfig/dragelement')) const FieldsComponent = asyncComponent(() => import('@/templates/sharecomponent/fieldscomponent')) @@ -458,44 +458,8 @@ }) } - plusFields = (items, type) => { + plusFields = (items) => { let _config = fromJS(this.state.config).toJS() - - if (type === 'forms') { - if (_config.fields.length > 0) { - let that = this - _config.fields = items.fields.map(item => { - item.uuid = Utils.getuuid() - return item - }) - - confirm({ - title: '纭畾鏇挎崲琛ㄥ崟鍚楋紵', - content: '鍘熻〃鍗曞皢鍒犻櫎銆�', - onOk() { - that.setState({ - config: _config - }) - }, - onCancel() {} - }) - } else { - _config.fields = items.fields.map(item => { - item.uuid = Utils.getuuid() - return item - }) - - this.setState({ - config: _config - }) - notification.success({ - top: 92, - message: '绮樿创鎴愬姛锛�', - duration: 2 - }) - } - return - } _config.fields.push(...items) @@ -505,6 +469,15 @@ if (items.length === 1 && items[0].focus) { this.handleForm(items[0]) } + }) + } + + pasteFields = (items) => { + let _config = fromJS(this.state.config).toJS() + _config.fields = items + + this.setState({ + config: _config }) } @@ -564,7 +537,7 @@ <Card title="琛ㄥ崟閰嶇疆" bordered={false} extra={ <div> <Button type="danger" onClick={this.clearConfig}>娓呯┖</Button> - <EditComponent options={['form', 'forms']} type="formboard" config={this.state.config} plusFields={this.plusFields}/> + <PasteForms type="toolbar" config={config} update={this.pasteFields}/> <Button type="primary" id="save-modal-config" loading={saving} onClick={this.submitConfig}>淇濆瓨</Button> <Button onClick={this.cancelConfig}>杩斿洖</Button> </div> diff --git a/src/mob/components/formdragelement/card.jsx b/src/mob/components/formdragelement/card.jsx index db21a71..e019a9f 100644 --- a/src/mob/components/formdragelement/card.jsx +++ b/src/mob/components/formdragelement/card.jsx @@ -79,10 +79,8 @@ formItem = (<div className={'am-list-item input ' + (card.place || '')}><div className="am-list-line"><div className="am-input-label">{card.label}</div><div className={'am-input-control ' + card.cursor}>{card.initval ? card.initval : <span style={{color: '#bcbcbc'}}>{card.placeholder || <span style={{color: 'transparent'}}>input</span>}</span> }</div>{card.scan && card.scan !== 'false' ? <div className="am-list-extra"><ScanOutlined /></div> : null}</div></div>) } else if (card.type === 'number') { formItem = (<div className={'am-list-item input ' + (card.place || '')}><div className="am-list-line"><div className="am-input-label">{card.label}</div><div className={'am-input-control ' + card.cursor}>{card.initval || 0}</div>{card.placeholder ? <div className="am-list-extra" style={{color: '#999999', width: 'auto', lineHeight: 1.5, height: '22px'}}>{card.placeholder}</div> : null}</div></div>) - } else if (card.type === 'number') { - formItem = (<div className="am-list-item input"><div className="am-list-line"><div className="am-input-label">{card.label}</div><div className={'am-input-control ' + card.cursor}>{card.initval || <span style={{color: 'transparent'}}>input</span>}</div></div></div>) } else if (card.type === 'select' || card.type === 'link' || card.type === 'cascader') { - formItem = (<div className="am-list-item"><div className="am-list-line"><div className="am-input-label">{card.label}</div><div className="am-input-control">{selectval || '璇烽�夋嫨'}</div><div className="am-list-extra"><RightOutlined /></div></div></div>) + formItem = (<div className={'am-list-item picker ' + (card.place || '')}><div className="am-list-line"><div className="am-input-label">{card.label}</div><div className="am-input-control">{selectval || '璇烽�夋嫨'}</div><div className="am-list-extra"><RightOutlined /></div></div></div>) } else if (card.type === 'date') { let format = 'YYYY-MM-DD' if (card.precision === 'hour') { @@ -92,14 +90,14 @@ } else if (card.precision === 'second') { format = 'YYYY-MM-DD HH:mm:ss' } - formItem = (<div className="am-list-item"><div className="am-list-line"><div className="am-input-label">{card.label}</div><div className="am-input-control">{card.initval ? moment().subtract(card.initval, 'days').format(format) : '璇烽�夋嫨'}</div><div className="am-list-extra"><RightOutlined /></div></div></div>) + formItem = (<div className={'am-list-item picker ' + (card.place || '')}><div className="am-list-line"><div className="am-input-label">{card.label}</div><div className="am-input-control">{card.initval ? moment().subtract(card.initval, 'days').format(format) : '璇烽�夋嫨'}</div><div className="am-list-extra"><RightOutlined /></div></div></div>) } else if (card.type === 'datemonth') { - formItem = (<div className="am-list-item"><div className="am-list-line"><div className="am-input-label">{card.label}</div><div className="am-input-control">{card.initval ? moment().subtract(card.initval, 'month').format('YYYY-MM') : '璇烽�夋嫨'}</div><div className="am-list-extra"><RightOutlined /></div></div></div>) + formItem = (<div className={'am-list-item picker ' + (card.place || '')}><div className="am-list-line"><div className="am-input-label">{card.label}</div><div className="am-input-control">{card.initval ? moment().subtract(card.initval, 'month').format('YYYY-MM') : '璇烽�夋嫨'}</div><div className="am-list-extra"><RightOutlined /></div></div></div>) } else if (card.type === 'datetime') { formItem = (<div className="am-list-item"><div className="am-list-line"><div className="am-input-label">{card.label}</div><div className="am-input-control">{card.initval ? moment().subtract(card.initval, 'days').format('YYYY-MM-DD HH:mm') : '璇烽�夋嫨'}</div><div className="am-list-extra"><RightOutlined /></div></div></div>) } else if (card.type === 'textarea') { let height = (card.maxRows || 2) * 25 - formItem = (<div className="am-list-item check-card"> + formItem = (<div className={'am-list-item check-card ' + (card.place || '')}> <div className="am-list-line"> <div className="am-input-label">{card.label}</div> <div className="am-input-control"> @@ -142,7 +140,7 @@ } formItem = ( - <div className={'am-list-item checkbox mk-radio ' + (card.arrange || '')}> + <div className={'am-list-item checkbox mk-radio ' + (card.arrange || '') + ' ' + (card.place || '')}> <div className="am-list-line"> <div className="am-input-label">{card.label}</div> <div className="am-input-control"> @@ -171,7 +169,7 @@ } formItem = ( - <div className={'am-list-item checkbox ' + (card.arrange || '')}> + <div className={'am-list-item checkbox ' + (card.arrange || '') + ' ' + (card.place || '')}> <div className="am-list-line"> <div className="am-input-label">{card.label}</div> <div className="am-input-control"> @@ -204,7 +202,7 @@ } else if (card.type === 'split') { formItem = <div className="split-line">{card.label}</div> } else if (card.type === 'checkcard') { - formItem = (<div className="am-list-item check-card"> + formItem = (<div className={'am-list-item check-card ' + (card.place || '')}> <div className="am-list-line"> {card.hidelabel !== 'true' ? <div className="am-input-label">{card.label}</div> : null} <div className="am-input-control"> diff --git a/src/mob/components/formdragelement/index.scss b/src/mob/components/formdragelement/index.scss index 3772a7b..5aeda26 100644 --- a/src/mob/components/formdragelement/index.scss +++ b/src/mob/components/formdragelement/index.scss @@ -88,6 +88,14 @@ } } } + .am-list-item:not(.up_down) { + .am-list-line { + .am-input-label { + width: 28%; + max-width: 120px; + } + } + } .am-list-item.up_down { height: auto; .am-list-line { @@ -107,6 +115,26 @@ } } } + .am-list-item.picker:not(.up_down) { + .am-list-line { + .am-input-control { + padding-right: 0px; + } + } + } + .am-list-item.up_down.picker { + .am-list-line { + .am-input-control { + line-height: 40px; + padding-right: 20px; + } + .am-list-extra { + top: auto; + right: 10px; + bottom: 13px; + } + } + } .ant-form-item.actived { .am-input-label { color: #1890ff; @@ -122,6 +150,16 @@ } .am-input-label { width: auto; + } + } + } + .am-list-item.check-card.left_right { + .am-list-line { + display: flex; + .am-input-label { + width: 28%; + max-width: 120px; + line-height: 1; } } } @@ -230,6 +268,17 @@ } } } + .am-list-item.checkbox.left_right { + .am-list-line { + display: flex; + .ant-checkbox-group { + float: right; + } + .am-input-control { + padding-right: 0px; + } + } + } .am-list-item.checkbox.mk-radio { .ant-checkbox-inner { border-radius: 50%; diff --git a/src/mob/modalconfig/index.jsx b/src/mob/modalconfig/index.jsx index 062c54e..b355b14 100644 --- a/src/mob/modalconfig/index.jsx +++ b/src/mob/modalconfig/index.jsx @@ -20,8 +20,8 @@ const { Panel } = Collapse const { confirm } = Modal -const PasteComponent = asyncComponent(() => import('./pastecomponent')) const ModalForm = asyncComponent(() => import('@/templates/zshare/modalform')) +const PasteForms = asyncComponent(() => import('@/menu/components/share/pasteforms')) const DragElement = asyncComponent(() => import('@/mob/components/formdragelement')) const FieldsComponent = asyncComponent(() => import('@/templates/sharecomponent/fieldscomponent')) @@ -412,49 +412,12 @@ }) } - insert = (config, type) => { - if (type === 'forms') { - let _config = fromJS(this.state.config).toJS() - - if (_config.fields.length > 0) { - let that = this - _config.fields = config.fields.map(item => { - item.uuid = Utils.getuuid() - return item - }) - - confirm({ - title: '纭畾鏇挎崲琛ㄥ崟鍚楋紵', - content: '鍘熻〃鍗曞皢鍒犻櫎銆�', - onOk() { - that.setState({ - config: _config - }) - }, - onCancel() {} - }) - } else { - _config.fields = config.fields.map(item => { - item.uuid = Utils.getuuid() - return item - }) - - this.setState({ - config: _config - }) - notification.success({ - top: 92, - message: '绮樿创鎴愬姛锛�', - duration: 2 - }) - } - return - } + pasteFields = (items) => { + let _config = fromJS(this.state.config).toJS() + _config.fields = items this.setState({ - config - }, () => { - this.handleForm(config.fields[config.fields.length - 1]) + config: _config }) } @@ -528,7 +491,7 @@ <Button type="primary" id="save-modal-config" loading={saving} onClick={this.submitConfig}>淇濆瓨</Button> <Button onClick={this.cancelConfig}>杩斿洖</Button> <Button type="primary" style={{background: '#26C281', border: 'none'}} onClick={this.triggerCopy}>澶嶅埗</Button> - <PasteComponent config={config} updateConfig={this.insert} /> + <PasteForms type="toolbar" config={config} update={this.pasteFields}/> <Button type="danger" onClick={this.clearConfig}>娓呯┖</Button> <Switch checkedChildren="寮�" unCheckedChildren="鍏�" defaultChecked={this.state.showField} onChange={(val) => this.setState({showField: val})} /> </div> diff --git a/src/templates/modalconfig/dragelement/index.scss b/src/templates/modalconfig/dragelement/index.scss index 3d99524..1c12c6c 100644 --- a/src/templates/modalconfig/dragelement/index.scss +++ b/src/templates/modalconfig/dragelement/index.scss @@ -166,4 +166,18 @@ .page-card { margin-bottom: 5px; } -} \ No newline at end of file +} +// .modal-fields-row.copy { +// z-index: 3; +// } +// .modal-fields-row.copy::before { +// content: ' '; +// display: block; +// position: fixed; +// left: 0; +// right: 0; +// top: 0; +// bottom: 0; +// background: rgba(0,0,0,0.2); +// z-index: 2; +// } \ No newline at end of file diff --git a/src/templates/zshare/formconfig.jsx b/src/templates/zshare/formconfig.jsx index df317c7..786a6be 100644 --- a/src/templates/zshare/formconfig.jsx +++ b/src/templates/zshare/formconfig.jsx @@ -2595,6 +2595,10 @@ card.precision = 'second' } + if (!card.place && appType === 'mob') { + card.place = ['checkbox', 'radio', 'checkcard', 'textarea'].includes(card.type) ? 'up_down' : 'left_right' + } + let options = card.options || [] if (['select', 'radio', 'link'].includes(card.type) && card.setAll === 'true') { // 鍏煎 options.unshift({ @@ -3508,7 +3512,7 @@ key: 'place', label: '鎺掑垪', initVal: card.place || 'left_right', - tooltip: '鎻愮ず鏂囧瓧涓庤緭鍏ユ鐨勪綅缃叧绯汇�傛敞锛氶�夋嫨鍣ㄣ�佹棩鏈熻〃鍗曞湪琛ㄥ崟鏍峰紡涓洪槾褰辨椂鏈夋晥', + tooltip: '鎻愮ず鏂囧瓧涓庤緭鍏ユ鐨勪綅缃叧绯汇��', forbid: appType !== 'mob', options: [{ value: 'left_right', diff --git a/src/templates/zshare/modalform/index.jsx b/src/templates/zshare/modalform/index.jsx index 26f37bd..3d08c71 100644 --- a/src/templates/zshare/modalform/index.jsx +++ b/src/templates/zshare/modalform/index.jsx @@ -22,9 +22,9 @@ text: ['initval', 'readonly', 'required', 'hidden', 'readin', 'fieldlength', 'regular', 'interception', 'span', 'labelwidth', 'encryption', 'tooltip', 'extra', 'enter', 'cursor', 'scan', 'splitline', 'placeholder', 'place', 'marginTop', 'marginBottom', 'lenControl', 'inputType'], number: ['initval', 'readonly', 'hidden', 'decimal', 'min', 'max', 'readin', 'span', 'labelwidth', 'tooltip', 'extra', 'enter', 'cursor', 'splitline', 'place', 'marginTop', 'marginBottom'], select: ['initval', 'readonly', 'required', 'hidden', 'readin', 'resourceType', 'declare', 'setAll', 'linkSubField', 'span', 'labelwidth', 'tooltip', 'extra', 'place', 'emptyText', 'enter', 'splitline', 'dropdown', 'marginTop', 'marginBottom'], - checkbox: ['initval', 'readonly', 'required', 'hidden', 'readin', 'resourceType', 'fieldlength', 'span', 'labelwidth', 'tooltip', 'extra', 'splitline', 'arrange', 'marginTop', 'marginBottom'], - radio: ['initval', 'readonly', 'required', 'hidden', 'readin', 'resourceType', 'declare', 'linkSubField', 'span', 'labelwidth', 'tooltip', 'extra', 'setAll', 'emptyText', 'splitline', 'arrange', 'marginTop', 'marginBottom'], - checkcard: ['initval', 'readonly', 'required', 'hidden', 'readin', 'resourceType', 'span', 'labelwidth', 'display', 'tooltip', 'extra', 'width', 'multiple', 'splitline', 'marginTop', 'marginBottom'], + checkbox: ['initval', 'readonly', 'required', 'hidden', 'readin', 'resourceType', 'fieldlength', 'span', 'labelwidth', 'tooltip', 'extra', 'place', 'splitline', 'arrange', 'marginTop', 'marginBottom'], + radio: ['initval', 'readonly', 'required', 'hidden', 'readin', 'resourceType', 'declare', 'linkSubField', 'span', 'labelwidth', 'tooltip', 'extra', 'place', 'setAll', 'emptyText', 'splitline', 'arrange', 'marginTop', 'marginBottom'], + checkcard: ['initval', 'readonly', 'required', 'hidden', 'readin', 'resourceType', 'span', 'labelwidth', 'display', 'tooltip', 'extra', 'place', 'width', 'multiple', 'splitline', 'marginTop', 'marginBottom'], multiselect: ['initval', 'readonly', 'required', 'hidden', 'readin', 'resourceType', 'fieldlength', 'span', 'labelwidth', 'tooltip', 'extra', 'marginTop', 'marginBottom', 'dropdown'], link: ['initval', 'readonly', 'required', 'hidden', 'readin', 'resourceType', 'declare', 'setAll', 'linkField', 'linkSubField', 'span', 'place', 'labelwidth', 'tooltip', 'extra', 'emptyText', 'enter', 'splitline', 'dropdown', 'marginTop', 'marginBottom'], fileupload: ['readonly', 'required', 'readin', 'fieldlength', 'maxfile', 'fileType', 'span', 'labelwidth', 'tooltip', 'extra', 'compress', 'miniSet', 'splitline', 'marginTop', 'marginBottom', 'maxSize'], @@ -32,7 +32,7 @@ date: ['initval', 'readonly', 'required', 'hidden', 'readin', 'span', 'labelwidth', 'tooltip', 'extra', 'declareType', 'mode', 'splitline', 'place', 'marginTop', 'marginBottom', 'minDate', 'maxDate', 'precision'], datemonth: ['initval', 'readonly', 'required', 'hidden', 'readin', 'span', 'labelwidth', 'tooltip', 'extra', 'declareType', 'splitline', 'place', 'marginTop', 'marginBottom'], datetime: ['initval', 'readonly', 'required', 'hidden', 'readin', 'span', 'labelwidth', 'tooltip', 'extra', 'declareType', 'mode', 'splitline', 'marginTop', 'marginBottom', 'minDate', 'maxDate'], - textarea: ['initval', 'readonly', 'required', 'hidden', 'readin', 'fieldlength', 'span', 'labelwidth', 'maxRows', 'encryption', 'interception', 'tooltip', 'extra', 'count', 'placeholder', 'marginTop', 'marginBottom'], + textarea: ['initval', 'readonly', 'required', 'hidden', 'readin', 'fieldlength', 'span', 'labelwidth', 'maxRows', 'encryption', 'interception', 'tooltip', 'extra', 'place', 'count', 'placeholder', 'marginTop', 'marginBottom'], cascader: ['readonly', 'required', 'hidden', 'readin', 'resourceType', 'fieldlength', 'span', 'labelwidth', 'tooltip', 'extra', 'place', 'splitline', 'marginTop', 'marginBottom', 'separator'], color: ['initval', 'readonly', 'required', 'hidden', 'readin', 'span', 'labelwidth', 'tooltip', 'colorType', 'extra', 'marginTop', 'marginBottom'], rate: ['initval', 'readonly', 'required', 'hidden', 'readin', 'span', 'labelwidth', 'splitline', 'tooltip', 'extra', 'marginTop', 'marginBottom', 'allowHalf', 'color', 'rateCount', 'character', 'place'], -- Gitblit v1.8.0