loulijun2021
2023-04-11 aae53f420a50b06095d25989da1e59d2deaaab87
src/views/deviceManager/maintainRecord.vue
@@ -87,8 +87,13 @@
      </div>
      <div class="elTableDiv">
        <TableColumnSettings
          :list1="tableColumnSettingsArray"
          @tableColumnUpdate="tableColumnUpdate"
        />
        <el-table
          ref="tableDataRef"
          :key="tableTimeStampKey"
          class="tableFixed"
          :data="tableData"
          :height="isExpandForm?tableHeight:(tableHeight+40)+'px'"
@@ -100,107 +105,40 @@
          :cell-style="this.$cellStyle"
          @sort-change="sortChange"
        >
          <el-table-column
            prop="RowNum"
            width="50"
            fixed
            label="序号"
          />
          <el-table-column
            prop="bywo"
            width="160"
            v-for="item in tableColumnSettingsArray"
            v-if="item.show"
            :key="item.id"
            :sortable="item.sortable"
            :prop="item.prop"
            :min-width="item.minWidth"
            :label="item.label"
            :width="item.width"
            show-tooltip-when-overflow
            label="保养单号"
            sortable="custom"
          />
          <el-table-column
            prop="org_name"
            label="生产车间"
            min-width="120"
            show-tooltip-when-overflow
            sortable="custom"
          />
          <el-table-column
            prop="eqp_code"
            label="设备编号"
            show-tooltip-when-overflow
            sortable="custom"
            min-width="120"
          />
          <el-table-column
            prop="eqp_name"
            min-width="120"
            label="设备名称"
            show-tooltip-when-overflow
            sortable="custom"
          />
          <el-table-column
            prop="stanedcode"
            label="保养标准编码"
            width="160"
            show-tooltip-when-overflow
            sortable="custom"
          />
          <el-table-column
            prop="stanedname"
            label="保养标准名称"
            width="160"
            show-tooltip-when-overflow
            sortable="custom"
          />
          <el-table-column
            prop="maint_cyc"
            label="保养周期"
            width="110"
            show-tooltip-when-overflow
            sortable="custom"
            :fixed="item.fixed?(item.fixed==='left'?'left':'right'):false"
          >
            <template slot-scope="{row}">
              <div v-if="row.maint_cyc==='M'">月</div>
            </template>
          </el-table-column>
          <el-table-column
            prop="maint_user"
            label="保养人员"
            width="160"
            show-tooltip-when-overflow
            sortable="custom"
          >
            <template slot-scope="{row}">
              <div v-if="row.maint_user">{{ row.maint_user }}</div>
              <div v-else>/</div>
            </template>
          </el-table-column>
          <el-table-column
            prop="maint_result"
            label="保养结果"
            width="160"
            show-tooltip-when-overflow
            sortable="custom"
          >
            <template slot-scope="{row}">
              <div v-if="row.maint_result==='OK'" style="display: flex;align-items: center">
                <!--                <div style="margin-right: 5px;width:10px;height: 10px;border-radius: 50%;background-color: #42b983" />-->
              <div v-if="!row[item.prop]">/</div>
              <div v-else-if="item.prop==='maint_cyc'">{{ cycleArr.find(i=>i.code===row[item.prop]).name }}</div>
              <div v-else-if="item.prop==='maint_result'">
                <div v-if="row[item.prop]==='OK'" style="display: flex;align-items: center">
                <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" />
                正常
              </div>
              <div v-if="row.maint_result==='NG'" style="display: flex;align-items: center">
                <!--                <div style="margin-right: 5px;width:10px;height: 10px;border-radius: 50%;background-color: red" />-->
                <div v-if="row[item.prop]==='NG'" style="display: flex;align-items: center">
                <i class="el-icon-info" style="margin-right: 2px" />
                异常
              </div>
              </div>
              <div v-else>{{ row[item.prop] }}</div>
            </template>
          </el-table-column>
          <el-table-column
            prop="maint_date"
            label="保养时间"
            show-tooltip-when-overflow
            width="160"
            sortable="custom"
          />
          <el-table-column
            label="查看记录"
            width="80"
            label="明细"
            width="120"
            fixed="right"
          >
            <template slot-scope="{row}">
