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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 22 | \ No newline at end of file | ... | ... |
src/i18n/contractI18n.js
| ... | ... | @@ -12,6 +12,8 @@ import { messages as contractDetailMessages } from '../views/contract/contractDe |
| 12 | 12 | import { messages as contractChangeDetailsMessages } from '../views/contract/contractChangeDetailsLang' |
| 13 | 13 | import { messages as contractApplyAuditOrdersMessages } from '../views/contract/contractApplyAuditOrdersLang' |
| 14 | 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 | 18 | export const messages ={ |
| 17 | 19 | en:{ |
| ... | ... | @@ -29,6 +31,8 @@ export const messages ={ |
| 29 | 31 | ...contractChangeDetailsMessages.en, |
| 30 | 32 | ...contractApplyAuditOrdersMessages.en, |
| 31 | 33 | ...contractChangeAuditOrdersMessages.en, |
| 34 | + ...contractApplyAuditHistoryOrdersMessages.en, | |
| 35 | + ...contractChangeAuditHistoryOrdersMessages.en, | |
| 32 | 36 | }, |
| 33 | 37 | zh:{ |
| 34 | 38 | ...contractTypeManageMessages.zh, |
| ... | ... | @@ -45,5 +49,7 @@ export const messages ={ |
| 45 | 49 | ...contractChangeDetailsMessages.zh, |
| 46 | 50 | ...contractApplyAuditOrdersMessages.zh, |
| 47 | 51 | ...contractChangeAuditOrdersMessages.zh, |
| 52 | + ...contractApplyAuditHistoryOrdersMessages.zh, | |
| 53 | + ...contractChangeAuditHistoryOrdersMessages.zh, | |
| 48 | 54 | } |
| 49 | 55 | } |
| 50 | 56 | \ No newline at end of file | ... | ... |
src/i18n/oaI18n.js
| ... | ... | @@ -53,6 +53,9 @@ import { messages as simplifyNotepadManageMessages } from '../views/oa/simplifyN |
| 53 | 53 | import { messages as uodoComplaintsMessages } from '../views/oa/uodoComplaintsLang' |
| 54 | 54 | import { messages as complaintDetailMessages } from '../views/oa/complaintDetailLang' |
| 55 | 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 | 61 | export const messages ={ |
| ... | ... | @@ -111,6 +114,9 @@ export const messages ={ |
| 111 | 114 | ...uodoComplaintsMessages.en, |
| 112 | 115 | ...complaintDetailMessages.en, |
| 113 | 116 | ...visitUndoMessages.en, |
| 117 | + ...doHistoryComplaintsMessages.en, | |
| 118 | + ...myAuditHistoryOrdersMessages.en, | |
| 119 | + ...visitFinishMessages.en, | |
| 114 | 120 | }, |
| 115 | 121 | zh:{ |
| 116 | 122 | ...activitiesTypeManageMessages.zh, |
| ... | ... | @@ -167,5 +173,8 @@ export const messages ={ |
| 167 | 173 | ...uodoComplaintsMessages.zh, |
| 168 | 174 | ...complaintDetailMessages.zh, |
| 169 | 175 | ...visitUndoMessages.zh, |
| 176 | + ...doHistoryComplaintsMessages.zh, | |
| 177 | + ...myAuditHistoryOrdersMessages.zh, | |
| 178 | + ...visitFinishMessages.zh, | |
| 170 | 179 | } |
| 171 | 180 | } |
| 172 | 181 | \ No newline at end of file | ... | ... |
src/i18n/resourceI18n.js
| ... | ... | @@ -40,6 +40,9 @@ import { messages as allocationStorehouseAuditOrdersMessages } from '../views/re |
| 40 | 40 | import { messages as editAllocationStorehouseApplyMessages } from '../views/resource/editAllocationStorehouseApplyLang' |
| 41 | 41 | import { messages as allocationStorehouseEnterMessages } from '../views/resource/allocationStorehouseEnterLang' |
| 42 | 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 | 47 | export const messages = { |
| 45 | 48 | en: { |
| ... | ... | @@ -83,6 +86,9 @@ export const messages = { |
| 83 | 86 | ...editAllocationStorehouseApplyMessages.en, |
| 84 | 87 | ...allocationStorehouseEnterMessages.en, |
| 85 | 88 | ...itemReleaseUndoMessages.en, |
| 89 | + ...myItemOutAuditHistoryOrdersMessages.en, | |
| 90 | + ...allocationStorehouseHistoryAuditOrdersMessages.en, | |
| 91 | + ...itemReleaseFinishMessages.en, | |
| 86 | 92 | }, |
| 87 | 93 | zh: { |
| 88 | 94 | ...resourceAuditFlowMessages.zh, |
| ... | ... | @@ -125,5 +131,8 @@ export const messages = { |
| 125 | 131 | ...editAllocationStorehouseApplyMessages.zh, |
| 126 | 132 | ...allocationStorehouseEnterMessages.zh, |
| 127 | 133 | ...itemReleaseUndoMessages.zh, |
| 134 | + ...myItemOutAuditHistoryOrdersMessages.zh, | |
| 135 | + ...allocationStorehouseHistoryAuditOrdersMessages.zh, | |
| 136 | + ...itemReleaseFinishMessages.zh, | |
| 128 | 137 | } |
| 129 | 138 | } |
| 130 | 139 | \ No newline at end of file | ... | ... |
src/router/contractRouter.js
| ... | ... | @@ -64,4 +64,14 @@ export default [ |
| 64 | 64 | name: '/pages/admin/contractChangeAuditOrders', |
| 65 | 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 | 78 | \ No newline at end of file | ... | ... |
src/router/oaRouter.js
| ... | ... | @@ -254,4 +254,19 @@ export default [ |
| 254 | 254 | name: '/pages/property/visitUndo', |
| 255 | 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 | 273 | \ No newline at end of file | ... | ... |
src/router/resourceRouter.js
| ... | ... | @@ -190,5 +190,20 @@ export default [ |
| 190 | 190 | name: '/pages/property/itemReleaseUndo', |
| 191 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 170 | \ No newline at end of file | ... | ... |