Crunchy
2025-03-17 0a26d58a3906b9e13946c7cb46fae51a0de98920
src/views/CNAS/process/method/standardNoveltyRetrieval/index.vue
@@ -3,8 +3,11 @@
    <div class="search">
      <div>
        <el-form :model="searchForm" ref="searchForm" size="small" :inline="true">
          <el-form-item label="标准号" prop="standardNo">
          <el-form-item label="标准号" prop="standardNo" v-if="tabIndex === '0'">
            <el-input size="small" placeholder="请输入" clearable v-model="searchForm.standardNo"></el-input>
          </el-form-item>
          <el-form-item label="存档名称" prop="archivedName" v-if="tabIndex === '1'">
            <el-input size="small" placeholder="请输入" clearable v-model="searchForm.archivedName"></el-input>
          </el-form-item>
          <el-form-item>
            <el-button type="primary" icon="el-icon-search" size="mini" @click="searchList">查 询</el-button>
@@ -13,51 +16,33 @@
        </el-form>
      </div>
      <div>
        <el-button size="medium" type="primary" @click="openApprovalDialog1">建 档</el-button>
        <el-upload ref='upload' :action="action"
                             :before-upload="beforeUpload" :headers="headers" :on-error="onError"
                             :on-success="handleSuccessUp" :show-file-list="false" accept='.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar'
                             style="display: inline-block; margin-left: 10px;">
                    <el-button :loading="upLoading" size="medium" type="primary">导入</el-button>
        <el-button size="small" type="primary" @click="openApprovalDialog1">建 档</el-button>
        <el-upload ref='upload' :action="action" :before-upload="beforeUpload" :headers="uploadHeader" :on-error="onError"
          :on-success="handleSuccessUp" :show-file-list="false"
          accept='.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar'
          style="display: inline-block; margin-left: 10px;">
          <el-button :loading="upLoading" size="small" type="primary">导入</el-button>
        </el-upload>
        <el-button size="medium" style="margin-left: 10px;" type="primary" @click="openFormDia">新 增</el-button>
        <el-button size="small" style="margin-left: 10px;" type="primary" @click="openFormDia">新 增</el-button>
      </div>
    </div>
    <div>
      <div class="table">
        <div class="table-tab">
          <el-radio-group v-model="tabIndex" @input="searchList">
          <el-radio-group v-model="tabIndex" @change="searchList">
            <el-radio-button label="0">今年标准记录</el-radio-button>
            <el-radio-button label="1">历史档案</el-radio-button>
          </el-radio-group>
        </div>
        <div v-if="tabIndex === '0'">
          <TableCard :showForm="false" :showTitle="false">
            <template v-slot:table>
              <lims-table
                :column="tableColumn"
                :height="'calc(100vh - 26em)'"
                :table-data="tableData"
                :table-loading="tableLoading"
                :page="page"
                @pagination="pagination">
              </lims-table>
            </template>
          </TableCard>
          <lims-table :column="tableColumn" :height="'calc(100vh - 26em)'" :table-data="tableData"
                      :table-loading="tableLoading" :page="page" @pagination="pagination">
          </lims-table>
        </div>
        <div v-if="tabIndex === '1'">
          <TableCard :showForm="false" :showTitle="false">
            <template v-slot:table>
              <lims-table
                :column="oldTableColumn"
                :height="'calc(100vh - 20em)'"
                :table-data="oldTableData"
                :table-loading="oldTableLoading"
                :page="oldPage"
                @pagination="oldPagination">
              </lims-table>
            </template>
          </TableCard>
          <lims-table :column="oldTableColumn" :height="'calc(100vh - 20em)'" :table-data="oldTableData"
                      :table-loading="oldTableLoading" :page="oldPage" @pagination="oldPagination">
          </lims-table>
        </div>
      </div>
      <!--      历史档案批准弹框-->
