新增任务组件

This commit is contained in:
weipengfei 2023-08-04 11:32:51 +08:00
parent aa9db5216c
commit 4bbebdf2b5
6 changed files with 326 additions and 150 deletions

25
components/task/index.vue Normal file
View File

@ -0,0 +1,25 @@
<template>
<view class="c_task">
<taskItem></taskItem>
</view>
</template>
<script>
import taskItem from "./taskItem.vue"
export default {
name:"task",
components: {taskItem},
data() {
return {
};
}
}
</script>
<style lang="scss">
.c_task{
padding-top: 28rpx;
padding-bottom: 100rpx;
}
</style>

View File

@ -0,0 +1,108 @@
<template>
<view class="c_task_item">
<view class="top">
<view class="left">
<view>任务名称:</view>
<view class="text">宣传配送</view>
</view>
<view class="right">
<image class="icon" src="../../static/icons/ok_c.png"></image>
<!-- <image src="../../static/icons/err_c.png"></image> -->
</view>
</view>
<view class="item">
<view class="left">
<view>任务进度:</view>
<view class="text">30%</view>
</view>
<view class="right">30.00<text class="price"></text></view>
</view>
<view class="item">
<view class="left">
<view>任务进度:</view>
<view class="text">2023.08.05</view>
</view>
<view class="right">
<text>进入任务<uni-icons type="right" color="#3175f9"></uni-icons></text>
</view>
</view>
</view>
</template>
<script>
export default {
name: "task",
data() {
return {
};
}
}
</script>
<style lang="scss">
.c_task_item {
margin: 0 auto;
margin-bottom: 28rpx;
width: 694rpx;
background: #FFFFFF;
border-radius: 14rpx 14rpx 14rpx 14rpx;
opacity: 1;
font-size: 25rpx;
font-weight: 400;
color: #999999;
line-height: 39rpx;
.text {
font-size: 28rpx;
font-weight: 400;
color: #333333;
line-height: 39rpx;
margin-left: 18rpx;
}
.top {
display: flex;
justify-content: space-between;
padding: 28rpx;
border-bottom: 1rpx solid #F5F5F5FF;
.left {
display: flex;
justify-content: left;
align-items: center;
}
.right {
.icon {
width: 43rpx;
height: 43rpx;
}
}
}
.item {
display: flex;
justify-content: space-between;
margin: 18rpx 28rpx 0 28rpx;
&:last-child {
padding-bottom: 18rpx;
}
.left {
display: flex;
}
.right{
font-size: 32rpx;
font-weight: 400;
color: #3274F9;
line-height: 39rpx;
.price{
font-size: 25rpx;
}
}
}
}
</style>

