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/views/data_management/components/CompEditException.vue | 361 +++++++++++++++++++++++++++++++++------------------ 1 files changed, 234 insertions(+), 127 deletions(-) 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> -- Gitblit v1.9.3