|
@@ -28,12 +28,29 @@
|
|
|
style="width: 400px; margin: 0 auto"
|
|
|
label-position="left"
|
|
|
>
|
|
|
- <el-form-item label="启用标签" prop="labelFlag">
|
|
|
+ <el-form-item
|
|
|
+ label="启用标签"
|
|
|
+ prop="labelFlag"
|
|
|
+ :rules="{
|
|
|
+ required: true,
|
|
|
+ message: '请选择是否开启标签',
|
|
|
+ trigger: 'change',
|
|
|
+ }"
|
|
|
+ >
|
|
|
<el-radio-group v-model="labelForm.labelFlag" :disabled="editable">
|
|
|
<el-radio label="0">关闭</el-radio>
|
|
|
<el-radio label="1">开启</el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
+ <div
|
|
|
+ v-if="
|
|
|
+ labelForm.labelFlag == 1 && (labelForm.labelArr || []).length == 0
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <el-form-item label=" ">
|
|
|
+ 您没有添加标签,所以标签功能尚未生效
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
<div v-if="labelForm.labelFlag == 1">
|
|
|
<el-form-item
|
|
|
v-for="(label, index) in labelForm.labelArr"
|
|
@@ -49,13 +66,24 @@
|
|
|
<el-input v-model="label.labelName" :disabled="editable"></el-input>
|
|
|
<el-popconfirm
|
|
|
title="此标签在用,删除前请仔细检查,是否删除?"
|
|
|
- confirm-button-text='删除'
|
|
|
+ confirm-button-text="删除"
|
|
|
@onConfirm="removeLabel(label)"
|
|
|
v-if="!!label.id"
|
|
|
>
|
|
|
- <el-button slot="reference" :disabled="editable">删除</el-button>
|
|
|
+ <el-button
|
|
|
+ slot="reference"
|
|
|
+ :disabled="editable"
|
|
|
+ :loading="label.loading"
|
|
|
+ >删除</el-button
|
|
|
+ >
|
|
|
</el-popconfirm>
|
|
|
- <el-button @click="removeLabel(label)" :disabled="editable" v-else>删除</el-button>
|
|
|
+ <el-button
|
|
|
+ @click="removeLabel(label)"
|
|
|
+ :disabled="editable"
|
|
|
+ :loading="label.loading"
|
|
|
+ v-else
|
|
|
+ >删除</el-button
|
|
|
+ >
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<el-form-item>
|
|
@@ -65,6 +93,9 @@
|
|
|
v-show="labelForm.labelFlag == 1"
|
|
|
>新增</el-button
|
|
|
>
|
|
|
+ <el-button type="danger" @click="editLabel">{{
|
|
|
+ editable ? "修改标签" : "取消"
|
|
|
+ }}</el-button>
|
|
|
<el-button
|
|
|
type="primary"
|
|
|
@click="submitForm('labelForm')"
|
|
@@ -72,15 +103,12 @@
|
|
|
v-show="!editable"
|
|
|
>提交</el-button
|
|
|
>
|
|
|
- <el-button type="danger" @click="editLabel">{{
|
|
|
- editable ? "修改标签" : "取消"
|
|
|
- }}</el-button>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
-import { sysDeptDemoList, addlabel } from "@/api/label/label";
|
|
|
+import { sysDeptDemoList, addlabel, selectLabel } from "@/api/label/label";
|
|
|
|
|
|
export default {
|
|
|
name: "Label_AddLabel",
|
|
@@ -92,13 +120,12 @@ export default {
|
|
|
{
|
|
|
id: "",
|
|
|
labelName: "hah",
|
|
|
- }
|
|
|
+ },
|
|
|
],
|
|
|
delArr: [],
|
|
|
},
|
|
|
editable: true,
|
|
|
tempForm: undefined,
|
|
|
- delLabelItem:{}
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
@@ -108,9 +135,7 @@ export default {
|
|
|
init() {
|
|
|
this.getList();
|
|
|
},
|
|
|
- test(){
|
|
|
-
|
|
|
- },
|
|
|
+ test() {},
|
|
|
getList() {
|
|
|
return sysDeptDemoList().then((res) => {
|
|
|
if (res.code == 200) {
|
|
@@ -121,9 +146,6 @@ export default {
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
- delLabel(label){
|
|
|
- this.delLabelItem = label;
|
|
|
- },
|
|
|
submitForm(labelForm) {
|
|
|
this.$refs[labelForm].validate((valid) => {
|
|
|
if (valid) {
|
|
@@ -144,14 +166,41 @@ export default {
|
|
|
this.$refs[labelForm].resetFields();
|
|
|
},
|
|
|
removeLabel(item) {
|
|
|
- if(!!item.id){
|
|
|
- this.labelForm.delArr.push(item.id);
|
|
|
- console.log(this.labelForm.delArr)
|
|
|
- }
|
|
|
- var index = this.labelForm.labelArr.indexOf(item);
|
|
|
- if (index !== -1) {
|
|
|
- this.labelForm.labelArr.splice(index, 1);
|
|
|
+ item.loading = true;
|
|
|
+ this.labelForm = { ...this.labelForm };
|
|
|
+ if (!item.id) {
|
|
|
+ var index = this.labelForm.labelArr.indexOf(item);
|
|
|
+ if (index !== -1) {
|
|
|
+ this.labelForm.labelArr.splice(index, 1);
|
|
|
+ }
|
|
|
+
|
|
|
+ item.loading = false;
|
|
|
+ this.labelForm = { ...this.labelForm };
|
|
|
+ return;
|
|
|
}
|
|
|
+ selectLabel({
|
|
|
+ labelId: item.id,
|
|
|
+ }).then((res) => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ if (res.data) {
|
|
|
+ this.labelForm.delArr.push(item.id);
|
|
|
+ var index = this.labelForm.labelArr.indexOf(item);
|
|
|
+ if (index !== -1) {
|
|
|
+ this.labelForm.labelArr.splice(index, 1);
|
|
|
+ }
|
|
|
+ item.loading = false;
|
|
|
+ this.labelForm = { ...this.labelForm };
|
|
|
+ } else {
|
|
|
+ this.msgError("请先清空标签下的成员之后,再来删除标签操作");
|
|
|
+ item.loading = false;
|
|
|
+ this.labelForm = { ...this.labelForm };
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.msgError("查询标签状态失败,请重试");
|
|
|
+ item.loading = false;
|
|
|
+ this.labelForm = { ...this.labelForm };
|
|
|
+ }
|
|
|
+ });
|
|
|
},
|
|
|
addLabel() {
|
|
|
this.labelForm.labelArr.push({
|
|
@@ -163,7 +212,7 @@ export default {
|
|
|
if (!this.editable) {
|
|
|
if (this.tempForm !== undefined) {
|
|
|
this.labelForm = JSON.parse(this.tempForm);
|
|
|
- this.labelForm.delArr = []
|
|
|
+ this.labelForm.delArr = [];
|
|
|
}
|
|
|
} else {
|
|
|
this.tempForm = JSON.stringify({ ...this.labelForm });
|