Browse Source

Merge remote-tracking branch 'origin/develop' into develop

o2lee 5 years ago
parent
commit
88af6e4bb2
24 changed files with 262 additions and 35 deletions
  1. 4 1
      gulpfile.js
  2. 15 6
      o2android/app/src/main/java/net/zoneland/x/bpm/mobile/v1/zoneXBPM/app/im/O2InstantMessageActivity.kt
  3. 2 2
      o2android/app/src/main/java/net/zoneland/x/bpm/mobile/v1/zoneXBPM/app/im/O2InstantMessageContract.kt
  4. 23 0
      o2android/app/src/main/java/net/zoneland/x/bpm/mobile/v1/zoneXBPM/app/im/O2InstantMessagePresenter.kt
  5. 2 2
      o2android/gradle.properties
  6. 7 0
      o2android/o2_auth_sdk/src/main/java/net/zoneland/x/bpm/mobile/v1/zoneXBPM/core/component/api/service/ProcessAssembleSurfaceService.kt
  7. 45 0
      o2android/o2_auth_sdk/src/main/java/net/zoneland/x/bpm/mobile/v1/zoneXBPM/model/bo/api/o2/WorkInfoResData.kt
  8. 4 0
      o2ios/O2Platform.xcodeproj/project.pbxproj
  9. 18 1
      o2ios/O2Platform/App/IM-聊天/IMChatViewController.swift
  10. 18 2
      o2ios/O2Platform/App/IM-聊天/IMInstantMessageViewController.swift
  11. 15 0
      o2ios/O2Platform/App/IM-聊天/IMViewModel.swift
  12. 56 0
      o2ios/O2Platform/App/Work-工作/m/WorkInfoResData.swift
  13. 12 2
      o2ios/O2Platform/Framework/O2API/TaskAPI/OOWorkAPI.swift
  14. 2 2
      o2ios/O2Platform/Info.plist
  15. 1 0
      o2server/x_message_assemble_communicate/src/main/java/com/x/message/assemble/communicate/jaxrs/instant/ActionListWithCurrentPersonWithoutIMDesc.java
  16. 0 2
      o2web/gulpapps.js
  17. 4 1
      o2web/gulpfile.js
  18. 2 1
      o2web/source/o2_core/o2.js
  19. 0 3
      o2web/source/x_component_AppMarketV2/$Main/default/applicationsContent.html
  20. 5 4
      o2web/source/x_component_AppMarketV2/$Main/default/style.css
  21. 5 3
      o2web/source/x_component_AppMarketV2/ApplicationsContent.js
  22. 15 3
      o2web/source/x_component_AppMarketV2/Main.js
  23. 0 0
      o2web/source/x_desktop/js/base_work_begin.js
  24. 7 0
      o2web/source/x_desktop/js/base_work_end.js

+ 4 - 1
gulpfile.js

@@ -516,14 +516,17 @@ function build_concat_basework() {
         'o2web/source/x_component_Selector/Person.js',
         'o2web/source/x_component_Selector/Identity.js',
         'o2web/source/x_component_Selector/Unit.js',
-        'o2web/source/o2_core/o2/xScript/Environment.js',
+        'o2web/source/o2_core/o2/xScript/Actions/UnitActions.js',
         'o2web/source/o2_core/o2/xScript/Actions/ScriptActions.js',
         'o2web/source/o2_core/o2/xScript/Actions/CMSScriptActions.js',
         'o2web/source/o2_core/o2/xScript/Actions/PortalScriptActions.js',
+        'o2web/source/o2_core/o2/xScript/Environment.js',
         'o2web/source/x_component_Template/MTooltips.js',
+        'o2web/source/x_component_Template/MSelector.js',
         'o2web/source/o2_core/o2/xAction/services/x_organization_assemble_authentication.js',
         'o2web/source/o2_core/o2/xAction/services/x_processplatform_assemble_surface.js',
         'o2web/source/o2_core/o2/xAction/services/x_cms_assemble_control.js',
+        'o2web/source/o2_core/o2/xAction/services/x_organization_assemble_control.js',
         'o2web/source/x_desktop/js/base_work_end.js',
         'o2web/source/x_desktop/js/base.js'
     ];

+ 15 - 6
o2android/app/src/main/java/net/zoneland/x/bpm/mobile/v1/zoneXBPM/app/im/O2InstantMessageActivity.kt

@@ -25,6 +25,7 @@ import net.zoneland.x.bpm.mobile.v1.zoneXBPM.core.component.enums.ApplicationEnu
 import net.zoneland.x.bpm.mobile.v1.zoneXBPM.flutter.FlutterConnectActivity
 import net.zoneland.x.bpm.mobile.v1.zoneXBPM.model.bo.api.InstantMessage
 import net.zoneland.x.bpm.mobile.v1.zoneXBPM.utils.DateHelper
+import net.zoneland.x.bpm.mobile.v1.zoneXBPM.utils.XToast
 import net.zoneland.x.bpm.mobile.v1.zoneXBPM.utils.extension.go
 import net.zoneland.x.bpm.mobile.v1.zoneXBPM.utils.extension.visible
 import net.zoneland.x.bpm.mobile.v1.zoneXBPM.widgets.CircleImageView
@@ -84,6 +85,15 @@ class O2InstantMessageActivity : BaseMVPActivity<O2InstantMessageContract.View,
         }
     }
 
+    override fun workIsCompleted(flag: Boolean, workId: String) {
+        hideLoadingDialog()
+        if (!flag) {
+            go<TaskWebViewActivity>(TaskWebViewActivity.start(workId, "", ""))
+        }else {
+            XToast.toastShort(this, "工作已经结束!")
+        }
+    }
+
     private fun messageTypeEvent(textView: TextView, msg: InstantMessage) {
         val type = msg.type
         if (type.startsWith("task_")) {
@@ -92,9 +102,7 @@ class O2InstantMessageActivity : BaseMVPActivity<O2InstantMessageContract.View,
             }
         }else if (type.startsWith("taskCompleted_")) {
             if (!type.contains("_delete")) {
-                setLinkStyle(textView) {
-
-                }
+                openWork(msg, textView)
             }
         }else if (type.startsWith("read_")) {
             if (!type.contains("_delete")) {
@@ -140,10 +148,11 @@ class O2InstantMessageActivity : BaseMVPActivity<O2InstantMessageContract.View,
         val json = JSONTokener(msg.body).nextValue()
         if (json is JSONObject) {
             val work = try {json.getString("work")}catch (e: Exception){null}
-            val workCompleted = try {json.getString("workCompleted")}catch (e: Exception){null}
-            if (!TextUtils.isEmpty(work) || !TextUtils.isEmpty(workCompleted)) {
+            if (!TextUtils.isEmpty(work)) {
                 setLinkStyle(textView) {
-                    go<TaskWebViewActivity>(TaskWebViewActivity.start(work, workCompleted, ""))
+                    //先查询work对象
+                    showLoadingDialog()
+                    mPresenter.getWorkInfo(work!!)
                 }
             }
         }

+ 2 - 2
o2android/app/src/main/java/net/zoneland/x/bpm/mobile/v1/zoneXBPM/app/im/O2InstantMessageContract.kt

@@ -10,9 +10,9 @@ import net.zoneland.x.bpm.mobile.v1.zoneXBPM.app.base.BaseView
  */
 object O2InstantMessageContract {
     interface View: BaseView {
-
+        fun workIsCompleted(flag: Boolean, workId: String)
     }
     interface Presenter: BasePresenter<View> {
-
+        fun getWorkInfo(workId: String)
     }
 }

+ 23 - 0
o2android/app/src/main/java/net/zoneland/x/bpm/mobile/v1/zoneXBPM/app/im/O2InstantMessagePresenter.kt

@@ -1,6 +1,10 @@
 package net.zoneland.x.bpm.mobile.v1.zoneXBPM.app.im
 
 import net.zoneland.x.bpm.mobile.v1.zoneXBPM.app.base.BasePresenterImpl
+import net.zoneland.x.bpm.mobile.v1.zoneXBPM.utils.XLog
+import net.zoneland.x.bpm.mobile.v1.zoneXBPM.utils.extension.o2Subscribe
+import rx.android.schedulers.AndroidSchedulers
+import rx.schedulers.Schedulers
 
 
 /**
@@ -9,5 +13,24 @@ import net.zoneland.x.bpm.mobile.v1.zoneXBPM.app.base.BasePresenterImpl
  */
 
 class O2InstantMessagePresenter : BasePresenterImpl<O2InstantMessageContract.View>(), O2InstantMessageContract.Presenter  {
+    override fun getWorkInfo(workId: String) {
+        val service = getProcessAssembleSurfaceServiceAPI(mView?.getContext())
+        if (service != null) {
+            service.getWorkInfo(workId)
+                    .subscribeOn(Schedulers.io())
+                    .observeOn(AndroidSchedulers.mainThread())
+                    .o2Subscribe {
+                        onNext {
+                            mView?.workIsCompleted(false, workId)
+                        }
+                        onError { e, _ ->
+                            XLog.error("", e)
+                            mView?.workIsCompleted(true, workId)
+                        }
+                    }
+        }else {
+            mView?.workIsCompleted(true, workId)
+        }
+    }
 
 }

+ 2 - 2
o2android/gradle.properties

@@ -23,6 +23,6 @@ android.enableJetifier=true
 
 
 # o2
-o2.versionName=5.1.7
-o2.versionCode=117
+o2.versionName=5.1.8
+o2.versionCode=118
 

+ 7 - 0
o2android/o2_auth_sdk/src/main/java/net/zoneland/x/bpm/mobile/v1/zoneXBPM/core/component/api/service/ProcessAssembleSurfaceService.kt

@@ -71,6 +71,13 @@ interface ProcessAssembleSurfaceService {
     @DELETE("jaxrs/work/{workId}")
     fun deleteWorkForm(@Path("workId") workId: String): Observable<ApiResponse<IdData>>
 
+    /**
+     * 获取工作对象
+     * 如果返回500错误就是工作已经结束了
+     */
+    @GET("jaxrs/work/{workId}")
+    fun getWorkInfo(@Path("workId") workId: String): Observable<ApiResponse<WorkInfoResData>>
+
     /**
      * 已阅列表
      * @param lastId

+ 45 - 0
o2android/o2_auth_sdk/src/main/java/net/zoneland/x/bpm/mobile/v1/zoneXBPM/model/bo/api/o2/WorkInfoResData.kt

@@ -0,0 +1,45 @@
+package net.zoneland.x.bpm.mobile.v1.zoneXBPM.model.bo.api.o2
+
+
+/**
+ * Created by fancyLou on 2020-09-04.
+ * Copyright © 2020 O2. All rights reserved.
+ */
+
+data class WorkInfoResData(
+        var work: WorkInfoRes? ,
+        var workLogList: List<WorkLog> = ArrayList()
+)
+
+data class WorkInfoRes(
+    var id: String = "",
+    var job: String = "",
+    var title: String = "",
+    var startTime: String = "",
+    var startTimeMonth: String = "",
+    var creatorPerson: String = "",
+    var creatorIdentity: String = "",
+    var creatorUnit: String = "",
+    var application: String = "",
+    var applicationName: String = "",
+    var applicationAlias: String = "",
+    var process: String = "",
+    var processName: String = "",
+    var processAlias: String = "",
+    var activity: String = "",
+    var activityType: String = "",
+    var activityName: String = "",
+    var activityAlias: String = "",
+    var activityDescription: String = "",
+    var activityToken: String = "",
+    var activityArrivedTime: String = "",
+    var serial: String = "",
+    var workCreateType: String = "",
+    var workStatus: String = "",
+    var manualTaskIdentityText: String = "",
+    var form: String = "",
+    var destinationRoute: String = "",
+    var destinationRouteName: String = "",
+    var destinationActivityType: String = "",
+    var destinationActivity: String = ""
+)

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

@@ -246,6 +246,7 @@
 		B1B0103023586B34002BF874 /* CFFileTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = B1B0102E23586B34002BF874 /* CFFileTableViewCell.xib */; };
 		B1B110E2223622C400775BEF /* O2BioLocalAuth.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1B110AB223622C400775BEF /* O2BioLocalAuth.swift */; };
 		B1B110E422363F7200775BEF /* BioAuthLoginViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1B110E322363F7200775BEF /* BioAuthLoginViewController.swift */; };
+		B1B1303025021EAC003B99DF /* WorkInfoResData.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1B1302F25021EAC003B99DF /* WorkInfoResData.swift */; };
 		B1B2148F216073B400D9CA7E /* ScanHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1B21459216073B400D9CA7E /* ScanHelper.swift */; };
 		B1B214912160A69E00D9CA7E /* Tuling123API.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1B214902160A69E00D9CA7E /* Tuling123API.swift */; };
 		B1B214932160A8A300D9CA7E /* TulingPostModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1B214922160A8A300D9CA7E /* TulingPostModel.swift */; };
@@ -1414,6 +1415,7 @@
 		B1B0102E23586B34002BF874 /* CFFileTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = CFFileTableViewCell.xib; sourceTree = "<group>"; };
 		B1B110AB223622C400775BEF /* O2BioLocalAuth.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = O2BioLocalAuth.swift; sourceTree = "<group>"; };
 		B1B110E322363F7200775BEF /* BioAuthLoginViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BioAuthLoginViewController.swift; sourceTree = "<group>"; };
+		B1B1302F25021EAC003B99DF /* WorkInfoResData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WorkInfoResData.swift; sourceTree = "<group>"; };
 		B1B21459216073B400D9CA7E /* ScanHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScanHelper.swift; sourceTree = "<group>"; };
 		B1B214902160A69E00D9CA7E /* Tuling123API.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tuling123API.swift; sourceTree = "<group>"; };
 		B1B214922160A8A300D9CA7E /* TulingPostModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TulingPostModel.swift; sourceTree = "<group>"; };
@@ -4111,6 +4113,7 @@
 				E4B888501D9D48F1002E1A46 /* TodoTask.swift */,
 				B1908E1322685E8F00D75632 /* O2WebViewModels.swift */,
 				B1BA42B724133AC40081CED8 /* TaskCreateData.swift */,
+				B1B1302F25021EAC003B99DF /* WorkInfoResData.swift */,
 			);
 			path = m;
 			sourceTree = "<group>";
@@ -5410,6 +5413,7 @@
 				09E02E8C1F16319600579887 /* Haneke.swift in Sources */,
 				B1E95F7B23750CC2004876B7 /* CloudFilePreviewController.swift in Sources */,
 				E4C24C52208D7EDE00E426B0 /* OOContactUnitHeader.swift in Sources */,
+				B1B1303025021EAC003B99DF /* WorkInfoResData.swift in Sources */,
 				B165CD662242093500373B66 /* OOAlertViewController.swift in Sources */,
 				E428AF5D20AC1CD100D964B9 /* OOAttandanceViewModel.swift in Sources */,
 				E4B8886F1D9D48F1002E1A46 /* ContactHomeViewController.swift in Sources */,

+ 18 - 1
o2ios/O2Platform/App/IM-聊天/IMChatViewController.swift

@@ -620,10 +620,27 @@ extension IMChatViewController: IMChatMessageDelegate {
     }
     
     func openWork(workId: String) {
+        self.showLoading()
+        self.viewModel.isWorkCompleted(work: workId).always {
+            self.hideLoading()
+        }.then{ result in
+            if result {
+                self.showMessage(msg: "工作已经完成了!")
+            }else {
+                self.openWorkPage(work: workId)
+            }
+        }.catch {_ in
+            self.showMessage(msg: "工作已经完成了!")
+        }
+        
+        
+    }
+    
+    private func openWorkPage(work: String) {
         let storyBoard = UIStoryboard(name: "task", bundle: nil)
         let destVC = storyBoard.instantiateViewController(withIdentifier: "todoTaskDetailVC") as! TodoTaskDetailViewController
         let json = """
-        {"work":"\(workId)", "workCompleted":"", "title":""}
+        {"work":"\(work)", "workCompleted":"", "title":""}
         """
         let todo = TodoTask(JSONString: json)
         destVC.todoTask = todo

+ 18 - 2
o2ios/O2Platform/App/IM-聊天/IMInstantMessageViewController.swift

@@ -106,10 +106,27 @@ extension IMInstantMessageViewController : IMChatMessageDelegate {
     }
     
     func openWork(workId: String) {
+        self.showLoading()
+        self.viewModel.isWorkCompleted(work: workId).always {
+            self.hideLoading()
+        }.then{ result in
+            if result {
+                self.showMessage(msg: "工作已经完成了!")
+            }else {
+                self.openWorkPage(work: workId)
+            }
+        }.catch {_ in
+            self.showMessage(msg: "工作已经完成了!")
+        }
+        
+        
+    }
+    
+    private func openWorkPage(work: String) {
         let storyBoard = UIStoryboard(name: "task", bundle: nil)
         let destVC = storyBoard.instantiateViewController(withIdentifier: "todoTaskDetailVC") as! TodoTaskDetailViewController
         let json = """
-        {"work":"\(workId)", "workCompleted":"", "title":""}
+        {"work":"\(work)", "workCompleted":"", "title":""}
         """
         let todo = TodoTask(JSONString: json)
         destVC.todoTask = todo
@@ -117,5 +134,4 @@ extension IMInstantMessageViewController : IMChatMessageDelegate {
         self.show(destVC, sender: nil)
     }
     
-    
 }

+ 15 - 0
o2ios/O2Platform/App/IM-聊天/IMViewModel.swift

@@ -16,6 +16,7 @@ class IMViewModel: NSObject {
 
 
     private let communicateAPI = OOMoyaProvider<CommunicateAPI>()
+    private let workAPI = OOMoyaProvider<OOWorkAPI>()
 }
 
 extension IMViewModel {
@@ -206,4 +207,18 @@ extension IMViewModel {
                 })
         }
     }
