Explorar el Código

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/views/museums/specimeninfo/index.vue
lmm hace 7 meses
padre
commit
4492ed81e3

+ 2 - 2
src/api/museums/specimeninfo/index.ts

@@ -57,8 +57,8 @@ export const SpecimenInfoApi = {
   },
 
   // 删除标本管理
-  deleteSpecimenInfo: async (id: number) => {
-    return await request.delete({ url: `/museums/specimen-info/delete?id=` + id })
+  deleteSpecimenInfo: async (id: number,deletedReason) => {
+    return await request.delete({ url: `/museums/specimen-info/delete?id=` + id + '&deletedReason=' + deletedReason})
   },
   //下载导入标本信息模板
   importSpecimenInfTemplate: async(data: SpecimenInfoVO) => {

+ 27 - 2
src/api/museums/specimenoutbound/index.ts

@@ -62,8 +62,33 @@ export const SpecimenOutboundApi = {
  ApprovalSpecimenOutbound: async (data: SpecimenOutboundVO) => {
     return await request.post({ url: `/museums/specimen-outbound/reject`, data })
   },
+  // // 确认回标本回库
+  // SpecimenOutboundReturn: async (data: SpecimenOutboundVO) => {
+  //   return await request.post({ url: `/museums/specimen-outbound/update`,data})
+  // },
   // 确认回标本出库
-  ConfirmSpecimenOutbound: async (data: SpecimenOutboundVO) => {
-    return await request.post({ url: `/museums/specimen-outbound/confirmOutbound?id=`, data})
+  ConfirmSpecimenOutbound :async (id: number) => {
+    // 构造请求体
+    const reqBody = {
+      id: id
+    };
+    // 发送POST请求,包含请求体
+    return await request.post({
+      url: `/museums/specimen-outbound/confirmOutbound`,
+      data: reqBody
+    });
   },
+ //  // 确认标本回库
+ // SpecimenOutboundReturn :async (id: number) => {
+ //    // 构造请求体
+ //    const reqBody = {
+ //      id: id
+ //    };
+ //    // 发送POST请求,包含请求体
+ //    return await request.post({
+ //      url: `/museums/specimen-outbound/update`,
+ //      data: reqBody
+ //    });
+ //  }
+
 }

+ 1 - 1
src/views/museums/photogroup/ImageImportForm .vue

@@ -62,7 +62,7 @@
 import { useUpload } from "@/components/UploadFile/src/useUpload";
 import { getAccessToken } from "@/utils/auth";
 const importUrl =
-  import.meta.env.VITE_BASE_URL + import.meta.env.VITE_API_URL + '/photosmanage/photo-group/createe'
+  import.meta.env.VITE_BASE_URL + import.meta.env.VITE_API_URL + '/photosmanage/photo-group/create'
 defineOptions({ name: 'imageImportForm' })
 const dialogVisible = ref(false) // 弹窗的是否展示
 const dialogTitle = ref('') // 弹窗的标题

+ 74 - 34
src/views/museums/specimeninfo/index.vue

@@ -28,21 +28,21 @@
           class="!w-240px"
         />
       </el-form-item>
-      <el-form-item label="标本类型" prop="specimenType">
-        <el-select
-          v-model="queryParams.specimenType"
-          placeholder="请选择标本类型(矿物、岩石矿石、化石、陨石)"
-          clearable
-          class="!w-240px"
-        >
-          <el-option
-            v-for="dict in getIntDictOptions(DICT_TYPE.MUSEUMS_SPECIMEN_TYPE)"
-            :key="dict.value"
-            :label="dict.label"
-            :value="dict.value"
-          />
-        </el-select>
-      </el-form-item>
+<!--      <el-form-item label="标本类型" prop="specimenType">-->
+<!--        <el-select-->
+<!--          v-model="queryParams.specimenType"-->
+<!--          placeholder="请选择标本类型(矿物、岩石矿石、化石、陨石)"-->
+<!--          clearable-->
+<!--          class="!w-240px"-->
+<!--        >-->
+<!--          <el-option-->
+<!--            v-for="dict in getIntDictOptions(DICT_TYPE.MUSEUMS_SPECIMEN_TYPE)"-->
+<!--            :key="dict.value"-->
+<!--            :label="dict.label"-->
+<!--            :value="dict.value"-->
+<!--          />-->
+<!--        </el-select>-->
+<!--      </el-form-item>-->
 <!--      <el-form-item label="资产号" prop="assetNumber">-->
 <!--        <el-input-->
 <!--          v-model="queryParams.assetNumber"-->
@@ -330,7 +330,6 @@
           plain
           @click="handleExport"
           :loading="exportLoading"
-
         >
           <Icon icon="ep:download" class="mr-5px" /> 导出
         </el-button>
@@ -340,6 +339,8 @@
 
   <!-- 列表 -->
   <ContentWrap>
+    <el-segmented  block  v-model="queryParams.specimenType" :options="options" size="large"  @update:modelValue="handleSegmentedChange"/>
+
     <el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
 
 <!--      <el-table-column label="序号" align="center" prop="id" />-->
@@ -386,20 +387,24 @@
       </el-table-column>
 <!--      <el-table-column label="备注" align="center" prop="notes" />-->
 <!--      <el-table-column label="图片名称" align="center" prop="imageName" />-->
-      <el-table-column label="图片" align="center" prop="url" width="110px">
+      <el-table-column label="图片" align="center" prop="url" >
         <template #default="{ row }">
-        <div class="demo-image__preview" v-if="queryParams">
-          <el-image
 
-            style="width: 40px; height:40px"
+        <div class="demo-image__preview" v-if="queryParams" >
+          <block  v-for="(image, index) in row.imagePath" :key="index">
+          <el-image
+            style="width: 40px; height:40px;margin-right: 5px"
             class="h-80px w-80px"
             lazy
-            :src="row.imagePath"
-            :preview-src-list="[row.imagePath]"
+            :src="image"
+            :preview-src-list="row.imagePath"
             preview-teleported
             fit="cover"
+
           />
+          </block>
         </div>
+
         </template>
       </el-table-column>
 <!--      <el-table-column label="创建时间" align="center" prop="createTime" />-->
@@ -426,6 +431,7 @@
             @click="openForm('update', scope.row.id)"
             v-hasPermi="['museums:specimen-info:update']"
           >
+
             编辑
           </el-button>
           <el-button
@@ -469,14 +475,21 @@ defineOptions({ name: 'SpecimenInfo' })
 
 const message = useMessage() // 消息弹窗
 const { t } = useI18n() // 国际化
-
+const options = [
+  { label: '总表', value: '' },
+  { label: '矿物', value: '0' },
+  { label: '岩石', value: '1' },
+  { label: '矿石', value: '2' },
+  { label: '化石', value: '3' },
+  { label: '陨石', value: '4' }
+]
 const loading = ref(true) // 列表的加载中
 const list = ref<SpecimenInfoVO[]>([]) // 列表的数据
 const total = ref(0) // 列表的总页数
 const queryParams = reactive({
   pageNo: 1,
   pageSize: 10,
-  specimenType: undefined,
+  specimenType:'',
   specimenNumber: undefined,
   assetNumber: undefined,
   storageLocation: undefined,
@@ -543,15 +556,38 @@ const openForm = (type: string, id?: number) => {
 
 /** 删除按钮操作 */
 const handleDelete = async (id: number) => {
-  try {
-    // 删除的二次确认
-    await message.delConfirm()
-    // 发起删除
-    await SpecimenInfoApi.deleteSpecimenInfo(id)
-    message.success(t('common.delSuccess'))
-    // 刷新列表
-    await getList()
-  } catch {}
+  // try {
+  //   // 删除的二次确认
+  //   await message.delConfirm()
+  //   // 发起删除
+  //   await SpecimenInfoApi.deleteSpecimenInfo(id)
+  //   message.success(t('common.delSuccess'))
+  //   // 刷新列表
+  //   await getList()
+  // } catch {}
+  ElMessageBox.prompt('请输入删除原因', '删除', {
+    confirmButtonText: 'OK',
+    cancelButtonText: 'Cancel',
+    inputPattern: /.+/ ,
+    inputErrorMessage: '删除原因必填',
+  })
+    .then(async ({ value }) =>  {
+      try {
+        await SpecimenInfoApi.deleteSpecimenInfo(id,value)
+        await getList()
+        ElMessage({
+          type: 'success',
+          message: `删除成功`,
+        })
+      } catch {}
+
+    })
+    .catch(() => {
+      ElMessage({
+        type: 'info',
+        message: '取消删除',
+      })
+    })
 }
 
 /** 批量导入 */
@@ -596,6 +632,10 @@ const viewDetails=(dataId: number) => {
     }
   })
 }
-
+/** 处理 el-segmented 变化事件 */
+const handleSegmentedChange = (value: string) => {
+  queryParams.specimenType = value
+  handleQuery()
+}
 </script>
 

+ 26 - 31
src/views/museums/specimeninfo/specimenDetails.vue

@@ -25,19 +25,19 @@
                     specimenData.specimenNumber
                   }}
                 </el-descriptions-item>
-                <el-descriptions-item label="资产号:" label-align="right">{{
+                <el-descriptions-item label="资产号:" label-align="right" label-class-name="my-label" >{{
                     specimenData.assetNumber
                   }}
                 </el-descriptions-item>
-                <el-descriptions-item label="存放位置:" label-align="right">{{
+                <el-descriptions-item label="存放位置:" label-align="right" label-class-name="my-label" >{{
                     specimenData.storageLocation
                   }}
                 </el-descriptions-item>
-                <el-descriptions-item label="中文名称:" label-align="right">{{
+                <el-descriptions-item label="中文名称:" label-align="right" label-class-name="my-label" >{{
                     specimenData.chineseName
                   }}
                 </el-descriptions-item>
-                <el-descriptions-item label="英文名称:" label-align="right">{{
+                <el-descriptions-item label="英文名称:" label-align="right" label-class-name="my-label" >{{
                     specimenData.englishName
                   }}
                 </el-descriptions-item>
@@ -57,26 +57,26 @@
                 :size="size"
                 border
               >
-                <el-descriptions-item label="成分:"  label-align="right">{{
+                <el-descriptions-item label="成分:"  label-align="right" label-class-name="my-label" > {{
                     specimenData.composition
                   }}
                 </el-descriptions-item>
-                <el-descriptions-item label="产地:" label-align="right">{{
+                <el-descriptions-item label="产地:" label-align="right" label-class-name="my-label" >{{
                     specimenData.origin
                   }}
                 </el-descriptions-item>
-                <el-descriptions-item label="时代:" label-align="right">{{ specimenData.era }}</el-descriptions-item>
-                <el-descriptions-item label="保存地层:" label-width="100px" label-align="right">{{
+                <el-descriptions-item label="时代:" label-align="right" label-class-name="my-label" >{{ specimenData.era }}</el-descriptions-item>
+                <el-descriptions-item label="保存地层:" label-width="100px" label-align="right" label-class-name="my-label" >{{
                     specimenData.discoveryTime
                   }}
                 </el-descriptions-item>
-                <el-descriptions-item label="陨石类型:" label-width="100px" label-align="right">{{ specimenData.meteoriteType }}
+                <el-descriptions-item label="陨石类型:" label-width="100px" label-align="right" label-class-name="my-label" >{{ specimenData.meteoriteType }}
                 </el-descriptions-item>
-                <el-descriptions-item label="国际命名:" label-width="100px" label-align="right">{{
+                <el-descriptions-item label="国际命名:" label-width="100px" label-align="right" label-class-name="my-label" >{{
                     specimenData.internationalName
                   }}
                 </el-descriptions-item>
-                <el-descriptions-item label="重量(g):" label-width="100px" label-align="right">{{
+                <el-descriptions-item label="重量(g):" label-width="100px" label-align="right" label-class-name="my-label" >{{
                     specimenData.weight
                   }}
                 </el-descriptions-item>
@@ -95,18 +95,18 @@
                 :size="size"
                 border
               >
-                <el-descriptions-item label="保存类型">{{ preservationTypeText }}
+                <el-descriptions-item label="保存类型" label-class-name="my-label" >{{ preservationTypeText }}
                 </el-descriptions-item>
-                <el-descriptions-item label="来源">{{ sourceText }}</el-descriptions-item>
-                <el-descriptions-item label="标本提供者">{{
+                <el-descriptions-item label="来源" label-class-name="my-label" >{{ sourceText }}</el-descriptions-item>
+                <el-descriptions-item label="标本提供者" label-class-name="my-label" >{{
                     specimenData.provider
                   }}
                 </el-descriptions-item>
-                <el-descriptions-item label="发现时间">  {{
+                <el-descriptions-item label="发现时间" label-class-name="my-label" >  {{
                     specimenData.discoveryTime
                   }}
                 </el-descriptions-item>
-                <el-descriptions-item label="降落时间">{{
+                <el-descriptions-item label="降落时间" label-class-name="my-label" >{{
                     specimenData.fallTime
                   }}
                 </el-descriptions-item>
@@ -124,19 +124,19 @@
                 :size="size"
                 border
               >
-                <el-descriptions-item label="入馆时间">{{
+                <el-descriptions-item label="入馆时间" label-class-name="my-label" >{{
                     specimenData.acquisitionTime
                   }}
                 </el-descriptions-item>
-                <el-descriptions-item label="描述">{{
+                <el-descriptions-item label="描述" label-class-name="my-label" >{{
                     specimenData.description
                   }}
                 </el-descriptions-item>
-                <el-descriptions-item label="用途">{{
+                <el-descriptions-item label="用途" label-class-name="my-label" >{{
                     specimenData.purpose
                   }}
                 </el-descriptions-item>
-                <el-descriptions-item label="备注">{{
+                <el-descriptions-item label="备注" label-class-name="my-label" >{{
                     specimenData.notes
                   }}
                 </el-descriptions-item>
@@ -160,7 +160,7 @@
             <el-image
 
               style=" align-items: center"
-              :src="specimenData.imagePath"
+              :src="specimenData.imagePath[0]"
               :zoom-rate="1.2"
               :max-scale="7"
               :min-scale="0.2"
@@ -171,8 +171,8 @@
           </div>
 
           <div>
-            <el-space style="margin-top: 10px">
-              <div class="demo-image__preview" v-for="(url, index) in srcList"
+            <el-space style="margin-top: 10px"  v-if="specimenData ">
+              <div class="demo-image__preview" v-for="(url, index) in specimenData.imagePath"
                    :key="index">
                 <el-image
                   style="width: 50px; height: 40px"
@@ -180,8 +180,8 @@
                   :zoom-rate="1.2"
                   :max-scale="7"
                   :min-scale="0.2"
-                  :preview-src-list="srcList"
                   :initial-index="4"
+                  :preview-src-list="[url]"
                   fit="cover"
                 />
               </div>
@@ -189,6 +189,7 @@
           </div>
         </el-col>
 
+
       </el-card>
       <el-card style="margin-top: 10px">
         <template #header>
@@ -277,12 +278,6 @@ const fetchData = async () => {
 
     specimenData.value = res
     console.log(specimenData.value)
-    // 假设res中的图片路径是以逗号分隔的字符串
-    // if (res && res.imagePath) {
-    //   srcList.value = res.imagePath.split(',');
-    //   url.value = srcList.value[0]; // 如果需要,可以设置默认图片URL
-    //   console.log(srcList.value);
-    // }
   }  finally {
   }
 }
@@ -384,7 +379,7 @@ const sourceText = computed(() => {
   color: #0f2438;
 }
 :deep(.my-label) {
-  background: var(--el-color-success-light-9) !important;
+  background: #FAF8F7 !important;
 }
 .label {
   display: inline-block;

+ 8 - 15
src/views/museums/specimenoutbound/ApproalProcess.vue

@@ -63,14 +63,7 @@
       <el-form-item>
         <el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
         <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
-        <el-button
-          type="primary"
-          plain
-          @click="openForm('create')"
-          v-hasPermi="['museums:specimen-outbound:create']"
-        >
-          <Icon icon="ep:plus" class="mr-5px" /> 新增
-        </el-button>
+
         <el-button
           type="success"
           plain
@@ -88,9 +81,9 @@
   <ContentWrap>
     <el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
       <el-table-column label="序号" align="center" prop="id" />
-      <el-table-column label="标本ID" align="center" prop="infoId" />
-      <el-table-column label="中文名称" align="center" prop="chineseName" />
+<!--      <el-table-column label="标本ID" align="center" prop="infoId" />-->
       <el-table-column label="标本编号" align="center" prop="specimenNumber" />
+      <el-table-column label="中文名称" align="center" prop="chineseName" />
       <el-table-column label="申请人(单位)" align="center" width="120px" prop="applicantName" />
       <el-table-column
         label="申请日期"
@@ -189,11 +182,11 @@ const queryParams = reactive({
 const queryFormRef = ref() // 搜索的表单
 const exportLoading = ref(false) // 导出的加载中
 
-/** 添加/修改操作 */
-const formRef = ref()
-const openForm = (type: string, id?: number) => {
-  formRef.value.open(type, id)
-}
+// /** 添加/修改操作 */
+// const formRef = ref()
+// const openForm = (type: string, id?: number) => {
+//   formRef.value.open(type, id)
+// }
 /** 查询列表 */
 const getList = async () => {
   loading.value = true

+ 10 - 10
src/views/museums/specimenoutbound/OutboundApplication.vue

@@ -98,9 +98,9 @@
   <ContentWrap>
     <el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
       <el-table-column label="序号" align="center" prop="id" />
-      <el-table-column label="标本ID" align="center" prop="infoId" />
-      <el-table-column label="中文名称" align="center" prop="chineseName" />
+<!--      <el-table-column label="标本ID" align="center" prop="infoId" />-->
       <el-table-column label="标本编号" align="center" prop="specimenNumber" />
+      <el-table-column label="中文名称" align="center" prop="chineseName" />
       <el-table-column label="申请人(单位)" align="center" width="120px" prop="applicantName" />
       <el-table-column
         label="申请日期"
@@ -118,14 +118,14 @@
         :formatter="dateFormatter"
         width="180px"
       />
-      <el-table-column
-        label="退还日期"
-        align="center"
-        prop="returnDate"
-        :formatter="dateFormatter"
-        width="180px"
-      />
-      <el-table-column label="标本情况" align="center" prop="specimenCondition" />
+<!--      <el-table-column-->
+<!--        label="退还日期"-->
+<!--        align="center"-->
+<!--        prop="returnDate"-->
+<!--        :formatter="dateFormatter"-->
+<!--        width="180px"-->
+<!--      />-->
+<!--      <el-table-column label="标本情况" align="center" prop="specimenCondition" />-->
       <el-table-column label="申请附件" align="center" prop="attachments"/>
         <el-table-column label="审批状态" align="center" prop="sampleStatus" >
           <template #default="scope">

+ 48 - 43
src/views/museums/specimenoutbound/OutboundForm/specimenReturnForm.vue

@@ -1,12 +1,15 @@
 <template>
 
-  <Dialog :title="dialogTitle" v-model="dialogVisible" ref="formRef"  v-loading="formLoading">
+  <Dialog :title="dialogTitle" v-model="dialogVisible" v-loading="formLoading">
     <el-form
       ref="formRef"
       :model="formData"
       :rules="formRules"
       label-width="100px"
-      >
+    >
+      <el-form-item label="标本ID" prop="infoId">
+        <el-input v-model="formData.infoId" placeholder="请输入标本ID"/>
+      </el-form-item>
       <el-form-item label="退还人" prop="returner">
         <el-input v-model="formData.returner" placeholder="请输入退还人"/>
       </el-form-item>
@@ -24,6 +27,9 @@
       <el-form-item label="标本情况" prop="specimenCondition">
         <el-input v-model="formData.specimenCondition" placeholder="请输入标本情况"/>
       </el-form-item>
+      <el-form-item label="备注信息" prop="remarks">
+        <el-input v-model="formData.remarks" placeholder="备注信息"/>
+      </el-form-item>
     </el-form>
     <template #footer>
       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button>
@@ -34,11 +40,12 @@
 </template>
 
 <script setup lang="ts">
-// import { onMounted } from 'vue';
+import {onMounted} from 'vue';
 import {SpecimenOutboundApi, SpecimenOutboundVO} from '@/api/museums/specimenoutbound'
-import {ref,reactive} from "vue"
+import {ref, reactive} from "vue"
+
 /** 标本出库回库信息 表单 */
-defineOptions({ name: 'ReturnForm' })
+defineOptions({name: 'ReturnForm'})
 const {t} = useI18n() // 国际化
 const dialogVisible = ref(false) // 弹窗的是否展示
 const dialogTitle = ref('') // 弹窗的标题
@@ -47,33 +54,29 @@ const formLoading = ref(false) // 表单的加载中:1)修改时的数据加
 const formType = ref('') // 表单的类型:create - 新增;update - 修改
 
 const formData = ref({
-id: undefined,
-infoId: undefined,
-chineseName: undefined,
-specimenNumber: undefined,
-applicantName: undefined,
-applicationDate: undefined,
-applicationUsage: undefined,
-attachments: undefined,
-status: undefined,
-remarks: undefined,
-processInstanceId: undefined,
-operator: undefined,
-outgoingTime: undefined,
-returner: undefined,
-receiver: undefined,
-returnDate: undefined,
-specimenCondition: undefined,
-sampleStatus: undefined
+  infoId: undefined,
+  applicantName: undefined,
+  applicationDate: undefined,
+  applicationUsage: undefined,
+  attachments: undefined,
+  status: undefined,
+  remarks: undefined,
+  processInstanceId: undefined,
+  operator: undefined,
+  returner: undefined,
+  receiver: undefined,
+  returnDate: undefined,
+  specimenCondition: undefined,
+  sampleStatus: undefined
 })
 
 const formRules = reactive({
-  operator: [{ required: true, message: '出库员不能为空', trigger: 'blur' }],
-  returner: [{ required: true, message: '退还人不能为空', trigger: 'blur' }],
-  receiver: [{ required: true, message: '点收人不能为空', trigger: 'blur' }],
-  returnDate: [{ required: true, message: '退还日期不能为空', trigger: 'blur' }]
+  operator: [{required: true, message: '出库员不能为空', trigger: 'blur'}],
+  returner: [{required: true, message: '退还人不能为空', trigger: 'blur'}],
+  receiver: [{required: true, message: '点收人不能为空', trigger: 'blur'}],
+  returnDate: [{required: true, message: '退还日期不能为空', trigger: 'blur'}]
 })
-const formRef = ref() // 表单 Ref
+
 
 /** 打开弹窗 */
 const open = async (type: string, id?: number) => {
@@ -90,7 +93,7 @@ const open = async (type: string, id?: number) => {
     }
   }
 }
-defineExpose({ open }) // 提供 open 方法,用于打开弹窗
+defineExpose({open}) // 提供 open 方法,用于打开弹窗
 
 /** 重置表单 */
 // const resetForm = () => {
@@ -116,36 +119,38 @@ defineExpose({ open }) // 提供 open 方法,用于打开弹窗
 //   }
 //   formRef.value?.resetFields()
 // }
-
+const formRef = ref() // 表单 Ref
 const resetForm = () => {
-  if (formRef.value ) {
-    formRef.value?.resetFields();
+  if (formRef.value) {
+
+    formRef.value.resetFields();
   }
 };
 /** 提交回库表单 */
 const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调
 const submitForm = async () => {
-
   // 提交请求
   formLoading.value = true
   try {
     const data = formData.value as unknown as SpecimenOutboundVO
-    if (formType.value === 'create') {
-      await SpecimenOutboundApi.updateSpecimenOutbound(data)
-      message.success(t('common.createSuccess'))
-    } else {
-      await SpecimenOutboundApi.updateSpecimenOutbound(data)
-      message.success(t('common.updateSuccess'))
-    }
+    console.log(formType.value)
+
+    await SpecimenOutboundApi.updateSpecimenOutbound(data)
+    message.success(t('回库成功'))
+
     dialogVisible.value = false
     // 发送操作成功的事件
     emit('success')
+  } catch (error) {
+    // 错误处理
+    console.error('提交表单失败:', error);
+    message.error(t('回库失败'));
   } finally {
     formLoading.value = false
   }
 }
 
-// onMounted(() => {
-//   resetForm();
-// })
+onMounted(() => {
+  resetForm();
+})
 </script>

+ 7 - 5
src/views/museums/specimenoutbound/OutboundManagement.vue

@@ -260,20 +260,22 @@ const detail=(dataId: number) => {
 }
 
 /** 出库操作 */
-const handleOutbound = async (data: SpecimenOutboundVO) => {
+const handleOutbound = async (id) => {
   try {
     // 出库的二次确认
     await message.OutboundConfirm()
     // 发起出库
-    await  SpecimenOutboundApi.ConfirmSpecimenOutbound(data)
+    await  SpecimenOutboundApi.ConfirmSpecimenOutbound(id)
     message.success(t('出库成功'))
     // 刷新列表
     await getList()
-  } catch {}
-}
+  } catch (error) {
+    message.error(t('出库失败'));
+  }
+};
 
 /** 回库 */
-const formRef = ref(null)
+const formRef = ref()
 const openForm = (type: string, id?: number) => {
   formRef.value.open(type, id)
 }