Commit 2e2b95d37d97ede62b86047b9339ec4046d26307
1 parent
eaaa8665
修改接口路径 和命名
Showing
10 changed files
with
294 additions
and
124 deletions
api/regional-order-manage/regional-order-manage.js
| 1 | +import { post, get, put } from '@/common/utils/request'; | ||
| 2 | + | ||
| 3 | + | ||
| 4 | +/** | ||
| 5 | + * 获得审批详情 流程节点 | ||
| 6 | + * @returns {Promise} | ||
| 7 | + */ | ||
| 8 | +export const getApprovalDetail = (params) => { | ||
| 9 | + return get('/app-api/bpm/garden/workorder/getApprovalDetail',params); | ||
| 10 | +}; | ||
| 11 | + | ||
| 12 | + | ||
| 13 | + | ||
| 14 | +/** | ||
| 15 | + * 获得园林养护员列表、共同处理人也调用此接口 | ||
| 16 | + * @returns {Promise} | ||
| 17 | + */ | ||
| 18 | +export const getYlWorkersPage = (params) => { | ||
| 19 | + return get('/app-api/bpm/garden/workorder/getYlWorkersPage',params); | ||
| 20 | +}; | ||
| 21 | + | ||
| 22 | + | ||
| 23 | +/** | ||
| 24 | + * 我发起的列表-工单详情 | ||
| 25 | + * @returns {Promise} | ||
| 26 | + */ | ||
| 27 | +export const getMyTaskDetail = (params) => { | ||
| 28 | + return get('/app-api/bpm/garden/workorder/getMyTaskDetail',params); | ||
| 29 | +}; | ||
| 30 | + | ||
| 31 | + | ||
| 32 | +/** | ||
| 33 | + * 已办列表-工单详情 | ||
| 34 | + * @returns {Promise} | ||
| 35 | + */ | ||
| 36 | +export const getDoneTaskDetail = (params) => { | ||
| 37 | + return get('/app-api/bpm/garden/workorder/getDoneTaskDetail',params); | ||
| 38 | +}; | ||
| 39 | + | ||
| 40 | +/** | ||
| 41 | + * 待办列表-工单详情 | ||
| 42 | + * @returns {Promise} | ||
| 43 | + */ | ||
| 44 | +export const getTodoTaskDetail = (params) => { | ||
| 45 | + return get('/app-api/bpm/garden/workorder/getTodoTaskDetail',params); | ||
| 46 | +}; | ||
| 47 | + | ||
| 48 | + | ||
| 49 | +/** | ||
| 50 | + * 我发起的列表 | ||
| 51 | + * @returns {Promise} | ||
| 52 | + */ | ||
| 53 | +export const myBuzSimplePage = (params) => { | ||
| 54 | + return get('/app-api/bpm/garden/workorder/myBuzSimplePage',params); | ||
| 55 | +}; | ||
| 56 | + | ||
| 57 | +/** | ||
| 58 | + * 已办汇总 | ||
| 59 | + * @returns {Promise} | ||
| 60 | + */ | ||
| 61 | +export const doneBuzSimplePage = (params) => { | ||
| 62 | + return get('/app-api/bpm/garden/workorder/doneBuzSimplePage',params); | ||
| 63 | +}; | ||
| 64 | + | ||
| 65 | + | ||
| 66 | + | ||
| 67 | +/** | ||
| 68 | + * 待办汇总 | ||
| 69 | + * @returns {Promise} | ||
| 70 | + */ | ||
| 71 | +export const todoBuzSimplePage = (params) => { | ||
| 72 | + return get('/app-api/bpm/garden/workorder/todoBuzSimplePage',params); | ||
| 73 | +}; | ||
| 74 | + | ||
| 75 | + | ||
| 76 | + | ||
| 77 | + | ||
| 78 | +/** | ||
| 79 | + * 问题工单创建 大区经理 | ||
| 80 | + * @returns {Promise} | ||
| 81 | + */ | ||
| 82 | +export const daquWorkorderCreate = (data) => { | ||
| 83 | + return post('/app-api/bpm/regionmgr/workorder/create',data); | ||
| 84 | + | ||
| 85 | +}; | ||
| 86 | + | ||
| 87 | +/** | ||
| 88 | + * app端统一审批入口 -- 大区经理 | ||
| 89 | + * @returns {Promise} | ||
| 90 | + */ | ||
| 91 | +export const daquUniversalApproval = (params) => { | ||
| 92 | + return post('/app-api/bpm/regionmgr/workorder/universalApproval',params); | ||
| 93 | +}; | ||
| 94 | + | ||
| 95 | + | ||
| 96 | +/** | ||
| 97 | + * 问题工单创建 全域巡查员 | ||
| 98 | + * @returns {Promise} | ||
| 99 | + */ | ||
| 100 | +export const qyWorkorderCreate = (data) => { | ||
| 101 | + return post('/app-api/bpm/universal/workorder/create',data); | ||
| 102 | +}; | ||
| 103 | + | ||
| 104 | + | ||
| 105 | + | ||
| 106 | +/** | ||
| 107 | + * app端统一审批入口 大区经理 对全域巡查员 单子 回退 分配和 全域巡查员 。 | ||
| 108 | + * @returns {Promise} | ||
| 109 | + */ | ||
| 110 | +export const qyUniversalApproval = (params) => { | ||
| 111 | + return post('/app-api/bpm/universal/workorder/universalApproval',params); | ||
| 112 | +}; | ||
| 113 | + | ||
| 114 | +/** | ||
| 115 | + * 问题工单创建 全域督察员创建工单 | ||
| 116 | + * @returns {Promise} | ||
| 117 | + */ | ||
| 118 | +export const dcyWorkorderCreate = (data) => { | ||
| 119 | + return post('/app-api/bpm/inspector/workorder/create',data); | ||
| 120 | +}; | ||
| 121 | + | ||
| 122 | + | ||
| 123 | +/** | ||
| 124 | + * 问题工单创建 全域督察员发起审批入口 ,大区经理对督察员的单子 回退 分配 | ||
| 125 | + * @returns {Promise} | ||
| 126 | + */ | ||
| 127 | +export const dcyUniversalApproval = (data) => { | ||
| 128 | + return post('/app-api/bpm/inspector/workorder/universalApproval',data); | ||
| 129 | +}; | ||
| 130 | + | ||
| 131 | + | ||
| 132 | + | ||
| 133 | + | ||
| 134 | + | ||
| 135 | + | ||
| 136 | + | ||
| 137 | + |
api/work-order-manage/work-order-manage.js
| @@ -107,58 +107,6 @@ export const workorderCreate = (data) => { | @@ -107,58 +107,6 @@ export const workorderCreate = (data) => { | ||
| 107 | }; | 107 | }; |
| 108 | 108 | ||
| 109 | 109 | ||
| 110 | -/** | ||
| 111 | - * 问题工单创建 大区经理 ai经理 | ||
| 112 | - * @returns {Promise} | ||
| 113 | - */ | ||
| 114 | -export const regionmgrWorkorderCreate = (data) => { | ||
| 115 | - return post('/app-api/bpm/regionmgr/workorder/create',data); | ||
| 116 | -}; | ||
| 117 | - | ||
| 118 | -/** | ||
| 119 | - * 问题工单创建 全域巡查员 | ||
| 120 | - * @returns {Promise} | ||
| 121 | - */ | ||
| 122 | -export const qyWorkorderCreate = (data) => { | ||
| 123 | - return post('/app-api/bpm/universal/workorder/create',data); | ||
| 124 | -}; | ||
| 125 | - | ||
| 126 | -/** | ||
| 127 | - * app端统一审批入口 -- 大区经理 ai经理 | ||
| 128 | - * @returns {Promise} | ||
| 129 | - */ | ||
| 130 | -export const regionmgrUniversalApproval = (params) => { | ||
| 131 | - return post('/app-api/bpm/regionmgr/workorder/universalApproval',params); | ||
| 132 | -}; | ||
| 133 | - | ||
| 134 | - | ||
| 135 | -/** | ||
| 136 | - * app端统一审批入口 大区经理 回退 分配和 全域巡查员 。 | ||
| 137 | - * @returns {Promise} | ||
| 138 | - */ | ||
| 139 | -export const qyUniversalApproval = (params) => { | ||
| 140 | - return post('/app-api/bpm/universal/workorder/universalApproval',params); | ||
| 141 | -}; | ||
| 142 | - | ||
| 143 | -/** | ||
| 144 | - * 问题工单创建 全域督察员创建工单 | ||
| 145 | - * @returns {Promise} | ||
| 146 | - */ | ||
| 147 | -export const inspectorWorkorderCreate = (data) => { | ||
| 148 | - return post('/app-api/bpm/inspector/workorder/create',data); | ||
| 149 | -}; | ||
| 150 | - | ||
| 151 | - | ||
| 152 | -/** | ||
| 153 | - * 问题工单创建 全域督察员发起审批入口 | ||
| 154 | - * @returns {Promise} | ||
| 155 | - */ | ||
| 156 | -export const inspectorUniversalApproval = (data) => { | ||
| 157 | - return post('/app-api/bpm/inspector/workorder/universalApproval',data); | ||
| 158 | -}; | ||
| 159 | - | ||
| 160 | - | ||
| 161 | - | ||
| 162 | 110 | ||
| 163 | 111 | ||
| 164 | 112 |
common/utils/common.js
| @@ -50,6 +50,17 @@ export const nextStepMap = { | @@ -50,6 +50,17 @@ export const nextStepMap = { | ||
| 50 | backShow: true, | 50 | backShow: true, |
| 51 | renewShow: false | 51 | renewShow: false |
| 52 | }, | 52 | }, |
| 53 | + | ||
| 54 | + | ||
| 55 | + shRegionManager: { | ||
| 56 | + name: '督察员单子大区经理分配', | ||
| 57 | + btnText: '分配', | ||
| 58 | + operateTypePass: 60, // 大区经理分配:60 | ||
| 59 | + operateTypeNoPass: 70, // 大区经理退回:70 | ||
| 60 | + // operateTypeRenew: 100, //巡查员重新发起:100 | ||
| 61 | + backShow: true, | ||
| 62 | + renewShow: false | ||
| 63 | + }, | ||
| 53 | } | 64 | } |
| 54 | 65 | ||
| 55 | 66 | ||
| @@ -67,6 +78,8 @@ export const buzStatusMap = { | @@ -67,6 +78,8 @@ export const buzStatusMap = { | ||
| 67 | "240" : '验收不通过', | 78 | "240" : '验收不通过', |
| 68 | '90' : '退回', | 79 | '90' : '退回', |
| 69 | '80' : '分配', | 80 | '80' : '分配', |
| 81 | + '70': '退回', | ||
| 82 | + '60': '分配', | ||
| 70 | } | 83 | } |
| 71 | 84 | ||
| 72 | 85 |
pages-sub/problem/regional-order-manage/add-order.vue
| @@ -203,10 +203,13 @@ import { ref, reactive } from 'vue' | @@ -203,10 +203,13 @@ import { ref, reactive } from 'vue' | ||
| 203 | import { onReady, onShow, onLoad } from '@dcloudio/uni-app'; | 203 | import { onReady, onShow, onLoad } from '@dcloudio/uni-app'; |
| 204 | import { useUploadImgs } from '@/common/utils/useUploadImgs' | 204 | import { useUploadImgs } from '@/common/utils/useUploadImgs' |
| 205 | import { getRoadListByLatLng } from '@/api/common' | 205 | import { getRoadListByLatLng } from '@/api/common' |
| 206 | -import { regionmgrUniversalApproval, regionmgrWorkorderCreate, inspectorWorkorderCreate } from '@/api/work-order-manage/work-order-manage' | 206 | +import { daquUniversalApproval, qyUniversalApproval, |
| 207 | + dcyUniversalApproval, daquWorkorderCreate, | ||
| 208 | + dcyWorkorderCreate } from '@/api/regional-order-manage/regional-order-manage' | ||
| 207 | import { timeFormat } from '@/uni_modules/uview-plus' | 209 | import { timeFormat } from '@/uni_modules/uview-plus' |
| 208 | import { nextStepMap } from '@/common/utils/common' | 210 | import { nextStepMap } from '@/common/utils/common' |
| 209 | import { useUserStore } from '@/pinia/user'; | 211 | import { useUserStore } from '@/pinia/user'; |
| 212 | +import { qyWorkorderCreate } from "../../../api/regional-order-manage/regional-order-manage"; | ||
| 210 | 213 | ||
| 211 | // ========== 状态管理 ========== | 214 | // ========== 状态管理 ========== |
| 212 | const userStore = useUserStore(); | 215 | const userStore = useUserStore(); |
| @@ -330,6 +333,7 @@ onLoad((options) => { | @@ -330,6 +333,7 @@ onLoad((options) => { | ||
| 330 | 333 | ||
| 331 | try { | 334 | try { |
| 332 | const orderData = uni.getStorageSync(tempKey); | 335 | const orderData = uni.getStorageSync(tempKey); |
| 336 | + console.log(orderData) | ||
| 333 | if (orderData && typeof orderData === 'object') { | 337 | if (orderData && typeof orderData === 'object') { |
| 334 | renewOrderData.value = orderData; | 338 | renewOrderData.value = orderData; |
| 335 | echoOrderData(renewOrderData.value); | 339 | echoOrderData(renewOrderData.value); |
| @@ -562,11 +566,19 @@ const submitWorkOrder = async () => { | @@ -562,11 +566,19 @@ const submitWorkOrder = async () => { | ||
| 562 | return; | 566 | return; |
| 563 | } | 567 | } |
| 564 | 568 | ||
| 565 | - | ||
| 566 | - | ||
| 567 | const commonSubmitData = { | 569 | const commonSubmitData = { |
| 568 | roadId: workOrderForm.roadId, | 570 | roadId: workOrderForm.roadId, |
| 569 | roadName: workOrderForm.roadName, | 571 | roadName: workOrderForm.roadName, |
| 572 | + | ||
| 573 | + // roadId: 550, | ||
| 574 | + // roadName:'东明胡同(三海)', | ||
| 575 | + | ||
| 576 | + // roadId: 551, | ||
| 577 | + // roadName:'地安门西大街51号', | ||
| 578 | + // | ||
| 579 | + // roadId: 553, | ||
| 580 | + // roadName:'什刹海前海南沿', | ||
| 581 | + | ||
| 570 | problemsImgs: problemImgs.getSuccessImgUrls(), | 582 | problemsImgs: problemImgs.getSuccessImgUrls(), |
| 571 | remark: workOrderForm.problemDesc.trim(), | 583 | remark: workOrderForm.problemDesc.trim(), |
| 572 | latLonType: 2, | 584 | latLonType: 2, |
| @@ -594,15 +606,34 @@ const submitWorkOrder = async () => { | @@ -594,15 +606,34 @@ const submitWorkOrder = async () => { | ||
| 594 | reason: '重新提交工单', | 606 | reason: '重新提交工单', |
| 595 | ...commonSubmitData | 607 | ...commonSubmitData |
| 596 | } | 608 | } |
| 597 | - res = await regionmgrUniversalApproval(renewSubmitData) | 609 | + |
| 610 | + if( userStore.userInfo.roles.includes('regional_manager')){ // 大区经理 | ||
| 611 | + res = await daquUniversalApproval(renewSubmitData) | ||
| 612 | + } | ||
| 613 | + | ||
| 614 | + if( userStore.userInfo.roles.includes('Inspector_global')){ // 督察员 | ||
| 615 | + res = await dcyUniversalApproval(renewSubmitData) | ||
| 616 | + } | ||
| 617 | + | ||
| 618 | + if( userStore.userInfo.roles.includes('patrol_global')){ // 全域巡查员 | ||
| 619 | + res = await qyUniversalApproval(renewSubmitData) | ||
| 620 | + } | ||
| 621 | + | ||
| 598 | } else { | 622 | } else { |
| 599 | 623 | ||
| 600 | - if( userStore.userInfo.roles.includes('team_leader_yl')){ // 督察员 | ||
| 601 | - res = await inspectorWorkorderCreate(commonSubmitData) | ||
| 602 | - }else{ | ||
| 603 | - res = await regionmgrWorkorderCreate(commonSubmitData) | 624 | + if( userStore.userInfo.roles.includes('regional_manager')){ // 大区经理 |
| 625 | + res = await daquWorkorderCreate(commonSubmitData) | ||
| 626 | + } | ||
| 627 | + | ||
| 628 | + if( userStore.userInfo.roles.includes('Inspector_global')){ // 督察员 | ||
| 629 | + res = await dcyWorkorderCreate(commonSubmitData) | ||
| 630 | + } | ||
| 631 | + | ||
| 632 | + if( userStore.userInfo.roles.includes('patrol_global')){ // 全域巡查员 | ||
| 633 | + res = await qyWorkorderCreate(commonSubmitData) | ||
| 604 | } | 634 | } |
| 605 | 635 | ||
| 636 | + | ||
| 606 | } | 637 | } |
| 607 | 638 | ||
| 608 | uni.hideLoading() | 639 | uni.hideLoading() |
pages-sub/problem/regional-order-manage/add-patrol-order.vue
| @@ -103,7 +103,7 @@ | @@ -103,7 +103,7 @@ | ||
| 103 | import { ref, reactive } from 'vue' | 103 | import { ref, reactive } from 'vue' |
| 104 | import { onReady, onShow, onLoad } from '@dcloudio/uni-app'; | 104 | import { onReady, onShow, onLoad } from '@dcloudio/uni-app'; |
| 105 | import { useUploadImgs } from '@/common/utils/useUploadImgs' | 105 | import { useUploadImgs } from '@/common/utils/useUploadImgs' |
| 106 | -import { qyUniversalApproval, qyWorkorderCreate } from '@/api/work-order-manage/work-order-manage' | 106 | +import { qyUniversalApproval, qyWorkorderCreate } from '@/api/regional-order-manage/regional-order-manage' |
| 107 | import { timeFormat } from '@/uni_modules/uview-plus' | 107 | import { timeFormat } from '@/uni_modules/uview-plus' |
| 108 | import { nextStepMap } from '@/common/utils/common' | 108 | import { nextStepMap } from '@/common/utils/common' |
| 109 | import { useUserStore } from '@/pinia/user'; | 109 | import { useUserStore } from '@/pinia/user'; |
pages-sub/problem/regional-order-manage/distribution-order.vue
| @@ -197,7 +197,7 @@ import { ref, reactive } from 'vue' | @@ -197,7 +197,7 @@ import { ref, reactive } from 'vue' | ||
| 197 | import { onReady, onShow, onLoad } from '@dcloudio/uni-app'; | 197 | import { onReady, onShow, onLoad } from '@dcloudio/uni-app'; |
| 198 | import { useUploadImgs } from '@/common/utils/useUploadImgs' | 198 | import { useUploadImgs } from '@/common/utils/useUploadImgs' |
| 199 | import { getRoadListByLatLng } from '@/api/common' | 199 | import { getRoadListByLatLng } from '@/api/common' |
| 200 | -import { regionmgrUniversalApproval, regionmgrWorkorderCreate, qyUniversalApproval } from '@/api/work-order-manage/work-order-manage' | 200 | +import { daquUniversalApproval, daquWorkorderCreate, qyUniversalApproval } from '@/api/regional-order-manage/regional-order-manage' |
| 201 | import { timeFormat } from '@/uni_modules/uview-plus' | 201 | import { timeFormat } from '@/uni_modules/uview-plus' |
| 202 | import { nextStepMap } from '@/common/utils/common' | 202 | import { nextStepMap } from '@/common/utils/common' |
| 203 | import { useUserStore } from '@/pinia/user'; | 203 | import { useUserStore } from '@/pinia/user'; |
| @@ -338,7 +338,7 @@ onLoad((options) => { | @@ -338,7 +338,7 @@ onLoad((options) => { | ||
| 338 | setTimeout(() => uni.navigateBack(), 1000); | 338 | setTimeout(() => uni.navigateBack(), 1000); |
| 339 | return; | 339 | return; |
| 340 | } finally { | 340 | } finally { |
| 341 | - // uni.removeStorageSync(tempKey); // 调试完 打开 | 341 | + uni.removeStorageSync(tempKey); // 调试完 打开 |
| 342 | } | 342 | } |
| 343 | } | 343 | } |
| 344 | }); | 344 | }); |
pages-sub/problem/regional-order-manage/index.vue
| @@ -94,7 +94,7 @@ | @@ -94,7 +94,7 @@ | ||
| 94 | </view> | 94 | </view> |
| 95 | <view class="u-body-item u-flex"> | 95 | <view class="u-body-item u-flex"> |
| 96 | <view class="u-body-item-title">工单状态:</view> | 96 | <view class="u-body-item-title">工单状态:</view> |
| 97 | - <view class="u-line-1 u-body-value">{{buzStatusMap[item.buzStatus] }}</view> | 97 | + <view class="u-line-1 u-body-value">{{ buzStatusMap[item.buzStatus] }}</view> |
| 98 | </view> | 98 | </view> |
| 99 | <view class="u-body-item u-flex"> | 99 | <view class="u-body-item u-flex"> |
| 100 | <view class="u-body-item-title">提交时间:</view> | 100 | <view class="u-body-item-title">提交时间:</view> |
| @@ -150,7 +150,8 @@ | @@ -150,7 +150,8 @@ | ||
| 150 | </view> | 150 | </view> |
| 151 | 151 | ||
| 152 | <view class="u-body-item u-flex common-justify-between common-item-center"> | 152 | <view class="u-body-item u-flex common-justify-between common-item-center"> |
| 153 | - <view class="u-body-item-title">紧急程度:{{ uni.$dict.getDictLabel('workorder_pressing_type', item.pressingType) }} | 153 | + <view class="u-body-item-title"> |
| 154 | + 紧急程度:{{ uni.$dict.getDictLabel('workorder_pressing_type', item.pressingType) }} | ||
| 154 | </view> | 155 | </view> |
| 155 | <view class=" "> | 156 | <view class=" "> |
| 156 | <up-button type="primary" size="mini" @click="handleDetail(item)">工单详情</up-button> | 157 | <up-button type="primary" size="mini" @click="handleDetail(item)">工单详情</up-button> |
| @@ -158,7 +159,7 @@ | @@ -158,7 +159,7 @@ | ||
| 158 | </view> | 159 | </view> |
| 159 | <view class="u-body-item u-flex"> | 160 | <view class="u-body-item u-flex"> |
| 160 | <view class="u-body-item-title">工单状态:</view> | 161 | <view class="u-body-item-title">工单状态:</view> |
| 161 | - <view class="u-line-1 u-body-value">{{buzStatusMap[item.buzStatus] }}</view> | 162 | + <view class="u-line-1 u-body-value">{{ buzStatusMap[item.buzStatus] }}</view> |
| 162 | </view> | 163 | </view> |
| 163 | <view class="u-body-item u-flex"> | 164 | <view class="u-body-item u-flex"> |
| 164 | <view class="u-body-item-title">提交时间:</view> | 165 | <view class="u-body-item-title">提交时间:</view> |
| @@ -171,11 +172,11 @@ | @@ -171,11 +172,11 @@ | ||
| 171 | </z-paging> | 172 | </z-paging> |
| 172 | 173 | ||
| 173 | <!-- 底部新增工单按钮(仅巡查员显示) --> | 174 | <!-- 底部新增工单按钮(仅巡查员显示) --> |
| 174 | -<!-- <view v-if="isInspector" class="fixed-bottom-btn-wrap">--> | ||
| 175 | -<!-- <up-button type="primary" size="large" @click="handleAddOrder">--> | ||
| 176 | -<!-- 新增工单--> | ||
| 177 | -<!-- </up-button>--> | ||
| 178 | -<!-- </view>--> | 175 | + <!-- <view v-if="isInspector" class="fixed-bottom-btn-wrap">--> |
| 176 | + <!-- <up-button type="primary" size="large" @click="handleAddOrder">--> | ||
| 177 | + <!-- 新增工单--> | ||
| 178 | + <!-- </up-button>--> | ||
| 179 | + <!-- </view>--> | ||
| 179 | 180 | ||
| 180 | <view class="fixed-bottom-btn-wrap" v-if="isInspector"> | 181 | <view class="fixed-bottom-btn-wrap" v-if="isInspector"> |
| 181 | <up-button type="primary" size="large" @click="handleAddOrder"> | 182 | <up-button type="primary" size="large" @click="handleAddOrder"> |
| @@ -283,14 +284,15 @@ import { | @@ -283,14 +284,15 @@ import { | ||
| 283 | todoBuzSimplePage, | 284 | todoBuzSimplePage, |
| 284 | doneBuzSimplePage, | 285 | doneBuzSimplePage, |
| 285 | universalApproval, | 286 | universalApproval, |
| 286 | - qyUniversalApproval | ||
| 287 | -} from '@/api/work-order-manage/work-order-manage' | 287 | + qyUniversalApproval, |
| 288 | + daquUniversalApproval, | ||
| 289 | + dcyUniversalApproval | ||
| 290 | +} from '@/api/regional-order-manage/regional-order-manage' | ||
| 288 | // 从用户store获取角色信息 | 291 | // 从用户store获取角色信息 |
| 289 | import { useUserStore } from '@/pinia/user'; | 292 | import { useUserStore } from '@/pinia/user'; |
| 290 | import { nextStepMap, buzStatusMap } from '@/common/utils/common' | 293 | import { nextStepMap, buzStatusMap } from '@/common/utils/common' |
| 291 | // 引入图片上传组合式函数(与参考页面一致) | 294 | // 引入图片上传组合式函数(与参考页面一致) |
| 292 | import { useUploadImgs } from '@/common/utils/useUploadImgs' | 295 | import { useUploadImgs } from '@/common/utils/useUploadImgs' |
| 293 | - | ||
| 294 | // ========== 状态管理 ========== | 296 | // ========== 状态管理 ========== |
| 295 | const userStore = useUserStore(); | 297 | const userStore = useUserStore(); |
| 296 | // 标签页切换 | 298 | // 标签页切换 |
| @@ -325,7 +327,6 @@ const isInspector = computed(() => { | @@ -325,7 +327,6 @@ const isInspector = computed(() => { | ||
| 325 | const rejectModalShow = ref(false); // 回退modal显示开关 | 327 | const rejectModalShow = ref(false); // 回退modal显示开关 |
| 326 | const rejectReason = ref(''); // 回退原因 | 328 | const rejectReason = ref(''); // 回退原因 |
| 327 | const currentRejectItem = ref(null); // 当前回退工单 | 329 | const currentRejectItem = ref(null); // 当前回退工单 |
| 328 | - | ||
| 329 | // 回退图片上传配置(与参考页面风格一致) | 330 | // 回退图片上传配置(与参考页面风格一致) |
| 330 | const rejectImgs = useUploadImgs({ | 331 | const rejectImgs = useUploadImgs({ |
| 331 | maxCount: 3, // 最多上传3张 | 332 | maxCount: 3, // 最多上传3张 |
| @@ -334,14 +335,11 @@ const rejectImgs = useUploadImgs({ | @@ -334,14 +335,11 @@ const rejectImgs = useUploadImgs({ | ||
| 334 | formRef: null, // 该弹窗无表单校验 | 335 | formRef: null, // 该弹窗无表单校验 |
| 335 | fieldName: 'rejectImgs' // 自定义字段名 | 336 | fieldName: 'rejectImgs' // 自定义字段名 |
| 336 | }) | 337 | }) |
| 337 | - | ||
| 338 | - | ||
| 339 | // ========== 验收弹窗相关状态(含图片上传) ========== | 338 | // ========== 验收弹窗相关状态(含图片上传) ========== |
| 340 | const acceptModalShow = ref(false); // 验收弹窗显示开关 | 339 | const acceptModalShow = ref(false); // 验收弹窗显示开关 |
| 341 | const acceptRadioValue = ref('0'); // 单选框值,默认0(通过) | 340 | const acceptRadioValue = ref('0'); // 单选框值,默认0(通过) |
| 342 | const acceptReason = ref(''); // 验收原因 | 341 | const acceptReason = ref(''); // 验收原因 |
| 343 | const currentAcceptItem = ref(null); // 当前验收的工单项 | 342 | const currentAcceptItem = ref(null); // 当前验收的工单项 |
| 344 | - | ||
| 345 | // 验收图片上传配置(独立实例,参考回退弹窗) | 343 | // 验收图片上传配置(独立实例,参考回退弹窗) |
| 346 | const acceptImgs = useUploadImgs({ | 344 | const acceptImgs = useUploadImgs({ |
| 347 | maxCount: 3, // 最多上传3张,与回退弹窗一致 | 345 | maxCount: 3, // 最多上传3张,与回退弹窗一致 |
| @@ -350,7 +348,6 @@ const acceptImgs = useUploadImgs({ | @@ -350,7 +348,6 @@ const acceptImgs = useUploadImgs({ | ||
| 350 | formRef: null, // 验收弹窗无表单校验 | 348 | formRef: null, // 验收弹窗无表单校验 |
| 351 | fieldName: 'acceptImgs' // 自定义字段名,区分回退图片 | 349 | fieldName: 'acceptImgs' // 自定义字段名,区分回退图片 |
| 352 | }) | 350 | }) |
| 353 | - | ||
| 354 | // 分页查询列表 | 351 | // 分页查询列表 |
| 355 | const queryList = async (pageNo, pageSize) => { | 352 | const queryList = async (pageNo, pageSize) => { |
| 356 | try { | 353 | try { |
| @@ -379,7 +376,6 @@ const queryList = async (pageNo, pageSize) => { | @@ -379,7 +376,6 @@ const queryList = async (pageNo, pageSize) => { | ||
| 379 | uni.showToast({title: '加载失败,请重试', icon: 'none'}); | 376 | uni.showToast({title: '加载失败,请重试', icon: 'none'}); |
| 380 | } | 377 | } |
| 381 | }; | 378 | }; |
| 382 | - | ||
| 383 | // ========== 事件处理 ========== | 379 | // ========== 事件处理 ========== |
| 384 | // 标签页切换 | 380 | // 标签页切换 |
| 385 | const handleTabChange = (item) => { | 381 | const handleTabChange = (item) => { |
| @@ -414,24 +410,19 @@ const handleDetail = (item) => { | @@ -414,24 +410,19 @@ const handleDetail = (item) => { | ||
| 414 | } | 410 | } |
| 415 | }); | 411 | }); |
| 416 | }; | 412 | }; |
| 417 | - | ||
| 418 | // 生成临时key | 413 | // 生成临时key |
| 419 | const generateTempKey = () => { | 414 | const generateTempKey = () => { |
| 420 | return 'renew_order_' + Date.now() + '_' + Math.floor(Math.random() * 10000); | 415 | return 'renew_order_' + Date.now() + '_' + Math.floor(Math.random() * 10000); |
| 421 | }; | 416 | }; |
| 422 | - | ||
| 423 | // 待办-重新提交工单(改造后:大数据存本地,仅传唯一标识) | 417 | // 待办-重新提交工单(改造后:大数据存本地,仅传唯一标识) |
| 424 | const handleRenew = (item) => { | 418 | const handleRenew = (item) => { |
| 425 | - // 校验工单有效性 | ||
| 426 | - if (!item || !item.id) { | ||
| 427 | - uni.showToast({title: '工单信息异常,无法重新提交', icon: 'none'}); | ||
| 428 | - return; | ||
| 429 | - } | ||
| 430 | 419 | ||
| 431 | // 1. 生成唯一临时标识 | 420 | // 1. 生成唯一临时标识 |
| 432 | const tempKey = generateTempKey(); | 421 | const tempKey = generateTempKey(); |
| 433 | // 2. 将完整工单数据存入本地临时存储(同步存储,确保数据立即生效) | 422 | // 2. 将完整工单数据存入本地临时存储(同步存储,确保数据立即生效) |
| 434 | try { | 423 | try { |
| 424 | + console.log(item) | ||
| 425 | + console.log('123') | ||
| 435 | uni.setStorageSync(tempKey, item); | 426 | uni.setStorageSync(tempKey, item); |
| 436 | } catch (error) { | 427 | } catch (error) { |
| 437 | console.error('存储工单数据失败:', error); | 428 | console.error('存储工单数据失败:', error); |
| @@ -439,12 +430,26 @@ const handleRenew = (item) => { | @@ -439,12 +430,26 @@ const handleRenew = (item) => { | ||
| 439 | return; | 430 | return; |
| 440 | } | 431 | } |
| 441 | 432 | ||
| 442 | - // 3. URL 仅传递「唯一标识」和「重新提交标记」(数据量极小,无长度问题) | ||
| 443 | - uni.navigateTo({ | ||
| 444 | - url: `/pages-sub/problem/regional-order-manage/add-patrol-order?isRenew=1&tempKey=${tempKey}` | ||
| 445 | - }); | 433 | + if (userStore.userInfo?.roles.includes('patrol_global')) { // 全域巡查员 |
| 434 | + uni.navigateTo({ | ||
| 435 | + url: `/pages-sub/problem/regional-order-manage/add-patrol-order?isRenew=1&tempKey=${tempKey}` | ||
| 436 | + }); | ||
| 437 | + } | ||
| 438 | + if (userStore.userInfo?.roles.includes('regional_manager')) { // 大区经理 | ||
| 439 | + uni.navigateTo({ | ||
| 440 | + url: `/pages-sub/problem/regional-order-manage/add-order?isRenew=1&tempKey=${tempKey}` | ||
| 441 | + }); | ||
| 442 | + } | ||
| 443 | + if (userStore.userInfo?.roles.includes('Inspector_global')) { // 督察员 | ||
| 444 | + uni.navigateTo({ | ||
| 445 | + url: `/pages-sub/problem/regional-order-manage/add-order?isRenew=1&tempKey=${tempKey}` | ||
| 446 | + }); | ||
| 447 | + } | ||
| 448 | + // // 3. URL 仅传递「唯一标识」和「重新提交标记」(数据量极小,无长度问题) | ||
| 449 | + // uni.navigateTo({ | ||
| 450 | + // url: `/pages-sub/problem/regional-order-manage/add-patrol-order?isRenew=1&tempKey=${tempKey}` | ||
| 451 | + // }); | ||
| 446 | }; | 452 | }; |
| 447 | - | ||
| 448 | // 待办-处理工单 | 453 | // 待办-处理工单 |
| 449 | const handleProcess = async (item) => { | 454 | const handleProcess = async (item) => { |
| 450 | console.log(nextStepMap[item.taskKey].name) | 455 | console.log(nextStepMap[item.taskKey].name) |
| @@ -465,10 +470,29 @@ const handleProcess = async (item) => { | @@ -465,10 +470,29 @@ const handleProcess = async (item) => { | ||
| 465 | url: `/pages-sub/problem/regional-order-manage/distribution-order?tempKey=${tempKey}` | 470 | url: `/pages-sub/problem/regional-order-manage/distribution-order?tempKey=${tempKey}` |
| 466 | }) | 471 | }) |
| 467 | } | 472 | } |
| 473 | + if (nextStepMap[item.taskKey]?.name == '督察员单子大区经理分配') { | ||
| 474 | + let postData = { | ||
| 475 | + "taskKey":item.taskKey, | ||
| 476 | + "taskId": item.taskId, | ||
| 477 | + "operateType":60, | ||
| 478 | + "workerDataId":item.id, | ||
| 479 | + "agree":0, | ||
| 480 | + "reason":item.remark, | ||
| 481 | + "roadId":item.roadId, | ||
| 482 | + "roadName":item.roadName, | ||
| 483 | + "pressingType":item.pressingType, | ||
| 484 | + "orderName":item.orderName, | ||
| 485 | + "expectedFinishDate": item.expectedFinishDate, | ||
| 486 | + "busiLine":item.busiLine, | ||
| 487 | + } | ||
| 488 | + const res = await dcyUniversalApproval(postData); | ||
| 489 | + uni.showToast({title: '分配成功', icon: 'success', duration: 1000}); | ||
| 490 | + paging.value?.reload(); // 刷新列表 | ||
| 491 | + } | ||
| 492 | + | ||
| 468 | if (nextStepMap[item.taskKey]?.name == '养护员待实施') { | 493 | if (nextStepMap[item.taskKey]?.name == '养护员待实施') { |
| 469 | // ① 生成唯一临时key(和重新提交工单逻辑一致,避免冲突) | 494 | // ① 生成唯一临时key(和重新提交工单逻辑一致,避免冲突) |
| 470 | const tempKey = `maintain_order_${Date.now()}_${Math.floor(Math.random() * 10000)}`; | 495 | const tempKey = `maintain_order_${Date.now()}_${Math.floor(Math.random() * 10000)}`; |
| 471 | - | ||
| 472 | // ② 存储完整item到本地缓存(同步存储,确保立即生效) | 496 | // ② 存储完整item到本地缓存(同步存储,确保立即生效) |
| 473 | try { | 497 | try { |
| 474 | uni.setStorageSync(tempKey, item); | 498 | uni.setStorageSync(tempKey, item); |
| @@ -477,7 +501,6 @@ const handleProcess = async (item) => { | @@ -477,7 +501,6 @@ const handleProcess = async (item) => { | ||
| 477 | uni.showToast({title: '数据存储异常,无法跳转', icon: 'none'}); | 501 | uni.showToast({title: '数据存储异常,无法跳转', icon: 'none'}); |
| 478 | return; | 502 | return; |
| 479 | } | 503 | } |
| 480 | - | ||
| 481 | // ③ URL仅传递临时key(可选:携带必要简单参数,方便目标页面快速使用) | 504 | // ③ URL仅传递临时key(可选:携带必要简单参数,方便目标页面快速使用) |
| 482 | uni.navigateTo({ | 505 | uni.navigateTo({ |
| 483 | url: `/pages-sub/problem/regional-order-manage/add-maintain-order?tempKey=${tempKey}` | 506 | url: `/pages-sub/problem/regional-order-manage/add-maintain-order?tempKey=${tempKey}` |
| @@ -497,7 +520,6 @@ const handleProcess = async (item) => { | @@ -497,7 +520,6 @@ const handleProcess = async (item) => { | ||
| 497 | acceptRadioValue.value = '0'; // 重置默认选中“通过” | 520 | acceptRadioValue.value = '0'; // 重置默认选中“通过” |
| 498 | acceptModalShow.value = true; // 显示验收弹窗 | 521 | acceptModalShow.value = true; // 显示验收弹窗 |
| 499 | } | 522 | } |
| 500 | - | ||
| 501 | // 发起人确认 | 523 | // 发起人确认 |
| 502 | if (nextStepMap[item.taskKey]?.name == '发起人确认') { | 524 | if (nextStepMap[item.taskKey]?.name == '发起人确认') { |
| 503 | console.log(item) | 525 | console.log(item) |
| @@ -510,7 +532,7 @@ const handleProcess = async (item) => { | @@ -510,7 +532,7 @@ const handleProcess = async (item) => { | ||
| 510 | const requestData = { | 532 | const requestData = { |
| 511 | "returnImgs": rejectImgs.getSuccessImgUrls(), // 改造后:获取上传成功的图片URL | 533 | "returnImgs": rejectImgs.getSuccessImgUrls(), // 改造后:获取上传成功的图片URL |
| 512 | "workerDataId": item.id, | 534 | "workerDataId": item.id, |
| 513 | - "taskKey":'ylInspectorStart', | 535 | + "taskKey": 'ylInspectorStart', |
| 514 | "taskId": item.taskId, | 536 | "taskId": item.taskId, |
| 515 | "operateType": 200, | 537 | "operateType": 200, |
| 516 | "agree": 1, | 538 | "agree": 1, |
| @@ -532,7 +554,6 @@ const handleProcess = async (item) => { | @@ -532,7 +554,6 @@ const handleProcess = async (item) => { | ||
| 532 | uni.showToast({title: '处理失败,请重试', icon: 'none'}); | 554 | uni.showToast({title: '处理失败,请重试', icon: 'none'}); |
| 533 | } | 555 | } |
| 534 | }; | 556 | }; |
| 535 | - | ||
| 536 | // 待办-回退工单(打开回退modal) | 557 | // 待办-回退工单(打开回退modal) |
| 537 | const handleReject = (item) => { | 558 | const handleReject = (item) => { |
| 538 | console.log('123213') | 559 | console.log('123213') |
| @@ -546,14 +567,12 @@ const handleReject = (item) => { | @@ -546,14 +567,12 @@ const handleReject = (item) => { | ||
| 546 | rejectImgs.clearImgs(); // 改造后:使用组合式函数的清空方法 | 567 | rejectImgs.clearImgs(); // 改造后:使用组合式函数的清空方法 |
| 547 | rejectModalShow.value = true; // 显示回退modal | 568 | rejectModalShow.value = true; // 显示回退modal |
| 548 | }; | 569 | }; |
| 549 | - | ||
| 550 | // 回退modal - 取消按钮 | 570 | // 回退modal - 取消按钮 |
| 551 | const handleRejectModalCancel = () => { | 571 | const handleRejectModalCancel = () => { |
| 552 | rejectModalShow.value = false; | 572 | rejectModalShow.value = false; |
| 553 | rejectReason.value = ''; | 573 | rejectReason.value = ''; |
| 554 | rejectImgs.clearImgs(); // 改造后:使用组合式函数的清空方法 | 574 | rejectImgs.clearImgs(); // 改造后:使用组合式函数的清空方法 |
| 555 | }; | 575 | }; |
| 556 | - | ||
| 557 | // 确认回退工单 | 576 | // 确认回退工单 |
| 558 | const confirmReject = async () => { | 577 | const confirmReject = async () => { |
| 559 | // 严格校验回退原因(去除首尾空格) | 578 | // 严格校验回退原因(去除首尾空格) |
| @@ -564,26 +583,32 @@ const confirmReject = async () => { | @@ -564,26 +583,32 @@ const confirmReject = async () => { | ||
| 564 | } | 583 | } |
| 565 | // 校验当前工单有效性 | 584 | // 校验当前工单有效性 |
| 566 | if (!currentRejectItem.value || !currentRejectItem.value.id) { | 585 | if (!currentRejectItem.value || !currentRejectItem.value.id) { |
| 567 | - uni.showToast({title: '工单信息异常,无法提交', icon: 'none', duration:1000}); | 586 | + uni.showToast({title: '工单信息异常,无法提交', icon: 'none', duration: 1000}); |
| 568 | rejectModalShow.value = false; | 587 | rejectModalShow.value = false; |
| 569 | return; | 588 | return; |
| 570 | } | 589 | } |
| 571 | try { | 590 | try { |
| 572 | // 显示加载中,防止重复提交 | 591 | // 显示加载中,防止重复提交 |
| 573 | uni.showLoading({title: '提交中...', mask: true}); | 592 | uni.showLoading({title: '提交中...', mask: true}); |
| 574 | - | ||
| 575 | // 构建请求参数 | 593 | // 构建请求参数 |
| 576 | const requestData = { | 594 | const requestData = { |
| 577 | "returnImgs": rejectImgs.getSuccessImgUrls(), // 改造后:获取上传成功的图片URL数组 | 595 | "returnImgs": rejectImgs.getSuccessImgUrls(), // 改造后:获取上传成功的图片URL数组 |
| 578 | "workerDataId": currentRejectItem.value.id, | 596 | "workerDataId": currentRejectItem.value.id, |
| 579 | "taskKey": currentRejectItem.value.taskKey, | 597 | "taskKey": currentRejectItem.value.taskKey, |
| 580 | "taskId": currentRejectItem.value.taskId, | 598 | "taskId": currentRejectItem.value.taskId, |
| 599 | + | ||
| 581 | "operateType": nextStepMap[currentRejectItem.value.taskKey].operateTypeNoPass, | 600 | "operateType": nextStepMap[currentRejectItem.value.taskKey].operateTypeNoPass, |
| 582 | "agree": 1, | 601 | "agree": 1, |
| 583 | "reason": rejectReasonTrim | 602 | "reason": rejectReasonTrim |
| 584 | }; | 603 | }; |
| 585 | // 调用回退工单接口 | 604 | // 调用回退工单接口 |
| 586 | - const res = await qyUniversalApproval(requestData); | 605 | + if(currentRejectItem.value.taskKey=='shRegionManager'){ // 对督察员单子 回退 |
| 606 | + const res = await dcyUniversalApproval(requestData); | ||
| 607 | + } | ||
| 608 | + if(currentRejectItem.value.taskKey=='regionManager'){ // 对全域巡查员单子 回退 | ||
| 609 | + const res = await qyUniversalApproval(requestData); | ||
| 610 | + } | ||
| 611 | + // 对大区经理单子 回退 | ||
| 587 | uni.showToast({title: '回退成功', icon: 'success', duration: 1000}); | 612 | uni.showToast({title: '回退成功', icon: 'success', duration: 1000}); |
| 588 | rejectModalShow.value = false; | 613 | rejectModalShow.value = false; |
| 589 | paging.value?.reload(); // 刷新列表 | 614 | paging.value?.reload(); // 刷新列表 |
| @@ -595,30 +620,28 @@ const confirmReject = async () => { | @@ -595,30 +620,28 @@ const confirmReject = async () => { | ||
| 595 | uni.hideLoading(); | 620 | uni.hideLoading(); |
| 596 | } | 621 | } |
| 597 | }; | 622 | }; |
| 598 | - | ||
| 599 | // 新增工单 | 623 | // 新增工单 |
| 600 | const handleAddOrder = () => { | 624 | const handleAddOrder = () => { |
| 601 | // patrol_global 全域巡查员 | 625 | // patrol_global 全域巡查员 |
| 602 | // regional_manager 大区经理 | 626 | // regional_manager 大区经理 |
| 603 | - console.log(userStore.userInfo?.roles.includes('team_leader_yl')) | ||
| 604 | - if(userStore.userInfo?.roles.includes('patrol_global')){ | 627 | + console.log(userStore.userInfo?.roles.includes('Inspector_global')) |
| 628 | + console.log(userStore.userInfo?.roles) | ||
| 629 | + if (userStore.userInfo?.roles.includes('patrol_global')) { // 全域巡查员 | ||
| 605 | uni.navigateTo({ | 630 | uni.navigateTo({ |
| 606 | url: '/pages-sub/problem/regional-order-manage/add-patrol-order' | 631 | url: '/pages-sub/problem/regional-order-manage/add-patrol-order' |
| 607 | }); | 632 | }); |
| 608 | } | 633 | } |
| 609 | - if(userStore.userInfo?.roles.includes('regional_manager')){ | 634 | + if (userStore.userInfo?.roles.includes('regional_manager')) { |
| 610 | uni.navigateTo({ | 635 | uni.navigateTo({ |
| 611 | url: '/pages-sub/problem/regional-order-manage/add-order' | 636 | url: '/pages-sub/problem/regional-order-manage/add-order' |
| 612 | }); | 637 | }); |
| 613 | } | 638 | } |
| 614 | - | ||
| 615 | - if(userStore.userInfo?.roles.includes('team_leader_yl')){ | 639 | + if (userStore.userInfo?.roles.includes('Inspector_global')) { // 督察员 |
| 616 | uni.navigateTo({ | 640 | uni.navigateTo({ |
| 617 | url: '/pages-sub/problem/regional-order-manage/add-order' | 641 | url: '/pages-sub/problem/regional-order-manage/add-order' |
| 618 | }); | 642 | }); |
| 619 | } | 643 | } |
| 620 | }; | 644 | }; |
| 621 | - | ||
| 622 | // 验收弹窗 - 取消按钮(清空状态) | 645 | // 验收弹窗 - 取消按钮(清空状态) |
| 623 | const handleAcceptModalCancel = () => { | 646 | const handleAcceptModalCancel = () => { |
| 624 | acceptModalShow.value = false; | 647 | acceptModalShow.value = false; |
| @@ -626,7 +649,6 @@ const handleAcceptModalCancel = () => { | @@ -626,7 +649,6 @@ const handleAcceptModalCancel = () => { | ||
| 626 | acceptRadioValue.value = '0'; // 重置单选框为“通过” | 649 | acceptRadioValue.value = '0'; // 重置单选框为“通过” |
| 627 | acceptImgs.clearImgs(); // 清空验收图片 | 650 | acceptImgs.clearImgs(); // 清空验收图片 |
| 628 | }; | 651 | }; |
| 629 | - | ||
| 630 | // 验收弹窗 - 确定按钮(含returnImgs传参) | 652 | // 验收弹窗 - 确定按钮(含returnImgs传参) |
| 631 | const handleAcceptModalConfirm = async () => { | 653 | const handleAcceptModalConfirm = async () => { |
| 632 | // 1. 校验验收原因是否为空 | 654 | // 1. 校验验收原因是否为空 |
| @@ -642,9 +664,11 @@ const handleAcceptModalConfirm = async () => { | @@ -642,9 +664,11 @@ const handleAcceptModalConfirm = async () => { | ||
| 642 | try { | 664 | try { |
| 643 | // 3. 构建请求参数(含returnImgs) | 665 | // 3. 构建请求参数(含returnImgs) |
| 644 | console.log(currentAcceptItem.value) | 666 | console.log(currentAcceptItem.value) |
| 645 | - let postData = {} | ||
| 646 | - if (currentAcceptItem.value?.taskKey == 'ylTeamLeaderConfirm') { // 养护组长验收 | ||
| 647 | - postData = { | 667 | + console.log( userStore.userInfo.roles) |
| 668 | + console.log( userStore.userInfo.roles.includes('Inspector_global')) | ||
| 669 | + // | ||
| 670 | + if( userStore.userInfo.roles.includes('regional_manager')){ // 大区经理验收 | ||
| 671 | + let postData = { | ||
| 648 | "returnImgs": acceptImgs.getSuccessImgUrls(), // 验收图片URL数组 | 672 | "returnImgs": acceptImgs.getSuccessImgUrls(), // 验收图片URL数组 |
| 649 | "taskKey": currentAcceptItem.value.taskKey, | 673 | "taskKey": currentAcceptItem.value.taskKey, |
| 650 | "workerDataId": currentAcceptItem.value.id, | 674 | "workerDataId": currentAcceptItem.value.id, |
| @@ -652,9 +676,11 @@ const handleAcceptModalConfirm = async () => { | @@ -652,9 +676,11 @@ const handleAcceptModalConfirm = async () => { | ||
| 652 | "operateType": acceptRadioValue.value == 0 ? nextStepMap[currentAcceptItem.value.taskKey].operateTypePass : nextStepMap[currentAcceptItem.value.taskKey].operateTypeNoPass, | 676 | "operateType": acceptRadioValue.value == 0 ? nextStepMap[currentAcceptItem.value.taskKey].operateTypePass : nextStepMap[currentAcceptItem.value.taskKey].operateTypeNoPass, |
| 653 | "reason": acceptReason.value.trim() | 677 | "reason": acceptReason.value.trim() |
| 654 | } | 678 | } |
| 679 | + await daquUniversalApproval(postData); | ||
| 655 | } | 680 | } |
| 656 | - if (currentAcceptItem.value?.taskKey == 'ylInspector') { // 全域巡查员验收 | ||
| 657 | - postData = { | 681 | + // |
| 682 | + if( userStore.userInfo.roles.includes('patrol_global')){ // 全域巡查员验收 | ||
| 683 | + let postData = { | ||
| 658 | "returnImgs": acceptImgs.getSuccessImgUrls(), // 验收图片URL数组 | 684 | "returnImgs": acceptImgs.getSuccessImgUrls(), // 验收图片URL数组 |
| 659 | "taskKey": currentAcceptItem.value.taskKey, | 685 | "taskKey": currentAcceptItem.value.taskKey, |
| 660 | "taskId": currentAcceptItem.value.taskId, | 686 | "taskId": currentAcceptItem.value.taskId, |
| @@ -663,8 +689,22 @@ const handleAcceptModalConfirm = async () => { | @@ -663,8 +689,22 @@ const handleAcceptModalConfirm = async () => { | ||
| 663 | "reason": acceptReason.value.trim(), | 689 | "reason": acceptReason.value.trim(), |
| 664 | "agree": acceptRadioValue.value | 690 | "agree": acceptRadioValue.value |
| 665 | } | 691 | } |
| 692 | + await qyUniversalApproval(postData); | ||
| 666 | } | 693 | } |
| 667 | - const acceptRes = await universalApproval(postData); | 694 | + // |
| 695 | + if( userStore.userInfo.roles.includes('Inspector_global')){ // 督察员验收 | ||
| 696 | + let postData = { | ||
| 697 | + "returnImgs": acceptImgs.getSuccessImgUrls(), // 验收图片URL数组 | ||
| 698 | + "taskKey": currentAcceptItem.value.taskKey, | ||
| 699 | + "taskId": currentAcceptItem.value.taskId, | ||
| 700 | + "workerDataId": currentAcceptItem.value.id, | ||
| 701 | + "operateType": acceptRadioValue.value == 0 ? nextStepMap[currentAcceptItem.value.taskKey].operateTypePass : nextStepMap[currentAcceptItem.value.taskKey].operateTypeNoPass, | ||
| 702 | + "reason": acceptReason.value.trim(), | ||
| 703 | + "agree": acceptRadioValue.value | ||
| 704 | + } | ||
| 705 | + await dcyUniversalApproval(postData); | ||
| 706 | + } | ||
| 707 | + | ||
| 668 | // 4. 操作成功处理 | 708 | // 4. 操作成功处理 |
| 669 | uni.showToast({title: '提交成功', icon: 'success', duration: 1000}); | 709 | uni.showToast({title: '提交成功', icon: 'success', duration: 1000}); |
| 670 | handleAcceptModalCancel(); // 清空状态 | 710 | handleAcceptModalCancel(); // 清空状态 |
| @@ -675,7 +715,6 @@ const handleAcceptModalConfirm = async () => { | @@ -675,7 +715,6 @@ const handleAcceptModalConfirm = async () => { | ||
| 675 | uni.showToast({title: '验收提交失败,请重试', icon: 'none', duration: 1000}); | 715 | uni.showToast({title: '验收提交失败,请重试', icon: 'none', duration: 1000}); |
| 676 | } | 716 | } |
| 677 | }; | 717 | }; |
| 678 | - | ||
| 679 | // 页面初始化 | 718 | // 页面初始化 |
| 680 | onLoad(() => { | 719 | onLoad(() => { |
| 681 | // 初始化加载列表 | 720 | // 初始化加载列表 |
pages-sub/problem/regional-order-manage/order-detail.vue
| @@ -369,9 +369,10 @@ import { | @@ -369,9 +369,10 @@ import { | ||
| 369 | getDoneTaskDetail, | 369 | getDoneTaskDetail, |
| 370 | getTodoTaskDetail, | 370 | getTodoTaskDetail, |
| 371 | getApprovalDetail, | 371 | getApprovalDetail, |
| 372 | - regionmgrUniversalApproval, | ||
| 373 | - qyUniversalApproval | ||
| 374 | -} from '@/api/work-order-manage/work-order-manage'; | 372 | + daquUniversalApproval, |
| 373 | + qyUniversalApproval, | ||
| 374 | + dcyUniversalApproval | ||
| 375 | +} from '@/api/regional-order-manage/regional-order-manage'; | ||
| 375 | import {nextStepMap, buzStatusMap, calculateFormatTimeDiff} from '@/common/utils/common' | 376 | import {nextStepMap, buzStatusMap, calculateFormatTimeDiff} from '@/common/utils/common' |
| 376 | // 引入图片上传组合式函数 | 377 | // 引入图片上传组合式函数 |
| 377 | import {useUploadImgs} from '@/common/utils/useUploadImgs' | 378 | import {useUploadImgs} from '@/common/utils/useUploadImgs' |
| @@ -825,7 +826,7 @@ const handleAcceptModalConfirm = async () => { | @@ -825,7 +826,7 @@ const handleAcceptModalConfirm = async () => { | ||
| 825 | "agree": acceptRadioValue.value | 826 | "agree": acceptRadioValue.value |
| 826 | } | 827 | } |
| 827 | } | 828 | } |
| 828 | - const acceptRes = await regionmgrUniversalApproval(postData); | 829 | + const acceptRes = await daquUniversalApproval(postData); |
| 829 | // 4. 操作成功处理 | 830 | // 4. 操作成功处理 |
| 830 | 831 | ||
| 831 | handleAcceptModalCancel(); // 清空状态 | 832 | handleAcceptModalCancel(); // 清空状态 |
pages-sub/problem/work-order-manage/index.vue
| @@ -554,7 +554,7 @@ const confirmReject = async () => { | @@ -554,7 +554,7 @@ const confirmReject = async () => { | ||
| 554 | try { | 554 | try { |
| 555 | // 显示加载中,防止重复提交 | 555 | // 显示加载中,防止重复提交 |
| 556 | uni.showLoading({title: '提交中...', mask: true}); | 556 | uni.showLoading({title: '提交中...', mask: true}); |
| 557 | - | 557 | + console.log( currentRejectItem.value.roadId) |
| 558 | // 构建请求参数 | 558 | // 构建请求参数 |
| 559 | const requestData = { | 559 | const requestData = { |
| 560 | "returnImgs": rejectImgs.getSuccessImgUrls(), // 改造后:获取上传成功的图片URL数组 | 560 | "returnImgs": rejectImgs.getSuccessImgUrls(), // 改造后:获取上传成功的图片URL数组 |
| @@ -563,7 +563,8 @@ const confirmReject = async () => { | @@ -563,7 +563,8 @@ const confirmReject = async () => { | ||
| 563 | "taskId": currentRejectItem.value.taskId, | 563 | "taskId": currentRejectItem.value.taskId, |
| 564 | "operateType": nextStepMap[currentRejectItem.value.taskKey].operateTypeNoPass, | 564 | "operateType": nextStepMap[currentRejectItem.value.taskKey].operateTypeNoPass, |
| 565 | "agree": 1, | 565 | "agree": 1, |
| 566 | - "reason": rejectReasonTrim | 566 | + "reason": rejectReasonTrim, |
| 567 | + "roadId": currentRejectItem.value.roadId, // 给督察员回退的 要加上 | ||
| 567 | }; | 568 | }; |
| 568 | // 调用回退工单接口 | 569 | // 调用回退工单接口 |
| 569 | const res = await universalApproval(requestData); | 570 | const res = await universalApproval(requestData); |
pages/workbench/index.vue
| @@ -118,7 +118,7 @@ onShow(async () => { | @@ -118,7 +118,7 @@ onShow(async () => { | ||
| 118 | setTimeout(() => { | 118 | setTimeout(() => { |
| 119 | // 使用reLaunch跳转,清空页面栈,避免返回当前菜单页 | 119 | // 使用reLaunch跳转,清空页面栈,避免返回当前菜单页 |
| 120 | uni.reLaunch({ | 120 | uni.reLaunch({ |
| 121 | - url: '/pages/login/login', // 替换为你的实际登录页路径 | 121 | + url: '/pages/login/index', // 替换为你的实际登录页路径 |
| 122 | fail: (err) => { | 122 | fail: (err) => { |
| 123 | console.error('跳转登录页失败:', err); | 123 | console.error('跳转登录页失败:', err); |
| 124 | uni.showToast({ title: '跳转登录页异常', icon: 'none' }); | 124 | uni.showToast({ title: '跳转登录页异常', icon: 'none' }); |