From f6a1ab6a58215cf7546976a86eb6face1a7be32f Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期五, 30 七月 2021 15:37:17 +0800
Subject: [PATCH] 2021-07-30

---
 src/templates/zshare/formconfig.jsx |  473 ++++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 402 insertions(+), 71 deletions(-)

diff --git a/src/templates/zshare/formconfig.jsx b/src/templates/zshare/formconfig.jsx
index 4dd9521..54f99eb 100644
--- a/src/templates/zshare/formconfig.jsx
+++ b/src/templates/zshare/formconfig.jsx
@@ -288,6 +288,7 @@
  */
 export function getSearchForm (card, linkableFields) {
   let roleList = sessionStorage.getItem('sysRoles')
+  let appType = sessionStorage.getItem('appType')
   if (roleList) {
     try {
       roleList = JSON.parse(roleList)
@@ -296,6 +297,71 @@
     }
   } else {
     roleList = []
+  }
+
+  let typeOptions = []
+
+  if (appType === 'mob') {
+    typeOptions = [{
+      value: 'range',
+      text: '鏁板�硷紙鍖洪棿锛�'
+    }, {
+      value: 'checkcard',
+      text: '閫夐」鍗�'
+    }, {
+      value: 'date',
+      text: Formdict['model.form.dateday']
+    }, {
+      value: 'datemonth',
+      text: Formdict['model.form.datemonth']
+    }, {
+      value: 'daterange',
+      text: Formdict['model.form.daterange']
+    }]
+  } else {
+    typeOptions = [{
+      value: 'text',
+      text: Formdict['model.form.text']
+    }, {
+      value: 'select',
+      text: Formdict['model.form.select']
+    }, {
+      value: 'multiselect',
+      text: Formdict['model.form.multiselect']
+    }, {
+      value: 'link',
+      text: Formdict['model.form.link']
+    }, {
+      value: 'checkcard',
+      text: '閫夐」鍗�'
+    }, {
+      value: 'date',
+      text: Formdict['model.form.dateday']
+    }, {
+      value: 'dateweek',
+      text: Formdict['model.form.dateweek']
+    }, {
+      value: 'datemonth',
+      text: Formdict['model.form.datemonth']
+    }, {
+      value: 'daterange',
+      text: Formdict['model.form.daterange']
+    }, {
+      value: 'group',
+      text: Formdict['model.form.dategroup']
+    }]
+  }
+
+  if (card.focus) {
+    if (['text', 'multiselect'].includes(card.type)) {
+      card.match = 'like'
+    } else if (['select', 'link', 'checkcard'].includes(card.type)) {
+      card.match = '='
+    } else if (card.type === 'date') {
+      card.match = '>='
+    } else if (['datemonth', 'dateweek', 'daterange', 'range'].includes(card.type)) {
+      card.match = 'between'
+    }
   }
 
   return [
@@ -322,34 +388,7 @@
       label: Formdict['model.form.type'],
       initVal: card.type,
       required: true,
-      options: [{
-        value: 'text',
-        text: Formdict['model.form.text']
-      }, {
-        value: 'select',
-        text: Formdict['model.form.select']
-      }, {
-        value: 'multiselect',
-        text: Formdict['model.form.multiselect']
-      }, {
-        value: 'link',
-        text: Formdict['model.form.link']
-      }, {
-        value: 'date',
-        text: Formdict['model.form.dateday']
-      }, {
-        value: 'dateweek',
-        text: Formdict['model.form.dateweek']
-      }, {
-        value: 'datemonth',
-        text: Formdict['model.form.datemonth']
-      }, {
-        value: 'daterange',
-        text: Formdict['model.form.daterange']
-      }, {
-        value: 'group',
-        text: Formdict['model.form.dategroup']
-      }]
+      options: typeOptions
     },
     {
       type: 'text',
@@ -363,7 +402,7 @@
       type: 'text',
       key: 'initval',
       label: Formdict['header.form.initval'],
-      tooltip: '绫诲瀷涓轰笅鎷夎彍鍗曟椂锛屽垵濮嬪�煎簲涓烘暟鎹殑Value鍊硷紙浣跨敤鏁版嵁婧愭椂锛屽簲涓恒�婂�悸峰瓧娈点�嬬殑鍊硷級',
+      tooltip: '绫诲瀷涓轰笅鎷夎彍鍗曟椂锛屽垵濮嬪�煎簲涓烘暟鎹殑Value鍊硷紙浣跨敤鏁版嵁婧愭椂锛屽簲涓恒�婂�悸峰瓧娈点�嬬殑鍊硷級;绫诲瀷涓烘暟鍊硷紙鍖洪棿锛夋椂锛屽垵濮嬪�间娇鐢ㄩ�楀彿鎷兼帴锛屼緥濡� 3,10',
       initVal: card.initval,
       required: false
     },
@@ -395,6 +434,75 @@
       }]
     },
     {
+      type: 'radio',
+      key: 'display',
+      label: '鏄剧ず',
+      initVal: card.display || 'text',
+      required: true,
+      options: [{
+        value: 'text',
+        text: '鏂囨湰'
+      }, {
+        value: 'picture',
+        text: '鍥剧墖'
+      }]
+    },
+    {
+      type: 'number',
+      key: 'width',
+      min: 1,
+      max: 24,
+      precision: 0,
+      label: '鍏冪礌瀹藉害',
+      initVal: card.width || 4,
+      tooltip: '鏍呮牸甯冨眬锛屾瘡琛岀瓑鍒嗕负24鍒椼��',
+      required: true
+    },
+    {
+      type: 'text',
+      key: 'cardValField',
+      label: Formdict['header.form.valueField'],
+      initVal: card.cardValField || 'Value',
+      required: true,
+      readonly: false
+    },
+    {
+      type: 'text',
+      key: 'urlField',
+      label: '鍦板潃瀛楁',
+      initVal: card.urlField || '',
+      required: true,
+      readonly: false
+    },
+    {
+      type: 'radio',
+      key: 'picratio',
+      label: '鍥剧墖姣斾緥',
+      initVal: card.picratio || '1:1',
+      required: true,
+      options: [{
+        value: '1:1',
+        text: '1:1'
+      }, {
+        value: '3:2',
+        text: '3:2'
+      }, {
+        value: '4:3',
+        text: '4:3'
+      }, {
+        value: '16:9',
+        text: '16:9'
+      }]
+    },
+    {
+      type: 'fields',
+      key: 'fields',
+      label: '瀛楁闆�',
+      initVal: card.fields || [],
+      required: true,
+      readonly: false
+    },
+    {
       type: 'textarea',
       key: 'dataSource',
       label: Formdict['header.form.datasource'],
@@ -405,7 +513,7 @@
     {
       type: 'options',
       key: 'options',
-      label: '',
+      label: '閫夐」',
       initVal: card.options || [],
       required: true,
       readonly: false
@@ -526,8 +634,23 @@
       max: 24,
       label: Formdict['header.form.ratio'],
       tooltip: '鏍呮牸甯冨眬锛屾瘡琛岀瓑鍒嗕负24鍒椼��',
-      initVal: card.ratio,
+      initVal: card.ratio || 6,
+      forbid: appType === 'mob',
       required: false
+    },
+    {
+      type: 'radio',
+      key: 'multiple',
+      label: '鍙閫�',
+      initVal: card.multiple || 'false',
+      required: true,
+      options: [{
+        value: 'true',
+        text: '鏄�'
+      }, {
+        value: 'false',
+        text: '鍚�'
+      }]
     },
     {
       type: 'radio',
@@ -555,19 +678,44 @@
         text: Formdict['model.false']
       }]
     },
