From 8040a18c4b2a848d252bf01838f06c7aec1be9f3 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 07 六月 2024 15:16:11 +0800 Subject: [PATCH] 2024-06-07 --- src/menu/components/table/edit-table/columns/editColumn/formconfig.jsx | 545 ++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 429 insertions(+), 116 deletions(-) diff --git a/src/menu/components/table/edit-table/columns/editColumn/formconfig.jsx b/src/menu/components/table/edit-table/columns/editColumn/formconfig.jsx index 7b052f5..94e2a8c 100644 --- a/src/menu/components/table/edit-table/columns/editColumn/formconfig.jsx +++ b/src/menu/components/table/edit-table/columns/editColumn/formconfig.jsx @@ -2,7 +2,7 @@ * @description 鑾峰彇鏄剧ず鍒楄〃鍗曢厤缃俊鎭� * @param {object} card // 鎼滅储鏉′欢瀵硅薄 */ -export function getColumnForm (card, fields = [], columns = []) { +export function getColumnForm (card, fields = [], columns = [], wrap) { let roleList = sessionStorage.getItem('sysRoles') if (roleList) { try { @@ -14,7 +14,6 @@ roleList = [] } - // if (['picture', 'link', 'colspan'].includes(card.type)) { if (['picture', 'link'].includes(card.type)) { card.type = 'text' } @@ -26,63 +25,86 @@ value: 'number', text: '鏁板瓧' }, { - value: 'textarea', - text: '澶氳鏂囨湰' - }, { value: 'custom', text: '鑷畾涔夊垪' }, { - value: 'colspan', - text: '鍚堝苟鍒�' - // }, { - // value: 'action', - // text: '鎿嶄綔' - }, { value: 'formula', text: '鍏紡' + }, { + value: 'textarea', + text: '澶氳鏂囨湰' + }, { + value: 'colspan', + text: '鍚堝苟鍒�' + }, { + value: 'extend', + text: '鎵╁睍鍒�' }, { value: 'index', text: '搴忓彿' }] - if (!card.isSub) { - options.push({ - value: 'action', - text: '鎿嶄綔' - }) - } - let editCols = [ + // { + // field: '$sub', + // label: '鎻愪氦' + // }, { - field: '$sub', - label: '鎻愪氦' + field: '$noAct', + label: '鏃犲姩浣�' }, { field: '$next', label: '涓嬩竴琛�' - }, - { - field: '$noAct', - label: '鏃犲姩浣�' } ] - columns.forEach(col => { - if (col.editable === 'true' && col.uuid !== card.uuid) { - editCols.push({ - field: col.uuid, - label: col.label - }) - } else if (col.type === 'colspan') { - col.subcols.forEach(subcol => { - if (subcol.editable === 'true' && subcol.uuid !== card.uuid) { - editCols.push({ - field: subcol.uuid, - label: col.label + '-' + subcol.label - }) - } - }) - } + + if (card.enter === '$sub') { + card.enter = '$noAct' + } + if (wrap.commit === 'change') { + editCols[0].label = '澶卞幓鐒︾偣' + } + + let cols = [] + let getcols = (columns, suplabel = '') => { + columns.forEach(col => { + if (col.editable === 'true' && col.uuid !== card.uuid) { + cols.push({ + field: col.uuid, + label: suplabel + col.label + }) + } else if (col.type === 'colspan') { + getcols(col.subcols, col.label + '-') + } + }) + } + + getcols(columns) + + editCols.push(...cols) + + cols.forEach(col => { + editCols.push({ + field: '$next_' + col.field, + label: col.label + '锛堜笅涓�琛岋級' + }) }) + + editCols.push({ + field: '$next_' + card.uuid, + label: card.label + '锛堜笅涓�琛岋級' + }) + + if (wrap.commit === 'change') { + editCols.push({ + field: '$noActX', + label: '鏃犲姩浣�', + disabled: card.editType !== 'select' + }) + } else if (card.enter === '$noActX') { + card.enter = '$noAct' + } return [ { @@ -136,7 +158,7 @@ type: 'radio', key: 'IsSort', label: '鎺掑簭', - initVal: card.IsSort || (card.isSub ? 'false' : 'true'), + initVal: card.IsSort || (card.isSub || card.type === 'custom' ? 'false' : 'true'), required: true, options: [{ value: 'true', @@ -144,6 +166,32 @@ }, { value: 'false', text: '鍚�' + }] + }, + { + type: 'select', + key: 'sortField', + label: '鎺掑簭瀛楁', + initVal: card.sortField || '', + required: true, + options: fields + }, + { + type: 'radio', + key: 'eval', + label: '瑙f瀽鏂瑰紡', + initVal: card.eval || 'false', + tooltip: '褰撳叕寮忓唴瀹规秹鍙婅绠楁椂璇烽�夋嫨鈥滆绠椻�濓紝褰撳叕寮忓唴瀹逛负瀛楁鎷兼帴鏃惰閫夋嫨鈥滃瓧娈垫浛鎹⑩�濓紝浣跨敤鍑芥暟鏃跺叆鍙備负data锛堟暟缁勶級銆�', + required: false, + options: [{ + value: 'false', + text: '瀛楁鏇挎崲' + }, { + value: 'true', + text: '璁$畻' + }, { + value: 'func', + text: '鍑芥暟' }] }, { @@ -163,21 +211,95 @@ text: '鍙冲榻�' }] }, - // { - // type: 'radio', - // key: 'sum', - // label: '鏄剧ず鍚堣', - // initVal: card.sum || 'false', - // tooltip: '鍚堣淇℃伅鍙湪浣跨敤绯荤粺鏁版嵁婧愭椂鏈夋晥銆�', - // required: false, - // options: [{ - // value: 'true', - // text: '鏄�' - // }, { - // value: 'false', - // text: '鍚�' - // }] - // }, + { + type: 'radio', + key: 'colUnit', + label: '鍗曚綅', + initVal: card.colUnit || 'day', + required: true, + options: [{ + value: 'day', + text: '澶�' + }, { + value: 'hour', + text: '灏忔椂' + }] + }, + { + type: 'number', + key: 'shift', + label: '鍋忕Щ閲�', + initVal: card.shift || 0, + min: -1000, + max: 1000, + decimal: 0, + required: true + }, + { + type: 'number', + key: 'quota', + label: '鎸囨爣鏁�', + initVal: card.quota || 7, + min: 1, + max: 1000, + decimal: 0, + required: true + }, + { + type: 'select', + key: 'dayFormat', + label: '鏍煎紡鍖�', + initVal: card.dayFormat || 'M/DD', + required: true, + options: [{ + value: 'M/DD', + label: 'M/DD锛�4/29锛�' + }, { + value: 'M-DD', + label: 'M-DD锛�4-29锛�' + }, { + value: 'M鏈圖D鏃�', + label: 'M鏈圖D鏃ワ紙4鏈�29鏃ワ級' + }, { + value: 'M/DD week', + label: 'M/DD week锛�4/29 鏄熸湡涓�锛�' + }, { + value: 'M-DD week', + label: 'M-DD week锛�4-29 鏄熸湡涓�锛�' + }, { + value: 'M鏈圖D鏃� week', + label: 'M鏈圖D鏃� week锛�4鏈�29鏃� 鏄熸湡涓�锛�' + }] + }, + { + type: 'select', + key: 'hourFormat', + label: '鏍煎紡鍖�', + initVal: card.hourFormat || 'H:00', + required: true, + options: [{ + value: 'H:00', + label: 'H:00锛�15:00锛�' + }, { + value: 'H point', + label: 'H锛�15鐐癸級' + }, { + value: 'h:00', + label: 'h:00锛�3:00 pm锛�' + }] + }, + { + type: 'text', + key: 'supField', + label: '涓婄骇瀛楁', + initVal: card.supField || '', + tooltip: '鏉ユ簮浜庝笂绾х粍浠剁殑瀛楁闆嗭紙涓婄骇缁勪欢涓虹┖鏃朵粠url鍙傛暟涓�夊彇锛夛紝璇ュ瓧娈靛�硷紙鐢ㄩ�楀彿鍒嗛殧锛夊彲鎺у埗鎵╁睍鍒楃殑鍒楀悕銆�', + required: false, + rules: [{ + pattern: /^[0-9a-zA-Z_]*$/ig, + message: '瀛楁鍚嶅彧鍏佽鍖呭惈鏁板瓧銆佸瓧姣嶄互鍙奯' + }] + }, { type: 'radio', key: 'editable', @@ -193,7 +315,7 @@ }] }, { - type: 'radio', + type: 'select', key: 'editType', label: '缂栬緫绫诲瀷', initVal: card.editType || 'text', @@ -207,6 +329,59 @@ }, { value: 'switch', text: '寮�鍏�' + }, { + value: 'date', + text: '鏃ユ湡锛堝ぉ锛�' + }, { + value: 'popSelect', + text: '閫夋嫨鍣�' + }] + }, + { + type: 'radio', + key: 'precision', + label: '绮剧‘搴�', + initVal: card.precision || 'day', + options: [{ + value: 'day', + text: '澶�' + }, { + value: 'hour', + text: '灏忔椂' + }, { + value: 'minute', + text: '鍒嗛挓' + }, { + value: 'second', + text: '绉�' + }] + }, + { + type: 'radio', + key: 'declareType', + label: '鏁版嵁绫诲瀷', + tooltip: '澹版槑鍙橀噺鏃剁殑绫诲瀷锛屾椂闂存牸寮廳atetime鎴栨枃鏈牸寮弉varchar(50)銆�', + initVal: card.declareType || 'datetime', + options: [{ + value: 'datetime', + text: 'datetime' + }, { + value: 'nvarchar(50)', + text: 'nvarchar(50)' + }] + }, + { + type: 'radio', + key: 'required', + label: '蹇呭~', + initVal: card.required || 'false', + required: false, + options: [{ + value: 'false', + text: '鍚�' + }, { + value: 'true', + text: '鏄�' }] }, { @@ -260,16 +435,6 @@ }] }, { - type: 'select', - key: 'editField', - label: '缂栬緫瀛楁', - initVal: card.editField || '', - tooltip: '褰撳�间笌鎻愮ず鏂囧瓧涓嶅悓鏃讹紝鍙澶栨坊鍔犵紪杈戝瓧娈碉紝浣滀负瀹為檯鍊肩殑褰曞叆瀛楁銆�', - allowClear: true, - required: false, - options: fields - }, - { type: 'options', key: 'options', label: '閫夐」', @@ -281,7 +446,188 @@ key: 'dataSource', label: '鏁版嵁婧�', initVal: card.dataSource || '', + placeholder: '绯荤粺鍙橀噺锛歮k_departmentcode銆乵k_organization銆乵k_user_type銆傚叕鍏卞�粿BID@銆�', required: true, + }, + { + type: 'fields', + key: 'columns', + label: '瀛楁闆�', + initVal: card.columns || [], + required: true, + readonly: false, + columns: [ + { + title: '鍚嶇О', + dataIndex: 'label', + inputType: 'input', + editable: true, + initval: 'label', + width: '20%' + }, + { + title: '瀛楁', + dataIndex: 'field', + inputType: 'input', + editable: true, + unique: true, + strict: true, + copy: true, + initval: 'field', + rules: [{ + pattern: /^[\u4E00-\u9FA50-9a-zA-Z_-]*$/ig, + message: '璇蜂娇鐢ㄦ暟瀛椼�佸瓧姣嶃�佹眽瀛椾互鍙奯-' + }], + width: '20%' + }, + { + title: '闅愯棌', + dataIndex: 'Hide', + inputType: 'radio', + editable: true, + width: '20%', + initval: 'false', + options: [ + {value: 'true', text: '鏄�'}, + {value: 'false', text: '鍚�'}, + ], + render: (text, record) => { + if (text === 'true') { + return '鏄�' + } else { + return '鍚�' + } + } + }, + { + title: '鎺掑簭', + dataIndex: 'IsSort', + inputType: 'radio', + editable: true, + width: '20%', + initval: 'false', + options: [ + {value: 'true', text: '鏄�'}, + {value: 'false', text: '鍚�'}, + ], + render: (text, record) => { + if (text === 'true') { + return '鏄�' + } else { + return '鍚�' + } + } + }, + { + title: '鍒楀', + dataIndex: 'Width', + inputType: 'number', + editable: true, + width: '20%', + initval: 120 + } + ] + }, + { + type: 'select', + key: 'primaryKey', + label: '涓婚敭', + initVal: card.primaryKey || '', + required: true, + readonly: false, + options: 'columns' + }, + { + type: 'text', + key: 'order', + label: '榛樿鎺掑簭', + initVal: card.order || '', + placeholder: 'ID asc', + required: true + }, + { + type: 'select', + key: 'showField', + label: '鏄剧ず瀛楁', + initVal: card.showField || '', + tooltip: '鐢ㄤ簬鎺у埗鍗曞厓鏍间腑鐨勬樉绀哄唴瀹广��', + required: false, + options: 'columns' + }, + { + type: 'select', + key: 'controlField', + label: '绂佺敤瀛楁', + initVal: card.controlField || '', + tooltip: '鐢ㄤ簬鎺у埗琛屾暟鎹槸鍚﹀彲閫夋嫨銆傚瓧娈靛�间负true鏃讹紝閫夐」涓嶅彲閫夈��', + required: false, + allowClear: true, + joint: true, + options: 'columns' + }, + { + type: 'text', + key: 'searchKey', + label: '鎼滅储瀛楁', + initVal: card.searchKey || '', + tooltip: '澶氫釜鍊艰鐢ㄩ�楀彿鍒嗛殧銆�', + required: false, + rules: [{ + pattern: /^[0-9a-zA-Z,_-]*$/ig, + message: '瀛楁鍚嶅彧鍏佽鍖呭惈鏁板瓧銆佸瓧姣嶄互鍙奯-', + }] + }, + { + type: 'number', + key: 'popWidth', + label: '寮圭獥瀹藉害', + initVal: card.popWidth || 60, + tooltip: '灏忎簬100鏃朵负鐧惧垎鐜囷紝澶т簬100鏃朵负缁濆鍊笺��', + required: true + }, + { + type: 'radio', + key: 'laypage', + label: '鍒嗛〉', + initVal: card.laypage || 'true', + required: false, + options: [{ + value: 'true', + text: '鏄�' + }, { + value: 'false', + text: '鍚�' + }] + }, + { + type: 'radio', + key: 'onload', + label: '鍒濆鍖�', + initVal: card.onload || 'true', + tooltip: '褰撴病鏈夎缃悳绱㈠瓧娈垫椂锛屽垵濮嬪寲鍔犺浇鏁版嵁銆�', + required: false, + options: [{ + value: 'true', + text: '鍔犺浇' + }, { + value: 'false', + text: '涓嶅姞杞�' + }] + }, + { + type: 'radio', + key: 'cache', + label: '閫夐」鏌ヨ', + initVal: card.cache || 'true', + tooltip: '鏁版嵁鏌ヨ鏄惁浣跨敤缂撳瓨銆�', + required: false, + options: [{ + value: 'true', + text: '缂撳瓨' + }, { + value: 'false', + text: '瀹炴椂' + }] }, { type: 'text', @@ -341,20 +687,6 @@ }, { type: 'radio', - key: 'required', - label: '蹇呭~', - initVal: card.required || 'false', - required: false, - options: [{ - value: 'false', - text: '鍚�' - }, { - value: 'true', - text: '鏄�' - }] - }, - { - type: 'radio', key: 'database', label: '鏁版嵁搴�', initVal: card.database || 'local', @@ -370,14 +702,14 @@ type: 'select', key: 'enter', label: '鍥炶溅鍒囨崲', - initVal: card.enter || '$next', - tooltip: '鍖呮嫭鏂囨湰鎴栨暟鍊煎洖杞︿簨浠躲�佷笅鎷夎彍鍗曢�変腑浜嬩欢銆佸紑鍏冲垏鎹簨浠躲��', + initVal: card.enter || '$noAct', + tooltip: '鍖呮嫭鏂囨湰鎴栨暟鍊煎洖杞︿簨浠躲�佷笅鎷夎彍鍗曘�侀�夋嫨鍣ㄣ�佹椂闂村彉鍖栦簨浠躲�佸紑鍏冲垏鎹簨浠躲��', options: editCols }, { type: 'select', key: 'ctrlField', - label: '绂佺敤瀛楁', + label: '绂佹缂栬緫', initVal: card.ctrlField || '', tooltip: '鎺у埗鍗曞厓鏍兼槸鍚﹀彲浠ョ紪杈戙��', allowClear: true, @@ -387,28 +719,21 @@ { type: 'text', key: 'ctrlValue', - label: '绂佺敤鍊�', + label: '绂佹鍊�', initVal: card.ctrlValue || '', tooltip: '澶氫釜鍊肩敤閫楀彿鍒嗛殧銆�', required: false }, - // { - // type: 'radio', - // key: 'footEnter', - // label: '鏈鍥炶溅', - // initVal: card.footEnter || 'false', - // tooltip: '鏂板鍔熻兘浠呭湪琛ㄦ牸鍙柊澧炴椂鏈夋晥銆�', - // options: [{ - // value: 'sub', - // text: '鎻愪氦' - // }, { - // value: 'add', - // text: '鏂板' - // }, { - // value: 'false', - // text: '鏃犲姩浣�' - // }] - // }, + { + type: 'select', + key: 'clearField', + label: '娓呯┖瀛楁', + initVal: card.clearField || '', + tooltip: '褰撳墠瀛楁缂栬緫鏃堕渶瑕佹竻绌虹殑瀛楁銆�', + allowClear: true, + required: false, + options: fields + }, { type: 'number', key: 'decimal', @@ -416,7 +741,7 @@ max: 18, precision: 0, label: '灏忔暟浣�', - initVal: card.decimal || 0, + initVal: card.decimal, required: false }, { @@ -490,18 +815,6 @@ required: false, }, { - type: 'radio', - key: 'eval', - label: '瑙f瀽', - initVal: card.eval || 'false', - tooltip: '褰撳叕寮忓唴瀹规秹鍙婅绠楁椂璇烽�夋嫨鈥滄槸鈥濓紝褰撳叕寮忓唴瀹逛负瀛楁鎷兼帴鏃惰閫夋嫨鈥滃惁鈥濄��', - required: false, - options: [ - { value: 'true', text: '鏄�' }, - { value: 'false', text: '鍚�' } - ] - }, - { type: 'textarea', key: 'formula', label: '鍏紡', @@ -523,7 +836,7 @@ key: 'noValue', label: '绌哄��', initVal: card.noValue || 'show', - tooltip: '褰撳�间负0鏃舵槸鍚︽樉绀�', + tooltip: '鏁板�间负 0 鎴栨椂闂村皬浜� 1949-10-02 鏃讹紝鏄惁鏄剧ず', required: false, options: [{ value: 'show', -- Gitblit v1.8.0