|
@ -1,66 +1,138 @@ |
|
|
<template> |
|
|
<template> |
|
|
<el-dialog :visible.sync="visible" :title="$t('look')" :close-on-click-modal="false" :close-on-press-escape="false"> |
|
|
<el-dialog :visible.sync="visible" :title="$t('look')" :close-on-click-modal="false" :close-on-press-escape="false"> |
|
|
<el-form :model="dataForm" ref="dataForm" label-width="150px"> |
|
|
<el-form :model="dataForm" ref="dataForm" label-width="150px"> |
|
|
<el-form-item label="标题:" prop="groupBuyTitle"> |
|
|
<el-form-item label="标题" prop="groupBuyTitle"> |
|
|
<div>{{ dataForm.groupBuyTitle }}</div> |
|
|
<div>{{ dataForm.groupBuyTitle }}</div> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label="联系电话:" prop="groupBuyMobile"> |
|
|
<el-form-item label="发布内容" prop="groupBuyContent"> |
|
|
<div>{{ dataForm.groupBuyMobile }}</div> |
|
|
<div>{{ dataForm.groupBuyContent }}</div> |
|
|
|
|
|
<el-image v-for="url in dataForm.images" |
|
|
|
|
|
style="width: 100px; height: 100px; margin-right: 10px" |
|
|
|
|
|
:key="url" |
|
|
|
|
|
:src="url" |
|
|
|
|
|
:preview-src-list="previewImgList" |
|
|
|
|
|
@click="clickImg(url)"> |
|
|
|
|
|
</el-image> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label="发布内容:" prop="groupBuyContent"> |
|
|
|
|
|
<div>{{ dataForm.groupBuyContent }}</div> |
|
|
<el-form-item label="价格"> |
|
|
</el-form-item> |
|
|
<div v-for="(price, index) in dataForm.prices" :key="price.groupBuyNumber"> |
|
|
<el-form-item label="团购时间:" prop="groupBuyTime"> |
|
|
<div :id="`content${index}`"> |
|
|
<div>{{ dataForm.groupBuyTime }}</div> |
|
|
<span>人数达到 {{ price.groupBuyNumber }} 人 团购价格为 {{ price.groupBuyPrice }} 元/件</span> |
|
|
</el-form-item> |
|
|
</div> |
|
|
<el-form-item label="发布时间:" prop="createdTime"> |
|
|
</div> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="联系电话" prop="groupBuyMobile"> |
|
|
|
|
|
<div>{{ dataForm.groupBuyMobile }}</div> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="发布时间" prop="createdTime"> |
|
|
<div>{{ dataForm.createdTime }}</div> |
|
|
<div>{{ dataForm.createdTime }}</div> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label="排序:" prop="sort"> |
|
|
<el-form-item label="报名人员"> |
|
|
<div>{{ dataForm.sort }}</div> |
|
|
<el-link type="primary" @click="innerVisible = true">查看</el-link> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item v-if="dataForm.shieldFlag === '1'" label="屏蔽状态:" prop="shieldFlag"> |
|
|
<el-form-item label="评价"> |
|
|
|
|
|
<el-link type="primary" @click="evaluationVisible = true">查看</el-link> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="状态" prop="groupBuyStatus"> |
|
|
|
|
|
<div v-if="dataForm.groupBuyStatus === 0">团购中</div> |
|
|
|
|
|
<div v-if="dataForm.groupBuyStatus === 5">已结束</div> |
|
|
|
|
|
<div v-if="dataForm.groupBuyStatus === 10">已取消</div> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item v-if="dataForm.groupBuyStatus === 10" label="取消原因" prop="cancelReason"> |
|
|
|
|
|
<div>{{ dataForm.cancelReason }}</div> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item v-if="dataForm.topFlag === 1" label="置顶状态" prop="topFlag"> |
|
|
|
|
|
<div>已置顶</div> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item v-if="dataForm.topFlag === 1" label="置顶时间" prop="topTime"> |
|
|
|
|
|
<div>{{ dataForm.topTime }}</div> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item v-if="dataForm.shieldFlag === '1'" label="屏蔽状态" prop="shieldFlag"> |
|
|
<div>已屏蔽</div> |
|
|
<div>已屏蔽</div> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item v-if="dataForm.shieldFlag === '1'" label="屏蔽原因:" prop="shieldReason"> |
|
|
<el-form-item v-if="dataForm.shieldFlag === '1'" label="屏蔽原因" prop="shieldReason"> |
|
|
<div>{{ dataForm.shieldReason }}</div> |
|
|
<div>{{ dataForm.shieldReason }}</div> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-form> |
|
|
</el-form> |
|
|
<template slot="footer"> |
|
|
<template slot="footer"> |
|
|
<el-button @click="visible = false">{{ $t('close') }}</el-button> |
|
|
<el-button @click="visible = false">{{ $t('close') }}</el-button> |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
<el-dialog width="90%" title="报名列表" :visible.sync="innerVisible" append-to-body> |
|
|
|
|
|
<el-table :data="signUpList" border style="width: 100%;"> |
|
|
|
|
|
<el-table-column prop="nickname" label="昵称" header-align="center" align="center"></el-table-column> |
|
|
|
|
|
<el-table-column prop="mobile" label="联系电话" header-align="center" align="center"></el-table-column> |
|
|
|
|
|
<el-table-column prop="signUpTime" label="报名时间" header-align="center" align="center"></el-table-column> |
|
|
|
|
|
<el-table-column prop="signUpStatus" label="是否完成交易" header-align="center" align="center" :formatter="signUpStatusFormatter"></el-table-column> |
|
|
|
|
|
</el-table> |
|
|
|
|
|
<el-pagination |
|
|
|
|
|
:current-page="pageIndex" |
|
|
|
|
|
:page-sizes="[10, 20, 50, 100]" |
|
|
|
|
|
:page-size="limitVal" |
|
|
|
|
|
:total="total" |
|
|
|
|
|
layout="total, sizes, prev, pager, next, jumper" |
|
|
|
|
|
@size-change="pageSizeChangeHandleNew" |
|
|
|
|
|
@current-change="pageCurrentChangeHandleNew"> |
|
|
|
|
|
</el-pagination> |
|
|
|
|
|
</el-dialog> |
|
|
|
|
|
<el-dialog width="90%" title="评价列表" :visible.sync="evaluationVisible" append-to-body> |
|
|
|
|
|
<el-table :data="evaluations.evaluationList" border style="width: 100%;"> |
|
|
|
|
|
<el-table-column prop="nickname" label="昵称" header-align="center" align="center"></el-table-column> |
|
|
|
|
|
<el-table-column prop="evaluationContent" label="评价内容" header-align="center" align="center"></el-table-column> |
|
|
|
|
|
<el-table-column prop="createdTime" label="评价时间" header-align="center" align="center"></el-table-column> |
|
|
|
|
|
<el-table-column :label="$t('handle')" header-align="center" align="center" width="150"> |
|
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
|
<el-button v-if="scope.row.shieldFlag === 0" type="button" size="small" @click="shieldEvaluation(scope.row.id)">屏蔽</el-button> |
|
|
|
|
|
<el-button v-if="scope.row.shieldFlag === 1" type="text" size="small">已屏蔽</el-button> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
</el-table> |
|
|
|
|
|
<el-pagination |
|
|
|
|
|
:current-page="evaluations.pageIndex" |
|
|
|
|
|
:page-sizes="[10, 20, 50, 100]" |
|
|
|
|
|
:page-size="evaluations.limitVal" |
|
|
|
|
|
:total="evaluations.total" |
|
|
|
|
|
layout="total, sizes, prev, pager, next, jumper" |
|
|
|
|
|
@size-change="pageSizeChangeHandle" |
|
|
|
|
|
@current-change="pageCurrentChangeHandle"> |
|
|
|
|
|
</el-pagination> |
|
|
|
|
|
</el-dialog> |
|
|
</el-dialog> |
|
|
</el-dialog> |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
|
<script> |
|
|
<script> |
|
|
|
|
|
import 'element-ui/lib/theme-chalk/image.css' |
|
|
export default { |
|
|
export default { |
|
|
data () { |
|
|
data () { |
|
|
return { |
|
|
return { |
|
|
visible: false, |
|
|
visible: false, |
|
|
|
|
|
innerVisible: false, |
|
|
|
|
|
evaluationVisible: false, |
|
|
dataForm: { |
|
|
dataForm: { |
|
|
id: '', |
|
|
id: '', |
|
|
content: '', |
|
|
topFlag: '', |
|
|
reportUser: '', |
|
|
topTime: '', |
|
|
reportUserMobile: '', |
|
|
groupBuyStatus: '', |
|
|
anonymousFlag: '', |
|
|
cancelReason: '', |
|
|
userId: '', |
|
|
|
|
|
nickname: '', |
|
|
|
|
|
userFace: '', |
|
|
|
|
|
mobile: '', |
|
|
|
|
|
deptId: '', |
|
|
|
|
|
deptName: '', |
|
|
|
|
|
parentDeptIds: '', |
|
|
|
|
|
parentDeptNames: '', |
|
|
|
|
|
allDeptIds: '', |
|
|
|
|
|
allDeptNames: '', |
|
|
|
|
|
delFlag: '', |
|
|
|
|
|
shieldFlag: '', |
|
|
shieldFlag: '', |
|
|
shieldReason: '', |
|
|
shieldReason: '', |
|
|
revision: '', |
|
|
prices: [], |
|
|
createdBy: '', |
|
|
images: [] |
|
|
createdTime: '', |
|
|
}, |
|
|
updatedBy: '', |
|
|
previewImgList: [], |
|
|
updatedTime: '' |
|
|
signUpList: [], |
|
|
|
|
|
order: '', |
|
|
|
|
|
orderField: '', |
|
|
|
|
|
pageIndex: 1, |
|
|
|
|
|
limitVal: 10, |
|
|
|
|
|
total: 0, |
|
|
|
|
|
evaluations: { |
|
|
|
|
|
evaluationList: [], |
|
|
|
|
|
order: '', |
|
|
|
|
|
orderField: '', |
|
|
|
|
|
pageIndex: 1, |
|
|
|
|
|
limitVal: 10, |
|
|
|
|
|
total: 0 |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
@ -73,10 +145,11 @@ export default { |
|
|
this.$refs['dataForm'].resetFields() |
|
|
this.$refs['dataForm'].resetFields() |
|
|
if (this.dataForm.id) { |
|
|
if (this.dataForm.id) { |
|
|
this.getInfo() |
|
|
this.getInfo() |
|
|
|
|
|
this.getSignUpList() |
|
|
|
|
|
this.evaluationList() |
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
// 获取信息 |
|
|
|
|
|
getInfo () { |
|
|
getInfo () { |
|
|
this.$http.get(`/custom/groupbuyinfo/${this.dataForm.id}`).then(({ data: res }) => { |
|
|
this.$http.get(`/custom/groupbuyinfo/${this.dataForm.id}`).then(({ data: res }) => { |
|
|
if (res.code !== 0) { |
|
|
if (res.code !== 0) { |
|
@ -87,6 +160,75 @@ export default { |
|
|
...res.data |
|
|
...res.data |
|
|
} |
|
|
} |
|
|
}).catch(() => {}) |
|
|
}).catch(() => {}) |
|
|
|
|
|
}, |
|
|
|
|
|
clickImg (url) { |
|
|
|
|
|
this.previewImgList = [] |
|
|
|
|
|
this.previewImgList.push(url) |
|
|
|
|
|
}, |
|
|
|
|
|
pageSizeChangeHandleNew (val) { |
|
|
|
|
|
this.pageIndex = 1 |
|
|
|
|
|
this.limitVal = val |
|
|
|
|
|
this.getSignUpList() |
|
|
|
|
|
}, |
|
|
|
|
|
pageCurrentChangeHandleNew (val) { |
|
|
|
|
|
this.pageIndex = val |
|
|
|
|
|
this.getSignUpList() |
|
|
|
|
|
}, |
|
|
|
|
|
getSignUpList () { |
|
|
|
|
|
this.$http.get('/custom/groupbuyinfo/signuplist', { params: { groupBuyId: this.dataForm.id, order: this.order, orderField: this.orderField, page: this.pageIndex, limit: this.limitVal } |
|
|
|
|
|
}).then(({ data: res }) => { |
|
|
|
|
|
if (res.code !== 0) { |
|
|
|
|
|
this.signUpList = [] |
|
|
|
|
|
this.total = 0 |
|
|
|
|
|
return this.$message.error(res.msg) |
|
|
|
|
|
} |
|
|
|
|
|
this.signUpList = res.data.list |
|
|
|
|
|
this.total = res.data.total |
|
|
|
|
|
}).catch(() => {}) |
|
|
|
|
|
}, |
|
|
|
|
|
signUpStatusFormatter (row, column) { |
|
|
|
|
|
let signUpStatus = row.signUpStatus |
|
|
|
|
|
if (signUpStatus === 0) { |
|
|
|
|
|
return '否' |
|
|
|
|
|
} else if (signUpStatus === 5) { |
|
|
|
|
|
return '是' |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
pageSizeChangeHandle (val) { |
|
|
|
|
|
this.evaluations.pageIndex = 1 |
|
|
|
|
|
this.evaluations.limitVal = val |
|
|
|
|
|
this.evaluationList() |
|
|
|
|
|
}, |
|
|
|
|
|
pageCurrentChangeHandle (val) { |
|
|
|
|
|
this.evaluations.pageIndex = val |
|
|
|
|
|
this.evaluationList() |
|
|
|
|
|
}, |
|
|
|
|
|
evaluationList () { |
|
|
|
|
|
this.$http.get('/custom/groupbuyinfo/evaluationlist', { params: { groupBuyId: this.dataForm.id, order: this.evaluations.order, orderField: this.evaluations.orderField, page: this.evaluations.pageIndex, limit: this.evaluations.limitVal } |
|
|
|
|
|
}).then(({ data: res }) => { |
|
|
|
|
|
if (res.code !== 0) { |
|
|
|
|
|
this.evaluations.evaluationList = [] |
|
|
|
|
|
this.evaluations.total = 0 |
|
|
|
|
|
return this.$message.error(res.msg) |
|
|
|
|
|
} |
|
|
|
|
|
this.evaluations.evaluationList = res.data.list |
|
|
|
|
|
this.evaluations.total = res.data.total |
|
|
|
|
|
}).catch(() => {}) |
|
|
|
|
|
}, |
|
|
|
|
|
shieldEvaluation (val) { |
|
|
|
|
|
this.$http['post']('/custom/groupbuyinfo/shieldEvaluation', [val]).then(({ data: res }) => { |
|
|
|
|
|
if (res.code !== 0) { |
|
|
|
|
|
return this.$message.error(res.msg) |
|
|
|
|
|
} |
|
|
|
|
|
this.$message({ |
|
|
|
|
|
message: this.$t('prompt.success'), |
|
|
|
|
|
type: 'success', |
|
|
|
|
|
duration: 500, |
|
|
|
|
|
onClose: () => { |
|
|
|
|
|
this.evaluationList() |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
}).catch(() => {}) |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|