caipin преди 5 години
родител
ревизия
4130eef765
променени са 4 файла, в които са добавени 42 реда и са изтрити 14 реда
  1. 6 5
      src/contact/company/index.js
  2. 20 8
      src/contact/company/store/actionCreators.js
  3. 1 0
      src/contact/company/store/constants.js
  4. 15 1
      src/contact/company/store/reducer.js

+ 6 - 5
src/contact/company/index.js

@@ -163,9 +163,9 @@ value={searchValue} onChange={handleInputSearchValue}
   }
 
   componentDidMount() {
-    const { handleCompanyData, handleColumnsAllShow, pagination } = this.props;
+    const { handleCompanyData, initData, pagination } = this.props;
     handleCompanyData(pagination.toJS(), {}, {}, this.props);
-    handleColumnsAllShow();
+    initData();
   }
 
 }
@@ -194,8 +194,9 @@ const mapDispathToProps = (dispatch) => {
     handleColumnsShow(index) {
       dispatch(actionCreators.toggleColumns(index));
     },
-    handleColumnsAllShow() {
+    initData() {
       dispatch(actionCreators.toggleColumnsAll());
+      dispatch(actionCreators.toggleSorter());
     },
     //获得客户数据
     handleCompanyData(pagination, filters, sorter, props) {
@@ -206,12 +207,12 @@ const mapDispathToProps = (dispatch) => {
     handleCompanySortField(pagination, props,e) {
       dispatch(actionCreators.changeLoading());
       dispatch(actionCreators.changeSortField(e.target.value));
-      dispatch(actionCreators.getCompanyLIst(pagination, props,{sortField:e.target.value,sort:props.sort}));
+      dispatch(actionCreators.getCompanyLIst(pagination, props));//,{sortField:e.target.value,sort:props.sort}
     },
     handleCompanySort(pagination, props,e){
       dispatch(actionCreators.changeLoading());
       dispatch(actionCreators.changeSort(e.target.value));
-      dispatch(actionCreators.getCompanyLIst(pagination, props,{sortField:props.sortField,sort:e.target.value}));
+      dispatch(actionCreators.getCompanyLIst(pagination, props));//,{sortField:props.sortField,sort:e.target.value}
     },
     //弹出详情页点击触发
     handleCompanyPopups(key) {

+ 20 - 8
src/contact/company/store/actionCreators.js

@@ -13,7 +13,7 @@ export const toggleColumns = (index) => {
         });
     }
 };
-export const toggleColumnsAll = (dt) => {
+export const toggleColumnsAll = () => {
     return (dispatch) => {
         dispatch({
             type: constants.TOGGLE_COLUMNS_ALL,
@@ -21,7 +21,14 @@ export const toggleColumnsAll = (dt) => {
     }
 };
 
-//获得数据
+//排序
+export const toggleSorter = () => {
+    return (dispatch) => {
+        dispatch({
+            type: constants.TOGGLE_SORTER,
+        });
+    }
+}
 export const changeSortField = (sortField) => {
     return (dispatch) => {
         dispatch({
@@ -38,6 +45,7 @@ export const changeSort = (sort) => {
         });
     }
 }
+//loading
 export const changeLoading = () => {
     return (dispatch) => {
         dispatch({
@@ -46,16 +54,20 @@ export const changeLoading = () => {
         });
     }
 }
-export const getCompanyLIst = (pagination, props, sorter) => {
+//获得数据
+export const getCompanyLIst = (pagination, props) => {
     return (dispatch) => {
 
         // changeList(pagination,props,dispatch);
-        let sortField = props.sortField;
-        let sort = props.sort;
-        if (typeof (sorter) !== 'undefined') {
-            sortField = sorter.sortField;
-            sort = sorter.sort;
+        let sortField = localStorage.getItem("contact_company_sortField");
+        if(sortField===null){
+            sortField = props.sortField;
         }
+        let sort = localStorage.getItem("contact_company_sort");
+        if(sort===null){
+            sort = props.sort;
+        }
+
         axios.get(config.CLD2API + '/contact/company', {
             params: {
                 current: pagination.current,

+ 1 - 0
src/contact/company/store/constants.js

@@ -3,5 +3,6 @@ export const CHANGE_COMPANY_LOADING= 'company/change_company_loading';
 export const CHANGE_COMPANY_SORTFIELD= 'company/change_company_sortField';
 export const CHANGE_COMPANY_SORT= 'company/change_company_sort';
 
+export const TOGGLE_SORTER= 'company/toggle_sorter';
 export const TOGGLE_COLUMNS = 'company/toggle_columns';
 export const TOGGLE_COLUMNS_ALL = 'company/toggle_columns_all';

+ 15 - 1
src/contact/company/store/reducer.js

@@ -114,15 +114,29 @@ export default (state = defaultState, action) => {
 				}
 			}
 			//var columnsBak=refreshColumns(columnsVisible,columns);
-
 			return state.merge({
 				columnsVisible: fromJS(columnsVisible),
 				//columns: fromJS(columnsBak)
 			});
 		//设置列表排序
+		case constants.TOGGLE_SORTER:
+			var sortField = localStorage.getItem("contact_company_sortField");
+			var sort = localStorage.getItem("contact_company_sort");
+			if(sortField!==null&&sort!==null){
+				return state.merge({
+					sortField: sortField,
+					sort: sort
+				});
+			}else if(sortField!==null){
+				return state.set('sortField', sortField);
+			}else if(sort!==null){
+				return state.set('sort', sort);
+			}
 		case constants.CHANGE_COMPANY_SORTFIELD:
+			localStorage.setItem('contact_company_sortField', action.data);
 			return state.set('sortField', action.data);
 		case constants.CHANGE_COMPANY_SORT:
+			localStorage.setItem('contact_company_sort', action.data);
 			return state.set('sort', action.data);
 		//读取锁定-获得客户data
 		case constants.CHANGE_COMPANY_LOADING: