bug修复
This commit is contained in:
parent
47a517b653
commit
0c93989f39
@ -307,6 +307,9 @@
|
||||
takeGoods,
|
||||
doneDelivery
|
||||
} from "@/api/logistics.js"
|
||||
import {
|
||||
Toast
|
||||
} from "@/libs/uniApi";
|
||||
export default {
|
||||
props: ['goodsInfo'],
|
||||
data() {
|
||||
@ -360,8 +363,13 @@
|
||||
order_id: this.goodsInfo.order_id,
|
||||
order_sn: sn
|
||||
}).then(res => {
|
||||
console.log(res)
|
||||
this.$emit('showTost')
|
||||
this.$emit('getlist')
|
||||
}).catch(err => {
|
||||
Toast(err.msg)
|
||||
// console.log(err, 65656)
|
||||
|
||||
})
|
||||
|
||||
},
|
||||
|
@ -123,8 +123,9 @@
|
||||
taskRoleTypeList: ['town_task_type', 'town_task_type_marketing_director', 'town_task_type_master'],
|
||||
townServiceList: [44, 45, 46, 47, 48, 49, 50], // 镇农科服务部长任务
|
||||
navToTownServiceList: [44, 45, 46, 48, 49, 50], // 镇农科服务部长跳转/subpkg/townTask/townTask的任务 0
|
||||
navToTownMarketList: [51, 52, 53, 54, 55, 57, 58, 59], // 镇农科市场部长跳转/subpkg/townTask/townTask的任务 1
|
||||
navToVillageList: [62, 63, 64, 65, 66, 68] // 村管理跳转/subpkg/townTask/townTask的任务 1
|
||||
navToTownMarketList: [51, 52, 53, 54, 55, 56, 57, 58, 59], // 镇农科市场部长跳转/subpkg/townTask/townTask的任务 1
|
||||
navToVillageList: [62, 63, 64, 65, 66, 68, ], // 村管理跳转/subpkg/townTask/townTask的任务 1
|
||||
navToVillageListA: [75, 77, 78, 79, 80, 81] // 村管理跳转/subpkg/townTask/townTask的任务 1
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
@ -146,6 +147,8 @@
|
||||
} else Toast('暂未开放')
|
||||
},
|
||||
clickTask() {
|
||||
|
||||
|
||||
if (this.isTimeInRange()) return Toast('任务正在结算中');
|
||||
// if ((this.$props.datas.type != 31) && this.$props.datas.status !== 2 && this.$props.datas.status !== 1) {
|
||||
// return this.$props.datas.status == 3 ? Toast('任务已完成!') : Toast('任务已结束!');
|
||||
@ -162,6 +165,10 @@
|
||||
return this.navTo(
|
||||
`/subpkg/townTask/townTask?task_id=${this.$props.datas?.id}&type_value=${this.taskRoleTypeList[1]}`
|
||||
);
|
||||
if (this.navToVillageListA.includes(this.$props.datas.type))
|
||||
return this.navTo(
|
||||
`/subpkg/townTask/townTask?task_id=${this.$props.datas?.id}&type_value=${this.taskRoleTypeList[2]}`
|
||||
);
|
||||
switch (this.$props.datas.type) {
|
||||
case 31:
|
||||
if (this.$store.state.app.userInfo.admin_id) this.navTo(
|
||||
|
@ -331,24 +331,32 @@
|
||||
|
||||
qrqodeFn() {
|
||||
let that = this
|
||||
console.log(6666)
|
||||
uni.scanCode({
|
||||
onlyFromCamera: true,
|
||||
success: function(res) {
|
||||
|
||||
that.takeGood(res.result)
|
||||
}
|
||||
});
|
||||
},
|
||||
// 取货{}
|
||||
takeGood(sn) {
|
||||
console.log(takeGoods)
|
||||
takeGoods({
|
||||
logistics_id: this.goodsDetil.logistics.id,
|
||||
order_id: this.goodsDetil.logistics.order_id,
|
||||
order_sn: sn
|
||||
}).then(res => {
|
||||
}).then((res, err) => {
|
||||
console.log(545454, err)
|
||||
this.showToast()
|
||||
setTimeout(() => {
|
||||
uni.navigateBack()
|
||||
}, 1000)
|
||||
}).catch(err => {
|
||||
Toast(err.msg)
|
||||
console.log(err, 65656)
|
||||
|
||||
})
|
||||
|
||||
},
|
||||
|
@ -6,10 +6,20 @@
|
||||
</u-skeleton>
|
||||
</block>
|
||||
<block v-else>
|
||||
<u-tabs style="background-color: #0022C7;" :list="tabLists" @click="changeTypeCurrent" lineColor='white'
|
||||
lineWidth='30' inactiveStyle='color:white' activeStyle="color:white"></u-tabs>
|
||||
<u-empty v-if="list.length==0" icon="/static/img/empty/data.png" text="没有任务"></u-empty>
|
||||
|
||||
<view v-else class="task_list">
|
||||
|
||||
|
||||
<!-- <taskCard class="task_card" v-for="item in 10" :key="item"></taskCard> -->
|
||||
<task-item :datas="item" v-for="item in list" :key="item.id"></task-item>
|
||||
<view class="" v-if="baseList.length">
|
||||
<task-item :datas="item" v-for="item in baseList" :key="item.id"></task-item>
|
||||
</view>
|
||||
<view class="" v-else>
|
||||
<u-empty icon="/static/img/empty/data.png" text="没有任务"></u-empty>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</block>
|
||||
@ -35,7 +45,16 @@
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
status: 2,
|
||||
skeleton: false,
|
||||
baseList: [],
|
||||
tabLists: [{
|
||||
name: '进行中',
|
||||
id: 2
|
||||
}, {
|
||||
name: '已完成',
|
||||
id: 3
|
||||
}, ],
|
||||
loadConfig: {
|
||||
page: 1,
|
||||
limit: 15,
|
||||
@ -58,12 +77,21 @@
|
||||
uni.$on('initOaTask', this.loadList);
|
||||
},
|
||||
methods: {
|
||||
changeTypeCurrent(e) {
|
||||
this.baseList = []
|
||||
this.status = e.id
|
||||
this.baseList = this.list.filter(item => item.status == this.status)
|
||||
|
||||
|
||||
},
|
||||
async loadList() {
|
||||
let res = await taskLists({
|
||||
limit: 15,
|
||||
page: 1
|
||||
});
|
||||
this.list = res.data;
|
||||
this.baseList = this.list.filter(item => item.status == this.status)
|
||||
|
||||
this.skeleton = false;
|
||||
}
|
||||
},
|
||||
|
@ -282,7 +282,7 @@
|
||||
</u-radio-group>
|
||||
</u-form-item>
|
||||
<u-form-item labelWidth="auto" label="店铺进货渠道" borderBottom>
|
||||
<u--input :readonly="readonly" type='number' v-model="formData1.incomingChannels"
|
||||
<u--input :readonly="readonly" v-model="formData1.incomingChannels"
|
||||
placeholder="请输入进货渠道"></u--input>
|
||||
</u-form-item>
|
||||
<u-form-item labelWidth="auto" label="有无仓储" borderBottom>
|
||||
|
@ -1,194 +1,208 @@
|
||||
<template>
|
||||
<view class="task_page">
|
||||
<u-skeleton v-if="skeleton" :class="{'loading': skeleton}" :animate="true" title rows="3" rows-width="92%"
|
||||
rowsHeight="56">
|
||||
</u-skeleton>
|
||||
<block v-else>
|
||||
<view class="card">
|
||||
<view class="c_title">{{`任务名称: ${taskInfo.title||''}`}}</view>
|
||||
<view>{{taskInfo.content||''}}</view>
|
||||
</view>
|
||||
<view class="card" v-if="extend_info&&extend_info.target">
|
||||
<view class="c_title">目标数量: {{extend_info.target}}</view>
|
||||
</view>
|
||||
<view class="card" v-if="extend_info&&extend_info.store_name">
|
||||
<view class="c_title">指定商品: </view>
|
||||
<view class="store">
|
||||
<view class="store_name" v-for="(item, index) in extend_info.store_name" :key="index" @click="copyName(item)">
|
||||
{{item}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="card">
|
||||
<view class="c_title">判定条件:</view>
|
||||
<view style="white-space: pre-line;">{{remark}}</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="task_page">
|
||||
|
||||
<!-- {{taskInfo}} -->
|
||||
|
||||
<u-skeleton v-if="skeleton" :class="{'loading': skeleton}" :animate="true" title rows="3" rows-width="92%"
|
||||
rowsHeight="56">
|
||||
</u-skeleton>
|
||||
<block v-else>
|
||||
<view class="card">
|
||||
<view class="c_title">{{`任务名称: ${taskInfo.title||''}`}}</view>
|
||||
<view>{{taskInfo.content||''}}</view>
|
||||
</view>
|
||||
<view class="card" v-if="extend_info&&extend_info.target">
|
||||
<view class="c_title">目标数量: {{extend_info.target}}</view>
|
||||
</view>
|
||||
<view class="card" v-if="extend_info&&extend_info.store_name">
|
||||
<view class="c_title">指定商品: </view>
|
||||
<view class="store">
|
||||
<view class="store_name" v-for="(item, index) in extend_info.store_name" :key="index"
|
||||
@click="copyName(item)">
|
||||
{{item}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="card">
|
||||
<view class="c_title">判定条件:</view>
|
||||
<view style="white-space: pre-line;">{{remark}}</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { Toast } from "../../libs/uniApi";
|
||||
import { townTaskDetails } from "@/api/task.js"
|
||||
import { dictDataListsTypeValue } from "@/api/oaPbulic.js"
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
taskInfo:{
|
||||
id: '',
|
||||
title: '',
|
||||
content: '',
|
||||
extend: {}
|
||||
},
|
||||
extend_info: null,
|
||||
remark: '',
|
||||
skeleton: true,
|
||||
type_value: 'town_task_type', // 任务类型
|
||||
}
|
||||
},
|
||||
onLoad(options) {
|
||||
options.task_id?this.taskInfo.id=options.task_id:null;
|
||||
options.type_value?this.type_value=options.type_value:null;
|
||||
this.initTask();
|
||||
},
|
||||
onShow() {},
|
||||
methods: {
|
||||
async initTask(){
|
||||
this.skeleton = true;
|
||||
let res = await townTaskDetails({
|
||||
id: this.taskInfo.id
|
||||
});
|
||||
if(res.data?.template_info?.extend){
|
||||
if(res.data?.template_info?.extend?.goods_id && typeof res.data?.template_info?.extend?.goods_id!=='object'){
|
||||
res.data.template_info.extend.goods_id = res.data?.template_info?.extend?.goods_id.split(',');
|
||||
res.data.template_info.extend.store_name = res.data?.template_info?.extend?.store_name.split(';')||[];
|
||||
}
|
||||
this.extend_info = res.data?.template_info?.extend;
|
||||
}
|
||||
this.taskInfo = res.data;
|
||||
let dict = await dictDataListsTypeValue({
|
||||
type_value: this.type_value
|
||||
})
|
||||
dict.data.forEach((item)=>{
|
||||
if(item.id==this.taskInfo.type){
|
||||
this.remark = item.remark;
|
||||
}
|
||||
})
|
||||
this.skeleton = false;
|
||||
},
|
||||
copyName(str = "", type = "商品名称") {
|
||||
if (str) uni.setClipboardData({
|
||||
data: str + "",
|
||||
success: (e) => {
|
||||
Toast(type + '已复制')
|
||||
},
|
||||
fail: (e) => {
|
||||
Toast('复制失败')
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
}
|
||||
import {
|
||||
Toast
|
||||
} from "../../libs/uniApi";
|
||||
import {
|
||||
townTaskDetails
|
||||
} from "@/api/task.js"
|
||||
import {
|
||||
dictDataListsTypeValue
|
||||
} from "@/api/oaPbulic.js"
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
taskInfo: {
|
||||
id: '',
|
||||
title: '',
|
||||
content: '',
|
||||
extend: {}
|
||||
},
|
||||
extend_info: null,
|
||||
remark: '',
|
||||
skeleton: true,
|
||||
type_value: 'town_task_type', // 任务类型
|
||||
}
|
||||
},
|
||||
onLoad(options) {
|
||||
options.task_id ? this.taskInfo.id = options.task_id : null;
|
||||
options.type_value ? this.type_value = options.type_value : null;
|
||||
this.initTask();
|
||||
},
|
||||
onShow() {},
|
||||
methods: {
|
||||
async initTask() {
|
||||
this.skeleton = true;
|
||||
let res = await townTaskDetails({
|
||||
id: this.taskInfo.id
|
||||
});
|
||||
if (res.data?.template_info?.extend) {
|
||||
if (res.data?.template_info?.extend?.goods_id && typeof res.data?.template_info?.extend
|
||||
?.goods_id !== 'object') {
|
||||
res.data.template_info.extend.goods_id = res.data?.template_info?.extend?.goods_id.split(',');
|
||||
res.data.template_info.extend.store_name = res.data?.template_info?.extend?.store_name.split(
|
||||
';') || [];
|
||||
}
|
||||
this.extend_info = res.data?.template_info?.extend;
|
||||
}
|
||||
this.taskInfo = res.data;
|
||||
let dict = await dictDataListsTypeValue({
|
||||
type_value: this.type_value
|
||||
// type_value: 'town_task_type_master'
|
||||
})
|
||||
dict.data.forEach((item) => {
|
||||
if (item.id == this.taskInfo.type) {
|
||||
this.remark = item.remark;
|
||||
}
|
||||
})
|
||||
this.skeleton = false;
|
||||
},
|
||||
copyName(str = "", type = "商品名称") {
|
||||
if (str) uni.setClipboardData({
|
||||
data: str + "",
|
||||
success: (e) => {
|
||||
Toast(type + '已复制')
|
||||
},
|
||||
fail: (e) => {
|
||||
Toast('复制失败')
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.task_page {
|
||||
padding-top: 30rpx;
|
||||
.task_page {
|
||||
padding-top: 30rpx;
|
||||
|
||||
.card {
|
||||
margin: 0 auto;
|
||||
margin-bottom: 28rpx;
|
||||
width: 694rpx;
|
||||
background-color: #fff;
|
||||
border-radius: 26rpx;
|
||||
padding: 28rpx;
|
||||
.card {
|
||||
margin: 0 auto;
|
||||
margin-bottom: 28rpx;
|
||||
width: 694rpx;
|
||||
background-color: #fff;
|
||||
border-radius: 26rpx;
|
||||
padding: 28rpx;
|
||||
|
||||
.c_title {
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
color: #333333;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
.c_title {
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
color: #333333;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
|
||||
.file {
|
||||
display: flex;
|
||||
justify-content: left;
|
||||
flex-wrap: wrap;
|
||||
.file {
|
||||
display: flex;
|
||||
justify-content: left;
|
||||
flex-wrap: wrap;
|
||||
|
||||
&_item {
|
||||
flex-shrink: 0;
|
||||
width: 200rpx;
|
||||
height: 200rpx;
|
||||
margin: 0 auto;
|
||||
margin-bottom: 16rpx;
|
||||
border: 2px solid #ccc;
|
||||
border-radius: 10rpx;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
&_item {
|
||||
flex-shrink: 0;
|
||||
width: 200rpx;
|
||||
height: 200rpx;
|
||||
margin: 0 auto;
|
||||
margin-bottom: 16rpx;
|
||||
border: 2px solid #ccc;
|
||||
border-radius: 10rpx;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
|
||||
.image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.del {
|
||||
position: absolute;
|
||||
height: 40rpx;
|
||||
width: 40rpx;
|
||||
top: 10rpx;
|
||||
right: 10rpx;
|
||||
}
|
||||
}
|
||||
.del {
|
||||
position: absolute;
|
||||
height: 40rpx;
|
||||
width: 40rpx;
|
||||
top: 10rpx;
|
||||
right: 10rpx;
|
||||
}
|
||||
}
|
||||
|
||||
&_btn {
|
||||
flex-shrink: 0;
|
||||
width: 200rpx;
|
||||
height: 200rpx;
|
||||
margin: 0 auto;
|
||||
margin-bottom: 16rpx;
|
||||
border: 2px solid #ccc;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
border-radius: 10rpx;
|
||||
&_btn {
|
||||
flex-shrink: 0;
|
||||
width: 200rpx;
|
||||
height: 200rpx;
|
||||
margin: 0 auto;
|
||||
margin-bottom: 16rpx;
|
||||
border: 2px solid #ccc;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
border-radius: 10rpx;
|
||||
|
||||
image {
|
||||
width: 100rpx;
|
||||
height: 100rpx;
|
||||
}
|
||||
}
|
||||
image {
|
||||
width: 100rpx;
|
||||
height: 100rpx;
|
||||
}
|
||||
}
|
||||
|
||||
&_empty {
|
||||
flex-shrink: 0;
|
||||
width: 200rpx;
|
||||
height: 200rpx;
|
||||
margin: 0 auto;
|
||||
margin-bottom: 16rpx;
|
||||
border: 2px solid transparent;
|
||||
}
|
||||
}
|
||||
|
||||
.store{
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
font-size: 26rpx;
|
||||
color: #0122c7;
|
||||
margin-top: -10rpx;
|
||||
&_name{
|
||||
flex-shrink: 0;
|
||||
padding: 8rpx;
|
||||
border: 5rpx solid #0122c7;
|
||||
border-radius: 10rpx;
|
||||
background-color: rgba(#0122c7, 0.1);
|
||||
margin-right: 10rpx;
|
||||
margin-top: 10rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.loading{
|
||||
padding: 28rpx;
|
||||
}
|
||||
}
|
||||
&_empty {
|
||||
flex-shrink: 0;
|
||||
width: 200rpx;
|
||||
height: 200rpx;
|
||||
margin: 0 auto;
|
||||
margin-bottom: 16rpx;
|
||||
border: 2px solid transparent;
|
||||
}
|
||||
}
|
||||
|
||||
.store {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
font-size: 26rpx;
|
||||
color: #0122c7;
|
||||
margin-top: -10rpx;
|
||||
|
||||
&_name {
|
||||
flex-shrink: 0;
|
||||
padding: 8rpx;
|
||||
border: 5rpx solid #0122c7;
|
||||
border-radius: 10rpx;
|
||||
background-color: rgba(#0122c7, 0.1);
|
||||
margin-right: 10rpx;
|
||||
margin-top: 10rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.loading {
|
||||
padding: 28rpx;
|
||||
}
|
||||
}
|
||||
</style>
|
Loading…
x
Reference in New Issue
Block a user