Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in
Toggle navigation
A
AnchorCollect
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hywang
AnchorCollect
Commits
757c9eef
Commit
757c9eef
authored
Oct 29, 2024
by
hywang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.重新做配种页面逻辑,增加冻精选择搜索页面。
parent
055bbf52
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
745 additions
and
45 deletions
+745
-45
build.gradle
app/build.gradle
+3
-3
DaoMaster.java
...rc/main/java/com/phlx/anchorcollect/db/gen/DaoMaster.java
+2
-2
BreedingRecordDetailEntity.java
...phlx/anchorcollect/entity/BreedingRecordDetailEntity.java
+31
-23
BreedingRecordFragment.java
...hlx/anchorcollect/ui/fragment/BreedingRecordFragment.java
+88
-3
CollectGridItem.java
.../phlx/anchorcollect/ui/fragment/list/CollectGridItem.java
+1
-0
SearchFrozenSemenFragment.java
...collect/ui/fragment/search/SearchFrozenSemenFragment.java
+311
-0
FrozenSemenAdapter.java
...ollect/ui/fragment/search/adapter/FrozenSemenAdapter.java
+75
-0
CircularRevealAnim.java
...orcollect/ui/fragment/search/anim/CircularRevealAnim.java
+102
-0
IOnFrozenSemenItemClickListener.java
...agment/search/interf/IOnFrozenSemenItemClickListener.java
+12
-0
IOnSearchFrozenSemenClickListener.java
...ment/search/interf/IOnSearchFrozenSemenClickListener.java
+14
-0
BreedingRecordVM.java
...m/phlx/anchorcollect/ui/fragment/vm/BreedingRecordVM.java
+12
-12
LoginVM.java
...rc/main/java/com/phlx/anchorcollect/ui/login/LoginVM.java
+2
-2
dialog_search.xml
app/src/main/res/layout/dialog_search.xml
+63
-0
item_search.xml
app/src/main/res/layout/item_search.xml
+29
-0
No files found.
app/build.gradle
View file @
757c9eef
...
@@ -9,8 +9,8 @@ android {
...
@@ -9,8 +9,8 @@ android {
applicationId
"com.phlx.anchorcollect"
applicationId
"com.phlx.anchorcollect"
minSdkVersion
21
minSdkVersion
21
targetSdkVersion
29
targetSdkVersion
29
versionCode
2
0
versionCode
2
1
versionName
"2.
2
.1"
versionName
"2.
3
.1"
testInstrumentationRunner
"androidx.test.runner.AndroidJUnitRunner"
testInstrumentationRunner
"androidx.test.runner.AndroidJUnitRunner"
...
@@ -50,7 +50,7 @@ android {
...
@@ -50,7 +50,7 @@ android {
}
}
greendao
{
greendao
{
schemaVersion
7
//数据库版本号
schemaVersion
8
//数据库版本号
daoPackage
'com.phlx.anchorcollect.db.gen'
daoPackage
'com.phlx.anchorcollect.db.gen'
targetGenDir
'src/main/java'
targetGenDir
'src/main/java'
}
}
...
...
app/src/main/java/com/phlx/anchorcollect/db/gen/DaoMaster.java
View file @
757c9eef
...
@@ -14,10 +14,10 @@ import org.greenrobot.greendao.identityscope.IdentityScopeType;
...
@@ -14,10 +14,10 @@ import org.greenrobot.greendao.identityscope.IdentityScopeType;
// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
/**
/**
* Master of DAO (schema version
7
): knows all DAOs.
* Master of DAO (schema version
8
): knows all DAOs.
*/
*/
public
class
DaoMaster
extends
AbstractDaoMaster
{
public
class
DaoMaster
extends
AbstractDaoMaster
{
public
static
final
int
SCHEMA_VERSION
=
7
;
public
static
final
int
SCHEMA_VERSION
=
8
;
/** Creates underlying database table using DAOs. */
/** Creates underlying database table using DAOs. */
public
static
void
createAllTables
(
Database
db
,
boolean
ifNotExists
)
{
public
static
void
createAllTables
(
Database
db
,
boolean
ifNotExists
)
{
...
...
app/src/main/java/com/phlx/anchorcollect/entity/BreedingRecordDetailEntity.java
View file @
757c9eef
...
@@ -37,15 +37,20 @@ public class BreedingRecordDetailEntity extends BaseObservable implements Parcel
...
@@ -37,15 +37,20 @@ public class BreedingRecordDetailEntity extends BaseObservable implements Parcel
private
String
matingStyle
;
private
String
matingStyle
;
/**
/**
*
本交公牛种畜主键
号
*
冻精注册
号
*/
*/
private
Lo
ng
cattleresumeId
;
private
Stri
ng
cattleresumeId
;
/**
/**
* 冻精批次号
* 冻精批次号
*/
*/
private
String
frozenSemenBatch
;
private
String
frozenSemenBatch
;
/**
* 其它
*/
private
String
other
;
/**
/**
* 配种日期
* 配种日期
*/
*/
...
@@ -87,7 +92,7 @@ public class BreedingRecordDetailEntity extends BaseObservable implements Parcel
...
@@ -87,7 +92,7 @@ public class BreedingRecordDetailEntity extends BaseObservable implements Parcel
private
Long
deptId
;
private
Long
deptId
;
/**
/**
*
部门id
*
临时属性 和主表 移动端上传所需(验证数据使用)
*/
*/
private
Long
caId
;
private
Long
caId
;
...
@@ -128,12 +133,9 @@ public class BreedingRecordDetailEntity extends BaseObservable implements Parcel
...
@@ -128,12 +133,9 @@ public class BreedingRecordDetailEntity extends BaseObservable implements Parcel
fUnid
=
in
.
readLong
();
fUnid
=
in
.
readLong
();
}
}
matingStyle
=
in
.
readString
();
matingStyle
=
in
.
readString
();
if
(
in
.
readByte
()
==
0
)
{
cattleresumeId
=
in
.
readString
();
cattleresumeId
=
null
;
}
else
{
cattleresumeId
=
in
.
readLong
();
}
frozenSemenBatch
=
in
.
readString
();
frozenSemenBatch
=
in
.
readString
();
other
=
in
.
readString
();
matingDate
=
in
.
readString
();
matingDate
=
in
.
readString
();
isReturn
=
in
.
readString
();
isReturn
=
in
.
readString
();
backLoveDate
=
in
.
readString
();
backLoveDate
=
in
.
readString
();
...
@@ -160,17 +162,18 @@ public class BreedingRecordDetailEntity extends BaseObservable implements Parcel
...
@@ -160,17 +162,18 @@ public class BreedingRecordDetailEntity extends BaseObservable implements Parcel
remark
=
in
.
readString
();
remark
=
in
.
readString
();
}
}
@Generated
(
hash
=
1766058193
)
@Generated
(
hash
=
2018405645
)
public
BreedingRecordDetailEntity
(
Long
unid
,
Long
fUnid
,
String
matingStyle
,
Lo
ng
cattleresumeId
,
public
BreedingRecordDetailEntity
(
Long
unid
,
Long
fUnid
,
String
matingStyle
,
Stri
ng
cattleresumeId
,
String
frozenSemenBatch
,
String
matingDate
,
String
isReturn
,
String
backLoveDate
,
String
du
eDate
,
String
frozenSemenBatch
,
String
other
,
String
matingDate
,
String
isReturn
,
String
backLov
eDate
,
String
pregnancy
,
String
raiseVarieties
,
String
breedingPlantId
,
Long
deptId
,
Long
ca
Id
,
String
dueDate
,
String
pregnancy
,
String
raiseVarieties
,
String
breedingPlantId
,
Long
dept
Id
,
String
uploadStatus
,
String
searchValue
,
String
createBy
,
String
createTime
,
String
updateBy
,
Long
caId
,
String
uploadStatus
,
String
searchValue
,
String
createBy
,
String
createTime
,
String
updateTime
,
String
remark
)
{
String
update
By
,
String
update
Time
,
String
remark
)
{
this
.
unid
=
unid
;
this
.
unid
=
unid
;
this
.
fUnid
=
fUnid
;
this
.
fUnid
=
fUnid
;
this
.
matingStyle
=
matingStyle
;
this
.
matingStyle
=
matingStyle
;
this
.
cattleresumeId
=
cattleresumeId
;
this
.
cattleresumeId
=
cattleresumeId
;
this
.
frozenSemenBatch
=
frozenSemenBatch
;
this
.
frozenSemenBatch
=
frozenSemenBatch
;
this
.
other
=
other
;
this
.
matingDate
=
matingDate
;
this
.
matingDate
=
matingDate
;
this
.
isReturn
=
isReturn
;
this
.
isReturn
=
isReturn
;
this
.
backLoveDate
=
backLoveDate
;
this
.
backLoveDate
=
backLoveDate
;
...
@@ -204,13 +207,9 @@ public class BreedingRecordDetailEntity extends BaseObservable implements Parcel
...
@@ -204,13 +207,9 @@ public class BreedingRecordDetailEntity extends BaseObservable implements Parcel
dest
.
writeLong
(
fUnid
);
dest
.
writeLong
(
fUnid
);
}
}
dest
.
writeString
(
matingStyle
);
dest
.
writeString
(
matingStyle
);
if
(
cattleresumeId
==
null
)
{
dest
.
writeString
(
cattleresumeId
);
dest
.
writeByte
((
byte
)
0
);
}
else
{
dest
.
writeByte
((
byte
)
1
);
dest
.
writeLong
(
cattleresumeId
);
}
dest
.
writeString
(
frozenSemenBatch
);
dest
.
writeString
(
frozenSemenBatch
);
dest
.
writeString
(
other
);
dest
.
writeString
(
matingDate
);
dest
.
writeString
(
matingDate
);
dest
.
writeString
(
isReturn
);
dest
.
writeString
(
isReturn
);
dest
.
writeString
(
backLoveDate
);
dest
.
writeString
(
backLoveDate
);
...
@@ -280,11 +279,11 @@ public class BreedingRecordDetailEntity extends BaseObservable implements Parcel
...
@@ -280,11 +279,11 @@ public class BreedingRecordDetailEntity extends BaseObservable implements Parcel
this
.
matingStyle
=
matingStyle
;
this
.
matingStyle
=
matingStyle
;
}
}
public
Lo
ng
getCattleresumeId
()
{
public
Stri
ng
getCattleresumeId
()
{
return
cattleresumeId
;
return
cattleresumeId
;
}
}
public
void
setCattleresumeId
(
Lo
ng
cattleresumeId
)
{
public
void
setCattleresumeId
(
Stri
ng
cattleresumeId
)
{
this
.
cattleresumeId
=
cattleresumeId
;
this
.
cattleresumeId
=
cattleresumeId
;
}
}
...
@@ -296,6 +295,14 @@ public class BreedingRecordDetailEntity extends BaseObservable implements Parcel
...
@@ -296,6 +295,14 @@ public class BreedingRecordDetailEntity extends BaseObservable implements Parcel
this
.
frozenSemenBatch
=
frozenSemenBatch
;
this
.
frozenSemenBatch
=
frozenSemenBatch
;
}
}
public
String
getOther
()
{
return
other
;
}
public
void
setOther
(
String
other
)
{
this
.
other
=
other
;
}
public
String
getMatingDate
()
{
public
String
getMatingDate
()
{
return
matingDate
;
return
matingDate
;
}
}
...
@@ -430,8 +437,9 @@ public class BreedingRecordDetailEntity extends BaseObservable implements Parcel
...
@@ -430,8 +437,9 @@ public class BreedingRecordDetailEntity extends BaseObservable implements Parcel
"unid="
+
unid
+
"unid="
+
unid
+
", fUnid="
+
fUnid
+
", fUnid="
+
fUnid
+
", matingStyle='"
+
matingStyle
+
'\''
+
", matingStyle='"
+
matingStyle
+
'\''
+
", cattleresumeId=
"
+
cattleresumeId
+
", cattleresumeId=
'"
+
cattleresumeId
+
'\''
+
", frozenSemenBatch='"
+
frozenSemenBatch
+
'\''
+
", frozenSemenBatch='"
+
frozenSemenBatch
+
'\''
+
", other='"
+
other
+
'\''
+
", matingDate='"
+
matingDate
+
'\''
+
", matingDate='"
+
matingDate
+
'\''
+
", isReturn='"
+
isReturn
+
'\''
+
", isReturn='"
+
isReturn
+
'\''
+
", backLoveDate='"
+
backLoveDate
+
'\''
+
", backLoveDate='"
+
backLoveDate
+
'\''
+
...
...
app/src/main/java/com/phlx/anchorcollect/ui/fragment/BreedingRecordFragment.java
View file @
757c9eef
...
@@ -38,6 +38,8 @@ import com.phlx.anchorcollect.databinding.FragmentBreedingRecordBinding;
...
@@ -38,6 +38,8 @@ import com.phlx.anchorcollect.databinding.FragmentBreedingRecordBinding;
import
com.phlx.anchorcollect.entity.BreedingRecordDetailEntity
;
import
com.phlx.anchorcollect.entity.BreedingRecordDetailEntity
;
import
com.phlx.anchorcollect.entity.DictEntity
;
import
com.phlx.anchorcollect.entity.DictEntity
;
import
com.phlx.anchorcollect.entity.GenTableColumn
;
import
com.phlx.anchorcollect.entity.GenTableColumn
;
import
com.phlx.anchorcollect.ui.fragment.search.SearchFrozenSemenFragment
;
import
com.phlx.anchorcollect.ui.fragment.search.interf.IOnSearchFrozenSemenClickListener
;
import
com.phlx.anchorcollect.ui.fragment.vm.BreedingRecordVM
;
import
com.phlx.anchorcollect.ui.fragment.vm.BreedingRecordVM
;
import
com.phlx.anchorcollect.util.LoginInfoUtils
;
import
com.phlx.anchorcollect.util.LoginInfoUtils
;
import
com.phlx.anchorcollect.util.ImagePicker
;
import
com.phlx.anchorcollect.util.ImagePicker
;
...
@@ -45,8 +47,10 @@ import com.phlx.anchorcollect.util.StringUtil;
...
@@ -45,8 +47,10 @@ import com.phlx.anchorcollect.util.StringUtil;
import
com.phlx.anchorcollect.widget.SpaceItemDecoration
;
import
com.phlx.anchorcollect.widget.SpaceItemDecoration
;
import
com.tbruyelle.rxpermissions2.RxPermissions
;
import
com.tbruyelle.rxpermissions2.RxPermissions
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Calendar
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
...
@@ -54,7 +58,7 @@ import io.reactivex.functions.Consumer;
...
@@ -54,7 +58,7 @@ import io.reactivex.functions.Consumer;
import
me.goldze.mvvmhabit.base.BaseFragment
;
import
me.goldze.mvvmhabit.base.BaseFragment
;
import
me.goldze.mvvmhabit.utils.ToastUtils
;
import
me.goldze.mvvmhabit.utils.ToastUtils
;
public
class
BreedingRecordFragment
extends
BaseFragment
<
FragmentBreedingRecordBinding
,
BreedingRecordVM
>
{
public
class
BreedingRecordFragment
extends
BaseFragment
<
FragmentBreedingRecordBinding
,
BreedingRecordVM
>
implements
IOnSearchFrozenSemenClickListener
{
private
TimePickerView
pvTime
;
private
TimePickerView
pvTime
;
...
@@ -62,6 +66,8 @@ public class BreedingRecordFragment extends BaseFragment<FragmentBreedingRecordB
...
@@ -62,6 +66,8 @@ public class BreedingRecordFragment extends BaseFragment<FragmentBreedingRecordB
private
DataGridView
mDataGridView
;
private
DataGridView
mDataGridView
;
private
SearchFrozenSemenFragment
searchFrozenSemenFragment
;
private
static
class
SingletonClassInstance
{
private
static
class
SingletonClassInstance
{
private
static
final
BreedingRecordFragment
instance
=
new
BreedingRecordFragment
();
private
static
final
BreedingRecordFragment
instance
=
new
BreedingRecordFragment
();
}
}
...
@@ -98,6 +104,9 @@ public class BreedingRecordFragment extends BaseFragment<FragmentBreedingRecordB
...
@@ -98,6 +104,9 @@ public class BreedingRecordFragment extends BaseFragment<FragmentBreedingRecordB
public
void
initData
()
{
public
void
initData
()
{
super
.
initData
();
super
.
initData
();
searchFrozenSemenFragment
=
SearchFrozenSemenFragment
.
newInstance
();
searchFrozenSemenFragment
.
setIOnSearchVeterinaryClickListener
(
this
);
viewModel
.
initGen
();
viewModel
.
initGen
();
// binding.rvCollect.addItemDecoration(new SpaceItemDecoration(10));
// binding.rvCollect.addItemDecoration(new SpaceItemDecoration(10));
...
@@ -132,6 +141,9 @@ public class BreedingRecordFragment extends BaseFragment<FragmentBreedingRecordB
...
@@ -132,6 +141,9 @@ public class BreedingRecordFragment extends BaseFragment<FragmentBreedingRecordB
case
"radio"
:
case
"radio"
:
showSpinnerDialog
(
viewModel
.
currentParamEntity
);
showSpinnerDialog
(
viewModel
.
currentParamEntity
);
break
;
break
;
case
"search"
:
showSearchDialog
(
viewModel
.
currentParamEntity
);
break
;
case
"photo"
:
case
"photo"
:
if
(
viewModel
.
tag
.
get
().
equals
(
""
))
{
if
(
viewModel
.
tag
.
get
().
equals
(
""
))
{
ToastUtils
.
showShort
(
"请先输入可视耳标号"
);
ToastUtils
.
showShort
(
"请先输入可视耳标号"
);
...
@@ -236,6 +248,14 @@ public class BreedingRecordFragment extends BaseFragment<FragmentBreedingRecordB
...
@@ -236,6 +248,14 @@ public class BreedingRecordFragment extends BaseFragment<FragmentBreedingRecordB
}).
show
();
}).
show
();
}
}
//跳转搜索关键字页面
private
void
showSearchDialog
(
GenTableColumn
uiParamEntity
)
{
assert
getParentFragment
()
!=
null
;
searchFrozenSemenFragment
.
showFragment
(
requireActivity
().
getSupportFragmentManager
(),
SearchFrozenSemenFragment
.
TAG
);
}
//输入框
//输入框
private
void
showInputDialog
(
GenTableColumn
uiParamEntity
)
{
private
void
showInputDialog
(
GenTableColumn
uiParamEntity
)
{
...
@@ -303,7 +323,7 @@ public class BreedingRecordFragment extends BaseFragment<FragmentBreedingRecordB
...
@@ -303,7 +323,7 @@ public class BreedingRecordFragment extends BaseFragment<FragmentBreedingRecordB
if
(
uiParamEntity
.
getJavaType
().
equals
(
"BigDecimal"
)
||
uiParamEntity
.
getJavaType
().
equals
(
"Duoble"
))
{
if
(
uiParamEntity
.
getJavaType
().
equals
(
"BigDecimal"
)
||
uiParamEntity
.
getJavaType
().
equals
(
"Duoble"
))
{
if
(!
inputStr
.
matches
(
if
(!
inputStr
.
matches
(
"^\\d{1,"
+
(
finalColumnSize
-
finalColumnPointSize
-
1
)
+
"}(\\.\\d{1,"
+
(
finalColumnPointSize
<
1
?
1
:
finalColumnPointSize
)
+
"})?$"
"^\\d{1,"
+
(
finalColumnSize
-
finalColumnPointSize
-
1
)
+
"}(\\.\\d{1,"
+
(
finalColumnPointSize
<
1
?
1
:
finalColumnPointSize
)
+
"})?$"
))
{
))
{
ToastUtils
.
showShort
(
"输入异常,整数最大"
+
(
finalColumnSize
-
finalColumnPointSize
-
1
)
+
"位,小数最大"
+
finalColumnPointSize
+
"位"
);
ToastUtils
.
showShort
(
"输入异常,整数最大"
+
(
finalColumnSize
-
finalColumnPointSize
-
1
)
+
"位,小数最大"
+
finalColumnPointSize
+
"位"
);
return
true
;
return
true
;
...
@@ -364,7 +384,7 @@ public class BreedingRecordFragment extends BaseFragment<FragmentBreedingRecordB
...
@@ -364,7 +384,7 @@ public class BreedingRecordFragment extends BaseFragment<FragmentBreedingRecordB
RxPermissions
rxPermissions
=
new
RxPermissions
(
getActivity
());
RxPermissions
rxPermissions
=
new
RxPermissions
(
getActivity
());
rxPermissions
.
request
(
Manifest
.
permission
.
CAMERA
,
Manifest
.
permission
rxPermissions
.
request
(
Manifest
.
permission
.
CAMERA
,
Manifest
.
permission
.
READ_EXTERNAL_STORAGE
,
Manifest
.
permission
.
WRITE_EXTERNAL_STORAGE
)
.
READ_EXTERNAL_STORAGE
,
Manifest
.
permission
.
WRITE_EXTERNAL_STORAGE
)
.
subscribe
(
new
Consumer
<
Boolean
>()
{
.
subscribe
(
new
Consumer
<
Boolean
>()
{
@Override
@Override
public
void
accept
(
Boolean
aBoolean
)
throws
Exception
{
public
void
accept
(
Boolean
aBoolean
)
throws
Exception
{
...
@@ -390,6 +410,31 @@ public class BreedingRecordFragment extends BaseFragment<FragmentBreedingRecordB
...
@@ -390,6 +410,31 @@ public class BreedingRecordFragment extends BaseFragment<FragmentBreedingRecordB
viewModel
.
currentParamEntity
.
setContent
(
dateFormat
.
format
(
date
));
viewModel
.
currentParamEntity
.
setContent
(
dateFormat
.
format
(
date
));
viewModel
.
currentParamEntity
.
setShowName
(
dateFormat
.
format
(
date
));
viewModel
.
currentParamEntity
.
setShowName
(
dateFormat
.
format
(
date
));
viewModel
.
currentParamEntity
.
notifyChange
();
viewModel
.
currentParamEntity
.
notifyChange
();
if
(
"matingDate"
.
equals
(
viewModel
.
currentParamEntity
.
getJavaField
()))
{
/**
计算预产期280天
*/
String
str
=
"yyyy-MM-dd"
;
SimpleDateFormat
format2
=
new
SimpleDateFormat
(
str
);
Date
dueDate
=
null
;
try
{
dueDate
=
format2
.
parse
(
dateFormat
.
format
(
date
));
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setTime
(
dueDate
);
calendar
.
add
(
Calendar
.
DATE
,
280
);
for
(
GenTableColumn
gtc
:
Configs
.
cattlematingDetaill
)
{
if
(
"dueDate"
.
equals
(
gtc
.
getJavaField
())){
gtc
.
setContent
(
format2
.
format
(
calendar
.
getTime
()));
gtc
.
setShowName
(
format2
.
format
(
calendar
.
getTime
()));
gtc
.
notifyChange
();
break
;
}
}
}
}
}
})
})
.
setTimeSelectChangeListener
(
new
OnTimeSelectChangeListener
()
{
.
setTimeSelectChangeListener
(
new
OnTimeSelectChangeListener
()
{
...
@@ -528,4 +573,44 @@ public class BreedingRecordFragment extends BaseFragment<FragmentBreedingRecordB
...
@@ -528,4 +573,44 @@ public class BreedingRecordFragment extends BaseFragment<FragmentBreedingRecordB
viewModel
.
rfid
.
set
(
""
);
viewModel
.
rfid
.
set
(
""
);
}
}
}
}
@Override
public
void
OnSelectedClick
(
DictEntity
dictEntity
)
{
for
(
GenTableColumn
gtc
:
Configs
.
cattlematingDetaill
)
{
switch
(
gtc
.
getJavaField
())
{
case
"frozenSemenBatch"
:
//冻精信息
gtc
.
setContent
(
dictEntity
.
getDictValue
());
gtc
.
setShowName
(
dictEntity
.
getDictLabel
());
break
;
case
"cattleresumeId"
:
//冻精注册号
if
(
"其它"
.
equals
(
dictEntity
.
getDictLabel
()))
{
gtc
.
setContent
(
""
);
gtc
.
setShowName
(
""
);
}
else
{
String
labelStr
=
""
;
if
(
dictEntity
.
getDictLabel
().
lastIndexOf
(
"/"
)>-
1
)
{
labelStr
=
dictEntity
.
getDictLabel
().
substring
(
dictEntity
.
getDictLabel
().
lastIndexOf
(
"/"
)
+
1
,
dictEntity
.
getDictLabel
().
length
());
}
else
{
labelStr
=
dictEntity
.
getDictLabel
();
}
gtc
.
setContent
(
labelStr
);
gtc
.
setShowName
(
labelStr
);
}
gtc
.
notifyChange
();
break
;
case
"other"
:
//其它
if
(
"其他"
.
equals
(
dictEntity
.
getDictLabel
()))
{
}
else
{
gtc
.
setContent
(
""
);
gtc
.
setShowName
(
""
);
}
gtc
.
notifyChange
();
break
;
}
}
viewModel
.
currentParamEntity
.
notifyChange
();
}
}
}
app/src/main/java/com/phlx/anchorcollect/ui/fragment/list/CollectGridItem.java
View file @
757c9eef
...
@@ -42,6 +42,7 @@ public class CollectGridItem extends ItemViewModel<BaseViewModel> {
...
@@ -42,6 +42,7 @@ public class CollectGridItem extends ItemViewModel<BaseViewModel> {
switch
(
fragmentType
)
{
switch
(
fragmentType
)
{
case
Configs
.
BASE_ARCHIVES
:
case
Configs
.
BASE_ARCHIVES
:
case
Configs
.
WEIGHTING_MANAGE
:
case
Configs
.
WEIGHTING_MANAGE
:
case
Configs
.
BREEDING_RECORD_DETAIL
:
if
(
"1"
.
equals
(
entity
.
get
().
getIsEdit
()))
{
if
(
"1"
.
equals
(
entity
.
get
().
getIsEdit
()))
{
titleGrayVisiable
.
set
(
View
.
GONE
);
titleGrayVisiable
.
set
(
View
.
GONE
);
...
...
app/src/main/java/com/phlx/anchorcollect/ui/fragment/search/SearchFrozenSemenFragment.java
0 → 100644
View file @
757c9eef
This diff is collapsed.
Click to expand it.
app/src/main/java/com/phlx/anchorcollect/ui/fragment/search/adapter/FrozenSemenAdapter.java
0 → 100644
View file @
757c9eef
package
com
.
phlx
.
anchorcollect
.
ui
.
fragment
.
search
.
adapter
;
import
android.content.Context
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.TextView
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.phlx.anchorcollect.R
;
import
com.phlx.anchorcollect.entity.DictEntity
;
import
com.phlx.anchorcollect.ui.fragment.search.interf.IOnFrozenSemenItemClickListener
;
import
java.util.ArrayList
;
public
class
FrozenSemenAdapter
extends
RecyclerView
.
Adapter
<
FrozenSemenAdapter
.
MyViewHolder
>
implements
View
.
OnClickListener
{
private
Context
context
;
private
ArrayList
<
DictEntity
>
frozenSemens
=
new
ArrayList
<>();
public
FrozenSemenAdapter
(
Context
context
,
ArrayList
<
DictEntity
>
list
)
{
this
.
context
=
context
;
this
.
frozenSemens
=
list
;
}
@Override
public
MyViewHolder
onCreateViewHolder
(
ViewGroup
parent
,
int
viewType
)
{
View
view
=
LayoutInflater
.
from
(
context
).
inflate
(
R
.
layout
.
item_search
,
parent
,
false
);
MyViewHolder
holder
=
new
MyViewHolder
(
view
);
view
.
setOnClickListener
(
this
);
return
holder
;
}
@Override
public
void
onBindViewHolder
(
final
MyViewHolder
holder
,
final
int
position
)
{
holder
.
name
.
setText
(
frozenSemens
.
get
(
position
).
getDictLabel
());
// holder.phone.setText(frozenSemens.get(position).getVeterinaryPhone());
holder
.
itemView
.
setTag
(
position
);
}
@Override
public
int
getItemCount
()
{
return
frozenSemens
.
size
();
}
@Override
public
void
onClick
(
View
v
)
{
if
(
onFrozenSemenItemClickListener
!=
null
&&
frozenSemens
.
size
()
>
0
)
{
onFrozenSemenItemClickListener
.
onItemClick
(
frozenSemens
.
get
((
Integer
)
v
.
getTag
()));
}
}
class
MyViewHolder
extends
RecyclerView
.
ViewHolder
{
TextView
name
;
// TextView phone;
public
MyViewHolder
(
View
view
)
{
super
(
view
);
name
=
(
TextView
)
view
.
findViewById
(
R
.
id
.
name_tv
);
// phone = (TextView) view.findViewById(R.id.phone_tv);
}
}
private
IOnFrozenSemenItemClickListener
onFrozenSemenItemClickListener
;
public
void
setOnItemClickListener
(
IOnFrozenSemenItemClickListener
onFrozenSemenItemClickListener
)
{
this
.
onFrozenSemenItemClickListener
=
onFrozenSemenItemClickListener
;
}
}
app/src/main/java/com/phlx/anchorcollect/ui/fragment/search/anim/CircularRevealAnim.java
0 → 100644
View file @
757c9eef
package
com
.
phlx
.
anchorcollect
.
ui
.
fragment
.
search
.
anim
;
import
android.animation.Animator
;
import
android.animation.AnimatorListenerAdapter
;
import
android.annotation.SuppressLint
;
import
android.view.View
;
import
android.view.ViewAnimationUtils
;
import
android.view.animation.DecelerateInterpolator
;
public
class
CircularRevealAnim
{
public
static
final
long
DURATION
=
200
;
private
AnimListener
mListener
;
public
interface
AnimListener
{
void
onHideAnimationEnd
();
void
onShowAnimationEnd
();
}
@SuppressLint
(
"NewApi"
)
private
void
actionOtherVisible
(
final
boolean
isShow
,
final
View
triggerView
,
final
View
animView
)
{
if
(
android
.
os
.
Build
.
VERSION
.
SDK_INT
<
android
.
os
.
Build
.
VERSION_CODES
.
LOLLIPOP
)
{
if
(
isShow
)
{
animView
.
setVisibility
(
View
.
VISIBLE
);
if
(
mListener
!=
null
)
mListener
.
onShowAnimationEnd
();
}
else
{
animView
.
setVisibility
(
View
.
GONE
);
if
(
mListener
!=
null
)
mListener
.
onHideAnimationEnd
();
}
return
;
}
/**
* 计算 triggerView 的中心位置
*/
int
[]
tvLocation
=
new
int
[
2
];
triggerView
.
getLocationInWindow
(
tvLocation
);
int
tvX
=
tvLocation
[
0
]
+
triggerView
.
getWidth
()
/
2
;
int
tvY
=
tvLocation
[
1
]
+
triggerView
.
getHeight
()
/
2
;
/**
* 计算 animView 的中心位置
*/
int
[]
avLocation
=
new
int
[
2
];
animView
.
getLocationInWindow
(
avLocation
);
int
avX
=
avLocation
[
0
]
+
animView
.
getWidth
()
/
2
;
int
avY
=
avLocation
[
1
]
+
animView
.
getHeight
()
/
2
;
int
rippleW
=
tvX
<
avX
?
animView
.
getWidth
()
-
tvX
:
tvX
-
avLocation
[
0
];
int
rippleH
=
tvY
<
avY
?
animView
.
getHeight
()
-
tvY
:
tvY
-
avLocation
[
1
];
float
maxRadius
=
(
float
)
Math
.
sqrt
(
rippleW
*
rippleW
+
rippleH
*
rippleH
);
float
startRadius
;
float
endRadius
;
if
(
isShow
)
{
startRadius
=
0
;
endRadius
=
maxRadius
;
}
else
{
startRadius
=
maxRadius
;
endRadius
=
0
;
}
Animator
anim
=
ViewAnimationUtils
.
createCircularReveal
(
animView
,
tvX
,
tvY
,
startRadius
,
endRadius
);
animView
.
setVisibility
(
View
.
VISIBLE
);
anim
.
setDuration
(
DURATION
);
anim
.
setInterpolator
(
new
DecelerateInterpolator
());
anim
.
addListener
(
new
AnimatorListenerAdapter
()
{
@Override
public
void
onAnimationEnd
(
Animator
animation
)
{
super
.
onAnimationEnd
(
animation
);
if
(
isShow
)
{
animView
.
setVisibility
(
View
.
VISIBLE
);
if
(
mListener
!=
null
)
mListener
.
onShowAnimationEnd
();
}
else
{
animView
.
setVisibility
(
View
.
GONE
);
if
(
mListener
!=
null
)
mListener
.
onHideAnimationEnd
();
}
}
});
anim
.
start
();
}
public
void
show
(
View
triggerView
,
View
showView
)
{
actionOtherVisible
(
true
,
triggerView
,
showView
);
}
public
void
hide
(
View
triggerView
,
View
hideView
)
{
actionOtherVisible
(
false
,
triggerView
,
hideView
);
}
public
void
setAnimListener
(
AnimListener
listener
)
{
mListener
=
listener
;
}
}
\ No newline at end of file
app/src/main/java/com/phlx/anchorcollect/ui/fragment/search/interf/IOnFrozenSemenItemClickListener.java
0 → 100644
View file @
757c9eef
package
com
.
phlx
.
anchorcollect
.
ui
.
fragment
.
search
.
interf
;
import
com.phlx.anchorcollect.entity.DictEntity
;
/**
* Created by Won on 2016/4/22.
*/
public
interface
IOnFrozenSemenItemClickListener
{
void
onItemClick
(
DictEntity
dictEntity
);
}
app/src/main/java/com/phlx/anchorcollect/ui/fragment/search/interf/IOnSearchFrozenSemenClickListener.java
0 → 100644
View file @
757c9eef
package
com
.
phlx
.
anchorcollect
.
ui
.
fragment
.
search
.
interf
;
import
com.phlx.anchorcollect.entity.DictEntity
;
/**
* Created by Won on 2017/1/13.
*/
public
interface
IOnSearchFrozenSemenClickListener
{
void
OnSelectedClick
(
DictEntity
dictEntity
);
}
app/src/main/java/com/phlx/anchorcollect/ui/fragment/vm/BreedingRecordVM.java
View file @
757c9eef
...
@@ -557,18 +557,18 @@ public class BreedingRecordVM extends BaseViewModel<Repository> {
...
@@ -557,18 +557,18 @@ public class BreedingRecordVM extends BaseViewModel<Repository> {
/**
/**
计算预产期280天
计算预产期280天
*/
*/
String
str
=
"yyyy-MM-dd"
;
//
String str = "yyyy-MM-dd";
SimpleDateFormat
format2
=
new
SimpleDateFormat
(
str
);
//
SimpleDateFormat format2 = new SimpleDateFormat(str);
Date
date
=
null
;
//
Date date = null;
try
{
//
try {
date
=
format2
.
parse
(
breedingRecordDetailEntity
.
getMatingDate
());
//
date = format2.parse(breedingRecordDetailEntity.getMatingDate());
}
catch
(
ParseException
e
)
{
//
} catch (ParseException e) {
e
.
printStackTrace
();
//
e.printStackTrace();
}
//
}
Calendar
calendar
=
Calendar
.
getInstance
();
//
Calendar calendar = Calendar.getInstance();
calendar
.
setTime
(
date
);
//
calendar.setTime(date);
calendar
.
add
(
Calendar
.
DATE
,
280
);
//
calendar.add(Calendar.DATE, 280);
breedingRecordDetailEntity
.
setDueDate
(
format2
.
format
(
calendar
.
getTime
()));
//
breedingRecordDetailEntity.setDueDate(format2.format(calendar.getTime()));
detailUploadData
=
new
ArrayList
<>();
detailUploadData
=
new
ArrayList
<>();
detailUploadData
.
add
(
breedingRecordDetailEntity
);
detailUploadData
.
add
(
breedingRecordDetailEntity
);
...
...
app/src/main/java/com/phlx/anchorcollect/ui/login/LoginVM.java
View file @
757c9eef
...
@@ -81,8 +81,8 @@ public class LoginVM extends BaseViewModel<Repository> {
...
@@ -81,8 +81,8 @@ public class LoginVM extends BaseViewModel<Repository> {
userName
.
set
(
model
.
getUserName
());
userName
.
set
(
model
.
getUserName
());
password
.
set
(
model
.
getPassword
());
password
.
set
(
model
.
getPassword
());
//
userName.set("13664793087");
userName
.
set
(
"13664793087"
);
//
password.set("Abgq3087@");
password
.
set
(
"Abgq3087@"
);
// userName.set("15047962756");
// userName.set("15047962756");
// password.set("Tpsq2756*");
// password.set("Tpsq2756*");
// userName.set("13847913985");
// userName.set("13847913985");
...
...
app/src/main/res/layout/dialog_search.xml
0 → 100644
View file @
757c9eef
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@drawable/shape_corner_white"
android:orientation=
"vertical"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:gravity=
"center_vertical"
android:orientation=
"horizontal"
android:padding=
"6dp"
>
<ImageView
android:id=
"@+id/iv_search_back"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:padding=
"6dp"
android:src=
"@drawable/ic_back_24dp"
/>
<EditText
android:id=
"@+id/et_search_keyword"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:background=
"@null"
android:hint=
"搜索关键字"
android:imeOptions=
"actionSearch"
android:padding=
"6dp"
android:singleLine=
"true"
android:textSize=
"14sp"
/>
<!-- android:focusable="true"-->
<!-- android:focusableInTouchMode="true"-->
<ImageView
android:id=
"@+id/iv_search_search"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:padding=
"6dp"
android:src=
"@drawable/ic_search_bg_24dp"
/>
</LinearLayout>
<View
android:layout_width=
"match_parent"
android:layout_height=
"0.5dp"
android:background=
"@color/line_bg"
/>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rv_search"
android:layout_width=
"match_parent"
android:layout_margin=
"@dimen/dp_15"
android:layout_height=
"0dp"
android:layout_weight=
"1"
/>
</LinearLayout>
</LinearLayout>
app/src/main/res/layout/item_search.xml
0 → 100644
View file @
757c9eef
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/dp_40"
>
<androidx.appcompat.widget.AppCompatTextView
android:id=
"@+id/name_tv"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textSize=
"@dimen/sp_13"
android:layout_marginStart=
"@dimen/dp_20"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
<androidx.appcompat.widget.AppCompatTextView
android:id=
"@+id/phone_tv"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textSize=
"@dimen/sp_13"
android:layout_marginEnd=
"@dimen/dp_20"
android:visibility=
"gone"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
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