阿拉蕾 1 year ago
parent
commit
09e6fd2a53
2 changed files with 166 additions and 4 deletions
  1. 2 2
      src/views/store/components/addUserAddress.vue
  2. 164 2
      src/views/store/storeOrder/list.vue

+ 2 - 2
src/views/store/components/addUserAddress.vue

@@ -53,7 +53,7 @@
 
 <script>
 import { listUserAddress, getUserAddress, delUserAddress, addUserAddress, updateUserAddress, exportUserAddress } from "@/api/users/userAddress";
-import {getAllList} from "@/api/store/city";
+import {getCitys} from "@/api/store/city";
 export default {
   name: "add",
   data() {
@@ -126,7 +126,7 @@ export default {
       this.form.province=item.name;
     },
     getCityList(){
-        getAllList().then(res => {
+      getCitys().then(res => {
           this.loading = false;
           this.citys=res.data;
           this.province=res.data.filter(item => item.level===0 )

+ 164 - 2
src/views/store/storeOrder/list.vue

@@ -160,6 +160,15 @@
           </el-form-item>
         </el-form>
         <el-row :gutter="10" class="mb8">
+          <el-col :span="1.5">
+            <el-button
+              type="primary"
+              icon="el-icon-plus"
+              size="mini"
+              @click="handleAdd"
+              v-hasPermi="['store:storeOrder:add']"
+            >创建订单</el-button>
+          </el-col>
           <el-col :span="1.5">
             <el-button
                 type="warning"
@@ -265,12 +274,12 @@
                 @click="handleDetails(scope.row)"
                 v-hasPermi="['store:storeOrder:query']"
               >查看</el-button>
-              <!-- <el-button
+               <el-button
                 size="mini"
                 type="text"
                 @click="handleGenPayUrl(scope.row)"
                 v-hasPermi="['store:storeOrder:genPayUrl']"
-              >生成付款链接</el-button> -->
+              >生成付款链接</el-button> 
             </template>
           </el-table-column>
         </el-table>
@@ -288,6 +297,145 @@
       >
       <product-order  ref="order" />
     </el-drawer>
+    <el-dialog :title="title" v-if="open" :visible.sync="open" width="1000px" append-to-body :close-on-click-modal ="false">
+        <el-form ref="form" :model="form" :rules="rules" label-width="120px">
+           <el-form-item label="会员信息" prop="userId">
+                <el-row  >
+                  <el-col >
+                      <el-input placeholder="请输入会员手机号" style="width:240px;cursor:pointer" v-model="phone">
+                      </el-input>
+                      <el-button plain style="margin-left:10px;"    @click="searchUser()">查询</el-button>
+                      <el-button plain style="margin-left:10px;" icon="el-icon-plus"  type="primary" @click="handleAddUser()">添加会员</el-button>
+                  </el-col>
+                </el-row>
+                <el-table border style="margin-top:5px;"  v-loading="userloading" :data="users">
+                  <el-table-column label="ID" align="center" prop="userId" />
+                  <el-table-column label="会员头像" align="center" width="80">
+                    <template slot-scope="scope">
+                      <el-popover
+                        placement="right"
+                        title=""
+                        trigger="hover"
+                      >
+                        <img slot="reference" :src="scope.row.avatar" width="50" >
+                        <img :src="scope.row.avatar" style="max-width: 120px;">
+                      </el-popover>
+                    </template>
+                  </el-table-column>
+                  <el-table-column label="昵称" align="center" prop="nickname" />
+                  <el-table-column label="手机号" align="center" prop="phone" />
+                  <el-table-column label="状态" align="center" prop="status" >
+                      <template slot-scope="scope">
+                          <el-tag prop="status" v-for="(item, index) in userStatusOptions"    v-if="scope.row.status==item.dictValue">{{item.dictLabel}}</el-tag>
+                      </template>
+                  </el-table-column>
+                </el-table>
+            </el-form-item>
+            <el-form-item label="收货信息" prop="addressId">
+              <el-row  >
+                <el-col >
+                      <el-button plain  type="primary" icon="el-icon-plus"  @click="handleAddUserAddress()">添加收货地址</el-button>
+                </el-col>
+              </el-row>
+              <el-radio-group v-model="form.addressId" style="width:100%">
+              <el-table border  style="margin-top:5px;"  v-loading="addressloading" :data="address">
+                <el-table-column label="ID" align="center"  >
+                    <template slot-scope="scope">
+                       <el-radio :label="scope.row.id"></el-radio>
+                    </template>
+                </el-table-column>
+                <el-table-column label="收货人姓名" align="center" prop="realName" />
+                <el-table-column label="收货人电话" align="center" prop="phone" />
+                <el-table-column label="地址" align="center" prop="detail" >
+                    <template slot-scope="scope">
+                       {{scope.row.province}} {{scope.row.city}} {{scope.row.district}} {{scope.row.detail}}
+                    </template>
+                </el-table-column>
+              </el-table>
+              </el-radio-group>
+            </el-form-item>
+            <el-form-item label="商品列表" >
+              <el-row  >
+                <el-col >
+                      <el-button plain  type="primary" icon="el-icon-plus" @click="handleAddProduct">添加商品</el-button>
+                </el-col>
+              </el-row>
+              <el-table border :key = "tablekey" width="100%" style="margin-top:5px;"  :data="products">
+                <el-table-column label="商品编号" align="center" prop="barCode" />
+                <el-table-column label="商品图片" align="center" width="100">
+                  <template slot-scope="scope">
+                    <el-popover
+                      placement="right"
+                      title=""
+                      trigger="hover"
+                    >
+                      <img slot="reference" :src="scope.row.image" width="50">
+                      <img :src="scope.row.image" style="max-width: 50px;">
+                    </el-popover>
+                  </template>
+                </el-table-column>
+                <el-table-column label="商品名称" show-overflow-tooltip align="center" prop="productName" />
+                <el-table-column label="商品规格" align="center" prop="sku" />
+                <el-table-column label="库存" align="center" prop="stock" />
+                <el-table-column label="单价" align="center" prop="price" />
+                <el-table-column label="数量" align="center"  prop="count" width="200px" :key="tablekey">
+                   <template slot-scope="scope">
+                    <div>
+                        <el-input-number v-model="scope.row.count"  @change="handleProductCountChange(scope.row)"  size="mini" :min="1" :max="scope.row.stock"  ></el-input-number>
+                    </div>
+                  </template>
+                </el-table-column>
+                <el-table-column label="小计" align="center" prop="money"   />
+                <el-table-column label="操作" align="center" width="100px" >
+                  <template slot-scope="scope">
+                    <el-button
+                      size="mini"
+                      type="text"
+                      icon="el-icon-delete"
+                      @click="handleDelete(scope.row)"
+                    >删除</el-button>
+                  </template>
+                </el-table-column>
+              </el-table>
+              <el-row>
+                <el-col>
+                      <span>商品合计:{{products.length}}</span><span style="margin-left:10px;">商品总价:{{totalMoney.toFixed(2)}}</span>
+                </el-col>
+              </el-row>
+            </el-form-item>
+            <el-form-item label="支付方式" prop="payType">
+              <el-select   v-model="form.payType" placeholder="请选择支付方式" clearable size="small" >
+              <el-option
+                      v-for="item in payTypeOptions"
+                      :key="item.dictValue"
+                      :label="item.dictLabel"
+                      :value="item.dictValue"
+                    />
+              </el-select>
+            </el-form-item>
+            <el-form-item label="订单备注" prop="mark">
+              <el-input  type="textarea" rows="2" v-model="form.mark" placeholder="" />
+            </el-form-item>
+        </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+    <el-dialog :title="product.title" v-if="product.open"  :visible.sync="product.open" width="1000px" append-to-body>
+        <product-select  @selectProduct="selectProduct" />
+    </el-dialog>
+    <el-dialog :title="user.title" v-if="user.open"  :visible.sync="user.open" width="500px" append-to-body>
+        <add-user @addUser="addUser" />
+    </el-dialog>
+    <el-dialog :title="userAddress.title" v-if="userAddress.open"  :visible.sync="userAddress.open" width="800px" append-to-body>
+        <add-user-address ref="addUserAddress"   @addUserAddress="addUserAddress" />
+    </el-dialog>
+    <el-dialog :title="payQr.title" v-if="payQr.open"  :visible.sync="payQr.open" width="240px" append-to-body>
+        <div style="padding-bottom:15px;" >
+            <div  class="qrcode" ref="qrCodeUrl"></div>
+        </div>
+    </el-dialog>
      
   </div>
 </template>
@@ -808,4 +956,18 @@ export default {
     }
   }
 }
+.el-message-box__message p{
+  max-height: 400px;
+  overflow:scroll;
+}
+.import-msg{
+  height: 500px;
+  overflow: auto;
+}
+</style>
+<style>
+  .el-descriptions-item__label.is-bordered-label{
+    font-weight: normal;
+  }
+
 </style>