Browse Source

对接接口

master
邓平艺 4 years ago
parent
commit
3d4fdd36e4
  1. 2
      common/directoss.js
  2. 36
      packages/ratingQueryDetail/ratingQueryDetail.vue
  3. 54
      packages/sonpingDetail/sonpingDetail.vue
  4. 2
      packages/sonpingDetail/viewDetail.vue
  5. 5
      pages/index/index.vue
  6. 38
      pages/order/order.vue
  7. 8
      pages/ratingQuery/ratingQuery.vue
  8. 11
      pages/write/baseInfo.vue
  9. 30
      pages/write/distribution.vue
  10. 6
      service/grading.js
  11. 9
      service/order.js

2
common/directoss.js

@ -36,7 +36,7 @@ export async function dispose(pathList = [], fileType = 'image'){
if(err){
reject(err)
}else{
resolve({...item, url: data.Location});
resolve({...item, url: 'https://'+ data.Location});
}
});

36
packages/ratingQueryDetail/ratingQueryDetail.vue

@ -16,19 +16,19 @@
<view class="flex-col section_3">
<view class="flex-row">
<text class="text_2">编号</text>
<text class="text_3">{{ details.order.order_num }}</text>
<text class="text_3">{{ details.sub_order.order_num }}</text>
</view>
<view class="flex-row group_6">
<text class="text_4">系列</text>
<text class="text_5">{{ details.order.card_series }}</text>
<text class="text_5">{{ details.sub_order.card_series }}</text>
</view>
<view class="flex-row group_7">
<text class="text_6">子系列</text>
<text class="text_7">{{ details.order.sub_card_series }}</text>
<text class="text_7">{{ details.sub_order.sub_card_series }}</text>
</view>
<view class="flex-row group_8">
<text class="text_8">发行商</text>
<text class="text_9">{{ details.order.publisher }}</text>
<text class="text_9">{{ details.sub_order.publisher }}</text>
</view>
</view>
<view class="justify-between section_4">
@ -36,34 +36,34 @@
<view class="flex-col items-center">
<view class="group_11">
<text class="text_10">居中分</text>
<text class="text_11">{{ details.order.center_s }}</text>
<text class="text_11">{{ details.sub_order.center_s }}</text>
</view>
<view class="group_12">
<text class="text_12">边框分</text>
<text class="text_13">{{ details.order.border_s }}</text>
<text class="text_13">{{ details.sub_order.border_s }}</text>
</view>
</view>
<view class="group_13">
<text class="text_14">表面分</text>
<text class="text_15">{{ details.order.front }}</text>
<text class="text_15">{{ details.sub_order.front_s }}</text>
</view>
<view class="group_14">
<text class="text_16">签字分</text>
<text class="text_17">{{ details.order.sign_s }}</text>
<text class="text_17">{{ details.sub_order.sign_s }}</text>
</view>
<view class="group_15">
<text class="text_18">卡角分</text>
<text class="text_19">{{ details.order.corner_s }}</text>
<text class="text_19">{{ details.sub_order.corner_s }}</text>
</view>
</view>
<view class="flex-col items-center section_5">
<text class="text_20">{{ details.order.total_s }}</text>
<text class="text_20">{{ details.sub_order.total_s }}</text>
<text class="text_21">总评分</text>
</view>
</view>
<view class="flex-col section_6">
<view class="flex-col section_6" v-if="$isRight(details.history)">
<view class="flex-col group_16">
<lf-table :Header="header" :Content="details.history" height="auto" width="686" :showNumber="false" v-if="$isRight(details.history)"></lf-table>
<lf-table :Header="header" :Content="details.history" height="auto" width="686" :showNumber="false"></lf-table>
<!-- <view class="flex-col items-center button" @click="setClipboardData">
<text>复制拍卖链接</text>
</view> -->
@ -75,7 +75,6 @@
<script>
import lfTable from '@/components/lf-table.vue';
import { gradingDetail } from '@/service/grading.js'
export default {
components: {
@ -93,19 +92,14 @@
key: 'num'
}],
details: {},
id: ''
};
},
onLoad(options){
this.id = options.id || 4; // todo id
this.getGradingDetail();
if(this.$valueType(options.data) !== 'undefined'){
this.details = JSON.parse(decodeURIComponent(options.data));
}
},
methods: {
async getGradingDetail(){
let res = await gradingDetail(this.id);
console.log("res", res);
this.details = res.data.datas;
},
// todo
setClipboardData(){
uni.setClipboardData({

54
packages/sonpingDetail/sonpingDetail.vue

@ -4,25 +4,25 @@
<view class="flex-row section_2">
<view class="flex-row group_5">
<text class="text_2">发货单号</text>
<text class="text_3">9847583947839743-1</text>
<text class="text_3">{{ details.order.back_express_numb || '暂无单号' }}</text>
</view>
<text class="text_4">评级中</text>
<text class="text_4" :style="{color: details.order.status_text_color}">{{ details.order.status_text }}</text>
</view>
<view class="section_3 flex-col">
<view class="justify-between" @click="$url('/packages/sonpingDetail/viewDetail?id='+ id)">
<view class="flex-row">
<text class="text_5">明细</text>
<text class="text_6">3</text>
<text class="text_6">{{ details.order.num }}</text>
</view>
<image
src="https://codefun-proj-user-res-1256085488.cos.ap-guangzhou.myqcloud.com/62677e395a7e3f03107ffc5f/62677e4a35a7e10011e93a80/16509497780150582913.png"
class="image_6"
/>
</view>
<view class="justify-between group_8" @click="$url('/packages/sonpingDetail/expenseDetail?id='+ id)">
<view class="justify-between group_8" @click="details.order.amount && $url('/packages/sonpingDetail/expenseDetail?id='+ id)">
<view class="flex-row">
<text class="text_7">费用</text>
<text class="text_8">暂无</text>
<text class="text_8">{{ details.order.amount || '暂无' }}</text>
</view>
<image
src="https://codefun-proj-user-res-1256085488.cos.ap-guangzhou.myqcloud.com/62677e395a7e3f03107ffc5f/62677e4a35a7e10011e93a80/16509497780230366393.png"
@ -33,15 +33,15 @@
<view class="justify-between">
<view class="flex-row lf-flex">
<view class="text_9">收货人</view>
<view class="text_10">李丽丽</view>
<view class="text_11">15273936409</view>
<view class="text_10">{{ details.order.address.name }}</view>
<view class="text_11">{{ details.order.address.tel }}</view>
</view>
<image
src="https://codefun-proj-user-res-1256085488.cos.ap-guangzhou.myqcloud.com/62677e395a7e3f03107ffc5f/62677e4a35a7e10011e93a80/16509497780269942998.png"
class="image_6"
/>
</view>
<view class="text_12">北京北京市海淀区钻石大厦C座</view>
<view class="text_12">{{ details.order.address.area_name }}{{ details.order.address.desc }}</view>
</view>
</view>
<view class="section_3 flex-col">
@ -51,13 +51,13 @@
src="https://codefun-proj-user-res-1256085488.cos.ap-guangzhou.myqcloud.com/62677e395a7e3f03107ffc5f/62677e4a35a7e10011e93a80/16509497775960694116.png"
class="image_10"
/>
<text class="text_13">收货确认您的包裹已收到请耐心等待</text>
<text class="text_13">{{ details.logs && details.logs[0].title }}</text>
<image
src="https://codefun-proj-user-res-1256085488.cos.ap-guangzhou.myqcloud.com/62677e395a7e3f03107ffc5f/62677e4a35a7e10011e93a80/16509497780327296781.png"
class="image_6 image_11"
/>
</view>
<text class="text_14">2022-03-12 16:46</text>
<text class="text_14">{{ details.logs && details.logs[0].created_at }}</text>
</view>
<view class="flex-row group_15">
<image
@ -72,7 +72,7 @@
<view class="justify-between group_16" @click="$url('/packages/sonpingDetail/ratingTrajectory?id='+ id)">
<view class="flex-row">
<text class="text_17">寄送藏品</text>
<text class="text_18">{{ details.order.express_type }}{{ details.order.express_numb }}</text>
<text class="text_18">{{ details.order.express_type }} {{ details.order.express_numb }}</text>
</view>
<image
src="https://codefun-proj-user-res-1256085488.cos.ap-guangzhou.myqcloud.com/62677e395a7e3f03107ffc5f/62677e4a35a7e10011e93a80/16509497780290849398.png"
@ -81,7 +81,7 @@
</view>
<view class="flex-row group_18">
<text class="text_19">送评公司</text>
<text class="text_20">{{ details.order.express_type }}</text>
<text class="text_20">北京评分卡部</text>
</view>
<view class="flex-row group_19">
<text class="text_21">送评人</text>
@ -97,7 +97,7 @@
</view>
<view class="flex-row group_22">
<text class="text_27">保价</text>
<text class="text_28">¥</text>
<text class="text_28">暂无</text>
</view>
<view class="flex-col group_23">
<view class="flex-col">
@ -117,8 +117,11 @@
</view>
</view>
<view class="flex-col group_26">
<view class="flex-col items-center text-wrapper" @click="$url('/packages/address/address?is_select=1')">
<view class="flex-col items-center text-wrapper" @click="$url('/packages/address/address?is_select=1')" v-if="details.order.status == 2">
<text>更改地址</text>
</view>
<view class="flex-col items-center text-wrapper text-wrapper-1" @click="orderConfirm" v-else-if="details.order.status == 4">
<text>确认收货</text>
</view>
<view class="section_5"> </view>
</view>
@ -130,6 +133,7 @@
<script>
import { gradingDetail } from '@/service/grading.js'
import { confirmOrder, changOrderAddress } from '@/service/order.js';
export default {
data() {
@ -141,13 +145,13 @@
},
watch: {
address(){
console.log("监听到改变,调取接口。。。。");
this.changOrderAddress();
}
},
computed: {
showImages(){
if(this.details.order && this.details.order.images){
return this.details.order.images.split(',');
return String(this.details.order.images).split(',');
}else{
return []
}
@ -168,6 +172,18 @@
urls: this.showImages,
current: current
})
},
//
async orderConfirm(){
await confirmOrder(this.details.order.order_id);
this.$msg('确认收货成功');
this.getGradingDetail();
},
//
async changOrderAddress(){
await changOrderAddress({order_id: this.details.order.order_id, addr_id: this.address.id});
this.$msg('地址修改成功');
this.getGradingDetail();
}
}
};
@ -215,7 +231,7 @@
}
.text_4 {
margin-left: 40rpx;
color: rgb(172, 205, 35);
/* color: rgb(172, 205, 35); */
font-size: 32rpx;
font-weight: 500;
line-height: 44rpx;
@ -469,6 +485,10 @@
width: 160rpx;
border: solid 2rpx rgb(153, 153, 153);
}
.text-wrapper-1{
border-color: #E7A23F;
color: #E7A23F;
}
.section_5 {
margin-top: 40rpx;
align-self: center;

2
packages/sonpingDetail/viewDetail.vue

@ -56,7 +56,7 @@
</view>
<view class="flex-row group_13">
<text class="text_19">表面分数</text>
<text class="text_20">{{ item.front }}</text>
<text class="text_20">{{ item.front_s }}</text>
</view>
<view class="flex-row group_13">
<text class="text_19">签字分数</text>

5
pages/index/index.vue

@ -196,13 +196,14 @@
this.user = res.data.datas.user;
this.dots = res.data.datas.dots;
let evaluated_order = res.data.datas.evaluated_order;
evaluated_order.forEach(item => item.itemImage = item.images.split(',')[0]);
evaluated_order.forEach(item => item.itemImage = String(item.images).split(',')[0]);
this.evaluated_order = evaluated_order;
},
nextToGrading(){
if(!this.isConsentAgreement) return this.$msg('请先阅读并同意协议');
let rateIndex = this.rateIndex;
if(this.$isRight(this.user)){
this.$url('/pages/write/baseInfo');
this.$url('/pages/write/baseInfo?rate_index='+ rateIndex);
}else{
this.$url('/pages/login/login');
}

38
pages/order/order.vue

@ -107,7 +107,7 @@
</view>
</view>
<view class="flex-row" v-else-if="item.status == 2">
<view class="flex-col items-center text-wrapper" @click.stop="orderAddressChange">
<view class="flex-col items-center text-wrapper" @click.stop="clickIndex = index, $url('/packages/address/address?is_select=1')">
<text>更改地址</text>
</view>
</view>
@ -144,7 +144,7 @@
</template>
<script>
import { orderList, cancelOrder, confirmOrder, doPay } from '@/service/order.js';
import { orderList, cancelOrder, confirmOrder, doPay, changOrderAddress } from '@/service/order.js';
export default {
data(){
@ -227,7 +227,9 @@
label: '',
order_num: ''
},
clickButton: false
clickButton: false,
address: {},
clickIndex: 0
}
},
computed: {
@ -245,6 +247,11 @@
return `calc(100vh - 80rpx - 10rpx)`;
}
},
watch: {
address(){
this.orderAddressChange();
}
},
onLoad(options){
this.tabIndex = Number(options.current || this.tabIndex);
this[ this.tabList[this.tabIndex].requestFunction ](); // tab
@ -320,7 +327,7 @@
this.filterGather.date = item.value;
}
},
// todo
//
orderCancel(item){
uni.showModal({
title: '提示',
@ -342,11 +349,16 @@
let base_data = encodeURIComponent(JSON.stringify(item));
this.$url('/pages/write/distribution?base_data='+ base_data);
},
// todo
orderAddressChange(){
//
async orderAddressChange(){
let order_id = this.tabList[this.tabIndex].data[this.clickIndex].order_id;
await changOrderAddress({order_id: order_id, addr_id: this.address.id});
this.$refs.uToast.show({
message: '地址修改成功',
type: 'success'
});
},
// todo
//
orderPay(item){
if(this.clickButton) return;
this.clickButton = true;
@ -377,16 +389,6 @@
this.clickButton = false;
}
})
// appid: "wxb35ef055a4dd8ad4"
// err_code: "PARAM_ERROR"
// err_code_des: "appidopenid"
// mch_id: "1606181693"
// nonce_str: "rimtnwDgmC3oIHFs"
// result_code: "FAIL"
// return_code: "SUCCESS"
// return_msg: "OK"
// sign: "2ABA699D967E0DA2F956AFB8EF855AD2"
}).catch(err => this.clickButton = false)
},
//

