文件上传调整

main
mhsnet 7 months ago
parent 089408490c
commit ef2f7cb842

@ -1,275 +1,341 @@
<template>
<div class="xyp-dian-rong-qi-form" v-if="refShow">
<vxe-modal v-model="refShow" width="1160" height="770" show-zoom show-footer>
<template #title>
<span style="color:#ffffff">{{ modalTitle }}</span>
</template>
<template #default>
<a-card :bordered="false">
<vxe-form title-colon ref="refFormA" title-align="right" title-width="180" :data="formDataA"
:rules="formRulesA" @submit="fnSubmitA">
<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 title="采集规范版本号" field="StandardVersion" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.StandardVersion }}</div>
</template>
</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">
<template #default="params">
<div style="width: 196px;">{{ params.data.SupplierCode }}</div>
</template>
</vxe-form-item>
<vxe-form-item title="规格型号编码" field="ModelCode" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.ModelCode }}</div>
</template>
</vxe-form-item>
<vxe-form-item title="物资种类编码" field="CategoryType" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.CategoryType }}</div>
</template>
</vxe-form-item>
<vxe-form-item title="序列号" field="SerialNo" span="12">
<template #default="params">
<vxe-input v-model="params.data.SerialNo" placeholder="请输入序列号" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料检验批次号" field="RmibNumber" span="12">
<template #default="params">
<vxe-input v-model="params.data.RmibNumber" placeholder="请输入原材料检验批次号" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料批次号" field="RmbNumber" span="12">
<template #default="params">
<vxe-input v-model="params.data.RmbNumber" placeholder="请输入原材料批次号" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料品牌" field="BorMaterials" span="12">
<template #default="params">
<vxe-input v-model="params.data.BorMaterials" placeholder="请输入原材料品牌" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料制造商" field="RawmManufacturer" span="12">
<template #default="params">
<vxe-input v-model="params.data.RawmManufacturer" placeholder="请输入原材料制造商" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料产地" field="OorMaterials" span="12">
<template #default="params">
<vxe-input v-model="params.data.OorMaterials" placeholder="请输入原材料产地" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料规格型号" field="MrmSpecification" span="12">
<template #default="params">
<vxe-input v-model="params.data.MrmSpecification" placeholder="请输入原材料规格型号" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<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>
</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>
</template>
</vxe-form-item>
<vxe-form-item title="采集时间" field="CheckTime" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.CheckTime }}</div>
</template>
</vxe-form-item>
<vxe-form-item title="入数采中心时间" field="PutCenterTime" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.PutCenterTime }}</div>
</template>
</vxe-form-item>
<vxe-form-item title="工序" field="PdCode" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.PdCode }}</div>
</template>
</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">
<template v-for="(item) in dictProcessType">
<vxe-option :value="item.key" :label="item.val"></vxe-option>
<vxe-modal class-name="csty-dian-rong-qi-form" v-model="refShow" width="1200" height="770" show-zoom show-footer
:mask-closable=true>
<template #title>
<span style="color:#ffffff">{{ modalTitle }}</span>
</template>
<template #default>
<a-card :bordered="false">
<vxe-form title-colon ref="refFormA" title-align="right" title-width="180" :data="formDataA"
:rules="formRulesA" @submit="fnSubmitA">
<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 title="采集规范版本号" field="StandardVersion" span="12">
<template #default="params">
<span>{{ params.data.StandardVersion }}</span>
</template>
</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">
<template #default="params">
<span>{{ params.data.SupplierCode }}</span>
</template>
</vxe-form-item>
<vxe-form-item title="规格型号编码" field="ModelCode" span="12">
<template #default="params">
<span>{{ params.data.ModelCode }}</span>
</template>
</vxe-form-item>
<vxe-form-item title="物资种类编码" field="CategoryType" span="12">
<template #default="params">
<span>{{ params.data.CategoryType }}</span>
</template>
</vxe-form-item> -->
<vxe-form-item title="序列号" field="SerialNo" span="12">
<template #default="params">
<vxe-input v-model="params.data.SerialNo" placeholder="请输入序列号" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料检验批次号" field="RmibNumber" span="12">
<template #default="params">
<vxe-input v-model="params.data.RmibNumber" placeholder="请输入原材料检验批次号" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料批次号" field="RmbNumber" span="12">
<template #default="params">
<vxe-input v-model="params.data.RmbNumber" placeholder="请输入原材料批次号" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料品牌" field="BorMaterials" span="12">
<template #default="params">
<vxe-input v-model="params.data.BorMaterials" placeholder="请输入原材料品牌" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料制造商" field="RawmManufacturer" span="12">
<template #default="params">
<vxe-input v-model="params.data.RawmManufacturer" placeholder="请输入原材料制造商" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料产地" field="OorMaterials" span="12">
<template #default="params">
<vxe-input v-model="params.data.OorMaterials" placeholder="请输入原材料产地" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料规格型号" field="MrmSpecification" span="12">
<template #default="params">
<vxe-input v-model="params.data.MrmSpecification" placeholder="请输入原材料规格型号" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料出厂日期" field="ManufactureDate" span="12">
<template #default="params">
<vxe-input v-model="params.data.ManufactureDate" type="date" clearable
@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)"></vxe-input>
</template>
</vxe-form-item>
<!-- <vxe-form-item title="采集时间" field="CheckTime" span="12">
<template #default="params">
<span>{{ params.data.CheckTime }}</span>
</template>
</vxe-form-item>
<vxe-form-item title="入数采中心时间" field="PutCenterTime" span="12">
<template #default="params">
<span>{{ params.data.PutCenterTime }}</span>
</template>
</vxe-form-item>
<vxe-form-item title="工序" field="PdCode" span="12">
<template #default="params">
<span>{{ params.data.PdCode }}</span>
</template>
</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">
<template v-for="(item) in dictProcessType">
<vxe-option :value="item.key" :label="item.val"></vxe-option>
</template>
</vxe-select>
</template>
</vxe-form-item>
<vxe-form-item title="检验结果是否合格" field="IsQualify" span="12">
<template #default="params">
<vxe-select v-model="params.data.IsQualify" clearable>
<vxe-option :key="1" :value="1" :label="`合格`"></vxe-option>
<vxe-option :key="0" :value="0" :label="`不合格`"></vxe-option>
</vxe-select>
</template>
</vxe-form-item>
<!-- <vxe-form-item title="ecode码" field="Ecode" span="12">
<template #default="params">
<span>{{ params.data.Ecode }}</span>
</template>
</vxe-form-item>
<vxe-form-item title="国网实物Id" field="SgEntityId" span="12">
<template #default="params">
<span>{{ params.data.SgEntityId }}</span>
</template>
</vxe-form-item>
<vxe-form-item title="数据唯一标识" field="DataUniqueIdentifier" span="12">
<template #default="params">
<span>{{ params.data.DataUniqueIdentifier }}</span>
</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 title="规格型号" field="ModelSpecification" span="12">
<template #default="params">
<vxe-input v-model="params.data.ModelSpecification" placeholder="请输入规格型号" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="额定电压(V)" field="PressureValue" span="12">
<template #default="params">
<vxe-input v-model="params.data.PressureValue" placeholder="请输入额定电压" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="电容器铭牌容量值(kvar)" field="CapacityUn" span="12">
<template #default="params">
<vxe-input v-model="params.data.CapacityUn" placeholder="请输入电容器铭牌容量值" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="电容器容量检测值(kvar)" field="Capacity" span="12">
<template #default="params">
<vxe-input v-model="params.data.Capacity" placeholder="请输入电容器容量检测值" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="电容器工作峰值电压(V)" field="CapacityPressure" span="12">
<template #default="params">
<vxe-input v-model="params.data.CapacityPressure" placeholder="请输入电容器工作峰值电压" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="放电至50V(V)" field="DischargeVoltage" span="12">
<template #default="params">
<vxe-input v-model="params.data.DischargeVoltage" placeholder="请输入放电至50V" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="放电时间(s≤180s)" field="DischargeTime" span="12">
<template #default="params">
<vxe-input v-model="params.data.DischargeTime" placeholder="放电时间" clearable
@change="fnChangeA(params)"></vxe-input>
</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" width="100"></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-select>
</template>
</vxe-form-item>
<vxe-form-item title="检验结果是否合格" field="IsQualify" span="12">
<template #default="params">
<vxe-select v-model="params.data.IsQualify" clearable>
<vxe-option :key="1" :value="1" :label="`合格`"></vxe-option>
<vxe-option :key="0" :value="0" :label="`不合格`"></vxe-option>
</vxe-select>
</template>
</vxe-form-item>
<vxe-form-item title="ecode码" field="Ecode" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.Ecode }}</div>
</template>
</vxe-form-item>
<vxe-form-item title="国网实物Id" field="SgEntityId" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.SgEntityId }}</div>
</template>
</vxe-form-item>
<vxe-form-item title="数据唯一标识" field="DataUniqueIdentifier" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.DataUniqueIdentifier }}</div>
</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 title="规格型号" field="ModelSpecification" span="12">
<template #default="params">
<vxe-input v-model="params.data.ModelSpecification" placeholder="请输入规格型号" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="额定电压(V)" field="PressureValue" span="12">
<template #default="params">
<vxe-input v-model="params.data.PressureValue" placeholder="请输入额定电压" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="电容器铭牌容量值(kvar)" field="CapacityUn" span="12">
<template #default="params">
<vxe-input v-model="params.data.CapacityUn" placeholder="请输入电容器铭牌容量值" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="电容器容量检测值(kvar)" field="Capacity" span="12">
<template #default="params">
<vxe-input v-model="params.data.Capacity" placeholder="请输入电容器容量检测值" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="电容器工作峰值电压(V)" field="CapacityPressure" span="12">
<template #default="params">
<vxe-input v-model="params.data.CapacityPressure" placeholder="请输入电容器工作峰值电压"
clearable @change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="放电至50V(V)" field="DischargeVoltage" span="12">
<template #default="params">
<vxe-input v-model="params.data.DischargeVoltage" placeholder="请输入放电至50V" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="放电时间(s≤180s)" field="DischargeTime" span="12">
<template #default="params">
<vxe-input v-model="params.data.DischargeTime" placeholder="放电时间" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
</vxe-form-gather>
</vxe-form>
</a-card>
</template>
<template #footer>
<vxe-button type="submit" status="primary" content="保存" @click="fnSubmitA"></vxe-button>
<vxe-button type="reset" content="取消" @click="fnEventCancel"></vxe-button>
</template>
</vxe-modal>
</div>
</vxe-column>
<vxe-column field="fileName" title="文件原名称"></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 title="上传文件" width="200">
<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>
<template #footer>
<vxe-button type="submit" status="primary" content="保存" @click="fnSubmitA"></vxe-button>
<vxe-button type="reset" content="取消" @click="fnEventCancel"></vxe-button>
</template>
</vxe-modal>
</template>
<script lang="ts" setup name="DianRongQiForm">
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 DianRongQiApi from '@/api/gw/dianRongQi'
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 refFormA = ref()
// [add - |update - |del - ]
const formTypeA: any = ref('')
//
const modalTitle = ref('未知表单')
// [add - |update - |del - ]
const formType: any = ref('')
//
const refFormA = 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: "GX000072",
ProcessType: 1,
IsQualify: undefined,
Ecode: "NotImp",
SgEntityId: "NotImp",
DataUniqueIdentifier: "NotImp",
modelSpecification: undefined,
PressureValue: undefined,
CapacityUn: undefined,
Capacity: undefined,
CapacityPressure: undefined,
DischargeVoltage: undefined,
DischargeTime: 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": "GX000072",
"ProcessType": 1,
"IsQualify": undefined,
"Ecode": "NotImp",
"SgEntityId": "NotImp",
"DataUniqueIdentifier": "NotImp",
"modelSpecification": undefined,
"PressureValue": undefined,
"CapacityUn": undefined,
"Capacity": undefined,
"CapacityPressure": undefined,
"DischargeVoltage": undefined,
"DischargeTime": undefined,
"Sended": 0
})
const formDataA: any = ref(formDataAInit)
//
const formRulesA: any = ref({
SupplierWorkNo: [
@ -318,22 +384,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
formType.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",
@ -344,11 +444,24 @@ const open = async (type: string, row?: any) => {
const rowInfoA = await DianRongQiApi.getDianRongQi(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",
@ -358,6 +471,8 @@ const open = async (type: string, row?: any) => {
}
const rowInfoB = await DianRongQiApi.getDianRongQi(paramsB)
rowInfoB.Data.ID = 0
rowInfoB.Data.ManufactureDate = dayjs().format("YYYY-MM-DD")
rowInfoB.Data.IncomDate = dayjs().format("YYYY-MM-DD")
rowInfoB.Data.CheckTime = dayjs().format("YYYY-MM-DD HH:mm:ss")
rowInfoB.Data.PutCenterTime = dayjs().format("YYYY-MM-DD HH:mm:ss")
rowInfoB.Data.Sended = 0
@ -369,6 +484,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
@ -400,74 +535,93 @@ const fnDeleteA = async (row: any) => {
}
//
const fnSubmitA = async () => {
switch (formTypeA.value) {
case 'add':
const paramsA = {
data: formDataA.value
await refFormA.value.validate().then(async (res: any) => {
if (!res) {
switch (formType.value) {
case 'add':
const paramsA = {
data: formDataA.value
}
await DianRongQiApi.saveDianRongQi(paramsA)
await fnSubmitB()
VXETable.modal.message({ content: '新增成功', status: 'success' })
break;
case 'edit':
let setVal: any = _map(formDataA.value, (o1, k1) => {
return { field: k1, value: o1 }
})
const paramsB = {
filter: {
field: 'ID',
value: formDataA.value.ID
},
set: setVal
}
await DianRongQiApi.editDianRongQi(paramsB)
await fnSubmitB()
VXETable.modal.message({ content: '编辑成功', status: 'success' })
break;
case 'copy':
const paramsC = {
data: formDataA.value
}
await DianRongQiApi.saveDianRongQi(paramsC)
VXETable.modal.message({ content: '复制成功', status: 'success' })
break;
}
await DianRongQiApi.saveDianRongQi(paramsA)
VXETable.modal.message({ content: '新增成功', status: 'success' })
break;
case 'edit':
let setVal: any = _map(formDataA.value, (o1, k1) => {
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: 'ID',
value: formDataA.value.ID
field: 'SerialNo',
value: formDataB.value.SerialNo
},
set: setVal
}
await DianRongQiApi.editDianRongQi(paramsB)
VXETable.modal.message({ content: '编辑成功', status: 'success' })
break;
case 'copy':
const paramsC = {
data: formDataA.value
await FileUploadApi.editFile(paramsB)
} else {
const paramsA = {
data: formDataB.value
}
await DianRongQiApi.saveDianRongQi(paramsC)
VXETable.modal.message({ content: '复制成功', status: 'success' })
break;
await FileUploadApi.saveFile(paramsA)
}
}
refShow.value = false
emit('success')
}
//
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": "GX000072",
"ProcessType": 1,
"IsQualify": undefined,
"Ecode": "NotImp",
"SgEntityId": "NotImp",
"DataUniqueIdentifier": "NotImp",
"modelSpecification": undefined,
"PressureValue": undefined,
"CapacityUn": undefined,
"Capacity": undefined,
"CapacityPressure": undefined,
"DischargeVoltage": undefined,
"DischargeTime": undefined,
"Sended": 0
}
const fnResetA = async () => {
formDataA.value = formDataAInit
formDataB.value = formDataBInit
}
//
const fnEventCancel = () => {

@ -1,256 +1,322 @@
<template>
<div class="xyp-duan-lu-qi-form" v-if="refShow">
<vxe-modal v-model="refShow" width="960" height="770" show-zoom show-footer>
<template #title>
<span style="color:#ffffff">{{ modalTitle }}</span>
</template>
<template #default>
<a-card :bordered="false">
<vxe-form title-colon ref="refFormA" title-align="right" title-width="150" :data="formDataA"
:rules="formRulesA" @submit="fnSubmitA">
<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 title="采集规范版本号" field="StandardVersion" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.StandardVersion }}</div>
</template>
</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">
<template #default="params">
<div style="width: 196px;">{{ params.data.SupplierCode }}</div>
</template>
</vxe-form-item>
<vxe-form-item title="规格型号编码" field="ModelCode" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.ModelCode }}</div>
</template>
</vxe-form-item>
<vxe-form-item title="物资种类编码" field="CategoryType" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.CategoryType }}</div>
</template>
</vxe-form-item>
<vxe-form-item title="序列号" field="SerialNo" span="12">
<template #default="params">
<vxe-input v-model="params.data.SerialNo" placeholder="请输入序列号" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料检验批次号" field="RmibNumber" span="12">
<template #default="params">
<vxe-input v-model="params.data.RmibNumber" placeholder="请输入原材料检验批次号" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料批次号" field="RmbNumber" span="12">
<template #default="params">
<vxe-input v-model="params.data.RmbNumber" placeholder="请输入原材料批次号" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料品牌" field="BorMaterials" span="12">
<template #default="params">
<vxe-input v-model="params.data.BorMaterials" placeholder="请输入原材料品牌" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料制造商" field="RawmManufacturer" span="12">
<template #default="params">
<vxe-input v-model="params.data.RawmManufacturer" placeholder="请输入原材料制造商" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料产地" field="OorMaterials" span="12">
<template #default="params">
<vxe-input v-model="params.data.OorMaterials" placeholder="请输入原材料产地" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料规格型号" field="MrmSpecification" span="12">
<template #default="params">
<vxe-input v-model="params.data.MrmSpecification" placeholder="请输入原材料规格型号" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<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>
</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>
</template>
</vxe-form-item>
<vxe-form-item title="采集时间" field="CheckTime" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.CheckTime }}</div>
</template>
</vxe-form-item>
<vxe-form-item title="入数采中心时间" field="PutCenterTime" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.PutCenterTime }}</div>
</template>
</vxe-form-item>
<vxe-form-item title="工序" field="PdCode" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.PdCode }}</div>
</template>
</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">
<template v-for="(item) in dictProcessType">
<vxe-option :value="item.key" :label="item.val"></vxe-option>
<vxe-modal class-name="csty-duan-lu-qi-form" v-model="refShow" width="1200" height="770" show-zoom show-footer
:mask-closable=true>
<template #title>
<span style="color:#ffffff">{{ modalTitle }}</span>
</template>
<template #default>
<a-card :bordered="false">
<vxe-form title-colon ref="refFormA" title-align="right" title-width="150" :data="formDataA"
:rules="formRulesA">
<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 title="采集规范版本号" field="StandardVersion" span="12">
<template #default="params">
<span>{{ params.data.StandardVersion }}</span>
</template>
</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">
<template #default="params">
<span>{{ params.data.SupplierCode }}</span>
</template>
</vxe-form-item>
<vxe-form-item title="规格型号编码" field="ModelCode" span="12">
<template #default="params">
<span>{{ params.data.ModelCode }}</span>
</template>
</vxe-form-item>
<vxe-form-item title="物资种类编码" field="CategoryType" span="12">
<template #default="params">
<span>{{ params.data.CategoryType }}</span>
</template>
</vxe-form-item> -->
<vxe-form-item title="序列号" field="SerialNo" span="12">
<template #default="params">
<vxe-input v-model="params.data.SerialNo" placeholder="请输入序列号" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料检验批次号" field="RmibNumber" span="12">
<template #default="params">
<vxe-input v-model="params.data.RmibNumber" placeholder="请输入原材料检验批次号" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料批次号" field="RmbNumber" span="12">
<template #default="params">
<vxe-input v-model="params.data.RmbNumber" placeholder="请输入原材料批次号" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料品牌" field="BorMaterials" span="12">
<template #default="params">
<vxe-input v-model="params.data.BorMaterials" placeholder="请输入原材料品牌" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料制造商" field="RawmManufacturer" span="12">
<template #default="params">
<vxe-input v-model="params.data.RawmManufacturer" placeholder="请输入原材料制造商" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料产地" field="OorMaterials" span="12">
<template #default="params">
<vxe-input v-model="params.data.OorMaterials" placeholder="请输入原材料产地" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料规格型号" field="MrmSpecification" span="12">
<template #default="params">
<vxe-input v-model="params.data.MrmSpecification" placeholder="请输入原材料规格型号" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料出厂日期" field="ManufactureDate" span="12">
<template #default="params">
<vxe-input v-model="params.data.ManufactureDate" type="date" clearable
@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)"></vxe-input>
</template>
</vxe-form-item>
<!-- <vxe-form-item title="采集时间" field="CheckTime" span="12">
<template #default="params">
<span>{{ params.data.CheckTime }}</span>
</template>
</vxe-form-item>
<vxe-form-item title="入数采中心时间" field="PutCenterTime" span="12">
<template #default="params">
<span>{{ params.data.PutCenterTime }}</span>
</template>
</vxe-form-item>
<vxe-form-item title="工序" field="PdCode" span="12">
<template #default="params">
<span>{{ params.data.PdCode }}</span>
</template>
</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">
<template v-for="(item) in dictProcessType">
<vxe-option :value="item.key" :label="item.val"></vxe-option>
</template>
</vxe-select>
</template>
</vxe-form-item>
<vxe-form-item title="检验结果是否合格" field="IsQualify" span="12">
<template #default="params">
<vxe-select v-model="params.data.IsQualify" clearable>
<vxe-option :key="1" :value="1" :label="`合格`"></vxe-option>
<vxe-option :key="0" :value="0" :label="`不合格`"></vxe-option>
</vxe-select>
</template>
</vxe-form-item>
<!-- <vxe-form-item title="ecode码" field="Ecode" span="12">
<template #default="params">
<span>{{ params.data.Ecode }}</span>
</template>
</vxe-form-item>
<vxe-form-item title="国网实物Id" field="SgEntityId" span="12">
<template #default="params">
<span>{{ params.data.SgEntityId }}</span>
</template>
</vxe-form-item>
<vxe-form-item title="数据唯一标识" field="DataUniqueIdentifier" span="12">
<template #default="params">
<span>{{ params.data.DataUniqueIdentifier }}</span>
</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 title="规格型号" field="ModelSpecification" span="12">
<template #default="params">
<vxe-input v-model="params.data.ModelSpecification" placeholder="请输入规格型号" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="人力分合操作5次可靠动作" field="TextDescription" span="12">
<template #default="params">
<vxe-select v-model="params.data.TextDescription" clearable>
<vxe-option :key="1" :value="1" :label="`合格`"></vxe-option>
<vxe-option :key="0" :value="0" :label="`不合格`"></vxe-option>
</vxe-select>
</template>
</vxe-form-item>
<vxe-form-item title="额定绝缘电压(V)" field="InsulationVoltageUn" span="12">
<template #default="params">
<vxe-input v-model="params.data.InsulationVoltageUn" placeholder="请输入额定绝缘电压" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="额定电流(A)" field="PcurrentUn" span="12">
<template #default="params">
<vxe-input v-model="params.data.PcurrentUn" placeholder="请输入额定电流" clearable
@change="fnChangeA(params)"></vxe-input>
</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" width="100"></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-select>
</template>
</vxe-form-item>
<vxe-form-item title="检验结果是否合格" field="IsQualify" span="12">
<template #default="params">
<vxe-select v-model="params.data.IsQualify" clearable>
<vxe-option :key="1" :value="1" :label="`合格`"></vxe-option>
<vxe-option :key="0" :value="0" :label="`不合格`"></vxe-option>
</vxe-select>
</template>
</vxe-form-item>
<vxe-form-item title="ecode码" field="Ecode" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.Ecode }}</div>
</template>
</vxe-form-item>
<vxe-form-item title="国网实物Id" field="SgEntityId" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.SgEntityId }}</div>
</template>
</vxe-form-item>
<vxe-form-item title="数据唯一标识" field="DataUniqueIdentifier" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.DataUniqueIdentifier }}</div>
</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 title="规格型号" field="ModelSpecification" span="12">
<template #default="params">
<vxe-input v-model="params.data.ModelSpecification" placeholder="请输入规格型号" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="人力分合操作5次可靠动作" field="TextDescription" span="12">
<template #default="params">
<vxe-select v-model="params.data.TextDescription" clearable>
<vxe-option :key="1" :value="1" :label="`合格`"></vxe-option>
<vxe-option :key="0" :value="0" :label="`不合格`"></vxe-option>
</vxe-select>
</template>
</vxe-form-item>
<vxe-form-item title="额定绝缘电压(V)" field="InsulationVoltageUn" span="12">
<template #default="params">
<vxe-input v-model="params.data.InsulationVoltageUn" placeholder="请输入额定绝缘电压"
clearable @change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="额定电流(A)" field="PcurrentUn" span="12">
<template #default="params">
<vxe-input v-model="params.data.PcurrentUn" placeholder="请输入额定电流" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
</vxe-form-gather>
</vxe-form>
</a-card>
</template>
<template #footer>
<vxe-button type="submit" status="primary" content="保存" @click="fnSubmitA"></vxe-button>
<vxe-button type="reset" content="取消" @click="fnEventCancel"></vxe-button>
</template>
</vxe-modal>
</div>
</vxe-column>
<vxe-column field="fileName" title="文件原名称"></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 title="上传文件" width="200">
<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>
<template #footer>
<vxe-button type="submit" status="primary" content="保存" @click="fnSubmitA"></vxe-button>
<vxe-button type="reset" content="取消" @click="fnEventCancel"></vxe-button>
</template>
</vxe-modal>
</template>
<script lang="ts" setup name="DuanLuQiForm">
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 DuanLuQiApi from '@/api/gw/duanLuQi'
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 refFormA = ref()
// [add - |update - |del - ]
const formTypeA: any = ref('')
//
const modalTitle = ref('未知表单')
// [add - |update - |del - ]
const formType: any = ref('')
//
const refFormA = 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: "GX000073",
ProcessType: 1,
IsQualify: undefined,
Ecode: "NotImp",
SgEntityId: "NotImp",
DataUniqueIdentifier: "NotImp",
ModelSpecification: undefined,
TextDescription: undefined,
InsulationVoltageUn: undefined,
PcurrentUn: 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": "GX000073",
"ProcessType": 1,
"IsQualify": undefined,
"Ecode": "NotImp",
"SgEntityId": "NotImp",
"DataUniqueIdentifier": "NotImp",
"ModelSpecification": undefined,
"TextDescription": undefined,
"InsulationVoltageUn": undefined,
"PcurrentUn": undefined,
"Sended": 0
})
const formDataA: any = ref(formDataAInit)
//
const formRulesA: any = ref({
SupplierWorkNo: [
@ -299,22 +365,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
formType.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",
@ -325,11 +425,24 @@ const open = async (type: string, row?: any) => {
const rowInfoA = await DuanLuQiApi.getDuanLuQi(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",
@ -339,6 +452,8 @@ const open = async (type: string, row?: any) => {
}
const rowInfoB = await DuanLuQiApi.getDuanLuQi(paramsB)
rowInfoB.Data.ID = 0
rowInfoB.Data.ManufactureDate = dayjs().format("YYYY-MM-DD")
rowInfoB.Data.IncomDate = dayjs().format("YYYY-MM-DD")
rowInfoB.Data.CheckTime = dayjs().format("YYYY-MM-DD HH:mm:ss")
rowInfoB.Data.PutCenterTime = dayjs().format("YYYY-MM-DD HH:mm:ss")
rowInfoB.Data.Sended = 0
@ -350,6 +465,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
@ -381,71 +516,93 @@ const fnDeleteA = async (row: any) => {
}
//
const fnSubmitA = async () => {
switch (formTypeA.value) {
case 'add':
const paramsA = {
data: formDataA.value
await refFormA.value.validate().then(async (res: any) => {
if (!res) {
switch (formType.value) {
case 'add':
const paramsA = {
data: formDataA.value
}
await DuanLuQiApi.saveDuanLuQi(paramsA)
await fnSubmitB()
VXETable.modal.message({ content: '新增成功', status: 'success' })
break;
case 'edit':
let setVal: any = _map(formDataA.value, (o1, k1) => {
return { field: k1, value: o1 }
})
const paramsB = {
filter: {
field: 'ID',
value: formDataA.value.ID
},
set: setVal
}
await DuanLuQiApi.editDuanLuQi(paramsB)
await fnSubmitB()
VXETable.modal.message({ content: '编辑成功', status: 'success' })
break;
case 'copy':
const paramsC = {
data: formDataA.value
}
await DuanLuQiApi.saveDuanLuQi(paramsC)
VXETable.modal.message({ content: '复制成功', status: 'success' })
break;
}
await DuanLuQiApi.saveDuanLuQi(paramsA)
VXETable.modal.message({ content: '新增成功', status: 'success' })
break;
case 'edit':
let setVal: any = _map(formDataA.value, (o1, k1) => {
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: 'ID',
value: formDataA.value.ID
field: 'SerialNo',
value: formDataB.value.SerialNo
},
set: setVal
}
await DuanLuQiApi.editDuanLuQi(paramsB)
VXETable.modal.message({ content: '编辑成功', status: 'success' })
break;
case 'copy':
const paramsC = {
data: formDataA.value
await FileUploadApi.editFile(paramsB)
} else {
const paramsA = {
data: formDataB.value
}
await DuanLuQiApi.saveDuanLuQi(paramsC)
VXETable.modal.message({ content: '复制成功', status: 'success' })
break;
await FileUploadApi.saveFile(paramsA)
}
}
refShow.value = false
emit('success')
}
//
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": "GX000073",
"ProcessType": 1,
"IsQualify": undefined,
"Ecode": "NotImp",
"SgEntityId": "NotImp",
"DataUniqueIdentifier": "NotImp",
"ModelSpecification": undefined,
"TextDescription": undefined,
"InsulationVoltageUn": undefined,
"PcurrentUn": undefined,
"Sended": 0
}
const fnResetA = async () => {
formDataA.value = formDataAInit
formDataB.value = formDataBInit
}
//
const fnEventCancel = () => {

@ -1,255 +1,322 @@
<template>
<div class="xyp-fused-isolation-switch-form" v-if="refShow">
<vxe-modal v-model="refShow" width="960" height="770" show-zoom show-footer>
<template #title>
<span style="color:#ffffff">{{ modalTitle }}</span>
</template>
<template #default>
<a-card :bordered="false">
<vxe-form title-colon ref="refFormA" title-align="right" title-width="150" :data="formDataA"
:rules="formRulesA" @submit="fnSubmitA">
<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 title="采集规范版本号" field="StandardVersion" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.StandardVersion }}</div>
</template>
</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">
<template #default="params">
<div style="width: 196px;">{{ params.data.SupplierCode }}</div>
</template>
</vxe-form-item>
<vxe-form-item title="规格型号编码" field="ModelCode" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.ModelCode }}</div>
</template>
</vxe-form-item>
<vxe-form-item title="物资种类编码" field="CategoryType" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.CategoryType }}</div>
</template>
</vxe-form-item>
<vxe-form-item title="序列号" field="SerialNo" span="12">
<template #default="params">
<vxe-input v-model="params.data.SerialNo" placeholder="请输入序列号" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料检验批次号" field="RmibNumber" span="12">
<template #default="params">
<vxe-input v-model="params.data.RmibNumber" placeholder="请输入原材料检验批次号" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料批次号" field="RmbNumber" span="12">
<template #default="params">
<vxe-input v-model="params.data.RmbNumber" placeholder="请输入原材料批次号" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料品牌" field="BorMaterials" span="12">
<template #default="params">
<vxe-input v-model="params.data.BorMaterials" placeholder="请输入原材料品牌" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料制造商" field="RawmManufacturer" span="12">
<template #default="params">
<vxe-input v-model="params.data.RawmManufacturer" placeholder="请输入原材料制造商" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料产地" field="OorMaterials" span="12">
<template #default="params">
<vxe-input v-model="params.data.OorMaterials" placeholder="请输入原材料产地" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料规格型号" field="MrmSpecification" span="12">
<template #default="params">
<vxe-input v-model="params.data.MrmSpecification" placeholder="请输入原材料规格型号" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<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>
</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>
</template>
</vxe-form-item>
<vxe-form-item title="采集时间" field="CheckTime" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.CheckTime }}</div>
</template>
</vxe-form-item>
<vxe-form-item title="入数采中心时间" field="PutCenterTime" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.PutCenterTime }}</div>
</template>
</vxe-form-item>
<vxe-form-item title="工序" field="PdCode" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.PdCode }}</div>
</template>
</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">
<template v-for="(item) in dictProcessType">
<vxe-option :value="item.key" :label="item.val"></vxe-option>
<vxe-modal class-name="csty-fused-isolation-switch-form" v-model="refShow" width="1200" height="770" show-zoom
show-footer :mask-closable=true>
<template #title>
<span style="color:#ffffff">{{ modalTitle }}</span>
</template>
<template #default>
<a-card :bordered="false">
<vxe-form title-colon ref="refFormA" title-align="right" title-width="150" :data="formDataA"
:rules="formRulesA" @submit="fnSubmitA">
<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 title="采集规范版本号" field="StandardVersion" span="12">
<template #default="params">
<span>{{ params.data.StandardVersion }}</span>
</template>
</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">
<template #default="params">
<span>{{ params.data.SupplierCode }}</span>
</template>
</vxe-form-item>
<vxe-form-item title="规格型号编码" field="ModelCode" span="12">
<template #default="params">
<span>{{ params.data.ModelCode }}</span>
</template>
</vxe-form-item>
<vxe-form-item title="物资种类编码" field="CategoryType" span="12">
<template #default="params">
<span>{{ params.data.CategoryType }}</span>
</template>
</vxe-form-item> -->
<vxe-form-item title="序列号" field="SerialNo" span="12">
<template #default="params">
<vxe-input v-model="params.data.SerialNo" placeholder="请输入序列号" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料检验批次号" field="RmibNumber" span="12">
<template #default="params">
<vxe-input v-model="params.data.RmibNumber" placeholder="请输入原材料检验批次号" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料批次号" field="RmbNumber" span="12">
<template #default="params">
<vxe-input v-model="params.data.RmbNumber" placeholder="请输入原材料批次号" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料品牌" field="BorMaterials" span="12">
<template #default="params">
<vxe-input v-model="params.data.BorMaterials" placeholder="请输入原材料品牌" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料制造商" field="RawmManufacturer" span="12">
<template #default="params">
<vxe-input v-model="params.data.RawmManufacturer" placeholder="请输入原材料制造商" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料产地" field="OorMaterials" span="12">
<template #default="params">
<vxe-input v-model="params.data.OorMaterials" placeholder="请输入原材料产地" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料规格型号" field="MrmSpecification" span="12">
<template #default="params">
<vxe-input v-model="params.data.MrmSpecification" placeholder="请输入原材料规格型号" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="原材料出厂日期" field="ManufactureDate" span="12">
<template #default="params">
<vxe-input v-model="params.data.ManufactureDate" type="date" clearable
@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)"></vxe-input>
</template>
</vxe-form-item>
<!-- <vxe-form-item title="采集时间" field="CheckTime" span="12">
<template #default="params">
<span>{{ params.data.CheckTime }}</span>
</template>
</vxe-form-item>
<vxe-form-item title="入数采中心时间" field="PutCenterTime" span="12">
<template #default="params">
<span>{{ params.data.PutCenterTime }}</span>
</template>
</vxe-form-item>
<vxe-form-item title="工序" field="PdCode" span="12">
<template #default="params">
<span>{{ params.data.PdCode }}</span>
</template>
</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">
<template v-for="(item) in dictProcessType">
<vxe-option :value="item.key" :label="item.val"></vxe-option>
</template>
</vxe-select>
</template>
</vxe-form-item>
<vxe-form-item title="检验结果是否合格" field="IsQualify" span="12">
<template #default="params">
<vxe-select v-model="params.data.IsQualify" clearable>
<vxe-option :key="1" :value="1" :label="`合格`"></vxe-option>
<vxe-option :key="0" :value="0" :label="`不合格`"></vxe-option>
</vxe-select>
</template>
</vxe-form-item>
<!-- <vxe-form-item title="ecode码" field="Ecode" span="12">
<template #default="params">
<span>{{ params.data.Ecode }}</span>
</template>
</vxe-form-item>
<vxe-form-item title="国网实物Id" field="SgEntityId" span="12">
<template #default="params">
<span>{{ params.data.SgEntityId }}</span>
</template>
</vxe-form-item>
<vxe-form-item title="数据唯一标识" field="DataUniqueIdentifier" span="12">
<template #default="params">
<span>{{ params.data.DataUniqueIdentifier }}</span>
</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 title="人力分合操作5次可靠动作" field="TextDescription" span="12">
<template #default="params">
<vxe-select v-model="params.data.TextDescription" clearable>
<vxe-option :key="1" :value="1" :label="`是`"></vxe-option>
<vxe-option :key="0" :value="0" :label="`否`"></vxe-option>
</vxe-select>
</template>
</vxe-form-item>
<vxe-form-item title="额定绝缘电压(V)" field="InsulationVoltageUn" span="12">
<template #default="params">
<vxe-input v-model="params.data.InsulationVoltageUn" placeholder="请输入额定绝缘电压" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="熔断器支持件的额定电流(A)" field="PcurrentUn" span="12">
<template #default="params">
<vxe-input v-model="params.data.PcurrentUn" placeholder="请输入熔断器支持件的额定电流" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="熔断体的额定电流(A)" field="TcurrentUn" span="12">
<template #default="params">
<vxe-input v-model="params.data.TcurrentUn" placeholder="请输入熔断体的额定电流" clearable
@change="fnChangeA(params)"></vxe-input>
</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" width="100"></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-select>
</template>
</vxe-form-item>
<vxe-form-item title="检验结果是否合格" field="IsQualify" span="12">
<template #default="params">
<vxe-select v-model="params.data.IsQualify" clearable>
<vxe-option :key="1" :value="1" :label="`合格`"></vxe-option>
<vxe-option :key="0" :value="0" :label="`不合格`"></vxe-option>
</vxe-select>
</template>
</vxe-form-item>
<vxe-form-item title="ecode码" field="Ecode" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.Ecode }}</div>
</template>
</vxe-form-item>
<vxe-form-item title="国网实物Id" field="SgEntityId" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.SgEntityId }}</div>
</template>
</vxe-form-item>
<vxe-form-item title="数据唯一标识" field="DataUniqueIdentifier" span="12">
<template #default="params">
<div style="width: 196px;">{{ params.data.DataUniqueIdentifier }}</div>
</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 title="人力分合操作5次可靠动作" field="TextDescription" span="12">
<template #default="params">
<vxe-select v-model="params.data.TextDescription" clearable>
<vxe-option :key="1" :value="1" :label="`是`"></vxe-option>
<vxe-option :key="0" :value="0" :label="`否`"></vxe-option>
</vxe-select>
</template>
</vxe-form-item>
<vxe-form-item title="额定绝缘电压(V)" field="InsulationVoltageUn" span="12">
<template #default="params">
<vxe-input v-model="params.data.InsulationVoltageUn" placeholder="请输入额定绝缘电压"
clearable @change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="熔断器支持件的额定电流(A)" field="PcurrentUn" span="12">
<template #default="params">
<vxe-input v-model="params.data.PcurrentUn" placeholder="请输入熔断器支持件的额定电流" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="熔断体的额定电流(A)" field="TcurrentUn" span="12">
<template #default="params">
<vxe-input v-model="params.data.TcurrentUn" placeholder="请输入熔断体的额定电流" clearable
@change="fnChangeA(params)"></vxe-input>
</template>
</vxe-form-item>
</vxe-form-gather>
</vxe-form>
</a-card>
</template>
<template #footer>
<vxe-button type="submit" status="primary" content="保存" @click="fnSubmitA"></vxe-button>
<vxe-button type="reset" content="取消" @click="fnEventCancel"></vxe-button>
</template>
</vxe-modal>
</div>
</vxe-column>
<vxe-column field="fileName" title="文件原名称"></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 title="上传文件" width="200">
<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>
<template #footer>
<vxe-button type="submit" status="primary" content="保存" @click="fnSubmitA"></vxe-button>
<vxe-button type="reset" content="取消" @click="fnEventCancel"></vxe-button>
</template>
</vxe-modal>
</template>
<script lang="ts" setup name="FusedIsolationSwitchForm">
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 FusedIsolationSwitchApi from '@/api/gw/fusedIsolationSwitch'
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 refFormA = ref()
// [add - |update - |del - ]
const formTypeA: any = ref('')
//
const modalTitle = ref('未知表单')
// [add - |update - |del - ]
const formType: any = ref('')
//
const refFormA = 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: "GX000071",
ProcessType: 1,
IsQualify: undefined,
Ecode: "NotImp",
SgEntityId: "NotImp",
DataUniqueIdentifier: "NotImp",
TextDescription: undefined,
InsulationVoltageUn: undefined,
PcurrentUn: undefined,
TcurrentUn: 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": "GX000071",
"ProcessType": 1,
"IsQualify": undefined,
"Ecode": "NotImp",
"SgEntityId": "NotImp",
"DataUniqueIdentifier": "NotImp",
"TextDescription": undefined,
"InsulationVoltageUn": undefined,
"PcurrentUn": undefined,
"TcurrentUn": undefined,
"Sended": 0
})
const formDataA: any = ref(formDataAInit)
//
const formRulesA: any = ref({
SupplierWorkNo: [
@ -298,22 +365,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
formType.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",
@ -324,11 +425,24 @@ const open = async (type: string, row?: any) => {
const rowInfoA = await FusedIsolationSwitchApi.getFusedIsolationSwitch(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",
@ -338,6 +452,8 @@ const open = async (type: string, row?: any) => {
}
const rowInfoB = await FusedIsolationSwitchApi.getFusedIsolationSwitch(paramsB)
rowInfoB.Data.ID = 0
rowInfoB.Data.ManufactureDate = dayjs().format("YYYY-MM-DD")
rowInfoB.Data.IncomDate = dayjs().format("YYYY-MM-DD")
rowInfoB.Data.CheckTime = dayjs().format("YYYY-MM-DD HH:mm:ss")
rowInfoB.Data.PutCenterTime = dayjs().format("YYYY-MM-DD HH:mm:ss")
rowInfoB.Data.Sended = 0
@ -349,6 +465,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
@ -380,71 +516,93 @@ const fnDeleteA = async (row: any) => {
}
//
const fnSubmitA = async () => {
switch (formTypeA.value) {
case 'add':
const paramsA = {
data: formDataA.value
await refFormA.value.validate().then(async (res: any) => {
if (!res) {
switch (formType.value) {
case 'add':
const paramsA = {
data: formDataA.value
}
await FusedIsolationSwitchApi.saveFusedIsolationSwitch(paramsA)
await fnSubmitB()
VXETable.modal.message({ content: '新增成功', status: 'success' })
break;
case 'edit':
let setVal: any = _map(formDataA.value, (o1, k1) => {
return { field: k1, value: o1 }
})
const paramsB = {
filter: {
field: 'ID',
value: formDataA.value.ID
},
set: setVal
}
await FusedIsolationSwitchApi.editFusedIsolationSwitch(paramsB)
await fnSubmitB()
VXETable.modal.message({ content: '编辑成功', status: 'success' })
break;
case 'copy':
const paramsC = {
data: formDataA.value
}
await FusedIsolationSwitchApi.saveFusedIsolationSwitch(paramsC)
VXETable.modal.message({ content: '复制成功', status: 'success' })
break;
}
await FusedIsolationSwitchApi.saveFusedIsolationSwitch(paramsA)
VXETable.modal.message({ content: '新增成功', status: 'success' })
break;
case 'edit':
let setVal: any = _map(formDataA.value, (o1, k1) => {
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: 'ID',
value: formDataA.value.ID
field: 'SerialNo',
value: formDataB.value.SerialNo
},
set: setVal
}
await FusedIsolationSwitchApi.editFusedIsolationSwitch(paramsB)
VXETable.modal.message({ content: '编辑成功', status: 'success' })
break;
case 'copy':
const paramsC = {
data: formDataA.value
await FileUploadApi.editFile(paramsB)
} else {
const paramsA = {
data: formDataB.value
}
await FusedIsolationSwitchApi.saveFusedIsolationSwitch(paramsC)
VXETable.modal.message({ content: '复制成功', status: 'success' })
break;
await FileUploadApi.saveFile(paramsA)
}
}
refShow.value = false
emit('success')
}
//
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": "GX000071",
"ProcessType": 1,
"IsQualify": undefined,
"Ecode": "NotImp",
"SgEntityId": "NotImp",
"DataUniqueIdentifier": "NotImp",
"TextDescription": undefined,
"InsulationVoltageUn": undefined,
"PcurrentUn": undefined,
"TcurrentUn": undefined,
"Sended": 0
}
const fnResetA = async () => {
formDataA.value = formDataAInit
formDataB.value = formDataBInit
}
//
const fnEventCancel = () => {

Loading…
Cancel
Save