Commit c104a84f90303a5575d84910e119c613ad0dac8c
1 parent
e87263d7
工作办理 待办功能测试完成
Showing
30 changed files
with
1707 additions
and
0 deletions
src/api/contract/contractApplyAuditHistoryOrdersApi.js
0 → 100644
| 1 | +import request from '@/utils/request' | ||
| 2 | + | ||
| 3 | +/** | ||
| 4 | + * 查询合同历史任务列表 | ||
| 5 | + * @param {Object} params 查询参数 | ||
| 6 | + * @param {number} params.page 当前页码 | ||
| 7 | + * @param {number} params.row 每页显示条数 | ||
| 8 | + * @param {string} [params.AuditOrdersId] 审核订单ID | ||
| 9 | + * @param {string} [params.userName] 用户名 | ||
| 10 | + * @param {string} [params.auditLink] 审核环节 | ||
| 11 | + * @returns {Promise} 包含合同历史任务数据的Promise对象 | ||
| 12 | + */ | ||
| 13 | +export function queryContractHistoryTask(params) { | ||
| 14 | + return new Promise((resolve, reject) => { | ||
| 15 | + request({ | ||
| 16 | + url: '/contract/queryContractHistoryTask', | ||
| 17 | + method: 'get', | ||
| 18 | + params | ||
| 19 | + }).then(response => { | ||
| 20 | + const res = response.data | ||
| 21 | + resolve(res) | ||
| 22 | + }).catch(error => { | ||
| 23 | + reject(error) | ||
| 24 | + }) | ||
| 25 | + }) | ||
| 26 | +} | ||
| 27 | + | ||
| 28 | +/** | ||
| 29 | + * 提交合同审核 | ||
| 30 | + * @param {Object} data 审核数据 | ||
| 31 | + * @param {number} data.state 审核状态 (1100: 同意, 1200: 拒绝) | ||
| 32 | + * @param {string} data.remark 审核备注 | ||
| 33 | + * @param {string} data.contractId 合同ID | ||
| 34 | + * @returns {Promise} 包含审核结果的Promise对象 | ||
| 35 | + */ | ||
| 36 | +export function submitContractAudit(data) { | ||
| 37 | + return new Promise((resolve, reject) => { | ||
| 38 | + request({ | ||
| 39 | + url: '/contract/submitContractAudit', | ||
| 40 | + method: 'post', | ||
| 41 | + data | ||
| 42 | + }).then(response => { | ||
| 43 | + const res = response.data | ||
| 44 | + resolve(res) | ||
| 45 | + }).catch(error => { | ||
| 46 | + reject(error) | ||
| 47 | + }) | ||
| 48 | + }) | ||
| 49 | +} | ||
| 50 | + | ||
| 51 | +/** | ||
| 52 | + * 获取合同详情 | ||
| 53 | + * @param {string} contractId 合同ID | ||
| 54 | + * @returns {Promise} 包含合同详情的Promise对象 | ||
| 55 | + */ | ||
| 56 | +export function getContractDetail(contractId) { | ||
| 57 | + return new Promise((resolve, reject) => { | ||
| 58 | + request({ | ||
| 59 | + url: '/contract/getContractDetail', | ||
| 60 | + method: 'get', | ||
| 61 | + params: { contractId } | ||
| 62 | + }).then(response => { | ||
| 63 | + const res = response.data | ||
| 64 | + resolve(res) | ||
| 65 | + }).catch(error => { | ||
| 66 | + reject(error) | ||
| 67 | + }) | ||
| 68 | + }) | ||
| 69 | +} | ||
| 0 | \ No newline at end of file | 70 | \ No newline at end of file |
src/api/contract/contractChangeAuditHistoryOrdersApi.js
0 → 100644
| 1 | +import request from '@/utils/request' | ||
| 2 | + | ||
| 3 | +/** | ||
| 4 | + * 查询合同变更历史任务 | ||
| 5 | + * @param {Object} params 查询参数 | ||
| 6 | + * @returns {Promise} Promise对象 | ||
| 7 | + */ | ||
| 8 | +export function queryContractChangeHistoryTask(params) { | ||
| 9 | + return new Promise((resolve, reject) => { | ||
| 10 | + request({ | ||
| 11 | + url: '/contract/queryContractChangeHistoryTask', | ||
| 12 | + method: 'get', | ||
| 13 | + params | ||
| 14 | + }).then(response => { | ||
| 15 | + const res = response.data | ||
| 16 | + resolve(res) | ||
| 17 | + }).catch(error => { | ||
| 18 | + reject(error) | ||
| 19 | + }) | ||
| 20 | + }) | ||
| 21 | +} | ||
| 0 | \ No newline at end of file | 22 | \ No newline at end of file |
src/api/oa/doHistoryComplaintsApi.js
0 → 100644
| 1 | +import request from '@/utils/request' | ||
| 2 | + | ||
| 3 | +/** | ||
| 4 | + * 获取历史投诉单列表 | ||
| 5 | + * @param {Object} params 查询参数 | ||
| 6 | + * @returns {Promise} | ||
| 7 | + */ | ||
| 8 | +export function listAuditHistoryComplaints(params) { | ||
| 9 | + return new Promise((resolve, reject) => { | ||
| 10 | + request({ | ||
| 11 | + url: '/auditUser.listAuditHistoryComplaints', | ||
| 12 | + method: 'get', | ||
| 13 | + params | ||
| 14 | + }).then(response => { | ||
| 15 | + const res = response.data | ||
| 16 | + resolve(res) | ||
| 17 | + }).catch(error => { | ||
| 18 | + reject(error) | ||
| 19 | + }) | ||
| 20 | + }) | ||
| 21 | +} | ||
| 0 | \ No newline at end of file | 22 | \ No newline at end of file |
src/api/oa/visitFinishApi.js
0 → 100644
| 1 | +import request from '@/utils/request' | ||
| 2 | + | ||
| 3 | +// 查询已完成访客订单 | ||
| 4 | +export function queryFinishVisit(params) { | ||
| 5 | + return new Promise((resolve, reject) => { | ||
| 6 | + request({ | ||
| 7 | + url: '/visit.queryFinishVisit', | ||
| 8 | + method: 'get', | ||
| 9 | + params | ||
| 10 | + }).then(response => { | ||
| 11 | + const res = response.data | ||
| 12 | + resolve(res) | ||
| 13 | + }).catch(error => { | ||
| 14 | + reject(error) | ||
| 15 | + }) | ||
| 16 | + }) | ||
| 17 | +} | ||
| 0 | \ No newline at end of file | 18 | \ No newline at end of file |
src/api/resource/allocationStorehouseHistoryAuditOrdersApi.js
0 → 100644
| 1 | +import request from '@/utils/request' | ||
| 2 | + | ||
| 3 | +/** | ||
| 4 | + * 获取调拨已办单列表 | ||
| 5 | + * @param {Object} params 查询参数 | ||
| 6 | + * @returns {Promise} 返回Promise对象 | ||
| 7 | + */ | ||
| 8 | +export function listAllocationStoreHisAuditOrders(params) { | ||
| 9 | + return new Promise((resolve, reject) => { | ||
| 10 | + request({ | ||
| 11 | + url: '/resourceStore.listAllocationStoreHisAuditOrders', | ||
| 12 | + method: 'get', | ||
| 13 | + params | ||
| 14 | + }).then(response => { | ||
| 15 | + const res = response.data | ||
| 16 | + resolve(res) | ||
| 17 | + }).catch(error => { | ||
| 18 | + reject(error) | ||
| 19 | + }) | ||
| 20 | + }) | ||
| 21 | +} | ||
| 0 | \ No newline at end of file | 22 | \ No newline at end of file |
src/api/resource/itemReleaseFinishApi.js
0 → 100644
| 1 | +import request from '@/utils/request' | ||
| 2 | +import { getCommunityId } from '@/api/community/communityApi' | ||
| 3 | + | ||
| 4 | +// 查询已办放行单列表 | ||
| 5 | +export function queryFinishItemRelease(params) { | ||
| 6 | + return new Promise((resolve, reject) => { | ||
| 7 | + const communityId = getCommunityId() | ||
| 8 | + request({ | ||
| 9 | + url: '/itemRelease.queryFinishItemRelease', | ||
| 10 | + method: 'get', | ||
| 11 | + params: { | ||
| 12 | + ...params, | ||
| 13 | + communityId | ||
| 14 | + } | ||
| 15 | + }).then(response => { | ||
| 16 | + const res = response.data | ||
| 17 | + resolve(res) | ||
| 18 | + }).catch(error => { | ||
| 19 | + reject(error) | ||
| 20 | + }) | ||
| 21 | + }) | ||
| 22 | +} | ||
| 23 | + | ||
| 24 | +// 查询放行物品列表 | ||
| 25 | +export function listItemReleaseRes(params) { | ||
| 26 | + return new Promise((resolve, reject) => { | ||
| 27 | + const communityId = getCommunityId() | ||
| 28 | + request({ | ||
| 29 | + url: '/itemRelease.listItemReleaseRes', | ||
| 30 | + method: 'get', | ||
| 31 | + params: { | ||
| 32 | + ...params, | ||
| 33 | + communityId | ||
| 34 | + } | ||
| 35 | + }).then(response => { | ||
| 36 | + const res = response.data | ||
| 37 | + resolve(res) | ||
| 38 | + }).catch(error => { | ||
| 39 | + reject(error) | ||
| 40 | + }) | ||
| 41 | + }) | ||
| 42 | +} | ||
| 0 | \ No newline at end of file | 43 | \ No newline at end of file |
src/api/resource/myAuditHistoryOrdersApi.js
0 → 100644
| 1 | +import request from '@/utils/request' | ||
| 2 | + | ||
| 3 | +/** | ||
| 4 | + * 获取审核历史订单列表 | ||
| 5 | + * @param {Object} params 查询参数 | ||
| 6 | + * @returns {Promise} 返回Promise对象 | ||
| 7 | + */ | ||
| 8 | +export function listAuditHistoryOrders(params) { | ||
| 9 | + return new Promise((resolve, reject) => { | ||
| 10 | + request({ | ||
| 11 | + url: '/auditUser.listAuditHistoryOrders', | ||
| 12 | + method: 'get', | ||
| 13 | + params | ||
| 14 | + }).then(response => { | ||
| 15 | + const res = response.data | ||
| 16 | + resolve(res) | ||
| 17 | + }).catch(error => { | ||
| 18 | + reject(error) | ||
| 19 | + }) | ||
| 20 | + }) | ||
| 21 | +} | ||
| 0 | \ No newline at end of file | 22 | \ No newline at end of file |
src/api/resource/myItemOutAuditHistoryOrdersApi.js
0 → 100644
| 1 | +import request from '@/utils/request' | ||
| 2 | + | ||
| 3 | +/** | ||
| 4 | + * 获取领用已办单列表 | ||
| 5 | + * @param {Object} params 查询参数 | ||
| 6 | + * @returns {Promise} 请求Promise | ||
| 7 | + */ | ||
| 8 | +export function listItemOutAuditHistoryOrders(params) { | ||
| 9 | + return new Promise((resolve, reject) => { | ||
| 10 | + request({ | ||
| 11 | + url: '/auditUser.listItemOutAuditHistoryOrders', | ||
| 12 | + method: 'get', | ||
| 13 | + params | ||
| 14 | + }).then(response => { | ||
| 15 | + const res = response.data | ||
| 16 | + resolve(res) | ||
| 17 | + }).catch(error => { | ||
| 18 | + reject(error) | ||
| 19 | + }) | ||
| 20 | + }) | ||
| 21 | +} | ||
| 0 | \ No newline at end of file | 22 | \ No newline at end of file |
src/i18n/contractI18n.js
| @@ -12,6 +12,8 @@ import { messages as contractDetailMessages } from '../views/contract/contractDe | @@ -12,6 +12,8 @@ import { messages as contractDetailMessages } from '../views/contract/contractDe | ||
| 12 | import { messages as contractChangeDetailsMessages } from '../views/contract/contractChangeDetailsLang' | 12 | import { messages as contractChangeDetailsMessages } from '../views/contract/contractChangeDetailsLang' |
| 13 | import { messages as contractApplyAuditOrdersMessages } from '../views/contract/contractApplyAuditOrdersLang' | 13 | import { messages as contractApplyAuditOrdersMessages } from '../views/contract/contractApplyAuditOrdersLang' |
| 14 | import { messages as contractChangeAuditOrdersMessages } from '../views/contract/contractChangeAuditOrdersLang.js' | 14 | import { messages as contractChangeAuditOrdersMessages } from '../views/contract/contractChangeAuditOrdersLang.js' |
| 15 | +import { messages as contractApplyAuditHistoryOrdersMessages } from '../views/contract/contractApplyAuditHistoryOrdersLang' | ||
| 16 | +import { messages as contractChangeAuditHistoryOrdersMessages } from '../views/contract/contractChangeAuditHistoryOrdersLang' | ||
| 15 | 17 | ||
| 16 | export const messages ={ | 18 | export const messages ={ |
| 17 | en:{ | 19 | en:{ |
| @@ -29,6 +31,8 @@ export const messages ={ | @@ -29,6 +31,8 @@ export const messages ={ | ||
| 29 | ...contractChangeDetailsMessages.en, | 31 | ...contractChangeDetailsMessages.en, |
| 30 | ...contractApplyAuditOrdersMessages.en, | 32 | ...contractApplyAuditOrdersMessages.en, |
| 31 | ...contractChangeAuditOrdersMessages.en, | 33 | ...contractChangeAuditOrdersMessages.en, |
| 34 | + ...contractApplyAuditHistoryOrdersMessages.en, | ||
| 35 | + ...contractChangeAuditHistoryOrdersMessages.en, | ||
| 32 | }, | 36 | }, |
| 33 | zh:{ | 37 | zh:{ |
| 34 | ...contractTypeManageMessages.zh, | 38 | ...contractTypeManageMessages.zh, |
| @@ -45,5 +49,7 @@ export const messages ={ | @@ -45,5 +49,7 @@ export const messages ={ | ||
| 45 | ...contractChangeDetailsMessages.zh, | 49 | ...contractChangeDetailsMessages.zh, |
| 46 | ...contractApplyAuditOrdersMessages.zh, | 50 | ...contractApplyAuditOrdersMessages.zh, |
| 47 | ...contractChangeAuditOrdersMessages.zh, | 51 | ...contractChangeAuditOrdersMessages.zh, |
| 52 | + ...contractApplyAuditHistoryOrdersMessages.zh, | ||
| 53 | + ...contractChangeAuditHistoryOrdersMessages.zh, | ||
| 48 | } | 54 | } |
| 49 | } | 55 | } |
| 50 | \ No newline at end of file | 56 | \ No newline at end of file |
src/i18n/oaI18n.js
| @@ -53,6 +53,9 @@ import { messages as simplifyNotepadManageMessages } from '../views/oa/simplifyN | @@ -53,6 +53,9 @@ import { messages as simplifyNotepadManageMessages } from '../views/oa/simplifyN | ||
| 53 | import { messages as uodoComplaintsMessages } from '../views/oa/uodoComplaintsLang' | 53 | import { messages as uodoComplaintsMessages } from '../views/oa/uodoComplaintsLang' |
| 54 | import { messages as complaintDetailMessages } from '../views/oa/complaintDetailLang' | 54 | import { messages as complaintDetailMessages } from '../views/oa/complaintDetailLang' |
| 55 | import { messages as visitUndoMessages } from '../views/oa/visitUndoLang' | 55 | import { messages as visitUndoMessages } from '../views/oa/visitUndoLang' |
| 56 | +import { messages as doHistoryComplaintsMessages } from '../views/oa/doHistoryComplaintsLang' | ||
| 57 | +import { messages as myAuditHistoryOrdersMessages } from '../views/resource/myAuditHistoryOrdersLang' | ||
| 58 | +import { messages as visitFinishMessages } from '../views/oa/visitFinishLang' | ||
| 56 | 59 | ||
| 57 | 60 | ||
| 58 | export const messages ={ | 61 | export const messages ={ |
| @@ -111,6 +114,9 @@ export const messages ={ | @@ -111,6 +114,9 @@ export const messages ={ | ||
| 111 | ...uodoComplaintsMessages.en, | 114 | ...uodoComplaintsMessages.en, |
| 112 | ...complaintDetailMessages.en, | 115 | ...complaintDetailMessages.en, |
| 113 | ...visitUndoMessages.en, | 116 | ...visitUndoMessages.en, |
| 117 | + ...doHistoryComplaintsMessages.en, | ||
| 118 | + ...myAuditHistoryOrdersMessages.en, | ||
| 119 | + ...visitFinishMessages.en, | ||
| 114 | }, | 120 | }, |
| 115 | zh:{ | 121 | zh:{ |
| 116 | ...activitiesTypeManageMessages.zh, | 122 | ...activitiesTypeManageMessages.zh, |
| @@ -167,5 +173,8 @@ export const messages ={ | @@ -167,5 +173,8 @@ export const messages ={ | ||
| 167 | ...uodoComplaintsMessages.zh, | 173 | ...uodoComplaintsMessages.zh, |
| 168 | ...complaintDetailMessages.zh, | 174 | ...complaintDetailMessages.zh, |
| 169 | ...visitUndoMessages.zh, | 175 | ...visitUndoMessages.zh, |
| 176 | + ...doHistoryComplaintsMessages.zh, | ||
| 177 | + ...myAuditHistoryOrdersMessages.zh, | ||
| 178 | + ...visitFinishMessages.zh, | ||
| 170 | } | 179 | } |
| 171 | } | 180 | } |
| 172 | \ No newline at end of file | 181 | \ No newline at end of file |
src/i18n/resourceI18n.js
| @@ -40,6 +40,9 @@ import { messages as allocationStorehouseAuditOrdersMessages } from '../views/re | @@ -40,6 +40,9 @@ import { messages as allocationStorehouseAuditOrdersMessages } from '../views/re | ||
| 40 | import { messages as editAllocationStorehouseApplyMessages } from '../views/resource/editAllocationStorehouseApplyLang' | 40 | import { messages as editAllocationStorehouseApplyMessages } from '../views/resource/editAllocationStorehouseApplyLang' |
| 41 | import { messages as allocationStorehouseEnterMessages } from '../views/resource/allocationStorehouseEnterLang' | 41 | import { messages as allocationStorehouseEnterMessages } from '../views/resource/allocationStorehouseEnterLang' |
| 42 | import { messages as itemReleaseUndoMessages } from '../views/resource/itemReleaseUndoLang' | 42 | import { messages as itemReleaseUndoMessages } from '../views/resource/itemReleaseUndoLang' |
| 43 | +import { messages as myItemOutAuditHistoryOrdersMessages } from '../views/resource/myItemOutAuditHistoryOrdersLang' | ||
| 44 | +import { messages as allocationStorehouseHistoryAuditOrdersMessages } from '../views/resource/allocationStorehouseHistoryAuditOrdersLang' | ||
| 45 | +import { messages as itemReleaseFinishMessages } from '../views/resource/itemReleaseFinishLang' | ||
| 43 | 46 | ||
| 44 | export const messages = { | 47 | export const messages = { |
| 45 | en: { | 48 | en: { |
| @@ -83,6 +86,9 @@ export const messages = { | @@ -83,6 +86,9 @@ export const messages = { | ||
| 83 | ...editAllocationStorehouseApplyMessages.en, | 86 | ...editAllocationStorehouseApplyMessages.en, |
| 84 | ...allocationStorehouseEnterMessages.en, | 87 | ...allocationStorehouseEnterMessages.en, |
| 85 | ...itemReleaseUndoMessages.en, | 88 | ...itemReleaseUndoMessages.en, |
| 89 | + ...myItemOutAuditHistoryOrdersMessages.en, | ||
| 90 | + ...allocationStorehouseHistoryAuditOrdersMessages.en, | ||
| 91 | + ...itemReleaseFinishMessages.en, | ||
| 86 | }, | 92 | }, |
| 87 | zh: { | 93 | zh: { |
| 88 | ...resourceAuditFlowMessages.zh, | 94 | ...resourceAuditFlowMessages.zh, |
| @@ -125,5 +131,8 @@ export const messages = { | @@ -125,5 +131,8 @@ export const messages = { | ||
| 125 | ...editAllocationStorehouseApplyMessages.zh, | 131 | ...editAllocationStorehouseApplyMessages.zh, |
| 126 | ...allocationStorehouseEnterMessages.zh, | 132 | ...allocationStorehouseEnterMessages.zh, |
| 127 | ...itemReleaseUndoMessages.zh, | 133 | ...itemReleaseUndoMessages.zh, |
| 134 | + ...myItemOutAuditHistoryOrdersMessages.zh, | ||
| 135 | + ...allocationStorehouseHistoryAuditOrdersMessages.zh, | ||
| 136 | + ...itemReleaseFinishMessages.zh, | ||
| 128 | } | 137 | } |
| 129 | } | 138 | } |
| 130 | \ No newline at end of file | 139 | \ No newline at end of file |
src/router/contractRouter.js
| @@ -64,4 +64,14 @@ export default [ | @@ -64,4 +64,14 @@ export default [ | ||
| 64 | name: '/pages/admin/contractChangeAuditOrders', | 64 | name: '/pages/admin/contractChangeAuditOrders', |
| 65 | component: () => import('@/views/contract/contractChangeAuditOrdersList.vue') | 65 | component: () => import('@/views/contract/contractChangeAuditOrdersList.vue') |
| 66 | }, | 66 | }, |
| 67 | + { | ||
| 68 | + path: '/pages/admin/contractApplyAuditHistoryOrders', | ||
| 69 | + name: '/pages/admin/contractApplyAuditHistoryOrders', | ||
| 70 | + component: () => import('@/views/contract/contractApplyAuditHistoryOrdersList.vue') | ||
| 71 | + }, | ||
| 72 | + { | ||
| 73 | + path:'/pages/admin/contractChangeAuditHistoryOrders', | ||
| 74 | + name:'/pages/admin/contractChangeAuditHistoryOrders', | ||
| 75 | + component: () => import('@/views/contract/contractChangeAuditHistoryOrdersList.vue') | ||
| 76 | + }, | ||
| 67 | ] | 77 | ] |
| 68 | \ No newline at end of file | 78 | \ No newline at end of file |
src/router/oaRouter.js
| @@ -254,4 +254,19 @@ export default [ | @@ -254,4 +254,19 @@ export default [ | ||
| 254 | name: '/pages/property/visitUndo', | 254 | name: '/pages/property/visitUndo', |
| 255 | component: () => import('@/views/oa/visitUndoList.vue') | 255 | component: () => import('@/views/oa/visitUndoList.vue') |
| 256 | }, | 256 | }, |
| 257 | + { | ||
| 258 | + path: '/pages/complaint/doHistoryComplaints', | ||
| 259 | + name: '/pages/complaint/doHistoryComplaints', | ||
| 260 | + component: () => import('@/views/oa/doHistoryComplaintsList.vue') | ||
| 261 | + }, | ||
| 262 | + { | ||
| 263 | + path: '/pages/admin/myAuditHistoryOrders', | ||
| 264 | + name: '/pages/admin/myAuditHistoryOrders', | ||
| 265 | + component: () => import('@/views/resource/myAuditHistoryOrdersList.vue') | ||
| 266 | + }, | ||
| 267 | + { | ||
| 268 | + path:'/pages/property/visitFinish', | ||
| 269 | + name:'/pages/property/visitFinish', | ||
| 270 | + component: () => import('@/views/oa/visitFinishList.vue') | ||
| 271 | + }, | ||
| 257 | ] | 272 | ] |
| 258 | \ No newline at end of file | 273 | \ No newline at end of file |
src/router/resourceRouter.js
| @@ -190,5 +190,20 @@ export default [ | @@ -190,5 +190,20 @@ export default [ | ||
| 190 | name: '/pages/property/itemReleaseUndo', | 190 | name: '/pages/property/itemReleaseUndo', |
| 191 | component: () => import('@/views/resource/itemReleaseUndoList.vue') | 191 | component: () => import('@/views/resource/itemReleaseUndoList.vue') |
| 192 | }, | 192 | }, |
| 193 | + { | ||
| 194 | + path: '/pages/admin/myItemOutAuditHistoryOrders', | ||
| 195 | + name: '/pages/admin/myItemOutAuditHistoryOrders', | ||
| 196 | + component: () => import('@/views/resource/myItemOutAuditHistoryOrdersList.vue') | ||
| 197 | + }, | ||
| 198 | + { | ||
| 199 | + path: '/pages/admin/allocationStorehouseHistoryAuditOrders', | ||
| 200 | + name: '/pages/admin/allocationStorehouseHistoryAuditOrders', | ||
| 201 | + component: () => import('@/views/resource/allocationStorehouseHistoryAuditOrdersList.vue') | ||
| 202 | + }, | ||
| 203 | + { | ||
| 204 | + path: '/pages/property/itemReleaseFinish', | ||
| 205 | + name: '/pages/property/itemReleaseFinish', | ||
| 206 | + component: () => import('@/views/resource/itemReleaseFinishList.vue') | ||
| 207 | + }, | ||
| 193 | 208 | ||
| 194 | ] | 209 | ] |
| 195 | \ No newline at end of file | 210 | \ No newline at end of file |
src/views/contract/contractApplyAuditHistoryOrdersLang.js
0 → 100644
| 1 | +export const messages = { | ||
| 2 | + en: { | ||
| 3 | + contractApplyAuditHistoryOrders: { | ||
| 4 | + title: 'Draft Completed Orders', | ||
| 5 | + contractCode: 'Contract Number', | ||
| 6 | + contractName: 'Contract Name', | ||
| 7 | + contractType: 'Contract Type', | ||
| 8 | + contractStatus: 'Contract Status', | ||
| 9 | + createTime: 'Create Time', | ||
| 10 | + operation: 'Operation', | ||
| 11 | + view: 'View', | ||
| 12 | + fetchError: 'Failed to fetch contract history orders' | ||
| 13 | + } | ||
| 14 | + }, | ||
| 15 | + zh: { | ||
| 16 | + contractApplyAuditHistoryOrders: { | ||
| 17 | + title: '起草已办单', | ||
| 18 | + contractCode: '合同编号', | ||
| 19 | + contractName: '合同名称', | ||
| 20 | + contractType: '合同类型', | ||
| 21 | + contractStatus: '合同状态', | ||
| 22 | + createTime: '创建时间', | ||
| 23 | + operation: '操作', | ||
| 24 | + view: '查看', | ||
| 25 | + fetchError: '获取合同历史订单失败' | ||
| 26 | + } | ||
| 27 | + } | ||
| 28 | +} | ||
| 0 | \ No newline at end of file | 29 | \ No newline at end of file |
src/views/contract/contractApplyAuditHistoryOrdersList.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div class="contract-apply-audit-history-orders-container animated fadeInRight"> | ||
| 3 | + <el-card class="box-card"> | ||
| 4 | + <div slot="header" class="flex justify-between"> | ||
| 5 | + <span>{{ $t('contractApplyAuditHistoryOrders.title') }}</span> | ||
| 6 | + </div> | ||
| 7 | + | ||
| 8 | + <el-table v-loading="loading" :data="contractApplyAuditOrdersInfo.contractApplyAuditOrders" border | ||
| 9 | + style="width: 100%"> | ||
| 10 | + <el-table-column prop="contractCode" :label="$t('contractApplyAuditHistoryOrders.contractCode')" | ||
| 11 | + align="center" /> | ||
| 12 | + <el-table-column prop="contractName" :label="$t('contractApplyAuditHistoryOrders.contractName')" | ||
| 13 | + align="center" /> | ||
| 14 | + <el-table-column prop="contractTypeName" :label="$t('contractApplyAuditHistoryOrders.contractType')" | ||
| 15 | + align="center" /> | ||
| 16 | + <el-table-column prop="stateName" :label="$t('contractApplyAuditHistoryOrders.contractStatus')" | ||
| 17 | + align="center" /> | ||
| 18 | + <el-table-column prop="signingTime" :label="$t('contractApplyAuditHistoryOrders.createTime')" align="center" /> | ||
| 19 | + <el-table-column :label="$t('contractApplyAuditHistoryOrders.operation')" align="center" width="150"> | ||
| 20 | + <template slot-scope="scope"> | ||
| 21 | + <el-button size="mini" type="primary" @click="_openDetailPurchaseApplyModel(scope.row)"> | ||
| 22 | + {{ $t('contractApplyAuditHistoryOrders.view') }} | ||
| 23 | + </el-button> | ||
| 24 | + </template> | ||
| 25 | + </el-table-column> | ||
| 26 | + </el-table> | ||
| 27 | + | ||
| 28 | + <el-pagination :current-page.sync="page.current" :page-sizes="[10, 20, 30, 50]" :page-size="page.size" | ||
| 29 | + :total="page.total" layout="total, sizes, prev, pager, next, jumper" @size-change="handleSizeChange" | ||
| 30 | + @current-change="handleCurrentChange" /> | ||
| 31 | + </el-card> | ||
| 32 | + | ||
| 33 | + <!-- <audit-component ref="auditComponent" @notifyAudit="_auditOrderInfo" /> --> | ||
| 34 | + </div> | ||
| 35 | +</template> | ||
| 36 | + | ||
| 37 | +<script> | ||
| 38 | +import { queryContractHistoryTask } from '@/api/contract/contractApplyAuditHistoryOrdersApi' | ||
| 39 | +// import AuditComponent from '@/components/contract/audit' | ||
| 40 | + | ||
| 41 | +export default { | ||
| 42 | + name: 'ContractApplyAuditHistoryOrdersList', | ||
| 43 | + components: { | ||
| 44 | + //AuditComponent | ||
| 45 | + }, | ||
| 46 | + data() { | ||
| 47 | + return { | ||
| 48 | + loading: false, | ||
| 49 | + contractApplyAuditOrdersInfo: { | ||
| 50 | + contractApplyAuditOrders: [], | ||
| 51 | + conditions: { | ||
| 52 | + AuditOrdersId: '', | ||
| 53 | + userName: '', | ||
| 54 | + auditLink: '' | ||
| 55 | + } | ||
| 56 | + }, | ||
| 57 | + page: { | ||
| 58 | + current: 1, | ||
| 59 | + size: 10, | ||
| 60 | + total: 0 | ||
| 61 | + } | ||
| 62 | + } | ||
| 63 | + }, | ||
| 64 | + created() { | ||
| 65 | + this._listAuditOrders(this.page.current, this.page.size) | ||
| 66 | + }, | ||
| 67 | + methods: { | ||
| 68 | + async _listAuditOrders(page, size) { | ||
| 69 | + try { | ||
| 70 | + this.loading = true | ||
| 71 | + const params = { | ||
| 72 | + page, | ||
| 73 | + row: size, | ||
| 74 | + ...this.contractApplyAuditOrdersInfo.conditions | ||
| 75 | + } | ||
| 76 | + const { data, total } = await queryContractHistoryTask(params) | ||
| 77 | + this.contractApplyAuditOrdersInfo.contractApplyAuditOrders = data | ||
| 78 | + this.page.total = total | ||
| 79 | + } catch (error) { | ||
| 80 | + this.$message.error(this.$t('contractApplyAuditHistoryOrders.fetchError')) | ||
| 81 | + } finally { | ||
| 82 | + this.loading = false | ||
| 83 | + } | ||
| 84 | + }, | ||
| 85 | + _openDetailPurchaseApplyModel(auditOrder) { | ||
| 86 | + this.$router.push({ | ||
| 87 | + path: '/pages/common/contractApplyDetail', | ||
| 88 | + query: { contractId: auditOrder.contractId } | ||
| 89 | + }) | ||
| 90 | + }, | ||
| 91 | + _openAuditOrderModel(auditOrder) { | ||
| 92 | + this.contractApplyAuditOrdersInfo.orderInfo = auditOrder | ||
| 93 | + this.$refs.auditComponent.open() | ||
| 94 | + }, | ||
| 95 | + _auditOrderInfo(auditInfo) { | ||
| 96 | + // 处理审核信息 | ||
| 97 | + console.log(auditInfo) | ||
| 98 | + }, | ||
| 99 | + handleSizeChange(val) { | ||
| 100 | + this.page.size = val | ||
| 101 | + this._listAuditOrders(this.page.current, val) | ||
| 102 | + }, | ||
| 103 | + handleCurrentChange(val) { | ||
| 104 | + this._listAuditOrders(val, this.page.size) | ||
| 105 | + } | ||
| 106 | + } | ||
| 107 | +} | ||
| 108 | +</script> | ||
| 109 | + | ||
| 110 | +<style lang="scss" scoped> | ||
| 111 | +.contract-apply-audit-history-orders-container { | ||
| 112 | + padding: 20px; | ||
| 113 | + | ||
| 114 | + .box-card { | ||
| 115 | + margin-bottom: 20px; | ||
| 116 | + } | ||
| 117 | + | ||
| 118 | + .el-pagination { | ||
| 119 | + margin-top: 20px; | ||
| 120 | + text-align: right; | ||
| 121 | + } | ||
| 122 | +} | ||
| 123 | +</style> | ||
| 0 | \ No newline at end of file | 124 | \ No newline at end of file |
src/views/contract/contractChangeAuditHistoryOrdersLang.js
0 → 100644
| 1 | +export const messages = { | ||
| 2 | + en: { | ||
| 3 | + contractChangeAuditHistoryOrders: { | ||
| 4 | + title: 'Change Processed Orders', | ||
| 5 | + contractCode: 'Contract Number', | ||
| 6 | + contractName: 'Contract Name', | ||
| 7 | + contractTypeName: 'Contract Type', | ||
| 8 | + stateName: 'Contract Status', | ||
| 9 | + createTime: 'Creation Time', | ||
| 10 | + operation: 'Operation', | ||
| 11 | + view: 'View', | ||
| 12 | + fetchError: 'Failed to fetch contract change history' | ||
| 13 | + } | ||
| 14 | + }, | ||
| 15 | + zh: { | ||
| 16 | + contractChangeAuditHistoryOrders: { | ||
| 17 | + title: '变更已办单', | ||
| 18 | + contractCode: '合同编号', | ||
| 19 | + contractName: '合同名称', | ||
| 20 | + contractTypeName: '合同类型', | ||
| 21 | + stateName: '合同状态', | ||
| 22 | + createTime: '创建时间', | ||
| 23 | + operation: '操作', | ||
| 24 | + view: '查看', | ||
| 25 | + fetchError: '获取合同变更历史失败' | ||
| 26 | + } | ||
| 27 | + } | ||
| 28 | +} | ||
| 0 | \ No newline at end of file | 29 | \ No newline at end of file |
src/views/contract/contractChangeAuditHistoryOrdersList.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div class="contract-change-audit-history-orders-container animated fadeInRight"> | ||
| 3 | + <el-row> | ||
| 4 | + <el-col :span="24"> | ||
| 5 | + <el-card class="box-card"> | ||
| 6 | + <div slot="header" class="flex justify-between"> | ||
| 7 | + <span>{{ $t('contractChangeAuditHistoryOrders.title') }}</span> | ||
| 8 | + </div> | ||
| 9 | + <div class="table-wrapper"> | ||
| 10 | + <el-table v-loading="loading" :data="tableData" border style="width: 100%"> | ||
| 11 | + <el-table-column prop="contractCode" :label="$t('contractChangeAuditHistoryOrders.contractCode')" | ||
| 12 | + align="center" /> | ||
| 13 | + <el-table-column prop="contractName" :label="$t('contractChangeAuditHistoryOrders.contractName')" | ||
| 14 | + align="center" /> | ||
| 15 | + <el-table-column prop="contractTypeName" :label="$t('contractChangeAuditHistoryOrders.contractTypeName')" | ||
| 16 | + align="center" /> | ||
| 17 | + <el-table-column prop="stateName" :label="$t('contractChangeAuditHistoryOrders.stateName')" | ||
| 18 | + align="center" /> | ||
| 19 | + <el-table-column prop="createTime" :label="$t('contractChangeAuditHistoryOrders.createTime')" | ||
| 20 | + align="center" /> | ||
| 21 | + <el-table-column :label="$t('contractChangeAuditHistoryOrders.operation')" align="center" width="150"> | ||
| 22 | + <template slot-scope="scope"> | ||
| 23 | + <el-button size="mini" type="primary" @click="handleViewDetail(scope.row)"> | ||
| 24 | + {{ $t('contractChangeAuditHistoryOrders.view') }} | ||
| 25 | + </el-button> | ||
| 26 | + </template> | ||
| 27 | + </el-table-column> | ||
| 28 | + </el-table> | ||
| 29 | + | ||
| 30 | + <el-pagination :current-page.sync="page.current" :page-sizes="[10, 20, 30, 50]" :page-size="page.size" | ||
| 31 | + :total="page.total" layout="total, sizes, prev, pager, next, jumper" @size-change="handleSizeChange" | ||
| 32 | + @current-change="handleCurrentChange" /> | ||
| 33 | + </div> | ||
| 34 | + </el-card> | ||
| 35 | + </el-col> | ||
| 36 | + </el-row> | ||
| 37 | + </div> | ||
| 38 | +</template> | ||
| 39 | + | ||
| 40 | +<script> | ||
| 41 | +import { queryContractChangeHistoryTask } from '@/api/contract/contractChangeAuditHistoryOrdersApi' | ||
| 42 | + | ||
| 43 | +export default { | ||
| 44 | + name: 'ContractChangeAuditHistoryOrdersList', | ||
| 45 | + data() { | ||
| 46 | + return { | ||
| 47 | + loading: false, | ||
| 48 | + tableData: [], | ||
| 49 | + page: { | ||
| 50 | + current: 1, | ||
| 51 | + size: 10, | ||
| 52 | + total: 0 | ||
| 53 | + }, | ||
| 54 | + conditions: { | ||
| 55 | + AuditOrdersId: '', | ||
| 56 | + userName: '', | ||
| 57 | + auditLink: '' | ||
| 58 | + } | ||
| 59 | + } | ||
| 60 | + }, | ||
| 61 | + created() { | ||
| 62 | + this.getList() | ||
| 63 | + }, | ||
| 64 | + methods: { | ||
| 65 | + async getList() { | ||
| 66 | + try { | ||
| 67 | + this.loading = true | ||
| 68 | + const params = { | ||
| 69 | + page: this.page.current, | ||
| 70 | + row: this.page.size, | ||
| 71 | + ...this.conditions | ||
| 72 | + } | ||
| 73 | + const { data, total } = await queryContractChangeHistoryTask(params) | ||
| 74 | + this.tableData = data | ||
| 75 | + this.page.total = total | ||
| 76 | + } catch (error) { | ||
| 77 | + this.$message.error(this.$t('contractChangeAuditHistoryOrders.fetchError')) | ||
| 78 | + } finally { | ||
| 79 | + this.loading = false | ||
| 80 | + } | ||
| 81 | + }, | ||
| 82 | + handleSizeChange(val) { | ||
| 83 | + this.page.size = val | ||
| 84 | + this.getList() | ||
| 85 | + }, | ||
| 86 | + handleCurrentChange(val) { | ||
| 87 | + this.page.current = val | ||
| 88 | + this.getList() | ||
| 89 | + }, | ||
| 90 | + handleViewDetail(row) { | ||
| 91 | + this.$router.push({ | ||
| 92 | + path: '/pages/admin/contractChangeDetails', | ||
| 93 | + query: { planId: row.planId } | ||
| 94 | + }) | ||
| 95 | + } | ||
| 96 | + } | ||
| 97 | +} | ||
| 98 | +</script> | ||
| 99 | + | ||
| 100 | +<style lang="scss" scoped> | ||
| 101 | +.contract-change-audit-history-orders-container { | ||
| 102 | + padding: 20px; | ||
| 103 | + | ||
| 104 | + .box-card { | ||
| 105 | + margin-bottom: 20px; | ||
| 106 | + } | ||
| 107 | + | ||
| 108 | + .table-wrapper { | ||
| 109 | + margin-top: 20px; | ||
| 110 | + } | ||
| 111 | + | ||
| 112 | + .el-pagination { | ||
| 113 | + margin-top: 20px; | ||
| 114 | + text-align: right; | ||
| 115 | + } | ||
| 116 | +} | ||
| 117 | +</style> | ||
| 0 | \ No newline at end of file | 118 | \ No newline at end of file |
src/views/oa/doHistoryComplaintsLang.js
0 → 100644
| 1 | +export const messages = { | ||
| 2 | + en: { | ||
| 3 | + doHistoryComplaints: { | ||
| 4 | + title: 'Pending Complaint Orders', | ||
| 5 | + back: 'Back', | ||
| 6 | + refresh: 'Refresh', | ||
| 7 | + orderId: 'Order ID', | ||
| 8 | + complaintType: 'Complaint Type', | ||
| 9 | + house: 'House', | ||
| 10 | + complainer: 'Complainer', | ||
| 11 | + complaintPhone: 'Complaint Phone', | ||
| 12 | + complaintStatus: 'Complaint Status', | ||
| 13 | + createTime: 'Create Time', | ||
| 14 | + operation: 'Operation', | ||
| 15 | + detail: 'Detail', | ||
| 16 | + fetchError: 'Failed to fetch complaint data' | ||
| 17 | + } | ||
| 18 | + }, | ||
| 19 | + zh: { | ||
| 20 | + doHistoryComplaints: { | ||
| 21 | + title: '待办投诉单', | ||
| 22 | + back: '返回', | ||
| 23 | + refresh: '刷新', | ||
| 24 | + orderId: '订单编号', | ||
| 25 | + complaintType: '投诉类型', | ||
| 26 | + house: '房屋', | ||
| 27 | + complainer: '投诉人', | ||
| 28 | + complaintPhone: '投诉电话', | ||
| 29 | + complaintStatus: '投诉状态', | ||
| 30 | + createTime: '创建时间', | ||
| 31 | + operation: '操作', | ||
| 32 | + detail: '详情', | ||
| 33 | + fetchError: '获取投诉数据失败' | ||
| 34 | + } | ||
| 35 | + } | ||
| 36 | +} | ||
| 0 | \ No newline at end of file | 37 | \ No newline at end of file |
src/views/oa/doHistoryComplaintsList.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div class="do-history-complaints-container animated fadeInRight"> | ||
| 3 | + <el-card class="box-card"> | ||
| 4 | + <div slot="header" class="flex justify-between"> | ||
| 5 | + <span>{{ $t('doHistoryComplaints.title') }}</span> | ||
| 6 | + <div class="card-header-actions"> | ||
| 7 | + <el-button size="small" @click="handleGoBack">{{ $t('doHistoryComplaints.back') }}</el-button> | ||
| 8 | + <el-button type="primary" size="small" @click="queryAuditOrders">{{ $t('doHistoryComplaints.refresh') | ||
| 9 | + }}</el-button> | ||
| 10 | + </div> | ||
| 11 | + </div> | ||
| 12 | + | ||
| 13 | + <el-table v-loading="loading" :data="tableData" border style="width: 100%"> | ||
| 14 | + <el-table-column prop="complaintId" :label="$t('doHistoryComplaints.orderId')" align="center" /> | ||
| 15 | + <el-table-column prop="typeName" :label="$t('doHistoryComplaints.complaintType')" align="center" /> | ||
| 16 | + <el-table-column prop="roomName" :label="$t('doHistoryComplaints.house')" align="center" /> | ||
| 17 | + <el-table-column prop="complaintName" :label="$t('doHistoryComplaints.complainer')" align="center" /> | ||
| 18 | + <el-table-column prop="tel" :label="$t('doHistoryComplaints.complaintPhone')" align="center" /> | ||
| 19 | + <el-table-column prop="stateName" :label="$t('doHistoryComplaints.complaintStatus')" align="center" /> | ||
| 20 | + <el-table-column prop="createTime" :label="$t('doHistoryComplaints.createTime')" align="center" /> | ||
| 21 | + <el-table-column :label="$t('doHistoryComplaints.operation')" align="center" width="120"> | ||
| 22 | + <template slot-scope="scope"> | ||
| 23 | + <el-button size="mini" @click="openComplaintDetail(scope.row)"> | ||
| 24 | + {{ $t('doHistoryComplaints.detail') }} | ||
| 25 | + </el-button> | ||
| 26 | + </template> | ||
| 27 | + </el-table-column> | ||
| 28 | + </el-table> | ||
| 29 | + | ||
| 30 | + <el-pagination :current-page="pagination.current" :page-sizes="[10, 20, 30, 50]" :page-size="pagination.size" | ||
| 31 | + layout="total, sizes, prev, pager, next, jumper" :total="pagination.total" @size-change="handleSizeChange" | ||
| 32 | + @current-change="handleCurrentChange" /> | ||
| 33 | + </el-card> | ||
| 34 | + </div> | ||
| 35 | +</template> | ||
| 36 | + | ||
| 37 | +<script> | ||
| 38 | +import { listAuditHistoryComplaints } from '@/api/oa/doHistoryComplaintsApi' | ||
| 39 | +import { getCommunityId } from '@/api/community/communityApi' | ||
| 40 | + | ||
| 41 | +export default { | ||
| 42 | + name: 'DoHistoryComplaintsList', | ||
| 43 | + data() { | ||
| 44 | + return { | ||
| 45 | + loading: false, | ||
| 46 | + tableData: [], | ||
| 47 | + pagination: { | ||
| 48 | + current: 1, | ||
| 49 | + size: 10, | ||
| 50 | + total: 0 | ||
| 51 | + }, | ||
| 52 | + communityId: '' | ||
| 53 | + } | ||
| 54 | + }, | ||
| 55 | + created() { | ||
| 56 | + this.communityId = getCommunityId() | ||
| 57 | + this.getList() | ||
| 58 | + }, | ||
| 59 | + methods: { | ||
| 60 | + async getList() { | ||
| 61 | + try { | ||
| 62 | + this.loading = true | ||
| 63 | + const params = { | ||
| 64 | + page: this.pagination.current, | ||
| 65 | + row: this.pagination.size, | ||
| 66 | + communityId: this.communityId | ||
| 67 | + } | ||
| 68 | + const { data, total } = await listAuditHistoryComplaints(params) | ||
| 69 | + this.tableData = data | ||
| 70 | + this.pagination.total = total | ||
| 71 | + } catch (error) { | ||
| 72 | + this.$message.error(this.$t('doHistoryComplaints.fetchError')) | ||
| 73 | + } finally { | ||
| 74 | + this.loading = false | ||
| 75 | + } | ||
| 76 | + }, | ||
| 77 | + queryAuditOrders() { | ||
| 78 | + this.pagination.current = 1 | ||
| 79 | + this.getList() | ||
| 80 | + }, | ||
| 81 | + handleGoBack() { | ||
| 82 | + this.$router.go(-1) | ||
| 83 | + }, | ||
| 84 | + openComplaintDetail(complaint) { | ||
| 85 | + this.$router.push({ | ||
| 86 | + path: '/pages/complaint/complaintDetail', | ||
| 87 | + query: { complaintId: complaint.complaintId } | ||
| 88 | + }) | ||
| 89 | + }, | ||
| 90 | + handleSizeChange(val) { | ||
| 91 | + this.pagination.size = val | ||
| 92 | + this.getList() | ||
| 93 | + }, | ||
| 94 | + handleCurrentChange(val) { | ||
| 95 | + this.pagination.current = val | ||
| 96 | + this.getList() | ||
| 97 | + } | ||
| 98 | + } | ||
| 99 | +} | ||
| 100 | +</script> | ||
| 101 | + | ||
| 102 | +<style lang="scss" scoped> | ||
| 103 | +.do-history-complaints-container { | ||
| 104 | + padding: 20px; | ||
| 105 | + | ||
| 106 | + .box-card { | ||
| 107 | + margin-bottom: 20px; | ||
| 108 | + } | ||
| 109 | + | ||
| 110 | + .card-header-actions { | ||
| 111 | + float: right; | ||
| 112 | + display: flex; | ||
| 113 | + gap: 10px; | ||
| 114 | + } | ||
| 115 | + | ||
| 116 | + .el-pagination { | ||
| 117 | + margin-top: 20px; | ||
| 118 | + text-align: right; | ||
| 119 | + } | ||
| 120 | +} | ||
| 121 | +</style> | ||
| 0 | \ No newline at end of file | 122 | \ No newline at end of file |
src/views/oa/visitFinishLang.js
0 → 100644
| 1 | +export const messages = { | ||
| 2 | + en: { | ||
| 3 | + visitFinish: { | ||
| 4 | + title: 'Visitor Finished Orders', | ||
| 5 | + back: 'Back', | ||
| 6 | + refresh: 'Refresh', | ||
| 7 | + visitorId: 'Visitor ID', | ||
| 8 | + visitor: 'Visitor', | ||
| 9 | + ownerName: 'Owner Name', | ||
| 10 | + visitReason: 'Visit Reason/Type', | ||
| 11 | + carNumber: 'Car Number', | ||
| 12 | + entourage: 'Entourage', | ||
| 13 | + createTime: 'Create Time', | ||
| 14 | + visitTime: 'Visit/Departure Time', | ||
| 15 | + status: 'Status', | ||
| 16 | + operation: 'Operation', | ||
| 17 | + detail: 'Detail', | ||
| 18 | + male: 'Male', | ||
| 19 | + female: 'Female', | ||
| 20 | + happyEvent: 'Happy Event', | ||
| 21 | + funeral: 'Funeral', | ||
| 22 | + other: 'Other', | ||
| 23 | + fetchError: 'Failed to fetch visitor data' | ||
| 24 | + } | ||
| 25 | + }, | ||
| 26 | + zh: { | ||
| 27 | + visitFinish: { | ||
| 28 | + title: '访客已办单', | ||
| 29 | + back: '返回', | ||
| 30 | + refresh: '刷新', | ||
| 31 | + visitorId: '访客ID', | ||
| 32 | + visitor: '访客', | ||
| 33 | + ownerName: '业主姓名', | ||
| 34 | + visitReason: '来访事由/类型', | ||
| 35 | + carNumber: '车牌号', | ||
| 36 | + entourage: '随行人数', | ||
| 37 | + createTime: '创建时间', | ||
| 38 | + visitTime: '来访/离开时间', | ||
| 39 | + status: '状态', | ||
| 40 | + operation: '操作', | ||
| 41 | + detail: '详情', | ||
| 42 | + male: '男', | ||
| 43 | + female: '女', | ||
| 44 | + happyEvent: '喜事', | ||
| 45 | + funeral: '白事', | ||
| 46 | + other: '其他', | ||
| 47 | + fetchError: '获取访客数据失败' | ||
| 48 | + } | ||
| 49 | + } | ||
| 50 | +} | ||
| 0 | \ No newline at end of file | 51 | \ No newline at end of file |
src/views/oa/visitFinishList.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div class="animated fadeInRight ecommerce"> | ||
| 3 | + <el-row> | ||
| 4 | + <el-col :span="24"> | ||
| 5 | + <el-card> | ||
| 6 | + <div slot="header" class="flex justify-between"> | ||
| 7 | + <span>{{ $t('visitFinish.title') }}</span> | ||
| 8 | + <div class="ibox-tools" style="float: right;"> | ||
| 9 | + <el-button size="small" @click="goBack">{{ $t('visitFinish.back') }}</el-button> | ||
| 10 | + <el-button type="primary" size="small" @click="_queryFinishOrdersMethod">{{ $t('visitFinish.refresh') | ||
| 11 | + }}</el-button> | ||
| 12 | + </div> | ||
| 13 | + </div> | ||
| 14 | + | ||
| 15 | + <el-table v-loading="loading" :data="visitFinishInfo.finishs" border style="width: 100%"> | ||
| 16 | + <el-table-column prop="vId" :label="$t('visitFinish.visitorId')" align="center" width="120"> | ||
| 17 | + </el-table-column> | ||
| 18 | + <el-table-column :label="$t('visitFinish.visitor')" align="center"> | ||
| 19 | + <template slot-scope="scope"> | ||
| 20 | + {{ scope.row.vName }}({{ scope.row.phoneNumber }})/{{ scope.row.visitGender == '0' ? $t('visitFinish.male') : $t('visitFinish.female') }} | ||
| 21 | + </template> | ||
| 22 | + </el-table-column> | ||
| 23 | + <el-table-column prop="ownerName" :label="$t('visitFinish.ownerName')" align="center"> | ||
| 24 | + </el-table-column> | ||
| 25 | + <el-table-column :label="$t('visitFinish.visitReason')" align="center"> | ||
| 26 | + <template slot-scope="scope"> | ||
| 27 | + {{ scope.row.visitCase }}({{ scope.row.reasonType == 0 ? $t('visitFinish.happyEvent') : | ||
| 28 | + scope.row.reasonType == 1 ? $t('visitFinish.funeral') : | ||
| 29 | + scope.row.reasonType == 2 ? $t('visitFinish.other') : '-' }}) | ||
| 30 | + </template> | ||
| 31 | + </el-table-column> | ||
| 32 | + <el-table-column prop="carNum" :label="$t('visitFinish.carNumber')" align="center"> | ||
| 33 | + </el-table-column> | ||
| 34 | + <el-table-column prop="entourage" :label="$t('visitFinish.entourage')" align="center"> | ||
| 35 | + </el-table-column> | ||
| 36 | + <el-table-column prop="createTime" :label="$t('visitFinish.createTime')" align="center"> | ||
| 37 | + </el-table-column> | ||
| 38 | + <el-table-column :label="$t('visitFinish.visitTime')" align="center"> | ||
| 39 | + <template slot-scope="scope"> | ||
| 40 | + {{ scope.row.visitTime }}<br />{{ scope.row.departureTime }} | ||
| 41 | + </template> | ||
| 42 | + </el-table-column> | ||
| 43 | + <el-table-column prop="stateName" :label="$t('visitFinish.status')" align="center"> | ||
| 44 | + </el-table-column> | ||
| 45 | + <el-table-column :label="$t('visitFinish.operation')" align="center" width="120"> | ||
| 46 | + <template slot-scope="scope"> | ||
| 47 | + <el-button size="mini" @click="_openDetail(scope.row)">{{ $t('visitFinish.detail') }} | ||
| 48 | + </el-button> | ||
| 49 | + </template> | ||
| 50 | + </el-table-column> | ||
| 51 | + </el-table> | ||
| 52 | + | ||
| 53 | + <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" | ||
| 54 | + :current-page="page.current" :page-sizes="[10, 20, 30, 50]" :page-size="page.size" | ||
| 55 | + layout="total, sizes, prev, pager, next, jumper" :total="page.total"> | ||
| 56 | + </el-pagination> | ||
| 57 | + </el-card> | ||
| 58 | + </el-col> | ||
| 59 | + </el-row> | ||
| 60 | + </div> | ||
| 61 | +</template> | ||
| 62 | + | ||
| 63 | +<script> | ||
| 64 | +import { queryFinishVisit } from '@/api/oa/visitFinishApi' | ||
| 65 | + | ||
| 66 | +export default { | ||
| 67 | + name: 'VisitFinishList', | ||
| 68 | + data() { | ||
| 69 | + return { | ||
| 70 | + loading: false, | ||
| 71 | + visitFinishInfo: { | ||
| 72 | + finishs: [], | ||
| 73 | + conditions: { | ||
| 74 | + vId: '', | ||
| 75 | + userName: '', | ||
| 76 | + auditLink: '' | ||
| 77 | + } | ||
| 78 | + }, | ||
| 79 | + page: { | ||
| 80 | + current: 1, | ||
| 81 | + size: 10, | ||
| 82 | + total: 0 | ||
| 83 | + } | ||
| 84 | + } | ||
| 85 | + }, | ||
| 86 | + created() { | ||
| 87 | + this._listFinishOrders(this.page.current, this.page.size) | ||
| 88 | + }, | ||
| 89 | + methods: { | ||
| 90 | + async _listFinishOrders(page, size) { | ||
| 91 | + try { | ||
| 92 | + this.loading = true | ||
| 93 | + const params = { | ||
| 94 | + page: page, | ||
| 95 | + row: size, | ||
| 96 | + ...this.visitFinishInfo.conditions | ||
| 97 | + } | ||
| 98 | + const { data, total } = await queryFinishVisit(params) | ||
| 99 | + this.visitFinishInfo.finishs = data | ||
| 100 | + this.page.total = total | ||
| 101 | + } catch (error) { | ||
| 102 | + this.$message.error(this.$t('visitFinish.fetchError')) | ||
| 103 | + } finally { | ||
| 104 | + this.loading = false | ||
| 105 | + } | ||
| 106 | + }, | ||
| 107 | + _queryFinishOrdersMethod() { | ||
| 108 | + this.page.current = 1 | ||
| 109 | + this._listFinishOrders(this.page.current, this.page.size) | ||
| 110 | + }, | ||
| 111 | + _openDetail(item) { | ||
| 112 | + this.$router.push({ | ||
| 113 | + path: '/pages/property/visitDetail', | ||
| 114 | + query: { | ||
| 115 | + vId: item.vId, | ||
| 116 | + flowId: item.flowId | ||
| 117 | + } | ||
| 118 | + }) | ||
| 119 | + }, | ||
| 120 | + goBack() { | ||
| 121 | + this.$router.go(-1) | ||
| 122 | + }, | ||
| 123 | + handleSizeChange(val) { | ||
| 124 | + this.page.size = val | ||
| 125 | + this._listFinishOrders(this.page.current, val) | ||
| 126 | + }, | ||
| 127 | + handleCurrentChange(val) { | ||
| 128 | + this.page.current = val | ||
| 129 | + this._listFinishOrders(val, this.page.size) | ||
| 130 | + } | ||
| 131 | + } | ||
| 132 | +} | ||
| 133 | +</script> | ||
| 134 | + | ||
| 135 | +<style scoped> | ||
| 136 | +.ibox-tools { | ||
| 137 | + display: inline-block; | ||
| 138 | + float: right; | ||
| 139 | + margin-top: 0; | ||
| 140 | + position: relative; | ||
| 141 | + padding: 0; | ||
| 142 | +} | ||
| 143 | + | ||
| 144 | +.clearfix:before, | ||
| 145 | +.clearfix:after { | ||
| 146 | + display: table; | ||
| 147 | + content: ""; | ||
| 148 | +} | ||
| 149 | + | ||
| 150 | +.clearfix:after { | ||
| 151 | + clear: both | ||
| 152 | +} | ||
| 153 | +</style> | ||
| 0 | \ No newline at end of file | 154 | \ No newline at end of file |
src/views/resource/allocationStorehouseHistoryAuditOrdersLang.js
0 → 100644
| 1 | +export const messages = { | ||
| 2 | + en: { | ||
| 3 | + allocationStorehouseHistoryAuditOrders: { | ||
| 4 | + title: 'Allocation History Audit Orders', | ||
| 5 | + back: 'Back', | ||
| 6 | + refresh: 'Refresh', | ||
| 7 | + allocationNumber: 'Allocation Number', | ||
| 8 | + allocationCount: 'Allocation Count', | ||
| 9 | + applicant: 'Applicant', | ||
| 10 | + status: 'Status', | ||
| 11 | + time: 'Time', | ||
| 12 | + operation: 'Operation', | ||
| 13 | + detail: 'Detail', | ||
| 14 | + fetchError: 'Failed to fetch allocation history audit orders' | ||
| 15 | + } | ||
| 16 | + }, | ||
| 17 | + zh: { | ||
| 18 | + allocationStorehouseHistoryAuditOrders: { | ||
| 19 | + title: '调拨已办单', | ||
| 20 | + back: '返回', | ||
| 21 | + refresh: '刷新', | ||
| 22 | + allocationNumber: '调拨编号', | ||
| 23 | + allocationCount: '调拨数量', | ||
| 24 | + applicant: '申请人', | ||
| 25 | + status: '状态', | ||
| 26 | + time: '时间', | ||
| 27 | + operation: '操作', | ||
| 28 | + detail: '详情', | ||
| 29 | + fetchError: '获取调拨已办单失败' | ||
| 30 | + } | ||
| 31 | + } | ||
| 32 | +} | ||
| 0 | \ No newline at end of file | 33 | \ No newline at end of file |
src/views/resource/allocationStorehouseHistoryAuditOrdersList.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div class="allocation-storehouse-history-audit-orders-container animated fadeInRight"> | ||
| 3 | + <el-card class="box-card"> | ||
| 4 | + <div slot="header" class="flex justify-between"> | ||
| 5 | + <span>{{ $t('allocationStorehouseHistoryAuditOrders.title') }}</span> | ||
| 6 | + <div class="header-buttons"> | ||
| 7 | + <el-button type="primary" size="small" @click="goBack"> | ||
| 8 | + <i class="el-icon-close"></i> | ||
| 9 | + {{ $t('allocationStorehouseHistoryAuditOrders.back') }} | ||
| 10 | + </el-button> | ||
| 11 | + <el-button type="primary" size="small" @click="queryAuditOrders"> | ||
| 12 | + <i class="el-icon-refresh"></i> | ||
| 13 | + {{ $t('allocationStorehouseHistoryAuditOrders.refresh') }} | ||
| 14 | + </el-button> | ||
| 15 | + </div> | ||
| 16 | + </div> | ||
| 17 | + | ||
| 18 | + <el-table | ||
| 19 | + v-loading="loading" | ||
| 20 | + :data="auditOrders" | ||
| 21 | + border | ||
| 22 | + style="width: 100%" | ||
| 23 | + class="table-wrapper" | ||
| 24 | + > | ||
| 25 | + <el-table-column | ||
| 26 | + prop="applyId" | ||
| 27 | + :label="$t('allocationStorehouseHistoryAuditOrders.allocationNumber')" | ||
| 28 | + align="center" | ||
| 29 | + /> | ||
| 30 | + <el-table-column | ||
| 31 | + prop="applyCount" | ||
| 32 | + :label="$t('allocationStorehouseHistoryAuditOrders.allocationCount')" | ||
| 33 | + align="center" | ||
| 34 | + /> | ||
| 35 | + <el-table-column | ||
| 36 | + prop="startUserName" | ||
| 37 | + :label="$t('allocationStorehouseHistoryAuditOrders.applicant')" | ||
| 38 | + align="center" | ||
| 39 | + /> | ||
| 40 | + <el-table-column | ||
| 41 | + prop="stateName" | ||
| 42 | + :label="$t('allocationStorehouseHistoryAuditOrders.status')" | ||
| 43 | + align="center" | ||
| 44 | + /> | ||
| 45 | + <el-table-column | ||
| 46 | + prop="createTime" | ||
| 47 | + :label="$t('allocationStorehouseHistoryAuditOrders.time')" | ||
| 48 | + align="center" | ||
| 49 | + /> | ||
| 50 | + <el-table-column | ||
| 51 | + :label="$t('allocationStorehouseHistoryAuditOrders.operation')" | ||
| 52 | + align="center" | ||
| 53 | + width="120" | ||
| 54 | + > | ||
| 55 | + <template slot-scope="scope"> | ||
| 56 | + <el-button | ||
| 57 | + type="text" | ||
| 58 | + size="small" | ||
| 59 | + @click="toDetail(scope.row)" | ||
| 60 | + > | ||
| 61 | + {{ $t('allocationStorehouseHistoryAuditOrders.detail') }} | ||
| 62 | + </el-button> | ||
| 63 | + </template> | ||
| 64 | + </el-table-column> | ||
| 65 | + </el-table> | ||
| 66 | + | ||
| 67 | + <el-pagination | ||
| 68 | + :current-page.sync="page.current" | ||
| 69 | + :page-sizes="[10, 20, 30, 50]" | ||
| 70 | + :page-size="page.size" | ||
| 71 | + :total="page.total" | ||
| 72 | + layout="total, sizes, prev, pager, next, jumper" | ||
| 73 | + @size-change="handleSizeChange" | ||
| 74 | + @current-change="handleCurrentChange" | ||
| 75 | + class="pagination-wrapper" | ||
| 76 | + /> | ||
| 77 | + </el-card> | ||
| 78 | + </div> | ||
| 79 | +</template> | ||
| 80 | + | ||
| 81 | +<script> | ||
| 82 | +import { listAllocationStoreHisAuditOrders } from '@/api/resource/allocationStorehouseHistoryAuditOrdersApi' | ||
| 83 | +import { getCommunityId } from '@/api/community/communityApi' | ||
| 84 | + | ||
| 85 | +export default { | ||
| 86 | + name: 'AllocationStorehouseHistoryAuditOrdersList', | ||
| 87 | + data() { | ||
| 88 | + return { | ||
| 89 | + loading: false, | ||
| 90 | + auditOrders: [], | ||
| 91 | + page: { | ||
| 92 | + current: 1, | ||
| 93 | + size: 10, | ||
| 94 | + total: 0 | ||
| 95 | + }, | ||
| 96 | + conditions: { | ||
| 97 | + auditOrdersId: '', | ||
| 98 | + userName: '', | ||
| 99 | + auditLink: '' | ||
| 100 | + }, | ||
| 101 | + communityId: '' | ||
| 102 | + } | ||
| 103 | + }, | ||
| 104 | + created() { | ||
| 105 | + this.communityId = getCommunityId() | ||
| 106 | + this.listAuditOrders() | ||
| 107 | + }, | ||
| 108 | + methods: { | ||
| 109 | + async listAuditOrders() { | ||
| 110 | + try { | ||
| 111 | + this.loading = true | ||
| 112 | + const params = { | ||
| 113 | + page: this.page.current, | ||
| 114 | + row: this.page.size, | ||
| 115 | + communityId: this.communityId, | ||
| 116 | + ...this.conditions | ||
| 117 | + } | ||
| 118 | + const { data, total } = await listAllocationStoreHisAuditOrders(params) | ||
| 119 | + this.auditOrders = data | ||
| 120 | + this.page.total = total | ||
| 121 | + } catch (error) { | ||
| 122 | + this.$message.error(this.$t('allocationStorehouseHistoryAuditOrders.fetchError')) | ||
| 123 | + } finally { | ||
| 124 | + this.loading = false | ||
| 125 | + } | ||
| 126 | + }, | ||
| 127 | + queryAuditOrders() { | ||
| 128 | + this.page.current = 1 | ||
| 129 | + this.listAuditOrders() | ||
| 130 | + }, | ||
| 131 | + toDetail(item) { | ||
| 132 | + this.$router.push({ | ||
| 133 | + path: '/pages/common/allocationStorehouseDetail', | ||
| 134 | + query: { applyId: item.applyId } | ||
| 135 | + }) | ||
| 136 | + }, | ||
| 137 | + goBack() { | ||
| 138 | + this.$router.go(-1) | ||
| 139 | + }, | ||
| 140 | + handleSizeChange(val) { | ||
| 141 | + this.page.size = val | ||
| 142 | + this.listAuditOrders() | ||
| 143 | + }, | ||
| 144 | + handleCurrentChange(val) { | ||
| 145 | + this.page.current = val | ||
| 146 | + this.listAuditOrders() | ||
| 147 | + } | ||
| 148 | + } | ||
| 149 | +} | ||
| 150 | +</script> | ||
| 151 | + | ||
| 152 | +<style lang="scss" scoped> | ||
| 153 | +.allocation-storehouse-history-audit-orders-container { | ||
| 154 | + padding: 20px; | ||
| 155 | + | ||
| 156 | + .box-card { | ||
| 157 | + margin-bottom: 20px; | ||
| 158 | + } | ||
| 159 | + | ||
| 160 | + .header-buttons { | ||
| 161 | + float: right; | ||
| 162 | + margin-top: -5px; | ||
| 163 | + } | ||
| 164 | + | ||
| 165 | + .table-wrapper { | ||
| 166 | + margin-top: 20px; | ||
| 167 | + } | ||
| 168 | + | ||
| 169 | + .pagination-wrapper { | ||
| 170 | + margin-top: 20px; | ||
| 171 | + text-align: right; | ||
| 172 | + } | ||
| 173 | +} | ||
| 174 | +</style> | ||
| 0 | \ No newline at end of file | 175 | \ No newline at end of file |
src/views/resource/itemReleaseFinishLang.js
0 → 100644
| 1 | +export const messages = { | ||
| 2 | + en: { | ||
| 3 | + itemReleaseFinish: { | ||
| 4 | + title: 'Finished Release Orders', | ||
| 5 | + back: 'Back', | ||
| 6 | + refresh: 'Refresh', | ||
| 7 | + orderNo: 'Order No', | ||
| 8 | + releaseType: 'Release Type', | ||
| 9 | + applyUnit: 'Apply Unit', | ||
| 10 | + applicant: 'Applicant', | ||
| 11 | + idCard: 'ID Card', | ||
| 12 | + phone: 'Phone', | ||
| 13 | + passTime: 'Pass Time', | ||
| 14 | + items: 'Items', | ||
| 15 | + viewItems: 'View Items', | ||
| 16 | + status: 'Status', | ||
| 17 | + plateNo: 'Plate No', | ||
| 18 | + none: 'None', | ||
| 19 | + operation: 'Operation', | ||
| 20 | + detail: 'Detail', | ||
| 21 | + fetchError: 'Failed to fetch data' | ||
| 22 | + }, | ||
| 23 | + }, | ||
| 24 | + zh: { | ||
| 25 | + itemReleaseFinish: { | ||
| 26 | + title: '放行已办单', | ||
| 27 | + back: '返回', | ||
| 28 | + refresh: '刷新', | ||
| 29 | + orderNo: '单号', | ||
| 30 | + releaseType: '放行类型', | ||
| 31 | + applyUnit: '申请单位', | ||
| 32 | + applicant: '申请人', | ||
| 33 | + idCard: '身份证', | ||
| 34 | + phone: '手机号', | ||
| 35 | + passTime: '通行时间', | ||
| 36 | + items: '物品', | ||
| 37 | + viewItems: '查看物品', | ||
| 38 | + status: '状态', | ||
| 39 | + plateNo: '车牌号', | ||
| 40 | + none: '无', | ||
| 41 | + operation: '操作', | ||
| 42 | + detail: '详情', | ||
| 43 | + fetchError: '获取数据失败' | ||
| 44 | + }, | ||
| 45 | + } | ||
| 46 | +} | ||
| 0 | \ No newline at end of file | 47 | \ No newline at end of file |
src/views/resource/itemReleaseFinishList.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div class="animated fadeInRight ecommerce"> | ||
| 3 | + <el-row> | ||
| 4 | + <el-col :span="24"> | ||
| 5 | + <el-card> | ||
| 6 | + <div slot="header" class="flex justify-between"> | ||
| 7 | + <span>{{ $t('itemReleaseFinish.title') }}</span> | ||
| 8 | + <div style="float: right;"> | ||
| 9 | + <el-button size="small" @click="goBack()"> | ||
| 10 | + {{ $t('itemReleaseFinish.back') }} | ||
| 11 | + </el-button> | ||
| 12 | + <el-button type="primary" size="small" @click="_queryUndoOrdersMethod()"> | ||
| 13 | + {{ $t('itemReleaseFinish.refresh') }} | ||
| 14 | + </el-button> | ||
| 15 | + </div> | ||
| 16 | + </div> | ||
| 17 | + | ||
| 18 | + <el-table :data="itemReleaseFinishInfo.finishs" border style="width: 100%" v-loading="loading"> | ||
| 19 | + <el-table-column prop="irId" :label="$t('itemReleaseFinish.orderNo')" align="center" /> | ||
| 20 | + <el-table-column prop="typeName" :label="$t('itemReleaseFinish.releaseType')" align="center" /> | ||
| 21 | + <el-table-column prop="applyCompany" :label="$t('itemReleaseFinish.applyUnit')" align="center" /> | ||
| 22 | + <el-table-column prop="applyPerson" :label="$t('itemReleaseFinish.applicant')" align="center" /> | ||
| 23 | + <el-table-column prop="idCard" :label="$t('itemReleaseFinish.idCard')" align="center" /> | ||
| 24 | + <el-table-column prop="applyTel" :label="$t('itemReleaseFinish.phone')" align="center" /> | ||
| 25 | + <el-table-column prop="passTime" :label="$t('itemReleaseFinish.passTime')" align="center" /> | ||
| 26 | + <el-table-column :label="$t('itemReleaseFinish.items')" align="center"> | ||
| 27 | + <template slot-scope="scope"> | ||
| 28 | + {{ scope.row.amount }}(<el-link type="primary" @click="viewResName(scope.row)"> | ||
| 29 | + {{ $t('itemReleaseFinish.viewItems') }} | ||
| 30 | + </el-link>) | ||
| 31 | + </template> | ||
| 32 | + </el-table-column> | ||
| 33 | + <el-table-column prop="stateName" :label="$t('itemReleaseFinish.status')" align="center" /> | ||
| 34 | + <el-table-column prop="carNum" :label="$t('itemReleaseFinish.plateNo')" align="center"> | ||
| 35 | + <template slot-scope="scope"> | ||
| 36 | + {{ scope.row.carNum || $t('itemReleaseFinish.none') }} | ||
| 37 | + </template> | ||
| 38 | + </el-table-column> | ||
| 39 | + <el-table-column :label="$t('itemReleaseFinish.operation')" align="center" width="120"> | ||
| 40 | + <template slot-scope="scope"> | ||
| 41 | + <el-button size="mini" @click="_openDetail(scope.row)"> | ||
| 42 | + {{ $t('itemReleaseFinish.detail') }} | ||
| 43 | + </el-button> | ||
| 44 | + </template> | ||
| 45 | + </el-table-column> | ||
| 46 | + </el-table> | ||
| 47 | + | ||
| 48 | + <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" | ||
| 49 | + :current-page="page.current" :page-sizes="[10, 20, 30, 50]" :page-size="page.size" | ||
| 50 | + layout="total, sizes, prev, pager, next, jumper" :total="page.total" style="margin-top: 20px;" /> | ||
| 51 | + </el-card> | ||
| 52 | + </el-col> | ||
| 53 | + </el-row> | ||
| 54 | + | ||
| 55 | + <view-item-release-res ref="viewItemReleaseRes" /> | ||
| 56 | + </div> | ||
| 57 | +</template> | ||
| 58 | + | ||
| 59 | +<script> | ||
| 60 | +import { queryFinishItemRelease } from '@/api/resource/itemReleaseFinishApi' | ||
| 61 | +import ViewItemReleaseRes from '@/components/work/viewItemReleaseRes' | ||
| 62 | +import { getCommunityId } from '@/api/community/communityApi' | ||
| 63 | + | ||
| 64 | +export default { | ||
| 65 | + name: 'ItemReleaseFinishList', | ||
| 66 | + components: { | ||
| 67 | + ViewItemReleaseRes | ||
| 68 | + }, | ||
| 69 | + data() { | ||
| 70 | + return { | ||
| 71 | + loading: false, | ||
| 72 | + itemReleaseFinishInfo: { | ||
| 73 | + finishs: [], | ||
| 74 | + conditions: { | ||
| 75 | + irId: '', | ||
| 76 | + userName: '', | ||
| 77 | + auditLink: '' | ||
| 78 | + } | ||
| 79 | + }, | ||
| 80 | + page: { | ||
| 81 | + current: 1, | ||
| 82 | + size: 10, | ||
| 83 | + total: 0 | ||
| 84 | + }, | ||
| 85 | + communityId: '' | ||
| 86 | + } | ||
| 87 | + }, | ||
| 88 | + created() { | ||
| 89 | + this.communityId = getCommunityId() | ||
| 90 | + this._listUndoOrders(this.page.current, this.page.size) | ||
| 91 | + }, | ||
| 92 | + methods: { | ||
| 93 | + async _listUndoOrders(page, size) { | ||
| 94 | + try { | ||
| 95 | + this.loading = true | ||
| 96 | + const params = { | ||
| 97 | + page, | ||
| 98 | + row: size, | ||
| 99 | + communityId: this.communityId, | ||
| 100 | + ...this.itemReleaseFinishInfo.conditions | ||
| 101 | + } | ||
| 102 | + const { data, total } = await queryFinishItemRelease(params) | ||
| 103 | + this.itemReleaseFinishInfo.finishs = data | ||
| 104 | + this.page.total = total | ||
| 105 | + } catch (error) { | ||
| 106 | + this.$message.error(this.$t('itemReleaseFinish.fetchError')) | ||
| 107 | + } finally { | ||
| 108 | + this.loading = false | ||
| 109 | + } | ||
| 110 | + }, | ||
| 111 | + _queryUndoOrdersMethod() { | ||
| 112 | + this.page.current = 1 | ||
| 113 | + this._listUndoOrders(this.page.current, this.page.size) | ||
| 114 | + }, | ||
| 115 | + _openDetail(item) { | ||
| 116 | + this.$router.push({ | ||
| 117 | + path: '/views/work/itemReleaseDetail', | ||
| 118 | + query: { | ||
| 119 | + irId: item.irId, | ||
| 120 | + flowId: item.flowId | ||
| 121 | + } | ||
| 122 | + }) | ||
| 123 | + }, | ||
| 124 | + viewResName(item) { | ||
| 125 | + this.$refs.viewItemReleaseRes.open(item) | ||
| 126 | + }, | ||
| 127 | + handleSizeChange(val) { | ||
| 128 | + this.page.size = val | ||
| 129 | + this._listUndoOrders(this.page.current, val) | ||
| 130 | + }, | ||
| 131 | + handleCurrentChange(val) { | ||
| 132 | + this.page.current = val | ||
| 133 | + this._listUndoOrders(val, this.page.size) | ||
| 134 | + } | ||
| 135 | + } | ||
| 136 | +} | ||
| 137 | +</script> | ||
| 138 | + | ||
| 139 | +<style scoped> | ||
| 140 | +.ecommerce { | ||
| 141 | + padding: 20px; | ||
| 142 | +} | ||
| 143 | +</style> | ||
| 0 | \ No newline at end of file | 144 | \ No newline at end of file |
src/views/resource/myAuditHistoryOrdersLang.js
0 → 100644
| 1 | +export const messages = { | ||
| 2 | + en: { | ||
| 3 | + myAuditHistoryOrders: { | ||
| 4 | + title: 'Purchase History Orders', | ||
| 5 | + back: 'Back', | ||
| 6 | + refresh: 'Refresh', | ||
| 7 | + orderNumber: 'Order Number', | ||
| 8 | + orderType: 'Order Type', | ||
| 9 | + orderStatus: 'Order Status', | ||
| 10 | + applicant: 'Applicant', | ||
| 11 | + createTime: 'Create Time', | ||
| 12 | + operation: 'Operation', | ||
| 13 | + view: 'View' | ||
| 14 | + } | ||
| 15 | + }, | ||
| 16 | + zh: { | ||
| 17 | + myAuditHistoryOrders: { | ||
| 18 | + title: '采购已办单', | ||
| 19 | + back: '返回', | ||
| 20 | + refresh: '刷新', | ||
| 21 | + orderNumber: '订单号', | ||
| 22 | + orderType: '订单类型', | ||
| 23 | + orderStatus: '订单状态', | ||
| 24 | + applicant: '申请人', | ||
| 25 | + createTime: '创建时间', | ||
| 26 | + operation: '操作', | ||
| 27 | + view: '查看' | ||
| 28 | + } | ||
| 29 | + } | ||
| 30 | +} | ||
| 0 | \ No newline at end of file | 31 | \ No newline at end of file |
src/views/resource/myAuditHistoryOrdersList.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div class="my-audit-history-orders animated fadeInRight"> | ||
| 3 | + <el-card class="box-card"> | ||
| 4 | + <div slot="header" class="flex justify-between"> | ||
| 5 | + <span>{{ $t('myAuditHistoryOrders.title') }}</span> | ||
| 6 | + <div class="header-buttons"> | ||
| 7 | + <el-button type="primary" size="small" @click="goBack()"> | ||
| 8 | + <i class="el-icon-close"></i> | ||
| 9 | + {{ $t('myAuditHistoryOrders.back') }} | ||
| 10 | + </el-button> | ||
| 11 | + <el-button type="primary" size="small" @click="_queryHistory"> | ||
| 12 | + <i class="el-icon-refresh"></i> | ||
| 13 | + {{ $t('myAuditHistoryOrders.refresh') }} | ||
| 14 | + </el-button> | ||
| 15 | + </div> | ||
| 16 | + </div> | ||
| 17 | + | ||
| 18 | + <el-table :data="auditOrderHistorysInfo.auditOrderHistorys" border style="width: 100%" v-loading="loading"> | ||
| 19 | + <el-table-column prop="applyOrderId" :label="$t('myAuditHistoryOrders.orderNumber')" align="center" /> | ||
| 20 | + <el-table-column prop="resOrderTypeName" :label="$t('myAuditHistoryOrders.orderType')" align="center" /> | ||
| 21 | + <el-table-column prop="stateName" :label="$t('myAuditHistoryOrders.orderStatus')" align="center" /> | ||
| 22 | + <el-table-column prop="userName" :label="$t('myAuditHistoryOrders.applicant')" align="center" /> | ||
| 23 | + <el-table-column prop="createTime" :label="$t('myAuditHistoryOrders.createTime')" align="center" /> | ||
| 24 | + <el-table-column :label="$t('myAuditHistoryOrders.operation')" align="center" width="150"> | ||
| 25 | + <template slot-scope="scope"> | ||
| 26 | + <el-button size="mini" @click="_openDetailPurchaseApplyModel(scope.row)"> | ||
| 27 | + {{ $t('myAuditHistoryOrders.view') }} | ||
| 28 | + </el-button> | ||
| 29 | + </template> | ||
| 30 | + </el-table-column> | ||
| 31 | + </el-table> | ||
| 32 | + | ||
| 33 | + <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage" | ||
| 34 | + :page-sizes="[10, 20, 30, 50]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" | ||
| 35 | + :total="auditOrderHistorysInfo.total" class="pagination" /> | ||
| 36 | + </el-card> | ||
| 37 | + </div> | ||
| 38 | +</template> | ||
| 39 | + | ||
| 40 | +<script> | ||
| 41 | +import { listAuditHistoryOrders } from '@/api/resource/myAuditHistoryOrdersApi' | ||
| 42 | + | ||
| 43 | +export default { | ||
| 44 | + name: 'MyAuditHistoryOrdersList', | ||
| 45 | + data() { | ||
| 46 | + return { | ||
| 47 | + loading: false, | ||
| 48 | + currentPage: 1, | ||
| 49 | + pageSize: 10, | ||
| 50 | + auditOrderHistorysInfo: { | ||
| 51 | + auditOrderHistorys: [], | ||
| 52 | + total: 0, | ||
| 53 | + conditions: { | ||
| 54 | + userName: '', | ||
| 55 | + auditLink: '' | ||
| 56 | + } | ||
| 57 | + } | ||
| 58 | + } | ||
| 59 | + }, | ||
| 60 | + created() { | ||
| 61 | + this._listAuditOrderHistorys(this.currentPage, this.pageSize) | ||
| 62 | + }, | ||
| 63 | + methods: { | ||
| 64 | + async _listAuditOrderHistorys(page, size) { | ||
| 65 | + try { | ||
| 66 | + this.loading = true | ||
| 67 | + const params = { | ||
| 68 | + page: page, | ||
| 69 | + row: size, | ||
| 70 | + ...this.auditOrderHistorysInfo.conditions | ||
| 71 | + } | ||
| 72 | + const { data, total } = await listAuditHistoryOrders(params) | ||
| 73 | + this.auditOrderHistorysInfo.auditOrderHistorys = data | ||
| 74 | + this.auditOrderHistorysInfo.total = total | ||
| 75 | + } catch (error) { | ||
| 76 | + console.error('获取审核历史订单失败:', error) | ||
| 77 | + } finally { | ||
| 78 | + this.loading = false | ||
| 79 | + } | ||
| 80 | + }, | ||
| 81 | + _queryHistory() { | ||
| 82 | + this.currentPage = 1 | ||
| 83 | + this._listAuditOrderHistorys(this.currentPage, this.pageSize) | ||
| 84 | + }, | ||
| 85 | + _openDetailPurchaseApplyModel(purchaseApply) { | ||
| 86 | + this.$router.push({ | ||
| 87 | + path: '/pages/common/purchaseApplyDetail', | ||
| 88 | + query: { | ||
| 89 | + applyOrderId: purchaseApply.applyOrderId, | ||
| 90 | + resOrderType: purchaseApply.resOrderType | ||
| 91 | + } | ||
| 92 | + }) | ||
| 93 | + }, | ||
| 94 | + handleSizeChange(val) { | ||
| 95 | + this.pageSize = val | ||
| 96 | + this._listAuditOrderHistorys(this.currentPage, this.pageSize) | ||
| 97 | + }, | ||
| 98 | + handleCurrentChange(val) { | ||
| 99 | + this.currentPage = val | ||
| 100 | + this._listAuditOrderHistorys(this.currentPage, this.pageSize) | ||
| 101 | + }, | ||
| 102 | + goBack() { | ||
| 103 | + this.$router.go(-1) | ||
| 104 | + } | ||
| 105 | + } | ||
| 106 | +} | ||
| 107 | +</script> | ||
| 108 | + | ||
| 109 | +<style lang="scss" scoped> | ||
| 110 | +.my-audit-history-orders { | ||
| 111 | + padding: 20px; | ||
| 112 | + | ||
| 113 | + .box-card { | ||
| 114 | + margin-bottom: 20px; | ||
| 115 | + } | ||
| 116 | + | ||
| 117 | + .header-buttons { | ||
| 118 | + float: right; | ||
| 119 | + } | ||
| 120 | + | ||
| 121 | + .pagination { | ||
| 122 | + margin-top: 20px; | ||
| 123 | + text-align: right; | ||
| 124 | + } | ||
| 125 | + | ||
| 126 | + .el-table { | ||
| 127 | + margin-top: 20px; | ||
| 128 | + } | ||
| 129 | +} | ||
| 130 | +</style> | ||
| 0 | \ No newline at end of file | 131 | \ No newline at end of file |
src/views/resource/myItemOutAuditHistoryOrdersLang.js
0 → 100644
| 1 | +export const messages = { | ||
| 2 | + en: { | ||
| 3 | + myItemOutAuditHistoryOrders: { | ||
| 4 | + title: 'Item Out Audit History Orders', | ||
| 5 | + orderId: 'Order ID', | ||
| 6 | + orderType: 'Order Type', | ||
| 7 | + orderStatus: 'Order Status', | ||
| 8 | + applicant: 'Applicant', | ||
| 9 | + createTime: 'Create Time', | ||
| 10 | + operation: 'Operation', | ||
| 11 | + view: 'View', | ||
| 12 | + back: 'Back', | ||
| 13 | + refresh: 'Refresh' | ||
| 14 | + } | ||
| 15 | + }, | ||
| 16 | + zh: { | ||
| 17 | + myItemOutAuditHistoryOrders: { | ||
| 18 | + title: '领用已办单', | ||
| 19 | + orderId: '订单号', | ||
| 20 | + orderType: '订单类型', | ||
| 21 | + orderStatus: '订单状态', | ||
| 22 | + applicant: '申请人', | ||
| 23 | + createTime: '创建时间', | ||
| 24 | + operation: '操作', | ||
| 25 | + view: '查看', | ||
| 26 | + back: '返回', | ||
| 27 | + refresh: '刷新' | ||
| 28 | + } | ||
| 29 | + } | ||
| 30 | +} | ||
| 0 | \ No newline at end of file | 31 | \ No newline at end of file |
src/views/resource/myItemOutAuditHistoryOrdersList.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div class="animated fadeInRight ecommerce"> | ||
| 3 | + <el-row> | ||
| 4 | + <el-col :span="24"> | ||
| 5 | + <el-card class="box-card"> | ||
| 6 | + <div slot="header" class="flex justify-between"> | ||
| 7 | + <span>{{ $t('myItemOutAuditHistoryOrders.title') }}</span> | ||
| 8 | + <div class="ibox-tools" style="float: right;"> | ||
| 9 | + <el-button type="primary" size="small" @click="goBack()"> | ||
| 10 | + <i class="el-icon-close"></i> | ||
| 11 | + {{ $t('myItemOutAuditHistoryOrders.back') }} | ||
| 12 | + </el-button> | ||
| 13 | + <el-button type="primary" size="small" @click="_queryHistory()"> | ||
| 14 | + <i class="el-icon-refresh"></i> | ||
| 15 | + {{ $t('myItemOutAuditHistoryOrders.refresh') }} | ||
| 16 | + </el-button> | ||
| 17 | + </div> | ||
| 18 | + </div> | ||
| 19 | + <div class="ibox-content"> | ||
| 20 | + <el-table | ||
| 21 | + :data="auditOrderHistorysInfo.auditOrderHistorys" | ||
| 22 | + border | ||
| 23 | + style="width: 100%" | ||
| 24 | + > | ||
| 25 | + <el-table-column | ||
| 26 | + prop="applyOrderId" | ||
| 27 | + :label="$t('myItemOutAuditHistoryOrders.orderId')" | ||
| 28 | + align="center" | ||
| 29 | + /> | ||
| 30 | + <el-table-column | ||
| 31 | + prop="resOrderTypeName" | ||
| 32 | + :label="$t('myItemOutAuditHistoryOrders.orderType')" | ||
| 33 | + align="center" | ||
| 34 | + /> | ||
| 35 | + <el-table-column | ||
| 36 | + prop="stateName" | ||
| 37 | + :label="$t('myItemOutAuditHistoryOrders.orderStatus')" | ||
| 38 | + align="center" | ||
| 39 | + /> | ||
| 40 | + <el-table-column | ||
| 41 | + prop="userName" | ||
| 42 | + :label="$t('myItemOutAuditHistoryOrders.applicant')" | ||
| 43 | + align="center" | ||
| 44 | + /> | ||
| 45 | + <el-table-column | ||
| 46 | + prop="createTime" | ||
| 47 | + :label="$t('myItemOutAuditHistoryOrders.createTime')" | ||
| 48 | + align="center" | ||
| 49 | + /> | ||
| 50 | + <el-table-column | ||
| 51 | + :label="$t('myItemOutAuditHistoryOrders.operation')" | ||
| 52 | + align="center" | ||
| 53 | + > | ||
| 54 | + <template slot-scope="scope"> | ||
| 55 | + <el-button | ||
| 56 | + size="mini" | ||
| 57 | + @click="_openDetailPurchaseApplyModel(scope.row)" | ||
| 58 | + > | ||
| 59 | + {{ $t('myItemOutAuditHistoryOrders.view') }} | ||
| 60 | + </el-button> | ||
| 61 | + </template> | ||
| 62 | + </el-table-column> | ||
| 63 | + </el-table> | ||
| 64 | + <el-pagination | ||
| 65 | + :current-page.sync="currentPage" | ||
| 66 | + :page-size="pageSize" | ||
| 67 | + :total="auditOrderHistorysInfo.total" | ||
| 68 | + layout="total, prev, pager, next, jumper" | ||
| 69 | + @current-change="handlePageChange" | ||
| 70 | + /> | ||
| 71 | + </div> | ||
| 72 | + </el-card> | ||
| 73 | + </el-col> | ||
| 74 | + </el-row> | ||
| 75 | + </div> | ||
| 76 | +</template> | ||
| 77 | + | ||
| 78 | +<script> | ||
| 79 | +import { listItemOutAuditHistoryOrders } from '@/api/resource/myItemOutAuditHistoryOrdersApi' | ||
| 80 | +import { getCommunityId } from '@/api/community/communityApi' | ||
| 81 | + | ||
| 82 | +export default { | ||
| 83 | + name: 'MyItemOutAuditHistoryOrdersList', | ||
| 84 | + data() { | ||
| 85 | + return { | ||
| 86 | + auditOrderHistorysInfo: { | ||
| 87 | + auditOrderHistorys: [], | ||
| 88 | + total: 0, | ||
| 89 | + records: 1, | ||
| 90 | + moreCondition: false, | ||
| 91 | + userName: '', | ||
| 92 | + conditions: { | ||
| 93 | + AuditOrderHistorysId: '', | ||
| 94 | + userName: '', | ||
| 95 | + auditLink: '', | ||
| 96 | + page: 1, | ||
| 97 | + row: 10 | ||
| 98 | + }, | ||
| 99 | + orderInfo: '' | ||
| 100 | + }, | ||
| 101 | + currentPage: 1, | ||
| 102 | + pageSize: 10, | ||
| 103 | + communityId: '' | ||
| 104 | + } | ||
| 105 | + }, | ||
| 106 | + created() { | ||
| 107 | + this.communityId = getCommunityId() | ||
| 108 | + this._listAuditOrderHistorys(this.currentPage, this.pageSize) | ||
| 109 | + }, | ||
| 110 | + methods: { | ||
| 111 | + async _listAuditOrderHistorys(page, rows) { | ||
| 112 | + try { | ||
| 113 | + this.auditOrderHistorysInfo.conditions.page = page | ||
| 114 | + this.auditOrderHistorysInfo.conditions.row = rows | ||
| 115 | + this.auditOrderHistorysInfo.conditions.communityId = this.communityId | ||
| 116 | + | ||
| 117 | + const { data, total } = await listItemOutAuditHistoryOrders( | ||
| 118 | + this.auditOrderHistorysInfo.conditions | ||
| 119 | + ) | ||
| 120 | + this.auditOrderHistorysInfo.auditOrderHistorys = data | ||
| 121 | + this.auditOrderHistorysInfo.total = total | ||
| 122 | + } catch (error) { | ||
| 123 | + console.error('Failed to fetch audit history orders:', error) | ||
| 124 | + } | ||
| 125 | + }, | ||
| 126 | + _queryHistory() { | ||
| 127 | + this.currentPage = 1 | ||
| 128 | + this._listAuditOrderHistorys(this.currentPage, this.pageSize) | ||
| 129 | + }, | ||
| 130 | + _openDetailPurchaseApplyModel(purchaseApply) { | ||
| 131 | + this.$router.push({ | ||
| 132 | + path: '/pages/common/purchaseApplyDetail', | ||
| 133 | + query: { | ||
| 134 | + applyOrderId: purchaseApply.applyOrderId, | ||
| 135 | + resOrderType: purchaseApply.resOrderType | ||
| 136 | + } | ||
| 137 | + }) | ||
| 138 | + }, | ||
| 139 | + handlePageChange(currentPage) { | ||
| 140 | + this.currentPage = currentPage | ||
| 141 | + this._listAuditOrderHistorys(currentPage, this.pageSize) | ||
| 142 | + }, | ||
| 143 | + goBack() { | ||
| 144 | + this.$router.go(-1) | ||
| 145 | + } | ||
| 146 | + } | ||
| 147 | +} | ||
| 148 | +</script> | ||
| 149 | + | ||
| 150 | +<style scoped> | ||
| 151 | +.ibox-tools { | ||
| 152 | + display: inline-block; | ||
| 153 | + float: right; | ||
| 154 | + margin-top: 0; | ||
| 155 | + position: relative; | ||
| 156 | + padding: 0; | ||
| 157 | +} | ||
| 158 | +.clearfix:before, | ||
| 159 | +.clearfix:after { | ||
| 160 | + display: table; | ||
| 161 | + content: ""; | ||
| 162 | +} | ||
| 163 | +.clearfix:after { | ||
| 164 | + clear: both; | ||
| 165 | +} | ||
| 166 | +.box-card { | ||
| 167 | + margin-bottom: 20px; | ||
| 168 | +} | ||
| 169 | +</style> | ||
| 0 | \ No newline at end of file | 170 | \ No newline at end of file |