Kaynağa Gözat

Merge remote-tracking branch 'origin/gzb' into wzl

gzb
wangzhonglu 9 ay önce
ebeveyn
işleme
fb108bb42b

+ 3
- 3
src/api/admin.js Dosyayı Görüntüle

@@ -1,10 +1,10 @@
1
-import { admin_url } from "@/utils/httpRequest";
1
+import { setRequest } from "@/utils/httpRequest";
2 2
 
3 3
 /**
4 4
  * 1.0.1管理员--账号登录
5 5
  */
6
-export const login = (data) => admin_url("admin/login", data);
6
+export const admin_login = (data) => setRequest("admin/login", data);
7 7
 /**
8 8
  * 1.0.4管理员--生成图片验证码
9 9
  */
10
-export const img_code = (data) => admin_url("admin/img_code", data);
10
+export const admin_img_code = (data) => setRequest("admin/img_code", data);

+ 2
- 31
src/store/index.js Dosyayı Görüntüle

@@ -1,40 +1,11 @@
1 1
 import Vue from "vue";
2 2
 import Vuex from "vuex";
3
-import { login } from "../api/admin";
4
-import { clearStore, setStore } from "../utils/store";
5 3
 Vue.use(Vuex);
6 4
 
7 5
 export default new Vuex.Store({
8 6
   state: {
9 7
     userInfo: {}
10 8
   },
11
-  mutations: {
12
-    // 设置个人信息
13
-    SET_USERIFNO: (state, userInfo) => {
14
-      state.userInfo = userInfo;
15
-      setStore({ name: "xh-control-userInfo", content: userInfo });
16
-    }
17
-  },
18
-  actions: {
19
-    // 登陆
20
-    login_username({ commit }, userInfo) {
21
-      return new Promise((resolve, reject) => {
22
-        login(userInfo).then((res) => {
23
-          if (res.code == 0) {
24
-            const userInfo = res.obj;
25
-            commit("SET_USERIFNO", userInfo);
26
-          }
27
-          resolve(res);
28
-        });
29
-      });
30
-    },
31
-    // 登出
32
-    loginOut({ commit }) {
33
-      return new Promise((resolve, reject) => {
34
-        commit("SET_USERIFNO", []);
35
-        clearStore();
36
-        resolve("请重新登录!");
37
-      });
38
-    }
39
-  }
9
+  mutations: {},
10
+  actions: {}
40 11
 });

+ 1
- 26
src/utils/httpRequest.js Dosyayı Görüntüle

