MrShi
8 天以前 030f7971cee2aa77408678f51b2f11e1a451fbb7
钉钉通知
已添加3个文件
已修改1个文件
229 ■■■■■ 文件已修改
admin/.env.development 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/api/business/ddNoticeConfig.js 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaDdNoticeConfigWindow.vue 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/ddNoticeConfig.vue 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/.env.development
@@ -2,7 +2,7 @@
NODE_ENV = 'development'
# VUE_APP_API_URL  = 'https://atwl.ahzyssl.com/zhyq_interface'
VUE_APP_API_URL  = 'http://192.168.1.54:10010'
VUE_APP_API_URL  = 'http://192.168.1.116:10010'
# VUE_APP_API_URL  = 'https://atwl.ahzyssl.com/zhyq_interface'
# VUE_APP_API_URL  = 'http://10.50.250.253:8088/gateway_interface'
admin/src/api/business/ddNoticeConfig.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,50 @@
import request from '../../utils/request'
// æŸ¥è¯¢
export function fetchList (data) {
  return request.post('/visitsAdmin/cloudService/business/ddNoticeConfig/page', data, {
    trim: true
  })
}
// å¯¼å‡ºExcel
export function exportExcel (data) {
  return request.post('/visitsAdmin/cloudService/business/ddNoticeConfig/exportExcel', data, {
    trim: true,
    download: true
  })
}
// åˆ›å»º
export function create (data) {
  return request.post('/visitsAdmin/cloudService/business/ddNoticeConfig/create', data)
}
// ä¿®æ”¹
export function updateById (data) {
  return request.post('/visitsAdmin/cloudService/business/ddNoticeConfig/updateById', data)
}
// é’‰é’‰é€šçŸ¥ æ‰¹é‡çŠ¶æ€æ›´æ–°
export function H5ddNoticeConfig (data) {
  return request.get('/visitsAdmin/cloudService/business/ddNoticeConfig/updateStatus/batch', {
    params: {
      ...data
    }
  })
}
// åˆ é™¤
export function deleteById (id) {
  return request.get(`/visitsAdmin/cloudService/business/ddNoticeConfig/delete/${id}`)
}
// æ‰¹é‡åˆ é™¤
export function deleteByIdInBatch (ids) {
  return request.get('/visitsAdmin/cloudService/business/ddNoticeConfig/delete/batch', {
    params: {
      ids
    }
  })
}
admin/src/components/business/OperaDdNoticeConfigWindow.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,74 @@
<template>
  <GlobalWindow
    :title="title"
    :visible.sync="visible"
    :confirm-working="isWorking"
    @confirm="confirm"
  >
    <el-form :model="form" ref="form" :rules="rules">
      <el-form-item label="创建人编码" prop="creator">
        <el-input v-model="form.creator" placeholder="请输入创建人编码" v-trim/>
      </el-form-item>
      <el-form-item label="创建时间" prop="createDate">
        <el-date-picker v-model="form.createDate" value-format="yyyy-MM-dd" placeholder="请输入创建时间"></el-date-picker>
      </el-form-item>
      <el-form-item label="更新人编码" prop="edirot">
        <el-input v-model="form.edirot" placeholder="请输入更新人编码" v-trim/>
      </el-form-item>
      <el-form-item label="更新时间" prop="editDate">
        <el-date-picker v-model="form.editDate" value-format="yyyy-MM-dd" placeholder="请输入更新时间"></el-date-picker>
      </el-form-item>
      <el-form-item label="是否删除0否 1是" prop="isdeleted">
        <el-input v-model="form.isdeleted" placeholder="请输入是否删除0否 1是" v-trim/>
      </el-form-item>
      <el-form-item label="备注" prop="remark">
        <el-input v-model="form.remark" placeholder="请输入备注" v-trim/>
      </el-form-item>
      <el-form-item label="开启状态:0开启;1关闭" prop="status">
        <el-input v-model="form.status" placeholder="请输入开启状态:0开启;1关闭" v-trim/>
      </el-form-item>
      <el-form-item label="标题" prop="titile">
        <el-input v-model="form.titile" placeholder="请输入标题" v-trim/>
      </el-form-item>
      <el-form-item label="业务类型 1=访客提交访客申请待审批人进行审批;2=访客提交访客申请审批通过,通知被访人;3=访客提交访客申请审批拒绝,通知被访人;4=访客申请审批通过,通知抄送人;5=访客报备待审批人进行审批;6=访客报备审批通过,通知发起人;7=访客报备审批拒绝,通知发起人;8=访客报备审批通过,通知抄送人;9=公务车申请,通知审批人;10=公务车申请审批通过,通知发起人;11=公务车申请审批驳回,通知发起人;12=公务车申请审批通过,通知抄送人;13=天气预警;14=区域事件通知;" prop="objType">
        <el-input v-model="form.objType" placeholder="请输入业务类型 1=访客提交访客申请待审批人进行审批;2=访客提交访客申请审批通过,通知被访人;3=访客提交访客申请审批拒绝,通知被访人;4=访客申请审批通过,通知抄送人;5=访客报备待审批人进行审批;6=访客报备审批通过,通知发起人;7=访客报备审批拒绝,通知发起人;8=访客报备审批通过,通知抄送人;9=公务车申请,通知审批人;10=公务车申请审批通过,通知发起人;11=公务车申请审批驳回,通知发起人;12=公务车申请审批通过,通知抄送人;13=天气预警;14=区域事件通知;" v-trim/>
      </el-form-item>
    </el-form>
  </GlobalWindow>
