diff --git a/src/api/card.js b/src/api/card.js index 8aadade..c8046e4 100644 --- a/src/api/card.js +++ b/src/api/card.js @@ -2,4 +2,9 @@ import ajax from "./ajax"; export const getCardData = async () => ajax(`/Card/getCardData`); - \ No newline at end of file + +export const updateRemark = async (params) => + ajax(`/card/updateRemark`, params, "POST"); + +export const updateIsSend = async (params) => + ajax(`/card/updateIsSend`, params, "POST"); diff --git a/src/api/index.js b/src/api/index.js index 19a1344..4ddad48 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -100,4 +100,3 @@ export const getUserCateList = async () => export const updateUserCate = async (params) => ajax(`/UserCate/updateUserCate`, params, "POST"); - diff --git a/src/utils/card2.js b/src/utils/card2.js index d61251c..74d93b9 100644 --- a/src/utils/card2.js +++ b/src/utils/card2.js @@ -96,9 +96,9 @@ function genCard1(ctx) { altText: vcard.altText, contents: { type: "carousel", - contents: _.map(vcard.cards, (card, cardIdx) => - renderCard({ ...ctx, card, cardIdx }) - ), + contents: vcard.cards + .filter(card => card.isSend === true) + .map((card, cardIdx) => renderCard({ ...ctx, card, cardIdx })) }, }; } diff --git a/src/views/Card/Edit.vue b/src/views/Card/Edit.vue index cab2447..708f004 100644 --- a/src/views/Card/Edit.vue +++ b/src/views/Card/Edit.vue @@ -2,11 +2,11 @@ import Footer from "@/components/Footer.vue"; import FlexView from "@/components/FlexView.vue"; -import { ref, onMounted , watch, computed, nextTick } from "vue"; +import { ref, onMounted, watch, computed, nextTick } from "vue"; import { useCardStore } from '@/store/card' -import { useRouter,useRoute } from "vue-router"; +import { useRouter, useRoute } from "vue-router"; import axios from "axios"; import _ from "lodash"; @@ -54,6 +54,8 @@ const form = ref({ titleSize: "xl", cards: [ { + isSend: false, + aIsSend: false, bgColor: "#ffffff", desc: "", descColor: "#000000", @@ -80,7 +82,9 @@ const defaultTheme = { descSize: "sm", titleColor: "#000000", ratio: "4:3", - isShow: true + isShow: true, + isSend: false, + aIsSend: false, } const userid = ref(route.query.user_id || null) @@ -88,17 +92,17 @@ const userid = ref(route.query.user_id || null) onMounted(async () => { // 判斷query參數是否有userid - if(userid.value){ - let res = await getCusCard( {userid: userid.value} ) - - if(res.code===200){ - if(res.data.cus_card && res.data.cus_card.length>0){ - form.value = JSON.parse(res.data.cus_card) - } - } - }else{ + if (userid.value) { + let res = await getCusCard({ userid: userid.value }) + + if (res.code === 200) { + if (res.data.cus_card && res.data.cus_card.length > 0) { + form.value = JSON.parse(res.data.cus_card) + } + } + } else { if (cardStore.cusCard.cus_card && cardStore.cusCard.cus_card.length > 0) { - form.value = JSON.parse(cardStore.cusCard.cus_card); + form.value = JSON.parse(cardStore.cusCard.cus_card); } } @@ -232,6 +236,15 @@ const moveBtn = (type, index) => { } }; +const handleChangeIsSend = () => { + // 檢查form.json5.cards裏,isSend為true的數量是否大於10 + let isSendCount = form.value.json5.cards.filter(card => card.isSend).length + if (isSendCount > 10) { + showFailToast('最多只能設定10張卡片為發送') + form.value.json5.cards[form.value.page - 1].isSend = false + } +} + const afterRead = async (file, name) => { crop.value.show = true const ofile = file.file @@ -351,6 +364,7 @@ const handleDelete = () => { }; const handlePreview = () => { + router.push({ name: "CardPreview", state: { content: JSON.stringify(form.value) }, @@ -370,13 +384,13 @@ const onDescSizeConfirm = ({ selectedOptions }) => { }; const handleSubmit = async () => { - let user_id; + let user_id; - if(!userid.value){ - user_id= sessionStorage.getItem("uid"); - }else{ - user_id = userid.value; - } + if (!userid.value) { + user_id = sessionStorage.getItem("uid"); + } else { + user_id = userid.value; + } showLoadingToast({ duration: 0, @@ -391,21 +405,21 @@ const handleSubmit = async () => { user_id: user_id, }; - if(!userid.value){ + if (!userid.value) { let res = cardStore.updateCusCard(cusCard); if (res) { - showSuccessToast("建立成功"); + showSuccessToast("建立成功"); } else { - showFailToast("建立失敗"); + showFailToast("建立失敗"); } router.push("/card"); - }else{ + } else { let res = await updateCusCard(cusCard); if (res.code === 200) { - showSuccessToast("建立成功"); + showSuccessToast("建立成功"); } else { - showFailToast("建立失敗"); + showFailToast("建立失敗"); } router.push("/auth/getauth"); } @@ -413,9 +427,9 @@ const handleSubmit = async () => { }; const goBack = () => { - if(!userid.value){ + if (!userid.value) { router.push('/') - }else{ + } else { router.push('/auth/getauth') } }; @@ -444,7 +458,7 @@ const goBack = () => {