|
@@ -124,11 +124,14 @@ export default {
|
|
|
item => item.code === this.modalForm.codePrimary
|
|
|
);
|
|
|
if (existFirstDim) {
|
|
|
- if (existFirstDim.name !== value)
|
|
|
- return callback(new Error("一级知识维度错误"));
|
|
|
+ const existFirstDim1 = this.dictData.find(
|
|
|
+ item => item.name === value && value !== existFirstDim.name
|
|
|
+ );
|
|
|
+ if (existFirstDim1) return callback(new Error("一级知识维度已存在"));
|
|
|
} else {
|
|
|
- existFirstDim = this.dictData.find(item => item.name === value);
|
|
|
- if (existFirstDim) return callback(new Error("一级知识维度已存在"));
|
|
|
+ const existFirstDim1 = this.dictData.find(item => item.name === value);
|
|
|
+ if (existFirstDim1 && !this.isEditOnlyOneDim)
|
|
|
+ return callback(new Error("一级知识维度已存在"));
|
|
|
}
|
|
|
|
|
|
callback();
|
|
@@ -148,20 +151,6 @@ export default {
|
|
|
item => item.code === this.modalForm.codePrimary
|
|
|
);
|
|
|
if (existFirstDim) {
|
|
|
- let existSecondDim = existFirstDim.children.find(
|
|
|
- item => item.code === this.modalForm.codeSecond
|
|
|
- );
|
|
|
-
|
|
|
- if (existSecondDim) {
|
|
|
- return callback();
|
|
|
- } else {
|
|
|
- existSecondDim = existFirstDim.children.find(
|
|
|
- item => item.name === value
|
|
|
- );
|
|
|
- if (existSecondDim)
|
|
|
- return callback(new Error("二级知识维度已存在"));
|
|
|
- }
|
|
|
- } else {
|
|
|
const secondDimExist = this.dictData.some(item =>
|
|
|
item.children.some(elem => elem.name === value)
|
|
|
);
|
|
@@ -176,41 +165,11 @@ export default {
|
|
|
item => item.code === this.modalForm.codePrimary
|
|
|
);
|
|
|
if (existFirstDim) {
|
|
|
- let existSecondDim = existFirstDim.children.find(
|
|
|
- item => item.code === this.modalForm.codeSecond
|
|
|
- );
|
|
|
-
|
|
|
- if (existSecondDim) {
|
|
|
- if (
|
|
|
- existSecondDim.code === this.instance.codeSecond &&
|
|
|
- existSecondDim.name !== value
|
|
|
- ) {
|
|
|
- return callback(new Error("二级知识维度错误"));
|
|
|
- }
|
|
|
- if (
|
|
|
- existSecondDim.code !== this.instance.codeSecond &&
|
|
|
- existSecondDim.name === value
|
|
|
- ) {
|
|
|
- return callback(new Error("二级知识维度已存在"));
|
|
|
- }
|
|
|
-
|
|
|
- return callback();
|
|
|
- } else {
|
|
|
- existSecondDim = existFirstDim.children.find(
|
|
|
- item =>
|
|
|
- item.name === value && item.name !== this.instance.nameSecond
|
|
|
- );
|
|
|
- if (existSecondDim)
|
|
|
- return callback(new Error("二级知识维度已存在"));
|
|
|
- }
|
|
|
- } else {
|
|
|
- const secondDimExist = this.dictData.some(item =>
|
|
|
- item.children.some(
|
|
|
- elem =>
|
|
|
- elem.name === value && elem.name !== this.instance.nameSecond
|
|
|
- )
|
|
|
+ const existSecondDim = existFirstDim.children.find(
|
|
|
+ item =>
|
|
|
+ item.name === value && item.name !== this.instance.nameSecond
|
|
|
);
|
|
|
- if (secondDimExist) return callback(new Error("二级知识维度已存在"));
|
|
|
+ if (existSecondDim) return callback(new Error("二级知识维度已存在"));
|
|
|
}
|
|
|
return callback();
|
|
|
};
|
|
@@ -259,6 +218,7 @@ export default {
|
|
|
isSubmit: false,
|
|
|
modalForm: {},
|
|
|
dictData: [],
|
|
|
+ isEditOnlyOneDim: false,
|
|
|
rules: {
|
|
|
namePrimary: [
|
|
|
{
|
|
@@ -321,6 +281,12 @@ export default {
|
|
|
},
|
|
|
visibleChange() {
|
|
|
this.getDict();
|
|
|
+ const existPrimaryDim = this.dictData.find(
|
|
|
+ item => item.code === this.instance.codePrimary
|
|
|
+ );
|
|
|
+ this.isEditOnlyOneDim =
|
|
|
+ existPrimaryDim && existPrimaryDim.children.length === 1;
|
|
|
+
|
|
|
this.initData(this.instance);
|
|
|
this.$nextTick(() => {
|
|
|
this.$refs.modalFormComp.clearValidate();
|