loulijun2021
2023-05-23 ff0604306c9cf18a05e5d8a3a136432284c290bb
src/views/bbgl/bzgz.vue
@@ -1,8 +1,34 @@
<template>
  <div>
    <div class="body" :style="{height:mainHeight+'px'}">
      <div class="bodyTopButtonGroup">
      <div class="bodyTopButtonGroup" style="justify-content: space-between">
        <el-button v-waves type="primary" icon="el-icon-download" @click="download">导出</el-button>
        <div class="topRight" style="display: flex;align-items: center">
          <div
            style="color: red;margin: 0px 10px 0 0;"
          >当前报表只统计自制件工序
          </div>
          <el-select
            v-model="form.rejectstepcode"
            style="width: 220px;"
            multiple
            placeholder="请选择剔除车间"
            collapse-tags
            filterable
            clearable
            @change="getGroupSalaryReportSearch"
          >
            <el-option
              v-for="item in WorkShopArr"
              :key="item.code"
              :label="item.name"
              :value="item.code"
            />
          </el-select>
        </div>
      </div>
      <div class="bodyTopFormGroup">
@@ -15,19 +41,19 @@
        >
          <div class="elForm">
            <el-form-item label="工单编号" style="display: flex;">
              <el-input v-model="form.wocode" placeholder="请输入" style="width: 200px" />
              <el-input v-model="form.wocode" placeholder="请输入" style="width: 200px"/>
            </el-form-item>
            <el-form-item label="产品编码" style=" display: flex;">
              <el-input v-model="form.partcode" placeholder="请输入" style="width: 200px" />
              <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" style="width: 200px" placeholder="请输入" />
              <el-input v-model="form.partname" style="width: 200px" placeholder="请输入"/>
            </el-form-item>
            <el-form-item label="规格型号" style=" display: flex;">
              <el-input v-model="form.partspec" style="width: 200px" placeholder="请输入" />
              <el-input v-model="form.partspec" style="width: 200px" placeholder="请输入"/>
            </el-form-item>
            <el-form-item v-show="isExpandForm" label="工序名称" style="display: flex;">
              <el-input v-model="form.stepname" style="width: 200px" placeholder="请输入" />
              <el-input v-model="form.stepname" style="width: 200px" placeholder="请输入"/>
            </el-form-item>
            <el-form-item v-show="isExpandForm" label="生产班组" style=" display: flex;">
              <el-select v-model="form.groupcode" style="width: 200px" placeholder="请选择">
@@ -40,7 +66,7 @@
              </el-select>
            </el-form-item>
            <el-form-item v-show="isExpandForm" label="操作人员" style=" display: flex;">
              <el-input v-model="form.username" style="width: 200px" placeholder="请输入" />
              <el-input v-model="form.username" style="width: 200px" placeholder="请输入"/>
            </el-form-item>
            <el-form-item v-show="isExpandForm" label="报工时间" style="display: flex;align-items: center">
              <el-date-picker
@@ -87,7 +113,6 @@
        </div>
      </div>
      <el-tabs type="border-card" style="margin-top: 10px" @tab-click="tabClick">
        <el-tab-pane label="末道工序">
          <div class="elTableDiv" style="margin: 0 auto 10px;">
@@ -196,7 +221,7 @@
              </el-table-column>
              <el-table-column
                prop="usermoney"
                label="记件工资"
                label="计件工资"
                width="110"
                sortable="custom"
              >
@@ -360,7 +385,7 @@
              </el-table-column>
              <el-table-column
                prop="usermoney"
                label="记件工资"
                label="计件工资"
                width="110"
                sortable="custom"
              >
@@ -417,7 +442,6 @@
            @pagination="getGroupSalaryReportSearch"
          />
        </el-tab-pane>
      </el-tabs>
    </div>
@@ -462,7 +486,7 @@
    />
  </div>
</template>
  </div></template>
<script>
import Pagination from '@/components/Pagination'
@@ -477,6 +501,8 @@
import { MesOrderStepReportSelectUserGroup } from '@/api/scgl'
import elDragDialog from '@/directive/el-drag-dialog'
import waves from '@/directive/waves'
import { StepSelect } from '@/api/zzmx'
import { WorkShopSelect } from '@/api/sbgl'
export default {
  name: 'Zzjg',
@@ -490,6 +516,7 @@
      isExpandForm: false,
      mainHeight: 0,
      tableHeight: 0,
      WorkShopArr: [], // 剔除数组
      form: {
        wocode: '', // 工单编号
        partcode: '', // 产品编码
@@ -499,6 +526,7 @@
        groupcode: '', // 生产班组
        username: '', // 操作人员
        operdate: '', // 操作时间
        rejectstepcode: [], // 剔除工序(固定薪资工序不参与计算
        compute: 'last', // 计件方式  逐道工序:contin   末道工序:last
        prop: 'lm_date', // 排序字段
        order: 'desc', // 排序字段
@@ -562,8 +590,18 @@
      this.getGroupSalaryReportSearch().then(res => {
        if (res.code === '200') {
          this.getMesOrderStepReportSelectUserGroup()
          this.getWorkShopSelect()
        }
      })
    },
    // 获取工序下拉接口
    // async getStepSelect() {
    //   const { data: res } = await StepSelect()
    //   this.StepSelectArr = res
    // },
    async getWorkShopSelect() {
      const { data: res } = await WorkShopSelect()
      this.WorkShopArr = res
    },
    getSummaries(param) {
      const { columns, data } = param
@@ -579,9 +617,9 @@
          sums[index] = values.reduce((prev, curr) => {
            const value = Number(curr)
            if (!isNaN(value)) {
              return prev + curr
              return Math.round(prev * 100) / 100 + Math.round(curr * 100) / 100
            } else {
              return prev
              return Math.round(prev * 100) / 100
            }
          }, 0)
          sums[index] += ' 元'
@@ -611,6 +649,7 @@
        groupcode: this.form.groupcode,
        username: this.form.username,
        operdate: tempDate,
        rejectstepcode: this.form.rejectstepcode.join(','),
        compute: this.form.compute,
        prop: this.form.prop,
        order: this.form.order,
@@ -918,6 +957,20 @@
    height: 100% !important;
  }
}
.topRight ::v-deep {
  input::-webkit-input-placeholder {
    color: $main_color;
  }
  //input::-moz-input-placeholder {
  //  color: rgba(0, 204, 254, 1);
  //}
  input::-ms-input-placeholder {
    color: $main_color;
  }
}
</style>
<style>