diff --git a/src/api/eam/equipmentReportRepairRequest/index.ts b/src/api/eam/equipmentReportRepairRequest/index.ts
index f09c4d563..1eeec7e86 100644
--- a/src/api/eam/equipmentReportRepairRequest/index.ts
+++ b/src/api/eam/equipmentReportRepairRequest/index.ts
@@ -70,4 +70,14 @@ export const exportEquipmentReportRepairRequest = async (params) => {
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/eam/equipment-report-repair-request/get-import-template' })
-}
\ No newline at end of file
+}
+
+// 修改报修工单状态
+export const updateEquipmentReportRepairOrder = async (data: EquipmentReportRepairRequestVO) => {
+ return await request.post({ url: `/eam/equipment-report-repair-request/updateOrder`, data })
+}
+
+// 完成并创建维修工单
+export const createEquipmentWeixiuOrder = async (data: EquipmentReportRepairRequestVO) => {
+ return await request.post({ url: `/eam/equipment-report-repair-request/updateCreateOrder`, data })
+}
diff --git a/src/utils/disposition/defaultButtons.ts b/src/utils/disposition/defaultButtons.ts
index 522bd47f7..a38217b56 100644
--- a/src/utils/disposition/defaultButtons.ts
+++ b/src/utils/disposition/defaultButtons.ts
@@ -390,6 +390,32 @@ export function mainListAuditingBtn(option:any) {
})
}
+// 主列表-审核完成按钮
+export function mainListAuditedBtn(option:any) {
+ return __defaultBtnOption(option,{
+ label: t(`ts.审核完成`).replace('ts.', ''),
+ name: 'audited',
+ hide: false,
+ type: 'primary',
+ color: '',
+ link: true, // 文本展现按钮
+ hasPermi: ''
+ })
+}
+
+// 主列表-撤回按钮
+export function mainListRevokeBtn(option:any) {
+ return __defaultBtnOption(option,{
+ label: t(`ts.撤回`).replace('ts.', ''),
+ name: 'revoke',
+ hide: false,
+ type: 'primary',
+ color: '',
+ link: true, // 文本展现按钮
+ hasPermi: ''
+ })
+}
+
// 主列表-绑定
export function mainListBindBtn(option:any) {
return __defaultBtnOption(option,{
diff --git a/src/views/eam/equipmentReportRepairRequest/audiForm.vue b/src/views/eam/equipmentReportRepairRequest/audiForm.vue
new file mode 100644
index 000000000..65526f310
--- /dev/null
+++ b/src/views/eam/equipmentReportRepairRequest/audiForm.vue
@@ -0,0 +1,141 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/eam/equipmentReportRepairRequest/equipmentReportRepairRequest.data.ts b/src/views/eam/equipmentReportRepairRequest/equipmentReportRepairRequest.data.ts
index 21b9f9dbb..9785ed4d6 100644
--- a/src/views/eam/equipmentReportRepairRequest/equipmentReportRepairRequest.data.ts
+++ b/src/views/eam/equipmentReportRepairRequest/equipmentReportRepairRequest.data.ts
@@ -1,9 +1,9 @@
import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
-import { dateFormatter } from '@/utils/formatTime'
import {EquipmentAccounts} from "@/views/eam/equipmentAccounts/equipmentAccounts.data";
import * as EquipmentItemApi from "@/api/eam/equipmentAccounts";
import {Workshop} from "@/views/wms/basicDataManage/factoryModeling/workshop/workshop.data";
import * as WorkshopApi from "@/api/wms/workshop";
+import {dateFormatter} from '@/utils/formatTime'
// 表单校验
export const EquipmentReportRepairRequestRules = reactive({
@@ -149,40 +149,40 @@ export const EquipmentReportRepairRequest = useCrudSchemas(reactive
-
-
- {{ row.code }}
+
+
+ {{ row.number }}
-
+
@@ -54,6 +54,9 @@
+
+
+
@@ -66,7 +69,7 @@ import * as defaultButtons from '@/utils/disposition/defaultButtons'
import TableHead from '@/components/TableHead/src/TableHead.vue'
import ImportForm from '@/components/ImportForm/src/ImportForm.vue'
import Detail from '@/components/Detail/src/Detail.vue'
-import {Maintenance} from "@/views/eam/maintenance/maintenance.data";
+import AudiForm from '@/views/eam/equipmentReportRepairRequest/audiForm.vue'
import {EquipmentAccounts} from "@/views/eam/equipmentAccounts/equipmentAccounts.data";
import * as EquipmentItemApi from "@/api/eam/equipmentAccounts";
import {ToolAccounts} from "@/views/eam/toolAccounts/toolAccounts.data";
@@ -137,11 +140,26 @@ const buttonBaseClick = (val, item) => {
}
}
+
+const isShowStatusButton = (row,val) => {
+ if (val.indexOf(row.status) > -1) {
+ return false
+ } else {
+ return true
+ }
+}
+
// 列表-操作按钮
-const butttondata = [
- defaultButtons.mainListEditBtn({hasPermi:'eam:equipmentReportRepairRequest:update'}), // 编辑
- defaultButtons.mainListDeleteBtn({hasPermi:'eam:equipmentReportRepairRequest:delete'}), // 删除
-]
+const butttondata = (row) => {
+ return [
+ defaultButtons.mainListEditBtn({hide: isShowStatusButton(row, ['0']),hasPermi: 'eam:equipmentReportRepairRequest:update'}), // 编辑
+ defaultButtons.mainListAuditingBtn({hide: isShowStatusButton(row, ['0']), hasPermi: 'eam:equipmentReportRepairRequest:update'}), // 审核
+ defaultButtons.mainListAuditedBtn({hide: isShowStatusButton(row, ['2']), hasPermi: 'eam:equipmentReportRepairRequest:update'}), // 审核完成
+ defaultButtons.mainListRevokeBtn({hide: isShowStatusButton(row, ['0']), hasPermi: 'eam:equipmentReportRepairRequest:update'}), // 撤回
+ defaultButtons.mainListFinishBtn({hide: isShowStatusButton(row,['3']),hasPermi:'eam:equipmentReportRepairRequest:update'}),
+ defaultButtons.mainListDeleteBtn({hasPermi:'eam:equipmentReportRepairRequest:update'}), // 删除
+ ]
+}
// 列表-操作按钮事件
const buttonTableClick = async (val, row) => {
@@ -149,6 +167,14 @@ const buttonTableClick = async (val, row) => {
openForm('update', row)
} else if (val == 'delete') { // 删除
handleDelete(row.id)
+ } else if (val == 'auditing') { // 审核
+ handleAuditing(row.id)
+ } else if (val == 'revoke') { // 撤回
+ handleRevoke(row.id)
+ } else if (val == 'audited') { // 审核完成
+ handleAudited(row)
+ } else if (val == 'finish') { // 完成
+ handleFinish(row.id)
}
}
@@ -199,6 +225,79 @@ const openDetail = (row: any, titleName: any, titleValue: any) => {
detailRef.value.openDetail(row, titleName, titleValue, 'basicEquipmentReportRepairRequest')
}
+//完成按钮 并生成维修工单
+const handleFinish = async (id: number) => {
+ await message.delConfirm('是否完成,并创建维修工单?');
+ try {
+ const params = ref({
+ id: '',
+ status:'',
+ })
+ params.value.id = id
+ params.value.status = '5'
+ await EquipmentReportRepairRequestApi.updateEquipmentReportRepairOrder(params.value)
+ message.success(t('common.updateSuccess'))
+ // 刷新列表
+ await getList()
+ } catch {}
+}
+
+//审核完成按钮
+const handleAudited = async (row) => {
+ message.confirmAudi(t('')).then(async () => {
+ //打开提交表单
+ audiFormRef.value.open('update', row);
+ }).catch(async (action: Action) => {
+ if(action === 'cancel'){
+ const params = ref({
+ id: '',
+ status:'',
+ })
+ params.value.id = row.id
+ params.value.status = '4'
+ await EquipmentReportRepairRequestApi.updateEquipmentReportRepairOrder(params.value)
+ message.success(t('common.updateSuccess'))
+ // 刷新列表
+ await getList()
+ }
+ })
+}
+
+//审核按钮
+const audiFormRef = ref()
+const handleAuditing = async (id: number) => {
+ await message.delConfirm('是否审核所选中工单?');
+ try {
+ const params = ref({
+ id: '',
+ status:'',
+ })
+ params.value.id = id
+ params.value.status = '2'
+ await EquipmentReportRepairRequestApi.updateEquipmentReportRepairOrder(params.value)
+ message.success(t('common.updateSuccess'))
+ // 刷新列表
+ await getList()
+ } catch {}
+}
+
+/** 撤回按钮操作 */
+const handleRevoke = async (id: number) => {
+ await message.delConfirm('是否撤回所选中工单?');
+ try {
+ const params = ref({
+ id: '',
+ status:'',
+ })
+ params.value.id = id
+ params.value.status = '1'
+ await EquipmentReportRepairRequestApi.updateEquipmentReportRepairOrder(params.value)
+ message.success(t('common.updateSuccess'))
+ // 刷新列表
+ await getList()
+ } catch {}
+}
+
/** 删除按钮操作 */
const handleDelete = async (id: number) => {
try {
@@ -243,6 +342,34 @@ const importSuccess = () => {
getList()
}
+//audiForm 关闭按钮回传
+const getClosed=(val)=> {
+ nextTick?.(() => {
+ getList()
+ })
+}
+
+//audiForm 提交按钮回传
+const getData=(val)=> {
+ nextTick?.(async () => {
+
+ try {
+ const params = ref({
+ id: '',
+ status:'',
+ })
+ params.value.id = val
+ params.value.status = '3'
+ await EquipmentReportRepairRequestApi.updateEquipmentReportRepairOrder(params.value)
+ message.success(t('工单已流转'))
+ // 刷新列表
+ await getList()
+ } catch {}
+
+ }
+ )
+}
+
const onChange = (field, item) => {
//设备