From 08f65f89cecdcfb24a67e87e6a75e1cf3db3521a Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期一, 25 九月 2023 18:41:44 +0800
Subject: [PATCH] 1.工序报工10%

---
 src/views/produce/stepReport.vue |  395 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 389 insertions(+), 6 deletions(-)

diff --git a/src/views/produce/stepReport.vue b/src/views/produce/stepReport.vue
index 42bbb50..054e9dc 100644
--- a/src/views/produce/stepReport.vue
+++ b/src/views/produce/stepReport.vue
@@ -1,11 +1,394 @@
-<template />
+<template>
+  <div>
+    <div class="body" style="padding-top: 10px;" :style="{height:mainHeight+'px'}">
+      <el-tabs
+        ref="elTabs"
+        v-model="activeName"
+        type="border-card"
+        @tab-click="tabClick"
+      >
+        <el-tab-pane
+          v-for="item in elTabsArr"
+          :key="item.code"
+          :label="item.name"
+          :name="item.name"
+        >
+          <div class="bodyTopFormGroup">
+            <el-form
+              ref="form"
+              :model="form"
+              label-width="100px"
+              inline
+              style="display: flex;"
+            >
+              <div class="elForm">
+
+                <el-form-item label="宸ュ崟鍙�" style=" display: flex;">
+                  <el-input
+                    v-model="form.wocode"
+                    :name="'produceCode'+item.code"
+                    placeholder="璇锋壂鎻忔垨杈撳叆"
+                    style="width: 300px"
+                    @keyup.enter.native="val=>enterNative(val,'produceCode' + item.code)"
+                  />
+                </el-form-item>
+                <el-form-item label="浜у搧缂栫爜" style=" display: flex;">
+                  <el-input v-model="form.partcode" placeholder="璇疯緭鍏�" style="width: 200px" />
+                </el-form-item>
+                <el-form-item label="浜у搧鍚嶇О" style=" display: flex;">
+                  <el-input v-model="form.partname" placeholder="璇疯緭鍏�" style="width: 200px" />
+                </el-form-item>
+                <el-form-item label="瑙勬牸鍨嬪彿" style=" display: flex;">
+                  <el-input v-model="form.partspec" placeholder="璇疯緭鍏�" style="width: 200px" />
+                </el-form-item>
+
+              </div>
+              <div
+                class="bodySearchReset"
+                :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}"
+              >
+                <el-button v-waves type="primary" icon="el-icon-search" @click="">鏌ヨ</el-button>
+                <el-button v-waves type="info" icon="el-icon-refresh" @click="">閲嶇疆</el-button>
+              </div>
+            </el-form>
+            <div
+              class="bodyTopFormExpand"
+              style="height:5px"
+            >
+              <!--          <svg-icon-->
+              <!--            v-show="mouseHoverType==='mouseout'"-->
+              <!--            style="cursor: pointer"-->
+              <!--            :icon-class="!isExpandForm?'doubleDown3':'doubleUp3'"-->
+              <!--            @mouseenter="mouseHoverType=$event.type"-->
+              <!--          />-->
+              <!--          <svg-icon-->
+              <!--            v-show="mouseHoverType==='mouseenter'"-->
+              <!--            style="cursor: pointer"-->
+              <!--            :icon-class="!isExpandForm?'doubleDown':'doubleUp'"-->
+              <!--            @click="isExpandForm=!isExpandForm"-->
+              <!--            @mouseout="mouseHoverType=$event.type"-->
+              <!--          />-->
+            </div>
+          </div>
+
+          <div class="elTableDiv">
+            <el-table
+              ref="tableDataRef"
+              :key="'tableDataRef'+item.code"
+              class="tableFixed"
+              :data="tableData"
+              :height="tableHeight+50"
+              border
+              row-class-name="custom-row"
+              :style="{width: 100+'%',height:tableHeight+'px'}"
+              highlight-current-row
+              :header-cell-style="headerCellStyle()"
+              :cell-style="cellStyle()"
+              @sort-change="sortChange"
+            >
+              <el-table-column
+                prop="RowNum"
+                width="50"
+                label="搴忓彿"
+                fixed
+              />
+              <el-table-column
+                prop="status"
+                show-tooltip-when-overflow
+                label="鐘舵��"
+                sortable="custom"
+                width="80"
+              >
+                <template slot-scope="{row}">
+                  <div v-if="row.status==='NEW'">鏂拌鍗�</div>
+                  <div v-if="row.status==='ALLO'">宸叉淳鍙�</div>
+                  <div v-if="row.status==='START'">寮�宸�</div>
+                  <div v-if="row.status==='CLOSED'">瀹屽伐</div>
+                  <div v-if="row.status==='NOSCHED'">寰呮帓绋�</div>
+                  <div v-if="row.status==='SCHED'">宸叉帓绋�</div>
+                </template>
+              </el-table-column>
+              <el-table-column
+                prop="wo_code"
+                label="宸ュ崟鍙�"
+                width="160"
+                show-tooltip-when-overflow
+                sortable="custom"
+              />
+              <el-table-column
+                prop="partcode"
+                label="浜у搧缂栫爜"
+                min-width="110"
+                sortable="custom"
+                show-tooltip-when-overflow
+              />
+              <el-table-column
+                prop="partname"
+                width="160"
+                show-tooltip-when-overflow
+                label="浜у搧鍚嶇О"
+                sortable="custom"
+              />
+              <el-table-column
+                prop="stepname"
+                label="宸ュ簭"
+                show-tooltip-when-overflow
+                width="120"
+                sortable="custom"
+              />
+              <!--              <el-table-column-->
+              <!--                prop="descr"-->
+              <!--                label="宸ュ簭鎻忚堪"-->
+              <!--                min-width="150"-->
+              <!--                sortable="custom"-->
+              <!--              >-->
+              <!--                <template slot-scope="{row}">-->
+              <!--                  <div v-if="row.descr">{{ row.descr }}</div>-->
+              <!--                  <div v-else>/</div>-->
+              <!--                </template>-->
+              <!--              </el-table-column>-->
+              <el-table-column
+                prop="plan_qty"
+                label="浠诲姟鏁伴噺"
+                width="110"
+                sortable="custom"
+                show-tooltip-when-overflow
+              />
+              <el-table-column
+                label="鏈姤宸ユ暟閲�"
+                width="120"
+                show-tooltip-when-overflow
+              >
+                <!--                sortable="custom"-->
+                <template slot-scope="{row}">
+                  <div>{{ row.plan_qty - row.good_qty - row.ng_qty }}</div>
+                </template>
+              </el-table-column>
+              <el-table-column
+                prop="good_qty"
+                show-tooltip-when-overflow
+                label="鍚堟牸鏁伴噺"
+                sortable="custom"
+                width="160"
+              />
+              <el-table-column
+                prop="ng_qty"
+                label="涓嶈壇鏁伴噺"
+                show-tooltip-when-overflow
+                width="150"
+                sortable="custom"
+              />
+              <el-table-column
+                prop="bad_qty"
+                label="宸叉姤搴熸暟閲�"
+                width="120"
+                show-tooltip-when-overflow
+                sortable="custom"
+              />
+              <el-table-column
+                prop="plan_startdate"
+                label="璁″垝寮�宸ユ棩鏈�"
+                show-tooltip-when-overflow
+                width="150"
+                sortable="custom"
+              >
+                <template slot-scope="{row}">
+                  <div v-if="row.plan_startdate">{{ row.plan_startdate.substring(0, 11) }}</div>
+                  <div v-else>/</div>
+                </template>
+              </el-table-column>
+              <el-table-column
+                prop="plan_enddate"
+                label="璁″垝瀹屽伐鏃ユ湡"
+                width="150"
+                sortable="custom"
+                show-tooltip-when-overflow
+                fixed="right"
+              >
+                <template slot-scope="{row}">
+                  <div v-if="row.plan_startdate">{{ row.plan_startdate.substring(0, 11) }}</div>
+                  <div v-else>/</div>
+                </template>
+              </el-table-column>
+              <!--              <el-table-column-->
+              <!--                label="鎿嶄綔"-->
+              <!--                width="150"-->
+              <!--                fixed="right"-->
+              <!--              >-->
+              <!--                <template slot-scope="{row}">-->
+              <!--                  <div class="operationClass">-->
+              <!--                    <el-button v-waves type="text" @click="edit('edit',row)">缂栬緫</el-button>-->
+              <!--                    <el-button v-waves type="text" @click="del(row)">鍒犻櫎</el-button>-->
+              <!--                  </div>-->
+              <!--                </template>-->
+              <!--              </el-table-column>-->
+            </el-table>
+          </div>
+          <!--鍒嗛〉-->
+          <pagination
+            :total="total"
+            :page.sync="form.page"
+            :limit.sync="form.rows"
+            align="right"
+            layout="total,prev, pager, next,sizes"
+            popper-class="select_bottom"
+            @pagination="getMesOrderStepSearch"
+          />
+        </el-tab-pane>
+
+      </el-tabs>
+
+    </div>
+
+  </div>
+</template>
 
 <script>
