|
|
@@ -1,515 +1,515 @@
|
|
|
-<template>
|
|
|
- <div class="app-container">
|
|
|
- <div class="search">
|
|
|
- <el-input v-model="table.getdataListParm.parammaps.empCode" placeholder="用户名称" style="width: 180px;" class="filter-item" clearable />
|
|
|
- <el-input v-model="table.getdataListParm.parammaps.empname" placeholder="员工姓名" style="width: 180px;" class="filter-item" clearable />
|
|
|
- <el-select v-model="table.getdataListParm.parammaps.enable" placeholder="是否启用" class="filter-item" style="width: 120px;" clearable>
|
|
|
- <el-option v-for="item in enableList" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
- </el-select>
|
|
|
- <el-date-picker v-model="table.getdataListParm.parammaps.inputDatetime" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" style="width: 250px;" />
|
|
|
- <!-- 临时注释 -->
|
|
|
- <!-- <el-select v-model="table.getdataListParm.parammaps.enable" placeholder="公众号关注状态" class="filter-item" style="width: 150px;" clearable>
|
|
|
- <el-option v-for="item in attentionStatusList" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
- </el-select> -->
|
|
|
- <!-- 临时注释 -->
|
|
|
- <el-button class="successBorder" @click="form_search">查询</el-button>
|
|
|
- <el-button class="successBorder" @click="handleRefresh">重置</el-button>
|
|
|
- </div>
|
|
|
- <div class="operation">
|
|
|
- <el-button v-if="isRoleEdit" icon="el-icon-plus" class="success" @click="handleCreate">新增</el-button>
|
|
|
- <el-button v-if="isRoleEdit" icon="el-icon-delete" class="danger" @click="form_delete">删除</el-button>
|
|
|
- </div>
|
|
|
- <div class="table">
|
|
|
- <el-table
|
|
|
- :key="table.tableKey"
|
|
|
- v-loading="table.listLoading"
|
|
|
- element-loading-text="给我一点时间"
|
|
|
- :data="table.list"
|
|
|
- border
|
|
|
- fit
|
|
|
- highlight-current-row
|
|
|
- style="width: 100%;"
|
|
|
- :row-style="rowStyle"
|
|
|
- :cell-style="cellStyle"
|
|
|
- class="elTable table-fixed"
|
|
|
- @selection-change="handleSelectionChange"
|
|
|
- >
|
|
|
- <el-table-column type="selection" align="center" width="50" />
|
|
|
- <el-table-column label="序号" align="center" type="index" width="50px">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>{{ scope.$index + (table.pageNum-1) * table.pageSize + 1 }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="用户名称" min-width="180px" align="center">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span v-if="scope.row.NoEdit">{{ scope.row.username }}</span>
|
|
|
- <el-input v-if="scope.row.Edit" v-model.trim="scope.row.username" placeholder="建议使用手机号" type="textarea" :autosize="{ minRows: 1.3, maxRows: 4}" maxlength="32" style="width:95%;padding:10px 0;" />
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="员工姓名" min-width="130px" align="center">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span v-if="scope.row.NoEdit">{{ scope.row.empname }}</span>
|
|
|
- <el-input v-if="scope.row.Edit" v-model.trim="scope.row.empname" placeholder="1-32字符" type="textarea" :autosize="{ minRows: 1.3, maxRows: 4}" maxlength="32" style="width:95%;padding:10px 0;" />
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="手机号" min-width="180px" align="center">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span v-if="scope.row.NoEdit">{{ scope.row.phone }}</span>
|
|
|
- <el-input v-if="scope.row.Edit" v-model.trim="scope.row.phone" placeholder="请输入11位手机号" type="textarea" :autosize="{ minRows: 1.3, maxRows: 4}" maxlength="11" style="width:95%;padding:10px 0;" />
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="角色" min-width="150px" align="center">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span v-if="scope.row.NoEdit">{{ scope.row.rolename }}</span>
|
|
|
- <el-select v-if="scope.row.Edit" v-model="scope.row.roleid" placeholder="角色" class="filter-item" style="width:90%;padding:10px 0;" filterable @change="changeRolename">
|
|
|
- <el-option v-for="item in roleList" :key="item.id" :label="item.rolename" :value="item.id" />
|
|
|
- </el-select>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <!-- 临时注释 -->
|
|
|
- <!-- <el-table-column label="公众号关注状态" min-width="150px" align="center">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span v-if="scope.row.NoEdit">{{ scope.row.rolename }}</span>
|
|
|
- <el-select v-if="scope.row.Edit" v-model="scope.row.roleid" placeholder="角色" class="filter-item" style="width:90%;padding:10px 0;" filterable @change="changeRolename">
|
|
|
- <el-option v-for="item in attentionStatusList" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
- </el-select>
|
|
|
- </template>
|
|
|
- </el-table-column> -->
|
|
|
- <!-- 临时注释 -->
|
|
|
- <el-table-column label="创建时间" min-width="110px" align="center">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>{{ scope.row.createdtime }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="创建人" min-width="110px" align="center">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>{{ scope.row.createmp }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="是否启用" min-width="110px" align="center">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-switch v-model="scope.row.enable" :disabled="scope.row.NoEdit==true" active-color="#13ce66" inactive-color="#ff4949" :active-value="1" :inactive-value="0" @change="handleEnableChange(scope.$index, scope.row)" />
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="操作" align="center" width="250" class-name="small-padding fixed-width" fixed="right">
|
|
|
- <template slot-scope="{row}">
|
|
|
- <!-- 新增 -->
|
|
|
- <el-button v-if="row.isCreate && isRoleEdit" :disabled="isokDisable" icon="el-icon-folder-checked" class="miniSuccess" @click="createData(row)" />
|
|
|
- <span v-if="row.isCreate && isRoleEdit" class="centerSpan">|</span>
|
|
|
- <el-button v-if="row.isCreate && isRoleEdit" class="minCancel" icon="el-icon-close" @click="createCancel(row)" />
|
|
|
- <!-- 扫码接收消息 -->
|
|
|
- <!-- 临时注释 -->
|
|
|
- <a v-if="row.isUpdate && isRoleEdit" class="correcting" size="mini" style="width: 80px;" @click="handleScanningCode(row)">扫码接收消息</a>
|
|
|
- <span v-if="row.isUpdate && isRoleEdit" class="centerSpan">|</span>
|
|
|
- <!-- 临时注释 -->
|
|
|
- <!-- 重置密码 -->
|
|
|
- <a v-if="row.isUpdate && isRoleEdit" class="correcting" size="mini" style="width: 80px;" @click="handleResetPassword(row)">重置密码</a>
|
|
|
- <span v-if="row.isUpdate && isRoleEdit" class="centerSpan">|</span>
|
|
|
- <!-- 编辑 -->
|
|
|
- <el-button v-if="row.isUpdate && isRoleEdit" class="miniSuccess" icon="el-icon-edit-outline" @click="handleUpdate(row)" />
|
|
|
- <span v-if="row.isUpdate && isRoleEdit" class="centerSpan">|</span>
|
|
|
- <el-button v-if="row.isUpdate && isRoleEdit" class="miniDanger" icon="el-icon-delete" @click="handleRowDelete(row)" />
|
|
|
- <!-- 编辑保存 -->
|
|
|
- <el-button v-if="row.isUpdateSave && isRoleEdit" :disabled="isokDisable" class="miniSuccess" icon="el-icon-folder-checked" @click="updateData(row)" />
|
|
|
- <span v-if="row.isUpdateSave && isRoleEdit" class="centerSpan">|</span>
|
|
|
- <el-button v-if="row.isUpdateSave && isRoleEdit" class="minCancel" icon="el-icon-close" @click="updateCancel(row)" />
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- <pagination v-show="table.total>0" :total="table.total" :page.sync="table.getdataListParm.offset" :limit.sync="table.getdataListParm.pagecount" @pagination="getList" />
|
|
|
- </div>
|
|
|
- <el-dialog :title="textMap[QRcode.dialogStatus]" :visible.sync="QRcode.dialogFormVisible" :close-on-click-modal="false" width="50%">
|
|
|
- <div class="QRcode">
|
|
|
- <div class="content">
|
|
|
- <div class="title">
|
|
|
- <p>微信接收系统待办、预警等消息,必须先扫码关注公众号;</p>
|
|
|
- <p>请将下方二维码分享给需要接收信息的用户扫码</p>
|
|
|
- </div>
|
|
|
- <div style="font-weight: 600;">关注微信:</div>
|
|
|
- <img :src="imgUrl" alt="">
|
|
|
- </div>
|
|
|
- <div slot="footer" class="dialog-footer" style="right:30px;position:absolute;bottom: 40px;">
|
|
|
- <el-button class="save" :disabled="isokDisable" @click="QRcode.dialogFormVisible = false;">确认</el-button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </el-dialog>
|
|
|
- </div>
|
|
|
-</template>
|
|
|
-
|
|
|
-<script>
|
|
|
-import { GetDataByName, PostDataByName, failproccess, GetDataByNames, ExecDataByConfig, checkButtons } from '@/api/common'
|
|
|
-import Cookies from 'js-cookie'
|
|
|
-import { parseTime } from '@/utils/index.js'
|
|
|
-import { MessageBox } from 'element-ui'
|
|
|
-import Pagination from '@/components/Pagination'
|
|
|
-export default {
|
|
|
- name: 'User',
|
|
|
- components: { Pagination },
|
|
|
- data() {
|
|
|
- return {
|
|
|
- isRoleEdit: [],
|
|
|
- requestParams: [
|
|
|
- { name: 'getRoleAll', offset: 0, pagecount: 0, parammaps: { 'pastureid': Cookies.get('pastureid') }}
|
|
|
- ],
|
|
|
- enableList: [{ id: 1, name: '是' }, { id: 0, name: '否' }], // 是否启用
|
|
|
- attentionStatusList: [{ id: 1, name: '已关注公众号' }, { id: 0, name: '未关注公众号' }],
|
|
|
- roleList: [], // 角色
|
|
|
-
|
|
|
- table: {
|
|
|
- getdataListParm: {
|
|
|
- name: 'getuserallL',
|
|
|
- page: 1,
|
|
|
- offset: 1,
|
|
|
- pagecount: parseInt(Cookies.get('pageCount')),
|
|
|
- returntype: 'Map',
|
|
|
- parammaps: {
|
|
|
- pastureid: Cookies.get('pastureid'),
|
|
|
- empCode: '',
|
|
|
- empname: '',
|
|
|
- enable: '',
|
|
|
- startTime: '',
|
|
|
- stopTime: '',
|
|
|
- inputDatetime: ''
|
|
|
- }
|
|
|
- },
|
|
|
- tableKey: 0,
|
|
|
- list: [],
|
|
|
- total: 0,
|
|
|
- listLoading: true,
|
|
|
- temp: {}
|
|
|
- },
|
|
|
- requestParam: {},
|
|
|
- isokDisable: false,
|
|
|
- selectList: [],
|
|
|
- QRcode:{
|
|
|
- dialogStatus: '',
|
|
|
- dialogFormVisible:false,
|
|
|
- },
|
|
|
- textMap: {
|
|
|
- QRcode:'提示'
|
|
|
- },
|
|
|
- rowStyle: { maxHeight: 30 + 'px', height: 30 + 'px' },
|
|
|
- cellStyle: { padding: 0 + 'px' },
|
|
|
- imgUrl:''
|
|
|
-
|
|
|
- }
|
|
|
- },
|
|
|
-
|
|
|
- created() {
|
|
|
- this.getList()
|
|
|
- this.getDownList()
|
|
|
- this.getButtons()
|
|
|
- },
|
|
|
-
|
|
|
- methods: {
|
|
|
- getButtons() {
|
|
|
- const Edit = 'User'
|
|
|
- const isRoleEdit = checkButtons(JSON.parse(sessionStorage.getItem('buttons')), Edit)
|
|
|
- this.isRoleEdit = isRoleEdit
|
|
|
- },
|
|
|
- getDownList() {
|
|
|
- GetDataByNames(this.requestParams).then(response => {
|
|
|
- this.roleList = response.data.getRoleAll.list
|
|
|
- })
|
|
|
- },
|
|
|
- getList() {
|
|
|
- this.table.listLoading = true
|
|
|
- GetDataByName(this.table.getdataListParm).then(response => {
|
|
|
- console.log('table数据', response.data.list)
|
|
|
- if (response.data.list !== null) {
|
|
|
- for (let i = 0; i < response.data.list.length; i++) {
|
|
|
- this.$set(response.data.list[i], 'Edit', false) // 编辑
|
|
|
- this.$set(response.data.list[i], 'NoEdit', true) // 不可编辑/输入
|
|
|
- this.$set(response.data.list[i], 'isCreate', false) // 新增操作
|
|
|
- this.$set(response.data.list[i], 'isUpdate', true) // 编辑操作
|
|
|
- this.$set(response.data.list[i], 'isUpdateSave', false) // 编辑保存
|
|
|
- }
|
|
|
- this.table.list = response.data.list
|
|
|
- this.table.pageNum = response.data.pageNum
|
|
|
- this.table.pageSize = response.data.pageSize
|
|
|
- } else {
|
|
|
- this.table.list = []
|
|
|
- }
|
|
|
- this.table.total = response.data.total
|
|
|
- setTimeout(() => {
|
|
|
- this.table.listLoading = false
|
|
|
- }, 100)
|
|
|
- })
|
|
|
- },
|
|
|
- handleEnableChange() {
|
|
|
- console.log('点击了是否启用')
|
|
|
- },
|
|
|
-
|
|
|
- form_search() {
|
|
|
- console.log('点击了查询')
|
|
|
- if (this.table.getdataListParm.parammaps.inputDatetime !== '' && this.table.getdataListParm.parammaps.inputDatetime !== null) {
|
|
|
- this.table.getdataListParm.parammaps.startTime = parseTime(this.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
|
|
|
- this.table.getdataListParm.parammaps.stopTime = parseTime(this.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
|
|
|
- } else {
|
|
|
- this.table.getdataListParm.parammaps.inputDatetime = ''
|
|
|
- this.table.getdataListParm.parammaps.startTime = ''
|
|
|
- this.table.getdataListParm.parammaps.stopTime = ''
|
|
|
- }
|
|
|
- this.table.getdataListParm.offset = 1
|
|
|
- this.getList()
|
|
|
- },
|
|
|
- handleRefresh() {
|
|
|
- console.log('点击了重置')
|
|
|
- this.table.getdataListParm.parammaps.empCode = ''
|
|
|
- this.table.getdataListParm.parammaps.empname = ''
|
|
|
- this.table.getdataListParm.parammaps.enable = ''
|
|
|
- this.table.getdataListParm.parammaps.startTime = ''
|
|
|
- this.table.getdataListParm.parammaps.stopTime = ''
|
|
|
- this.table.getdataListParm.parammaps.inputDatetime = ''
|
|
|
- this.table.getdataListParm.offset = 1
|
|
|
- this.getList()
|
|
|
- },
|
|
|
-
|
|
|
- handleCreate() {
|
|
|
- // 编辑true/不可编辑false
|
|
|
- // 新增操true,编辑false,编辑保存false
|
|
|
- for (let i = 0; i < this.table.list.length; i++) {
|
|
|
- if (this.table.list[i].Edit === true) {
|
|
|
- console.log(123)
|
|
|
- this.$message({ type: 'error', message: '当前内容未保存,请点击取消或保存继续进行操作', duration: 2000 })
|
|
|
- return false
|
|
|
- }
|
|
|
- }
|
|
|
- this.table.list.unshift({ 'myId': (new Date()).valueOf(), 'Edit': true, 'NoEdit': false, 'isCreate': true, 'isUpdate': false, 'isUpdateSave': false, 'enable': 1, 'createdtime': parseTime(new Date(), '{y}-{m}-{d}'), 'createmp': Cookies.get('employename'), 'username': '', 'roleid': '' })
|
|
|
- },
|
|
|
- changeRolename(item) {
|
|
|
- this.table.temp.rolename = this.roleList.find(obj => obj.id === item).rolename
|
|
|
- },
|
|
|
- createData(row) {
|
|
|
- console.log('点击了新增保存', row)
|
|
|
- this.table.temp.pastureid = Cookies.get('pastureid')
|
|
|
- this.table.temp.empname = row.empname
|
|
|
- this.table.temp.username = row.username
|
|
|
- this.table.temp.phone = row.phone
|
|
|
- this.table.temp.createmp = row.createmp
|
|
|
- this.table.temp.enable = row.enable
|
|
|
- this.table.temp.roleid = row.roleid
|
|
|
- // 检验用户名称/角色是否为空
|
|
|
- if (this.table.temp.username == '' && this.table.temp.roleid == '') {
|
|
|
- this.$message({ type: 'error', message: '用户名称/角色不能为空', duration: 2000 })
|
|
|
- return false
|
|
|
- } else if (this.table.temp.username == '') {
|
|
|
- this.$message({ type: 'error', message: '用户名称不能为空', duration: 2000 })
|
|
|
- return false
|
|
|
- } else if (this.table.temp.roleid == '') {
|
|
|
- this.$message({ type: 'error', message: '角色不能为空', duration: 2000 })
|
|
|
- return false
|
|
|
- }
|
|
|
- // 检验手机号是否为11位数字
|
|
|
- if (this.table.temp.phone !== undefined && this.table.temp.phone !== '') {
|
|
|
- const phone = /^\d{11}$/
|
|
|
- if (!phone.test(this.table.temp.phone)) {
|
|
|
- this.$message({ type: 'error', message: '请输入11位手机号', duration: 2000 })
|
|
|
- return false
|
|
|
- }
|
|
|
- }
|
|
|
- this.isokDisable = true
|
|
|
- setTimeout(() => {
|
|
|
- this.isokDisable = false
|
|
|
- }, 1000)
|
|
|
- this.requestParam.name = 'createUser'
|
|
|
- this.table.temp.isgroups = Cookies.get('ispastureuse')
|
|
|
- this.requestParam.parammaps = this.table.temp
|
|
|
- PostDataByName(this.requestParam).then(response => {
|
|
|
- console.log('新增保存发送参数', this.requestParam)
|
|
|
- if (response.msg !== 'fail') {
|
|
|
- this.$notify({ title: '成功', message: '保存成功', type: 'success', duration: 2000 })
|
|
|
- this.getList()
|
|
|
- } else {
|
|
|
- this.$notify({ title: '保存失败', message: response.data, type: 'warning', duration: 2000 })
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- createCancel(row) {
|
|
|
- console.log('点击了新增取消')
|
|
|
- for (let i = 0; i < this.table.list.length; i++) {
|
|
|
- if (row.myId === this.table.list[i].myId) {
|
|
|
- var listIndex = this.table.list.indexOf(this.table.list[i])
|
|
|
- }
|
|
|
- if (listIndex > -1) {
|
|
|
- this.table.list.splice(listIndex, 1)
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- handleUpdate(row) {
|
|
|
- for (let i = 0; i < this.table.list.length; i++) {
|
|
|
- if (this.table.list[i].Edit == true) {
|
|
|
- this.$message({ type: 'error', message: '当前内容未保存,请点击取消或保存继续进行操作', duration: 2000 })
|
|
|
- return false
|
|
|
- }
|
|
|
- }
|
|
|
- // 编辑true,不可编辑false
|
|
|
- row.Edit = true
|
|
|
- row.NoEdit = false
|
|
|
- // 新增false,编辑false,编辑保存true
|
|
|
- row.isCreate = false
|
|
|
- row.isUpdate = false
|
|
|
- row.isUpdateSave = true
|
|
|
- row.roleid = String(row.roleid)
|
|
|
- this.table.temp.roleid = row.roleid
|
|
|
- this.table.temp.rolename = row.rolename
|
|
|
- },
|
|
|
- updateData(row) {
|
|
|
- console.log('点击了编辑保存', row)
|
|
|
- this.table.temp.pastureid = row.pastureid
|
|
|
- this.table.temp.empname = row.empname
|
|
|
- this.table.temp.username = row.username
|
|
|
- this.table.temp.phone = row.phone
|
|
|
- this.table.temp.createmp = row.createmp
|
|
|
- this.table.temp.enable = row.enable
|
|
|
- this.table.temp.roleid = row.roleid
|
|
|
- this.table.temp.id = row.id
|
|
|
- // 校验用户名称/角色是否为空
|
|
|
- if (this.table.temp.username == '' && this.table.temp.roleid == '') {
|
|
|
- this.$message({ type: 'error', message: '用户名称/角色不能为空', duration: 2000 })
|
|
|
- return false
|
|
|
- } else if (this.table.temp.username == '') {
|
|
|
- this.$message({ type: 'error', message: '用户名称不能为空', duration: 2000 })
|
|
|
- return false
|
|
|
- } else if (this.table.temp.roleid == '') {
|
|
|
- this.$message({ type: 'error', message: '角色不能为空', duration: 2000 })
|
|
|
- return false
|
|
|
- }
|
|
|
- console.log(this.table.temp.phone)
|
|
|
- // 检验手机号是否为11位数字
|
|
|
- if (this.table.temp.phone !== undefined && this.table.temp.phone !== '') {
|
|
|
- const phone = /^\d{11}$/
|
|
|
- if (!phone.test(this.table.temp.phone)) {
|
|
|
- this.$message({ type: 'error', message: '请输入11位手机号', duration: 2000 })
|
|
|
- return false
|
|
|
- }
|
|
|
- }
|
|
|
- this.isokDisable = true
|
|
|
- setTimeout(() => {
|
|
|
- this.isokDisable = false
|
|
|
- }, 1000)
|
|
|
- this.requestParam.name = 'updateUser'
|
|
|
- this.requestParam.parammaps = this.table.temp
|
|
|
- PostDataByName(this.requestParam).then(response => {
|
|
|
- console.log('新增保存发送参数', this.requestParam)
|
|
|
- if (response.msg !== 'fail') {
|
|
|
- this.$notify({ title: '成功', message: '保存成功', type: 'success', duration: 2000 })
|
|
|
- this.getList()
|
|
|
- } else {
|
|
|
- this.$notify({ title: '保存失败', message: response.data, type: 'warning', duration: 2000 })
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- updateCancel(row) {
|
|
|
- console.log('点击了编辑取消')
|
|
|
- // 编辑false,不可编辑true
|
|
|
- row.Edit = false
|
|
|
- row.NoEdit = true
|
|
|
- // 新增false,编辑true,编辑保存false
|
|
|
- row.isCreate = false
|
|
|
- row.isUpdate = true
|
|
|
- row.isUpdateSave = false
|
|
|
- this.getList()
|
|
|
- },
|
|
|
- handleRowDelete(row) {
|
|
|
- console.log('点击了行内删除')
|
|
|
- MessageBox.confirm('是否确认删除此信息?', {
|
|
|
- confirmButtonText: '确认', cancelButtonText: '取消', type: 'warning'
|
|
|
- }).then(() => {
|
|
|
- this.selectList = []
|
|
|
- this.requestParam.name = 'deleteUser'
|
|
|
- this.requestParam.parammaps = {}
|
|
|
- this.requestParam.parammaps.pastureid = row.pastureid
|
|
|
- this.requestParam.parammaps.id = row.id
|
|
|
- PostDataByName(this.requestParam).then(response => {
|
|
|
- if (response.msg === 'fail') {
|
|
|
- this.$notify({ title: '删除失败', message: response.data, type: 'warning', duration: 2000 })
|
|
|
- } else {
|
|
|
- this.$notify({ title: '成功', message: '删除成功', type: 'success', duration: 2000 })
|
|
|
- this.getList()
|
|
|
- }
|
|
|
- })
|
|
|
- }).catch(() => {
|
|
|
- this.$message({ type: 'info', message: '已取消删除' })
|
|
|
- })
|
|
|
- },
|
|
|
- handleSelectionChange(val) {
|
|
|
- console.log('勾选数据', val)
|
|
|
- this.selectList = val
|
|
|
- },
|
|
|
- form_delete() {
|
|
|
- console.log('点击了删除')
|
|
|
- if (this.selectList.length == 0) {
|
|
|
- this.$message({ type: 'error', message: '请选择用户信息', duration: 2000 })
|
|
|
- } else {
|
|
|
- MessageBox.confirm('是否确认删除此信息?', {
|
|
|
- confirmButtonText: '确认', cancelButtonText: '取消', type: 'warning'
|
|
|
- }).then(() => {
|
|
|
- console.log(this.selectList)
|
|
|
- this.requestParam.common = { 'returnmap': '0' }
|
|
|
- this.requestParam.data = []
|
|
|
- this.requestParam.data[0] = { 'name': 'insertSpotList', 'resultmaps': { 'list': this.selectList }}
|
|
|
- this.requestParam.data[0].children = []
|
|
|
- this.requestParam.data[0].children[0] = { 'name': 'deleteUser', 'type': 'e', 'parammaps': {
|
|
|
- id: '@insertSpotList.id',
|
|
|
- pastureid: '@insertSpotList.pastureid'
|
|
|
- }}
|
|
|
- ExecDataByConfig(this.requestParam).then(response => {
|
|
|
- console.log('删除保存发送参数', this.requestParam)
|
|
|
- if (response.msg === 'fail') {
|
|
|
- this.$notify({ title: '删除失败', message: response.data, type: 'warning', duration: 2000 })
|
|
|
- } else {
|
|
|
- this.$notify({ title: '', message: '删除成功', type: 'success', duration: 2000 })
|
|
|
- this.getList()
|
|
|
- }
|
|
|
- })
|
|
|
- })
|
|
|
- }
|
|
|
- },
|
|
|
- handleResetPassword(row) {
|
|
|
- console.log(row,'hss')
|
|
|
- MessageBox.confirm('是否确认将此用户密码重置为默认密码Kpt@.666?', {
|
|
|
- confirmButtonText: '确认',
|
|
|
- cancelButtonText: '取消',
|
|
|
- type: 'warning'
|
|
|
- }).then(() => {
|
|
|
- this.requestParam.name = 'initPassword'
|
|
|
- this.requestParam.parammaps = {}
|
|
|
- this.requestParam.parammaps.pastureid = row.pastureid
|
|
|
- this.requestParam.parammaps.id = row.id
|
|
|
- console.log(this.requestParam);
|
|
|
- PostDataByName(this.requestParam).then(() => {
|
|
|
- this.getList()
|
|
|
- this.resetRequestParam()
|
|
|
- this.dialogFormVisible = false
|
|
|
- this.$notify({
|
|
|
- title: '成功',
|
|
|
- message: '重置密码成功',
|
|
|
- type: 'success',
|
|
|
- duration: 2000
|
|
|
- })
|
|
|
- })
|
|
|
- })
|
|
|
- },
|
|
|
- handleScanningCode(row){
|
|
|
- this.QRcode.dialogStatus = 'QRcode'
|
|
|
- this.QRcode.dialogFormVisible = true
|
|
|
- this.imgUrl = 'http://tmrwatch.cn/wx/code?scene_str=tmrwatch.'+ Cookies.get('pastureid')+'.'+ row.username + '.'+row.empname
|
|
|
- console.log(this.imgUrl)
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-</script>
|
|
|
-<style lang="scss" scoped>
|
|
|
- // .search{margin-top:10px;}
|
|
|
- .QRcode{display:flex;justify-content: center; align-items:center;}
|
|
|
- .content{
|
|
|
- /* margin-top: 100px; */
|
|
|
- width: 500px;
|
|
|
- }
|
|
|
- .content img{
|
|
|
- max-width:300px;
|
|
|
-
|
|
|
- }
|
|
|
- </style>
|
|
|
+<template>
|
|
|
+ <div class="app-container">
|
|
|
+ <div class="search">
|
|
|
+ <el-input v-model="table.getdataListParm.parammaps.empCode" placeholder="用户名称" style="width: 180px;" class="filter-item" clearable />
|
|
|
+ <el-input v-model="table.getdataListParm.parammaps.empname" placeholder="员工姓名" style="width: 180px;" class="filter-item" clearable />
|
|
|
+ <el-select v-model="table.getdataListParm.parammaps.enable" placeholder="是否启用" class="filter-item" style="width: 120px;" clearable>
|
|
|
+ <el-option v-for="item in enableList" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
+ </el-select>
|
|
|
+ <el-date-picker v-model="table.getdataListParm.parammaps.inputDatetime" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" style="width: 250px;" />
|
|
|
+ <!-- 临时注释 -->
|
|
|
+ <!-- <el-select v-model="table.getdataListParm.parammaps.enable" placeholder="公众号关注状态" class="filter-item" style="width: 150px;" clearable>
|
|
|
+ <el-option v-for="item in attentionStatusList" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
+ </el-select> -->
|
|
|
+ <!-- 临时注释 -->
|
|
|
+ <el-button class="successBorder" @click="form_search">查询</el-button>
|
|
|
+ <el-button class="successBorder" @click="handleRefresh">重置</el-button>
|
|
|
+ </div>
|
|
|
+ <div class="operation">
|
|
|
+ <el-button v-if="isRoleEdit" icon="el-icon-plus" class="success" @click="handleCreate">新增</el-button>
|
|
|
+ <el-button v-if="isRoleEdit" icon="el-icon-delete" class="danger" @click="form_delete">删除</el-button>
|
|
|
+ </div>
|
|
|
+ <div class="table">
|
|
|
+ <el-table
|
|
|
+ :key="table.tableKey"
|
|
|
+ v-loading="table.listLoading"
|
|
|
+ element-loading-text="给我一点时间"
|
|
|
+ :data="table.list"
|
|
|
+ border
|
|
|
+ fit
|
|
|
+ highlight-current-row
|
|
|
+ style="width: 100%;"
|
|
|
+ :row-style="rowStyle"
|
|
|
+ :cell-style="cellStyle"
|
|
|
+ class="elTable table-fixed"
|
|
|
+ @selection-change="handleSelectionChange"
|
|
|
+ >
|
|
|
+ <el-table-column type="selection" align="center" width="50" />
|
|
|
+ <el-table-column label="序号" align="center" type="index" width="50px">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.$index + (table.pageNum-1) * table.pageSize + 1 }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="用户名称" min-width="180px" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span v-if="scope.row.NoEdit">{{ scope.row.username }}</span>
|
|
|
+ <el-input v-if="scope.row.Edit" v-model.trim="scope.row.username" placeholder="建议使用手机号" type="textarea" :autosize="{ minRows: 1.3, maxRows: 4}" maxlength="32" style="width:95%;padding:10px 0;" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="员工姓名" min-width="130px" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span v-if="scope.row.NoEdit">{{ scope.row.empname }}</span>
|
|
|
+ <el-input v-if="scope.row.Edit" v-model.trim="scope.row.empname" placeholder="1-32字符" type="textarea" :autosize="{ minRows: 1.3, maxRows: 4}" maxlength="32" style="width:95%;padding:10px 0;" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="手机号" min-width="180px" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span v-if="scope.row.NoEdit">{{ scope.row.phone }}</span>
|
|
|
+ <el-input v-if="scope.row.Edit" v-model.trim="scope.row.phone" placeholder="请输入11位手机号" type="textarea" :autosize="{ minRows: 1.3, maxRows: 4}" maxlength="11" style="width:95%;padding:10px 0;" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="角色" min-width="150px" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span v-if="scope.row.NoEdit">{{ scope.row.rolename }}</span>
|
|
|
+ <el-select v-if="scope.row.Edit" v-model="scope.row.roleid" placeholder="角色" class="filter-item" style="width:90%;padding:10px 0;" filterable @change="changeRolename">
|
|
|
+ <el-option v-for="item in roleList" :key="item.id" :label="item.rolename" :value="item.id" />
|
|
|
+ </el-select>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <!-- 临时注释 -->
|
|
|
+ <!-- <el-table-column label="公众号关注状态" min-width="150px" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span v-if="scope.row.NoEdit">{{ scope.row.rolename }}</span>
|
|
|
+ <el-select v-if="scope.row.Edit" v-model="scope.row.roleid" placeholder="角色" class="filter-item" style="width:90%;padding:10px 0;" filterable @change="changeRolename">
|
|
|
+ <el-option v-for="item in attentionStatusList" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
+ </el-select>
|
|
|
+ </template>
|
|
|
+ </el-table-column> -->
|
|
|
+ <!-- 临时注释 -->
|
|
|
+ <el-table-column label="创建时间" min-width="110px" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.row.createdtime }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="创建人" min-width="110px" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.row.createmp }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="是否启用" min-width="110px" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-switch v-model="scope.row.enable" :disabled="scope.row.NoEdit==true" active-color="#13ce66" inactive-color="#ff4949" :active-value="1" :inactive-value="0" @change="handleEnableChange(scope.$index, scope.row)" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作" align="center" width="250" class-name="small-padding fixed-width" fixed="right">
|
|
|
+ <template slot-scope="{row}">
|
|
|
+ <!-- 新增 -->
|
|
|
+ <el-button v-if="row.isCreate && isRoleEdit" :disabled="isokDisable" icon="el-icon-folder-checked" class="miniSuccess" @click="createData(row)" />
|
|
|
+ <span v-if="row.isCreate && isRoleEdit" class="centerSpan">|</span>
|
|
|
+ <el-button v-if="row.isCreate && isRoleEdit" class="minCancel" icon="el-icon-close" @click="createCancel(row)" />
|
|
|
+ <!-- 扫码接收消息 -->
|
|
|
+ <!-- 临时注释 -->
|
|
|
+ <a v-if="row.isUpdate && isRoleEdit" class="correcting" size="mini" style="width: 80px;" @click="handleScanningCode(row)">扫码接收消息</a>
|
|
|
+ <span v-if="row.isUpdate && isRoleEdit" class="centerSpan">|</span>
|
|
|
+ <!-- 临时注释 -->
|
|
|
+ <!-- 重置密码 -->
|
|
|
+ <a v-if="row.isUpdate && isRoleEdit" class="correcting" size="mini" style="width: 80px;" @click="handleResetPassword(row)">重置密码</a>
|
|
|
+ <span v-if="row.isUpdate && isRoleEdit" class="centerSpan">|</span>
|
|
|
+ <!-- 编辑 -->
|
|
|
+ <el-button v-if="row.isUpdate && isRoleEdit" class="miniSuccess" icon="el-icon-edit-outline" @click="handleUpdate(row)" />
|
|
|
+ <span v-if="row.isUpdate && isRoleEdit" class="centerSpan">|</span>
|
|
|
+ <el-button v-if="row.isUpdate && isRoleEdit" class="miniDanger" icon="el-icon-delete" @click="handleRowDelete(row)" />
|
|
|
+ <!-- 编辑保存 -->
|
|
|
+ <el-button v-if="row.isUpdateSave && isRoleEdit" :disabled="isokDisable" class="miniSuccess" icon="el-icon-folder-checked" @click="updateData(row)" />
|
|
|
+ <span v-if="row.isUpdateSave && isRoleEdit" class="centerSpan">|</span>
|
|
|
+ <el-button v-if="row.isUpdateSave && isRoleEdit" class="minCancel" icon="el-icon-close" @click="updateCancel(row)" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <pagination v-show="table.total>0" :total="table.total" :page.sync="table.getdataListParm.offset" :limit.sync="table.getdataListParm.pagecount" @pagination="getList" />
|
|
|
+ </div>
|
|
|
+ <el-dialog :title="textMap[QRcode.dialogStatus]" :visible.sync="QRcode.dialogFormVisible" :close-on-click-modal="false" width="50%">
|
|
|
+ <div class="QRcode">
|
|
|
+ <div class="content">
|
|
|
+ <div class="title">
|
|
|
+ <p>微信接收系统待办、预警等消息,必须先扫码关注公众号;</p>
|
|
|
+ <p>请将下方二维码分享给需要接收信息的用户扫码</p>
|
|
|
+ </div>
|
|
|
+ <div style="font-weight: 600;">关注微信:</div>
|
|
|
+ <img :src="imgUrl" alt="">
|
|
|
+ </div>
|
|
|
+ <div slot="footer" class="dialog-footer" style="right:30px;position:absolute;bottom: 40px;">
|
|
|
+ <el-button class="save" :disabled="isokDisable" @click="QRcode.dialogFormVisible = false;">确认</el-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import { GetDataByName, PostDataByName, failproccess, GetDataByNames, ExecDataByConfig, checkButtons } from '@/api/common'
|
|
|
+import Cookies from 'js-cookie'
|
|
|
+import { parseTime } from '@/utils/index.js'
|
|
|
+import { MessageBox } from 'element-ui'
|
|
|
+import Pagination from '@/components/Pagination'
|
|
|
+export default {
|
|
|
+ name: 'User',
|
|
|
+ components: { Pagination },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ isRoleEdit: [],
|
|
|
+ requestParams: [
|
|
|
+ { name: 'getRoleAll', offset: 0, pagecount: 0, parammaps: { 'pastureid': Cookies.get('pastureid') }}
|
|
|
+ ],
|
|
|
+ enableList: [{ id: 1, name: '是' }, { id: 0, name: '否' }], // 是否启用
|
|
|
+ attentionStatusList: [{ id: 1, name: '已关注公众号' }, { id: 0, name: '未关注公众号' }],
|
|
|
+ roleList: [], // 角色
|
|
|
+
|
|
|
+ table: {
|
|
|
+ getdataListParm: {
|
|
|
+ name: 'getuserallL',
|
|
|
+ page: 1,
|
|
|
+ offset: 1,
|
|
|
+ pagecount: parseInt(Cookies.get('pageCount')),
|
|
|
+ returntype: 'Map',
|
|
|
+ parammaps: {
|
|
|
+ pastureid: Cookies.get('pastureid'),
|
|
|
+ empCode: '',
|
|
|
+ empname: '',
|
|
|
+ enable: '',
|
|
|
+ startTime: '',
|
|
|
+ stopTime: '',
|
|
|
+ inputDatetime: ''
|
|
|
+ }
|
|
|
+ },
|
|
|
+ tableKey: 0,
|
|
|
+ list: [],
|
|
|
+ total: 0,
|
|
|
+ listLoading: true,
|
|
|
+ temp: {}
|
|
|
+ },
|
|
|
+ requestParam: {},
|
|
|
+ isokDisable: false,
|
|
|
+ selectList: [],
|
|
|
+ QRcode:{
|
|
|
+ dialogStatus: '',
|
|
|
+ dialogFormVisible:false,
|
|
|
+ },
|
|
|
+ textMap: {
|
|
|
+ QRcode:'提示'
|
|
|
+ },
|
|
|
+ rowStyle: { maxHeight: 30 + 'px', height: 30 + 'px' },
|
|
|
+ cellStyle: { padding: 0 + 'px' },
|
|
|
+ imgUrl:''
|
|
|
+
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ created() {
|
|
|
+ this.getList()
|
|
|
+ this.getDownList()
|
|
|
+ this.getButtons()
|
|
|
+ },
|
|
|
+
|
|
|
+ methods: {
|
|
|
+ getButtons() {
|
|
|
+ const Edit = 'User'
|
|
|
+ const isRoleEdit = checkButtons(JSON.parse(sessionStorage.getItem('buttons')), Edit)
|
|
|
+ this.isRoleEdit = isRoleEdit
|
|
|
+ },
|
|
|
+ getDownList() {
|
|
|
+ GetDataByNames(this.requestParams).then(response => {
|
|
|
+ this.roleList = response.data.getRoleAll.list
|
|
|
+ })
|
|
|
+ },
|
|
|
+ getList() {
|
|
|
+ this.table.listLoading = true
|
|
|
+ GetDataByName(this.table.getdataListParm).then(response => {
|
|
|
+ console.log('table数据', response.data.list)
|
|
|
+ if (response.data.list !== null) {
|
|
|
+ for (let i = 0; i < response.data.list.length; i++) {
|
|
|
+ this.$set(response.data.list[i], 'Edit', false) // 编辑
|
|
|
+ this.$set(response.data.list[i], 'NoEdit', true) // 不可编辑/输入
|
|
|
+ this.$set(response.data.list[i], 'isCreate', false) // 新增操作
|
|
|
+ this.$set(response.data.list[i], 'isUpdate', true) // 编辑操作
|
|
|
+ this.$set(response.data.list[i], 'isUpdateSave', false) // 编辑保存
|
|
|
+ }
|
|
|
+ this.table.list = response.data.list
|
|
|
+ this.table.pageNum = response.data.pageNum
|
|
|
+ this.table.pageSize = response.data.pageSize
|
|
|
+ } else {
|
|
|
+ this.table.list = []
|
|
|
+ }
|
|
|
+ this.table.total = response.data.total
|
|
|
+ setTimeout(() => {
|
|
|
+ this.table.listLoading = false
|
|
|
+ }, 100)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ handleEnableChange() {
|
|
|
+ console.log('点击了是否启用')
|
|
|
+ },
|
|
|
+
|
|
|
+ form_search() {
|
|
|
+ console.log('点击了查询')
|
|
|
+ if (this.table.getdataListParm.parammaps.inputDatetime !== '' && this.table.getdataListParm.parammaps.inputDatetime !== null) {
|
|
|
+ this.table.getdataListParm.parammaps.startTime = parseTime(this.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
|
|
|
+ this.table.getdataListParm.parammaps.stopTime = parseTime(this.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
|
|
|
+ } else {
|
|
|
+ this.table.getdataListParm.parammaps.inputDatetime = ''
|
|
|
+ this.table.getdataListParm.parammaps.startTime = ''
|
|
|
+ this.table.getdataListParm.parammaps.stopTime = ''
|
|
|
+ }
|
|
|
+ this.table.getdataListParm.offset = 1
|
|
|
+ this.getList()
|
|
|
+ },
|
|
|
+ handleRefresh() {
|
|
|
+ console.log('点击了重置')
|
|
|
+ this.table.getdataListParm.parammaps.empCode = ''
|
|
|
+ this.table.getdataListParm.parammaps.empname = ''
|
|
|
+ this.table.getdataListParm.parammaps.enable = ''
|
|
|
+ this.table.getdataListParm.parammaps.startTime = ''
|
|
|
+ this.table.getdataListParm.parammaps.stopTime = ''
|
|
|
+ this.table.getdataListParm.parammaps.inputDatetime = ''
|
|
|
+ this.table.getdataListParm.offset = 1
|
|
|
+ this.getList()
|
|
|
+ },
|
|
|
+
|
|
|
+ handleCreate() {
|
|
|
+ // 编辑true/不可编辑false
|
|
|
+ // 新增操true,编辑false,编辑保存false
|
|
|
+ for (let i = 0; i < this.table.list.length; i++) {
|
|
|
+ if (this.table.list[i].Edit === true) {
|
|
|
+ console.log(123)
|
|
|
+ this.$message({ type: 'error', message: '当前内容未保存,请点击取消或保存继续进行操作', duration: 2000 })
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.table.list.unshift({ 'myId': (new Date()).valueOf(), 'Edit': true, 'NoEdit': false, 'isCreate': true, 'isUpdate': false, 'isUpdateSave': false, 'enable': 1, 'createdtime': parseTime(new Date(), '{y}-{m}-{d}'), 'createmp': Cookies.get('employename'), 'username': '', 'roleid': '' })
|
|
|
+ },
|
|
|
+ changeRolename(item) {
|
|
|
+ this.table.temp.rolename = this.roleList.find(obj => obj.id === item).rolename
|
|
|
+ },
|
|
|
+ createData(row) {
|
|
|
+ console.log('点击了新增保存', row)
|
|
|
+ this.table.temp.pastureid = Cookies.get('pastureid')
|
|
|
+ this.table.temp.empname = row.empname
|
|
|
+ this.table.temp.username = row.username
|
|
|
+ this.table.temp.phone = row.phone
|
|
|
+ this.table.temp.createmp = row.createmp
|
|
|
+ this.table.temp.enable = row.enable
|
|
|
+ this.table.temp.roleid = row.roleid
|
|
|
+ // 检验用户名称/角色是否为空
|
|
|
+ if (this.table.temp.username == '' && this.table.temp.roleid == '') {
|
|
|
+ this.$message({ type: 'error', message: '用户名称/角色不能为空', duration: 2000 })
|
|
|
+ return false
|
|
|
+ } else if (this.table.temp.username == '') {
|
|
|
+ this.$message({ type: 'error', message: '用户名称不能为空', duration: 2000 })
|
|
|
+ return false
|
|
|
+ } else if (this.table.temp.roleid == '') {
|
|
|
+ this.$message({ type: 'error', message: '角色不能为空', duration: 2000 })
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ // 检验手机号是否为11位数字
|
|
|
+ if (this.table.temp.phone !== undefined && this.table.temp.phone !== '') {
|
|
|
+ const phone = /^\d{11}$/
|
|
|
+ if (!phone.test(this.table.temp.phone)) {
|
|
|
+ this.$message({ type: 'error', message: '请输入11位手机号', duration: 2000 })
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.isokDisable = true
|
|
|
+ setTimeout(() => {
|
|
|
+ this.isokDisable = false
|
|
|
+ }, 1000)
|
|
|
+ this.requestParam.name = 'createUser'
|
|
|
+ this.table.temp.isgroups = Cookies.get('ispastureuse')
|
|
|
+ this.requestParam.parammaps = this.table.temp
|
|
|
+ PostDataByName(this.requestParam).then(response => {
|
|
|
+ console.log('新增保存发送参数', this.requestParam)
|
|
|
+ if (response.msg !== 'fail') {
|
|
|
+ this.$notify({ title: '成功', message: '保存成功', type: 'success', duration: 2000 })
|
|
|
+ this.getList()
|
|
|
+ } else {
|
|
|
+ this.$notify({ title: '保存失败', message: response.data, type: 'warning', duration: 2000 })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ createCancel(row) {
|
|
|
+ console.log('点击了新增取消')
|
|
|
+ for (let i = 0; i < this.table.list.length; i++) {
|
|
|
+ if (row.myId === this.table.list[i].myId) {
|
|
|
+ var listIndex = this.table.list.indexOf(this.table.list[i])
|
|
|
+ }
|
|
|
+ if (listIndex > -1) {
|
|
|
+ this.table.list.splice(listIndex, 1)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ handleUpdate(row) {
|
|
|
+ for (let i = 0; i < this.table.list.length; i++) {
|
|
|
+ if (this.table.list[i].Edit == true) {
|
|
|
+ this.$message({ type: 'error', message: '当前内容未保存,请点击取消或保存继续进行操作', duration: 2000 })
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 编辑true,不可编辑false
|
|
|
+ row.Edit = true
|
|
|
+ row.NoEdit = false
|
|
|
+ // 新增false,编辑false,编辑保存true
|
|
|
+ row.isCreate = false
|
|
|
+ row.isUpdate = false
|
|
|
+ row.isUpdateSave = true
|
|
|
+ row.roleid = String(row.roleid)
|
|
|
+ this.table.temp.roleid = row.roleid
|
|
|
+ this.table.temp.rolename = row.rolename
|
|
|
+ },
|
|
|
+ updateData(row) {
|
|
|
+ console.log('点击了编辑保存', row)
|
|
|
+ this.table.temp.pastureid = row.pastureid
|
|
|
+ this.table.temp.empname = row.empname
|
|
|
+ this.table.temp.username = row.username
|
|
|
+ this.table.temp.phone = row.phone
|
|
|
+ this.table.temp.createmp = row.createmp
|
|
|
+ this.table.temp.enable = row.enable
|
|
|
+ this.table.temp.roleid = row.roleid
|
|
|
+ this.table.temp.id = row.id
|
|
|
+ // 校验用户名称/角色是否为空
|
|
|
+ if (this.table.temp.username == '' && this.table.temp.roleid == '') {
|
|
|
+ this.$message({ type: 'error', message: '用户名称/角色不能为空', duration: 2000 })
|
|
|
+ return false
|
|
|
+ } else if (this.table.temp.username == '') {
|
|
|
+ this.$message({ type: 'error', message: '用户名称不能为空', duration: 2000 })
|
|
|
+ return false
|
|
|
+ } else if (this.table.temp.roleid == '') {
|
|
|
+ this.$message({ type: 'error', message: '角色不能为空', duration: 2000 })
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ console.log(this.table.temp.phone)
|
|
|
+ // 检验手机号是否为11位数字
|
|
|
+ if (this.table.temp.phone !== undefined && this.table.temp.phone !== '') {
|
|
|
+ const phone = /^\d{11}$/
|
|
|
+ if (!phone.test(this.table.temp.phone)) {
|
|
|
+ this.$message({ type: 'error', message: '请输入11位手机号', duration: 2000 })
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.isokDisable = true
|
|
|
+ setTimeout(() => {
|
|
|
+ this.isokDisable = false
|
|
|
+ }, 1000)
|
|
|
+ this.requestParam.name = 'updateUser'
|
|
|
+ this.requestParam.parammaps = this.table.temp
|
|
|
+ PostDataByName(this.requestParam).then(response => {
|
|
|
+ console.log('新增保存发送参数', this.requestParam)
|
|
|
+ if (response.msg !== 'fail') {
|
|
|
+ this.$notify({ title: '成功', message: '保存成功', type: 'success', duration: 2000 })
|
|
|
+ this.getList()
|
|
|
+ } else {
|
|
|
+ this.$notify({ title: '保存失败', message: response.data, type: 'warning', duration: 2000 })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ updateCancel(row) {
|
|
|
+ console.log('点击了编辑取消')
|
|
|
+ // 编辑false,不可编辑true
|
|
|
+ row.Edit = false
|
|
|
+ row.NoEdit = true
|
|
|
+ // 新增false,编辑true,编辑保存false
|
|
|
+ row.isCreate = false
|
|
|
+ row.isUpdate = true
|
|
|
+ row.isUpdateSave = false
|
|
|
+ this.getList()
|
|
|
+ },
|
|
|
+ handleRowDelete(row) {
|
|
|
+ console.log('点击了行内删除')
|
|
|
+ MessageBox.confirm('是否确认删除此信息?', {
|
|
|
+ confirmButtonText: '确认', cancelButtonText: '取消', type: 'warning'
|
|
|
+ }).then(() => {
|
|
|
+ this.selectList = []
|
|
|
+ this.requestParam.name = 'deleteUser'
|
|
|
+ this.requestParam.parammaps = {}
|
|
|
+ this.requestParam.parammaps.pastureid = row.pastureid
|
|
|
+ this.requestParam.parammaps.id = row.id
|
|
|
+ PostDataByName(this.requestParam).then(response => {
|
|
|
+ if (response.msg === 'fail') {
|
|
|
+ this.$notify({ title: '删除失败', message: response.data, type: 'warning', duration: 2000 })
|
|
|
+ } else {
|
|
|
+ this.$notify({ title: '成功', message: '删除成功', type: 'success', duration: 2000 })
|
|
|
+ this.getList()
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }).catch(() => {
|
|
|
+ this.$message({ type: 'info', message: '已取消删除' })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ handleSelectionChange(val) {
|
|
|
+ console.log('勾选数据', val)
|
|
|
+ this.selectList = val
|
|
|
+ },
|
|
|
+ form_delete() {
|
|
|
+ console.log('点击了删除')
|
|
|
+ if (this.selectList.length == 0) {
|
|
|
+ this.$message({ type: 'error', message: '请选择用户信息', duration: 2000 })
|
|
|
+ } else {
|
|
|
+ MessageBox.confirm('是否确认删除此信息?', {
|
|
|
+ confirmButtonText: '确认', cancelButtonText: '取消', type: 'warning'
|
|
|
+ }).then(() => {
|
|
|
+ console.log(this.selectList)
|
|
|
+ this.requestParam.common = { 'returnmap': '0' }
|
|
|
+ this.requestParam.data = []
|
|
|
+ this.requestParam.data[0] = { 'name': 'insertSpotList', 'resultmaps': { 'list': this.selectList }}
|
|
|
+ this.requestParam.data[0].children = []
|
|
|
+ this.requestParam.data[0].children[0] = { 'name': 'deleteUser', 'type': 'e', 'parammaps': {
|
|
|
+ id: '@insertSpotList.id',
|
|
|
+ pastureid: '@insertSpotList.pastureid'
|
|
|
+ }}
|
|
|
+ ExecDataByConfig(this.requestParam).then(response => {
|
|
|
+ console.log('删除保存发送参数', this.requestParam)
|
|
|
+ if (response.msg === 'fail') {
|
|
|
+ this.$notify({ title: '删除失败', message: response.data, type: 'warning', duration: 2000 })
|
|
|
+ } else {
|
|
|
+ this.$notify({ title: '', message: '删除成功', type: 'success', duration: 2000 })
|
|
|
+ this.getList()
|
|
|
+ }
|
|
|
+ })
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ handleResetPassword(row) {
|
|
|
+ console.log(row,'hss')
|
|
|
+ MessageBox.confirm('是否确认将此用户密码重置为默认密码: Kpt@.666', {
|
|
|
+ confirmButtonText: '确认',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ }).then(() => {
|
|
|
+ this.requestParam.name = 'initPassword'
|
|
|
+ this.requestParam.parammaps = {}
|
|
|
+ this.requestParam.parammaps.pastureid = row.pastureid
|
|
|
+ this.requestParam.parammaps.id = row.id
|
|
|
+ console.log(this.requestParam);
|
|
|
+ PostDataByName(this.requestParam).then(() => {
|
|
|
+ this.getList()
|
|
|
+ this.resetRequestParam()
|
|
|
+ this.dialogFormVisible = false
|
|
|
+ this.$notify({
|
|
|
+ title: '成功',
|
|
|
+ message: '重置密码成功',
|
|
|
+ type: 'success',
|
|
|
+ duration: 2000
|
|
|
+ })
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ handleScanningCode(row){
|
|
|
+ this.QRcode.dialogStatus = 'QRcode'
|
|
|
+ this.QRcode.dialogFormVisible = true
|
|
|
+ this.imgUrl = 'http://tmrwatch.cn/wx/code?scene_str=tmrwatch.'+ Cookies.get('pastureid')+'.'+ row.username + '.'+row.empname
|
|
|
+ console.log(this.imgUrl)
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|
|
|
+<style lang="scss" scoped>
|
|
|
+ // .search{margin-top:10px;}
|
|
|
+ .QRcode{display:flex;justify-content: center; align-items:center;}
|
|
|
+ .content{
|
|
|
+ /* margin-top: 100px; */
|
|
|
+ width: 500px;
|
|
|
+ }
|
|
|
+ .content img{
|
|
|
+ max-width:300px;
|
|
|
+
|
|
|
+ }
|
|
|
+ </style>
|