Selaa lähdekoodia

Merge branch 'master' of http://49.4.53.36:3000/hotel/hotel-saas-tenant-frontend

覃浩 2 vuotta sitten
vanhempi
commit
482d50d3a5

+ 445 - 418
src/views/pos/diandan.vue

@@ -1,460 +1,487 @@
 <template>
-  <a-card :bordered="false" class="card-pd">
+<a-card :bordered="false" class="card-pd">
     <a-tabs v-model="tabPosTypeId" @change="tabPosTypeChange">
-      <a-tab-pane
-        :key="item.id"
-        :tab="item.name"
-        v-for="item in posTypeList"
-      ></a-tab-pane>
+        <a-tab-pane :key="item.id" :tab="item.name" v-for="item in posTypeList"></a-tab-pane>
     </a-tabs>
-    <div style="display: flex; height: calc(100vh - 350px)">
-      <a-card style="width: 25%">
-        <p v-if="selectRoomOrder && selectRoomOrder.roomName">
-          房间:{{ selectRoomOrder.roomName }},姓名:{{ selectRoomOrder.customerName }}
-        </p>
-        <a-table
-          bordered
-          :columns="columns"
-          :data-source="selectGoodsList"
-          :pagination="false"
-          rowKey="id"
-          :scroll="{ y: 560 }"
-        >
-          <template slot="num" slot-scope="text, record, index">
-            <div>
-              <a-input-number
-                v-model="record.num"
-                :max="record.inventory"
-                @change="(event) => numChange(event, index)"
-              />
-            </div>
-          </template>
-          <template slot="required" slot-scope="text, record, index">
-            <div>
-              <a-switch v-model="record.required" />
-            </div>
-          </template>
+    <div style="display: flex; height: calc(100vh - 350px);">
+        <a-card style="width: 30%">
+            <a href="#" @click="remarkModal">
+                <a-icon type="edit" />整单备注</a>
+            <p v-if="selectRoomOrder && selectRoomOrder.roomName">
+                <a-icon type="user" /> 房间:{{ selectRoomOrder.roomName }},姓名:{{ selectRoomOrder.customerName }}
+            </p>
+            <a-table bordered :columns="columns" :data-source="selectGoodsList" :row-selection="rowSelection" rowKey="id" :scroll="{ y: 560 }">
+                <template slot="num" slot-scope="text, record, index">
+                    <div>
+                        <a-input-number v-model="record.num" :max="record.inventory" @change="(event) => numChange(event, index)" />
+                    </div>
+                </template>
+                <template slot="required" slot-scope="text, record, index">
+                    <div>
+                        <a-switch v-model="record.required" />
+                    </div>
+                </template>
 
-          <span slot="action" slot-scope="text, record, index">
-            <a @click="handleDelete(index)">删除</a>
-          </span>
-        </a-table>
-        <p>数量:{{ sum }}</p>
-        <div style="display: flex; gap: 5px; flex-flow: wrap">
-          <a-button @click="handleClear" :disabled="btnDisabled">清空</a-button>
-          <!-- <a-button @click="handleAdd" :disabled="btnDisabled">备注</a-button> -->
-          <!-- <a-button :disabled="btnDisabled">退货</a-button> -->
-          <a-button v-if="!btnDisabled" @click="handleAdd">挂单</a-button>
-          <a-button v-else @click="handlePickingGoodsOrder">取单</a-button>
-          <a-button
-            v-if="selectRoomOrder && selectRoomOrder.roomName && !btnDisabled"
-            @click="handleToRoomFeePayment"
-            >确定挂房帐</a-button
-          >
-          <a-button v-else @click="handleSelectCheckInRoomOrder"
-            >挂房帐</a-button
-          >
-          <a-button :disabled="btnDisabled" type="danger" @click="handlePayment"
-            >结账¥{{ amount.toFixed(2) }}</a-button
-          >
-        </div>
-      </a-card>
-      <a-card style="width: 75%">
-        <a-tabs v-model="tabgoodsTypeId" @change="tabGoodsTypeChange">
-          <a-tab-pane key="1" tab="全部"></a-tab-pane>
-          <a-tab-pane
-            :key="item.id"
-            :tab="item.name"
-            v-for="item in goodsTypeList"
-          ></a-tab-pane>
-        </a-tabs>
-        <a-row :gutter="[5, 5]">
-          <a-col
-            v-for="item in dataSource"
-            :key="item.id"
-            :span="3"
-            @click.stop="itemClick(item)"
-          >
-            <div class="room-item check">
-              <div class="select-cell"></div>
-              <template v-if="item.id != '0'">
-                <div>{{ item.name }}</div>
-                <div style="margin-top: 10px; color: red">
-                  ¥{{ item.sellingPrice.toFixed(2) }}
-                </div>
-                <div style="margin-top: 10px">库{{ item.inventory }}</div>
-                <div
-                  v-if="item.isSellClear"
-                  style="display: flex; justify-content: right"
-                >
-                  <a-tag color="#f50"> 沽清 </a-tag>
-                </div></template
-              >
-              <template v-else>
-                <div style="font-weight: 800; text-align: center">+临时菜</div>
-              </template>
+                <span slot="action" slot-scope="text, record, index">
+                    <a @click="handleDelete(index)">删除</a>
+                </span>
+            </a-table>
+            <p>数量:{{ sum }}</p>
+            <div style="display: flex; gap: 5px; flex-flow: wrap">
+                <a-button @click="handleClear" :disabled="btnDisabled">清空</a-button>
+                <!-- <a-button @click="handleAdd" :disabled="btnDisabled">备注</a-button> -->
+                <!-- <a-button :disabled="btnDisabled">退货</a-button> -->
+                <a-button v-if="!btnDisabled" @click="handleAdd">挂单</a-button>
+                <a-button v-else @click="handlePickingGoodsOrder">取单</a-button>
+                <a-button v-if="selectRoomOrder && selectRoomOrder.roomName && !btnDisabled" @click="handleToRoomFeePayment">确定挂房帐</a-button>
+                <a-button v-else @click="handleSelectCheckInRoomOrder">挂房帐</a-button>
+                <a-button :disabled="btnDisabled" type="danger" @click="handlePayment">结账¥{{ amount.toFixed(2) }}</a-button>
+                <a-button :disabled="btnDisabled">退货</a-button>
             </div>
-          </a-col>
-        </a-row>
-      </a-card>
+        </a-card>
+        <a-card style="width: 75%;position: relative;">
+            <a-tabs v-model="tabgoodsTypeId" @change="tabGoodsTypeChange">
+                <a-tab-pane key="1" tab="全部"></a-tab-pane>
+                <a-tab-pane :key="item.id" :tab="item.name" v-for="item in goodsTypeList"></a-tab-pane>
+            </a-tabs>
+            <a-row :gutter="[5, 5]">
+                <a-col v-for="item in dataSource" :key="item.id" :span="3" @click.stop="itemClick(item)">
+                    <div class="room-item check">
+                        <div class="select-cell"></div>
+                        <template v-if="item.id != '0'">
+                            <div>{{ item.name }}</div>
+                            <div style="margin-top: 10px; color: red">
+                                ¥{{ item.sellingPrice.toFixed(2) }}
+                            </div>
+                            <div style="margin-top: 10px">库{{ item.inventory }}</div>
+                            <div v-if="item.isSellClear" style="display: flex; justify-content: right">
+                                <a-tag color="#f50"> 沽清 </a-tag>
+                            </div>
+                        </template>
+                        <template v-else>
+                            <div style="font-weight: 800; text-align: center">+临时菜</div>
+                        </template>
+                    </div>
+                </a-col>
+            </a-row>
+            <a-row style="margin-top:30px;">
+                <a-space>
+                  <a-input v-if="!isSaoma" placeholder="输入名称、简拼、条码"></a-input>
+                  <a-input v-else placeholder="请扫描条码"></a-input>
+                  <a-button v-if="!isSaoma">查询</a-button>
+                  <a-button @click="isSaoma=!isSaoma">切换为扫码模式</a-button>
+                </a-space>
+            </a-row>
+        </a-card>
+        
     </div>
     <payment-modal ref="modalPaymentForm" @ok="modalFormOk"></payment-modal>
     <goods-modal ref="modalGoodsForm" @ok="modalFormOk2"></goods-modal>
-    <picking-goods-order-modal
-      ref="modalPickingGoodsOrderForm"
-      @ok="modalPickingGoodsOrderFormOk"
-    ></picking-goods-order-modal>
-    <select-check-in-room-order-modal
-      ref="modalSelectCheckInRoomOrderModal"
-      @ok="modalSelectCheckInRoomOrderFormOk"
-    ></select-check-in-room-order-modal>
-  </a-card>
+    <picking-goods-order-modal ref="modalPickingGoodsOrderForm" @ok="modalPickingGoodsOrderFormOk"></picking-goods-order-modal>
+    <select-check-in-room-order-modal ref="modalSelectCheckInRoomOrderModal" @ok="modalSelectCheckInRoomOrderFormOk"></select-check-in-room-order-modal>
+
+    <a-modal @cancel="isRemarkModal = false" :visible="isRemarkModal" title="添加备注">
+        <a-form-model>
+            <a-form-model-item label="备注">
+                <a-input v-model="remark" type="textarea" />
+            </a-form-model-item>
+        </a-form-model>
+    </a-modal>
+
+</a-card>
 </template>
+
   
-  <script>
+<script>
 // import { JeecgListMixin } from "@/mixins/JeecgListMixin";
 // import PosRegionModal from "./modules/PosRegionModal";
