schangxiang@126.com
2024-06-11 77485ab49cb6d2c1af8cf8a27158ecc14e2b001b
OP30工序质量信息添加各工位质量显示
已添加1个文件
已修改3个文件
455 ■■■■■ 文件已修改
iwara-scada-web/src/views/main/EquipmentBaseInfo/editForm.vue 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iwara-scada-web/src/views/main/EquipmentBaseInfo/equipmentLogForm.vue 375 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iwara-scada-web/src/views/main/EquipmentBaseInfo/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iwara-scada-web/src/views/main/QualityDataInfo/index.vue 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iwara-scada-web/src/views/main/EquipmentBaseInfo/editForm.vue
@@ -52,6 +52,14 @@
        <a-form-item label="设备制造商" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-input placeholder="请输入设备制造商" v-decorator="['equipmentManufacturer']" />
        </a-form-item>
        <a-form-item label="清洗液添加时间" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-date-picker
            style="width: 100%"
            placeholder="请选择清洗液添加时间"
            v-decorator="['detergentAddtime']"
            @change="onChangeDetergentAddtimeTime"
          />
        </a-form-item>
        <a-form-item label="清洗液更换时间" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-date-picker
            style="width: 100%"
@@ -76,7 +84,14 @@
            v-decorator="['detergentChangeCycle']"
          />
        </a-form-item> -->
        <a-form-item label="切削液添加时间" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-date-picker
            style="width: 100%"
            placeholder="切削液清洗液添加时间"
            v-decorator="['cuttingFluidAddTime']"
            @change="onChangeCuttingFluidAddTime"
          />
        </a-form-item>
        <a-form-item label="切削液更换时间" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-date-picker
            style="width: 100%"
@@ -136,7 +151,9 @@
      ProcessSelectData: [],
      record: {},
      detergentchangetimeDateString: '',
      detergentAddtimeString:'',
      cuttingFluidChangeTimeDateString: '',
      cuttingFluidAddTimeString: '',
      knifeToolChangeTimeDateString: '',
      visible: false,
      confirmLoading: false,
@@ -175,20 +192,22 @@
            record.detergentchangetime != null ? moment(record.detergentchangetime, 'YYYY-MM-DD') : '',
          cuttingFluidChangeTime:
            record.cuttingFluidChangeTime != null ? moment(record.cuttingFluidChangeTime, 'YYYY-MM-DD') : '',
            detergentAddtime:
            record.detergentAddtime != null ? moment(record.detergentAddtime, 'YYYY-MM-DD') : '',
            cuttingFluidAddTime:
            record.cuttingFluidAddTime != null ? moment(record.cuttingFluidAddTime, 'YYYY-MM-DD') : '',
          cuttingFluidChangeAlertThreshold: record.cuttingFluidChangeAlertThreshold,
          tactTime: record.tactTime
          // knifeToolChangeTime: record.knifeToolChangeTime != null ? moment(record.knifeToolChangeTime, 'YYYY-MM-DD') : ''
          // knifeToolChangeTime:moment(record.knifeToolChangeTime != null ? record.knifeToolChangeTime : "", 'YYYY-MM-DD'),
        })
        //触发事件
        this.onChangedetergentchangetime(null,record.detergentchangetime != null ? dateFormat(record.detergentchangetime, 'YYYY-mm-dd') : '');
        this.onChangecuttingFluidchangetime(null,record.cuttingFluidChangeTime != null ? dateFormat(record.cuttingFluidChangeTime, 'YYYY-mm-dd') : '');
        this.onChangeCuttingFluidAddTime(null,record.cuttingFluidAddTime != null ? dateFormat(record.cuttingFluidAddTime, 'YYYY-mm-dd') : '');
        this.onChangeDetergentAddtimeTime(null,record.detergentAddtime != null ? dateFormat(record.detergentAddtime, 'YYYY-mm-dd') : '');
      })
      // this.form.getFieldDecorator('detergentchangetime', { initialValue: moment(record.detergentchangetime, 'YYYY-MM-DD') })
      // this.detergentchangetimeDateString = moment(record.detergentchangetime).format('YYYY-MM-DD')
      // this.form.getFieldDecorator('knifeToolChangeTime', { initialValue: moment(record.knifeToolChangeTime, 'YYYY-MM-DD') })
      // this.knifeToolChangeTimeDateString = moment(record.knifeToolChangeTime).format('YYYY-MM-DD')
    },
    handleSubmit() {
      const {
@@ -207,8 +226,14 @@
            }
          }
          values.detergentchangetime = this.detergentchangetimeDateString
          this.record.detergentchangetime = this.detergentchangetimeDateString
          this.record.detergentchangetime = this.detergentAddtimeString
          this.record.detergentAddtime = this.detergentchangetimeDateString
          this.record.cuttingFluidChangeTime = this.cuttingFluidChangeTimeDateString
          this.record.cuttingFluidAddTime = this.cuttingFluidAddTimeString
          this.record.cuttingFluidAddTime = this.cuttingFluidAddTimeString
          this.record.detergentAddtime = this.detergentAddtimeString
          // values.knifeToolChangeTime = this.knifeToolChangeTimeDateString
          // this.record.knifeToolChangeTime = this.knifeToolChangeTimeDateString
          EquipmentBaseInfoEdit(this.record)
@@ -234,9 +259,16 @@
      //debugger
      this.detergentchangetimeDateString = dateString
    },
    onChangeDetergentAddtimeTime(date, dateString) {
      //debugger
      this.detergentAddtimeString = dateString
    },
    onChangecuttingFluidchangetime(date, dateString) {
      this.cuttingFluidChangeTimeDateString = dateString
    },
    onChangeCuttingFluidAddTime(date, dateString) {
      this.cuttingFluidAddTimeString = dateString
    },
    onChangeknifeToolChangeTime(date, dateString) {
      this.knifeToolChangeTimeDateString = dateString
@@ -246,7 +278,9 @@
      this.record.detergentchangetime = ''
      this.record.cuttingFluidChangeTime = ''
      this.detergentchangetimeDateString = ''
      this.detergentAddtimeString = ''
      this.cuttingFluidChangeTimeDateString = ''
      this.cuttingFluidAddTimeString = ''
      this.visible = false
    }
  }
iwara-scada-web/src/views/main/EquipmentBaseInfo/equipmentLogForm.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,375 @@
<template>
  <a-modal
    title="设备操作历史表"
    :width="1200"
    :hight="1200"
    :visible="visible"
    :confirmLoading="confirmLoading"
    @ok="handleSubmit"
    @cancel="handleCancel"
  >
    <x-card :bordered="false">
      <div slot="content" class="table-page-search-wrapper">
        <a-form :label-col="labelCol" :wrapper-col="wrapperCol">
          <s-table
        ref="table"
        :columns="columns"
        :rowKey="(record) => record.id"
      </s-table>
          <a-row :gutter="gutter">
            <a-col :md="colMd" :sm="colSm">
              <a-form-item label="工序">
                <a-select allow-clear style="width: 100%" v-model="queryParam.WorkingProcedure" placeholder="请选择">
                  <a-select-option v-for="(item,index) in ProcessSelectData" :key="index" :value="item.code">
                    {{ item.name }}
                  </a-select-option>
                </a-select>
              </a-form-item>
            </a-col>
            <!-- <a-col :md="colMd" :sm="colSm">
              <a-form-item label="设备名称">
                <a-select
                  show-search
                  option-filter-prop="children"
                  :filter-option="filterOption"
                  :allowClear="true"
                  style="width: 100%"
                  v-model="queryParam.EquipmentID"
                  placeholder="请选择">
                  <a-select-option v-for="(item, index) in equitypeData" :key="index" :value="item.equipmentId">{{
                    item.equipmentName }}</a-select-option>
                </a-select>
              </a-form-item>
            </a-col> -->
            <a-col :md="colMd" :sm="colSm">
              <a-form-item label="设备型号">
                <a-input v-model="queryParam.equipmentModel" allow-clear placeholder="请输入设备型号"/>
              </a-form-item>
            </a-col>
            <a-col :md="colMd" :sm="colSm" >
              <span class="table-page-search-submitButtons">
                <a-button type="primary" @click="$refs.table.refresh(true)" >查询</a-button>
                <a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button>
              </span>
            </a-col>
          </a-row>
        </a-form>
      </div>
    </x-card>
    <a-card :bordered="false">
    </a-card>
  </a-modal>
</template>
<script>
import { STable,XCard } from '@/components'
import moment from 'moment'
import { EquipmentBaseInfoEdit } from '@/api/modular/main/EquipmentBaseInfoManage'
import {
    EquipmentBaseInfoPage,
    EquipmentBaseInfoToExcel,
    EquipmentBaseInfoDelete,
    EquipmentBaseInfoSelectDelete,
    getEquipmentName } from '@/api/modular/main/EquipmentBaseInfoManage'
import { dateFormat } from '@/utils/util'
export default {
  components: {
      STable,
      XCard
    },
  data() {
    return {
      Id: 0,
      labelCol: {
        xs: { span: 24 },
        sm: { span: 5 }
      },
      wrapperCol: {
        xs: { span: 24 },
        sm: { span: 15 }
      },
      queryParam:{
      },
      ProcessSelectData: [],
      record: {},
      detergentchangetimeDateString: '',
      detergentAddtimeString:'',
      cuttingFluidChangeTimeDateString: '',
      cuttingFluidAddTimeString: '',
      knifeToolChangeTimeDateString: '',
      visible: false,
      confirmLoading: false,
      form: this.$form.createForm(this),
       // è®¾å¤‡ä¸‹æ‹‰æ¡†æ•°æ®
       equitypeData: [],
      gutter: 36,
      colMd: 6,
      colSm: 18,
      labelCol: {
        xs: { span: 24 },
        sm: { span: 8 }
      },
      wrapperCol: {
        xs: { span: 24 },
        sm: { span: 15 }
      },
      columns: [
          {
            title: '序号',
            width: '50px',
            dataIndex: 'index',
            key: 'index',
            align: 'center',
            customRender: (text, record, index) => `${index + 1}`
          },
          {
            title: '工序',
            align: 'center',
            sorter: true,
            dataIndex: 'workingProcedure'
          },
          {
            title: '设备编号',
            align: 'center',
            sorter: true,
            dataIndex: 'equipmentId'
          },
          {
            title: '设备名称',
            align: 'center',
            dataIndex: 'equipmentName'
          },
          {
            title: '机床数控系统型号',
            align: 'center',
            dataIndex: 'equipmentModel'
          },
          {
            title: '产品数据信息',
            align: 'center',
            // sorter: true,
            dataIndex: 'equipmentFunction'
          },
          {
            title: '清洗液更换时间',
            align: 'center',
            sorter: true,
            dataIndex: 'detergentchangetime'
          },
          {
            title: '清洗液更换预警阈值',
            align: 'center',
            sorter: true,
            dataIndex: 'detergentChangeAlertThreshold'
          },
          // {
          //   title: '清洗液更换周期',
          //   align: 'center',
          //   sorter: true,
          //   dataIndex: 'detergentChangeCycle'
          // },
          {
            title: '切削液更换时间',
            align: 'center',
            sorter: true,
            dataIndex: 'cuttingFluidChangeTime'
          },
          {
            title: '切削液更换预警阈值',
            align: 'center',
            sorter: true,
            dataIndex: 'cuttingFluidChangeAlertThreshold'
          },
          {
            title: ' è®¡åˆ’节拍',
            align: 'center',
            sorter: true,
            dataIndex: 'tactTime',
            customRender: (text, record, index) => `${text}s`
          },
          {
            title: 'IP地址',
            align: 'center',
            // sorter: true,
            dataIndex: 'equipmentIP'
          },
          {
            title: '设备制造商',
            align: 'center',
            // sorter: true,
            dataIndex: 'equipmentManufacturer'
          },
          {
            title: '创建时间',
            align: 'center',
            sorter: true,
            dataIndex: 'createdTime',
            scopedSlots: {
              customRender: 'time'
            }
          }
        ],
        tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' },
        // åŠ è½½æ•°æ®æ–¹æ³• å¿…须为 Promise å¯¹è±¡
        loadData: parameter => {
          return EquipmentBaseInfoPage(Object.assign(parameter, this.switchingDate())).then((res) => {
            return res.data
          })
        },
    }
  },
  created() {
    this.ProcessSelectData = this.$options.filters['dictData']('process_type')
  },
  methods: {
    moment,
    // åˆå§‹åŒ–方法
    edit(record) {
      this.getEquipmentName();
      console.log(record)
      this.visible = true
      // this.Id = record.id
      this.$nextTick(() => {})
      // æ·±åº¦æ‹·è´ ç§»é™¤VUE的监听,防止INDEX页面值变动
      //this.record = JSON.parse(JSON.stringify(record))
      this.$nextTick(() => {
        // this.form.setFieldsValue({
        //   id: record.id,
        //   equipmentId: record.equipmentId,
        //   equipmentName: record.equipmentName,
        //   workingProcedure: record.workingProcedure,
        //   equipmentModel: record.equipmentModel,
        //   equipmentIP: record.equipmentIP,
        //   equipmentFunction: record.equipmentFunction,
        //   equipmentBrand: record.equipmentBrand,
        //   equipmentManufacturer: record.equipmentManufacturer,
        //   detergentChangeAlertThreshold: record.detergentChangeAlertThreshold,
        //   detergentChangeCycle: record.detergentChangeCycle,
        //   // knifeToolChangeAlertThreshold: record.knifeToolChangeAlertThreshold,
        //   remarks: record.remarks,
        //   detergentchangetime:
        //     record.detergentchangetime != null ? moment(record.detergentchangetime, 'YYYY-MM-DD') : '',
        //   cuttingFluidChangeTime:
        //     record.cuttingFluidChangeTime != null ? moment(record.cuttingFluidChangeTime, 'YYYY-MM-DD') : '',
        //     detergentAddtime:
        //     record.detergentAddtime != null ? moment(record.detergentAddtime, 'YYYY-MM-DD') : '',
        //     cuttingFluidAddTime:
        //     record.cuttingFluidAddTime != null ? moment(record.cuttingFluidAddTime, 'YYYY-MM-DD') : '',
        //   cuttingFluidChangeAlertThreshold: record.cuttingFluidChangeAlertThreshold,
        //   tactTime: record.tactTime
        // })
        // //触发事件
        // this.onChangedetergentchangetime(null,record.detergentchangetime != null ? dateFormat(record.detergentchangetime, 'YYYY-mm-dd') : '');
        // this.onChangecuttingFluidchangetime(null,record.cuttingFluidChangeTime != null ? dateFormat(record.cuttingFluidChangeTime, 'YYYY-mm-dd') : '');
        // this.onChangeCuttingFluidAddTime(null,record.cuttingFluidAddTime != null ? dateFormat(record.cuttingFluidAddTime, 'YYYY-mm-dd') : '');
        // this.onChangeDetergentAddtimeTime(null,record.detergentAddtime != null ? dateFormat(record.detergentAddtime, 'YYYY-mm-dd') : '');
      })
    },
     // è®¾å¤‡æŸ¥è¯¢æ¡†ç­›é€‰
     filterOption(input, option) {
        return (
        option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
      )
      },
    getEquipmentName() {
        // èŽ·å–è®¾å¤‡åç§°
        getEquipmentName().then(res => {
          this.equitypeData = res.data
        })
      },
    handleSubmit() {
      const {
        form: { validateFields }
      } = this
      this.confirmLoading = true
      validateFields((errors, values) => {
        if (!errors) {
          for (const key in values) {
            if (values[key] == null) continue
            if (typeof values[key] === 'object') {
              values[key] = JSON.stringify(values[key])
              this.record[key] = values[key]
            } else {
              this.record[key] = values[key]
            }
          }
          values.detergentchangetime = this.detergentchangetimeDateString
          this.record.detergentchangetime = this.detergentAddtimeString
          this.record.detergentAddtime = this.detergentchangetimeDateString
          this.record.cuttingFluidChangeTime = this.cuttingFluidChangeTimeDateString
          this.record.cuttingFluidAddTime = this.cuttingFluidAddTimeString
          this.record.cuttingFluidAddTime = this.cuttingFluidAddTimeString
          this.record.detergentAddtime = this.detergentAddtimeString
          // values.knifeToolChangeTime = this.knifeToolChangeTimeDateString
          // this.record.knifeToolChangeTime = this.knifeToolChangeTimeDateString
          EquipmentBaseInfoEdit(this.record)
            .then(res => {
              if (res.success) {
                this.$message.success('编辑成功')
                this.confirmLoading = false
                this.$emit('ok', this.record)
                this.handleCancel()
              } else {
                this.$message.error('编辑失败:' + JSON.stringify(res.message))
              }
            })
            .finally(res => {
              this.confirmLoading = false
            })
        } else {
          this.confirmLoading = false
        }
      })
    },
    onChangedetergentchangetime(date, dateString) {
      //debugger
      this.detergentchangetimeDateString = dateString
    },
    onChangeDetergentAddtimeTime(date, dateString) {
      //debugger
      this.detergentAddtimeString = dateString
    },
    onChangecuttingFluidchangetime(date, dateString) {
      this.cuttingFluidChangeTimeDateString = dateString
    },
    onChangeCuttingFluidAddTime(date, dateString) {
      this.cuttingFluidAddTimeString = dateString
    },
    onChangeknifeToolChangeTime(date, dateString) {
      this.knifeToolChangeTimeDateString = dateString
    },
    handleCancel() {
      this.form.resetFields()
      this.record.detergentchangetime = ''
      this.record.cuttingFluidChangeTime = ''
      this.detergentchangetimeDateString = ''
      this.detergentAddtimeString = ''
      this.cuttingFluidChangeTimeDateString = ''
      this.cuttingFluidAddTimeString = ''
      this.visible = false
    }
  }
}
</script>
<style lang="less">
  .table-operator {
    margin-bottom: 18px;
  }
  button {
    margin-right: 8px;
  }
</style>
iwara-scada-web/src/views/main/EquipmentBaseInfo/index.vue
@@ -62,6 +62,7 @@
          <a-button :disabled="btnDisabled" type="primary" v-if="hasPerm('EquipmentBaseInfo:add')" icon="plus" @click="EquipmentBaseInfoSelectDelete(selectedRows)">批量删除选中项</a-button>
          <a-button type="primary" v-if="hasPerm('EquipmentBaseInfo:add')" icon="plus" @click="$refs.addForm.add()">新建</a-button>
          <a-button style="margin-left: 8px" type="info" icon="download" @click=" EquipmentBaseInfoToExcel()">导出Excel</a-button>
          <a-button style="margin-left: 8px" type="info" icon="download" @click="$refs.equipmentLogForm.edit()">查看历史</a-button>
        </template>
        <span slot="action" slot-scope="text, record">
          <a v-if="hasPerm('EquipmentBaseInfo:edit')" @click="$refs.editForm.edit(record)">编辑</a>
@@ -73,6 +74,7 @@
      </s-table>
      <add-form ref="addForm" @ok="handleOk" />
      <edit-form ref="editForm" @ok="handleOk" />
      <equipmentLog-form ref="equipmentLogForm" @ok="handleOk" />
    </a-card>
  </div>
</template>
@@ -89,12 +91,14 @@
  import addForm from './addForm.vue'
  import editForm from './editForm.vue'
  import equipmentLogForm from './equipmentLogForm.vue'
  export default {
    components: {
      STable,
      XCard,
      addForm,
      editForm
      editForm,
      equipmentLogForm
    },
    data () {
      return {
iwara-scada-web/src/views/main/QualityDataInfo/index.vue
@@ -222,6 +222,30 @@
        ],
        EOP30: [
          {
          title: 'CH3质量',
          align: 'center',
          sorter: true,
          dataIndex: 'oP30QualityStateCH3Name'
          },
          {
          title: 'CH4质量',
          align: 'center',
          sorter: true,
          dataIndex: 'oP30QualityStateCH4Name'
          },
          {
          title: 'CH5质量',
          align: 'center',
          sorter: true,
          dataIndex: 'oP30QualityStateCH5Name'
          },
          {
          title: 'CH6质量',
          align: 'center',
          sorter: true,
          dataIndex: 'oP30QualityStateCH6Name'
          },
          {
            title: '涨断力矩',
            align: 'center',
            sorter: true,