1.解决工作台-商户设置 坐标显示问题bug ; 2.优化调货等界面内容 3.完成委托销售 首页 、发起委托 、委托申请、详情、新增,以及部分弹窗等所有界面;4.解决打包时未添加oauth模块bug

This commit is contained in:
jia 2023-08-12 18:15:11 +08:00
parent 0d8a2d87fc
commit c14a514b5e
26 changed files with 3626 additions and 838 deletions

View File

@ -1,17 +1,14 @@
<template>
<!-- tab选项卡滑动切换 -->
<view class="my-tab" ref="myTabRef">
<view
class="my-tab-item"
v-for="(item, index) in tabs" :ref="`tab${item.name}Ref`"
:class="{ active: item.name === activeItem }" :key="index"
>
<view class="my-tab-text" ref="tabName" @click="tabClick(item,index)">
<view class="name">{{ item.label }}</view>
<view class="xian"></view>
</view>
</view>
</view>
<!-- tab选项卡滑动切换 -->
<view class="my-tab" ref="myTabRef">
<view class="my-tab-item" v-for="(item, index) in tabs" :ref="`tab${item.name}Ref`"
:class="{ active: item.name === activeItem }" :key="index">
<view class="my-tab-text" ref="tabName" @click="tabClick(item,index)">
<view class="name">{{ item.label }}</view>
<view class="xian" v-if='isshow'></view>
</view>
</view>
</view>
</template>
<script>
/*
@ -20,98 +17,112 @@
@tabClick -- 自定义点击事件 回传用到 做逻辑判断
标签大小默认颜色选中颜色下边框线等样式已在css中注释请根据注释修改即可
*/
export default {
name: "cx-navTitle",
props:{
tabs:{ //
type:Array,
default:[]
},
activeItem:{// class
type:String,
default:''
},
},
data() {
return {
};
},
mounted(){
},
methods: {
// tab
tabClick(item,index) {
this.$emit('tabClick',item) //
//
this.scrollLeftTo(item.name);
},
//
scrollLeftTo(name) {
const ref = `tab${name}Ref`;
// myTabRefDOMmy-tab
const nav = this.$refs.myTabRef.$el;
// tabDOMmy-tab-item
const title = this.$refs[ref][0].$el;
//
const to = title.offsetLeft - (nav.offsetWidth - title.offsetWidth) / 2;
nav.scrollLeft = to;
},
},
};
export default {
name: "cx-navTitle",
props: {
tabs: { //
type: Array,
default: []
},
activeItem: { // class
type: String,
default: ''
},
show: {
type: Boolean,
default: ''
},
},
data() {
return {
isshow: true,
};
},
mounted() {
this.isshow = this.show
},
methods: {
// tab
tabClick(item, index) {
this.$emit('tabClick', item) //
//
this.scrollLeftTo(item.name);
},
//
scrollLeftTo(name) {
const ref = `tab${name}Ref`;
// myTabRefDOMmy-tab
const nav = this.$refs.myTabRef.$el;
// tabDOMmy-tab-item
const title = this.$refs[ref][0].$el;
//
const to = title.offsetLeft - (nav.offsetWidth - title.offsetWidth) / 2;
nav.scrollLeft = to;
},
},
};
</script>
<style lang="scss">
.my-tab {
width:720rpx;
margin:0 auto;
// height:80rpx;
// background: #ffffff;
// line-height:80rpx;
// border:1px solid red;
display: flex;
overflow-x: scroll;
padding-right:0rpx;
scroll-behavior: smooth; //
font-size:32rpx;
font-family:PingFang-SC-Heavy;
.my-tab-item {
padding: 20rpx 35rpx; // --
color:#707070; // --
// height: 0rpx;
text-align: center;
flex: 1 0 auto;
&.active {
color:#333333; // --
font-family:PingFang-SC-Heavy;
font-weight:600;
position: relative;
.my-tab-text {
.xian{
position:relative;
top:0rpx; //线 --
z-index:8;
border:1rpx solid #F84221; //线 --
border-radius:50rpx;
padding:0rpx 30rpx;
opacity:0.6;//线 --
}
.name{
position:relative;
z-index:9;
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 500;
color: #F84221;
color: #F84221;
}
}
}
}
}
//
::-webkit-scrollbar {
height: 0;
width: 0;
color: transparent;
}
.my-tab {
width: 720rpx;
margin: 0 auto;
// height:80rpx;
// background: #ffffff;
// line-height:80rpx;
// border:1px solid red;
display: flex;
overflow-x: scroll;
padding-right: 0rpx;
scroll-behavior: smooth; //
font-size: 32rpx;
font-family: PingFang-SC-Heavy;
.my-tab-item {
padding: 20rpx 35rpx; // --
color: #707070; // --
// height: 0rpx;
text-align: center;
flex: 1 0 auto;
&.active {
color: #333333; // --
font-family: PingFang-SC-Heavy;
font-weight: 600;
position: relative;
.my-tab-text {
.xian {
position: relative;
top: 0rpx; //线 --
z-index: 8;
width: 26px;
margin: 0 auto;
border: 1rpx solid #F84221; //线 --
border-radius: 50rpx;
padding: 0rpx 30rpx;
opacity: 0.6; //线 --
}
.name {
position: relative;
z-index: 9;
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 500;
color: #F84221;
color: #F84221;
}
}
}
}
}
//
::-webkit-scrollbar {
height: 0;
width: 0;
color: transparent;
}
</style>

View File

