assistCheck.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. import {
  2. GET_ASSIST_SEARCH_LIST,
  3. GET_ASSIST_LABEL,
  4. DEL_ASSIST_LABEL,
  5. CHANGE_ASSIST_VAL,
  6. CHANGE_DATE,
  7. CLEAR_ASSIST_DATA,
  8. ADD_ASSIST_LABEL
  9. } from '../types/assistCheck';
  10. import store from '@store';
  11. const initSearchList = {
  12. list: [], //搜索的结果
  13. assistLabel: [], //点击的结果
  14. dataString: '', //结果拼接
  15. dataArr: [], //结果拼接
  16. assistVal: '',
  17. hospitalPac: [], //医院检索到的
  18. hospitalPacObj: {}, //组对应的明细(单选多选全选)
  19. selectGroupList: [], //选的组的明细可能有多个组
  20. allCheck: false, //全选反选
  21. checkedList: [], //选中的小项
  22. checkedListImport: [], //辅检导入
  23. allCheckLis:[],//所有导入数据
  24. msgObj:{
  25. name:'',
  26. patientNum:''
  27. }
  28. }
  29. import { getCurrentDate,getAllString} from '@utils/tools';
  30. export default (state = initSearchList, action) => {
  31. if (action.type == ADD_ASSIST_LABEL) {
  32. const newState = Object.assign({}, state);
  33. let tempArr = newState.assistLabel;
  34. for (let i = 0; i < action.lis.length; i++) {
  35. tempArr.push(action.lis[i]);
  36. }
  37. for (let i = 0; i < tempArr.length; i++) {
  38. if (i == action.idx) {
  39. tempArr[i].time = action.date
  40. newState.assistLabel = [...tempArr]
  41. }
  42. }
  43. newState.assistLabel = [...tempArr]
  44. let tmpObj = getAllString(newState.checkedListImport,newState.assistLabel)
  45. newState.dataString = tmpObj.str
  46. newState.dataArr = tmpObj.arr
  47. return newState;
  48. }
  49. if (action.type == GET_ASSIST_SEARCH_LIST) { //搜索结果
  50. const newState = Object.assign({}, state);
  51. newState.list = action.list
  52. newState.assistVal = action.val
  53. let tmpObj = getAllString(newState.checkedListImport,newState.assistLabel)
  54. newState.dataString = tmpObj.str
  55. newState.dataArr = tmpObj.arr
  56. return newState;
  57. }
  58. if (action.type == GET_ASSIST_LABEL) { //选中搜索结果
  59. const newState = Object.assign({}, state);
  60. let tempArrs = newState.assistLabel;
  61. let tempList = action.item
  62. tempList['time'] = getCurrentDate(1)
  63. tempArrs.push(tempList)
  64. let tmpObj = getAllString([],newState.assistLabel)
  65. newState.assistLabel = [...tempArrs]
  66. newState.dataArr = tmpObj.arr
  67. newState.dataString = tmpObj.str
  68. return newState;
  69. }
  70. if (action.type == DEL_ASSIST_LABEL) { //删除
  71. const newState = Object.assign({}, state);
  72. let tempArr = newState.assistLabel,tempArrs = [];
  73. let tmpImportLis = newState.checkedListImport;
  74. if(action.flg == 0){//删除辅检导入
  75. tmpImportLis.splice(action.idx,1)
  76. }else{
  77. for (let k = 0; k < tempArr.length; k++) {
  78. if (k != action.idx) {
  79. tempArrs.push(tempArr[k])
  80. }
  81. }
  82. newState.assistLabel = [...tempArrs]
  83. }
  84. let tmpObj = getAllString(newState.checkedListImport,newState.assistLabel)
  85. newState.dataArr = tmpObj.arr
  86. newState.dataString = tmpObj.str
  87. return newState;
  88. }
  89. if (action.type == CHANGE_ASSIST_VAL) { //改变输入值
  90. const newState = Object.assign({}, state);
  91. const tempArr = newState.assistLabel;
  92. for (let i = 0; i < tempArr.length; i++) {
  93. if (i == action.idx) {
  94. tempArr[i].value = action.val
  95. newState.assistLabel = [...tempArr]
  96. }
  97. }
  98. let tmpObj = getAllString(newState.checkedListImport,newState.assistLabel)
  99. newState.dataArr = tmpObj.arr
  100. newState.dataString = tmpObj.str
  101. return newState;
  102. }
  103. if (action.type == CHANGE_DATE) { //新增
  104. const newState = Object.assign({}, state);
  105. const tempArr = newState.assistLabel;
  106. for (let i = 0; i < tempArr.length; i++) {
  107. if (i == action.idx) {
  108. tempArr[i].time = action.date
  109. newState.assistLabel = [...tempArr]
  110. }
  111. }
  112. let tmpObj = getAllString(newState.checkedListImport,newState.assistLabel)
  113. newState.dataArr = tmpObj.arr
  114. newState.dataString = tmpObj.str
  115. return newState;
  116. }
  117. if (action.type == CLEAR_ASSIST_DATA) {
  118. const newState = Object.assign({}, state);
  119. newState.assistLabel = [...action.data];
  120. newState.dataString = action.saveText;
  121. newState.checkedListImport = action.checkedListImport;
  122. if(action.checkedListImport.length == 0&&action.data.length==0){
  123. newState.dataArr = [];
  124. }
  125. return newState;
  126. }
  127. return state;
  128. }