From e155da2aeb9c44698e3a0d59ab3f32e5ad9bad5f Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期二, 26 十二月 2023 11:23:41 +0800
Subject: [PATCH] 工艺路线-bug修改

---
 src/views/quality/finishedProductInspection/index.vue |  581 ++++++++++++++++++++++++++++-----------------------------
 1 files changed, 287 insertions(+), 294 deletions(-)

diff --git a/src/views/quality/finishedProductInspection/index.vue b/src/views/quality/finishedProductInspection/index.vue
index e2cccb9..6a959ab 100644
--- a/src/views/quality/finishedProductInspection/index.vue
+++ b/src/views/quality/finishedProductInspection/index.vue
@@ -12,312 +12,305 @@
                 <template #toolbar></template>
                 </ttable>
             </basic-container>
+            <el-dialog
+            top="10vh"
+            title="鎵撳嵃棰勮"
+            :visible.sync="printDialogVisible"
+            width="70%">
+            <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;printFormData=null}">鍙� 娑�</el-button>
+                <el-button type="primary" @click="printFun()">鎵� 鍗�</el-button>
+            </span>
+            </el-dialog>
 		</div>
 	</div>
 </template>
 
-
 <script>
     import ttable from '@/views/common/ztt-table.vue'
     import * as fecha from 'element-ui/lib/utils/date'
