|
|
|
|
@ -1,121 +1,151 @@
|
|
|
|
|
<script setup>
|
|
|
|
|
import _ from 'lodash';
|
|
|
|
|
|
|
|
|
|
import { showToast,showSuccessToast , showLoadingToast } from 'vant';
|
|
|
|
|
import { showToast, showSuccessToast, showLoadingToast } from 'vant';
|
|
|
|
|
|
|
|
|
|
import { getUserFaviList, getUserCateList, updateUserCate } from '@/api'
|
|
|
|
|
import { getUserFaviList, getUserCateList, updateUserCate, setUserFaviCate } from '@/api'
|
|
|
|
|
|
|
|
|
|
import { onMounted, reactive, ref, toRefs, computed, watch } from 'vue'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const setShowPicker = ref(false);
|
|
|
|
|
|
|
|
|
|
const selectVal1 = ref('all');
|
|
|
|
|
const selectVal2 = ref('普通');
|
|
|
|
|
const selectOpt1 = ref([{ text: '全部', value: 'all' }]);
|
|
|
|
|
const selectOpt2 = ref([{ text: '重要', value: '重要' },{ text: '普通', value: '普通' }]);
|
|
|
|
|
const selectOpt2 = ref([{ text: '重要', value: '重要' }, { text: '普通', value: '普通' }]);
|
|
|
|
|
|
|
|
|
|
const addressList = ref({
|
|
|
|
|
data:[
|
|
|
|
|
{
|
|
|
|
|
id:"a1",
|
|
|
|
|
real_name:"樹林李敏鎬",
|
|
|
|
|
line:"test",
|
|
|
|
|
user_cate_id:''
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
id:"a2",
|
|
|
|
|
real_name:"五條悟",
|
|
|
|
|
line:"test",
|
|
|
|
|
user_cate_id:''
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
id:"a3",
|
|
|
|
|
real_name:"機哩瓜啦",
|
|
|
|
|
line:"test",
|
|
|
|
|
user_cate_id:''
|
|
|
|
|
},
|
|
|
|
|
]
|
|
|
|
|
const addressList = ref([]);
|
|
|
|
|
|
|
|
|
|
onMounted(async () => {
|
|
|
|
|
let res = await getUserFaviList(0);
|
|
|
|
|
if (res.code === 200) {
|
|
|
|
|
addressList.value = res.data;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
res = await getUserCateList();
|
|
|
|
|
if (res.code === 200) {
|
|
|
|
|
console.log('res.data', res.data)
|
|
|
|
|
columns.value = [columns.value[0], ...res.data];
|
|
|
|
|
columns2.value = [columns2.value[0], ...res.data];
|
|
|
|
|
if(res.data.length > 0){
|
|
|
|
|
modalForm.value.sort = res.data;
|
|
|
|
|
}else{
|
|
|
|
|
modalForm.value.sort = [_.cloneDeep(defaultCate)];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const modalForm = ref({
|
|
|
|
|
page: 1,
|
|
|
|
|
sort:[
|
|
|
|
|
// START: 通訊錄類別
|
|
|
|
|
const fieldValue = ref('全部-全部');
|
|
|
|
|
const showCatePicker = ref(false);
|
|
|
|
|
|
|
|
|
|
const customFieldName = {
|
|
|
|
|
text: 'name',
|
|
|
|
|
value: 'id',
|
|
|
|
|
children: 'children',
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const columns = ref([
|
|
|
|
|
{
|
|
|
|
|
"id": 1,
|
|
|
|
|
"name": "第一類",
|
|
|
|
|
"children": [
|
|
|
|
|
{"id": 4,"name": "普通"},
|
|
|
|
|
{"id": 5,"name": "重要"}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
id: 0,
|
|
|
|
|
name: '全部',
|
|
|
|
|
children: [
|
|
|
|
|
{
|
|
|
|
|
"id": 2,
|
|
|
|
|
"name": "第二類",
|
|
|
|
|
"children": [
|
|
|
|
|
{"id": 6,"name": "普通"},
|
|
|
|
|
{"id": 7,"name": "重要"}
|
|
|
|
|
id: 0,
|
|
|
|
|
name: '全部'
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
const onCateConfirm = async (value) => {
|
|
|
|
|
let res = await getUserFaviList(value.selectedValues[1]);
|
|
|
|
|
if (res.code === 200) {
|
|
|
|
|
addressList.value = res.data;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
showCatePicker.value = false;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const onCateChange = (value) => {
|
|
|
|
|
fieldValue.value = value.selectedOptions.map((item) => item.name).join('-');
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// END: 通訊錄類別
|
|
|
|
|
|
|
|
|
|
// START: 更改好友類別
|
|
|
|
|
const columns2 = ref([
|
|
|
|
|
{
|
|
|
|
|
"id": 3,
|
|
|
|
|
"name": "第三類",
|
|
|
|
|
"children": [
|
|
|
|
|
{"id": 8,"name": "普通"},
|
|
|
|
|
{"id": 9,"name": "重要"},
|
|
|
|
|
{"name": "特殊"}
|
|
|
|
|
]
|
|
|
|
|
id: 0,
|
|
|
|
|
name: '未分類',
|
|
|
|
|
children: [
|
|
|
|
|
{
|
|
|
|
|
id: 0,
|
|
|
|
|
name: '未分類'
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
onMounted(async() => {
|
|
|
|
|
let res = await getUserFaviList();
|
|
|
|
|
if (res.code === 200) {
|
|
|
|
|
addressList.value.data = res.data;
|
|
|
|
|
}
|
|
|
|
|
const showChangeCatePicker = ref(false);
|
|
|
|
|
const changeUserId = ref('');
|
|
|
|
|
|
|
|
|
|
res = await getUserCateList();
|
|
|
|
|
const handleChangeCate = (userId) => {
|
|
|
|
|
changeUserId.value = userId;
|
|
|
|
|
showChangeCatePicker.value = true;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const onChangeCateConfirm = async (value) => {
|
|
|
|
|
|
|
|
|
|
let res = await setUserFaviCate({ uf_user_id: changeUserId.value,cate_id : value.selectedValues[1] });
|
|
|
|
|
if (res.code === 200) {
|
|
|
|
|
let sort = modalForm.value.sort;
|
|
|
|
|
sort.forEach((item, i) => {
|
|
|
|
|
selectOpt1.value.push({
|
|
|
|
|
text:item.name,
|
|
|
|
|
value:i
|
|
|
|
|
})
|
|
|
|
|
});
|
|
|
|
|
showSuccessToast('更新成功')
|
|
|
|
|
} else {
|
|
|
|
|
showToast('更新失敗')
|
|
|
|
|
}
|
|
|
|
|
showChangeCatePicker.value = false;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const onChangeCateChange = (value) => {
|
|
|
|
|
console.log('Change Category');
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// END: 更改好友類別
|
|
|
|
|
|
|
|
|
|
// START: 編輯通訊錄
|
|
|
|
|
const defaultCate = {
|
|
|
|
|
"id": 0,
|
|
|
|
|
"name": ""
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const modalForm = ref({
|
|
|
|
|
page: 1,
|
|
|
|
|
sort: [_.cloneDeep(defaultCate)]
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const sel1Change = (value) => {
|
|
|
|
|
if(value != 'all'){
|
|
|
|
|
if (value != 'all') {
|
|
|
|
|
let child = modalForm.value.sort[value].children;
|
|
|
|
|
let ary = [];
|
|
|
|
|
|
|
|
|
|
child.forEach((item, i) => {
|
|
|
|
|
ary.push({
|
|
|
|
|
text:item.name,
|
|
|
|
|
value:item.name
|
|
|
|
|
text: item.name,
|
|
|
|
|
value: item.name
|
|
|
|
|
})
|
|
|
|
|
});
|
|
|
|
|
selectOpt2.value = ary;
|
|
|
|
|
selectVal2.value = child[0].name;
|
|
|
|
|
}else{
|
|
|
|
|
} else {
|
|
|
|
|
selectOpt2.value = [];
|
|
|
|
|
selectVal2.value = '';
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const addCard = () => {
|
|
|
|
|
modalForm.value.sort.push(
|
|
|
|
|
{
|
|
|
|
|
"name": "",
|
|
|
|
|
"children": [
|
|
|
|
|
{
|
|
|
|
|
"name": "普通"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
);
|
|
|
|
|
modalForm.value.sort.push(_.cloneDeep(defaultCate));
|
|
|
|
|
modalForm.value.page = modalForm.value.sort.length;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@ -131,10 +161,7 @@ const addBtn = (page) => {
|
|
|
|
|
modalForm.value.sort[page - 1].children = [];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
modalForm.value.sort[page - 1].children.push({
|
|
|
|
|
"id": '',
|
|
|
|
|
"name": ""
|
|
|
|
|
});
|
|
|
|
|
modalForm.value.sort[page - 1].children.push(_.cloneDeep(defaultCate));
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const moveCard = (type, page) => {
|
|
|
|
|
@ -188,8 +215,9 @@ const moveBtn = (type, index) => {
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const onSubmit = async () => {
|
|
|
|
|
let res = await updateUserCate(modalForm.value.sort)
|
|
|
|
|
let res = await updateUserCate({ category: modalForm.value.sort })
|
|
|
|
|
if (res.code === 200) {
|
|
|
|
|
showSuccessToast('更新成功')
|
|
|
|
|
// router.push('/member')
|
|
|
|
|
@ -203,46 +231,43 @@ const onSubmit = async () => {
|
|
|
|
|
|
|
|
|
|
<template>
|
|
|
|
|
<div class="address page">
|
|
|
|
|
<van-nav-bar
|
|
|
|
|
class="bg-skyBlue py-1"
|
|
|
|
|
left-arrow
|
|
|
|
|
right-arrow
|
|
|
|
|
@click-left="$router.push('/')"
|
|
|
|
|
@click-right="setShowPicker = true"
|
|
|
|
|
>
|
|
|
|
|
<van-nav-bar class="bg-skyBlue py-1" left-arrow right-arrow @click-left="$router.push('/')"
|
|
|
|
|
@click-right="setShowPicker = true">
|
|
|
|
|
<template #title>
|
|
|
|
|
<h5 class="text-white mb-1"><strong>通訊錄</strong></h5>
|
|
|
|
|
</template>
|
|
|
|
|
<template #left>
|
|
|
|
|
<h4><i class="fa-solid fa-angle-left text-white" :style="{opacity:0.5}"></i></h4>
|
|
|
|
|
<h4><i class="fa-solid fa-angle-left text-white" :style="{ opacity: 0.5 }"></i></h4>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #right>
|
|
|
|
|
<h4><i class="fa-solid fa-gear text-white" :style="{opacity:0.5}"></i></h4>
|
|
|
|
|
<h4><i class="fa-solid fa-gear text-white" :style="{ opacity: 0.5 }"></i></h4>
|
|
|
|
|
</template>
|
|
|
|
|
</van-nav-bar>
|
|
|
|
|
|
|
|
|
|
<div class="content">
|
|
|
|
|
<!-- START: 通訊錄類別 -->
|
|
|
|
|
<van-cell-group inset>
|
|
|
|
|
<van-dropdown-menu>
|
|
|
|
|
<van-dropdown-item v-model="selectVal1" :options="selectOpt1" @change="sel1Change"/>
|
|
|
|
|
<van-dropdown-item v-model="selectVal2" :options="selectOpt2" />
|
|
|
|
|
</van-dropdown-menu>
|
|
|
|
|
<van-field v-model="fieldValue" is-link readonly label="類別" placeholder="通訊錄類別" @click="showCatePicker = true" />
|
|
|
|
|
<van-popup v-model:show="showCatePicker" round position="bottom">
|
|
|
|
|
<van-picker :columns="columns" :columns-field-names="customFieldName" confirm-button-text="確認"
|
|
|
|
|
cancel-button-text="取消" @cancel="showCatePicker = false" @confirm="onCateConfirm" @change="onCateChange" />
|
|
|
|
|
</van-popup>
|
|
|
|
|
</van-cell-group>
|
|
|
|
|
<!-- END: 通訊錄類別 -->
|
|
|
|
|
|
|
|
|
|
<van-cell-group inset>
|
|
|
|
|
<van-list>
|
|
|
|
|
|
|
|
|
|
<div class="list-item" v-for="(item, index) in addressList.data" :data-cateid="item.user_cate_id" :key="index">
|
|
|
|
|
<div class="list-item" v-for="(item, index) in addressList" :data-cateid="item.user_cate_id" :key="index">
|
|
|
|
|
<div class="left">
|
|
|
|
|
<div class="avatar"><img :src="`https://fakeimg.pl/350x200/?text=${item.id}`"></div>
|
|
|
|
|
<div class="avatar"><img :src="item.avatar"></div>
|
|
|
|
|
<div class="text">
|
|
|
|
|
<h5 class="name ellipsis">{{ item.real_name }}</h5>
|
|
|
|
|
<div class="desc ellipsis">@{{ item.line }}</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="right">
|
|
|
|
|
<van-button size="small" class="border-0">
|
|
|
|
|
<van-button size="small" class="border-0" @click="handleChangeCate(item.user_id)">
|
|
|
|
|
<h5><i class="fa-solid fa-heart text-darkBlue"></i></h5>
|
|
|
|
|
</van-button>
|
|
|
|
|
<van-button size="small" class="border-0" :url="`line://ti/p/@${item.line}`">
|
|
|
|
|
@ -255,39 +280,19 @@ const onSubmit = async () => {
|
|
|
|
|
|
|
|
|
|
</van-cell-group>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<van-dialog
|
|
|
|
|
v-model:show="setShowPicker"
|
|
|
|
|
width="400"
|
|
|
|
|
showCancelButton
|
|
|
|
|
confirm-button-text="確認修改"
|
|
|
|
|
@confirm="onSubmit"
|
|
|
|
|
>
|
|
|
|
|
<!-- START: 編輯通訊錄 -->
|
|
|
|
|
<van-dialog v-model:show="setShowPicker" width="400" showCancelButton confirm-button-text="確認修改" @confirm="onSubmit">
|
|
|
|
|
<van-form @submit="onSubmit">
|
|
|
|
|
<keep-alive>
|
|
|
|
|
<div id="app">
|
|
|
|
|
|
|
|
|
|
<div class="bg-lightPink px-2 pt-3">
|
|
|
|
|
<ul class="nav nav-tabs">
|
|
|
|
|
<li
|
|
|
|
|
class="nav-item"
|
|
|
|
|
v-for="(card, index) in modalForm.sort"
|
|
|
|
|
:key="index"
|
|
|
|
|
@click="modalForm.page = index + 1"
|
|
|
|
|
>
|
|
|
|
|
<button
|
|
|
|
|
type="button"
|
|
|
|
|
class="nav-link"
|
|
|
|
|
:class="{ active: modalForm.page === index + 1 }"
|
|
|
|
|
>
|
|
|
|
|
<li class="nav-item" v-for="(card, index) in modalForm.sort" :key="index"
|
|
|
|
|
@click="modalForm.page = index + 1">
|
|
|
|
|
<button type="button" class="nav-link" :class="{ active: modalForm.page === index + 1 }">
|
|
|
|
|
{{ index + 1 }}
|
|
|
|
|
</button>
|
|
|
|
|
</li>
|
|
|
|
|
<li
|
|
|
|
|
class="nav-item"
|
|
|
|
|
@click="addCard"
|
|
|
|
|
v-if="modalForm.sort.length < 10"
|
|
|
|
|
>
|
|
|
|
|
<li class="nav-item" @click="addCard" v-if="modalForm.sort.length < 10">
|
|
|
|
|
<button type="button" class="nav-link">
|
|
|
|
|
<i class="fa fa-plus-circle"></i>
|
|
|
|
|
</button>
|
|
|
|
|
@ -296,104 +301,64 @@ const onSubmit = async () => {
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<van-cell-group class="m-0 pt-2">
|
|
|
|
|
<van-field
|
|
|
|
|
label="調整卡片順序"
|
|
|
|
|
:border="false"
|
|
|
|
|
v-if="modalForm.sort.length > 1"
|
|
|
|
|
>
|
|
|
|
|
<van-field label="調整卡片順序" :border="false" v-if="modalForm.sort.length > 1">
|
|
|
|
|
<template #button>
|
|
|
|
|
<van-button
|
|
|
|
|
size="small"
|
|
|
|
|
class="ml-1 btn-skyBlue"
|
|
|
|
|
icon="arrow-left"
|
|
|
|
|
@click="moveCard(0, modalForm.page)"
|
|
|
|
|
>前移</van-button
|
|
|
|
|
>
|
|
|
|
|
<van-button
|
|
|
|
|
size="small"
|
|
|
|
|
class="ml-1 btn-skyBlue"
|
|
|
|
|
icon="arrow"
|
|
|
|
|
@click="moveCard(1, modalForm.page)"
|
|
|
|
|
>後移</van-button
|
|
|
|
|
>
|
|
|
|
|
<van-button
|
|
|
|
|
size="small"
|
|
|
|
|
class="ml-1 btn-tomatoRed"
|
|
|
|
|
icon="delete-o"
|
|
|
|
|
@click="delCard(modalForm.page)"
|
|
|
|
|
></van-button>
|
|
|
|
|
<van-button size="small" class="ml-1 btn-skyBlue" icon="arrow-left"
|
|
|
|
|
@click="moveCard(0, modalForm.page)">前移</van-button>
|
|
|
|
|
<van-button size="small" class="ml-1 btn-skyBlue" icon="arrow"
|
|
|
|
|
@click="moveCard(1, modalForm.page)">後移</van-button>
|
|
|
|
|
<van-button size="small" class="ml-1 btn-tomatoRed" icon="delete-o"
|
|
|
|
|
@click="delCard(modalForm.page)"></van-button>
|
|
|
|
|
</template>
|
|
|
|
|
</van-field>
|
|
|
|
|
|
|
|
|
|
<van-field
|
|
|
|
|
v-model="modalForm.sort[modalForm.page - 1].name"
|
|
|
|
|
label="分類名稱"
|
|
|
|
|
id="vcard-title"
|
|
|
|
|
input-align="right"
|
|
|
|
|
placeholder="請輸入分類名稱"
|
|
|
|
|
/>
|
|
|
|
|
<van-field v-model="modalForm.sort[modalForm.page - 1].name" label="分類名稱" id="vcard-title" input-align="right"
|
|
|
|
|
placeholder="請輸入分類名稱" />
|
|
|
|
|
|
|
|
|
|
<div class="listCnt">
|
|
|
|
|
<div
|
|
|
|
|
class="item"
|
|
|
|
|
v-for="(btn, index) in modalForm.sort[modalForm.page - 1].children"
|
|
|
|
|
:key="index"
|
|
|
|
|
>
|
|
|
|
|
<van-field
|
|
|
|
|
v-model="btn.name"
|
|
|
|
|
id="cardbtn-text-0"
|
|
|
|
|
placeholder="請輸入子項目名稱"
|
|
|
|
|
class="bg-transparent"
|
|
|
|
|
>
|
|
|
|
|
<div class="item" v-for="(btn, index) in modalForm.sort[modalForm.page - 1].children" :key="index">
|
|
|
|
|
<van-field v-model="btn.name" id="cardbtn-text-0" placeholder="請輸入子項目名稱" class="bg-transparent">
|
|
|
|
|
<template #button>
|
|
|
|
|
<van-button
|
|
|
|
|
size="small"
|
|
|
|
|
class="bg-transparent border-0"
|
|
|
|
|
icon="arrow-up"
|
|
|
|
|
@click="moveBtn(0, index)"
|
|
|
|
|
v-if="modalForm.sort[modalForm.page - 1].children.length > 1"
|
|
|
|
|
></van-button>
|
|
|
|
|
<van-button
|
|
|
|
|
size="small"
|
|
|
|
|
class="bg-transparent border-0"
|
|
|
|
|
icon="arrow-down"
|
|
|
|
|
@click="moveBtn(1, index)"
|
|
|
|
|
v-if="modalForm.sort[modalForm.page - 1].children.length > 1"
|
|
|
|
|
></van-button>
|
|
|
|
|
<van-button
|
|
|
|
|
size="small"
|
|
|
|
|
class="bg-transparent border-0"
|
|
|
|
|
icon="delete-o"
|
|
|
|
|
@click="delBtn(index)"
|
|
|
|
|
></van-button>
|
|
|
|
|
<van-button size="small" class="bg-transparent border-0" icon="arrow-up" @click="moveBtn(0, index)"
|
|
|
|
|
v-if="modalForm.sort[modalForm.page - 1].children.length > 1"></van-button>
|
|
|
|
|
<van-button size="small" class="bg-transparent border-0" icon="arrow-down" @click="moveBtn(1, index)"
|
|
|
|
|
v-if="modalForm.sort[modalForm.page - 1].children.length > 1"></van-button>
|
|
|
|
|
<van-button size="small" class="bg-transparent border-0" icon="delete-o"
|
|
|
|
|
@click="delBtn(index)"></van-button>
|
|
|
|
|
</template>
|
|
|
|
|
</van-field>
|
|
|
|
|
</div>
|
|
|
|
|
<van-button
|
|
|
|
|
block
|
|
|
|
|
class="btn-tomatoRed"
|
|
|
|
|
icon="add-o"
|
|
|
|
|
@click="addBtn(modalForm.page)"
|
|
|
|
|
>
|
|
|
|
|
<van-button block class="btn-tomatoRed" icon="add-o" @click="addBtn(modalForm.page)">
|
|
|
|
|
<h6>新增按鈕</h6>
|
|
|
|
|
</van-button>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</van-cell-group>
|
|
|
|
|
</div>
|
|
|
|
|
</keep-alive>
|
|
|
|
|
</van-form>
|
|
|
|
|
|
|
|
|
|
</van-dialog>
|
|
|
|
|
<!-- END: 編輯通訊錄 -->
|
|
|
|
|
<van-popup v-model:show="showChangeCatePicker" round position="bottom">
|
|
|
|
|
<van-picker
|
|
|
|
|
:columns="columns2"
|
|
|
|
|
:columns-field-names="customFieldName"
|
|
|
|
|
confirm-button-text="確認"
|
|
|
|
|
cancel-button-text="取消"
|
|
|
|
|
@cancel="showChangeCatePicker = false"
|
|
|
|
|
@confirm="onChangeCateConfirm"
|
|
|
|
|
@change="onChangeCateChange" />
|
|
|
|
|
</van-popup>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<style lang="less" scoped>
|
|
|
|
|
|
|
|
|
|
.address{
|
|
|
|
|
.content{
|
|
|
|
|
.address {
|
|
|
|
|
.content {
|
|
|
|
|
min-height: calc(100vh - 54px);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.van-list {
|
|
|
|
|
.list-item {
|
|
|
|
|
display: flex;
|
|
|
|
|
@ -447,13 +412,15 @@ const onSubmit = async () => {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
.nav-tabs{
|
|
|
|
|
.nav-link{
|
|
|
|
|
|
|
|
|
|
.nav-tabs {
|
|
|
|
|
.nav-link {
|
|
|
|
|
color: #4a677d;
|
|
|
|
|
background-color: #fff;
|
|
|
|
|
border-color: transparent;
|
|
|
|
|
margin-right: 4px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.nav-item.show .nav-link,
|
|
|
|
|
.nav-link.active {
|
|
|
|
|
color: #fff;
|
|
|
|
|
@ -462,14 +429,14 @@ const onSubmit = async () => {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.listCnt{
|
|
|
|
|
.listCnt {
|
|
|
|
|
padding: 15px;
|
|
|
|
|
.item{
|
|
|
|
|
|
|
|
|
|
.item {
|
|
|
|
|
margin-bottom: 15px;
|
|
|
|
|
border: 1px #ddd solid;
|
|
|
|
|
border-radius: 5px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
</style>
|
|
|
|
|
|