caipin 5 years ago
parent
commit
4e0a5f25de

+ 9 - 4
src/contact/company/index.js

@@ -18,7 +18,7 @@ class company extends PureComponent {
 
   render() {
     const { columnsVisible, companyList, pagination, handleCompanyData, loading, columns, sortField, sort,
-      handleColumnsShow, handleInputChange, handleCompanySortField } = this.props;
+      handleColumnsShow, handleInputChange, handleCompanySortField,handleCompanySort } = this.props;
 
     return (
       <Fragment>
@@ -115,7 +115,7 @@ value={searchValue} onChange={handleInputSearchValue}
                       </ul>
                       <ul className="list-unstyled px-3 pt-2 mb-0 border-top">
                         <li className="mb-2">
-                          <Radio.Group onChange={this.onChange} value={sort}>
+                          <Radio.Group onChange={(e) => handleCompanySort(pagination.toJS(),this.props,e)} value={sort}>
                             <Radio style={radioStyle} value='DESC'>
                               递减
                           </Radio>
@@ -201,9 +201,14 @@ const mapDispathToProps = (dispatch) => {
     },
     //排序设置
     handleCompanySortField(pagination, props,e) {
+      dispatch(actionCreators.changeLoading());
       dispatch(actionCreators.changeSortField(e.target.value));
-      props.sortField;
-      //dispatch(actionCreators.getCompanyLIst(pagination, props));
+      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}));
     },
     //弹出详情页点击触发
     handleCompanyPopups(key) {

+ 17 - 6
src/contact/company/store/actionCreators.js

@@ -30,6 +30,14 @@ export const changeSortField = (sortField) => {
         });
     }
 }
+export const changeSort = (sort) => {
+    return (dispatch) => {
+        dispatch({
+            type: constants.CHANGE_COMPANY_SORT,
+            data: sort,
+        });
+    }
+}
 export const changeLoading = () => {
     return (dispatch) => {
         dispatch({
@@ -38,13 +46,16 @@ export const changeLoading = () => {
         });
     }
 }
-export const getCompanyLIst = (pagination, props) => {
+export const getCompanyLIst = (pagination, props, sorter) => {
     return (dispatch) => {
 
         // changeList(pagination,props,dispatch);
-
-        const { sortField, sort } = props;
-        console.log(props);
+        let sortField = props.sortField;
+        let sort = props.sort;
+        if (typeof (sorter) !== 'undefined') {
+            sortField = sorter.sortField;
+            sort = sorter.sort;
+        }
         axios.get(config.CLD2API + '/contact/company', {
             params: {
                 current: pagination.current,
@@ -70,7 +81,7 @@ export const getCompanyLIst = (pagination, props) => {
             console.log(e);
             console.log('error');
         })
-        
+
     }
 };
 
@@ -102,7 +113,7 @@ export const getCompanyLIst = (pagination, props) => {
 //     })
 // }
 
-   
+
 
 
 

+ 11 - 9
src/contact/company/store/reducer.js

@@ -10,8 +10,8 @@ const defaultState = fromJS({
 		showSizeChanger: false
 	},
 	loading: false,
-	sortField:'CREATETIME',
-	sort:'DESC',
+	sortField: 'CREATETIME',
+	sort: 'DESC',
 	columns: [
 		{
 			title: '客户名称',
@@ -100,8 +100,8 @@ export default (state = defaultState, action) => {
 			columnsVisible[action.data].columnsValue = !columnsVisible[action.data].columnsValue;
 			//存储
 			localStorage.setItem('contact_company_Column_' + action.data, columnsVisible[action.data].columnsValue);
-			var columnsBak=refreshColumns(columnsVisible,columns);
-			
+			var columnsBak = refreshColumns(columnsVisible, columns);
+
 			return state.merge({
 				columnsVisible: fromJS(columnsVisible),
 				columns: fromJS(columnsBak)
@@ -122,6 +122,8 @@ export default (state = defaultState, action) => {
 		//设置列表排序
 		case constants.CHANGE_COMPANY_SORTFIELD:
 			return state.set('sortField', action.data);
+		case constants.CHANGE_COMPANY_SORT:
+			return state.set('sort', action.data);
 		//读取锁定-获得客户data
 		case constants.CHANGE_COMPANY_LOADING:
 			return state.set('loading', action.data);
@@ -136,13 +138,13 @@ export default (state = defaultState, action) => {
 				total: action.data.recordsTotal,
 			}
 
-			for (var i = 0,ci=1; i <= columnsVisible.length; i++,ci++) {
+			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);
+			var columnsBak = refreshColumns(columnsVisible, columns);
 			return state.merge({
 				pagination: fromJS(pagination),
 				companyList: fromJS(action.data.data),
@@ -155,11 +157,11 @@ export default (state = defaultState, action) => {
 }
 
 
-function refreshColumns(columnsVisible,columns){
-	let columnsBak=[];
+function refreshColumns(columnsVisible, columns) {
+	let columnsBak = [];
 	columnsBak.push(columns[0]);
 	for (var i = 0; i < columnsVisible.length; i++) {
-		if(columnsVisible[i].columnsValue){
+		if (columnsVisible[i].columnsValue) {
 			columnsBak.push({
 				title: columnsVisible[i].columnsName,
 				dataIndex: columnsVisible[i].dataKey,