探索配置模板详情 - UUID:{{template.template_uuid}}
<template>
<t-card :bordered="false">
<t-form
ref="form"
:data="formData"
:rules="FORM_RULES"
label-align="top"
:label-width="100"
@reset="onReset"
@submit="onSubmit"
>
<div class="form-basic-container">
<div class="form-basic-item">
<div class="form-basic-container-title">模板信息【UUID:{{template.template_uuid}}】</div>
<t-form-item label="模板名称" name="templateTitle">
<t-input v-model="formData.templateTitle" :style="{ width: '322px' }" />
</t-form-item>
<t-form-item label="模板描述" name="templateDescription">
<t-textarea v-model="formData.templateDescription" :autosize="{ minRows: 3, maxRows: 5 }" placeholder="模板描述" />
</t-form-item>
<pre><code> <div class="form-basic-container-title">探索配置信息</div>
<!-- 表单内容 -->
<t-row class="row-gap" :gutter="[16, 24]">
<t-col :span="12">
<div class="sub-table-container">
<div class="sub-table-title">探索范围配置</div>
<t-table :data="formData.exploreConfig.scopeConfig" :columns="exploreScopeColumns" :bordered="false" :size="small" />
</div>
</t-col>
<t-col :span="12">
<div class="sub-table-container">
<div class="sub-table-title">定向操作配置</div>
<t-table :data="formData.exploreConfig.directionalConfig" :columns="exploreDirectionalColumns" :bordered="false" :size="small" />
</div>
</t-col>
</t-row>
<t-row class="row-gap" :gutter="[16, 24]">
<t-col :span="12">
<div class="sub-table-container">
<div class="sub-table-title">定时操作配置</div>
<t-table :data="formData.exploreConfig.timingConfig" :columns="exploreTimingColumns" :bordered="false" :size="small" />
</div>
</t-col>
<t-col :span="12">
<div class="sub-table-container">
<div class="sub-table-title">预设通用配置</div>
<t-table :data="formData.exploreConfig.generalConfig" :columns="exploreGeneralColumns" :bordered="false" :size="small" />
</div>
</t-col>
</t-row>
<div class="sub-table-container">
<div class="sub-table-title">AI配置</div>
<t-table :data="formData.exploreConfig.aiConfig" :columns="exploreAIColumns" :bordered="false" :size="small" />
</div>
<div class="form-basic-container-title">环境配置信息</div>
<!-- 表单内容 -->
<t-row class="row-gap" :gutter="[16, 24]">
<t-col :span="12">
<div class="sub-table-container">
<div class="sub-table-title">弱网配置</div>
<t-table :data="formData.envConfig.weakNetworkConfig" :columns="envWeakNetworkColumns" :bordered="false" :size="small" />
</div>
</t-col>
</t-row>
<div class="form-basic-container-title">数据回收信息</div>
<!-- 表单内容 -->
<t-row class="row-gap" :gutter="[16, 24]">
<t-col :span="12">
<div class="sub-table-container">
<div class="sub-table-title">截图频率</div>
<t-table :data="formData.dataCollection.screenshotFrequency" :columns="dataCollectionScreenshotColumns" :bordered="false" :size="small" />
</div>
</t-col>
<t-col :span="12">
<div class="sub-table-container">
<div class="sub-table-title">故障监控方式</div>
<t-table :data="formData.dataCollection.failureMonitoring" :columns="dataCollectionFailureColumns" :bordered="false" :size="small" />
</div>
</t-col>
</t-row>
<div class="form-basic-container-title">故障提单信息</div>
<!-- 表单内容 -->
<t-row class="row-gap" :gutter="[16, 24]">
<t-col :span="12">
<div class="sub-table-container">
<div class="sub-table-title">提单模板</div>
<t-table :data="formData.faultTicket.template" :columns="faultTicketTemplateColumns" :bordered="false" :size="small" />
</div>
</t-col>
<t-col :span="12">
<div class="sub-table-container">
<div class="sub-table-title">提单过滤</div>
<t-table :data="formData.faultTicket.filter" :columns="faultTicketFilterColumns" :bordered="false" :size="small" />
</div>
</t-col>
</t-row>
</div>
</div>
<div class="form-submit-container">
<div class="form-submit-sub">
<div class="form-submit-left">
<t-button theme="primary" class="form-submit-confirm" type="submit"> 提交 </t-button>
<t-button type="reset" class="form-submit-cancel" theme="default" variant="base"> 取消 </t-button>
</div>
</div>
</div>
</t-form>
</code></pre>
</t-card>
</template>
<script>
import { prefix } from '@/config/global';
<p>const INITIAL_DATA = {
templateTitle: '',
templateDescription: '',
appIdentifier: '',
initCommandDescription: '',
formulatedCommandDescription: '',
exploreConfig: {
scopeConfig: [],
directionalConfig: [],
timingConfig: [],
generalConfig: [],
aiConfig: [],
},
envConfig: {
weakNetworkConfig: [],
},
dataCollection: {
screenshotFrequency: [],
failureMonitoring: [],
},
faultTicket: {
template: [],
filter: [],
},
};
const FORM_RULES = {
appIdentifier: [{ required: true, message: '请输入app的标识符', type: 'error' }],
initCommandDescription: [{ required: true, message: '请输入需要执行的操作描述', type: 'error' }],
formulatedCommandDescription: [{ required: false, message: '请输入转化后的标准操作流程', type: 'error' }],
};</p>
<p>export default {
name: 'FormBase',
data() {
return {
prefix,
stepSuccess: true,
formData: { ...INITIAL_DATA },
FORM_RULES,
dataLoading: false,
template: { },
exploreScopeColumns: [/<em>探索范围配置的列定义</em>/],
exploreDirectionalColumns: [/<em>定向操作配置的列定义</em>/],
exploreTimingColumns: [/<em>定时操作配置的列定义</em>/],
exploreGeneralColumns: [/<em>预设通用配置的列定义</em>/],
exploreAIColumns: [/<em>AI配置的列定义</em>/],
envWeakNetworkColumns: [/<em>弱网配置的列定义</em>/],
dataCollectionScreenshotColumns: [/<em>截图频率的列定义</em>/],
dataCollectionFailureColumns: [/<em>故障监控方式的列定义</em>/],
faultTicketTemplateColumns: [/<em>提单模板的列定义</em>/],
faultTicketFilterColumns: [/<em>提单过滤的列定义</em>/],
};
},
watch: {
// eslint-disable-next-line func-names
'$route': function(to, from) {
if (to.path.endsWith('/explore_config_details')) {
console.log("to explore_config_detail")
// 只有在 /tasks 路由的参数改变时才执行
this.getTemplate();
}
}
},
mounted() {
console.log("this is template detail page")
this.getTemplate()
},
methods: {
getTemplate() {
this.dataLoading = true;
this.$request
.get(<code>/web/projects/${this.$route.params.id}/tasks/${this.$route.params.tid}/explore_config_templates/${this.$route.params.pid}</code>, {
headers: {
},
withCredentials: true
})
.then((res) => {
console.log(res)
if (res.status === 200) {
const tp = res.data;
console.log(tp)
this.template = tp;
this.formData.templateTitle = this.template.template_title;
this.formData.templateDescription = this.template.template_description;
const content = JSON.parse(this.template.content)
if (content !== null && typeof content!== 'undefined') {
this.formData.appIdentifier = content.app_identifier
this.formData.initCommandDescription = content.init_command_description
this.formData.formulatedCommandDescription = content.formulated_command_description
}
}
})
.catch((e) => {
console.log(e);
})
.finally(() => {
this.dataLoading = false;
});
},
handleFail({ file }) {
this.$message.error(<code>文件 ${file.name} 上传失败</code>);
},
beforeUpload(file) {
if (!/.(pdf)$/.test(file.name)) {
this.$message.warning('请上传pdf文件');
return false;
}
return true;
},
// 用于格式化接口响应值,error 会被用于上传失败的提示文字;url 表示文件/图片地址
formatResponse(res) {
return { ...res, error: '上传失败,请重试', url: res.url };
},
changeStatus() {
this.stepSuccess = !this.stepSuccess;
},
onReset() {
this.$message.warning('取消新建');
},
onSubmit({ validateResult }) {
if (validateResult === true) {
const contentData = {
app_identifier : this.formData.appIdentifier,
init_command_description : this.formData.initCommandDescription,
formulated_command_description : this.formData.formulatedCommandDescription
}
this.$request
.put(<code>/web/projects/${this.$route.params.id}/tasks/${this.$route.params.tid}/explore_config_templates/${this.$route.params.pid}</code>, {
template_title: this.formData.templateTitle,
template_description: this.formData.templateDescription,
content: JSON.stringify(contentData)
}, {
withCredentials: true
})
.then((res) => {
console.log(res)
if (res.status === 200) {
this.$message.success('保存成功');
}
})
.catch((e) => {
console.log(e);
this.$message.error('保存失败');
})
.finally(() => {
console.log("save");
});
}
},
},
};
</script></p>
<style lang="less" scoped>
@import './index';
</style>
原文地址: https://www.cveoy.top/t/topic/qxxk 著作权归作者所有。请勿转载和采集!