¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div id="print-area"> |
| | | <div class="item" v-for="(items, index) in curPrintInfo" :key="items.ID"> |
| | | <div v-if="index == 0"> |
| | | <div class="flex relative"> |
| | | <div style="position: absolute; left: 20px; height: 90px; margin: 25px 2px 2px"> |
| | | <QrCode |
| | | :value="curOrderNo" |
| | | :width="80" |
| | | :height="80" |
| | | :options="{ margin: 5 }" |
| | | ref="qrDiyRef" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div style="display: flex; flex-direction: row; height: 25px; margin: 95px 15px 2px;border-bottom: 1px solid black; /* 线æ¡çé¢è²å宽度 */ font-size: 12px;"> |
| | | <div style="width: 30%"></div> |
| | | <div style="width: 18%"></div> |
| | | <div style="width: 27%">æå°äººï¼{{ useUserStore().userInfo?.username }}</div> |
| | | <div style="width: 25%">æå°æ¥æï¼{{ formatToDate(new Date()) }}</div> |
| | | </div> |
| | | <div style="display: flex; flex-direction: row; height: 20px; margin: 2px 20px;font-size: 12px;"> |
| | | <div style="width: 15%">产åç¼å·:</div> |
| | | <div style="width: 35%">{{ items.ItemCode }}</div> |
| | | <div style="width: 15%">产ååå·:</div> |
| | | <div style="width: 35%">{{ items.Model }}</div> |
| | | </div> |
| | | <div style="display: flex; flex-direction: row; height: 20px; margin: 2px 20px;font-size: 12px;"> |
| | | <div style="width: 15%">SAPæå·:</div> |
| | | <div style="width: 35%">{{ items.SapCode }}</div> |
| | | <div style="width: 15%">客æ·åç§°:</div> |
| | | <div style="width: 35%">{{ items.Customer }}</div> |
| | | </div> |
| | | <div style="display: flex; flex-direction: row; height: 20px; margin: 2px 20px;font-size: 12px;"> |
| | | <div style="width: 15%">ç产订å:</div> |
| | | <div style="width: 35%">{{ items.OrderNo }}</div> |
| | | <div style="width: 15%">éæ±åç±»:</div> |
| | | <div style="width: 35%">{{ items.DemandCode }}</div> |
| | | </div> |
| | | <div style="display: flex; flex-direction: row; height: 20px; margin: 2px 20px;font-size: 12px;"> |
| | | <div style="width: 15%">ç产æ°é:</div> |
| | | <div style="width: 35%">{{ items.Qty }}</div> |
| | | <div style="width: 15%">åæ®ç¶æ:</div> |
| | | <div style="width: 35%">{{ items.Status }}</div> |
| | | </div> |
| | | <div style="display: flex; flex-direction: row; height: 20px; margin: 2px 20px;font-size: 12px;"> |
| | | <div style="width: 15%">产åæè¿°:</div> |
| | | <div style="width: 85%">{{ items.ItemDesc }}</div> |
| | | </div> |
| | | <div style="display: flex; flex-direction: row; height: 20px; margin: 15px 20px 2px;font-size: 12px;"> |
| | | <div style="width: 15%">å·¥èºè·¯çº¿:</div> |
| | | <div style="width: 85%">{{ items.RouteStr }}</div> |
| | | </div> |
| | | </div> |
| | | <div class="main"> |
| | | <table class=" "> |
| | | <tr> |
| | | <th class="material_table_td" style="width: 7%">è¡å·</th> |
| | | <th class="material_table_td" style="width: 10%">SAPæå·</th> |
| | | <th class="material_table_td" style="width: 10%">æå·ç¼ç </th> |
| | | <th class="material_table_td" style="width: 17%">æè¿°</th> |
| | | <th class="material_table_td" style="width: 7%">夿æ°é</th> |
| | | <th class="material_table_td" style="width: 13%">è¡å¤æ³¨</th> |
| | | <th class="material_table_td" style="width: 9%">åºä½</th> |
| | | <th class="material_table_td" style="width: 9%">07åºä½</th> |
| | | <th class="material_table_td" style="width: 9%">åææ¹å¼</th> |
| | | <th class="material_table_td" style="width: 9%"></th> |
| | | </tr> |
| | | <tr v-for="(item, indexs) in items.Items" :key="indexs"> |
| | | <!-- <td class="material_table_td"> |
| | | {{ Number(indexs) + 1 }} |
| | | </td> --> |
| | | <td class="instore_td"> |
| | | {{ item.LineNo }} |
| | | </td> |
| | | <td class="instore_td"> |
| | | {{ item.SapCode }} |
| | | </td> |
| | | <td class="instore_td"> |
| | | {{ item.ItemCode }} |
| | | </td> |
| | | <td class="instore_td"> |
| | | {{ item.ItemDesc }} |
| | | </td> |
| | | <td class="instore_td"> |
| | | {{ item.PickQty }} |
| | | </td> |
| | | <td class="instore_td"> |
| | | {{ item.LineRemark }} |
| | | </td> |
| | | <td class="instore_td"> |
| | | {{ item.WhCode }} |
| | | </td> |
| | | <td class="instore_td"> |
| | | {{ item.WhCode07 }} |
| | | </td> |
| | | <td class="instore_td"> |
| | | {{ item.Method }} |
| | | </td> |
| | | <td class="instore_td"> |
| | | {{ }} |
| | | </td> |
| | | </tr> |
| | | <tr v-if="index == Number(curPrintInfo?.length) - 1 && items.Items.length < 11" v-for="n in (11-items.Items.length)" :key="n"> |
| | | <td class="instore_td2"> </td> |
| | | <td class="instore_td2"> </td> |
| | | <td class="instore_td2"> </td> |
| | | <td class="instore_td2"> </td> |
| | | <td class="instore_td2"> </td> |
| | | <td class="instore_td2"> </td> |
| | | <td class="instore_td2"> </td> |
| | | <td class="instore_td2"> </td> |
| | | <td class="instore_td2"> </td> |
| | | <td class="instore_td2"> </td> |
| | | </tr> |
| | | <tr v-if="index == Number(curPrintInfo?.length) - 1 && items.Items.length <= 11"> |
| | | <td colspan="5" style="height:70px; font-size: 12px;vertical-align: top;">ç产订å夿³¨ï¼{{ items.MoRemark }}</td> |
| | | <td colspan="5" style="height:70px; font-size: 12px;vertical-align: top;">éå®è®¢å夿³¨ï¼{{ items.SoRemark }}</td> |
| | | </tr> |
| | | </table> |
| | | </div> |
| | | <div class="footer flex"> |
| | | <div style="width: 40%"></div> |
| | | <div style="width: 10%">第{{ index + 1 }}页</div> |
| | | <div style="width: 10%">å
±{{ curPrintInfo?.length }}页</div> |
| | | <div style="width: 40%"></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <script lang="ts" setup> |
| | | import { ref, toRefs } from 'vue'; |
| | | import { QrCode } from '/@/components/Qrcode/index'; |
| | | import { formatToDate } from '/@/utils/dateUtil'; |
| | | import { useUserStore } from '/@/store/modules/user'; |
| | | import { useWoFlowcardStore } from '/@/store/modules/woflowcardprint'; |
| | | import { storeToRefs } from 'pinia'; |
| | | |
| | | const props = defineProps({ |
| | | tableData: { type: Object as PropType<any[]> }, |
| | | wokerorder: { type: String }, |
| | | }); |
| | | const { tableData, wokerorder } = toRefs(props); |
| | | const useWoFlowCard = useWoFlowcardStore(); |
| | | const { curOrderNo, curPrintInfo } = storeToRefs(useWoFlowCard); |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | #print-area { |
| | | position: absolute; |
| | | inset: 0; |
| | | background-color: #fff; |
| | | |
| | | .item { |
| | | display: flex; |
| | | flex-direction: column; |
| | | height: 100%; |
| | | margin-right: 10px; |
| | | margin-left: 10px; |
| | | font-family: SimSun, "å®ä½", serif; |
| | | // background-color: bisque; |
| | | page-break-after: always; |
| | | |
| | | .head { |
| | | z-index: 1; |
| | | width: 100%; |
| | | margin: 20px; |
| | | background-color: azure; |
| | | font-size: 36px; |
| | | font-weight: bold; |
| | | line-height: 100px; |
| | | text-align: left; |
| | | } |
| | | |
| | | .main { |
| | | display: flex; |
| | | flex: 1; |
| | | // align-items: center; |
| | | justify-content: center; |
| | | margin-top: 10px; |
| | | padding: 15px; |
| | | |
| | | table { |
| | | border-collapse: collapse; |
| | | } |
| | | |
| | | table, |
| | | th, |
| | | td { |
| | | border: solid 1px black; |
| | | } |
| | | |
| | | tr > th { |
| | | height: 60px; |
| | | } |
| | | |
| | | /* 设置æ é¢å段åä½å¤§å° */ |
| | | // :deep() { |
| | | // .ant-table-tbody > tr > td { |
| | | // font-size: 3px; /* ä¿®æ¹ä¸ºä½ æ³è¦çåä½å¤§å° */ |
| | | // line-height: 18px; |
| | | // } |
| | | |
| | | // .ant-table-thead > tr > th { |
| | | // line-height: 21px; |
| | | // } |
| | | |
| | | // .ant-table-title { |
| | | // font-size: 4px; /* è®¾ç½®ä½ æ³è¦çåä½å¤§å° */ |
| | | // } |
| | | // } |
| | | |
| | | .instore_td { |
| | | height: 60px; |
| | | border: 1px solid #000; |
| | | font-family: SimSun, "å®ä½", serif; |
| | | font-size: 6px; /* ä¿®æ¹ä¸ºä½ æ³è¦çåä½å¤§å° */ |
| | | line-height: 20px; |
| | | text-align: center; |
| | | word-break: break-all; |
| | | } |
| | | |
| | | .material_table_td { |
| | | border: 1px solid #000; |
| | | font-size: 6px; /* ä¿®æ¹ä¸ºä½ æ³è¦çåä½å¤§å° */ |
| | | line-height: 20px; |
| | | text-align: center; |
| | | word-break: break-all; |
| | | } |
| | | } |
| | | |
| | | .footer { |
| | | display: flex; |
| | | margin-bottom: 15px; |
| | | background-color: #eee; |
| | | font-size: 14px; |
| | | // font-weight: bold; |
| | | line-height: 100px; |
| | | text-align: center; |
| | | } |
| | | } |
| | | } |
| | | </style> |