From e6af7e6f95fb49115bf593daff0bee48648f99cf Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期五, 31 五月 2024 14:46:55 +0800
Subject: [PATCH] 测试完成
---
src/views/repositoryai/general/particulars/index.vue | 202 ++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 195 insertions(+), 7 deletions(-)
diff --git a/src/views/repositoryai/general/particulars/index.vue b/src/views/repositoryai/general/particulars/index.vue
index 63f1374..8a161a6 100644
--- a/src/views/repositoryai/general/particulars/index.vue
+++ b/src/views/repositoryai/general/particulars/index.vue
@@ -172,12 +172,89 @@
<!-- <el-input v-model="indexform.userName" maxlength="30" /> -->
</el-form-item>
- <el-form-item label="鍖归厤鏂囨湰" prop="desc">
- <el-input
- type="textarea"
- placeholder="璇疯緭鍏ュ尮閰嶆鍒�"
- v-model="ruleForm.selfRegex"
- ></el-input>
+ <el-form-item label="鍏抽敭瀛�(鍚�)" prop="desc">
+ <div class="xinz-inf">
+ <el-tag
+ :key="crux"
+ type="success"
+ v-for="crux in ruleForm.dynamiccruxs"
+ closable
+ effect="dark"
+ :disable-transitions="false"
+ @close="handleClosecrux(crux, ruleForm, 1)"
+ >
+ {{ crux }}
+ </el-tag>
+ <el-select
+ v-model="inputValue"
+ v-if="inputVisible"
+ @change="handleInputConfirm(ruleForm)"
+ filterable
+ remote
+ allow-create
+ reserve-keyword
+ default-first-option
+ :loading="loading"
+ placeholder="璇烽�夋嫨"
+ >
+ <el-option
+ v-for="ruleForms in regular"
+ :key="ruleForms.label"
+ :label="ruleForms.label"
+ :value="ruleForms.label"
+ >
+ </el-option>
+ </el-select>
+ <el-button
+ v-else
+ class="button-new-tag"
+ size="small"
+ @click="showInput(ruleForm)"
+ >+ 鏂板</el-button
+ >
+ </div>
+ </el-form-item>
+ <el-form-item label="鍏抽敭瀛�(闈�)" prop="desc">
+ <div class="xinz-inf">
+ <el-tag
+ :key="crux"
+ type="warning"
+ v-for="crux in ruleForm.nodynamiccruxs"
+ closable
+ effect="dark"
+ :disable-transitions="false"
+ @close="handleClosecrux(crux, ruleForm, 2)"
+ >
+ {{ crux }}
+ </el-tag>
+ <el-select
+ v-model="inputValue"
+ v-if="noinputVisible"
+ @change="handleInputConfirm(ruleForm)"
+ filterable
+ remote
+ allow-create
+ reserve-keyword
+ default-first-option
+ :loading="loading"
+ placeholder="璇烽�夋嫨"
+ >
+ <el-option
+ v-for="ruleForms in noregular"
+ :key="ruleForms.value"
+ :label="ruleForms.label"
+ :value="ruleForms.label"
+ >
+ </el-option>
+ </el-select>
+ <el-button
+ v-else
+ class="button-new-tag"
+ size="small"
+ @click="showInputno(ruleForm)"
+ >+ 鏂板</el-button
+ >
+ </div>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('ruleForm')"
@@ -247,12 +324,24 @@
label: "缁撴潫璇�",
},
],
- ruleForm: {},
+ ruleForm: {
+ dynamiccruxs: [],
+ nodynamiccruxs: [],
+ },
baseForm: {
extName: "",
},
rules: {},
bases: {},
+ whether: 1, //1涓哄叧閿瘝锛�2涓哄惁瀹氬叧閿瘝
+ inputValue: "",
+ inputVisible: false,
+ noinputVisible: false,
+ loading: false,
+ regular: [],
+ noregular: [],
+ nodynamiccruxs: ["鍒�", "涓�"],
+ dynamiccruxs: ["濂�"],
};
},
@@ -262,6 +351,8 @@
this.usable = store.getters.usablesz;
this.languagelist = store.getters.languagelist;
this.mode = store.getters.mode;
+ this.regular = store.getters.regular;
+ this.noregular = store.getters.noregular;
},
methods: {
@@ -388,6 +479,81 @@
}
return "";
},
+ // 姝e垯-----------------
+ // 鐢熸垚姝e垯
+ generateRegex(row) {
+ let regex = "";
+ let regexno = "";
+ let hostregex = "";
+ let hostregexno = "";
+
+ for (let i = 0; i < this.ruleForm.dynamiccruxs.length; i++) {
+ regex += `${this.ruleForm.dynamiccruxs[i]}|`;
+ }
+ for (let i = 0; i < this.ruleForm.nodynamiccruxs.length; i++) {
+ regexno += `${this.ruleForm.nodynamiccruxs[i]}|`;
+ }
+ regex = regex.slice(0, -1);
+ regexno = regexno.slice(0, -1);
+ hostregex = "(?=.*(?:" + `${regex}` + ")).*$";
+ hostregexno = "^(?!.(?:" + `${regexno}` + ")).*$";
+ this.ruleForm.selfRegex = hostregex;
+ this.ruleForm.selfRegex2 = hostregexno;
+ console.log(hostregex, "纭畾瀛楀尮閰�");
+ console.log(hostregexno, "鍚﹀畾瀛楀尮閰�");
+ },
+ handleClosecrux(crux, item, whether) {
+ if (whether == 1) {
+ item.dynamiccruxs.splice(item.dynamiccruxs.indexOf(crux), 1);
+ console.log(1);
+ console.log(item.dynamiccruxs);
+ console.log(item.nodynamiccruxs);
+ } else {
+ console.log(2);
+ item.nodynamiccruxs.splice(item.nodynamiccruxs.indexOf(crux), 1);
+ }
+ this.generateRegex(item);
+ },
+ handleInputConfirm(row) {
+ // let index = this.TargetoptionList.indexOf(row);
+ console.log(this.ruleForm.dynamiccruxs);
+ console.log(this.ruleForm.nodynamiccruxs);
+ if (this.whether == 1 && this.inputValue) {
+ console.log(1);
+ if (this.ruleForm.dynamiccruxs.indexOf(this.inputValue) == -1) {
+ this.ruleForm.dynamiccruxs.push(this.inputValue);
+ console.log(2);
+ } else {
+ this.$message.error("鍏抽敭瀛楀凡瀛樺湪");
+ }
+ // this.inputVisible = false;
+ this.inputVisible = false;
+ } else if (this.whether == 2 && this.inputValue) {
+ console.log(this.ruleForm.nodynamiccruxs.indexOf(this.inputValue));
+ if (this.ruleForm.nodynamiccruxs.indexOf(this.inputValue) == -1) {
+ this.ruleForm.nodynamiccruxs.push(this.inputValue);
+ } else {
+ this.$message.error("鍏抽敭瀛楀凡瀛樺湪");
+ }
+ // this.noinputVisible = false;
+ this.noinputVisible = false;
+ }
+ this.generateRegex(row);
+
+ this.inputValue = "";
+ },
+ showInput(row) {
+ // let index = this.TargetoptionList.indexOf(row);
+ this.inputVisible = true;
+ // this.$set(this.ruleForm, "inputVisible", true);
+ this.whether = 1;
+ },
+ showInputno(row) {
+ // let index = this.TargetoptionList.indexOf(row);
+ this.noinputVisible = true;
+ // this.$set(this.ruleForm, "noinputVisible", true);
+ this.whether = 2;
+ },
},
};
</script>
@@ -408,6 +574,28 @@
.button-textsc {
color: rgb(235, 23, 23);
}
+.topicxq {
+ background-color: #e2f5fc;
+ border-radius: 4px;
+ margin-top: 10px;
+ padding: 10px;
+}
+
+.el-tag + .el-tag {
+ margin-left: 10px;
+}
+.button-new-tag {
+ margin-left: 10px;
+ height: 32px;
+ line-height: 30px;
+ padding-top: 0;
+ padding-bottom: 0;
+}
+.input-new-tag {
+ width: 90px;
+ margin-left: 10px;
+ vertical-align: bottom;
+}
::v-deep.el-table .warning-row {
background: rgb(193, 208, 250);
}
--
Gitblit v1.9.3