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