dengzhiguo 6 vuotta sitten
vanhempi
commit
12caf0692f

+ 24 - 0
js/component/dataDic.js

@@ -2214,4 +2214,28 @@ module.exports = {
 	        key: "优质资料"
 	    }
     ],
+    roleResources:[
+    	{
+	        value: "0",
+	        label: "意向客户"
+	    },{
+	        value: "1",
+	        label: "签单业务"
+	    },{
+	        value: "2",
+	        label: "客户资料"
+	    },{
+	        value: "3",
+	        label: "已签订单"
+	    },{
+	        value: "4",
+	        label: "项目任务"
+	    },{
+	        value: "5",
+	        label: "科技需求"
+	    },{
+	        value: "6",
+	        label: "科技成果"
+	    }
+    ],
 };

+ 1 - 30
js/component/manageCenter/achievement/crmAchievement.jsx

@@ -149,7 +149,6 @@ const AchievementDetailShow = Form.create()(React.createClass({
         };
     },
     loadData(id, detailApiUrl,ownerType) {
-    	console.log(111);
         this.setState({
             loading: true
         });
@@ -585,33 +584,7 @@ const AchievementDetailShow = Form.create()(React.createClass({
                                 label="通讯地址" >
                                 <span>{theData.ownerPostalAddress}</span>
                             </FormItem>
-                        </div> : <div className="clearfix" >
-                            <FormItem className="half-item"
-                                {...formItemLayout}
-                                label="成果所有人名称" >
-                                <span>{theData.iOwnerName}</span>
-                            </FormItem>
-                            <FormItem className="half-item"
-                                {...formItemLayout}
-                                label="联系电话" >
-                                {theData.ownerType == "1" ? <span>{this.state.contactsObj[theData.contacts]}</span> : <span>{theData.iOwnerMobile}</span>}
-                            </FormItem>
-                            <FormItem className="half-item"
-                                {...formItemLayout}
-                                label="证件号" >
-                                <span>{theData.iOwnerIdNumber}</span>
-                            </FormItem>
-                            <FormItem className="half-item"
-                                {...formItemLayout}
-                                label="电子邮箱" >
-                                <span>{theData.iOwnerEmail}</span>
-                            </FormItem>
-                            <FormItem className="half-item"
-                                {...formItemLayout}
-                                label="通讯地址" >
-                                <span>{theData.iOwnerPostalAddress}</span>
-                            </FormItem>
-                        </div>}
+                        </div> : ""}
                     <div className="clearfix">
                         <FormItem className="half-item"
                             {...formItemLayout}
@@ -931,7 +904,6 @@ const AchievementDetailForm = Form.create()(React.createClass({
     handleSubmit(e) {
         e.preventDefault();
         this.props.form.validateFields((err, values) => {
-        	console.log(values);
             //keyword长度判断
            
             if ((this.state.tags ? this.state.tags.length : this.props.tags.length) < 3) {
@@ -1062,7 +1034,6 @@ const AchievementDetailForm = Form.create()(React.createClass({
     componentWillReceiveProps(nextProps) {
     	if (!this.props.visible && nextProps.visible) {
             if (nextProps.data && nextProps.data.id) {
-            	console.log(333);
                 this.loadData(nextProps.data.id, nextProps.detailApiUrl,nextProps.data.ownerType);
             };
             this.state.data = {};

+ 6 - 4
js/component/manageCenter/customer/NEW/crm/crm.jsx

@@ -123,6 +123,7 @@ const IntentionCustomer = Form.create()(React.createClass({
 				}
 				this.setState({
 					dataSource: theArr,
+					pageNo: pageNo,
 					pagination: this.state.pagination,
 					selectedRowKeys:[]
 				});
@@ -133,7 +134,7 @@ const IntentionCustomer = Form.create()(React.createClass({
 			});
 		}.bind(this));
 	},
-	loadDatas(pageNo) {
+	loadDatas(pageNos) {
         this.setState({
             loading: true,
         });
@@ -143,7 +144,7 @@ const IntentionCustomer = Form.create()(React.createClass({
             crossDomain: false,
             url: globalConfig.context + "/api/admin/achievement/listUserAchievement",
             data: {
-                pageNo: pageNo || 1,
+                pageNo: pageNos || 1,
                 pageSize: this.state.paginationDate.pageSize,
                 uid:this.state.uid,
             },
@@ -184,6 +185,7 @@ const IntentionCustomer = Form.create()(React.createClass({
                 };
                 this.setState({
                     dataSourceDate: theArr,
+                    pageNos: pageNos,
                     paginationDate: this.state.paginationDate
                 });
             }.bind(this),
@@ -556,7 +558,7 @@ const IntentionCustomer = Form.create()(React.createClass({
 			if(!data.error.length) {
 				message.success('保存成功!');
 				this.visitCancel();
-				this.loadData();
+				this.loadData(this.state.pageNo);
 			} else {
 				message.warning(data.error[0].message);
 			}
@@ -658,7 +660,7 @@ const IntentionCustomer = Form.create()(React.createClass({
 				} else {
 					message.warning(data.error[0].message);
 				};
-				this.loadData(this.state.ispage);
+				this.loadData(this.state.pageNo);
 			}.bind(this));
 		}else{
 			message.warning('请输入转交人姓名')

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

@@ -315,7 +315,7 @@ const QueryCustomer = React.createClass({
 				        dropdownStyle={{ width: 120 }}
 				        style={{ width: '120px'}}
 				        dataSource={options}
-				        placeholder="输入转交人姓名"
+				        placeholder="客户所有人姓名"
 				        value={this.state.auto}
 				        onChange={this.httpChange}
 				        filterOption={true}

+ 9 - 0
js/component/manageCenter/set/userManagementS/newUser.jsx

@@ -127,6 +127,7 @@ const Newuser = Form.create()(React.createClass({
             		id:this.state.id?this.state.id:this.props.addId,
 	                mobile:this.state.mobile,
 					status:this.state.status,
+					contactMobile:this.state.contactMobile,
 					name:this.state.name,
 					departmentId:window.adminData.isSuperAdmin?this.state.departmentId:window.adminData.departmentId,
 					duty:this.state.duty,
@@ -241,6 +242,7 @@ const Newuser = Form.create()(React.createClass({
                     superiorId: thisdata.superiorId,//上级Id
                     duty:thisdata.duty?thisdata.duty:undefined,//职务
                     status:thisdata.status?thisdata.status:undefined,
+                    contactMobile:thisdata.contactMobile?thisdata.contactMobile:undefined,//手机号
                     departmentId:thisdata.departmentId?thisdata.departmentId:undefined,//部门id
                     userNo:thisdata.userNo,
                 	orgCodeUrl: thisdata.headPortraitUrl? splitUrl(thisdata.headPortraitUrl, ',', globalConfig.avatarHost + '/upload') : [],
@@ -398,6 +400,7 @@ const Newuser = Form.create()(React.createClass({
 											        </Select>
 					                                <span className="mandatory">*</span>
 			                   		    </FormItem>
+			                   		    
 			                   		    <FormItem className="half-item"
 						                        {...formItemLayout}
 					                           label=""
@@ -422,6 +425,12 @@ const Newuser = Form.create()(React.createClass({
 					                                    onChange={(e)=>{this.setState({name:e.target.value})}} required="required"/> 
 				                                    <span className="mandatory">*</span>
 					                    </FormItem>
+					                    <FormItem className="half-item"
+					                            {...formItemLayout}
+					                            label="联系方式" >   
+				                                    <Input placeholder="请输入手机号" style={{width:'200px'}} value={this.state.contactMobile}
+					                                    onChange={(e)=>{this.setState({contactMobile:e.target.value})}} /> 
+					                    </FormItem> 
 					                    {/*<FormItem className="half-item"
 				                            {...formItemLayout}
 				                            label="入职时间" >   

+ 123 - 3
js/component/manageCenter/set/userManagementS/roles.jsx

@@ -2,10 +2,11 @@ import React from 'react';
 import ReactDom from 'react-dom';
 import ajax from 'jquery/src/ajax/xhr.js';
 import $ from 'jquery/src/ajax';
-import { Form,Radio, Icon, Button, Input, Select, Spin, Table, Switch, message, DatePicker, Modal, Upload } from 'antd';
+import { Form,Radio, Icon, Button, Input, Select, Spin, Table, Switch, message, DatePicker, Modal, Upload ,Checkbox} from 'antd';
 import Newrole from "./newRole.jsx"
 import './userMangagement.less'
-import {} from '../../../dataDic.js';
+import {roleResources} from '../../../dataDic.js';
+const CheckboxGroup = Checkbox.Group;
 
 const Roles=Form.create()(React.createClass({
 	loadData(pageNo) {
@@ -93,11 +94,97 @@ const Roles=Form.create()(React.createClass({
                     title: '创建时间',
                     dataIndex: 'createTime',
                     key: 'createTime',
-                }
+                },{
+                    title: '离职转交配置',
+                    dataIndex: 'ee',
+                    key: 'ee',
+                    render: (text, record, index) => {
+                    	return <div>
+							<Button onClick={(e) =>{ e.stopPropagation(), this.visit(record)}} type="primary">离职转交配置</Button>
+                        </div>
+					}
+                },
             ],
             dataSource: [],
         };
     },
+    //进入离职权限配置
+	visit(record) {
+		let rid=record.id;
+		this.state.resources=undefined;
+		this.setState({
+            visible2: true,
+            rid:record.id,
+            name:record.roleName,
+        });
+        this.resourcesDetail(rid);
+	},
+	//关闭离职配置
+	handleCancel2(){
+		this.setState({
+            visible2: false
+        });
+	},
+	 //点击离职资源配置保存
+    resourcesDetail(rid) {
+        this.setState({
+            selectedRowKeys: [],
+            loading: true,
+        });
+        $.ajax({
+            method: "POST",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + "/api/admin/role/ResourcesDetail",
+            data: {
+            	rid:rid,
+            }
+        }).done(function (data) {
+            if (!data.error.length) {
+            	let resourcesData=[];
+            	for(let i=0;i<data.data.length;i++){
+            		resourcesData.push(data.data[i].resources.toString())
+            	}
+                this.setState({
+                    loading: false,
+                    resources:resourcesData
+                });
+            } else {
+                message.warning(data.error[0].message);
+            };
+            
+        }.bind(this));
+    },
+	 //点击离职资源配置保存
+    resourcesSubmit(e) {
+    	e.preventDefault();
+        this.setState({
+            selectedRowKeys: [],
+            loading: true
+        });
+        $.ajax({
+            method: "POST",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + "/api/admin/role/addResources",
+            data: {
+            	rid:this.state.rid,
+            	resources:this.state.resources.join(","),
+                
+            }
+        }).done(function (data) {
+            if (!data.error.length) {
+                message.success('配置成功!');
+                this.setState({
+                    loading: false,
+                    visible2: false
+                });
+            } else {
+                message.warning(data.error[0].message);
+            };
+            
+        }.bind(this));
+    },
     componentWillMount() {
         this.loadData();
     },
@@ -180,6 +267,7 @@ const Roles=Form.create()(React.createClass({
 			},
         };
         const hasSelected = this.state.selectedRowKeys.length > 0;
+        const FormItem = Form.Item
         return (
             <div className="user-content" >
                 <div className="content-title">
@@ -209,6 +297,38 @@ const Roles=Form.create()(React.createClass({
 	                    showDesc={this.state.showDesc}
 	                    closeDesc={this.closeDesc} />
 	            </div >
+	            <div className="patent-desc">
+                    <Modal maskClosable={false} visible={this.state.visible2}
+                        onOk={this.checkResources} onCancel={this.handleCancel2}
+                        width='600px'
+                        title='离职转交配置'                       
+                        footer=''
+                        className="admin-desc-content">
+                         <Form horizontal onSubmit={this.resourcesSubmit} id="add-form">
+			                <Spin spinning={this.state.loading}>
+			                	<FormItem  
+		                         	labelCol={{ span: 10 }}
+			                        wrapperCol={{ span: 4 }}
+		                           	label="角色名称"
+		                         >    
+									{this.state.name}	                               
+		                   		 </FormItem>
+			                    <FormItem  
+		                         	labelCol={{ span: 10 }}
+			                        wrapperCol={{ span: 4 }}
+		                           	label="请选择离职转交配置"
+		                         >    
+	                              <CheckboxGroup options={roleResources} value={this.state.resources} onChange={(e)=>{this.setState({resources:e})}} />
+	                               
+		                   		 </FormItem>
+			                    <FormItem wrapperCol={{ span: 12, offset: 7 }}>
+			                        <Button className="set-submit" type="primary" htmlType="submit">保存</Button>  
+			                        <Button className="set-submit" type="ghost" onClick={this.handleCancel2} style={{marginLeft:'100px'}}>取消</Button>
+			                    </FormItem> 
+			                </Spin>
+			            </Form >
+                    </Modal>
+            	 </div>
             </div>
         );
     }

+ 105 - 1
js/component/manageCenter/set/userManagementS/user.jsx

@@ -2,7 +2,7 @@ import React from 'react';
 import ReactDom from 'react-dom';
 import ajax from 'jquery/src/ajax/xhr.js';
 import $ from 'jquery/src/ajax';
-import { Form, Radio, Icon, Button, Input, Select, AutoComplete, Spin, Table, Switch, message, DatePicker, Modal, Upload } from 'antd';
+import { Form, Radio, Icon, Button, Input, Select, AutoComplete, Spin, Table, Switch, message, DatePicker, Modal, Upload,Popconfirm } from 'antd';
 import Newuser from "./newUser.jsx"
 import './userMangagement.less'
 import { techAuditStatusList, station, post } from '../../../dataDic.js';
@@ -149,9 +149,90 @@ const User = Form.create()(React.createClass({
 					key: 'status',
 				}
 			],
+			column: [{
+					title: '用户编号',
+					dataIndex: 'userNo',
+					key: 'userNo',
+				}, {
+					title: '登录用户名',
+					dataIndex: 'mobile',
+					key: 'mobile',
+				}, {
+					title: '角色',
+					dataIndex: 'roles',
+					key: 'roles',
+				}, {
+					title: '用户姓名',
+					dataIndex: 'name',
+					key: 'name',
+				}, {
+                    title: '转交',
+                    dataIndex: 'ee',
+                    key: 'ee',
+                    render: (text, record, index) => {
+                    	return <div>
+							<Popconfirm title={'请确认转交【'+record.name+'】'} onConfirm={(e)=>{this.examineOK(record)}} okText="确认" cancelText="取消">
+							    <Button style={{marginRight:'5px'}} onClick={(e) =>{ e.stopPropagation()}} type="primary">转交</Button>                 
+							</Popconfirm>
+                        </div>
+					}
+                },
+			],
 			dataSource: [],
 		};
 	},
+	//点击离职一键转交
+	resources() {
+		let deletedIds;
+		let rowItem;
+		for(let idx = 0; idx < this.state.selectedRows.length; idx++) {
+			rowItem = this.state.selectedRows[idx];
+			console.log(rowItem.id);
+			if(rowItem.id) {
+				deletedIds = rowItem.id;
+			};
+		};
+		this.setState({
+			visible: true,
+			aid:deletedIds
+		});
+	},
+	//关闭离职一键转交
+	handleCancel(){
+		this.setState({
+			visible: false
+		});
+	},
+	//一键离职
+	examineOK(record){
+		console.log(record);
+        this.setState({
+            selectedRowKeys: [],
+            loading: true
+        });
+        $.ajax({
+            method: "POST",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + "/api/admin/role/dimission",
+            data: {
+            	aid:this.state.aid,
+            	transferId:record.id,
+                
+            }
+        }).done(function (data) {
+            if (!data.error.length) {
+                message.success('转交成功!');
+                
+            } else {
+                message.warning(data.error[0].message);
+            };
+            this.setState({
+                    loading: false,
+                    visible2: false
+                });
+        }.bind(this));
+	},
 	componentWillMount() {
 		this.loadData();
 		this.departmentList();
@@ -432,6 +513,7 @@ const User = Form.create()(React.createClass({
 			showDesc: true
 		});
 	},
+	
 	closeDesc(e, s) {
 		this.state.userDetaile=false;
 		this.state.showDesc = e;
@@ -581,6 +663,7 @@ const User = Form.create()(React.createClass({
 	                        onClick={this.activation}>激活<Icon type="unlock" /></Button>
 	                    
 	                    <span>更多搜索<Switch defaultChecked={false} onChange={this.searchSwitch} /></span>
+	                    <Button type="primary" className="addButton" onClick={this.resources} disabled={!hasSelected} >离职一键转交<Icon type="user" /></Button>
 	                    <Button type="primary" className="addButton" onClick={this.addClick} >新增用户<Icon type="user" /></Button>
 	                    <div className="search-more" style={this.state.searchMore ? { display: 'none' } : {}}>
 	                    	<Select placeholder="职务"
@@ -651,6 +734,27 @@ const User = Form.create()(React.createClass({
 	                    datauser={this.state.datauser}
 	                    showDesc={this.state.showDesc}
 	                    closeDesc={this.closeDesc} />
+	            	<div className="patent-desc">
+	                    <Modal maskClosable={false} visible={this.state.visible}
+	                        onOk={this.checkResources} onCancel={this.handleCancel}
+	                        width='800px'
+	                        title='离职一键转交'                       
+	                        footer=''
+	                        className="admin-desc-content">
+		                    <Input placeholder="用户姓名" style={{width:'150px',marginRight:"10px",marginBottom:"10px"}}
+		                        value={this.state.userNameSearch}
+		                        onChange={(e) => { this.setState({ userNameSearch: e.target.value }); }} />
+		                    <Button type="primary" onClick={this.search}>搜索</Button>    
+	                        <div className="patent-table">
+			                    <Spin spinning={this.state.loading}>
+			                        <Table columns={this.state.column}
+			                            dataSource={this.state.dataSource}
+			                            pagination={this.state.pagination}
+			                            onRowClick={this.tableRowClick} />
+			                    </Spin>
+			                </div>
+	                    </Modal>
+	            	 </div>
 	            </div >
             </div>
 		);