This commit is contained in:
sjl
2025-11-17 10:48:27 +08:00
3 changed files with 43 additions and 7 deletions

View File

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

View File

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

View File

@@ -59,6 +59,7 @@
collapse-tags collapse-tags
filterable filterable
placeholder="请选择检测源" placeholder="请选择检测源"
@change="handleSourceChange"
> >
<el-option <el-option
v-for="(option, index) in pqSourceArray" v-for="(option, index) in pqSourceArray"
@@ -105,6 +106,7 @@
:key="index" :key="index"
:label="option.label" :label="option.label"
:value="option.value" :value="option.value"
:disabled="option.fluke!=1&&pqSourceArray?.find(item=>formContent.sourceIds==item.value)?.label.includes('FLUKE')"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
@@ -474,7 +476,7 @@ const pqStandardDevList = ref<StandardDevice.ResPqStandardDevice[]>([]) //获取
const pqReportName = ref<{ name: string }[]>([]) const pqReportName = ref<{ name: string }[]>([])
const pqSourceArray = ref<{ label: string; value: 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 pqErrorArray = ref<{ label: string; value: string }[]>()
const pqStandardDevArray = ref<{ label: string; value: string }[]>() const pqStandardDevArray = ref<{ label: string; value: string }[]>()
const secondLevelOptions: any[] = [] const secondLevelOptions: any[] = []
@@ -533,6 +535,8 @@ const generateData = () => {
}) })
} }
function useMetaInfo() { function useMetaInfo() {
const dialogVisible = ref(false) const dialogVisible = ref(false)
const titleType = ref('add') const titleType = ref('add')
@@ -602,6 +606,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 // 清空formContent
const resetFormContent = () => { const resetFormContent = () => {
Object.assign(formContent, { Object.assign(formContent, {
@@ -1211,7 +1227,8 @@ function pqToArray() {
const sourceArray2 = Array.isArray(pqScriptList.value) ? pqScriptList.value : [] const sourceArray2 = Array.isArray(pqScriptList.value) ? pqScriptList.value : []
pqScriptArray.value = sourceArray2.map(item => ({ pqScriptArray.value = sourceArray2.map(item => ({
label: item.name || '', label: item.name || '',
value: item.id || '' value: item.id || '',
fluke:item.fluke
})) }))
const sourceArray3 = Array.isArray(pqErrSysList.value) ? pqErrSysList.value : [] const sourceArray3 = Array.isArray(pqErrSysList.value) ? pqErrSysList.value : []