@@ -160,10 +160,11 @@ npm run build
|
|||||||
|
|
||||||
容器运行成功后即可在本地通过<http://localhost:9279/log-lottery/>访问
|
容器运行成功后即可在本地通过<http://localhost:9279/log-lottery/>访问
|
||||||
|
|
||||||
3. 软件安装包
|
## 软件安装包
|
||||||
|
|
||||||
可前往[Releases](https://github.com/LOG1997/log-lottery/releases)下载。
|
可前往[Releases](https://github.com/LOG1997/log-lottery/releases)下载。
|
||||||
目前只支持windows平台使用,跨平台安装包暂不支持,如有需要请自行编译,参照[贡献文档](https://github.com/LOG1997/log-lottery/blob/dev/.github/CONTRIBUTING.md)
|
|
||||||
|
目前只支持windows平台使用,跨平台安装包暂不支持,如有需要请自行编译,参照[贡献文档](https://github.com/LOG1997/log-lottery/blob/main/.github/CONTRIBUTING.md)
|
||||||
|
|
||||||
## 支持项目
|
## 支持项目
|
||||||
|
|
||||||
|
|||||||
2
src-tauri/Cargo.lock
generated
2
src-tauri/Cargo.lock
generated
@@ -77,7 +77,7 @@ checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "app"
|
name = "app"
|
||||||
version = "0.5.2"
|
version = "0.5.3"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"log",
|
"log",
|
||||||
"serde",
|
"serde",
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ export function useMounted(tipDialog: Ref<any>) {
|
|||||||
const prizeConfig = useStore().prizeConfig
|
const prizeConfig = useStore().prizeConfig
|
||||||
const system = useStore().system
|
const system = useStore().system
|
||||||
const { getTheme: localTheme } = storeToRefs(globalConfig)
|
const { getTheme: localTheme } = storeToRefs(globalConfig)
|
||||||
const { getPrizeConfig: prizeList } = storeToRefs(prizeConfig)
|
const { getPrizeConfig: prizeList, getTemporaryPrize: temporaryPrize } = storeToRefs(prizeConfig)
|
||||||
const tipDesc = ref('')
|
const tipDesc = ref('')
|
||||||
const { t } = useI18n()
|
const { t } = useI18n()
|
||||||
// 设置当前奖列表
|
// 设置当前奖列表
|
||||||
@@ -20,6 +20,10 @@ export function useMounted(tipDialog: Ref<any>) {
|
|||||||
if (prizeList.value.length <= 0) {
|
if (prizeList.value.length <= 0) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if (temporaryPrize.value && temporaryPrize.value.isShow) {
|
||||||
|
prizeConfig.setCurrentPrize(temporaryPrize.value)
|
||||||
|
return
|
||||||
|
}
|
||||||
for (let i = 0; i < prizeList.value.length; i++) {
|
for (let i = 0; i < prizeList.value.length; i++) {
|
||||||
if (!prizeList.value[i].isUsed) {
|
if (!prizeList.value[i].isUsed) {
|
||||||
prizeConfig.setCurrentPrize(prizeList.value[i])
|
prizeConfig.setCurrentPrize(prizeList.value[i])
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
<script setup lang='ts'>
|
<script setup lang='ts'>
|
||||||
import type { IPrizeConfig } from '@/types/storeType'
|
|
||||||
import { ref } from 'vue'
|
import { ref } from 'vue'
|
||||||
// import { useI18n } from 'vue-i18n'
|
|
||||||
import EditSeparateDialog from '@/components/NumberSeparate/EditSeparateDialog.vue'
|
|
||||||
import OfficialPrizeList from './parts/OfficialPrizeList/index.vue'
|
import OfficialPrizeList from './parts/OfficialPrizeList/index.vue'
|
||||||
import OperationButton from './parts/OperationButton.vue'
|
import OperationButton from './parts/OperationButton.vue'
|
||||||
import TemporaryDialog from './parts/TemporaryDialog.vue'
|
import TemporaryDialog from './parts/TemporaryDialog.vue'
|
||||||
@@ -23,8 +20,8 @@ const {
|
|||||||
currentPrize,
|
currentPrize,
|
||||||
localPrizeList,
|
localPrizeList,
|
||||||
isMobile,
|
isMobile,
|
||||||
|
selectedPrize,
|
||||||
} = usePrizeList(temporaryPrizeRef)
|
} = usePrizeList(temporaryPrizeRef)
|
||||||
const selectedPrize = ref<IPrizeConfig | null>()
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
@@ -32,15 +29,13 @@ const selectedPrize = ref<IPrizeConfig | null>()
|
|||||||
<TemporaryDialog
|
<TemporaryDialog
|
||||||
ref="temporaryPrizeRef"
|
ref="temporaryPrizeRef"
|
||||||
v-model:temporary-prize="temporaryPrize"
|
v-model:temporary-prize="temporaryPrize"
|
||||||
|
v-model:selected-prize="selectedPrize"
|
||||||
:change-person-count="changePersonCount"
|
:change-person-count="changePersonCount"
|
||||||
:select-prize="selectPrize"
|
:select-prize="selectPrize"
|
||||||
:local-image-list="localImageList"
|
:local-image-list="localImageList"
|
||||||
:add-temporary-prize="addTemporaryPrize"
|
:add-temporary-prize="addTemporaryPrize"
|
||||||
:submit-temporary-prize="submitTemporaryPrize"
|
:submit-temporary-prize="submitTemporaryPrize"
|
||||||
/>
|
:submit-data="submitData"
|
||||||
<EditSeparateDialog
|
|
||||||
:total-number="selectedPrize?.count" :separated-number="selectedPrize?.separateCount.countList"
|
|
||||||
@submit-data="submitData"
|
|
||||||
/>
|
/>
|
||||||
<div class="h-full">
|
<div class="h-full">
|
||||||
<TemporaryList
|
<TemporaryList
|
||||||
|
|||||||
@@ -9,10 +9,12 @@ defineProps<{
|
|||||||
localImageList: IImage[]
|
localImageList: IImage[]
|
||||||
submitTemporaryPrize: () => void
|
submitTemporaryPrize: () => void
|
||||||
addTemporaryPrize: () => void
|
addTemporaryPrize: () => void
|
||||||
|
submitData: (separatedNumber: any) => void
|
||||||
}>()
|
}>()
|
||||||
const { t } = useI18n()
|
const { t } = useI18n()
|
||||||
const dialogRef = ref<HTMLDialogElement | null>(null)
|
const dialogRef = ref<HTMLDialogElement | null>(null)
|
||||||
const temporaryPrize = defineModel<IPrizeConfig>('temporaryPrize', { required: true })
|
const temporaryPrize = defineModel<IPrizeConfig>('temporaryPrize', { required: true })
|
||||||
|
const selectedPrize = defineModel<IPrizeConfig | null>('selectedPrize', { required: true })
|
||||||
function showDialog() {
|
function showDialog() {
|
||||||
dialogRef.value?.showModal()
|
dialogRef.value?.showModal()
|
||||||
}
|
}
|
||||||
@@ -23,6 +25,10 @@ defineExpose({
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
<EditSeparateDialog
|
||||||
|
:total-number="selectedPrize?.count" :separated-number="selectedPrize?.separateCount.countList"
|
||||||
|
@submit-data="submitData"
|
||||||
|
/>
|
||||||
<dialog id="my_modal_1" ref="dialogRef" class="border-none modal">
|
<dialog id="my_modal_1" ref="dialogRef" class="border-none modal">
|
||||||
<div class="modal-box">
|
<div class="modal-box">
|
||||||
<h3 class="text-lg font-bold">
|
<h3 class="text-lg font-bold">
|
||||||
|
|||||||
@@ -34,10 +34,9 @@ const { t } = useI18n()
|
|||||||
{{ temporaryPrize.isUsedCount }}/{{ temporaryPrize.count }}
|
{{ temporaryPrize.isUsedCount }}/{{ temporaryPrize.count }}
|
||||||
</p>
|
</p>
|
||||||
<progress
|
<progress
|
||||||
class="w-3/4 h-6 progress progress-primary" :value="temporaryPrize.isUsedCount"
|
class="w-3/4 h-6 progress bg-[#52545b] progress-primary" :value="temporaryPrize.isUsedCount"
|
||||||
:max="temporaryPrize.count"
|
:max="temporaryPrize.count"
|
||||||
/>
|
/>
|
||||||
<!-- <p class="p-0 m-0">{{ item.isUsedCount }}/{{ item.count }}</p> -->
|
|
||||||
</div>
|
</div>
|
||||||
<div class="flex flex-col gap-1 mr-2">
|
<div class="flex flex-col gap-1 mr-2">
|
||||||
<div class="tooltip tooltip-left" :data-tip="t('tooltip.edit')">
|
<div class="tooltip tooltip-left" :data-tip="t('tooltip.edit')">
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ export function usePrizeList(temporaryPrizeRef: any) {
|
|||||||
= storeToRefs(globalConfig)
|
= storeToRefs(globalConfig)
|
||||||
const { getIsMobile: isMobile } = storeToRefs(system)
|
const { getIsMobile: isMobile } = storeToRefs(system)
|
||||||
|
|
||||||
const selectedPrize = ref<IPrizeConfig | null>()
|
const selectedPrize = ref<IPrizeConfig | null>(null)
|
||||||
const prizeShow = ref(structuredClone(isShowPrizeList.value))
|
const prizeShow = ref(structuredClone(isShowPrizeList.value))
|
||||||
|
|
||||||
function addTemporaryPrize() {
|
function addTemporaryPrize() {
|
||||||
@@ -94,5 +94,6 @@ export function usePrizeList(temporaryPrizeRef: any) {
|
|||||||
prizeShow,
|
prizeShow,
|
||||||
localPrizeList,
|
localPrizeList,
|
||||||
isMobile,
|
isMobile,
|
||||||
|
selectedPrize,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user