From 137fb8ea6af2789b3238b22bac31d80bced41dfe Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期三, 28 七月 2021 11:39:39 +0800 Subject: [PATCH] 2021-07-28 --- src/tabviews/calendar/index.jsx | 69 ++++++++++++++++++++-------------- 1 files changed, 41 insertions(+), 28 deletions(-) diff --git a/src/tabviews/calendar/index.jsx b/src/tabviews/calendar/index.jsx index 6141c25..b8b7c2a 100644 --- a/src/tabviews/calendar/index.jsx +++ b/src/tabviews/calendar/index.jsx @@ -48,6 +48,7 @@ visible: false, // 鏍囩椤垫帶鍒� triggerTime: '', // 鐐瑰嚮鏃堕棿 calendarYear: moment().format('YYYY'), // 鏃ュ巻骞翠唤 + hasReqFields: false } /** @@ -119,22 +120,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 (['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 @@ -169,6 +165,27 @@ config.setting.dataresource = config.setting.dataresource.replace(/@\$|\$@/ig, '') _customScript = _customScript.replace(/@\$|\$@/ig, '') } + + 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') || '' + fullName = sessionStorage.getItem('CloudFullName') || '' + } + + let regs = [ + { reg: /@userName@/ig, value: `'${userName}'` }, + { reg: /@fullName@/ig, value: `'${fullName}'` }, + { reg: /@login_city@/ig, value: `'${city}'` } + ] + + regs.forEach(cell => { + config.setting.dataresource = config.setting.dataresource.replace(cell.reg, cell.value) + _customScript = _customScript.replace(cell.reg, cell.value) + }) + if (config.urlFields) { let _param = param || {} config.urlFields.forEach(field => { @@ -183,6 +200,7 @@ } this.setState({ + hasReqFields, BID: param && param.$BID ? param.$BID : '', loadingview: false, config: config, @@ -190,9 +208,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() } }) @@ -213,20 +231,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) { - let labels = requireFields.map(item => item.label) - labels = Array.from(new Set(labels)) - - notification.warning({ - top: 92, - message: this.state.dict['form.required.input'] + labels.join('銆�') + ' !', - duration: 3 - }) - return + if (hasReqFields) { + let requireFields = search.filter(item => item.required && item.value === '') + + if (requireFields.length > 0) { + return + } } this.setState({ @@ -523,13 +536,13 @@ render() { const { menuType } = this.props - const { BID, searchlist, loadingview, viewlost, config, loading, data, triggerTime } = this.state + 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} menuType={menuType} refreshdata={this.refreshbysearch}/> : null + <MainSearch BID={BID} searchlist={searchlist} setting={setting} menuType={menuType} 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} -- Gitblit v1.8.0