From 459060ff2ae132388225c370c10dcc2126e70552 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 24 二月 2025 20:16:12 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 src/api/cnas/resourceDemand/standardMaterailRequistion/standardMaterailRequistion.js |   12 
 src/views/CNAS/resourceDemand/standardMaterailRequistion/index.vue                   |  146 +++++++++++
 src/views/CNAS/resourceDemand/standardMaterialAccept/component/AddRecord.vue         |  103 +++++++
 src/api/cnas/resourceDemand/standardMaterial/standardMaterial.js                     |    2 
 src/views/CNAS/resourceDemand/standardMaterial/index.vue                             |    4 
 src/views/CNAS/resourceDemand/standardMaterialAccept/index.vue                       |  230 +++++++++++++++++
 src/views/CNAS/resourceDemand/standardMaterialAccept/component/Step1.vue             |  201 +++++++++++++++
 src/api/cnas/resourceDemand/standardMaterialAccept/standardMaterialAccept.js         |   31 ++
 8 files changed, 726 insertions(+), 3 deletions(-)

diff --git a/src/api/cnas/resourceDemand/standardMaterailRequistion/standardMaterailRequistion.js b/src/api/cnas/resourceDemand/standardMaterailRequistion/standardMaterailRequistion.js
new file mode 100644
index 0000000..0353e42
--- /dev/null
+++ b/src/api/cnas/resourceDemand/standardMaterailRequistion/standardMaterailRequistion.js
@@ -0,0 +1,12 @@
+import request from '@/utils/request'
+
+// 鍒嗛〉鏌ヨ
+export function getPageSubstanceRecord(query) {
+  return request({
+    url: '/feStandardSubstanceRecord/getPageSubstanceRecord',
+    method: 'get',
+    params: query
+  })
+}
+
+
diff --git a/src/api/cnas/resourceDemand/standardMaterial/standardMaterial.js b/src/api/cnas/resourceDemand/standardMaterial/standardMaterial.js
index 0b2dd67..71f88a9 100644
--- a/src/api/cnas/resourceDemand/standardMaterial/standardMaterial.js
+++ b/src/api/cnas/resourceDemand/standardMaterial/standardMaterial.js
@@ -32,7 +32,7 @@
   return request({
     url: "/feStandardSubstance/exportOfStandardSubstanceList",
     method: "get",
-    headers: { responseType: "blob" },
+    responseType: "blob",
     params: query,
   });
 }
