Commit 475c37dca0538fe21e67cc9d66daef5829978995
1 parent
c02d8708
完成一些不错的代码
Showing
8 changed files
with
2 additions
and
662 deletions
src/i18n/oaI18n.js
| ... | ... | @@ -22,10 +22,8 @@ import { messages as addOwnerVotingMessages } from '../views/oa/addOwnerVotingLa |
| 22 | 22 | import { messages as editOwnerVotingMessages } from '../views/oa/editOwnerVotingLang' |
| 23 | 23 | import { messages as printOwnerVotingMessages } from '../views/oa/printOwnerVotingLang' |
| 24 | 24 | import { messages as examineProjectManageMessages } from '../views/oa/examineProjectManageLang' |
| 25 | -import { messages as examineStaffManageMessages } from '../views/oa/examineStaffManageLang' | |
| 26 | 25 | import { messages as addExamineStaffMessages } from '../views/oa/addExamineStaffLang' |
| 27 | 26 | import { messages as editExamineStaffMessages } from '../views/oa/editExamineStaffLang' |
| 28 | -import { messages as examineStaffValueMessages } from '../views/oa/examineStaffValueLang' | |
| 29 | 27 | import { messages as oaWorkflowManageMessages } from '../views/oa/oaWorkflowManageLang' |
| 30 | 28 | import { messages as newOaWorkflowManageMessages } from '../views/oa/newOaWorkflowManageLang' |
| 31 | 29 | import { messages as newOaWorkflowDoingMessages } from '../views/oa/newOaWorkflowDoingLang' |
| ... | ... | @@ -85,10 +83,8 @@ export const messages ={ |
| 85 | 83 | ...editOwnerVotingMessages.en, |
| 86 | 84 | ...printOwnerVotingMessages.en, |
| 87 | 85 | ...examineProjectManageMessages.en, |
| 88 | - ...examineStaffManageMessages.en, | |
| 89 | 86 | ...addExamineStaffMessages.en, |
| 90 | 87 | ...editExamineStaffMessages.en, |
| 91 | - ...examineStaffValueMessages.en, | |
| 92 | 88 | ...oaWorkflowManageMessages.en, |
| 93 | 89 | ...newOaWorkflowManageMessages.en, |
| 94 | 90 | ...newOaWorkflowDoingMessages.en, |
| ... | ... | @@ -145,10 +141,8 @@ export const messages ={ |
| 145 | 141 | ...editOwnerVotingMessages.zh, |
| 146 | 142 | ...printOwnerVotingMessages.zh, |
| 147 | 143 | ...examineProjectManageMessages.zh, |
| 148 | - ...examineStaffManageMessages.zh, | |
| 149 | 144 | ...addExamineStaffMessages.zh, |
| 150 | 145 | ...editExamineStaffMessages.zh, |
| 151 | - ...examineStaffValueMessages.zh, | |
| 152 | 146 | ...oaWorkflowManageMessages.zh, |
| 153 | 147 | ...newOaWorkflowManageMessages.zh, |
| 154 | 148 | ...newOaWorkflowDoingMessages.zh, | ... | ... |
src/router/oaRouter.js
| ... | ... | @@ -100,16 +100,6 @@ export default [ |
| 100 | 100 | component: () => import('@/views/oa/editOwnerVotingList.vue') |
| 101 | 101 | }, |
| 102 | 102 | { |
| 103 | - path: '/pages/examine/examineProjectManage', | |
| 104 | - name: '/pages/examine/examineProjectManage', | |
| 105 | - component: () => import('@/views/oa/examineProjectManageList.vue') | |
| 106 | - }, | |
| 107 | - { | |
| 108 | - path: '/pages/examine/examineStaffManage', | |
| 109 | - name: '/pages/examine/examineStaffManage', | |
| 110 | - component: () => import('@/views/oa/examineStaffManageList.vue') | |
| 111 | - }, | |
| 112 | - { | |
| 113 | 103 | path: '/views/oa/addExamineStaff', |
| 114 | 104 | name: '/views/oa/addExamineStaff', |
| 115 | 105 | component: () => import('@/views/oa/addExamineStaffList.vue') |
| ... | ... | @@ -120,11 +110,6 @@ export default [ |
| 120 | 110 | component: () => import('@/views/oa/editExamineStaffList.vue') |
| 121 | 111 | }, |
| 122 | 112 | { |
| 123 | - path: '/pages/examine/examineStaffValue', | |
| 124 | - name: '/pages/examine/examineStaffValue', | |
| 125 | - component: () => import('@/views/oa/examineStaffValueList.vue') | |
| 126 | - }, | |
| 127 | - { | |
| 128 | 113 | path: '/pages/property/oaWorkflowManage', |
| 129 | 114 | name: '/pages/property/oaWorkflowManage', |
| 130 | 115 | component: () => import('@/views/oa/oaWorkflowManageList.vue') | ... | ... |
src/views/oa/examineProjectManageList.vue deleted
| 1 | -<template> | |
| 2 | - <div class="examine-project-manage-container"> | |
| 3 | - <!-- 查询条件 --> | |
| 4 | - <el-card class="search-wrapper"> | |
| 5 | - <div slot="header" class="flex justify-between"> | |
| 6 | - <span>{{ $t('examineProjectManage.search.title') }}</span> | |
| 7 | - </div> | |
| 8 | - <el-row :gutter="20" > | |
| 9 | - <el-col :span="6"> | |
| 10 | - <el-input v-model="searchForm.name" :placeholder="$t('examineProjectManage.search.namePlaceholder')" | |
| 11 | - clearable /> | |
| 12 | - </el-col> | |
| 13 | - <el-col :span="6"> | |
| 14 | - <el-input v-model="searchForm.post" :placeholder="$t('examineProjectManage.search.postPlaceholder')" | |
| 15 | - clearable /> | |
| 16 | - </el-col> | |
| 17 | - <el-col :span="6"> | |
| 18 | - <el-select v-model="searchForm.state" :placeholder="$t('examineProjectManage.search.statePlaceholder')" | |
| 19 | - style="width:100%"> | |
| 20 | - <el-option :label="$t('examineProjectManage.status.enable')" value="Y" /> | |
| 21 | - <el-option :label="$t('examineProjectManage.status.disable')" value="N" /> | |
| 22 | - </el-select> | |
| 23 | - </el-col> | |
| 24 | - <el-col :span="6"> | |
| 25 | - <el-button type="primary" @click="handleSearch"> | |
| 26 | - {{ $t('common.search') }} | |
| 27 | - </el-button> | |
| 28 | - <el-button @click="handleReset"> | |
| 29 | - {{ $t('common.reset') }} | |
| 30 | - </el-button> | |
| 31 | - </el-col> | |
| 32 | - </el-row> | |
| 33 | - </el-card> | |
| 34 | - | |
| 35 | - <!-- 考核项目列表 --> | |
| 36 | - <el-card class="list-wrapper"> | |
| 37 | - <div slot="header" class="flex justify-between"> | |
| 38 | - <span>{{ $t('examineProjectManage.list.title') }}</span> | |
| 39 | - <el-button type="primary" size="small" style="float:right" @click="handleAdd"> | |
| 40 | - {{ $t('common.add') }} | |
| 41 | - </el-button> | |
| 42 | - </div> | |
| 43 | - | |
| 44 | - <el-table v-loading="loading" :data="tableData" border style="width:100%"> | |
| 45 | - <el-table-column prop="name" :label="$t('examineProjectManage.table.name')" align="center" /> | |
| 46 | - <el-table-column prop="post" :label="$t('examineProjectManage.table.post')" align="center" /> | |
| 47 | - <el-table-column prop="weight" :label="$t('examineProjectManage.table.weight')" align="center"> | |
| 48 | - <template slot-scope="scope"> | |
| 49 | - {{ scope.row.weight }}% | |
| 50 | - </template> | |
| 51 | - </el-table-column> | |
| 52 | - <el-table-column prop="state" :label="$t('examineProjectManage.table.state')" align="center"> | |
| 53 | - <template slot-scope="scope"> | |
| 54 | - {{ scope.row.state === 'Y' ? $t('examineProjectManage.status.enable') : | |
| 55 | - $t('examineProjectManage.status.disable') }} | |
| 56 | - </template> | |
| 57 | - </el-table-column> | |
| 58 | - <el-table-column :label="$t('common.operation')" align="center" width="200"> | |
| 59 | - <template slot-scope="scope"> | |
| 60 | - <el-button size="mini" type="primary" @click="handleEdit(scope.row)"> | |
| 61 | - {{ $t('common.edit') }} | |
| 62 | - </el-button> | |
| 63 | - <el-button size="mini" type="danger" @click="handleDelete(scope.row)"> | |
| 64 | - {{ $t('common.delete') }} | |
| 65 | - </el-button> | |
| 66 | - </template> | |
| 67 | - </el-table-column> | |
| 68 | - </el-table> | |
| 69 | - | |
| 70 | - <el-pagination :current-page.sync="page.current" :page-sizes="[10, 20, 30, 50]" :page-size="page.size" | |
| 71 | - :total="page.total" layout="total, sizes, prev, pager, next, jumper" @size-change="handleSizeChange" | |
| 72 | - @current-change="handleCurrentChange" /> | |
| 73 | - </el-card> | |
| 74 | - | |
| 75 | - <!-- 组件 --> | |
| 76 | - <add-examine-project ref="addExamineProject" @success="handleSuccess" /> | |
| 77 | - <edit-examine-project ref="editExamineProject" @success="handleSuccess" /> | |
| 78 | - <delete-examine-project ref="deleteExamineProject" @success="handleSuccess" /> | |
| 79 | - </div> | |
| 80 | -</template> | |
| 81 | - | |
| 82 | -<script> | |
| 83 | -import { listExamineProject } from '@/api/oa/examineProjectManageApi' | |
| 84 | -import AddExamineProject from '@/components/oa/addExamineProject' | |
| 85 | -import EditExamineProject from '@/components/oa/editExamineProject' | |
| 86 | -import DeleteExamineProject from '@/components/oa/deleteExamineProject' | |
| 87 | -import { getCommunityId } from '@/api/community/communityApi' | |
| 88 | - | |
| 89 | -export default { | |
| 90 | - name: 'ExamineProjectManageList', | |
| 91 | - components: { | |
| 92 | - AddExamineProject, | |
| 93 | - EditExamineProject, | |
| 94 | - DeleteExamineProject | |
| 95 | - }, | |
| 96 | - data() { | |
| 97 | - return { | |
| 98 | - loading: false, | |
| 99 | - searchForm: { | |
| 100 | - name: '', | |
| 101 | - post: '', | |
| 102 | - state: '', | |
| 103 | - communityId: getCommunityId() | |
| 104 | - }, | |
| 105 | - tableData: [], | |
| 106 | - page: { | |
| 107 | - current: 1, | |
| 108 | - size: 10, | |
| 109 | - total: 0 | |
| 110 | - } | |
| 111 | - } | |
| 112 | - }, | |
| 113 | - created() { | |
| 114 | - this.getList() | |
| 115 | - }, | |
| 116 | - methods: { | |
| 117 | - async getList() { | |
| 118 | - try { | |
| 119 | - this.loading = true | |
| 120 | - const params = { | |
| 121 | - page: this.page.current, | |
| 122 | - row: this.page.size, | |
| 123 | - ...this.searchForm | |
| 124 | - } | |
| 125 | - const { data, total } = await listExamineProject(params) | |
| 126 | - this.tableData = data | |
| 127 | - this.page.total = total | |
| 128 | - } catch (error) { | |
| 129 | - this.$message.error(this.$t('examineProjectManage.fetchError')) | |
| 130 | - } finally { | |
| 131 | - this.loading = false | |
| 132 | - } | |
| 133 | - }, | |
| 134 | - handleSearch() { | |
| 135 | - this.page.current = 1 | |
| 136 | - this.getList() | |
| 137 | - }, | |
| 138 | - handleReset() { | |
| 139 | - this.searchForm = { | |
| 140 | - name: '', | |
| 141 | - post: '', | |
| 142 | - state: '', | |
| 143 | - communityId: getCommunityId() | |
| 144 | - } | |
| 145 | - this.handleSearch() | |
| 146 | - }, | |
| 147 | - handleAdd() { | |
| 148 | - this.$refs.addExamineProject.open() | |
| 149 | - }, | |
| 150 | - handleEdit(row) { | |
| 151 | - this.$refs.editExamineProject.open(row) | |
| 152 | - }, | |
| 153 | - handleDelete(row) { | |
| 154 | - this.$refs.deleteExamineProject.open(row) | |
| 155 | - }, | |
| 156 | - handleSuccess() { | |
| 157 | - this.getList() | |
| 158 | - }, | |
| 159 | - handleSizeChange(val) { | |
| 160 | - this.page.size = val | |
| 161 | - this.getList() | |
| 162 | - }, | |
| 163 | - handleCurrentChange(val) { | |
| 164 | - this.page.current = val | |
| 165 | - this.getList() | |
| 166 | - } | |
| 167 | - } | |
| 168 | -} | |
| 169 | -</script> | |
| 170 | - | |
| 171 | -<style lang="scss" scoped> | |
| 172 | -.examine-project-manage-container { | |
| 173 | - padding: 20px; | |
| 174 | - | |
| 175 | - .search-wrapper { | |
| 176 | - margin-bottom: 20px; | |
| 177 | - | |
| 178 | - .el-row { | |
| 179 | - margin-bottom: -20px; | |
| 180 | - } | |
| 181 | - | |
| 182 | - .el-col { | |
| 183 | - margin-bottom: 20px; | |
| 184 | - } | |
| 185 | - } | |
| 186 | - | |
| 187 | - .list-wrapper { | |
| 188 | - .el-pagination { | |
| 189 | - margin-top: 20px; | |
| 190 | - text-align: right; | |
| 191 | - } | |
| 192 | - } | |
| 193 | -} | |
| 194 | -</style> | |
| 195 | 0 | \ No newline at end of file |
src/views/oa/examineStaffManageLang.js deleted
| 1 | -export const messages = { | |
| 2 | - en: { | |
| 3 | - examineStaffManage: { | |
| 4 | - search: { | |
| 5 | - title: 'Search Conditions', | |
| 6 | - staffName: 'Please enter staff name', | |
| 7 | - projectName: 'Please enter project name' | |
| 8 | - }, | |
| 9 | - list: { | |
| 10 | - title: 'Assessment Staff', | |
| 11 | - add: 'Add' | |
| 12 | - }, | |
| 13 | - table: { | |
| 14 | - face: 'Face', | |
| 15 | - staffId: 'Staff ID', | |
| 16 | - staffName: 'Staff Name', | |
| 17 | - post: 'Post', | |
| 18 | - projects: 'Assessment Projects', | |
| 19 | - operation: 'Operation' | |
| 20 | - }, | |
| 21 | - delete: { | |
| 22 | - title: 'Confirm Operation', | |
| 23 | - confirm: 'Are you sure to delete this assessment staff?', | |
| 24 | - success: 'Delete successfully', | |
| 25 | - error: 'Delete failed' | |
| 26 | - }, | |
| 27 | - fetchError: 'Failed to fetch assessment staff data' | |
| 28 | - } | |
| 29 | - }, | |
| 30 | - zh: { | |
| 31 | - examineStaffManage: { | |
| 32 | - search: { | |
| 33 | - title: '查询条件', | |
| 34 | - staffName: '请输入员工名称', | |
| 35 | - projectName: '请输入考核项目' | |
| 36 | - }, | |
| 37 | - list: { | |
| 38 | - title: '考核人员', | |
| 39 | - add: '添加' | |
| 40 | - }, | |
| 41 | - table: { | |
| 42 | - face: '人脸', | |
| 43 | - staffId: '员工编号', | |
| 44 | - staffName: '员工名称', | |
| 45 | - post: '岗位', | |
| 46 | - projects: '考核项目', | |
| 47 | - operation: '操作' | |
| 48 | - }, | |
| 49 | - delete: { | |
| 50 | - title: '确认操作', | |
| 51 | - confirm: '确定删除该考核人员吗?', | |
| 52 | - success: '删除成功', | |
| 53 | - error: '删除失败' | |
| 54 | - }, | |
| 55 | - fetchError: '获取考核人员数据失败' | |
| 56 | - } | |
| 57 | - } | |
| 58 | -} | |
| 59 | 0 | \ No newline at end of file |
src/views/oa/examineStaffManageList.vue deleted
| 1 | -<template> | |
| 2 | - <div class="examine-staff-manage-container"> | |
| 3 | - <!-- 查询条件 --> | |
| 4 | - <el-card class=""> | |
| 5 | - <div slot="header" class="flex justify-between"> | |
| 6 | - <span>{{ $t('examineStaffManage.search.title') }}</span> | |
| 7 | - </div> | |
| 8 | - <el-row :gutter="20"> | |
| 9 | - <el-col :span="6"> | |
| 10 | - <el-input v-model="searchForm.staffName" :placeholder="$t('examineStaffManage.search.staffName')" clearable | |
| 11 | - @keyup.enter.native="handleSearch" /> | |
| 12 | - </el-col> | |
| 13 | - <el-col :span="6"> | |
| 14 | - <el-input v-model="searchForm.projectName" :placeholder="$t('examineStaffManage.search.projectName')" clearable | |
| 15 | - @keyup.enter.native="handleSearch" /> | |
| 16 | - </el-col> | |
| 17 | - <el-col :span="4"> | |
| 18 | - <el-button type="primary" @click="handleSearch"> | |
| 19 | - {{ $t('common.search') }} | |
| 20 | - </el-button> | |
| 21 | - <el-button @click="handleReset"> | |
| 22 | - {{ $t('common.reset') }} | |
| 23 | - </el-button> | |
| 24 | - </el-col> | |
| 25 | - </el-row> | |
| 26 | - </el-card> | |
| 27 | - | |
| 28 | - <!-- 考核人员列表 --> | |
| 29 | - <el-card class="list-wrapper margin-top"> | |
| 30 | - <div slot="header" class="flex justify-between"> | |
| 31 | - <div>{{ $t('examineStaffManage.list.title') }}</div> | |
| 32 | - <el-button type="primary" size="small" @click="handleAdd"> | |
| 33 | - {{ $t('common.add') }} | |
| 34 | - </el-button> | |
| 35 | - </div> | |
| 36 | - | |
| 37 | - <el-table v-loading="loading" :data="tableData" border style="width: 100%"> | |
| 38 | - <el-table-column :label="$t('examineStaffManage.table.face')" align="center" width="120"> | |
| 39 | - <template slot-scope="scope"> | |
| 40 | - <div style="position: relative; display: inline-block; cursor: pointer;" | |
| 41 | - @click="showImage(scope.row.headerImg || '/img/noPhoto.jpg')"> | |
| 42 | - <el-image style="width: 50px; height: 50px;" :src="scope.row.headerImg || '/img/noPhoto.jpg'" fit="cover" /> | |
| 43 | - <img src="/img/icon-bigimg.png" style="position: absolute; right: 0; bottom: 0;" width="20" height="20" | |
| 44 | - alt=""> | |
| 45 | - </div> | |
| 46 | - </template> | |
| 47 | - </el-table-column> | |
| 48 | - <el-table-column prop="staffId" :label="$t('examineStaffManage.table.staffId')" align="center" /> | |
| 49 | - <el-table-column prop="staffName" :label="$t('examineStaffManage.table.staffName')" align="center" /> | |
| 50 | - <el-table-column prop="post" :label="$t('examineStaffManage.table.post')" align="center" /> | |
| 51 | - <el-table-column :label="$t('examineStaffManage.table.projects')" align="center"> | |
| 52 | - <template slot-scope="scope"> | |
| 53 | - <div v-for="(item, index) in scope.row.projects" :key="index"> | |
| 54 | - {{ item.projectName }} | |
| 55 | - </div> | |
| 56 | - </template> | |
| 57 | - </el-table-column> | |
| 58 | - <el-table-column :label="$t('common.operation')" align="center" width="200" fixed="right"> | |
| 59 | - <template slot-scope="scope"> | |
| 60 | - <el-button size="mini" type="primary" @click="handleEdit(scope.row)"> | |
| 61 | - {{ $t('common.edit') }} | |
| 62 | - </el-button> | |
| 63 | - <el-button size="mini" type="danger" @click="handleDelete(scope.row)"> | |
| 64 | - {{ $t('common.delete') }} | |
| 65 | - </el-button> | |
| 66 | - </template> | |
| 67 | - </el-table-column> | |
| 68 | - </el-table> | |
| 69 | - | |
| 70 | - <el-pagination :current-page.sync="page.current" :page-sizes="[10, 20, 30, 50]" :page-size="page.size" | |
| 71 | - :total="page.total" layout="total, sizes, prev, pager, next, jumper" @size-change="handleSizeChange" | |
| 72 | - @current-change="handleCurrentChange" /> | |
| 73 | - </el-card> | |
| 74 | - | |
| 75 | - <!-- 组件 --> | |
| 76 | - <delete-examine-staff ref="deleteDialog" @success="handleSuccess" /> | |
| 77 | - <view-image ref="imageViewer" /> | |
| 78 | - </div> | |
| 79 | -</template> | |
| 80 | - | |
| 81 | -<script> | |
| 82 | -import { listExamineStaff } from '@/api/oa/examineStaffManageApi' | |
| 83 | -import { getCommunityId } from '@/api/community/communityApi' | |
| 84 | -import DeleteExamineStaff from '@/components/oa/deleteExamineStaff' | |
| 85 | -import ViewImage from '@/components/system/viewImage' | |
| 86 | - | |
| 87 | -export default { | |
| 88 | - name: 'ExamineStaffManageList', | |
| 89 | - components: { | |
| 90 | - DeleteExamineStaff, | |
| 91 | - ViewImage | |
| 92 | - }, | |
| 93 | - data() { | |
| 94 | - return { | |
| 95 | - loading: false, | |
| 96 | - searchForm: { | |
| 97 | - staffName: '', | |
| 98 | - projectName: '', | |
| 99 | - communityId: '' | |
| 100 | - }, | |
| 101 | - tableData: [], | |
| 102 | - page: { | |
| 103 | - current: 1, | |
| 104 | - size: 10, | |
| 105 | - total: 0 | |
| 106 | - } | |
| 107 | - } | |
| 108 | - }, | |
| 109 | - created() { | |
| 110 | - this.searchForm.communityId = getCommunityId() | |
| 111 | - this.getList() | |
| 112 | - }, | |
| 113 | - methods: { | |
| 114 | - async getList() { | |
| 115 | - try { | |
| 116 | - this.loading = true | |
| 117 | - const params = { | |
| 118 | - page: this.page.current, | |
| 119 | - row: this.page.size, | |
| 120 | - ...this.searchForm | |
| 121 | - } | |
| 122 | - const { data, total } = await listExamineStaff(params) | |
| 123 | - this.tableData = data | |
| 124 | - this.page.total = total | |
| 125 | - } catch (error) { | |
| 126 | - this.$message.error(this.$t('examineStaffManage.fetchError')) | |
| 127 | - } finally { | |
| 128 | - this.loading = false | |
| 129 | - } | |
| 130 | - }, | |
| 131 | - handleSearch() { | |
| 132 | - this.page.current = 1 | |
| 133 | - this.getList() | |
| 134 | - }, | |
| 135 | - handleReset() { | |
| 136 | - this.searchForm.staffName = '' | |
| 137 | - this.searchForm.projectName = '' | |
| 138 | - this.handleSearch() | |
| 139 | - }, | |
| 140 | - handleAdd() { | |
| 141 | - this.$router.push('/views/oa/addExamineStaff') | |
| 142 | - }, | |
| 143 | - handleEdit(row) { | |
| 144 | - this.$router.push(`/views/oa/editExamineStaff?esId=${row.esId}`) | |
| 145 | - }, | |
| 146 | - handleDelete(row) { | |
| 147 | - this.$refs.deleteDialog.open(row) | |
| 148 | - }, | |
| 149 | - showImage(url) { | |
| 150 | - this.$refs.imageViewer.open(url) | |
| 151 | - }, | |
| 152 | - handleSuccess() { | |
| 153 | - this.getList() | |
| 154 | - }, | |
| 155 | - handleSizeChange(val) { | |
| 156 | - this.page.size = val | |
| 157 | - this.getList() | |
| 158 | - }, | |
| 159 | - handleCurrentChange(val) { | |
| 160 | - this.page.current = val | |
| 161 | - this.getList() | |
| 162 | - } | |
| 163 | - } | |
| 164 | -} | |
| 165 | -</script> | |
| 166 | - | |
| 167 | -<style lang="scss" scoped> | |
| 168 | -.examine-staff-manage-container { | |
| 169 | - padding: 20px; | |
| 170 | - | |
| 171 | - .search-wrapper { | |
| 172 | - margin-bottom: 20px; | |
| 173 | - | |
| 174 | - .el-row { | |
| 175 | - margin-bottom: -20px; | |
| 176 | - } | |
| 177 | - } | |
| 178 | - | |
| 179 | - .list-wrapper { | |
| 180 | - .el-pagination { | |
| 181 | - margin-top: 20px; | |
| 182 | - text-align: right; | |
| 183 | - } | |
| 184 | - } | |
| 185 | -} | |
| 186 | -</style> | |
| 187 | 0 | \ No newline at end of file |
src/views/oa/examineStaffValueLang.js deleted
| 1 | -export const messages = { | |
| 2 | - en: { | |
| 3 | - examineStaffValue: { | |
| 4 | - search: { | |
| 5 | - title: 'Search Conditions', | |
| 6 | - staffName: 'Please select staff name', | |
| 7 | - projectName: 'Please select examine project' | |
| 8 | - }, | |
| 9 | - list: { | |
| 10 | - title: 'Examine Records' | |
| 11 | - }, | |
| 12 | - table: { | |
| 13 | - year: 'Year', | |
| 14 | - staffId: 'Staff ID', | |
| 15 | - staffName: 'Staff Name', | |
| 16 | - projectName: 'Examine Project', | |
| 17 | - weight: 'Weight', | |
| 18 | - examineValue: 'Score', | |
| 19 | - actualScore: 'Actual Score', | |
| 20 | - ownerName: 'Rater', | |
| 21 | - roomName: 'Room', | |
| 22 | - createTime: 'Rating Time' | |
| 23 | - }, | |
| 24 | - fetchError: 'Failed to fetch examine records' | |
| 25 | - } | |
| 26 | - }, | |
| 27 | - zh: { | |
| 28 | - examineStaffValue: { | |
| 29 | - search: { | |
| 30 | - title: '查询条件', | |
| 31 | - staffName: '请选择员工名称', | |
| 32 | - projectName: '请选择考核项目' | |
| 33 | - }, | |
| 34 | - list: { | |
| 35 | - title: '考核记录' | |
| 36 | - }, | |
| 37 | - table: { | |
| 38 | - year: '年度', | |
| 39 | - staffId: '员工ID', | |
| 40 | - staffName: '员工名称', | |
| 41 | - projectName: '考核项目', | |
| 42 | - weight: '权重', | |
| 43 | - examineValue: '评分', | |
| 44 | - actualScore: '实际得分', | |
| 45 | - ownerName: '评分人', | |
| 46 | - roomName: '房屋', | |
| 47 | - createTime: '评分时间' | |
| 48 | - }, | |
| 49 | - fetchError: '获取考核记录失败' | |
| 50 | - } | |
| 51 | - } | |
| 52 | -} | |
| 53 | 0 | \ No newline at end of file |
src/views/oa/examineStaffValueList.vue deleted
| 1 | -<template> | |
| 2 | - <div class="examine-staff-value-container"> | |
| 3 | - <!-- 查询条件 --> | |
| 4 | - <el-card class="search-wrapper"> | |
| 5 | - <div slot="header" class="flex justify-between"> | |
| 6 | - <span>{{ $t('examineStaffValue.search.title') }}</span> | |
| 7 | - </div> | |
| 8 | - <el-row :gutter="20"> | |
| 9 | - <el-col :span="6"> | |
| 10 | - <el-input v-model="searchForm.staffName" :placeholder="$t('examineStaffValue.search.staffName')" clearable | |
| 11 | - @keyup.enter.native="handleSearch" /> | |
| 12 | - </el-col> | |
| 13 | - <el-col :span="8"> | |
| 14 | - <el-input v-model="searchForm.projectName" :placeholder="$t('examineStaffValue.search.projectName')" clearable | |
| 15 | - @keyup.enter.native="handleSearch" /> | |
| 16 | - </el-col> | |
| 17 | - <el-col :span="4"> | |
| 18 | - <el-button type="primary" @click="handleSearch"> | |
| 19 | - <i class="el-icon-search"></i> | |
| 20 | - {{ $t('common.search') }} | |
| 21 | - </el-button> | |
| 22 | - <el-button @click="handleReset"> | |
| 23 | - <i class="el-icon-refresh"></i> | |
| 24 | - {{ $t('common.reset') }} | |
| 25 | - </el-button> | |
| 26 | - </el-col> | |
| 27 | - </el-row> | |
| 28 | - </el-card> | |
| 29 | - | |
| 30 | - <!-- 考核记录列表 --> | |
| 31 | - <el-card class="list-wrapper"> | |
| 32 | - <div slot="header" class="flex justify-between"> | |
| 33 | - <span>{{ $t('examineStaffValue.list.title') }}</span> | |
| 34 | - </div> | |
| 35 | - <el-table v-loading="loading" :data="tableData" border style="width: 100%"> | |
| 36 | - <el-table-column prop="esYear" :label="$t('examineStaffValue.table.year')" align="center" /> | |
| 37 | - <el-table-column prop="staffId" :label="$t('examineStaffValue.table.staffId')" align="center" /> | |
| 38 | - <el-table-column prop="staffName" :label="$t('examineStaffValue.table.staffName')" align="center" /> | |
| 39 | - <el-table-column prop="projectName" :label="$t('examineStaffValue.table.projectName')" align="center" /> | |
| 40 | - <el-table-column prop="weight" :label="$t('examineStaffValue.table.weight')" align="center"> | |
| 41 | - <template slot-scope="scope"> | |
| 42 | - {{ scope.row.weight }}% | |
| 43 | - </template> | |
| 44 | - </el-table-column> | |
| 45 | - <el-table-column prop="examineValue" :label="$t('examineStaffValue.table.examineValue')" align="center" /> | |
| 46 | - <el-table-column prop="ownerName" :label="$t('examineStaffValue.table.ownerName')" align="center" /> | |
| 47 | - <el-table-column prop="roomName" :label="$t('examineStaffValue.table.roomName')" align="center" /> | |
| 48 | - <el-table-column prop="createTime" :label="$t('examineStaffValue.table.createTime')" align="center" /> | |
| 49 | - </el-table> | |
| 50 | - | |
| 51 | - <!-- 分页 --> | |
| 52 | - <el-pagination :current-page.sync="page.current" :page-sizes="[10, 20, 30, 50]" :page-size="page.size" | |
| 53 | - :total="page.total" layout="total, sizes, prev, pager, next, jumper" @size-change="handleSizeChange" | |
| 54 | - @current-change="handleCurrentChange" /> | |
| 55 | - </el-card> | |
| 56 | - </div> | |
| 57 | -</template> | |
| 58 | - | |
| 59 | -<script> | |
| 60 | -import { listExamineStaffValue } from '@/api/oa/examineStaffValueApi' | |
| 61 | -import { getCommunityId } from '@/api/community/communityApi' | |
| 62 | - | |
| 63 | -export default { | |
| 64 | - name: 'ExamineStaffValueList', | |
| 65 | - data() { | |
| 66 | - return { | |
| 67 | - loading: false, | |
| 68 | - searchForm: { | |
| 69 | - staffName: '', | |
| 70 | - projectName: '', | |
| 71 | - communityId: '' | |
| 72 | - }, | |
| 73 | - tableData: [], | |
| 74 | - page: { | |
| 75 | - current: 1, | |
| 76 | - size: 10, | |
| 77 | - total: 0 | |
| 78 | - } | |
| 79 | - } | |
| 80 | - }, | |
| 81 | - created() { | |
| 82 | - this.searchForm.communityId = getCommunityId() | |
| 83 | - this.getList() | |
| 84 | - }, | |
| 85 | - methods: { | |
| 86 | - async getList() { | |
| 87 | - try { | |
| 88 | - this.loading = true | |
| 89 | - const params = { | |
| 90 | - page: this.page.current, | |
| 91 | - row: this.page.size, | |
| 92 | - staffName: this.searchForm.staffName.trim(), | |
| 93 | - projectName: this.searchForm.projectName.trim(), | |
| 94 | - communityId: this.searchForm.communityId | |
| 95 | - } | |
| 96 | - const { data, total } = await listExamineStaffValue(params) | |
| 97 | - this.tableData = data | |
| 98 | - this.page.total = total | |
| 99 | - } catch (error) { | |
| 100 | - this.$message.error(this.$t('examineStaffValue.fetchError')) | |
| 101 | - } finally { | |
| 102 | - this.loading = false | |
| 103 | - } | |
| 104 | - }, | |
| 105 | - handleSearch() { | |
| 106 | - this.page.current = 1 | |
| 107 | - this.getList() | |
| 108 | - }, | |
| 109 | - handleReset() { | |
| 110 | - this.searchForm.staffName = '' | |
| 111 | - this.searchForm.projectName = '' | |
| 112 | - this.handleSearch() | |
| 113 | - }, | |
| 114 | - handleSizeChange(val) { | |
| 115 | - this.page.size = val | |
| 116 | - this.getList() | |
| 117 | - }, | |
| 118 | - handleCurrentChange(val) { | |
| 119 | - this.page.current = val | |
| 120 | - this.getList() | |
| 121 | - } | |
| 122 | - } | |
| 123 | -} | |
| 124 | -</script> | |
| 125 | - | |
| 126 | -<style lang="scss" scoped> | |
| 127 | -.examine-staff-value-container { | |
| 128 | - padding: 20px; | |
| 129 | - | |
| 130 | - .search-wrapper { | |
| 131 | - margin-bottom: 20px; | |
| 132 | - | |
| 133 | - .el-row { | |
| 134 | - margin-bottom: -20px; | |
| 135 | - } | |
| 136 | - | |
| 137 | - .el-col { | |
| 138 | - margin-bottom: 20px; | |
| 139 | - } | |
| 140 | - } | |
| 141 | - | |
| 142 | - .list-wrapper { | |
| 143 | - .el-pagination { | |
| 144 | - margin-top: 20px; | |
| 145 | - text-align: right; | |
| 146 | - } | |
| 147 | - } | |
| 148 | -} | |
| 149 | -</style> | |
| 150 | 0 | \ No newline at end of file |