main
Wayne 2 years ago
parent aa59a1068f
commit 486aa23da7

@ -85,6 +85,10 @@ export const getUserFaviList = async (cate_id) =>
export const addUserFavi = async (params) => export const addUserFavi = async (params) =>
ajax(`/UserFavi/addUserFavi`, params, "POST"); ajax(`/UserFavi/addUserFavi`, params, "POST");
export const deleteUserFavi = async (id) =>
ajax(`/UserFavi/deleteUserFavi`, { id }, "GET");
export const setUserFaviCate = async (params) => export const setUserFaviCate = async (params) =>
ajax(`/UserFavi/setUserFaviCate`, params , "POST"); ajax(`/UserFavi/setUserFaviCate`, params , "POST");

@ -1,13 +1,16 @@
<script setup> <script setup>
import _ from 'lodash'; import _ from 'lodash';
import { showToast, showSuccessToast } from 'vant'; import { showToast, showSuccessToast, showConfirmDialog } from 'vant';
import { getUserFaviList import {
getUserFaviList
, getUserCateList , getUserCateList
, updateUserCate , updateUserCate
, setUserFaviCate , setUserFaviCate
, addUserFavi } from '@/api' , addUserFavi
, deleteUserFavi
} from '@/api'
import { onMounted, onBeforeMount, ref } from 'vue' import { onMounted, onBeforeMount, ref } from 'vue'
import { useRoute } from 'vue-router'; import { useRoute } from 'vue-router';
@ -24,32 +27,60 @@ const selectOpt2 = ref([{ text: '重要', value: '重要' }, { text: '普通', v
const addressList = ref([]); const addressList = ref([]);
onBeforeMount(async () => { onBeforeMount(async () => {
if(route.query.act === 'add'){ if (route.query.act === 'add') {
let res = await addUserFavi({uf_user_id : route.query.cardid}); let res = await addUserFavi({ uf_user_id: route.query.cardid });
} }
}); });
onMounted(async () => { onMounted(async () => {
initData();
getCateList();
});
const initData = async () => {
let res = await getUserFaviList(0); let res = await getUserFaviList(0);
if (res.code === 200) { if (res.code === 200) {
addressList.value = res.data; addressList.value = res.data;
} }
};
getCateList();
});
const getCateList = async () => { const getCateList = async () => {
let res = await getUserCateList(); let res = await getUserCateList();
if (res.code === 200) { if (res.code === 200) {
columns.value = [columns.value[0], ...res.data]; columns.value = [columns.value[0], ...res.data];
columns2.value = [columns2.value[0], ...res.data]; columns2.value = [columns2.value[0], ...res.data];
if(res.data.length > 0){ if (res.data.length > 0) {
modalForm.value.sort = res.data; modalForm.value.sort = res.data;
}else{ } else {
modalForm.value.sort = [_.cloneDeep(defaultCate)]; modalForm.value.sort = [_.cloneDeep(defaultCate)];
} }
} }
} }
const handleDeleteFavi = async (id) => {
// vant
showConfirmDialog({
title: '確認刪除',
message:
'是否確認刪除好友?',
cancelButtonText: '取消',
confirmButtonText: '確認',
})
.then(async () => {
let res = await deleteUserFavi(id);
if (res.code === 200) {
initData();
showSuccessToast('刪除成功')
} else {
showToast('刪除失敗')
}
})
.catch(() => {
});
};
// START: // START:
const fieldValue = ref('全部-全部'); const fieldValue = ref('全部-全部');
const showCatePicker = ref(false); const showCatePicker = ref(false);
@ -112,7 +143,7 @@ const handleChangeCate = (userId) => {
const onChangeCateConfirm = async (value) => { const onChangeCateConfirm = async (value) => {
let res = await setUserFaviCate({ uf_user_id: changeUserId.value,cate_id : value.selectedValues[1] }); let res = await setUserFaviCate({ uf_user_id: changeUserId.value, cate_id: value.selectedValues[1] });
if (res.code === 200) { if (res.code === 200) {
getCateList(); getCateList();
showSuccessToast('更新成功') showSuccessToast('更新成功')
@ -289,6 +320,9 @@ const onSubmit = async () => {
<van-button size="small" class="border-0" :url="`line://ti/p/@${item.line}`"> <van-button size="small" class="border-0" :url="`line://ti/p/@${item.line}`">
<h5><i class="fa-solid fa-share-nodes text-darkBlue"></i></h5> <h5><i class="fa-solid fa-share-nodes text-darkBlue"></i></h5>
</van-button> </van-button>
<van-button size="small" class="border-0" @click="handleDeleteFavi(item.id)">
<h5><i class="fa-solid fa-trash text-darkBlue"></i></h5>
</van-button>
</div> </div>
</div> </div>
@ -297,12 +331,7 @@ const onSubmit = async () => {
</van-cell-group> </van-cell-group>
</div> </div>
<!-- START: 編輯通訊錄 --> <!-- START: 編輯通訊錄 -->
<van-dialog <van-dialog v-model:show="setShowPicker" width="400" showCancelButton confirm-button-text="" @confirm="onSubmit">
v-model:show="setShowPicker"
width="400"
showCancelButton
confirm-button-text="確認修改"
@confirm="onSubmit">
<van-form @submit="onSubmit"> <van-form @submit="onSubmit">
<div id="app" class="address-block"> <div id="app" class="address-block">
@ -362,13 +391,8 @@ const onSubmit = async () => {
</van-dialog> </van-dialog>
<!-- END: 編輯通訊錄 --> <!-- END: 編輯通訊錄 -->
<van-popup v-model:show="showChangeCatePicker" round position="bottom"> <van-popup v-model:show="showChangeCatePicker" round position="bottom">
<van-picker <van-picker :columns="columns2" :columns-field-names="customFieldName" confirm-button-text=""
:columns="columns2" cancel-button-text="取消" @cancel="showChangeCatePicker = false" @confirm="onChangeCateConfirm"
:columns-field-names="customFieldName"
confirm-button-text="確認"
cancel-button-text="取消"
@cancel="showChangeCatePicker = false"
@confirm="onChangeCateConfirm"
@change="onChangeCateChange" /> @change="onChangeCateChange" />
</van-popup> </van-popup>
@ -462,7 +486,7 @@ const onSubmit = async () => {
} }
} }
.address-block{ .address-block {
max-height: 80vh; max-height: 80vh;
overflow-y: auto; overflow-y: auto;
} }

Loading…
Cancel
Save