| | |
| | | <template> |
| | | <div class="content-main"> |
| | | <div v-if="!showAdd&&!showLook&&!showUp" class="rawPage"> |
| | | <!-- <div class="nav"> --> |
| | | <!-- <div class="title"> |
| | | <el-row> |
| | | <el-col :span="12">产品检验</el-col> |
| | | <el-col :span="12"> |
| | | <el-button @click="handleAddNew" type="primary" size="mini" icon="el-icon-plus" |
| | | style="background: #004EA2; ">新增</el-button> |
| | | <el-button icon="el-icon-delete" size="mini">删除</el-button> |
| | | <el-button icon="el-icon-download" size="mini">导出</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | </div> --> |
| | | <!-- <span>检测结果:</span> |
| | | <el-select v-model="searchData.result" size="small" placeholder="请选择" style="width: 224px;margin-right: 52px;"> |
| | | <el-option :value="''" label="全部"></el-option> |
| | | <el-option :value="1" label="合格"></el-option> |
| | | <el-option :value="0" label="不合格"></el-option> |
| | | </el-select> |
| | | <span>产品名称:</span> |
| | | <el-input v-model="searchData.material" size="small" placeholder="请输入产品名称" |
| | | style="width: 224px;margin-right: 52px;"></el-input> |
| | | <el-button size="mini" @click="()=>{searchData={};getInspectionTableData()}"><span>重 置</span></el-button> |
| | | <el-button size="mini" type="primary" @click="getInspectionTableData" style="background: #004EA2;"><span>查 |
| | | 询</span></el-button> --> |
| | | <!-- </div> --> |
| | | <div class="rawPage"> |
| | | <basic-container> |
| | | <ttable |
| | | :table="table" |
| | |
| | | <template #toolbar></template> |
| | | </ttable> |
| | | </basic-container> |
| | | <!-- <div class="content-body"> |
| | | <div class="inspectionTable"> |
| | | <el-table ref="inspectionTable" height="620" :cell-style="{textAlign: 'center'}" |
| | | :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}" |
| | | :data="inspectionTable" style="width: 100%"> |
| | | <el-table-column type="selection" width="50"> |
| | | </el-table-column> |
| | | <el-table-column prop="order_number" label="订单号" min-width="100" /> |
| | | <el-table-column prop="customer_name" label="客户名称" min-width="80" /> |
| | | <el-table-column prop="project_name" label="工程名称" min-width="80" /> |
| | | <el-table-column prop="quality_traceability" label="质量追溯号" min-width="108" /> |
| | | <el-table-column prop="material_code" label="产品编码" min-width="100" /> |
| | | <el-table-column prop="material" label="产品大类" min-width="72" /> |
| | | <el-table-column prop="specifications_model" label="规格型号" min-width="110" /> |
| | | <el-table-column prop="unit" label="单位" min-width="50" /> |
| | | <el-table-column prop="quantity" label="数量" min-width="50" /> |
| | | <el-table-column prop="detectionPeriod" label="检验日期" min-width="80" /> |
| | | <el-table-column prop="result" label="检测结果" min-width="80"> |
| | | <template slot-scope="scope"> |
| | | <span style="color: #34BD66;" v-if="scope.row.result === 1">合格</span> |
| | | <span style="color: #E84738;" v-else-if="scope.row.result === 0">不合格</span> |
| | | <span v-else-if="scope.row.result === null || scope.row.result === undefined">暂未结论</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="操作" min-width="80"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" size="small" @click="goToDetail(scope.row)">查看</el-button> |
| | | <el-button type="text" size="small">打印</el-button> |
| | | <el-button v-if="scope.row.result == null" type="text" size="small" |
| | | @click="goUp(scope.row)">编辑</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> --> |
| | | <!-- 分页器 --> |
| | | <!-- <div class="pagination"> |
| | | <el-pagination :current-page="pageParams.pageSize" :page-sizes="[10, 50, 100, 200]" |
| | | :page-size="pageParams.countSize" layout="total, sizes, prev, pager, next, jumper" :total="pageParams.total" |
| | | @size-change="handleSizeChange" @current-change="handleCurrentChange" /> |
| | | </div> --> |
| | | <!-- </div> --> |
| | | </div> |
| | | <div class="newPage" v-if="showAdd"> |
| | | <finishedProductInspectionAdd /> |
| | | </div> |
| | | <div class="newPage" v-if="showLook"> |
| | | <finishedProductInspectionLook :rowInfo="rowInfo" /> |
| | | </div> |
| | | <div class="newPage" v-if="showUp"> |
| | | <finishedProductInspectionUp :rowInfo="rowInfo" /> |
| | | <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', |
| | |
| | | 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', |
| | |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text', |
| | | }, |
| | | { |
| | | minWidth: '120', |
| | | prop: 'outBatchNo', |
| | | label: '批次号', |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | minWidth: '120', |
| | |
| | | }, |
| | | ], |
| | | toolbar: [ |
| | | { |
| | | /* { |
| | | text: '新增', |
| | | type: 'primary', |
| | | fun: ()=>this.showAdd=true |
| | | }, |
| | | { |
| | | text: '删除', |
| | | }, |
| | | fun: this.addOrUpdateHandle |
| | | }, */ |
| | | { |
| | | text: '导出', |
| | | type: 'primary', |
| | | fun: this.exportExcel |
| | | } |
| | | ], |
| | | operator: [{ |
| | | text: '打印', |
| | | type: 'text', |
| | | size: 'small', |
| | | fun: this.showPrint, |
| | | show: { |
| | | val: [ |
| | | '1', |
| | | '0' |
| | | ], |
| | | key: 'result' |
| | | } |
| | | },{ |
| | | text: '作废', |
| | | type: 'text', |
| | |
| | | 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, |
| | | }, |
| | | params: { |
| | | resultVal: row == null ? null : row.result |
| | | } |
| | | }) |
| | | }, |
| | | formatResult(row, column, cellValue){ |
| | | if(cellValue != undefined || cellValue != null){ |
| | | if(cellValue == 0){ |
| | |
| | | formatDateTime(row, column, cellValue) { |
| | | return cellValue ? fecha.format(new Date(cellValue), 'yyyy-MM-dd') : '' |
| | | }, |
| | | addOrUpdateHandle(row) { |
| | | this.$router.push({ |
| | | name: 'rawMaterialForm', |
| | | query: { id: row == null ? null : row.id } |
| | | }) |
| | | }, |
| | | 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() |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |