| | |
| | | /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="è§æ ¼" prop="specification"> |
| | | <el-form-item label="è§æ ¼" prop="materialSpec"> |
| | | <el-input |
| | | v-model="printForm.specification" |
| | | v-model="printForm.materialSpec" |
| | | placeholder="请è¾å
¥ç©æè§æ ¼" |
| | | clearable |
| | | /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="æ¹å·" prop="batchNumber"> |
| | | <el-form-item label="æ¹å·" prop="barcode"> |
| | | <el-input |
| | | v-model="printForm.batchNumber" |
| | | v-model="printForm.barcode" |
| | | placeholder="请è¾å
¥æ¹å·ï¼çæäºç»´ç ç¨ï¼" |
| | | clearable |
| | | @keyup.enter="fetchBarcodeData" |
| | | :loading="fetchingData" |
| | | /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="ååº" prop="factory"> |
| | | <el-form-item label="ååº" prop="factoryArea"> |
| | | <el-input |
| | | v-model="printForm.factory" |
| | | v-model="printForm.factoryArea" |
| | | placeholder="请è¾å
¥ååºåç§°" |
| | | clearable |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <!-- 第äºå --> |
| | | |
| | | <el-col :span="12"> |
| | | <el-form-item label="ä¾åºåç¼ç " prop="supplierCode"> |
| | | <el-form-item label="ä¾åºåç¼ç " prop="suplierCode"> |
| | | <el-input |
| | | v-model="printForm.supplierCode" |
| | | v-model="printForm.suplierCode" |
| | | placeholder="请è¾å
¥ä¾åºåç¼ç " |
| | | clearable |
| | | /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="éè´åå·" prop="purchaseOrderNo"> |
| | | <el-form-item label="éè´åå·" prop="pruchaseOrderNo"> |
| | | <el-input |
| | | v-model="printForm.purchaseOrderNo" |
| | | v-model="printForm.pruchaseOrderNo" |
| | | placeholder="请è¾å
¥éè´åå·" |
| | | clearable |
| | | /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="æ°é/æ»æ°" prop="quantityTotal"> |
| | | <el-form-item label="æ°é/æ»æ°" prop="quantity"> |
| | | <el-input |
| | | v-model="printForm.quantityTotal" |
| | | v-model="printForm.quantity" |
| | | placeholder="ä¾ï¼100/5000" |
| | | clearable |
| | | /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="æ¹æ¬¡" prop="batch"> |
| | | <el-form-item label="æ¹æ¬¡" prop="batchNo"> |
| | | <el-input |
| | | v-model="printForm.batch" |
| | | v-model="printForm.batchNo" |
| | | placeholder="请è¾å
¥æ¹æ¬¡å·" |
| | | clearable |
| | | /> |
| | |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <!-- æ¹éæ·»å ï¼å¯éï¼ --> |
| | | |
| | | <el-form-item label="æå°ä»½æ°"> |
| | | <el-input-number |
| | | v-model="printCopyCount" |
| | |
| | | /> |
| | | </el-form-item> |
| | | |
| | | <!-- æä½æé® --> |
| | | |
| | | <el-form-item class="form-actions"> |
| | | <el-button type="primary" @click="submitForm">确认并æå¼æå°å¼¹çª</el-button> |
| | | <el-button @click="resetForm">é置表å</el-button> |
| | |
| | | </el-form> |
| | | </el-card> |
| | | |
| | | <!-- å¼å
¥æå°å¼¹çªç»ä»¶ --> |
| | | |
| | | <print-view ref="printViewRef" /> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | // å¼å
¥æå°å¼¹çªç»ä»¶ |
| | | |
| | | import printView from "@/extension/outbound/extend/printView.vue"; |
| | | import { ElMessage } from "element-plus"; |
| | | import http from '@/api/http.js' |
| | | |
| | | export default { |
| | | name: "PrintInputPage", |
| | | components: { printView }, |
| | | data() { |
| | | return { |
| | | // è¡¨åæ°æ®ï¼å¯¹åºprintViewæéçåæ°ï¼ |
| | | printForm: { |
| | | materialCode: "", // æå· |
| | | supplierCode: "", // ä¾åºåç¼ç |
| | | materialName: "", // åå |
| | | purchaseOrderNo: "", // éè´åå· |
| | | specification: "", // è§æ ¼ |
| | | quantityTotal: "", // æ°é/æ»æ° |
| | | batchNumber: "", // æ¹å·ï¼äºç»´ç å
å®¹ï¼ |
| | | batch: "", // æ¹æ¬¡ |
| | | factory: "", // ååº |
| | | date: "", // æ¥æï¼é»è®¤å½åæ¥æï¼ |
| | | materialCode: "", |
| | | suplierCode: "", |
| | | materialName: "", |
| | | pruchaseOrderNo: "", |
| | | materialSpec: "", |
| | | quantity: "", |
| | | barcode: "", |
| | | batchNo: "", |
| | | factoryArea: "", |
| | | date: "", |
| | | }, |
| | | // æå°ä»½æ°ï¼æ¯ææ¹éçæå¤æ¡ç¸åæ°æ®ï¼ |
| | | |
| | | printCopyCount: 1, |
| | | // 表åéªè¯è§å |
| | | |
| | | formRules: { |
| | | materialCode: [{ required: true, message: "请è¾å
¥æå·", trigger: "blur" }], |
| | | materialName: [{ required: true, message: "请è¾å
¥åå", trigger: "blur" }], |
| | | batchNumber: [{ required: true, message: "请è¾å
¥æ¹å·", trigger: "blur" }], |
| | | barcode: [{ required: true, message: "请è¾å
¥æ¹å·", trigger: "blur" }], |
| | | date: [{ required: true, message: "è¯·éæ©æ¥æ", trigger: "change" }], |
| | | }, |
| | | |
| | | fetchingData: false |
| | | }; |
| | | }, |
| | | mounted() { |
| | | // åå§åé»è®¤æ¥æä¸ºå½å¤© |
| | | const today = new Date(); |
| | | this.printForm.date = `${today.getFullYear()}-${(today.getMonth() + 1).toString().padStart(2, "0")}-${today.getDate().toString().padStart(2, "0")}`; |
| | | }, |
| | | methods: { |
| | | // æäº¤è¡¨åï¼æå¼æå°å¼¹çª |
| | | async fetchBarcodeData() { |
| | | if (!this.printForm.barcode.trim()) { |
| | | return; |
| | | } |
| | | |
| | | try { |
| | | |
| | | this.fetchingData = true; |
| | | |
| | | const response = await http.post( |
| | | `/api/Outbound/PrintFromData?barcode=` + this.printForm.barcode.trim() |
| | | ); |
| | | const data = response.data; |
| | | if (data) { |
| | | this.printForm.materialCode = data.materialCode || ""; |
| | | this.printForm.suplierCode = data.suplierCode || ""; |
| | | this.printForm.materialName = data.materialName || ""; |
| | | this.printForm.pruchaseOrderNo = data.pruchaseOrderNo || ""; |
| | | this.printForm.materialSpec = data.materialSpec || ""; |
| | | this.printForm.quantity = data.quantity || ""; |
| | | this.printForm.batchNo = data.batchNo || ""; |
| | | this.printForm.factoryArea = data.factoryArea || ""; |
| | | |
| | | |
| | | ElMessage.success("å·²æ ¹æ®æ¹å·èªå¨å¡«å
æ°æ®"); |
| | | } else { |
| | | ElMessage.info("æªæ¥è¯¢å°è¯¥æ¹å·å¯¹åºçç©ææ°æ®"); |
| | | } |
| | | } catch (error) { |
| | | console.error("è·åæ¹å·æ°æ®å¤±è´¥ï¼", error); |
| | | ElMessage.error("è·åæ°æ®å¤±è´¥ï¼è¯·æ£æ¥ç½ç»ææ¹å·æ¯å¦æ£ç¡®"); |
| | | } finally { |
| | | this.fetchingData = false; |
| | | } |
| | | }, |
| | | submitForm() { |
| | | this.$refs.printFormRef.validate((valid) => { |
| | | if (!valid) { |
| | |
| | | } |
| | | |
| | | try { |
| | | // æé æå°æ°æ®ï¼æ¯æå¤ä»½ï¼ |
| | | const printData = []; |
| | | for (let i = 0; i < this.printCopyCount; i++) { |
| | | printData.push({ ...this.printForm }); |
| | | } |
| | | |
| | | // è°ç¨printViewçopenæ¹æ³ï¼ä¼ éåæ°å¹¶æå¼å¼¹çª |
| | | this.$refs.printViewRef.open(printData); |
| | | ElMessage.success(`å·²çæ ${this.printCopyCount} 份æå°æ°æ®ï¼å³å°æå¼æå°å¼¹çª`); |
| | | } catch (error) { |
| | |
| | | }); |
| | | }, |
| | | |
| | | // é置表å |
| | | |
| | | resetForm() { |
| | | this.$refs.printFormRef.resetFields(); |
| | | // éç½®åæ¢å¤é»è®¤æ¥æ |
| | | const today = new Date(); |
| | | this.printForm.date = `${today.getFullYear()}-${(today.getMonth() + 1).toString().padStart(2, "0")}-${today.getDate().toString().padStart(2, "0")}`; |
| | | this.printCopyCount = 1; |