Browse Source

计量器具台账修改

yanghao 2 days ago
parent
commit
c1933494f5

+ 3 - 1
src/views/pms/qhse/MeasureCertDrawer.vue

@@ -156,6 +156,7 @@ type MeasureRow = {
   measureName?: string
   measureCode?: string
   deptId?: number | string
+  lockMeasureSelect?: boolean
 }
 
 const drawerVisible = ref(false)
@@ -205,7 +206,8 @@ const handleCreate = () => {
   formRef.value?.open('create', undefined, {
     measureId: currentMeasure.value.id,
     measureName: currentMeasure.value.measureName || currentMeasure.value.measureCode || '',
-    deptId: currentMeasure.value.deptId
+    deptId: currentMeasure.value.deptId,
+    lockMeasureSelect: true
   })
 }
 

+ 16 - 2
src/views/pms/qhse/iotmeasuredetect/IotMeasureDetectForm.vue

@@ -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()