提交 0a3c890b authored 作者: pengxiaohui's avatar pengxiaohui

bug fixes

上级 96fa4350
......@@ -26,7 +26,6 @@ export function exportStudentList(params) {
* 学员导入
*/
export function importStudents(formData) {
console.log(formData)
return httpRequest({
url: '/api/certs/v1/student/import',
method: 'post',
......
......@@ -52,7 +52,7 @@
:file-list="fileList"
:limit="1"
:before-upload="beforeUpload"
accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel"
accept=".xls,.xlsx"
>
<el-button slot="trigger" size="mini" type="primary">选取文件</el-button>
<span slot="tip" style="margin-left:10px;">只能上传excel文件</span>
......
<template>
<div class="form-container">
<el-form :model="form" :rules="rules" ref="ruleForm" label-width="140px" :disabled="!isEditFlag">
<el-form :model="form" :rules="rules" ref="ruleForm" label-width="140px" :disabled="!isShowBtns">
<el-form-item label="项目名称:" prop="chinese_name">
<el-input v-model="form.chinese_name" placeholder="请输入项目名称" size="mini"/>
</el-form-item>
......@@ -16,7 +16,7 @@
<el-date-picker v-model="form.pubdate" type="datetime" placeholder="请选择发布时间" size="small" value-format="yyyy-MM-dd hh:mm:ss" style="width:100%;"/>
</el-form-item>
</el-form>
<div class="foot-btn-bar" v-if="isEditFlag">
<div class="foot-btn-bar" v-if="isShowBtns">
<el-button size="mini" @click="handleCancel">取消</el-button>
<el-button type="primary" size="mini" @click="handleEnsure">确认提交</el-button>
</div>
......@@ -53,7 +53,7 @@ export default {
}
},
computed: {
isEditFlag() {
isShowBtns() {
return this.value
}
},
......@@ -66,6 +66,7 @@ export default {
handleCancel() {
this.$refs.ruleForm.clearValidate()
this.$emit('input', false)
this.$emit('closeDrawer')
},
handleEnsure() {
this.$refs.ruleForm.validate((valid) => {
......
......@@ -90,7 +90,7 @@ export default {
}).catch(() => {});
},
handleCancel() {
this.$emit('input', false)
this.$emit('closeDrawer')
},
fetchCourseRelation() {
const msg = this.isEdit ? '删除课程' : '添加课程'
......@@ -104,7 +104,7 @@ export default {
this.$message.success(msg + '成功')
this.$emit('tableRefetch')
if (this.isEdit) this.$refs.tabList.refetch()
else this.$emit('input', false)
else this.$emit('closeDrawer')
} else {
this.$message.error(msg + '失败')
}
......
......@@ -37,7 +37,6 @@ export default {
const msg = '编辑项目'
if (res.code === 0 && res.message === 'OK') {
this.$message.success(msg + '成功')
this.createDrawerVisible = false
this.$emit('tableRefetch')
} else {
this.$message.error(msg + '失败')
......
......@@ -82,7 +82,6 @@ export default {
},
methods: {
tableCallback(list) {
console.log(this.info)
if (!this.isEdit && Array.isArray(list) && this.info && this.info.studentIds.length > 0) {
// 默认删除已有项
list = list.filter(item => !this.info.studentIds.includes(item.id))
......@@ -100,7 +99,9 @@ export default {
this.fetchStudentRelation()
}).catch(() => {});
},
handleCancel() {},
handleCancel() {
this.$emit('closeDrawer')
},
fetchStudentRelation () {
const msg = this.isEdit ? '删除学员' : '添加学员'
const params = {
......@@ -113,7 +114,7 @@ export default {
this.$message.success(msg + '成功')
this.$emit('tableRefetch')
if (this.isEdit) this.$refs.tabList.refetch()
else this.$emit('input', false)
else this.$emit('closeDrawer')
} else {
this.$message.error(msg + '失败')
}
......
......@@ -57,10 +57,11 @@
:close-on-click-modal="false"
:destroy-on-close="true"
size="960px"
ref="drawer"
@close="handleClose">
<info-form v-if="createType === 'project'" v-model="createDrawerVisible" @formSubmit="fetchCreateProject" />
<tab-student v-if="createType === 'student'" v-model="createDrawerVisible" :info="details" @tableRefetch="tableRefetch"/>
<tab-course v-if="createType === 'course'" v-model="createDrawerVisible" :info="details" @tableRefetch="tableRefetch"/>
<info-form v-if="createType === 'project'" :value="true" @formSubmit="fetchCreateProject" @closeDrawer="$refs.drawer.closeDrawer()"/>
<tab-student v-if="createType === 'student'" :info="details" @tableRefetch="tableRefetch" @closeDrawer="$refs.drawer.closeDrawer()"/>
<tab-course v-if="createType === 'course'" :info="details" @tableRefetch="tableRefetch" @closeDrawer="$refs.drawer.closeDrawer()"/>
</el-drawer>
</div>
</template>
......@@ -224,7 +225,7 @@ export default {
const msg = '新增项目'
if (res.code === 0 && res.message === 'OK') {
this.$message.success(msg + '成功')
this.createDrawerVisible = false
this.$refs.drawer.closeDrawer()
this.$refs.tabList.refetch()
} else {
this.$message.error(msg + '失败')
......
......@@ -44,7 +44,7 @@
<el-table-column label="项目状况">
<template slot-scope="scope">
<span v-show="!isEdit">{{scope.row.graduation_status | filterStatus(statusMap)}}</span>
<el-select v-show="isEdit" v-model="scope.row.graduation_status" placeholder="请选择" size="mini">
<el-select v-show="isEdit" v-model="scope.row.graduation_status" placeholder="请选择" size="mini" @change="handleStatusChange(scope.row)">
<el-option v-for="(label, key) in statusMap" :key="key" :label="label" :value="parseInt(key)"/>
</el-select>
</template>
......@@ -190,8 +190,13 @@ export default {
this.expands = [row.id]
} else this.expands = []
},
handleStatusChange(item) {
console.log(item)
if (item.graduation_status !== 2) {
item.graduation_time = null
}
},
handleSave() {
console.log(this.tableData)
for (let i = 0; i < this.tableData.length; i++) {
const item = this.tableData[i]
if (!item.graduation_status) {
......@@ -221,7 +226,6 @@ export default {
this.$refs.drawer.closeDrawer()
},
handleEnsure() {
console.log(this.multipleSelection)
const arr = []
this.multipleSelection.forEach(item => {
const _item = {
......@@ -246,7 +250,6 @@ export default {
})
arr.push(_item)
})
console.log(arr)
this.tableData = this.tableData.concat(arr)
this.handleCancel()
},
......
......@@ -14,7 +14,7 @@
<el-form-item label="姓名(英):" prop="english_name">
<el-input v-model="form.english_name" placeholder="请输入英文名" size="mini" :disabled="!isEdit"/>
</el-form-item>
<el-form-item label="性别">
<el-form-item label="性别">
<el-select v-model="form.gender" placeholder="请选择性别" size="mini" style="width:100%;" :disabled="!isEdit">
<el-option label="女" :value="0"></el-option>
<el-option label="男" :value="1"></el-option>
......
......@@ -71,12 +71,12 @@
<el-upload
class="file-import"
ref="upload"
action="/"
action="#"
:auto-upload="false"
:file-list="fileList"
:limit="1"
:before-upload="beforeUpload"
accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel"
accept=".xls,.xlsx"
>
<el-button slot="trigger" size="mini" type="primary">选取文件</el-button>
<span slot="tip" style="margin-left:10px;">只能上传excel文件</span>
......@@ -86,7 +86,7 @@
</div>
<div style="text-align:center;">
<el-button size="mini" @click="dialogVisible = false">取消</el-button>
<el-button type="primary" size="mini" @click="submitUpload">确认提交</el-button>
<el-button type="primary" size="mini" @click="submitUpload" :disabled="fileLoading"><i class="el-icon-loading" v-if="fileLoading"></i>确认提交</el-button>
</div>
</el-dialog>
</div>
......@@ -97,6 +97,7 @@ import TabInfo from './components/info.vue'
import TabDegree from './components/degree.vue'
import TabCourse from './components/course.vue'
import { getStudentList, deleteStudent, importStudents, exportStudentList } from '@/api/student'
import _ from 'lodash'
import { splitStrLast, funDownload } from '@/utils/utils'
const genderMap = {
0: '女',
......@@ -118,7 +119,8 @@ export default {
{ label: '学位信息', value: 'degree' },
{ label: '课程信息', value: 'course' }
],
importType: 'info'
importType: 'info',
fileLoading: false
}
},
computed: {
......@@ -215,7 +217,6 @@ export default {
}
},
created() {
console.log(this.onlyView)
},
methods: {
handleSelectionChange(val) {
......@@ -223,9 +224,12 @@ export default {
},
handleImport() {},
handleRemove() {
const ids = this.multipleSelection.join()
console.log(ids)
this.fetchDeleteStudents(ids)
this.$confirm('确定删除选中项?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消'
}).then(() => {
this.fetchDeleteStudents()
}).catch(() => {});
},
handleDetails(val) {
if (this.hasViewInfo || this.hasViewDegree || this.hasViewCourse) {
......@@ -241,12 +245,12 @@ export default {
this.fileList = []
},
beforeUpload(file) {
console.log(file)
const suffix = splitStrLast(file.name, '.')
if (!['xlsx', 'xls'].includes(suffix)) {
this.$message.error('只能上传excel文件')
return false
} else {
this.fileLoading = true
const formData = new window.FormData()
formData.append('type', this.importType)
formData.append('file', file)
......@@ -256,6 +260,7 @@ export default {
this.$message.success('导入数据成功')
resolve(true)
this.$refs.tabList.refetch()
this.fileLoading = false
window.setTimeout(() => {
this.dialogVisible = false
}, 300)
......@@ -267,9 +272,9 @@ export default {
})
}
},
submitUpload() {
submitUpload: _.debounce(function() {
this.$refs.upload.submit()
},
}, 500),
handleBeforeClose(done) {
if (this.hasSaveCourse) {
this.$confirm('您已确认保存好修改的数据,并关闭弹框吗?', '提示', {
......@@ -294,7 +299,8 @@ export default {
}
})
},
fetchDeleteStudents(ids) {
fetchDeleteStudents() {
const ids = this.multipleSelection.join()
deleteStudent(ids).then(res => {
if (res.code === 0 && res.message === 'OK') {
this.$message.success('删除学员成功')
......
......@@ -22,7 +22,6 @@ httpRequest.interceptors.request.use(
// Object.keys(defaultParams).forEach(key => {
// params.append(key, defaultParams[key])
// })
console.log(config)
} else {
params = Object.assign({}, defaultParams, params)
if (['post', 'put', 'delete'].includes(config.method)) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论