From a57f1cab5efbbd118759b77568ffe0b5369d8599 Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期二, 04 六月 2024 12:00:37 +0800
Subject: [PATCH] feat:题目查询、新增
---
src/views/Manage/ClassManagement/Class.vue | 311 +++++++++++++++++++++++++++------------------------
1 files changed, 166 insertions(+), 145 deletions(-)
diff --git a/src/views/Manage/ClassManagement/Class.vue b/src/views/Manage/ClassManagement/Class.vue
index a4c8e74..f705d07 100644
--- a/src/views/Manage/ClassManagement/Class.vue
+++ b/src/views/Manage/ClassManagement/Class.vue
@@ -3,31 +3,26 @@
<div class="c">
<div class="bg">
<div class="main">
- <TitleIndex title='鐝骇绠$悊' />
<div class="main-1">
<div
class="main-btn flex"
style="justify-content:space-between"
>
<div>
- <s-button
- colorType="deepBlue"
+ <el-button
+ type="primary"
style="margin-right:20px;"
- @click="$router.push('/manage/class-management/Class-staff')"
- >鏂板鐝骇</s-button>
+ @click="handlerAdd"
+ >鏂板鐝骇</el-button>
</div>
<div
class="flex"
style="align-items:center"
>
- <p style="padding-right:10px">鎺掑簭鏂瑰紡</p>
- <el-select>
- <el-option></el-option>
- </el-select>
<p style="margin-left:20px;margin-right: 10px;">鎵�鍦ㄥ崟浣�</p>
- <el-select>
- <el-option></el-option>
- </el-select>
+<!-- <el-select v-model="searchData.deptId">-->
+<!-- <el-option></el-option>-->
+<!-- </el-select>-->
</div>
</div>
<div>
@@ -41,14 +36,14 @@
<el-table-column
align="center"
label="鐝骇"
- prop="class"
- width="80px"
+ prop="className"
+ width="180px"
></el-table-column>
<el-table-column
- label="骞寸骇"
+ label="鐘舵��"
align="center"
width="80px"
- prop="grade"
+ prop="status"
></el-table-column>
<el-table-column
width="100px"
@@ -60,48 +55,37 @@
align="center"
width="100px"
label="鏁欏笀"
- prop="teacher"
+ prop="createUserName"
></el-table-column>
<el-table-column
align="center"
width="120px"
label="鑱旂郴鐢佃瘽"
- prop="phone"
+ prop="teacherPhone"
></el-table-column>
<el-table-column
width="140px"
- label="鐢靛瓙閭欢"
- align="center"
- prop="email"
- ></el-table-column>
- <el-table-column
- width="90px"
label="寮�鐝椂闂�"
align="center"
- prop="openingTime"
+ prop="startTime"
+ ></el-table-column>
+ <el-table-column
+ width="140px"
+ label="缁撴潫鏃堕棿"
+ align="center"
+ prop="endTime"
></el-table-column>
<el-table-column
label="鎿嶄綔"
align="center"
+ fixed="right"
>
<template slot-scope="scope">
- <el-button>鐝骇楠岃瘉</el-button>
- <el-button>閫氱煡</el-button>
- <el-button @click="routersTo()">鎴愬憳绠$悊</el-button>
- <el-button>娣诲姞鎴愬憳</el-button>
- <el-select
- v-model="value"
- style="width:74px;margin-left: 10px;"
- placeholder="閫夋嫨"
- >
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
- </el-option>
- </el-select>
+ <el-button size="small" @click="handlerEdit(scope.row)" type="primary">淇敼</el-button>
+ <el-button size="small" type="warning">鐝骇楠岃瘉</el-button>
+ <el-button size="small" type="info">閫氱煡</el-button>
+ <el-button @click="studentManager(scope.row.id)" size="small" type="success">鎴愬憳绠$悊</el-button>
+ <el-button @click="remove(scope.row.id)" type="danger" size="small">瑙f暎</el-button>
</template>
</el-table-column>
</el-table>
@@ -110,135 +94,172 @@
class="flex"
style="justify-content:center;margin-top:20px;"
>
- <el-pagination
- background
- layout="prev, pager, next"
- :total="1000"
- >
- </el-pagination>
+ <pagination v-show="total>0" :total="total" :page.sync="searchForm.pageIndex" :limit.sync="searchForm.pageSize"
+ @pagination="page"/>
</div>
</div>
</div>
</div>
</div>
+
+
+ <el-dialog
+ :title="title"
+ :visible.sync="open"
+ width="700px"
+ :before-close="handleClose">
+ <el-form :model="form" :rules="rules" ref="form" label-width="100px" class="demo-ruleForm">
+ <el-form-item label="鐝骇鍚嶇О" prop="className">
+ <el-input v-model="form.className" size="small"></el-input>
+ </el-form-item>
+ <el-form-item label="鐝骇鏃堕棿" required>
+ <el-col :span="11">
+ <el-form-item prop="startTime">
+ <el-date-picker
+ v-model="form.startTime"
+ type="date"
+ value-format="yyyy-MM-dd"
+ placeholder="寮�濮嬫棩鏈�">
+ </el-date-picker>
+ </el-form-item>
+ </el-col>
+ <el-col class="line" :span="2">-</el-col>
+ <el-col :span="11">
+ <el-form-item prop="endTime">
+ <el-date-picker
+ v-model="form.endTime"
+ type="date"
+ value-format="yyyy-MM-dd"
+ placeholder="缁撴潫鏃ユ湡">
+ </el-date-picker>
+ </el-form-item>
+ </el-col>
+ </el-form-item>
+
+ <el-form-item label="澶囨敞淇℃伅" prop="remark">
+ <el-input type="textarea" v-model="form.remark" size="small"></el-input>
+ </el-form-item>
+ </el-form>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="handleClose">鍙� 娑�</el-button>
+ <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
+
</div>
</template>
<script>
+import { addClasses, editClasses, getClassess, deleteClassesById } from "@/api/classes";
+import Pagination from "@/components/Pagination"
export default {
+ components: {Pagination},
data() {
return {
+ total: 0,
+ open: false,
+ title: "",
value: "",
- searchData: {
+ searchForm: {
subject: null,
+ pageSize: 10,
+ pageNum: 1
+ },
+ form: {
+ id: null,
+ className: "",
+ status: "",
+ verifyStatus: "",
+ startTime: null,
+ endTime: null,
+ remark: ""
+ },
+ rules: {
+ className: [
+ { required: true, message: '璇疯緭鍏ョ彮绾у悕绉�', trigger: 'blur' },
+ { min: 1, max: 30, message: '闀垮害鍦� 1 鍒� 30 涓瓧绗�', trigger: 'blur' }
+ ],
+ startTime: [
+ { required: true, message: '璇烽�夋嫨鐝骇寮�濮嬫椂闂�', trigger: 'change' },
+ ],
+ endTime: [
+ { required: true, message: '璇烽�夋嫨鐝骇缁撴潫鏃堕棿', trigger: 'change' },
+ ],
},
tableData: [
- {
- class: "杞欢宸ョ▼",
- grade: "2019绾�",
- unit: "铻轰笣閮�",
- teacher: "绉嬫ⅷ鑶�",
- phone: "182-9384-9302",
- email: "info@exaple.com",
- openingTime: "2022/3/29",
- },
- {
- class: "杞欢宸ョ▼",
- grade: "2019绾�",
- unit: "铻轰笣閮�",
- teacher: "绉嬫ⅷ鑶�",
- phone: "182-9384-9302",
- email: "info@exaple.com",
- openingTime: "2022/3/29",
- },
- {
- class: "杞欢宸ョ▼",
- grade: "2019绾�",
- unit: "铻轰笣閮�",
- teacher: "绉嬫ⅷ鑶�",
- phone: "182-9384-9302",
- email: "info@exaple.com",
- openingTime: "2022/3/29",
- },
- {
- class: "杞欢宸ョ▼",
- grade: "2019绾�",
- unit: "铻轰笣閮�",
- teacher: "绉嬫ⅷ鑶�",
- phone: "182-9384-9302",
- email: "info@exaple.com",
- openingTime: "2022/3/29",
- },
- {
- class: "杞欢宸ョ▼",
- grade: "2019绾�",
- unit: "铻轰笣閮�",
- teacher: "绉嬫ⅷ鑶�",
- phone: "182-9384-9302",
- email: "info@exaple.com",
- openingTime: "2022/3/29",
- },
- {
- class: "杞欢宸ョ▼",
- grade: "2019绾�",
- unit: "铻轰笣閮�",
- teacher: "绉嬫ⅷ鑶�",
- phone: "182-9384-9302",
- email: "info@exaple.com",
- openingTime: "2022/3/29",
- },
- {
- class: "杞欢宸ョ▼",
- grade: "2019绾�",
- unit: "铻轰笣閮�",
- teacher: "绉嬫ⅷ鑶�",
- phone: "182-9384-9302",
- email: "info@exaple.com",
- openingTime: "2022/3/29",
- },
- {
- class: "杞欢宸ョ▼",
- grade: "2019绾�",
- unit: "铻轰笣閮�",
- teacher: "绉嬫ⅷ鑶�",
- phone: "182-9384-9302",
- email: "info@exaple.com",
- openingTime: "2022/3/29",
- },
- {
- class: "杞欢宸ョ▼",
- grade: "2019绾�",
- unit: "铻轰笣閮�",
- teacher: "绉嬫ⅷ鑶�",
- phone: "182-9384-9302",
- email: "info@exaple.com",
- openingTime: "2022/3/29",
- },
+
],
- pageData: {
- size: 7,
- page: 1,
- },
};
},
methods: {
- // // 鏌ョ湅璇︽儏
- // detailsTo() {
- // this.$router.push({
- // name: "teacherDetail",
- // });
- // },
- // 璺宠浆(鏌ョ湅鐝骇浜哄憳鎯呭喌)
- routersTo() {
- this.$router.push({
- name: "ClassStaff",
+ page() {
+ getClassess(this.searchForm).then(res => {
+ this.tableData = res.data.data
+ this.total = res.data.total
+ })
+ },
+ resetForm() {
+ this.form = {
+ id: null,
+ className: "",
+ status: "",
+ verifyStatus: "",
+ startTime: null,
+ endTime: null,
+ remark: ""
+ }
+ },
+ submitForm() {
+ this.$refs['form'].validate((valid) => {
+ if (valid) {
+ if (this.form.id) {
+ editClasses(this.form).then(res => {
+ this.$message.success("淇敼鎴愬姛")
+ this.resetForm()
+ this.open = false
+ })
+ } else {
+ addClasses(this.form).then(res => {
+ this.$message.success("娣诲姞鐝骇鎴愬姛")
+ this.resetForm()
+ this.open = false
+ })
+ }
+ } else {
+ return false;
+ }
});
+ },
+ remove(id) {
+ deleteClassesById(id).then(res => {
+ this.$message.success(res.data.message)
+ this.page()
+ })
+ },
+ handlerEdit(row) {
+ this.form = row;
+ this.open = true
+ },
+ handleClose() {
+ this.open = false
+ this.resetForm()
+ },
+ handlerAdd() {
+ this.open = true
+ this.title = "鏂板鐝骇"
+ },
+ // 璺宠浆(鏌ョ湅鐝骇浜哄憳鎯呭喌)
+ studentManager(classesId) {
+ this.$router.push({ path: "class-management/Class-staff", query: { classesId: classesId } });
},
// 杩斿洖涓婁竴涓〉闈�
goBack() {
this.$router.back();
},
+ },
+ created() {
+ this.page()
},
};
</script>
@@ -287,4 +308,4 @@
background-color: rgb(45, 92, 248);
}
}
-</style>
\ No newline at end of file
+</style>
--
Gitblit v1.8.0