gaoluyang
2024-07-31 38e6f27a8082e1173e3c02a33da5da39b6c6872c
src/components/do/b3-work-time-management/work-time-management.vue
@@ -27,8 +27,8 @@
            size="small"
            type="daterange"
            range-separator="至"
            format="yyyy-MM-dd HH:mm:ss"
            value-format="yyyy-MM-dd HH:mm:ss"
            format="yyyy-MM-dd"
            value-format="yyyy-MM-dd"
            start-placeholder="开始日期"
            end-placeholder="结束日期" @change="refreshTable()" clearable>
          </el-date-picker>
@@ -63,7 +63,7 @@
      </el-radio-group>
      <div style="display: flex;align-items: center;">
        <p style="font-size: 14px;margin-right: 30px;">
          总工时汇总:<span style="font-size: 16px;color: #3A7BFA;" v-if="totalInfo">{{ (totalInfo['产量工时汇总']+totalInfo['辅助工时汇总'])? (totalInfo['产量工时汇总']+totalInfo['辅助工时汇总']):0 }}</span>&nbsp;&nbsp;&nbsp;&nbsp;产量工时汇总:<span style="font-size: 16px;color: #3A7BFA;" v-if="totalInfo">{{totalInfo['产量工时汇总']?totalInfo['产量工时汇总']:0}}</span>&nbsp;&nbsp;&nbsp;&nbsp;辅助工时汇总:<span style="font-size: 16px;color: #3A7BFA;" v-if="totalInfo">{{totalInfo['辅助工时汇总']?totalInfo['辅助工时汇总']:0}}</span>
          总工时汇总:<span style="font-size: 16px;color: #3A7BFA;" v-if="totalInfo">{{ (totalInfo['产量工时汇总']+totalInfo['辅助工时汇总'])? Number((totalInfo['产量工时汇总']+totalInfo['辅助工时汇总'])).tofixed(4):0 }}</span>&nbsp;&nbsp;&nbsp;&nbsp;产量工时汇总:<span style="font-size: 16px;color: #3A7BFA;" v-if="totalInfo">{{totalInfo['产量工时汇总']?Number(totalInfo['产量工时汇总']).tofixed(4):0}}</span>&nbsp;&nbsp;&nbsp;&nbsp;辅助工时汇总:<span style="font-size: 16px;color: #3A7BFA;" v-if="totalInfo">{{totalInfo['辅助工时汇总']?Number(totalInfo['辅助工时汇总']).tofixed(4):0}}</span>
        </p>
        <el-button size="small" type="primary" @click="openAdd" v-show="currentTable == 'ValueTable0'&&add">录入数据</el-button>
        <el-button size="small" type="primary"
@@ -75,12 +75,11 @@
    </div>
    <div class="table">
      <ValueTable ref="ValueTable0"
        v-if="currentTable == 'ValueTable0'"
        v-if="currentTable == 'ValueTable0'" :isColumnWidth="true"
            :url="$api.auxiliaryWorkingHoursDay.selectAuxiliaryWorkingHoursDay"
            :delUrl="$api.auxiliaryWorkingHoursDay.deleteAuxiliaryWorkingHoursDay" :componentData="componentData" :key="upIndex"
        @delete="handleDelete" />
      <ValueTable ref="ValueTable1"
      v-if="currentTable == 'ValueTable1'"
      <ValueTable ref="ValueTable1" v-if="currentTable == 'ValueTable1'" :isColumnWidth="true"
            :url="$api.auxiliaryOutputWorkingHours.selectAuxiliaryOutputWorkingHours" :componentData="componentData1" :key="upIndex1" />
    </div>
    <el-dialog :title="formData.id?'编辑':'录入数据'" :visible.sync="addVisible" width="600px" :before-close="handleClose">
