value
2023-09-05 9b26870265cbbc75bcd32529e46b229a49ec30a0
src/views/laboratory/ledger/index.vue
@@ -25,7 +25,7 @@
        <div class="bom-item-search">
          <el-row>
            <el-col :span="19">
              <el-input v-model="filterText" placeholder="输入关键字进行过滤" />
              <el-input v-model="filterText" clearable placeholder="输入关键字进行过滤" />
            </el-col>
            <el-col :span="5">
              <el-button type="primary" size="small" @click="addClassVisible = true"><i
@@ -33,7 +33,7 @@
            </el-col>
          </el-row>
        </div>
        <el-tree ref="classTree" :data="classTree" :props="defaultProps" :default-expand-all="true"
        <el-tree highlight-current="true" ref="classTree" :data="classTree" :props="defaultProps" :default-expand-all="true"
          :filter-node-method="filterNode" @node-click="nodeClickHandler" />
      </div>
      <div class="library-table">
@@ -52,8 +52,8 @@
          </div>
        </div>
        <div class="table-box">
          <el-table ref="equipmentTable" node-key="father_name" :cell-style="{ textAlign: 'center' }"
            :header-cell-style="{ border: '0px', background: '#f5f7fa', color: '#606266', boxShadow: 'inset 0 1px 0 #ebeef5', textAlign: 'center' }"
          <el-table ref="equipmentTable" node-key="father_name" :cell-style="{ textAlign: 'left' }"
            :header-cell-style="{ border: '0px', background: '#f5f7fa', color: '#606266', boxShadow: 'inset 0 1px 0 #ebeef5', textAlign: 'left' }"
            :data="equipmentTable" style="width: 100%;">
            <el-table-column type="index" label="序号" min-width="90" />
            <el-table-column prop="equipment_code" label="仪器设备编号" min-width="200" />
@@ -63,8 +63,11 @@
            <el-table-column prop="termValidity" label="计量截止有效期" min-width="200" />
            <el-table-column prop="conditions" label="设备状态" min-width="120">
              <template slot-scope="scope">
                <el-tag :type="scope.row.conditions === 0 ? 'primary' : 'success'" disable-transitions>{{
                  scope.row.conditions | conditionsFilter }}</el-tag>
                <el-tag v-if="scope.row.conditions === 1" type="success" disable-transitions>运行</el-tag>
                <el-tag v-if="scope.row.conditions === 2" type="danger" disable-transitions>故障</el-tag>
                <el-tag v-if="scope.row.conditions === 3" type="warning" disable-transitions>报修</el-tag>
                <el-tag v-if="scope.row.conditions === 4" type="warning" disable-transitions>检修</el-tag>
                <el-tag v-if="scope.row.conditions === 5" disable-transitions>待机</el-tag>
              </template>
            </el-table-column>
            <el-table-column prop="storage_place" label="存放地" min-width="200" />
@@ -151,7 +154,7 @@
              <span><i class="el-icon-edit" />验收日期:{{ equipmentDetail.acceptanceDate }}</span>
            </div>
            <div class="message-item">
              <span><i class="el-icon-edit" />保管人:{{ equipmentDetail.userId }}</span>
              <span><i class="el-icon-edit" />保管人:{{ equipmentDetail.userName }}</span>
            </div>
            <div class="message-item">
              <span><i class="el-icon-edit" />是否支持数采:{{ equipmentDetail.whetherDataAcquisition == 1 ? '支持' : '不支持'
@@ -247,7 +250,7 @@
          <el-row :gutter="50">
            <el-col :span="11">
              <el-form-item label="所属分类:" prop="classifyId" label-width="80" :rules="[
                { required: true, message: '请选择所属分类', trigger: 'change' }
                { required: true, message: '请选择所属分类', trigger: 'blur' }
              ]">
                <el-cascader style="width: 100%;" v-model="equipmentform.classifyId" :options="classTree" :show-all-levels="false" />
              </el-form-item>
@@ -268,7 +271,7 @@
            </el-col>
            <el-col :span="11">
              <el-form-item label="状态:" prop="conditions"
                :rules="[{ required: true, message: '请选择仪器设备状态', trigger: 'change' }]" label-width="80">
                :rules="[{ required: true, message: '请选择仪器设备状态', trigger: 'blur' }]" 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"
@@ -310,7 +313,7 @@
            </el-col>
            <el-col :span="11">
              <el-form-item label="到货日期:" label-width="80">
                <el-date-picker v-model="equipmentform.arrivalDate" type="date" placeholder="请选择到货日期"
                <el-date-picker value-format="yyyy-MM-dd" v-model="equipmentform.arrivalDate" type="date" placeholder="请选择到货日期"
                  style="width:100%" />
              </el-form-item>
            </el-col>
@@ -318,7 +321,7 @@
          <el-row :gutter="50">
            <el-col :span="11">
              <el-form-item label="验收日期:" label-width="80">
                <el-date-picker v-model="equipmentform.acceptanceDate" type="date" placeholder="请选择验收日期"
                <el-date-picker  value-format="yyyy-MM-dd" v-model="equipmentform.acceptanceDate" type="date" placeholder="请选择验收日期"
                  style="width:100%" />
              </el-form-item>
            </el-col>
@@ -348,7 +351,7 @@
          <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" placeholder="请填写计量有效期" type="number" />
                <el-input min="0" v-model="equipmentform.termValidity" placeholder="请填写计量有效期" type="number" />
              </el-form-item>
            </el-col>
          </el-row>
@@ -372,7 +375,7 @@
      <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: 'change' }]">
            <el-form-item label="负责人" prop="userId" :rules="[{ required: true, message: '请选择负责人', trigger: 'blur' }]">
              <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" />
