完成指纹、遥控、人脸、掌静脉创建循环钥匙的功能
This commit is contained in:
parent
83de6dc898
commit
2dc1c31f49
@ -58,6 +58,7 @@
|
||||
faceUserNo: String(data.faceNumber),
|
||||
faceType: params.value.faceType,
|
||||
addType: 1,
|
||||
weekDay: params.value.weekDays,
|
||||
fingerRight: params.value.isAdmin,
|
||||
isCoerced: params.value.isForce === 1 ? 2 : 1
|
||||
})
|
||||
|
||||
@ -57,6 +57,7 @@
|
||||
lockId: $bluetooth.currentLockInfo.lockId,
|
||||
startDate: params.startDate,
|
||||
endDate: params.endDate,
|
||||
weekDay: params.weekDays,
|
||||
fingerprintName: params.fingerprintName,
|
||||
fingerprintNumber: String(data.fingerprintNumber),
|
||||
fingerprintUserNo: String(data.fingerprintNumber),
|
||||
|
||||
@ -55,6 +55,7 @@
|
||||
palmVeinNumber: String(data.palmVeinNumber),
|
||||
palmVeinUserNo: String(data.palmVeinNumber),
|
||||
palmVeinType: params.palmVeinType,
|
||||
weekDay: params.weekDays,
|
||||
addType: 1,
|
||||
palmVeinRight: params.isAdmin,
|
||||
isCoerced: params.isForce === 1 ? 2 : 1
|
||||
|
||||
@ -58,6 +58,7 @@
|
||||
remoteNumber: String(data.remoteNumber),
|
||||
remoteType: params.remoteType,
|
||||
addType: 1,
|
||||
weekDay: params.weekDays,
|
||||
remoteRight: params.isAdmin,
|
||||
isCoerced: params.isForce === 1 ? 2 : 1
|
||||
})
|
||||
|
||||
@ -38,7 +38,7 @@
|
||||
</view>
|
||||
<view class="button mt-5" @click="create('permanent')">下一步</view>
|
||||
</swiper-item>
|
||||
<swiper-item :style="{ height: deviceInfo.windowHeight - 44 + 'px' }">
|
||||
<swiper-item>
|
||||
<LockInput
|
||||
:value="temporaryName"
|
||||
title="姓名"
|
||||
@ -51,7 +51,6 @@
|
||||
:value="temporaryStartTime"
|
||||
:minDate="minDate"
|
||||
:maxDate="maxDate"
|
||||
type="datehour"
|
||||
@change-time="changeDate('temporaryStartTime', $event)"
|
||||
></LockDatetimePicker>
|
||||
</view>
|
||||
@ -61,7 +60,6 @@
|
||||
:value="temporaryEndTime"
|
||||
:minDate="minDate"
|
||||
:maxDate="maxDate"
|
||||
type="datehour"
|
||||
@change-time="changeDate('temporaryEndTime', $event)"
|
||||
></LockDatetimePicker>
|
||||
</view>
|
||||
@ -74,6 +72,26 @@
|
||||
</view>
|
||||
<view class="button mt-5" @click="create('temporary')">下一步</view>
|
||||
</swiper-item>
|
||||
|
||||
<swiper-item>
|
||||
<LockInput
|
||||
:value="cycleName"
|
||||
title="姓名"
|
||||
placeholder="请输入"
|
||||
@change-input="changeName('cycle', $event)"
|
||||
></LockInput>
|
||||
<view class="mt-3">
|
||||
<LockCycle @change="changeCycle"></LockCycle>
|
||||
</view>
|
||||
<view class="mt-3">
|
||||
<LockSwitch
|
||||
:value="cycleAdmin"
|
||||
title="是否为管理员"
|
||||
@change="changeAdmin('cycle', $event)"
|
||||
></LockSwitch>
|
||||
</view>
|
||||
<view class="button mt-5" @click="create('cycle')">下一步</view>
|
||||
</swiper-item>
|
||||
</swiper>
|
||||
</view>
|
||||
</template>
|
||||
@ -81,6 +99,7 @@
|
||||
<script setup>
|
||||
import { getCurrentInstance, ref } from 'vue'
|
||||
import { onLoad } from '@dcloudio/uni-app'
|
||||
import { timeFormat } from 'uview-plus'
|
||||
import { useBasicStore } from '@/stores/basic'
|
||||
import { useUserStore } from '@/stores/user'
|
||||
import { useBluetoothStore } from '@/stores/bluetooth'
|
||||
@ -99,6 +118,9 @@
|
||||
},
|
||||
{
|
||||
name: '限时'
|
||||
},
|
||||
{
|
||||
name: '循环'
|
||||
}
|
||||
]
|
||||
|
||||
@ -110,6 +132,12 @@
|
||||
const temporaryEndTime = ref(Number(new Date()))
|
||||
const temporaryAdmin = ref(false)
|
||||
|
||||
const cycleName = ref('')
|
||||
const cycleStartTime = ref(null)
|
||||
const cycleEndTime = ref(null)
|
||||
const weekDays = ref([])
|
||||
const cycleAdmin = ref(false)
|
||||
|
||||
const minDate = ref(Number(new Date()))
|
||||
const maxDate = ref(Number(4133951940000))
|
||||
const currentIndex = ref(0)
|
||||
@ -123,6 +151,12 @@
|
||||
maxDate.value = Number(getFutureTimestamp())
|
||||
})
|
||||
|
||||
const changeCycle = data => {
|
||||
cycleStartTime.value = data.startDate
|
||||
cycleEndTime.value = data.endDate
|
||||
weekDays.value = data.weekDays
|
||||
}
|
||||
|
||||
const getNextFullHour = () => {
|
||||
const now = new Date()
|
||||
const currentHour = now.getHours()
|
||||
@ -156,7 +190,8 @@
|
||||
const create = async type => {
|
||||
if (
|
||||
(type === 'temporary' && temporaryName.value === '') ||
|
||||
(type === 'permanent' && permanentName.value === '')
|
||||
(type === 'permanent' && permanentName.value === '') ||
|
||||
(type === 'cycle' && cycleName.value === '')
|
||||
) {
|
||||
uni.showToast({
|
||||
title: '名称不能为空',
|
||||
@ -173,6 +208,14 @@
|
||||
return
|
||||
}
|
||||
|
||||
if (type === 'cycle' && weekDays.value.length === 0) {
|
||||
uni.showToast({
|
||||
title: '请选择有效期',
|
||||
icon: 'none'
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
const netWork = await $basic.getNetworkType()
|
||||
if (!netWork) {
|
||||
return
|
||||
@ -200,7 +243,7 @@
|
||||
startTime: '00:00',
|
||||
endTime: '00:00'
|
||||
}
|
||||
} else {
|
||||
} else if (type === 'temporary') {
|
||||
params = {
|
||||
...params,
|
||||
faceName: temporaryName.value,
|
||||
@ -213,6 +256,19 @@
|
||||
startTime: '00:00',
|
||||
endTime: '00:00'
|
||||
}
|
||||
} else {
|
||||
params = {
|
||||
...params,
|
||||
faceName: cycleName.value,
|
||||
isAdmin: cycleAdmin.value ? 1 : 0,
|
||||
weekDays: weekDays.value,
|
||||
faceType: 4,
|
||||
isRound: 1,
|
||||
startDate: cycleStartTime.value,
|
||||
endDate: cycleEndTime.value,
|
||||
startTime: timeFormat(new Date(cycleStartTime.value), 'h:M'),
|
||||
endTime: timeFormat(new Date(cycleEndTime.value), 'h:M')
|
||||
}
|
||||
}
|
||||
|
||||
const { code, message } = await checkFaceNameRequest({
|
||||
@ -242,8 +298,10 @@
|
||||
const changeName = (type, event) => {
|
||||
if (type === 'permanent') {
|
||||
permanentName.value = event
|
||||
} else {
|
||||
} else if (type === 'temporary') {
|
||||
temporaryName.value = event
|
||||
} else {
|
||||
cycleName.value = event
|
||||
}
|
||||
}
|
||||
|
||||
@ -258,8 +316,10 @@
|
||||
const changeAdmin = (type, event) => {
|
||||
if (type === 'permanent') {
|
||||
permanentAdmin.value = event.detail.value
|
||||
} else {
|
||||
} else if (type === 'temporary') {
|
||||
temporaryAdmin.value = event.detail.value
|
||||
} else {
|
||||
cycleAdmin.value = event.detail.value
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -46,7 +46,7 @@
|
||||
</view>
|
||||
<view class="button" @click="create('permanent')">下一步</view>
|
||||
</swiper-item>
|
||||
<swiper-item :style="{ height: deviceInfo.windowHeight - 44 + 'px' }">
|
||||
<swiper-item>
|
||||
<LockInput
|
||||
:value="temporaryName"
|
||||
title="姓名"
|
||||
@ -59,7 +59,6 @@
|
||||
:value="temporaryStartTime"
|
||||
:minDate="minDate"
|
||||
:maxDate="maxDate"
|
||||
type="datehour"
|
||||
@change-time="changeDate('temporaryStartTime', $event)"
|
||||
></LockDatetimePicker>
|
||||
</view>
|
||||
@ -69,7 +68,6 @@
|
||||
:value="temporaryEndTime"
|
||||
:minDate="minDate"
|
||||
:maxDate="maxDate"
|
||||
type="datehour"
|
||||
@change-time="changeDate('temporaryEndTime', $event)"
|
||||
></LockDatetimePicker>
|
||||
</view>
|
||||
@ -90,6 +88,33 @@
|
||||
</view>
|
||||
<view class="button" @click="create('temporary')">下一步</view>
|
||||
</swiper-item>
|
||||
<swiper-item>
|
||||
<LockInput
|
||||
:value="cycleName"
|
||||
title="姓名"
|
||||
placeholder="请输入"
|
||||
@change-input="changeName('cycle', $event)"
|
||||
></LockInput>
|
||||
<view class="mt-3">
|
||||
<LockCycle @change="changeCycle"></LockCycle>
|
||||
</view>
|
||||
<view class="mt-3">
|
||||
<LockSwitch
|
||||
:value="cycleAdmin"
|
||||
title="是否为管理员"
|
||||
@change="changeAdmin('cycle', $event)"
|
||||
></LockSwitch>
|
||||
</view>
|
||||
<view class="mt-3 mb-3">
|
||||
<LockSwitch
|
||||
:value="cycleCoerced"
|
||||
title="胁迫指纹"
|
||||
@change="changeCoerced('cycle', $event)"
|
||||
:placeholder="placeholder"
|
||||
></LockSwitch>
|
||||
</view>
|
||||
<view class="button" @click="create('cycle')">下一步</view>
|
||||
</swiper-item>
|
||||
</swiper>
|
||||
</view>
|
||||
</template>
|
||||
@ -97,6 +122,7 @@
|
||||
<script setup>
|
||||
import { getCurrentInstance, ref } from 'vue'
|
||||
import { onLoad } from '@dcloudio/uni-app'
|
||||
import { timeFormat } from 'uview-plus'
|
||||
import { useBasicStore } from '@/stores/basic'
|
||||
import { useUserStore } from '@/stores/user'
|
||||
import { useBluetoothStore } from '@/stores/bluetooth'
|
||||
@ -115,6 +141,9 @@
|
||||
},
|
||||
{
|
||||
name: '限时'
|
||||
},
|
||||
{
|
||||
name: '循环'
|
||||
}
|
||||
]
|
||||
|
||||
@ -128,6 +157,13 @@
|
||||
const temporaryAdmin = ref(false)
|
||||
const temporaryCoerced = ref(false)
|
||||
|
||||
const cycleName = ref('')
|
||||
const cycleStartTime = ref(null)
|
||||
const cycleEndTime = ref(null)
|
||||
const weekDays = ref([])
|
||||
const cycleAdmin = ref(false)
|
||||
const cycleCoerced = ref(false)
|
||||
|
||||
const minDate = ref(Number(new Date()))
|
||||
const maxDate = ref(Number(4133951940000))
|
||||
const currentIndex = ref(0)
|
||||
@ -143,6 +179,12 @@
|
||||
maxDate.value = Number(getFutureTimestamp())
|
||||
})
|
||||
|
||||
const changeCycle = data => {
|
||||
cycleStartTime.value = data.startDate
|
||||
cycleEndTime.value = data.endDate
|
||||
weekDays.value = data.weekDays
|
||||
}
|
||||
|
||||
const getNextFullHour = () => {
|
||||
const now = new Date()
|
||||
const currentHour = now.getHours()
|
||||
@ -176,7 +218,8 @@
|
||||
const create = async type => {
|
||||
if (
|
||||
(type === 'temporary' && temporaryName.value === '') ||
|
||||
(type === 'permanent' && permanentName.value === '')
|
||||
(type === 'permanent' && permanentName.value === '') ||
|
||||
(type === 'cycle' && cycleName.value === '')
|
||||
) {
|
||||
uni.showToast({
|
||||
title: '名称不能为空',
|
||||
@ -193,6 +236,14 @@
|
||||
return
|
||||
}
|
||||
|
||||
if (type === 'cycle' && weekDays.value.length === 0) {
|
||||
uni.showToast({
|
||||
title: '请选择有效期',
|
||||
icon: 'none'
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
const netWork = await $basic.getNetworkType()
|
||||
if (!netWork) {
|
||||
return
|
||||
@ -221,7 +272,7 @@
|
||||
startTime: '00:00',
|
||||
endTime: '00:00'
|
||||
}
|
||||
} else {
|
||||
} else if (type === 'temporary') {
|
||||
params = {
|
||||
...params,
|
||||
fingerprintName: temporaryName.value,
|
||||
@ -235,6 +286,20 @@
|
||||
startTime: '00:00',
|
||||
endTime: '00:00'
|
||||
}
|
||||
} else {
|
||||
params = {
|
||||
...params,
|
||||
fingerprintName: cycleName.value,
|
||||
isAdmin: cycleAdmin.value ? 1 : 0,
|
||||
isForce: cycleCoerced.value ? 1 : 0,
|
||||
weekDays: weekDays.value,
|
||||
fingerprintType: 4,
|
||||
isRound: 1,
|
||||
startDate: cycleStartTime.value,
|
||||
endDate: cycleEndTime.value,
|
||||
startTime: timeFormat(new Date(cycleStartTime.value), 'h:M'),
|
||||
endTime: timeFormat(new Date(cycleEndTime.value), 'h:M')
|
||||
}
|
||||
}
|
||||
|
||||
const { code, message } = await checkFingerprintNameRequest({
|
||||
@ -264,8 +329,10 @@
|
||||
const changeName = (type, event) => {
|
||||
if (type === 'permanent') {
|
||||
permanentName.value = event
|
||||
} else {
|
||||
} else if (type === 'temporary') {
|
||||
temporaryName.value = event
|
||||
} else {
|
||||
cycleName.value = event
|
||||
}
|
||||
}
|
||||
|
||||
@ -280,16 +347,20 @@
|
||||
const changeAdmin = (type, event) => {
|
||||
if (type === 'permanent') {
|
||||
permanentAdmin.value = event.detail.value
|
||||
} else {
|
||||
} else if (type === 'temporary') {
|
||||
temporaryAdmin.value = event.detail.value
|
||||
} else {
|
||||
cycleAdmin.value = event.detail.value
|
||||
}
|
||||
}
|
||||
|
||||
const changeCoerced = (type, event) => {
|
||||
if (type === 'permanent') {
|
||||
permanentCoerced.value = event.detail.value
|
||||
} else {
|
||||
} else if (type === 'temporary') {
|
||||
temporaryCoerced.value = event.detail.value
|
||||
} else {
|
||||
cycleCoerced.value = event.detail.value
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -46,7 +46,7 @@
|
||||
</view>
|
||||
<view class="button" @click="create('permanent')">下一步</view>
|
||||
</swiper-item>
|
||||
<swiper-item :style="{ height: deviceInfo.windowHeight - 44 + 'px' }">
|
||||
<swiper-item>
|
||||
<LockInput
|
||||
:value="temporaryName"
|
||||
title="姓名"
|
||||
@ -59,7 +59,6 @@
|
||||
:value="temporaryStartTime"
|
||||
:minDate="minDate"
|
||||
:maxDate="maxDate"
|
||||
type="datehour"
|
||||
@change-time="changeDate('temporaryStartTime', $event)"
|
||||
></LockDatetimePicker>
|
||||
</view>
|
||||
@ -69,7 +68,6 @@
|
||||
:value="temporaryEndTime"
|
||||
:minDate="minDate"
|
||||
:maxDate="maxDate"
|
||||
type="datehour"
|
||||
@change-time="changeDate('temporaryEndTime', $event)"
|
||||
></LockDatetimePicker>
|
||||
</view>
|
||||
@ -90,6 +88,34 @@
|
||||
</view>
|
||||
<view class="button" @click="create('temporary')">下一步</view>
|
||||
</swiper-item>
|
||||
|
||||
<swiper-item>
|
||||
<LockInput
|
||||
:value="cycleName"
|
||||
title="姓名"
|
||||
placeholder="请输入"
|
||||
@change-input="changeName('cycle', $event)"
|
||||
></LockInput>
|
||||
<view class="mt-3">
|
||||
<LockCycle @change="changeCycle"></LockCycle>
|
||||
</view>
|
||||
<view class="mt-3">
|
||||
<LockSwitch
|
||||
:value="cycleAdmin"
|
||||
title="是否为管理员"
|
||||
@change="changeAdmin('cycle', $event)"
|
||||
></LockSwitch>
|
||||
</view>
|
||||
<view class="mt-3 mb-3">
|
||||
<LockSwitch
|
||||
:value="cycleCoerced"
|
||||
title="胁迫掌静脉"
|
||||
@change="changeCoerced('cycle', $event)"
|
||||
:placeholder="placeholder"
|
||||
></LockSwitch>
|
||||
</view>
|
||||
<view class="button" @click="create('cycle')">下一步</view>
|
||||
</swiper-item>
|
||||
</swiper>
|
||||
</view>
|
||||
</template>
|
||||
@ -101,6 +127,7 @@
|
||||
import { useUserStore } from '@/stores/user'
|
||||
import { useBluetoothStore } from '@/stores/bluetooth'
|
||||
import { checkPalmVeinNameRequest } from '@/api/palmVein'
|
||||
import { timeFormat } from 'uview-plus'
|
||||
|
||||
const instance = getCurrentInstance().proxy
|
||||
const eventChannel = instance.getOpenerEventChannel()
|
||||
@ -115,6 +142,9 @@
|
||||
},
|
||||
{
|
||||
name: '限时'
|
||||
},
|
||||
{
|
||||
name: '循环'
|
||||
}
|
||||
]
|
||||
|
||||
@ -128,6 +158,13 @@
|
||||
const temporaryAdmin = ref(false)
|
||||
const temporaryCoerced = ref(false)
|
||||
|
||||
const cycleName = ref('')
|
||||
const cycleStartTime = ref(null)
|
||||
const cycleEndTime = ref(null)
|
||||
const weekDays = ref([])
|
||||
const cycleAdmin = ref(false)
|
||||
const cycleCoerced = ref(false)
|
||||
|
||||
const minDate = ref(Number(new Date()))
|
||||
const maxDate = ref(Number(4133951940000))
|
||||
const currentIndex = ref(0)
|
||||
@ -143,6 +180,12 @@
|
||||
maxDate.value = Number(getFutureTimestamp())
|
||||
})
|
||||
|
||||
const changeCycle = data => {
|
||||
cycleStartTime.value = data.startDate
|
||||
cycleEndTime.value = data.endDate
|
||||
weekDays.value = data.weekDays
|
||||
}
|
||||
|
||||
const getNextFullHour = () => {
|
||||
const now = new Date()
|
||||
const currentHour = now.getHours()
|
||||
@ -176,7 +219,8 @@
|
||||
const create = async type => {
|
||||
if (
|
||||
(type === 'temporary' && temporaryName.value === '') ||
|
||||
(type === 'permanent' && permanentName.value === '')
|
||||
(type === 'permanent' && permanentName.value === '') ||
|
||||
(type === 'cycle' && cycleName.value === '')
|
||||
) {
|
||||
uni.showToast({
|
||||
title: '名称不能为空',
|
||||
@ -193,6 +237,14 @@
|
||||
return
|
||||
}
|
||||
|
||||
if (type === 'cycle' && weekDays.value.length === 0) {
|
||||
uni.showToast({
|
||||
title: '请选择有效期',
|
||||
icon: 'none'
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
const netWork = await $basic.getNetworkType()
|
||||
if (!netWork) {
|
||||
return
|
||||
@ -221,7 +273,7 @@
|
||||
startTime: '00:00',
|
||||
endTime: '00:00'
|
||||
}
|
||||
} else {
|
||||
} else if (type === 'temporary') {
|
||||
params = {
|
||||
...params,
|
||||
palmVeinName: temporaryName.value,
|
||||
@ -235,6 +287,20 @@
|
||||
startTime: '00:00',
|
||||
endTime: '00:00'
|
||||
}
|
||||
} else {
|
||||
params = {
|
||||
...params,
|
||||
palmVeinName: cycleName.value,
|
||||
isAdmin: cycleAdmin.value ? 1 : 0,
|
||||
isForce: cycleCoerced.value ? 1 : 0,
|
||||
weekDays: weekDays.value,
|
||||
palmVeinType: 4,
|
||||
isRound: 1,
|
||||
startDate: cycleStartTime.value,
|
||||
endDate: cycleEndTime.value,
|
||||
startTime: timeFormat(new Date(cycleStartTime.value), 'h:M'),
|
||||
endTime: timeFormat(new Date(cycleEndTime.value), 'h:M')
|
||||
}
|
||||
}
|
||||
|
||||
const { code, message } = await checkPalmVeinNameRequest({
|
||||
@ -264,8 +330,10 @@
|
||||
const changeName = (type, event) => {
|
||||
if (type === 'permanent') {
|
||||
permanentName.value = event
|
||||
} else {
|
||||
} else if (type === 'temporary') {
|
||||
temporaryName.value = event
|
||||
} else {
|
||||
cycleName.value = event
|
||||
}
|
||||
}
|
||||
|
||||
@ -280,16 +348,20 @@
|
||||
const changeAdmin = (type, event) => {
|
||||
if (type === 'permanent') {
|
||||
permanentAdmin.value = event.detail.value
|
||||
} else {
|
||||
} else if (type === 'temporary') {
|
||||
temporaryAdmin.value = event.detail.value
|
||||
} else {
|
||||
cycleAdmin.value = event.detail.value
|
||||
}
|
||||
}
|
||||
|
||||
const changeCoerced = (type, event) => {
|
||||
if (type === 'permanent') {
|
||||
permanentCoerced.value = event.detail.value
|
||||
} else {
|
||||
} else if (type === 'temporary') {
|
||||
temporaryCoerced.value = event.detail.value
|
||||
} else {
|
||||
cycleCoerced.value = event.detail.value
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -31,7 +31,7 @@
|
||||
></LockInput>
|
||||
<view class="button mt-5" @click="create('permanent')">下一步</view>
|
||||
</swiper-item>
|
||||
<swiper-item :style="{ height: deviceInfo.windowHeight - 44 + 'px' }">
|
||||
<swiper-item>
|
||||
<LockInput
|
||||
:value="temporaryName"
|
||||
title="姓名"
|
||||
@ -44,7 +44,6 @@
|
||||
:value="temporaryStartTime"
|
||||
:minDate="minDate"
|
||||
:maxDate="maxDate"
|
||||
type="datehour"
|
||||
@change-time="changeDate('temporaryStartTime', $event)"
|
||||
></LockDatetimePicker>
|
||||
</view>
|
||||
@ -54,12 +53,24 @@
|
||||
:value="temporaryEndTime"
|
||||
:minDate="minDate"
|
||||
:maxDate="maxDate"
|
||||
type="datehour"
|
||||
@change-time="changeDate('temporaryEndTime', $event)"
|
||||
></LockDatetimePicker>
|
||||
</view>
|
||||
<view class="button mt-5" @click="create('temporary')">下一步</view>
|
||||
</swiper-item>
|
||||
|
||||
<swiper-item>
|
||||
<LockInput
|
||||
:value="cycleName"
|
||||
title="姓名"
|
||||
placeholder="请输入"
|
||||
@change-input="changeName('cycle', $event)"
|
||||
></LockInput>
|
||||
<view class="mt-3">
|
||||
<LockCycle @change="changeCycle"></LockCycle>
|
||||
</view>
|
||||
<view class="button mt-5" @click="create('cycle')">下一步</view>
|
||||
</swiper-item>
|
||||
</swiper>
|
||||
</view>
|
||||
</template>
|
||||
@ -67,6 +78,7 @@
|
||||
<script setup>
|
||||
import { getCurrentInstance, ref } from 'vue'
|
||||
import { onLoad } from '@dcloudio/uni-app'
|
||||
import { timeFormat } from 'uview-plus'
|
||||
import { useBasicStore } from '@/stores/basic'
|
||||
import { useUserStore } from '@/stores/user'
|
||||
import { useBluetoothStore } from '@/stores/bluetooth'
|
||||
@ -85,6 +97,9 @@
|
||||
},
|
||||
{
|
||||
name: '限时'
|
||||
},
|
||||
{
|
||||
name: '循环'
|
||||
}
|
||||
]
|
||||
|
||||
@ -94,6 +109,11 @@
|
||||
const temporaryStartTime = ref(Number(new Date()))
|
||||
const temporaryEndTime = ref(Number(new Date()))
|
||||
|
||||
const cycleName = ref('')
|
||||
const cycleStartTime = ref(null)
|
||||
const cycleEndTime = ref(null)
|
||||
const weekDays = ref([])
|
||||
|
||||
const minDate = ref(Number(new Date()))
|
||||
const maxDate = ref(Number(4133951940000))
|
||||
const currentIndex = ref(0)
|
||||
@ -107,6 +127,12 @@
|
||||
maxDate.value = Number(getFutureTimestamp())
|
||||
})
|
||||
|
||||
const changeCycle = data => {
|
||||
cycleStartTime.value = data.startDate
|
||||
cycleEndTime.value = data.endDate
|
||||
weekDays.value = data.weekDays
|
||||
}
|
||||
|
||||
const getNextFullHour = () => {
|
||||
const now = new Date()
|
||||
const currentHour = now.getHours()
|
||||
@ -140,7 +166,8 @@
|
||||
const create = async type => {
|
||||
if (
|
||||
(type === 'temporary' && temporaryName.value === '') ||
|
||||
(type === 'permanent' && permanentName.value === '')
|
||||
(type === 'permanent' && permanentName.value === '') ||
|
||||
(type === 'cycle' && cycleName.value === '')
|
||||
) {
|
||||
uni.showToast({
|
||||
title: '名称不能为空',
|
||||
@ -157,6 +184,14 @@
|
||||
return
|
||||
}
|
||||
|
||||
if (type === 'cycle' && weekDays.value.length === 0) {
|
||||
uni.showToast({
|
||||
title: '请选择有效期',
|
||||
icon: 'none'
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
const netWork = await $basic.getNetworkType()
|
||||
if (!netWork) {
|
||||
return
|
||||
@ -183,7 +218,7 @@
|
||||
startTime: '00:00',
|
||||
endTime: '00:00'
|
||||
}
|
||||
} else {
|
||||
} else if (type === 'temporary') {
|
||||
params = {
|
||||
...params,
|
||||
remoteName: temporaryName.value,
|
||||
@ -195,6 +230,18 @@
|
||||
startTime: '00:00',
|
||||
endTime: '00:00'
|
||||
}
|
||||
} else {
|
||||
params = {
|
||||
...params,
|
||||
remoteName: cycleName.value,
|
||||
weekDays: weekDays.value,
|
||||
remoteType: 4,
|
||||
isRound: 1,
|
||||
startDate: cycleStartTime.value,
|
||||
endDate: cycleEndTime.value,
|
||||
startTime: timeFormat(new Date(cycleStartTime.value), 'h:M'),
|
||||
endTime: timeFormat(new Date(cycleEndTime.value), 'h:M')
|
||||
}
|
||||
}
|
||||
|
||||
const { code, message } = await checkRemoteNameRequest({
|
||||
@ -224,8 +271,10 @@
|
||||
const changeName = (type, event) => {
|
||||
if (type === 'permanent') {
|
||||
permanentName.value = event
|
||||
} else {
|
||||
} else if (type === 'temporary') {
|
||||
temporaryName.value = event
|
||||
} else {
|
||||
cycleName.value = event
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user