13 Commits

15 changed files with 239 additions and 146 deletions

7
common/cos-wx-sdk-v5.js Normal file

File diff suppressed because one or more lines are too long

View File

@@ -2,14 +2,16 @@
<view class="item" @click="toDetailsPage">
<image :src="info.goods_pic"></image>
<view class="goods">
<view class="">
<view class="box">
<view class="boxid">
{{info.goods_try_id}}
</view>
<!-- 0:待处理订单 20:同意 40:拒绝此订单 -->
<view class="status" v-if="info.goods_try_order_status==0">待处理订单</view>
<view class="status" v-if="info.goods_try_order_status==20">已接单订单</view>
<view class="status" v-if="info.goods_try_order_status==40">已拒绝订单</view>
<view class="status" v-if="info.goods_try_order_status==50">已完成订单</view>
</view>
<view class="name u-line-1">{{info.goods_name}}</view>
<view class="info">
<view class="num">{{info.goods_try_num}}件商品</view>
@@ -67,7 +69,15 @@ export default {
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: center;
justify-content: space-between;
.box{
width: 100%;
display: flex;
font-size: 24rpx;
}
.boxid{
flex: 1;
}
.status {
align-self: flex-end;
font-size: 26rpx;

View File

@@ -2,7 +2,7 @@
<view class="details">
<view class="box" v-if="type<4">
<view class="goods-info" v-for="list in info.extend_order_goods">
<image :src="list.goods_image"></image>
<image :src="list.image_480_url"></image>
<view class="info-right">
<view class="name u-line-1">{{ list.goods_name }}</view>
<view class="info">
@@ -39,6 +39,7 @@
<view>
<view class="title">姓名</view>
<view class="value">{{ info.extend_order_common.reciver_name }}</view>
<image src="/static/image/home/chat.png" @click="tochat(info.buyer_id)"></image>
</view>
<view>
<view class="title">手机号</view>
@@ -79,7 +80,7 @@
<!-- 已发货 -->
<view class="pushtimeline" v-if="type == 2">
<view class="timelinetitle">物流信息</view>
<view class="timelineid">订单单号:{{ info.order_sn }}</view>
<view class="timelineid">订单单号:&nbsp;&nbsp;&nbsp;{{ info.order_sn }}</view>
<view class="timelinebox" v-for="list in info.express_list">
<view class="timelinecontent">{{list.content}}</view>
<view class="timelinetime">{{list.kd_time}}</view>
@@ -104,7 +105,8 @@
</view>
<view class="btn" @click="showDelivery = false">确认</view>
</u-popup>
<u-picker mode="selector" v-model="show" :default-selector="[0]" :range="list" range-key="content" @confirm="getselect"></u-picker>
<!-- <u-picker mode="selector" v-model="show" :default-selector="[0]" :range="list" range-key="content" @confirm="getselect" confirm-color="#ff780f;"></u-picker> -->
<u-select v-model="show" :list="list" @confirm="getselect" confirm-color="#FF780F"></u-select>
<!-- companylist -->
<u-picker
mode="selector"
@@ -377,7 +379,7 @@ export default {
},
// 选择骑手
getselect(e) {
this.selctcar = this.list[e[0]];
this.selctcar = this.list[e[0].value];
},
// 获取订单信息
resetinfo() {
@@ -404,7 +406,8 @@ export default {
} else {
let arr = res.data;
for (let index in arr) {
arr[index].content = arr[index].company_name + '——' + arr[index].contacts + '——' + arr[index].contact_number;
arr[index].value = index;
arr[index].label = arr[index].company_name + ' ' + arr[index].contacts + ' ' + arr[index].contact_number;
}
this.list = arr;
}
@@ -460,7 +463,6 @@ export default {
font-weight: 500;
color: #333333;
background-color: #ffffff;
border-bottom: 2rpx solid #ececec;
}
.refunds-user {
padding: 25rpx 30rpx;
@@ -526,6 +528,11 @@ export default {
}
.value {
font-size: 26rpx;
flex: 1;
}
image{
width: 40rpx;
height: 40rpx;
}
}
}

View File

@@ -2,19 +2,7 @@
<view class="home">
<view class="image-swiper"><u-swiper :list="imageList" mode="dot" border-radius="20"></u-swiper></view>
<view class="tab-swiper">
<u-tabs-swiper
ref="uTabs"
:list="list"
:current="current"
@change="tabsChange"
active-color="#FF780F"
inactive-color="#333333"
font-size="26"
height="98"
:show-bar="false"
swiperWidth="750"
gutter="52"
></u-tabs-swiper>
<u-tabs :list="list" font-size="26" gutter="10" item-width="130" bar-width="120" active-color="#FF780F" :current="current" @change="tabsChange"></u-tabs>
</view>
<view class="order-list" v-if="current == 0">
<view v-for="(item, index) in allorder" :key="index"><OrderItem :info="item"></OrderItem></view>
@@ -34,7 +22,7 @@
<view class="title">选择订单号</view>
<view class="worker" v-if="JSON.stringify(worker) != '{}'">
<view>{{ worker.name }}</view>
<u-icon name="edit-pen" @click="worker = {}"></u-icon>
<u-icon name="arrow-down" @click="worker = {}"></u-icon>
</view>
<view v-else class="select" @click="showSelect = true">
<view>请选择</view>
@@ -358,6 +346,13 @@ export default {
},
// 骑手投诉点击确定
setWorker(e) {
if(e[0].label==null){
this.$refs.uToast.show({
title: "选择无效",
type: 'error'
});
return
}
let arr = this.carlist;
for (let index in arr) {
if (arr[index].takeawayer_id == e[0].value) {
@@ -402,15 +397,15 @@ export default {
}
.complaint {
margin: 0 30rpx;
padding: 75rpx 30rpx;
padding: 100rpx 20rpx;
background-color: #ffffff;
.select-container {
display: flex;
align-items: center;
margin-bottom: 60rpx;
margin-bottom: 100rpx;
.title {
width: 180rpx;
font-size: 30rpx;
width: 150rpx;
font-size: 26rpx;
color: rgba(51, 51, 51, 1);
margin-right: 20rpx;
text-align: right;
@@ -448,8 +443,8 @@ export default {
box-sizing: border-box;
display: flex;
.title {
width: 180rpx;
font-size: 30rpx;
width: 150rpx;
font-size: 26rpx;
text-align: right;
color: rgba(51, 51, 51, 1);
margin-right: 20rpx;

View File

@@ -33,7 +33,7 @@
<view>
<view class="titles">标签</view>
<view class="form-view active" @click="show_add()">+ 新建标签</view>
<view :class="['form-view',item.state == true ? 'active' : '']" v-for="(item, index) in fileListes" :key="index" @click="changeselect(index)">
<view :class="['form-view', item.state == true ? 'active' : '']" v-for="(item, index) in fileListes" :key="index" @click="changeselect(index)">
{{ item.name }}
</view>
</view>
@@ -46,10 +46,17 @@
<view class="title"><text>选择商品</text></view>
<!-- 商品列表 -->
<scroll-view :scroll-top="scrollTop" scroll-y="true" class="scroll">
<view class="listes_shoping" v-for="(item, index) in list" :key="index" @click="checkboxChange(item.goods_id)">
<view class="listes_shoping" v-for="(item, index) in list" :key="index">
<view>
<u-checkbox-group>
<u-checkbox shape="circle" active-color="#FF780F" v-model="item.checked" :disabled="true"></u-checkbox>
<u-checkbox
shape="circle"
size="40"
active-color="#FF780F"
v-model="item.checked"
:name="index"
@change="checkboxChange"
></u-checkbox>
</u-checkbox-group>
</view>
<view><image :src="item.goods_image" mode="widthFix"></image></view>
@@ -118,6 +125,8 @@ export default {
checked: false,
list: [],
List_tosign: [],
flagA: true,
flagB: false,
scrollTop: 0,
imgarr: [], //上传图片数组
cover: '', //图文封面
@@ -137,31 +146,34 @@ export default {
for (let index in arr) {
newarr.push(arr[index].file_id);
}
this.$u.api.publishphoto({
article_title: this.form.name,
article_content: this.form.intro,
article_pic: this.imgarrA[0].file_name,
file_id: newarr,
goods_id_arr: this.arres_list,
label_arr: this.selectarr
}).then(res => {
if (res.errCode != 0) {
this.$refs.uToast.show({
title: res.message,
type: 'error'
});
} else {
this.$refs.uToast.show({
title: res.message,
type: 'success'
});
setTimeout(function(){
uni.navigateBack({
delta:1
})
},1000)
}
});
console.log(this.imgarrA);
this.$u.api
.publishphoto({
article_title: this.form.name,
article_content: this.form.intro,
article_pic: this.imgarrA[0].file_name,
file_id: newarr,
goods_id_arr: this.arres_list,
label_arr: this.selectarr
})
.then(res => {
if (res.errCode != 0) {
this.$refs.uToast.show({
title: res.message,
type: 'error'
});
} else {
this.$refs.uToast.show({
title: res.message,
type: 'success'
});
setTimeout(function() {
uni.navigateBack({
delta: 1
});
}, 1000);
}
});
},
// 获取商品数组变化
getshoplist(id) {
@@ -175,6 +187,7 @@ export default {
}
}
}
console.log(this.shoplist)
},
// 改变选中状态
changeselect(num) {
@@ -207,35 +220,52 @@ export default {
},
// 创建标签
addLiveSpec() {
this.$u.api.createLivesp({
spec_name: this.tagcontent
}).then(res => {
if (res.errCode != 0) {
this.$refs.uToast.show({
title: res.message,
type: 'error'
});
} else {
this.tagcontent = '';
this.show = false;
this.$refs.uToast.show({
title: res.message,
type: 'success'
});
}
});
this.$u.api
.createLivesp({
spec_name: this.tagcontent
})
.then(res => {
if (res.errCode != 0) {
this.$refs.uToast.show({
title: res.message,
type: 'error'
});
} else {
this.tagcontent = '';
this.show = false;
this.$refs.uToast.show({
title: res.message,
type: 'success'
});
}
});
},
// 上传封面
uploadcover(data) {
let obj = data.data;
obj.url = obj.file_path;
this.imgarrA.push(obj);
console.log(data);
if (data.errCode != 0) {
this.$refs.uToast.show({
title: '上传失败',
type: 'error'
});
} else {
let obj = data.data;
obj.url = obj.file_path;
this.imgarrA.push(obj);
}
},
// 上传图片
uploadphoto(data) {
let obj = data.data;
obj.url = obj.file_path;
this.imgarrB.push(obj);
if (data.errCode != 0) {
this.$refs.uToast.show({
title: '上传失败',
type: 'error'
});
} else {
let obj = data.data;
obj.url = obj.file_path;
this.imgarrB.push(obj);
}
},
changes() {
let that = this;
@@ -246,16 +276,14 @@ export default {
},
// 选中某个复选框时由checkbox时触发
checkboxChange(e) {
let id = e;
for(let num in this.list){
if(id==this.list[num].goods_id){
if(this.list[num].checked==true){
this.delarr(id);
}else{
this.pushes(id);
}
this.list[num].checked = !this.list[num].checked
}
let that = this;
let num =Number(e.name)
if (e.value == true) {
that.pushes(that.list[num].goods_id);
that.list[num].checked=true
} else {
that.delarr(that.list[num].goods_id);
that.list[num].checked=false
}
},
// 删除直播商品
@@ -266,7 +294,7 @@ export default {
} else {
let index = that.arres_list.indexOf(id);
that.arres_list.splice(index, 1);
that.getshoplist(id);
that.getshoplist();
}
},
// 增加直播商品
@@ -276,7 +304,7 @@ export default {
console.log('为空');
} else {
that.arres_list.push(id);
that.getshoplist(id);
that.getshoplist();
}
},
tosign() {
@@ -312,7 +340,7 @@ export default {
margin: 0 auto;
.form-view {
background: #CDC7C8;
background: #cdc7c8;
border-radius: 6rpx;
margin-right: 20rpx;
font-size: 24rpx;
@@ -322,7 +350,7 @@ export default {
color: #fff;
}
.active {
background: #FF780F;
background: #ff780f;
}
.scroll {
width: 100%;

View File

@@ -81,6 +81,7 @@
tupian(){
uni.hideLoading()
},
sccg() {},
// 选中某个复选框时由checkbox时触发
checkboxChange(e) {
//console.log(e);
@@ -107,8 +108,11 @@
this.init()
},
tupian(a){
console.log(JSON.parse(a.data))
this.image = JSON.parse(a.data).data.file_name
// console.log(JSON.parse(a.data));
let info = JSON.parse(a.data);
console.log(info.data.file_path);
// console.log(JSON.stringify(a.data))
this.image = info.data.file_path;
},
navto(url){
this.$u.route({

View File

@@ -25,7 +25,7 @@
<view>
<view class="titles">标签</view>
<view class="form-view active" @click="show_add()">+ 新建标签</view>
<view :class="['form-view',item.state == true ? 'active' : '']" v-for="(item, index) in fileListes" :key="index" @click="changeselect(index)">
<view :class="['form-view', item.state == true ? 'active' : '']" v-for="(item, index) in fileListes" :key="index" @click="changeselect(index)">
{{ item.name }}
</view>
</view>
@@ -37,10 +37,10 @@
<view class="title"><text>选择商品</text></view>
<!-- 商品列表 -->
<scroll-view :scroll-top="scrollTop" scroll-y="true" class="scroll">
<view class="listes_shoping" v-for="(item, index) in list" :key="index" @click="checkboxChange(item.goods_id)">
<view class="listes_shoping" v-for="(item, index) in list" :key="index">
<view>
<u-checkbox-group>
<u-checkbox shape="circle" active-color="#FF780F" v-model="item.checked" :disabled="true" ></u-checkbox>
<u-checkbox shape="circle" size="40" active-color="#FF780F" v-model="item.checked" :name="index" @change="checkboxChange"></u-checkbox>
</u-checkbox-group>
</view>
<view><image :src="item.goods_image" mode="widthFix"></image></view>
@@ -77,6 +77,75 @@
</template>
<script>
let COS = require('../../common/cos-wx-sdk-v5.js');
// 上传文件
const upload_file_server = (_this, filepath) => {
// 腾讯云配置
let cosConfig = {
Bucket: 'dmmall-1300406074', //replace with yours
Region: 'ap-shanghai', //replace with yours
SecretId: 'AKIDjDPJhni9gTzEB9iGNWQ3PTVGjv74q7EL', //replace with yours
SecretKey: 'ye3SZOvAQO5X5LK3Vy933h6G86h4mqpG' //replace with yours
};
// 获取本地文件
let filePath = filepath;
// 自定义文件名以及路径
let time = new Date();
var y = time.getFullYear();
var m = time.getMonth() + 1;
m = m < 10 ? '0' + m : m;
var d = time.getDate();
d = d < 10 ? '0' + d : d;
let str = y + m + d;
let Key = 'video/' + str + '/' + filePath.substr(filePath.lastIndexOf('/') + 1);
// 初始化凭证
var cos = new COS({
SecretId: cosConfig.SecretId,
SecretKey: cosConfig.SecretKey
});
//上传文件
cos.postObject(
{
Bucket: cosConfig.Bucket,
Region: cosConfig.Region,
Key: Key,
StorgeClass: 'STANDARD', //存储方式
FilePath: filePath
},
(err, data) => {
console.log(err, data, 12345);
if (err == null) {
if (data.statusCode == 200) {
_this.videopath = 'https://dmmall-1300406074.cos.ap-shanghai.myqcloud.com/' + Key;
uni.hideLoading();
_this.videostate = true;
} else {
uni.showToast({
title: '上传失败!',
icon: 'none'
});
}
} else {
return;
}
}
);
};
// 选择图片(通用)
const cImage = _this => {
uni.chooseVideo({
count: 1,
sourceType: ['camera', 'album'],
success: function(res) {
uni.showLoading({
title: '上传中'
});
const tempFilePaths = res.tempFilePath;
console.log(tempFilePaths);
upload_file_server(_this, tempFilePaths);
}
});
};
export default {
data() {
return {
@@ -106,7 +175,8 @@ export default {
selectarr: [], //选中标签
tagcontent: '', //新建标签名字
selectvideo: '', //视频名字
videostate: false //视频状态
videostate: false, //视频状态
progress: 0
};
},
onLoad() {
@@ -150,11 +220,11 @@ export default {
title: res.message,
type: 'success'
});
setTimeout(function(){
setTimeout(function() {
uni.navigateBack({
delta:1
})
},1000)
delta: 1
});
}, 1000);
}
});
},
@@ -228,37 +298,7 @@ export default {
},
// 上传视频
uploadvideo() {
let url = this.action;
let that = this;
uni.chooseVideo({
count: 1,
sourceType: ['camera', 'album'],
success: function(res) {
that.src = res.tempFilePath;
const tempFilePaths = res.tempFilePath;
uni.uploadFile({
url: url, //仅为示例,非真实的接口地址
filePath: tempFilePaths,
name: 'article_video',
formData: {
name: 'article_video'
},
header: {
Authorization: 'Bearer' + ' ' + uni.getStorageSync('token')
},
success: uploadFileRes => {
console.log(uploadFileRes);
let obj = JSON.parse(uploadFileRes.data);
that.videopath = obj.data.url;
that.selectvideo = obj.data.key;
that.videostate = true;
},
fail: function(error) {
console.log(error);
}
});
}
});
cImage(this);
},
// 新建标签
show_add() {
@@ -271,15 +311,14 @@ export default {
},
// 选中某个复选框时由checkbox时触发
checkboxChange(e) {
for(let num in this.list){
if(id==this.list[num].goods_id){
if(this.list[num].checked==true){
this.delarr(id);
}else{
this.pushes(id);
}
this.list[num].checked = !this.list[num].checked
}
let that = this;
let num = Number(e.name);
if (e.value == true) {
that.pushes(that.list[num].goods_id);
that.list[num].checked = true;
} else {
that.delarr(that.list[num].goods_id);
that.list[num].checked = false;
}
},
// 删除直播商品
@@ -438,7 +477,7 @@ export default {
-webkit-line-clamp: 2;
}
.form-view {
background: #CDC7C8;
background: #cdc7c8;
border-radius: 6rpx;
margin-right: 20rpx;
font-size: 24rpx;
@@ -448,7 +487,7 @@ export default {
color: #fff;
}
.active {
background: #FF780F;
background: #ff780f;
}
.titles {
font-size: 30rpx;

View File

@@ -57,6 +57,9 @@ export default {
title: res.message,
type: 'success'
});
uni.navigateBack({
delta:1
})
}
});
},

Binary file not shown.

Before

Width:  |  Height:  |  Size: 723 B

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 805 B

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 774 B

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 841 B

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 753 B

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 761 B

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 705 B

After

Width:  |  Height:  |  Size: 3.3 KiB