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/CompEditRequest.vue | 276 ++++++++++++++++++++++++++++++------------------------ 1 files changed, 154 insertions(+), 122 deletions(-) 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