提交 7020866b authored 作者: 刘旭's avatar 刘旭

添加新增客户功能

上级 73041e46
......@@ -29,3 +29,6 @@ export const resetWorkAddr = (data: any) => request('/wx/auth/reset_work_addr',
// 更新手机号
export const resetMobile = (data: any) => request('/wx/auth/reset_mobile', 'POST', data);
// 添加客户名称
export const addConsignee = (data: any) => request('/wx/address/consignee', 'POST', data);
......@@ -793,6 +793,9 @@ export default {
},
// sku按钮的点击事件
skuClick(value, index1, index2) {
console.log(value, index1, index2);
console.log(this.selectArr);
console.log(this.goodsInfo);
let that = this;
if (value.ishow) {
if (that.selectArr[index1] != value.name) {
......@@ -1442,12 +1445,12 @@ export default {
.item-content {
display: inline-block;
padding: 10rpx 35rpx;
padding: 10rpx 12rpx;
font-size: 24rpx;
border-radius: 10rpx;
background-color: #ffffff;
color: #333333;
margin-right: 20rpx;
margin-right: 16rpx;
margin-bottom: 16rpx;
border: 1px solid #f4f4f4;
box-sizing: border-box;
......
......@@ -146,7 +146,7 @@
}, {
"path": "pages/profile/consignee",
"style": {
"navigationBarTitleText": "收货人",
"navigationBarTitleText": "客户",
"navigationBarBackgroundColor": "#fff"
}
}, {
......
......@@ -2,12 +2,12 @@
<template>
<view class="app">
<vk-data-goods-sku-popup
v-if="flag"
ref="skuPopupRef"
v-model="skuKey"
border-radius="20"
:localdata="goodsInfo"
:mode="skuMode"
:partsData="partsData"
@open="onOpenSkuPopup"
@close="SkuPopup"
@add-cart="addCarts"
......@@ -45,6 +45,7 @@ let props = defineProps({
type: Number
}
})
let flag = ref(true)
watch([selectedGoodsItem, selectedGoodsSum],(newVal)=> {
if(newVal) {
......@@ -79,27 +80,18 @@ let onConfirm = (val: string, index: number) => {
// 弹出sku后给规格赋值
let resultSku = (data?: any) => {
if(detailData.value.productList.length === 1) {
skuPopupRef.value.selectShop = {
buy_num: 1,
goods_id: detailData.value.productList[0].goodsId,
goods_name: detailData.value.info.name,
image: detailData.value.info.picUrl,
price: 0,
sku_name_arr: { ...detailData.value.productList[0].specifications },
stock: 1000,
_id: detailData.value.productList[0].id,
}
skuPopupRef.value.selectArr = {...detailData.value.productList[0].specifications }
// skuPopupRef.value.selectShop = {
// buy_num: 1,
// goods_id: detailData.value.productList[0].goodsId,
// goods_name: detailData.value.info.name,
// image: detailData.value.info.picUrl,
// price: 0,
// sku_name_arr: { ...detailData.value.productList[0].specifications },
// stock: 1000,
// _id: detailData.value.productList[0].id,
// }
}
console.log(detailData.value, 'detailData.value');
console.log(skuPopupRef.value.selectShop);
// buy_num:1
// goods_id:28
// goods_name:"测试商品"
// image:"/wx/storage/fetch/ctjaj7utdmmv9c6r3osm.png"
// price:0
// sku_name_arr:['双平台移动', '上掀式','1860']
// stock:1000
// _id:177
}
// 选择配件
......@@ -153,7 +145,7 @@ let init = (data: any, id: number, partsData?: any) => {
// console.log(goodsInfo.value, 'goodsInfo.value');
productList = []
specificationList = []
// resultSku()
resultSku()
};
// sku组件 开始-----------------------------------------------------------
let onOpenSkuPopup = () => {};
......
......@@ -562,6 +562,7 @@ const initParts = (goodsId: number, productId: number) => {
.left {
padding: 20rpx 0;
font-size: 24rpx;
// overflow: hidden;
// text-overflow: ellipsis; /* 超出部分省略号 */
// word-break: break-all; /* break-all(允许在单词内换行。) */
......@@ -573,7 +574,7 @@ const initParts = (goodsId: number, productId: number) => {
.right {
padding: 20rpx 0;
font-weight: 600;
font-size: 24rpx;
// overflow: hidden;
// text-overflow: ellipsis; /* 超出部分省略号 */
// word-break: break-all; /* break-all(允许在单词内换行。) */
......
......@@ -5,26 +5,120 @@
<u-tr v-for="(item, index) in consigneeData" :key="item.id">
<u-td>{{ item.customerName }}</u-td>
</u-tr>
<u-tr>
<u-td style="padding: 0;">
<u-button
size="mini"
:hair-line="false"
style="width: 100%; border: 0; font-size: 40rpx;"
@tap="showAdd"
>
+
</u-button>
</u-td>
</u-tr>
</u-table>
<u-empty v-else text="数据为空" mode="list"></u-empty>
</view>
<!-- 添加客户名称 -->
<u-popup v-model="show" mode="center" length="90%">
<view style="padding: 40rpx;">
<h4 style="width: 100%; text-align: center; font-size: 30rpx;">添加客户</h4>
<u-form :model="form" ref="uForm" label-width="145">
<u-form-item label="名称">
<u-input v-model="form.customerName" placeholder="请输入名称" />
</u-form-item>
<u-form-item label="编码">
<u-input v-model="form.customerCode" placeholder="请输入编码" />
</u-form-item>
<u-form-item label="邮箱">
<u-input v-model="form.contactsEmail" placeholder="请输入邮箱" />
</u-form-item>
<u-form-item label="选择地址">
<u-input
v-model="form.registerAddress"
:disabled="true"
placeholder="请选择"
@tap="selectRegion"
/>
</u-form-item>
<u-form-item label="详细地址" :border-bottom="false">
<u-input
type="textarea"
v-model="form.detailedAddress"
placeholder="请输入详细地址"
/>
</u-form-item>
</u-form>
<u-button type="error" @tap="saveConsignee">保存</u-button>
</view>
</u-popup>
<u-picker mode="region" ref="uPicker" v-model="showRegion" @confirm="confirm" />
</template>
<script setup lang="ts">
import { ref } from 'vue';
import { consigneeList } from '@/api/profile';
import { consigneeList, addConsignee } from '@/api/profile';
import { onReady } from '@dcloudio/uni-app';
let consigneeData = ref();
let show = ref(false);
let showRegion = ref(false);
let form = ref({
customerName: '', // 客户名称
customerCode: '', // 客户编码
contactsEmail: '', // 客户邮箱
registerAddress: '', // 注册地址(省市区)
detailedAddress: '', // 详细地址
});
let selectRegion = () => {
showRegion.value = true;
};
// 设置地区
let confirm = (data: any) => {
form.value.registerAddress = data.province.name + data.city.name + data.area.name;
};
let showAdd = () => {
show.value = true;
form.value = {
customerName: '', // 客户名称
customerCode: '', // 客户编码
contactsEmail: '', // 客户邮箱
registerAddress: '', // 注册地址(省市区)
detailedAddress: '', // 详细地址
};
};
let saveConsignee = () => {
addConsignee(form.value).then((res: any) => {
if (res.data.code === 200) {
uni.showToast({
title: '保存成功',
icon: 'none',
});
show.value = false;
init();
}
});
};
let init = () => {
consigneeList().then((res: any) => {
if (res.data.code === 200) {
consigneeData.value = res.data.data;
console.log(res);
}
});
};
init();
onReady(() => {});
</script>
<style></style>
<style scoped lang="scss"></style>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论