Browse Source

库存

devlop
mo-bai 4 years ago
parent
commit
02156fce9a
14 changed files with 55 additions and 36 deletions
  1. 2
      components/qn-data-pickerview/qn-data-pickerview.vue
  2. 4
      components/qn-datetime-picker/qn-datetime-picker.vue
  3. 2
      components/qn-input-number/qn-input-number.vue
  4. 13
      enums/index.js
  5. 2
      pages/account-management/index.vue
  6. 8
      pages/add-account/index.vue
  7. 4
      pages/add-address-manage/index.vue
  8. 2
      pages/address-manage/index.vue
  9. 12
      pages/cart/index.vue
  10. 2
      pages/cart/no-data.vue
  11. 4
      pages/enquiry-list/index.vue
  12. 4
      pages/for-comparison/index.vue
  13. 25
      pages/paper-details/index.vue
  14. 7
      pages/store/index.vue

2
components/qn-data-pickerview/qn-data-pickerview.vue

@ -10,7 +10,7 @@
v-if="item.text" v-if="item.text"
@click="handleSelect(index)" @click="handleSelect(index)"
> >
<text class="">{{ item.text }}</text>
<text>{{ item.text }}</text>
</view> </view>
</template> </template>
</view> </view>

4
components/qn-datetime-picker/qn-datetime-picker.vue

@ -13,7 +13,7 @@
<view v-else class="uni-date-x uni-date-range"> <view v-else class="uni-date-x uni-date-range">
<input class="uni-date__x-input t-c" type="text" v-model="range.startDate" :placeholder="startPlaceholderText" :disabled="true" /> <input class="uni-date__x-input t-c" type="text" v-model="range.startDate" :placeholder="startPlaceholderText" :disabled="true" />
<slot> <slot>
<view class="">{{ rangeSeparator }}</view>
<view>{{ rangeSeparator }}</view>
</slot> </slot>
<input class="uni-date__x-input t-c" type="text" v-model="range.endDate" :placeholder="endPlaceholderText" :disabled="true" /> <input class="uni-date__x-input t-c" type="text" v-model="range.endDate" :placeholder="endPlaceholderText" :disabled="true" />
<uni-icons v-if="showClearIcon && range.startDate && range.endDate" type="calendar" color="#e1e1e1" size="22"></uni-icons> <uni-icons v-if="showClearIcon && range.startDate && range.endDate" type="calendar" color="#e1e1e1" size="22"></uni-icons>
@ -122,7 +122,7 @@
/> />
</view> </view>
<view v-if="hasTime" class="popup-x-footer"> <view v-if="hasTime" class="popup-x-footer">
<text class="" @click="clear">{{ clearText }}</text>
<text @click="clear">{{ clearText }}</text>
<text class="confirm" @click="confirmRangeChange">{{ okText }}</text> <text class="confirm" @click="confirmRangeChange">{{ okText }}</text>
</view> </view>
</view> </view>

2
components/qn-input-number/qn-input-number.vue

@ -3,7 +3,7 @@
<view class="minus-box" @tap="minusTap"> <view class="minus-box" @tap="minusTap">
<uni-icons size="16" custom-prefix="iconfont" type="icon-Less" color="#007AFF"></uni-icons> <uni-icons size="16" custom-prefix="iconfont" type="icon-Less" color="#007AFF"></uni-icons>
</view> </view>
<view class="" style="padding: 0rpx 4rpx">
<view style="padding: 0rpx 4rpx">
<qn-easyinput <qn-easyinput
:inputBorder="false" :inputBorder="false"
class="quantity-input" class="quantity-input"

13
enums/index.js

@ -239,3 +239,16 @@ export const invoiceStatusMap = {
[invoiceStatusEnum.INVOICE]: '开票', [invoiceStatusEnum.INVOICE]: '开票',
[invoiceStatusEnum.NO_INVOICE]: '不开票' [invoiceStatusEnum.NO_INVOICE]: '不开票'
} }
/**
* 库存单位 1: 2:
*/
export const stockUnitEnum = {
SHEET: 1,
TON: 2
}
export const stockUnitMap = {
[stockUnitEnum.SHEET]: '张',
[stockUnitEnum.TON]: '吨'
}

2
pages/account-management/index.vue

