Commit a781e5e7 authored by hywang's avatar hywang

1.新增诊疗记录功能

2.新增免疫记录功能
parent 3baff11b
......@@ -28,6 +28,7 @@
android:networkSecurityConfig="@xml/network_security_config"
android:requestLegacyExternalStorage="true"
android:roundIcon="@mipmap/ic_launcher_round"
android:process=":remote"
android:supportsRtl="true"
android:theme="@style/AppTheme"
>
......@@ -86,6 +87,12 @@
android:launchMode="singleTask"
android:screenOrientation="landscape"
android:windowSoftInputMode="stateHidden|adjustResize" />
<activity
android:name=".ui.setting.SyncActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:launchMode="singleTask"
android:screenOrientation="landscape"
android:windowSoftInputMode="stateHidden|adjustResize" />
<service
......
......@@ -12,12 +12,15 @@ import com.phlx.anchorcollect.ui.fragment.vm.BasicsCollectVM;
import com.phlx.anchorcollect.ui.fragment.vm.BreedingRecordVM;
import com.phlx.anchorcollect.ui.fragment.vm.CollectListVM;
import com.phlx.anchorcollect.ui.fragment.vm.CollectVM;
import com.phlx.anchorcollect.ui.fragment.vm.ImmunRecordVM;
import com.phlx.anchorcollect.ui.fragment.vm.MedicalRecordVM;
import com.phlx.anchorcollect.ui.fragment.vm.PerformanceVM;
import com.phlx.anchorcollect.ui.home.HomeVM;
import com.phlx.anchorcollect.ui.info.CattleVM;
import com.phlx.anchorcollect.ui.login.LoginVM;
import com.phlx.anchorcollect.ui.main.MainVM;
import com.phlx.anchorcollect.ui.setting.SettingVM;
import com.phlx.anchorcollect.ui.setting.SyncVM;
import com.phlx.anchorcollect.ui.splash.SplashVM;
......@@ -81,6 +84,12 @@ public class VMFactory extends ViewModelProvider.NewInstanceFactory {
} else if (modelClass.isAssignableFrom(PerformanceVM.class)) {
return (T) new PerformanceVM(mApplication, repository);
} else if (modelClass.isAssignableFrom(MedicalRecordVM.class)) {
return (T) new MedicalRecordVM(mApplication, repository);
} else if (modelClass.isAssignableFrom(ImmunRecordVM.class)) {
return (T) new ImmunRecordVM(mApplication, repository);
} else if (modelClass.isAssignableFrom(BreedingRecordVM.class)) {
return (T) new BreedingRecordVM(mApplication, repository);
......@@ -94,6 +103,9 @@ public class VMFactory extends ViewModelProvider.NewInstanceFactory {
return (T) new CattleVM(mApplication, repository);
} else if (modelClass.isAssignableFrom(SettingVM.class)) {
return (T) new SettingVM(mApplication, repository);
} else if (modelClass.isAssignableFrom(SyncVM.class)) {
return (T) new SyncVM(mApplication, repository);
}
throw new IllegalArgumentException("Unknown ViewModel class: " + modelClass.getName());
}
......
......@@ -18,7 +18,7 @@ public class DictEntity extends BaseObservable implements Parcelable {
private static final long serialVersionUID = 1L;
/** 字典编码 */
@Id(autoincrement = false)
// @Id(autoincrement = false)
private String dictCode;
/** 字典排序 */
......
......@@ -49,16 +49,24 @@ public class GenTableColumn extends BaseObservable implements Parcelable {
/** 是否必填(1是) */
private String isRequired;
/** 是否为插入字段(1是) */
/**
* 是否为插入字段(1是)新增时是否显示字段
*/
private String isInsert;
/** 是否编辑字段(1是) */
/**
* 是否编辑字段(1是)修改时是否可编辑
*/
private String isEdit;
/** 是否列表字段(1是) */
/**
* 是否列表字段(1是)表头是否显示
*/
private String isList;
/** 是否查询字段(1是) */
/**
* 是否查询字段(1是)暂时保留
*/
private String isQuery;
/** 查询方式(EQ等于、NE不等于、GT大于、LT小于、LIKE模糊、BETWEEN范围) */
......
......@@ -116,6 +116,7 @@ public class RetrofitClient {
.header("token", SPUtils.getInstance().getString("token"))
.header("imei", DeviceIdUtils.getDeviceId(Utils.getContext()))
.header("deptid", SPUtils.getInstance().getString(Configs.SP_DEPT_ID))
.header("eqType", "iPad")//iPad app
.build();
return chain.proceed(authorised);
}
......
......@@ -2,7 +2,9 @@ package com.phlx.anchorcollect.ui.fragment;
import android.Manifest;
import android.app.Dialog;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.text.InputType;
import android.util.Log;
import android.view.Gravity;
......@@ -24,6 +26,9 @@ import com.bigkoo.pickerview.builder.TimePickerBuilder;
import com.bigkoo.pickerview.listener.OnTimeSelectChangeListener;
import com.bigkoo.pickerview.listener.OnTimeSelectListener;
import com.bigkoo.pickerview.view.TimePickerView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.request.RequestOptions;
import com.kongzue.dialogx.datepicker.DatePickerDialog;
import com.kongzue.dialogx.datepicker.interfaces.OnDateSelected;
import com.kongzue.dialogx.dialogs.BottomMenu;
......@@ -49,6 +54,7 @@ import com.phlx.anchorcollect.util.TextUtil;
import com.phlx.anchorcollect.widget.SpaceItemDecoration;
import com.tbruyelle.rxpermissions2.RxPermissions;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
......@@ -200,6 +206,25 @@ public class BasicsCollectFragment extends BaseFragment<FragmentBasicsCollectBin
gtc.notifyChange();
}
viewModel.remarkParamEntity.notifyChange();
File[] files;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
files = getContext().getExternalFilesDirs(Environment.MEDIA_MOUNTED);
for(File file:files){
Log.e("main",file.getPath());
}
}
Glide.with(getContext())
.load(viewModel.imgUrl)
.apply(
new RequestOptions()
.skipMemoryCache(true)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.error(R.drawable.no_image)
.fallback(R.drawable.no_image)
)
.into(binding.ivCattlePhoto);
binding.rvCollect.getAdapter().notifyDataSetChanged();
}
});
......@@ -271,6 +296,7 @@ public class BasicsCollectFragment extends BaseFragment<FragmentBasicsCollectBin
inputType = InputType.TYPE_CLASS_TEXT;
}
int finalInputType = inputType;
new MaterialDialog.Builder(getActivity())
.title(uiParamEntity.getColumnComment())
// .iconRes(R.drawable.ic_logo)
......@@ -291,10 +317,17 @@ public class BasicsCollectFragment extends BaseFragment<FragmentBasicsCollectBin
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
// dialog.getActionButton(DialogAction.POSITIVE).setEnabled(false);
String inputStr = dialog.getInputEditText().getText().toString();
if (finalInputType == InputType.TYPE_CLASS_TEXT && inputStr.length() > 10) {
dialog.getInputEditText().setText(inputStr.subSequence(0, 10));
ToastUtils.showShort("输入长度超长");
} else {
viewModel.currentParamEntity.setShowName(dialog.getInputEditText().getText().toString());
viewModel.currentParamEntity.setContent(dialog.getInputEditText().getText().toString());
viewModel.currentParamEntity.notifyChange();
}
}
})
.show();
}
......
......@@ -242,7 +242,7 @@ public class BreedingRecordFragment extends BaseFragment<FragmentBreedingRecordB
} else if (uiParamEntity.getJavaType().equals("String")) {
inputType = InputType.TYPE_CLASS_TEXT;
}
int finalInputType = inputType;
new MaterialDialog.Builder(getActivity())
.title(uiParamEntity.getColumnComment())
// .iconRes(R.drawable.ic_logo)
......@@ -263,10 +263,16 @@ public class BreedingRecordFragment extends BaseFragment<FragmentBreedingRecordB
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
// dialog.getActionButton(DialogAction.POSITIVE).setEnabled(false);
String inputStr = dialog.getInputEditText().getText().toString();
if (finalInputType == InputType.TYPE_CLASS_TEXT && inputStr.length() > 10) {
dialog.getInputEditText().setText(inputStr.subSequence(0, 10));
ToastUtils.showShort("输入长度超长");
} else {
viewModel.currentParamEntity.setShowName(dialog.getInputEditText().getText().toString());
viewModel.currentParamEntity.setContent(dialog.getInputEditText().getText().toString());
viewModel.currentParamEntity.notifyChange();
}
}
})
.show();
}
......
......@@ -230,7 +230,7 @@ public class PerformanceFragment extends BaseFragment<FragmentPerformanceBinding
} else if (uiParamEntity.getJavaType().equals("String")) {
inputType = InputType.TYPE_CLASS_TEXT;
}
int finalInputType = inputType;
new MaterialDialog.Builder(getActivity())
.title(uiParamEntity.getColumnComment())
// .iconRes(R.drawable.ic_logo)
......@@ -251,10 +251,16 @@ public class PerformanceFragment extends BaseFragment<FragmentPerformanceBinding
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
// dialog.getActionButton(DialogAction.POSITIVE).setEnabled(false);
String inputStr = dialog.getInputEditText().getText().toString();
if (finalInputType == InputType.TYPE_CLASS_TEXT && inputStr.length() > 10) {
dialog.getInputEditText().setText(inputStr.subSequence(0, 10));
ToastUtils.showShort("输入长度超长");
} else {
viewModel.currentParamEntity.setShowName(dialog.getInputEditText().getText().toString());
viewModel.currentParamEntity.setContent(dialog.getInputEditText().getText().toString());
viewModel.currentParamEntity.notifyChange();
}
}
})
.show();
}
......@@ -341,9 +347,11 @@ public class PerformanceFragment extends BaseFragment<FragmentPerformanceBinding
//说明是列表跳转的
if(!StringUtils.isEmpty(Configs.resumeId)){
viewModel.isModify = true;
viewModel.queryPerformance();
}else{
//清除一下数据
viewModel.isModify = false;
binding.rvCollect.getAdapter().notifyDataSetChanged();
}
}
......
......@@ -10,6 +10,8 @@ import com.phlx.anchorcollect.R;
import com.phlx.anchorcollect.entity.GenTableColumn;
import com.phlx.anchorcollect.ui.fragment.vm.BasicsCollectVM;
import com.phlx.anchorcollect.ui.fragment.vm.BreedingRecordVM;
import com.phlx.anchorcollect.ui.fragment.vm.ImmunRecordVM;
import com.phlx.anchorcollect.ui.fragment.vm.MedicalRecordVM;
import com.phlx.anchorcollect.ui.fragment.vm.PerformanceVM;
import cn.hutool.core.util.IdUtil;
......@@ -39,6 +41,10 @@ public class CollectGridItem extends ItemViewModel<BaseViewModel> {
private void initView(){
switch (fragmentType) {
case Configs.BASE_ARCHIVES:
case Configs.WEIGHTING_MANAGE:
if("1".equals(entity.get().getIsEdit())){
titleGrayColor.set(View.GONE);
titleBlueColor.set(View.VISIBLE);
......@@ -46,7 +52,17 @@ public class CollectGridItem extends ItemViewModel<BaseViewModel> {
titleGrayColor.set(View.VISIBLE);
titleBlueColor.set(View.GONE);
}
break;
default:
if("1".equals(entity.get().getIsInsert())){
titleGrayColor.set(View.GONE);
titleBlueColor.set(View.VISIBLE);
}else {
titleGrayColor.set(View.VISIBLE);
titleBlueColor.set(View.GONE);
}
break;
}
}
public BindingCommand onItemClickCommand = new BindingCommand(new BindingAction() {
......@@ -64,10 +80,10 @@ public class CollectGridItem extends ItemViewModel<BaseViewModel> {
break;
case Configs.TREATMENT_RECORD:
((MedicalRecordVM)viewModel).onItemClick(entity.get());
break;
case Configs.IMMUN_RECORD:
((ImmunRecordVM)viewModel).onItemClick(entity.get());
break;
case Configs.BREEDING_RECORD:
((BreedingRecordVM)viewModel).onItemClick(entity.get());
......
......@@ -24,6 +24,7 @@ import com.phlx.anchorcollect.entity.DictEntity;
import com.phlx.anchorcollect.entity.GenTableColumn;
import com.phlx.anchorcollect.ui.fragment.list.CollectGridItem;
import com.phlx.anchorcollect.ui.setting.SettingActivity;
import com.phlx.anchorcollect.ui.setting.SyncActivity;
import com.phlx.anchorcollect.util.EntityUtils;
import org.greenrobot.greendao.query.QueryBuilder;
......@@ -44,7 +45,7 @@ public class BasicsCollectVM extends BaseViewModel<Repository> {
public Drawable drawableImg;
//照片路径
private String imgUrl;
public String imgUrl;
private File imgFile;
//存放非list控件
......@@ -74,10 +75,10 @@ public class BasicsCollectVM extends BaseViewModel<Repository> {
public void initGen() {
imgUrl = Environment.getExternalStorageDirectory().getAbsolutePath() +
"/collect/picture/"
+ "anchorCiq" + tag + ".jpg";
imgFile = new File(imgUrl);
// imgUrl = Environment.getExternalStorageDirectory().getAbsolutePath() +
// "/collect/picture/"
// + "anchorCiq" + tag + ".jpg";
// imgFile = new File(imgUrl);
int i = 0;
for (GenTableColumn gtc : Configs.cattleresume) {
......@@ -102,24 +103,19 @@ public class BasicsCollectVM extends BaseViewModel<Repository> {
public void initData(String tag) {
imgUrl = Environment.getExternalStorageDirectory().getAbsolutePath() +
"/collect/picture/"
+ "anchorCiq" + tag + ".jpg";
imgFile = new File(imgUrl);
queryCattleResume(tag);
}
public void onItemClick(GenTableColumn entity) {
if (!"1".equals(entity.getIsEdit())) return;
if (StringUtils.isEmpty(Configs.tempUnid)) {
ToastUtils.showShort("请扫描耳标或者输入耳标信息");
return;
}
if (!"1".equals(entity.getIsEdit())) return;
currentParamEntity = entity;
onCardClickEvent.call();
}
......@@ -144,6 +140,14 @@ public class BasicsCollectVM extends BaseViewModel<Repository> {
}
});
//同步数据
public BindingCommand onSyncClick = new BindingCommand(new BindingAction() {
@Override
public void call() {
startActivity(SyncActivity.class);
}
});
//当前牛信息展示
public BindingCommand onCattleInfoClick = new BindingCommand(new BindingAction() {
@Override
......@@ -154,6 +158,8 @@ public class BasicsCollectVM extends BaseViewModel<Repository> {
public void click(int id) {
if (!"1".equals(currentParamEntity.getIsEdit())) return;
if (StringUtils.isEmpty(Configs.tempUnid)) {
ToastUtils.showShort("请扫描耳标或者输入耳标信息");
return;
......@@ -166,7 +172,6 @@ public class BasicsCollectVM extends BaseViewModel<Repository> {
currentParamEntity = uiList.get(id);
}
if (!"1".equals(currentParamEntity.getIsEdit())) return;
onCardClickEvent.call();
}
......@@ -181,6 +186,11 @@ public class BasicsCollectVM extends BaseViewModel<Repository> {
if (result != null && result.size() > 0) {
imgUrl = Environment.getExternalStorageDirectory().getAbsolutePath() +
"/collect/picture/"
+ "anchorCiq" + result.get(0).getUnid() + ".jpg";
imgFile = new File(imgUrl);
Configs.tempTag = result.get(0).getIndividualNo();
Configs.tempRfid = result.get(0).getRegistrationNo();
Configs.tempUnid = result.get(0).getUnid();
......@@ -247,6 +257,7 @@ public class BasicsCollectVM extends BaseViewModel<Repository> {
public void clearParamList() {
//备注清除数据
imgUrl = "";
remarkParamEntity.setContent("");
remarkParamEntity.setShowName("");
currentParamEntity = new GenTableColumn();
......
......@@ -73,6 +73,7 @@ public class PerformanceVM extends BaseViewModel<Repository> {
public ObservableField<String> tag = new ObservableField<>("");
public ObservableField<String> weight = new ObservableField<>("125.5");
public boolean isModify = false;
private long uuid;
private SimpleDateFormat dateFormat;
......@@ -180,6 +181,11 @@ public class PerformanceVM extends BaseViewModel<Repository> {
return;
}
if (!"1".equals(entity.getIsEdit()) && isModify) {
ToastUtils.showShort("此数据无法修改!!");
return;
}
if (!"1".equals(entity.getIsEdit())) return;
currentParamEntity = entity;
......@@ -223,9 +229,10 @@ public class PerformanceVM extends BaseViewModel<Repository> {
PerformanceEntity performanceEntity = gson.fromJson(jsonObject, PerformanceEntity.class);
dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
if (uuid == 0) {//新增
if (!isModify) {//新增
uuid = IdUtil.createSnowflake(3, 1).nextId();
performanceEntity.setUnid(uuid + "");
performanceEntity.setCattleresumeId(Configs.tempUnid);
performanceEntity.setDeptId(SPUtils.getInstance().getString(Configs.SP_DEPT_ID));
performanceEntity.setCreateBy(SPUtils.getInstance().getString(Configs.SP_LOGIN_NAME));
......@@ -245,6 +252,7 @@ public class PerformanceVM extends BaseViewModel<Repository> {
dismissDialog();
if (result) {
clearParamList();
onNotifyAllEvent.setValue(true);
onShowDialogEvent.setValue("保存性能测定成功!");
} else {
ToastUtils.showShort("保存性能测定失败");
......@@ -262,7 +270,7 @@ public class PerformanceVM extends BaseViewModel<Repository> {
remarkParamEntity.setContent("");
remarkParamEntity.setShowName("");
currentParamEntity = new GenTableColumn();
uuid = IdUtil.createSnowflake(3, 1).nextId();
uuid = 0;
for (GenTableColumn gtc : Configs.performance) {
gtc.setShowName("");
gtc.setContent("");
......
......@@ -157,9 +157,9 @@ public class CattleActivity extends BaseActivity<AvtivityCattleBinding, CattleVM
}
//诊疗记录
private void initTreatmentRecordGrid() {
private void initMedicalRecordGrid() {
DataGridView mDataGridView = binding.dgvTreatmentRecord;
DataGridView mDataGridView = binding.dgvMedicalRecord;
//初始化表头
List<String> headerStr = new ArrayList<>();
......@@ -213,14 +213,17 @@ public class CattleActivity extends BaseActivity<AvtivityCattleBinding, CattleVM
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
if (which == DialogAction.POSITIVE) {
//TODO 跳转详情页
Configs.mainPosition = 3;
Configs.resumeId = rowData.getUnid();
startActivity(MainActivity.class);
finish();
}
}
}).show();
}
});
viewModel.queryTreatmentRecordList();
viewModel.queryMedicalRecordList();
}
......@@ -281,7 +284,10 @@ public class CattleActivity extends BaseActivity<AvtivityCattleBinding, CattleVM
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
if (which == DialogAction.POSITIVE) {
//TODO 跳转详情页
Configs.mainPosition = 4;
Configs.resumeId = rowData.getUnid();
startActivity(MainActivity.class);
finish();
}
}
}).show();
......@@ -369,10 +375,10 @@ public class CattleActivity extends BaseActivity<AvtivityCattleBinding, CattleVM
case 0:
refreshDataGridView = binding.dgvSignMeasure;
refreshDataGridView.setDataSource(viewModel.getPerformanceEntityList());
initTreatmentRecordGrid();
initMedicalRecordGrid();
break;
case 1:
refreshDataGridView = binding.dgvTreatmentRecord;
refreshDataGridView = binding.dgvMedicalRecord;
refreshDataGridView.setDataSource(viewModel.getMedicalRecordEntityList());
initImmunRecordGrid();
break;
......
......@@ -88,7 +88,7 @@ public class CattleVM extends BackBarVM<Repository> {
}).queryAsyncAll(PerformanceEntity.class, builder);
}
public void queryTreatmentRecordList() {
public void queryMedicalRecordList() {
QueryBuilder<MedicalRecordEntity> builder =
DbUtil.getInstance().getQueryBuilder(MedicalRecordEntity.class)
......
......@@ -66,8 +66,8 @@ public class LoginVM extends BaseViewModel<Repository> {
userName.set(model.getUserName());
password.set(model.getPassword());
userName.set("admin");
password.set("admin123");
userName.set("ry");
password.set("123456");
}
//清除用户名的点击事件
......@@ -220,9 +220,17 @@ public class LoginVM extends BaseViewModel<Repository> {
genList.addAll(DbUtil.getInstance().queryAll(GenTable.class, builder));
for (GenTable gt : genList) {
switch (gt.getBusinessName()) {
case "cattleresume":
/**
* zxgl_cattleresume 基础信息
* zxgl_performance 性能测定
* zxgl_weight_man 称重管理
* zxgl_medicalrecords 诊疗记录
* zxgl_immunebatch 免疫记录
* zxgl_cattlemating_master 配种记录主表
* zxgl_cattlemating_detaill 配种记子表
*/
switch (gt.getTableName()) {
case "zxgl_cattleresume":
QueryBuilder<GenTableColumn> builderDetaile0 =
DbUtil.getInstance().getQueryBuilder(GenTableColumn.class)
.where(GenTableColumnDao.Properties.TableId.eq(gt.getTableId())
......@@ -230,52 +238,52 @@ public class LoginVM extends BaseViewModel<Repository> {
.orderDesc(GenTableColumnDao.Properties.Sort);
Configs.cattleresume = DbUtil.getInstance().queryAll(GenTableColumn.class, builderDetaile0);
break;
case "performance":
case "zxgl_performance":
QueryBuilder<GenTableColumn> builderDetaile1 =
DbUtil.getInstance().getQueryBuilder(GenTableColumn.class)
.where(GenTableColumnDao.Properties.TableId.eq(gt.getTableId())
, GenTableColumnDao.Properties.IsQuery.eq("1"))
.orderDesc(GenTableColumnDao.Properties.Sort);
.orderAsc(GenTableColumnDao.Properties.Sort);
Configs.performance = DbUtil.getInstance().queryAll(GenTableColumn.class, builderDetaile1);
break;
case "weightMan":
case "zxgl_weight_man":
QueryBuilder<GenTableColumn> builderDetaile2 =
DbUtil.getInstance().getQueryBuilder(GenTableColumn.class)
.where(GenTableColumnDao.Properties.TableId.eq(gt.getTableId())
, GenTableColumnDao.Properties.IsQuery.eq("1"))
.orderDesc(GenTableColumnDao.Properties.Sort);
.orderAsc(GenTableColumnDao.Properties.Sort);
Configs.weightMan = DbUtil.getInstance().queryAll(GenTableColumn.class, builderDetaile2);
break;
case "medicalrecords":
case "zxgl_medicalrecords":
QueryBuilder<GenTableColumn> builderDetaile3 =
DbUtil.getInstance().getQueryBuilder(GenTableColumn.class)
.where(GenTableColumnDao.Properties.TableId.eq(gt.getTableId())
, GenTableColumnDao.Properties.IsQuery.eq("1"))
.orderDesc(GenTableColumnDao.Properties.Sort);
.orderAsc(GenTableColumnDao.Properties.Sort);
Configs.medicalrecords = DbUtil.getInstance().queryAll(GenTableColumn.class, builderDetaile3);
break;
case "immunebatch":
case "zxgl_immunebatch":
QueryBuilder<GenTableColumn> builderDetaile4 =
DbUtil.getInstance().getQueryBuilder(GenTableColumn.class)
.where(GenTableColumnDao.Properties.TableId.eq(gt.getTableId())
, GenTableColumnDao.Properties.IsQuery.eq("1"))
.orderDesc(GenTableColumnDao.Properties.Sort);
.orderAsc(GenTableColumnDao.Properties.Sort);
Configs.immunebatch = DbUtil.getInstance().queryAll(GenTableColumn.class, builderDetaile4);
break;
case "cattlematingMaster":
case "zxgl_cattlemating_master":
QueryBuilder<GenTableColumn> builderDetaile5 =
DbUtil.getInstance().getQueryBuilder(GenTableColumn.class)
.where(GenTableColumnDao.Properties.TableId.eq(gt.getTableId())
, GenTableColumnDao.Properties.IsQuery.eq("1"))
.orderDesc(GenTableColumnDao.Properties.Sort);
.orderAsc(GenTableColumnDao.Properties.Sort);
Configs.cattlematingMaster = DbUtil.getInstance().queryAll(GenTableColumn.class, builderDetaile5);
break;
case "cattlematingDetaill":
case "zxgl_cattlemating_detaill":
QueryBuilder<GenTableColumn> builderDetaile6 =
DbUtil.getInstance().getQueryBuilder(GenTableColumn.class)
.where(GenTableColumnDao.Properties.TableId.eq(gt.getTableId())
, GenTableColumnDao.Properties.IsQuery.eq("1"))
.orderDesc(GenTableColumnDao.Properties.Sort);
.orderAsc(GenTableColumnDao.Properties.Sort);
Configs.cattlematingDetaill = DbUtil.getInstance().queryAll(GenTableColumn.class, builderDetaile6);
break;
}
......
package com.phlx.anchorcollect.ui.main;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.KeyEvent;
......@@ -21,6 +22,8 @@ import com.phlx.anchorcollect.ui.fragment.BasicsCollectFragment;
import com.phlx.anchorcollect.ui.fragment.BreedingRecordFragment;
import com.phlx.anchorcollect.ui.fragment.CollectFragment;
import com.phlx.anchorcollect.ui.fragment.CollectListFragment;
import com.phlx.anchorcollect.ui.fragment.ImmunRecordFragment;
import com.phlx.anchorcollect.ui.fragment.MedicalRecordFragment;
import com.phlx.anchorcollect.ui.fragment.PerformanceFragment;
public class MainActivity extends BaseActivity<ActivityMainBinding, MainVM> {
......@@ -31,8 +34,23 @@ public class MainActivity extends BaseActivity<ActivityMainBinding, MainVM> {
private BasicsCollectFragment _basicsCollectFragment;
private PerformanceFragment _performanceFragment;
private MedicalRecordFragment _medicalRecordFragment;
private ImmunRecordFragment _immunRecordFragment;
private BreedingRecordFragment _breedingRecordFragment;
private Drawable drwCattleOn;
private Drawable drwCattleOff;
private Drawable drwPerformanceOn;
private Drawable drwPerformanceOff;
private Drawable drwWeightManOn;
private Drawable drwWeightManOff;
private Drawable drwMedicalOn;
private Drawable drwMedicalOff;
private Drawable drwImmuneOn;
private Drawable drwImmuneOff;
private Drawable drwBreedingOn;
private Drawable drwBreedingOff;
@Override
public int initContentView(Bundle savedInstanceState) {
return R.layout.activity_main;
......@@ -72,6 +90,32 @@ public class MainActivity extends BaseActivity<ActivityMainBinding, MainVM> {
viewModel.init();
drwCattleOn = getResources().getDrawable(R.mipmap.jichuxinxi2);
drwCattleOff = getResources().getDrawable(R.mipmap.jichuxinxi1);
drwPerformanceOn = getResources().getDrawable(R.mipmap.xingnengceding2);
drwPerformanceOff = getResources().getDrawable(R.mipmap.xingnengceding1);
drwWeightManOn = getResources().getDrawable(R.mipmap.chengzhong2);
drwWeightManOff = getResources().getDrawable(R.mipmap.chengzhong1);
drwMedicalOn = getResources().getDrawable(R.mipmap.zhenliaojilu2);
drwMedicalOff = getResources().getDrawable(R.mipmap.zhenliaojilu1);
drwImmuneOn = getResources().getDrawable(R.mipmap.mianyijilu2);
drwImmuneOff = getResources().getDrawable(R.mipmap.mianyijilu1);
drwBreedingOn = getResources().getDrawable(R.mipmap.peizhong2);
drwBreedingOff = getResources().getDrawable(R.mipmap.peizhong1);
drwCattleOn.setBounds(0, 0, drwCattleOn.getMinimumWidth(), drwCattleOn.getMinimumHeight());
drwCattleOff.setBounds(0, 0, drwCattleOff.getMinimumWidth(), drwCattleOff.getMinimumHeight());
drwPerformanceOn.setBounds(0, 0, drwPerformanceOn.getMinimumWidth(), drwPerformanceOn.getMinimumHeight());
drwPerformanceOff.setBounds(0, 0, drwPerformanceOff.getMinimumWidth(), drwPerformanceOff.getMinimumHeight());
drwWeightManOn.setBounds(0, 0, drwWeightManOn.getMinimumWidth(), drwWeightManOn.getMinimumHeight());
drwWeightManOff.setBounds(0, 0, drwWeightManOff.getMinimumWidth(), drwWeightManOff.getMinimumHeight());
drwMedicalOn.setBounds(0, 0, drwMedicalOn.getMinimumWidth(), drwMedicalOn.getMinimumHeight());
drwMedicalOff.setBounds(0, 0, drwMedicalOff.getMinimumWidth(), drwMedicalOff.getMinimumHeight());
drwImmuneOn.setBounds(0, 0, drwImmuneOn.getMinimumWidth(), drwImmuneOn.getMinimumHeight());
drwImmuneOff.setBounds(0, 0, drwImmuneOff.getMinimumWidth(), drwImmuneOff.getMinimumHeight());
drwBreedingOn.setBounds(0, 0, drwBreedingOn.getMinimumWidth(), drwBreedingOn.getMinimumHeight());
drwBreedingOff.setBounds(0, 0, drwBreedingOff.getMinimumWidth(), drwBreedingOff.getMinimumHeight());
//初始化标题
// viewModel.initToolbar(getTitleName());
//初始化Fragment
......@@ -98,9 +142,13 @@ public class MainActivity extends BaseActivity<ActivityMainBinding, MainVM> {
_basicsCollectFragment = BasicsCollectFragment.getInstance();
_performanceFragment = PerformanceFragment.getInstance();
_medicalRecordFragment = MedicalRecordFragment.getInstance();
_immunRecordFragment = ImmunRecordFragment.getInstance();
_breedingRecordFragment = BreedingRecordFragment.getInstance();
transaction.add(R.id.frameLayout, _basicsCollectFragment);
transaction.add(R.id.frameLayout, _performanceFragment);
transaction.add(R.id.frameLayout, _medicalRecordFragment);
transaction.add(R.id.frameLayout, _immunRecordFragment);
transaction.add(R.id.frameLayout, _breedingRecordFragment);
transaction.commit();
labelSwitching(Configs.mainPosition);
......@@ -111,36 +159,55 @@ public class MainActivity extends BaseActivity<ActivityMainBinding, MainVM> {
transaction = getSupportFragmentManager().beginTransaction();
transaction.hide(_basicsCollectFragment);
transaction.hide(_performanceFragment);
transaction.hide(_medicalRecordFragment);
transaction.hide(_immunRecordFragment);
transaction.hide(_breedingRecordFragment);
binding.tvTab0.setTextColor(getResources().getColor(R.color.color_font_non_focus));
binding.tvTab1.setTextColor(getResources().getColor(R.color.color_font_non_focus));
binding.tvTab2.setTextColor(getResources().getColor(R.color.color_font_non_focus));
binding.tvTab3.setTextColor(getResources().getColor(R.color.color_font_non_focus));
binding.tvTab4.setTextColor(getResources().getColor(R.color.color_font_non_focus));
binding.tvTab5.setTextColor(getResources().getColor(R.color.color_font_non_focus));
binding.tvTab0.setCompoundDrawables(null, drwCattleOff, null, null);
binding.tvTab1.setCompoundDrawables(null, drwPerformanceOff, null, null);
binding.tvTab2.setCompoundDrawables(null, drwWeightManOff, null, null);
binding.tvTab3.setCompoundDrawables(null, drwMedicalOff, null, null);
binding.tvTab4.setCompoundDrawables(null, drwImmuneOff, null, null);
binding.tvTab5.setCompoundDrawables(null, drwBreedingOff, null, null);
switch (position) {
case 0:
transaction.show(_basicsCollectFragment);
binding.tvTab0.setTextColor(getResources().getColor(R.color.colorPrimary));
binding.tvTab0.setTextColor(getResources().getColor(R.color.white));
binding.tvTab0.setCompoundDrawables(null, drwCattleOn, null, null);
break;
case 1:
Bundle args = new Bundle();
args.putString("id", "-1");
transaction.show(_performanceFragment);
binding.tvTab1.setTextColor(getResources().getColor(R.color.colorPrimary));
binding.tvTab1.setTextColor(getResources().getColor(R.color.white));
binding.tvTab1.setCompoundDrawables(null, drwPerformanceOn, null, null);
break;
case 2:
// transaction.show(_performanceFragment);
// binding.tvTab1.setTextColor(getResources().getColor(R.color.colorPrimary));
// binding.tvTab2.setTextColor(getResources().getColor(R.color.white));
// binding.tvTab2.setCompoundDrawables(null, drwWeightManOn,null, null);
break;
case 3:
// transaction.show(_performanceFragment);
// binding.tvTab1.setTextColor(getResources().getColor(R.color.colorPrimary));
transaction.show(_medicalRecordFragment);
binding.tvTab3.setTextColor(getResources().getColor(R.color.white));
binding.tvTab3.setCompoundDrawables(null, drwMedicalOn, null, null);
break;
case 4:
// transaction.show(_performanceFragment);
// binding.tvTab1.setTextColor(getResources().getColor(R.color.colorPrimary));
transaction.show(_immunRecordFragment);
binding.tvTab4.setTextColor(getResources().getColor(R.color.white));
binding.tvTab4.setCompoundDrawables(null, drwImmuneOn, null, null);
break;
case 5:
transaction.show(_breedingRecordFragment);
binding.tvTab5.setTextColor(getResources().getColor(R.color.colorPrimary));
binding.tvTab5.setTextColor(getResources().getColor(R.color.white));
binding.tvTab5.setCompoundDrawables(null, drwBreedingOn, null, null);
break;
}
......@@ -171,7 +238,6 @@ public class MainActivity extends BaseActivity<ActivityMainBinding, MainVM> {
// })
// ;
new MaterialDialog.Builder(this).title("系统提示").content("是否退出程序?").positiveText("确定").negativeText("取消").onAny(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
......
......@@ -75,7 +75,7 @@ public class MainVM extends MainBarVM<Repository> {
});
//诊疗记录
public BindingCommand OnTreatmentRecordClickCommand = new BindingCommand(new BindingAction() {
public BindingCommand OnMedicalRecordClickCommand = new BindingCommand(new BindingAction() {
@Override
public void call() {
if(StringUtils.isEmpty(Configs.tempUnid)){
......
package com.phlx.anchorcollect.ui.setting;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProviders;
import com.afollestad.materialdialogs.DialogAction;
import com.afollestad.materialdialogs.MaterialDialog;
import com.phlx.anchorcollect.R;
import com.phlx.anchorcollect.data.VMFactory;
import com.phlx.anchorcollect.databinding.ActivitySyncBinding;
import com.phlx.anchorcollect.ui.base.BaseActivity;
import me.tatarka.bindingcollectionadapter2.BR;
public class SyncActivity extends BaseActivity<ActivitySyncBinding,SyncVM> {
@Override
public int initContentView(Bundle savedInstanceState) {
return R.layout.activity_sync;
}
@Override
public int initVariableId() {
return BR.viewModel;
}
@Override
public void initParam() {
super.initParam();
}
@Override
public SyncVM initViewModel() {
VMFactory factory = VMFactory.getInstance(getApplication());
return ViewModelProviders.of(this, factory).get(SyncVM.class);
}
@Override
public void initData() {
super.initData();
}
@Override
public void initViewObservable() {
super.initViewObservable();
viewModel.errorEvent.observe(this, new Observer<String>() {
@Override
public void onChanged(String s) {
showTip(s);
}
});
}
private void showTip(String content) {
new MaterialDialog.Builder(this).title("系统信息").content(content)
.cancelable(false).canceledOnTouchOutside(false)
.positiveText("退出").onPositive(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
if (which == DialogAction.POSITIVE) {
dialog.dismiss();
finish();
}
}
}).show();
}
}
......@@ -156,61 +156,70 @@ public class SplashVM extends MainBarVM<Repository> {
for (GenTable gt : genList) {
switch (gt.getBusinessName()) {
case "cattleresume":
/**
* zxgl_cattleresume 基础信息
* zxgl_performance 性能测定
* zxgl_weight_man 称重管理
* zxgl_medicalrecords 诊疗记录
* zxgl_immunebatch 免疫记录
* zxgl_cattlemating_master 配种记录主表
* zxgl_cattlemating_detaill 配种记子表
*/
switch (gt.getTableName()) {
case "zxgl_cattleresume":
QueryBuilder<GenTableColumn> builderDetaile0 =
DbUtil.getInstance().getQueryBuilder(GenTableColumn.class)
.where(GenTableColumnDao.Properties.TableId.eq(gt.getTableId())
, GenTableColumnDao.Properties.IsQuery.eq("1"))
.orderDesc(GenTableColumnDao.Properties.Sort);
.orderAsc(GenTableColumnDao.Properties.Sort);
Configs.cattleresume = DbUtil.getInstance().queryAll(GenTableColumn.class, builderDetaile0);
break;
case "performance":
case "zxgl_performance":
QueryBuilder<GenTableColumn> builderDetaile1 =
DbUtil.getInstance().getQueryBuilder(GenTableColumn.class)
.where(GenTableColumnDao.Properties.TableId.eq(gt.getTableId())
, GenTableColumnDao.Properties.IsQuery.eq("1"))
.orderDesc(GenTableColumnDao.Properties.Sort);
.orderAsc(GenTableColumnDao.Properties.Sort);
Configs.performance = DbUtil.getInstance().queryAll(GenTableColumn.class, builderDetaile1);
break;
case "weightMan":
case "zxgl_weight_man":
QueryBuilder<GenTableColumn> builderDetaile2 =
DbUtil.getInstance().getQueryBuilder(GenTableColumn.class)
.where(GenTableColumnDao.Properties.TableId.eq(gt.getTableId())
, GenTableColumnDao.Properties.IsQuery.eq("1"))
.orderDesc(GenTableColumnDao.Properties.Sort);
.orderAsc(GenTableColumnDao.Properties.Sort);
Configs.weightMan = DbUtil.getInstance().queryAll(GenTableColumn.class, builderDetaile2);
break;
case "medicalrecords":
case "zxgl_medicalrecords":
QueryBuilder<GenTableColumn> builderDetaile3 =
DbUtil.getInstance().getQueryBuilder(GenTableColumn.class)
.where(GenTableColumnDao.Properties.TableId.eq(gt.getTableId())
, GenTableColumnDao.Properties.IsQuery.eq("1"))
.orderDesc(GenTableColumnDao.Properties.Sort);
.orderAsc(GenTableColumnDao.Properties.Sort);
Configs.medicalrecords = DbUtil.getInstance().queryAll(GenTableColumn.class, builderDetaile3);
break;
case "immunebatch":
case "zxgl_immunebatch":
QueryBuilder<GenTableColumn> builderDetaile4 =
DbUtil.getInstance().getQueryBuilder(GenTableColumn.class)
.where(GenTableColumnDao.Properties.TableId.eq(gt.getTableId())
, GenTableColumnDao.Properties.IsQuery.eq("1"))
.orderDesc(GenTableColumnDao.Properties.Sort);
.orderAsc(GenTableColumnDao.Properties.Sort);
Configs.immunebatch = DbUtil.getInstance().queryAll(GenTableColumn.class, builderDetaile4);
break;
case "cattlematingMaster":
case "zxgl_cattlemating_master":
QueryBuilder<GenTableColumn> builderDetaile5 =
DbUtil.getInstance().getQueryBuilder(GenTableColumn.class)
.where(GenTableColumnDao.Properties.TableId.eq(gt.getTableId())
, GenTableColumnDao.Properties.IsQuery.eq("1"))
.orderDesc(GenTableColumnDao.Properties.Sort);
.orderAsc(GenTableColumnDao.Properties.Sort);
Configs.cattlematingMaster = DbUtil.getInstance().queryAll(GenTableColumn.class, builderDetaile5);
break;
case "cattlematingDetaill":
case "zxgl_cattlemating_detaill":
QueryBuilder<GenTableColumn> builderDetaile6 =
DbUtil.getInstance().getQueryBuilder(GenTableColumn.class)
.where(GenTableColumnDao.Properties.TableId.eq(gt.getTableId())
, GenTableColumnDao.Properties.IsQuery.eq("1"))
.orderDesc(GenTableColumnDao.Properties.Sort);
.orderAsc(GenTableColumnDao.Properties.Sort);
Configs.cattlematingDetaill = DbUtil.getInstance().queryAll(GenTableColumn.class, builderDetaile6);
break;
}
......
......@@ -18,7 +18,8 @@
android:layout_width="50dp"
android:layout_height="@dimen/dp_0"
android:orientation="vertical"
android:background="@color/white"
android:paddingTop="20dp"
android:background="@color/colorPrimary"
binding:layout_constraintBottom_toBottomOf="parent"
binding:layout_constraintLeft_toLeftOf="parent"
binding:layout_constraintTop_toTopOf="parent">
......@@ -30,9 +31,10 @@
android:layout_weight="1"
android:ems="1"
android:gravity="center"
android:drawablePadding="-10dp"
android:text="@string/base_archives"
android:textColor="@color/colorPrimary"
android:textSize="@dimen/sp_10"
android:textColor="@color/color_font_non_focus"
android:textSize="@dimen/sp_8"
binding:onClickCommand="@{viewModel.OnBaseArchivesClickCommand}"
/>
......@@ -43,9 +45,10 @@
android:layout_weight="1"
android:ems="1"
android:gravity="center"
android:drawablePadding="-10dp"
android:text="@string/sign_measure"
android:textColor="@color/color_font_non_focus"
android:textSize="@dimen/sp_10"
android:textSize="@dimen/sp_8"
binding:onClickCommand="@{viewModel.OnSignMeasureClickCommand}"
/>
......@@ -56,9 +59,10 @@
android:layout_weight="1"
android:ems="1"
android:gravity="center"
android:drawablePadding="-10dp"
android:text="@string/weighting_manage"
android:textColor="@color/color_font_non_focus"
android:textSize="@dimen/sp_10"
android:textSize="@dimen/sp_8"
binding:onClickCommand="@{viewModel.OnWeightingManageClickCommand}"
/>
......@@ -69,10 +73,11 @@
android:layout_weight="1"
android:ems="1"
android:gravity="center"
android:drawablePadding="-10dp"
android:text="@string/treatment_record"
android:textColor="@color/color_font_non_focus"
android:textSize="@dimen/sp_10"
binding:onClickCommand="@{viewModel.OnTreatmentRecordClickCommand}"
android:textSize="@dimen/sp_8"
binding:onClickCommand="@{viewModel.OnMedicalRecordClickCommand}"
/>
<androidx.appcompat.widget.AppCompatTextView
......@@ -83,8 +88,9 @@
android:ems="1"
android:gravity="center"
android:text="@string/immun_record"
android:drawablePadding="-10dp"
android:textColor="@color/color_font_non_focus"
android:textSize="@dimen/sp_10"
android:textSize="@dimen/sp_8"
binding:onClickCommand="@{viewModel.OnImmunRecordClickCommand}"
/>
......@@ -95,9 +101,10 @@
android:layout_weight="1"
android:ems="1"
android:gravity="center"
android:drawablePadding="-10dp"
android:text="@string/breeding_record"
android:textColor="@color/color_font_non_focus"
android:textSize="@dimen/sp_10"
android:textSize="@dimen/sp_8"
binding:onClickCommand="@{viewModel.OnBreedingRecordClickCommand}"
/>
</LinearLayout>
......
This diff is collapsed.
......@@ -78,7 +78,7 @@
android:textSize="@dimen/sp_12" />
<com.lingber.mycontrol.datagridview.DataGridView
android:id="@+id/dgv_treatment_record"
android:id="@+id/dgv_medical_record"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:dividerSize="1"
......
......@@ -325,11 +325,22 @@
android:id="@+id/iv_setting"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:src="@mipmap/ic_set"
binding:layout_constraintRight_toRightOf="parent"
binding:layout_constraintTop_toTopOf="parent"
binding:onClickCommand="@{viewModel.onSettingClick}" />
<ImageView
android:id="@+id/iv_sync"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:src="@mipmap/ic_set"
binding:layout_constraintRight_toLeftOf="@+id/iv_setting"
binding:layout_constraintTop_toTopOf="parent"
binding:onClickCommand="@{viewModel.onSyncClick}" />
<!--右侧表格区-->
<androidx.core.widget.NestedScrollView
android:id="@+id/nsv_right_content"
......
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/tools"
xmlns:binding="http://schemas.android.com/apk/res-auto"
app:ignore="NamespaceTypo">
<data>
<import type="me.tatarka.bindingcollectionadapter2.BindingRecyclerViewAdapter" />
<import type="me.goldze.mvvmhabit.binding.viewadapter.recyclerview.LayoutManagers" />
<import type="me.goldze.mvvmhabit.binding.viewadapter.recyclerview.LineManagers" />
<variable
name="viewModel"
type="com.phlx.anchorcollect.ui.fragment.vm.ImmunRecordVM" />
<variable
name="spinnerAdapter"
type="android.widget.ArrayAdapter" />
<variable
name="adapter"
type="BindingRecyclerViewAdapter" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/color_bg"
android:padding="5dp">
<TextView
android:id="@+id/tv_rfid_text"
android:layout_width="0dp"
android:layout_height="@dimen/dp_32"
android:background="@drawable/bg_radius_stroke_white_5"
android:gravity="center"
android:hint="未扫到电子耳标"
android:text=""
android:textColor="@color/white"
binding:layout_constraintLeft_toLeftOf="parent"
binding:layout_constraintRight_toRightOf="parent"
binding:layout_constraintTop_toTopOf="parent" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_collect"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginTop="5dp"
android:layout_marginLeft="-5dp"
binding:adapter="@{adapter}"
binding:itemBinding="@{viewModel.itemBinding}"
binding:items="@{viewModel.observableList}"
binding:layoutManager="@{LayoutManagers.grid(5)}"
binding:layout_constraintBottom_toTopOf="@+id/card_99"
binding:layout_constraintLeft_toLeftOf="parent"
binding:layout_constraintRight_toRightOf="parent"
binding:layout_constraintTop_toBottomOf="@+id/tv_rfid_text" />
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/card_99"
android:layout_width="0dp"
android:layout_height="37dp"
android:background="@drawable/bg_radius_white_5"
android:onClick="@{() ->viewModel.click(99)}"
android:orientation="vertical"
android:padding="5dp"
binding:layout_constraintLeft_toLeftOf="parent"
binding:layout_constraintRight_toLeftOf="@+id/card_save"
binding:layout_constraintBottom_toBottomOf="parent"
>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_title_16"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="备注"
android:textColor="@color/colorPrimary"
android:textSize="@dimen/sp_8" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="1dp"
android:text="@{viewModel.remarkParamEntity.showName}"
android:textColor="@color/black"
android:textSize="@dimen/sp_8" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/card_save"
android:layout_width="100dp"
android:layout_height="37dp"
android:layout_marginLeft="5dp"
android:background="@drawable/bg_radius_white_5"
binding:layout_constraintBottom_toBottomOf="parent"
binding:layout_constraintRight_toRightOf="parent"
>
<!-- binding:onClickCommand="@{viewModel.onCardSaveClick}"-->
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_button_orange_gradient"
android:gravity="center"
android:text="保存"
android:textColor="@color/white"
android:textSize="@dimen/sp_12"
binding:onClickCommand="@{viewModel.onSaveClick}"
/>
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
\ No newline at end of file
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/tools"
xmlns:binding="http://schemas.android.com/apk/res-auto"
app:ignore="NamespaceTypo">
<data>
<import type="me.tatarka.bindingcollectionadapter2.BindingRecyclerViewAdapter" />
<import type="me.goldze.mvvmhabit.binding.viewadapter.recyclerview.LayoutManagers" />
<import type="me.goldze.mvvmhabit.binding.viewadapter.recyclerview.LineManagers" />
<variable
name="viewModel"
type="com.phlx.anchorcollect.ui.fragment.vm.MedicalRecordVM" />
<variable
name="spinnerAdapter"
type="android.widget.ArrayAdapter" />
<variable
name="adapter"
type="BindingRecyclerViewAdapter" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/color_bg"
android:padding="5dp">
<TextView
android:id="@+id/tv_rfid_text"
android:layout_width="0dp"
android:layout_height="@dimen/dp_32"
android:background="@drawable/bg_radius_stroke_white_5"
android:gravity="center"
android:hint="未扫到电子耳标"
android:text=""
android:textColor="@color/white"
binding:layout_constraintLeft_toLeftOf="parent"
binding:layout_constraintRight_toRightOf="parent"
binding:layout_constraintTop_toTopOf="parent" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_collect"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginTop="5dp"
android:layout_marginLeft="-5dp"
binding:adapter="@{adapter}"
binding:itemBinding="@{viewModel.itemBinding}"
binding:items="@{viewModel.observableList}"
binding:layoutManager="@{LayoutManagers.grid(5)}"
binding:layout_constraintBottom_toTopOf="@+id/card_99"
binding:layout_constraintLeft_toLeftOf="parent"
binding:layout_constraintRight_toRightOf="parent"
binding:layout_constraintTop_toBottomOf="@+id/tv_rfid_text" />
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/card_99"
android:layout_width="0dp"
android:layout_height="37dp"
android:background="@drawable/bg_radius_white_5"
android:onClick="@{() ->viewModel.click(99)}"
android:orientation="vertical"
android:padding="5dp"
binding:layout_constraintLeft_toLeftOf="parent"
binding:layout_constraintRight_toLeftOf="@+id/card_save"
binding:layout_constraintBottom_toBottomOf="parent"
>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_title_16"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="备注"
android:textColor="@color/colorPrimary"
android:textSize="@dimen/sp_8" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="1dp"
android:text="@{viewModel.remarkParamEntity.showName}"
android:textColor="@color/black"
android:textSize="@dimen/sp_8" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/card_save"
android:layout_width="100dp"
android:layout_height="37dp"
android:layout_marginLeft="5dp"
android:background="@drawable/bg_radius_white_5"
binding:layout_constraintBottom_toBottomOf="parent"
binding:layout_constraintRight_toRightOf="parent"
>
<!-- binding:onClickCommand="@{viewModel.onCardSaveClick}"-->
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_button_orange_gradient"
android:gravity="center"
android:text="保存"
android:textColor="@color/white"
android:textSize="@dimen/sp_12"
binding:onClickCommand="@{viewModel.onSaveClick}"
/>
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
\ No newline at end of file
......@@ -8,7 +8,7 @@
<!--主背景色-->
<color name="color_bg">#ecf0ff</color>
<color name="color_font_non_focus">#999999</color>
<color name="color_font_non_focus">#9DB0FF</color>
<color name="color_font_null">#cccccc</color>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment