123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441 |
- import {
- SEARCH_LIST,
- SET_LABEL,
- FILL_ACTIVE,
- GET_EXCEL,
- CHECK_VALUE_IS_CHANGE,
- CLEAR_LABEL,
- RESET_LABEL_NEW,
- CLEAR_ALL_LABEL,
- DEL_PART_ITEM_NEW,
- DEL_EXCEL_LIST,
- ADD_LABEL,
- SET_CONTEXT,
- SET_TIP_ADVICE,
- DEL_ONE_PIC_NEW,
- SEARCH_TYPE_NEW,
- CHECK_OFF_ON_NEW,
- RENEWADVICEDATA,
- CLEARNEWADVICEDATA,
- SELECTJITYPE,
- HANDLESELECTSHOW,
- HANDLESUI,
- } from '../types/newAdvice';
- import store from '@store';
- import {getStringPlus,getPushLists,getPushList,getCurrentDate} from '@utils/tools.js';
- const initSearchList = {
- list: [], //搜索的结果
- labelList: [], //选中的结果,也是需要保存的数据
- labelListActive: [], //缓存值
- fillActive: {}, //选中的标签的填写单
- getExcelData: {}, //导入的数据
- inspectStrPlus:'',
- getExcelDataList: [], //导入的数据
- pushItem:[], //推送的数据
- pushItems:[], //右侧模板预览的数据
- inspectVal:'',
- context:{},
- shType:5,
- labelListBig:[],//大项
- labelListSmall:[],//小项
- labelListBlood:[],//输血
- drugOrder:[],//开单项
- operationOrder:[],//开单项
- transfusionOrder:[],
- activeIdx:'',
- operationName:{}
- }
- export default (state = initSearchList, action) => {
- if (action.type == HANDLESUI) {
- const newState = Object.assign({}, state);
- let tempArr = newState.labelListSmall;
- let tmpLis = action.item
- for(let i = 0;i < tempArr.length;i++){
- if(action.idx == i){
- tempArr[i].hasTreat = 1
- }else{
- tempArr[i].hasTreat = 0
- }
- }
- let obj = {
- "dateValue": tmpLis.dateValue,
- "name": tmpLis.name,
- "uniqueName": tmpLis.name
- }
- newState.labelListSmall = [...tempArr]
- newState.operationName = obj
- return newState;
- }
- if (action.type == HANDLESELECTSHOW) {
- const newState = Object.assign({}, state);
- let tempArr = newState.labelListBig;
- for(let i = 0;i < tempArr.length;i++){
- if(action.idx == i){
- let flg = tempArr[i].selectShow;
- tempArr[i].selectShow = action.sign==1?true:action.sign==0?false:!flg
- newState.activeIdx = action.idx
- }
- }
- newState.labelListBig = [...tempArr]
- return newState;
- }
- if (action.type == SELECTJITYPE) {
- const newState = Object.assign({}, state);
- let tempArr = newState.labelListBig;
- for(let i = 0;i < tempArr.length;i++){
- if(action.idx == i){
- tempArr[i].selectShow = false
- tempArr[i].form = action.part.name
- tempArr[i].selectVal = action.part.val
- }
- }
- newState.labelListBig = [...tempArr]
- return newState;
- }
- if (action.type == CHECK_OFF_ON_NEW) {
- const newState = Object.assign({}, state);
- let tempArr = newState.labelListBig;
- let tempArrs = newState.labelListSmall;
- let tmpArr = newState.labelListBlood;
- let tmpLis = action.item,tempBigOrder=[],tempSmallOrder=[],tempBloodOrder=[],tempTotalOrder=[];
- if(tmpLis&&tmpLis.flg == 5){//药品
- for(let i = 0;i < tempArr.length;i++){
- if(action.tip == i){
- let flg = tempArr[i].check;
- tempArr[i].check = !flg
- }
- }
- newState.labelListBig = [...tempArr]
- }else if(tmpLis&&tmpLis.flg == 6){//手术、操作
- for(let i = 0;i < tempArrs.length;i++){
- if(action.tip == i){
- let flg = tempArrs[i].check;
- tempArrs[i].check = !flg
- }
- }
- newState.labelListSmall = [...tempArrs]
- }else if(tmpLis&&tmpLis.flg == 8){//输血
- for(let i = 0;i < tmpArr.length;i++){
- if(action.tip == i){
- let flg = tmpArr[i].check;
- tmpArr[i].check = !flg
- }
- }
- newState.labelListBlood = [...tmpArr]
- }
- tempBigOrder = tempArr.filter((item)=>item.check)
- tempSmallOrder = tempArrs.filter((item)=>item.check)
- tempBloodOrder = tmpArr.filter((item)=>item.check)
- newState.drugOrder=[...tempBigOrder]
- newState.operationOrder=[...tempSmallOrder]
- newState.transfusionOrder=[...tempBloodOrder]
- return newState;
- }
- if (action.type == DEL_ONE_PIC_NEW) {
- const newState = Object.assign({}, state);
- let tempArr = newState.labelListBig;
- let tempArrs = newState.labelListSmall;
- let tmpArr = newState.labelListBlood;
- let tmpLis = action.item,tempBigOrder=[],tempSmallOrder=[],tempBloodOrder=[],tempTotalOrder=[],num=0;
- if(tmpLis&&tmpLis.flg == 5){
- tempArr = tempArr.filter((item,idx)=>{
- if(action.tip != idx){
- return item
- }
- })
- newState.labelListBig = [...tempArr]
- }else if(tmpLis&&tmpLis.flg == 6){
- tempArrs = tempArrs.filter((item,idx)=> {
- if(item['hasTreat'] = 1){
- newState.operationName = {}
- }
- if(action.tip != idx){
- return item
- }
- })
- for(let i = 0;i < tempArrs.length;i++){
- if(!tempArrs[i].hasTreat){
- ++num
- }
- }
- if(tempArrs.length>0&&num == tempArrs.length){
- tempArrs[0]['hasTreat'] = 1
- let obj = {
- "dateValue": tempArrs[0].dateValue,
- "name": tempArrs[0].name,
- "uniqueName": tempArrs[0].name
- }
- newState.operationName = obj
- }
- newState.labelListSmall = [...tempArrs]
- }else if(tmpLis&&tmpLis.flg == 8){
- tmpArr = tmpArr.filter((item,idx)=> {
- if(action.tip != idx){
- return item
- }
- })
- newState.labelListBlood = [...tmpArr]
- }
- tempBigOrder = tempArr.filter((item)=>item.check)
- tempSmallOrder = tempArrs.filter((item)=>item.check)
- tempBloodOrder = tmpArr.filter((item)=>item.check)
- tempTotalOrder=tempBigOrder.concat(tempSmallOrder)
- newState.drugOrder=[...tempBigOrder]
- newState.operationOrder=[...tempSmallOrder]
- newState.transfusionOrder=[...tempBloodOrder]
- return newState;
- }
- if (action.type == SET_TIP_ADVICE) {
- const newState = Object.assign({}, state);
- let tempArr = newState.labelListBig;
- let tempArrs = newState.labelListSmall;
- let tmpArr = newState.labelListBlood;
- let tmpLis = action.item
- if(tmpLis.flg == 5){//药品
- for(let i= 0;i < tempArr.length;i++){
- if(action.tip == i){
- if(action.sign == 1){//时间
- tempArr[i].time = action.value
- tempArr[i].dateValue = action.value
- }else{
- tempArr[i].value = action.value
- }
- }
- }
- newState.labelListBig = tempArr
- }else if(tmpLis.flg == 6){//手术
- for(let i= 0;i < tempArrs.length;i++){
- if(action.tip == i){
- tempArrs[i].time = action.value
- tempArrs[i].dateValue = action.value
- if(tmpLis.hasTreat){
- let obj = {
- "dateValue": action.value,
- "name": tmpLis.name,
- "uniqueName": tmpLis.name
- }
- newState.operationName = obj
- }
- }
- }
- newState.labelListSmall = tempArrs
- }if(tmpLis.flg == 8){//输血
- for(let i= 0;i < tmpArr.length;i++){
- if(action.tip == i){
- if(action.sign == 1){
- tmpArr[i].time = action.value
- tmpArr[i].dateValue = action.value
- }else{
- tmpArr[i].value = action.value
- }
- }
- }
- newState.labelListBlood = tmpArr
- }
- return newState;
- }
- if (action.type == SEARCH_TYPE_NEW) {
- const newState = Object.assign({}, state);
- newState.shType = action.value
- return newState;
- }
- if (action.type == RESET_LABEL_NEW) { //选中的结果重组
- const newState = Object.assign({}, state);
- const tempArr = newState.labelListBig;
- const tempArrs = newState.labelListSmall;
- const tmpArr = newState.labelListBlood;
- let tmpLis = action.list,num=0
- tmpLis['time'] = getCurrentDate(1)
- tmpLis['dateValue'] = getCurrentDate(1)
- if(tmpLis.flg == 5){
- tempArr.push(tmpLis)
- newState.labelListBig = [...tempArr]
- }else if(tmpLis.flg == 6){
- tempArrs.push(tmpLis)
- for(let i = 0;i < tempArrs.length;i++){
- if(!tempArrs[i].hasTreat){
- ++num
- }
- }
- if(num == tempArrs.length){
- tempArrs[0]['hasTreat'] = 1
- let obj = {
- "dateValue": tmpLis.dateValue,
- "name": tempArrs[0].name,
- "uniqueName": tempArrs[0].name
- }
- newState.operationName = obj
- }
- newState.labelListSmall = [...tempArrs]
- }else{
- tmpArr.push(tmpLis)
- newState.labelListBlood = [...tmpArr]
- }
- return newState;
- }
- if (action.type == SEARCH_LIST) {
- const newState = Object.assign({}, state);
- newState.list = action.list
- newState.inspectVal = action.val
- return newState;
- }
- if (action.type == SET_LABEL) { //选中的结果
- const newState = Object.assign({}, state);
- let tempArr = [];
- if(action.sign == 'common'){
- let tmpInspectList = store.getState().homePage.inspectList
- tempArr = tmpInspectList;
- }else{
- tempArr = newState.list
- }
- const tempArrs = newState.labelList;
- for (let i = 0; i < tempArr.length; i++) {
- if (i == action.idx) {
- tempArrs.push(tempArr[i])
- newState.labelList = [...tempArrs]
- }
- }
-
- let tmpArr = newState.getExcelDataList;
- let tmpArr2 = newState.labelList;
- newState.pushItems = getPushLists(tmpArr,tmpArr2);
- newState.inspectStrPlus = getStringPlus(newState.pushItems)
- return newState;
- }
- if (action.type == ADD_LABEL) { //右侧推送的检验检查项,点击开单放到左侧检验检查的位置上
- const newState = Object.assign({}, state);
- const tempArr = newState.labelList;
- for(let i = 0;i <action.lis.length;i++){
- tempArr.push(action.lis[i]);
- }
- newState.labelList = [...tempArr]
-
- let tmpArr = newState.getExcelDataList;
- let tmpArr2 = newState.labelList;
- newState.pushItems = getPushLists(tmpArr,tmpArr2);
- newState.inspectStrPlus = getStringPlus(newState.pushItems);
- return newState;
- }
- if (action.type == FILL_ACTIVE) { //点击标签放到暂存里
- const newState = Object.assign({}, state);
- const tempArr = newState.labelList;
- for (let i = 0; i < tempArr.length; i++) {
- if (i == action.idx) {
- newState.fillActive = tempArr[i]
- }
- }
- return newState;
- }
- if (action.type == CLEAR_LABEL) { //清空数据填写
- const newState = Object.assign({}, state);
- const tempArrs = newState.fillActive;
- const tempArr = newState.fillActive.details;
- let tmpArr = newState.getExcelDataList;
- let tmpArr2 = newState.labelList;
- for (let i = 0; i < tempArr.length; i++) {
- // tempArr[i].value = ''
- }
- tempArrs.show = false;
- newState.pushItem = getPushList(tmpArr,tmpArr2);
- newState.pushItems = getPushLists(tmpArr,tmpArr2);
- newState.inspectStrPlus = getStringPlus(newState.pushItems)
- return newState;
- }
- if (action.type == GET_EXCEL) { //导入数据
- const newState = Object.assign({}, state);
- let tmpArr = newState.getExcelDataList;
- let tmpArr2 = newState.labelList;
- newState.getExcelData = action.data
- tmpArr.push(action.data)
- newState.getExcelDataList = [...tmpArr]
- newState.pushItem = getPushList(tmpArr,tmpArr2);
- newState.pushItems = getPushLists(tmpArr,tmpArr2);
- newState.inspectStrPlus = getStringPlus(newState.pushItems)
- // getExcelString(action,newState,tmpArr,tmpArr2)
- return newState;
- }
- if(action.type == DEL_EXCEL_LIST){ //删除excel列表的某个数据
- const newState = Object.assign({}, state);
- const tempArr2 = newState.labelList;
- let tmpArr = newState.getExcelDataList;
- tmpArr.splice(action.idx,1);
- newState.getExcelDataList = [...tmpArr];
- let tempArr1 = newState.getExcelDataList;
- newState.pushItem = getPushList(tempArr1,tempArr2);
- newState.pushItems = getPushLists(tempArr1,tempArr2);
- newState.inspectStrPlus = getStringPlus(newState.pushItems)
- return newState;
- }
- if (action.type == CHECK_VALUE_IS_CHANGE) { //数据添加后显示与否
- const newState = Object.assign({}, state);
- // const tempArrAct = newState.fillActive;
- const tempArr = action.arr;
- tempArr.time = action.time;
- tempArr.dateValue = action.time;
- let tmpArr = newState.getExcelDataList;
- const tempArrs = newState.labelList;
- tempArrs[action.idx] = tempArr;
- newState.fillActive = tempArr;
- newState.labelList = tempArrs;
- // tempArrAct.show = true;
- newState.pushItem = getPushList(tmpArr,tempArrs);
- newState.pushItems = getPushLists(tmpArr,tempArrs);
- newState.inspectStrPlus = getStringPlus(newState.pushItems)
- return newState;
- }
- if (action.type == CLEAR_ALL_LABEL) { //清空所有数据
- const newState = Object.assign({}, state);
- newState.labelList =action.data;
- newState.getExcelDataList = action.dataExcel;
- let tmpArr = action.dataExcel;
- const tempArrs = action.data;
- newState.pushItem = getPushList(tmpArr,tempArrs);
- newState.inspectStrPlus = action.saveTextData;
- return newState;
- }
- if (action.type == DEL_PART_ITEM_NEW) { //清空填寫数据
- const newState = Object.assign({}, state);
- const tempArr = newState.labelList;
- tempArr.splice(action.idx,1);
- newState.labelList = [...tempArr];
- let tmpArr = newState.getExcelDataList;
- newState.pushItem = getPushList(tmpArr,tempArr);
- newState.pushItems = getPushLists(tmpArr,tempArr);
- newState.inspectStrPlus = getStringPlus(newState.pushItems)
- return newState;
- }
- if (action.type == SET_CONTEXT) {
- const newState = Object.assign({}, state);
- newState.context = action.obj
- return newState;
- }
- if (action.type == RENEWADVICEDATA) {
- const newState = Object.assign({}, state);
- newState.labelListBig = action.params[11].content.labelListBig;
- newState.labelListSmall = action.params[11].content.labelListSmall;
- newState.drugOrder = action.params[11].content.labelListBig;
- newState.operationOrder = action.params[11].content.labelListSmall;
- newState.labelListBlood = action.params[11].content.labelListBlood;
- newState.transfusionOrder = action.params[11].content.transfusionOrder;
- newState.operationName = action.params[11].content.operationName;
- return newState;
- }
- if (action.type == CLEARNEWADVICEDATA) {
- const newState = Object.assign({}, state);
- newState.labelListBig = [];
- newState.labelListSmall = [];
- newState.drugOrder = [];
- newState.operationOrder = [];
- newState.labelListBlood = [];
- newState.transfusionOrder = [];
- newState.operationName = {};
- return newState;
- }
- return state;
- }
|