|
|
@@ -15,7 +15,12 @@
|
|
|
placeholder="计量器具"
|
|
|
style="width: 300px">
|
|
|
<template #append>
|
|
|
- <el-link @click="selectMeasure" :underline="false">选择</el-link>
|
|
|
+ <el-link
|
|
|
+ :disabled="measureSelectLocked"
|
|
|
+ @click="selectMeasure"
|
|
|
+ :underline="false">
|
|
|
+ 选择
|
|
|
+ </el-link>
|
|
|
</template>
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
@@ -228,6 +233,7 @@ const dialogVisible = ref(false) // 弹窗的是否展示
|
|
|
const dialogTitle = ref('') // 弹窗的标题
|
|
|
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
|
|
const formType = ref('') // 表单的类型:create - 新增;update - 修改
|
|
|
+const measureSelectLocked = ref(false)
|
|
|
const formData = ref({
|
|
|
detectDate: undefined,
|
|
|
detectOrg: undefined,
|
|
|
@@ -258,12 +264,18 @@ const measureList = ref([])
|
|
|
const open = async (
|
|
|
type: string,
|
|
|
id?: number,
|
|
|
- presetData?: { measureId?: number | string; measureName?: string; deptId?: number | string }
|
|
|
+ presetData?: {
|
|
|
+ measureId?: number | string
|
|
|
+ measureName?: string
|
|
|
+ deptId?: number | string
|
|
|
+ lockMeasureSelect?: boolean
|
|
|
+ }
|
|
|
) => {
|
|
|
dialogVisible.value = true
|
|
|
dialogTitle.value = t('action.' + type)
|
|
|
formType.value = type
|
|
|
resetForm()
|
|
|
+ measureSelectLocked.value = !!presetData?.lockMeasureSelect
|
|
|
if (type === 'create' && presetData) {
|
|
|
formData.value.measureId = presetData.measureId || ''
|
|
|
formData.value.measureName = presetData.measureName || ''
|
|
|
@@ -345,6 +357,7 @@ const formatDateCorrectly = (timestamp) => {
|
|
|
|
|
|
/** 重置表单 */
|
|
|
const resetForm = () => {
|
|
|
+ measureSelectLocked.value = false
|
|
|
formData.value = {
|
|
|
detectDate: undefined,
|
|
|
detectOrg: undefined,
|
|
|
@@ -394,6 +407,7 @@ const handleRadioChange = (row: any) => {
|
|
|
selectedMeasure.value = row
|
|
|
}
|
|
|
const selectMeasure = () => {
|
|
|
+ if (measureSelectLocked.value) return
|
|
|
measureDialogVisible.value = true
|
|
|
getList()
|
|
|
|