|
@@ -96,14 +96,16 @@
|
|
v-if="row.checknd"
|
|
v-if="row.checknd"
|
|
type="warning"
|
|
type="warning"
|
|
@click="rowUnlinkClick(row)"
|
|
@click="rowUnlinkClick(row)"
|
|
- >取消关联</el-link
|
|
|
|
>
|
|
>
|
|
|
|
+ 取消关联
|
|
|
|
+ </el-link>
|
|
<el-link
|
|
<el-link
|
|
v-else
|
|
v-else
|
|
type="primary"
|
|
type="primary"
|
|
@click="rowLinkClick(row)"
|
|
@click="rowLinkClick(row)"
|
|
- >选择关联</el-link
|
|
|
|
>
|
|
>
|
|
|
|
+ 选择关联
|
|
|
|
+ </el-link>
|
|
</template>
|
|
</template>
|
|
</hc-table>
|
|
</hc-table>
|
|
</template>
|
|
</template>
|
|
@@ -165,17 +167,18 @@
|
|
type="primary"
|
|
type="primary"
|
|
:loading="submitLoading"
|
|
:loading="submitLoading"
|
|
@click="dialogSubmit"
|
|
@click="dialogSubmit"
|
|
- >提交</el-button
|
|
|
|
>
|
|
>
|
|
|
|
+ 提交
|
|
|
|
+ </el-button>
|
|
</template>
|
|
</template>
|
|
</hc-dialog>
|
|
</hc-dialog>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
<script setup>
|
|
-import { ref, watch } from "vue";
|
|
|
|
-import { getDictionaryData, getDictionaryVal } from "~uti/tools";
|
|
|
|
-import { formValidate, getArrValue, getObjValue, isNullES } from "js-fast-way";
|
|
|
|
-import mainApi from "~api/exctab/exceltab";
|
|
|
|
|
|
+import { ref, watch } from 'vue'
|
|
|
|
+import { getDictionaryData, getDictionaryVal } from '~uti/tools'
|
|
|
|
+import { formValidate, getArrValue, getObjValue, isNullES } from 'js-fast-way'
|
|
|
|
+import mainApi from '~api/exctab/exceltab'
|
|
|
|
|
|
const props = defineProps({
|
|
const props = defineProps({
|
|
info: {
|
|
info: {
|
|
@@ -186,170 +189,170 @@ const props = defineProps({
|
|
type: Array,
|
|
type: Array,
|
|
default: () => [],
|
|
default: () => [],
|
|
},
|
|
},
|
|
-});
|
|
|
|
|
|
+})
|
|
|
|
|
|
//事件
|
|
//事件
|
|
-const emit = defineEmits(["finish", "close"]);
|
|
|
|
|
|
+const emit = defineEmits(['finish', 'close'])
|
|
|
|
|
|
//双向绑定
|
|
//双向绑定
|
|
-const isShow = defineModel("modelValue", {
|
|
|
|
|
|
+const isShow = defineModel('modelValue', {
|
|
default: false,
|
|
default: false,
|
|
-});
|
|
|
|
|
|
+})
|
|
|
|
|
|
//监听数据
|
|
//监听数据
|
|
-const dataInfo = ref(props.info);
|
|
|
|
|
|
+const dataInfo = ref(props.info)
|
|
watch(
|
|
watch(
|
|
() => props.info,
|
|
() => props.info,
|
|
(data) => {
|
|
(data) => {
|
|
- dataInfo.value = getObjValue(data);
|
|
|
|
|
|
+ dataInfo.value = getObjValue(data)
|
|
},
|
|
},
|
|
- { immediate: true, deep: true }
|
|
|
|
-);
|
|
|
|
|
|
+ { immediate: true, deep: true },
|
|
|
|
+)
|
|
|
|
|
|
//监听数据
|
|
//监听数据
|
|
-const datas = ref(props.data);
|
|
|
|
|
|
+const datas = ref(props.data)
|
|
watch(
|
|
watch(
|
|
() => props.data,
|
|
() => props.data,
|
|
(data) => {
|
|
(data) => {
|
|
- datas.value = getArrValue(data);
|
|
|
|
|
|
+ datas.value = getArrValue(data)
|
|
},
|
|
},
|
|
- { immediate: true, deep: true }
|
|
|
|
-);
|
|
|
|
|
|
+ { immediate: true, deep: true },
|
|
|
|
+)
|
|
|
|
|
|
//监听显示
|
|
//监听显示
|
|
watch(isShow, (val) => {
|
|
watch(isShow, (val) => {
|
|
- if (val) getInfoData();
|
|
|
|
-});
|
|
|
|
|
|
+ if (val) getInfoData()
|
|
|
|
+})
|
|
|
|
|
|
//获取数据详情
|
|
//获取数据详情
|
|
-const tableData = ref([]);
|
|
|
|
-const formModelName = ref("");
|
|
|
|
|
|
+const tableData = ref([])
|
|
|
|
+const formModelName = ref('')
|
|
const getInfoData = () => {
|
|
const getInfoData = () => {
|
|
- getWbsTypeList();
|
|
|
|
|
|
+ getWbsTypeList()
|
|
//处理元素字段信息
|
|
//处理元素字段信息
|
|
- const data = getArrValue(datas.value);
|
|
|
|
|
|
+ const data = getArrValue(datas.value)
|
|
for (let i = 0; i < data.length; i++) {
|
|
for (let i = 0; i < data.length; i++) {
|
|
- data[i].eName = data[i].textInfo;
|
|
|
|
- data[i].eType = data[i].textElementType;
|
|
|
|
- data[i].eAllowDeviation = data[i].textDeviation;
|
|
|
|
|
|
+ data[i].eName = data[i].textInfo
|
|
|
|
+ data[i].eType = data[i].textElementType
|
|
|
|
+ data[i].eAllowDeviation = data[i].textDeviation
|
|
}
|
|
}
|
|
- tableData.value = data;
|
|
|
|
-};
|
|
|
|
|
|
+ tableData.value = data
|
|
|
|
+}
|
|
|
|
|
|
//获取清表模板信息
|
|
//获取清表模板信息
|
|
-const excelData = ref([]);
|
|
|
|
|
|
+const excelData = ref([])
|
|
const getWbsTypeList = async () => {
|
|
const getWbsTypeList = async () => {
|
|
- const { data } = await mainApi.getWbsTypeList({ wbstype: 1 });
|
|
|
|
- excelData.value = getArrValue(data);
|
|
|
|
-};
|
|
|
|
|
|
+ const { data } = await mainApi.getWbsTypeList({ wbstype: 1 })
|
|
|
|
+ excelData.value = getArrValue(data)
|
|
|
|
+}
|
|
|
|
|
|
//清表模板被改变
|
|
//清表模板被改变
|
|
const formNameChange = () => {
|
|
const formNameChange = () => {
|
|
- isTreeMode.value = 5;
|
|
|
|
- filterText.value = "";
|
|
|
|
- nodeTableData.value = [];
|
|
|
|
- formModel.value = {};
|
|
|
|
- tabsKey.value = "1";
|
|
|
|
- nodeInfo.value = {};
|
|
|
|
- treeNodeIds.value = [];
|
|
|
|
- treeData.value = [];
|
|
|
|
|
|
+ isTreeMode.value = 5
|
|
|
|
+ filterText.value = ''
|
|
|
|
+ nodeTableData.value = []
|
|
|
|
+ formModel.value = {}
|
|
|
|
+ tabsKey.value = '1'
|
|
|
|
+ nodeInfo.value = {}
|
|
|
|
+ treeNodeIds.value = []
|
|
|
|
+ treeData.value = []
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
- isTreeMode.value = 1;
|
|
|
|
- }, 200);
|
|
|
|
-};
|
|
|
|
|
|
+ isTreeMode.value = 1
|
|
|
|
+ }, 200)
|
|
|
|
+}
|
|
|
|
|
|
//树配置
|
|
//树配置
|
|
-const treeRef1 = ref(null);
|
|
|
|
-const treeRef2 = ref(null);
|
|
|
|
|
|
+const treeRef1 = ref(null)
|
|
|
|
+const treeRef2 = ref(null)
|
|
const treeProps = {
|
|
const treeProps = {
|
|
- label: "title",
|
|
|
|
- children: "children",
|
|
|
|
|
|
+ label: 'title',
|
|
|
|
+ children: 'children',
|
|
isLeaf: (item) => {
|
|
isLeaf: (item) => {
|
|
- const isExistForm = Number(item.isExistForm);
|
|
|
|
|
|
+ const isExistForm = Number(item.isExistForm)
|
|
if (item.hasChildren && isExistForm !== 1) {
|
|
if (item.hasChildren && isExistForm !== 1) {
|
|
- return false;
|
|
|
|
|
|
+ return false
|
|
} else if (item.hasChildren && isExistForm === 1) {
|
|
} else if (item.hasChildren && isExistForm === 1) {
|
|
- return true;
|
|
|
|
|
|
+ return true
|
|
} else {
|
|
} else {
|
|
- return true;
|
|
|
|
|
|
+ return true
|
|
}
|
|
}
|
|
},
|
|
},
|
|
disabled: function (data) {
|
|
disabled: function (data) {
|
|
if (data.hasChildren && data.isExistForm != 1) {
|
|
if (data.hasChildren && data.isExistForm != 1) {
|
|
- return true;
|
|
|
|
|
|
+ return true
|
|
} else if (data.hasChildren && data.isExistForm == 1) {
|
|
} else if (data.hasChildren && data.isExistForm == 1) {
|
|
- return false;
|
|
|
|
|
|
+ return false
|
|
} else {
|
|
} else {
|
|
- return false;
|
|
|
|
|
|
+ return false
|
|
}
|
|
}
|
|
},
|
|
},
|
|
-};
|
|
|
|
|
|
+}
|
|
|
|
|
|
//筛选搜索
|
|
//筛选搜索
|
|
-const filterText = ref("");
|
|
|
|
-const isTreeMode = ref(1); //1懒加载,2全加载
|
|
|
|
|
|
+const filterText = ref('')
|
|
|
|
+const isTreeMode = ref(1) //1懒加载,2全加载
|
|
const treeFilterClick = async () => {
|
|
const treeFilterClick = async () => {
|
|
if (isNullES(filterText.value)) {
|
|
if (isNullES(filterText.value)) {
|
|
- isTreeMode.value = 1;
|
|
|
|
|
|
+ isTreeMode.value = 1
|
|
} else {
|
|
} else {
|
|
- isTreeMode.value = 2;
|
|
|
|
- await getTreeAllData();
|
|
|
|
- treeRef2.value?.treeRef?.filter(filterText.value);
|
|
|
|
|
|
+ isTreeMode.value = 2
|
|
|
|
+ await getTreeAllData()
|
|
|
|
+ treeRef2.value?.treeRef?.filter(filterText.value)
|
|
}
|
|
}
|
|
-};
|
|
|
|
|
|
+}
|
|
|
|
|
|
//懒加载树
|
|
//懒加载树
|
|
const treeLoadNode = async ({ item, level }, resolve) => {
|
|
const treeLoadNode = async ({ item, level }, resolve) => {
|
|
- const parentId = level === 0 ? 0 : item.id;
|
|
|
|
|
|
+ const parentId = level === 0 ? 0 : item.id
|
|
const { data } = await mainApi.getLazyTree({
|
|
const { data } = await mainApi.getLazyTree({
|
|
parentId: parentId,
|
|
parentId: parentId,
|
|
wbsId: formModelName.value,
|
|
wbsId: formModelName.value,
|
|
- wbsType: "1",
|
|
|
|
- });
|
|
|
|
- const res = getArrValue(data);
|
|
|
|
|
|
+ wbsType: '1',
|
|
|
|
+ })
|
|
|
|
+ const res = getArrValue(data)
|
|
res.forEach((item) => {
|
|
res.forEach((item) => {
|
|
- item.isExistForm = !!item.isExistForm;
|
|
|
|
- });
|
|
|
|
- resolve(res);
|
|
|
|
-};
|
|
|
|
|
|
+ item.isExistForm = !!item.isExistForm
|
|
|
|
+ })
|
|
|
|
+ resolve(res)
|
|
|
|
+}
|
|
|
|
|
|
//全加载树
|
|
//全加载树
|
|
-const treeData = ref([]);
|
|
|
|
|
|
+const treeData = ref([])
|
|
const getTreeAllData = async () => {
|
|
const getTreeAllData = async () => {
|
|
const { data } = await mainApi.getAllTree({
|
|
const { data } = await mainApi.getAllTree({
|
|
- tenantId: "000000",
|
|
|
|
|
|
+ tenantId: '000000',
|
|
type: 1,
|
|
type: 1,
|
|
wbsId: formModelName.value,
|
|
wbsId: formModelName.value,
|
|
- });
|
|
|
|
- treeData.value = getArrValue(data);
|
|
|
|
-};
|
|
|
|
|
|
+ })
|
|
|
|
+ treeData.value = getArrValue(data)
|
|
|
|
+}
|
|
|
|
|
|
//树节点被点击
|
|
//树节点被点击
|
|
-const nodeInfo = ref({});
|
|
|
|
-const treeNodeIds = ref([]);
|
|
|
|
|
|
+const nodeInfo = ref({})
|
|
|
|
+const treeNodeIds = ref([])
|
|
const treeNodeTap = ({ data, keys }) => {
|
|
const treeNodeTap = ({ data, keys }) => {
|
|
- nodeInfo.value = data;
|
|
|
|
- treeNodeIds.value = keys;
|
|
|
|
- getNodeTable(data.id);
|
|
|
|
-};
|
|
|
|
|
|
+ nodeInfo.value = data
|
|
|
|
+ treeNodeIds.value = keys
|
|
|
|
+ getNodeTable(data.id)
|
|
|
|
+}
|
|
|
|
|
|
//获取清表信息
|
|
//获取清表信息
|
|
const nodeTableColumn = [
|
|
const nodeTableColumn = [
|
|
- { key: "tableName", name: "已有元素表名称" },
|
|
|
|
- { key: "action", name: "操作", width: 90, align: "center" },
|
|
|
|
-];
|
|
|
|
-const nodeTableData = ref([]);
|
|
|
|
|
|
+ { key: 'tableName', name: '已有元素表名称' },
|
|
|
|
+ { key: 'action', name: '操作', width: 90, align: 'center' },
|
|
|
|
+]
|
|
|
|
+const nodeTableData = ref([])
|
|
const getNodeTable = async (id) => {
|
|
const getNodeTable = async (id) => {
|
|
const { data } = await mainApi.getNodeTables({
|
|
const { data } = await mainApi.getNodeTables({
|
|
nodeId: nodeInfo.value.id,
|
|
nodeId: nodeInfo.value.id,
|
|
excelTabId: dataInfo.value.id,
|
|
excelTabId: dataInfo.value.id,
|
|
- });
|
|
|
|
- const res = getArrValue(data);
|
|
|
|
|
|
+ })
|
|
|
|
+ const res = getArrValue(data)
|
|
for (let i = 0; i < res.length; i++) {
|
|
for (let i = 0; i < res.length; i++) {
|
|
- res[i].checknd = Number(res[i].isLinkTable) === 2;
|
|
|
|
|
|
+ res[i].checknd = Number(res[i].isLinkTable) === 2
|
|
}
|
|
}
|
|
- nodeTableData.value = res;
|
|
|
|
-};
|
|
|
|
|
|
+ nodeTableData.value = res
|
|
|
|
+}
|
|
|
|
|
|
//选择关联
|
|
//选择关联
|
|
const rowLinkClick = async (row) => {
|
|
const rowLinkClick = async (row) => {
|
|
@@ -358,11 +361,11 @@ const rowLinkClick = async (row) => {
|
|
linkids: row.id,
|
|
linkids: row.id,
|
|
tabId: dataInfo.value.id,
|
|
tabId: dataInfo.value.id,
|
|
wbsId: formModelName.value,
|
|
wbsId: formModelName.value,
|
|
- });
|
|
|
|
- if (!isRes) return;
|
|
|
|
- row.checknd = true;
|
|
|
|
- row.isLinkTable = 2;
|
|
|
|
-};
|
|
|
|
|
|
+ })
|
|
|
|
+ if (!isRes) return
|
|
|
|
+ row.checknd = true
|
|
|
|
+ row.isLinkTable = 2
|
|
|
|
+}
|
|
|
|
|
|
//取消关联
|
|
//取消关联
|
|
const rowUnlinkClick = async (row) => {
|
|
const rowUnlinkClick = async (row) => {
|
|
@@ -371,22 +374,22 @@ const rowUnlinkClick = async (row) => {
|
|
linkids: row.id,
|
|
linkids: row.id,
|
|
tabId: dataInfo.value.id,
|
|
tabId: dataInfo.value.id,
|
|
wbsId: formModelName.value,
|
|
wbsId: formModelName.value,
|
|
- });
|
|
|
|
- if (!isRes) return;
|
|
|
|
- row.checknd = false;
|
|
|
|
- row.isLinkTable = 1;
|
|
|
|
-};
|
|
|
|
|
|
+ })
|
|
|
|
+ if (!isRes) return
|
|
|
|
+ row.checknd = false
|
|
|
|
+ row.isLinkTable = 1
|
|
|
|
+}
|
|
|
|
|
|
//选项卡
|
|
//选项卡
|
|
-const tabsKey = ref("1");
|
|
|
|
|
|
+const tabsKey = ref('1')
|
|
const tabsData = ref([
|
|
const tabsData = ref([
|
|
- { key: "1", name: "关联元素表" },
|
|
|
|
- { key: "2", name: "新增元素表" },
|
|
|
|
-]);
|
|
|
|
|
|
+ { key: '1', name: '关联元素表' },
|
|
|
|
+ { key: '2', name: '新增元素表' },
|
|
|
|
+])
|
|
const tabsChange = async ({ key }) => {
|
|
const tabsChange = async ({ key }) => {
|
|
- tabsKey.value = key;
|
|
|
|
- const form = getObjValue(dataInfo.value);
|
|
|
|
- const tree = getObjValue(nodeInfo.value);
|
|
|
|
|
|
+ tabsKey.value = key
|
|
|
|
+ const form = getObjValue(dataInfo.value)
|
|
|
|
+ const tree = getObjValue(nodeInfo.value)
|
|
|
|
|
|
//默认表单数据
|
|
//默认表单数据
|
|
formModel.value = {
|
|
formModel.value = {
|
|
@@ -395,109 +398,109 @@ const tabsChange = async ({ key }) => {
|
|
nodeName: form.title,
|
|
nodeName: form.title,
|
|
excelTabId: form.id,
|
|
excelTabId: form.id,
|
|
elementList: tableData.value,
|
|
elementList: tableData.value,
|
|
- };
|
|
|
|
|
|
+ }
|
|
//判断当前选项卡
|
|
//判断当前选项卡
|
|
- if (key === "1") {
|
|
|
|
- formModel.value.submitStatus = 1;
|
|
|
|
- getNodeTable(nodeInfo.value.id).then();
|
|
|
|
- } else if (key === "2") {
|
|
|
|
|
|
+ if (key === '1') {
|
|
|
|
+ formModel.value.submitStatus = 1
|
|
|
|
+ getNodeTable(nodeInfo.value.id).then()
|
|
|
|
+ } else if (key === '2') {
|
|
//默认表单数据
|
|
//默认表单数据
|
|
- formModel.value.submitStatus = 2;
|
|
|
|
|
|
+ formModel.value.submitStatus = 2
|
|
//获取下拉数据
|
|
//获取下拉数据
|
|
- excelTypeData.value = await getDictionaryData("table_type");
|
|
|
|
- ownerTypeList.value = await getDictionaryData("owner_type");
|
|
|
|
|
|
+ excelTypeData.value = await getDictionaryData('table_type')
|
|
|
|
+ ownerTypeList.value = await getDictionaryData('owner_type')
|
|
//设置默认类型
|
|
//设置默认类型
|
|
formModel.value.tableType = getDictionaryVal(
|
|
formModel.value.tableType = getDictionaryVal(
|
|
excelTypeData.value,
|
|
excelTypeData.value,
|
|
- form.tabType
|
|
|
|
- );
|
|
|
|
|
|
+ form.tabType,
|
|
|
|
+ )
|
|
formModel.value.tableOwner = getDictionaryVal(
|
|
formModel.value.tableOwner = getDictionaryVal(
|
|
ownerTypeList.value,
|
|
ownerTypeList.value,
|
|
- form.tabOwner
|
|
|
|
- );
|
|
|
|
|
|
+ form.tabOwner,
|
|
|
|
+ )
|
|
}
|
|
}
|
|
-};
|
|
|
|
|
|
+}
|
|
|
|
|
|
-const excelTypeData = ref([]);
|
|
|
|
-const ownerTypeList = ref([]);
|
|
|
|
|
|
+const excelTypeData = ref([])
|
|
|
|
+const ownerTypeList = ref([])
|
|
|
|
|
|
//基础表单
|
|
//基础表单
|
|
-const formRef = ref(null);
|
|
|
|
-const formModel = ref({});
|
|
|
|
|
|
+const formRef = ref(null)
|
|
|
|
+const formModel = ref({})
|
|
const formRules = {
|
|
const formRules = {
|
|
nodeName: {
|
|
nodeName: {
|
|
required: true,
|
|
required: true,
|
|
- trigger: "blur",
|
|
|
|
- message: "请输入元素表名",
|
|
|
|
|
|
+ trigger: 'blur',
|
|
|
|
+ message: '请输入元素表名',
|
|
},
|
|
},
|
|
tableType: {
|
|
tableType: {
|
|
required: true,
|
|
required: true,
|
|
- trigger: "blur",
|
|
|
|
- message: "请选择清表类型",
|
|
|
|
|
|
+ trigger: 'blur',
|
|
|
|
+ message: '请选择清表类型',
|
|
},
|
|
},
|
|
tableOwner: {
|
|
tableOwner: {
|
|
required: true,
|
|
required: true,
|
|
- trigger: "blur",
|
|
|
|
- message: "请选择所属方",
|
|
|
|
|
|
+ trigger: 'blur',
|
|
|
|
+ message: '请选择所属方',
|
|
},
|
|
},
|
|
-};
|
|
|
|
|
|
+}
|
|
|
|
|
|
//提交
|
|
//提交
|
|
-const submitLoading = ref(false);
|
|
|
|
|
|
+const submitLoading = ref(false)
|
|
const dialogSubmit = async () => {
|
|
const dialogSubmit = async () => {
|
|
- if (tabsKey.value === "1") {
|
|
|
|
- dialogClose();
|
|
|
|
- emit("finish");
|
|
|
|
|
|
+ if (tabsKey.value === '1') {
|
|
|
|
+ dialogClose()
|
|
|
|
+ emit('finish')
|
|
} else {
|
|
} else {
|
|
- const isForm = await formValidate(formRef.value);
|
|
|
|
- if (!isForm) return false;
|
|
|
|
- submitLoading.value = true;
|
|
|
|
- let nodeIds1 = [];
|
|
|
|
- let nodeIds2 = [];
|
|
|
|
|
|
+ const isForm = await formValidate(formRef.value)
|
|
|
|
+ if (!isForm) return false
|
|
|
|
+ submitLoading.value = true
|
|
|
|
+ let nodeIds1 = []
|
|
|
|
+ let nodeIds2 = []
|
|
if (treeRef1.value) {
|
|
if (treeRef1.value) {
|
|
- nodeIds1 = treeRef1.value?.treeRef?.getCheckedKeys();
|
|
|
|
|
|
+ nodeIds1 = treeRef1.value?.treeRef?.getCheckedKeys()
|
|
}
|
|
}
|
|
if (treeRef2.value) {
|
|
if (treeRef2.value) {
|
|
- nodeIds2 = treeRef2.value?.treeRef?.getCheckedKeys();
|
|
|
|
|
|
+ nodeIds2 = treeRef2.value?.treeRef?.getCheckedKeys()
|
|
}
|
|
}
|
|
|
|
|
|
- const selectNodeIds = uniqueArr(nodeIds1, nodeIds2);
|
|
|
|
|
|
+ const selectNodeIds = uniqueArr(nodeIds1, nodeIds2)
|
|
if (selectNodeIds.length <= 0) {
|
|
if (selectNodeIds.length <= 0) {
|
|
- window?.$message.warning("至少勾选一个节点");
|
|
|
|
- submitLoading.value = false;
|
|
|
|
- return;
|
|
|
|
|
|
+ window?.$message.warning('至少勾选一个节点')
|
|
|
|
+ submitLoading.value = false
|
|
|
|
+ return
|
|
}
|
|
}
|
|
- formModel.value.nodeIds = selectNodeIds;
|
|
|
|
- console.log(selectNodeIds, "selectNodeIds");
|
|
|
|
|
|
+ formModel.value.nodeIds = selectNodeIds
|
|
|
|
+ console.log(selectNodeIds, 'selectNodeIds')
|
|
|
|
|
|
const { isRes } = await mainApi.saveLinkTableInfo({
|
|
const { isRes } = await mainApi.saveLinkTableInfo({
|
|
- type: 1,
|
|
|
|
- linkids: selectNodeIds.join(","),
|
|
|
|
|
|
+ type: 2,
|
|
|
|
+ linkids: selectNodeIds.join(','),
|
|
tabId: dataInfo.value.id,
|
|
tabId: dataInfo.value.id,
|
|
wbsId: formModelName.value,
|
|
wbsId: formModelName.value,
|
|
- });
|
|
|
|
- submitLoading.value = false;
|
|
|
|
- if (!isRes) return;
|
|
|
|
- window.$message.success("操作成功");
|
|
|
|
- dialogClose();
|
|
|
|
- emit("finish");
|
|
|
|
|
|
+ })
|
|
|
|
+ submitLoading.value = false
|
|
|
|
+ if (!isRes) return
|
|
|
|
+ window.$message.success('操作成功')
|
|
|
|
+ dialogClose()
|
|
|
|
+ emit('finish')
|
|
}
|
|
}
|
|
-};
|
|
|
|
|
|
+}
|
|
|
|
|
|
//数组去重
|
|
//数组去重
|
|
const uniqueArr = (arr1, arr2) => {
|
|
const uniqueArr = (arr1, arr2) => {
|
|
//合并两个数组
|
|
//合并两个数组
|
|
- arr1.push(...arr2); //或者arr1 = [...arr1,...arr2]
|
|
|
|
|
|
+ arr1.push(...arr2) //或者arr1 = [...arr1,...arr2]
|
|
//去重
|
|
//去重
|
|
- return Array.from(new Set(arr1)); //let arr3 = [...new Set(arr1)]
|
|
|
|
-};
|
|
|
|
|
|
+ return Array.from(new Set(arr1)) //let arr3 = [...new Set(arr1)]
|
|
|
|
+}
|
|
|
|
|
|
//关闭弹窗
|
|
//关闭弹窗
|
|
const dialogClose = () => {
|
|
const dialogClose = () => {
|
|
- isShow.value = false;
|
|
|
|
- submitLoading.value = false;
|
|
|
|
- emit("close");
|
|
|
|
-};
|
|
|
|
|
|
+ isShow.value = false
|
|
|
|
+ submitLoading.value = false
|
|
|
|
+ emit('close')
|
|
|
|
+}
|
|
</script>
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
<style lang="scss" scoped>
|