import { observable, action, toJS } from "mobx"; import { WeaForm } from "comsMobx"; import { WeaTableNew } from "comsMobx"; import { Modal, message } from "antd"; import { i18n } from "../public/i18n"; import * as API from "../apis/officeManage"; import _ from "lodash"; const { TableStore } = WeaTableNew; export class OfficeManageStore { @observable tableStore = new TableStore(); @observable topMenu = []; //顶部菜单 @observable rightMenu = []; //右侧更多菜单 @observable condition = []; //新增职务信息form数据 @observable searchCondition = []; //高级搜索框form 数据 @observable officeCondition = []; //新增职务分类form数据 @observable isEdit = true; @observable isNew = true; @observable isPanelShow = false; //高级搜索面板 @observable form2 = new WeaForm(); //高级搜索渲染的表单 @observable form = new WeaForm(); //新增编辑渲染的表单 @observable form1 = new WeaForm(); //职务分类渲染的表单 @observable postInfoName = ""; @observable conditionNum = 2; @observable ids = ""; //选择行id @observable searchConditionLoading = false; @observable nEdialogTitle = ""; @observable officeVisible = false; @observable visible = false; @observable dialogLoading = false; @observable schemeId = ""; @observable date = ""; @action getHasRight() { API.getHasRight().then((res) => { const { code, data, msg } = res; if (code === 200) { const { rightMenu, topMenu } = data; this.topMenu = topMenu; this.rightMenu = rightMenu; } else { message.error(msg); } }); } @action("高级搜索表单渲染") getSearchCondition() { this.setScLoadingStatus(true); API.getSearchCondition().then((res) => { this.setScLoadingStatus(false); const { code, data, msg } = res; if (code === 200) { res.data.conditions && this.setSearchCondition(data.conditions); res.data.conditions && this.form2.initFormFields(data.conditions); } else { message.error(res.msg); } }); } @action("获取新增/编辑表单") getPostInfoForm(id) { this.setDialogLoadingStatus(true); API.getPostInfoForm({ id }).then((res) => { this.setDialogLoadingStatus(false); const { code, data, msg } = res; if (code === 200) { console.log(); data.condition && this.setCondition(data.condition); data.condition && this.form.initFormFields(data.condition); } else { message.error(res.msg); } }); } @action("获取表格数据") getPostInfoTable(postId) { let params; this.tableStore = new TableStore(); if (_.isEmpty(this.form2.getFormParams())) { params = { ...this.form2.getFormParams(), postId, postInfoName: this.postInfoName, }; } else { params = { postId, ...this.form2.getFormParams(), }; } API.getPostInfoTable(params).then((res) => { if (res.code === 200) { res.data.datas && this.tableStore.getDatas(res.data.datas, 1); } else { message.error(res.msg); } }); } @action("获取左侧树") getTreeData() { return API.getTreeData(); } @action("保存职务分类") savePost(payload) { return API.savePost(payload).then((response) => { return response.json(); }); } @action("删除职务分类") deleteByIds(payload) { return API.deleteByIds(payload).then((response) => { return response.json(); }); } @action("删除职务信息") deletePostinfoByIds(payload) { return API.deletePostinfoByIds(payload).then((response) => { return response.json(); }); } @action("获取职务分类表单") getPostForm(id) { this.setDialogLoadingStatus(true); API.getPostForm({ id }).then((res) => { this.setDialogLoadingStatus(false); const { code, data, msg } = res; if (code === 200) { data.condition && this.setOfficeCondition(data.condition); data.condition && this.form1.initFormFields(data.condition); } else { message.error(res.msg); } }); } @action("展开关闭搜索面板") setPanelStatus(bool) { this.isPanelShow = bool; bool && this.getSearchCondition(); if (!bool) { this.searchConditionLoading = false; } } @action("新增职务信息") savePostInfo(payload) { return API.savePostInfo(payload).then((response) => { return response.json(); }); } @action("更新职务信息") updatePostInfo(payload) { return API.updatePostInfo(payload).then((response) => { return response.json(); }); } @action("更新禁用标识 ") updateForbiddenTagById(payload) { return API.updateForbiddenTagById(payload).then((response) => { return response.json(); }); } setPostInfoName(val) { this.postInfoName = val; } setScLoadingStatus(bool) { this.searchConditionLoading = bool; } setSearchCondition(condition) { this.searchCondition = condition; } setCondition(condition) { this.condition = condition; } setOfficeCondition(condition) { this.officeCondition = condition; } setVisible(bool) { this.visible = bool; this.formReset(); if (!bool) this.setDialogLoadingStatus(false); } setOfficeVisible(bool) { this.officeVisible = bool; this.officeFormReset(); if (!bool) this.setDialogLoadingStatus(false); } setDialogLoadingStatus(bool) { this.dialogLoading = bool; } setNeDialogTitle(title) { this.nEdialogTitle = title; } updateFields(val) { this.form2.updateFields({ postInfoName: { value: val, }, }); } formReset() { this.form = new WeaForm(); } officeFormReset() { this.form1 = new WeaForm(); } }