GuLiMmo
2023-12-12 1d4246ec700c86cb0c0630f63df2cf4f9bbe8fa2
评优任务、考核任务页面修改
3 files modified
117 ■■■■ changed files
src/option/evaluate/evaluateTask.js 14 ●●●●● patch | view | raw | blame | history
src/views/assessment/assessmentTask.vue 71 ●●●● patch | view | raw | blame | history
src/views/evaluate/evaluateTask.vue 32 ●●●●● patch | view | raw | blame | history
src/option/evaluate/evaluateTask.js
@@ -1,3 +1,9 @@
const status = {
  0: '未开始',
  1: '进行中',
  2: '已结束'
}
export default {
  height:'auto',
  calcHeight: 30,
@@ -87,6 +93,9 @@
      addDisplay: false,
      editDisplay: false,
      viewDisplay: false,
      formatter: (row, value) => {
        return status[value]
      },
      minWidth: '100px'
    },
    {
@@ -96,7 +105,7 @@
      minWidth: '100px'
    },
    {
      label: "候选人截止日期",
      label: "评优评先截止时间",
      prop: "evaluateCutoffTime",
      type: "date",
      format: "YYYY-MM-DD HH:mm:ss",
@@ -110,6 +119,9 @@
      addDisplay: false,
      editDisplay: false,
      viewDisplay: false,
      formatter: (row, value) => {
        return status[value]
      },
      minWidth: '100px'
    },
    {
src/views/assessment/assessmentTask.vue
@@ -1,12 +1,7 @@
<template>
  <basic-container>
    <template v-if="isResult">
      <ul class="task-box">
        <li v-for="(taskType, index) in taskTypeList" :key="index" @click="tabClick(taskType.value, index)"
          :class="{ 'active-type': index === defaultTaskType }">
          {{ taskType.label }}
        </li>
      </ul>
      <avue-tabs :option="taskTypeList" @change="tabChange"></avue-tabs>
      <avue-crud :option="option" v-model:search="search" v-model:page="page" v-model="form" :table-loading="loading"
        :data="data" :permission="permissionList" :before-open="beforeOpen" ref="crud" @row-update="rowUpdate"
        @row-save="rowSave" @row-del="rowDel" @search-change="searchChange" @search-reset="searchReset"
@@ -68,28 +63,26 @@
      // 考核结果参数
      resultParams: {},
      defaultTaskType: 0,
      taskTypeList: [
        {
          label: '全部',
          value: null
        },
      taskTypeList: {
        column: [
        {
          label: '个人考核任务',
          value: 0
            prop: 0
        },
        {
          label: '部门考核任务',
          value: 1
            prop: 1
        }
      ]
      }
    };
  },
  watch: {
    defaultTaskType(n) {
      const taskType = this.taskTypeList[n].value;
      let params = {}
      taskType === void 0 ? params = {} : params = { type: taskType }
      this.query = params;
      this.query['type'] = n
      let params = {
          type: n
      }
      this.page.currentPage = 1;
      this.onLoad(this.page, params);
    }
@@ -245,7 +238,8 @@
      } = this.query;
      let values = {
        ...this.query
        ...this.query,
        ...params
      };
      getList(page.currentPage, page.pageSize, values).then(res => {
@@ -256,47 +250,12 @@
        this.selectionClear();
      });
    },
    tabClick(value, index) {
      this.defaultTaskType = index
    tabChange(value) {
      this.defaultTaskType = value.prop
    }
  }
};
</script>
<style lang="scss" scoped>
.task-box {
  margin: 0;
  padding: 0;
  list-style-type: none;
  display: flex;
  align-items: end;
  margin-bottom: 10px;
  height: 35px;
  li {
    margin-left: 20px;
    padding-bottom: 5px;
    cursor: pointer;
    transition: all .3s ease-in-out;
    &:first-child {
      margin-left: 0;
    }
  }
}
.active-type {
  font-size: 20px;
  font-weight: 400;
  position: relative;
  &::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 2px;
    bottom: 0;
    left: 0;
    background-color: var(--el-color-primary);
  }
}</style>
</style>
src/views/evaluate/evaluateTask.vue
@@ -20,7 +20,7 @@
        <el-button type="primary" text plain icon="el-icon-edit" @click="editDialog(row)">
          编辑
        </el-button>
        <el-button type="primary" text plain icon="el-icon-position" @click="dialogVisible = true">
        <el-button type="primary" text plain icon="el-icon-position" @click="publicTimeBtn(row)">
          发布
        </el-button>
        <el-button type="primary" text plain icon="el-icon-download" @click="">
@@ -32,13 +32,14 @@
    <el-dialog v-model="dialogVisible" title="发布" width="500px">
      <el-form :model="publicForm">
        <el-form-item label="评优评先截止时间:">
          <el-date-picker v-model="publicForm.publicData" type="datetime" placeholder="请选择截止时间" style="width: 100%;" />
          <el-date-picker v-model="publicForm.publicData" type="datetime" placeholder="请选择截止时间"
            value-format="YYYY-MM-DD HH:mm:ss" style="width: 100%;" />
        </el-form-item>
      </el-form>
      <template #footer>
        <span class="dialog-footer">
          <el-button @click="dialogVisible = false">取消</el-button>
          <el-button type="primary" @click="dialogVisible = false">确认</el-button>
          <el-button type="primary" @click="timeSubmit">确认</el-button>
        </span>
      </template>
    </el-dialog>
@@ -66,6 +67,7 @@
  },
  data() {
    return {
      rowData: {},
      form: {},
      query: {},
      search: {},
@@ -289,6 +291,30 @@
        })
        return deptList
      });
    },
    publicTimeBtn(row) {
      this.rowData = row
      this.dialogVisible = true
    },
    timeSubmit() {
      const { id } = this.rowData
      const params = {
        id,
        evaluateCutoffTime: this.publicForm.publicData
      }
      add(params).then(res => {
        this.$message({
          type: "success",
          message: "操作成功!"
        });
        this.refreshChange()
      }, error => {
        this.$message({
          type: "success",
          message: error
        });
      })
      this.dialogVisible = false
    }
  }
};