<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'});
|
//将Blob 对象转换成字符串
|
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>
|