提交 6eed732d authored 作者: 王拯's avatar 王拯 提交者: 王鹏飞

merge...

上级 6a65e17c
...@@ -16,4 +16,6 @@ export default class AffairsAction extends BaseACTION { ...@@ -16,4 +16,6 @@ export default class AffairsAction extends BaseACTION {
updateAffairs (rid, obj) { return Affairs.updateAffairs(rid, obj).then(res => res) } updateAffairs (rid, obj) { return Affairs.updateAffairs(rid, obj).then(res => res) }
/* 重修图片上传 */ /* 重修图片上传 */
uploadFile (obj) { return Affairs.uploadFile(obj).then(res => res) } uploadFile (obj) { return Affairs.uploadFile(obj).then(res => res) }
/* 获取成绩 */
obtainReport (obj) { return Affairs.obtainReport(obj).then(res => res) }
} }
...@@ -29,4 +29,6 @@ export default class AffairsAPI extends BaseAPI { ...@@ -29,4 +29,6 @@ export default class AffairsAPI extends BaseAPI {
updateAffairs = (rid, obj = {}) => this.post(`/api/lms/v2/lobby/processes/${rid}`, obj, { headers: { 'Content-Type': 'multipart/form-data' } }) updateAffairs = (rid, obj = {}) => this.post(`/api/lms/v2/lobby/processes/${rid}`, obj, { headers: { 'Content-Type': 'multipart/form-data' } })
/* 重修图片提交 */ /* 重修图片提交 */
uploadFile = (obj = {}) => this.post('/api/lms/v2/lobby/tools/upload', obj, { headers: { 'Content-Type': 'multipart/form-data' } }) uploadFile = (obj = {}) => this.post('/api/lms/v2/lobby/tools/upload', obj, { headers: { 'Content-Type': 'multipart/form-data' } })
/* 获取成绩单 */
obtainReport = (type) => this.get(`/api/lms/v2/lobby/havereport?type=${type}`, {})
} }
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<li class="tabs-hd">{{item.name}}</li> <li class="tabs-hd">{{item.name}}</li>
<template v-for="(item1, index1) in item.arrItem"> <template v-for="(item1, index1) in item.arrItem">
<li v-bind:key="index1"> <li v-bind:key="index1">
<div :class="['tab', (item.selectIndex == index1 ? 'on' : '')]" @click="selFindSelect" :data-index='index1' :data-i="index" :data-key='item.key' :data-val='item1.val'>{{item1.name}}</div> <div :class="['tab', (item.selectIndex == index1 ? 'on' : '')]" @click="selFindSelect($event, item1)" :data-index='index1' :data-i="index" :data-key='item.key' :data-val='item1.val'>{{item1.name}}</div>
</li> </li>
</template> </template>
</ul> </ul>
...@@ -39,7 +39,7 @@ export default { ...@@ -39,7 +39,7 @@ export default {
} }
}, },
methods: { methods: {
selFindSelect (e) { selFindSelect (e, item) {
const _data = e.currentTarget.dataset const _data = e.currentTarget.dataset
const index = _data.index const index = _data.index
const json = this.tapParam const json = this.tapParam
...@@ -48,7 +48,8 @@ export default { ...@@ -48,7 +48,8 @@ export default {
// json[i].isShow = false // json[i].isShow = false
const param = { const param = {
index: index, index: index,
id: _data.val id: _data.val,
name: item.name
} }
this.$emit('tapParam', param) this.$emit('tapParam', param)
} }
......
<template>
<div class="hall-form">
<el-radio v-model="schoolReport" @change="changeReport" label="elreport" border size="small">电子成绩单</el-radio>
<el-radio v-model="schoolReport" @change="changeReport" label="pareport" border size="small">纸质成绩单</el-radio>
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" size="small" label-position="top" class="hall-form-body">
<el-form-item label="姓名" prop="personal_name" >
<el-input v-model="ruleForm.personal_name" :disabled="Number(ruleForm.submit) === 1"></el-input>
</el-form-item>
<el-form-item label="班级" prop="class_name">
<el-input v-model="ruleForm.class_name" :disabled="Number(ruleForm.submit) === 1"></el-input>
</el-form-item>
<el-form-item label="Sofia ID" prop="sofia_id" key="sofia_id">
<el-input v-model="ruleForm.sofia_id" type="number" :disabled="Number(ruleForm.submit) === 1"></el-input>
</el-form-item>
<el-form-item label="电话" prop="telephone" key="telephone" v-if="schoolReport === 'pareport'">
<el-input v-model="ruleForm.telephone" :disabled="Number(ruleForm.submit) === 1"></el-input>
</el-form-item>
<el-form-item label="邮寄地址" prop="email">
<el-input v-model="ruleForm.email" :disabled="Number(ruleForm.submit) === 1"></el-input>
</el-form-item>
<el-form-item label="需打印的份数" prop="number" key="number" v-if="schoolReport === 'pareport'">
<el-input v-model.number="ruleForm.number" type="number" :disabled="Number(ruleForm.submit) === 1"></el-input>
</el-form-item>
<el-form-item class="ts-width">
<el-button type="primary" :disabled="Number(ruleForm.submit) === 1" @click="submitForm('ruleForm')">{{Number(ruleForm.submit) === 1 ? '已提交' : '提交'}}</el-button>
</el-form-item>
</el-form>
</div>
</template>
<script>
export default {
name: 'hall-form',
props: {
formData: {
type: Object
}
},
watch: {
formData: {
immediate: true,
handler(value) {
this.ruleForm = Object.assign({}, value)
this.$nextTick(() => {
this.$refs.ruleForm.clearValidate()
})
}
}
},
data() {
return {
ruleForm: {
personal_name: '',
class_name: '',
sofia_id: '',
telephone: '',
email: '',
number: null,
submit: 0
},
rules: {
personal_name: [
{ required: true, message: '请输入姓名', trigger: 'blur' }
],
class_name: [
{ required: true, message: '请输入班级', trigger: 'blur' }
],
sofia_id: [
{ required: true, message: '请输入Sofia ID', trigger: 'blur' }
],
telephone: [
{ required: true, message: '请输入手机号', trigger: 'blur' },
{ pattern: /^1[3456789]\d{9}$/, message: '手机号码格式错误' }
],
email: [
{ required: true, message: '请输入email', trigger: 'blur' }
],
number: [
{ required: true, message: '请输入打印份数', trigger: 'blur' }
]
},
schoolReport: 'elreport'
}
},
methods: {
submitForm(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
this.$emit('submit', this.ruleForm, this.schoolReport)
} else {
return false
}
})
},
changeReport() {
this.$emit('submitType', this.schoolReport)
}
}
}
</script>
<style lang="scss" scoped>
.hall-form {
width: 100%;
.hall-form-body {
padding: 15px 10px 20px 10px;
}
}
::v-deep .el-form-item__label {
padding: 0 0 5px 0;
}
::v-deep .el-form-item {
margin-bottom: 12px;
}
::v-deep .el-input {
width: 25%;
}
::v-deep .el-button {
width: 25%;
margin-top: 20px;
}
</style>
...@@ -21,7 +21,8 @@ ...@@ -21,7 +21,8 @@
@click="golearningAdd('/app/affairs-hall/again-add/-1')" @click="golearningAdd('/app/affairs-hall/again-add/-1')"
>申请重修</el-button> >申请重修</el-button>
<div style="width: 100%; height: 0.2rem;"></div> <div style="width: 100%; height: 0.2rem;"></div>
<table-list :key="affairId" v-bind="tableOption" v-if="affairId" ref="tableList"></table-list> <table-list :key="affairId" v-bind="tableOption" v-if="affairId && resultName !== '成绩单'" ref="tableList"></table-list>
<hall-form v-if="resultName === '成绩单'" :formData="formData" @submit="submit" @submitType="obtainReport"></hall-form>
</div> </div>
<el-dialog title="提示" :visible.sync="dialogVisible" width="30%"> <el-dialog title="提示" :visible.sync="dialogVisible" width="30%">
<span>确定删除?</span> <span>确定删除?</span>
...@@ -37,6 +38,7 @@ ...@@ -37,6 +38,7 @@
import Tap from '../../components/comTable/tap.vue' import Tap from '../../components/comTable/tap.vue'
import mPage from '../../components/comTable/mPage.vue' import mPage from '../../components/comTable/mPage.vue'
import TableList from '../../components/comTable/tableList.vue' import TableList from '../../components/comTable/tableList.vue'
import HallForm from '../../components/hall-form.vue'
import cAction from '@action' import cAction from '@action'
const status = { const status = {
'-1': '待审核', '-1': '待审核',
...@@ -49,6 +51,7 @@ const status = { ...@@ -49,6 +51,7 @@ const status = {
export default { export default {
components: { components: {
Tap, Tap,
HallForm,
mPage, mPage,
TableList TableList
}, },
...@@ -223,6 +226,8 @@ export default { ...@@ -223,6 +226,8 @@ export default {
} }
}, },
affairList: [], affairList: [],
formData: {},
resultName: '',
affairId: null affairId: null
} }
}, },
...@@ -237,6 +242,29 @@ export default { ...@@ -237,6 +242,29 @@ export default {
} }
}, },
methods: { methods: {
submit(row, type) {
const params = Object.assign({
type: type,
affair_id: this.affairList.find(k => k.form_name === type).id
}, row)
cAction.Affairs.submitLearning(params)
.then(() => {
this.$message({ type: 'success', message: '已提交成功!' })
this.obtainReport(type)
})
.catch(e => {
this.$message.error(e.message)
})
},
obtainReport(type = 'elreport') {
cAction.Affairs.obtainReport(type)
.then(data => {
this.formData = data
})
.catch(e => {
this.$message.error(e.message)
})
},
confirmDeletion(row) { confirmDeletion(row) {
/* 删除 */ /* 删除 */
const loading = this.$loading({ const loading = this.$loading({
...@@ -262,6 +290,7 @@ export default { ...@@ -262,6 +290,7 @@ export default {
this.dialogVisible = false this.dialogVisible = false
}, },
tapIndexs(data) { tapIndexs(data) {
this.resultName = data.name
this.tapIndex = data.index this.tapIndex = data.index
this.affairId = data.id this.affairId = data.id
}, },
...@@ -270,8 +299,11 @@ export default { ...@@ -270,8 +299,11 @@ export default {
cAction.Affairs.getAffairsType() cAction.Affairs.getAffairsType()
.then(data => { .then(data => {
this.tapParam[0].arrItem = data.map(item => { this.tapParam[0].arrItem = data.map(item => {
return { val: item.id, name: item.affair_name } if (item.form_name === 'elreport') {
}) item.affair_name = '成绩单'
}
return { val: item.id, name: item.affair_name, form_name: item.form_name }
}).filter(k => k.form_name !== 'pareport')
const [first] = data const [first] = data
const datas = data[this.$route.query.index] || first const datas = data[this.$route.query.index] || first
this.affairId = datas.id this.affairId = datas.id
...@@ -294,6 +326,7 @@ export default { ...@@ -294,6 +326,7 @@ export default {
} }
}, },
created() { created() {
this.obtainReport()
this.getTapData() this.getTapData()
} }
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论