福禄克专用脚本添加、监测计划表单控制

This commit is contained in:
caozehui
2025-11-17 10:33:26 +08:00
parent d99064c82e
commit 6e8851f415
3 changed files with 43 additions and 7 deletions

View File

@@ -29,6 +29,7 @@ export namespace TestScript {
selectedValue?: string
ratedCurr?: number
ratedVolt?: number
fluke?:number|boolean
}
/**

View File

@@ -84,6 +84,13 @@
clearable
/>
</el-form-item>
<el-form-item v-if="appSceneStore.currentScene=='1'" label="福禄克专用" prop="fluke">
<el-switch
v-model="formContent.fluke"
active-color="#13ce66"
/>
</el-form-item>
</el-form>
</el-card>
<el-card v-if="show">
@@ -102,6 +109,7 @@ import type { CascaderOption } from 'element-plus'
import { Select, Close, ArrowDownBold, ArrowUpBold } from '@element-plus/icons-vue'
import { pqScriptAdd, pqScriptUpdate } from '@/api/device/testScript'
import { useRouter } from 'vue-router'
import {useAppSceneStore} from "@/stores/modules/mode";
const modeId = ref()
const show = ref(false)
const height = ref('125px')
@@ -113,6 +121,8 @@ const secondLevelOptions: any[] = []
// 定义弹出组件元信息
const dialogFormRef = ref()
const dictStore = useDictStore()
const appSceneStore = useAppSceneStore()
function useMetaInfo() {
const titleType = ref('add')
const formContent = ref<TestScript.ResTestScript>({
@@ -124,7 +134,8 @@ function useMetaInfo() {
standardTime: '',
state: 1,
ratedCurr: 0,
ratedVolt: 0
ratedVolt: 0,
fluke: 0,
})
return { titleType, formContent }
}
@@ -140,7 +151,8 @@ const rules = {
type: [{ required: true, message: '请选择模版类型', trigger: 'change' }],
valueType: [{ required: true, message: '请选择检测脚本值类型', trigger: 'change' }],
ratedCurr: [{ required: true, message: '请填写额定电流', trigger: 'change' }],
ratedVolt: [{ required: true, message: '请填写额定电压', trigger: 'change' }]
ratedVolt: [{ required: true, message: '请填写额定电压', trigger: 'change' }],
fluke: [{ required: true }],
}
const { titleType, formContent } = useMetaInfo()
@@ -160,7 +172,8 @@ const resetFormContent = () => {
standardTime: '',
state: 1,
ratedCurr: 0,
ratedVolt: 0
ratedVolt: 0,
fluke: 0,
}
router.go(-1)
}
@@ -190,7 +203,9 @@ const save = () => {
if (valid) {
if (titleType.value == '新增检测脚本') {
formContent.value.pattern = modeId.value
pqScriptAdd(formContent.value).then(res => {
let params = {...formContent.value}
params.fluke = params.fluke ? 1 : 0
pqScriptAdd(params).then(res => {
if (res.code === 'A0000') {
ElMessage.success({ message: res.message })
formContent.value.id = res.data
@@ -199,7 +214,9 @@ const save = () => {
}
})
} else {
pqScriptUpdate(formContent.value).then(res => {
let params = {...formContent.value}
params.fluke = params.fluke ? 1 : 0
pqScriptUpdate(params).then(res => {
if (res.code === 'A0000') {
ElMessage.success({ message: res.message })
}
@@ -224,6 +241,7 @@ const open = async (title: string, row: any) => {
} else {
let list = JSON.parse(row)
formContent.value = list
formContent.value.fluke = formContent.value.fluke == 1? true : false
show.value = true
}
// 重置表单

View File

@@ -79,6 +79,7 @@
collapse-tags
filterable
placeholder="请选择检测源"
@change="handleSourceChange"
>
<el-option
v-for="(option, index) in pqSourceArray"
@@ -125,6 +126,7 @@
:key="index"
:label="option.label"
:value="option.value"
:disabled="option.fluke!=1&&pqSourceArray?.find(item=>formContent.sourceIds==item.value)?.label.includes('FLUKE')"
/>
</el-select>
</el-form-item>
@@ -472,7 +474,7 @@ const pqStandardDevList = ref<StandardDevice.ResPqStandardDevice[]>([]) //获取
const pqReportName = ref<{ name: string }[]>([])
const pqSourceArray = ref<{ label: string; value: string }[]>()
const pqScriptArray = ref<{ label: string; value: string }[]>()
const pqScriptArray = ref<{ label: string; value: string,fluke?:number|boolean}[]>()
const pqErrorArray = ref<{ label: string; value: string }[]>()
const pqStandardDevArray = ref<{ label: string; value: string }[]>()
const secondLevelOptions: any[] = []
@@ -529,6 +531,8 @@ const generateData = () => {
})
}
function useMetaInfo() {
const dialogVisible = ref(false)
const titleType = ref('add')
@@ -598,6 +602,18 @@ watch(
}
)
const handleSourceChange = () => {
let pqSource = pqSourceArray.value?.find(item => item.value === formContent.sourceIds)
if (pqSource?.label.includes('FLUKE')) {
let pqScript = pqScriptArray.value?.find(item => item.value === formContent.scriptId)
if (pqScript?.fluke!=1) {
formContent.scriptId = ''
ElMessage.warning('专用检测脚本只能使用福禄克检测源!')
}
}
}
// 清空formContent
const resetFormContent = () => {
Object.assign(formContent, {
@@ -1199,7 +1215,8 @@ function pqToArray() {
const sourceArray2 = Array.isArray(pqScriptList.value) ? pqScriptList.value : []
pqScriptArray.value = sourceArray2.map(item => ({
label: item.name || '',
value: item.id || ''
value: item.id || '',
fluke:item.fluke
}))
const sourceArray3 = Array.isArray(pqErrSysList.value) ? pqErrSysList.value : []