From 1d662c1648aeeff4b1bfdadb619cdba922740348 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期三, 28 九月 2022 15:14:26 +0800
Subject: [PATCH] 1.头部搜索栏、下拉箭头优化
---
src/views/zzmx/chda.vue | 142 ++++++++++++++++++++++++++++++++---------------
1 files changed, 97 insertions(+), 45 deletions(-)
diff --git a/src/views/zzmx/chda.vue b/src/views/zzmx/chda.vue
index 296eba2..19a17ce 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"
@@ -139,7 +162,12 @@
label="鐗╂枡瑙勬牸"
width="110"
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 +190,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 +262,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"
/>
@@ -442,12 +485,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"
/>
@@ -508,8 +550,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"
@@ -585,26 +628,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 +679,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 +918,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()
}
})
@@ -945,11 +982,12 @@
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()
})
},
/* 鐐瑰嚮鍏宠仈宸ヨ壓璺嚎妯″潡*/
@@ -1229,6 +1267,13 @@
}
}
}
+
+.defaultroute_code ::v-deep .el-input__suffix-inner{
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-top: -3px;
+}
</style>
<!--鍏叡椤甸潰鏍峰紡-->
@@ -1319,7 +1364,14 @@
.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>
--
Gitblit v1.9.3