Browse Source

派单流程修改

dev01 2 years ago
parent
commit
cdb13f7274

+ 1 - 1
js/component/common/flowchart/index.jsx

@@ -70,7 +70,7 @@ class FlowChart extends Component {
               { status: 0, title: "营销员发起", name: info.yxy, time: "" },
               { status: 1, title: "经理审核", name: !info.yxjl ? "-" : info.yxjl, time: "" },
               { status: 2, title: "营销管理员审核", name: info.yxgly, time: "" },
-              { status: 3, title: "财务专员审核", name: info.cwzy, time: "" },
+              { status: 3, title: "财务专员/技术总监审核", name: info.cwzy, time: "" },
               { status: 4, title: "特批审核", name: tpname, time: "" },
               { status: 5, title: "技术总监派单", name: info.zxsgly, time: "" },
               { status: 6, title: "技术接单", name: "", time: "" },

+ 1 - 1
js/component/dataDic.js

@@ -3046,7 +3046,7 @@ module.exports = {
     },
     {
       value: "3",
-      key: "已派财务专员",
+      key: "已派财务专员/技术总监",
     },
     {
       value: "4",

+ 323 - 322
js/component/manageCenter/customer/NEW/signCustomer/followDetail.jsx

@@ -1,334 +1,335 @@
 import React from 'react'
 import ajax from 'jquery/src/ajax/xhr.js';
 import $ from 'jquery/src/ajax';
-import {Modal,Form,layout,Radio,Button,Input,Spin,Table,Select,Popconfirm,message} from 'antd';
-import {intentionalService,newFollow,customerStatus} from '@/dataDic.js';
-import {getCompanyIntention,getfllowSituation,getcustomerStatue} from '@/tools.js';
-const FormItem =Form.Item;
+import { Modal, Form, layout, Radio, Button, Input, Spin, Table, Select, Popconfirm, message } from 'antd';
+import { intentionalService, newFollow, customerStatus } from '@/dataDic.js';
+import { getCompanyIntention, getfllowSituation, getcustomerStatue } from '@/tools.js';
+const FormItem = Form.Item;
 import AddContact from './followDetail/addContact.jsx';
 
 const FollowDetail = React.createClass({
-	getInitialState(){
-		return{
-			visitModul:false,
-			loading:false,
-			data:[],
-			busModul:false,
-			intentionList:[
-				{
-					title: '业务名称',
-					dataIndex: 'businessVarietiesName',
-					width:120,
-					key: 'businessVarietiesName'
-				},
-				{
-					title: '项目名称',
-					dataIndex: 'businessProjectName',
-					key:'businessProjectName',
-					width:120
-				},
-				{
-					title: '最新进度',
-					width:120,
-					dataIndex: 'followSituation',
-					key: 'followSituation',
-					render:text=>{return getfllowSituation(text) }
-				}, {
-					title: '最新状态',
-					width:120,
-					dataIndex: 'customerStatus',
-					key: 'customerStatus',
-					render:text=>{return getcustomerStatue(text) }
-				}, {
-					title: '跟进说明',
-					width:120,
-					dataIndex: 'remarks',
-					key: 'remarks',
+  getInitialState() {
+    return {
+      visitModul: false,
+      loading: false,
+      data: [],
+      busModul: false,
+      intentionList: [
+        {
+          title: '业务名称',
+          dataIndex: 'businessVarietiesName',
+          width: 120,
+          key: 'businessVarietiesName'
+        },
+        {
+          title: '项目名称',
+          dataIndex: 'businessProjectName',
+          key: 'businessProjectName',
+          width: 120
+        },
+        {
+          title: '最新进度',
+          width: 120,
+          dataIndex: 'followSituation',
+          key: 'followSituation',
+          render: text => { return getfllowSituation(text) }
+        }, {
+          title: '最新状态',
+          width: 120,
+          dataIndex: 'customerStatus',
+          key: 'customerStatus',
+          render: text => { return getcustomerStatue(text) }
+        }, {
+          title: '跟进说明',
+          width: 120,
+          dataIndex: 'remarks',
+          key: 'remarks',
 
-				}, {
-					title: '操作',
-					width:120,
-					dataIndex: 'rrr',
-					key: 'rrr',
-					render: (text, record, index) => {
-						return <div>
-                          	<Popconfirm title="再次签单?" onConfirm={(e)=>{this.intentionDelet(record,index)}} okText="再次签单" cancelText="取消">
-							    <Button style={{marginRight:'10px',color:'#ffffff',background:'#58a3ff',border:'none'}}>签单</Button>
-							</Popconfirm>
-                        </div>
-					}
-				}
-			],
-		}
-	},
-	//拜访意向服务列表单个删除
-	intentionDelet(e, index) {
-		this.setState({
-				loading:true,
-				selectedRowKeys: [],
-			});
-			$.ajax({
-				method: "get",
-				dataType: "json",
-				crossDomain: false,
-				url: globalConfig.context + "/api/admin/customer/againProjectTask",
-				data: {
-					uid: e.uids,
-					projectId:e.businessName,
-				}
-			}).done(function(data) {
-				if(!data.error.length) {
-					message.success('签单成功');
-					if(this.props.isFlag) {
-						this.deletelist(this.props.followData.id)
-					}else {
-						this.props.loadData();
-					}
-					this.setState({
-						loading: false,
-					});
-				} else {
-					message.warning(data.error[0].message);
-				};
-				//this.deletelist(this.props.followData.id)
-			}.bind(this));
+        }, {
+          title: '操作',
+          width: 120,
+          dataIndex: 'rrr',
+          key: 'rrr',
+          render: (text, record, index) => {
+            return <div>
+              <Popconfirm title="再次签单?" onConfirm={(e) => { this.intentionDelet(record, index) }} okText="再次签单" cancelText="取消">
+                <Button style={{ marginRight: '10px', color: '#ffffff', background: '#58a3ff', border: 'none' }}>签单</Button>
+              </Popconfirm>
+            </div>
+          }
+        }
+      ],
+    }
+  },
+  //拜访意向服务列表单个删除
+  intentionDelet(e, index) {
+    this.setState({
+      loading: true,
+      selectedRowKeys: [],
+    });
+    $.ajax({
+      method: "get",
+      dataType: "json",
+      crossDomain: false,
+      url: globalConfig.context + "/api/admin/customer/againProjectTask",
+      data: {
+        uid: e.uids,
+        projectId: e.businessName,
+      }
+    }).done(function (data) {
+      if (!data.error.length) {
+        message.success('签单成功');
+        if (this.props.isFlag) {
+          this.deletelist(this.props.followData.id)
+        } else {
+          this.props.loadData();
+        }
+        this.setState({
+          loading: false,
+        });
+      } else {
+        message.warning(data.error[0].message);
+      };
+      //this.deletelist(this.props.followData.id)
+    }.bind(this));
 
-	},
-	//拜访modul函数
-	visitOk(e) {
-		this.setState({
-			addcontactModul:false,
-			visitModul: false
-		});
-	},
-	visitCancel(e) {
-		this.setState({
-			addcontactModul:false,
-			visitModul: false
-		});
-		this.props.closeDesc(false,false)
-	},
-	//获取联系人下拉框
-	getNewWoman(ids) {
-		this.state.data = []
-		$.ajax({
-			method: "get",
-			dataType: "json",
-			crossDomain: false,
-			url: globalConfig.context + "/api/admin/customer/findCustomerContacts",
-			data: {
-				uid: ids,
-			},
-			success: function(data) {
-				let theArr = [];
-				let thedata = data.data;
-				if(!thedata) {
-					if(data.error && data.error.length) {
-						message.warning(data.error[0].message);
-					};
-					thedata = {};
-				};
-				var telNum = [];
-				var contactIds = [];
-				thedata.map(function(item, index) {
-					contactIds.push(thedata[index].id);
-					telNum.push(thedata[index].mobile);
-				});
-				for(let item in data.data) {
-					let theData = data.data[item];
-					theArr.push(
-						<Select.Option value={item} key={theData.name}>{theData.name}</Select.Option>
-					);
-				};
-				this.setState({
-					contactsIdArr: thedata,
-					telNum: telNum,
-					orderStatusOption: theArr,
-				});
-			}.bind(this),
-		}).always(function() {
-			this.setState({
-				deletId: ids,
-				loading: false
-			});
-		}.bind(this));
-	},
-	//刷新新增拜访记录刷新
-	deletelist(e) {
-		this.setState({
-			loading:true
-		})
-		$.ajax({
-			method: "get",
-			dataType: "json",
-			url: globalConfig.context + '/api/admin/customer/toAddFollowOnLock',
-			data: {
-				uid: e,
-			},
-			success: function(data) {
-				let listArr = [];
-				let thedata = data.data;
-				if(!thedata) {
-					if(data.error && data.error.length) {
-						message.warning(data.error[0].message);
-					};
-					thedata = {};
-				};
-				if(data.data.userBusinessList[0]!=null) {
-					for(let i = 0; i < data.data.userBusinessList.length; i++) {
-						let thisdata = data.data.userBusinessList[i];
-						if(thisdata!=null){
-							listArr.push({
-								key:i,
-								id:thisdata.businessId,
-								businessName:thisdata.businessProjectId,
-								businessVarietiesName:thisdata.businessVarietiesName,
-								businessProjectName:thisdata.businessProjectName,
-								followSituation: thisdata.followSituation==null?undefined : String(thisdata.followSituation),
-								customerStatus: thisdata.customerStatus==null?undefined : String(thisdata.customerStatus),
-								remarks: thisdata.remarks,
-								uid:thisdata.uid,
-								uids:data.data.uid
+  },
+  //拜访modul函数
+  visitOk(e) {
+    this.setState({
+      addcontactModul: false,
+      visitModul: false
+    });
+  },
+  visitCancel(e) {
+    console.log('00')
+    this.setState({
+      addcontactModul: false,
+      visitModul: false
+    });
+    // this.props.closeDesc(false, false)
+  },
+  //获取联系人下拉框
+  getNewWoman(ids) {
+    this.state.data = []
+    $.ajax({
+      method: "get",
+      dataType: "json",
+      crossDomain: false,
+      url: globalConfig.context + "/api/admin/customer/findCustomerContacts",
+      data: {
+        uid: ids,
+      },
+      success: function (data) {
+        let theArr = [];
+        let thedata = data.data;
+        if (!thedata) {
+          if (data.error && data.error.length) {
+            message.warning(data.error[0].message);
+          };
+          thedata = {};
+        };
+        var telNum = [];
+        var contactIds = [];
+        thedata.map(function (item, index) {
+          contactIds.push(thedata[index].id);
+          telNum.push(thedata[index].mobile);
+        });
+        for (let item in data.data) {
+          let theData = data.data[item];
+          theArr.push(
+            <Select.Option value={item} key={theData.name}>{theData.name}</Select.Option>
+          );
+        };
+        this.setState({
+          contactsIdArr: thedata,
+          telNum: telNum,
+          orderStatusOption: theArr,
+        });
+      }.bind(this),
+    }).always(function () {
+      this.setState({
+        deletId: ids,
+        loading: false
+      });
+    }.bind(this));
+  },
+  //刷新新增拜访记录刷新
+  deletelist(e) {
+    this.setState({
+      loading: true
+    })
+    $.ajax({
+      method: "get",
+      dataType: "json",
+      url: globalConfig.context + '/api/admin/customer/toAddFollowOnLock',
+      data: {
+        uid: e,
+      },
+      success: function (data) {
+        let listArr = [];
+        let thedata = data.data;
+        if (!thedata) {
+          if (data.error && data.error.length) {
+            message.warning(data.error[0].message);
+          };
+          thedata = {};
+        };
+        if (data.data.userBusinessList[0] != null) {
+          for (let i = 0; i < data.data.userBusinessList.length; i++) {
+            let thisdata = data.data.userBusinessList[i];
+            if (thisdata != null) {
+              listArr.push({
+                key: i,
+                id: thisdata.businessId,
+                businessName: thisdata.businessProjectId,
+                businessVarietiesName: thisdata.businessVarietiesName,
+                businessProjectName: thisdata.businessProjectName,
+                followSituation: thisdata.followSituation == null ? undefined : String(thisdata.followSituation),
+                customerStatus: thisdata.customerStatus == null ? undefined : String(thisdata.customerStatus),
+                remarks: thisdata.remarks,
+                uid: thisdata.uid,
+                uids: data.data.uid
 
-							});
-						}
-					};
-				}
+              });
+            }
+          };
+        }
 
-				this.setState({
-					contacts: thedata.contacts,
-					uids:data.data.uid,
-					uid: thedata.uid,
-					data: listArr,
-					followTime: thedata.followTime,
-					remarks: thedata.remarks,
-				});
-			}.bind(this),
-		}).always(function() {
-			this.setState({
-				loading: false
-			});
-		}.bind(this));
-	},
-	//当选择联系人的列表变化时,则执行
-	hundleName(e) {
-		let changNub = this.state.telNum[e];
-		this.setState({
-			nub: this.state.telNum[e],
-			lastName: e,
-		});
-	},
-	//点击添加联系人
-	newContacts() {
-		this.setState({
-			busModul:false,
-			uids: this.state.uid,
-			addcontactModul: true
-		});
-	},
-	//页面刷新
-	closeFollow(e, s) {
-		this.state.addcontactModul=false;
-		this.state.visitModul = true;
-		if(s) {
-			this.getNewWoman(this.props.followData.id);
-			this.deletelist(this.props.followData.id)
-		};
-	},
-	//详情保存
-	visitSubmit(e){
-		e.preventDefault();
-		let GlossoryId=false;
-		this.state.data.map(function(item) {
-			if(!item.followSituation||!item.customerStatus||!item.businessName) {
-				GlossoryId = true
-			}
-		})
-		if(this.state.contactType == undefined) {
-			message.warning('请选择拜访方式')
-			return false;
-		};
-		if(this.state.lastName == undefined) {
-			message.warning('请选择联系人')
-			return false;
-		}
-		if (this.state.result.length < 10) {
-			message.warning("备注不少于10个字符!");
-			return false;
-		}
-		if(this.state.data.length&&GlossoryId) {
-			message.warning("项目名称/最新进度/最新状态不能为空!")
-			return false;
-		};
-		this.setState({
-			loading: true
-		});
-		let dataList=this.state.data,
-			idsList=[];
-		dataList.map((item,index) => {
-			idsList.push({
-				businessId:item.id||'',
-				businessProjectId:item.businessName,
-				customerStatus:item.customerStatus,
-				followSituation:item.followSituation,
-				remarks:item.remarks||''
-			})
-		});
-		let contactsId = '';
-		let conts = this.state.lastName;
-		contactsId = this.state.contactsIdArr[conts].id;
-		//新增
-		$.ajax({
-			method: "post",
-			dataType: "json",
-			url:  globalConfig.context + '/api/admin/customer/addFollow',
-			data: {
-				userBusinessList: JSON.stringify(idsList),
-				uid: this.state.uid,
-				ocbId: contactsId,
-				contactType: this.state.contactType,
-				result: this.state.result,
-				followTime: this.state.followTime,
-			}
-		}).done(function(data) {
-			this.setState({
-				loading: false
-			});
-			if(!data.error.length) {
-				message.success('保存成功!');
-				this.props.closeDesc(false,true);
-				this.visitCancel();
-				this.props.loadData();
-			} else {
-				message.warning(data.error[0].message);
-			}
-		}.bind(this));
-	},
-	componentWillReceiveProps(nextProps) {
-        if (nextProps.visitModul && nextProps.followData.id) {
-            this.setState({
-				result: '',
-				contactType: undefined,
-				visitModul: true,
-				loading: true,
-				lastName:undefined,
-				nub:'',
-				busModul:false,
-				addcontactModul:false
-			})
-			this.getNewWoman(nextProps.followData.id);
-			this.deletelist(nextProps.followData.id)
-        };
-    },
-	render() {
-		const formItemLayout = {
-			labelCol: { span: 8 },
-			wrapperCol: { span: 14 },
-		};
-		return (
+        this.setState({
+          contacts: thedata.contacts,
+          uids: data.data.uid,
+          uid: thedata.uid,
+          data: listArr,
+          followTime: thedata.followTime,
+          remarks: thedata.remarks,
+        });
+      }.bind(this),
+    }).always(function () {
+      this.setState({
+        loading: false
+      });
+    }.bind(this));
+  },
+  //当选择联系人的列表变化时,则执行
+  hundleName(e) {
+    let changNub = this.state.telNum[e];
+    this.setState({
+      nub: this.state.telNum[e],
+      lastName: e,
+    });
+  },
+  //点击添加联系人
+  newContacts() {
+    this.setState({
+      busModul: false,
+      uids: this.state.uid,
+      addcontactModul: true
+    });
+  },
+  //页面刷新
+  closeFollow(e, s) {
+    this.state.addcontactModul = false;
+    this.state.visitModul = true;
+    if (s) {
+      this.getNewWoman(this.props.followData.id);
+      this.deletelist(this.props.followData.id)
+    };
+  },
+  //详情保存
+  visitSubmit(e) {
+    e.preventDefault();
+    let GlossoryId = false;
+    this.state.data.map(function (item) {
+      if (!item.followSituation || !item.customerStatus || !item.businessName) {
+        GlossoryId = true
+      }
+    })
+    if (this.state.contactType == undefined) {
+      message.warning('请选择拜访方式')
+      return false;
+    };
+    if (this.state.lastName == undefined) {
+      message.warning('请选择联系人')
+      return false;
+    }
+    if (this.state.result.length < 10) {
+      message.warning("备注不少于10个字符!");
+      return false;
+    }
+    if (this.state.data.length && GlossoryId) {
+      message.warning("项目名称/最新进度/最新状态不能为空!")
+      return false;
+    };
+    this.setState({
+      loading: true
+    });
+    let dataList = this.state.data,
+      idsList = [];
+    dataList.map((item, index) => {
+      idsList.push({
+        businessId: item.id || '',
+        businessProjectId: item.businessName,
+        customerStatus: item.customerStatus,
+        followSituation: item.followSituation,
+        remarks: item.remarks || ''
+      })
+    });
+    let contactsId = '';
+    let conts = this.state.lastName;
+    contactsId = this.state.contactsIdArr[conts].id;
+    //新增
+    $.ajax({
+      method: "post",
+      dataType: "json",
+      url: globalConfig.context + '/api/admin/customer/addFollow',
+      data: {
+        userBusinessList: JSON.stringify(idsList),
+        uid: this.state.uid,
+        ocbId: contactsId,
+        contactType: this.state.contactType,
+        result: this.state.result,
+        followTime: this.state.followTime,
+      }
+    }).done(function (data) {
+      this.setState({
+        loading: false
+      });
+      if (!data.error.length) {
+        message.success('保存成功!');
+        this.props.closeDesc(false, true);
+        this.visitCancel();
+        this.props.loadData();
+      } else {
+        message.warning(data.error[0].message);
+      }
+    }.bind(this));
+  },
+  componentWillReceiveProps(nextProps) {
+    if (nextProps.visitModul && nextProps.followData.id) {
+      this.setState({
+        result: '',
+        contactType: undefined,
+        visitModul: true,
+        loading: true,
+        lastName: undefined,
+        nub: '',
+        busModul: false,
+        addcontactModul: false
+      })
+      this.getNewWoman(nextProps.followData.id);
+      this.deletelist(nextProps.followData.id)
+    };
+  },
+  render() {
+    const formItemLayout = {
+      labelCol: { span: 8 },
+      wrapperCol: { span: 14 },
+    };
+    return (
       <div>
         <Modal
-		  maskClosable={false}
+          maskClosable={false}
           className="customeDetails"
           footer=""
           title="客户跟进详情"
@@ -360,7 +361,7 @@ const FollowDetail = React.createClass({
                     <Radio value={2}>QQ</Radio>
                     <Radio value={3}>微信</Radio>
                     <Radio value={4}>邮箱</Radio>
-					<Radio value={6}>来访面谈</Radio>
+                    <Radio value={6}>来访面谈</Radio>
                   </Radio.Group>
                   <span className="mandatory">*</span>
                 </FormItem>
@@ -441,7 +442,7 @@ const FollowDetail = React.createClass({
                   <div className="clearfix">
                     <Spin spinning={this.state.loading}>
                       <Table
-						size="middle"
+                        size="middle"
                         pagination={false}
                         columns={this.state.intentionList}
                         dataSource={this.state.data}
@@ -473,6 +474,6 @@ const FollowDetail = React.createClass({
         />
       </div>
     );
-	}
+  }
 })
 export default FollowDetail;

+ 1 - 1
js/component/manageCenter/customer/NEW/signCustomer/signCustomer.jsx

@@ -782,7 +782,7 @@ const IntentionCustomer = Form.create()(React.createClass({
         <IntentionDetail
           detailApi={this.props.detailApi}
           IntentionData={this.state.RowData}
-          loadData={this.loadData}
+          loadData={() => { this.loadData(this.state.pagination.current) }}
           modalVisible={this.state.modalVisible}
           defaultActiveKey={this.state.defaultActiveKey}
           name={this.state.modalName}

+ 7 - 6
js/component/manageCenter/customer/operationalData/finalFollowup/index.jsx

@@ -385,12 +385,13 @@ class FinalFollowup extends Component {
                     });
                   }}
                 >
-                  <Option value={0}>30天</Option>
-                  <Option value={1}>60天</Option>
-                  <Option value={2}>90天</Option>
-                  <Option value={3}>180天</Option>
-                  <Option value={4}>1年</Option>
-                  <Option value={5}>2年</Option>
+                  <Option value={0}>15天</Option>
+                  <Option value={1}>30天</Option>
+                  <Option value={2}>60天</Option>
+                  <Option value={3}>90天</Option>
+                  <Option value={4}>180天</Option>
+                  <Option value={5}>1年</Option>
+                  <Option value={6}>2年</Option>
                 </Select>
               </span>
 

+ 13 - 51
js/component/manageCenter/financialManage/distribute/shouKuang.jsx

@@ -155,6 +155,7 @@ const ShouKuang = React.createClass({
         amountStatus: this.state.amountStatus,
         approval: this.state.approval,
         projectType: this.state.projectType,
+        myExamine: this.state.myExamine,
       },
       success: function (data) {
         let theArr = [];
@@ -1391,29 +1392,9 @@ const ShouKuang = React.createClass({
           render: (text, recard) => {
             return (
               <div>
-                {/* {recard.liquidationStatus < 2 &&
-                (recard.approval === 1 || recard.approval === 2) ? (
-                  <Button
-                    style={{ background: "rgb(192,192,192)" }}
-                    onClick={e => {
-                      e.stopPropagation(), this.evaluateX(recard);
-                    }}
-                  >
-                    收款
-                  </Button>
-                ) : (
-                  <Button
-                    type="primary"
-                    onClick={e => {
-                      e.stopPropagation(), this.evaluateX(recard);
-                    }}
-                  >
-                    收款
-                  </Button>
-                )} */}
-                {recard.backStatus == 3 ? <Tag>已驳回</Tag> : ""}
+                {/* {recard.backStatus == 3 ? <Tag>已驳回</Tag> : ""} */}
 
-                {recard.processStatus == 3 &&
+                {recard.processStatus == 3 && recard.myExamine == 0 &&
                   <Button
                     type="primary"
                     onClick={(e) => {
@@ -1424,35 +1405,16 @@ const ShouKuang = React.createClass({
                     通过
                   </Button>}
 
-                {!(
-                  recard.actuallyTotalAmount &&
-                  Number(recard.actuallyTotalAmount) > 0
-                ) && (
-                    <Button
-                      type="danger"
-                      style={{
-                        marginLeft: "5px",
-                        display:
-                          recard.processStatus == 3 ? "inline-block" : "none",
-                      }}
-                      onClick={(e) => {
-                        e.stopPropagation(), this.reject(recard);
-                      }}
-                    >
-                      驳回
-                    </Button>
-                  )}
-                {
-                  // <Button
-                  //   type="primary"
-                  //   style={{ marginLeft: "5px" }}
-                  //   onClick={e => {
-                  //     e.stopPropagation(), this.evaluateY(recard, "财务专员");
-                  //     console.log(recard);
-                  //   }}
-                  // >
-                  //   转交
-                  // </Button>
+                {recard.processStatus == 3 && recard.myExamine == 0 &&
+                  <Button
+                    type="danger"
+                    style={{ marginLeft: "5px", }}
+                    onClick={(e) => {
+                      e.stopPropagation(), this.reject(recard);
+                    }}
+                  >
+                    驳回
+                  </Button>
                 }
               </div>
             );

+ 105 - 34
js/component/manageCenter/project/project/projectAssignment.jsx

@@ -47,6 +47,7 @@ import Gxczx from '../../../common/orderDetail/gxczx' // 高新纯咨询合同
 
 
 const { TabPane } = Tabs
+const { TextArea } = Input;
 
 const PaiDan = React.createClass({
   loadData(pageNo) {
@@ -87,6 +88,7 @@ const PaiDan = React.createClass({
               orderNo: thisdata.orderNo, //订单编号
               totalAmount: thisdata.totalAmount, //签单金额
               processStatus: thisdata.processStatus, //流程状态
+              myExamine: thisdata.myExamine, // 0 待审核
               liquidationStatus: thisdata.liquidationStatus, //结算状态
               approval: thisdata.approval, //特批状态
               signDate: thisdata.signDate, //签单时间
@@ -233,16 +235,24 @@ const PaiDan = React.createClass({
           key: "caouzo",
           render: (text, record) => {
             return (
-              <div>
-                <Button
-                  type="primary"
-                  style={{ margin: "0 10px" }}
-                  onClick={e => {
-                    e.stopPropagation(), this.examNo(record);
-                  }}
-                >
-                  驳回
-                </Button>
+              <div style={{ display: "flex" }}>
+                {record.processStatus > 4 && <Tag color="#87d068">已审核</Tag>}
+                {record.processStatus == 3 && record.myExamine == 0 &&
+                  <Button
+                    type="primary"
+                    onClick={(e) => {
+                      e.stopPropagation(), this.checkRemark(record);
+                    }}
+                    style={{ margin: "0 5px" }}
+                  >通过</Button>}
+                {(record.processStatus == 3 || record.processStatus > 4) &&
+                  <Button
+                    type="primary"
+                    style={{ margin: "0 5px" }}
+                    onClick={e => {
+                      e.stopPropagation(), this.examNo(record);
+                    }}
+                  >驳回</Button>}
               </div>
             );
           }
@@ -401,7 +411,8 @@ const PaiDan = React.createClass({
           render: (text, record) => {
             return (
               <div>
-                {(this.state.processStatus == 5 || record.taskStatus == 0) && record.cSort != 6 &&
+                {(this.state.processStatus == 5 || this.state.processStatus == 6) &&
+                  record.taskStatus == 0 && record.cSort != 6 &&
                   <Button
                     type="primary"
                     onClick={e => {
@@ -442,6 +453,59 @@ const PaiDan = React.createClass({
     this.xiangmu(record.orderNo);
     this.jiedian(record.orderNo);
   },
+
+  checkRemark(record) {
+    this.setState({
+      checkVisible: true,
+      checkOrderNo: record.orderNo,
+    });
+  },
+  // 同意
+  checkOk() {
+    if (!this.state.checkData) {
+      message.warning("请填写审核内容");
+      return;
+    }
+    if (!this.state.checkData.replace(/\s+/g, '')) {
+      message.warning("请填写审核内容");
+      return;
+    }
+    this.setState({
+      loading: true,
+    });
+    let ajaxObj = $.ajax({
+      method: "post",
+      dataType: "json",
+      crossDomain: false,
+      url: globalConfig.context + "/api/admin/financial/financeApproval",
+      data: {
+        orderNo: this.state.checkOrderNo,
+        remarks: this.state.checkData,
+      },
+      success: function (data) {
+        let theArr = [];
+        if (!data.data) {
+          if (data.error && data.error.length) {
+            message.warning(data.error[0].message);
+          }
+        } else {
+          message.success("通过成功!");
+          this.loadData();
+          this.setState({
+            checkVisible: false,
+            checkData: "",
+          });
+        }
+      }.bind(this),
+    }).always(
+      function () {
+        this.setState({
+          loading: false,
+        });
+      }.bind(this)
+    );
+  },
+
   //审核不通过
   examOks() {
     if (this.state.flag) return;
@@ -549,6 +613,7 @@ const PaiDan = React.createClass({
             signDate: thisdata.signDate, //签单时间
             examineName: thisdata.examineName,
             processStatus: thisdata.processStatus, //流程状态
+            myExamine: thisdata.myExamine, // 0 待审核
             liquidationStatus: thisdata.liquidationStatus, //结算状态
             contacts: thisdata.contacts, //企业联系人
             contactMobile: thisdata.contactMobile, //联系人电话
@@ -849,7 +914,7 @@ const PaiDan = React.createClass({
     this.state.releaseDate = [];
     this.state.orderNoSearch = "";
     this.state.departmenttSearch = undefined;
-    this.state.distribution = undefined;
+    this.state.distribution = "0";
     this.Cascaders.empty();
     this.loadData(this.state.page);
   },
@@ -1253,9 +1318,10 @@ const PaiDan = React.createClass({
                 placeholder="分派状态"
                 value={this.state.distribution}
               >
-                <Option value="0">未分配</Option>
-                <Option value="1">部分分配</Option>
-                <Option value="2">全部分配</Option>
+                <Option value="0">未审核</Option>
+                <Option value="1">未分配</Option>
+                <Option value="2">部分分配</Option>
+                <Option value="3">全部分配</Option>
               </Select>
               <Button type="primary" onClick={this.search}>
                 搜索
@@ -1788,25 +1854,30 @@ const PaiDan = React.createClass({
             </Spin>
           </Form>
         </Modal> : <div />}
-        {/* <Modal
-          visible={this.state.rizhivisible}
-          className="admin-desc-content"
-          width="800px"
-          maskClosable={false}
-          title="订单日志"
-          footer={null}
-          onCancel={this.closeOrderLog}
-        >
-          <div className="patent-table">
-            <Spin spinning={this.state.loading}>
-              <Table
-                columns={this.state.columnsrizhi}
-                dataSource={this.state.dataSourcerizhi}
-                pagination={false}
-              />
-            </Spin>
-          </div>
-        </Modal> */}
+        {this.state.checkVisible &&
+          <Modal
+            title="审核订单"
+            visible={this.state.checkVisible}
+            onOk={this.checkOk}
+            confirmLoading={this.state.loading}
+            okText={"通过"}
+            onCancel={() => {
+              this.setState({
+                checkVisible: false,
+                checkData: "",
+              });
+            }}
+          >
+            <TextArea
+              value={this.state.checkData}
+              onChange={(e, recard) => {
+                this.setState({
+                  checkData: e.target.value,
+                });
+              }}
+              placeholder="请填写审核内容"
+            />
+          </Modal>}
         <OrderRiZi
           dataSourcerizhi={this.state.dataSourcerizhi}
           closeOrderLog={this.closeOrderLog}

+ 4 - 3
js/component/manageCenter/project/project/projectQuery.jsx

@@ -834,9 +834,10 @@ const PaiDan = React.createClass({
                 placeholder="分派状态"
                 value={this.state.distribution}
               >
-                <Option value="0">未分配</Option>
-                <Option value="1">部分分配</Option>
-                <Option value="2">全部分配</Option>
+                <Option value="0">未审核</Option>
+                <Option value="1">未分配</Option>
+                <Option value="2">部分分配</Option>
+                <Option value="3">全部分配</Option>
               </Select>
               <Button type="primary" onClick={this.search}>
                 搜索

+ 2 - 2
js/component/tools.js

@@ -1866,7 +1866,7 @@ const obj = {
       });
       return theType;
     }
-  }, //
+  },
   //新项目类型
   getNewOrderType: function (e) {
     if (e || e == 0) {
@@ -1891,7 +1891,7 @@ const obj = {
         }
       });
       return theType;
-    } //
+    }
   },
   //奖金发放状态
   getBonusState: function (e) {

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "afanti",
-  "version": "1.2.70",
+  "version": "1.2.71",
   "description": "",
   "main": "index.js",
   "scripts": {