</template>
<script>
import BaseOpera from '@/components/base/BaseOpera'
import GlobalWindow from '@/components/common/GlobalWindow'
export default {
  name: 'OperaDdNoticeConfigWindow',
  extends: BaseOpera,
  components: { GlobalWindow },
  data () {
    return {
      // è¡¨å•数据
      form: {
        id: null,
        creator: '',
        createDate: '',
        edirot: '',
        editDate: '',
        isdeleted: '',
        remark: '',
        status: '',
        titile: '',
        objType: ''
      },
      // éªŒè¯è§„则
      rules: {
      }
    }
  },
  created () {
    this.config({
      api: '/business/ddNoticeConfig',
      'field.id': 'id'
    })
  }
}
</script>
admin/src/views/business/ddNoticeConfig.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,103 @@
<template>
  <TableLayout :permissions="['business:ddnoticeconfig:query']">
    <!-- è¡¨æ ¼å’Œåˆ†é¡µ -->
    <template v-slot:table-wrap>
      <ul class="toolbar">
        <li><el-button type="primary" @click="batchStatus(0)">批量启用</el-button></li>
        <li><el-button @click="batchStatus(1)">批量禁用</el-button></li>
      </ul>
      <el-table
        :height="tableHeightNew"
        v-loading="isWorking.search"
        :data="tableData.list"
        stripe
        @selection-change="handleSelectionChange"
      >
        <el-table-column align="center" type="selection" width="55"></el-table-column>
        <el-table-column prop="titile" label="标题"></el-table-column>
        <el-table-column prop="status" label="状态" width="150px">
          <template slot-scope="{row}">
            <el-switch
              v-model="row.status"
              @change="changeStatus(row)"
              active-color="#13ce66"
              inactive-color="#ff4949"
              :active-value="0"
              :inactive-value="1">
            </el-switch>
          </template>
        </el-table-column>
      </el-table>
      <pagination
        @size-change="handleSizeChange"
        @current-change="handlePageChange"
        :pagination="tableData.pagination"
      >
      </pagination>
    </template>
  </TableLayout>
</template>
<script>
import BaseTable from '@/components/base/BaseTable'
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
import { H5ddNoticeConfig } from '@/api/business/ddNoticeConfig'
import { Message } from 'element-ui'
export default {
  name: 'DdNoticeConfig',
  extends: BaseTable,
  components: { TableLayout, Pagination },
  data () {
    return {
      // æœç´¢
      searchForm: {},
      ids: []
    }
  },
  created () {
    this.config({
      module: '钉钉公众号通知配置',
      api: '/business/ddNoticeConfig',
      'field.id': 'id',
      'field.main': 'id'
    })
    this.search()
  },
  methods: {
    handleSelectionChange(val) {
      this.ids = val.map(i => i.id)
    },
    batchStatus(status) {
      const { ids } = this
      if (ids.length == 0) return Message.error('请先选择要更改的通知')
      this.$confirm(`确定${status == 0 ? '启用' : '禁用'}选中的所有通知吗?`, '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        H5ddNoticeConfig({
          ids: ids.join(','),
          status
        }).then(res => {
          Message.success('批量更新成功')
          this.search()
        }, () => {
          this.search()
        })
      })
    },
    changeStatus(row) {
      H5ddNoticeConfig({
        ids: row.id,
        status: row.status
      }).then(res => {
        Message.success('状态更新成功')
      }, () => {
        this.search()
      })
    },
  }
}
</script>