From 29ea0fd5d04dbaac800f211e0ac7701de0a7f3f4 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期一, 15 九月 2025 15:18:08 +0800
Subject: [PATCH] 新需求

---
 src/views/home/data-video/index.vue     |   17 +++++
 src/layout/components/Navbar.vue        |   12 ++--
 src/views/home/data-face/index.vue      |   19 +++++
 src/views/system/check/result/index.vue |    4 +
 src/views/home/data-car/index.vue       |   20 ++++++
 src/components/Editor/index.vue         |   29 +++++++++
 src/views/system/report/index.vue       |   60 ++++++++++++++++++-
 src/views/system/work-order/index.vue   |   15 ++++
 8 files changed, 157 insertions(+), 19 deletions(-)

diff --git a/src/components/Editor/index.vue b/src/components/Editor/index.vue
index 692d899..913999c 100644
--- a/src/components/Editor/index.vue
+++ b/src/components/Editor/index.vue
@@ -157,6 +157,17 @@
     init() {
       const editor = this.$refs.editor;
       this.Quill = new Quill(editor, this.options);
+      // 鏂板锛氱紪杈戝尯鍩熺偣鍑昏仛鐒﹂�昏緫
+      const qlEditor = editor.querySelector('.ql-editor');
+      if (qlEditor && !this.readOnly) {
+        qlEditor.addEventListener('click', () => {
+          this.Quill.focus(); // 鐐瑰嚮鏃跺己鍒惰仛鐒�
+        });
+        if (!this.currentValue) {
+          qlEditor.classList.add('ql-blank'); // 绌哄唴瀹规椂鏄剧ず鍗犱綅绗�
+        }
+      }
+
       // 濡傛灉璁剧疆浜嗕笂浼犲湴鍧�鍒欒嚜瀹氫箟鍥剧墖涓婁紶浜嬩欢
       if (this.type == 'url') {
         let toolbar = this.Quill.getModule("toolbar");
@@ -224,7 +235,23 @@
 </script>
 
 <style>
-.editor,
+.editor {
+  position: relative;
+  line-height: normal !important;
+}
+.ql-editor {
+  min-height: inherit !important; /* 缁ф壙鐖跺鍣ㄧ殑min-height */
+  height: 100% !important; /* 鍗犳弧鐖跺鍣ㄩ珮搴� */
+  cursor: text; /* 鏄剧ず鏂囨湰鍏夋爣锛屾彁绀哄彲鐐瑰嚮 */
+  padding: 12px 15px; /* 鎵╁ぇ鐐瑰嚮鑼冨洿 */
+  box-sizing: border-box; /* 鍐呰竟璺濅笉瓒呭嚭瀹瑰櫒 */
+}
+.ql-editor.ql-blank::before {
+  content: attr(data-placeholder);
+  color: rgba(0, 0, 0, 0.3);
+  font-style: italic;
+  pointer-events: none; /* 涓嶅奖鍝嶇偣鍑讳簨浠� */
+}
 .ql-toolbar {
   white-space: pre-wrap !important;
   line-height: normal !important;
diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue
index 90c59ec..6fca5d2 100644
--- a/src/layout/components/Navbar.vue
+++ b/src/layout/components/Navbar.vue
@@ -41,12 +41,12 @@
     <div class="button-container">
       <el-button v-if="roles.includes('admin') || roles.includes('county_leader') || roles.includes('city_leader')" type="primary" @click="toScreen" size="small">鍙鍖栧ぇ灞�</el-button>
     </div>
-    <div class="button-container">
-      <el-button type="primary" @click="toSystemB" size="small">璺宠浆B绯荤粺</el-button>
-    </div>
-    <div class="button-container">
-      <el-button type="primary" @click="toSystemA" size="small">璺宠浆A绯荤粺</el-button>
-    </div>
+<!--    <div class="button-container">-->
+<!--      <el-button type="primary" @click="toSystemB" size="small">璺宠浆B绯荤粺</el-button>-->
+<!--    </div>-->
+<!--    <div class="button-container">-->
+<!--      <el-button type="primary" @click="toSystemA" size="small">璺宠浆A绯荤粺</el-button>-->
+<!--    </div>-->
   </div>
 </template>
 
diff --git a/src/views/home/data-car/index.vue b/src/views/home/data-car/index.vue
index d860e8c..04b0fb5 100644
--- a/src/views/home/data-car/index.vue
+++ b/src/views/home/data-car/index.vue
@@ -16,10 +16,17 @@
               </el-option>
             </el-select>
           </div>
-          <div class="select-container">
+          <div style="margin-right: 20px">
             <el-date-picker v-model="date" format="yyyy-MM" value-format="yyyy-MM" type="month" placeholder="閫夋嫨鏈堜唤"
                             @change="dateChange">
             </el-date-picker>
+          </div>
+
+          <div>
+            <el-select v-model="params.area" placeholder="鍖哄幙" @change="getChart"  clearable>
+              <el-option v-for="item in areaOption" :key="item.label" :label="item.label" :value="item.value">
+              </el-option>
+            </el-select>
           </div>
         </div>
         <div class="chart-container">
@@ -48,6 +55,15 @@
       },
       options: [
         {label: '鐪佸巺', value: 1},
+      ],
+      areaOption:[
+        {label:'鑷祦浜曞尯',value:'510302'},
+        {label:'璐′簳鍖�',value:'510303'},
+        {label:'澶у畨鍖�',value:'510304'},
+        {label:'娌挎哗鍖�',value:'510311'},
+        {label:'鑽e幙',value:'510321'},
+        {label:'瀵岄『鍘�',value:'510322'},
+        {label:'楂樻柊鍖�',value:'510399'},
       ],
       categories: [
         {label: '绱鏁版嵁', value: 1},
@@ -346,7 +362,7 @@
 }
 
 .select-container {
-  margin-left: 20px;
+  margin: 0 20px;
   width: 180px;
 }
 </style>
diff --git a/src/views/home/data-face/index.vue b/src/views/home/data-face/index.vue
index d55da51..ea68755 100644
--- a/src/views/home/data-face/index.vue
+++ b/src/views/home/data-face/index.vue
@@ -16,10 +16,16 @@
               </el-option>
             </el-select>
           </div>
-          <div class="select-container">
+          <div style="margin-right: 20px">
             <el-date-picker v-model="date" format="yyyy-MM" value-format="yyyy-MM" type="month" placeholder="閫夋嫨鏈堜唤"
                             @change="dateChange">
             </el-date-picker>
+          </div>
+          <div >
+            <el-select v-model="params.area" placeholder="鍖哄幙" @change="getChart"  clearable>
+              <el-option v-for="item in areaOption" :key="item.label" :label="item.label" :value="item.value">
+              </el-option>
+            </el-select>
           </div>
         </div>
         <div class="chart-container">
@@ -50,6 +56,15 @@
       categories: [
         {label: '绱鏁版嵁', value: 1},
         {label: '姣忔棩鏁版嵁', value: 2},
+      ],
+      areaOption:[
+        {label:'鑷祦浜曞尯',value:'510302'},
+        {label:'璐′簳鍖�',value:'510303'},
+        {label:'澶у畨鍖�',value:'510304'},
+        {label:'娌挎哗鍖�',value:'510311'},
+        {label:'鑽e幙',value:'510321'},
+        {label:'瀵岄『鍘�',value:'510322'},
+        {label:'楂樻柊鍖�',value:'510399'},
       ],
       options: [
         {label: '鐪佸巺', value: 1}
@@ -348,7 +363,7 @@
 }
 
 .select-container {
-  margin-left: 20px;
+  margin: 0 20px;
   width: 180px;
 }
 </style>
diff --git a/src/views/home/data-video/index.vue b/src/views/home/data-video/index.vue
index 3fe8671..384123e 100644
--- a/src/views/home/data-video/index.vue
+++ b/src/views/home/data-video/index.vue
@@ -10,10 +10,16 @@
               </el-option>
             </el-select>
           </div>
-          <div >
+          <div style="margin-right: 20px" >
             <el-date-picker v-model="date" format="yyyy-MM" value-format="yyyy-MM" type="month" placeholder="閫夋嫨鏈堜唤"
                             @change="dateChange">
             </el-date-picker>
+          </div>
+          <div >
+            <el-select v-model="params.area" placeholder="鍖哄幙" @change="getChart"  clearable>
+              <el-option v-for="item in areaOption" :key="item.label" :label="item.label" :value="item.value">
+              </el-option>
+            </el-select>
           </div>
         </div>
         <div class="chart-container">
@@ -42,6 +48,15 @@
         {label: '鐪佸巺', value: 1},
         {label: '鍏畨閮�', value: 2}
       ],
+      areaOption:[
+        {label:'鑷祦浜曞尯',value:'510302'},
+        {label:'璐′簳鍖�',value:'510303'},
+        {label:'澶у畨鍖�',value:'510304'},
+        {label:'娌挎哗鍖�',value:'510311'},
+        {label:'鑽e幙',value:'510321'},
+        {label:'瀵岄『鍘�',value:'510322'},
+        {label:'楂樻柊鍖�',value:'510399'},
+      ],
       dataList: [],
     }
   },
