小小儁爺
2024-08-08 d20654ba067e5c0621d4d7d95915cbe47a10fe87
src/views/reportManager/personSalaryList.vue
@@ -40,18 +40,31 @@
          style="display: flex; "
        >
          <div class="elForm">
            <el-form-item label="生产车间" style=" display: flex;">
              <el-select v-model="form.wkshopcode" style="width: 200px" placeholder="请选择">
                <el-option
                  v-for="item in WorkShopArr"
                  :key="item.code"
                  :label="item.name"
                  :value="item.code"
                />
              </el-select>
            </el-form-item>
            <el-form-item label="销售单号" style=" display: flex;">
              <el-input v-model="form.saleordercode" style="width: 200px" placeholder="请输入" />
            </el-form-item>
            <el-form-item label="工单编号" style="display: flex;">
              <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-form-item>
            <el-form-item label="产品名称" style=" display: flex;">
            <el-form-item v-show="isExpandForm" label="产品名称" style=" display: flex;">
              <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-form-item>
            <!--            <el-form-item label="规格型号" style=" display: flex;">-->
            <!--              <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-form-item>
@@ -65,9 +78,9 @@
                />
              </el-select>
            </el-form-item>
            <el-form-item v-show="isExpandForm" label="报工人员" style=" display: flex;">
              <el-input v-model="form.reportname" style="width: 200px" placeholder="请输入" />
            </el-form-item>
            <!--            <el-form-item v-show="isExpandForm" label="报工人员" style=" display: flex;">-->
            <!--              <el-input v-model="form.reportname" style="width: 200px" placeholder="请输入" />-->
            <!--            </el-form-item>-->
            <el-form-item v-show="isExpandForm" label="报工时间" style="display: flex;align-items: center">
              <el-date-picker
                v-model="form.reportdate"
@@ -137,6 +150,12 @@
                label="序号"
              />
              <el-table-column
                prop="saleOrderCode"
                label="销售单号"
                width="160"
                sortable="custom"
              />
              <el-table-column
                prop="wo_code"
                label="工单编号"
                width="160"
@@ -189,6 +208,18 @@
                show-tooltip-when-overflow
                sortable="custom"
              />
              <el-table-column
                prop="wkshp_name"
                label="生产车间"
                width="110"
                show-tooltip-when-overflow
                sortable="custom"
              >
                <template slot-scope="{row}">
                  <div v-if="row.wkshp_name">{{ row.wkshp_name }}</div>
                  <div v-else>/</div>
                </template>
              </el-table-column>
              <el-table-column
                prop="group_name"
                label="生产班组"
@@ -266,7 +297,7 @@
            :page.sync="form.page"
            :limit.sync="form.rows"
            align="right"
            layout="total,prev, pager, next,sizes"
            layout="total,prev, pager, next,sizes,jumper"
            popper-class="select_bottom"
            @pagination="getPeopleSalaryReportSearch"
          />
@@ -293,6 +324,12 @@
                width="50"
                fixed
                label="序号"
              />
              <el-table-column
                prop="saleOrderCode"
                label="销售单号"
                width="160"
                sortable="custom"
              />
              <el-table-column
                prop="wo_code"
@@ -347,6 +384,18 @@
                show-tooltip-when-overflow
                sortable="custom"
              />
              <el-table-column
                prop="wkshp_name"
                label="生产车间"
                width="110"
                show-tooltip-when-overflow
                sortable="custom"
              >
                <template slot-scope="{row}">
                  <div v-if="row.wkshp_name">{{ row.wkshp_name }}</div>
                  <div v-else>/</div>
                </template>
              </el-table-column>
              <el-table-column
                prop="group_name"
                label="生产班组"
@@ -413,7 +462,7 @@
            :page.sync="form.page"
            :limit.sync="form.rows"
            align="right"
            layout="total,prev, pager, next,sizes"
            layout="total,prev, pager, next,sizes,jumper"
            popper-class="select_bottom"
            @pagination="getPeopleSalaryReportSearch"
          />
@@ -475,9 +524,10 @@
import elDragDialog from '@/directive/el-drag-dialog'
import waves from '@/directive/waves'
import { StepSelect } from '@/api/makeModel'
import { WorkShopSelect } from '@/api/deviceManager'
export default {
  name: 'Zzjg',
  name: 'PersonSalaryList',
  components: {
    Pagination, ImportPicker
  },
@@ -490,6 +540,7 @@
      tableHeight: 0,
      StepSelectArr: [], // 剔除工序数组
      form: {
        saleordercode: '',
        wocode: '', // 工单编号
        partcode: '', // 产品编码
        partname: '', // 产品名称
@@ -497,7 +548,9 @@
        stepname: '', // 工序名称
        groupcode: '', // 生产班组
        reportname: '', // 操作人员
        reportdate: '', // 操作时间
        reportdate: [new Date().getFullYear() + '-' + (new Date().getMonth() + 1).toString().padStart(
          2, '0') + '-01', new Date().toISOString().slice(0, 10)], // 操作时间
        wkshopcode: this.$store.state.settings.orgType === 'W' ? getCookie('stu_torgcode') : '', // 所属车间
        rejectstepcode: [], // 剔除工序(固定薪资工序不参与计算
        compute: 'last', // 计件方式
        prop: 'partcode', // 排序字段
@@ -505,6 +558,7 @@
        page: 1, // 第几页
        rows: 20 // 每页多少条
      },
      WorkShopArr: [],
      groupArr: [],
      total: 10,
      tableData: [],
@@ -562,12 +616,18 @@
      this.getPeopleSalaryReportSearch().then(res => {
        if (res.code === '200') {
          this.getMesOrderStepReportSelectUserGroup()
          this.getStepSelect()
          this.getWorkShopSelect()
          // this.getStepSelect()
        }
      })
    },
    // 获取所属车间下拉
    async getWorkShopSelect() {
      const { data: res } = await WorkShopSelect()
      this.WorkShopArr = res
    },
    // 获取工序下拉接口
    async  getStepSelect() {
    async getStepSelect() {
      const { data: res } = await StepSelect()
      this.StepSelectArr = res
    },
@@ -575,7 +635,7 @@
      const { columns, data } = param
      const sums = []
      const i = this.form.compute === 'last' ? 11 : 10
      const i = this.form.compute === 'last' ? 13 : 12
      columns.forEach((column, index) => {
        if (index === i) {
@@ -617,6 +677,7 @@
        tempDate = handleDatetime(tempDate[0]) + '~' + handleDatetime(tempDate[1])
      }
      const data = {
        saleordercode: this.form.saleordercode,
        wocode: this.form.wocode,
        partcode: this.form.partcode,
        partname: this.form.partname,
@@ -624,6 +685,7 @@
        stepname: this.form.stepname,
        groupcode: this.form.groupcode,
        compute: this.form.compute,
        wkshopcode: this.form.wkshopcode,
        reportname: this.form.reportname,
        rejectstepcode: this.form.rejectstepcode.join(','),
        reportdate: tempDate,
@@ -647,7 +709,7 @@
    },
    async getMesOrderStepReportSelectUserGroup() {
      const { data: res } = await MesOrderStepReportSelectUserGroup()
      const { data: res } = await MesOrderStepReportSelectUserGroup({ wkshopcode: this.form.wkshopcode })
      this.groupArr = res
    },
    tabClick(val) {
@@ -674,6 +736,7 @@
      }
      const data = {
        saleordercode: this.form.saleordercode,
        wocode: this.form.wocode,
        partcode: this.form.partcode,
        partname: this.form.partname,
@@ -682,10 +745,12 @@
        groupcode: this.form.groupcode,
        compute: this.form.compute,
        reportname: this.form.reportname,
        wkshopcode: this.form.wkshopcode,
        reportdate: tempDate
      }
      const { data: res } = await PeopleSalaryReportExcelSearch(data)
      // console.log(res, 1)
      window.location.href = res
    },
    // 查询
@@ -702,6 +767,7 @@
    },
    // 重置
    reset() {
      this.form.saleordercode = ''
      this.form.wocode = ''
      this.form.partcode = ''
      this.form.partname = ''
@@ -709,88 +775,17 @@
      this.form.stepname = ''
      this.form.groupcode = ''
      this.form.reportname = ''
      this.form.reportdate = ''
      this.form.reportdate = [new Date().getFullYear() + '-' + (new Date().getMonth() + 1).toString().padStart(
        2, '0') + '-01', new Date().toISOString().slice(0, 10)]
      this.form.wkshopcode = this.$store.state.settings.orgType === 'W' ? getCookie('stu_torgcode') : '' // 所属车间
      this.getPeopleSalaryReportSearch()
    },
    // 新增按钮
    add(operation) {
      this.operation = operation
      this.dialogVisible = true
    },
    // 修改按钮
    async edit(operation, row) {
      this.operation = operation
      this.dialogVisible = true
      const res = await GroupSalaryReportSearchUser({ id: row.id })
      this.tagArr = res.data.map(r => r.reportname)
      // this.tagArr = ['楼李俊', '张三', '李四']
      // this.$nextTick(() => {
      //   this.dialogForm.OrgCode = row.org_code
      //   this.dialogForm.OrgName = row.org_name
      //   this.dialogForm.SupUnit = row.parent_id
      // })
    },
    // 删除按钮
    async del(row) {
      // this.$confirm('是否确认删除?', '提示', {
      //   confirmButtonText: '确定',
      //   cancelButtonText: '取消',
      //   type: 'warning'
      // }).then(() => {
      //   DeleteOrganization({ orgid: row.code }).then(res => {
      //     if (res.code === '200') {
      //       this.$message.success('删除成功!')
      //       if (this.form.page > 1 && this.tableData.length === 1) {
      //         this.form.page--
      //       }
      //       this.getPeopleSalaryReportSearch()
      //     }
      //   })
      // }).catch(() => {
      //   this.$message.info('已取消删除')
      // })
    },
    // 对话框关闭事件
    handleClose() {
      this.dialogForm.OrgType = ''
      this.dialogForm.OrgCode = ''
      this.dialogForm.OrgName = ''
      this.dialogForm.SupUnit = ''
      this.$refs.dialogForm.clearValidate()
    },
    // 对话框取消
    dialogVisibleCancel() {
      this.dialogVisible = false
    },
    // 对话框确认
    dialogVisibleConfirm() {
      this.$refs.dialogForm.validate(valid => {
        if (valid) {
          const data = {
            OrganCode: this.dialogForm.OrgCode,
            OrganName: this.dialogForm.OrgName,
            OperType: this.operation === 'add' ? 'Add' : 'Update',
            Operator: getCookie('admin')
          }
          // AddUpdateOrganization(data).then(res => {
          //   if (res.code === '200') {
          //     this.$message.success(this.operation === 'add' ? '添加成功!' : '修改成功!')
          //     this.dialogVisible = false
          //     this.getPeopleSalaryReportSearch()
          //   } else {
          //     this.$message.error(this.operation === 'add' ? '添加失败!' : '修改失败!')
          //   }
          // })
        }
      })
    },
    // 获取页面高度
    getHeight() {
      this.$nextTick(() => {
        this.mainHeight = window.innerHeight - 85
        this.tableHeight = this.mainHeight - 255
        this.tableHeight = this.mainHeight - 245
        this.$refs.tableDataRef.doLayout()
        this.$refs.tableDataRef2.doLayout()
      })