@ -7,7 +7,7 @@
<view slot="right" class="add-account" @click="addAccount">添加账号</view> <view slot="right" class="add-account" @click="addAccount">添加账号</view>
</uni-nav-bar> </uni-nav-bar>
</view> </view>
<view class="">
<view>
<scroll-list style="touch-action: none" ref="orderRef" :option="orderOption" @load="orderUp" @refresh="orderDown"> <scroll-list style="touch-action: none" ref="orderRef" :option="orderOption" @load="orderUp" @refresh="orderDown">
<view class="account-list" v-for="(item, index) in list" :key="index"> <view class="account-list" v-for="(item, index) in list" :key="index">
<view class="account-iamge-width"><image class="list-image" src="/static/imgs/mine/client-default.png" mode=""></image></view> <view class="account-iamge-width"><image class="list-image" src="/static/imgs/mine/client-default.png" mode=""></image></view>

8
pages/add-account/index.vue

@ -7,7 +7,7 @@
<view slot="right"></view> <view slot="right"></view>
</uni-nav-bar> </uni-nav-bar>
</view> </view>
<view class="">
<view>
<view class="add-paper-list"> <view class="add-paper-list">
<view> <view>
<text class="add-paper-start"><uni-icons custom-prefix="iconfont" type="icon-required" size="14" color="#F5222D"></uni-icons></text> <text class="add-paper-start"><uni-icons custom-prefix="iconfont" type="icon-required" size="14" color="#F5222D"></uni-icons></text>
@ -48,7 +48,7 @@
<text class="add-paper-start"><uni-icons custom-prefix="iconfont" type="icon-required" size="14" color="#F5222D"></uni-icons></text> <text class="add-paper-start"><uni-icons custom-prefix="iconfont" type="icon-required" size="14" color="#F5222D"></uni-icons></text>
<text class="add-paper-text">职务</text> <text class="add-paper-text">职务</text>
</view> </view>
<view class="">
<view>
<text v-if="form.title === ''" class="add-paph-text">点击选择职务</text> <text v-if="form.title === ''" class="add-paph-text">点击选择职务</text>
<text v-else>{{ form.title }}</text> <text v-else>{{ form.title }}</text>
<text><uni-icons type="right" color="#000000" size="18"></uni-icons></text> <text><uni-icons type="right" color="#000000" size="18"></uni-icons></text>
@ -56,8 +56,8 @@
</view> </view>
</view> </view>
<view class="upload-btn"> <view class="upload-btn">
<view class=""><button type="primary" class="btn-class" plain="true" @click="cencelList()">取消</button></view>
<view class=""><button type="primary" class="btn-class-upload" @click="uploadData()">确认</button></view>
<view><button type="primary" class="btn-class" plain="true" @click="cencelList()">取消</button></view>
<view><button type="primary" class="btn-class-upload" @click="uploadData()">确认</button></view>
</view> </view>
<uni-popup ref="paperpopup" type="bottom"> <uni-popup ref="paperpopup" type="bottom">
<view class="popup_modal"> <view class="popup_modal">

4
pages/add-address-manage/index.vue

@ -63,11 +63,11 @@
</view> </view>
<uGap></uGap> <uGap></uGap>
<view class="default-address"> <view class="default-address">
<view class="">
<view>
<view class="title">设置为默认地址</view> <view class="title">设置为默认地址</view>
<view class="tip">提醒每次下单会默认使用该地址</view> <view class="tip">提醒每次下单会默认使用该地址</view>
</view> </view>
<view class=""><switch :checked="form.isDefault == 1" @change="switchChange" style="transform: scale(0.8)" /></view>
<view><switch :checked="form.isDefault == 1" @change="switchChange" style="transform: scale(0.8)" /></view>
</view> </view>
<qn-footer fixed height="120rpx"> <qn-footer fixed height="120rpx">
<view class="button-area"> <view class="button-area">

2
pages/address-manage/index.vue

@ -14,7 +14,7 @@
</label> </label>
</view> </view>
<view class="right"> <view class="right">
<view class="" @tap="delTap(item, index)">删除</view>
<view @tap="delTap(item, index)">删除</view>
<view class="edit" @tap="editTap(item, index)">编辑</view> <view class="edit" @tap="editTap(item, index)">编辑</view>
</view> </view>
</view> </view>

12
pages/cart/index.vue

