|
@@ -30,22 +30,25 @@
|
|
|
<el-row :gutter="30" style="margin-top: 10px; padding-top: 10px">
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="生成日期:" prop="printDate">
|
|
|
- <el-date-picker v-model="form.printDate" value-format="YYYY-MM-DD" style="width: 210px" />
|
|
|
+ <el-date-picker :disabled="form.generateTime != null" v-model="form.printDate" value-format="YYYY-MM-DD"
|
|
|
+ style="width: 210px" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="合格证种类:" prop="type">
|
|
|
- <el-input readonly v-model="form.type" placeholder="请输入合格证种类" style="width: 210px" />
|
|
|
+ <el-input readonly :disabled="form.generateTime != null" v-model="form.type" placeholder="请输入合格证种类"
|
|
|
+ style="width: 210px" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="生产批号:" prop="lotCode">
|
|
|
- <el-input readonly v-model="form.lotCode" style="width: 210px" />
|
|
|
+ <el-input readonly :disabled="form.generateTime != null" v-model="form.lotCode" style="width: 210px" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="生产工段:" prop="deptName">
|
|
|
- <el-input readonly v-model="form.deptName" placeholder="" style="width: 210px">
|
|
|
+ <el-input readonly :disabled="form.generateTime != null" v-model="form.deptName" placeholder=""
|
|
|
+ style="width: 210px">
|
|
|
<template #append>
|
|
|
<el-button icon="Search" @click="showDeptChoiceDialog"></el-button>
|
|
|
</template>
|
|
@@ -54,71 +57,82 @@
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="包装线号:" prop="packageLineNo">
|
|
|
- <el-input readonly v-model="form.packageLineNo" placeholder="" style="width: 210px">
|
|
|
+ <el-input readonly :disabled="form.generateTime != null" v-model="form.packageLineNo" placeholder=""
|
|
|
+ style="width: 210px">
|
|
|
<template #append>
|
|
|
- <el-button icon="Search" @click="showLineChoiceDialog"></el-button>
|
|
|
+ <el-button :disabled="form.generateTime != null" icon="Search"
|
|
|
+ @click="showLineChoiceDialog"></el-button>
|
|
|
</template>
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="年:" prop="year">
|
|
|
- <el-input readonly v-model="form.year" placeholder="" style="width: 210px" />
|
|
|
+ <el-input readonly :disabled="form.generateTime != null" v-model="form.year" placeholder=""
|
|
|
+ style="width: 210px" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="标签数量:" prop="labelNumber">
|
|
|
- <el-input-number v-model="form.labelNumber" :step="1" step-strictly :controls="false"
|
|
|
- @change="handleLabelNumberChange" style="width: 210px" />
|
|
|
+ <el-input-number :disabled="form.generateTime != null" v-model="form.labelNumber" :step="1"
|
|
|
+ step-strictly :controls="false" @change="handleLabelNumberChange" style="width: 210px" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="打印份数:" prop="printPages">
|
|
|
- <el-input readonly v-model="form.printPages" style="width: 210px" />
|
|
|
+ <el-input :disabled="form.generateTime != null" v-model="form.printPages" style="width: 210px" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="包装数量:" prop="number">
|
|
|
- <el-input readonly v-model="form.number" style="width: 210px" />
|
|
|
+ <el-input :disabled="form.generateTime != null" readonly v-model="form.number" style="width: 210px" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="产品描述:" prop="productDescription">
|
|
|
- <el-input readonly v-model="form.productDescription" placeholder="" style="width: 210px" />
|
|
|
+ <el-input readonly :disabled="form.generateTime != null" v-model="form.productDescription"
|
|
|
+ placeholder="" style="width: 210px" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="规格:" prop="specification">
|
|
|
- <el-input readonly v-model="form.specification" placeholder="" style="width: 210px" />
|
|
|
+ <el-input readonly :disabled="form.generateTime != null" v-model="form.specification" placeholder=""
|
|
|
+ style="width: 210px" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="图号:" prop="drawingNumber">
|
|
|
- <el-input readonly v-model="form.drawingNumber" placeholder="" style="width: 210px" />
|
|
|
+ <el-input readonly :disabled="form.generateTime != null" v-model="form.drawingNumber" placeholder=""
|
|
|
+ style="width: 210px" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="客户简称:" prop="customerName">
|
|
|
- <el-input readonly v-model="form.customerName" placeholder="" style="width: 210px" />
|
|
|
+ <el-input readonly :disabled="form.generateTime != null" v-model="form.customerName" placeholder=""
|
|
|
+ style="width: 210px" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="包装箱号:" prop="packageCode">
|
|
|
- <el-input readonly v-model="form.packageCode" placeholder="" style="width: 210px">
|
|
|
+ <el-input readonly :disabled="form.generateTime != null" v-model="form.packageCode" placeholder=""
|
|
|
+ style="width: 210px">
|
|
|
<template #append>
|
|
|
- <el-button icon="Search" @click="showPackageChoiceDialog"></el-button>
|
|
|
+ <el-button :disabled="form.generateTime != null" icon="Search"
|
|
|
+ @click="showPackageChoiceDialog"></el-button>
|
|
|
</template>
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="包装尺寸:" prop="packageStandard">
|
|
|
- <el-input readonly v-model="form.packageStandard" placeholder="" style="width: 210px" />
|
|
|
+ <el-input readonly :disabled="form.generateTime != null" v-model="form.packageStandard" placeholder=""
|
|
|
+ style="width: 210px" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="包装形式码:" prop="packageTypeCode">
|
|
|
- <el-input readonly v-model="form.packageTypeCode" placeholder="" style="width: 210px" />
|
|
|
+ <el-input readonly :disabled="form.generateTime != null" v-model="form.packageTypeCode" placeholder=""
|
|
|
+ style="width: 210px" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
@@ -134,12 +148,14 @@
|
|
|
</template>
|
|
|
<script setup>
|
|
|
import { ref } from "vue";
|
|
|
-import { getCertificate, generateQrCode, printPdf, newCertificate } from '@/api/business/certificate'
|
|
|
+import { getCertificate, generateQrCode, printPdf, newCertificate, copyCertificate } from '@/api/business/certificate'
|
|
|
import useUserStore from "@/store/modules/user";
|
|
|
import { debounce } from "lodash";
|
|
|
import DeptChoiceDialog from "./DeptChoiceDialog.vue";
|
|
|
import PackageLineChoiceDialog from './PackageLineChoiceDialog.vue'
|
|
|
import PackageTypeChoiceDialog from './PackageTypeChoiceDialog.vue'
|
|
|
+import { ElLoading } from 'element-plus'
|
|
|
+const fullscreenLoading = ref(false)
|
|
|
|
|
|
/** 父组件传参 */
|
|
|
const props = defineProps({
|
|
@@ -213,7 +229,12 @@ function handleGenerate() {
|
|
|
proxy.$modal.msgError("请先选择包装");
|
|
|
return
|
|
|
}
|
|
|
+ const loading = ElLoading.service({
|
|
|
+ lock: true,
|
|
|
+ })
|
|
|
generateQrCode(form.value).then(res => {
|
|
|
+
|
|
|
+ loading.close()
|
|
|
if (res.code === 200) {
|
|
|
form.value = res.data
|
|
|
proxy.$modal.msgSuccess("生成成功");
|
|
@@ -257,7 +278,13 @@ function handlePrint() {
|
|
|
proxy.$modal.msgError("请先生成二维码")
|
|
|
return
|
|
|
}
|
|
|
- printPdf({ ...form.value, lots: null })
|
|
|
+ printPdf({ ...form.value, lots: null }).then(_ => {
|
|
|
+ copyCertificate(form.value).then(res => {
|
|
|
+ if (res.code === 200) {
|
|
|
+ form.value = res.data
|
|
|
+ }
|
|
|
+ })
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
function showDeptChoiceDialog() {
|