loulijun2021
2023-02-15 599a565adfdb4fb04ab6a8f17fcf0995e25d8810
1.生产开报工新增计件方式2.班组、人员计件工资报表改变
已修改3个文件
1178 ■■■■ 文件已修改
src/views/bbgl/bzgz.vue 504 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/bbgl/rygz.vue 456 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/scgl/sckbg.vue 218 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/bbgl/bzgz.vue
@@ -88,163 +88,337 @@
      </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="150"
            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="good_qty"
            label="报工数量"
            width="110"
            sortable="custom"
          />
          <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="110"
            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="lm_user"
            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" style="margin: 0 auto 10px;">
            <el-table
              ref="tableDataRef"
              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="150"
                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="good_qty"
                label="报工数量"
                width="110"
                sortable="custom"
              />
              <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="110"
                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="lm_user"
                label="操作人"
                width="110"
                sortable="custom"
              />
              <el-table-column
                prop="report_date"
                label="操作时间"
                width="160"
                sortable="custom"
              />
          <el-table-column
            label="查看明细"
            width="120"
            fixed="right"
          >
            <template slot-scope="{row}">
              <div class="operationClass">
                <el-tooltip class="item" effect="dark" content="人员明细" placement="top">
                  <!--                  <i class="el-icon-edit-outline" @click="edit('edit',row)" />-->
                  <i
                    class="el-icon-tickets"
                    :style="{color:$store.state.settings.theme}"
                    style="cursor: pointer;margin-right: 15px"
                    @click="edit('edit',row)"
                  />
                </el-tooltip>
                <!--                <el-tooltip v-del-tab-index class="item" effect="dark" content="删除" placement="top">-->
                <!--                  <i class="el-icon-delete" @click="del(row)" />-->
                <!--                </el-tooltip>-->
              </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="getGroupSalaryReportSearch"
      />
              <el-table-column
                label="查看明细"
                width="120"
                fixed="right"
              >
                <template slot-scope="{row}">
                  <div class="operationClass">
                    <el-tooltip class="item" effect="dark" content="人员明细" placement="top">
                      <!--                  <i class="el-icon-edit-outline" @click="edit('edit',row)" />-->
                      <i
                        class="el-icon-tickets"
                        :style="{color:$store.state.settings.theme}"
                        style="cursor: pointer;margin-right: 15px"
                        @click="edit('edit',row)"
                      />
                    </el-tooltip>
                    <!--                <el-tooltip v-del-tab-index class="item" effect="dark" content="删除" placement="top">-->
                    <!--                  <i class="el-icon-delete" @click="del(row)" />-->
                    <!--                </el-tooltip>-->
                  </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="getGroupSalaryReportSearch"
          />
        </el-tab-pane>
        <el-tab-pane label="逐道工序">
          <div class="elTableDiv" style="margin: 0 auto 10px;">
            <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="150"
                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="good_qty"
                label="报工数量"
                width="110"
                sortable="custom"
              />
              <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="110"
                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="lm_user"
                label="操作人"
                width="110"
                sortable="custom"
              />
              <el-table-column
                prop="report_date"
                label="操作时间"
                width="160"
                sortable="custom"
              />
              <el-table-column
                label="查看明细"
                width="120"
                fixed="right"
              >
                <template slot-scope="{row}">
                  <div class="operationClass">
                    <el-tooltip class="item" effect="dark" content="人员明细" placement="top">
                      <!--                  <i class="el-icon-edit-outline" @click="edit('edit',row)" />-->
                      <i
                        class="el-icon-tickets"
                        :style="{color:$store.state.settings.theme}"
                        style="cursor: pointer;margin-right: 15px"
                        @click="edit('edit',row)"
                      />
                    </el-tooltip>
                    <!--                <el-tooltip v-del-tab-index class="item" effect="dark" content="删除" placement="top">-->
                    <!--                  <i class="el-icon-delete" @click="del(row)" />-->
                    <!--                </el-tooltip>-->
                  </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="getGroupSalaryReportSearch"
          />
        </el-tab-pane>
      </el-tabs>
    </div>
    <el-dialog
@@ -325,6 +499,7 @@
        groupcode: '', // 生产班组
        username: '', // 操作人员
        operdate: '', // 操作时间
        compute: 'last', // 计件方式  逐道工序:contin   末道工序:last
        prop: 'lm_date', // 排序字段
        order: 'desc', // 排序字段
        page: 1, // 第几页
@@ -375,6 +550,12 @@
    window.addEventListener('resize', this.getHeight)
    this.getHeight()
  },
  // updated() {
  //   this.$nextTick(() => {
  //     this.$refs.tableDataRef.doLayout()
  //     this.$refs.tableDataRef2.doLayout()
  //   })
  // },
  methods: {
    handleRequest() {
      this.getGroupSalaryReportSearch().then(res => {
@@ -410,6 +591,7 @@
      })
      this.$nextTick(() => {
        this.$refs.tableDataRef.doLayout()
        this.$refs.tableDataRef2.doLayout()
      })
      return sums
@@ -428,6 +610,7 @@
        groupcode: this.form.groupcode,
        username: this.form.username,
        operdate: tempDate,
        compute: this.form.compute,
        prop: this.form.prop,
        order: this.form.order,
        page: this.form.page,
@@ -444,6 +627,11 @@
    async getMesOrderStepReportSelectUserGroup() {
      const { data: res } = await MesOrderStepReportSelectUserGroup()
      this.groupArr = res
    },
    tabClick(val) {
      // console.log(val.label)
      this.form.compute = val.label === '末道工序' ? 'last' : 'contin'
      this.getGroupSalaryReportSearch()
    },
    // 排序改变时
    sortChange({ column, prop, order }) {
@@ -472,7 +660,8 @@
        stepname: this.form.stepname,
        groupcode: this.form.groupcode,
        username: this.form.username,
        operdate: tempDate
        operdate: tempDate,
        compute: this.form.compute
      }
      const { data: res } = await GroupSalaryReportExcelSearch(data)
@@ -582,6 +771,7 @@
        this.mainHeight = window.innerHeight - 85
        this.tableHeight = this.mainHeight - 255
        this.$refs.tableDataRef.doLayout()
        this.$refs.tableDataRef2.doLayout()
      })
    },
    tableRowClassName({ row, rowIndex }) {
src/views/bbgl/rygz.vue
@@ -86,146 +86,302 @@
        </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="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-tab-pane>
      </el-tabs>
    </div>
    <el-dialog
@@ -303,6 +459,7 @@
        groupcode: '', // 生产班组
        reportname: '', // 操作人员
        reportdate: '', // 操作时间
        compute: 'last', // 计件方式
        prop: 'partcode', // 排序字段
        order: 'desc', // 排序字段
        page: 1, // 第几页
@@ -346,6 +503,12 @@
      }
    }
  },
  // updated() {
  //   this.$nextTick(() => {
  //     this.$refs.tableDataRef.doLayout()
  //     this.$refs.tableDataRef2.doLayout()
  //   })
  // },
  created() {
    this.handleRequest()
  },
@@ -390,6 +553,7 @@
      this.$nextTick(() => {
        this.$refs.tableDataRef.doLayout()
        this.$refs.tableDataRef2.doLayout()
      })
      return sums
@@ -406,6 +570,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,
@@ -425,6 +590,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 }) {
@@ -452,6 +621,7 @@
        partspec: this.form.partspec,
        stepname: this.form.stepname,
        groupcode: this.form.groupcode,
        compute: this.form.compute,
        reportname: this.form.reportname,
        reportdate: tempDate
      }
@@ -563,6 +733,7 @@
        this.mainHeight = window.innerHeight - 85
        this.tableHeight = this.mainHeight - 255
        this.$refs.tableDataRef.doLayout()
        this.$refs.tableDataRef2.doLayout()
      })
    },
    tableRowClassName({ row, rowIndex }) {
@@ -693,11 +864,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;
  }
}
src/views/scgl/sckbg.vue
@@ -593,7 +593,16 @@
        <el-form-item v-if="dialogTitle==='自制报工'" label="下道工序:">
          <div style="width: 200px">{{ dialogForm.nextstepname }}</div>
        </el-form-item>
        <el-form-item v-if="dialogTitle==='自制报工'" prop="usergroupcode" label="生产班组:">
        <el-form-item v-if="dialogTitle==='自制报工'" prop="reckway" label="计件方式:">
          <el-radio-group v-model="dialogForm.reckway" style="width: 200px;" @change="reckwayChange">
            <el-radio label="group">班组</el-radio>
            <el-radio label="person">个人</el-radio>
          </el-radio-group>
        </el-form-item>
        <el-form-item v-if="dialogTitle==='自制报工'&&dialogForm.reckway==='group'" prop="usergroupcode" label="生产班组:">
          <el-select
            v-model="dialogForm.usergroupcode"
            style="width: 200px;"
@@ -608,6 +617,23 @@
            />
          </el-select>
        </el-form-item>
        <el-form-item v-if="dialogTitle==='自制报工'&&dialogForm.reckway==='person'" prop="operation" label="报工人员:">
          <el-select
            v-model="dialogForm.operation"
            style="width: 200px;"
            placeholder="请选择"
            @change="usergroupChange"
          >
            <el-option
              v-for="item in OperationArr"
              :key="item.usercode"
              :label="item.username"
              :value="item.usercode"
            />
          </el-select>
        </el-form-item>
        <el-form-item v-if="dialogTitle==='自制报工'" label="设备名称:" prop="eqpcode">
          <el-select
            v-model="dialogForm.eqpcode"
@@ -649,24 +675,25 @@
        <!--        <el-form-item v-if="dialogTitle==='自制报工'" label="报工人员:">-->
        <!--          <el-input v-model="dialogForm.remarks" type="textarea" style="width: 200px;" />-->
        <!--        </el-form-item>-->
        <el-form-item v-if="dialogTitle==='自制报工'" label="报工人:">
          <el-select
            v-model="dialogForm.operation"
            style="width: 200px;"
            placeholder="请选择"
          >
            <el-option
              v-for="item in OperationArr"
              :key="item.usercode"
              :label="item.username"
              :value="item.usercode"
            />
          </el-select>
        </el-form-item>
        <!--        注释-->
        <!--        <el-form-item v-if="dialogTitle==='自制报工'" label="报工人:">-->
        <!--          <el-select-->
        <!--            v-model="dialogForm.operation"-->
        <!--            style="width: 200px;"-->
        <!--            placeholder="请选择"-->
        <!--          >-->
        <!--            <el-option-->
        <!--              v-for="item in OperationArr"-->
        <!--              :key="item.usercode"-->
        <!--              :label="item.username"-->
        <!--              :value="item.usercode"-->
        <!--            />-->
        <!--          </el-select>-->
        <!--        </el-form-item>-->
        <el-form-item v-if="dialogTitle==='自制报工'" label="备注:">
          <el-input v-model="dialogForm.remarks" type="textarea" style="width: 200px;" />
        </el-form-item>
        <div v-if="dialogTitle==='自制报工'">
        <div v-if="dialogTitle==='自制报工'&&dialogForm.reckway==='group'">
          <i class="el-icon-s-operation" :style="{color:$store.state.settings.theme}" /> 人员列表
          <el-button v-waves type="primary" style="margin: 10px 0" @click="userAdd">增行</el-button>
          <el-table
@@ -693,7 +720,7 @@
              show-tooltip-when-overflow
            >
              <template slot-scope="{row}">
                <div v-if="row.isVisible===0">{{ row.username }}</div>
                <el-select
                  v-if="row.isVisible===1"
                  v-model="row.username"
@@ -708,8 +735,25 @@
                    :value="item.usercode"
                  />
                </el-select>
                <div v-else>{{ row.username }}</div>
              </template>
            </el-table-column>
            <el-table-column
              prop="ratio"
              label="分配比例(%)"
              show-tooltip-when-overflow
            >
              <template slot-scope="{row}">
                <el-input
                  v-if="row.isVisible===1||row.isVisible===2"
                  v-model="row.ratio"
                  oninput="value=value.replace(/[^0-9.]/g,'')"
                  placeholder="请输入"
                />
                <div v-else> {{ row.ratio }}</div>
              </template>
            </el-table-column>
            <el-table-column
              prop="RowNum"
              label="操作"
@@ -717,9 +761,10 @@
            >
              <template slot-scope="{row}">
                <div class="operationClass">
                  <el-button v-if="row.isVisible===0" v-waves type="text" @click="userDel(row)">删除</el-button>
                  <el-button v-if="row.isVisible===1&&!userIsSave" v-waves type="text" @click="userSave(row)">保存</el-button>
                  <el-button v-if="(row.isVisible===1&&!userIsSave)||row.isVisible===2" v-waves type="text" @click="userSave(row)">保存</el-button>
                  <el-button v-if="row.isVisible===1" v-waves type="text" @click="userCancel(row)">取消</el-button>
                  <el-button v-if="row.isVisible===0" v-waves type="text" @click="userDel(row)">删除</el-button>
                  <el-button v-if="row.isVisible===0" v-waves type="text" @click="editRatio(row)">修改比例</el-button>
                </div>
              </template>
            </el-table-column>
@@ -1062,20 +1107,21 @@
          <div style="width: 200px">{{ badDialogForm.ng_qty }}</div>
        </el-form-item>
        <el-form-item label="维修人员:">
          <el-select
            v-model="badDialogForm.operation"
            style="width: 200px;"
            placeholder="请选择"
          >
            <el-option
              v-for="item in OperationArr"
              :key="item.usercode"
              :label="item.username"
              :value="item.usercode"
            />
          </el-select>
        </el-form-item>
        <!--        注释-->
        <!--        <el-form-item label="维修人员:">-->
        <!--          <el-select-->
        <!--            v-model="badDialogForm.operation"-->
        <!--            style="width: 200px;"-->
        <!--            placeholder="请选择"-->
        <!--          >-->
        <!--            <el-option-->
        <!--              v-for="item in OperationArr"-->
        <!--              :key="item.usercode"-->
        <!--              :label="item.username"-->
        <!--              :value="item.usercode"-->
        <!--            />-->
        <!--          </el-select>-->
        <!--        </el-form-item>-->
      </el-form>
      <div style="margin-bottom:20px">
@@ -1310,6 +1356,8 @@
        startqtySum: '', // 不能超过的数值
        reckway: 'group', // 计件方式
        operation: getCookie('navTabId'), // 报工人(收料人)
        remarks: ''// 备注
@@ -1354,6 +1402,9 @@
        ],
        startqty: [
          { required: true, message: '请输入报工数量', trigger: ['blur', 'change'] }
        ],
        operation: [
          { required: true, message: '请选择报工人员', trigger: ['blur', 'change'] }
        ]
      },
      activeName: '',
