From 6082f939a0b869db7957473e2792501c1ff57a43 Mon Sep 17 00:00:00 2001
From: 小小儁爺 <1694218219@qq.com>
Date: 星期三, 06 五月 2026 17:05:07 +0800
Subject: [PATCH] 1.报工调整修改、打印模板修改
---
src/views/produce/reportCorrect.vue | 274 ++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 253 insertions(+), 21 deletions(-)
diff --git a/src/views/produce/reportCorrect.vue b/src/views/produce/reportCorrect.vue
index 26c5628..0ac0b91 100644
--- a/src/views/produce/reportCorrect.vue
+++ b/src/views/produce/reportCorrect.vue
@@ -2,7 +2,11 @@
<div>
<div class="body" :style="{height:mainHeight+'px'}">
- <div class="bodyTopFormGroup" style="margin-top: 10px;">
+ <div class="bodyTopButtonGroup" style="justify-content: space-between">
+ <el-button v-waves type="warning" icon="el-icon-edit" @click="batchUpdate">鎵归噺淇敼宸ヤ环</el-button>
+ </div>
+
+ <div class="bodyTopFormGroup">
<el-form
ref="form"
:model="form"
@@ -30,16 +34,37 @@
<el-form-item label="宸ュ崟缂栫爜" style=" display: flex;">
<el-input v-model="form.wo_code" placeholder="璇疯緭鍏�" style="width: 200px" />
</el-form-item>
- <el-form-item label="浜у搧缂栫爜" style=" display: flex;">
+ <el-form-item label="璁㈠崟鍙�" style=" display: flex;">
+ <el-input v-model="form.orderno" placeholder="璇疯緭鍏�" style="width: 200px" />
+ </el-form-item>
+ <el-form-item label="閿�鍞崟鍙�" style=" display: flex;">
+ <el-input v-model="form.saorderno" placeholder="璇疯緭鍏�" style="width: 200px" />
+ </el-form-item>
+ <el-form-item v-show="isExpandForm" label="浜у搧缂栫爜" style=" display: flex;">
<el-input v-model="form.partnumber" placeholder="璇疯緭鍏�" style="width: 200px" />
</el-form-item>
- <el-form-item label="浜у搧鍚嶇О" style=" display: flex;">
+ <el-form-item v-show="isExpandForm" label="浜у搧鍚嶇О" style=" display: flex;">
<el-input v-model="form.partname" placeholder="璇疯緭鍏�" style="width: 200px" />
</el-form-item>
<el-form-item v-show="isExpandForm" label="浜у搧瑙勬牸" style=" display: flex;">
<el-input v-model="form.partspec" placeholder="璇疯緭鍏�" style="width: 200px" />
</el-form-item>
-
+ <el-form-item v-show="isExpandForm" label="宸ュ簭鍚嶇О" style=" display: flex;">
+ <el-select
+ v-model="form.stepcode"
+ filterable
+ :popper-append-to-body="false"
+ style="width: 200px"
+ placeholder="璇烽�夋嫨"
+ >
+ <el-option
+ v-for="item in stepCodeArr"
+ :key="item.stepcode"
+ :label="item.stepname"
+ :value="item.stepcode"
+ />
+ </el-select>
+ </el-form-item>
<el-form-item v-show="isExpandForm" label="鎶ュ伐浜哄憳" style=" display: flex;">
<el-input v-model="form.reportuser" placeholder="璇疯緭鍏�" style="width: 200px" />
</el-form-item>
@@ -89,10 +114,10 @@
ref="tableDataRef"
class="tableFixed"
:data="tableData"
- :height="isExpandForm?tableHeight:(tableHeight+40)+'px'"
+ :height="isExpandForm?tableHeight:(tableHeight+80)+'px'"
border
row-class-name="custom-row"
- :style="{width: 100+'%',height:isExpandForm?tableHeight:(tableHeight+40)+'px',}"
+ :style="{width: 100+'%',height:isExpandForm?tableHeight:(tableHeight+80)+'px',}"
highlight-current-row
:header-cell-style="this.$headerCellStyle"
:cell-style="this.$cellStyle"
@@ -117,6 +142,28 @@
min-width="160"
show-overflow-tooltip
/>
+ <el-table-column
+ prop="m_po"
+ label="璁㈠崟鍙�"
+ min-width="160"
+ show-tooltip-when-overflow
+ sortable="custom"
+ >
+ <template slot-scope="{row}">
+ {{ row.m_po?row.m_po:'/' }}
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="saleOrderCode"
+ label="閿�鍞崟鍙�"
+ min-width="160"
+ show-tooltip-when-overflow
+ sortable="custom"
+ >
+ <template slot-scope="{row}">
+ {{ row.saleOrderCode?row.saleOrderCode:'/' }}
+ </template>
+ </el-table-column>
<el-table-column
prop="partnumber"
label="浜у搧缂栫爜"
@@ -191,6 +238,13 @@
{{ row.steptype === 'Z' ? '鑷埗' : '澶栧崗' }}
</template>
</el-table-column>
+ <el-table-column
+ prop="step_price"
+ label="宸ュ簭宸ヤ环"
+ show-overflow-tooltip
+ sortable="custom"
+ min-width="110"
+ />
<el-table-column
prop="wx_name"
label="渚涘簲鍟�"
@@ -305,6 +359,12 @@
</div>
<!-- <el-input v-model="dialogForm.postcode" style="width: 200px" />-->
</el-form-item>
+ <el-form-item label="璁㈠崟鍙�" class="dialogFormItem">
+ <div style="width: 200px;">
+ {{ dialogForm.m_po }}
+ </div>
+ <!-- <el-input v-model="dialogForm.postcode" style="width: 200px" />-->
+ </el-form-item>
<el-form-item label="浜у搧缂栫爜" class="dialogFormItem">
<div style="width: 200px;">
{{ dialogForm.partnumber }}
@@ -337,19 +397,57 @@
/>
</el-form-item>
<el-form-item v-if="dialogForm.flw_type==='Z'" label="鎶ュ伐鐝粍" class="dialogFormItem">
- <div style="width: 200px;" class="ellipsis">
- {{ dialogForm.usergroup_name ? dialogForm.usergroup_name : '/' }}
- </div>
+ <!-- <div style="width: 200px;" class="ellipsis">-->
+ <!-- {{ dialogForm.usergroup_name ? dialogForm.usergroup_name : '/' }}-->
+ <!-- </div>-->
+
+ <el-select
+ v-model="dialogForm.groupcode"
+ style="width:200px"
+ placeholder="璇烽�夋嫨"
+ filterable
+ :disabled="dialogForm.groupcode===''"
+ :popper-append-to-body="false"
+ @change="usergroupChange"
+ >
+ <el-option
+ v-for="item in usergroupArr"
+ :key="item.usergroupcode"
+ :label="item.usergroupname"
+ :value="item.usergroupcode"
+ />
+ </el-select>
+
</el-form-item>
<el-form-item v-if="dialogForm.flw_type!=='Z'" label="渚涘簲鍟�" class="dialogFormItem">
<div style="width: 200px;" class="ellipsis">
{{ dialogForm.wx_name }}
</div>
</el-form-item>
- <el-form-item label="鎶ュ伐浜哄憳" class="dialogFormItem">
- <div style="width: 200px;" class="ellipsis">
- {{ dialogForm.username }}
- </div>
+ <el-form-item label="鎶ュ伐浜哄憳" class="dialogFormItem" prop="usercode">
+ <!-- <div style="width: 200px;" class="ellipsis">-->
+ <!-- {{ dialogForm.username }}-->
+ <!-- </div>-->
+
+ <el-select
+ v-model="dialogForm.usercode"
+ style="width:200px"
+ placeholder="璇烽�夋嫨"
+ filterable
+ multiple
+ collapse-tags
+ :multiple-limit="dialogForm.groupcode===''?1:0"
+ :disabled="dialogForm.groupcode===''&&dialogForm.usergroupcode===''"
+ :popper-append-to-body="false"
+ >
+ <el-option
+ v-for="item in reportuserArr"
+ :key="item.usercode"
+ :label="item.usercode+' / '+item.username"
+ :value="item.usercode"
+ />
+ </el-select>
+
</el-form-item>
<el-form-item :label="dialogForm.flw_type==='Z'?'鍚堟牸鏁伴噺':'鏀舵枡鏁伴噺'" prop="report_qty" class="dialogFormItem">
<el-input
@@ -464,6 +562,47 @@
</span>
</el-dialog>
+ <el-dialog
+ v-el-drag-dialog
+ title="鎵归噺宸ヤ环璋冩暣"
+ :visible.sync="batchUpdateDialogVisible"
+ width="1080px"
+ :close-on-click-modal="false"
+ top="15vh"
+ @closed="batchUpdateHandleClose"
+ @close="batchUpdateHandleClose"
+ >
+ <div style="display: flex;align-items: center">
+ <div>
+ 淇敼涓猴細
+ </div>
+ <el-input-number
+ v-model="stepPriceEdit"
+ size="medium"
+ :precision="2"
+ :step="0.1"
+ :min="0"
+ style="margin: 0 10px 5px"
+ />
+ <div>
+ 鍏� / 浠�
+ </div>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <div class="footerButton">
+ <el-button v-waves @click="batchUpdateDialogVisibleCancel">鍙� 娑�</el-button>
+ <el-button
+ v-waves
+ type="primary"
+ :loading="$store.state.app.buttonIsDisabled"
+ :disabled="$store.state.app.buttonIsDisabled"
+ @click="batchUpdateDialogVisibleConfirm"
+ >纭� 瀹�</el-button>
+ </div>
+ </span>
+
+ </el-dialog>
+
</div>
</template>
@@ -472,8 +611,18 @@
import { handleDatetime } from '@/utils/global'
import elDragDialog from '@/directive/el-drag-dialog'
import waves from '@/directive/waves'
-import { DefectPermissions, PrentOrganizationNoCompany } from '@/api/GeneralBasicData'
-import { MesOrderStepModelSearch, MesOrderStepUpdateSeave, MesOrderStepVerifySearch } from '@/api/WorkOrder'
+import {
+ DefectPermissions,
+ GroupsPermissions, GroupsPersonPermissions,
+ PersonPermissions,
+ PrentOrganizationNoCompany,
+ StepData
+} from '@/api/GeneralBasicData'
+import {
+ MesOrderStepModelSearch, MesOrderStepPriceBatchUpdateSeave,
+ MesOrderStepUpdateSeave,
+ MesOrderStepVerifySearch
+} from '@/api/WorkOrder'
export default {
name: 'ReportCorrect',
@@ -489,13 +638,15 @@
tableHeight: 0,
form: {
wkshopcode: '',
+ orderno: '',
wo_code: '', // 宸ュ崟缂栫爜
partnumber: '', // 浜у搧缂栫爜
partname: '', // 浜у搧鍚嶇О
partspec: '', // 浜у搧瑙勬牸
reportuser: '', // 鎶ュ伐浜哄憳
reportdate: '', // 鎶ュ伐鏃堕棿
-
+ stepcode: '',
+ saorderno: '',
prop: 'report_date', // 鎺掑簭瀛楁
order: 'desc', // 鎺掑簭瀛楁
page: 1, // 绗嚑椤�
@@ -540,8 +691,16 @@
dialogFormRules: {
report_qty: [
{ required: true, message: '璇疯緭鍏ュ悎鏍兼暟閲�', trigger: ['blur', 'change'] }
+ ],
+ usercode: [
+ { required: true, message: '璇烽�夋嫨鎶ュ伐浜哄憳', trigger: ['blur', 'change'] }
]
- }
+ },
+ stepCodeArr: [], // 涓嬫媺宸ュ簭闆嗗悎
+ batchUpdateDialogVisible: false,
+ stepPriceEdit: 0,
+ usergroupArr: [],
+ reportuserArr: []
}
},
@@ -552,6 +711,7 @@
this.getMesOrderStepVerifySearch()
this.getDefectPermissions()
this.getPrentOrganizationNoCompany()
+ this.getStepData()
},
created() {
},
@@ -562,8 +722,70 @@
this.getMesOrderStepVerifySearch()
this.getDefectPermissions()
this.getPrentOrganizationNoCompany()
+ this.getStepData()
},
methods: {
+ // 鎵归噺淇敼宸ュ簭
+ batchUpdate() {
+ // this.$confirm('鏄惁纭淇敼?', '鎻愮ず', {
+ // confirmButtonText: '纭畾',
+ // cancelButtonText: '鍙栨秷',
+ // type: 'warning'
+ // }).then(() => {
+ //
+ // }).catch(() => {
+ // this.$notify.info('宸插彇娑堜慨鏀癸紒')
+ // })
+ this.batchUpdateDialogVisible = true
+ },
+ batchUpdateDialogVisibleCancel() {
+ this.batchUpdateDialogVisible = false
+ },
+ batchUpdateDialogVisibleConfirm() {
+ this.$confirm('鏄惁纭淇敼?', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ const data = []
+ // "id": "string",
+ // "price": "string",
+ // "type": "string"
+ // data = this.tableData.map(i => { id:i.id price:i.step_price, type:i.steptype})
+ this.tableData.forEach(i => {
+ data.push({
+ id: i.id, price: this.stepPriceEdit, type: i.style
+ })
+ })
+ MesOrderStepPriceBatchUpdateSeave(data).then(res => {
+ if (res.code === '200') {
+ this.batchUpdateDialogVisible = false
+ this.$message.success('淇敼鎴愬姛锛�')
+ this.getMesOrderStepVerifySearch()
+ }
+ })
+ }).catch(() => {
+ this.$notify.info('宸插彇娑堜慨鏀癸紒')
+ })
+ },
+ batchUpdateHandleClose() {
+ this.stepPriceEdit = 0
+ },
+ async usergroupChange(val) {
+ const { data: res } = await GroupsPersonPermissions({ groupcode: val })
+ this.dialogForm.usercode = res[0].usercode_list ? res[0].usercode_list.split(',') : []
+ },
+ // 鑾峰彇宸ュ簭鍩虹璧勬枡
+ async getStepData() {
+ const { data: res } = await StepData()
+ this.stepCodeArr = res
+
+ const { data: res1 } = await GroupsPermissions()// 鐝粍
+ this.usergroupArr = res1
+
+ const { data: res2 } = await PersonPermissions() // 浜哄憳
+ this.reportuserArr = res2
+ },
async getPrentOrganizationNoCompany() {
const { data: res } = await PrentOrganizationNoCompany()
this.wkshopcodeArr = res
@@ -585,8 +807,10 @@
partname: this.form.partname,
partspec: this.form.partspec,
reportuser: this.form.reportuser,
+ stepcode: this.form.stepcode,
reportdate: tempDate,
-
+ orderno: this.form.orderno,
+ saorderno: this.form.saorderno,
prop: this.form.prop, // 鎺掑簭瀛楁
order: this.form.order, // 鎺掑簭瀛楁
page: this.form.page, // 绗嚑椤�
@@ -613,11 +837,14 @@
reset() {
this.form.wkshopcode = ''
this.form.wo_code = ''
+ this.form.saorderno = ''
+ this.form.orderno = ''
this.form.partnumber = ''
this.form.partname = ''
this.form.partspec = ''
this.form.reportuser = ''
this.form.reportdate = ''
+ this.form.stepcode = ''
this.getMesOrderStepVerifySearch()
},
@@ -636,6 +863,7 @@
if (res.code === '200') {
this.dialogForm.id = row.id
this.dialogForm.sbid = row.sbid
+ this.dialogForm.m_po = row.m_po
this.dialogForm.wo_code = row.wo_code
this.dialogForm.partnumber = row.partnumber
this.dialogForm.partname = row.partname
@@ -651,7 +879,7 @@
this.dialogForm.last_choke = row.last_choke
this.dialogForm.unprice = row.step_price
this.dialogForm.groupcode = row.usergroup_code
- this.dialogForm.usercode = row.usercode
+ this.dialogForm.usercode = row.usercode.split(',')
this.dialogForm.usergroup_name = row.usergroup_name
this.dialogForm.username = row.username
this.dialogForm.report_date = row.report_date
@@ -717,7 +945,7 @@
'last_choke': this.dialogForm.last_choke,
'unprice': this.dialogForm.unprice,
'groupcode': this.dialogForm.groupcode,
- 'usercode': this.dialogForm.usercode,
+ 'usercode': this.dialogForm.usercode.join(','),
wxcode: this.dialogForm.wx_code,
'report_date': this.dialogForm.report_date,
'report_qty': parseFloat(this.dialogForm.report_qty),
@@ -744,7 +972,7 @@
getHeight() {
this.$nextTick(() => {
this.mainHeight = window.innerHeight - 85
- this.tableHeight = this.mainHeight - 205
+ this.tableHeight = this.mainHeight - 295
this.$refs.tableDataRef.doLayout()
})
}
@@ -789,4 +1017,8 @@
align-items: center;
}
+::v-deep .el-input--medium >input{
+ height: 36px !important;
+}
+
</style>
--
Gitblit v1.9.3