From b27571cf78742a5de2e1d43c4af5f8cc436860e2 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期五, 12 四月 2024 15:51:02 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/views/system/threshold/index.vue  |   16 ++-
 src/views/system/point/index.vue      |    2 
 src/main.js                           |    1 
 src/views/system/equipment/index.vue  |   76 ++++---------------
 src/components/Editor/index.vue       |   96 +++++++++++++++++------
 src/views/system/report/index.vue     |    8 +-
 src/views/system/work-order/index.vue |    4 
 7 files changed, 104 insertions(+), 99 deletions(-)

diff --git a/src/components/Editor/index.vue b/src/components/Editor/index.vue
index 8981d76..692d899 100644
--- a/src/components/Editor/index.vue
+++ b/src/components/Editor/index.vue
@@ -1,19 +1,10 @@
 <template>
   <div>
-    <el-upload
-      :action="uploadUrl"
-      :before-upload="handleBeforeUpload"
-      :on-success="handleUploadSuccess"
-      :on-error="handleUploadError"
-      name="file"
-      :show-file-list="false"
-      :headers="headers"
-      style="display: none"
-      ref="upload"
-      v-if="this.type == 'url'"
-    >
+    <el-upload :action="uploadUrl" :before-upload="handleBeforeUpload" :on-success="handleUploadSuccess"
+      :on-error="handleUploadError" name="file" :show-file-list="false" :headers="headers" style="display: none"
+      ref="upload" v-if="this.type == 'url'">
     </el-upload>
-    <div class="editor" ref="editor" :style="styles"></div>
+    <div class="editor" ref="editor" :style="styles" @paste="onPaste($event)"></div>
   </div>
 </template>
 
@@ -23,6 +14,8 @@
 import "quill/dist/quill.snow.css";
 import "quill/dist/quill.bubble.css";
 import { getToken } from "@/utils/auth";
+import request from '@/utils/request';
+
 
 export default {
   name: "Editor",
@@ -47,7 +40,7 @@
       type: Boolean,
       default: false,
     },