diff --git a/src/api/cnas/resourceDemand/standardMaterialAccept/standardMaterialAccept.js b/src/api/cnas/resourceDemand/standardMaterialAccept/standardMaterialAccept.js
new file mode 100644
index 0000000..707631a
--- /dev/null
+++ b/src/api/cnas/resourceDemand/standardMaterialAccept/standardMaterialAccept.js
@@ -0,0 +1,31 @@
+import request from '@/utils/request'
+
+export function getPageAcceptance(query) {
+  return request({
+    url: '/feStandardSubstanceAcceptance/getPageAcceptance',
+    method: 'get',
+    params: query
+  })
+}
+
+export function updateAcceptanc(query) {
+  return request({
+    url: '/feStandardSubstanceAcceptance/updateAcceptanc',
+    method: 'post',
+    data: query
+  })
+}
+
+export function addAcceptance(query) {
+  return request({
+    url: '/feStandardSubstanceAcceptance/addAcceptance',
+    method: 'post',
+    data: query
+  })
+}
+
+
+
+
+
+
diff --git a/src/views/CNAS/resourceDemand/standardMaterailRequistion/index.vue b/src/views/CNAS/resourceDemand/standardMaterailRequistion/index.vue
new file mode 100644
index 0000000..9d91405
--- /dev/null
+++ b/src/views/CNAS/resourceDemand/standardMaterailRequistion/index.vue
@@ -0,0 +1,146 @@
+<template>
+  <div class="capacity-scope">
+    <div class="search">
+      <div>
+        <el-form :model="searchForm" ref="searchForm" size="small" :inline="true">
+          <el-form-item label="鏍囧噯鐗╄川鍚嶇О" prop="name">
+            <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="searchForm.name"
+                      @keyup.enter.native="searchList"></el-input>
+          </el-form-item>
+          <el-form-item label="瑙勬牸鍨嬪彿" prop="factoryManufacturer">
+            <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="searchForm.model"
+                      @keyup.enter.native="searchList"></el-input>
+          </el-form-item>
+          <el-form-item>
+            <el-button size="medium"  @click="resetSearchForm">閲� 缃�</el-button>
+            <el-button size="medium" type="primary" @click="searchList">鏌� 璇�</el-button>
+          </el-form-item>
+        </el-form>
+      </div>
+    </div>
+    <div class="table">
+      <lims-table :tableData="tableData" :column="tableColumn" :height="'calc(100vh - 250px)'" @pagination="pagination"
+                  :page="page" :tableLoading="tableLoading"></lims-table>
+    </div>
+  </div>
+</template>
+
+<script>
+import limsTable from '@/components/Table/lims-table.vue'
+import {
+  getPageSubstanceRecord
+} from '@/api/cnas/resourceDemand/standardMaterailRequistion/standardMaterailRequistion'
+
+export default {
+  components: {
+    limsTable
+    // TableCard,
+    // ZTTable,
+  },
+  data() {
+    return {
+      searchForm: {
+        name: '',
+        factoryManufacturer: '',
+      },
+      tableColumn: [
+        {
+          label: '鏍囧噯鐗╄川鍚嶇О',
+          prop: 'name',
+          minWidth: '120'
+        },
+        {
+          label: '瑙勬牸鍨嬪彿',
+          prop: 'model',
+          minWidth: '100'
+        },
+        {
+          label: '鍑哄巶缂栧彿',
+          prop: 'factoryNum',
+          minWidth: '100'
+        },
+        {
+          label: '鏁伴噺',
+          prop: 'factoryNum',
+          minWidth: '100'
+        },
+        {
+          label: '棰嗙敤浜�',
+          prop: 'borrowUser',
+          minWidth: '100'
+        },
+        {
+          label: '棰嗙敤鏃ユ湡',
+          prop: 'borrowDate',
+          minWidth: '100'
+        },
+        {
+          label: '褰掕繕浜�',
+          prop: 'returnIntegrity',
+          minWidth: '100'
+        },
+        {
+          label: '褰掕繕鏃ユ湡',
+          prop: 'returnDate',
+          minWidth: '100'
+        },
+        {
+          label: '褰掕繕鏃剁姸鎬�',
+          prop: 'returnIntegrity',
+          minWidth: '100'
+        }
+      ],
+      tableData: [],
+      tableLoading: false,
+      page: {
+        total: 0,
+        size: 10,
+        current: 1
+      },
+      total: 0,
+      formDia: false,
+      borrowDia: false,
+      returnDia: false,
+    }
+  },
+  mounted() {
+    this.searchList()
+  },
+  methods :{
+    // 鏌ヨ鍒楄〃
+    searchList () {
+      this.tableLoading = true
+      getPageSubstanceRecord({
+        ...this.page,
+        ...this.searchForm
+      }).then(res => {
+        this.tableLoading = false
+        if (res.code === 200){
+          this.tableData = res.data.records
+          this.page.total = res.data.total
+        }
+      }).catch(err => {
+        this.tableLoading = false
+      })
+    },
+    // 閲嶇疆鏌ヨ鏉′欢
+    resetSearchForm () {
+      this.searchForm.name = '';
+      this.searchForm.model = '';
+      this.searchList()
+    },
+    // 鍒嗛〉鍒囨崲
+    pagination(page) {
+      this.page.size = page.limit
+      this.searchList();
+    },
+  }
+}
+</script>
+<style scoped>
+.search {
+  height: 46px;
+  display: flex;
+  justify-content: space-between;
+}
+</style>
diff --git a/src/views/CNAS/resourceDemand/standardMaterial/index.vue b/src/views/CNAS/resourceDemand/standardMaterial/index.vue
index 085b14e..6483368 100644
--- a/src/views/CNAS/resourceDemand/standardMaterial/index.vue
+++ b/src/views/CNAS/resourceDemand/standardMaterial/index.vue
@@ -5,11 +5,11 @@
         <el-form :model="searchForm" ref="searchForm" size="small" :inline="true">
           <el-form-item label="鏍囧噯鐗╄川鍚嶇О" prop="name">
             <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="searchForm.name"
