|
@@ -4,7 +4,8 @@
|
|
|
:isScroll="true"
|
|
|
:refresherTriggered="refresherTriggered"
|
|
|
@refresherrefresh="refresherrefresh"
|
|
|
- @scrolltolower="scrolltolower">
|
|
|
+ @scrolltolower="scrolltolower"
|
|
|
+ >
|
|
|
<template slot="header">
|
|
|
<view class="search-container">
|
|
|
<u-search
|
|
@@ -16,25 +17,27 @@
|
|
|
v-model="keyword"
|
|
|
@search="searchSubmit"
|
|
|
@custom="searchSubmit"
|
|
|
- @clear="searchSubmit">
|
|
|
+ @clear="searchSubmit"
|
|
|
+ >
|
|
|
</u-search>
|
|
|
</view>
|
|
|
<view class="tab-container">
|
|
|
- <u-tabs
|
|
|
- :scrollable="true"
|
|
|
- :list="tabList"
|
|
|
- @click="changeTab"
|
|
|
- lineColor="#3D8FFD"
|
|
|
- :activeStyle="{
|
|
|
- color: '#3D8FFD'
|
|
|
- }"
|
|
|
- :inactiveStyle="{
|
|
|
- color: '#666666'
|
|
|
- }"
|
|
|
- itemStyle="height: 88rpx;">
|
|
|
- </u-tabs>
|
|
|
+ <!-- <u-tabs
|
|
|
+ :scrollable="true"
|
|
|
+ :list="tabList"
|
|
|
+ @click="changeTab"
|
|
|
+ lineColor="#3D8FFD"
|
|
|
+ :activeStyle="{
|
|
|
+ color: '#3D8FFD'
|
|
|
+ }"
|
|
|
+ :inactiveStyle="{
|
|
|
+ color: '#666666'
|
|
|
+ }"
|
|
|
+ itemStyle="height: 88rpx;"
|
|
|
+ >
|
|
|
+ </u-tabs> -->
|
|
|
<view class="date" @tap="isShowDatePicker = true">
|
|
|
- <view class="text">{{date || '请选择月份'}}</view>
|
|
|
+ <view class="text">{{ date || '请选择月份' }}</view>
|
|
|
<u-icon name="arrow-down" size="12"></u-icon>
|
|
|
</view>
|
|
|
</view>
|
|
@@ -44,35 +47,38 @@
|
|
|
<view class="item" v-for="(item, index) in dataList" :key="index">
|
|
|
<view class="row">
|
|
|
<view class="label">工单编号</view>
|
|
|
- <view class="value">{{item.orderId}}</view>
|
|
|
+ <view class="value">{{ item.orderId }}</view>
|
|
|
</view>
|
|
|
<view class="row">
|
|
|
<view class="label">关联工单</view>
|
|
|
- <view class="value">{{item.refOrder}}</view>
|
|
|
+ <view class="value">{{ item.refOrder }}</view>
|
|
|
</view>
|
|
|
<view class="row">
|
|
|
<view class="label">客户电话</view>
|
|
|
- <view class="value">{{item.phone}}</view>
|
|
|
+ <view class="value">{{ item.phone }}</view>
|
|
|
</view>
|
|
|
<view class="row">
|
|
|
<view class="label">使用日期</view>
|
|
|
- <view class="value">{{item.useTime}}</view>
|
|
|
+ <view class="value">{{ item.useTime }}</view>
|
|
|
</view>
|
|
|
<view class="row">
|
|
|
<view class="label">商品名称</view>
|
|
|
- <view class="value">{{item.goodsName}}</view>
|
|
|
+ <view class="value">{{ item.goodsName }}</view>
|
|
|
</view>
|
|
|
<view class="row">
|
|
|
<view class="label">商品代码</view>
|
|
|
- <view class="value">{{item.goodsCode}}</view>
|
|
|
+ <view class="value">{{ item.goodsCode }}</view>
|
|
|
</view>
|
|
|
<view class="row">
|
|
|
<view class="label">使用数量</view>
|
|
|
- <view class="value"><text>{{item.useQty}}</text>{{item.unit}}</view>
|
|
|
+ <view class="value"
|
|
|
+ ><text>{{ item.useQty }}</text
|
|
|
+ >{{ item.unit }}</view
|
|
|
+ >
|
|
|
</view>
|
|
|
<view class="row">
|
|
|
<view class="label">销售金额</view>
|
|
|
- <view class="value price">{{item.normAmount}}元</view>
|
|
|
+ <view class="value price">{{ item.normAmount }}元</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
@@ -92,127 +98,130 @@
|
|
|
<!-- #endif -->
|
|
|
|
|
|
<!-- #ifndef H5 -->
|
|
|
- <web-view :src="webViewHref(`/packageMaterial/pages/stock/useRecord`, pam, crossPagePam)" @message="crossPage.$listener"></web-view>
|
|
|
+ <web-view
|
|
|
+ :src="webViewHref(`/packageMaterial/pages/stock/useRecord`, pam, crossPagePam)"
|
|
|
+ @message="crossPage.$listener"
|
|
|
+ ></web-view>
|
|
|
<!-- #endif -->
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
- // #ifdef H5
|
|
|
- export default {
|
|
|
- data() {
|
|
|
- return {
|
|
|
- dataList: [],
|
|
|
- pageNum: 1,
|
|
|
- loadStatus: 0,
|
|
|
- refresherTriggered: false,
|
|
|
- keyword: '',
|
|
|
- tabList: [
|
|
|
- {name: '全部', value: ''},
|
|
|
- {name: '辅材记录', value: 'M'},
|
|
|
- {name: '配件记录', value: 'P'},
|
|
|
- ],
|
|
|
- isShowDatePicker: false,
|
|
|
- datePickerValue: Number(new Date()),
|
|
|
- date: '',
|
|
|
- type: '',
|
|
|
- }
|
|
|
- },
|
|
|
-
|
|
|
- onLoad() {
|
|
|
- this.getList();
|
|
|
- },
|
|
|
+// #ifdef H5
|
|
|
+export default {
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ dataList: [],
|
|
|
+ pageNum: 1,
|
|
|
+ loadStatus: 0,
|
|
|
+ refresherTriggered: false,
|
|
|
+ keyword: '',
|
|
|
+ // tabList: [
|
|
|
+ // {name: '全部', value: ''},
|
|
|
+ // {name: '辅材记录', value: 'M'},
|
|
|
+ // {name: '配件记录', value: 'P'},
|
|
|
+ // ],
|
|
|
+ type: 'M',
|
|
|
+ isShowDatePicker: false,
|
|
|
+ datePickerValue: Number(new Date()),
|
|
|
+ date: '',
|
|
|
+ }
|
|
|
+ },
|
|
|
|
|
|
- methods: {
|
|
|
- getList() {
|
|
|
- this.loadStatus = 1;
|
|
|
- this.$api.post('/material/norm/record/list', {
|
|
|
- pageNum: this.pageNum,
|
|
|
- pageSize: 10,
|
|
|
- goodsType: this.type,
|
|
|
- yearMonth: this.date,
|
|
|
- orderId: this.keyword
|
|
|
- }).then(res => {
|
|
|
- this.loadStatus = 0;
|
|
|
- let list = res.data.records;
|
|
|
- if (list.length < 10) {
|
|
|
- this.loadStatus = 2;
|
|
|
- }
|
|
|
- this.dataList = this.dataList.concat(list);
|
|
|
- }).catch(() => {
|
|
|
- this.loadStatus = 2;
|
|
|
- }).finally(res => {
|
|
|
- this.refresherTriggered = false;
|
|
|
- })
|
|
|
- },
|
|
|
+ onLoad() {
|
|
|
+ this.getList();
|
|
|
+ },
|
|
|
|
|
|
- searchSubmit() {
|
|
|
- this.refreshList();
|
|
|
- },
|
|
|
+ methods: {
|
|
|
+ getList() {
|
|
|
+ this.loadStatus = 1;
|
|
|
+ this.$api.post('/material/norm/record/list', {
|
|
|
+ pageNum: this.pageNum,
|
|
|
+ pageSize: 10,
|
|
|
+ goodsType: this.type,
|
|
|
+ yearMonth: this.date,
|
|
|
+ orderId: this.keyword
|
|
|
+ }).then(res => {
|
|
|
+ this.loadStatus = 0;
|
|
|
+ let list = res.data.records;
|
|
|
+ if (list.length < 10) {
|
|
|
+ this.loadStatus = 2;
|
|
|
+ }
|
|
|
+ this.dataList = this.dataList.concat(list);
|
|
|
+ }).catch(() => {
|
|
|
+ this.loadStatus = 2;
|
|
|
+ }).finally(res => {
|
|
|
+ this.refresherTriggered = false;
|
|
|
+ })
|
|
|
+ },
|
|
|
|
|
|
- changeTab(e) {
|
|
|
- this.type = e.value;
|
|
|
- this.refreshList();
|
|
|
- },
|
|
|
+ searchSubmit() {
|
|
|
+ this.refreshList();
|
|
|
+ },
|
|
|
|
|
|
- resetDate() {
|
|
|
- this.isShowDatePicker = false;
|
|
|
- this.date = '';
|
|
|
- this.refreshList();
|
|
|
- },
|
|
|
+ changeTab(e) {
|
|
|
+ this.type = e.value;
|
|
|
+ this.refreshList();
|
|
|
+ },
|
|
|
|
|
|
- confirmDate(e) {
|
|
|
- this.isShowDatePicker = false;
|
|
|
- let time = new Date(e.value)
|
|
|
- let y = time.getFullYear();
|
|
|
- let m = (time.getMonth()+1) < 10 ? '0' + (time.getMonth()+1) : time.getMonth()+1;
|
|
|
- this.date = `${y}-${m}`;
|
|
|
- this.refreshList();
|
|
|
- },
|
|
|
+ resetDate() {
|
|
|
+ this.isShowDatePicker = false;
|
|
|
+ this.date = '';
|
|
|
+ this.refreshList();
|
|
|
+ },
|
|
|
|
|
|
- refreshList() {
|
|
|
- this.dataList = [];
|
|
|
- this.pageNum = 1;
|
|
|
- this.getList();
|
|
|
- },
|
|
|
+ confirmDate(e) {
|
|
|
+ this.isShowDatePicker = false;
|
|
|
+ let time = new Date(e.value)
|
|
|
+ let y = time.getFullYear();
|
|
|
+ let m = (time.getMonth()+1) < 10 ? '0' + (time.getMonth()+1) : time.getMonth()+1;
|
|
|
+ this.date = `${y}-${m}`;
|
|
|
+ this.refreshList();
|
|
|
+ },
|
|
|
|
|
|
- // 滚动到底部
|
|
|
- scrolltolower(e) {
|
|
|
- if (this.loadStatus === 0) {
|
|
|
- this.pageNum++;
|
|
|
- this.getList();
|
|
|
- }
|
|
|
- },
|
|
|
+ refreshList() {
|
|
|
+ this.dataList = [];
|
|
|
+ this.pageNum = 1;
|
|
|
+ this.getList();
|
|
|
+ },
|
|
|
|
|
|
- // 触发下拉刷新
|
|
|
- refresherrefresh(e) {
|
|
|
- this.refresherTriggered = true;
|
|
|
- this.refreshList();
|
|
|
- },
|
|
|
+ // 滚动到底部
|
|
|
+ scrolltolower(e) {
|
|
|
+ if (this.loadStatus === 0) {
|
|
|
+ this.pageNum++;
|
|
|
+ this.getList();
|
|
|
+ }
|
|
|
},
|
|
|
- }
|
|
|
|
|
|
- // #endif
|
|
|
- // #ifndef H5
|
|
|
- export default {
|
|
|
- data() {
|
|
|
- return {
|
|
|
- pam: {},
|
|
|
- }
|
|
|
+ // 触发下拉刷新
|
|
|
+ refresherrefresh(e) {
|
|
|
+ this.refresherTriggered = true;
|
|
|
+ this.refreshList();
|
|
|
},
|
|
|
- onLoad(pam) {
|
|
|
- this.pam = pam;
|
|
|
+ },
|
|
|
+}
|
|
|
+
|
|
|
+// #endif
|
|
|
+// #ifndef H5
|
|
|
+export default {
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ pam: {},
|
|
|
}
|
|
|
+ },
|
|
|
+ onLoad(pam) {
|
|
|
+ this.pam = pam;
|
|
|
}
|
|
|
- // #endif
|
|
|
+}
|
|
|
+// #endif
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
.search-container {
|
|
|
- background: #FFFFFF;
|
|
|
+ background: #ffffff;
|
|
|
padding: 0 20rpx;
|
|
|
}
|
|
|
.tab-container {
|
|
|
- background: #FFFFFF;
|
|
|
+ background: #ffffff;
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
padding: 0 20rpx;
|
|
@@ -224,7 +233,8 @@
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
justify-content: space-between;
|
|
|
- margin-left: 40rpx;
|
|
|
+ // margin-left: 40rpx;
|
|
|
+ margin: 10rpx 0;
|
|
|
padding: 0 12rpx 0 20rpx;
|
|
|
border: 1px solid #eaeaea;
|
|
|
border-radius: 8rpx;
|