|
@@ -1,7 +1,7 @@
|
|
|
<!--
|
|
|
* @Author: Liugh
|
|
|
* @Date: 2021-05-26 15:09:38
|
|
|
- * @LastEditTime: 2021-05-26 16:44:01
|
|
|
+ * @LastEditTime: 2021-05-27 17:16:18
|
|
|
* @LastEditors: Do not edit
|
|
|
* @FilePath: \auth-web\src\pages\log-manage\err-auth-earlywarning-manage\edit.vue
|
|
|
* @Description:
|
|
@@ -18,7 +18,7 @@
|
|
|
<el-col :span="24">
|
|
|
<el-form-item label="方案状态">
|
|
|
<dg-select
|
|
|
- v-model="form.value"
|
|
|
+ v-model="form.state"
|
|
|
placeholder="请选择方案状态"
|
|
|
code="DM_APPLY_STATUS"
|
|
|
style="width: 100%"
|
|
@@ -31,31 +31,39 @@
|
|
|
<el-form-item label="预警规则">
|
|
|
<!--TODO 内嵌form -->
|
|
|
<!-- <el-input type="textarea" :rows="2" placeholder="请输入预警规则" v-model="form.textarea"></el-input> -->
|
|
|
- <el-form-item
|
|
|
- v-for="(domain, index) in form.domains"
|
|
|
- :label="'域名' + index"
|
|
|
- :key="domain.key"
|
|
|
- :prop="'domains.' + index + '.value'"
|
|
|
- :rules="{
|
|
|
- required: true,
|
|
|
- message: '域名不能为空',
|
|
|
- trigger: 'blur'
|
|
|
- }"
|
|
|
- >
|
|
|
- <el-input v-model="domain.value"></el-input
|
|
|
- ><el-button @click.prevent="removeDomain(domain)">删除</el-button>
|
|
|
+ <el-form-item v-for="(domain, index) in form.ruleContent" :key="index">
|
|
|
+ <div class="time-picker-layer">
|
|
|
+ 用户在
|
|
|
+ <dg-time-picker
|
|
|
+ v-model="domain.time"
|
|
|
+ type="timerange2"
|
|
|
+ :picker-options="pickerOptions"
|
|
|
+ begin-placeholder="开始时间"
|
|
|
+ end-placeholder="结束时间"
|
|
|
+ >
|
|
|
+ </dg-time-picker>
|
|
|
+ 进行鉴权
|
|
|
+ <div class="time-picker-layer_button">
|
|
|
+ <dg-button circle @click.prevent="addDomain" size="mini">
|
|
|
+ <i class="el-icon-plus"></i>
|
|
|
+ </dg-button>
|
|
|
+ <dg-button circle @click.prevent="removeDomain(domain)" size="mini">
|
|
|
+ <i class="el-icon-minus"></i>
|
|
|
+ </dg-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</el-form-item>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
<el-form-item label="规则说明">
|
|
|
- <el-input type="textarea" :rows="2" placeholder="请输入规则说明" v-model="form.textarea">
|
|
|
+ <el-input type="textarea" :rows="2" placeholder="请输入规则说明" v-model="form.ruleExplain">
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
<el-form-item label="预警信息">
|
|
|
- <el-input type="textarea" :rows="2" placeholder="请输入预警信息" v-model="form.textarea">
|
|
|
+ <el-input type="textarea" :rows="2" placeholder="请输入预警信息" v-model="form.warningMsg">
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
@@ -63,13 +71,17 @@
|
|
|
<!-- <el-form-item :label="item.label">{{ detailInfo[item.value] }} </el-form-item> -->
|
|
|
<!-- </el-col> -->
|
|
|
</el-row>
|
|
|
+ <el-form-item>
|
|
|
+ <el-button type="primary" @click="onSubmit">立即创建</el-button>
|
|
|
+ <el-button>取消</el-button>
|
|
|
+ </el-form-item>
|
|
|
</el-form>
|
|
|
</main>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
import { earlyWarningPlanTableInfo } from "../DataConfig";
|
|
|
-import { getAuthUserDetail } from "@/api/data-auth";
|
|
|
+import { riskProgramme, warningProgrammeInfo } from "@/api/log-manage";
|
|
|
import transferBusinessTagMixin from "@/mixins/transfer-business-tag";
|
|
|
|
|
|
export default {
|
|
@@ -83,10 +95,15 @@ export default {
|
|
|
// 组件内部参数
|
|
|
return {
|
|
|
earlyWarningPlanTableInfo,
|
|
|
+ pickerOptions: {
|
|
|
+ start: "00:00",
|
|
|
+ step: "01:00",
|
|
|
+ end: "23:00"
|
|
|
+ },
|
|
|
form: {
|
|
|
- domains: [
|
|
|
+ ruleContent: [
|
|
|
{
|
|
|
- value: ""
|
|
|
+ time: ""
|
|
|
}
|
|
|
]
|
|
|
}
|
|
@@ -95,18 +112,80 @@ export default {
|
|
|
components: {}, // 注册局部组件
|
|
|
computed: {},
|
|
|
methods: {
|
|
|
+ onSubmit() {
|
|
|
+ this.form.ruleContent.forEach(item => {
|
|
|
+ item.start = parseInt(item.time[0]);
|
|
|
+ item.end = parseInt(item.time[1]);
|
|
|
+ });
|
|
|
+ this.form.ruleContent = JSON.stringify(this.form.ruleContent);
|
|
|
+ riskProgramme(this.form).then(res => {
|
|
|
+ this.$message.success("操作成功");
|
|
|
+ this.$emit("success");
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @description:添加规则
|
|
|
+ * @param {*}
|
|
|
+ * @return {*}
|
|
|
+ */
|
|
|
+ addDomain() {
|
|
|
+ this.form.ruleContent.push({
|
|
|
+ time: ""
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @description:移除规则
|
|
|
+ * @param {*} item
|
|
|
+ * @return {*}
|
|
|
+ */
|
|
|
+ removeDomain(item) {
|
|
|
+ if (this.form.ruleContent.length <= 1) return;
|
|
|
+ var index = this.form.ruleContent.indexOf(item);
|
|
|
+ if (index !== -1) {
|
|
|
+ this.form.ruleContent.splice(index, 1);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ countTime(val) {
|
|
|
+ return val >= 10 ? val + ":00" : "0" + val + ":00";
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @description: 获取详情
|
|
|
+ */
|
|
|
getDetail() {
|
|
|
return new Promise(resolve => {
|
|
|
- getAuthUserDetail(this.userInfo.id).then(res => {
|
|
|
- this.form = res.data;
|
|
|
- resolve(res.data);
|
|
|
+ warningProgrammeInfo(this.info.id).then(res => {
|
|
|
+ res.ruleContent = JSON.parse(res.ruleContent);
|
|
|
+ res.ruleContent.forEach(item => {
|
|
|
+ item.time = [this.countTime(item.start), this.countTime(item.end)];
|
|
|
+ delete item.start;
|
|
|
+ delete item.end;
|
|
|
+ });
|
|
|
+ this.form = res;
|
|
|
+ console.log(this.form);
|
|
|
+ resolve(res);
|
|
|
});
|
|
|
});
|
|
|
}
|
|
|
}, // 内部方法
|
|
|
async created() {
|
|
|
- // await this.getDetail();
|
|
|
+ await this.getDetail();
|
|
|
}
|
|
|
};
|
|
|
</script>
|
|
|
-<style lang="scss" scoped></style>
|
|
|
+<style lang="scss">
|
|
|
+.auth-earlywarning-plan-edit-layer {
|
|
|
+ .time-picker-layer {
|
|
|
+ display: flex;
|
|
|
+ // align-items: center;
|
|
|
+ margin-bottom: 0.75rem;
|
|
|
+ &_button {
|
|
|
+ margin-left: 0.9375rem;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .dg-range-editor {
|
|
|
+ margin: 0 0.9375rem;
|
|
|
+ display: flex;
|
|
|
+ // align-items: center;
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|