123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389 |
- <template>
- <div style="display: inline-block">
- <el-dropdown
- size="mini"
- :disabled="disabled"
- split-button
- placement="top-start"
- @command="onCommand"
- @click="visible = true"
- >
- <span v-print="print">
- <i class="el-icon-printer mr-1"></i>
- 打 印
- </span>
- <el-dropdown-menu slot="dropdown">
- <el-dropdown-item v-print="print" command="湖南德荣医疗器械有限公司">
- 湖南德荣医疗器械有限公司
- </el-dropdown-item>
- <el-dropdown-item
- v-print="print"
- divided
- command="湖南德荣医疗健康产业有限公司"
- >
- 湖南德荣医疗健康产业有限公司
- </el-dropdown-item>
- <el-dropdown-item
- v-print="print"
- divided
- command="湖南德荣医疗器械物流配送服务有限公司"
- >
- 湖南德荣医疗器械物流配送服务有限公司
- </el-dropdown-item>
- </el-dropdown-menu>
- </el-dropdown>
- <div
- id="PurchaseOrderPdf"
- style="
- position: relative;
- font-size: 12px;
- line-height: 1;
- font-family: '宋体';
- z-index: -1;
- "
- >
- <!-- width: 210mm; -->
- <img
- ref="stamp"
- :src="src"
- :alt="company"
- style="
- width: 130px;
- height: 130px;
- position: absolute;
- top: 3px;
- left: 10px;
- z-index: 2;
- "
- />
- <div style="position: absolute; top: 0; left: 0; z-index: 2">
- <h1>湖南德荣医疗集团 - 采购订单</h1>
- <p style="display: flex">
- <span style="width: 50%">甲方(购货方):{{ params.puOrgName }}</span>
- <span style="width: 25%">订单编号:{{ params.code }}</span>
- <span style="width: 25%">签订日期:{{ params.billDate }}</span>
- </p>
- <p style="display: flex">
- <!-- <span style="width: 50%">采购部门:{{ params.puDeptName }}</span> -->
- <span style="width: 50%"
- >甲方收票地址:湖南省长沙市开福区湘江北路一段91号德荣医疗物流园1栋14楼集采中心</span
- >
- <span style="width: 25%">采购员:{{ params.buyerName }}</span>
- <!-- <span style="width: 25%">联系方式:{{ params.contactsPhone }}</span> -->
- <span style="width: 25%">E-mail:{{ params.buyerEmail }}</span>
- </p>
- <div style="border-bottom: 1px dashed black"></div>
- <p style="display: flex">
- <span style="width: 50%"
- >乙方(供货方):{{ params.supplierName }}</span
- >
- <span style="width: 25%"
- >ATTN:{{ params.supplierContactsName }}</span
- >
- <span style="width: 25%"
- >E-mail:{{ params.supplierContactsEmail }}</span
- >
- </p>
- <p style="display: flex">
- <span>甲方收货地址及联系人:{{ params.address }}</span>
- </p>
- <el-table
- ref="printTable"
- show-summary
- :summary-method="getSummaries"
- :data="params.orderItemPrintList"
- style="width: 100%; font-size: 12px; margin-top: 5px"
- >
- <el-table-column prop="materialCode" label="物料编码" width="auto">
- </el-table-column>
- <el-table-column
- prop="materialManufacturersCode"
- label="厂家物料编码"
- width="auto"
- >
- </el-table-column>
- <el-table-column prop="materialName" label="物料名称" width="auto">
- </el-table-column>
- <el-table-column prop="specification" label="规格/型号" width="auto">
- <template slot-scope="scope">
- {{ scope.row.specification + " " + scope.row.model }}
- </template>
- </el-table-column>
- <el-table-column prop="materialRemark" label="物料备注" width="auto">
- </el-table-column>
- <el-table-column
- prop="manufacturerName"
- label="生产厂家"
- width="auto"
- >
- </el-table-column>
- <el-table-column prop="unitName" label="单位" width="60">
- </el-table-column>
- <el-table-column prop="qty" label="数量" width="60">
- </el-table-column>
- <el-table-column prop="taxPrice" label="含税单价" width="auto">
- </el-table-column>
- <el-table-column prop="money" label="价税合计" width="auto">
- </el-table-column>
- <el-table-column prop="registration" label="注册证号" width="auto">
- </el-table-column>
- <el-table-column prop="deliveryDate" label="交货日期" width="auto">
- <template slot-scope="scope">{{
- new Date(scope.row.deliveryDate).Format("yyyy-MM-dd")
- }}</template>
- </el-table-column>
- </el-table>
- <p>
- 二、质量要求与技术标准:符合供方企业标准、所在行业标准、国家标准。
- </p>
- <p>
- 供方承诺若本订单上的货物发生质量问题,按双方签署的《质量保证协议》或其他双方签订的质保条约执行处理。
- </p>
- <p>三、交货要求:</p>
- <p>
- 1.供货方在1个工作日内回复交期(若1个工作日内未回复,视同供货方默认同意接受交货日期)
- </p>
- <p>
- 2.常规产品7天内到货,订制产品按双方协议日期交期。交货时,以下纸质资料随货同行,资料所在箱号清晰易见:
- </p>
- <p>
- (1)随货同行单。供货方提供给我公司的随货同行单需包括以下内容:德荣订单编码、供货单位、医疗器械名称、规格(型号)、生产企业、生产企业许可证号(或者备案凭证编号)、注册证号(或者备案凭证编号)、生产批号、有效期、数量、单位、单价、金额、储运条件、收货单位、收货地址、发货日期等内容,并加盖供货单位出库专用章。
- </p>
- <p>
- (2)生产厂家同一批次产品的检验报告。(3)进口物资的报关单和检验检疫证明。
- </p>
- <p>
- 3.交货实际时间以供方货物实际到达需方指定地点的时间为准。如遇特殊情况需变更交货时间,供方应事先通知需方并征得需方同意
- </p>
- <p>
- 4.运输要求:供货方负责将货物运输到购货方指定地址,运输方式及费用由供货方负责(双方另有书面约定的除外)。发货后供货方提供运输单号给购货方。.需要专业冷链运输的产品,必须按照GSP要求严格执行冷链运输,全程温湿度必须在GSP冷链运输的管控范围内,随货同行的温湿度记录仪的冷链数据须在交付时可导出或打印。
- </p>
- <p>
- 四、验收标准:购货方收货后3日内按质量标准进行验收,若有不符应及时通知供货方,供货方应在3日内处理。
- </p>
- <p>
- 五、发票要求:供货方根据双方签定的格式合同约定的时间或是于发货后7个工作日内开具符合国家要求的可抵扣的增值税专用发票给购货方。
- </p>
- <p>六、结算方式:电汇/转账。</p>
- <p>
- 七、违约责任:按《中国人民共和国合同法》执行,一方违约,违约方按货款总金额的5‰支付给守约方。
- </p>
- <p>
- 八、争议的解决:因履行本合同发生争议,由双方协商解决,协商不成应向长沙仲裁委员会申请仲裁解决。
- </p>
- <p>
- 九、本订单作为双方采购合同的有效组成附件,经各采购员发布确认后生效。供方应在接到订单后按采购合同约定的时间内向需方作出反馈,否则需方视为供方默认。
- </p>
- <p>
- 十、严禁行贿受贿等一切不合法不合规行为,采购方投诉渠道:电话15386455809;邮箱drpm@derom.com。
- </p>
- </div>
- </div>
- </div>
- </template>
- <script>
- import print from "vue-print-nb";
- import { PRINT } from "@/api/business/purchase/task";
- export default {
- directives: {
- print,
- },
- name: "",
- components: {},
- props: {
- id: {
- type: [String, Number],
- require: true,
- },
- value: {
- type: Object,
- require: true,
- },
- },
- data() {
- console.log(this.value, "this.value");
- return {
- size: "mini",
- visible: false,
- disabled: false,
- company: "湖南德荣医疗器械有限公司",
- print: {
- id: "PurchaseOrderPdf",
- popTitle: " ", // 打印配置页上方的标题
- extraHead: "", // 最上方的头部文字,附加在head标签上的额外标签,使用逗号分割
- preview: false, // 是否启动预览模式,默认是false
- previewTitle: "预览的标题", // 打印预览的标题
- previewPrintBtnLabel: "预览结束,开始打印", // 打印预览的标题下方的按钮文本,点击可进入打印
- zIndex: 20002, // 预览窗口的z-index,默认是20002,最好比默认值更高
- previewBeforeOpenCallback() {
- console.log("正在加载预览窗口!");
- console.log(this);
- }, // 预览窗口打开之前的callback
- previewOpenCallback() {
- console.log("已经加载完预览窗口,预览打开了!");
- }, // 预览窗口打开时的callback
- beforeOpenCallback() {
- console.log("开始打印之前!");
- }, // 开始打印之前的callback
- openCallback() {
- console.log("执行打印了!");
- }, // 调用打印时的callback
- closeCallback() {
- console.log("关闭了打印工具!");
- }, // 关闭打印的callback(无法区分确认or取消)
- clickMounted() {
- console.log("点击v-print绑定的按钮了!");
- },
- // url: 'http://localhost:8080/', // 打印指定的URL,确保同源策略相同
- // asyncUrl (reslove) {
- // setTimeout(() => {
- // reslove('http://localhost:8080/')
- // }, 2000)
- // },
- standard: "",
- extarCss: "",
- },
- // params: {},
- // params: this.value,
- };
- },
- computed: {
- src: {
- get: function () {
- return require(`./${this.company}.png`);
- },
- set: function () {},
- },
- params: {
- get: function () {
- return this.value;
- },
- },
- },
- watch: {},
- methods: {
- onCommand(prop) {
- this.company = prop;
- this.visible = true;
- },
- getSummaries(param) {
- const { columns, data } = param;
- const sums = [];
- columns.forEach((column, index) => {
- const { property } = column;
- if (index === 0) {
- sums[index] = "合计";
- return;
- }
- if (property === "qty" || property === "money") {
- const values = data.map((item) => Number(item[property]));
- if (!values.every((value) => isNaN(value))) {
- sums[index] = values.reduce((prev, curr) => {
- const value = Number(curr);
- if (!isNaN(value)) {
- return prev + curr;
- } else {
- return prev;
- }
- }, 0);
- }
- }
- });
- return sums;
- },
- getValue() {
- const A4_HEIGHT = 842; //A4纸的高度为842mm
- const printcontent = document.getelementById("print-content"); // 获取需要打印的内容元素
- const contentHeight = printcontent.offsetHeight; // 获取内容元素的高度
- const pagecount = Math.ceil(contentHeight / A4_HEIGHT); // 计算需要打印的页数
- const singlePageHeight = contentHeight / pagecount; // 计算单张A4纸的高度
- },
- },
- async created() {
- // try {
- // this.disabled = true;
- // const { data, code } = await PRINT({ id: this.$props.id || 628 });
- // if (code === 200) {
- // this.params = data;
- // this.disabled = false;
- // }
- // } catch (err) {
- // alert(err);
- // } finally {
- // }
- },
- mounted() {
- this.$nextTick(() => {
- let thead = this.$refs.printTable.$el.querySelector(
- ".el-table__header-wrapper thead"
- ); //找到dom节点
- // let img = this.$refs.stamp.cloneNode(true);
- let theadNew = thead.cloneNode(true);
- this.$refs.printTable.$el
- .querySelector(".el-table__body-wrapper table")
- .appendChild(theadNew);
- });
- },
- destroyed() {},
- };
- </script>
- <style scope>
- .el-table >>> .el-table__body-wrapper table thead {
- display: none;
- }
- </style>
- <style lang="scss" media="print">
- // 去除打印的页眉页脚
- @page {
- size: auto; /* auto is the initial value */
- margin: 3mm; /* this affects the margin in the printer settings */
- }
- // 去除打印的页眉页脚
- @media print {
- #PurchaseOrderPdf {
- width: 100%;
- }
- p {
- margin: 4px 0;
- }
- .el-table > .el-table__header-wrapper > .el-table__header > thead > tr > th,
- .el-table
- > .el-table__body-wrapper
- > .el-table__body
- > tbody
- > .el-table__row
- > td {
- padding: 0;
- }
- table {
- table-layout: auto !important;
- }
- .el-table__header,
- .el-table__body,
- .el-table__footer {
- width: 100% !important;
- color: #000 !important;
- }
- .el-table .cell,
- .el-table th.el-table__cell > .cell {
- line-height: 18px !important;
- }
- .el-table__footer-wrapper tbody td.el-table__cell,
- .el-table__header-wrapper tbody td.el-table__cell,
- .el-table th.el-table__cell > .cell {
- color: #000 !important;
- }
- .el-table > .el-table__header-wrapper {
- display: none;
- }
- .el-table > .el-table__body-wrapper table thead {
- display: table-header-group;
- }
- }
- </style>
|