|
|
@@ -0,0 +1,623 @@
|
|
|
+<template>
|
|
|
+<view>
|
|
|
+ <view v-if="$util.isEmpty(orderInfo)" class="work-empty">
|
|
|
+ <text>暂无制作单</text>
|
|
|
+ </view>
|
|
|
+ <view class="work-info" v-else>
|
|
|
+ <view class="work-detail">
|
|
|
+ <view class="order-img">
|
|
|
+ <image :src="orderInfo.cover" @click.stop="previewImage(orderInfo.bigCover)"></image>
|
|
|
+ </view>
|
|
|
+ <view class="order-item">
|
|
|
+
|
|
|
+ <view v-if="beginCount > 0 && orderInfo.fromType == 4" style="min-height:35upx;height:auto;">
|
|
|
+ <text class="left">开始制作</text>
|
|
|
+ <text class="right" style="color:red;font-weight:bold;font-size:20upx;">{{beginCount}} 秒后</text>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view>
|
|
|
+ <text class="left">配送</text>
|
|
|
+ <text class="right" v-if="orderInfo.sendType == 1" style="color:red;font-weight:bold;">到店自取</text>
|
|
|
+ <text class="right" v-else style="color:red;font-weight:bold;">
|
|
|
+ <text v-if="orderInfo.reachDate == orderInfo.today">今天</text>
|
|
|
+ <text v-else-if="orderInfo.reachDate == orderInfo.tomorrow">明天</text>
|
|
|
+ <text v-else>{{orderInfo.reachDate.substr(5,9)}}</text>
|
|
|
+ <text style="margin-left:5upx;">{{orderInfo.reachPeriod}} 前</text>
|
|
|
+ </text>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view v-if="!$util.isEmpty(orderInfo.remark)" style="min-height:35upx;height:auto;">
|
|
|
+ <text class="right" style="color:red;">[备注] {{orderInfo.remark}}</text>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view v-if="!$util.isEmpty(orderInfo.cardInfo)" style="min-height:35upx;height:auto;">
|
|
|
+ <text class="right" style="color:red;">[贺卡内容] {{orderInfo.cardInfo}}</text>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view v-if="Number(orderInfo.orderPrice)>0">
|
|
|
+ <text class="left">订单金额</text>
|
|
|
+ <text class="right" style="font-weight:bold;">
|
|
|
+ ¥{{orderInfo.orderPrice && Number(orderInfo.orderPrice)>0 ? parseFloat(orderInfo.orderPrice) : ''}}
|
|
|
+ </text>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view><text class="left">数量</text>
|
|
|
+ <text class="right" style="color:red;font-weight:bold;">{{orderInfo.num}}</text>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view v-if="orderInfo.anonymity == 1">
|
|
|
+ <text class="left">要求</text>
|
|
|
+ <text class="right" style="color:red;font-weight:bold;text-align:right;">匿名派送!!</text>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view v-if="Number(orderInfo.orderDebtPrice)>0">
|
|
|
+ <text class="left">尾款</text>
|
|
|
+ <text class="right" style="color:red;font-weight:bold;">¥{{orderInfo.orderDebtPrice?parseFloat(orderInfo.orderDebtPrice):0}}</text>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view v-if="orderInfo.fromType == 4">
|
|
|
+ <text class="left">美团编号</text>
|
|
|
+ <text class="right" style="color:black;font-weight:bold;">{{orderInfo.thirdSn}}</text>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view><text class="left">分类</text><text class="right">{{orderInfo.catName}}</text></view>
|
|
|
+ <view><text class="left">名称</text><text class="right" style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:125upx;text-align:right;">{{orderInfo.name}}</text></view>
|
|
|
+ <view><text class="left">商品编号</text><text class="right">{{orderInfo.goodsSn}}</text></view>
|
|
|
+ <view><text class="left">订单号</text><text class="right">{{orderInfo.orderSn}}</text></view>
|
|
|
+ <view><text class="left">状态</text><text class="right">{{getStatus(orderInfo.status)}}</text></view>
|
|
|
+ <view><text class="left">创建</text><text class="right">{{orderInfo.addTime ? orderInfo.addTime.substr(5,11):''}}</text></view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="work-item-detail">
|
|
|
+
|
|
|
+ <view class="flex-space right-detail-title" v-if="getMyShopInfo.stockModel && getMyShopInfo.stockModel == 1">每份用材
|
|
|
+ <text v-if="orderInfo.stockLock && orderInfo.stockLock == 1 && orderInfo.status == 0" style="color:red;">(不可修改)</text></view>
|
|
|
+ <view class="flex-space right-detail-title" v-else>使用花材
|
|
|
+ <text v-if="orderInfo.stockLock && orderInfo.stockLock == 1 && orderInfo.status == 0" style="color:red;">(不可修改)</text></view>
|
|
|
+
|
|
|
+ <view class="unit-use-item">
|
|
|
+ <view class="commodity-list">
|
|
|
+ <view v-for="(s, idx) in selectList" :key="idx" class="commodity-item" >
|
|
|
+ <image class="item-icon" :src="s.cover" @click="pageTo({url:'/admin/item/detail',query:{id: s.id}})"></image>
|
|
|
+ <view class="item-info">
|
|
|
+ <view class="info-line">
|
|
|
+ <text class="item-name">{{ s.name }}</text>
|
|
|
+ <text class="item-price">
|
|
|
+ <text class="unit">{{s.currentNum}}{{s.unitName}}</text>
|
|
|
+ </text>
|
|
|
+ </view>
|
|
|
+ <view class="info-line">
|
|
|
+ <text class="item-type">{{s.ratio}}{{s.smallUnit}}/{{s.bigUnit}}</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view style="height:2vh;background-color:#EEEEEE;" v-if="getMyShopInfo.stockModel && getMyShopInfo.stockModel == 1"></view>
|
|
|
+
|
|
|
+ <view class="flex-space right-detail-title" v-if="getMyShopInfo.stockModel && getMyShopInfo.stockModel == 1"> 总共用材 </view>
|
|
|
+
|
|
|
+ <view class="total-use-item" v-if="getMyShopInfo.stockModel && getMyShopInfo.stockModel == 1">
|
|
|
+ <view class="commodity-list">
|
|
|
+ <view v-for="(s, idx) in selectList" :key="idx" class="commodity-item" >
|
|
|
+ <image class="item-icon" :src="s.cover" @click="pageTo({url:'/admin/item/detail',query:{id: s.id}})" />
|
|
|
+ <view class="item-info">
|
|
|
+ <view class="info-line">
|
|
|
+ <text class="item-name">{{ s.name }}</text>
|
|
|
+ <text class="item-price">
|
|
|
+ <text class="unit">{{(s.currentNum*orderInfo.num).toFixed()}}{{s.unitName}}</text>
|
|
|
+ </text>
|
|
|
+ </view>
|
|
|
+ <view class="info-line">
|
|
|
+ <text class="item-type">{{s.ratio}}{{s.smallUnit}}/{{s.bigUnit}}</text>
|
|
|
+ <text style="font-size:9upx;position:relative;right:80upx;top:10upx;" v-if="Number(s.wastNum)>0">{{s.wastNum}}{{s.wastUnitName}}</text>
|
|
|
+ <button class="wastage" @click="wastageFn(s)">报损</button>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="button-area">
|
|
|
+ <view :class="[orderInfo.status==1 ? 'active' : '']" @click="printFn(orderInfo)">打印</view>
|
|
|
+ <view :class="[orderInfo.status==0 ? 'active' : '']" @click="cancelFn(orderInfo)">取消</view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <!-- 选数量金额 -->
|
|
|
+ <uni-popup ref="wastageSelectNumRef" background-color="#fff" type="center" :animation="false">
|
|
|
+ <wastageSelectNum @confirmWastageSelectNum="confirmWastageSelectNum" :customData.sync="customData"
|
|
|
+ @cancelWastageSelectNum="cancelWastageSelectNum"></wastageSelectNum>
|
|
|
+ </uni-popup>
|
|
|
+
|
|
|
+ <uni-popup ref="cancelWorkRef" type="dialog">
|
|
|
+ <uni-popup-dialog type="info" cancelText="取消" confirmText="确认" title="提示" content="确认取消?" @confirm="confirmCancel"></uni-popup-dialog>
|
|
|
+ </uni-popup>
|
|
|
+
|
|
|
+ <uni-popup ref="lockWorkRef" type="dialog">
|
|
|
+ <uni-popup-dialog type="info" cancelText="取消" confirmText="确认" title="提示" content="确认锁定?" @confirm="confirmLock"></uni-popup-dialog>
|
|
|
+ </uni-popup>
|
|
|
+
|
|
|
+ <uni-popup ref="finishRef" type="dialog">
|
|
|
+ <uni-popup-dialog type="info" cancelText="取消" confirmText="确认" title="提示" content="确认完成?" @confirm="confirmFinish"></uni-popup-dialog>
|
|
|
+ </uni-popup>
|
|
|
+
|
|
|
+ </view>
|
|
|
+</view>
|
|
|
+</template>
|
|
|
+<script>
|
|
|
+import { getFullInfo,finish,lockWork,cancelWork,print } from '@/api/work'
|
|
|
+import {modifyWastage} from '@/api/work-item'
|
|
|
+import wastageSelectNum from './wastageSelectNum.vue'
|
|
|
+import { mapGetters } from "vuex";
|
|
|
+import productMins from "@/mixins/product";
|
|
|
+export default {
|
|
|
+ name: "workInfo",
|
|
|
+ components: {wastageSelectNum},
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ orderInfo:[],
|
|
|
+ orderItem:[],
|
|
|
+ unitUseItem:{bigNum:0,smallNum:0},
|
|
|
+ totalUseItem:{bigNum:0,smallNum:0},
|
|
|
+ customData:{},
|
|
|
+ workItemId:0,
|
|
|
+ currentJobType:'modify',
|
|
|
+ currentJobId:0,
|
|
|
+ beginCount:0,
|
|
|
+ INT:null
|
|
|
+ }
|
|
|
+ },
|
|
|
+ props: {
|
|
|
+ selectOrderId:{
|
|
|
+ type: Number,
|
|
|
+ default: 0
|
|
|
+ }
|
|
|
+ },
|
|
|
+ mixins: [productMins],
|
|
|
+ computed:{
|
|
|
+ ...mapGetters(["getMyShopInfo"]),
|
|
|
+ },
|
|
|
+ watch:{
|
|
|
+ selectOrderId: {
|
|
|
+ handler(newId,oldId) {
|
|
|
+ this.currentJobId = Number(oldId)
|
|
|
+ this.removeFromSaveDirect()
|
|
|
+ this.currentJobId = Number(newId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ // #ifdef APP-PLUS
|
|
|
+ this.listenScanItem()
|
|
|
+ // #endif
|
|
|
+ },
|
|
|
+ destroyed(){
|
|
|
+
|
|
|
+ if(this.INT){
|
|
|
+ clearInterval(this.INT)
|
|
|
+ }
|
|
|
+
|
|
|
+ // #ifdef APP-PLUS
|
|
|
+ //避免重复,每次进来先移除全局自定义事件监听器
|
|
|
+ uni.$off('listenGetScanCode')
|
|
|
+ // #endif
|
|
|
+ this.removeFromSaveDirect()
|
|
|
+
|
|
|
+ },
|
|
|
+ methods:{
|
|
|
+ previewImage(url){
|
|
|
+ uni.previewImage({urls:[url]})
|
|
|
+ },
|
|
|
+ calcFn(){
|
|
|
+ this.calc = this.calc == 'add' ? 'sub' : 'add'
|
|
|
+ this.$emit('calcFn',this.calc)
|
|
|
+ },
|
|
|
+ printFn(item){
|
|
|
+ if(item.status ==1){
|
|
|
+ print({id:item.id}).then(res=>{
|
|
|
+ if(res.code == 1){
|
|
|
+ this.$msg(res.msg)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ lockFn(info){
|
|
|
+ if(info.stockLock == 0){
|
|
|
+ this.$refs.lockWorkRef.open('center')
|
|
|
+ }
|
|
|
+ },
|
|
|
+ confirmLock(){
|
|
|
+ uni.showLoading({mask:true})
|
|
|
+ lockWork({id:this.orderInfo.id}).then(res=>{
|
|
|
+ uni.hideLoading()
|
|
|
+ if(res.code == 1){
|
|
|
+ this.$msg('已锁定')
|
|
|
+ this.getOrderDetail(this.orderInfo.id)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ cancelFn(info){
|
|
|
+ this.$msg('开发中')
|
|
|
+ return false
|
|
|
+ this.$util.hitVoice()
|
|
|
+ if(info.status == 0){
|
|
|
+ this.$refs.cancelWorkRef.open('center')
|
|
|
+ }
|
|
|
+ },
|
|
|
+ confirmCancel(){
|
|
|
+ uni.showLoading({mask:true})
|
|
|
+ cancelWork({id:this.orderInfo.id}).then(res=>{
|
|
|
+ uni.hideLoading()
|
|
|
+ if(res.code == 1){
|
|
|
+ this.$msg('已取消')
|
|
|
+ this.getOrderDetail(this.orderInfo.id)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ wastageFn(item){
|
|
|
+ this.customData = {...item,currentNum:1,property:1}
|
|
|
+ this.$refs.wastageSelectNumRef.open('center')
|
|
|
+ this.workItemId = item.id
|
|
|
+ },
|
|
|
+ confirmWastageSelectNum(info){
|
|
|
+ this.$refs.wastageSelectNumRef.close()
|
|
|
+ modifyWastage({...info,id:this.workItemId,num:info.currentNum}).then(res=>{
|
|
|
+ if(res.code == 1){
|
|
|
+ this.getOrderDetail(this.orderInfo.id)
|
|
|
+ }else{
|
|
|
+ this.$msg('报损失败,请重试')
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ cancelWastageSelectNum(){
|
|
|
+ this.$util.hitVoice()
|
|
|
+ this.$refs.wastageSelectNumRef.close()
|
|
|
+ },
|
|
|
+ finishFn(info){
|
|
|
+ this.$util.hitVoice()
|
|
|
+ if(info.status == 0){
|
|
|
+ this.$refs.finishRef.open('center')
|
|
|
+ }
|
|
|
+ },
|
|
|
+ confirmFinish(){
|
|
|
+ let params = {id:this.orderInfo.id}
|
|
|
+ if(!this.$util.isEmpty(this.selectList)){
|
|
|
+ const newItem = this.selectList.map(ele=>{
|
|
|
+ return {productId:ele.id,num:ele.currentNum,unitType:ele.unitType,unitPrice:ele.unitPrice}
|
|
|
+ })
|
|
|
+ params = {...params,itemList:JSON.stringify(newItem)}
|
|
|
+ }
|
|
|
+ uni.showLoading({mask:true})
|
|
|
+ finish(params).then(res=>{
|
|
|
+ uni.hideLoading()
|
|
|
+ if(res.code == 1){
|
|
|
+ this.$msg(res.msg)
|
|
|
+ this.getOrderDetail(this.orderInfo.id)
|
|
|
+ //完成之后刷新列表
|
|
|
+ this.$emit('finishNotice')
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ cancelFinish(){
|
|
|
+ this.$util.hitVoice()
|
|
|
+ this.$refs.finishWorkRef.close()
|
|
|
+ },
|
|
|
+ modifyItem(info){
|
|
|
+ if(info.stockLock == 0){
|
|
|
+ this.$util.hitVoice()
|
|
|
+ this.$util.pageTo({url:'/pages/home/modify',query: { id:info.id }})
|
|
|
+ }
|
|
|
+ },
|
|
|
+ getStatus(status) {
|
|
|
+ status = Number(status)
|
|
|
+ switch (status) {
|
|
|
+ case 0:
|
|
|
+ return "待完成";
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ return "已完成";
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ return "已取消";
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ return "待完成";
|
|
|
+ }
|
|
|
+ },
|
|
|
+ getOrderDetail(id){
|
|
|
+
|
|
|
+ getFullInfo({id}).then(res=>{
|
|
|
+ if(res.code == 1){
|
|
|
+ this.orderInfo = res.data.info
|
|
|
+
|
|
|
+ let that = this
|
|
|
+ this.beginCount = Number(this.orderInfo.beginCount)
|
|
|
+ if(this.beginCount > 0 && this.orderInfo.fromType ==4){
|
|
|
+ if(this.INT){
|
|
|
+ clearInterval(this.INT)
|
|
|
+ }
|
|
|
+ that.INT = setInterval(function(){
|
|
|
+ that.beginCount--
|
|
|
+ if(that.beginCount <= 0){
|
|
|
+ clearInterval(that.INT)
|
|
|
+ }
|
|
|
+ },1000)
|
|
|
+ }
|
|
|
+
|
|
|
+ let bigNum = 0
|
|
|
+ let smallNum = 0
|
|
|
+ this.orderItem = res.data.item
|
|
|
+ if(!this.$util.isEmpty(this.orderItem)){
|
|
|
+ for (const ele of this.orderItem) {
|
|
|
+ if(ele.unitType ==0){
|
|
|
+ bigNum = bigNum + Number(ele.num)
|
|
|
+ }else{
|
|
|
+ smallNum = smallNum + Number(ele.num)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ bigNum = bigNum.toFixed()
|
|
|
+ smallNum = smallNum.toFixed()
|
|
|
+ }
|
|
|
+
|
|
|
+ if(this.orderItem && !this.$util.isEmpty(this.orderItem)){
|
|
|
+ const newItem = this.orderItem.map(ele=>{
|
|
|
+ return {name:ele.name,cover:ele.cover,shortCover:ele.shortCover,itemId:ele.ptItemId,id:ele.itemId,unitName:ele.unitName,unitType:ele.unitType,
|
|
|
+ unitPrice:ele.unitPrice,ratio:ele.ratio,mainId:ele.mainId,currentNum:ele.num,bigUnit:ele.bigName,smallUnit:ele.smallName,property:1}
|
|
|
+ })
|
|
|
+ this.pushToSave(newItem)
|
|
|
+ }
|
|
|
+
|
|
|
+ this.unitUseItem = {bigNum,smallNum}
|
|
|
+ let orderNum = this.orderInfo.num || 0
|
|
|
+ let totalBig = (bigNum*Number(orderNum)).toFixed()
|
|
|
+ let totalSmall = (smallNum*Number(orderNum)).toFixed()
|
|
|
+ this.totalUseItem = {bigNum:totalBig,smallNum:totalSmall}
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|
|
|
+<style lang="scss" scoped>
|
|
|
+.work-empty{
|
|
|
+ display:flex;
|
|
|
+ font-size:13upx;
|
|
|
+ justify-content:center;
|
|
|
+ align-items:center;
|
|
|
+ height:90vh;
|
|
|
+}
|
|
|
+.work-info{
|
|
|
+ display:flex;
|
|
|
+ height: 100vh;
|
|
|
+ & .work-detail{
|
|
|
+ height: 100vh;
|
|
|
+ overflow: scroll;
|
|
|
+ border-right:1upx solid #EEEEEE;
|
|
|
+ flex: 40;
|
|
|
+ .order-img{
|
|
|
+ display:flex;
|
|
|
+ margin:5upx;
|
|
|
+ justify-content:center;
|
|
|
+ image{
|
|
|
+ width:180upx;
|
|
|
+ height:180upx;
|
|
|
+ border-radius:3upx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .order-item{
|
|
|
+ display:flex;
|
|
|
+ font-size:11upx;
|
|
|
+ margin-top:10upx;
|
|
|
+ justify-content: center;
|
|
|
+ flex-wrap:wrap;
|
|
|
+ view{
|
|
|
+ justify-content:space-between;
|
|
|
+ align-items:center;
|
|
|
+ display:flex;
|
|
|
+ border-bottom:1upx solid #EEEEEE;
|
|
|
+ width:180upx;
|
|
|
+ height:20upx;
|
|
|
+ padding:0 10upx 0 10upx;
|
|
|
+ .left{
|
|
|
+ color:#CCCCCC;
|
|
|
+ }
|
|
|
+ .right{
|
|
|
+ color:#666666;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ & .button-area {
|
|
|
+ flex: 9;
|
|
|
+ height: 100vh;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ justify-content: space-around;
|
|
|
+ padding: 5upx;
|
|
|
+ border-left:1upx solid #EEEEEE;
|
|
|
+ & > view {
|
|
|
+ border: 1upx solid #EEEEEE;
|
|
|
+ border-radius: 5upx;
|
|
|
+ text-align: center;
|
|
|
+ padding: 10upx 0;
|
|
|
+ color: #666666;
|
|
|
+ margin-bottom: 10upx;
|
|
|
+ font-size: 10upx;
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+ & .active {
|
|
|
+ color: #3385FF;
|
|
|
+ border-color: #3385FF;
|
|
|
+ font-size: 10upx;
|
|
|
+ font-weight:bold;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ & .work-item-detail {
|
|
|
+ flex: 40;
|
|
|
+ height: 100%;
|
|
|
+ & .right-detail-title{
|
|
|
+ font-size:10upx;
|
|
|
+ font-weight:bold;
|
|
|
+ margin-left:5upx;
|
|
|
+ margin-top:5upx;
|
|
|
+ }
|
|
|
+ & .unit-use-item {
|
|
|
+ flex: 40;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ .commodity-list {
|
|
|
+ padding: 5upx;
|
|
|
+ .commodity-item {
|
|
|
+ display: flex;
|
|
|
+ margin-top:5upx;
|
|
|
+ .item-icon {
|
|
|
+ flex-shrink: 0;
|
|
|
+ width: 38upx;
|
|
|
+ height: 38upx;
|
|
|
+ border-radius:2upx;
|
|
|
+ }
|
|
|
+ .item-info {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ flex: 1;
|
|
|
+ margin-left:6upx;
|
|
|
+ .info-line {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: flex-start;
|
|
|
+ position: relative;
|
|
|
+ .item-name {
|
|
|
+ font-size:11upx;
|
|
|
+ color: black;
|
|
|
+ overflow: hidden;
|
|
|
+ white-space: nowrap;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ }
|
|
|
+ .item-price {
|
|
|
+ color: #333;
|
|
|
+ font-size: 10upx;
|
|
|
+ }
|
|
|
+ .item-type {
|
|
|
+ color: #999;
|
|
|
+ font-size: 8upx;
|
|
|
+ }
|
|
|
+ .item-count {
|
|
|
+ color: #666;
|
|
|
+ font-size: 11upx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .summary-bar {
|
|
|
+ padding: 0 10upx;
|
|
|
+ height: 30upx;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+ border-top: 1upx solid #eeeeee;
|
|
|
+ .operate-view {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ color: #3385ff;
|
|
|
+ font-size: 12upx;
|
|
|
+ .iconfont {
|
|
|
+ margin-right: 20upx;
|
|
|
+ font-size: 10upx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .describe-view {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ color: #333;
|
|
|
+ font-size: 9upx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ & .total-use-item {
|
|
|
+ flex: 40;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ .commodity-list {
|
|
|
+ padding: 5upx;
|
|
|
+ .commodity-item {
|
|
|
+ display: flex;
|
|
|
+ margin-top:5upx;
|
|
|
+ .item-icon {
|
|
|
+ flex-shrink: 0;
|
|
|
+ width: 38upx;
|
|
|
+ height: 38upx;
|
|
|
+ border-radius:2upx;
|
|
|
+ }
|
|
|
+ .item-info {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ flex: 1;
|
|
|
+ margin-left:6upx;
|
|
|
+ .info-line {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: flex-start;
|
|
|
+ position: relative;
|
|
|
+ .item-name {
|
|
|
+ font-size:11upx;
|
|
|
+ color: black;
|
|
|
+ overflow: hidden;
|
|
|
+ white-space: nowrap;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ }
|
|
|
+ .item-price {
|
|
|
+ color: #333;
|
|
|
+ font-size: 10upx;
|
|
|
+ }
|
|
|
+ .item-type {
|
|
|
+ color: #999;
|
|
|
+ font-size: 8upx;
|
|
|
+ }
|
|
|
+ .item-count {
|
|
|
+ color: #666;
|
|
|
+ font-size: 11upx;
|
|
|
+ }
|
|
|
+ .wastage{
|
|
|
+ position: absolute;
|
|
|
+ right:0upx;
|
|
|
+ font-size:9upx;
|
|
|
+ top:4upx;
|
|
|
+ color:#666666;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .summary-bar {
|
|
|
+ padding: 0 10upx;
|
|
|
+ height: 30upx;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+ border-top: 1upx solid #eeeeee;
|
|
|
+ .operate-view {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ color: #3385ff;
|
|
|
+ font-size: 12upx;
|
|
|
+ .iconfont {
|
|
|
+ margin-right: 20upx;
|
|
|
+ font-size: 10upx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .describe-view {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ color: #333;
|
|
|
+ font-size: 9upx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|