提交 8a3e7fcf authored 作者: 王鹏飞's avatar 王鹏飞

Merge branch 'master' into sofia

......@@ -102,3 +102,18 @@ export function uploadFile(data) {
headers: { 'Content-Type': 'multipart/form-data' }
})
}
// 获取毕业典礼订单列表
export function getGraduationOrderList(data) {
return httpRequest.get('/api/pay/v1/order/my', data)
}
// 获取毕业典礼商品列表
export function getGraduationProductList(data) {
return httpRequest.get('/api/pay/v1/product/params-details', data)
}
// 多个商品合并为一个商品
export function mergeGraduationProduct(data) {
return httpRequest.post('/api/pay/v1/product/create-by-details', data)
}
......@@ -7,6 +7,7 @@ import PauseStudyEdit from './src/studyPause/edit.vue'
import ContinueStudyEdit from './src/studyContinue/edit.vue'
import SchoolCertEdit from './src/certSchool/edit.vue'
import StudyCertEdit from './src/certStudy/edit.vue'
import GraduationEdit from './src/graduation/edit.vue'
export default [
{
......@@ -96,7 +97,13 @@ export default [
*/
{ name: 'studyCertAdd', path: 'study_cret/add', component: StudyCertEdit },
{ name: 'studyCertEdit', path: 'study_cret/edit/:id', component: StudyCertEdit, props: { isEdit: true } },
{ name: 'studyCertView', path: 'study_cret/view/:id', component: StudyCertEdit, props: { isView: true } }
{ name: 'studyCertView', path: 'study_cret/view/:id', component: StudyCertEdit, props: { isView: true } },
/**
* 毕业典礼
*/
{ name: 'graduationAdd', path: 'graduation/add', component: GraduationEdit },
{ name: 'graduationEdit', path: 'graduation/edit/:id', component: GraduationEdit, props: { isEdit: true } },
{ name: 'graduationView', path: 'graduation/view/:id', component: GraduationEdit, props: { isView: true } }
]
}
]
差异被折叠。
<template>
<div>
<el-button type="primary" @click="handleAdd">申请活动</el-button>
<div style="height: 20px"></div>
<el-table border :data="list" style="width: 100%">
<el-table-column type="expand">
<template slot-scope="props">
<el-form label-position="left" class="table-expand" v-if="props.row.others.length">
<template v-for="(item, index) in props.row.others">
<div class="table-expand-item" :key="index">
<el-form-item label="随同关系" v-if="item.product">
<span>{{ item.product.name }}</span>
</el-form-item>
<el-form-item label="姓名">
<span>{{ item.personal_name }}</span>
</el-form-item>
<el-form-item label="手机号">
<span>{{ item.telephone }}</span>
</el-form-item>
</div>
</template>
</el-form>
</template>
</el-table-column>
<el-table-column label="姓名" prop="personal.personal_name"></el-table-column>
<el-table-column label="参与方式" prop="personal.product.name"></el-table-column>
<el-table-column label="手机号" prop="personal.telephone"></el-table-column>
<el-table-column label="班级" prop="personal.class_name"></el-table-column>
<el-table-column label="支付方式" prop="type">
<template slot-scope="props">{{ props.row.type === 1 ? '微信' : '支付宝' }}</template>
</el-table-column>
<el-table-column label="支付状态" prop="status">
<template slot-scope="props">{{ props.row.status === 1 ? '已支付' : '未支付' }}</template>
</el-table-column>
</el-table>
<el-pagination
:current-page.sync="page.currentPage"
layout="total, prev, pager, next, jumper"
:total="page.total"
:page-size="page.size"
:hide-on-single-page="true"
@current-change="handleCurrentChange"
></el-pagination>
</div>
</template>
<script>
import * as api from '../../api/index'
export default {
props: { affairId: { type: String } },
data() {
return {
list: [],
page: { currentPage: 1, total: 0, size: 20 }
}
},
methods: {
handleAdd() {
this.$router.push({ name: 'graduationAdd', query: { id: this.affairId } })
},
getList() {
api.getGraduationOrderList({ product_type_id: 1000, page: this.page.currentPage }).then(response => {
const { list, total } = response
this.page.total = total
this.list = list.map(item => {
let list = item.product_desc ? JSON.parse(item.product_desc) || [] : []
list = list.map(item => {
item.product = item.product ? JSON.parse(item.product) || {} : {}
return item
})
const [personal, ...others] = list
item.personal = personal
item.others = others || []
return item
})
})
},
handleCurrentChange() {
this.getList()
}
},
beforeMount() {
this.getList()
}
}
</script>
<style scoped>
.table-expand {
font-size: 0;
}
.table-expand label {
width: 90px;
color: #99a9bf;
}
.table-expand .el-form-item {
margin-right: 0;
margin-bottom: 0;
width: 50%;
}
.table-expand-item + .table-expand-item {
border-top: 1px solid #ebeef5;
}
.el-pagination {
padding: 20px 0;
text-align: right;
}
</style>
......@@ -31,6 +31,8 @@ import ContinueStudyList from './studyContinue/list'
import JobCertList from './certSchool/list'
// 在读证明
import StudyCertList from './certStudy/list'
// 毕业典礼
import GraduationList from './graduation/list'
export default {
components: {
......@@ -43,7 +45,8 @@ export default {
PauseStudyList,
ContinueStudyList,
JobCertList,
StudyCertList
StudyCertList,
GraduationList
},
data() {
return {
......@@ -77,7 +80,8 @@ export default {
suspend: 'PauseStudyList',
return: 'ContinueStudyList',
job_certification: 'JobCertList',
learn_certification: 'StudyCertList'
learn_certification: 'StudyCertList',
graduation: 'GraduationList'
}
return components[this.active.form_name]
}
......@@ -85,6 +89,7 @@ export default {
methods: {
getTypes() {
api.getAffairType().then(response => {
response = response.concat([{ affair_name: '毕业典礼', form_name: 'graduation', id: 'graduation' }])
const [first = {}] = response
this.active = first
this.types = response
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论