fuliqi
2025-01-07 8f38cbf36743746bde6997cef3998eadc6e95e10
核算重构
3个文件已修改
65 ■■■■ 已修改文件
src/views/system/contract/contract-result/index.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/contract/report/index.vue 45 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/contract/score/index.vue 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/contract/contract-result/index.vue
@@ -112,7 +112,7 @@
      >
        <el-card class="box-card">
          <div slot="header" class="clearfix">
            <span>{{ item.contractName }}</span>
            <span>{{ item.unitName + item.whichYear +'年'+item.whichMonth+'月考核报告' }}</span>
            <el-button
              style="float: right; padding: 3px 6px"
              type="text"
@@ -142,7 +142,7 @@
              size="small"
              round
              style="float: right"
              disabled
              @click="handlePublish(item)"
              v-show="item.publish == 1"
              v-hasPermi="['contract:result:publish']"
              >已发布</el-button
@@ -291,8 +291,8 @@
    };
  },
  created() {
    this.getList();
    this.getUnitSelect();
    this.getList();
  },
  methods: {
    getUnitSelect() {
@@ -373,7 +373,7 @@
      let text = row.publish == 1 ? "取消发布" : "发布";
      const ids = row.id || this.ids;
      this.$modal
        .confirm("是否确认" + text + '考核结果编号为"' + ids + '"的数据项?')
        .confirm("是否确认" + text + row.unitName + row.whichYear +'年'+row.whichMonth+'月考核报告?')
        .then(function () {
          return publishCheckResult(ids);
        })
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() {
src/views/system/contract/score/index.vue
@@ -272,8 +272,11 @@
    };
  },
  created() {
    this.getList();
    this.getUnitSelect();
    if(this.$route.query.time){
      this.daterangeCreateTime= this.$route.query.time
    }
    this.getList();
  },
  methods: {
    /** 详细按钮操作 */
@@ -362,6 +365,13 @@
      // 运维单位下拉列表
      unitSelect().then((res) => {
        this.unitList = res.data;
        if (this.$route.query.unitId) {
          // 先找到对应的选项
          const unit = this.unitList.find(item => item.id === Number(this.$route.query.unitId) || item.id === this.$route.query.unitId);
          if (unit) {
            this.queryParams.unitId = unit.id; // 确保类型匹配
          }
        }
      })
    },
    /** 查询违规审核列表 */