From 7b4983738f986bf28cb12c9a30dcbc4d593ad6a5 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期四, 06 六月 2024 10:47:00 +0800
Subject: [PATCH] 班级通知
---
src/api/request.js | 82 +++++++++++++-------------
src/views/Manage/ClassManagement/Class.vue | 60 +++++++++++++++++++
2 files changed, 100 insertions(+), 42 deletions(-)
diff --git a/src/api/request.js b/src/api/request.js
index 449cac1..947c2e5 100644
--- a/src/api/request.js
+++ b/src/api/request.js
@@ -1,54 +1,54 @@
import axios from "axios";
import router from "../router";
-import { Message } from 'element-ui';
+import {Message} from 'element-ui';
+import vue from "vue";
const instance = axios.create({
- baseURL: process.env.VUE_APP_URL,
- timeout: 50000,
- // 涓嶆惡甯ookie
- withCredentials: true,
- headers: {
- "Content-Type": "application/json"
- }
- });
+ baseURL: process.env.VUE_APP_URL,
+ timeout: 50000,
+ // 涓嶆惡甯ookie
+ withCredentials: true,
+ headers: {
+ "Content-Type": "application/json"
+ }
+});
// 娣诲姞璇锋眰鎷︽埅鍣�
instance.interceptors.request.use(function (config) {
- return config;
- }, function (error) {
- Message.error("璇锋眰瀛樺湪闂锛岃妫�鏌�")
- return Promise.reject(error);
- });
+ return config;
+}, function (error) {
+ Message.error("璇锋眰瀛樺湪闂锛岃妫�鏌�")
+ return Promise.reject(error);
+});
// 娣诲姞鍝嶅簲鎷︽埅鍣�
instance.interceptors.response.use(function (response) {
- // 澶勭悊鑷畾涔夌姸鎬佺爜
- if(response.data.code === 1) {
- return response;
- // 楠岃瘉鐮侀敊璇斁琛岋紝浠ヤ究鍒锋柊楠岃瘉鐮�
- } else if (response.data.code === 1998) {
- return response;
- } else {
- Message.error(response.data.msg);
- return Promise.reject(response.data.msg);
- }
+ if (response.data.code === 1) {
+ return response;
+ // 楠岃瘉鐮侀敊璇斁琛岋紝浠ヤ究鍒锋柊楠岃瘉鐮�
+ }
+ // 澶勭悊鑷畾涔夌姸鎬佺爜
+ else if (response.data.code === 1998) {
+ return response;
+ } else {
+ Message.error(response.data.msg);
+ return Promise.reject(response.data.msg);
+ }
- }, function (error) {
- // 澶勭悊http鐘舵�佺爜
- if(error.response.data) {
- error.message = error.response.data.msg;
- }
- if(error.response.status === 401) {
- error.message = "鐧诲綍宸茶繃鏈燂紝璇烽噸鏂扮櫥褰�";
- // 鍒犳帀sessionStorage涓繃鏈焧oken
- sessionStorage.clear();
- router.push("/login");
- }
- if(error.response.status === 403) {
- error.message = "鏉冮檺涓嶈冻";
- }
- Message.error(error.message);
- return Promise.reject(error);
- });
+}, function (error) {
+ // 澶勭悊http鐘舵�佺爜
+ if (error.response.data) {
+ error.message = error.response.data.msg;
+ }
+ if (error.response.code === 401) {
+ error.message = "鐧诲綍宸茶繃鏈燂紝璇烽噸鏂扮櫥褰�";
+ vue.prototype.$$router.push({path: '/login'})
+ }
+ if (error.response.code === 403) {
+ error.message = "鏉冮檺涓嶈冻";
+ }
+ Message.error(error.message);
+ return Promise.reject(error);
+});
export default instance;
diff --git a/src/views/Manage/ClassManagement/Class.vue b/src/views/Manage/ClassManagement/Class.vue
index 1662931..db5b41d 100644
--- a/src/views/Manage/ClassManagement/Class.vue
+++ b/src/views/Manage/ClassManagement/Class.vue
@@ -94,7 +94,7 @@
<template slot-scope="scope">
<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 size="small" @click="handlerOpenNotify(scope.row)" type="info">閫氱煡</el-button>
<el-button @click="studentManager(scope.row.id)" size="small" type="success">鎴愬憳绠$悊</el-button>
<el-button v-if="scope.row.status !== '瑙f暎'" @click="dissolution(scope.row.id)" type="danger" size="small">瑙f暎</el-button>
</template>
@@ -114,6 +114,24 @@
</div>
+ <el-dialog
+ title="鐝骇閫氱煡"
+ :visible.sync="notifyOpen"
+ width="600px"
+ :before-close="handleClose">
+ <el-form :model="notifyForm" :rules="notifyRules" ref="notifyForm" label-width="100px" class="demo-ruleForm">
+ <el-form-item label="閫氱煡鐝骇锛�" prop="className">
+ <span>{{notifyForm.className}}</span>
+ </el-form-item>
+ <el-form-item label="閫氱煡鍐呭锛�" prop="notifyContent">
+ <el-input type="textarea" v-model="notifyForm.notifyContent" size="small"></el-input>
+ </el-form-item>
+ </el-form>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="handleNotifyClose">鍙� 娑�</el-button>
+ <el-button type="primary" @click="submitNotifyForm">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
<el-dialog
:title="title"
@@ -163,11 +181,18 @@
<script>
import { addClasses, editClasses, getClassess, dissolution } from "@/api/classes";
+import { addClassesNotify } from "@/api/classesNotify";
import Pagination from "@/components/Pagination"
export default {
components: {Pagination},
data() {
return {
+ notifyOpen: false,
+ notifyForm: {
+ className: '',
+ notifyContent: '',
+ classesId: null
+ },
loading: true,
total: 0,
open: false,
@@ -189,6 +214,12 @@
endTime: null,
remark: ""
},
+ notifyRules: {
+ notifyContent: [
+ { required: true, message: '璇疯緭鍏ラ�氱煡鍐呭', trigger: 'blur' },
+ { min: 1, max: 500, message: '闀垮害鍦� 1 鍒� 500 涓瓧绗�', trigger: 'blur' }
+ ],
+ },
rules: {
className: [
{ required: true, message: '璇疯緭鍏ョ彮绾у悕绉�', trigger: 'blur' },
@@ -207,6 +238,33 @@
};
},
methods: {
+ handlerOpenNotify(row) {
+ this.notifyOpen = true
+ this.notifyForm.className = row.className
+ this.notifyForm.classesId = row.id
+ },
+ submitNotifyForm() {
+ this.$refs['notifyForm'].validate((valid) => {
+ if (valid) {
+ let _this = this
+ addClassesNotify(_this.notifyForm).then(res => {
+ this.$message.success(res.data.message)
+ this.notifyOpen = false
+ this.clearNotifyForm()
+ })
+ }
+ })
+ },
+ clearNotifyForm() {
+ this.notifyForm = {
+ className: '',
+ notifyContent: ''
+ }
+ },
+ handleNotifyClose() {
+ this.notifyOpen = false
+ this.clearNotifyForm()
+ },
page() {
getClassess(this.searchForm).then(res => {
this.tableData = res.data.data
--
Gitblit v1.8.0