From 9c6795fd3c44e46cf3955fbfd8f8eeca23acb7a9 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期六, 08 十月 2022 00:31:51 +0800
Subject: [PATCH] 2022-10-08

---
 src/tabviews/calendar/index.jsx |   98 ++++++++++++++++++++++--------------------------
 1 files changed, 45 insertions(+), 53 deletions(-)

diff --git a/src/tabviews/calendar/index.jsx b/src/tabviews/calendar/index.jsx
index c1f446a..cd7b465 100644
--- a/src/tabviews/calendar/index.jsx
+++ b/src/tabviews/calendar/index.jsx
@@ -1,6 +1,5 @@
 import React, {Component} from 'react'
 import PropTypes from 'prop-types'
-import {connect} from 'react-redux'
 import { is, fromJS } from 'immutable'
 import { notification, Spin, Modal, Button } from 'antd'
 import moment from 'moment'
@@ -22,7 +21,7 @@
 const SubTabTable = asyncSpinComponent(() => import('@/tabviews/subtabtable'))
 const PagemsgComponent = asyncComponent(() => import('@/tabviews/zshare/pageMessage'))
 
-class NormalTable extends Component {
+class MkCalendar extends Component {
   static propTpyes = {
     param: PropTypes.any,        // 鍏朵粬椤甸潰浼犻�掔殑鍙傛暟
     MenuID: PropTypes.string,    // 鑿滃崟Id
@@ -40,7 +39,7 @@
     config: {},           // 椤甸潰閰嶇疆淇℃伅锛屽寘鎷寜閽�佹悳绱€�佹樉绀哄垪銆佹爣绛剧瓑
     userConfig: null,     // 鐢ㄦ埛鑷畾涔夎缃�
     searchlist: null,     // 鎼滅储鏉′欢
-    arr_field: '',        // 浣跨敤 sPC_Get_TableData 鏃剁殑鏌ヨ瀛楁闆�
+    arr_field: '',        // 鏌ヨ瀛楁闆�
     setting: null,        // 椤甸潰鍏ㄥ眬璁剧疆锛氭暟鎹簮銆佹寜閽強鏄剧ず鍒楀浐瀹氥�佷富閿瓑
     data: null,           // 鍒楄〃鏁版嵁闆�
     loading: false,       // 鍒楄〃鏁版嵁鍔犺浇涓�
@@ -48,13 +47,14 @@
     visible: false,       // 鏍囩椤垫帶鍒�
     triggerTime: '',      // 鐐瑰嚮鏃堕棿
     calendarYear: moment().format('YYYY'), // 鏃ュ巻骞翠唤
+    hasReqFields: false
   }
 
   /**
    * @description 鑾峰彇椤甸潰閰嶇疆淇℃伅
    */
   async loadconfig () {
-    const { permAction, param } = this.props
+    const { param } = this.props
 
     let _param = {
       func: 'sPC_Get_LongParam',
@@ -75,7 +75,7 @@
       }
       
       // HS涓嶄娇鐢ㄨ嚜瀹氫箟璁剧疆
-      if (result.LongParamUser && this.props.menuType !== 'HS') {
+      if (result.LongParamUser && !window.GLOB.mkHS) {
         try { // 閰嶇疆淇℃伅瑙f瀽
           userConfig = JSON.parse(window.decodeURIComponent(window.atob(result.LongParamUser)))
           _curUserConfig = userConfig[this.props.MenuID]
@@ -105,8 +105,8 @@
       }
 
       // 鏉冮檺杩囨护
-      if (this.props.menuType !== 'HS') {
-        if (config.tab && !permAction[config.tab.linkTab]) {
+      if (!window.GLOB.mkHS) {
+        if (config.tab && !window.GLOB.mkActions[config.tab.linkTab]) {
           config.tab = null
         }
       }
@@ -119,22 +119,17 @@
         config.easyCode = _curUserConfig.easyCode || config.easyCode || ''
       }
 
-      // 瀛楁鏉冮檺榛戝悕鍗曘�佸繀濉�佸瓧娈甸�忚
-      let valid = true
-      let roleId = sessionStorage.getItem('role_id') || ''
+      config.search = Utils.initSearchVal(config.search)
+
+      // 瀛楁閫忚
+      let hasReqFields = false
       config.search = config.search.map(item => {
-        item.oriInitval = item.initval
-        if (['text', 'select', 'link'].includes(item.type) && param && param.$searchkey === item.field) {
+        if (param && ['text', 'select', 'link'].includes(item.type) && param.$searchkey === item.field) {
           item.initval = param.$searchval
         }
 
-        if (item.required === 'true' && !item.initval) {
-          valid = false
-        }
-
-        if (!item.blacklist || item.blacklist.length === 0) return item
-        if (item.blacklist.filter(v => roleId.indexOf(v) > -1).length > 0) {
-          item.Hide = 'true'
+        if (item.required) {
+          hasReqFields = true
         }
 
         return item
@@ -172,7 +167,6 @@
 
         let userName = sessionStorage.getItem('User_Name') || ''
         let fullName = sessionStorage.getItem('Full_Name') || ''
-        let city = sessionStorage.getItem('city') || ''
 
         if (sessionStorage.getItem('isEditState') === 'true') {
           userName = sessionStorage.getItem('CloudUserName') || ''
@@ -181,8 +175,7 @@
 
         let regs = [
           { reg: /@userName@/ig, value: `'${userName}'` },
-          { reg: /@fullName@/ig, value: `'${fullName}'` },
-          { reg: /@login_city@/ig, value: `'${city}'` }
+          { reg: /@fullName@/ig, value: `'${fullName}'` }
         ]
 
         regs.forEach(cell => {
@@ -204,6 +197,7 @@
       }
 
       this.setState({
+        hasReqFields,
         BID: param && param.$BID ? param.$BID : '',
         loadingview: false,
         config: config,
@@ -211,9 +205,9 @@
         setting: config.setting,
         searchlist: config.search,
         arr_field: config.columns.map(item => item.field).join(','),
-        search: Utils.initMainSearch(config.search) // 鎼滅储鏉′欢鍒濆鍖栵紙鍚湁鏃堕棿鏍煎紡锛岄渶瑕佽浆鍖栵級
+        search: Utils.initMainSearch(config.search)
       }, () => {
-        if (config.setting.onload !== 'false' && valid) { // 鍒濆鍖栧彲鍔犺浇
+        if (config.setting.onload !== 'false') {
           this.loadmaindata()
         }
       })
@@ -234,12 +228,15 @@
    * @description 涓昏〃鏁版嵁鍔犺浇
    */ 
   async loadmaindata () {
-    const { setting, search, BID } = this.state
+    const { setting, search, BID, hasReqFields } = this.state
     let param = ''
-    let requireFields = search.filter(item => item.required && (!item.value || item.value.length === 0))
 
-    if (requireFields.length > 0) {
-      return
+    if (hasReqFields) {
+      let requireFields = search.filter(item => item.required && item.value === '')
+  
+      if (requireFields.length > 0) {
+        return
+      }
     }
 
     this.setState({
@@ -300,9 +297,11 @@
     if (setting.interType === 'inner') {
       param.func = setting.innerFunc
     } else {
-      if (this.props.menuType === 'HS') {
+      if (window.GLOB.mkHS) {
         if (setting.sysInterface === 'true' && options.cloudServiceApi) {
           param.rduri = options.cloudServiceApi
+          param.userid = sessionStorage.getItem('CloudUserID') || ''
+          param.LoginUID = sessionStorage.getItem('CloudLoginUID') || ''
         } else if (setting.sysInterface !== 'true') {
           param.rduri = setting.interface
         }
@@ -323,7 +322,7 @@
   }
 
   /**
-   * @description 鑾峰彇绯荤粺瀛樺偍杩囩▼ sPC_Get_TableData 鐨勫弬鏁�
+   * @description 鑾峰彇绯荤粺瀛樺偍杩囩▼鐨勫弬鏁�
    */
   getDefaultParam = () => {
     const { arr_field, search, setting, config, calendarYear } = this.state
@@ -344,7 +343,15 @@
     let regoptions = []
     let userName = sessionStorage.getItem('User_Name') || ''
     let fullName = sessionStorage.getItem('Full_Name') || ''
+    let RoleID = sessionStorage.getItem('role_id') || ''
+    let departmentcode = sessionStorage.getItem('departmentcode') || ''
+    let organization = sessionStorage.getItem('organization') || ''
+    let mk_user_type = sessionStorage.getItem('mk_user_type') || ''
+    let nation = sessionStorage.getItem('nation') || ''
+    let province = sessionStorage.getItem('province') || ''
     let city = sessionStorage.getItem('city') || ''
+    let district = sessionStorage.getItem('district') || ''
+    let address = sessionStorage.getItem('address') || ''
 
     if (sessionStorage.getItem('isEditState') === 'true') {
       userName = sessionStorage.getItem('CloudUserName') || ''
@@ -360,9 +367,6 @@
         }
       })
       regoptions.push({
-        reg: new RegExp('@login_city@', 'ig'),
-        value: city
-      }, {
         reg: new RegExp('@userName@', 'ig'),
         value: userName
       }, {
@@ -399,9 +403,9 @@
       regoptions.forEach(item => {
         param.custom_script = param.custom_script.replace(item.reg, item.value)
       })
-
-      param.custom_script = `declare @ErrorCode nvarchar(50),@retmsg nvarchar(4000),@UserName nvarchar(50),@FullName nvarchar(50),@login_city nvarchar(50)
-        Select @ErrorCode='',@retmsg ='',@UserName='${userName}', @FullName='${fullName}', @login_city='${city}'
+      
+      param.custom_script = `declare @ErrorCode nvarchar(50),@retmsg nvarchar(4000),@UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@mk_departmentcode nvarchar(512),@mk_organization nvarchar(512),@mk_user_type nvarchar(20),@mk_nation nvarchar(50),@mk_province nvarchar(50),@mk_city nvarchar(50),@mk_district nvarchar(50),@mk_address nvarchar(100)
+        Select @ErrorCode='',@retmsg ='',@UserName='${userName}', @FullName='${fullName}', @RoleID='${RoleID}', @mk_departmentcode='${departmentcode}', @mk_organization='${organization}', @mk_user_type='${mk_user_type}', @mk_nation='${nation}', @mk_province='${province}', @mk_city='${city}', @mk_district='${district}', @mk_address='${address}'
         ${param.custom_script}
       `
 
@@ -421,7 +425,7 @@
     }
 
     // 娴嬭瘯绯荤粺鎵撳嵃鏌ヨ璇彞
-    if ((options.sysType === 'local' && !window.GLOB.systemType) || window.debugger === true) {
+    if (window.GLOB.debugger === true || (window.debugger === true && options.sysType !== 'cloud')) {
       param.custom_script &&  console.info(`${LText ? '' : '/*涓嶆墽琛岄粯璁ql*/\n'}${param.custom_script}`)
       LText &&  console.info(LText)
     }
@@ -432,7 +436,7 @@
     param.secretkey = Utils.encrypt(param.LText, param.timestamp)
     param.DateCount = ''
 
-    if (this.props.menuType === 'HS') { // 浜戠鏁版嵁楠岃瘉
+    if (window.GLOB.mkHS) { // 浜戠鏁版嵁楠岃瘉
       param.open_key = Utils.encryptOpenKey(param.secretkey, param.timestamp)
     }
 
@@ -535,17 +539,16 @@
   }
 
   render() {
-    const { menuType } = this.props
     const { BID, setting, searchlist, loadingview, viewlost, config, loading, data, triggerTime } = this.state
 
     return (
       <div className="calendar-page" id={this.state.ContainerId}>
         {loadingview && <Spin size="large" />}
         {searchlist && searchlist.length > 0 ?
-          <MainSearch BID={BID} searchlist={searchlist} setting={setting} menuType={menuType} refreshdata={this.refreshbysearch}/> : null
+          <MainSearch BID={BID} searchlist={searchlist} setting={setting} refreshdata={this.refreshbysearch}/> : null
         }
         {config && config.calendar ? <CalendarComponent calendar={config.calendar} loading={loading} data={data} triggerDate={this.triggerDate} changeDate={this.changeDate}/> : null}
-        {menuType !== 'HS' ? <PagemsgComponent menu={{MenuName: this.props.MenuName, MenuNo: this.props.MenuNo}} config={config} dict={this.state.dict} /> : null}
+        {!window.GLOB.mkHS && window.GLOB.systemType !== 'production' ? <PagemsgComponent menu={{MenuName: this.props.MenuName, MenuNo: this.props.MenuNo}} config={config} dict={this.state.dict} /> : null}
         <Modal
           title={config.tab ? config.tab.label : ''}
           width={'80vw'}
@@ -570,15 +573,4 @@
   }
 }
 
-const mapStateToProps = (state) => {
-  return {
-    menuType: state.editLevel,
-    permAction: state.permAction
-  }
-}
-
-const mapDispatchToProps = () => {
-  return {}
-}
-
-export default connect(mapStateToProps, mapDispatchToProps)(NormalTable)
\ No newline at end of file
+export default MkCalendar
\ No newline at end of file

--
Gitblit v1.8.0