+    // {
+    //   type: 'radio',
+    //   key: 'transfer',
+    //   label: '浼犻��',
+    //   initVal: card.transfer || 'false',
+    //   tooltip: '鏁版嵁鏌ヨ鏃讹紝绫诲瀷瀛楁鏄惁浣滀负鍙傛暟浼犻�掞紝绫诲瀷瀛楁瀵瑰簲鍊间负 {"鏃�": "day", "鍛�": "week", "鏈�": "month", "瀛�": "quarter", "骞�": "year", "鑷畾涔�": "customized"}銆�',
+    //   options: [{
+    //     value: 'true',
+    //     text: Formdict['model.true']
+    //   }, {
+    //     value: 'false',
+    //     text: Formdict['model.false']
+    //   }]
+    // },
     {
-      type: 'radio',
-      key: 'transfer',
-      label: '浼犻��',
-      initVal: card.transfer || 'false',
-      tooltip: '鏁版嵁鏌ヨ鏃讹紝绫诲瀷瀛楁鏄惁浣滀负鍙傛暟浼犻�掞紝绫诲瀷瀛楁瀵瑰簲鍊间负 {"鏃�": "day", "鍛�": "week", "鏈�": "month", "瀛�": "quarter", "骞�": "year", "鑷畾涔�": "customized"}銆�',
-      options: [{
-        value: 'true',
-        text: Formdict['model.true']
-      }, {
-        value: 'false',
-        text: Formdict['model.false']
-      }]
+      type: 'number',
+      key: 'maxValue',
+      label: '鏈�澶у��',
+      initVal: card.maxValue,
+      forbid: appType !== 'mob',
+      required: true
+    },
+    {
+      type: 'number',
+      key: 'minValue',
+      label: '鏈�灏忓��',
+      initVal: card.minValue,
+      forbid: appType !== 'mob',
+      required: true
+    },
+    {
+      type: 'number',
+      key: 'step',
+      label: '姝ラ暱',
+      initVal: card.step,
+      tooltip: '姝ラ暱鍙栧�煎繀椤诲ぇ浜� 0锛屽苟涓斿彲琚� (max - min) 鏁撮櫎',
+      forbid: appType !== 'mob',
+      required: true
     },
     {
       type: 'radio',
@@ -587,6 +735,7 @@
       key: 'advanced',
       label: '楂樼骇鎼滅储',
       initVal: card.advanced || 'false',
+      forbid: appType === 'mob',
       options: [{
         value: 'true',
         text: Formdict['model.true']
@@ -594,6 +743,36 @@
         value: 'false',
         text: Formdict['model.false']
       }]
+    },
+    {
+      type: 'radio',
+      key: 'inputType',
+      label: '杈撳叆鏍峰紡',
+      initVal: card.inputType || 'input',
+      required: false,
+      forbid: appType === null,
+      options: [{
+        value: 'input',
+        text: '杈撳叆妗�'
+      }, {
+        value: 'search',
+        text: '鎼滅储妗�'
+      }]
+    },
+    {
+      type: 'color',
+      key: 'backgroundColor',
+      label: '鑳屾櫙鑹�',
+      initVal: card.backgroundColor || '',
+      tooltip: '璁剧疆鑳屾櫙鑹插悗锛岄�変腑鏁堟灉鐢辫儗鏅鑹叉帶鍒躲��',
+      required: false
+    },
+    {
+      type: 'color',
+      key: 'borderColor',
+      label: '杈规棰滆壊',
+      initVal: card.borderColor || '',
+      required: false
     },
     {
       type: 'multiselect',
@@ -615,6 +794,8 @@
  * @param {*} type           鎸夐挳绫诲瀷锛岀敤浜庡尯鍒嗗彲閫夌殑鎵撳紑鏂瑰紡
  */
 export function getActionForm (card, functip, config, usefulFields, type, menulist = [], printTemps = []) {
+  let columns = (config.columns || []).filter(col => col.field)
+
   let opentypes = [
     {
       value: 'pop',
@@ -1125,6 +1306,23 @@
         value: 'false',
         text: '闈炲繀濉�'
       }]
+    },
+    {
+      type: 'select',
+      key: 'controlField',
+      label: '鎺у埗瀛楁',
+      tooltip: '绂佺敤鎺у埗瀛楁锛屽彲鏍规嵁鏁版嵁鎺у埗鎸夐挳鏄惁绂佺敤銆�',
+      initVal: card.controlField || '',
+      required: false,
+      options: [{label: '鏃�', field: ''}, ...columns]
+    },
+    {
+      type: 'text',
+      key: 'controlVal',
+      label: '鎺у埗鍊�',
+      tooltip: '褰撻�夋嫨鎺у埗瀛楁锛屼笖瀛楁鍊间笌鎺у埗鍊肩浉绛夋椂锛屾寜閽細绂佺敤锛屽涓�肩敤閫楀彿鍒嗛殧銆�',
+      initVal: card.controlVal || '',
+      required: false
     }
   ]
 }
