From 0eb129a9beddbb86ae74d7106a8e60823206b8d5 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 14 十二月 2023 11:29:15 +0800
Subject: [PATCH] 2023-12-14

---
 src/templates/zshare/verifycard/index.jsx |   87 ++++++++++++++++++++++++++++++++-----------
 1 files changed, 64 insertions(+), 23 deletions(-)

diff --git a/src/templates/zshare/verifycard/index.jsx b/src/templates/zshare/verifycard/index.jsx
index df7c6dc..00076a1 100644
--- a/src/templates/zshare/verifycard/index.jsx
+++ b/src/templates/zshare/verifycard/index.jsx
@@ -42,7 +42,7 @@
     activeKey: 'base',
     appType: sessionStorage.getItem('appType'),
     notes: [],              // 鐭俊妯℃澘
-    setting: null,
+    emailCodes: [],         // 閭妯℃澘
     verify: {},
     fields: [],
     usefulfields: '',
@@ -540,15 +540,31 @@
     const { appType } = this.state
     let _verify = fromJS(card.verify || {}).toJS()
 
-    let _invalid = _verify.invalid
+    let _invalid = _verify.invalid || 'true'
 
-    if (!_invalid) { // 閫夋嫨琛屾椂锛屽け鏁堥獙璇侀粯璁ゅ紑鍚�
-      if (config.setting && config.setting.maxScript && config.setting.maxScript >= 300) {
-        _invalid = 'false'
-      } else {
-        _invalid = card.Ot !== 'notRequired' ? 'true' : 'false'
-      }
+    _verify.limitInvalid = false
+    if (config.wrap && config.wrap.datatype === 'public') {
+      _verify.limitInvalid = true
+      _verify.limitText = '鍏叡鏁版嵁婧愶紝涓嶅彲浣跨敤澶辨晥楠岃瘉'
+      _invalid = 'false'
+    } else if (config.wrap && config.wrap.datatype === 'static') {
+      _verify.limitInvalid = true
+      _verify.limitText = '闈欐�佹暟鎹簮锛屼笉鍙娇鐢ㄥけ鏁堥獙璇�'
+      _invalid = 'false'
+    } else if (config.setting && config.setting.maxScript && config.setting.maxScript >= 300) {
+      _verify.limitInvalid = true
+      _verify.limitText = '鏁版嵁婧愪腑鑷畾涔夎剼鏈繃浜庡鏉傦紝涓嶈兘浣跨敤澶辨晥楠岃瘉锛�'
+      _invalid = 'false'
+    } else if (card.sqlType === 'insert') {
+      _verify.limitInvalid = true
+      _verify.limitText = '鎸夐挳鎿嶄綔绫诲瀷涓恒�婃坊鍔犮�嬫椂锛屼笉鑳戒娇鐢ㄥけ鏁堥獙璇侊紒'
+      _invalid = 'false'
+    } else if (card.Ot === 'notRequired') {
+      _verify.limitInvalid = true
+      _verify.limitText = '鎸夐挳銆婁笉閫夋嫨琛屻�嬫椂锛屼笉鑳戒娇鐢ㄥけ鏁堥獙璇侊紒'
+      _invalid = 'false'
     }
+    
     if (card.sqlType === 'custom') { // 鑷畾涔夐獙璇佹椂锛屼笉浣跨敤榛樿sql
       _verify.default = 'false'
     }
@@ -556,9 +572,9 @@
     _verify.default = _verify.default || 'true'
     _verify.wxNote = _verify.wxNote || 'false'           // 鍏紬鍙锋秷鎭帹閫佹槸鍚﹀紑鍚�
     _verify.noteEnable = _verify.noteEnable || 'false'   // 鐭俊鍙戦�佹槸鍚﹀紑鍚�
+    _verify.emailEnable = _verify.emailEnable || 'false' // 閭欢鍙戦�佹槸鍚﹀紑鍚�
     _verify.printEnable = _verify.printEnable || 'false' // 鍗曟嵁鎵撳嵃鏄惁寮�鍚�
-    _verify.noteType = _verify.noteType || 'N'           // 鐭俊鍙戦�佹ā寮忥細Y锛堝疄鏃讹級銆丯锛堝畾鏃讹級
-    _verify.noteTemp = _verify.noteTemp || 'Y'           // 鐭俊鍙戦�佹ā鏉匡細Y锛堢浉鍚岋級銆丯锛堜笉鍚岋級
+    _verify.preHandle = _verify.preHandle || 'false'     // 鎸夐挳棰勫鐞嗘槸鍚﹀紑鍚�
     _verify.invalid = _invalid
     _verify.uniques = _verify.uniques || []
     _verify.contrasts = _verify.contrasts || []
@@ -621,7 +637,6 @@
     this.setState({
       activeKey: activeKey,
       verifyInter: verifyInter,
-      setting: config.setting || {},
       verify: _verify,
       oriVerify: fromJS(_verify).toJS()
     })
@@ -1046,7 +1061,12 @@
       {
         obj_name: 'noteCodes',
         arr_field: 'templatecode,describe,id',
-        LText: window.btoa(window.encodeURIComponent(`select t.id,templatecode,'['+SignName+']'+describe as describe from (select * from bd_msn_sms_temp where  deleted=0 and TypeDesc='QX' and status=20 ) t inner join (select openid from susers where uid=@userid@) u on t.openid =t.openid`))
+        LText: window.btoa(window.encodeURIComponent(`select t.id,templatecode,'['+SignName+']'+describe as describe from (select * from bd_msn_sms_temp where  deleted=0 and TypeDesc='QX' and status=20 ) t inner join (select openid from susers where uid=@userid@) u on t.openid =u.openid`))
+      },
+      {
+        obj_name: 'emailCodes',
+        arr_field: 'msn_email_temp_no,remark,id',
+        LText: window.btoa(window.encodeURIComponent(`select t.id,t.msn_email_temp_no,t.remark from (select * from bd_msn_email_temp where deleted=0) t inner join (select openid from susers where uid=@userid@) u on t.openid=u.openid`))
       },
       {
         obj_name: 'scripts',
@@ -1087,6 +1107,13 @@
             return {
               name: item.describe,
               value: item.templatecode,
+              id: item.id
+            }
+          }),
+          emailCodes: res.emailCodes.map(item => {
+            return {
+              name: item.remark,
+              value: item.msn_email_temp_no,
               id: item.id
             }
           }),