BIN
static/icons/err_c.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
static/icons/ok_c.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -1,19 +1,23 @@
<template>
<view class="">
<view class="fixed_box">
<u-sticky bgColor="#fff">
<u-tabs :list="tabLists" @click="changeCurrent" lineColor='#3274F9' :scrollable="false" lineWidth='40'
inactiveStyle='color:#666' activeStyle="color:#3274F9"></u-tabs>
</u-sticky>
<!-- <view class="fixed_box">
<scroll-view :scroll-x="true" style="background-color: #fff;">
<view class="top_box">
<view class="item" :class="current==0?'active':''" @click="current=0">我的公司</view>
<view class="item" :class="current==1?'active':''" @click="current=1">签约公司</view>
<view class="item" :class="current==2?'active':''" @click="current=2">公司财务</view>
<view class="item" :class="current==3?'active':''" @click="naviTo()">任务情况</view>
<view class="item" :class="current==3?'active':''" @click="current=3">任务情况</view>
</view>
</scroll-view>
<view class="top_box top_box2" v-if="current==1">
<view class="item" :class="currentChild==0?'active':''" @click="currentChild=0;initLoad()">已签约</view>
<view class="item" :class="currentChild==1?'active':''" @click="currentChild=1;initLoad()">未签约</view>
</view>
</view>
</view> -->
<view>
<view class="company_info" v-show="current==0">
<company></company>
@ -41,25 +45,40 @@
</view>
</view>
</view>
<u-loadmore :status="loadConfig.status" :loading-text="loadConfig.loadingText" :loadmore-text="loadConfig.loadmoreText" :nomore-text="loadConfig.nomoreText" />
<u-loadmore :status="loadConfig.status" :loading-text="loadConfig.loadingText"
:loadmore-text="loadConfig.loadmoreText" :nomore-text="loadConfig.nomoreText" />
<mybtn text="新建签约" @click="naviTo('/subpkg/companyUnsign/companyUnsign')"></mybtn>
</view>
<view class="company_info" v-show="current==2">
<companyFinance></companyFinance>
</view>
<view class="company_info" v-show="current==3">
<task></task>
</view>
</view>
</view>
</template>
<script>
import { companyIndex, companyUnsigned } from "@/api/company.js"
import { companyIndex } from "@/api/company.js"
import { Toast } from '@/libs/uniApi.js'
import companyFinance from "@/components/companyFinance/companyFinance.vue"
import task from "@/components/task/index.vue"
export default {
components:{companyFinance},
components: { companyFinance, task },
data() {
return {
current: 0,
currentChild: 0,
tabLists: [{
name: '我的公司',
}, {
name: '签约公司'
}, {
name: '公司财务'
}, {
name: '任务情况'
}],
loadConfig: {
page: 1,
limit: 15,
@ -90,12 +109,7 @@
async loadCompanyList() {
if (this.loadConfig.status == "nomore") return;
this.loadConfig.status = "loading";
let res;
if(this.currentChild==0) res = await companyIndex({
page: this.loadConfig.page,
limit: this.loadConfig.limit
})
else res = await companyUnsigned({
let res = await companyIndex({
page: this.loadConfig.page,
limit: this.loadConfig.limit
})
@ -126,6 +140,9 @@
Toast('复制失败')
}
})
},
changeCurrent(e){
this.current = e.index;
}
},
onPullDownRefresh() {
@ -153,7 +170,8 @@
display: flex;
.item {
flex-shrink: 0; /* 禁止缩小 */
flex-shrink: 0;
/* 禁止缩小 */
width: 155rpx;
height: 53rpx;
background: #F5F5F5FF;
@ -166,26 +184,31 @@
margin: 28rpx 0;
margin-left: 28rpx;
}
.active {
background: $theme-oa-color;
color: #fff;
}
}
.top_box2 {
.item {
margin-top: 0;
width: 120rpx;
}
}
.company_info {
margin-top: 110rpx;
// margin-top: 110rpx;
}
.company_list {
padding-bottom: 32rpx;
margin-top: 190rpx;
// margin-top: 190rpx;
display: flex;
flex-direction: column;
align-items: center;
.info_card {
width: 694rpx;
// height: 300rpx;
@ -193,16 +216,19 @@
border-radius: 21rpx 21rpx 21rpx 21rpx;
margin-top: 28rpx;
padding: 24rpx;
.top {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 28rpx;
.info_name {
font-size: 32rpx;
font-weight: 500;
color: #333333;
}
.have {
&::before {
content: "已签约";
@ -214,6 +240,7 @@
margin-right: 10rpx;
}
}
.no {
&::before {
content: "未签约";
@ -225,12 +252,14 @@
margin-right: 10rpx;
}
}
.info_type {
font-size: 25rpx;
font-weight: 500;
color: $theme-oa-color;
margin-top: 10rpx;
}
.btn {
font-size: 25rpx;
font-weight: 400;
@ -239,14 +268,17 @@
align-items: center;
}
}
.bottom {
display: flex;
margin-top: 28rpx;
image {
height: 140rpx;
width: 140rpx;
margin-right: 28rpx;
}
.text {
display: flex;
flex-direction: column;
@ -254,5 +286,7 @@
}
}
}
}
</style>

View File

@ -3,6 +3,7 @@ import {
HEADER,
TOKENNAME,
} from '@/config/app';
import { Toast } from '../libs/uniApi';
// import { checkLogin } from '../libs/login';
import store from '../store';
@ -55,6 +56,14 @@ function baseRequestTwo(url, method, data, {
store.commit("LOGOUT");
reject(res.data);
}
else if (res.data.code == 0){
uni.hideLoading();
uni.showToast({
title: res.data.msg || '请检查网络',
icon: 'none'
})
reject(res.data);
}
else if (res.data.code == 1)
reslove(res.data);
else if (res.data.code == 200)
@ -63,12 +72,12 @@ function baseRequestTwo(url, method, data, {
toLogin();
reject(res.data);
} else if (res.data.code == 501) {
uni.reLaunch({
url: '/pages/error/index'
})
// uni.reLaunch({
// url: '/pages/error/index'
// })
reject(res.data);
} else {
uni.hideLoading();
// uni.hideLoading();
uni.showToast({
title: res.data.msg || '请检查网络',
icon: 'none'
@ -77,7 +86,7 @@ function baseRequestTwo(url, method, data, {
}
},
fail: (message) => {
uni.hideLoading()
// uni.hideLoading()
reject('请求失败');
}
})