14 changed files with 3230 additions and 2372 deletions
			
			
		@ -0,0 +1,16 @@ | 
				
			|||
<template> | 
				
			|||
  <div class="m-404">页面未找到或无权访问</div> | 
				
			|||
</template> | 
				
			|||
 | 
				
			|||
<script> | 
				
			|||
export default {}; | 
				
			|||
</script> | 
				
			|||
 | 
				
			|||
<style lang="scss" scoped> | 
				
			|||
.m-404 { | 
				
			|||
  margin-top: 200px; | 
				
			|||
  font-size: 60px; | 
				
			|||
  color: rgba(#000, 0.3); | 
				
			|||
  text-align: center; | 
				
			|||
} | 
				
			|||
</style> | 
				
			|||
								
									
										File diff suppressed because it is too large
									
								
							
						
					@ -0,0 +1,16 @@ | 
				
			|||
<template> | 
				
			|||
  <div class="m-404">页面未找到或无权访问</div> | 
				
			|||
</template> | 
				
			|||
 | 
				
			|||
<script> | 
				
			|||
export default {}; | 
				
			|||
</script> | 
				
			|||
 | 
				
			|||
<style lang="scss" scoped> | 
				
			|||
.m-404 { | 
				
			|||
  margin-top: 200px; | 
				
			|||
  font-size: 60px; | 
				
			|||
  color: rgba(#fff, 0.6); | 
				
			|||
  text-align: center; | 
				
			|||
} | 
				
			|||
</style> | 
				
			|||
@ -0,0 +1,379 @@ | 
				
			|||
<template> | 
				
			|||
  <div class="div_main"> | 
				
			|||
    <div class="div_search"> | 
				
			|||
      <el-form :inline="true" | 
				
			|||
               :model="formData" | 
				
			|||
               ref="ref_searchform" | 
				
			|||
               :label-width="'110px'"> | 
				
			|||
 | 
				
			|||
        <el-form-item label="角色名称" | 
				
			|||
                      prop="name"> | 
				
			|||
          <el-input v-model="formData.name" | 
				
			|||
                    size="small" | 
				
			|||
                    class="list_item_width_1" | 
				
			|||
                    clearable | 
				
			|||
                    placeholder="请输入角色名称"> | 
				
			|||
          </el-input> | 
				
			|||
 | 
				
			|||
        </el-form-item> | 
				
			|||
        <!-- <el-form-item label="创建时间" | 
				
			|||
                      label-width="110px" | 
				
			|||
                      prop="createdTime"> | 
				
			|||
          <el-date-picker v-model="formData.createdTime" | 
				
			|||
                          size="small" | 
				
			|||
                          type="datetime" | 
				
			|||
                          @change="handleTimeChange" | 
				
			|||
                          format="yyyy-MM-dd HH:mm" | 
				
			|||
                          value-format="yyyy-MM-dd HH:mm" | 
				
			|||
                          placeholder="创建时间"> | 
				
			|||
          </el-date-picker> | 
				
			|||
 | 
				
			|||
        </el-form-item> --> | 
				
			|||
 | 
				
			|||
        <el-button style="margin-left:30px" | 
				
			|||
                   size="small" | 
				
			|||
                   class="diy-button--search" | 
				
			|||
                   @click="handleSearch">查询</el-button> | 
				
			|||
        <el-button style="margin-left:10px" | 
				
			|||
                   size="small" | 
				
			|||
                   class="diy-button--reset" | 
				
			|||
                   @click="resetSearch">重置</el-button> | 
				
			|||
 | 
				
			|||
      </el-form> | 
				
			|||
    </div> | 
				
			|||
    <div class="div_table"> | 
				
			|||
      <div class="div_btn"> | 
				
			|||
        <el-button class="diy-button--add" | 
				
			|||
                   size="small" | 
				
			|||
                   @click="handleAdd">新增</el-button> | 
				
			|||
 | 
				
			|||
      </div> | 
				
			|||
 | 
				
			|||
      <el-table class="table" | 
				
			|||
                ref="ref_table" | 
				
			|||
                :data="tableData" | 
				
			|||
                border | 
				
			|||
                :height="tableHeight" | 
				
			|||
                v-loading="tableLoading" | 
				
			|||
                :header-cell-style="{background:'#2195FE',color:'#FFFFFF'}" | 
				
			|||
                style="width: 100%"> | 
				
			|||
        <el-table-column label="序号" | 
				
			|||
                         header-align="center" | 
				
			|||
                         align="center" | 
				
			|||
                         type="index" | 
				
			|||
                         width="50"></el-table-column> | 
				
			|||
 | 
				
			|||
        <el-table-column prop="name" | 
				
			|||
                         header-align="center" | 
				
			|||
                         align="center" | 
				
			|||
                         label="角色名称" | 
				
			|||
                         min-width="100"> | 
				
			|||
        </el-table-column> | 
				
			|||
        <el-table-column prop="remark" | 
				
			|||
                         header-align="center" | 
				
			|||
                         align="center" | 
				
			|||
                         label="备注" | 
				
			|||
                         min-width="110"> | 
				
			|||
        </el-table-column> | 
				
			|||
        <el-table-column prop="createdTime" | 
				
			|||
                         header-align="center" | 
				
			|||
                         align="center" | 
				
			|||
                         label="创建时间" | 
				
			|||
                         min-width="170"> | 
				
			|||
        </el-table-column> | 
				
			|||
 | 
				
			|||
        <el-table-column label="操作" | 
				
			|||
                         fixed="right" | 
				
			|||
                         width="140" | 
				
			|||
                         header-align="center" | 
				
			|||
                         align="center" | 
				
			|||
                         class="operate"> | 
				
			|||
          <template slot-scope="scope"> | 
				
			|||
 | 
				
			|||
            <el-button v-if="true" | 
				
			|||
                       type="text" | 
				
			|||
                       class="div-table-button--detail" | 
				
			|||
                       size="small" | 
				
			|||
                       @click="handleDetail(scope.row)">查看</el-button> | 
				
			|||
            <el-button type="text" | 
				
			|||
                       class="div-table-button--edit" | 
				
			|||
                       size="small" | 
				
			|||
                       @click="handleEdit(scope.row)">修改</el-button> | 
				
			|||
 | 
				
			|||
            <el-button type="text" | 
				
			|||
                       class="div-table-button--delete " | 
				
			|||
                       size="small" | 
				
			|||
                       @click="handleDelete(scope.row)">删除</el-button> | 
				
			|||
 | 
				
			|||
          </template> | 
				
			|||
        </el-table-column> | 
				
			|||
      </el-table> | 
				
			|||
      <div> | 
				
			|||
        <el-pagination @size-change="handleSizeChange" | 
				
			|||
                       @current-change="handleCurrentChange" | 
				
			|||
                       :current-page.sync="pageNo" | 
				
			|||
                       :page-sizes="[20, 50, 100, 200]" | 
				
			|||
                       :page-size="pageSize" | 
				
			|||
                       layout="sizes, prev, pager, next, total" | 
				
			|||
                       :total="total"> | 
				
			|||
        </el-pagination> | 
				
			|||
      </div> | 
				
			|||
    </div> | 
				
			|||
 | 
				
			|||
    <!-- 修改弹出框 --> | 
				
			|||
    <el-dialog :visible.sync="formShow" | 
				
			|||
               :close-on-click-modal="false" | 
				
			|||
               :close-on-press-escape="false" | 
				
			|||
               :title="formTitle" | 
				
			|||
               width="850px" | 
				
			|||
               top="5vh" | 
				
			|||
               class="dialog-h" | 
				
			|||
               @closed="diaClose"> | 
				
			|||
      <role-form ref="ref_form" | 
				
			|||
                 @dialogCancle="diaClose" | 
				
			|||
                 @dialogOk="addFormOk"></role-form> | 
				
			|||
    </el-dialog> | 
				
			|||
 | 
				
			|||
  </div> | 
				
			|||
</template> | 
				
			|||
 | 
				
			|||
<script> | 
				
			|||
 | 
				
			|||
import roleForm from './roleForm' | 
				
			|||
 | 
				
			|||
import { requestPost, requestGet } from '@/js/dai/request' | 
				
			|||
import { mapGetters } from 'vuex' | 
				
			|||
import { Loading } from 'element-ui' // 引入Loading服务 | 
				
			|||
 | 
				
			|||
let loading // 加载动画 | 
				
			|||
export default { | 
				
			|||
  data () { | 
				
			|||
    return { | 
				
			|||
      loading: false, | 
				
			|||
      total: 0, | 
				
			|||
      pageSize: 20, | 
				
			|||
      pageNo: 0, | 
				
			|||
      tableLoading: false, | 
				
			|||
      isResiUser: true, | 
				
			|||
 | 
				
			|||
      agencyId: '', | 
				
			|||
 | 
				
			|||
      timeRange: [], | 
				
			|||
      formData: { | 
				
			|||
        name: '',//名称 | 
				
			|||
        // createdTime: '',//时间 | 
				
			|||
 | 
				
			|||
 | 
				
			|||
      }, | 
				
			|||
 | 
				
			|||
 | 
				
			|||
      tableData: [], | 
				
			|||
 | 
				
			|||
      //form相关 | 
				
			|||
      formShow: false, | 
				
			|||
      formTitle: '新增', | 
				
			|||
 | 
				
			|||
    } | 
				
			|||
  }, | 
				
			|||
  components: { | 
				
			|||
    roleForm | 
				
			|||
  }, | 
				
			|||
  async created () { | 
				
			|||
 | 
				
			|||
  }, | 
				
			|||
  async mounted () { | 
				
			|||
    const { user } = this.$store.state | 
				
			|||
    this.agencyId = user.agencyId | 
				
			|||
 | 
				
			|||
    await this.loadTable() | 
				
			|||
  }, | 
				
			|||
 | 
				
			|||
  activated () { | 
				
			|||
    this.$refs['ref_table'].doLayout() | 
				
			|||
  }, | 
				
			|||
 | 
				
			|||
  methods: { | 
				
			|||
 | 
				
			|||
    async handleSearch () { | 
				
			|||
      this.isResiUser = this.formData.orgType === 'current' | 
				
			|||
 | 
				
			|||
      await this.loadTable() | 
				
			|||
 | 
				
			|||
      this.$nextTick(() => { | 
				
			|||
        this.$refs.ref_table.doLayout() // 解决表格错位 | 
				
			|||
      }) | 
				
			|||
 | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
    async loadTable () { | 
				
			|||
      this.tableLoading = true | 
				
			|||
 | 
				
			|||
      const url = "/gov/access/govrole/page" | 
				
			|||
 | 
				
			|||
      let params = { | 
				
			|||
        pageSize: this.pageSize, | 
				
			|||
        pageNo: this.pageNo, | 
				
			|||
        ...this.formData | 
				
			|||
      } | 
				
			|||
 | 
				
			|||
      const { data, code, msg } = await requestGet(url, params) | 
				
			|||
 | 
				
			|||
      if (code === 0) { | 
				
			|||
        this.total = data.total | 
				
			|||
        this.tableData = data.list | 
				
			|||
 | 
				
			|||
      } else { | 
				
			|||
        this.$message.error(msg) | 
				
			|||
      } | 
				
			|||
      this.tableLoading = false | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
    handleTimeChange (time) { | 
				
			|||
      if (time) { | 
				
			|||
        this.formData.startTime = time[0] | 
				
			|||
        this.formData.endTime = time[1] | 
				
			|||
 | 
				
			|||
      } else { | 
				
			|||
        this.formData.startTime = '' | 
				
			|||
        this.formData.endTime = '' | 
				
			|||
 | 
				
			|||
      } | 
				
			|||
 | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
    diaClose () { | 
				
			|||
      this.$refs.ref_form.resetData() | 
				
			|||
      this.formShow = false | 
				
			|||
 | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
 | 
				
			|||
    handleAdd () { | 
				
			|||
      this.formTitle = '新增' | 
				
			|||
      this.formShow = true | 
				
			|||
      this.$nextTick(() => { | 
				
			|||
        this.$refs.ref_form.initForm('add', null) | 
				
			|||
      }) | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
    handleEdit (row) { | 
				
			|||
      this.formTitle = '修改' | 
				
			|||
      this.formShow = true | 
				
			|||
      this.$nextTick(() => { | 
				
			|||
        this.$refs.ref_form.initForm('edit', row.id) | 
				
			|||
      }) | 
				
			|||
    }, | 
				
			|||
    handleDetail (row) { | 
				
			|||
      this.formTitle = '详情' | 
				
			|||
      this.formShow = true | 
				
			|||
      this.$nextTick(() => { | 
				
			|||
        this.$refs.ref_form.initForm('detail', row.id) | 
				
			|||
      }) | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
    addFormOk () { | 
				
			|||
      this.formShow = false | 
				
			|||
      this.loadTable() | 
				
			|||
 | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
    async handleDelete (row) { | 
				
			|||
      let message = '确认删除?' | 
				
			|||
 | 
				
			|||
      this.$confirm(message, "提示", { | 
				
			|||
        confirmButtonText: "确定", | 
				
			|||
        cancelButtonText: "取消", | 
				
			|||
        type: "warning" | 
				
			|||
      }) | 
				
			|||
        .then(() => { | 
				
			|||
          this.deleteRole(row) | 
				
			|||
        }) | 
				
			|||
        .catch(err => { | 
				
			|||
 | 
				
			|||
        }); | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
    async deleteRole (row) { | 
				
			|||
 | 
				
			|||
      const url = "/gov/access/govrole/del" | 
				
			|||
 | 
				
			|||
 | 
				
			|||
      let params = [row.id] | 
				
			|||
 | 
				
			|||
      const { data, code, msg } = await requestPost(url, params) | 
				
			|||
 | 
				
			|||
      if (code === 0) { | 
				
			|||
        this.$message({ | 
				
			|||
          type: "success", | 
				
			|||
          message: "操作成功" | 
				
			|||
        }); | 
				
			|||
 | 
				
			|||
        this.loadTable() | 
				
			|||
      } else { | 
				
			|||
        this.$message.error(msg) | 
				
			|||
      } | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
    //重置搜索条件 | 
				
			|||
    resetSearch () { | 
				
			|||
      this.formData = { | 
				
			|||
 | 
				
			|||
        name: '',//姓名	 | 
				
			|||
 | 
				
			|||
      } | 
				
			|||
 | 
				
			|||
      this.pageNo = 0 | 
				
			|||
      this.loadTable() | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
    handleSizeChange (val) { | 
				
			|||
      this.pageSize = val | 
				
			|||
      this.pageNo = 1 | 
				
			|||
      this.loadTable() | 
				
			|||
    }, | 
				
			|||
    handleCurrentChange (val) { | 
				
			|||
      this.pageNo = val | 
				
			|||
      this.loadTable() | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
 | 
				
			|||
 | 
				
			|||
    // 开启加载动画 | 
				
			|||
    startLoading () { | 
				
			|||
      loading = Loading.service({ | 
				
			|||
        lock: true, // 是否锁定 | 
				
			|||
        text: '正在加载……', // 加载中需要显示的文字 | 
				
			|||
        background: 'rgba(0,0,0,.7)' // 背景颜色 | 
				
			|||
      }) | 
				
			|||
    }, | 
				
			|||
    // 结束加载动画 | 
				
			|||
    endLoading () { | 
				
			|||
      // clearTimeout(timer); | 
				
			|||
      if (loading) { | 
				
			|||
        loading.close() | 
				
			|||
      } | 
				
			|||
    } | 
				
			|||
  }, | 
				
			|||
  computed: { | 
				
			|||
    tableHeight () { | 
				
			|||
 | 
				
			|||
      return this.$store.state.inIframe ? this.clientHeight - 360 + this.iframeHeight : this.clientHeight - 360 | 
				
			|||
 | 
				
			|||
 | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
    ...mapGetters(['clientHeight', 'iframeHeight']) | 
				
			|||
  }, | 
				
			|||
  watch: { | 
				
			|||
 | 
				
			|||
  }, | 
				
			|||
  props: { | 
				
			|||
 | 
				
			|||
  } | 
				
			|||
} | 
				
			|||
</script> | 
				
			|||
<style lang="scss" scoped > | 
				
			|||
@import "@/assets/scss/modules/management/epidemic.scss"; | 
				
			|||
</style> | 
				
			|||
 | 
				
			|||
 | 
				
			|||
@ -0,0 +1,356 @@ | 
				
			|||
<template> | 
				
			|||
  <div class="epidemic-form"> | 
				
			|||
    <div class="dialog-h-content scroll-h"> | 
				
			|||
 | 
				
			|||
      <el-form ref="ref_form" | 
				
			|||
               :inline="true" | 
				
			|||
               :model="formData" | 
				
			|||
               :rules="dataRule" | 
				
			|||
               :disabled="formType==='detail'" | 
				
			|||
               class="form"> | 
				
			|||
 | 
				
			|||
        <el-form-item label="角色名称" | 
				
			|||
                      prop="name" | 
				
			|||
                      label-width="150px" | 
				
			|||
                      style="display: block"> | 
				
			|||
          <el-input class="item_width_2" | 
				
			|||
                    placeholder="请输入角色名称" | 
				
			|||
                    clearable | 
				
			|||
                    v-model="formData.name"> | 
				
			|||
          </el-input> | 
				
			|||
 | 
				
			|||
        </el-form-item> | 
				
			|||
 | 
				
			|||
        <el-form-item label="备注" | 
				
			|||
                      prop="remark" | 
				
			|||
                      label-width="150px" | 
				
			|||
                      style="display: block"> | 
				
			|||
          <el-input class="item_width_1" | 
				
			|||
                    type="textarea" | 
				
			|||
                    maxlength="500" | 
				
			|||
                    show-word-limit | 
				
			|||
                    :autosize="{ minRows: 5, maxRows: 10 }" | 
				
			|||
                    clearable | 
				
			|||
                    placeholder="请输入备注" | 
				
			|||
                    v-model="formData.remark"></el-input> | 
				
			|||
        </el-form-item> | 
				
			|||
 | 
				
			|||
        <el-form-item label="管理平台菜单" | 
				
			|||
                      prop="content" | 
				
			|||
                      label-width="150px" | 
				
			|||
                      style="display: block"> | 
				
			|||
          <el-tree class="item_width_1" | 
				
			|||
                   :data="menuList" | 
				
			|||
                   :props="{ label: 'name', children: 'children' }" | 
				
			|||
                   node-key="id" | 
				
			|||
                   :default-expanded-keys="['000']" | 
				
			|||
                   ref="menuListTree" | 
				
			|||
                   accordion | 
				
			|||
                   show-checkbox> | 
				
			|||
          </el-tree> | 
				
			|||
        </el-form-item> | 
				
			|||
        <el-form-item label="可视化平台菜单" | 
				
			|||
                      prop="content" | 
				
			|||
                      label-width="150px" | 
				
			|||
                      style="display: block"> | 
				
			|||
          <el-tree class="item_width_1 item_border" | 
				
			|||
                   :data="menuListShuju" | 
				
			|||
                   :props="{ label: 'name', children: 'children' }" | 
				
			|||
                   node-key="id" | 
				
			|||
                   :default-expanded-keys="['000']" | 
				
			|||
                   ref="menuListShujuTree" | 
				
			|||
                   accordion | 
				
			|||
                   show-checkbox> | 
				
			|||
          </el-tree> | 
				
			|||
        </el-form-item> | 
				
			|||
 | 
				
			|||
      </el-form> | 
				
			|||
    </div> | 
				
			|||
 | 
				
			|||
    <div class="form_div_btn"> | 
				
			|||
      <el-button size="small" | 
				
			|||
                 @click="handleCancle">取 消</el-button> | 
				
			|||
      <el-button v-if="formType != 'detail'" | 
				
			|||
                 size="small" | 
				
			|||
                 type="primary" | 
				
			|||
                 :disabled="btnDisable" | 
				
			|||
                 @click="handleComfirm">确 定</el-button> | 
				
			|||
    </div> | 
				
			|||
 | 
				
			|||
  </div> | 
				
			|||
</template> | 
				
			|||
 | 
				
			|||
<script> | 
				
			|||
 | 
				
			|||
import { Loading } from 'element-ui' // 引入Loading服务 | 
				
			|||
import { requestPost, requestGet } from '@/js/dai/request' | 
				
			|||
 | 
				
			|||
let loading // 加载动画 | 
				
			|||
export default { | 
				
			|||
  data () { | 
				
			|||
    return { | 
				
			|||
      formType: 'add', //表单操作类型 add新增,edit编辑,detail详情 | 
				
			|||
 | 
				
			|||
      btnDisable: false, | 
				
			|||
 | 
				
			|||
      roleId: '', | 
				
			|||
      menuList: [], | 
				
			|||
      menuListShuju: [], | 
				
			|||
      formData: { | 
				
			|||
        id: '', | 
				
			|||
        name: '', | 
				
			|||
        remark: '',//备注 | 
				
			|||
        menuIdList: [], | 
				
			|||
        customerId: '' | 
				
			|||
      }, | 
				
			|||
 | 
				
			|||
 | 
				
			|||
 | 
				
			|||
    } | 
				
			|||
  }, | 
				
			|||
  components: {}, | 
				
			|||
  async mounted () { | 
				
			|||
 | 
				
			|||
 | 
				
			|||
  }, | 
				
			|||
 | 
				
			|||
  methods: { | 
				
			|||
 | 
				
			|||
    async initForm (type, roleId) { | 
				
			|||
      this.startLoading() | 
				
			|||
      this.customerId = localStorage.getItem("customerId"); | 
				
			|||
      this.formData.customerId = this.customerId | 
				
			|||
      //获取菜单 | 
				
			|||
      await this.getMenuList() | 
				
			|||
      await this.getMenuShujuList() | 
				
			|||
 | 
				
			|||
      this.$refs.menuListTree.setCheckedKeys([]) | 
				
			|||
      this.$refs.menuListShujuTree.setCheckedKeys([]) | 
				
			|||
 | 
				
			|||
      this.formType = type | 
				
			|||
 | 
				
			|||
      if (roleId) { | 
				
			|||
        this.roleId = roleId | 
				
			|||
        this.formData.id = roleId | 
				
			|||
        this.loadFormData() | 
				
			|||
      } | 
				
			|||
 | 
				
			|||
      this.endLoading() | 
				
			|||
 | 
				
			|||
 | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
 | 
				
			|||
    async getMenuList () { | 
				
			|||
      const url = "/gov/access/menu/nav" | 
				
			|||
 | 
				
			|||
      let params = {} | 
				
			|||
 | 
				
			|||
      const { data, code, msg } = await requestGet(url, params) | 
				
			|||
 | 
				
			|||
      if (code === 0) { | 
				
			|||
        this.menuList = [ | 
				
			|||
          { | 
				
			|||
            id: '000', | 
				
			|||
            name: '全部菜单', | 
				
			|||
            children: [...data] | 
				
			|||
          } | 
				
			|||
        ] | 
				
			|||
        // this.menuList = data | 
				
			|||
 | 
				
			|||
      } else { | 
				
			|||
        this.$message.error(msg) | 
				
			|||
      } | 
				
			|||
 | 
				
			|||
    }, | 
				
			|||
    async getMenuShujuList () { | 
				
			|||
      const url = "/gov/access/menu/nav" | 
				
			|||
 | 
				
			|||
      let params = { | 
				
			|||
        tableName: 'data_menu' | 
				
			|||
      } | 
				
			|||
 | 
				
			|||
 | 
				
			|||
      const { data, code, msg } = await requestGet(url, params) | 
				
			|||
 | 
				
			|||
      if (code === 0) { | 
				
			|||
        this.menuListShuju = [ | 
				
			|||
          { | 
				
			|||
            id: '000', | 
				
			|||
            name: '全部菜单', | 
				
			|||
            children: [...data] | 
				
			|||
          } | 
				
			|||
        ] | 
				
			|||
        // this.menuListShuju = data | 
				
			|||
 | 
				
			|||
      } else { | 
				
			|||
        this.$message.error(msg) | 
				
			|||
      } | 
				
			|||
 | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
    async loadFormData () { | 
				
			|||
 | 
				
			|||
      // const url = 'http://yapi.elinkservice.cn/mock/245/epmetuser/icNat/detail' | 
				
			|||
      const url = '/gov/access/govrole/' + this.roleId | 
				
			|||
      let params = { | 
				
			|||
 | 
				
			|||
      } | 
				
			|||
      const { data, code, msg } = await requestGet(url, params) | 
				
			|||
      if (code === 0) { | 
				
			|||
        this.formData = data | 
				
			|||
 | 
				
			|||
        this.formData.menuIdList.forEach(item => { | 
				
			|||
          this.$refs.menuListTree.setChecked(item, true) | 
				
			|||
 | 
				
			|||
        }) | 
				
			|||
        this.formData.menuIdList.forEach(item => { | 
				
			|||
          this.$refs.menuListShujuTree.setChecked(item, true) | 
				
			|||
        }) | 
				
			|||
        this.formData.customerId = this.customerId | 
				
			|||
 | 
				
			|||
      } else { | 
				
			|||
        this.$message.error(msg) | 
				
			|||
      } | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
    handleComfirm () { | 
				
			|||
      this.$refs['ref_form'].validate((valid, messageObj) => { | 
				
			|||
        if (!valid) { | 
				
			|||
          app.util.validateRule(messageObj) | 
				
			|||
 | 
				
			|||
        } else { | 
				
			|||
          this.addNat() | 
				
			|||
        } | 
				
			|||
 | 
				
			|||
      }) | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
    async addNat () { | 
				
			|||
 | 
				
			|||
 | 
				
			|||
      this.formData.menuIdList = [] | 
				
			|||
      this.formData.menuIdList = [ | 
				
			|||
        ...this.$refs.menuListTree.getCheckedKeys(), | 
				
			|||
        ...this.$refs.menuListTree.getHalfCheckedKeys(), | 
				
			|||
        ...this.$refs.menuListShujuTree.getCheckedKeys(), | 
				
			|||
        ...this.$refs.menuListShujuTree.getHalfCheckedKeys() | 
				
			|||
      ] | 
				
			|||
      this.formData.menuIdList = this.formData.menuIdList.filter(item => item !== '000') | 
				
			|||
 | 
				
			|||
      console.log('menuAll', this.formData) | 
				
			|||
 | 
				
			|||
      // return false | 
				
			|||
      this.btnDisable = true | 
				
			|||
      setTimeout(() => { | 
				
			|||
        this.btnDisable = false | 
				
			|||
      }, 5000) | 
				
			|||
 | 
				
			|||
      let url = '' | 
				
			|||
      if (this.formType === 'add') { | 
				
			|||
        url = '/gov/access/govrole/save' | 
				
			|||
 | 
				
			|||
        this.formData.roleId = '' | 
				
			|||
 | 
				
			|||
      } else { | 
				
			|||
        url = '/gov/access/govrole/edit' | 
				
			|||
 | 
				
			|||
      } | 
				
			|||
 | 
				
			|||
 | 
				
			|||
      const { data, code, msg } = await requestPost(url, this.formData) | 
				
			|||
 | 
				
			|||
      if (code === 0) { | 
				
			|||
        this.$message({ | 
				
			|||
          type: 'success', | 
				
			|||
          message: '操作成功' | 
				
			|||
        }) | 
				
			|||
        this.resetData() | 
				
			|||
        this.$emit('dialogOk') | 
				
			|||
        this.btnDisable = false | 
				
			|||
 | 
				
			|||
      } else { | 
				
			|||
        this.btnDisable = false | 
				
			|||
        this.$message.error(msg) | 
				
			|||
      } | 
				
			|||
 | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
    handleCancle () { | 
				
			|||
      this.resetData() | 
				
			|||
      this.$emit('dialogCancle') | 
				
			|||
 | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
    resetData () { | 
				
			|||
 | 
				
			|||
      this.roleId = '' | 
				
			|||
 | 
				
			|||
      this.formData = { | 
				
			|||
        id: '', | 
				
			|||
        name: '', | 
				
			|||
        remark: '',//备注 | 
				
			|||
        menuIdList: [], | 
				
			|||
        customerId: '' | 
				
			|||
 | 
				
			|||
      } | 
				
			|||
      this.$refs['ref_form'].resetFields() | 
				
			|||
    }, | 
				
			|||
    // 开启加载动画 | 
				
			|||
    startLoading () { | 
				
			|||
      loading = Loading.service({ | 
				
			|||
        lock: true, // 是否锁定 | 
				
			|||
        text: '正在加载……', // 加载中需要显示的文字 | 
				
			|||
        background: 'rgba(0,0,0,.7)' // 背景颜色 | 
				
			|||
      }) | 
				
			|||
    }, | 
				
			|||
    // 结束加载动画 | 
				
			|||
    endLoading () { | 
				
			|||
      // clearTimeout(timer); | 
				
			|||
      if (loading) { | 
				
			|||
        loading.close() | 
				
			|||
      } | 
				
			|||
    } | 
				
			|||
  }, | 
				
			|||
  computed: { | 
				
			|||
    dataRule () { | 
				
			|||
      return { | 
				
			|||
        name: [ | 
				
			|||
          { required: true, message: '角色名称不能为空', trigger: 'change' } | 
				
			|||
        ], | 
				
			|||
 | 
				
			|||
 | 
				
			|||
      } | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
  }, | 
				
			|||
  props: { | 
				
			|||
 | 
				
			|||
 | 
				
			|||
  } | 
				
			|||
} | 
				
			|||
</script> | 
				
			|||
 | 
				
			|||
 | 
				
			|||
<style lang="scss" scoped > | 
				
			|||
@import "@/assets/scss/modules/management/epidemic.scss"; | 
				
			|||
 | 
				
			|||
.item_border { | 
				
			|||
  border: 1px; | 
				
			|||
  border-radius: 50%; | 
				
			|||
} | 
				
			|||
</style> | 
				
			|||
 | 
				
			|||
<style lang='scss'> | 
				
			|||
// 隐藏上传按钮 | 
				
			|||
.hide .el-upload--picture-card { | 
				
			|||
  display: none; | 
				
			|||
} | 
				
			|||
// 添加/删除文件时去掉动画过渡 | 
				
			|||
.el-upload-list__item { | 
				
			|||
  transition: none !important; | 
				
			|||
} | 
				
			|||
</style> | 
				
			|||
 | 
				
			|||
 | 
				
			|||
 | 
				
			|||
					Loading…
					
					
				
		Reference in new issue