From 20ba229f91a729995d753063566632b2c60be8f3 Mon Sep 17 00:00:00 2001
From: long <515897141@qq.com>
Date: 星期四, 01 七月 2021 15:30:31 +0800
Subject: [PATCH] 添加子列表弹框demo

---
 src/pages/demo/classList.vue                     |  366 ++++++++++++++++++++++++++++++
 src/pages/demo/index.vue                         |    2 
 src/pages/demo/components/classTeacherDialog.vue |  338 ++++++++++++++++++++++++++++
 src/router/demo_router.js                        |    6 
 4 files changed, 711 insertions(+), 1 deletions(-)

diff --git a/src/pages/demo/classList.vue b/src/pages/demo/classList.vue
new file mode 100644
index 0000000..341f537
--- /dev/null
+++ b/src/pages/demo/classList.vue
@@ -0,0 +1,366 @@
+<template>
+  <div class="app-container">
+    <!-- 杩斿洖鎸夐挳鍜屾爣棰� -->
+    <!-- <el-page-header class="mb20" content="xx" @back="$router.go(-1)" /> -->
+
+    <!-- 鎼滅储鍖� 鈫撯啌鈫撯啌鈫撯啌鈫撯啌鈫撯啌 -->
+    <el-form v-show="showSearch" ref="searchForm" :inline="true">
+      <el-form-item label="鐝骇鍚嶇О">
+        <el-input
+          v-model="keyWord"
+          placeholder="璇疯緭鍏ョ彮绾у悕绉�"
+          clearable
+          size="small"
+          style="width: 240px"
+          maxlength="50"
+          @keyup.enter.native="reGetList"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="cyan" icon="el-icon-search" size="mini" @click="reGetList">鎼滅储</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetHandle">閲嶇疆</el-button>
+      </el-form-item>
+    </el-form>
+    <!-- 鎼滅储鍖� 鈫戔啈鈫戔啈鈫戔啈鈫戔啈鈫戔啈 -->
+
+    <!-- 鎿嶄綔鍖� 鈫撯啌鈫撯啌鈫撯啌鈫撯啌鈫撯啌 -->
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <!-- 鏉冮檺鍒ゆ柇 v-if="getAuthValueFN('xxx_add')" -->
+        <el-button
+          type="primary"
+          icon="el-icon-plus"
+          size="mini"
+          @click="showAddDialog"
+        >鏂板</el-button>
+      </el-col>
+      <right-toolbar :show-search.sync="showSearch" @queryTable="getList" />
+    </el-row>
+    <!-- 鎿嶄綔鍖� 鈫戔啈鈫戔啈鈫戔啈鈫戔啈鈫戔啈 -->
+
+    <el-table :data="list" stripe>
+      <el-table-column type="index" label="搴忓彿" align="center" width="60" />
+      <el-table-column label="鐝骇鍚嶇О" prop="name" align="center" min-width="120" />
+      <el-table-column label="鎺掑簭鍙�" prop="ranking" align="center" min-width="120" />
+      <el-table-column label="鏄惁鍚敤" prop="isUp" align="center" min-width="100">
+        <template slot-scope="scope">
+          <!-- 鏉冮檺鍒ゆ柇 v-if="getAuthValueFN('school_class_edit')" -->
+          <el-switch
+            v-model="scope.row.isUp"
+            :active-value="1"
+            :inactive-value="0"
+            :disabled="!getAuthValueFN('school_class_edit')"
+            @change="handleUpChange(scope.row)"
+          />
+        </template>
+      </el-table-column>
+      <el-table-column label="鍒涘缓鏃堕棿" prop="createTime" align="center" min-width="160" />
+      <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width" width="120">
+        <template slot-scope="scope">
+          <el-button
+            v-if="getAuthValueFN('school_class_edit')"
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="showEditDialog(scope.row)"
+          >缂栬緫</el-button>
+          <el-button
+            v-if="getAuthValueFN('school_class_bind_teacher')"
+            size="mini"
+            type="text"
+            icon="el-icon-document"
+            @click="openClassTeacherDialog(scope.row)"
+          >缁戝畾鑰佸笀</el-button>
+          <el-button
+            v-if="getAuthValueFN('school_class_del')"
+            size="mini"
+            type="text warn"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+          >鍒犻櫎</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <!-- 鏂板&缂栬緫 -->
+    <el-dialog v-el-drag-dialog :title="(dialogData.type=='add'?'鏂板':'缂栬緫') + objectName" width="500px" :visible.sync="dialogVisible" append-to-body :before-close="hideDialog" :close-on-click-modal="false">
+      <el-form ref="refDialog" :model="dialogData" label-width="110px" :rules="rules" size="small">
+        <el-form-item label="鍚嶇О" prop="name">
+          <el-input v-model="dialogData.name" placeholder="璇疯緭鍏ュ悕绉�" maxlength="50" />
+        </el-form-item>
+        <el-form-item label="鎺掑簭鍙�" prop="ranking">
+          <el-input v-model="dialogData.ranking" placeholder="璇疯緭鍏ユ帓搴忓彿" maxlength="10" />
+        </el-form-item>
+        <el-form-item label="鏄惁鍚敤" prop="isUp">
+          <el-switch
+            v-model="dialogData.isUp"
+            :active-value="1"
+            :inactive-value="0"
+          />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="hideDialog">鍙栨秷</el-button>
+        <el-button type="primary" @click="submitHandle">纭畾</el-button>
+      </div>
+    </el-dialog>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="pageNum"
+      :limit.sync="pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 缁戝畾鑰佸笀寮圭獥 -->
+    <classTeacherDialog ref="refClassTeacherDialog" />
+
+    <back-to-top :visibility-height="300" :back-position="50" transition-name="fade" />
+  </div>
+</template>
+
+<script>
+import BackToTop from '@/components/BackToTop'
+import classTeacherDialog from './components/classTeacherDialog.vue'
+export default {
+  name: 'ClassList',
+  components: { BackToTop, classTeacherDialog },
+  data() {
+    return {
+      showSearch: true, // 鏄惁鏄剧ず鎼滅储鍖�
+      keyWord: '', // 鎼滅储鍖哄瓧娈碉紝鍙嚜琛屾墿灞曞叾浣欏瓧娈�
+
+      objectName: '鐝骇', // 瀵硅薄鍚嶇О锛岀敤浜庡垹闄ゆ彁绀恒�佸惎鐢ㄦ彁绀恒�佸脊绐楁爣棰樼瓑
+
+      // 鏁版嵁鍒楄〃
+      list: [],
+
+      // 寮圭獥鏁版嵁
+      dialogVisible: false,
+      dialogData: {},
+
+      // 瀵屾枃鏈紪杈戝櫒
+      // rangenum: null,
+
+      // 鍒嗛〉 鈫撯啌鈫撯啌鈫撯啌鈫撯啌鈫撯啌
+      total: 0,
+      pageNum: 1,
+      pageSize: 20,
+      // 鍒嗛〉 鈫戔啈鈫戔啈鈫戔啈鈫戔啈鈫戔啈
+
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+        name: [
+          { required: true, message: '鍚嶇О涓嶈兘涓虹┖', trigger: 'change' }
+        ],
+        ranking: [
+          { required: true, message: '鎺掑簭鍙蜂笉鑳戒负绌�', trigger: 'change' }
+        ],
+        isUp: [
+          { required: true, message: '鏄惁鍚敤涓嶈兘涓虹┖', trigger: 'change' }
+        ]
+      }
+    }
+  },
+  mounted() {
+    this.init()
+  },
+  methods: {
+    // 鍒濆鍖�
+    init() {
+      this.getList()
+    },
+
+    // ========== 瀵屾枃鏈浉鍏�
+    // 瀵屾枃鏈紪杈戝櫒鐨勫唴瀹硅祴鍊�
+    // catchData(content) {
+    //   if (content === '<p><br></p>') content = ''
+    //   try {
+    //     const currentRange = window.getSelection().getRangeAt(0)
+    //     this.rangenum = currentRange
+    //   } catch (e) {
+    //
+    //   }
+    //   this.$set(this.dialogData, 'content', content)
+    //   this.$refs[this.formName].validateField('content')
+    // },
+    // ========== 瀵屾枃鏈浉鍏�
+
+    // 鑾峰彇鍒楄〃
+    getList() {
+      var { pageNum, pageSize, keyWord } = this
+      this.postFN({
+        url: 'admin/schoolClass/list',
+        params: {
+          pageNum: pageNum,
+          pageSize: pageSize,
+          name: keyWord
+        },
+        mockData: {
+          code: 100,
+          msg: '',
+          data: {
+            list: [{
+              id: 'xxx',
+              ranking: 1,
+              isUp: 1,
+              name: '5骞翠竴鐝�',
+              createTime: '2020-08-09 10:10:10'
+            }],
+            total: 100
+          }
+        }
+      }, (inf) => {
+        this.list = inf.list || []
+        this.total = inf.total
+      })
+    },
+    // 閲嶆柊鑾峰彇鍒楄〃
+    reGetList() {
+      this.pageNum = 1
+      this.getList()
+    },
+    // 閲嶇疆
+    resetHandle() {
+      this.keyWord = ''
+      this.reGetList()
+    },
+    // 鍒犻櫎
+    handleDelete(item) {
+      // 鎵撳紑浜屾纭寮圭獥
+      this.$confirm('鏄惁纭鍒犻櫎璇�' + this.objectName + '?', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning'
+      }).then(() => {
+        // 纭畾鍥炶皟
+        this.postFN({
+          url: 'admin/schoolClass/delete/one',
+          params: {
+            id: item.id
+          },
+          mockData: {
+            code: 100,
+            msg: '',
+            data: {}
+          }
+        }, () => {
+          this.getList()
+          this.$messageSuc('鍒犻櫎鎴愬姛')
+        })
+      }).catch(() => {})
+    },
+    // 淇敼鏄惁鍚敤
+    handleUpChange(item) {
+      const text = item.isUp === 1 ? '鍚敤' : '鍐荤粨'
+      this.$confirm('纭瑕�' + text + '璇�' + this.objectName + '鍚�?', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning'
+      }).then(() => {
+        this.postFN({
+          url: 'admin/schoolClass/editIsUp',
+          params: {
+            id: item.id,
+            isUp: item.isUp
+          },
+          mockData: {
+            code: 100,
+            msg: '',
+            data: {}
+          }
+        }, () => {
+          this.$messageSuc(text + '鎴愬姛')
+        }, (res) => {
+          item.isUp = item.isUp === 1 ? 0 : 1
+          this.$messageError(res.msg)
+        })
+      }).catch(() => {
+        item.isUp = item.isUp === 1 ? 0 : 1
+      })
+    },
+
+    // 鎵撳紑棰嗗彇璁板綍寮圭獥
+    openClassTeacherDialog(item) {
+      this.$refs.refClassTeacherDialog.openHandle(item)
+    },
+
+    // 鎵撳紑鏂板寮圭獥
+    showAddDialog() {
+      var dialogData = {
+        type: 'add',
+        isUp: 1,
+        ranking: 1
+        // 閮ㄥ垎缁勪欢闇�瑕侀璁惧瓧娈碉紝鎻愪緵缁檝-model锛屼緥濡� el-select el-timepicker el-datepicker 涓婁紶缁勪欢 瀵屾枃鏈瓑
+      }
+      this.dialogVisible = true
+      this.$nextTick(() => {
+        this.dialogData = dialogData
+        this.$refs['refDialog'].resetFields()
+      })
+    },
+    // 鎵撳紑缂栬緫寮规
+    showEditDialog(item) {
+      var dialogData = {
+        type: 'edit',
+        ...item
+      }
+      console.log('dialogData', dialogData)
+      this.dialogVisible = true
+      this.$nextTick(() => {
+        this.dialogData = dialogData
+        this.$refs['refDialog'].resetFields()
+      })
+    },
+    // 鍏抽棴缂栬緫寮圭獥
+    hideDialog() {
+      this.dialogData = {}
+      this.dialogVisible = false
+      // 娓呯┖瀵屾枃鏈�
+      // this.rangenum = null
+    },
+    // 鎻愪氦鏂板&缂栬緫
+    submitHandle() {
+      this.$refs['refDialog'].validate(valid => {
+        if (valid) {
+          this.submitReq()
+        }
+      })
+    },
+    // 鎻愪氦鎺ュ彛
+    submitReq() {
+      var { dialogData } = this
+      var params = {
+        name: dialogData.name,
+        isUp: dialogData.isUp,
+        ranking: dialogData.ranking
+      }
+
+      var isAdd = dialogData.type === 'add'
+      // TODO url
+      var url = isAdd ? 'admin/schoolClass/add' : 'admin/schoolClass/edit'
+
+      !isAdd && (params.id = dialogData.id)
+
+      this.postFN({
+        url: url,
+        params: params,
+        mockData: {
+          code: 100,
+          msg: '',
+          data: {}
+        }
+      }, () => {
+        this.$messageSuc('淇濆瓨鎴愬姛')
+        this.hideDialog()
+        isAdd ? this.reGetList() : this.getList()
+      })
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>
diff --git a/src/pages/demo/components/classTeacherDialog.vue b/src/pages/demo/components/classTeacherDialog.vue
new file mode 100644
index 0000000..e884ee1
--- /dev/null
+++ b/src/pages/demo/components/classTeacherDialog.vue
@@ -0,0 +1,338 @@
+<template>
+  <el-dialog v-el-drag-dialog :title="'('+name+')'+objectName+'鍒楄〃'" width="60%" :visible.sync="isShow" :before-close="closeHandle" :close-on-click-modal="false">
+    <!-- 鎼滅储鍖� 鈫撯啌鈫撯啌鈫撯啌鈫撯啌鈫撯啌 -->
+    <el-form v-show="showSearch" ref="searchForm" :inline="true">
+      <el-form-item label="鑰佸笀鍚嶇О">
+        <el-input
+          v-model="keyWord"
+          placeholder="璇疯緭鍏ヨ�佸笀鍚嶇О"
+          clearable
+          size="small"
+          style="width: 240px"
+          maxlength="50"
+          @keyup.enter.native="reGetList"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="cyan" icon="el-icon-search" size="mini" @click="reGetList">鎼滅储</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetHandle">閲嶇疆</el-button>
+      </el-form-item>
+    </el-form>
+    <!-- 鎼滅储鍖� 鈫戔啈鈫戔啈鈫戔啈鈫戔啈鈫戔啈 -->
+
+    <!-- 鎿嶄綔鍖� 鈫撯啌鈫撯啌鈫撯啌鈫撯啌鈫撯啌 -->
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          icon="el-icon-plus"
+          size="mini"
+          @click="showAddDialog"
+        >鏂板</el-button>
+      </el-col>
+      <right-toolbar :show-search.sync="showSearch" @queryTable="getList" />
+    </el-row>
+    <!-- 鎿嶄綔鍖� 鈫戔啈鈫戔啈鈫戔啈鈫戔啈鈫戔啈 -->
+
+    <el-table :data="list" max-height="420px">
+      <el-table-column type="index" label="搴忓彿" align="center" width="60" />
+      <el-table-column label="鑰佸笀鍚嶇О" prop="teacherName" align="center" min-width="120" />
+      <el-table-column label="鐝骇鍚嶇О" prop="className" align="center" min-width="120" />
+      <el-table-column label="鍒涘缓鏃堕棿" prop="createTime" align="center" width="160" />
+      <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width" width="120">
+        <template slot-scope="scope">
+          <!-- <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="showEditDialog(scope.row)"
+          >缂栬緫</el-button> -->
+          <el-button
+            size="mini"
+            type="text warn"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+          >鍒犻櫎</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <!-- 鏂板&缂栬緫 -->
+    <el-dialog v-el-drag-dialog :title="(dialogData.type=='add'?'鏂板':'缂栬緫') + objectName" width="500px" :visible.sync="dialogVisible" append-to-body :before-close="hideDialog" :close-on-click-modal="false">
+      <el-form ref="refDialog" :model="dialogData" label-width="110px" :rules="rules" size="small">
+        <el-form-item label="缁戝畾鑰佸笀" prop="teacherIds">
+          <el-select v-model="dialogData.teacherIds" clearable multiple placeholder="閫夋嫨鑰佸笀" style="width: 100%">
+            <el-option
+              v-for="item in teacherOptions"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id"
+            />
+          </el-select>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="hideDialog">鍙栨秷</el-button>
+        <el-button type="primary" @click="submitHandle">纭畾</el-button>
+      </div>
+    </el-dialog>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="pageNum"
+      :limit.sync="pageSize"
+      @pagination="getList"
+    />
+  </el-dialog>
+</template>
+
+<script>
+
+export default {
+  data() {
+    return {
+      isShow: false,
+      showSearch: true, // 鏄惁鏄剧ず鎼滅储鍖�
+      keyWord: '',
+
+      name: '',
+      id: '',
+      list: [],
+
+      objectName: '缁戝畾鑰佸笀', // 瀵硅薄鍚嶇О锛岀敤浜庡垹闄ゆ彁绀恒�佸惎鐢ㄦ彁绀恒�佸脊绐楁爣棰樼瓑
+
+      // 鑰佸笀閰嶇疆涓嬫媺
+      teacherOptions: [],
+
+      // 寮圭獥鏁版嵁
+      dialogVisible: false,
+      dialogData: {},
+
+      // 鍒嗛〉 鈫撯啌鈫撯啌鈫撯啌鈫撯啌鈫撯啌
+      total: 0,
+      pageNum: 1,
+      pageSize: 20,
+      // 鍒嗛〉 鈫戔啈鈫戔啈鈫戔啈鈫戔啈鈫戔啈
+
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+        teacherIds: [
+          { required: true, message: '缁戝畾鑰佸笀涓嶈兘涓虹┖', trigger: 'change' }
+        ]
+      }
+
+    }
+  },
+  methods: {
+    // 鍒濆鍖� this.$refs.xxx.openHandle(id)
+    openHandle(item) {
+      this.id = item.id
+      this.name = item.name
+      this.getList()
+      this.isShow = true
+    },
+
+    // 鍏抽棴鍒楄〃
+    closeHandle() {
+      this.id = ''
+      this.list = []
+      this.isShow = false
+    },
+
+    // 鑾峰彇鍒楄〃
+    getList() {
+      var { pageNum, pageSize, keyWord } = this
+      this.postFN({
+        url: 'admin/schoolClassTeacher/list',
+        params: {
+          pageNum: pageNum,
+          pageSize: pageSize,
+          schoolClassId: this.id,
+          name: keyWord
+        },
+        mockData: {
+          code: 100,
+          msg: '',
+          data: {
+            list: [{
+              createTime: '2021-04-02 10:21:52',
+              teacherName: '宕旀煇',
+              className: '浜斿勾涓�鐝�',
+              id: '1'
+            }],
+            total: 100
+          }
+        }
+      }, (inf) => {
+        this.list = inf.list || []
+        this.total = inf.total
+      })
+    },
+    // 閲嶆柊鑾峰彇鍒楄〃
+    reGetList() {
+      this.pageNum = 1
+      this.getList()
+    },
+    // 閲嶇疆
+    resetHandle() {
+      this.keyWord = ''
+      this.reGetList()
+    },
+    // 鍒犻櫎
+    handleDelete(item) {
+      // 鎵撳紑浜屾纭寮圭獥
+      this.$confirm('鏄惁纭鍒犻櫎璇�' + this.objectName + '?', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning'
+      }).then(() => {
+        // 纭畾鍥炶皟
+        // TODO url
+        this.postFN({
+          url: 'admin/schoolClassTeacher/delete/one',
+          params: {
+            id: item.id
+          },
+          mockData: {
+            code: 100,
+            msg: '',
+            data: {}
+          }
+        }, () => {
+          this.getList()
+          this.$messageSuc('鍒犻櫎鎴愬姛')
+        })
+      }).catch(() => {})
+    },
+    // 淇敼鏄惁涓婃灦
+    handleUpChange(item) {
+      const text = item.isUp === 1 ? '涓婃灦' : '涓嬫灦'
+      this.$confirm('纭瑕�' + text + '璇�' + this.objectName + '鍚�?', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning'
+      }).then(() => {
+        // TODO url
+        this.postFN({
+          url: 'xxx',
+          params: {
+            id: item.id,
+            isUp: item.isUp
+          },
+          mockData: {
+            code: 100,
+            msg: '',
+            data: {}
+          }
+        }, () => {
+          this.$messageSuc(text + '鎴愬姛')
+        }, (res) => {
+          item.isUp = item.isUp === 1 ? 0 : 1
+          this.$messageError(res.msg)
+        })
+      }).catch(() => {
+        item.isUp = item.isUp === 1 ? 0 : 1
+      })
+    },
+
+    // 鑾峰彇鑰佸笀鍒楄〃
+    getTeacherOptions(callback) {
+      this.postFN({
+        url: 'admin/common/select/teacher/list',
+        params: {},
+        mockData: {
+          code: 100,
+          msg: '',
+          data: {
+            list: [{
+              name: '榛勫唸',
+              id: 1
+            }, {
+              name: '琛ㄨ幉鍗�',
+              id: 2
+            }, {
+              name: '鍚磋捣鏄�',
+              id: 3
+            }]
+          }
+        }
+      }, (inf) => {
+        this.teacherOptions = inf.list || []
+        callback && callback()
+      })
+    },
+    // 鎵撳紑鏂板寮圭獥
+    showAddDialog() {
+      this.getTeacherOptions()
+      var dialogData = {
+        type: 'add',
+        teacherIds: ''
+      }
+      this.dialogVisible = true
+      this.$nextTick(() => {
+        this.dialogData = dialogData
+        this.$refs['refDialog'].resetFields()
+      })
+    },
+    // 鎵撳紑缂栬緫寮规
+    showEditDialog(item) {
+      var dialogData = {
+        ...item,
+        type: 'edit'
+      }
+      console.log('dialogData', dialogData)
+      this.dialogVisible = true
+      this.$nextTick(() => {
+        this.dialogData = dialogData
+        this.$refs['refDialog'].resetFields()
+      })
+    },
+    // 鍏抽棴缂栬緫寮圭獥
+    hideDialog() {
+      this.dialogData = {}
+      this.dialogVisible = false
+    },
+    // 鎻愪氦鏂板&缂栬緫
+    submitHandle() {
+      this.$refs['refDialog'].validate(valid => {
+        if (valid) {
+          this.submitReq()
+        }
+      })
+    },
+    // 鎻愪氦鎺ュ彛
+    submitReq() {
+      var { dialogData } = this
+      var params = {
+        teacherIds: dialogData.teacherIds.join(','),
+        schoolClassId: this.id
+      }
+
+      var isAdd = dialogData.type === 'add'
+      var url = isAdd ? 'admin/schoolClassTeacher/add' : 'xxx'
+
+      !isAdd && (params.id = dialogData.id)
+
+      this.postFN({
+        url: url,
+        params: params,
+        mockData: {
+          code: 100,
+          msg: '',
+          data: {}
+        }
+      }, () => {
+        this.$messageSuc('淇濆瓨鎴愬姛')
+        this.hideDialog()
+        isAdd ? this.reGetList() : this.getList()
+      })
+    }
+
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>
diff --git a/src/pages/demo/index.vue b/src/pages/demo/index.vue
index b9e4cae..e8545fe 100644
--- a/src/pages/demo/index.vue
+++ b/src/pages/demo/index.vue
@@ -43,7 +43,7 @@
       <el-table-column label="瑙掕壊鍚嶇О" prop="name" align="center" min-width="120" />
       <el-table-column label="鏄惁涓婃灦" prop="isUp" align="center" min-width="100">
         <template slot-scope="scope">
-          <!-- 鏉冮檺鍒ゆ柇 v-if="getAuthValueFN('xxx_edit')" -->
+          <!-- 鏉冮檺鍒ゆ柇 :disable="!getAuthValueFN('xxx_edit')" -->
           <el-switch
             v-model="scope.row.isUp"
             :active-value="1"
diff --git a/src/router/demo_router.js b/src/router/demo_router.js
index ba31966..a5e1acb 100644
--- a/src/router/demo_router.js
+++ b/src/router/demo_router.js
@@ -34,6 +34,12 @@
       component: () => import('@/pages/demo/detail'), // Parent router-view
       name: 'demoDetail',
       meta: { title: '妯℃澘璇︽儏' }
+    },
+    {
+      path: 'listDialog',
+      component: () => import('@/pages/demo/classList'), // Parent router-view
+      name: 'listDialog',
+      meta: { title: '瀛愬垪琛ㄥ脊妗嗕緥瀛�' }
     }
   ]
 }

--
Gitblit v1.8.0