@@ -105,34 +105,9 @@ http.interceptors.response.use(
105 105
  * @param {*} data 传参
106 106
  * @returns Promise
107 107
  */
108
-const setRequest = ({ url, data }) =>
108
+export const setRequest = (url, data) =>
109 109
   http({
110 110
     url: `${window._config.baseUrl}${url}`,
111 111
     method: "post",
112 112
     data: data || {}
113 113
   });
114
-/**
115
- * @param {*} url 不带前缀的url
116
- * @param {*} data 传参
117
- * @returns Promise
118
- */
119
-//管理员
120
-export const admin_url = (url, data) =>
121
-  setRequest({
122
-    url,
123
-    data
124
-  });
125
-
126
-//区域
127
-export const region_url = (url, data) =>
128
-  setRequest({
129
-    url,
130
-    data
131
-  });
132
-
133
-//应用
134
-export const appgroup_url = (url, data) =>
135
-  setRequest({
136
-    url,
137
-    data
138
-  });

+ 0
- 99
src/utils/store.js Dosyayı Görüntüle

@@ -1,99 +0,0 @@
1
-import { validatenull } from "@/utils/validate";
2
-
3
-/**
4
- * 存储localStorage
5
- */
6
-export const setStore = (params = {}) => {
7
-  let { name, content, type } = params;
8
-  let obj = {
9
-    dataType: typeof content,
10
-    content: content,
11
-    type: type,
12
-    datetime: new Date().getTime()
13
-  };
14
-  if (type) window.sessionStorage.setItem(name, JSON.stringify(obj));
15
-  else window.localStorage.setItem(name, JSON.stringify(obj));
16
-};
17
-
18
-/**
19
- * 获取localStorage
20
- */
21
-export const getStore = (params = {}) => {
22
-  let { name, debug } = params;
23
-  let obj = {};
24
-  let content;
25
-  obj = window.sessionStorage.getItem(name);
26
-  if (validatenull(obj)) obj = window.localStorage.getItem(name);
27
-  if (validatenull(obj)) return;
28
-  try {
29
-    obj = JSON.parse(obj);
30
-  } catch {
31
-    return obj;
32
-  }
33
-  if (debug) {
34
-    return obj;
35
-  }
36
-  if (obj.dataType === "string") {
37
-    content = obj.content;
38
-  } else if (obj.dataType === "number") {
39
-    content = Number(obj.content);
40
-  } else if (obj.dataType === "boolean") {
41
-    content = this.eval(obj.content);
42
-  } else if (obj.dataType === "object") {
43
-    content = obj.content;
44
-  }
45
-  return content;
46
-};
47
-
48
-/**
49
- * 删除localStorage
50
- */
51
-export const removeStore = (params = {}) => {
52
-  let { name, type } = params;
53
-  if (type) {
54
-    window.sessionStorage.removeItem(name);
55
-  } else {
56
-    window.localStorage.removeItem(name);
57
-  }
58
-};
59
-
60
-/**
61
- * 获取全部localStorage
62
- */
63
-export const getAllStore = (params = {}) => {
64
-  let list = [];
65
-  let { type } = params;
66
-  if (type) {
67
-    for (let i = 0; i <= window.sessionStorage.length; i++) {
68
-      list.push({
69
-        name: window.sessionStorage.key(i),
70
-        content: getStore({
71
-          name: window.sessionStorage.key(i),
72
-          type: "session"
73
-        })
74
-      });
75
-    }
76
-  } else {
77
-    for (let i = 0; i <= window.localStorage.length; i++) {
78
-      list.push({
79
-        name: window.localStorage.key(i),
80
-        content: getStore({
81
-          name: window.localStorage.key(i)
82
-        })
83
-      });
84
-    }
85
-  }
86
-  return list;
87
-};
88
-
89
-/**
90
- * 清空全部localStorage
91
- */
92
-export const clearStore = (params = {}) => {
93
-  let { type } = params;
94
-  if (type) {
95
-    window.sessionStorage.clear();
96
-  } else {
97
-    window.localStorage.clear();
98
-  }
99
-};

+ 0
- 304
src/utils/validate.js Dosyayı Görüntüle

@@ -1,304 +0,0 @@
1
-/**
2
- * Created by jiachenpan on 16/11/18.
3
- */
4
-
5
-export function isvalidUsername(str) {
6
-  const validMap = ["admin", "editor"];
7
-  return validMap.indexOf(str.trim()) >= 0;
8
-}
9
-
10
-/* 合法uri */
11
-export function validateURL(textval) {
12
-  const urlregex =
13
-    /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/;
14
-  return urlregex.test(textval);
15
-}
16
-/**
17
- * 邮箱
18
- * @param {*} s
19
- */
20
-export function isEmail(s) {
21
-  return /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(
22
-    s
23
-  );
24
-}
25
-
26
-/**
27
- * 手机号码
28
- * @param {*} s
29
- */
30
-export function isMobile(s) {
31
-  return /^1[0-9]{10}$/.test(s);
32
-}
33
-
34
-/**
35
- * 电话号码
36
- * @param {*} s
37
- */
38
-export function isPhone(s) {
39
-  return /^([0-9]{3,4}-)?[0-9]{7,8}$/.test(s);
40
-}
41
-
42
-/**
43
- * URL地址
44
- * @param {*} s
45
- */
46
-export function isURL(s) {
47
-  return /^http[s]?:\/\/.*/.test(s);
48
-}
49
-
50
-/* 小写字母 */
51
-export function validateLowerCase(str) {
52
-  const reg = /^[a-z]+$/;
53
-  return reg.test(str);
54
-}
55
-
56
-/* 大写字母 */
57
-export function validateUpperCase(str) {
58
-  const reg = /^[A-Z]+$/;
59
-  return reg.test(str);
60
-}
61
-
62
-/* 大小写字母 */
63
-export function validatAlphabets(str) {
64
-  const reg = /^[A-Za-z]+$/;
65
-  return reg.test(str);
66
-}
67
-/* 验证pad还是pc */
68
-export const vaildatePc = function () {
69
-  const userAgentInfo = navigator.userAgent;
70
-  const Agents = [
71
-    "Android",
72
-    "iPhone",
73
-    "SymbianOS",
74
-    "Windows Phone",
75
-    "iPad",
76
-    "iPod"
77
-  ];
78
-  let flag = true;
79
-  for (var v = 0; v < Agents.length; v++) {
80
-    if (userAgentInfo.indexOf(Agents[v]) > 0) {
81
-      flag = false;
82
-      break;
83
-    }
84
-  }
85
-  return flag;
86
-};
87
-/**
88
- * validate email
89
- * @param email
90
- * @returns {boolean}
91
- */
92
-export function validateEmail(email) {
93
-  const re =
94
-    /^(([^<>()\\[\]\\.,;:\s@"]+(\.[^<>()\\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
95
-  return re.test(email);
96
-}
97
-
98
-/**
99
- * 判断身份证号码
100
- */
101
-export function cardid(code) {
102
-  let list = [];
103
-  let result = true;
104
-  let msg = "";
105
-  var city = {
106
-    11: "北京",
107
-    12: "天津",
108
-    13: "河北",
109
-    14: "山西",
110
-    15: "内蒙古",
111
-    21: "辽宁",
112
-    22: "吉林",
113
-    23: "黑龙江 ",
114
-    31: "上海",
115
-    32: "江苏",
116
-    33: "浙江",
117
-    34: "安徽",
118
-    35: "福建",
119
-    36: "江西",
120
-    37: "山东",
121
-    41: "河南",
122
-    42: "湖北 ",
123
-    43: "湖南",
124
-    44: "广东",
125
-    45: "广西",
126
-    46: "海南",
127
-    50: "重庆",
128
-    51: "四川",
129
-    52: "贵州",
130
-    53: "云南",
131
-    54: "西藏 ",
132
-    61: "陕西",
133
-    62: "甘肃",
134
-    63: "青海",
135
-    64: "宁夏",
136
-    65: "新疆",
137
-    71: "台湾",
138
-    81: "香港",
139
-    82: "澳门",
140
-    91: "国外 "
141
-  };
142
-  if (!validatenull(code)) {
143
-    if (code.length === 18) {
144
-      if (!code || !/(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(code)) {
145
-        msg = "证件号码格式错误";
146
-      } else if (!city[code.substr(0, 2)]) {
147
-        msg = "地址编码错误";
148
-      } else {
149
-        // 18位身份证需要验证最后一位校验位
150
-        code = code.split("");
151
-        // ∑(ai×Wi)(mod 11)
152
-        // 加权因子
153
-        var factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
154
-        // 校验位
155
-        var parity = [1, 0, "X", 9, 8, 7, 6, 5, 4, 3, 2, "x"];
156
-        var sum = 0;
157
-        var ai = 0;
158
-        var wi = 0;
159
-        for (var i = 0; i < 17; i++) {
160
-          ai = code[i];
161
-          wi = factor[i];
162
-          sum += ai * wi;
163
-        }
164
-        if (parity[sum % 11] !== code[17]) {
165
-          msg = "证件号码校验位错误";
166
-        } else {
167
-          result = false;
168
-        }
169
-      }
170
-    } else {
171
-      msg = "证件号码长度不为18位";
172
-    }
173
-  } else {
174
-    msg = "证件号码不能为空";
175
-  }
176
-  list.push(result);
177
-  list.push(msg);
178
-  return list;
179
-}
180
-/**
181
- * 判断手机号码是否正确
182
- */
183
-export function isvalidatemobile(phone) {
184
-  let list = [];
185
-  let result = true;
186
-  let msg = "";
187
-  var isPhone = /^0\d{2,3}-?\d{7,8}$/;
188
-  // 增加134 减少|1349[0-9]{7},增加181,增加145,增加17[678]
189
-  if (!validatenull(phone)) {
190
-    if (phone.length === 11) {
191
-      if (isPhone.test(phone)) {
192
-        msg = "手机号码格式不正确";
193
-      } else {
194
-        result = false;
195
-      }
196
-    } else {
197
-      msg = "手机号码格式不正确";
198
-    }
199
-  } else {
200
-    msg = "手机号码不能为空";
201
-  }
202
-  list.push(result);
203
-  list.push(msg);
204
-  return list;
205
-}
206
-/**
207
- * 判断手机号码是否正确 不是必填
208
- */
209
-export function check_phone(phone) {
210
-  let list = [];
211
-  let result = true;
212
-  let msg = "";
213
-  var isPhone = /^[1][3,4,5,6,7,8,9][0-9]{9}$/;
214
-  if (!validatenull(phone)) {
215
-    if (phone.length === 11) {
216
-      if (!isPhone.test(phone)) {
217
-        msg = "手机号码格式不正确";
218
-      } else {
219
-        result = false;
220
-      }
221
-    } else {
222
-      msg = "手机号码格式不正确";
223
-    }
224
-  } else {
225
-    result = false;
226
-  }
227
-  list.push(result);
228
-  list.push(msg);
229
-  return list;
230
-}
231
-/**
232
- * 判断姓名是否正确
233
- */
234
-export function validatename(name) {
235
-  var regName = /^[\u4e00-\u9fa5]{2,4}$/;
236
-  if (!regName.test(name)) return false;
237
-  return true;
238
-}
239
-/**
240
- * 判断是否为整数
241
- */
242
-export function validatenum(num, type) {
243
-  let regName = /[^\d.]/g;
244
-  if (type === 1) {
245
-    if (!regName.test(num)) return false;
246
-  } else if (type === 2) {
247
-    regName = /[^\d]/g;
248
-    if (!regName.test(num)) return false;
249
-  }
250
-  return true;
251
-}
252
-/**
253
- * 判断是否为小数
254
- */
255
-export function validatenumord(num, type) {
256
-  let regName = /[^\d.]/g;
257
-  if (type === 1) {
258
-    if (!regName.test(num)) return false;
259
-  } else if (type === 2) {
260
-    regName = /[^\d.]/g;
261
-    if (!regName.test(num)) return false;
262
-  }
263
-  return true;
264
-}
265
-/**
266
- * 判断是否为空
267
- */
268
-export function validatenull(val) {
269
-  if (typeof val === "boolean") {
270
-    return false;
271
-  }
272
-  if (typeof val === "number") {
273
-    return false;
274
-  }
275
-  if (val instanceof Array) {
276
-    if (val.length === 0) return true;
277
-  } else if (val instanceof Object) {
278
-    if (JSON.stringify(val) === "{}") return true;
279
-  } else {
280
-    if (
281
-      val === "null" ||
282
-      val === null ||
283
-      val === "undefined" ||
284
-      val === undefined ||
285
-      val === ""
286
-    )
287
-      return true;
288
-    return false;
289
-  }
290
-  return false;
291
-}
292
-// 密码必须是6-16位的英文字母、数字组合
293
-export function isLoginPwd(val) {
294
-  const passRegex = new RegExp("^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$");
295
-  return passRegex.test(val);
296
-}
297
-// 修改密码功能改为: 密码必须是8-16位大小写英文字母、数字组合 。
298
-export function isValidPassword(password) {
299
-  const reg = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,16}$/;
300
-  return {
301
-    is: reg.test(password),
302
-    msg: "密码必须是8-16位大小写英文字母、数字组合"
303
-  };
304
-}

+ 36
- 68
src/views/login/login.vue Dosyayı Görüntüle

@@ -71,7 +71,7 @@
71 71
           <span class="emit_code" v-else @click="getCodeImg()">获取验证码</span>
72 72
         </FormItem>
73 73
         <FormItem class="btn_bottom">
74
-          <Checkbox v-model="pwd">记住密码</Checkbox>
74
+          <Checkbox v-model="isaccount">记住密码</Checkbox>
75 75
         </FormItem>
76 76
       </Form>
77 77
       <Button
@@ -85,9 +85,7 @@
85 85
 </template>
86 86
 
87 87
 <script>
88
-import { img_code } from "@/api/admin";
89
-
90
-const Base64 = require("js-base64").Base64;
88
+import { admin_img_code, admin_login } from "@/api/admin";
91 89
 export default {
92 90
   data() {
93 91
     // 手机号验证
@@ -117,8 +115,7 @@ export default {
117 115
       loginForm: {
118 116
         loginname: "",
119 117
         loginpwd: "",
120
-        msgcode: "",
121
-        phone: ""
118
+        msgcode: ""
122 119
       },
123 120
       formRules: {
124 121
         loginname: [
@@ -142,7 +139,7 @@ export default {
142 139
           { required: true, message: "短信验证码不能为空", trigger: "blur" }
143 140
         ]
144 141
       },
145
-      pwd: false,
142
+      isaccount: false,
146 143
       show_pw: false,
147 144
       time: 0
148 145
     };
@@ -164,26 +161,19 @@ export default {
164 161
     }
165 162
   },
166 163
   created() {
167
-    // this.$removeEncodeStorage("userInfo");
168
-    // 在页面加载时从cookie获取登录信息
169
-    let loginname = this.getCookie("loginname");
170
-    let loginpwd = Base64.decode(this.getCookie("loginpwd"));
164
+    //登录前清除信息
165
+    localStorage.setItem("xh_control_userInfo", "");
166
+    // 在页面加载时获取账号信息
167
+    let userdata = localStorage.getItem("control_user");
171 168
     // 如果存在赋值给表单,并且将记住密码勾选
172
-    if (loginname) {
173
-      this.loginForm.loginname = loginname;
174
-      this.loginForm.loginpwd = loginpwd;
175
-      this.pwd = true;
176
-    }
177
-  },
178
-  watch: {
179
-    time() {
180
-      if (this.time == 0) {
181
-        if (this.time1) {
182
-          clearInterval(this.time1);
183
-        }
184
-      }
169
+    if (userdata) {
170
+      userdata = JSON.parse(userdata);
171
+      this.loginForm.loginname = userdata.loginname;
172
+      this.loginForm.loginpwd = userdata.loginpwd;
173
+      this.isaccount = true;
185 174
     }
186 175
   },
176
+  watch: {},
187 177
   mounted() {
188 178
     window.addEventListener("copy", this.inputHandle);
189 179
     window.addEventListener("paste", this.inputHandle);
@@ -193,7 +183,6 @@ export default {
193 183
     window.removeEventListener("copy", this.inputHandle);
194 184
     window.removeEventListener("paste", this.inputHandle);
195 185
     window.removeEventListener("cut", this.inputHandle);
196
-    clearInterval(this.time1);
197 186
   },
198 187
   methods: {
199 188
     //获取验证码
@@ -202,7 +191,7 @@ export default {
202 191
         this.$Message.error("请输入账号");
203 192
         return;
204 193
       }
205
-      img_code({
194
+      admin_img_code({
206 195
         loginname: this.loginForm.loginname
207 196
       }).then((data) => {
208 197
         if (data.code === 0) {
@@ -237,7 +226,6 @@ export default {
237 226
     //登录
238 227
     login_by_username(name) {
239 228
       let that = this;
240
-      console.log(name);
241 229
       this.$refs[name].validate((valid) => {
242 230
         if (valid) {
243 231
           if (
@@ -248,20 +236,29 @@ export default {
248 236
             return;
249 237
           }
250 238
           that.wait_flag = true;
251
-          let loginForm = that.loginForm;
252
-          that.$store.dispatch("login_username", loginForm).then((res) => {
239
+          admin_login(that.loginForm).then((res) => {
253 240
             that.wait_flag = false;
254 241
             if (res.code == 0) {
255 242
               that.$Message.success(res.msg);
256
-              //1平台管理员2区域管理员3学校管理员
257
-              console.log(res.obj);
243
+              localStorage.setItem(
244
+                "xh_control_userInfo",
245
+                JSON.stringify({
246
+                  content: res.obj,
247
+                  datetime: new Date().getTime()
248
+                })
249
+              );
258 250
               let atype = res.obj.atype;
259 251
               atype = 2;
252
+              let path = "";
253
+              //1平台管理员2区域管理员3学校管理员
260 254
               if (atype === 1) {
255
+                path = "platform";
261 256
               } else if (atype === 2) {
262
-                this.$router.replace({ name: "region" });
257
+                path = "region";
263 258
               } else if (atype === 3) {
259
+                path = "school";
264 260
               }
261
+              this.$router.replace({ name: path });
265 262
               that.set_userInfo();
266 263
             } else {
267 264
               that.$Message.error(res.msg);
@@ -273,43 +270,14 @@ export default {
273 270
     },
274 271
     // 记住密码功能
275 272
     set_userInfo() {
276
-      if (this.pwd) {
277
-        this.setCookie("loginname", this.loginForm.loginname, 86400);
278
-        this.setCookie("usertype", this.loginForm.usertype, 86400);
279
-        // base64加密密码
280
-        let loginpwd = Base64.encode(this.loginForm.loginpwd);
281
-        this.setCookie("loginpwd", loginpwd, 86400);
282
-      } else {
283
-        this.setCookie("loginname", "");
284
-        this.setCookie("loginpwd", "");
285
-      }
286
-    },
287
-    //验证码登录
288
-    go_type() {},
289
-    //忘记密码
290
-    tousecrt() {},
291
-    // 获取cookie
292
-    getCookie: function (key) {
293
-      if (document.cookie.length > 0) {
294
-        var start = document.cookie.indexOf(key + "=");
295
-        if (start !== -1) {
296
-          start = start + key.length + 1;
297
-          var end = document.cookie.indexOf(";", start);
298
-          if (end === -1) end = document.cookie.length;
299
-          return unescape(document.cookie.substring(start, end));
300
-        }
273
+      let info = "";
274
+      if (this.isaccount) {
275
+        info = JSON.stringify({
276
+          loginname: this.loginForm.loginname,
277
+          loginpwd: this.loginForm.loginpwd
278
+        });
301 279
       }
302
-      return "";
303
-    },
304
-    // 保存cookie
305
-    setCookie: function (cName, value, expiredays) {
306
-      var exdate = new Date();
307
-      exdate.setDate(exdate.getDate() + expiredays);
308
-      document.cookie =
309
-        cName +
310
-        "=" +
311
-        decodeURIComponent(value) +
312
-        (expiredays == null ? "" : ";expires=" + exdate.toGMTString());
280
+      localStorage.setItem("control_user", info);
313 281
     }
314 282
   }
315 283
 };

+ 1
- 1
src/views/regionSection/home/index.vue Dosyayı Görüntüle

@@ -1,5 +1,5 @@
1 1
 <template>
2
-  <div class="main_root"></div>
2
+  <div class="main_root">区域首页</div>
3 3
 </template>
4 4
 
5 5
 <script>

+ 7
- 0
src/views/regionSection/index.vue Dosyayı Görüntüle

@@ -21,6 +21,13 @@
21 21
               class="drop_down_list_item"
22 22
               >区域管理</router-link
23 23
             >
24
+            <router-link
25
+              @click.native="routeDropdownChange()"
26
+              tag="div"
27
+              to="/region/schoolManage"
28
+              class="drop_down_list_item"
29
+              >学校管理</router-link
30
+            >
24 31
             <router-link
25 32
               @click.native="routeDropdownChange()"
26 33
               tag="div"

+ 1
- 1
src/views/regionSection/regionManage/adminManage.vue Dosyayı Görüntüle

@@ -1,5 +1,5 @@
1 1
 <template>
2
-  <div class="main_root"></div>
2
+  <div class="main_root">管理员</div>
3 3
 </template>
4 4
 
5 5
 <script>

+ 1
- 1
src/views/regionSection/regionManage/regionManage.vue Dosyayı Görüntüle

@@ -1,5 +1,5 @@
1 1
 <template>
2
-  <div class="main_root"></div>
2
+  <div class="main_root">区域管理</div>
3 3
 </template>
4 4
 
5 5
 <script>

+ 1
- 1
src/views/regionSection/regionManage/schoolManage.vue Dosyayı Görüntüle

@@ -1,5 +1,5 @@
1 1
 <template>
2
-  <div class="main_root"></div>
2
+  <div class="main_root">学校管理</div>
3 3
 </template>
4 4
 
5 5
 <script>

Loading…
İptal
Kaydet