-    /* 涓婁紶鏂囦欢澶у皬闄愬埗(MB) */
+    // 涓婁紶鏂囦欢澶у皬闄愬埗(MB)
     fileSize: {
       type: Number,
       default: 5,
@@ -122,6 +115,45 @@
     this.Quill = null;
   },
   methods: {
+    /**鐩戝惉瀵屾枃鏈紪杈戝櫒鐨勭矘璐翠簨浠�  閽堝鍥剧墖杩涜鎿嶄綔 */
+    onPaste(evt) {
+      // 鑾峰彇瑙f瀽 绮樿创鐨勫唴瀹�
+      //鍏堝垽鏂矘璐寸殑鍐呭鏄惁鏄浘鐗�
+      if (
+        evt.clipboardData &&
+        evt.clipboardData.files &&
+        evt.clipboardData.files.length
+      ) {
+        evt.preventDefault();
+        [].forEach.call(evt.clipboardData.files, (file) => {
+          if (!file.type.match(/^image\/(gif|jpe?g|a?png|bmp)/i)) {
+            return;
+          }
+          const formData = new FormData();
+          formData.append("file", file);
+          //甯﹁姹傚ご杩囬獙璇�
+          const config = {
+            headers: {
+              "Authorization": "Bearer " + getToken()
+            }
+          };
+          request.post("/common/upload", formData, config).then(
+            res => {
+              if (res.code == 200) {
+                let length = this.Quill.getSelection().index; //鍏夋爣浣嶇疆
+                // 鎻掑叆鍥剧墖鍦板潃
+                this.Quill.insertEmbed(length, "image", 'https://s.rongeying.cn/' + res.fileName);
+                // 鍏夋爣鍚庣Щ涓�浣�
+                this.Quill.setSelection(length + 1);
+              } else {
+                this.$message.error("鍥剧墖鎻掑叆澶辫触");
+              }
+            })
+        });
+      }
+
+    },
+
     init() {
       const editor = this.$refs.editor;
       this.Quill = new Quill(editor, this.options);
@@ -129,6 +161,7 @@
       if (this.type == 'url') {
         let toolbar = this.Quill.getModule("toolbar");
         toolbar.addHandler("image", (value) => {
+          this.uploadType = "image";
           if (value) {
             this.$refs.upload.$children[0].$refs.input.click();
           } else {
@@ -157,13 +190,6 @@
     },
     // 涓婁紶鍓嶆牎妫�鏍煎紡鍜屽ぇ灏�
     handleBeforeUpload(file) {
-      const type = ["image/jpeg", "image/jpg", "image/png", "image/svg"];
-      const isJPG = type.includes(file.type);
-      // 妫�楠屾枃浠舵牸寮�
-      if (!isJPG) {
-        this.$message.error(`鍥剧墖鏍煎紡閿欒!`);
-        return false;
-      }
       // 鏍℃鏂囦欢澶у皬
       if (this.fileSize) {
         const isLt = file.size / 1024 / 1024 < this.fileSize;
@@ -175,14 +201,15 @@
       return true;
     },
     handleUploadSuccess(res, file) {
+      // 鑾峰彇瀵屾枃鏈粍浠跺疄渚�
+      let quill = this.Quill;
       // 濡傛灉涓婁紶鎴愬姛
       if (res.code == 200) {
-        // 鑾峰彇瀵屾枃鏈粍浠跺疄渚�
-        let quill = this.Quill;
         // 鑾峰彇鍏夋爣鎵�鍦ㄤ綅缃�
         let length = quill.getSelection().index;
         // 鎻掑叆鍥剧墖  res.url涓烘湇鍔″櫒杩斿洖鐨勫浘鐗囧湴鍧�
-        quill.insertEmbed(length, "image", process.env.VUE_APP_BASE_API + res.fileName);
+        // quill.insertEmbed(length, "image", 'https://rongeying.cn/ronge/' + res.fileName);
+        quill.insertEmbed(length, "image", 'https://s.rongeying.cn/' + res.fileName);
         // 璋冩暣鍏夋爣鍒版渶鍚�
         quill.setSelection(length + 1);
       } else {
@@ -197,76 +224,95 @@
 </script>
 
 <style>
-.editor, .ql-toolbar {
+.editor,
+.ql-toolbar {
   white-space: pre-wrap !important;
   line-height: normal !important;
 }
+
 .quill-img {
   display: none;
 }
+
 .ql-snow .ql-tooltip[data-mode="link"]::before {
   content: "璇疯緭鍏ラ摼鎺ュ湴鍧�:";
 }
+
 .ql-snow .ql-tooltip.ql-editing a.ql-action::after {
   border-right: 0px;
   content: "淇濆瓨";
   padding-right: 0px;
 }
+
 .ql-snow .ql-tooltip[data-mode="video"]::before {
   content: "璇疯緭鍏ヨ棰戝湴鍧�:";
 }
+
 .ql-snow .ql-picker.ql-size .ql-picker-label::before,
 .ql-snow .ql-picker.ql-size .ql-picker-item::before {
   content: "14px";
 }
+
 .ql-snow .ql-picker.ql-size .ql-picker-label[data-value="small"]::before,
 .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="small"]::before {
   content: "10px";
 }
+
 .ql-snow .ql-picker.ql-size .ql-picker-label[data-value="large"]::before,
 .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="large"]::before {
   content: "18px";
 }
+
 .ql-snow .ql-picker.ql-size .ql-picker-label[data-value="huge"]::before,
 .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="huge"]::before {
   content: "32px";
 }
+
 .ql-snow .ql-picker.ql-header .ql-picker-label::before,
 .ql-snow .ql-picker.ql-header .ql-picker-item::before {
   content: "鏂囨湰";
 }
+
 .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]::before,
 .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before {
   content: "鏍囬1";
 }
+
 .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]::before,
 .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before {
   content: "鏍囬2";
 }
+
 .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]::before,
 .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before {
   content: "鏍囬3";
 }
+
 .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]::before,
 .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before {
   content: "鏍囬4";
 }
+
 .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]::before,
 .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before {
   content: "鏍囬5";
 }
+
 .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]::before,
 .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before {
   content: "鏍囬6";
 }