-	import finishedProductInspectionAdd from './finishedProductInspectionAdd'
-    import { page,deletePro } from '@/api/quality/finishedProduct'
+	import finishedProductInspectionAdd from './finishedProduct-form'
+    import { page,deletePro,exportExaminationProducts,queryById } from '@/api/quality/finishedProduct'
+    import { transform } from '@/util/fileTransform'
+    import { mapGetters } from 'vuex'
+    import printTemplate from './finishedProducter-print.vue'
+    import PrintJS from 'print-js'
 	export default {
-		components: {
-			finishedProductInspectionAdd,
-            ttable
-		},
-		data() {
-			return {
-                result:[{label:'鍏ㄩ儴',value: ''},{label:'鍚堟牸',value: '1'},{label:'涓嶅悎鏍�',value: '0'}],
-                type: [1],
-                prelang: 'finishedProduct',
-                ajaxFun: page,
-                options: {
-                    height: 300, // 榛樿楂樺害-涓轰簡琛ㄥご鍥哄畾
-                    stripe: true, // 鏄惁涓烘枒椹汗 table
-                    highlightCurrentRow: false, // 鏄惁瑕侀珮浜綋鍓嶈
-                    border: true, // 鏄惁鏈夌旱鍚戣竟妗�
-                    lazy: false, // 鏄惁闇�瑕佹噿鍔犺浇
-                    fit: true, // 鍒楃殑瀹藉害鏄惁鑷拺寮�
-                    multiSelect: true, //
-                    seqNo: true,
-                    isRefresh: true, // 鏄惁鏄剧ず鍒锋柊鎸夐挳
-                    isShowHide: true, // 鏄惁鏄剧ず鏄惧奖鎸夐挳H
-                    isSearch: true, // 楂樼骇鏌ヨ鎸夐挳
-                    defaultOrderBy: { column: 'createTime', direction: 'desc' },
+    components: {
+        finishedProductInspectionAdd,
+        ttable,
+        printTemplate
+    },
+    data() {
+        return {
+            printFormData: null,
+            printDialogVisible: false,
+            result:[{label:'鍏ㄩ儴',value: ''},{label:'鍚堟牸',value: '1'},{label:'涓嶅悎鏍�',value: '0'}],
+            type: [1],
+            prelang: 'finishedProduct',
+            ajaxFun: page,
+            options: {
+                height: 300, // 榛樿楂樺害-涓轰簡琛ㄥご鍥哄畾
+                stripe: true, // 鏄惁涓烘枒椹汗 table
+                highlightCurrentRow: false, // 鏄惁瑕侀珮浜綋鍓嶈
+                border: true, // 鏄惁鏈夌旱鍚戣竟妗�
+                lazy: false, // 鏄惁闇�瑕佹噿鍔犺浇
+                fit: true, // 鍒楃殑瀹藉害鏄惁鑷拺寮�
+                multiSelect: true, //
+                seqNo: true,
+                isRefresh: true, // 鏄惁鏄剧ず鍒锋柊鎸夐挳
+                isShowHide: true, // 鏄惁鏄剧ず鏄惧奖鎸夐挳H
+                isSearch: true, // 楂樼骇鏌ヨ鎸夐挳
+                defaultOrderBy: { column: 'createTime', direction: 'desc' },
+            },
+            table: {
+                total: 0,
+                currentPage: 1,
+                pageSize: 20,
+                data: [],
+                // 鏍囬
+                column: [
+                        {
+                        minWidth: '120',
+                        prop: 'finInsNo',
+                        label: '浜у搧妫�楠岀紪鍙�',
+                        isTrue: true,
+                        isSearch: true,
+                        searchInfoType: 'text',
+                        render: { fun: this.addOrUpdateHandle }
+                    },
+                    {
+                        minWidth: '120',
+                        prop: 'productNo',
+                        label: '鎶ュ伐鍗曞彿',
+                        isTrue: true,
+                        isSearch: true,
+                        searchInfoType: 'text'
+                    },
+                    {
+                        minWidth: '120',
+                        prop: 'orderNumber',
+                        label: '璁㈠崟鍙�',
+                        isTrue: true,
+                        isSearch: true,
+                        searchInfoType: 'text'
+                    },
+                    {
+                        minWidth: '120',
+                        prop: 'customerName',
+                        label: '瀹㈡埛鍚嶇О',
+                        isTrue: true,
+                        isSearch: true,
+                        searchInfoType: 'text'
+                    },
+                    {
+                        minWidth: '130',
+                        width: '150',
+                        prop: 'projectName',
+                        label: '宸ョ▼鍚嶇О',
+                        sort: true,
+                        isTrue: true,
+                        isSearch: true,
+                        searchInfoType: 'text',
+                    },
+                    {
+                        minWidth: '120',
+                        prop: 'outBatchNo',
+                        label: '鎵规鍙�',
+                        isTrue: true,
+                        isSearch: true,
+                        searchInfoType: 'text'
+                    },
+                    {
+                        minWidth: '120',
+                        prop: 'materialCode',
+                        label: '浜у搧缂栧彿',
+                        isTrue: true,
+                        isSearch: true,
+                        searchInfoType: 'text'
+                    },
+                    {
+                        minWidth: '120',
+                        prop: 'material',
+                        label: '浜у搧澶х被',
+                        isTrue: true,
+                        isSearch: true,
+                        searchInfoType: 'text'
+                    },
+                    {
+                        minWidth: '120',
+                        prop: 'specs',
+                        label: '瑙勬牸鍨嬪彿',
+                        isTrue: true,
+                        isSearch: true,
+                        searchInfoType: 'text'
+                    },
+                    {
+                        minWidth: '120',
+                        prop: 'unit',
+                        label: '鍗曚綅',
+                        isTrue: true,
+                        isSearch: true,
+                        searchInfoType: 'text'
+                    },
+                    {
+                        minWidth: '120',
+                        prop: 'quantity',
+                        label: '鏁伴噺',
+                        isTrue: true,
+                        isSearch: true,
+                        searchInfoType: 'text'
+                    },
+                    {
+                        minWidth: '120',
+                        prop: 'createTime',
+                        label: '妫�楠屾棩鏈�',
+                        sort: true,
+                        isTrue: true,
+                        isSearch: true,
+                        searchInfoType: 'datetimerange',
+                        formatter: this.formatDateTime,
+                    },
+                    {
+                        minWidth: '120',
+                        prop: 'result',
+                        label: '妫�娴嬬粨鏋�',
+                        isTrue: true,
+                        isSearch: true,
+                        searchInfoType: 'select',
+                        formatter: this.formatResult,
+                        optList: () => {
+                            return this.result
+                        }
+                    },
+                ],
+                toolbar: [],
+                operator: null,
+                operatorConfig: {
+                fixed: 'right',
+                label: '鎿嶄綔',
+                width: 100,
+                minWidth: 100
                 },
-                table: {
-                    total: 0,
-                    currentPage: 1,
-                    pageSize: 20,
-                    data: [],
-                    // 鏍囬
-                    column: [
-                        {
-                            minWidth: '120',
-                            prop: 'orderNumber',
-                            label: '璁㈠崟鍙�',
-                            isTrue: true,
-                            isSearch: true,
-                            searchInfoType: 'text',
-                            render: { fun: this.addOrUpdateHandle }
-                        },
-                        {
-                            minWidth: '120',
-                            prop: 'customerName',
-                            label: '瀹㈡埛鍚嶇О',
-                            isTrue: true,
-                            isSearch: true,
-                            searchInfoType: 'text'
-                        },
-                        {
-                            minWidth: '130',
-                            width: '150',
-                            prop: 'projectName',
-                            label: '宸ョ▼鍚嶇О',
-                            sort: true,
-                            isTrue: true,
-                            isSearch: true,
-                            searchInfoType: 'text',
-                        },
-                        {
-                            minWidth: '120',
-                            prop: 'materialCode',
-                            label: '浜у搧缂栫爜',
-                            isTrue: true,
-                            isSearch: true,
-                            searchInfoType: 'text'
-                        },
-                        {
-                            minWidth: '120',
-                            prop: 'material',
-                            label: '浜у搧澶х被',
-                            isTrue: true,
-                            isSearch: true,
-                            searchInfoType: 'text'
-                        },
-                        {
-                            minWidth: '120',
-                            prop: 'specs',
-                            label: '瑙勬牸鍨嬪彿',
-                            isTrue: true,
-                            isSearch: true,
-                            searchInfoType: 'text'
-                        },
-                        {
-                            minWidth: '120',
-                            prop: 'unit',
-                            label: '鍗曚綅',
-                            isTrue: true,
-                            isSearch: true,
-                            searchInfoType: 'text'
-                        },
-                        {
-                            minWidth: '120',
-                            prop: 'quantity',
-                            label: '鏁伴噺',
-                            isTrue: true,
-                            isSearch: true,
-                            searchInfoType: 'text'
-                        },
-                        {
-                            minWidth: '120',
-                            prop: 'createTime',
-                            label: '妫�楠屾棩鏈�',
-                            sort: true,
-                            isTrue: true,
-                            isSearch: true,
-                            searchInfoType: 'datetimerange',
-                            formatter: this.formatDateTime,
-                        },
-                        {
-                            minWidth: '120',
-                            prop: 'result',
-                            label: '妫�娴嬬粨鏋�',
-                            isTrue: true,
-                            isSearch: true,
-                            searchInfoType: 'select',
-                            formatter: this.formatResult,
-                            optList: () => {
-                                return this.result
-                            }
-                        },
-                    ],
-                    toolbar: [
-                    {
-                        text: '鏂板',
-                        type: 'primary',
-                        fun: this.addOrUpdateHandle
-                    },
-                    {
-                        text: '鍒犻櫎',
-                    },
-                    {
-                        text: '瀵煎嚭',
+            },
+        }
+    },
+    created() { 
+        if(this.permissions.quality_finishedProductInspection_download){
+            this.table.toolbar.push({
+                text: '涓嬭浇妫�楠屾姤鍛�',
+                type: 'primary',
+                fun: this.downloadProReport
+            })
+        }
+        if(this.permissions.quality_finishedProductInspection_del){
+            this.table.operator = [{
+                    text: '浣滃簾',
+                    type: 'text',
+                    size: 'small',
+                    fun: this.deleteHandle
+                }]
+        }
+    },
+    computed: {
+        ...mapGetters(['permissions'])
+    },
+    watch:{
+        printFormData(newVal){
+            if(newVal){
+                this.printFormData = newVal
+            }
+        }
+    },
+    methods: {
+        downloadProReport(){
+        },
+        //鎵撳嵃鎸夐挳
+        printFun() {
+            const style = '@page {margin: 10mm 5mm; margin-bottom: 0;margin-top:0;} ' +'@media print {.title{font-size:30pt;font-weight: 400;font-family: 榛戜綋;!important;}' ;
+            PrintJS({
+                printable: "printRaw",
+                type: "html",
+                scanStyles: false,
+                maxWidth: 1200,
+                header: "浜у搧妫�娴嬫姤鍛�",
+                style:style,
+                css:'./title.css',
+                targetStyles: ["*"],
+                ignoreElements: ["no-ignore"],
+                orientation: 'portrait'
+            });
+        },
+        //鏌ョ湅鎶ュ憡鎸夐挳
+        showPrint(row){
+            queryById(row.id).then(res=>{
+                this.printFormData = res.data.data
+                this.printFormData.createTime = row.createTime
+                this.printFormData.updateTime = row.updateTime
+                this.printDialogVisible = true
+            }).catch(error=>{
+            })
+        },
+        exportExcel(){
+            let queryParam=this.$refs.finishedProduct.getQueryParam();
+            delete queryParam.criteria
+            exportExaminationProducts(queryParam).then((res)=>{
+                transform(res)
+            })
+        },
+        deleteHandle(row){
+            this.$confirm('纭鍒犻櫎璇ユ暟鎹悧锛�', '鎻愮ず', {
+            confirmButtonText: '纭畾',
+            cancelButtonText: '鍙栨秷',
+            type: 'warning',
+            }).then(()=>{
+                deletePro(row.id).then(res=>{
+                    if(res.data.code == 0){
+                        this.$message.success("鍒犻櫎鎴愬姛")
+                    }else{
+                        this.$message.error("鍒犻櫎澶辫触")
                     }
-                    ],
-                    operator: [{
-                        text: '鎵撳嵃',
-                        type: 'text',
-                        size: 'small',
-                    },{
-                        text: '浣滃簾',
-                        type: 'text',
-                        size: 'small',
-                        fun: this.deleteHandle
-                    }],
-                    operatorConfig: {
-                    fixed: 'right',
-                    label: '鎿嶄綔',
-                    width: 100,
-                    minWidth: 100
-                    },
+                    this.getData()
+                })
+            })
+        },
+        // 鏂板 / 淇敼
+        addOrUpdateHandle(row) {
+            if(!this.permissions.quality_finishedProductInspection_edit && row.id!=null){
+                this.$message.error("璇ヨ鑹叉病鏈夋搷浣滄潈闄�")
+                return
+            }
+            this.$router.push({
+                name: 'finishedProductForm',
+                query: { 
+                    id: row == null ? null : row.id,
                 },
-
-
-
-
-
-                
-				searchData: {
-					result: '',
-					material: '',
-				},
-				// 涓绘満宸ヤ笅鎷夋
-				usernameOptions: [],
-				inspectionTable: [],
-				rowInfo: {},
-				pageParams: {
-					countSize: 10, //姣忛〉鏁伴噺
-					pageSize: 1, // 褰撳墠椤电爜
-					total: 0
-				},
-				showAddPage: false,
-				showAdd: false,
-				showLook: false,
-				showUp: false,
-				showDetail: false,
-				addInspectionform: [{
-					number: '',
-					username: '',
-					projectname: '',
-					tracenumber: '',
-					code: '',
-					class: '',
-					specificationmodel: '',
-					unit: '',
-					quantity: '',
-					group: '',
-					worker: '',
-					machine: ''
-				}],
-				inspectionItems: [{
-					project: '甯冮殕杩�',
-					unit: '鍚�',
-					standardVal: '8219384314',
-					controlVal: '9823401',
-					detectionVal: '11111',
-					device: '',
-					conclusion: '鍚堟牸'
-				}],
-				inspectionResultForm: [{
-					id: '274024',
-					name: '111',
-					inspecter: '111',
-					conclusion: '',
-					operation: ''
-				}],
-				finishedInsInfo: {}
-			}
-		},
-		created() {
-			this.init()
-			// this.getInspectionTableData()
-		},
-		methods: {
-			deleteHandle(row){
-				console.log(row.id)
-				this.$confirm('纭鍒犻櫎璇ユ暟鎹悧锛�', '鎻愮ず', {
-				confirmButtonText: '纭畾',
-				cancelButtonText: '鍙栨秷',
-				type: 'warning',
-				}).then(()=>{
-					deletePro(row.id).then(res=>{
-						if(res.data.code == 0){
-							this.$message.success("鍒犻櫎鎴愬姛")
-						}else{
-							this.$message.error("鍒犻櫎澶辫触")
-						}
-						this.getData()
-					})
-				})
-			},
-			// 鏂板 / 淇敼
-			addOrUpdateHandle(row) {
-				this.$router.push({
-					name: 'finishedProductForm',
-					query: { id: row == null ? null : row.id }
-				})
-			},
-            formatResult(row, column, cellValue){
-                if(cellValue != undefined || cellValue != null){
-                    if(cellValue == 0){
-                        return "<span style='color:#E84738;'>涓嶅悎鏍�</span>"
-                    }else if(cellValue == 1){
-                        return "<span style='color:#34BD66;'>鍚堟牸</span>"
-                    }
+                params: {
+                    resultVal: row == null ? null : row.result 
                 }
-            },
-            formatDateTime(row, column, cellValue) {
-                return cellValue ? fecha.format(new Date(cellValue), 'yyyy-MM-dd') : ''
-            },
-            handleSelectionChange(){
-
-            },
-			// 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣
-			handleSizeChange(val) {
-				console.log(`姣忛〉 ${val} 鏉)
-				this.currentPage = 1
-				this.pageSize = val
-			},
-			// 褰撳墠椤垫敼鍙樻椂瑙﹀彂 璺宠浆鍏朵粬椤�
-			handleCurrentChange(val) {
-				console.log(`褰撳墠椤�: ${val}`)
-				this.currentPage = val
-			},
-			handleAddNew() {
-				this.showAdd = true
-			},
-			getData() {
-				this.$refs.finishedProduct.getDataList()
-			},
-			goToDetail(row) {
-				this.rowInfo = row
-				this.showLook = true
-			},
-			goUp(row) {
-				this.rowInfo = row
-				this.showUp = true
-			},
-			async init() {
-				// const {data} = await this.$axios.get(this.$api.url.finishedInspectUser)
-				// this.usernameOptions = data
-
-			},
-			comBackMain(val) {
-				this.showAdd = false
-				this.showLook = false
-				this.showUp = false
-				this.init()
-				// this.getInspectionTableData()
-				if (val) {
-					this.$parent.removeAllTab()
-				}
-			}
-		}
-
-	}
+            })
+        },
+        formatResult(row, column, cellValue){
+            if(cellValue != undefined || cellValue != null){
+                if(cellValue == 0){
+                    return "<span style='color:#E84738;'>涓嶅悎鏍�</span>"
+                }else if(cellValue == 1){
+                    return "<span style='color:#34BD66;'>鍚堟牸</span>"
+                }
+            }
+        },
+        formatDateTime(row, column, cellValue) {
+            return cellValue ? fecha.format(new Date(cellValue), 'yyyy-MM-dd') : ''
+        },
+        handleSelectionChange(){ },
+        getData() {
+            this.$refs.finishedProduct.getDataList()
+        },
+    }
+}
 </script>
 
 <style scope="scope">

--
Gitblit v1.9.3