ZaiZai 1 ano atrás
pai
commit
87c16da662
1 arquivos alterados com 57 adições e 38 exclusões
  1. 57 38
      src/views/tentative/detect/test.vue

+ 57 - 38
src/views/tentative/detect/test.vue

@@ -229,7 +229,7 @@
             <div class="hc-related-search-box relative mt-10px">
                 <hc-card-item title="样品信息">
                     <template #extra>
-                        <el-button type="primary" size="small" @click="rowDispose">样品处理</el-button>
+                        <el-button :disabled="relatedData1.length <= 0" type="primary" size="small" @click="rowDispose">样品处理</el-button>
                     </template>
                     <hc-table :column="relatedColumn1" :datas="relatedData1" :is-index="false" />
                 </hc-card-item>
@@ -245,22 +245,22 @@
         <!-- 样品处理 -->
         <hc-new-dialog v-model="disposeModal" is-footer-center title="样品处理" widths="40rem" @close="disposeClose">
             <el-form ref="formRef" :model="formModel" :rules="formRules" label-position="left" label-width="auto">
-                <el-form-item label="处理方式:" prop="key1">
-                    <el-radio-group v-model="formModel.key1">
+                <el-form-item label="处理方式:" prop="repealType">
+                    <el-radio-group v-model="formModel.repealType">
                         <el-radio :value="1">处理</el-radio>
                         <el-radio :value="2">留样</el-radio>
                     </el-radio-group>
                 </el-form-item>
-                <el-form-item v-if="formModel.key1 === 1" label="处理原因:" prop="key2">
-                    <el-input v-model="formModel.key2" type="textarea" :rows="5" resize="none" />
+                <el-form-item v-if="formModel.repealType === 1" label="处理原因:" prop="repealReason">
+                    <el-input v-model="formModel.repealReason" type="textarea" :rows="5" resize="none" />
                 </el-form-item>
-                <el-form-item v-if="formModel.key1 === 2" label="留样时间:" prop="startTime">
-                    <hc-date-picker :dates="betweenTime1" clearable @change="betweenTimeUpdate1" />
+                <el-form-item v-if="formModel.repealType === 2" label="留样时间:" prop="resamStartTime">
+                    <hc-date-picker :dates="formTime" clearable @change="formTimeUpdate" />
                 </el-form-item>
             </el-form>
             <template #footer>
                 <el-button @click="disposeClose">取消</el-button>
-                <el-button hc-btn type="primary" @click="disposeSave">确定</el-button>
+                <el-button hc-btn type="primary" :loading="saveLoading" @click="disposeSave">确定</el-button>
             </template>
         </hc-new-dialog>
 
@@ -289,8 +289,9 @@ import { getDictionary } from '~api/other'
 import { eVisaTaskCheckApi } from '~api/other'
 import { getErtractInfo } from '~api/other'
 import wbsApi from '~api/data-fill/wbs'
+import testSampleApi from '~api/tentative/material/testSample'
 import commissionApi from '~api/tentative/detect/commission'
-import { arrToId, getArrValue, getObjVal, isNullES, isString } from 'js-fast-way'
+import { arrToId, formValidate, getArrValue, getObjVal, isNullES, isString } from 'js-fast-way'
 import { HcDelMsg } from 'hc-vue3-ui'
 import { toPdfPage } from '~uti/btn-auth'
 
@@ -1052,7 +1053,7 @@ const relatedColumn3 = [
     { key: 'key23', name: '试验结果是否合格', width: 100, align: 'center' },
 ]
 const relatedData3 = ref([])
-const getAcquisitionData = async () => {
+const getAcquisitionData = async (id) => {
     relatedData3.value = []
     if (isNullES(id) || id == 0) return
     console.log(11)
@@ -1061,58 +1062,76 @@ const getAcquisitionData = async () => {
 //关闭关联查阅
 const relatedSearchModalClose = () => {
     isRelatedSearch.value = false
+  relatedData1.value = []
+  relatedData2.value = []
+  relatedData3.value = []
 }
 
 //表单数据
 const formRef = ref(null)
 const formModel = ref({})
 const formRules = {
-    key1: {
-        required: true,
-        trigger: 'blur',
-        message: '请选择处理方式',
-    },
-    key2: {
-        required: true,
-        trigger: 'blur',
-        message: '请填写处理原因',
-    },
-    startTime: {
-        required: true,
-        trigger: 'blur',
-        message: '请选择留样时间',
-    },
+  repealType: {
+    required: true,
+    trigger: 'blur',
+    message: '请选择处理方式',
+  },
+  repealReason: {
+    required: true,
+    trigger: 'blur',
+    message: '请填写处理原因',
+  },
+  resamStartTime: {
+    required: true,
+    trigger: 'blur',
+    message: '请选择留样时间',
+  },
 }
 
 //样品处理
 const disposeModal = ref(false)
 const rowDispose = () => {
-    formModel.value = { key1: 1 }
-    disposeModal.value = true
+  disposeModal.value = true
+  const rows = relatedData1.value
+  formModel.value = {
+    id: arrToId(rows),
+    repealType: 1,
+  }
 }
 
 //日期时间被选择
-const betweenTime1 = ref(null)
-const betweenTimeUpdate1 = ({ arr }) => {
-    betweenTime1.value = arr
-    if (arr.length > 0) {
-        formModel.value.startTime = arr[0]
-        formModel.value.endTime = arr[1]
-    } else {
-        formModel.value.startTime = ''
-        formModel.value.endTime = ''
-    }
+const formTime = ref(null)
+const formTimeUpdate = ({ arr }) => {
+  formTime.value = arr
+  if (arr.length > 0) {
+    formModel.value.resamStartTime = arr[0]
+    formModel.value.resamEndTime = arr[1]
+  } else {
+    formModel.value.resamStartTime = ''
+    formModel.value.resamEndTime = ''
+  }
 }
 
 //确定提交
+const saveLoading = ref(false)
 const disposeSave = async () => {
+  const isForm = await formValidate(formRef.value)
+  if (!isForm) return
+  const { error, code, msg } = await testSampleApi.update(formModel.value)
+  saveLoading.value = false
+  if (!error && code === 200) {
+    window.$message.success('提交成功')
     disposeClose()
+    getTableData().then()
+  } else {
+    window.$message.error(msg || '操作失败')
+  }
 }
 
 //关闭弹窗
 const disposeClose = () => {
     disposeModal.value = false
-    formModel.value = {}
+  formModel.value = {}
 }
 </script>