+
 .ql-snow .ql-picker.ql-font .ql-picker-label::before,
 .ql-snow .ql-picker.ql-font .ql-picker-item::before {
   content: "鏍囧噯瀛椾綋";
 }
+
 .ql-snow .ql-picker.ql-font .ql-picker-label[data-value="serif"]::before,
 .ql-snow .ql-picker.ql-font .ql-picker-item[data-value="serif"]::before {
   content: "琛嚎瀛椾綋";
 }
+
 .ql-snow .ql-picker.ql-font .ql-picker-label[data-value="monospace"]::before,
 .ql-snow .ql-picker.ql-font .ql-picker-item[data-value="monospace"]::before {
   content: "绛夊瀛椾綋";
diff --git a/src/main.js b/src/main.js
index 7944e09..ba602b0 100644
--- a/src/main.js
+++ b/src/main.js
@@ -58,6 +58,7 @@
 Vue.prototype.download = download
 Vue.prototype.handleTree = handleTree
 Vue.prototype.getToken = getToken
+Vue.prototype.$uploadUrl = process.env.VUE_APP_BASE_API + "/common/upload"
 
 // 鍏ㄥ眬缁勪欢鎸傝浇
 Vue.component('DictTag', DictTag)
diff --git a/src/views/system/equipment/index.vue b/src/views/system/equipment/index.vue
index ada2e73..1b6dd83 100644
--- a/src/views/system/equipment/index.vue
+++ b/src/views/system/equipment/index.vue
@@ -16,28 +16,24 @@
               <p>璁惧鎬绘暟</p >
             </div>
             <div class="dashboard-item">
+              <h3 style="color: #5C9BF8">{{ count.totalPosts }}</h3>
+              <p>浜鸿劯璁惧鏁�</p >
+            </div>
+            <div class="dashboard-item">
+              <h3 style="color: #5C9BF8">{{ count.totalPosts }}</h3>
+              <p>杞﹁締璁惧鏁�</p >
+            </div>
+            <div class="dashboard-item">
+              <h3 style="color: #5C9BF8">{{ count.totalPosts }}</h3>
+              <p>瑙嗛璁惧鏁�</p >
+            </div>
+            <div class="dashboard-item">
               <h3 style="color: #3eba45">{{ count.totalMembers }}</h3>
               <p>姝e父鏁�</p >
             </div>
             <div class="dashboard-item">
               <h3 style="color: #fe640d">{{ count.postsPercentage }}</h3>
               <p>寮傚父鏁�</p >
-            </div>
-            <div class="dashboard-item">
-              <h3>{{ count.totalViews }}</h3>
-              <p>鐢熸垚寮傚父宸ュ崟鏁�</p >
-            </div>
-            <div class="dashboard-item">
-              <h3>{{ count.noStore }}</h3>
-              <p>鏃犲瓨鍌�</p >
-            </div>
-            <div class="dashboard-item">
-              <h3>{{ count.partStore }}</h3>
-              <p>閮ㄥ垎瀛樺偍</p >
-            </div>
-            <div class="dashboard-item">
-              <h3>{{ count.viewsPercentage }}%</h3>
-              <p>璁惧杩愯鐜�</p >
             </div>
           </div>
         </el-col>
@@ -84,21 +80,6 @@
         />
         </el-select>
       </el-form-item>
-       <el-form-item label="鏄惁鐢熸垚寮傚父宸ュ崟" prop="defaultOrder" label-width="130px">
-         <el-select
-           v-model="queryParams.defaultOrder"
-           placeholder="鏄惁鐢熸垚寮傚父宸ュ崟"
-           clearable
-           style="width: 170px"
-         >
-         <el-option
-           v-for="dict in dict.type.platform_yes_no"
-           :key="dict.value"
-           :label="dict.label"
-           :value="dict.value"
-         />
-         </el-select>
-        </el-form-item>
 
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
@@ -130,16 +111,8 @@
         <dict-tag :options="dict.type.camera_state" :value="scope.row.onState"/>
       </template>
       </el-table-column>
-      <el-table-column label="鏄惁鐢熸垚寮傚父宸ュ崟" align="center" prop="defaultOrder" width="180" v-if="columns[3].visible">
-      <template slot-scope="scope">
-        <dict-tag :options="dict.type.platform_yes_no" :value="scope.row.defaultOrder"/>
-      </template>
-      </el-table-column>
-      <el-table-column label="鏁版嵁鏃堕棿" align="center" prop="installedTime" width="180" v-if="columns[4].visible"/>
-      <el-table-column label="绠$悊鍗曚綅" align="center" prop="managementUnit" width="180" v-if="columns[5].visible"/>
-      <el-table-column label="淇′护鏃跺欢(ms)" align="center" prop="sipDelay" width="180" v-if="columns[6].visible"/>
-      <el-table-column label="瑙嗛鏃跺欢(ms)" align="center" prop="videoDelay" width="180" v-if="columns[7].visible"/>
-      <el-table-column label="鍏抽敭甯ф椂寤�(ms)" align="center" prop="iframeDelay" width="180" v-if="columns[8].visible"/>
+      <el-table-column label="鏁版嵁鏃堕棿" align="center" prop="installedTime" width="180" v-if="columns[3].visible"/>
+      <el-table-column label="绠$悊鍗曚綅" align="center" prop="managementUnit" width="180" v-if="columns[4].visible"/>
       <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"  fixed="right">
           <template slot-scope="scope">
             <el-button
@@ -176,25 +149,12 @@
           </el-col>
           <el-col :span="24">
             <el-form-item label="鍦板潃锛�">{{ form.address }}</el-form-item>
-            <el-form-item label="鏄惁鐢熸垚寮傚父宸ュ崟锛�">
-              <div v-if="form.defaultOrder === 1">鏄�</div>
-              <div v-else-if="form.defaultOrder === 2">鍚�</div>
-            </el-form-item>
           </el-col>
           <el-col :span="24">
             <el-form-item label="瀹夎鏃堕棿锛�">{{ form.installedTime }}</el-form-item>
           </el-col>
           <el-col :span="24">
             <el-form-item label="绠$悊鍗曚綅锛�">{{ form.managementUnit }}</el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="淇′护鏃跺欢(ms)锛�"></el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="瑙嗛鏃跺欢(ms)锛�"></el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="鍏抽敭甯ф椂寤�(ms)锛�"></el-form-item>
           </el-col>
         </el-row>
       </el-form>
@@ -217,12 +177,8 @@
         { key: 0, label: `鏍囩`, visible: true },
         { key: 1, label: `鍖哄煙`, visible: true },
         { key: 2, label: `璁惧鐘舵�乣, visible: true },
-        { key: 3, label: `鏄惁鐢熸垚寮傚父宸ュ崟`, visible: true },
-        { key: 4, label: `鏁版嵁鏃堕棿`, visible: true },
-        { key: 5, label: `绠$悊鍗曚綅`, visible: true },
-        { key: 6, label: `淇′护鏃跺欢`, visible: true },
-        { key: 7, label: `瑙嗛鏃跺欢`, visible: true },
-        { key: 8, label: `鍏抽敭甯ф椂寤禶, visible: true }
+        { key: 3, label: `鏁版嵁鏃堕棿`, visible: true },
+        { key: 4, label: `绠$悊鍗曚綅`, visible: true },
       ],
       count: {
         totalPosts: 0,
diff --git a/src/views/system/point/index.vue b/src/views/system/point/index.vue
index 5a84703..578d5c0 100644
--- a/src/views/system/point/index.vue
+++ b/src/views/system/point/index.vue
@@ -84,7 +84,7 @@
 
     <el-table v-loading="loading" :data="pointList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="鐐逛綅鍚嶇О" align="center" prop="pointName" />
+      <el-table-column label="鐐逛綅绫诲瀷" align="center" prop="pointType" />
       <el-table-column label="鏍囩" align="center" prop="tag" >
         <span>{{important}}</span>
       </el-table-column>
diff --git a/src/views/system/report/index.vue b/src/views/system/report/index.vue
index f58d886..b302426 100644
--- a/src/views/system/report/index.vue
+++ b/src/views/system/report/index.vue
@@ -173,15 +173,15 @@
             <el-option label="璁惧閬楀け" value="璁惧閬楀け"/>
           </el-select>
         </el-form-item>
-        <el-form-item label="鏈夋晥鏃堕棿">
+        <el-form-item label="鎶ュ鏃堕棿" prop="expirTime">
           <el-date-picker
             v-model="expirTime"
             style="width: 240px"
             value-format="yyyy-MM-dd"
             type="daterange"
             range-separator="-"
-            start-placeholder="鐢熸晥鏃ユ湡"
-            end-placeholder="澶辨晥鏃ユ湡"
+            start-placeholder="寮�濮嬫棩鏈�"
+            end-placeholder="缁撴潫鏃ユ湡"
           ></el-date-picker>
         </el-form-item>
         <el-form-item label="鎶ュ鍐呭" prop="reportContent">
@@ -332,7 +332,7 @@
           { required: true, message: "璇烽�夋嫨鏁呴殰绫诲瀷", trigger: "blur" }
         ],
         expirTime: [
-          { required: true, message: "璇烽�夋嫨鏈夋晥鏃堕棿", trigger: "blur" }
+          { required: true, message: "璇烽�夋嫨鎶ュ鏃堕棿", trigger: "blur" }
         ],
       }
     };
