From 9b825939b7f0a7439d704b379812362dd95697fc Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期一, 11 七月 2022 17:49:26 +0800
Subject: [PATCH] 1.优化代码2.修改实施部提出的bug3.生产开报工外协列表自动弹窗实现部分
---
src/views/scgl/sckbg.vue | 384 ++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 271 insertions(+), 113 deletions(-)
diff --git a/src/views/scgl/sckbg.vue b/src/views/scgl/sckbg.vue
index 378bd37..85e1105 100644
--- a/src/views/scgl/sckbg.vue
+++ b/src/views/scgl/sckbg.vue
@@ -8,10 +8,10 @@
<div style="display: flex;align-items: center">
<div style="width: 70px">宸ュ簭鐮侊細</div>
<el-input
- v-model="produceCode"
- oninput="value=value.replace(/[^0-9.]/g,'')"
+ v-model="form.orderstepqrcode"
+ oninput="value=value.replace(/[^0-9a-zA-Z;_]/g,'')"
name="produceCode"
- style="width: 500px"
+ style="width: 300px"
@keyup.enter.native="val=>enterNative(val,'produceCode')"
/>
</div>
@@ -30,7 +30,7 @@
<div class="elTableDiv">
<el-table
:data="tableData"
- :height="tableHeight"
+ :height="tableHeight+'px'"
border
stripe
:style="{width: 100+'%',height:tableHeight+'px',}"
@@ -39,20 +39,17 @@
:cell-style="this.$cellStyle"
@sort-change="sortChange"
>
- <!-- <el-table-column-->
- <!-- type="selection"-->
- <!-- width="50"-->
- <!-- />-->
<el-table-column
width="50"
+ fixed
>
<template slot-scope="{row}">
- <!-- <el-radio-->
- <!-- v-model="radioSelected"-->
- <!-- :label="row.wo"-->
- <!-- style="color: #fff;padding-left: 10px; margin-right: -25px;"-->
- <!-- @change.native="getCurrentRow(row.wo)"-->
- <!-- />-->
+ <el-radio
+ v-model="radioSelected"
+ :label="row.wo"
+ style="color: #fff;padding-left: 10px; margin-right: -25px;"
+ @change.native="getCurrentRow(row.wo)"
+ />
</template>
</el-table-column>
<el-table-column
@@ -61,65 +58,85 @@
label="搴忓彿"
/>
<el-table-column
- prop="org_code"
+ prop="status"
label="鐘舵��"
sortable="custom"
- />
+ width="110"
+ >
+ <template slot-scope="{row}">
+ <div v-if="row.status==='NEW'">鏂拌鍗�</div>
+ <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="org_name"
+ prop="wo_code"
label="宸ュ崟鍙�"
sortable="custom"
+ width="160"
/>
<el-table-column
- prop="description"
+ prop="partcode"
label="浜у搧缂栫爜"
sortable="custom"
+ width="150"
/>
<el-table-column
- prop="parentorg_name"
+ prop="partname"
label="浜у搧鍚嶇О"
sortable="custom"
+ width="150"
/>
<el-table-column
- prop="parentorg_name"
+ prop="seq"
+ width="80"
label="宸ュ簭"
sortable="custom"
/>
<el-table-column
- prop="parentorg_name"
+ prop="descr"
label="宸ュ簭鎻忚堪"
+ width="150"
sortable="custom"
/>
<el-table-column
- prop="parentorg_name"
+ prop="plan_qty"
label="浠诲姟鏁伴噺"
+ width="150"
sortable="custom"
/>
<el-table-column
- prop="parentorg_name"
+ prop="good_qty"
label="宸叉姤宸ユ暟閲�"
sortable="custom"
+ width="150"
/>
<el-table-column
- prop="lm_user"
+ prop="ng_qty"
label="涓嶈壇鏁伴噺"
+ width="150"
+
sortable="custom"
/>
<el-table-column
- prop="lm_date"
+ prop="plan_startdate"
label="璁″垝寮�宸ユ棩鏈�"
+ width="185"
sortable="custom"
/>
- <el-table-column
- label="鎿嶄綔"
- >
- <template slot-scope="{row}">
- <div class="operationClass">
- <el-button type="text" @click="edit('edit',row)">缂栬緫</el-button>
- <el-button 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 type="text" @click="edit('edit',row)">缂栬緫</el-button>-->
+ <!-- <el-button type="text" @click="del(row)">鍒犻櫎</el-button>-->
+ <!-- </div>-->
+ <!-- </template>-->
+ <!-- </el-table-column>-->
</el-table>
</div>
<!--鍒嗛〉-->
@@ -137,12 +154,26 @@
<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: 70px">宸ュ簭鐮侊細</div>
+ <div style="width: 90px;">澶栧崗绫诲瀷锛�</div>
+ <el-select
+ v-model="WXSelected"
+ filterable
+ style="width: 200px"
+ placeholder="璇烽�夋嫨"
+ >
+ <el-option
+ v-for="item in WXSelectArr"
+ :key="item.code"
+ :label="item.name"
+ :value="item.code"
+ />
+ </el-select>
+ <div style="width: 70px;margin-left: 20px">宸ュ簭鐮侊細</div>
<el-input
- v-model="WXproduceCode"
- oninput="value=value.replace(/[^0-9.]/g,'')"
+ v-model="WXform.orderstepqrcode"
+ oninput="value=value.replace(/[^0-9a-zA-Z;_]/g,'')"
name="WXproduceCode"
- style="width: 500px"
+ style="width: 300px"
@keyup.enter.native="val=>enterNative(val,'WXproduceCode')"
/>
</div>
@@ -161,29 +192,26 @@
<div class="elTableDiv">
<el-table
:data="WXtableData"
- :height="tableHeight"
+ :height="tableHeight+'px'"
border
stripe
:style="{width: 100+'%',height:tableHeight+'px',}"
highlight-current-row
:header-cell-style="this.$headerCellStyle"
:cell-style="this.$cellStyle"
- @sort-change="sortChange"
+ @sort-change="WXsortChange"
>
- <!-- <el-table-column-->
- <!-- type="selection"-->
- <!-- width="50"-->
- <!-- />-->
<el-table-column
width="50"
+ fixed
>
<template slot-scope="{row}">
- <!-- <el-radio-->
- <!-- v-model="radioSelected"-->
- <!-- :label="row.wo"-->
- <!-- style="color: #fff;padding-left: 10px; margin-right: -25px;"-->
- <!-- @change.native="getCurrentRow(row.wo)"-->
- <!-- />-->
+ <el-radio
+ v-model="radioSelected"
+ :label="row.wo_code"
+ style="color: #fff;padding-left: 10px; margin-right: -25px;"
+ @change.native="getWXCurrentRow(row.wo_code)"
+ />
</template>
</el-table-column>
<el-table-column
@@ -192,65 +220,85 @@
label="搴忓彿"
/>
<el-table-column
- prop="org_code"
+ prop="status"
label="鐘舵��"
sortable="custom"
- />
+ width="110"
+ >
+ <template slot-scope="{row}">
+ <div v-if="row.status==='NEW'">鏂拌鍗�</div>
+ <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="org_name"
+ prop="wo_code"
label="宸ュ崟鍙�"
sortable="custom"
+ width="160"
/>
<el-table-column
- prop="description"
+ prop="partcode"
label="浜у搧缂栫爜"
sortable="custom"
+ width="150"
/>
<el-table-column
- prop="parentorg_name"
+ prop="partname"
label="浜у搧鍚嶇О"
sortable="custom"
+ width="150"
/>
<el-table-column
- prop="parentorg_name"
+ prop="stepname"
+ width="100"
label="宸ュ簭"
sortable="custom"
/>
<el-table-column
- prop="parentorg_name"
+ prop="descr"
label="宸ュ簭鎻忚堪"
+ width="150"
sortable="custom"
/>
<el-table-column
- prop="parentorg_name"
+ prop="plan_qty"
label="浠诲姟鏁伴噺"
+ width="150"
sortable="custom"
/>
<el-table-column
- prop="parentorg_name"
+ prop="good_qty"
label="宸叉姤宸ユ暟閲�"
sortable="custom"
+ width="150"
/>
<el-table-column
- prop="lm_user"
+ prop="ng_qty"
label="涓嶈壇鏁伴噺"
+ width="150"
+
sortable="custom"
/>
<el-table-column
- prop="lm_date"
+ prop="plan_startdate"
label="璁″垝寮�宸ユ棩鏈�"
+ width="185"
sortable="custom"
/>
- <el-table-column
- label="鎿嶄綔"
- >
- <template slot-scope="{row}">
- <div class="operationClass">
- <el-button type="text" @click="edit('edit',row)">缂栬緫</el-button>
- <el-button 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 type="text" @click="edit('edit',row)">缂栬緫</el-button>-->
+ <!-- <el-button type="text" @click="del(row)">鍒犻櫎</el-button>-->
+ <!-- </div>-->
+ <!-- </template>-->
+ <!-- </el-table-column>-->
</el-table>
</div>
<!--鍒嗛〉-->
@@ -282,34 +330,34 @@
>
<el-form ref="dialogForm" inline :model="dialogForm" label-width="110px">
<el-form-item label="宸ュ崟缂栧彿锛�">
- <!-- <el-input v-model="dialogForm.name"></el-input>-->
- <div style="width: 200px">PO2022050500001</div>
+ <div style="width: 200px">{{ dialogForm.wo_code }}</div>
</el-form-item>
<el-form-item label="浜у搧缂栫爜锛�">
- <div style="width: 200px">427100</div>
+ <div style="width: 200px">{{ dialogForm.partcode }}</div>
</el-form-item>
<el-form-item label="浜у搧鍚嶇О锛�">
- <div style="width: 200px">鏈虹鏉垮簳</div>
+ <div style="width: 200px">{{ dialogForm.partname }}</div>
</el-form-item>
<el-form-item label="浜у搧瑙勬牸锛�">
- <div style="width: 200px">鏈虹搴曟澘&1</div>
+ <div style="width: 200px">{{ dialogForm.partspec }}</div>
</el-form-item>
<el-form-item label="褰撳墠宸ュ簭锛�">
- <div style="width: 200px">婵�鍏夊垏鍓�</div>
+ <div style="width: 200px">{{ dialogForm.stepname }}</div>
</el-form-item>
<el-form-item label="宸ュ簭鎻忚堪锛�">
- <el-tooltip class="item" effect="dark" content="鍘熸潗鏂欏垏鎸夋潗鏂欏垏鎸夋潗鏂欏垏鎸夋椂鎵撳崱鏁版嵁鐨勫崱" placement="top-start">
- <div style="width: 200px;white-space: nowrap;text-overflow: ellipsis;overflow: hidden;">
- 鍘熸潗鏂欏垏鎸夋潗鏂欏垏鎸夋潗鏂欏垏鎸夋椂鎵撳崱鏁版嵁鐨勫崱
- </div>
- </el-tooltip>
+ <!-- <el-tooltip class="item" effect="dark" content="鍘熸潗鏂欏垏鎸夋潗鏂欏垏鎸夋潗鏂欏垏鎸夋椂鎵撳崱鏁版嵁鐨勫崱" placement="top-start">-->
+ <div style="width: 200px;white-space: nowrap;text-overflow: ellipsis;overflow: hidden;">
+ {{ dialogForm.stepdesc }}
+ </div>
+ <!-- </el-tooltip>-->
</el-form-item>
<el-form-item label="浠诲姟鏁伴噺锛�">
- <div style="width: 200px">1000</div>
+ <div style="width: 200px">{{ dialogForm.planqty }}</div>
</el-form-item>
- <el-form-item label="鏈姤/宸叉姤锛�">
- <div style="width: 200px">900/100</div>
+ <el-form-item :label="dialogTitle==='鑷埗寮�濮�'||dialogTitle==='鑷埗鎶ュ伐'?'鏈姤/宸叉姤锛�':'鏈彂/宸插彂锛�'">
+ <div style="width: 200px">{{ dialogForm.noreportqty }}/{{ dialogForm.reportqty }}</div>
</el-form-item>
+
<el-form-item v-if="dialogTitle==='鑷埗寮�濮�'" label="寮�宸ユ暟閲忥細">
<div style="width: 200px">1000</div>
</el-form-item>
@@ -547,11 +595,18 @@
import { AddUpdateOrganization, DeleteOrganization, OrganizationSearch, PrentOrganization } from '@/api/jcsz'
import { getCookie } from '@/utils/auth'
import $ from 'jquery'
-import { MesOrderStepReportSelectUserGroup, MesOrderStepSearch, MesOrderStepStartSelectEqp } from '@/api/scgl'
+import {
+ MesOrderGroupSelectUser,
+ MesOrderStepReportSelectUserGroup,
+ MesOrderStepSearch, MesOrderStepStart,
+ MesOrderStepStartSelectEqp,
+ MesOrderWxStepSearch
+} from '@/api/scgl'
+import { MesOrderStepSelectWX } from '@/api/sbgl'
const SER_HZ = /^[\u4e00-\u9fa5]+$/
export default {
- name: 'Zzjg',
+ name: 'SCKBG',
components: {
Pagination
},
@@ -579,32 +634,60 @@
tableHeight: 0,
produceCode: '', // 宸ュ簭鐮�
WXproduceCode: '', // 澶栧崗宸ュ簭鐮�
+ radioSelected: '', // 宸ュ簭閫変腑
+ WXradioSelected: '', // 宸ュ簭閫変腑
form: {
- orderstepqrcode: '', // 鎵弿鐨勪簩缁寸爜淇℃伅
- prop: 'lm_date', // 鎺掑簭瀛楁
- order: 'desc', // 鎺掑簭瀛楁
+ orderstepqrcode: 'PO202206280001_4;Step01', // 鎵弿鐨勪簩缁寸爜淇℃伅
+ prop: 'wo', // 鎺掑簭瀛楁
+ order: 'asc', // 鎺掑簭瀛楁
page: 1, // 绗嚑椤�
rows: 20 // 姣忛〉澶氬皯鏉�
},
total: 10,
tableData: [],
WXform: { // 澶栧崗琛ㄥ崟
- orderstepqrcode: '', // 鎵弿鐨勪簩缁寸爜淇℃伅
- prop: 'lm_date', // 鎺掑簭瀛楁
- order: 'desc', // 鎺掑簭瀛楁
+ // PO202206280001_4;Step01
+ orderstepqrcode: 'PO202206280001_4;Step01', // 鎵弿鐨勪簩缁寸爜淇℃伅
+ prop: 'wo_code', // 鎺掑簭瀛楁
+ order: 'asc', // 鎺掑簭瀛楁
page: 1, // 绗嚑椤�
rows: 20 // 姣忛〉澶氬皯鏉�
},
WXtotal: 10, // 澶栧崗琛ㄥ崟鎬绘暟
WXtableData: [], // 澶栧崗琛�
+ WXSelectArr: [// 澶栧崗绫诲瀷涓嬫媺鍒楄〃
+ { code: 'OUT', name: '鍙戞枡' },
+ { code: 'IN', name: '鏀舵枡' }
+ ],
+ WXSelected: 'OUT', // 澶栧崗涓嬫媺鍒楄〃閫変腑鍊�
+
+ judgeIsDialog: false, // 鍒ゆ柇鏄惁鑷姩寮圭獥
+ judgeIsDialogNumber: false, // 鍒ゆ柇寮瑰摢涓獥
+
dialogVisible: false,
dialogTitle: '', // 鑷埗寮�濮嬨�佽嚜鍒舵姤宸ャ�佸鍗忓彂鏂欍�佸鍗忔敹鏂�
dialogForm: {
- OrgType: '',
- OrgCode: '',
- OrgName: '',
- SupUnit: ''// 涓婄骇鍗曚綅
+ wo_code: '', // 宸ュ崟缂栧彿
+ partcode: '', // 浜у搧缂栫爜
+ partname: '', // 浜у搧鍚嶇О
+ partspec: '', // 浜у搧瑙勬牸
+ stepname: '', // 褰撳墠宸ュ簭鍚�
+ nextstepname: '', // 涓嬩竴閬撳伐搴忓悕
+ stepdesc: '', // 宸ュ簭鎻忚堪
+ planqty: '', // 浠诲姟鏁伴噺
+ reportqty: '', // 宸叉姤鏁伴噺
+ noreportqty: '', // 鏈姤鏁伴噺
+ startqty: '' // 鍙戞枡鏁伴噺
+
+ // eqpcode: '', // 璁惧缂栫爜
+ // usergroupcode: '', // 鐝粍缂栫爜
+ // reportuser: '', // 鎶ュ伐浜哄憳
+ // taskqty: '', // 浠诲姟鏁伴噺
+ // startqty: '', // 寮�宸ユ暟閲�
+ // reportqty: '', // 鎶ュ伐鏁伴噺
+ // ngqty: '' // 涓嶈壇鏁伴噺
+
},
userTableData: [
{ RowNum: 1, name: '寮犱笁' },
@@ -633,7 +716,8 @@
}
},
created() {
- this.getMesOrderStepSearch()
+ // this.getMesOrderStepSearch()
+ this.tabClick()
},
mounted() {
window.addEventListener('resize', this.getHeight)
@@ -645,9 +729,17 @@
},
methods: {
async getMesOrderStepSearch() {
- // const res = await MesOrderStepSearch(this.form)
- // this.tableData = res.data
- // this.total = res.count
+ const res = await MesOrderStepSearch(this.form)
+ if (res.code === '200') {
+ this.tableData = res.data
+ this.total = res.count
+ }
+ },
+ async getMesOrderWxStepSearch() {
+ const res = await MesOrderWxStepSearch(this.WXform)
+ if (res.code === '200') {
+ this.WXtableData = res.data
+ }
},
// 鎺掑簭鏀瑰彉鏃�
sortChange({ column, prop, order }) {
@@ -662,8 +754,27 @@
this.form.prop = prop
this.getMesOrderStepSearch()
},
- getCurrentRow() {
+ // WX鎺掑簭鏀瑰彉鏃�
+ WXsortChange({ column, prop, order }) {
+ if (order === 'descending') {
+ order = 'desc'
+ } else if (order === 'ascending') {
+ order = 'asc'
+ } else {
+ order = 'desc'
+ }
+ this.WXform.order = order
+ this.WXform.prop = prop
+ this.getMesOrderWxStepSearch()
+ },
+ // 鑷埗椤电鍘熺偣鐐瑰嚮
+ getCurrentRow(val) {
+ },
+ // 澶栧崗椤电鍘熺偣鐐瑰嚮
+ getWXCurrentRow(val) {
+ console.log(val)
+ this.WXradioSelected = val
},
// tab鎸夐挳鍒囨崲榧犳爣鑷姩鑱氱劍
tabClick(val, d) {
@@ -679,10 +790,16 @@
})
}
},
+ // 鎵爜閿洏鍥炶溅浜嬩欢
async enterNative(val, belong) {
console.log(val, belong)
+ // 寮�宸ワ細code="200" count=0
+ // 鎶ュ伐锛歝ode="200" count=1
+ // 鍙戞枡锛歝ode="200" count=2
+ // 鏀舵枡锛歝ode="200" count=3
+ // 璧板垪琛ㄥ舰寮� code="200" count=4
if (belong === 'produceCode') {
- this.ZZreport()
+ // this.ZZreport()
// 鏌ユ壘璁惧
// const {data:res} = await MesOrderStepStartSelectEqp({ orderstepqrcode: this.produceCode })
// this.xxx=res
@@ -690,7 +807,15 @@
// const { data: res2 } = await MesOrderStepReportSelectUserGroup()
}
if (belong === 'WXproduceCode') {
-
+ const data = {
+ OperType: 'WX',
+ orderstepqrcode: this.WXform.orderstepqrcode,
+ SelectType: this.WXSelected// OUT銆両N
+ }
+ const res = await MesOrderStepStart(data)
+ if (res.code === '200' && res.count === 2) {
+ this.WXsend(res.data)
+ }
}
},
// 鏌ヨ
@@ -698,29 +823,58 @@
this.getMesOrderStepSearch()
},
// 鑷埗寮�濮�
- ZZstart() {
+ async ZZstart() {
this.dialogTitle = '鑷埗寮�濮�'
- this.dialogVisible = true
+ // this.dialogVisible = true
+ this.dialogVisibleTrue()
+
+ const res = await MesOrderStepStartSelectEqp({ orderstepqrcode: produceCode })
},
// 鑷埗鎶ュ伐
ZZreport() {
this.dialogTitle = '鑷埗鎶ュ伐'
- this.dialogVisible = true
+ // this.dialogVisible = true
+ this.dialogVisibleTrue()
this.getUserTableData()
},
// 澶栧崗鍙戞枡
- WXsend() {
+ async WXsend(obj) {
+ if (this.WXradioSelected.length < 1 && obj.length < 1) {
+ return this.$message.info('璇峰厛閫夋嫨宸ュ簭锛�')
+ }
this.dialogTitle = '澶栧崗鍙戞枡'
this.dialogVisible = true
+ console.log(obj, 321)
+ this.dialogForm.wo_code = obj.wo_code
+ this.dialogForm.partcode = obj.partnumber
+ this.dialogForm.partname = obj.partname
+ this.dialogForm.partspec = obj.partspec
+ 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.startqty = obj.startqty
+
+ // const data = {
+ //
+ // }
+ // const res = await MesOrderStepSelectWX(data)
+ // console.log(res)
},
// 澶栧崗鏀舵枡
WXback() {
this.dialogTitle = '澶栧崗鏀舵枡'
- this.dialogVisible = true
+ this.dialogVisibleTrue()
+ // this.dialogVisible = true
+ },
+ dialogVisibleTrue() {
+ // this.dialogVisible = true
+ // this.dialogForm.wo_code=
},
// 鎶ュ伐鏌ヨ鐢ㄦ埛琛�
async getUserTableData() {
- // const res = await MesOrderGroupSelectUser({usergroupcode:this.})
+ // const { data: res } = await MesOrderGroupSelectUser({ usergroupcode: 'SC01' })
this.userTableData.forEach(item => {
let number = Math.random() * Math.random()// 浣滀负鍒犻櫎鏃剁殑鏍囪瘑绗�
number = number === 0 ? (10 + Math.random()) : number
@@ -986,12 +1140,16 @@
border-color: $main_color;
}
-.dialogVisible{
+//.dialogVisible{
::v-deep .el-select .el-input .el-select__caret {
display: flex;
align-items: center;
justify-content: center;
}
+//}
+.elTableDiv {
+ ::v-deep .el-radio__label {
+ display: none;
+ }
}
-
</style>
--
Gitblit v1.9.3