Ver Fonte

标签打印

ZZJ há 3 anos atrás
pai
commit
2af0ee5a1f
4 ficheiros alterados com 193 adições e 257 exclusões
  1. 0 83
      package-lock.json
  2. 0 1
      package.json
  3. 192 172
      src/views/system/jbdScan/goods/tag.vue
  4. 1 1
      src/views/system/jbdScan/scan.vue

+ 0 - 83
package-lock.json

@@ -43,7 +43,6 @@
         "highlight.js": "^10.1.2",
         "hls.js": "^0.14.11",
         "hotkeys-js": "^3.8.1",
-        "html2canvas": "^1.4.1",
         "jquery": "^3.6.0",
         "js-base64": "^3.7.2",
         "js-cookie": "^2.2.1",
@@ -4878,14 +4877,6 @@
         "node": ">=0.10.0"
       }
     },
-    "node_modules/base64-arraybuffer": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmmirror.com/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz",
-      "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==",
-      "engines": {
-        "node": ">= 0.6.0"
-      }
-    },
     "node_modules/base64-js": {
       "version": "1.5.1",
       "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
@@ -7005,14 +6996,6 @@
         "node": ">4"
       }
     },
-    "node_modules/css-line-break": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmmirror.com/css-line-break/-/css-line-break-2.1.0.tgz",
-      "integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==",
-      "dependencies": {
-        "utrie": "^1.0.2"
-      }
-    },
     "node_modules/css-loader": {
       "version": "3.6.0",
       "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz",
@@ -10682,18 +10665,6 @@
         "node": ">=6"
       }
     },
-    "node_modules/html2canvas": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmmirror.com/html2canvas/-/html2canvas-1.4.1.tgz",
-      "integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==",
-      "dependencies": {
-        "css-line-break": "^2.1.0",
-        "text-segmentation": "^1.0.3"
-      },
-      "engines": {
-        "node": ">=8.0.0"
-      }
-    },
     "node_modules/htmlparser2": {
       "version": "6.1.0",
       "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz",
@@ -19520,14 +19491,6 @@
       "integrity": "sha1-i/dddJt8BXnJOZIAUcaepXLr3cE=",
       "dev": true
     },
-    "node_modules/text-segmentation": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmmirror.com/text-segmentation/-/text-segmentation-1.0.3.tgz",
-      "integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==",
-      "dependencies": {
-        "utrie": "^1.0.2"
-      }
-    },
     "node_modules/text-table": {
       "version": "0.2.0",
       "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
@@ -20345,14 +20308,6 @@
         "node": ">= 0.4.0"
       }
     },
-    "node_modules/utrie": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmmirror.com/utrie/-/utrie-1.0.2.tgz",
-      "integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==",
-      "dependencies": {
-        "base64-arraybuffer": "^1.0.2"
-      }
-    },
     "node_modules/uuid": {
       "version": "3.4.0",
       "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
@@ -26336,11 +26291,6 @@
         }
       }
     },
-    "base64-arraybuffer": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmmirror.com/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz",
-      "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ=="
-    },
     "base64-js": {
       "version": "1.5.1",
       "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
@@ -28057,14 +28007,6 @@
         "timsort": "^0.3.0"
       }
     },
-    "css-line-break": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmmirror.com/css-line-break/-/css-line-break-2.1.0.tgz",
-      "integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==",
-      "requires": {
-        "utrie": "^1.0.2"
-      }
-    },
     "css-loader": {
       "version": "3.6.0",
       "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz",
@@ -30962,15 +30904,6 @@
         }
       }
     },
-    "html2canvas": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmmirror.com/html2canvas/-/html2canvas-1.4.1.tgz",
-      "integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==",
-      "requires": {
-        "css-line-break": "^2.1.0",
-        "text-segmentation": "^1.0.3"
-      }
-    },
     "htmlparser2": {
       "version": "6.1.0",
       "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz",
@@ -38114,14 +38047,6 @@
       "integrity": "sha1-i/dddJt8BXnJOZIAUcaepXLr3cE=",
       "dev": true
     },
