Browse Source

食堂端发起采购和申请出库增加table自动滑动到含有input输入框的位置

master
邓平艺 5 years ago
parent
commit
165c3da532
  1. 46
      canteen/components/wyb-table/wyb-table.vue
  2. 1
      canteen/pages/delivery/apply.vue
  3. 1
      canteen/pages/purchase/launch.vue

46
canteen/components/wyb-table/wyb-table.vue

@ -206,6 +206,7 @@
<script>
import Pinyin from './js/characterToPinyin.js'
import {isEqual} from './js/objEqual.js'
let timer = null;
export default {
data() {
return {
@ -731,6 +732,10 @@
checkerCellBgColor: {
type: String,
default: '#f1f1f1'
},
scrollToInput: {
type: Boolean, // input
default: false
}
},
watch: {
@ -759,22 +764,35 @@
uni.setStorageSync('lastSortActiveKey', this.sortActiveKey)
this.doSort(this.sortCol[0].key, this.sortWays[this.sortWay], this.sortCol[0].isNumber)
}
this.autoScrollView();
},
methods: {
//
// toArray(val){
// if(Array.isArray(val)){
// console.log("ssssss=======")
// return val.slice();
// }else{
// let contents = {...val};
// let arr = [];
// for(let i in contents){
// arr.push(contents[i]);
// }
// return arr;
// }
// },
// input
autoScrollView(){
try{
// #ifdef H5
if(this.$props.scrollToInput){
setTimeout(function(){
// dom .wyb-table-scroll-view .wyb-table-content .wyb-table-content-line .wyb-table-content-item input
let tabView = document.querySelector('.wyb-table-scroll-view'); // table
let tabContent = tabView.querySelector('.wyb-table-content'); // tablecontent
let contentLine = tabContent.querySelector('.wyb-table-content-line'); //
let contentItem = contentLine.querySelector('.wyb-table-content-item input'); //
let offsetWidth = contentItem.offsetParent.offsetWidth;
let offsetLeft = contentItem.offsetParent.offsetLeft - offsetWidth - 20;
timer = setInterval(function(){
tabView.scrollLeft += 2;
if(tabView.scrollLeft >= offsetLeft){
clearInterval(timer);
}
}, 2);
}, 1000)
}
// #endif
}catch(e){
console.log(e);
}
},
inputBlur(cIndex, hIndex, event){
let event_obj = {};
let value = event.detail.value;

1
canteen/pages/delivery/apply.vue

@ -16,6 +16,7 @@
<view class="lf-font-32 lf-color-black lf-font-bold lf-m-b-20">物资明细</view>
<wyb-table :headers="headers" :contents="contents"
contentBgColor="#ecfaf5"
:scrollToInput="true"
:first-line-fixed="true"
@onInputChange="onInputChange"
@onButtonClick="onButtonClick"

1
canteen/pages/purchase/launch.vue

@ -41,6 +41,7 @@
<wyb-table :headers="value.headers"
:contents="value.material_list"
contentBgColor="#ecfaf5"
:scrollToInput="true"
:first-line-fixed="true"
@onInputChange="onInputChange"
width="max-content" height="800rpx"

Loading…
Cancel
Save