From d20654ba067e5c0621d4d7d95915cbe47a10fe87 Mon Sep 17 00:00:00 2001
From: 小小儁爺 <1694218219@qq.com>
Date: 星期四, 08 八月 2024 17:23:48 +0800
Subject: [PATCH] 1.正清和 增加页面缓存处理
---
src/views/produceManager/produceStartOrder.vue | 1123 ++++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 738 insertions(+), 385 deletions(-)
diff --git a/src/views/produceManager/produceStartOrder.vue b/src/views/produceManager/produceStartOrder.vue
index b552629..05a3994 100644
--- a/src/views/produceManager/produceStartOrder.vue
+++ b/src/views/produceManager/produceStartOrder.vue
@@ -5,28 +5,76 @@
<el-tab-pane label="鐢熶骇鍒楄〃">
<div style="margin-left: 10px;margin-top:10px;display: flex;justify-content: space-between">
<div style="display: flex;align-items: center">
- <div style="width: 90px">鎵弿鏉$爜锛�</div>
+ <div style="width: 70px">鎵弿鏉$爜</div>
<!-- oninput="value=value.replace(/[^0-9a-zA-Z;_]/g,'')"-->
<el-input
id="keyWords"
- v-model="form.orderstepqrcode"
+ v-model="form.wocode"
name="produceCode"
- style="width: 300px"
+ placeholder="璇锋壂鐮佹垨杈撳叆宸ュ崟鍙�"
+ style="width: 260px"
@keyup.enter.native="val=>enterNative(val,'produceCode')"
/>
- <!-- @keyup.native="e=>judgeIsScanning(e,'produceCode')"-->
+ <!-- <div style="width: 90px;margin-left: 20px">鐢熶骇璁惧锛�</div>-->
+ <!-- <el-select-->
+ <!-- v-model="form.SelectType"-->
+ <!-- style="width: 200px;"-->
+ <!-- placeholder="璇烽�夋嫨"-->
+ <!-- @change="selectTypeChange"-->
+ <!-- >-->
+ <!-- <el-option-->
+ <!-- v-for="item in ZZeqpArr"-->
+ <!-- :key="item.code"-->
+ <!-- :label="item.name"-->
+ <!-- :value="item.code"-->
+ <!-- />-->
+ <!-- </el-select>-->
+
+ <div style="width: 70px;margin-left: 20px">閿�鍞崟鍙�</div>
+ <el-input
+ v-model="form.saleOrderCode"
+ placeholder="璇疯緭鍏�"
+ style="width: 180px"
+ @keyup.enter.native="val=>enterNative(val,'produceCode')"
+ />
+
+ <div style="width: 70px;margin-left: 20px">浜у搧缂栫爜</div>
+ <el-input
+ v-model="form.partcode"
+ placeholder="璇疯緭鍏�"
+ style="width: 180px"
+ @keyup.enter.native="val=>enterNative(val,'produceCode')"
+ />
+ <div style="width: 70px;margin-left: 20px">浜у搧鍚嶇О</div>
+ <el-input
+ v-model="form.partname"
+ placeholder="璇疯緭鍏�"
+ style="width:180px"
+ @keyup.enter.native="val=>enterNative(val,'produceCode')"
+ />
+ <!-- <div style="width: 70px;margin-left: 20px">瑙勬牸鍨嬪彿</div>-->
+ <!-- <el-input-->
+ <!-- v-model="form.partspec"-->
+ <!-- placeholder="璇疯緭鍏�"-->
+ <!-- style="width:180px"-->
+ <!-- @keyup.enter.native="val=>enterNative(val,'produceCode')"-->
+ <!-- />-->
</div>
- <div v-if="false" style="display: flex;padding-right: 10px">
- <el-button v-waves @click="ZZstart">
- <svg-icon icon-class="start_time" style="margin-right: 2px" />
- 寮�濮�
- </el-button>
- <el-button v-waves @click="ZZreport">
- <svg-icon icon-class="report_work" style="margin-right: 2px" />
- 鎶ュ伐
- </el-button>
+ <div style="display: flex;padding-right: 10px">
+ <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+ <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
</div>
+ <!-- <div v-if="false" style="display: flex;padding-right: 10px">-->
+ <!-- <el-button v-waves @click="ZZstart">-->
+ <!-- <svg-icon icon-class="start_time" style="margin-right: 2px" />-->
+ <!-- 寮�濮�-->
+ <!-- </el-button>-->
+ <!-- <el-button v-waves @click="ZZreport">-->
+ <!-- <svg-icon icon-class="report_work" style="margin-right: 2px" />-->
+ <!-- 鎶ュ伐-->
+ <!-- </el-button>-->
+ <!-- </div>-->
</div>
<el-divider />
<div class="elTableDiv">
@@ -63,6 +111,17 @@
<div v-if="row.status==='CLOSED'">瀹屽伐</div>
<div v-if="row.status==='NOSCHED'">寰呮帓绋�</div>
<div v-if="row.status==='SCHED'">宸叉帓绋�</div>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="saleOrderCode"
+ label="閿�鍞崟鍙�"
+ width="160"
+ show-tooltip-when-overflow
+ sortable="custom"
+ >
+ <template slot-scope="{row}">
+ {{ row.saleOrderCode?row.saleOrderCode:'/' }}
</template>
</el-table-column>
<el-table-column
@@ -112,13 +171,24 @@
show-tooltip-when-overflow
/>
<el-table-column
+ prop="start_qty"
+ label="宸插紑宸ユ暟閲�"
+ width="110"
+ show-tooltip-when-overflow
+ >
+ <template slot-scope="{row}">
+ {{ row.start_qty }}
+ </template>
+ </el-table-column>
+ <el-table-column
label="鏈姤宸ユ暟閲�"
width="120"
show-tooltip-when-overflow
>
<!-- sortable="custom"-->
<template slot-scope="{row}">
- <div>{{ row.plan_qty - row.good_qty - row.ng_qty }}</div>
+ <!-- <div>{{ row.plan_qty - row.good_qty - row.ng_qty }}</div>-->
+ <div>{{ row.start_qty - row.good_qty - row.ng_qty-row.bad_qty }}</div>
</template>
</el-table-column>
<el-table-column
@@ -160,25 +230,24 @@
width="150"
sortable="custom"
show-tooltip-when-overflow
- fixed="right"
>
<template slot-scope="{row}">
<div v-if="row.plan_startdate">{{ row.plan_startdate.substring(0, 11) }}</div>
<div v-else>/</div>
</template>
</el-table-column>
- <!-- <el-table-column-->
- <!-- label="鎿嶄綔"-->
- <!-- width="150"-->
- <!-- fixed="right"-->
- <!-- >-->
- <!-- <template slot-scope="{row}">-->
- <!-- <div class="operationClass">-->
- <!-- <el-button v-waves type="text" @click="edit('edit',row)">缂栬緫</el-button>-->
- <!-- <el-button v-waves type="text" @click="del(row)">鍒犻櫎</el-button>-->
- <!-- </div>-->
- <!-- </template>-->
- <!-- </el-table-column>-->
+ <el-table-column
+ label="鎿嶄綔"
+ width="150"
+ fixed="right"
+ >
+ <template slot-scope="{row}">
+ <div class="operationClass">
+ <el-button v-waves type="text" @click="ZZstart(row)">寮�宸�</el-button>
+ <el-button v-waves type="text" @click="ZZreport(row)">鎶ュ伐</el-button>
+ </div>
+ </template>
+ </el-table-column>
</el-table>
</div>
<!--鍒嗛〉-->
@@ -216,7 +285,6 @@
style="width: 300px"
@keyup.enter.native="val=>enterNative(val,'WXproduceCode')"
/>
- <!-- @keyup.native="e=>judgeIsScanning(e,'WXproduceCode')"-->
</div>
<div v-if="false" style="display: flex;padding-right: 10px">
@@ -263,6 +331,17 @@
<div v-if="row.status==='ALLO'">宸叉淳鍙�</div>
<div v-if="row.status==='START'">宸插彂鏂�</div>
<div v-if="row.status==='CLOSED'">宸叉敹鏂�</div>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="saleOrderCode"
+ label="閿�鍞崟鍙�"
+ width="160"
+ show-tooltip-when-overflow
+ sortable="custom"
+ >
+ <template slot-scope="{row}">
+ {{ row.saleOrderCode?row.saleOrderCode:'/' }}
</template>
</el-table-column>
<el-table-column
@@ -360,25 +439,24 @@
show-tooltip-when-overflow
width="150"
sortable="custom"
- fixed="right"
>
<template slot-scope="{row}">
<div v-if="row.plan_startdate">{{ row.plan_startdate.substring(0, 11) }}</div>
<div v-else>/</div>
</template>
</el-table-column>
- <!-- <el-table-column-->
- <!-- label="鎿嶄綔"-->
- <!-- width="150"-->
- <!-- fixed="right"-->
- <!-- >-->
- <!-- <template slot-scope="{row}">-->
- <!-- <div class="operationClass">-->
- <!-- <el-button v-waves type="text" @click="edit('edit',row)">缂栬緫</el-button>-->
- <!-- <el-button v-waves type="text" @click="del(row)">鍒犻櫎</el-button>-->
- <!-- </div>-->
- <!-- </template>-->
- <!-- </el-table-column>-->
+ <el-table-column
+ label="鎿嶄綔"
+ width="150"
+ fixed="right"
+ >
+ <template slot-scope="{row}">
+ <div class="operationClass">
+ <el-button v-if="WXSelected==='OUT'" v-waves type="text" @click="enterNative(WXform.orderstepqrcode=row.wo_code+';'+row.stepcode,'WXproduceCode')">鍙戞枡</el-button>
+ <el-button v-if="WXSelected==='IN'" v-waves type="text" @click="enterNative(WXform.orderstepqrcode=row.wo_code+';'+row.stepcode,'WXproduceCode')">鏀舵枡</el-button>
+ </div>
+ </template>
+ </el-table-column>
</el-table>
</div>
<!--鍒嗛〉-->
@@ -404,7 +482,6 @@
style="width: 300px"
@keyup.enter.native="val=>enterNative(val,'badProduceCode')"
/>
- <!-- @keyup.native="e=>judgeIsScanning(e,'badProduceCode')"-->
</div>
</div>
@@ -429,6 +506,17 @@
label="搴忓彿"
fixed
/>
+ <el-table-column
+ prop="saleOrderCode"
+ label="閿�鍞崟鍙�"
+ width="160"
+ show-tooltip-when-overflow
+ sortable="custom"
+ >
+ <template slot-scope="{row}">
+ {{ row.saleOrderCode?row.saleOrderCode:'/' }}
+ </template>
+ </el-table-column>
<el-table-column
show-tooltip-when-overflow
prop="wo_code"
@@ -520,7 +608,7 @@
:visible.sync="dialogVisible"
width="850px"
class="dialogVisible"
- :top="dialogTitle==='鑷埗鎶ュ伐'?'5vh':'15vh'"
+ :top="dialogTitle==='鑷埗鎶ュ伐'?'10vh':'15vh'"
:close-on-click-modal="false"
@close="handleClose"
@closed="handleClose"
@@ -532,6 +620,9 @@
:model="dialogForm"
label-width="110px"
>
+ <el-form-item label="閿�鍞崟鍙凤細" style="margin: 0 10px 0 0">
+ <div style="width: 200px">{{ dialogForm.saleOrderCode?dialogForm.saleOrderCode:'/' }}</div>
+ </el-form-item>
<el-form-item label="宸ュ崟缂栧彿锛�" style="margin: 0 10px 0 0">
<div style="width: 200px">{{ dialogForm.wo_code }}</div>
</el-form-item>
@@ -542,7 +633,7 @@
<div style="width: 200px">{{ dialogForm.partname }}</div>
</el-form-item>
<el-form-item label="浜у搧瑙勬牸锛�" style="margin: 0 10px 0 0">
- <div style="width: 200px">{{ dialogForm.partspec }}</div>
+ <div style="width: 200px">{{ dialogForm.partspec?dialogForm.partspec:'/' }}</div>
</el-form-item>
<el-form-item label="褰撳墠宸ュ簭锛�" style="margin: 0 10px 0 0">
<div style="width: 200px">{{ dialogForm.stepname }}</div>
@@ -572,27 +663,36 @@
</el-form-item>
<!--鑷埗寮�濮�-->
<el-form-item v-if="dialogTitle==='鑷埗寮�濮�'" label="寮�宸ユ暟閲忥細">
- <div style="width: 200px">{{ dialogForm.startqty }}</div>
- <!-- <div style="width: 200px">{{ dialogForm.noreportqty }}</div>-->
+ <!-- <div style="width: 200px">{{ dialogForm.startqty }}</div>-->
+ <el-input v-model="dialogForm.startqty" oninput="value=value.replace(/[^0-9]/g,'')" style="width: 200px;" />
</el-form-item>
- <el-form-item v-if="dialogTitle==='鑷埗寮�濮�'" prop="eqpcode" label="鐢熶骇璁惧锛�">
- <el-select
- v-model="dialogForm.eqpcode"
- style="width: 200px;"
- placeholder="璇烽�夋嫨"
- >
- <el-option
- v-for="item in ZZeqpArr"
- :key="item.code"
- :label="item.name"
- :value="item.code"
- />
- </el-select>
- </el-form-item>
+ <!-- <el-form-item v-if="dialogTitle==='鑷埗寮�濮�'" label="鐢熶骇璁惧锛�">-->
+ <!-- <div style="width: 200px">{{ form.SelectType? ZZeqpArr.find(i=>i.code===form.SelectType).name:'' }}</div>-->
+ <!-- <!– <el-select–>-->
+ <!-- <!– v-model="dialogForm.eqpcode"–>-->
+ <!-- <!– style="width: 200px;"–>-->
+ <!-- <!– placeholder="璇烽�夋嫨"–>-->
+ <!-- <!– >–>-->
+ <!-- <!– <el-option–>-->
+ <!-- <!– v-for="item in ZZeqpArr"–>-->
+ <!-- <!– :key="item.code"–>-->
+ <!-- <!– :label="item.name"–>-->
+ <!-- <!– :value="item.code"–>-->
+ <!-- <!– />–>-->
+ <!-- <!– </el-select>–>-->
+ <!-- </el-form-item>-->
<!-- 鑷埗鎶ュ伐 -->
<el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="涓嬮亾宸ュ簭锛�" style="margin: 0 10px 0 0">
<div style="width: 200px">{{ dialogForm.nextstepname }}</div>
</el-form-item>
+
+ <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="杞﹂棿鍚嶇О锛�">
+ <div style="width: 200px">{{ dialogForm.wkshopname }}</div>
+ </el-form-item>
+
+ <!-- <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="璁惧鍚嶇О锛�" style="margin: 0 10px 0 0">-->
+ <!-- <div style="width: 200px">{{ dialogForm.eqpname }}</div>-->
+ <!-- </el-form-item>-->
<el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" prop="reckway" label="璁′欢鏂瑰紡锛�">
@@ -634,44 +734,121 @@
</el-select>
</el-form-item>
- <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="璁惧鍚嶇О锛�" prop="eqpcode">
- <el-select
- v-model="dialogForm.eqpcode"
- style="width: 200px;"
- placeholder="璇烽�夋嫨"
- >
- <el-option
- v-for="item in ZZeqpArr"
- :key="item.code"
- :label="item.name"
- :value="item.code"
- />
- </el-select>
- </el-form-item>
+ <!-- <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="璁惧鍚嶇О锛�" prop="eqpcode">-->
+ <!-- <el-select-->
+ <!-- v-model="dialogForm.eqpcode"-->
+ <!-- style="width: 200px;"-->
+ <!-- placeholder="璇烽�夋嫨"-->
+ <!-- >-->
+ <!-- <el-option-->
+ <!-- v-for="item in ZZeqpArr"-->
+ <!-- :key="item.code"-->
+ <!-- :label="item.name"-->
+ <!-- :value="item.code"-->
+ <!-- />-->
+ <!-- </el-select>-->
+ <!-- </el-form-item>-->
<el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="鍚堟牸鏁伴噺锛�" prop="startqty">
- <el-input v-model="dialogForm.startqty" oninput="value=value.replace(/[^0-9.]/g,'')" style="width: 200px;" />
+ <el-input v-model="dialogForm.startqty" oninput="value=value.replace(/[^0-9]/g,'')" style="width: 200px;" />
<!-- <el-input v-model="dialogForm.noreportqty" oninput="value=value.replace(/[^0-9.]/g,'')" style="width: 200px;" />-->
</el-form-item>
+
<el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="涓嶈壇鏁伴噺锛�">
- <el-input v-model="dialogForm.noputqty" oninput="value=value.replace(/[^0-9.]/g,'')" style="width: 200px;" />
+ <!-- <el-input-->
+ <!-- v-model="dialogForm.noputqty"-->
+ <!-- readonly-->
+ <!-- oninput="value=value.replace(/[^0-9.]/g,'')"-->
+ <!-- style="width: 200px;"-->
+ <!-- />-->
+ <div style="width:200px">
+ {{ dialogForm.noputqty }}
+ </div>
+
</el-form-item>
- <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="涓嶈壇鍘熷洜锛�">
- <el-select
- v-model="dialogForm.badcode"
- style="width: 200px;"
- placeholder="璇烽�夋嫨"
- :disabled="parseFloat(dialogForm.noputqty)===0||dialogForm.noputqty.trim()===''"
- multiple
- collapse-tags
+
+ <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="澶囨敞锛�">
+ <el-input v-model="dialogForm.remarks" type="textarea" style="width: 520px;" />
+ </el-form-item>
+
+ <!-- <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="涓嶈壇鍘熷洜锛�">-->
+ <!-- <el-select-->
+ <!-- v-model="dialogForm.badcode"-->
+ <!-- style="width: 200px;"-->
+ <!-- placeholder="璇烽�夋嫨"-->
+ <!-- :disabled="parseFloat(dialogForm.noputqty)===0||dialogForm.noputqty.trim()===''"-->
+ <!-- multiple-->
+ <!-- collapse-tags-->
+ <!-- >-->
+ <!-- <el-option-->
+ <!-- v-for="item in badArr"-->
+ <!-- :key="item.code"-->
+ <!-- :label="item.name"-->
+ <!-- :value="item.code"-->
+ <!-- />-->
+ <!-- </el-select>-->
+ <!-- </el-form-item>-->
+
+ <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="涓嶈壇鏁伴噺锛�">
+ <el-input
+ v-model="badInput"
+ placeholder="璇疯緭鍏ユ暟閲�"
+ class="input-with-select"
+ style="width: 300px;"
+ oninput="value=value.replace(/[^0-9]/g,'')"
>
- <el-option
- v-for="item in badArr"
- :key="item.code"
- :label="item.name"
- :value="item.code"
+ <el-select
+ slot="prepend"
+ v-model="badSelected"
+ multiple
+ placeholder="璇烽�夋嫨"
+ clearable
+ style="width: 150px"
+ collapse-tags
+ >
+ <el-option
+ v-for="item in badArr"
+ :key="item.code"
+ :label="item.name"
+ :value="item.code"
+ />
+ </el-select>
+ <el-button
+ slot="append"
+ icon="el-icon-plus"
+ @click="plusClick"
/>
- </el-select>
+ </el-input>
</el-form-item>
+
+ <div
+ v-for="(item,index) in BADNAME"
+ v-if="dialogTitle==='鑷埗鎶ュ伐'"
+ :key="item+index"
+ style="margin-left: 25px;display: flex; line-height: 24px;"
+ >
+ <div
+ style="
+ width: 22px;height: 22px;background: #42b983;
+ display: flex;
+ justify-content: center;
+ align-content: center;
+ color: #fff;
+ line-height: 22px;
+ border-radius: 50%;
+ "
+ >{{ index+1 }}</div>
+ <div style="margin: 0 20px">{{ item.name }}</div>
+ <div>{{ item.badqty }}</div>
+ <div style="margin-left: 20px">
+ <i
+ class="el-icon-delete"
+ style="color:#42b983;cursor: pointer"
+ @click="deleteClick(item,index)"
+ />
+ </div>
+
+ </div>
+
<!-- <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="鎶ュ伐浜哄憳锛�">-->
<!-- <el-input v-model="dialogForm.remarks" type="textarea" style="width: 200px;" />-->
<!-- </el-form-item>-->
@@ -690,9 +867,7 @@
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
- <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="澶囨敞锛�">
- <el-input v-model="dialogForm.remarks" type="textarea" style="width: 200px;" />
- </el-form-item>
+
<div v-if="dialogTitle==='鑷埗鎶ュ伐'&&dialogForm.reckway==='group'">
<div style="display: flex;align-items:center;height: 40px;margin-bottom: 10px">
<i class="el-icon-s-operation" :style="{color:$store.state.settings.theme}" />
@@ -750,7 +925,7 @@
<el-input
v-if="row.isVisible===1||row.isVisible===2"
v-model="row.ratio"
- oninput="value=value.replace(/[^0-9.]/g,'')"
+ oninput="value=value.replace(/[^0-9]/g,'')"
placeholder="璇疯緭鍏�"
/>
<div v-else> {{ row.ratio }}</div>
@@ -779,15 +954,15 @@
</el-table-column>
</el-table>
<!--鍒嗛〉-->
- <pagination
- :total="UserTotal"
- :page.sync="Userform.page"
- :limit.sync="Userform.rows"
- align="right"
- layout="total,prev, pager, next,sizes,jumper"
- popper-class="select_bottom"
- @pagination="getMesOrderStepSearch"
- />
+ <!-- <pagination-->
+ <!-- :total="UserTotal"-->
+ <!-- :page.sync="Userform.page"-->
+ <!-- :limit.sync="Userform.rows"-->
+ <!-- align="right"-->
+ <!-- layout="total,prev, pager, next,sizes"-->
+ <!-- popper-class="select_bottom"-->
+ <!-- @pagination="getMesOrderStepSearch"-->
+ <!-- />-->
</div>
<!-- 澶栧崗鍙戞枡-->
<el-form-item
@@ -833,7 +1008,7 @@
label="鍙戞枡鏁伴噺锛�"
prop="fqty"
>
- <el-input v-model="dialogForm.fqty" oninput="value=value.replace(/[^0-9.]/g,'')" style="width: 200px;" />
+ <el-input v-model="dialogForm.fqty" oninput="value=value.replace(/[^0-9]/g,'')" style="width: 200px;" />
</el-form-item>
<!-- 澶栧崗鏀舵枡-->
<el-form-item
@@ -851,12 +1026,13 @@
v-model="dialogForm.wxcode"
style="width: 200px;"
placeholder="璇烽�夋嫨"
+ @change="wxCodeChange"
>
<el-option
- v-for="item in WXouterprovide"
- :key="item.code"
- :label="item.name"
- :value="item.code"
+ v-for="item in WXouterprovide2"
+ :key="item.Name"
+ :label="item.tp"
+ :value="item.Name"
/>
</el-select>
</el-form-item>
@@ -886,41 +1062,84 @@
<el-input
v-model="dialogForm.sqty"
style="width: 200px"
- oninput="value=value.replace(/[^0-9.]/g,'')"
+ :disabled="dialogForm.wxcode===''"
+ oninput="value=value.replace(/[^0-9]/g,'')"
/>
</el-form-item>
+
<el-form-item
v-if="dialogTitle==='澶栧崗鏀舵枡'"
label="涓嶈壇鏁伴噺锛�"
prop="noputqty"
>
+ <div style="width: 200px;">
+ {{ dialogForm.noputqty }}
+ </div>
+
+ <!-- <el-input-->
+ <!-- v-model="dialogForm.noputqty"-->
+ <!-- style="width: 200px"-->
+ <!-- oninput="value=value.replace(/[^0-9.]/g,'')"-->
+ <!-- />-->
+ </el-form-item>
+
+ <el-form-item v-if="dialogTitle==='澶栧崗鏀舵枡'" label="澶囨敞锛�">
+ <el-input v-model="dialogForm.remarks" type="textarea" style="width: 200px;" />
+ </el-form-item>
+
+ <el-form-item v-if="dialogTitle==='澶栧崗鏀舵枡'" label="涓嶈壇鏁伴噺锛�">
<el-input
- v-model="dialogForm.noputqty"
- style="width: 200px"
- oninput="value=value.replace(/[^0-9.]/g,'')"
- />
- </el-form-item>
- <el-form-item
- v-if="dialogTitle==='澶栧崗鏀舵枡'"
- label="涓嶈壇鍘熷洜锛�"
- >
- <!-- prop="badcode"-->
- <el-select
- v-model="dialogForm.badcode"
- style="width: 200px;"
- multiple
- collapse-tags
- :disabled="parseFloat(dialogForm.noputqty)===0||dialogForm.noputqty.trim()===''"
- placeholder="璇烽�夋嫨"
+ v-model="badInput"
+ placeholder="璇疯緭鍏ユ暟閲�"
+ class="input-with-select"
+ style="width: 300px;"
+ oninput="value=value.replace(/[^0-9]/g,'')"
>
- <el-option
- v-for="item in badArr"
- :key="item.code"
- :label="item.name"
- :value="item.code"
+ <el-select
+ slot="prepend"
+ v-model="badSelected"
+ multiple
+ placeholder="璇烽�夋嫨"
+ clearable
+ style="width: 150px"
+ collapse-tags
+ >
+ <el-option
+ v-for="item in badArr"
+ :key="item.code"
+ :label="item.name"
+ :value="item.code"
+ />
+ </el-select>
+ <el-button
+ slot="append"
+ icon="el-icon-plus"
+ @click="plusClick"
/>
- </el-select>
+ </el-input>
</el-form-item>
+
+ <!-- <el-form-item-->
+ <!-- v-if="dialogTitle==='澶栧崗鏀舵枡'"-->
+ <!-- label="涓嶈壇鍘熷洜锛�"-->
+ <!-- >-->
+ <!-- <el-select-->
+ <!-- v-model="dialogForm.badcode"-->
+ <!-- style="width: 200px;"-->
+ <!-- multiple-->
+ <!-- collapse-tags-->
+ <!-- :disabled="parseFloat(dialogForm.noputqty)===0||dialogForm.noputqty.trim()===''"-->
+ <!-- placeholder="璇烽�夋嫨"-->
+ <!-- >-->
+ <!-- <el-option-->
+ <!-- v-for="item in badArr"-->
+ <!-- :key="item.code"-->
+ <!-- :label="item.name"-->
+ <!-- :value="item.code"-->
+ <!-- />-->
+ <!-- </el-select>-->
+ <!-- </el-form-item>-->
+
<!-- <el-form-item v-if="dialogTitle==='澶栧崗鏀舵枡'" label="鏀舵枡浜猴細">-->
<!-- <el-select-->
<!-- v-model="dialogForm.operation"-->
@@ -935,10 +1154,70 @@
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
- <el-form-item v-if="dialogTitle==='澶栧崗鏀舵枡'" label="澶囨敞锛�">
- <el-input v-model="dialogForm.remarks" type="textarea" style="width: 200px;" />
- </el-form-item>
+
</el-form>
+
+ <div
+ v-if="dialogTitle==='澶栧崗鏀舵枡'&&BADNAME.length>0"
+ style="height: 30px;margin-left:30px;"
+ >
+ 涓嶈壇鏁伴噺鏄庣粏锛�
+ </div>
+ <div
+ v-for="(item,index) in BADNAME"
+ v-if="dialogTitle==='澶栧崗鏀舵枡'"
+ :key="item+index"
+ style="margin-left: 30px;display: flex; line-height: 24px;"
+ >
+ <div
+ style="
+ width: 22px;height: 22px;background: #42b983;
+ display: flex;
+ justify-content: center;
+ align-content: center;
+ color: #fff;
+ line-height: 22px;
+ border-radius: 50%;
+ "
+ >{{ index+1 }}</div>
+ <div style="margin: 0 20px">{{ item.name }}</div>
+ <div>{{ item.badqty }}</div>
+ <div style="margin-left: 20px">
+ <i
+ class="el-icon-delete"
+ style="color:#42b983;cursor: pointer"
+ @click="deleteClick(item,index)"
+ />
+ </div>
+
+ </div>
+
+ <div v-if="dialogTitle==='澶栧崗鏀舵枡'" style="margin-top: 20px;;display: flex;flex-direction: column">
+
+ <div style="height: 30px;margin-left:30px;">
+ 鍙敹鏂欎緵搴斿晢锛�
+ </div>
+
+ <div
+ v-for="(item,index) in dialogForm.list"
+ v-if="item.acceptQty>0"
+ :key="item.Name"
+ style="display: flex;line-height: 26px;height: 26px;margin-left:30px;align-items: center"
+ >
+ <div
+ style="color: #fff;width: 22px;height: 22px;display: flex;justify-content: center;align-items: center;border-radius: 50%"
+ :style="{backgroundColor:$store.state.settings.theme}"
+ >{{ index+1 }}</div>
+ <div style="margin-left:30px;width: 160px;" class="ellipsis">
+ {{ item.tp }}
+ </div>
+ <div style="margin-left:30px;">
+ 鍙敹鏁伴噺锛歿{ item.acceptQty }}
+ </div>
+ </div>
+
+ </div>
+
<span slot="footer" class="dialog-footer">
<div class="footerButton">
<el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
@@ -957,7 +1236,8 @@
:disabled="$store.state.app.buttonIsDisabled"
type="primary"
@click="dialogVisibleConfirm"
- >鎻愪氦/鎵撳嵃</el-button>
+ >鎻� 浜�</el-button>
+ <!-- /鎵撳嵃-->
<el-button
v-if="dialogTitle==='鑷埗鎶ュ伐'&&dialogForm.nextstepname!==''"
v-waves
@@ -965,7 +1245,7 @@
:disabled="$store.state.app.buttonIsDisabled"
type="primary"
@click="dialogVisibleConfirm"
- >鎻愪氦</el-button>
+ >鎻� 浜�</el-button>
<el-button
v-if="dialogTitle==='澶栧崗鍙戞枡'"
v-waves
@@ -973,7 +1253,7 @@
:disabled="$store.state.app.buttonIsDisabled"
type="primary"
@click="dialogVisibleConfirm"
- >鍙戞枡</el-button>
+ >鍙� 鏂�</el-button>
<el-button
v-if="dialogTitle==='澶栧崗鏀舵枡'&&dialogForm.nextstepname===''"
v-waves
@@ -981,7 +1261,8 @@
:disabled="$store.state.app.buttonIsDisabled"
type="primary"
@click="dialogVisibleConfirm"
- >鏀舵枡/鎵撳嵃</el-button>
+ >鏀� 鏂�</el-button>
+ <!-- /鎵撳嵃-->
<el-button
v-if="dialogTitle==='澶栧崗鏀舵枡'&&dialogForm.nextstepname!==''"
v-waves
@@ -989,7 +1270,7 @@
:disabled="$store.state.app.buttonIsDisabled"
type="primary"
@click="dialogVisibleConfirm"
- >鏀舵枡</el-button>
+ >鏀� 鏂�</el-button>
</div>
</span>
</el-dialog>
@@ -1088,6 +1369,9 @@
:model="badDialogForm"
label-width="110px"
>
+ <el-form-item label="閿�鍞崟鍙凤細">
+ <div style="width: 200px">{{ badDialogForm.saleOrderCode? badDialogForm.saleOrderCode:'/' }}</div>
+ </el-form-item>
<el-form-item label="宸ュ崟缂栧彿锛�">
<div style="width: 200px">{{ badDialogForm.wo_code }}</div>
</el-form-item>
@@ -1098,7 +1382,7 @@
<div style="width: 200px">{{ badDialogForm.partname }}</div>
</el-form-item>
<el-form-item label="浜у搧瑙勬牸锛�">
- <div style="width: 200px">{{ badDialogForm.partspec }}</div>
+ <div style="width: 200px">{{ badDialogForm.partspec?badDialogForm.partspec:'/' }}</div>
</el-form-item>
<el-form-item label="褰撳墠宸ュ簭锛�">
<div style="width: 200px">{{ badDialogForm.stepname }}</div>
@@ -1236,9 +1520,10 @@
v-waves
type="primary"
:loading="$store.state.app.buttonIsDisabled"
- :disabled="$store.state.app.buttonIsDisabled"
- @click="badDialogVisibleConfirm "
- >淇� 瀛�/鎵� 鍗�</el-button>
+ :disabled="$store.state.app.buttonIsDisabled||badTableDataDialog.length===0||badTableDataDialog.find(i=>i.isVisible===1)"
+ @click="badDialogVisibleConfirm"
+ >淇� 瀛�</el-button>
+ <!-- /鎵� 鍗�-->
</div>
</span>
</el-dialog>
@@ -1274,7 +1559,7 @@
const SER_HZ = /^[\u4e00-\u9fa5]+$/
export default {
- name: 'SCKBG',
+ name: 'ProduceStartOrder',
components: {
Pagination
},
@@ -1307,7 +1592,14 @@
radioSelected: '', // 宸ュ簭閫変腑
WXradioSelected: '', // 宸ュ簭閫変腑
form: {
- orderstepqrcode: '', // 鎵弿鐨勪簩缁寸爜淇℃伅
+ // orderstepqrcode: '', // 鎵弿鐨勪簩缁寸爜淇℃伅
+ // SelectType: '', // 璁惧缂栫爜
+ wocode: '',
+ saleOrderCode: '', // 閿�鍞崟鍙�
+ partcode: '', // 浜у搧缂栫爜
+ partname: '', // 浜у搧鍚嶇О
+ partspec: '', // 瑙勬牸鍨嬪彿
+
prop: 'lm_date', // 鎺掑簭瀛楁
order: 'desc', // 鎺掑簭瀛楁
page: 1, // 绗嚑椤�
@@ -1333,6 +1625,7 @@
dialogVisible: false,
dialogTitle: '', // 鑷埗寮�濮嬨�佽嚜鍒舵姤宸ャ�佸鍗忓彂鏂欍�佸鍗忔敹鏂�
dialogForm: {
+ saleOrderCode: '',
wo_code: '', // 宸ュ崟缂栧彿
partcode: '', // 浜у搧缂栫爜
partname: '', // 浜у搧鍚嶇О
@@ -1367,19 +1660,28 @@
startqtySum: '', // 涓嶈兘瓒呰繃鐨勬暟鍊�
- reckway: 'group', // 璁′欢鏂瑰紡
+ reckway: 'person', // 璁′欢鏂瑰紡
operation: getCookie('navTabId'), // 鎶ュ伐浜猴紙鏀舵枡浜猴級
remarks: '', // 澶囨敞
+ // isbott: true,
+
inbarcode: ''// 鏈亾宸ュ簭鏃� 鎵撳嵃鐨勫叆搴撶爜
},
+
+ badSelected: [], // 宸查�夌殑涓嶈壇鍘熷洜鏁扮粍
+ badInput: '',
+ BAD: [],
+ BADNAME: [],
+
ZZuserArr: [], // 鑷埗鐢ㄦ埛鎵�鏈�
ZZtreams: [], // 鑷埗鐢熶骇鐝粍鏁扮粍
ZZeqpArr: [], // 鑷埗璁惧鍚嶇О
badArr: [], // 涓嶈壇鍘熷洜鏁扮粍
WXouterprovide: [], // 澶栧崗渚涙柟鏁扮粍
+ WXouterprovide2: [], // 澶栧崗渚涙柟鏀舵枡鏁扮粍
WXoutuser: [], // 鍙戞枡浜哄憳鏁扮粍
userTableData: [], // 浜哄憳鍒楄〃
UserTotal: 0,
@@ -1474,33 +1776,6 @@
countJudgeIsScanningInput: 0 // 鍒ゆ柇鎵爜妗嗙殑涓暟
}
},
- watch: {
- // 'form.orderstepqrcode': {
- // handler(newValue) {
- // this.form.orderstepqrcode = newValue
- //
- // // 鍦ㄨ繖閲岃皟鐢紝骞舵墽琛宼his.fnThrottle(this.search, 500, 2000)();
- // this.fnThrottle(this.enterNative, 500, 2000, 'produceCode')()
- // }
- // },
- // 'WXform.orderstepqrcode': {
- // handler(newValue) {
- // this.form.orderstepqrcode = newValue
- //
- // // 鍦ㄨ繖閲岃皟鐢紝骞舵墽琛宼his.fnThrottle(this.search, 500, 2000)();
- // this.fnThrottle(this.enterNative, 500, 2000, 'WXproduceCode')()
- // }
- // },
- // 'badForm.orderstepqrcode': {
- // handler(newValue) {
- // this.form.orderstepqrcode = newValue
- //
- // // 鍦ㄨ繖閲岃皟鐢紝骞舵墽琛宼his.fnThrottle(this.search, 500, 2000)();
- // this.fnThrottle(this.enterNative, 500, 2000, 'badProduceCode')()
- // }
- // }
- },
-
created() {
this.getMesOrderStepSearch()
this.tabClick()
@@ -1617,107 +1892,12 @@
})
}
},
- // 闃叉姈 //鎵爜鐢ㄧ殑鏄槻鎶�
- fnThrottle(method, delay, duration, belong) {
- var that = this
- var timer = this.timer
- var begin = new Date().getTime()
- return function() {
- var current = new Date().getTime()
- clearTimeout(timer)
- if (current - begin >= duration) {
- // method()
- // that.VALUE()
- begin = current
- } else {
- that.timer = setTimeout(function() {
- // method()
- if (belong === 'produceCode') {
- that.enterNative(that.form.orderstepqrcode, belong)
- }
- if (belong === 'WXproduceCode') {
- that.enterNative(that.WXform.orderstepqrcode, belong)
- }
- if (belong === 'badProduceCode') {
- that.enterNative(that.badForm.orderstepqrcode, belong)
- }
- }, delay)
- }
- }
- },
- // 鍒ゆ柇鏄惁鏄壂鐮佹灙鎵爜
- judgeIsScanning2(e, belong) {
- if (belong === 'produceCode' && this.form.orderstepqrcode.toString().length === 0) {
- this.judgeIsScanningArr = []
- this.countJudgeIsScanningInput = 0
- }
- if (belong === 'WXproduceCode' && this.WXform.orderstepqrcode.toString().length === 0) {
- this.judgeIsScanningArr = []
- this.countJudgeIsScanningInput = 0
- }
- const timenow = e.timeStamp
- // console.log(timenow, 1)
- // let flag = true
- let flag = false
- this.judgeIsScanningArr.push(timenow)
- let i
-
- for (i in this.judgeIsScanningArr) {
- console.log(Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 1]) - Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 2]))
- // flag = Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 1]) - Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 2]) < 0.1
- if (Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 1]) - Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 2]) < 0.1) {
- this.countJudgeIsScanningInput++
- }
- if (this.countJudgeIsScanningInput >= 3) {
- flag = true
- }
- if (i > 0 && this.judgeIsScanningArr.length === parseInt(i) + 1) {
- if (flag) {
- console.log(flag, 1)
- this.fnThrottle(this.enterNative, 500, 2000, belong)()
- return
- }
- }
- }
-
- // // for (i in this.judgeIsScanningArr) {
- // // console.log(i)
- // // console.log( this.judgeIsScanningArr)
- // console.log(Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 1]) - Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 2]))
- // if (Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 1]) - Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 2]) < 10) {
- // this.countJudgeIsScanningInput++
- // }
- // if (this.countJudgeIsScanningInput > this.judgeIsScanningArr.length / 2) {
- // flag = true
- // }
- // // flag = Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 1]) - Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 2]) < 0.1
- // // if (i > 0 && this.judgeIsScanningArr.length === parseInt(i) + 1) {
- // if (flag) {
- // console.log(flag, 2)
- // this.fnThrottle(this.enterNative, 500, 2000, belong)()
- // return
- // }
- // // }
- // // }
- },
- // 鍒ゆ柇鏄惁鏄壂鐮佹灙鎵爜
- judgeIsScanning(e, belong) {
- const timenow = e.timeStamp
- let flag = true
- this.judgeIsScanningArr.push(timenow)
- let i
- for (i in this.judgeIsScanningArr) {
- flag = Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 1]) - Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 2]) < 0.1
- if (i > 0 && this.judgeIsScanningArr.length === parseInt(i) + 1) {
- if (flag) {
- this.fnThrottle(this.enterNative, 500, 2000, belong)()
- return
- }
- }
- }
- },
// 鎵爜閿洏鍥炶溅浜嬩欢
async enterNative(val, belong) {
+ if (getCookie('description') !== 'W') {
+ return this.$message.info('璇ヨ鑹叉棤姝ゆ搷浣滄潈闄愶紒')
+ }
+
console.log(val, belong, 89898989)
// 寮�宸ワ細code="200" count=0
// 鎶ュ伐锛歝ode="200" count=1
@@ -1725,25 +1905,31 @@
// 鏀舵枡锛歝ode="200" count=3
// 璧板垪琛ㄥ舰寮� code="200" count=4
if (belong === 'produceCode') {
- const orderstepqrcode = this.form.orderstepqrcode
- const data = {
- OperType: 'ZZ',
- orderstepqrcode: orderstepqrcode,
- SelectType: ''
- }
- const res = await MesOrderStepStart(data)
- if (res.code === '200' && res.count === 0) {
- await this.ZZstart(res.data)
- }
- if (res.code === '200' && res.count === 1) {
- await this.ZZreport(res.data)
- }
+ // console.log('asd')
+ // await this.getMesOrderStepStartSelectEqp()
+ await this.getMesOrderStepSearch()
+ // const orderstepqrcode = this.form.orderstepqrcode
+ // const data = {
+ // OperType: 'ZZ',
+ // orderstepqrcode: orderstepqrcode,
+ // SelectType: this.form.SelectType,
+ // stu_torgcode: getCookie('stu_torgcode')
+ // }
+ // const res = await MesOrderStepStart(data)
+ // if (res.code === '200' && res.count === 0) {
+ // await this.ZZstart(res.data)
+ // }
+
+ // if (res.code === '200' && res.count === 1) {
+ // await this.ZZreport(res.data)
+ // }
}
if (belong === 'WXproduceCode') {
const orderstepqrcode = this.WXform.orderstepqrcode
const data = {
OperType: 'WX',
orderstepqrcode: orderstepqrcode,
+ stu_torgcode: getCookie('stu_torgcode'),
SelectType: this.WXSelected// OUT銆両N
}
const res = await MesOrderStepStart(data)
@@ -1766,65 +1952,102 @@
search() {
this.getMesOrderStepSearch()
},
+ reset() {
+ this.form.wocode = ''
+ this.form.saleOrderCode = ''
+ this.form.partcode = ''
+ this.form.partname = ''
+ this.form.partspec = ''
+ this.getMesOrderStepSearch()
+ },
// 鑷埗寮�濮�
async ZZstart(obj) {
// if (!this.ZZisExecutable) {
// return this.$message.info('璇峰厛鎵爜宸ュ簭浜岀淮鐮侊紒')
// }
+
+ // this.dialogForm.isbott = obj.isbott === 'Y'
+
+ const data = {
+ OperType: 'ZZ',
+ orderstepqrcode: obj.wo_code + ';' + obj.stepcode,
+ SelectType: 'START',
+ stu_torgcode: getCookie('stu_torgcode')
+ }
+
+ const { data: res } = await MesOrderStepStart(data)
+
+ // console.log(JSON.parse(JSON.stringify(res)), 321)
this.dialogTitle = '鑷埗寮�濮�'
this.dialogVisible = true
this.$nextTick(() => {
- this.dialogForm.wo_code = obj.wo_code
- this.dialogForm.partcode = obj.partnumber
- this.dialogForm.partname = obj.partname
- this.dialogForm.partspec = obj.partspec
- this.dialogForm.stepseq = obj.seq
- this.dialogForm.stepcode = obj.stepcode
- this.dialogForm.stepname = obj.stepname
- this.dialogForm.stepdesc = obj.stepdesc
- this.dialogForm.planqty = obj.planqty
- this.dialogForm.reportqty = obj.reportqty
- this.dialogForm.noreportqty = obj.noreportqty
+ this.dialogForm.saleOrderCode = res.saleOrderCode
+ this.dialogForm.wo_code = res.wo_code
+ this.dialogForm.partcode = res.partnumber
+ this.dialogForm.partname = res.partname
+ this.dialogForm.partspec = res.partspec
+ this.dialogForm.stepseq = res.seq
+ this.dialogForm.stepcode = res.stepcode
+ this.dialogForm.stepname = res.stepname
+ this.dialogForm.stepdesc = res.stepdesc
+ this.dialogForm.planqty = res.planqty
+ this.dialogForm.reportqty = res.reportqty
+ this.dialogForm.noreportqty = res.noreportqty
// this.dialogForm.startqty = obj.startqty
- this.dialogForm.startqty = obj.noreportqty
+ this.dialogForm.startqty = res.noreportqty
})
-
- await this.getMesOrderStepStartSelectEqp()
},
// 鑷埗鎶ュ伐
async ZZreport(obj) {
// if (!this.ZZisExecutable) {
// return this.$message.info('璇峰厛鎵爜宸ュ簭浜岀淮鐮侊紒')
// }
+ const data = {
+ OperType: 'ZZ',
+ orderstepqrcode: obj.wo_code + ';' + obj.stepcode,
+ SelectType: 'REPORT',
+ stu_torgcode: getCookie('stu_torgcode')
+ }
+ this.form.orderstepqrcode = obj.wo_code + ';' + obj.stepcode
+ const { data: res } = await MesOrderStepStart(data)
+
+ // console.log(JSON.parse(JSON.stringify(res)), 322)
+
this.dialogTitle = '鑷埗鎶ュ伐'
this.dialogVisible = true
+ this.dialogForm.saleOrderCode = res.saleOrderCode
+ this.dialogForm.wo_code = res.wo_code
+ this.dialogForm.partcode = res.partnumber
+ this.dialogForm.partname = res.partname
+ this.dialogForm.partspec = res.partspec
+ this.dialogForm.stepseq = res.seq
+ this.dialogForm.stepcode = res.stepcode
+ this.dialogForm.stepname = res.stepname
+ this.dialogForm.stepdesc = res.stepdesc
+ this.dialogForm.planqty = res.planqty
+ this.dialogForm.reportqty = res.reportqty
+ this.dialogForm.noputqty = res.noputqty
+ this.dialogForm.noreportqty = res.noreportqty
+ // this.dialogForm.startqty = res.startqty
+ this.dialogForm.startqty = res.noreportqty
+
+ this.dialogForm.nextstepname = res.nextstepname
+ this.dialogForm.nextstepcode = res.nextstepcode
+
+ this.dialogForm.startqtySum = res.noreportqty
+ // console.log(this.dialogForm.startqtySum, 2)
+ this.dialogForm.eqpname = res.eqpname
+ this.dialogForm.eqpcode = res.eqpcode
+ console.log(res.wkshopcode, 7)
+ this.dialogForm.wkshopcode = res.wkshopcode
+ this.dialogForm.wkshopname = res.wkshopname
+
this.$nextTick(() => {
- this.dialogForm.wo_code = obj.wo_code
- this.dialogForm.partcode = obj.partnumber
- this.dialogForm.partname = obj.partname
- this.dialogForm.partspec = obj.partspec
- this.dialogForm.stepseq = obj.seq
- this.dialogForm.stepcode = obj.stepcode
- this.dialogForm.stepname = obj.stepname
- this.dialogForm.stepdesc = obj.stepdesc
- this.dialogForm.planqty = obj.planqty
- this.dialogForm.reportqty = obj.reportqty
- this.dialogForm.noputqty = obj.noputqty
- this.dialogForm.noreportqty = obj.noreportqty
- // this.dialogForm.startqty = obj.startqty
- this.dialogForm.startqty = obj.noreportqty
-
- this.dialogForm.nextstepname = obj.nextstepname
- this.dialogForm.nextstepcode = obj.nextstepcode
-
- this.dialogForm.startqtySum = obj.noreportqty
-
this.$refs.userTableDataRef.doLayout()
})
- await this.getMesOrderStepStartSelectEqp()
await this.getMesOrderStepReportSelectUserGroup()
await this.getMesOrderStepSelectCause('ZZ')
await this.getMesOrderSelectUserZZ()
@@ -1842,6 +2065,7 @@
this.dialogVisible = true
this.$nextTick(() => {
+ this.dialogForm.saleOrderCode = obj.saleOrderCode
this.dialogForm.wo_code = obj.wo_code
this.dialogForm.partcode = obj.partnumber
this.dialogForm.partname = obj.partname
@@ -1859,15 +2083,29 @@
await this.getMesOrderStepSelectWX()
await this.getMesOrderSelectUser()
},
+ wxCodeChange(val) {
+ this.dialogForm.sqty = this.WXouterprovide2.find(i => i.Name === val).acceptQty
+ },
// 澶栧崗鏀舵枡
async WXback(obj) {
// if (this.WXform.orderstepqrcode === '') {
// return this.$message.info('璇峰厛杈撳叆宸ュ簭锛�')
// }
+ this.WXouterprovide2 = []
+ obj.list.forEach(i => {
+ i.acceptQty = parseFloat(i.fqty) - parseFloat(i.sqty) - parseFloat(i.ng_qty) - parseFloat(i.bad_qty)
+ if (i.acceptQty > 0) {
+ this.WXouterprovide2.push(i)
+ }
+ })
+
+ // console.log(this.WXouterprovide2, 2)
+
this.dialogTitle = '澶栧崗鏀舵枡'
this.dialogVisible = true
this.$nextTick(() => {
+ this.dialogForm.saleOrderCode = obj.saleOrderCode
this.dialogForm.wo_code = obj.wo_code
this.dialogForm.partcode = obj.partnumber
this.dialogForm.partname = obj.partname
@@ -1887,6 +2125,8 @@
this.dialogForm.sqty = obj.startqty
this.dialogForm.startqtySum = obj.startqty
+
+ this.dialogForm.list = obj.list
})
await this.getMesOrderStepSelectWX()
await this.getMesOrderSelectUser()
@@ -1899,7 +2139,7 @@
},
// 鑾峰彇鑷埗鎶ュ伐鐢熶骇鐝粍涓嬫媺鍒楄〃
async getMesOrderStepReportSelectUserGroup() {
- const { data: res } = await MesOrderStepReportSelectUserGroup()
+ const { data: res } = await MesOrderStepReportSelectUserGroup({ wkshopcode: this.dialogForm.wkshopcode })
this.ZZtreams = res
},
// 鑾峰彇鑷埗鎶ュ伐琛ㄦ牸user鎵�鏈�
@@ -1939,6 +2179,31 @@
const { data: res } = await MesOrderStepSelectCause({ orderstepqrcode: orderstepqrcode })
this.badArr = res
},
+
+ // 寮�宸ラ�夋嫨璁惧鏀瑰彉鏃�
+ selectTypeChange(val) {
+ this.form.SelectType = val
+ const orderstepqrcode = this.form.orderstepqrcode
+ const data = {
+ OperType: 'ZZ',
+ orderstepqrcode: orderstepqrcode,
+ SelectType: this.form.SelectType,
+ stu_torgcode: getCookie('stu_torgcode')
+ }
+ MesOrderStepStart(data).then(res => {
+ if (res.code === '200' && res.count === 0) {
+ this.ZZstart(res.data)
+ }
+
+ if (res.code === '200' && res.count === 1) {
+ this.ZZreport(res.data)
+ }
+ }).catch(e => {
+ this.form.orderstepqrcode = ''
+ this.form.SelectType = ''
+ })
+ },
+
// 鎶ュ伐鏌ヨ鐢ㄦ埛琛�
async getUserTableData() {
const { data: res } = await MesOrderGroupSelectUser({ usergroupcode: this.dialogForm.usergroupcode })
@@ -1963,11 +2228,12 @@
calculatedValue() {
const total = 100
let value = 0
+
this.userTableData.forEach(item => {
item.ratio = parseFloat((100 / this.userTableData.length).toFixed(2))
value += item.ratio
})
- console.log(value, 1)
+
this.UserTotal = this.userTableData.length
if (value !== total) {
// let temp = this.userTableData
@@ -1994,6 +2260,43 @@
})
},
+ plusClick() {
+ // console.log(this.badSelected, this.badInput)
+ if (this.badSelected.length < 1) {
+ return this.$message.info('璇烽�夋嫨涓嶈壇鍘熷洜锛�')
+ }
+ if (this.badInput.toString().trim().length < 1) {
+ return this.$message.info('璇疯緭鍏ヤ笉鑹暟閲忥紒')
+ }
+ this.BAD.push({
+ defect_code: this.badSelected.sort().join(','),
+ badqty: this.badInput
+ })
+
+ const NAME = []
+ this.badSelected.forEach(item => {
+ const name = this.badArr.find(it => it.code === item).name
+ NAME.push(name)
+ })
+
+ this.BADNAME.push({
+ name: NAME.join(','), badqty: this.badInput
+ })
+
+ // console.log(typeof this.dialogForm.noputqty)
+
+ this.dialogForm.noputqty += parseFloat(this.badInput)
+
+ this.badSelected = []
+ this.badInput = ''
+ },
+
+ deleteClick(val, index) {
+ console.log(val, 2)
+ this.dialogForm.noputqty -= parseFloat(val.badqty)
+ this.BADNAME.splice(index, 1)
+ this.BAD.splice(index, 1)
+ },
// 鐢ㄦ埛娣诲姞
userAdd() {
if (this.userTableData.find(i => i.isVisible === 1)) {
@@ -2001,7 +2304,6 @@
}
let number = Math.random() * Math.random()// 浣滀负鍒犻櫎鏃剁殑鏍囪瘑绗�
number = number === 0 ? (10 + Math.random()) : number
- console.log(this.userTableData, 6)
this.userTableData.unshift({ usercode: '', username: '', isVisible: 1, number: number, ratio: 0 })
this.calculatedValue()
},
@@ -2067,41 +2369,46 @@
},
// 瀵硅瘽妗嗗叧闂簨浠�
handleClose() {
+ this.BAD = []
+ this.BADNAME = []
+ this.badSelected = []
+ this.badInput = ''
+
this.judgeIsScanningArr = []
this.form.orderstepqrcode = ''
this.WXform.orderstepqrcode = ''
this.badForm.orderstepqrcode = ''
- this.dialogForm.wo_code = '', // 宸ュ崟缂栧彿
- this.dialogForm.partcode = '', // 浜у搧缂栫爜
- this.dialogForm.partname = '', // 浜у搧鍚嶇О
- this.dialogForm.partspec = '', // 浜у搧瑙勬牸
- this.dialogForm.stepseq = '', // 宸ュ簭搴忓彿
- this.dialogForm.stepcode = '', // 宸ュ簭缂栫爜
- this.dialogForm.stepname = '', // 褰撳墠宸ュ簭鍚�
- this.dialogForm.nextstepname = '', // 涓嬩竴閬撳伐搴忓悕
- this.dialogForm.stepdesc = '', // 宸ュ簭鎻忚堪
- this.dialogForm.planqty = '', // 浠诲姟鏁伴噺
- this.dialogForm.reportqty = '', // 宸叉姤鏁伴噺
- this.dialogForm.noreportqty = '', // 鏈姤鏁伴噺
- this.dialogForm.startqty = '', // 寮�(鎶�)宸ユ暟閲�
+ this.dialogForm.wo_code = '' // 宸ュ崟缂栧彿
+ this.dialogForm.partcode = '' // 浜у搧缂栫爜
+ this.dialogForm.partname = '' // 浜у搧鍚嶇О
+ this.dialogForm.partspec = '' // 浜у搧瑙勬牸
+ this.dialogForm.stepseq = ''// 宸ュ簭搴忓彿
+ this.dialogForm.stepcode = '' // 宸ュ簭缂栫爜
+ this.dialogForm.stepname = '' // 褰撳墠宸ュ簭鍚�
+ this.dialogForm.nextstepname = ''// 涓嬩竴閬撳伐搴忓悕
+ this.dialogForm.stepdesc = '' // 宸ュ簭鎻忚堪
+ this.dialogForm.planqty = '' // 浠诲姟鏁伴噺
+ this.dialogForm.reportqty = '' // 宸叉姤鏁伴噺
+ this.dialogForm.noreportqty = '' // 鏈姤鏁伴噺
+ this.dialogForm.startqty = '' // 寮�(鎶�)宸ユ暟閲�
- this.dialogForm.wxcode = '', // 澶栧崗渚涘簲鍟嗙紪鐮�
- this.dialogForm.outuser = '', // 鍙戞枡浜哄憳
- this.dialogForm.taskqty = '', // 浠诲姟鏁伴噺
- this.dialogForm.fqty = '', // 鍙戞枡鏁伴噺
+ this.dialogForm.wxcode = '' // 澶栧崗渚涘簲鍟嗙紪鐮�
+ this.dialogForm.outuser = '' // 鍙戞枡浜哄憳
+ this.dialogForm.taskqty = '' // 浠诲姟鏁伴噺
+ this.dialogForm.fqty = '' // 鍙戞枡鏁伴噺
- this.dialogForm.inuser = getCookie('navTabId'), // 鏀舵枡浜哄憳 榛樿鐧诲綍浜哄憳
- this.dialogForm.sqty = '', // 鏀舵枡鏁伴噺
- this.dialogForm.ngqty = '', // 涓嶈壇鏁伴噺
- this.dialogForm.badcode = '', // 涓嶈壇鍘熷洜缂栫爜
+ this.dialogForm.inuser = getCookie('navTabId') // 鏀舵枡浜哄憳 榛樿鐧诲綍浜哄憳
+ this.dialogForm.sqty = '' // 鏀舵枡鏁伴噺
+ this.dialogForm.ngqty = '' // 涓嶈壇鏁伴噺
+ this.dialogForm.badcode = '' // 涓嶈壇鍘熷洜缂栫爜
- this.dialogForm.noputqty = '', // 涓嶈壇鏁伴噺
+ this.dialogForm.noputqty = '' // 涓嶈壇鏁伴噺
- this.dialogForm.eqpcode = '', // 鐢熶骇璁惧缂栫爜
+ this.dialogForm.eqpcode = '' // 鐢熶骇璁惧缂栫爜
- this.dialogForm.usergroupcode = '', // 鐝粍缂栫爜
- this.dialogForm.reportuser = '', // 鎶ュ伐浜哄憳
+ this.dialogForm.usergroupcode = '' // 鐝粍缂栫爜
+ this.dialogForm.reportuser = '' // 鎶ュ伐浜哄憳
this.dialogForm.startqtySum = '' // 涓嶈兘瓒呰繃鐨勬暟鍊�
@@ -2111,11 +2418,14 @@
// this.dialogForm.inbarcode = '' // 鍏ュ簱鐮�
- this.dialogForm.reckway = 'group'
+ this.dialogForm.reckway = 'person'
this.dialogForm.remarks = '' // 澶囨敞
this.dialogForm.operation = getCookie('navTabId') // 鎶ュ伐浜猴紙鏀舵枡浜猴級
this.userTableData = [] // 浜哄憳鍒楄〃
+
+ this.form.SelectType = ''
+ this.ZZeqpArr = []
this.$refs.dialogForm.clearValidate()
},
@@ -2131,6 +2441,9 @@
if (this.dialogTitle === '澶栧崗鍙戞枡') {
if (parseFloat(this.dialogForm.fqty) > parseFloat(this.dialogForm.noreportqty)) {
return this.$message.info('鍙戞枡鏁伴噺涓嶈兘澶т簬鏈彂鏁伴噺!')
+ }
+ if (parseFloat(this.dialogForm.fqty) <= 0) {
+ return this.$message.info('鍙戞枡鏁伴噺瑕佸ぇ浜庨浂锛�')
}
const data = {
mesordercode: this.dialogForm.wo_code, // 宸ュ崟缂栧彿
@@ -2160,26 +2473,34 @@
return this.$message.info('鏀舵枡鏁伴噺鍔犱笉鑹暟閲忎笉鑳藉ぇ浜庝簡鏈敹鏁伴噺!')
}
- if (parseFloat(this.dialogForm.noputqty) > 0) {
- if (this.dialogForm.badcode.length < 1) {
- return this.$message.info('璇烽�夋嫨涓嶈壇鍘熷洜锛�')
- }
+ if (this.WXouterprovide2.find(i => i.Name === this.dialogForm.wxcode).acceptQty < parseFloat(this.dialogForm.sqty) + parseFloat(this.dialogForm.noputqty)) {
+ return this.$message.info('鏀舵枡鏁伴噺鍔犱笉鑹暟閲忎笉鑳藉ぇ浜庤渚涘簲鍟嗗彲鏀舵暟閲�!')
}
+
+ if (parseFloat(this.dialogForm.sqty) <= 0) {
+ return this.$message.info('鏀舵枡鏁伴噺瑕佸ぇ浜庨浂锛�')
+ }
+
+ // if (parseFloat(this.dialogForm.noputqty) > 0) {
+ // if (this.dialogForm.badcode.length < 1) {
+ // return this.$message.info('璇烽�夋嫨涓嶈壇鍘熷洜锛�')
+ // }
+ // }
this.dialogForm.inbarcode = ''
// 褰撲负鏈亾鐨勬椂鍊�
- if (this.dialogForm.nextstepcode === '') {
- const D = {
- rightcode: '1078',
- partcode: this.dialogForm.partcode,
- qty: this.dialogForm.sqty,
- onelabqty: this.dialogForm.sqty
- }
- const r = await LabelBarCode(D)
- this.dialogForm.inbarcode = r.data[0].labcode
-
- this.qrForm.partspec = this.dialogForm.partspec
- }
+ // if (this.dialogForm.nextstepcode === '') {
+ // const D = {
+ // rightcode: '1078',
+ // partcode: this.dialogForm.partcode,
+ // qty: this.dialogForm.sqty,
+ // onelabqty: this.dialogForm.sqty
+ // }
+ // const r = await LabelBarCode(D)
+ // this.dialogForm.inbarcode = r.data[0].labcode
+ //
+ // this.qrForm.partspec = this.dialogForm.partspec
+ // }
const data = {
mesordercode: this.dialogForm.wo_code, // 宸ュ崟缂栧彿
@@ -2192,18 +2513,19 @@
sqty: this.dialogForm.sqty, // 鏀舵枡鏁伴噺
remarks: this.dialogForm.remarks, // 澶囨敞
inbarcode: this.dialogForm.inbarcode, // 鐢熶骇鍏ュ簱鏉$爜
- ngqty: this.dialogForm.noputqty === '' ? 0 : this.dialogForm.noputqty, // 涓嶈壇鏁伴噺
- badcode: this.dialogForm.badcode.length < 1 ? '' : this.dialogForm.badcode.join(';')// 涓嶈壇鍘熷洜
+ defectlist: this.BAD
+ // ngqty: this.dialogForm.noputqty === '' ? 0 : this.dialogForm.noputqty, // 涓嶈壇鏁伴噺
+ // badcode: this.dialogForm.badcode.length < 1 ? '' : this.dialogForm.badcode.join(';')// 涓嶈壇鍘熷洜
}
+ // console.log(JSON.stringify(data), 2)
this.$store.state.app.buttonIsDisabled = true
SavaMesOrderStepIn(data).then(res => {
if (res.code === '200') {
this.dialogVisible = false
this.$message.success('鏀舵枡鎴愬姛锛�')
// if (this.dialogForm.nextstepcode === '') {
- // this.WXprint2(this.OperationArr.find(item => item.usercode === this.dialogForm.inuser).username)
- this.WXprint2(this.OperationArr.find(item => item.usercode === getCookie('navTabId')).username)
- this.dialogVisible2 = true
+ // this.WXprint2(this.OperationArr.find(item => item.usercode === getCookie('navTabId')).username)
+ // this.dialogVisible2 = true
// }
this.tabClick()
this.$store.state.app.buttonIsDisabled = false
@@ -2214,12 +2536,34 @@
}
if (this.dialogTitle === '鑷埗寮�濮�') {
+ // console.log(parseFloat(this.dialogForm.startqty) + parseFloat(this.dialogForm.reportqty))
+ // console.log(parseFloat(this.dialogForm.planqty), 9)
+
+ if (parseFloat(this.dialogForm.startqty) > parseFloat(this.dialogForm.noreportqty)) {
+ return this.$message.info('寮�宸ユ暟閲忎箣鍜屼笉鑳藉ぇ浜庢湭寮�鏁伴噺锛�')
+ }
+ // if (this.dialogForm.isbott) {
+ // if (parseFloat(this.dialogForm.startqty) + parseFloat(this.dialogForm.reportqty) > parseFloat(this.dialogForm.planqty)) {
+ // return this.$message.info('寮�宸ユ暟閲忎箣鍜屼笉鑳藉ぇ浜庝换鍔℃暟閲忥紒')
+ // }
+ // }
+ //
+ // if (!this.dialogForm.isbott) {
+ // if (parseFloat(this.dialogForm.startqty) + parseFloat(this.dialogForm.reportqty) > parseFloat(this.dialogForm.noreportqty)) {
+ // return this.$message.info('寮�宸ユ暟閲忎箣鍜屼笉鑳藉ぇ浜庢湭寮�鏁伴噺锛�')
+ // }
+ // }
+
+ if (parseFloat(this.dialogForm.startqty) <= 0) {
+ return this.$message.info('寮�宸ユ暟閲忓繀椤诲ぇ浜庨浂锛�')
+ }
+
const data = {
mesordercode: this.dialogForm.wo_code, // 宸ュ崟缂栧彿
partcode: this.dialogForm.partcode, // 浜у搧缂栫爜
stepseq: this.dialogForm.stepseq, // 宸ュ簭搴忓彿 鏆傛椂缂�
stepcode: this.dialogForm.stepcode, // 宸ュ簭缂栫爜
- eqpcode: this.dialogForm.eqpcode, // 鐢熶骇璁惧
+ eqpcode: '', // 鐢熶骇璁惧
taskqty: this.dialogForm.planqty, // 浠诲姟鏁伴噺
startqty: this.dialogForm.startqty// 寮�濮嬫暟閲�
}
@@ -2237,12 +2581,18 @@
}
if (this.dialogTitle === '鑷埗鎶ュ伐') {
+ console.log(parseFloat(this.dialogForm.startqtySum) < parseFloat(this.dialogForm.startqty) + parseFloat(this.dialogForm.noputqty))
if (parseFloat(this.dialogForm.startqtySum) < parseFloat(this.dialogForm.startqty) + parseFloat(this.dialogForm.noputqty)) {
return this.$message.info('鎶ュ伐鏁伴噺鍔犱笉鑹暟閲忎笉鑳藉ぇ浜庝簡鏈姤鏁伴噺!')
}
if (this.userTableData.length < 1 && this.dialogForm.reckway === 'group') {
return this.$message.info('浜哄憳鍒楄〃涓嶈兘涓虹┖!')
}
+
+ if (parseFloat(this.dialogForm.startqty) <= 0) {
+ return this.$message.info('鎶ュ伐鏁伴噺蹇呴』澶т簬闆讹紒')
+ }
+
// this.userTableData = [...new Set(this.userTableData)]// 鏁扮粍鍘婚噸
this.userTableData = this.userTableData.filter(item => item.usercode !== '')
// 鏁扮粍涓璞$浉鍚岀殑鍘婚噸
@@ -2255,16 +2605,17 @@
this.userTableData.forEach(item => {
sum += parseFloat(item.ratio)
})
+ console.log(sum, 4)
if (Math.round(sum * 100) / 100 !== 100) {
return this.$message.info('鍒嗛厤姣斾緥鎬诲拰蹇呴』涓�100锛�')
}
}
- if (parseFloat(this.dialogForm.noputqty) > 0) {
- if (this.dialogForm.badcode.length < 1) {
- return this.$message.info('璇烽�夋嫨涓嶈壇鍘熷洜锛�')
- }
- }
+ // if (parseFloat(this.dialogForm.noputqty) > 0) {
+ // if (this.dialogForm.badcode.length < 1) {
+ // return this.$message.info('璇烽�夋嫨涓嶈壇鍘熷洜锛�')
+ // }
+ // }
// console.log(this.userTableData, 1)
// const reportuser = this.userTableData.map(item => item.usercode).join(';')// 涓昏鏀圭殑鏄繖閲岀殑鏍煎紡
@@ -2307,22 +2658,23 @@
inbarcode: this.dialogForm.inbarcode, // 鐢熶骇鍏ュ簱鏉$爜
- ngqty: this.dialogForm.noputqty === '' ? 0 : this.dialogForm.noputqty, // 涓嶈壇鏁伴噺
- badcode: this.dialogForm.badcode.length < 1 ? '' : this.dialogForm.badcode.join(';')// 涓嶈壇鍘熷洜
+ defectlist: this.BAD
+ // ngqty: this.dialogForm.noputqty === '' ? 0 : this.dialogForm.noputqty, // 涓嶈壇鏁伴噺
+ // badcode: this.dialogForm.badcode.length < 1 ? '' : this.dialogForm.badcode.join(';')// 涓嶈壇鍘熷洜
}
+ // console.log(JSON.parse(JSON.stringify(data)), 'data')
// console.log(JSON.stringify(data), 'data')
- console.log(data, 'data')
- this.$store.state.app.buttonIsDisabled = true
+ this.$store.state.app.buttonIsDisabled = true
SavaMesOrderStepReport(data).then(res => {
if (res.code === '200') {
this.dialogVisible = false
this.$message.success('鎶ュ伐鎴愬姛锛�')
// this.dialogForm.nextstepcode==='' //褰撲负绌虹殑鏃跺�� 浠h〃鏄湯閬撳伐搴�
// if (this.dialogForm.nextstepcode !== '') {
- this.ZZprint2(this.OperationArr.find(item => item.usercode === getCookie('navTabId')).username)
- this.dialogVisible2 = true
+ // this.ZZprint2(this.OperationArr.find(item => item.usercode === getCookie('navTabId')).username)
+ // this.dialogVisible2 = true
// }
this.tabClick()
this.$store.state.app.buttonIsDisabled = false
@@ -2426,8 +2778,8 @@
if (res.code === '200' || res.code === '301') {
this.getBadList()
this.badDialogVisible = false
- this.badPrint(this.OperationArr.find(item => item.usercode === getCookie('navTabId')).username)
- this.dialogVisible2 = true
+ // this.badPrint(this.OperationArr.find(item => item.usercode === getCookie('navTabId')).username)
+ // this.dialogVisible2 = true
this.$message.success('淇濆瓨鎴愬姛锛�')
this.$store.state.app.buttonIsDisabled = false
@@ -2475,6 +2827,7 @@
const { data: res } = await MesOrderNgSubStepSearch(data)
this.$nextTick(() => {
+ this.badDialogForm.saleOrderCode = res.data1.saleOrderCode
this.badDialogForm.wo_code = res.data1.wo_code
this.badDialogForm.partcode = res.data1.partnumber
this.badDialogForm.partname = res.data1.partname
--
Gitblit v1.9.3