From 2fd9231d7768c1955579430a70d3c34f7d9bfa96 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期五, 27 十月 2023 16:19:24 +0800
Subject: [PATCH] 1.MES工单 打印 解决销售单号未出来的问题
---
src/views/produceManager/workOrder.vue | 342 ++++++++++++++++++++++++++++++++++----------------------
1 files changed, 208 insertions(+), 134 deletions(-)
diff --git a/src/views/produceManager/workOrder.vue b/src/views/produceManager/workOrder.vue
index 9773266..fa235ca 100644
--- a/src/views/produceManager/workOrder.vue
+++ b/src/views/produceManager/workOrder.vue
@@ -43,7 +43,10 @@
<el-form-item label="婧愬崟鍗曞彿" style="display: flex;">
<el-input v-model="form.sourceorder" style="width: 200px" placeholder="璇疯緭鍏�" />
</el-form-item>
- <el-form-item label="鍗曟嵁绫诲瀷" style=" display: flex;">
+ <el-form-item label="閿�鍞鍗�" style="display: flex;">
+ <el-input v-model="form.saleordercode" style="width: 200px" placeholder="璇疯緭鍏�" />
+ </el-form-item>
+ <el-form-item v-show="isExpandForm" label="鍗曟嵁绫诲瀷" style=" display: flex;">
<el-select
v-model="form.ordertype"
:popper-append-to-body="false"
@@ -197,6 +200,18 @@
</template>
</el-table-column>
<el-table-column
+ prop="saleOrderCode"
+ label="閿�鍞鍗�"
+ sortable="custom"
+ show-tooltip-when-overflow
+ min-width="160"
+ >
+ <template slot-scope="{row}">
+ <div v-if="row.saleOrderCode">{{ row.saleOrderCode }}</div>
+ <div v-else>/</div>
+ </template>
+ </el-table-column>
+ <el-table-column
prop="wotype"
label="鍗曟嵁绫诲瀷"
sortable="custom"
@@ -345,7 +360,7 @@
:style="{color:$store.state.settings.theme}"
class="el-icon-printer"
style="cursor: pointer;margin-right: 15px"
- @click="handlePrint(row.wo_code)"
+ @click="handlePrint(row.wo_code,row.saleOrderCode)"
/>
</el-tooltip>
<el-tooltip v-del-tab-index class="item" effect="dark" content="鍒犻櫎" placement="top">
@@ -368,6 +383,22 @@
/>
<div class="elTableDiv">
+
+ <div
+ v-if="$store.state.settings.orgType === 'W'"
+ style="position:absolute;z-index: 1000;left: 20px;top: -50px"
+ >
+ <el-switch
+ v-model="switchButton"
+ style="display: block"
+ active-text="鎵�鏈夎溅闂�"
+ inactive-text="褰撳墠杞﹂棿"
+ @change="rowClick"
+ />
+ <!-- active-color="#13ce66"-->
+ <!-- inactive-color="#ff4949"-->
+ </div>
+
<el-table
:data="tableDataDetail"
border
@@ -510,43 +541,49 @@
<!-- <el-input v-model="dialogForm.mesordercode" :disabled="operation!=='add'" style="width: 200px" />-->
<el-input v-model="dialogForm.mesordercode" disabled style="width: 200px" />
</el-form-item>
- <div style="display: flex">
- <el-form-item label="宸ュ崟绫诲瀷" prop="mesorderstus">
- <el-select
- v-model="dialogForm.ordertype"
- :popper-append-to-body="false"
- style="width: 200px"
- :disabled="operation!=='add'"
- placeholder="璇烽�夋嫨"
- @change="mesordertypeChange"
- >
-
- <el-option
- v-for="item in ordertypeArr"
- :key="item.code"
- :label="item.name"
- :value="item.code"
- />
- </el-select>
- </el-form-item>
- <div style="display: flex;flex-wrap: nowrap">
- <el-form-item label="婧愬崟鍗曞彿">
- <el-input
- v-model="dialogForm.sourceorder"
- :disabled="dialogForm.ordertype==='PO'"
- style="width: 172px"
- />
- </el-form-item>
+ <!-- <div style="display: flex">-->
+ <el-form-item label="宸ュ崟绫诲瀷" prop="mesorderstus">
+ <el-select
+ v-model="dialogForm.ordertype"
+ :popper-append-to-body="false"
+ style="width: 200px"
+ :disabled="operation!=='add'"
+ placeholder="璇烽�夋嫨"
+ @change="mesordertypeChange"
+ >
+ <el-option
+ v-for="item in ordertypeArr"
+ :key="item.code"
+ :label="item.name"
+ :value="item.code"
+ />
+ </el-select>
+ </el-form-item>
+ <!-- <div style="display: flex;flex-wrap: nowrap">-->
+ <el-form-item label="婧愬崟鍗曞彿">
+ <el-input
+ v-model="dialogForm.sourceorder"
+ :disabled="dialogForm.ordertype==='PO'"
+ style="width: 200px"
+ >
<el-button
- v-waves
- type="primary"
- style="padding: 0 10px;margin-left: -8px;margin-top: 3px"
- class="el-icon-search"
+ slot="append"
+ icon="el-icon-search"
:disabled="operation!=='add'||dialogForm.ordertype==='PO'"
@click="mesordertsourcesearchclick"
/>
- </div>
- </div>
+ </el-input>
+ </el-form-item>
+ <!-- <el-button-->
+ <!-- v-waves-->
+ <!-- type="primary"-->
+ <!-- style="padding: 0 10px;margin-left: -8px;margin-top: 3px"-->
+ <!-- class="el-icon-search"-->
+ <!-- :disabled="operation!=='add'||dialogForm.ordertype==='PO'"-->
+ <!-- @click="mesordertsourcesearchclick"-->
+ <!-- />-->
+ <!-- </div>-->
+ <!-- </div>-->
<el-form-item label="宸ュ崟鏁伴噺" prop="mesqty">
<el-input
v-model="dialogForm.mesqty"
@@ -586,118 +623,119 @@
<el-form-item label="浜у搧瑙勬牸" prop="partspec">
<el-input v-model="dialogForm.partspec" disabled style="width: 200px" />
</el-form-item>
- <div style="display: flex">
- <el-form-item label="鐢熶骇杞﹂棿" prop="wkshopcode">
- <el-select
- v-model="dialogForm.wkshopcode"
- filterable
- :popper-append-to-body="false"
- style="width: 200px;"
- placeholder="璇烽�夋嫨"
- :disabled="dialogForm.partcode===''"
- @change="val=>wkshopcodeChange(val,dialogForm.partcode)"
- >
- <el-option
- v-for="item in wkshopArr"
- :key="item.org_code"
- :label="item.org_name"
- :value="item.org_code"
- />
- </el-select>
- </el-form-item>
- <div style="display: flex;flex-wrap: nowrap">
- <el-form-item label="宸ヨ壓璺嚎" prop="routecode">
- <el-select
- v-model="dialogForm.routecode"
- filterable
- :popper-append-to-body="false"
- style="width: 172px"
- placeholder="璇烽�夋嫨"
- :disabled="dialogForm.wkshopcode===''"
- @change="routecodeChange"
- >
- <el-option
- v-for="item in routeArr"
- :key="item.code"
- :label="item.name"
- :value="item.code"
- />
- </el-select>
- </el-form-item>
- <el-button
- v-waves
- type="primary"
- style="padding: 0 10px;margin-left: -8px;margin-top:3px"
- class="el-icon-search"
- @click="searchClick"
- />
- <!-- :disabled="dialogForm.routecode===''"-->
-
- </div>
- </div>
- <el-form-item label="鏄惁鎺掔▼" prop="isAps">
- <el-radio-group v-model="dialogForm.isAps" style="width:200px" @change="changeIsAps">
- <el-radio key="Y" label="Y" value="Y">鏄�</el-radio>
- <el-radio key="N" label="N" value="N">鍚�</el-radio>
- </el-radio-group>
- </el-form-item>
- <el-form-item label="鐗╂枡娓呭崟" :prop="dialogForm.isAps==='Y'?'bomId':''">
+ <!-- <div style="display: flex">-->
+ <el-form-item label="鐢熶骇杞﹂棿" prop="wkshopcode">
<el-select
- v-model="dialogForm.bomId"
+ v-model="dialogForm.wkshopcode"
filterable
- :disabled="dialogForm.isAps==='N'"
:popper-append-to-body="false"
style="width: 200px;"
placeholder="璇烽�夋嫨"
+ :disabled="dialogForm.partcode===''"
+ @change="val=>wkshopcodeChange(val,dialogForm.partcode)"
>
<el-option
- v-for="item in bomIdArr"
- :key="item.id"
- :label="item.version"
- :value="item.id"
+ v-for="item in wkshopArr"
+ :key="item.org_code"
+ :label="item.org_name"
+ :value="item.org_code"
/>
</el-select>
</el-form-item>
- <el-form-item label="璁″垝寮�濮嬫椂闂�" prop="planstartdate">
- <el-date-picker
- v-model="dialogForm.planstartdate"
- type="date"
- :clearable="false"
- value-format="yyyy-MM-dd"
- :picker-options="pickerOptions"
- style="width: 200px"
- placeholder="閫夋嫨鏃ユ湡"
- />
- </el-form-item>
- <el-form-item label="璁″垝瀹屾垚鏃堕棿" prop="planenddate">
- <el-date-picker
- v-model="dialogForm.planenddate"
- type="date"
- :clearable="false"
- value-format="yyyy-MM-dd"
- style="width: 200px"
- placeholder="閫夋嫨鏃ユ湡"
- :picker-options="pickerOptions"
- />
- </el-form-item>
- <el-form-item label="宸ュ崟绛夌骇" prop="orderlev">
+
+ <!-- <div style="display: flex;flex-wrap: nowrap">-->
+ <el-form-item label="宸ヨ壓璺嚎" prop="routecode">
<el-select
- v-model="dialogForm.orderlev"
+ v-model="dialogForm.routecode"
filterable
:popper-append-to-body="false"
style="width: 200px"
placeholder="璇烽�夋嫨"
+ :disabled="dialogForm.wkshopcode===''"
+ @change="routecodeChange"
>
<el-option
- v-for="item in orderlevArr"
+ v-for="item in routeArr"
:key="item.code"
:label="item.name"
:value="item.code"
/>
</el-select>
</el-form-item>
+ <el-form-item label="宸ヤ环绠℃帶" required>
+ <el-switch
+ v-model="dialogForm.is_steprice"
+ active-color="#13ce66"
+ inactive-color="#eee"
+ @change="routecodeChange"
+ />
+ </el-form-item>
+ <!-- <el-form-item label="鏄惁鎺掔▼" prop="isAps">-->
+ <!-- <el-radio-group v-model="dialogForm.isAps" style="width:200px" @change="changeIsAps">-->
+ <!-- <el-radio key="Y" label="Y" value="Y">鏄�</el-radio>-->
+ <!-- <el-radio key="N" label="N" value="N">鍚�</el-radio>-->
+ <!-- </el-radio-group>-->
+ <!-- </el-form-item>-->
+ <!-- <el-form-item label="鐗╂枡娓呭崟" :prop="dialogForm.isAps==='Y'?'bomId':''">-->
+ <!-- <el-select-->
+ <!-- v-model="dialogForm.bomId"-->
+ <!-- filterable-->
+ <!-- :disabled="dialogForm.isAps==='N'"-->
+ <!-- :popper-append-to-body="false"-->
+ <!-- style="width: 200px;"-->
+ <!-- placeholder="璇烽�夋嫨"-->
+ <!-- >-->
+ <!-- <el-option-->
+ <!-- v-for="item in bomIdArr"-->
+ <!-- :key="item.id"-->
+ <!-- :label="item.version"-->
+ <!-- :value="item.id"-->
+ <!-- />-->
+ <!-- </el-select>-->
+ <!-- </el-form-item>-->
+ <!-- <el-form-item label="璁″垝寮�濮嬫椂闂�" prop="planstartdate">-->
+ <!-- <el-date-picker-->
+ <!-- v-model="dialogForm.planstartdate"-->
+ <!-- type="date"-->
+ <!-- :clearable="false"-->
+ <!-- value-format="yyyy-MM-dd"-->
+ <!-- :picker-options="pickerOptions"-->
+ <!-- style="width: 200px"-->
+ <!-- placeholder="閫夋嫨鏃ユ湡"-->
+ <!-- />-->
+ <!-- </el-form-item>-->
+ <!-- <el-form-item label="璁″垝瀹屾垚鏃堕棿" prop="planenddate">-->
+ <!-- <el-date-picker-->
+ <!-- v-model="dialogForm.planenddate"-->
+ <!-- type="date"-->
+ <!-- :clearable="false"-->
+ <!-- value-format="yyyy-MM-dd"-->
+ <!-- style="width: 200px"-->
+ <!-- placeholder="閫夋嫨鏃ユ湡"-->
+ <!-- :picker-options="pickerOptions"-->
+ <!-- />-->
+ <!-- </el-form-item>-->
+ <!-- <el-form-item label="宸ュ崟绛夌骇" prop="orderlev">-->
+ <!-- <el-select-->
+ <!-- v-model="dialogForm.orderlev"-->
+ <!-- filterable-->
+ <!-- :popper-append-to-body="false"-->
+ <!-- style="width: 200px"-->
+ <!-- placeholder="璇烽�夋嫨"-->
+ <!-- >-->
+ <!-- <el-option-->
+ <!-- v-for="item in orderlevArr"-->
+ <!-- :key="item.code"-->
+ <!-- :label="item.name"-->
+ <!-- :value="item.code"-->
+ <!-- />-->
+ <!-- </el-select>-->
+ <!-- </el-form-item>-->
</el-form>
+ <div style="display: flex;justify-content: flex-end;margin-top: -50px;">
+ {{ routeStepArr }}
+ </div>
<!-- 宸ヨ壓璺嚎鏀惧ぇ闀滃璇濇-->
<el-dialog
@@ -1246,11 +1284,14 @@
style="display: flex;justify-content: space-between"
>
<div class="elForm">
- <el-form-item label="宸ュ崟缂栧彿:" class="formContent">
- {{ formApprove.mesordercode }}
+ <el-form-item label="閿�鍞崟鍙�:" class="formContent">
+ {{ formApprove.saleOrderCode }}
</el-form-item>
<el-form-item label="婧愬崟鍗曞彿:" class="formContent">
{{ formApprove.m_po }}
+ </el-form-item>
+ <el-form-item label="宸ュ崟缂栧彿:" class="formContent">
+ {{ formApprove.mesordercode }}
</el-form-item>
<el-form-item label="浜у搧缂栫爜:" class="formContent">
{{ formApprove.partcode }}
@@ -1999,6 +2040,7 @@
partcode: '', // 浜у搧缂栫爜
ordertype: '', // ordertype
sourceorder: '', // 婧愬崟鍗曞彿
+ saleordercode: '', // 閿�鍞鍗�
partname: '', // 浜у搧鍚嶇О
partspec: '', // 浜у搧瑙勬牸
creatuser: '', // 鍒涘缓浜哄憳
@@ -2037,6 +2079,9 @@
mesqty: '', // 宸ュ崟鏁伴噺
routecode: '', // 宸ヨ壓璺嚎缂栫爜
+
+ is_steprice: false, // 鏄惁宸ヤ环绠$悊
+
wkshopcode: '', // 鐢熶骇杞﹂棿缂栫爜
planstartdate: '', // 璁″垝寮�濮嬫椂闂�
planenddate: '', // 璁″垝瀹屾垚鏃堕棿
@@ -2217,7 +2262,11 @@
isLastPrint: false, // 鏄惁鏄湯閬撴墦鍗�
lastPrintArr: [], // 鏈亾鎵撳嵃鐨勬暟缁�(鎵�鏈�)
- lastPrintArrSelected: []// 鏈亾鎵撳嵃鐨勬暟缁�(閫変腑)
+ lastPrintArrSelected: [], // 鏈亾鎵撳嵃鐨勬暟缁�(閫変腑)
+
+ switchButton: false,
+
+ routeStepArr: ''
}
},
created() {
@@ -2255,6 +2304,7 @@
partspec: this.form.partspec, // 浜у搧瑙勬牸
creatuser: this.form.creatuser, // 鍒涘缓浜哄憳
sourceorder: this.form.sourceorder, // 婧愬崟鍗曞彿
+ saleordercode: this.form.saleordercode, // 閿�鍞鍗�
ordertype: this.form.ordertype, // 鍗曟嵁绫诲瀷
createdate: this.form.createdate.toString().length > 0 ? handleDatetime(this.form.createdate) : '', // 鍒涘缓鏃堕棿
prop: this.form.prop, // 鎺掑簭瀛楁
@@ -2318,6 +2368,7 @@
this.form.paydate = ''
this.form.creatuser = ''
this.form.sourceorder = ''
+ this.form.saleordercode = ''
this.form.creatuser = ''
this.form.ordertype = ''
this.getMesOrderSearch()
@@ -2369,11 +2420,28 @@
// this.submitButtonIsDisabled = false
},
// 宸ヨ壓璺嚎鍊兼敼鍙�
- async routecodeChange(partcode, routecode) {
- // const data = {
- // partcode,
- // routecode
- // }
+ async routecodeChange() {
+ if (this.dialogForm.routecode) {
+ const data = {
+ partcode: this.dialogForm.partcode,
+ routecode: this.dialogForm.routecode,
+ wkshopcode: this.dialogForm.wkshopcode,
+ is_steprice: this.dialogForm.is_steprice ? 'Y' : 'N'
+ }
+ await SelectRouteOrWkshop(data).then((res) => {
+ console.log(res, 1)
+
+ SelectRouteStep({ routecode: this.dialogForm.routecode }).then(res2 => {
+ console.log(res2)
+ this.routeStepArr = res2.data.map(i => i.stepname).join('锛�')
+ })
+
+ this.submitButtonIsDisabled = false
+ }).catch(err => {
+ // console.log(err, 2)
+ this.submitButtonIsDisabled = true
+ })
+ }
},
// 鐢熶骇杞﹂棿鍊兼敼鍙樻椂
async wkshopcodeChange(wkshopcode, partcode) {
@@ -2387,6 +2455,7 @@
if (res.length === 1) {
this.dialogForm.routecode = res[0].code
+ await this.routecodeChange()
} else {
this.dialogForm.routecode = ''
}
@@ -2541,6 +2610,7 @@
},
// 瀵硅瘽妗嗗叧闂簨浠�
handleClose() {
+ this.routeStepArr = ''
this.dialogForm.partname = '' // 浜у搧鍚嶇О
this.dialogForm.partspec = '' // 浜у搧瑙勬牸
this.dialogForm.wkshopname = '' // 鐢熶骇杞﹂棿鍚嶇О
@@ -2556,6 +2626,7 @@
this.dialogForm.routecode = '' // 宸ヨ壓璺嚎缂栫爜
this.dialogForm.wkshopcode = '' // 鐢熶骇杞﹂棿缂栫爜
+ this.dialogForm.is_steprice = false// 鏄惁宸ヤ环绠$悊
this.dialogForm.planstartdate = '' // 璁″垝寮�濮嬫椂闂�
this.dialogForm.planenddate = '' // 璁″垝瀹屾垚鏃堕棿
this.dialogForm.orderlev = '' // 宸ュ崟绛夌骇
@@ -2664,11 +2735,12 @@
this.dialogVisibleSearch = false
},
// 澶勭悊鎵撳嵃
- handlePrint(wo_code) {
+ handlePrint(wo_code, saleOrderCode) {
// const number = Math.random() * Math.random()
// this.number = number === 0 ? (10 + Math.random()) : number
// console.log(number)
-
+ console.log(this.formApprove.saleOrderCode, 321)
+ this.formApprove.saleOrderCode = this.formApprove.saleOrderCode !== '' ? this.formApprove.saleOrderCode : saleOrderCode
const data2 = {
username: getCookie('admin'),
mesordercode: wo_code || this.dialogForm.mesordercode
@@ -2756,6 +2828,7 @@
dialogVisibleConfirmClose() {
// this.dialogForm.mesordercode = ''
+ this.formApprove.saleOrderCode = ''
this.formApprove.mesordercode = ''
this.formApprove.m_po = ''
this.formApprove.partcode = ''
@@ -3053,8 +3126,9 @@
},
// 琛岀偣鍑讳簨浠�
async rowClick(row, event, column) {
- this.radioSelected = row.wo_code
- const { data: res } = await SearchWorkStep({ wo_code: row.wo_code })
+ this.formApprove.saleOrderCode = row.saleOrderCode
+ this.radioSelected = row.wo_code ? row.wo_code : this.radioSelected
+ const { data: res } = await SearchWorkStep({ wo_code: this.radioSelected, storg_code: this.$store.state.settings.orgType === 'W' ? (this.switchButton ? '' : getCookie('stu_torgcode')) : '' })
this.tableDataDetail = res
},
// 鎵撳嵃宸ュ崟
--
Gitblit v1.9.3