diff --git a/src/views/system/check/result/index.vue b/src/views/system/check/result/index.vue
index a6be274..55709c4 100644
--- a/src/views/system/check/result/index.vue
+++ b/src/views/system/check/result/index.vue
@@ -107,7 +107,7 @@
                     <div v-if="score.examineCategory == 2">杞﹁締锛�</div>
                     <div v-else-if="score.examineCategory == 3">浜鸿劯锛�</div>
                     <div v-else-if="score.examineCategory == 1">瑙嗛锛�</div>
-                    <div class="score">{{ score.score }}</div>
+                    <div class="score">{{ (score.score * 10).toFixed(2) + '%' }}</div>
                   </div>
                 </div>
               </div>
@@ -456,6 +456,8 @@
       this.loading = true;
       listScore(this.queryParams).then(response => {
         this.checkScoreList = response.data;
+
+
         // this.setChartOption(this.checkScoreList);
         this.loading = false;
       });
diff --git a/src/views/system/report/index.vue b/src/views/system/report/index.vue
index df53f4e..8d18a89 100644
--- a/src/views/system/report/index.vue
+++ b/src/views/system/report/index.vue
@@ -15,14 +15,44 @@
           <el-option v-for="dict in dict.type.report_error_type" :value="dict.value" :key="dict.value" :label="dict.label" />
         </el-select>
       </el-form-item>
-      <el-form-item label="瀹℃牳鐘舵��">
-        <el-select v-model="queryParams.status" @change="handleQuery" placeholder="瀹℃牳鐘舵��" clearable>
+      <el-form-item label="鎶ュ鏃堕棿" prop="timeRange" >
+        <el-date-picker
+          v-model="reportTimeRange"
+          type="daterange"
+          range-separator="鑷�"
+          value-format="yyyy-MM-dd"
+          start-placeholder="寮�濮嬫棩鏈�"
+          end-placeholder="缁撴潫鏃ユ湡"
+          @change="handleQuery"
+          clearable
+        >
+        </el-date-picker>
+      </el-form-item>
+
+      <el-form-item label="鏈夋晥鏃堕棿" prop="timeRange" >
+        <el-date-picker
+          v-model="effectiveTimeRange"
+          type="daterange"
+          range-separator="鑷�"
+          value-format="yyyy-MM-dd"
+          start-placeholder="寮�濮嬫棩鏈�"
+          end-placeholder="缁撴潫鏃ユ湡"
+          @change="handleQuery"
+          clearable
+        >
+        </el-date-picker>
+      </el-form-item>
+
+      <el-form-item label="">
+        <el-select v-model="queryParams.status" @change="handleQuery" placeholder="" clearable>
           <el-option label="鍏ㄩ儴" value="" />
           <el-option label="瀹℃牳涓�" :value="0" />
           <el-option label="瀹℃牳鏈�氳繃" :value="2" />
           <el-option label="瀹℃牳閫氳繃" :value="1" />
         </el-select>
       </el-form-item>
+
+
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="small" @click="handleQuery">鎼滅储</el-button>
         <el-button icon="el-icon-refresh" size="small" @click="resetQuery">閲嶇疆</el-button>