+    
+    ///判断是否工作已经完成
+    func isWorkCompleted(work: String) -> Promise<Bool> {
+        return Promise { fulfill, reject in
+            self.workAPI.request(.getWork(work), completion: {result in
+                let response = OOResult<BaseModelClass<WorkInfoResData>>(result)
+                if response.isResultSuccess() {
+                    fulfill(false)
+                }else {
+                    fulfill(true)
+                }
+            })
+        }
+    }
 }

+ 56 - 0
o2ios/O2Platform/App/Work-工作/m/WorkInfoResData.swift

@@ -0,0 +1,56 @@
+//
+//  WorkInfoResData.swift
+//  O2Platform
+//
+//  Created by FancyLou on 2020/9/4.
+//  Copyright © 2020 zoneland. All rights reserved.
+//
+
+import Foundation
+import HandyJSON
+
+class WorkInfoRes: NSObject,DataModel {
+    @objc var id: String?
+    @objc var job: String?
+    @objc var title: String?
+    @objc var startTime: String?
+    @objc var startTimeMonth: String?
+    @objc var creatorPerson: String?
+    @objc var creatorIdentity: String?
+    @objc var creatorUnit: String?
+    @objc var application: String?
+    @objc var applicationName: String?
+    @objc var applicationAlias: String?
+    @objc var process: String?
+    @objc var processName: String?
+    @objc var processAlias: String?
+    @objc var activity: String?
+    @objc var activityType: String?
+    @objc var activityName: String?
+    @objc var activityAlias: String?
+    @objc var activityDescription: String?
+    @objc var activityToken: String?
+    @objc var activityArrivedTime: String?
+    @objc var serial: String?
+    @objc var workCreateType: String?
+    @objc var workStatus: String?
+    @objc var manualTaskIdentityText: String?
+    @objc var form: String?
+    @objc var destinationRoute: String?
+    @objc var destinationRouteName: String?
+    @objc var destinationActivityType: String?
+    @objc var destinationActivity: String?
+    
+    
+    required override init() {
+        
+    }
+}
+
+class WorkInfoResData: NSObject,DataModel {
+    @objc var work: WorkInfoRes?
+    
+    required override init() {
+        
+    }
+}

