feat: done
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -2,6 +2,8 @@ import { defineStore } from 'pinia';
|
||||
import { IPersonConfig } from '@/types/storeType';
|
||||
import { IPrizeConfig } from '@/types/storeType';
|
||||
import { defaultPersonList } from './data'
|
||||
import { usePrizeConfig } from './prizeConfig';
|
||||
import dayjs from 'dayjs'
|
||||
export const usePersonConfig = defineStore('person', {
|
||||
state() {
|
||||
return {
|
||||
@@ -18,7 +20,18 @@ export const usePersonConfig = defineStore('person', {
|
||||
},
|
||||
// 获取全部人员名单
|
||||
getAllPersonList(state) {
|
||||
return state.personConfig.allPersonList;
|
||||
return state.personConfig.allPersonList.filter((item: IPersonConfig) => {
|
||||
return item
|
||||
});
|
||||
},
|
||||
// 获取未获此奖的人员名单
|
||||
getNotThisPrizePersonList(state: any) {
|
||||
const currentPrize = usePrizeConfig().prizeConfig.currentPrize;
|
||||
const data = state.personConfig.allPersonList.filter((item: IPersonConfig) => {
|
||||
return !item.prizeId.includes(currentPrize.id as string);
|
||||
});
|
||||
|
||||
return data
|
||||
},
|
||||
// 获取已中奖人员名单
|
||||
getAlreadyPersonList(state) {
|
||||
@@ -28,7 +41,7 @@ export const usePersonConfig = defineStore('person', {
|
||||
},
|
||||
// 获取中奖人员详情
|
||||
getAlreadyPersonDetail(state) {
|
||||
return state.personConfig.alreadyPersonList
|
||||
return state.personConfig.alreadyPersonList
|
||||
},
|
||||
// 获取未中奖人员名单
|
||||
getNotPersonList(state) {
|
||||
@@ -57,11 +70,14 @@ export const usePersonConfig = defineStore('person', {
|
||||
if (item.id === person.id && prize != null) {
|
||||
item.isWin = true
|
||||
// person.isWin = true
|
||||
item.prizeName += prize.name
|
||||
item.prizeName.push(prize.name)
|
||||
// person.prizeName += prize.name
|
||||
item.prizeTime = new Date().toString()
|
||||
item.prizeTime.push(dayjs(new Date()).format('YYYY-MM-DD HH:mm:ss'))
|
||||
// person.prizeTime = new Date().toString()
|
||||
item.prizeId.push(prize.id as string)
|
||||
}
|
||||
|
||||
return item
|
||||
});
|
||||
this.personConfig.alreadyPersonList.push(person);
|
||||
});
|
||||
@@ -71,27 +87,28 @@ export const usePersonConfig = defineStore('person', {
|
||||
if (person.id == undefined || person.id == null) {
|
||||
return
|
||||
}
|
||||
const alreadyPersonListLength= this.personConfig.alreadyPersonList.length
|
||||
const alreadyPersonListLength = this.personConfig.alreadyPersonList.length
|
||||
for (let i = 0; i < this.personConfig.allPersonList.length; i++) {
|
||||
if (person.id === this.personConfig.allPersonList[i].id) {
|
||||
this.personConfig.allPersonList[i].isWin = false
|
||||
this.personConfig.allPersonList[i].prizeName = ''
|
||||
this.personConfig.allPersonList[i].prizeTime = ''
|
||||
this.personConfig.allPersonList[i].prizeName = []
|
||||
this.personConfig.allPersonList[i].prizeTime = []
|
||||
this.personConfig.allPersonList[i].prizeId = []
|
||||
|
||||
return
|
||||
break
|
||||
}
|
||||
}
|
||||
for(let i=0;i<alreadyPersonListLength;i++){
|
||||
this.personConfig.alreadyPersonList=this.personConfig.alreadyPersonList.filter((item:IPersonConfig)=>{
|
||||
return item.id!==person.id
|
||||
})
|
||||
for (let i = 0; i < alreadyPersonListLength; i++) {
|
||||
this.personConfig.alreadyPersonList = this.personConfig.alreadyPersonList.filter((item: IPersonConfig) =>
|
||||
item.id !== person.id
|
||||
)
|
||||
}
|
||||
},
|
||||
// 删除指定人员
|
||||
deletePerson(person: IPersonConfig) {
|
||||
if (person.id != undefined || person.id != null) {
|
||||
this.personConfig.allPersonList = this.personConfig.allPersonList.filter((item: IPersonConfig) => item.id !== person.id);
|
||||
this.personConfig.alreadyPersonList = this.personConfig.alreadyPersonList.filter((item: IPersonConfig) => item.id!== person.id);
|
||||
this.personConfig.alreadyPersonList = this.personConfig.alreadyPersonList.filter((item: IPersonConfig) => item.id !== person.id);
|
||||
}
|
||||
},
|
||||
// 删除所有人员
|
||||
@@ -110,14 +127,15 @@ export const usePersonConfig = defineStore('person', {
|
||||
// 把已中奖人员合并到未中奖人员,要验证是否已存在
|
||||
this.personConfig.allPersonList.forEach((item: IPersonConfig) => {
|
||||
item.isWin = false;
|
||||
item.prizeName = '';
|
||||
item.prizeTime = '';
|
||||
item.prizeName = [];
|
||||
item.prizeTime = [];
|
||||
item.prizeId = []
|
||||
});
|
||||
this.personConfig.alreadyPersonList=[];
|
||||
this.personConfig.alreadyPersonList = [];
|
||||
},
|
||||
setDefaultPersonList() {
|
||||
this.personConfig.allPersonList = defaultPersonList;
|
||||
this.personConfig.alreadyPersonList=[];
|
||||
this.personConfig.alreadyPersonList = [];
|
||||
},
|
||||
// 重置所有配置
|
||||
reset() {
|
||||
|
||||
@@ -22,6 +22,23 @@ export const usePrizeConfig = defineStore('prize', {
|
||||
isShow: true,
|
||||
isUsed: false,
|
||||
frequency: 1,
|
||||
} as IPrizeConfig,
|
||||
temporaryPrize:{
|
||||
id: '',
|
||||
name: '',
|
||||
sort: 0,
|
||||
isAll: false,
|
||||
count: 1,
|
||||
isUsedCount:0,
|
||||
picture: {
|
||||
id: '-1',
|
||||
name: '',
|
||||
url: ''
|
||||
},
|
||||
desc: '',
|
||||
isShow: false,
|
||||
isUsed: false,
|
||||
frequency: 1,
|
||||
} as IPrizeConfig
|
||||
}
|
||||
};
|
||||
@@ -45,6 +62,10 @@ return state.prizeConfig.prizeList;
|
||||
getCurrentPrize(state) {
|
||||
return state.prizeConfig.currentPrize;
|
||||
},
|
||||
// 获取临时的奖项
|
||||
getTemporaryPrize(state){
|
||||
return state.prizeConfig.temporaryPrize;
|
||||
},
|
||||
|
||||
},
|
||||
actions: {
|
||||
@@ -62,12 +83,25 @@ return state.prizeConfig.prizeList;
|
||||
},
|
||||
// 更新奖项数据
|
||||
updatePrizeConfig(prizeConfigItem: IPrizeConfig) {
|
||||
const index = this.prizeConfig.prizeList.findIndex(item => item.id === prizeConfigItem.id);
|
||||
this.prizeConfig.prizeList[index] = prizeConfigItem;
|
||||
if(prizeConfigItem.isUsed&&index+1<this.prizeConfig.prizeList.length){
|
||||
// const index = this.prizeConfig.prizeList.findIndex(item => item.id === prizeConfigItem.id);
|
||||
// this.prizeConfig.prizeList[index] = prizeConfigItem;
|
||||
// if(prizeConfigItem.isUsed&&index+1<this.prizeConfig.prizeList.length){
|
||||
// // 设置下一个为currentPrize
|
||||
// this.setCurrentPrize(this.prizeConfig.prizeList[index+1]);
|
||||
// }
|
||||
if(prizeConfigItem.isUsed&&this.prizeConfig.prizeList.length){
|
||||
// 设置下一个为currentPrize
|
||||
this.setCurrentPrize(this.prizeConfig.prizeList[index+1]);
|
||||
for(let i=0;i<this.prizeConfig.prizeList.length;i++){
|
||||
if(!this.prizeConfig.prizeList[i].isUsed){
|
||||
this.setCurrentPrize(this.prizeConfig.prizeList[i]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else{
|
||||
return
|
||||
}
|
||||
this.resetTemporaryPrize()
|
||||
},
|
||||
// 删除全部奖项
|
||||
deleteAllPrizeConfig() {
|
||||
@@ -77,6 +111,43 @@ return state.prizeConfig.prizeList;
|
||||
setCurrentPrize(prizeConfigItem: IPrizeConfig) {
|
||||
this.prizeConfig.currentPrize = prizeConfigItem
|
||||
},
|
||||
// 设置临时奖项
|
||||
setTemporaryPrize(prizeItem: IPrizeConfig) {
|
||||
if(prizeItem.isShow==false){
|
||||
for(let i=0;i<this.prizeConfig.prizeList.length;i++){
|
||||
if(this.prizeConfig.prizeList[i].isUsed==false){
|
||||
this.setCurrentPrize(this.prizeConfig.prizeList[i]);
|
||||
|
||||
break
|
||||
}
|
||||
}
|
||||
this.resetTemporaryPrize()
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
this.prizeConfig.temporaryPrize = prizeItem
|
||||
},
|
||||
// 重置临时奖项
|
||||
resetTemporaryPrize() {
|
||||
this.prizeConfig.temporaryPrize = {
|
||||
id: '',
|
||||
name: '',
|
||||
sort: 0,
|
||||
isAll: false,
|
||||
count: 1,
|
||||
isUsedCount:0,
|
||||
picture: {
|
||||
id: '-1',
|
||||
name: '',
|
||||
url: ''
|
||||
},
|
||||
desc: '',
|
||||
isShow: false,
|
||||
isUsed: false,
|
||||
frequency: 1,
|
||||
} as IPrizeConfig;
|
||||
},
|
||||
// 重置所有配置
|
||||
resetDefault() {
|
||||
this.prizeConfig = {
|
||||
@@ -97,7 +168,8 @@ return state.prizeConfig.prizeList;
|
||||
isShow: true,
|
||||
isUsed: false,
|
||||
frequency: 1,
|
||||
} as IPrizeConfig
|
||||
} as IPrizeConfig,
|
||||
temporaryPrize:{} as IPrizeConfig
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user