|
@@ -55,7 +55,12 @@
|
|
|
</span>
|
|
|
</template>
|
|
|
</el-dialog>
|
|
|
- <SureCancel v-if="sureModal" :showCaptionText="fcdaRelationDlgTitle" :sureModal="sureModal" :reload="reload" :checkObj="checkObj" @cancelBack="cancelBack"></SureCancel>
|
|
|
+ <SureCancel v-if="sureModal" :showCaptionText="fcdaRelationDlgTitle" :sureModal="sureModal" :reload="reload"
|
|
|
+ :checkObj="checkObj" @cancelBack="cancelBack">
|
|
|
+ </SureCancel>
|
|
|
+ <!-- <SureCancel v-if="sureModal" :sureModal="sureModal" :reload="reload" :checkObj="checkObj"
|
|
|
+ @cancelBack="cancelBack">
|
|
|
+ </SureCancel> -->
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -115,7 +120,7 @@ export default {
|
|
|
let leftIndex = ref(-1)//左侧选择的输出下标
|
|
|
let leftFcda = ref("")//左侧的fcdaid
|
|
|
let together = ref("")//绑定的id
|
|
|
- let oldCheckList=ref([])//存储最后一次操作后,已选中的目标装置端子列表数据。用于与checklist对比,已判断当前是取消关联还是建立关联
|
|
|
+ let oldCheckList = ref([])//存储最后一次操作后,已选中的目标装置端子列表数据。用于与checklist对比,已判断当前是取消关联还是建立关联
|
|
|
let checkList = ref([])//当前已选中的目标装置端子列表数据
|
|
|
let loading = ref(false)
|
|
|
let arrNew = ref([])//新的存储fdcdids
|
|
@@ -142,21 +147,21 @@ export default {
|
|
|
})
|
|
|
// 初始化函数
|
|
|
async function reload() {
|
|
|
- checkList.value=[]
|
|
|
- oldCheckList.value=[]
|
|
|
+ checkList.value = []
|
|
|
+ oldCheckList.value = []
|
|
|
pastLoading.value = true
|
|
|
dialogVisible.value = props.ldModal
|
|
|
modelIds.value = props.modelId
|
|
|
starts.value = props.startTarget
|
|
|
ends.value = props.endTarget
|
|
|
- if(props.startText==null || props.startText==''){
|
|
|
+ if (props.startText == null || props.startText == '') {
|
|
|
startTxt.value = starts.value.ied_type
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
startTxt.value = props.startText
|
|
|
}
|
|
|
- if(props.endText==null || props.endText==''){
|
|
|
+ if (props.endText == null || props.endText == '') {
|
|
|
endTxt.value = ends.value.ied_type
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
endTxt.value = props.endText
|
|
|
}
|
|
|
numStatus.value = props.numCase
|
|
@@ -172,7 +177,7 @@ export default {
|
|
|
//liling:避免提示空错误提示,res.data为空不代表接口有错误,所以先判断接口code值
|
|
|
pastLoading.value = false
|
|
|
if (res.code == 0) {
|
|
|
- if (res.data == null || res.data=="") {
|
|
|
+ if (res.data == null || res.data == "") {
|
|
|
curList.value = [];
|
|
|
return;
|
|
|
}
|
|
@@ -205,24 +210,25 @@ export default {
|
|
|
//if ( res.data) {
|
|
|
//liling:避免提示空错误提示,res.data为空不代表接口有错误,所以先判断接口code值
|
|
|
if (res.code == 0) {
|
|
|
- if (res.data == null || res.data=="") {
|
|
|
+ if (res.data == null || res.data == "") {
|
|
|
outList.value = [];
|
|
|
return;
|
|
|
- }
|
|
|
- //对结果进行重排排序:将已关联到输出装置的端子排在前面
|
|
|
- let tmpList = [];
|
|
|
- res.data.forEach((item, index) => {
|
|
|
- if (item.from_ied_type == starts.value.ied_type) {
|
|
|
- tmpList.unshift(item)
|
|
|
- } else {
|
|
|
- //未关联的端子按原结果顺序排列
|
|
|
- tmpList.push(item)
|
|
|
- }
|
|
|
- })
|
|
|
- outList.value = tmpList;
|
|
|
- setIndex()
|
|
|
- // 将 setTimeout 移动到 then 方法中
|
|
|
- setTimeout(() => {
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //对结果进行重排排序:将已关联到输出装置的端子排在前面
|
|
|
+ let tmpList = [];
|
|
|
+ res.data.forEach((item, index) => {
|
|
|
+ if (item.from_ied_type == starts.value.ied_type) {
|
|
|
+ tmpList.unshift(item)
|
|
|
+ } else {
|
|
|
+ //未关联的端子按原结果顺序排列
|
|
|
+ tmpList.push(item)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ outList.value = tmpList;
|
|
|
+ setIndex()
|
|
|
+ // 将 setTimeout 移动到 then 方法中
|
|
|
+ setTimeout(() => {
|
|
|
res.data.forEach((item, index) => {
|
|
|
if(item.from_fcda_id=='' || item.from_fcda_id=='0'){
|
|
|
return
|
|
@@ -254,14 +260,8 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
});
|
|
|
- }, 100);
|
|
|
- } else {
|
|
|
- ElMessage({
|
|
|
- message: res.msg,
|
|
|
- type: "error"
|
|
|
- });
|
|
|
- }
|
|
|
- });
|
|
|
+ }, 100);
|
|
|
+ })
|
|
|
curList.value.sort((obj1, obj2) => {
|
|
|
if (outList.value[0] == null) return 1;
|
|
|
const nameB = outList.value[0].fcda_name;
|
|
@@ -311,7 +311,7 @@ export default {
|
|
|
leftFcda.value = row.id
|
|
|
fcdaIds.value = row.to_fcda_id
|
|
|
leftIndex.value = num
|
|
|
- } else {
|
|
|
+ } else {
|
|
|
if (curList.value.length > 0) {
|
|
|
curList.value.map(item => {
|
|
|
if (item.to_fcda_id != '0' && item.to_fcda_id != '') {
|
|
@@ -342,11 +342,11 @@ export default {
|
|
|
let hintTxt = '不允许的操作'
|
|
|
if(addItem.length>0){
|
|
|
//判断是否选择源端子以及是否未关联任何其他端子,否则不允许关联
|
|
|
- if(leftFcda.value==''){
|
|
|
+ if (leftFcda.value == '') {
|
|
|
hintTxt = "请选择关联的源(左侧)端子!"
|
|
|
- no=true
|
|
|
+ no = true
|
|
|
}
|
|
|
- if(fcdaIds.value!='' && fcdaIds.value!='0'){
|
|
|
+ if (fcdaIds.value != '' && fcdaIds.value != '0') {
|
|
|
//源端子已有关联
|
|
|
hintTxt = "选择源(左侧)端子已有关联,请先取消关联或选择其它端子!"
|
|
|
no=true
|
|
@@ -373,15 +373,15 @@ export default {
|
|
|
}else{
|
|
|
return
|
|
|
}
|
|
|
- if(no){
|
|
|
- ElMessage({
|
|
|
- type: "info",
|
|
|
- message: hintTxt
|
|
|
- })
|
|
|
- //恢复未选状态
|
|
|
- let ind = checkList.value.indexOf(addItem[0])
|
|
|
- checkList.value.splice(ind,1)
|
|
|
- return
|
|
|
+ if (no) {
|
|
|
+ ElMessage({
|
|
|
+ type: "info",
|
|
|
+ message: hintTxt
|
|
|
+ })
|
|
|
+ //恢复未选状态
|
|
|
+ let ind = checkList.value.indexOf(addItem[0])
|
|
|
+ checkList.value.splice(ind, 1)
|
|
|
+ return
|
|
|
}
|
|
|
//用户操作确认框
|
|
|
sureModal.value = true
|
|
@@ -410,20 +410,20 @@ export default {
|
|
|
}
|
|
|
};
|
|
|
//取消端子关联确认框返回事件处理
|
|
|
- function cancelBack(data){
|
|
|
+ function cancelBack(data) {
|
|
|
// 本事件处理选择框
|
|
|
sureModal.value = false
|
|
|
const subItem = oldCheckList.value.filter(item => !checkList.value.includes(item)); //是否取消选择,取差集
|
|
|
const addItem = checkList.value.filter(item => !oldCheckList.value.includes(item)); //是否新选择的,取差集
|
|
|
- if(!data.ok){
|
|
|
- if(subItem.length>0){
|
|
|
+ if (!data.ok) {
|
|
|
+ if (subItem.length > 0) {
|
|
|
//恢复选中状态
|
|
|
checkList.value.push(subItem[0])
|
|
|
}
|
|
|
- if(addItem.length>0){
|
|
|
+ if (addItem.length > 0) {
|
|
|
//恢复未选状态
|
|
|
let ind = checkList.value.indexOf(addItem[0])
|
|
|
- checkList.value.splice(ind,1)
|
|
|
+ checkList.value.splice(ind, 1)
|
|
|
}
|
|
|
return
|
|
|
}
|
|
@@ -440,7 +440,7 @@ export default {
|
|
|
type: "success",
|
|
|
message: "操作成功!"
|
|
|
})
|
|
|
- reload()
|
|
|
+ reload()
|
|
|
removeLine3()
|
|
|
emit("lineBack", dialogVisible.value)
|
|
|
} else {
|
|
@@ -449,7 +449,7 @@ export default {
|
|
|
message: res.msg
|
|
|
})
|
|
|
}
|
|
|
- }).catch(res=>{
|
|
|
+ }).catch(res => {
|
|
|
ElMessage({
|
|
|
type: "error",
|
|
|
message: '服务器发生异常'
|
|
@@ -480,7 +480,7 @@ export default {
|
|
|
message: res.msg
|
|
|
})
|
|
|
}
|
|
|
- }).catch(res=>{
|
|
|
+ }).catch(res => {
|
|
|
ElMessage({
|
|
|
type: "error",
|
|
|
message: '服务器发生异常'
|
|
@@ -492,7 +492,7 @@ export default {
|
|
|
await reload()
|
|
|
})
|
|
|
onBeforeUnmount(() => {
|
|
|
- for(let key in leaderLineList.value){
|
|
|
+ for (let key in leaderLineList.value) {
|
|
|
leaderLineList.value[key].remove();
|
|
|
}
|
|
|
//leaderLineList.value.forEach(line => line.remove());//离开当前组件时清除连线
|
|
@@ -538,7 +538,7 @@ export default {
|
|
|
fcdaRelationDlgTitle,
|
|
|
}
|
|
|
},
|
|
|
- components:{
|
|
|
+ components: {
|
|
|
SureCancel,//确认取消关系组件
|
|
|
}
|
|
|
}
|