+ 12 - 2
o2ios/O2Platform/Framework/O2API/TaskAPI/OOWorkAPI.swift

@@ -13,6 +13,7 @@ import O2OA_Auth_SDK
 // MARK:- 所有调用的API枚举
 enum OOWorkAPI {
     case createTask(String,Dictionary<String,String>)
+    case getWork(String)//获取工作对象 如果工作已经结束了 500错误
 }
 
 // MARK:- 上下文实现
@@ -41,11 +42,18 @@ extension OOWorkAPI:TargetType {
         switch self {
         case .createTask(let processId,_):
             return "/jaxrs/work/process/\(processId)"
+        case .getWork(let workId):
+            return "/jaxrs/work/\(workId)"
         }
     }
     
     var method: Moya.Method {
-        return .post
+        switch self {
+            case .createTask(_,_):
+                return .post
+            case .getWork(_):
+                return .get
+        }
     }
     
     var sampleData: Data {
@@ -56,7 +64,9 @@ extension OOWorkAPI:TargetType {
         switch self {
         case .createTask(_,let param):
             return .requestParameters(parameters: param, encoding: JSONEncoding.default)
-        }
+        default:
+           return .requestPlain
+       }
     }
     
     var headers: [String : String]? {

+ 2 - 2
o2ios/O2Platform/Info.plist

@@ -23,7 +23,7 @@
 	<key>CFBundlePackageType</key>
 	<string>APPL</string>
 	<key>CFBundleShortVersionString</key>
-	<string>5.1.7</string>
+	<string>5.1.8</string>
 	<key>CFBundleURLTypes</key>
 	<array>
 		<dict>
@@ -38,7 +38,7 @@
 		</dict>
 	</array>
 	<key>CFBundleVersion</key>
-	<string>77</string>
+	<string>78</string>
 	<key>LSRequiresIPhoneOS</key>
 	<true/>
 	<key>NSAppTransportSecurity</key>

+ 1 - 0
o2server/x_message_assemble_communicate/src/main/java/com/x/message/assemble/communicate/jaxrs/instant/ActionListWithCurrentPersonWithoutIMDesc.java

@@ -43,6 +43,7 @@ class ActionListWithCurrentPersonWithoutIMDesc extends BaseAction {
 		Root<Instant> root = cq.from(Instant.class);
 		Predicate p = cb.equal(root.get(Instant_.person), effectivePerson.getDistinguishedName());
 		p = cb.and(p, cb.notEqual(root.get(Instant_.type), MessageConnector.TYPE_IM_CREATE));
+		p = cb.and(p, cb.isNotEmpty(root.get(Instant_.consumerList)));
 		List<Instant> os = em.createQuery(cq.select(root).where(p).orderBy(cb.desc(root.get(Instant_.createTime))))
 				.setMaxResults(count).getResultList();
 		return Wo.copier.copy(os);

+ 0 - 2
o2web/gulpapps.js

@@ -3,13 +3,11 @@ var apps = [
     { "folder": "o2_core", "tasks": ["move", "min"] },
     { "folder": "x_component_ANN", "tasks": ["move", "min"] },
     { "folder": "x_component_AppCenter", "tasks": ["move", "min"] },
-    { "folder": "x_component_AppMarket", "tasks": ["move", "min"] },
     { "folder": "x_component_AppMarketV2", "tasks": ["move", "min"] },
     { "folder": "x_component_AppMarketV2_Application", "tasks": ["move", "min"] },
     { "folder": "x_component_Attendance", "tasks": ["move", "min"] },
     { "folder": "x_component_BAM", "tasks": ["move", "min"] },
     { "folder": "x_component_Calendar", "tasks": ["move", "min"] },
-    { "folder": "x_component_ConfigDesigner", "tasks": ["move", "min"] },
     { "folder": "x_component_cms_Column", "tasks": ["move", "min"] },
     { "folder": "x_component_cms_ColumnManager", "tasks": ["move", "min"] },
     { "folder": "x_component_cms_DictionaryDesigner", "tasks": ["move", "min"] },

+ 4 - 1
o2web/gulpfile.js

@@ -379,14 +379,17 @@ function createBaseWorkConcatTask(path, isMin, thisOptions) {
             'source/x_component_Selector/Person.js',
             'source/x_component_Selector/Identity.js',
             'source/x_component_Selector/Unit.js',
-            'source/o2_core/o2/xScript/Environment.js',
+            'source/o2_core/o2/xScript/Actions/UnitActions.js',
             'source/o2_core/o2/xScript/Actions/ScriptActions.js',
             'source/o2_core/o2/xScript/Actions/CMSScriptActions.js',
             'source/o2_core/o2/xScript/Actions/PortalScriptActions.js',
+            'source/o2_core/o2/xScript/Environment.js',
             'source/x_component_Template/MTooltips.js',
+            'source/x_component_Template/MSelector.js',
             'source/o2_core/o2/xAction/services/x_organization_assemble_authentication.js',
             'source/o2_core/o2/xAction/services/x_processplatform_assemble_surface.js',
             'source/o2_core/o2/xAction/services/x_cms_assemble_control.js',
+            'source/o2_core/o2/xAction/services/x_organization_assemble_control.js',
             'source/' + path + '/js/base_work_end.js',
             'source/' + path + '/js/base.js'
         ];

+ 2 - 1
o2web/source/o2_core/o2.js

@@ -1248,7 +1248,8 @@
         /jaxrs\/document\/.+/ig,
         /jaxrs\/applicationdict\/.+/ig,
         /jaxrs\/custom\/.+/ig,
-        /jaxrs\/definition\/idea.+/ig
+        /jaxrs\/definition\/idea.+/ig,
+        /jaxrs\/distribute\/assemble\/source\/.+/ig,
 
         ///jaxrs\/form\/workorworkcompleted\/.+/ig,
         //    /jaxrs\/script/ig,

+ 0 - 3
o2web/source/x_component_AppMarketV2/$Main/default/applicationsContent.html

@@ -10,9 +10,6 @@
             </div>
         </div>
         <div style="clear:both;"></div>
-        <div class="o2_appmarket_appcategory_count" data-o2-element="appCategory_count">
-        </div>
-        <div style="clear:both;"></div>
         <div class="o2_appmarket_applist" data-o2-element="appList">
         </div>
 

+ 5 - 4
o2web/source/x_component_AppMarketV2/$Main/default/style.css

@@ -202,17 +202,18 @@
 .o2_appmarket_app_search_inputArea{
     height: 28px;
     border-radius: 20px;
-    padding: 0 10px;
+    padding: 1px 10px;
     margin-right: 52px;
 }
 
 .o2_appmarket_app_searchinput{
-    height: 26px;
+    height: 25px;
     width: 99%;
-    line-height: 26px;
+    line-height: 25px;
     border: 0;
     border-radius: 20px;
     float: left;
+    background-color: #f0f0f0;
 }
 .o2_appmarket_applist{
     min-width: 1280px;
@@ -230,7 +231,7 @@
 }
 .o2_appmarket_application{
     width:285px;
-    height:555px;
+    height:452px;
     background:rgba(255,255,255,1);
     box-shadow:0px 0px 8px 0px rgba(0,0,0,0.25);
     border-radius:16px;

+ 5 - 3
o2web/source/x_component_AppMarketV2/ApplicationsContent.js

@@ -50,7 +50,7 @@ MWF.xApplication.AppMarketV2.ApplicationsContent = new Class({
         }else{
             this.searchAppClearNode.removeClass("icon_clear");
         }
-        if (e.keyCode===13) this.doSearch();
+        if (e.keyCode===13) this.doAppSearch();
     },
     clearAppSearch: function(){
         this.searchAppInputNode.set("value", "");
@@ -68,6 +68,8 @@ MWF.xApplication.AppMarketV2.ApplicationsContent = new Class({
             }else{
                 this.applicationsContentV.load();
             }
+        }else{
+            this.clearSearchResult();
         }
     },
     clearSearchResult: function(){
@@ -182,8 +184,8 @@ MWF.xApplication.AppMarketV2.ApplicationsContent.Applications= new Class({
     showApplications: function(data){
         debugger;
         //show category count
-        this.content.appCategory_count.empty();
-        new Element("div",{"text":this.content.currentcategory.name+"("+this.content.currentcategory.count+")"}).inject(this.content.appCategory_count);        
+        //this.content.appCategory_count.empty();
+        //new Element("div",{"text":this.content.currentcategory.name+"("+this.content.currentcategory.count+")"}).inject(this.content.appCategory_count);        
         var appsdiv = this.content.appList;
         var appsdivwidth= appsdiv.clientWidth-80;
         //appwidth = (appsdivwidth-200)/7;

+ 15 - 3
o2web/source/x_component_AppMarketV2/Main.js

@@ -19,12 +19,12 @@ MWF.xApplication.AppMarketV2.Main = new Class({
         this.lp = MWF.xApplication.AppMarketV2.LP;
         this.actions = MWF.Actions.load("x_program_center");
 		this.viewPath = this.path+this.options.style+"/view.html";
-		this.iconPath = this.path+this.options.style+"/icon/";
+		this.iconPath = this.path+this.options.style+"/icon/";		
 	},
 	mask: function(){
         if (!this.maskNode){
             this.maskNode = new MWF.widget.MaskNode(this.marketnode, {"style": "bam"});
-            this.maskNode.load();
+			this.maskNode.load();
         }
     },
     unmask: function(){
@@ -37,7 +37,19 @@ MWF.xApplication.AppMarketV2.Main = new Class({
 		this.content.loadHtml(this.viewPath, {"bind": {"lp": this.lp}, "module": this}, function(){
 			if (!this.options.isRefresh){
 				this.maxSize(function(){
-					this.loadApp(callback);
+					//检查是否在云服务器上已注册
+					this.actions.CollectAction.login(//平台封装好的方法
+						function( json ){ //服务调用成功的回调函数, json为服务传回的数据
+							//alert(json.type)
+							if (json.type && json.type=="error"){
+								o2.xDesktop.notice("error", {x: "right", y:"top"}, json.message+"请至系统配置——云服务配置——连接配置注册并连接到O2云");
+							}
+							if (json.type && json.type=="success"){
+								this.loadApp(callback);
+							}
+						}.bind(this),null,false //同步执行 
+					);
+					
 				}.bind(this));
 			}else{
 				this.loadApp(callback);

File diff suppressed because it is too large
+ 0 - 0
o2web/source/x_desktop/js/base_work_begin.js


+ 7 - 0
o2web/source/x_desktop/js/base_work_end.js

@@ -6,4 +6,11 @@ MWF.xApplication.Selector.package = MWF.O2Selector;
     MWF.Actions.actions["x_organization_assemble_authentication"] = new MWF.xAction.RestActions.Action["x_organization_assemble_authentication"]("x_organization_assemble_authentication", orgActins);
     MWF.Actions.actions["x_processplatform_assemble_surface"] = new MWF.xAction.RestActions.Action["x_processplatform_assemble_surface"]("x_processplatform_assemble_surface", processActins);
     MWF.Actions.actions["x_cms_assemble_control"] = new MWF.xAction.RestActions.Action["x_cms_assemble_control"]("x_cms_assemble_control", cmsActins);
+MWF.Actions.actions["x_organization_assemble_control"] = new MWF.xAction.RestActions.Action["x_organization_assemble_control"]("x_organization_assemble_control", orgControlActins);
+MWF.Actions.actions["x_query_assemble_surface"] = new MWF.xAction.RestActions.Action["x_query_assemble_surface"]("x_query_assemble_surface", queryActins);
+
+MWF.xAction.RestActions.Action["x_program_center"] = new Class({Extends: MWF.xAction.RestActions.Action});
+this.actions["x_program_center"] = new MWF.xAction.RestActions.Action["x_program_center"]("x_program_center", centerActins);
+
+
 //});

Some files were not shown because too many files changed in this diff