| | |
| | | const status = { |
| | | 0: '未开始', |
| | | 1: '进行中', |
| | | 2: '已结束' |
| | | 2: '已完成' |
| | | } |
| | | |
| | | export default { |
| | | export const option = { |
| | | height: 'auto', |
| | | calcHeight: 30, |
| | | tip: false, |
| | |
| | | }, |
| | | ] |
| | | } |
| | | |
| | | export const sectionOption = { |
| | | height: 'auto', |
| | | calcHeight: 30, |
| | | tip: false, |
| | | searchShow: true, |
| | | searchMenuSpan: 6, |
| | | border: true, |
| | | index: true, |
| | | viewBtn: true, |
| | | addBtn: false, |
| | | editBtn: false, |
| | | selection: true, |
| | | dialogClickModal: false, |
| | | menuFixed: 'right', |
| | | column: [ |
| | | { |
| | | label: "主键", |
| | | prop: "id", |
| | | type: "input", |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | viewDisplay: false, |
| | | hide: true, |
| | | }, |
| | | { |
| | | label: "租户ID", |
| | | prop: "tenantId", |
| | | type: "input", |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | viewDisplay: false, |
| | | hide: true, |
| | | }, |
| | | { |
| | | label: "任务名称", |
| | | prop: "taskName", |
| | | type: "input", |
| | | search: true, |
| | | minWidth: '120px' |
| | | }, |
| | | { |
| | | label: "任务类别", |
| | | prop: "taskType", |
| | | type: "input", |
| | | minWidth: '100px' |
| | | }, |
| | | { |
| | | label: "认定标准描述", |
| | | prop: "remark", |
| | | type: "input", |
| | | hide: true, |
| | | }, |
| | | { |
| | | label: "评定人数量", |
| | | prop: "candidateNum", |
| | | type: "input", |
| | | span: 24, |
| | | minWidth: '100px', |
| | | formatter: (row, value) => { |
| | | let num = 0 |
| | | if (value === void 0) { |
| | | num = 0 |
| | | } else { |
| | | if (!row.type) { |
| | | value.forEach(item => { |
| | | num += Number(item.val) |
| | | }) |
| | | } else { |
| | | row.candidateNum.forEach(item => { |
| | | num += Number(item.users.length) |
| | | }) |
| | | } |
| | | } |
| | | return num + '人' |
| | | }, |
| | | }, |
| | | { |
| | | label: "类型", |
| | | prop: 'type', |
| | | type: 'select', |
| | | hide: true, |
| | | dicData: [{ |
| | | label: '个人评优', |
| | | value: 0, |
| | | }, |
| | | { |
| | | label: '部门评优', |
| | | value: 1, |
| | | }] |
| | | }, |
| | | { |
| | | label: "评优数量", |
| | | prop: "evaluateNum", |
| | | type: "input", |
| | | minWidth: '100px' |
| | | }, |
| | | { |
| | | label: "评优评先截止时间", |
| | | prop: "evaluateCutoffTime", |
| | | type: "date", |
| | | format: "YYYY-MM-DD HH:mm:ss", |
| | | valueFormat: "YYYY-MM-DD HH:mm:ss", |
| | | minWidth: '200px' |
| | | }, |
| | | { |
| | | label: "评优评选状态", |
| | | prop: "evaluateState", |
| | | type: "input", |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | viewDisplay: false, |
| | | formatter: (row, value) => { |
| | | return status[value] |
| | | }, |
| | | minWidth: '100px' |
| | | }, |
| | | { |
| | | label: "创建人", |
| | | prop: "createUser", |
| | | type: "input", |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | viewDisplay: false, |
| | | hide: true, |
| | | }, |
| | | { |
| | | label: "创建部门", |
| | | prop: "createDept", |
| | | type: "input", |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | viewDisplay: false, |
| | | hide: true, |
| | | }, |
| | | { |
| | | label: "创建时间", |
| | | prop: "createTime", |
| | | type: "input", |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | viewDisplay: false, |
| | | hide: true, |
| | | }, |
| | | { |
| | | label: "修改人", |
| | | prop: "updateUser", |
| | | type: "input", |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | viewDisplay: false, |
| | | hide: true, |
| | | }, |
| | | { |
| | | label: "修改时间", |
| | | prop: "updateTime", |
| | | type: "input", |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | viewDisplay: false, |
| | | hide: true, |
| | | }, |
| | | { |
| | | label: "状态", |
| | | prop: "status", |
| | | type: "input", |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | viewDisplay: false, |
| | | hide: true, |
| | | }, |
| | | { |
| | | label: "是否已删除", |
| | | prop: "isDeleted", |
| | | type: "input", |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | viewDisplay: false, |
| | | hide: true, |
| | | }, |
| | | ] |
| | | } |
| | |
| | | </el-form-item> --> |
| | | <el-form-item :label="params.type ? '评定部门:' : '候选部门:'" prop="candidateNum"> |
| | | <el-select v-model="selectGroup" value-key="deptId" multiple style="width: 100%;" placeholder="请选择候选部门"> |
| | | <el-option v-for="dept in depts" :key="dept.deptId" :label="dept.deptName" |
| | | :value="dept"></el-option> |
| | | <el-option v-for="dept in depts" :key="dept.deptId" :label="dept.employees.length === 0 ? (dept.deptName + '(当前部门下员工人数为0)') : dept.deptName" |
| | | :value="dept" :disabled="dept.employees.length === 0"></el-option> |
| | | </el-select> |
| | | <div class="select-list"> |
| | | <el-form-item v-for="content in selectGroup" :key="content.deptId" :label="content.deptName" |
| | |
| | | </el-form-item> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="候选人截止日期:" prop="candidateCutoffTime"> |
| | | <el-form-item label="候选人截止日期:" prop="candidateCutoffTime" v-if="!params.type"> |
| | | <el-date-picker v-model="addForm.candidateCutoffTime" type="datetime" placeholder="请选择截止时间" |
| | | format="YYYY-MM-DD HH:mm:ss" valueFormat="YYYY-MM-DD HH:mm:ss" style="width: 100%;" /> |
| | | </el-form-item> |
| | |
| | | </template> |
| | | <template #menu="{ size, row, index }"> |
| | | <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="publicTimeBtn(row)">发布</el-button> |
| | | <el-button type="primary" text plain icon="el-icon-position" @click="publicTimeBtn(row)" v-if="row.status === 2">发布</el-button> |
| | | <el-button type="primary" text plain icon="el-icon-download">导出</el-button> |
| | | </template> |
| | | </avue-crud> |
| | |
| | | |
| | | <script> |
| | | import { getList, getDetail, add, update, remove } from '@/api/evaluate/evaluateTask'; |
| | | import option from '@/option/evaluate/evaluateTask'; |
| | | import { option, sectionOption } from '@/option/evaluate/evaluateTask'; |
| | | import { mapGetters } from 'vuex'; |
| | | import { exportBlob } from '@/api/common'; |
| | | import { getToken } from '@/utils/auth'; |
| | |
| | | let params = { |
| | | type: n, |
| | | }; |
| | | // 更改option |
| | | !n ? (this.option = option) : (this.option = sectionOption) |
| | | console.log(this.option); |
| | | this.page.currentPage = 1; |
| | | this.onLoad(this.page, params); |
| | | }, |