From 6b32ec29b1cd3ed12845d543e18da18f8456cdda Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期二, 18 十月 2022 18:18:33 +0800
Subject: [PATCH] 1.安灯设置开发完成
---
src/views/zzmx/chda.vue | 254 ++++++++++++++++++++++++++++++++++----------------
1 files changed, 170 insertions(+), 84 deletions(-)
diff --git a/src/views/zzmx/chda.vue b/src/views/zzmx/chda.vue
index 296eba2..1916029 100644
--- a/src/views/zzmx/chda.vue
+++ b/src/views/zzmx/chda.vue
@@ -2,24 +2,27 @@
<div>
<div class="body" :style="{height:mainHeight+'px'}">
- <div class="bodyTopButtonGroup">
+ <div class="bodyTopButtonGroup" style="justify-content: space-between;">
+
<el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
<!-- <el-button type="primary" icon="el-icon-office-building" @click="office">鍗曚綅</el-button>-->
- <el-button
- icon="el-icon-refresh-right"
- @click="syncSeaveSearchUnit"
- >鍚屾璁¢噺鍗曚綅
- </el-button>
- <el-button
- icon="el-icon-refresh-right"
- @click="syncInventoryFileSelect"
- >鍚屾瀛樿揣妗f
- </el-button>
- <el-button
- icon="el-icon-refresh-right"
- @click="syncStockTypeSelect"
- >鍚屾瀛樿揣绫诲瀷
- </el-button>
+ <div style="display: flex">
+ <el-button
+ icon="el-icon-refresh-right"
+ @click="syncSeaveSearchUnit"
+ >鍚屾璁¢噺鍗曚綅
+ </el-button>
+ <el-button
+ icon="el-icon-refresh-right"
+ @click="syncInventoryFileSelect"
+ >鍚屾瀛樿揣妗f
+ </el-button>
+ <el-button
+ icon="el-icon-refresh-right"
+ @click="syncStockTypeSelect"
+ >鍚屾瀛樿揣绫诲瀷
+ </el-button>
+ </div>
<!-- <el-button type="primary" icon="el-icon-upload2" @click="upload">瀵煎叆</el-button>-->
</div>
@@ -27,12 +30,12 @@
<el-form
ref="form"
:model="form"
- label-width="80px"
+ label-width="100px"
inline
style="display: flex;justify-content: space-between"
>
<div class="elForm">
- <el-form-item label="鐗╂枡缂栫爜" style=" display: flex;">
+ <el-form-item label-width="70px" label="鐗╂枡缂栫爜" style=" display: flex;">
<el-input v-model="form.partcode" placeholder="璇疯緭鍏�" style="width: 200px" />
</el-form-item>
<el-form-item label="鐗╂枡鍚嶇О" style=" display: flex;">
@@ -75,7 +78,7 @@
/>
</el-select>
</el-form-item>
- <el-form-item label="鎵�灞炰粨搴�" style=" display: flex;">
+ <el-form-item v-show="isExpandForm" label-width="70px" label="鎵�灞炰粨搴�" style=" display: flex;">
<el-select
v-model="form.storehousecode"
filterable
@@ -93,19 +96,39 @@
</el-select>
</el-form-item>
</div>
- <div style="display: flex;align-items: start;margin-top: 5px;z-index: 2">
+ <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened?'5%':'10%'}">
<el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
<el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
</div>
</el-form>
+ <div
+ class="bodyTopFormExpand"
+ >
+ <svg-icon
+ v-show="mouseHoverType==='mouseout'"
+ style="cursor: pointer"
+ :icon-class="!isExpandForm?'doubleDown3':'doubleUp3'"
+ @mouseenter="mouseHoverType=$event.type"
+ />
+ <svg-icon
+ v-show="mouseHoverType==='mouseenter'"
+ style="cursor: pointer"
+ :icon-class="!isExpandForm?'doubleDown':'doubleUp'"
+ @click="isExpandForm=!isExpandForm"
+ @mouseout="mouseHoverType=$event.type"
+ />
+ </div>
</div>
<div class="elTableDiv">
<el-table
+ ref="tableDataRef"
+ class="tableFixed"
:data="tableData"
border
- :height="tableHeight"
+ :height="isExpandForm?tableHeight:(tableHeight+40)+'px'"
width="100%"
+ :style="{width: 100+'%',height:isExpandForm?tableHeight:(tableHeight+40)+'px',}"
:row-class-name="tableRowClassName"
highlight-current-row
:header-cell-style="this.$headerCellStyle"
@@ -138,8 +161,14 @@
prop="partspec"
label="鐗╂枡瑙勬牸"
width="110"
+ show-tooltip-when-overflow
sortable="custom"
- />
+ >
+ <template slot-scope="{row}">
+ <div v-if="row.partspec">{{ row.partspec }}</div>
+ <div v-else>/</div>
+ </template>
+ </el-table-column>
<el-table-column
prop="uom_name"
label="鍗曚綅"
@@ -162,19 +191,34 @@
label="浠撳簱鍚嶇О"
sortable="custom"
min-width="110"
- />
+ >
+ <template slot-scope="{row}">
+ <div v-if="row.stck_name">{{ row.stck_name }}</div>
+ <div v-else>/</div>
+ </template>
+ </el-table-column>
<el-table-column
prop="maxqty"
label="搴撳瓨涓婇檺"
width="110"
sortable="custom"
- />
+ >
+ <template slot-scope="{row}">
+ <div v-if="row.maxqty">{{ row.maxqty }}</div>
+ <div v-else>/</div>
+ </template>
+ </el-table-column>
<el-table-column
prop="minqty"
label="搴撳瓨涓嬮檺"
width="110"
sortable="custom"
- />
+ >
+ <template slot-scope="{row}">
+ <div v-if="row.minqty">{{ row.minqty }}</div>
+ <div v-else>/</div>
+ </template>
+ </el-table-column>
<el-table-column
prop="lm_user"
label="鍒涘缓浜哄憳"
@@ -219,12 +263,12 @@
</div>
<!--鍒嗛〉-->
<pagination
- v-show="total>0"
+
:total="total"
:page.sync="form.page"
:limit.sync="form.rows"
align="right"
- layout="prev, pager, next,sizes"
+ layout="total,prev, pager, next,sizes"
popper-class="select_bottom"
@pagination="getInventoryFileSelect"
/>
@@ -329,7 +373,12 @@
<span slot="footer" class="dialog-footer">
<div class="footerButton">
<el-button @click="dialogVisibleCancel">鍙� 娑�</el-button>
- <el-button type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>
+ <el-button
+ type="primary"
+ :loading="$store.state.app.buttonIsDisabled"
+ :disabled="$store.state.app.buttonIsDisabled"
+ @click="dialogVisibleConfirm"
+ >纭� 瀹�</el-button>
</div>
</span>
</el-dialog>
@@ -442,12 +491,11 @@
</el-table>
<!--鍒嗛〉-->
<pagination
- v-show="officeTableDataLength>0"
:total="officeTableDataLength"
:page.sync="officeForm.page"
:limit.sync="officeForm.rows"
align="right"
- layout="prev, pager, next,sizes"
+ layout="total,prev, pager, next,sizes"
popper-class="select_bottom"
@pagination="getUomSearch"
/>
@@ -465,7 +513,7 @@
title="鍏宠仈宸ヨ壓璺嚎"
:visible.sync="dialogVisibleRoute"
width="800px"
- top="10vh"
+ top="5vh"
:fullscreen="isIpad"
class="dialogVisibleRoute"
@closed="handleCloseRoute"
@@ -508,8 +556,9 @@
<el-select
v-model="defaultroute_code"
filterable
- style="width: 200px"
+ style="width: 200px;"
placeholder="璇烽�夋嫨"
+ class="defaultroute_code"
>
<el-option
v-for="item in defaultroute_codeArr"
@@ -563,7 +612,12 @@
<span slot="footer" class="dialog-footer">
<div class="footerButton">
<el-button @click="routeDialogVisibleCancel">鍙� 娑�</el-button>
- <el-button type="primary" @click="routeDialogVisibleConfirm">纭� 瀹�</el-button>
+ <el-button
+ type="primary"
+ :loading="$store.state.app.buttonIsDisabled"
+ :disabled="$store.state.app.buttonIsDisabled"
+ @click="routeDialogVisibleConfirm"
+ >纭� 瀹�</el-button>
</div>
</span>
</el-dialog>
@@ -585,26 +639,17 @@
} from '@/api/zzmx'
import $ from 'jquery'
import { SeaveSearchInventory, SeaveSearchInventoryClass, SeaveSearchUnit } from '@/api/ErpSyncMes'
+import { validateCode } from '@/utils/global'
-const SER_HZ = /^[\u4e00-\u9fa5]+$/
export default {
name: 'CHDA',
components: {
Pagination
},
data() {
- const validateName = (rule, value, callback) => {
- if (!value) {
- return callback(new Error('璇疯緭鍏ョ墿鏂欑紪鐮�'))
- } else {
- if (SER_HZ.test(value)) {
- return callback(new Error('缂栫爜涓嶈兘涓轰腑鏂�'))
- } else {
- callback()
- }
- }
- }
return {
+ mouseHoverType: 'mouseout',
+ isExpandForm: false,
isIpad: false,
mainHeight: 0,
tableHeight: 0,
@@ -645,7 +690,7 @@
operation: '',
dialogFormRules: {
materialcode: [
- { required: true, validator: validateName, trigger: ['blur', 'change'] }
+ { required: true, validator: validateCode, trigger: ['blur', 'change'] }
],
materialname: [
{ required: true, message: '璇疯緭鍏ョ墿鏂欏悕绉�', trigger: ['blur', 'change'] }
@@ -884,6 +929,9 @@
DeleteInventoryFile({ materialcode: row.partcode }).then(res => {
if (res.code === '200') {
this.$message.success('鍒犻櫎鎴愬姛!')
+ if (this.form.page > 1 && this.tableData.length === 1) {
+ this.form.page--
+ }
this.getInventoryFileSelect()
}
})
@@ -916,6 +964,7 @@
this.$refs.dialogForm.validate(valid => {
if (valid) {
+ this.$store.state.app.buttonIsDisabled = true
const data = {
id: this.dialogForm.id,
materialcode: this.dialogForm.materialcode,
@@ -931,9 +980,10 @@
}
AddUpdateInventoryFile(data).then(res => {
if (res.code === '200') {
- this.$message.success(this.operation === 'add' ? '娣诲姞鎴愬姛锛�' : '淇敼鎴愬姛锛�')
this.dialogVisible = false
+ this.$message.success(this.operation === 'add' ? '娣诲姞鎴愬姛锛�' : '淇敼鎴愬姛锛�')
this.getInventoryFileSelect()
+ this.$store.state.app.buttonIsDisabled = false
} else {
this.$message.error(this.operation === 'add' ? '娣诲姞澶辫触锛�' : '淇敼澶辫触锛�')
}
@@ -945,55 +995,70 @@
getHeight() {
this.$nextTick(() => {
this.mainHeight = window.innerHeight - 85
- this.tableHeight = this.mainHeight - 200
+ this.tableHeight = this.mainHeight - 255
if (window.innerHeight < 769) {
this.tableHeight = this.tableHeight - 40
}
this.isIpad = window.innerHeight < 769 && window.innerWidth < 1367
+ this.$refs.tableDataRef.doLayout()
})
},
/* 鐐瑰嚮鍏宠仈宸ヨ壓璺嚎妯″潡*/
// 宸ヨ壓璺嚎鐐瑰嚮
- async routeClick(row) {
- console.log(row)
+ routeClick(row) {
+ const loading = this.$loading({
+ lock: true,
+ text: '姝e湪鍔犺浇鏁版嵁锛岃绋嶇瓑...',
+ spinner: 'el-icon-loading',
+ customClass: 'osloading',
+ background: 'rgba(0, 0, 0, 0.7)'
+ })
+
this.defaultroute_code = row.default_route
this.dialogFormRoute.projectCode = row.partcode
this.dialogFormRoute.projectName = row.partname
- this.dialogVisibleRoute = true
- const { data: res } = await InventoryFileAssociationRoute({ partcode: this.dialogFormRoute.projectCode })
- this.dialogFormRoute.routeOperationArr = res
- // let waitFlag = false// 鍥炴樉绛夊緟鏄惁鏀捐
- this.dialogFormRoute.routeOperationArr.forEach((item, index) => {
- item.isSelected1 = false
- item.isSelected2 = false
- if (index === 0) {
- item.isSelected1 = true
- this.projectTableData = item.Data
- }
- if (item.flag === 'Y') {
- item.isSelected2 = true
- this.$nextTick(() => {
- $('input:checkbox').eq(index).prop('checked', true)
- })
+ InventoryFileAssociationRoute({ partcode: this.dialogFormRoute.projectCode }).then(res => {
+ if (res.code === '200') {
+ setTimeout(() => {
+ loading.close()
+ this.dialogVisibleRoute = true
+ this.dialogFormRoute.routeOperationArr = res.data
+ // let waitFlag = false// 鍥炴樉绛夊緟鏄惁鏀捐
- // const interval = setInterval(() => {
- // if ($('input:checkbox').length > 0) {
- // waitFlag = true
- // }
- // if (waitFlag) {
- // clearInterval(interval)
- // this.$nextTick(() => {
- // $('input:checkbox').eq(index).prop('checked', true)
- // })
- // }
- // }, 100)
+ this.dialogFormRoute.routeOperationArr.forEach((item, index) => {
+ item.isSelected1 = false
+ item.isSelected2 = false
+ if (index === 0) {
+ item.isSelected1 = true
+ this.projectTableData = item.Data
+ }
+ if (item.flag === 'Y') {
+ item.isSelected2 = true
+ this.$nextTick(() => {
+ $('input:checkbox').eq(index).prop('checked', true)
+ })
+
+ // const interval = setInterval(() => {
+ // if ($('input:checkbox').length > 0) {
+ // waitFlag = true
+ // }
+ // if (waitFlag) {
+ // clearInterval(interval)
+ // this.$nextTick(() => {
+ // $('input:checkbox').eq(index).prop('checked', true)
+ // })
+ // }
+ // }, 100)
+ }
+ })
+
+ this.defaultroute_codeArr = this.dialogFormRoute.routeOperationArr.filter(item => item.flag === 'Y')
+ }, 1000)
+ } else {
+ loading.close()
}
})
-
- this.defaultroute_codeArr = this.dialogFormRoute.routeOperationArr.filter(item => item.flag === 'Y')
-
- console.log(this.defaultroute_codeArr, 123)
},
// 瀵硅瘽妗嗗叧闂�
handleCloseRoute() {
@@ -1018,12 +1083,13 @@
data.push({ code: item.code, name: item.name })
}
})
-
+ this.$store.state.app.buttonIsDisabled = true
const res = await SaveInventoryFile(this.dialogFormRoute.projectCode, this.defaultroute_code, data)
if (res.code === '200') {
+ this.dialogVisibleRoute = false
this.$message.success('淇濆瓨鎴愬姛锛�')
await this.getInventoryFileSelect()
- this.dialogVisibleRoute = false
+ this.$store.state.app.buttonIsDisabled = false
}
},
// 澶х洅瀛愮偣鍑讳簨浠�
@@ -1229,6 +1295,13 @@
}
}
}
+
+.defaultroute_code ::v-deep .el-input__suffix-inner{
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-top: -3px;
+}
</style>
<!--鍏叡椤甸潰鏍峰紡-->
@@ -1319,10 +1392,23 @@
.userDialogVisible ::v-deep .el-form-item {
margin-bottom: 0;
}
-
+.tableFixed{
+ ::v-deep .el-table__fixed-right{
+ height: 100% !important;
+ }
+ ::v-deep .el-table__fixed{
+ height: 100% !important;
+ }
+}
</style>
<style>
+.osloading{
+ font-size: 26px !important;
+}
+.el-loading-text{
+ font-size: 26px !important;
+}
.el-table .custom-row {
background: #f8f8fa;
}
--
Gitblit v1.9.3