From b8b2820d1a0a55a5555434a3ec95f8bbec1db06d Mon Sep 17 00:00:00 2001 From: zmc <zmc_li@foxmail.com> Date: 星期四, 14 十二月 2023 15:22:54 +0800 Subject: [PATCH] 1.飞行巡检和审核辅助页面中的对话框写成组件 2.增加了数据请求和异常分析配置参数的可视化页面 3.修改了站点输入框,使能够模糊匹配 --- src/api/setting/requestTaskSetting.js | 55 + src/utils/time.js | 17 src/api/setting/exceptionSetting.js | 47 + src/views/data_management/ParameterConfiguration.vue | 201 +----- src/sfc/TimeSinglePicker.vue | 63 +- /dev/null | 5 src/utils/common.js | 13 src/api/index.js | 4 src/views/data_management/components/CompEditRequest.vue | 276 +++++---- src/views/data_management/components/CompEditException.vue | 361 ++++++++---- src/stores/user.js | 15 src/views/data_management/HistoryData.vue | 382 ++++++++----- src/sfc/InputSearch.vue | 165 +++-- src/sfc/OnlyTimePick.vue | 69 ++ 14 files changed, 961 insertions(+), 712 deletions(-) diff --git a/src/api/index.js b/src/api/index.js index 2ae6d75..7e57bff 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -1,9 +1,9 @@ import axios from 'axios' import { setInterceptors } from './config' -// const url = 'http://localhost:8081/'; +const url = 'http://localhost:8081/' // 閮ㄧ讲 -const url = 'http://114.215.109.124:8803/'; +// const url = 'http://114.215.109.124:8803/'; // const url = 'http://192.168.0.123:8081/' //椋炵窘鐩戠 diff --git a/src/api/setting/exceptionSetting.js b/src/api/setting/exceptionSetting.js index 53a1b46..14eda2d 100644 --- a/src/api/setting/exceptionSetting.js +++ b/src/api/setting/exceptionSetting.js @@ -1,14 +1,39 @@ -import { $http } from '@/api/index.js'; +import { $http } from '@/api/index.js' export default { - /** - * 鎻愪氦 鏁版嵁鑾峰彇鐨勯厤缃弬鏁颁慨鏀� - * @param锛� 閰嶇疆琛ㄥ搴旂殑瀛楁瀵硅薄 - * @returns锛� - */ - submitExceptionSetting(params){ - console.log('寮傚父閰嶇疆鎻愪氦鐨勫弬鏁颁负锛�',params); - return $http.post('/dust/requestSetting/modify',params) - } + /** + * 鎻愪氦 鏁版嵁鑾峰彇鐨勯厤缃弬鏁颁慨鏀� + * @param锛� 閰嶇疆琛ㄥ搴旂殑瀛楁瀵硅薄 + * @returns锛� + */ + submitExceptionSetting(params) { + return $http.post('/dust/exception/addSetting', params) + }, -} \ No newline at end of file + /** + * 鏌ヨ寮傚父鏁版嵁閰嶇疆 + * @param锛� + * @returns锛� + */ + queryExceptionSetting() { + return $http.get('/dust/exception/querySetting') + }, + + /** + * 鎻愪氦 鏁版嵁鑾峰彇鐨勯厤缃弬鏁颁慨鏀� + * @param锛� 閰嶇疆琛ㄥ搴旂殑瀛楁瀵硅薄 + * @returns锛� + */ + alertExceptionSetting(params) { + return $http.post('/dust/exception/alertSetting', params) + }, + + /** + * 鏌ヨ鏁版嵁璇锋眰鐨勯粯璁ら厤缃� 1.0鐗堟湰 + * @param锛� + * @returns锛� + */ + queryDefaultSetting() { + return $http.get('/dust/exception/byVersion', { params: { version: '1.0' } }) + } +} diff --git a/src/api/setting/requestTaskSetting.js b/src/api/setting/requestTaskSetting.js index 1013625..3085e03 100644 --- a/src/api/setting/requestTaskSetting.js +++ b/src/api/setting/requestTaskSetting.js @@ -1,14 +1,47 @@ -import { $http } from '@/api/index.js'; +import { $http } from '@/api/index.js' export default { - /** - * 鎻愪氦 鏁版嵁鑾峰彇鐨勯厤缃弬鏁颁慨鏀� - * @param锛� 閰嶇疆琛ㄥ搴旂殑瀛楁瀵硅薄 - * @returns锛� - */ - submitRequestSetting(params){ - console.log('璇锋眰閰嶇疆鎻愪氦鐨勫弬鏁颁负锛�',params); - // return $http.post('/dust/requestSetting/modify',params) - } + /** + * 鎻愪氦 鏁版嵁鑾峰彇鐨勯厤缃弬鏁颁慨鏀� + * @param锛� 閰嶇疆琛ㄥ搴旂殑瀛楁瀵硅薄 + * @returns锛� + */ + submitRequestSetting(params) { + return $http.post('/dust/request/addSetting', params) + }, -} \ No newline at end of file + /** + * 鏌ヨ鏁版嵁璇锋眰閰嶇疆 + * @param锛� + * @returns锛� + */ + queryRequestSetting() { + return $http.get('/dust/request/querySetting') + }, + + + /** + * 鎻愪氦 鏁版嵁鑾峰彇鐨勯厤缃弬鏁颁慨鏀� + * @param锛� 閰嶇疆琛ㄥ搴旂殑瀛楁瀵硅薄 + * @returns锛� + */ + alertRequestSetting(params) { + return $http.post('/dust/request/alertSetting', params) + }, + + + /** + * 鏌ヨ鏁版嵁璇锋眰鐨勯粯璁ら厤缃� 1.0鐗堟湰 + * @param锛� + * @returns锛� + */ + queryDefaultSetting(){ + return $http.get('/dust/request/byVersion',{params:{version:'1.0'}}) + } + + + +} + + + diff --git a/src/sfc/InputSearch.vue b/src/sfc/InputSearch.vue index d7d10d7..0b79333 100644 --- a/src/sfc/InputSearch.vue +++ b/src/sfc/InputSearch.vue @@ -13,10 +13,8 @@ 1浠h〃闇�瑕侀粯璁ゅ�� 锛�0浠h〃涓嶉渶瑕侀粯璁ゅ�� --> - - <script> -import exceptionApi from '@/api/exceptionApi.js'; +import exceptionApi from '@/api/exceptionApi.js' export default { props: { // 0浠h〃涓嶉渶瑕侀粯璁ゅ�硷紝1浠h〃闇�瑕侀粯璁ゅ�� @@ -25,30 +23,30 @@ default: '0' }, // 0浠h〃涓嶉渶瑕侊紝1浠h〃鏍规嵁鏃舵鍜屽紓甯告潵缁欏嚭杈撳叆寤鸿 - isNeedRealTimeAdvice:{ - type:String, - default:'0' + isNeedRealTimeAdvice: { + type: String, + default: '0' }, - exceptionType:{ - type:Array, - default:()=>{ + exceptionType: { + type: Array, + default: () => { return [] } }, - beginTime:{ - type:String, - default:'' + beginTime: { + type: String, + default: '' }, - endTime:{ - type:String, - default:'' + endTime: { + type: String, + default: '' }, - siteName:{ - type:String, - default:'-1' + siteName: { + type: String, + default: '-1' } }, - emits: ['submitValue', 'submitSiteNums','submitMncode'], + emits: ['submitValue', 'submitSiteNums', 'submitMncode'], data() { return { // 鐢ㄦ埛閫変腑鐨勫�� @@ -56,41 +54,44 @@ // 淇濆瓨杈撳叆寤鸿鐨勭珯鐐瑰悕绉� siteNames: [], // 淇濆瓨杈撳叆寤鸿鐨勭珯鐐硅澶囩紪鍙� - siteNamesAndMnCode:[] + siteNamesAndMnCode: [] } }, - watch:{ - beginTime(val,oldVal){ - - if(this.isNeedRealTimeAdvice =='1' && oldVal != ''){ - exceptionApi.getExceptionName(this.exceptionType,this.beginTime,this.endTime).then( res=>{ - this.siteNames = [] - const sites = res.data.data - sites.filter((item) => { - this.siteNames.push(item['name']) + watch: { + beginTime(val, oldVal) { + if (this.isNeedRealTimeAdvice == '1' && oldVal != '') { + exceptionApi + .getExceptionName(this.exceptionType, this.beginTime, this.endTime) + .then((res) => { + this.siteNames = [] + const sites = res.data.data + sites.filter((item) => { + this.siteNames.push(item['name']) + }) }) - }) } }, - exceptionType(){ - if(this.isNeedRealTimeAdvice =='1' ){ - exceptionApi.getExceptionName(this.exceptionType,this.beginTime,this.endTime).then( res=>{ - this.siteNames = [] - const sites = res.data.data - sites.filter((item) => { - this.siteNames.push(item['name']) + exceptionType() { + if (this.isNeedRealTimeAdvice == '1') { + exceptionApi + .getExceptionName(this.exceptionType, this.beginTime, this.endTime) + .then((res) => { + this.siteNames = [] + const sites = res.data.data + sites.filter((item) => { + this.siteNames.push(item['name']) + }) }) - }) } }, - siteName(){ - if(this.siteName != '-1' && this.siteName != ''){ + siteName() { + if (this.siteName != '-1' && this.siteName != '') { this.state = this.siteName this.$emit('submitValue', this.state) } }, - state(){ - if(this.state != '' && this.state != null){ + state() { + if (this.state != '' && this.state != null) { // 鏌ユ壘瀵瑰簲鐨勮澶囩紪鍙� this.onSiteNameSelected(this.state) } @@ -108,59 +109,66 @@ } }, methods: { + obscureMatch(a, b) { + const pattern = new RegExp(a, 'i') + // 'i' 琛ㄧず涓嶅尯鍒嗗ぇ灏忓啓 + return pattern.test(b) + }, + querySearch(queryString, cb) { const results = queryString ? this.siteNames.filter(this.createFilter(queryString)) : this.siteNames cb(results) }, + createFilter(queryString) { return (restaurant) => { return ( - // toLowerCase() 鏂规硶鐢ㄤ簬鎶婂瓧绗︿覆杞崲涓哄皬鍐欍�� - restaurant.toLowerCase().indexOf(queryString.toLowerCase()) === 0 + this.obscureMatch(queryString,restaurant) ) } }, // 鍒濆鍖栧姞杞芥墍鏈夌殑绔欑偣鍚嶅瓧 loadAll() { - if(this.isNeedRealTimeAdvice == '1'){ - exceptionApi.getExceptionName(this.exceptionType,this.beginTime,this.endTime).then( res=>{ - this.siteNames = [] - const sites = res.data.data - sites.filter((item) => { - this.siteNames.push(item['name']) - let temp = {} - temp.name = item.name - temp.mnCode = item.mnCode - this.siteNamesAndMnCode.push(temp) + if (this.isNeedRealTimeAdvice == '1') { + exceptionApi + .getExceptionName(this.exceptionType, this.beginTime, this.endTime) + .then((res) => { + this.siteNames = [] + const sites = res.data.data + sites.filter((item) => { + this.siteNames.push(item['name']) + let temp = {} + temp.name = item.name + temp.mnCode = item.mnCode + this.siteNamesAndMnCode.push(temp) + }) }) + } else if (this.isNeedRealTimeAdvice == '0') { + exceptionApi.getSitesNum().then((response) => { + const sites = response.data.data + sites.filter((item) => { + this.siteNames.push(item['name']) + let temp = {} + temp.name = item.name + temp.mnCode = item.mnCode + this.siteNamesAndMnCode.push(temp) + }) + this.$emit('submitSiteNums', this.siteNames.length) }) - - }else if(this.isNeedRealTimeAdvice == '0'){ - exceptionApi.getSitesNum().then((response) => { - const sites = response.data.data - sites.filter((item) => { - this.siteNames.push(item['name']) - let temp = {} - temp.name = item.name - temp.mnCode = item.mnCode - this.siteNamesAndMnCode.push(temp) - }) - this.$emit('submitSiteNums', this.siteNames.length) - }) - } + } }, // 鏍规嵁閫変腑鐨勭珯鐐规煡璇㈣澶囩紪鍙� - onSiteNameSelected(siteName) { - const selectedSite = this.siteNamesAndMnCode.find((site) => site.name == siteName); - if (selectedSite) { - this.$emit('submitMncode',selectedSite.mnCode) - }else{ - this.$emit('submitMncode','') - } -}, - + onSiteNameSelected(siteName) { + const selectedSite = this.siteNamesAndMnCode.find((site) => site.name == siteName) + if (selectedSite) { + this.$emit('submitMncode', selectedSite.mnCode) + } else { + this.$emit('submitMncode', '') + } + }, + // 鐐瑰嚮閫変腑寤鸿椤规椂瑙﹀彂 handleSelect(item) { this.state = item @@ -171,7 +179,7 @@ this.state = '' this.$emit('submitValue', this.state) }, - + } } </script> @@ -209,5 +217,4 @@ .el-autocomplete { width: 200px; } - </style> diff --git a/src/sfc/OnlyTimePick.vue b/src/sfc/OnlyTimePick.vue new file mode 100644 index 0000000..08d6465 --- /dev/null +++ b/src/sfc/OnlyTimePick.vue @@ -0,0 +1,69 @@ +<!-- 鏃堕棿閫夋嫨鍣ㄧ粍浠� + + 寮�濮嬫椂闂达細鏁版嵁搴撴渶鏂颁竴鏉℃暟鎹椂闂淬�� + 缁撴潫鏃堕棿锛氬綋鍓嶆椂闂� + 浼氬皢璧峰鏃堕棿鍜屾敼鍙樼殑鏃堕棿閫氳繃浜嬩欢鈥榮ubmitTime鈥欎紶閫掔粰鐖剁粍浠� + + 鍒濆娓叉煋鏃跺氨灏嗘椂闂翠紶閫掔粰鐖剁粍浠讹細 + ** + 鍦ㄧ埗缁勪欢涓缃� + <TimeSelectCrawling @submit-time="giveTime"></TimeSelectCrawling> + giveTime(val) { + //灏嗕腑鍥芥爣鍑嗘椂闂磋浆涓烘寚瀹氭牸寮�(璇ョ粍浠惰繑鍥炵殑鏍囧噯鏃堕棿鐨勬牸寮忥紝鎵�浠ュ繀椤荤殑鍔犺繖涓嚱鏁�) + this.beginTime = dayjs(val[0]).format('YYYY-MM-DD HH:mm:ss'); + this.endTime = dayjs(val[1]).format('YYYY-MM-DD HH:mm:ss'); + }, + *** +--> + +<script> +import time from '@/utils/time.js' +export default { + props: { + // 鐖剁粍浠朵紶鍏ョ殑鏃堕棿 + selectedTime: { + type: String, + default: '' + }, + // 鏄惁璁剧疆鍙灞炴�� + readOnly: { + type: Boolean, + default: false + }, + isUTC: { + type: Boolean, + default: false + } + }, + emits: ['submitTime'], + data() { + return { + time: '' + } + }, + watch: { + selectedTime(newVal) { + if (newVal != '') { + this.time = this.selectedTime + } + } + }, + mounted() { + this.time = this.selectedTime + }, + methods: { + change() { + let t = time.utcTime(this.time) + console.log('isUTC', this.isUTC) + console.log('鏃堕棿', t) + this.isUTC ? this.$emit('submitTime', t) : this.$emit('submitTime', this.time) + } + } +} +</script> + +<template> + <el-time-picker v-model="time" placeholder="閫夋嫨鏃堕棿" editable @change="change" /> +</template> + +<style scoped></style> diff --git a/src/sfc/TimeSinglePicker.vue b/src/sfc/TimeSinglePicker.vue index 49e4819..da0bd53 100644 --- a/src/sfc/TimeSinglePicker.vue +++ b/src/sfc/TimeSinglePicker.vue @@ -1,7 +1,5 @@ -<!-- 鍗曚釜 鏃ユ湡鏃堕棿閫夋嫨鍣ㄧ粍浠� 甯︽棩鍛ㄦ湀蹇嵎閫夐」 - 鍓嶄竴澶╂槸褰撳墠鏃堕棿鐨勫墠涓�澶╃殑00鐐瑰埌23锛�59锛�59 - 鍓嶄竷澶� 鍜� 涓婁竴涓湀鍚屾牱 - 浼氬皢鍒濆榛樿鏃堕棿锛堜竴鍛ㄥ墠锛夊拰鏀瑰彉鐨勬椂闂撮�氳繃浜嬩欢鈥榮ubmitTime鈥欎紶閫掔粰鐖剁粍浠� +<!-- 鍗曚釜 鏃ユ湡鏃堕棿閫夋嫨鍣ㄧ粍浠� + 灏嗗垵濮嬮粯璁ゆ椂闂达紙涓�鍛ㄥ墠锛夊拰鏀瑰彉鐨勬椂闂撮�氳繃浜嬩欢鈥榮ubmitTime鈥欎紶閫掔粰鐖剁粍浠� 鍒濆娓叉煋鏃跺氨灏嗘椂闂翠紶閫掔粰鐖剁粍浠讹細 ** @@ -11,16 +9,24 @@ --> <script> -import dayjs from 'dayjs' +import time from '@/utils/time.js' export default { props: { // 鐖剁粍浠朵紶鍏ョ殑鏃堕棿 selectedTime: { - type: String, + // type: [String,null], default: '' }, // 鏄惁璁剧疆鍙灞炴�� readOnly: { + type: Boolean, + default: false + }, + isUTC: { + type: Boolean, + default: false + }, + isDisabled: { type: Boolean, default: false } @@ -28,38 +34,37 @@ emits: ['submitTime'], data() { return { - time: '', - shortcuts: [] + time: '' } }, - // watch: { - // selectedTime(newVal) { - // console.log('time', this.selectedTime) - // if (newVal != '') { - // this.time = this.selectedTime - // } - // } - // }, - mounted() { - console.log('time', this.selectedTime) - - this.time = this.selectedTime + watch: { + selectedTime(newVal) { + if (newVal != '') { + // this.time = time.utcToStr(this.selectedTime) + this.time = this.selectedTime + } + } }, + + mounted() { + this.time = time.utcToStr(this.selectedTime) + }, + methods: { - + change() { + if (this.time != null) { + let t = time.utcTime(this.time) + this.isUTC ? this.$emit('submitTime', t) : this.$emit('submitTime', this.time) + } else { + this.$emit('submitTime', this.time) + } + } } } </script> <template> - <el-date-picker - v-model="time" - type="datetime" - placeholder="閫夋嫨鏃堕棿" - :shortcuts="shortcuts" - value-format="YYYY-MM-DD HH:mm:ss" - @change="$emit('submitTime', time)" - /> + <el-date-picker v-model="time" type="datetime" placeholder="閫夋嫨鏃堕棿" @change="change" /> </template> <style scoped></style> diff --git a/src/stores/user.js b/src/stores/user.js index 51b1b60..ac6b272 100644 --- a/src/stores/user.js +++ b/src/stores/user.js @@ -1,8 +1,9 @@ // 鍔犺浇鐘舵�佺殑閫昏緫绠$悊 import { defineStore } from 'pinia' +import { ref, computed } from 'vue' -export const useLoginUserStore = defineStore('loginUser',() => { +export const useLoginUserStore = defineStore('loginUser', () => { // 褰撳墠鐧婚檰鐨勭敤鎴峰悕 const currentLoginUser = ref('-1') // 淇敼 @@ -10,12 +11,10 @@ currentLoginUser.value = user } - - - const getUserName = computed(()=>{ - return currentLoginUser.value == '-1' ? localStorage.getItem('currentUserName'): currentLoginUser.value + const getUserName = computed(() => { + return currentLoginUser.value == '-1' + ? localStorage.getItem('currentUserName') + : currentLoginUser.value }) - return {currentLoginUser,setUser,getUserName} + return { currentLoginUser, setUser, getUserName } }) - - diff --git a/src/utils/common.js b/src/utils/common.js index 9917e01..a4bde17 100644 --- a/src/utils/common.js +++ b/src/utils/common.js @@ -115,5 +115,16 @@ return Math.round(v * 100, 2) + '%' } - return { isExceedOneMonth, cmpp, exportToExcel, descFiftyTime, percentFormatter } + /** + * 鎵惧嚭瀛楃涓叉暟瀛楃殑鏈�澶у�� + * @param锛� + * @returns锛� + */ + function findMaxValue(values) { + const numbers = values.map((value) => parseFloat(value)) + const max = Math.max(...numbers) + return max.toString() + } + + return { isExceedOneMonth, cmpp, exportToExcel, descFiftyTime, percentFormatter,findMaxValue } } diff --git a/src/utils/test.js b/src/utils/test.js deleted file mode 100644 index a758e3f..0000000 --- a/src/utils/test.js +++ /dev/null @@ -1,5 +0,0 @@ -export default { - add(a,b){ - return a+b - } -} \ No newline at end of file diff --git a/src/utils/time.js b/src/utils/time.js index eac1bd6..adc38b1 100644 --- a/src/utils/time.js +++ b/src/utils/time.js @@ -239,5 +239,22 @@ } } return r + }, + /** + * 鏍规嵁鏃堕棿瀛楃涓茶繑鍥濽TC鏃堕棿 + * @param锛� + * @returns锛� + */ + utcTime(timeStr){ + return dayjs(timeStr).format() + }, + /** + * 灏唘tc鏃堕棿杞负鏃堕棿瀛楃涓� + * @param锛� + * @returns锛� + */ + utcToStr(dateTime){ + const r = dateTime ? dayjs(dateTime).format('YYYY-MM-DD HH:mm:ss') :false + return r } } diff --git a/src/views/data_management/HistoryData.vue b/src/views/data_management/HistoryData.vue index 9679a7f..18869d3 100644 --- a/src/views/data_management/HistoryData.vue +++ b/src/views/data_management/HistoryData.vue @@ -1,15 +1,15 @@ <script> -import TimeShortCuts from '@/sfc/TimeShortCuts.vue'; -import ScenarioType from '@/sfc/ScenarioType.vue'; -import InputSearch from '@/sfc/InputSearch.vue'; +import TimeShortCuts from '@/sfc/TimeShortCuts.vue' +import ScenarioType from '@/sfc/ScenarioType.vue' +import InputSearch from '@/sfc/InputSearch.vue' import { ElMessage } from 'element-plus' import AreaAndmonitorType from '@/sfc/AreaAndmonitorType.vue' -import { useCommonFunction } from '../../utils/common.js'; +import { useCommonFunction } from '../../utils/common.js' import requetsApi from '@/api/exportExcel/requetsApi.js' import ButtonClick from '@/sfc/ButtonClick.vue' import ButtonExportExcel from '@/sfc/ButtonExportExcel.vue' -import dayjs from 'dayjs'; +import dayjs from 'dayjs' export default { components: { @@ -33,7 +33,7 @@ endTime: '' }, // 鎼滅储妗嗕紶閫掍笂鏉ョ殑璁惧缂栧彿 - tempMnCode :'', + tempMnCode: '', // 杩斿洖鐨勬暟鎹� tableData: [], // 琛ㄦ牸鏁版嵁 @@ -46,7 +46,7 @@ // 鍔犺浇涓� loading: false, queryButton: false, - exportButton:false, + exportButton: false, // 绌虹姸鎬� isNoData: false, // 宸查�変腑鐨勫満鏅被鍨� @@ -54,36 +54,35 @@ // 琛ㄦ牸楂樺害 tableHeight: '500', // 绔欑偣鎬绘暟閲� - siteNums:0 - }; + siteNums: 0 + } }, setup() { const { isExceedOneMonth, exportToExcel } = useCommonFunction() return { isExceedOneMonth, exportToExcel } }, mounted() { - this.backMinuteDataAWeekAgo(); - this.calTableHeight(); + this.backMinuteDataAWeekAgo() + this.calTableHeight() }, methods: { exportDom() { - let params = { - 'beginTime': this.form.beginTime, - 'endTime': this.form.endTime, + beginTime: this.form.beginTime, + endTime: this.form.endTime } if (this.form.name) { - params['siteName'] = this.form.name; + params['siteName'] = this.form.name } if (this.form.number) { - params['mnCode'] = this.form.numbe; + params['mnCode'] = this.form.numbe } if (this.scenarioType.length != 0) { - params['scenarioType'] = this.scenarioType; + params['scenarioType'] = this.scenarioType } this.exportButton = true - requetsApi.fetchAlSiteData(params).then(res => { + requetsApi.fetchAlSiteData(params).then((res) => { const data = res.data.data if (data.length != 0) { const tableColumns = [ @@ -96,15 +95,22 @@ 'noiseValue', 'lst', 'quality', - 'groupName', - + 'groupName' ] - const excelColumns = [['A1', '绔欑偣鍚嶇О'], - ['B1', '鍦板潃'], ['C1', '渚涘簲鍟�'], ['D1', '璁惧缂栧彿'], - ['E1', '绫诲瀷'], ['F1', '鎵皹娴撳害(mg/m鲁)'], ['G1', '鍣0(dB)'], - ['H1', '閲囬泦鏃堕棿'], ['I1', '绛夌骇'], ['J1', '鎵�鍦ㄥ尯鍘�']] + const excelColumns = [ + ['A1', '绔欑偣鍚嶇О'], + ['B1', '鍦板潃'], + ['C1', '渚涘簲鍟�'], + ['D1', '璁惧缂栧彿'], + ['E1', '绫诲瀷'], + ['F1', '鎵皹娴撳害(mg/m鲁)'], + ['G1', '鍣0(dB)'], + ['H1', '閲囬泦鏃堕棿'], + ['I1', '绛夌骇'], + ['J1', '鎵�鍦ㄥ尯鍘�'] + ] this.exportToExcel(data, tableColumns, excelColumns, '鍘嗗彶鏁版嵁琛�.xlsx') - }else{ + } else { ElMessage('鏃犳暟鎹渶瑕佸鍑�') } this.exportButton = false @@ -112,198 +118,260 @@ }, // 鍔熻兘锛氳〃鏍奸珮搴︽牴鎹唴瀹硅嚜閫傚簲 calTableHeight() { - const h1 = this.$refs.h1.$el.offsetHeight; - const h2 = this.$refs.h2.$el.offsetHeight; + const h1 = this.$refs.h1.$el.offsetHeight + const h2 = this.$refs.h2.$el.offsetHeight // 鍏朵腑涓�涓�40鏄洅瀛愮殑鎬诲杈硅窛 - this.tableHeight = `calc(100vh - ${h1}px - ${h2}px - 40px - 40px - var(--el-main-padding) * 2`; + this.tableHeight = `calc(100vh - ${h1}px - ${h2}px - 40px - 40px - var(--el-main-padding) * 2` }, giveTime(val) { //灏嗕腑鍥芥爣鍑嗘椂闂磋浆涓烘寚瀹氭牸寮�(璇ョ粍浠惰繑鍥炵殑鏍囧噯鏃堕棿鐨勬牸寮忥紝鎵�浠ュ繀椤荤殑鍔犺繖涓嚱鏁�) - this.form.beginTime = dayjs(val[0]).format('YYYY-MM-DD HH:mm:ss'); - this.form.endTime = dayjs(val[1]).format('YYYY-MM-DD HH:mm:ss'); + this.form.beginTime = dayjs(val[0]).format('YYYY-MM-DD HH:mm:ss') + this.form.endTime = dayjs(val[1]).format('YYYY-MM-DD HH:mm:ss') }, // 椤靛ぇ灏忔敼鍙樻椂瑙﹀彂 handleSizeChange(val) { - this.pageSize = val; + this.pageSize = val // 鏀瑰彉姣忛〉鏄剧ず鏁扮洰鏃惰烦鍒板綋鍓嶉〉 - this.handleCurrentChange(1); + this.handleCurrentChange(1) }, // 椤靛彿鏀瑰彉鏃惰Е鍙� handleCurrentChange(val) { // 灏嗗綋鍓嶉〉鍙风粰currentPage - this.currentPage = val; + this.currentPage = val // 椤甸潰鍙樺寲鏃惰皟鐢� 鏌ヨ鏁版嵁鍑芥暟 - this.handleSubmit(); + this.handleSubmit() }, //搴忓彿閫掑 indexMethod(index) { - return index + 1 + (this.currentPage - 1) * this.pageSize; + return index + 1 + (this.currentPage - 1) * this.pageSize }, // 鏌ヨ鏁版嵁 handleSubmit() { - - this.loading = true; + this.loading = true this.queryButton = true - let params = {}; - params['page'] = this.currentPage; - params['pageSize'] = this.pageSize; + let params = {} + params['page'] = this.currentPage + params['pageSize'] = this.pageSize if (this.form.name) { - params['siteName'] = this.form.name; + params['siteName'] = this.form.name } if (this.form.number) { - params['mnCode'] = this.form.number; + params['mnCode'] = this.form.number } - params['beginTime'] = this.form.beginTime; - params['endTime'] = this.form.endTime; + params['beginTime'] = this.form.beginTime + params['endTime'] = this.form.endTime if (this.scenarioType.length != 0) { - params['scenarioType'] = this.scenarioType.join(); + params['scenarioType'] = this.scenarioType.join() } this.$http.get('/dust/history1', { params: params }).then((response) => { // 淇濆瓨杩斿洖鐨� - this.tableData = response.data.data.rows; - this.displayData = this.tableData; - this.loading = false; + this.tableData = response.data.data.rows + this.displayData = this.tableData + this.loading = false this.queryButton = false if (response.data.data.total == 0) { - ElMessage('璇ユ椂娈垫棤鏁版嵁'); - this.loading = false; + ElMessage('璇ユ椂娈垫棤鏁版嵁') + this.loading = false this.queryButton = false - this.isNoData = true; - return; + this.isNoData = true + return } - this.total = response.data.data.total; + this.total = response.data.data.total // 绉婚櫎绌烘暟鎹姸鎬� - this.isNoData = false; - }); + this.isNoData = false + }) }, backMinuteDataAWeekAgo() { // 鎵撳紑椤甸潰鍔犺浇鏈�杩戜竴鍛ㄧ殑鏁版嵁 - this.loading = true; + this.loading = true // 缁欒緭鍏ユ璁剧疆榛樿鐨勯�夋嫨椤� - let params = {}; - params['siteName'] = this.form.name; - params['beginTime'] = this.form.beginTime; - params['endTime'] = this.form.endTime; + let params = {} + params['siteName'] = this.form.name + params['beginTime'] = this.form.beginTime + params['endTime'] = this.form.endTime this.$http.get('/dust/history1', { params: params }).then((response) => { // 淇濆瓨杩斿洖鐨� - this.tableData = response.data.data.rows; - this.displayData = this.tableData; + this.tableData = response.data.data.rows + this.displayData = this.tableData if (response.data.data.total == 0) { - ElMessage('璇ユ椂娈垫棤鏁版嵁'); - this.isNoData = true; - return; + ElMessage('璇ユ椂娈垫棤鏁版嵁') + this.isNoData = true + return } - this.total = response.data.data.total; - this.loading = false; - }); - } + this.total = response.data.data.total + this.loading = false + }) + } } -}; +} </script> <template> - <div class="history-container"> - <el-row> - <el-col ref="h1" class="head-row"> - <el-card> - <el-form :inline="true"> - <div class="demo-form-inline"> - <el-row> - <el-col> - <el-form-item> - <AreaAndmonitorType></AreaAndmonitorType> - </el-form-item> + <div class="history-container"> + <el-row> + <el-col ref="h1" class="head-row"> + <el-card> + <el-form :inline="true"> + <div class="demo-form-inline"> + <el-row> + <el-col> + <el-form-item> + <AreaAndmonitorType></AreaAndmonitorType> + </el-form-item> - <el-form-item> - <InputSearch isNeedDefaultSite="1" @submit-value="(n) => (form.name = n)" @submit-site-nums="(n)=>(siteNums=n)"> - </InputSearch> - </el-form-item> - - <el-form-item> - <template #label> - <span class="font-label">璁惧缂栧彿:</span> - </template> - <el-input v-model="form.number" clearable placeholder="璇疯緭鍏�"></el-input> - </el-form-item> - </el-col> + <el-form-item> + <InputSearch + isNeedDefaultSite="1" + @submit-value="(n) => (form.name = n)" + @submit-site-nums="(n) => (siteNums = n)" + > + </InputSearch> + </el-form-item> - <el-col> - <el-form-item> - <TimeShortCuts time-type="week" @submit-time="giveTime"></TimeShortCuts> + <el-form-item> + <template #label> + <span class="font-label">璁惧缂栫爜:</span> + </template> + <el-input v-model="form.number" clearable placeholder="璇疯緭鍏�"></el-input> + </el-form-item> + </el-col> + + <el-col> + <el-form-item> + <TimeShortCuts time-type="week" @submit-time="giveTime"></TimeShortCuts> + </el-form-item> + + <el-form-item> + <ScenarioType @submitScenarioType="(val) => (scenarioType = val)"> + </ScenarioType> + </el-form-item> + </el-col> + </el-row> + </div> + <div class="button-and-export"> + <el-form-item> + <el-tag class="ml-2" type="success" size="large">鐐逛綅鎬绘暟</el-tag> + <span class="tag-text">{{ siteNums }}</span> </el-form-item> <el-form-item> - <ScenarioType @submitScenarioType="(val) => (scenarioType = val)"> - </ScenarioType> - </el-form-item> + <ButtonClick + style="margin-right: 12px" + content="鎼滅储" + type="primary" + :loading="queryButton" + @do-search="handleSubmit" + ></ButtonClick> + <ButtonExportExcel + content="瀵煎嚭鏁版嵁" + type="success" + :loading="exportButton" + @do-export="exportDom" + ></ButtonExportExcel> + </el-form-item> + </div> + </el-form> + </el-card> + </el-col> + <el-col> </el-col> + </el-row> - </el-col> - - - </el-row> - </div> - <div class="button-and-export"> - <el-form-item> - <el-tag class="ml-2" type="success" size="large">绔欑偣鎬绘暟</el-tag> - <span class="tag-text">{{ siteNums }}</span> - </el-form-item> - - <el-form-item> - <ButtonClick style="margin-right: 12px;" content="鎼滅储" type="primary" :loading="queryButton" @do-search="handleSubmit"></ButtonClick> - <ButtonExportExcel content="瀵煎嚭鏁版嵁" type="success" :loading="exportButton" @do-export="exportDom"></ButtonExportExcel> - </el-form-item> - </div> - </el-form> - - </el-card> - </el-col> - <el-col> - - </el-col> - </el-row> - - <el-row> - <el-col v-show="!isNoData"> - - <el-table border size="default" :highlight-current-row="true" :data="displayData" :height="tableHeight" - v-loading="loading"> - <!--缁戝畾涓�涓柟娉曪紝灏嗚繑鍥炲�艰祴缁檌ndex,鍗宠〃鏍兼瘡琛屾暟鎹殑涓嬫爣--> - <el-table-column type="index" label="搴忓彿" align="center" fixed :index="indexMethod"></el-table-column> - <el-table-column prop="name" label="鐐逛綅鍚嶇О" show-overflow-tooltip></el-table-column> - <el-table-column prop="address" label="鍦板潃" align="center" show-overflow-tooltip></el-table-column> - <el-table-column prop="dutyCompany" label="杩愮淮鍟�" align="center" show-overflow-tooltip></el-table-column> - <el-table-column prop="mnCode" label="璁惧缂栫爜" show-overflow-tooltip></el-table-column> - <el-table-column prop="typeName" label="绫诲瀷" align="center" show-overflow-tooltip></el-table-column> - <el-table-column prop="dustValue" label="TSP(mg/m鲁)" align="center" sortable - show-overflow-tooltip></el-table-column> - <el-table-column prop="noiseValue" label="鍣0(dB)" align="center" sortable show-overflow-tooltip></el-table-column> - <el-table-column prop="lst" label="閲囬泦鏃堕棿" sortable align="center" show-overflow-tooltip></el-table-column> - <el-table-column prop="quality" label="绛夌骇" align="center" show-overflow-tooltip></el-table-column> - <el-table-column prop="groupName" label="鎵�鍦ㄥ尯鍘�" align="center" show-overflow-tooltip> - </el-table-column> - </el-table> - <!--size-change 鏄痯ageSize 鏀瑰彉鏃朵細瑙﹀彂鐨勪簨浠�,handleSizeChange鏄簨浠跺鐞嗗嚱鏁� + <el-row> + <el-col v-show="!isNoData"> + <el-table + border + size="default" + :highlight-current-row="true" + :data="displayData" + :height="tableHeight" + v-loading="loading" + > + <!--缁戝畾涓�涓柟娉曪紝灏嗚繑鍥炲�艰祴缁檌ndex,鍗宠〃鏍兼瘡琛屾暟鎹殑涓嬫爣--> + <el-table-column + type="index" + label="搴忓彿" + align="center" + fixed + :index="indexMethod" + ></el-table-column> + <el-table-column prop="name" label="鐐逛綅鍚嶇О" show-overflow-tooltip></el-table-column> + <el-table-column + prop="address" + label="鍦板潃" + align="center" + show-overflow-tooltip + ></el-table-column> + <el-table-column + prop="dutyCompany" + label="杩愮淮鍟�" + align="center" + show-overflow-tooltip + ></el-table-column> + <el-table-column prop="mnCode" label="璁惧缂栫爜" show-overflow-tooltip></el-table-column> + <el-table-column + prop="typeName" + label="绫诲瀷" + align="center" + show-overflow-tooltip + ></el-table-column> + <el-table-column + prop="dustValue" + label="TSP(mg/m鲁)" + align="center" + sortable + show-overflow-tooltip + ></el-table-column> + <el-table-column + prop="noiseValue" + label="鍣0(dB)" + align="center" + sortable + show-overflow-tooltip + ></el-table-column> + <el-table-column + prop="lst" + label="閲囬泦鏃堕棿" + sortable + align="center" + show-overflow-tooltip + ></el-table-column> + <el-table-column + prop="quality" + label="绛夌骇" + align="center" + show-overflow-tooltip + ></el-table-column> + <el-table-column prop="groupName" label="鎵�鍦ㄥ尯鍘�" align="center" show-overflow-tooltip> + </el-table-column> + </el-table> + <!--size-change 鏄痯ageSize 鏀瑰彉鏃朵細瑙﹀彂鐨勪簨浠�,handleSizeChange鏄簨浠跺鐞嗗嚱鏁� current-change 鏄痗urrentPage 鏀瑰彉鏃朵細瑙﹀彂鐨勪簨浠� --> - <el-pagination ref="h2" background @size-change="handleSizeChange" @current-change="handleCurrentChange" - :page-sizes="[10, 20, 50, 100]" :page-size="pageSize" :total="total" - layout="total,sizes, prev, pager, next, jumper" :current-page="currentPage"></el-pagination> - - </el-col> - <el-empty v-show="isNoData" :image-size="200" /> - - </el-row> -</div> + <el-pagination + ref="h2" + background + @size-change="handleSizeChange" + @current-change="handleCurrentChange" + :page-sizes="[10, 20, 50, 100]" + :page-size="pageSize" + :total="total" + layout="total,sizes, prev, pager, next, jumper" + :current-page="currentPage" + ></el-pagination> + </el-col> + <el-empty v-show="isNoData" :image-size="200" /> + </el-row> + </div> </template> -<style scoped> +<style scoped> .history-container { min-width: 1200px; } @@ -340,12 +408,12 @@ .el-table { /* color: #303133 */ - color: rgb(59, 60, 63) + color: rgb(59, 60, 63); } .el-pagination { margin: 10px 10px; } -.tag-text{ +.tag-text { margin-left: 10px; font-size: 14px; } diff --git a/src/views/data_management/ParameterConfiguration.vue b/src/views/data_management/ParameterConfiguration.vue index fbf1cd5..acce730 100644 --- a/src/views/data_management/ParameterConfiguration.vue +++ b/src/views/data_management/ParameterConfiguration.vue @@ -2,6 +2,10 @@ import TimeSinglePicker from '@/sfc/TimeSinglePicker.vue' import CompEditRequest from '@/views/data_management/components/CompEditRequest.vue' import CompEditException from '@/views/data_management/components/CompEditException.vue' +import dayjs from 'dayjs' +import exceptionSetting from '@/api/setting/exceptionSetting.js' +import requestTaskSetting from '@/api/setting/requestTaskSetting.js' +import { useLoginUserStore } from '@/stores/user' export default { components: { TimeSinglePicker, @@ -12,53 +16,14 @@ return { activeName: 'first', // 瀵硅瘽妗嗘樉绀� - dialog:{ + dialog: { formRequestVisible: false, formExceptionVisible: false }, - request: [ - { - user: 'admin', - updateTime: '2023-10-10 09:16:41', - region: '閲戝北鍖�', - version: '1.0', - requestStartTime: '2023-10-12 08:43:00', - requestEndTime: null, - requestIntervalSeconds: 43200, - requestRangeHour: 8, - requestRangeIntervalSeconds: 5, - requestFailWaitSeconds: 120, - requestRetryTimes: 4, - requestCookieValidDuration: 48, - staticsDailyTime: '2023-10-11 09:00:00', - staticsMonthlyTime: '2023-10-01 10:00:00', - loginFailWaitSeconds: 5, - loginRetryTimes: 5, - taskRetryWaitSeconds: 120, - firstRequestOffsetDays: 30 - } - ], - exceptionSetting: [{ - user: 'admin', - updateTime: '2023-10-10 09:16:41', - region: '閲戝北鍖�', - version: '1.0', - missDataMinutes: 45, - dataLow: 0.02, - longTimeNoChange: 5, - mutationNum: 2, - mutationRate: 1, - nearExceedLowValue: 0.7, - nearExceedHighValue: 1, - nearExceedNum: 4, - dayExceedBorderlineLowNum: 6, - dayExceedBorderlineHighNum: 7, - changeTrendGroup: 12, - changeTrendInterval: 12, - changeTrendRate: 1, - changeTrendTimes: 3, - exceedingStandard: 1 - }], + // 璇锋眰浠诲姟閰嶇疆鏁版嵁 + requestData: [], + // 寮傚父鍒嗘瀽閰嶇疆鏁版嵁 + exceptionSettingData: [], form_1: { user: '11', requestStartTime: '', @@ -66,118 +31,50 @@ staticsDailyTime: '', staticsMonthlyTime: '' }, - loading:false, - + // 鍔犺浇涓� + loading: { + request: '', + exception: '' + } } }, + setup() { + const userName = useLoginUserStore() + return { + userName + } + }, + watch: { + }, mounted() {}, methods: { - handleClick(tab, event) { - // console.log(tab, event) - }, - fetchData(){ - console.log('鑾峰彇琛ㄦ牸鏁版嵁'); - this.loading = true - setTimeout(() => { - this.loading = false - }, 700); - }, - // 鍙栨秷 - cancel_1() { - this.dialogTableVisible = false - }, - // 鎻愪氦 - submit() { - this.dialogTableVisible = false - }, - render() { - ElMessageBox.alert( - h('div', ['this is', h('em', { style: { color: 'teal', fontSize: '14px' } }, 'Vnode')]) - ) - }, - + /** + * 鍙栨秷鎸夐挳 + * @param锛� + * @returns锛� + */ + cancelEvent() { + this.$message.info('宸插彇娑�') + } } } </script> - <template> <el-row> <el-col> <em>鍙傛暟閰嶇疆</em> - <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick"> - <el-tab-pane label="鏁版嵁鑾峰彇" name="first" > - <div>灞曠ず</div> - <div>淇敼</div> - <el-table :data="request" border> - <el-table-column prop="user" label="鐢ㄦ埛鍚�"> </el-table-column> - <el-table-column prop="updateTime" label="鏇存柊鏃堕棿"> </el-table-column> - <el-table-column prop="region" label="鍖哄煙"> </el-table-column> - <el-table-column prop="version" label="鐗堟湰"> </el-table-column> - <el-table-column prop="requestStartTime" label="鏁版嵁鑾峰彇寮�濮嬫椂闂�"> </el-table-column> - <el-table-column prop="requestEndTime" label="鏁版嵁鑾峰彇缁撴潫鏃堕棿"> </el-table-column> - <el-table-column prop="requestIntervalSeconds" label="鏁版嵁鑾峰彇棰戠巼"> </el-table-column> - <el-table-column prop="requestRangeHour" label="浠诲姟鍒嗘鏃堕暱"> </el-table-column> - <el-table-column prop="requestRangeIntervalSeconds" label="鍒嗘鎵ц鏃剁殑姣忔鐨勯棿闅旀椂闂�"> </el-table-column> - <el-table-column prop="requestFailWaitSeconds" label="鑾峰彇鏁版嵁浠诲姟寮傚父鏃跺啀娆″皾璇曢棿闅�"> </el-table-column> - <el-table-column prop="requestRetryTimes" label="鑾峰彇鏁版嵁澶辫触鏃跺啀娆″皾璇曠殑鎬绘鏁�"> </el-table-column> - <el-table-column prop="requestCookieValidDuration" label="cookie鏈夋晥鏃跺父闀�"> </el-table-column> - <el-table-column prop="staticsDailyTime" label="鏃ョ粺璁℃墽琛屾椂闂�"> </el-table-column> - <el-table-column prop="staticsMonthlyTime" label="鏈堢粺璁℃墽琛屾椂闂�"> </el-table-column> - <el-table-column prop="loginFailWaitSeconds" label="鐧诲綍澶辫触绛夊緟鏃堕暱"> </el-table-column> - <el-table-column prop="loginRetryTimes" label="鐧诲綍澶辫触灏濊瘯娆℃暟"> </el-table-column> - <el-table-column prop="taskRetryWaitSeconds" label="鏁版嵁鑾峰彇浠诲姟閲嶆柊寮�濮嬪皾璇曠瓑寰呮椂闂�"> </el-table-column> - <el-table-column prop="firstRequestOffsetDays" label=" 鏁版嵁鑾峰彇寮�濮嬫椂闂寸浉瀵瑰綋鏃ュ線鍓嶅亸绉�"> </el-table-column> - </el-table> - <el-button type="primary" size="small" @click="dialog.formRequestVisible = !dialog.formRequestVisible"> - 淇敼閰嶇疆</el-button - > - - <CompEditRequest v-model="dialog.formRequestVisible" :tableData="request[0]"> - </CompEditRequest> - + <el-tabs v-model="activeName" class="demo-tabs"> + <el-tab-pane label="鏁版嵁鑾峰彇" name="first"> + <CompEditRequest :user-name="userName.getUserName"></CompEditRequest> </el-tab-pane> - - <el-tab-pane label="寮傚父鍒嗘瀽" name="second" - ><div>灞曠ず</div> - <el-table :data="exceptionSetting" border> - <el-table-column prop="user" label="鐢ㄦ埛鍚�"> </el-table-column> - <el-table-column prop="updateTime" label="鏇存柊鏃堕棿"> </el-table-column> - <el-table-column prop="region" label="鍖哄煙"> </el-table-column> - <el-table-column prop="version" label="鐗堟湰"> </el-table-column> - - <el-table-column prop="missDataMinutes" label="鏁版嵁鑾峰彇寮�濮嬫椂闂�"> </el-table-column> - <el-table-column prop="dataLow" label="鏁版嵁鑾峰彇缁撴潫鏃堕棿"> </el-table-column> - <el-table-column prop="longTimeNoChange" label="鏁版嵁鑾峰彇棰戠巼"> </el-table-column> - <el-table-column prop="mutationNum" label="浠诲姟鍒嗘鏃堕暱"> </el-table-column> - <el-table-column prop="mutationRate" label="鍒嗘鎵ц鏃剁殑姣忔鐨勯棿闅旀椂闂�"> </el-table-column> - <el-table-column prop="nearExceedLowValue" label="鑾峰彇鏁版嵁浠诲姟寮傚父鏃跺啀娆″皾璇曢棿闅�"> </el-table-column> - <el-table-column prop="nearExceedHighValue" label="鑾峰彇鏁版嵁澶辫触鏃跺啀娆″皾璇曠殑鎬绘鏁�"> </el-table-column> - <el-table-column prop="nearExceedNum" label="cookie鏈夋晥鏃跺父闀�"> </el-table-column> - <el-table-column prop="dayExceedBorderlineLowNum" label="鏃ョ粺璁℃墽琛屾椂闂�"> </el-table-column> - <el-table-column prop="dayExceedBorderlineHighNum" label="鏈堢粺璁℃墽琛屾椂闂�"> </el-table-column> - <el-table-column prop="changeTrendGroup" label="鐧诲綍澶辫触绛夊緟鏃堕暱"> </el-table-column> - <el-table-column prop="changeTrendInterval" label="鐧诲綍澶辫触灏濊瘯娆℃暟"> </el-table-column> - <el-table-column prop="changeTrendRate" label="鏁版嵁鑾峰彇浠诲姟閲嶆柊寮�濮嬪皾璇曠瓑寰呮椂闂�"> </el-table-column> - <el-table-column prop="changeTrendTimes" label=" 鏁版嵁鑾峰彇寮�濮嬫椂闂寸浉瀵瑰綋鏃ュ線鍓嶅亸绉�"> </el-table-column> - <el-table-column prop="exceedingStandard" label=" 鏁版嵁鑾峰彇寮�濮嬫椂闂寸浉瀵瑰綋鏃ュ線鍓嶅亸绉�"> </el-table-column> - </el-table> - - - <div>淇敼</div> - - <CompEditException v-model="dialog.formExceptionVisible" ></CompEditException> - - <el-button type="primary" size="small" @click="dialog.formExceptionVisible = !dialog.formExceptionVisible"> - 淇敼閰嶇疆</el-button - > + <el-tab-pane label="寮傚父鍒嗘瀽" name="second"> + <CompEditException :user-name="userName.getUserName"></CompEditException> </el-tab-pane> </el-tabs> - <!-- <el-button @click="render"> 娓叉煋html</el-button> --> - <!-- <el-button @click="addObj"> 澧炲姞瀵硅薄</el-button> --> </el-col> </el-row> </template> @@ -190,26 +87,10 @@ font-size: 30px; color: #333333; } -</style> - -<!-- <script> - export default { - data() { - return{ - inputValue:null - } - }, - mounted() { - - }, - methods: { - - } +.el-button { + margin-top: 20px; } -</script> - -<template> - {{inputValue}} - 杈撳叆<el-input v-model.number="inputValue" maxlength="10"> - </el-input> -</template> --> +.el-table { + color: #333333; +} +</style> diff --git a/src/views/data_management/components/CompEditException.vue b/src/views/data_management/components/CompEditException.vue index 4e3d846..6c34a19 100644 --- a/src/views/data_management/components/CompEditException.vue +++ b/src/views/data_management/components/CompEditException.vue @@ -1,157 +1,264 @@ <script> -import TimeSinglePicker from '@/sfc/TimeSinglePicker.vue' +import exceptionSetting from '@/api/setting/exceptionSetting.js' +import { useCommonFunction } from '@/utils/common.js' export default { - props: ['modelValue'], - emits: ['update:modelValue'], - components: { - TimeSinglePicker + props: { + userName: { + type: String, + default: '' + } }, + computed: { - visible: { - get() { - return this.modelValue - }, - set(value) { - this.$emit('update:modelValue', value) + formDataAfterCal() { + return { + user: this.userName, + region: this.form.region, + // 鏄慨鏀圭姸鎬�-->璇ヨ褰曠殑鐗堟湰鍙� 鏄柊澧炵姸鎬�--> 閰嶇疆琛ㄨ〃鏈�澶х殑鐗堟湰鍙� + version: this.modify ? this.form.version : this.maxVersion, + + missDataMinutes: this.form.missDataMinutes, + dataLow: this.form.dataLow, + longTimeNoChange: this.form.longTimeNoChange, + mutationNum: this.form.mutationNum, + mutationRate: this.form.mutationRate, + nearExceedLowValue: this.form.nearExceedLowValue, + nearExceedHighValue: this.form.nearExceedHighValue, + nearExceedNum: this.form.nearExceedNum, + dayExceedBorderlineLowNum: this.form.dayExceedBorderlineLowNum, + dayExceedBorderlineHighNum: this.form.dayExceedBorderlineHighNum, + changeTrendGroup: this.form.changeTrendGroup, + changeTrendInterval: this.form.changeTrendInterval, + changeTrendRate: this.form.changeTrendRate, + changeTrendTimes: this.form.changeTrendTimes, + exceedingStandard: this.form.exceedingStandard } + } + }, + watch: { + formData: { + handler() { + if (Object.keys(this.formData).length != 0) + this.form = JSON.parse(JSON.stringify(this.formData)) + }, + deep: true } }, data() { return { - form: { - user: 'admin', - updateTime: '2023-10-10 09:16:41', - region: '閲戝北鍖�', - version: '1.0', - - missDataMinutes: 45, - dataLow: 0.02, - longTimeNoChange: 5, - mutationNum: 2, - mutationRate: 1, - nearExceedLowValue: 0.7, - nearExceedHighValue: 1, - nearExceedNum: 4, - dayExceedBorderlineLowNum: 6, - dayExceedBorderlineHighNum: 7, - changeTrendGroup: 12, - changeTrendInterval: 12, - changeTrendRate: 1, - changeTrendTimes: 3, - exceedingStandard: 1 - }, - describe: null + form: {}, + // 鏈�楂樼殑鐗堟湰鍙� + maxVersion: null, + loading: false, + // 淇敼鐘舵�� + modify: false } }, - - mounted() { - this.operation() + setup() { + const { findMaxValue } = useCommonFunction() + return { findMaxValue } }, + mounted() { + this.queryException() + }, + methods: { // 鎻愪氦 - submit() { - this.visible = false + async submitForm() { + // 鍙戦�佷慨鏀圭殑璇锋眰 + await exceptionSetting.submitExceptionSetting(this.formDataAfterCal) + + this.$message.success('鎻愪氦鎴愬姛') + + // 鏁版嵁鎻愪氦鍚庡埛鏂拌〃鍗� + this.queryException() }, - // 鍙栨秷 - cancel_1() { - this.visible = false - }, - // 瀵硅薄澶勭悊 - operation() { - // console.log(Object.keys(this.form)); - // console.log(Object.values(this.form)); - console.log(Object.entries(this.form)) - let temp = [] - let arr = Object.entries(this.form) - for (let item of arr) { - let obj = {} - obj.label = item[0] - obj.value = item[1] - temp.push(obj) + + /** + * 鍥為��鍒伴粯璁ら厤缃� + * @param锛� + * @returns锛� + */ + async defaultSetting() { + if (this.form.version == '1.0') { + this.$message.info('褰撳墠宸茬粡鏄粯璁ょ殑鐗堟湰') + return } - this.describe = temp - console.log(temp) + this.loading = true + await exceptionSetting.queryDefaultSetting().then((Response) => { + this.form = {} + this.form = Response.data.data[0] + }) + + this.modify = true + // 璁剧疆鐗堟湰1.0 鐨勬洿鏂版椂闂� + exceptionSetting.alertExceptionSetting(this.formDataAfterCal) + this.modify = false + this.loading = false + + this.$message.success('鍥為��鎴愬姛') + }, + + /** + * 鏌ヨ璇锋眰璁剧疆鐨勬暟鎹� + * @param锛� + * @returns锛� + */ + queryException() { + this.loading = true + exceptionSetting.queryExceptionSetting().then((Response) => { + this.loading = false + this.form = Response.data.data[0] + + // 鎵惧埌鏈�澶х殑鐗堟湰 + const versions = Response.data.data.map((item) => item.version) + this.maxVersion = this.findMaxValue(versions) + }) + }, + /** + * 鍙栨秷鎸夐挳 + * @param锛� + * @returns锛� + */ + cancelEvent() { + this.$message.info('宸插彇娑�') } + } } </script> <template> - <el-dialog v-model="visible" title="璇锋眰鏁版嵁" align-center> - <el-form :model="form" label-width="120px"> - <el-form-item label="鐢ㄦ埛鍚�"> - <el-input v-model="form.user" disabled /> - </el-form-item> - <el-form-item label="寮�濮嬫椂闂�"> - <TimeSinglePicker @submit-time="(n) => (form.requestStartTime = n)"></TimeSinglePicker> - </el-form-item> - <el-form-item label="缁撴潫鏃堕棿"> - <TimeSinglePicker @submit-time="(n) => (form.requestEndTime = n)"></TimeSinglePicker> - </el-form-item> - <el-form-item label="鑾峰彇棰戠巼"> - <el-input-number v-model="num" :min="1" :max="24" @change="handleChange" /> - </el-form-item> - <el-form-item label="鍒嗘鏃堕暱"> - <el-input-number v-model="num" :min="1" :max="10" @change="handleChange" /> - </el-form-item> - <el-form-item label="鍒嗘鎵ц鏃剁殑姣忔鐨勯棿闅旀椂闂�"> - <el-input-number v-model="num" :min="1" :max="10" @change="handleChange" /> - </el-form-item> - <el-form-item label="鑾峰彇鏁版嵁浠诲姟寮傚父鏃跺啀娆″皾璇曢棿闅�"> - <el-input-number v-model="num" :min="1" :max="10" @change="handleChange" /> - </el-form-item> - <el-form-item label="鑾峰彇鏁版嵁澶辫触鏃跺啀娆″皾璇曠殑鎬绘鏁�"> - <el-input-number v-model="num" :min="1" :max="10" @change="handleChange" /> - </el-form-item> - <el-form-item label="鏃ョ粺璁�"> - <TimeSinglePicker @submit-time="(n) => (form.staticsDailyTime = n)" /> - </el-form-item> - <el-form-item label="鏈堢粺璁�"> - <TimeSinglePicker @submit-time="(n) => (form.staticsMonthlyTime = n)" /> - </el-form-item> - <el-form-item label="鐧诲綍澶辫触绛夊緟鏃堕暱"> - <el-input-number v-model="num" :min="1" :max="10" @change="handleChange" /> - </el-form-item> - <el-form-item label="鐧诲綍澶辫触灏濊瘯娆℃暟"> - <el-input-number v-model="num" :min="1" :max="10" @change="handleChange" /> - </el-form-item> - <el-form-item label="浠诲姟閲嶆柊寮�濮嬪皾璇曠瓑寰呮椂闂�"> - <el-input-number v-model="num" :min="1" :max="10" @change="handleChange" /> - </el-form-item> - <el-form-item label="鏁版嵁鑾峰彇寮�濮嬫椂闂寸浉瀵瑰綋鏃ュ線鍓嶅亸绉�"> - <el-input-number v-model="num" :min="1" :max="10" @change="handleChange" /> - </el-form-item> - </el-form> - <template #footer> - <el-button @click="cancel_1">鍙栨秷</el-button> - <el-button type="primary" @click="submit">鎻愪氦</el-button> + <div class="my-header"> + <el-text tag="b"> 姝e湪浣跨敤鐨勭増鏈細{{ form.version }}</el-text> + </div> + <el-form :model="form" label-width="230px" v-loading="loading"> + <el-form-item label="鐢ㄦ埛鍚�"> + <el-input :value="userName" disabled /> + </el-form-item> + + <el-form-item label="鍖哄幙"> + <el-input :value="form.region" disabled /> + </el-form-item> + + <el-form-item label="(鏁版嵁缂哄け)缂哄け鐨勫垎閽熸暟"> + <el-input v-model.number="form.missDataMinutes"> + <template #append>鍒嗛挓</template> + </el-input> + </el-form-item> + <el-form-item label="(鏁版嵁瓒呬綆)棰楃矑鐗╂祿搴﹀�煎皬浜嶺"> + <el-input v-model="form.dataLow"> + <template #append>mg/m鲁</template> + </el-input> + </el-form-item> + <el-form-item label="(鏁版嵁闀挎椂闂存棤娉㈠姩)杩炵画X涓�肩浉绛�"> + <el-input v-model.number="form.longTimeNoChange"> + <template #append>涓�</template> + </el-input> + </el-form-item> + <el-form-item label="(閲忕骇绐佸彉)杩炵画N涓�15鍒嗛挓"> + <el-input v-model.number="form.mutationNum"> + <template #append>鍒嗛挓</template> + </el-input> + </el-form-item> + <el-form-item label="(閲忕骇绐佸彉)鍙樺寲鐜囪秴杩嘪"> + <el-input v-model="form.mutationRate"> + <template #append>姣旂巼</template> + </el-input> + </el-form-item> + <el-form-item label="(涓磋繎瓒呮爣寮傚父)澶勪簬[a,b]鐨勫乏杈圭晫"> + <el-input v-model="form.nearExceedLowValue"> + <template #append>mg/m鲁</template> + </el-input> + </el-form-item> + <el-form-item label="(涓磋繎瓒呮爣)澶勪簬[a,b]鐨勫彸杈圭晫"> + <el-input v-model="form.nearExceedHighValue"> + <template #append>mg/m鲁</template> + </el-input> + </el-form-item> + <el-form-item label="(涓磋繎瓒呮爣)娆℃暟瓒呰繃X涓�"> + <el-input v-model.number="form.nearExceedNum"> + <template #append>娆�</template> + </el-input> + </el-form-item> + <el-form-item label="(鍗曟棩瓒呮爣娆℃暟涓寸晫)瓒呮爣娆℃暟杈綳娆�"> + <el-input v-model.number="form.dayExceedBorderlineLowNum"> + <template #append>娆�</template> + </el-input> + </el-form-item> + <el-form-item label="(鍗曟棩瓒呮爣娆℃暟涓寸晫)浣嗘湭杈惧埌Y娆�"> + <el-input v-model.number="form.dayExceedBorderlineHighNum"> + <template #append>娆�</template> + </el-input> + </el-form-item> + <el-form-item label="(鍙樺寲瓒嬪娍寮傚父)N涓竴缁�"> + <el-input v-model.number="form.changeTrendGroup"> + <template #append>涓�</template> + </el-input> + </el-form-item> + <el-form-item label="(鍙樺寲瓒嬪娍寮傚父)闂撮殧M"> + <el-input v-model.number="form.changeTrendInterval"> + <template #append>涓�</template> + </el-input> + </el-form-item> + <el-form-item label="(鍙樺寲瓒嬪娍寮傚父)骞冲潎鍊肩浉宸甕"> + <el-input v-model="form.changeTrendRate"> + <template #append>mg/m鲁</template> + </el-input> + </el-form-item> + + <el-form-item label="(鍙樺寲瓒嬪娍寮傚父)杩炵画鐨勬鏁�"> + <el-input v-model.number="form.changeTrendTimes"> + <template #append>娆�</template> + </el-input> + </el-form-item> + + <el-form-item label="(瓒呮爣)瓒呰繃鏍囧噯鍊�"> + <el-input v-model="form.exceedingStandard"> + <template #append>mg/m鲁</template> + </el-input> + </el-form-item> + </el-form> + + <el-popconfirm + confirm-button-text="纭畾" + cancel-button-text="鍙栨秷" + icon-color="#626AEF" + title="纭鍥為��鍚楋紵" + @confirm="defaultSetting" + @cancel="cancelEvent" + > + <template #reference> + <el-button :disabled="form.version=='1.0'">鍥為��鍒伴粯璁よ缃�</el-button> </template> - </el-dialog> + </el-popconfirm> - <!-- <el-button @click="operation">瀵硅薄澶勭悊</el-button> --> - - <el-descriptions title="寮傚父鍒嗘瀽閰嶇疆" :column="4" size="large" border> - <el-descriptions-item - v-for="item in describe" - :key="item.label" - :label="item.label" - label-align="left" - align="center" - class-name="content-text" - label-class-name="label-text" - > - {{ item.value }} - </el-descriptions-item> - </el-descriptions> + <el-popconfirm + confirm-button-text="纭畾" + cancel-button-text="鍙栨秷" + icon-color="#626AEF" + title="纭淇敼鍚楋紵" + @confirm="submitForm" + @cancel="cancelEvent" + > + <template #reference> + <el-button type="primary">淇敼</el-button> + </template> + </el-popconfirm> </template> <style scoped> -:deep(.label-text) { - font-size: 14px !important; - font-weight: bold !important; - color: #333333 !important; +.my-header { + margin-bottom: 20px; } -:deep(.content-text) { - color: #333333 !important; +span { + font-size: 16px; + color: #0a0a0a; +} +.version-text { + margin-left: 20px; +} +.el-input { + width: 50%; } </style> diff --git a/src/views/data_management/components/CompEditRequest.vue b/src/views/data_management/components/CompEditRequest.vue index 65edd1b..0daf92d 100644 --- a/src/views/data_management/components/CompEditRequest.vue +++ b/src/views/data_management/components/CompEditRequest.vue @@ -1,41 +1,32 @@ <script> import TimeSinglePicker from '@/sfc/TimeSinglePicker.vue' +import OnlyTimePick from '@/sfc/OnlyTimePick.vue' import requestTaskSetting from '@/api/setting/requestTaskSetting.js' +import { useCommonFunction } from '@/utils/common.js' export default { components: { - TimeSinglePicker + TimeSinglePicker, + OnlyTimePick }, props: { - modelValue: { - type: Boolean, - default: false - }, - tableData: { - type: Object, - default: {} + userName: { + type: String, + default: '' } }, - emits: ['update:modelValue'], computed: { - value: { - get() { - return this.modelValue - }, - set(value) { - this.$emit('update:modelValue', value) - } - }, formDataAfterCal() { return { - user: this.form.user, - updateTime: this.form.updateTime, + user: this.userName, region: this.form.region, - version: this.form.version, + // 鏄慨鏀圭姸鎬�-->璇ヨ褰曠殑鐗堟湰鍙� 鏄柊澧炵姸鎬�--> 閰嶇疆琛ㄨ〃鏈�澶х殑鐗堟湰鍙� + version: this.modify ? this.form.version : this.maxVersion, + requestStartTime: this.form.requestStartTime, requestEndTime: this.form.requestEndTime, - requestIntervalSeconds: this.form.requestIntervalSeconds * 3600, + requestIntervalSeconds: this.requestIntervalSeconds, requestRangeHour: this.form.requestRangeHour, requestRangeIntervalSeconds: this.form.requestRangeIntervalSeconds, requestFailWaitSeconds: this.form.requestFailWaitSeconds, @@ -51,121 +42,131 @@ } }, + watch: { + 'form.requestIntervalSeconds': function (val, oldVal) { + if (this.form.requestIntervalSeconds != '' && this.form.requestIntervalSeconds != null) { + this.requestIntervalSeconds = this.form.requestIntervalSeconds / 3600 + } + } + }, + setup() { + const { findMaxValue } = useCommonFunction() + return { findMaxValue } + }, data() { return { - form: { - user: 'admin', - updateTime: '2023-10-10 09:16:41', - region: '閲戝北鍖�', - version: '1.0', - requestStartTime: '2023-10-12 08:43:00', - requestEndTime: null, - requestIntervalSeconds: 12, - requestRangeHour: 8, - requestRangeIntervalSeconds: 5, - requestFailWaitSeconds: 120, - requestRetryTimes: 4, - requestCookieValidDuration: 48, - staticsDailyTime: '2023-10-11 09:00:00', - staticsMonthlyTime: '2023-10-01 10:00:00', - loginFailWaitSeconds: 5, - loginRetryTimes: 5, - taskRetryWaitSeconds: 120, - firstRequestOffsetDays: 30 - }, - rules: { - requestIntervalSeconds: [{ validator: this.checkRequestIntervalSeconds, trigger: 'blur' }], - requestRangeHour: [ - { type: 'number', pattern: '/^\d+$/', message: '璇疯緭鍏ユ暟瀛�', trigger: 'blur' } - // {pattern:'/^[0-9]+$/'} - ] - // requestRangeIntervalSeconds: [{ validator: this.checkRequestRangeIntervalSeconds, trigger: 'blur' }], - // requestFailWaitSeconds: [{ validator: this.checkRequestFailWaitSeconds, trigger: 'blur' }], - // requestRetryTimes: [{ validator: this.checkRequestRetryTimes, trigger: 'blur' }], - // loginFailWaitSeconds: [{ validator: this.checkLoginFailWaitSeconds, trigger: 'blur' }], - // loginRetryTimes: [{ validator: this.checkLoginRetryTimes, trigger: 'blur' }], - // taskRetryWaitSeconds: [{ validator: this.checkTaskRetryWaitSeconds, trigger: 'blur' }], - // firstRequestOffsetDays: [{ validator: this.checkFirstRequestOffsetDays, trigger: 'blur' }], - } + form: {}, + requestIntervalSeconds: null, + maxVersion: null, + loading: false, + // 淇敼鐘舵�� + modify: false, + // // 琛ㄥ崟鏁版嵁鏄惁琚慨鏀� + // isFormModify:false, } }, mounted() { - // const { ...temp } = this.tableData - // this.form = temp + this.queryRequest() }, methods: { - // 鎻愪氦 - /* submitForm() { - // 鍙戦�佷慨鏀圭殑璇锋眰 - requestTaskSetting.submitRequestSetting(this.form) + /** + * 鎻愪氦 + * @param锛� + * @returns锛� + */ + async submitForm() { + await requestTaskSetting.submitRequestSetting(this.formDataAfterCal) - this.$message.success('鎻愪氦鎴愬姛') - - - this.value = false + this.$message.success('鎻愪氦鎴愬姛') - + // 鏁版嵁鎻愪氦鍚庡埛鏂拌〃鍗� + this.queryRequest() - }, */ + // 缃� 琛ㄥ崟淇敼缁撴潫鏍囪 + this.isFormModify = false - async submitForm(formEl) { - if (!formEl) return - await formEl.validate((valid, fields) => { - if (valid) { - console.log('submit!') - } else { - console.log('error submit!', fields) - } + }, + + // 鍥為��鍒伴粯璁ら厤缃� + async defaultSetting() { + if (this.form.version == '1.0') { + this.$message.info('褰撳墠宸茬粡鏄粯璁ょ殑鐗堟湰') + return + } + this.loading = true + await requestTaskSetting.queryDefaultSetting().then((Response) => { + this.form = Response.data.data[0] + }) + this.modify = true + // 璁剧疆璇锋眰閰嶇疆琛ㄧ増鏈�1.0 鐨勬洿鏂版椂闂� + requestTaskSetting.alertRequestSetting(this.formDataAfterCal) + this.modify = false + this.loading = false + + this.$message.success('鍥為��鎴愬姛') + }, + + /** + * 鏌ヨ璇锋眰璁剧疆鐨勬暟鎹� + * @param锛� + * @returns锛� + */ + queryRequest() { + this.loading = true + requestTaskSetting.queryRequestSetting().then((Response) => { + this.loading = false + this.form = Response.data.data[0] + + // 鎵惧埌鏈�澶х殑鐗堟湰 + const versions = Response.data.data.map((item) => item.version) + this.maxVersion = this.findMaxValue(versions) }) }, - - // 鍙栨秷 - cancel_1() { - this.value = false - }, - - checkRequestIntervalSeconds(rule, value, callback) { - if (!value) { - return callback(new Error('璇疯緭鍏ユ湁鏁堝��')) - } - setTimeout(() => { - if (!Number.isInteger(value)) { - callback(new Error('璇疯緭鍏ユ暟瀛�')) - } else { - if (value < 2 || value > 24) { - callback(new Error('鑼冨洿鍦�2~24')) - } else { - callback() - } - } - }, 300) + /** + * 鍙栨秷鎸夐挳 + * @param锛� + * @returns锛� + */ + cancelEvent() { + this.$message.info('宸插彇娑�') } } } </script> + <template> - <el-dialog v-model="value" title="鏁版嵁鑾峰彇閰嶇疆鍙傛暟淇敼" close-delay="200" align-center> - <el-form :model="form" ref="ruleFormRef" label-width="210px" status-icon :rules="rules"> + + <div class="my-header"> + <el-text tag="b"> 姝e湪浣跨敤鐨勭増鏈細{{ form.version }}</el-text> + </div> + <el-form :model="form" label-width="210px" status-icon v-loading="loading" > <el-form-item label="鐢ㄦ埛鍚�"> - <el-input v-model="form.user" disabled /> + <el-input :value="userName" disabled /> </el-form-item> + + <el-form-item label="鍖哄幙"> + <el-input :value="form.region" disabled /> + </el-form-item> + <el-form-item label="寮�濮嬫椂闂�"> <TimeSinglePicker - :selectedTime="form.requestStartTime" + :selected-time="form.requestStartTime" + :isUTC="true" @submit-time="(n) => (form.requestStartTime = n)" ></TimeSinglePicker> </el-form-item> + <el-form-item label="缁撴潫鏃堕棿"> <TimeSinglePicker - @submit-time="(n) => (form.requestEndTime = n)" :selected-time="form.requestEndTime" + :isUTC="true" + @submit-time="(n) => (form.requestEndTime = n)" ></TimeSinglePicker> </el-form-item> - <!-- ---------------------------------------------------------- --> <el-form-item label="鑾峰彇棰戠巼" prop="requestIntervalSeconds"> - <el-input v-model.number="form.requestIntervalSeconds"> + <el-input v-model.number="requestIntervalSeconds"> <template #append>灏忔椂/娆�</template> </el-input> </el-form-item> @@ -190,15 +191,24 @@ <template #append>娆℃暟</template> </el-input> </el-form-item> + + <el-form-item label="cookie鏈夋晥鏃堕暱" prop="requestCookieValidDuration"> + <el-input v-model.number="form.requestCookieValidDuration" :min="1" :max="10"> + <template #append>灏忔椂</template> + </el-input> + </el-form-item> + <el-form-item label="鏃ョ粺璁�"> - <TimeSinglePicker + <OnlyTimePick @submit-time="(n) => (form.staticsDailyTime = n)" + :isUTC="true" :selected-time="form.staticsDailyTime" /> </el-form-item> <el-form-item label="鏈堢粺璁�"> - <TimeSinglePicker + <OnlyTimePick @submit-time="(n) => (form.staticsMonthlyTime = n)" + :isUTC="true" :selected-time="form.staticsMonthlyTime" /> </el-form-item> @@ -224,25 +234,47 @@ </el-form-item> </el-form> - <template #footer> - <el-button @click="cancel_1">鍙栨秷</el-button> - <el-button type="primary" @click="submitForm(ruleFormRef)">鎻愪氦</el-button> + <el-popconfirm + confirm-button-text="纭畾" + cancel-button-text="鍙栨秷" + icon-color="#626AEF" + title="纭鍥為��鍚楋紵" + @confirm="defaultSetting" + @cancel="cancelEvent" + > + <template #reference> + <el-button :disabled="form.version=='1.0'">鍥為��鍒伴粯璁よ缃�</el-button> </template> - </el-dialog> + </el-popconfirm> + + <el-popconfirm + confirm-button-text="纭畾" + cancel-button-text="鍙栨秷" + icon-color="#626AEF" + title="纭淇敼鍚楋紵" + @confirm="submitForm" + @cancel="cancelEvent" + > + <template #reference> + <el-button type="primary">淇敼</el-button> + </template> + </el-popconfirm> </template> <style scoped> -/* .el-form { - display: flex; - flex-direction: column; - } - */ -/* .el-form-item { - display: flex; - margin-top: 5px; - } */ -/* .el-input { - width: 700px; - } - */ +.my-header { + margin-bottom: 20px; +} +span { + font-size: 16px; + color: #0a0a0a; +} +.version-text { + margin-left: 20px; +} +.el-input { + width: 50%; +} </style> + + -- Gitblit v1.9.3