| | |
| | | <template> |
| | | <div class="ledger-main"> |
| | | <div class="page-header-search"> |
| | | <div class="search-bar"> |
| | | <el-form ref="form" :inline="true" :model="searchData"> |
| | | <el-form-item> |
| | | <el-input v-model="searchData.keyword" placeholder="请输入编号/设备名称/型号规格"> |
| | | <i slot="prefix" class="el-input__icon el-icon-search" /> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" @click="filterTableData">查询</el-button> |
| | | <el-button type="primary" plain @click="resetBtn">重置</el-button> |
| | | <!-- <el-button type="text">高级搜索<i class="el-icon-arrow-down el-icon--right" /></el-button> --> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <div class="serve-btn"> |
| | | <el-button type="primary" icon="el-icon-plus" |
| | | @click="addDrawerVisible = true; equipmentform.equipmentMeasurement = 1; equipmentform.whetherDataAcquisition = 1">新增仪器</el-button> |
| | | @click="showAddDrawer()">新增仪器</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="content-main"> |
| | |
| | | <div class="library-table"> |
| | | <div class="table-header"> |
| | | <div class="search-bar"> |
| | | <el-radio-group v-model="radioValue" @change="getConditionTable"> |
| | | <!-- <el-radio-button label="0">全部</el-radio-button> --> |
| | | <el-radio-button v-for="item in conditionsOptions" :key="item.value" :label="item.value"> |
| | | {{ item.label }} |
| | | </el-radio-button> |
| | | </el-radio-group> |
| | | <el-checkbox v-model="isOut" @change="getExpireTable" :style="{ 'marginLeft': '12px' }">已过期</el-checkbox> |
| | | </div> |
| | | <div class="serve-btn"> |
| | | <!-- <el-button type="primary" icon="el-icon-plus">新增人员</el-button> --> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="15"> |
| | | <el-form ref="form" :inline="true" :model="searchData"> |
| | | <el-form-item> |
| | | <el-input v-model="searchData.keyword" placeholder="请输入编号/设备名称/型号规格"> |
| | | <i slot="prefix" class="el-input__icon el-icon-search" /> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" @click="filterTableData">查询</el-button> |
| | | <el-button type="primary" plain @click="resetBtn">重置</el-button> |
| | | <!-- <el-button type="text">高级搜索<i class="el-icon-arrow-down el-icon--right" /></el-button> --> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-col> |
| | | <el-col :span="9"> |
| | | <el-radio-group v-model="radioValue" @change="getConditionTable"> |
| | | <!-- <el-radio-button label="0">全部</el-radio-button> --> |
| | | <el-radio-button v-for="item in conditionsOptions" :key="item.value" :label="item.value"> |
| | | {{ item.label }} |
| | | </el-radio-button> |
| | | </el-radio-group> |
| | | <el-checkbox v-model="isOut" @change="getExpireTable" :style="{ 'marginLeft': '12px' }">已过期</el-checkbox> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </div> |
| | | <div class="table-box"> |
| | |
| | | <el-form label-position="top" ref="addmeasureForm" :model="measureForm"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="负责人" prop="userId" :rules="[{ required: true, message: '请选择负责人', trigger: 'blur' }]"> |
| | | <el-form-item label="负责人" prop="userId" :rules="[{ required: true, message: '请选择负责人', trigger: 'change' }]"> |
| | | <el-select v-model="measureForm.userId" clearable filterable :allow-create="true" placeholder="负责人" |
| | | style="width:100%"> |
| | | <el-option v-for="item in userOpetions" :key="item.id" :label="item.label" :value="item.value" /> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="结果" prop="result" :rules="[{ required: true, message: '请选择结果', trigger: 'blur' }]"> |
| | | <el-form-item label="结果" prop="result" :rules="[{ required: true, message: '请选择结果', trigger: 'change' }]"> |
| | | <el-select v-model="measureForm.result" clearable filterable :allow-create="true" placeholder="请选择结果" |
| | | style="width:100%"> |
| | | <el-option v-for="item in resultOptions" :key="item.id" :label="item.label" :value="item.value" /> |
| | |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="24"> |
| | | <el-form-item label=""> |
| | | <el-form-item label="" prop="file"> |
| | | <el-upload ref="upload" class="upload-demo" action="#" :on-change="handleUpload" :auto-upload="false"> |
| | | <el-button size="small" type="primary">点击上传</el-button> |
| | | </el-upload> |
| | |
| | | result: null, |
| | | performanceIndex: null, |
| | | remarks: null, |
| | | file: null |
| | | file: "" |
| | | }, |
| | | activeTabsName: 'codePoints', |
| | | // 码点表格的状态:数据展示false/新增输入true |
| | |
| | | }, |
| | | measureFormVisible(newVal){ |
| | | if(newVal === false){ |
| | | this.measureForm.file = null; |
| | | this.$refs['upload'].clearFiles(); |
| | | this.resetForm("addmeasureForm"); |
| | | } |
| | | } |
| | | }, |
| | |
| | | this.getUserOptions() |
| | | }, |
| | | methods: { |
| | | //显示新增仪器模态框 |
| | | showAddDrawer(){ |
| | | this.addDrawerVisible = true; |
| | | this.equipmentform = { |
| | | acceptanceDate: '', // 验收日期 |
| | | arrivalDate: '', // 到货日期 |
| | | classifyId: '', // 所属分类 |
| | | conditions: '', // 状态 |
| | | descriptiveness: '', // 描述 |
| | | equipmentCode: '', // 设备编号 |
| | | equipmentMeasurement: 1, // 仪器设备计量 |
| | | equipmentName: '', // 仪器设备名称 |
| | | errorRate: '', // 不确定度/准确度/最大允许误差 |
| | | userId: '', // 保管人 |
| | | manufacturer: '', // 生产厂家 |
| | | measuringRange: '', // 测量范围 |
| | | specificationsModels: '', // 型号规格 |
| | | storagePlace: '', // 存放地点 |
| | | whetherDataAcquisition: 1 // 是否支持数采 |
| | | } |
| | | }, |
| | | // 获取分类数据 |
| | | async getThreeData() { |
| | | const { data } = await getClassifyList() |
| | |
| | | this.addDrawerVisible = false |
| | | }, |
| | | resetForm(formName) { |
| | | this.measureForm = { |
| | | userId: null, |
| | | measurementUnit: null, |
| | | date: null, |
| | | uncertainty: null, |
| | | result: null, |
| | | performanceIndex: null, |
| | | remarks: null, |
| | | file: "" |
| | | } |
| | | this.$refs[formName].resetFields(); |
| | | }, |
| | | cancelAddMeasure() { |
| | | this.$refs['upload'].clearFiles(); |
| | | this.measureForm.file = null; |
| | | this.measureFormVisible = false |
| | | this.resetForm('addmeasureForm') |
| | | this.resetForm('addmeasureForm'); |
| | | }, |
| | | // 添加计量信息 |
| | | async addMeasure() { |
| | | let v = this.submitForm('addmeasureForm') |
| | | console.log(v); |
| | | if (!v) { |
| | | return |
| | | } |
| | | // 格式化时间 |
| | | this.measureForm.instrumentId = this.equipmentDetail.id |
| | | if (Array.isArray(this.measureForm.date)) { |
| | | this.measureForm.beginDate = parseTime(this.measureForm.date[0], '{y}-{m}-{d}') |
| | | this.measureForm.endDate = parseTime(this.measureForm.date[1], '{y}-{m}-{d}') |
| | | } |
| | | console.log(this.measureForm) |
| | | const formData = new FormData() |
| | | formData.append('file', this.measureForm.file?.raw, this.measureForm.file?.name) |
| | | console.log(this.measureForm) |
| | | for (const key in this.measureForm) { |
| | | console.log(key) |
| | | // if (key === 'file') return |
| | | formData.append(key, this.measureForm[key]) |
| | | } |
| | | console.log(formData) |
| | | try { |
| | | const { data } = await addMetricalInformation(formData) |
| | | console.log(data) |
| | | this.$message.success('添加成功') |
| | | const { data: informationList } = await getMetricalInformationList({ InstrumentId: this.equipmentDetail.id }) |
| | | this.measureTable = informationList |
| | | this.measureForm = {} |
| | | this.measureFormVisible = false |
| | | } catch (error) { |
| | | this.$message.error('添加失败') |
| | | } |
| | | this.measureForm.file = null; |
| | | this.$refs['upload'].clearFiles(); |
| | | this.$refs['addmeasureForm'].validate(async(valid)=>{ |
| | | if(valid){ |
| | | // 格式化时间 |
| | | this.measureForm.instrumentId = this.equipmentDetail.id |
| | | if (Array.isArray(this.measureForm.date)) { |
| | | this.measureForm.beginDate = parseTime(this.measureForm.date[0], '{y}-{m}-{d}') |
| | | this.measureForm.endDate = parseTime(this.measureForm.date[1], '{y}-{m}-{d}') |
| | | } |
| | | console.log(this.measureForm) |
| | | const formData = new FormData() |
| | | if(this.measureForm.file == null || this.measureForm.file == ""){ |
| | | this.$message.warning("请选择要上传的文件!"); |
| | | return; |
| | | }else{ |
| | | formData.append('file', this.measureForm.file?.raw, this.measureForm.file?.name) |
| | | } |
| | | console.log(this.measureForm) |
| | | for (const key in this.measureForm) { |
| | | console.log(key) |
| | | // if (key === 'file') return |
| | | formData.append(key, this.measureForm[key]) |
| | | } |
| | | console.log(formData) |
| | | try { |
| | | const { data } = await addMetricalInformation(formData) |
| | | console.log(data) |
| | | this.$message.success('添加成功') |
| | | const { data: informationList } = await getMetricalInformationList({ InstrumentId: this.equipmentDetail.id }) |
| | | this.measureTable = informationList |
| | | this.measureForm = {} |
| | | this.measureFormVisible = false |
| | | } catch (error) { |
| | | this.$message.error('添加失败') |
| | | } |
| | | this.measureForm.file = null; |
| | | this.$refs['upload'].clearFiles(); |
| | | }else{ |
| | | console.log(32); |
| | | } |
| | | }); |
| | | }, |
| | | // 关闭设备详情抽屉 |
| | | closeDetailDrawer() { |
| | |
| | | }, |
| | | // 文件上传 |
| | | handleUpload(file, fileList) { |
| | | // console.log(file, fileList) |
| | | console.log(file, fileList) |
| | | this.measureForm.file = file |
| | | }, |
| | | // 根据输入的设备编号,设备名称或者型号规格关键字进行过滤列表 |
| | |
| | | background: #ecf5ff !important; |
| | | border-color: #b3d8ff !important; |
| | | } |
| | | |
| | | .el-form { |
| | | .el-form-item { |
| | | margin-bottom: 0px !important; |
| | | |
| | | .el-input { |
| | | width: 360px; |
| | | width: 500px; |
| | | } |
| | | } |
| | | } |