@@ -2156,7 +2354,7 @@
       min: 1,
       max: 24,
       precision: 0,
-      label: '鍗$墖瀹藉害',
+      label: '鍏冪礌瀹藉害',
       initVal: card.width || 4,
       tooltip: '鏍呮牸甯冨眬锛屾瘡琛岀瓑鍒嗕负24鍒椼��',
       required: true
@@ -2332,11 +2530,12 @@
     {
       type: 'number',
       key: 'maxRows',
-      min: 2,
+      min: 1,
       max: 100,
       precision: 0,
-      label: Formdict['header.form.maxRows'],
-      initVal: card.maxRows || 6,
+      label: appType === 'mob' ? '琛屾暟' : Formdict['header.form.maxRows'],
+      tooltip: appType === 'mob' ? '琛屾暟涓虹┖鏃讹紝楂樺害鑷�傚簲' : '',
+      initVal: card.maxRows || (appType === 'mob' ? '' : 6),
       required: false
     },
     {
@@ -2356,46 +2555,37 @@
       }, {
         value: 'letter&number',
         text: Formdict['header.form.letter&number']
+      }, {
+        value: 'phone',
+        text: '鎵嬫満鍙�'
       }]
     },
     {
       type: 'select',
       key: 'fileType',
       label: '鏄剧ず鏂瑰紡',
-      initVal: card.fileType || 'text',
+      initVal: card.fileType || (appType === 'mob' ? 'picture-card' : 'text'),
       options: [{
+        value: 'text',
+        text: '鏂囦欢'
+      }, {
         value: 'picture',
         text: '鍥炬枃淇℃伅'
       }, {
         value: 'picture-card',
         text: '鍥剧墖鍗�'
-      }, {
-        value: 'text',
-        text: '鏂囦欢'
       }]
     },
     {
       type: 'number',
       key: 'maxfile',
-      min: 1,
-      max: 1000000,
+      min: 0,
+      max: 1000,
       precision: 0,
       label: '鏈�澶ф枃浠舵暟',
       initVal: card.maxfile || '',
+      tooltip: '绛変簬0鏃朵笉鍋氶檺鍒躲��',
       required: false
-    },
-    {
-      type: 'radio',
-      key: 'hidelabel',
-      label: '闅愯棌鍚嶇О',
-      initVal: card.hidelabel || 'false',
-      options: [{
-        value: 'true',
-        text: Formdict['model.true']
-      }, {
-        value: 'false',
-        text: Formdict['model.false']
-      }]
     },
     {
       type: 'radio',
@@ -2469,11 +2659,14 @@
       label: '鎵爜',
       initVal: card.scan || 'false',
       options: [{
-        value: 'true',
-        text: '鍚敤'
-      }, {
         value: 'false',
-        text: '涓嶅惎鐢�'
+        text: '绂佺敤'
+      }, {
+        value: 'simple',
+        text: '鍗曟'
+      }, {
+        value: 'multi',
+        text: '杩炵画'
       }],
       forbid: appType !== 'mob'
     },