@ -0,0 +1,448 @@
<template>
<view
class="e-stat__select"
:style="{ width: width, minWidth: minWidth }">
<!-- 主体区域 -->
<view class="e-select-main">
<view
class="e-select"
:class="{ 'e-select-disabled': disabled }">
<view
class="e-select__input-box"
@click="toggleSelector">
<!-- 微信小程序input组件在部分安卓机型上会出现文字重影placeholder抖动问题2019年时微信小程序就有这个问题一直没修复估计短时间内也别指望修复了 -->
<input
class="e-select__input-text"
:placeholder="placeholder"
v-model="currentData"
@input="filter"
v-if="search && !disabled" />
<view
class="e-select__input-text"
v-else>
{{ currentData || currentData === 0 ? currentData : placeholder }}
</view>
<!-- 用一个更大的盒子包裹图标,便于点击 -->
<view
class="e-select-icon"
@click.stop="clearVal"
v-if="currentData && clear && !disabled">
<uni-icons
type="clear"
color="#e1e1e1"
size="18"></uni-icons>
</view>
<view
class="e-select-icon"
@click.stop="toggleSelector"
v-else>
<uni-icons
size="14"
color="#999"
type="top"
class="arrowAnimation"
:class="showSelector ? 'top' : 'bottom'"></uni-icons>
</view>
</view>
<!-- 全屏遮罩-->
<view
class="e-select--mask"
v-if="showSelector"
@click="toggleSelector" />
<!-- 选项列表 这里用v-show是因为微信小程序会报警告 [Component] slot "" is not foundv-if会导致开发工具不能正确识别到slot -->
<!-- https://developers.weixin.qq.com/community/minihome/doc/000c8295730700d1cd7c81b9656c00 -->
<view
class="e-select__selector"
v-show="showSelector">
<!-- 三角小箭头 -->
<view class="e-popper__arrow"></view>
<scroll-view
scroll-y="true"
:scroll-top="scrollTop"
class="e-select__selector-scroll"
:scroll-into-view="scrollToId"
:scroll-with-animation="scrollWithAnimation"
v-if="showSelector">
<view
class="e-select__selector-empty"
v-if="currentOptions.length === 0">
<text>{{ emptyTips }}</text>
</view>
<!-- 非空,渲染选项列表 -->
<view
v-else
class="e-select__selector-item"
:class="[
{ highlight: currentData == item[props.text] },
{
'e-select__selector-item-disabled': item[props.disabled],
},
]"
v-for="(item, index) in currentOptions"
:key="index"
@click="change(item, index)">
<text>{{ item[props.text] }}</text>
<view
id="scrollToId"
v-if="currentData == item[props.text]"></view>
</view>
</scroll-view>
<slot />
</view>
</view>
</view>
</view>
</template>
<script>
export default {
name: 'e-select',
data() {
return {
//
showSelector: false,
//
currentOptions: [],
//
currentData: '',
//
oldScrollTop: 0,
//
scrollTop: 0,
// id
scrollToId: '',
//
scrollWithAnimation: false,
};
},
props: {
//
options: {
type: Array,
default() {
return [];
},
},
//
props: {
type: Object,
default: function () {
return {
text: 'text',
value: 'value',
disabled: 'disabled',
};
},
},
// vue2 v-model
value: {
type: [String, Number],
default: '',
},
// vue3 v-model
modelValue: {
type: [String, Number],
default: '',
},
//
placeholder: {
type: String,
default: '请选择',
},
//
width: {
type: String,
default: '100%',
},
//
minWidth: {
type: String,
default: '120rpx',
},
//
emptyTips: {
type: String,
default: '暂无选项',
},
//
clear: {
type: Boolean,
default: false,
},
//
disabled: {
type: Boolean,
default: false,
},
//
search: {
type: Boolean,
default: true,
},
//
animation: {
type: Boolean,
default: true,
},
},
watch: {
options: {
handler() {
this.currentOptions = this.options;
this.initData();
},
immediate: true,
deep: true,
},
modelValue: {
handler() {
this.initData();
},
immediate: true,
},
value: {
handler() {
this.initData();
},
immediate: true,
},
},
methods: {
/** 处理数据此函数用于兼容vue2 vue3 */
initData() {
this.currentData = '';
// vue2
if (this.value || this.value === 0) {
for (let item of this.options) {
if (item[this.props.value] === this.value) {
this.currentData = item[this.props.text];
this.$emit('getText', this.currentData);
return;
}
}
}
// vue3
if (this.modelValue || this.modelValue === 0) {
for (let item of this.options) {
if (item[this.props.value] === this.modelValue) {
this.currentData = item[this.props.text];
this.$emit('getText', this.currentData);
return;
}
}
}
},
/** 过滤选项列表,会自动回到顶部 */
filter() {
this.$emit('getText', this.currentData);
if (this.currentData) {
this.currentOptions = this.options.filter((item) => {
return item[this.props.text].indexOf(this.currentData) > -1;
});
} else {
this.currentOptions = this.options;
}
// scrollTop
this.scrollTop = 1;
this.$nextTick(() => {
this.scrollTop = 0;
});
},
/** 改变值 */
change(item, index) {
if (item[this.props.disabled]) return;
const data = {
...item,
index,
};
this.$emit('change', data);
this.emit(data);
this.toggleSelector();
},
/** 传递父组件值 */
emit(item) {
this.$emit('input', item[this.props.value]);
this.$emit('update:modelValue', item[this.props.value]);
},
/** 清空值 */
clearVal() {
this.$emit('change', 'clear');
this.$emit('input', '');
this.$emit('update:modelValue', '');
},
/** 切换下拉显示 */
toggleSelector() {
if (this.disabled) return;
this.showSelector = !this.showSelector;
if (this.showSelector) {
this.currentOptions = this.options;
// scrollToIdscroll-to-view
this.scrollToId = '';
this.$nextTick(() => {
this.scrollToId = 'scrollToId';
// filter
if (this.animation) {
setTimeout(() => {
//
this.scrollWithAnimation = true;
}, 100);
}
});
} else {
//
this.scrollWithAnimation = false;
}
},
},
};
</script>
<style lang="scss" scoped>
.e-stat__select {
display: flex;
align-items: center;
cursor: pointer;
box-sizing: border-box;
width: 100%;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.e-select-main {
width: 100%;
}
.e-select-disabled {
background-color: #f5f7fa;
cursor: not-allowed;
}
.e-select {
font-size: 14px;
box-sizing: border-box;
border-radius: 4px;
padding: 0 5px;
position: relative;
display: flex;
user-select: none;
flex-direction: row;
align-items: center;
border: 1px solid #dcdfe6;
border-bottom: solid 1px #dddddd;
.e-select__input-box {
width: 100%;
min-height: 34px;
position: relative;
display: flex;
flex: 1;
flex-direction: row;
align-items: center;
.e-select-icon {
width: 50px;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
}
.arrowAnimation {
transition: transform 0.3s;
}
.top {
transform: rotateZ(0deg);
}
.bottom {
transform: rotateZ(180deg);
}
.e-select__input-text {
color: #303030;
padding-left: 7px;
width: 100%;
color: #333;
white-space: nowrap;
text-overflow: ellipsis;
-o-text-overflow: ellipsis;
overflow: hidden;
}
.e-select__input-placeholder {
padding-left: 7px;
color: #666;
}
}
.e-select--mask {
position: fixed;
top: 0;
bottom: 0;
right: 0;
left: 0;
z-index: 999;
}
.e-select__selector {
box-sizing: border-box;
position: absolute;
top: calc(100% + 12px);
left: 0;
width: 100%;
background-color: #ffffff;
border: 1px solid #ebeef5;
border-radius: 6px;
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
z-index: 999;
padding: 4px 4px;
transition: all 2s;
.e-popper__arrow,
.e-popper__arrow::after {
position: absolute;
display: block;
width: 0;
height: 0;
left: 50%;
border-color: transparent;
border-style: solid;
border-width: 6px;
}
.e-popper__arrow {
filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03));
top: -6px;
left: 50%;
transform: translateX(-50%);
margin-right: 3px;
border-top-width: 0;
border-bottom-color: #ebeef5;
}
.e-popper__arrow::after {
content: ' ';
top: 1px;
margin-left: -6px;
border-top-width: 0;
border-bottom-color: #fff;
}
.e-select__selector-scroll {
max-height: 200px;
box-sizing: border-box;
.e-select__selector-empty,
.e-select__selector-item {
display: flex;
cursor: pointer;
line-height: 34px;
font-size: 14px;
text-align: center;
padding: 0px 10px;
}
.e-select__selector-item:hover {
background-color: #f9f9f9;
}
.e-select__selector-empty:last-child,
.e-select__selector-item:last-child {
border-bottom: none;
}
.e-select__selector-item-disabled {
color: #b1b1b1;
cursor: not-allowed;
}
.highlight {
color: #409eff;
font-weight: bold;
background-color: #f5f7fa;
border-radius: 3px;
}
}
}
}
</style>

View File

@ -15,7 +15,7 @@
<view class="main">
<scroll-view scroll-y="true">
<block>
<view v-if="bought.length" @touchmove="onTouchmove" id="goods">
<view v-if="bought.length" @touchmove="onTouchmove" id="goods" class="goods">
<view class="picTxt acea-row" v-for="(item, i) in bought" :key="i">
<view class="checkbox">
<text @click.stop="goodsCheck(item)" v-if="item.check"
@ -30,9 +30,9 @@
<view class='text'>
<view class='line2 name'>{{item.store_name}}</view>
<view class="picTxt_one">
<view class="uni-form-item uni-column" v-if="item.attrValue.length>0">
<view class="uni-form-item uni-column" v-if="item.attrValue.length>0">
<picker class="slecte" @change="bindPickerChange($event,item.attrValue)"
:value="index" :range="item.attrValue" :range-key="'sku'">
<view class="uni-input">{{item.attrValue[index].sku}}</view>
@ -51,12 +51,12 @@
<view class="picTxt_price">
<view class="price">
<span>出售价格</span>
<input type="text" value="" placeholder="输入出售价格" />
<input type="text" value="" placeholder="输入出售价格" placeholder-style="color: #CCCCCC;"/>
</view>
<view class="price_num">
<span>出售数量</span>
<subtractive style="margin-top: -10rpx;margin-left: 30rpx;" class="step" :min="1"
:max="100" :value="peicenumber" :isMax="true" :isMin="true" index="11"
<subtractive style="margin-top: 10rpx;margin-left: 20rpx;" class="step" :min="1" :max="100"
:value="peicenumber" :isMax="true" :isMin="true" index="11"
@eventChange="numberChange"></subtractive>
</view>
@ -113,22 +113,13 @@
keyword: '',
},
peicenumber: 0,
wherec: {
page: 1,
limit: 10,
keyword: '',
},
wheres: {
page: 1,
limit: 10,
keyword: '',
},
searchVal: "",
checked: [],
list: [],
bought: [],
checkedArr: [],
// picker
@ -157,7 +148,7 @@
watch: {
checkedObj: {
handler(n) {
this.checkedArr = n
},
deep: true
@ -166,11 +157,11 @@
mounted() {
this.checkedArr = this.checkedObj
this.getBounht();
},
methods: {
// picker
bindPickerChange: function(e, storage) {
console.log(e)
@ -189,7 +180,6 @@
tabs(index) {
this.isActive = index
this.$set(this.whereb, 'keyword', '');
this.searchVal = ''
this.searchBut()
},
@ -202,26 +192,28 @@
this.getBounht();
}
}).exec();
//
},
setValue: function(event) {
this.$set(this.whereb, 'keyword', event.detail.value);
},
searchBut() {
this.getBounht()
this.whereb.page = this.wherec.page = this.wheres.page =
this.bought = []
this.isActive == 0 ? this.getBounht() : ''
},
getBounht() {
var that = this;
if (that.loadingb || that.loadedb) return;
that.loadingb = true;
getCommunitygetOrderList(that.whereb).then(
res => {
that.loadingb = false;
that.loadedb = res.data.list.length < that.whereb.limit;
that.bought.push.apply(that.bought, res.data.list);
@ -235,15 +227,15 @@
}
);
},
/*获取初始化选中的数据*/
getInitchecked(arr) {
let that = this;
arr.forEach((item, index) => {
that.$set(item, 'check', false);
that.checkedArr.forEach((val, i) => {
if (item.product_id == val.product_id ) {
if (item.product_id == val.product_id) {
that.$set(item, 'check', true);
}
})
@ -266,13 +258,13 @@
this.checkedArr.splice(this.checkedArr.findIndex(itemn => ((itemn.spu_id == item.spu_id) || (item
.spu_id == (
itemn.spu && itemn.spu.spu_id)))), 1)
}
},
/*确定提交*/
submit() {
this.$emit('getProduct', this.checkedArr);
console.log(this.checkedArr)
console.log(this.checkedArr)
},
}
}
@ -411,19 +403,26 @@
.picTxt_price {
display: flex;
margin-top: 37rpx;
height: 70rpx;
line-height: 70rpx;
.price {
display: flex;
margin-right: 30rpx;
margin-right: 15rpx;
input {
width: 168rpx;
height: 39rpx;
width: 210rpx;
text-align: center;
height: 70rpx;
background: #F5F5F5;
border-radius: 7rpx 7rpx 7rpx 7rpx;
font-size: 28rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
color: #CCCCCC;
margin-left: 30rpx;
margin-left: 20rpx;
}
}

View File

@ -10,9 +10,10 @@ let httpApiThree
// let httpApi = 'http://192.168.31.110:8324' // 测试
if (process.env.NODE_ENV === "development") {
// httpApi = 'https://shop.lihaink.cn' // 生产
httpApi = "https://crmeb-test.shop.lihaink.cn"
httpApi = "https://crmeb-test.shop.lihaink.cn"
// httpApi = "http://192.168.0.222"
// httpApi = "http://192.168.0.108:8325"
// httpApi = 'http://192.168.0.108:8325'
// #ifdef MP-WEIXIN
httpApiTwo = "https://nk.lihaink.cn"
httpApiThree = 'http://ceshi-oa.lihaink.cn'

View File

@ -26,7 +26,8 @@
"Camera" : {},
"Geolocation" : {},
"Payment" : {},
"Share" : {}
"Share" : {},
"OAuth" : {}
},
"safearea" : {
"bottom" : {
@ -111,9 +112,7 @@
"__platform__" : [ "ios", "android" ]
}
},
"oauth" : {
"apple" : {}
},
"oauth" : {},
"ad" : {}
},
"icons" : {

16
package.json Normal file
View File

@ -0,0 +1,16 @@
{
"id": "e-select",
"name": "e-select下拉选择器",
"displayName": "e-select下拉选择器",
"version": "1.0.7",
"description": "select下拉选择器支持vue2、vue3支持搜索过滤支持滚动动画内置插槽可用于搭配分页组件",
"keywords": [
"下拉选择框"
],
"dcloudext": {
"category": [
"前端组件",
"通用组件"
]
}
}

View File

@ -698,34 +698,86 @@
"enablePullDownRefresh": false
}
}, {
"path": "releaseOrdermanagement/index",
"style": {
"navigationBarTitleText": "订单管理",
"enablePullDownRefresh": false
}
}
]
},
{
"root": "pages/releaseManagement",
"name": "releaseManagement",
"pages": [{
"path": "/index",
"style": {
"navigationBarTitleText": "发布管理",
"enablePullDownRefresh": false
}
}]
},
{
"root": "pages/commissionedSales",
"name": "commissionedSales",
"pages": [{
"path": "index/index",
"style": {
"navigationBarTitleText": "委托销售",
"enablePullDownRefresh": false
}
},
{
"path": "initiateDelegation/index",
"style": {
"navigationBarTitleText": "发起委托",
"enablePullDownRefresh": false
}
},
{
"path": "addDelegation/index",
"style": {
"navigationBarTitleText": "新增委托",
"enablePullDownRefresh": false
}
},
{
"path": "receivedCommission/index",
"style": {
"navigationBarTitleText": "收到委托",
"enablePullDownRefresh": false
}
},
{
"path": "delegation_details/index",
"style": {
"navigationBarTitleText": "委托销售详情",
"enablePullDownRefresh": false
}
}
]
},
{
"root": "pages/trading_hall",
"name": "trading_hall",
"pages": [{
"pages": [
{
"path": "transfer_goods/index",
"style": {
"navigationBarTitleText": "新增调货",
"enablePullDownRefresh": false
}
},{
}, {
"path": "adddiscounts/index",
"style": {
"navigationBarTitleText": "新增打折",
"enablePullDownRefresh": false
}
},{
}, {
"path": "product_details/index",
"style": {
"navigationBarTitleText": "商品详情",
@ -733,11 +785,10 @@
}
}
]
},
{
"root": "pages/store",
"name": "store",

View File

@ -164,11 +164,23 @@
<view class="bnt cancel" v-if="orderInfo.pay_type === 'offline' && orderInfo.paid === 0" @click="offlinePay">
确认付款
</view>
<view class="bnt delivery" @click="toPostagequ(orderInfo)">
收件码
</view>
<navigator class="bnt delivery" v-if="orderInfo.paid == 1 && orderInfo.status == 0 && orderInfo.order_type == 0" :url="'/pages/admin/delivery/index?id='+orderInfo.order_id+'&merId='+mer_id">去发货</navigator>
<view class="bnt delivery" v-if="orderInfo.paid == 1 && (orderInfo.status == 0 || orderInfo.status == 9) && orderInfo.order_type == 1" @click="goCancellation">去核销</view>
</view>
<PriceChange :change="change" :orderInfo="orderInfo" v-on:closechange="changeclose($event)" v-on:savePrice="savePrice"
:status="status"></PriceChange>
<u-popup :show="popUpShow" mode="center" :closeOnClickOverlay="true" round="12" @close="popUpClose">
<view style="text-align: center;margin-top: 30rpx;">
请把二维码展示给取货人员
</view>
<view style="padding: 28.07rpx;">
<image :src="payCodeUrl" style="width:400rpx;height: 400rpx;"></image>
</view>
</u-popup>
</view>
</template>
<script>
@ -192,6 +204,7 @@
setOfflinePay,
setOrderRefund,
orderCancellation,
logisticsCode,
postconfirm
} from "@/api/admin";
import { isMoney } from '@/utils/validate.js'
@ -218,7 +231,10 @@
payType: "",
types: "",
clickNum: 1,
goname:''
goname:'',
popUpShow: false,
payCodeUrl:''
};
},
watch: {
@ -256,6 +272,22 @@
},
methods: {
//
toPostagequ(item){
this.popUpShow = true
logisticsCode(item.order_id).then(res => {
if (res.status == 200) {
this.payCodeUrl = res.data.qrcode
}
})
},
//
popUpClose() {
this.popUpShow = false
},
//
tongyi(id,number){
let data={

View File

@ -172,6 +172,9 @@
<view class="bnt bnt_color" v-if="where.status == 2 && item.order_type == 0"
@click="toPostage(item)">去发货
</view>
<view class="bnt bnt_color" v-if="where.status == 2 && item.order_type == 0"
@click="toPostagequ(item)">收件码
</view>
<view class="bnt bnt_color"
v-if="(where.status == 2 && item.order_type == 1) || where.is_verify == 1"
@click="toDetail(item)">去核销</view>
@ -270,7 +273,7 @@
codeShow: false,
merId: '',
popUpShow: false,
payCodeUrl:''
payCodeUrl: ''
};
},
watch: {
@ -293,7 +296,7 @@
this.getIndex();
},
methods: {
//
//
popUpClose() {
this.popUpShow = false
@ -451,40 +454,35 @@
}
})
},
//
toPostagequ(item) {
this.popUpShow = true
logisticsCode(item.order_id).then(res => {
if (res.status == 200) {
this.payCodeUrl = res.data.qrcode
}
})
},
toPostage(item) {
let that = this;
console.log(item)
if (item.refunding != 0) {
uni.showModal({
title: '标题',
content: '该订单有售后申请,请确认已处理!',
success: function(res) {
if (res.confirm) {
// uni.navigateTo({
// url: `/pages/admin/delivery/index?id=${item.order_id}&merId=${that.merId}`
// })
this.popUpShow = true
logisticsCode(item.order_id).then(res => {
if (res.status == 200) {
this.payCodeUrl = res.data.qrcode
}
uni.navigateTo({
url: `/pages/admin/delivery/index?id=${item.order_id}&merId=${that.merId}`
})
}
}
})
} else {
this.popUpShow = true
logisticsCode(item.order_id).then(res => {
if (res.status == 200) {
this.payCodeUrl = res.data.qrcode
}
uni.navigateTo({
url: `/pages/admin/delivery/index?id=${item.order_id}&merId=${that.merId}`
})
// uni.navigateTo({
// url: `/pages/admin/delivery/index?id=${item.order_id}&merId=${that.merId}`
// })
}
},
async savePrice(opt) {

View File

@ -0,0 +1,396 @@
<template>
<!-- #ifdef APP || H5 -->
<view>
<!-- #endif -->
<form @submit="formSubmit" report-submit='true'>
<view class="release_content">
<view class="release_item">
<view class="release_item-one">
<view class="item-one">
被委托商家
</view>
<e-select v-model="value1" :options="options1" placeholder="选择选项"></e-select>
</view>
<view class="release_item-one">
<view class="item-one">
委托周期
</view>
<e-select v-model="value1" :options="options1" placeholder="选择选项"></e-select>
</view>
<view class='item acea-row row-between-wrapper'>
<view class='name'><text class="iconfont icon-baobeilianjie"></text>添加产品({{productList.length}})
</view>
<view class="select">
<view class="select_count" @click.stop="addProduct">
<text v-if="productList.length == 0" class="text">选择产品</text>
<view v-else class="text">
<image class="image" v-for="(item,index) in productList" :key="index"
:src="item.image || (item.spu && item.spu.image)"></image>
</view>
<text class="iconfont icon-xiangyou"></text>
</view>
</view>
</view>
<view class="content_center-one">
<view class="center-one">
<view class="center-one-img">
<image src="../../annex/static/left.png" mode=""></image>
</view>
<view class="center-one-txt">
<view class="one-txta">
良品铺子肉松饼1000g/ ...
</view>
<view class="one-txtb">
<view class="">
委托价:¥<span>34.90</span>
</view>
<view class="">
数量:100
</view>
</view>
</view>
</view>
</view>
<view class="content_center-one">
<view class="center-one">
<view class="center-one-img">
<image src="../../annex/static/left.png" mode=""></image>
</view>
<view class="center-one-txt">
<view class="one-txta">
良品铺子肉松饼1000g/ ...
</view>
<view class="one-txtb">
<view class="">
委托价:¥<span>34.90</span>
</view>
<view class="">
数量:100
</view>
</view>
</view>
</view>
</view>
</view>
<button class="release_btn button" form-type="submit">发布</button>
</view>
</form>
<!-- 提到的宝贝弹窗 -->
<uni-popup ref="associated" type="bottom">
<associated @close="close" @getProduct="getProduct" :checkedObj="productList"></associated>
</uni-popup>
</view>
</template>
<script>
import associated from '@/components/associated.vue';
import eselect from '@/components/e-select/e-select.vue';
export default {
components: {
associated,
eselect
},
data() {
return {
value1: 1,
value2: "",
options1: [{
text: "Shenzhen1",
value: 1
}, {
text: "Shenzhen2",
value: 2
}, {
text: "Shenzhen3",
value: 3
}],
productList: [],
};
},
computed: {
},
onLoad(options) {
},
methods: {
}
}
</script>
<style lang="scss" scoped>
page {
background: #F5F5F5;
}
.release_content {
padding: 0 28rpx;
margin-top: 28rpx;
.content_center-one {
display: flex;
padding: 0 28rpx;
.center-one {
margin-top: 32rpx;
margin-bottom: 32rpx;
display: flex;
.center-one-img {
width: 154rpx;
height: 154rpx;
margin-right: 21rpx;
image {
width: 154rpx;
height: 154rpx;
}
}
.center-one-txt {
.one-txta {
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 500;
color: #333333;
}
.one-txtb {
display: flex;
margin-top: 28rpx;
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 400;
color: #999999;
span {
color: #F84221;
margin-right: 30rpx;
}
}
}
}
}
.release_item {
background: #ffffff;
padding: 0 30rpx;
border-radius: 10rpx;
padding-top: 20rpx;
.release_item-one {
.item-one {
margin-top: 32rpx;
margin-bottom: 20rpx;
font-size: 32rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
color: #333333;
}
}
}
.photo_count {
padding: 30rpx 0;
}
}
/deep/.loading-img {
width: 180rpx;
height: 180rpx;
border-radius: 12rpx;
}
.input_photo .pictrue {
margin-bottom: 20rpx;
.videoHover {
width: 180rpx;
height: 180rpx;
display: flex;
align-items: center;
justify-content: center;
position: absolute;
top: 0;
left: 0;
z-index: 10;
>view {
width: 50rpx;
height: 50rpx;
background: #000000;
border-radius: 50rpx;
display: flex;
align-items: center;
justify-content: center;
.iconfont {
color: #ffffff;
font-size: 21rpx;
}
}
}
.video-text {
display: block;
width: 180rpx;
text-align: center;
color: #ffffff;
font-size: 18rpx;
z-index: 13;
position: absolute;
bottom: 20rpx;
}
video {
width: 180rpx;
height: 180rpx;
border-radius: 12rpx;
}
}
.input_photo .add {
background: #f6f6f6;
color: #666666;
.iconfont {
font-size: 50rpx;
}
.text {
margin-top: 20rpx;
font-size: 27rpx;
}
}
.textarea textarea {
font-size: 28rpx;
padding-bottom: 38rpx;
width: 100%;
box-sizing: border-box;
height: 400rpx;
overflow: hidden;
}
.textarea .placeholder {
color: #BBBBBB;
}
.release_item .item {
height: 106rpx;
border-bottom: 1rpx solid #eee;
position: relative;
font-size: 30rpx;
&:last-child {
border-bottom: none;
}
.name {
color: #333333;
.iconfont {
margin-right: 10rpx;
font-size: 28rpx;
}
}
.select {
color: #bbbbbb;
.select_count {
display: flex;
align-items: center;
}
.text {
margin-right: 15rpx;
display: flex;
align-items: center;
.image,
image,
uni-image {
width: 60rpx;
height: 60rpx;
margin-right: 5rpx;
}
}
.iconfont {
font-size: 24rpx;
}
.text_name {
color: var(--view-theme);
padding: 5rpx 12rpx;
background: var(--view-minorColor);
border-radius: 23rpx;
font-size: 24rpx;
margin-right: 10rpx;
.icon {
color: var(--view-theme);
font-weight: bold;
font-size: 24rpx;
}
.title {
margin: 0 10rpx;
}
.iconfont {
font-size: 16rpx;
}
}
}
}
.button {
width: 694rpx;
height: 84rpx;
line-height: 84rpx;
text-align: center;
background: linear-gradient(84deg, #F98649 0%, #F34E45 100%);
border-radius: 42px 42px 42px 42px;
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 500;
color: #FFFFFF;
}
.release_btn {
margin-top: 100rpx;
}
</style>

View File

@ -0,0 +1,282 @@
<template>
<view class="content">
<view class="content_top">
</view>
<view class="content_center">
<view class="content_center-one">
<view class="center-one">
<view class="center-one-img">
<image src="../../annex/static/left.png" mode=""></image>
</view>
<view class="center-one-txt">
<view class="one-txta">
良品铺子肉松饼1000g/ ...
</view>
<view class="one-txtb">
<view class="">
委托价:¥<span>34.90</span>
</view>
<view class="">
数量:100
</view>
</view>
</view>
</view>
</view>
<view class="content_center-one">
<view class="center-one">
<view class="center-one-img">
<image src="../../annex/static/left.png" mode=""></image>
</view>
<view class="center-one-txt">
<view class="one-txta">
良品铺子肉松饼1000g/ ...
</view>
<view class="one-txtb">
<view class="">
委托价:¥<span>34.90</span>
</view>
<view class="">
数量:100
</view>
</view>
</view>
</view>
</view>
<view class="content_center-two">
<view class="center-two">
<view class="center-twoa">
委托方:
</view>
<view class="center-twob">
通滩镇镇街店铺
</view>
</view>
<view class="center-two">
<view class="center-twoa">
被委托方:
</view>
<view class="center-twob">
通滩镇镇街店铺
</view>
</view>
<view class="center-two">
<view class="center-twoa">
委托周期:
</view>
<view class="center-twob">
通滩镇镇街店铺
</view>
</view>
<view class="center-two">
<view class="center-twoa">
结算周期:
</view>
<view class="center-twob">
通滩镇镇街店铺
</view>
</view>
<view class="center-two">
<view class="center-twoa">
状态:
</view>
<view class="center-twob">
通滩镇镇街店铺
</view>
</view>
<view class="center-two">
<view class="center-twoa">
是否结束委托:
</view>
<view class="center-twob">
通滩镇镇街店铺
</view>
</view>
<view class="center-two">
<view class="center-twoa">
拒绝原因:
</view>
<view class="center-twob">
通滩镇镇街店铺
</view>
</view>
</view>
</view>
<view class="content_bootm">
<view class="content_bootm_txt">
查看TA提到的宝贝(2)
</view>
<view class="content_bootm_one">
<view class="bootm_oneimg">
<image src="@/static/images/bg2.png" mode=""></image>
</view>
<view class="">
良品铺子肉松饼1000g/ 面包糕...
</view>
</view>
<view class="content_bootm_one">
<view class="bootm_oneimg">
<image src="@/static/images/bg2.png" mode=""></image>
</view>
<view class="">
良品铺子肉松饼1000g/ 面包糕...
</view>
</view>
</view>
<button class="release_btn button" form-type="submit">发布</button>
</view>
</template>
<script>
</script>
<style lang="scss">
.content{
position: relative;
}
.content_top {
height: 151rpx;
background: linear-gradient(84deg, #2352FA 0%, #6497FF 100%);
}
.content_center {
background: #FFFFFF;
border-radius: 14px 14px 14px 14px;
margin: 28rpx 28rpx;
.content_center-one {
display: flex;
padding: 0 28rpx;
.center-one {
margin-top: 32rpx;
margin-bottom: 32rpx;
display: flex;
.center-one-img {
width: 154rpx;
height: 154rpx;
margin-right: 21rpx;
image {
width: 154rpx;
height: 154rpx;
}
}
.center-one-txt {
.one-txta {
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 500;
color: #333333;
}
.one-txtb {
display: flex;
margin-top: 28rpx;
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 400;
color: #999999;
span {
color: #F84221;
margin-right: 30rpx;
}
}
}
}
}
.content_center-two {
padding: 0 28rpx;
padding-bottom: 2rpx;
.center-two {
display: flex;
justify-content: space-between;
margin-top: 32rpx;
margin-bottom: 32rpx;
.center-twoa {
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 400;
color: #333333;
}
.center-twob {
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 400;
color: #999999;
}
}
}
}
.content_bootm {
margin-bottom: 150rpx;
.content_bootm_txt {
margin-top: 42rpx;
padding-left: 28rpx;
}
.content_bootm_one {
height: 112rpx;
line-height: 112rpx;
background: #FFFFFF;
display: flex;
margin-top: 21rpx;
.bootm_oneimg {
width: 80rpx;
height: 80rpx;
margin: auto 0;
margin-left: 28rpx;
margin-right: 21rpx;
image {
width: 80rpx;
height: 80rpx;
}
}
}
}
.button {
width: 694rpx;
height: 84rpx;
line-height: 84rpx;
text-align: center;
background: linear-gradient(84deg, #F98649 0%, #F34E45 100%);
border-radius: 42px 42px 42px 42px;
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 500;
color: #FFFFFF;
position: absolute;
left: 50%;
margin-left:-347rpx;
position: fixed;
bottom: 100rpx;
}
</style>

View File

@ -0,0 +1,164 @@
<template>
<view class="select_warehouse">
<view class="wrapper flex_a_c_j_sb">
<block v-for="item in goodsData" :key="item.name">
<view class="select_item" @click="navigato(item.type)"
:style="{'background-image': `url(${item.src})`}">
<view class="select_itemimga" v-if='item.type==1'>
<image :src="item.img" mode=""></image>
</view>
<view class="select_itemimgb" v-else>
<image :src="item.img" mode=""></image>
</view>
<view class="title">
<view class="titlea">
{{ item.name }}
</view>
<view class="titleb">
{{ item.name1 }}
</view>
</view>
</view>
</block>
</view>
</view>
</template>
<script>
export default {
data() {
return {
goodsData: [{
name: '我发起的',
name1: '委托销售商品',
type: 1,
src: require('@/static/images/wtbg1.png'),
img: require('@/static/images/wtt1.png')
},
{
name: '我收到的',
name1: '帮助销售商品',
type: 2,
src: require('@/static/images/wtbg2.png'),
img: require('@/static/images/wtt2.png')
}
],
}
},
onLoad() {
},
onShow() {
},
methods: {
navigato(type) {
if (type === 1) {
uni.navigateTo({
url: `/pages/commissionedSales/initiateDelegation/index`
});
} else {
uni.navigateTo({
url: `/pages/commissionedSales/receivedCommission/index`
});
}
},
},
}
</script>
<style lang="scss">
.select_warehouse {
padding-top: 20px;
}
.wrapper {
width: 694.74rpx;
margin: 0 auto;
}
.goods-wrapper {
.item {
display: flex;
height: 175.44rpx;
width: 100%;
background-color: #fff;
margin-top: 21.05rpx;
border-radius: 8px;
padding: 12px;
.l_cont {
image {
width: 133.33rpx;
height: 133.33rpx;
border-radius: 8px;
}
}
.r_cont {
margin-left: 17.54rpx;
}
}
}
.select_item {
width: 336rpx;
height: 161rpx;
border-radius: 8px;
background-color: #eee;
display: flex;
color: #fff;
background-size: 100% 100%;
background-repeat: no-repeat;
.select_itemimga {
width: 59rpx;
height: 63rpx;
margin-top: 49rpx;
margin-left: 42rpx;
image {
width: 100%;
height: 100%;
}
}
.select_itemimgb {
width: 75rpx;
height: 65rpx;
margin-top: 49rpx;
margin-left: 42rpx;
image {
width: 100%;
height: 100%;
}
}
.title {
margin-left: 23rpx;
margin-top: 37rpx;
.titlea {
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 500;
color: #FFFFFF;
}
.titleb {
margin-top: 5rpx;
font-size: 25rpx;
font-family: PingFang SC;
font-weight: 400;
color: rgba(255, 255, 255, 0.8);
}
}
}
</style>

View File

@ -0,0 +1,823 @@
<template>
<view class="content">
<view class="content_top">
<!--选项卡滑动切换-->
<cxNavTitle :tabs="tabs" :activeItem="activeItem" @tabClick="tabClick" :show='false'></cxNavTitle>
</view>
<!-- 审核通过 打折的拒绝同意功能 调货不需要功能 -->
<view class="content-content" v-for="(item,i) in list" :key="i" @click="nav(item)">
<view class="content-one">
<view class="content-one-img">
<image src="@/static/images/bg2.png" mode="aspectFit"></image>
</view>
<view class="content-one-txt">
<view class="one-txt-a">
{{item.content}}
</view>
<view class="one-txt-b">
委托周期:{{item.day}}
</view>
</view>
</view>
<view class="content-two_one" v-if="item.type==1">
<view class="content-two-edita" @click="soldEdit">
待处理
</view>
<view class="contentgn">
<view class="contentgn_a">
处理
</view>
<span></span>
<view class="contentgn_b">
详情
</view>
</view>
</view>
<view class="content-two_oneq" v-if="item.type==2">
<view class="content-two-editb" @click="soldEdit">
已接受
</view>
<view class="contentgn">
<view class="contentgn_a">
结束委托
</view>
<span></span>
<view class="contentgn_b">
详情
</view>
</view>
</view>
<view class="content-two_one" v-if="item.type==3">
<view class="content-two-editc" @click="soldEdit">
已拒绝
</view>
<view class="contentgn">
<view class="contentgn_a">
删除
</view>
<span></span>
<view class="contentgn_b">
详情
</view>
</view>
</view>
<view class="content-two_one" v-if="item.type==4">
<view class="content-two-editd" @click="soldEdit">
已完成
</view>
<view class="contentgn">
<view class="contentgn_a">
删除
</view>
<span></span>
<view class="contentgn_b">
详情
</view>
</view>
</view>
</view>
<view v-if="orderList.length == 0 && this.where.page > 1">
<emptyPage title="暂无订单~"></emptyPage>
</view>
<!-- <uni-popup ref="bindmobile" type="center" @click="close">
<view class="" style="position: relative;">
<view class="entrust">
<view class="entrust_close" @click="close">
<image src="@/static/images/wt_close.png" mode=""></image>
</view>
<view class="entrust_bg">
<view class="entrust_bg-content">
<view class="bg-content-a">
委托申请处理
</view>
<view class="bg-content-b">
结算周期: <span>30</span>
</view>
<view class="bg-content-c">
利息比例: <span>0.05%</span>
</view>
<view class="entrust_bga_btn">
<view class="cancellation">
拒绝
</view>
<view class="determine">
接受
</view>
</view>
</view>
</view>
</view>
</view>
</uni-popup> -->
<!-- <uni-popup ref="bindmobile" type="center" @click="close">
<view class="" style="position: relative;">
<view class="entrust">
<view class="entrust_close" @click="close">
<image src="@/static/images/wt_close.png" mode=""></image>
</view>
<view class="entrust_bga">
<view class="entrust_bg-content">
<view class="bg-content-a">
确定结束委托?
</view>
<view class="entrust_bga_btn">
<view class="cancellation">
取消
</view>
<view class="determine">
确定
</view>
</view>
</view>
</view>
</view>
</view>
</uni-popup> -->
<!-- <uni-popup ref="bindmobile" type="center" @click="close">
<view class="" style="position: relative;">
<view class="entrust">
<view class="entrust_close" @click="close">
<image src="@/static/images/wt_close.png" mode=""></image>
</view>
<view class="entrust_bg">
<view class="entrust_bg-content">
<view class="bg-content-a" style="margin-left: 207rpx;">
结束委托申请处理
</view>
<view class="bg-content-b">
结算周期: <span>30</span>
</view>
<view class="bg-content-c">
利息比例: <span>0.05%</span>
</view>
<view class="entrust_bga_btn">
<view class="cancellation">
拒绝
</view>
<view class="determine">
接受
</view>
</view>
</view>
</view>
</view>
</view>
</uni-popup> -->
<uni-popup ref="bindmobile" type="center" @click="close">
<view class="" style="position: relative;">
<view class="entrust">
<view class="entrust_close" @click="close">
<image src="@/static/images/wt_close.png" mode=""></image>
</view>
<view class="entrust_bgb">
<view class="entrust_bg-content">
<view class="bg-content-a" style="margin-left: 207rpx;">
结束委托申请处理
</view>
<view class="bg-content-b">
结算周期: <span>30</span>
</view>
<view class="bg-content-c">
利息比例: <span>0.05%</span>
</view>
<view class="bg-content-c" >
拒绝原因
<view class="" style="margin-top: 21rpx;">
<textarea value="" placeholder="输入拒绝原因" class="bg-content_textarea"/>
</view>
</view>
<view class="entrust_bga_btn">
<view class="determine">
接受
</view>
</view>
</view>
</view>
</view>
</view>
</uni-popup>
</view>
</template>
<script>
import cxNavTitle from '@/components/cx-navTitle.vue'
import emptyPage from '@/components/emptyPage.vue';
export default {
components: {
cxNavTitle,
emptyPage
},
data() {
return {
activeItem: "tabOne",
tabTitle: "",
orderList: [],
where: {
page: 1,
limit: 10
},
tabs: [{
name: "tabOne",
label: '待处理',
type: '1'
},
{
name: "tabTwo",
label: '已接受',
type: '2'
},
{
name: "tabThree",
label: '已拒绝',
type: '3'
},
],
list: [{
content: '张三生产资料供销供应链',
day: 10,
type: 1
},
{
content: '张三生产资料供销供应链',
day: 10,
type: 2
},
{
content: '张三生产资料供销供应链',
day: 10,
type: 3
},
{
content: '张三生产资料供销供应链',
day: 10,
type: 4
}
]
}
},
onLoad() {
this.tabTitle = this.tabs[0].name
// -- :
console.log(this.tabs[0])
},
mounted() {
this.$refs.bindmobile.open()
},
methods: {
nav(item) {
uni.navigateTo({
url: '/pages/commissionedSales/delegation_details/index'
})
},
tabClick(e) { //
this.activeItem = e.name; //class
this.tabTitle = e.name; //
},
//
close() {
console.log('1111111')
this.$refs.bindmobile.close()
},
//
soldEdit() {
console.log('111111')
this.$refs.bindmobile.open()
},
//
pendingDeletion() {
},
//
editReviewe() {
},
//
auditDelete() {
},
//
auditEdit() {
},
//
passDelete() {
},
//
passagree() {
}
}
}
</script>
<style lang="scss" scoped>
.content_top {
background-color: #FFFFFF;
}
.content_top {
width: 100%;
}
.content-content {
margin-top: 21rpx;
background: #FFFFFF;
padding: 0 28rpx;
padding-top: 28rpx;
background: #FFFFFF;
position: relative;
display: flex;
justify-content: space-between;
.content-one {
display: flex;
padding-bottom: 23rpx;
.content-one-img {
width: 148rpx;
height: 148rpx;
margin-right: 28rpx;
border: 1px solid;
image {
width: 100%;
height: 100%;
}
}
.content-one-txt {
.txt-b-a {
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 500;
color: #333333;
}
.one-txt-b {
display: flex;
margin-top: 30rpx;
.txt-b-a {
font-size: 32rpx;
font-family: SF Pro Display-Medium, SF Pro Display;
font-weight: 500;
color: #F84221;
margin-right: 74rpx;
}
.txt-b-b {
font-size: 28rpx;
font-family: PingFang SC;
font-weight: 400;
color: #333333
}
}
}
}
.content-two_oneq {
position: absolute;
right: 20rpx;
text-align: right;
.content-two-edita {
font-size: 32rpx;
font-weight: 500;
color: #F84221;
}
.content-two-editb {
font-size: 32rpx;
font-weight: 500;
color: #FE9A10;
}
.content-two-editc {
font-size: 32rpx;
font-weight: 500;
color: #20A162;
}
.content-two-editd {
font-size: 32rpx;
font-weight: 500;
color: #999999;
}
.contentgn {
display: flex;
justify-content: space-between;
margin-top: 47rpx;
.contentgn_a {
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 400;
color: #F84221;
margin-right: 10rpx;
}
span {
width: 0px;
height: 30rpx;
opacity: 1;
margin-top: 10rpx;
border: 2rpx solid #CCCCCC;
}
.contentgn_b {
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 400;
color: #999999;
margin-left: 10rpx;
}
}
}
.content-two_one {
text-align: right;
.content-two-edita {
font-size: 32rpx;
font-weight: 500;
color: #F84221;
}
.content-two-editb {
font-size: 32rpx;
font-weight: 500;
color: #FE9A10;
}
.content-two-editc {
font-size: 32rpx;
font-weight: 500;
color: #20A162;
}
.content-two-editd {
font-size: 32rpx;
font-weight: 500;
color: #999999;
}
.contentgn {
display: flex;
justify-content: space-between;
margin-top: 47rpx;
.contentgn_a {
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 400;
color: #F84221;
margin-right: 10rpx;
}
span {
width: 0px;
height: 30rpx;
opacity: 1;
margin-top: 10rpx;
border: 2rpx solid #CCCCCC;
}
.contentgn_b {
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 400;
color: #999999;
margin-left: 10rpx;
}
}
}
}
.entrust {
width: 694rpx;
height: 676rpx;
.entrust_close {
width: 44rpx;
height: 44rpx;
image {
width: 100%;
height: 100%;
}
z-index: 99999;
position: absolute;
right: 0;
}
.entrust_bg {
width: 694rpx;
height: 676rpx;
background: url('@/static/images/wtbg3.png') no-repeat;
background-size: 100% 100%;
position: relative;
.entrust_bg-content {
position: absolute;
top: 284rpx;
.bg-content-a {
margin-left: 242rpx;
font-size: 35rpx;
font-family: PingFang SC;
font-weight: 500;
color: #333333;
}
.bg-content-b {
margin-left: 35rpx;
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 500;
color: #333333;
margin-top: 32rpx;
span {
font-size: 32rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 500;
color: #F84221;
margin-left: 18rpx;
}
}
.bg-content-c {
margin-left: 35rpx;
font-size: 35rpx;
font-family: PingFang SC;
font-weight: 500;
color: #333333;
margin-top: 32rpx;
span {
font-size: 32rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 500;
color: #F84221;
margin-left: 18rpx;
}
}
}
.entrust_bga_btn {
display: flex;
margin-top: 53rpx;
.cancellation {
height: 95rpx;
line-height: 95rpx;
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 400;
color: #999999;
margin-left: 121rpx;
margin-right: 49rpx;
}
.determine {
width: 249rpx;
height: 95rpx;
line-height: 95rpx;
text-align: center;
font-size: 32rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 500;
color: #FFFFFF;
background: linear-gradient(180deg, #F98649 0%, #F34E45 100%);
border-radius: 47rpx 47rpx 47rpx 47rpx;
}
}
}
.entrust_bga {
width: 694rpx;
height: 520rpx;
background: url('@/static/images/wtbg4.png') no-repeat;
background-size: 100% 100%;
position: relative;
.entrust_bg-content {
position: absolute;
top: 284rpx;
.bg-content-a {
margin-left: 242rpx;
font-size: 35rpx;
font-family: PingFang SC;
font-weight: 500;
color: #333333;
}
.entrust_bga_btn {
display: flex;
margin-top: 53rpx;
.cancellation {
height: 95rpx;
line-height: 95rpx;
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 400;
color: #999999;
margin-left: 121rpx;
margin-right: 49rpx;
}
.determine {
width: 249rpx;
height: 95rpx;
line-height: 95rpx;
text-align: center;
font-size: 32rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 500;
color: #FFFFFF;
background: linear-gradient(180deg, #F98649 0%, #F34E45 100%);
border-radius: 47rpx 47rpx 47rpx 47rpx;
}
}
}
}
.entrust_bgb {
width: 694rpx;
height: 994rpx;
background: url('@/static/images/wtbg3.png') no-repeat;
background-size: 100% 100%;
position: relative;
.entrust_bg-content {
position: absolute;
top: 284rpx;
.bg-content-a {
margin-left: 242rpx;
font-size: 35rpx;
font-family: PingFang SC;
font-weight: 500;
color: #333333;
}
.bg-content-b {
margin-left: 35rpx;
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 500;
color: #333333;
margin-top: 32rpx;
span {
font-size: 32rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 500;
color: #F84221;
margin-left: 18rpx;
}
}
.bg-content-c {
margin-left: 35rpx;
font-size: 35rpx;
font-family: PingFang SC;
font-weight: 500;
color: #333333;
margin-top: 32rpx;
span {
font-size: 32rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 500;
color: #F84221;
margin-left: 18rpx;
}
}
.bg-content_textarea{
height: 242rpx;
padding: 25rpx 18rpx;
background: #F5F5F5;
}
}
.entrust_bga_btn {
display: flex;
margin-top: 33rpx;
.determine {
margin-left: 188rpx;
width: 249rpx;
height: 95rpx;
line-height: 95rpx;
text-align: center;
font-size: 32rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 500;
color: #FFFFFF;
background: linear-gradient(180deg, #F98649 0%, #F34E45 100%);
border-radius: 47rpx 47rpx 47rpx 47rpx;
}
}
}
}
</style>

View File

@ -0,0 +1,545 @@
<template>
<view class="content">
<view class="content_top">
<!--选项卡滑动切换-->
<cxNavTitle :tabs="tabs" :activeItem="activeItem" @tabClick="tabClick" :show='false'></cxNavTitle>
</view>
<!-- 审核通过 打折的拒绝同意功能 调货不需要功能 -->
<view class="content-content" v-for="(item,i) in list" :key="i" @click="nav(item)">
<view class="content-one">
<view class="content-one-img">
<image src="@/static/images/bg2.png" mode="aspectFit"></image>
</view>
<view class="content-one-txt">
<view class="one-txt-a">
{{item.content}}
</view>
<view class="one-txt-b">
委托周期:{{item.day}}
</view>
</view>
</view>
<view class="content-two_one" v-if="item.type==1">
<view class="content-two-edita" @click="soldEdit">
待处理
</view>
<view class="contentgn">
<view class="contentgn_a">
处理
</view>
<span></span>
<view class="contentgn_b">
详情
</view>
</view>
</view>
<view class="content-two_oneq" v-if="item.type==2">
<view class="content-two-editb" @click="soldEdit">
已接受
</view>
<view class="contentgn">
<view class="contentgn_a">
结束委托
</view>
<span></span>
<view class="contentgn_b">
详情
</view>
</view>
</view>
<view class="content-two_one" v-if="item.type==3">
<view class="content-two-editc" @click="soldEdit">
已拒绝
</view>
<view class="contentgn">
<view class="contentgn_a">
删除
</view>
<span></span>
<view class="contentgn_b">
详情
</view>
</view>
</view>
<view class="content-two_one" v-if="item.type==4">
<view class="content-two-editd" @click="soldEdit">
已完成
</view>
<view class="contentgn">
<view class="contentgn_a">
删除
</view>
<span></span>
<view class="contentgn_b">
详情
</view>
</view>
</view>
</view>
<view v-if="orderList.length == 0 && this.where.page > 1">
<emptyPage title="暂无订单~"></emptyPage>
</view>
<uni-popup ref="bindmobile" type="center" @click="close">
<view class="" style="position: relative;">
<view class="entrust">
<view class="entrust_close" @click="close">
<image src="@/static/images/wt_close.png" mode=""></image>
</view>
<view class="entrust_bg">
<view class="entrust_bg-content">
<view class="bg-content-a">
委托申请处理
</view>
<view class="bg-content-b">
结算周期: <span>30</span>
</view>
<view class="bg-content-c">
利息比例: <span>0.05%</span>
</view>
</view>
</view>
</view>
</view>
</uni-popup>
</view>
</template>
<script>
import cxNavTitle from '@/components/cx-navTitle.vue'
import emptyPage from '@/components/emptyPage.vue';
export default {
components: {
cxNavTitle,
emptyPage
},
data() {
return {
activeItem: "tabOne",
tabTitle: "",
orderList: [],
where: {
page: 1,
limit: 10
},
tabs: [{
name: "tabOne",
label: '待处理',
type: '1'
},
{
name: "tabTwo",
label: '已接受',
type: '2'
},
{
name: "tabThree",
label: '已拒绝',
type: '3'
},
],
list: [{
content: '张三生产资料供销供应链',
day: 10,
type: 1
},
{
content: '张三生产资料供销供应链',
day: 10,
type: 2
},
{
content: '张三生产资料供销供应链',
day: 10,
type: 3
},
{
content: '张三生产资料供销供应链',
day: 10,
type: 4
}
]
}
},
onLoad() {
this.tabTitle = this.tabs[0].name
// -- :
console.log(this.tabs[0])
},
mounted() {
this.$refs.bindmobile.open()
},
methods: {
nav(item){
uni.navigateTo({
url:'/pages/commissionedSales/delegation_details/index'
})
},
tabClick(e) { //
this.activeItem = e.name; //class
this.tabTitle = e.name; //
},
//
close() {
console.log('1111111')
this.$refs.bindmobile.close()
},
//
soldEdit() {
console.log('111111')
this.$refs.bindmobile.open()
},
//
pendingDeletion() {
},
//
editReviewe() {
},
//
auditDelete() {
},
//
auditEdit() {
},
//
passDelete() {
},
//
passagree() {
}
}
}
</script>
<style lang="scss" scoped>
.content_top {
background-color: #FFFFFF;
}
.content_top {
width: 100%;
}
.content-content {
margin-top: 21rpx;
background: #FFFFFF;
padding: 0 28rpx;
padding-top: 28rpx;
background: #FFFFFF;
position: relative;
display: flex;
justify-content: space-between;
.content-one {
display: flex;
padding-bottom: 23rpx;
.content-one-img {
width: 148rpx;
height: 148rpx;
margin-right: 28rpx;
border: 1px solid;
image {
width: 100%;
height: 100%;
}
}
.content-one-txt {
.txt-b-a {
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 500;
color: #333333;
}
.one-txt-b {
display: flex;
margin-top: 30rpx;
.txt-b-a {
font-size: 32rpx;
font-family: SF Pro Display-Medium, SF Pro Display;
font-weight: 500;
color: #F84221;
margin-right: 74rpx;
}
.txt-b-b {
font-size: 28rpx;
font-family: PingFang SC;
font-weight: 400;
color: #333333
}
}
}
}
.content-two_oneq {
position: absolute;
right: 20rpx;
text-align: right;
.content-two-edita {
font-size: 32rpx;
font-weight: 500;
color: #F84221;
}
.content-two-editb {
font-size: 32rpx;
font-weight: 500;
color: #FE9A10;
}
.content-two-editc {
font-size: 32rpx;
font-weight: 500;
color: #20A162;
}
.content-two-editd {
font-size: 32rpx;
font-weight: 500;
color: #999999;
}
.contentgn {
display: flex;
justify-content: space-between;
margin-top: 47rpx;
.contentgn_a {
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 400;
color: #F84221;
margin-right: 10rpx;
}
span {
width: 0px;
height: 30rpx;
opacity: 1;
margin-top: 10rpx;
border: 2rpx solid #CCCCCC;
}
.contentgn_b {
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 400;
color: #999999;
margin-left: 10rpx;
}
}
}
.content-two_one {
text-align: right;
.content-two-edita {
font-size: 32rpx;
font-weight: 500;
color: #F84221;
}
.content-two-editb {
font-size: 32rpx;
font-weight: 500;
color: #FE9A10;
}
.content-two-editc {
font-size: 32rpx;
font-weight: 500;
color: #20A162;
}
.content-two-editd {
font-size: 32rpx;
font-weight: 500;
color: #999999;
}
.contentgn {
display: flex;
justify-content: space-between;
margin-top: 47rpx;
.contentgn_a {
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 400;
color: #F84221;
margin-right: 10rpx;
}
span {
width: 0px;
height: 30rpx;
opacity: 1;
margin-top: 10rpx;
border: 2rpx solid #CCCCCC;
}
.contentgn_b {
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 400;
color: #999999;
margin-left: 10rpx;
}
}
}
}
.entrust {
width: 694rpx;
height: 676rpx;
.entrust_close {
width: 44rpx;
height: 44rpx;
image {
width: 100%;
height: 100%;
}
z-index: 99999;
position: absolute;
right: 0;
}
.entrust_bg {
width: 694rpx;
height: 676rpx;
background: url('@/static/images/wtbg3.png') no-repeat;
background-size: 100% 100%;
position: relative;
.entrust_bg-content {
position: absolute;
top: 284rpx;
.bg-content-a {
margin-left: 242rpx;
font-size: 35rpx;
font-family: PingFang SC;
font-weight: 500;
color: #333333;
}
.bg-content-b {
margin-left: 35rpx;
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 500;
color: #333333;
margin-top: 32rpx;
span {
font-size: 32rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 500;
color: #F84221;
margin-left: 18rpx;
}
}
.bg-content-c {
margin-left: 35rpx;
font-size: 35rpx;
font-family: PingFang SC;
font-weight: 500;
color: #333333;
margin-top: 32rpx;
span {
font-size: 32rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 500;
color: #F84221;
margin-left: 18rpx;
}
}
}
}
}
</style>

View File

@ -127,14 +127,12 @@
</image>
<text class="text">交易大厅</text>
</view>
<view class="examine"
@click="navigator(`/pages/product/basicSet?mer_id=${mer_id}`, '商户设置')">
<view class="examine" @click="navigator(`/pages/commissionedSales/index/index`)">
<image class="icon_img" src="@/static/images/weituo.png" mode="aspectFill">
</image>
<text class="text">委托销售</text>
</view>
<view class="examine"
@click="navigator(`/pages/users/releaseOrdermanagement/index`, '商户设置')">
<view class="examine" @click="navigator(`/pages/releaseManagement/index`)">
<image class="icon_img" src="@/static/images/fabu.png" mode="aspectFill">
</image>
<text class="text">发布管理</text>

View File

@ -298,12 +298,12 @@
<view class='bnt b-color' v-if="orderInfo.activity_type==4 && orderInfo.status==9" @tap='goJoinPink'>
查看拼团</view>
<block v-if="orderInfo.status == 1">
<view class="bnt cancel" @click="allRefund"
v-if="refundNum.length != cartInfo.length && orderInfo.refund_status">批量退款</view>
<!-- <view class="bnt cancel" @click="allRefund"
v-if="refundNum.length != cartInfo.length && orderInfo.refund_status">批量退款</view> -->
<navigator v-if="orderInfo.delivery_type == 1 || orderInfo.delivery_type == 4" class='bnt cancel'
hover-class='none' :url="'/pages/users/goods_logistics/index?orderId='+ orderInfo.order_id">查看物流
</navigator>
<view class='bnt b-color' @tap='confirmOrder(orderInfo)'>确认收货</view>
<view class='bnt b-color' @tap='confirmOrder(orderInfo)'>取件码</view>
</block>
<block v-if="orderInfo.status == 2">
<view class="bnt cancel" @click="allRefund"
@ -365,7 +365,7 @@
<span>此订单为先货后款订单确认收货后将开始计算结算周期为保障售后权益请检查后再确认收货</span>
<button class="shouhuobtn" @click="queding()">
确认
</button>
<view class="cle" @click="close">取消</view>
</view>
@ -914,33 +914,33 @@
},
queding() {
let that = this;
orderTake(that.order_id).then(res => {
this.receivingshow = false
return that.$util.Tips({
title: '成功收货',
icon: 'success'
}, function() {
uni.showModal({
title: '取件码',
content: item.logistics_code,
success: function(res) {
if (res.confirm) {
// console.log('');
} else if (res.cancel) {
// console.log('');
}
}
})
that.getOrderInfo();
});
}).catch(err => {
this.receivingshow = false
return that.$util.Tips({
title: err
});
uni.showModal({
title: '取件码',
content: item.logistics_code,
success: function(res) {
if (res.confirm) {
// console.log('');
} else if (res.cancel) {
// console.log('');
}
}
})
// let that = this;
// orderTake(that.order_id).then(res => {
// this.receivingshow = false
// return that.$util.Tips({
// title: '',
// icon: 'success'
// }, function() {
// that.getOrderInfo();
// });
// }).catch(err => {
// this.receivingshow = false
// return that.$util.Tips({
// title: err
// });
// })
},
/**
*

File diff suppressed because it is too large Load Diff

BIN
static/images/wt_close.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 772 B

BIN
static/images/wtbg1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

BIN
static/images/wtbg2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

BIN
static/images/wtbg3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
static/images/wtbg4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
static/images/wtbg5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
static/images/wtt1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
static/images/wtt2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB