loulijun2021
2023-02-15 557334431db09d85b7bb54e3f2a2226d46d323a5
src/views/bbgl/rygz.vue
@@ -2,7 +2,7 @@
  <div>
    <div class="body" :style="{height:mainHeight+'px'}">
      <div class="bodyTopButtonGroup">
        <el-button type="primary" icon="el-icon-download" @click="download">导出</el-button>
        <el-button v-waves type="primary" icon="el-icon-download" @click="download">导出</el-button>
      </div>
      <div class="bodyTopFormGroup">
@@ -63,8 +63,8 @@
            class="bodySearchReset"
            :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}"
          >
            <el-button type="primary" icon="el-icon-search" @click="search">查询</el-button>
            <el-button type="info" icon="el-icon-refresh" @click="reset">重置</el-button>
            <el-button v-waves type="primary" icon="el-icon-search" @click="search">查询</el-button>
            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">重置</el-button>
          </div>
        </el-form>
        <div
@@ -86,149 +86,306 @@
        </div>
      </div>
      <div class="elTableDiv">
        <el-table
          ref="tableDataRef"
          class="tableFixed"
          :data="tableData"
          :height="isExpandForm?tableHeight:(tableHeight+40)+'px'"
          border
          :summary-method="getSummaries"
          show-summary
          :row-class-name="tableRowClassName"
          :style="{width: 100+'%',height:isExpandForm?tableHeight:(tableHeight+40)+'px',}"
          highlight-current-row
          :header-cell-style="this.$headerCellStyle"
          :cell-style="this.$cellStyle"
          @sort-change="sortChange"
        >
          <el-table-column
            prop="RowNum"
            width="50"
            fixed
            label="序号"
          />
          <el-table-column
            prop="wo_code"
            label="工单编号"
            width="160"
            sortable="custom"
          />
          <el-table-column
            prop="partcode"
            label="产品编码"
            width="160"
            show-tooltip-when-overflow
            sortable="custom"
          />
          <el-table-column
            prop="partname"
            label="产品名称"
            width="160"
            show-tooltip-when-overflow
            sortable="custom"
          />
          <el-table-column
            prop="partspec"
            label="产品规格"
            width="160"
            show-tooltip-when-overflow
            sortable="custom"
          >
            <template slot-scope="{row}">
              <div v-if="row.partspec">{{ row.partspec }}</div>
              <div v-else>/</div>
            </template>
          </el-table-column>
          <el-table-column
            prop="stepcode"
            label="工序编码"
            width="110"
            show-tooltip-when-overflow
            sortable="custom"
          />
          <el-table-column
            prop="stepname"
            label="工序名称"
            width="110"
            show-tooltip-when-overflow
            sortable="custom"
          />
          <el-table-column
            prop="task_qty"
            label="任务数量"
            width="110"
            show-tooltip-when-overflow
            sortable="custom"
          />
          <el-table-column
            prop="group_name"
            label="生产班组"
            width="110"
            show-tooltip-when-overflow
            sortable="custom"
          />
          <el-table-column
            prop="report_qty"
            label="报工数量"
            width="110"
            sortable="custom"
          >
            <template slot-scope="{row}">
              <div v-if="row.report_qty">{{ row.report_qty }}</div>
              <div v-else>/</div>
            </template>
          </el-table-column>
          <el-table-column
            prop="unprice"
            label="工序单价"
            width="110"
            sortable="custom"
          >
            <template slot-scope="{row}">
              <div v-if="row.unprice">{{ row.unprice }} 元</div>
              <div v-else>/</div>
            </template>
          </el-table-column>
          <el-table-column
            prop="usermoney"
            label="个人记件工资"
            width="130"
            sortable="custom"
          >
            <template slot-scope="{row}">
              <div v-if="row.usermoney">{{ row.usermoney }} 元</div>
              <div v-else>/</div>
            </template>
          </el-table-column>
          <el-table-column
            prop="username"
            label="报工人员"
            width="110"
            sortable="custom"
          />
          <el-table-column
            prop="report_date"
            label="报工时间"
            width="160"
            sortable="custom"
          />
      <el-tabs type="border-card" style="margin-top: 10px" @tab-click="tabClick">
        <el-tab-pane label="末道工序">
          <div class="elTableDiv">
            <el-table
              ref="tableDataRef2"
              class="tableFixed"
              :data="tableData"
              :height="isExpandForm?(tableHeight-70):(tableHeight-30)+'px'"
              border
              :summary-method="getSummaries"
              show-summary
              :row-class-name="tableRowClassName"
              :style="{width: 100+'%',height:isExpandForm?(tableHeight-70):(tableHeight-30)+'px',}"
              highlight-current-row
              :header-cell-style="this.$headerCellStyle"
              :cell-style="this.$cellStyle"
              @sort-change="sortChange"
            >
              <el-table-column
                prop="RowNum"
                width="50"
                fixed
                label="序号"
              />
              <el-table-column
                prop="wo_code"
                label="工单编号"
                width="160"
                sortable="custom"
              />
              <el-table-column
                prop="partcode"
                label="产品编码"
                width="160"
                show-tooltip-when-overflow
                sortable="custom"
              />
              <el-table-column
                prop="partname"
                label="产品名称"
                width="160"
                show-tooltip-when-overflow
                sortable="custom"
              />
              <el-table-column
                prop="partspec"
                label="产品规格"
                width="160"
                show-tooltip-when-overflow
                sortable="custom"
              >
                <template slot-scope="{row}">
                  <div v-if="row.partspec">{{ row.partspec }}</div>
                  <div v-else>/</div>
                </template>
              </el-table-column>
              <el-table-column
                prop="stepcode"
                label="工序编码"
                width="110"
                show-tooltip-when-overflow
                sortable="custom"
              />
              <el-table-column
                prop="stepname"
                label="工序名称"
                width="110"
                show-tooltip-when-overflow
                sortable="custom"
              />
              <el-table-column
                prop="task_qty"
                label="任务数量"
                width="110"
                show-tooltip-when-overflow
                sortable="custom"
              />
              <el-table-column
                prop="group_name"
                label="生产班组"
                width="110"
                show-tooltip-when-overflow
                sortable="custom"
              >
                <template slot-scope="{row}">
                  <div v-if="row.group_name">{{ row.group_name }}</div>
                  <div v-else>/</div>
                </template>
              </el-table-column>
              <el-table-column
                prop="report_qty"
                label="报工数量"
                width="110"
                sortable="custom"
              >
                <template slot-scope="{row}">
                  <div v-if="row.report_qty">{{ row.report_qty }}</div>
                  <div v-else>/</div>
                </template>
              </el-table-column>
              <el-table-column
                prop="unprice"
                label="工序单价"
                width="110"
                sortable="custom"
              >
                <template slot-scope="{row}">
                  <div v-if="row.unprice">{{ row.unprice }} 元</div>
                  <div v-else>/</div>
                </template>
              </el-table-column>
              <el-table-column
                prop="usermoney"
                label="个人记件工资"
                width="130"
                sortable="custom"
              >
                <template slot-scope="{row}">
                  <div v-if="row.usermoney">{{ row.usermoney }} 元</div>
                  <div v-else>/</div>
                </template>
              </el-table-column>
              <el-table-column
                prop="username"
                label="报工人员"
                width="110"
                sortable="custom"
              />
              <el-table-column
                prop="report_date"
                label="报工时间"
                width="160"
                sortable="custom"
              />
        </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="getPeopleSalaryReportSearch"
      />
            </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="getPeopleSalaryReportSearch"
          />
        </el-tab-pane>
        <el-tab-pane label="逐道工序">
          <div class="elTableDiv">
            <el-table
              ref="tableDataRef"
              class="tableFixed"
              :data="tableData2"
              :height="isExpandForm?(tableHeight-70):(tableHeight-30)+'px'"
              border
              :summary-method="getSummaries"
              show-summary
              :row-class-name="tableRowClassName"
              :style="{width: 100+'%',height:isExpandForm?(tableHeight-70):(tableHeight-30)+'px',}"
              highlight-current-row
              :header-cell-style="this.$headerCellStyle"
              :cell-style="this.$cellStyle"
              @sort-change="sortChange"
            >
              <el-table-column
                prop="RowNum"
                width="50"
                fixed
                label="序号"
              />
              <el-table-column
                prop="wo_code"
                label="工单编号"
                width="160"
                sortable="custom"
              />
              <el-table-column
                prop="partcode"
                label="产品编码"
                width="160"
                show-tooltip-when-overflow
                sortable="custom"
              />
              <el-table-column
                prop="partname"
                label="产品名称"
                width="160"
                show-tooltip-when-overflow
                sortable="custom"
              />
              <el-table-column
                prop="partspec"
                label="产品规格"
                width="160"
                show-tooltip-when-overflow
                sortable="custom"
              >
                <template slot-scope="{row}">
                  <div v-if="row.partspec">{{ row.partspec }}</div>
                  <div v-else>/</div>
                </template>
              </el-table-column>
              <el-table-column
                prop="stepcode"
                label="工序编码"
                width="110"
                show-tooltip-when-overflow
                sortable="custom"
              />
              <el-table-column
                prop="stepname"
                label="工序名称"
                width="110"
                show-tooltip-when-overflow
                sortable="custom"
              />
              <el-table-column
                prop="task_qty"
                label="任务数量"
                width="110"
                show-tooltip-when-overflow
                sortable="custom"
              />
              <el-table-column
                prop="group_name"
                label="生产班组"
                width="110"
                show-tooltip-when-overflow
                sortable="custom"
              >
                <template slot-scope="{row}">
                  <div v-if="row.group_name">{{ row.group_name }}</div>
                  <div v-else>/</div>
                </template>
              </el-table-column>
              <el-table-column
                prop="report_qty"
                label="报工数量"
                width="110"
                sortable="custom"
              >
                <template slot-scope="{row}">
                  <div v-if="row.report_qty">{{ row.report_qty }}</div>
                  <div v-else>/</div>
                </template>
              </el-table-column>
              <el-table-column
                prop="unprice"
                label="工序单价"
                width="110"
                sortable="custom"
              >
                <template slot-scope="{row}">
                  <div v-if="row.unprice">{{ row.unprice }} 元</div>
                  <div v-else>/</div>
                </template>
              </el-table-column>
              <el-table-column
                prop="usermoney"
                label="个人记件工资"
                width="130"
                sortable="custom"
              >
                <template slot-scope="{row}">
                  <div v-if="row.usermoney">{{ row.usermoney }} 元</div>
                  <div v-else>/</div>
                </template>
              </el-table-column>
              <el-table-column
                prop="username"
                label="报工人员"
                width="110"
                sortable="custom"
              />
              <el-table-column
                prop="report_date"
                label="报工时间"
                width="160"
                sortable="custom"
              />
            </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="getPeopleSalaryReportSearch"
          />
        </el-tab-pane>
      </el-tabs>
    </div>
    <el-dialog
      v-el-drag-dialog
      :title="operation==='add'?'新增':'人员明细'"
      :visible.sync="dialogVisible"
      width="800px"
@@ -249,9 +406,9 @@
      </div>
      <span slot="footer" class="dialog-footer">
        <div class="footerButton">
          <el-button @click="dialogVisible=false">返 回</el-button>
          <!--          <el-button @click="dialogVisibleCancel">取 消</el-button>-->
          <!--          <el-button type="primary" @click="dialogVisibleConfirm">确 定</el-button>-->
          <el-button v-waves @click="dialogVisible=false">返 回</el-button>
          <!--          <el-button v-waves @click="dialogVisibleCancel">取 消</el-button>-->
          <!--          <el-button v-waves type="primary" @click="dialogVisibleConfirm">确 定</el-button>-->
        </div>
      </span>
    </el-dialog>
@@ -278,12 +435,15 @@
  GroupSalaryReportSearchUser, PeopleSalaryReportExcelSearch, PeopleSalaryReportSearch
} from '@/api/bbgl'
import { MesOrderStepReportSelectUserGroup } from '@/api/scgl'
import elDragDialog from '@/directive/el-drag-dialog'
import waves from '@/directive/waves'
export default {
  name: 'Zzjg',
  components: {
    Pagination, ImportPicker
  },
  directives: { elDragDialog, waves },
  data() {
    return {
      mouseHoverType: 'mouseout',
@@ -299,6 +459,7 @@
        groupcode: '', // 生产班组
        reportname: '', // 操作人员
        reportdate: '', // 操作时间
        compute: 'last', // 计件方式
        prop: 'partcode', // 排序字段
        order: 'desc', // 排序字段
        page: 1, // 第几页
@@ -307,6 +468,7 @@
      groupArr: [],
      total: 10,
      tableData: [],
      tableData2: [],
      dialogVisible: false,
      tagArr: [], //
      dialogForm: {
@@ -342,6 +504,12 @@
      }
    }
  },
  // updated() {
  //   this.$nextTick(() => {
  //     this.$refs.tableDataRef.doLayout()
  //     this.$refs.tableDataRef2.doLayout()
  //   })
  // },
  created() {
    this.handleRequest()
  },
@@ -386,6 +554,7 @@
      this.$nextTick(() => {
        this.$refs.tableDataRef.doLayout()
        this.$refs.tableDataRef2.doLayout()
      })
      return sums
@@ -402,6 +571,7 @@
        partspec: this.form.partspec,
        stepname: this.form.stepname,
        groupcode: this.form.groupcode,
        compute: this.form.compute,
        reportname: this.form.reportname,
        reportdate: tempDate,
        prop: this.form.prop,
@@ -412,7 +582,12 @@
      }
      const res = await PeopleSalaryReportSearch(data)
      this.tableData = res.data
      if (this.form.compute === 'last') {
        this.tableData = res.data
      }
      if (this.form.compute === 'contin') {
        this.tableData2 = res.data
      }
      this.total = res.count
      return { code: res.code }