@@ -2507,6 +2700,48 @@
     },
     {
       type: 'radio',
+      key: 'hidelabel',
+      label: '闅愯棌鍚嶇О',
+      initVal: card.hidelabel || 'false',
+      options: [{
+        value: 'true',
+        text: Formdict['model.true']
+      }, {
+        value: 'false',
+        text: Formdict['model.false']
+      }]
+    },
+    {
+      type: 'radio',
+      key: 'arrange',
+      label: '鍏冪礌鎺掑垪',
+      initVal: card.arrange || 'adaptive',
+      forbid: appType !== 'mob',
+      options: [{
+        value: 'line',
+        text: '鏁磋'
+      }, {
+        value: 'adaptive',
+        text: '鑷�傚簲'
+      }]
+    },
+    {
+      type: 'color',
+      key: 'backgroundColor',
+      label: '鑳屾櫙鑹�',
+      initVal: card.backgroundColor || '',
+      tooltip: '璁剧疆鑳屾櫙鑹插悗锛岄�変腑鏁堟灉鐢辫儗鏅鑹叉帶鍒躲��',
+      required: false
+    },
+    {
+      type: 'color',
+      key: 'borderColor',
+      label: '杈规棰滆壊',
+      initVal: card.borderColor || '',
+      required: false
+    },
+    {
+      type: 'radio',
       key: 'declareType',
       label: '鏁版嵁绫诲瀷',
       tooltip: '澹版槑鍙橀噺鏃剁殑绫诲瀷锛屾椂闂存牸寮廳atetime鎴栨枃鏈牸寮弉varchar(50)銆�',
@@ -2518,6 +2753,20 @@
         value: 'nvarchar(50)',
         text: 'nvarchar(50)'
       }]
