|
|
|
@ -32,8 +32,6 @@ const router = useRouter()
|
|
|
|
|
|
|
|
|
|
|
|
const form = ref({ addon: [] })
|
|
|
|
const form = ref({ addon: [] })
|
|
|
|
|
|
|
|
|
|
|
|
const uInfoForm = ref({ addon: [] })
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const genderChecked = ref()
|
|
|
|
const genderChecked = ref()
|
|
|
|
|
|
|
|
|
|
|
|
const resourceActive = ref('1');
|
|
|
|
const resourceActive = ref('1');
|
|
|
|
@ -78,24 +76,16 @@ const crop = ref({
|
|
|
|
onMounted(async () => {
|
|
|
|
onMounted(async () => {
|
|
|
|
let userRes = await getUserInfo()
|
|
|
|
let userRes = await getUserInfo()
|
|
|
|
if (userRes.code === 200) {
|
|
|
|
if (userRes.code === 200) {
|
|
|
|
uInfoForm.value = userRes.data
|
|
|
|
form.value = userRes.data
|
|
|
|
console.log("userRes:",userRes)
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// let userExtraRes = await getUserExtra()
|
|
|
|
|
|
|
|
// console.log(userExtraRes.code)
|
|
|
|
|
|
|
|
// if (userExtraRes.code === 200) {
|
|
|
|
|
|
|
|
// // form.value = userExtraRes.data
|
|
|
|
|
|
|
|
// console.log("userExtraRes:",userExtraRes)
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//取得區域資料
|
|
|
|
//取得區域資料
|
|
|
|
let areaRes = await getAreaList()
|
|
|
|
let areaRes = await getAreaList()
|
|
|
|
if (areaRes.code === 200) {
|
|
|
|
if (areaRes.code === 200) {
|
|
|
|
areaColumns.value = areaRes.data
|
|
|
|
areaColumns.value = areaRes.data
|
|
|
|
//取得區域名稱
|
|
|
|
//取得區域名稱
|
|
|
|
if (areaRes.data.length > 0) {
|
|
|
|
if (areaRes.data.length > 0) {
|
|
|
|
areaName.value = _.find(areaRes.data, { value: uInfoForm.value.area }).text
|
|
|
|
areaName.value = _.find(areaRes.data, { value: form.value.area }).text
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -106,7 +96,7 @@ onMounted(async () => {
|
|
|
|
workColumns.value = workRes.data
|
|
|
|
workColumns.value = workRes.data
|
|
|
|
//取得工作性質名稱
|
|
|
|
//取得工作性質名稱
|
|
|
|
if (workRes.data.length > 0) {
|
|
|
|
if (workRes.data.length > 0) {
|
|
|
|
workName.value = _.find(workRes.data, { value: uInfoForm.value.work }).text
|
|
|
|
workName.value = _.find(workRes.data, { value: form.value.work }).text
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -195,27 +185,10 @@ const onSubmit = async () => {
|
|
|
|
message: '資料更新中...',
|
|
|
|
message: '資料更新中...',
|
|
|
|
forbidClick: true,
|
|
|
|
forbidClick: true,
|
|
|
|
});
|
|
|
|
});
|
|
|
|
// console.log(form.value,"test");
|
|
|
|
console.log(form.value,"test");
|
|
|
|
let res = await updateCard(form.value)
|
|
|
|
let res = await getUserInfo(form.value)
|
|
|
|
if (res.code === 200) {
|
|
|
|
|
|
|
|
showSuccessToast('更新成功')
|
|
|
|
|
|
|
|
router.push('/member')
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
showToast.fail('更新失敗')
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const userInfoSubmit = async (values) => {
|
|
|
|
|
|
|
|
showLoadingToast({
|
|
|
|
|
|
|
|
duration: 0,
|
|
|
|
|
|
|
|
message: '資料更新中...',
|
|
|
|
|
|
|
|
forbidClick: true,
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let res = await updateUserInfo(values)
|
|
|
|
|
|
|
|
if (res.code === 200) {
|
|
|
|
if (res.code === 200) {
|
|
|
|
showSuccessToast('更新成功')
|
|
|
|
showSuccessToast('更新成功')
|
|
|
|
userStore.getUserData();
|
|
|
|
|
|
|
|
router.push('/member')
|
|
|
|
router.push('/member')
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
showToast.fail('更新失敗')
|
|
|
|
showToast.fail('更新失敗')
|
|
|
|
@ -226,28 +199,13 @@ const searchChecked = ref(true);
|
|
|
|
const searchOnUpdateValue = (newValue) => {
|
|
|
|
const searchOnUpdateValue = (newValue) => {
|
|
|
|
showConfirmDialog({
|
|
|
|
showConfirmDialog({
|
|
|
|
title: '提醒',
|
|
|
|
title: '提醒',
|
|
|
|
message: '是否切换开关?',
|
|
|
|
message: '是否切换開關?',
|
|
|
|
}).then(() => {
|
|
|
|
}).then(() => {
|
|
|
|
searchChecked.value = newValue;
|
|
|
|
searchChecked.value = newValue;
|
|
|
|
});
|
|
|
|
});
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const userExtraSubmit = async (values) => {
|
|
|
|
|
|
|
|
// showLoadingToast({
|
|
|
|
|
|
|
|
// duration: 0,
|
|
|
|
|
|
|
|
// message: '資料更新中...',
|
|
|
|
|
|
|
|
// forbidClick: true,
|
|
|
|
|
|
|
|
// });
|
|
|
|
|
|
|
|
let res = await updateUserExtra(values)
|
|
|
|
|
|
|
|
if (res.code === 200) {
|
|
|
|
|
|
|
|
showSuccessToast('更新成功')
|
|
|
|
|
|
|
|
// router.push('/member')
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
showFailToast('更新失敗')
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 區域
|
|
|
|
// 區域
|
|
|
|
const showAreaPicker = ref(false);
|
|
|
|
const showAreaPicker = ref(false);
|
|
|
|
const areaColumns = ref([]);
|
|
|
|
const areaColumns = ref([]);
|
|
|
|
@ -255,7 +213,7 @@ const areaName = ref('');
|
|
|
|
|
|
|
|
|
|
|
|
const onAreaConfirm = (value) => {
|
|
|
|
const onAreaConfirm = (value) => {
|
|
|
|
areaName.value = value.selectedOptions[0].text
|
|
|
|
areaName.value = value.selectedOptions[0].text
|
|
|
|
uInfoForm.area = value.selectedOptions[0].value
|
|
|
|
form.value.area = value.selectedOptions[0].value
|
|
|
|
showAreaPicker.value = false
|
|
|
|
showAreaPicker.value = false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -266,45 +224,12 @@ const workName = ref('');
|
|
|
|
|
|
|
|
|
|
|
|
const onWorkConfirm = (value) => {
|
|
|
|
const onWorkConfirm = (value) => {
|
|
|
|
workName.value = value.selectedOptions[0].text
|
|
|
|
workName.value = value.selectedOptions[0].text
|
|
|
|
uInfoForm.work = value.selectedOptions[0].value
|
|
|
|
form.value.work = value.selectedOptions[0].value
|
|
|
|
showAreaPicker.value = false
|
|
|
|
showAreaPicker.value = false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// END: 基本資料
|
|
|
|
// END: 基本資料
|
|
|
|
|
|
|
|
|
|
|
|
// START: 社群分享
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const userLinkSubmit = async (values) => {
|
|
|
|
|
|
|
|
// showLoadingToast({
|
|
|
|
|
|
|
|
// duration: 0,
|
|
|
|
|
|
|
|
// message: '資料更新中...',
|
|
|
|
|
|
|
|
// forbidClick: true,
|
|
|
|
|
|
|
|
// });
|
|
|
|
|
|
|
|
let res = await updateUserLink(values)
|
|
|
|
|
|
|
|
if (res.code === 200) {
|
|
|
|
|
|
|
|
showSuccessToast('更新成功')
|
|
|
|
|
|
|
|
// router.push('/member')
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
showFailToast('更新失敗')
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const userAddonSubmit = async (values) => {
|
|
|
|
|
|
|
|
// showLoadingToast({
|
|
|
|
|
|
|
|
// duration: 0,
|
|
|
|
|
|
|
|
// message: '資料更新中...',
|
|
|
|
|
|
|
|
// forbidClick: true,
|
|
|
|
|
|
|
|
// });
|
|
|
|
|
|
|
|
console.log(form.value.addon)
|
|
|
|
|
|
|
|
let res = await updateUserAddon(form.value.addon)
|
|
|
|
|
|
|
|
if (res.code === 200) {
|
|
|
|
|
|
|
|
showSuccessToast('更新成功')
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
showFailToast('更新失敗')
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// END: 社群分享
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -452,12 +377,12 @@ const handleChangeTplSubmit = async() => {
|
|
|
|
</van-tabs>
|
|
|
|
</van-tabs>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="content cnt0" v-show="tabActive === 0">
|
|
|
|
<div class="content cnt0" v-show="tabActive === 0">
|
|
|
|
<van-cell-group inset>
|
|
|
|
<van-form @submit="onSubmit">
|
|
|
|
<van-form @submit="userInfoSubmit">
|
|
|
|
<van-cell-group inset>
|
|
|
|
<div class="text-center p-4">
|
|
|
|
<div class="text-center p-4">
|
|
|
|
<van-uploader :after-read="afterRead" :max-count="1" name="avatar" class="mb-4">
|
|
|
|
<van-uploader :after-read="afterRead" :max-count="1" name="avatar" class="mb-4">
|
|
|
|
<div class="upload-main">
|
|
|
|
<div class="upload-main">
|
|
|
|
<img class="upload-img avatar" :src="uInfoForm.avatar" alt="" v-if="uInfoForm.avatar" />
|
|
|
|
<img class="upload-img avatar" :src="form.avatar" alt="" v-if="form.avatar" />
|
|
|
|
<img class="upload-img avatar" src="@/assets/images/upload.jpg" alt="" v-else />
|
|
|
|
<img class="upload-img avatar" src="@/assets/images/upload.jpg" alt="" v-else />
|
|
|
|
<div class="ml-3">
|
|
|
|
<div class="ml-3">
|
|
|
|
<p class="text-skyBlue mb-2">上傳圖片,預設為Line頭像</p>
|
|
|
|
<p class="text-skyBlue mb-2">上傳圖片,預設為Line頭像</p>
|
|
|
|
@ -465,38 +390,38 @@ const handleChangeTplSubmit = async() => {
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</van-uploader>
|
|
|
|
</van-uploader>
|
|
|
|
<van-field v-model="uInfoForm.mark" rows="3" type="textarea" maxlength="100" name="mark" placeholder="請輸入100字以內的簡介"
|
|
|
|
<van-field v-model="form.mark" rows="3" type="textarea" maxlength="100" name="mark" placeholder="請輸入100字以內的簡介"
|
|
|
|
show-word-limit :style="{ border: '1px #e3e3e3 solid', borderRadius: '6px' }" />
|
|
|
|
show-word-limit :style="{ border: '1px #e3e3e3 solid', borderRadius: '6px' }" />
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<van-field v-model="uInfoForm.real_name" label="姓名" name="real_name" placeholder="請輸入您的姓名"
|
|
|
|
<van-field v-model="form.real_name" label="姓名" name="real_name" placeholder="請輸入您的姓名"
|
|
|
|
:rules="[{ required: true, message: '姓名為必填' }]" />
|
|
|
|
:rules="[{ required: true, message: '姓名為必填' }]" />
|
|
|
|
<van-field v-model="uInfoForm.company" label="公司名稱" name="company" placeholder="請輸入您的公司名稱"
|
|
|
|
<van-field v-model="form.company" label="公司名稱" name="company" placeholder="請輸入您的公司名稱"
|
|
|
|
:rules="[{ required: true, message: '公司名稱必填' }]" />
|
|
|
|
:rules="[{ required: true, message: '公司名稱必填' }]" />
|
|
|
|
<van-field v-model="uInfoForm.title" label="職稱" name="title" placeholder="請輸入您的職稱" />
|
|
|
|
<van-field v-model="form.title" label="職稱" name="title" placeholder="請輸入您的職稱" />
|
|
|
|
<van-field v-model="uInfoForm.phone" label="手機" name="phone" type="tel" placeholder="Ex. 0900000001 不要有空格"
|
|
|
|
<van-field v-model="form.phone" label="手機" name="phone" type="tel" placeholder="Ex. 0900000001 不要有空格"
|
|
|
|
:rules="[{ required: true, message: '手機號必填' }, { pattern: /\d{10}/, message: '手機號格式錯誤' }]" />
|
|
|
|
:rules="[{ required: true, message: '手機號必填' }, { pattern: /\d{10}/, message: '手機號格式錯誤' }]" />
|
|
|
|
<van-field v-model="uInfoForm.tel" label="市話" name="tel" type="tel" placeholder="請輸入您的市話"
|
|
|
|
<van-field v-model="form.tel" label="市話" name="tel" type="tel" placeholder="請輸入您的市話"
|
|
|
|
:rules="[{ validator: validatorTel, message: '市話格式不正確,Ex. 02xxxx or 02-xxxx' }]" />
|
|
|
|
:rules="[{ validator: validatorTel, message: '市話格式不正確,Ex. 02xxxx or 02-xxxx' }]" />
|
|
|
|
<van-field v-model="uInfoForm.email" label="Email" name="email" placeholder="請輸入您的Email"
|
|
|
|
<van-field v-model="form.email" label="Email" name="email" placeholder="請輸入您的Email"
|
|
|
|
:rules="[{ required: true, message: 'Email必填' }, { pattern: /^([\w\.\-]){1,64}\@([\w\.\-]){1,64}/, message: 'Email格式錯誤' }]" />
|
|
|
|
:rules="[{ required: true, message: 'Email必填' }, { pattern: /^([\w\.\-]){1,64}\@([\w\.\-]){1,64}/, message: 'Email格式錯誤' }]" />
|
|
|
|
<van-field v-model="uInfoForm.address" label="住址" name="address" placeholder="請輸入您的地址" />
|
|
|
|
<van-field v-model="form.address" label="住址" name="address" placeholder="請輸入您的地址" />
|
|
|
|
<van-field v-model="uInfoForm.age" label="年齡" name="age" placeholder="請輸入您的年齡" />
|
|
|
|
<van-field v-model="form.age" label="年齡" name="age" placeholder="請輸入您的年齡" />
|
|
|
|
<van-field name="sex" label="性別">
|
|
|
|
<van-field name="sex" label="性別">
|
|
|
|
<template #input>
|
|
|
|
<template #input>
|
|
|
|
<van-radio-group v-model="uInfoForm.sex" direction="horizontal" checked-color="#5b7b94">
|
|
|
|
<van-radio-group v-model="form.sex" direction="horizontal" checked-color="#5b7b94">
|
|
|
|
<van-radio name="0">男</van-radio>
|
|
|
|
<van-radio name="0">男</van-radio>
|
|
|
|
<van-radio name="1">女</van-radio>
|
|
|
|
<van-radio name="1">女</van-radio>
|
|
|
|
</van-radio-group>
|
|
|
|
</van-radio-group>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</van-field>
|
|
|
|
</van-field>
|
|
|
|
|
|
|
|
|
|
|
|
<van-field v-model="uInfoForm.area" is-link readonly name="area" label="區域" placeholder="請選擇區域"
|
|
|
|
<van-field v-model="form.area" is-link readonly name="area" label="區域" placeholder="請選擇區域"
|
|
|
|
@click="showAreaPicker = true" />
|
|
|
|
@click="showAreaPicker = true" />
|
|
|
|
<van-popup v-model:show="showAreaPicker" position="bottom">
|
|
|
|
<van-popup v-model:show="showAreaPicker" position="bottom">
|
|
|
|
<van-picker :columns="areaColumns" confirm-button-text="確認" cancel-button-text="取消" @confirm="onAreaConfirm" @cancel="showAreaPicker = false" />
|
|
|
|
<van-picker :columns="areaColumns" confirm-button-text="確認" cancel-button-text="取消" @confirm="onAreaConfirm" @cancel="showAreaPicker = false" />
|
|
|
|
</van-popup>
|
|
|
|
</van-popup>
|
|
|
|
<van-field v-model="uInfoForm.work" is-link readonly name="work" label="工作性質" placeholder="請選擇工作性質"
|
|
|
|
<van-field v-model="form.work" is-link readonly name="work" label="工作性質" placeholder="請選擇工作性質"
|
|
|
|
@click="showWorkPicker = true" />
|
|
|
|
@click="showWorkPicker = true" />
|
|
|
|
<van-popup v-model:show="showWorkPicker" position="bottom">
|
|
|
|
<van-popup v-model:show="showWorkPicker" position="bottom">
|
|
|
|
<van-picker :columns="workColumns" confirm-button-text="確認" cancel-button-text="取消" @confirm="onWorkConfirm" @cancel="showWorkPicker = false" />
|
|
|
|
<van-picker :columns="workColumns" confirm-button-text="確認" cancel-button-text="取消" @confirm="onWorkConfirm" @cancel="showWorkPicker = false" />
|
|
|
|
@ -509,19 +434,9 @@ const handleChangeTplSubmit = async() => {
|
|
|
|
active-color="#5b7b94" inactive-color="#888888" />
|
|
|
|
active-color="#5b7b94" inactive-color="#888888" />
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</van-field>
|
|
|
|
</van-field>
|
|
|
|
|
|
|
|
</van-cell-group>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<van-cell-group inset v-if="userStore.userData.level === 3">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="p-5">
|
|
|
|
|
|
|
|
<van-button block class="btn-darkBlue" native-type="submit">
|
|
|
|
|
|
|
|
確認修改
|
|
|
|
|
|
|
|
</van-button>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</van-form>
|
|
|
|
|
|
|
|
</van-cell-group>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<van-cell-group inset v-if="userStore.userData.level === 3">
|
|
|
|
|
|
|
|
<van-form @submit="userExtraSubmit">
|
|
|
|
|
|
|
|
<van-cell class="text-center bg-lightPink py-3">
|
|
|
|
<van-cell class="text-center bg-lightPink py-3">
|
|
|
|
<template #title>
|
|
|
|
<template #title>
|
|
|
|
<h6 class="text-darkBlue"><strong>人脈資訊</strong></h6>
|
|
|
|
<h6 class="text-darkBlue"><strong>人脈資訊</strong></h6>
|
|
|
|
@ -560,19 +475,19 @@ const handleChangeTplSubmit = async() => {
|
|
|
|
<van-field v-model="form.demand_link" label="分享網址:" name="demand_link" placeholder="需求連結" />
|
|
|
|
<van-field v-model="form.demand_link" label="分享網址:" name="demand_link" placeholder="需求連結" />
|
|
|
|
</van-collapse-item>
|
|
|
|
</van-collapse-item>
|
|
|
|
</van-collapse>
|
|
|
|
</van-collapse>
|
|
|
|
|
|
|
|
</van-cell-group>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="p-5">
|
|
|
|
<van-sticky :container="page" position="bottom">
|
|
|
|
<van-button block class="btn-darkBlue" native-type="submit">
|
|
|
|
<div class="bottomBtnCnt">
|
|
|
|
確認修改
|
|
|
|
<van-button block class="btn-darkBlue" native-type="submit">確認修改</van-button>
|
|
|
|
</van-button>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</van-form>
|
|
|
|
</van-sticky>
|
|
|
|
</van-cell-group>
|
|
|
|
</van-form>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="content cnt1" v-show="tabActive === 1">
|
|
|
|
<div class="content cnt1" v-show="tabActive === 1">
|
|
|
|
<van-cell-group inset>
|
|
|
|
<van-form @submit="onSubmit">
|
|
|
|
<van-form @submit="userLinkSubmit">
|
|
|
|
<van-cell-group inset>
|
|
|
|
<van-field v-model="form.url" label="個人網頁" name="url" placeholder="請輸入您的個人網頁" />
|
|
|
|
<van-field v-model="form.url" label="個人網頁" name="url" placeholder="請輸入您的個人網頁" />
|
|
|
|
<van-field v-model="form.line" label="Line" name="line" placeholder="請輸入您的Line ID" />
|
|
|
|
<van-field v-model="form.line" label="Line" name="line" placeholder="請輸入您的Line ID" />
|
|
|
|
<van-field v-model="form.facebook" label="Facebook" name="facebook" placeholder="請輸入您的Facebook" />
|
|
|
|
<van-field v-model="form.facebook" label="Facebook" name="facebook" placeholder="請輸入您的Facebook" />
|
|
|
|
@ -580,23 +495,15 @@ const handleChangeTplSubmit = async() => {
|
|
|
|
<van-field v-model="form.youtube" label="YouTube" name="youtube" placeholder="請輸入您的YouTube" />
|
|
|
|
<van-field v-model="form.youtube" label="YouTube" name="youtube" placeholder="請輸入您的YouTube" />
|
|
|
|
<van-field v-model="form.wechat" label="WeChat" name="wechat" placeholder="請輸入您的WeChat" />
|
|
|
|
<van-field v-model="form.wechat" label="WeChat" name="wechat" placeholder="請輸入您的WeChat" />
|
|
|
|
<van-field v-model="form.tiktok" label="Tiktok" name="tiktok" placeholder="請輸入您的Tiktok" />
|
|
|
|
<van-field v-model="form.tiktok" label="Tiktok" name="tiktok" placeholder="請輸入您的Tiktok" />
|
|
|
|
|
|
|
|
</van-cell-group>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="px-5 py-4">
|
|
|
|
<van-cell-group inset>
|
|
|
|
<van-button block class="btn-darkBlue" native-type="submit">
|
|
|
|
|
|
|
|
<h6>確認修改</h6>
|
|
|
|
|
|
|
|
</van-button>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</van-form>
|
|
|
|
|
|
|
|
</van-cell-group>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<van-cell-group inset>
|
|
|
|
|
|
|
|
<van-form @submit="userAddonSubmit">
|
|
|
|
|
|
|
|
<van-cell class="bg-lightPink">
|
|
|
|
<van-cell class="bg-lightPink">
|
|
|
|
<template #title>
|
|
|
|
<template #title>
|
|
|
|
<h6 class="text-darkBlue"><strong>相關連結</strong></h6>
|
|
|
|
<h6 class="text-darkBlue"><strong>相關連結</strong></h6>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
<template #value>
|
|
|
|
<template #value>
|
|
|
|
<van-button size="small" class="btn-outline-darkBlue" @click="onAddBtn">
|
|
|
|
<van-button size="small" @click="onAddBtn">
|
|
|
|
<h6>新增連結</h6>
|
|
|
|
<h6>新增連結</h6>
|
|
|
|
</van-button>
|
|
|
|
</van-button>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
@ -604,7 +511,7 @@ const handleChangeTplSubmit = async() => {
|
|
|
|
|
|
|
|
|
|
|
|
<van-field v-for="(item, idx) in form.addon" :key="idx">
|
|
|
|
<van-field v-for="(item, idx) in form.addon" :key="idx">
|
|
|
|
<template #label>
|
|
|
|
<template #label>
|
|
|
|
<van-field v-model="item.name" name="" maxlength="10" placeholder="請輸入您的連結名稱"
|
|
|
|
<van-field v-model="item.name" name="" maxlength="15" placeholder="請輸入名稱"
|
|
|
|
:rules="[{ required: true, message: '連結名稱必填' }]" />
|
|
|
|
:rules="[{ required: true, message: '連結名稱必填' }]" />
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
<template #input>
|
|
|
|
<template #input>
|
|
|
|
@ -620,36 +527,14 @@ const handleChangeTplSubmit = async() => {
|
|
|
|
@click="onMoveBtn(1, idx)"></van-button>
|
|
|
|
@click="onMoveBtn(1, idx)"></van-button>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</van-field>
|
|
|
|
</van-field>
|
|
|
|
|
|
|
|
</van-cell-group>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- <van-swipe-cell v-for="(item,idx) in form.addon" :key="idx">
|
|
|
|
<van-sticky :container="page" position="bottom">
|
|
|
|
<template #left>
|
|
|
|
<div class="bottomBtnCnt">
|
|
|
|
<van-button type="danger" icon="delete-o" plain hairline @click="onDelBtn(idx)">刪除</van-button>
|
|
|
|
<van-button block class="btn-darkBlue" native-type="submit">確認修改</van-button>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<van-field
|
|
|
|
|
|
|
|
v-model="item.name"
|
|
|
|
|
|
|
|
name=""
|
|
|
|
|
|
|
|
placeholder="請輸入您的連結名稱"
|
|
|
|
|
|
|
|
:rules="[{ required: true, message: '連結名稱必填' }]"
|
|
|
|
|
|
|
|
/>
|
|
|
|
|
|
|
|
<van-field
|
|
|
|
|
|
|
|
v-model="item.link"
|
|
|
|
|
|
|
|
name=""
|
|
|
|
|
|
|
|
placeholder="請輸入您的按鈕連結"
|
|
|
|
|
|
|
|
:rules="[{ pattern: /^([\w\.\-]){1,64}\@([\w\.\-]){1,64}/ , message: 'Email格式錯誤' }]"
|
|
|
|
|
|
|
|
/>
|
|
|
|
|
|
|
|
<template #right>
|
|
|
|
|
|
|
|
<van-button type="primary" icon="arrow-up" plain hairline @click="onMoveBtn(0,idx)">上移</van-button>
|
|
|
|
|
|
|
|
<van-button type="primary" icon="arrow-down" plain hairline @click="onMoveBtn(1,idx)">下移</van-button>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
</van-swipe-cell> -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="px-5 py-4">
|
|
|
|
|
|
|
|
<van-button block class="btn-darkBlue" native-type="submit">
|
|
|
|
|
|
|
|
<h6>確認修改</h6>
|
|
|
|
|
|
|
|
</van-button>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</van-form>
|
|
|
|
</van-sticky>
|
|
|
|
</van-cell-group>
|
|
|
|
</van-form>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="content cnt2" v-show="tabActive === 2">
|
|
|
|
<div class="content cnt2" v-show="tabActive === 2">
|
|
|
|
@ -744,37 +629,37 @@ const handleChangeTplSubmit = async() => {
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="content cnt3" v-show="tabActive === 3">
|
|
|
|
<div class="content cnt3" v-show="tabActive === 3">
|
|
|
|
<van-cell-group inset>
|
|
|
|
<van-form>
|
|
|
|
<van-form>
|
|
|
|
<van-cell-group inset>
|
|
|
|
<div class="block">
|
|
|
|
<div class="block">
|
|
|
|
<van-image width="100%" position="top" fit="cover" :src="selectedTpl" />
|
|
|
|
<van-image width="100%" position="top" fit="cover" :src="selectedTpl" />
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</van-cell-group>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="d-flex justify-content-center py-3">
|
|
|
|
<van-cell-group inset>
|
|
|
|
<van-button class="btn-darkBlue px-5" @click="handleChangeTplSubmit">
|
|
|
|
<van-cell class="text-center bg-lightPink py-3">
|
|
|
|
<i class="fa-regular fa-pen-to-square text-white"></i> 確認修改
|
|
|
|
<template #title>
|
|
|
|
</van-button>
|
|
|
|
<h6 class="text-darkBlue"><strong>NFC感應式版型切換</strong></h6>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
</van-form>
|
|
|
|
</van-cell>
|
|
|
|
</van-cell-group>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<van-cell-group inset>
|
|
|
|
|
|
|
|
<van-cell class="text-center bg-lightPink py-3">
|
|
|
|
|
|
|
|
<template #title>
|
|
|
|
|
|
|
|
<h6 class="text-darkBlue"><strong>NFC感應式版型切換</strong></h6>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
</van-cell>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<van-row>
|
|
|
|
<van-row>
|
|
|
|
<van-col span="12" v-for="(item, index) in tab3list" :key="index">
|
|
|
|
<van-col span="12" v-for="(item, index) in tab3list" :key="index">
|
|
|
|
<div class="imgBtn" :data-id="index" @click="handleSelectTpl(item.id)">
|
|
|
|
<div class="imgBtn" :data-id="index" @click="handleSelectTpl(item.id)">
|
|
|
|
<div class="imgCnt">
|
|
|
|
<div class="imgCnt">
|
|
|
|
<van-image :src="item.image" />
|
|
|
|
<van-image :src="item.image" />
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</van-col>
|
|
|
|
</van-col>
|
|
|
|
</van-row>
|
|
|
|
</van-row>
|
|
|
|
</van-cell-group>
|
|
|
|
</van-cell-group>
|
|
|
|
|
|
|
|
|
|
|
|
<van-sticky :container="page" position="bottom">
|
|
|
|
|
|
|
|
<div class="bottomBtnCnt">
|
|
|
|
|
|
|
|
<van-button block class="btn-darkBlue" @click="handleChangeTplSubmit">確認修改</van-button>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</van-sticky>
|
|
|
|
|
|
|
|
</van-form>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- <Footer/> -->
|
|
|
|
<!-- <Footer/> -->
|
|
|
|
@ -803,6 +688,7 @@ const handleChangeTplSubmit = async() => {
|
|
|
|
.member{
|
|
|
|
.member{
|
|
|
|
.content{
|
|
|
|
.content{
|
|
|
|
min-height: calc(100vh - 142px);
|
|
|
|
min-height: calc(100vh - 142px);
|
|
|
|
|
|
|
|
padding-bottom: 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
.cnt2 {
|
|
|
|
.cnt2 {
|
|
|
|
.van-list {
|
|
|
|
.van-list {
|
|
|
|
|