+
+
+ 新增产量
+
{{ t('DataCollection.DeviceModel.ruleCreateButton') }}
@@ -364,7 +367,7 @@
{{ t('DataCollection.DeviceModel.ruleEditRuleButton') }}
-
+
-
+
-
-
-
-
-
-
-
-
+
+
+
-
-
-
-
-
- {{ t('DataCollection.DeviceModel.ruleDeleteRuleButton') }}
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+ {{ t('DataCollection.DeviceModel.ruleDeleteRuleButton') }}
+
+
+
+
+
@@ -537,7 +545,7 @@
-
+
@@ -551,7 +559,7 @@
-
+
{
const id = (ruleForm.identifier || '').toString().toUpperCase()
@@ -1114,6 +1128,13 @@ const isRuleDisabled = (value: string, selfRule?: string | number) => {
}
const ruleOperatorOptions = computed(() => getStrDictOptions('czsb_rules_conditions'))
+const isCountIdentifier = computed(() => {
+ return (ruleForm.identifier || '').toString().toUpperCase() === 'COUNT'
+})
+const currentRuleOperatorOptions = computed(() => {
+ if (isCountIdentifier.value) return countOperatorOptions
+ return ruleOperatorOptions.value
+})
const isRunningIdentifier = computed(() => {
return (ruleForm.identifier || '').toString().toUpperCase() === 'RUNNING'
@@ -1224,8 +1245,10 @@ const handleRuleSubmit = async () => {
fieldRule: ruleForm.fieldRule,
defaultValue: ruleForm.defaultValue,
deviceId: ruleForm.deviceId ?? attributeDeviceId.value,
- alarmLevel: ruleForm.alarmLevel,
pointRulesVOList,
+ } as any
+ if (!isCountIdentifier.value) {
+ payload.alarmLevel = ruleForm.alarmLevel
}
await request.put({ url: '/iot/device-point-rules/update', data: payload })
@@ -1282,6 +1305,13 @@ const createRuleForm = reactive({
defaultValue: '报警',
alarmLevel: '',
})
+const isCreateCountRule = computed(() => {
+ return createRuleForm.identifier.toString().toUpperCase() === 'COUNT'
+})
+const createRuleDialogTitle = computed(() => {
+ if (isCreateCountRule.value) return '新增产量'
+ return t('DataCollection.DeviceModel.ruleCreateButton')
+})
const openCreateRuleForm = () => {
if (!attributeDeviceId.value) {
@@ -1294,6 +1324,17 @@ const openCreateRuleForm = () => {
createRuleForm.alarmLevel = ''
createRuleDialogVisible.value = true
}
+const openCreateCountRuleForm = () => {
+ if (!attributeDeviceId.value) {
+ message.error('请先选择设备')
+ return
+ }
+ createRuleForm.identifier = 'COUNT'
+ createRuleForm.fieldName = '产能'
+ createRuleForm.defaultValue = '产能'
+ createRuleForm.alarmLevel = ''
+ createRuleDialogVisible.value = true
+}
const handleCreateRuleSubmit = async () => {
if (!attributeDeviceId.value) return
@@ -1307,8 +1348,10 @@ const handleCreateRuleSubmit = async () => {
identifier: createRuleForm.identifier,
fieldName: createRuleForm.fieldName,
defaultValue: createRuleForm.defaultValue,
- alarmLevel: createRuleForm.alarmLevel,
deviceId: attributeDeviceId.value,
+ } as any
+ if (!isCreateCountRule.value) {
+ payload.alarmLevel = createRuleForm.alarmLevel
}
await request.post({ url: '/iot/device-point-rules/create', data: payload })
message.success('新增成功')
diff --git a/src/views/mes/bom/BomForm.vue b/src/views/mes/bom/BomForm.vue
index f753bb2a..4b1bccc3 100644
--- a/src/views/mes/bom/BomForm.vue
+++ b/src/views/mes/bom/BomForm.vue
@@ -184,7 +184,7 @@ const resetForm = () => {
code: undefined,
version: '1.0',
productId: undefined,
- unitId: 5,
+ unitId: undefined,
yieldRate: 100,
remark: undefined,
isEnable: true
diff --git a/src/views/mes/task/TaskForm.vue b/src/views/mes/task/TaskForm.vue
index 16349481..8eafd6e8 100644
--- a/src/views/mes/task/TaskForm.vue
+++ b/src/views/mes/task/TaskForm.vue
@@ -62,6 +62,12 @@
+
+
+ {{ t('ProductionPlan.Task.urgentNoLabel') }}
+ {{ t('ProductionPlan.Task.urgentYesLabel') }}
+
+
@@ -95,6 +101,7 @@ const formData = ref({
deliveryDate: undefined,
status: undefined,
taskType: undefined,
+ isUrgent: undefined,
processInstanceId: undefined,
remark: undefined,
isEnable: undefined,
@@ -103,6 +110,7 @@ const formData = ref({
const formRules = reactive({
deliveryDate: [{ required: true, message: t('ProductionPlan.Task.validatorDeliveryDateRequired'), trigger: 'blur' }],
taskType: [{ required: true, message: t('ProductionPlan.Task.validatorTaskTypeRequired'), trigger: 'blur' }],
+ isUrgent: [{ required: true, message: t('ProductionPlan.Task.validatorIsUrgentRequired'), trigger: 'change' }]
})
const formRef = ref() // 表单 Ref
@@ -116,7 +124,11 @@ const open = async (type: string, id?: number) => {
if (id) {
formLoading.value = true
try {
- formData.value = await TaskApi.getTask(id)
+ const taskData = await TaskApi.getTask(id)
+ formData.value = {
+ ...taskData,
+ isUrgent: String(taskData?.isUrgent ?? '0')
+ }
} finally {
formLoading.value = false
}
@@ -155,6 +167,7 @@ const resetForm = () => {
code: undefined,
orderDate: undefined,
taskType: '订单任务',
+ isUrgent: '0',
deliveryDate: undefined,
status: undefined,
processInstanceId: undefined,
diff --git a/src/views/mes/task/index.vue b/src/views/mes/task/index.vue
index 937cea2a..96913633 100644
--- a/src/views/mes/task/index.vue
+++ b/src/views/mes/task/index.vue
@@ -115,6 +115,13 @@
+
+
+
+ {{ String(scope.row.isUrgent) === '1' ? t('ProductionPlan.Task.urgentYesLabel') : t('ProductionPlan.Task.urgentNoLabel') }}
+
+
+
diff --git a/src/views/mes/tasksummary/components/TaskDetailList.vue b/src/views/mes/tasksummary/components/TaskDetailList.vue
index c242e469..90ac967a 100644
--- a/src/views/mes/tasksummary/components/TaskDetailList.vue
+++ b/src/views/mes/tasksummary/components/TaskDetailList.vue
@@ -49,7 +49,7 @@
-
+
@@ -64,6 +64,7 @@ const { push } = useRouter()
const props = defineProps<{
taskId?: number // task ID(主表的关联字段)
}>()
+const emit = defineEmits(['success'])
const loading = ref(false) // 列表的加载中
const list = ref([]) // 列表的数据
const queryParams = reactive({
@@ -111,6 +112,10 @@ const addPlanForm = (taskId: number, productId: number, number?: number, taskDet
}
formRef.value.open('create', undefined, taskId, productId, number,taskDetailIds)
}
+const handlePlanSuccess = () => {
+ getList()
+ emit('success')
+}
const route = useRoute()
/** 跳转生产计划页面**/
const openPlan = (taskId: number, productId: number) => {
diff --git a/src/views/mes/tasksummary/index.vue b/src/views/mes/tasksummary/index.vue
index 2873c51f..0c1440a0 100644
--- a/src/views/mes/tasksummary/index.vue
+++ b/src/views/mes/tasksummary/index.vue
@@ -1,79 +1,43 @@
-
+
-
+
-
+ :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]" class="!w-240px" />
-
+ :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]" class="!w-240px" />
-
+
-
+ :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]" class="!w-240px" />
- {{ t('ProductionPlan.TaskSummary.buttonSearchText') }}
- {{ t('ProductionPlan.TaskSummary.buttonResetText') }}
+
+ {{ t('ProductionPlan.TaskSummary.buttonSearchText') }}
+
+
+ {{ t('ProductionPlan.TaskSummary.buttonResetText') }}
+
-
+
{{ t('ProductionPlan.TaskSummary.buttonExportText') }}
@@ -90,27 +54,30 @@
-
-
-
-
+
+
+
+
+
+
+ {{ scope.row.isScheduled ? '是' : '否' }}
+
+
-
+
{{ t('ProductionPlan.TaskSummary.actionMaterialLabel') }}
@@ -123,19 +90,15 @@
-
+
-
+
@@ -236,14 +199,14 @@ const openPlan = (taskId: number) => {
}
/** 物料需求 */
const formRef = ref()
-const openItemNeed = (taskCode:string, taskId: number) => {
- formRef.value.open("task","任务单-"+taskCode, taskId)
+const openItemNeed = (taskCode: string, taskId: number) => {
+ formRef.value.open("task", "任务单-" + taskCode, taskId)
}
/** 添加/修改操作 */
const taskPlanFormRef = ref()
-const openTaskPlanForm = (taskId: number, taskCode:string) => {
- taskPlanFormRef.value.open(taskCode, taskId )
+const openTaskPlanForm = (taskId: number, taskCode: string) => {
+ taskPlanFormRef.value.open(taskCode, taskId)
}
/** tab 切换 */
let activeName = ''