diff --git a/src/views/system/threshold/index.vue b/src/views/system/threshold/index.vue
index 5b536ca..8b6e629 100644
--- a/src/views/system/threshold/index.vue
+++ b/src/views/system/threshold/index.vue
@@ -26,15 +26,17 @@
       <el-table-column label="瓒呮椂澶╂暟" align="center" prop="timeout"/>
       <el-table-column label="宸ュ崟闃堝��" align="center" prop="indicator">
         <template slot-scope="scope">
-          <div v-for="item in JSON.parse(scope.row.indicator)" :key="item">
-            {{ item.label }}锛歿{ item.value }}
+          <div v-for="item in JSON.parse(scope.row.indicator)" :key="item" style="display: flex;flex-direction: row">
+            <div style="width: 120px;text-align: right">{{ item.label }}</div>
+            <div style="width: 60px;text-align: right">{{ item.value}}</div>
           </div>
         </template>
       </el-table-column>
       <el-table-column label="涓嬪彂闃堝��" align="center" prop="indicator">
         <template slot-scope="scope">
-          <div v-for="item in JSON.parse(scope.row.indicator)" :key="item">
-            {{ item.label }}锛歿{ item.value2 }}
+          <div v-for="item in JSON.parse(scope.row.indicator)" :key="item" style="display: flex;flex-direction: row">
+            <div style="width: 120px;text-align: right">{{ item.label }}</div>
+            <div style="width: 60px;text-align: right">{{ item.value2}}</div>
           </div>
         </template>
       </el-table-column>