-                      @keyup.enter.native="refreshTable"></el-input>
+                      @keyup.enter.native="searchList"></el-input>
           </el-form-item>
           <el-form-item label="鐢熶骇鍘傚" prop="factoryManufacturer">
             <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="searchForm.factoryManufacturer"
-                      @keyup.enter.native="refreshTable"></el-input>
+                      @keyup.enter.native="searchList"></el-input>
           </el-form-item>
           <el-form-item>
             <el-button type="primary" icon="el-icon-search" size="mini" @click="searchList">鏌� 璇�</el-button>
diff --git a/src/views/CNAS/resourceDemand/standardMaterialAccept/component/AddRecord.vue b/src/views/CNAS/resourceDemand/standardMaterialAccept/component/AddRecord.vue
new file mode 100644
index 0000000..1e54f5e
--- /dev/null
+++ b/src/views/CNAS/resourceDemand/standardMaterialAccept/component/AddRecord.vue
@@ -0,0 +1,103 @@
+<template>
+    <el-dialog :visible.sync="dialogVisible" title="鏍囧噯鐗╄川楠屾敹璁板綍" width="70%">
+        <!-- <el-steps :active="currentStep" finish-status="success">
+            <el-step class="cursor-pointer" v-for="(item, index) in steps" :key="index" :title="item">
+            </el-step>
+        </el-steps> -->
+<!--        <el-form :model="model" label-width="140px" size="small">-->
+<!--            <Step1 :model.sync="model"></Step1>-->
+<!--        </el-form>-->
+        <span slot="footer" class="dialog-footer">
+            <el-button @click="dialogVisible = false">鍙� 娑�</el-button>
+            <el-button type="primary" @click="submit">淇� 瀛�</el-button>
+        </span>
+    </el-dialog>
+</template>
+
+<script>
+// import Step1 from './Step/Step1.vue'
+export default {
+    components: {
+        // Step1
+    },
+    data() {
+        return {
+            dialogVisible: false,
+            currentStep: 0, // 姝ラ鏉℃樉绀虹鍑犳
+            // steps: ['鎻愪氦', '寮�绠遍獙鏀跺鏍�', '瀹夎楠屾敹妫�鏌�', '瀹夎楠屾敹澶嶆牳', '楠屾敹鏍告煡', '楠屾敹鏍告煡瀹℃牳'],
+            model: {
+                acceptance: {
+                    id: undefined,
+                    producer: undefined, // 鍘傚浠h〃
+                    file: undefined,   // 鐩稿叧闄勪欢
+                    recipient: undefined,   // 鎺ユ敹浜�
+                    signature: undefined,   // 鎺ュ彈绛惧瓧
+                    situation: undefined,   // 楠屾敹鎯呭喌
+                    installation: undefined,    // 瀹夎璋冭瘯鎯呭喌
+                    substanceId: undefined, // 娓呭崟
+                    arriveDate: undefined,   // 鍒拌揣鏃ユ湡
+                    maintenanceUnit: undefined,   // 缁翠慨鍗曚綅
+                },
+                list: []
+            }
+        }
+    },
+    watch: {
+        model(newVal) {
+            this.model = newVal
+        }
+    },
+    methods: {
+        clearForm() {
+            this.model.acceptance.id = undefined
+            this.model.acceptance.producer = undefined
+            this.model.acceptance.file = undefined
+            this.model.acceptance.recipient = undefined
+            this.model.acceptance.signature = undefined
+            this.model.acceptance.situation = undefined
+            this.model.acceptance.installation = undefined
+            this.model.acceptance.substanceId = undefined
+            this.model.acceptance.arriveDate = undefined
+            this.model.acceptance.maintenanceUnit = undefined
+            this.model.list = []
+        },
+        openDialog(form) {
+            console.log(form)
+            if(form) {
+                this.model.acceptance.id = form.acceptance.id
+                this.model.acceptance.producer = form.acceptance.producer
+                this.model.acceptance.file = form.acceptance.file
+                this.model.acceptance.recipient = form.acceptance.recipient
+                this.model.acceptance.signature = form.acceptance.signature
+                this.model.acceptance.situation = form.acceptance.situation
+                this.model.acceptance.installation = form.acceptance.installation
+                this.model.acceptance.substanceId = form.acceptance.substanceId
+                this.model.acceptance.arriveDate = form.acceptance.arriveDate
+                this.model.acceptance.maintenanceUnit = form.acceptance.maintenanceUnit
+                this.model.list = form.list
+            } else {
+                this.clearForm()
+            }
+            this.dialogVisible = true
+        },
+        closeDialog() {
+            this.dialogVisible = false
+        },
+        submit() {
+          if (!this.model.acceptance.substanceId) {
+            this.$message.warning('璇烽�夋嫨娓呭崟')
+            return
+          }
+            this.$emit('submit', this.model)
+            this.closeDialog()
+        }
+    }
+}
+
+</script>
+
+<style scoped>
+.cursor-pointer {
+    cursor: pointer;
+}
+</style>
diff --git a/src/views/CNAS/resourceDemand/standardMaterialAccept/component/Step1.vue b/src/views/CNAS/resourceDemand/standardMaterialAccept/component/Step1.vue
new file mode 100644
index 0000000..c1f26ad
--- /dev/null
+++ b/src/views/CNAS/resourceDemand/standardMaterialAccept/component/Step1.vue
@@ -0,0 +1,201 @@
+<!--<template>-->
+<!--    <el-card class="card">-->
+<!--        <el-col :span="12">-->
+<!--            <el-form-item label="鍘傚浠h〃">-->
+<!--                <el-input v-model="model.acceptance.producer"></el-input>-->
+<!--            </el-form-item>-->
+<!--        </el-col>-->
+<!--        <el-col :span="12">-->
+<!--            <el-form-item label="鐩稿叧闄勪欢">-->
+<!--                <div class="table-between">-->
+<!--                    <el-input v-model="model.acceptance.file" style="width: 82%;"></el-input>-->
+<!--                    <el-upload-->
+<!--                        ref="upload"-->
+<!--                        style="float: left; margin: 0 12px 0 20px;"-->
+<!--                        :action="action"-->
+<!--                        :show-file-list="false"-->
+<!--                        :on-success="onSuccess"-->
+<!--                    >-->
+<!--                        <el-button type="primary">-->
+<!--                            闄勪欢涓婁紶-->
+<!--                        </el-button>-->
+<!--                    </el-upload>-->
+<!--                </div>-->
+<!--            </el-form-item>-->
+<!--        </el-col>-->
+<!--        <el-col :span="12">-->
+<!--            <el-form-item label="鎺ユ敹浜�">-->
+<!--                <el-input v-model="model.acceptance.recipient"></el-input>-->
+<!--            </el-form-item>-->
+<!--        </el-col>-->
+<!--        <el-col :span="12">-->
+<!--            <el-form-item label="鎺ュ彈绛惧瓧">-->
+<!--                <el-input v-model="model.acceptance.signature"></el-input>-->
+<!--            </el-form-item>-->
+<!--        </el-col>-->
+<!--        <el-col :span="12">-->
+<!--            <el-form-item label="楠屾敹鎯呭喌">-->
+<!--                <el-input v-model="model.acceptance.situation"></el-input>-->
+<!--            </el-form-item>-->
+<!--        </el-col>-->
+<!--        <el-col :span="12">-->
+<!--            <el-form-item label="瀹夎璋冭瘯鎯呭喌">-->
+<!--                <el-input v-model="model.acceptance.installation"></el-input>-->
+<!--            </el-form-item>-->
+<!--        </el-col>-->
+<!--        <el-col :span="12">-->
+<!--            <el-form-item label="娓呭崟" prop="substanceId" required>-->
+<!--                <el-select v-model="model.acceptance.substanceId" placeholder="璇烽�夋嫨" style="width: 100%">-->
+<!--                    <el-option-->
+<!--                        v-for="item in options"-->
+<!--                        :key="item.value"-->
+<!--                        :label="item.name"-->
+<!--                        :value="item.id">-->
+<!--                    </el-option>-->
+<!--                </el-select>-->
+<!--            </el-form-item>-->
+<!--        </el-col>-->
+<!--        <el-col :span="12">-->
+<!--            <el-form-item label="鍒拌揣鏃ユ湡">-->
+<!--                <el-date-picker-->
+<!--                    v-model="model.acceptance.arriveDate"-->
+<!--                    align="right"-->
+<!--                    type="date"-->
+<!--                    placeholder="閫夋嫨鏃ユ湡"-->
+<!--                    style="width: 100%"-->
+<!--                    value-format="yyyy-MM-dd"-->
+<!--                >-->
+<!--                </el-date-picker>-->
+<!--            </el-form-item>-->
+<!--        </el-col>-->
+<!--        <el-col :span="12">-->
+<!--            <el-form-item label="缁翠慨鍗曚綅">-->
+<!--                <el-input v-model="model.acceptance.maintenanceUnit"></el-input>-->
+<!--            </el-form-item>-->
+<!--        </el-col>-->
+<!--        <el-col :span="24">-->
+<!--            <el-form-item label="澶囦欢纭">-->
+<!--                <el-button type="primary" style="float: right;" @click="addSpareTable">澧炲姞琛�</el-button>-->
+<!--            </el-form-item>-->
+<!--        </el-col>-->
+<!--        <el-col :span="24">-->
+<!--            <el-form-item>-->
+<!--                <ZTTable-->
+<!--                    style="margin-bottom: 20px;"-->
+<!--                    :column="spareColumns"-->
+<!--                    :table-data="model.list"-->
+<!--                >-->
+<!--                    <template slot="name" slot-scope="{ row, index }">-->
+<!--                        <el-input v-if="row.isEdit" size="small" v-model="row.name"></el-input>-->
+<!--                        <span v-else>{{ row.name }}</span>-->
+<!--                    </template>-->
+<!--                    <template slot="number" slot-scope="{ row, index }">-->
+<!--                        <el-input v-if="row.isEdit" size="small" v-model="row.number"></el-input>-->
+<!--                        <span v-else>{{ row.number }}</span>-->
+<!--                    </template>-->
+<!--                    <template slot="action" slot-scope="{ row, index }">-->
+<!--                        <div v-if="row.isEdit">-->
+<!--                            <el-button type="text" @click="save(index)">淇濆瓨</el-button>-->
+<!--                            <el-button type="text">鍙栨秷</el-button>-->
+<!--                        </div>-->
+<!--                        <div v-else>-->
+<!--                            <el-button type="text" @click="edit(index)">淇敼</el-button>-->
+<!--                        </div>-->
+<!--                    </template>-->
+<!--                </ZTTable>-->
+<!--            </el-form-item>-->
+<!--        </el-col>-->
+<!--    </el-card>-->
+<!--</template>-->
+
+<!--<script>-->
+<!--import ZTTable from '@/components/caorui/ZTTable/index.vue';-->
+<!--import { getStandardSubstanceAll } from "@/assets/api/api";-->
+<!--import axios from 'axios';-->
+
+<!--export default {-->
+<!--    components: {-->
+<!--        ZTTable-->
+<!--    },-->
+<!--    props: {-->
+<!--        model: {-->
+<!--            type: Object,-->
+<!--            default: () => {}-->
+<!--        }-->
+<!--    },-->
+<!--    data() {-->
+<!--        return {-->
+<!--            spareColumns: [-->
+<!--                {-->
+<!--                    label: "鍚嶇О",-->
+<!--                    prop: "name",-->
+<!--                    align: "center",-->
+<!--                    dataType: "slot",-->
+<!--                    slot: "name",-->
+<!--                }, {-->
+<!--                    label: "鏁伴噺",-->
+<!--                    prop: "number",-->
+<!--                    align: "center",-->
+<!--                    dataType: "slot",-->
+<!--                    slot: "number",-->
+<!--                }, {-->
+<!--                    label: "鎿嶄綔",-->
+<!--                    align: "center",-->
+<!--                    dataType: "slot",-->
+<!--                    slot: "action",-->
+<!--                    width: 150-->
+<!--                }-->
+<!--            ],-->
+<!--            options: []-->
+<!--        }-->
+<!--    },-->
+<!--    computed: {-->
+<!--        action() {-->
+<!--            return `${this.javaApi}/${this.$api.personnel.saveCNASFile}`-->
+<!--        }-->
+<!--    },-->
+<!--    mounted() {-->
+<!--        this.getStand()-->
+<!--    },-->
+<!--    methods: {-->
+<!--        async getStand() {-->
+<!--            const { code, data } = await axios({-->
+<!--                url: getStandardSubstanceAll,-->
+<!--                method: 'get'-->
+<!--            })-->
+<!--            this.options = data-->
+<!--        },-->
+<!--        addSpareTable() {-->
+<!--            this.model.list.push({-->
+<!--                acceptanceId: this.model.acceptance.id,-->
+<!--                name: '',-->
+<!--                number: '',-->
+<!--                isEdit: true-->
+<!--            })-->
+<!--        },-->
+<!--        onSuccess(response) {-->
+<!--            this.model.acceptance.file = response.data-->
+<!--            this.$emit('update:model', this.model)-->
+<!--        },-->
+<!--        save(index) {-->
+<!--            this.model.list[index].isEdit = false-->
+<!--            this.$emit('update:model', this.model)-->
+<!--        },-->
+<!--        edit(index) {-->
+<!--            this.model.list[index].isEdit = true-->
+<!--        }-->
+<!--    }-->
+<!--}-->
+<!--</script>-->
+
+<!--<style scoped>-->
+<!--.card {-->
+<!--    margin-top: 1em;-->
+<!--    height: 56vh;-->
+<!--    overflow-y: scroll;-->
+<!--}-->
+<!--.table-between {-->
+<!--    display: flex;-->
+<!--    justify-content: space-between;-->
+<!--}-->
+<!--</style>-->
diff --git a/src/views/CNAS/resourceDemand/standardMaterialAccept/index.vue b/src/views/CNAS/resourceDemand/standardMaterialAccept/index.vue
new file mode 100644
index 0000000..b6bb91f
--- /dev/null
+++ b/src/views/CNAS/resourceDemand/standardMaterialAccept/index.vue
@@ -0,0 +1,230 @@
+<template>
+  <div class="capacity-scope">
+    <div class="search">
+      <div>
+        <el-form :model="form" ref="form" size="small" :inline="true">
+          <el-form-item label="鐗╄川鍚嶇О">
+            <el-input v-model="form.search"></el-input>
+          </el-form-item>
+          <el-form-item>
+            <el-button @click="reset">閲� 缃�</el-button>
+            <el-button type="primary" @click="getTableData">鏌� 璇�</el-button>
+          </el-form-item>
+        </el-form>
+      </div>
+      <div>
+        <el-button icon="el-icon-plus" size="small" type="primary" @click="openDialog">娣诲姞楠屾敹</el-button>
+        <el-button size="small" type="primary" @click="exportExcel">瀵煎嚭</el-button>
+      </div>
+    </div>
+    <div class="table">
+      <lims-table :tableData="tableData" :column="columns" :height="'calc(100vh - 250px)'" @pagination="pagination"
+                  :page="page" :tableLoading="tableLoading"></lims-table>
+    </div>
+    <AddRecord ref="addRecordRef" @submit="submit"></AddRecord>
+  </div>
+
+<!--    <div class="tables">-->
+<!--      <ZTTable-->
+<!--        :column="columns"-->
+<!--        :table-data="tableData"-->
+<!--      >-->
+<!--        <template slot="action" slot-scope="{ row }">-->
+<!--          <el-button type="text" @click="edit(row)">缂栬緫</el-button>-->
+<!--        </template>-->
+<!--      </ZTTable>-->
+<!--      <div class="pagination">-->
+<!--        <div></div>-->
+<!--        <el-pagination-->
+<!--          :page-size="pagination.pageSize"-->
+<!--          :page-sizes="[10, 20, 30, 40]"-->
+<!--          :total="pagination.total"-->
+<!--          layout="total, sizes, prev, pager, next, jumper"-->
+<!--          @current-change="handleCurrent"-->
+<!--          @size-change="handleSize"-->
+<!--        >-->
+<!--        </el-pagination>-->
+<!--      </div>-->
+<!--    </div>-->
+<!--    <AddRecord ref="addRecordRef" @submit="submit"></AddRecord>-->
+</template>
+
+<script>
+// import axios from "axios";
+// import { getPageAcceptance, addAcceptance, updateAcceptance, getAcceptanceDetails, exportAcceptance } from "@/assets/api/api";
+// import ZTTable from '@/components/caorui/ZTTable/index.vue';
+// import AddRecord from './components/AddRecord.vue';
+
+import limsTable from '@/components/Table/lims-table.vue'
+import {
+  getPageAcceptance,
+  updateAcceptanc,
+  addAcceptance
+} from '@/api/cnas/resourceDemand/standardMaterialAccept/standardMaterialAccept'
+export default {
+  components: {
+    limsTable
+
+  },
+  data() {
+    return {
+      form: {
+        search: undefined
+      },
+      columns: [
+        {
+          label: "鍑哄満缂栧彿",
+          prop: "factoryNum"
+        },
+        {
+          label: "鏈夋晥鏈�",
+          prop: "effectiveDate"
+        },
+        {
+          label: "鐢熶骇鍘傚",
+          prop: "factoryManufacturer"
+        },
+        {
+          label: "鏂囨。缂栧彿",
+          prop: "fileNum"
+        },
+        {
+          label: "鏍囧噯鐗╄川鍚嶇О",
+          prop: "name"
+        },
+        {
+          label: "瑙勬牸鍨嬪彿",
+          prop: "model"
+        },
+        {
+          label: "绠$悊缂栧彿",
+          prop: "manageNum"
+        },
+        {
+          label: "瀛樻斁浣嶇疆",
+          prop: "position"
+        },
+        // {
+        //     label: "搴忓垪鍙�",
+        //     prop: "manageNum"
+        // },
+        {
+          label: "鎻愪氦鏃ユ湡",
+          prop: "acquisitionDate"
+        },
+        {
+          label: "鏁伴噺",
+          prop: "quantity"
+        },
+        {
+          fixed: "right",
+          label: "鎿嶄綔",
+          align: "center",
+          dataType: "slot",
+          slot: "action",
+        },
+      ],
+      tableData: [],
+      page: {
+        total: 0,
+        size: 10,
+        current: 1
+      },
+      tableLoading: false,
+    }
+  },
+  mounted() {
+    this.getTableData()
+  },
+  methods: {
+    async getTableData() {
+      const res = await  getPageAcceptance(this.form);
+      if(res.code === 200){
+        this.tableData = res.data.records;
+        this.page.total = res.data.total;
+      }
+
+    },
+    openDialog() {
+      this.$refs.addRecordRef.openDialog()
+    },
+    async submit(form) {
+
+      const {code} = await form.acceptance.id ? updateAcceptanc(this.form):addAcceptance((this.form));
+      if(code == 200) {
+        this.$message.success(`${form.acceptance.id ? '缂栬緫':'娣诲姞'}鎴愬姛`)
+        this.getTableData()
+      }
+    },
+    async edit(row) {
+      const res = await this.getDetail(row.id)
+      this.$refs.addRecordRef.openDialog({
+        acceptance: res.acceptance,
+        list: res.list
+      })
+    },
+    async getDetail(id) {
+      const { code, data } = await axios({
+        method: 'get',
+        url: getAcceptanceDetails,
+        params: { id }
+      })
+      if(code == 200) {
+        return data;
+      }
+    },
+    reset() {
+      this.form.search = undefined
+      this.getTableData()
+    },
+    async exportExcel() {
+      const res = await axios({
+        method: "get",
+        url: `${exportAcceptance}`,
+        responseType: "blob"
+      })
+      const blob = new Blob([res], {type: 'application/octet-stream'});
+      //灏咮lob 瀵硅薄杞崲鎴愬瓧绗︿覆
+      let reader = new FileReader();
+      reader.readAsText(blob, 'utf-8');
+      reader.onload = () => {
+        try {
+          let result = JSON.parse(reader.result);
+          if (result.message) {
+            this.$message.error(result.message);
+          } else {
+            const url = URL.createObjectURL(blob);
+            const link = document.createElement('a');
+            link.href = url;
+            link.download = '鏍囧噯鐗╄川楠屾敹.xlsx';
+            link.click();
+            this.$message.success('瀵煎嚭鎴愬姛')
+          }
+        } catch (err) {
+          console.log(err);
+          const url = URL.createObjectURL(blob);
+          const link = document.createElement('a');
+          link.href = url;
+          link.download = '鏍囧噯鐗╄川楠屾敹.xlsx';
+          link.click();
+          this.$message.success('瀵煎嚭鎴愬姛')
+        }
+      }
+    },
+
+    // 鍒嗛〉鍒囨崲
+    pagination(page) {
+      this.page.size = page.limit
+      this.getTableData()
+    },
+  }
+}
+</script>
+
+<style scoped>
+.search {
+  height: 46px;
+  display: flex;
+  justify-content: space-between;
+}
+</style>

--
Gitblit v1.9.3