zss
2023-12-11 c880739ec4cd5ede33b31eb98ad5f7628ea288e5
src/views/quality/finishedProductInspection/index.vue
@@ -12,27 +12,42 @@
                <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 finishedProductInspectionUp from './finishedProductInspectionUp'
   import finishedProductInspectionLook from './finishedProductInspectionLook'
    import { page } from '@/api/quality/finishedProduct'
   import finishedProductInspectionAdd from './finishedProduct-form'
    import { page,deletePro,exportExaminationProducts,queryById } from '@/api/quality/finishedProduct'
    import { transform } from '@/util/fileTransform'
    import printTemplate from './finishedProducter-print.vue'
    import PrintJS from 'print-js'
    import { title } from 'process'
   export default {
      components: {
         finishedProductInspectionAdd,
         finishedProductInspectionUp,
         finishedProductInspectionLook,
            ttable
            ttable,
            printTemplate
      },
      data() {
         return {
                printFormData: null,
                printDialogVisible: false,
                result:[{label:'全部',value: ''},{label:'合格',value: '1'},{label:'不合格',value: '0'}],
                type: [1],
                prelang: 'finishedProduct',
@@ -58,14 +73,30 @@
                    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',
                            render: { fun: this.addOrUpdateHandle }
                            searchInfoType: 'text'
                        },
                        {
                            minWidth: '120',
@@ -84,6 +115,14 @@
                            isTrue: true,
                            isSearch: true,
                            searchInfoType: 'text',
                        },
                        {
                            minWidth: '120',
                            prop: 'outBatchNo',
                            label: '批次号',
                            isTrue: true,
                            isSearch: true,
                            searchInfoType: 'text'
                        },
                        {
                            minWidth: '120',
@@ -149,22 +188,29 @@
                        },
                    ],
                    toolbar: [
                    {
                    /* {
                        text: '新增',
                        type: 'primary',
                        fun: this.addOrUpdateHandle
                    },
                    {
                        text: '删除',
                    },
                    }, */
                    {
                        text: '导出',
                        type: 'primary',
                        fun: this.exportExcel
                    }
                    ],
                    operator: [{
                        text: '打印',
                        type: 'text',
                        size: 'small',
                        fun: this.showPrint,
                        show: {
                            val: [
                                '1',
                                '0'
                            ],
                            key: 'result'
                        }
                    },{
                        text: '作废',
                        type: 'text',
@@ -178,73 +224,76 @@
                    minWidth: 100
                    },
                },
            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()
      },
      created() { },
        watch:{
        printFormData(newVal){
            if(newVal){
                this.printFormData = newVal
            }
        }
    },
      methods: {
            //打印按钮
            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("删除失败")
                  }
                  this.getData()
               })
            })
         },
         // 新增 / 修改
         addOrUpdateHandle(row) {
            this.$router.push({
               name: 'finishedProductForm',
               query: { id: row == null ? null : row.id }
               query: {
                        id: row == null ? null : row.id,
                    },
                    params: {
                        resultVal: row == null ? null : row.result
                    }
            })
         },
            formatResult(row, column, cellValue){
@@ -259,61 +308,10 @@
            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
            handleSelectionChange(){ },
         getData() {
            this.$refs.finishedProduct.getDataList()
         },
         // 当前页改变时触发 跳转其他页
         handleCurrentChange(val) {
            console.log(`当前页: ${val}`)
            this.currentPage = val
         },
         handleAddNew() {
            this.showAdd = true
         },
         // async getInspectionTableData() {
         //    const {
         //       data: {
         //          row,
         //          total
         //       }
         //    } = await this.$axios.get(this.$api.url.finishedInsListPage, {
         //       params: {
         //          ...this.pageParams,
         //          ...this.searchData
         //       }
         //    })
         //    this.inspectionTable = row
         //    this.pageParams.total = total
         // },
         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()
            }
         }
      }
   }