| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434 |
- <template>
- <div class="bg">
- <el-dialog
- width="900px"
- height="12cm"
- :modal-append-to-body="false"
- title="采购入库单"
- :visible.sync="scanVisible"
- >
- <!-- 表单是否显示 技术列表页面打印-->
- <div style="height: 500px; width: 90%; margin: 0 auto;overflow: hidden;" v-if="scanVisible">
- <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;width: 90%;margin: 0 auto;">
- <!-- <div class="word-title">
- <h4>采购入库单</h4>
- </div>
- <div class="tagBox">
- <div>
- <div style="font-size: 10px">
- 申购部门:<span style="margin-left: 10px">{{
- item1[0].shen_gou_bu_men_ | bumenfilters(bumenList)
- }}</span>
- </div>
- <div style="font-size: 10px">
- 供应商:<span style="margin-left: 10px">{{
- item1[0].gong_ying_shang_| gongyingshang(gongyingshangList)
- }}</span>
- </div>
- </div>
- <div style="text-align: left;">
- <div style="font-size: 10px;padding-right: 20px;">
- 采购订单编号:<span>
- {{ item1[0].cai_gou_ding_dan_ }}</span>
- </div>
- <div style="font-size: 10px;">
- 日期:<span>{{item1[0].dao_ku_ri_qi_}}</span>
- </div>
- </div>
- </div> -->
- <div>
- <table :border="1">
- <thead>
- <tr class="title">
- <th colspan="15">
- <div class="word-title" style="background:#fff;">
- <h1>采购入库单1</h1>
- </div>
- <div class="tagBox">
- <div>
- <div style="font-size: 10px;text-align: left;">申购部门:
- <span style="margin-left: 10px">{{item1[0].shen_gou_bu_men_ | bumenfilters(bumenList)}}</span>
- </div>
- <div style="font-size: 10px">供应商:
- <span style="margin-left: 10px">{{item1[0].gong_ying_shang_| gongyingshang(gongyingshangList)}}</span>
- </div>
- </div>
- <div style="text-align: right;">
- <div style="font-size: 10px; padding-right: 8px;">采购订单编号:
- <span >{{item1[0].cai_gou_ding_dan_}}</span>
- </div>
- <div style="font-size: 10px; padding-right: 8px;">日期 :
- <span >{{item1[0].dao_ku_ri_qi_}}</span>
- </div>
- </div>
- </div>
- </th>
- </tr>
- <tr>
- <th style="width: 15px">序号</th>
- <th style="font-weight: normal;width: 25px">物料编码</th>
- <th style="font-weight: normal;width: 70px">物料名称</th>
- <th style="width: 60px">货号</th>
- <th style="width: 60px">批号</th>
- <th style="width: 50px">规格/特征</th>
- <th style="width: 60px">生产商/品牌</th>
- <th style="width: 70px">数量</th>
- <th style="width: 30px">单位</th>
- <th style="width: 50px">单价(含税)</th>
- <th style="width: 50px">税率</th>
- <th style="width: 40px">单价</th>
- <th style="width: 40px">税额</th>
- <th style="width: 40px">金额</th>
- <th style="width: 50px">含税合计</th>
- </tr>
- </thead>
- <tbody>
- <tr v-for="(item, index) in item1" :key="index">
- <td style="width: 25px">{{ index+1 }}</td>
- <td style="width: 70px">{{ item.wu_liao_dai_ma_ }}</td>
- <td style="width: 100px">{{ item.wu_liao_ming_chen }}</td>
- <td style="width: 50px">{{ item.huo_hao_ }}</td>
- <td style="width: 50px">{{ item.pi_hao_ }}</td>
- <td style="width: 60px">{{ item.gui_ge_ }}</td>
- <td style="width: 70px">{{ item.chang_jia_| gongyingshang(gongyingshangList) }}</td>
- <td style="width: 30px">{{ item.dao_huo_shu_liang }}</td>
- <td style="width: 50px">{{ item.dan_wei_ }}</td>
- <td style="width: 50px">{{ item.dan_jia_han_shui_ }}</td>
- <td style="width: 40px">{{ item.shui_lv_ }}</td>
- <td style="width: 40px">{{ item.dan_jia_|numToFixed(item.dan_jia_)}}</td>
- <td style="width: 40px">{{ item.shui_e_ |numToFixed}}</td>
- <td style="width: 40px">{{ item.jin_e_ |numToFixed(item.jin_e_)}}</td>
- <td style="width: 50px">
- {{ item.han_shui_he_ji_|numToFixed(item.han_shui_he_ji_) }}
- </td>
- </tr>
- <tr>
- <td style="width: 30px"></td>
- <td style="width: 70px"></td>
- <td style="width: 120px"></td>
- <td style="width: 60px"></td>
- <td style="width: 60px"></td>
- <td style="width: 80px"></td>
- <td style="width: 120px"></td>
- <td style="width: 45px"></td>
- <td style="width: 45px"></td>
- <td style="width: 60px"></td>
- <td style="width: 45px"></td>
- <td style="width: 45px">合计:</td>
- <td style="width: 45px">{{ item1.addshuie }}</td>
- <td style="width: 45px">{{ item1.addjine }}</td>
- <td style="width: 60px">{{ item1.addhanshuiheji }}</td>
- </tr>
- </tbody>
- <tfoot class="bottom">
- <tr>
- <td colspan="6" style="text-align:left">
- <div style="margin-top:10px">仓管员:{{ item1.name2 }}</div>
- </td>
- <td colspan="1" class="footer-row">
- <div style="margin-top:10px" ref="innerRef"></div>
- </td>
- <td colspan="9" style="text-align:right">
- <div style="margin-top:10px">审核人:{{ item1.name3 }} </div>
- </td>
- </tr>
- </tfoot>
- </table>
- </div>
- <!-- <div class="bottom">
- <div>仓管员:{{ item1.name2 }}
- </div>
- <div>
- 审核人:{{ item1.name3 }}
- </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: [],
- bumenList: [],
- };
- },
- 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);
- });
- let sql1 = `select ID_,NAME_ FROM ibps_party_org `; //部门列表
- repostCurd("sql", sql1).then((res) => {
- return (this.bumenList = res.variables.data);
- });
- },
- filters: {
- gongyingshang: function (value, list) {
- for (let i = 0; i < list.length; i++) {
- if (value == list[i].id_) {
- return list[i].gong_ying_shang_m;
- } else if (i == list.length - 1) {
- return value;
- }
- }
- },
- numToFixed: function (value) {
- return (value*1).toFixed(2)
- },
- bumenfilters: function (value, list) {
- for (let i = 0; i < list.length; i++) {
- if (value == list[i].ID_) {
- return list[i].NAME_;
- } else if (i == list.length - 1) {
- return value;
- }
- }
- },
- },
- watch: {
- obj() {
- this.getInit();
- },
- },
- 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;
- },
- toDecimal2(x) {
- var f = parseFloat(x);
- if (isNaN(f)) {
- return false;
- }
- var f = Math.round(x * 100) / 100;
- var s = f.toString();
- var rs = s.indexOf(".");
- if (rs < 0) {
- rs = s.length;
- s += ".";
- }
- while (s.length <= rs + 2) {
- s += "0";
- }
- return s;
- },
- getInit() {
- // var idStr = "";
- // this.obj.forEach((item) => {
- // idStr += item + ",";
- // });
- // idStr = idStr.substring(0, idStr.length - 1);
- this.getLook(this.obj);
- },
- getLook(id) {
- console.log(id)
- this.list = [];
- let this_ = this;
- let name1, name2, name3;
- let time1, time2, time3;
- console.log(id,"22")
- id.forEach((item) => {
- let sql = `select * FROM t_wljsysjlb WHERE id_='${item}'`;
- repostCurd("sql", sql).then((res) => {
- debugger
- let data = res.variables.data;
- 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) => {
- debugger
- name2 = res.variables.data[0].NAME_ || 0;
- time2 = res.variables.data[0].CREATE_TIME_ || 0;
- data["name2"] = name2;
- data["time2"] = time2;
- let addhanshuiheji = 0;
- let addjine = 0;
- let addshuie = 0;
- 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}' LIMIT 1) AND b.NODE_ID_ = 'Activity_04ff3k5' ORDER BY b.CREATE_TIME_ DESC LIMIT 1`;
- repostCurd("sql", s3).then((res) => {
- debugger
- if(res.variables.data.length >0){
- 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["addhanshuiheji"] = this.addNumber(
- addhanshuiheji,
- it.han_shui_he_ji_
- );
- data["addjine"] = this.addNumber(addjine, it.jin_e_);
- data["addshuie"] = this.addNumber(addshuie, it.shui_e_);
- addhanshuiheji = data["addhanshuiheji"];
- addjine = data["addjine"];
- addshuie = data["addshuie"];
- });
- data["addhanshuiheji"] = this_.toDecimal2(data["addhanshuiheji"]);
- data["addjine"] = this_.toDecimal2(data["addjine"]);
- data["addshuie"] = this_.toDecimal2(data["addshuie"]);
- this_.list.push(data);
- addhanshuiheji = 0;
- addjine = 0;
- addshuie = 0;
- console.log(this_.list)
- console.log(this_.list);
- });
- });
- });
- });
- },
- },
- };
- </script>
- <style lang="scss" scoped>
- .bottom {
- margin-top: 15px;
- border-bottom: 1px solid #fff;
- border-left: 1px solid #fff;
- border-right: 1px solid #fff;
- }
- .title{
- border-top: 1px solid #fff;
- border-left: 1px solid #fff;
- border-right: 1px solid #fff;
- }
- .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>
|