From cf9259c2ebee0e82c32864a1ee91d96c403b9099 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期日, 04 二月 2024 13:42:04 +0800
Subject: [PATCH] 指标完成
---
src/components/Regular/index.vue | 151 +++++++++++++++++++++++++++++++++++---------------
1 files changed, 105 insertions(+), 46 deletions(-)
diff --git a/src/components/Regular/index.vue b/src/components/Regular/index.vue
index fb1f240..a1b49cb 100644
--- a/src/components/Regular/index.vue
+++ b/src/components/Regular/index.vue
@@ -51,18 +51,18 @@
<el-tag
:key="crux"
type="success"
- v-for="crux in dynamiccruxs"
+ v-for="crux in item.dynamiccruxs"
closable
effect="dark"
:disable-transitions="false"
- @close="handleClosecrux(crux)"
+ @close="handleClosecrux(crux, item)"
>
{{ crux }}
</el-tag>
<el-select
v-model="inputValue"
- v-if="inputVisible"
- @change="handleInputConfirm"
+ v-if="item.inputVisible"
+ @change="handleInputConfirm(item)"
filterable
remote
allow-create
@@ -72,10 +72,10 @@
placeholder="璇烽�夋嫨"
>
<el-option
- v-for="item in regular"
- :key="item.label"
- :label="item.label"
- :value="item.label"
+ v-for="items in regular"
+ :key="items.label"
+ :label="items.label"
+ :value="items.label"
>
</el-option>
</el-select>
@@ -83,7 +83,7 @@
v-else
class="button-new-tag"
size="small"
- @click="showInput"
+ @click="showInput(item)"
>+ 鏂板</el-button
>
</div>
@@ -93,18 +93,18 @@
<el-tag
:key="crux"
type="warning"
- v-for="crux in nodynamiccruxs"
+ v-for="crux in item.nodynamiccruxs"
closable
effect="dark"
:disable-transitions="false"
- @close="handleClosecrux(crux)"
+ @close="handleClosecrux(crux, item)"
>
{{ crux }}
</el-tag>
<el-select
v-model="inputValue"
- v-if="noinputVisible"
- @change="handleInputConfirm"
+ v-if="item.noinputVisible"
+ @change="handleInputConfirm(item)"
filterable
remote
allow-create
@@ -114,10 +114,10 @@
placeholder="璇烽�夋嫨"
>
<el-option
- v-for="item in noregular"
- :key="item.value"
- :label="item.label"
- :value="item.label"
+ v-for="items in noregular"
+ :key="items.value"
+ :label="items.label"
+ :value="items.label"
>
</el-option>
</el-select>
@@ -125,7 +125,7 @@
v-else
class="button-new-tag"
size="small"
- @click="showInputno"
+ @click="showInputno(item)"
>+ 鏂板</el-button
>
</div>
@@ -149,9 +149,33 @@
>
<el-col :span="8">
<div style="text-align: right; padding-right: 10px">
- <el-button type="danger" @click="deloption(item)" round
- >鍒犻櫎</el-button
- >
+ <el-button
+ v-if="controlsc"
+ @click="$emit('addoption', item)"
+ type="success"
+ icon="el-icon-circle-plus-outline"
+ circle
+ ></el-button>
+ <el-button
+ type="danger"
+ icon="el-icon-delete"
+ circle
+ @click="$emit('deloption', item)"
+ ></el-button>
+ <el-button
+ v-if="controlsc"
+ @click="$emit('syioption', item)"
+ type="primary"
+ icon="el-icon-top"
+ circle
+ ></el-button>
+ <el-button
+ v-if="controlsc"
+ @click="$emit('xiayioption', item)"
+ type="primary"
+ icon="el-icon-bottom"
+ circle
+ ></el-button>
</div>
</el-col>
</el-row>
@@ -180,7 +204,7 @@
loading: false,
regular: [],
noregular: [],
- nodynamiccruxs: ["鍒�"],
+ nodynamiccruxs: ["鍒�", "涓�"],
dynamiccruxs: ["濂�"],
};
},
@@ -190,34 +214,53 @@
required: true,
default: () => [],
},
+ controlsc: {
+ type: Boolean,
+ default: true,
+ },
},
created() {
this.regular = store.getters.regular;
this.noregular = store.getters.noregular;
+
+
+
},
methods: {
// 鐢熸垚姝e垯
- generateRegex() {
+ generateRegex(row) {
+ let index = this.TargetoptionList.indexOf(row);
+ console.log(index);
let regex = "";
let regexno = "";
let hostregex = "";
let hostregexno = "";
- for (let i = 0; i < this.dynamiccruxs.length; i++) {
- regex += `${this.dynamiccruxs[i]}|`;
+ for (
+ let i = 0;
+ i < this.TargetoptionList[index].dynamiccruxs.length;
+ i++
+ ) {
+ regex += `${this.TargetoptionList[index].dynamiccruxs[i]}|`;
}
- for (let i = 0; i < this.nodynamiccruxs.length; i++) {
- regexno += `${this.nodynamiccruxs[i]}|`;
+ for (
+ let i = 0;
+ i < this.TargetoptionList[index].nodynamiccruxs.length;
+ i++
+ ) {
+ regexno += `${this.TargetoptionList[index].nodynamiccruxs[i]}|`;
}
regex = regex.slice(0, -1);
regexno = regexno.slice(0, -1);
-
hostregex = "(?=.*(?:" + `${regex}` + ")).*$";
- hostregexno = "(?=.*(?:" + `${regexno}` + ")).*$";
+ hostregexno = "^(?!.(?:" + `${regexno}` + ")).*$";
+ this.TargetoptionList[index].hostregex = hostregex;
+ this.TargetoptionList[index].hostregex2 = hostregexno;
console.log(hostregex, "纭畾瀛楀尮閰�");
console.log(hostregexno, "鍚﹀畾瀛楀尮閰�");
+ this.handleSelectionChange();
},
// 鎺у埗鏂囦欢
handleChange(file, fileList) {
@@ -232,47 +275,63 @@
);
},
- handleClosecrux(crux) {
+ handleClosecrux(crux, item) {
if (this.whether == 1) {
this.dynamiccruxs.splice(this.dynamiccruxs.indexOf(crux), 1);
} else {
this.nodynamiccruxs.splice(this.nodynamiccruxs.indexOf(crux), 1);
}
- this.generateRegex();
+ this.generateRegex(item);
},
- handleInputConfirm() {
+ handleInputConfirm(row) {
+ let index = this.TargetoptionList.indexOf(row);
if (this.whether == 1 && this.inputValue) {
- if (this.dynamiccruxs.indexOf(this.inputValue) == -1) {
- this.dynamiccruxs.push(this.inputValue);
+ if (
+ this.TargetoptionList[index].dynamiccruxs.indexOf(this.inputValue) ==
+ -1
+ ) {
+ this.TargetoptionList[index].dynamiccruxs.push(this.inputValue);
} else {
this.$message.error("鍏抽敭瀛楀凡瀛樺湪");
}
- this.inputVisible = false;
+ // this.inputVisible = false;
+ this.TargetoptionList[index].inputVisible = false;
} else if (this.whether == 2 && this.inputValue) {
console.log(this.inputValue);
- console.log(this.nodynamiccruxs.indexOf(this.inputValue));
- if (this.nodynamiccruxs.indexOf(this.inputValue) == -1) {
- this.nodynamiccruxs.push(this.inputValue);
+ console.log(
+ this.TargetoptionList[index].nodynamiccruxs.indexOf(this.inputValue)
+ );
+ if (
+ this.TargetoptionList[index].nodynamiccruxs.indexOf(
+ this.inputValue
+ ) == -1
+ ) {
+ this.TargetoptionList[index].nodynamiccruxs.push(this.inputValue);
} else {
this.$message.error("鍏抽敭瀛楀凡瀛樺湪");
}
- this.noinputVisible = false;
+ // this.noinputVisible = false;
+ this.TargetoptionList[index].noinputVisible = false;
}
- this.generateRegex();
+ this.generateRegex(row);
this.inputValue = "";
},
- showInput() {
- this.inputVisible = true;
+ showInput(row) {
+ let index = this.TargetoptionList.indexOf(row);
+ // this.TargetoptionList[index].inputVisible = true;
+ this.$set(this.TargetoptionList[index], "inputVisible", true);
this.whether = 1;
},
- showInputno() {
- this.noinputVisible = true;
+ showInputno(row) {
+ let index = this.TargetoptionList.indexOf(row);
+ // this.TargetoptionList[index].noinputVisible = true;
+ this.$set(this.TargetoptionList[index], "noinputVisible", true);
this.whether = 2;
- console.log(2);
},
handleSelectionChange(selection) {
- $emit("handleSelectionChange", selection);
+ console.log(this.TargetoptionList);
+ this.$emit("handleSelectionChange", selection);
},
},
};
--
Gitblit v1.9.3