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