diff --git a/src/api/mes/orderDay/index.ts b/src/api/mes/orderDay/index.ts
index 0b88e4782..852c8f0e3 100644
--- a/src/api/mes/orderDay/index.ts
+++ b/src/api/mes/orderDay/index.ts
@@ -83,6 +83,11 @@ export const getProcessroutesDetail = async (code) => {
export const getPlanBom = async (params) => {
return await request.get({ url: `/mes/orderday/getBomInfo`,params })
}
+
+// 根据获取计划BOM信息
+export const getBomInfoTree = async (params) => {
+ return await request.get({ url: `/mes/orderday/getBomInfoTree`,params })
+}
// 根据计划的车间、产线、计划时间 查询已经配置的人员
export const getPlanWorks = async (params) => {
return await request.get({ url: `/mes/orderday/getWorkGroup`,params })
diff --git a/src/api/mes/processroute/index.ts b/src/api/mes/processroute/index.ts
index be6648c4f..f80f4aab1 100644
--- a/src/api/mes/processroute/index.ts
+++ b/src/api/mes/processroute/index.ts
@@ -75,6 +75,7 @@ export const getProductInfo =async (code:String) => {
// 获取设备列表-参数为工序编码
export const getDeviceList =async (code:String) => {
//return request.get({ url: `/wms/itembasic/getProduct?code=`+code})
+ return request.get({ url: `/wms/itembasic/getProduct?code=`+code})
return {code:0,data:[{name:"冲压设备1",code:"CY0001"},{name:"冲压设备2",code:"CY0002"}]}
}
// 获取工作人员信息--参数为工序编码
diff --git a/src/api/mes/workstation/index.ts b/src/api/mes/workstation/index.ts
index 336c9714a..a3dfde12d 100644
--- a/src/api/mes/workstation/index.ts
+++ b/src/api/mes/workstation/index.ts
@@ -40,16 +40,6 @@ export const deleteWorkstation = async (id: number) => {
return await request.delete({ url: `/mes/workstation/delete?id=` + id })
}
-// 导出工位 Excel
-export const exportWorkstation = async (params) => {
- return await request.download({ url: `/mes/workstation/export-excel`, params })
-}
-
-// 下载用户导入模板
-export const importTemplate = () => {
- return request.download({ url: '/mes/workstation/get-import-template' })
-}
-
export const getEquipmentPage = async (params) => {
params.workstationCode = goalParams.workstationCode
if (params.isSearch) {
diff --git a/src/views/mes/orderDay/components/orderDetail.vue b/src/views/mes/orderDay/components/orderDetail.vue
index 9f7d56984..b2901483c 100644
--- a/src/views/mes/orderDay/components/orderDetail.vue
+++ b/src/views/mes/orderDay/components/orderDetail.vue
@@ -80,12 +80,13 @@
:data="bomInfoSchemaData"
style="width: 100%"
>
-
-
-
-
-
-
+
+
+
+
+
+
@@ -111,11 +112,10 @@ const props = defineProps({
})
const detailData = ref(props.allSchemas)
- const bomInfoSchemaData = ref( [{productItemCode:'----',
- componentItemCode:'----',
- componentUom:'----',
- componentQty:'----',
- version:'----'}])
+ const bomInfoSchemaData = ref( [{srcMaterialCode:'----',
+ srcMaterialModel:'----',
+ srcMaterialCounts:'----',
+ processCode:'----',id:0}])
const processRouteInfoSchema = ref({
processrouteInfo: { processrouteCode: '', processName: '', routeVersion: '' },
@@ -158,6 +158,12 @@ const openDetail = async (row: any, titleName: any, titleValue: any, tableName:
titleNameRef.value = titleName
titleValueRef.value = titleValue
isShowDrawer.value = true
+ processRouteInfoSchema.value={ processrouteInfo: { processrouteCode: '', processName: '', routeVersion: '' }, processrouteNodeDetailList: [] }
+ bomInfoSchemaData.value = [{srcMaterialCode:'',
+ srcMaterialModel:'',
+ srcMaterialCounts:'',
+ processCode:'',id:0}]
+
if (row) {
detailLoading.value = true
try {
@@ -171,9 +177,11 @@ const openDetail = async (row: any, titleName: any, titleValue: any, tableName:
defineExpose({ openDetail, formRef }) // 提供 open 方法,用于打开弹窗
const getDetailData = async (row: any) => {
processRouteInfoSchema.value = await OrderDayApi.getProcessroutesDetail(row.processrouteCode)
- let pam={code:row.standardBom.slice(0,row.standardBom.lastIndexOf('-')),version:row.standardBom.slice(row.standardBom.lastIndexOf('-')+1)}
+
+ let pam={planDayCode:row.planNoDay,productCode:row.productCode,planBatchCode:row.batchCode}
//console.log(pam)
bomInfoSchemaData.value = await OrderDayApi.getPlanBom(pam)
+
nodeData.value = processRouteInfoSchema.value.processrouteNodeDetailList
}
diff --git a/src/views/mes/orderDay/components/schedule.vue b/src/views/mes/orderDay/components/schedule.vue
index be797d612..b32596eb5 100644
--- a/src/views/mes/orderDay/components/schedule.vue
+++ b/src/views/mes/orderDay/components/schedule.vue
@@ -50,28 +50,32 @@
>
-
+
+
-
+
- {{ scope.row.name }}[{{ scope.row.code }}]
+
-
+
- {{ scope.row.name }}[{{ scope.row.code }}]
+
@@ -97,7 +101,7 @@ import {
getNewNode
} from '@/views/mes/processroute/components/graphbase.data'
import * as ProcessrouteApi from '@/api/mes/processroute'
-import {ProcessSearch} from './processSearch.data'
+import {ProcessSearch} from '../../publicUtil/processSearch.data'
import * as ProcessApi from '@/api/wms/process'
import { SearchTable } from '@/components/SearchTable'
import { Graph } from '@antv/x6'
@@ -143,86 +147,6 @@ const dialogWidth = ref()
const dialogVisible = ref(false) // 弹窗的是否展示
const dialogTitle = ref('') // 弹窗的标题
let graphJson = {
- cells: [
- {
- position: {
- x: 40,
- y: 40
- },
- size: {
- width: 100,
- height: 40
- },
- attrs: {
- text: {
- text: 'Hello'
- },
- body: {
- stroke: '#8f8f8f',
- strokeWidth: 1,
- fill: '#fff',
- rx: 6,
- ry: 6
- }
- },
- visible: true,
- shape: 'rect',
- id: 'adbc20c6-96e4-4792-9e5b-42df6066cff0',
- zIndex: 1
- },
- {
- position: {
- x: 240,
- y: 180
- },
- size: {
- width: 100,
- height: 40
- },
- attrs: {
- text: {
- text: 'World'
- },
- body: {
- stroke: '#8f8f8f',
- strokeWidth: 1,
- fill: '#fff',
- rx: 6,
- ry: 6
- }
- },
- visible: true,
- shape: 'ellipse',
- id: '9b1f1e94-a01f-4902-bfae-4e6e81029261',
- zIndex: 2
- },
- {
- shape: 'edge',
- attrs: {
- line: {
- stroke: '#8f8f8f',
- strokeWidth: 1
- }
- },
- id: '8fd50f13-22ba-41ff-b54a-eb6d8553c3d7',
- source: {
- cell: 'adbc20c6-96e4-4792-9e5b-42df6066cff0'
- },
- target: {
- cell: '9b1f1e94-a01f-4902-bfae-4e6e81029261'
- },
- labels: [
- {
- attrs: {
- label: {
- text: 'X6'
- }
- }
- }
- ],
- zIndex: 3
- }
- ]
}
/** 打开弹窗 */
const open = async (type: string, row?: any, titleName?: any) => {
@@ -230,7 +154,7 @@ const open = async (type: string, row?: any, titleName?: any) => {
detailData.value = row
dialogWidth.value = props.basicFormWidth + '%'
//获取配置的
- getProcessroute('001')
+ await ProcessrouteApi.getProcessroute(row.processrouteCode)
if (titleName) {
dialogTitle.value = t('action.' + titleName)
} else {
@@ -280,7 +204,7 @@ const searchTableRef = ref()
const opensearchTable = (
) => {
- console.log("opensearchTable")
+ //console.log("opensearchTable")
const _searchCondition = {}
const _searchTableTitle = "工序查询"
const _searchTableAllSchemas = ProcessSearch.allSchemas
@@ -310,8 +234,6 @@ const searchTableSuccess = (formField, searchField, val, type, row) => {
processData.value.push({code:item.code,name:item.name})}
})
}
-
-
//emit('searchTableSuccess', formField, searchField, val, undefined, type, row)
}
const deleteNode=(row)=>{
diff --git a/src/views/mes/orderDay/index.vue b/src/views/mes/orderDay/index.vue
index d258dbcbd..a241bf85b 100644
--- a/src/views/mes/orderDay/index.vue
+++ b/src/views/mes/orderDay/index.vue
@@ -81,7 +81,8 @@ import TableHead from '@/components/TableHead/src/TableHead.vue'
import ImportForm from '@/components/ImportForm/src/ImportForm.vue'
import orderDetail from './components/orderDetail.vue'
import scheduleDetail from './components/schedule.vue'
-import { disabledTimeListsProps } from 'node_modules/element-plus/es/components/time-picker/src/props/shared'
+import { Loading } from 'node_modules/element-plus/es/components/loading/src/service'
+import { loadavg } from 'os'
defineOptions({ name: 'MesOrderDay' })
const message = useMessage() // 消息弹窗
@@ -93,14 +94,14 @@ routeName.value = route.name
const tableColumns = ref(OrderDay.allSchemas.tableColumns)
const lineOptions=ref([])
const processRouteOptions=ref([])
-const bomOptions=ref([])
+
//**获取 产品工艺路由列表 */
const getProcessroutes = async (code: String) => {
processRouteOptions.value = await OrderDayApi.getProcessroutes(code)
OrderDay.allSchemas.formSchema.forEach(item => {
if (item.field == 'processrouteCode') {
- console.log('processrouteCode',item.field)
+ //console.log('processrouteCode',item.field)
item.componentProps.options = processRouteOptions.value
}
})
@@ -114,14 +115,15 @@ const getProductlines = async (code: String) => {
}
})
}
-const getBoms = async (code: String) => {
- bomOptions.value = await OrderDayApi.getBoms(code)
- OrderDay.allSchemas.formSchema.forEach(item => {
- if (item.field == 'standardBom') {
- item.componentProps.options = bomOptions.value
- }
- })
-}
+//跟现在情况需要填写BOM版本号即可,其他跟随产品编码
+// const getBoms = async (code: String) => {
+// bomOptions.value = await OrderDayApi.getBoms(code)
+// OrderDay.allSchemas.formSchema.forEach(item => {
+// if (item.field == 'standardBom') {
+// item.componentProps.options = bomOptions.value
+// }
+// })
+// }
// 查询页面返回
const searchTableSuccess = (formField, searchField, val, formRef) => {
nextTick(() => {
@@ -131,7 +133,7 @@ const searchTableSuccess = (formField, searchField, val, formRef) => {
if(formField=='productCode'){
//formRef.setValues({standardBom:'bomddd'})
getProcessroutes(val[0][searchField])
- getBoms(val[0][searchField])
+ //getBoms(val[0][searchField])
}
if(formField=='workroomCode'){
getProductlines(val[0][searchField])
@@ -253,6 +255,7 @@ const openForm = (type: string, row?: any) => {
// form表单提交
const formsSuccess = async (formType,data) => {
+
var isHave =OrderDay.allSchemas.formSchema.some(function (item) {
return item.field === 'activeTime' || item.field === 'expireTime';
});
@@ -264,6 +267,7 @@ const formsSuccess = async (formType,data) => {
}
if(data.activeTime==0)data.activeTime = null;
if(data.expireTime==0)data.expireTime = null;
+
if (formType === 'create') {
await OrderDayApi.createOrderDay(data)
message.success(t('common.createSuccess'))
@@ -271,6 +275,7 @@ const formsSuccess = async (formType,data) => {
await OrderDayApi.updateOrderDay(data)
message.success(t('common.updateSuccess'))
}
+
basicFormRef.value.dialogVisible = false
getList()
}
diff --git a/src/views/mes/orderDay/orderDay.data.ts b/src/views/mes/orderDay/orderDay.data.ts
index a110b4bae..e7d0f5653 100644
--- a/src/views/mes/orderDay/orderDay.data.ts
+++ b/src/views/mes/orderDay/orderDay.data.ts
@@ -8,7 +8,7 @@ import { Workshop } from '@/views/wms/basicDataManage/factoryModeling/workshop/w
// 表单校验
export const OrderDayRules = reactive({
- // planNoDay: [
+ // batchCode: [
// { required: false, message: '请输入一个日计划编号', trigger: 'blur' }
// ],
planNoMonth: [
@@ -85,6 +85,13 @@ export const OrderDay = useCrudSchemas(reactive([
}
},
},
+ {
+ label: '产品批次码',
+ field: 'batchCode',
+ sort: 'custom',
+ isSearch: true,
+ required: true,
+ },
{
label: '月计划单号',
field: 'planNoMonth',
diff --git a/src/views/mes/ordermonthplan/index.vue b/src/views/mes/ordermonthplan/index.vue
index 8e5c97e9d..32805630a 100644
--- a/src/views/mes/ordermonthplan/index.vue
+++ b/src/views/mes/ordermonthplan/index.vue
@@ -44,9 +44,10 @@
@success="formsSuccess"
:rules="MesOrderMonthMainRules"
:formAllSchemas="MesOrderMonthMain.allSchemas"
- :apiUpdate="MesOrderMonthApi.updateMesOrderMonthMain"
- :apiCreate="MesOrderMonthApi.createMesOrderMonthMain"
+ :apiUpdate="updateMesOrderMonthMain"
+ :apiCreate="createMesOrderMonthMain"
:apiDelete="MesOrderMonthApi.deleteMesOrderMonthMain"
+ @searchTableSuccess="searchTableSuccess"
:isBusiness="false"
/>
@@ -106,7 +107,11 @@ import {
MesOrderMonthSubRules
} from "@/views/mes/ordermonthplan/mesOrderMonthSub.data";
import * as OrderDayApi from "@/api/mes/orderDay";
-import {breakdown, MesOrderMonthSubVO} from "@/api/mes/ordermonthplan";
+import {
+ breakdown,
+ MesOrderMonthMainVO,
+ MesOrderMonthSubVO
+} from "@/api/mes/ordermonthplan";
defineOptions({ name: 'MesOrderMonthMain' })
@@ -198,6 +203,7 @@ const formsSuccess = async (formType,data) => {
}
if(data.activeTime==0)data.activeTime = null;
if(data.expireTime==0)data.expireTime = null;
+ data.factoryName = factoryName
if (formType === 'create') {
await MesOrderMonthApi.createMesOrderMonthMain(data)
message.success(t('common.createSuccess'))
@@ -208,7 +214,6 @@ const formsSuccess = async (formType,data) => {
basicFormRef.value.dialogVisible = false
getList()
}
-
/** 详情操作 */
const detailRef = ref()
let mainPlanId
@@ -278,8 +283,10 @@ onMounted(async () => {
const detailAllSchemas = ref(MesOrderMonthSub.allSchemas)
// 查询页面返回
let productName
+let factoryName
const searchTableSuccess = (formField, searchField, val, formRef) => {
nextTick(() => {
+
const setV = {}
setV[formField] = val[0][searchField]
formRef.setValues(setV)
@@ -289,6 +296,10 @@ const searchTableSuccess = (formField, searchField, val, formRef) => {
productName = val[0].name
getBoms(val[0][searchField])
}
+ if(formField=='factoryCode'){
+ factoryName = val[0].name
+ formRef.setValues({factoryCode:val[0]['id']})
+ }
// if(formField=='workroomCode'){
// getProductlines(val[0][searchField])
// }
@@ -304,6 +315,8 @@ const getBoms = async (code: String) => {
}
})
}
+
+
const createMesOrderMonthSub = async (data: MesOrderMonthSubVO) => {
data.productName = productName
return await MesOrderMonthApi.createMesOrderMonthSub(data)
@@ -314,7 +327,6 @@ const updateMesOrderMonthSub = async (data: MesOrderMonthSubVO) => {
}
// 详情--头部按钮事件
const detailButtonBaseClick = async (val, item) => {
- debugger
try {
// 二次确认
await message.confirm('确定要拆解成日计划吗?')
diff --git a/src/views/mes/ordermonthplan/mesOrderMonthMain.data.ts b/src/views/mes/ordermonthplan/mesOrderMonthMain.data.ts
index 422b79c07..908906fb6 100644
--- a/src/views/mes/ordermonthplan/mesOrderMonthMain.data.ts
+++ b/src/views/mes/ordermonthplan/mesOrderMonthMain.data.ts
@@ -1,5 +1,6 @@
import type {CrudSchema} from '@/hooks/web/useCrudSchemas'
import {dateFormatter} from '@/utils/formatTime'
+import * as TenantApi from '@/api/system/tenant'
// 表单校验
export const MesOrderMonthMainRules = reactive({
@@ -35,24 +36,24 @@ export const MesOrderMonthMain = useCrudSchemas(reactive([
field: 'factoryCode',
sort: 'custom',
isTable: false,
- // form: {
- // // labelMessage: '信息提示说明!!!',
- // componentProps: {
- // isSearchList: true, // 开启查询弹窗
- // searchListPlaceholder: '请选择工厂', // 输入框占位文本
- // searchField: 'id', // 查询弹窗赋值字段
- // searchTitle: '请选择工厂', // 查询弹窗标题
- // searchAllSchemas: FactoryList.allSchemas, // 查询弹窗所需类
- // searchPage: TenantApi.getTenantPage, // 查询弹窗所需分页方法
- // isHideFilterButton: true,
- // searchCondition: [{
- // key: 'available',
- // value: 'TRUE',
- // isMainValue: false
- // }
- // ]
- // }
- // }
+ form: {
+ // labelMessage: '信息提示说明!!!',
+ componentProps: {
+ isSearchList: true, // 开启查询弹窗
+ searchListPlaceholder: '请选择工厂', // 输入框占位文本
+ searchField: 'factoryCode', // 查询弹窗赋值字段
+ searchTitle: '请选择工厂', // 查询弹窗标题
+ searchAllSchemas: FactoryList.allSchemas, // 查询弹窗所需类
+ searchPage: TenantApi.getTenantPage, // 查询弹窗所需分页方法
+ isHideFilterButton: true,
+ searchCondition: [{
+ key: 'available',
+ value: 'TRUE',
+ isMainValue: false
+ }
+ ]
+ }
+ }
},
{
label: '工厂名称',
diff --git a/src/views/mes/processroute/components/configDialog.vue b/src/views/mes/processroute/components/configDialog.vue
index 931ac8f1b..0b89f8423 100644
--- a/src/views/mes/processroute/components/configDialog.vue
+++ b/src/views/mes/processroute/components/configDialog.vue
@@ -26,22 +26,29 @@
-
-
- 查询
+
+
+
+
+
+
+
+
+
+ 移除
-
-
-
-
-
- {{ scope.row.name }}[{{ scope.row.code }}]
-
-
-
-
+
+
+
@@ -123,6 +130,7 @@
+
@@ -130,11 +138,14 @@
import Annex from '@/components/Annex/src/Annex.vue'
import Remarks from '@/components/Remarks/src/Remarks.vue'
import ChangeRecord from '@/components/ChangeRecord/src/ChangeRecord.vue'
+import * as ProcessApi from '@/api/wms/process'
import * as RemarkApi from '@/api/wms/remark'
import * as FileApi from '@/api/wms/file'
-import { start_node, end_node, createGraph, registerNodes, getNewNode } from './graphbase.data'
+import { start_node, end_node, createGraph, getNewNode } from './graphbase.data'
+import {ProcessSearch} from '../../publicUtil/processSearch.data'
import * as ProcessrouteApi from '@/api/mes/processroute'
import { Graph } from '@antv/x6'
+import { get } from 'http'
const graphContainer = ref(null)
defineOptions({ name: 'ProcessRouteConfig' })
const isShowDrawer = ref(false)
@@ -167,10 +178,47 @@ const remarksData = reactive({
data: {}
})
const routeVersion=ref()
+///工序查询选择
+const searchTableRef = ref()
+const opensearchTable = (
+) => {
+ //console.log("opensearchTable")
+ const _searchCondition = {}
+ const _searchTableTitle = "工序查询"
+ const _searchTableAllSchemas = ProcessSearch.allSchemas
+ const _searchTablePage = ProcessApi.getProcessPage
+ searchTableRef.value.open(
+ _searchTableTitle,
+ _searchTableAllSchemas,
+ _searchTablePage,
+ undefined,
+ undefined,
+ true,
+ undefined,
+ undefined,
+ _searchCondition,
+ false,
+ true
+ )
+}
+//查询工序
+const searchTableSuccess = (formField, searchField, val, type, row) => {
+ if(val.length>0){
+ val.forEach(item=>{
+ if(processData.value.find(obj=>obj.code==item.code)==undefined){
+ processData.value.push({code:item.code,name:item.name})}
+ })
+ }
+}
+const deleteNode=(row)=>{
+ processData.value.splice(processData.value.indexOf(row),1)
+ graph.value.removeNode(row.code)
+ }
//初始化图形组件
const graph = ref()
-const openDetail = async (rowData: any) => {
+const openDetail = (rowData: any) => {
rowData.value = rowData
+ console.log('rowData',rowData.value)
titleNameRef.value = rowData.value.processrouteCode
titleValueRef.value = rowData.value.processName
processRouteId.value = rowData.value.id
@@ -305,7 +353,7 @@ const saveResult = async () => {
return
}
if (graph.value.getNodes().length < 3) {
- message.info('除了开始结束节点外至少需要设置一个节点!')
+ message.info('工艺至少配置一道工序!')
return
}
let gdata = {
@@ -372,6 +420,7 @@ const deleteAnnexSuccess = async () => {
// 验证图形
onUnmounted(() => {})
const emit = defineEmits(['close'])
+
\ No newline at end of file
+
diff --git a/src/views/qms/inspection/inspectionJob/detail.vue b/src/views/qms/inspection/inspectionJob/detail.vue
index cb2d9d51c..1a2673a19 100644
--- a/src/views/qms/inspection/inspectionJob/detail.vue
+++ b/src/views/qms/inspection/inspectionJob/detail.vue
@@ -46,18 +46,9 @@
-
-
-
-
-
-
+
@@ -65,15 +56,6 @@
-
-
-
-
-
检验特性
@@ -121,20 +103,6 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/qms/inspection/inspectionJob/index.vue b/src/views/qms/inspection/inspectionJob/index.vue
index 0413a48aa..680aa7eb7 100644
--- a/src/views/qms/inspection/inspectionJob/index.vue
+++ b/src/views/qms/inspection/inspectionJob/index.vue
@@ -161,10 +161,10 @@
// 列表-操作按钮
const butttondata = (row) => {
return [
- defaultButtons.mainListJobAccBtn({hide:isShowMainButton(row,['1']),hasPermi:'qms:inspection-job-main:accept'}), // 承接
+ // defaultButtons.mainListJobAccBtn({hide:isShowMainButton(row,['1']),hasPermi:'qms:inspection-job-main:accept'}), // 承接
defaultButtons.mainListJobCloBtn({hide:isShowMainButton(row,['1']),hasPermi:'qms:inspection-job-main:close'}), // 关闭
- defaultButtons.mainListJobAbaBtn({hide:isShowMainButton(row,['2']),hasPermi:'qms:inspection-job-main:abandon'}), // 放弃
- defaultButtons.mainListJobExeBtn({hide:isShowMainButton(row,['2']),hasPermi:'qms:inspection-job-main:execute'}), // 执行
+ // defaultButtons.mainListJobAbaBtn({hide:isShowMainButton(row,['2']),hasPermi:'qms:inspection-job-main:abandon'}), // 放弃
+ defaultButtons.mainListJobExeBtn({hide:isShowMainButton(row,['1','2']),hasPermi:'qms:inspection-job-main:execute'}), // 执行
defaultButtons.mainListPackageBtn(null), // 包装
]
}
diff --git a/src/views/qms/inspection/inspectionJob/inspectionJobMain.data.ts b/src/views/qms/inspection/inspectionJob/inspectionJobMain.data.ts
index f73d21094..c66932fea 100644
--- a/src/views/qms/inspection/inspectionJob/inspectionJobMain.data.ts
+++ b/src/views/qms/inspection/inspectionJob/inspectionJobMain.data.ts
@@ -30,7 +30,7 @@ export const InspectionJobMain = useCrudSchemas(reactive([
}
},
table: {
- width: 150,
+ width: 165,
fixed: 'left'
}
},
@@ -320,6 +320,9 @@ export const InspectionJobMain = useCrudSchemas(reactive([
disabled:true
}
},
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
table: {
width: 150
}
@@ -346,6 +349,9 @@ export const InspectionJobMain = useCrudSchemas(reactive([
disabled:true
}
},
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
table: {
width: 150
}
diff --git a/src/views/qms/inspection/inspectionRecord/index.vue b/src/views/qms/inspection/inspectionRecord/index.vue
index cf2fd6be1..09b9009f3 100644
--- a/src/views/qms/inspection/inspectionRecord/index.vue
+++ b/src/views/qms/inspection/inspectionRecord/index.vue
@@ -112,15 +112,11 @@
}
// 根据状态返回该按钮是否显示
- const isShowMainButton = (row, val) => {
- if(val){
- if(row.useDecision){
- return false
- }else{
- return true
- }
- }else{
- return !row.isPublished
+ const isShowPublishedButton = (row, val) => {
+ if(row.useDecision) {
+ return row.isPublished
+ } else {
+ return true
}
}
@@ -128,9 +124,9 @@
const butttondata = (row) => {
return [
// defaultButtons.mainListOrderCOMPLETEBtn({ hide: isShowMainButton(row, ['INCOMPLETE']) }), // 完成
- defaultButtons.mainApplyDecisionBtn({ hide: isShowMainButton(row, null),hasPermi:'qms:inspection-recode-main:edit'}), // 使用决策
+ defaultButtons.mainApplyDecisionBtn({ hide: row.isPublished, hasPermi:'qms:inspection-recode-main:edit'}), // 使用决策
// defaultButtons.mainListDeleteBtn(null), // 删除
- defaultButtons.mainListOrderPubBtn({ hide: isShowMainButton(row,'pub'),hasPermi:'qms:inspection-recode-main:pub'}), // 发布
+ defaultButtons.mainListOrderPubBtn({ hide: isShowPublishedButton(row,'pub'), hasPermi:'qms:inspection-recode-main:pub'}), // 发布
defaultButtons.mainListPackageBtn(null), // 包装
]
}
diff --git a/src/views/qms/inspection/inspectionRecord/inspectionRecordMain.data.ts b/src/views/qms/inspection/inspectionRecord/inspectionRecordMain.data.ts
index c7e617e88..54cfb535e 100644
--- a/src/views/qms/inspection/inspectionRecord/inspectionRecordMain.data.ts
+++ b/src/views/qms/inspection/inspectionRecord/inspectionRecordMain.data.ts
@@ -16,7 +16,7 @@ export const InspectionRecordMain = useCrudSchemas(reactive([
isSearch: true,
isForm:false,
table: {
- width: 150,
+ width: 165,
fixed: 'left'
}
},
@@ -254,6 +254,9 @@ export const InspectionRecordMain = useCrudSchemas(reactive([
valueFormat: 'x'
}
},
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
table: {
width: 150
}
@@ -280,6 +283,9 @@ export const InspectionRecordMain = useCrudSchemas(reactive([
valueFormat: 'x'
}
},
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
table: {
width: 150
}
@@ -306,6 +312,9 @@ export const InspectionRecordMain = useCrudSchemas(reactive([
valueFormat: 'x'
}
},
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
table: {
width: 150
}
@@ -332,6 +341,9 @@ export const InspectionRecordMain = useCrudSchemas(reactive([
valueFormat: 'x'
}
},
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
table: {
width: 150
}
@@ -358,17 +370,6 @@ export const InspectionRecordMain = useCrudSchemas(reactive([
width: 150
}
},
- // {
- // label: '是否可用',
- // field: 'available',
- // dictType: DICT_TYPE.TRUE_FALSE,
- // sort: 'custom',
- // isSearch: false,
- // isForm:false,
- // table: {
- // width: 150
- // }
- // },
{
label: '使用决策',
field: 'useDecision',
@@ -395,8 +396,11 @@ export const InspectionRecordMain = useCrudSchemas(reactive([
}
},
isForm: false,
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
table: {
- width: 150
+ width: 170
}
},
diff --git a/src/views/qms/inspection/inspectionRequest/inspectionMain.data.ts b/src/views/qms/inspection/inspectionRequest/inspectionMain.data.ts
index 91b2828d0..d42f387df 100644
--- a/src/views/qms/inspection/inspectionRequest/inspectionMain.data.ts
+++ b/src/views/qms/inspection/inspectionRequest/inspectionMain.data.ts
@@ -75,6 +75,9 @@ export const InspectionMain = useCrudSchemas(reactive([
valueFormat: 'x'
}
},
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
table: {
width: 150
}
@@ -100,6 +103,9 @@ export const InspectionMain = useCrudSchemas(reactive([
valueFormat: 'x'
}
},
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
table: {
width: 150
}
@@ -125,6 +131,9 @@ export const InspectionMain = useCrudSchemas(reactive([
valueFormat: 'x'
}
},
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
table: {
width: 150
}
@@ -150,6 +159,9 @@ export const InspectionMain = useCrudSchemas(reactive([
valueFormat: 'x'
}
},
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
table: {
width: 150
}
diff --git a/src/views/qms/sampleCode/index.vue b/src/views/qms/sampleCode/index.vue
index 2f7dae698..faa6d874c 100644
--- a/src/views/qms/sampleCode/index.vue
+++ b/src/views/qms/sampleCode/index.vue
@@ -156,6 +156,11 @@ const openForm = (type: string, row?: any) => {
// form表单提交
const formsSuccess = async (formType,data) => {
+ if(data.batchLowLimiting >= data.batchUpperLimiting){
+ message.alertWarning('批量上限须大于批量下限')
+ basicFormRef.value.formLoading = false
+ return
+ }
var isHave =SampleCode.allSchemas.formSchema.some(function (item) {
return item.field === 'activeTime' || item.field === 'expireTime';
});
diff --git a/src/views/qms/samplingProcess/samplingProcess.data.ts b/src/views/qms/samplingProcess/samplingProcess.data.ts
index 955a0e91d..8ee0c907c 100644
--- a/src/views/qms/samplingProcess/samplingProcess.data.ts
+++ b/src/views/qms/samplingProcess/samplingProcess.data.ts
@@ -1,12 +1,14 @@
import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
import { dateFormatter } from '@/utils/formatTime'
import {getSamplingScheme} from "@/api/qms/samplingProcess";
+import { validateInteger } from '@/utils/validator'
// 表单校验
export const SamplingProcessRules = reactive({
sampleType: [required],
evaluationMode: [required],
description: [required],
+ inspectionQty: [required, {validator:validateInteger, message: '请输入正确的整数', trigger: 'blur'}]
})
const samplingSchemeList = await getSamplingScheme()
export const SamplingProcess = useCrudSchemas(reactive([
@@ -30,12 +32,12 @@ export const SamplingProcess = useCrudSchemas(reactive([
label: '取样类型',
field: 'sampleType',
sort: 'custom',
- dictType: DICT_TYPE.SAMPLING_TYPE,
- dictClass: 'string', // 默认都是字符串类型其他暂不考虑
+ dictType: DICT_TYPE.SAMPLING_TYPE,
+ dictClass: 'string', // 默认都是字符串类型其他暂不考虑
isSearch: true,
- form: {
- component: 'Select'
- },
+ form: {
+ component: 'Select'
+ },
},
{
label: '评估模式',
@@ -43,15 +45,20 @@ export const SamplingProcess = useCrudSchemas(reactive([
sort: 'custom',
dictType: DICT_TYPE.EVALUATION_MODE,
dictClass: 'string', // 默认都是字符串类型其他暂不考虑
- form: {
- component: 'Select'
- },
+ form: {
+ component: 'Select'
+ },
},
{
label: '样品量',
field: 'sampleSize',
sort: 'custom',
},
+ {
+ label: '检验次数',
+ field: 'inspectionQty',
+ sort: 'custom',
+ },
{
label: '采样方案编码',
field: 'sampleProgCode',
diff --git a/src/views/wms/inventoryjobManage/sparepartsrequisition/sparepartsrequisitionRequestMain/sparepartsrequisitionRequestMain.data.ts b/src/views/wms/inventoryjobManage/sparepartsrequisition/sparepartsrequisitionRequestMain/sparepartsrequisitionRequestMain.data.ts
index efd4d96c3..147cfe544 100644
--- a/src/views/wms/inventoryjobManage/sparepartsrequisition/sparepartsrequisitionRequestMain/sparepartsrequisitionRequestMain.data.ts
+++ b/src/views/wms/inventoryjobManage/sparepartsrequisition/sparepartsrequisitionRequestMain/sparepartsrequisitionRequestMain.data.ts
@@ -62,6 +62,9 @@ export const UnplannedissueRequestMain = useCrudSchemas(reactive([
{
label: '申请时间',
field: 'requestTime',
+ isForm:false,
+ isTable:false,
+ isTableForm:false,
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
@@ -83,6 +86,9 @@ export const UnplannedissueRequestMain = useCrudSchemas(reactive([
{
label: '截止时间',
field: 'dueTime',
+ isForm:false,
+ isTable:false,
+ isTableForm:false,
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
@@ -266,6 +272,9 @@ export const UnplannedissueRequestMain = useCrudSchemas(reactive([
{
label: '备注',
field: 'remark',
+ isForm:false,
+ isTable:false,
+ isTableForm:false,
sort: 'custom',
table: {
width: 150