@@ -388,7 +391,7 @@
        </el-row>
        <el-row :gutter="20">
          <el-col :span="24">
            <el-form-item label="检定有效期" prop="date" :rules="[{ required: true, message: '请选择检定有效期', trigger: 'change' }]">
            <el-form-item label="检定有效期" prop="date" :rules="[{ required: true, message: '请选择检定有效期', trigger: 'blur' }]">
              <el-date-picker v-model="measureForm.date" type="daterange" range-separator="至" start-placeholder="开始日期"
                end-placeholder="结束日期" />
            </el-form-item>
@@ -402,7 +405,7 @@
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="结果" prop="result" :rules="[{ required: true, message: '请选择结果', trigger: 'change' }]">
            <el-form-item label="结果" prop="result" :rules="[{ required: true, message: '请选择结果', trigger: 'blur' }]">
              <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" />
@@ -427,7 +430,7 @@
        <el-row :gutter="20">
          <el-col :span="24">
            <el-form-item label="">
              <el-upload class="upload-demo" action="#" :on-change="handleUpload" :auto-upload="false">
              <el-upload ref="upload" class="upload-demo" action="#" :on-change="handleUpload" :auto-upload="false">
                <el-button size="small" type="primary">点击上传</el-button>
              </el-upload>
            </el-form-item>
@@ -460,29 +463,7 @@
} from '@/api/laboratory/ledger'
import { parseTime } from '@/utils/index'
export default {
  filters: {
    conditionsFilter(value) {
      let returnValue = null
      switch (+value) {
        case 1:
          returnValue = '运行'
          break
        case 2:
          returnValue = '故障'
          break
        case 3:
          returnValue = '报修'
          break
        case 4:
          returnValue = '检修'
          break
        case 5:
          returnValue = '待机'
          break
      }
      return returnValue
    }
  },
  filters: {},
  data() {
    return {
      // 用户下拉框配置项
@@ -627,6 +608,12 @@
  watch: {
    filterText(val) {
      this.$refs.classTree.filter(val)
    },
    measureFormVisible(newVal){
      if(newVal === false){
        this.measureForm.file = null;
        this.$refs['upload'].clearFiles();
      }
    }
  },
  created() {
@@ -681,7 +668,7 @@
    // 节点点击处理
    nodeClickHandler(data, node, element) {
      this.nodeclicked = data
      // console.log(data)
      console.log(data)
      // 只有数据中携带id才能发送查询请求
      if (data.id) {
        this.getEquipmentTable({ classifyId: data.id, pageSize: this.pageSize, pageNo: this.currentPage, whetherWhether: this.isOut })
@@ -786,6 +773,8 @@
          this.$message.error('添加失败')
        }
        this.$message.success('添加成功')
        let d = this.nodeclicked;
        this.nodeClickHandler(d);
        this.addDrawerVisible = false
        this.equipmentform = {}
        return
@@ -794,6 +783,8 @@
      try {
        const res = await changeInstrument(this.equipmentform)
        this.$message.success('修改成功')
        let d = this.nodeclicked;
        this.nodeClickHandler(d);
        this.addDrawerVisible = false
        this.detailDrawer = false
      } catch (error) {
@@ -801,13 +792,15 @@
      }
    },
    cancelAddEq() {
      this.resetForm('addDrawer')
      this.addDrawerVisible = false
      // this.resetForm('addNewEquipment')
    },
    resetForm(formName) {
      this.$refs[formName].resetFields();
    },
    cancelAddMeasure() {
      this.$refs['upload'].clearFiles();
      this.measureForm.file = null;
      this.measureFormVisible = false
      this.resetForm('addmeasureForm')
    },
@@ -845,12 +838,16 @@
      } catch (error) {
        this.$message.error('添加失败')
      }
      this.measureForm.file = null;
      this.$refs['upload'].clearFiles();
    },
    // 关闭设备详情抽屉
    closeDetailDrawer() {
      this.equipmentDetail = {}
      this.codePointsTable = []
      this.measureTable = []
      this.measureForm.file = null;
      this.$refs['upload'].clearFiles();
    },
    // 关闭添加修改设备抽屉
    closeAddOrChangeDrawer() {
@@ -946,15 +943,13 @@
      this.deletedialogVisible = true
    },
    async deleteInstrument() {
      let up = await deleteInstrument({ instrumentId: this.instrumentId })
      if (up.data) {
        this.$message({
          message: '操作成功!',
          type: 'success'
        });
      await deleteInstrument({ instrumentId: this.instrumentId }).then(res=>{
        this.$message.success('删除成功!');
        let d = this.nodeclicked
        this.nodeClickHandler(d);
      }
      }).catch(()=>{
        this.$message.error('删除失败!');
      });
      this.deletedialogVisible = false
    },
    async submitTreeForm(formName) {