|
|
@@ -9,13 +9,13 @@
|
|
|
<div class="mb-6">联系电话:{{ info?.tel }}</div>
|
|
|
<div>签到二维码</div>
|
|
|
<div class="d-flex j-c a-c pd-20">
|
|
|
- <vueQr :text="VITE_APP_SHARE_QR_CODE_URL + '/meeting-sign-in?meetid=' + info?.id" :size="300"></vueQr>
|
|
|
+ <vueQr :text="qrCode" :size="300"></vueQr>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
<div class="d-flex j-c">
|
|
|
- <el-button @click="saveImg">保存签到二维码</el-button>
|
|
|
+ <!-- <el-button @click="saveImg">保存签到二维码</el-button> -->
|
|
|
</div>
|
|
|
</template>
|
|
|
</vxe-modal>
|
|
|
@@ -36,9 +36,25 @@ const props = defineProps({
|
|
|
const VITE_APP_SHARE_QR_CODE_URL = ref(import.meta.env.VITE_APP_SHARE_QR_CODE_URL);
|
|
|
const dialogVisible = ref(false);
|
|
|
const close = () => {
|
|
|
+ if (timer.value) {
|
|
|
+ clearTimeout(timer.value);
|
|
|
+ }
|
|
|
emit('update:show', false);
|
|
|
emit('close', false);
|
|
|
};
|
|
|
+const qrCode = ref<string>(`${VITE_APP_SHARE_QR_CODE_URL.value}/meeting-sign-in?meetid=${props?.info?.id}&state=${new Date().getTime()}`);
|
|
|
+// 5s设置一次二维码qrCode setTimeout
|
|
|
+const timer = ref<any>(null);
|
|
|
+const setQrCode = () => {
|
|
|
+ if (timer.value) {
|
|
|
+ clearTimeout(timer.value);
|
|
|
+ }
|
|
|
+ timer.value = setTimeout(() => {
|
|
|
+ qrCode.value = `${VITE_APP_SHARE_QR_CODE_URL.value}/meeting-sign-in?meetid=${props?.info?.id}&state=${new Date().getTime()}`;
|
|
|
+ setQrCode();
|
|
|
+ }, 5000);
|
|
|
+}
|
|
|
+
|
|
|
const codeImgRef = ref<HTMLElement | null>(null);
|
|
|
const saveImg = () => {
|
|
|
html2canvas(codeImgRef.value, {
|
|
|
@@ -57,6 +73,9 @@ watch(
|
|
|
() => props.show,
|
|
|
(val) => {
|
|
|
dialogVisible.value = val;
|
|
|
+ if (val) {
|
|
|
+ setQrCode();
|
|
|
+ }
|
|
|
},
|
|
|
{ immediate: true }
|
|
|
);
|