diff --git a/pc4mobx/organization/apis/columnPermission.js b/pc4mobx/organization/apis/columnPermission.js index 4c74908..3023a60 100644 --- a/pc4mobx/organization/apis/columnPermission.js +++ b/pc4mobx/organization/apis/columnPermission.js @@ -12,3 +12,13 @@ export const hasRight = (params) => { export const getTable = (params) => { return WeaTools.callApi('/api/bs/hrmorganization/cardAccess/getTable', 'GET', params); } +export const cardAccessSave = (params) => { + return fetch('/api/bs/hrmorganization/cardAccess/save', { + method: 'POST', + mode: 'cors', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify(params) + }) +} diff --git a/pc4mobx/organization/components/columnPermission/components/permissionItem.js b/pc4mobx/organization/components/columnPermission/components/permissionItem.js index 19771db..24a61f7 100644 --- a/pc4mobx/organization/components/columnPermission/components/permissionItem.js +++ b/pc4mobx/organization/components/columnPermission/components/permissionItem.js @@ -1,7 +1,8 @@ import React, { Component } from "react"; import { WeaTableNew } from "comsMobx"; -import { WeaCheckbox, WeaBrowser } from "ecCom"; +import { WeaBrowser, WeaCheckbox } from "ecCom"; import { inject, observer } from "mobx-react"; +import { toJS } from "mobx"; const WeaTable = WeaTableNew.WeaTable; @@ -16,24 +17,47 @@ class PermissionItem extends Component { const { columnPermission } = this.props; columnPermission.loadTabOneRelatedData(); }; + changeSaveParams = (record, value, dataIndex) => { + const { columnPermission } = this.props; + const list = _.isEmpty(columnPermission.columnsPermissionData) ? toJS(columnPermission.tableStore.datas) : columnPermission.columnsPermissionData; + const dataSource = _.map([...list], it => { + if (record.id === it.id) { + return { + ...it, + [dataIndex]: value + }; + } + return { ...it }; + }); + columnPermission.setColumnsPermissionData(dataSource); + }; renderRenderColumns = columns => { columns.forEach((c, index) => { if (c.dataIndex === "status" || c.dataIndex === "all_people" || c.dataIndex === "superior" || c.dataIndex === "all_superior") { - c.render = function (text, record) { + c.render = (text, record) => { return ( { - // console.log(value); - // }} + value={record[c.dataIndex]} + onChange={value => { + this.changeSaveParams(record, value, c.dataIndex); + }} /> ); }; } else if (c.dataIndex === "custom") { - c.render = function (text, record) { + c.render = (text, record) => { return ( - + { + this.changeSaveParams(record, value, c.dataIndex); + }} + /> ); }; } diff --git a/pc4mobx/organization/stores/columnPermission.js b/pc4mobx/organization/stores/columnPermission.js index 1559678..e89fc00 100644 --- a/pc4mobx/organization/stores/columnPermission.js +++ b/pc4mobx/organization/stores/columnPermission.js @@ -1,21 +1,21 @@ import * as mobx from "mobx"; import { action, computed, extendObservable, observable } from "mobx"; -import { WeaTableNew } from 'comsMobx'; +import { WeaTableNew } from "comsMobx"; import { message } from "antd"; import { WeaHelpfulTip } from "ecCom"; import { isEmpty } from "lodash"; import { i18n } from "../public/i18n"; import * as Api from "../apis/columnPermission"; + const { TableStore } = WeaTableNew; const toJS = mobx.toJS; export class ColumnPermission { - @observable weaTopTitle = i18n.module.staffCardDisplay(); @observable tableStore = new TableStore(); - @observable btnMenu = []; + @observable columnsPermissionData = []; @observable selectedKey = "0"; - @observable authorized = false; + @observable authorized = true; @observable loading = true; @observable tabOneRelatedData = { datas: [], //datas受控 @@ -30,66 +30,16 @@ export class ColumnPermission { authorized: false }; - @computed get cardItemsLength() { - let arr = []; - for (let i = 0; i < this.tabOneRelatedData.data.length; i++) { - let cardItemsLength = 0; - this.tabOneRelatedData.data[i].children.map(s => { - if (s.children.length > 0) { - cardItemsLength += s.children.length; - } else { - cardItemsLength += 1; - } - }); - arr.push(cardItemsLength); - } - return arr; - } - - @computed get menu() { - let topMenu = []; - let rightMenu = []; - this.btnMenu.map(item => { - (item.isTop == "1" || item.isBatch == "1") && topMenu.push(item); - !item.isBatch && rightMenu.push(item); - }); - return { - topMenu, - rightMenu - }; - } - @computed get checkedItems() { - let arr = []; - toJS(this.tabOneRelatedData.data).map(f => { - let fArr = []; - if (f.value) { - fArr.push(f.id); - f.children.map(s => { - if (s.value) { - fArr.push( - s.id - ); - s.children.map(t => { - t.value && fArr.push( - t.id - ); - }); - } - }); - arr.push(fArr.toString()); - } - }); - return arr.toString(); + const data = isEmpty(this.columnsPermissionData) ? toJS(this.tableStore.datas) : this.columnsPermissionData; + return this.arrColumnsToJson(data); } @computed get tabTwoSaveParams() { let datas = this.tabTwoRelatedData.datas; let selectedData = this.tabTwoRelatedData.selectedData.isused; - let params = this.arrToJson(toJS(datas), toJS(selectedData)); params.rownum = datas.length; - return params; } @@ -196,23 +146,24 @@ export class ColumnPermission { columnPermissionSave() { let params = { - data: toJS(this.checkedItems) + ...toJS(this.checkedItems) }; - Api.cardItemsSettingSave(params).then(res => { - let { - api_status, - sign - } = res; - - if (api_status) { - if (sign == "1") { - res.message && message.success(res.message); - } else { - res.message && message.warning(res.message); - } - } else { - message.error(res.message); - } + Api.cardAccessSave(params).then(res => { + console.log(res); + // let { + // api_status, + // sign + // } = res; + // + // if (api_status) { + // if (sign == "1") { + // res.message && message.success(res.message); + // } else { + // res.message && message.warning(res.message); + // } + // } else { + // message.error(res.message); + // } }).catch(error => { message.error(error); }); @@ -242,6 +193,16 @@ export class ColumnPermission { }); } + arrColumnsToJson(arr, rows) { + let jsonColumn = {}; + arr.map((item, index) => { + for (let key in item) { + jsonColumn[key + "_" + index] = item[key]; + } + }); + return jsonColumn; + } + arrToJson(arr, rows) { let json = {}; @@ -275,46 +236,11 @@ export class ColumnPermission { this.authorized = right; } - setBtnMenu(btnMenu) { - this.btnMenu = btnMenu; - } - setSelectedKey(key) { this.selectedKey = key; } - setCardItemsData(data) { - this.data = data; - } - - setEnableRows(e) { - extendObservable(this.tabTwoRelatedData, { - selectedData: { - isused: e - } - }); - } - - setTableEditDatas(e) { - e.map(item => { - for (let key in item) { - if (key == "undefined") { - delete item[key]; - } - if (!item["isused"]) { - item["isused"] = ""; - } - } - }); - extendObservable(this.tabTwoRelatedData, { - datas: e - }); - } - - mobxDataReset() { - this.selectedKey = "0"; - extendObservable(this.tabOneRelatedData, { - loading: true - }); + setColumnsPermissionData(list) { + this.columnsPermissionData = list; } }