fancy 5 жил өмнө
parent
commit
c98a2ccde8

+ 5 - 2
o2android/app/src/main/java/net/zoneland/x/bpm/mobile/v1/zoneXBPM/app/calendar/CalendarOB.kt

@@ -25,6 +25,8 @@ object CalendarOB {
     const val MONTHLY = "MONTHLY"
     const val YEARLY = "YEARLY"
     const val NONE = "NONE"
+    const val CalendarTypePERSON = "PERSON"
+    const val CalendarTypeUNIT = "UNIT"
 
     val deepColor = linkedMapOf(
             0 to "#428ffc",
@@ -47,9 +49,10 @@ object CalendarOB {
             7 to "#cae2ff"
     )
 
+
     val calendarTypes = linkedMapOf(
-            "PERSON" to "个人日历",
-            "UNIT" to "组织日历"
+            CalendarTypePERSON to "个人日历",
+            CalendarTypeUNIT to "组织日历"
     )
 
     val remindOptions = linkedMapOf(

+ 23 - 14
o2android/app/src/main/java/net/zoneland/x/bpm/mobile/v1/zoneXBPM/app/calendar/CreateCalendarActivity.kt

@@ -19,6 +19,7 @@ import com.wugang.activityresult.library.ActivityResult
 import kotlinx.android.synthetic.main.activity_create_calendar.*
 import net.muliba.changeskin.FancySkinManager
 import net.zoneland.x.bpm.mobile.v1.zoneXBPM.R
+import net.zoneland.x.bpm.mobile.v1.zoneXBPM.app.calendar.CalendarOB.CalendarTypeUNIT
 import net.zoneland.x.bpm.mobile.v1.zoneXBPM.app.calendar.vm.CreateCalendarViewModel
 import net.zoneland.x.bpm.mobile.v1.zoneXBPM.app.o2.organization.ContactPickerActivity
 import net.zoneland.x.bpm.mobile.v1.zoneXBPM.databinding.ActivityCreateCalendarBinding
@@ -71,6 +72,12 @@ class CreateCalendarActivity : AppCompatActivity() {
             XToast.toastShort(this, "日历名称不能为空!")
             return
         }
+        if (viewModel.calendarTypeKey.value == CalendarTypeUNIT) {
+            if (TextUtils.isEmpty(viewModel.target.value)){
+                XToast.toastShort(this, "日历所属组织不能为空!")
+                return
+            }
+        }
         if (TextUtils.isEmpty(viewModel.calendarId.value)) {
             viewModel.saveCalendar()
         } else {
@@ -92,23 +99,25 @@ class CreateCalendarActivity : AppCompatActivity() {
      * 日历类型 选择
      */
     fun chooseType(view: View) {
-        val picker = OptionsPickerView.Builder(this, OptionsPickerView.OnOptionsSelectListener { option1, _, _, _ ->
-            viewModel.setCalendarType(typeList[option1])
-        }).setTitleText(getString(R.string.calendar_type_choose))
-                .isDialog(true)
-                .build()
-        picker.setPicker(typeList)
-        var selectIndex = typeList.indexOfFirst { it.name == viewModel.calendarType.value }
-        if (selectIndex < 0) {
-            selectIndex = 0
+        if (TextUtils.isEmpty(viewModel.calendarId.value)) {
+            val picker = OptionsPickerView.Builder(this, OptionsPickerView.OnOptionsSelectListener { option1, _, _, _ ->
+                viewModel.setCalendarType(typeList[option1])
+            }).setTitleText(getString(R.string.calendar_type_choose))
+                    .isDialog(true)
+                    .build()
+            picker.setPicker(typeList)
+            var selectIndex = typeList.indexOfFirst { it.name == viewModel.calendarType.value }
+            if (selectIndex < 0) {
+                selectIndex = 0
+            }
+            picker.setSelectOptions(selectIndex)
+            picker.showDialog()
         }
-        picker.setSelectOptions(selectIndex)
-        picker.showDialog()
     }
 
     //选择所属组织
     fun chooseOrgTarget(view: View) {
-        val bundle = ContactPickerActivity.startPickerBundle(arrayListOf("departmentPicker"),multiple=false)
+        val bundle = ContactPickerActivity.startPickerBundle(arrayListOf(ContactPickerActivity.departmentPicker),multiple=false)
         ActivityResult.of(this)
                 .className(ContactPickerActivity::class.java)
                 .params(bundle)
@@ -135,7 +144,7 @@ class CreateCalendarActivity : AppCompatActivity() {
     }
     //选择可见范围
     fun chooseViewableList(view: View) {
-        val bundle = ContactPickerActivity.startPickerBundle(arrayListOf("personPicker", "departmentPicker","groupPicker"), multiple=true)
+        val bundle = ContactPickerActivity.startPickerBundle(arrayListOf(ContactPickerActivity.personPicker, ContactPickerActivity.departmentPicker,ContactPickerActivity.groupPicker), multiple=true)
         ActivityResult.of(this)
                 .className(ContactPickerActivity::class.java)
                 .params(bundle)
@@ -150,7 +159,7 @@ class CreateCalendarActivity : AppCompatActivity() {
     }
     //选择可新建日程范围
     fun choosePublishableList(view: View) {
-        val bundle = ContactPickerActivity.startPickerBundle(arrayListOf("personPicker", "departmentPicker","groupPicker"), multiple=true)
+        val bundle = ContactPickerActivity.startPickerBundle(arrayListOf(ContactPickerActivity.personPicker, ContactPickerActivity.departmentPicker,ContactPickerActivity.groupPicker), multiple=true)
         ActivityResult.of(this)
                 .className(ContactPickerActivity::class.java)
                 .params(bundle)

+ 10 - 16
o2android/app/src/main/java/net/zoneland/x/bpm/mobile/v1/zoneXBPM/app/calendar/vm/CreateCalendarViewModel.kt

@@ -64,7 +64,7 @@ class CreateCalendarViewModel(app: Application) : BaseO2ViewModel(app) {
     //网络操作反馈结果
     private val netResponse: MutableLiveData<FrontendResponse> by lazy { MutableLiveData<FrontendResponse>() }
 
-    private val calendarTypeKey: MutableLiveData<String> by lazy { MutableLiveData<String>() }
+    val calendarTypeKey: MutableLiveData<String> by lazy { MutableLiveData<String>() }
 
     init {
         isPublic.value = false
@@ -72,7 +72,6 @@ class CreateCalendarViewModel(app: Application) : BaseO2ViewModel(app) {
         deleteBtnVisibleable.addSource(calendarId) { id->
             deleteBtnVisibleable.value = !TextUtils.isEmpty(id)
         }
-
         targetName.addSource(target) { value ->
             targetName.value = if (value?.contains("@") == true) {
                 value.split("@").first()
@@ -338,20 +337,15 @@ class CreateCalendarViewModel(app: Application) : BaseO2ViewModel(app) {
     private fun loadFromNet(id: String?, calendarPostData: MutableLiveData<CalendarPostData>) {
         if (!TextUtils.isEmpty(id)) {
             val service = getCalendarAssembleService()
-            if (service!=null) {
-                service.getCalendar(id!!)
-                        .subscribeOn(Schedulers.io())
-                        .observeOn(AndroidSchedulers.mainThread())
-                        .o2Subscribe {
-                            onNext { res ->
-                                val calendar = res.data
-                                calendarPostData.value = calendar
-                            }
-                            onError { e, isNetworkError ->
-                                XLog.error("查询日历出错, isnetworkError:$isNetworkError", e)
-                                calendarPostData.value = null
-                            }
-                        }
+            service?.getCalendar(id!!)?.subscribeOn(Schedulers.io())?.observeOn(AndroidSchedulers.mainThread())?.o2Subscribe {
+                onNext { res ->
+                    val calendar = res.data
+                    calendarPostData.value = calendar
+                }
+                onError { e, isNetworkError ->
+                    XLog.error("查询日历出错, isnetworkError:$isNetworkError", e)
+                    calendarPostData.value = null
+                }
             }
         }
     }

+ 1 - 1
o2android/app/src/main/java/net/zoneland/x/bpm/mobile/v1/zoneXBPM/app/clouddrive/v2/f/FileFolderListFragment.kt

@@ -244,7 +244,7 @@ class FileFolderListFragment : BaseMVPFragment<FileFolderListContract.View, File
 
     private fun share() {
         val bundle = ContactPickerActivity.startPickerBundle(
-                arrayListOf("personPicker", "departmentPicker"),
+                arrayListOf(ContactPickerActivity.personPicker, ContactPickerActivity.departmentPicker),
                 multiple = true)
         if (activity is CloudDiskActivity) {
             (activity as CloudDiskActivity).contactPicker(bundle) { result ->

+ 10 - 5
o2android/app/src/main/java/net/zoneland/x/bpm/mobile/v1/zoneXBPM/app/o2/organization/ContactPickerActivity.kt

@@ -26,8 +26,13 @@ class ContactPickerActivity : BaseMVPActivity<ContactPickerActivityContract.View
     override fun layoutResId(): Int = R.layout.activity_contact_picker
 
     companion object {
+        const val departmentPicker = "departmentPicker"
+        const val identityPicker = "identityPicker"
+        const val personPicker = "personPicker"
+        const val groupPicker = "groupPicker"
+
         const val CONTACT_PICKED_RESULT = "CONTACT_PICKED_RESULT"
-        val picker_mode_list = arrayOf("departmentPicker", "identityPicker", "groupPicker", "personPicker")
+        val picker_mode_list = arrayOf(departmentPicker, identityPicker, personPicker, groupPicker)
         const val PICKER_MODE_KEY = "PICKER_MODE_KEY"
         const val TOP_LIST_KEY = "TOP_LIST_KEY"
         const val ORG_TYPE_KEY = "ORG_TYPE_KEY"
@@ -322,7 +327,7 @@ class ContactPickerActivity : BaseMVPActivity<ContactPickerActivityContract.View
 
     private fun createFragment(mode: String, index: Int, isShowTab:Boolean) {
         when(mode) {
-            "departmentPicker" -> {
+            departmentPicker -> {
                 if (index == 0) {pickerTitle = "组织选择"}
                 val f = ContactUnitAndIdentityPicker.startPicker(
                         ContactUnitAndIdentityPicker.ORG_PICK_MODE,
@@ -335,7 +340,7 @@ class ContactPickerActivity : BaseMVPActivity<ContactPickerActivityContract.View
                 fragments.add(f)
                 if (isShowTab) {toolbar_snippet_tab_layout.addTab(toolbar_snippet_tab_layout.newTab().setText("组织选择"))}
             }
-            "identityPicker" -> {
+            identityPicker -> {
                 if (index == 0) {pickerTitle = "身份选择"}
                 val f = ContactUnitAndIdentityPicker.startPicker(
                         ContactUnitAndIdentityPicker.IDENTITY_PICK_MODE,
@@ -348,7 +353,7 @@ class ContactPickerActivity : BaseMVPActivity<ContactPickerActivityContract.View
                 fragments.add(f)
                 if (isShowTab) {toolbar_snippet_tab_layout.addTab(toolbar_snippet_tab_layout.newTab().setText("身份选择"))}
             }
-            "groupPicker" -> {
+            groupPicker -> {
                 if (index == 0) {pickerTitle = "群组选择"}
                 val f = ContactPersonGroupPicker.startPicker(
                         ContactPersonGroupPicker.GROUP_PICK_MODE,
@@ -358,7 +363,7 @@ class ContactPickerActivity : BaseMVPActivity<ContactPickerActivityContract.View
                 fragments.add(f)
                 if (isShowTab) {toolbar_snippet_tab_layout.addTab(toolbar_snippet_tab_layout.newTab().setText("群组选择"))}
             }
-            "personPicker" -> {
+            personPicker -> {
                 if (index == 0) {pickerTitle = "人员选择"}
                 val f =  ContactUnitAndIdentityPicker.startPicker(
                         ContactUnitAndIdentityPicker.PERSON_PICK_MODE,

+ 8 - 8
o2android/app/src/main/java/net/zoneland/x/bpm/mobile/v1/zoneXBPM/app/o2/webview/JSInterfaceO2mBiz.kt

@@ -81,7 +81,7 @@ class JSInterfaceO2mBiz  private constructor(val activity: FragmentActivity?) {
                 val maxNumber = jsFormData.maxNumber ?: 0
                 val pickedIdentities = jsFormData.pickedIdentities ?: ArrayList()
                 ContactPickerActivity.startPickerBundle(
-                        arrayListOf("identityPicker"),
+                        arrayListOf(ContactPickerActivity.identityPicker),
                         dutyList = dutyList,
                         multiple = multiple,
                         topUnitList = topList,
@@ -90,7 +90,7 @@ class JSInterfaceO2mBiz  private constructor(val activity: FragmentActivity?) {
                         initIdList = pickedIdentities
                 )
             }else {
-                ContactPickerActivity.startPickerBundle(arrayListOf("identityPicker"))
+                ContactPickerActivity.startPickerBundle(arrayListOf(ContactPickerActivity.identityPicker))
             }
             showPicker(bundle, callback)
         } else {
@@ -111,7 +111,7 @@ class JSInterfaceO2mBiz  private constructor(val activity: FragmentActivity?) {
                 val maxNumber = jsFormData.maxNumber ?: 0
                 val pickedDepartments = jsFormData.pickedDepartments ?: ArrayList()
                 ContactPickerActivity.startPickerBundle(
-                        arrayListOf("departmentPicker"),
+                        arrayListOf(ContactPickerActivity.departmentPicker),
                         dutyList = arrayListOf(),
                         multiple = multiple,
                         topUnitList = topList,
@@ -120,7 +120,7 @@ class JSInterfaceO2mBiz  private constructor(val activity: FragmentActivity?) {
                         initDeptList = pickedDepartments
                 )
             }else {
-                ContactPickerActivity.startPickerBundle(arrayListOf("departmentPicker"))
+                ContactPickerActivity.startPickerBundle(arrayListOf(ContactPickerActivity.departmentPicker))
             }
             showPicker(bundle, callback)
         } else {
@@ -139,7 +139,7 @@ class JSInterfaceO2mBiz  private constructor(val activity: FragmentActivity?) {
                 val maxNumber = jsFormData.maxNumber ?: 0
                 val pickedPersonList = jsFormData.pickedUsers ?: ArrayList()
                 ContactPickerActivity.startPickerBundle(
-                        arrayListOf("personPicker"),
+                        arrayListOf(ContactPickerActivity.personPicker),
                         dutyList = arrayListOf(),
                         multiple = multiple,
                         topUnitList = arrayListOf(),
@@ -148,7 +148,7 @@ class JSInterfaceO2mBiz  private constructor(val activity: FragmentActivity?) {
                         initUserList = pickedPersonList
                 )
             }else {
-                ContactPickerActivity.startPickerBundle(arrayListOf("personPicker"))
+                ContactPickerActivity.startPickerBundle(arrayListOf(ContactPickerActivity.personPicker))
             }
            showPicker(bundle, callback)
         } else {
@@ -167,7 +167,7 @@ class JSInterfaceO2mBiz  private constructor(val activity: FragmentActivity?) {
                 val maxNumber = jsFormData.maxNumber ?: 0
                 val pickedGroups = jsFormData.pickedGroups ?: ArrayList()
                 ContactPickerActivity.startPickerBundle(
-                        arrayListOf("groupPicker"),
+                        arrayListOf(ContactPickerActivity.groupPicker),
                         dutyList = arrayListOf(),
                         multiple = multiple,
                         topUnitList = arrayListOf(),
@@ -176,7 +176,7 @@ class JSInterfaceO2mBiz  private constructor(val activity: FragmentActivity?) {
                         initGroupList = pickedGroups
                 )
             }else {
-                ContactPickerActivity.startPickerBundle(arrayListOf("groupPicker"))
+                ContactPickerActivity.startPickerBundle(arrayListOf(ContactPickerActivity.groupPicker))
             }
             showPicker( bundle, callback)
         } else {