Browse Source

打卡统计

HW 3 years ago
parent
commit
1bc6f82539

+ 52 - 1
js/component/dataDic.js

@@ -3960,5 +3960,56 @@ module.exports = {
       key: "已触发剩余1天提醒",
       color:'#f00'
     },
-  ]
+  ],
+  //详情申请状态
+  clockState : [
+    {
+      title:'驳回',
+      id:0,
+      color:'#f31212'
+    },
+    {
+      title:'审核中',
+      id:1,
+      color:'#1d4fea'
+    },
+    {
+      title:'通过',
+      id:2,
+      color:'#34de38'
+    },
+    {
+      title:'已撤销',
+      id:3,
+      color:'#242424'
+    },
+  ],
+  //申请日志状态
+  clockJournalState : [
+    {
+      title:'驳回',
+      id:0,
+      color:'#f31212'
+    },
+    {
+      title:'发起',
+      id:1,
+      color:'#1d4fea'
+    },
+    {
+      title:'通过',
+      id:2,
+      color:'#34de38'
+    },
+    {
+      title:'已打卡',
+      id:3,
+      color:'#b934de'
+    },
+    {
+      title:'已撤销',
+      id:4,
+      color:'#242424'
+    },
+  ],
 };

+ 55 - 15
js/component/manageCenter/customer/NEW/intentionCustomer/intentionDetail/detail/visitDetail.jsx

@@ -1,11 +1,10 @@
 import React from 'react'
-import ajax from 'jquery/src/ajax/xhr.js';
 import $ from 'jquery/src/ajax';
-import {Modal, Form, layout, Radio, Button, Input, Spin, Table, Select, Popconfirm, message, Tag, Tooltip} from 'antd';
-import {intentionalService,newFollow,customerStatus} from '@/dataDic.js';
-import {getCompanyIntention,getContactType,getfllowSituation,getcustomerStatue} from '@/tools.js';
+import {Modal, Form, Button, Spin, Table, Select, message, Tag, Tooltip} from 'antd';
+import {getfllowSituation,getcustomerStatue,getClockState,splitUrl} from '@/tools.js';
 const FormItem =Form.Item;
 import BusName from '../../followDetail/businessName.jsx';
