董国庆
2025-06-28 42feb0af0ae1d486d0474c76711fdb67c778bcf3
culture/src/views/strain-library/strain-library-manage/record.vue
@@ -46,38 +46,20 @@
    </el-card>
    <!-- 出入库记录表格 -->
    <TableCustom
      :queryForm="queryForm"
      :tableData="recordList"
      :total="total"
      @currentChange="handlePageChange"
    >
    <TableCustom :queryForm="queryForm" :tableData="recordList" :total="total" @currentChange="handlePageChange">
      <template #setting>
        <div class="tableTitle">
          <div class="flex a-center">
            <div
              class="title"
              :class="{ active: currentType === 'table' }"
              @click="handleTypeChange('table')"
            >
             {{type==1?'原始细胞保藏出/入库登记表':type==2?'主细胞保藏出/入库登记表':'生产细胞保藏出/入库登记表'}}
            <div class="title" :class="{ active: currentType === 'table' }" @click="handleTypeChange('table')">
              {{ type == 1 ? '原始细胞保藏出/入库登记表' : type == 2 ? '主细胞保藏出/入库登记表' : '生产细胞保藏出/入库登记表' }}
            </div>
            <div
              class="drafts"
              :class="{ active: currentType === 'timeline' }"
              @click="handleTypeChange('timeline')"
            >
              {{type==1?'原始细胞保藏出/入库时间轴':type==2?'主细胞保藏出/入库时间轴':'生产细胞保藏出/入库时间轴'}}
            <div class="drafts" :class="{ active: currentType === 'timeline' }" @click="handleTypeChange('timeline')">
              {{ type == 1 ? '原始细胞保藏出/入库时间轴' : type == 2 ? '主细胞保藏出/入库时间轴' : '生产细胞保藏出/入库时间轴' }}
            </div>
          </div>
          <div class="flex a-center">
            <el-button
              v-if="roleType == 4"
              @click="handleAddRecord"
              class="el-icon-plus"
              type="primary"
              >新增出入库记录</el-button
            >
            <el-button v-if="roleType == 4" @click="handleAddRecord" class="el-icon-plus"
              type="primary">新增出入库记录</el-button>
          </div>
        </div>
      </template>
@@ -93,23 +75,15 @@
        <el-table-column prop="boundTime" label="操作时间" />
        <el-table-column prop="signature" label="操作人签字">
          <template #default="{ row }">
            <el-image
              v-if="row.handleSignature"
              style="width: 100px; height: 100px"
              :src="row.handleSignature"
              :preview-src-list="[row.handleSignature]"
            >
            <el-image v-if="row.handleSignature" style="width: 100px; height: 100px" :src="getFullUrl(row.handleSignature)"
              :preview-src-list="[getFullUrl(row.handleSignature)]">
            </el-image>
          </template>
        </el-table-column>
        <el-table-column prop="preserveSignature" label="菌种保藏人签字">
          <template #default="{ row }">
            <el-image
              v-if="row.preserveSignature"
              style="width: 100px; height: 100px"
              :src="row.preserveSignature"
              :preview-src-list="[row.preserveSignature]"
            >
            <el-image v-if="row.preserveSignature" style="width: 100px; height: 100px" :src="getFullUrl(row.preserveSignature)"
              :preview-src-list="[getFullUrl(row.preserveSignature)]">
            </el-image>
          </template>
        </el-table-column>
@@ -122,19 +96,9 @@
        </el-table-column>
        <el-table-column label="操作" width="180">
          <template #default="{ row }">
            <el-button
              v-if="!row.preserveSignature && roleType == 3"
              type="text"
              class="operation-btn"
              @click="handleConfirm(row)"
              >确认</el-button
            >
            <el-button
              type="text"
              class="operation-btn"
              @click="handleView(row)"
              >详情</el-button
            >
            <el-button v-if="!row.preserveSignature && roleType == 3" type="text" class="operation-btn"
              @click="handleConfirm(row)">确认</el-button>
            <el-button type="text" class="operation-btn" @click="handleView(row)">详情</el-button>
            <el-button v-if="roleType == 1" type="text" @click="handleDelete(row)">删除</el-button>
          </template>
        </el-table-column>
@@ -145,18 +109,10 @@
    </TableCustom>
    <!-- 详情弹窗 -->
    <record-detail-dialog
      :visible.sync="dialogVisible"
      :record-data="currentRecord"
      @close="handleDialogClose"
      @confirm="handleOutbound"
      :type="dialogType"
    />
    <record-detail-dialog :visible.sync="dialogVisible" :record-data="currentRecord" @close="handleDialogClose"
      @confirm="handleOutbound" :type="dialogType" />
    <!-- 新增出入库记录弹窗 -->
    <add-record-dialog
      :visible.sync="addDialogVisible"
      @confirm="handleAddRecordConfirm"
    />
    <add-record-dialog :visible.sync="addDialogVisible" @confirm="handleAddRecordConfirm" />
  </div>
</template>
@@ -164,6 +120,7 @@
import RecordDetailDialog from "./components/RecordDetailDialog.vue";
import AddRecordDialog from "./components/AddRecordDialog.vue";
import RecordTimeline from "./components/RecordTimeline.vue";
import { getFullUrl } from "@/utils/utils"
import {
  timeList,
  getDetail,
@@ -198,7 +155,7 @@
      dialogType: "detail",
      roleType: "",
      type: 1,
      };
    };
  },
  created() {
    this.roleType = JSON.parse(sessionStorage.getItem("userInfo")).roleType;
@@ -212,6 +169,11 @@
    }
  },
  methods: {
    getFullUrl(url){
      if (url) {
        return getFullUrl(url);
      }
    },
    handleDelete(row) {
      this.$confirm("确定删除该数据吗?", "提示", {
        confirmButtonText: "确定",
@@ -270,7 +232,7 @@
        id: this.currentRecord.id,
        preserveSignature: data.preserveSignature,
      }).then((res) => {
        console.log(res);
        if (res.code == 200) {
          this.$message.success("操作成功");
          this.dialogVisible = false;