bug管理修复

main
lijingyu007 7 months ago
parent 649419630c
commit 740701773b
  1. 2
      src/page/homepage/crowdsourcing/crowddetails.vue
  2. 4
      src/page/homepage/crowdsourcing/publishtasks.vue
  3. 34
      src/page/homepage/crowdsourcing/userhome.vue
  4. 163
      src/page/personalpage/testcrowd/currentcrowd.vue

@ -51,7 +51,7 @@
</div>
<!-- 语言 -->
<template v-if="task.language">
<div class="tabone tabone1" v-for="it in task.language.split(',')" :key="it">
<div class="tabone tabone1" v-for="it in task.language.split(/[,、]/)" :key="it">
{{ it }}
</div>
</template>

@ -483,7 +483,7 @@ export default {
this.mianyicheck = true
}
if (language) {
language = language.split(',')
language = language.split(/[,、]/)
}
this.taskform = {
language,
@ -598,7 +598,7 @@ export default {
}
let language = ''
if (this.taskform.language.length) {
language = this.taskform.language.join(',')
language = this.taskform.language.join('')
}
let data = {
language,

@ -2,11 +2,11 @@
<div class="userpage container">
<div class="topava">
<div class="topavaL">
<img :src="testerdata.avatar ? testerdata.avatar: '/assets/home/defaultAva.jpg'" alt="" />
<img :src="testerdata.avatar ? testerdata.avatar : '/assets/home/defaultAva.jpg'" alt="" />
</div>
<div class="topavaR">
<div class="topavaRT">
<div class="topavaRT1">昵称{{ testerdata.name }}</div>
<div class="topavaRT1">昵称{{ testerdata.nick_name }}</div>
<div class="topavaRT2"></div>
</div>
<div class="topavaRB">
@ -24,10 +24,17 @@
<div class="middlebar">
<div class="middlebarit" :class="active == 0 ? 'middlebaritac' : ''" @click="tabfn(0)">中标记录</div>
<div class="middlebarit" :class="active == 1 ? 'middlebaritac' : ''" @click="tabfn(1)">收到的评价</div>
<div class="middlebarit" :class="active == 2 ? 'middlebaritac' : ''" @click="tabfn(2)" v-if="userinform.companyStatus == 2">在线简历</div>
<div
class="middlebarit"
:class="active == 2 ? 'middlebaritac' : ''"
@click="tabfn(2)"
v-if="userinform.companyStatus == 2"
>
在线简历
</div>
</div>
<div class="content0" v-if="active == 0 && allcrowdlist.length">
<div class="content0it" v-for="it in allcrowdlist" :key="it.task_id">
<div class="content0it" v-for="it in allcrowdlist" :key="it.task_id" @click="gotaskDetail(it.task_id)">
<div class="content0itT">
<div class="content0itTL">{{ it.project_name }}</div>
<div class="content0itTR">{{ it.price }}</div>
@ -109,7 +116,7 @@
个人优势
</div>
<div class="contentitemB">
{{ testerdata.personalAdvantage || '未填写' }}
{{ testerdata.personalAdvantage || '' }}
</div>
</div>
<div class="contentitem">
@ -125,7 +132,7 @@
<div><span class="contentitemBF">工作内容</span>{{ it.intro }}</div>
</div>
</template>
<div class="contentitemTBook" v-else>未填写</div>
<div class="contentitemTBook" v-else></div>
</div>
<div class="contentitem">
<div class="contentitemT">
@ -141,7 +148,7 @@
<div><span class="contentitemBF">工作内容</span>{{ it.intro }}</div>
</div>
</template>
<div class="contentitemTBook" v-else>未填写</div>
<div class="contentitemTBook" v-else></div>
</div>
<div class="contentitem">
<div class="contentitemT">
@ -156,7 +163,7 @@
<div><span class="contentitemBF">专业</span>{{ it.major }}</div>
</div>
</template>
<div class="contentitemTBook" v-else>未填写</div>
<div class="contentitemTBook" v-else></div>
</div>
<div class="contentitem">
<div class="contentitemT">
@ -169,7 +176,7 @@
<div class="contentitemTBookitT"><span>证书名称</span>{{ it.fileName }}</div>
</div>
</div>
<div class="contentitemTBook" v-else>未填写</div>
<div class="contentitemTBook" v-else></div>
</div>
</div>
</div>
@ -195,13 +202,16 @@ export default {
}
},
computed: {
...mapGetters([ 'userinform']),
...mapGetters(['userinform']),
},
created() {
this.getData()
this.getTask()
},
methods: {
gotaskDetail(id) {
this.$router.push(`/crowdsourcing/crowddetails?id=${id}`)
},
tabfn(val) {
this.active = val
if (val == 0) {
@ -252,8 +262,12 @@ export default {
</script>
<style scoped>
.contentitemTBook {
margin-bottom: 20px;
}
.userpage {
padding: 40px 0;
min-height: 460px;
}
.container {
width: 1200px;

@ -16,7 +16,7 @@
<p v-if="task.price == 0" style="color: #fd461a">面议</p>
<p v-else style="color: #fd461a">¥{{ task.price }}</p>
</div>
<div style="display: flex">
<div style="display: flex; flex-warp: warp">
<div v-if="crowdtype == 'myApply'" class="tabone">
<span v-if="task.status == 0">待审核</span>
<span v-if="task.status == 1">审核通过</span>
@ -27,6 +27,7 @@
<span v-if="task.task_status == 1">竞标成功</span>
<span v-if="task.task_status == 2">竞标失败</span>
</div>
<template v-if="crowdtype == 'myApply'">
<div
@ -58,6 +59,11 @@
<span>{{ it }}</span>
</div>
</template>
<template v-if="task.language">
<div class="tabone tabone1" v-for="it in task.language.split(/[,、]/)" :key="it">
{{ it }}
</div>
</template>
</div>
</div>
<div style="width: 100%; height: 1px; background-color: #ebebeb; margin: 14px 0 19px 0"></div>
@ -89,7 +95,9 @@
<p v-if="crowdtype == 'myApply'" style="margin-bottom: 10px">技能要求{{ task.techNeed }}</p>
<p v-else style="margin-bottom: 10px">技能要求{{ task.tech_need }}</p>
<p style="margin-bottom: 10px">地域要求{{ task.area }}</p>
<p v-if="crowdtype == 'myApply'" style="margin-bottom: 10px">有效天数{{ task.validDays }}</p>
<p v-if="crowdtype == 'myApply'" style="margin-bottom: 10px">
有效天数{{ task.validDays }}
</p>
<p v-else style="margin-bottom: 10px">有效天数{{ task.valid_days }}</p>
<!-- <p v-if="crowdtype=='myApply'" style='margin-bottom:10px'>竞标者要求
<span v-if='task.applicantType==0'>个人测试者</span>
@ -125,22 +133,32 @@
<p v-else style="margin-left: 10px"></p>
</div>
<div v-if="crowdtype != 'competitive'" style="display: flex; align-items: center; width: 150px; margin-top: 30px">
<div
v-if="crowdtype != 'competitive'"
style="display: flex; align-items: center; width: 150px; margin-top: 30px"
>
<div class="dvied"></div>
<div style="font-weight: bold; color: #333333; font-size: 17px; margin-left: 10px">
联系方式
</div>
</div>
<div v-if="crowdtype != 'competitive'" style="display:flex;align-items:center;color: #808080; font-size: 24rpx; margin: 36rpx 25rpx 0 25rpx">
<p v-if="crowdtype == 'myApply'" style="margin-bottom: 10px">
<div
v-if="crowdtype != 'competitive'"
style="
display: flex;
align-items: center;
color: #808080;
font-size: 24rpx;
margin: 36rpx 25rpx 0 25rpx;
"
>
<p v-if="crowdtype == 'myApply'" style="margin-bottom: 10px">
<span v-if="task && task.contactName">联系人{{ task.contactName }}</span>
</p>
<p v-else style="margin-bottom: 10px">
<span v-if="task && task.contact_name">联系人{{ task.contact_name }}</span>
</p>
<p style="margin:0 60px">|</p>
<p style="margin: 0 60px">|</p>
<p v-if="crowdtype == 'myApply'" style="margin-bottom: 10px">
<span v-if="task && task.contactTel">联系方式{{ task.contactTel }}</span>
</p>
@ -148,7 +166,6 @@
<span v-if="task && task.contact_tel">联系方式{{ task.contact_tel }}</span>
</p>
</div>
<div style="display: flex; align-items: center; width: 150px; margin-top: 30px">
<div class="dvied"></div>
@ -243,7 +260,13 @@
<div style="display: flex; align-items: center; margin: -10px 0; position: relative">
<!-- <div class="dvied"></div> -->
<div style="font-weight: bold; color: #333333; font-size: 18px">竞标者名单</div>
<div class="choseUserBtn" @click="choseUser" v-if="task.process_status == 0 && userinform.companyStatus == 2">选中竞标用户</div>
<div
class="choseUserBtn"
@click="choseUser"
v-if="task.process_status == 0 && userinform.companyStatus == 2"
>
选中竞标用户
</div>
</div>
<el-table v-loading="loading" :data="applicantdataList" border style="width: 100%; margin-top: 30px">
<el-table-column label="序号" align="center" type="index" width="60"></el-table-column>
@ -259,12 +282,8 @@
</el-table-column> -->
<el-table-column label="名称" align="center" key="nick_name" prop="nick_name">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
@click="viewTesterDetail(scope.row)"
>
{{scope.row.nick_name}}
<el-button size="mini" type="text" @click="viewTesterDetail(scope.row)">
{{ scope.row.nick_name }}
</el-button>
</template>
</el-table-column>
@ -297,19 +316,53 @@
style="padding: 0 12px; background: #11b7ed; border-color: #11b7ed"
>待验收</el-tag
>
<el-tag v-else-if="scope.row.status == 4" effect="dark" size="small" style="padding: 0 12px" type="warning">待付款</el-tag>
<el-tag v-else-if="scope.row.status == 5" type="success" effect="dark" size="small" style="padding: 0 12px">已完成</el-tag>
<el-tag v-else-if="scope.row.status == 6" type="danger" effect="dark" size="small" style="padding: 0 12px">验收不通过</el-tag>
<el-tag v-else type="danger" effect="dark" size="small" style="padding: 0 12px">竞标失败</el-tag>
<el-tag
v-else-if="scope.row.status == 4"
effect="dark"
size="small"
style="padding: 0 12px"
type="warning"
>待付款</el-tag
>
<el-tag
v-else-if="scope.row.status == 5"
type="success"
effect="dark"
size="small"
style="padding: 0 12px"
>已完成</el-tag
>
<el-tag
v-else-if="scope.row.status == 6"
type="danger"
effect="dark"
size="small"
style="padding: 0 12px"
>验收不通过</el-tag
>
<el-tag v-else type="danger" effect="dark" size="small" style="padding: 0 12px"
>竞标失败</el-tag
>
</template>
</el-table-column>
<el-table-column label="工作成果" v-if="userinform.companyStatus == 2" align="center" prop="">
<template slot-scope="scope">
<el-button v-if="scope.row.result_attach" type="text" @click="download(scope.row.result_attach)">点击下载</el-button>
<el-button
v-if="scope.row.result_attach"
type="text"
@click="download(scope.row.result_attach)"
>点击下载</el-button
>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="260" v-if="userinform.companyStatus == 2">
<template slot-scope="scope" >
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
width="260"
v-if="userinform.companyStatus == 2"
>
<template slot-scope="scope">
<!-- <el-button
v-if="scope.row.user_id == userId || userinform.companyStatus == 2"
size="mini"
@ -330,14 +383,33 @@
选中
</el-button> -->
<el-checkbox v-if="scope.row.status == 0" v-model="scope.row.isFlag">选中</el-checkbox>
<el-button v-else-if="scope.row.status == 3 || scope.row.status == 1" type="text" @click="goFinnal(scope.row)">任务结项</el-button>
<el-button v-else-if="scope.row.status == 4" type="text" @click="goPay(scope.row)">支付佣金</el-button>
<span v-else-if="scope.row.status == 5 && scope.row.reward">交易完成({{scope.row.reward}})</span>
<el-button v-else-if="scope.row.status == 6" style="color: #fe5555" type="text" @click="goNoPass(scope.row)"
<el-button
v-else-if="scope.row.status == 3 || scope.row.status == 1"
type="text"
@click="goFinnal(scope.row)"
>任务结项</el-button
>
<el-button v-else-if="scope.row.status == 4" type="text" @click="goPay(scope.row)"
>支付佣金</el-button
>
<span v-else-if="scope.row.status == 5 && scope.row.reward"
>交易完成({{ scope.row.reward }})</span
>
<el-button
v-else-if="scope.row.status == 6"
style="color: #fe5555"
type="text"
@click="goNoPass(scope.row)"
>验收不通过</el-button
>
<!-- is_comment 0未评价 1已评价 -->
<el-button v-if="scope.row.status == 5 && scope.row.p_comment == 0 " @click="goreview(scope.row)" type="text" style="margin-left:10px">去评价</el-button>
<el-button
v-if="scope.row.status == 5 && scope.row.p_comment == 0"
@click="goreview(scope.row)"
type="text"
style="margin-left: 10px"
>去评价</el-button
>
</template>
</el-table-column>
</el-table>
@ -467,13 +539,13 @@
<!-- 弹窗 -->
<!-- 上传实施结果弹窗 -->
<!-- 评价弹窗 -->
<reviewDialogVue ref="reviewDialogVuer" @refresh="refreshFn"/>
<reviewDialogVue ref="reviewDialogVuer" @refresh="refreshFn" />
<!-- 任务结项弹窗 -->
<acceptanceVue ref="acceptanceVue" @refresh="refreshFn"/>
<acceptanceVue ref="acceptanceVue" @refresh="refreshFn" />
<!-- 支付 -->
<payDialog ref="payDialog" @refresh="refreshFn"/>
<payDialog ref="payDialog" @refresh="refreshFn" />
<!-- 不通过 -->
<noPassDialog ref="noPassDialog" @refresh="refreshFn"/>
<noPassDialog ref="noPassDialog" @refresh="refreshFn" />
<!-- 弹窗 -->
</div>
</template>
@ -524,7 +596,7 @@ export default {
// }
},
methods: {
refreshFn(){
refreshFn() {
this.getData()
},
//
@ -575,7 +647,6 @@ export default {
this.$refs.payDialog.rowInfo = payload
this.$refs.payDialog.taskId = this.task.task_id
this.$refs.payDialog.taskprice = this.task.price
},
//
goNoPass(payload) {
@ -584,9 +655,9 @@ export default {
},
//
goreview(payload) {
this.$refs.reviewDialogVuer.dialogVisible = true
this.$refs.reviewDialogVuer.taskId = this.task.task_id
this.$refs.reviewDialogVuer.appraisee = payload.user_id
this.$refs.reviewDialogVuer.dialogVisible = true
this.$refs.reviewDialogVuer.taskId = this.task.task_id
this.$refs.reviewDialogVuer.appraisee = payload.user_id
},
//
choseUser() {
@ -595,7 +666,7 @@ export default {
if (choseList.length < needp) {
return this.$message.warning('您的选择小于需要人数')
} else if (choseList.length > needp) {
return this.$message.warning('您的选择大于需要人数')
return this.$message.warning('您的选择大于需要人数')
} else {
const data = {
taskId: this.task.task_id,
@ -651,7 +722,11 @@ export default {
//
viewTesterDetail(row) {
// this.userId = userId;
this.$refs.testerDetail.viewDetail(row, this.task.task_id)
// this.$refs.testerDetail.viewDetail(row, this.task.task_id)
this.$router.push({
path: '/crowdsourcing/userhome',
query: { id: row.user_id, id2: this.task.task_id },
})
},
//
publishTask() {
@ -776,14 +851,22 @@ export default {
}
.tabone {
/* padding:3px; */
padding: 0px 10px;
color: #ffffff;
background: #2286fa;
border-radius: 3px;
text-align: center;
width: 75px;
/* width: 75px; */
margin-right: 8px;
line-height: 28px;
height: 28px;
font-size: 14px;
}
.tabone1 {
background: #fcf0e6;
border-radius: 4px;
font-weight: 500;
font-size: 14px;
color: #554c42;
}
</style>
Loading…
Cancel
Save