From c2629f92132c4761f4415e62d30ee456c6ac23c7 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 10 八月 2023 18:30:26 +0800
Subject: [PATCH] 2023-08-10

---
 src/menu/components/form/simple-form/options.jsx |  104 +++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 91 insertions(+), 13 deletions(-)

diff --git a/src/menu/components/form/simple-form/options.jsx b/src/menu/components/form/simple-form/options.jsx
index 12b0542..1ace5c6 100644
--- a/src/menu/components/form/simple-form/options.jsx
+++ b/src/menu/components/form/simple-form/options.jsx
@@ -1,4 +1,3 @@
-import { fromJS } from 'immutable'
 import MenuUtils from '@/utils/utils-custom.js'
 
 /**
@@ -23,21 +22,37 @@
 
   if (appType === 'mob') {
     config.subcards[0].fields.forEach(f => {
-      if (f.field && ['select', 'text', 'number'].includes(f.type) && f.hidden !== 'true' && f.readonly !== 'true') {
+      if (f.field && ['select', 'text', 'number', 'textarea'].includes(f.type) && f.hidden !== 'true' && f.readonly !== 'true') {
         fields.push(f)
       }
     })
   } else {
     config.subcards[0].fields.forEach(f => {
-      if (f.field && ['select', 'link', 'text', 'number'].includes(f.type) && f.hidden !== 'true' && f.readonly !== 'true') {
+      if (f.field && ['select', 'link', 'text', 'number', 'textarea'].includes(f.type) && f.hidden !== 'true' && f.readonly !== 'true') {
         fields.push(f)
       }
     })
   }
 
   let modules = []
-  let menu = fromJS(window.GLOB.customMenu).toJS()
-  modules = MenuUtils.getSupModules(menu.components, config.uuid)
+  let menu = window.GLOB.customMenu
+  modules = MenuUtils.getSupModules(menu.components, config.uuid, menu.interfaces)
+
+  if (wrap.supModule && wrap.supModule.length > 0 && wrap.supModule[0] !== 'empty') {
+    let has = MenuUtils.checkSupModules(modules, wrap.supModule.slice(-1)[0])
+    if (!has) {
+      wrap.supModule = ''
+    }
+  }
+
+  let buttons = []
+
+  if (!wrap.enable || wrap.enable === 'true') {
+    buttons.push('enable')
+  }
+  if (wrap.closeEnable === 'true') {
+    buttons.push('closeEnable')
+  }
 
   const wrapForm = [
     {
@@ -78,6 +93,7 @@
         {value: 'static', label: '闈欐��'},
       ],
       controlFields: [
+        {field: 'empty', values: ['dynamic']},
         {field: 'supModule', values: ['static']},
       ]
     },
@@ -128,15 +144,77 @@
       forbid: appType === 'mob'
     },
     {
-      type: 'radio',
-      field: 'subEnable',
-      label: '鎻愪氦',
-      initval: wrap.enable || 'true',
+      type: 'checkbox',
+      field: 'buttons',
+      label: '鎸夐挳缁�',
+      initval: buttons,
+      tooltip: '绠$悊绯荤粺涓細鍏抽棴褰撳墠鏍囩锛屽瓙搴旂敤涓负杩斿洖涓婁竴椤点��',
       required: false,
       options: [
-        {value: 'true', label: '鏄剧ず'},
-        {value: 'false', label: '闅愯棌'},
-      ]
+        {value: 'enable', label: '鎻愪氦'},
+        {value: 'closeEnable', label: '鍏抽棴'},
+      ],
+    },
+    // {
+    //   type: 'radio',
+    //   field: 'enable',
+    //   label: '鎻愪氦',
+    //   initval: wrap.enable || 'true',
+    //   required: false,
+    //   options: [
+    //     {value: 'true', label: '鏄剧ず'},
+    //     {value: 'false', label: '闅愯棌'},
+    //   ]
+    // },
+    // {
+    //   type: 'radio',
+    //   field: 'closeEnable',
+    //   label: '鍏抽棴',
+    //   initval: wrap.closeEnable || 'false',
+    //   tooltip: '绠$悊绯荤粺涓細鍏抽棴褰撳墠鏍囩锛屽瓙搴旂敤涓负杩斿洖涓婁竴椤点��',
+    //   required: false,
+    //   options: [
+    //     {value: 'true', label: '鏄剧ず'},
+    //     {value: 'false', label: '闅愯棌'},
+    //   ]
+    // },
+    {
+      type: 'radio',
+      field: 'formStyle',
+      label: '琛ㄥ崟鏍峰紡',
+      initval: wrap.formStyle || '',
+      required: false,
+      options: [
+        {value: '', label: '榛樿'},
+        {value: 'shadow', label: '闃村奖'},
+      ],
+      forbid: appType !== 'mob'
+    },
+    {
+      type: 'radio',
+      field: 'goback',
+      label: '绌哄�艰繑鍥�',
+      initval: wrap.goback || 'false',
+      tooltip: '褰撴煡璇㈡暟鎹负绌烘椂锛岃繑鍥炰笂涓�鐣岄潰銆�',
+      required: false,
+      options: [
+        {value: 'true', label: '鏄�'},
+        {value: 'false', label: '鍚�'},
+      ],
+      forbid: appType !== 'mob'
+    },
+    {
+      type: 'radio',
+      field: 'empty',
+      label: '绌哄�奸殣钘�',
+      initval: wrap.empty || 'show',
+      tooltip: '褰撴煡璇㈡暟鎹负绌烘椂锛岄殣钘忚缁勪欢銆�',
+      required: false,
+      skip: true,
+      options: [
+        {value: 'show', label: '鍚�'},
+        {value: 'hidden', label: '鏄�'},
+      ],
     },
     {
       type: 'radio',
@@ -148,7 +226,7 @@
         {value: 'true', label: '鍚敤'},
         {value: 'false', label: '绂佺敤'},
       ],
-      forbid: !appType
+      forbid: !appType || sessionStorage.getItem('editMenuType') === 'popview'
     },
     {
       type: 'cascader',

--
Gitblit v1.8.0