diff --git a/frontend/src/api/device/interface/testScript.ts b/frontend/src/api/device/interface/testScript.ts index a5a8fcc..1ed2477 100644 --- a/frontend/src/api/device/interface/testScript.ts +++ b/frontend/src/api/device/interface/testScript.ts @@ -29,6 +29,7 @@ export namespace TestScript { selectedValue?: string ratedCurr?: number ratedVolt?: number + fluke?:number|boolean } /** diff --git a/frontend/src/views/machine/testScript/components/testScriptPopup.vue b/frontend/src/views/machine/testScript/components/testScriptPopup.vue index b994669..ccc9715 100644 --- a/frontend/src/views/machine/testScript/components/testScriptPopup.vue +++ b/frontend/src/views/machine/testScript/components/testScriptPopup.vue @@ -84,6 +84,13 @@ clearable /> + + + + @@ -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({ @@ -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 } // 重置表单 diff --git a/frontend/src/views/plan/planList/components/planPopup.vue b/frontend/src/views/plan/planList/components/planPopup.vue index 0f8e3d4..20e033c 100644 --- a/frontend/src/views/plan/planList/components/planPopup.vue +++ b/frontend/src/views/plan/planList/components/planPopup.vue @@ -79,6 +79,7 @@ collapse-tags filterable placeholder="请选择检测源" + @change="handleSourceChange" > @@ -472,7 +474,7 @@ const pqStandardDevList = ref([]) //获取 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 : []