+    },
+    {
+      type: 'radio',
+      key: 'mode',
+      label: '妯″紡',
+      initVal: card.mode || 'picker',
+      options: [{
+        value: 'picker',
+        text: '閫夋嫨鍣�'
+      }, {
+        value: 'calendar',
+        text: '鏃ュ巻'
+      }],
+      forbid: appType !== 'mob'
     },
     {
       type: 'number',
@@ -2542,6 +2791,51 @@
       tooltip: '鍚嶇О鍗犳嵁琛ㄥ崟瀹藉害鐨勭櫨鍒嗘瘮銆傛敞锛氬瓨鍦ㄥ鍒楄〃鍗曟椂锛屽綋鍓嶈〃鍗曞鏋滄兂瑕佸崰鎹暣琛屽彲鍙傜収浠ヤ笅姣斾緥锛屼袱鍒楋紙16.2锛夈�佷笁鍒楋紙10.5锛夈�佸洓鍒楋紙7.7锛�',
       required: true,
       forbid: appType === 'mob'
+    },
+    {
+      type: 'radio',
+      key: 'compress',
+      label: '鍘嬬缉',
+      initVal: card.compress || 'false',
+      tooltip: '鏂囦欢鍘嬬缉蹇呴』涓哄浘鐗囷紝鍥剧墖鏍煎紡涓簀pg銆乸ng銆乬if 鎴� jpeg',
+      options: [{
+        value: 'true',
+        text: Formdict['model.true']
+      }, {
+        value: 'false',
+        text: Formdict['model.false']
+      }]
+    },
+    {
+      type: 'number',
+      key: 'limit',
+      min: 0.01,
+      max: 1000,
+      precision: 2,
+      label: '璧风偣锛圡锛�',
+      initVal: card.limit || 2,
+      tooltip: '鍘嬬缉璧风偣锛屽皬浜庤捣鐐瑰�肩殑鏂囦欢涓嶈繘琛屽帇缂┿��',
+      required: true
+    },
+    {
+      type: 'textarea',
+      key: 'rduri',
+      label: '杞瓨鎺ュ彛',
+      rows: 1,
+      initVal: card.rduri || '',
+      tooltip: '鍥剧墖杞瓨鍦ㄥ悓涓�鍗曠偣鏈嶅姟鍣ㄤ笅鐨勫叾浠栦笟鍔$郴缁熴��',
+      required: false,
+      readonly: false
+    },
+    {
+      type: 'textarea',
+      key: 'proRduri',
+      label: '姝e紡鎺ュ彛',
+      rows: 1,
+      initVal: card.proRduri || '',
+      tooltip: '姝e紡绯荤粺杞瓨鎺ュ彛锛屽浘鐗囪浆瀛樺湪鍚屼竴鍗曠偣鏈嶅姟鍣ㄤ笅鐨勫叾浠栦笟鍔$郴缁熴��',
+      required: false,
+      readonly: false
     },
     {
       type: 'text',
@@ -2580,6 +2874,35 @@
       }]
     },
     {
+      type: 'radio',
+      key: 'splitline',
+      label: '鍒嗗壊绾�',
+      initVal: card.splitline || 'true',
+      forbid: appType !== 'mob',
+      options: [{
+        value: 'true',
+        text: '鏄剧ず'
+      }, {
+        value: 'false',
+        text: '闅愯棌'
+      }]
+    },
+    {
+      type: 'radio',
+      key: 'count',
+      label: '璁℃暟鍔熻兘',
+      initVal: card.count || 'false',
+      tooltip: '鏄剧ず杈撳叆鐨勫瓧绗︽暟锛岃缃鏁版椂鐢熸晥锛屾敞锛氬姞瀵嗕紶杈撴椂鏈�澶у�间笌瀛楁闀垮害涓嶇瓑銆�',
+      options: [{
+        value: 'true',
+        text: '寮�鍚�'
+      }, {
+        value: 'false',
+        text: '鍏抽棴'
+      }],
+      forbid: appType !== 'mob'
+    },
+    {
       type: 'select',
       key: 'supField',
       label: '涓婄骇琛ㄥ崟',
@@ -2593,7 +2916,7 @@
       type: 'text',
       key: 'supvalue',
       label: '鏄剧ず鍊�',
-      tooltip: '璇峰~鍐欐樉绀哄�硷紝鍙湁涓婄骇琛ㄥ崟鍊间笌鏄剧ず鍊肩浉鍚屾椂锛岃琛ㄥ崟鎵嶄細鏄剧ず锛屾敞锛氬涓�肩敤閫楀彿鍒嗛殧銆�',
+      tooltip: '璇峰~鍐欐樉绀哄�硷紝鍙湁涓婄骇琛ㄥ崟鍊间笌鏄剧ず鍊肩浉鍚屾椂锛岃琛ㄥ崟鎵嶄細鏄剧ず锛屾敞锛�1銆佸涓�肩敤閫楀彿鍒嗛殧锛�2銆佷笂绾ц〃鍗曞垵濮嬪�间负$first鏃舵殏鏈鐞嗐��',
       initVal: card.supvalue || '',
       required: true,
       readonly: false
@@ -2618,6 +2941,14 @@
     },
     {
       type: 'text',
+      key: 'placeholder',
+      label: '鎻愮ず淇℃伅',
+      tooltip: '瀛楁棰勬湡鍊肩殑鎻愮ず淇℃伅銆�',
+      initVal: card.placeholder || '',
+      required: false
+    },
+    {
+      type: 'text',
       key: 'emptyText',
       label: '绌哄�兼枃鏈�',
       tooltip: '绌哄�肩殑鎻愮ず鏂囨湰锛岄�夋嫨璁剧疆绌哄�兼椂鏈夋晥锛岄粯璁ゅ�间负銆婄┖銆嬨��',

--
Gitblit v1.8.0