@@ -84,19 +69,10 @@
      <FormDialog v-if="formDialog" ref="formDialog" @closeDia="closeDia"></FormDialog>
      <EditFormDia v-if="editFormDialog" ref="editFormDialog" @closeEditDia="closeEditDia"></EditFormDia>
      <el-dialog :visible.sync="viewRocordDia" title="详情" width="80%" @close="approvalDialog = false">
        <TableCard :showForm="false" :showTitle="false">
          <template v-slot:table>
            <limsTable
              :column="tableColumn1"
              :height="'calc(100vh - 26em)'"
              :table-data="tableData1"
              :table-loading="tableLoading1"
              style="padding: 0 15px;margin-bottom: 16px"
              :page="page1"
              @pagination="pagination1">
            </limsTable>
          </template>
        </TableCard>
        <limsTable :column="tableColumn1" :height="'calc(100vh - 26em)'" :table-data="tableData1"
                   :table-loading="tableLoading1" style="padding: 0 15px;margin-bottom: 16px" :page="page1"
                   @pagination="pagination1">
        </limsTable>
      </el-dialog>
    </div>
  </div>
@@ -104,7 +80,6 @@
<script>
import limsTable from '@/components/Table/lims-table.vue'
import TableCard from '@/views/CNAS/externalService/serviceAndSupplyPro/component/index.vue';
import FormDialog from './component/FormDialog.vue';
import EditFormDia from './component/EditFormDia.vue';
import {
@@ -113,11 +88,10 @@
} from '@/api/cnas/process/method/standardNoveltyRetrieval'
export default {
  name: 'a7-standard-novelty-retrieval',
  name: 'StandardNoveltyRetrieval',
  // import 引入的组件需要注入到对象中才能使用
  components: {
    FormDialog,
    TableCard,
    limsTable,
    EditFormDia
  },
@@ -127,10 +101,11 @@
      searchForm: {
        year: '',
        standardNo: '',
        archivedName: ''
      },
      options: [
        {label: '上半年', value: '1'},
        {label: '下半年', value: '2'},
        { label: '上半年', value: '1' },
        { label: '下半年', value: '2' },
      ],
      tableColumn: [
        {
@@ -475,15 +450,14 @@
      tabIndex: '0',
      formDialog: false,
      editFormDialog: false,
      upLoading:false,
      outLoading:false,
      upLoading: false,
      outLoading: false,
      ratifyInfo: {
        writeUserId: '',
        ratifyUserId: '',
        writeDate: '',
        ratifyDate: '',
      },
      userList: [],
      approvalDialog: false,
      approvalDialog1: false,
      viewRocordDia: false,
@@ -499,26 +473,12 @@
  // 方法集合
  methods: {
    // 查询列表
    searchList () {
      let params = {}
      if (this.tabIndex === '0') {
        params = {
          entity: {
            standardNo: this.searchForm.standardNo,
          },
          page: this.page
        }
      } else {
        params = {
          entity: {},
          page: this.oldPage
        }
      }
    searchList() {
      if (this.tabIndex === '0') {
        this.tableLoading = true
        pageMethodSearchNew({...params.oldPage,...params.entity}).then(res => {
        pageMethodSearchNew({ standardNo: this.searchForm.standardNo, ...this.page }).then(res => {
          this.tableLoading = false
          if (res.code === 200){
          if (res.code === 200) {
            this.tableData = res.data.records
            this.page.total = res.data.total
          }
@@ -528,12 +488,9 @@
        })
      } else {
        this.oldTableLoading = true
        pageSearchNewArchived({
          ...params.page,...params.entity
        }).then(res => {
        pageSearchNewArchived({archivedName: this.searchForm.archivedName, ...this.oldPage}).then(res => {
          this.oldTableLoading = false
          if (res.code === 200){
            console.log('res>>>>>>>>>>>>',res)
          if (res.code === 200) {
            this.oldTableData = res.data.records
            this.oldPage.total = res.data.total
          }
@@ -545,19 +502,19 @@
      }
    },
    // 打开历史档案详情弹框
    openViewDia (row) {
    openViewDia(row) {
      this.archivedId = row.archivedId
      this.viewRocordDia = true
      this.pageSearchNewBackups()
    },
    pageSearchNewBackups () {
    pageSearchNewBackups() {
      const entity = {
        archivedId: this.archivedId,
      }
      this.tableLoading1 = true
      pageSearchNewBackups({...this.page1,...entity}).then(res => {
      pageSearchNewBackups({ ...this.page1, ...entity }).then(res => {
        this.tableLoading1 = false
        if (res.code === 200){
        if (res.code === 200) {
          this.tableData1 = res.data.records
          this.page1.total = res.data.total
        }
@@ -568,17 +525,17 @@
      })
    },
    // 打开批准弹框
    openApprovalDialog (row) {
    openApprovalDialog(row) {
      this.approvalDialog = true
      this.archivedId = row.archivedId
    },
    // 打开批准弹框
    openApprovalDialog1 (row) {
    openApprovalDialog1(row) {
      this.approvalDialog1 = true
      this.archivedId = row.archivedId
    },
    // 提交批准
    handleApproval (status) {
    handleApproval(status) {
      this.approvalLoading = true
      let internalReport = {
        archivedId: this.archivedId,
@@ -597,7 +554,7 @@
      })
    },
    // 提交批准
    handleApproval1 (status) {
    handleApproval1(status) {
      this.approvalLoading = true
      let internalReport = {
        archivedName: this.archivedName,
@@ -614,41 +571,40 @@
      })
    },
    // 重置查询条件
    resetSearchForm () {
    resetSearchForm() {
      this.searchForm.standardNo = '';
      this.searchList()
    },
    // 操作新增框
    openFormDia (row) {
    openFormDia(row) {
      this.formDialog = true
      this.$nextTick(() => {
        this.$refs.formDialog.openDia(row)
      })
    },
    // 关闭新增弹框
    closeDia () {
    closeDia() {
      this.formDialog = false
      this.searchList()
    },
    // 打开修改弹框
    openEditFormDia (row) {
    openEditFormDia(row) {
      this.editFormDialog = true
      this.$nextTick(() => {
        this.$refs.editFormDialog.openDia(row)
      })
    },
    //
    closeEditDia () {
    closeEditDia() {
      this.editFormDialog = false
      this.searchList()
    },
    // 导出
    handleOut (row) {
    handleOut(row) {
      this.outLoading = true
      exportMethodSearchNew({archivedId:row.archivedId}).then(res => {
        const blob = new Blob([res],{ type: 'application/octet-stream' });
      exportMethodSearchNew({ archivedId: row.archivedId }).then(res => {
        const blob = new Blob([res], { type: 'application/octet-stream' });
        this.$download.saveAs(blob, '标准查新导出.xlsx')
        this.$message.success('导出成功')
      })
    },
    // 导入
@@ -674,42 +630,21 @@
      }
    },
    // 分页
    pagination(page){
    pagination(page) {
      this.page.size = page.limit
      this.searchList();
    },
    pagination1(page){
    pagination1(page) {
      this.page1.size = page.limit
      this.pageSearchNewBackups();
    },
    oldPagination(page){
    oldPagination(page) {
      this.oldPage.size = page.limit
      this.searchList();
    },
    //
    getUserList(){
      this.$axios.post(this.$api.user.selectUserList, {
        page: {current: -1, size: -1,},
        entity: {name: null}
      }, {
        headers: {
          'Content-Type': 'application/json'
        }
      }).then(res => {
        if (res.code === 201) {
          return
        }
        this.userList = res.data.body.records
      })
    },
  },
  // 用于上传文件的信息
  computed: {
    headers() {
      return {
        'token': sessionStorage.getItem('token')
      }
    },
    action() {
      return this.javaApi + '/processMethodSearchNew/importMethodSearchNew'
    }
@@ -723,6 +658,7 @@
  display: flex;
  justify-content: space-between;
}
.table-tab {
  margin-bottom: 10px;
}