@ -11,7 +11,7 @@
<view slot="left" class="left-title">购物车</view> <view slot="left" class="left-title">购物车</view>
<view slot="right" class="right-title" @tap="delTap">删除</view> <view slot="right" class="right-title" @tap="delTap">删除</view>
</uni-nav-bar> </uni-nav-bar>
<view class="">
<view>
<scroll-list ref="list" :option="option" @load="upCallback" @refresh="downCallback" style="background-color: #ffffff"> <scroll-list ref="list" :option="option" @load="upCallback" @refresh="downCallback" style="background-color: #ffffff">
<view class="group-box" v-for="(item, index) in list" :key="index"> <view class="group-box" v-for="(item, index) in list" :key="index">
<uGap></uGap> <uGap></uGap>
@ -23,7 +23,7 @@
mode="" mode=""
></image> ></image>
</view> </view>
<view class="">{{ item.supplierName }}</view>
<view>{{ item.supplierName }}</view>
</view> </view>
<view class="list-box" v-for="(subItem, subIndex) in item.carItemList" :key="subIndex"> <view class="list-box" v-for="(subItem, subIndex) in item.carItemList" :key="subIndex">
<view class="checkbox" @tap="checkboxTap(item, subItem)"> <view class="checkbox" @tap="checkboxTap(item, subItem)">
@ -46,7 +46,7 @@
<view class="weight">预估重量{{ subItem.weight }}</view> <view class="weight">预估重量{{ subItem.weight }}</view>
<view class="price-row"> <view class="price-row">
<view class="value">¥{{ subItem.price }}</view> <view class="value">¥{{ subItem.price }}</view>
<view class=""><qnInputNumber :quantity="subItem.quantity" @input="change($event, subItem)" /></view>
<view><qnInputNumber :quantity="subItem.quantity" @input="change($event, subItem)" /></view>
</view> </view>
</view> </view>
</view> </view>
@ -59,17 +59,17 @@
<view class="footer-box"> <view class="footer-box">
<view class="row"> <view class="row">
<view class="left" @tap="selectAll"> <view class="left" @tap="selectAll">
<view class="">
<view>
<image <image
class="select-img" class="select-img"
:src="allSelected ? '/static/imgs/cart/shopping-cart-select.png' : '/static/imgs/cart/shopping-cart-not-select.png'" :src="allSelected ? '/static/imgs/cart/shopping-cart-select.png' : '/static/imgs/cart/shopping-cart-not-select.png'"
mode="" mode=""
></image> ></image>
</view> </view>
<view class=""><text class="check-text">全选</text></view>
<view><text class="check-text">全选</text></view>
</view> </view>
<view class="right"> <view class="right">
<view class="">
<view>
<text class="name">应付</text> <text class="name">应付</text>
<text class="value">¥{{ totalPrice }}</text> <text class="value">¥{{ totalPrice }}</text>
</view> </view>

2
pages/cart/no-data.vue

@ -2,7 +2,7 @@
<view class="wrapper"> <view class="wrapper">
<image class="icon" src="/static/imgs/cart/no-data-icon.png"></image> <image class="icon" src="/static/imgs/cart/no-data-icon.png"></image>
<view class="text-row"> <view class="text-row">
<view class="">购物车是空的快去</view>
<view>购物车是空的快去</view>
<view class="btn" @tap="nativeTo">逛逛</view> <view class="btn" @tap="nativeTo">逛逛</view>
</view> </view>
</view> </view>

4
pages/enquiry-list/index.vue

@ -1,7 +1,7 @@
<template> <template>
<view class="wrapper"> <view class="wrapper">
<uni-nav-bar left-icon="back" @clickLeft="back" statusBar fixed title="询价列表"></uni-nav-bar> <uni-nav-bar left-icon="back" @clickLeft="back" statusBar fixed title="询价列表"></uni-nav-bar>
<view class="">
<view>
<view class="status-bar"> <view class="status-bar">
<view v-for="(item, index) in statusBarArray" :key="index" :class="{ box: true, 'box--selected': current == index }" @click="selectStatus(item, index)"> <view v-for="(item, index) in statusBarArray" :key="index" :class="{ box: true, 'box--selected': current == index }" @click="selectStatus(item, index)">
{{ item }} {{ item }}
@ -49,7 +49,7 @@
<view class="other" v-if="item.status == 30116 || item.status == 30131"> <view class="other" v-if="item.status == 30116 || item.status == 30131">
<view class="left">{{ item.createTime }}</view> <view class="left">{{ item.createTime }}</view>
<view class="right"> <view class="right">
<view class="">
<view>
<text class="price" v-if="item.reply">¥ {{ item.reply.totalPrice }}</text> <text class="price" v-if="item.reply">¥ {{ item.reply.totalPrice }}</text>
</view> </view>
<view class="btn" @tap="placeOrderTap(item, item.reply.replyItemList)" v-if="item.status == 30116">去下单</view> <view class="btn" @tap="placeOrderTap(item, item.reply.replyItemList)" v-if="item.status == 30116">去下单</view>

