From 6d313a4a6f9f9d7ea65ec50ab0d4491e595edb97 Mon Sep 17 00:00:00 2001 From: admin <15939171744@163.com> Date: 星期二, 15 十月 2024 09:47:26 +0800 Subject: [PATCH] -打印bug修改 --- jcdm-ui/src/views/main/om/productionOrde/index.vue | 381 ++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 283 insertions(+), 98 deletions(-) diff --git a/jcdm-ui/src/views/main/om/productionOrde/index.vue b/jcdm-ui/src/views/main/om/productionOrde/index.vue index ade8ab0..618cb5d 100644 --- a/jcdm-ui/src/views/main/om/productionOrde/index.vue +++ b/jcdm-ui/src/views/main/om/productionOrde/index.vue @@ -10,24 +10,59 @@ @keyup.enter.native="handleQuery" /> </el-form-item> - <el-form-item label="浜у搧鍚嶇О" prop="productName"> + <el-form-item label="浜у搧缂栫爜" prop="productCode"> <el-input - v-model="queryParams.productName" - placeholder="璇疯緭鍏ヤ骇鍝佸悕绉�" + v-model="queryParams.productCode" + placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�" clearable @keyup.enter.native="handleQuery" /> </el-form-item> - <el-form-item label="宸ュ崟鐘舵��" prop="orderStatus"> - <el-select v-model="queryParams.orderStatus" placeholder="璇烽�夋嫨宸ュ崟鐘舵��" clearable> + <el-form-item label-width="80" label="PACK鐮�" prop="productNum"> + <el-input + v-model="queryParams.productNum" + placeholder="璇疯緭鍏ACK鐮�" + clearable + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="灏忚溅鐮�" prop="trolleyYard"> + <el-input + v-model="queryParams.trolleyYard" + placeholder="璇疯緭鍏ュ皬杞︾爜" + clearable + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label-width="1" label="涓婄嚎鎶ュ伐鐘舵��" prop="onlineCompletionMark"> + <el-select v-model="queryParams.onlineCompletionMark" placeholder="璇烽�夋嫨涓婄嚎鎶ュ伐鐘舵��" clearable> <el-option - v-for="dict in dict.type.order_state" + v-for="dict in dict.type.work_reporting_status" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> + <el-form-item label-width="1" label="涓嬬嚎鎶ュ伐鐘舵��" prop="sfResult"> + <el-select v-model="queryParams.sfResult" placeholder="璇烽�夋嫨涓嬬嚎鎶ュ伐鐘舵��" clearable> + <el-option + v-for="dict in dict.type.work_reporting_status" + :key="dict.value" + :label="dict.label" + :value="dict.value" + /> + </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> @@ -72,54 +107,54 @@ <el-card style="margin-top: 10px" class="box-card"> <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="mini" - @click="handleAdd" - v-hasPermi="['om:productionOrde:add']" - >鏂板</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="success" - plain - icon="el-icon-edit" - size="mini" - :disabled="single" - @click="handleUpdate" - v-hasPermi="['om:productionOrde:edit']" - >淇敼</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="info" - icon="el-icon-upload2" - size="mini" - @click="handleImport" - >瀵煎叆</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="warning" - plain - icon="el-icon-download" - size="mini" - @click="handleExport" - v-hasPermi="['om:productionOrde:export']" - >瀵煎嚭</el-button> - </el-col> +<!-- <el-col :span="1.5">--> +<!-- <el-button--> +<!-- type="primary"--> +<!-- plain--> +<!-- icon="el-icon-plus"--> +<!-- size="mini"--> +<!-- @click="handleAdd"--> +<!-- v-hasPermi="['om:productionOrde:add']"--> +<!-- >鏂板</el-button>--> +<!-- </el-col>--> +<!-- <el-col :span="1.5">--> +<!-- <el-button--> +<!-- type="success"--> +<!-- plain--> +<!-- icon="el-icon-edit"--> +<!-- size="mini"--> +<!-- :disabled="single"--> +<!-- @click="handleUpdate"--> +<!-- v-hasPermi="['om:productionOrde:edit']"--> +<!-- >淇敼</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="info"--> +<!-- icon="el-icon-upload2"--> +<!-- size="mini"--> +<!-- @click="handleImport"--> +<!-- >瀵煎叆</el-button>--> +<!-- </el-col>--> +<!-- <el-col :span="1.5">--> +<!-- <el-button--> +<!-- type="warning"--> +<!-- plain--> +<!-- icon="el-icon-download"--> +<!-- size="mini"--> +<!-- @click="handleExport"--> +<!-- v-hasPermi="['om:productionOrde:export']"--> +<!-- >瀵煎嚭</el-button>--> +<!-- </el-col>--> <el-col :span="1.5"> <el-button type="warning" @@ -129,55 +164,102 @@ @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="onlineSingle" + @click="onlineWorkReporting" + >涓婄嚎鎶ュ伐</el-button> + </el-col> + <el-col :span="1.5"> + <el-button + type="warning" + plain + icon="el-icon-download" + size="mini" + :disabled="offlineSingle" + @click="offlineWorkReporting" + >涓嬬嚎鎶ュ伐</el-button> + </el-col> +<!-- <el-col :span="1.5">--> +<!-- <el-button--> +<!-- type="warning"--> +<!-- plain--> +<!-- icon="el-icon-download"--> +<!-- size="mini"--> +<!-- :disabled="single"--> +<!-- @click="jieBang"--> +<!-- >瑙g粦</el-button>--> +<!-- </el-col>--> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> </el-row> <el-table border v-loading="loading" :data="productionOrdeList" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55" align="center" /> - <el-table-column label="鐢熶骇宸ュ崟鍙�" width="160" align="center"> - <template slot-scope="scope"> - <router-link :to="{path: '/main/workReport-data/index/', query: {workOrderNo: scope.row.workOrderNo} }" class="link-type"> - <span>{{ scope.row.workOrderNo }}</span> - </router-link> - </template> +<!-- <el-table-column label="鐢熶骇宸ュ崟鍙�" width="160" align="center">--> +<!-- <template slot-scope="scope">--> +<!-- <router-link :to="{path: '/main/workReport-data/index/', query: {workOrderNo: scope.row.workOrderNo} }" class="link-type">--> +<!-- <span>{{ scope.row.workOrderNo }}</span>--> +<!-- </router-link>--> +<!-- </template>--> +<!-- </el-table-column>--> + <el-table-column label="鐢熶骇宸ュ崟鍙�" width="160" align="center" prop="workOrderNo"> </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 label="浜у搧缂栧彿" width="110" align="center" prop="productCode"> + <el-table-column label="浜у搧鍨嬪彿" width="110" align="center" prop="productCode"> </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"> + <el-table-column label="涓婄嚎鏄惁鎶ュ伐" align="center" width="120"> <template slot-scope="scope"> - <dict-tag :options="dict.type.order_state" :value="scope.row.orderStatus"/> + <dict-tag :options="dict.type.work_reporting_status" :value="scope.row.onlineCompletionMark"/> </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="鎶ュ伐缁撴灉浠g爜" 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 label="涓嬬嚎鏄惁鎶ュ伐" width="120" align="center"> + <template slot-scope="scope"> + <dict-tag :options="dict.type.work_reporting_status" :value="scope.row.sfResult"/> + </template> </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 width="240" fixed="right" label="鎿嶄綔" align="center" class-name="small-padding fixed-width">--> +<!-- <template slot-scope="scope">--> +<!-- <el-button--> +<!-- size="mini"--> +<!-- type="success"--> +<!-- plain--> +<!-- style="width: 72px"--> +<!-- @click="onlineWorkReporting(scope.row)"--> +<!-- :disabled="isEditDisabled(scope.row.onlineCompletionMark)"--> +<!-- >涓婄嚎鎶ュ伐</el-button>--> +<!-- <el-button--> +<!-- size="mini"--> +<!-- plain--> +<!-- style="width: 72px"--> +<!-- type="danger"--> +<!-- @click="offlineWorkReporting(scope.row)"--> +<!-- :disabled="isEditDisabled(scope.row.sfResult)"--> +<!-- >涓嬬嚎鎶ュ伐</el-button>--> +<!-- </template>--> +<!-- </el-table-column>--> </el-table> </el-card> @@ -270,7 +352,7 @@ 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 { @@ -281,17 +363,20 @@ delProductionOrde, addProductionOrde, updateProductionOrde, - receivingWorkOrders + receivingWorkOrders, jieBang, workReportingByStation } from "@/api/main/om/productionOrde/productionOrde"; +import QRCode from "qrcodejs2"; export default { name: "ProductionOrde", - dicts: ['order_state'], + dicts: ['order_state','work_reporting_status'], components: { ItemSelect , }, data() { return { + // packCode: '0RSPB001139E3AE4X0000011', + packCode: 'test111', titleName: '', options: [], lineOptions: [], @@ -306,6 +391,8 @@ ids: [], // 闈炲崟涓鐢� single: true, + onlineSingle: true, + offlineSingle: true, // 闈炲涓鐢� multiple: true, move: true, @@ -383,12 +470,85 @@ this.getList(); this.initWorkshop(); }, + mounted() { + this.test1() + }, methods: { - getWorkOrders(){ - receivingWorkOrders().then(response => { - this.$modal.msgSuccess(response.msg); + onlineWorkReporting(row){ + const id = row.id || this.ids + const stationCode = "POP230" + workReportingByStation(id,stationCode).then(response => { this.getList() }); + }, + offlineWorkReporting(row){ + const id = row.id || this.ids + const stationCode = "POP430" + workReportingByStation(id,stationCode).then(response => { + this.getList() + }); + }, + jieBang(row){ + const id = row.id || this.ids + jieBang(id).then(response => { + this.getList() + this.$modal.msgSuccess("瑙g粦鎴愬姛"); + }); + }, + 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() { + // 鏈〉闈㈢洿鎺ユ墦鍗帮紙鏈塨ug鍗曞瞾鍏堜笉瑕佸垹锛� + // 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() { @@ -537,19 +697,44 @@ 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 + this.onlineSingle = selection.length!==1 + this.offlineSingle = selection.length!==1 + + if(selection.length === 0){ + this.onlineSingle = true + this.offlineSingle = true + } + if(selection.length === 1){ + if(selection[0].onlineCompletionMark === '2'){ + this.onlineSingle = false + }else { + this.onlineSingle = true + } + if(selection[0].sfResult === '2'){ + this.offlineSingle = false + }else { + this.offlineSingle = true } } - }, /** 鏂板鎸夐挳鎿嶄綔 */ handleAdd() { -- Gitblit v1.9.3