@@ -421,6 +596,10 @@
    async getMesOrderStepReportSelectUserGroup() {
      const { data: res } = await MesOrderStepReportSelectUserGroup()
      this.groupArr = res
    },
    tabClick(val) {
      this.form.compute = val.label === '末道工序' ? 'last' : 'contin'
      this.getPeopleSalaryReportSearch()
    },
    // 排序改变时
    sortChange({ column, prop, order }) {
@@ -448,6 +627,7 @@
        partspec: this.form.partspec,
        stepname: this.form.stepname,
        groupcode: this.form.groupcode,
        compute: this.form.compute,
        reportname: this.form.reportname,
        reportdate: tempDate
      }
@@ -559,6 +739,7 @@
        this.mainHeight = window.innerHeight - 85
        this.tableHeight = this.mainHeight - 255
        this.$refs.tableDataRef.doLayout()
        this.$refs.tableDataRef2.doLayout()
      })
    },
    tableRowClassName({ row, rowIndex }) {
@@ -689,11 +870,12 @@
  justify-content: center;
}
.tableFixed{
  ::v-deep .el-table__fixed-right{
.tableFixed {
  ::v-deep .el-table__fixed-right {
    height: 100% !important;
  }
  ::v-deep .el-table__fixed{
  ::v-deep .el-table__fixed {
    height: 100% !important;
  }
}