Commit 56c7fec9f35a3e9babf204ca6008371cb6fcdbe6
1 parent
d367e130
巡检功能测试完成
Showing
34 changed files
with
739 additions
and
280 deletions
src/api/inspection/inspectionPlanDetailApi.js
0 → 100644
| 1 | +import request from '@/utils/request' | |
| 2 | +import { getCommunityId } from '@/api/community/communityApi' | |
| 3 | + | |
| 4 | +// 获取巡检计划详情 | |
| 5 | +export function getInspectionPlanDetail(params) { | |
| 6 | + return new Promise((resolve, reject) => { | |
| 7 | + request({ | |
| 8 | + url: '/inspectionPlan.listInspectionPlans', | |
| 9 | + method: 'get', | |
| 10 | + params: { | |
| 11 | + ...params, | |
| 12 | + communityId: getCommunityId() | |
| 13 | + } | |
| 14 | + }).then(response => { | |
| 15 | + const res = response.data | |
| 16 | + resolve(res) | |
| 17 | + }).catch(error => { | |
| 18 | + reject(error) | |
| 19 | + }) | |
| 20 | + }) | |
| 21 | +} | |
| 22 | + | |
| 23 | +// 获取巡检计划人员列表 | |
| 24 | +export function listInspectionPlanStaffs(params) { | |
| 25 | + return new Promise((resolve, reject) => { | |
| 26 | + request({ | |
| 27 | + url: '/inspection.listInspectionPlanStaffs', | |
| 28 | + method: 'get', | |
| 29 | + params: { | |
| 30 | + ...params, | |
| 31 | + communityId: getCommunityId() | |
| 32 | + } | |
| 33 | + }).then(response => { | |
| 34 | + const res = response.data | |
| 35 | + resolve(res) | |
| 36 | + }).catch(error => { | |
| 37 | + reject(error) | |
| 38 | + }) | |
| 39 | + }) | |
| 40 | +} | |
| 41 | + | |
| 42 | +// 获取巡检路线列表 | |
| 43 | +export function listInspectionRoutes(params) { | |
| 44 | + return new Promise((resolve, reject) => { | |
| 45 | + request({ | |
| 46 | + url: '/inspectionRoute.listInspectionRoutes', | |
| 47 | + method: 'get', | |
| 48 | + params: { | |
| 49 | + ...params, | |
| 50 | + communityId: getCommunityId() | |
| 51 | + } | |
| 52 | + }).then(response => { | |
| 53 | + const res = response.data | |
| 54 | + resolve(res) | |
| 55 | + }).catch(error => { | |
| 56 | + reject(error) | |
| 57 | + }) | |
| 58 | + }) | |
| 59 | +} | |
| 60 | + | |
| 61 | +// 获取巡检路线点列表 | |
| 62 | +export function listInspectionRoutePoints(params) { | |
| 63 | + return new Promise((resolve, reject) => { | |
| 64 | + request({ | |
| 65 | + url: '/inspectionRoute.listInspectionRoutePoints', | |
| 66 | + method: 'get', | |
| 67 | + params: { | |
| 68 | + ...params, | |
| 69 | + communityId: getCommunityId() | |
| 70 | + } | |
| 71 | + }).then(response => { | |
| 72 | + const res = response.data | |
| 73 | + resolve(res) | |
| 74 | + }).catch(error => { | |
| 75 | + reject(error) | |
| 76 | + }) | |
| 77 | + }) | |
| 78 | +} | |
| 79 | + | |
| 80 | +// 获取巡检点列表 | |
| 81 | +export function listInspectionPoints(params) { | |
| 82 | + return new Promise((resolve, reject) => { | |
| 83 | + request({ | |
| 84 | + url: '/inspectionPoint.listInspectionPoints', | |
| 85 | + method: 'get', | |
| 86 | + params: { | |
| 87 | + ...params, | |
| 88 | + communityId: getCommunityId() | |
| 89 | + } | |
| 90 | + }).then(response => { | |
| 91 | + const res = response.data | |
| 92 | + resolve(res) | |
| 93 | + }).catch(error => { | |
| 94 | + reject(error) | |
| 95 | + }) | |
| 96 | + }) | |
| 97 | +} | |
| 98 | + | |
| 99 | +// 保存巡检路线点 | |
| 100 | +export function saveInspectionRoutePoint(data) { | |
| 101 | + return new Promise((resolve, reject) => { | |
| 102 | + request({ | |
| 103 | + url: '/inspectionRoute.saveInspectionRoutePoint', | |
| 104 | + method: 'post', | |
| 105 | + data: { | |
| 106 | + ...data, | |
| 107 | + communityId: getCommunityId() | |
| 108 | + } | |
| 109 | + }).then(response => { | |
| 110 | + const res = response.data | |
| 111 | + resolve(res) | |
| 112 | + }).catch(error => { | |
| 113 | + reject(error) | |
| 114 | + }) | |
| 115 | + }) | |
| 116 | +} | |
| 117 | + | |
| 118 | +// 删除巡检路线点 | |
| 119 | +export function deleteInspectionRoutePoint(data) { | |
| 120 | + return new Promise((resolve, reject) => { | |
| 121 | + request({ | |
| 122 | + url: '/inspectionRoute.deleteInspectionRoutePoint', | |
| 123 | + method: 'post', | |
| 124 | + data: { | |
| 125 | + ...data, | |
| 126 | + communityId: getCommunityId() | |
| 127 | + } | |
| 128 | + }).then(response => { | |
| 129 | + const res = response.data | |
| 130 | + resolve(res) | |
| 131 | + }).catch(error => { | |
| 132 | + reject(error) | |
| 133 | + }) | |
| 134 | + }) | |
| 135 | +} | |
| 136 | + | |
| 137 | +// 更新巡检路线点关系 | |
| 138 | +export function updateInspectionRoutePointRel(data) { | |
| 139 | + return new Promise((resolve, reject) => { | |
| 140 | + request({ | |
| 141 | + url: '/inspectionRoute.updateInspectionRoutePointRel', | |
| 142 | + method: 'post', | |
| 143 | + data: { | |
| 144 | + ...data, | |
| 145 | + communityId: getCommunityId() | |
| 146 | + } | |
| 147 | + }).then(response => { | |
| 148 | + const res = response.data | |
| 149 | + resolve(res) | |
| 150 | + }).catch(error => { | |
| 151 | + reject(error) | |
| 152 | + }) | |
| 153 | + }) | |
| 154 | +} | |
| 155 | + | |
| 156 | +// 查询路线巡检任务 | |
| 157 | +export function queryRouteInspectionTask(params) { | |
| 158 | + return new Promise((resolve, reject) => { | |
| 159 | + request({ | |
| 160 | + url: '/inspection.queryRouteInspectionTask', | |
| 161 | + method: 'get', | |
| 162 | + params: { | |
| 163 | + ...params, | |
| 164 | + communityId: getCommunityId() | |
| 165 | + } | |
| 166 | + }).then(response => { | |
| 167 | + const res = response.data | |
| 168 | + resolve(res) | |
| 169 | + }).catch(error => { | |
| 170 | + reject(error) | |
| 171 | + }) | |
| 172 | + }) | |
| 173 | +} | |
| 174 | + | |
| 175 | +// 查询巡检任务详情 | |
| 176 | +export function queryInspectionTaskDetail(params) { | |
| 177 | + return new Promise((resolve, reject) => { | |
| 178 | + request({ | |
| 179 | + url: '/inspection.queryInspectionTaskDetail', | |
| 180 | + method: 'get', | |
| 181 | + params: { | |
| 182 | + ...params, | |
| 183 | + communityId: getCommunityId() | |
| 184 | + } | |
| 185 | + }).then(response => { | |
| 186 | + const res = response.data | |
| 187 | + resolve(res) | |
| 188 | + }).catch(error => { | |
| 189 | + reject(error) | |
| 190 | + }) | |
| 191 | + }) | |
| 192 | +} | |
| 193 | + | |
| 194 | +// 获取巡检任务详情列表 | |
| 195 | +export function listInspectionTaskDetails(params) { | |
| 196 | + return new Promise((resolve, reject) => { | |
| 197 | + request({ | |
| 198 | + url: '/inspectionTaskDetail.listInspectionTaskDetails', | |
| 199 | + method: 'get', | |
| 200 | + params: { | |
| 201 | + ...params, | |
| 202 | + communityId: getCommunityId() | |
| 203 | + } | |
| 204 | + }).then(response => { | |
| 205 | + const res = response.data | |
| 206 | + resolve(res) | |
| 207 | + }).catch(error => { | |
| 208 | + reject(error) | |
| 209 | + }) | |
| 210 | + }) | |
| 211 | +} | |
| 0 | 212 | \ No newline at end of file | ... | ... |
src/components/inspection/InspectionPlanDetailStaff.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <div class="inspection-plan-detail-staff"> | |
| 3 | + <el-table v-loading="loading" :data="inspectionPlanDetailStaffInfo.staffs" border style="width: 100%"> | |
| 4 | + <el-table-column prop="staffName" :label="$t('inspectionPlanDetail.staffName')" align="center" /> | |
| 5 | + <el-table-column prop="startTime" :label="$t('inspectionPlanDetail.startTime')" align="center" /> | |
| 6 | + <el-table-column prop="endTime" :label="$t('inspectionPlanDetail.endTime')" align="center" /> | |
| 7 | + </el-table> | |
| 8 | + | |
| 9 | + <el-pagination :current-page.sync="page.current" :page-sizes="[10, 20, 30, 50]" :page-size="page.size" | |
| 10 | + :total="page.total" layout="total, sizes, prev, pager, next, jumper" @size-change="handleSizeChange" | |
| 11 | + @current-change="handleCurrentChange" /> | |
| 12 | + </div> | |
| 13 | +</template> | |
| 14 | + | |
| 15 | +<script> | |
| 16 | +import { getCommunityId } from '@/api/community/communityApi' | |
| 17 | +import { listInspectionPlanStaffs } from '@/api/inspection/inspectionPlanDetailApi' | |
| 18 | + | |
| 19 | +export default { | |
| 20 | + name: 'InspectionPlanDetailStaff', | |
| 21 | + data() { | |
| 22 | + return { | |
| 23 | + inspectionPlanDetailStaffInfo: { | |
| 24 | + staffs: [], | |
| 25 | + inspectionPlanId: '', | |
| 26 | + planUserName: '', | |
| 27 | + inspectionStartTime: '', | |
| 28 | + inspectionEndTime: '' | |
| 29 | + }, | |
| 30 | + page: { | |
| 31 | + current: 1, | |
| 32 | + size: 10, | |
| 33 | + total: 0 | |
| 34 | + }, | |
| 35 | + loading: false, | |
| 36 | + communityId: '' | |
| 37 | + } | |
| 38 | + }, | |
| 39 | + created() { | |
| 40 | + this.communityId = getCommunityId() | |
| 41 | + }, | |
| 42 | + methods: { | |
| 43 | + open(params) { | |
| 44 | + this.inspectionPlanDetailStaffInfo.inspectionPlanId = params.inspectionPlanId | |
| 45 | + this.loadInspectionPlanDetailStaffData() | |
| 46 | + }, | |
| 47 | + async switch(params) { | |
| 48 | + this.inspectionPlanDetailStaffInfo.inspectionPlanId = params.inspectionPlanId | |
| 49 | + this.loadInspectionPlanDetailStaffData() | |
| 50 | + }, | |
| 51 | + async loadInspectionPlanDetailStaffData() { | |
| 52 | + try { | |
| 53 | + this.loading = true | |
| 54 | + const params = { | |
| 55 | + communityId: this.communityId, | |
| 56 | + inspectionPlanId: this.inspectionPlanDetailStaffInfo.inspectionPlanId, | |
| 57 | + page: this.page.current, | |
| 58 | + row: this.page.size | |
| 59 | + } | |
| 60 | + const { inspectionPlanStaffs, total } = await listInspectionPlanStaffs(params) | |
| 61 | + this.inspectionPlanDetailStaffInfo.staffs = inspectionPlanStaffs | |
| 62 | + this.page.total = total | |
| 63 | + } catch (error) { | |
| 64 | + console.error('获取巡检人员列表失败:', error) | |
| 65 | + } finally { | |
| 66 | + this.loading = false | |
| 67 | + } | |
| 68 | + }, | |
| 69 | + handleSizeChange(val) { | |
| 70 | + this.page.size = val | |
| 71 | + this.loadInspectionPlanDetailStaffData() | |
| 72 | + }, | |
| 73 | + handleCurrentChange(val) { | |
| 74 | + this.page.current = val | |
| 75 | + this.loadInspectionPlanDetailStaffData() | |
| 76 | + } | |
| 77 | + } | |
| 78 | +} | |
| 79 | +</script> | |
| 80 | + | |
| 81 | +<style lang="scss" scoped> | |
| 82 | +.inspection-plan-detail-staff { | |
| 83 | + padding: 20px; | |
| 84 | + | |
| 85 | + .el-pagination { | |
| 86 | + margin-top: 20px; | |
| 87 | + text-align: right; | |
| 88 | + } | |
| 89 | +} | |
| 90 | +</style> | |
| 0 | 91 | \ No newline at end of file | ... | ... |
src/components/inspection/InspectionRoutePoint.vue
| ... | ... | @@ -81,6 +81,10 @@ export default { |
| 81 | 81 | beforeDestroy() { |
| 82 | 82 | }, |
| 83 | 83 | methods: { |
| 84 | + open(params) { | |
| 85 | + this.inspectionRoutePointInfo.inspectionRouteId = params.inspectionRouteId | |
| 86 | + this._listInspectionRoutePoints() | |
| 87 | + }, | |
| 84 | 88 | loadData(params) { |
| 85 | 89 | this.inspectionRoutePointInfo.inspectionRouteId = params.inspectionRouteId |
| 86 | 90 | this._listInspectionRoutePoints() | ... | ... |
src/components/inspection/InspectionTaskDetail.vue
| 1 | 1 | <template> |
| 2 | - <el-dialog :title="$t('inspectionTaskDetail.taskDetails')" :visible.sync="visible" width="90%" top="5vh" @close="close"> | |
| 3 | - <el-card> | |
| 2 | + <el-dialog :title="$t('inspectionTaskDetail.taskDetails')" :visible.sync="visible" width="90%" top="5vh" | |
| 3 | + @close="close"> | |
| 4 | + | |
| 4 | 5 | <el-table :data="taskDetails" border style="width: 100%"> |
| 5 | 6 | <el-table-column prop="taskDetailId" :label="$t('inspectionTaskDetail.taskDetails') + 'ID'" align="center" |
| 6 | 7 | width="100" /> |
| ... | ... | @@ -55,7 +56,7 @@ |
| 55 | 56 | |
| 56 | 57 | <el-pagination :current-page="currentPage" :page-size="pageSize" :total="total" |
| 57 | 58 | layout="total, prev, pager, next, jumper" @current-change="handlePageChange" /> |
| 58 | - </el-card> | |
| 59 | + | |
| 59 | 60 | |
| 60 | 61 | <ViewMap ref="viewMap" /> |
| 61 | 62 | <ViewImage ref="viewImage" /> | ... | ... |
src/components/inspection/RouteTask.vue
| ... | ... | @@ -45,6 +45,10 @@ export default { |
| 45 | 45 | beforeDestroy() { |
| 46 | 46 | }, |
| 47 | 47 | methods: { |
| 48 | + open(params) { | |
| 49 | + this.routeTaskInfo.inspectionRouteId = params.inspectionRouteId | |
| 50 | + this._loadRouteTaskData() | |
| 51 | + }, | |
| 48 | 52 | loadData(params) { |
| 49 | 53 | this.routeTaskInfo.inspectionRouteId = params.inspectionRouteId |
| 50 | 54 | this._loadRouteTaskData() |
| ... | ... | @@ -75,11 +79,11 @@ export default { |
| 75 | 79 | this.routeTaskInfo.inspectionRouteId = task.inspectionRouteId |
| 76 | 80 | |
| 77 | 81 | // 通知地图组件加载任务 |
| 78 | - this.$nextTick(() => { | |
| 82 | + setTimeout(() => { | |
| 79 | 83 | if (this.$refs.inspectionTaskMap) { |
| 80 | - this.$refs.inspectionTaskMap.loadTask(task) | |
| 84 | + this.$refs.inspectionTaskMap.loadData(task) | |
| 81 | 85 | } |
| 82 | - }) | |
| 86 | + }, 500) | |
| 83 | 87 | } |
| 84 | 88 | } |
| 85 | 89 | } | ... | ... |
src/components/inspection/editInspectionPlan.vue
| 1 | 1 | <template> |
| 2 | 2 | <el-dialog :title="$t('inspectionPlan.modify')" :visible.sync="visible" width="80%" @close="resetForm"> |
| 3 | - <el-form ref="form" :model="formData" label-width="150px"> | |
| 3 | + <el-form ref="form" :model="formData" label-width="150px" class="text-left"> | |
| 4 | 4 | <el-row :gutter="20"> |
| 5 | 5 | <el-col :span="12"> |
| 6 | 6 | <el-form-item :label="$t('inspectionPlan.planName')" prop="inspectionPlanName" required> |
| ... | ... | @@ -100,15 +100,16 @@ |
| 100 | 100 | <el-col :span="12"> |
| 101 | 101 | <el-form-item :label="$t('editInspectionPlan.signMethod')" required> |
| 102 | 102 | <el-select v-model="formData.signType" style="width:100%"> |
| 103 | - <el-option v-for="sign in signTypeOptions" :key="sign.statusCd" :label="sign.name" :value="sign.statusCd" /> | |
| 103 | + <el-option v-for="sign in signTypeOptions" :key="sign.statusCd" :label="sign.name" | |
| 104 | + :value="sign.statusCd" /> | |
| 104 | 105 | </el-select> |
| 105 | 106 | </el-form-item> |
| 106 | 107 | </el-col> |
| 107 | 108 | <el-col :span="12"> |
| 108 | 109 | <el-form-item :label="$t('editInspectionPlan.allowRecheck')"> |
| 109 | 110 | <el-select v-model="formData.canReexamine" style="width:100%"> |
| 110 | - <el-option :label="$t('inspectionPlan.disallowRecheck')" value="1000" /> | |
| 111 | - <el-option :label="$t('inspectionPlan.allowRecheck')" value="2000" /> | |
| 111 | + <el-option :label="$t('addInspectionPlan.notAllowed')" value="1000"></el-option> | |
| 112 | + <el-option :label="$t('addInspectionPlan.allowed')" value="2000"></el-option> | |
| 112 | 113 | </el-select> |
| 113 | 114 | </el-form-item> |
| 114 | 115 | </el-col> |
| ... | ... | @@ -116,7 +117,7 @@ |
| 116 | 117 | |
| 117 | 118 | <el-row> |
| 118 | 119 | <el-form-item :label="$t('editInspectionPlan.selectStaff')"> |
| 119 | - <select-staff-div ref="selectStaffDiv" @selectStaffs="handleSelectStaffs" /> | |
| 120 | + <select-staff-div ref="selectStaffDiv" @selectStaffs="handleSelectStaffs" /> | |
| 120 | 121 | </el-form-item> |
| 121 | 122 | </el-row> |
| 122 | 123 | </el-form> |
| ... | ... | @@ -131,7 +132,7 @@ |
| 131 | 132 | <script> |
| 132 | 133 | import { updateInspectionPlan, listInspectionRoutes, listInspectionPlanStaffs } from '@/api/inspection/inspectionPlanApi' |
| 133 | 134 | import SelectStaffDiv from '@/components/staff/selectStaffsDiv' |
| 134 | -import {getDict} from '@/api/community/communityApi' | |
| 135 | +import { getDict } from '@/api/community/communityApi' | |
| 135 | 136 | |
| 136 | 137 | export default { |
| 137 | 138 | name: 'EditInspectionPlan', |
| ... | ... | @@ -210,12 +211,12 @@ export default { |
| 210 | 211 | |
| 211 | 212 | async loadStaffs(planId) { |
| 212 | 213 | try { |
| 213 | - const { inspectionPlanStaffs } = await listInspectionPlanStaffs({ inspectionPlanId: planId,page: 1, row: 100 }) | |
| 214 | + const { inspectionPlanStaffs } = await listInspectionPlanStaffs({ inspectionPlanId: planId, page: 1, row: 100 }) | |
| 214 | 215 | this.formData.staffs = inspectionPlanStaffs.map(item => ({ |
| 215 | 216 | userId: item.staffId, |
| 216 | 217 | name: item.staffName |
| 217 | 218 | })) |
| 218 | - this.$refs.selectStaffDiv.setStaffs(this.formData.staffs) | |
| 219 | + this.$refs.selectStaffDiv.setStaffs(this.formData.staffs) | |
| 219 | 220 | } catch (error) { |
| 220 | 221 | console.error('Failed to load staffs:', error) |
| 221 | 222 | } |
| ... | ... | @@ -254,7 +255,7 @@ export default { |
| 254 | 255 | this.visible = false |
| 255 | 256 | this.$emit('success') |
| 256 | 257 | } catch (error) { |
| 257 | - | |
| 258 | + | |
| 258 | 259 | this.$message.error(this.$t('inspectionPlan.updateError')) |
| 259 | 260 | } |
| 260 | 261 | } | ... | ... |
src/components/inspection/inspectionPlanState.vue
| 1 | 1 | <template> |
| 2 | - <el-dialog | |
| 3 | - :title="$t('inspectionPlan.confirmOperation')" | |
| 4 | - :visible.sync="visible" | |
| 5 | - width="30%" | |
| 6 | - > | |
| 2 | + <el-dialog :title="$t('inspectionPlan.confirmOperation')" :visible.sync="visible" width="30%"> | |
| 7 | 3 | <div class="text-center"> |
| 8 | 4 | <p>{{ $t('inspectionPlan.confirmStateChange', { state: stateName }) }}</p> |
| 9 | 5 | </div> |
| ... | ... | @@ -34,7 +30,7 @@ export default { |
| 34 | 30 | this.stateName = stateName |
| 35 | 31 | this.visible = true |
| 36 | 32 | }, |
| 37 | - | |
| 33 | + | |
| 38 | 34 | async confirmChange() { |
| 39 | 35 | try { |
| 40 | 36 | await updateInspectionPlanState({ | ... | ... |
src/components/inspection/pointRoute.vue
src/components/inspection/pointTaskDetail.vue
| ... | ... | @@ -122,6 +122,12 @@ export default { |
| 122 | 122 | this.communityId = getCommunityId() |
| 123 | 123 | }, |
| 124 | 124 | methods: { |
| 125 | + open(params) { | |
| 126 | + this.pointTaskDetailInfo.inspectionId = params.inspectionId | |
| 127 | + this.pointTaskDetailInfo.inspectionRouteId = params.inspectionRouteId | |
| 128 | + this.pointTaskDetailInfo.taskId = params.taskId | |
| 129 | + this._loadPointTaskDetailData(this.page.current, this.page.size) | |
| 130 | + }, | |
| 125 | 131 | loadData(point) { |
| 126 | 132 | if (!point) return |
| 127 | 133 | ... | ... |
src/components/staff/selectStaffsDiv.vue
| ... | ... | @@ -36,7 +36,7 @@ |
| 36 | 36 | </el-col> |
| 37 | 37 | </el-row> |
| 38 | 38 | </template> |
| 39 | - | |
| 39 | + | |
| 40 | 40 | <script> |
| 41 | 41 | import { listStaffsByOrgId } from '@/api/inspection/inspectionPlanApi' |
| 42 | 42 | import OrgTreeShow from '@/components/org/OrgTreeShow' |
| ... | ... | @@ -96,7 +96,7 @@ export default { |
| 96 | 96 | } |
| 97 | 97 | } |
| 98 | 98 | </script> |
| 99 | - | |
| 99 | + | |
| 100 | 100 | <style scoped> |
| 101 | 101 | .border-right { |
| 102 | 102 | border-right: 1px solid #eee; |
| ... | ... | @@ -152,4 +152,5 @@ export default { |
| 152 | 152 | .text-center { |
| 153 | 153 | text-align: center; |
| 154 | 154 | padding: 10px 0; |
| 155 | -}</style> | |
| 156 | 155 | \ No newline at end of file |
| 156 | +} | |
| 157 | +</style> | |
| 157 | 158 | \ No newline at end of file | ... | ... |
src/i18n/inspectionI18n.js
| ... | ... | @@ -19,6 +19,7 @@ import { messages as inspectionPlanMessages } from '../views/inspection/inspecti |
| 19 | 19 | import { messages as addInspectionPlanMessages } from '../views/inspection/addInspectionPlanLang' |
| 20 | 20 | import { messages as inspectionTaskMessages } from '../views/inspection/inspectionTaskLang' |
| 21 | 21 | import { messages as inspectionTaskDetailsMessages } from '../views/inspection/inspectionTaskDetailsLang' |
| 22 | +import { messages as inspectionPlanDetailMessages } from '../views/inspection/inspectionPlanDetailLang' | |
| 22 | 23 | |
| 23 | 24 | export const messages = { |
| 24 | 25 | en: { |
| ... | ... | @@ -43,6 +44,7 @@ export const messages = { |
| 43 | 44 | ...addInspectionPlanMessages.en, |
| 44 | 45 | ...inspectionTaskMessages.en, |
| 45 | 46 | ...inspectionTaskDetailsMessages.en, |
| 47 | + ...inspectionPlanDetailMessages.en, | |
| 46 | 48 | }, |
| 47 | 49 | zh: { |
| 48 | 50 | ...adminInspectionPlanMessages.zh, |
| ... | ... | @@ -66,6 +68,7 @@ export const messages = { |
| 66 | 68 | ...addInspectionPlanMessages.zh, |
| 67 | 69 | ...inspectionTaskMessages.zh, |
| 68 | 70 | ...inspectionTaskDetailsMessages.zh, |
| 71 | + ...inspectionPlanDetailMessages.zh, | |
| 69 | 72 | } |
| 70 | 73 | |
| 71 | 74 | } |
| 72 | 75 | \ No newline at end of file | ... | ... |
src/router/inspectionRouter.js
| ... | ... | @@ -104,4 +104,9 @@ export default [ |
| 104 | 104 | name: '/pages/property/maintainanceTaskManage', |
| 105 | 105 | component: () => import('@/views/inspection/maintainanceTaskManageList.vue') |
| 106 | 106 | }, |
| 107 | + { | |
| 108 | + path:'/pages/inspection/inspectionPlanDetail', | |
| 109 | + name:'/pages/inspection/inspectionPlanDetail', | |
| 110 | + component: () => import('@/views/inspection/inspectionPlanDetailList.vue') | |
| 111 | + }, | |
| 107 | 112 | ] |
| 108 | 113 | \ No newline at end of file | ... | ... |
src/views/contract/contractChangeDetailLang.js
| ... | ... | @@ -65,13 +65,6 @@ export const messages = { |
| 65 | 65 | staffRequired: 'Staff is required', |
| 66 | 66 | staffNameRequired: 'Staff name is required' |
| 67 | 67 | }, |
| 68 | - selectStaff: { | |
| 69 | - title: 'Select Staff', | |
| 70 | - orgInfo: 'Organization Information', | |
| 71 | - staffInfo: 'Staff Information', | |
| 72 | - submitter: 'Submitter', | |
| 73 | - dynamicAssign: 'Dynamic Assignment' | |
| 74 | - }, | |
| 75 | 68 | chooseContract: { |
| 76 | 69 | title: 'Select Contract', |
| 77 | 70 | searchPlaceholder: 'Input contract name', |
| ... | ... | @@ -149,13 +142,7 @@ export const messages = { |
| 149 | 142 | staffRequired: '员工不能为空', |
| 150 | 143 | staffNameRequired: '员工名称不能为空' |
| 151 | 144 | }, |
| 152 | - selectStaff: { | |
| 153 | - title: '选择员工', | |
| 154 | - orgInfo: '组织信息', | |
| 155 | - staffInfo: '员工信息', | |
| 156 | - submitter: '提交者', | |
| 157 | - dynamicAssign: '动态指定' | |
| 158 | - }, | |
| 145 | + | |
| 159 | 146 | chooseContract: { |
| 160 | 147 | title: '选择合同信息', |
| 161 | 148 | searchPlaceholder: '输入合同信息名称', | ... | ... |
src/views/inspection/InspectionTaskList.vue
| ... | ... | @@ -109,8 +109,8 @@ |
| 109 | 109 | </el-table> |
| 110 | 110 | |
| 111 | 111 | <el-row style="margin-top: 20px;"> |
| 112 | - <el-col :span="18"> | |
| 113 | - <div class="note">{{ $t('inspectionTask.note') }}</div> | |
| 112 | + <el-col :span="18" class="text-left table-desc"> | |
| 113 | + <div >{{ $t('inspectionTask.note') }}</div> | |
| 114 | 114 | </el-col> |
| 115 | 115 | <el-col :span="6"> |
| 116 | 116 | <el-pagination :current-page="currentPage" :page-size="pageSize" :total="total" |
| ... | ... | @@ -237,7 +237,7 @@ export default { |
| 237 | 237 | } |
| 238 | 238 | |
| 239 | 239 | .plan-list-card { |
| 240 | - height: calc(100vh - 100px); | |
| 240 | + height: auto; | |
| 241 | 241 | } |
| 242 | 242 | |
| 243 | 243 | .plan-list { | ... | ... |
src/views/inspection/addInspectionPlanList.vue
| ... | ... | @@ -5,7 +5,7 @@ |
| 5 | 5 | <span>{{ $t('addInspectionPlan.title') }}</span> |
| 6 | 6 | </div> |
| 7 | 7 | |
| 8 | - <el-form ref="form" :model="form" label-width="150px" label-position="right"> | |
| 8 | + <el-form ref="form" :model="form" label-width="150px" label-position="right" class="text-left"> | |
| 9 | 9 | <el-row :gutter="20"> |
| 10 | 10 | <el-col :span="12"> |
| 11 | 11 | <el-form-item :label="$t('addInspectionPlan.planName')" prop="inspectionPlanName" required> | ... | ... |
src/views/inspection/inspectionPlanDetailLang.js
0 → 100644
| 1 | +export const messages = { | |
| 2 | + en: { | |
| 3 | + inspectionPlanDetail: { | |
| 4 | + title: 'Inspection Plan Detail', | |
| 5 | + planName: 'Plan Name', | |
| 6 | + planRoute: 'Plan Route', | |
| 7 | + planPeriod: 'Plan Period', | |
| 8 | + signType: 'Sign Type', | |
| 9 | + dateRange: 'Date Range', | |
| 10 | + timeRange: 'Time Range', | |
| 11 | + beforeTime: 'Before Time (min)', | |
| 12 | + creator: 'Creator', | |
| 13 | + createTime: 'Create Time', | |
| 14 | + status: 'Status', | |
| 15 | + staff: 'Staff', | |
| 16 | + route: 'Route', | |
| 17 | + point: 'Point', | |
| 18 | + task: 'Task', | |
| 19 | + detail: 'Detail', | |
| 20 | + staffName: 'Staff Name', | |
| 21 | + startTime: 'Start Time', | |
| 22 | + endTime: 'End Time', | |
| 23 | + routeList: 'Route List', | |
| 24 | + pointId: 'Point ID', | |
| 25 | + pointName: 'Point Name', | |
| 26 | + pointType: 'Point Type', | |
| 27 | + pointLocation: 'Location', | |
| 28 | + pointTimeRange: 'Time Range', | |
| 29 | + sortNumber: 'Sort Number', | |
| 30 | + operation: 'Operation', | |
| 31 | + choosePoint: 'Choose Inspection Point', | |
| 32 | + pointNamePlaceholder: 'Enter point name', | |
| 33 | + deletePointConfirm: 'Are you sure to delete this inspection point?', | |
| 34 | + editPoint: 'Edit Inspection Point', | |
| 35 | + startTimePlaceholder: 'Select start time', | |
| 36 | + endTimePlaceholder: 'Select end time', | |
| 37 | + sortNumberPlaceholder: 'Enter sort number', | |
| 38 | + startTimeRequired: 'Start time is required', | |
| 39 | + endTimeRequired: 'End time is required', | |
| 40 | + sortNumberRequired: 'Sort number is required', | |
| 41 | + sortNumberMustBeNumber: 'Sort number must be a number', | |
| 42 | + choosePointWarning: 'Please select at least one inspection point', | |
| 43 | + taskList: 'Task List', | |
| 44 | + taskDetailId: 'Task Detail ID', | |
| 45 | + taskStatus: 'Task Status', | |
| 46 | + planUser: 'Plan User', | |
| 47 | + actualUser: 'Actual User', | |
| 48 | + signStatus: 'Sign Status', | |
| 49 | + pointStatus: 'Point Status', | |
| 50 | + inspectionDesc: 'Description', | |
| 51 | + inspectionPhoto: 'Photos', | |
| 52 | + planTimeRange: 'Plan Time', | |
| 53 | + actualTime: 'Actual Time', | |
| 54 | + searchPlanUser: 'Search by user', | |
| 55 | + searchStartTime: 'Start time', | |
| 56 | + searchEndTime: 'End time' | |
| 57 | + } | |
| 58 | + }, | |
| 59 | + zh: { | |
| 60 | + inspectionPlanDetail: { | |
| 61 | + title: '巡检计划详情', | |
| 62 | + planName: '计划名称', | |
| 63 | + planRoute: '计划路线', | |
| 64 | + planPeriod: '计划周期', | |
| 65 | + signType: '签到方式', | |
| 66 | + dateRange: '日期范围', | |
| 67 | + timeRange: '时间范围', | |
| 68 | + beforeTime: '任务提前(分钟)', | |
| 69 | + creator: '制定人', | |
| 70 | + createTime: '制定时间', | |
| 71 | + status: '状态', | |
| 72 | + staff: '巡检人员', | |
| 73 | + route: '巡检路线', | |
| 74 | + point: '巡检点', | |
| 75 | + task: '巡检任务', | |
| 76 | + detail: '巡检明细', | |
| 77 | + staffName: '巡检人员', | |
| 78 | + startTime: '开始时间', | |
| 79 | + endTime: '结束时间', | |
| 80 | + routeList: '路线列表', | |
| 81 | + pointId: '巡检点ID', | |
| 82 | + pointName: '巡检点名称', | |
| 83 | + pointType: '巡检点类型', | |
| 84 | + pointLocation: '巡检位置', | |
| 85 | + pointTimeRange: '时间范围', | |
| 86 | + sortNumber: '排序', | |
| 87 | + operation: '操作', | |
| 88 | + choosePoint: '选择巡检点', | |
| 89 | + pointNamePlaceholder: '输入巡检点名称', | |
| 90 | + deletePointConfirm: '确定删除该巡检点吗?', | |
| 91 | + editPoint: '修改巡检点', | |
| 92 | + startTimePlaceholder: '请填写开始时间', | |
| 93 | + endTimePlaceholder: '请填写结束时间', | |
| 94 | + sortNumberPlaceholder: '请填写排序值', | |
| 95 | + startTimeRequired: '开始时间不能为空', | |
| 96 | + endTimeRequired: '结束时间不能为空', | |
| 97 | + sortNumberRequired: '排序不能为空', | |
| 98 | + sortNumberMustBeNumber: '顺序必须是数字', | |
| 99 | + choosePointWarning: '请选择巡检点', | |
| 100 | + taskList: '任务列表', | |
| 101 | + taskDetailId: '任务详情ID', | |
| 102 | + taskStatus: '任务状态', | |
| 103 | + planUser: '计划巡检人', | |
| 104 | + actualUser: '实际巡检人', | |
| 105 | + signStatus: '实际签到状态', | |
| 106 | + pointStatus: '巡检点状态', | |
| 107 | + inspectionDesc: '巡检情况', | |
| 108 | + inspectionPhoto: '巡检照片', | |
| 109 | + planTimeRange: '计划时间', | |
| 110 | + actualTime: '实际巡检时间', | |
| 111 | + searchPlanUser: '请输入巡检人', | |
| 112 | + searchStartTime: '实际巡检开始时间', | |
| 113 | + searchEndTime: '实际巡检结束时间' | |
| 114 | + } | |
| 115 | + } | |
| 116 | +} | |
| 0 | 117 | \ No newline at end of file | ... | ... |
src/views/inspection/inspectionPlanDetailList.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <div class="inspection-plan-detail-container"> | |
| 3 | + <el-card class="box-card"> | |
| 4 | + <div slot="header" class="clearfix"> | |
| 5 | + <span>{{ $t('inspectionPlanDetail.title') }}</span> | |
| 6 | + </div> | |
| 7 | + <div class="content-wrapper"> | |
| 8 | + <el-row :gutter="20"> | |
| 9 | + <el-col :span="8"> | |
| 10 | + <div class="form-group"> | |
| 11 | + <label class="col-form-label"> | |
| 12 | + {{ $t('inspectionPlanDetail.planName') }}: | |
| 13 | + </label> | |
| 14 | + <label>{{ inspectionPlanDetailInfo.inspectionPlanName }}</label> | |
| 15 | + </div> | |
| 16 | + </el-col> | |
| 17 | + <el-col :span="8"> | |
| 18 | + <div class="form-group"> | |
| 19 | + <label class="col-form-label"> | |
| 20 | + {{ $t('inspectionPlanDetail.planRoute') }}: | |
| 21 | + </label> | |
| 22 | + <label>{{ inspectionPlanDetailInfo.inspectionRouteName }}</label> | |
| 23 | + </div> | |
| 24 | + </el-col> | |
| 25 | + <el-col :span="8"> | |
| 26 | + <div class="form-group"> | |
| 27 | + <label class="col-form-label"> | |
| 28 | + {{ $t('inspectionPlanDetail.planPeriod') }}: | |
| 29 | + </label> | |
| 30 | + <label>{{ inspectionPlanDetailInfo.inspectionPlanPeriodName }}</label> | |
| 31 | + </div> | |
| 32 | + </el-col> | |
| 33 | + <el-col :span="8"> | |
| 34 | + <div class="form-group"> | |
| 35 | + <label class="col-form-label"> | |
| 36 | + {{ $t('inspectionPlanDetail.signType') }}: | |
| 37 | + </label> | |
| 38 | + <label>{{ inspectionPlanDetailInfo.signTypeName }}</label> | |
| 39 | + </div> | |
| 40 | + </el-col> | |
| 41 | + <el-col :span="8"> | |
| 42 | + <div class="form-group"> | |
| 43 | + <label class="col-form-label"> | |
| 44 | + {{ $t('inspectionPlanDetail.dateRange') }}: | |
| 45 | + </label> | |
| 46 | + <label>{{ inspectionPlanDetailInfo.startDate }}~{{ inspectionPlanDetailInfo.endDate }}</label> | |
| 47 | + </div> | |
| 48 | + </el-col> | |
| 49 | + <el-col :span="8"> | |
| 50 | + <div class="form-group"> | |
| 51 | + <label class="col-form-label"> | |
| 52 | + {{ $t('inspectionPlanDetail.timeRange') }}: | |
| 53 | + </label> | |
| 54 | + <label>{{ inspectionPlanDetailInfo.startTime }}~{{ inspectionPlanDetailInfo.endTime }}</label> | |
| 55 | + </div> | |
| 56 | + </el-col> | |
| 57 | + <el-col :span="8"> | |
| 58 | + <div class="form-group"> | |
| 59 | + <label class="col-form-label"> | |
| 60 | + {{ $t('inspectionPlanDetail.beforeTime') }}: | |
| 61 | + </label> | |
| 62 | + <label>{{ inspectionPlanDetailInfo.beforeTime }}</label> | |
| 63 | + </div> | |
| 64 | + </el-col> | |
| 65 | + <el-col :span="8"> | |
| 66 | + <div class="form-group"> | |
| 67 | + <label class="col-form-label"> | |
| 68 | + {{ $t('inspectionPlanDetail.creator') }}: | |
| 69 | + </label> | |
| 70 | + <label>{{ inspectionPlanDetailInfo.createUserName }}</label> | |
| 71 | + </div> | |
| 72 | + </el-col> | |
| 73 | + <el-col :span="8"> | |
| 74 | + <div class="form-group"> | |
| 75 | + <label class="col-form-label"> | |
| 76 | + {{ $t('inspectionPlanDetail.createTime') }}: | |
| 77 | + </label> | |
| 78 | + <label>{{ inspectionPlanDetailInfo.createTime }}</label> | |
| 79 | + </div> | |
| 80 | + </el-col> | |
| 81 | + <el-col :span="8"> | |
| 82 | + <div class="form-group"> | |
| 83 | + <label class="col-form-label"> | |
| 84 | + {{ $t('inspectionPlanDetail.status') }}: | |
| 85 | + </label> | |
| 86 | + <label>{{ inspectionPlanDetailInfo.stateName }}</label> | |
| 87 | + </div> | |
| 88 | + </el-col> | |
| 89 | + </el-row> | |
| 90 | + </div> | |
| 91 | + </el-card> | |
| 92 | + | |
| 93 | + <el-card class="box-card margin-top"> | |
| 94 | + <div class="content-wrapper"> | |
| 95 | + <el-tabs v-model="inspectionPlanDetailInfo._currentTab" @tab-click="changeTab(inspectionPlanDetailInfo._currentTab)"> | |
| 96 | + <el-tab-pane :label="$t('inspectionPlanDetail.staff')" name="inspectionPlanDetailStaff"> | |
| 97 | + <inspection-plan-detail-staff ref="inspectionPlanDetailStaff" /> | |
| 98 | + </el-tab-pane> | |
| 99 | + <el-tab-pane :label="$t('inspectionPlanDetail.route')" name="pointRoute"> | |
| 100 | + <point-route ref="pointRoute" /> | |
| 101 | + </el-tab-pane> | |
| 102 | + <el-tab-pane :label="$t('inspectionPlanDetail.point')" name="inspectionRoutePoint"> | |
| 103 | + <inspection-route-point ref="inspectionRoutePoint" /> | |
| 104 | + </el-tab-pane> | |
| 105 | + <el-tab-pane :label="$t('inspectionPlanDetail.task')" name="routeTask"> | |
| 106 | + <route-task ref="routeTask" /> | |
| 107 | + </el-tab-pane> | |
| 108 | + <el-tab-pane :label="$t('inspectionPlanDetail.detail')" name="pointTaskDetail"> | |
| 109 | + <point-task-detail ref="pointTaskDetail" /> | |
| 110 | + </el-tab-pane> | |
| 111 | + </el-tabs> | |
| 112 | + </div> | |
| 113 | + </el-card> | |
| 114 | + </div> | |
| 115 | +</template> | |
| 116 | + | |
| 117 | +<script> | |
| 118 | +import { getCommunityId } from '@/api/community/communityApi' | |
| 119 | +import InspectionPlanDetailStaff from '@/components/inspection/InspectionPlanDetailStaff' | |
| 120 | +import PointRoute from '@/components/inspection/pointRoute' | |
| 121 | +import InspectionRoutePoint from '@/components/inspection/InspectionRoutePoint' | |
| 122 | +import RouteTask from '@/components/inspection/RouteTask' | |
| 123 | +import PointTaskDetail from '@/components/inspection/pointTaskDetail' | |
| 124 | +import { getInspectionPlanDetail } from '@/api/inspection/inspectionPlanDetailApi' | |
| 125 | + | |
| 126 | +export default { | |
| 127 | + name: 'InspectionPlanDetailList', | |
| 128 | + components: { | |
| 129 | + InspectionPlanDetailStaff, | |
| 130 | + PointRoute, | |
| 131 | + InspectionRoutePoint, | |
| 132 | + RouteTask, | |
| 133 | + PointTaskDetail | |
| 134 | + }, | |
| 135 | + data() { | |
| 136 | + return { | |
| 137 | + inspectionPlanDetailInfo: { | |
| 138 | + beforeTime: '', | |
| 139 | + canReexamine: '', | |
| 140 | + createTime: '', | |
| 141 | + createUserId: '', | |
| 142 | + createUserName: '', | |
| 143 | + endDate: '', | |
| 144 | + endTime: '', | |
| 145 | + inspectionDay: '', | |
| 146 | + inspectionMonth: '', | |
| 147 | + inspectionPlanId: '', | |
| 148 | + inspectionPlanName: '', | |
| 149 | + inspectionPlanPeriod: '', | |
| 150 | + inspectionPlanPeriodName: '', | |
| 151 | + inspectionRouteId: '', | |
| 152 | + inspectionRouteName: '', | |
| 153 | + inspectionWorkday: '', | |
| 154 | + remark: '', | |
| 155 | + signType: '', | |
| 156 | + signTypeName: '', | |
| 157 | + startDate: '', | |
| 158 | + startTime: '', | |
| 159 | + state: '', | |
| 160 | + stateName: '', | |
| 161 | + total: 0, | |
| 162 | + records: 1, | |
| 163 | + moreCondition: false, | |
| 164 | + inspectionName: '', | |
| 165 | + pointObjTypes: [], | |
| 166 | + _currentTab: 'inspectionPlanDetailStaff' | |
| 167 | + }, | |
| 168 | + communityId: '' | |
| 169 | + } | |
| 170 | + }, | |
| 171 | + created() { | |
| 172 | + this.communityId = getCommunityId() | |
| 173 | + this.inspectionPlanDetailInfo.inspectionPlanId = this.$route.query.inspectionPlanId | |
| 174 | + this.getInspectionPlanDetail() | |
| 175 | + }, | |
| 176 | + methods: { | |
| 177 | + async getInspectionPlanDetail() { | |
| 178 | + try { | |
| 179 | + const params = { | |
| 180 | + page: 1, | |
| 181 | + row: 1, | |
| 182 | + communityId: this.communityId, | |
| 183 | + inspectionPlanId: this.inspectionPlanDetailInfo.inspectionPlanId | |
| 184 | + } | |
| 185 | + const { data } = await getInspectionPlanDetail(params) | |
| 186 | + Object.assign(this.inspectionPlanDetailInfo, data[0]) | |
| 187 | + this.changeTab(this.inspectionPlanDetailInfo._currentTab) | |
| 188 | + } catch (error) { | |
| 189 | + console.error('获取巡检计划详情失败:', error) | |
| 190 | + } | |
| 191 | + }, | |
| 192 | + changeTab(tab) { | |
| 193 | + this.inspectionPlanDetailInfo._currentTab = tab | |
| 194 | + setTimeout(() => { | |
| 195 | + const componentRef = this.$refs[`${tab}`] | |
| 196 | + if (componentRef && componentRef.open) { | |
| 197 | + componentRef.open({ | |
| 198 | + inspectionPlanId: this.inspectionPlanDetailInfo.inspectionPlanId, | |
| 199 | + inspectionRouteId: this.inspectionPlanDetailInfo.inspectionRouteId | |
| 200 | + }) | |
| 201 | + } | |
| 202 | + }, 500) | |
| 203 | + } | |
| 204 | + } | |
| 205 | +} | |
| 206 | +</script> | |
| 207 | + | |
| 208 | +<style lang="scss" scoped> | |
| 209 | +.inspection-plan-detail-container { | |
| 210 | + padding: 20px; | |
| 211 | + | |
| 212 | + .box-card { | |
| 213 | + margin-bottom: 20px; | |
| 214 | + | |
| 215 | + .clearfix { | |
| 216 | + display: flex; | |
| 217 | + justify-content: space-between; | |
| 218 | + align-items: center; | |
| 219 | + } | |
| 220 | + | |
| 221 | + .content-wrapper { | |
| 222 | + padding: 20px; | |
| 223 | + | |
| 224 | + .form-group { | |
| 225 | + margin-bottom: 15px; | |
| 226 | + display: flex; | |
| 227 | + align-items: center; | |
| 228 | + | |
| 229 | + .col-form-label { | |
| 230 | + margin-right: 10px; | |
| 231 | + min-width: 100px; | |
| 232 | + } | |
| 233 | + } | |
| 234 | + } | |
| 235 | + } | |
| 236 | + | |
| 237 | + .margin-top { | |
| 238 | + margin-top: 20px; | |
| 239 | + } | |
| 240 | +} | |
| 241 | +</style> | |
| 0 | 242 | \ No newline at end of file | ... | ... |
src/views/inspection/inspectionPlanLang.js
| ... | ... | @@ -32,7 +32,10 @@ export const messages = { |
| 32 | 32 | confirmDeleteTitle: 'Confirm Deletion', |
| 33 | 33 | confirmDeleteContent: 'Are you sure you want to delete this inspection plan?', |
| 34 | 34 | cancel: 'Cancel', |
| 35 | - confirm: 'Confirm' | |
| 35 | + confirm: 'Confirm', | |
| 36 | + confirmOperation: 'Confirm Operation', | |
| 37 | + confirmStateChange: 'Confirm State Change', | |
| 38 | + | |
| 36 | 39 | }, |
| 37 | 40 | editInspectionPlan: { |
| 38 | 41 | title: 'Edit Plan', |
| ... | ... | @@ -100,7 +103,9 @@ export const messages = { |
| 100 | 103 | confirmDeleteTitle: '确认删除', |
| 101 | 104 | confirmDeleteContent: '确定删除巡检计划吗?', |
| 102 | 105 | cancel: '取消', |
| 103 | - confirm: '确定' | |
| 106 | + confirm: '确定', | |
| 107 | + confirmOperation: '确认操作', | |
| 108 | + confirmStateChange: '确认状态变更', | |
| 104 | 109 | }, |
| 105 | 110 | editInspectionPlan: { |
| 106 | 111 | title: '修改计划', | ... | ... |
src/views/inspection/pointPlanLang.js
| 1 | 1 | export default { |
| 2 | 2 | en: { |
| 3 | - inspectionPlan: { | |
| 4 | - planName: 'Plan Name', | |
| 5 | - planRoute: 'Plan Route', | |
| 6 | - planPeriod: 'Plan Cycle', | |
| 7 | - signType: 'Sign-in Method', | |
| 8 | - dateRange: 'Date Range', | |
| 9 | - timeRange: 'Time Range', | |
| 10 | - taskAhead: 'Task Ahead (minutes)', | |
| 11 | - creator: 'Creator', | |
| 12 | - createTime: 'Create Time', | |
| 13 | - inspector: 'Inspector', | |
| 14 | - status: 'Status' | |
| 15 | - } | |
| 3 | + | |
| 16 | 4 | }, |
| 17 | 5 | zh: { |
| 18 | - inspectionPlan: { | |
| 19 | - planName: '计划名称', | |
| 20 | - planRoute: '计划路线', | |
| 21 | - planPeriod: '计划周期', | |
| 22 | - signType: '签到方式', | |
| 23 | - dateRange: '日期范围', | |
| 24 | - timeRange: '时间范围', | |
| 25 | - taskAhead: '任务提前(分钟)', | |
| 26 | - creator: '制定人', | |
| 27 | - createTime: '制定时间', | |
| 28 | - inspector: '巡检人', | |
| 29 | - status: '状态' | |
| 30 | - } | |
| 6 | + | |
| 31 | 7 | } |
| 32 | 8 | } |
| 33 | 9 | \ No newline at end of file | ... | ... |
src/views/oa/addAttendanceClassesStaffLang.js
| ... | ... | @@ -13,14 +13,6 @@ export const messages = { |
| 13 | 13 | imageSizeLimit: 'Image size cannot exceed 2MB', |
| 14 | 14 | uploadFailed: 'Upload failed' |
| 15 | 15 | }, |
| 16 | - selectStaff: { | |
| 17 | - title: 'Select Staff', | |
| 18 | - orgInfo: 'Organization Information', | |
| 19 | - staffInfo: 'Staff Information', | |
| 20 | - submitter: 'Submitter', | |
| 21 | - dynamicAssign: 'Dynamic Assign', | |
| 22 | - loadStaffFailed: 'Failed to load staff list' | |
| 23 | - }, | |
| 24 | 16 | orgTree: { |
| 25 | 17 | loadFailed: 'Failed to load organization tree' |
| 26 | 18 | } |
| ... | ... | @@ -39,14 +31,6 @@ export const messages = { |
| 39 | 31 | imageSizeLimit: '图片大小不能超过2MB', |
| 40 | 32 | uploadFailed: '上传失败' |
| 41 | 33 | }, |
| 42 | - selectStaff: { | |
| 43 | - title: '选择员工', | |
| 44 | - orgInfo: '组织信息', | |
| 45 | - staffInfo: '员工信息', | |
| 46 | - submitter: '提交者', | |
| 47 | - dynamicAssign: '动态指定', | |
| 48 | - loadStaffFailed: '加载员工列表失败' | |
| 49 | - }, | |
| 50 | 34 | orgTree: { |
| 51 | 35 | loadFailed: '加载组织树失败' |
| 52 | 36 | } | ... | ... |
src/views/oa/addComplaintTypeLang.js
| ... | ... | @@ -17,12 +17,6 @@ export const messages = { |
| 17 | 17 | autoReply: 'Auto Reply', |
| 18 | 18 | manualReply: 'Manual Reply' |
| 19 | 19 | }, |
| 20 | - selectStaff: { | |
| 21 | - orgInfo: 'Organization Info', | |
| 22 | - staffInfo: 'Staff Info', | |
| 23 | - selectedStaff: 'Selected Staff', | |
| 24 | - noRepeatSelect: 'Do not select repeatedly' | |
| 25 | - } | |
| 26 | 20 | }, |
| 27 | 21 | zh: { |
| 28 | 22 | addComplaintType: { |
| ... | ... | @@ -42,11 +36,5 @@ export const messages = { |
| 42 | 36 | autoReply: '自动回复', |
| 43 | 37 | manualReply: '人工回复' |
| 44 | 38 | }, |
| 45 | - selectStaff: { | |
| 46 | - orgInfo: '组织信息', | |
| 47 | - staffInfo: '员工信息', | |
| 48 | - selectedStaff: '已选员工', | |
| 49 | - noRepeatSelect: '请勿重复选择' | |
| 50 | - } | |
| 51 | 39 | } |
| 52 | 40 | } |
| 53 | 41 | \ No newline at end of file | ... | ... |
src/views/oa/addExamineStaffLang.js
| ... | ... | @@ -12,13 +12,6 @@ export const messages = { |
| 12 | 12 | staffIntroduction: 'Staff Introduction', |
| 13 | 13 | staffIntroductionPlaceholder: 'Required, please fill in staff introduction' |
| 14 | 14 | }, |
| 15 | - selectStaff: { | |
| 16 | - title: 'Select Staff', | |
| 17 | - orgInfo: 'Organization Information', | |
| 18 | - staffInfo: 'Staff Information', | |
| 19 | - submitter: 'Submitter', | |
| 20 | - dynamicAssign: 'Dynamic Assignment' | |
| 21 | - }, | |
| 22 | 15 | uploadImage: { |
| 23 | 16 | imageSizeLimit: 'Image size cannot exceed 2MB', |
| 24 | 17 | uploadFailed: 'Upload failed' |
| ... | ... | @@ -37,13 +30,6 @@ export const messages = { |
| 37 | 30 | staffIntroduction: '员工简介', |
| 38 | 31 | staffIntroductionPlaceholder: '必填,请输入员工简介' |
| 39 | 32 | }, |
| 40 | - selectStaff: { | |
| 41 | - title: '选择员工', | |
| 42 | - orgInfo: '组织信息', | |
| 43 | - staffInfo: '员工信息', | |
| 44 | - submitter: '提交者', | |
| 45 | - dynamicAssign: '动态指定' | |
| 46 | - }, | |
| 47 | 33 | uploadImage: { |
| 48 | 34 | imageSizeLimit: '图片大小不能超过2MB', |
| 49 | 35 | uploadFailed: '上传失败' | ... | ... |
src/views/oa/addWorkLang.js
| ... | ... | @@ -47,13 +47,6 @@ export const messages = { |
| 47 | 47 | success: 'File uploaded successfully', |
| 48 | 48 | failed: 'File upload failed' |
| 49 | 49 | }, |
| 50 | - selectStaff: { | |
| 51 | - title: 'Select Staff', | |
| 52 | - orgInfo: 'Organization Information', | |
| 53 | - staffInfo: 'Staff Information', | |
| 54 | - submitter: 'Submitter', | |
| 55 | - dynamicAssign: 'Dynamic Assignment' | |
| 56 | - } | |
| 57 | 50 | }, |
| 58 | 51 | zh: { |
| 59 | 52 | addWork: { |
| ... | ... | @@ -103,12 +96,5 @@ export const messages = { |
| 103 | 96 | success: '文件上传成功', |
| 104 | 97 | failed: '文件上传失败' |
| 105 | 98 | }, |
| 106 | - selectStaff: { | |
| 107 | - title: '选择员工', | |
| 108 | - orgInfo: '组织信息', | |
| 109 | - staffInfo: '员工信息', | |
| 110 | - submitter: '提交者', | |
| 111 | - dynamicAssign: '动态指定' | |
| 112 | - } | |
| 113 | 99 | } |
| 114 | 100 | } |
| 115 | 101 | \ No newline at end of file | ... | ... |
src/views/oa/editComplaintTypeLang.js
| ... | ... | @@ -20,13 +20,6 @@ export const messages = { |
| 20 | 20 | saveError: 'Save failed', |
| 21 | 21 | loadError: 'Failed to load complaint type details' |
| 22 | 22 | }, |
| 23 | - selectStaff: { | |
| 24 | - orgInfo: 'Organization Information', | |
| 25 | - staffInfo: 'Staff Information', | |
| 26 | - selectedStaff: 'Selected Staff', | |
| 27 | - staffAlreadySelected: 'Staff already selected', | |
| 28 | - loadStaffError: 'Failed to load staff information' | |
| 29 | - }, | |
| 30 | 23 | orgTree: { |
| 31 | 24 | loadError: 'Failed to load organization tree' |
| 32 | 25 | } |
| ... | ... | @@ -52,13 +45,6 @@ export const messages = { |
| 52 | 45 | saveError: '保存失败', |
| 53 | 46 | loadError: '加载投诉类型详情失败' |
| 54 | 47 | }, |
| 55 | - selectStaff: { | |
| 56 | - orgInfo: '组织信息', | |
| 57 | - staffInfo: '员工信息', | |
| 58 | - selectedStaff: '已选员工', | |
| 59 | - staffAlreadySelected: '请勿重复选择', | |
| 60 | - loadStaffError: '加载员工信息失败' | |
| 61 | - }, | |
| 62 | 48 | orgTree: { |
| 63 | 49 | loadError: '加载组织树失败' |
| 64 | 50 | } | ... | ... |
src/views/oa/editWorkLang.js
| ... | ... | @@ -51,13 +51,6 @@ export const messages = { |
| 51 | 51 | placeholder: 'Required, please enter content', |
| 52 | 52 | uploadFailed: 'Image upload failed' |
| 53 | 53 | }, |
| 54 | - selectStaff: { | |
| 55 | - title: 'Select Staff', | |
| 56 | - orgInfo: 'Organization Information', | |
| 57 | - staffInfo: 'Staff Information', | |
| 58 | - submitter: 'Submitter', | |
| 59 | - dynamicAssign: 'Dynamic Assign' | |
| 60 | - } | |
| 61 | 54 | }, |
| 62 | 55 | zh: { |
| 63 | 56 | editWork: { |
| ... | ... | @@ -111,12 +104,5 @@ export const messages = { |
| 111 | 104 | placeholder: '必填,请输入内容', |
| 112 | 105 | uploadFailed: '图片上传失败' |
| 113 | 106 | }, |
| 114 | - selectStaff: { | |
| 115 | - title: '选择员工', | |
| 116 | - orgInfo: '组织信息', | |
| 117 | - staffInfo: '员工信息', | |
| 118 | - submitter: '提交者', | |
| 119 | - dynamicAssign: '动态指定' | |
| 120 | - } | |
| 121 | 107 | } |
| 122 | 108 | } |
| 123 | 109 | \ No newline at end of file | ... | ... |
src/views/oa/newOaWorkflowDetailLang.js
| ... | ... | @@ -41,13 +41,6 @@ export const messages = { |
| 41 | 41 | transferred: 'Transferred', |
| 42 | 42 | completed: 'Completed' |
| 43 | 43 | }, |
| 44 | - selectStaff: { | |
| 45 | - title: 'Select Staff', | |
| 46 | - orgInfo: 'Organization Information', | |
| 47 | - staffInfo: 'Staff Information', | |
| 48 | - submitter: 'Submitter', | |
| 49 | - customAssign: 'Dynamic Assignment' | |
| 50 | - } | |
| 51 | 44 | }, |
| 52 | 45 | zh: { |
| 53 | 46 | newOaWorkflowDetail: { |
| ... | ... | @@ -91,12 +84,5 @@ export const messages = { |
| 91 | 84 | transferred: '转单', |
| 92 | 85 | completed: '办结' |
| 93 | 86 | }, |
| 94 | - selectStaff: { | |
| 95 | - title: '选择员工', | |
| 96 | - orgInfo: '组织信息', | |
| 97 | - staffInfo: '员工信息', | |
| 98 | - submitter: '提交者', | |
| 99 | - customAssign: '动态指定' | |
| 100 | - } | |
| 101 | 87 | } |
| 102 | 88 | } |
| 103 | 89 | \ No newline at end of file | ... | ... |
src/views/resource/addItemOutLang.js
| ... | ... | @@ -63,18 +63,6 @@ export const messages = { |
| 63 | 63 | fixedItem: 'Fixed Item', |
| 64 | 64 | stock: 'Stock' |
| 65 | 65 | }, |
| 66 | - selectStaff: { | |
| 67 | - title: 'Select Staff', | |
| 68 | - orgInfo: 'Organization Information', | |
| 69 | - staffInfo: 'Staff Information', | |
| 70 | - submitter: 'Submitter', | |
| 71 | - dynamicAssign: 'Dynamic Assignment', | |
| 72 | - confirm: 'Confirm', | |
| 73 | - cancel: 'Cancel', | |
| 74 | - selectStaffWarning: 'Please select a staff member', | |
| 75 | - fetchOrgError: 'Failed to fetch organization data', | |
| 76 | - fetchStaffError: 'Failed to fetch staff data' | |
| 77 | - } | |
| 78 | 66 | }, |
| 79 | 67 | zh: { |
| 80 | 68 | addItemOut: { |
| ... | ... | @@ -140,17 +128,5 @@ export const messages = { |
| 140 | 128 | fixedItem: '固定物品', |
| 141 | 129 | stock: '物品库存' |
| 142 | 130 | }, |
| 143 | - selectStaff: { | |
| 144 | - title: '选择员工', | |
| 145 | - orgInfo: '组织信息', | |
| 146 | - staffInfo: '员工信息', | |
| 147 | - submitter: '提交者', | |
| 148 | - dynamicAssign: '动态指定', | |
| 149 | - confirm: '确定', | |
| 150 | - cancel: '取消', | |
| 151 | - selectStaffWarning: '请选择员工', | |
| 152 | - fetchOrgError: '获取组织数据失败', | |
| 153 | - fetchStaffError: '获取员工数据失败' | |
| 154 | - } | |
| 155 | 131 | } |
| 156 | 132 | } |
| 157 | 133 | \ No newline at end of file | ... | ... |
src/views/resource/addPurchaseApplyLang.js
| ... | ... | @@ -53,13 +53,6 @@ export const messages = { |
| 53 | 53 | itemStock: 'Item Stock', |
| 54 | 54 | selectItemsRequired: 'Please select items to purchase' |
| 55 | 55 | }, |
| 56 | - selectStaff: { | |
| 57 | - title: 'Select Staff', | |
| 58 | - orgInfo: 'Organization Information', | |
| 59 | - staffInfo: 'Staff Information', | |
| 60 | - submitter: 'Submitter', | |
| 61 | - dynamicAssign: 'Dynamic Assignment' | |
| 62 | - } | |
| 63 | 56 | }, |
| 64 | 57 | zh: { |
| 65 | 58 | addPurchaseApply: { |
| ... | ... | @@ -115,12 +108,5 @@ export const messages = { |
| 115 | 108 | itemStock: '物品库存', |
| 116 | 109 | selectItemsRequired: '请选择需要采购的物品' |
| 117 | 110 | }, |
| 118 | - selectStaff: { | |
| 119 | - title: '选择员工', | |
| 120 | - orgInfo: '组织信息', | |
| 121 | - staffInfo: '员工信息', | |
| 122 | - submitter: '提交者', | |
| 123 | - dynamicAssign: '动态指定' | |
| 124 | - } | |
| 125 | 111 | } |
| 126 | 112 | } |
| 127 | 113 | \ No newline at end of file | ... | ... |
src/views/resource/allocationStorehouseApplyLang.js
| ... | ... | @@ -53,13 +53,6 @@ export const messages = { |
| 53 | 53 | itemStock: 'Item Stock', |
| 54 | 54 | selectItemFirst: 'Please select items first' |
| 55 | 55 | }, |
| 56 | - selectStaff: { | |
| 57 | - title: 'Select Staff', | |
| 58 | - orgInfo: 'Organization Information', | |
| 59 | - staffInfo: 'Staff Information', | |
| 60 | - submitter: 'Submitter', | |
| 61 | - dynamicAssign: 'Dynamic Assignment' | |
| 62 | - } | |
| 63 | 56 | }, |
| 64 | 57 | zh: { |
| 65 | 58 | allocationStorehouseApply: { |
| ... | ... | @@ -115,12 +108,5 @@ export const messages = { |
| 115 | 108 | itemStock: '物品库存', |
| 116 | 109 | selectItemFirst: '请先选择物品' |
| 117 | 110 | }, |
| 118 | - selectStaff: { | |
| 119 | - title: '选择员工', | |
| 120 | - orgInfo: '组织信息', | |
| 121 | - staffInfo: '员工信息', | |
| 122 | - submitter: '提交者', | |
| 123 | - dynamicAssign: '动态指定' | |
| 124 | - } | |
| 125 | 111 | } |
| 126 | 112 | } |
| 127 | 113 | \ No newline at end of file | ... | ... |
src/views/resource/purchaseApplyDetailLang.js
| ... | ... | @@ -66,13 +66,6 @@ export const messages = { |
| 66 | 66 | submitSuccess: 'Submit successfully', |
| 67 | 67 | submitFailed: 'Submit failed' |
| 68 | 68 | }, |
| 69 | - selectStaff: { | |
| 70 | - selectStaff: 'Select Staff', | |
| 71 | - orgInfo: 'Organization Information', | |
| 72 | - staffInfo: 'Staff Information', | |
| 73 | - submitter: 'Submitter', | |
| 74 | - dynamicAssign: 'Dynamic Assign' | |
| 75 | - } | |
| 76 | 69 | }, |
| 77 | 70 | zh: { |
| 78 | 71 | purchaseApplyDetail: { |
| ... | ... | @@ -141,12 +134,5 @@ export const messages = { |
| 141 | 134 | submitSuccess: '提交成功', |
| 142 | 135 | submitFailed: '提交失败' |
| 143 | 136 | }, |
| 144 | - selectStaff: { | |
| 145 | - selectStaff: '选择员工', | |
| 146 | - orgInfo: '组织信息', | |
| 147 | - staffInfo: '员工信息', | |
| 148 | - submitter: '提交者', | |
| 149 | - dynamicAssign: '动态指定' | |
| 150 | - } | |
| 151 | 137 | } |
| 152 | 138 | } |
| 153 | 139 | \ No newline at end of file | ... | ... |
src/views/staff/staffLang.js
| ... | ... | @@ -39,7 +39,15 @@ export const messages = { |
| 39 | 39 | cancel: 'Cancel', |
| 40 | 40 | confirmDelete: 'Are you sure to delete? Before deleting staff, please confirm that the staff has completed the relevant approval process. After deletion, the relevant process will not be able to continue. Please operate carefully!', |
| 41 | 41 | confirmDeleteAction: 'Confirm Delete' |
| 42 | - } | |
| 42 | + }, | |
| 43 | + selectStaff: { | |
| 44 | + title: 'Select Staff', | |
| 45 | + orgInfo: 'Organization Information', | |
| 46 | + staffInfo: 'Staff Information', | |
| 47 | + submitter: 'Submitter', | |
| 48 | + dynamicAssign: 'Dynamic Assignment', | |
| 49 | + selectedStaff: 'Selected Staff' | |
| 50 | + }, | |
| 43 | 51 | }, |
| 44 | 52 | zh: { |
| 45 | 53 | staff: { |
| ... | ... | @@ -80,6 +88,14 @@ export const messages = { |
| 80 | 88 | cancel: '取消', |
| 81 | 89 | confirmDelete: '确认是否删除,删除员工前请确认员工已完成相关审批流程,删除后相关流程将无法继续进行,请慎重操作!', |
| 82 | 90 | confirmDeleteAction: '确认删除' |
| 83 | - } | |
| 91 | + }, | |
| 92 | + selectStaff: { | |
| 93 | + title: '选择员工', | |
| 94 | + orgInfo: '组织信息', | |
| 95 | + staffInfo: '员工信息', | |
| 96 | + submitter: '提交者', | |
| 97 | + dynamicAssign: '动态指定', | |
| 98 | + selectedStaff: '已选员工' | |
| 99 | + }, | |
| 84 | 100 | } |
| 85 | 101 | } |
| 86 | 102 | \ No newline at end of file | ... | ... |
src/views/system/workflowSettingManageLang.js
| ... | ... | @@ -26,14 +26,6 @@ export const messages = { |
| 26 | 26 | instruction4: 'Must configure the corresponding process', |
| 27 | 27 | invalidOperation: 'Invalid operation' |
| 28 | 28 | }, |
| 29 | - selectStaff: { | |
| 30 | - title: 'Select Staff', | |
| 31 | - orgInfo: 'Organization Information', | |
| 32 | - staffInfo: 'Staff Information', | |
| 33 | - submitter: 'Submitter', | |
| 34 | - dynamicAssign: 'Dynamic Assign', | |
| 35 | - fetchStaffError: 'Failed to fetch staff information' | |
| 36 | - }, | |
| 37 | 29 | orgTree: { |
| 38 | 30 | fetchError: 'Failed to fetch organization tree' |
| 39 | 31 | } |
| ... | ... | @@ -65,14 +57,6 @@ export const messages = { |
| 65 | 57 | instruction4: '必须配置对应的流程', |
| 66 | 58 | invalidOperation: '操作错误' |
| 67 | 59 | }, |
| 68 | - selectStaff: { | |
| 69 | - title: '选择员工', | |
| 70 | - orgInfo: '组织信息', | |
| 71 | - staffInfo: '员工信息', | |
| 72 | - submitter: '提交者', | |
| 73 | - dynamicAssign: '动态指定', | |
| 74 | - fetchStaffError: '获取员工信息失败' | |
| 75 | - }, | |
| 76 | 60 | orgTree: { |
| 77 | 61 | fetchError: '获取组织树失败' |
| 78 | 62 | } | ... | ... |
src/views/work/addItemReleaseViewLang.js
| ... | ... | @@ -39,13 +39,6 @@ export const messages = { |
| 39 | 39 | approverRequired: 'Approver is required' |
| 40 | 40 | } |
| 41 | 41 | }, |
| 42 | - selectStaff: { | |
| 43 | - title: 'Select Staff', | |
| 44 | - orgInfo: 'Organization Information', | |
| 45 | - staffInfo: 'Staff Information', | |
| 46 | - submitter: 'Submitter', | |
| 47 | - dynamicAssign: 'Dynamic Assignment' | |
| 48 | - } | |
| 49 | 42 | }, |
| 50 | 43 | zh: { |
| 51 | 44 | addItemReleaseView: { |
| ... | ... | @@ -87,12 +80,5 @@ export const messages = { |
| 87 | 80 | approverRequired: '审批人不能为空' |
| 88 | 81 | } |
| 89 | 82 | }, |
| 90 | - selectStaff: { | |
| 91 | - title: '选择员工', | |
| 92 | - orgInfo: '组织信息', | |
| 93 | - staffInfo: '员工信息', | |
| 94 | - submitter: '提交者', | |
| 95 | - dynamicAssign: '动态指定' | |
| 96 | - } | |
| 97 | 83 | } |
| 98 | 84 | } |
| 99 | 85 | \ No newline at end of file | ... | ... |
src/views/work/repairTypeUserLang.js
| ... | ... | @@ -11,13 +11,6 @@ export const messages = { |
| 11 | 11 | operation: 'Operation', |
| 12 | 12 | repairTypeRequired: 'Repair type is required' |
| 13 | 13 | }, |
| 14 | - selectStaff: { | |
| 15 | - title: 'Select Staff', | |
| 16 | - orgInfo: 'Organization Information', | |
| 17 | - staffInfo: 'Staff Information', | |
| 18 | - selectStaffFirst: 'Please select a staff first', | |
| 19 | - selectedStaff: 'Selected Staff' | |
| 20 | - }, | |
| 21 | 14 | deleteRepairTypeUser: { |
| 22 | 15 | title: 'Confirm Operation', |
| 23 | 16 | confirmDelete: 'Are you sure to delete this repair master?' |
| ... | ... | @@ -44,13 +37,6 @@ export const messages = { |
| 44 | 37 | operation: '操作', |
| 45 | 38 | repairTypeRequired: '未包含报修类型' |
| 46 | 39 | }, |
| 47 | - selectStaff: { | |
| 48 | - title: '选择员工', | |
| 49 | - orgInfo: '组织信息', | |
| 50 | - staffInfo: '员工信息', | |
| 51 | - selectStaffFirst: '请先选择员工', | |
| 52 | - selectedStaff: '已选择员工' | |
| 53 | - }, | |
| 54 | 40 | deleteRepairTypeUser: { |
| 55 | 41 | title: '请确认您的操作', |
| 56 | 42 | confirmDelete: '确定删除报修师傅?' | ... | ... |