fancy 5 лет назад
Родитель
Сommit
126fb208e0

+ 2 - 0
o2ios/O2Platform.xcodeproj/project.pbxproj

@@ -6711,6 +6711,7 @@
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PROVISIONING_PROFILE = "9ebefd7c-6117-4bee-a96c-7ddb06ad4c6f";
 				PROVISIONING_PROFILE = "9ebefd7c-6117-4bee-a96c-7ddb06ad4c6f";
 				PROVISIONING_PROFILE_SPECIFIER = ZheJiangOfficeWorkMngDevProfile;
 				PROVISIONING_PROFILE_SPECIFIER = ZheJiangOfficeWorkMngDevProfile;
+				SUPPORTED_PLATFORMS = "iphonesimulator iphoneos";
 				SWIFT_ENFORCE_EXCLUSIVE_ACCESS = none;
 				SWIFT_ENFORCE_EXCLUSIVE_ACCESS = none;
 				SWIFT_OBJC_BRIDGING_HEADER = "O2Platform/O2Platform-Bridging-Header.h";
 				SWIFT_OBJC_BRIDGING_HEADER = "O2Platform/O2Platform-Bridging-Header.h";
 				SWIFT_OBJC_INTERFACE_HEADER_NAME = "";
 				SWIFT_OBJC_INTERFACE_HEADER_NAME = "";
@@ -6825,6 +6826,7 @@
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PROVISIONING_PROFILE = "b23067fd-fb08-4b85-8255-d8f3d25abc8a";
 				PROVISIONING_PROFILE = "b23067fd-fb08-4b85-8255-d8f3d25abc8a";
 				PROVISIONING_PROFILE_SPECIFIER = ZheJiangOfficeWorkMngDisProfile;
 				PROVISIONING_PROFILE_SPECIFIER = ZheJiangOfficeWorkMngDisProfile;
+				SUPPORTED_PLATFORMS = "iphonesimulator iphoneos";
 				SWIFT_ENFORCE_EXCLUSIVE_ACCESS = none;
 				SWIFT_ENFORCE_EXCLUSIVE_ACCESS = none;
 				SWIFT_OBJC_BRIDGING_HEADER = "O2Platform/O2Platform-Bridging-Header.h";
 				SWIFT_OBJC_BRIDGING_HEADER = "O2Platform/O2Platform-Bridging-Header.h";
 				SWIFT_OBJC_INTERFACE_HEADER_NAME = "";
 				SWIFT_OBJC_INTERFACE_HEADER_NAME = "";

+ 1 - 1
o2ios/O2Platform/App/Login-绑定登录/c/LoginViewController.swift

@@ -200,7 +200,7 @@ class LoginViewController: UIViewController {
     //登录后返回执行此方法
     //登录后返回执行此方法
     
     
     override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
     override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
-        
+        segue.destination.modalPresentationStyle = .fullScreen
     }
     }
     
     
     deinit {
     deinit {

+ 2 - 2
o2ios/O2Platform/App/Login-绑定登录/login.storyboard

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="15505" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="2FW-oB-Z7W">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="16096" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="2FW-oB-Z7W">
     <device id="retina4_7" orientation="portrait" appearance="light"/>
     <device id="retina4_7" orientation="portrait" appearance="light"/>
     <dependencies>
     <dependencies>
         <deployment identifier="iOS"/>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15509"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="16087"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     </dependencies>
     <scenes>
     <scenes>

+ 15 - 3
o2ios/O2Platform/App/Work-工作/c/TodoTaskDetailViewController.swift

@@ -126,7 +126,11 @@ class TodoTaskDetailViewController: BaseWebViewUIViewController {
         super.viewWillAppear(animated)
         super.viewWillAppear(animated)
         //监控进度
         //监控进度
         webView.addObserver(self, forKeyPath: "estimatedProgress", options: .new, context: nil)
         webView.addObserver(self, forKeyPath: "estimatedProgress", options: .new, context: nil)
-       
+       if #available(iOS 13.0, *) {
+           DispatchQueue.main.async {
+               self.navigationController?.navigationBar.setNeedsLayout()
+           }
+       }
     }
     }
     
     
     override func viewWillDisappear(_ animated: Bool) {
     override func viewWillDisappear(_ animated: Bool) {
@@ -849,14 +853,22 @@ extension TodoTaskDetailViewController: O2WKScriptMessageHandlerImplement {
                     options.resizeMode = .none
                     options.resizeMode = .none
                     PHImageManager.default().requestImageData(for: asset, options: options, resultHandler: { (imageData, result, imageOrientation, dict) in
                     PHImageManager.default().requestImageData(for: asset, options: options, resultHandler: { (imageData, result, imageOrientation, dict) in
                         //DDLogDebug("result = \(result) imageOrientation = \(imageOrientation) \(dict)")
                         //DDLogDebug("result = \(result) imageOrientation = \(imageOrientation) \(dict)")
-                        let fileURL = dict?["PHImageFileURLKey"] as! URL
+                        var fileName = ""
+                        
+                        if dict?["PHImageFileURLKey"] != nil {
+                            let fileURL = dict?["PHImageFileURLKey"] as! URL
+                            fileName = fileURL.lastPathComponent
+                        }else {
+                            fileName = result ?? "untitle.png"
+                        }
+                        
                         DispatchQueue.main.async {
                         DispatchQueue.main.async {
                             self.showLoading(title: "上传中...")
                             self.showLoading(title: "上传中...")
                         }
                         }
                         DispatchQueue.global(qos: .userInitiated).async {
                         DispatchQueue.global(qos: .userInitiated).async {
                             Alamofire.upload(multipartFormData: { (mData) in
                             Alamofire.upload(multipartFormData: { (mData) in
                                 //mData.append(fileURL, withName: "file")
                                 //mData.append(fileURL, withName: "file")
-                                mData.append(imageData!, withName: "file", fileName: fileURL.lastPathComponent, mimeType: "application/octet-stream")
+                                mData.append(imageData!, withName: "file", fileName: fileName, mimeType: "application/octet-stream")
                                 let siteData = site.data(using: String.Encoding.utf8, allowLossyConversion: false)
                                 let siteData = site.data(using: String.Encoding.utf8, allowLossyConversion: false)
                                 mData.append(siteData!, withName: "site")
                                 mData.append(siteData!, withName: "site")
                             }, to: url, encodingCompletion: { (encodingResult) in
                             }, to: url, encodingCompletion: { (encodingResult) in

+ 11 - 4
o2ios/O2Platform/App/meeting-会议/Controller/OOMeetingCreateViewController.swift

@@ -45,7 +45,7 @@ class OOMeetingCreateViewController: UIViewController {
     @objc func createMeetingAction(_ sender:Any){
     @objc func createMeetingAction(_ sender:Any){
         let mForm = ooFormView.getFormDataFormBean()
         let mForm = ooFormView.getFormDataFormBean()
         self.viewModel.selectedPersons.forEach { (p) in
         self.viewModel.selectedPersons.forEach { (p) in
-            mForm.invitePersonList.append(p.id!)
+            mForm.invitePersonList.append(p.distinguishedName!)
         }
         }
         let mBean = OOMeetingFormBean(meetingForm: mForm)
         let mBean = OOMeetingFormBean(meetingForm: mForm)
         if mBean.checkFormValues() {
         if mBean.checkFormValues() {
@@ -148,12 +148,19 @@ extension OOMeetingCreateViewController:UICollectionViewDelegateFlowLayout {
 extension OOMeetingCreateViewController:OOMeetingPersonActionCellDelegate{
 extension OOMeetingCreateViewController:OOMeetingPersonActionCellDelegate{
     
     
     func addPersonActionClick(_ sender: UIButton) {
     func addPersonActionClick(_ sender: UIButton) {
-        //执行segue
-//        self.performSegue(withIdentifier: "showPersonSelectedSegue", sender: nil)
-    
+        //已经选择的人员
+        var alreadyChoosePersons: [String] = []
+        if !self.viewModel.selectedPersons.isEmpty {
+            self.viewModel.selectedPersons.forEach { (model) in
+                if let dn = model.distinguishedName {
+                    alreadyChoosePersons.append(dn)
+                }
+            }
+        }
         if let v = ContactPickerViewController.providePickerVC(
         if let v = ContactPickerViewController.providePickerVC(
             pickerModes: [ContactPickerType.person],
             pickerModes: [ContactPickerType.person],
             multiple: true,
             multiple: true,
+            initUserPickedArray: alreadyChoosePersons,
             pickedDelegate: { (result: O2BizContactPickerResult) in
             pickedDelegate: { (result: O2BizContactPickerResult) in
                 if let users = result.users {
                 if let users = result.users {
                     var persons :[OOPersonModel] = []
                     var persons :[OOPersonModel] = []

+ 8 - 1
o2ios/O2Platform/App/meeting-会议/Controller/OOMeetingInforController.swift

@@ -64,6 +64,13 @@ class OOMeetingInforController: UIViewController {
     func loadMeetConfig() {
     func loadMeetConfig() {
         viewModel.loadMeetingConfig().then { (config) in
         viewModel.loadMeetingConfig().then { (config) in
             self.config = config
             self.config = config
+            if let c = self.config {
+                if c.mobileCreateEnable == true {
+                    DispatchQueue.main.async {
+                        UIApplication.shared.windows.first?.addSubview(self.createView)
+                    }
+                }
+            }
         }.catch { (error) in
         }.catch { (error) in
             DDLogError("会议配置获取异常, \(error)")
             DDLogError("会议配置获取异常, \(error)")
         }
         }
@@ -138,7 +145,7 @@ class OOMeetingInforController: UIViewController {
     }
     }
     override func viewWillAppear(_ animated: Bool) {
     override func viewWillAppear(_ animated: Bool) {
         super.viewWillAppear(animated)
         super.viewWillAppear(animated)
-        UIApplication.shared.windows.first?.addSubview(createView)
+        
     }
     }
 
 
     override func viewWillDisappear(_ animated: Bool) {
     override func viewWillDisappear(_ animated: Bool) {

+ 1 - 1
o2ios/O2Platform/App/meeting-会议/ViewModel/OOMeetingCreateViewModel.swift

@@ -84,7 +84,7 @@ extension OOMeetingCreateViewModel{
     }
     }
     // MARK: - 获取icon
     // MARK: - 获取icon
     func getIconOfPerson(_ person:OOPersonModel,compeletionBlock:@escaping (_ image:UIImage?,_ errMsg:String?) -> Void) {
     func getIconOfPerson(_ person:OOPersonModel,compeletionBlock:@escaping (_ image:UIImage?,_ errMsg:String?) -> Void) {
-        ooContactAPI.request(.iconByPerson(person.id!)) { (result) in
+        ooContactAPI.request(.iconByPerson(person.distinguishedName!)) { (result) in
             if let err = result.error {
             if let err = result.error {
                 compeletionBlock(#imageLiteral(resourceName: "icon_?"),err.errorDescription)
                 compeletionBlock(#imageLiteral(resourceName: "icon_?"),err.errorDescription)
             }else{
             }else{