Compare commits

..

No commits in common. '3eefdad587fc8e7ec2cafd186bb30b906ebcdb52' and '1110c22a037b04c37a8102b97728b1ac77078b99' have entirely different histories.

@ -177,7 +177,7 @@
<el-col :span="24"> <el-col :span="24">
<el-form-item :label="t('EquipmentManagement.EquipmentLedger.fileUrl')" prop="fileUrl"> <el-form-item :label="t('EquipmentManagement.EquipmentLedger.fileUrl')" prop="fileUrl">
<UploadFile :is-show-tip="false" v-model="formData.fileUrl" :limit="9" /> <UploadFile :is-show-tip="false" v-model="formData.fileUrl" :limit="1" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">

@ -51,13 +51,13 @@ type="success" plain @click="handleExport" :loading="exportLoading"
ref="tableRef" v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true" ref="tableRef" v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true"
row-key="id" @selection-change="handleSelectionChange"> row-key="id" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" fixed="left" reserve-selection /> <el-table-column type="selection" width="55" fixed="left" reserve-selection />
<el-table-column :label="t('EquipmentManagement.EquipmentLedger.serialNumber')" align="center" width="50" fixed="left"> <el-table-column :label="t('EquipmentManagement.EquipmentLedger.serialNumber')" align="center" width="80" fixed="left">
<template #default="scope"> <template #default="scope">
{{ (queryParams.pageNo - 1) * queryParams.pageSize + scope.$index + 1 }} {{ (queryParams.pageNo - 1) * queryParams.pageSize + scope.$index + 1 }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="t('EquipmentManagement.EquipmentLedger.deviceCode')" align="center" prop="deviceCode" min-width="160px" /> <el-table-column :label="t('EquipmentManagement.EquipmentLedger.deviceCode')" align="center" prop="deviceCode" min-width="110px" />
<el-table-column :label="t('EquipmentManagement.EquipmentLedger.deviceName')" align="center" prop="deviceName" min-width="140px" /> <el-table-column :label="t('EquipmentManagement.EquipmentLedger.deviceName')" align="center" prop="deviceName" min-width="120px" />
<el-table-column :label="t('EquipmentManagement.EquipmentLedger.deviceType')" align="center" prop="deviceType" min-width="110px"> <el-table-column :label="t('EquipmentManagement.EquipmentLedger.deviceType')" align="center" prop="deviceType" min-width="110px">
<template #default="scope"> <template #default="scope">
<el-tag effect="light"> <el-tag effect="light">
@ -80,10 +80,10 @@ ref="tableRef" v-loading="loading" :data="list" :stripe="true" :show-overflow-to
<!-- <el-table-column :label="t('EquipmentManagement.EquipmentLedger.deviceBrand')" align="center" prop="deviceBrand" /> --> <!-- <el-table-column :label="t('EquipmentManagement.EquipmentLedger.deviceBrand')" align="center" prop="deviceBrand" /> -->
<el-table-column <el-table-column
:label="t('EquipmentManagement.EquipmentLedger.productionDate')" align="center" prop="productionDate" :formatter="dateFormatter2" :label="t('EquipmentManagement.EquipmentLedger.productionDate')" align="center" prop="productionDate" :formatter="dateFormatter2"
width="120px" /> width="140px" />
<el-table-column <el-table-column
:label="t('EquipmentManagement.EquipmentLedger.factoryEntryDate')" align="center" prop="factoryEntryDate" :formatter="dateFormatter2" :label="t('EquipmentManagement.EquipmentLedger.factoryEntryDate')" align="center" prop="factoryEntryDate" :formatter="dateFormatter2"
width="120px" /> width="140px" />
<!-- <el-table-column :label="t('EquipmentManagement.EquipmentLedger.supplier')" align="center" prop="supplier" width="110px" /> --> <!-- <el-table-column :label="t('EquipmentManagement.EquipmentLedger.supplier')" align="center" prop="supplier" width="110px" /> -->
<!-- <el-table-column :label="t('EquipmentManagement.EquipmentLedger.workshop')" align="center" prop="workshop" width="110px" /> --> <!-- <el-table-column :label="t('EquipmentManagement.EquipmentLedger.workshop')" align="center" prop="workshop" width="110px" /> -->
<el-table-column :label="t('EquipmentManagement.EquipmentLedger.workshop')" align="center" prop="workshopName" min-width="150px" /> <el-table-column :label="t('EquipmentManagement.EquipmentLedger.workshop')" align="center" prop="workshopName" min-width="150px" />

@ -21,7 +21,7 @@
<el-form-item :prop="`${$index}.subjectCode`" :rules="formRules.subjectCode" class="mb-0px!"> <el-form-item :prop="`${$index}.subjectCode`" :rules="formRules.subjectCode" class="mb-0px!">
<el-input <el-input
v-model="row.subjectCode" v-model="row.subjectCode"
:placeholder="props.lineMode !== 'edit' ? '' : t('EquipmentManagement.DvRepair.placeholderLineSubjectCode')" :placeholder="t('EquipmentManagement.DvRepair.placeholderLineSubjectCode')"
:disabled="props.lineMode !== 'edit'" :disabled="props.lineMode !== 'edit'"
/> />
</el-form-item> </el-form-item>
@ -32,7 +32,7 @@
<el-form-item :prop="`${$index}.subjectName`" :rules="formRules.subjectName" class="mb-0px!"> <el-form-item :prop="`${$index}.subjectName`" :rules="formRules.subjectName" class="mb-0px!">
<el-input <el-input
v-model="row.subjectName" v-model="row.subjectName"
:placeholder="props.lineMode !== 'edit' ? '' : t('EquipmentManagement.DvRepair.placeholderLineSubjectName')" :placeholder="t('EquipmentManagement.DvRepair.placeholderLineSubjectName')"
:disabled="props.lineMode !== 'edit'" :disabled="props.lineMode !== 'edit'"
/> />
</el-form-item> </el-form-item>
@ -51,7 +51,7 @@
<el-input <el-input
type="textarea" type="textarea"
v-model="row.subjectContent" v-model="row.subjectContent"
:placeholder="props.lineMode !== 'edit' ? '' : t('EquipmentManagement.DvRepair.placeholderLineSubjectContent')" :placeholder="t('EquipmentManagement.DvRepair.placeholderLineSubjectContent')"
:disabled="props.lineMode !== 'edit'" :disabled="props.lineMode !== 'edit'"
/> />
</el-form-item> </el-form-item>
@ -121,16 +121,16 @@
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> --> </el-table-column> -->
<el-table-column v-if="props.lineMode === 'edit'" align="center" fixed="right" label="操作" width="80"> <!-- <el-table-column align="center" fixed="right" label="操作" width="60">
<template #default="{ $index }"> <template #default="{ $index }">
<el-button link type="danger" @click="handleDelete($index)"></el-button> <el-button @click="handleDelete($index)" link></el-button>
</template> </template>
</el-table-column> </el-table-column> -->
</el-table> </el-table>
</el-form> </el-form>
<el-row v-if="props.lineMode === 'edit'" justify="center" class="mt-3"> <!-- <el-row justify="center" class="mt-3">
<el-button @click="handleAdd" round type="primary" plain>+ 添加维修项目</el-button> <el-button @click="handleAdd" round>+ 添加维修项目</el-button>
</el-row> </el-row> -->
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { DvRepairApi } from '@/api/mes/dvrepair' import { DvRepairApi } from '@/api/mes/dvrepair'
@ -145,31 +145,7 @@ const formData = ref([])
const formRules = reactive({ const formRules = reactive({
repairId: [{ required: true, message: t('EquipmentManagement.DvRepair.validatorLineRepairIdRequired'), trigger: 'blur' }], repairId: [{ required: true, message: t('EquipmentManagement.DvRepair.validatorLineRepairIdRequired'), trigger: 'blur' }],
subjectId: [{ required: true, message: t('EquipmentManagement.DvRepair.validatorLineSubjectIdRequired'), trigger: 'blur' }], subjectId: [{ required: true, message: t('EquipmentManagement.DvRepair.validatorLineSubjectIdRequired'), trigger: 'blur' }],
subjectCode: [ subjectCode: [{ required: true, message: t('EquipmentManagement.DvRepair.validatorLineSubjectCodeRequired'), trigger: 'blur' }],
{ required: true, message: t('EquipmentManagement.DvRepair.validatorLineSubjectCodeRequired'), trigger: 'blur' },
{
validator: (rule: any, value: any, callback: any) => {
const normalized = String(value ?? '').trim()
if (!normalized) {
callback()
return
}
const fullField = String(rule?.fullField ?? rule?.field ?? '')
const indexText = fullField.split('.')[0]
const currentIndex = Number(indexText)
const hasDuplicate = formData.value.some((row: any, idx: number) => {
if (idx === currentIndex) return false
return String(row?.subjectCode ?? '').trim() === normalized
})
if (hasDuplicate) {
callback(new Error('维修编码不能重复'))
return
}
callback()
},
trigger: 'blur',
},
],
subjectContent: [], subjectContent: [],
remark: [ remark: [
{ {
@ -206,7 +182,7 @@ watch(
formData.value = [] formData.value = []
// 2. val // 2. val
if (!val) { if (!val) {
return return;
} }
try { try {
formLoading.value = true formLoading.value = true
@ -214,7 +190,6 @@ watch(
} finally { } finally {
formLoading.value = false formLoading.value = false
} }
nextTick(() => formRef.value?.clearValidate())
}, },
{ immediate: true } { immediate: true }
) )
@ -238,13 +213,11 @@ const handleAdd = () => {
} }
row.repairId = props.repairId row.repairId = props.repairId
formData.value.push(row) formData.value.push(row)
nextTick(() => formRef.value?.clearValidate())
} }
/** 删除按钮操作 */ /** 删除按钮操作 */
const handleDelete = (index) => { const handleDelete = (index) => {
formData.value.splice(index, 1) formData.value.splice(index, 1)
nextTick(() => formRef.value?.clearValidate())
} }
/** 表单校验 */ /** 表单校验 */
@ -259,7 +232,6 @@ const getData = () => {
const setData = (rows: any[]) => { const setData = (rows: any[]) => {
formData.value = Array.isArray(rows) ? rows : [] formData.value = Array.isArray(rows) ? rows : []
nextTick(() => formRef.value?.clearValidate())
} }
defineExpose({ validate, getData, setData }) defineExpose({ validate, getData, setData })

@ -16,7 +16,7 @@
<el-form-item :label="t('EnergyManagement.EnergyDeviceCheck.searchTimeRangeLabel')" prop="timeRange"> <el-form-item :label="t('EnergyManagement.EnergyDeviceCheck.searchTimeRangeLabel')" prop="timeRange">
<el-date-picker <el-date-picker
v-model="queryParams.timeRange" type="datetimerange" value-format="YYYY-MM-DD HH:mm:ss" v-model="queryParams.timeRange" type="datetimerange" value-format="YYYY-MM-DD HH:mm:ss"
format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH"
:start-placeholder="t('EnergyManagement.EnergyDeviceCheck.searchTimeRangeStartPlaceholder')" :start-placeholder="t('EnergyManagement.EnergyDeviceCheck.searchTimeRangeStartPlaceholder')"
:end-placeholder="t('EnergyManagement.EnergyDeviceCheck.searchTimeRangeEndPlaceholder')" :end-placeholder="t('EnergyManagement.EnergyDeviceCheck.searchTimeRangeEndPlaceholder')"
:default-time="[new Date('2000-01-01 00:00:00'), new Date('2000-01-01 23:00:00')]" :default-time="[new Date('2000-01-01 00:00:00'), new Date('2000-01-01 23:00:00')]"

@ -111,19 +111,19 @@ type="success" plain @click="handleExport" :loading="exportLoading"
> >
<!-- <el-table-column type="selection" width="55" fixed="left" reserve-selection /> --> <!-- <el-table-column type="selection" width="55" fixed="left" reserve-selection /> -->
<el-table-column :label="t('QualityManagement.ZjTask.index')" type="index" width="80"/> <el-table-column :label="t('QualityManagement.ZjTask.index')" type="index" width="80"/>
<el-table-column :label="t('QualityManagement.ZjTask.code')" align="center" prop="code" width="160px"/> <el-table-column :label="t('QualityManagement.ZjTask.code')" align="center" prop="code" />
<el-table-column :label="t('QualityManagement.ZjTask.type')" align="center" width="90px"> <el-table-column :label="t('QualityManagement.ZjTask.type')" align="center">
<template #default="scope"> <template #default="scope">
<DictTag type="mes_zj_task_type" :value="scope.row.type" /> <DictTag type="mes_zj_task_type" :value="scope.row.type" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="t('QualityManagement.ZjTask.status')" align="center" prop="status" width="90px"> <el-table-column :label="t('QualityManagement.ZjTask.status')" align="center" prop="status">
<template #default="scope"> <template #default="scope">
<DictTag :type="'job_status'" :value="scope.row.status" /> <DictTag :type="'job_status'" :value="scope.row.status" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="t('QualityManagement.ZjTask.ticketCode')" align="center" prop="ticketCode" width="200px"/> <el-table-column :label="t('QualityManagement.ZjTask.ticketCode')" align="center" prop="ticketCode" width="200px"/>
<el-table-column :label="t('QualityManagement.ZjTask.orgType')" align="center" prop="orgType" width="80px"> <el-table-column :label="t('QualityManagement.ZjTask.orgType')" align="center" prop="orgType">
<template #default="scope"> <template #default="scope">
<DictTag :type="DICT_TYPE.MES_ORG_TYPE" :value="scope.row.orgType" /> <DictTag :type="DICT_TYPE.MES_ORG_TYPE" :value="scope.row.orgType" />
</template> </template>

Loading…
Cancel
Save