123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301 |
- import {
- SEARCH_LIST,
- SET_LABEL,
- FILL_ACTIVE,
- GET_EXCEL,
- CHECK_VALUE_IS_CHANGE,
- CLEAR_LABEL,
- RESET_LABEL,
- CLEAR_ALL_LABEL,
- DEL_PART_ITEM,
- DEL_EXCEL_LIST,
- ADD_LABEL,
- SET_CONTEXT,
- SET_TIP_NEW,
- SEARCH_TYPE,
- DEL_ONE_PIC,
- CHECK_ON_OFF,
- REINSPECTDATA,
- CLEARINSPECTDATA,
- } from '../types/inspect';
- 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:2,
- labelListBig:[],//大项
- labelListSmall:[],//小项
- totalOrder:[],//开单项
- }
- export default (state = initSearchList, action) => {
- if (action.type == CHECK_ON_OFF) {
- const newState = Object.assign({}, state);
- let tempArr = newState.labelListBig;
- let tempArrs = newState.labelListSmall;
- let tmpLis = action.item,tempBigOrder=[],tempSmallOrder=[],tempTotalOrder=[];
- if(tmpLis&&tmpLis.flg == 1){
- for(let i = 0;i < tempArr.length;i++){
- if(tempArr[i].time == tmpLis.time){
- let flg = tempArr[i].check;
- tempArr[i].check = !flg
- }
- }
- newState.labelListBig = [...tempArr]
- }else{
- for(let i = 0;i < tempArrs.length;i++){
- if(tempArrs[i].time == tmpLis.time){
- let flg = tempArrs[i].check;
- tempArrs[i].check = !flg
- }
- }
- newState.labelListSmall = [...tempArrs]
- }
- tempBigOrder = tempArr.filter((item)=>item.check)
- tempSmallOrder = tempArrs.filter((item)=>item.check)
- tempTotalOrder=tempBigOrder.concat(tempSmallOrder)
- newState.totalOrder=[...tempTotalOrder]
- return newState;
- }
- if (action.type == DEL_ONE_PIC) {
- const newState = Object.assign({}, state);
- let tempArr = newState.labelListBig;
- let tempArrs = newState.labelListSmall;
- let tmpLis = action.item,tempBigOrder=[],tempSmallOrder=[],tempTotalOrder=[];
- if(tmpLis&&tmpLis.flg == 1){//大项
- tempArr = tempArr.filter((item)=>item.time != tmpLis.time)
- newState.labelListBig = [...tempArr]
- }else{//小项
- tempArrs = tempArrs.filter((item)=> item.time != tmpLis.time )
- newState.labelListSmall = [...tempArrs]
- }
- tempBigOrder = tempArr.filter((item)=>item.check)
- tempSmallOrder = tempArrs.filter((item)=>item.check)
- tempTotalOrder=tempBigOrder.concat(tempSmallOrder)
- newState.totalOrder=[...tempTotalOrder]
- return newState;
- }
- if (action.type == SET_TIP_NEW) {
- const newState = Object.assign({}, state);
- let tempArr = newState.labelListBig;
- let tempArrs = newState.labelListSmall;
- let tmpLis = action.item
- if(tmpLis.flg == 1){//大项,改的只能是时间
- tempArr = tempArr.filter((item,idx)=>{
- if(action.sign==idx){
- item.time = action.value
- }
- return item
- })
- }else{
- tempArrs = tempArrs.filter((item,idx)=>{
- if(action.sign == idx){
- if(action.tip==1){//小项改时间
- item.time = action.value
- }else{//小项该数值
- if(isNumber(action.value-0)){
- item.value = action.value
- }else{
- item.otherValue = action.value
- }
- }
- }
- return item
- })
- }
- newState.labelListBig = [...tempArr]
- newState.labelListSmall = [...tempArrs]
- return newState;
- }
- if (action.type == SEARCH_TYPE) {
- const newState = Object.assign({}, state);
- newState.shType = action.value
- return newState;
- }
- if (action.type == RESET_LABEL) { //选中的结果重组
- const newState = Object.assign({}, state);
- const tempArr = newState.labelListBig;
- const tempArrs = newState.labelListSmall;
- let tmpLis = action.list
- tmpLis['dateValue'] = getCurrentDate(1)
- tmpLis['time'] = getCurrentDate(1)
- if(tmpLis.flg == 1){//大项
- tempArr.push(tmpLis)
- newState.labelListBig = [...tempArr]
- }else{//小项
- tempArrs.push(tmpLis)
- newState.labelListSmall = [...tempArrs]
- }
- 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;
- 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) { //清空填寫数据
- 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 == REINSPECTDATA) {
- const newState = Object.assign({}, state);
- newState.labelListBig = action.params[8].content.labelListBig
- newState.labelListSmall = action.params[8].content.labelListSmall;
- newState.totalOrder = action.params[8].content.labelListBig;
- return newState;
- }
- if (action.type == CLEARINSPECTDATA) {
- let newState = Object.assign({}, state);
- newState.labelListBig = [];
- newState.labelListSmall = [];
- newState.totalOrder = [];
- return newState;
- }
- return state;
- }
- function isNumber(obj) {
- return typeof obj === 'number' && !isNaN(obj)
- }
|