From 803033cc4e734ac9eb3062f215b654b4ae9d02c4 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 24 一月 2025 18:16:14 +0800
Subject: [PATCH] Merge branch '2.0.1' of http://139.186.142.91:10010/r/productDev/funingyunwei into 2.0.1
---
h5/pages/inventory/detail.vue | 1012 +++++++++++++++++++++++++------------------------
admin/src/views/stock/components/OutEdit.vue | 7
admin/src/views/stock/components/AssetSel.vue | 5
h5/pages/workOrder/wait.vue | 14
admin/src/views/stock/record.vue | 2
h5/manifest.json | 2
h5/pages/login.vue | 16
h5/pages/inventory/index.vue | 100 ++--
8 files changed, 598 insertions(+), 560 deletions(-)
diff --git a/admin/src/views/stock/components/AssetSel.vue b/admin/src/views/stock/components/AssetSel.vue
index bb5d356..d4bb919 100644
--- a/admin/src/views/stock/components/AssetSel.vue
+++ b/admin/src/views/stock/components/AssetSel.vue
@@ -55,6 +55,7 @@
total: 0
},
isOut: false,
+ warehouseId: false,
list: [],
selList: [],
cateList: [],
@@ -79,7 +80,7 @@
this.selList = val
},
getList(page) {
- const { pagination, searchForm, isOut } = this
+ const { pagination, searchForm, isOut, warehouseId } = this
this.listLoading = true
if(page){pagination.page = page}
console.log('isOut', isOut);
@@ -88,7 +89,7 @@
fn({
capacity: pagination.pageSize,
page: pagination.page,
- model: {...searchForm,status: 0}
+ model: {...searchForm,status: 0, warehouseId}
}).then((res) => {
this.listLoading = false
this.list = res.records
diff --git a/admin/src/views/stock/components/OutEdit.vue b/admin/src/views/stock/components/OutEdit.vue
index 1447841..0bad33c 100644
--- a/admin/src/views/stock/components/OutEdit.vue
+++ b/admin/src/views/stock/components/OutEdit.vue
@@ -4,7 +4,7 @@
<el-form :model="param" ref="form" :rules="rules">
<div class="df_ac">
<el-form-item class="w3" label="鍑哄簱浠撳簱" prop="warehouseId">
- <el-select :disabled="param.id" v-model="param.warehouseId" placeholder="璇烽�夋嫨">
+ <el-select :disabled="param.id" @change="changeStore" v-model="param.warehouseId" placeholder="璇烽�夋嫨">
<el-option v-for="op in storeList" :key="op.id" :label="op.name" :value="op.id"></el-option>
</el-select>
</el-form-item>
@@ -116,6 +116,9 @@
}
})
},
+ changeStore() {
+ this.list = []
+ },
initData() {
this.$set(this.param, 'doneDate', dayjs().format('YYYY-MM-DD'))
getStoreList({ capacity: 9999, page: 1, model: {status: 0} }).then(res => {
@@ -139,10 +142,12 @@
},
handleOpenMaterial() {
+ if(!this.param.warehouseId) return Message.warning('璇峰厛閫夋嫨鍑哄簱浠撳簱')
this.isShowSel = true
this.$nextTick(() => {
this.$refs.AssetSelRef.isShowModal = true
this.$refs.AssetSelRef.isOut = true
+ this.$refs.AssetSelRef.warehouseId = this.param.warehouseId
this.$refs.AssetSelRef.getList()
console.log('-----');
diff --git a/admin/src/views/stock/record.vue b/admin/src/views/stock/record.vue
index a508f51..b2e1863 100644
--- a/admin/src/views/stock/record.vue
+++ b/admin/src/views/stock/record.vue
@@ -142,7 +142,7 @@
this.isShowOutDetail = true
this.$nextTick(() => {
this.$refs.OutDetailRef.visible = true
- this.$refs.OutDetailRef.getDetail(row.outInBoundId)
+ this.$refs.OutDetailRef.getDetail(item.outInBoundId)
})
}
},
diff --git a/h5/manifest.json b/h5/manifest.json
index 2ed6c9c..0a6161d 100644
--- a/h5/manifest.json
+++ b/h5/manifest.json
@@ -131,7 +131,7 @@
// "target" : "http://172.20.10.7:10010", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃
// "target" : "http://192.168.0.163:10010", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃
// "target" : "http://10.50.250.253:8088/gateway_interface", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃
- "target" : "https://zhcg.fnwtzx.com/gateway_interface", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃
+ "target" : "https://dmtest.ahapp.net/gateway_interface", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃
"changeOrigin" : true, // 鍏佽璺ㄥ煙
"pathRewrite" : {
"^/gateway_interface" : ""
diff --git a/h5/pages/inventory/detail.vue b/h5/pages/inventory/detail.vue
index 02fec9f..29a92e6 100644
--- a/h5/pages/inventory/detail.vue
+++ b/h5/pages/inventory/detail.vue
@@ -2,42 +2,42 @@
<view class="main_app">
<view class="main_head">
<view class="tabs">
- <view class="tab" :class="{active: activeTab == 0}" @click="tabsClick(0)">
- <text>鏈洏({{info.unFinishAmount || 0}})</text>
+ <view class="tab" :class="{ active: activeTab == 0 }" @click="tabsClick(0)">
+ <text>鏈洏({{ info.unFinishAmount || 0 }})</text>
<text class="border"></text>
</view>
- <view class="tab" :class="{active: activeTab == 1}" @click="tabsClick(1)">
- <text>宸茬洏({{info.finishAmount || 0}})</text>
+ <view class="tab" :class="{ active: activeTab == 1 }" @click="tabsClick(1)">
+ <text>宸茬洏({{ info.finishAmount || 0 }})</text>
<text class="border"></text>
</view>
</view>
<view class="head_wrap">
<view class="search_wrap">
<image class="mr12 search" src="@/static/home/ic_search@2x.png" mode="widthFix"></image>
- <input v-model="param.materialCode" @confirm="handleQuery" type="text" placeholder="鎼滅储璧勪骇缂栫爜/璧勪骇鍚嶇О"
+ <input v-model="param.materialCode" @confirm="handleQuery()" type="text" placeholder="鎼滅储鐗╂枡缂栫爜/鐗╂枡鍚嶇О"
placeholder-class="placeholder9" />
</view>
</view>
<!-- -->
<scroll-view scroll-y="true" class="scroll_Y" @scrolltolower="scrolltolower">
<view class="list">
- <view class="item" v-for="item in list">
- <view class="line">
- <view class="title">{{item.materialName}}</view>
+ <view class="item" v-for="item in list" @click="itemClick(item)">
+ <view class="head">
+ <view class="title">{{ item.materialName }}</view>
<view class="status red" v-if="item.type == 1">鐩樹簭</view>
<view class="status primaryColor" v-if="item.type == 2">鐩樼泩</view>
</view>
- <view class="line">璧勪骇缂栫爜锛歿{item.materialCode}}</view>
- <view class="line">鏉$爜锛歿{item.materialQrcode}}</view>
- <view class="line">瑙勬牸鍨嬪彿锛歿{item.materialAttr}}</view>
- <view class="line">
- <view class="">璐﹂潰鏁伴噺锛歿{item.stock}}{{item.materialUnitName}}</view>
- <view v-if="item.status == 0" @click="openEheck(item)" class="btn">鎵ц鐩樼偣</view>
+ <view class="line">鐗╂枡缂栫爜锛歿{ item.materialCode }}</view>
+ <view class="line">鏉$爜锛歿{ item.materialQrcode }}</view>
+ <view class="line">瑙勬牸鍨嬪彿锛歿{ item.materialAttr }}</view>
+ <view class="line" v-if="item.status == 0">
+ <view class="">璐﹂潰鏁伴噺锛歿{ item.stock }}{{ item.materialUnitName }}</view>
+ <view @click.stop="openEheck(item)" class="btn">鎵ц鐩樼偣</view>
</view>
<view class="static" v-if="item.status == 1">
<view class="ite">
<view class="la">璐﹂潰鏁伴噺锛�</view>
- <view class="val">{{item.stock}}</view>
+ <view class="val">{{ item.stock }}</view>
</view>
<view class="spi"></view>
<view class="ite">
@@ -45,18 +45,18 @@
<view class="val" :class="{
primaryColor: item.type == 2,
red: item.type == 1,
- }">{{item.actStock}}</view>
+ }">{{ item.actStock }}</view>
</view>
</view>
</view>
</view>
</scroll-view>
<view class="footer_btn">
- <view @click="openQrcode" v-if="activeTab== 0" class="sweep">
+ <view @click="openQrcode" v-if="activeTab == 0 && info.status == 1" class="sweep">
<image src="@/static/side/ic_saoma@2x.png" mode=""></image>
<view class="">鎵爜鐩樼偣</view>
</view>
- <view @click="showTip = true" v-if="activeTab== 1" class="sweep sub_result">
+ <view @click="showTip = true" v-if="activeTab == 1 && info.status == 1" class="sweep sub_result">
<view class="">鎻愪氦鐩樼偣缁撴灉</view>
</view>
</view>
@@ -64,39 +64,41 @@
<u-popup :show="showModal" :round="10" @close="showModal = false" closeOnClickOverlay>
<view class="modal_wrap">
<view class="modal_title">鎵ц鐩樼偣</view>
- <view class="title">{{modalForm.materialName}}</view>
- <view class="item">璧勪骇缂栫爜锛歿{modalForm.materialCode}}</view>
- <view class="item">鏉$爜锛歿{modalForm.materialQrcode}}</view>
- <view class="item">鍝佺墝锛歿{modalForm.materialBrand}}</view>
- <view class="item">瑙勬牸鍨嬪彿锛歿{modalForm.materialAttr}}</view>
- <view class="item">鎵�鍦ㄤ粨搴擄細{{modalForm.warehouseName}}</view>
+ <view class="title">{{ modalForm.materialName }}</view>
+ <view class="item">鐗╂枡缂栫爜锛歿{ modalForm.materialCode }}</view>
+ <view class="item">鏉$爜锛歿{ modalForm.materialQrcode }}</view>
+ <view class="item">鍝佺墝锛歿{ modalForm.materialBrand }}</view>
+ <view class="item">瑙勬牸鍨嬪彿锛歿{ modalForm.materialAttr }}</view>
+ <view class="item">鎵�鍦ㄤ粨搴擄細{{ modalForm.warehouseName }}</view>
<view class="content">
<view class="line">
<view class="la">璐﹂潰鏁伴噺锛�</view>
<view class="val">
- <view class="wrap">{{modalForm.stock}}</view>
- <view class="unit">{{modalForm.materialUnitName}}</view>
+ <view class="wrap">{{ modalForm.stock }}</view>
+ <view class="unit">{{ modalForm.materialUnitName }}</view>
</view>
</view>
<view class="line">
<view class="la">鐩樼偣鏁伴噺锛�</view>
<view class="val">
- <view class="wrap">
- <image v-if="!modalForm.actStock" src="@/static/side/btn_jian_grey@2x.png" mode=""></image>
- <image v-else @click="changeAct(-1)" src="@/static/side/btn_jian@3x.png" mode=""></image>
- <input type="number" v-model="modalForm.actStock"></input>
- <image @click="changeAct(1)" src="@/static/side/btn_jia@3x.png" mode=""></image>
+ <view class="wrap">
+ <template v-if="!modalForm.handleType">
+ <image v-if="!modalForm.actStock" src="@/static/side/btn_jian_grey@2x.png" mode=""></image>
+ <image v-else @click="changeAct(-1)" src="@/static/side/btn_jian@3x.png" mode=""></image>
+ </template>
+ <input :disabled="Boolean(modalForm.handleType && modalForm.handleType == 'detail')" type="digit" v-model="modalForm.actStock"></input>
+ <image v-if="!modalForm.handleType" @click="changeAct(1)" src="@/static/side/btn_jia@3x.png" mode=""></image>
</view>
- <view class="unit">{{modalForm.materialUnitName}}</view>
+ <view class="unit">{{ modalForm.materialUnitName }}</view>
</view>
</view>
</view>
<view class="remark">
<view class="la">澶囨敞锛�</view>
- <textarea v-model="modalForm.remark" placeholder="璇峰~鍐欏娉�" :maxlength="-1" placeholder-class="placeholder9"
+ <textarea v-model="modalForm.remark" :disabled="Boolean(modalForm.handleType && modalForm.handleType == 'detail')" placeholder="璇峰~鍐欏娉�" :maxlength="-1" placeholder-class="placeholder9"
cols="30" rows="10"></textarea>
</view>
- <view class="btns">
+ <view v-if="!modalForm.handleType" class="btns">
<view class="btn" @click="showModal = false">鍙栨秷</view>
<view class="btn sub" @click="onSubmit">鎻愪氦</view>
</view>
@@ -125,541 +127,557 @@
</template>
<script>
- import {
- ywStocktakingDetail,
- getYwStocktakingRecord,
- takingDataOpen,
- ywStocktaFinishById
- } from '@/api'
- import {
- Html5Qrcode
- } from 'html5-qrcode';
- export default {
- data() {
- return {
- param: {},
- info: {},
- id: '',
- activeTab: 0,
+import {
+ ywStocktakingDetail,
+ getYwStocktakingRecord,
+ takingDataOpen,
+ ywStocktaFinishById
+} from '@/api'
+import {
+ Html5Qrcode
+} from 'html5-qrcode'
+export default {
+ data() {
+ return {
+ param: {},
+ info: {},
+ id: '',
+ activeTab: 0,
- list: [],
- page: 0,
- total: 0,
+ list: [],
+ page: 0,
+ total: 0,
- showModal: false,
- showTip: false,
- modalForm: {},
+ showModal: false,
+ showTip: false,
+ modalForm: {},
- html5Qrcode: null,
- isScaning: false,
+ html5Qrcode: null,
+ isScaning: false,
- };
+ }
+ },
+ onLoad(op) {
+ this.id = op.id
+ this.getDetail()
+ this.getList()
+ },
+ methods: {
+ itemClick(item) {
+ if(item.status == 1){
+ this.showItem(item)
+ }
+ },
+ showItem(item){
+ this.showModal = true
+ this.modalForm = {
+ ...item,
+ handleType: this.info.status != 1 ? 'detail' : ''
+ }
+ console.log('modalForm', this.modalForm);
},
- onLoad(op) {
- this.id = op.id
- this.getDetail()
+ getDetail() {
+ const {
+ id
+ } = this
+ ywStocktakingDetail(id).then(res => {
+ this.info = res.data
+
+ })
+ },
+ handleQuery(str) {
+ this.list = []
+ this.page = 1
+ this.getList(str)
+ },
+ getList(str) {
+ const {
+ page,
+ activeTab,
+ id,
+ param
+ } = this
+ getYwStocktakingRecord({
+ capacity: 20,
+ page,
+ model: {
+ status: str || activeTab,
+ stocktakingId: id,
+ ...param
+ }
+ }).then(res => {
+ this.list = [...this.list, ...res.data.records]
+ this.total = res.data.total
+ if (this.param.materialQrcode && this.list.length == 1) {
+ this.openEheck(this.list[0])
+ this.$set(this.param, 'materialQrcode', null)
+ }
+ })
+ },
+ scrolltolower() {
+ const {
+ total,
+ list
+ } = this
+ if (list.length < total) {
+ this.page = this.page + 1
+ this.getList()
+ } else {
+ this.showToast('鏆傛棤鏇村鏁版嵁')
+ }
+ },
+ openEheck(item) {
+ this.modalForm = {
+ ...item
+ }
+ this.showModal = true
+ },
+ onSubmit() {
+ const {
+ modalForm
+ } = this
+ if (!modalForm.actStock) return this.showToast('璇疯緭鍏ユ纭殑鐩樼偣鏁伴噺')
+ takingDataOpen({
+ ...modalForm
+ }).then(res => {
+ if (res.code == 200) {
+ this.showToast('鎻愪氦鎴愬姛')
+ this.handleQuery()
+ this.getDetail()
+ this.showModal = false
+ }
+ })
+ },
+ changeAct(val) {
+ const actStock = this.modalForm.actStock || 0
+ this.$set(this.modalForm, 'actStock', actStock + val)
+ },
+ tabsClick(val) {
+ this.activeTab = val
+ this.page = 0
+ this.list = []
this.getList()
},
- methods: {
- checkSub() {
- const {
- modalForm
- } = this
- // let str = modalForm.unFinishAmount > 0 ? '杩樻湁涓夐」鐗╂枡'
- },
- getDetail() {
- const {
- id
- } = this
- ywStocktakingDetail(id).then(res => {
- this.info = res.data
+ tipSub() {
+ const { info } = this
+ ywStocktaFinishById(info.id).then(res => {
+ this.showTip = false
+ uni.navigateBack()
+ })
- })
- },
- handleQuery() {
- this.list = []
- this.page = 1
- this.getList()
- },
- getList() {
- const {
- page,
- activeTab,
- id,
- param
- } = this
- getYwStocktakingRecord({
- capacity: 20,
- page,
- model: {
- status: activeTab,
- stocktakingId: id,
- ...param
- }
- }).then(res => {
- this.list = [...this.list, ...res.data.records]
- this.total = res.data.total
- if(this.param.materialQrcode && this.list.length == 1){
- this.openEheck(this.list[0])
- this.$set(this.param, 'materialQrcode', null)
- }
-
-
- })
- },
- scrolltolower() {
- const {
- total,
- list
- } = this
- if (list.length < total) {
- this.page = this.page + 1
- this.getList()
- } else {
- this.showToast('鏆傛棤鏇村鏁版嵁')
- }
- },
- openEheck(item) {
- this.modalForm = {
- ...item
- }
- this.showModal = true
- },
- onSubmit() {
- const {
- modalForm
- } = this
- if (!modalForm.actStock) return this.showToast('璇疯緭鍏ユ纭殑鐩樼偣鏁伴噺')
- takingDataOpen({
- ...modalForm
- }).then(res => {
- if (res.code == 200) {
- this.showToast('鎻愪氦鎴愬姛')
- this.handleQuery()
- this.getDetail()
- this.showModal = false
- }
- })
- },
- changeAct(val) {
- const actStock = this.modalForm.actStock || 0
- this.$set(this.modalForm, 'actStock', actStock + val)
- },
- tabsClick(val) {
- this.activeTab = val
- this.page = 0
- this.list = []
- this.getList()
- },
- tipSub() {
- const { info } = this
- ywStocktaFinishById(info.id).then(res => {
- this.showTip = false
- uni.navigateBack()
- })
-
- },
- openQrcode() {
- this.isScaning = true;
- Html5Qrcode.getCameras().then((devices) => {
- if (devices && devices.length) {
- this.html5Qrcode = new Html5Qrcode('reader');
- this.html5Qrcode.start({
- facingMode: 'environment'
- }, {
- focusMode: 'continuous', //璁剧疆杩炵画鑱氱劍妯″紡
- fps: 5, //璁剧疆鎵爜璇嗗埆閫熷害
- qrbox: 280 //璁剧疆浜岀淮鐮佹壂鎻忔澶у皬
- },
- (decodeText, decodeResult) => {
- if (decodeText) { //杩欓噷decodeText灏辨槸閫氳繃鎵弿浜岀淮鐮佸緱鍒扮殑鍐呭
- this.stopScan()
- this.$set(this.param, 'materialQrcode', decodeText)
- this.handleQuery()
- }
- },
- (err) => {
- // console.log(err); //閿欒淇℃伅
+ },
+ openQrcode() {
+ this.isScaning = true
+ Html5Qrcode.getCameras().then((devices) => {
+ if (devices && devices.length) {
+ this.html5Qrcode = new Html5Qrcode('reader')
+ this.html5Qrcode.start({
+ facingMode: 'environment'
+ }, {
+ focusMode: 'continuous', //璁剧疆杩炵画鑱氱劍妯″紡
+ fps: 5, //璁剧疆鎵爜璇嗗埆閫熷害
+ qrbox: 280 //璁剧疆浜岀淮鐮佹壂鎻忔澶у皬
+ },
+ (decodeText, decodeResult) => {
+ if (decodeText) { //杩欓噷decodeText灏辨槸閫氳繃鎵弿浜岀淮鐮佸緱鍒扮殑鍐呭
+ this.stopScan()
+ this.$set(this.param, 'materialQrcode', decodeText)
+ this.handleQuery('null')
}
- );
- }
- });
- },
-
- stopScan() {
- console.log('鍋滄鎵爜')
- this.isScaning = false;
- if (this.html5Qrcode) {
- this.html5Qrcode.stop();
+ },
+ (err) => {
+ // console.log(err); //閿欒淇℃伅
+ }
+ )
}
+ })
+ },
+
+ stopScan() {
+ console.log('鍋滄鎵爜')
+ this.isScaning = false
+ if (this.html5Qrcode) {
+ this.html5Qrcode.stop()
}
}
}
+}
</script>
<style lang="scss">
- .main_app {
- padding: 0 30rpx;
- overflow: hidden;
- }
+.main_app {
+ padding: 0 30rpx;
+ overflow: hidden;
+}
- .tabs {
+.tabs {
+ display: flex;
+ width: 750rpx;
+ margin: 12rpx -30rpx 20rpx;
+ border-bottom: 1rpx solid #E5E5E5;
+
+ .tab {
+ font-size: 30rpx;
+ color: #666666;
+ flex: 1;
display: flex;
- width: 750rpx;
- margin: 12rpx -30rpx 20rpx;
- border-bottom: 1rpx solid #E5E5E5;
+ flex-direction: column;
+ align-items: center;
+ justify-content: flex-end;
+ height: 72rpx;
- .tab {
- font-size: 30rpx;
- color: #666666;
- flex: 1;
+ .name {
display: flex;
- flex-direction: column;
align-items: center;
- justify-content: flex-end;
- height: 72rpx;
-
- .name {
- display: flex;
- align-items: center;
- }
-
- .border {
- width: 54rpx;
- height: 6rpx;
- background-color: #fff;
- border-radius: 3rpx;
- margin-top: 12rpx;
- }
}
- .active {
- font-weight: 600;
- font-size: 32rpx;
- color: #222222;
+ .border {
+ width: 54rpx;
+ height: 6rpx;
+ background-color: #fff;
+ border-radius: 3rpx;
+ margin-top: 12rpx;
+ }
+ }
- .border {
- background-color: $primaryColor;
- }
+ .active {
+ font-weight: 600;
+ font-size: 32rpx;
+ color: #222222;
+ .border {
+ background-color: $primaryColor;
}
}
- .head_wrap {
+}
+
+.head_wrap {
+ display: flex;
+ align-items: center;
+ margin-bottom: 36rpx;
+
+ .search_wrap {
display: flex;
align-items: center;
- margin-bottom: 36rpx;
+ width: 100%;
+ height: 76rpx;
+ background: #F7F7F7;
+ border-radius: 38rpx;
+ padding-left: 30rpx;
- .search_wrap {
- display: flex;
- align-items: center;
- width: 100%;
- height: 76rpx;
- background: #F7F7F7;
- border-radius: 38rpx;
- padding-left: 30rpx;
-
- input {
- flex: 1;
- }
-
- .search {
- width: 28rpx;
- height: 28rpx;
- }
+ input {
+ flex: 1;
}
- }
-
- .scroll_Y {
- height: calc(100vh - 350rpx);
- }
-
- .list {
-
- .item {
- border-bottom: 1rpx solid #E5E5E5;
- padding-bottom: 24rpx;
- margin-bottom: 16rpx;
-
- .title {
- font-weight: 600;
- font-size: 34rpx;
- color: #222222;
- margin-bottom: 10rpx;
- }
-
- .line {
- height: 60rpx;
- display: flex;
- align-items: center;
- justify-content: space-between;
- color: #666666;
-
- .btn {
- display: flex;
- align-items: center;
- justify-content: center;
- height: 60rpx;
- padding: 0 20rpx;
- background: #0068FF;
- box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(0, 104, 255, 0.3);
- border-radius: 30rpx;
- font-size: 26rpx;
- color: #FFFFFF;
- }
- }
-
- .static {
- display: flex;
- height: 84rpx;
- background: #F7F7F7;
- font-size: 30rpx;
- margin-top: 12rpx;
- padding: 16rpx 0;
-
- .spi {
- border: 1rpx solid #E5E5E5;
- }
-
- .ite {
- flex: 1;
- display: flex;
- align-items: center;
- justify-content: center;
-
- .val {
- font-weight: 500;
- }
- }
- }
+ .search {
+ width: 28rpx;
+ height: 28rpx;
}
}
- .footer_btn {
- padding: 20rpx 40rpx 0;
- border-top: 1px solid #e5e5e5;
- width: 750rpx;
- margin: 0 -30rpx;
+}
- .sweep {
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 32rpx;
- font-weight: 500;
- width: 670rpx;
- height: 88rpx;
- background: #0068FF;
- box-shadow: 0rpx 8rpx 20rpx 0rpx rgba(0, 104, 255, 0.3);
- border-radius: 44rpx;
- color: #FFFFFF;
- }
+.scroll_Y {
+ height: calc(100vh - 350rpx);
+}
- .sub_result {
- background-color: #fff;
- color: #FF0000;
- border: 1rpx solid #FF0000;
- box-shadow: none
- }
+.list {
- image {
- width: 32rpx;
- height: 32rpx;
- margin-right: 6rpx;
- }
- }
-
- .modal_wrap {
- padding: 36rpx 30rpx;
-
- .modal_title {
- font-weight: 500;
- font-size: 32rpx;
- color: #222222;
- margin-bottom: 40rpx;
- text-align: center;
- }
+ .item {
+ border-bottom: 1rpx solid #E5E5E5;
+ padding-bottom: 24rpx;
+ margin-bottom: 16rpx;
.title {
font-weight: 600;
font-size: 34rpx;
color: #222222;
+ margin-bottom: 10rpx;
+ flex: 1;
}
-
- .item {
- font-size: 28rpx;
- color: #666666;
- height: 56rpx;
+ .head{
+ display: flex;
+ // align-items: center;
+ justify-content: space-between;
+ color: #666666;
+ .status{
+ width: 76rpx;
+ text-align: right;
+ padding-top: 3rpx;
+ }
+ }
+ .line {
+ height: 60rpx;
display: flex;
align-items: center;
- }
-
- .content {
- border-top: 1rpx solid #E5E5E5;
- margin-top: 16rpx;
-
- .line {
- height: 84rpx;
- display: flex;
- align-items: center;
- justify-content: space-between;
-
- .la {
- font-weight: 500;
- font-size: 32rpx;
- color: #222222;
- }
-
- .val {
- display: flex;
- justify-content: flex-end;
- align-items: center;
- flex: 1;
-
- .wrap {
- display: flex;
- align-items: center;
-
- input {
- width: 120rpx;
- height: 72rpx;
- border-radius: 8rpx;
- border: 2rpx solid #0068FF;
- margin: 0 16rpx;
- padding: 0 10rpx;
- text-align: center;
- }
- }
-
- .unit {
- font-size: 30rpx;
- color: #666666;
- margin-left: 20rpx;
- }
- }
-
- image {
- width: 72rpx;
- height: 72rpx;
- }
- }
- }
-
- .remark {
- margin-top: 16rpx;
-
- .la {
- font-size: 30rpx;
- color: #222222;
- margin-bottom: 16rpx;
- }
-
- textarea {
- width: 690rpx;
- height: 240rpx;
- background: #F7F7F7;
- border-radius: 12rpx;
- padding: 10rpx 20rpx;
- }
- }
-
- .btns {
- display: flex;
justify-content: space-between;
- align-items: center;
- margin-top: 80rpx;
-
+ color: #666666;
+
.btn {
- width: 336rpx;
- height: 88rpx;
- border-radius: 44rpx;
- border: 2rpx solid $primaryColor;
display: flex;
align-items: center;
justify-content: center;
- font-size: 32rpx;
- color: $primaryColor;
- }
-
- .sub {
- background-color: $primaryColor;
- color: #fff;
+ height: 60rpx;
+ padding: 0 20rpx;
+ background: #0068FF;
+ box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(0, 104, 255, 0.3);
+ border-radius: 30rpx;
+ font-size: 26rpx;
+ color: #FFFFFF;
}
}
- }
-
- .modal_t {
- width: 520rpx;
- text-align: center;
- display: flex;
- flex-direction: column;
-
- .h1 {
- height: 86rpx;
- font-weight: 500;
- font-size: 32rpx;
- color: #333333;
+ .static {
display: flex;
- align-items: flex-end;
- justify-content: center;
- }
+ height: 84rpx;
+ background: #F7F7F7;
+ font-size: 30rpx;
+ margin-top: 12rpx;
+ padding: 16rpx 0;
- .content {
- flex: 1;
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
- padding: 30rpx 0;
- }
+ .spi {
+ border: 1rpx solid #E5E5E5;
+ }
- .btns {
- height: 102rpx;
- display: flex;
- align-items: center;
- border-top: 1rpx solid #E5E5E5;
-
- .btn {
- height: 102rpx;
+ .ite {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
- border-right: 1rpx solid #E5E5E5;
- font-weight: 400;
- font-size: 32rpx;
- color: #999999;
- &:nth-last-child(1) {
- border-right: none;
+ .val {
+ font-weight: 500;
+ }
+ }
+ }
+ }
+}
+
+.footer_btn {
+ padding: 20rpx 40rpx 0;
+ border-top: 1px solid #e5e5e5;
+ width: 750rpx;
+ margin: 0 -30rpx;
+
+ .sweep {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 32rpx;
+ font-weight: 500;
+ width: 670rpx;
+ height: 88rpx;
+ background: #0068FF;
+ box-shadow: 0rpx 8rpx 20rpx 0rpx rgba(0, 104, 255, 0.3);
+ border-radius: 44rpx;
+ color: #FFFFFF;
+ }
+
+ .sub_result {
+ background-color: #fff;
+ color: #FF0000;
+ border: 1rpx solid #FF0000;
+ box-shadow: none
+ }
+
+ image {
+ width: 32rpx;
+ height: 32rpx;
+ margin-right: 6rpx;
+ }
+}
+
+.modal_wrap {
+ padding: 36rpx 30rpx;
+
+ .modal_title {
+ font-weight: 500;
+ font-size: 32rpx;
+ color: #222222;
+ margin-bottom: 40rpx;
+ text-align: center;
+ }
+
+ .title {
+ font-weight: 600;
+ font-size: 34rpx;
+ color: #222222;
+ }
+
+ .item {
+ font-size: 28rpx;
+ color: #666666;
+ height: 56rpx;
+ display: flex;
+ align-items: center;
+ }
+
+ .content {
+ border-top: 1rpx solid #E5E5E5;
+ margin-top: 16rpx;
+
+ .line {
+ height: 84rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+
+ .la {
+ font-weight: 500;
+ font-size: 32rpx;
+ color: #222222;
+ }
+
+ .val {
+ display: flex;
+ justify-content: flex-end;
+ align-items: center;
+ flex: 1;
+
+ .wrap {
+ display: flex;
+ align-items: center;
+
+ input {
+ width: 120rpx;
+ height: 72rpx;
+ border-radius: 8rpx;
+ border: 2rpx solid #0068FF;
+ margin: 0 16rpx;
+ padding: 0 10rpx;
+ text-align: center;
+ }
+ }
+
+ .unit {
+ font-size: 30rpx;
+ color: #666666;
+ margin-left: 20rpx;
}
}
- .sub {
- color: $primaryColor;
+ image {
+ width: 72rpx;
+ height: 72rpx;
}
}
}
- .reader-box {
- position: fixed;
- top: 0;
- bottom: 0;
- left: 0;
- right: 0;
- background-color: rgba(0, 0, 0, 0.5);
+ .remark {
+ margin-top: 16rpx;
+
+ .la {
+ font-size: 30rpx;
+ color: #222222;
+ margin-bottom: 16rpx;
+ }
+
+ textarea {
+ width: 690rpx;
+ height: 240rpx;
+ background: #F7F7F7;
+ border-radius: 12rpx;
+ padding: 10rpx 20rpx;
+ }
}
- .reader {
- width: 100%;
- // width: 540rpx;
- // height: 540rpx;
- position: absolute;
- top: 50%;
- left: 50%;
- transform: translate(-50%, -50%);
+ .btns {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin-top: 80rpx;
+
+ .btn {
+ width: 336rpx;
+ height: 88rpx;
+ border-radius: 44rpx;
+ border: 2rpx solid $primaryColor;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 32rpx;
+ color: $primaryColor;
+ }
+
+ .sub {
+ background-color: $primaryColor;
+ color: #fff;
+ }
}
+}
+
+
+.modal_t {
+ width: 520rpx;
+ text-align: center;
+ display: flex;
+ flex-direction: column;
+
+ .h1 {
+ height: 86rpx;
+ font-weight: 500;
+ font-size: 32rpx;
+ color: #333333;
+ display: flex;
+ align-items: flex-end;
+ justify-content: center;
+ }
+
+ .content {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ padding: 30rpx 0;
+ }
+
+ .btns {
+ height: 102rpx;
+ display: flex;
+ align-items: center;
+ border-top: 1rpx solid #E5E5E5;
+
+ .btn {
+ height: 102rpx;
+ flex: 1;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ border-right: 1rpx solid #E5E5E5;
+ font-weight: 400;
+ font-size: 32rpx;
+ color: #999999;
+
+ &:nth-last-child(1) {
+ border-right: none;
+ }
+ }
+
+ .sub {
+ color: $primaryColor;
+ }
+ }
+}
+
+.reader-box {
+ position: fixed;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ background-color: rgba(0, 0, 0, 0.5);
+}
+
+.reader {
+ width: 100%;
+ // width: 540rpx;
+ // height: 540rpx;
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+}
</style>
\ No newline at end of file
diff --git a/h5/pages/inventory/index.vue b/h5/pages/inventory/index.vue
index 9181d91..56dd855 100644
--- a/h5/pages/inventory/index.vue
+++ b/h5/pages/inventory/index.vue
@@ -8,36 +8,39 @@
</view>
</view>
<!-- -->
- <view class="list">
- <view class="item" @click="itemClick(item)" v-for="item in list">
- <image v-if="item.status == 0 || item.status == 1" class="img" src="@/static/side/ic_pandian@2x.png" mode="">
- </image>
- <image v-else class="img" src="@/static/side/ic_pandian_grey@2x.png" mode=""></image>
- <view class="content">
- <view class="head">
- <view class="title">{{item.name}}</view>
- <view class="status" v-if="item.status == 0">鏈紑濮�</view>
- <view class="status green" v-if="item.status == 1">鐩樼偣涓�</view>
- <view class="status gray" v-if="item.status == 2">宸插畬鎴�</view>
- <view class="status gray" v-if="item.status == 3">宸插彇娑�</view>
- </view>
- <view class="line">鐩樼偣鏃ユ湡锛歿{item.planDate}}</view>
- <view class="line">鐩樼偣浠撳簱锛歿{item.warehouseName}}</view>
- <view class="line">
- <view class="">鐩樼偣浜哄憳锛歿{item.userName}}</view>
- <view class="btn" v-if="item.status == 0" @click="startHandle(item)">寮�濮嬬洏鐐�</view>
+ <scroll-view scroll-y="true" class="scroll_Y" @scrolltolower="scrolltolower">
+ <view class="list">
+ <view class="item" @click="itemClick(item)" v-for="item in list">
+ <image v-if="item.status == 0 || item.status == 1" class="img" src="@/static/side/ic_pandian@2x.png" mode="">
+ </image>
+ <image v-else class="img" src="@/static/side/ic_pandian_grey@2x.png" mode=""></image>
+ <view class="content">
+ <view class="head">
+ <view class="title">{{item.name}}</view>
+ <view class="status" v-if="item.status == 0">鏈紑濮�</view>
+ <view class="status green" v-if="item.status == 1">鐩樼偣涓�</view>
+ <view class="status gray" v-if="item.status == 2">宸插畬鎴�</view>
+ <view class="status gray" v-if="item.status == 3">宸插彇娑�</view>
+ </view>
+ <view class="line">鐩樼偣鏃ユ湡锛歿{item.planDate}}</view>
+ <view class="line">鐩樼偣浠撳簱锛歿{item.warehouseName}}</view>
+ <view class="line">
+ <view class="">鐩樼偣浜哄憳锛歿{item.userName}}</view>
+ <view class="btn" v-if="item.status == 0 && item.timeFlag" @click="startHandle(item)">寮�濮嬬洏鐐�</view>
+ </view>
</view>
</view>
</view>
- </view>
+ </scroll-view>
</view>
</template>
<script>
import {
- getYwStocktaking,
+ getYwStocktaking,
ywStocktakingBegin
- } from '@/api'
+ } from '@/api'
+ import dayjs from 'dayjs';
export default {
data() {
return {
@@ -63,29 +66,33 @@
...param
}
}).then(res => {
- this.list = [...this.list, ...res.data.records]
+ this.list = [...this.list, ...res.data.records]
+ let date = dayjs().format('YYYY-MM-DD')
+ this.list.forEach(item => {
+ item.timeFlag = new Date(item.planDate).getTime() <= new Date(date+' 23:59:59').getTime()
+ })
this.total = res.data.total
})
- },
- itemClick(item) {
- if(item.status == 1){
- uni.navigateTo({
- url: '/pages/inventory/detail?id=' + item.id
- })
- }
+ },
+ itemClick(item) {
+ if (item.status != 0) {
+ uni.navigateTo({
+ url: '/pages/inventory/detail?id=' + item.id
+ })
+ }
},
startHandle(item) {
uni.showModal({
content: '鐩樼偣鏈熼棿涓嶅彲杩涜鍑哄叆搴撴搷浣�',
success: (res) => {
- if (res.confirm) {
- ywStocktakingBegin(item.id).then(() => {
- uni.navigateTo({
- url: '/pages/inventory/detail?id=' + item.id
- })
+ if (res.confirm) {
+ ywStocktakingBegin(item.id).then(() => {
+ uni.navigateTo({
+ url: '/pages/inventory/detail?id=' + item.id
+ })
})
-
- }
+
+ }
}
})
},
@@ -112,15 +119,14 @@
<style lang="scss">
.main_app {
- padding: 10rpx 30rpx 0;
+ padding: 0rpx 30rpx 0;
font-size: 28rpx;
}
.head_wrap {
display: flex;
align-items: center;
- margin-bottom: 40rpx;
-
+ height: 110rpx;
.search_wrap {
display: flex;
align-items: center;
@@ -141,15 +147,16 @@
}
}
-
+ .scroll_Y{
+ height: calc(100vh - 126rpx);
+ }
.list {
- height: calc(100vh - 136rpx);
-
.item {
display: flex;
border-bottom: 1rpx solid #E5E5E5;
padding-bottom: 28rpx;
margin-bottom: 20rpx;
+
.img {
width: 80rpx;
height: 80rpx;
@@ -163,18 +170,21 @@
.head {
display: flex;
- align-items: center;
+ // align-items: center;
justify-content: space-between;
margin-bottom: 12rpx;
.title {
font-weight: 600;
font-size: 34rpx;
- color: #222222;
+ color: #222222;
+ flex: 1;
}
.status {
- color: $primaryColor;
+ color: $primaryColor;
+ width: 96rpx;
+ padding-top: 3rpx;
}
.green {
diff --git a/h5/pages/login.vue b/h5/pages/login.vue
index ebe40f2..dc65036 100644
--- a/h5/pages/login.vue
+++ b/h5/pages/login.vue
@@ -45,14 +45,20 @@
form: {
phone: '',
code: ''
- },
+ },
+ ywinfo: {},
downTime: 0,
code: ''
}
},
onLoad(option) {
console.log('onLoad');
- // https://zhcg.fnwtzx.com/#/pages/login?type=0&ywid=ywid
+ // https://zhcg.fnwtzx.com/#/pages/login?type=0&ywid=ywid
+ const ywinfo = uni.getStorageSync('ywinfo') || {}
+ if (ywinfo.ywid && (ywinfo.type || ywinfo.type == 0)) {
+ this.ywinfo = ywinfo
+ uni.setStorageSync('ywinfo', {})
+ }
if (option.ywid || option.ywid == 0) {
uni.setStorageSync('ywinfo', {
type: option.type,
@@ -84,11 +90,10 @@
getUserInfo().then(ress => {
that.$store.commit('setUserInfo', ress.data)
})
- const ywinfo = uni.getStorageSync('ywinfo') || {}
+ const ywinfo = this.ywinfo
if (ywinfo.ywid && (ywinfo.type || ywinfo.type == 0)) {
getRecordByUserPoint({pointCode: ywinfo.ywid}).then(res => {
if(res.data && res.data.id){
- uni.setStorageSync('ywinfo', {})
uni.redirectTo({
url: "/pages/polling/point?id=" + res.data.id
})
@@ -141,12 +146,11 @@
this.showToast('鐧诲綍鎴愬姛')
getUserInfo().then(ress => {
this.setUserInfo(ress.data)
- const ywinfo = uni.getStorageSync('ywinfo') || {}
+ const ywinfo = this.ywinfo
if (ywinfo.ywid && (ywinfo.type || ywinfo.type == 0)) {
getRecordByUserPoint({pointCode: ywinfo.ywid}).then(res => {
getRecordByUserPoint({pointCode: ywinfo.ywid}).then(res => {
if(res.data && res.data.id){
- uni.setStorageSync('ywinfo', {})
uni.redirectTo({
url: "/pages/polling/point?id=" + res.data.id
})
diff --git a/h5/pages/workOrder/wait.vue b/h5/pages/workOrder/wait.vue
index 7ccd30a..d3fd3e1 100644
--- a/h5/pages/workOrder/wait.vue
+++ b/h5/pages/workOrder/wait.vue
@@ -115,17 +115,16 @@
this.getList()
},
itemClick(item) {
- if (item.objType == 0) {
- return
- uni.navigateTo({
- url: `/pages/inventory/detail?id=${item.objId}`
+ if (item.objType == 0 && item.status == 1) {
+ uni.navigateTo({
+ url: `/pages/inventory/detail?id=${item.objId}`
})
} else if (item.objType == 1) {
// return
uni.navigateTo({
url: `/pages/polling/detail?id=${item.objId}`
})
- } else {
+ } else if(item.objType == 2) {
uni.navigateTo({
url: `/pages/workOrder/detail?id=${item.objId}`
})
@@ -243,7 +242,8 @@
.main_app {
padding: 0;
height: 100vh;
- overflow: hidden;
+ overflow: hidden;
+ background-color: #fff;
}
.tabs {
@@ -279,7 +279,7 @@
height: 6rpx;
background-color: #fff;
border-radius: 3rpx;
- margin-top: 24rpx;
+ margin-top: 16rpx;
}
}
--
Gitblit v1.9.3