dev01 1 year ago
parent
commit
7db120709f

+ 3 - 3
js/component/common/projectOperation/newAddProject.jsx

@@ -808,7 +808,7 @@ class NewAddProject extends Component {
                 </FormItem>
               </div>
               {
-                (this.state.patentType === 0 || this.state.patentType === 2) && this.state.officialCost === 1 &&
+                (this.state.patentType === 0 || this.state.patentType === 2) &&
                 <div className="clearfix">
                   <FormItem
                     className="half-item"
@@ -818,9 +818,9 @@ class NewAddProject extends Component {
                       display: this.state.displayFees,
                     }}
                   >
-                    {/*不含官费或者专利类型不为复审或者申请时置灰*/}
+                    {/*专利类型不为复审或者申请时置灰*/}
                     <Radio.Group
-                      disabled={this.state.officialCost === 0 || (this.state.patentType !== 0 && this.state.patentType !== 2)}
+                      disabled={this.state.patentType !== 0 && this.state.patentType !== 2}
                       value={this.state.costReduction}
                       onChange={(e) => {
                         this.setState({ costReduction: e.target.value });

+ 4 - 0
js/component/manageCenter/customer/NEW/intentionCustomer/intentionCustomer.jsx

@@ -36,6 +36,10 @@ const confirm = Modal.confirm;
 const IntentionCustomer = Form.create()(
   React.createClass({
     loadData(pageNo, apiUrl) {
+      // 新需求 除湖南和内蒙古外 不让其他省操作
+      if (adminData.province != "21" && adminData.province != "11") {
+        return
+      }
       this.setState({
         visitModul: false,
         loading: true,

+ 359 - 355
js/component/manageCenter/customer/NEW/publicCustomer/publicCustomer.jsx

@@ -8,361 +8,365 @@ import ShowModalDiv from "@/showModal.jsx";
 import { ChooseList } from "../../../order/orderNew/chooseList";
 
 const QueryCustomer = React.createClass({
-	loadData(pageNo, apiUrl) {
-		this.setState({
-			loading: true,
-			ispage: pageNo,
-		});
-		let api = apiUrl ? apiUrl : this.props.ApiUrl;
-		$.ajax({
-			method: "post",
-			dataType: "json",
-			crossDomain: false,
-			url: globalConfig.context + api,
-			data: {
-				pageNo: pageNo || 1,
-				pageSize: this.state.pagination.pageSize,
-				name: this.state.nameSearch,
-				province: !this.state.addressSearch.length
-					? this.state.provinceSearch
-					: this.state.addressSearch[0],
-				city: !this.state.addressSearch.length
-					? ""
-					: this.state.addressSearch[1],
-				sort: this.state.sort
-			},
-			success: function (data) {
-				ShowModal(this);
-				let theArr = [];
-				if (data.error.length || data.data.list == "") {
-					if (data.error && data.error.length) {
-						message.warning(data.error[0].message);
-					}
-				} else {
-					for (let i = 0; i < data.data.list.length; i++) {
-						let thisdata = data.data.list[i];
-						theArr.push({
-							key: i,
-							id: thisdata.uid,
-							name: thisdata.name,
-							contacts: thisdata.contacts,
-							contactMobile: thisdata.contactMobile,
-							createTime:
-								thisdata.createTime && thisdata.createTime.split(" ")[0],
-							transferTime:
-								thisdata.transferTime && thisdata.transferTime.split(" ")[0],
-							locationProvince: thisdata.province
-								? (thisdata.province || '') + (thisdata.city ? "-" + thisdata.city : '') + (thisdata.area ? "-" + thisdata.area : '')
-								: "--",
-						});
-					}
-					this.state.pagination.current = data.data.pageNo;
-					this.state.pagination.total = data.data.totalCount;
-				}
-				if (data.data && data.data.list && !data.data.list.length) {
-					this.state.pagination.current = 0;
-					this.state.pagination.total = 0;
-				}
-				this.setState({
-					dataSource: theArr,
-					pagination: this.state.pagination,
-					selectedRowKeys: [],
-				});
-			}.bind(this),
-		}).always(
-			function () {
-				this.setState({
-					loading: false,
-				});
-			}.bind(this)
-		);
-	},
-	getInitialState() {
-		return {
-			sort: 0,
-			addressSearch: [],
-			dataSource: [],
-			loading: false,
-			selectedRowKeys: [],
-			selectedRows: [],
-			selectedData: [],
-			pagination: {
-				defaultCurrent: 1,
-				defaultPageSize: 10,
-				showQuickJumper: true,
-				pageSize: 10,
-				onChange: function (page) {
-					this.loadData(page);
-				}.bind(this),
-				showTotal: function (total) {
-					return '共' + total + '条数据';
-				}
-			},
-			columns: [{
-				title: '客户名称',
-				dataIndex: 'name',
-				key: 'name',
-				render: (text, record, index) =>
-					onReplace(text)
-			},
-			{
-				title: '地区',
-				dataIndex: 'locationProvince',
-				key: 'locationProvince',
-			},
-			// {
-			// 	title: '联系人',
-			// 	dataIndex: 'contacts',
-			// 	key: 'contacts',
-			// },{
-			// 	title: '联系电话',
-			// 	dataIndex: 'contactMobile',
-			// 	key: 'contactss',
-			// },
-			{
-				title: '创建时间',
-				dataIndex: 'createTime',
-				key: 'createTime',
-			},
-			{
-				title: '转换时间',
-				dataIndex: 'transferTime',
-				key: 'transferTime',
-			},
-			{
-				title: '操作',
-				dataIndex: 'abc',
-				key: 'abc',
-				width: 250,
-				render: (text, record, index) => {
-					return <div>
-						<Button onClick={(e) => { e.stopPropagation(), this.receive(record) }} type="primary">领取</Button>
-						<Button
-							onClick={(e) => {
-								e.stopPropagation(),
-									this.rTips(record)
-							}}
-							style={{ marginLeft: 10 }}
-							type="primary">领取为私有渠道信息</Button>
-					</div>
-				}
-			}
-			],
-		}
-	},
-	/*单个领取*/
-	receive(e) {
-		this.setState({
-			loading: true,
-			selectedRowKeys: [],
-		});
-		$.ajax({
-			method: "get",
-			dataType: "json",
-			crossDomain: false,
-			url: globalConfig.context + "/api/admin/customer/receiveCustomer",
-			data: {
-				uid: e.id,
-			}
-		}).done(function (data) {
-			if (!data.error.length) {
-				message.success('领取成功!');
-				this.setState({
-					loading: false,
-				});
-			} else {
-				message.warning(data.error[0].message);
-			};
-			this.loadData(this.state.ispage);
-		}.bind(this));
-	},
-	rTips(e) {
-		let _this = this;
-		Modal.confirm({
-			title: "温馨提示",
-			content: (
-				<span style={{ color: "red" }}>
-					<p>名称中含“协会”“商会”等名称为渠道信息!</p>
-					<p>您是否确定将客户信息,领取为“私有渠道”信息,领取后,该信息即成为渠道信息不可再修改!!!</p>
-					<p>领取成功后,您可以通过:渠道管理-渠道列表-私有渠道,查询到此条信息</p>
-				</span>
-			),
-			onOk() {
-				_this.receiveNew(e)
-			},
-			onCancel() { },
-		});
-	},
-	/*领取为私有渠道信息*/
-	receiveNew(e) {
-		this.setState({
-			loading: true,
-			selectedRowKeys: [],
-		});
-		$.ajax({
-			method: "post",
-			dataType: "json",
-			crossDomain: false,
-			url: globalConfig.context + "/api/admin/customer/receiveAsChannel",
-			data: {
-				uid: e.id,
-			}
-		}).done(function (data) {
-			if (!data.error.length) {
-				message.success('领取成功!');
-				this.setState({
-					loading: false,
-				});
-			} else {
-				message.warning(data.error[0].message);
-			};
-			this.loadData(this.state.ispage);
-		}.bind(this));
-	},
-	closeDesc(e) {
-		this.state.visitModul = e;
-	},
-	search() {
-		this.loadData();
-	},
-	reset() {
-		this.state.nameSearch = '';
-		this.state.provinceSearch = undefined;
-		this.state.addressSearch = [];
-		this.state.sort = 0
-		this.loadData()
-	},
-	componentWillReceiveProps(nextProps) {
-		if (nextProps.ApiUrl != this.props.ApiUrl) {
-			this.state.nameSearch = '';
-			this.state.provinceSearch = undefined;
-			this.state.addressSearch = [];
-			this.loadData(null, nextProps.ApiUrl);
-		};
-	},
-	componentWillMount() {
-		//城市
-		let Province = [];
-		provinceList.map(function (item) {
-			var id = String(item.id)
-			Province.push(
-				<Select.Option value={id} key={item.name}>{item.name}</Select.Option>
-			)
-		});
-		this.state.Provinces = Province;
-		this.loadData();
-	},
-	changeList(arr) {
-		const newArr = [];
-		this.state.columns.forEach(item => {
-			arr.forEach(val => {
-				if (val === item.title) {
-					newArr.push(item);
-				}
-			});
-		});
-		this.setState({
-			changeList: newArr
-		});
-	},
-	render() {
-		const intentionState = this.props.intentionState;
-		const FormItem = Form.Item;
-		const { TabPane } = Tabs
-		const rowSelection = {
-			selectedRowKeys: this.state.selectedRowKeys,
-			onChange: (selectedRowKeys, selectedRows) => {
-				this.setState({
-					selectedRows: selectedRows,
-					selectedRowKeys: selectedRowKeys
-				});
-			},
-			onSelect: (recordt, selected, selectedData) => {
-				this.setState({
-					selectedData: selectedData,
-					recordt: recordt.id
-				})
-			},
+  loadData(pageNo, apiUrl) {
+    // 新需求 除湖南和内蒙古外 不让其他省操作
+    if (adminData.province != "21" && adminData.province != "11") {
+      return
+    }
+    this.setState({
+      loading: true,
+      ispage: pageNo,
+    });
+    let api = apiUrl ? apiUrl : this.props.ApiUrl;
+    $.ajax({
+      method: "post",
+      dataType: "json",
+      crossDomain: false,
+      url: globalConfig.context + api,
+      data: {
+        pageNo: pageNo || 1,
+        pageSize: this.state.pagination.pageSize,
+        name: this.state.nameSearch,
+        province: !this.state.addressSearch.length
+          ? this.state.provinceSearch
+          : this.state.addressSearch[0],
+        city: !this.state.addressSearch.length
+          ? ""
+          : this.state.addressSearch[1],
+        sort: this.state.sort
+      },
+      success: function (data) {
+        ShowModal(this);
+        let theArr = [];
+        if (data.error.length || data.data.list == "") {
+          if (data.error && data.error.length) {
+            message.warning(data.error[0].message);
+          }
+        } else {
+          for (let i = 0; i < data.data.list.length; i++) {
+            let thisdata = data.data.list[i];
+            theArr.push({
+              key: i,
+              id: thisdata.uid,
+              name: thisdata.name,
+              contacts: thisdata.contacts,
+              contactMobile: thisdata.contactMobile,
+              createTime:
+                thisdata.createTime && thisdata.createTime.split(" ")[0],
+              transferTime:
+                thisdata.transferTime && thisdata.transferTime.split(" ")[0],
+              locationProvince: thisdata.province
+                ? (thisdata.province || '') + (thisdata.city ? "-" + thisdata.city : '') + (thisdata.area ? "-" + thisdata.area : '')
+                : "--",
+            });
+          }
+          this.state.pagination.current = data.data.pageNo;
+          this.state.pagination.total = data.data.totalCount;
+        }
+        if (data.data && data.data.list && !data.data.list.length) {
+          this.state.pagination.current = 0;
+          this.state.pagination.total = 0;
+        }
+        this.setState({
+          dataSource: theArr,
+          pagination: this.state.pagination,
+          selectedRowKeys: [],
+        });
+      }.bind(this),
+    }).always(
+      function () {
+        this.setState({
+          loading: false,
+        });
+      }.bind(this)
+    );
+  },
+  getInitialState() {
+    return {
+      sort: 0,
+      addressSearch: [],
+      dataSource: [],
+      loading: false,
+      selectedRowKeys: [],
+      selectedRows: [],
+      selectedData: [],
+      pagination: {
+        defaultCurrent: 1,
+        defaultPageSize: 10,
+        showQuickJumper: true,
+        pageSize: 10,
+        onChange: function (page) {
+          this.loadData(page);
+        }.bind(this),
+        showTotal: function (total) {
+          return '共' + total + '条数据';
+        }
+      },
+      columns: [{
+        title: '客户名称',
+        dataIndex: 'name',
+        key: 'name',
+        render: (text, record, index) =>
+          onReplace(text)
+      },
+      {
+        title: '地区',
+        dataIndex: 'locationProvince',
+        key: 'locationProvince',
+      },
+      // {
+      // 	title: '联系人',
+      // 	dataIndex: 'contacts',
+      // 	key: 'contacts',
+      // },{
+      // 	title: '联系电话',
+      // 	dataIndex: 'contactMobile',
+      // 	key: 'contactss',
+      // },
+      {
+        title: '创建时间',
+        dataIndex: 'createTime',
+        key: 'createTime',
+      },
+      {
+        title: '转换时间',
+        dataIndex: 'transferTime',
+        key: 'transferTime',
+      },
+      {
+        title: '操作',
+        dataIndex: 'abc',
+        key: 'abc',
+        width: 250,
+        render: (text, record, index) => {
+          return <div>
+            <Button onClick={(e) => { e.stopPropagation(), this.receive(record) }} type="primary">领取</Button>
+            <Button
+              onClick={(e) => {
+                e.stopPropagation(),
+                  this.rTips(record)
+              }}
+              style={{ marginLeft: 10 }}
+              type="primary">领取为私有渠道信息</Button>
+          </div>
+        }
+      }
+      ],
+    }
+  },
+  /*单个领取*/
+  receive(e) {
+    this.setState({
+      loading: true,
+      selectedRowKeys: [],
+    });
+    $.ajax({
+      method: "get",
+      dataType: "json",
+      crossDomain: false,
+      url: globalConfig.context + "/api/admin/customer/receiveCustomer",
+      data: {
+        uid: e.id,
+      }
+    }).done(function (data) {
+      if (!data.error.length) {
+        message.success('领取成功!');
+        this.setState({
+          loading: false,
+        });
+      } else {
+        message.warning(data.error[0].message);
+      };
+      this.loadData(this.state.ispage);
+    }.bind(this));
+  },
+  rTips(e) {
+    let _this = this;
+    Modal.confirm({
+      title: "温馨提示",
+      content: (
+        <span style={{ color: "red" }}>
+          <p>名称中含“协会”“商会”等名称为渠道信息!</p>
+          <p>您是否确定将客户信息,领取为“私有渠道”信息,领取后,该信息即成为渠道信息不可再修改!!!</p>
+          <p>领取成功后,您可以通过:渠道管理-渠道列表-私有渠道,查询到此条信息</p>
+        </span>
+      ),
+      onOk() {
+        _this.receiveNew(e)
+      },
+      onCancel() { },
+    });
+  },
+  /*领取为私有渠道信息*/
+  receiveNew(e) {
+    this.setState({
+      loading: true,
+      selectedRowKeys: [],
+    });
+    $.ajax({
+      method: "post",
+      dataType: "json",
+      crossDomain: false,
+      url: globalConfig.context + "/api/admin/customer/receiveAsChannel",
+      data: {
+        uid: e.id,
+      }
+    }).done(function (data) {
+      if (!data.error.length) {
+        message.success('领取成功!');
+        this.setState({
+          loading: false,
+        });
+      } else {
+        message.warning(data.error[0].message);
+      };
+      this.loadData(this.state.ispage);
+    }.bind(this));
+  },
+  closeDesc(e) {
+    this.state.visitModul = e;
+  },
+  search() {
+    this.loadData();
+  },
+  reset() {
+    this.state.nameSearch = '';
+    this.state.provinceSearch = undefined;
+    this.state.addressSearch = [];
+    this.state.sort = 0
+    this.loadData()
+  },
+  componentWillReceiveProps(nextProps) {
+    if (nextProps.ApiUrl != this.props.ApiUrl) {
+      this.state.nameSearch = '';
+      this.state.provinceSearch = undefined;
+      this.state.addressSearch = [];
+      this.loadData(null, nextProps.ApiUrl);
+    };
+  },
+  componentWillMount() {
+    //城市
+    let Province = [];
+    provinceList.map(function (item) {
+      var id = String(item.id)
+      Province.push(
+        <Select.Option value={id} key={item.name}>{item.name}</Select.Option>
+      )
+    });
+    this.state.Provinces = Province;
+    this.loadData();
+  },
+  changeList(arr) {
+    const newArr = [];
+    this.state.columns.forEach(item => {
+      arr.forEach(val => {
+        if (val === item.title) {
+          newArr.push(item);
+        }
+      });
+    });
+    this.setState({
+      changeList: newArr
+    });
+  },
+  render() {
+    const intentionState = this.props.intentionState;
+    const FormItem = Form.Item;
+    const { TabPane } = Tabs
+    const rowSelection = {
+      selectedRowKeys: this.state.selectedRowKeys,
+      onChange: (selectedRowKeys, selectedRows) => {
+        this.setState({
+          selectedRows: selectedRows,
+          selectedRowKeys: selectedRowKeys
+        });
+      },
+      onSelect: (recordt, selected, selectedData) => {
+        this.setState({
+          selectedData: selectedData,
+          recordt: recordt.id
+        })
+      },
 
-		};
-		return (
-			<div className="user-content">
-				<ShowModalDiv ShowModal={this.state.showModal} />
-				<div className="content-title" style={{ marginBottom: 10 }}>
-					<span style={{ fontWeight: 900, fontSize: 16 }}>{!intentionState ? "单位公共客户" : "个人公共客户"}</span>
-				</div>
-				<Tabs defaultActiveKey="1" onChange={this.callback} className="test">
-					<TabPane tab="搜索" key="1">
-						<div className="user-search">
-							<Input
-								placeholder="客户名称"
-								value={this.state.nameSearch}
-								style={{ width: 150 }}
-								onChange={(e) => {
-									this.setState({ nameSearch: e.target.value });
-								}}
-							/>
-							<Select
-								placeholder="省"
-								style={{ width: 80 }}
-								value={this.state.provinceSearch}
-								onChange={(e) => {
-									this.setState({ provinceSearch: e });
-								}}
-							>
-								{this.state.Provinces}
-							</Select>
-							<span style={{ marginRight: "10px" }}>
-								<Cascader
-									options={citySelect()}
-									value={this.state.addressSearch}
-									placeholder="选择城市"
-									onChange={(e, pre) => {
-										this.setState({ addressSearch: e });
-									}}
-								/>
-							</span>
-							<span>排序:</span>
-							<Select style={{ width: 120 }} value={this.state.sort} onChange={e => { this.setState({ sort: e }) }} placeholder="选择排序">
-								<Option value={0}>默认</Option>
-								<Option value={1}>降序</Option>
-								<Option value={2}>升序</Option>
-							</Select>
-							<Button type="primary" onClick={this.search}>
-								搜索
-							</Button>
-							<Button onClick={this.reset}>重置</Button>
-						</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}
-							/>
-						</div>
-					</TabPane>
-				</Tabs>
-				<div className="patent-table">
-					<Spin spinning={this.state.loading}>
-						<Table
-							size="middle"
-							columns={
-								this.state.changeList
-									? this.state.changeList
-									: this.state.columns
-							}
-							dataSource={this.state.dataSource}
-							// rowSelection={rowSelection}
-							pagination={this.state.pagination}
-						/>
-					</Spin>
-				</div>
-			</div>
-		);
-	}
+    };
+    return (
+      <div className="user-content">
+        <ShowModalDiv ShowModal={this.state.showModal} />
+        <div className="content-title" style={{ marginBottom: 10 }}>
+          <span style={{ fontWeight: 900, fontSize: 16 }}>{!intentionState ? "单位公共客户" : "个人公共客户"}</span>
+        </div>
+        <Tabs defaultActiveKey="1" onChange={this.callback} className="test">
+          <TabPane tab="搜索" key="1">
+            <div className="user-search">
+              <Input
+                placeholder="客户名称"
+                value={this.state.nameSearch}
+                style={{ width: 150 }}
+                onChange={(e) => {
+                  this.setState({ nameSearch: e.target.value });
+                }}
+              />
+              <Select
+                placeholder="省"
+                style={{ width: 80 }}
+                value={this.state.provinceSearch}
+                onChange={(e) => {
+                  this.setState({ provinceSearch: e });
+                }}
+              >
+                {this.state.Provinces}
+              </Select>
+              <span style={{ marginRight: "10px" }}>
+                <Cascader
+                  options={citySelect()}
+                  value={this.state.addressSearch}
+                  placeholder="选择城市"
+                  onChange={(e, pre) => {
+                    this.setState({ addressSearch: e });
+                  }}
+                />
+              </span>
+              <span>排序:</span>
+              <Select style={{ width: 120 }} value={this.state.sort} onChange={e => { this.setState({ sort: e }) }} placeholder="选择排序">
+                <Option value={0}>默认</Option>
+                <Option value={1}>降序</Option>
+                <Option value={2}>升序</Option>
+              </Select>
+              <Button type="primary" onClick={this.search}>
+                搜索
+              </Button>
+              <Button onClick={this.reset}>重置</Button>
+            </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}
+              />
+            </div>
+          </TabPane>
+        </Tabs>
+        <div className="patent-table">
+          <Spin spinning={this.state.loading}>
+            <Table
+              size="middle"
+              columns={
+                this.state.changeList
+                  ? this.state.changeList
+                  : this.state.columns
+              }
+              dataSource={this.state.dataSource}
+              // rowSelection={rowSelection}
+              pagination={this.state.pagination}
+            />
+          </Spin>
+        </div>
+      </div>
+    );
+  }
 })
 export default QueryCustomer;

+ 5 - 3
js/component/manageCenter/customer/NEW/query/queryCutomer.jsx

@@ -18,6 +18,10 @@ const QueryCustomer = React.createClass({
     if (!this.state.nameSearch) {
       return
     }
+    // 新需求 除湖南和内蒙古外 不让其他省操作
+    if (adminData.province != "21" && adminData.province != "11") {
+      return
+    }
     this.setState({
       visitModul: false,
       loading: true,
@@ -500,9 +504,7 @@ const QueryCustomer = React.createClass({
 				    >
 				        <Input />
 				    </AutoComplete>   */}
-              <Button type="primary" onClick={this.search}>
-                搜索
-              </Button>
+              <Button type="primary" onClick={this.search}>搜索</Button>
               <Button onClick={this.reset}>重置</Button>
             </div>
           </TabPane>

+ 226 - 224
js/component/manageCenter/project/task/businessManagement/checkInfor.jsx

@@ -1,247 +1,249 @@
-import React,{Component} from 'react';
-import {Button, Form, Input, message, Modal, Radio, Select, Spin} from "antd";
+import React, { Component } from 'react';
+import { Button, Form, Input, message, Modal, Radio, Select, Spin } from "antd";
 import {
-    getboutique,
+  getboutique,
 } from "@/tools";
 import $ from "jquery";
 
 const formItemLayout = {
-    labelCol: { span: 8 },
-    wrapperCol: { span: 14 }
+  labelCol: { span: 8 },
+  wrapperCol: { span: 14 }
 };
 
 const FormItem = Form.Item;
 
-class checkInfor extends Component{
-    constructor(props) {
-        super(props);
-        this.state={
-            loading: false,
-            patentType:props.infor ? props.infor.patentType : '',
-            officialCost:props.infor ? props.infor.officialCost : '',
-            costReduction:props.infor ? props.infor.costReduction : '',
+class checkInfor extends Component {
+  constructor(props) {
+    super(props);
+    this.state = {
+      loading: false,
+      patentType: props.infor ? props.infor.patentType : '',
+      officialCost: props.infor ? props.infor.officialCost : '',
+      costReduction: props.infor ? props.infor.costReduction : '',
 
-            patentTypeList:[],
-        }
-        this.onChange = this.onChange.bind(this);
-        this.getpatentTypeList = this.getpatentTypeList.bind(this);
+      patentTypeList: [],
     }
+    this.onChange = this.onChange.bind(this);
+    this.getpatentTypeList = this.getpatentTypeList.bind(this);
+  }
 
-    componentDidMount() {
-        this.getpatentTypeList();
-    }
+  componentDidMount() {
+    this.getpatentTypeList();
+  }
 
-    onChange() {
+  onChange() {
+    this.setState({
+      loading: true,
+    });
+    if (this.state.patentType === null) {
+      message.warning('请选择专利类型')
+      return
+    }
+    if ((this.state.patentType === 0 || this.state.patentType === 2) && isNaN(parseInt(this.state.costReduction)) && this.state.officialCost === 1) {
+      message.warning('请选择是否有费减')
+      return;
+    }
+    $.ajax({
+      method: "POST",
+      dataType: "json",
+      crossDomain: false,
+      url: globalConfig.context + "/api/admin/newOrder/updateOrderTask",
+      data: {
+        id: this.props.infor.id, //项目ID
+        officialCost: this.state.officialCost, //是否有官费
+        costReduction: (this.state.patentType === 0 || this.state.patentType === 2) && this.state.officialCost === 1 ? this.state.costReduction : 0, //是否有费减
+        patentType: this.state.patentType, //专利类型
+      },
+    }).done(
+      function (data) {
         this.setState({
-            loading: true,
+          loading: false,
         });
-        if(this.state.patentType === null){
-            message.warning('请选择专利类型')
-            return
-        }
-        if((this.state.patentType === 0 || this.state.patentType === 2) && isNaN(parseInt(this.state.costReduction)) && this.state.officialCost === 1){
-            message.warning('请选择是否有费减')
-            return;
+        if (!data.error.length) {
+          message.success("保存成功!");
+          this.props.onCancel();
+        } else {
+          message.warning(data.error[0].message);
         }
-        $.ajax({
-            method: "POST",
-            dataType: "json",
-            crossDomain: false,
-            url: globalConfig.context + "/api/admin/newOrder/updateOrderTask",
-            data: {
-                id: this.props.infor.id, //项目ID
-                officialCost: this.state.officialCost, //是否有官费
-                costReduction: (this.state.patentType === 0 || this.state.patentType === 2) && this.state.officialCost === 1 ?this.state.costReduction : 0, //是否有费减
-                patentType: this.state.patentType, //专利类型
-            },
-        }).done(
-            function (data) {
-                this.setState({
-                    loading: false,
-                });
-                if (!data.error.length) {
-                    message.success("保存成功!");
-                    this.props.onCancel();
-                } else {
-                    message.warning(data.error[0].message);
-                }
-            }.bind(this)
-        );
-    }
+      }.bind(this)
+    );
+  }
+
+  getpatentTypeList() {
+    $.ajax({
+      method: "get",
+      dataType: "json",
+      crossDomain: false,
+      url: globalConfig.context + '/api/admin/orderProject/getPatentType',
+      success: function (data) {
+        if (data.error.length === 0) {
+          this.setState({
+            patentTypeList: data.data
+          })
+        } else {
+          message.warning(data.error[0].message);
+        };
+      }.bind(this)
+    });
+  }
 
-    getpatentTypeList() {
-        $.ajax({
-            method: "get",
-            dataType: "json",
-            crossDomain: false,
-            url: globalConfig.context + '/api/admin/orderProject/getPatentType',
-            success: function (data) {
-                if (data.error.length === 0) {
+  render() {
+    const {
+      commodityName,
+      commodityQuantity,
+      officialCost,
+      costReduction,
+      commodityPrice,
+      main,
+      taskComment,
+      ifCertificationFee,//是否包含认证费
+      declarationBatch,//批次
+      type,//项目类型  0 正常 1专利 2软著 3审计 4双软 5高新 6商标
+      patentType,//项目类型
+      patentTypeName,//项目类型名称
+    } = this.props.infor;
+    return (
+      <Modal
+        maskClosable={false}
+        visible={this.props.visible}
+        onOk={this.props.onCancel}
+        onCancel={this.props.onCancel}
+        width="800px"
+        title="项目任务详情"
+        footer=""
+        className="admin-desc-content"
+      >
+        <Form layout="horizontal" id="demand-form">
+          <div className="clearfix">
+            <FormItem
+              className="half-item"
+              {...formItemLayout}
+              label="项目名称"
+            >
+              <span>{commodityName}</span>
+            </FormItem>
+            <FormItem
+              className="half-item"
+              {...formItemLayout}
+              label="项目数量"
+            >
+              <span>{commodityQuantity}</span>
+            </FormItem>
+            <FormItem
+              className="half-item"
+              {...formItemLayout}
+              label="金额(万元)"
+            >
+              <span>{commodityPrice}</span>
+            </FormItem>
+            <FormItem
+              className="half-item"
+              {...formItemLayout}
+              label="主要项目"
+            >
+              <span>{getboutique(String(main))}</span>
+            </FormItem>
+            {type === 5 && <FormItem
+              className="half-item"
+              {...formItemLayout}
+              label="企业申报批次"
+            >
+              <span>
+                {
+                  declarationBatch === 1 ? '第一批' :
+                    declarationBatch === 2 ? '第二批' :
+                      declarationBatch === 3 ? '第三批' :
+                        declarationBatch === 4 ? '第四批' : '未知'
+                }
+              </span>
+            </FormItem>}
+            <div className="clearfix">
+              <FormItem
+                labelCol={{ span: 4 }}
+                wrapperCol={{ span: 16 }}
+                label="服务说明"
+              >
+                <span>{taskComment}</span>
+              </FormItem>
+            </div>
+            <div className="clearfix">
+              <FormItem
+                className="half-item"
+                {...formItemLayout}
+                label="专利类型"
+              >
+                <Select
+                  placeholder="请选择专利类型"
+                  style={{ width: "200px" }}
+                  value={this.state.patentType}
+                  onChange={(e) => {
+                    this.setState({ patentType: e });
+                    if (e !== 0 && e !== 2) {
+                      this.setState({
+                        costReduction: ''
+                      })
+                    }
+                  }}
+                >
+                  {this.state.patentTypeList.map(function (v, k) {
+                    return (
+                      <Select.Option key={k} value={v.id}>{v.name}</Select.Option>
+                    );
+                  })}
+                </Select>
+              </FormItem>
+            </div>
+            <FormItem
+              className="half-item"
+              {...formItemLayout}
+              label="官费"
+              style={{ display: this.state.displayFees }}
+            >
+              <Radio.Group
+                value={this.state.officialCost}
+                onChange={(e) => {
+                  this.setState({ officialCost: e.target.value });
+                  if (e.target.value === 0) {
                     this.setState({
-                        patentTypeList:data.data
+                      costReduction: ''
                     })
-                }else{
-                    message.warning(data.error[0].message);
-                };
-            }.bind(this)
-        });
-    }
-
-    render() {
-        const {
-            commodityName,
-            commodityQuantity,
-            officialCost,
-            costReduction,
-            commodityPrice,
-            main,
-            taskComment,
-            ifCertificationFee,//是否包含认证费
-            declarationBatch,//批次
-            type,//项目类型  0 正常 1专利 2软著 3审计 4双软 5高新 6商标
-            patentType,//项目类型
-            patentTypeName,//项目类型名称
-        } = this.props.infor;
-        return (
-            <Modal
-                maskClosable={false}
-                visible={this.props.visible}
-                onOk={this.props.onCancel}
-                onCancel={this.props.onCancel}
-                width="800px"
-                title="项目任务详情"
-                footer=""
-                className="admin-desc-content"
+                  }
+                }}
+              >
+                <Radio value={1}>含官费</Radio>
+                <Radio value={0}>不含官费</Radio>
+              </Radio.Group>
+            </FormItem>
+            <FormItem
+              className="half-item"
+              {...formItemLayout}
+              label="费减"
+              style={{ display: this.state.displayFees }}
             >
-                <Form layout="horizontal" id="demand-form">
-                    <div className="clearfix">
-                        <FormItem
-                            className="half-item"
-                            {...formItemLayout}
-                            label="项目名称"
-                        >
-                            <span>{commodityName}</span>
-                        </FormItem>
-                        <FormItem
-                            className="half-item"
-                            {...formItemLayout}
-                            label="项目数量"
-                        >
-                            <span>{commodityQuantity}</span>
-                        </FormItem>
-                        <FormItem
-                            className="half-item"
-                            {...formItemLayout}
-                            label="金额(万元)"
-                        >
-                            <span>{commodityPrice}</span>
-                        </FormItem>
-                        <FormItem
-                            className="half-item"
-                            {...formItemLayout}
-                            label="主要项目"
-                        >
-                            <span>{getboutique(String(main))}</span>
-                        </FormItem>
-                        {type === 5 && <FormItem
-                            className="half-item"
-                            {...formItemLayout}
-                            label="企业申报批次"
-                        >
-                                <span>
-                                    {
-                                        declarationBatch === 1 ? '第一批' :
-                                            declarationBatch === 2 ? '第二批' :
-                                                declarationBatch === 3 ? '第三批' :
-                                                    declarationBatch === 4 ? '第四批' : '未知'
-                                    }
-                                </span>
-                        </FormItem>}
-                        <div className="clearfix">
-                            <FormItem
-                                labelCol={{ span: 4 }}
-                                wrapperCol={{ span: 16 }}
-                                label="服务说明"
-                            >
-                                <span>{taskComment}</span>
-                            </FormItem>
-                        </div>
-                        <FormItem
-                            className="half-item"
-                            {...formItemLayout}
-                            label="专利类型"
-                        >
-                            <Select
-                                placeholder="请选择专利类型"
-                                style={{ width: "200px" }}
-                                value={this.state.patentType}
-                                onChange={(e) => {
-                                    this.setState({ patentType: e });
-                                    if(e !== 0 && e !== 2){
-                                        this.setState({
-                                            costReduction: ''
-                                        })
-                                    }
-                                }}
-                            >
-                                {this.state.patentTypeList.map(function (v,k) {
-                                    return (
-                                        <Select.Option key={k} value={v.id}>{v.name}</Select.Option>
-                                    );
-                                })}
-                            </Select>
-                        </FormItem>
-                        <FormItem
-                            className="half-item"
-                            {...formItemLayout}
-                            label="官费"
-                            style={{ display: this.state.displayFees }}
-                        >
-                            <Radio.Group
-                                value={this.state.officialCost}
-                                onChange={(e) => {
-                                    this.setState({ officialCost: e.target.value });
-                                    if(e.target.value === 0){
-                                        this.setState({
-                                            costReduction: ''
-                                        })
-                                    }
-                                }}
-                            >
-                                <Radio value={1}>含官费</Radio>
-                                <Radio value={0}>不含官费</Radio>
-                            </Radio.Group>
-                        </FormItem>
-                        <FormItem
-                            className="half-item"
-                            {...formItemLayout}
-                            label="费减"
-                            style={{ display: this.state.displayFees }}
-                        >
-                            <Radio.Group
-                                disabled={this.state.officialCost === 0 || (this.state.patentType !== 0 && this.state.patentType !== 2)}
-                                value={this.state.costReduction}
-                                onChange={(e) => {
-                                    this.setState({ costReduction: e.target.value });
-                                }}
-                            >
-                                <Radio value={1}>有费减</Radio>
-                                <Radio value={0}>无费减</Radio>
-                            </Radio.Group>
-                        </FormItem>
-                    </div>
-                    <div style={{color:'#f00',paddingLeft: '67px',paddingBottom: '10px'}}>
-                        注意:技术员已发起二次确认,请核对本次费用情况,填写有误,将影响到成本支付情况
-                    </div>
-                    <div style={{display:'flex',justifyContent:"center"}}>
-                        <Button type='primary' onClick={()=>{
-                            this.onChange();
-                        }}>确认核对</Button>
-                    </div>
-                </Form>
-            </Modal>
-        );
-    }
+              <Radio.Group
+                disabled={this.state.officialCost === 0 || (this.state.patentType !== 0 && this.state.patentType !== 2)}
+                value={this.state.costReduction}
+                onChange={(e) => {
+                  this.setState({ costReduction: e.target.value });
+                }}
+              >
+                <Radio value={1}>有费减</Radio>
+                <Radio value={0}>无费减</Radio>
+              </Radio.Group>
+            </FormItem>
+          </div>
+          <div style={{ color: '#f00', paddingLeft: '67px', paddingBottom: '10px' }}>
+            注意:技术员已发起二次确认,请核对本次费用情况,填写有误,将影响到成本支付情况
+          </div>
+          <div style={{ display: 'flex', justifyContent: "center" }}>
+            <Button type='primary' onClick={() => {
+              this.onChange();
+            }}>确认核对</Button>
+          </div>
+        </Form>
+      </Modal>
+    );
+  }
 }
 
 export default checkInfor;

+ 20 - 0
js/component/manageCenter/project/task/myTask.jsx

@@ -138,6 +138,7 @@ const Task = React.createClass({
           this.state.outsourceStatusSearch >= 999
             ? undefined
             : this.state.outsourceStatusSearch, //外包状态搜索
+        projectName: this.state.projectName, // 项目名称
       },
       success: function (data) {
         ShowModal(this)
@@ -169,6 +170,8 @@ const Task = React.createClass({
         }
         this.setState({
           dataSource: theArr,
+          totalAmount: data.data.totalAmount || 0,
+          totalNumber: data.data.totalNumber || 0,
           pagination: this.state.pagination,
         })
       }.bind(this),
@@ -3890,6 +3893,13 @@ const Task = React.createClass({
                 <Select.Option key={2}>外包审核驳回</Select.Option>
                 <Select.Option key={999}>全部</Select.Option>
               </Select>
+              <Input
+                placeholder="请输入项目名称"
+                value={this.state.projectName}
+                onChange={(e) => {
+                  this.setState({ projectName: e.target.value })
+                }}
+              />
               <Button type="primary" onClick={this.search}>
                 搜索
               </Button>
@@ -3963,6 +3973,15 @@ const Task = React.createClass({
               size={'small'}
             />
           </Spin>
+          <p
+            style={{ display: "inline-block", fontSize: "14px", color: "red" }}
+          >
+            {
+              <span style={{ marginRight: 10 }}>
+                {`累计:${this.state.totalNumber}个,共${this.state.totalAmount}万元`}
+              </span>
+            }
+          </p>
         </div>
         <Assign
           title="项目"
@@ -5000,6 +5019,7 @@ const Task = React.createClass({
                           >
                             <Radio value={0}>外包(不走总部)</Radio>
                             <Radio value={1}>供应商信息</Radio>
+                            <Radio value={2}>转让专利</Radio>
                           </Radio.Group>
                         </FormItem>
                       </div>