Commit efdd8151 authored by 陈宗胤(贵阳日报)'s avatar 陈宗胤(贵阳日报)
parents 7b420ede 9e429445
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
:class="{ active: selectedItem === index }" :class="{ active: selectedItem === index }"
@tap="selectItem(index, item)" @tap="selectItem(index, item)"
> >
{{ item }} {{ item.startDate }}
</li> </li>
<wd-calendar use-default-slot v-model="value" @confirm="handleConfirm4"> <wd-calendar use-default-slot v-model="value" @confirm="handleConfirm4">
<li>选择日期</li> <li>选择日期</li>
...@@ -39,21 +39,13 @@ onMounted(async () => { ...@@ -39,21 +39,13 @@ onMounted(async () => {
getStartDateList(); getStartDateList();
}); });
const selectItem = (index, item) => { const selectItem = (index, item) => {
console.log('item', item);
selectedItem.value = index; selectedItem.value = index;
emit('dataParams', item); emit('dataParams', item);
}; };
// 查询出发日期 // 查询出发日期
const getStartDateList = () => { const getStartDateList = () => {
getStartDate(params).then((res) => { getStartDate(params).then((res) => {
console.log('res.data', res.data);
const transformedData = Object.keys(res.data).reduce((acc, key) => {
acc[key] = { [key]: res.data[key] };
return acc;
}, {});
dataList.value = res.data; dataList.value = res.data;
console.log(Object.keys(dataList.value, 232));
}); });
}; };
function handleConfirm4({ value }) { function handleConfirm4({ value }) {
......
...@@ -20,7 +20,7 @@ export async function updateAddress(data) { ...@@ -20,7 +20,7 @@ export async function updateAddress(data) {
export async function deleteAddress(addrId) { export async function deleteAddress(addrId) {
return request({ return request({
url: `/sgyrdd/useraddr/delete/${addrId}`, url: `/sgyrdd/useraddr/delete/${addrId}`,
method: 'GET', method: 'POST',
}); });
} }
// 查询收货地址列表 // 查询收货地址列表
......
...@@ -64,3 +64,11 @@ export function sgyOrderOrderInfo(data) { ...@@ -64,3 +64,11 @@ export function sgyOrderOrderInfo(data) {
data, data,
}); });
} }
// 筑农首页-3、订单详情
export function quantity(data) {
return request({
url: `/sgyrdd/sgyBasket/quantity`,
method: 'POST',
data,
});
}
...@@ -79,9 +79,11 @@ const forMData = ref({ ...@@ -79,9 +79,11 @@ const forMData = ref({
lat: '', lat: '',
commonAddr: false, commonAddr: false,
}); });
const content = ref([]);
onLoad((options) => { onLoad((options) => {
newAddressFlag.value = options.new; newAddressFlag.value = options.new;
content.value = JSON.parse(options.content);
forMData.value = content.value;
}); });
function fieldNotEmpty(val) { function fieldNotEmpty(val) {
...@@ -93,6 +95,7 @@ function fieldNotEmpty(val) { ...@@ -93,6 +95,7 @@ function fieldNotEmpty(val) {
} }
const hdSubmit = async () => { const hdSubmit = async () => {
if (!content.value.addrId) {
await addAddress({ await addAddress({
...forMData.value, ...forMData.value,
commonAddr: forMData.value.commonAddr ? 1 : 0, commonAddr: forMData.value.commonAddr ? 1 : 0,
...@@ -100,6 +103,15 @@ const hdSubmit = async () => { ...@@ -100,6 +103,15 @@ const hdSubmit = async () => {
city: forMData.value.city, city: forMData.value.city,
area: forMData.value.area, area: forMData.value.area,
}); });
} else {
await updateAddress({
...forMData.value,
commonAddr: forMData.value.commonAddr ? 1 : 0,
});
}
uni.navigateTo({
url: '/pages/address/addressList',
});
}; };
function handleSubmit() { function handleSubmit() {
reForm.value reForm.value
...@@ -126,7 +138,6 @@ async function changeLocation() { ...@@ -126,7 +138,6 @@ async function changeLocation() {
forMData.value.addr = res.address; forMData.value.addr = res.address;
forMData.value.lng = res.longitude; forMData.value.lng = res.longitude;
forMData.value.lat = res.latitude; forMData.value.lat = res.latitude;
console.log('位置信息:' + JSON.stringify(res));
uni.request({ uni.request({
url: '/ws/geocoder/v1/', url: '/ws/geocoder/v1/',
data: { data: {
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
</view> </view>
<view class="full_list" v-else> <view class="full_list" v-else>
<wd-swipe-action>
<view class="additem" v-for="(item, index) in addressList" :key="index"> <view class="additem" v-for="(item, index) in addressList" :key="index">
<view class="additem_l"> <view class="additem_l">
<view class="address">{{ item.addr }}</view> <view class="address">{{ item.addr }}</view>
...@@ -22,16 +23,17 @@ ...@@ -22,16 +23,17 @@
<view class="txt">默认</view> <view class="txt">默认</view>
</view> </view>
<view v-else class="box"> <view v-else class="box" @click="deleteAdd(item.addrId)">
<wd-icon name="circle1" size="12px"></wd-icon> <wd-icon name="circle1" size="12px"></wd-icon>
<view class="txt">默认</view> <view class="txt">删除</view>
</view> </view>
</view> </view>
</view> </view>
<view class="additem_r"> <view class="additem_r">
<wd-icon name="edit-outline" size="14px" @tap="editAddress"></wd-icon> <wd-icon name="edit-outline" size="14px" @tap="editAddress(item)"></wd-icon>
</view> </view>
</view> </view>
</wd-swipe-action>
<wd-button type="error" block class="addBtn" @tap="addNewAddress">新增地址</wd-button> <wd-button type="error" block class="addBtn" @tap="addNewAddress">新增地址</wd-button>
</view> </view>
...@@ -45,7 +47,6 @@ import Header from '@/pages/order/components/Header/index.vue'; ...@@ -45,7 +47,6 @@ import Header from '@/pages/order/components/Header/index.vue';
import { getAddressList, deleteAddress } from '@/api/address'; import { getAddressList, deleteAddress } from '@/api/address';
const isAdressEmpty = ref(false); const isAdressEmpty = ref(false);
const mainAddFlag = ref(false);
const addressList = ref([]); const addressList = ref([]);
const getAddressListData = async () => { const getAddressListData = async () => {
...@@ -56,26 +57,32 @@ const getAddressListData = async () => { ...@@ -56,26 +57,32 @@ const getAddressListData = async () => {
res.length === 0 ? (isAdressEmpty.value = true) : (isAdressEmpty.value = false); res.length === 0 ? (isAdressEmpty.value = true) : (isAdressEmpty.value = false);
} }
}; };
onLoad(() => {});
getAddressListData(); getAddressListData();
const addNewAddress = () => { const addNewAddress = () => {
xma.navigateTo({ url: '/pages/address/addressEdit?new=true' }); xma.navigateTo({ url: '/pages/address/addressEdit?new=true' });
}; };
const editAddress = () => { const editAddress = (col) => {
xma.navigateTo({ url: '/pages/address/addressEdit' }); xma.navigateTo({
url: `/pages/address/addressEdit?content=${JSON.stringify(col)}`,
});
}; };
const deleteAdd = async (id) => {
onLoad(() => { console.log(id);
xma.getLocation({ xma.showModal({
success: (res) => { title: '提示',
console.log(res); content: '确定删除该地址吗?',
}, showCancel: true,
fail: (err) => { confirmText: '确定',
console.log(err); cancelText: '取消',
success: async (res) => {
if (res.confirm) {
await deleteAddress(id);
getAddressListData();
}
}, },
}); });
}); };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
...@@ -92,6 +99,7 @@ page { ...@@ -92,6 +99,7 @@ page {
.full_list { .full_list {
margin-top: 20rpx; margin-top: 20rpx;
padding-bottom: 180rpx;
.additem { .additem {
width: 710rpx; width: 710rpx;
...@@ -146,6 +154,7 @@ page { ...@@ -146,6 +154,7 @@ page {
display: flex; display: flex;
font-size: 18rpx; font-size: 18rpx;
align-items: center; align-items: center;
// justify-content: space-between;
.txt { .txt {
margin-left: 5rpx; margin-left: 5rpx;
......
...@@ -20,10 +20,10 @@ ...@@ -20,10 +20,10 @@
<p class="t2">月销{{ prodData.monthSoldNum }}</p> <p class="t2">月销{{ prodData.monthSoldNum }}</p>
</div> </div>
<div class="name">{{ prodData.prodName }}</div> <div class="name">{{ prodData.prodName }}</div>
<div class="tags flex-align-center"> <!-- <div class="tags flex-align-center">
<p>无购物</p> <p>无购物</p>
<p>无自费</p> <p>无自费</p>
</div> </div> -->
</div> </div>
<!-- 保障 --> <!-- 保障 -->
<!-- <div class="guarantee"> <!-- <div class="guarantee">
...@@ -357,7 +357,11 @@ const getPriceListFn = (mealId) => { ...@@ -357,7 +357,11 @@ const getPriceListFn = (mealId) => {
}; };
// 行程 // 行程
const itineraryData = ref([]); const itineraryData = ref([]);
/* shopId:1821388624367861761
prodId:43835 */
onLoad(({ shopId, prodId }) => { onLoad(({ shopId, prodId }) => {
// const shopId = 1821388624367861761n;
// const prodId = 43835;
getProd({ getProd({
prodId, prodId,
}).then((res) => { }).then((res) => {
...@@ -605,16 +609,17 @@ uni-page-body { ...@@ -605,16 +609,17 @@ uni-page-body {
margin-top: 20rpx; margin-top: 20rpx;
display: grid; display: grid;
gap: 40rpx; gap: 40rpx;
grid-template-columns: 1fr 1fr; grid-template-columns: 1fr 1fr 1fr 1fr;
overflow-x: scroll;
.package-item { .package-item {
border-radius: 16rpx; border-radius: 16rpx;
width: 280rpx;
opacity: 1; opacity: 1;
padding: 20rpx; padding: 20rpx;
background: linear-gradient(180deg, #feeeee 0%, #ffffff 100%); background: linear-gradient(180deg, #feeeee 0%, #ffffff 100%);
box-shadow: 0rpx 4rpx 8rpx 0rpx rgba(0, 0, 0, 0.08); box-shadow: 0rpx 4rpx 8rpx 0rpx rgba(0, 0, 0, 0.08);
&.active { &.active {
border: 1px solid #fa5151; border: 1px solid #fa5151;
box-sizing: border-box;
} }
.price { .price {
font-size: 24rpx; font-size: 24rpx;
......
...@@ -213,6 +213,9 @@ const locationFiltering = (index) => { ...@@ -213,6 +213,9 @@ const locationFiltering = (index) => {
sortType.value = null; sortType.value = null;
attractionId.value = null; attractionId.value = null;
dateType.value = null; dateType.value = null;
startCity.value = null;
serviceCommitment.value = null;
labelId.value = null;
} }
}; };
// 查询热门路线 // 查询热门路线
...@@ -231,7 +234,8 @@ const sortParams = (sortMode) => { ...@@ -231,7 +234,8 @@ const sortParams = (sortMode) => {
}; };
// 出发日期 // 出发日期
const dataParams = (item) => { const dataParams = (item) => {
dateType.value = item; console.log(item, item.key, 22322323);
dateType.value = item.key;
getProd(); getProd();
}; };
// 景点 // 景点
...@@ -258,7 +262,7 @@ const getProd = () => { ...@@ -258,7 +262,7 @@ const getProd = () => {
size: 10, size: 10,
...(sortType.value !== null && { sortType: sortType.value.sortMode }), ...(sortType.value !== null && { sortType: sortType.value.sortMode }),
...(attractionId.value !== null && { attractionId: attractionId.value.id }), ...(attractionId.value !== null && { attractionId: attractionId.value.id }),
...(dateType.value !== null && { dateType: dateType.value }), ...(dateType.value !== null && { dateType: dateType.value.key }),
...(startCity.value !== null && { startCity: startCity.value }), ...(startCity.value !== null && { startCity: startCity.value }),
...(serviceCommitment.value !== null && { serviceCommitment: serviceCommitment.value }), ...(serviceCommitment.value !== null && { serviceCommitment: serviceCommitment.value }),
...(labelId.value !== null && { labelId: labelId.value }), ...(labelId.value !== null && { labelId: labelId.value }),
...@@ -274,7 +278,7 @@ function toRouteDetails(item) { ...@@ -274,7 +278,7 @@ function toRouteDetails(item) {
console.log(item, 22222); console.log(item, 22222);
// TODO: 跳转到线路详情 // TODO: 跳转到线路详情
xma.navigateTo({ xma.navigateTo({
url: `/pages/assistingAgriculture/RouteDetails/RouteDetails?prodId=${item.prodId}`, url: `/pages/assistingAgriculture/RouteDetails/RouteDetails?shopId=${item.shopId},prodId=${item.prodId}`,
}); });
} }
function toSpecialOfferZoneList() { function toSpecialOfferZoneList() {
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
<span></span> <span></span>
{{ item.skuPrice }} {{ item.skuPrice }}
</div> </div>
<wd-input-number v-model="item.count" /> <wd-input-number v-model="item.count" @change="changeQuantity(item)" />
</div> </div>
</div> </div>
</div> </div>
...@@ -60,6 +60,7 @@ ...@@ -60,6 +60,7 @@
import { ref, computed, onMounted } from 'vue'; import { ref, computed, onMounted } from 'vue';
import { getshoppingCartList } from '../../../api/packageDetail'; import { getshoppingCartList } from '../../../api/packageDetail';
import { categoryPresaleList } from '../../../api/assistingAgriculture/building'; import { categoryPresaleList } from '../../../api/assistingAgriculture/building';
import { quantity } from '../../../api/assistingAgriculture/shop';
// 计算是否全选 // 计算是否全选
const checkedAll = computed(() => { const checkedAll = computed(() => {
return cartList.value.every((item) => item.isChecked); return cartList.value.every((item) => item.isChecked);
...@@ -114,6 +115,13 @@ const presaleSortList = (index) => { ...@@ -114,6 +115,13 @@ const presaleSortList = (index) => {
}); });
}); });
}; };
// 购物车数量修改
const changeQuantity = async (item) => {
const res = await quantity({
basketId: item.basket.basketId,
basketCount: item.count,
});
};
const selectedItems = computed(() => { const selectedItems = computed(() => {
return cartList.value.reduce((acc, shop) => { return cartList.value.reduce((acc, shop) => {
const selectedProducts = shop.prodInfos.filter((item) => item.isChecked); const selectedProducts = shop.prodInfos.filter((item) => item.isChecked);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment