fuliqi
2025-01-07 8f38cbf36743746bde6997cef3998eadc6e95e10
src/views/system/contract/report/index.vue
@@ -32,7 +32,7 @@
        <div class="text item">最近扣减金额<span class="time">{{ item.latestDeductMoney ?  item.latestDeductMoney:0 }}</span></div>
        <div class="text item">累计扣减金额<span class="time">{{ item.deductMoney ? item.deductMoney:0}}</span></div>
        <div class="text item">最近核算月份
          <span v-if="item.latestTime" class="time">{{ new Date(item.latestTime).getFullYear() }}年{{ new Date(item.latestTime).getMonth()+1 }}月</span>
          <span v-if="item.latestMonth" class="time">{{ item.whichYear }}年{{ item.latestMonth }}月</span>
          <span v-else class="time">暂无</span>
        </div>
        <el-button size="small" type="primary" round style="float: right;margin-left: 18px;" @click="handleExport(item)" v-hasPermi="['system:calculate:report:export']">导出</el-button>
@@ -85,16 +85,19 @@
          :summary-method="getSummaries"
          style="width: 100%;text-align:center">
          <el-table-column
            prop="createTime"
            label="核算日期"
            prop="whichMonth"
            label="核算月份"
            width="180">
          <template slot-scope="scope">
            <span> {{ scope.row.whichYear +'年'+ scope.row.whichMonth+ '月'}}</span>
          </template>
          </el-table-column>
          <el-table-column
            prop="score"
            label="考核分数"
           >
            <template slot-scope="scope">
              <el-link @click="toScorePage(scope.row)">{{scope.row.score}}</el-link>
              <el-link @click="toScorePage(scope.row,detail.unitId)">{{scope.row.score}}</el-link>
            </template>
          </el-table-column>
          <el-table-column
@@ -122,7 +125,7 @@
              <el-button
                size="small"
                type="text"
                v-if="scope.row.status === 'published'"
                v-if="scope.row.status === 'PUBLISHED'"
                @click="handleDetailPublish(scope.row)"
              >
                取消发布
@@ -284,7 +287,7 @@
      })
    },
    handlePublish(row) {
      let text = row.status === 'published' ? '取消发布' : '发布';
      let text = row.status === 'PUBLISHED' ? '取消发布' : '发布';
      this.$modal.confirm('确认要【' + text + "】【" +  row.unitName +row.whichYear+"年】" + '的核算报告吗?').then(function() {
        // return publishCheckResult(ids);
      }).then(() => {
@@ -296,8 +299,8 @@
    },
    handleDetailPublish(row){
      let text = row.status === 'published' ? '取消发布' : '发布';
      row.status = row.status === 'published' ? 'not_publish' : 'published'
      let text = row.status === 'PUBLISHED' ? '取消发布' : '发布';
      row.status = row.status === 'PUBLISHED' ? 'UNPUBLISHED' : 'PUBLISHED'
      updatePublishStatusById(row.id,row.status).then(res => {
        this.$modal.msgSuccess(text + "成功");
      })
@@ -335,7 +338,7 @@
    /** 导出按钮操作 */
    handleExport(item) {
      this.download('calculate-report/export', {
        ...{ 'contractId': item.contractId }
        ...{ 'calculateId': item.id, 'contractId': item.contractId},
      }, `${item.contractName}运维核算.xlsx`)
    },
    /** 合计行 */
@@ -370,11 +373,29 @@
      });
      return sums;
    },
    toScorePage() {
    // 使用Vue Router进行页面跳转
    this.$router.push('/contract/score/index');
    toScorePage(row,unitId) {
      // 使用Vue Router进行页面跳转
      const { startDate, endDate } = this.getMonthDatesFormatted(row.whichYear, row.whichMonth);
      const time = [startDate,endDate]
      this.$router.push({path: '/contract/score', query: {unitId: unitId, time: time}});
    },
    getMonthDatesFormatted(year, month) {
      const startDate = new Date(year, month - 1, 1);
      const endDate = new Date(year, month, 0);
      // 格式化成 YYYY-MM-DD
      const formatDate = (date) => {
        const yyyy = date.getFullYear();
        const mm = String(date.getMonth() + 1).padStart(2, '0');
        const dd = String(date.getDate()).padStart(2, '0');
        return `${yyyy}-${mm}-${dd}`;
      };
      return {
        startDate: formatDate(startDate),
        endDate: formatDate(endDate)
      };
    },
    // 删除按钮
    handleDelete() {