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