| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226 |
- //
- // MeetingCreateViewController.swift
- // O2Platform
- //
- // Created by 刘振兴 on 16/8/24.
- // Copyright © 2016年 zoneland. All rights reserved.
- //
- import UIKit
- import Alamofire
- import AlamofireImage
- import AlamofireObjectMapper
- import SwiftyJSON
- import ObjectMapper
- import SwiftyUserDefaults
- import Eureka
- import CocoaLumberjack
- class MeetingCreateViewController: FormViewController {
-
-
- var persons:[PersonV2]?
-
- var sRoom:Room?
-
- var meetingForm = MeetingForm()
-
- override func viewDidLoad() {
- super.viewDidLoad()
- ImageRow.defaultCellUpdate = { cell, row in
- cell.accessoryView?.layer.cornerRadius = 17
- cell.accessoryView?.frame = CGRect(x: 0, y: 0, width: 34, height: 34)
- cell.textLabel?.font = UIFont(name: "PingFangSC-Light", size: 12.0)
- cell.textLabel?.textColor = RGB(155, g: 155, b: 155)
- }
-
- TextRow.defaultCellUpdate = {
- cell,row in
- cell.textLabel?.font = UIFont(name: "PingFangSC-Light", size: 12.0)
- cell.textLabel?.textColor = RGB(155, g: 155, b: 155)
- cell.accessoryType = .disclosureIndicator
- }
-
- LabelRow.defaultCellUpdate = {
- cell,row in
- cell.textLabel?.font = UIFont(name: "PingFangSC-Light", size: 12.0)
- cell.textLabel?.textColor = RGB(155, g: 155, b: 155)
- cell.accessoryType = .disclosureIndicator
- }
-
- ButtonRow.defaultCellUpdate = {
- cell,row in
- cell.textLabel?.font = UIFont(name: "PingFangSC-Light", size: 12.0)
- cell.textLabel?.textColor = RGB(155, g: 155, b: 155)
- cell.accessoryType = .disclosureIndicator
- }
-
- TextAreaRow.defaultCellUpdate = {
- cell,row in
- cell.textLabel?.font = UIFont(name: "PingFangSC-Light", size: 12.0)
- cell.textLabel?.textColor = RGB(155, g: 155, b: 155)
- //cell.accessoryType = .disclosureIndicator
- }
-
- EmailRow.defaultCellUpdate = {
- cell,row in
- cell.textLabel?.font = UIFont(name: "PingFangSC-Light", size: 12.0)
- cell.textLabel?.textColor = RGB(155, g: 155, b: 155)
- cell.accessoryType = .disclosureIndicator
-
- }
-
- DateRow.defaultCellUpdate = {
- cell,row in
- cell.textLabel?.font = UIFont(name: "PingFangSC-Light", size: 12.0)
- cell.textLabel?.textColor = RGB(155, g: 155, b: 155)
- //cell.accessoryType = .disclosureIndicator
- }
-
- TimeRow.defaultCellUpdate = {
- cell,row in
- cell.textLabel?.font = UIFont(name: "PingFangSC-Light", size: 12.0)
- cell.textLabel?.textColor = RGB(155, g: 155, b: 155)
- //cell.accessoryType = .disclosureIndicator
- }
-
- form +++ Section("会议内容")
- <<< TextRow("subject"){ row in
- row.title = "会议主题"
- row.placeholder = "请输入主题"
- }.onChange({ row in
- self.meetingForm.subject = row.value
- })
- <<< DateRow("startDate"){ row in
- row.title = "会议日期"
- row.value = Date()
- }.onChange({ row in
- self.meetingForm.meetingDate = row.value!
- })
- <<< TimeRow("startTime"){ row in
- row.title = "开始时间"
- row.value = Date()
- }.onChange({ row in
- self.meetingForm.startTime = row.value!
- })
- <<< TimeRow("completeTime") { row in
- row.title = "完成时间"
- row.value = Date()
- }.onChange({ row in
- self.meetingForm.completedTime = row.value!
- })
- <<< ButtonRow("roomName") { row in
- row.title = "选择会议室"
- row.presentationMode = .segueName(segueName: "showMeetingRoomSegue",onDismiss:nil)
-
- }
-
- <<< LabelRow("showRoomName"){ row in
- row.title = "请选择会议室"
- }.cellSetup({ (cell, row) in
- cell.detailTextLabel?.textColor = UIColor.blue
- cell.detailTextLabel?.font = UIFont.italicSystemFont(ofSize: 10)
- })
- <<< ButtonRow("invitePersonList") { row in
- row.title = "选择人员"
- row.presentationMode = .segueName(segueName:"showPersonListSegue",onDismiss:nil)
- }
- <<< LabelRow("showPersonList"){ row in
- row.title = "请选择参会人员"
- }.cellSetup({ (cell, row) in
- //cell.height = 80
- cell.detailTextLabel?.textColor = UIColor.blue
- cell.detailTextLabel?.font = UIFont.italicSystemFont(ofSize: 10)
- })
- +++ Section("会议说明")
- <<< TextAreaRow("desc") { row in
- row.title = "会议说明"
- }.onChange({ row in
- self.meetingForm.desc = row.value
- })
-
- }
- override func didReceiveMemoryWarning() {
- super.didReceiveMemoryWarning()
- // Dispose of any resources that can be recreated.
- }
-
- //push前执行
- override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
- //选择会议室执行
- if segue.identifier == "showMeetingRoomSegue" {
- let navVC = segue.destination as! UINavigationController
- let destVC = navVC.topViewController as! MeetingRoomListViewController
- destVC.delegate = self
- if let room = sRoom {
- destVC.selectRoom = room
- }
- }else if segue.identifier == "showPersonListSegue" {
- //选择人员前执行
- let destVC = segue.destination as! MeetingPersonListViewController
- destVC.delegate = self
- if let ps = persons {
- destVC.selectPersons = ps
- }
- }
- }
-
-
- @IBAction func submitMeetingAction(_ sender: UIBarButtonItem) {
- let meetingFormBean = MeetingFormBean(meetingForm: self.meetingForm)
- DDLogDebug(meetingFormBean.toJSONString()!)
- let url = AppDelegate.o2Collect.generateURLWithAppContextKey(MeetingContext.meetingContextKey, query: MeetingContext.meetingCreateQuery, parameter: nil)
- ProgressHUD.show("创建会议中...")
- Alamofire.request(url!, method: .post,parameters: meetingFormBean.toJSON(), encoding:JSONEncoding.default, headers: nil).responseJSON { response in
- switch response.result {
- case .success(let val):
- let json = JSON(val)
- if json["type"] == "success" {
- DDLogDebug(json.description)
- ProgressHUD.showSuccess("创建成功")
- self.performSegue(withIdentifier: "createBackMainSegue", sender: nil)
- }else {
- DDLogError(json.description)
- ProgressHUD.showError("创建失败")
- }
- case .failure(let err):
- DDLogError(err.localizedDescription)
- ProgressHUD.showError("创建失败")
- }
- }
- }
-
- }
- extension MeetingCreateViewController:MeetingRoomPassValueDelegate,MeetingPersonListPassValue{
- //选择的会议室
- func selectRoom(_ room: Room) {
- self.sRoom = room
- self.meetingForm.room = room.id
- self.meetingForm.roomName = room.name
- let row:RowOf<String> = self.form.rowBy(tag:"showRoomName")!
- row.value = room.name
- row.title = ""
- //row.hidden = false
- row.updateCell()
- }
-
- //选择的参会人员
- func selectPersonPassValue(_ persons: [PersonV2]) {
- self.persons = persons
- self.meetingForm.invitePersonList.removeAll(keepingCapacity: true)
- self.persons?.forEach({ (p:PersonV2) in
- self.meetingForm.invitePersonList.append(p.name!)
- })
- let row:RowOf<String> = self.form.rowBy(tag:"showPersonList")!
- row.value = self.meetingForm.invitePersonList.joined(separator: ",")
- if persons.isEmpty {
- row.title = "请选择参会人员"
- }else {
- row.title = ""
- }
- row.updateCell()
- }
- }
|