-import { filterObj } from "@/utils/util";
-import { getAction, postAction, deleteAction } from "@/api/manage";
+import {
+    filterObj
+} from "@/utils/util";
+import {
+    getAction,
+    postAction,
+    deleteAction
+} from "@/api/manage";
 import PaymentModal from "./modules/PaymentModal.vue";
 import goodsModal from "./modules/goodStock/goodsModal.vue";
 import PickingGoodsOrderModal from "./modules/PickingGoodsOrderModal.vue";
 import SelectCheckInRoomOrderModal from "./modules/SelectCheckInRoomOrderModal.vue";
-import { computed } from "vue";
-import { tree } from "@/api/good";
-const columns = [
-  {
-    title: "商品名称",
-    dataIndex: "name",
-  },
-  {
-    title: "数量",
-    dataIndex: "num",
-    scopedSlots: { customRender: "num" },
-  },
-  {
-    title: "售价",
-    dataIndex: "sellingPrice",
-  },
-];
-export default {
-  name: "memberList",
-  components: {
-    PaymentModal,
-    goodsModal,
-    PickingGoodsOrderModal,
-    SelectCheckInRoomOrderModal,
-  },
-  data() {
-    return {
-      columns,
-      sellClear: 0,
-      queryParam: {},
-      // 分页参数
-      ipagination: {
-        current: 1,
-        pageSize: 99999,
-        pageSizeOptions: ["10", "20", "30"],
-        showTotal: (total, range) => {
-          return range[0] + "-" + range[1] + " 共" + total + "条";
-        },
-        showQuickJumper: true,
-        showSizeChanger: true,
-        total: 0,
-      },
-      url: {
-        list: "/pos/posSellClearGoods/list",
-        delete: "/pos/posSellClearGoods/delete",
-        deleteBatch: "/pos/posSellClearGoods/deleteBatch",
-        exportXlsUrl: "/pos/posSellClearGoods/exportXls",
-        importExcelUrl: "pos/posSellClearGoods/importExcel",
-      },
-      dictOptions: {},
-      superFieldList: [],
-      selectedRowKeys: [],
-      isorter: {
-        column: "createTime",
-        order: "desc",
-      },
-      treeData: [],
-      selectGoods: {},
-      posTypeList: [],
-      tabPosTypeId: "",
-      selectGoodsList: [],
-      goodsTypeList: [],
-      tabgoodsTypeId: "1",
-      dataSource: [],
-      oldSelectGoodsList: [],
-      selectOrderInfo: {},
-      selectRoomOrder: {},
-    };
-  },
-  provide() {
-    return {
-      treeData: computed(() => this.treeData),
-    };
-  },
-  computed: {
-    sum() {
-      return this.selectGoodsList.reduce(function (total, item) {
-        return total + item.num;
-      }, 0);
-    },
-    amount() {
-      return this.selectGoodsList.reduce(function (total, item) {
-        return total + item.sellingPrice * item.num;
-      }, 0);
-    },
-    btnDisabled() {
-      var res = this.selectGoodsList && this.selectGoodsList.length > 0;
-      return !res;
-    },
-  },
-  created() {
-    this.dataSource = [{ id: "0" }];
-    getAction("/pos/posType/list", { pageNo: 1, pageSize: 99 }).then((res) => {
-      if (res.success) {
-        this.posTypeList = res.result.records;
-        if (this.posTypeList && this.posTypeList.length > 0) {
-          this.tabPosTypeId = this.posTypeList[0].id;
-          this.loadGoodsType();
-        }
-      }
-    });
-    this.loadTree();
-  },
-  methods: {
-    loadTree() {
-      var that = this;
-      tree().then((res) => {
-        if (res.success) {
-          this.treeData = res.result;
-        }
-      });
-    },
-    modalFormOk() {},
-    modalFormOk2(e) {
-      console.log(e);
-      var good = JSON.parse(JSON.stringify(e));
-      this.$set(good, "num", 1);
-      this.selectGoodsList.push(good);
-    },
-    modalSelectCheckInRoomOrderFormOk(e) {
-      console.log(e);
-      this.selectRoomOrder = e;
-    },
-    modalPickingGoodsOrderFormOk(e) {
-      console.log(e);
-      if (e && e.orderDetailList && e.orderDetailList.length > 0) {
-        this.selectOrderInfo = e.orderInfo;
-        e.orderDetailList.forEach((t) => {
-          t.sellingPrice = t.payMoney;
-          t.name = t.goodsName;
-          t.id = t.goodsId;
-        });
-        this.selectGoodsList = e.orderDetailList;
-      }
-    },
-    numChange(e, index) {
-      console.log(e);
-      if (e <= 0) {
-        this.selectGoodsList.splice(index, 1);
-      }
-    },
-    handleClear() {
-      this.selectGoodsList = [];
-      // this.selectOrderInfo = {};
+import {
+    computed
+} from "vue";
+import {
+    tree
+} from "@/api/good";
+const columns = [{
+        title: "商品名称",
+        dataIndex: "name",
     },
-    tabPosTypeChange(e) {
-      this.loadGoodsType();
-    },
-    tabGoodsTypeChange(e) {
-      this.loadGoods();
-    },
-    loadGoodsType() {
-      getAction("/rooms/cesStockType/getTopTypesByPosType", {
-        posType: this.tabPosTypeId,
-      }).then((res2) => {
-        if (res2.success) {
-          this.goodsTypeList = res2.result;
-          if (this.goodsTypeList && this.goodsTypeList.length > 0) {
-            this.loadGoods();
-          }
-        }
-      });
-    },
-    loadGoods() {
-      var ids = [];
-      if (this.tabgoodsTypeId === "1") {
-        this.goodsTypeList.forEach((t) => {
-          ids.push(t.id);
-        });
-      } else {
-        ids.push(this.tabgoodsTypeId);
-      }
-      this.dataSource = [{ id: "0" }];
-      getAction("/pos/posSellClearGoods/list", {
-        pageNo: 1,
-        pageSize: 99999,
-        goodTypes: ids,
-      }).then((res) => {
-        if (res.success) {
-          this.dataSource = [...this.dataSource, ...res.result.records];
-        }
-      });
+    {
+        title: "数量",
+        dataIndex: "num",
+        scopedSlots: {
+            customRender: "num"
+        },
     },
-    handleDelete() {
-      deleteAction("/pos/posSellClearGoods/delete", {
-        goodsId: this.selectGoods.id,
-      })
-        .then((res) => {
-          if (res.success) {
-            this.$message.success(res.message);
-            this.loadData();
-            this.sellClear = 0;
-          } else {
-            this.$message.warning(res.message);
-          }
-        })
-        .finally(() => {});
+    {
+        title: "售价",
+        dataIndex: "sellingPrice",
     },
-    handleSelectCheckInRoomOrder() {
-      this.$refs.modalSelectCheckInRoomOrderModal.add();
-      this.$refs.modalSelectCheckInRoomOrderModal.title = "选择转帐人";
-      this.$refs.modalSelectCheckInRoomOrderModal.disableSubmit = false;
+];
+export default {
+    name: "memberList",
+    components: {
+        PaymentModal,
+        goodsModal,
+        PickingGoodsOrderModal,
+        SelectCheckInRoomOrderModal,
     },
-    handlePickingGoodsOrder() {
-      this.$refs.modalPickingGoodsOrderForm.add();
-      this.$refs.modalPickingGoodsOrderForm.title = "取单";
-      this.$refs.modalPickingGoodsOrderForm.disableSubmit = false;
+    data() {
+        return {
+            isRemarkModal: false,
+            isSaoma: false,
+            remark:'',
+            columns,
+            sellClear: 0,
+            queryParam: {},
+            // 分页参数
+            ipagination: {
+                current: 1,
+                pageSize: 99999,
+                pageSizeOptions: ["10", "20", "30"],
+                showTotal: (total, range) => {
+                    return range[0] + "-" + range[1] + " 共" + total + "条";
+                },
+                showQuickJumper: true,
+                showSizeChanger: true,
+                total: 0,
+            },
+            url: {
+                list: "/pos/posSellClearGoods/list",
+                delete: "/pos/posSellClearGoods/delete",
+                deleteBatch: "/pos/posSellClearGoods/deleteBatch",
+                exportXlsUrl: "/pos/posSellClearGoods/exportXls",
+                importExcelUrl: "pos/posSellClearGoods/importExcel",
+            },
+            dictOptions: {},
+            superFieldList: [],
+            selectedRowKeys: [],
+            isorter: {
+                column: "createTime",
+                order: "desc",
+            },
+            treeData: [],
+            selectGoods: {},
+            posTypeList: [],
+            tabPosTypeId: "",
+            selectGoodsList: [],
+            goodsTypeList: [],
+            tabgoodsTypeId: "1",
+            dataSource: [],
+            oldSelectGoodsList: [],
+            selectOrderInfo: {},
+            selectRoomOrder: {},
+        };
     },
-    handleAddTempGoods() {
-      this.$refs.modalGoodsForm.add();
-      this.$refs.modalGoodsForm.title = "新增菜品";
-      this.$refs.modalGoodsForm.disableSubmit = false;
+    provide() {
+        return {
+            treeData: computed(() => this.treeData),
+        };
     },
-    handleToRoomFeePayment() {
-      this.handleAdd();
+    computed: {
+        rowSelection() {
+            return {
+                onChange: (selectedRowKeys, selectedRows) => {
+                    console.log(`selectedRowKeys: ${selectedRowKeys}`, 'selectedRows: ', selectedRows);
+                },
+                getCheckboxProps: record => ({
+                    props: {
+                        disabled: record.name === 'Disabled User', // Column configuration not to be checked
+                        name: record.name,
+                    },
+                }),
+            };
+        },
+        sum() {
+            return this.selectGoodsList.reduce(function (total, item) {
+                return total + item.num;
+            }, 0);
+        },
+        amount() {
+            return this.selectGoodsList.reduce(function (total, item) {
+                return total + item.sellingPrice * item.num;
+            }, 0);
+        },
+        btnDisabled() {
+            var res = this.selectGoodsList && this.selectGoodsList.length > 0;
+            return !res;
+        },
     },
-    handlePayment() {
-      this.handleAdd((e) => {
-        var amount = this.oldSelectGoodsList.reduce(function (total, item) {
-          return total + item.sellingPrice * item.num;
-        }, 0);
-        this.$refs.modalPaymentForm.edit({
-          billAmount: amount,
-          deposit: 0,
-          roomFee: amount,
-          subjectType: 5,
-          feeType: 2,
-          preferentialType: 1,
-          couponFirstAmount: 0,
-          discount: 9,
-          orderCode: e,
+    created() {
+        this.dataSource = [{
+            id: "0"
+        }];
+        getAction("/pos/posType/list", {
+            pageNo: 1,
+            pageSize: 99
+        }).then((res) => {
+            if (res.success) {
+                this.posTypeList = res.result.records;
+                if (this.posTypeList && this.posTypeList.length > 0) {
+                    this.tabPosTypeId = this.posTypeList[0].id;
+                    this.loadGoodsType();
+                }
+            }
         });
-        this.$refs.modalPaymentForm.title = "POS结账";
-        this.$refs.modalPaymentForm.disableSubmit = false;
-      });
+        this.loadTree();
     },
-    handleAdd(callback) {
-      if (!this.selectGoodsList || this.selectGoodsList.length <= 0) {
-        this.$message.warning("请先选择商品");
-        return;
-      }
-      var _info = JSON.parse(localStorage.getItem("storeInfo"));
-      var model = { goodsId: this.selectGoods.id };
-      if (_info) {
-        model.hotelId = _info.id;
-      }
-      model.id = this.selectOrderInfo.id;
-      model.toRoomFeeOrderId = this.selectRoomOrder.livingOrderId;
-      model.posType = this.tabPosTypeId;
-      var posOrderGoodsDetailList = [];
-      this.selectGoodsList.forEach((t) => {
-        posOrderGoodsDetailList.push({
-          goodsId: t.id,
-          num: t.num,
-          money: t.sellingPrice,
-        });
-      });
-      model.posOrderGoodsDetailList = posOrderGoodsDetailList;
-      postAction("/pos/posOrderGoods/add", model)
-        .then((res) => {
-          if (res.success) {
-            this.$message.success(res.message);
-            this.oldSelectGoodsList = JSON.parse(
-              JSON.stringify(this.selectGoodsList)
-            );
+    methods: {
+        remarkModal() {
+            this.isRemarkModal = true;
+        },
+
+        loadTree() {
+            var that = this;
+            tree().then((res) => {
+                if (res.success) {
+                    this.treeData = res.result;
+                }
+            });
+        },
+        modalFormOk() {},
+        modalFormOk2(e) {
+            console.log(e);
+            var good = JSON.parse(JSON.stringify(e));
+            this.$set(good, "num", 1);
+            this.selectGoodsList.push(good);
+        },
+        modalSelectCheckInRoomOrderFormOk(e) {
+            console.log(e);
+            this.selectRoomOrder = e;
+        },
+        modalPickingGoodsOrderFormOk(e) {
+            console.log(e);
+            if (e && e.orderDetailList && e.orderDetailList.length > 0) {
+                this.selectOrderInfo = e.orderInfo;
+                e.orderDetailList.forEach((t) => {
+                    t.sellingPrice = t.payMoney;
+                    t.name = t.goodsName;
+                    t.id = t.goodsId;
+                });
+                this.selectGoodsList = e.orderDetailList;
+            }
+        },
+        numChange(e, index) {
+            console.log(e);
+            if (e <= 0) {
+                this.selectGoodsList.splice(index, 1);
+            }
+        },
+        handleClear() {
             this.selectGoodsList = [];
-            this.selectOrderInfo = {};
-            this.selectRoomOrder = {};
+            // this.selectOrderInfo = {};
+        },
+        tabPosTypeChange(e) {
+            this.loadGoodsType();
+        },
+        tabGoodsTypeChange(e) {
             this.loadGoods();
-            if (callback) {
-              callback(res.result.code);
+        },
+        loadGoodsType() {
+            getAction("/rooms/cesStockType/getTopTypesByPosType", {
+                posType: this.tabPosTypeId,
+            }).then((res2) => {
+                if (res2.success) {
+                    this.goodsTypeList = res2.result;
+                    if (this.goodsTypeList && this.goodsTypeList.length > 0) {
+                        this.loadGoods();
+                    }
+                }
+            });
+        },
+        loadGoods() {
+            var ids = [];
+            if (this.tabgoodsTypeId === "1") {
+                this.goodsTypeList.forEach((t) => {
+                    ids.push(t.id);
+                });
+            } else {
+                ids.push(this.tabgoodsTypeId);
             }
-          } else {
-            this.$message.warning(res.message);
-          }
-        })
-        .finally(() => {});
-    },
-    itemClick(row) {
-      console.log(row);
-      if (row.id == "0") {
-        this.handleAddTempGoods();
-        return;
-      }
-      if (row.isSellClear) {
-        this.$message.warning("选择的商品已沽清");
-        return;
-      }
-      var good = JSON.parse(JSON.stringify(row));
-      this.$set(good, "num", 1);
-      var find = this.selectGoodsList.find((t) => t.id === row.id);
-      if (find) {
-        if (find.inventory > find.num) {
-          find.num++;
-        }
-      } else {
-        this.selectGoodsList.push(good);
-      }
+            this.dataSource = [{
+                id: "0"
+            }];
+            getAction("/pos/posSellClearGoods/list", {
+                pageNo: 1,
+                pageSize: 99999,
+                goodTypes: ids,
+            }).then((res) => {
+                if (res.success) {
+                    this.dataSource = [...this.dataSource, ...res.result.records];
+                }
+            });
+        },
+        handleDelete() {
+            deleteAction("/pos/posSellClearGoods/delete", {
+                    goodsId: this.selectGoods.id,
+                })
+                .then((res) => {
+                    if (res.success) {
+                        this.$message.success(res.message);
+                        this.loadData();
+                        this.sellClear = 0;
+                    } else {
+                        this.$message.warning(res.message);
+                    }
+                })
+                .finally(() => {});
+        },
+        handleSelectCheckInRoomOrder() {
+            this.$refs.modalSelectCheckInRoomOrderModal.add();
+            this.$refs.modalSelectCheckInRoomOrderModal.title = "选择转帐人";
+            this.$refs.modalSelectCheckInRoomOrderModal.disableSubmit = false;
+        },
+        handlePickingGoodsOrder() {
+            this.$refs.modalPickingGoodsOrderForm.add();
+            this.$refs.modalPickingGoodsOrderForm.title = "取单";
+            this.$refs.modalPickingGoodsOrderForm.disableSubmit = false;
+        },
+        handleAddTempGoods() {
+            this.$refs.modalGoodsForm.add();
+            this.$refs.modalGoodsForm.title = "新增菜品";
+            this.$refs.modalGoodsForm.disableSubmit = false;
+        },
+        handleToRoomFeePayment() {
+            this.handleAdd();
+        },
+        handlePayment() {
+            this.handleAdd((e) => {
+                var amount = this.oldSelectGoodsList.reduce(function (total, item) {
+                    return total + item.sellingPrice * item.num;
+                }, 0);
+                this.$refs.modalPaymentForm.edit({
+                    billAmount: amount,
+                    deposit: 0,
+                    roomFee: amount,
+                    subjectType: 5,
+                    feeType: 2,
+                    preferentialType: 1,
+                    couponFirstAmount: 0,
+                    discount: 9,
+                    orderCode: e,
+                });
+                this.$refs.modalPaymentForm.title = "POS结账";
+                this.$refs.modalPaymentForm.disableSubmit = false;
+            });
+        },
+        handleAdd(callback) {
+            if (!this.selectGoodsList || this.selectGoodsList.length <= 0) {
+                this.$message.warning("请先选择商品");
+                return;
+            }
+            var _info = JSON.parse(localStorage.getItem("storeInfo"));
+            var model = {
+                goodsId: this.selectGoods.id
+            };
+            if (_info) {
+                model.hotelId = _info.id;
+            }
+            model.id = this.selectOrderInfo.id;
+            model.toRoomFeeOrderId = this.selectRoomOrder.livingOrderId;
+            model.posType = this.tabPosTypeId;
+            var posOrderGoodsDetailList = [];
+            this.selectGoodsList.forEach((t) => {
+                posOrderGoodsDetailList.push({
+                    goodsId: t.id,
+                    num: t.num,
+                    money: t.sellingPrice,
+                });
+            });
+            model.posOrderGoodsDetailList = posOrderGoodsDetailList;
+            postAction("/pos/posOrderGoods/add", model)
+                .then((res) => {
+                    if (res.success) {
+                        this.$message.success(res.message);
+                        this.oldSelectGoodsList = JSON.parse(
+                            JSON.stringify(this.selectGoodsList)
+                        );
+                        this.selectGoodsList = [];
+                        this.selectOrderInfo = {};
+                        this.selectRoomOrder = {};
+                        this.loadGoods();
+                        if (callback) {
+                            callback(res.result.code);
+                        }
+                    } else {
+                        this.$message.warning(res.message);
+                    }
+                })
+                .finally(() => {});
+        },
+        itemClick(row) {
+            console.log(row);
+            if (row.id == "0") {
+                this.handleAddTempGoods();
+                return;
+            }
+            if (row.isSellClear) {
+                this.$message.warning("选择的商品已沽清");
+                return;
+            }
+            var good = JSON.parse(JSON.stringify(row));
+            this.$set(good, "num", 1);
+            var find = this.selectGoodsList.find((t) => t.id === row.id);
+            if (find) {
+                if (find.inventory > find.num) {
+                    find.num++;
+                }
+            } else {
+                this.selectGoodsList.push(good);
+            }
+        },
     },
-  },
 };
 </script>
-  <style scoped>
+  
+<style scoped>
 @import "~@assets/less/common.less";
+
 .room-item {
-  height: 110px;
-  /* line-height: 200px; */
-  font-size: 13px;
-  padding: 0px 5px;
-  border-radius: 5px;
-  cursor: pointer;
-  position: relative;
-  display: flex;
-  flex-direction: column;
-  justify-content: center;
+    height: 110px;
+    /* line-height: 200px; */
+    font-size: 13px;
+    padding: 0px 5px;
+    border-radius: 5px;
+    cursor: pointer;
+    position: relative;
+    display: flex;
+    flex-direction: column;
+    justify-content: center;
 }
+
 .check {
-  border: #000 solid 3px;
+    border: #000 solid 3px;
 }
+
 .ant-table-wrapper {
-  height: calc(100vh - 500px);
+    height: calc(100vh - 500px);
 }
+
 /deep/ .card-pd .ant-card-body {
-  padding: 0 !important;
+    padding: 0 !important;
 }
+
 .select-cell {
-  position: absolute;
-  width: 100%;
-  height: 100%;
-  left: 0;
-  top: 0;
-  z-index: 10;
-  -webkit-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  user-select: none;
+    position: absolute;
+    width: 100%;
+    height: 100%;
+    left: 0;
+    top: 0;
+    z-index: 10;
+    -webkit-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
+    user-select: none;
 }
-</style>
+</style>

+ 6 - 3
src/views/pos/modules/Payment.vue

@@ -34,10 +34,12 @@
                 </a-radio-group>
                 <template v-if="model.preferentialType === 3"
                   >打<a-input-number
-                    style="width: 50px"
+                    style="width: 80px"
                     v-model="model.discount"
                     :min="1"
                     :max="9"
+                    decimalSeparator="."
+                    :precision="1"
                   ></a-input-number
                   >折
                 </template>
@@ -123,7 +125,7 @@
                       placeholder="收款方式"
                       @change="(event) => onChange(event, item)"
                     >
-                      <a-select-option
+                      <a-select-option v-if="item2.name.indexOf('会员')<0"
                         :value="item2.id"
                         v-for="item2 in payTypeList"
                         :key="item2.id"
@@ -332,8 +334,9 @@ export default {
       });
     },
     puls() {
+      var m = this.realityAmount - this.sumAmount;
       this.payList.push({
-        money: 0,
+        money: parseFloat(m.toFixed(2)),
         payType: this.payTypeList[0].id,
         isVipMemmber: false,
       });

+ 362 - 56
src/views/room/modules/checkIn/BillRoomForm.vue

@@ -611,10 +611,14 @@
                   :scroll="{ y: 200, x: 500 }"
                 >
                   <template slot="prefPrice" slot-scope="text, record, index">
-                    <editable-cell
+                    <div>
+                      {{text}}<a-icon @click="onCellExpand(index)" style="margin-left:10px;" type="edit" />
+                    <!-- <editable-cell
                       :text="text"
-                      @change="onCellChange('prefPrice', index, $event)"
-                    />
+                      
+                      @change.stop="onCellChange('prefPrice', index, $event)"
+                    /> -->
+                    </div>
                   </template>
                 </a-table>
                 <div
@@ -678,6 +682,9 @@
                               <a-select-option :value="1">
                                 押金
                               </a-select-option>
+                              <a-select-option :value="3">
+                                押金2
+                              </a-select-option>
                             </a-select>
                           </div>
                         </template>
@@ -704,7 +711,7 @@
                           <div>
                             <a-input-number
                               v-model="record.money"
-                              :min="1"
+                              :min="0"
                               @change="presetNumChange($event, record)"
                             />
                           </div>
@@ -713,9 +720,10 @@
                       <div
                         style="color: rgba(255, 141, 26, 1); font-weight: 200"
                       >
-                        <!-- <p style="margin-bottom: 2px">
-                          实收:支付宝600.00元;微信292.00元;现金1000.00元;会员卡400元。
-                        </p> -->
+                        <p style="margin-bottom: 2px">
+                          <template></template>
+                          实收:{{ orderFeesText }}
+                        </p>
                         <p style="margin-bottom: 2px">
                           合计实款:{{ orderFeesAmout.toFixed(2) }}
                         </p>
@@ -809,6 +817,39 @@
       ref="modalSelectRoomForm"
       @ok="modalFormOk"
     ></select-room-form-modal>
+
+    <!-- 修改每日单价弹窗 -->
+    <a-modal :visible="editPriceModal" title="调价" @cancel="editPriceModal = false" :width="800" @ok="editPriceOk">
+      <table>
+        <tr>
+          <td style="text-align:center;background:#722ed1;color:#fff;">
+            批量调价
+          </td>
+          <td style="text-align:center;background:#1890ff;color:#fff;">
+            价格调整(元/天)
+          </td>
+        </tr>
+        <th>
+          <td style="text-align:center;color:#722ed1;">
+            <div>每日房价</div>
+            <div v-if="model.roomPrices.length>0 && model.roomPrices[editPriceIndex]">
+              <a-input-number v-model="model.roomPrices[editPriceIndex].prefPrice" @change="batchPrice"></a-input-number>
+            </div>
+          </td>
+        </th>
+        <th style="display:flex;flex-wrap:wrap;">
+          <td v-for="(item, index) in editPriceData" :key="index">
+            <div style="text-align:center;">
+              {{item.day}}
+            </div>
+            <div>
+              <a-input-number v-model="item.price"></a-input-number>
+            </div>
+          </td>
+        </th>
+      </table>
+    </a-modal>
+
   </a-spin>
 </template>
 
@@ -933,7 +974,12 @@ export default {
       depositSplit: true,
       paymentSplit: true,
       activeKey: "",
+      PriceData: [],
       newTabIndex: 0,
+      //调价弹窗
+      editPriceModal: false,
+      //调价的索引
+      editPriceIndex: null,
       selectedRowKeys: [],
       // data,
       columns,
@@ -1019,6 +1065,33 @@ export default {
     };
   },
   computed: {
+    editPriceData() {
+      let arr = [];
+      arr.length = this.model.orderInfo.dayCount;
+      for (let i = 0; i < arr.length; i++) {
+        arr[i] = {
+          day: this.addDate(this.model.orderInfo.arrivalTime2, i),
+          price:
+            (this.model.roomPrices[this.editPriceIndex] &&
+              this.model.roomPrices[this.editPriceIndex].prefPrice) ||
+            0,
+        };
+        let idx =
+          this.model.roomPrices[this.editPriceIndex] &&
+          this.model.roomPrices[this.editPriceIndex].editPriceTime &&
+          this.model.roomPrices[this.editPriceIndex].editPriceTime.findIndex(
+            (item) => item == arr[i].day
+          );
+        if (idx > -1) {
+          console.log(idx);
+          arr[i].price =
+            this.model.roomPrices[this.editPriceIndex].editPrice[idx];
+        }
+      }
+      this.PriceData = arr;
+      return arr;
+    },
+
     formDisabled() {
       return this.disabled;
     },
@@ -1032,6 +1105,81 @@ export default {
     orderFeesArrearsAmout() {
       return this.orderFeesAmout - this.amount;
     },
+    orderFeesText() {
+      var text = "";
+      this.model.orderFees.forEach((item) => {
+        var find = this.payTypeList.find((t) => t.id == item.payType);
+        if (find) {
+          text += find.name + ":" + item.money + "元;";
+        }
+      });
+      return text;
+    },
+  },
+  watch: {
+    depositSplit(value) {
+      if (!value) {
+        var yajin = this.model.roomPrices.reduce((sum, val) => {
+          let total = sum + val.deposit;
+          return isNaN(total) ? 0 : total;
+        }, 0);
+        this.model.roomPrices.forEach((t) => {
+          t.deposit = 0;
+        });
+        this.model.roomPrices[0].deposit = yajin;
+      } else {
+        this.model.roomPrices.forEach((t) => {
+          t.deposit = this.compuleDeposit(t.marketPrice);
+        });
+      }
+    },
+    paymentSplit(value) {
+      if (!value) {
+        var list2 = this.model.orderFees.filter(
+          (t) => t.subjectType == 2 && (!t.add || t.add != 1)
+        );
+        var list1 = this.model.orderFees.filter((t) => t.subjectType == 1);
+        var list = this.model.orderFees.filter(
+          (t) =>
+            (t.subjectType != 1 && t.subjectType != 2) || (t.add && t.add == 1)
+        );
+        list2.forEach((t) => {
+          var yjList = list1.filter((b) => b.roomId == t.roomId);
+          var yajin = yjList.reduce((sum, val) => {
+            let total = sum + val.money;
+            return isNaN(total) ? 0 : total;
+          }, 0);
+          t.yajing = yajin;
+          t.money += yajin;
+          t.receivable = t.money;
+        });
+        this.model.orderFees = [...list, ...list2];
+      } else {
+        var list2 = this.model.orderFees.filter(
+          (t) => t.subjectType == 2 && (!t.add || t.add != 1)
+        );
+        var list1 = [];
+
+        var list = this.model.orderFees.filter(
+          (t) =>
+            (t.subjectType != 1 && t.subjectType != 2) || (t.add && t.add == 1)
+        );
+        list2.forEach((t) => {
+          if (t.yajing && t.yajing > 0) {
+            t.money -= t.yajing;
+            t.receivable = t.money;
+            var item = JSON.parse(JSON.stringify(t));
+            item.subjectType = 1;
+            item.money = t.yajing;
+            item.yajing = 0;
+            item.receivable = item.money;
+            list1.push(item);
+          }
+        });
+        list = [...list, ...list1];
+        this.model.orderFees = [...list, ...list2];
+      }
+    },
   },
   created() {
     var _info = JSON.parse(localStorage.getItem("storeInfo"));
@@ -1117,6 +1265,94 @@ export default {
     //  this.getcesRoomLayout();
   },
   methods: {
+    //批量调价
+    batchPrice(e) {
+      console.log(e);
+      this.editPriceData.forEach((ele) => {
+        ele.price = e;
+      });
+    },
+
+    //根据传入的数字将日期加上对应的天数
+    addDate(date, days) {
+      console.log(date, days);
+      let time = new Date(date);
+      time.setDate(time.getDate() + days);
+      let m = time.getMonth() + 1;
+      let d = time.getDate();
+      if (m < 10) {
+        m = "0" + m;
+      }
+      if (d < 10) {
+        d = "0" + d;
+      }
+      return time.getFullYear() + "-" + m + "-" + d;
+    },
+    /**
+     * 点击修改图标时
+     */
+    onCellExpand(idx) {
+      console.log(idx);
+      this.editPriceIndex = idx;
+      console.log(
+        "11111111111111111111111",
+        this.model.roomPrices[this.editPriceIndex]
+      );
+      this.editPriceModal = true;
+    },
+
+    /**
+     * 修改完成
+     */
+    editPriceOk() {
+      console.log(this.editPriceData);
+      this.model.roomPrices[this.editPriceIndex].editPriceTime = [];
+      this.model.roomPrices[this.editPriceIndex].editPrice = [];
+      this.editPriceData.forEach((ele) => {
+        this.model.roomPrices[this.editPriceIndex].editPriceTime.push(ele.day);
+        this.model.roomPrices[this.editPriceIndex].editPrice.push(ele.price);
+      });
+      console.log(this.model.roomPrices);
+      this.model.roomPrices[this.editPriceIndex].prefPrice =
+        this.editPriceData[0].price;
+      this.onCellChange(
+        "prefPrice",
+        this.editPriceIndex,
+        this.editPriceData[0].price
+      );
+      this.editPriceData.forEach((ele) => {
+        ele.prcie = 0;
+      });
+      console.log(this.editPriceData);
+      this.editPriceModal = false;
+
+      var sum = 0;
+      for (var i = 0; i < this.model.roomPrices.length; i++) {
+        var money = 0;
+        var item = this.model.roomPrices[i];
+        if (item.editPrice && item.editPrice.length > 0) {
+          item.editPrice.forEach((p) => {
+            money += p;
+          });
+          item.roomFee = money;
+          sum += money + item.deposit;
+        } else {
+          sum += item.roomFee + item.deposit;
+        }
+
+        var find = this.model.orderFees.find(
+          (t) =>
+            t.subjectType == 2 &&
+            t.roomId == this.model.roomPrices[this.editPriceIndex].roomId
+        );
+        if (find && find.roomId == item.roomId) {
+          find.money = money;
+          find.receivable = money;
+        }
+      }
+      this.amount = sum;
+    },
+
     presetNumChange(e, record) {
       console.log(e, record);
     },
@@ -1147,7 +1383,7 @@ export default {
     loadRooms() {
       // this.model.roomPrices = [];
       // this.model.roomIds = [];
-      this.amount = 0;
+      // this.amount = 0;
       getAction("/rooms/cesRooms/can-user-rooms", {
         startOf:
           this.model.orderInfo.arrivalTime2 +
@@ -1169,7 +1405,11 @@ export default {
             // });
             t.buildingRooms.forEach((b) => {
               b.floorRooms.forEach((f) => {
-                this.$set(f, "check", 0);
+                this.$set(
+                  f,
+                  "check",
+                  this.model.roomIds.some((r) => r.id == f.id) ? 1 : 0
+                );
               });
             });
           });
@@ -1231,12 +1471,23 @@ export default {
       this.loadRooms();
     },
     dayCountChange(e) {
-      this.model.orderInfo.dueOutTime2 = moment(
-        this.model.orderInfo.arrivalTime2
-      )
-        .add(e, "days")
-        .format("YYYY-MM-DD");
+      if (e) {
+        this.model.orderInfo.dueOutTime2 = moment(
+          this.model.orderInfo.arrivalTime2
+        )
+          .add(e, "days")
+          .format("YYYY-MM-DD");
+      }
       this.loadRooms();
+
+      // this.edit(this.modelDefault);
+      var i = 0;
+      this.model.roomPrices.forEach((t) => {
+        t.day = this.model.orderInfo.dayCount;
+        this.editPriceIndex = i;
+        this.editPriceOk();
+        i++;
+      });
     },
     disabledDate(current) {
       return current && current < moment().add(-1, "days").endOf("day");
@@ -1260,7 +1511,8 @@ export default {
           (1000 * 60 * 60 * 24)
       );
       this.model.orderInfo.dayCount = Math.abs(v);
-      this.loadRooms();
+      // this.loadRooms();
+      this.dayCountChange();
     },
     arrivalTimeChange2(e) {
       var v = parseInt(
@@ -1281,7 +1533,8 @@ export default {
           (1000 * 60 * 60 * 24)
       );
       this.model.orderInfo.dayCount = Math.abs(v);
-      this.loadRooms();
+      // this.loadRooms();
+      this.dayCountChange();
     },
     arrivalTimeSpanChange(m, time) {
       console.log(time);
@@ -1334,6 +1587,7 @@ export default {
     pulsFee() {
       var payType = this.payTypeList[0];
       this.model.orderFees.push({
+        add: 1,
         subjectType: 2,
         subjectTypeLabel: "预收房费",
         payType: payType ? payType.id : "",
@@ -1344,6 +1598,8 @@ export default {
       });
     },
     onCellChange(key, dataIndex, value) {
+      console.log(key, value);
+      console.log(this.model.roomPrices[dataIndex]);
       const dataSource = [...this.model.roomPrices];
       const target = dataSource[dataIndex];
       console.log("target", target);
@@ -1354,12 +1610,12 @@ export default {
         this.model.roomPrices = dataSource;
       }
 
-      var sum = 0;
-      this.model.roomPrices.forEach(function (item) {
-        sum += item.roomFee + item.deposit;
-      });
-      this.amount = sum;
-      console.log("this.model.roomPrices", this.model.roomPrices);
+      // var sum = 0;
+      // this.model.roomPrices.forEach(function (item) {
+      //   sum += item.roomFee + item.deposit;
+      // });
+      // this.amount = sum;
+      // console.log("this.model.roomPrices", this.model.roomPrices);
     },
     // handleChange(value, index, column) {
     //   const newData = [...this.data2];
@@ -1415,6 +1671,25 @@ export default {
       console.log("editTabs", e);
       var index = this.model.roomIds.findIndex((t) => t.id == e);
       this.model.roomIds.splice(index, 1);
+      this.model.roomPrices = this.model.roomPrices.filter(
+        (t) => t.roomId != e
+      );
+      this.model.orderFees = this.model.orderFees.filter((t) => t.roomId != e);
+      var sum = 0;
+      for (var i = 0; i < this.model.roomPrices.length; i++) {
+        var money = 0;
+        var item = this.model.roomPrices[i];
+        if (item.editPrice && item.editPrice.length > 0) {
+          item.editPrice.forEach((p) => {
+            money += p;
+          });
+          item.roomFee = money;
+          sum += money + item.deposit;
+        } else {
+          sum += item.roomFee + item.deposit;
+        }
+      }
+      this.amount = sum;
     },
     tabClick(e) {
       console.log("tabClick", e);
@@ -1423,8 +1698,16 @@ export default {
     },
     modalFormOk(e) {
       console.log("e", e);
+      this.model.roomPrices = this.model.roomPrices.filter((t) =>
+        e.some((r) => r.id == t.roomId)
+      );
+      this.model.orderFees = this.model.orderFees.filter((t) =>
+        e.some((r) => r.id == t.roomId)
+      );
       this.modelDefault = Object.assign({}, this.modelDefault, {
         roomIds: e,
+        roomPrices: this.model.roomPrices,
+        orderFees: this.model.orderFees,
       });
       this.edit(this.modelDefault);
     },
@@ -1479,52 +1762,69 @@ export default {
           var roomLayout = this.roomLayoutList.find(
             (t) => (t.id = item.layoutId)
           );
-          roomPrices.push({
-            roomNo: item.name,
-            roomId: item.id,
-            marketPrice: item.marketPrice,
-            prefPrice: item.marketPrice,
-            day: this.model.orderInfo.dayCount,
-            roomFee: item.marketPrice * this.model.orderInfo.dayCount,
-            deposit: this.compuleDeposit(item.marketPrice),
-            layoutName: roomLayout ? roomLayout.name : "",
-            layoutId: item.layoutId,
-          });
+          this.editPriceIndex = this.model.roomPrices.findIndex(
+            (t) => t.roomId == item.id
+          );
+          var find = this.model.roomPrices[this.editPriceIndex];
+          if (!find) {
+            var obj = {
+              roomNo: item.name,
+              roomId: item.id,
+              marketPrice: item.marketPrice,
+              prefPrice: item.marketPrice,
+              day: this.model.orderInfo.dayCount,
+              roomFee: item.marketPrice * this.model.orderInfo.dayCount,
+              deposit: this.compuleDeposit(item.marketPrice),
+              layoutName: roomLayout ? roomLayout.name : "",
+              layoutId: item.layoutId,
+            };
+            roomPrices.push(obj);
+          } else {
+            find.day = this.model.orderInfo.dayCount;
+            this.editPriceOk();
+          }
           var payType = this.payTypeList[0];
-
-          orderFees.push({
-            subjectType: 2,
-            subjectTypeLabel: "预收房费",
-            payType: payType ? payType.id : "",
-            payTypeLabel: payType ? payType.name : "",
-            receivable: item.marketPrice,
-            money: item.marketPrice,
-            roomId: item.id,
-          });
-          var deposit = this.compuleDeposit(item.marketPrice);
-          if (deposit > 0) {
+          if (!this.model.orderFees.some((t) => t.roomId == item.id)) {
             orderFees.push({
-              subjectType: 1,
-              subjectTypeLabel: "押金",
+              subjectType: 2,
+              subjectTypeLabel: "预收房费",
               payType: payType ? payType.id : "",
               payTypeLabel: payType ? payType.name : "",
-              receivable: deposit,
-              money: deposit,
+              receivable: item.marketPrice * this.model.orderInfo.dayCount,
+              money: item.marketPrice * this.model.orderInfo.dayCount,
               roomId: item.id,
             });
+            var deposit = this.compuleDeposit(item.marketPrice);
+            if (deposit > 0) {
+              orderFees.push({
+                subjectType: 1,
+                subjectTypeLabel: "押金",
+                payType: payType ? payType.id : "",
+                payTypeLabel: payType ? payType.name : "",
+                receivable: deposit,
+                money: deposit,
+                roomId: item.id,
+              });
+            }
+          } else {
+            // var find = this.model.orderFees.find(
+            //   (t) => t.subjectType == 2 && t.roomId == item.id
+            // );
+            // if (find) {
+            //   find.money = money;
+            //   find.receivable = money;
+            // }
           }
         });
-        this.model.roomPrices = roomPrices;
+        this.model.roomPrices = [...this.model.roomPrices, ...roomPrices];
         var sum = 0;
         this.model.roomPrices.forEach(function (item) {
           sum += item.roomFee + item.deposit;
         });
         this.amount = sum;
-
-        this.model.orderFees = orderFees;
-        console.log("this.model", this.model);
+        console.log("orderFees", orderFees);
+        this.model.orderFees = [...this.model.orderFees, ...orderFees];
       }
-      // console.log("this.amount2", JSON.stringify(this.amount));
     },
     submitForm() {
       const that = this;
@@ -1537,8 +1837,14 @@ export default {
             .format("YYYY-MM-DD");
           that.model.livingRoomDayPrices.push({
             livingType: 1,
-            dayTime: dayTime,
-            price: t.prefPrice,
+            dayTime: t.editPriceTime ? t.editPriceTime[b].toString() : dayTime,
+            // price:  t.editPrice? t.editPrice[b].toString() : t.prefPrice,
+            price:
+              t.editPrice && t.editPriceTime && t.editPriceTime[b] == dayTime
+                ? t.editPrice[b].toString()
+                : t.prefPrice,
+            // dayTime: dayTime,
+            // price: t.prefPrice,
             roomLayoutId: t.layoutId,
             roomId: t.roomId,
           });

+ 12 - 9
src/views/room/modules/checkIn/Payment.vue

@@ -299,15 +299,6 @@ export default {
         this.payTypeList = res.result.records;
       }
     });
-    getAction("/business/busMemberCard/list", {
-      id: "11111111",
-    }).then((res) => {
-      if (res.success) {
-        if (res.result.records && res.result.records.length > 0) {
-          this.memberCard = res.result.records[0];
-        }
-      }
-    });
   },
   methods: {
     getbusRoomPayType() {
@@ -385,6 +376,18 @@ export default {
       if (this.model.vipCustomerId) {
         this.getMemeberCouponList();
       }
+
+      if (this.model.vipCustomerId) {
+        getAction("/business/busMemberCard/list", {
+          id: this.model.vipCustomerId,
+        }).then((res) => {
+          if (res.success) {
+            if (res.result.records && res.result.records.length > 0) {
+              this.memberCard = res.result.records[0];
+            }
+          }
+        });
+      }
       this.visible = true;
     },
     submitForm() {

+ 200 - 0
src/views/settings/components/storeAuthInformation.vue

@@ -0,0 +1,200 @@
+<template>
+    <a-form ref="form" :model="model" :form="form"  labelAlign="left"  :label-col="{ span: 6 }" :wrapper-col="{ span: 18 }">
+        <a-form-item v-show="false"><a-input v-decorator="['id']" /></a-form-item>
+        <a-row :gutter="[16,16]">
+            <a-col :span="8">
+                <a-form-item label="企业法人">
+                    <a-input type="text" placeholder="请填写企业法人"
+                             v-decorator="['legalPerson', { rules: [{ required: true, message: '请填写企业法人!' }] }]"></a-input>
+                </a-form-item>
+
+                <a-form-item label="经营场所">
+                    <a-input type="text" placeholder="请填写经营场所"
+                             v-decorator="['registeredAddress', { rules: [{ required: true, message: '请填写经营场所!' }] }]"></a-input>
+                </a-form-item>
+
+                <a-form-item label="有效期">
+                    <a-date-picker type="text" placeholder="请选择有效期"
+                                   v-decorator="['businessTerm', { rules: [{ required: false, message: '请选择有效期!' }] }]"></a-date-picker>
+                </a-form-item>
+                <a-form-item label="联系人姓名">
+                    <a-input type="text" placeholder="请填写联系人姓名"
+                             v-decorator="['sfzName', { rules: [{ required: true, message: '请填写联系人姓名!' }] }]"></a-input>
+                </a-form-item>
+
+                <a-form-item label="身份证号">
+                    <a-input type="text" placeholder="请填写身份证号"
+                             v-decorator="['idCard', { rules: [{ required: true, message: '请填写身份证号!' }] }]"></a-input>
+                </a-form-item>
+            </a-col>
+            <a-col :span="2">
+            </a-col>
+            <a-col :span="14">
+                <a-form-item label="上传实名证照"  :label-col="{ span: 3 }" :wrapper-col="{ span: 20 }">
+                    <a-row>
+                        <a-col span="20" push="16" >
+                            <a-button type="link" @click="warning">手持证件要求</a-button>
+                        </a-col>
+                    </a-row>
+                    <a-row >
+                        <a-col span="5" class="upload">
+                            <j-image-upload class="avatar-uploader" text="上传"
+                                            v-decorator="['ewmLogo', { rules: [{ required: true, message: '请上传门头照片!' }] }]"></j-image-upload>
+                            <span class="margin-top-18"><span style="color: red">*</span>门头照片</span>
+                        </a-col>
+                        <a-col span="5" class="upload">
+                            <j-image-upload class="avatar-uploader" text="上传"
+                                            v-decorator="['imgs', { rules: [{ required: true, message: '请上传前台照片!' }] }]"></j-image-upload>
+                            <span class="margin-top-18"><span style="color: red">*</span>前台照片</span>
+                        </a-col>
+                        <a-col span="5" class="upload">
+                            <j-image-upload class="avatar-uploader" text="上传"
+                                                        v-decorator="['sfzImg1', { rules: [{ required: true, message: '请上传法人身份证(正面)!' }] }]"></j-image-upload>
+                            <span class="margin-top-18"><span style="color: red">*</span>法人身份证(正面)</span>
+                        </a-col>
+                        <a-col span="5" class="upload">
+                            <j-image-upload class="avatar-uploader" text="上传"
+                                                         v-decorator="['sfzImg2', { rules: [{ required: true, message: '请上传法人身份证(反面)!' }] }]"></j-image-upload>
+                            <span class="margin-top-18"><span style="color: red">*</span>法人身份证(反面)</span>
+                        </a-col>
+                        <a-col span="5" class="upload">
+                            <j-image-upload class="avatar-uploader" text="上传"
+                                                        v-decorator="['sfzImg3', { rules: [{ required: true, message: '请上传法人手持身份证照片!' }] }]"></j-image-upload>
+                            <span class="margin-top-18"><span style="color: red">*</span>法人手持身份证照片</span>
+                        </a-col>
+                        <a-col span="5" class="upload">
+                            <j-image-upload class="avatar-uploader" text="上传"
+                                            v-decorator="['yyImg', { rules: [{ required: true, message: '请上传营业执照!' }] }]"></j-image-upload>
+                            <span class="margin-top-18"><span style="color: red">*</span>营业执照</span>
+                        </a-col>
+                        <a-col span="5" class="upload">
+                            <j-image-upload class="avatar-uploader" text="上传"
+                                            v-decorator="['tzhyImg']"></j-image-upload>
+                            <span class="margin-top-18">特种行业许可证</span>
+                        </a-col>
+                    </a-row>
+
+                </a-form-item>
+            </a-col>
+        </a-row>
+        <a-divider />
+        <a-row>
+            <a-col :span="24" :style="{ textAlign: 'right' }">
+                <a-button type="primary" @click="submit">确定</a-button>
+            </a-col>
+        </a-row>
+
+    </a-form>
+</template>
+
+<script>
+    import { Modal } from 'ant-design-vue';
+    import { editAuthInfo} from "../../../api/hotel";
+
+    export default {
+        created() {
+            // alert("这里获取当前缓存门店信息,照片信息");
+            var info = JSON.parse(localStorage.getItem("storeInfo"));
+            console.log(info);
+            setTimeout(() => {
+                this.form.setFieldsValue(
+                    {
+                        id: info.id,
+                        yyImg: info.yyImg,
+                        tzhyImg: info.tzhyImg,
+                        legalPerson: info.legalPerson,
+                        registeredAddress: info.registeredAddress,
+                        businessTerm: info.businessTerm,
+                        sfzImg1: info.sfzImg1,
+                        sfzImg2: info.sfzImg2,
+                        sfzImg3: info.sfzImg3,
+                        sfzName: info.sfzName,
+                        idCard: info.idCard,
+                        ewmLogo:info.ewmLogo,
+                        imgs:info.imgs
+                    }
+                )
+            },100)
+            // if (info.ewmLogo){
+            //     this.model.ewm = info.ewmLogo
+            // }
+            // if (info.imgs){
+            //     this.model.imgList = info.imgs;
+            // }
+        },
+        data() {
+            return {
+                visible: false,
+                formLayout: 'horizontal',
+                form: this.$form.createForm(this, { certImg: null }),
+                model: {
+                    certImg: null,
+                    id: 0,
+                    ewm: null,
+                    imgList: null
+                }
+            }
+        },
+        computed: {
+            formItemLayout() {
+                const { formLayout } = this;
+                return formLayout === 'horizontal'
+                    ? {
+                        labelCol: { span: 4 },
+                        wrapperCol: { span: 14 },
+                    }
+                    : {};
+            },
+        },
+        methods: {
+            warning() {
+                this.$warning({
+                    title: '手持身份证拍照要求',
+                    // JSX support
+                    content: (
+                        <ul>
+                        <li>免冠,建议未化妆,五官可见;</li>
+                <li>身份证全部信息清晰无遮挡,否则将无法通过认证;</li>
+                <li>完整露出手臂;</li>
+                <li>以酒店门头招牌为背景图片;</li>
+                <li>请勿进行任何软件处理;</li>
+                <li>单张图片不超过5M,尺寸要求500(长)X412(宽)以上,支持jpg、png、gif;</li>
+                </ul>
+            ),
+            });
+            },
+            submit() {
+                // console.log(this.form.values.certImg)
+                this.form.validateFields((err, values) => {
+                    console.log(values)
+                    if (!err) {
+                        // values['ewmLogo'] = this.model.ewm
+                        // values['imgs'] = this.model.imgList;
+                        editAuthInfo(values).then(res=>{
+                            if (res.code == 200){
+                                this.$message.success('编辑成功')
+                                localStorage.setItem("storeInfo", JSON.stringify(res.result))
+                            }else{
+                                this.$message.error(res.message)
+                            }
+
+                        })
+                    }
+                });
+            }
+        },
+    }
+</script>
+
+<style scoped>
+.upload{
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+    justify-items: center;
+    margin-top: 10px;
+}
+    .margin-top-18{
+        margin-top: -18px;
+    }
+</style>

+ 420 - 0
src/views/settings/components/storeInformation.vue

@@ -0,0 +1,420 @@
+<template>
+    <a-form ref="form" :model="model" :form="form" :rules="validatorRules"  labelAlign="left"  :label-col="{ span: 3 }" :wrapper-col="{ span: 21 }">
+        <a-form-item v-show="false"><a-input v-decorator="['id']" /></a-form-item>
+        <a-row :gutter="[16,16]">
+            <a-col :span="11">
+                <a-form-item label="门店名称">
+                    <a-input type="text" placeholder="请输入门店名称"
+                             v-decorator="['name', { rules: [{ required: true, message: '请输入门店名称!' }] }]"></a-input>
+                </a-form-item>
+<!--                <a-form-item label="所在地区">-->
+<!--                </a-form-item>-->
+                <a-form-item label="详细地址">
+                    <a-row>
+                        <a-col :span="20">
+                            <a-input type="text" placeholder="请输入详细地址"
+                                     v-decorator="['address', { rules: [{ required: true, message: '请输入详细地址!' }] }]"></a-input>
+                        </a-col>
+                        <a-col :span="3" class="padding_left_10">
+                            <a-button >地图选点</a-button>
+                        </a-col>
+                    </a-row>
+                    <a-row>
+                    <!-- 地图-->
+                    </a-row>
+                </a-form-item>
+                <a-form-item label="门店管理员">
+                    <a-input type="text" placeholder="请输入联系人"
+                             v-decorator="['linkName', { rules: [{ required: true, message: '请输入联系人!' }] }]"></a-input>
+                </a-form-item>
+
+                <a-form-item label="联系电话">
+                    <a-input type="text" placeholder="请输入联系电话"
+                             v-decorator="['linkTel', { rules: [{ required: true, message: '请输入联系电话!' }] }]"></a-input>
+                </a-form-item>
+
+                <a-form-item label="前台电话">
+                    <a-input type="text" placeholder="请输入联系电话"
+                             v-decorator="['tel', { rules: [{ required: true, message: '请输入联系电话!' }] }]"></a-input>
+                </a-form-item>
+
+                <a-form-item label="酒店设施">
+                    <a-row>
+                        <a-col span="3">
+                            <a-checkbox @change="onChange" value="1">
+                                温泉
+                            </a-checkbox>
+                        </a-col>
+                        <a-col span="3">
+                            <a-checkbox @change="onChange">
+                                租车
+                            </a-checkbox>
+                        </a-col>
+                        <a-col span="3">
+                            <a-checkbox @change="onChange">
+                                有餐饮
+                            </a-checkbox>
+                        </a-col>
+                        <a-col span="3">
+                            <a-checkbox @change="onChange">
+                                游泳池
+                            </a-checkbox>
+                        </a-col>
+                        <a-col span="3">
+                            <a-checkbox @change="onChange">
+                                叫早
+                            </a-checkbox>
+                        </a-col>
+                        <a-col span="3">
+                            <a-checkbox @change="onChange">
+                                有早餐
+                            </a-checkbox>
+                        </a-col>
+                        <a-col span="3">
+                            <a-checkbox @change="onChange">
+                                WIFI
+                            </a-checkbox>
+                        </a-col>
+                        <a-col span="4">
+                            <a-checkbox @change="onChange">
+                                电热水壶
+                            </a-checkbox>
+                        </a-col>
+                        <a-col span="3">
+                            <a-checkbox @change="onChange">
+                                电梯
+                            </a-checkbox>
+                        </a-col>
+                        <a-col span="3">
+                            <a-checkbox @change="onChange">
+                                吹风机
+                            </a-checkbox>
+                        </a-col>
+                        <a-col span="4">
+                            <a-checkbox @change="onChange">
+                                免费停车
+                            </a-checkbox>
+                        </a-col>
+                        <a-col span="3">
+                            <a-checkbox @change="onChange">
+                                会议室
+                            </a-checkbox>
+                        </a-col>
+                        <a-col span="4">
+                            <a-checkbox @change="onChange">
+                                残疾人设施
+                            </a-checkbox>
+                        </a-col>
+                        <a-col span="4">
+                            <a-checkbox @change="onChange">
+                                邮政服务
+                            </a-checkbox>
+                        </a-col>
+                        <a-col span="4">
+                            <a-checkbox @change="onChange">
+                                婚宴服务
+                            </a-checkbox>
+                        </a-col>
+                        <a-col span="4">
+                            <a-checkbox @change="onChange">
+                                全天前台
+                            </a-checkbox>
+                        </a-col>
+                        <a-col span="4">
+                            <a-checkbox @change="onChange">
+                                接待外宾
+                            </a-checkbox>
+                        </a-col>
+                        <a-col span="3">
+                            <a-checkbox @change="onChange">
+                                棋牌室
+                            </a-checkbox>
+                        </a-col>
+                        <a-col span="4">
+                            <a-checkbox @change="onChange">
+                                收费停车
+                            </a-checkbox>
+                        </a-col>
+                        <a-col span="4">
+                            <a-checkbox @change="onChange">
+                                送餐服务
+                            </a-checkbox>
+                        </a-col>
+                        <a-col span="4">
+                            <a-checkbox @change="onChange">
+                                洗衣服务
+                            </a-checkbox>
+                        </a-col>
+                        <a-col span="4">
+                            <a-checkbox @change="onChange">
+                                商务中心
+                            </a-checkbox>
+                        </a-col>
+                        <a-col span="4">
+                            <a-checkbox @change="onChange">
+                                叫车服务
+                            </a-checkbox>
+                        </a-col>
+                        <a-col span="4">
+                            <a-checkbox @change="onChange">
+                                房间WIFI
+                            </a-checkbox>
+                        </a-col>
+                    </a-row>
+                </a-form-item>
+            </a-col>
+            <a-col :span="2">
+            </a-col>
+            <a-col :span="11">
+                <a-form-item label="开业时间">
+                    <a-date-picker type="text" placeholder="请选择开业时间"
+                                   v-decorator="['openTime', { rules: [{ required: true, message: '请选择开业时间!' }] }]"></a-date-picker>
+                </a-form-item>
+
+                <a-form-item label="装修时间">
+                    <a-date-picker type="text" placeholder="请选择装修时间"
+                                   v-decorator="['renovationTime', { rules: [{ required: true, message: '请选择装修时间!' }] }]"></a-date-picker>
+                </a-form-item>
+                <a-form-item label="酒店星级" :wrapper-col="{ span: 5 }">
+                    <j-dict-select-tag v-decorator="['star', {rules: [{ required: true, message: '请选择酒店星级!' }]}]"
+                                       placeholder="请选择酒店星级" dictCode="hotel_star"/>
+                </a-form-item>
+                <a-form-item label="集团品牌">
+                    <a-input type="text" placeholder="请输入酒店品牌"
+                             v-decorator="['sellerName']"></a-input>
+                </a-form-item>
+                <a-form-item label="酒店标签">
+                    <template v-for="(tag, index) in tags">
+                        <a-tooltip v-if="tag.length > 20" :key="tag" :title="tag">
+                            <a-tag :key="tag" :closable="index !== -1" @close="() => handleClose(tag)">
+                                {{ `${tag.slice(0, 20)}...` }}
+                            </a-tag>
+                        </a-tooltip>
+                        <a-tag v-else :key="tag" :closable="index !== -1" @close="() => handleClose(tag)">
+                            {{ tag }}
+                        </a-tag>
+                    </template>
+                    <a-input
+                            v-if="inputVisible"
+                            ref="input"
+                            type="text"
+                            size="small"
+                            :style="{ width: '78px' }"
+                            :value="inputValue"
+                            @change="handleInputChange"
+                            @blur="handleInputConfirm"
+                            @keyup.enter="handleInputConfirm"
+                    />
+                    <a-tag v-else style="background: #fff; borderStyle: dashed;" @click="showInput">
+                        <a-icon type="plus" />添加
+                    </a-tag>
+                </a-form-item>
+                <a-form-item label="酒店介绍" >
+<!--                    <j-editor v-model="model.introduction"/>-->
+                    <a-textarea v-model="model.introduction" placeholder="请输入酒店介绍" :rows="5" />
+                </a-form-item>
+                <a-form-item label="预定规则">
+<!--                    <j-editor style="height: 200px;" v-model="model.reserveRemind"/>-->
+                    <a-textarea v-model="model.reserveRemind" placeholder="请输入预定规则" :rows="5" />
+                </a-form-item>
+            </a-col>
+        </a-row>
+        <a-divider />
+        <a-row>
+            <a-col :span="24" :style="{ textAlign: 'right' }">
+                <a-button type="primary" @click="submit">确定</a-button>
+            </a-col>
+        </a-row>
+
+    </a-form>
+</template>
+
+<script>
+    import {getHotelInfo, editMainInfo, hotelList} from "../../../api/hotel";
+    export default {
+        created() {
+            // alert("这里获取当前缓存门店信息");
+            var _info = JSON.parse(localStorage.getItem("storeInfo"));
+            setTimeout(() => {
+                getHotelInfo({
+                    id: _info.id
+                }).then(res => {
+                    console.log(res)
+                    if (res.code == 200 && res.result ) {
+                        var info = res.result
+
+                        this.form.setFieldsValue(
+                            {
+                                id: info.id,
+                                name: info.name,
+                                star: info.star,
+                                address: info.address,
+                                latlng: info.lat+','+info.lng,
+                                linkName: info.linkName,
+                                linkTel: info.linkTel,
+                                tel: info.tel,
+                                openTime: info.openTime,
+                                renovationTime: info.renovationTime,
+                                superiorSellerId: info.superiorSellerId,
+                                rule: info.rule,
+                                topic: info.topic,
+                                unionpay: info.unionpay,
+                                wxOpen: info.wxOpen,
+                                ddOpen: info.ddOpen,
+                                yeOpen: info.yeOpen,
+                                policy:info.policy,
+                                introduction:info.introduction,
+                                reserveRemind:info.reserveRemind,
+                                traffic:info.traffic,
+                            }
+                        )
+
+                        this.model = {
+                            policy:info.policy,
+                            introduction:info.introduction,
+                            reserveRemind:info.reserveRemind,
+                            traffic:info.traffic
+                        };
+
+                        this.tags = info.tagList.split(',')
+                    }
+                })
+            }, 100)
+        },
+        data() {
+            return {
+                visible: false,
+                formLayout: 'horizontal',
+                validatorRules: {
+                    name: [{
+                        required: true, message: '请输入酒店名称!'
+                    }],
+                    linkName: [{
+                        required: true, message: '请输入联系人!'
+                    }],
+                    linkTel: [{
+                        required: true, message: '请输入联系电话!'
+                    }, {validator: this.validatePhone}],//, {validator: this.validatePhone}
+                    tel: [{
+                        required: true, message: '请输入酒店电话!'
+                    }],
+                    address: [{
+                        required: true, message: '请输入酒店地址!'
+                    }],
+                    star: [{
+                        required: true, message: '请输入星级!'
+                    }],
+                    lng: [{
+                        required: true, message: '请输入经度!'
+                    }],
+                    lat: [{
+                        required: true, message: '请输入纬度!'
+                    }],
+                    roomCount: [{
+                        required: true, message: '请输入客房总数!'
+                    }],
+                    // openTime: [{
+                    //     required: true, message: '请输入开业时间!'
+                    // }],
+                    // renovationTime: [{
+                    //     required: true, message: '请输入装修时间!'
+                    // }],
+                    checkStatus: [{
+                        required: true, message: '请选择审核状态', trigger: 'change'
+                    }]
+                },
+                form: this.$form.createForm(this),
+                model: {
+                    policy:'',
+                    introduction:'',
+                    reserveRemind:'',
+                    traffic:'',
+                },
+                tags: [],
+                inputVisible: false,
+                inputValue: '',
+            }
+        },
+        computed: {
+            formItemLayout() {
+                const { formLayout } = this;
+                return formLayout === 'horizontal'
+                    ? {
+                        labelCol: { span: 4 },
+                        wrapperCol: { span: 14 },
+                    }
+                    : {};
+            },
+        },
+        methods: {
+            submit() {
+                // console.log(this.form.values.certImg)
+                this.form.validateFields((err, values) => {
+                    console.log(values.lnglat)
+                    if (!err) {
+                        // values['lat'] = values.latlng.split(',')[0]
+                        // values['lng'] = values.latlng.split(',')[1]
+                        values['tagList'] = this.tags.join(",");
+                        if(this.model.policy) values['policy'] = this.model.policy
+                        if(this.model.introduction) values['introduction'] = this.model.introduction
+                        if(this.model.reserveRemind) values['reserveRemind'] = this.model.reserveRemind
+                        if(this.model.traffic) values['traffic'] = this.model.traffic
+                        editMainInfo(values).then(res=>{
+                            // this.$message.success('编辑成功')
+                            // localStorage.setItem("storeInfo", JSON.stringify(res.result))
+                            if (res.code == 200){
+                                this.$message.success('编辑成功')
+                                localStorage.setItem("storeInfo", JSON.stringify(res.result))
+                            }else{
+                                this.$message.error(res.message)
+                            }
+                        })
+                    }
+                });
+            },
+            addHotelLable(){
+                console.log('添加酒店标签')
+            },
+            onChange(e) {
+                console.log(`checked = ${e.target.checked}`);
+            },
+            handleClose(removedTag) {
+                const tags = this.tags.filter(tag => tag !== removedTag);
+                console.log(tags);
+                this.tags = tags;
+            },
+
+            showInput() {
+                this.inputVisible = true;
+                this.$nextTick(function() {
+                    this.$refs.input.focus();
+                });
+            },
+
+            handleInputChange(e) {
+                this.inputValue = e.target.value;
+            },
+
+            handleInputConfirm() {
+                const inputValue = this.inputValue;
+                let tags = this.tags;
+                if (inputValue && tags.indexOf(inputValue) === -1) {
+                    tags = [...tags, inputValue];
+                }
+                console.log(tags);
+                Object.assign(this, {
+                    tags,
+                    inputVisible: false,
+                    inputValue: '',
+                });
+            }
+        },
+    }
+</script>
+
+<style scoped>
+    .padding_left_10{
+        padding-left: 10px;
+    }
+
+</style>

+ 30 - 12
src/views/settings/hotelInfo.vue

@@ -1,26 +1,40 @@
 <template>
     <a-card style="width: 100%; height:100%;">
         <a-tabs default-active-key="1">
+<!--            <a-tab-pane key="1">-->
+<!--                <span slot="tab">-->
+<!--                    <a-icon type="picture" />-->
+<!--                    门店照片-->
+<!--                </span>-->
+<!--                <store-images></store-images>-->
+<!--            </a-tab-pane>-->
+<!--            <a-tab-pane key="2">-->
+<!--                <span slot="tab">-->
+<!--                    <a-icon type="audit" />-->
+<!--                    实名信息-->
+<!--                </span>-->
+<!--                <store-auth-info></store-auth-info>-->
+<!--            </a-tab-pane>-->
+<!--            <a-tab-pane key="3">-->
+<!--                <span slot="tab">-->
+<!--                    <a-icon type="shop" />-->
+<!--                    门店信息-->
+<!--                </span>-->
+<!--                <store-infos></store-infos>-->
+<!--            </a-tab-pane>-->
             <a-tab-pane key="1">
                 <span slot="tab">
                     <a-icon type="picture" />
-                    门店照片
+                    门店信息
                 </span>
-                <store-images></store-images>
+                <store-information></store-information>
             </a-tab-pane>
             <a-tab-pane key="2">
                 <span slot="tab">
-                    <a-icon type="audit" />
-                    实名信息
-                </span>
-                <store-auth-info></store-auth-info>
-            </a-tab-pane>
-            <a-tab-pane key="3">
-                <span slot="tab">
-                    <a-icon type="shop" />
-                    门店信息
+                    <a-icon type="picture" />
+                    实名登记
                 </span>
-                <store-infos></store-infos>
+                <store-auth-information></store-auth-information>
             </a-tab-pane>
         </a-tabs>
     </a-card>
@@ -30,8 +44,12 @@
 import storeImages from './components/storeImages.vue';
 import storeAuthInfo from './components/storeAuthInfo.vue';
 import storeInfos from './components/storeInfos.vue';
+import StoreInformation from './components/storeInformation'
+import StoreAuthInformation from './components/storeAuthInformation'
 export default {
     components:{
+        StoreAuthInformation,
+        StoreInformation,
         storeImages,
         storeAuthInfo,
         storeInfos