|
|
@@ -0,0 +1,354 @@
|
|
|
+<template>
|
|
|
+ <div class="bg">
|
|
|
+ <el-dialog
|
|
|
+ width="26cm"
|
|
|
+ height="12cm"
|
|
|
+ :modal-append-to-body="false"
|
|
|
+ title="采购入库单"
|
|
|
+ :visible.sync="scanVisible"
|
|
|
+ >
|
|
|
+ <!-- 表单是否显示 -->
|
|
|
+ <div style="height: 500px; width: 90%; margin: 0 auto">
|
|
|
+ <div ref="qrcode" id="box">
|
|
|
+ <vue-easy-print tableShow ref="easyPrint" :onePageRow="onePageRow">
|
|
|
+ <div
|
|
|
+ v-for="(item1, index1) in list"
|
|
|
+ :key="index1"
|
|
|
+ style="margin-bottom: 30px"
|
|
|
+ >
|
|
|
+ <div style="page-break-after: always">
|
|
|
+ <!-- <div class="tagBox">
|
|
|
+ <div>供应商:{{item1[0].gong_ying_shang_}}</div>
|
|
|
+ <div style=" margin-left: 20px;">采购订单编号{{item1[0].cai_gou_ding_dan_}}</div>
|
|
|
+ <div style=" margin-left: 20px;">入库日期{{item1[0].dao_ku_ri_qi_}}</div>
|
|
|
+ </div> -->
|
|
|
+ <div class="word-title">
|
|
|
+ <h4>采购入库单</h4>
|
|
|
+ </div>
|
|
|
+ <div class="tagBox">
|
|
|
+ <div>
|
|
|
+ <div style="font-size: 10px">
|
|
|
+ 供应商:<span style="margin-left: 10px">{{
|
|
|
+ item1[0].gong_ying_shang_
|
|
|
+ | gongyingshang(gongyingshangList)
|
|
|
+ }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <div
|
|
|
+ style="
|
|
|
+ margin-left: 20px;
|
|
|
+ margin-right: 5px;
|
|
|
+ font-size: 10px;
|
|
|
+ "
|
|
|
+ >
|
|
|
+ 采购订单编号:<span style="margin-left: 10px">
|
|
|
+ {{ item1[0].cai_gou_ding_dan_ }}</span
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ style="
|
|
|
+ margin-left: 20px;
|
|
|
+ margin-right: 5px;
|
|
|
+ font-size: 10px;
|
|
|
+ "
|
|
|
+ >
|
|
|
+ 日期:<span style="margin-left: 10px">{{
|
|
|
+ item1[0].dao_ku_ri_qi_
|
|
|
+ }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div>
|
|
|
+ <table border="1">
|
|
|
+ <thead>
|
|
|
+ <tr>
|
|
|
+ <th style="width: 40px">序号</th>
|
|
|
+ <th style="font-weight: normal">物料编码</th>
|
|
|
+ <th style="font-weight: normal">物料名称</th>
|
|
|
+ <th>货号</th>
|
|
|
+ <th>批号</th>
|
|
|
+ <th>规格/特征量值</th>
|
|
|
+ <th>生产商/品牌</th>
|
|
|
+ <th>数量</th>
|
|
|
+ <th>单位</th>
|
|
|
+ <th>单价(含税)</th>
|
|
|
+ <th>税率</th>
|
|
|
+ <th>单价</th>
|
|
|
+ <th>税额</th>
|
|
|
+ <th>金额</th>
|
|
|
+ <th>含税合计</th>
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <tr>
|
|
|
+ <td style="width: 30px">{{ index1 }}</td>
|
|
|
+ <td style="width: 70px">
|
|
|
+ {{ item1[0].wu_liao_dai_ma_ }}
|
|
|
+ </td>
|
|
|
+ <td style="width: 120px">
|
|
|
+ {{ item1[0].wu_liao_ming_chen }}
|
|
|
+ </td>
|
|
|
+ <td style="width: 60px">{{ item1[0].huo_hao_ }}</td>
|
|
|
+ <td style="width: 60px">{{ item1[0].pi_hao_ }}</td>
|
|
|
+ <td style="width: 80px">{{ item1[0].gui_ge_ }}</td>
|
|
|
+ <td style="width: 120px">{{ item1[0].chang_jia_ }}</td>
|
|
|
+ <td style="width: 45px">
|
|
|
+ {{ item1[0].dao_huo_shu_liang }}
|
|
|
+ </td>
|
|
|
+ <td style="width: 60px">{{ item1[0].dan_wei_ }}</td>
|
|
|
+ <td style="width: 60px">{{ item1[0].dan_jia_han_shui_ }}</td>
|
|
|
+ <td style="width: 45px">{{ item1[0].shui_lv_ }}</td>
|
|
|
+ <td style="width: 45px">{{ item1[0].dan_jia_ }}</td>
|
|
|
+ <td style="width: 45px">{{ item1[0].shui_e_ }}</td>
|
|
|
+ <td style="width: 45px">{{ item1[0].jin_e_ }}</td>
|
|
|
+ <td style="width: 60px">
|
|
|
+ {{ item1[0].han_shui_he_ji_ }}
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </tbody>
|
|
|
+ <tfoot
|
|
|
+ align="right"
|
|
|
+ valign="bottom"
|
|
|
+ style="text-align: right !important; height: 30px"
|
|
|
+ >
|
|
|
+ <tr>
|
|
|
+ <td colspan="15" style="text-align: right !important">
|
|
|
+ 合计:{{ item1.heji }}
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </tfoot>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+ <div class="bottom">
|
|
|
+ <div>仓管员/日期 :{{ item1.name2 }} /{{ item1.time2 }}</div>
|
|
|
+ <div>
|
|
|
+ 审核人(部门负责人)/日期 :{{ item1.name3 }} /{{
|
|
|
+ item1.time3
|
|
|
+ }}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </vue-easy-print>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button type="primary" @click="printDemo">打印</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+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,
|
|
|
+ },
|
|
|
+ props: {
|
|
|
+ obj: {
|
|
|
+ default: [],
|
|
|
+ type: Array,
|
|
|
+ },
|
|
|
+ onePageRow: {
|
|
|
+ type: Number,
|
|
|
+ default: 3,
|
|
|
+ },
|
|
|
+ blankLines: {
|
|
|
+ type: Boolean,
|
|
|
+ default: true,
|
|
|
+ },
|
|
|
+ scanVisible: {
|
|
|
+ type: Boolean,
|
|
|
+ default: false,
|
|
|
+ },
|
|
|
+ currentScan: {
|
|
|
+ type: Boolean,
|
|
|
+ default: false,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ onePageRow: 1,
|
|
|
+ value: "",
|
|
|
+ id: "",
|
|
|
+ list: [],
|
|
|
+ visible: true,
|
|
|
+ gongyingshangList: [],
|
|
|
+ };
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.getInit();
|
|
|
+ let sql = `select id_,gong_ying_shang_m FROM t_gysml`;
|
|
|
+ repostCurd("sql", sql).then((res) => {
|
|
|
+ return (this.gongyingshangList = res.variables.data);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ filters: {
|
|
|
+ gongyingshang: function (value, list) {
|
|
|
+ if (!isNaN(value)) {
|
|
|
+ for (let i = 0; i < list.length; i++) {
|
|
|
+ if (value == list[i].id_) {
|
|
|
+ return list[i].gong_ying_shang_m;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ return value;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ printDemo() {
|
|
|
+ this.$refs.easyPrint.print();
|
|
|
+ // this.$refs.easyPrint.window.print()
|
|
|
+ },
|
|
|
+ addNumber(num1, num2) {
|
|
|
+ let a = parseFloat(num1);
|
|
|
+ let b = parseFloat(num2);
|
|
|
+ return a.toFixed("2") * 1 + b.toFixed("2") * 1;
|
|
|
+ },
|
|
|
+ riqi(value) {
|
|
|
+ let date = new Date(value);
|
|
|
+ let y = date.getFullYear(); //获取年份
|
|
|
+ let m = date.getMonth() + 1; //获取月份
|
|
|
+ m = m < 10 ? "0" + m : m; //月份不满10天显示前加0
|
|
|
+ let d = date.getDate(); //获取日期
|
|
|
+ d = d < 10 ? "0" + d : d; //日期不满10天显示前加0
|
|
|
+ return y + "-" + m + "-" + d;
|
|
|
+ },
|
|
|
+ addNumber(num1, num2) {
|
|
|
+ let a = parseFloat(num1);
|
|
|
+ let b = parseFloat(num2);
|
|
|
+ return a.toFixed("2") * 1 + b.toFixed("2") * 1;
|
|
|
+ },
|
|
|
+ getInit() {
|
|
|
+ // console.log(this.obj)
|
|
|
+ // var idStr = "";
|
|
|
+ // this.obj.forEach((item) => {
|
|
|
+ // idStr += item + ",";
|
|
|
+ // });
|
|
|
+ // idStr = idStr.substring(0, idStr.length - 1);
|
|
|
+
|
|
|
+ this.getLook(this.obj);
|
|
|
+ },
|
|
|
+ getLook(id) {
|
|
|
+ let this_ = this;
|
|
|
+ let name1, name2, name3;
|
|
|
+ let time1, time2, time3;
|
|
|
+ let chushi =0;
|
|
|
+ id.forEach((item) => {
|
|
|
+ let sql = `select * FROM t_wljsysjlb WHERE id_='${item}'`;
|
|
|
+ repostCurd("sql", sql).then((res) => {
|
|
|
+ let data = res.variables.data;
|
|
|
+ // let s2 = `select NAME_,CREATE_TIME_ FROM ibps_party_employee where id_ =(select CREATE_BY_ FROM ibps_bpm_oper_log WHERE PROC_INST_ID_ = (SELECT PROC_INST_ID_ FROM ibps_bpm_bus_rel WHERE BUSINESSKEY_ = '${item}' )AND NODE_ID_ = 'Activity_1pha4py' ORDER BY CREATE_TIME_ DESC LIMIT 1)`;
|
|
|
+ let s2 = `select a.NAME_,DATE_FORMAT(b.CREATE_TIME_,'%Y年%m月%d日') AS CREATE_TIME_ FROM ibps_party_employee as a join ibps_bpm_oper_log as b on a.ID_ = b.CREATE_BY_ where b.PROC_INST_ID_ = ( SELECT PROC_INST_ID_ FROM ibps_bpm_bus_rel WHERE BUSINESSKEY_ = '${item}') AND b.NODE_ID_ = 'Activity_1pha4py' ORDER BY b.CREATE_TIME_ DESC LIMIT 1`;
|
|
|
+ repostCurd("sql", s2).then((res) => {
|
|
|
+
|
|
|
+ name2 = res.variables.data[0].NAME_ || 0;
|
|
|
+ time2 = res.variables.data[0].CREATE_TIME_ || 0;
|
|
|
+ data["name2"] = name2;
|
|
|
+ data["time2"] = time2;
|
|
|
+ // let s3 = `select NAME_,CREATE_TIME_ FROM ibps_party_employee where id_ =(select CREATE_BY_ FROM ibps_bpm_oper_log WHERE PROC_INST_ID_ = (SELECT PROC_INST_ID_ FROM ibps_bpm_bus_rel WHERE BUSINESSKEY_ = '${item}' )AND NODE_ID_ = 'Activity_04ff3k5' ORDER BY CREATE_TIME_ DESC LIMIT 1)`;
|
|
|
+ let s3 = `select a.NAME_,DATE_FORMAT(b.CREATE_TIME_,'%Y年%m月%d日') AS CREATE_TIME_ FROM ibps_party_employee as a join ibps_bpm_oper_log as b on a.ID_ = b.CREATE_BY_ where b.PROC_INST_ID_ = ( SELECT PROC_INST_ID_ FROM ibps_bpm_bus_rel WHERE BUSINESSKEY_ = '${item}') AND b.NODE_ID_ = 'Activity_04ff3k5' ORDER BY b.CREATE_TIME_ DESC LIMIT 1`;
|
|
|
+ repostCurd("sql", s3).then((res) => {
|
|
|
+
|
|
|
+ name3 = res.variables.data[0].NAME_ || 0;
|
|
|
+ time3 = res.variables.data[0].CREATE_TIME_ || 0;
|
|
|
+ data["name3"] = name3;
|
|
|
+ data["time3"] = time3;
|
|
|
+ data.forEach((it) => {
|
|
|
+ data["heji"] = this.addNumber(chushi, it.jin_e_);
|
|
|
+ chushi = data["heji"];
|
|
|
+ });
|
|
|
+ this_.list.push(data);
|
|
|
+ console.log(this_.list);
|
|
|
+ });
|
|
|
+ });
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+.bottom {
|
|
|
+ margin-top: 15px;
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
+ font-size: 10px;
|
|
|
+}
|
|
|
+.word-title {
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+}
|
|
|
+thead {
|
|
|
+ background: #f3f3f3;
|
|
|
+}
|
|
|
+.el-dialog__body {
|
|
|
+ color: #0d0e0f;
|
|
|
+ font-size: 10px !important;
|
|
|
+ word-break: none;
|
|
|
+}
|
|
|
+thead > tr > th {
|
|
|
+ font-size: 10px;
|
|
|
+ text-align: center;
|
|
|
+ font-weight: normal;
|
|
|
+ color: #01060c;
|
|
|
+}
|
|
|
+.logo {
|
|
|
+ position: absolute;
|
|
|
+ top: -32px;
|
|
|
+ left: 0;
|
|
|
+}
|
|
|
+.tagBox {
|
|
|
+ position: relative;
|
|
|
+ width: 100%;
|
|
|
+ // border: 1px solid #000000;
|
|
|
+ padding: 5px;
|
|
|
+ display: flex;
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ background-color: #fff;
|
|
|
+}
|
|
|
+
|
|
|
+.la {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+}
|
|
|
+
|
|
|
+.lh {
|
|
|
+ // line-height: auto;
|
|
|
+ font-size: 12px;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+}
|
|
|
+
|
|
|
+* {
|
|
|
+ margin: 0;
|
|
|
+ padding: 0;
|
|
|
+}
|
|
|
+table {
|
|
|
+ border-collapse: collapse;
|
|
|
+ text-align: center;
|
|
|
+ border: 1px solid #01060c;
|
|
|
+}
|
|
|
+
|
|
|
+td {
|
|
|
+ width: 120px;
|
|
|
+ // height: 50px;
|
|
|
+ text-align: center;
|
|
|
+ font-size: 10px;
|
|
|
+}
|
|
|
+.friday {
|
|
|
+ width: 100px;
|
|
|
+ height: 50px;
|
|
|
+}
|
|
|
+</style>
|