@@ -334,7 +336,7 @@
 }
 </script>
 <style>
-.el-input-half-width {  
-  width: calc(50% - 6px); /* 鍑忓幓涓�浜涢棿闅� */  
+.el-input-half-width {
+  width: calc(50% - 6px); /* 鍑忓幓涓�浜涢棿闅� */
 }
-</style>
\ No newline at end of file
+</style>
diff --git a/src/views/system/work-order/index.vue b/src/views/system/work-order/index.vue
index ad79c56..db3ec0d 100644
--- a/src/views/system/work-order/index.vue
+++ b/src/views/system/work-order/index.vue
@@ -170,7 +170,7 @@
         <el-form-item label="鐜板満鍥剧墖" prop="picture">
           <el-upload
             class="avatar-uploader"
-            action="/dev-api/common/upload"
+            :action="this.$uploadUrl"
             name="file"
             :headers="{'Authorization': 'Bearer ' + getToken()}"
             :on-success="pictureUploadSuccess"
@@ -184,7 +184,7 @@
         <el-form-item label="浣愯瘉鏉愭枡" prop="certificates">
           <el-upload
             class="avatar-uploader"
-            action="/dev-api/common/upload"
+            :action="this.$uploadUrl"
             name="file"
             :headers="{'Authorization': 'Bearer ' + getToken()}"
             :on-success="certificateUploadSuccess"

--
Gitblit v1.8.0