4
pages/for-comparison/index.vue

@ -69,9 +69,9 @@
</radio-group> </radio-group>
</view> </view>
<view class="input-row"> <view class="input-row">
<view class=""><uni-easyinput :inputBorder="false" class="easyinput" type="number" v-model="form.width" placeholder="请输入"></uni-easyinput></view>
<view><uni-easyinput :inputBorder="false" class="easyinput" type="number" v-model="form.width" placeholder="请输入"></uni-easyinput></view>
<view class="symbol">x</view> <view class="symbol">x</view>
<view class="">
<view>
<uni-easyinput :inputBorder="false" class="easyinput" type="number" v-model="form.length" placeholder="请输入"></uni-easyinput> <uni-easyinput :inputBorder="false" class="easyinput" type="number" v-model="form.length" placeholder="请输入"></uni-easyinput>
</view> </view>
</view> </view>

25
pages/paper-details/index.vue

@ -5,7 +5,7 @@
<uni-swiper-dot :info="info.imgList" :current="current" field="content" mode="indexes" style="height: 100%"> <uni-swiper-dot :info="info.imgList" :current="current" field="content" mode="indexes" style="height: 100%">
<swiper class="swiper-box" @change="swiperChange" style="height: 100%"> <swiper class="swiper-box" @change="swiperChange" style="height: 100%">
<swiper-item v-for="(item, index) in info.imgList" :key="index"> <swiper-item v-for="(item, index) in info.imgList" :key="index">
<view class="" @tap="item != '' && previewImg(index, info.imgList)">
<view @tap="item != '' && previewImg(index, info.imgList)">
<image class="image" :src="item || 'https://qncloud.oss-cn-shenzhen.aliyuncs.com/paper_shopkeeper/paper-default.png'" mode=""></image> <image class="image" :src="item || 'https://qncloud.oss-cn-shenzhen.aliyuncs.com/paper_shopkeeper/paper-default.png'" mode=""></image>
</view> </view>
</swiper-item> </swiper-item>
@ -21,9 +21,6 @@
</view> </view>
<view class="row"> <view class="row">
<view class="name">{{ info.name }}</view> <view class="name">{{ info.name }}</view>
<view class="value">
库存{{ info.skuList[0] ? info.skuList[0].stock : '-' || 'XX' }}{{ (info.skuList[0] ? info.skuList[0].stockUnit : '-') | stockUnit }}
</view>
</view> </view>
</view> </view>
<view class="list-box"> <view class="list-box">
@ -93,7 +90,10 @@
</view> </view>
</view> </view>
<view class="choose-box"> <view class="choose-box">
<view class="label">请选择克重</view>
<view class="label">
请选择克重
<text class="note">库存{{ info.skuList[kgActive].stock }}{{ info.skuList[kgActive].stockUnit | stockUnit }}</text>
</view>
<view class="flex-row-center-start" style="width: 684rpx; overflow-x: auto"> <view class="flex-row-center-start" style="width: 684rpx; overflow-x: auto">
<view <view
:class="['tag-box', kgActive === kIndex ? 'kg-select' : '']" :class="['tag-box', kgActive === kIndex ? 'kg-select' : '']"
@ -129,7 +129,7 @@
</view> </view>
<view class="quantity-row"> <view class="quantity-row">
<view class="label">购买数量()</view> <view class="label">购买数量()</view>
<view class=""><qnInputNumber @input="change" /></view>
<view><qnInputNumber @input="change" /></view>
</view> </view>
<view class="ygzl-text">预估重量{{ buyTon }}</view> <view class="ygzl-text">预估重量{{ buyTon }}</view>
<view class="popup-footer-row"><view class="btn" @tap="confirm">确认</view></view> <view class="popup-footer-row"><view class="btn" @tap="confirm">确认</view></view>
@ -145,7 +145,7 @@ import qnInputNumber from '@/components/qn-input-number/qn-input-number.vue'
import { go2, back } from '@/utils/hook.js' import { go2, back } from '@/utils/hook.js'
import { getPaperDetail, createGoodsReserve, createShoppingCar } from '@/apis/paperDetailsApi.js' import { getPaperDetail, createGoodsReserve, createShoppingCar } from '@/apis/paperDetailsApi.js'
import { round } from '@/utils/index.js' import { round } from '@/utils/index.js'
import { fddEnterpriseStatus } from '@/enums/index.js'
import { fddEnterpriseStatus, stockUnitEnum, stockUnitMap } from '@/enums/index.js'
import { getVerifyUrl } from '@/apis/commonApi.js' import { getVerifyUrl } from '@/apis/commonApi.js'
const validateFields = [ const validateFields = [
{ {
@ -224,7 +224,7 @@ export default {
}, },
filters: { filters: {
stockUnit(value) { stockUnit(value) {
return value == 1 ? '张' : '吨'
return stockUnitMap[value]
} }
}, },
onLoad(option) { onLoad(option) {
@ -355,7 +355,6 @@ export default {
}, },
// //
weightTap(item, index) { weightTap(item, index) {
console.log('item', item)
this.kgActive = index this.kgActive = index
this.buyPaperDto.gramWeight = item.weight this.buyPaperDto.gramWeight = item.weight
this.buyPaperDto.unitPrice = item.listPrice this.buyPaperDto.unitPrice = item.listPrice
@ -743,5 +742,13 @@ export default {
} }
} }
} }
.note {
margin-left: 16rpx;
font-size: 24rpx;
color: rgba(0, 0, 0, 0.55);
letter-spacing: 0;
text-align: left;
font-weight: 400;
}
} }
</style> </style>

7
pages/store/index.vue

@ -2,7 +2,7 @@
<view class="wrapper"> <view class="wrapper">
<uni-nav-bar statusBar fixed title="店铺首页"></uni-nav-bar> <uni-nav-bar statusBar fixed title="店铺首页"></uni-nav-bar>
<view class="top-box"> <view class="top-box">
<view class="">
<view>
<image <image
class="image" class="image"
:src="customerInfo.logo || 'https://qncloud.oss-cn-shenzhen.aliyuncs.com/paper_shopkeeper/paper-default-small.png'" :src="customerInfo.logo || 'https://qncloud.oss-cn-shenzhen.aliyuncs.com/paper_shopkeeper/paper-default-small.png'"
@ -32,7 +32,7 @@
<view class="content flex-row-start-start"> <view class="content flex-row-start-start">
<view class="box" v-for="(item, index) in list" :key="index" @tap="seeDetailsTap(item)" :style="{ marginRight: index % 2 != 0 ? '0' : '20rpx' }"> <view class="box" v-for="(item, index) in list" :key="index" @tap="seeDetailsTap(item)" :style="{ marginRight: index % 2 != 0 ? '0' : '20rpx' }">
<view class="image-box"> <view class="image-box">
<view class=""><image class="special-img" :src="item.isPromoting ? '/static/imgs/store/special-offe.png' : ''" mode=""></image></view>
<view><image class="special-img" :src="item.isPromoting ? '/static/imgs/store/special-offe.png' : ''" mode=""></image></view>
<image <image
class="image" class="image"
:src="item.litPicUrl || 'https://qncloud.oss-cn-shenzhen.aliyuncs.com/paper_shopkeeper/paper-default-small.png'" :src="item.litPicUrl || 'https://qncloud.oss-cn-shenzhen.aliyuncs.com/paper_shopkeeper/paper-default-small.png'"
@ -41,11 +41,10 @@
</view> </view>
<view class="title">{{ item.name }}</view> <view class="title">{{ item.name }}</view>
<view class="desc"> <view class="desc">
<view class="">
<view>
<image class="icon" src="/static/imgs/store/address-icon.png"></image> <image class="icon" src="/static/imgs/store/address-icon.png"></image>
<text style="padding-left: 6rpx">{{ customerInfo.area }}</text> <text style="padding-left: 6rpx">{{ customerInfo.area }}</text>
</view> </view>
<view class="">库存:{{ item.stock || 'XX' }} {{ item.stockUnit == 1 ? '张' : '吨' }}</view>
</view> </view>
<view class="footer"> <view class="footer">
<view class="left"> <view class="left">

Loading…
Cancel
Save