| | |
| | | </el-form> |
| | | </div> |
| | | <div class="serve-btn"> |
| | | <el-button type="primary" icon="el-icon-plus" @click="addDrawerVisible = true">新增仪器</el-button> |
| | | <el-button type="primary" icon="el-icon-plus" |
| | | @click="addDrawerVisible = true; equipmentform.equipmentMeasurement = 1; equipmentform.whetherDataAcquisition = 1">新增仪器</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="content-main"> |
| | |
| | | <el-form-item prop="name" label="分类名称" label-width="100px" :rules="[ |
| | | { required: true, message: '分类名称不能为空' } |
| | | ]"> |
| | | <el-input v-model="addTreeForm.name" |
| | | /> |
| | | <el-input placeholder="请填写分类名称" v-model="addTreeForm.name" /> |
| | | </el-form-item> |
| | | <el-form-item label="父级分类" label-width="100px"> |
| | | <el-select style="width: 100%;" v-model="addTreeForm.type" placeholder="请选择"> |
| | | <el-option label="原材料" value="0" /> |
| | | <el-option label="电线电缆" value="1" /> |
| | | </el-select> |
| | | <el-cascader v-model="addTreeForm.type" :options="addTreeFormClassTree" style="width: 374.88px;" |
| | | :show-all-levels="false" /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | |
| | | <div class="message"> |
| | | <div class="message-item"><span><i class="el-icon-edit" />所属分类:{{ equipmentDetail.classifyId }}</span></div> |
| | | <div class="message-item"> |
| | | <span><i class="el-icon-edit" />创建人:{{ equipmentDetail.createUserId }}</span> |
| | | <el-tag type="primary"><i class="el-icon-info" :style="{ marginRight: '4px', color: '#409EFF' }" /></el-tag> |
| | | <span><i class="el-icon-user" />创建人:{{ equipmentDetail.createUserId }}</span> |
| | | <!-- <el-tag type="primary"><i class="el-icon-info" :style="{ marginRight: '4px', color: '#409EFF' }" /></el-tag> --> |
| | | </div> |
| | | <div class="message-item"> |
| | | <span><i class="el-icon-edit" />建档日期:{{ equipmentDetail.acceptanceDate }}</span> |
| | |
| | | <el-input v-show="codePointesTableStatus" v-model="scope.row.unit" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="name" label="更新人" min-width="100" /> |
| | | <el-table-column prop="updateTime" label="更新日期" min-width="120" /> |
| | | <!-- <el-table-column prop="name" label="更新人" min-width="100" /> |
| | | <el-table-column prop="updateTime" label="更新日期" min-width="120" /> --> |
| | | <el-table-column prop="descriptiveness" label="描述" min-width="200"> |
| | | <template slot-scope="scope"> |
| | | <span v-show="!codePointesTableStatus">{{ scope.row.descriptiveness }}</span> |
| | |
| | | <el-drawer ref="addDrawer" :title="equipmentDetail.id ? '修改仪器设备信息' : '新增仪器设备'" :append-to-body="true" |
| | | :visible.sync="addDrawerVisible" class="addDrawer" size="40%" @close="closeAddOrChangeDrawer"> |
| | | <div class="demo-drawer__content"> |
| | | <el-form label-position="top" :model="equipmentform"> |
| | | <el-form label-position="top" ref="addNewEquipment" :model="equipmentform"> |
| | | <el-row :gutter="50"> |
| | | <el-col :span="11"> |
| | | <el-form-item label="所属分类:" label-width="80"> |
| | | <el-form-item label="所属分类:" prop="classifyId" label-width="80" :rules="[ |
| | | { required: true, message: '请选择所属分类', trigger: 'change' } |
| | | ]"> |
| | | <el-cascader v-model="equipmentform.classifyId" :options="classTree" :show-all-levels="false" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="11"> |
| | | <el-form-item label="设备编号:" label-width="80"> |
| | | <el-input v-model="equipmentform.equipmentCode" autocomplete="off" /> |
| | | <el-form-item label="设备编号:" prop="equipmentCode" |
| | | :rules="[{ required: true, message: '请填写设备编号', trigger: 'blur' }]" label-width="80"> |
| | | <el-input v-model="equipmentform.equipmentCode" placeholder="请填写设备编号" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="50"> |
| | | <el-col :span="11"> |
| | | <el-form-item label="仪器设备名称:" label-width="80"> |
| | | <el-input v-model="equipmentform.equipmentName" autocomplete="off" /> |
| | | <el-form-item label="仪器设备名称:" prop="equipmentName" |
| | | :rules="[{ required: true, message: '请填写仪器设备名称', trigger: 'blur' }]" label-width="80"> |
| | | <el-input v-model="equipmentform.equipmentName" placeholder="请填写仪器设备名称" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="11"> |
| | | <el-form-item label="状态:" label-width="80"> |
| | | <el-form-item label="状态:" prop="conditions" |
| | | :rules="[{ required: true, message: '请选择仪器设备状态', trigger: 'change' }]" label-width="80"> |
| | | <el-select v-model="equipmentform.conditions" clearable filterable :allow-create="true" |
| | | placeholder="请选择仪器设备状态" style="width:100%"> |
| | | <el-option v-for="item in conditionsOptions" :key="item.value" :label="item.label" |
| | |
| | | </el-row> |
| | | <el-row :gutter="50"> |
| | | <el-col :span="11"> |
| | | <el-form-item label="型号规格:" label-width="80"> |
| | | <el-input v-model="equipmentform.specificationsModels" autocomplete="off" /> |
| | | <el-form-item label="型号规格:" prop="specificationsModels" |
| | | :rules="[{ required: true, message: '请填写型号规格', trigger: 'blur' }]" label-width="80"> |
| | | <el-input v-model="equipmentform.specificationsModels" placeholder="请填写型号规格" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="11"> |
| | | <el-form-item label="测量范围:" label-width="80"> |
| | | <el-input v-model="equipmentform.measuringRange" autocomplete="off" /> |
| | | <el-input v-model="equipmentform.measuringRange" placeholder="请填写测量范围" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="50"> |
| | | <el-col :span="11"> |
| | | <el-form-item label="不确定度/准确度/最大允许误差:" label-width="80"> |
| | | <el-input v-model="equipmentform.errorRate" autocomplete="off" /> |
| | | <el-input v-model="equipmentform.errorRate" placeholder="请填写不确定度/准确度/最大允许误差" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="11"> |
| | | <el-form-item label="生产厂家:" label-width="80"> |
| | | <el-input v-model="equipmentform.manufacturer" autocomplete="off" /> |
| | | <el-input v-model="equipmentform.manufacturer" placeholder="请填写生产厂家" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="50"> |
| | | <el-col :span="11"> |
| | | <el-form-item label="存放地点:" label-width="80"> |
| | | <el-input v-model="equipmentform.storagePlace" autocomplete="off" /> |
| | | <el-input v-model="equipmentform.storagePlace" placeholder="请填写存放地点" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="11"> |
| | |
| | | <el-row v-show="equipmentform.equipmentMeasurement === 1" :gutter="50"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="计量截止有效期:" label-width="80"> |
| | | <el-input v-model="equipmentform.termValidity" type="number" /> |
| | | <el-input v-model="equipmentform.termValidity" placeholder="请填写计量有效期" type="number" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | </el-row> |
| | | </el-form> |
| | | <div class="demo-drawer__footer"> |
| | | <el-button class="el-button--default" @click="addDrawerVisible = false">取 消</el-button> |
| | | <el-button class="el-button--default" @click="cancelAddEq">取 消</el-button> |
| | | <el-button type="primary" class="el-button--primary el-button--medium" @click="addNewEquipment">确 定</el-button> |
| | | </div> |
| | | </div> |
| | | </el-drawer> |
| | | <!-- 新增计量信息弹窗 --> |
| | | <el-dialog class="measureForm" title="新增计量" :visible.sync="measureFormVisible"> |
| | | <el-form label-position="top" :model="measureForm"> |
| | | <el-form label-position="top" ref="addmeasureForm" :model="measureForm"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="负责人"> |
| | | <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="计量单位"> |
| | | <el-input v-model="measureForm.measurementUnit" /> |
| | | <el-form-item label="计量单位" prop="measurementUnit" |
| | | :rules="[{ required: true, message: '请填写计量单位', trigger: 'blur' }]"> |
| | | <el-input placeholder="请填写计量单位" v-model="measureForm.measurementUnit" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="检定有效期"> |
| | | <el-form-item label="检定有效期" prop="date" :rules="[{ required: true, message: '请选择检定有效期', trigger: 'change' }]"> |
| | | <el-date-picker v-model="measureForm.date" type="daterange" range-separator="至" start-placeholder="开始日期" |
| | | end-placeholder="结束日期" /> |
| | | </el-form-item> |
| | |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="不确定度"> |
| | | <el-input v-model="measureForm.uncertainty" /> |
| | | <el-form-item label="不确定度" prop="uncertainty" |
| | | :rules="[{ required: true, message: '请填写不确定度', trigger: 'blur' }]"> |
| | | <el-input placeholder="请填写不确定度" v-model="measureForm.uncertainty" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="结果"> |
| | | <el-select v-model="measureForm.result" clearable filterable :allow-create="true" placeholder="负责人" |
| | | <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-select> |
| | |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="addMeasure">确 定</el-button> |
| | | |
| | | <el-button @click="measureFormVisible = false">取 消</el-button> |
| | | <el-button @click="cancelAddMeasure">取 消</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <!-- 删除仪器弹出框 --> |
| | |
| | | getClassifyList, getInstrumentList, |
| | | addInstrumentUser, addInstrument, getInstrumentDetail, |
| | | getEquipmentPointList, addEquipmentPoint, |
| | | getMetricalInformationList, changeInstrument, addMetricalInformation, deleteInstrument |
| | | getMetricalInformationList, changeInstrument, addMetricalInformation, deleteInstrument, addClassify |
| | | } from '@/api/laboratory/ledger' |
| | | import { parseTime } from '@/utils/index' |
| | | export default { |
| | |
| | | // 分类tree数据,分类配置项 |
| | | classTree: [], |
| | | // 添加分类参数 |
| | | addTreeForm: {}, |
| | | addTreeForm: { |
| | | name: null, |
| | | type: null |
| | | }, |
| | | // tree默认值 |
| | | defaultProps: { |
| | | children: 'children', |
| | |
| | | // 码点表格 |
| | | codePointsTable: [ |
| | | { |
| | | 'unit': 'mm', |
| | | 'descriptiveness': '疯了,做不了', |
| | | 'equipmentPoint': 'Area-1', |
| | | 'name': '小小', |
| | | 'updateTime': '2023-07-24', |
| | | 'unit': '', |
| | | 'descriptiveness': '', |
| | | 'equipmentPoint': '', |
| | | 'name': '', |
| | | 'updateTime': '', |
| | | 'id': 1, |
| | | 'equipmentPointName': '导体屏蔽(壁厚面积)' |
| | | 'equipmentPointName': '' |
| | | } |
| | | ], |
| | | // 计量信息表 |
| | | measureTable: [], |
| | | // 添加计量信息参数对象 |
| | | measureForm: {}, |
| | | measureForm: { |
| | | userId: null, |
| | | measurementUnit: null, |
| | | date: null, |
| | | uncertainty: null, |
| | | result: null, |
| | | performanceIndex: null, |
| | | remarks: null, |
| | | file: null |
| | | }, |
| | | activeTabsName: 'codePoints', |
| | | // 码点表格的状态:数据展示false/新增输入true |
| | | codePointesTableStatus: false, |
| | |
| | | conditionTable: '', |
| | | nodeclicked: '', |
| | | expireData: '', |
| | | instrumentId: '' |
| | | instrumentId: '', |
| | | addTreeFormClassTree: [] |
| | | } |
| | | }, |
| | | watch: { |
| | |
| | | } |
| | | return { ...item, label: item.father_name, value: item.id ? item.id : item.father_name } |
| | | }) |
| | | // console.log(this.classTree) |
| | | this.addTreeFormClassTree = JSON.parse(JSON.stringify(this.classTree)) |
| | | let father = { |
| | | children: null, |
| | | father_name: "无", |
| | | id: 0, |
| | | label: "无", |
| | | value: 0 |
| | | } |
| | | this.addTreeFormClassTree.unshift(father) |
| | | this.addTreeFormClassTree.forEach(item => { |
| | | item.children = null |
| | | }) |
| | | }, |
| | | // 获取用户信息配置项 |
| | | async getUserOptions() { |
| | |
| | | async getEquipmentTable(ages) { |
| | | // console.log('条件对象', ages) |
| | | const { data } = await getInstrumentList(ages) |
| | | console.log(data) |
| | | this.equipmentTable = data.row |
| | | this.total = data.total |
| | | this.oldtableData = this.equipmentTable |
| | |
| | | this.codePointsTable = [] |
| | | } |
| | | const newObj = {} |
| | | newObj.name = '小小' // 当前用户的名称 |
| | | newObj.updateTime = '2023-07-24' // 获取当前时间 |
| | | newObj.equipmentPoint = 'Area-1' |
| | | newObj.equipmentPointName = '导体屏蔽(壁厚面积)' |
| | | newObj.name = '' // 当前用户的名称 |
| | | newObj.updateTime = '' // 获取当前时间 |
| | | newObj.equipmentPoint = '' |
| | | newObj.equipmentPointName = '' |
| | | newObj.descriptiveness = '' |
| | | newObj.unit = 'mm' |
| | | newObj.unit = '' |
| | | newObj.instrumentId = this.equipmentDetail.id |
| | | this.codePointsTable.push(newObj) |
| | | }, |
| | |
| | | const { data: pointList } = await getEquipmentPointList({ InstrumentId: this.equipmentDetail.id }) |
| | | this.codePointsTable = pointList |
| | | }, |
| | | async submitForm(formName) { |
| | | this.$refs[formName].validate((valid) => { |
| | | if (valid) { |
| | | return true |
| | | } else { |
| | | return false; |
| | | } |
| | | }); |
| | | }, |
| | | // 点击新增仪器设备或当存在仪器详情时是修改仪器设备信息 |
| | | async addNewEquipment() { |
| | | let v = this.submitForm('addNewEquipment') |
| | | if (!v) { |
| | | return |
| | | } |
| | | if (Array.isArray(this.equipmentform.classifyId)) { |
| | | this.equipmentform.classifyId = this.equipmentform.classifyId.pop() |
| | | } |
| | | if (!this.equipmentDetail.id) { |
| | | // 格式化日期 |
| | | console.log('新增仪器') |
| | | this.equipmentform.arrivalDate = parseTime(this.equipmentform.arrivalDate, '{y}-{m}-{d}') |
| | | this.equipmentform.acceptanceDate = parseTime(this.equipmentform.acceptanceDate, '{y}-{m}-{d}') |
| | | // this.equipmentform.termValidity = parseTime(this.equipmentform?.termValidity, '{y}-{m}-{d}') |
| | | console.log('新增仪器设备参数', this.equipmentform) |
| | | try { |
| | | const res = await addInstrument(this.equipmentform) |
| | | console.log(res) |
| | |
| | | console.log('修改仪器参数', this.equipmentform) |
| | | try { |
| | | const res = await changeInstrument(this.equipmentform) |
| | | console.log(res) |
| | | this.$message.success('修改成功') |
| | | this.addDrawerVisible = false |
| | | this.detailDrawer = false |
| | |
| | | this.$message.error('添加失败') |
| | | } |
| | | }, |
| | | cancelAddEq() { |
| | | this.addDrawerVisible = false |
| | | // this.resetForm('addNewEquipment') |
| | | }, |
| | | resetForm(formName) { |
| | | this.$refs[formName].resetFields(); |
| | | }, |
| | | cancelAddMeasure() { |
| | | this.measureFormVisible = false |
| | | 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)) { |
| | |
| | | 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.deletedialogVisible = true |
| | | }, |
| | | async deleteInstrument() { |
| | | // console.log(row.id) |
| | | await deleteInstrument({ instrumentId: this.instrumentId }) |
| | | let up = await deleteInstrument({ instrumentId: this.instrumentId }) |
| | | if (up.data) { |
| | | this.$message({ |
| | | message: '操作成功!', |
| | | type: 'success' |
| | | }); |
| | | let d = this.nodeclicked |
| | | this.nodeClickHandler(d); |
| | | } |
| | | this.deletedialogVisible = false |
| | | }, |
| | | submitTreeForm(formName) { |
| | | async submitTreeForm(formName) { |
| | | let _that = this |
| | | this.$refs[formName].validate((valid) => { |
| | | if (valid) { |
| | | alert('submit!'); |
| | | _that.addClassifyInfo() |
| | | } else { |
| | | console.log('error submit!!'); |
| | | return false; |
| | | } |
| | | }); |
| | | }, |
| | | async addClassifyInfo() { |
| | | let _that = this |
| | | let data = { |
| | | fatherName: null, |
| | | sonName: null |
| | | } |
| | | if (_that.addTreeForm.type != null && _that.addTreeForm.type[0] != 0) { |
| | | data.fatherName = _that.addTreeForm.type[0] |
| | | data.sonName = _that.addTreeForm.name |
| | | } else { |
| | | data.fatherName = _that.addTreeForm.name |
| | | } |
| | | let add = await addClassify(data); |
| | | switch (add.message.split('-$')[0]) { |
| | | case '1': |
| | | this.$message({ |
| | | message: '操作成功!', |
| | | type: 'success' |
| | | }); |
| | | _that.getThreeData() |
| | | _that.resetTreeForm('addTreeForm') |
| | | break; |
| | | case '2': |
| | | this.$message({ |
| | | message: '已存在该分类', |
| | | type: 'warning' |
| | | }); |
| | | break; |
| | | case '0': |
| | | this.$message.error('添加失败!请联系管理员'); |
| | | break; |
| | | } |
| | | |
| | | }, |
| | | resetTreeForm(formName) { |
| | | this.$refs[formName].resetFields(); |
| | | this.addClassVisible=false |
| | | this.addClassVisible = false |
| | | } |
| | | } |
| | | } |