|
|
@@ -1,97 +1,158 @@
|
|
|
<template>
|
|
|
- <div v-loading="downloading" :element-loading-text="$t('message.Load')">
|
|
|
+ <div v-loading="downloading"
|
|
|
+ :element-loading-text="$t('message.Load')">
|
|
|
<div class="heading">
|
|
|
<div class="search icon-before icon-search">
|
|
|
- <input type="text" v-model="keyword" :placeholder="$t('message.users.search')">
|
|
|
+ <input type="text"
|
|
|
+ v-model="keyword"
|
|
|
+ :placeholder="$t('message.users.search')">
|
|
|
</div>
|
|
|
- <el-button type="primary" size="small" icon="search" @click="seachdata">{{ $t('message.users.search') }}</el-button>
|
|
|
- <el-button type="primary" size="small" icon="plus" @click="opendatadialog(1,null,-1);resetForm('userform')">{{ $t('message.users.plus') }}</el-button>
|
|
|
+ <el-button type="primary"
|
|
|
+ size="small"
|
|
|
+ icon="search"
|
|
|
+ @click="seachdata">{{ $t('message.users.search') }}</el-button>
|
|
|
+ <el-button type="primary"
|
|
|
+ size="small"
|
|
|
+ icon="plus"
|
|
|
+ @click="opendatadialog(1,null,-1);resetForm('userform')">{{ $t('message.users.plus') }}</el-button>
|
|
|
</div>
|
|
|
<el-table :data="list">
|
|
|
- <el-table-column prop="Username" align="center" :label="$t('message.users.Username')" show-overflow-tooltip></el-table-column>
|
|
|
- <el-table-column :label="$t('message.users.Realname')" prop="Realname" width="150"></el-table-column>
|
|
|
- <el-table-column prop="Telephone" :label="$t('message.users.Telephone')" show-overflow-tooltip></el-table-column>
|
|
|
- <el-table-column :label="$t('message.users.Mobile')" prop="Mobile" show-overflow-tooltip></el-table-column>
|
|
|
- <el-table-column :label="$t('message.users.role')" show-overflow-tooltip>
|
|
|
+ <el-table-column prop="Username"
|
|
|
+ align="center"
|
|
|
+ :label="$t('message.users.Username')"
|
|
|
+ show-overflow-tooltip></el-table-column>
|
|
|
+ <el-table-column :label="$t('message.users.Realname')"
|
|
|
+ prop="Realname"
|
|
|
+ width="150"></el-table-column>
|
|
|
+ <el-table-column prop="Telephone"
|
|
|
+ :label="$t('message.users.Telephone')"
|
|
|
+ show-overflow-tooltip></el-table-column>
|
|
|
+ <el-table-column :label="$t('message.users.Mobile')"
|
|
|
+ prop="Mobile"
|
|
|
+ show-overflow-tooltip></el-table-column>
|
|
|
+ <el-table-column :label="$t('message.users.role')"
|
|
|
+ show-overflow-tooltip>
|
|
|
<template scope="scope">
|
|
|
- <el-tag type="success" v-if="scope.row.Roleid === 10000123">{{ $t('message.users.Ordinary') }}</el-tag>
|
|
|
- <el-tag type="danger" v-if="scope.row.Roleid === 10000119">{{ $t('message.users.manager') }}</el-tag>
|
|
|
+ <el-tag type="success"
|
|
|
+ v-if="scope.row.Roleid === 10000123">{{ $t('message.users.Ordinary') }}</el-tag>
|
|
|
+ <el-tag type="danger"
|
|
|
+ v-if="scope.row.Roleid === 10000119">{{ $t('message.users.manager') }}</el-tag>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="Description" :label="$t('message.users.Remarks')" show-overflow-tooltip></el-table-column>
|
|
|
- <el-table-column prop="Departmentname" :label="$t('message.users.organization')"></el-table-column>
|
|
|
- <el-table-column :label="$t('message.users.operation')" align="center" width="280">
|
|
|
+ <el-table-column prop="Description"
|
|
|
+ :label="$t('message.users.Remarks')"
|
|
|
+ show-overflow-tooltip></el-table-column>
|
|
|
+ <el-table-column prop="Departmentname"
|
|
|
+ :label="$t('message.users.organization')"></el-table-column>
|
|
|
+ <el-table-column :label="$t('message.users.operation')"
|
|
|
+ align="center"
|
|
|
+ width="280">
|
|
|
<template scope="scope">
|
|
|
- <el-button
|
|
|
- size="small"
|
|
|
- @click="opendatadialog(2,scope.row,scope.$index);resetForm('userform')">{{ $t('message.users.edit') }}</el-button>
|
|
|
- <el-button
|
|
|
- size="small"
|
|
|
- type="warning"
|
|
|
- @click="deletedata(scope.row)">{{ $t('message.users.delete') }}</el-button>
|
|
|
- <el-button
|
|
|
- size="small"
|
|
|
- type="success"
|
|
|
- @click="permission(scope.row)">{{ $t('message.users.Permission') }}</el-button>
|
|
|
- <el-button
|
|
|
- size="small"
|
|
|
- type="info"
|
|
|
- @click="resetpwd(scope.row)">{{ $t('message.users.reset') }}</el-button>
|
|
|
+ <el-button size="small"
|
|
|
+ @click="opendatadialog(2,scope.row,scope.$index);resetForm('userform')">{{ $t('message.users.edit') }}</el-button>
|
|
|
+ <el-button size="small"
|
|
|
+ type="warning"
|
|
|
+ @click="deletedata(scope.row)">{{ $t('message.users.delete') }}</el-button>
|
|
|
+ <el-button size="small"
|
|
|
+ type="success"
|
|
|
+ @click="permission(scope.row)">{{ $t('message.users.Permission') }}</el-button>
|
|
|
+ <el-button size="small"
|
|
|
+ type="info"
|
|
|
+ @click="resetpwd(scope.row)">{{ $t('message.users.reset') }}</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
- <el-pagination
|
|
|
- @size-change="handleSizeChange"
|
|
|
- @current-change="handleCurrentChange"
|
|
|
- :current-page="currentPage"
|
|
|
- :page-sizes="[10, 15, 20, 25]"
|
|
|
- :page-size="size"
|
|
|
- layout="total, sizes, prev, pager, next, jumper"
|
|
|
- :total="currentItemCount">
|
|
|
+ <el-pagination @size-change="handleSizeChange"
|
|
|
+ @current-change="handleCurrentChange"
|
|
|
+ :current-page="currentPage"
|
|
|
+ :page-sizes="[10, 15, 20, 25]"
|
|
|
+ :page-size="size"
|
|
|
+ layout="total, sizes, prev, pager, next, jumper"
|
|
|
+ :total="currentItemCount">
|
|
|
</el-pagination>
|
|
|
-
|
|
|
- <el-dialog :title="dialogtitle" :visible.sync="datadialogVisible" top="5%">
|
|
|
- <el-form :model="userform" :rules="rulesuser" ref="userform">
|
|
|
- <el-form-item :label="$t('message.users.Username')" prop="username" required label-width="120px">
|
|
|
- <el-input v-model="userform.username" auto-complete="off" :disabled="disabledserial"></el-input>
|
|
|
+
|
|
|
+ <el-dialog :title="dialogtitle"
|
|
|
+ :visible.sync="datadialogVisible"
|
|
|
+ top="5%">
|
|
|
+ <el-form :model="userform"
|
|
|
+ :rules="rulesuser"
|
|
|
+ ref="userform">
|
|
|
+ <el-form-item :label="$t('message.users.Username')"
|
|
|
+ prop="username"
|
|
|
+ required
|
|
|
+ label-width="120px">
|
|
|
+ <el-input v-model="userform.username"
|
|
|
+ auto-complete="off"
|
|
|
+ :disabled="disabledserial"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item :label="$t('message.users.Realname')" label-width="120px" required prop="realname">
|
|
|
+ <el-form-item :label="$t('message.users.Realname')"
|
|
|
+ label-width="120px"
|
|
|
+ required
|
|
|
+ prop="realname">
|
|
|
<el-input v-model="userform.realname"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item :label="$t('message.users.role')" label-width="120px" required>
|
|
|
- <el-select v-model="userform.role" :placeholder="$t('message.users.rolechange')">
|
|
|
- <el-option :label="$t('message.users.Ordinary')" value="10000123"></el-option>
|
|
|
- <el-option :label="$t('message.users.manager')" value="10000119"></el-option>
|
|
|
+ <el-form-item :label="$t('message.users.role')"
|
|
|
+ label-width="120px"
|
|
|
+ required>
|
|
|
+ <el-select v-model="userform.role"
|
|
|
+ :placeholder="$t('message.users.rolechange')">
|
|
|
+ <el-option :label="$t('message.users.Ordinary')"
|
|
|
+ value="10000123"></el-option>
|
|
|
+ <el-option :label="$t('message.users.manager')"
|
|
|
+ value="10000119"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item :label="$t('message.users.organization')" label-width="120px" required>
|
|
|
- <el-cascader :options="orgtreelist" :props="orgtreeprops" change-on-select :show-all-levels="false" v-model="selectedorg" placeholder="请选择组织"></el-cascader>
|
|
|
+ <el-form-item :label="$t('message.users.organization')"
|
|
|
+ label-width="120px"
|
|
|
+ required>
|
|
|
+ <el-cascader :options="orgtreelist"
|
|
|
+ :props="orgtreeprops"
|
|
|
+ change-on-select
|
|
|
+ :show-all-levels="false"
|
|
|
+ v-model="selectedorg"
|
|
|
+ placeholder="请选择组织"></el-cascader>
|
|
|
</el-form-item>
|
|
|
- <el-form-item :label="$t('message.users.Telephone')" label-width="120px" prop="telephone">
|
|
|
- <el-input v-model="userform.telephone" auto-complete="off"></el-input>
|
|
|
+ <el-form-item :label="$t('message.users.Telephone')"
|
|
|
+ label-width="120px"
|
|
|
+ prop="telephone">
|
|
|
+ <el-input v-model="userform.telephone"
|
|
|
+ auto-complete="off"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item :label="$t('message.users.Mobile')" label-width="120px" prop="mobile">
|
|
|
- <el-input v-model="userform.mobile" auto-complete="off"></el-input>
|
|
|
+ <el-form-item :label="$t('message.users.Mobile')"
|
|
|
+ label-width="120px"
|
|
|
+ prop="mobile">
|
|
|
+ <el-input v-model="userform.mobile"
|
|
|
+ auto-complete="off"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item :label="$t('message.users.Remarks')" label-width="120px">
|
|
|
- <el-input type="textarea" v-model="userform.description" auto-complete="off"></el-input>
|
|
|
+ <el-form-item :label="$t('message.users.Remarks')"
|
|
|
+ label-width="120px">
|
|
|
+ <el-input type="textarea"
|
|
|
+ v-model="userform.description"
|
|
|
+ auto-complete="off"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
- <div slot="footer" class="dialog-footer">
|
|
|
+ <div slot="footer"
|
|
|
+ class="dialog-footer">
|
|
|
<el-button @click="datadialogVisible = false">{{ $t('message.users.cancel') }}</el-button>
|
|
|
- <el-button type="primary" @click="savedata('userform')">{{ $t('message.users.confirm') }}</el-button>
|
|
|
+ <el-button type="primary"
|
|
|
+ @click="savedata('userform')">{{ $t('message.users.confirm') }}</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
|
|
|
- <el-dialog :title="permissiondialogtitle" :visible.sync="permissiondatadialogVisible" top="5%">
|
|
|
- <el-col :span="6" style="margin-right: 10px">
|
|
|
+ <el-dialog :title="permissiondialogtitle"
|
|
|
+ :visible.sync="permissiondatadialogVisible"
|
|
|
+ top="5%">
|
|
|
+ <el-col :span="6"
|
|
|
+ style="margin-right: 10px">
|
|
|
<div class="userpermisstreediv">
|
|
|
- <el-tree style="border: 0" node-key="id" show-checkbox
|
|
|
- :data="orgtreelist"
|
|
|
- :props="orgtreeprops"
|
|
|
- :default-expanded-keys="userdepartment"
|
|
|
- @check-change="userpermissorgcheckedchange"
|
|
|
- ref="userpermisstree">
|
|
|
+ <el-tree style="border: 0"
|
|
|
+ node-key="id"
|
|
|
+ show-checkbox
|
|
|
+ :data="orgtreelist"
|
|
|
+ :props="orgtreeprops"
|
|
|
+ :default-expanded-keys="userdepartment"
|
|
|
+ @check-change="userpermissorgcheckedchange"
|
|
|
+ ref="userpermisstree">
|
|
|
</el-tree>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
@@ -100,15 +161,19 @@
|
|
|
<el-form-item>
|
|
|
<div class="userpermissdiv">
|
|
|
<el-checkbox-group v-model="userpermissdevicesselects">
|
|
|
- <el-checkbox v-for="item in equipdeviceslist" :label="item.Id+''">{{item.Code}}</el-checkbox>
|
|
|
+ <el-checkbox v-for="item in equipdeviceslist"
|
|
|
+ :label="item.Id+''">{{item.Code}}</el-checkbox>
|
|
|
</el-checkbox-group>
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</el-col>
|
|
|
- <div slot="footer" class="dialog-footer" style="margin-top:-35px;">
|
|
|
+ <div slot="footer"
|
|
|
+ class="dialog-footer"
|
|
|
+ style="margin-top:-35px;">
|
|
|
<el-button @click="permissiondatadialogVisible = false">{{ $t('message.users.cancel') }}</el-button>
|
|
|
- <el-button type="primary" @click="savepermission()">{{ $t('message.users.confirm') }}</el-button>
|
|
|
+ <el-button type="primary"
|
|
|
+ @click="savepermission()">{{ $t('message.users.confirm') }}</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
|
|
|
@@ -116,153 +181,153 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
- import {
|
|
|
- mapGetters
|
|
|
- } from 'vuex'
|
|
|
- export default {
|
|
|
- name: 'users',
|
|
|
+import {
|
|
|
+ mapGetters
|
|
|
+} from 'vuex'
|
|
|
+export default {
|
|
|
+ name: 'users',
|
|
|
|
|
|
- data () {
|
|
|
- var checkusername = (rule, value, callback) => {
|
|
|
- if (!value) {
|
|
|
- callback(new Error(this.$t('message.users.Please')))
|
|
|
+ data () {
|
|
|
+ var checkusername = (rule, value, callback) => {
|
|
|
+ if (!value) {
|
|
|
+ callback(new Error(this.$t('message.users.Please')))
|
|
|
+ } else {
|
|
|
+ let re = /^([a-zA-Z0-9]+[_|-|.|-]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|-|.|-]?)*[a-zA-Z0-9]+.[a-zA-Z]{2,3}$/
|
|
|
+ if (!re.test(value)) {
|
|
|
+ callback(new Error(this.$t('message.users.email')))
|
|
|
} else {
|
|
|
- let re = /^([a-zA-Z0-9]+[_|-|.|-]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|-|.|-]?)*[a-zA-Z0-9]+.[a-zA-Z]{2,3}$/
|
|
|
- if (!re.test(value)) {
|
|
|
- callback(new Error(this.$t('message.users.email')))
|
|
|
- } else {
|
|
|
- callback()
|
|
|
- }
|
|
|
+ callback()
|
|
|
}
|
|
|
}
|
|
|
- return {
|
|
|
- organdialogVisible: false,
|
|
|
- currentItemCount: 0,
|
|
|
- currentItemCount2: 0,
|
|
|
- currentItemCount3: 0,
|
|
|
- currentPage: 1,
|
|
|
- size: 10,
|
|
|
- list: [],
|
|
|
- keyword: '',
|
|
|
- datadialogVisible: false,
|
|
|
- dialogtitle: '',
|
|
|
- disabledserial: false,
|
|
|
- userform: {
|
|
|
- username: '',
|
|
|
- realname: '',
|
|
|
- telephone: '',
|
|
|
- mobile: '',
|
|
|
- description: '',
|
|
|
- role: '10000123',
|
|
|
- id: 0,
|
|
|
- departmentid: '',
|
|
|
- departmentname: ''
|
|
|
- },
|
|
|
- rulesuser: {
|
|
|
- username: [
|
|
|
- { validator: checkusername, trigger: 'blur' }
|
|
|
- ],
|
|
|
- realname: [
|
|
|
- { required: true, message: this.$t('message.users.Realname'), trigger: 'blur' }
|
|
|
- ]
|
|
|
- },
|
|
|
- operatingitem: 0,
|
|
|
- permissiondialogtitle: '',
|
|
|
- permissiondatadialogVisible: false,
|
|
|
- isfristchecked: false, // 过滤点击树时出现的多次触发选择事件
|
|
|
- userpermisstreedata: [], // 组织tree 数据
|
|
|
- userpermissdevicesselects: [], // 设备批量设置所选设备
|
|
|
- equipdeviceslist: [], // 批量设置设备设备所有数据
|
|
|
- equipalllist: [], // 设备所有数据
|
|
|
- checkedarr: [], // 树形控件多选框
|
|
|
- orgtreelist: [],
|
|
|
- orgtreeprops: {
|
|
|
- value: 'id',
|
|
|
- label: 'Fullname',
|
|
|
- children: 'children'
|
|
|
- },
|
|
|
- selectedorg: [],
|
|
|
- userdepartment: [],
|
|
|
- ischeckbj: false // 过滤字段勾选时触发的选中事件
|
|
|
- }
|
|
|
- },
|
|
|
- computed: mapGetters({
|
|
|
- session: 'session'
|
|
|
- }),
|
|
|
- created () {
|
|
|
- this.getorgtreelist()
|
|
|
- // initial data
|
|
|
- this.initData()
|
|
|
- this.loadequipsall()
|
|
|
- this.userdepartment.push(parseInt(this.session.user.Profile.DepartmentId))
|
|
|
- this.selectedorg = [parseInt(this.session.user.Profile.DepartmentId)]
|
|
|
- },
|
|
|
- methods: {
|
|
|
- initData () {
|
|
|
- let _this = this
|
|
|
- // paginate
|
|
|
- const params = { _currentPage: this.currentPage, _size: this.size, keyword: this.keyword }
|
|
|
- // request
|
|
|
- this.$services.user.get('list', { params })
|
|
|
- .then(res => {
|
|
|
- // response
|
|
|
- _this.list = res.data.items
|
|
|
- // toggle loading
|
|
|
- // _this.loading = false
|
|
|
- _this.currentItemCount = res.data.currentItemCount
|
|
|
- })
|
|
|
- .catch(err => {
|
|
|
- // handle error
|
|
|
- console.error(err)
|
|
|
- })
|
|
|
- },
|
|
|
- loadequipsall () {
|
|
|
- // toggle loading
|
|
|
- let _this = this
|
|
|
- // request
|
|
|
- this.$services.equipment.get('alllist', null)
|
|
|
- .then(res => {
|
|
|
- // response
|
|
|
- _this.equipalllist = res.data.items
|
|
|
- _this.equipdeviceslist = res.data.items
|
|
|
- })
|
|
|
- .catch(err => {
|
|
|
- // handle error
|
|
|
- console.error(err)
|
|
|
- this.loading = false
|
|
|
- })
|
|
|
- },
|
|
|
- seachdata () {
|
|
|
- this.currentPage = 1
|
|
|
- this.initData()
|
|
|
- },
|
|
|
- handleSizeChange (value) {
|
|
|
- this.size = value
|
|
|
- this.currentPage = 1
|
|
|
- this.initData()
|
|
|
+ }
|
|
|
+ return {
|
|
|
+ organdialogVisible: false,
|
|
|
+ currentItemCount: 0,
|
|
|
+ currentItemCount2: 0,
|
|
|
+ currentItemCount3: 0,
|
|
|
+ currentPage: 1,
|
|
|
+ size: 10,
|
|
|
+ list: [],
|
|
|
+ keyword: '',
|
|
|
+ datadialogVisible: false,
|
|
|
+ dialogtitle: '',
|
|
|
+ disabledserial: false,
|
|
|
+ userform: {
|
|
|
+ username: '',
|
|
|
+ realname: '',
|
|
|
+ telephone: '',
|
|
|
+ mobile: '',
|
|
|
+ description: '',
|
|
|
+ role: '10000123',
|
|
|
+ id: 0,
|
|
|
+ departmentid: '',
|
|
|
+ departmentname: ''
|
|
|
},
|
|
|
- handleCurrentChange (value) {
|
|
|
- this.currentPage = value
|
|
|
- this.initData()
|
|
|
+ rulesuser: {
|
|
|
+ username: [
|
|
|
+ { validator: checkusername, trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ realname: [
|
|
|
+ { required: true, message: this.$t('message.users.Realname'), trigger: 'blur' }
|
|
|
+ ]
|
|
|
},
|
|
|
- jstimehandle (val) {
|
|
|
- val = val.replace('T', ' ')
|
|
|
- return val.substring(0, 19)
|
|
|
+ operatingitem: 0,
|
|
|
+ permissiondialogtitle: '',
|
|
|
+ permissiondatadialogVisible: false,
|
|
|
+ isfristchecked: false, // 过滤点击树时出现的多次触发选择事件
|
|
|
+ userpermisstreedata: [], // 组织tree 数据
|
|
|
+ userpermissdevicesselects: [], // 设备批量设置所选设备
|
|
|
+ equipdeviceslist: [], // 批量设置设备设备所有数据
|
|
|
+ equipalllist: [], // 设备所有数据
|
|
|
+ checkedarr: [], // 树形控件多选框
|
|
|
+ orgtreelist: [],
|
|
|
+ orgtreeprops: {
|
|
|
+ value: 'id',
|
|
|
+ label: 'Fullname',
|
|
|
+ children: 'children'
|
|
|
},
|
|
|
- opendatadialog (item, v, index) {
|
|
|
- let _this = this
|
|
|
- this.operatingitem = item
|
|
|
- this.datadialogVisible = true
|
|
|
- this.clearuserForm()
|
|
|
- if (item === 1) {
|
|
|
- this.dialogtitle = this.$t('message.users.plus')
|
|
|
- this.disabledserial = false
|
|
|
- } else if (item === 2) {
|
|
|
- this.$services.organizes.get('parentlist/' + v.Departmentid, {})
|
|
|
+ selectedorg: [],
|
|
|
+ userdepartment: [],
|
|
|
+ ischeckbj: false // 过滤字段勾选时触发的选中事件
|
|
|
+ }
|
|
|
+ },
|
|
|
+ computed: mapGetters({
|
|
|
+ session: 'session'
|
|
|
+ }),
|
|
|
+ created () {
|
|
|
+ this.getorgtreelist()
|
|
|
+ // initial data
|
|
|
+ this.initData()
|
|
|
+ this.loadequipsall()
|
|
|
+ this.userdepartment.push(parseInt(this.session.user.Profile.DepartmentId))
|
|
|
+ this.selectedorg = [parseInt(this.session.user.Profile.DepartmentId)]
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ initData () {
|
|
|
+ let _this = this
|
|
|
+ // paginate
|
|
|
+ const params = { _currentPage: this.currentPage, _size: this.size, keyword: this.keyword }
|
|
|
+ // request
|
|
|
+ this.$services.user.get('list', { params })
|
|
|
+ .then(res => {
|
|
|
+ // response
|
|
|
+ _this.list = res.data.items
|
|
|
+ // toggle loading
|
|
|
+ // _this.loading = false
|
|
|
+ _this.currentItemCount = res.data.currentItemCount
|
|
|
+ })
|
|
|
+ .catch(err => {
|
|
|
+ // handle error
|
|
|
+ console.error(err)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ loadequipsall () {
|
|
|
+ // toggle loading
|
|
|
+ let _this = this
|
|
|
+ // request
|
|
|
+ this.$services.equipment.get('alllist', null)
|
|
|
+ .then(res => {
|
|
|
+ // response
|
|
|
+ _this.equipalllist = res.data.items
|
|
|
+ _this.equipdeviceslist = res.data.items
|
|
|
+ })
|
|
|
+ .catch(err => {
|
|
|
+ // handle error
|
|
|
+ console.error(err)
|
|
|
+ this.loading = false
|
|
|
+ })
|
|
|
+ },
|
|
|
+ seachdata () {
|
|
|
+ this.currentPage = 1
|
|
|
+ this.initData()
|
|
|
+ },
|
|
|
+ handleSizeChange (value) {
|
|
|
+ this.size = value
|
|
|
+ this.currentPage = 1
|
|
|
+ this.initData()
|
|
|
+ },
|
|
|
+ handleCurrentChange (value) {
|
|
|
+ this.currentPage = value
|
|
|
+ this.initData()
|
|
|
+ },
|
|
|
+ jstimehandle (val) {
|
|
|
+ val = val.replace('T', ' ')
|
|
|
+ return val.substring(0, 19)
|
|
|
+ },
|
|
|
+ opendatadialog (item, v, index) {
|
|
|
+ let _this = this
|
|
|
+ this.operatingitem = item
|
|
|
+ this.datadialogVisible = true
|
|
|
+ this.clearuserForm()
|
|
|
+ if (item === 1) {
|
|
|
+ this.dialogtitle = this.$t('message.users.plus')
|
|
|
+ this.disabledserial = false
|
|
|
+ } else if (item === 2) {
|
|
|
+ this.$services.organizes.get('parentlist/' + v.Departmentid, {})
|
|
|
.then(res => {
|
|
|
if (res.data.code === 0) {
|
|
|
- _this.aa = this.$t('message.users.user')
|
|
|
- _this.dialogtitle = _this.aa + `(${v.Realname})`
|
|
|
+ _this.aa = this.$t('message.users.user')
|
|
|
+ _this.dialogtitle = _this.aa + `(${v.Realname})`
|
|
|
_this.disabledserial = true
|
|
|
_this.userform.username = v.Username
|
|
|
_this.userform.realname = v.Realname + ''
|
|
|
@@ -291,150 +356,175 @@
|
|
|
// handle error
|
|
|
console.error(err)
|
|
|
})
|
|
|
- }
|
|
|
- },
|
|
|
- savedata (formName) {
|
|
|
- let _this = this
|
|
|
- if (this.selectedorg.length === 0) {
|
|
|
- _this.$message({
|
|
|
- type: 'warning',
|
|
|
- message: this.$t('message.users.mess')
|
|
|
- })
|
|
|
- return
|
|
|
- }
|
|
|
- this.$refs[formName].validate((valid) => {
|
|
|
- if (valid) {
|
|
|
- this.userform.departmentid = this.selectedorg[this.selectedorg.length - 1] + ''
|
|
|
- if (_this.operatingitem === 1) {
|
|
|
- _this.$services.user.post(_this.userform)
|
|
|
- .then(res => {
|
|
|
- // response
|
|
|
- if (res.data.code === 0) {
|
|
|
- _this.$message({
|
|
|
- type: 'success',
|
|
|
- message: res.data.message
|
|
|
- })
|
|
|
- _this.datadialogVisible = false
|
|
|
- this.initData()
|
|
|
- } else {
|
|
|
- _this.$message({
|
|
|
- type: 'warning',
|
|
|
- message: res.data.message
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
- .catch(err => {
|
|
|
- // handle error
|
|
|
- console.error(err)
|
|
|
- })
|
|
|
- } else if (_this.operatingitem === 2) {
|
|
|
- _this.$services.user.put(_this.userform.id, _this.userform)
|
|
|
- .then(res => {
|
|
|
- // response
|
|
|
- if (res.data.code === 0) {
|
|
|
- _this.$message({
|
|
|
- type: 'success',
|
|
|
- message: res.data.message
|
|
|
- })
|
|
|
- _this.datadialogVisible = false
|
|
|
- // 更新界面
|
|
|
- this.initData()
|
|
|
- } else {
|
|
|
- _this.$message({
|
|
|
- type: 'warning',
|
|
|
- message: res.data.message
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
- .catch(() => {})
|
|
|
- }
|
|
|
- } else {
|
|
|
- return false
|
|
|
- }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ savedata (formName) {
|
|
|
+ let _this = this
|
|
|
+ if (this.selectedorg.length === 0) {
|
|
|
+ _this.$message({
|
|
|
+ type: 'warning',
|
|
|
+ message: this.$t('message.users.mess')
|
|
|
})
|
|
|
- },
|
|
|
- deletedata (val) {
|
|
|
- let _this = this
|
|
|
- _this.$confirm(this.$t('message.users.warn'), this.$t('message.users.tip'), {
|
|
|
- confirmButtonText: this.$t('message.users.confirm'),
|
|
|
- cancelButtonText: this.$t('message.users.cancel'),
|
|
|
- type: 'warning'
|
|
|
- }).then(() => {
|
|
|
- _this.$services.user.delete(val.Id, null)
|
|
|
- .then(res => {
|
|
|
- // response
|
|
|
- if (res.data.code === 0) {
|
|
|
- _this.$message({
|
|
|
- type: 'success',
|
|
|
- message: res.data.message
|
|
|
- })
|
|
|
- // 更新界面
|
|
|
- this.initData()
|
|
|
- } else {
|
|
|
- _this.$message({
|
|
|
- type: 'warning',
|
|
|
- message: res.data.message
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
- .catch(() => {})
|
|
|
- }).catch(() => {})
|
|
|
- },
|
|
|
- resetForm (formName) {
|
|
|
- this.$refs[formName].resetFields()
|
|
|
- },
|
|
|
- clearuserForm () {
|
|
|
- this.userform = {
|
|
|
- username: '',
|
|
|
- realname: '',
|
|
|
- telephone: '',
|
|
|
- mobile: '',
|
|
|
- description: '',
|
|
|
- role: '10000123'
|
|
|
+ return
|
|
|
+ }
|
|
|
+ this.$refs[formName].validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ this.userform.departmentid = this.selectedorg[this.selectedorg.length - 1] + ''
|
|
|
+ if (_this.operatingitem === 1) {
|
|
|
+ _this.$services.user.post(_this.userform)
|
|
|
+ .then(res => {
|
|
|
+ // response
|
|
|
+ if (res.data.code === 0) {
|
|
|
+ _this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: res.data.message
|
|
|
+ })
|
|
|
+ _this.datadialogVisible = false
|
|
|
+ this.initData()
|
|
|
+ } else {
|
|
|
+ _this.$message({
|
|
|
+ type: 'warning',
|
|
|
+ message: res.data.message
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(err => {
|
|
|
+ // handle error
|
|
|
+ console.error(err)
|
|
|
+ })
|
|
|
+ } else if (_this.operatingitem === 2) {
|
|
|
+ _this.$services.user.put(_this.userform.id, _this.userform)
|
|
|
+ .then(res => {
|
|
|
+ // response
|
|
|
+ if (res.data.code === 0) {
|
|
|
+ _this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: res.data.message
|
|
|
+ })
|
|
|
+ _this.datadialogVisible = false
|
|
|
+ // 更新界面
|
|
|
+ this.initData()
|
|
|
+ } else {
|
|
|
+ _this.$message({
|
|
|
+ type: 'warning',
|
|
|
+ message: res.data.message
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(() => { })
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ return false
|
|
|
}
|
|
|
- },
|
|
|
- permission (v) {
|
|
|
- let _this = this
|
|
|
- _this.ischeckbj = true // 过滤字段勾选时触发的选中事件
|
|
|
- this.userpermissdevicesselects = []
|
|
|
- this.bb = this.$t('message.users.settings')
|
|
|
- this.permissiondialogtitle = this.bb + `(${v.Realname})`
|
|
|
- this.permissiondatadialogVisible = true
|
|
|
- this.userform.id = v.Id
|
|
|
- this.$services.user.get('permission/' + v.Id, null)
|
|
|
- .then(res => {
|
|
|
- // response
|
|
|
- res.data.forEach((item, k) => {
|
|
|
- this.userpermissdevicesselects.push(item)
|
|
|
- })
|
|
|
- _this.getorgbyeid(res.data + '')
|
|
|
- })
|
|
|
- .catch(err => {
|
|
|
- // handle error
|
|
|
- console.error(err)
|
|
|
- })
|
|
|
- },
|
|
|
- getorgbyeid(v) {
|
|
|
- let _this = this
|
|
|
- this.$services.equipment.put('getorgidsbyeqids', {EquipmentIds: v})
|
|
|
+ })
|
|
|
+ },
|
|
|
+ deletedata (val) {
|
|
|
+ let _this = this
|
|
|
+ _this.$confirm(this.$t('message.users.warn'), this.$t('message.users.tip'), {
|
|
|
+ confirmButtonText: this.$t('message.users.confirm'),
|
|
|
+ cancelButtonText: this.$t('message.users.cancel'),
|
|
|
+ type: 'warning'
|
|
|
+ }).then(() => {
|
|
|
+ _this.$services.user.delete(val.Id, null)
|
|
|
.then(res => {
|
|
|
// response
|
|
|
- setTimeout(function() {
|
|
|
- setTimeout(function() {
|
|
|
- _this.ischeckbj = false
|
|
|
- }, 300)
|
|
|
- // 清空树选择框
|
|
|
- _this.$refs.userpermisstree.setCheckedKeys(res.data)
|
|
|
- }, 100)
|
|
|
+ if (res.data.code === 0) {
|
|
|
+ _this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: res.data.message
|
|
|
+ })
|
|
|
+ // 更新界面
|
|
|
+ this.initData()
|
|
|
+ } else {
|
|
|
+ _this.$message({
|
|
|
+ type: 'warning',
|
|
|
+ message: res.data.message
|
|
|
+ })
|
|
|
+ }
|
|
|
})
|
|
|
- .catch(err => {
|
|
|
- // handle error
|
|
|
- console.error(err)
|
|
|
+ .catch(() => { })
|
|
|
+ }).catch(() => { })
|
|
|
+ },
|
|
|
+ resetForm (formName) {
|
|
|
+ this.$refs[formName].resetFields()
|
|
|
+ },
|
|
|
+ clearuserForm () {
|
|
|
+ this.userform = {
|
|
|
+ username: '',
|
|
|
+ realname: '',
|
|
|
+ telephone: '',
|
|
|
+ mobile: '',
|
|
|
+ description: '',
|
|
|
+ role: '10000123'
|
|
|
+ }
|
|
|
+ },
|
|
|
+ permission (v) {
|
|
|
+ let _this = this
|
|
|
+ _this.ischeckbj = true // 过滤字段勾选时触发的选中事件
|
|
|
+ this.userpermissdevicesselects = []
|
|
|
+ this.bb = this.$t('message.users.settings')
|
|
|
+ this.permissiondialogtitle = this.bb + `(${v.Realname})`
|
|
|
+ this.permissiondatadialogVisible = true
|
|
|
+ this.userform.id = v.Id
|
|
|
+ this.$services.user.get('permission/' + v.Id, null)
|
|
|
+ .then(res => {
|
|
|
+ // response
|
|
|
+ res.data.forEach((item, k) => {
|
|
|
+ this.userpermissdevicesselects.push(item)
|
|
|
})
|
|
|
- },
|
|
|
- savepermission() {
|
|
|
- let _this = this
|
|
|
- _this.$services.user.put('permission/' + this.userform.id, {channelids: this.userpermissdevicesselects + ''})
|
|
|
+ _this.getorgbyeid(res.data + '')
|
|
|
+ })
|
|
|
+ .catch(err => {
|
|
|
+ // handle error
|
|
|
+ console.error(err)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ getorgbyeid (v) {
|
|
|
+ let _this = this
|
|
|
+ this.$services.equipment.put('getorgidsbyeqids', { EquipmentIds: v })
|
|
|
+ .then(res => {
|
|
|
+ // response
|
|
|
+ setTimeout(function () {
|
|
|
+ setTimeout(function () {
|
|
|
+ _this.ischeckbj = false
|
|
|
+ }, 300)
|
|
|
+ // 清空树选择框
|
|
|
+ _this.$refs.userpermisstree.setCheckedKeys(res.data)
|
|
|
+ }, 100)
|
|
|
+ })
|
|
|
+ .catch(err => {
|
|
|
+ // handle error
|
|
|
+ console.error(err)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ savepermission () {
|
|
|
+ let _this = this
|
|
|
+ _this.$services.user.put('permission/' + this.userform.id, { channelids: this.userpermissdevicesselects + '' })
|
|
|
+ .then(res => {
|
|
|
+ // response
|
|
|
+ if (res.data.code === 0) {
|
|
|
+ _this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: res.data.message
|
|
|
+ })
|
|
|
+ _this.permissiondatadialogVisible = false
|
|
|
+ } else {
|
|
|
+ _this.$message({
|
|
|
+ type: 'warning',
|
|
|
+ message: res.data.message
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(() => { })
|
|
|
+ },
|
|
|
+ resetpwd (val) {
|
|
|
+ let _this = this
|
|
|
+ _this.$confirm(`(${val.Realname})` + this.$t('message.users.dewarn'), this.$t('message.users.tip'), {
|
|
|
+ confirmButtonText: this.$t('message.users.confirm'),
|
|
|
+ cancelButtonText: this.$t('message.users.cancel'),
|
|
|
+ type: 'warning'
|
|
|
+ }).then(() => {
|
|
|
+ _this.$services.user.put('resetpwd/' + val.Id, null)
|
|
|
.then(res => {
|
|
|
// response
|
|
|
if (res.data.code === 0) {
|
|
|
@@ -442,7 +532,6 @@
|
|
|
type: 'success',
|
|
|
message: res.data.message
|
|
|
})
|
|
|
- _this.permissiondatadialogVisible = false
|
|
|
} else {
|
|
|
_this.$message({
|
|
|
type: 'warning',
|
|
|
@@ -450,47 +539,23 @@
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
- .catch(() => {})
|
|
|
- },
|
|
|
- resetpwd (val) {
|
|
|
- let _this = this
|
|
|
- _this.$confirm(`(${val.Realname})` + this.$t('message.users.dewarn'), this.$t('message.users.tip'), {
|
|
|
- confirmButtonText: this.$t('message.users.confirm'),
|
|
|
- cancelButtonText: this.$t('message.users.cancel'),
|
|
|
- type: 'warning'
|
|
|
- }).then(() => {
|
|
|
- _this.$services.user.put('resetpwd/' + val.Id, null)
|
|
|
- .then(res => {
|
|
|
- // response
|
|
|
- if (res.data.code === 0) {
|
|
|
- _this.$message({
|
|
|
- type: 'success',
|
|
|
- message: res.data.message
|
|
|
- })
|
|
|
- } else {
|
|
|
- _this.$message({
|
|
|
- type: 'warning',
|
|
|
- message: res.data.message
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
- .catch(() => {})
|
|
|
- }).catch(() => {})
|
|
|
- },
|
|
|
+ .catch(() => { })
|
|
|
+ }).catch(() => { })
|
|
|
+ },
|
|
|
// 选择组织树时触发
|
|
|
- userpermissorgcheckedchange(data, checked, indeterminate) {
|
|
|
+ userpermissorgcheckedchange (data, checked, indeterminate) {
|
|
|
let _this = this
|
|
|
if (!_this.ischeckbj) {
|
|
|
if (!_this.isfristchecked) {
|
|
|
_this.isfristchecked = true
|
|
|
- setTimeout(function() {
|
|
|
+ setTimeout(function () {
|
|
|
_this.isfristchecked = false
|
|
|
_this.checkorgusermanage()
|
|
|
}, 100)
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
- checkorgusermanage() {
|
|
|
+ checkorgusermanage () {
|
|
|
let orgids = []
|
|
|
let selectnodes = this.$refs.userpermisstree.getCheckedNodes()
|
|
|
selectnodes.forEach(row => {
|
|
|
@@ -498,7 +563,7 @@
|
|
|
})
|
|
|
const params = { orgids: orgids }
|
|
|
let _this = this
|
|
|
- this.$services.equipment.get('getidsbyoid', {params})
|
|
|
+ this.$services.equipment.get('getidsbyoid', { params })
|
|
|
.then(res => {
|
|
|
// response
|
|
|
_this.userpermissdevicesselects = []
|
|
|
@@ -517,100 +582,106 @@
|
|
|
this.loading = false
|
|
|
})
|
|
|
},
|
|
|
- getorgtreelist() {
|
|
|
- let _this = this
|
|
|
- // request
|
|
|
- _this.$services.organizes.get('list', {})
|
|
|
- .then(res => {
|
|
|
- _this.orgtreelist = _this.toolfun_gettreejson(res.data.items, 'Id', 'Parentid', 'Id,Fullname')
|
|
|
- })
|
|
|
- .catch(err => {
|
|
|
- // handle error
|
|
|
- console.error(err)
|
|
|
- })
|
|
|
+ getorgtreelist () {
|
|
|
+ let _this = this
|
|
|
+ // request
|
|
|
+ _this.$services.organizes.get('list', {})
|
|
|
+ .then(res => {
|
|
|
+ _this.orgtreelist = _this.toolfun_gettreejson(res.data.items, 'Id', 'Parentid', 'Id,Fullname')
|
|
|
+ })
|
|
|
+ .catch(err => {
|
|
|
+ // handle error
|
|
|
+ console.error(err)
|
|
|
+ })
|
|
|
},
|
|
|
- toolfun_gettreejson(rows, idFieldName, pidFieldName, fileds) { // 工具方法,将扁平数据转化成tree格式数据
|
|
|
- function nodejsonexists(rows, ParentId) {
|
|
|
- for (var i = 0; i < rows.length; i++) {
|
|
|
- if (rows[i][idFieldName] === ParentId) {
|
|
|
- return true
|
|
|
+ toolfun_gettreejson (rows, idFieldName, pidFieldName, fileds) { // 工具方法,将扁平数据转化成tree格式数据
|
|
|
+ function nodejsonexists (rows, ParentId) {
|
|
|
+ for (var i = 0; i < rows.length; i++) {
|
|
|
+ if (rows[i][idFieldName] === ParentId) {
|
|
|
+ return true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ let nodes = []
|
|
|
+ // get the top level nodes
|
|
|
+ for (let i = 0; i < rows.length; i++) {
|
|
|
+ let row = rows[i]
|
|
|
+ if (!nodejsonexists(rows, row[pidFieldName])) {
|
|
|
+ var data = {
|
|
|
+ id: row[idFieldName]
|
|
|
+ }
|
|
|
+ let arrFiled = fileds.split(',')
|
|
|
+ for (var j = 0; j < arrFiled.length; j++) {
|
|
|
+ if (arrFiled[j] !== idFieldName) {
|
|
|
+ data[arrFiled[j]] = row[arrFiled[j]]
|
|
|
}
|
|
|
}
|
|
|
- return false
|
|
|
+ nodes.push(data)
|
|
|
}
|
|
|
- let nodes = []
|
|
|
- // get the top level nodes
|
|
|
+ }
|
|
|
+ let toDo = []
|
|
|
+ for (let i = 0; i < nodes.length; i++) {
|
|
|
+ toDo.push(nodes[i])
|
|
|
+ }
|
|
|
+ while (toDo.length) {
|
|
|
+ let node = toDo.shift() // the parent node
|
|
|
+ // get the children nodes
|
|
|
for (let i = 0; i < rows.length; i++) {
|
|
|
let row = rows[i]
|
|
|
- if (!nodejsonexists(rows, row[pidFieldName])) {
|
|
|
- var data = {
|
|
|
+ if (row[pidFieldName] === node.id) {
|
|
|
+ let child = {
|
|
|
id: row[idFieldName]
|
|
|
}
|
|
|
let arrFiled = fileds.split(',')
|
|
|
- for (var j = 0; j < arrFiled.length; j++) {
|
|
|
+ for (let j = 0; j < arrFiled.length; j++) {
|
|
|
if (arrFiled[j] !== idFieldName) {
|
|
|
- data[arrFiled[j]] = row[arrFiled[j]]
|
|
|
+ child[arrFiled[j]] = row[arrFiled[j]]
|
|
|
}
|
|
|
}
|
|
|
- nodes.push(data)
|
|
|
- }
|
|
|
- }
|
|
|
- let toDo = []
|
|
|
- for (let i = 0; i < nodes.length; i++) {
|
|
|
- toDo.push(nodes[i])
|
|
|
- }
|
|
|
- while (toDo.length) {
|
|
|
- let node = toDo.shift() // the parent node
|
|
|
- // get the children nodes
|
|
|
- for (let i = 0; i < rows.length; i++) {
|
|
|
- let row = rows[i]
|
|
|
- if (row[pidFieldName] === node.id) {
|
|
|
- let child = {
|
|
|
- id: row[idFieldName]
|
|
|
- }
|
|
|
- let arrFiled = fileds.split(',')
|
|
|
- for (let j = 0; j < arrFiled.length; j++) {
|
|
|
- if (arrFiled[j] !== idFieldName) {
|
|
|
- child[arrFiled[j]] = row[arrFiled[j]]
|
|
|
- }
|
|
|
- }
|
|
|
- if (node.children) {
|
|
|
- node.children.push(child)
|
|
|
- } else {
|
|
|
- node.children = [child]
|
|
|
- }
|
|
|
- toDo.push(child)
|
|
|
+ if (node.children) {
|
|
|
+ node.children.push(child)
|
|
|
+ } else {
|
|
|
+ node.children = [child]
|
|
|
}
|
|
|
+ toDo.push(child)
|
|
|
}
|
|
|
}
|
|
|
- return nodes
|
|
|
}
|
|
|
+ return nodes
|
|
|
}
|
|
|
}
|
|
|
+}
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss">
|
|
|
- .el-pagination {
|
|
|
- margin: 1rem 0 2rem;
|
|
|
- text-align: right;
|
|
|
- }
|
|
|
- .triggerone {
|
|
|
- font-size: 13px;
|
|
|
- margin-left: 80px;
|
|
|
- }
|
|
|
- .plab {
|
|
|
- font-size: 13px;
|
|
|
- color: #999;
|
|
|
- }
|
|
|
- .userpermisstreediv {
|
|
|
- border:1px #CCCCCC solid;overflow:auto;height:328px;
|
|
|
- margin-right: 5px;
|
|
|
- }
|
|
|
- .userpermissdiv {
|
|
|
- margin-left:1px;border:1px #CCCCCC solid;overflow:auto;height:320px;padding:4px;
|
|
|
- }
|
|
|
- .userpermissdiv .el-checkbox{
|
|
|
- margin-top:5px;
|
|
|
- margin-left: 15px;
|
|
|
- }
|
|
|
+.el-pagination {
|
|
|
+ margin: 1rem 0 2rem;
|
|
|
+ text-align: right;
|
|
|
+}
|
|
|
+.triggerone {
|
|
|
+ font-size: 13px;
|
|
|
+ margin-left: 80px;
|
|
|
+}
|
|
|
+.plab {
|
|
|
+ font-size: 13px;
|
|
|
+ color: #999;
|
|
|
+}
|
|
|
+.userpermisstreediv {
|
|
|
+ border: 1px #cccccc solid;
|
|
|
+ overflow: auto;
|
|
|
+ height: 328px;
|
|
|
+ margin-right: 5px;
|
|
|
+}
|
|
|
+.userpermissdiv {
|
|
|
+ margin-left: 1px;
|
|
|
+ border: 1px #cccccc solid;
|
|
|
+ overflow: auto;
|
|
|
+ height: 320px;
|
|
|
+ padding: 4px;
|
|
|
+}
|
|
|
+.userpermissdiv .el-checkbox {
|
|
|
+ margin-top: 5px;
|
|
|
+ margin-left: 15px;
|
|
|
+}
|
|
|
</style>
|