From f3d4db769ba9b51b799d981511a710fd443d0e08 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 21 四月 2025 12:18:03 +0800
Subject: [PATCH] Merge branch 'master' into positec

---
 src/menu/components/editor/braft-editor/options.jsx |  102 +++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 95 insertions(+), 7 deletions(-)

diff --git a/src/menu/components/editor/braft-editor/options.jsx b/src/menu/components/editor/braft-editor/options.jsx
index 3c33098..91f403e 100644
--- a/src/menu/components/editor/braft-editor/options.jsx
+++ b/src/menu/components/editor/braft-editor/options.jsx
@@ -4,15 +4,18 @@
 export default function (wrap, columns) {
   let appType = sessionStorage.getItem('appType')
   let roleList = sessionStorage.getItem('sysRoles')
+  let isprint = sessionStorage.getItem('MenuType') === 'billPrint'
+  let ispop = sessionStorage.getItem('editMenuType') === 'popview'
   let menu = window.GLOB.customMenu
-
   let interfaces = []
+
   if (menu.interfaces) {
     menu.interfaces.forEach(item => {
       if (item.status === 'true') {
         interfaces.push({
           value: item.uuid,
-          label: item.name
+          label: item.name,
+          columns: JSON.parse(JSON.stringify(item.columns))
         })
       }
     })
@@ -26,6 +29,20 @@
     }
   } else {
     roleList = []
+  }
+
+  let tbStyle = wrap.tbStyle ? wrap.tbStyle.split(' ') : []
+  let splitLine = 'false'
+  if (tbStyle.includes('deep-split')) {
+    tbStyle = tbStyle.filter(n => n !== 'deep-split')
+    splitLine = 'true'
+  }
+  let loads = []
+  if (wrap.loaded === 'true') {
+    loads.push('loaded')
+  }
+  if (wrap.preload === 'true') {
+    loads.push('preload')
   }
 
   const cardWrapForm = [
@@ -80,14 +97,26 @@
       label: '鏁版嵁婧�',
       initval: wrap.publicId || '',
       required: true,
-      options: interfaces
+      options: interfaces,
+      reset_source: true,
+      callback: (record) => {
+        if (!record.publicId) return
+
+        let d = interfaces.filter(m => m.value === record.publicId)[0]
+
+        if (!d || !d.columns) return
+
+        return {
+          field: d.columns
+        }
+      }
     },
     {
       type: 'select',
       field: 'field',
       label: '鏂囨湰瀛楁',
       initval: wrap.field || '',
-      tooltip: '閫夋嫨鍔ㄦ�佸�兼椂锛岄渶璁剧疆鏂囨湰瀛楁鎵嶅彲鐢熸晥锛屼娇鐢ㄥ叕鍏辨暟鎹簮鏃讹紝闇�鍏堜繚瀛樻暟鎹簮鍚庡啀閫夊彇鏂囨湰瀛楁銆�',
+      timestamp: new Date().getTime(),
       required: false,
       options: columns
     },
@@ -110,11 +139,70 @@
       initval: wrap.empty || 'show',
       tooltip: '褰撴煡璇㈡暟鎹负绌烘椂锛岄殣钘忚缁勪欢銆�',
       required: false,
-      skip: true,
       options: [
         {value: 'show', label: '鍚�'},
         {value: 'hidden', label: '鏄�'},
       ],
+    },
+    {
+      type: 'checkbox',
+      field: 'tbStyle',
+      label: '琛ㄦ牸鏍峰紡',
+      initval: tbStyle,
+      tooltip: '瀵屾枃鏈腑琛ㄦ牸鐨勬牱寮忥紝娉細閫夋嫨鈥滆竟妗嗗姞绮椻�濇垨鈥滆竟妗嗛鑹插姞娣扁�濇椂鈥滄棤杈规鈥濇棤鏁堛��',
+      required: false,
+      options: [
+        {value: 'th-light', label: '琛ㄥご閫忔槑'},
+        {value: 'tb-flex', label: '鍒楃瓑瀹�'},
+        {value: 'no-border', label: '鏃犺竟妗�'},
+        {value: 'bold-border', label: '杈规鍔犵矖'},
+        {value: 'deep-border', label: '杈规棰滆壊鍔犳繁'},
+        {value: 'word-break', label: '寮哄埗鎹㈣'},
+      ],
+      span: 24
+    },
+    {
+      type: 'radio',
+      field: 'splitLine',
+      label: '鍒嗗壊绾垮姞娣�',
+      initval: splitLine,
+      required: false,
+      options: [
+        {value: 'false', label: '鍚�'},
+        {value: 'true', label: '鏄�'},
+      ],
+    },
+    {
+      type: 'checkbox',
+      field: 'loads',
+      label: '甯冨眬璋冩暣',
+      initval: loads,
+      required: false,
+      tooltip: '棰勫鐞嗗叆鍙俬tml銆乨ata锛岃繑鍥炰慨鏀瑰悗鐨刪tml锛涘悗澶勭悊鍏ュ弬涓篽tml锛屽彲閫氳繃椤甸潰鍏冪礌鐨勬牱寮忚皟鏁村苟杩斿洖澶勭悊鍚庣殑html銆�',
+      options: [
+        {value: 'preload', label: '棰勫鐞�'},
+        {value: 'loaded', label: '鍚庡鐞�'},
+      ],
+      controlFields: [
+        {field: 'prefunc', values: ['preload']},
+        {field: 'loadedfunc', values: ['loaded']},
+      ]
+    },
+    {
+      type: 'codemirror',
+      field: 'prefunc',
+      label: '棰勫鐞嗚剼鏈�',
+      initval: wrap.prefunc || '',
+      required: true,
+      span: 24
+    },
+    {
+      type: 'codemirror',
+      field: 'loadedfunc',
+      label: '鍚庡鐞嗚剼鏈�',
+      initval: wrap.loadedfunc || '',
+      required: true,
+      span: 24
     },
     {
       type: 'radio',
@@ -126,7 +214,7 @@
         {value: 'true', label: '鍚敤'},
         {value: 'false', label: '绂佺敤'},
       ],
-      forbid: !appType || sessionStorage.getItem('editMenuType') === 'popview'
+      forbid: !appType || ispop || isprint
     },
     {
       type: 'multiselect',
@@ -135,7 +223,7 @@
       initval: wrap.blacklist || [],
       required: false,
       options: roleList,
-      forbid: !!appType
+      forbid: !!appType || isprint
     },
   ]
 

--
Gitblit v1.8.0