From 19305ac2d11bf858f90753d28966d5da905db02f Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期五, 17 十一月 2023 10:49:53 +0800
Subject: [PATCH] 小bug提交
---
src/views/quality/rawMaterial/index.vue | 143 ++++++++++++++++++++++++++++++++---------------
1 files changed, 98 insertions(+), 45 deletions(-)
diff --git a/src/views/quality/rawMaterial/index.vue b/src/views/quality/rawMaterial/index.vue
index 3e33e70..57528ab 100644
--- a/src/views/quality/rawMaterial/index.vue
+++ b/src/views/quality/rawMaterial/index.vue
@@ -20,13 +20,15 @@
<ttable
:table="table"
:resultData="resultData"
- @change ="costPlannedAmountChange"
@handleSelectionChange="handleSelectionChange"
:prelang="prelang"
:options="options"
:ajaxFun="ajaxFun"
+ @queryParam="getQueryParam($event)"
ref="rawMaterialTable">
- <template #toolbar></template>
+ <template #toolbar>
+ <el-button @click="exportRawMaterial" type="primary" >瀵煎嚭</el-button>
+ </template>
</ttable>
</basic-container>
<!-- 寮圭獥, 鏂板 / 淇敼 -->
@@ -35,18 +37,35 @@
ref="addOrUpdate"
@refreshDataList="getData"
></RawMaterialForm>
+ <el-dialog
+ top="10vh"
+ title="鎵撳嵃棰勮"
+ :visible.sync="printDialogVisible"
+ width="60%">
+ <div style="width:100%;height: 60vh;overflow-y: scroll;">
+ <printTemplate id="printRaw" :formData="printFormData"></printTemplate>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="()=>{printDialogVisible = false;this.printFormData=null}">鍙� 娑�</el-button>
+ <el-button type="primary" @click="printFun()">鎵� 鍗�</el-button>
+ </span>
+ </el-dialog>
</div>
</template>
<script>
-import ExportMaterial from './ExportMaterial.vue'
import ttable from '@/views/common/ztt-table.vue'
-import { getRawInspectList,delObj } from '@/api/quality/rawMaterial'
+import { getRawInspectList,delObj,exportRawMaterial,getObj } from '@/api/quality/rawMaterial'
import RawMaterialForm from './rawMaterial-form'
import * as fecha from 'element-ui/lib/utils/date'
import { mapGetters } from 'vuex'
+import PrintJS from 'print-js'
+import printTemplate from './rawMaterial-print.vue'
export default {
data() {
return {
+ printFormData: null,
+ printDialogVisible: false,
+ queryParam: {},
resultData:[],
addOrUpdateVisible: false,
type: [1],
@@ -64,14 +83,13 @@
isRefresh: true, // 鏄惁鏄剧ず鍒锋柊鎸夐挳
isShowHide: true, // 鏄惁鏄剧ず鏄惧奖鎸夐挳H
isSearch: true, // 楂樼骇鏌ヨ鎸夐挳
- defaultOrderBy: { column: 'formTime', direction: 'desc' },
+ defaultOrderBy: { column: 'createTime', direction: 'desc' },
},
table: {
total: 0,
currentPage: 1,
pageSize: 20,
data: [],
- isExport:true,
// 鏍囬
column: [
{
@@ -139,6 +157,7 @@
prop: 'createTime',
label: '鎶ユ鏃ユ湡',
isTrue: true,
+ sort: true,
isSearch: true,
searchInfoType: 'text',
formatter: this.formatDateTime,
@@ -190,14 +209,21 @@
text: '鏂板',
type: 'primary',
fun: this.addOrUpdateHandle
+ }],
+ operator: [{
+ text: '鎵撳嵃',
+ type: 'text',
+ size: 'small',
+ fun: this.previewFun,
+ show: {
+ val: [
+ '1',
+ '0'
+ ],
+ key: 'judgeState'
+ }
},
{
- text: '瀵煎嚭',
- type: 'primary',
- fun: this.handleExcel
- }
- ],
- operator: [{
text: '浣滃簾',
type: 'text',
size: 'small',
@@ -217,7 +243,7 @@
components: {
ttable,
RawMaterialForm,
- ExportMaterial,
+ printTemplate,
},
created() {
@@ -225,39 +251,65 @@
computed: {
...mapGetters(['permissions'])
},
- methods:{
- async costPlannedAmountChange(value){
- this.resultData= value
- },
-
- handleExcel() {
- console.log(this.resultData);
- console.log(this.table.column);
- // let arr = this.table.column.map(el = el.isTrue == true)
- // console.log(arr);
- let arr = this.table.column.filter(item => item.isTrue == true).map(item => {
- return{
- prop:item.prop,
- label:item.label
- }
- })
- let opt = {
- title: '鏂囨。鏍囬',
- column: [{
- label:'',
- prop:'header',
- children:arr
- }],
- data: this.resultData
+ watch:{
+ printFormData(newVal){
+ if(newVal){
+ this.printFormData = newVal
+ }
}
- this.$Export.excel({
- title: opt.title,
- columns: opt.column,
- data: opt.data
- });
- // console.log(this.table);
-
- },
+ },
+ methods:{
+ //鏌ョ湅鎶ュ憡鎸夐挳
+ previewFun(row){
+ getObj(row.id).then(res=>{
+ this.printFormData = res.data.data
+ this.printDialogVisible = true
+ }).catch(error=>{
+ console.log(error);
+ })
+ },
+ //鎵撳嵃鎸夐挳
+ printFun() {
+ this.printDialogVisible = false;
+ PrintJS({
+ printable: "printRaw",
+ type: "html",
+ maxWidth: 880,
+ // header: "鍘熸潗鏂欐娴嬫姤鍛�",
+ style: '@page {margin: 0 5mm;}',
+ targetStyles: ["*"],
+ ignoreElements: ["no-ignore"],
+ orientation: 'portrait'
+ });
+ },
+ getQueryParam(data){
+ this.queryParam = data
+ },
+ exportRawMaterial(){
+ exportRawMaterial(this.queryParam).then(res=>{
+ console.log(res)
+ this.downloadFun(res)
+ }).catch(error=>{
+ console.log(error);
+ })
+ },
+ downloadFun(result){
+ if(result == null || result == undefined){
+ return;
+ }
+ var nameList = result.headers['content-disposition'];
+ nameList = decodeURI(nameList);
+ var fileName = nameList.split('=')[1];
+ const blob = new Blob([result.data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' })
+ const downloadElement = document.createElement('a') // 鏂板缓涓�涓狣OM鑺傜偣
+ const href = window.URL.createObjectURL(blob) // 鍒涘缓涓嬭浇鐨勯摼鎺�
+ downloadElement.href = href
+ downloadElement.download = fileName // 涓嬭浇鍚庢枃浠跺悕
+ document.body.appendChild(downloadElement) // 灏嗘柊澧炵殑鑺傜偣鎸傝浇鍒伴〉闈笂
+ downloadElement.click() // 鐐瑰嚮涓嬭浇
+ document.body.removeChild(downloadElement) // 涓嬭浇瀹屾垚绉婚櫎鍏冪礌
+ window.URL.revokeObjectURL(href)
+ },
// 鍒犻櫎
deleteHandle(row) {
this.$confirm('鏄惁纭鍒犻櫎璇ユ暟鎹細' + row.code , '鎻愮ず', {
@@ -279,6 +331,7 @@
},
// 鏂板 / 淇敼
addOrUpdateHandle(row) {
+ console.log(row);
this.$router.push({
name: 'rawMaterialForm',
query: {
--
Gitblit v1.9.3