Commit 7fb9b163 authored by 黄奎's avatar 黄奎

页面修改

parent fcd5a4ad
<template>
<q-dialog v-model="persistent" content-class="bg-grey-1" persistent transition-show="scale" transition-hide="scale">
<q-card style="width: 800px;max-width:900px;">
<q-card-section>
<div class="text-h6">{{objOption.TId==0?'新增教室信息':'修改教室信息'}}</div>
</q-card-section>
<q-card-section class="q-pt-none scroll" style="max-height: 70vh">
<div class="text-caption q-mb-lg q-px-md text-grey-6">教室信息</div>
<div class="row wrap">
<q-select filled stack-label option-value="SId" option-label="SName" v-model="objOption.School_Id"
ref="School_Id" :options="schoolList" label="所属校区" :dense="false" class="col-6 q-pb-lg" emit-value
map-options :rules="[val => !!val || '请选择所属校区']" />
<q-input filled stack-label maxlength="20" :dense="false" v-model="objOption.RoomName" ref="RoomName"
class="col-6 q-pr-lg q-pb-lg" label="教室名称" :rules="[val => !!val || '请填写教室名称']" />
</div>
</q-card-section>
<q-separator />
<q-card-actions align="right" class="bg-white">
<q-btn label="取消" color="dark" style="font-weight:400 !important" @click="closeClassRoomSaveForm" />
<q-btn label="立即提交" color="accent q-px-md" style="font-weight:400 !important" :loading="saveLoading"
@click="saveClassRoom" />
</q-card-actions>
</q-card>
</q-dialog>
</template>
<script>
import {
getSchoolDropdown,
quertClassRoomInfo,
saveClassRoom
} from '../../../api/school/index'
export default {
props: {
saveObj: {
type: Object,
default: null
}
},
data() {
return {
persistent: true,
objOption: {
RoomId: 0,
RoomName: "", //教室名称
School_Id: 0, //校区编号
},
optionTitle: "",
schoolList: [],
saveLoading: false,
}
},
created() {
this.getSchool();
},
mounted() {
this.initObj();
},
methods: {
initObj() {
if (this.saveObj && this.saveObj.RoomId > 0) {
this.optionTitle = "修改教室信息";
quertClassRoomInfo({
RoomId: this.saveObj.RoomId
}).then(res => {
if (res.Code == 1) {
this.objOption.RoomId = res.Data.RoomId;
this.objOption.RoomName = res.Data.RoomName;
this.objOption.School_Id = res.Data.School_Id;
}
});
} else {
this.optionTitle = "新增教室";
this.objOption.RoomId = 0;
this.objOption.RoomName = "";
this.objOption.School_Id = 0;
}
},
//获取校区列表
getSchool() {
getSchoolDropdown({}).then(res => {
var tempArray = res.Data;
if(!tempArray)
{
tempArray=[];
}
var obj = {
SName: '不限',
SId: 0
}
tempArray.unshift(obj);
this.schoolList = tempArray;
})
},
closeClassRoomSaveForm() {
this.$emit('close')
this.persistent = false
},
saveClassRoom() {
this.saveLoading = true
this.$refs.School_Id.validate()
this.$refs.RoomName.validate()
if (
!this.$refs.School_Id.hasError &&
!this.$refs.RoomName.hasError
) {
saveClassRoom(this.objOption).then(res => {
this.saveLoading = false
this.$q.notify({
icon: 'iconfont icon-chenggong',
color: 'accent',
timeout: 2000,
message: '数据保存成功!',
position: 'top'
})
this.$emit("success")
this.closeClassRoomSaveForm()
}).catch(() => {
this.saveLoading = false
})
} else {
this.saveLoading = false
}
},
}
}
</script>
<style>
</style>
...@@ -3,16 +3,16 @@ ...@@ -3,16 +3,16 @@
<div class="page-search row items-center"> <div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md"> <div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3"> <div class="col-3">
<q-input @change="resetSearch" clearable standout="bg-primary text-white" v-model="msg.RoomName" <q-input @change="resetSearch" clearable standout="bg-primary text-white" v-model="msg.RoomName" label="教室名称"
label="教室名称" /> @clear="resetSearch" />
</div> </div>
<div class="col-3"> <div class="col-3">
<q-select @input="getList" standout="bg-primary text-white" option-value="SId" option-label="SName" <q-select @input="resetSearch" standout="bg-primary text-white" option-value="SId" option-label="SName"
v-model="msg.School_Id" :options="schoolList" emit-value map-options label="关联校区" /> v-model="msg.School_Id" :options="schoolList" emit-value map-options label="关联校区" />
</div> </div>
</div> </div>
<div class="page-option"> <div class="page-option">
<q-btn color="accent" class="q-mr-md" icon="add" label="新增教室" @click="EditClass(null)" /> <q-btn color="accent" class="q-mr-md" icon="add" label="新增教室" @click="EditClassRoom(null)" />
</div> </div>
</div> </div>
<div class="page-content"> <div class="page-content">
...@@ -55,30 +55,31 @@ ...@@ -55,30 +55,31 @@
<q-td :props="props"> <q-td :props="props">
<div style="min-width:190px;width:100%"> <div style="min-width:190px;width:100%">
<q-btn flat size="xs" icon="iconfont icon-shanchu" color="negative" style="font-weight:400" <q-btn flat size="xs" icon="iconfont icon-shanchu" color="negative" style="font-weight:400"
class="q-mr-xs" label="删除" @click="deleteClass(props.row)" /> class="q-mr-xs" label="删除" @click="removeClassRoom(props.row)" />
<q-btn flat size="xs" icon="edit" color="accent" style="font-weight:400" label="编辑" <q-btn flat size="xs" icon="edit" color="accent" style="font-weight:400" label="编辑"
@click="EditClass(props.row)" /> @click="EditClassRoom(props.row)" />
</div> </div>
</q-td> </q-td>
</template> </template>
</q-table> </q-table>
<class-form v-if="isShowEditClassForm" :save-obj="classOption" @close="closeClassForm" @success="refreshPage"> <classroom-form v-if="isShowEditClassRoomForm" :save-obj="classRoomOption" @close="closeClassRoomForm" @success="refreshPage">
</class-form> </classroom-form>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { import {
queryClassRoomPage, queryClassRoomPage,
getSchoolDropdown getSchoolDropdown,
deleteClassRoomInfo
} from '../../api/school/index' } from '../../api/school/index'
import classForm from '../../components/school/classmanage/class-form' import classRoomForm from '../../components/school/classroom/classroom-form'
export default { export default {
meta: { meta: {
title: "教室管理" title: "教室管理"
}, },
components: { components: {
classForm classRoomForm
}, },
data() { data() {
return { return {
...@@ -96,15 +97,21 @@ ...@@ -96,15 +97,21 @@
align: 'left' align: 'left'
}, },
{ {
name: 'CreateTimeStr', name: 'UpdateByName',
label: '创建时间', label: '操作人',
align: 'left', align: 'left',
field: 'CreateTimeStr' field: 'UpdateByName'
},
{
name: 'UpdateTimeStr',
label: '操作时间',
align: 'left',
field: 'UpdateTimeStr'
}, },
{ {
name: 'optioned', name: 'optioned',
label: '操作', label: '操作',
field: 'ClassId' field: 'RoomId'
} }
], ],
data: [], data: [],
...@@ -117,9 +124,9 @@ ...@@ -117,9 +124,9 @@
School_Id: 0, //校区编号 School_Id: 0, //校区编号
}, },
pageCount: 0, pageCount: 0,
isShowEditClassForm: false, isShowEditClassRoomForm: false,
classOption: null, classRoomOption: null,
schoolList:[],//校区列表 schoolList: [], //校区列表
} }
}, },
created() { created() {
...@@ -146,17 +153,18 @@ ...@@ -146,17 +153,18 @@
} }
}) })
}, },
//重新查询
resetSearch() { resetSearch() {
this.msg.pageIndex = 1; this.msg.pageIndex = 1;
this.getClassRoomPage(); this.getClassRoomPage();
}, },
//删除班级 //删除教室
deleteClass(obj) { removeClassRoom(obj) {
let that = this; let that = this;
this.$q.dialog({ this.$q.dialog({
title: "删除班级", title: "删除教室",
message: "你正在进行删除【" + obj.ClassName + "】行为,一旦执行无法找回,是否确认执行?", message: "你正在进行删除【" + obj.RoomName + "】行为,一旦执行无法找回,是否确认执行?",
isShowEditClassForm: true, isShowEditClassRoomForm: true,
cancel: { cancel: {
label: "取消", label: "取消",
flat: true flat: true
...@@ -168,9 +176,9 @@ ...@@ -168,9 +176,9 @@
} }
}).onOk(() => { }).onOk(() => {
var delMsg = { var delMsg = {
ClassId: obj.ClassId RoomId: obj.RoomId
}; };
that.deleteClass(delMsg).then(res => { deleteClassRoomInfo(delMsg).then(res => {
if (res.Code == 1) { if (res.Code == 1) {
that.$q.notify({ that.$q.notify({
icon: 'iconfont icon-chenggong', icon: 'iconfont icon-chenggong',
...@@ -184,51 +192,47 @@ ...@@ -184,51 +192,47 @@
}) })
}); });
}, },
//分页改变
changePage(val) { changePage(val) {
this.msg.pageIndex = val; this.msg.pageIndex = val;
this.getClassRoomPage(); this.getClassRoomPage();
}, },
//获取教室分页列表
getClassRoomPage() { getClassRoomPage() {
this.loading = true this.loading = true
queryClassRoomPage(this.msg).then(res => { queryClassRoomPage(this.msg).then(res => {
this.loading = false this.loading = false
this.data = res.Data.PageData; this.data = res.Data.PageData;
this.pageCount = res.Data.PageCount; this.pageCount = res.Data.PageCount;
console.log("this.data ", this.data);
}).catch(() => { }).catch(() => {
this.loading = false this.loading = false
}) })
}, },
//刷新页面
refreshPage() { refreshPage() {
if (!this.classOption) { if (!this.classRoomOption) {
this.msg.pageIndex = 1; this.msg.pageIndex = 1;
this.msg.ClassName = ""; this.msg.RoomName = "";
this.msg.CourseName = ""; this.msg.School_Id = 0;
this.msg.AssistName = "";
this.msg.TeacherName = "";
} }
this.getClassRoomPage() this.getClassRoomPage()
}, },
EditClass(obj) { //新增修改教室
EditClassRoom(obj) {
if (obj) { if (obj) {
this.classOption = obj this.classRoomOption = obj;
} else { } else {
this.classOption = null this.classRoomOption = null;
} }
this.isShowEditClassForm = true this.isShowEditClassRoomForm = true;
},
showExamine(obj) {
this.classOption = obj;
}, },
closeClassForm() { //关闭新增修改弹窗
this.isShowEditClassForm = false closeClassRoomForm() {
this.isShowEditClassRoomForm = false;
} }
}, },
} }
</script> </script>
<style lang="sass"> <style lang="sass">
@import url('~assets/css/table.sass'); @import url('~assets/css/table.sass');
</style>
</style> \ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment