GoodOrBadAddDetailFragment.java 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579
  1. package com.uas.hystorage.fragment;
  2. import android.annotation.SuppressLint;
  3. import android.app.Activity;
  4. import android.content.DialogInterface;
  5. import android.content.Intent;
  6. import android.graphics.Color;
  7. import android.graphics.drawable.BitmapDrawable;
  8. import android.os.Bundle;
  9. import android.support.v4.app.Fragment;
  10. import android.support.v7.app.AlertDialog;
  11. import android.view.KeyEvent;
  12. import android.view.View;
  13. import android.widget.Button;
  14. import android.widget.ImageView;
  15. import android.widget.LinearLayout;
  16. import android.widget.PopupWindow;
  17. import android.widget.TextView;
  18. import com.alibaba.fastjson.JSONObject;
  19. import com.android.volley.Request;
  20. import com.android.volley.toolbox.StringRequest;
  21. import com.uas.hystorage.R;
  22. import com.uas.hystorage.activity.FunctionActivity;
  23. import com.uas.hystorage.bean.Addbean;
  24. import com.uas.hystorage.bean.CloseListbean;
  25. import com.uas.hystorage.bean.StorageInBillBean;
  26. import com.uas.hystorage.global.GloableParams;
  27. import com.uas.hystorage.listener.MyEditorActionListener;
  28. import com.uas.hystorage.tools.SharedPreUtil;
  29. import com.uas.hystorage.util.CameraUtil;
  30. import com.uas.hystorage.util.CommonUtil;
  31. import com.uas.hystorage.util.FastjsonUtil;
  32. import com.uas.hystorage.util.FragmentUtils;
  33. import com.uas.hystorage.util.HttpCallback;
  34. import com.uas.hystorage.util.HttpParams;
  35. import com.uas.hystorage.util.VolleyRequest;
  36. import com.uas.hystorage.util.VollyRequest;
  37. import com.uas.hystorage.view.ClearableEditText;
  38. import com.uuzuche.lib_zxing.activity.CaptureActivity;
  39. import com.uuzuche.lib_zxing.activity.CodeUtils;
  40. import org.greenrobot.eventbus.EventBus;
  41. import org.greenrobot.eventbus.Subscribe;
  42. import java.util.Objects;
  43. /**
  44. * @author RaoMeng
  45. * @describe 入库条码采集页面
  46. * @date 2018/6/20 16:20
  47. */
  48. public class GoodOrBadAddDetailFragment extends BaseFragment implements View.OnClickListener {
  49. private static final int FLAG_SPLITE_PLATE = 25;
  50. private static final int SCAN_BARCODE_CODE = 121;
  51. private static final int FLAG_CONFIRM_POST = 0x09;
  52. private StringRequest mStringRequest;
  53. private PopupWindow mMenuPopupWindow;
  54. private String pi_id;
  55. private int mWhichPage;
  56. private ClearableEditText storage_in_add_detail_barcode_et;
  57. private Button goodin_add_detail_commit_btn;
  58. private TextView storage_in_add_detail_result_tv;
  59. private LinearLayout line_gongvisbie;
  60. private TextView tv_batchnumber;
  61. private TextView tv_objectid;
  62. private TextView tv_workorder;
  63. private TextView tv_qty;
  64. private TextView tv_accumulativetotal;
  65. private String pi_inoutno;
  66. private String pi_whcode;
  67. private TextView tv_inoutno;
  68. private TextView tv_cangku;
  69. private String pi_whname;
  70. private Button mMoreBtn;
  71. private ImageView storage_in_add_detail_scan_iv;
  72. private OnStorageInAddListener mOnStorageInAddListener;
  73. private String pi_class;
  74. private String pi_type;
  75. @Override
  76. public void onDestroyView() {
  77. super.onDestroyView();
  78. ((FunctionActivity) getActivity()).setMoreBtnVisible(false);
  79. ((FunctionActivity) getActivity()).setScanIvVisible(false);
  80. ((FunctionActivity) getActivity()).setListIconIvVisible(false);
  81. }
  82. @Override
  83. public void onDestroy() {
  84. super.onDestroy();
  85. EventBus.getDefault().unregister(this);
  86. }
  87. @Subscribe
  88. public void onMessageEvent(CloseListbean evensst) {
  89. getActivity().getSupportFragmentManager().popBackStack();
  90. }
  91. @Override
  92. protected int getLayout() {
  93. return R.layout.goodbad_in_add_detail;
  94. }
  95. @Override
  96. protected void initViews() {
  97. ((FunctionActivity) getActivity()).setMoreBtnVisible(true);
  98. ((FunctionActivity) getActivity()).setListIconIvVisible(false);
  99. storage_in_add_detail_barcode_et = mActivity.findViewById(R.id.storage_in_add_detail_barcode_et);
  100. storage_in_add_detail_scan_iv = mActivity.findViewById(R.id.storage_in_add_detail_scan_iv);
  101. goodin_add_detail_commit_btn = mActivity.findViewById(R.id.goodin_add_detail_commit_btn);
  102. storage_in_add_detail_result_tv = mActivity.findViewById(R.id.storage_in_add_detail_result_tv);
  103. tv_inoutno = mActivity.findViewById(R.id.tv_inoutno);
  104. tv_cangku = mActivity.findViewById(R.id.tv_cangku);
  105. line_gongvisbie = mActivity.findViewById(R.id.line_gongvisbie);
  106. tv_batchnumber = mActivity.findViewById(R.id.tv_batchnumber);
  107. tv_objectid = mActivity.findViewById(R.id.tv_objectid);
  108. tv_workorder = mActivity.findViewById(R.id.tv_workorder);
  109. tv_qty = mActivity.findViewById(R.id.tv_qty);
  110. tv_accumulativetotal = mActivity.findViewById(R.id.tv_accumulativetotal);
  111. mMoreBtn = (Button)mActivity.findViewById(R.id.btn_actionbar_more);
  112. storage_in_add_detail_barcode_et.requestFocus();
  113. Bundle arguments = getArguments();
  114. if (arguments != null) {
  115. pi_inoutno = arguments.getString("pi_inoutno");
  116. pi_whcode = arguments.getString("pi_whcode");
  117. pi_id = arguments.getString("pi_id");
  118. pi_whname = arguments.getString("pi_whname");
  119. pi_class = arguments.getString("pi_class");
  120. }
  121. pi_type = SharedPreUtil.getString(mActivity, "pi_type", null);
  122. FunctionActivity.setTitle("入库采集("+pi_type+")");
  123. tv_inoutno.setText(pi_inoutno);
  124. tv_cangku.setText(pi_whname);
  125. EventBus.getDefault().register(this);
  126. }
  127. public void setOnStorageInAddListener(OnStorageInAddListener onStorageInAddListener) {
  128. mOnStorageInAddListener = onStorageInAddListener;
  129. }
  130. @Override
  131. protected void initEvents() {
  132. mMoreBtn.setOnClickListener(this);
  133. storage_in_add_detail_scan_iv.setOnClickListener(this);
  134. goodin_add_detail_commit_btn.setOnClickListener(new View.OnClickListener() {
  135. @Override
  136. public void onClick(View v) {
  137. getNewProdinout();
  138. }
  139. });
  140. CommonUtil.setEditorActionListener(storage_in_add_detail_barcode_et, new MyEditorActionListener() {
  141. @Override
  142. public void MyEditorAction(String text, int actionId, KeyEvent event) {
  143. getBarcodeInfo(text);
  144. }
  145. });
  146. }
  147. private void getBarcodeInfo(String text) {
  148. progressDialog.show();
  149. VollyRequest.getInstance().stringRequest(mStringRequest,
  150. new HttpParams.Builder()
  151. .url(GloableParams.ADDRESS_PDAIO_IN_GETBARCODEINFO)
  152. .method(Request.Method.GET)
  153. .tag(TAG + "getMaCode")
  154. .flag(0)
  155. .addParam("piid", pi_id)//必填单据类型
  156. .addParam("lotno",text)//必填 仓库
  157. .build(), new HttpCallback() {
  158. @SuppressLint("SetTextI18n")
  159. @Override
  160. public void onSuccess(int flag, Object o) throws Exception {
  161. progressDialog.dismiss();
  162. Boolean isSuccess = FastjsonUtil.getBoolean(o.toString(),"success");
  163. if (isSuccess){
  164. JSONObject dataObject = FastjsonUtil.getJSONObject(o.toString(),"data");
  165. if (dataObject == null){
  166. }else {
  167. storage_in_add_detail_result_tv.setVisibility(View.VISIBLE);
  168. line_gongvisbie.setVisibility(View.VISIBLE);
  169. storage_in_add_detail_result_tv.setTextColor(Color.BLUE);
  170. storage_in_add_detail_result_tv.setText("采集成功!");
  171. String bi_barcode = dataObject.getString("BI_BARCODE") == null ? "" : dataObject.getString("BI_BARCODE");
  172. String bi_prodcode = dataObject.getString("bi_prodcode") == null ? "" : dataObject.getString("bi_prodcode");
  173. String pr_detail = dataObject.getString("PR_DETAIL") == null ? "" : dataObject.getString("PR_DETAIL");
  174. String pr_spec = dataObject.getString("PR_SPEC") == null ? "" : dataObject.getString("PR_SPEC");
  175. String bi_ordercode = dataObject.getString("BI_ORDERCODE") == null ? "" : dataObject.getString("BI_ORDERCODE");
  176. String bi_inqty = dataObject.getString("BI_INQTY") == null ? "" : dataObject.getString("BI_INQTY");
  177. String sumqty = dataObject.getString("SUMQTY") == null ? "" : dataObject.getString("SUMQTY");
  178. tv_batchnumber.setText(bi_barcode);
  179. tv_objectid.setText(bi_prodcode+" "+pr_detail+" "+pr_spec);
  180. tv_workorder.setText(bi_ordercode);
  181. tv_qty.setText(bi_inqty);
  182. tv_accumulativetotal.setText(sumqty);
  183. storage_in_add_detail_barcode_et.setText("");
  184. storage_in_add_detail_barcode_et.requestFocus();
  185. }
  186. }
  187. }
  188. @SuppressLint("SetTextI18n")
  189. @Override
  190. public void onFail(int flag, String failStr) throws Exception {
  191. progressDialog.dismiss();
  192. storage_in_add_detail_result_tv.setVisibility(View.VISIBLE);
  193. line_gongvisbie.setVisibility(View.VISIBLE);
  194. storage_in_add_detail_result_tv.setTextColor(Color.RED);
  195. storage_in_add_detail_result_tv.setText("采集失败!"
  196. +"\n生产批号:"+storage_in_add_detail_barcode_et.getText().toString().trim()
  197. +"\n失败原因"+failStr);
  198. // CommonUtil.toastNoRepeat(mActivity, failStr);
  199. line_gongvisbie.setVisibility(View.GONE);
  200. storage_in_add_detail_barcode_et.setText("");
  201. storage_in_add_detail_barcode_et.requestFocus();
  202. }
  203. });
  204. }
  205. /**
  206. * 提交
  207. */
  208. private void getNewProdinout() {
  209. if (pi_id.isEmpty()){
  210. CommonUtil.toastNoRepeat(mActivity, "单据ID不可为空");
  211. return;
  212. }
  213. progressDialog.show();
  214. VollyRequest.getInstance().stringRequest(mStringRequest,
  215. new HttpParams.Builder()
  216. .url(GloableParams.ADDRESS_PDAIO_IN_NEWPRODIODETAIL)
  217. .method(Request.Method.POST)
  218. .tag(TAG + "getMaCode")
  219. .flag(0)
  220. .addParam("piid",pi_id)//必填单据ID
  221. .build(), new HttpCallback() {
  222. @Override
  223. public void onSuccess(int flag, Object o) throws Exception {
  224. progressDialog.dismiss();
  225. Boolean isSuccess = FastjsonUtil.getBoolean(o.toString(),"success");
  226. if (isSuccess){
  227. CommonUtil.toastNoRepeat(mActivity, "单据提交成功");
  228. }
  229. }
  230. @Override
  231. public void onFail(int flag, String failStr) throws Exception {
  232. progressDialog.dismiss();
  233. CommonUtil.toastNoRepeat(mActivity, failStr);
  234. }
  235. });
  236. }
  237. @Override
  238. protected void initDatas() {
  239. }
  240. @SuppressLint("NonConstantResourceId")
  241. @Override
  242. public void onClick(View view) {
  243. switch (view.getId()) {
  244. case R.id.storage_in_add_detail_scan_iv:
  245. if (CameraUtil.hasCamera()) {
  246. if (root.findFocus() != null) {
  247. Intent intent = new Intent();
  248. intent.setClass(mActivity, CaptureActivity.class);
  249. startActivityForResult(intent, SCAN_BARCODE_CODE);
  250. } else {
  251. CommonUtil.toastNoRepeat(mActivity, "请选择您要操作的输入框");
  252. }
  253. } else {
  254. CommonUtil.toastNoRepeat(mActivity, getString(R.string.no_camera_detected));
  255. }
  256. break;
  257. case R.id.btn_actionbar_more:
  258. showMoreMenu();
  259. break;
  260. case R.id.pop_storage_in_add_menu_1:
  261. closeMenuPopupWindow();
  262. new AlertDialog.Builder(mActivity)
  263. .setMessage("确认将单据过账?")
  264. .setNegativeButton(R.string.cancel, null)
  265. .setPositiveButton(R.string.confirm, new DialogInterface.OnClickListener() {
  266. @Override
  267. public void onClick(DialogInterface dialogInterface, int i) {
  268. dialogInterface.dismiss();
  269. progressDialog.show();
  270. VollyRequest.getInstance().stringRequest(mStringRequest,
  271. new HttpParams.Builder()
  272. .url(GloableParams.ADDRESS_PDAIO_CONFIRMPOST)
  273. .method(Request.Method.POST)
  274. .tag(TAG + "getMaCode")
  275. .flag(0)
  276. .addParam("piid", pi_id)//必填单据ID
  277. .build(), new HttpCallback() {
  278. @Override
  279. public void onSuccess(int flag, Object o) throws Exception {
  280. progressDialog.dismiss();
  281. Boolean isSuccess = FastjsonUtil.getBoolean(o.toString(),"success");
  282. if (isSuccess){
  283. CommonUtil.toastNoRepeat(mActivity, "单据过账成功");
  284. }
  285. }
  286. @Override
  287. public void onFail(int flag, String failStr) throws Exception {
  288. progressDialog.dismiss();
  289. CommonUtil.toastNoRepeat(mActivity, "生产批次号异常"+failStr);
  290. tv_batchnumber.setText("");
  291. tv_objectid.setText("");
  292. tv_workorder.setText("");
  293. tv_qty.setText("");
  294. tv_accumulativetotal.setText("");
  295. }
  296. });
  297. }
  298. }).create().show();
  299. break;
  300. case R.id.pop_storage_in_add_menu_2:
  301. closeMenuPopupWindow();
  302. ViewPagerFragment storageDetailListFragment = new ViewPagerFragment();
  303. // Bundle arguments = new Bundle();
  304. // arguments.putString("pi_id", pi_id);
  305. // arguments.putString("pi_class", pi_class);
  306. // arguments.putString("whichPage1", "InFinish");
  307. SharedPreUtil.saveString(mActivity,"pi_id",pi_id);
  308. SharedPreUtil.saveString(mActivity,"pi_class",pi_class);
  309. // storageDetailListFragment.setArguments(arguments);
  310. FragmentUtils.switchFragment(GoodOrBadAddDetailFragment.this, storageDetailListFragment);
  311. break;
  312. case R.id.pop_storage_in_add_menu_3:
  313. break;
  314. case R.id.pop_storage_in_add_menu_4:
  315. closeMenuPopupWindow();
  316. new AlertDialog.Builder(mActivity)
  317. .setMessage("确认反提交?")
  318. .setNegativeButton(R.string.cancel, null)
  319. .setPositiveButton(R.string.confirm, new DialogInterface.OnClickListener() {
  320. @Override
  321. public void onClick(DialogInterface dialogInterface, int i) {
  322. dialogInterface.dismiss();
  323. VollyRequest.getInstance().stringRequest(mStringRequest,
  324. new HttpParams.Builder()
  325. .url(GloableParams.ADDRESS_PDAIO_IN_REVOKEBARCODE)
  326. .method(Request.Method.POST)
  327. .tag(TAG + "getMaCode")
  328. .flag(0)
  329. .addParam("piid", pi_id)//必填单据ID
  330. .build(), new HttpCallback() {
  331. @Override
  332. public void onSuccess(int flag, Object o) throws Exception {
  333. progressDialog.dismiss();
  334. Boolean isSuccess = FastjsonUtil.getBoolean(o.toString(),"success");
  335. if (isSuccess){
  336. CommonUtil.toastNoRepeat(mActivity, "反提交成功");
  337. }
  338. }
  339. @Override
  340. public void onFail(int flag, String failStr) throws Exception {
  341. progressDialog.dismiss();
  342. CommonUtil.toastNoRepeat(mActivity, "生产批次号异常"+failStr);
  343. }
  344. });
  345. }
  346. }).create().show();
  347. break;
  348. case R.id.pop_storage_in_add_menu_5:
  349. closeMenuPopupWindow();
  350. new AlertDialog.Builder(mActivity)
  351. .setMessage("确认删除此单据?")
  352. .setNegativeButton(R.string.cancel, null)
  353. .setPositiveButton(R.string.confirm, new DialogInterface.OnClickListener() {
  354. @Override
  355. public void onClick(DialogInterface dialogInterface, int i) {
  356. dialogInterface.dismiss();
  357. VollyRequest.getInstance().stringRequest(mStringRequest,
  358. new HttpParams.Builder()
  359. .url(GloableParams.ADDRESS_PDAIO_IN_DELETEINOUTANDDETAIL)
  360. .method(Request.Method.POST)
  361. .tag(TAG + "getMaCode")
  362. .flag(0)
  363. .addParam("piid", pi_id)//必填单据ID
  364. .build(), new HttpCallback() {
  365. @Override
  366. public void onSuccess(int flag, Object o) throws Exception {
  367. progressDialog.dismiss();
  368. Boolean isSuccess = FastjsonUtil.getBoolean(o.toString(),"success");
  369. if (isSuccess){
  370. CommonUtil.toastNoRepeat(mActivity, "删除成功");
  371. getActivity().getSupportFragmentManager().popBackStack();
  372. }
  373. }
  374. @Override
  375. public void onFail(int flag, String failStr) throws Exception {
  376. progressDialog.dismiss();
  377. CommonUtil.toastNoRepeat(mActivity, "生产批次号异常"+failStr);
  378. }
  379. });
  380. }
  381. }).create().show();
  382. break;
  383. case R.id.pop_storage_in_add_menu_6:
  384. closeMenuPopupWindow();
  385. EventBus.getDefault().post(new Addbean("关闭页面"));
  386. GoodOrBadFragment mFragment = new GoodOrBadFragment();
  387. Bundle bundle = new Bundle();
  388. bundle.putString("pi_class",pi_class);
  389. mFragment.setArguments(bundle);
  390. FragmentUtils.switchFragment(this, mFragment);
  391. break;
  392. case R.id.pop_storage_in_add_menu_7:
  393. closeMenuPopupWindow();
  394. GoodBadAddListFragment storageInAddListFragment = new GoodBadAddListFragment();
  395. bundle = new Bundle();
  396. bundle.putString("pi_class", this.pi_class);
  397. bundle.putInt("whichPage", StorageInAddListFragment.PAGE_STORAGE_ADD);
  398. storageInAddListFragment.setArguments(bundle);
  399. FragmentUtils.switchFragment(this, storageInAddListFragment);
  400. storageInAddListFragment.setOnListSelectListener(new GoodBadAddListFragment.OnListSelectListener() {
  401. @Override
  402. public void onListSelect(StorageInBillBean storageInBillBean) {
  403. getActivity().getSupportFragmentManager().popBackStack();
  404. Fragment fragment = new GoodOrBadAddDetailFragment();
  405. Bundle bundle = new Bundle();
  406. bundle.putString("pi_class", storageInBillBean.getPI_CLASS());
  407. bundle.putString("pi_whcode", storageInBillBean.getPI_WHCODE());
  408. bundle.putString("pi_cardcode", storageInBillBean.getPI_CARDCODE());
  409. bundle.putString("pi_id", storageInBillBean.getPI_ID()+"");
  410. bundle.putString("pi_inoutno", storageInBillBean.getPI_INOUTNO());
  411. bundle.putString("pi_status", storageInBillBean.getPI_STATUS());
  412. bundle.putString("pi_invostatus", storageInBillBean.getPI_INVOSTATUS());
  413. bundle.putString("pi_whname", storageInBillBean.getPI_WHNAME());
  414. fragment.setArguments(bundle);
  415. FragmentUtils.switchFragment(GoodOrBadAddDetailFragment.this, fragment);
  416. }
  417. });
  418. // storageInAddListFragment.setOnListSelectListener(this);
  419. break;
  420. case R.id.storage_in_add_detail_supplier_icon:
  421. case R.id.storage_in_add_detail_split_plate_btn:
  422. //确认分板
  423. if (!CommonUtil.isRepeatClick()) {
  424. progressDialog.show();
  425. VolleyRequest.getInstance().stringRequest(mStringRequest,
  426. new HttpParams.Builder()
  427. .url(GloableParams.ADDRESS_PDAIO_IN_CONFIRMSPLITPLATE)
  428. .method(Request.Method.POST)
  429. .addParam("piid", pi_id + "")
  430. .flag(FLAG_SPLITE_PLATE)
  431. .tag(TAG + "spliteplate")
  432. .build(), new HttpCallback() {
  433. @Override
  434. public void onSuccess(int flag, Object o) throws Exception {
  435. }
  436. @Override
  437. public void onFail(int flag, String failStr) throws Exception {
  438. }
  439. });
  440. }
  441. break;
  442. default:
  443. break;
  444. }
  445. }
  446. @Override
  447. public void onActivityResult(int requestCode, int resultCode, Intent data) {
  448. super.onActivityResult(requestCode, resultCode, data);
  449. if (resultCode != Activity.RESULT_OK) {
  450. return;
  451. }
  452. if (requestCode == SCAN_BARCODE_CODE && data != null) {
  453. if (data.getExtras() != null) {
  454. String result = data.getExtras().getString(CodeUtils.RESULT_STRING);
  455. getBarcodeInfo(result);
  456. }
  457. }
  458. }
  459. /**
  460. * 展示扩展菜单
  461. */
  462. private void showMoreMenu() {
  463. View view = View.inflate(getActivity(), R.layout.pop_goodbadin_add_menu, null);
  464. Button addBtn = (Button) view.findViewById(R.id.pop_storage_in_add_menu_1);
  465. Button listBtn = (Button) view.findViewById(R.id.pop_storage_in_add_menu_2);
  466. Button deleteBtn = (Button) view.findViewById(R.id.pop_storage_in_add_menu_3);
  467. Button barcodeListBtn = (Button) view.findViewById(R.id.pop_storage_in_add_menu_4);
  468. Button quantityListBtn = (Button) view.findViewById(R.id.pop_storage_in_add_menu_5);
  469. Button revokeBtn = (Button) view.findViewById(R.id.pop_storage_in_add_menu_6);
  470. Button passBillBtn = (Button) view.findViewById(R.id.pop_storage_in_add_menu_7);
  471. addBtn.setOnClickListener(this);
  472. listBtn.setOnClickListener(this);
  473. deleteBtn.setOnClickListener(this);
  474. barcodeListBtn.setOnClickListener(this);
  475. quantityListBtn.setOnClickListener(this);
  476. revokeBtn.setOnClickListener(this);
  477. passBillBtn.setOnClickListener(this);
  478. mMenuPopupWindow = new PopupWindow(view, LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT, true);
  479. mMenuPopupWindow.setBackgroundDrawable(new BitmapDrawable());
  480. mMenuPopupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
  481. @Override
  482. public void onDismiss() {
  483. closeMenuPopupWindow();
  484. }
  485. });
  486. CommonUtil.setBackgroundAlpha(Objects.requireNonNull(getActivity()), 0.5f);
  487. mMenuPopupWindow.showAsDropDown(mMoreBtn);
  488. }
  489. private void closeMenuPopupWindow() {
  490. if (mMenuPopupWindow != null) {
  491. mMenuPopupWindow.dismiss();
  492. CommonUtil.setBackgroundAlpha(mActivity, 1f);
  493. }
  494. }
  495. @Override
  496. public void onHiddenChanged(boolean hidden) {
  497. super.onHiddenChanged(hidden);
  498. if (hidden) {
  499. ((FunctionActivity) getActivity()).setMoreBtnVisible(false);
  500. } else {
  501. FunctionActivity.setTitle("入库单列表("+pi_type+")");
  502. ((FunctionActivity) getActivity()).setMoreBtnVisible(true);
  503. ((FunctionActivity) getActivity()).setListIconIvVisible(false);
  504. }
  505. }
  506. @Override
  507. public boolean onKeyDown(int keyCode, KeyEvent event) {
  508. return false;
  509. }
  510. @Override
  511. public boolean onFragmentBackPressed() {
  512. // if (mWhichPage == PAGE_STORAGE_IN_ADD) {
  513. // if (mOnStorageInToListListener != null) {
  514. // mOnStorageInToListListener.onStorageInToList();
  515. // return true;
  516. // } else {
  517. // return false;
  518. // }
  519. // } else {
  520. return false;
  521. // }
  522. }
  523. public interface OnStorageInAddListener {
  524. void onStorageInAdd();
  525. }
  526. public interface OnStorageInToListListener {
  527. void onStorageInToList();
  528. }
  529. }