From 030f7971cee2aa77408678f51b2f11e1a451fbb7 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期二, 14 十月 2025 18:26:22 +0800
Subject: [PATCH] 钉钉通知

---
 admin/src/components/business/OperaDdNoticeConfigWindow.vue |   74 ++++++++++++++++++
 admin/.env.development                                      |    2 
 admin/src/api/business/ddNoticeConfig.js                    |   50 ++++++++++++
 admin/src/views/business/ddNoticeConfig.vue                 |  103 +++++++++++++++++++++++++
 4 files changed, 228 insertions(+), 1 deletions(-)

diff --git a/admin/.env.development b/admin/.env.development
index 3661935..bb23aa8 100644
--- a/admin/.env.development
+++ b/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'
 
diff --git a/admin/src/api/business/ddNoticeConfig.js b/admin/src/api/business/ddNoticeConfig.js
new file mode 100644
index 0000000..dfc62c4
--- /dev/null
+++ b/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
+    }
+  })
+}
diff --git a/admin/src/components/business/OperaDdNoticeConfigWindow.vue b/admin/src/components/business/OperaDdNoticeConfigWindow.vue
new file mode 100644
index 0000000..68103e1
--- /dev/null
+++ b/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>
diff --git a/admin/src/views/business/ddNoticeConfig.vue b/admin/src/views/business/ddNoticeConfig.vue
new file mode 100644
index 0000000..0525f47
--- /dev/null
+++ b/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>

--
Gitblit v1.9.3