shish 4 سال پیش
والد
کامیت
f7a5799c93

+ 2 - 2
ghsApp/src/admin/home/apply.vue

@@ -70,8 +70,8 @@ export default {
                     list:[
                         {name: "门店",img: `${this.$constant.imgUrl}/ghs/home/shop.png`,url: "/admin/shop/list"},
                         {name: "员工",img: `${this.$constant.imgUrl}/ghs/home/yggl.png`,url: "/admin/staff/list"},
-                        {name: "调拨出库",img: `${this.$constant.imgUrl}/ghs/home/dbck.png`,url: "/pagesStorehouse/allot/allotEx"},
-                        {name: "调拨入库",img: `${this.$constant.imgUrl}/ghs/home/dbrk.png`,url: "/pagesStorehouse/allot/allotPut"}
+                        {name: "出库记录",img: `${this.$constant.imgUrl}/ghs/home/dbck.png`,url: "/pagesStorehouse/allot/allotEx"},
+                        {name: "入库记录",img: `${this.$constant.imgUrl}/ghs/home/dbrk.png`,url: "/pagesStorehouse/allot/allotPut"}
                     ]
                 },
                 {

+ 3 - 3
ghsApp/src/admin/home/workbench.vue

@@ -119,9 +119,9 @@ export default {
 				{ name: "采购单", img: 'ghs/home/icon_caigou.png', url: "/pagesPurchase/order" },
 				{ name: "报损单", img: 'ghs/home/kcyjs.png', url: "/admin/breakage/list" },
 				{ name: "预订单", img: 'ghs/home/kcyjs.png', url: "/admin/order/statBook" },
-				{ name: "调拨出库", img: 'ghs/home/dbck.png', url: "/pagesStorehouse/allot/allotEx" },
-				{ name: "调拨入库", img: 'ghs/home/dbrk.png', url: "/pagesStorehouse/allot/allotPut" },
-				{name : "员工", img: "ghs/home/yggl.png", url : "/admin/staff/list"},
+				{ name: "新增出库", img: 'ghs/home/dbck.png', url: "/admin/shop/selectShop" },
+				{ name: "出库记录", img: 'ghs/home/dbck.png', url: "/pagesStorehouse/allot/allotEx" },
+				{ name: "入库记录", img: 'ghs/home/dbrk.png', url: "/pagesStorehouse/allot/allotPut" },
 				{name : "销售结账单", img : "ghs/home/kcyjs.png", url : "/admin/clear/customList"},
 				{name : "采购结账单", img : "ghs/home/kcyjs.png", url : "/admin/clear/list"},
 			],

+ 284 - 0
ghsApp/src/admin/shop/selectShop.vue

@@ -0,0 +1,284 @@
+<template>
+  <div class="app-main app-content">
+    <view class="input-wrap_box">
+      <view>
+        <AppSearchModule placeholder="输入拼音首字母搜索" @input="searchFn"/>
+      </view>
+    </view>
+    <block v-if="!$util.isEmpty(list.data)">
+      <block v-for="(item, index) in list.data" :key="index">
+        <tui-list-cell :arrow="true" @click="selectCurrent(item)">
+          <div class="tui-msg-box">
+            <img :src="item.avatar" class="tui-msg-pic" mode="widthFix" />
+            <div class="tui-msg-item">
+              <div class="tui-msg-name">
+                <div class="tui-user-name">{{ item.shopName }}</div>
+              </div>
+              <div class="tui-msg-content">
+                <span>{{ item.id }}</span>
+              </div>
+            </div>
+          </div>
+        </tui-list-cell>
+      </block>
+    </block>
+    <block v-else>
+      <app-wrapper-empty :is-empty="$util.isEmpty(list.data)" />
+    </block>
+  </div>
+</template>
+<script>
+import TuiListCell from "@/components/plugin/list-cell";
+import BadgeModule from "@/components/plugin/badge";
+import AppWrapperEmpty from "@/components/app-wrapper-empty";
+import appVipModule from "@/components/module/app-vip";
+import AppTag from "@/components/module/app-tag.vue";
+import AppSearchModule from "@/components/module/app-search";
+import { list } from "@/mixins";
+import { getList } from "@/api/shop";
+export default {
+  name: "selectShop",
+  components: {
+    TuiListCell,
+    BadgeModule,
+    AppWrapperEmpty,
+    appVipModule,
+    AppTag,
+    AppSearchModule,
+    couldScan:false
+  },
+  mixins: [list],
+  data() {
+    return {
+      tabIndex: 0,
+      selectStyle:1
+    };
+  },
+  onPullDownRefresh() {
+    this.resetList();
+    this.getShopList().then((res) => {
+      uni.stopPullDownRefresh();
+    });
+  },
+  onReachBottom() {
+    if (!this.list.finished) {
+      this.getShopList().then((res) => {
+        uni.stopPullDownRefresh();
+      });
+    } else {
+      uni.stopPullDownRefresh();
+    }
+  },
+  onLoad(option) {
+    // #ifdef APP-PLUS
+    if(plus.device.vendor == 'Newland'){
+      this.couldScan = true
+    }
+    // #endif
+  },
+  methods: {
+    selectCurrent(item){
+      let style = this.option.style ? this.option.style : 1
+      this.selectStyle = style
+      if(style == 1){
+        //选择
+        if(this.$util.isScanEnv()){
+          this.$util.pageTo({url: '/pagesStorehouse/allot/addExDetails',type:2,query: {inShopId: item.id,inshopName:item.shopName}})
+        }else{
+          this.$util.pageTo({url: '/pagesStorehouse/allot/exSelect',type:2,query: {inShopId: item.id,inShopName:item.shopName}})
+        }
+      }else if(style == 2){
+        //用于返回的情况
+        let pages = getCurrentPages();
+        let prevPage = pages[ pages.length - 2 ];
+        prevPage.$vm.form.customId = item.id;
+        prevPage.$vm.form.customName = item.name;
+        uni.navigateBack({})
+      }
+    },
+    init() {
+      if(!this.no_shop_show_model) {
+        this.getShopList();
+      }
+    },
+    searchFn(e) {
+        this.resetList();
+        this.seekVal = e;
+        this.getShopList();
+    },
+    getShopList() {
+      return getList({
+          search: "",
+          type:this.tabIndex,
+          page: this.list.page,
+          name: this.seekVal,
+        }).then((res) => {
+          if (this.$util.isEmpty(res.data)){
+            return false;
+          }
+          this.completes(res);
+        });
+    },
+    change(e) {
+      if (this.tabIndex == e.index) {
+        return false;
+      }
+      this.tabIndex = e.index;
+      this.resetList();
+      this.getShopList();
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+.app-content {
+  padding-top: 100upx;
+  padding-bottom: 20upx;
+}
+.tabs-wrap {
+  position: fixed;
+  .tabs-left {
+    width: 80%;
+  }
+  .tabs-right {
+    width: 19%;
+    border-left: $borderColor;
+    @include disFlex(center, center);
+  }
+}
+.input-wrap_box {
+  background-color: #fff;
+  position: fixed;
+  top: 0;
+  z-index: 10;
+  /* 手机mobile屏幕小于1000px */
+  @media screen and (max-width: 1100px) {
+    width: 100%;
+  }
+  /* 收银台cashier屏幕大于1000px */
+  @media screen and (min-width:1100px) {
+    width: 40%;
+  }
+  height: 100upx;
+  display: flex;
+  align-items: center;
+  padding: 0 30upx;
+  & > view:nth-child(1) {
+    flex: 1;
+  }
+}
+.tui-msg-box {
+  display: flex;
+  align-items: center;
+
+  .tui-msg-pic {
+    width: 80upx;
+    height: 80upx;
+    border-radius: 50%;
+    margin-right: 20upx;
+  }
+
+  .tui-msg-item {
+    max-width: 500upx;
+    min-height: 80upx;
+    overflow: hidden;
+    display: flex;
+    flex-direction: column;
+    justify-content: space-between;
+    & > div {
+      @include disFlex(center, flex-start);
+      & > div:first-child {
+        margin-right: 8upx;
+      }
+    }
+    .level-img {
+      /deep/.vip-text {
+        left: 70upx;
+        top: 8upx;
+      }
+    }
+    .normal-img {
+      width: 70upx;
+      padding: 2upx 6upx;
+      color: #999;
+      background-color: #f0f2f6;
+      border-radius: 20upx;
+      .vip-text {
+        font-size: 24upx;
+        transform: scale(0.6);
+        position: relative;
+        top: -2upx;
+        left: -8upx;
+      }
+    }
+    .member-img {
+      width: 70upx;
+      padding: 2upx 6upx;
+      color: green;
+      background-color: #f0f2f6;
+      border-radius: 20upx;
+      .vip-text {
+        font-size: 24upx;
+        transform: scale(0.6);
+        position: relative;
+        top: -2upx;
+        left: -8upx;
+      }
+    }
+    .iconfont {
+      color: #00aaed;
+    }
+  }
+
+  .tui-msg-name {
+    overflow: hidden;
+    white-space: nowrap;
+    text-overflow: ellipsis;
+    font-size: 30upx;
+    color: #262b3a;
+    .tui-user-name {
+      overflow: hidden;
+      text-overflow: ellipsis;
+      white-space: nowrap;
+      width: 290upx;
+    }
+  }
+
+  .tui-msg-content {
+    width:500upx;
+    overflow: hidden;
+    white-space: nowrap;
+    text-overflow: ellipsis;
+    font-size: 24upx;
+    line-height: 1;
+    color: #9397a4;
+    .debt-amount{
+      margin-left:20upx;
+      .amount_num{
+        color:red;
+        margin-left:5upx;
+      }
+    }
+  }
+}
+.tui-msg-right {
+  max-width: 120upx;
+  height: 80upx;
+  margin-left: auto;
+  margin-right: 24upx;
+  text-align: right;
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+}
+.user_tag {
+  border: 1upx solid #cccccc;
+  padding: 5upx 12upx 5upx 12upx;
+  border-radius: 25upx;
+  color: #bbbbbb;
+  margin-right: 10upx;
+  margin-bottom: 12upx;
+  display: inline-block;
+  font-size: 30upx;
+}
+</style>

+ 4 - 3
ghsApp/src/pages.json

@@ -155,7 +155,8 @@
 				{"path": "trumpet","style": {"navigationBarTitleText": "收款播报设置"}},
 				{"path": "changeShop","style": {"navigationBarTitleText": "切换门店"}},
 				{"path": "sk","style": {"navigationBarTitleText": "快捷开单设置"}},
-				{"path": "password","style": {"navigationBarTitleText": "密码修改"}}
+				{"path": "password","style": {"navigationBarTitleText": "密码修改"}},
+				{"path": "selectShop","style": {"navigationBarTitleText": "选择门店"}}
 			]
 		},
 		{
@@ -256,10 +257,10 @@
 			"pages": [
 				{ "path": "exDetails", "style": { "navigationBarTitleText": "出库详情" } },
 				{ "path": "addExDetails", "style": { "navigationBarTitleText": "新增" } },
-				{ "path": "allotEx", "style": { "navigationBarTitleText": "调拨出库", "enablePullDownRefresh": true } },
+				{ "path": "allotEx", "style": { "navigationBarTitleText": "出库记录", "enablePullDownRefresh": true } },
 				{ "path": "exSelect", "style": { "navigationBarTitleText": "选择商品", "enablePullDownRefresh": true } },
 				{ "path": "putDetails", "style": { "navigationBarTitleText": "入库详情" } },
-				{ "path": "allotPut", "style": { "navigationBarTitleText": "调拨入库", "enablePullDownRefresh": true } }
+				{ "path": "allotPut", "style": { "navigationBarTitleText": "入库记录", "enablePullDownRefresh": true } }
 			]
 		},
 		{

+ 383 - 151
ghsApp/src/pagesStorehouse/allot/addExDetails.vue

@@ -1,90 +1,134 @@
 <template>
 <view class="app-content">
-	<view class="ex-page">
-		<view class="main-view overscroll">
-			<view class="space-view ex-info">
-				<form>
-					<view class="module-com input-line-wrap">
-						<TuiListCell class="line-cell" :hover="false" :arrow="true">
-							<view class="tui-title ">收货门店</view>
-							<view class="tui-input">
-								<ShopSelect class="bar" top="0" :isShowMore="false" @selectShopFn="selectShopFn" />
-							</view>
-						</TuiListCell>
-						<TuiListCell class="line-cell" :hover="false" :arrow="true">
+  <view class="affirm-page">
+
+    <view class="affirm-view overscroll">
+      <!-- 花材列表 -->
+      <form>
+        <view class="module-com">
+          <view class="commodity-view">
+            <view class="commodity-list">
+              <template v-if="!$util.isEmpty(selectList)">
+                <view class="commodity-item" v-for="(item, index) in selectList" :key="index">
+                  <!-- #ifdef APP-PLUS -->
+                  <image class="item-icon" :src="item.cover" />
+                  <!-- #endif -->
+                  <!-- #ifdef MP-WEIXIN -->
+                  <image class="item-icon" :src="item.cover" />
+                  <!-- #endif -->
+                  <view class="item-info">
+                    <view class="info-line">
+                      <text class="item-name">{{ item.itemName }}</text>
+                      <text class="item-price">
+                        <text class="unit"></text>
+                        <text class="price"></text>
+                      </text>
+                    </view>
+
+                    <view style="text-align:right;">
+                      <view class="open-bx" >
+                        <i class="iconfont iconjian" @click="reduceItemFn(item)" v-if="item.bigCount > 0 || item.smallCount > 0"></i>
+                        <text class="num" @click="showAddModelFn(item)">
+                          <text v-if="item.bigCount > 0" style="font-size:24upx;font-weight:bold;color:#3385ff;">{{ item.bigCount }}</text>
+                          <text v-if="item.smallCount > 0" style="font-size:24upx;">{{ item.smallCount }}</text>
+                        </text>
+                        <i class="iconfont iconzeng" @click="addItemFn(item)"></i>
+                      </view>
+                    </view>
+
+                  </view>
+                </view>
+              </template>
+            </view>
+            <view class="summary-bar">
+              <view class="operate-view" v-if="isScanEnv" @click="removeFromSave(option.inShopId)"> <text class="iconfont iconshanchu1"></text>清除花材 </view>
+              <view class="operate-view" v-else @click="reSelectItem"><text class="iconfont icongouwuche"></text>重选花材</view>
+              <view class="describe-view">共{{ selectList.length }}种</view>
+            </view>
+          </view>
+        </view>
+
+        <view class="module-com input-line-wrap">
+          <tui-list-cell class="line-cell" :hover="false" :arrow="false">
+							<view class="tui-title ">收货</view>
+							<view class="tui-input"> {{shopName}} </view>
+          </tui-list-cell>
+
+          <tui-list-cell class="line-cell" :hover="false" :arrow="true">
 							<view class="tui-title ">日期</view>
 							<AppDatePicker :dateVal.sync="form.date" :placeholder="'请选择日期'" />
-						</TuiListCell>
-						<TuiListCell class="line-cell" :hover="false" :arrow="false">
+          </tui-list-cell>
+
+          <tui-list-cell class="line-cell" :hover="false" :arrow="false">
 							<view class="tui-title ">备注</view>
 							<input v-model="form.remark" placeholder-class="phcolor" class="tui-input" placeholder="请输入" maxlength="50" type="text" />
-						</TuiListCell>
-					</view>
-				</form>
-			</view>
-			<view class="space-view ex-table">
-				<block v-if="!$util.isEmpty(selectList)">
-					<t-table :headerBackgroundColor="'#F0F2F6'">
-						<t-tr header>
-							<t-th v-for="(item, index) in columns" :key="index" :align="item.align">
-								{{ item.name }}
-							</t-th>
-						</t-tr>
-						<t-tr v-for="(item, index) in selectList" :key="index">
-							<t-td v-for="(column, colIndex) in columns" :key="colIndex" :align="column.align" :color="column.color">
-								<view v-if="column.custom == 'icon'" class="list-icon">
-									<image class="icon-image" :src="item.cover" />
-									<view class="icon-info">
-										<view class="info-name">
-											{{ item.itemName }}
-										</view>
-										<view class="info-type"></view>
-									</view>
-								</view>
-								<view v-else-if="column.custom == 'excount'" style="font-size:32upx;color:#333333;">
-									<text v-if="item.bigCount > 0">{{`${item.bigCount}`}}{{item.bigUnit}}</text>
-									<text v-if="item.smallCount > 0">{{`${item.smallCount}`}}{{item.smallUnit}}</text>
-								</view>
-								<view v-else>
-									{{ item[column.dataIndex] || "" }}
-								</view>
-							</t-td>
-						</t-tr>
-					</t-table>
-				</block>
-				<view class="btn-bar">
-					<template v-if="isScanEnv">
-						<button class="admin-button-com middle blue">请扫码</button>
-					</template>
-					<template v-else>
-					<button class="admin-button-com middle blue" v-if="!$util.isEmpty(selectList)" @click="gotoSelectPage">修改花材</button>
-					<button class="admin-button-com middle blue" v-else @click="gotoSelectPage">选择花材</button>
-					</template>
-				</view>
-			</view>
-		</view>
-		<view class="app-footer open_btn">
-			<button v-if="!$util.isEmpty(selectList)" class="admin-button-com middle default" @click="removeFromSave()">清空花材</button>
-			<button @click="stockOutFn()" class="admin-button-com middle blue">确认出库</button>
-		</view>
-
-		<view v-if="isScanEnv" @click="changeGet" style="width:125upx;height:125upx;display:flex;justify-content:center;align-items:center;font-size:60upx;
-		background:#3385ff;color:white;z-index:9999;position:fixed;bottom:160upx;right:40upx;border-radius:60upx;">{{calc=='add'?'+':'-'}}</view>
-
-	</view>
-</view>
+					</tui-list-cell>
+        </view>
+      </form>
+    </view>
+
+    <view class="under-bar">
+      <view class="price-view">
+        <text class="price-title">
+          <text></text>
+        </text>
+      </view>
+      <button v-if="!$util.isEmpty(selectList)" class="admin-button-com big default" @click="removeFromSave()">清空花材</button>
+      <button class="admin-button-com blue big" @click="stockOutFn()">确认出库</button>
+    </view>
+
+    <view v-if="isScanEnv" @click="changeGet" style="width:125upx;height:125upx;display:flex;justify-content:center;align-items:center;font-size:60upx;
+    background:#3385ff;color:white;z-index:9999;position:fixed;bottom:230upx;right:40upx;border-radius:60upx;">{{calc=='add'?'+':'-'}}</view>
+
+        <modal-module :show="isAddModel" @cancel="addItemModelHidden" @click="confirmAddItemModel" :title="customData.itemName" color="#333" :size="32" padding="30rpx 30rpx" >
+          <template slot="customContent">
+            <view class="select-cmd_bx" v-if="customData">
+              <view class="kc"><text class="unit_price">库存 {{ parseFloat(customData.stock) }}</text><text class="unit_price"> 单价 {{ parseFloat(customData.price) }}</text>1扎={{customData.ratio}}支</view>
+
+              <view class="num_bx">
+                <input style="width: 430upx" v-model="customData.userPrice" @focus="customData.userPrice = null" type="number" placeholder="单价" />
+                <text style="font-size:35upx;font-weight:bold;color:#666666;">元</text>
+              </view>
+
+              <view class="num_bx">
+                <!-- #ifdef APP-PLUS -->
+                <input style="width: 430upx" v-model="customData.bigCount" v-if="globalUnitType == 0" type="number" />
+                <text style="font-size:35upx;font-weight:bold;color:#666666;" v-if="globalUnitType == 0">扎</text>
+                <input style="width: 430upx" v-model="customData.smallCount" v-if="globalUnitType == 1" type="number" />
+                <text style="font-size:35upx;font-weight:bold;color:#666666;" v-if="globalUnitType == 1">支</text>
+                <!-- #endif -->
+
+                <!-- #ifdef MP-WEIXIN -->
+                <input style="width: 430upx" v-model="customData.bigCount" v-if="globalUnitType == 0" :focus="isAddInputFocus" type="number" />
+                <text style="font-size:35upx;font-weight:bold;color:#666666;" v-if="globalUnitType == 0">扎</text>
+                <input style="width: 430upx" v-model="customData.smallCount" v-if="globalUnitType == 1" :focus="isAddInputFocus" type="number" />
+                <text style="font-size:35upx;font-weight:bold;color:#666666;" v-if="globalUnitType == 1">支</text>
+                <!-- #endif -->
+
+                <image @click="switchGlobalUnitType" :src="`${constant.imgUrl}/icon/switch/switch128.png`" 
+                style="width:86upx;height:86upx;position:relative;top:-60upx;right:0upx;" mode="widthFix"></image>
+
+              </view>
+
+            </view>
+          </template>
+        </modal-module>
+
+    </view>
+  </view>
 </template>
+
 <script>
 import TuiListCell from "@/components/plugin/list-cell";
 import productMins from "@/mixins/product";
 import AppDatePicker from "@/components/app-date-picker";
-import ShopSelect from "@/components/module/shopSelect";
 import { selectShop } from "@/mixins";
 import { createStockOutOrderApi } from "@/api/storehouse/stock";
 import {mapActions, mapGetters} from "vuex";
+import ModalModule from "@/components/plugin/modal"
 const formUtil = require("@/utils/formValidation.js");
 export default {
-	components: { TuiListCell, AppDatePicker, ShopSelect },
+	components: { TuiListCell, AppDatePicker, ModalModule },
 	mixins: [productMins, selectShop],
 	computed: {
 		...mapGetters(["getLoginInfo"])
@@ -92,6 +136,7 @@ export default {
 	data() {
 		return {
 			selectJobType: "allotEx",
+			selectJobId:0,
 			autoLoad:true,
 			form: {
 				date: "",
@@ -105,11 +150,11 @@ export default {
 			],
 			typeTimeShow: true,
 			isScanEnv:false,
-      		calc:'add'
+      calc:'add',
+			isAddModel:false,
+      shopName:''
 		};
 	},
-	onShow() {
-	},
 	onLoad(){
 		// #ifdef APP-PLUS
 		if(this.$util.isScanEnv()){
@@ -117,22 +162,32 @@ export default {
 		}
 		// #endif
 		this.listenScanItem()
+
+		if (!this.$util.isEmpty(this.option.inShopId)){
+			this.selectJobId = this.option.inShopId || 0
+      this.form.inShopId = this.option.inShopId || 0
+      this.shopName = this.option.inShopName || ''
+		}
+
 	},
 	methods: {
 		...mapActions(["reSetSelectInfo"]),
+    reSelectItem () {
+      this.$util.pageTo({url: '/pagesStorehouse/allot/exSelect',type:2,query: {inShopId: this.option.inShopId}})
+    },
 		changeGet(){
 			this.calc = this.calc == 'add' ? 'sub' : 'add'
 		},
-		gotoSelectPage() {
-			uni.navigateTo({ url: `/pagesStorehouse/allot/exSelect`, success: result => {}, fail: () => {}, complete: () => {} })
+		reduceItemFn(item) {
+      this.kdType = 'HIT';
+			this.replaceItemFn(item,0,'sub')
 		},
-		selectShopFn(val) {
-			if(this.getLoginInfo.shopId == val.id) {
-				this.$msg('不能出到库到本店')
-				this.form.inShopId = ''
-				return
-			}
-			this.form.inShopId = val.id;
+		addItemFn (item) {
+      this.kdType = 'HIT';
+			this.replaceItemFn(item,0,'add')
+		},
+		gotoSelectPage() {
+			uni.navigateTo({ url: `/pagesStorehouse/allot/exSelect` })
 		},
 		stockOutFn() {
 			let rules = [ { name: "inShopId", rule: ["required"], msg: ["请选择门店"] } ];
@@ -191,84 +246,261 @@ export default {
 	}
 };
 </script>
+
 <style lang="scss" scoped>
-.ex-page {
-	height: 100%;
-	display: flex;
-	flex-direction: column;
-	.main-view {
-		flex: 1;
-		background-color: #f9fbfc;
-		.space-view {
-			margin-top: 15upx;
-			background-color: #fff;
-			.btn-bar {
-				margin-top: 30upx;
-				width: 100%;
-				text-align: center;
-			}
-		}
-		.ex-info {
-			.module-com {
-				background-color: #fff;
-				margin-bottom: 20upx;
-
-				border-radius: 10upx;
-				overflow: hidden;
-				.member-wrap {
-					.member-det {
-						font-size: 24upx;
-						margin-left: 20upx;
-					}
+.admin-button-com {
+  margin-right: 30upx;
+}
+.affirm-page {
+  position: relative;
+  height: 100%;
+  display: flex;
+  flex-direction: column;
+
+  .affirm-view {
+    flex: 1;
+    margin-bottom:90upx;
+    padding: 20upx;
+    background-color: #f0f2f6;
+
+    .commodity-view {
+      display: flex;
+      flex-direction: column;
+      .commodity-list {
+        padding: 20upx;
+        .commodity-item {
+          display: flex;
+          margin-bottom: 20upx;
+          .item-icon {
+            flex-shrink: 0;
+            width: 140upx;
+            height: 140upx;
+          }
+          .item-info {
+            display: flex;
+            flex-direction: column;
+            justify-content: center;
+            flex: 1;
+            margin-left: 20upx;
+            .info-line {
+              margin-bottom: 20upx;
+              display: flex;
+              justify-content: space-between;
+              align-items: flex-end;
+              .item-name {
+                color: #666;
+                font-size: 28upx;
+              }
+              .item-price {
+                color: #333;
+                font-size: 22upx;
+                .price {
+                  font-size: 32upx;
+                  font-weight: bold;
+                }
+              }
+              .item-type {
+                color: #999;
+                font-size: 24upx;
+              }
+              .item-count {
+                color: #666;
+                font-size: 24upx;
+              }
+            }
+
+& .open-bx {
+				align-items: center;
+				& .iconfont {
+					color: #3385ff;
+					font-size: 42upx;
+				}
+
+				.position{
+					display: block;
+					width: 70upx;
+					text-align: center;
 				}
-				.remark-wrap {
-					align-items: flex-start;
-					.remark {
-						height: 240upx;
+				.iconcachu {
+					margin: 0 6upx 0 20upx;
+					color: #ccc;
+					&.edit {
+						color: #3385ff;
 					}
 				}
-			}
-		}
-		.ex-table {
-			padding-bottom:120upx;
-			/deep/.list-icon {
-				display: flex;
-				.icon-image {
-					width: 80upx;
-					height: 80upx;
-					margin-right: 20upx;
+				& > .num {
+					display: inline-block;
+					width: 120upx;
+					height:45upx;
+					text-align:center;
+					margin: 0 8upx;
+					color: #868686;
+					border-radius: 22upx;
+					background-color: #f5f5f5;
+					padding: 3upx 0;
+					font-size: 25upx;
 				}
-				.icon-info {
-					display: flex;
-					flex-direction: column;
-					justify-content: space-around;
-					.info-name {
-						font-size: 28upx;
-						font-weight: bold;
-						color: #333333;
-					}
-					.info-type {
-						font-size: 24upx;
-						color: #666666;
-					}
+				.change-input {
+					width: 164upx;
+					height: 60upx;
+					line-height: 60upx;
+					text-align: center;
+					background: #ffffff;
+					border: 1upx solid #dddddd;
+					border-radius: 4upx;
+					font-size: 25upx;
+				}
+				.btn-box{
+					width: 100upx;
+					height: 60upx;
+					line-height: 60upx;
+					color: #ffffff;
+					background: #3385ff;
+					text-align: center;
+					border-radius: 10upx;
 				}
 			}
-		}
-	}
-	.bar-view {
-		display: flex;
-		justify-content: flex-end;
-		align-items: center;
-		padding: 0 30upx;
-		width: 100%;
-		height: 100upx;
 
-		box-shadow: 0upx -1upx 6upx 0upx rgba(4, 0, 0, 0.06);
+          }
+        }
+      }
+      .summary-bar {
+        padding: 0 20upx;
+        height: 90upx;
+        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: 26upx;
+          .iconfont {
+            margin-right: 20upx;
+            font-size: 40upx;
+          }
+        }
+        .describe-view {
+          display: flex;
 
-		.btn-view {
+          align-items: center;
+          color: #333;
+          font-size: 24upx;
+          .price {
+            font-weight: bold;
+            font-size: 36upx;
+          }
+        }
+      }
+    }
+
+    .module-com {
+      background-color: #fff;
+      margin-bottom: 20upx;
+      border-radius: 10upx;
+      overflow: hidden;
+					.tab-box{
+						padding: 10upx 30upx 30upx;
+						.tab{
+							width: 49%;
+							height: 70upx;
+							color: #a2a2a2;
+							border: 1upx solid #dcdcdc;
+							border-radius: 10upx;
+							font-size: 28upx;
+							font-weight: 700;
+							&.active{
+								color: #ff4d4d;
+								border: 1upx solid #ff4d4d;
+							}
+						}
+					}
+      .member-wrap {
+        .member-det {
+          font-size: 24upx;
+          margin-left: 20upx;
+        }
+      }
+      .remark-wrap {
+        align-items: flex-start;
+        .remark {
+          height: 240upx;
+        }
+      }
+      // .tui-placeholder,
+      // .tui-input {
+      // 	padding-right: 30upx;
+      // 	width: 100%;
+      // 	text-align: right;
+      // }
+    }
+  }
+  .under-bar {
+    z-index:99999;
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    padding: 0 20upx;
+    position: fixed;
+    bottom:0;
+    /* 手机mobile屏幕小于1000px */
+    @media screen and (max-width: 1100px) {
+      width: 100%;
+    }
+    /* 收银台cashier屏幕大于1000px */
+    @media screen and (min-width:1100px) {
+      width: 40%;
+    } 
+    height: 100upx;
+    background-color: #fff;
+
+    box-shadow: 0upx -1upx 6upx 0upx rgba(4, 0, 0, 0.06);
+    .price-view {
+      display: flex;
+      align-items: center;
+      font-size: 24upx;
+      .price-title {
+        color: #333;
+      }
+      .price-number {
+        margin: 0 20upx;
+        color: #ff2842;
+        .large {
+          font-size: 40upx;
+        }
+      }
+    }
+    .admin-button-com {
+      width: 200upx;
+    }
+  }
+	.select-cmd_bx {
+		& .kc {
+			color: #999999;
+			font-size: 28upx;
+			font-weight: 400;
+			margin-bottom: 40upx;
+			text-align: center;
+			margin-top: 30upx;
+			.unit_price{
+				padding-right:25upx;
+			}
+		}
+		& .num_bx {
 			display: flex;
-			.admin-button-com {
-				margin: 0 10upx;
+			align-items: center;
+			margin-bottom: 40upx;
+			& > input {
+				width: 212upx;
+				height: 80upx;
+				border: 1upx solid #dddddd;
+				border-radius: 4upx;
+				text-align: center;
+				margin-right: 24upx;
+				font-size: 40upx;
 			}
 		}
 	}

+ 1 - 6
ghsApp/src/pagesStorehouse/allot/allotEx.vue

@@ -120,12 +120,7 @@ export default {
 			return name;
 		},
 		addEvent() {
-			uni.navigateTo({
-				url: `/pagesStorehouse/allot/addExDetails`,
-				success: result => {},
-				fail: () => {},
-				complete: () => {}
-			});
+			uni.navigateTo({url: `/admin/shop/selectShop`})
 		},
 		gotoDetails(item) {
 			uni.navigateTo({

+ 6 - 19
ghsApp/src/pagesStorehouse/allot/exDetails.vue

@@ -12,18 +12,16 @@
 					<view class="cell-value"> {{ outData.updateTime?outData.updateTime.substr(5,11):'' }}</view>
 				</view>
 				<view class="info-cell">
-					<view class="cell-label"> 制单人</view>
+					<view class="cell-label"> 操作</view>
 					<view class="cell-value"> {{ outData.adminName || "" }}</view>
 				</view>
 				<view class="info-cell">
 					<view class="cell-label"> 状态</view>
-					<view :class="['cell-value',{warning:outData.status == OUT_STATUS.CONFIRM},{success:outData.status == OUT_STATUS.DONE}]">{{getItemStatusName(outData.status) || ""}}</view>
+					<view class="cell-value">{{getItemStatusName(outData.status)}}</view>
 				</view>
 				<view class="info-cell">
 					<view class="cell-label"> 备注</view>
-					<view class="cell-value">
-						{{ outData.remark || "" }}
-					</view>
+					<view class="cell-value"> {{ outData.remark || "" }} </view>
 				</view>
 			</view>
 			<view class="space-view ex-table">
@@ -68,20 +66,8 @@
 		<view class="bar-view">
 			<view class="info-view"> 出库数量:{{ sumCount }} </view>
 			<view class="btn-view" v-if="outData.status">
-				<button
-					v-if="outData.status != OUT_STATUS.CANCEL && outData.statusName != '已出库'"
-					class="admin-button-com middle"
-					@click="cancelEvent"
-				>
-					取消
-				</button>
-				<button
-					v-if="outData.status == OUT_STATUS.CONFIRM"
-					class="admin-button-com middle"
-					@click="confirmEventPop"
-				>
-					确认
-				</button>
+				<button v-if="outData.status != OUT_STATUS.CANCEL && outData.statusName != '已出库'" class="admin-button-com middle" @click="cancelEvent" > 取消 </button>
+				<button v-if="outData.status == OUT_STATUS.CONFIRM" class="admin-button-com middle" @click="confirmEventPop" > 确认 </button>
 			</view>
 		</view>
 	</view>
@@ -140,6 +126,7 @@ export default {
 					break;
 
 				default:
+					name = '';
 					break;
 			}
 			return name;

+ 7 - 2
ghsApp/src/pagesStorehouse/allot/exSelect.vue

@@ -109,6 +109,7 @@ export default {
 		return {
 			COMMODITY_TYPE,
 			selectJobType: "allotEx",
+			selectJobId:0,
 			tabIndex: 0,
 			isAddInputFocus: false,
 			isAddModel: false,
@@ -118,6 +119,11 @@ export default {
 			showSubmitModel: false
 		};
 	},
+	onLoad () {
+		if (!this.$util.isEmpty(this.option.inShopId)){
+			this.selectJobId = this.option.inShopId
+		}
+	},
 	computed: {
 		confirmContent() {
 			let content = "确认下一步?";
@@ -128,13 +134,12 @@ export default {
 		}
 	},
 	methods: {
-		//确认
 		confirmOut() {
 			if(this.$util.isEmpty(this.selectList)){
 				this.$msg('请选择花材')
 				return false
 			}
-			uni.navigateBack({ delta: 1 })			
+			this.$util.pageTo({url: '/pagesStorehouse/allot/addExDetails',type:2,query: {inShopId: this.option.inShopId,inShopName:this.option.inShopName}})	
 		}
 	}
 };