3 files modified
1 files added
| | |
| | | // size, |
| | | } |
| | | }) |
| | | } |
| | | |
| | | export const getAsserorDetailList = (current, size, params) => { |
| | | return request({ |
| | | url: '/assessment/assessmentScore/list', |
| | | method: 'get', |
| | | params: { |
| | | ...params, |
| | | current, |
| | | size, |
| | | } |
| | | }) |
| | | } |
| | | |
| | | export const sendBackAsseror = (ids) => { |
| | | return request({ |
| | | url: '/assessment/assessmentScore/remove', |
| | | method: 'post', |
| | | params: { |
| | | ids |
| | | } |
| | | }) |
| | | } |
| | |
| | | index: false, |
| | | viewBtn: false, |
| | | delBtn: false, |
| | | editBtn: true, |
| | | editBtn: false, |
| | | selection: true, |
| | | menuWidth: 250, |
| | | dialogClickModal: false, |
| | |
| | | label: "开始时间", |
| | | prop: "startTime", |
| | | type: "date", |
| | | value: getNowDate(), |
| | | disabled: true, |
| | | // disabled: true, |
| | | format: "YYYY-MM-DD HH:mm:ss", |
| | | // valueFormat: "YYYY-MM-DD HH:mm:ss", |
| | | valueFormat: "YYYY-MM-DD HH:mm:ss", |
| | | minWidth: 200, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: '请选择开始时间', |
| | | trigger: 'click', |
| | | }, |
| | | { |
| | | validator: (rule, value, callback) => { |
| | | const nowDate = new Date().getTime() - (24*60*60*1000) |
| | | const selectDate = new Date(value).getTime() |
| | | if (selectDate < nowDate) { |
| | | callback(new Error('选择的时候不能小于当前时间')) |
| | | } else { |
| | | callback() |
| | | } |
| | | }, |
| | | trigger: 'click', |
| | | }, |
| | | ], |
| | |
| | | message: '请选择结束时间', |
| | | trigger: 'click', |
| | | }, |
| | | { |
| | | validator: (rule, value, callback) => { |
| | | const nowDate = new Date().getTime() - (24*60*60*1000) |
| | | const selectDate = new Date(value).getTime() |
| | | if (selectDate < nowDate) { |
| | | callback(new Error('选择的时候不能小于当前时间')) |
| | | } else { |
| | | callback() |
| | | } |
| | | }, |
| | | trigger: 'click', |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | |
| | | 导出 |
| | | </el-button> --> |
| | | </template> |
| | | <template #menu="{ row }"> |
| | | <template #menu="{ row, index, size }"> |
| | | <el-button type="primary" icon="el-icon-setting" text @click="handleTaskSetting(row)"> |
| | | 考核设置 |
| | | </el-button> |
| | | <el-button type="primary" icon="el-icon-view" text @click="handleAssessorDetails(row)"> |
| | | 考核结果 |
| | | </el-button> |
| | | <el-button type="primary" icon="el-icon-view" text @click="handleAssessorList(row)"> |
| | | 考核任务人员详情 |
| | | </el-button> |
| | | <el-button type="success" icon="el-icon-edit" text v-if="row.isAssessmentOk === -1" |
| | | @click="$refs.crud.rowEdit(row,index)"> |
| | | 编辑 |
| | | </el-button> |
| | | <!-- <el-button type="primary" icon="el-icon-view" text @click="handleTaskResult(row)"> |
| | | 考核结果 |
| | |
| | | <!-- <template v-else> |
| | | <taskResult :params="resultParams" @changeIs="changeIs" /> |
| | | </template> --> |
| | | <!-- 考核人员详情 --> |
| | | <!-- 考核结果详情 --> |
| | | <assessorDetails :params="detailsParams" /> |
| | | <!-- 考核人员详情 --> |
| | | <assessorDialog :params="assessorDialogParams" /> |
| | | </basic-container> |
| | | </template> |
| | | |
| | |
| | | import addTaskDialog from "./components/addTaskDialog.vue"; |
| | | import assessmentTaskSetting from "./components/assessmentTaskSetting.vue"; |
| | | import assessorDetails from "./components/assessorDetails.vue"; |
| | | import assessorDialog from "./components/assessorDialog.vue"; |
| | | |
| | | export default { |
| | | components: { |
| | | taskResult, |
| | | addTaskDialog, |
| | | assessmentTaskSetting, |
| | | assessorDetails |
| | | assessorDetails, |
| | | assessorDialog |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | } |
| | | ] |
| | | }, |
| | | // 人员详情参数 |
| | | detailsParams: {} |
| | | detailsParams: {}, |
| | | assessorDialogParams: {} |
| | | }; |
| | | }, |
| | | watch: { |
| | |
| | | }, |
| | | '0': { |
| | | text: '进行中', |
| | | type: 'primary' |
| | | type: '' |
| | | }, |
| | | '1': { |
| | | text: '已完成', |
| | |
| | | visible: true, |
| | | data: row |
| | | } |
| | | }, |
| | | handleAssessorList(row) { |
| | | this.assessorDialogParams = { |
| | | visible: true, |
| | | data: row |
| | | } |
| | | } |
| | | } |
| | | }; |
| New file |
| | |
| | | <template> |
| | | <el-dialog v-model="params.visible" :title="params.data?.assessmentNo ? `考核编号(${params.data.assessmentNo})` : '考核人员详情'" |
| | | width="65%" @open="dialogOpen"> |
| | | <avue-crud :option="option" :table-loading="loading" :data="data" v-model:page="page" @search-change="searchChange" |
| | | @search-reset="searchReset" @current-change="currentChange" @size-change="sizeChange" |
| | | @refresh-change="refreshChange" @on-load="onLoad"> |
| | | <template #menu="{ row }"> |
| | | <el-button type="warning" icon="el-icon-warning" text @click="sendBack(row)">驳回</el-button> |
| | | </template> |
| | | </avue-crud> |
| | | </el-dialog> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getAsserorDetailList, sendBackAsseror } from '@/api/assessment/assessmentScore' |
| | | |
| | | export default { |
| | | props: { |
| | | params: { |
| | | type: Object, |
| | | default: () => { |
| | | return { |
| | | visible: false, |
| | | data: {} |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | loading: true, |
| | | query: {}, |
| | | data: [], |
| | | page: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0 |
| | | }, |
| | | option: { |
| | | height: '400', |
| | | calcHeight: 30, |
| | | tip: false, |
| | | searchShow: true, |
| | | searchMenuSpan: 6, |
| | | border: true, |
| | | index: true, |
| | | viewBtn: false, |
| | | addBtn: false, |
| | | editBtn: false, |
| | | delBtn: false, |
| | | viewBtn: false, |
| | | menuWidth: 150, |
| | | dialogClickModal: false, |
| | | column: [ |
| | | { |
| | | label: "工号", |
| | | prop: 'code', |
| | | type: "input", |
| | | }, |
| | | { |
| | | label: "考核人", |
| | | prop: "scoreUserName", |
| | | type: "input", |
| | | search: true, |
| | | }, |
| | | { |
| | | label: "部门", |
| | | prop: "scoreDeptName", |
| | | type: "select", |
| | | // dicUrl: '/api/blade-system/dept/lazy-list?parentId=1737282385453543425', |
| | | // search: true, |
| | | // props: { |
| | | // label: 'deptName', |
| | | // value: 'fullName' |
| | | // }, |
| | | overHidden: true |
| | | }, |
| | | { |
| | | label: "职务", |
| | | prop: "scorePostName", |
| | | type: "input", |
| | | }, |
| | | { |
| | | label: "被考核人", |
| | | prop: "userName", |
| | | type: "input", |
| | | }, |
| | | { |
| | | label: "考核分", |
| | | prop: "scoreVal", |
| | | type: "input", |
| | | } |
| | | ] |
| | | }, |
| | | detailParams: {} |
| | | } |
| | | }, |
| | | methods: { |
| | | searchReset() { |
| | | this.query = {}; |
| | | this.onLoad(this.page, { type: this.defaultTaskType }); |
| | | }, |
| | | searchChange(params, done) { |
| | | this.query = { |
| | | ...params, |
| | | }; |
| | | this.page.currentPage = 1; |
| | | this.onLoad(this.page, params); |
| | | done(); |
| | | }, |
| | | currentChange(currentPage) { |
| | | this.page.currentPage = currentPage; |
| | | }, |
| | | sizeChange(pageSize) { |
| | | this.page.pageSize = pageSize; |
| | | }, |
| | | refreshChange() { |
| | | this.onLoad(this.page, this.query); |
| | | }, |
| | | onLoad(page, params = {}) { |
| | | this.loading = true; |
| | | |
| | | const { id } = this.params.data |
| | | |
| | | const { |
| | | } = this.query; |
| | | |
| | | let values = { |
| | | ...this.query, |
| | | ...params, |
| | | assessmentTaskId: id |
| | | }; |
| | | getAsserorDetailList(page.currentPage, page.pageSize, values).then(res => { |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | this.data = data.records; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | dialogOpen() { |
| | | this.onLoad(this.page) |
| | | }, |
| | | sendBack(row) { |
| | | this.$confirm("是否驳回当前记录?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }).then(res => { |
| | | const { id } = row |
| | | sendBackAsseror(id).then(res => { |
| | | if (res.data.code !== 200) return this.$message.error(res.data.msg) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "驳回成功!" |
| | | }); |
| | | this.onLoad(this.page); |
| | | }) |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | |
| | | </script> |
| | | |
| | | <style lang="scss" scoped></style> |