From 0f4c438bbfeecbc5acd6d8052845ffd80f9d7240 Mon Sep 17 00:00:00 2001
From: Chengliang <1546584672@qq.com>
Date: Tue, 5 Jul 2022 18:54:56 +0800
Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E5=BF=97=E6=93=8D=E4=BD=9C=E5=A2=9E?=
=?UTF-8?q?=E5=8A=A0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pc4mobx/organization/apis/logview.js | 12 ++
pc4mobx/organization/components/Home.js | 24 +--
.../components/NewAndEditDialog.js | 2 +-
.../organization/components/log/LogView.js | 167 ++++++++++++++++++
.../components/staff/StaffScheme.js | 5 +-
pc4mobx/organization/stores/fieldDefined.js | 2 +-
pc4mobx/organization/stores/index.js | 5 +-
pc4mobx/organization/stores/job.js | 14 +-
pc4mobx/organization/stores/jobgrade.js | 87 +++++----
pc4mobx/organization/stores/logview.js | 114 ++++++++++++
10 files changed, 372 insertions(+), 60 deletions(-)
create mode 100644 pc4mobx/organization/apis/logview.js
create mode 100644 pc4mobx/organization/components/log/LogView.js
create mode 100644 pc4mobx/organization/stores/logview.js
diff --git a/pc4mobx/organization/apis/logview.js b/pc4mobx/organization/apis/logview.js
new file mode 100644
index 0000000..887b841
--- /dev/null
+++ b/pc4mobx/organization/apis/logview.js
@@ -0,0 +1,12 @@
+
+import {
+ WeaTools
+} from 'ecCom'
+
+export const getLogList = (params) => {
+ return WeaTools.callApi('/api/bs/hrmorganization/hrmresource/listPage', 'GET', params);
+}
+
+export const getAdvanceSearchCondition = (params) => {
+ return WeaTools.callApi('/api/bs/hrmorganization/hrmresource/getSearchCondition', 'GET', params);
+}
\ No newline at end of file
diff --git a/pc4mobx/organization/components/Home.js b/pc4mobx/organization/components/Home.js
index 244ed50..86a3b3d 100644
--- a/pc4mobx/organization/components/Home.js
+++ b/pc4mobx/organization/components/Home.js
@@ -12,18 +12,20 @@ const WeaLogViewComp = WeaLogView.Component;
const {
LogStore
} = WeaLogView;
+import LogView from "./log/logView";
+
+import {LogViewStore} from "../stores/logview"
class Home extends React.Component {
constructor(props) {
super(props);
this.state = {
- key: new Date().getTime(),
+ keys: new Date().getTime(),
visible: false,
- logStore: new LogStore(),
- logType: '4',
- logSmallType: ''
+ logViewStore: new LogViewStore()
+
}
- window.setLogViewProps = this.setLogViewProps;
+ window.setLogViewProp = this.setLogViewProp;
}
componentDidMount(){
@@ -46,13 +48,10 @@ class Home extends React.Component {
});
}
- setLogViewProps = (props) => {
+ setLogViewProp = (props) => {
this.setState({
- key: new Date().getTime(),
- targetId: '',
visible: true,
- logType: '4',
- logStore: new LogStore(),
+ logViewStore: new LogViewStore(),
...props
});
}
@@ -61,15 +60,18 @@ class Home extends React.Component {
visible: false
})
}
+
render() {
//const isSingle = window.location.pathname.indexOf('/spa/hrm/engine') > -1;
return (
-
+
+ {/* */}
{this.props.children}
+
)
}
diff --git a/pc4mobx/organization/components/NewAndEditDialog.js b/pc4mobx/organization/components/NewAndEditDialog.js
index cd2ba9f..f5ab0f4 100644
--- a/pc4mobx/organization/components/NewAndEditDialog.js
+++ b/pc4mobx/organization/components/NewAndEditDialog.js
@@ -26,7 +26,7 @@ export default class NewAndEditDialog extends React.Component {
width: 700,
}
}
-
+
getForm() {
const {
diff --git a/pc4mobx/organization/components/log/LogView.js b/pc4mobx/organization/components/log/LogView.js
new file mode 100644
index 0000000..5c58323
--- /dev/null
+++ b/pc4mobx/organization/components/log/LogView.js
@@ -0,0 +1,167 @@
+import React from 'react'
+import * as mobx from 'mobx'
+import {
+ inject,
+ observer
+} from 'mobx-react'
+import {
+ WeaTop,
+ WeaTab,
+ WeaFormItem,
+ WeaDialog,
+ WeaSearchGroup
+} from 'ecCom'
+import {
+ Row,
+ Col,
+ Spin,
+ Modal,
+ Button,
+ message,
+ Switch
+} from 'antd'
+import {
+ WeaSwitch,
+ WeaTableNew
+} from 'comsMobx'
+import {
+ i18n
+} from '../../public/i18n';
+
+import '../../style/common.less';
+
+const toJS = mobx.toJS;
+const confirm = Modal.confirm;
+const WeaTable = WeaTableNew.WeaTable;
+
+
+export default class LogView extends React.Component {
+ constructor(props) {
+ super(props);
+ this.state = ({
+ height: 402,
+ width: 1075,
+ dialogTitle: '日志查看',
+ })
+ }
+
+ componentWillMount() {
+ }
+
+
+ componentDidMount() {
+
+ }
+
+ componentWillReceiveProps(nextProps) {
+ if (this.props.keys !== nextProps.keys) {
+ nextProps.logViewStore.init(nextProps.logMoudleType);
+ }
+ }
+
+ getPanelComponents() {
+ const {
+ logViewStore
+ } = this.props;
+ const {
+ searchCondition,
+ form,
+ searchConditionLoading
+ } = logViewStore;
+
+ let arr = [];
+ let formParams = form.getFormParams();
+ const {
+ isFormInit
+ } = form;
+
+ isFormInit && searchCondition.map(c => {
+ c.items.map((field, index) => {
+ arr.push(
+
+
+ {}
+
+
+ )
+ })
+ })
+
+ if (searchConditionLoading) {
+ return (
+
+
+
+ )
+ } else {
+ return {
+ if (e.keyCode == 13 && e.target.tagName === "INPUT") {
+ logViewStore.getTableInfo();
+ logViewStore.setPanelStatus(false)
+ }
+ }}>{arr}
+ }
+
+ }
+
+ getTabBtn() {
+ const {
+ logViewStore
+ } = this.props;
+ const {
+ form
+ } = logViewStore;
+
+ const btn = [
+ (),
+ (),
+ (),
+ ];
+
+ return btn;
+ }
+
+
+ render() {
+
+ const {
+ visible, onCancel, logViewStore
+ } = this.props, {
+ tableStore,isPanelShow,conditionNum
+ } = logViewStore, {
+ height, dialogTitle, width,
+ } = this.state;
+
+ return (
+ onCancel()}
+ style={{ height: height, width: width }}
+ >
+ logViewStore.setPanelStatus(bool)}
+ hideSearchAd={() => logViewStore.setPanelStatus(false)}
+ searchsAd={isPanelShow ? this.getPanelComponents() : }
+ advanceHeight={Math.ceil(conditionNum / 2) * 52 + 20}
+ hasMask={false}
+ buttonsAd={this.getTabBtn()}
+ onSearch={() => logViewStore.getTableInfo()}
+ />
+
+ )
+ }
+}
\ No newline at end of file
diff --git a/pc4mobx/organization/components/staff/StaffScheme.js b/pc4mobx/organization/components/staff/StaffScheme.js
index 0810c4d..c527d33 100644
--- a/pc4mobx/organization/components/staff/StaffScheme.js
+++ b/pc4mobx/organization/components/staff/StaffScheme.js
@@ -266,8 +266,9 @@ export default class StaffScheme extends React.Component {
}
log = () => {
- window.setLogViewProps({
- logSmallType: '3010',
+ window.setLogViewProp({
+ logMoudleType: '0',
+ keys: new Date().getTime(),
});
}
diff --git a/pc4mobx/organization/stores/fieldDefined.js b/pc4mobx/organization/stores/fieldDefined.js
index 6c8affa..0a646b7 100644
--- a/pc4mobx/organization/stores/fieldDefined.js
+++ b/pc4mobx/organization/stores/fieldDefined.js
@@ -1,7 +1,7 @@
/**
* @Author: 程亮
* @Date: 2022-06-09 10:16:00
- * @LastEditTime: 2022-06-29 17:23:37
+ * @LastEditTime: 2022-07-04 15:12:06
* @Description:
* @FilePath: /trunk/src4js/pc4mobx/organization/stores/fieldDefined.js
*/
diff --git a/pc4mobx/organization/stores/index.js b/pc4mobx/organization/stores/index.js
index 9466607..4d66441 100644
--- a/pc4mobx/organization/stores/index.js
+++ b/pc4mobx/organization/stores/index.js
@@ -21,7 +21,8 @@ import {ResourceExtendStore} from "./resourceExtend";
import {DatasImportStore} from "./datasImport";
import {HrmImportResource} from "./importresource";
import {HrmImportCommon} from "./importCommon";
-import {HrmBasicDataImport} from "./import"
+import {HrmBasicDataImport} from "./import";
+
module.exports = {
simpleOrgStore: new SimpleOrgStore(),
@@ -47,5 +48,5 @@ module.exports = {
datasImport: new DatasImportStore(),
hrmImportResource:new HrmImportResource(),
hrmImportCommon:new HrmImportCommon(),
- hrmBasicDataImport:new HrmBasicDataImport()
+ hrmBasicDataImport:new HrmBasicDataImport(),
};
diff --git a/pc4mobx/organization/stores/job.js b/pc4mobx/organization/stores/job.js
index 0164c1e..fc23b6d 100644
--- a/pc4mobx/organization/stores/job.js
+++ b/pc4mobx/organization/stores/job.js
@@ -304,15 +304,11 @@ export class JobStore {
}
updateConditions(data) {
- this.form1.updateFields({
- scheme_id: {
- value: '',
- },
- });
- // const label = "等级方案"
- // const index = findIndex(this.condition[0].items, { label });
- // this.condition[0].items[index].browserConditionParam.replaceDatas = [{ name: data.sequence_id.valueObj[0].scheme_ids, id: "18" }];
-
+ const label = "等级方案"
+ const index = findIndex(this.condition[0].items, { label });
+ this.condition[0].items[index].browserConditionParam.replaceDatas = [{ name: data.sequence_id.valueObj[0].scheme_ids, id: data.sequence_id.valueObj[0].scheme_values }];
+ this.setCondition(this.condition,false);
+ this.form1.initFormFields(this.condition);
}
diff --git a/pc4mobx/organization/stores/jobgrade.js b/pc4mobx/organization/stores/jobgrade.js
index ab9b623..9e098c8 100644
--- a/pc4mobx/organization/stores/jobgrade.js
+++ b/pc4mobx/organization/stores/jobgrade.js
@@ -51,39 +51,39 @@ export class JobGradeStore {
@observable hasRight = true;
@observable treeLoading = true;
- @observable treeConfig = {
- data: [],
- selectedKeys: [],
- treeExpandKeys: [],
- onExpand: (keys) => {
- this.treeConfig.treeExpandKeys = keys;
- },
- onSelectedTreeNode: (key, count, countType) => {
- this.treeConfig.selectedKeys = [key];
- this.selectedTreeNodeInfo = countType.node.props.data;
- this.getTableInfo();
- }
- }
- //选中树节点的信息
- @observable selectedTreeNodeInfo;
+ @observable treeConfig = {
+ data: [],
+ selectedKeys: [],
+ treeExpandKeys: [],
+ onExpand: (keys) => {
+ this.treeConfig.treeExpandKeys = keys;
+ },
+ onSelectedTreeNode: (key, count, countType) => {
+ this.treeConfig.selectedKeys = [key];
+ this.selectedTreeNodeInfo = countType.node.props.data;
+ this.getTableInfo();
+ }
+ }
+ //选中树节点的信息
+ @observable selectedTreeNodeInfo;
@action initData = () => {
this.selectedTreeNodeInfo = null;
- this.treeConfig.treeExpandKeys.length = 0;
- Api.getTree().then(res => {
- if (res.code === 200) {
- if (res.data.length > 0) {
- this.treeConfig.data = res.data;
- this.treeConfig.selectedKeys = [res.data[0].key];
+ this.treeConfig.treeExpandKeys.length = 0;
+ Api.getTree().then(res => {
+ if (res.code === 200) {
+ if (res.data.length > 0) {
+ this.treeConfig.data = res.data;
+ this.treeConfig.selectedKeys = [res.data[0].key];
this.treeConfig.treeExpandKeys = "-1";
- this.selectedTreeNodeInfo = res.data[0];
- this.getTableInfo();
+ this.selectedTreeNodeInfo = res.data[0];
+ this.getTableInfo();
this.setTreeLoading(false);
- }
- } else {
- message.error(res.msg);
- }
- }, error => { })
+ }
+ } else {
+ message.error(res.msg);
+ }
+ }, error => { })
}
@@ -108,7 +108,7 @@ export class JobGradeStore {
if (res.code === 200) {
this.setHasRight(res.data.hasRight);
res.data.datas && this.tableStore.getDatas(res.data.datas, 1);
-
+
} else {
message.warning(res.msg);
}
@@ -255,7 +255,7 @@ export class JobGradeStore {
@action
- getHasRight() {
+ getHasRight() {
Api.getHasRight().then(res => {
if (res.code === 200) {
res.data.rightMenu && this.setRightMenu(res.data.rightMenu);
@@ -278,15 +278,34 @@ export class JobGradeStore {
updateConditions(val) {
let currenttime = Date.now();
- let key = `schemId_${currenttime}`;
+ let key = `scheme_id_${currenttime}`;
const lastKey = this.key;
- Reflect.deleteProperty(this.condition[0].items[4].browserConditionParam.dataParams,lastKey)
+ Reflect.deleteProperty(this.condition[0].items[4].browserConditionParam.completeParams, lastKey);
+ Reflect.deleteProperty(this.condition[0].items[4].browserConditionParam.conditionDataParams, lastKey);
+ Reflect.deleteProperty(this.condition[0].items[4].browserConditionParam.dataParams, lastKey);
+ Reflect.deleteProperty(this.condition[0].items[4].browserConditionParam.destDataParams, lastKey);
this.setKey(key);
+ this.condition[0].items[4].browserConditionParam.completeParams = {
+ [key]: val,
+ ...this.condition[0].items[4].browserConditionParam.completeParams,
+ currenttime: currenttime
+ }
+ this.condition[0].items[4].browserConditionParam.conditionDataParams = {
+ [key]: val,
+ ...this.condition[0].items[4].browserConditionParam.conditionDataParams,
+ currenttime: currenttime
+ }
this.condition[0].items[4].browserConditionParam.dataParams = {
- [key]:val,
+ [key]: val,
...this.condition[0].items[4].browserConditionParam.dataParams,
currenttime: currenttime
}
+ this.condition[0].items[4].browserConditionParam.destDataParams = {
+ [key]: val,
+ ...this.condition[0].items[4].browserConditionParam.destDataParams,
+ currenttime: currenttime
+ }
+
this.form.updateFields({
levelId: {
value: ''
@@ -396,7 +415,7 @@ export class JobGradeStore {
this.rightMenu = rightMenu;
}
- setKey (key) {
+ setKey(key) {
this.key = key;
}
diff --git a/pc4mobx/organization/stores/logview.js b/pc4mobx/organization/stores/logview.js
new file mode 100644
index 0000000..88cef75
--- /dev/null
+++ b/pc4mobx/organization/stores/logview.js
@@ -0,0 +1,114 @@
+import {
+ observable,
+ action
+} from 'mobx';
+import * as mobx from 'mobx';
+import * as Api from '../apis/logview';
+import {
+ WeaForm
+} from 'comsMobx';
+import {
+ WeaTableNew
+} from 'comsMobx';
+import {
+ Modal,
+ message,
+} from 'antd'
+import {
+ i18n
+} from '../public/i18n';
+
+const toJS = mobx.toJS;
+const {
+ TableStore
+} = WeaTableNew;
+
+export class LogViewStore {
+ @observable tableStore = new TableStore();
+ @observable searchCondition = [];
+ @observable isPanelShow = false; //高级搜索面板
+ @observable form = new WeaForm();
+ @observable conditionNum = 20;
+ @observable searchConditionLoading = true;
+ @observable visible = false;
+ @observable dialogLoading = false;
+ @observable moduleType = ""; //模块类型
+
+ init(logMoudleType) {
+ this.setModuleType(logMoudleType);
+ this.getTableInfo();
+ this.getSearchCondition();
+ }
+
+ @action getTableInfo() {
+ let params = {
+ ...this.form.getFormParams(),
+ moduleType:this.moduleType
+ }
+ this.tableStore = new TableStore();
+ Api.getLogList(params).then(res => {
+ if (res.code === 200) {
+ res.data.datas && this.tableStore.getDatas(res.data.datas, 1);
+ } else {
+ message.warning(res.msg);
+ }
+ }, error => {
+ message.warning(error.msg);
+ })
+ }
+
+
+
+ @action getSearchCondition() {
+ this.setDialogLoading(true);
+ Api.getAdvanceSearchCondition().then(res => {
+ if (res.code === 200) {
+ this.setDialogLoading(false);
+ res.data.conditions && this.setSearchCondition(res.data.conditions);
+ res.data.conditions && this.form.initFormFields(res.data.conditions);
+ } else {
+ message.warning(res.msg);
+ }
+ }, error => {
+ message.warning(error.msg);
+ })
+ }
+
+
+
+ setDialogLoading(bool) {
+ this.dialogLoading = bool;
+ }
+
+ setPanelStatus(bool) {
+ this.isPanelShow = bool;
+ bool && this.getSearchCondition();
+ if (!bool) {
+ this.scLoadingReset();
+ }
+ }
+
+ isEmptyObject(obj) {
+ for (let key in obj) {
+ return false;
+ }
+ return true;
+ }
+
+ setSearchCondition(searchCondition) {
+ this.searchCondition = searchCondition;
+ }
+
+ scLoadingReset() {
+ this.searchConditionLoading = true;
+ }
+
+ setVisable(bool) {
+ this.visible = bool;
+ }
+
+ setModuleType(moduleType) {
+ this.moduleType = moduleType;
+ }
+
+}
\ No newline at end of file