Jelajahi Sumber

通知公告websocket调试

chris 3 tahun lalu
induk
melakukan
c5e0fadf9d
5 mengubah file dengan 37 tambahan dan 26 penghapusan
  1. 1 0
      package.json
  2. 2 0
      src/main.js
  3. 25 22
      src/views/common/msg.vue
  4. 4 4
      src/views/modules/notice/notice-add-or-update.vue
  5. 5 0
      yarn.lock

+ 1 - 0
package.json

@@ -33,6 +33,7 @@
     "svg-sprite-loader": "3.7.3",
     "vue": "2.5.16",
     "vue-cookie": "1.1.4",
+    "vue-notification": "^1.3.20",
     "vue-print-nb": "^1.7.5",
     "vue-router": "3.0.1",
     "vuedraggable": "^2.24.3",

+ 2 - 0
src/main.js

@@ -15,6 +15,7 @@ import cloneDeep from 'lodash/cloneDeep'
 import SuperFlow from './views/modules/common/vue-super-flow/index'
 import html2pdf from '@/api/pdf'
 import Print from 'vue-print-nb'
+// import { Notification } from 'element-ui'
 
 Vue.use(VueCookie)
 Vue.use(SuperFlow)
@@ -30,6 +31,7 @@ if (process.env.NODE_ENV !== 'production') {
 // 挂载全局
 Vue.prototype.$http = httpRequest // ajax请求方法
 Vue.prototype.isAuth = isAuth     // 权限方法
+// Vue.prototype.$notify = Notification
 
 // 保存整站vuex本地储存初始状态
 window.SITE_CONFIG['storeState'] = cloneDeep(store.state)

+ 25 - 22
src/views/common/msg.vue

@@ -1,22 +1,22 @@
 <template>
   <div>
-    <el-dialog
-      title="查看消息"
-      width="70%"
-      :close-on-click-modal="false"
-      :visible.sync="visible">
-      <el-form :model="dataForm" ref="dataForm" label-width="auto">
-        <el-form-item label="消息类型" prop="type">
-          <el-input v-model="dataForm.type"/>
-        </el-form-item>
-        <el-form-item label="标题" prop="title">
-          <el-input v-model="dataForm.title"/>
-        </el-form-item>
-        <el-form-item label="内容" prop="content">
-          <el-input v-model="dataForm.content"/>
-        </el-form-item>
-      </el-form>
-    </el-dialog>
+<!--    <el-dialog-->
+<!--      title="查看消息"-->
+<!--      width="70%"-->
+<!--      :close-on-click-modal="false"-->
+<!--      :visible.sync="visible">-->
+<!--      <el-form :model="dataForm" ref="dataForm" label-width="auto">-->
+<!--        <el-form-item label="消息类型" prop="type">-->
+<!--          <el-input v-model="dataForm.type"/>-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="标题" prop="title">-->
+<!--          <el-input v-model="dataForm.title"/>-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="内容" prop="content">-->
+<!--          <el-input v-model="dataForm.content"/>-->
+<!--        </el-form-item>-->
+<!--      </el-form>-->
+<!--    </el-dialog>-->
   </div>
 </template>
 
@@ -31,16 +31,19 @@
       }
     },
     mounted () {
-      const that = this
+      // const that = this
       this.$nextTick(() => {
         this.$store.state.websocket.webSocket.onmessage = async function (event) {
           if (!event || !event.data) {
             return
           }
-          that.dataForm = JSON.parse(event.data)
-          // if (!that.visible) {
-          //   that.visible = true
-          // }
+          let json = JSON.stringify(event.data)
+          console.log('json = ' + json)
+          this.$notify({
+            title: event.data.title,
+            message: event.data.content,
+            duration: 0
+          })
         }
       })
     },

+ 4 - 4
src/views/modules/notice/notice-add-or-update.vue

@@ -43,7 +43,10 @@
           </el-form-item>
         </el-row>
         <el-row>
-          <el-form-item label="接收对象" prop="receivers">
+          <el-form-item prop="receivers">
+            <span slot="label">
+              <span style="color: red">*</span>&nbsp;接收对象
+            </span>
             <el-input v-if="display" :disabled="true" v-model="dataForm.receiverList"/>
             <user-components v-else v-model="dataForm.receivers" :user-ids="dataForm.receivers" @change='receiverChange' :disabled="display"/>
           </el-form-item>
@@ -129,9 +132,6 @@
                   url: fList[i].url
                 })
               }
-            } else {
-              this.$message.error('清选择公告附件')
-              return
             }
             if (!this.dataForm.receivers || this.dataForm.receivers.length === 0) {
               this.$message.error('清选择接收对象')

+ 5 - 0
yarn.lock

@@ -11666,6 +11666,11 @@ vue-loader@13.3.0:
     vue-style-loader "^3.0.0"
     vue-template-es2015-compiler "^1.6.0"
 
+vue-notification@^1.3.20:
+  version "1.3.20"
+  resolved "https://registry.nlark.com/vue-notification/download/vue-notification-1.3.20.tgz#d85618127763b46f3e25b8962b857947d5a97cbe"
+  integrity sha1-2FYYEndjtG8+JbiWK4V5R9WpfL4=
+
 vue-print-nb@^1.7.5:
   version "1.7.5"
   resolved "https://registry.nlark.com/vue-print-nb/download/vue-print-nb-1.7.5.tgz#0eaaf9317c233028458e8dbe8aa76603fef63b95"