提交 37845a9b authored 作者: 王鹏飞's avatar 王鹏飞

bug fixes

上级 b4820f47
......@@ -73,10 +73,14 @@ export function getCourses(data) {
})
}
// 获取成绩单
export function getTranscript(params) {
export function getReport(params) {
return httpRequest({
url: `/api/ehall/v2/lobby/havereport`,
method: 'get',
params
})
}
// 获取学生
export function getStudent() {
return httpRequest.get('/api/ehall/v2/lobby/student')
}
......@@ -4,7 +4,9 @@
<menu class="menu" :class="{ 'is-show': menuVisible }">
<div class="inner">
<div class="menu-icon" @click="toggleMenu">
<span></span><span></span><span></span>
<span></span>
<span></span>
<span></span>
</div>
<ul class="menu-list">
<li @click="toPage({ name: 'index' })">首页</li>
......@@ -17,10 +19,8 @@
query: { channel: item.form_name, channel_id: item.id }
})
"
>
{{ item.affair_name }}
</li>
<li @click="toPage({ name: 'transcriptIndex' })">成绩单</li>
>{{ item.affair_name }}</li>
<li @click="toPage({ name: 'reportIndex' })">成绩单</li>
<li @click="$router.back()">返回上一页</li>
</ul>
</div>
......@@ -45,9 +45,7 @@ export default {
return this.$store.state.affairTypes
},
menus() {
return this.affairTypes.filter(
item => !['pareport', 'elreport'].includes(item.form_name)
)
return this.affairTypes.filter(item => !['pareport', 'elreport'].includes(item.form_name))
}
},
methods: {
......
......@@ -15,9 +15,7 @@ const routes = [
{
path: '/list',
component: Layout,
children: [
{ name: 'list', path: '', component: () => import('@/views/List.vue') }
]
children: [{ name: 'list', path: '', component: () => import('@/views/List.vue') }]
},
{
path: '/create',
......@@ -33,30 +31,44 @@ const routes = [
{
path: '/edit',
component: Layout,
children: [
{ name: 'edit', path: '', component: () => import('@/views/Edit.vue') }
]
children: [{ name: 'edit', path: '', component: () => import('@/views/Edit.vue') }]
},
{
path: '/view',
component: Layout,
children: [{ name: 'view', path: '', component: () => import('@/views/View.vue') }]
},
// 成绩单
{
path: '/report',
component: Layout,
children: [
{ name: 'view', path: '', component: () => import('@/views/View.vue') }
{
name: 'reportIndex',
path: '',
component: () => import('@/views/report/Index.vue')
},
{
name: 'reportCreate',
path: 'create',
component: () => import('@/views/report/Create.vue')
}
]
},
// 重修
{
path: '/transcript',
path: '/retake',
component: Layout,
children: [
{
name: 'transcriptIndex',
name: 'retakeIndex',
path: '',
component: () => import('@/views/transcript/Index.vue')
component: () => import('@/views/retake/Index.vue')
},
{
name: 'transcriptCreate',
name: 'retakeCreate',
path: 'create',
component: () => import('@/views/transcript/Create.vue')
component: () => import('@/views/retake/Update.vue')
}
]
}
......
import Vue from 'vue'
import Vuex from 'vuex'
import { getAffairType } from '@/api/index'
import { getAffairType, getStudent } from '@/api/index'
Vue.use(Vuex)
export default new Vuex.Store({
state: {
affairTypes: [] // 事务类型列表
affairTypes: [], // 事务类型列表
student: {}
},
mutations: {
updateAffairTypes(state, types) {
state.affairTypes = types
},
updateStudent(state, student) {
state.student = student
}
},
actions: {
async getAffairTypes({ commit }) {
const affairTypes = await getAffairType()
commit('updateAffairTypes', affairTypes)
},
async getStudent({ commit }) {
const student = await getStudent()
commit('updateStudent', student)
}
}
})
......@@ -30,15 +30,15 @@ export default {
return this.affairTypes.find(item => item.id === this.radio)
},
// 成绩单列表
transcriptList() {
reportList() {
return this.affairTypes.filter(item => ['pareport', 'elreport'].includes(item.form_name))
},
chooseList() {
let list = this.affairTypes.filter(item => !['pareport', 'elreport'].includes(item.form_name))
list.push({
id: 'transcript',
id: 'report',
affair_name: '成绩单',
children: this.transcriptList
children: this.reportList
})
return list
}
......@@ -50,8 +50,8 @@ export default {
return
}
// 成绩单
if (this.radio === 'transcript') {
this.$router.push({ name: 'transcriptIndex' })
if (this.radio === 'report') {
this.$router.push({ name: 'reportIndex' })
return
}
this.$router.push({
......
......@@ -183,7 +183,7 @@ export default {
},
// 获取详情
getDetail() {
api.getTranscript({ type: this.channel }).then(response => {
api.getReport({ type: this.channel }).then(response => {
this.formModel = response
})
}
......
......@@ -2,7 +2,7 @@
<div class="choose">
<div class="choose-list">
<van-radio-group v-model="radio">
<div class="choose-item" v-for="item in transcriptList" :key="item.value">
<div class="choose-item" v-for="item in reportList" :key="item.value">
<van-radio :name="item.id">{{ item.affair_name }}</van-radio>
</div>
</van-radio-group>
......@@ -31,7 +31,7 @@ export default {
return this.affairTypes.find(item => item.id === this.radio)
},
// 成绩单列表
transcriptList() {
reportList() {
return this.affairTypes.filter(item => ['pareport', 'elreport'].includes(item.form_name))
}
},
......@@ -42,7 +42,7 @@ export default {
return
}
this.$router.push({
name: 'transcriptCreate',
name: 'reportCreate',
query: Object.assign(this.$route.query, {
channel: this.currentItem.form_name,
channel_id: this.radio
......
<template>
<div></div>
</template>
<script>
export default {}
</script>
\ No newline at end of file
<template>
<div class="main">
<van-form @submit="onSubmit">
<van-field
v-model="formModel.personal_name"
name="personal_name"
label="姓名"
placeholder="请输入姓名"
:rules="[{ required: true, message: '请输入姓名' }]"
/>
<van-field
v-model="formModel.class_name"
name="class_name"
label="班级"
placeholder="请输入班级"
:rules="[{ required: true, message: '请输入班级' }]"
/>
<van-field
v-model="formModel.semester_name"
name="semester_name"
label="Sofia ID"
placeholder="请输入Sofia ID"
:rules="[{ required: true, message: '请输入Sofia ID' }]"
/>
<van-field
v-model="formModel.semester_name"
name="semester_name"
label="挂科学期"
:rules="[{ required: true, message: '请选择挂科学期' }]"
/>
<van-field
v-model="formModel.course_name"
name="course_name"
label="重修课程"
:rules="[{ required: true, message: '请选择重修课程' }]"
/>
</van-form>
<div class="fixed-box">
<div class="fixed-inner">
<div class="fixed-button" v-if="isSubmited">已提交</div>
<div class="fixed-button" @click="handleSubmit" v-else>提交</div>
</div>
</div>
</div>
</template>
<script>
import * as api from '@/api/index'
export default {
name: 'Create',
metaInfo() {
return {
title: '申请重修'
}
},
data() {
return {
formModel: {
personal_name: '',
class_name: '',
semester_name: '',
sofia_id: '',
course_name: '',
payment_instrument: ''
}
}
},
watch: {
$route: {
immediate: true,
deep: true,
handler(route) {
if (!route.query.channel) {
this.$dialog
.alert({
message: '请选择事务'
})
.then(() => {
this.$router.replace({
name: 'index',
query: this.$route.query
})
})
}
}
}
},
computed: {
channel() {
return this.$route.query.channel
},
channelId() {
return this.$route.query.channel_id
},
isSubmited() {
return this.formModel.submit === 1
}
},
methods: {
handleSubmit() {
this.$refs.form.submit()
},
onSubmit(data) {
if (data.telephone && data.telephone.length !== 11) {
this.$notify('请输入正确的电话号码')
return
}
data.affair_id = this.channelId
api.createAffair(data).then(response => {
if (response.success) {
this.$dialog.alert({ confirmButtonText: '确定', message: '已提交成功!' }).then(() => {
this.getDetail()
})
} else {
this.$toast(response.message)
}
})
},
// 获取详情
getDetail() {
api.getReport({ type: this.channel }).then(response => {
this.formModel = response
})
}
},
beforeMount() {
this.getDetail()
this.$store.dispatch('getStudent')
}
}
</script>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论