+import ImgList from "../../../../../../common/imgList";
 
 const VisitDetail = React.createClass({
 	getInitialState(){
@@ -15,15 +14,14 @@ const VisitDetail = React.createClass({
 			data:[],
 			publicReleaseLog:[],
 			followDtails:{},
+			enclosure:[],
 			intentionPublicReleaseLog:[
 				{
-					title: '操作状态',
+					title: '状态',
 					dataIndex: 'status',
 					key: 'status',
 					render: (text) => (
-						text === 0 ? <Tag color="#F00">驳回</Tag> :
-							text === 1 ? <Tag color="#58a3ff">发起</Tag> :
-								text === 2 ? <Tag color="#87d068">通过</Tag> : null
+						<Tag color={getClockState(text,true).color}>{getClockState(text,true).title}</Tag>
 					)
 				},
 				{
@@ -54,6 +52,30 @@ const VisitDetail = React.createClass({
 						)
 					}
 				},
+				{
+					title: '操作',
+					width:120,
+					dataIndex: 'photoUrl',
+					key: 'photoUrl',
+					render: (text) => {
+						let arr = splitUrl(
+							text,
+							",",
+							globalConfig.avatarHost + "/upload"
+						)
+						return (
+							arr.length !== 0 ? <Button ype="primary" onClick={()=>{
+								console.log(arr)
+								this.setState({
+									visitImgModul:true,
+									enclosure:arr
+								})
+							}}>
+								查看附件
+							</Button> : null
+						)
+					}
+				},
 			],
 			//业务意向列表
 			intentionList: [
@@ -506,12 +528,9 @@ const VisitDetail = React.createClass({
 											<FormItem
 												labelCol={{ span: 4 }}
 												wrapperCol={{ span: 16 }}
-												label="审核情况" >
+												label="当前状态" >
 												<span>
-													{
-														this.state.followDtails.status === 0 ? <Tag color="#F00">驳回</Tag> :
-															this.state.followDtails.status === 1 ? <Tag color="#58a3ff">审核中</Tag> :
-																this.state.followDtails.status === 2 ? <Tag color="#87d068">通过</Tag> : null}
+													<Tag color={getClockState(this.state.followDtails.status).color}>{getClockState(this.state.followDtails.status).title}</Tag>
 												</span>
 											</FormItem>
 										</div>
@@ -524,7 +543,7 @@ const VisitDetail = React.createClass({
 											/>
 										</div>
 									</div> : null}
-					                <div className="clearfix">
+									{!(this.state.contactType === '外出' && Object.keys(this.state.followDtails).length > 0) ? <div className="clearfix">
 					                 	<div style={{fontSize:'18px',marginLeft:'100px',marginTop:'15px',marginBottom:'10px'}}>业务意向</div>
 					                 	<div className="clearfix" >
 		                    			    <Spin spinning={this.state.loading}>
@@ -536,7 +555,7 @@ const VisitDetail = React.createClass({
 								            	 />
 										    </Spin>
 										</div>
-					                </div>
+					                </div> : null}
 			    			   	</div>
 			    			   	{!followData.readOnly&&<FormItem wrapperCol={{ span: 12, offset: 6 }}>
 								    {/* <Button  type="primary" size="large" htmlType="submit" style={{marginRight:'150px',marginTop:'20px'}}>保存</Button>
@@ -551,6 +570,27 @@ const VisitDetail = React.createClass({
 					closeBus={this.closeBus}
 					mid={this.props.mid}
 				/>
+				{this.state.visitImgModul ? <Modal
+					className="customeDetails"
+					footer=''
+					title="附件"
+					width='600px'
+					visible={this.state.visitImgModul}
+					onOk={()=>{
+						this.setState({
+							visitImgModul:false,
+							enclosure:[],
+						})
+					}}
+					onCancel={()=>{
+						this.setState({
+							visitImgModul:false,
+							enclosure:[]
+						})
+					}}
+				>
+					<ImgList fileList={this.state.enclosure} domId={'visitDetail'}/>
+				</Modal> : null}
 			</div>
 		)
 	}

+ 55 - 14
js/component/manageCenter/customer/NEW/signCustomer/intentionDetail/detail/visitDetail.jsx

@@ -1,9 +1,9 @@
 import React from 'react'
-import ajax from 'jquery/src/ajax/xhr.js';
 import $ from 'jquery/src/ajax';
 import {Modal, Form, layout, Radio, Button, Input, Spin, Table, Select, Popconfirm, message, Tag, Tooltip} from 'antd';
 import {intentionalService,newFollow,customerStatus} from '@/dataDic.js';
-import {getCompanyIntention,getfllowSituation,getcustomerStatue,getContactType} from '@/tools.js';
+import {getCompanyIntention,getfllowSituation,getcustomerStatue,getClockState} from '@/tools.js';
+import ImgList from "../../../../../../common/imgList";
 const FormItem =Form.Item;
 
 const VisitDetail = React.createClass({
@@ -14,15 +14,14 @@ const VisitDetail = React.createClass({
 			data:[],
 			publicReleaseLog:[],
 			followDtails:{},
+			enclosure:[],
 			intentionPublicReleaseLog:[
 				{
-					title: '操作状态',
+					title: '状态',
 					dataIndex: 'status',
 					key: 'status',
 					render: (text) => (
-						text === 0 ? <Tag color="#F00">驳回</Tag> :
-							text === 1 ? <Tag color="#58a3ff">发起</Tag> :
-								text === 2 ? <Tag color="#87d068">通过</Tag> : null
+						<Tag color={getClockState(text,true).color}>{getClockState(text,true).title}</Tag>
 					)
 				},
 				{
@@ -53,6 +52,30 @@ const VisitDetail = React.createClass({
 						)
 					}
 				},
+				{
+					title: '操作',
+					width:120,
+					dataIndex: 'photoUrl',
+					key: 'photoUrl',
+					render: (text) => {
+						let arr = splitUrl(
+							text,
+							",",
+							globalConfig.avatarHost + "/upload"
+						)
+						return (
+							arr.length !== 0 ? <Button ype="primary" onClick={()=>{
+								console.log(arr)
+								this.setState({
+									visitImgModul:true,
+									enclosure:arr
+								})
+							}}>
+								查看附件
+							</Button> : null
+						)
+					}
+				},
 			],
 			//业务意向列表
 			intentionList:[
@@ -432,17 +455,14 @@ const VisitDetail = React.createClass({
 											<FormItem
 												labelCol={{ span: 4 }}
 												wrapperCol={{ span: 16 }}
-												label="审核情况" >
+												label="当前状态" >
 												<span>
-													{
-														this.state.followDtails.status === 0 ? <Tag color="#F00">驳回</Tag> :
-															this.state.followDtails.status === 1 ? <Tag color="#58a3ff">审核中</Tag> :
-																this.state.followDtails.status === 2 ? <Tag color="#87d068">通过</Tag> : null}
+													<Tag color={getClockState(this.state.followDtails.status).color}>{getClockState(this.state.followDtails.status).title}</Tag>
 												</span>
 											</FormItem>
 										</div>
 										<div className="clearfix">
-											<div style={{fontSize:'18px',marginLeft:'100px',marginTop:'15px',marginBottom:'10px'}}>打卡日志</div>
+											<div style={{fontSize:'18px',marginLeft:'100px',marginTop:'15px',marginBottom:'10px'}}>公出日志</div>
 											<Table
 												pagination={false}
 												columns={this.state.intentionPublicReleaseLog}
@@ -450,7 +470,7 @@ const VisitDetail = React.createClass({
 											/>
 										</div>
 									</div> : null}
-					                <div className="clearfix">
+									{!(this.state.contactType === '外出' && Object.keys(this.state.followDtails).length > 0) ? <div className="clearfix">
 					                 	<div style={{fontSize:'18px',marginLeft:'100px',marginTop:'15px',marginBottom:'10px'}}>业务意向</div>
 					                 	<div className="clearfix" >
 		                    			    <Spin spinning={this.state.loading}>
@@ -463,7 +483,7 @@ const VisitDetail = React.createClass({
 								            	 />
 										    </Spin>
 										</div>
-					                </div>
+					                </div> : null}
 			    			   	</div>
 			    			   	{!followData.readOnly&&<FormItem wrapperCol={{ span: 12, offset: 6 }}>
 								    {/* <Button  type="primary" size="large" htmlType="submit" style={{marginRight:'150px',marginTop:'20px'}}>保存</Button>
@@ -472,6 +492,27 @@ const VisitDetail = React.createClass({
 					   		</Spin>
 					    </Form>
 				</Modal>
+				{this.state.visitImgModul ? <Modal
+					className="customeDetails"
+					footer=''
+					title="附件"
+					width='600px'
+					visible={this.state.visitImgModul}
+					onOk={()=>{
+						this.setState({
+							visitImgModul:false,
+							enclosure:[],
+						})
+					}}
+					onCancel={()=>{
+						this.setState({
+							visitImgModul:false,
+							enclosure:[]
+						})
+					}}
+				>
+					<ImgList fileList={this.state.enclosure} domId={'visitDetail'}/>
+				</Modal> : null}
 			</div>
 		)
 	}

+ 168 - 57
js/component/manageCenter/customer/publicStatistics/detailedList.jsx

@@ -1,10 +1,27 @@
 import React,{ Component } from 'react';
-import {AutoComplete, Button, DatePicker, Input, message, Modal, Select, Spin, Table, Tabs, Tag} from "antd";
-import {ShowModal,} from "@/tools";
+import {
+    AutoComplete,
+    Button,
+    DatePicker,
+    Input,
+    message,
+    Modal,
+    Select,
+    Spin,
+    Table,
+    Tabs,
+    Tag,
+    Form,
+    Upload
+} from "antd";
+import {ShowModal,splitUrl,getClockState} from "@/tools";
+import {clockState} from "@/dataDic";
 import {ChooseList} from "../../order/orderNew/chooseList";
 import $ from "jquery/src/ajax";
 import './index.less';
 import moment from "moment";
+import ImgList from "../../../common/imgList";
+
 
 const {TabPane} = Tabs;
 const { RangePicker } = DatePicker;
@@ -16,6 +33,9 @@ class DetailedList extends Component{
             pageNo:1,
             loading:false,
             changeList:[],
+            annexUrlArr:[],
+            photoUrlArr:[],
+            imgListVisible:false,
             columns: [
                 {
                     title: "编号",
@@ -50,9 +70,35 @@ class DetailedList extends Component{
                     dataIndex: "status",
                     key: "status",
                     render: (text) => (
-                        text === '0' ? <Tag color="#F00">驳回</Tag> :
-                            text === '1' ? <Tag color="#58a3ff">审核中</Tag> :
-                                text === '2' ? <Tag color="#87d068">通过</Tag> : null
+                        <Tag color={getClockState(text).color}>{getClockState(text).title}</Tag>
+                    )
+                },
+                {
+                    title: "操作",
+                    dataIndex: "annexUrl",
+                    key: "annexUrl",
+                    render: (text,record) => (
+                        <div>
+                            <Button
+                                style={{marginRight:'15px'}}
+                                type={"primary"}
+                                onClick={(e) => {
+                                    e.stopPropagation();
+                                    let arr1 = text || [];
+                                    let arr2 = record.photoUrl || [];
+                                    this.setState({
+                                        annexUrlArr:splitUrl(arr1, ",", globalConfig.avatarHost + "/upload"),
+                                        photoUrlArr:splitUrl(arr2, ",", globalConfig.avatarHost + "/upload"),
+                                    },()=>{
+                                        this.setState({
+                                            imgListVisible:true
+                                        })
+                                    })
+                                }}
+                            >
+                                查看公出附件
+                            </Button>
+                        </div>
                     )
                 },
             ],
@@ -87,6 +133,7 @@ class DetailedList extends Component{
         this.selectCustomerAuto = this.selectCustomerAuto.bind(this);
         this.httpCustomerChange = this.httpCustomerChange.bind(this);
         this.blurCustomerChange = this.blurCustomerChange.bind(this);
+        this.exportExec = this.exportExec.bind(this);
     }
 
     //获取上级组织
@@ -135,11 +182,14 @@ class DetailedList extends Component{
     }
 
     loadData(pageNo) {
+        this.setState({
+            loading:true
+        })
         $.ajax({
             method: "get",
             dataType: "json",
             crossDomain: false,
-            url: globalConfig.context + "/api/admin/release//publicReleaseDtails",
+            url: globalConfig.context + "/api/admin/release/publicReleaseDtails",
             data: {
                 pageNo: pageNo || 1,
                 pageSize: this.state.pagination.pageSize,
@@ -152,6 +202,9 @@ class DetailedList extends Component{
             success: function(data) {
                 ShowModal(this);
                 let theArr = [];
+                this.setState({
+                    loading:false
+                })
                 if (data.error && data.error.length === 0) {
                     for (let i = 0; i < data.data.list.length; i++) {
                         let thisdata = data.data.list[i];
@@ -310,6 +363,32 @@ class DetailedList extends Component{
         this.selectSuperId();
     }
 
+    exportExec(){
+        let data = {
+            releaseStart:this.state.releaseDate[0],
+            releaseEnd:this.state.releaseDate[1],
+            aid:this.state.theTypes,
+            uid:this.state.theCustomerTypes,
+            status:this.state.status
+        };
+        for(let i of Object.keys(data)){
+            if(i === 'status'){
+                if(isNaN(parseInt(data[i]))){
+                    delete data[i]
+                }
+            }else{
+                if(!data[i]){
+                    delete data[i]
+                }
+            }
+
+        }
+        window.location.href =
+            globalConfig.context +
+            "/api/admin/release/publicReleaseDtails/export?" +
+            $.param(data);
+    }
+
     render() {
         const dataSources = this.state.customerArr || [];
         const options = dataSources.map((group) => (
@@ -324,23 +403,24 @@ class DetailedList extends Component{
             </Select.Option>
         ));
         return (
-            <Modal
-                maskClosable={false}
-                visible={this.props.visible}
-                onOk={this.props.onCancel}
-                onCancel={this.props.onCancel}
-                width='1200px'
-                title='公出详细列表'
-                footer=''
-                className="admin-desc-content">
-                        <div className="user-content">
-                            <Tabs defaultActiveKey="1" className="test">
-                                <TabPane tab="搜索" key="1">
-                                    <div className="user-search" style={{
-                                        marginTop:'10px',
-                                        marginLeft:'10px',
-                                        marginRight:'10px'
-                                    }}>
+            <div>
+                <Modal
+                    maskClosable={false}
+                    visible={this.props.visible}
+                    onOk={this.props.onCancel}
+                    onCancel={this.props.onCancel}
+                    width='1200px'
+                    title='公出详细列表'
+                    footer=''
+                    className="admin-desc-content">
+                    <div className="user-content">
+                        <Tabs defaultActiveKey="1" className="test">
+                            <TabPane tab="搜索" key="1">
+                                <div className="user-search" style={{
+                                    marginTop:'10px',
+                                    marginLeft:'10px',
+                                    marginRight:'10px'
+                                }}>
                                        <span style={{ marginRight: "10px" }}>
                                             <AutoComplete
                                                 className="certain-category-search"
@@ -359,18 +439,20 @@ class DetailedList extends Component{
                                                 <Input />
                                             </AutoComplete>
                                         </span>
-                                        <span style={{ marginRight: "10px" }}>
+                                    <span style={{ marginRight: "10px" }}>
                                             <Select
                                                 placeholder="请选择审核状态"
                                                 style={{ width:200,marginLeft:10}}
                                                 value={this.state.status}
                                                 onChange={(e) => { this.setState({ status: e }) }}>
-                                                <Select.Option value={0} >驳回</Select.Option>
-                                                <Select.Option value={1} >发起</Select.Option>
-                                                <Select.Option value={2} >通过</Select.Option>
+                                                {
+                                                    clockState.map((v,k) => (
+                                                        <Select.Option key={k} value={v.id} >{v.title}</Select.Option>
+                                                    ))
+                                                }
                                             </Select>
                                         </span>
-                                        <span style={{ marginRight: "10px" }}>
+                                    <span style={{ marginRight: "10px" }}>
                                             <AutoComplete
                                                 className="certain-category-search"
                                                 dropdownClassName="certain-category-search-dropdown"
@@ -388,7 +470,7 @@ class DetailedList extends Component{
                                                 <Input />
                                             </AutoComplete>
                                         </span>
-                                        <span style={{ marginRight: "10px" }}>
+                                    <span style={{ marginRight: "10px" }}>
                                             <span style={{marginRight:'10px',marginBottom:'10px'}}>公出时间 :</span>
                                             <RangePicker
                                                 style={{marginRight:'10px',marginBottom:'10px'}}
@@ -405,14 +487,15 @@ class DetailedList extends Component{
                                                 }}
                                             />
                                         </span>
-                                        <Button type="primary" onClick={()=>{
-                                            this.loadData();
-                                        }} style={{marginRight:'10px',marginBottom:'10px'}}>搜索</Button>
-                                        <Button onClick={this.resetAll} style={{marginRight:'10px',marginBottom:'10px'}}>重置</Button>
-                                    </div>
-                                </TabPane>
-                                <TabPane tab="更改表格显示数据" key="2">
-                                    <div style={{ marginLeft: 10 }}>
+                                    <Button type="primary" onClick={()=>{
+                                        this.loadData();
+                                    }} style={{marginRight:'10px',marginBottom:'10px'}}>搜索</Button>
+                                    <Button onClick={this.resetAll} style={{marginRight:'10px',marginBottom:'10px'}}>重置</Button>
+                                </div>
+                            </TabPane>
+                            <TabPane tab="更改表格显示数据" key="2">
+                                <div style={{ marginLeft: 10 }}>
+                                    <Spin spinning={this.state.loading}>
                                         <ChooseList
                                             columns={this.state.columns}
                                             changeFn={this.changeList}
@@ -420,27 +503,55 @@ class DetailedList extends Component{
                                             top={55}
                                             margin={11}
                                         />
-                                    </div>
-                                </TabPane>
-                            </Tabs>
-                            <div className="patent-table">
-                                <Spin spinning={this.state.loading}>
-                                    <Table
-                                        bordered
-                                        size="middle"
-                                        scroll={{ x: 800, y: 0 }}
-                                        columns={
-                                            this.state.changeList.length > 0
-                                                ? this.state.changeList
-                                                : this.state.columns
-                                        }
-                                        dataSource={this.state.dataSource}
-                                        pagination={this.state.pagination}
-                                    />
-                                </Spin>
-                            </div>
+                                    </Spin>
+                                </div>
+                            </TabPane>
+                            <TabPane tab="导出" key="3">
+                                <div style={{ float: "left" }}>
+                                    <Button onClick={this.exportExec} style={{ margin: 10 }}>导出excel</Button>
+                                </div>
+                            </TabPane>
+                        </Tabs>
+                        <div className="patent-table">
+                            <Spin spinning={this.state.loading}>
+                                <Table
+                                    bordered
+                                    size="middle"
+                                    scroll={{ x: 800, y: 0 }}
+                                    columns={
+                                        this.state.changeList.length > 0
+                                            ? this.state.changeList
+                                            : this.state.columns
+                                    }
+                                    dataSource={this.state.dataSource}
+                                    pagination={this.state.pagination}
+                                />
+                            </Spin>
                         </div>
-            </Modal>
+                    </div>
+                </Modal>
+                {this.state.imgListVisible ? <Modal
+                    maskClosable={false}
+                    visible={this.state.imgListVisible}
+                    onOk={()=>{this.setState({
+                        imgListVisible:false
+                    })}}
+                    onCancel={()=>{this.setState({
+                        imgListVisible:false
+                    })}}
+                    width='500px'
+                    title='图片'
+                    footer=''>
+                    <div>
+                        <div>申请附件</div>
+                        <ImgList fileList={this.state.annexUrlArr} domId='publicStatistics'/>
+                        <div style={{paddingTop:'35px'}}>打卡照片</div>
+                        <ImgList fileList={this.state.photoUrlArr} domId='publicStatistics1'/>
+                    </div>
+                </Modal> : null}
+            </div>
+
+
         )
     }
 }

+ 33 - 0
js/component/manageCenter/customer/publicStatistics/index.jsx

@@ -9,6 +9,7 @@ import './index.less';
 import moment from "moment";
 
 import DetailedList from './detailedList';
+import {object} from "prop-types";
 
 const {TabPane} = Tabs;
 const { RangePicker } = DatePicker;
@@ -114,6 +115,7 @@ class ProjecCount extends Component{
         this.httpChange = this.httpChange.bind(this);
         this.blurChange = this.blurChange.bind(this);
         this.selectAuto = this.selectAuto.bind(this);
+        this.exportExec = this.exportExec.bind(this);
     }
 
     //获取上级组织
@@ -162,6 +164,9 @@ class ProjecCount extends Component{
     }
 
     loadData(pageNo) {
+        this.setState({
+            loading:true
+        })
         $.ajax({
             method: "get",
             dataType: "json",
@@ -179,6 +184,9 @@ class ProjecCount extends Component{
             },
             success: function(data) {
                 ShowModal(this);
+                this.setState({
+                    loading:false
+                })
                 let theArr = [];
                 if (data.error && data.error.length === 0) {
                     for (let i = 0; i < data.data.list.length; i++) {
@@ -285,6 +293,26 @@ class ProjecCount extends Component{
         this.selectSuperId();
     }
 
+    exportExec(){
+        let data = {
+            clockStart:this.state.releaseDate[0],
+            clockEnd:this.state.releaseDate[1],
+            createStart:this.state.createReleaseDate[0],
+            createEnd:this.state.createReleaseDate[1],
+            depId:this.state.superId,
+            aid:this.state.theTypes
+        };
+        for(let i of Object.keys(data)){
+            if(!data[i]){
+                delete data[i]
+            }
+        }
+        window.location.href =
+            globalConfig.context +
+            "/api/admin/release/publicReleaseStatistics/export?" +
+            $.param(data);
+    }
+
     render() {
         const dataSources = this.state.customerArr || [];
         const options = dataSources.map((group) => (
@@ -385,6 +413,11 @@ class ProjecCount extends Component{
                             />
                         </div>
                     </TabPane>
+                    <TabPane tab="导出" key="3">
+                        <div style={{ float: "left" }}>
+                            <Button onClick={this.exportExec} style={{ margin: 10 }}>导出excel</Button>
+                        </div>
+                    </TabPane>
                 </Tabs>
                 <div className="patent-table">
                     <Spin spinning={this.state.loading}>

+ 4 - 0
js/component/manageCenter/customer/publicStatistics/index.less

@@ -5,3 +5,7 @@
 .projectTable:hover{
   background: #71a7e885 !important;
 }
+
+.ant-upload-list{
+  display: inline-block !important;
+}

+ 13 - 23
js/component/manageCenter/order/orderNew/changeComponent/agreeButton.js

@@ -55,24 +55,18 @@ class ReasonInput extends Component {
         rejectState: this.props.rejectState
       },
       success: function(data) {
-        if (data.error.length || data.data.list == "") {
-          if (data.error && data.error.length) {
-            message.warning(data.error[0].message);
-            // if (!this.state.flag) return;
-            this.setState({
-              flagS: !this.state.flagS,
-            });
-            return
-          }
-        } else {
+        if(data.error.length === 0){
           message.success("操作成功!");
           this.props.visible();
-          // this.changeModal();
           this.props.onCancel();
-          // window.location.reload()
-           this.setState({
+          this.setState({
             flagS: !this.state.flagS
           })
+        }else{
+          message.warning(data.error[0].message);
+          this.setState({
+            flagS: !this.state.flagS,
+          });
         }
       }.bind(this)
     }).done(
@@ -101,16 +95,12 @@ class ReasonInput extends Component {
       url: globalConfig.context + "/api/admin/orderChange/updateOrderChange",
       data: backData,
       success: function(data) {
-        if (data.error.length || data.data.list == "") {
-          if (data.error && data.error.length) {
-            message.warning(data.error[0].message);
-            // if (!this.state.flag) return;
-            this.setState({
-              flag: !this.state.flag
-            });
-            return
-          }
-        } else {
+        if(data.error.length === 0){
+          this.setState({
+            flag: !this.state.flag
+          });
+        }else{
+          message.warning(data.error[0].message);
           this.setState({
             flag: !this.state.flag
           });

+ 11 - 1
js/component/tools.js

@@ -107,7 +107,9 @@ import {
   typeList,
   channelAllocationStatus,
   transferType,
-  messageReminderStart
+  messageReminderStart,
+  clockState,
+  clockJournalState
 } from "./dataDic.js";
 
 import { provinceList } from './NewDicProvinceList.js';
@@ -2094,5 +2096,13 @@ module.exports = {
   },
   download(fileName,deleteLv= true) {
     window.open(globalConfig.context +`${'/open/download?fileName='+fileName+'&delete='+deleteLv}`);
+  },
+  getClockState(id,journal = false) {
+    let arr = journal ? clockJournalState.filter(v=>v.id === id) : clockState.filter(v=>v.id === id);
+    if(arr.length > 0){
+      return arr[0];
+    }else{
+      return {};
+    }
   }
 };

+ 1 - 1
package.json

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