Browse Source

通知公告详情,会议创建,通讯录搜索等页面的bug

RaoMeng 6 years ago
parent
commit
16d4b89704

+ 2 - 1
frontend/wechat-web/src/components/MeetingSignItem.jsx

@@ -30,7 +30,8 @@ export default class MeetingSignItem extends Component {
         const {meetingBean} = this.state
 
         return (
-            <div className='meet-signItemLayout' onClick={this.onItemClick}>
+            <div className='meet-signItemLayout' onClick={this.onItemClick}
+                 style={{paddingBottom: this.props.isLast ? '80px' : '10px'}}>
                 <div className='signCreateTime'>{meetingBean.createTime}</div>
                 <div className='signContentlayout'>
                     <div className='titleLayout'>

+ 4 - 0
frontend/wechat-web/src/index.css

@@ -126,6 +126,10 @@ span.ant-select-selection.ant-select-selection--multiple {
     background: white !important;
 }
 
+.am-list-item .am-list-line .am-list-extra {
+    flex-basis: 30% !important;
+}
+
 /***************************公共样式****************************************/
 .common-column-layout {
     width: 100%;

+ 7 - 1
frontend/wechat-web/src/modules/announce/AnnounceRelease.jsx

@@ -169,6 +169,10 @@ class AnnounceRelease extends Component {
     }
 
     releaseAnnounce = () => {
+        if (this.isRequesting == true) {
+            return
+        }
+
         const {announceTitle, announceContent, fileList} = this.state
 
         if (isObjEmpty(announceTitle)) {
@@ -188,7 +192,6 @@ class AnnounceRelease extends Component {
             Toast.fail('通知标题过长')
             return
         }
-        Toast.loading('正在发布...', 0)
 
         const fileUrls = []
         if (fileList) {
@@ -221,6 +224,8 @@ class AnnounceRelease extends Component {
 
         console.log(paramObj)
 
+        this.isRequesting = true
+        Toast.loading('正在发布...', 0)
         fetchPost(API.NOTIFY_CREATE, {
             jsonNotify: JSON.stringify(paramObj)
         }).then(response => {
@@ -237,6 +242,7 @@ class AnnounceRelease extends Component {
                 this.props.history.goBack()
             }, 1000)
         }).catch(error => {
+            this.isRequesting = false
             Toast.hide()
             if (typeof error === 'string') {
                 Toast.fail(error, 2)

+ 2 - 2
frontend/wechat-web/src/modules/hiPages/send-vote/SendVote.js

@@ -269,7 +269,7 @@ class SendVote extends Component {
             return
         }
 
-        if (this.state.voteTitle.trim().length > 80) {
+        if (this.state.voteTitle.trim().length > 100) {
             Toast.fail('投票主题内容过长')
             return
         }
@@ -280,7 +280,7 @@ class SendVote extends Component {
                 return
             }
 
-            if (this.state.voteOptionss[i].trim().length > 80) {
+            if (this.state.voteOptionss[i].trim().length > 100) {
                 Toast.fail('选项' + (i + 1) + '内容过长...')
                 return
             }

+ 17 - 12
frontend/wechat-web/src/modules/hiPages/sendMeetting/SendMeet.js

@@ -64,7 +64,7 @@ class SendMeet extends Component {
                         title: `全体老师`,
                         value: `0`,
                         key: `0`,
-                        selectable:false,
+                        selectable: false,
                         children: teacherData,
                     })
                 }
@@ -138,12 +138,13 @@ class SendMeet extends Component {
             onTargetFocus: this.onTargetFocus.bind(this)
         }
         return (
-            <div onChange={this.handelValueCom} style={{fontFamily: "PingFangSC-Regular", letterSpacing: 2.5}} className='common-column-layout'>
+            <div onChange={this.handelValueCom} style={{fontFamily: "PingFangSC-Regular", letterSpacing: 2.5}}
+                 className='common-column-layout'>
                 {/*<p>{new Date().getTime()}</p>*/}
                 <textarea autoFocus="autoFocus" ref='meetTitle' className="form-control textarea_sty" rows="2"
-                          placeholder="请填写会议主题…"  maxLength={20}></textarea>
+                          placeholder="请填写会议主题…" maxLength={20}></textarea>
                 <textarea ref='meetAddress' className="form-control textarea_sty" rows="3"
-                          placeholder="请填写会议地址…"  maxLength={50}></textarea>
+                          placeholder="请填写会议地址…" maxLength={50}></textarea>
                 <div className="comhline_sty"></div>
                 <div className="common-column-layout" style={{fontSize: 15}}>
                     <DatePicker
@@ -179,7 +180,7 @@ class SendMeet extends Component {
                 {this.state.targetData.length > 0 ? <TargetSelect {...targetProps}/>
                     : <TargetSelect {...defaultTargetProps}/>}
                 {/*<center><Button type="button" className="btn btn-primary comBtn_sty"*/}
-                                {/*onClick={this.doSaveClick}>创建</Button></center>*/}
+                {/*onClick={this.doSaveClick}>创建</Button></center>*/}
 
                 <Button className='commonButton' type='primary' style={{margin: '35px'}}
                         onClick={this.doSaveClick}>创建</Button>
@@ -188,7 +189,7 @@ class SendMeet extends Component {
     }
 
     doSaveClick = (event) => {
-        if(this.isRequesting == true){
+        if (this.isRequesting == true) {
             return
         }
         console.log('state', this.state)
@@ -200,15 +201,15 @@ class SendMeet extends Component {
             Toast.fail('请填写会议地址...')
             return
         }
-        if (this.state.startValue == null ) {
+        if (this.state.startValue == null) {
             Toast.fail('请选择开始时间...')
             return
         }
-        if (this.state.endValue == null ) {
+        if (this.state.endValue == null) {
             Toast.fail('请选择结束时间...')
             return
         }
-        if (this.state.earlyTime == null ){
+        if (this.state.earlyTime == null) {
             Toast.fail('请选择提醒时间...')
             return
         }
@@ -221,6 +222,10 @@ class SendMeet extends Component {
             this.checkNodes.forEach((node, index) => {
                 userList.push(node.userId)
             })
+
+            if (!isObjEmpty(this.props.userInfo.user.userFunId) && userList.indexOf(this.props.userInfo.user.userFunId) === -1) {
+                userList.push(this.props.userInfo.user.userFunId)
+            }
         }
         var nowT = new Date().getTime()
         var startT = new Date(this.state.startValue).getTime()
@@ -245,7 +250,7 @@ class SendMeet extends Component {
         console.log('noticeT', new Date(noticeT))
 
         let params = {
-            meetingCreator:this.props.userInfo.user.userFunId,
+            meetingCreator: this.props.userInfo.user.userFunId,
             meetingStatus: 1,
             meetingName: this.state.titleValue,
             meetingAddress: this.state.meetAddress,
@@ -254,7 +259,7 @@ class SendMeet extends Component {
             reminderDate: moment(new Date(noticeT)).format('YYYY-MM-DD HH:mm:ss'),
             meetingNotifier: JSON.stringify(userList),
             meetingRemarks: "会议备注",
-            meetingFiles:"[]",
+            meetingFiles: "[]",
             meetingDetails: "一定要参加",
         }
 
@@ -263,7 +268,7 @@ class SendMeet extends Component {
         Toast.loading("会议创建中...", 0)
         this.isRequesting = true
         fetchPost(API.createMeeting, {
-            jsonMeeting:JSON.stringify(params)
+            jsonMeeting: JSON.stringify(params)
         }, {})
             .then((response) => {
                 this.isRequesting = false

+ 1 - 1
frontend/wechat-web/src/modules/homework/AssignmentDetailPage.js

@@ -209,7 +209,7 @@ class AssignmentDetailPage extends React.Component {
                     {this.state.files.length != 0 ? (<img onClick={this.onClickImage.bind(this)}
                                                           style={{margin: "0px"}}
                                                           src={this.state.files[0]}
-                                                          width={260} height={130}/>) : ("")}
+                                                          height={130}/>) : ("")}
 
                 </div>
                 <div className="margin_top_bottom_10 homework-detail-leave-caption">留言{this.state.data.length != 0 ? (

+ 7 - 1
frontend/wechat-web/src/modules/homework/ReleaseAssignmentPage.js

@@ -114,6 +114,11 @@ class ReleaseAssignmentPage extends React.Component {
             Toast.fail("请输入作业名称");
             return;
         }
+        if (taskTitle.length > 50) {
+            Toast.fail('作业名称过长')
+            return
+        }
+
         if (isObjEmpty(taskContent)) {
             Toast.fail('请输入作业内容')
             return;
@@ -138,8 +143,9 @@ class ReleaseAssignmentPage extends React.Component {
                 fileUrls.push(value.picUrl)
             })
         }
-        Toast.loading('正在发布...', 0)
 
+
+        Toast.loading('正在发布...', 0)
         const params = {
             subjectId: 1,
             taskTitle: taskTitle,

+ 4 - 3
frontend/wechat-web/src/modules/meeting/MeetingSignIn.jsx

@@ -66,6 +66,7 @@ class MeetingSignIn extends Component {
                                   <MeetingSignItem
                                       meetingBean={item}
                                       index={index}
+                                      isLast={index === (meetingSignList.length - 1)}
                                       onMeetingSign={this.onMeetingSign.bind(this)}
                                       onItemClick={this.onItemClick.bind(this)}/>
                               )}/>
@@ -167,8 +168,8 @@ class MeetingSignIn extends Component {
         const {meetingSignList} = this.state
 
         Toast.loading('', 0)
-        console.log("teacherId:",this.props.userInfo.user.userFunId)
-        console.log("meetingId:",meetingSignList[index].meetId)
+        console.log("teacherId:", this.props.userInfo.user.userFunId)
+        console.log("meetingId:", meetingSignList[index].meetId)
         fetchPost(API.MEETING_SIGN, {
             teacherId: this.props.userInfo.user.userFunId,
             meetingId: meetingSignList[index].meetId,
@@ -178,7 +179,7 @@ class MeetingSignIn extends Component {
             meetingSignList[index].signStatus = '已签到'
             meetingSignList[index].signStatusCode = 3
 
-            this.setState({meetingSignList},()=>{
+            this.setState({meetingSignList}, () => {
                 saveListState({
                     scrollTop: ReactDOM.findDOMNode(this.container).scrollTop,
                     listData: this.state.meetingSignList,

+ 1 - 1
frontend/wechat-web/src/modules/phonesBook/PhonesList.jsx

@@ -130,7 +130,7 @@ class PhonesList extends Component {
         this.setState({
             isLoading: true,
             isRefreshing: false,
-            searchKey: value
+            searchKey: value.trim()
         }, () => {
             this.loadPhones()
         })

+ 1 - 1
frontend/wechat-web/src/modules/phonesBook/PhonesSearch.jsx

@@ -110,7 +110,7 @@ class PhonesSearch extends Component {
         this.setState({
             isLoading: true,
             isRefreshing: false,
-            searchKey: value
+            searchKey: value.trim()
         }, () => {
             this.loadPhones()
         })

+ 1 - 1
frontend/wechat-web/src/modules/vote/VoteDetailPage.js

@@ -42,10 +42,10 @@ class VoteDetailPage extends React.Component {
 
     componentWillMount() {
         document.title = "投票";
+        role = this.props.match.params.role
     }
 
     componentDidMount() {
-        role = this.props.match.params.role
         this.getVoteDetail();
     }
 

+ 2 - 2
frontend/wechat-web/src/style/css/consume-re.css

@@ -219,8 +219,8 @@
     border-radius: 6px 6px 0 0;
     padding-bottom: 20px;
     text-align: left;
-    min-height: 250px;
-    max-height: 70vh;
+    /*min-height: 250px;*/
+    /*max-height: 70vh;*/
     overflow-y: scroll;
 }
 

+ 32 - 24
frontend/wechat-web/src/utils/common.js

@@ -330,24 +330,28 @@ export const getCheckedCount = (checkedNodes) => {
         let quantity = 0
         for (let i = 0; i < checkedNodes.length; i++) {
             let checkedNode = checkedNodes[i]
-            if (checkedNode.node) {
-                if (checkedNode.children) {
-                    checkedNode = checkedNode.children
-                    quantity = quantity + getCheckedCount(checkedNode)
-                } else {
-                    quantity = quantity + 1
-                    continue
-                }
-            } else {
-                if (checkedNode.props) {
-                    if (checkedNode.props.children.length > 0) {
-                        checkedNode = checkedNode.props.children
+            if (checkedNode) {
+                if (checkedNode.node) {
+                    if (checkedNode.children) {
+                        checkedNode = checkedNode.children
                         quantity = quantity + getCheckedCount(checkedNode)
                     } else {
                         quantity = quantity + 1
                         continue
                     }
+                } else {
+                    if (checkedNode.props) {
+                        if (checkedNode.props.children.length > 0) {
+                            checkedNode = checkedNode.props.children
+                            quantity = quantity + getCheckedCount(checkedNode)
+                        } else {
+                            quantity = quantity + 1
+                            continue
+                        }
+                    }
                 }
+            } else {
+                continue
             }
         }
         return quantity
@@ -361,18 +365,9 @@ export const getNodes = (checkedNodes) => {
         let childNodes = []
         for (let i = 0; i < checkedNodes.length; i++) {
             let checkedNode = checkedNodes[i]
-            if (checkedNode.node && checkedNode.node.props) {
-                const checkProps = checkedNode.node.props
-                if (!isObjEmpty(checkProps.children)) {
-                    checkedNode = checkProps.children
-                    childNodes = childNodes.concat(getNodes(checkedNode))
-                } else {
-                    childNodes.push(checkProps)
-                    continue
-                }
-            } else {
-                if (checkedNode.props) {
-                    const checkProps = checkedNode.props
+            if (checkedNode) {
+                if (checkedNode.node && checkedNode.node.props) {
+                    const checkProps = checkedNode.node.props
                     if (!isObjEmpty(checkProps.children)) {
                         checkedNode = checkProps.children
                         childNodes = childNodes.concat(getNodes(checkedNode))
@@ -380,7 +375,20 @@ export const getNodes = (checkedNodes) => {
                         childNodes.push(checkProps)
                         continue
                     }
+                } else {
+                    if (checkedNode.props) {
+                        const checkProps = checkedNode.props
+                        if (!isObjEmpty(checkProps.children)) {
+                            checkedNode = checkProps.children
+                            childNodes = childNodes.concat(getNodes(checkedNode))
+                        } else {
+                            childNodes.push(checkProps)
+                            continue
+                        }
+                    }
                 }
+            }else {
+                continue
             }
         }
         return childNodes