Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
HBHAndroid
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
杨秀秀
HBHAndroid
Commits
08f8241b
Commit
08f8241b
authored
Aug 14, 2023
by
小费同学阿
💬
Committed by
杨秀秀
Nov 21, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
企业App 诉求添加+详情功能实现(但是差操作日志的回显)
parent
c88b1ac4
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
431 additions
and
0 deletions
+431
-0
AndroidManifest.xml
hbhbcompany/src/main/AndroidManifest.xml
+5
-0
AppealRequest.kt
...java/com/xx/hbhbcompany/data/http/requst/AppealRequest.kt
+22
-0
AppealEditBody.kt
...om/xx/hbhbcompany/data/http/requst/body/AppealEditBody.kt
+15
-0
AppealBean.kt
...n/java/com/xx/hbhbcompany/data/http/respons/AppealBean.kt
+14
-0
AppealFilesBean.kt
...a/com/xx/hbhbcompany/data/http/respons/AppealFilesBean.kt
+8
-0
AppealDetailListAdapter.java
...hbhbcompany/fragment/adapter/AppealDetailListAdapter.java
+37
-0
AppealDetailActivity.java
...va/com/xx/hbhbcompany/ui/appeal/AppealDetailActivity.java
+55
-0
AppealDetailViewModel.java
...a/com/xx/hbhbcompany/ui/appeal/AppealDetailViewModel.java
+89
-0
HomeViewModel.java
...c/main/java/com/xx/hbhbcompany/ui/home/HomeViewModel.java
+17
-0
activity_appeal_detail.xml
hbhbcompany/src/main/res/layout/activity_appeal_detail.xml
+131
-0
fragment_home.xml
hbhbcompany/src/main/res/layout/fragment_home.xml
+10
-0
item_appeal_detail.xml
hbhbcompany/src/main/res/layout/item_appeal_detail.xml
+24
-0
strings.xml
hbhbcompany/src/main/res/values/strings.xml
+4
-0
No files found.
hbhbcompany/src/main/AndroidManifest.xml
View file @
08f8241b
...
...
@@ -84,6 +84,11 @@
android:name=
".ui.recruitment.RecruitmentActivity"
android:exported=
"true"
/>
<!-- 诉求详情-->
<activity
android:name=
".ui.appeal.AppealDetailActivity"
android:exported=
"true"
/>
<!--商户审核列表-->
<activity
android:name=
".ui.merchantaudit.MerchantAuditListActivity"
android:exported=
"true"
>
...
...
hbhbcompany/src/main/java/com/xx/hbhbcompany/data/http/requst/AppealRequest.kt
View file @
08f8241b
...
...
@@ -3,6 +3,7 @@ package com.xx.hbhbcompany.data.http.requst
import
androidx.databinding.ObservableField
import
com.xx.hbhbcompany.data.http.BaseRespons
import
com.xx.hbhbcompany.data.http.requst.body.AppealBody
import
com.xx.hbhbcompany.data.http.requst.body.AppealEditBody
import
com.xx.hbhbcompany.data.http.requst.body.Brankbody
import
com.xx.hbhbcompany.data.http.respons.AppealBean
import
com.xx.hbhbcompany.data.http.respons.AppealTypeBean
...
...
@@ -19,6 +20,27 @@ import me.goldze.mvvmhabit.http.BaseResponse
class
AppealRequest
:
BaseRespons
()
{
/**
* 获取诉求详情
*/
fun
getAppealDetailById
():
Observable
<
BaseResponse
<
AppealBean
>>
{
return
apiService
.
getAppealDetailById
(
"15f29fe32d1670bc3a931923c34636b4"
);
}
/*修改诉求*/
/*依次传入1-类型 2-商户 3-反馈人 4-联系方式 5-诉求描述 6-上传图片*/
fun
postEditAppeal
(
businessId
:
String
,
dictSort
:
String
,
merchantId
:
String
,
appealPerson
:
String
,
appealPhone
:
String
,
appealDescribe
:
String
,
uploadImgs
:
List
<
String
>
):
Observable
<
BaseResponse
<
Boolean
>>
{
val
body
:
AppealEditBody
=
AppealEditBody
(
businessId
,
dictSort
,
merchantId
,
appealPerson
,
appealPhone
,
appealDescribe
,
uploadImgs
,
"1"
)
return
apiService
.
postEditAppeal
(
ApiParams
<
AppealEditBody
>().
setParams
(
body
))
}
/*创建诉求*/
/*依次传入1-类型 2-反馈人 3-商户 4-联系方式 5-诉求描述 6-上传图片 7-处理部门*/
fun
addAppeal
(
...
...
hbhbcompany/src/main/java/com/xx/hbhbcompany/data/http/requst/body/AppealEditBody.kt
0 → 100644
View file @
08f8241b
package
com.xx.hbhbcompany.data.http.requst.body
class
AppealEditBody
(
var
businessId
:
String
=
""
,
//主键id
var
appealType
:
String
=
""
,
//诉求类型:0-报修,1-其他
var
merchantId
:
String
?
=
""
,
//诉求商户id
var
feedbackPerson
:
String
=
""
,
//反馈人
var
contactMode
:
String
=
""
,
//联系方式
var
literalDescription
:
String
=
""
,
//诉求描述
var
uploadPictures
:
List
<
String
>,
//上传图片
var
appealStatus
:
String
=
""
,
//诉求状态
)
{
}
\ No newline at end of file
hbhbcompany/src/main/java/com/xx/hbhbcompany/data/http/respons/AppealBean.kt
View file @
08f8241b
...
...
@@ -3,6 +3,20 @@ package com.xx.hbhbcompany.data.http.respons
open
class
AppealBean
(
/*反馈类型*/
var
appAppealType
:
Int
,
/*反馈人*/
var
feedbackPerson
:
String
,
/*所属商户*/
var
merchant
:
MerchantBean
,
/*所属商户id*/
var
merchantId
:
String
,
/*联系方式*/
var
contactMode
:
String
,
/*诉求描述*/
var
literalDescription
:
String
,
/*上传的图片*/
var
appealFiles
:
List
<
AppealFilesBean
>?,
var
auditStatus
:
String
?,
var
TypeId
:
String
,
//展位id
var
brandAuthorizationList
:
List
<
BrankBean
>?,
//品牌授权列表
...
...
hbhbcompany/src/main/java/com/xx/hbhbcompany/data/http/respons/AppealFilesBean.kt
0 → 100644
View file @
08f8241b
package
com.xx.hbhbcompany.data.http.respons
class
AppealFilesBean
(
var
id
:
String
?,
var
path
:
String
?,
var
filePath
:
String
,
)
{
}
\ No newline at end of file
hbhbcompany/src/main/java/com/xx/hbhbcompany/fragment/adapter/AppealDetailListAdapter.java
0 → 100644
View file @
08f8241b
package
com
.
xx
.
hbhbcompany
.
fragment
.
adapter
;
import
static
com
.
xx
.
hbhbcompany
.
utils
.
RetrofitClient
.
baseImgUrl
;
import
android.content.Context
;
import
com.bumptech.glide.Glide
;
import
com.bumptech.glide.load.resource.bitmap.RoundedCorners
;
import
com.bumptech.glide.request.RequestOptions
;
import
com.xx.hbhbcompany.R
;
import
com.xx.hbhbcompany.data.http.respons.AppealFilesBean
;
import
com.xx.hbhbcompany.databinding.ItemAppealDetailBinding
;
import
com.xx.xxviewlibrary.base.xxBaseRecyclerViewAdapter
;
import
me.jessyan.autosize.utils.AutoSizeUtils
;
public
class
AppealDetailListAdapter
extends
xxBaseRecyclerViewAdapter
<
ItemAppealDetailBinding
,
AppealFilesBean
>
{
public
AppealDetailListAdapter
(
Context
mContext
)
{
super
(
mContext
);
}
@Override
public
int
initLayout
()
{
return
R
.
layout
.
item_appeal_detail
;
}
@Override
protected
void
covert
(
ItemAppealDetailBinding
dataBind
,
AppealFilesBean
data
,
int
position
)
{
RequestOptions
options
=
new
RequestOptions
()
.
bitmapTransform
(
new
RoundedCorners
(
AutoSizeUtils
.
dp2px
(
mContext
,
12
)));
Glide
.
with
(
mContext
).
asBitmap
()
.
apply
(
options
).
load
(
baseImgUrl
+
data
.
getFilePath
()).
into
(
dataBind
.
ivIdbSelect
);
}
}
hbhbcompany/src/main/java/com/xx/hbhbcompany/ui/appeal/AppealDetailActivity.java
0 → 100644
View file @
08f8241b
package
com
.
xx
.
hbhbcompany
.
ui
.
appeal
;
import
android.os.Bundle
;
import
androidx.lifecycle.Observer
;
import
com.xx.hbhbcompany.BR
;
import
com.xx.hbhbcompany.R
;
import
com.xx.hbhbcompany.data.http.requst.AppealRequest
;
import
com.xx.hbhbcompany.data.http.respons.AppealFilesBean
;
import
com.xx.hbhbcompany.databinding.ActivityAppealDetailBinding
;
import
com.xx.hbhbcompany.fragment.adapter.AppealDetailListAdapter
;
import
java.util.List
;
import
me.goldze.mvvmhabit.base.BaseActivity
;
public
class
AppealDetailActivity
extends
BaseActivity
<
ActivityAppealDetailBinding
,
AppealDetailViewModel
>
{
@Override
public
int
initContentView
(
Bundle
savedInstanceState
)
{
return
R
.
layout
.
activity_appeal_detail
;
}
@Override
public
int
initVariableId
()
{
return
BR
.
appealDetailViewModel
;
}
// 重写初始方法调用参数
@Override
public
void
initData
()
{
super
.
initData
();
/*调取诉求详情*/
viewModel
.
getAppealDetailById
();
//展示上传图片列表
AppealDetailListAdapter
adapter
=
new
AppealDetailListAdapter
(
this
);
binding
.
rvDblList
.
setAdapter
(
adapter
);
viewModel
.
AppealDetailList
.
observe
(
this
,
new
Observer
<
List
<
AppealFilesBean
>>()
{
@Override
public
void
onChanged
(
List
<
AppealFilesBean
>
appealFilesBeans
)
{
adapter
.
mList
=
appealFilesBeans
;
adapter
.
notifyDataSetChanged
();
}
});
}
@Override
public
AppealDetailViewModel
initViewModel
()
{
AppealRequest
lm
=
new
AppealRequest
();
return
new
AppealDetailViewModel
(
getApplication
(),
lm
);
}
}
hbhbcompany/src/main/java/com/xx/hbhbcompany/ui/appeal/AppealDetailViewModel.java
0 → 100644
View file @
08f8241b
package
com
.
xx
.
hbhbcompany
.
ui
.
appeal
;
import
android.app.Application
;
import
androidx.annotation.NonNull
;
import
androidx.databinding.ObservableField
;
import
androidx.lifecycle.MutableLiveData
;
import
com.xx.hbhbcompany.data.http.requst.AppealRequest
;
import
com.xx.hbhbcompany.data.http.respons.AppealBean
;
import
com.xx.hbhbcompany.data.http.respons.AppealFilesBean
;
import
com.xx.hbhbcompany.data.local.LocalData
;
import
com.xx.xxviewlibrary.utils.AddImgAdapter
;
import
java.util.List
;
import
io.reactivex.rxjava3.disposables.Disposable
;
import
io.reactivex.rxjava3.functions.Consumer
;
import
me.goldze.mvvmhabit.base.BaseViewModel
;
import
me.goldze.mvvmhabit.http.ApiDisposableObserver
;
import
me.goldze.mvvmhabit.utils.RxUtils
;
public
class
AppealDetailViewModel
extends
BaseViewModel
<
AppealRequest
>
{
// 创建诉求详情实体对象
public
MutableLiveData
<
List
<
AppealFilesBean
>>
AppealDetailList
=
new
MutableLiveData
<>();
/*反馈人*/
public
ObservableField
<
String
>
appealPerson
=
new
ObservableField
<>(
""
);
/*诉求商户*/
public
ObservableField
<
String
>
appealCustom
=
new
ObservableField
<>(
""
);
/*联系方式*/
public
ObservableField
<
String
>
appealPhone
=
new
ObservableField
<>(
""
);
/*文字描述*/
public
ObservableField
<
String
>
appealDescribe
=
new
ObservableField
<>(
""
);
/*上传图片*/
public
AddImgAdapter
appealPicsAdapter
;
public
AppealDetailViewModel
(
@NonNull
Application
application
)
{
super
(
application
);
}
public
AppealDetailViewModel
(
@NonNull
Application
application
,
AppealRequest
model
)
{
super
(
application
,
model
);
}
private
void
setValueToNickName
()
{
/*给登录人所在商户赋值*/
appealCustom
.
set
(
LocalData
.
getMerchant
().
getStoreName
());
/*给登录人赋值*/
appealPerson
.
set
(
LocalData
.
getUser
().
getNickName
());
}
public
void
refreshNickName
()
{
setValueToNickName
();
}
/*获取诉求详情*/
public
void
getAppealDetailById
()
{
model
.
getAppealDetailById
()
.
compose
(
RxUtils
.
schedulersTransformer
())
//线程调度
.
doOnSubscribe
(
AppealDetailViewModel
.
this
)
.
doOnSubscribe
(
new
Consumer
<
Disposable
>()
{
@Override
public
void
accept
(
Disposable
disposable
)
throws
Exception
{
}
}).
subscribe
(
new
ApiDisposableObserver
<
AppealBean
>()
{
@Override
public
void
onSuccess
(
AppealBean
resultBean
)
{
/*存值*/
AppealDetailList
.
postValue
(
resultBean
.
getAppealFiles
());
/*反馈人*/
appealPerson
.
set
(
String
.
valueOf
(
resultBean
.
getFeedbackPerson
()));
/*联系方式*/
appealPhone
.
set
(
String
.
valueOf
(
resultBean
.
getContactMode
()));
/*描述*/
appealDescribe
.
set
(
String
.
valueOf
(
resultBean
.
getLiteralDescription
()));
/*所属商户*/
appealCustom
.
set
(
String
.
valueOf
(
resultBean
.
getMerchant
().
getCompanyName
()));
}
@Override
public
void
onError
(
String
Error
)
{
dismissDialog
();
}
});
}
}
hbhbcompany/src/main/java/com/xx/hbhbcompany/ui/home/HomeViewModel.java
View file @
08f8241b
...
...
@@ -13,6 +13,7 @@ import com.xx.hbhbcompany.data.http.respons.ConsultationTitleBean;
import
com.xx.hbhbcompany.data.http.respons.JobInformationBean
;
import
com.xx.hbhbcompany.data.http.respons.JobTitleBean
;
import
com.xx.hbhbcompany.ui.activities.ActivitiesActivity
;
import
com.xx.hbhbcompany.ui.appeal.AppealDetailActivity
;
import
com.xx.hbhbcompany.ui.consult.ConsultationActivity
;
import
com.xx.hbhbcompany.ui.msg.MessageActivity
;
import
com.xx.hbhbcompany.ui.recruitment.RecruitmentActivity
;
...
...
@@ -172,6 +173,22 @@ public class HomeViewModel extends BaseViewModel<HomeRequest> {
startActivity
(
MessageActivity
.
class
);
}
});
//跳转诉求详情界面
public
BindingCommand
goDetail
=
new
BindingCommand
(
new
BindingAction
()
{
@Override
public
void
call
()
{
startActivity
(
AppealDetailActivity
.
class
);
}
});
//跳转诉求分配界面
public
BindingCommand
goEdit
=
new
BindingCommand
(
new
BindingAction
()
{
@Override
public
void
call
()
{
startActivity
(
MessageActivity
.
class
);
}
});
//跳转资讯列表界面
public
BindingCommand
goConsultation
=
new
BindingCommand
(
new
BindingAction
()
{
...
...
hbhbcompany/src/main/res/layout/activity_appeal_detail.xml
0 → 100644
View file @
08f8241b
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:tools=
"http://schemas.android.com/tools"
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:binding=
"http://schemas.android.com/apk/res-auto"
>
<data>
<variable
name=
"appealDetailViewModel"
type=
"com.xx.hbhbcompany.ui.appeal.AppealDetailViewModel"
/>
<import
type=
"me.goldze.mvvmhabit.binding.viewadapter.recyclerview.LayoutManagers"
/>
<import
type=
"me.goldze.mvvmhabit.binding.viewadapter.recyclerview.LineManagers"
/>
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:fitsSystemWindows=
"true"
>
<com.xx.xxviewlibrary.witget.XxBar
android:id=
"@+id/bar"
bar_title=
"@{@string/detail_appeal}"
android:layout_width=
"match_parent"
android:layout_height=
"55dp"
app:layout_constraintTop_toTopOf=
"parent"
tools:layout_editor_absoluteX=
"0dp"
/>
<androidx.core.widget.NestedScrollView
android:layout_width=
"match_parent"
android:layout_height=
"0dp"
android:background=
"@color/bg_grey"
app:layout_constraintTop_toBottomOf=
"@+id/bar"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_margin=
"17dp"
android:orientation=
"vertical"
>
<!--反馈人(初始回显,可修改)-->
<com.xx.xxviewlibrary.witget.XxFormEdit
ed_content=
"@={appealDetailViewModel.appealPerson}"
ed_title=
'@{@string/feedback_person}'
android:background=
"@drawable/bg_white_radius_12"
android:layout_marginBottom=
"13dp"
app:content_type=
"1"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
isBottom=
"true"
/>
<!--所属(初始只回显,调接口时候直接传商户id,不可编辑)-->
<com.xx.xxviewlibrary.witget.XxFormEdit
ed_content=
"@={appealDetailViewModel.appealCustom}"
ed_title=
'@{@string/appeal_mine_merchant}'
android:background=
"@drawable/bg_white_radius_12"
android:layout_marginBottom=
"13dp"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
app:content_type=
"1"
isBottom=
"true"
/>
<!--联系方式-->
<com.xx.xxviewlibrary.witget.XxFormEdit
ed_content=
"@={appealDetailViewModel.appealPhone}"
ed_title=
'@{@string/contact_information}'
android:layout_width=
"match_parent"
android:background=
"@drawable/bg_white_radius_12"
android:layout_marginBottom=
"13dp"
android:layout_height=
"wrap_content"
isBottom=
"true"
app:content_type=
"1"
app:hint_text=
"请输入联系方式"
/>
<!--诉求描述-->
<com.xx.xxviewlibrary.witget.XxFormEdit
ed_content=
"@={appealDetailViewModel.appealDescribe}"
ed_title=
'@{@string/claim_description}'
android:background=
"@drawable/bg_white_radius_12"
android:layout_marginBottom=
"13dp"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
isBottom=
"true"
app:content_type=
"1"
/>
<!--上传图片-->
<androidx.constraintlayout.widget.ConstraintLayout
isBottom=
"true"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginBottom=
"13dp"
android:background=
"@drawable/bg_white_radius_12"
android:paddingLeft=
"13dp"
android:paddingTop=
"28dp"
android:paddingRight=
"13dp"
>
<TextView
android:id=
"@+id/tv_aap_title_detail_img"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"上传图片"
android:textColor=
"@color/black"
android:textSize=
"16sp"
app:layout_constraintLeft_toLeftOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rv_dbl_list"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"19dp"
android:layout_marginBottom=
"28dp"
android:orientation=
"horizontal"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintLeft_toLeftOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@+id/tv_aap_title_detail_img"
binding:layoutManager=
"@{LayoutManagers.linear(0,false)}"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
\ No newline at end of file
hbhbcompany/src/main/res/layout/fragment_home.xml
View file @
08f8241b
...
...
@@ -52,6 +52,16 @@
android:layout_height=
"40dp"
binding:onClickCommand=
"@{homeViewModel.goMessage}"
android:text=
"@string/message_center"
/>
<Button
android:layout_width=
"match_parent"
android:layout_height=
"40dp"
binding:onClickCommand=
"@{homeViewModel.goDetail}"
android:text=
"诉求详情"
/>
<Button
android:layout_width=
"match_parent"
android:layout_height=
"40dp"
binding:onClickCommand=
"@{homeViewModel.goEdit}"
android:text=
"诉求编辑"
/>
<!--资讯信息模块-->
<LinearLayout
android:layout_width=
"fill_parent"
...
...
hbhbcompany/src/main/res/layout/item_appeal_detail.xml
0 → 100644
View file @
08f8241b
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
>
<!--环渤海模块-活动中心子布局-->
<data>
<variable
name=
"appealFilesBean"
type=
"com.xx.hbhbcompany.data.http.respons.AppealFilesBean"
/>
</data>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:gravity=
"center"
android:orientation=
"vertical"
>
<ImageView
android:id=
"@+id/iv_idb_select"
android:layout_width=
"54dp"
android:layout_height=
"54dp"
android:scaleType=
"fitXY"
/>
</LinearLayout>
</layout>
hbhbcompany/src/main/res/values/strings.xml
View file @
08f8241b
...
...
@@ -19,10 +19,14 @@
<string
name=
"talent"
>
人才招聘
</string>
<!--首页模块 薪资单位-->
<string
name=
"unit"
>
元/月
</string>
<!--诉求反馈 诉求详情-->
<string
name=
"detail_appeal"
>
诉求详情
</string>
<!--首页模块 学历:-->
<string
name=
"education"
>
学历:
</string>
<!--首页模块 经验:-->
<string
name=
"experience"
>
经验:
</string>
<!--诉求反馈 所属商户-->
<string
name=
"appeal_mine_merchant"
>
所属商户
</string>
<!--首页模块 活动中心标题-->
<string
name=
"activity_center"
>
活动中心
</string>
<!--首页模块 资讯信息bar-->
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment