From 77485ab49cb6d2c1af8cf8a27158ecc14e2b001b Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周二, 11 6月 2024 11:06:56 +0800
Subject: [PATCH] OP30工序质量信息添加各工位质量显示

---
 iwara-scada-web/src/views/main/EquipmentBaseInfo/editForm.vue         |   50 +++++-
 iwara-scada-web/src/views/main/QualityDataInfo/index.vue              |   24 +++
 iwara-scada-web/src/views/main/EquipmentBaseInfo/index.vue            |    6 
 iwara-scada-web/src/views/main/EquipmentBaseInfo/equipmentLogForm.vue |  375 ++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 446 insertions(+), 9 deletions(-)

diff --git a/iwara-scada-web/src/views/main/EquipmentBaseInfo/editForm.vue b/iwara-scada-web/src/views/main/EquipmentBaseInfo/editForm.vue
index 1a91468..1ed08dd 100644
--- a/iwara-scada-web/src/views/main/EquipmentBaseInfo/editForm.vue
+++ b/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
     }
   }
diff --git a/iwara-scada-web/src/views/main/EquipmentBaseInfo/equipmentLogForm.vue b/iwara-scada-web/src/views/main/EquipmentBaseInfo/equipmentLogForm.vue
new file mode 100644
index 0000000..3a452c5
--- /dev/null
+++ b/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>
\ No newline at end of file
diff --git a/iwara-scada-web/src/views/main/EquipmentBaseInfo/index.vue b/iwara-scada-web/src/views/main/EquipmentBaseInfo/index.vue
index f28e2e5..942435c 100644
--- a/iwara-scada-web/src/views/main/EquipmentBaseInfo/index.vue
+++ b/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 {
diff --git a/iwara-scada-web/src/views/main/QualityDataInfo/index.vue b/iwara-scada-web/src/views/main/QualityDataInfo/index.vue
index cc3f9bd..bf6bc96 100644
--- a/iwara-scada-web/src/views/main/QualityDataInfo/index.vue
+++ b/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,

--
Gitblit v1.9.3