Explorar el Código

制作与修改

shish hace 4 años
padre
commit
4dcafb7c77

+ 3 - 2
hdPad/src/admin/home/components/middleButton.vue

@@ -1,9 +1,10 @@
 <template>
-<view class="middle-area">
+<view class="button-area">
 	<view @click="changeProperty(1)">花材</view>
 	<view @click="changeProperty(0)">成品</view>
     <view @click="logout">退出</view>
     <view @click="resetCustomer">选客户</view>
+	<view>临时商品</view>
     <view @click="clearItemFn">清空花材</view>
     <view @click="breakage">报损</view>
     <view @click="gosettleCommit">结算 </view>
@@ -155,7 +156,7 @@ export default {
 }
 </script>
 <style lang="scss" scoped>
-.middle-area {
+.button-area {
     height: 100vh;
     display: flex;
     flex-direction: column;

+ 1 - 2
hdPad/src/admin/home/components/rightGoodsArea.vue

@@ -32,7 +32,6 @@
     </view>
 </template>
 <script>
-import settlePop from './settle-pop.vue'
 import { getClass } from '@/api/category/index'
 import { getGoodsList } from '@/api/goods/index'
 import productMins from "@/mixins/product";
@@ -40,7 +39,7 @@ import list from "@/mixins/list";
 import kdSelectNumPrice from '@/components/app-kd-select-num-price.vue'
 export default {
     name:'rightItemArea',
-    components:{ settlePop,kdSelectNumPrice },
+    components:{ kdSelectNumPrice },
 	mixins: [productMins,list],
     data(){
         return {

+ 1 - 2
hdPad/src/admin/home/components/rightItemArea.vue

@@ -26,14 +26,13 @@
     </view>
 </template>
 <script>
-import settlePop from './settle-pop.vue'
 import { showClass } from '@/api/item-class/index'
 import { showList } from '@/api/item/index'
 import productMins from "@/mixins/product";
 import kdSelectNumPrice from '@/components/app-kd-select-num-price.vue'
 export default {
     name:'rightItemArea',
-    components:{ settlePop,kdSelectNumPrice },
+    components:{ kdSelectNumPrice },
 	mixins: [productMins],
     data(){
         return {

+ 143 - 0
hdPad/src/admin/work/components/leftItem.vue

@@ -0,0 +1,143 @@
+<template>
+    <view class="itemList-box">
+        <view class="title">花材列表</view>
+        <view class="itemList-item_box">
+            <view v-for="item in selectList" :key="item.id" class="show-item_box">
+                <view class="item-body_box not-active">
+                    <view class="flower-name_box">
+                        <view class="current-item-title"><text class="name">{{item.name}}</text><text @click.stop="delItem(item)" class="del">删除</text></view>
+                    </view>
+                    <view class="item-price-num">
+                        <template v-if="item.property && item.property == 1">
+                            <view v-if="item.unitType == 0">{{parseFloat(item.bigPrice)}}元/{{item.bigUnit}}</view>
+                            <view v-else>{{parseFloat(item.smallPrice)}}元/{{item.smallUnit}}</view>
+                            <view>{{item.buyNum}} {{item.unitType == 0 ? item.bigUnit : item.smallUnit}}</view>
+                        </template>
+                        <template v-else>
+                            <view>{{parseFloat(item.unitPrice)}}/份</view>
+                            <view>{{item.buyNum}}份</view>
+                        </template>
+                        <view>¥{{parseFloat((item.buyNum * item.unitPrice).toFixed(2))}}</view>
+                    </view>
+                </view>
+            </view>
+        </view>
+        <view class="itemList-footer_box">
+            <view> 数量
+                <text style="margin-left:5upx;">
+                    <text v-if="Number(allCount.bigNum)>0">{{allCount.bigNum}}扎</text>
+                    <text v-if="Number(allCount.smallNum)>0">{{allCount.smallNum}}支</text>
+                </text>
+            </view>
+            <view> 合计 <text style="margin-left:5upx;">¥{{allPrice}}</text> </view>
+        </view>
+    </view>
+</template>
+<script>
+import productMins from "@/mixins/product";
+export default {
+    name:'leftItem',
+    components:{},
+	mixins: [productMins],
+	props: {
+		customId: {
+			type: Number,
+			default: 0
+		}
+    },
+    data(){
+        return {
+            totalShop:{ bigUnit: 0, smallUnit:0, totalPrice: 0 },
+            itemList:[],
+            selectJobType:'bill',
+            selectJobId:0
+        }
+    },
+    created(){
+    },
+    watch:{
+        customId:{
+            handler(newCustomId){
+                this.selectJobId = newCustomId
+            },
+            immediate:true
+        }
+    },
+    methods:{
+        delItem(item){
+            this.$util.hitRemind()
+            item.buyNum = 0
+            this.replaceItemFn(item,1,'sub')
+        }
+    }
+}
+</script>
+<style lang="scss" scoped>
+.itemList-box {
+    height: 100%;
+    display: flex;
+    flex-direction: column;
+    & .title {
+        padding: 3upx;
+        font-size: 12upx;
+        background-color: rgba(72, 91, 107, 1);
+        color: #FFFFFF;
+    }
+    & .itemList-item_box {
+        overflow-y: auto;
+        flex: 1;
+        border: 1px solid #eee;
+        & .show-item_box {
+            padding: 2upx;
+            & .item-body_box {
+                border-radius: 2upx;
+                padding: 2upx;
+                font-size: 14upx;
+                color:#666666;
+                &.active {
+                    background-color: #d4d6d6;
+                }
+                &.not-active {
+                    background-color: #e7e9e9;
+                }
+                .item-price-num{
+                    color:#afaeae;
+                    font-size:10upx;
+                }
+                & .flower-name_box {
+                    padding: 0 5upx;
+                    .current-item-title {
+                        .name{
+                            color: #333333;
+                            font-weight: bold;
+                            overflow: hidden;
+                            text-overflow:ellipsis;
+                            white-space: nowrap;
+                            width:50upx;
+                        }
+                        .del{
+                            color:orange;
+                            font-size:12upx;
+                            float:right;
+                        }
+                    }
+                }
+                & > view:nth-child(2) {
+                    display: flex;
+                    align-items: center;
+                    justify-content: space-between;
+                    padding-top: 15upx;
+                }
+            }
+        }
+    }
+    & .itemList-footer_box {
+        height: 20upx;
+        border: 1px solid #eee;
+        font-size: 10upx;
+        display: flex;
+        align-items: center;
+        justify-content: space-around;
+    }
+}
+</style>

+ 145 - 0
hdPad/src/admin/work/components/middleButton.vue

@@ -0,0 +1,145 @@
+<template>
+<view class="button-area">
+	<view @click="changeProperty(1)">花材</view>
+	<view @click="changeProperty(0)">成品</view>
+    <view @click="logout">退出</view>
+    <view @click="resetCustomer">选客户</view>
+	<view>临时商品</view>
+    <view @click="clearItemFn">清空花材</view>
+    <view @click="breakage">报损</view>
+    <view @click="gosettleCommit">结算 </view>
+
+    <!-- 清空花材 -->
+    <uni-popup ref="clearItemRef" type="dialog">
+        <uni-popup-dialog type="info" cancelText="取消" confirmText="确认" title="提示" content="确认清空?" @confirm="confirmClearItem"></uni-popup-dialog>
+    </uni-popup>
+
+    <uni-popup ref="logoutRef" type="dialog">
+        <uni-popup-dialog type="info" cancelText="取消" confirmText="确认" title="提示" content="确认退出?" @confirm="confirmLogout"></uni-popup-dialog>
+    </uni-popup>
+
+    <!-- 扫码付款 -->
+    <uni-popup ref="toPayRef" background-color="#fff" type="center" :animation="false" :is-mask-click="false">
+        <toPayWay @cancelPay="cancelPay()" @selectPayWayBack="selectPayWayBack"></toPayWay>
+    </uni-popup>
+
+</view>
+</template>
+<script>
+import toPayWay from '@/components/to-pay-way.vue'
+import { createCreateOrder, wastageCreateOrder } from '@/api/home/index'
+import productMins from "@/mixins/product";
+export default {
+    name:'middleButton',
+	mixins: [productMins],
+    components:{ toPayWay },
+	props: {
+		customId: {
+			type: Number,
+			default: 0
+		}
+    },
+    data(){
+        return {
+            totalShop:{ bigUnit: 0, smallUnit:0, totalPrice: 0 }
+        }
+    },
+    created(){
+		
+    },
+	watch:{
+
+	},
+    methods:{
+		changeProperty(property){
+			this.$emit('changeProperty',property)
+		},
+		resetCustomer(){
+			this.$util.hitRemind()
+			this.$emit('resetCustomer')
+		},
+		cancelPay(){
+			this.$util.hitRemind()
+			this.$refs.toPayRef.close()
+		},
+		async settleReturn(){
+			this.$util.hitRemind()
+			this.setCreateOrder()
+		},
+		selectPayWayBack(price){
+			this.$util.hitRemind()
+			console.log(price)
+		},
+		breakage(){
+			this.$util.hitRemind()
+			if(this.$util.isEmpty(this.selectList)) {
+				this.$msg('请选择报损花材')
+				return false
+			}
+			this.$util.confirmModal({content:'确定报损吗?'},
+			async() => {
+				try {
+					let arr = this.itemList.map(i=>({
+						productId:i.id,
+						unitType: i.unitType,
+						num: i.currentNum
+					}))
+					wastageCreateOrder({
+						product: JSON.stringify(arr)
+					})
+					this.$msg("报损成功!");
+				}catch(err) {
+					console.log(err)
+				}
+			})
+		},
+		//清空花材弹框
+		clearItemFn(){
+			this.$util.hitRemind()
+			this.$refs.clearItemRef.open()
+		},
+		//确认清空花材
+		confirmClearItem(){
+			this.$util.hitRemind()
+		},
+		confirmLogout(){
+			this.$util.hitRemind()
+			uni.clearStorage()
+			this.$store.commit("setLoginInfo", {})
+			plus.runtime.restart()
+		},
+		logout(){
+			this.$util.hitRemind()
+			this.$refs.logoutRef.open()
+		},
+		delSelectItem(){
+			this.$util.hitRemind()
+		}
+    }
+}
+</script>
+<style lang="scss" scoped>
+.button-area {
+    height: 100vh;
+    display: flex;
+    flex-direction: column;
+	justify-content: space-around;
+    padding: 5upx;
+    padding-top: 12upx;
+    & > view {
+        border: 1upx solid #CCCCCC;
+        border-radius: 5upx;
+        text-align: center;
+        padding: 10upx 0;
+        color: #666666;
+        margin-bottom: 10upx;
+        font-size: 10upx;
+        text-align: center;
+        &.active {
+            color: #008000;
+            border-color: #008000;
+            border-radius: 2upx;
+        }
+    }
+}
+</style>

+ 101 - 98
hdPad/src/admin/work/components/order-info.vue

@@ -1,86 +1,89 @@
 <template>
-
-    <view class="work-info">
-        <view class="work-detail">
-          <view class="order-img">
-            <image :src="orderInfo.cover"></image>
-          </view>
-          <view class="order-item">
-            <view><text class="left">分类</text><text class="right">{{orderInfo.catName}}</text></view>
-            <view><text class="left">名称</text><text class="right">{{orderInfo.name}}</text></view>
-            <view><text class="left">数量</text><text class="right">{{orderInfo.num}}</text></view>
-            <view><text class="left">商品编号</text><text class="right">{{orderInfo.goodsId}}</text></view>
-            <view><text class="left">售价</text><text class="right">{{orderInfo.price||''}}</text></view>
-            <view><text class="left">工单号</text><text class="right">{{orderInfo.workSn}}</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.remark}}</text></view>
-          </view>
+<view>
+  <view v-if="$util.isEmpty(orderInfo)"></view>  
+    <view class="work-info" v-else>
+      <view class="work-detail">
+        <view class="order-img">
+          <image :src="orderInfo.cover"></image>
         </view>
-        <view class="work-item-detail">
+        <view class="order-item">
+          <view><text class="left">分类</text><text class="right">{{orderInfo.catName}}</text></view>
+          <view><text class="left">名称</text><text class="right">{{orderInfo.name}}</text></view>
+          <view><text class="left">数量</text><text class="right">{{orderInfo.num}}</text></view>
+          <view><text class="left">商品编号</text><text class="right">{{orderInfo.goodsId}}</text></view>
+          <view><text class="left">售价</text><text class="right">{{orderInfo.price||''}}</text></view>
+          <view><text class="left">工单号</text><text class="right">{{orderInfo.workSn}}</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.remark}}</text></view>
+        </view>
+      </view>
+      <view class="work-item-detail">
 
-          <view class="flex-space right-detail-title"> 单位用材 </view>
-          
-          <view class="unit-use-item">
-            <view class="commodity-list">
-              <view v-for="(s, idx) in orderItem" :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">5扎</text>
-                    </text>
-                  </view>
-                  <view class="info-line">
-                    <text class="item-type">20支/扎</text>
-                  </view>
+        <view class="flex-space right-detail-title">单位用材</view>
+        
+        <view class="unit-use-item">
+          <view class="commodity-list">
+            <view v-for="(s, idx) in orderItem" :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">5扎</text>
+                  </text>
+                </view>
+                <view class="info-line">
+                  <text class="item-type">20支/扎</text>
                 </view>
               </view>
             </view>
-            <view class="summary-bar">
-              <view class="operate-view" ></view>
-              <view class="describe-view"><text>2扎</text> <text>3支</text></view>
-            </view>
           </view>
+          <view class="summary-bar">
+            <view class="operate-view" ></view>
+            <view class="describe-view"><text>2扎</text> <text>3支</text></view>
+          </view>
+        </view>
 
-          <view style="height:2vh;background-color:#EEEEEE;"></view>
+        <view style="height:2vh;background-color:#EEEEEE;"></view>
 
-          <view class="flex-space right-detail-title"> 累计用材 </view>
-          
-          <view class="total-use-item">
-            <view class="commodity-list">
-              <view v-for="(s, idx) in orderItem" :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">5扎</text>
-                    </text>
-                  </view>
-                  <view class="info-line">
-                    <text class="item-type">20支/扎</text>
-                    <button class="wastage">报损</button>
-                  </view>
+        <view class="flex-space right-detail-title"> 累计用材 </view>
+        
+        <view class="total-use-item">
+          <view class="commodity-list">
+            <view v-for="(s, idx) in orderItem" :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">5扎</text>
+                  </text>
+                </view>
+                <view class="info-line">
+                  <text class="item-type">20支/扎</text>
+                  <button class="wastage">报损</button>
                 </view>
               </view>
             </view>
-            <view class="summary-bar">
-              <view class="operate-view" ></view>
-              <view class="describe-view"><text>2扎</text> <text>3支</text></view>
-            </view>
+          </view>
+          <view class="summary-bar">
+            <view class="operate-view" ></view>
+            <view class="describe-view"><text>2扎</text> <text>3支</text></view>
           </view>
         </view>
+      </view>
 
-        <view class="operate-area">
-          <view>修改</view>
-          <view>提交</view>
-          <view>打印</view>
-        </view>
-
-    </view>
+      <view class="button-area">
+        <view>修改</view>
+        <view>取消</view>
+        <view>锁定</view>
+        <view>提交</view>
+        <view>打印</view>
+      </view>
 
+  </view>
+</view>
 </template>
 <script>
 import { getFullInfo } from '@/api/work'
@@ -139,41 +142,42 @@ export default {
   display:flex;
   height: 100%;
   & .work-detail{
-        flex: 40;
-        .order-img{
-          display:flex;
-          margin:5upx;
-          justify-content:center;
-          image{
-            width:180upx;
-            height:180upx;
-            border-radius:3upx;
-          }
+      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{
+      }
+      .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;
-          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:19upx;
-            padding:0 10upx 0 10upx;
-            .left{
-              color:#CCCCCC;
-            }
-            .right{
-              color:#666666;
-            }
+          border-bottom:1upx solid #EEEEEE;
+          width:180upx;
+          height:19upx;
+          padding:0 10upx 0 10upx;
+          .left{
+            color:#CCCCCC;
+          }
+          .right{
+            color:#666666;
           }
         }
+      }
     }
-	& .operate-area {
+	& .button-area {
 		flex: 9;
 		height: 100vh;
     display: flex;
@@ -200,7 +204,6 @@ export default {
 	& .work-item-detail {
 		flex: 40;
 		height: 100%;
-    border-left:1upx solid #EEEEEE;
     & .right-detail-title{
       font-size:10upx;
       font-weight:bold;

+ 2 - 2
hdPad/src/admin/work/components/order-list.vue

@@ -101,8 +101,8 @@ export default {
         display: flex;
         font-size:10upx;
         view{
-            height:22upx;
-            line-height: 22upx;
+            height:30upx;
+            line-height: 30upx;
             flex:1;
             font-size:10upx;
             border:1upx solid #EEEEEE;

+ 188 - 0
hdPad/src/admin/work/components/rightItemArea.vue

@@ -0,0 +1,188 @@
+<template>
+    <view class="shop-listType_box">
+        <view class="shop-type_box">
+            <view v-for="item in classData" :key="item.id" :class="[categoryId===item.id?'active':'']" @click="changeCategory(item)" > {{item.name}} </view>
+        </view>
+        <view class="shop-show_box">
+            <view v-for="item in itemInfoList" :key="item.id" class="show-shop_box">
+                <view class="item-detail" @click="popAddModelFn(item)">
+                    <image class="img" :src="item.cover" mode="scaleToFill" ></image>
+                    <view class="shop-info_price">
+                        <view>
+                            <view>{{item.name}}</view>
+                            <view>¥{{parseFloat(item.price)}}</view>
+                        </view>
+                    </view>
+                </view>
+            </view>
+        </view>
+        <slot name="footer"></slot>
+
+        <!-- 开单选花材输入数量和金额 -->
+        <uni-popup ref="kdSelectNumPriceRef" background-color="#fff" type="center" :animation="false">
+            <kdSelectNumPrice @confirmAddItemModel="confirmAddItemModel" :customData.sync="customData" @cancelKdSelectNumPrice="addItemModelHidden"></kdSelectNumPrice>
+        </uni-popup>
+
+    </view>
+</template>
+<script>
+import { showClass } from '@/api/item-class/index'
+import { showList } from '@/api/item/index'
+import productMins from "@/mixins/product";
+import kdSelectNumPrice from '@/components/app-kd-select-num-price.vue'
+export default {
+    name:'rightItemArea',
+    components:{ kdSelectNumPrice },
+	mixins: [productMins],
+    data(){
+        return {
+            classData:[],
+            categoryId: '',
+            totalItemData:[],
+            itemInfoList:[],
+            selectJobType:'bill',
+            selectJobId:0
+        }
+    },
+	props: {
+		customId: {
+			type: Number,
+			default: 0
+		}
+    },
+    created(){
+        this.init()
+    },
+    watch:{
+        customId:{
+            handler(newCustomId){
+                this.selectJobId = newCustomId
+            },
+            immediate:true
+        }
+    },
+    methods:{
+		popAddModelFn(info) {
+            this.$util.hitRemind()
+			this.showAddModelFn({ ...info, buyNum: 1, unitPrice: info.price,unitType:0})
+		},
+        async init(){
+            let { data } =  await showClass()
+            this.classData = data
+            this.categoryId = this.classData[0].id
+            this.getShowList()
+        },
+        async getShowList(){
+            let { data:{list} } =  await showList({})
+            this.totalItemData = list
+            this.updateCurrentShop()
+        },
+        updateCurrentShop(){
+            this.itemInfoList = this.totalItemData[this.categoryId]
+        },
+        changeCategory(item){
+            this.$util.hitRemind()
+            if(item.id === this.categoryId){
+                return false
+            }
+            this.categoryId = item.id
+            this.updateCurrentShop()
+        }
+    }
+}
+</script>
+<style lang="scss" scoped>
+.shop-listType_box {
+    height: 100%;
+    border: 1px solid #eee;
+    display: flex;
+    flex-direction: column;
+    box-sizing: border-box;
+    & .shop-show_box{
+        & .show-shop_box{
+            & .item-detail{
+                position: relative;
+                margin-right: 9upx;
+                margin-bottom: 6upx;
+                width: 82upx;
+                height: 82upx;
+                & .img {
+                    width: 82upx;
+                    height: 82upx;
+                }
+                .shop-info_price {
+                    position: absolute;
+                    background-color: rgba(0, 0, 0, 0.5);
+                    bottom: 0;
+                    width: 100%;
+                    font-size: 12upx;
+                    color: #ffffff;
+                    height:25upx;
+                    & > view {
+                        font-size: 10upx;
+                        & > view:nth-child(1) {
+                            overflow: hidden;
+                            text-overflow:ellipsis;
+                            white-space: nowrap;
+                            width:90%;
+                        }
+                        & > view:nth-child(2) {
+                            font-size:8upx;
+                        }
+                    }
+                }
+            }
+        }
+    }
+    & .shop-type_box {
+        max-height: 300upx;
+        display: flex;
+        align-items: center;
+        flex-wrap: wrap;
+        overflow-y: scroll;
+        & > view {
+            border:1px solid #e4e4e4;
+            padding: 12upx 0upx;
+            font-size: 15px;
+            min-width: 75upx;
+            text-align: center;
+            &.active {
+                background-color: #428369;
+                color: #ffffff;
+            }
+        }
+    }
+    & .shop-show_box {
+        flex: 1;
+        padding: 2upx;
+        display: flex;
+        flex-wrap: wrap;
+        overflow-y: scroll;
+        overflow-x: hidden;
+    }
+    & .shop-footer_box {
+        height: 40upx;
+        display: flex;
+        align-items: center;
+        justify-content: flex-end;
+        & > view {
+            height: 40upx;
+            padding: 5upx 25upx;
+            border-radius: 5upx;
+            font-size: 14upx;
+            margin: 0 10upx;
+            vertical-align: middle;
+            display: flex;
+            align-items: center;
+            &.btn-breakage {
+                background-color: #da9f5a;
+                color: #ffffff;
+            }
+            &.btn-account {
+                background-color: #009966;
+                color: #ffffff;
+            }
+        }
+    }
+}
+</style>

+ 1 - 1
hdPad/src/admin/work/index.vue

@@ -37,7 +37,7 @@ export default {
 	},
 	methods: {
 		getOrder(item){
-			this.selectOrderId = item.id
+			this.selectOrderId = Number(item.id)
 		}
 	}
 };

+ 110 - 0
hdPad/src/admin/work/make.vue

@@ -0,0 +1,110 @@
+<template>
+    <view>
+        <view class="app-casher-area">
+            <view class="nav-left">
+                <casherNav></casherNav>
+            </view>
+            <!-- 已选花材列表 -->
+            <view class="itemList-box">
+                <leftItem></leftItem>
+            </view>
+            <!-- 分类和花材图片 -->
+            <view class="all-item-area">
+                <rightItemArea> </rightItemArea>
+            </view>
+            <!-- 按钮操作 -->
+            <view class="open-box">
+                <middleButton @resetCustomer="resetCustomer" :customId.sync="customId" @changeProperty="changeProperty"></middleButton>
+            </view>
+        </view>
+    </view>
+</template>
+<script>
+import { mapGetters } from "vuex";
+import rightItemArea from './components/rightItemArea.vue'
+import middleButton from './components/middleButton.vue'
+import leftItem from './components/leftItem.vue'
+import casherNav from '@/components/casher-nav.vue'
+import productMins from "@/mixins/product";
+export default {
+	name: "make",
+	components: { rightItemArea,middleButton,leftItem, casherNav},
+	mixins: [productMins],
+	data() {
+		return {
+			//0成品 1花材
+			currentProperty:0,
+			itemList:[],
+			currenSelectShop:{},
+			selectItem: {},
+			selectItemUser:{},
+			isLogin:2,
+			customId:0,
+            selectJobType:'bill',
+            selectJobId:0,
+			chooseCustomer:false
+		}
+	},
+	computed: {
+		...mapGetters(["getLoginInfo"])
+	},
+	onLoad() {
+		this.initDataFromStorage()
+	},
+	onPullDownRefresh() {
+	},
+	onShow() {
+	},
+	mounted() {
+		if(this.$util.isEmpty(this.getLoginInfo.admin) || this.getLoginInfo.admin.currentShopId == 0){
+			this.isLogin = 0
+		}else{
+			this.isLogin = 1
+		}
+	},
+	watch:{
+		getLoginInfo: {
+			handler(newValue) {
+				if(this.$util.isEmpty(newValue.admin) == false && newValue.admin.currentShopId > 0){
+					this.isLogin = 1
+				}else{
+					this.isLogin = 0
+				}			
+			}
+		}
+	},
+	methods: {
+		changeProperty(property){
+			this.currentProperty = property
+		},
+		resetCustomer(){
+			this.chooseCustomer = true
+		},
+		selectCustomer(info){
+			this.customId = info.id ? parseInt(info.id) : 0
+			this.selectJobId = this.customId
+		},
+		init() {
+		},
+	}
+};
+</script>
+<style lang="scss" scoped>
+.app-casher-area {
+	display: flex;
+	height: 100vh;
+	& .all-item-area {
+		flex: 63;
+	}
+	& .nav-left {
+		flex: 5;
+		background-color: rgba(72, 91, 107, 1);
+	}
+	& .itemList-box {
+		flex: 25;
+	}
+	& .open-box {
+		flex: 8;
+	}
+}
+</style>

+ 110 - 0
hdPad/src/admin/work/modify.vue

@@ -0,0 +1,110 @@
+<template>
+    <view>
+        <view class="app-casher-area">
+            <view class="nav-left">
+                <casherNav></casherNav>
+            </view>
+            <!-- 已选花材列表 -->
+            <view class="itemList-box">
+                <leftItem></leftItem>
+            </view>
+            <!-- 分类和花材图片 -->
+            <view class="all-item-area">
+                <rightItemArea> </rightItemArea>
+            </view>
+            <!-- 按钮操作 -->
+            <view class="open-box">
+                <middleButton @resetCustomer="resetCustomer" :customId.sync="customId" @changeProperty="changeProperty"></middleButton>
+            </view>
+        </view>
+    </view>
+</template>
+<script>
+import { mapGetters } from "vuex";
+import rightItemArea from './components/rightItemArea.vue'
+import middleButton from './components/middleButton.vue'
+import leftItem from './components/leftItem.vue'
+import casherNav from '@/components/casher-nav.vue'
+import productMins from "@/mixins/product";
+export default {
+	name: "modify",
+	components: { rightItemArea,middleButton,leftItem, casherNav},
+	mixins: [productMins],
+	data() {
+		return {
+			//0成品 1花材
+			currentProperty:0,
+			itemList:[],
+			currenSelectShop:{},
+			selectItem: {},
+			selectItemUser:{},
+			isLogin:2,
+			customId:0,
+            selectJobType:'bill',
+            selectJobId:0,
+			chooseCustomer:false
+		}
+	},
+	computed: {
+		...mapGetters(["getLoginInfo"])
+	},
+	onLoad() {
+		this.initDataFromStorage()
+	},
+	onPullDownRefresh() {
+	},
+	onShow() {
+	},
+	mounted() {
+		if(this.$util.isEmpty(this.getLoginInfo.admin) || this.getLoginInfo.admin.currentShopId == 0){
+			this.isLogin = 0
+		}else{
+			this.isLogin = 1
+		}
+	},
+	watch:{
+		getLoginInfo: {
+			handler(newValue) {
+				if(this.$util.isEmpty(newValue.admin) == false && newValue.admin.currentShopId > 0){
+					this.isLogin = 1
+				}else{
+					this.isLogin = 0
+				}			
+			}
+		}
+	},
+	methods: {
+		changeProperty(property){
+			this.currentProperty = property
+		},
+		resetCustomer(){
+			this.chooseCustomer = true
+		},
+		selectCustomer(info){
+			this.customId = info.id ? parseInt(info.id) : 0
+			this.selectJobId = this.customId
+		},
+		init() {
+		},
+	}
+};
+</script>
+<style lang="scss" scoped>
+.app-casher-area {
+	display: flex;
+	height: 100vh;
+	& .all-item-area {
+		flex: 63;
+	}
+	& .nav-left {
+		flex: 5;
+		background-color: rgba(72, 91, 107, 1);
+	}
+	& .itemList-box {
+		flex: 25;
+	}
+	& .open-box {
+		flex: 8;
+	}
+}
+</style>

+ 110 - 0
hdPad/src/admin/work/selectMake.vue

@@ -0,0 +1,110 @@
+<template>
+    <view>
+        <view class="app-casher-area">
+            <view class="nav-left">
+                <casherNav></casherNav>
+            </view>
+            <!-- 已选花材列表 -->
+            <view class="itemList-box">
+                <leftItem></leftItem>
+            </view>
+            <!-- 分类和花材图片 -->
+            <view class="all-item-area">
+                <rightItemArea> </rightItemArea>
+            </view>
+            <!-- 按钮操作 -->
+            <view class="open-box">
+                <middleButton @resetCustomer="resetCustomer" :customId.sync="customId" @changeProperty="changeProperty"></middleButton>
+            </view>
+        </view>
+    </view>
+</template>
+<script>
+import { mapGetters } from "vuex";
+import rightItemArea from './components/rightItemArea.vue'
+import middleButton from './components/middleButton.vue'
+import leftItem from './components/leftItem.vue'
+import casherNav from '@/components/casher-nav.vue'
+import productMins from "@/mixins/product";
+export default {
+	name: "make",
+	components: { rightItemArea,middleButton,leftItem, casherNav},
+	mixins: [productMins],
+	data() {
+		return {
+			//0成品 1花材
+			currentProperty:0,
+			itemList:[],
+			currenSelectShop:{},
+			selectItem: {},
+			selectItemUser:{},
+			isLogin:2,
+			customId:0,
+            selectJobType:'bill',
+            selectJobId:0,
+			chooseCustomer:false
+		}
+	},
+	computed: {
+		...mapGetters(["getLoginInfo"])
+	},
+	onLoad() {
+		this.initDataFromStorage()
+	},
+	onPullDownRefresh() {
+	},
+	onShow() {
+	},
+	mounted() {
+		if(this.$util.isEmpty(this.getLoginInfo.admin) || this.getLoginInfo.admin.currentShopId == 0){
+			this.isLogin = 0
+		}else{
+			this.isLogin = 1
+		}
+	},
+	watch:{
+		getLoginInfo: {
+			handler(newValue) {
+				if(this.$util.isEmpty(newValue.admin) == false && newValue.admin.currentShopId > 0){
+					this.isLogin = 1
+				}else{
+					this.isLogin = 0
+				}			
+			}
+		}
+	},
+	methods: {
+		changeProperty(property){
+			this.currentProperty = property
+		},
+		resetCustomer(){
+			this.chooseCustomer = true
+		},
+		selectCustomer(info){
+			this.customId = info.id ? parseInt(info.id) : 0
+			this.selectJobId = this.customId
+		},
+		init() {
+		},
+	}
+};
+</script>
+<style lang="scss" scoped>
+.app-casher-area {
+	display: flex;
+	height: 100vh;
+	& .all-item-area {
+		flex: 63;
+	}
+	& .nav-left {
+		flex: 5;
+		background-color: rgba(72, 91, 107, 1);
+	}
+	& .itemList-box {
+		flex: 25;
+	}
+	& .open-box {
+		flex: 8;
+	}
+}
+</style>

+ 2 - 1
hdPad/src/components/casher-nav.vue

@@ -7,7 +7,7 @@
 export default {
   data() {
     return {
-        nav:[{name:'收银',page:'/admin/home/workbench'},{name:'工单',page:'/admin/work/index'},{name:'制作',page:''},{name:'选品制作',page:''}]
+        nav:[{name:'收银',page:'/admin/home/workbench'},{name:'工单',page:'/admin/work/index'},{name:'制作',page:'/admin/work/make'},{name:'选品制作',page:'/admin/work/selectMake'}]
     }
   },
   methods:{
@@ -29,6 +29,7 @@ export default {
         text-align: center;
         padding: 15upx 0;
         color:white;
+        width:28upx;
     }
 }
 </style>

+ 4 - 1
hdPad/src/pages.json

@@ -19,7 +19,10 @@
 		{
 			"root": "admin/work",
 			"pages": [
-				{"path": "index","style": {"navigationBarTitleText": "工单"}}
+				{"path": "index","style": {"navigationBarTitleText": "工单"}},
+				{"path": "modify","style": {"navigationBarTitleText": "修改"}},
+				{"path": "make","style": {"navigationBarTitleText": "制作"}},
+				{"path": "selectMake","style": {"navigationBarTitleText": "选品制作"}}
 			]
 		},
 		{