import { inject, observer, } from 'mobx-react'; import { Row, Col, Spin, Modal, Button, message, } from 'antd' import { WeaTop, WeaTab, WeaTools, WeaDialog, WeaFormItem, WeaRightMenu, WeaSearchGroup, WeaLocaleProvider, WeaAlertPage, } from 'ecCom' import React from 'react' import * as mobx from 'mobx' import { WeaSwitch } from 'comsMobx'; import { WeaTableNew } from 'comsMobx'; import { i18n } from '../../public/i18n'; import {addContentPath} from '../../util/index.js' import * as PublicFunc from '../../util/pulic-func'; import '../../style/systemCard.css'; const WeaTable = WeaTableNew.WeaTable; const getLabel = WeaLocaleProvider.getLabel; const confirm = Modal.confirm; @inject('hrmSystemCard') @observer class SystemCard extends React.Component { constructor(props) { super(props); } componentDidMount() { this.init(); } init() { const { hrmSystemCard, id, } = this.props; const { getHasRight, } = hrmSystemCard; getHasRight(id); } getViewCards() { const { hrmSystemCard } = this.props; const { headerColumns } = hrmSystemCard; let arr = []; for (let i = 0; i < headerColumns.length; i++) { arr.push(
{headerColumns[i].label}
{headerColumns[i].num}
); } arr.push(
); return
{arr}
; } getPanelComponent() { const { hrmSystemCard } = this.props; const { condition1, form1 } = hrmSystemCard; const { isFormInit } = form1; let condition = condition1; let form = form1; let formParams = form1.getFormParams(); let arr = []; isFormInit && condition.map(c => { c.items.slice(0, 2).map((field, j) => { arr.push( ); }) }) return
( e.keyCode == 13 && e.target.tagName === "INPUT") && hrmSystemCard.getTableInfo()} >{arr}
} handleSearch() { const { hrmSystemCard } = this.props; hrmSystemCard.getTableInfo(); hrmSystemCard.hideSearchAd(); // hrmSystemCard.getHeaderColumn(); } handleChange = (data) => { const { hrmSystemCard:{handleCondition,form2} } = this.props; if (data.userUsbType) { handleCondition() form2.updateFields({ usbstate:'0' }) } } getSecSettingForm() { const { hrmSystemCard } = this.props; const { condition2, form2, isSecSetting } = hrmSystemCard; const { isFormInit } = form2; let condition = condition2; let form = form2; let formParams = form2.getFormParams(); let arr = []; let userUsbType; let usbstate; let needauto; if (formParams.userUsbType) userUsbType = formParams.userUsbType; if (formParams.usbstate) usbstate = formParams.usbstate; if (formParams.needauto) needauto = formParams.needauto; isFormInit && condition.map((c, j) => { let items = c.items; for (let i = 0; i < items.length; i++) { let field = items[i]; let domkey = (field.domkey)[0]; if (userUsbType == '6' && !['userUsbType','usbstate'].includes(domkey)) { continue; } if(userUsbType === '7' && ['needauto', 'enableDate', 'enableUsbType', 'mobile', 'tokenKey', 'serial'].includes(domkey)) continue; if(userUsbType == '901' &&usbstate=='0' && ['enableDate'].includes(domkey)) continue; if (userUsbType == '901' && [ 'enableUsbType', 'mobile', 'tokenKey', 'serial'].includes(domkey)) continue; if ((!userUsbType || userUsbType == '-1') && domkey !== 'userUsbType') continue; if (userUsbType == '4' && (!usbstate || usbstate == '0' || usbstate == '2') && (domkey == 'tokenKey' || domkey == 'serial' || domkey == 'needauto' || domkey == 'enableDate' || domkey == 'enableUsbType')) continue; if (userUsbType == '4' && usbstate == '1' && (!needauto || needauto == '0') && (domkey == 'tokenKey' || domkey == 'serial' || domkey == 'enableDate' || domkey == 'enableUsbType')) continue; if (userUsbType == '4' && usbstate == '1' && needauto == '1' && (domkey == 'tokenKey' || domkey == 'serial')) continue; if (userUsbType == '2' && (!usbstate || usbstate == '0' || usbstate == '2') && (domkey == 'tokenKey' || domkey == 'mobile' || domkey == 'needauto' || domkey == 'enableDate' || domkey == 'enableUsbType')) continue; if (userUsbType == '2' && usbstate == '1' && (!needauto || needauto == '0') && (domkey == 'tokenKey' || domkey == 'mobile' || domkey == 'enableDate' || domkey == 'enableUsbType')) continue; if (userUsbType == '2' && usbstate == '1' && needauto == '1' && (domkey == 'tokenKey' || domkey == 'mobile')) continue; if (userUsbType == '3' && (!usbstate || usbstate == '0' || usbstate == '2') && (domkey == 'serial' || domkey == 'mobile' || domkey == 'needauto' || domkey == 'enableDate' || domkey == 'enableUsbType')) continue; if (userUsbType == '3' && usbstate == '1' && (!needauto || needauto == '0') && (domkey == 'serial' || domkey == 'mobile' || domkey == 'enableDate' || domkey == 'enableUsbType')) continue; if (userUsbType == '3' && usbstate == '1' && needauto == '1' && (domkey == 'serial' || domkey == 'mobile')) continue; if (userUsbType == '901' && usbstate == '0' &&domkey == 'needauto' ) continue; if ( userUsbType == '901'&&needauto=='0'&&domkey=='enableDate' ) continue; if ((domkey == 'tokenKey' || domkey == 'serial' || domkey == 'mobile') && field.viewAttr !== 3) field.viewAttr = 3; let dom; if (domkey == 'serial') { dom = this.getInputAndBtn(field, form, formParams); } else if (domkey == 'tokenKey') { dom = this.getInputAndBtn(field, form, formParams); }else if(domkey == 'usbstate'||domkey == 'enableUsbType'){ let options = field.options; if(formParams.userUsbType=='901'){ options = options.filter(d => d.key !== '2') } dom = ; } else{ dom = ; } arr.push(
{dom} {isSecSetting ? '' :(domkey == 'userUsbType' &&

{i18n.message.noAvailableCheckoutMethod()},{i18n.button.clickSetting()}

) }
); } }) //将二次验证密码push到队列中 const { isSecondaryVerifyUsed, isSecondaryVerifySetted, saveSecondaryPasswordSetting, } = hrmSystemCard; arr.push(
{isSecondaryVerifySetted ? getLabel('514132',"已设置") : i18n.label['514133']()} { isSecondaryVerifySetted && }
) return
{arr}
} showConfirm = () => { const { hrmSystemCard } = this.props, { saveSecondaryPasswordSetting } = hrmSystemCard; confirm({ title: getLabel(131329, '信息确认'), content: (
{getLabel('528277',"确定要停用该管理员的二次验证密码吗?")}
{getLabel('528278',"为确保账户安全,请及时重设密码!")}
), okText: getLabel(33703, '确定'), cancelText: getLabel(32694, '取消'), onOk() { saveSecondaryPasswordSetting(false); }, onCancel() { return false }, }); } getInputAndBtn(field, form, formParams) { return (
) } secSettingFormVerify() { const { hrmSystemCard } = this.props; const { form2, isSecSetting } = hrmSystemCard; const userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 const isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器 const isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器 let params = form2.getFormParams(); let userUsbType = params.userUsbType; let usbstate = params.usbstate; let mobile = params.mobile; let tokenKey = params.tokenKey; let serial = params.serial; if (!isSecSetting) { message.warning(i18n.message.noAvailableCheckMode()); return false; } if (!userUsbType || userUsbType == '-1') { // message.warning('请选择辅助校验方式!'); // return false; hrmSystemCard.save(); return } if (userUsbType == '4' && !mobile) { message.warning(i18n.message.fillTelphoneNum()); return false; } if (userUsbType == '4' && mobile && mobile.length !== 11) { message.warning(i18n.message.fillAvailableTelphoneNum()); return false; } if (userUsbType == '2' && !isIE) { message.warning(i18n.message.htKey()); return false; } if (userUsbType == '2' && isIE && !serial) { message.warning(i18n.message.fillUserKey()); return false; } if (userUsbType == '3' && !tokenKey) { message.warning(i18n.message.bindToken()); return false; } if (userUsbType == '3' && tokenKey && (!this.isdigit(tokenKey) || tokenKey.length !== 10)) { message.warning(i18n.message.tokenNumLen()); return false; } this.isTokenKeyUsed({ tokenKey: tokenKey }); } isdigit(s) { var r, re; re = /\d*/i; //\d表示数字,*表示匹配多个数字 r = s.match(re); return (r == s) ? true : false; } //序列号是否被占用 isTokenKeyUsed(params) { const { hrmSystemCard } = this.props; const {userid} = hrmSystemCard params.userid = userid params.id = userid WeaTools.callApi('/api/hrm/sysadmin/checkIsUsed', 'POST', params).then((data) => { if (data.isUsed) { let msg = i18n.message.tokenBinded().replace('{params}', data.lastname); message.warning(msg); // message.warning('令牌序列号已经绑定给' + data.lastname + ',不能重复绑定!'); } else { hrmSystemCard.save(); } }) } //"用户密钥"和"令牌序列号"绑定 updateKey() { const { hrmSystemCard } = this.props; const { form2 } = hrmSystemCard; let needusb = (form2.getFormParams()).userUsbType; if (needusb == "2") { let returnstr = PublicFunc.getUserName() || ''; if (returnstr !== "") { hrmSystemCard.setLoginId(returnstr); } } else if (needusb == "3") { this.bindTokenKey(); } } bindTokenKey() { const title = ""; let url = "/spa/hrm/index_mobx.html#/main/hrm/BindTokenKey?requestFrom=system&userid=" + this.props.params.hrmId; const dialog = ecCom.WeaTools.createDialog({ title, url, style: { width: 600, height: 365 }, zIndex: 9999 }); dialog.show(); } setSecurity() { const { hrmSystemCard } = this.props; let hrmId = this.props.params.hrmId || ''; hrmSystemCard.hrmId = hrmId; let params = { id: hrmId }; hrmSystemCard.setDialogShow(); hrmSystemCard.getSecSettingCondition(params); } render() { const { hrmSystemCard } = this.props; const { tabKey, headerColumns, tableStore, isPanelShow, isSecSettingShow, hrmId, hrmName, hasRight, loading, hasTable, } = hrmSystemCard; const { form1 } = hrmSystemCard; const btn1 = [ (), ] const btn2 = [ (), (), (), ]; const btn3 = [ (), ] const dropMenuDatas = [{ key: '0', content: i18n.label.securitySetting(), icon: }, { key: '1', content: i18n.button.save(), icon: }, ] const dropMenuDatas1 = dropMenuDatas.slice(0, 1); const dropMenuDatas2 = dropMenuDatas.slice(1, 2); dropMenuDatas1.push({ icon: , content: i18n.button.log(), key: 'showLog', onClick: key => { window.setLogViewProps({ logSmallType: i18n.smallType.HRM_RSOURCEMANAGER_SECURITYSETTING, }); } }) const tabName1 = [{ key: '0', title: i18n.label.all() }, { key: '1', title: i18n.label.today() }, { key: '2', title: i18n.label.tswk() }, { key: '3', title: i18n.label.tsmth() }, { key: '4', title: i18n.label.tssn() }, { key: '5', title: i18n.label.tsyr() }, ] const items = [{ com: ( ) }] if (loading) { return
} if (!hasRight) { return (
{getLabel(2012, '对不起,您暂时没有权限!')}
) } return (
(key === "0") && this.setSecurity()} collectParams={{favname: i18n.label.sysManager(),favouritetype:5}} > } iconBgcolor='#217346' loading={true} buttons={btn1} showDropIcon={true} dropMenuDatas={dropMenuDatas1} onDropMenuClick={() => this.setSecurity()} /> hrmSystemCard.setShowSearchAd(bool)} hideSearchAd={ () => hrmSystemCard.hideSearchAd() } searchsAd={
{form1.render()}
} advanceHeight={94} hasMask={false} buttonsAd={btn2} onSearch={() =>{ hrmSystemCard.getTableInfo() // hrmSystemCard.getHeaderColumn(); } } onChange={(key) =>{ console.log(key); hrmSystemCard.tabClick(key)}} onSearchChange={v => hrmSystemCard.updateFormFields(v, '1')} /> {this.getViewCards()} {hasTable && (
) }
{hrmSystemCard.hideDialog(); hrmSystemCard.reset()}} buttons={btn3} style={{width: '600px', height: '300px'}} > this.secSettingFormVerify()}> {this.getSecSettingForm()}
) } } export default SystemCard