diff --git a/src/components/TableFormCountPlan/src/TableFormCountPlan.vue b/src/components/TableFormCountPlan/src/TableFormCountPlan.vue
index e1138a47f..90867dc79 100644
--- a/src/components/TableFormCountPlan/src/TableFormCountPlan.vue
+++ b/src/components/TableFormCountPlan/src/TableFormCountPlan.vue
@@ -13,82 +13,86 @@
@click="handleDeleteTable(row, $index)"
/>
-
@@ -127,7 +131,7 @@ const props = defineProps({
countScopeType: {
type: Array,
required: false,
- default: null
+ default: []
},
})
const tableData = props.tableData
@@ -162,6 +166,7 @@ const selectChange = (field, val) => {
}
const tableFormChange = (field, val, row) => {
+ pageCount.value = 1
emit('tableFormChange', field, val, row)
}
// 添加数据
@@ -172,6 +177,38 @@ const handleAddTable = () => {
const handleDeleteTable = (row, index) => {
emit('handleDeleteTable', row, index)
}
+const pageCount = ref(1)
+
+const currentList = (options)=>{
+ if(options&&options.length>0){
+ return options.slice((pageCount.value-1)*15,pageCount.value*15)
+ }else{
+ return []
+ }
+}
+const nextPage = ()=>{
+ pageCount.value++
+}
+const prexPage = ()=>{
+ pageCount.value--
+}
+const initOptions_result = ref([])
+const filterMethod = (query,row)=>{
+ console.log('filterMethod')
+ if (query) {
+ initOptions_result.value = row.initOptions.filter((item) => {
+ return item.label.includes(query)
+ })
+ } else {
+ initOptions_result.value = [...row.initOptions]
+ }
+}
+const focusValue = (row)=>{
+ console.log('focusValue',row)
+ if(!row.value){
+ initOptions_result.value = [...row.initOptions]
+ }
+}
// setup 语法糖 抛出方法
defineExpose({
TableBaseComponents_Ref,
diff --git a/src/components/XButton/src/ButtonBase.vue b/src/components/XButton/src/ButtonBase.vue
index 18d850111..adf88fab7 100644
--- a/src/components/XButton/src/ButtonBase.vue
+++ b/src/components/XButton/src/ButtonBase.vue
@@ -72,8 +72,17 @@ const props = defineProps({
const emit = defineEmits(['buttonBaseClick', 'updataTableColumns'])
const buttonBaseClick = (val, item, $event) => {
- clearButtonBlurHandle($event) //解决el-button点击后颜色不恢复问题
- emit('buttonBaseClick', val, item, $event)
+ let timer = null
+ if(!timer){
+ clearButtonBlurHandle($event) //解决el-button点击后颜色不恢复问题
+ emit('buttonBaseClick', val, item, $event)
+ timer = setTimeout(()=>{
+ if(timer){
+ clearTimeout(timer)
+ }
+ },2000)
+ }
+
}
const popoverVisible = ref(false)
// 关闭页面
diff --git a/src/config/axios/config.ts b/src/config/axios/config.ts
index 9bf0a928a..7f7b94732 100644
--- a/src/config/axios/config.ts
+++ b/src/config/axios/config.ts
@@ -16,7 +16,7 @@ const config: {
/**
* 接口请求超时时间
*/
- request_timeout: 300000,
+ request_timeout: 3000000,
/**
* 默认接口请求类型
diff --git a/src/locales/en-US.ts b/src/locales/en-US.ts
index acb8c0307..04a464311 100644
--- a/src/locales/en-US.ts
+++ b/src/locales/en-US.ts
@@ -44,6 +44,7 @@ export default {
importMessage: 'Whether to confirm import data item?',
createSuccess: 'Create Success',
updateSuccess: 'Update Success',
+ emailSentSuccess: 'Email sent successfully',
delMessage: 'Delete the selected data?',
delDataMessage: 'Delete the data?',
delNoData: 'Please select the data to delete',
@@ -325,6 +326,7 @@ export default {
viewDetail:'Detailed list',
updataRecode:'Updata recode',
applyDecision:'Apply Decision',
+ auditing:'Auditing',
},
dialog: {
dialog: 'Dialog',
@@ -992,6 +994,8 @@ export default {
'是否接受所选中数据?':'Do you accept the selected data?',
'接受成功!':'Accept Successfully!',
'是否驳回所选中数据?':'Do you reject the selected data?',
+ '是否撤回所选中数据?':'Do you revoke the selected data?',
+ '是否提交审核?':'Do you audit the selected data?',
'驳回成功!':'Reject Succussfully!',
'要货计划主':'Ask for master data of cargo plan',
'要货计划数量不得大于订单数量-已计划数量':'The planned quantity of the requested goods shall not be greater than the order quantity - the planned quantity',
@@ -1052,6 +1056,7 @@ export default {
供应商发票申请明细:'Supplier invoice request details',
供应商发票记录主:'Supplier invoice record master data',
审核通过:'Pass the audit',
+ 撤回成功:'Recall successful',
作废:'Cancellation',
'是否审批拒绝所选中数据?':'Do you want to approve and reject selected data?',
'审批成功!':'Approval is successful!',
diff --git a/src/locales/zh-CN.ts b/src/locales/zh-CN.ts
index 3d30b4673..24c79366e 100644
--- a/src/locales/zh-CN.ts
+++ b/src/locales/zh-CN.ts
@@ -44,6 +44,7 @@ export default {
importMessage: '是否确认导入数据项?',
createSuccess: '新增成功',
updateSuccess: '修改成功',
+ emailSentSuccess: '邮件发送成功',
delMessage: '是否删除所选中数据?',
delDataMessage: '是否删除数据?',
delNoData: '请选择需要删除的数据',
@@ -324,6 +325,7 @@ export default {
viewDetail:'明细列表',
updataRecode:'更新记录',
applyDecision:'使用决策',
+ auditing:'审核',
},
dialog: {
dialog: '弹窗',
@@ -992,6 +994,8 @@ export default {
'是否接受所选中数据?':'是否接受所选中数据?',
'接受成功!':'接受成功!',
'是否驳回所选中数据?':'是否驳回所选中数据?',
+ '是否撤回所选中数据?':'是否撤回所选中数据?',
+ '是否提交审核?':'是否提交审核?',
'驳回成功!':'驳回成功!',
'要货计划主':'要货计划主',
'要货计划数量不得大于订单数量-已计划数量':'要货计划数量不得大于订单数量-已计划数量',
@@ -1052,6 +1056,7 @@ export default {
供应商发票申请明细:'供应商发票申请明细',
供应商发票记录主:'供应商发票记录主',
审核通过:'审核通过',
+ 撤回成功:'撤回成功',
作废:'作废',
'是否审批拒绝所选中数据?':'是否审批拒绝所选中数据?',
'审批成功!':'审批成功!',
diff --git a/src/utils/dict.ts b/src/utils/dict.ts
index 2b6969a8c..8a459e4bd 100644
--- a/src/utils/dict.ts
+++ b/src/utils/dict.ts
@@ -354,6 +354,8 @@ export enum DICT_TYPE {
REPAIR_LEVEL = 'repair_level', //维修级别
IS_COMPLETED = 'is_completed', //是否完成
MAINTENANCE_CYCLE ='maintenance_cycle', // 保养周期
+ INSPECTION_CYCLE ='inspection_cycle', // 巡检周期
+ SPOTCHECK_CYCLE ='spotcheck_cycle', // 巡检周期
EAM_ORDER_STATUS = 'eam_order_status',// 工单状态
TOOL_CLASS = 'tool_class', //工装类型
TOOL_OUT_TYPE = 'tool_out_type', //工装出库类型
@@ -363,5 +365,9 @@ export enum DICT_TYPE {
EAM_MAINTENANCE_URGENCY = 'eam_maintenance_urgency', // 维保紧急程度
EAM_MAINTENANCE_LEVEL = 'eam_maintenance_level', // 维保维修级别
EAM_REPAIR_STATUS = 'eam_repair_status', // 维修状态
- OFF_BACK_STATUS = 'off_back_status'
+ EAM_COMPLETE_RESULT = 'eam_complete_result', // 维修状态
+ OFF_BACK_STATUS = 'off_back_status',
+ SPAREPARTS_APPLY_STATUS_ENUM = 'spareparts_apply_status_enum',// 流程状态
+ IS_LINE_ITEM = 'is_line_item', // 是否是线边
+ PUT_IN_TYPE = 'put_in_type',// 入库类型
}
diff --git a/src/utils/disposition/defaultButtons.ts b/src/utils/disposition/defaultButtons.ts
index e56253106..c5c2ec237 100644
--- a/src/utils/disposition/defaultButtons.ts
+++ b/src/utils/disposition/defaultButtons.ts
@@ -389,6 +389,19 @@ export function mainListExecuteBtn(option:any) {
})
}
+// 主列表-转办按钮
+export function mainListTransferBtn(option:any) {
+ return __defaultBtnOption(option,{
+ label: t(`ts.转办`).replace('ts.', ''),
+ name: 'transfer',
+ hide: false,
+ type: 'primary',
+ color: '',
+ link: true, // 文本展现按钮
+ hasPermi: ''
+ })
+}
+
// 主列表-完成按钮
export function mainListFinishBtn(option:any) {
return __defaultBtnOption(option,{
@@ -440,6 +453,18 @@ export function mainListValidateRepairBtn(option:any) {
hasPermi: ''
})
}
+// 主列表-预览按钮
+export function viewBtn(option:any) {
+ return __defaultBtnOption(option,{
+ label: '预览',
+ name: 'view',
+ hide: false,
+ type: 'success',
+ color: '',
+ link: true, // 文本展现按钮
+ hasPermi: ''
+ })
+}
// 主列表-审核按钮
export function mainListAuditingBtn(option:any) {
diff --git a/src/views/eam/SparePartsOutLocationRecord/SparePartsOutLocationRecord.data.ts b/src/views/eam/SparePartsOutLocationRecord/SparePartsOutLocationRecord.data.ts
new file mode 100644
index 000000000..cc5804fdd
--- /dev/null
+++ b/src/views/eam/SparePartsOutLocationRecord/SparePartsOutLocationRecord.data.ts
@@ -0,0 +1,300 @@
+import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
+
+import * as ItemAccountsApi from '@/api/eam/itemAccounts'
+import { ItemAccounts } from '@/views/eam/itemAccounts/itemAccounts.data'
+
+import { EquipmentAccounts } from '@/views/eam/equipmentAccounts/equipmentAccounts.data'
+import * as EquipmentItemApi from '@/api/eam/equipmentAccounts'
+
+import { dateFormatter } from '@/utils/formatTime'
+
+export const SparePartsOutLocationRecordMain = useCrudSchemas(
+ reactive
([
+ {
+ label: '申请编号',
+ field: 'number',
+ sort: 'custom',
+ isSearch: true,
+ isForm: false
+ },
+ {
+ label: '描述',
+ field: 'description',
+ sort: 'custom',
+ isSearch: true
+ },
+ {
+ label: '申领备件总价',
+ field: 'sumVal',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false
+ },
+ {
+ label: '流程状态',
+ field: 'status',
+ sort: 'custom',
+ dictType: DICT_TYPE.SPAREPARTS_APPLY_STATUS_ENUM,
+ dictClass: 'string', // 默认都是字符串类型其他暂不考虑
+ isSearch: true,
+ form: {
+ component: 'Select'
+ }
+ },
+ {
+ label: '申请人',
+ field: 'applyer',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false
+ },
+ {
+ label: '审核人',
+ field: 'approver',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ form: {
+ component: 'InputNumber',
+ value: 0
+ }
+ },
+ {
+ label: '审核内容',
+ field: 'approveContent',
+ sort: 'custom',
+ isSearch: true,
+ isTable: false,
+ isForm: false
+ },
+ {
+ label: '审核时间',
+ field: 'approveTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ valueFormat: 'x'
+ }
+ }
+ },
+ {
+ label: '自动审核',
+ field: 'autoExamine',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false
+ },
+ {
+ label: '自动通过',
+ field: 'autoAgree',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false
+ },
+ {
+ label: '直接生成记录',
+ field: 'directCreateRecord',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false
+ },
+ {
+ label: '创建时间',
+ field: 'createTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ isSearch: false,
+ isTable: false,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ isForm: false
+ },
+ {
+ label: '操作',
+ field: 'action',
+ isForm: false,
+ table: {
+ width: 150,
+ fixed: 'right'
+ }
+ }
+ ])
+)
+
+//表单校验
+export const SparePartsOutLocationRecordMainRules = reactive({
+ description: [{ required: true, message: '描述不能为空', trigger: 'change' }]
+})
+/**
+ * @returns {Array} 备件申请子表
+ */
+export const SparePartsOutLocationRecordDetail = useCrudSchemas(
+ reactive([
+ {
+ label: '备件编号',
+ field: 'sparePartsCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ // labelMessage: '信息提示说明!!!',
+ componentProps: {
+ isSearchList: true, // 开启查询弹窗
+ searchListPlaceholder: '请选择备件编号', // 输入框占位文本
+ searchField: 'itemNumber', // 查询弹窗赋值字段
+ searchTitle: '备件信息', // 查询弹窗标题
+ searchAllSchemas: ItemAccounts.allSchemas, // 查询弹窗所需类
+ searchPage: ItemAccountsApi.getItemAccountsPage, // 查询弹窗所需分页方法
+ searchCondition: [
+ {
+ key: 'available',
+ value: 'TRUE',
+ isMainValue: false
+ }
+ ]
+ }
+ },
+ tableForm: {
+ isInpuFocusShow: true,
+ searchListPlaceholder: '请选择备件编号', // 输入框占位文本
+ searchField: 'itemNumber', // 查询弹窗赋值字段
+ searchTitle: '备件信息', // 查询弹窗标题
+ searchAllSchemas: ItemAccounts.allSchemas, // 查询弹窗所需类
+ searchPage: ItemAccountsApi.getItemAccountsPage, // 查询弹窗所需分页方法
+ searchCondition: [
+ {
+ key: 'available',
+ value: 'TRUE',
+ isMainValue: false
+ }
+ ]
+ }
+ },
+ {
+ label: '设备类别',
+ field: 'type',
+ dictType: DICT_TYPE.DEVICE_TYPE,
+ dictClass: 'string',
+ isTable: true,
+ sort: 'custom',
+ isSearch: false,
+ table: {
+ width: 150
+ },
+ tableForm: {
+ type: 'Select'
+ }
+ },
+ {
+ label: '设备工装编号',
+ field: 'equipmentCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ // labelMessage: '信息提示说明!!!',
+ componentProps: {
+ isSearchList: true, // 开启查询弹窗
+ searchTitle: '设备信息', // 查询弹窗标题
+ searchListPlaceholder: '请选择 设备编号', // 输入框占位文本
+ searchAllSchemas: EquipmentAccounts.allSchemas, // 查询弹窗所需类
+ searchField: 'code', // 查询弹窗赋值字段
+ searchPage: EquipmentItemApi.getEquipmentAccountsPage, // 查询弹窗所需分页方法
+ multiple: true,
+ searchCondition: [
+ {
+ key: 'status',
+ value: 'NORMAL',
+ action: '==',
+ isSearch: true,
+ isMainValue: false
+ }
+ ]
+ }
+ },
+ tableForm: {
+ isInpuFocusShow: true,
+ searchListPlaceholder: '请选择备件编号', // 输入框占位文本
+ searchField: 'code', // 查询弹窗赋值字段
+ searchTitle: '备件信息', // 查询弹窗标题
+ searchAllSchemas: EquipmentAccounts.allSchemas, // 查询弹窗所需类
+ searchPage: EquipmentItemApi.getEquipmentAccountsPage, // 查询弹窗所需分页方法
+ searchCondition: [
+ {
+ key: 'status',
+ value: 'NORMAL',
+ action: '==',
+ isSearch: true,
+ isMainValue: false
+ }
+ ]
+ }
+ },
+
+ {
+ label: '库存数量',
+ field: 'currentQty',
+ sort: 'custom',
+ isSearch: false,
+ tableForm: {
+ disabled: true
+ }
+ },
+ {
+ label: '申领数量',
+ field: 'applyQty',
+ sort: 'custom',
+ isSearch: false
+ },
+ {
+ label: '备注',
+ field: 'remark',
+ sort: 'custom',
+ isSearch: false
+ },
+ {
+ label: '操作',
+ field: 'action',
+ isDetail: false,
+ isForm: false,
+ table: {
+ width: 150,
+ fixed: 'right'
+ },
+ isTableForm: false
+ }
+ ])
+)
+
+//表单校验
+export const SparePartsOutLocationRecordDetailRules = reactive({
+ applyQty: [{ required: true, message: '请输入标包数量', trigger: 'blur' }]
+})
diff --git a/src/views/eam/SparePartsOutLocationRecord/index.vue b/src/views/eam/SparePartsOutLocationRecord/index.vue
new file mode 100644
index 000000000..61719219e
--- /dev/null
+++ b/src/views/eam/SparePartsOutLocationRecord/index.vue
@@ -0,0 +1,374 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ row.number }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/eam/basicInspectionOption/index.vue b/src/views/eam/basicInspectionOption/index.vue
index 1098f0ef9..e99246247 100644
--- a/src/views/eam/basicInspectionOption/index.vue
+++ b/src/views/eam/basicInspectionOption/index.vue
@@ -39,16 +39,17 @@
-
+
+
+
+
+
+
+
+
+
+
+
@@ -65,6 +66,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 ItemForm from "@/views/eam/basicInspectionOption/itemSelectSetForm.vue";
defineOptions({ name: 'BasicInspectionOption' })
@@ -205,6 +207,11 @@ const formsSuccess = async (formType,data) => {
getList()
}
+//刷新页面
+const getData = async() => {
+ getList();
+}
+
/** 详情操作 */
const detailRef = ref()
const openDetail = (row: any, titleName: any, titleValue: any) => {
diff --git a/src/views/eam/basicInspectionOption/itemSelectSetForm.vue b/src/views/eam/basicInspectionOption/itemSelectSetForm.vue
new file mode 100644
index 000000000..357c89e66
--- /dev/null
+++ b/src/views/eam/basicInspectionOption/itemSelectSetForm.vue
@@ -0,0 +1,393 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/eam/basicMaintenanceOption/itemSelectSetForm.vue b/src/views/eam/basicMaintenanceOption/itemSelectSetForm.vue
index 81917dc99..884691790 100644
--- a/src/views/eam/basicMaintenanceOption/itemSelectSetForm.vue
+++ b/src/views/eam/basicMaintenanceOption/itemSelectSetForm.vue
@@ -101,10 +101,6 @@ import { SearchTable } from '@/components/SearchTable'
import { BasicMaintenanceItemSelectSet} from "@/views/eam/maintenanceItemSelectSet/maintenanceItemSelectSet.data";
import * as maintenanceItemSelectSetApi from "@/api/eam/maintenanceItemSelectSet";
import {ElInput} from "element-plus";
-import {
- BasicMaintenanceOptionVO,
- createBasicMaintenanceOption, updateBasicMaintenanceOption
-} from "@/api/eam/basicMaintenanceOption";
defineOptions({ name: 'TeamForm' })
@@ -319,6 +315,7 @@ const submitForm = async () => {
//赋值 保养选择集ID
formData.value.selectId = tags.value[0].selectId
+ console.log(formData.value)
// 提交请求
formLoading.value = true
//formData.value.members = JSON.stringify(tags.value)
diff --git a/src/views/eam/basicSpotCheckOption/basicSpotCheckOption.data.ts b/src/views/eam/basicSpotCheckOption/basicSpotCheckOption.data.ts
new file mode 100644
index 000000000..8a972074b
--- /dev/null
+++ b/src/views/eam/basicSpotCheckOption/basicSpotCheckOption.data.ts
@@ -0,0 +1,200 @@
+import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
+import { dateFormatter } from '@/utils/formatTime'
+import * as ItemApi from "@/api/eam/spotCheckSelectSet";
+import {BasicSpotCheckSelectSet} from "@/views/eam/spotCheckSelectSet/spotCheckSelectSet.data";
+
+// 表单校验
+export const BasicSpotCheckOptionRules = reactive({
+ code: [required],
+ selectId: [required],
+})
+
+export const BasicSpotCheckOption = useCrudSchemas(reactive([
+ {
+ label: 'id',
+ field: 'id',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '编号',
+ field: 'code',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '方案名称',
+ field: 'name',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '选择集ID',
+ field: 'selectId',
+ sort: 'custom',
+ isDetail: true,
+ form: {
+ componentProps: {
+ isSearchList: true, // 开启查询弹窗
+ searchTitle: '点检选择集信息', // 查询弹窗标题
+ searchAllSchemas: BasicSpotCheckSelectSet.allSchemas, // 查询弹窗所需类
+ searchField: 'id', // 查询弹窗赋值字段
+ searchPage: ItemApi.getBasicSpotCheckSelectSetPage, // 查询弹窗所需分页方法
+ multiple:true,
+ searchCondition: [{
+ key: 'available',
+ value: 'TRUE',
+ action: '==',
+ isSearch: true,
+ isMainValue: false
+ }]
+ }
+ }
+ },
+ {
+ label: '描述',
+ field: 'describing',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '项是否可修改',
+ field: 'isUpdated',
+ sort: 'custom',
+ dictType: DICT_TYPE.IS_UPDATED,
+ dictClass: 'string', // 默认都是字符串类型其他暂不考虑
+ isTable: true,
+ isDetail: false,
+ isSearch: true,
+ isTableForm: false,
+ isForm: true,
+ form: {
+ component: 'Switch',
+ value: 'TRUE',
+ componentProps: {
+ inactiveValue: 'FALSE',
+ activeValue: 'TRUE'
+ }
+ },
+ },
+ // {
+ // label: '保养项',
+ // field: 'type',
+ // sort: 'custom',
+ // isSearch: true,
+ // },
+ {
+ label: '创建时间',
+ field: 'createTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ isForm: false,
+ },
+ {
+ label: '部门id',
+ field: 'departmentCode',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '备注',
+ field: 'remark',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '地点ID',
+ field: 'siteId',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '是否可用',
+ field: 'available',
+ sort: 'custom',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string', // 默认都是字符串类型其他暂不考虑
+ isTable: true,
+ isDetail: false,
+ isSearch: false,
+ isTableForm: false,
+ isForm: false,
+ },
+ {
+ label: '删除时间',
+ field: 'deletionTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ valueFormat: 'x'
+ }
+ },
+ },
+ {
+ label: '删除人id',
+ field: 'deleterId',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '并发乐观锁',
+ field: 'concurrencyStamp',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ form: {
+ component: 'InputNumber',
+ value: 0
+ },
+ },
+ {
+ label: '操作',
+ field: 'action',
+ isForm: false,
+ table: {
+ width: 150,
+ fixed: 'right'
+ }
+ }
+]))
diff --git a/src/views/eam/basicSpotCheckOption/index.vue b/src/views/eam/basicSpotCheckOption/index.vue
new file mode 100644
index 000000000..b4bd13352
--- /dev/null
+++ b/src/views/eam/basicSpotCheckOption/index.vue
@@ -0,0 +1,300 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ row.code }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/eam/basicSpotCheckOption/itemSelectSetForm.vue b/src/views/eam/basicSpotCheckOption/itemSelectSetForm.vue
new file mode 100644
index 000000000..8791031d3
--- /dev/null
+++ b/src/views/eam/basicSpotCheckOption/itemSelectSetForm.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/eam/equipmentRepairJobMain/equipmentRepairJobMain.data.ts b/src/views/eam/equipmentRepairJobMain/equipmentRepairJobMain.data.ts
index 14f3d3a3a..e15b32625 100644
--- a/src/views/eam/equipmentRepairJobMain/equipmentRepairJobMain.data.ts
+++ b/src/views/eam/equipmentRepairJobMain/equipmentRepairJobMain.data.ts
@@ -4,7 +4,10 @@ import {EquipmentAccounts} from "@/views/eam/equipmentAccounts/equipmentAccounts
import * as EquipmentItemApi from "@/api/eam/equipmentAccounts";
import {BasicFaultCause} from "@/views/eam/basicFaultCause/basicFaultCause.data";
import * as ItemApi from "@/api/eam/basicFaultCause";
-import {getBasicFaultCausePage} from "@/api/eam/basicFaultCause";
+import {Workshop} from "@/views/wms/basicDataManage/factoryModeling/workshop/workshop.data";
+import * as WorkshopApi from "@/api/wms/workshop";
+import {BasicFaultType} from "@/views/eam/basicFaultType/basicFaultType.data";
+import * as BasicFaultTypeApi from "@/api/eam/basicFaultType";
// 表单校验
export const EquipmentRepairJobMainRules = reactive({
@@ -14,9 +17,9 @@ export const EquipmentRepairJobMainRules = reactive({
urgency: [required],
level: [required],
equipmentCode: [required],
- totalMinutes: [required],
faultType: [required],
status: [required],
+ shutDown:[required],
})
export const EquipmentRepairJobMain = useCrudSchemas(reactive([
@@ -34,6 +37,9 @@ export const EquipmentRepairJobMain = useCrudSchemas(reactive([
field: 'number',
sort: 'custom',
isSearch: true,
+ isTable: true,
+ isForm: false,
+ isDetail:true,
},
{
label: '设备类别',
@@ -48,20 +54,30 @@ export const EquipmentRepairJobMain = useCrudSchemas(reactive([
field: 'repairNumber',
sort: 'custom',
isSearch: true,
+ isTable: true,
+ isForm: false,
+ isDetail:true,
},
{
- label: '来源字典',
+ label: '来源',
field: 'sources',
sort: 'custom',
dictType: DICT_TYPE.EAM_MAINTENANCE_SOURCES,
dictClass: 'string',
isSearch: false,
+ isForm: true,
+ form:{
+ value:'1'
+ }
},
{
label: '维修描述',
field: 'maintenanceDesc',
sort: 'custom',
- isSearch: false,
+ isSearch: true,
+ isTable: true,
+ isForm: false,
+ isDetail:true,
},
{
label: '紧急程度',
@@ -121,6 +137,9 @@ export const EquipmentRepairJobMain = useCrudSchemas(reactive([
sort: 'custom',
formatter: dateFormatter,
isSearch: false,
+ isTable: true,
+ isForm: false,
+ isDetail:true,
search: {
component: 'DatePicker',
componentProps: {
@@ -143,6 +162,9 @@ export const EquipmentRepairJobMain = useCrudSchemas(reactive([
sort: 'custom',
formatter: dateFormatter,
isSearch: false,
+ isTable: true,
+ isForm: false,
+ isDetail:true,
search: {
component: 'DatePicker',
componentProps: {
@@ -164,18 +186,27 @@ export const EquipmentRepairJobMain = useCrudSchemas(reactive([
field: 'totalMinutes',
sort: 'custom',
isSearch: false,
+ isTable: true,
+ isForm: false,
+ isDetail:true,
},
{
label: '维修验证人',
field: 'verifyerRepair',
sort: 'custom',
isSearch: false,
+ isTable: true,
+ isForm: false,
+ isDetail:true,
},
{
label: '维修验证内容',
field: 'verifyContentRepair',
sort: 'custom',
isSearch: false,
+ isTable: true,
+ isForm: false,
+ isDetail:true,
},
{
label: '维修验证时间',
@@ -183,6 +214,9 @@ export const EquipmentRepairJobMain = useCrudSchemas(reactive([
sort: 'custom',
formatter: dateFormatter,
isSearch: false,
+ isTable: true,
+ isForm: false,
+ isDetail:true,
search: {
component: 'DatePicker',
componentProps: {
@@ -204,12 +238,18 @@ export const EquipmentRepairJobMain = useCrudSchemas(reactive([
field: 'verifyerReport',
sort: 'custom',
isSearch: false,
+ isTable: true,
+ isForm: false,
+ isDetail:true,
},
{
label: '报修验证内容',
field: 'verifyContentReport',
sort: 'custom',
isSearch: false,
+ isTable: true,
+ isForm: false,
+ isDetail:true,
},
{
label: '报修验证时间',
@@ -217,6 +257,9 @@ export const EquipmentRepairJobMain = useCrudSchemas(reactive([
sort: 'custom',
formatter: dateFormatter,
isSearch: false,
+ isTable: true,
+ isForm: false,
+ isDetail:true,
search: {
component: 'DatePicker',
componentProps: {
@@ -238,18 +281,29 @@ export const EquipmentRepairJobMain = useCrudSchemas(reactive([
field: 'maintenancer',
sort: 'custom',
isSearch: false,
+ isTable: true,
+ isForm: false,
+ isDetail:true,
},
{
label: '维修人联系电话',
field: 'maintenancePhone',
sort: 'custom',
isSearch: false,
+ isTable: true,
+ isForm: false,
+ isDetail:true,
},
{
label: '结果',
field: 'completeResult',
sort: 'custom',
- isSearch: true,
+ dictType: DICT_TYPE.EAM_COMPLETE_RESULT,
+ dictClass: 'string',
+ isSearch: false,
+ isTable: true,
+ isForm: false,
+ isDetail:true,
},
{
label: '完成时间',
@@ -257,6 +311,9 @@ export const EquipmentRepairJobMain = useCrudSchemas(reactive([
sort: 'custom',
formatter: dateFormatter,
isSearch: false,
+ isTable: true,
+ isForm: false,
+ isDetail:true,
search: {
component: 'DatePicker',
componentProps: {
@@ -304,6 +361,9 @@ export const EquipmentRepairJobMain = useCrudSchemas(reactive([
sort: 'custom',
formatter: dateFormatter,
isSearch: false,
+ isTable: true,
+ isForm: false,
+ isDetail:true,
search: {
component: 'DatePicker',
componentProps: {
@@ -325,14 +385,30 @@ export const EquipmentRepairJobMain = useCrudSchemas(reactive([
field: 'repairer',
sort: 'custom',
isSearch: false,
+ isTable: true,
+ isForm: false,
+ isDetail:true,
},
{
label: '故障类型',
field: 'faultType',
- dictType: DICT_TYPE.FAILURE_REASON,
- dictClass: 'string',
sort: 'custom',
isSearch: true,
+ form: {
+ componentProps: {
+ isSearchList: true, // 开启查询弹窗
+ searchListPlaceholder: '请选择故障类型', // 输入框占位文本
+ searchField: 'code', // 查询弹窗赋值字段
+ searchTitle: '车间信息', // 查询弹窗标题
+ searchAllSchemas: BasicFaultType.allSchemas, // 查询弹窗所需类
+ searchPage: BasicFaultTypeApi.getBasicFaultTypePage, // 查询弹窗所需分页方法
+ searchCondition: [{
+ key: 'available',
+ value: 'TRUE',
+ isMainValue: false
+ }]
+ }
+ },
},
{
label: '流程状态',
@@ -383,6 +459,23 @@ export const EquipmentRepairJobMain = useCrudSchemas(reactive([
field: 'workshopCode',
sort: 'custom',
isSearch: false,
+ required: true,
+ form: {
+ // labelMessage: '信息提示说明!!!',
+ componentProps: {
+ isSearchList: true, // 开启查询弹窗
+ searchListPlaceholder: '请选择车间', // 输入框占位文本
+ searchField: 'code', // 查询弹窗赋值字段
+ searchTitle: '车间信息', // 查询弹窗标题
+ searchAllSchemas: Workshop.allSchemas, // 查询弹窗所需类
+ searchPage: WorkshopApi.getWorkshopPage, // 查询弹窗所需分页方法
+ searchCondition: [{
+ key: 'available',
+ value: 'TRUE',
+ isMainValue: false
+ }]
+ }
+ },
},
// {
// label: '产线编号',
diff --git a/src/views/eam/equipmentRepairJobMain/finishForm1.vue b/src/views/eam/equipmentRepairJobMain/finishForm1.vue
index 6fe664349..d0b042e01 100644
--- a/src/views/eam/equipmentRepairJobMain/finishForm1.vue
+++ b/src/views/eam/equipmentRepairJobMain/finishForm1.vue
@@ -63,6 +63,7 @@ const InputRef = ref>()
const formData = ref({
id:'',
number:'',
+ sources:'',
verifyerRepair: '',
verifyContentRepair: '',
verifyTimeRepair: '',
@@ -158,6 +159,7 @@ const open = async (type: string, row?: object) => {
//初始化数据
formData.value.id = row.id
formData.value.number = row.number
+ formData.value.sources = row.sources
}
defineExpose({ open }) // 提供 open 方法,用于打开弹窗
@@ -172,7 +174,7 @@ const submitForm = async (val) => {
//发送数据
await EquipmentRepairJobMainApi.updateEquipmentRepairJobMain(formData.value)
//把success函数传递到父页面
- emit('success',formData.value.id)
+ emit('success',formData.value.id,formData.value.sources)
dialogVisible.value = false
}
diff --git a/src/views/eam/equipmentRepairJobMain/index.vue b/src/views/eam/equipmentRepairJobMain/index.vue
index 4360f477d..d11441bf7 100644
--- a/src/views/eam/equipmentRepairJobMain/index.vue
+++ b/src/views/eam/equipmentRepairJobMain/index.vue
@@ -48,11 +48,13 @@
:apiCreate="EquipmentRepairJobMainApi.createEquipmentRepairJobMain"
@searchTableSuccess="searchTableSuccess"
:isBusiness="false"
+ @onChange="onChange"
/>
+
{
}
}
+//true 是隐藏
+const isShowBaoXiuButton = (row) => {
+ if(row.sources =='0' && row.status == '7'){
+ return false
+ }else{
+ return true
+ }
+}
+
// 列表-操作按钮
const butttondata = (row) => {
@@ -170,9 +186,10 @@ const butttondata = (row) => {
defaultButtons.mainListEditBtn({hasPermi:'eam:equipmentRepairJobMain:update'}), // 编辑
defaultButtons.mainListReceiveOrderBtn({hide: isShowStatusButton(row,['3']),hasPermi:'eam:equipmentRepairJobMain:update'}), // 接单
defaultButtons.mainListExecuteBtn({hide: isShowStatusButton(row,['4']),hasPermi:'eam:equipmentRepairJobMain:update'}), // 执行
+ defaultButtons.mainListTransferBtn({hide: isShowStatusButton(row,['4']),hasPermi:'eam:equipmentRepairJobMain:update'}), // 转办
defaultButtons.mainListFinishBtn({hide: isShowStatusButton(row,['5']),hasPermi:'eam:equipmentRepairJobMain:update'}), //完成
defaultButtons.mainListValidateRepairBtn({hide: isShowStatusButton(row,['6']),hasPermi:'eam:equipmentRepairJobMain:update'}), // 维修验证
- defaultButtons.mainListValidateReportBtn({hide: isShowStatusButton(row,['7']),hasPermi:'eam:equipmentRepairJobMain:update'}), // 报修验证
+ defaultButtons.mainListValidateReportBtn({hide: isShowBaoXiuButton(row),hasPermi:'eam:equipmentRepairJobMain:update'}), // 报修验证
]
}
@@ -192,6 +209,8 @@ const buttonTableClick = async (val, row) => {
handleValidateRepair(row)
} else if (val == 'validate_report') { // 报修验证
handleValidateReport(row)
+ } else if (val == 'transfer') { // 转办
+ handleTransferReport(row)
}
@@ -200,6 +219,27 @@ const buttonTableClick = async (val, row) => {
/** 添加/修改操作 */
const basicFormRef = ref()
const openForm = (type: string, row?: any) => {
+ if(type == "create"){
+ EquipmentRepairJobMain.allSchemas.formSchema.forEach((item) => {
+ if(item.field == 'sources'){
+ item.value = '1'
+ item.componentProps.disabled = true
+ }
+ if(item.field == 'status'){
+ item.value = '3'
+ item.componentProps.disabled = true
+ }
+ })
+ }else{
+ EquipmentRepairJobMain.allSchemas.formSchema.forEach((item) => {
+ if(item.field == 'sources'){
+ item.componentProps.disabled = true
+ }
+ if(item.field == 'status'){
+ item.componentProps.disabled = true
+ }
+ })
+ }
basicFormRef.value.open(type, row)
}
@@ -261,26 +301,40 @@ const searchTableSuccessDetail = (formField, searchField, val, formRef ) => {
})
}
+/** 转办按钮操作 */
+const transferForm = ref()
+const handleTransferReport = async (row) => {
+ await message.delConfirm('是否转办所选中工单?');
+ transferForm.value.open('update', row);
+
+}
+
/** 报修验证按钮操作 */
const finishForm3Ref = ref()
const handleValidateReport = async (row) => {
await message.delConfirm('是否验证所选中工单?');
message.confirmPassword(t('')).then(async () => {
- // 二次确认
- //打开提交表单
- finishForm3Ref.value.open('update', row);
+ const params = ref({id: '', status:''})
+ params.value.id = row.id
+ params.value.status = '8'
+ //完结流转
+ await EquipmentRepairJobMainApi.createEquipmentRepairNewOrder(params.value)
+ message.success(t('工单已结束'))
+ // 刷新列表
+ await getList()
+
}).catch (async (action: Action) => {
- if(action === 'cancel'){
- const params = ref({id: '', status:''})
- params.value.id = row.id
- params.value.status = '5'
- //生成新工单
- await EquipmentRepairJobMainApi.backEquipmentRepairOrder(params.value)
- message.success(t('工单已打回'))
- // 刷新列表
- await getList()
- }
+ if(action === 'cancel'){
+ const params = ref({id: '', number:''})
+ params.value.id = row.id
+ params.value.number = row.number
+ //生成新工单
+ await EquipmentRepairJobMainApi.createEquipmentRepairNewOrder(params.value)
+ message.success(t('工单已结束'))
+ // 刷新列表
+ await getList()
+ }
})
}
@@ -378,16 +432,20 @@ const getClosed1=(val)=> {
}
//finishForm1 提交按钮回传
-const getData1=(val)=> {
+const getData1=(val1,val2)=> {
nextTick?.(async () => {
- console.log(val)
try {
const params = ref({
id: '',
status:'',
})
- params.value.id = val
- params.value.status = '7'
+ params.value.id = val1
+ if(val2 == '1'){
+ params.value.status = '8'
+ }
+ if(val2 == '0'){
+ params.value.status = '7'
+ }
await EquipmentRepairJobMainApi.updateEquipmentRepairOrder(params.value)
message.success(t('工单已流转'))
// 刷新列表
@@ -455,6 +513,63 @@ const getData3=(val)=> {
)
}
+
+//finishForm4 关闭按钮回传
+const getClosed4=(val)=> {
+ nextTick?.(() => {
+ console.log(val)
+ getList()
+ })
+}
+
+//finishForm4 提交按钮回传
+const getData4=(val)=> {
+ nextTick?.(async () => {
+ console.log(val)
+ try {
+ const params = ref({
+ id: '',
+ status:'',
+ })
+ params.value.id = val
+ params.value.status = '3'
+ await EquipmentRepairJobMainApi.updateEquipmentRepairOrder(params.value)
+ message.success(t('工单已流转'))
+ // 刷新列表
+ await getList()
+ } catch {}
+
+ }
+ )
+}
+
+const onChange = (field, item) => {
+ //设备
+ if(field == 'type' && item == 'DEVICE'){
+ EquipmentRepairJobMain.allSchemas.formSchema.forEach((items) => {
+ if (items.field == 'equipmentCode') {
+ basicFormRef.value.formRef.setValues({
+ equipmentCode:''
+ })
+ items.componentProps.searchAllSchemas = EquipmentAccounts.allSchemas
+ items.componentProps.searchPage = EquipmentItemApi.getEquipmentAccountsPage
+ }
+ })
+ }
+ //工装
+ if(field == 'type' && item == 'EQUIPMENT'){
+ EquipmentRepairJobMain.allSchemas.formSchema.forEach((items) => {
+ if (items.field == 'equipmentCode') {
+ basicFormRef.value.formRef.setValues({
+ equipmentCode:''
+ })
+ items.componentProps.searchAllSchemas = ToolAccounts.allSchemas
+ items.componentProps.searchPage = ToolItemApi.getToolAccountsPage
+ }
+ })
+ }
+}
+
/** 导出按钮操作 */
const exportLoading = ref(false) // 导出的加载中
const handleExport = async () => {
diff --git a/src/views/eam/equipmentRepairJobMain/transferForm.vue b/src/views/eam/equipmentRepairJobMain/transferForm.vue
new file mode 100644
index 000000000..e6fe8bfec
--- /dev/null
+++ b/src/views/eam/equipmentRepairJobMain/transferForm.vue
@@ -0,0 +1,344 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/eam/equipmentRepairRecordMain/equipmentRepairRecordMain.data.ts b/src/views/eam/equipmentRepairRecordMain/equipmentRepairRecordMain.data.ts
index 145876a38..c21187fa8 100644
--- a/src/views/eam/equipmentRepairRecordMain/equipmentRepairRecordMain.data.ts
+++ b/src/views/eam/equipmentRepairRecordMain/equipmentRepairRecordMain.data.ts
@@ -1,5 +1,7 @@
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";
// 表单校验
export const EquipmentRepairRecordMainRules = reactive({
@@ -11,7 +13,6 @@ export const EquipmentRepairRecordMainRules = reactive({
equipmentCode: [required],
totalMinutes: [required],
faultType: [required],
- concurrencyStamp: [required]
})
export const EquipmentRepairRecordMain = useCrudSchemas(reactive([
@@ -28,12 +29,9 @@ export const EquipmentRepairRecordMain = useCrudSchemas(reactive([
dictType: DICT_TYPE.DEVICE_TYPE,
dictClass: 'string', // 默认都是字符串类型其他暂不考虑
isSearch: true,
- form: {
- component: 'SelectV2'
- }
},
{
- label: '报修工单申请号',
+ label: '报修工单号',
field: 'repairNumber',
sort: 'custom',
isSearch: true
@@ -42,43 +40,56 @@ export const EquipmentRepairRecordMain = useCrudSchemas(reactive([
label: '来源字典',
field: 'sources',
sort: 'custom',
- dictType: DICT_TYPE.INFRA_BOOLEAN_STRING,
- dictClass: 'string', // 默认都是字符串类型其他暂不考虑
- isSearch: true
+ dictType: DICT_TYPE.EAM_MAINTENANCE_SOURCES,
+ dictClass: 'string', // 默认都是字符串类型其他暂不考虑
+ isSearch: false,
},
{
label: '维修描述',
field: 'maintenanceDesc',
sort: 'custom',
- isSearch: true
+ isSearch: false
},
{
label: '紧急程度',
field: 'urgency',
sort: 'custom',
- dictType: DICT_TYPE.REPAIR_DEGREE,
+ dictType: DICT_TYPE.EAM_MAINTENANCE_URGENCY,
dictClass: 'string', // 默认都是字符串类型其他暂不考虑
isSearch: true,
- form: {
- component: 'SelectV2'
- }
},
{
label: '维修级别',
field: 'level',
sort: 'custom',
- dictType: DICT_TYPE.REPAIR_LEVEL,
+ dictType: DICT_TYPE.EAM_MAINTENANCE_LEVEL,
dictClass: 'string', // 默认都是字符串类型其他暂不考虑
isSearch: true,
- form: {
- component: 'SelectV2'
- }
},
{
label: '设备编号',
field: 'equipmentCode',
sort: 'custom',
- isSearch: true
+ isSearch: true,
+ isForm: true,
+ form: {
+ componentProps: {
+ isSearchList: true, // 开启查询弹窗
+ searchTitle: '设备信息', // 查询弹窗标题
+ searchListPlaceholder: '请选择 设备编号', // 输入框占位文本
+ searchAllSchemas: EquipmentAccounts.allSchemas, // 查询弹窗所需类
+ searchField: 'code', // 查询弹窗赋值字段
+ searchPage: EquipmentItemApi.getEquipmentAccountsPage, // 查询弹窗所需分页方法
+ multiple:true,
+ searchCondition: [{
+ key: 'status',
+ value: 'NORMAL',
+ action: '==',
+ isSearch: true,
+ isMainValue: false
+ }]
+ }
+ }
},
{
label: '是否停机',
@@ -96,7 +107,7 @@ export const EquipmentRepairRecordMain = useCrudSchemas(reactive([
field: 'startTime',
sort: 'custom',
formatter: dateFormatter,
- isSearch: true,
+ isSearch: false,
search: {
component: 'DatePicker',
componentProps: {
@@ -118,7 +129,7 @@ export const EquipmentRepairRecordMain = useCrudSchemas(reactive([
field: 'endTime',
sort: 'custom',
formatter: dateFormatter,
- isSearch: true,
+ isSearch: false,
search: {
component: 'DatePicker',
componentProps: {
@@ -139,23 +150,25 @@ export const EquipmentRepairRecordMain = useCrudSchemas(reactive([
label: '维修时间',
field: 'totalMinutes',
sort: 'custom',
- isSearch: true
+ isSearch: false
},
{
label: '验证人',
field: 'verifyer',
sort: 'custom',
- isSearch: true,
- form: {
- component: 'InputNumber',
- value: 0
- }
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
},
{
label: '验证内容',
field: 'verifyContent',
sort: 'custom',
- isSearch: true,
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
form: {
component: 'Editor',
componentProps: {
@@ -169,7 +182,10 @@ export const EquipmentRepairRecordMain = useCrudSchemas(reactive([
field: 'verifyTime',
sort: 'custom',
formatter: dateFormatter,
- isSearch: true,
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
search: {
component: 'DatePicker',
componentProps: {
@@ -190,35 +206,31 @@ export const EquipmentRepairRecordMain = useCrudSchemas(reactive([
label: '执行人',
field: 'maintenancer',
sort: 'custom',
- isSearch: true,
- form: {
- component: 'InputNumber',
- value: 0
- }
+ isSearch: false,
},
{
label: '维修人联系电话',
field: 'maintenancePhone',
sort: 'custom',
- isSearch: true
+ isSearch: false
},
{
label: '结果枚举',
field: 'completeResult',
sort: 'custom',
- dictType: DICT_TYPE.INFRA_BOOLEAN_STRING,
+ dictType: DICT_TYPE.EAM_COMPLETE_RESULT,
dictClass: 'string', // 默认都是字符串类型其他暂不考虑
- isSearch: true,
- form: {
- component: 'SelectV2'
- }
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
},
{
label: '完成时间',
field: 'completionTime',
sort: 'custom',
formatter: dateFormatter,
- isSearch: true,
+ isSearch: false,
search: {
component: 'DatePicker',
componentProps: {
@@ -240,7 +252,10 @@ export const EquipmentRepairRecordMain = useCrudSchemas(reactive([
field: 'maintenanceTime',
sort: 'custom',
formatter: dateFormatter,
- isSearch: true,
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
search: {
component: 'DatePicker',
componentProps: {
@@ -262,7 +277,7 @@ export const EquipmentRepairRecordMain = useCrudSchemas(reactive([
field: 'repairTime',
sort: 'custom',
formatter: dateFormatter,
- isSearch: true,
+ isSearch: false,
search: {
component: 'DatePicker',
componentProps: {
@@ -283,11 +298,7 @@ export const EquipmentRepairRecordMain = useCrudSchemas(reactive([
label: '报修人',
field: 'repairer',
sort: 'custom',
- isSearch: true,
- form: {
- component: 'InputNumber',
- value: 0
- }
+ isSearch: false,
},
{
label: '故障类型',
@@ -296,75 +307,86 @@ export const EquipmentRepairRecordMain = useCrudSchemas(reactive([
dictType: DICT_TYPE.FAILURE_REASON,
dictClass: 'string', // 默认都是字符串类型其他暂不考虑
isSearch: true,
- form: {
- component: 'SelectV2'
- }
},
{
label: '流程状态',
field: 'status',
sort: 'custom',
+ dictType: DICT_TYPE.EAM_REPAIR_STATUS,
+ dictClass: 'string',
isSearch: true,
- form: {
- component: 'Radio'
- }
},
{
label: '自动接单',
field: 'autoOrder',
sort: 'custom',
- isSearch: true
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
},
{
label: '自动执行',
field: 'autoPerform',
sort: 'custom',
- isSearch: true
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
},
{
label: '自动验证',
field: 'autoVerify',
sort: 'custom',
- isSearch: true
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
},
{
label: '直接生成记录',
field: 'directCreateRecord',
sort: 'custom',
- isSearch: true
+ isSearch: false
},
{
label: '班组类型',
field: 'classType',
sort: 'custom',
- isSearch: true,
- form: {
- component: 'SelectV2'
- }
+ isSearch: false,
},
{
label: '所属厂区编号',
field: 'factoryAreaCode',
sort: 'custom',
- isSearch: true
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
},
{
label: '车间编号',
field: 'workshopCode',
sort: 'custom',
- isSearch: true
+ isSearch: false
},
{
label: '工段编号',
field: 'workshopSectionCode',
sort: 'custom',
- isSearch: true
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
},
{
label: '备注',
field: 'remark',
sort: 'custom',
- isSearch: true
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
},
{
label: '是否可用',
@@ -372,7 +394,10 @@ export const EquipmentRepairRecordMain = useCrudSchemas(reactive([
sort: 'custom',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string', // 默认都是字符串类型其他暂不考虑
- isSearch: true
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
},
{
label: '操作',
diff --git a/src/views/eam/equipmentRepairRecordMain/index.vue b/src/views/eam/equipmentRepairRecordMain/index.vue
index d06fdd899..a56616c42 100644
--- a/src/views/eam/equipmentRepairRecordMain/index.vue
+++ b/src/views/eam/equipmentRepairRecordMain/index.vue
@@ -27,9 +27,9 @@
v-model:currentPage="tableObject.currentPage"
v-model:sort="tableObject.sort"
>
-
-
- {{ row.code }}
+
+
+ {{ row.number }}
@@ -51,7 +51,16 @@
/>
-
+
@@ -60,7 +69,9 @@
+
+
diff --git a/src/views/eam/planInspection/index.vue b/src/views/eam/planInspection/index.vue
new file mode 100644
index 000000000..5ad07790f
--- /dev/null
+++ b/src/views/eam/planInspection/index.vue
@@ -0,0 +1,419 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ row.number }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/eam/planInspection/planInspection.data.ts b/src/views/eam/planInspection/planInspection.data.ts
new file mode 100644
index 000000000..a9bb8ef8c
--- /dev/null
+++ b/src/views/eam/planInspection/planInspection.data.ts
@@ -0,0 +1,395 @@
+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 * as BasicInspectionApi from "@/api/eam/basicInspectionOption";
+import {BasicInspectionOption} from "@/views/eam/basicInspectionOption/basicInspectionOption.data";
+import {getBasicInspectionOptionPage} from "@/api/eam/basicInspectionOption";
+import {Workshop} from "@/views/wms/basicDataManage/factoryModeling/workshop/workshop.data";
+import * as WorkshopApi from "@/api/wms/workshop";
+
+// 表单校验
+export const PlanInspectionRules = reactive({
+ number: [required],
+ name: [required],
+ equipmentCode: [required],
+ optionCode: [required],
+ cycle: [required],
+ startTime: [required],
+ endTime: [required],
+})
+
+export const PlanInspection = useCrudSchemas(reactive([
+ {
+ label: 'id',
+ field: 'id',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '计划编号',
+ field: 'number',
+ sort: 'custom',
+ isSearch: true,
+ isForm: false,
+ isDetail:true,
+ },
+ {
+ label: '计划名称',
+ field: 'name',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '设备类别',
+ field: 'type',
+ dictType: DICT_TYPE.DEVICE_TYPE,
+ dictClass: 'string',
+ sort: 'custom',
+ isSearch: false,
+ },
+ {
+ label: '设备工装编号',
+ field: 'equipmentCode',
+ sort: 'custom',
+ isSearch: true,
+ isForm: true,
+ form: {
+ componentProps: {
+ isSearchList: true, // 开启查询弹窗
+ searchTitle: '设备信息', // 查询弹窗标题
+ searchListPlaceholder: '请选择 设备编号', // 输入框占位文本
+ searchAllSchemas: EquipmentAccounts.allSchemas, // 查询弹窗所需类
+ searchField: 'code', // 查询弹窗赋值字段
+ searchPage: EquipmentItemApi.getEquipmentAccountsPage, // 查询弹窗所需分页方法
+ multiple:true,
+ searchCondition: [{
+ key: 'status',
+ value: 'NORMAL',
+ action: '==',
+ isSearch: true,
+ isMainValue: false
+ }]
+ }
+ }
+ },
+ {
+ label: '方案编号',
+ field: 'optionCode',
+ sort: 'custom',
+ isSearch: true,
+ isForm: true,
+ form: {
+ componentProps: {
+ isSearchList: true, // 开启查询弹窗
+ searchTitle: '巡检方案信息', // 查询弹窗标题
+ searchListPlaceholder: '请选择巡检方案', // 输入框占位文本
+ searchAllSchemas: BasicInspectionOption.allSchemas, // 查询弹窗所需类
+ searchField: 'code', // 查询弹窗赋值字段
+ searchPage: BasicInspectionApi.getBasicInspectionOptionPage, // 查询弹窗所需分页方法
+ multiple:true,
+ searchCondition: [{
+ key: 'available',
+ value: 'TRUE',
+ action: '==',
+ isSearch: true,
+ isMainValue: false
+ }]
+ }
+ }
+ },
+ {
+ label: '计划类型',
+ field: 'cycle',
+ dictType: DICT_TYPE.INSPECTION_CYCLE,
+ dictClass: 'string',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '计划开始时间',
+ field: 'startTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ isSearch: false,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ valueFormat: 'x'
+ }
+ },
+ },
+ {
+ label: '计划结束时间',
+ field: 'endTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ isSearch: false,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ valueFormat: 'x'
+ }
+ },
+ },
+ {
+ label: '状态',
+ field: 'status',
+ sort: 'custom',
+ isSearch: true,
+ dictType: DICT_TYPE.EAM_PLAN_STATUS,
+ dictClass: 'string',
+ },
+ {
+ label: '审核人',
+ field: 'approver',
+ sort: 'custom',
+ isSearch: false,
+ },
+ {
+ label: '审核内容',
+ field: 'approveContent',
+ sort: 'custom',
+ isSearch: false,
+ },
+ {
+ label: '审核时间',
+ field: 'approveTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ isSearch: false,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ valueFormat: 'x'
+ }
+ },
+ },
+ {
+ label: '自动审核',
+ field: 'autoExamine',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '自动通过',
+ field: 'autoAgree',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '直接生成记录',
+ field: 'directCreateRecord',
+ sort: 'custom',
+ isSearch: false,
+ },
+ {
+ label: '所属厂区编号',
+ field: 'factoryAreaCode',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '车间编号',
+ field: 'workshopCode',
+ sort: 'custom',
+ isSearch: false,
+ required: true,
+ form: {
+ // labelMessage: '信息提示说明!!!',
+ componentProps: {
+ isSearchList: true, // 开启查询弹窗
+ searchListPlaceholder: '车间', // 输入框占位文本
+ searchField: 'code', // 查询弹窗赋值字段
+ searchTitle: '车间信息', // 查询弹窗标题
+ searchAllSchemas: Workshop.allSchemas, // 查询弹窗所需类
+ searchPage: WorkshopApi.getWorkshopPage, // 查询弹窗所需分页方法
+ searchCondition: [{
+ key: 'available',
+ value: 'TRUE',
+ isMainValue: false
+ }]
+ }
+ },
+ },
+ {
+ label: '产线编号',
+ field: 'lineCode',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '工序编号',
+ field: 'processCode',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '工位编号',
+ field: 'workstationCode',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '创建时间',
+ field: 'createTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ isForm: false,
+ },
+ {
+ label: '部门id',
+ field: 'departmentCode',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '备注',
+ field: 'remark',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '地点ID',
+ field: 'siteId',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '是否可用',
+ field: 'available',
+ sort: 'custom',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string', // 默认都是字符串类型其他暂不考虑
+ isTable: true,
+ isDetail: false,
+ isSearch: true,
+ isTableForm: false,
+ isForm: false,
+ },
+ {
+ label: '删除时间',
+ field: 'deletionTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ valueFormat: 'x'
+ }
+ },
+ },
+ {
+ label: '删除人id',
+ field: 'deleterId',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '并发乐观锁',
+ field: 'concurrencyStamp',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ form: {
+ component: 'InputNumber',
+ value: 0
+ },
+ },
+ {
+ label: '操作',
+ field: 'action',
+ isForm: false,
+ table: {
+ width: 150,
+ fixed: 'right'
+ }
+ }
+]))
diff --git a/src/views/eam/planSpotCheck/audiForm.vue b/src/views/eam/planSpotCheck/audiForm.vue
new file mode 100644
index 000000000..1d2e36630
--- /dev/null
+++ b/src/views/eam/planSpotCheck/audiForm.vue
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/views/eam/planSpotCheck/index.vue b/src/views/eam/planSpotCheck/index.vue
new file mode 100644
index 000000000..cf19403c8
--- /dev/null
+++ b/src/views/eam/planSpotCheck/index.vue
@@ -0,0 +1,422 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ row.number }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/eam/planSpotCheck/planSpotCheck.data.ts b/src/views/eam/planSpotCheck/planSpotCheck.data.ts
new file mode 100644
index 000000000..26636766a
--- /dev/null
+++ b/src/views/eam/planSpotCheck/planSpotCheck.data.ts
@@ -0,0 +1,394 @@
+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 * as SpotCheckOptionApi from "@/api/eam/basicSpotCheckOption";
+import {BasicSpotCheckOption} from "@/views/eam/basicSpotCheckOption/basicSpotCheckOption.data";
+import {Workshop} from "@/views/wms/basicDataManage/factoryModeling/workshop/workshop.data";
+import * as WorkshopApi from "@/api/wms/workshop";
+
+// 表单校验
+export const PlanSpotCheckRules = reactive({
+ number: [required],
+ name: [required],
+ equipmentCode: [required],
+ optionCode: [required],
+ cycle: [required],
+ startTime: [required],
+ endTime: [required],
+})
+
+export const PlanSpotCheck = useCrudSchemas(reactive([
+ {
+ label: 'id',
+ field: 'id',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '计划编号',
+ field: 'number',
+ sort: 'custom',
+ isSearch: true,
+ isForm: false,
+ isDetail:true,
+ },
+ {
+ label: '计划名称',
+ field: 'name',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '设备类别',
+ field: 'type',
+ dictType: DICT_TYPE.DEVICE_TYPE,
+ dictClass: 'string',
+ sort: 'custom',
+ isSearch: false,
+ },
+ {
+ label: '设备工装编号',
+ field: 'equipmentCode',
+ sort: 'custom',
+ isSearch: true,
+ isForm: true,
+ form: {
+ componentProps: {
+ isSearchList: true, // 开启查询弹窗
+ searchTitle: '设备信息', // 查询弹窗标题
+ searchListPlaceholder: '请选择 设备编号', // 输入框占位文本
+ searchAllSchemas: EquipmentAccounts.allSchemas, // 查询弹窗所需类
+ searchField: 'code', // 查询弹窗赋值字段
+ searchPage: EquipmentItemApi.getEquipmentAccountsPage, // 查询弹窗所需分页方法
+ multiple:true,
+ searchCondition: [{
+ key: 'status',
+ value: 'NORMAL',
+ action: '==',
+ isSearch: true,
+ isMainValue: false
+ }]
+ }
+ }
+ },
+ {
+ label: '方案编号',
+ field: 'optionCode',
+ sort: 'custom',
+ isSearch: true,
+ isForm: true,
+ form: {
+ componentProps: {
+ isSearchList: true, // 开启查询弹窗
+ searchTitle: '点检方案信息', // 查询弹窗标题
+ searchListPlaceholder: '请选择点检方案', // 输入框占位文本
+ searchAllSchemas: BasicSpotCheckOption.allSchemas, // 查询弹窗所需类
+ searchField: 'code', // 查询弹窗赋值字段
+ searchPage: SpotCheckOptionApi.getBasicSpotCheckOptionPage, // 查询弹窗所需分页方法
+ multiple:true,
+ searchCondition: [{
+ key: 'available',
+ value: 'TRUE',
+ action: '==',
+ isSearch: true,
+ isMainValue: false
+ }]
+ }
+ }
+ },
+ {
+ label: '计划类型',
+ field: 'cycle',
+ dictType: DICT_TYPE.SPOTCHECK_CYCLE,
+ dictClass: 'string',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '计划开始时间',
+ field: 'startTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ isSearch: false,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ valueFormat: 'x'
+ }
+ },
+ },
+ {
+ label: '计划结束时间',
+ field: 'endTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ isSearch: false,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ valueFormat: 'x'
+ }
+ },
+ },
+ {
+ label: '状态',
+ field: 'status',
+ sort: 'custom',
+ isSearch: true,
+ dictType: DICT_TYPE.EAM_PLAN_STATUS,
+ dictClass: 'string',
+ },
+ {
+ label: '审核人',
+ field: 'approver',
+ sort: 'custom',
+ isSearch: false,
+ },
+ {
+ label: '审核内容',
+ field: 'approveContent',
+ sort: 'custom',
+ isSearch: false,
+ },
+ {
+ label: '审核时间',
+ field: 'approveTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ isSearch: false,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ valueFormat: 'x'
+ }
+ },
+ },
+ {
+ label: '自动审核',
+ field: 'autoExamine',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '自动通过',
+ field: 'autoAgree',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '直接生成记录',
+ field: 'directCreateRecord',
+ sort: 'custom',
+ isSearch: false,
+ },
+ {
+ label: '所属厂区编号',
+ field: 'factoryAreaCode',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '车间编号',
+ field: 'workshopCode',
+ sort: 'custom',
+ isSearch: false,
+ required: true,
+ form: {
+ // labelMessage: '信息提示说明!!!',
+ componentProps: {
+ isSearchList: true, // 开启查询弹窗
+ searchListPlaceholder: '车间', // 输入框占位文本
+ searchField: 'code', // 查询弹窗赋值字段
+ searchTitle: '车间信息', // 查询弹窗标题
+ searchAllSchemas: Workshop.allSchemas, // 查询弹窗所需类
+ searchPage: WorkshopApi.getWorkshopPage, // 查询弹窗所需分页方法
+ searchCondition: [{
+ key: 'available',
+ value: 'TRUE',
+ isMainValue: false
+ }]
+ }
+ },
+ },
+ {
+ label: '产线编号',
+ field: 'lineCode',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '工序编号',
+ field: 'processCode',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '工位编号',
+ field: 'workstationCode',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '创建时间',
+ field: 'createTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ isForm: false,
+ },
+ {
+ label: '部门id',
+ field: 'departmentCode',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '备注',
+ field: 'remark',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '地点ID',
+ field: 'siteId',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '是否可用',
+ field: 'available',
+ sort: 'custom',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string', // 默认都是字符串类型其他暂不考虑
+ isTable: true,
+ isDetail: false,
+ isSearch: true,
+ isTableForm: false,
+ isForm: false,
+ },
+ {
+ label: '删除时间',
+ field: 'deletionTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ valueFormat: 'x'
+ }
+ },
+ },
+ {
+ label: '删除人id',
+ field: 'deleterId',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '并发乐观锁',
+ field: 'concurrencyStamp',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ form: {
+ component: 'InputNumber',
+ value: 0
+ },
+ },
+ {
+ label: '操作',
+ field: 'action',
+ isForm: false,
+ table: {
+ width: 150,
+ fixed: 'right'
+ }
+ }
+]))
diff --git a/src/views/eam/sparePart/sparePart.data.ts b/src/views/eam/sparePart/sparePart.data.ts
index bd87fd3bf..86f74f2ab 100644
--- a/src/views/eam/sparePart/sparePart.data.ts
+++ b/src/views/eam/sparePart/sparePart.data.ts
@@ -25,7 +25,7 @@ export const SparePart = useCrudSchemas(reactive([
isSearch: false,
isTable: false,
isForm: false,
- isDetail:false,
+ isDetail:false
},
{
label: '备件编号',
@@ -197,7 +197,6 @@ export const SparePart = useCrudSchemas(reactive([
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
}
},
- isForm: false,
},
{
label: '部门id',
diff --git a/src/views/eam/sparePartsApplyMain/SparePartsApply.data.ts b/src/views/eam/sparePartsApplyMain/SparePartsApply.data.ts
index b58324f71..799716543 100644
--- a/src/views/eam/sparePartsApplyMain/SparePartsApply.data.ts
+++ b/src/views/eam/sparePartsApplyMain/SparePartsApply.data.ts
@@ -28,16 +28,18 @@ export const SparePartsApplyMain = useCrudSchemas(
field: 'sumVal',
sort: 'custom',
isSearch: false,
+ isTable: false,
isForm: false
},
{
label: '流程状态',
field: 'status',
sort: 'custom',
- isSearch: false,
- isForm: false,
+ dictType: DICT_TYPE.SPAREPARTS_APPLY_STATUS_ENUM,
+ dictClass: 'string', // 默认都是字符串类型其他暂不考虑
+ isSearch: true,
form: {
- component: 'Radio'
+ component: 'Select'
}
},
{
@@ -45,6 +47,7 @@ export const SparePartsApplyMain = useCrudSchemas(
field: 'applyer',
sort: 'custom',
isSearch: false,
+ isTable: false,
isForm: false
},
{
@@ -52,6 +55,7 @@ export const SparePartsApplyMain = useCrudSchemas(
field: 'approver',
sort: 'custom',
isSearch: false,
+ isTable: false,
isForm: false,
form: {
component: 'InputNumber',
@@ -63,6 +67,7 @@ export const SparePartsApplyMain = useCrudSchemas(
field: 'approveContent',
sort: 'custom',
isSearch: true,
+ isTable: false,
isForm: false
},
{
@@ -71,6 +76,7 @@ export const SparePartsApplyMain = useCrudSchemas(
sort: 'custom',
formatter: dateFormatter,
isSearch: false,
+ isTable: false,
isForm: false,
search: {
component: 'DatePicker',
@@ -93,6 +99,7 @@ export const SparePartsApplyMain = useCrudSchemas(
field: 'autoExamine',
sort: 'custom',
isSearch: false,
+ isTable: false,
isForm: false
},
{
@@ -100,6 +107,7 @@ export const SparePartsApplyMain = useCrudSchemas(
field: 'autoAgree',
sort: 'custom',
isSearch: false,
+ isTable: false,
isForm: false
},
{
@@ -107,6 +115,7 @@ export const SparePartsApplyMain = useCrudSchemas(
field: 'directCreateRecord',
sort: 'custom',
isSearch: false,
+ isTable: false,
isForm: false
},
{
@@ -115,6 +124,7 @@ export const SparePartsApplyMain = useCrudSchemas(
sort: 'custom',
formatter: dateFormatter,
isSearch: false,
+ isTable: false,
search: {
component: 'DatePicker',
componentProps: {
diff --git a/src/views/eam/sparepartsinlocation/index.vue b/src/views/eam/sparepartsinlocation/index.vue
new file mode 100644
index 000000000..f7fdcfb65
--- /dev/null
+++ b/src/views/eam/sparepartsinlocation/index.vue
@@ -0,0 +1,438 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ row.number }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/eam/sparepartsinlocation/sparePartsInLocationMain.data.ts b/src/views/eam/sparepartsinlocation/sparePartsInLocationMain.data.ts
new file mode 100644
index 000000000..c9cd5edb4
--- /dev/null
+++ b/src/views/eam/sparepartsinlocation/sparePartsInLocationMain.data.ts
@@ -0,0 +1,297 @@
+import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
+import { dateFormatter } from '@/utils/formatTime'
+import * as LocationApi from '@/api/wms/location'
+import { Location } from '@/views/wms/basicDataManage/factoryModeling/location/location.data'
+import * as ItemAccountsApi from '@/api/eam/itemAccounts'
+import { ItemAccounts } from '@/views/eam/itemAccounts/itemAccounts.data'
+
+
+// 表单校验
+export const SparePartsInLocationMainRules = reactive({
+ number: [required],
+ theme: [required],
+ type: [required],
+})
+// 备件入库主表
+export const SparePartsInLocationMain = useCrudSchemas(reactive([
+ {
+ label: 'id',
+ field: 'id',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '编号',
+ field: 'number',
+ sort: 'custom',
+ isSearch: true,
+ isForm: false,
+ },
+ {
+ label: '入库主题',
+ field: 'theme',
+ sort: 'custom',
+ isSearch: true,
+ },{
+ label: '入库类型',
+ field: 'type',
+ sort: 'custom',
+ dictType: DICT_TYPE.PUT_IN_TYPE,
+ dictClass: 'string',
+
+ },
+ {
+ label: '流程状态',
+ field: 'status',
+ sort: 'custom',
+ isSearch: false,
+ isForm:false,
+
+ dictType: DICT_TYPE.SPAREPARTS_APPLY_STATUS_ENUM,
+ dictClass: 'string',
+
+ },
+ {
+ label: '入库申请人',
+ field: 'applyer',
+ sort: 'custom',
+ isSearch: false,
+ },
+ {
+ label: '审核人',
+ field: 'approver',
+ sort: 'custom',
+ isSearch: false,
+ isForm:false
+ },
+ {
+ label: '审核内容',
+ field: 'approveContent',
+ sort: 'custom',
+ isSearch: false,
+ isForm:false
+ },
+ {
+ label: '审核时间',
+ field: 'approveTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ isSearch: false,
+ isForm:false,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ valueFormat: 'x'
+ }
+ },
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ },
+ {
+ label: '入库时间',
+ field: 'createTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ isSearch: false,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ isForm: false,
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ },
+
+
+ {
+ label: '备注',
+ field: 'remark',
+ sort: 'custom',
+ isSearch: false,
+ },
+
+ {
+ label: '操作',
+ field: 'action',
+ isForm: false,
+ table: {
+ width: 220,
+ fixed: 'right'
+ },
+ isDetail:false
+ }
+]))
+// 备件入库子表
+export const SparePartsInLocationDetailRules = reactive({
+ number: [required],
+ masterId: [required],
+ locationCode: [required],
+ areaCode: [required],
+ sparePartsCode: [required],
+ applyQty: [required],
+})
+
+export const SparePartsInLocationDetail = useCrudSchemas(reactive([
+ {
+ label: '库位编号',
+ field: 'locationCode',
+ sort: 'custom',
+ isSearch: false,
+ form: {
+ componentProps: {
+ isSearchList: true, // 开启查询弹窗
+ searchListPlaceholder: '请选择库位编号', // 输入框占位文本
+ searchField: 'code', // 查询弹窗赋值字段
+ searchTitle: '库位信息', // 查询弹窗标题
+ searchAllSchemas: Location.allSchemas, // 查询弹窗所需类
+ searchPage: LocationApi.getLocationPage, // 查询弹窗所需分页方法
+ searchCondition: [
+ {
+ key: 'available',
+ value: 'TRUE',
+ isMainValue: false
+ }
+ ]
+ }
+ },
+ tableForm: {
+ // isInpuFocusShow: true,
+ // searchListPlaceholder: '请选择备件编号', // 输入框占位文本
+ // searchField: 'itemNumber', // 查询弹窗赋值字段
+ // searchTitle: '备件信息', // 查询弹窗标题
+ // searchAllSchemas: Location.allSchemas, // 查询弹窗所需类
+ // searchPage: LocationApi.getLocationPage, // 查询弹窗所需分页方法
+ // searchCondition: [
+ // {
+ // key: 'available',
+ // value: 'TRUE',
+ // isMainValue: false
+ // }
+ // ]
+ }
+ },
+ {
+ label: '库区编号',
+ field: 'areaCode',
+ sort: 'custom',
+ isSearch: false,
+ form: {
+ componentProps: {
+ disabled: true
+ }
+ },
+ tableForm:{
+ // disabled: true
+ }
+ },
+ {
+ label: '备件编号',
+ field: 'sparePartsCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ componentProps: {
+ disabled: true
+ }
+ },
+ tableForm:{
+ // disabled: true
+ }
+ },
+ {
+ label: '库存数量',
+ field: 'currentQty',
+ sort: 'custom',
+ isSearch: false,
+ tableForm: {
+ disabled: true
+ },
+ form:{
+ componentProps:{
+ disabled: true
+ }
+ },
+ isDetail:false,
+ isTable:false
+ },
+ {
+ label: '申领数量',
+ field: 'applyQty',
+ sort: 'custom',
+ isSearch: false
+ },
+ {
+ label: '创建时间',
+ field: 'createTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ isSearch: true,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ isForm: false,
+ isTableForm:false
+ },
+ {
+ label: '备注',
+ field: 'remark',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '操作',
+ field: 'action',
+ isForm: false,
+ table: {
+ width: 150,
+ fixed: 'right'
+ },
+ isTableForm:false,
+ isTable:false
+ }
+]))
+export const SparePartsInLocationExamineRules = reactive({
+ approver: [required],
+ approveContent: [required],
+ sparePartsCode: [required],
+})
+// 审核完成字段
+export const SparePartsInLocationExamine = useCrudSchemas(reactive([
+ {
+ label: '审核内容',
+ field: 'approveContent',
+ sort: 'custom',
+ isSearch: false,
+ form:{
+ componentProps:{
+
+ }
+ }
+ },
+]))
+
diff --git a/src/views/eam/spotCheckItem/spotCheckItem.data.ts b/src/views/eam/spotCheckItem/spotCheckItem.data.ts
index a04484032..51edbbba5 100644
--- a/src/views/eam/spotCheckItem/spotCheckItem.data.ts
+++ b/src/views/eam/spotCheckItem/spotCheckItem.data.ts
@@ -26,6 +26,12 @@ export const SpotCheckItem = useCrudSchemas(reactive([
component:'InputNumber'
},
},
+ {
+ label: '点检名称',
+ field: 'name',
+ sort: 'custom',
+ isSearch: true
+ },
{
label: '点检内容',
field: 'content',
diff --git a/src/views/eam/spotCheckSelectSet/spotCheckSelectSet.data.ts b/src/views/eam/spotCheckSelectSet/spotCheckSelectSet.data.ts
index a676dc588..a0344e5b0 100644
--- a/src/views/eam/spotCheckSelectSet/spotCheckSelectSet.data.ts
+++ b/src/views/eam/spotCheckSelectSet/spotCheckSelectSet.data.ts
@@ -14,7 +14,7 @@ export const BasicSpotCheckSelectSet = useCrudSchemas(reactive([
field: 'id',
sort: 'custom',
isSearch: false,
- isTable: false,
+ isTable: true,
isForm: false,
isDetail:false,
},
diff --git a/src/views/login/forgetPassword.vue b/src/views/login/forgetPassword.vue
index 2b73fa777..50f5ef9f7 100644
--- a/src/views/login/forgetPassword.vue
+++ b/src/views/login/forgetPassword.vue
@@ -50,7 +50,7 @@
try {
const data = loginData as unknown as UserApi.UserVO
await UserApi.forgetPassword(data)
- message.success(t('common.updateSuccess'))
+ message.success(t('common.emailSentSuccess'))
// 发送操作成功的事件
router.go(-1)
} finally {
diff --git a/src/views/qms/inspectionJob/addForm.vue b/src/views/qms/inspectionJob/addForm.vue
index 3c1069f03..06ecd6095 100644
--- a/src/views/qms/inspectionJob/addForm.vue
+++ b/src/views/qms/inspectionJob/addForm.vue
@@ -371,7 +371,7 @@
// rules.value['inspectionJobCharacteristicsUpdateReqVO.quantifyCapping'][0].required = true
if (!item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList) {
// 单个录入时
- if (item.inspectionJobCharacteristicsUpdateReqVO.resultEntryMethod == 0) {
+ if (item.inspectionJobCharacteristicsUpdateReqVO.resultEntryMethod == 2) {
// rules.value['inspectionJobCharacteristicsUpdateReqVO.quantifyCapping'][0].required = true
item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList = []
for (let i = 0; i < parseInt(item.inspectionJobCharacteristicsUpdateReqVO.sampleQty); i++) {
diff --git a/src/views/qms/inspectionScheme/addForm.vue b/src/views/qms/inspectionScheme/addForm.vue
index 540a2dc53..c96d8ffa4 100644
--- a/src/views/qms/inspectionScheme/addForm.vue
+++ b/src/views/qms/inspectionScheme/addForm.vue
@@ -157,7 +157,7 @@