@@ -321,11 +259,12 @@
import { ShopSearch } from '@/api/kanbanManager'
import elDragDialog from '@/directive/el-drag-dialog'
import waves from '@/directive/waves'
import TableColumnSettings from '@/components/TableColumnSettings'
export default {
  name: 'Zzjg',
  components: {
    Pagination, ImportPicker
    Pagination, ImportPicker, TableColumnSettings
  },
  directives: { elDragDialog, waves },
  data() {
@@ -348,12 +287,129 @@
        rows: 20 // 每页多少条
      },
      wkshopSelectArr: [],
      cycleArr: [
        { code: 'Y', name: '年' },
        { code: 'S', name: '季' },
        { code: 'M', name: '月' },
        { code: 'W', name: '周' }
      ],
      repairresultArr: [
        { code: 'OK', name: '合格' },
        { code: 'NG', name: '不良' }
      ],
      total: 10,
      tableData: [],
      tableColumnSettingsArray: [
        // { minWidth: false, width: 55, prop: 'id', label: 'id', id: 1, show: false, fixed: false, sortable: false }, // 隐藏列  show: false隐藏,true显示
        { minWidth: false, width: 55, prop: 'RowNum', label: '序号', id: 2, show: true, fixed: 'left', sortable: false }, // custom
        {
          minWidth: 110,
          width: false,
          prop: 'bywo',
          label: '保养单号',
          id: 3,
          show: true,
          fixed: false,
          sortable: true
        },
        {
          minWidth: false,
          width: 130,
          prop: 'org_code',
          label: '生产车间编码',
          id: 4,
          show: false,
          fixed: false,
          sortable: true
        },
        {
          minWidth: 110,
          width: false,
          prop: 'org_name',
          label: '生产车间',
          id: 5,
          show: true,
          fixed: false,
          sortable: true
        },
        {
          minWidth: 110,
          width: false,
          prop: 'eqp_code',
          label: '设备编码',
          id: 6,
          show: true,
          fixed: false,
          sortable: true
        },
        {
          minWidth: 110,
          width: false,
          prop: 'eqp_name',
          label: '设备名称',
          id: 7,
          show: true,
          fixed: false,
          sortable: true
        }, {
          minWidth: false,
          width: 130,
          prop: 'stanedcode',
          label: '保养标准编码',
          id: 8,
          show: true,
          fixed: false,
          sortable: true
        }, {
          minWidth: 130,
          width: false,
          prop: 'stanedname',
          label: '保养标准名称',
          id: 9,
          show: true,
          fixed: false,
          sortable: true
        },
        {
          minWidth: false,
          width: 110,
          prop: 'maint_cyc',
          label: '保养周期',
          id: 10,
          show: true,
          fixed: false,
          sortable: true
        }, {
          minWidth: false,
          width: 110,
          prop: 'maint_user',
          label: '保养人员',
          id: 10,
          show: true,
          fixed: false,
          sortable: true
        }, {
          minWidth: false,
          width: 110,
          prop: 'maint_result',
          label: '保养结果',
          id: 11,
          show: true,
          fixed: false,
          sortable: true
        },
        {
          minWidth: false,
          width: 160,
          prop: 'maint_date',
          label: '保养时间',
          id: 12,
          show: true,
          fixed: false,
          sortable: true
        }
      ],
      tableTimeStampKey: new Date().getTime(), // 表格key
      dialogVisible: false,
      // dialogForm: {
      //   OrgType: '',
@@ -394,6 +450,14 @@
    this.getHeight()
  },
  methods: {
    tableColumnUpdate(val, isCopyTrue) {
      if (isCopyTrue) {
        this.tableColumnSettingsArray = val
      }
      this.tableTimeStampKey = new Date().getTime()
      this.$refs.tableDataRef.doLayout()
    },
    handleRequest() {
      this.getDeviceRepairTakeSearch().then(res => {
        if (res.code === '200') {