main
mhsnet 7 months ago
parent 65a0e16fff
commit 7e04ac12db

@ -19,32 +19,32 @@
</vxe-form-item>
</vxe-form-gather>
<vxe-form-gather span="24">
<vxe-form-item title="采集规范版本号" field="StandardVersion" span="12">
<!-- <vxe-form-item title="采集规范版本号" field="StandardVersion" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.StandardVersion }}</div>
<span>{{ params.data.StandardVersion }}</span>
</template>
</vxe-form-item>
</vxe-form-item> -->
<vxe-form-item title="供应商工单编号" field="SupplierWorkNo" span="12">
<template #default="params">
<vxe-input v-model="params.data.SupplierWorkNo" placeholder="请输入供应商工单编号" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="国网侧供应商编码" field="SupplierCode" span="12">
<!-- <vxe-form-item title="国网侧供应商编码" field="SupplierCode" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.SupplierCode }}</div>
<span>{{ params.data.SupplierCode }}</span>
</template>
</vxe-form-item>
<vxe-form-item title="规格型号编码" field="ModelCode" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.ModelCode }}</div>
<span>{{ params.data.ModelCode }}</span>
</template>
</vxe-form-item>
<vxe-form-item title="物资种类编码" field="CategoryType" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.CategoryType }}</div>
<span>{{ params.data.CategoryType }}</span>
</template>
</vxe-form-item>
</vxe-form-item> -->
<vxe-form-item title="序列号" field="SerialNo" span="12">
<template #default="params">
<vxe-input v-model="params.data.SerialNo" placeholder="请输入序列号" clearable
@ -90,30 +90,30 @@
<vxe-form-item title="原材料出厂日期" field="ManufactureDate" span="12">
<template #default="params">
<vxe-input v-model="params.data.ManufactureDate" type="date" clearable
@change="fnChangeA(params)" style="width: 196px;"></vxe-input>
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="来料检验日期" field="IncomDate" span="12">
<template #default="params">
<vxe-input v-model="params.data.IncomDate" type="date" clearable
@change="fnChangeA(params)" style="width: 196px;"></vxe-input>
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="采集时间" field="CheckTime" span="12">
<!-- <vxe-form-item title="采集时间" field="CheckTime" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.CheckTime }}</div>
<span>{{ params.data.CheckTime }}</span>
</template>
</vxe-form-item>
<vxe-form-item title="入数采中心时间" field="PutCenterTime" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.PutCenterTime }}</div>
<span>{{ params.data.PutCenterTime }}</span>
</template>
</vxe-form-item>
<vxe-form-item title="工序" field="PdCode" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.PdCode }}</div>
<span>{{ params.data.PdCode }}</span>
</template>
</vxe-form-item>
</vxe-form-item> -->
<vxe-form-item title="感知过程" field="ProcessType" span="12">
<template #default="params">
<vxe-select v-model="params.data.ProcessType" clearable filterable :disabled="true">
@ -131,21 +131,21 @@
</vxe-select>
</template>
</vxe-form-item>
<vxe-form-item title="ecode码" field="Ecode" span="12">
<!-- <vxe-form-item title="ecode码" field="Ecode" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.Ecode }}</div>
<span>{{ params.data.Ecode }}</span>
</template>
</vxe-form-item>
<vxe-form-item title="国网实物Id" field="SgEntityId" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.SgEntityId }}</div>
<span>{{ params.data.SgEntityId }}</span>
</template>
</vxe-form-item>
<vxe-form-item title="数据唯一标识" field="DataUniqueIdentifier" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.DataUniqueIdentifier }}</div>
<span>{{ params.data.DataUniqueIdentifier }}</span>
</template>
</vxe-form-item>
</vxe-form-item> -->
</vxe-form-gather>
<vxe-form-gather span="24">
<vxe-form-item span="24">
@ -171,6 +171,73 @@
</template>
</vxe-form-item>
</vxe-form-gather>
<vxe-form-gather span="24">
<vxe-form-item span="24">
<template #default="params">
<div
style="font-size: larger;border-bottom: solid 1px #606266;padding: 0px 0px 5px 0px;">
附件上传
</div>
</template>
</vxe-form-item>
</vxe-form-gather>
<vxe-form-gather span="24">
<vxe-form-item span="24">
<template #default="params">
<vxe-table :data="fileItems">
<vxe-column field="id" title="id"></vxe-column>
<vxe-column field="type" title="文件类型"></vxe-column>
<vxe-column field="typeCode" title="文件类别" width="160">
<template #default="{ row }">
<template v-if="row.typeCode == 1">
1. 来料检测报告
</template>
<template v-else>
2. 生产商检测报告
</template>
</template>
</vxe-column>
<vxe-column field="fileName" title="文件原名称" width="100"></vxe-column>
<vxe-column field="fileUrl" title="文件Url" width="100"></vxe-column>
<vxe-column field="fileType" title="文件格式" width="100">
<template #default="{ row }">
<template v-if="row.fileType == 1">
PDF
</template>
<template v-else>
</template>
</template>
</vxe-column>
<vxe-column field="fType" title="fType"></vxe-column>
<vxe-column field="fType" title="fType" width="300">
<template #default="{ row }">
<template v-if="row.typeCode == 1">
<a-upload v-model:file-list="fileListA" name="file"
:action="fileUpUrl" :headers="{}" @change="fnChgFileA"
:maxCount="1" accept=".pdf">
<a-button>
<upload-outlined></upload-outlined>
上传来料检测报告
</a-button>
</a-upload>
</template>
<template v-else>
<a-upload v-model:file-list="fileListB" name="file"
:action="fileUpUrl" :headers="{}" @change="fnChgFileB"
:maxCount="1" accept=".pdf">
<a-button>
<upload-outlined></upload-outlined>
上传生产商检测报告
</a-button>
</a-upload>
</template>
</template>
</vxe-column>
</vxe-table>
</template>
</vxe-form-item>
</vxe-form-gather>
</vxe-form>
</a-card>
</template>
@ -184,56 +251,61 @@
</template>
<script lang="ts" setup name="BiLeiQiForm">
import { ref, onMounted } from 'vue'
import { ref, onMounted, computed } from 'vue'
import { VXETable } from 'vxe-table'
import dayjs from 'dayjs'
import { map as _map } from 'lodash'
import * as BiLeiQiApi from '@/api/gw/biLeiQi'
import { useDictStore } from '@/stores/dict'
import { storeToRefs } from 'pinia'
import type { UploadProps, UploadChangeParam } from 'ant-design-vue'
import { config } from '@/config/axios/config'
import XEUtils from 'xe-utils'
import * as FileUploadApi from '@/api/gw/fileUpload'
//
const dictStore = useDictStore()
const { dictPdCode, dictProcessType } = storeToRefs(dictStore)
const { dictProcessType } = storeToRefs(dictStore)
// [success]
const emit = defineEmits(['success'])
//
const refShow = ref(false)
//
const modalTitle = ref('未知表单')
//
const refFormA = ref()
// [add - |update - |del - ]
const formTypeA: any = ref('')
//
const modalTitle = ref('未知表单')
// A -
const formDataAInit: any = {
"ID": 0,
"StandardVersion": 1,
"SupplierWorkNo": "",
"SupplierCode": "1000032215",
"ModelCode": "dtb00003",
"CategoryType": "90003",
"SerialNo": "",
"RmbNumber": "",
"RmibNumber": "",
"BorMaterials": "",
"RawmManufacturer": "",
"OorMaterials": "",
"MrmSpecification": "",
"ManufactureDate": dayjs().format("YYYY-MM-DD"),
"IncomDate": dayjs().format("YYYY-MM-DD"),
"CheckTime": dayjs().format("YYYY-MM-DD HH:mm:ss"),
"PutCenterTime": dayjs().format("YYYY-MM-DD HH:mm:ss"),
"PdCode": "GX000076",
"ProcessType": 1,
"IsQualify": undefined,
"Ecode": "NotImp",
"SgEntityId": "NotImp",
"DataUniqueIdentifier": "NotImp",
"ModelSpecification": undefined,
"PressureValue": undefined,
"Sended": 0
}
//
const formDataA: any = ref(
{
"ID": 0,
"StandardVersion": 1,
"SupplierWorkNo": "",
"SupplierCode": "1000032215",
"ModelCode": "dtb00003",
"CategoryType": "90003",
"SerialNo": "",
"RmbNumber": "",
"RmibNumber": "",
"BorMaterials": "",
"RawmManufacturer": "",
"OorMaterials": "",
"MrmSpecification": "",
"ManufactureDate": dayjs().format("YYYY-MM-DD"),
"IncomDate": dayjs().format("YYYY-MM-DD"),
"CheckTime": dayjs().format("YYYY-MM-DD HH:mm:ss"),
"PutCenterTime": dayjs().format("YYYY-MM-DD HH:mm:ss"),
"PdCode": "GX000076",
"ProcessType": 1,
"IsQualify": undefined,
"Ecode": "NotImp",
"SgEntityId": "NotImp",
"DataUniqueIdentifier": "NotImp",
"ModelSpecification": undefined,
"PressureValue": undefined,
"Sended": 0
})
const formDataA: any = ref(formDataAInit)
//
const formRulesA: any = ref({
SupplierWorkNo: [
@ -270,22 +342,56 @@ const formRulesA: any = ref({
{ required: true, message: '请选择是否合格' }
]
})
// B -
const formDataBInit: any = {
ID: 0,
StandardVersion: "",
SupplierWorkNo: "",
SupplierCode: "",
ModelCode: "",
CategoryType: "",
SerialNo: "",
FileItems: JSON.stringify([{ "id": 1, "type": 1, "typeCode": 1, "fileName": "", "fileUrl": "", "fileType": 1, "fType": ".pdf" }, { "id": 2, "type": 1, "typeCode": 2, "fileName": "", "fileUrl": "", "fileType": 1, "fType": ".pdf" }]),
CheckTime: "",
PutCenterTime: "",
PdCode: "",
FpdCode: "",
Ecode: '',
SgEntityId: "",
DataUniqueIdentifier: "",
Sended: 0
}
// B -
const formDataB: any = ref(formDataBInit)
// B -
const fileItems = computed(() => {
let FileItems: any = XEUtils.clone(formDataB.value.FileItems, true)
FileItems = JSON.parse(FileItems)
return FileItems
})
//
const fileListA = ref<UploadProps['fileList']>([]);
const fileListB = ref<UploadProps['fileList']>([]);
//
const fileUpUrl: any = computed(() => {
let url = config.base_url + '/DistributionBoxTesting/UploadFile'
return url
})
//
onMounted(() => {
})
//
const open = async (type: string, row?: any) => {
formTypeA.value = type
await fnResetA()
switch (type) {
case 'add':
await fnResetA()
modalTitle.value = '新增避雷器'
refShow.value = true
modalTitle.value = '新增避雷器'
break;
case 'edit':
await fnResetA()
modalTitle.value = '编辑避雷器'
refShow.value = true
modalTitle.value = '编辑避雷器'
const paramsA = {
"filter": {
"field": "ID",
@ -296,11 +402,24 @@ const open = async (type: string, row?: any) => {
const rowInfoA = await BiLeiQiApi.getBiLeiQi(paramsA)
rowInfoA.Data.Sended = 0
formDataA.value = rowInfoA.Data
//
const queryFileParamsA: any = {
"filter": {
"field": 'SerialNo',
"operator": "Eq",
"value": formDataA.value.SerialNo
}
}
const dataFileRes = await FileUploadApi.getPagingFileList(queryFileParamsA)
if (dataFileRes.Code == 0 && dataFileRes.List) {
if (dataFileRes.List.length > 0) {
formDataB.value = dataFileRes.List[0]
}
}
break;
case 'copy':
await fnResetA()
modalTitle.value = '复制避雷器'
refShow.value = true
modalTitle.value = '复制避雷器'
const paramsB = {
"filter": {
"field": "ID",
@ -321,6 +440,26 @@ const open = async (type: string, row?: any) => {
break;
}
}
// B - A
const fnChgFileA = async (info: UploadChangeParam) => {
if (info.file.response) {
let FileItems: any = XEUtils.clone(formDataB.value.FileItems, true)
FileItems = JSON.parse(FileItems)
FileItems[0]['fileName'] = info.file.name
FileItems[0]['fileUrl'] = info.file.response
formDataB.value.FileItems = JSON.stringify(FileItems)
}
}
// B - B
const fnChgFileB = async (info: UploadChangeParam) => {
if (info.file.response) {
let FileItems: any = XEUtils.clone(formDataB.value.FileItems, true)
FileItems = JSON.parse(FileItems)
FileItems[1]['fileName'] = info.file.name
FileItems[1]['fileUrl'] = info.file.response
formDataB.value.FileItems = JSON.stringify(FileItems)
}
}
// open
defineExpose({ open })
// A
@ -358,6 +497,7 @@ const fnSubmitA = async () => {
data: formDataA.value
}
await BiLeiQiApi.saveBiLeiQi(paramsA)
await fnSubmitB()
VXETable.modal.message({ content: '新增成功', status: 'success' })
break;
case 'edit':
@ -372,6 +512,7 @@ const fnSubmitA = async () => {
set: setVal
}
await BiLeiQiApi.editBiLeiQi(paramsB)
await fnSubmitB()
VXETable.modal.message({ content: '编辑成功', status: 'success' })
break;
case 'copy':
@ -385,36 +526,54 @@ const fnSubmitA = async () => {
refShow.value = false
emit('success')
}
// B -
const fnSubmitB = async () => {
formDataB.value.StandardVersion = formDataA.value.StandardVersion
formDataB.value.SupplierWorkNo = formDataA.value.SupplierWorkNo
formDataB.value.SupplierCode = formDataA.value.SupplierCode
formDataB.value.ModelCode = formDataA.value.ModelCode
formDataB.value.CategoryType = formDataA.value.CategoryType
formDataB.value.SerialNo = formDataA.value.SerialNo
formDataB.value.pdCode = "GX000080"
formDataB.value.FpdCode = formDataA.value.PdCode
formDataB.value.Ecode = formDataA.value.Ecode
formDataB.value.SgEntityId = formDataA.value.SgEntityId
formDataB.value.DataUniqueIdentifier = formDataA.value.DataUniqueIdentifier
formDataB.value.CheckTime = formDataA.value.CheckTime
formDataB.value.PutCenterTime = formDataA.value.PutCenterTime
const queryParamsA: any = {
"filter": {
"field": 'SerialNo',
"operator": "Eq",
"value": formDataA.value.SerialNo
}
}
const dataFileRes = await FileUploadApi.getPagingFileList(queryParamsA)
if (dataFileRes.Code == 0 && dataFileRes.List) {
if (dataFileRes.List.length > 0) {
let setVal: any = _map(formDataB.value, (o1, k1) => {
return { field: k1, value: o1 }
})
const paramsB = {
filter: {
field: 'SerialNo',
value: formDataB.value.SerialNo
},
set: setVal
}
await FileUploadApi.editFile(paramsB)
} else {
const paramsA = {
data: formDataB.value
}
await FileUploadApi.saveFile(paramsA)
}
}
}
//
const fnResetA = () => {
formDataA.value = {
"ID": 0,
"StandardVersion": 1,
"SupplierWorkNo": "",
"SupplierCode": "1000032215",
"ModelCode": "dtb00003",
"CategoryType": "90003",
"SerialNo": "",
"RmbNumber": "",
"RmibNumber": "",
"BorMaterials": "",
"RawmManufacturer": "",
"OorMaterials": "",
"MrmSpecification": "",
"ManufactureDate": dayjs().format("YYYY-MM-DD"),
"IncomDate": dayjs().format("YYYY-MM-DD"),
"CheckTime": dayjs().format("YYYY-MM-DD HH:mm:ss"),
"PutCenterTime": dayjs().format("YYYY-MM-DD HH:mm:ss"),
"PdCode": "GX000076",
"ProcessType": 1,
"IsQualify": undefined,
"Ecode": "NotImp",
"SgEntityId": "NotImp",
"DataUniqueIdentifier": "NotImp",
"ModelSpecification": undefined,
"PressureValue": undefined,
"Sended": 0
}
formDataA.value = formDataAInit
formDataB.value = formDataBInit
}
//
const fnEventCancel = () => {

Loading…
Cancel
Save