-    "text-segmentation": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmmirror.com/text-segmentation/-/text-segmentation-1.0.3.tgz",
-      "integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==",
-      "requires": {
-        "utrie": "^1.0.2"
-      }
-    },
     "text-table": {
       "version": "0.2.0",
       "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
@@ -38784,14 +38709,6 @@
       "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
       "dev": true
     },
-    "utrie": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmmirror.com/utrie/-/utrie-1.0.2.tgz",
-      "integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==",
-      "requires": {
-        "base64-arraybuffer": "^1.0.2"
-      }
-    },
     "uuid": {
       "version": "3.4.0",
       "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",

+ 0 - 1
package.json

@@ -56,7 +56,6 @@
     "highlight.js": "^10.1.2",
     "hls.js": "^0.14.11",
     "hotkeys-js": "^3.8.1",
-    "html2canvas": "^1.4.1",
     "jquery": "^3.6.0",
     "js-base64": "^3.7.2",
     "js-cookie": "^2.2.1",

+ 192 - 172
src/views/system/jbdScan/goods/tag.vue

@@ -1,193 +1,213 @@
 <template>
-	<div class="bg">
-    <el-dialog
-               width="30%"
-               :modal-append-to-body='false'
-               title="样品标签"
-               @close="closeDialog"
-               :before-close = "handleClose"
-               :visible.sync="visible"> <!-- 表单是否显示 -->
-               <div ref="qrcode" id="box">
-
-                <button @click="printDemo">打印标签</button>
-                <vue-easy-print tableShow ref="easyPrint" >
-                    <div v-for="(item1,index1) in list" :key="index1">
-                    <div v-for="(item2,index2) in parseInt(item1.num)" :key="index2">
-                      <div class="tagBox">
-                        <div class="lh">
-                          <div>样品名称:</div>
-                          <div>{{item1.name}}</div>
-                        </div>
-                        <div class="la">
-                          <div class="lh">
-                            <div>样品编号:</div>
-                            <div>{{item1.serial}}</div>
-                          </div>
-                          <div class="lh" style="margin-left: 15px">
-                            <div>收样时间:</div>
-                            <div></div>
-                          </div>
-                        </div>
-                        <div class="lh">
-                          <div>样品类型:</div>
-                          <div>{{item1.type}}</div>
-                        </div>
-                        <div class="lh">
-                          <div>存储条件:</div>
-                          <div>{{item1.condition}}</div>
-                        </div>
-
-                        <div class="lh">
-                          <div>流转状态:</div>
-                          <div>▢待检,▢已检,▢留样</div>
-                        </div>
-                        <div class="lh">
-                          <div>样品数量:</div>
-                          <div>{{index2+1}}/{{item1.num}}支</div>
-                        </div>
-                        <div>
-                          <vue-barcode :value="item1.serial" :width="2" :height="40"></vue-barcode>
-                        </div>
-                      </div>
+  <div class="bg">
+    <el-dialog width="30%"  :modal-append-to-body='false' title="样品标签" :visible.sync="visible">
+      <!-- 表单是否显示 -->
+      <div style="height:500px">
+          <div ref="qrcode" id="box">
+          <!-- <button @click="printDemo">打印标签</button> :page-break-inside=avoid -->
+          <vue-easy-print tableShow ref="easyPrint"
+            :onePageRow="onePageRow"
+          >
+            <div v-for="(item1, index1) in list" :key="index1"  >
+              <div v-for="(item2, index2) in parseInt(item1.num)" :key="index2" style="page-break-after:always">
+                <div class="tagBox">
+                  <div class="lh">
+                    <div>样品名称:</div>
+                    <div>{{ item1.name }}</div>
+                  </div>
+                  <div class="la">
+                    <div class="lh">
+                      <div>样品编号:</div>
+                      <div>{{ item1.serial }}</div>
                     </div>
+                    <div class="lh" style="margin-left: 15px">
+                      <div>收样时间:</div>
+                      <div></div>
+                    </div>
+                  </div>
+                  <div class="lh">
+                    <div>样品类型:</div>
+                    <div>{{ item1.type }}</div>
+                  </div>
+                  <div class="lh">
+                    <div>存储条件:</div>
+                    <div>{{ item1.condition }}</div>
+                  </div>
+
+                  <div class="lh">
+                    <div>流转状态:</div>
+                    <div>▢待检,▢已检,▢留样</div>
+                  </div>
+                  <div class="lh">
+                    <div>样品数量:</div>
+                    <div>{{ index2 + 1 }}/{{ item1.num }}支</div>
+                  </div>
+                  <div>
+                    <vue-barcode :value="item1.serial" :width="2" :height="40"></vue-barcode>
                   </div>
-                </vue-easy-print>
-		</div>
+                </div>
+              </div>
+            </div>
+          </vue-easy-print>
+        </div>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <!-- <el-button @click="dialogVisible = false">取 消</el-button> -->
+        <el-button type="primary" @click="printDemo">打印标签</el-button>
+      </span>
+    </el-dialog>
 
-               </el-dialog>
-		
 
-	</div>
+  </div>
 </template>
 
 <script>
-	// import html2canvas from "html2canvas";
-	import VueBarcode from 'vue-barcode';
-  import vueEasyPrint from "vue-easy-print";
-  import repostCurd from '@/business/platform/form/utils/custom/joinCURD.js';
+import VueBarcode from 'vue-barcode';
+import vueEasyPrint from "vue-easy-print";
+import repostCurd from '@/business/platform/form/utils/custom/joinCURD.js';
 
-	export default {
-		components: {
-			VueBarcode,
-      vueEasyPrint,
-		},
-		data() {
-			return {
-				value: '',
-				id: '',
-				list: [{
-                  name: 5,
-									serial: 5,
-									type: 5,
-									num: 5,
-									condition: 5
-        }],
-        visible: true
-			}
-		},
-		created() {
-			this.getInit()
-		},
-		methods: {
-      printDemo(){
-        this.$refs.easyPrint.print()
-      },
-			getInit() {
-        console.log(1,this)
-				this.getLook("1045277568393019392")
-        console.log(2)
-			},
-			getLook(id) {
-        console.log(id)
-				let sql =`select * from t_lhypb where find_in_set(parent_id_,'${id}')`
-				console.log(this)
-				repostCurd("sql", sql).then(res => {
+export default {
+  components: {
+    VueBarcode,
+    vueEasyPrint,
+  },
+  props: {
+    obj: {
+      default: [],
+      type: Array
+    },
+    onePageRow:{
+      type:Number,
+      default:3
+    },
+    blankLines:{
+      type:Boolean,
+      default:true
+    }
+  },
+  data() {
+    return {
+      onePageRow: 1,
+      value: '',
+      id: '',
+      list: [{
+        name: 5,
+        serial: 5,
+        type: 5,
+        num: 5,
+        condition: 5
+      }],
+      visible: true
+    }
+  },
+  created() {
+    this.getInit()
+  },
+  methods: {
+    printDemo() {
+      this.$refs.easyPrint.print()
+    },
+    getInit() {
+      console.log(this.obj)
+      var idStr = '';
+      this.obj.forEach(item=>{
+        idStr += item + ','
+      })
+      idStr = idStr.substring(0,idStr.length-1);
+      console.log(idStr)
+      this.getLook(idStr)
+    },
+    getLook(id) {
+      console.log(id)
+      let sql = `select * from t_lhypb where find_in_set(parent_id_,'${id}')`
+      console.log(sql)
+      repostCurd("sql", sql).then(res => {
         // console.log(res)
-					if (res.state === 200) {
-						const data = res.variables.data
-            console.log(data)
-						let list = []
-						data.forEach(item => {
-							if (item.yang_pin_lei_xing != '' && parseInt(item.shu_liang_) > 0) {
-								let obj = {
-									name: item.yang_pin_ming_che,
-									serial: item.yang_pin_bian_hao,
-									type: item.yang_pin_lei_xing,
-									num: item.shu_liang_,
-									condition: item.yang_ben_yun_shu_
-								}
-								list.push(obj)
-							}
-							if (item.yang_pin_lei_er_ != '' && parseInt(item.shu_liang_er_) > 0) {
-								let obj = {
-									name: item.yang_pin_ming_che,
-									serial: item.yang_pin_bian_hao,
-									type: item.yang_pin_lei_er_,
-									num: item.shu_liang_er_,
-									condition: item.yang_pin_yun_shu_
-								}
-								list.push(obj)
-							}
-							if (item.yang_pin_lei_san_ != '' && parseInt(item.shu_liang_san_) > 0) {
-								let obj = {
-									name: item.yang_pin_ming_che,
-									serial: item.yang_pin_bian_hao,
-									type: item.yang_pin_lei_san_,
-									num: item.shu_liang_san_,
-									condition: item.yang_pin_yun_san
-								}
-								list.push(obj)
-							}
-							if (item.yang_pin_lei_si_ != '' && parseInt(item.shu_liang_si_) > 0) {
-								let obj = {
-									name: item.yang_pin_ming_che,
-									serial: item.yang_pin_bian_hao,
-									type: item.yang_pin_lei_si_,
-									num: item.shu_liang_si_,
-									condition: item.yang_pin_yun_si_
-								}
-								list.push(obj)
-							}
+        if (res.state === 200) {
+          const data = res.variables.data
+          console.log(data)
+          let list = []
+          data.forEach(item => {
+            if (item.yang_pin_lei_xing != '' && parseInt(item.shu_liang_) > 0) {
+              let o = {
+                name: item.yang_pin_ming_che,
+                serial: item.yang_pin_bian_hao,
+                type: item.yang_pin_lei_xing,
+                num: item.shu_liang_,
+                condition: item.yang_ben_yun_shu_
+              }
+              list.push(o)
+            }
+            if (item.yang_pin_lei_er_ != '' && parseInt(item.shu_liang_er_) > 0) {
+              let o = {
+                name: item.yang_pin_ming_che,
+                serial: item.yang_pin_bian_hao,
+                type: item.yang_pin_lei_er_,
+                num: item.shu_liang_er_,
+                condition: item.yang_pin_yun_shu_
+              }
+              list.push(o)
+            }
+            if (item.yang_pin_lei_san_ != '' && parseInt(item.shu_liang_san_) > 0) {
+              let o = {
+                name: item.yang_pin_ming_che,
+                serial: item.yang_pin_bian_hao,
+                type: item.yang_pin_lei_san_,
+                num: item.shu_liang_san_,
+                condition: item.yang_pin_yun_san
+              }
+              list.push(o)
+            }
+            if (item.yang_pin_lei_si_ != '' && parseInt(item.shu_liang_si_) > 0) {
+              let o = {
+                name: item.yang_pin_ming_che,
+                serial: item.yang_pin_bian_hao,
+                type: item.yang_pin_lei_si_,
+                num: item.shu_liang_si_,
+                condition: item.yang_pin_yun_si_
+              }
+              list.push(o)
+            }
 
-						})
-						this.list = list
+          })
+          this.list = list
 
-					}
-				})
-			}
-		}
-	}
+        }
+      })
+    }
+  }
+}
 </script>
 
 <style lang="scss" scoped>
-	.bg {
+.bg {
 
-		// height: auto;
-	}
+  // height: auto;
+}
 
-	.tagBox {
-		width: 300px;
-		height: 180px;
-		border: 1px solid #000000;
-		padding: 20px;
-		display: flex;
-		justify-content: space-around;
-		flex-direction: column;
-		margin: 20px auto;
-		border-radius: 15px;
-		background-color: #fff;
-	}
+.tagBox {
+  width: 300px;
+  height: 180px;
+  border: 1px solid #000000;
+  padding: 20px;
+  display: flex;
+  justify-content: space-around;
+  flex-direction: column;
+  margin: 20px auto;
+  border-radius: 15px;
+  background-color: #fff;
+}
 
-	.la {
-		display: flex;
-		align-items: center;
-	}
+.la {
+  display: flex;
+  align-items: center;
+}
 
-	.lh {
-		// line-height: auto;
-		font-size: 16px;
-		display: flex;
-		align-items: center;
+.lh {
+  // line-height: auto;
+  font-size: 16px;
+  display: flex;
+  align-items: center;
 
-	}
+}
 </style>

+ 1 - 1
src/views/system/jbdScan/scan.vue

@@ -23,7 +23,7 @@ export default {
   props:{
     currentScan:String,
     scanVisible:Boolean,
-    obj:String
+    obj:Array
   },
 
   methods:{