@@ -319,7 +349,7 @@
       fileList: [],
       url: process.env.VUE_APP_BASE_API + '/report/import',
       addOrImport: 'add',
-      fileType: ["doc", "xls", "xlsx", "ppt", "txt", "pdf", "png", "jpg"],
+      fileType: ["doc", "xls", "xlsx", "ppt", "txt", "pdf", "png", "jpg","docx"],
       auditingRecordList: [],
       // 鐐逛綅list
       pointList: [],
@@ -361,6 +391,8 @@
         auditingResult: false,
         daterangeCreateTime: []
       },
+      reportTimeRange:null,//鎶ュ鏃堕棿
+      effectiveTimeRange:null,//鏈夋晥鏃堕棿
       // 鏌ヨ鍙傛暟
       queryParams: {
         pageNum: 1,
@@ -369,7 +401,11 @@
         errorType: null,
         status: '',
         reportType: null,
-        errorTypeList: []
+        errorTypeList: [],
+        reportTimeStart:null,
+        reportTimeEnd:null,
+        effectTimeStart:null,
+        effectTimeEnd:null,
       },
       // 琛ㄥ崟鍙傛暟
       form: {},
@@ -524,6 +560,22 @@
     },
     /** 鎼滅储鎸夐挳鎿嶄綔 */
     handleQuery() {
+      if (this.reportTimeRange && this.reportTimeRange.length > 0) {
+        this.queryParams.reportTimeStart = this.reportTimeRange[0]
+        this.queryParams.reportTimeEnd = this.reportTimeRange[1]
+      }else {
+        this.queryParams.reportTimeStart = null
+        this.queryParams.reportTimeEnd = null
+      }
+
+      if (this.effectiveTimeRange && this.effectiveTimeRange.length >0){
+        this.queryParams.effectTimeStart = this.effectiveTimeRange[0]
+        this.queryParams.effectTimeEnd = this.effectiveTimeRange[1]
+      }else {
+        this.queryParams.effectTimeStart = null
+        this.queryParams.effectTimeEnd = null
+      }
+
       this.queryParams.pageNum = 1;
       this.getList();
     },
diff --git a/src/views/system/work-order/index.vue b/src/views/system/work-order/index.vue
index 5c3514e..49fa946 100644
--- a/src/views/system/work-order/index.vue
+++ b/src/views/system/work-order/index.vue
@@ -355,8 +355,8 @@
         <el-form-item label="杩愮淮鍗曚綅" prop="unitName"  v-if="!isConditionList">
           <el-input v-model="ywConditionForm.unitName" disabled/>
         </el-form-item>
-        <el-form-item label="鐜板満鎯呭喌" prop="ywCondition">
-          <editor v-model="form.ywCondition" :min-height="192"/>
+        <el-form-item label="鐜板満鎯呭喌" prop="ywCondition" >
+          <editor ref="ywEditor" v-model="form.ywCondition" :min-height="192" />
         </el-form-item>
         <el-form-item label="浣愯瘉鏉愭枡" prop="ywProofMaterials">
           <file-upload v-model="form.ywProofMaterials"/>
@@ -737,6 +737,17 @@
     this.getList()
   },
   methods: {
+    activateEditor() {
+      console.log("瑙﹀彂鐐瑰嚮浜嬩欢")
+      // 鑾峰彇缂栬緫鍣ㄥ疄渚嬪苟瑙﹀彂鑱氱劍锛堝叿浣撴柟娉曞彇鍐充簬editor缁勪欢鐨凙PI锛�
+      const editor = this.$refs.ywEditor;
+      if (editor && editor.focus) {
+        editor.focus(); // 瑙﹀彂缂栬緫鐘舵��
+      } else if (editor && editor.$el) {
+        // 鍏煎鎬у鐞嗭細鐩存帴鑱氱劍缂栬緫鍣ㄧ殑DOM鍏冪礌
+        editor.$el.focus();
+      }
+    },
     selectedDistribute(){
       this.form = {}
       if (this.workOrderNumbers.length < 1) {

--
Gitblit v1.8.0