shish 4 лет назад
Родитель
Сommit
30dc135323

+ 143 - 0
hdPad/src/admin/home/components/leftGoods2.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:'selectMake',
+            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>

+ 151 - 0
hdPad/src/admin/home/components/leftItem2.vue

@@ -0,0 +1,151 @@
+<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>{{parseFloat(item.unitPrice)}}元/{{item.unitName}}</view>
+
+                            <view>{{item.buyNum}} {{item.unitName}}</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: {
+        changeSelectJobType:{
+			type: String,
+			default: 'bill'
+        },
+        changeSelectJobId:{
+			type: Number,
+			default: 0
+        }
+    },
+    data(){
+        return {
+            totalShop:{ bigUnit: 0, smallUnit:0, totalPrice: 0 },
+            itemList:[]
+        }
+    },
+    watch:{
+        changeSelectJobType:{
+            handler(id){
+                this.selectJobType = id
+            },
+            immediate:true
+        },
+        changeSelectJobId:{
+            handler(id){
+                this.selectJobId = id
+            },
+            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>

+ 372 - 0
hdPad/src/admin/home/components/order-info.vue

@@ -0,0 +1,372 @@
+<template>
+<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="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>
+            </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 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>
+          <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="button-area">
+        <view @click="modifyItem(orderInfo)">修改</view>
+        <view>取消</view>
+        <view>锁定</view>
+        <view class="active">完成</view>
+        <view>打印</view>
+      </view>
+
+  </view>
+</view>
+</template>
+<script>
+import { getFullInfo } from '@/api/work'
+export default {
+  data() {
+    return {
+      orderInfo:[],
+      orderItem:[]
+    }
+  },
+  props: {
+    selectOrderId: {
+      type: Number,
+      default: 0
+    }
+  },
+  watch:{
+      selectOrderId:{
+          handler(newId){
+            if(Number(newId)>0){
+              this.getOrderDetail(newId)
+            }
+          },
+          immediate:true
+      }
+  },
+  methods:{
+    modifyItem(info){
+      this.$util.pageTo({url:'/admin/work/modify',query: { id:info.id }})
+    },
+    getStatus(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
+          this.orderItem = res.data.item
+        }
+      })
+    }
+  }
+}
+</script>
+<style lang="scss" scoped>
+.work-info{
+  display:flex;
+  height: 100%;
+  & .work-detail{
+      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:19upx;
+          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: #1627be;
+      border-color: #1627be;
+      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>

+ 204 - 0
hdPad/src/admin/home/components/order-list.vue

@@ -0,0 +1,204 @@
+<template>
+    <view class="itemList-box">
+        <view class="title">列表</view>
+        <view class="order-status">
+            <view @tap="changeStatus(0)" :class="[{'checked':status===0}]">待完成</view>
+            <view @tap="changeStatus(1)" :class="[{'checked':status===1}]">已完成</view>
+            <view @tap="changeStatus('')" :class="[{'checked':status===''}]">全部</view>
+        </view>
+        <scroll-view class="itemList-item_box" scroll-y="true" @scrolltolower="reachBottom" lower-threshold="50" refresher-enabled="true" 
+        :refresher-triggered="triggered" @refresherrefresh="onRefresh" @refresherrestore="onRestore">
+            <view v-for="item in list.data" :key="item.id" class="show-item_box" @click="getOrder(item)">
+                <view :class="[selectOrderId==item.id ? 'active' : 'not-active', 'item-body_box']">
+                    <view class="flower-name_box">
+                        <view class="current-item-title"><text class="name">{{item.name}}</text></view>
+                        <image class="flower-image" :src="item.cover"></image>
+                    </view>
+                    <view class="item-price-num"> <view>今天 12:00</view> <view>待完成</view></view>
+                </view>
+            </view>
+        </scroll-view>
+    </view>
+</template>
+<script>
+import {getWorkList} from "@/api/work"
+import { list } from "@/mixins";
+export default {
+    name:'leftItem',
+    components:{},
+	mixins: [list],
+	props: {
+		customId: {
+			type: Number,
+			default: 0
+		}
+    },
+    data(){
+        return {
+            totalShop:{ bigUnit: 0, smallUnit:0, totalPrice: 0 },
+            itemList:[],
+            selectJobType:'bill',
+            selectJobId:0,
+            groupList:[],
+            status:0,
+            selectOrderId:0,
+            triggered:false,
+            _freshing: false
+        }
+    },
+    watch:{
+        customId:{
+            handler(newCustomId){
+                this.selectJobId = newCustomId
+            },
+            immediate:true
+        }
+    },
+    created(){
+        this.getWorkInfo()
+    },
+    methods:{
+        onRefresh(){
+            if (this._freshing){
+                return
+            }
+            this._freshing = true
+            //界面下拉触发,triggered可能不是true,要设为true
+            if (!this.triggered){
+                this.triggered = true
+            }
+            this.resetList()
+            this.getWorkInfo()
+            setTimeout(() => {
+                //触发onRestore,并关闭刷新图标  
+                this.triggered = false
+                this._freshing = false
+            }, 1000)
+        },
+        onRestore(){
+            console.log('onRestore')
+        },
+        onAbort() {  
+            console.log(1);  
+        },
+        getOrder(item){
+            this.selectOrderId = item.id
+            this.$emit('getOrder',item)
+        },
+        changeStatus(status){
+            this.status = status
+            this.resetList()
+            this.getWorkInfo()
+        },
+        reachBottom() {
+            if (!this.list.finished) {
+                this.getWorkInfo().then((res) => {
+                    uni.stopPullDownRefresh();
+                });
+            } else {
+                uni.stopPullDownRefresh();
+            }
+        },
+        getWorkInfo(){
+            return getWorkList({page: this.list.page,status:this.status}).then(res=>{
+                if(res.code == 1){
+                    this.completes(res)
+                    if(this.list.data && this.list.data[0]){
+                        this.getOrder(this.list.data[0])
+                    }
+                }
+            })
+        }
+    }
+}
+</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;
+    }
+    & .order-status{
+        display: flex;
+        font-size:10upx;
+        view{
+            height:30upx;
+            line-height: 30upx;
+            flex:1;
+            font-size:10upx;
+            border:1upx solid #EEEEEE;
+            text-align:center;
+        }
+        .checked{
+            background-color: #CCCCCC;
+            color:white;
+        }
+    }
+    & .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;
+                height:58upx;
+                &.active {
+                    background-color: #d4d6d6;
+                }
+                &.not-active {
+                    background-color: #EEEEEE;
+                }
+                & .flower-name_box {
+                    padding: 0 5upx;
+                    position: relative;
+                    .current-item-title {
+                        .name{
+                            font-size:12upx;
+                            color: #333333;
+                            font-weight: bold;
+                            overflow: hidden;
+                            text-overflow:ellipsis;
+                            white-space: nowrap;
+                            width:60upx;
+                        }
+                    }
+                    .flower-image{
+                        position: absolute;
+                        right:1upx;
+                        top:2upx;
+                        width:50upx;
+                        height:50upx;
+                        border-radius:5upx;
+                    }
+                }
+                .item-price-num{
+                    color:#afaeae;
+                    font-size:10upx;
+                    display: flex;
+                    align-items: center;
+                    justify-content: space-between;
+                    padding: 15upx 2upx 0 2upx;
+                    width:120upx;
+                }
+            }
+        }
+    }
+    & .itemList-footer_box {
+        height: 20upx;
+        border: 1px solid #eee;
+        font-size: 10upx;
+        display: flex;
+        align-items: center;
+        justify-content: space-around;
+    }
+}
+</style>