@@ -1454,7 +1505,16 @@
    this.getMesOrderSelectUserAll() // 获取所有人员
  },
  methods: {
    // 计件方式值改变时
    reckwayChange() {
      this.dialogForm.usergroupcode = ''
      this.dialogForm.operation = ''
      this.userTableData = []
      // console.log(this.$refs.dialogForm, 'log')
      // this.$nextTick(() => {
      //   this.$refs.dialogForm.resetFields()
      // })
    },
    tableRowClassName({ row, rowIndex }) {
      return 'custom-row'
    },
@@ -1871,12 +1931,46 @@
        number = number === 0 ? (10 + Math.random()) : number
        item.isVisible = 0
        item.number = number
        // item.ratio = parseFloat((100 / this.userTableData.length).toFixed(2))
      })
      this.ZZuserArr = [...this.ZZuserArr].filter(x => [...this.userTableData].every(y => y.usercode !== x.usercode))
      this.calculatedValue()
      this.$refs.tableDataRef.doLayout()
    },
    calculatedValue() {
      const total = 100; let value = 0
      this.userTableData.forEach(item => {
        item.ratio = parseFloat((100 / this.userTableData.length).toFixed(2))
        value += item.ratio
      })
      console.log(value, 1)
      if (value !== total) {
        // let temp = this.userTableData
        // temp[temp.length-1].ratio=temp[temp.length-1].ratio+(total-value)
        this.userTableData[ this.userTableData.length - 1].ratio = parseFloat((this.userTableData[ this.userTableData.length - 1].ratio + (total - value)).toFixed(2))
      }
    },
    // 修改分配比列
    editRatio(row) {
      // console.log(row, 'row')
      this.userTableData.forEach((item, index) => {
        if (item.number === row.number) {
          const number = Math.random() * Math.random()// 作为删除时的标识符
          this.userTableData.splice(index, 1, {
            usercode: row.usercode,
            username: row.username,
            ratio: row.ratio,
            isVisible: 2,
            number: number === 0 ? (10 + Math.random()) : number
          })
        }
      })
    },
    // 用户添加
    userAdd() {
      if (this.userTableData.find(i => i.isVisible === 1)) {
@@ -1885,7 +1979,8 @@
      let number = Math.random() * Math.random()// 作为删除时的标识符
      number = number === 0 ? (10 + Math.random()) : number
      console.log(this.userTableData, 6)
      this.userTableData.unshift({ usercode: '', username: '', isVisible: 1, number: number })
      this.userTableData.unshift({ usercode: '', username: '', isVisible: 1, number: number, ratio: 0 })
      this.calculatedValue()
    },
    // 用户列表删除
    userDel(row) {
@@ -1899,12 +1994,17 @@
          this.userTableData.splice(index, 1)
        }
      })
      this.calculatedValue()
    },
    // 用户列表保存
    userSave(row) {
      console.log(row, 123)
      if (row.usercode === '') {
        return this.$message.info('人员名称不能为空!')
      }
      if (row.ratio === '') {
        return this.$message.info('分配比列不能为空!')
      }
      this.ZZuserArr.forEach((item, index) => {
@@ -1981,7 +2081,11 @@
      this.dialogForm.startqtySum = '' // 不能超过的数值
      this.dialogForm.reckway = '' // 计件方式
      this.dialogForm.nextstepcode = '' // 下道工序编码
      this.dialogForm.reckway = 'group'
      this.dialogForm.remarks = '' // 备注
      this.dialogForm.operation = getCookie('navTabId') // 报工人(收料人)
@@ -2055,7 +2159,8 @@
                this.dialogVisible = false
                this.$message.success('收料成功!')
                if (this.dialogForm.nextstepcode === '') {
                  this.WXprint2(this.OperationArr.find(item => item.usercode === this.dialogForm.inuser).username)
                  // this.WXprint2(this.OperationArr.find(item => item.usercode === this.dialogForm.inuser).username)
                  this.WXprint2(this.OperationArr.find(item => item.usercode === getCookie('navTabId')).username)
                  this.dialogVisible2 = true
                }
                this.tabClick()
@@ -2093,14 +2198,8 @@
            if (parseFloat(this.dialogForm.startqtySum) < parseFloat(this.dialogForm.startqty) + parseFloat(this.dialogForm.noputqty)) {
              return this.$message.info('报工数量加不良数量不能大于了未报数量!')
            }
            if (this.userTableData.length < 1) {
            if (this.userTableData.length < 1 && this.dialogForm.reckway === 'group') {
              return this.$message.info('人员列表不能为空!')
            }
            if (parseFloat(this.dialogForm.noputqty) > 0) {
              if (this.dialogForm.badcode.length < 1) {
                return this.$message.info('请选择不良原因!')
              }
            }
            // this.userTableData = [...new Set(this.userTableData)]// 数组去重
            this.userTableData = this.userTableData.filter(item => item.usercode !== '')
@@ -2108,8 +2207,26 @@
            this.userTableData = this.userTableData.filter((currentValue, currentIndex, selfArr) => {
              return selfArr.findIndex(item => item.usercode === currentValue.usercode) === currentIndex
            })
            if (this.dialogForm.reckway === 'group') {
              let sum = 0
              this.userTableData.forEach(item => {
                sum += item.ratio
              })
              if (sum !== 100) {
                return this.$message.info('分配比例总和必须为100!')
              }
            }
            if (parseFloat(this.dialogForm.noputqty) > 0) {
              if (this.dialogForm.badcode.length < 1) {
                return this.$message.info('请选择不良原因!')
              }
            }
            // console.log(this.userTableData, 1)
            const reportuser = this.userTableData.map(item => item.usercode).join(';')
            // const reportuser = this.userTableData.map(item => item.usercode).join(';')// 主要改的是这里的格式
            console.log(this.dialogForm.operation, 'dialogForm.operation')
            const data = {
              mesordercode: this.dialogForm.wo_code, // 工单编号
              partcode: this.dialogForm.partcode, // 产品编码
@@ -2117,23 +2234,28 @@
              stepcode: this.dialogForm.stepcode, // 工序编码
              eqpcode: this.dialogForm.eqpcode, // 设备编码
              usergroupcode: this.dialogForm.usergroupcode, // 班组编码
              reportuser: reportuser, // 报工人员
              // reportuser: reportuser, // 报工人员
              reportuser: this.dialogForm.reckway === 'group' ? this.userTableData : [{ usercode: this.dialogForm.operation, ratio: 100 }],
              taskqty: this.dialogForm.planqty, // 任务数量
              // startqty: this.dialogForm.startqty, // 开工数量
              startqty: this.dialogForm.reportqty, // 开工数量
              // reportqty: this.dialogForm.reportqty, // 报工数量
              reportqty: this.dialogForm.startqty, // 报工数量
              remarks: this.dialogForm.remarks, // 备注
              reckway: this.dialogForm.reckway, // 计件方式
              ngqty: this.dialogForm.noputqty === '' ? 0 : this.dialogForm.noputqty, // 不良数量
              badcode: this.dialogForm.badcode.length < 1 ? '' : this.dialogForm.badcode.join(';')// 不良原因
            }
            // console.log(JSON.stringify(data), 'data')
            console.log(data, 'data')
            this.$store.state.app.buttonIsDisabled = true
            SavaMesOrderStepReport(data).then(res => {
              if (res.code === '200') {
                this.dialogVisible = false
                this.$message.success('报工成功!')
                if (this.dialogForm.nextstepcode === '') {
                  this.ZZprint2(this.OperationArr.find(item => item.usercode === this.dialogForm.operation).username)
                  this.ZZprint2(this.OperationArr.find(item => item.usercode === getCookie('navTabId')).username)
                  this.dialogVisible2 = true
                }
                this.tabClick()
@@ -2224,11 +2346,11 @@
        Data: this.badTableDataDialog
      }
      this.$store.state.app.buttonIsDisabled = true
      EditOrderNgStepSeave(data, this.badDialogForm.operation).then(res => {
      EditOrderNgStepSeave(data, getCookie('navTabId')).then(res => {
        if (res.code === '200' || res.code === '301') {
          this.getBadList()
          this.badDialogVisible = false
          this.badPrint(this.OperationArr.find(item => item.usercode === this.badDialogForm.operation).username)
          this.badPrint(this.OperationArr.find(item => item.usercode === getCookie('navTabId')).username)
          this.dialogVisible2 = true
          this.$message.success('保存成功!')