@@ -1424,7 +1451,7 @@
 
   handleConfirm = () => {
     const { card } = this.props
-    const { setting, activeKey } = this.state
+    const { activeKey } = this.state
     let verify = fromJS(this.state.verify).toJS()
 
     if (activeKey === 'base') {
@@ -1446,13 +1473,6 @@
         notification.warning({
           top: 92,
           message: '涓嶆墽琛岄粯璁ql鏃讹紝蹇呴』璁剧疆鑷畾涔夎剼鏈紒',
-          duration: 5
-        })
-        return
-      } else if (verify.invalid === 'true' && setting.maxScript && setting.maxScript >= 300) {
-        notification.warning({
-          top: 92,
-          message: '鏁版嵁婧愪腑鑷畾涔夎剼鏈繃浜庡鏉傦紝涓嶈兘浣跨敤澶辨晥楠岃瘉锛�',
           duration: 5
         })
         return
@@ -1485,6 +1505,9 @@
           })
         })
       }
+
+      delete verify.limitInvalid
+      delete verify.limitText
 
       if (msg) {
         confirm({
@@ -1549,7 +1572,7 @@
 
   render() {
     const { card, columns } = this.props
-    const { activeKey, verifyInter, setting, verify, fields, uniqueFields, uniqueColumns, unionFields, onceUniqueColumns, columnsFields, contrastColumns, customColumns, orderColumns, scriptsColumns, cbScriptsColumns, orderModular, orderModularDetail, voucher, voucherDetail, notes, appType } = this.state
+    const { activeKey, verifyInter, verify, fields, uniqueFields, uniqueColumns, unionFields, onceUniqueColumns, columnsFields, contrastColumns, customColumns, orderColumns, scriptsColumns, cbScriptsColumns, orderModular, orderModularDetail, voucher, voucherDetail, notes, emailCodes, appType } = this.state
     const formItemLayout = {
       labelCol: {
         xs: { span: 24 },
@@ -1571,7 +1594,7 @@
               {verify.default === 'false' ? <span className="count-tip"><ExclamationOutlined style={{color: 'orange'}}/></span> : null}
             </span>
           } key="base">
-            <BaseForm card={card} appType={appType} columns={columns} unionFields={unionFields} setting={setting} verify={verify} notes={notes} onChange={(verify) => this.setState({verify})} wrappedComponentRef={(inst) => this.baseForm = inst}/>
+            <BaseForm card={card} appType={appType} columns={columns} unionFields={unionFields} verify={verify} notes={notes} emailCodes={emailCodes} onChange={(verify) => this.setState({verify})} wrappedComponentRef={(inst) => this.baseForm = inst}/>
           </TabPane> : null}
           {verifyInter === 'system' ? <TabPane tab={
             <span>
@@ -1650,7 +1673,7 @@
             </span>
           } key="scripts" id="mk-normal-script">
             <FullScripts
-              verify={verify}
+              scripts={verify.scripts}
               getScriptsFullForm={() => this.scriptsFullForm}
               getScriptsForm={() => this.scriptsForm}
               handleStatus={this.handleStatus}
@@ -1688,6 +1711,24 @@
               {verify.cbScripts.length ? <span className="count-tip">{verify.cbScripts.length}</span> : null}
             </span>
           } key="cbScripts" id="mk-callback-script">
+            <FullScripts
+              scripts={verify.cbScripts}
+              getScriptsFullForm={() => this.cbscriptsFullForm}
+              getScriptsForm={() => this.cbscriptsForm}
+              handleStatus={(item) => this.handleStatus(item, 'cbscripts')}
+              handleDelete={(item) => this.handleDelete(item, 'cbscripts')}
+            >
+              <CallBackCustomScript
+                type="fullscreen"
+                btn={this.props.card}
+                initsql={this.state.initsql}
+                customScripts={verify.cbScripts}
+                usefulfields={this.state.usefulfields}
+                systemScripts={this.state.systemScripts}
+                scriptsChange={this.cbScriptsChange}
+                wrappedComponentRef={(inst) => this.cbscriptsFullForm = inst}
+              />
+            </FullScripts>
             <CallBackCustomScript
               btn={this.props.card}
               initsql={this.state.initsql}

--
Gitblit v1.8.0