value
2024-06-13 fd9deb7e45ff86f3570a3048a459b29f0ebbd628
src/components/do/b3-work-time-management/work-time-statistics.vue
@@ -10,7 +10,8 @@
            format="yyyy-MM"
            value-format="yyyy-MM"
            placeholder="选择月" size="small" style="width: 100%;"
            :clearable="false">
            :clearable="false"
            @change="refreshTable()">
          </el-date-picker>
        </div>
         </div>
@@ -39,8 +40,8 @@
            <el-button size="small" type="primary" @click="refreshTable()">查 询</el-button>
         </div>
      <div class="search_thing">
        <el-button size="small" type="primary"  @click="handleDown" v-show="currentTable == 'value0'">导 出</el-button>
        <el-button size="small" type="primary" @click="handleUp" v-show="currentTable == 'value1'">导 入</el-button>
        <el-button size="small" type="primary"  @click="handleDown" v-show="currentTable == 'value0'&&down" :loading="outLoading">导 出</el-button>
        <el-button size="small" type="primary"  @click="handleUp" v-show="currentTable == 'value1'&&up">导 入</el-button>
      </div>
      </div>
    <el-radio-group v-model="currentTable" size="small" :key="'111'" style="margin-top: 10px;">
@@ -55,7 +56,7 @@
      <ValueTable ref="ValueTable0"
        v-if="currentTable == 'value0'"
            :url="$api.auxiliaryOriginalHours.selectAuxiliaryOriginalHours"
            :componentData="componentData" :downUrl="$api.auxiliaryWorkingHours.selectAuxiliaryWorkingHours" :key="upIndex" />
            :componentData="componentData" :key="upIndex" />
      <ValueTable ref="ValueTable1"
        v-if="currentTable == 'value1'"
            :url="$api.auxiliaryCorrectionHours.selectAuxiliaryCorrectionHours"
@@ -77,6 +78,8 @@
  },
  data () {
    return{
      down:false,
      up:false,
      componentData: {
               entity: {
                  month: getYearAndMonthAndDays().split('-')[0]+'-'+getYearAndMonthAndDays().split('-')[1],
@@ -130,13 +133,15 @@
      upIndex1:100,
      weekList:[],
      personList:[],
      currentTable:'value0'
      currentTable:'value0',
      outLoading:false
    }
  },
  mounted(){
    this.getUsers()
    this.entityCopy = this.HaveJson(this.componentData.entity);
    this.entityCopy0 = this.HaveJson(this.componentData0.entity);
    this.getPower()
  },
  methods: {
    refresh(){
@@ -185,10 +190,41 @@
        })
    },
    handleDown(){
      this.$refs.ValueTable0.downFile(false)
      // this.$refs.ValueTable0.downFile(false)
      let entity = {...this.entity}
      entity.month = entity.month.split('-')[0]+'-'+entity.month.split('-')[1]
      this.outLoading = true
      this.$axios.get(this.$api.auxiliaryOriginalHours.exportOriginalHours,{
        params:entity,
      },{responseType: "blob"}).then(res => {
        this.outLoading = false
        this.$message.success('导出成功')
        const blob = new Blob([res],{ type: 'application/octet-stream' });
        console.log(blob)
        const url = URL.createObjectURL(blob);
        const link = document.createElement('a');
        link.href = url;
        link.download = entity.month+'工时统计表.xlsx';
        link.click();
      })
    },
    handleUp(){
      this.$refs.ValueTable1.openUpload()
    },
    getPower(){
      let power = JSON.parse(sessionStorage.getItem('power'))
        let up = false
        let down = false
        for (var i = 0; i < power.length; i++) {
               if (power[i].menuMethod == 'exportOriginalHours') {
                  down = true
               }
               if (power[i].menuMethod == 'upload') {
                  up = true
               }
            }
        this.down = down
        this.up = up
    }
  }
}