|
|
@@ -0,0 +1,311 @@
|
|
|
+<template>
|
|
|
+<view class="app-content">
|
|
|
+ <view class="billing_box_bg">
|
|
|
+ <view class="input-wrap">
|
|
|
+ <view style="padding:0upx 0upx 0upx 0upx;margin-right:10upx;" >
|
|
|
+ <button class="admin-button-com middle blue" @click="selectFlowerNumFn()">图片分类</button>
|
|
|
+ </view>
|
|
|
+ <view class="search-bar">
|
|
|
+ <app-search-module ref="globalSearchRef" v-model="globalPy" placeholder="这里搜索" @input="globalSearch" />
|
|
|
+ </view>
|
|
|
+ <view style="padding:0 0upx 0 20upx;" >
|
|
|
+ <button class="admin-button-com middle blue" @click="pageTo({ url: '/admin/ptItem/itemList' })">添花材</button>
|
|
|
+ </view>
|
|
|
+ <view style="padding:0 0upx 0 20upx;" >
|
|
|
+ <button class="admin-button-com middle blue" @click="removeFromSave()">清除花材</button>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="scroll-middle_bx">
|
|
|
+ <scroll-view scroll-y scroll-with-animation class="tab-view" :scroll-top="scrollTop">
|
|
|
+ <div v-for="(item, index) in globalClassData" :key="index" class="tab-bar-item" :class="[classIndex == index ? 'active' : '']" :data-current="index" @tap.stop="globalSwitchClass(index,item)" >
|
|
|
+ <text>{{ item.name || "" }}</text>
|
|
|
+ </div>
|
|
|
+ <view style="height: 120upx"></view>
|
|
|
+ </scroll-view>
|
|
|
+ <scroll-view scroll-y class="right-box" v-if="tabIndex == 0" :scroll-into-view="scroll_into_view" scroll-with-animation="true"
|
|
|
+ :scroll-top="globalScrollTopPlace" @scroll="globalGetScroll" lower-threshold="100" @scrolltolower="globalScrollBottom">
|
|
|
+ <!--内容部分 start -->
|
|
|
+ <block v-if="!$util.isEmpty(globalItemData)">
|
|
|
+ <view class="item_list_bx selectAll">
|
|
|
+ <view class="item_list_title"></view>
|
|
|
+ <view v-if="!$util.isEmpty(globalItemData)">
|
|
|
+ <template v-for="(productItem, productIndex) in globalItemData">
|
|
|
+ <view style="height:175upx" :key="productIndex">
|
|
|
+ <Commondity
|
|
|
+ :key="productIndex"
|
|
|
+ :info="productItem"
|
|
|
+ @showAddModelFn="showAddModelFn"
|
|
|
+ @replaceItemFn="replaceItemFn"
|
|
|
+ ></Commondity>
|
|
|
+ </view>
|
|
|
+ </template>
|
|
|
+ </view>
|
|
|
+ <view v-else>
|
|
|
+ <view style="height:260upx;text-align:center;color:#CCCCCC;position: relative;">
|
|
|
+ <view style="position: absolute;margin:auto;top:130upx;left:0;right:0;bottom:0;">暂无花材</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </block>
|
|
|
+ <block v-else> <app-wrapper-empty title="加载中" :is-empty="$util.isEmpty(globalItemData)" /> </block>
|
|
|
+ </scroll-view>
|
|
|
+ <block v-else>
|
|
|
+ <view style="width:100%"><AppWrapperEmpty title="敬请期待" :is-empty="true" /></view>
|
|
|
+ </block>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <modal-module :show="isAddModel" @cancel="addItemModelHidden" @click="confirmAddItemModel" :title="customData.name" color="#333" :size="32" padding="30rpx 30rpx" >
|
|
|
+ <template slot="customContent">
|
|
|
+ <view class="select-cmd_bx" v-if="customData">
|
|
|
+ <view class="kc"> 库存{{ customData.stock?parseFloat(customData.stock):0 }} </view>
|
|
|
+ <view class="num_bx">
|
|
|
+ <!-- #ifdef APP-PLUS -->
|
|
|
+ <input style="width: 430upx" v-model="customData.bigCount" v-if="globalUnitType == 0" type="number" />
|
|
|
+ <text style="font-size:35upx;font-weight:bold;color:#666666;" v-if="globalUnitType == 0">扎</text>
|
|
|
+ <input style="width: 430upx" v-model="customData.smallCount" v-if="globalUnitType == 1" type="number" />
|
|
|
+ <text style="font-size:35upx;font-weight:bold;color:#666666;" v-if="globalUnitType == 1">支</text>
|
|
|
+ <!-- #endif -->
|
|
|
+
|
|
|
+ <!-- #ifdef MP-WEIXIN -->
|
|
|
+ <input style="width: 430upx" v-model="customData.bigCount" v-if="globalUnitType == 0" :focus="isAddInputFocus" type="number" />
|
|
|
+ <text style="font-size:35upx;font-weight:bold;color:#666666;" v-if="globalUnitType == 0">扎</text>
|
|
|
+ <input style="width: 430upx" v-model="customData.smallCount" v-if="globalUnitType == 1" :focus="isAddInputFocus" type="number" />
|
|
|
+ <text style="font-size:35upx;font-weight:bold;color:#666666;" v-if="globalUnitType == 1">支</text>
|
|
|
+ <!-- #endif -->
|
|
|
+
|
|
|
+ <button v-if="selectJobType == 'inventory'" style="position:absolute;top:263upx;left:230upx;" @click="customData.bigCount=99999" class="admin-button-com middle blue">盘点为零</button>
|
|
|
+
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </template>
|
|
|
+ </modal-module>
|
|
|
+
|
|
|
+ <modal-module :show="showSubmitModel" @cancel="cancelEvent" @click="submitEvent" title="确认下一步?" color="#333" :size="32" padding="30upx 30upx" >
|
|
|
+ </modal-module>
|
|
|
+
|
|
|
+ <FooterCart :offPrice="true" :price="allPrice" :count="allCount" @confirm="confirmToSaveItem"></FooterCart>
|
|
|
+
|
|
|
+ <uni-popup ref="globalClassImgRef" background-color="#fff" type="center" :animation="false" class="class-popup-style">
|
|
|
+ <view style="display:flex;padding:20upx;height:auto;justify-content: space-between;align-items:center;flex-wrap:wrap;max-height:100vh;overflow:auto;">
|
|
|
+
|
|
|
+ <view v-for="(item, index) in globalClassData" :key="index" @tap.stop="globalChangeClass(index,item)" style="margin-bottom:20upx;margin-left:3upx;">
|
|
|
+ <image :src="item.cover" style="width:120upx;height:120upx;border-radius:10upx;"></image>
|
|
|
+ <view style="margin-top:5upx;overflow: hidden;white-space: nowrap;width:120upx;text-align:center;">{{item.name}}</view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ </view>
|
|
|
+ </uni-popup>
|
|
|
+
|
|
|
+ </view>
|
|
|
+</view>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import AppSearchModule from "@/components/module/app-search";
|
|
|
+import AppWrapperEmpty from "@/components/app-wrapper-empty";
|
|
|
+import Commondity from "../components/pdItem";
|
|
|
+import FooterCart from "@/components/module/app-footer-cart";
|
|
|
+import ModalModule from "@/components/plugin/modal";
|
|
|
+import productMins from "@/mixins/product2";
|
|
|
+import allMoreSelectInput from "@/components/module/allMoreSelectInput";
|
|
|
+import allMoreSelectInputMins from "@/mixins/allMoreSelectInput";
|
|
|
+import { mapGetters } from "vuex";
|
|
|
+export default {
|
|
|
+ name: "allotEx",
|
|
|
+ components: {
|
|
|
+ AppSearchModule,
|
|
|
+ AppWrapperEmpty,
|
|
|
+ Commondity,
|
|
|
+ ModalModule,
|
|
|
+ FooterCart,
|
|
|
+ allMoreSelectInput
|
|
|
+ },
|
|
|
+ mixins: [productMins,allMoreSelectInputMins],
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ selectJobType: "inventory",
|
|
|
+ globalCheckStock: false,
|
|
|
+ isAddInputFocus: false,
|
|
|
+ isSmallCount:false,
|
|
|
+ tabIndex: 0,
|
|
|
+ customData: {
|
|
|
+ bigCount: 0,
|
|
|
+ smallCount: 0,
|
|
|
+ userPrice:0
|
|
|
+ },
|
|
|
+ showSubmitModel: false,
|
|
|
+ autoLoad: false
|
|
|
+ };
|
|
|
+ },
|
|
|
+ onShow(){
|
|
|
+ this.pdInit()
|
|
|
+ },
|
|
|
+ computed:{
|
|
|
+ ...mapGetters(["getMyShopInfo","getLoginInfo"]),
|
|
|
+ },
|
|
|
+ onLoad() {
|
|
|
+ this.pdInit()
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ pdInit(){
|
|
|
+ this.globalRequestType = 'check'
|
|
|
+ this.initData()
|
|
|
+ if(this.option.shopId){
|
|
|
+ this.selectJobId = this.option.shopId
|
|
|
+ }
|
|
|
+ },
|
|
|
+ changeClass(index){
|
|
|
+ this.$refs.selectFlowerNumRef.close()
|
|
|
+ this.swichClass(index)
|
|
|
+ },
|
|
|
+ selectFlowerNumFn(){
|
|
|
+ this.$refs.selectFlowerNumRef.open('top')
|
|
|
+ },
|
|
|
+ hideClassRemind(){
|
|
|
+
|
|
|
+ },
|
|
|
+ confirmToSaveItem() {
|
|
|
+ if(this.$util.isEmpty(this.selectList)){
|
|
|
+ this.$msg('请选择花材')
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ let pdType = this.option.pdType ? this.option.pdType: ''
|
|
|
+ this.$util.pageTo({url: "/pagesStorehouse/inventory/update?pdType="+pdType+"&shopId="+this.option.shopId,type:2})
|
|
|
+ },
|
|
|
+ submitEvent(val) {
|
|
|
+ if (val.index === 0) {
|
|
|
+ this.cancelEvent()
|
|
|
+ } else {
|
|
|
+ uni.navigateBack({ delta: 1 })
|
|
|
+ this.cancelEvent()
|
|
|
+ }
|
|
|
+ },
|
|
|
+ cancelEvent() {
|
|
|
+ this.showSubmitModel = false;
|
|
|
+ },
|
|
|
+ change(e) {
|
|
|
+ if (this.tabIndex == e.index) {
|
|
|
+ return false;
|
|
|
+ } else {
|
|
|
+ this.tabIndex = e.index;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ scrollTop() {}
|
|
|
+ }
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+.billing_box_bg {
|
|
|
+ height: 100%;
|
|
|
+ display: flex;
|
|
|
+ background: white;
|
|
|
+ flex-direction: column;
|
|
|
+ .input-wrap {
|
|
|
+ display: flex;
|
|
|
+ padding: 22upx 20upx 22upx 13upx;
|
|
|
+ .search-bar {
|
|
|
+ flex: 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .scroll-middle_bx {
|
|
|
+ flex: 1;
|
|
|
+ display: flex;
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ overflow: hidden;
|
|
|
+ }
|
|
|
+ .tab-view {
|
|
|
+ height: calc(100vh - 140upx);
|
|
|
+ width: 170upx;
|
|
|
+ flex-shrink: 0;
|
|
|
+ background-color: #f0f2f6;
|
|
|
+ .tab-bar-item {
|
|
|
+ position: relative;
|
|
|
+ width: 170upx;
|
|
|
+ height: 90upx;
|
|
|
+ box-sizing: border-box;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ font-size: 26upx;
|
|
|
+ color: #444;
|
|
|
+ font-weight: 400;
|
|
|
+ .tag {
|
|
|
+ display: flex;
|
|
|
+ padding: 0 20upx;
|
|
|
+ align-items: center;
|
|
|
+ position: absolute;
|
|
|
+ right: 0;
|
|
|
+ top: 0;
|
|
|
+ height: 32upx;
|
|
|
+ background: #ff2842;
|
|
|
+ border-radius: 16upx;
|
|
|
+ color: #fff;
|
|
|
+ font-size: 20upx;
|
|
|
+ }
|
|
|
+ &:last-child{
|
|
|
+ margin-bottom: 110upx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .active {
|
|
|
+ position: relative;
|
|
|
+ color: $mainColor;
|
|
|
+ font-size: 26upx;
|
|
|
+ background: #fff;
|
|
|
+ }
|
|
|
+ .active::before {
|
|
|
+ content: "";
|
|
|
+ position: absolute;
|
|
|
+ border-left: 8upx solid $mainColor;
|
|
|
+ height: 100%;
|
|
|
+ left: 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .right-box {
|
|
|
+ height: calc(100vh - 140upx);
|
|
|
+ flex: 1;
|
|
|
+ box-sizing: border-box;
|
|
|
+ }
|
|
|
+ .item_list_bx {
|
|
|
+ padding: 40upx 16upx;
|
|
|
+ &:last-child{
|
|
|
+ margin-bottom: 70upx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .item_list_title {
|
|
|
+ margin-bottom: 20upx;
|
|
|
+ font-size: 24upx;
|
|
|
+ font-weight: 600;
|
|
|
+ color: #666666;
|
|
|
+ }
|
|
|
+ .select-cmd_bx {
|
|
|
+ & .kc {
|
|
|
+ color: #999999;
|
|
|
+ font-size: 28upx;
|
|
|
+ font-weight: 400;
|
|
|
+ margin-bottom:50upx;
|
|
|
+ text-align: center;
|
|
|
+ margin-top: 10upx;
|
|
|
+ }
|
|
|
+ & .num_bx {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ margin-bottom: 80upx;
|
|
|
+ & > input {
|
|
|
+ width: 200upx;
|
|
|
+ margin-left:40upx;
|
|
|
+ height: 80upx;
|
|
|
+ border: 1upx solid #dddddd;
|
|
|
+ border-radius: 4upx;
|
|
|
+ text-align: center;
|
|
|
+ margin-right: 24upx;
|
|
|
+ font-size: 40upx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+.class-popup-style{
|
|
|
+ z-index:99999;
|
|
|
+}
|
|
|
+</style>
|