@@ -162,13 +161,16 @@
              </el-select>
            </el-form-item>
            <el-form-item label="姓名:">
              <el-input v-model="formData0.nameUser" size="small" disabled></el-input>
              <el-input v-model="formData0.name" size="small" disabled></el-input>
            </el-form-item>
            <el-form-item label="班次:">
              <el-select v-model="formData0.shift" placeholder="请选择" size="small" :disabled="title=='批准'">
                <el-option v-for="item in classType" :key="item.value" :label="item.label" :value="item.value">
                </el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="复核说明:">
              <el-input v-model="formData0.reviewerRemark" type="textarea" :rows="3" size="small" :disabled="title=='批准'"></el-input>
            </el-form-item>
          </el-form>
            </el-col>
@@ -178,6 +180,9 @@
              <el-input v-model="formData0.number" size="small" :disabled="title=='批准'"></el-input>
            </el-form-item>
            <el-form-item label="数量:" required>
              <el-input v-model="formData0.amount" size="small" :disabled="title=='批准'"></el-input>
            </el-form-item>
            <el-form-item label="复核数量:" required>
              <el-input v-model="formData0.reviewerNumber" size="small" :disabled="title=='批准'"></el-input>
            </el-form-item>
            <el-form-item label="核准工时:">
@@ -192,12 +197,6 @@
          </el-form>
            </el-col>
         </el-row>
      <el-form :model="formData0" label-width="90px">
        <el-form-item label="复核说明:">
          <el-input v-model="formData0.reviewerRemark" type="textarea"
  :rows="3" size="small" :disabled="title=='批准'"></el-input>
        </el-form-item>
      </el-form>
         <span slot="footer" class="dialog-footer">
            <el-row>
               <el-button @click="submitCheck(0)" :loading="checkLoadN">{{title=='审核'?'不通过':'不批准'}}</el-button>
@@ -333,7 +332,8 @@
          }
        },
        requiredAdd: [],
        requiredUp: []
        requiredUp: [],
        needSort: ['createTime', 'name']
         },
      entityCopy: {},
         upIndex: 0,
@@ -341,7 +341,7 @@
               entity: {
                  week: null,
                  weekDay: null,
                  dateTime: null,
                  dateTime: [],
            name:null,
                  orderBy: {
                     field: 'id',
@@ -363,13 +363,13 @@
      entityCopy1: {},
      upIndex1:100,
      weekList:[
        {label: '周一', value: '1',type:'primary'},
        {label: '周二', value: '2',type:'primary'},
        {label: '周三', value: '3',type:'primary'},
        {label: '周四', value: '4',type:'primary'},
        {label: '周五', value: '5',type:'primary'},
        {label: '周六', value: '6',type:'primary'},
        {label: '周日', value: '7',type:'primary'}
        {label: '周一', value: '周一',type:'primary'},
        {label: '周二', value: '周二',type:'primary'},
        {label: '周三', value: '周三',type:'primary'},
        {label: '周四', value: '周四',type:'primary'},
        {label: '周五', value: '周五',type:'primary'},
        {label: '周六', value: '周六',type:'primary'},
        {label: '周日', value: '周日',type:'primary'}
      ],
      currentTable:'ValueTable0',
      addVisible:false,
@@ -400,6 +400,8 @@
        reviewerNonproductiveTime:'',
        auxiliaryProject:'',
        reviewerRemark:'',
        nameUser: '',
        name: ''
      },
      checkVisible:false,
      checkLoadN:false,
@@ -501,10 +503,13 @@
      let year = currentDate.getFullYear();
      let month = String(currentDate.getMonth() + 1).padStart(2, '0');
      let day = String(currentDate.getDate()).padStart(2, '0');
      let formattedDate1 = `${year}-${month}-${day} 00:00:00`;
      let formattedDate2 = `${year}-${month}-${day} 23:59:59`;
      let formattedDate1 = `${year}-${month}-${day}`;
      let formattedDate2 = `${year}-${month}-${day}`;
      this.entity.dateTime.push(formattedDate1);
      this.entity.dateTime.push(formattedDate2);
      this.componentData1.entity.dateTime.push(formattedDate1);
      this.componentData1.entity.dateTime.push(formattedDate2);
      this.componentData1.entity.dateTime = JSON.stringify(this.componentData1.entity.dateTime)
      this.refreshTable()
    },
    getPower(){
@@ -554,7 +559,7 @@
    getYearAndMonthAndDays(date){
      return getYearAndMonthAndDays(date)
    },
    refreshTable(){
    refreshTable(e){
      let entity = {}
      if(this.entity.week1&&this.entity.week2){
        entity.week = JSON.stringify([this.entity.week1,this.entity.week2])
@@ -571,11 +576,14 @@
      if(this.currentTable=='ValueTable0'){
        entity.state = this.entity.state
        this.componentData.entity = {...this.componentData.entity,...entity}
        this.$refs['ValueTable0'].selectList()
        this.$nextTick(() => {
          this.$refs['ValueTable0'].selectList(e)
        })
      }else{
        this.componentData1.entity = {...this.componentData1.entity,...entity}
        this.$refs['ValueTable1'].selectList()
        this.$refs['ValueTable1'].selectList(e)
      }
      this.collectWorkingHours()
    },
    refresh(){
      this.entity = {}
@@ -642,7 +650,7 @@
            this.formData.nonproductiveTime = ''
            this.formData.auxiliaryProject = ''
            // this.addVisible = false
            this.refreshTable()
            this.refreshTable('page')
            this.collectWorkingHours()
          })
      }else{
@@ -663,7 +671,7 @@
            this.formData.nonproductiveTime = ''
            this.formData.auxiliaryProject = ''
            // this.addVisible = false
            this.refreshTable()
            this.refreshTable('page')
            this.collectWorkingHours()
          })
      }
@@ -672,11 +680,13 @@
      this.title = '审核'
      this.formData0 = row;
      this.checkVisible = true
      this.formData0.reviewerNumber = this.formData0.amount
    },
    handleRatify(row){
      this.title = '批准'
      this.formData0 = row;
      this.checkVisible = true
      this.formData0.reviewerNumber = this.formData0.amount
    },
    handleChangeTask (row) {
      this.ValueTable0Selected = JSON.parse(JSON.stringify(row))
@@ -714,7 +724,7 @@
    },
    submitBatchCheckDialog () {
      this.batchCheckDialog = false
      this.refreshTable()
      this.refreshTable('page')
      this.collectWorkingHours()
    },
    submitCheck(e){
@@ -753,7 +763,7 @@
          if (res.code == 201) return
          this.$message.success('操作成功')
          this.checkVisible = false
          this.refreshTable()
          this.refreshTable('page')
          this.collectWorkingHours()
        })
      }else{
@@ -778,7 +788,7 @@
          if (res.code == 201) return
          this.$message.success('操作成功')
          this.checkVisible = false
          this.refreshTable()
          this.refreshTable('page')
          this.collectWorkingHours()
        })
      }
@@ -819,9 +829,28 @@
      return String(d)
    },
    collectWorkingHours(){
      this.$axios.post(this.$api.auxiliaryOutputWorkingHours.collectWorkingHours).then(res => {
        this.totalInfo = res.data
      })
      let entity = {}
      if(this.entity.week1&&this.entity.week2){
        entity.week = JSON.stringify([this.entity.week1,this.entity.week2])
      }else{
        entity.week = ''
      }
      if(this.entity.dateTime){
        entity.dateTime = JSON.stringify(this.entity.dateTime)
      }else{
        entity.dateTime = ''
      }
      entity.weekDay = this.entity.weekDay
      entity.name = this.entity.name
      this.$axios.post(this.$api.auxiliaryOutputWorkingHours.collectWorkingHours,{
    entity:entity
   }, {
  headers: {
 'Content-Type': 'application/json'
 }
 }).then(res => {
 this.totalInfo = res.data
 })
    },
    selectshiftByUser(){
      this.$axios.post(this.$api.auxiliaryWorkingHoursDay.selectshiftByUser).then(res => {
@@ -898,7 +927,4 @@
      height: calc(100% - 60px - 80px - 10px - 40px - 25px);
      padding: 20px;
   }
>>>.el-dialog__wrapper {
  z-index: 9999 !important; /* 根据需要调整层级 */
}
</style>