|
@@ -1,209 +1,208 @@
|
|
-<#include "/incloud/header.ftl"/>
|
|
|
|
|
|
+<#include "/incloud/header.ftl" />
|
|
<!DOCTYPE html SYSTEM "http://www.thymeleaf.org/dtd/xhtml1-strict-thymeleaf-spring4-4.dtd">
|
|
<!DOCTYPE html SYSTEM "http://www.thymeleaf.org/dtd/xhtml1-strict-thymeleaf-spring4-4.dtd">
|
|
-<html >
|
|
|
|
|
|
+<html>
|
|
<@header></@header>
|
|
<@header></@header>
|
|
|
|
+
|
|
<body class="hold-transition skin-blue sidebar-mini">
|
|
<body class="hold-transition skin-blue sidebar-mini">
|
|
-<div class="wrapper">
|
|
|
|
|
|
+ <div class="wrapper">
|
|
|
|
|
|
- <@top></@top>
|
|
|
|
- <@left></@left>
|
|
|
|
|
|
+ <@top></@top>
|
|
|
|
+ <@left></@left>
|
|
|
|
|
|
- <!-- Content Wrapper. Contains page content -->
|
|
|
|
- <div class="content-wrapper">
|
|
|
|
- <!-- Content Header (Page header) -->
|
|
|
|
- <section class="content-header">
|
|
|
|
- <h1>
|
|
|
|
- 后台管理员维护
|
|
|
|
- <small>Optional description</small>
|
|
|
|
- </h1>
|
|
|
|
- <ol class="breadcrumb">
|
|
|
|
- <li><a href="#"><i class="fa fa-dashboard"></i> Level</a></li>
|
|
|
|
- <li class="active">Here</li>
|
|
|
|
- </ol>
|
|
|
|
- </section>
|
|
|
|
- <!-- Main content -->
|
|
|
|
- <section class="content container-fluid" id="app">
|
|
|
|
- <div class="box-body">
|
|
|
|
- <!--查询区域-->
|
|
|
|
- <div class="query">
|
|
|
|
- <el-form :inline="true" :model="con" class="demo-form-inline">
|
|
|
|
- <el-form-item label="姓名" :label-width="queryLabelWidth">
|
|
|
|
- <el-input v-model="con.name" placeholder="姓名" maxlength="4" minlength="2"></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item>
|
|
|
|
- <el-button type="primary" @click="loadTable1()">查询</el-button>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-form>
|
|
|
|
- </div>
|
|
|
|
- <!--功能按钮区-->
|
|
|
|
- <div class="buttonDiv">
|
|
|
|
- <el-button
|
|
|
|
- size="mini" type="primary" class="pagination-but"
|
|
|
|
- @click="dialog1Visible = true">新增
|
|
|
|
- </el-button>
|
|
|
|
- </div>
|
|
|
|
- <!--表格区-->
|
|
|
|
- <el-table border
|
|
|
|
- :data="tableData"
|
|
|
|
- style="width: 100%">
|
|
|
|
- <el-table-column min-width="150px"
|
|
|
|
- label="姓名"
|
|
|
|
- prop="name">
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column min-width="150px"
|
|
|
|
- label="账号"
|
|
|
|
- prop="account">
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column min-width="150px"
|
|
|
|
- label="电话"
|
|
|
|
- prop="phone">
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column min-width="150px"
|
|
|
|
- label="状态">
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
- {{scope.row.status|getEnumVal(MANAGE_STATUS)}}
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column min-width="150px"
|
|
|
|
- label="创建时间"
|
|
|
|
- prop="createTime">
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column min-width="150px"
|
|
|
|
- label="修改时间"
|
|
|
|
- prop="updateTime">
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column label="操作" min-width="300px">
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
- <el-button
|
|
|
|
- size="mini"
|
|
|
|
- type="primary"
|
|
|
|
- @click="table1Edit(scope.$index, scope.row)">修改
|
|
|
|
- </el-button>
|
|
|
|
- <el-button
|
|
|
|
- size="mini" type="danger"
|
|
|
|
- @click="table1Del(scope.$index, scope.row)">删除
|
|
|
|
- </el-button>
|
|
|
|
- <!--<el-button
|
|
|
|
- size="mini" type="primary"
|
|
|
|
- @click="table1Role(scope.$index, scope.row)">分配角色
|
|
|
|
- </el-button>-->
|
|
|
|
- <el-button v-if="scope.row.status===MANAGE_STATUS.正常" size="mini" type="warning"
|
|
|
|
|
|
+ <!-- Content Wrapper. Contains page content -->
|
|
|
|
+ <div class="content-wrapper">
|
|
|
|
+ <!-- Content Header (Page header) -->
|
|
|
|
+ <section class="content-header">
|
|
|
|
+ <h1>
|
|
|
|
+ 后台管理员维护
|
|
|
|
+ <small>Optional description</small>
|
|
|
|
+ </h1>
|
|
|
|
+ <ol class="breadcrumb">
|
|
|
|
+ <li><a href="#"><i class="fa fa-dashboard"></i> Level</a></li>
|
|
|
|
+ <li class="active">Here</li>
|
|
|
|
+ </ol>
|
|
|
|
+ </section>
|
|
|
|
+ <!-- Main content -->
|
|
|
|
+ <section class="content container-fluid" id="app">
|
|
|
|
+ <div class="box-body">
|
|
|
|
+ <!--查询区域-->
|
|
|
|
+ <div class="query">
|
|
|
|
+ <el-form :inline="true" :model="con" class="demo-form-inline">
|
|
|
|
+ <el-form-item label="姓名" :label-width="queryLabelWidth">
|
|
|
|
+ <el-input v-model="con.name" placeholder="姓名" maxlength="4" minlength="2"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item>
|
|
|
|
+ <el-button type="primary" @click="loadTable1()">查询</el-button>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-form>
|
|
|
|
+ </div>
|
|
|
|
+ <!--功能按钮区-->
|
|
|
|
+ <div class="buttonDiv">
|
|
|
|
+ <el-button size="mini" type="primary" class="pagination-but" @click="dialog1Visible = true">新增
|
|
|
|
+ </el-button>
|
|
|
|
+ </div>
|
|
|
|
+ <!--表格区-->
|
|
|
|
+ <el-table border :data="tableData" style="width: 100%">
|
|
|
|
+ <el-table-column min-width="150px" label="姓名" prop="name">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column min-width="150px" label="账号" prop="account">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column min-width="150px" label="电话" prop="phone">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column min-width="150px" label="状态">
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
+ {{scope.row.status|getEnumVal(MANAGE_STATUS)}}
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column min-width="150px" label="创建时间" prop="createTime">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column min-width="150px" label="修改时间" prop="updateTime">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column label="操作" min-width="300px">
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
+ <el-button size="mini" type="primary" @click="table1Edit(scope.$index, scope.row)">修改
|
|
|
|
+ </el-button>
|
|
|
|
+ <el-button size="mini" type="danger" @click="table1Del(scope.$index, scope.row)">删除
|
|
|
|
+ </el-button>
|
|
|
|
+ <el-button size="mini" type="primary" @click="authorityClick(scope.$index, scope.row)">
|
|
|
|
+ 分配权限
|
|
|
|
+ </el-button>
|
|
|
|
+ <el-button v-if="scope.row.status===MANAGE_STATUS.正常" size="mini" type="warning"
|
|
@click="table1FreezeUnfreeza(scope.row.id,MANAGE_STATUS.无效)">冻结
|
|
@click="table1FreezeUnfreeza(scope.row.id,MANAGE_STATUS.无效)">冻结
|
|
- </el-button>
|
|
|
|
- <el-button v-if="scope.row.status===MANAGE_STATUS.无效" size="mini" type="primary"
|
|
|
|
|
|
+ </el-button>
|
|
|
|
+ <el-button v-if="scope.row.status===MANAGE_STATUS.无效" size="mini" type="primary"
|
|
@click="table1FreezeUnfreeza(scope.row.id,MANAGE_STATUS.正常)">解冻
|
|
@click="table1FreezeUnfreeza(scope.row.id,MANAGE_STATUS.正常)">解冻
|
|
- </el-button>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
- </el-table>
|
|
|
|
- <!--分页-->
|
|
|
|
- <div class="block">
|
|
|
|
- <el-pagination
|
|
|
|
- @size-change="handleSizeChange"
|
|
|
|
- @current-change="handleCurrentChange"
|
|
|
|
- :current-page="con.currentPage"
|
|
|
|
- :page-sizes="[1,10, 50, 200, 500]"
|
|
|
|
- :page-size="con.pageSize"
|
|
|
|
- layout="total, sizes, prev, pager, next, jumper, slot"
|
|
|
|
- :total="con.total">
|
|
|
|
- </el-pagination>
|
|
|
|
- </div>
|
|
|
|
- <!--对话框1 新增-->
|
|
|
|
- <el-dialog title="新增"
|
|
|
|
- :visible.sync="dialog1Visible"
|
|
|
|
- :custom-class="'ele-dialog'"
|
|
|
|
- :center="true"
|
|
|
|
- @close="closeAddDialog1">
|
|
|
|
- <el-form :model="addData" status-icon :rules="rules" ref="dialog1">
|
|
|
|
- <el-form-item label="姓名" :label-width="formLabelWidth" prop="name">
|
|
|
|
- <el-input v-model="addData.name" placeholder="请输入姓名"></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="电话" :label-width="formLabelWidth" prop="phone">
|
|
|
|
- <el-input v-model="addData.phone" placeholder="请输入电话"></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="账号" :label-width="formLabelWidth" prop="account">
|
|
|
|
- <el-input v-model="addData.account" placeholder="请输入账号"></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="密码" :label-width="formLabelWidth" prop="password">
|
|
|
|
- <el-input type="password" v-model="addData.password" placeholder="请输入密码"></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="确认密码" :label-width="formLabelWidth" prop="password2">
|
|
|
|
- <el-input type="password" v-model="addData.password2" placeholder="请再次输入密码"></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-form>
|
|
|
|
- <div slot="footer" class="dialog-footer">
|
|
|
|
- <el-button type="primary" @click="dialog1Sub('dialog1')">提 交</el-button>
|
|
|
|
- <el-button @click="dialog1Visible = false">取 消</el-button>
|
|
|
|
|
|
+ </el-button>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ </el-table>
|
|
|
|
+ <!--分页-->
|
|
|
|
+ <div class="block">
|
|
|
|
+ <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
|
|
|
|
+ :current-page="con.currentPage" :page-sizes="[1,10, 50, 200, 500]" :page-size="con.pageSize"
|
|
|
|
+ layout="total, sizes, prev, pager, next, jumper, slot" :total="con.total">
|
|
|
|
+ </el-pagination>
|
|
</div>
|
|
</div>
|
|
- </el-dialog>
|
|
|
|
|
|
+ <!--对话框1 新增-->
|
|
|
|
+ <el-dialog title="新增" :visible.sync="dialog1Visible" :custom-class="'ele-dialog'" :center="true"
|
|
|
|
+ @close="closeAddDialog1">
|
|
|
|
+ <el-form :model="addData" status-icon :rules="rules" ref="dialog1">
|
|
|
|
+ <el-form-item label="姓名" :label-width="formLabelWidth" prop="name">
|
|
|
|
+ <el-input v-model="addData.name" placeholder="请输入姓名"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="电话" :label-width="formLabelWidth" prop="phone">
|
|
|
|
+ <el-input v-model="addData.phone" placeholder="请输入电话"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="账号" :label-width="formLabelWidth" prop="account">
|
|
|
|
+ <el-input v-model="addData.account" placeholder="请输入账号"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="密码" :label-width="formLabelWidth" prop="password">
|
|
|
|
+ <el-input type="password" v-model="addData.password" placeholder="请输入密码"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="确认密码" :label-width="formLabelWidth" prop="password2">
|
|
|
|
+ <el-input type="password" v-model="addData.password2" placeholder="请再次输入密码"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-form>
|
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
|
+ <el-button type="primary" @click="dialog1Sub('dialog1')">提 交</el-button>
|
|
|
|
+ <el-button @click="dialog1Visible = false">取 消</el-button>
|
|
|
|
+ </div>
|
|
|
|
+ </el-dialog>
|
|
|
|
|
|
- <!--对话框2 编辑-->
|
|
|
|
- <el-dialog title="编辑"
|
|
|
|
- :visible.sync="dialog2Visible"
|
|
|
|
- :custom-class="'ele-dialog'"
|
|
|
|
- :center="true"
|
|
|
|
- @close="closeEditDialog2">
|
|
|
|
- <el-form :model="editData" status-icon :rules="rules2" ref="dialog2">
|
|
|
|
- <el-form-item label="姓名" :label-width="formLabelWidth" prop="name">
|
|
|
|
- <el-input v-model="editData.name" placeholder="请输入姓名"></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="电话" :label-width="formLabelWidth" prop="phone">
|
|
|
|
- <el-input v-model="editData.phone" placeholder="请输入电话"></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="账号" :label-width="formLabelWidth" prop="account">
|
|
|
|
- <el-input v-model="editData.account" placeholder="请输入账号"></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="密码" :label-width="formLabelWidth" prop="password">
|
|
|
|
- <el-input type="password" v-model="editData.password" placeholder="请输入密码,留空不作修改"></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="确认密码" :label-width="formLabelWidth" prop="password2">
|
|
|
|
- <el-input type="password" v-model="editData.password2" placeholder="请再次输入密码,留空不作修改"></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-form>
|
|
|
|
- <div slot="footer" class="dialog-footer">
|
|
|
|
- <el-button type="primary" @click="dialog2Sub('dialog2')">提 交</el-button>
|
|
|
|
- <el-button @click="dialog2Visible = false">取 消</el-button>
|
|
|
|
- </div>
|
|
|
|
- </el-dialog>
|
|
|
|
- <!--对话框3 角色-->
|
|
|
|
- <el-dialog title="角色" :visible.sync="dialog3Visible" :custom-class="'ele-dialog'" :center="true">
|
|
|
|
- <el-form :model="roleData" status-icon :rules="rules3" ref="dialog3">
|
|
|
|
- <el-form-item :label-width="formLabelWidth" prop="id">
|
|
|
|
- <el-input type="hidden" v-model="roleData.id"></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="角色" :label-width="formLabelWidth" prop="roles">
|
|
|
|
- <el-select v-model="roleData.roles" placeholder="请选择角色" multiple>
|
|
|
|
- <el-option
|
|
|
|
- v-for="item in roleIds"
|
|
|
|
- :key="item.id"
|
|
|
|
- :label="item.name"
|
|
|
|
- :value="item.id">
|
|
|
|
- </el-option>
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-form>
|
|
|
|
- <div slot="footer" class="dialog-footer">
|
|
|
|
- <el-button type="primary" @click="dialog3Sub('dialog3')">提 交</el-button>
|
|
|
|
- <el-button @click="dialog3Visible = false">取 消</el-button>
|
|
|
|
- </div>
|
|
|
|
- </el-dialog>
|
|
|
|
- </div>
|
|
|
|
- </section>
|
|
|
|
- <!-- /.content -->
|
|
|
|
|
|
+ <!--对话框2 编辑-->
|
|
|
|
+ <el-dialog title="编辑" :visible.sync="dialog2Visible" :custom-class="'ele-dialog'" :center="true"
|
|
|
|
+ @close="closeEditDialog2">
|
|
|
|
+ <el-form :model="editData" status-icon :rules="rules2" ref="dialog2">
|
|
|
|
+ <el-form-item label="姓名" :label-width="formLabelWidth" prop="name">
|
|
|
|
+ <el-input v-model="editData.name" placeholder="请输入姓名"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="电话" :label-width="formLabelWidth" prop="phone">
|
|
|
|
+ <el-input v-model="editData.phone" placeholder="请输入电话"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="账号" :label-width="formLabelWidth" prop="account">
|
|
|
|
+ <el-input v-model="editData.account" placeholder="请输入账号"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="密码" :label-width="formLabelWidth" prop="password">
|
|
|
|
+ <el-input type="password" v-model="editData.password" placeholder="请输入密码,留空不作修改">
|
|
|
|
+ </el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="确认密码" :label-width="formLabelWidth" prop="password2">
|
|
|
|
+ <el-input type="password" v-model="editData.password2" placeholder="请再次输入密码,留空不作修改">
|
|
|
|
+ </el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-form>
|
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
|
+ <el-button type="primary" @click="dialog2Sub('dialog2')">提 交</el-button>
|
|
|
|
+ <el-button @click="dialog2Visible = false">取 消</el-button>
|
|
|
|
+ </div>
|
|
|
|
+ </el-dialog>
|
|
|
|
+ <!--对话框3 权限-->
|
|
|
|
+ <el-dialog title="权限" :visible.sync="dialog3Visible" :custom-class="'ele-dialog'" :center="true">
|
|
|
|
+ <el-form :model="typeAuthority" status-icon ref="dialog3">
|
|
|
|
+ <el-form-item label="景区" :label-width="formLabelWidth" prop="companyScenic"
|
|
|
|
+ :rules="{ required: true, message: '请选择', trigger: 'change' }">
|
|
|
|
+ <el-cascader v-model="typeAuthority.companyScenic" :options="companyScenicOptions"
|
|
|
|
+ :props="{ multiple: true }" @change="companyScenicChange"></el-cascader>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="权限" :label-width="formLabelWidth" prop="authority"
|
|
|
|
+ :rules="{ required: true, message: '请选择', trigger: 'change' }">
|
|
|
|
+ <el-select v-model="typeAuthority.authority" placeholder="请选择">
|
|
|
|
+ <el-option label="录入" :value="0"></el-option>
|
|
|
|
+ <el-option label="查看" :value="1"></el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-form>
|
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
|
+ <el-button type="primary" @click="dialog3Sub('dialog3')">提 交</el-button>
|
|
|
|
+ <el-button @click="dialog3Visible = false">取 消</el-button>
|
|
|
|
+ </div>
|
|
|
|
+ </el-dialog>
|
|
|
|
+ </div>
|
|
|
|
+ </section>
|
|
|
|
+ <!-- /.content -->
|
|
|
|
+ </div>
|
|
|
|
+ <!-- Main Footer -->
|
|
|
|
+ <!--<@footer></@footer>-->
|
|
|
|
+ <@footer></@footer>
|
|
</div>
|
|
</div>
|
|
- <!-- Main Footer -->
|
|
|
|
- <!--<@footer></@footer>-->
|
|
|
|
- <@footer></@footer>
|
|
|
|
-</div>
|
|
|
|
</body>
|
|
</body>
|
|
<script src="/js/util/dyAjax.js"></script>
|
|
<script src="/js/util/dyAjax.js"></script>
|
|
<script>
|
|
<script>
|
|
$(function () {
|
|
$(function () {
|
|
|
|
+ const TYPE_AUTHORITY = { authority: 0, companyScenic: [[0, 0]] }
|
|
var option = {
|
|
var option = {
|
|
mixins: [dyMixin],
|
|
mixins: [dyMixin],
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
- con: {currentPage: 1, pageSize: 10, total: 0},//查询条件
|
|
|
|
|
|
+ companyScenic: undefined,
|
|
|
|
+ companyScenicOptions: [
|
|
|
|
+ {
|
|
|
|
+ value: 0,
|
|
|
|
+ label: '巴拉胡景区管理公司',
|
|
|
|
+ children: [
|
|
|
|
+ { value: 0, label: '大峡谷景区' },
|
|
|
|
+ { value: 1, label: '水车坪景区' },
|
|
|
|
+ { value: 2, label: '濯水景区' },
|
|
|
|
+ { value: 3, label: '小南海' },
|
|
|
|
+ { value: 4, label: '十三寨' }]
|
|
|
|
+ }, {
|
|
|
|
+ value: 1,
|
|
|
|
+ label: '芭拉胡公司',
|
|
|
|
+ children: [
|
|
|
|
+ { value: 0, label: '水师码头' },
|
|
|
|
+ { value: 1, label: '神龟峡景区' }]
|
|
|
|
+ }, {
|
|
|
|
+ value: 2,
|
|
|
|
+ label: '爱莉丝公司',
|
|
|
|
+ children: [
|
|
|
|
+ { value: 0, label: '官村' },
|
|
|
|
+ { value: 1, label: '爱莉丝' }]
|
|
|
|
+ }, {
|
|
|
|
+ value: 3,
|
|
|
|
+ label: '阿蓬江旅行社公司',
|
|
|
|
+ children: [{ value: 0, label: '阿蓬江旅行社公司' }]
|
|
|
|
+ }],
|
|
|
|
+ con: { currentPage: 1, pageSize: 10, total: 0 },//查询条件
|
|
tableData: [],
|
|
tableData: [],
|
|
dialog1Visible: false,//对话框隐藏
|
|
dialog1Visible: false,//对话框隐藏
|
|
addData: {
|
|
addData: {
|
|
@@ -214,38 +213,44 @@
|
|
password2: ''
|
|
password2: ''
|
|
},//新增数据模板
|
|
},//新增数据模板
|
|
editData: {},//编辑数据
|
|
editData: {},//编辑数据
|
|
- roleData: {roles:[]},//角色数据
|
|
|
|
- roleIds:[],
|
|
|
|
|
|
+ typeAuthority: Object.assign(TYPE_AUTHORITY),//角色数据
|
|
|
|
+ roleIds: [],
|
|
dialog2Visible: false,//编辑弹框隐藏
|
|
dialog2Visible: false,//编辑弹框隐藏
|
|
dialog3Visible: false,//角色弹框隐藏
|
|
dialog3Visible: false,//角色弹框隐藏
|
|
rules: {
|
|
rules: {
|
|
name: [
|
|
name: [
|
|
- {required: true,validator: (rule, value, callback) => {
|
|
|
|
- if (!(/^[\u4E00-\u9FA5\uf900-\ufa2d]{2,4}$/.test(value))) {
|
|
|
|
- callback(new Error('请输入正确的姓名,只能输入汉字,长度在2-4个字符之间'));
|
|
|
|
- } else {
|
|
|
|
- callback();
|
|
|
|
- }
|
|
|
|
- }, trigger: 'blur'}
|
|
|
|
|
|
+ {
|
|
|
|
+ required: true, validator: (rule, value, callback) => {
|
|
|
|
+ if (!(/^[\u4E00-\u9FA5\uf900-\ufa2d]{2,4}$/.test(value))) {
|
|
|
|
+ callback(new Error('请输入正确的姓名,只能输入汉字,长度在2-4个字符之间'));
|
|
|
|
+ } else {
|
|
|
|
+ callback();
|
|
|
|
+ }
|
|
|
|
+ }, trigger: 'blur'
|
|
|
|
+ }
|
|
],
|
|
],
|
|
phone: [
|
|
phone: [
|
|
- {required: true,validator: (rule, value, callback) => {
|
|
|
|
- if (!(/^1[34578]\d{9}$/.test(value))) {
|
|
|
|
- callback(new Error('请输入正确的联系方式'));
|
|
|
|
- } else {
|
|
|
|
- callback();
|
|
|
|
- }
|
|
|
|
- }, trigger: 'blur'}
|
|
|
|
|
|
+ {
|
|
|
|
+ required: true, validator: (rule, value, callback) => {
|
|
|
|
+ if (!(/^1[34578]\d{9}$/.test(value))) {
|
|
|
|
+ callback(new Error('请输入正确的联系方式'));
|
|
|
|
+ } else {
|
|
|
|
+ callback();
|
|
|
|
+ }
|
|
|
|
+ }, trigger: 'blur'
|
|
|
|
+ }
|
|
],
|
|
],
|
|
account: [
|
|
account: [
|
|
- {required: true,
|
|
|
|
|
|
+ {
|
|
|
|
+ required: true,
|
|
validator: (rule, value, callback) => {
|
|
validator: (rule, value, callback) => {
|
|
if (!(/^[a-zA-Z0-9]+$/.test(value))) {
|
|
if (!(/^[a-zA-Z0-9]+$/.test(value))) {
|
|
callback(new Error('请输入字母或数字'));
|
|
callback(new Error('请输入字母或数字'));
|
|
} else {
|
|
} else {
|
|
callback();
|
|
callback();
|
|
}
|
|
}
|
|
- }, trigger: 'blur'},
|
|
|
|
|
|
+ }, trigger: 'blur'
|
|
|
|
+ },
|
|
{ min: 6, max: 12, message: '长度在6-12个字符', trigger: 'blur' }
|
|
{ min: 6, max: 12, message: '长度在6-12个字符', trigger: 'blur' }
|
|
],
|
|
],
|
|
password: [
|
|
password: [
|
|
@@ -266,53 +271,59 @@
|
|
password2: [
|
|
password2: [
|
|
{
|
|
{
|
|
required: true, validator: (rule, value, callback) => {
|
|
required: true, validator: (rule, value, callback) => {
|
|
- if (value === '') {
|
|
|
|
- callback(new Error('请再次输入密码'));
|
|
|
|
- } else if (value !== this.addData.password) {
|
|
|
|
- callback(new Error('两次输入密码不一致!'));
|
|
|
|
- } else {
|
|
|
|
- callback();
|
|
|
|
- }
|
|
|
|
- }, trigger: 'blur'
|
|
|
|
|
|
+ if (value === '') {
|
|
|
|
+ callback(new Error('请再次输入密码'));
|
|
|
|
+ } else if (value !== this.addData.password) {
|
|
|
|
+ callback(new Error('两次输入密码不一致!'));
|
|
|
|
+ } else {
|
|
|
|
+ callback();
|
|
|
|
+ }
|
|
|
|
+ }, trigger: 'blur'
|
|
}
|
|
}
|
|
]
|
|
]
|
|
},//对话框1验证规则
|
|
},//对话框1验证规则
|
|
rules2: {
|
|
rules2: {
|
|
name: [
|
|
name: [
|
|
- {required: true,validator: (rule, value, callback) => {
|
|
|
|
- if (!(/^[\u4E00-\u9FA5\uf900-\ufa2d]{2,4}$/.test(value))) {
|
|
|
|
- callback(new Error('请输入正确的姓名'));
|
|
|
|
- } else {
|
|
|
|
- callback();
|
|
|
|
- }
|
|
|
|
- }, trigger: 'blur'}
|
|
|
|
|
|
+ {
|
|
|
|
+ required: true, validator: (rule, value, callback) => {
|
|
|
|
+ if (!(/^[\u4E00-\u9FA5\uf900-\ufa2d]{2,4}$/.test(value))) {
|
|
|
|
+ callback(new Error('请输入正确的姓名'));
|
|
|
|
+ } else {
|
|
|
|
+ callback();
|
|
|
|
+ }
|
|
|
|
+ }, trigger: 'blur'
|
|
|
|
+ }
|
|
],
|
|
],
|
|
phone: [
|
|
phone: [
|
|
- {required: true,validator: (rule, value, callback) => {
|
|
|
|
- if (!(/^1[34578]\d{9}$/.test(value))) {
|
|
|
|
- callback(new Error('请输入正确的联系方式'));
|
|
|
|
- } else {
|
|
|
|
- callback();
|
|
|
|
- }
|
|
|
|
- }, trigger: 'blur'}
|
|
|
|
|
|
+ {
|
|
|
|
+ required: true, validator: (rule, value, callback) => {
|
|
|
|
+ if (!(/^1[34578]\d{9}$/.test(value))) {
|
|
|
|
+ callback(new Error('请输入正确的联系方式'));
|
|
|
|
+ } else {
|
|
|
|
+ callback();
|
|
|
|
+ }
|
|
|
|
+ }, trigger: 'blur'
|
|
|
|
+ }
|
|
],
|
|
],
|
|
account: [
|
|
account: [
|
|
- {required: true,
|
|
|
|
|
|
+ {
|
|
|
|
+ required: true,
|
|
validator: (rule, value, callback) => {
|
|
validator: (rule, value, callback) => {
|
|
if (!(/^[a-zA-Z0-9]+$/.test(value))) {
|
|
if (!(/^[a-zA-Z0-9]+$/.test(value))) {
|
|
callback(new Error('请输入字母或数字'));
|
|
callback(new Error('请输入字母或数字'));
|
|
} else {
|
|
} else {
|
|
callback();
|
|
callback();
|
|
}
|
|
}
|
|
- }, trigger: 'blur'},
|
|
|
|
|
|
+ }, trigger: 'blur'
|
|
|
|
+ },
|
|
{ min: 6, max: 12, message: '长度在6-12个字符', trigger: 'blur' }
|
|
{ min: 6, max: 12, message: '长度在6-12个字符', trigger: 'blur' }
|
|
],
|
|
],
|
|
password: [
|
|
password: [
|
|
{
|
|
{
|
|
required: false,
|
|
required: false,
|
|
validator: (rule, value, callback) => {
|
|
validator: (rule, value, callback) => {
|
|
- // console.log(value===null)
|
|
|
|
- if(value !== null && value !==''){
|
|
|
|
|
|
+ // console.log(value===null)
|
|
|
|
+ if (value !== null && value !== '') {
|
|
if (!(/^.{6,12}$/.test(value))) {
|
|
if (!(/^.{6,12}$/.test(value))) {
|
|
callback(new Error('请输入6-12位密码'));
|
|
callback(new Error('请输入6-12位密码'));
|
|
} else {
|
|
} else {
|
|
@@ -321,7 +332,7 @@
|
|
}
|
|
}
|
|
callback();
|
|
callback();
|
|
}
|
|
}
|
|
- }else{
|
|
|
|
|
|
+ } else {
|
|
callback();
|
|
callback();
|
|
}
|
|
}
|
|
|
|
|
|
@@ -331,39 +342,37 @@
|
|
password2: [
|
|
password2: [
|
|
{
|
|
{
|
|
required: false, validator: (rule, value, callback) => {
|
|
required: false, validator: (rule, value, callback) => {
|
|
- // if (value === '') {
|
|
|
|
- // callback(new Error('请再次输入密码'));
|
|
|
|
- // } else
|
|
|
|
- console.log(value,typeof(value),typeof(value) !== 'undefined',"b:"+this.editData.password)
|
|
|
|
- console.log(this.editData.password)
|
|
|
|
- if((this.editData.password !== null && this.editData.password !== '') || typeof(value) !== 'undefined' && value !== null){
|
|
|
|
- if ( value !== this.editData.password) {
|
|
|
|
- callback(new Error('两次输入密码不一致!'));
|
|
|
|
|
|
+ // if (value === '') {
|
|
|
|
+ // callback(new Error('请再次输入密码'));
|
|
|
|
+ // } else
|
|
|
|
+ console.log(value, typeof (value), typeof (value) !== 'undefined', "b:" + this.editData.password)
|
|
|
|
+ console.log(this.editData.password)
|
|
|
|
+ if ((this.editData.password !== null && this.editData.password !== '') || typeof (value) !== 'undefined' && value !== null) {
|
|
|
|
+ if (value !== this.editData.password) {
|
|
|
|
+ callback(new Error('两次输入密码不一致!'));
|
|
|
|
+ } else {
|
|
|
|
+ callback();
|
|
|
|
+ }
|
|
} else {
|
|
} else {
|
|
callback();
|
|
callback();
|
|
}
|
|
}
|
|
- }else{
|
|
|
|
- callback();
|
|
|
|
- }
|
|
|
|
|
|
|
|
- }, trigger: 'blur'
|
|
|
|
|
|
+ }, trigger: 'blur'
|
|
}
|
|
}
|
|
]
|
|
]
|
|
},//对话框2验证规则
|
|
},//对话框2验证规则
|
|
- rules3: {
|
|
|
|
- roles: [
|
|
|
|
- {required: true, message: '请选择角色', trigger: 'change'}
|
|
|
|
- ]
|
|
|
|
- },//对话框3验证规则
|
|
|
|
- MANAGE_STATUS:{'正常':"1",'无效':"0"},//账户状态
|
|
|
|
|
|
+ MANAGE_STATUS: { '正常': "1", '无效': "0" },//账户状态
|
|
}
|
|
}
|
|
},
|
|
},
|
|
mounted: function () {
|
|
mounted: function () {
|
|
this.loadTable1();
|
|
this.loadTable1();
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
-// 表1 冻结 解结
|
|
|
|
- table1FreezeUnfreeza(id,stutes){
|
|
|
|
|
|
+ companyScenicChange(value) {
|
|
|
|
+ console.log(value);
|
|
|
|
+ },
|
|
|
|
+ // 表1 冻结 解结
|
|
|
|
+ table1FreezeUnfreeza(id, stutes) {
|
|
let _this = this;
|
|
let _this = this;
|
|
let isFreeze = stutes === _this.MANAGE_STATUS.无效;
|
|
let isFreeze = stutes === _this.MANAGE_STATUS.无效;
|
|
this.$confirm(isFreeze ? '确定冻结' : '确定解冻?', '提示', {
|
|
this.$confirm(isFreeze ? '确定冻结' : '确定解冻?', '提示', {
|
|
@@ -371,8 +380,8 @@
|
|
cancelButtonText: '取消',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
type: 'warning'
|
|
}).then(() => {
|
|
}).then(() => {
|
|
- $.dyAjax('/manage/freezeUnfreeza', {id: id, status: stutes}, function (data) {
|
|
|
|
- _this.$message({message: '操作成功', type: 'success'});
|
|
|
|
|
|
+ $.dyAjax('/manage/freezeUnfreeza', { id: id, status: stutes }, function (data) {
|
|
|
|
+ _this.$message({ message: '操作成功', type: 'success' });
|
|
_this.loadTable1();
|
|
_this.loadTable1();
|
|
});
|
|
});
|
|
}).catch(() => {
|
|
}).catch(() => {
|
|
@@ -383,7 +392,7 @@
|
|
let _this = this;
|
|
let _this = this;
|
|
$.dyAjax('/manage/get/' + row.id, {}, function (data) {
|
|
$.dyAjax('/manage/get/' + row.id, {}, function (data) {
|
|
_this.editData = data;
|
|
_this.editData = data;
|
|
-// _this.editData.password2 = '';
|
|
|
|
|
|
+ // _this.editData.password2 = '';
|
|
_this.dialog2Visible = true;
|
|
_this.dialog2Visible = true;
|
|
console.log(data);
|
|
console.log(data);
|
|
}, 'get');
|
|
}, 'get');
|
|
@@ -407,7 +416,7 @@
|
|
this.$refs[formName].validate((valid) => {
|
|
this.$refs[formName].validate((valid) => {
|
|
if (valid) {
|
|
if (valid) {
|
|
$.dyAjax('/manage/addManage', _this.addData, function (data) {
|
|
$.dyAjax('/manage/addManage', _this.addData, function (data) {
|
|
- if(data.status===200){
|
|
|
|
|
|
+ if (data.status === 200) {
|
|
_this.loadTable1(function () {
|
|
_this.loadTable1(function () {
|
|
_this.$message({
|
|
_this.$message({
|
|
message: '成功',
|
|
message: '成功',
|
|
@@ -416,7 +425,7 @@
|
|
_this.dialog1Visible = false;
|
|
_this.dialog1Visible = false;
|
|
_this.jsonClear(_this.addData);
|
|
_this.jsonClear(_this.addData);
|
|
});
|
|
});
|
|
- }else {
|
|
|
|
|
|
+ } else {
|
|
_this.loadTable1(function () {
|
|
_this.loadTable1(function () {
|
|
_this.$message({
|
|
_this.$message({
|
|
message: data.msg,
|
|
message: data.msg,
|
|
@@ -454,7 +463,7 @@
|
|
cancelButtonText: '取消',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
type: 'warning'
|
|
}).then(() => {
|
|
}).then(() => {
|
|
- $.dyAjax('/manage/del', {id: row.id}, function (data) {
|
|
|
|
|
|
+ $.dyAjax('/manage/del', { id: row.id }, function (data) {
|
|
_this.loadTable1(function () {
|
|
_this.loadTable1(function () {
|
|
_this.$message({
|
|
_this.$message({
|
|
type: 'success',
|
|
type: 'success',
|
|
@@ -465,22 +474,21 @@
|
|
}).catch(() => {
|
|
}).catch(() => {
|
|
});
|
|
});
|
|
},
|
|
},
|
|
- //分配角色
|
|
|
|
- table1Role: function (index, row) {
|
|
|
|
- let _this = this;
|
|
|
|
- $.dyAjax('/role/getAll', {}, function (data) {
|
|
|
|
- var list=row.roleList;
|
|
|
|
- ids=[];
|
|
|
|
- for(var i=0;i<list.length;i++){
|
|
|
|
- ids.push(list[i].id);
|
|
|
|
|
|
+ //分配权限
|
|
|
|
+ authorityClick: function (index, row) {
|
|
|
|
+ var _this = this;
|
|
|
|
+ $.dyAjax('/manage/getTypeAuthority/' + row.id, undefined, function (data) {
|
|
|
|
+ if (data.length > 0) {
|
|
|
|
+ let companyScenic = data.reduce((acc, cur) => {
|
|
|
|
+ acc.push([cur.company, cur.scenic])
|
|
|
|
+ return acc
|
|
|
|
+ }, [])
|
|
|
|
+ _this.typeAuthority = { authority: data[0].authority?1:0, companyScenic, manager: row.id }
|
|
|
|
+ } else {
|
|
|
|
+ _this.typeAuthority = Object.assign(TYPE_AUTHORITY, {manager: row.id})
|
|
}
|
|
}
|
|
- console.log(ids);
|
|
|
|
- _this.roleIds=data;
|
|
|
|
- _this.roleData.roles=ids;
|
|
|
|
- _this.roleData.id=row.id;
|
|
|
|
- console.log(_this.roleData.id);
|
|
|
|
_this.dialog3Visible = true;
|
|
_this.dialog3Visible = true;
|
|
- }, 'get');
|
|
|
|
|
|
+ });
|
|
},
|
|
},
|
|
//对话框2 编辑提交事件
|
|
//对话框2 编辑提交事件
|
|
dialog2Sub: function (formName) {
|
|
dialog2Sub: function (formName) {
|
|
@@ -508,17 +516,19 @@
|
|
var _this = this;
|
|
var _this = this;
|
|
this.$refs[formName].validate((valid) => {
|
|
this.$refs[formName].validate((valid) => {
|
|
if (valid) {
|
|
if (valid) {
|
|
- console.log(_this.roleData);
|
|
|
|
- $.dyAjax('/manage/saveRole', {id:_this.roleData.id,roles:_this.roleData.roles.join(',')}, function (data) {
|
|
|
|
|
|
+ const { companyScenic, authority, manager } = _this.typeAuthority
|
|
|
|
+ let datas = []
|
|
|
|
+ companyScenic.forEach(element => {
|
|
|
|
+ datas.push({ company: element[0], scenic: element[1], authority, manager })
|
|
|
|
+ });
|
|
|
|
+ $.dyjAjax('/manage/saveTypeAuthority', datas, function (data) {
|
|
_this.loadTable1(function () {
|
|
_this.loadTable1(function () {
|
|
_this.$message({
|
|
_this.$message({
|
|
message: '成功',
|
|
message: '成功',
|
|
type: 'success'
|
|
type: 'success'
|
|
});
|
|
});
|
|
_this.dialog3Visible = false;
|
|
_this.dialog3Visible = false;
|
|
- _this.jsonClear(_this.roleData.roles);
|
|
|
|
- _this.jsonClear(_this.roleData.id);
|
|
|
|
- },'post');
|
|
|
|
|
|
+ }, 'post');
|
|
});
|
|
});
|
|
} else {
|
|
} else {
|
|
return false;
|
|
return false;
|
|
@@ -526,11 +536,11 @@
|
|
});
|
|
});
|
|
},
|
|
},
|
|
|
|
|
|
- closeAddDialog1: function(){
|
|
|
|
|
|
+ closeAddDialog1: function () {
|
|
this.$refs['dialog1'].resetFields()
|
|
this.$refs['dialog1'].resetFields()
|
|
},
|
|
},
|
|
|
|
|
|
- closeEditDialog2 :function () {
|
|
|
|
|
|
+ closeEditDialog2: function () {
|
|
this.$refs['dialog2'].resetFields()
|
|
this.$refs['dialog2'].resetFields()
|
|
},
|
|
},
|
|
|
|
|
|
@@ -542,4 +552,5 @@
|
|
new app().$mount('#app');
|
|
new app().$mount('#app');
|
|
});
|
|
});
|
|
</script>
|
|
</script>
|
|
|
|
+
|
|
</html>
|
|
</html>
|