123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- import React from 'react';
- import * as constants from './constants';
- import { fromJS } from 'immutable';
- const defaultState = fromJS({
- companyList: [],
- pagination: {
- current: 1,
- pageSize: 10,
- showSizeChanger: false
- },
- loading: false,
- columns: [
- {
- title: '客户名称',
- dataIndex: 'clientname',
- key: 'clientname',
- visible: true
- },
- {
- title: '地区',
- dataIndex: 'companyname',
- key: 'companyname',
- },
- {
- title: '标签',
- dataIndex: 'telephone',
- key: 'telephone',
- },
- {
- title: '单位性质',
- dataIndex: 'telephone',
- key: 'telephone',
- },
- {
- title: '公司地址',
- dataIndex: 'telephone',
- key: 'telephone',
- },
- {
- title: '公司传真',
- dataIndex: 'telephone',
- key: 'telephone',
- },
- {
- title: '网址',
- dataIndex: 'telephone',
- key: 'telephone',
- },
- {
- title: '乘车路线',
- dataIndex: 'telephone',
- key: 'telephone',
- },
- {
- title: '地标建筑',
- dataIndex: 'telephone',
- key: 'telephone',
- },
- {
- title: '参考住宿',
- dataIndex: 'telephone',
- key: 'telephone',
- },
- {
- title: '备注',
- dataIndex: 'telephone',
- key: 'telephone',
- },
- ],
- companyPopupsDetail: {
- companyDetail: {},
- },
- columnsVisible: [
- // { columnsName: '客户名称', columnsValue: true, dataKey: "clientname" },
- { columnsName: '地区', columnsValue: true, dataKey: "companyname" },
- { columnsName: '标签', columnsValue: true, dataKey: "telephone" },
- { columnsName: '单位性质', columnsValue: true, dataKey: "telephone" },
- { columnsName: '公司地址', columnsValue: true, dataKey: "telephone" },
- { columnsName: '公司传真', columnsValue: true, dataKey: "telephone" },
- { columnsName: '网址', columnsValue: true, dataKey: "telephone" },
- { columnsName: '乘车路线', columnsValue: true, dataKey: "telephone" },
- { columnsName: '地标建筑', columnsValue: true, dataKey: "telephone" },
- { columnsName: '参考住宿', columnsValue: true, dataKey: "telephone" },
- { columnsName: '备注', columnsValue: true, dataKey: "telephone" },
- ],
- });
- export default (state = defaultState, action) => {
- let columns = state.get('columns').toJS();
- let columnsVisible = state.get('columnsVisible').toJS();
- switch (action.type) {
- //显示隐藏列
- case constants.TOGGLE_COLUMNS:
- columnsVisible[action.data].columnsValue = !columnsVisible[action.data].columnsValue;
- //存储
- localStorage.setItem('contact_company_Column_' + action.data, columnsVisible[action.data].columnsValue);
- var columnsBak=refreshColumns(columnsVisible,columns);
-
- return state.merge({
- columnsVisible: fromJS(columnsVisible),
- columns: fromJS(columnsBak)
- });
- case constants.TOGGLE_COLUMNS_ALL:
- for (var i = 0,ci=1; i <= columnsVisible.length; i++,ci++) {
- var isAccept = localStorage.getItem("contact_company_Column_" + i);
- if (isAccept === 'false') {
- columnsVisible[i].columnsValue = false;
- }
- }
- var columnsBak=refreshColumns(columnsVisible,columns);
- return state.merge({
- columnsVisible: fromJS(columnsVisible),
- columns: fromJS(columnsBak)
- });
- //读取锁定-获得客户data
- case constants.CHANGE_COMPANY_LOADING:
- return state.set('loading', action.data);
- case constants.CHANGE_COMPANY_DATA:
- let columnsDetail = {
- ...columns[0],
- render: (text, record) => <a href="#detail" data-toggle="modal" data-target="#detail" onClick={() => action.props.handleCompanyPopups(record.key)} >{text}</a>,
- }
- columns[0] = columnsDetail;
- let pagination = {
- ...action.pagination,
- total: action.data.recordsTotal,
- }
- return state.merge({
- pagination: fromJS(pagination),
- companyList: fromJS(action.data.data),
- loading: false,
- columns: fromJS(columns)
- });
- default:
- return state;
- }
- }
- function refreshColumns(columnsVisible,columns){
- let columnsBak=[];
- columnsBak.push(columns[1]);
- for (var i = 0; i < columnsVisible.length; i++) {
- if(columnsVisible[i].columnsValue){
- columnsBak.push({
- title: columnsVisible[i].columnsName,
- dataIndex: columnsVisible[i].dataKey,
- key: columnsVisible[i].dataKey,
- });
- }
- }
- return columnsBak;
- };
|