|
@@ -0,0 +1,328 @@
|
|
|
+<template>
|
|
|
+ <div class="app-container">
|
|
|
+ <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"
|
|
|
+ :max-height="myHeight"
|
|
|
+ >
|
|
|
+ <el-table-column label="消息名称" min-width="130px" align="center" prop="rolename" />
|
|
|
+ <el-table-column label="触发条件" min-width="130px" align="center" prop="rolename" />
|
|
|
+ <el-table-column label="提醒类型" min-width="130px" align="center" prop="rolename" />
|
|
|
+ <el-table-column label="推送方式" min-width="130px" align="center" prop="rolename" />
|
|
|
+ <el-table-column label="详细配置" min-width="130px" align="center" prop="rolename" />
|
|
|
+ <el-table-column label="提醒对象" min-width="130px" align="center" prop="rolename" />
|
|
|
+ <el-table-column label="操作" align="center" width="150" class-name="small-padding fixed-width" fixed="right">
|
|
|
+ <template slot-scope="{row}">
|
|
|
+ <a class="correcting" size="mini" style="width: 80px;" @click="handleSetUp(row)">设置</a>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ <el-dialog :title="textMap[setUp.dialogStatus]" :visible.sync="setUp.dialogFormVisible" :close-on-click-modal="false" width="70%">
|
|
|
+ <div class="setup">
|
|
|
+ <div style="height: 500px;">
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="6">
|
|
|
+ <div class="content-left">
|
|
|
+ <b>消息名称:</b><span>名称ABC</span>
|
|
|
+ </div>
|
|
|
+ <div class="content-left">
|
|
|
+ <b>触发条件:</b><span>名称ABC</span>
|
|
|
+ </div>
|
|
|
+ <div class="content-left">
|
|
|
+ <b>发送方式:</b>
|
|
|
+ <el-select v-model="mode" placeholder="请选择">
|
|
|
+ <el-option v-for="item in modeList" :key="item.id" :label="item.name" :value="item.id"> </el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <div class="content-left">
|
|
|
+ <b>发送机制:</b>
|
|
|
+ <el-select v-model="mechanism" placeholder="请选择">
|
|
|
+ <el-option v-for="item in mechanismList" :key="item.id" :label="item.name" :value="item.id"> </el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="18">
|
|
|
+ <b>提醒对象:</b>
|
|
|
+ <el-tabs v-model="activeName" @tab-click="handleClick">
|
|
|
+ <el-tab-pane label="角色" name="first">
|
|
|
+ <div class="search">
|
|
|
+ <el-button class="successBorder" @click="handleGenerateQRcode">生成二维码</el-button>
|
|
|
+ </div>
|
|
|
+ <el-table
|
|
|
+ :key="setUp.table1.tableKey"
|
|
|
+ v-loading="setUp.table1.listLoading"
|
|
|
+ element-loading-text="给我一点时间"
|
|
|
+ :data="setUp.table1.list"
|
|
|
+ border
|
|
|
+ fit
|
|
|
+ highlight-current-row
|
|
|
+ style="width: 100%;"
|
|
|
+ :row-style="rowStyle"
|
|
|
+ :cell-style="cellStyle"
|
|
|
+ class="elTable table-fixed"
|
|
|
+ @selection-change="handleSelectionChange"
|
|
|
+ :max-height="450"
|
|
|
+ >
|
|
|
+ <el-table-column type="selection" align="center" width="50" />
|
|
|
+ <el-table-column label="角色名称" min-width="130px" align="center" prop="rolename" />
|
|
|
+ </el-table>
|
|
|
+ </el-tab-pane>
|
|
|
+ <el-tab-pane label="用户" name="second">
|
|
|
+ <div class="search">
|
|
|
+ <el-button class="successBorder" style="margin-right: 5px;" @click="handleGenerateQRcode">生成二维码</el-button>
|
|
|
+ <el-input v-model="setUp.table2.getdataListParm.parammaps.empCode" placeholder="用户名称" style="width: 180px;" class="filter-item" clearable />
|
|
|
+ <el-input v-model="setUp.table2.getdataListParm.parammaps.empname" placeholder="员工姓名" style="width: 180px;" class="filter-item" clearable />
|
|
|
+ <el-button class="successBorder" @click="handleSearch">查询</el-button>
|
|
|
+ </div>
|
|
|
+ <el-table
|
|
|
+ :key="setUp.table2.tableKey"
|
|
|
+ v-loading="setUp.table2.listLoading"
|
|
|
+ element-loading-text="给我一点时间"
|
|
|
+ :data="setUp.table2.list"
|
|
|
+ border
|
|
|
+ fit
|
|
|
+ highlight-current-row
|
|
|
+ style="width: 100%;"
|
|
|
+ :row-style="rowStyle"
|
|
|
+ :cell-style="cellStyle"
|
|
|
+ class="elTable table-fixed"
|
|
|
+ @selection-change="handleSelectionChange"
|
|
|
+ :max-height="450"
|
|
|
+ >
|
|
|
+ <el-table-column type="selection" align="center" width="50" />
|
|
|
+ <el-table-column label="用户名称" min-width="130px" align="center" prop="username" />
|
|
|
+ <el-table-column label="员工姓名" min-width="130px" align="center" prop="empname" />
|
|
|
+ <el-table-column label="角色" min-width="130px" align="center" prop="rolename" />
|
|
|
+ </el-table>
|
|
|
+ </el-tab-pane>
|
|
|
+ </el-tabs>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+ <div slot="footer" class="dialog-footer" style="right:30px;position:absolute;bottom: 40px;">
|
|
|
+ <el-button class="cancelClose" @click="setUp.dialogFormVisible = false;getList(); ">取消</el-button>
|
|
|
+ <el-button class="save" :disabled="isokDisable" @click="setData()">确认</el-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
+ <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="https://img2.baidu.com/it/u=1151188475,1753963046&fm=253&fmt=auto&app=138&f=JPEG?w=504&h=300" 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 } from '@/api/common'
|
|
|
+ import Cookies from 'js-cookie'
|
|
|
+ export default {
|
|
|
+ name: 'ReminderSettings',
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ modeList: [
|
|
|
+ { id: '0', name: '立即' },
|
|
|
+ { id: '1', name: '延时' },
|
|
|
+ { id: '2', name: '指定周期' },
|
|
|
+ ],
|
|
|
+ mode: '0',
|
|
|
+ mechanismList: [
|
|
|
+ { id: '0', name: '单次' },
|
|
|
+ { id: '1', name: '指定循环次数' },
|
|
|
+ { id: '2', name: '循环至任务结束' },
|
|
|
+ ],
|
|
|
+ mechanism: '0',
|
|
|
+ activeName:'first',
|
|
|
+ table: {
|
|
|
+ getdataListParm: {
|
|
|
+ name: 'getRoleList',
|
|
|
+ page: 1,
|
|
|
+ offset: 1,
|
|
|
+ pagecount: parseInt(Cookies.get('pageCount')),
|
|
|
+ returntype: 'Map',
|
|
|
+ parammaps: {
|
|
|
+ pastureid: Cookies.get('pastureid')
|
|
|
+ }
|
|
|
+ },
|
|
|
+ tableKey: 0,
|
|
|
+ list: [],
|
|
|
+ total: 0,
|
|
|
+ listLoading: false
|
|
|
+ },
|
|
|
+ setUp:{
|
|
|
+ dialogStatus: '',
|
|
|
+ dialogFormVisible:false,
|
|
|
+ table1: {
|
|
|
+ getdataListParm: {
|
|
|
+ name: 'getRoleList',
|
|
|
+ page: 1,
|
|
|
+ offset: 1,
|
|
|
+ pagecount: parseInt(Cookies.get('pageCount')),
|
|
|
+ returntype: 'Map',
|
|
|
+ parammaps: {
|
|
|
+ pastureid: Cookies.get('pastureid')
|
|
|
+ }
|
|
|
+ },
|
|
|
+ tableKey: 0,
|
|
|
+ list: [],
|
|
|
+ total: 0,
|
|
|
+ listLoading: false
|
|
|
+ },
|
|
|
+ table2: {
|
|
|
+ getdataListParm: {
|
|
|
+ name: 'getuserallL',
|
|
|
+ page: 1,
|
|
|
+ offset: 1,
|
|
|
+ pagecount: parseInt(Cookies.get('pageCount')),
|
|
|
+ returntype: 'Map',
|
|
|
+ parammaps: {
|
|
|
+ pastureid: Cookies.get('pastureid')
|
|
|
+ }
|
|
|
+ },
|
|
|
+ tableKey: 0,
|
|
|
+ list: [],
|
|
|
+ total: 0,
|
|
|
+ listLoading: false
|
|
|
+ },
|
|
|
+ selectList:[]
|
|
|
+ },
|
|
|
+ QRcode:{
|
|
|
+ dialogStatus: '',
|
|
|
+ dialogFormVisible:false,
|
|
|
+ },
|
|
|
+ myHeight:document.documentElement.clientHeight - 85- 150 - 45,
|
|
|
+ textMap: {
|
|
|
+ setup: '设置',
|
|
|
+ QRcode:'提示'
|
|
|
+ },
|
|
|
+ isokDisable:false,
|
|
|
+ rowStyle: { maxHeight: 30 + 'px', height: 30 + 'px' },
|
|
|
+ cellStyle: { padding: 0 + 'px' }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.getList()
|
|
|
+ },
|
|
|
+
|
|
|
+ methods: {
|
|
|
+ getList() {
|
|
|
+ this.table.listLoading = true
|
|
|
+ GetDataByName(this.table.getdataListParm).then(response => {
|
|
|
+ if (response.data.list !== null) {
|
|
|
+ console.log('table数据', response.data.list)
|
|
|
+ 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)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ handleSetUp(){
|
|
|
+ this.setUp.dialogStatus = 'setup'
|
|
|
+ this.setUp.dialogFormVisible = true
|
|
|
+ this.activeName = 'first'
|
|
|
+ this.getList1()
|
|
|
+ },
|
|
|
+ handleClick(item){
|
|
|
+ if(item == 'first'){
|
|
|
+ this.getList1()
|
|
|
+ }else{
|
|
|
+ this.getList2()
|
|
|
+ }
|
|
|
+ },
|
|
|
+ handleSelectionChange(val) {
|
|
|
+ console.log('勾选数据', val)
|
|
|
+ this.selectList = val
|
|
|
+ },
|
|
|
+ handleGenerateQRcode(){
|
|
|
+ this.QRcode.dialogStatus = 'QRcode'
|
|
|
+ this.QRcode.dialogFormVisible = true
|
|
|
+ },
|
|
|
+ handleSearch(){
|
|
|
+ this.getList2()
|
|
|
+ },
|
|
|
+ getList1() {
|
|
|
+ this.setUp.table1.listLoading = true
|
|
|
+ GetDataByName(this.setUp.table1.getdataListParm).then(response => {
|
|
|
+ if (response.data.list !== null) {
|
|
|
+ console.log('table数据', response.data.list)
|
|
|
+ this.setUp.table1.list = response.data.list
|
|
|
+ this.setUp.table1.pageNum = response.data.pageNum
|
|
|
+ this.setUp.table1.pageSize = response.data.pageSize
|
|
|
+ } else {
|
|
|
+ this.setUp.table1.list = []
|
|
|
+ }
|
|
|
+ this.setUp.table1.total = response.data.total
|
|
|
+ setTimeout(() => {
|
|
|
+ this.setUp.table1.listLoading = false
|
|
|
+ }, 100)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ getList2() {
|
|
|
+ this.setUp.table2.listLoading = true
|
|
|
+ GetDataByName(this.setUp.table2.getdataListParm).then(response => {
|
|
|
+ if (response.data.list !== null) {
|
|
|
+ console.log('table数据', response.data.list)
|
|
|
+ this.setUp.table2.list = response.data.list
|
|
|
+ this.setUp.table2.pageNum = response.data.pageNum
|
|
|
+ this.setUp.table2.pageSize = response.data.pageSize
|
|
|
+ } else {
|
|
|
+ this.setUp.table2.list = []
|
|
|
+ }
|
|
|
+ this.setUp.table2.total = response.data.total
|
|
|
+ setTimeout(() => {
|
|
|
+ this.setUp.table2.listLoading = false
|
|
|
+ }, 100)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ setData(){
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+</script>
|
|
|
+
|
|
|
+<style scoped>
|
|
|
+ .app-container{
|
|
|
+ padding: 20px 20px;
|
|
|
+ }
|
|
|
+ .content-left{padding: 5px 5px;}
|
|
|
+ .content-left b{padding-right: 10px;}
|
|
|
+
|
|
|
+ .QRcode{display:flex;justify-content: center; align-items:center;}
|
|
|
+ .content{
|
|
|
+ /* margin-top: 100px; */
|
|
|
+ width: 500px;
|
|
|
+ }
|
|
|
+ .content img{
|
|
|
+ max-width:300px;
|
|
|
+
|
|
|
+ }
|
|
|
+</style>
|