检测计划数据源字段显示bug、脚本大项启用/禁用功能
This commit is contained in:
@@ -19,6 +19,17 @@
|
|||||||
<el-tab-pane v-for="tab in tabData" :key="tab.value" :label="tab.label" :name="tab.value">
|
<el-tab-pane v-for="tab in tabData" :key="tab.value" :label="tab.label" :name="tab.value">
|
||||||
<div v-if="activeName == tab.value">
|
<div v-if="activeName == tab.value">
|
||||||
<div class="dialog-footer">
|
<div class="dialog-footer">
|
||||||
|
<el-switch v-model="value1"
|
||||||
|
inline-prompt
|
||||||
|
:active-value="1"
|
||||||
|
:inactive-value="0"
|
||||||
|
active-text="启用"
|
||||||
|
inactive-text="禁用"
|
||||||
|
@change="enableScript"
|
||||||
|
size="large"
|
||||||
|
width="80px"
|
||||||
|
style="margin-right: 10px;"
|
||||||
|
/>
|
||||||
<el-button :icon="CirclePlus" type="primary" @click="openDialog('add')">新增</el-button>
|
<el-button :icon="CirclePlus" type="primary" @click="openDialog('add')">新增</el-button>
|
||||||
</div>
|
</div>
|
||||||
<div style="display: flex">
|
<div style="display: flex">
|
||||||
@@ -241,6 +252,7 @@ const props = defineProps({
|
|||||||
type: Boolean
|
type: Boolean
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
const value1 = ref(0) // 假设初始状态为禁用(0)
|
||||||
const showDialog = ref(false)
|
const showDialog = ref(false)
|
||||||
const viewDialog = ref(false)
|
const viewDialog = ref(false)
|
||||||
const dictStore = useDictStore()
|
const dictStore = useDictStore()
|
||||||
@@ -268,13 +280,13 @@ const column = ref([
|
|||||||
])
|
])
|
||||||
// 获取树
|
// 获取树
|
||||||
const getTree = () => {
|
const getTree = () => {
|
||||||
console.log('props.formContent.id', props.formContent.id)
|
// console.log('props.formContent.id', props.formContent.id)
|
||||||
getTreeData({
|
getTreeData({
|
||||||
scriptId: props.formContent.id
|
scriptId: props.formContent.id
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
if (res.code === 'A0000') {
|
if (res.code === 'A0000') {
|
||||||
treeData.value = res.data
|
treeData.value = res.data
|
||||||
console.log('tree', treeData.value)
|
//console.log('tree', treeData.value)
|
||||||
// 添加tab子项
|
// 添加tab子项
|
||||||
props.options.forEach((k: any, i: number) => {
|
props.options.forEach((k: any, i: number) => {
|
||||||
tabData.value[i].children = []
|
tabData.value[i].children = []
|
||||||
@@ -317,7 +329,7 @@ const setTab = row => {
|
|||||||
const copyActiveName = ref('')
|
const copyActiveName = ref('')
|
||||||
// 获取通讯脚本点击
|
// 获取通讯脚本点击
|
||||||
const getCommunication = () => {
|
const getCommunication = () => {
|
||||||
console.log('123123', communRef.value[0]?.getData())
|
//console.log('123123', communRef.value[0]?.getData())
|
||||||
communicationList.value = communRef.value[0]?.getData()
|
communicationList.value = communRef.value[0]?.getData()
|
||||||
}
|
}
|
||||||
// 切换大tab控制小tab
|
// 切换大tab控制小tab
|
||||||
@@ -354,8 +366,12 @@ const inquireTable = () => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
tableData.value = res.data
|
tableData.value = res.data
|
||||||
|
// 设置 value1:只要有一个 enable === 1,就启用开关
|
||||||
|
value1.value = tableData.value.some(item => item.enable === 1) ? 1 : 0
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
// 打开 drawer(新增、编辑)
|
// 打开 drawer(新增、编辑)
|
||||||
const openDialog = (titleType: string, row: Partial<TestScript.ResTestScript> = {}) => {
|
const openDialog = (titleType: string, row: Partial<TestScript.ResTestScript> = {}) => {
|
||||||
@@ -404,7 +420,7 @@ const copyRow = async (row: any) => {
|
|||||||
// 查看
|
// 查看
|
||||||
const view = (row: Partial<TestScript.ResTestScript> = {}) => {
|
const view = (row: Partial<TestScript.ResTestScript> = {}) => {
|
||||||
getCommunication()
|
getCommunication()
|
||||||
console.log('communicationList', communicationList.value)
|
// console.log('communicationList', communicationList.value)
|
||||||
//当前点击的一级tab
|
//当前点击的一级tab
|
||||||
const parentTabName = communicationList.value.find(t => t.id === activeName.value)?.name || '未找到对应名称'
|
const parentTabName = communicationList.value.find(t => t.id === activeName.value)?.name || '未找到对应名称'
|
||||||
//当前点击的二级tab
|
//当前点击的二级tab
|
||||||
@@ -449,6 +465,38 @@ const enableRow = async (row: any) => {
|
|||||||
row.enable = row.enable == 0 ? 1 : 0
|
row.enable = row.enable == 0 ? 1 : 0
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 启用/禁用脚本的方法
|
||||||
|
const enableScript = async () => {
|
||||||
|
const willEnable = value1.value === 1
|
||||||
|
const confirmText = willEnable ? '启用' : '禁用'
|
||||||
|
|
||||||
|
try {
|
||||||
|
await ElMessageBox.confirm(`是否${confirmText}当前检测脚本?`, '温馨提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning',
|
||||||
|
draggable: true
|
||||||
|
})
|
||||||
|
|
||||||
|
// 调用接口更新状态
|
||||||
|
await updateDtls({
|
||||||
|
enable: value1.value,
|
||||||
|
scriptType: activeName.value,
|
||||||
|
scriptId: props.formContent.id
|
||||||
|
})
|
||||||
|
|
||||||
|
ElMessage.success(`${confirmText}成功!`)
|
||||||
|
getTree() // 刷新树数据
|
||||||
|
} catch (error) {
|
||||||
|
// 用户取消或请求失败,回滚状态
|
||||||
|
value1.value = value1.value === 1 ? 0 : 1
|
||||||
|
console.error('操作失败:', error)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// 获取左边树数据
|
// 获取左边树数据
|
||||||
// 新增保存
|
// 新增保存
|
||||||
const addTab = (row: any) => {
|
const addTab = (row: any) => {
|
||||||
@@ -458,7 +506,7 @@ const addTab = (row: any) => {
|
|||||||
const saveTheNewsletter = () => {}
|
const saveTheNewsletter = () => {}
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getTree()
|
getTree()
|
||||||
console.log('testScriptDetail', props.options)
|
//console.log('testScriptDetail', props.options)
|
||||||
props.options.forEach((item: any) => {
|
props.options.forEach((item: any) => {
|
||||||
tabData.value.push({
|
tabData.value.push({
|
||||||
label: item.label.replace(/准确度|检测/g, ''),
|
label: item.label.replace(/准确度|检测/g, ''),
|
||||||
@@ -505,6 +553,7 @@ onMounted(() => {
|
|||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.divider-container {
|
.divider-container {
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -247,19 +247,22 @@ const columns = reactive<ColumnProps<Plan.ReqPlan>[]>([
|
|||||||
if (!codes) {
|
if (!codes) {
|
||||||
return '/'
|
return '/'
|
||||||
}
|
}
|
||||||
|
|
||||||
// 确保 codes 是一个字符串
|
// 确保 codes 是一个字符串
|
||||||
const codeString = Array.isArray(codes) ? codes.join(',') : codes
|
const codeString = Array.isArray(codes) ? codes.join(',') : codes
|
||||||
const codeArray = codeString.split(',')
|
const codeArray = codeString.split(',')
|
||||||
if (codeArray.length > 1) {
|
if (codeArray.length > 1) {
|
||||||
|
|
||||||
// 查找与每个 code 值匹配的 name,然后拼接成逗号分割的字符串
|
// 查找与每个 code 值匹配的 name,然后拼接成逗号分割的字符串
|
||||||
const names = codeArray.map(code => {
|
const names = codeArray.map(code => {
|
||||||
const dictItem = dictStore.getDictData(dataSourceType.value).find(item => item.value === code)
|
const dictItem = dictStore.getDictData(dataSourceType.value).find(item => item.code === code)
|
||||||
|
|
||||||
return dictItem ? dictItem.name : '/' // 如果找到匹配的项,返回对应的 name
|
return dictItem ? dictItem.name : '/' // 如果找到匹配的项,返回对应的 name
|
||||||
})
|
})
|
||||||
return names.join(', ') // 用逗号连接所有的 name
|
return names.join(', ') // 用逗号连接所有的 name
|
||||||
}
|
}
|
||||||
// 查找单个 code 对应的 name
|
// 查找单个 code 对应的 name
|
||||||
const dictItem = dictStore.getDictData(dataSourceType.value).find(item => item.value === codeArray[0])
|
const dictItem = dictStore.getDictData(dataSourceType.value).find(item => item.code === codeArray[0])
|
||||||
return dictItem ? dictItem.name : '/' // 如果找到匹配的项,返回对应的 name
|
return dictItem ? dictItem.name : '/' // 如果找到匹配的项,返回对应的 name
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user