| | |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <div style="display: none"> |
| | | <div id="printMe" style="width: 500px;"> |
| | | <div ref="canvasWrapper" id="canvasWrapper" style="display: flex;justify-content: center;"></div> |
| | | <p style="font-size: 10px;word-break: break-all;display: flex;justify-content: center;">{{packCode}}</p> |
| | | </div> |
| | | <el-button @click="print">打印</el-button> |
| | | <el-button @click="test1">生成二维码</el-button> |
| | | </div> |
| | | <el-form-item style="float: right"> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
| | | <el-button type="warning" icon="el-icon-copy-document" size="mini" @click="advancedQuery">高级查询</el-button> |
| | |
| | | >修改</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="danger" |
| | | plain |
| | | icon="el-icon-delete" |
| | | size="mini" |
| | | :disabled="multiple" |
| | | @click="handleDelete" |
| | | v-hasPermi="['om:productionOrde:remove']" |
| | | >删除</el-button> |
| | | <!-- <el-button--> |
| | | <!-- type="danger"--> |
| | | <!-- plain--> |
| | | <!-- icon="el-icon-delete"--> |
| | | <!-- size="mini"--> |
| | | <!-- :disabled="multiple"--> |
| | | <!-- @click="handleDelete"--> |
| | | <!-- v-hasPermi="['om:productionOrde:remove']"--> |
| | | <!-- >删除</el-button>--> |
| | | <el-button |
| | | type="info" |
| | | icon="el-icon-upload2" |
| | |
| | | plain |
| | | icon="el-icon-download" |
| | | size="mini" |
| | | @click="receivingWorkOrders" |
| | | @click="getWorkOrders" |
| | | >接收</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="warning" |
| | | plain |
| | | icon="el-icon-download" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="patchwork" |
| | | >补打</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="warning" |
| | | plain |
| | | icon="el-icon-download" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="jieBang" |
| | | >解绑</el-button> |
| | | </el-col> |
| | | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
| | | </el-row> |
| | |
| | | </el-table-column> |
| | | <!-- <el-table-column label="订单编号" width="140" align="center" prop="salesOrderCode">--> |
| | | <!-- </el-table-column>--> |
| | | <el-table-column :show-overflow-tooltip='true' label="pack码" width="160" align="center" prop="productNum"> |
| | | <el-table-column :show-overflow-tooltip='true' label="pack码" width="220" align="center" prop="productNum"> |
| | | </el-table-column> |
| | | <el-table-column :show-overflow-tooltip='true' label="小车码" width="160" align="center" prop="trolleyYard"> |
| | | </el-table-column> |
| | |
| | | </el-table-column> |
| | | <el-table-column label="产品名称" width="120" align="center" prop="productName"> |
| | | </el-table-column> |
| | | <el-table-column label="产品序列号" width="110" align="center" prop="productNum"> |
| | | </el-table-column> |
| | | <el-table-column label="产品型号" align="center" prop="productModel"> |
| | | </el-table-column> |
| | | <el-table-column label="工单状态" width="100" align="center" prop="orderStatus"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.order_state" :value="scope.row.orderStatus"/> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column label="工单状态" width="100" align="center" prop="orderStatus">--> |
| | | <!-- <template slot-scope="scope">--> |
| | | <!-- <dict-tag :options="dict.type.order_state" :value="scope.row.orderStatus"/>--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column label="工厂编号" align="center" prop="siteCode">--> |
| | | <!-- </el-table-column>--> |
| | | <el-table-column label="工站编号" align="center" prop="stationCode"> |
| | | </el-table-column> |
| | | <el-table-column label="报工信息结果" width="110" align="center" prop="resultText"> |
| | | </el-table-column> |
| | | <el-table-column label="报工结果代码" width="110" align="center" prop="resultCode"> |
| | | </el-table-column> |
| | | <el-table-column label="是否报工" width="80" align="center" prop="sfResult"> |
| | | </el-table-column> |
| | | <el-table-column label="实际开始时间" width="160" align="center" prop="actualStartTime"> |
| | | </el-table-column> |
| | | <el-table-column label="当前站点报工时间" width="160" align="center" prop="actualEndTime"> |
| | | </el-table-column> |
| | | <el-table-column label="创建人" width="80" align="center" prop="createUser"> |
| | | </el-table-column> |
| | | <el-table-column label="备注" width="100" align="center" prop="remarks"> |
| | | </el-table-column> |
| | | <!-- <el-table-column label="报工信息结果" width="110" align="center" prop="resultText">--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column label="报工结果代码" width="110" align="center" prop="resultCode">--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column label="是否报工" width="80" align="center" prop="sfResult">--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column label="实际开始时间" width="160" align="center" prop="actualStartTime">--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column label="当前站点报工时间" width="160" align="center" prop="actualEndTime">--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column label="创建人" width="80" align="center" prop="createUser">--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column label="备注" width="100" align="center" prop="remarks">--> |
| | | <!-- </el-table-column>--> |
| | | </el-table> |
| | | </el-card> |
| | | |
| | |
| | | import { getToken } from "@/utils/auth"; |
| | | import { listLineInfo } from "@/api/main/bs/lineInfo/lineInfo"; |
| | | import { listWorkshop } from "@/api/main/bs/workshop/workshop"; |
| | | import { listProductBom } from "@/api/main/bs/ProductBom/ProductBom"; |
| | | import {getProductBom, listProductBom} from "@/api/main/bs/ProductBom/ProductBom"; |
| | | import { listTechnologyRoute} from "@/api/main/bs/technologyRoute/technologyRoute"; |
| | | import ItemSelect from "@/components/itemSelect/single.vue"; |
| | | import { importTemplate, upDownMove, listProductionOrde, getProductionOrde, delProductionOrde, addProductionOrde, updateProductionOrde } from "@/api/main/om/productionOrde/productionOrde"; |
| | | import { |
| | | importTemplate, |
| | | upDownMove, |
| | | listProductionOrde, |
| | | getProductionOrde, |
| | | delProductionOrde, |
| | | addProductionOrde, |
| | | updateProductionOrde, |
| | | receivingWorkOrders, jieBang |
| | | } from "@/api/main/om/productionOrde/productionOrde"; |
| | | import QRCode from "qrcodejs2"; |
| | | |
| | | export default { |
| | | name: "ProductionOrde", |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | // packCode: '0RSPB001139E3AE4X0000011', |
| | | packCode: 'test111', |
| | | titleName: '', |
| | | options: [], |
| | | lineOptions: [], |
| | |
| | | this.getList(); |
| | | this.initWorkshop(); |
| | | }, |
| | | mounted() { |
| | | this.test1() |
| | | }, |
| | | methods: { |
| | | receivingWorkOrders(){ |
| | | jieBang(row){ |
| | | const id = row.id || this.ids |
| | | jieBang(id).then(response => { |
| | | this.getList() |
| | | this.$modal.msgSuccess("解绑成功"); |
| | | }); |
| | | }, |
| | | patchwork(row){ |
| | | const id = row.id || this.ids |
| | | getProductionOrde(id).then(response => { |
| | | console.log(response.data) |
| | | this.packCode = response.data.productNum |
| | | console.log(this.packCode) |
| | | this.test1() |
| | | setTimeout(() => { |
| | | this.print() |
| | | },50) |
| | | }); |
| | | }, |
| | | async getWorkOrders(){ |
| | | await receivingWorkOrders().then(response => { |
| | | this.getList() |
| | | this.packCode = response.msg; |
| | | this.test1() |
| | | }); |
| | | setTimeout(() => { |
| | | this.print() |
| | | },50) |
| | | }, |
| | | print() { |
| | | // 本页面直接打印(有bug单岁先不要删) |
| | | // let oldStr = window.document.body.innerHTML; |
| | | // let newStr = document.getElementById('printMe').innerHTML; |
| | | // document.body.innerHTML = newStr; |
| | | // window.print(); |
| | | // document.body.innerHTML = oldStr; |
| | | // return false; |
| | | |
| | | // 新开页面打印 |
| | | // document.getElementById('canvasWrapper').innerHTML = ''; |
| | | let newStr = document.getElementById('printMe').innerHTML; |
| | | let newWin = window.open('', '_blank'); |
| | | newWin.document.body.innerHTML = newStr; |
| | | newWin.print(); |
| | | return false; |
| | | }, |
| | | test1(){ |
| | | document.getElementById('canvasWrapper').innerHTML = '' |
| | | this.$nextTick(() => { |
| | | let qrCode = new QRCode('canvasWrapper',{ |
| | | width: 80, |
| | | height: 80, |
| | | padding: 0, |
| | | margin: 0, |
| | | text: this.packCode, |
| | | colorDark: '#000', |
| | | colorLight: '#fff' |
| | | }) |
| | | }) |
| | | // console.log(this.packCode) |
| | | // this.print() |
| | | }, |
| | | /** 导入按钮操作 */ |
| | | handleImport() { |
| | |
| | | this.handleQuery(); |
| | | }, |
| | | // 多选框选中数据 |
| | | // handleSelectionChange(selection) { |
| | | // this.ids = selection.map(item => item.id) |
| | | // this.move = selection.length!==1 |
| | | // if(!selection.length){ |
| | | // this.single = true |
| | | // this.multiple = true |
| | | // }else { |
| | | // if(selection[0].orderStatus === '1' && selection.length === 1){ |
| | | // this.single = false |
| | | // this.multiple = false |
| | | // } |
| | | // } |
| | | // |
| | | // }, |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | | this.ids = selection.map(item => item.id) |
| | | this.move = selection.length!==1 |
| | | if(!selection.length){ |
| | | this.single = true |
| | | this.multiple = true |
| | | }else { |
| | | if(selection[0].orderStatus === '1' && selection.length === 1){ |
| | | this.single = false |
| | | this.multiple = false |
| | | } |
| | | } |
| | | |
| | | this.single = selection.length!==1 |
| | | this.multiple = !selection.length |
| | | }, |
| | | /** 新增按钮操作 */ |
| | | handleAdd() { |