Browse Source

部门组件

dev01 2 years ago
parent
commit
1364299c91

+ 95 - 58
js/component/common/cascaders/index.jsx

@@ -3,13 +3,14 @@ import { Button, message, Modal, Spin, Table, Checkbox, Collapse, } from "antd";
 import $ from "jquery/src/ajax";
 import "./index.less";
 
+//选择部门组件  2022-07-12
 class Cascaders extends Component {
   constructor(props) {
     super(props);
     this.state = {
-      visible: false,
-      authTree: [],
-      checkedList: [],
+      visible: false,//弹窗开关
+      authTree: [],//列表显示数据
+      checkedList: [],//选中数据
     };
     this.itemHandle = this.itemHandle.bind(this);
     this.onSelect = this.onSelect.bind(this);
@@ -17,7 +18,6 @@ class Cascaders extends Component {
     this.onCancel = this.onCancel.bind(this);
   }
 
-
   componentDidMount() {
     // 后端返回的数据,转成前端要用的数据保存页面使用
     // const authTree = [...params.authTree];
@@ -32,23 +32,57 @@ class Cascaders extends Component {
       this.itemHandle(item);
     });
   }
+  // 获取部门数据
+  selectSuperId() {
+    $.ajax({
+      method: "get",
+      dataType: "json",
+      url: globalConfig.context + "/api/admin/organization/selectSuperId",
+      data: {},
+      success: function (data) {
+        let theArr = [];
+        if (data.error && data.error.length === 0) {
+          localStorage.setItem("departmentData", JSON.stringify(data.data));
+          this.setState({
+            visible: true,
+            authTree: data.data || []
+          }, () => {
+            this.authTreeFun();
+          })
+        } else {
+          // message.warning(data.error[0].message);
+        }
+      }.bind(this),
+    }).always(
+
+    );
+  }
   // 点击选择部门
   onSelect() {
-    const list = JSON.parse(localStorage.getItem("departmentData"))
+    // 缓存的后端返回数据,转成前端要用的数据保存页面使用 
+    const list = JSON.parse(localStorage.getItem("departmentData")) || []
     const authTree = list
-    this.setState({
-      visible: true,
-      authTree: authTree,
-    }, () => {
-      this.authTreeFun();
-    })
+    if (authTree.length > 0) {
+      this.setState({
+        visible: true,
+        authTree: authTree,
+      }, () => {
+        this.authTreeFun();
+      })
+    } else {
+      //若缓存清理则重新请求接口拿
+      this.selectSuperId()
+    }
   }
-
+  // 确定
   onOks() {
-    const { authTree, checkedList } = this.state
+    const { authTree } = this.state
     const { id = "id", children = "children", onSel } = this.props
     let list = []
     authTree.forEach((its) => {
+      if (its.checked) {
+        list.push(its[id])
+      }
       if (its[children]) {
         its[children].forEach((itl) => {
           if (itl.checked) {
@@ -61,20 +95,18 @@ class Cascaders extends Component {
       checkedList: list,
       visible: false,
     })
-    onSel(checkedList)
+    onSel(list)
   }
-
+  // 取消
   onCancel() {
     this.setState({
       visible: false,
     })
   }
-
-  // 代码三级联动核心就在这里
+  // 代码二级联动
   itemHandle(iD, checked = true) {
     const { id = "id", children = "children" } = this.props
     const { authTree } = this.state
-    // const authTree = [...this.state.authTree];
     authTree.forEach((item1) => {
       if (item1[id] == iD) {
         item1.checked = checked;
@@ -84,24 +116,34 @@ class Cascaders extends Component {
           });
         }
       } else {
-        // 反向思路: 保存子选项框的个数, 子选项选中就-1, 等于0说明都选中了, 父选项就勾上
-        let temp1 = !!item1[children] ? item1[children].length : 0;
-        !!item1[children] && item1[children].forEach((item2) => {
-          if (item2[id] == iD) {
-            item2.checked = checked;
-          }
-          //  选中-1, 未选中不动
-          item2.checked ? temp1 -= 1 : temp1;
-        });
-        //  长度是0, 父选项框就勾选
-        !!item1[children] && temp1 === 0 ? item1.checked = true : item1.checked = false;
+        if (!!item1[children]) {
+          // 反向思路: 保存子选项框的个数, 子选项选中就-1, 等于0说明都选中了, 父选项就勾上
+          let temp1 = item1[children].length;
+          item1[children].forEach((item2) => {
+            if (item2[id] == iD) {
+              item2.checked = checked;
+            }
+            //  选中-1, 未选中不动
+            item2.checked ? temp1 -= 1 : temp1;
+          });
+          //  长度是0, 父选项框就勾选
+          temp1 === 0 ? item1.checked = true : item1.checked = false;
+        } else {
+
+        }
       }
     });
     this.setState({
       authTree,
     });
   }
-
+  // 清空  现用于重置
+  empty() {
+    this.setState({
+      visible: false,
+      checkedList: []
+    })
+  }
 
   render() {
     const { Panel } = Collapse;
@@ -110,21 +152,22 @@ class Cascaders extends Component {
       placeholder = "选择部门",
       width = 200,
       height = 32,
-      id = "id",
-      name = "name",
-      children = "children",
+      id = "id",//接口需要的字段名
+      name = "name",//显示内容字段名
+      children = "children",//二级列表字段名
     } = this.props
     const authTreeMap = authTree.map((item1) => (
       // Panel是手风琴
       <Panel
         key={item1[id]}
         header={(
-          <div className="item" onClick={(e) => { e.stopPropagation(); }}>
+          <div className="item">
             {/* 一级复选框(向下操控二级三级) */}
             <Checkbox
               name={item1[id]}
               checked={item1.checked}
               onClick={(e) => {
+                e.stopPropagation();
                 this.itemHandle(e.target.name, e.target.checked);
               }}
             >
@@ -144,7 +187,7 @@ class Cascaders extends Component {
               }}
             >
             </Checkbox>
-            <div className="iname">{item2[name]}</div>
+            <div className="iname" style={{ width: "90%" }}>{item2[name]}</div>
           </div>
         ))}
       </Panel>
@@ -159,31 +202,25 @@ class Cascaders extends Component {
             color: checkedList.length > 0 ? "rgba(0, 0, 0, 0.65)" : "rgba(191, 191, 191, 1)"
           }}
           onClick={this.onSelect}
-        >{checkedList.length > 0 ? `已选择${checkedList.length}个部门` : placeholder}
+        >
+          <div className="ctext">{checkedList.length > 0 ? `已选择${checkedList.length}项` : placeholder}</div>
         </div>
-        {
-          visible &&
-          <div
-            className="cpop"
-            style={{
-              width: width,
-            }}
-          >
-            <div className="clist">
-              <Collapse expandIconPosition="right">
-                {authTreeMap}
-              </Collapse>
+        <div data-reactroot>
+          {
+            visible &&
+            <div className="cpop" style={{ width: width, }}>
+              <div className="clist">
+                <Collapse expandIconPosition="right">
+                  {authTreeMap}
+                </Collapse>
+              </div>
+              <div className="cboot">
+                <Button type="primary" style={{ marginLeft: 10 }} onClick={this.onOks}>确定</Button>
+                <Button onClick={this.onCancel}>取消</Button>
+              </div>
             </div>
-            <div className="cboot">
-              <Button
-                type="primary"
-                style={{ marginLeft: 10 }}
-                onClick={this.onOks}
-              >确定</Button>
-              <Button onClick={this.onCancel}>取消</Button>
-            </div>
-          </div>
-        }
+          }
+        </div>
       </div>
     );
   }

+ 24 - 9
js/component/common/cascaders/index.less

@@ -1,32 +1,47 @@
 .cascaders {
+  box-sizing: border-box;
   display: inline-block;
   position: relative;
-  z-index: 99999999;
+
 }
 
 .cinput {
+  cursor: pointer;
   margin-right: 10px;
-  padding: 6px 7px;
+  position: relative;
+  display: inline-block;
+  padding: 4px 7px;
   font-size: 12px;
+  line-height: 1.5;
   color: rgba(0, 0, 0, 0.65);
   background-color: #fff;
-  border-radius: 4px;
+  background-image: none;
   border: 1px solid #d9d9d9;
-  display: flex;
-  flex-direction: row;
-  align-items: center;
+  border-radius: 4px;
+  transition: all .3s;
 
 }
 
+
 .cpop {
-  border: 1px solid #d9d9d9;
+  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+  margin-bottom: 0;
+  padding-left: 0;
+  list-style: none;
+  margin-top: 2px;
+  background-color: #fff;
+  box-shadow: 0 1px 6px #d9d9d9;
   border-radius: 4px;
-  position: absolute;
+  box-sizing: border-box;
+  position: fixed;
+  z-index: 1050;
+  outline: none;
+  overflow: hidden;
 
 }
 
 .clist {
-  max-height: 250px;
+  max-height: 240px;
   overflow: auto;
 
 }

+ 1 - 1
js/component/manageCenter/order/orderNew/addService.jsx

@@ -1183,7 +1183,7 @@ const NewService = Form.create()(
             render: (text, record) => {
               if (record.dunTypeName) {
                 if (record.appropriationRatio) {
-                  let percent = Number(record.appropriationRatio * 100).toFixed(2).toFixed(2);
+                  let percent = Number(record.appropriationRatio * 100).toFixed(2);
                   percent += "%";
                   return <span>{percent}(拨款比例)</span>;
                 } else {

+ 8 - 6
js/component/manageCenter/order/orderNew/billing.jsx

@@ -47,7 +47,7 @@ import Project from "../../../../component/project";
 import ImgList from "../../../common/imgList";
 import OrderItemStatus from "../../../common/orderItemStatus";
 import LogPopup from "../../../common/logPopup";
-import Cascaders from "../../../common/cascaders"
+import Cascaders from "../../../common/cascaders";
 const { Option } = Select;
 const { TabPane } = Tabs;
 const PicturesWall = React.createClass({
@@ -132,7 +132,7 @@ const MyService = Form.create()(
           endTime: this.state.releaseDate[1],
           liquidationStatus: this.state.liquidationStatusSearch,
           contractNo: this.state.contractNoSearch,
-          depId: this.state.departmenttList,
+          deps: JSON.stringify(this.state.departmenttList),
           approval: this.state.approvalSearch,
           amountStatus: this.state.amountStatus,
           projectType: this.state.projectType,
@@ -1534,7 +1534,7 @@ const MyService = Form.create()(
       });
     },
     componentWillMount() {
-      this.departmentList();
+      // this.departmentList();
       this.loadData();
       let data = localStorage.getItem("newData");
       if (data != "{}" && data && data.toString() !== "[object Object]") {
@@ -1632,11 +1632,12 @@ const MyService = Form.create()(
       this.state.intentOrder = true;
       (this.state.liquidationStatusSearch = []),
         (this.state.contractNoSearch = "");
-      this.state.departmenttList = [];
+      this.state.departmenttList = undefined;
       this.state.approvalSearch = undefined;
       this.state.amountStatus = undefined;
       this.state.projectType = undefined;
       this.state.processStatus = undefined;
+      this.Cascaders.empty();
       this.loadData();
     },
     //部门
@@ -1922,14 +1923,15 @@ const MyService = Form.create()(
                       }}
                     />
                     <Cascaders
+                      ref={node => this.Cascaders = node}
                       placeholder="订单部门"
                       id="id"
-                      height={28}
                       name="name"
                       children="list"
+                      height={28}
                       onSel={(e) => {
                         this.setState({
-
+                          departmenttList: e
                         })
                       }}
                     />

+ 18 - 25
js/component/manageCenter/order/orderNew/changeComponent/searchInput.js

@@ -191,7 +191,7 @@ class SearchInput extends Component {
   }
 
   componentWillMount() {
-    this.departmentList();
+    // this.departmentList();
   }
 
   render() {
@@ -245,18 +245,18 @@ class SearchInput extends Component {
 
     // 选择框数据
     const SearchSelectData = [
-      {
-        placeholder: "订单部门",
-        width: 200,
-        defaultValue: undefined,
-        content: this.state.departmentArr,
-        getValue: value => {
-          this.setState({
-            depIdSearch: value,
-            reset: false
-          });
-        }
-      },
+      // {
+      //   placeholder: "订单部门",
+      //   width: 200,
+      //   defaultValue: undefined,
+      //   content: this.state.departmentArr,
+      //   getValue: value => {
+      //     this.setState({
+      //       depIdSearch: value,
+      //       reset: false
+      //     });
+      //   }
+      // },
       {
         placeholder: "审核状态",
         width: 120,
@@ -290,7 +290,7 @@ class SearchInput extends Component {
             name: "已驳回",
             id: "5"
           },
-         
+
         ],
         getValue: value => {
           this.setState({
@@ -383,9 +383,9 @@ class SearchInput extends Component {
           );
         })}
         {SearchSelectData.map((item, index) => {
-          if(this.props.isYxy) {
-            if(item.placeholder == "审核状态") {
-              item.content.splice(item.content.length -1, 1)
+          if (this.props.isYxy) {
+            if (item.placeholder == "审核状态") {
+              item.content.splice(item.content.length - 1, 1)
             }
           }
           return (
@@ -416,14 +416,7 @@ class SearchInput extends Component {
         </Button>
         <Button
           onClick={_e => {
-            this.setState(
-              {
-                reset: true
-              },
-              () => {
-                this.props.search(this.state);
-              }
-            );
+            this.props.search(Object.assign(this.state, { reset: true }));
           }}
           style={{ marginLeft: 10 }}
         >

+ 164 - 140
js/component/manageCenter/order/orderNew/contractYxy.js

@@ -1,5 +1,5 @@
 import React from "react";
-import {Button, Input, Spin, Table, message, Form, Modal, Tabs, Tooltip,} from "antd";
+import { Button, Input, Spin, Table, message, Form, Modal, Tabs, Tooltip, } from "antd";
 import $ from "jquery/src/ajax";
 import {
   getNewOrderStatus,
@@ -22,9 +22,10 @@ import ChangeApply from "./changeComponent/changeApply";
 import { ChooseList } from "./chooseList.jsx";
 import ShowModalDiv from "@/showModal.jsx";
 import OrderRiZi from "@/orderRiZi.jsx";
-import {getProjectName} from "../../../tools";
+import { getProjectName } from "../../../tools";
 import ProjectDetailsReadOnly from "../../../common/projectDetailsReadOnly";
 import OrderItemStatus from "../../../common/orderItemStatus";
+import Cascaders from "../../../common/cascaders";
 
 const contractChange = Form.create()(
   React.createClass({
@@ -47,7 +48,7 @@ const contractChange = Form.create()(
           endTime: this.state.searchData.releaseDate[1],
           salesmanName: this.state.searchData.salesmanNameSearch,
           complete: this.state.searchData.completeSearch || 1,
-          depId: this.state.searchData.depIdSearch,
+          deps: this.state.searchData.deps,
           orderNo: this.state.searchData.orderNoSearch,
           contractNo: this.state.searchData.contractNoSearch,
           type: this.state.searchData.changeSearch
@@ -118,7 +119,7 @@ const contractChange = Form.create()(
         orderData: {}, //现订单数据
         pictureUrl: [],
         voucherUrl: [],
-        attachment:[],
+        attachment: [],
         buttonStatusA: true,
         attachmentUrl: [],
         proceedsData: {},
@@ -162,14 +163,14 @@ const contractChange = Form.create()(
             width: 150,
             render: (text) => {
               return (
-                  <Tooltip title={text}>
-                    <div style={{
-                      maxWidth:'150px',
-                      overflow:'hidden',
-                      textOverflow: "ellipsis",
-                      whiteSpace:'nowrap',
-                    }}>{text}</div>
-                  </Tooltip>
+                <Tooltip title={text}>
+                  <div style={{
+                    maxWidth: '150px',
+                    overflow: 'hidden',
+                    textOverflow: "ellipsis",
+                    whiteSpace: 'nowrap',
+                  }}>{text}</div>
+                </Tooltip>
               )
             },
           },
@@ -248,9 +249,9 @@ const contractChange = Form.create()(
             key: "commodityName",
             render: (text, record) => {
               return (
-                  <span>{text}<span style={{ color: "red" }}>{record.patentTypeName}</span></span>
+                <span>{text}<span style={{ color: "red" }}>{record.patentTypeName}</span></span>
               )
-          }
+            }
           },
           {
             title: "项目类别",
@@ -382,7 +383,7 @@ const contractChange = Form.create()(
         taskComment: record.taskComment, //备注
         main: record.main.toString(), //是否为主要
         addnextVisible: true,
-        dataInfor:record,
+        dataInfor: record,
         addState: 0
       });
     },
@@ -426,7 +427,7 @@ const contractChange = Form.create()(
                   url
                 )
                 : [],
-                attachment: thisdata.attachmentUrl
+              attachment: thisdata.attachmentUrl
                 ? splitUrl(
                   thisdata.attachmentUrl,
                   ",",
@@ -516,7 +517,7 @@ const contractChange = Form.create()(
                 // arrears: thisdata.arrears,
                 orderData: thisdata,
                 isAddition: thisdata.additionalOrder ? true : false,
-                deleteSign:thisdata.deleteSign,
+                deleteSign: thisdata.deleteSign,
               },
               () => {
                 if (this.state.orderData.deleteSign !== 3) {
@@ -615,14 +616,20 @@ const contractChange = Form.create()(
     },
 
     search(obj) {
-      this.setState(
-        {
-          searchData: obj
-        },
-        () => {
-          this.loadData(1);
-        }
-      );
+      if (obj.reset) {
+        this.state.searchData.deps = [];
+        this.Cascaders.empty();
+        this.loadData(1);
+      } else {
+        this.setState(
+          {
+            searchData: Object.assign(this.state.searchData, obj)
+          },
+          () => {
+            this.loadData(1);
+          }
+        );
+      }
     },
 
     rizhi(orderNo) {
@@ -1162,16 +1169,33 @@ const contractChange = Form.create()(
           <div className="user-search">
             <Tabs defaultActiveKey="1" className="test">
               <TabPane tab="搜索" key="1">
-                <SearchInput search={this.search} isYxy={true} />
+                <div>
+                  <Cascaders
+                    ref={node => this.Cascaders = node}
+                    placeholder="订单部门"
+                    id="id"
+                    name="name"
+                    children="list"
+                    height={28}
+                    onSel={(e) => {
+                      const { searchData } = this.state
+                      searchData["deps"] = JSON.stringify(e);
+                      this.setState({
+                        searchData: searchData
+                      })
+                    }}
+                  />
+                  <SearchInput search={this.search} isYxy={true} />
+                </div>
               </TabPane>
               <TabPane tab="更改表格显示数据" key="2">
                 <div style={{ marginLeft: 10 }}>
                   <ChooseList
-                      columns={this.state.columns}
-                      changeFn={this.changeList}
-                      changeList={this.state.changeList}
-                      top={55}
-                      margin={11}
+                    columns={this.state.columns}
+                    changeFn={this.changeList}
+                    changeList={this.state.changeList}
+                    top={55}
+                    margin={11}
                   />
                 </div>
               </TabPane>
@@ -1183,8 +1207,8 @@ const contractChange = Form.create()(
                   bordered
                   columns={
                     this.state.changeList
-                        ? this.state.changeList
-                        : this.state.columns
+                      ? this.state.changeList
+                      : this.state.columns
                   }
                   style={{
                     cursor: 'pointer',
@@ -1209,87 +1233,87 @@ const contractChange = Form.create()(
                 onChange={this.callback}
                 type="card"
                 tabBarExtraContent={
-                  <div style={{fontWeight:'bold',paddingRight:'15px'}}>
-                    <OrderItemStatus deleteSign={this.state.deleteSign}/>
+                  <div style={{ fontWeight: 'bold', paddingRight: '15px' }}>
+                    <OrderItemStatus deleteSign={this.state.deleteSign} />
                   </div>
                 }
               >
                 <TabPane tab="订单详情" key="a">
                   {this.state.activeKey === 'a' ? <div>
                     {this.state.orderData.deleteSign === 3 ? (
-                        <AddOrders
+                      <AddOrders
+                        orderUid={this.state.orderUid}
+                        processStatus={0}
+                        data={this.state.orderData.orderNo}
+                        mark={this.state.buttonStatus}
+                        getPrimaryOrder={this.getPrimaryOrder}
+                        totalCui={this.state.totalCui}
+                        closeDesc={this.closeDesc}
+                        getAdditionalOrder={this.getAdditionalOrder}
+                        deleteSign={this.state.orderData.deleteSign}
+                      />
+                    ) : (
+                      <Form
+                        layout="horizontal"
+                        onSubmit={this.handleSubmit}
+                        id="demand-form"
+                        style={{ paddingBottom: "40px" }}
+                      >
+                        <Spin spinning={this.state.loading}>
+                          <OrderDetail
+                            domId='dindanxiangqing'
                             orderUid={this.state.orderUid}
-                            processStatus={0}
-                            data={this.state.orderData.orderNo}
-                            mark={this.state.buttonStatus}
-                            getPrimaryOrder={this.getPrimaryOrder}
-                            totalCui={this.state.totalCui}
-                            closeDesc={this.closeDesc}
-                            getAdditionalOrder={this.getAdditionalOrder}
-                            deleteSign={this.state.orderData.deleteSign}
-                        />
-                    ):(
-                        <Form
-                            layout="horizontal"
-                            onSubmit={this.handleSubmit}
-                            id="demand-form"
-                            style={{ paddingBottom: "40px" }}
-                        >
-                          <Spin spinning={this.state.loading}>
-                            <OrderDetail
-                                domId='dindanxiangqing'
-                                orderUid={this.state.orderUid}
-                                orderData={this.state.orderData}
-                                getOrderLog={this.getOrderLog}
-                                totalCui={parseFloat(this.state.totalCui)}
-                                dataSourceX={this.state.dataSourceX}
-                                contactList={this.state.contactList}
-                                contactListNew={this.state.contactListNew}
-                                orderNo={this.state.orderNo}
-                            />
-                          </Spin>
-                        </Form>
-                    ) }
-                  </div>:<div/>}
+                            orderData={this.state.orderData}
+                            getOrderLog={this.getOrderLog}
+                            totalCui={parseFloat(this.state.totalCui)}
+                            dataSourceX={this.state.dataSourceX}
+                            contactList={this.state.contactList}
+                            contactListNew={this.state.contactListNew}
+                            orderNo={this.state.orderNo}
+                          />
+                        </Spin>
+                      </Form>
+                    )}
+                  </div> : <div />}
                 </TabPane>
                 {tabList.map((item, index, arr) => {
                   return (
                     <TabPane tab={"合同变更记录" + (index + 1)} key={item.id}>
                       {
                         this.state.activeKey === String(item.id) ?
-                            (
-                                this.state.contractData.processState === 0 &&
-                                this.state.contractData.status != 5 ? (
-                                    <ChangeApply
-                                        orderUid={this.state.orderUid}
-                                        id={Math.random()}
-                                        orderData={this.state.contractData}
-                                        voucherUrl={this.state.voucherUrl}
-                                        onCancel={this.visitCancel}
-                                    />
-                                ) : (
-                                    <ChangeDetail
-                                        domId={'hetongbiangenjilu' + (index + 1)}
-                                        orderUid={this.state.orderUid}
-                                        id={item.id}
-                                        money={
-                                          index == arr.length - 1
-                                              ? this.state.orderData.totalAmount + ""
-                                              : undefined
-                                        }
-                                        visitCancel={this.visitCancel}
-                                        data={this.state.contractData}
-                                        pictureUrl={this.state.voucherUrl}
-                                        attachment = {this.state.attachment}
-                                        processState={this.props.processState}
-                                        dataSource={this.state.dataProps}
-                                        proceedsData={this.state.proceedsData}
-                                        proceedsTotal={this.state.proTotal}
-                                        invoiceTotal={this.state.invTotal}
-                                        contactList={this.state.refundInvoice}
-                                    />
-                                )
-                            ) : <div/>
+                          (
+                            this.state.contractData.processState === 0 &&
+                              this.state.contractData.status != 5 ? (
+                              <ChangeApply
+                                orderUid={this.state.orderUid}
+                                id={Math.random()}
+                                orderData={this.state.contractData}
+                                voucherUrl={this.state.voucherUrl}
+                                onCancel={this.visitCancel}
+                              />
+                            ) : (
+                              <ChangeDetail
+                                domId={'hetongbiangenjilu' + (index + 1)}
+                                orderUid={this.state.orderUid}
+                                id={item.id}
+                                money={
+                                  index == arr.length - 1
+                                    ? this.state.orderData.totalAmount + ""
+                                    : undefined
+                                }
+                                visitCancel={this.visitCancel}
+                                data={this.state.contractData}
+                                pictureUrl={this.state.voucherUrl}
+                                attachment={this.state.attachment}
+                                processState={this.props.processState}
+                                dataSource={this.state.dataProps}
+                                proceedsData={this.state.proceedsData}
+                                proceedsTotal={this.state.proTotal}
+                                invoiceTotal={this.state.invTotal}
+                                contactList={this.state.refundInvoice}
+                              />
+                            )
+                          ) : <div />
                       }
                     </TabPane>
                   );
@@ -1303,26 +1327,26 @@ const contractChange = Form.create()(
                       >
                         {
                           this.state.activeKey === String(item.usedOrder) ?
-                              <Form
-                                  layout="horizontal"
-                                  onSubmit={this.handleSubmit}
-                                  id="demand-form"
-                                  style={{ paddingBottom: "40px" }}
-                              >
-                                <Spin spinning={this.state.loading}>
-                                  <OrderDetail
-                                      domId={'yuandingdan' + (index + 1)}
-                                      orderUid={this.state.orderUid}
-                                      orderData={this.state.primaryOrderData}
-                                      getOrderLog={this.getOrderLog}
-                                      dataSourceX={this.state.dataSourceX}
-                                      contactList={this.state.contactList}
-                                      orderNo={this.state.primaryOrderNo}
-                                      totalCui={this.state.totalCui}
-                                      contactListNew={this.state.contactListNew}
-                                  />
-                                </Spin>
-                              </Form> : <div/>
+                            <Form
+                              layout="horizontal"
+                              onSubmit={this.handleSubmit}
+                              id="demand-form"
+                              style={{ paddingBottom: "40px" }}
+                            >
+                              <Spin spinning={this.state.loading}>
+                                <OrderDetail
+                                  domId={'yuandingdan' + (index + 1)}
+                                  orderUid={this.state.orderUid}
+                                  orderData={this.state.primaryOrderData}
+                                  getOrderLog={this.getOrderLog}
+                                  dataSourceX={this.state.dataSourceX}
+                                  contactList={this.state.contactList}
+                                  orderNo={this.state.primaryOrderNo}
+                                  totalCui={this.state.totalCui}
+                                  contactListNew={this.state.contactListNew}
+                                />
+                              </Spin>
+                            </Form> : <div />
                         }
                       </TabPane>
                     );
@@ -1359,27 +1383,27 @@ const contractChange = Form.create()(
                     <TabPane tab="附加订单" key="c">
                       {
                         this.state.activeKey === "c" ?
-                            <AddOrders
-                                domId='fujiadingdan'
-                                orderUid={this.state.orderUid}
-                                processStatus={0}
-                                data={this.state.orderData.additionalOrder}
-                                mark={this.state.buttonStatusA}
-                                getPrimaryOrder={this.getPrimaryOrder}
-                                closeDesc={this.closeDesc}
-                                getAdditionalOrder={this.getAdditionalOrder}
-                                activeKey={this.state.activeKey}
-                            /> : <div/>
+                          <AddOrders
+                            domId='fujiadingdan'
+                            orderUid={this.state.orderUid}
+                            processStatus={0}
+                            data={this.state.orderData.additionalOrder}
+                            mark={this.state.buttonStatusA}
+                            getPrimaryOrder={this.getPrimaryOrder}
+                            closeDesc={this.closeDesc}
+                            getAdditionalOrder={this.getAdditionalOrder}
+                            activeKey={this.state.activeKey}
+                          /> : <div />
                       }
                     </TabPane>
                   ) : (
-                      ""
-                    )
-                ) : (
                     ""
-                  )}
+                  )
+                ) : (
+                  ""
+                )}
               </Tabs>
-            </Modal> : <div/>}
+            </Modal> : <div />}
             <Modal
               maskClosable={false}
               visible={this.state.noVisible}
@@ -1461,9 +1485,9 @@ const contractChange = Form.create()(
             />
           </div>
           {this.state.addnextVisible && <ProjectDetailsReadOnly
-              infor={this.state.dataInfor}
-              visible={this.state.addnextVisible}
-              onCancel={this.nextCancel}
+            infor={this.state.dataInfor}
+            visible={this.state.addnextVisible}
+            onCancel={this.nextCancel}
           />}
         </div>
       );

+ 18 - 2
js/component/manageCenter/order/orderNew/myprojectvip.jsx

@@ -12,6 +12,7 @@ import ShowModalDiv from "@/showModal.jsx";
 import VipLogs from "../../../common/logPopup/viplogs";//会员日志
 import { splitUrl } from "@/tools";
 import ImgList from "../../../common/imgList";
+import Cascaders from "../../../common/cascaders";
 const { TabPane } = Tabs;
 
 //我的会员项目列表
@@ -388,6 +389,7 @@ const MyProjectVip = React.createClass({
     this.setState({
       searchValues: JSON.parse(JSON.stringify({})),
     }, () => {
+      this.Cascaders.empty();
       this.loadData();
     })
   },
@@ -574,7 +576,21 @@ const MyProjectVip = React.createClass({
                   });
                 }}
               />
-              <Select
+              <Cascaders
+                ref={node => this.Cascaders = node}
+                placeholder="订单部门"
+                id="id"
+                name="name"
+                children="list"
+                height={28}
+                onSel={(e) => {
+                  searchValues["deps"] = JSON.stringify(e);
+                  this.setState({
+                    searchValues: searchValues,
+                  });
+                }}
+              />
+              {/* <Select
                 placeholder="订单部门"
                 style={{ width: 200, marginRight: 10 }}
                 value={searchValues["depId"]
@@ -592,7 +608,7 @@ const MyProjectVip = React.createClass({
                     <Select.Option key={item.id}>{item.name}</Select.Option>
                   );
                 })}
-              </Select>
+              </Select> */}
               <Input
                 placeholder="合同编号"
                 value={searchValues["contractNo"]