+ 236 - 0
hdPad/src/admin/home/components/rightGoodsArea2.vue

@@ -0,0 +1,236 @@
+<template>
+    <view class="shop-listType_box">
+        <view class="shop-type_box">
+            <view v-for="item in allCategory" :key="item.id" :class="[currentCategory.id===item.id?'active':'']" @click="changeCategory(item)" > {{item.categoryName}} </view>
+        </view>
+        <view class="num-area" v-if="currentCategory.flower && currentCategory.flower ==1">
+            <view v-for="info in flowerNumList" :class="[flowerNum===info.num?'selected':'']" @click="setNum(info)" :key="info.num">{{info.name}}</view>
+        </view>
+        <scroll-view class="shop-show_box" enable-flex="true" scroll-y="true" lower-threshold="20" @scrolltolower="reachBottom">
+            <view class="goods-item-area">
+            <view v-for="item in list.data" :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>
+        </scroll-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 { getClass } from '@/api/category/index'
+import { getGoodsList } from '@/api/goods/index'
+import productMins from "@/mixins/product";
+import list from "@/mixins/list";
+import kdSelectNumPrice from '@/components/app-kd-select-num-price.vue'
+export default {
+    name:'rightItemArea',
+    components:{ kdSelectNumPrice },
+	mixins: [productMins,list],
+    data(){
+        return {
+            allCategory:[],
+            categoryId: '',
+            currentCategory:{},
+            selectJobType:'bill',
+            selectJobId:0,
+            flowerNum:0,
+            flowerNumList:[{num:0,name:'支数'},{num:6,name:6},{num:9,name:9},{num:11,name:11},{num:19,name:19},{num:33,name:33},{num:52,name:52},{num:66,name:66},{num:99,name:99}]
+        }
+    },
+	props: {
+		customId: {
+			type: Number,
+			default: 0
+		}
+    },
+    created(){
+        this.init()
+    },
+    watch:{
+        customId:{
+            handler(newCustomId){
+                this.selectJobId = newCustomId
+            },
+            immediate:true
+        }
+    },
+    methods:{
+        setNum(info){
+            this.$util.hitRemind()
+            this.flowerNum = info.num
+            this.list.data=[]
+            this.list.page = 1
+            this.list.finished = false
+            this.getGoodsData()
+        },
+		popAddModelFn(info) {
+            this.$util.hitRemind()
+			this.showAddModelFn({ ...info, buyNum: 1, unitPrice: info.price,unitType:0})
+		},
+        init(){
+            getClass({flower:1}).then(res=>{
+                if(res.code == 1){
+                    this.allCategory = res.data
+                    this.currentCategory = this.allCategory[0]
+                    this.getGoodsData()
+                }
+            })
+        },
+        getGoodsData(){
+            getGoodsList({cId:this.currentCategory.id,page:this.list.page,pageSize:30,flowerNum:this.flowerNum}).then(res=>{
+                if(res.code == 1){
+                    this.completes(res)
+                }
+            })
+        },
+        reachBottom(){
+            if (!this.list.finished) {
+                this.getGoodsData()
+            }
+        },
+        changeCategory(item){
+            this.$util.hitRemind()
+            this.list.data=[]
+            this.list.page = 1
+            this.list.finished = false
+            this.flowerNum = 0
+            this.currentCategory = item
+            this.getGoodsData()
+        }
+    }
+}
+</script>
+<style lang="scss" scoped>
+.shop-listType_box {
+    height: 100%;
+    border: 1px solid #eee;
+    display: flex;
+    flex-direction: column;
+    box-sizing: border-box;
+    & .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;
+            }
+        }
+    }
+    & .num-area{
+        display: flex;
+        flex-wrap: wrap;
+        margin:8upx 0 8upx 0;
+        justify-content:space-around;
+        & > view {
+            border:1upx solid #CCCCCC;
+            width:30upx;
+            height:25upx;
+            border-radius:10upx;
+            display:flex;
+            justify-content:center;
+            align-items: center;
+            font-size:12upx;
+            color:#666666;
+        }
+        & .selected{
+            background-color:#CCCCCC;
+            color:white;
+        }
+    }
+    & .shop-show_box{
+        padding: 2upx;
+        overflow-y: scroll;
+        overflow-x: hidden;
+        & .goods-item-area{
+            flex: 1;
+            display: flex;
+            flex-wrap: wrap;
+            overflow-y: scroll;
+            overflow-x: hidden;
+            height:90vh;
+            & .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-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>

+ 197 - 0
hdPad/src/admin/home/components/rightItemArea2.vue

@@ -0,0 +1,197 @@
+<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:[]
+        }
+    },
+	props: {
+        changeSelectJobType:{
+			type: String,
+			default: 'bill'
+        },
+        changeSelectJobId:{
+			type: Number,
+			default: 0
+        }
+    },
+    created(){
+        this.init()
+    },
+    watch:{
+        changeSelectJobType:{
+            handler(id){
+                console.log('changeSelectJobType',id)
+                this.selectJobType = id
+            },
+            immediate:true
+        },
+        changeSelectJobId:{
+            handler(id){
+                this.selectJobId = id
+            },
+            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>

+ 146 - 0
hdPad/src/admin/home/make.vue

@@ -0,0 +1,146 @@
+<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">
+				<view class="button-area">
+					<view @click="logout">退出</view>
+					<view @click="clearItemFn">清空</view>
+					<view @click="breakage">报损</view>
+					<view>制作</view>
+				</view>
+            </view>
+        </view>
+    </view>
+</template>
+<script>
+import { mapGetters } from "vuex";
+import rightItemArea from './components/rightItemArea2.vue'
+import leftItem from './components/leftItem2.vue'
+import casherNav from '@/components/casher-nav.vue'
+import productMins from "@/mixins/product";
+export default {
+	name: "make",
+	components: { rightItemArea,leftItem, casherNav},
+	mixins: [productMins],
+	data() {
+		return {
+			//0成品 1花材
+			currentProperty:0,
+			itemList:[],
+			currenSelectShop:{},
+			selectItem: {},
+			selectItemUser:{},
+			isLogin:2,
+			customId:0,
+            selectJobType:'makeWork',
+            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: {
+		logout(){
+
+		},
+		clearItemFn(){
+
+		},
+		breakage(){
+
+		},
+		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: 76;
+	}
+	& .nav-left {
+		flex: 5;
+		background-color: rgba(72, 91, 107, 1);
+	}
+	& .itemList-box {
+		flex: 30;
+	}
+	& .open-box {
+		flex: 8;
+		.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>

+ 119 - 0
hdPad/src/admin/home/modify.vue

@@ -0,0 +1,119 @@
+<template>
+    <view>
+        <view class="app-casher-area">
+            <view class="nav-left"> </view>
+            <!-- 已选花材列表 -->
+            <view class="itemList-box">
+                <leftItem :changeSelectJobType.sync="selectJobType" :changeSelectJobId.sync="selectJobId"></leftItem>
+            </view>
+            <!-- 分类和花材图片 -->
+            <view class="all-item-area">
+                <rightItemArea :changeSelectJobType.sync="selectJobType" :changeSelectJobId.sync="selectJobId"> </rightItemArea>
+            </view>
+            <!-- 按钮操作 -->
+            <view class="open-box">
+
+				<view class="button-area">
+					<view @click="clearItemFn">清空</view>
+					<view @click="cancel">取消</view>
+					<view @click="confirmModify">确认</view>
+				</view>
+
+            </view>
+        </view>
+    </view>
+</template>
+<script>
+import { mapGetters } from "vuex";
+import rightItemArea from './components/rightItemArea2.vue'
+import leftItem from './components/leftItem2.vue'
+import productMins from "@/mixins/product";
+import { getFullInfo } from '@/api/work'
+export default {
+	name: "modify",
+	components: { rightItemArea,leftItem},
+	mixins: [productMins],
+	data() {
+		return {
+			selectItem: {},
+			selectItemUser:{},
+            selectJobType:'modifyWork',
+            selectJobId:0,
+			orderItem:[]
+		}
+	},
+	computed: {
+		...mapGetters(["getLoginInfo"])
+	},
+	methods: {
+		clearItemFn(){
+
+		},
+		cancel(){
+			uni.navigateBack({delta: 1})
+		},
+		confirmModify(){
+			uni.navigateBack({delta: 1})
+		},
+		getOrderDetail(id){
+			getFullInfo({id}).then(res=>{
+				if(res.code == 1){
+					if(res.data.item && !this.$util.isEmpty(res.data.item)){
+						const newItem = res.data.item.map(ele=>{
+							return {property:1,name:ele.name,unitType:ele.unitType,unitPrice:ele.unitPrice,unitName:ele.unitName,buyNum:ele.num,id:ele.id}
+						})
+						this.setSelectInfo({ selectJobType: this.selectJobType, info: newItem,selectJobId:this.selectJobId })
+					}
+				}
+			})
+		},
+		init(){
+			let id = this.option.id || 0
+			this.selectJobId = Number(id)
+			this.getOrderDetail(id)
+		}
+	}
+};
+</script>
+<style lang="scss" scoped>
+.app-casher-area {
+	display: flex;
+	height: 100vh;
+	& .all-item-area {
+		flex: 76;
+	}
+	& .nav-left {
+		flex: 5;
+		background-color: rgba(72, 91, 107, 1);
+	}
+	& .itemList-box {
+		flex: 30;
+	}
+	& .open-box {
+		flex: 8;
+		.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>

+ 142 - 0
hdPad/src/admin/home/selectMake.vue

@@ -0,0 +1,142 @@
+<template>
+    <view>
+        <view class="app-casher-area">
+            <view class="nav-left">
+                <casherNav></casherNav>
+            </view>
+            <!-- 已选花材列表 -->
+            <view class="itemList-box">
+                <leftGoods></leftGoods>
+            </view>
+            <!-- 成品 -->
+            <view class="all-item-area">
+                <rightGoodsArea> </rightGoodsArea>
+            </view>
+            <!-- 按钮操作 -->
+            <view class="open-box">
+				<view class="button-area">
+					<view @click="logout">退出</view>
+					<view @click="clearItemFn">清空</view>
+					<view>制作</view>
+				</view>
+            </view>
+        </view>
+    </view>
+</template>
+<script>
+import { mapGetters } from "vuex";
+import rightGoodsArea from './components/rightGoodsArea2.vue'
+import leftGoods from './components/leftGoods2.vue'
+import casherNav from '@/components/casher-nav.vue'
+import productMins from "@/mixins/product"
+export default {
+	name: "make",
+	components: { rightGoodsArea,leftGoods, casherNav},
+	mixins: [productMins],
+	data() {
+		return {
+			//0成品 1花材
+			currentProperty:0,
+			itemList:[],
+			currenSelectShop:{},
+			selectItem: {},
+			selectItemUser:{},
+			isLogin:2,
+			customId:0,
+            selectJobType:'selectMake',
+            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: {
+		logout(){
+
+		},
+		clearItemFn(){
+
+		},
+		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: 76;
+	}
+	& .nav-left {
+		flex: 5;
+		background-color: rgba(72, 91, 107, 1);
+	}
+	& .itemList-box {
+		flex: 30;
+	}
+	& .open-box {
+		flex: 8;
+		.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>

+ 60 - 0
hdPad/src/admin/home/work.vue

@@ -0,0 +1,60 @@
+<template>
+<view>
+    <view>
+        <view class="app-casher-area">
+            <view class="nav-left">
+                <casherNav></casherNav>
+            </view>
+            <view class="work-order-list">
+                <orderList @getOrder="getOrder"></orderList>
+            </view>
+            <view class="work-order-info">
+                <orderInfo :selectOrderId.sync="selectOrderId"></orderInfo>
+            </view>
+        </view>
+    </view>
+</view>
+</template>
+<script>
+import { mapGetters } from "vuex";
+import productMins from "@/mixins/product";
+import casherNav from '@/components/casher-nav.vue'
+import orderList from './components/order-list.vue'
+import orderInfo from './components/order-info.vue'
+export default {
+	name: "workIndex",
+	components: {casherNav,orderList,orderInfo},
+	mixins: [productMins],
+	data() {
+		return {
+			selectOrderId:0
+		}
+	},
+	computed: {
+		...mapGetters(["getLoginInfo"])
+	},
+	onLoad() {
+	},
+	methods: {
+		getOrder(item){
+			this.selectOrderId = Number(item.id)
+		}
+	}
+};
+</script>
+<style lang="scss" scoped>
+.app-casher-area {
+	display: flex;
+	height: 100vh;
+	& .nav-left {
+		flex: 6;
+		background-color: rgba(72, 91, 107, 1);
+	}
+	& .work-order-list {
+		flex: 32;
+	}
+    & .work-order-info{
+        flex: 89;
+    }
+}
+</style>

+ 4 - 22
hdPad/src/pages.json

@@ -1,30 +1,12 @@
 {
 	"pages": [
 		{"path": "admin/home/workbench","style": {"navigationBarTitleText": ""}},
-		{"path": "admin/home/login","style": {"navigationBarTitleText": "","enablePullDownRefresh": false}},
-		{"path": "admin/home/result","style": {"navigationBarTitleText": "","enablePullDownRefresh": true}},
-		{"path": "admin/home/callback","style": {"navigationBarTitleText": "","enablePullDownRefresh": true}},
-		{"path": "admin/home/console","style": {"navigationBarTitleText": ""}},
-		{"path": "admin/home/order","style": {"navigationBarTitleText": "订单","enablePullDownRefresh": true}},
-		{"path": "admin/home/member","style": {"navigationBarTitleText": "客户","enablePullDownRefresh": true}},
-		{"path": "admin/home/apply","style": {"navigationBarTitleText": "应用","enablePullDownRefresh": true}},
-		{"path": "admin/home/me","style": {"navigationBarTitleText": "我的","enablePullDownRefresh": true,"navigationStyle": "custom"}},
-		{"path": "admin/home/mall","style": {"navigationBarTitleText": "商城"}},
-		{"path": "common/redirect","style": {"navigationBarTitleText": "加载中..."}},
-		{"path": "common/webview","style": {"navigationBarBackgroundColor": "#ffffff","navigationBarTextStyle": "black"}},
-		{"path": "common/pageSuccess","style": {"navigationBarBackgroundColor": "#ffffff","navigationBarTextStyle": "black"}},
-		{"path": "common/success","style": {"navigationBarBackgroundColor": "#ffffff","navigationBarTextStyle": "black"}}
+		{"path": "admin/home/work","style": {"navigationBarTitleText": "工单"}},
+		{"path": "admin/home/modify","style": {"navigationBarTitleText": "修改"}},
+		{"path": "admin/home/make","style": {"navigationBarTitleText": "制作"}},
+		{"path": "admin/home/selectMake","style": {"navigationBarTitleText": "选品制作"}}
 	],
 	"subPackages": [
-		{
-			"root": "admin/work",
-			"pages": [
-				{"path": "work","style": {"navigationBarTitleText": "工单"}},
-				{"path": "modify","style": {"navigationBarTitleText": "修改"}},
-				{"path": "make","style": {"navigationBarTitleText": "制作"}},
-				{"path": "selectMake","style": {"navigationBarTitleText": "选品制作"}}
-			]
-		},
 		{
 			"root": "admin/tools",
 			"pages": [