+import Pagination from '@/components/Pagination'
+import $ from 'jquery'
+import { getCookie } from '@/utils/auth'
+import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
+import { MesOrderStepSearch } from '@/api/WorkOrder'
+
 export default {
-  name: 'StepReport'
+  name: 'SCKBG',
+  components: {
+    Pagination
+  },
+  directives: { elDragDialog, waves },
+  data() {
+    return {
+      mainHeight: 0,
+      tableHeight: 0,
+      form: {
+        wocode: '', // 宸ュ崟鍙�
+        partcode: '', // 浜у搧缂栫爜
+        partname: '', // 浜у搧鍚嶇О
+        partspec: '', // 浜у搧瑙勬牸
+        prop: 'lm_date', // 鎺掑簭瀛楁
+        order: 'desc', // 鎺掑簭瀛楁
+        page: 1, // 绗嚑椤�
+        rows: 20 // 姣忛〉澶氬皯鏉�
+      },
+      total: 10,
+      tableData: [],
+      activeName: '鐢熶骇鍒楄〃',
+      elTabsArr: [
+        { code: 'ZZ', name: '鐢熶骇鍒楄〃' },
+        { code: 'OUT', name: '澶栧崗鍙戞枡' },
+        { code: 'IN', name: '澶栧崗鏀舵枡' },
+        { code: 'BAD', name: '涓嶈壇寰呭鐞�' }
+      ]
+
+    }
+  },
+
+  created() {
+
+  },
+  mounted() {
+    window.addEventListener('resize', this.getHeight)
+    this.getHeight()
+
+    this.tabClick()
+  },
+  methods: {
+    tabClick() {
+      let belong
+      switch (this.activeName) {
+        case '鐢熶骇鍒楄〃':
+          belong = 'produceCodeZZ'
+          break
+        case '澶栧崗鍙戞枡':
+          belong = 'produceCodeOUT'
+          break
+        case '澶栧崗鏀舵枡':
+          belong = 'produceCodeIN'
+          break
+        case '涓嶈壇寰呭鐞�':
+          belong = 'produceCodeBAD'
+          break
+      }
+      this.enterNative(this.form.wocode, belong)
+    },
+    enterNative(val, belong) {
+      console.log(val, belong, 89898989)
+      if (belong === 'produceCodeZZ') {
+        console.log('杩涙潵浜嗭紒')
+        this.$nextTick(() => {
+          $('input[name=\'produceCodeZZ\']')[0].focus()
+        })
+      }
+      if (belong === 'produceCodeOUT') {
+        this.$nextTick(() => {
+          $('input[name=\'produceCodeOUT\']')[0].focus()
+        })
+      }
+      if (belong === 'produceCodeIN') {
+        this.$nextTick(() => {
+          $('input[name=\'produceCodeIN\']')[0].focus()
+        })
+      }
+      if (belong === 'produceCodeBAD') {
+        this.$nextTick(() => {
+          $('input[name=\'produceCodeBAD\']')[0].focus()
+        })
+      }
+    },
+    // 鎺掑簭鏀瑰彉鏃�
+    sortChange({ column, prop, order }) {
+      if (order === 'descending') {
+        order = 'desc'
+      } else if (order === 'ascending') {
+        order = 'asc'
+      } else {
+        order = 'desc'
+      }
+      this.form.order = order
+      this.form.prop = prop
+      // this.getMesOrderStepSearch()
+      this.search()// search 鏂规硶閲岄潰搴旇鎶婂洓绉嶆儏鍐靛垪鍑烘潵  鏄庡ぉ鎺ョ潃鍐�
+    },
+    async getMesOrderStepSearch() {
+      const { data: res } = await MesOrderStepSearch()
+    },
+    // 鏌ヨ
+    search() {
+      this.getMesOrderStepSearch()
+    },
+    // 瀵硅瘽妗嗗叧闂簨浠�
+    handleClose() {
+      this.$refs.dialogForm.clearValidate()
+    },
+    // 瀵硅瘽妗嗗彇娑�
+    dialogVisibleCancel() {
+      this.dialogVisible = false
+      this.tabClick()
+    },
+    // 瀵硅瘽妗嗙‘璁�
+    dialogVisibleConfirm() {
+      // this.$refs.dialogForm.validate(async valid => {
+      //   if (valid) {
+      //
+      //   }
+      // })
+    },
+    // 鑾峰彇椤甸潰楂樺害
+    getHeight() {
+      this.$nextTick(() => {
+        this.mainHeight = window.innerHeight - 85
+        this.tableHeight = this.mainHeight - 275
+        // this.$refs.tableDataRef.doLayout()
+      })
+    },
+
+    headerCellStyle() {
+      return this.$headerCellStyle
+    },
+    cellStyle() {
+      return this.$cellStyle
+    }
+  }
 }
 </script>
-
-<style scoped>
-
-</style>

--
Gitblit v1.9.3