2023-09-23 11:37:52 +08:00
|
|
|
<template>
|
|
|
|
<view class="task_page">
|
2023-09-23 17:07:45 +08:00
|
|
|
<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">
|
|
|
|
<view class="c_title">判定条件:</view>
|
|
|
|
<view style="white-space: pre-line;">{{remark}}</view>
|
|
|
|
</view>
|
|
|
|
</block>
|
2023-09-23 11:37:52 +08:00
|
|
|
</view>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
import { Toast } from "../../libs/uniApi";
|
|
|
|
import { serviceTaskDetails } from "@/api/task.js"
|
2023-09-23 16:21:09 +08:00
|
|
|
import { dictDataListsTypeValue } from "@/api/oaPbulic.js"
|
2023-09-23 11:37:52 +08:00
|
|
|
export default {
|
|
|
|
data() {
|
|
|
|
return {
|
|
|
|
taskInfo:{
|
|
|
|
id: '',
|
|
|
|
title: '',
|
|
|
|
content: '',
|
|
|
|
extend: {}
|
|
|
|
},
|
2023-09-23 17:07:45 +08:00
|
|
|
remark: '',
|
|
|
|
skeleton: true
|
2023-09-23 11:37:52 +08:00
|
|
|
}
|
|
|
|
},
|
|
|
|
onLoad(options) {
|
2023-09-23 16:21:09 +08:00
|
|
|
options.task_id?this.taskInfo.id=options.task_id:null;
|
2023-09-23 11:37:52 +08:00
|
|
|
this.initTask();
|
|
|
|
},
|
|
|
|
onShow() {},
|
|
|
|
methods: {
|
|
|
|
async initTask(){
|
2023-09-23 17:07:45 +08:00
|
|
|
this.skeleton = true;
|
2023-09-23 11:37:52 +08:00
|
|
|
let res = await serviceTaskDetails({
|
|
|
|
id: this.taskInfo.id
|
|
|
|
});
|
|
|
|
this.taskInfo = res.data;
|
2023-09-23 16:21:09 +08:00
|
|
|
let dict = await dictDataListsTypeValue({
|
|
|
|
type_value: 'town_task_type'
|
|
|
|
})
|
2023-09-23 16:30:08 +08:00
|
|
|
dict.data.forEach((item)=>{
|
2023-09-23 16:27:00 +08:00
|
|
|
if(item.id==this.taskInfo.type){
|
|
|
|
this.remark = item.remark;
|
|
|
|
}
|
|
|
|
})
|
2023-09-23 17:07:45 +08:00
|
|
|
this.skeleton = false;
|
2023-09-23 11:37:52 +08:00
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<style lang="scss">
|
|
|
|
.task_page {
|
|
|
|
padding-top: 30rpx;
|
|
|
|
|
|
|
|
.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;
|
|
|
|
}
|
|
|
|
|
|
|
|
.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;
|
|
|
|
|
|
|
|
.image {
|
|
|
|
width: 100%;
|
|
|
|
height: 100%;
|
|
|
|
}
|
|
|
|
|
|
|
|
.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;
|
|
|
|
|
|
|
|
image {
|
|
|
|
width: 100rpx;
|
|
|
|
height: 100rpx;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
&_empty {
|
|
|
|
flex-shrink: 0;
|
|
|
|
width: 200rpx;
|
|
|
|
height: 200rpx;
|
|
|
|
margin: 0 auto;
|
|
|
|
margin-bottom: 16rpx;
|
|
|
|
border: 2px solid transparent;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2023-09-23 17:07:45 +08:00
|
|
|
|
|
|
|
.loading{
|
|
|
|
padding: 28rpx;
|
|
|
|
}
|
2023-09-23 11:37:52 +08:00
|
|
|
}
|
|
|
|
</style>
|