提交 51858d42 authored 作者: 刘旭's avatar 刘旭

优化sku页面

上级 45e89fc4
...@@ -47,3 +47,9 @@ export const quotationExist = (data: any) => request('/wx/quotation/exist', 'GET ...@@ -47,3 +47,9 @@ export const quotationExist = (data: any) => request('/wx/quotation/exist', 'GET
// 再次加入购物车 // 再次加入购物车
export const orderCartAgain = (data: any) => request('/wx/order/cart/again', 'GET', data); export const orderCartAgain = (data: any) => request('/wx/order/cart/again', 'GET', data);
// 报价单-交货地址集合
export const getQuotationDelivery = () => request('/wx/quotation/delivery', 'GET');
// 报价单-收款条件集合
export const getQuotationPayment = () => request('/wx/quotation/payment', 'GET');
\ No newline at end of file
...@@ -1064,8 +1064,16 @@ export default { ...@@ -1064,8 +1064,16 @@ export default {
}, },
handClose() { handClose() {
let that = this; let that = this;
that.selectShop = {}; console.log(that.localdata, 'that.goodsInfo+++');
that.goodsInfo = {}; // that.selectShop = {};
// that.init();
// that.open()
// that.checkInpath(-1)
// console.log(that.goodsInfo, 'that.goodsInfo----');
// that.goodsInfo = {};
// console.log(that.goodsInfo, 'that.goodsInfo+++');
// init(true)
}, },
// 添加子字段 // 添加子字段
onPlus(index) { onPlus(index) {
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { ref, watch } from 'vue'; import { nextTick, ref, watch } from 'vue';
import { addCart, fastaddCart, readdCart } from '@/api/index'; import { addCart, fastaddCart, readdCart } from '@/api/index';
import { useSpecStore } from '@/store/useStore'; import { useSpecStore } from '@/store/useStore';
...@@ -334,7 +334,7 @@ const handleClose = () => { ...@@ -334,7 +334,7 @@ const handleClose = () => {
emits('selected', '') emits('selected', '')
defaultSelect.value = {} defaultSelect.value = {}
goodsInfo.value = {} goodsInfo.value = {}
skuPopupRef.value.handClose() skuPopupRef.value.init()
} }
// 重置页面数据 // 重置页面数据
......
...@@ -87,7 +87,7 @@ ...@@ -87,7 +87,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import { ref, computed, nextTick } from 'vue'; import { ref, computed, nextTick } from 'vue';
import { onLoad, onBackPress } from '@dcloudio/uni-app'; import { onLoad, onBackPress, onShow } from '@dcloudio/uni-app';
import { import {
indexDetails, indexDetails,
collectAddordelete, collectAddordelete,
...@@ -149,7 +149,7 @@ let selectedGoodsSum = ref() ...@@ -149,7 +149,7 @@ let selectedGoodsSum = ref()
let selectedGoods = computed(() => { let selectedGoods = computed(() => {
if (selectedGoodsItem.value.length > 0) { if (selectedGoodsItem.value.length > 0) {
let str = '' let str = ''
selectedGoodsItem.value.forEach((item: any, i: number) => { selectedGoodsItem.value.map((item: any, i: number) => {
if (i == 0) { if (i == 0) {
str += item str += item
} else { } else {
...@@ -162,7 +162,7 @@ let selectedGoods = computed(() => { ...@@ -162,7 +162,7 @@ let selectedGoods = computed(() => {
const selected = (data: any) => { const selected = (data: any) => {
if (!data) { if (!data) {
selectedGoodsItem.value.length = 0 selectedGoodsItem.value = []
partsData.value = [] partsData.value = []
goodsSkuRef.value.init(detailData.value, detailId.value, partsData.value) goodsSkuRef.value.init(detailData.value, detailId.value, partsData.value)
return return
......
...@@ -64,10 +64,8 @@ ...@@ -64,10 +64,8 @@
import { onLoad, onBackPress, onShow } from '@dcloudio/uni-app'; import { onLoad, onBackPress, onShow } from '@dcloudio/uni-app';
import { ref, computed } from 'vue'; import { ref, computed } from 'vue';
import { checkoutCart, orderSubmit } from '@/api/index'; import { checkoutCart, orderSubmit } from '@/api/index';
import { useSpecStore } from '@/store/useStore';
import config from '@/utils/config'; import config from '@/utils/config';
const specStore = useSpecStore()
const baseUrl = config.baseUrl; const baseUrl = config.baseUrl;
const buyNowId = ref(); const buyNowId = ref();
const buyNowData: any = ref(); const buyNowData: any = ref();
...@@ -80,7 +78,7 @@ onLoad((options: any) => { ...@@ -80,7 +78,7 @@ onLoad((options: any) => {
}); });
onBackPress((options: any) => { onBackPress((options: any) => {
specStore.$reset() // 退回到购物车页面同步type值
if (options.from === 'backbutton' && type.value === 'productLineCart') { if (options.from === 'backbutton' && type.value === 'productLineCart') {
let pages = getCurrentPages(); // 当前页面 let pages = getCurrentPages(); // 当前页面
let beforePage: any = pages[pages.length - 2]; // 上一页 let beforePage: any = pages[pages.length - 2]; // 上一页
......
...@@ -112,9 +112,8 @@ let download = () => { ...@@ -112,9 +112,8 @@ let download = () => {
}; };
onBackPress((options: any) => { onBackPress((options: any) => {
if (options.from === 'navigateBack') { if (options.from === 'navigateBack') return false
return false;
}
if (type.value === 'profile') { if (type.value === 'profile') {
uni.redirectTo({ uni.redirectTo({
url: '../order/orderList?showType=' + currentStore.current, url: '../order/orderList?showType=' + currentStore.current,
......
...@@ -96,6 +96,9 @@ ...@@ -96,6 +96,9 @@
<u-form-item label="交货期:" prop="deliveryTime"> <u-form-item label="交货期:" prop="deliveryTime">
<u-input v-model="formData.deliveryTime" placeholder="请输入交货期" /> <u-input v-model="formData.deliveryTime" placeholder="请输入交货期" />
</u-form-item> </u-form-item>
<u-form-item label="交货地点:" prop="deliveryAddr">
<u-input v-model="formData.deliveryAddr" placeholder="请输入交货地点" />
</u-form-item>
<u-form-item label="订单号:" prop="noOrder"> <u-form-item label="订单号:" prop="noOrder">
<u-input type="number" v-model="formData.noOrder" placeholder="请输入订单号" /> <u-input type="number" v-model="formData.noOrder" placeholder="请输入订单号" />
</u-form-item> </u-form-item>
...@@ -124,18 +127,19 @@ ...@@ -124,18 +127,19 @@
<u-button type="error" @click="submit">提交</u-button> <u-button type="error" @click="submit">提交</u-button>
</u-col> </u-col>
</u-row> </u-row>
<u-picker mode="region" v-model="pickerShow" @confirm="regionConfirm"></u-picker> <u-picker mode="region" v-model="pickerShow" @confirm="regionConfirm" />
<u-picker mode="region" v-model="pickerShow1" @confirm="regionConfirm1"></u-picker> <u-picker mode="region" v-model="pickerShow1" @confirm="regionConfirm1" />
<u-picker mode="time" v-model="pickerDateShow" @confirm="dateConfirm"></u-picker> <u-picker mode="time" v-model="pickerDateShow" @confirm="dateConfirm" />
<u-select v-model="guaranteeShow" :list="guaranteeList" @confirm="guaranteeConfirm"></u-select> <u-select v-model="guaranteeShow" :list="guaranteeList" @confirm="guaranteeConfirm" />
<u-select v-model="paymentShow" :list="paymentList" @confirm="paymentConfirm" />
<u-select v-model="deliveryShow" :list="deliveryList" @confirm="deliveryConfirm" />
<!-- <order-form ref="orderRef" @onSubmit="onSubmit" /> --> <!-- <order-form ref="orderRef" @onSubmit="onSubmit" /> -->
<u-modal v-model="showModel" :content="content" @confirm="modelConfirm" @cancel="modelCancel" showCancelButton> <u-modal v-model="showModel" :content="content" @confirm="modelConfirm" @cancel="modelCancel" showCancelButton />
</u-modal>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { ref, getCurrentInstance, ComponentInternalInstance, computed, nextTick } from 'vue'; import { ref, getCurrentInstance, ComponentInternalInstance, computed, nextTick } from 'vue';
import { fillQuotation, quotationInit } from '@/api/cart'; import { fillQuotation, quotationInit, getQuotationDelivery, getQuotationPayment } from '@/api/cart';
import { onLoad, onReady } from '@dcloudio/uni-app'; import { onLoad, onReady } from '@dcloudio/uni-app';
import { orderDetail, getTax } from '@/api/index'; import { orderDetail, getTax } from '@/api/index';
import { getProductLineMultipleDetail } from '@/api/productLine'; import { getProductLineMultipleDetail } from '@/api/productLine';
...@@ -150,6 +154,8 @@ let pickerShow = ref(false) ...@@ -150,6 +154,8 @@ let pickerShow = ref(false)
let pickerShow1 = ref(false) let pickerShow1 = ref(false)
let pickerDateShow = ref(false) let pickerDateShow = ref(false)
let guaranteeShow = ref(false) let guaranteeShow = ref(false)
let paymentShow = ref(false)
let deliveryShow = ref(false)
let showModel = ref(false) let showModel = ref(false)
let content = ref('是否下载execl?') let content = ref('是否下载execl?')
let formData = ref({ let formData = ref({
...@@ -209,7 +215,7 @@ let rules = ref({ ...@@ -209,7 +215,7 @@ let rules = ref({
message: '手机号码不正确', message: '手机号码不正确',
trigger: 'blur', trigger: 'blur',
}], }],
deliveryAddr: [{ required: true, message: '请选择收货地址', trigger: 'blur' }], deliveryAddr: [{ required: true, message: '请选择收货地点', trigger: ['blur', 'change'] }],
deliveryDate: [{ required: true, message: '请选择交货时间', trigger: 'blur' }, deliveryDate: [{ required: true, message: '请选择交货时间', trigger: 'blur' },
{ pattern: /^[+]{0,1}(\d+)$/g, message: '必须为正整数', trigger: 'blur' }], { pattern: /^[+]{0,1}(\d+)$/g, message: '必须为正整数', trigger: 'blur' }],
noOrder: [{ required: true, message: '请输入订单号', trigger: 'blur' }], noOrder: [{ required: true, message: '请输入订单号', trigger: 'blur' }],
...@@ -229,6 +235,8 @@ let quotationData = ref(); ...@@ -229,6 +235,8 @@ let quotationData = ref();
let orderId = ref() let orderId = ref()
let tax = ref() // 税率 let tax = ref() // 税率
let lineId = ref() // 产品线id 可以分辨是产品线还是普通商品 let lineId = ref() // 产品线id 可以分辨是产品线还是普通商品
let paymentList = ref() // 收款方式数据
let deliveryList = ref() // 交货地点数据
onLoad((options: any) => { onLoad((options: any) => {
if (options.lineId) lineId.value = options.lineId if (options.lineId) lineId.value = options.lineId
...@@ -402,6 +410,14 @@ let dateConfirm = (e: any) => { ...@@ -402,6 +410,14 @@ let dateConfirm = (e: any) => {
let guaranteeConfirm = (e: any) => { let guaranteeConfirm = (e: any) => {
formData.value.guarantee = e[0].value formData.value.guarantee = e[0].value
} }
// 选择收款方式回调
let paymentConfirm = (e: any) => {
formData.value.guarantee = e[0].value
}
// 选择交货地点回调
let deliveryConfirm = (e: any) => {
formData.value.guarantee = e[0].value
}
// 初始化数据 // 初始化数据
let initQuotation = (orderId: number) => { let initQuotation = (orderId: number) => {
...@@ -436,9 +452,8 @@ let initQuotaionData = (id: number) => { ...@@ -436,9 +452,8 @@ let initQuotaionData = (id: number) => {
getProductLineMultipleDetail(lineArr).then((res: any) => { getProductLineMultipleDetail(lineArr).then((res: any) => {
if (res.data.code === 200) { if (res.data.code === 200) {
detailData.value = [] detailData.value = []
for (const key in res.data.data) { for (const key in res.data.data) detailData.value = [...res.data.data[key], ...detailData.value]
detailData.value = [...res.data.data[key], ...detailData.value]
}
// 从quotationData获取 在detailData中添加 合同报价字段 // 从quotationData获取 在detailData中添加 合同报价字段
if (quotationData.value) { if (quotationData.value) {
detailData.value.map((detail: any) => { detailData.value.map((detail: any) => {
...@@ -475,6 +490,28 @@ let initTax = () => { ...@@ -475,6 +490,28 @@ let initTax = () => {
if (res.data.code === 200) tax.value = Number(res.data.data.mall_tax_rate); if (res.data.code === 200) tax.value = Number(res.data.data.mall_tax_rate);
}); });
}; };
// 交货地点
let initQuotationDelivery = () => {
getQuotationDelivery().then((res: any) => {
if (res.data.code === 200) {
paymentList.value = res.data.data
console.log(res.data.data, '交货地点');
}
})
}
initQuotationDelivery()
// 收款条件
let initQuotationPayment = () => {
getQuotationPayment().then((res: any) => {
if (res.data.code === 200) {
deliveryList.value = res.data.data
console.log(res.data.data, '收款条件');
}
})
}
initQuotationPayment()
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论