licp
2024-08-20 6f30bbf4f118d3357d1e6e503aa986227e2cc6ea
src/components/do/a6-device/maintenance.vue
@@ -1,13 +1,238 @@
<template>
  <div>设备维护</div>
  <div>
    <div class="search">
      <div class="search_thing">
        <div class="search_label">关键字:</div>
        <div class="search_input"><el-input size="small" placeholder="请输入" clearable
            v-model="value" @keyup.enter.native="refreshTable()"></el-input></div>
      </div>
      <div class="search_thing" style="padding-left: 30px;">
        <el-button size="small" type="primary" @click="refreshTable()">查 询</el-button>
      </div>
      <div class="btns">
        <el-button size="small" type="primary" @click="dialogVisible=true">新建</el-button>
        <el-button size="small" type="primary">导出</el-button>
      </div>
    </div>
    <div class="tables" style="margin-top: 16px;">
      <ValueTable ref="ValueTable"
            :url="$api.auxiliaryWorkingHoursDay.selectAuxiliaryWorkingHoursDay"
            :delUrl="$api.auxiliaryWorkingHoursDay.deleteAuxiliaryWorkingHoursDay" :componentData="componentData" :key="upIndex"/>
    </div>
    <el-dialog
      title="仪器设备维护记录表"
      :visible.sync="dialogVisible"
      width="30%"
      style="max-height: 80vh;margin-top: 10vh;"
      :close-on-click-modal="false"
      :close-on-press-escape="false">
      <div class="form">
        <div class="search_thing">
          <div class="search_label">设备编号:</div>
          <div class="search_input"><el-input size="small" placeholder="请输入" clearable
              v-model="value"></el-input></div>
        </div>
        <div class="search_thing">
          <div class="search_label">设备名称:</div>
          <div class="search_input"><el-input size="small" placeholder="请输入" clearable
              v-model="value"></el-input></div>
        </div>
        <div class="search_thing">
          <div class="search_label">统一编号:</div>
          <div class="search_input"><el-input size="small" placeholder="请输入" clearable
              v-model="value"></el-input></div>
        </div>
        <div class="search_thing" style="margin: 10px 0;">
          <div class="search_label">维护内容:</div>
          <div class="search_input"><el-input size="small" placeholder="请输入" clearable
              v-model="value" type="textarea"
              :rows="2"></el-input></div>
        </div>
        <div class="search_thing">
          <div class="search_label">维护时间:</div>
          <div class="search_input">
            <el-date-picker style="width:100%" v-model="value" type="date"
              format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="选择日期">
            </el-date-picker>
          </div>
        </div>
        <div class="search_thing">
          <div class="search_label">维护类型:</div>
          <div class="search_input">
            <el-radio-group v-model="value">
              <el-radio :label="0">使用前后维护</el-radio>
              <el-radio :label="1">计划中维护</el-radio>
            </el-radio-group>
          </div>
        </div>
        <div class="search_thing">
          <div class="search_label">下次维护时间:</div>
          <div class="search_input">
            <el-date-picker style="width:100%" v-model="value" type="date"
              format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="选择日期">
            </el-date-picker>
          </div>
        </div>
        <div class="search_thing">
          <div class="search_label">维护人:</div>
          <div class="search_input"><el-input size="small" placeholder="请输入" clearable
              v-model="value"></el-input></div>
        </div>
        <div class="search_thing" style="margin: 10px 0;">
          <div class="search_label">备注:</div>
          <div class="search_input"><el-input size="small" placeholder="请输入" clearable
              v-model="value" type="textarea"
              :rows="2"></el-input></div>
        </div>
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button @click="dialogVisible = false">取 消</el-button>
        <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
      </span>
    </el-dialog>
  </div>
</template>
<script>
import ValueTable from '../../tool/value-table.vue'
export default {
  components: {
    ValueTable
  },
  data(){
    return {
      value:'',
      componentData: {
        entity: {
          week: null,
          weekDay: null,
          dateTime: null,
          name:null,
          orderBy: {
            field: 'id',
            order: 'desc'
          }
        },
        isIndex: true,
        showSelect: false,
        select: false,
        do: [{
          id: 'handleLook',
          font: '查看',
          type: 'text',
          method: 'handleLook'
        },{
          id: 'delete',
          font: '删除',
          type: 'text',
          method: 'doDiy',
          disabFun: (row, index) => {
            return row.state === '已审核' || row.state === '已批准'
          }
        }],
        tagField: {
          shift:{
            select:[]
          },
          state:{
            select:[
              {
                label:'已提交',
                value:'已提交',
                type:'primary'
              },
              {
                label:'已审核',
                value:'已审核',
                type:'warning'
              },
              {
                label:'已批准',
                value:'已批准',
                type:'success'
              },
            ]
          },
          weekDay:{
            select:[]
          }
        },
        linkEvent: {},
        selectField: {
          shift:{
            select:[]
          },
          state:{
            select:[
              {
                label:'已提交',
                value:'已提交',
                type:'primary'
              },
              {
                label:'已审核',
                value:'已审核',
                type:'warning'
              },
              {
                label:'已批准',
                value:'已批准',
                type:'success'
              },
            ]
          },
          weekDay:{
            select:[]
          }
        },
        requiredAdd: [],
        requiredUp: []
         },
      upIndex:0,
      dialogVisible:true
    }
  },
  methods:{
    refreshTable(){}
  }
}
</script>
<style scoped>
.tables{
  width: calc(100vw - 390px);
  height: calc(100vh - 230px);
}
.search {
  background-color: #fff;
  height: 40px;
  display: flex;
  align-items: center;
  position: relative;
}
.search_thing {
  display: flex;
  align-items: center;
  height: 40px;
}
.search_label {
  width: 70px;
  font-size: 14px;
  text-align: right;
}
.search_input {
  width: calc(100% - 120px);
}
.btns{
  position: absolute;
  right: 40px;
  top: 50%;
  transform: translate(0,-50%);
}
.form .search_label{
  width: 120px;
}
</style>