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