123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763 |
- <template>
- <view>
- <!-- 胶囊 -->
- <mvBar :mysNavConfig="mysNavConfig"></mvBar>
- <view :style="{marginTop:navH}"></view>
- <view v-if="!loading">
- <!-- 任务状态 -->
- <view style="padding-bottom: 30rpx;margin: 0 30rpx">
- <view style="display: flex;justify-content: center;font-size: 44rpx;padding-bottom: 20rpx;">
- <p>{{msg1}}</p>
- <view class="upload-btn" v-if="isShowUpload" @click="toUpload()" key="0">
- <image src="../../static/img/icon-upload.png" style="height: 40rpx;width: 40rpx;"></image>
- <p style="font-size: 28rpx;">快速上传</p>
- </view>
- </view>
- <view style="display: flex;justify-content: center;font-size: 24rpx;color: #999999;text-align:center">
- <p>{{msg2}}</p>
- </view>
- </view>
- <view class="address">
- <view class="address_icon">
- <image style="width: 50rpx;height: 50rpx;" :src="picture.icon_loc" mode="">
- </image>
- </view>
- <view style="width: 70%;">
- <view style="display: flex;">
- <p class='ipon' style="padding-right: 100rpx;">{{address.receiver_name}}</p>
- <p class='ipon'>{{address.phone_number}}</p>
- </view>
- <p class='ipon'>{{address.full_detail_addr}}</p>
- </view>
- <view class="address_edit" @click="editAddress()" v-if="task.task_stage < 4">
- <image :src="picture.icon_edit" mode="">
- </image>
- </view>
- </view>
- <view class="basicInfo">
- <view class="tpc-txt1">
- <image :src="product.PhotoUrl" style="width: 150rpx;height: 150rpx;" mode="">
- </image>
- <view class="basicInfo_txt">
- <p style="font-size: 30rpx;">{{project.selection_name}}</p>
- <p>售价:¥{{project.show_estimated_cost}}
- 佣金:{{project.commission_rate}}%</p>
- <p v-if="project.task_mode === 1">额外悬赏:¥{{project.show_task_reward}}</p>
- </view>
- </view>
- <view class="tpc-txt2" @click="toTaskDeatail()">
- <p>查看</p>
- <image class="tpc-icon" :src="picture.icon_right"></image>
- </view>
- </view>
- <view class="pipline" v-if="task.task_mode == 1 && task.sample_mode == 1">
- <image :src="picture.icon_mianfeichunyong"></image>
- </view>
- <view class="pipline" v-if="task.task_mode == 2 && task.sample_mode == 1">
- <image :src="picture.icon_mianfeixuanshang"></image>
- </view>
- <view class="pipline" v-if="task.task_mode == 1 && task.sample_mode == 2">
- <image :src="picture.icon_dianfuchunyong"></image>
- </view>
- <view class="pipline" v-if="task.task_mode == 2 && task.sample_mode == 2">
- <image :src="picture.icon_dianfuxuanshang"></image>
- </view>
- <view class="pipline" v-if="task.task_mode == 1 && task.sample_mode == 3">
- <image :src="picture.icon_wuyangchunyong"></image>
- </view>
- <view class="pipline" v-if="task.task_mode == 2 && task.sample_mode == 3">
- <image :src="picture.icon_wuyangxuanshang"></image>
- </view>
- <view class="task-progress">
- <view class="task-progress-card"
- v-bind:style="task.task_stage == 3 || task.task_stage == 5 || task.task_stage == 6 ? 'background-color: #f2d241' : ''">
- <view class="tpc-txt1">
- <p>报名信息</p>
- </view>
- <view class="tpc-txt2" @click="toApplyinfo()">
- <p>查看</p>
- <image class="tpc-icon" :src="picture.icon_right"></image>
- </view>
- </view>
- <view class="task-progress-card" v-if="task.task_stage >= 7"
- v-bind:style="task.task_stage == 7 ? 'background-color: #f2d241' : ''">
- <view class="tpc-txt1">
- <p>物流信息</p>
- </view>
- <view class="tpc-txt2" @click="toLogisticsinfo()">
- <p>查看</p>
- <image class="tpc-icon" :src="picture.icon_right"></image>
- </view>
- </view>
- <view class="task-progress-card" v-if="task.task_stage >= 8"
- v-bind:style="task.task_stage == 8 ? 'background-color: #f2d241' : ''">
- <view class="tpc-txt1">
- <p>上传作业</p>
- </view>
- <view class="tpc-txt2" @click="toUpload()" v-if="task.task_stage == 8">
- <p style="color: red;">待添加</p>
- <image class="tpc-icon" :src="picture.icon_right"></image>
- </view>
- <view class="tpc-txt2" @click="toAssignmentRecord()" v-if="task.task_stage > 8">
- <p>查看</p>
- <image class="tpc-icon" :src="picture.icon_right"></image>
- </view>
- </view>
- <view class="task-progress-card" v-if="task.task_stage === 9 || task.task_stage === 10"
- style="background-color: #f2d241">
- <view class="tpc-txt1" v-if="task.task_stage === 9">
- <p>待结算</p>
- </view>
- <view class="tpc-txt1" v-if="task.task_stage === 10">
- <p>已结束</p>
- </view>
- <view class="tpc-txt2" v-if="withdrawStatus == 1">
- <!-- <p>前往提现</p>
- <image class="tpc-icon" :src="picture.icon_right"></image> -->
- </view>
- <view class="tpc-txt2" @click="toWithdraw()" v-if="withdrawStatus == 2">
- <p>前往提现</p>
- <image class="tpc-icon" :src="picture.icon_right"></image>
- </view>
- <view class="tpc-txt2" v-if="withdrawStatus == 3">
- <p>提现中</p>
- <image class="tpc-icon" :src="picture.icon_right"></image>
- </view>
- <view class="tpc-txt2" v-if="withdrawStatus == 4">
- <p>已提现</p>
- <image class="tpc-icon" :src="picture.icon_right"></image>
- </view>
- </view>
- <view class="task-progress-info">
- <view style="padding: 10rpx 0;">
- <p>任务ID:{{task.task_id}}
- <image :src="picture.icon_copy" mode="" class="copy-img"
- @click="handleCopy(task.task_id)" />
- </p>
- </view>
- <view style="padding: 10rpx 0;">
- <p>报名时间:{{task.create_date}}</p>
- </view>
- <view v-if="task.task_stage > 1 && task.task_stage != 3" style="padding: 10rpx 0;">
- <p>确认合作:{{task.select_date}}</p>
- </view>
- <view v-for="(item,index) in taskLogs" style="padding: 10rpx 0;">
- <p>{{item.content}}:{{item.log_at}}</p>
- </view>
- </view>
- </view>
- <view class="block"></view>
- <view class="submit" v-if="task.task_stage === 10 && withdrawStatus == 2">
- <button type="default" class="submit_btn" @click="toWithdraw()">
- 前往提现</button>
- </view>
- </view>
- </view>
- </template>
- <script>
- import region from '@/components/pca-code.json';
- import mvBar from "@/components/mys_navBar/mysNavBar";
- import {
- fansview,
- money
- } from '@/components/utils.js';
- export default {
- components: {
- mvBar
- },
- data() {
- return {
- navH: getApp().globalData.navHeight,
- picture: getApp().globalData.picture,
- mysNavConfig: {
- isHome: false,
- /* 固定导航 */
- navFixed: true,
- /* 标题 (屏幕中心居中 两边图标中心居中使用slot center1) */
- navTitle: {
- text: "带货任务详情",
- color: "",
- fontSize: "32rpx", // px upx rpx
- fontWeight: "", // 100 - 700
- },
- btnType: "type2",
- onLeftClick: '',
- /* type2 按钮 */
- type2Config: {
- // 左图标
- leftPath: "https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/png2.png",
- // 右图标
- rightPath: "https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/png4.png",
- // 圆角
- radius: "40rpx",
- },
- },
- infoMsg1: [
- "等待企业确认合作",
- "等待企业确认合作",
- "等待企业确认合作",
- "恭喜任务申请成功!",
- "任务申请失败",
- "等待发货中",
- "商家已发货",
- "等待上传作业",
- "待结算",
- "已结案",
- ],
- infoMsg2: [
- "商家将在申请截止后5天内审核完毕",
- "商家将在申请截止后5天内审核完毕",
- "商家将在申请截止后5天内审核完毕",
- "请仔细查看任务要求和任务详情,开始执行任务吧!",
- "未达到领样标准,请小主尝试申请其他任务吧",
- "发货后可在任务进度中查看物流单号",
- "请在任务进度中查看物流单号",
- "请仔细查看任务要求,根据要求完成作业,截止时间前上传作业提交后可领取相应的悬赏及返现",
- "作业提交成功,请等待商家结算。",
- "本任务已结案,可前往任务大厅查看报名其他任务。",
- ],
- task_type_info: ["实体商品寄拍", "虚拟产品测评", "线下探店打卡"],
- isTimeOut: false,
- isNotShowSubmit: true,
- isShowUpload: false,
- loading: true,
- timeLeft: "",
- msg1: "",
- msg2: "",
- taskId: '',
- task: {},
- address: {},
- project: {},
- product: {},
- account: {},
- strategy: {},
- taskLogs: [],
- withdrawStatus: 1,
- }
- },
- async onShow() {
- this.loading = true;
- uni.showLoading({
- title: '加载中'
- });
- await this.getTaskInfo();
- await this.getTaskLogs();
- this.loading = false;
- uni.hideLoading();
- },
- onLoad(options) {
- this.taskId = options.taskId
- },
- methods: {
- handleCopy(text) {
- wx.setClipboardData({
- data: text.toString(),
- success: function(res) {
- console.log("复制成功");
- }
- });
- },
- getTaskInfo() {
- return this.$https.get('/youngee/c/t/g/get-sec-task-detail' +
- "?" +
- "task_id" +
- "=" +
- this.taskId
- ).then(res => {
- console.log("get-sec-task-detail--res--->",res)
- if (res.data.code != 0) {
- return
- }
- const data = res.data.data
- this.task = data.sec_task_info
- this.withdrawStatus = data.withdraw_status
- // 地址解析
- this.address = JSON.parse(this.task.talent_post_addr_snap);
- let a = this.address.region_code.toString().slice(0, 2)
- let b = this.address.region_code.toString().slice(0, 4)
- let c = 0
- for (var i = 0; i < region.length; i++) {
- if (region[i].code == a) {
- a = region[i].name
- for (var j = 0; j < region[i].children.length; j++) {
- if (region[i].children[j].code == b) {
- b = region[i].children[j].name
- for (var o = 0; o < region[i].children[j].children.length; o++) {
- if (region[i].children[j].children[o].code == this.address
- .region_code) {
- c = region[i].children[j].children[o].name
- }
- }
- }
- }
- }
- }
- this.address.full_detail_addr = a + b + c + this.address.detail_addr
- // 账号信息
- this.account = JSON.parse(this.task.talent_platform_info_snap);
- this.account.show_fans_count = fansview(this.account.fans_count)
- // 选品项目信息
- this.project = data.selection_detail
- this.project.Product = JSON.parse(this.project.product_snap);
- this.project.Product.showProductPrice = money(this.project.Product.ProductPrice)
- this.project.show_estimated_cost = money(this.project.Product.ProductPrice)
- this.project.project_form = this.project.Product.ProductType === 14 ? 3 : 1
- if (this.project.product_photo_snap != '') {
- let ProductPhoto = JSON.parse(this.project.product_photo_snap);
- for (let j = 0; j < ProductPhoto.length; ++j) {
- if (ProductPhoto[j].Symbol == 1) {
- this.product = ProductPhoto[j]
- }
- }
- }
- this.project.show_task_reward = money(this.project.task_reward)
- // this.project.show_estimated_cost = money(this.project.estimated_cost)
- // 判断是否显示快速上传按钮
- if (this.task.task_stage == 8) {
- this.isShowUpload = true
- } else {
- this.isShowUpload = false
- }
- // 不同任务阶段提示消息
- this.msg1 = this.infoMsg1[this.task.task_stage - 1]
- this.msg2 = this.isSpecial ? this.infoMsg3[this.task.task_stage - 1] : this.infoMsg2[this.task
- .task_stage - 1]
- })
- },
- getTaskLogs() {
- return this.$https.get('/youngee/c/t/g/get-task-log' +
- "?" +
- "task_id" +
- "=" +
- this.taskId
- ).then(res => {
- this.taskLogs = res.data.data
- })
- },
- toUpload() {
- if (this.task.task_stage == 8) { // 上传作业
- var data = {
- taskId: this.taskId,
- assignmentStatus: this.task.assignment_status
- };
- data = JSON.stringify(data)
- uni.navigateTo({
- url: '/page_workspace/selection/assignment/upload?textObj=' + encodeURIComponent(data)
- });
- }
- },
- toScriptRecord() {
- var data = {
- taskId: this.task.task_id,
- };
- data = JSON.stringify(data)
- uni.navigateTo({
- url: '/page_workspace/task/record/scriptrecord?textObj=' + encodeURIComponent(data)
- });
- },
- toTaskDeatail() {
- uni.navigateTo({
- url: '/page_selectionsquare/selectiondetail/selectiondetail?id=' + this.project.selection_id
- });
- },
- toApplyinfo() {
- var data = {
- account: this.account,
- };
- data = JSON.stringify(data)
- uni.navigateTo({
- url: '/page_workspace/task/information/applyInformation?textObj=' + encodeURIComponent(data)
- });
- },
- toLogisticsinfo() {
- // var data = {
- // address: this.address,
- // taskId: this.task.task_id,
- // projectForm: this.project.project_form
- // };
- // data = JSON.stringify(data)
- // uni.navigateTo({
- // url: '/page_workspace/task/information/deliveryInformation?textObj=' + encodeURIComponent(data)
- // });
- var data = {
- taskId: this.task.task_id,
- };
- data = JSON.stringify(data)
- uni.navigateTo({
- url: '/page_workspace/selection/logistics/logisticsdetail?textObj=' + encodeURIComponent(data)
- });
- },
- editAddress() {
- var data = {
- address: this.address,
- taskId: this.task.task_id,
- };
- data = JSON.stringify(data)
- uni.navigateTo({
- url: '/page_workspace/task/editaddress?textObj=' + encodeURIComponent(data)
- });
- },
- // 计算结束时间
- thistime(val) {
- // 转换格式
- var beginTime = new Date(val.replace(/-/g, "/"));
- // 当前时间
- var thisTime = new Date();
- // 相减
- var dateMiss = beginTime.getTime() - thisTime.getTime();
- this.isTimeOut = dateMiss < 0 ? true : false
- dateMiss = dateMiss < 0 ? -dateMiss : dateMiss
- // 天数
- var day = Math.floor(dateMiss / (24 * 3600 * 1000));
- // 减去天数剩下的毫秒数
- var backOne = dateMiss % (24 * 3600 * 1000);
- // 小时数
- var hours = Math.floor(backOne / (3600 * 1000));
- // 减去小时数剩下的毫秒数
- var backHour = backOne % (3600 * 1000);
- // 分钟数
- var min = Math.floor(backHour / (60 * 1000));
- var deadline_time = day + '天' + hours + '时' + min + '分'
- return deadline_time
- },
- toWithdraw() {
- uni.navigateTo({
- url: '/pages/mycenter/myincome?showTab=1'
- });
- },
- submit() {
- if (this.task.task_stage == 7) { // 提交脚本
- let that = this
- uni.showModal({
- title: '提示',
- content: '提交后无法修改并进行审核,确认提交?',
- success: function(res) {
- if (res.confirm) {
- that.$https.get('/youngee/c/t/g/submit-task-script' +
- "?" +
- "task_id" +
- "=" +
- that.task.task_id)
- .then(res => {
- console.log(res)
- uni.navigateBack()
- })
- } else if (res.cancel) {
- console.log('用户点击取消');
- }
- }
- });
- } else if (this.task.task_stage == 9) { // 提交初稿
- let that = this
- uni.showModal({
- title: '提示',
- content: '提交后无法修改并进行审核,确认提交?',
- success: function(res) {
- if (res.confirm) {
- that.$https.get('/youngee/c/t/g/submit-task-sketch' +
- "?" +
- "task_id" +
- "=" +
- that.task.task_id)
- .then(res => {
- console.log(res)
- uni.navigateBack()
- })
- } else if (res.cancel) {
- console.log('用户点击取消');
- }
- }
- });
- } else if (this.task.task_stage == 11) { // 提交链接
- let that = this
- uni.showModal({
- title: '提示',
- content: '提交后无法修改并进行审核,确认提交?',
- success: function(res) {
- if (res.confirm) {
- that.$https.get('/youngee/c/t/g/submit-task-link' +
- "?" +
- "task_id" +
- "=" +
- that.task.task_id)
- .then(res => {
- console.log(res)
- uni.navigateBack()
- })
- } else if (res.cancel) {
- console.log('用户点击取消');
- }
- }
- });
- } else if (this.task.task_stage == 13) { // 提交数据
- let that = this
- uni.showModal({
- title: '提示',
- content: '提交后无法修改并进行审核,确认提交?',
- success: function(res) {
- if (res.confirm) {
- that.$https.get('/youngee/c/t/g/submit-task-data' +
- "?" +
- "task_id" +
- "=" +
- that.task.task_id)
- .then(res => {
- console.log(res)
- uni.navigateBack()
- })
- } else if (res.cancel) {
- console.log('用户点击取消');
- }
- }
- });
- }
- }
- }
- }
- </script>
- <style lang="scss" scoped>
- text {
- font-size: 12px;
- }
- .basicInfo {
- display: flex;
- align-items: center;
- justify-content: center;
- margin-top: 20rpx;
- padding: 20rpx;
- font-size: 30rpx;
- background-color: #FFFFFF;
- .basicInfo_txt {
- margin-left: 40rpx;
- // padding-top: 20rpx;
- }
- .tpc-txt1 {
- display: flex;
- justify-content: flex-start;
- // margin-left: 20rpx;
- }
- .tpc-txt2 {
- display: flex;
- align-items: center;
- justify-content: flex-end;
- padding-right: 10rpx;
- // margin-right: 20rpx;
- flex: 1;
- .tpc-icon {
- width: 30rpx;
- height: 30rpx;
- }
- }
- }
- .upload-btn {
- display: flex;
- align-items: center;
- justify-content: center;
- background-color: #f2d241;
- border-radius: 10rpx;
- padding: 5rpx;
- margin-left: 20rpx;
- cursor: pointer;
- }
- .address {
- display: flex;
- margin: 20rpx 0;
- // padding: 20rpx 20rpx;
- background-color: #FFFFFF;
- justify-content: space-around;
- align-items: center;
- .address_icon {
- width: 15%;
- vertical-align: middle;
- display: flex;
- justify-content: center;
- }
- .address_edit {
- width: 15%;
- }
- .address_edit image {
- vertical-align: middle;
- width: 50rpx;
- height: 50rpx;
- display: inline-block;
- padding-right: 14rpx;
- }
- .ipon {
- color: #333333;
- font-size: 30rpx;
- margin-bottom: 10rpx;
- }
- }
- .keyInfo {
- padding: 20rpx 20rpx;
- background-color: #FFFFFF;
- .keyInfo_task {
- // color: #999999;
- }
- }
- .keyInfo h3 {}
- .keyInfo p {
- font-size: 30rpx;
- }
- .account {
- display: flex;
- align-items: center;
- // justify-content: space-between;
- // width: 90%;
- margin: 20rpx 0;
- padding: 20rpx 20rpx;
- background-color: #FFFFFF;
- font-size: 35rpx;
- .account_txt {
- display: inline-block;
- padding: 0 0 0 1%;
- width: 400rpx;
- }
- .account_txt image {
- vertical-align: middle;
- width: 50rpx;
- height: 50rpx;
- display: inline-block;
- padding-right: 14rpx;
- }
- .account_fans {
- display: flex;
- width: 250rpx;
- }
- .account_fans p {
- display: inline-block;
- color: #333333;
- }
- .account_btn {}
- }
- .task-progress {
- padding: 20rpx;
- .task-progress-card {
- margin: 15rpx 0;
- display: flex;
- align-items: center;
- // margin: 20rpx;
- padding: 10rpx;
- font-size: 30rpx;
- border-radius: 10rpx;
- .tpc-txt1 {
- display: flex;
- justify-content: flex-start;
- // margin-left: 20rpx;
- }
- .tpc-txt2 {
- display: flex;
- align-items: center;
- justify-content: flex-end;
- // margin-right: 20rpx;
- flex: 1;
- .tpc-icon {
- width: 30rpx;
- height: 30rpx;
- }
- }
- }
- .task-progress-info {
- padding: 10rpx;
- font-size: 30rpx;
- border-radius: 10rpx;
- background-color: #f2f2f2;
- }
- }
- .block {
- width: 100%;
- height: 100rpx;
- margin-top: 5%;
- }
- .submit {
- box-shadow: 0rpx 5rpx 40rpx #ccc;
- width: 100%;
- position: fixed;
- bottom: 0rpx;
- display: flex;
- height: 90rpx;
- padding-top: 2%;
- background-color: #FFFFFF;
- .submit_btn {
- width: 60%;
- background-color: #FCCF41;
- border-radius: 20rpx;
- font-size: 36rpx;
- line-height: 200%;
- letter-spacing: 10rpx;
- height: 80%;
- }
- }
- .line {
- border-bottom: 1rpx solid #d5d5d5;
- width: 98%;
- margin: 10rpx 1%;
- }
- .pipline {
- display: flex;
- align-items: center;
- justify-content: center;
- margin: 20rpx;
- // border: #FCCF41 1rpx dashed;
- }
- .pipline image {
- /* width: 600rpx; */
- height: 150rpx;
- }
- </style>
|