Browse Source

总裁特批功能修改

mentoswzq 5 years ago
parent
commit
1deac5e0bf
1 changed files with 443 additions and 130 deletions
  1. 443 130
      js/component/manageCenter/order/orderNew/approveds.jsx

+ 443 - 130
js/component/manageCenter/order/orderNew/approveds.jsx

@@ -1,5 +1,20 @@
 import React from 'react';
-import { Icon, Button, Input, Select, Spin, Table, message,DatePicker, Upload, Form ,Modal,Col} from 'antd';
+import {
+  Icon,
+  Button,
+  Input,
+  Select,
+  Spin,
+  Table,
+  message,
+  DatePicker,
+  Upload,
+  Form,
+  Modal,
+  Col,
+  Tag,
+  Tabs
+} from "antd";
 import $ from 'jquery/src/ajax';
 import moment from 'moment';
 import {
@@ -10,10 +25,14 @@ import {
   getjiedian,
   getboutique,
   getCuikuan,
-  ShowModal
+  ShowModal,
+  getApproval
 } from "@/tools.js";
 import './customer.less';
+import { ChooseList } from "../orderNew/chooseList";
 import ShowModalDiv from "@/showModal.jsx";
+const { TabPane } = Tabs;
+const { TextArea } = Input;
 //图片组件
 const PicturesWall = React.createClass({
 	getInitialState() {
@@ -79,7 +98,7 @@ const PicturesWall = React.createClass({
 
 const IntentionCustomer = Form.create()(
   React.createClass({
-    loadData(pageNo) {
+    loadData(pageNo, pageSize) {
       this.setState({
         visitModul: false,
         loading: true,
@@ -93,13 +112,16 @@ const IntentionCustomer = Form.create()(
         url: globalConfig.context + "/api/admin/newOrder/orderNewList",
         data: {
           pageNo: pageNo || 1,
-          pageSize: this.state.pagination.pageSize,
+          pageSize: pageSize || this.state.pagination.pageSize,
           specially: 3, //审核列表
-          name: this.state.customerName, //名称
+          name: this.state.nameSearch, //名称
           orderNo: this.state.orderNoSearch, //订单编号
-          depId: this.state.departmenttSearch, //订单部门
+          contractNo: this.state.contractNoSearch, //合同编号
+          depId: this.state.departmenttList, //订单部门
           starTime: this.state.releaseDate[0], //开始时间
-          endTime: this.state.releaseDate[1] //结束时间
+          endTime: this.state.releaseDate[1], //结束时间
+          approval: this.state.approvalSearch ? this.state.approvalSearch : 0, //审批状态
+          liquidationStatus: this.state.liquidationStatus //结算状态
         },
         success: function(data) {
           ShowModal(this);
@@ -112,19 +134,26 @@ const IntentionCustomer = Form.create()(
             for (let i = 0; i < data.data.list.length; i++) {
               let thisdata = data.data.list[i];
               theArr.push({
-                key: i,
-                id: thisdata.id, //用户ID
-                orderNo: thisdata.orderNo, //订单编号
-                totalAmount: thisdata.totalAmount, //签单金额
-                processStatus: thisdata.processStatus, //流程状态
-                liquidationStatus: thisdata.liquidationStatus, //结算状态
-                approval: thisdata.approval, //特批状态
-                signDate: thisdata.signDate, //签单时间
-                userName: thisdata.userName, //客户名称
-                salesmanName: thisdata.salesmanName, //营销员名称
-                financeName: thisdata.financeName, //财务名称
-                createDate: thisdata.createDate, //下单时间
-                depName: thisdata.depName //部门名称
+                key: thisdata.orderNo,
+                orderNo: thisdata.orderNo,
+                orderType: thisdata.orderType,
+                orderStatus: thisdata.orderStatus,
+                salesmanName: thisdata.salesmanName,
+                processStatus: thisdata.processStatus,
+                liquidationStatus: thisdata.liquidationStatus,
+                approval: thisdata.approval,
+                settlementAmount: thisdata.settlementAmount,
+                signDate: thisdata.signDate,
+                companyId: thisdata.companyId,
+                companyName: thisdata.companyName,
+                buyerId: thisdata.buyerId,
+                userName: thisdata.userName,
+                contractNo: thisdata.contractNo,
+                createDate: thisdata.createDate,
+                depName: thisdata.depName,
+                invoiceAmount: thisdata.invoiceAmount,
+                totalAmount: thisdata.totalAmount,
+                financeName: thisdata.financeName
               });
             }
             this.state.pagination.total = data.data.totalCount;
@@ -169,71 +198,101 @@ const IntentionCustomer = Form.create()(
         },
         columns: [
           {
-            title: "订单编号",
-            dataIndex: "orderNo",
-            key: "orderNo"
+            title: "合同编号",
+            dataIndex: "contractNo",
+            key: "contractNo",
+            className: "title-table"
           },
           {
-            title: "下单时间",
-            dataIndex: "createDate",
-            key: "createTime"
+            title: "订单编号",
+            dataIndex: "orderNo",
+            key: "orderNo",
+            className: "title-table"
+            // fixed: "left"
           },
           {
-            title: "合同签订时间",
-            dataIndex: "signDate",
-            key: "signDate"
+            title: "特批状态",
+            dataIndex: "approval",
+            key: "approval",
+            className: "title-table",
+            render: text => {
+              if (text == 1 || text == 2) {
+                return <Tag color="#f50">{getApproval(text)}</Tag>;
+              }
+              return getApproval(text);
+            }
           },
           {
             title: "客户名称",
             dataIndex: "userName",
             key: "userName",
-            render: text => {
-              return text && text.length > 9 ? text.substr(0, 9) + "..." : text;
-            }
+            className: "title-table"
           },
           {
-            title: "流程状态",
-            dataIndex: "processStatus",
-            key: "processStatus",
-            render: text => {
-              return getProcessStatus(text);
-            }
+            title: "订单部门",
+            dataIndex: "depName",
+            key: "depName",
+            className: "title-table"
+          },
+          {
+            title: "订单负责人",
+            dataIndex: "salesmanName",
+            key: "salesmanName",
+            className: "title-table"
+          },
+          {
+            title: "财务负责人",
+            dataIndex: "financeName",
+            key: "financeName",
+            className: "title-table"
+          },
+          {
+            title: "签单日期",
+            dataIndex: "signDate",
+            key: "signDate",
+            className: "title-table"
+          },
+          {
+            title: "下单日期",
+            dataIndex: "createDate",
+            key: "createDate",
+            className: "title-table"
           },
           {
             title: "签单金额(万元)",
             dataIndex: "totalAmount",
-            key: "totalAmount"
+            key: "totalAmount",
+            className: "title-table"
+          },
+          {
+            title: "开票金额(万元)",
+            dataIndex: "invoiceAmount",
+            key: "invoiceAmount",
+            className: "title-table"
+          },
+          {
+            title: "已收款(万元)",
+            dataIndex: "settlementAmount",
+            key: "settlementAmount",
+            className: "title-table"
           },
           {
             title: "结算状态",
             dataIndex: "liquidationStatus",
             key: "liquidationStatus",
+            className: "title-table",
             render: text => {
               return getLiquidationStatus(text);
             }
           },
           {
-            title: "是否特批",
-            dataIndex: "approval",
-            key: "approval",
+            title: "流程状态",
+            dataIndex: "processStatus",
+            key: "processStatus",
+            className: "title-table",
             render: text => {
-              return getApprovedState(text);
+              return getProcessStatus(text);
             }
-          },
-          {
-            title: "订单负责人",
-            dataIndex: "salesmanName",
-            key: "salesmanName"
-          },
-          {
-            title: "财务负责人",
-            dataIndex: "financeName",
-            key: "financeName"
-          },
-          {
-            title: "订单部门",
-            dataIndex: "depName",
-            key: "depName"
           }
         ],
         data: [],
@@ -301,6 +360,11 @@ const IntentionCustomer = Form.create()(
             title: "时间",
             dataIndex: "createDate",
             key: "createDate"
+          },
+          {
+            title: "备注",
+            dataIndex: "remarks",
+            key: "remarks"
           }
         ],
         dataSourceX: [],
@@ -567,7 +631,7 @@ const IntentionCustomer = Form.create()(
         success: function(data) {
           let theArr = [];
           let thisData = data.data;
-          if (!thisData.length) {
+          if (thisData && !thisData.length) {
             if (data.error && data.error.length) {
               message.warning(data.error[0].message);
             }
@@ -712,10 +776,9 @@ const IntentionCustomer = Form.create()(
     },
     //审核通过
     examOk() {
-      if (this.state.flagE) return;
       this.setState({
-        flagE: true
-      });
+        loading: true
+      })
       $.ajax({
         method: "post",
         dataType: "json",
@@ -729,9 +792,6 @@ const IntentionCustomer = Form.create()(
           if (data.error.length || data.data.list == "") {
             if (data.error && data.error.length) {
               message.warning(data.error[0].message);
-              this.setState({
-                flagE: false
-              });
             }
           } else {
             message.success("该特批订单已通过审核~");
@@ -739,9 +799,6 @@ const IntentionCustomer = Form.create()(
               visible: false
             });
             this.reset();
-            this.setState({
-              flagE: false
-            });
           }
         }.bind(this)
       }).always(
@@ -754,9 +811,8 @@ const IntentionCustomer = Form.create()(
     },
     //审核不通过
     examOks() {
-      if (this.state.flagE) return;
       this.setState({
-        flagE: true
+        loading: true
       });
       $.ajax({
         method: "post",
@@ -772,9 +828,6 @@ const IntentionCustomer = Form.create()(
           if (data.error.length || data.data.list == "") {
             if (data.error && data.error.length) {
               message.warning(data.error[0].message);
-              this.setState({
-                flagE: false
-              });
             }
           } else {
             message.success("该特批订单已被驳回~");
@@ -785,9 +838,6 @@ const IntentionCustomer = Form.create()(
             });
             this.loadData();
             this.resets();
-            this.setState({
-              flagE: false
-            });
           }
         }.bind(this)
       }).always(
@@ -823,12 +873,14 @@ const IntentionCustomer = Form.create()(
       this.setState({
         signBillVisible: false
       });
-      this.state.orderNo = "";
-      this.state.customerName = "";
-      this.state.departmenttSearch = undefined;
+      this.state.orderNoSearch = undefined;
+      this.state.contractNoSearch = undefined;
+      this.state.nameSearch = undefined;
+      this.state.liquidationStatus = [];
+      this.state.departmenttList = undefined;
       this.state.releaseDate[0] = undefined;
       this.state.releaseDate[1] = undefined;
-      this.state.approval = undefined;
+      this.state.approvalSearch = undefined;
       this.loadData();
     },
     resets() {
@@ -922,64 +974,323 @@ const IntentionCustomer = Form.create()(
       return (
         <div className="user-content">
           <ShowModalDiv ShowModal={this.state.showModal} />
-          <div className="content-title">
-            <span>特批订单审核</span>
+          <div className="content-title" style={{ marginBottom: 10 }}>
+            <span style={{ fontWeight: 900, fontSize: 16 }}>特批订单审核</span>
           </div>
-          <div className="user-search">
-            <Input
-              placeholder="客户名称"
-              style={{ width: "150px", marginBottom: "10px" }}
-              value={this.state.customerName}
-              onChange={e => {
-                this.setState({ customerName: e.target.value });
-              }}
-            />
-            <Input
-              placeholder="订单编号"
-              style={{ width: "150px" }}
-              value={this.state.orderNoSearch}
-              onChange={e => {
-                this.setState({ orderNoSearch: e.target.value });
-              }}
-            />
-            <Select
-              placeholder="选择部门"
-              style={{ width: 150, marginRight: "10px" }}
-              value={this.state.departmenttSearch}
-              onChange={e => {
-                this.setState({ departmenttSearch: e });
-              }}
-            >
-              {departmentArr.map(function(item) {
-                return <Select.Option key={item.id}>{item.name}</Select.Option>;
-              })}
-            </Select>
-            <span style={{ marginRight: "10px" }}>下单时间 :</span>
-            <RangePicker
-              value={[
-                this.state.releaseDate[0]
-                  ? moment(this.state.releaseDate[0])
-                  : null,
-                this.state.releaseDate[1]
-                  ? moment(this.state.releaseDate[1])
-                  : null
-              ]}
-              onChange={(data, dataString) => {
-                this.setState({ releaseDate: dataString });
-              }}
-            />
+          <Tabs defaultActiveKey="2" onChange={this.callback} className="test">
+            <TabPane tab="更改表格显示数据" key="1">
+              <div style={{ marginLeft: 10 }}>
+                <ChooseList
+                  columns={this.state.columns}
+                  changeFn={this.changeList}
+                  changeList={this.state.changeList}
+                  top={55}
+                  margin={11}
+                />
+              </div>
+            </TabPane>
+            <TabPane tab="搜索" key="2">
+              <div className="user-search" style={{ marginLeft: 10 }}>
+                <Input
+                  placeholder="订单编号"
+                  value={this.state.orderNoSearch}
+                  onChange={e => {
+                    this.setState({ orderNoSearch: e.target.value });
+                  }}
+                />
+                <Input
+                  placeholder="客户名称"
+                  value={this.state.nameSearch}
+                  onChange={e => {
+                    this.setState({ nameSearch: e.target.value });
+                  }}
+                />
+                <Select
+                  placeholder="订单部门"
+                  style={{ width: 150, marginRight: 10 }}
+                  value={this.state.departmenttList}
+                  onChange={e => {
+                    this.setState({ departmenttList: e });
+                  }}
+                >
+                  {departmentArr.map(function(item) {
+                    return (
+                      <Select.Option key={item.id}>{item.name}</Select.Option>
+                    );
+                  })}
+                </Select>
+                <Input
+                  placeholder="合同编号"
+                  value={this.state.contractNoSearch}
+                  onChange={e => {
+                    this.setState({
+                      contractNoSearch: e.target.value
+                    });
+                  }}
+                />
+                <Select
+                  placeholder="审核状态"
+                  onChange={e => {
+                    this.setState({ approvalSearch: e });
+                  }}
+                  style={{ width: 160, marginRight: 5 }}
+                  value={this.state.approvalSearch}
+                >
+                  <Option value="1">未审核</Option>
+                  <Option value="2">已审核</Option>
+                  <Option value="0">全部</Option>
+                </Select>
+                <Select
+                  placeholder="结算状态"
+                  onChange={e => {
+                    this.setState({ liquidationStatus: e });
+                  }}
+                  style={{ width: 160, marginRight: 5 }}
+                  value={this.state.liquidationStatus}
+                >
+                  <Option value="0">首付待付清</Option>
+                  <Option value="1">尾款待付清</Option>
+                  <Option value="2">已付清</Option>
+                </Select>
+                <span style={{}}>下单日期:</span>
+                <RangePicker
+                  value={[
+                    this.state.releaseDate[0]
+                      ? moment(this.state.releaseDate[0])
+                      : null,
+                    this.state.releaseDate[1]
+                      ? moment(this.state.releaseDate[1])
+                      : null
+                  ]}
+                  onChange={(data, dataString) => {
+                    this.setState({ releaseDate: dataString });
+                  }}
+                />
+                <Button
+                  type="primary"
+                  onClick={this.search}
+                  style={{ marginLeft: 10 }}
+                  disabled={this.state.loadingA ? true : false}
+                >
+                  搜索
+                </Button>
+                <Button onClick={this.reset}>重置</Button>
+              </div>
+            </TabPane>
+            <TabPane tab="打印" key="3">
+              <Button
+                type="primary"
+                style={{ margin: "11px 0px 10px 10px" }}
+                onClick={this.printAll}
+                disabled={!this.state.dataSource.length}
+              >
+                打印所有列表信息
+              </Button>
+              <Button
+                type="primary"
+                disabled={this.state.selectedRowKeys.length != 1}
+                style={{ margin: "11px 0px 10px 10px" }}
+                onClick={() => {
+                  this.inRecordData();
+                  this.setState({
+                    bvisible: true
+                  });
+                }}
+              >
+                打印开票详情
+              </Button>
+              <Button
+                type="primary"
+                disabled={this.state.selectedRowKeys.length != 1}
+                style={{ margin: "11px 0px 10px 10px" }}
+                onClick={() => {
+                  this.waterData();
+                  this.setState({
+                    cvisible: true
+                  });
+                }}
+              >
+                打印收款流水
+              </Button>
+              <Button
+                type="primary"
+                disabled={this.state.selectedRowKeys.length != 1}
+                style={{ margin: "11px 0px 10px 10px" }}
+                onClick={() => {
+                  this.timeData();
+                  this.setState({
+                    timeVisible: true
+                  });
+                }}
+              >
+                打印工时信息
+              </Button>
+              <Button
+                type="primary"
+                disabled={this.state.selectedRowKeys.length != 1}
+                style={{ margin: "11px 0px 10px 10px" }}
+                onClick={() => {
+                  this.cuiData();
+                  this.setState({
+                    cuiVisible: true
+                  });
+                }}
+              >
+                打印催款信息
+              </Button>
+              <Button
+                type="primary"
+                disabled={this.state.selectedRowKeys.length != 1}
+                style={{ margin: "11px 0px 10px 10px" }}
+                onClick={() => {
+                  this.proData();
+                  this.setState({
+                    proVisible: true
+                  });
+                }}
+              >
+                打印项目信息
+              </Button>
+            </TabPane>
+            <TabPane tab="导出Excel" key="4">
+              <Button
+                type="primary"
+                style={{ margin: "11px 0px 10px 10px" }}
+                onClick={this.exportAll}
+              >
+                导出当前列表
+              </Button>
+              <Button
+                type="primary"
+                disabled={this.state.selectedRowKeys.length != 1}
+                style={{ margin: "11px 0px 10px 10px" }}
+                onClick={this.exportKaip}
+              >
+                导出所选开票详情
+              </Button>
+              <Button
+                type="primary"
+                disabled={this.state.selectedRowKeys.length != 1}
+                style={{ margin: "11px 0px 10px 10px" }}
+                onClick={this.exportWater}
+              >
+                导出所选收款详情流水
+              </Button>
+              <Button
+                type="primary"
+                disabled={this.state.selectedRowKeys.length != 1}
+                style={{ margin: "11px 0px 10px 10px" }}
+                onClick={this.exportTime}
+              >
+                导出所选工时信息
+              </Button>
+              <Button
+                type="primary"
+                disabled={this.state.selectedRowKeys.length != 1}
+                style={{ margin: "11px 0px 10px 10px" }}
+                onClick={this.exportCui}
+              >
+                导出催款信息
+              </Button>
+              <Button
+                type="primary"
+                disabled={this.state.selectedRowKeys.length != 1}
+                style={{ margin: "11px 0px 10px 10px" }}
+                onClick={this.exportPro}
+              >
+                导出项目详情
+              </Button>
+            </TabPane>
+            <TabPane tab="查看" key="5">
+              <Button
+                type="primary"
+                disabled={this.state.selectedRowKeys.length != 1}
+                style={{ margin: "11px 0px 10px 10px" }}
+                onClick={() => {
+                  this.inRecordData();
+                  this.setState({
+                    bvisible: true
+                  });
+                }}
+              >
+                查看开票详情
+              </Button>
+              <Button
+                type="primary"
+                disabled={this.state.selectedRowKeys.length != 1}
+                style={{ margin: "11px 0px 10px 10px" }}
+                onClick={() => {
+                  this.waterData();
+                  this.setState({
+                    cvisible: true
+                  });
+                }}
+              >
+                详情收款流水
+              </Button>
+              <Button
+                type="primary"
+                disabled={this.state.selectedRowKeys.length != 1}
+                style={{ margin: "11px 0px 10px 10px" }}
+                onClick={() => {
+                  this.timeData();
+                  this.setState({
+                    timeVisible: true
+                  });
+                }}
+              >
+                工时信息
+              </Button>
+              <Button
+                type="primary"
+                disabled={this.state.selectedRowKeys.length != 1}
+                style={{ margin: "11px 0px 10px 10px" }}
+                onClick={() => {
+                  this.cuiData();
+                  this.setState({
+                    cuiVisible: true
+                  });
+                }}
+              >
+                催款信息
+              </Button>
+              <Button
+                type="primary"
+                disabled={this.state.selectedRowKeys.length != 1}
+                style={{ margin: "11px 0px 10px 10px" }}
+                onClick={() => {
+                  this.proData();
+                  this.setState({
+                    proVisible: true
+                  });
+                }}
+              >
+                项目信息
+              </Button>
+            </TabPane>
+            {/* <TabPane tab="批量操作" key="6">
             <Button
               type="primary"
-              onClick={this.search}
-              style={{ marginLeft: "10px" }}
+              disabled={this.state.selectedRowKeys.length == 0}
+              style={{ margin: "0px 0px 10px 10px" }}
+              onClick={e => {
+                e.stopPropagation(),
+                  this.evaluateY(this.state.selectedRowKeys, "财务专员");
+              }}
             >
-              搜索
+              转交
             </Button>
-            <Button onClick={this.reset}>重置</Button>
+          </TabPane> */}
+          </Tabs>
+          <div className="user-search">
             <div className="patent-table">
               <Spin spinning={this.state.loading}>
                 <Table
-                  columns={this.state.columns}
+                  columns={
+                    this.state.changeList == undefined
+                      ? this.state.columns
+                      : this.state.changeList
+                  }
                   dataSource={this.state.dataSource}
                   rowSelection={rowSelection}
                   pagination={this.state.pagination}
@@ -1406,6 +1717,8 @@ const IntentionCustomer = Form.create()(
                     columns={this.state.columnsrizhi}
                     dataSource={this.state.dataSourcerizhi}
                     pagination={false}
+                    bordered
+                    size="small"
                   />
                 </Spin>
               </div>