8
pages/ratingQuery/ratingQuery.vue

@ -32,11 +32,11 @@
}
let res = await ratingSearch(this.value);
let data = res.data.datas.data;
let datas = res.data.datas;
if(data.length > 0){ //
let id = data[0].id;
this.$url('/packages/ratingQueryDetail/ratingQueryDetail?id='+ id);
if(this.$isRight(datas.sub_order)){ //
let base_data = encodeURIComponent(JSON.stringify(datas));
this.$url('/packages/ratingQueryDetail/ratingQueryDetail?data='+ base_data);
}else{
uni.showModal({
title: '提示',

11
pages/write/baseInfo.vue

@ -108,6 +108,10 @@
<text class="text_20">备注</text>
<u-textarea v-model="remarks" placeholder="请输入备注" :height="100" class="textarea" :count="true"></u-textarea>
</view>
<view class="flex-row group_15">
<text class="text_11">优惠券</text>
<u-input v-model="couponText" placeholder="请输入优惠券码"></u-input>
</view>
<view class="flex-col group_21">
<view class="flex-col items-center button" @click="next">
<text>寄送藏品</text>
@ -133,9 +137,14 @@
number: ''
},
fileList: [],
remarks: ''
remarks: '',
rateIndex: 0,
coupon: ''
};
},
onLoad(options){
this.rateIndex = options.rate_index || 0;
},
methods: {
async afterRead(event){
let imageList = await dispose(event.file);

30
pages/write/distribution.vue

@ -64,15 +64,15 @@
</view>
<view class="flex-row group_14">
<text class="text_12">收货人</text>
<text class="text_13">评分卡部</text>
<text class="text_13">{{ sendAddress.name }}</text>
</view>
<view class="flex-row group_15">
<text class="text_14">联系电话</text>
<text class="text_15">18268905349</text>
<text class="text_15">{{ sendAddress.tel }}</text>
</view>
<view class="flex-row group_16">
<text class="text_16">收货地址</text>
<text class="text_17">北京北京市西城区5号设计总院A座203室</text>
<text class="text_17">{{ sendAddress.address }}</text>
</view>
</view>
</view>
@ -97,7 +97,12 @@
oddNumber: '',
expressList: logistics,
expressIndex: '',
baseInfoCache: {}
baseInfoCache: {},
sendAddress: {
name: '评分卡部',
tel: '18268905349',
address: '北京北京市西城区5号设计总院A座203室'
}
};
},
onLoad(options){
@ -107,13 +112,16 @@
},
methods: {
setClipboardData(){
let sendAddress = this.sendAddress;
let str = `收货人:${sendAddress.name}\n联系电话:${sendAddress.tel}\n收货地址:${sendAddress.address}`;
uni.setClipboardData({
data: '复制'
data: str
})
},
scan(){
uni.scanCode({
complete: result => {
console.log("hdjgdjhdjdhjdhdhdj", result)
this.oddNumber = result.result;
}
})
@ -137,7 +145,9 @@
owner: this.baseInfoCache.owner,
addr_id: this.baseInfoCache.addr_log_id,
images: this.baseInfoCache.images,
order_id: this.baseInfoCache.order_id
order_id: this.baseInfoCache.order_id,
type: this.baseInfoCache.type,
coupon: this.baseInfoCache.coupon
};
}else{ //
let pages = getCurrentPages();
@ -152,7 +162,9 @@
tel: preData.sonpingInfo.phone,
owner: preData.sonpingInfo.name,
addr_id: preData.address.id,
images: preData.fileList.map(item => item.url).join(',')
images: preData.fileList.map(item => item.url).join(','),
type: preData.rateIndex,
coupon: preData.coupon
};
}
@ -179,7 +191,9 @@
tel: preData.sonpingInfo.phone,
owner: preData.sonpingInfo.name,
addr_id: preData.address.id,
images: preData.fileList.map(item => item.url).join(',')
images: preData.fileList.map(item => item.url).join(','),
type: preData.rateIndex,
coupon: preData.coupon
};
addGrading(data).then(res => {

6
service/grading.js

@ -51,12 +51,12 @@ export async function quickList() {
}
// 评卡查询
export async function ratingSearch(order_num) {
export async function ratingSearch(series_num) {
return await request({
url: '/api/v1/order_num_search',
url: '/api/v1/series_num_search',
method: 'post',
data: {
order_num
series_num
}
})
}

9
service/order.js

@ -40,4 +40,13 @@ export async function doPay(order_id) {
order_id
}
})
}
// 修改订单地址
export async function changOrderAddress(data) {
return await request({
url: '/api/v1/change_order_addr',
method: 'post',
data
})
}
Loading…
Cancel
Save