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 | 644 +++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 395 insertions(+), 249 deletions(-) diff --git a/jcdm-ui/src/views/main/om/productionOrde/index.vue b/jcdm-ui/src/views/main/om/productionOrde/index.vue index 5c5df66..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> @@ -38,7 +73,7 @@ <el-form-item style="margin-left: 14px" label="浜у搧缂栧彿" prop="productCode"> <el-input v-model="queryParams.productCode" - placeholder="璇疯緭鍏ヤ骇鍝佺紪鍙�" + placeholder="璇疯緭鍏ヤ骇鍝佸簭鍒楀彿" clearable @keyup.enter.native="handleQuery" /> @@ -51,43 +86,18 @@ @keyup.enter.native="handleQuery" /> </el-form-item> - <el-form-item label="杞﹂棿缂栧彿" prop="workshopCode"> + <el-form-item label="宸ュ巶缂栧彿" prop="siteCode"> <el-input - v-model="queryParams.workshopCode" - placeholder="璇疯緭鍏ヨ溅闂寸紪鍙�" + v-model="queryParams.siteCode" + placeholder="璇疯緭鍏ュ伐鍘傜紪鍙�" clearable @keyup.enter.native="handleQuery" /> </el-form-item> - <el-form-item label="浜х嚎缂栧彿" prop="lineCode"> + <el-form-item label="宸ョ珯缂栧彿" prop="stationCode"> <el-input - v-model="queryParams.lineCode" - placeholder="璇疯緭鍏ヤ骇绾跨紪鍙�" - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item style="margin-left: 7px" label-width="80" label="浜у搧BOM" prop="bomCode"> - <el-input - v-model="queryParams.bomCode" - placeholder="璇疯緭鍏ヤ骇鍝丅OM" - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="宸ヨ壓娴佺▼" prop="routeCode"> - <el-input - v-model="queryParams.routeCode" - placeholder="璇疯緭鍏ュ伐鑹烘祦绋�" - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> - - <el-form-item label="宸ヨ壓閰嶆柟" prop="recipeCode"> - <el-input - v-model="queryParams.recipeCode" - placeholder="璇疯緭鍏ュ伐鑹洪厤鏂�" + v-model="queryParams.stationCode" + placeholder="璇疯緭鍏ュ伐绔欑紪鍙�" clearable @keyup.enter.native="handleQuery" /> @@ -97,37 +107,72 @@ <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" + type="warning" plain - icon="el-icon-plus" + icon="el-icon-download" size="mini" - @click="handleAdd" - v-hasPermi="['om:productionOrde:add']" - >鏂板</el-button> + @click="getWorkOrders" + >鎺ユ敹</el-button> </el-col> <el-col :span="1.5"> <el-button - type="success" + type="warning" plain - icon="el-icon-edit" + icon="el-icon-download" 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> + @click="patchwork" + >琛ユ墦</el-button> </el-col> <el-col :span="1.5"> <el-button @@ -135,19 +180,9 @@ 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" - plain - icon="el-icon-upload2" - :disabled="move" - size="mini" - @click="moveUp(val => val, 'up')" - >涓婄Щ</el-button> + :disabled="onlineSingle" + @click="onlineWorkReporting" + >涓婄嚎鎶ュ伐</el-button> </el-col> <el-col :span="1.5"> <el-button @@ -155,103 +190,76 @@ plain icon="el-icon-download" size="mini" - :disabled="move" - @click="moveUp(val => val, 'down')" - >涓嬬Щ</el-button> + :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"> +<!-- <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="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> + <el-table-column label="浜у搧鍚嶇О" width="120" align="center" prop="productName"> + </el-table-column> + <el-table-column label="涓婄嚎鏄惁鎶ュ伐" align="center" width="120"> <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> + <dict-tag :options="dict.type.work_reporting_status" :value="scope.row.onlineCompletionMark"/> </template> - </el-table-column> - <el-table-column label="璁㈠崟缂栧彿" width="140" align="center" prop="salesOrderCode"> - </el-table-column> - <el-table-column label="浜у搧缂栧彿" width="140" align="center" prop="productCode"> - </el-table-column> - <el-table-column label="浜у搧鍚嶇О" width="160" align="center" prop="productName"> - </el-table-column> - <el-table-column label="宸ュ崟鐘舵��" 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="workshopCode"> - </el-table-column> - <el-table-column label="浜х嚎缂栧彿" align="center" prop="lineCode"> - </el-table-column> - <el-table-column label="宸ヨ壓娴佺▼" width="140" align="center" prop="routeCode"> - </el-table-column> - <el-table-column label="浜у搧BOM" width="140" align="center" prop="bomCode"> - </el-table-column> - <el-table-column label="宸ヨ壓閰嶆柟" width="140" align="center" prop="recipeCode"> - </el-table-column> - <el-table-column label="璁″垝鏁伴噺" align="center" prop="planQty"> - </el-table-column> - <el-table-column label="瀹為檯鏁伴噺" align="center" prop="actualQty"> - </el-table-column> - <el-table-column label="瀹為檯涓婄嚎鏁伴噺" width="100" align="center" prop="actualOnlineQty"> - </el-table-column> - <el-table-column label="闇�姹傛棩鏈�" align="center" prop="demandDate" width="180"> - </el-table-column> - <el-table-column label="璁″垝寮�濮嬫椂闂�" width="160" align="center" prop="planStartTime"> - </el-table-column> - <el-table-column label="璁″垝缁撴潫鏃堕棿" width="160" align="center" prop="planEndTime"> </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 width="160" label="鍒涘缓鏃堕棿" align="center" prop="createTime"> - </el-table-column> - <el-table-column width="160" label="鏇存柊鏃堕棿" align="center" prop="updateTime"> - </el-table-column> - <el-table-column label="鍒涘缓浜�" width="80" align="center" prop="createUser"> - </el-table-column> - <el-table-column label="淇敼浜�" width="80" align="center" prop="updateUser"> - </el-table-column> - <el-table-column label="澶囨敞" width="100" align="center" prop="remarks"> - </el-table-column> - <el-table-column label="娴佹按鍙�" align="center" prop="streamNumber"> - </el-table-column> - <el-table-column label="瀹㈡埛" width="80" align="center" prop="custom"> - </el-table-column> - <el-table-column fixed="right" width="350" label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> + <el-table-column label="涓嬬嚎鏄惁鎶ュ伐" width="120" align="center"> <template slot-scope="scope"> - <!-- 宸ュ崟鐘舵�侊紙1鍒涘缓銆�2宸插彂甯冦��3鐢熶骇涓��4宸插喕缁撱��5宸插畬宸ャ��6宸插叧闂級 --> - <el-button type="success" :disabled="scope.row.orderStatus !== '1'" style="width: 72px" plain @click="handleCommand('3',scope.row.id)" size="mini">寮�濮�</el-button> - <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '2' && scope.row.orderStatus !== '3'" v-if="scope.row.orderStatus !== '2'&& scope.row.orderStatus !== '4'" plain @click="handleCommand('4',scope.row.id)" type="warning" size="mini">鍐荤粨</el-button> - <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '4'" v-if="scope.row.orderStatus === '4'" plain @click="handleCommand('3',scope.row.id)" type="warning" size="mini">瑙e喕</el-button> - <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '1'" plain @click="handleCommand('6',scope.row.id)" v-if="scope.row.orderStatus === '1'||scope.row.orderStatus === '3'||scope.row.orderStatus === '4'||scope.row.orderStatus === '5'" type="danger" size="mini">鍏抽棴</el-button> - <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '6'" plain @click="handleCommand('1',scope.row.id)" v-if="scope.row.orderStatus === '6' " type="success" size="mini">鍚敤</el-button> -<!-- <el-button--> -<!-- :disabled="scope.row.orderStatus !== '1'"--> -<!-- size="mini"--> -<!-- type="success"--> -<!-- style="width: 72px"--> -<!-- icon="el-icon-edit"--> -<!-- @click="handleUpdate(scope.row)"--> -<!-- v-hasPermi="['om:productionOrde:edit']"--> -<!-- >淇敼</el-button>--> -<!-- <el-button--> -<!-- :disabled="scope.row.orderStatus !== '1'"--> -<!-- size="mini"--> -<!-- type="warning"--> -<!-- style="width: 72px"--> -<!-- icon="el-icon-delete"--> -<!-- @click="handleDelete(scope.row)"--> -<!-- v-hasPermi="['om:productionOrde:remove']"--> -<!-- >鍒犻櫎</el-button>--> - <el-button style="width: 72px" :disabled="scope.row.orderStatus === '4'||scope.row.orderStatus === '6'" v-if="scope.row.orderStatus !== '5'" @click="handleCommand('5',scope.row.id)" type="success" size="mini">瀹屾垚</el-button> - <el-button style="width: 72px" :disabled="scope.row.orderStatus === '5'" v-if="scope.row.orderStatus === '5'" type="success" size="mini">宸插畬宸�</el-button> <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '6'" plain @click="handleCommand('1',scope.row.id)" v-if="scope.row.orderStatus === '6' " type="success" size="mini">鍚敤</el-button> + <dict-tag :options="dict.type.work_reporting_status" :value="scope.row.sfResult"/> </template> </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> @@ -265,93 +273,40 @@ /> <!-- 娣诲姞鎴栦慨鏀圭敓浜у伐鍗曞璇濇 --> - <el-dialog v-dialogpop-up :title="title" :visible.sync="open" width="1000px" append-to-body> + <el-dialog v-dialogpop-up :title="title" :visible.sync="open" width="500px" append-to-body> <span slot="title"> <i class="el-icon-s-order"></i> {{titleName}} </span> - <el-form ref="form" inline :model="form" :rules="rules" label-width="80px"> - <el-form-item label="宸ュ崟鍙�" prop="workOrderNo"> - <el-input v-model="form.workOrderNo" placeholder="璇疯緭鍏ョ敓浜у伐鍗曞彿" /> + <el-form ref="form" inline :model="form" :rules="rules" label-width="100px"> + <el-form-item label="鐢熶骇宸ュ崟鍙�" prop="workOrderNo"> + <el-input style="width: 265px" v-model="form.workOrderNo" placeholder="璇疯緭鍏ョ敓浜у伐鍗曞彿" /> </el-form-item> <el-form-item label="璁㈠崟缂栧彿" prop="salesOrderCode"> - <el-input v-model="form.salesOrderCode" placeholder="璇疯緭鍏ヨ鍗曠紪鍙�" /> + <el-input style="width: 265px" v-model="form.salesOrderCode" placeholder="璇疯緭鍏ヨ鍗曠紪鍙�" /> </el-form-item> - <el-form-item label="浜у搧缂栧彿" prop="productCode"> + <el-form-item label="浜у搧搴忓垪鍙�" prop="productNum"> <el-input v-model="form.productCode" placeholder="璇烽�夋嫨浜у搧" > <el-button slot="append" @click="handleSelectProduct" icon="el-icon-search"></el-button> </el-input> <ItemSelect ref="itemSelect" @onSelected="onItemSelected" > </ItemSelect> </el-form-item> <el-form-item label="浜у搧鍚嶇О" prop="productName"> - <el-input v-model="form.productName" disabled placeholder="璇疯緭鍏ヤ骇鍝佸悕绉�" /> + <el-input style="width: 265px" v-model="form.productName" disabled placeholder="璇疯緭鍏ヤ骇鍝佸悕绉�" /> </el-form-item> - <el-form-item label="杞﹂棿缂栧彿" prop="workshopCode"> - <el-select style="width: 93%" @change="handleSelectChange(form.workshopCode)" v-model="form.workshopCode" placeholder="璇烽�夋嫨杞﹂棿缂栧彿"> - <el-option - v-for="item in options" - :key="item.workshopCode" - :label="item.workshopName" - :value="item.workshopCode"> - </el-option> - </el-select> + <el-form-item label="浜у搧鍨嬪彿" prop="productModel"> + <el-input v-model="form.productModel" placeholder="璇疯緭鍏ヤ骇鍝佸瀷鍙�" /> </el-form-item> - <el-form-item style="margin-left: -15px" label="浜х嚎缂栧彿" prop="lineCode"> - <el-select style="width: 93%" v-model="form.lineCode" placeholder="璇烽�夋嫨浜х嚎缂栧彿"> - <el-option - v-for="item in lineOptions" - :key="item.lineCode" - :label="item.lineName" - :value="item.lineCode"> - </el-option> - </el-select> + <el-form-item label="宸ュ巶缂栧彿" prop="siteCode"> + <el-input style="width: 265px" v-model="form.siteCode" placeholder="璇疯緭鍏ュ伐鍘傜紪鍙�" /> </el-form-item> - <el-form-item label="宸ヨ壓娴佺▼" prop="routeCode"> - <el-input v-model="form.routeCode" disabled placeholder="璇疯緭鍏ュ伐鑹烘祦绋�" /> + <el-form-item label="宸ョ珯缂栧彿" prop="stationCode"> + <el-input style="width: 265px"v-model="form.stationCode" placeholder="璇疯緭鍏ュ伐绔欑紪鍙�" /> </el-form-item> - <el-form-item label="浜у搧BOM" prop="bomCode"> - <el-input v-model="form.bomCode" disabled placeholder="璇疯緭鍏ヤ骇鍝丅OM" /> + <el-form-item label="澶囨敞" prop="remarks"> + <el-input style="width: 265px" v-model="form.remarks" placeholder="璇疯緭鍏ュ娉�" /> </el-form-item> - <el-form-item label="宸ヨ壓閰嶆柟" prop="recipeCode"> - <el-input v-model="form.recipeCode" placeholder="璇疯緭鍏ュ伐鑹洪厤鏂�" /> - </el-form-item> - <el-form-item label="璁″垝鏁伴噺" prop="planQty"> - <el-input v-model="form.planQty" placeholder="璇疯緭鍏ヨ鍒掓暟閲�" /> - </el-form-item> - <el-form-item label="闇�姹傛棩鏈�" prop="demandDate"> - <el-date-picker style="width: 88%" clearable - v-model="form.demandDate" - type="date" - value-format="yyyy-MM-dd" - placeholder="璇烽�夋嫨闇�姹傛棩鏈�"> - </el-date-picker> - </el-form-item> - <el-form-item style="margin-left: -30px" label="澶囨敞" prop="remarks"> - <el-input v-model="form.remarks" placeholder="璇疯緭鍏ュ娉�" /> - </el-form-item> - <el-row> - <el-col :span="12"> - <el-form-item style="margin-left: 10px" label-width="120" label="璁″垝寮�濮嬫椂闂�" prop="planStartTime"> - <el-date-picker clearable - v-model="form.planStartTime" - type="date" - value-format="yyyy-MM-dd" - placeholder="璇烽�夋嫨璁″垝寮�濮嬫椂闂�"> - </el-date-picker> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item style="margin-left: 76px" label-width="120" label="璁″垝缁撴潫鏃堕棿" prop="planEndTime"> - <el-date-picker clearable - v-model="form.planEndTime" - type="date" - value-format="yyyy-MM-dd" - placeholder="璇烽�夋嫨璁″垝缁撴潫鏃堕棿"> - </el-date-picker> - </el-form-item> - </el-col> - </el-row> </el-form> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> @@ -359,25 +314,69 @@ </div> </el-dialog> + <!-- 鐢ㄦ埛瀵煎叆瀵硅瘽妗� --> + <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px"> + <el-upload + ref="upload" + :limit="1" + accept=".xlsx, .xls" + :headers="upload.headers" + :action="upload.url + '?updateSupport=' + upload.updateSupport" + :disabled="upload.isUploading" + :on-progress="handleFileUploadProgress" + :on-success="handleFileSuccess" + :auto-upload="false" + drag + > + <i class="el-icon-upload"></i> + <div class="el-upload__text"> + 灏嗘枃浠舵嫋鍒版澶勶紝鎴� + <em>鐐瑰嚮涓婁紶</em> + </div> + <div class="el-upload__tip" slot="tip"> + <el-checkbox v-model="upload.updateSupport" />鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹� + <el-link type="info" style="font-size:12px" @click="importTemplate">涓嬭浇妯℃澘</el-link> + </div> + <div class="el-upload__tip" style="color:red" slot="tip">鎻愮ず锛氫粎鍏佽瀵煎叆鈥渪ls鈥濇垨鈥渪lsx鈥濇牸寮忔枃浠讹紒</div> + </el-upload> + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitFileForm">纭� 瀹�</el-button> + <el-button @click="upload.open = false">鍙� 娑�</el-button> + </div> + </el-dialog> + </div> </template> <script> +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 { upDownMove, listProductionOrde, getProductionOrde, delProductionOrde, addProductionOrde, updateProductionOrde } from "@/api/main/om/productionOrde/productionOrde"; +import { + importTemplate, + upDownMove, + listProductionOrde, + getProductionOrde, + delProductionOrde, + addProductionOrde, + updateProductionOrde, + 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: [], @@ -392,6 +391,8 @@ ids: [], // 闈炲崟涓鐢� single: true, + onlineSingle: true, + offlineSingle: true, // 闈炲涓鐢� multiple: true, move: true, @@ -427,6 +428,13 @@ frontEndId: 0, idNums: null, flag: null, + siteCode: null, + productNum: null, + stationCode: null, + resultText: null, + resultCode: null, + sfResult: null, + productModel: null }, // 琛ㄥ崟鍙傛暟 @@ -440,26 +448,133 @@ id: [ { required: true, message: "ID涓嶈兘涓虹┖", trigger: "blur" } ], - } + }, + // 鐢ㄦ埛瀵煎叆鍙傛暟 + upload: { + // 鏄惁鏄剧ず寮瑰嚭灞傦紙鐢ㄦ埛瀵煎叆锛� + open: false, + // 寮瑰嚭灞傛爣棰橈紙鐢ㄦ埛瀵煎叆锛� + title: "", + // 鏄惁绂佺敤涓婁紶 + isUploading: false, + // 鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹� + updateSupport: 0, + // 璁剧疆涓婁紶鐨勮姹傚ご閮� + headers: { Authorization: "Bearer " + getToken() }, + // 涓婁紶鐨勫湴鍧� + url: process.env.VUE_APP_BASE_API + "/om/productionOrde/importData" + }, }; }, created() { this.getList(); this.initWorkshop(); }, + mounted() { + this.test1() + }, methods: { - moveUp(row, val){ - console.log(val) - const ids = row.id || this.ids - let str = JSON.stringify(ids); - let num = BigInt(str.replace(/[\[\]]/g, '')); - this.queryParams.frontEndId = num - this.queryParams.idNums = ids - this.queryParams.flag = val - upDownMove(this.queryParams).then(response => { - this.$modal.msgSuccess("绉诲姩鎴愬姛"); - this.getList(); + 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() { + this.upload.title = "璁㈠崟淇℃伅瀵煎叆"; + this.upload.open = true; + }, + /** 涓嬭浇妯℃澘鎿嶄綔 */ + importTemplate() { + this.download('om/productionOrde/importTemplate', { + }, `productionOrde_template_${new Date().getTime()}.xlsx`) + }, +// 鏂囦欢涓婁紶涓鐞� + handleFileUploadProgress(event, file, fileList) { + this.upload.isUploading = true; + }, +// 鏂囦欢涓婁紶鎴愬姛澶勭悊 + handleFileSuccess(response, file, fileList) { + this.upload.open = false; + this.upload.isUploading = false; + this.$refs.upload.clearFiles(); + this.$alert(response.msg, "瀵煎叆缁撴灉", { dangerouslyUseHTMLString: true }); + this.getList(); + }, +// 鎻愪氦涓婁紶鏂囦欢 + submitFileForm() { + this.$refs.upload.submit(); }, initWorkshop(){ listWorkshop(this.queryParams).then(response => { @@ -558,10 +673,16 @@ marketAreaCode: null, softwareVersionCode: null, productCompanyCode: null, - spareField1: null, + trolleyYard: null, spareField2: null, spareField3: null, - spareField4: null + spareField4: null, + siteCode: null, + productNum: null, + stationCode: null, + resultText: null, + resultCode: null, + sfResult: null }; this.resetForm("form"); }, @@ -576,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