From 0ebcc1fd3b16b7a43e85a9a4bde1a1cee3ae5831 Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期二, 16 七月 2024 17:47:10 +0800
Subject: [PATCH] feat:出生年月取消必填、隐藏模拟菜单

---
 src/views/education/department/edit.vue |  114 +++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 83 insertions(+), 31 deletions(-)

diff --git a/src/views/education/department/edit.vue b/src/views/education/department/edit.vue
index 9cf1ea9..cb7e90a 100644
--- a/src/views/education/department/edit.vue
+++ b/src/views/education/department/edit.vue
@@ -1,17 +1,45 @@
 <template>
   <div class="app-container">
 
-    <el-form :model="form" ref="form" label-width="100px" v-loading="formLoading">
-      <el-form-item label="閮ㄩ棬锛�" required>
-        <el-input v-model="form.name"></el-input>
+    <el-form :model="form" ref="form" label-width="120px" label-position="top" v-loading="formLoading">
+      <el-form-item label="閮ㄩ棬鍚嶇О锛�" required>
+        <el-input v-model="form.name" style="width: 450px"></el-input>
+      </el-form-item>
+      <el-form-item label="涓婄骇閮ㄩ棬锛�">
+        <el-cascader
+          clearable
+          v-model="form.parentId"
+          :options="cascaderList"
+          :props="{ checkStrictly: true }"
+          ></el-cascader>
       </el-form-item>
 <!--      <el-form-item label="閮ㄩ棬锛�" required>-->
 <!--        <el-select v-model="form.level" placeholder="閮ㄩ棬">-->
 <!--          <el-option v-for="item in levelEnum" :key="item.key" :value="item.key" :label="item.value"></el-option>-->
 <!--        </el-select>-->
 <!--      </el-form-item>-->
+      <el-form-item v-if="fig === 0" label="绠$悊鍛橈細">
+        <el-select v-model="form.adminId" filterable placeholder="閫夋嫨绠$悊鍛�">
+          <el-option
+            v-for="item in deptUserList"
+            :key="item.id"
+            :label="item.value"
+            :value="item.id">
+          </el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="鍙鐞嗕笁绾у崟浣嶏細">
+        <el-switch
+          style="display: block"
+          v-model="form.special"
+          active-color="#13ce66"
+          inactive-color="#ff4949"
+          active-text="鍏佽"
+          inactive-text="绂佹">
+        </el-switch>
+      </el-form-item>
       <el-form-item>
-        <el-button type="primary" @click="submitForm">鎻愪氦</el-button>
+        <el-button type="primary" @click="submitForm">淇濆瓨</el-button>
         <el-button @click="resetForm">閲嶇疆</el-button>
       </el-form-item>
     </el-form>
@@ -20,16 +48,21 @@
 
 <script>
 import { mapGetters, mapState, mapActions } from 'vuex'
-import subjectApi from '@/api/subject'
 import departmentApi from '@/api/department'
-import enumItem from '@/store/modules/enumItem'
 export default {
   data () {
     return {
-      depart:[],
+      // 閮ㄩ棬绾ц仈涓嬫媺
+      cascaderList: [],
+      // 閮ㄩ棬浜哄憳
+      deptUserList: [],
+      depart: [],
       form: {
         id: null,
         name: '',
+        parentId: null,
+        adminId: null,
+        special: false,
         // level: 1,
         // levelName: ''
       },
@@ -39,51 +72,68 @@
   },
   created () {
     let id = this.$route.query.id
-    console.log(id)
     let _this = this
     if (id && parseInt(id) !== 0) {
       _this.formLoading = true
       departmentApi.select(id).then(re => {
+        re.response.parentId = re.response.parentIds
         _this.form = re.response
         _this.formLoading = false
       })
+      // 鑾峰彇閮ㄩ棬浜哄憳
+      _this.getUserSelect(id)
     }
-    if (id == undefined) {
-      _this.fig = 1 //鏄柊澧�
+    if (id === undefined) {
+      _this.fig = 1 // 鏄柊澧�
     } else {
-      _this.fig = 0 //鏄紪杈�
+      _this.fig = 0 // 鏄紪杈�
     }
   },
+  mounted() {
+    this.getCascaderList()
+  },
   methods: {
+    getCascaderList() {
+      departmentApi.cascaderList().then(res => {
+        this.cascaderList = res.response
+      })
+    },
+    getUserSelect (id) {
+      departmentApi.getDeptUserList(id).then(res => {
+        this.deptUserList = res.response
+      })
+    },
     submitForm () {
       let _this = this
       this.formLoading = true
       // this.form.levelName = this.enumFormat(this.levelEnum, this.form.level)
-      let obj = {
-        name:this.form.name
+      // let obj = {
+      //   name: this.form.name
+      // }
+      if (_this.form.parentId) {
+        _this.form.parentId = _this.form.parentId[_this.form.parentId.length - 1];
       }
-      if (_this.fig==1){
-        departmentApi.addData(this.form.name).then(res=>{
+      if (_this.fig === 1) {
+        departmentApi.addData(this.form).then(res => {
           console.log(res)
-          if (res.code ==1){
-
-            _this.$message.success(res.message)
-                _this.delCurrentView(_this).then(() => {
-                  _this.$router.push('/education/department/list')
-                })
-          }else {
-            _this.$message.error(res.message)
-          }
-        })
-      }else {
-        departmentApi.edit(this.form).then(res=>{
-          console.log(res)
-          if (res.code ==1){
+          if (res.code === 1) {
             _this.$message.success(res.message)
             _this.delCurrentView(_this).then(() => {
               _this.$router.push('/education/department/list')
             })
-          }else {
+          } else {
+            _this.$message.error(res.message)
+          }
+        })
+      } else {
+        departmentApi.edit(this.form).then(res => {
+          console.log(res)
+          if (res.code === 1) {
+            _this.$message.success(res.message)
+            _this.delCurrentView(_this).then(() => {
+              _this.$router.push('/education/department/list')
+            })
+          } else {
             _this.$message.error(res.message)
           }
         })
@@ -109,7 +159,9 @@
         id: null,
         name: '',
         level: 1,
-        levelName: ''
+        parentId: null,
+        levelName: '',
+        special: false
       }
       this.form.id = lastId
     },

--
Gitblit v1.8.0