lhch2015 vor 3 Wochen
Ursprung
Commit
2f6ffea66c

+ 4 - 4
admin-ui/.env.development

@@ -7,10 +7,10 @@ ENV = 'development'
 
 # VUE_APP_BASE_API_HOST = 'http://127.0.0.1:9801'
 # VUE_APP_BASE_API = 'http://127.0.0.1:9801'
-VUE_APP_BASE_API_HOST = 'http://139.224.65.227:8091/prod-api'
-VUE_APP_BASE_API = 'http://139.224.65.227:8091/prod-api'
-# VUE_APP_BASE_API_HOST = 'http://192.168.5.247:9801/'
-# VUE_APP_BASE_API = 'http://192.168.5.247:9801/'
+# VUE_APP_BASE_API_HOST = 'http://139.224.65.227:8091/prod-api'
+# VUE_APP_BASE_API = 'http://139.224.65.227:8091/prod-api'
+VUE_APP_BASE_API_HOST = 'http://192.168.5.176:9801/'
+VUE_APP_BASE_API = 'http://192.168.5.176:9801/'
 
 系统管理费率
 # 路由懒加载

+ 4 - 1
admin-ui/src/views/app/user/index.vue

@@ -124,7 +124,7 @@
                                 <el-tag type="warning">Level {{ userInfo.level }}</el-tag>
                             </div>
                         </div> -->
-                        <el-descriptions :column="4" border>
+                        <el-descriptions :column="5" border>
                             <el-descriptions-item label="姓名" contentStyle="width: 110px">
                                 <span class="primary-text">{{ userInfo.realName }}</span>
                             </el-descriptions-item>
@@ -140,6 +140,9 @@
                             <el-descriptions-item label="生日" contentStyle="width: 110px">
                                 {{ parseTime(userInfo.birthday, '{y}-{m}-{d}') }}
                             </el-descriptions-item>
+                            <el-descriptions-item label="备注" :span="2">
+                                {{ userInfo.remark || '暂无备注' }}
+                            </el-descriptions-item>
                             <el-descriptions-item label="地址" :span="3">
                                 {{ getAddress(userInfo) ? getAddress(userInfo) : '暂无地址' }}
                             </el-descriptions-item>

+ 3 - 0
admin-ui/src/views/order/cloth/collectCloth.vue

@@ -48,6 +48,9 @@
                     <el-descriptions-item label="地址">
                         {{ appUserInfo.defaultAddress ? appUserInfo.defaultAddress.address + ' ' + appUserInfo.defaultAddress.addressDetail : '' }}
                     </el-descriptions-item>
+                    <el-descriptions-item label="备注">
+                        {{ appUserInfo.remark }}
+                    </el-descriptions-item>
                     <el-descriptions-item label="预约订单">
                         <div class="appointment-info">
                             <template v-if="orderForm.orderNo">

+ 2 - 2
admin-ui/src/views/order/cloth/orderList.vue

@@ -105,12 +105,12 @@
         </el-table-column>
         <el-table-column label="订单金额" align="center" width="100">
           <template slot-scope="scope">
-            <span class="value">¥{{ scope.row.orderAmount }}</span>
+            <span class="value">{{ scope.row.orderAmount ? '¥' + scope.row.orderAmount  : '--' }}</span>
           </template>
         </el-table-column>
         <el-table-column label="支付金额" align="center" width="100">
           <template slot-scope="scope">
-            <span class="value">¥{{ scope.row.payAmount }}</span>
+            <span class="value">{{ scope.row.payAmount ? '¥' + scope.row.payAmount  : '--' }}</span>
           </template>
         </el-table-column>
         <el-table-column label="收款类型" align="center" width="100">

+ 31 - 14
admin-ui/src/views/order/cloth/sendCloth.vue

@@ -150,7 +150,7 @@
                         <el-table-column label="品牌" prop="clothBrandName" width="120" />
                         <el-table-column label="颜色" width="150">
                             <template slot-scope="scope">
-                                <el-tag v-for="(item, index) in scope.row.orderClothColors" :key="item.id" size="small" style="margin-right: 4px">
+                                <el-tag v-for="item in scope.row.orderClothColors" :key="item.id" size="small" style="margin-right: 4px">
                                     {{ item.clothColorName }}
                                 </el-tag>
                             </template>
@@ -192,16 +192,15 @@
         <el-dialog title="配置派送员" :visible.sync="deliveryOpen" width="80%" :close-on-click-modal="false" class="take-clothes-dialog" append-to-body>
             <el-row :gutter="15">
                     <el-form ref="form" :model="selectDeliveryForm" :rules="rules" label-width="100px">
-                        <!-- <el-col :span="24">
+                        <el-col :span="24">
                             <el-form-item label="配送方式" prop="service_trans_id">
                                 <el-radio-group v-model="selectDeliveryForm.service_trans_id">
                                     <el-radio-button key="0" label="0">第三方配送</el-radio-button>
                                     <el-radio-button key="1" label="1">门店自送</el-radio-button>
                                 </el-radio-group>
                             </el-form-item>
-                        </el-col> -->
-                        <!-- v-if="selectDeliveryForm.service_trans_id == 1" -->
-                        <el-col :span="24">
+                        </el-col>
+                        <el-col :span="24" v-if="selectDeliveryForm.service_trans_id == 1">
                             <el-form-item label="派送员" prop="takeClothAppUserId">
                                 <el-select v-model="selectDeliveryForm.deliveryManId" placeholder="请选择派送员" clearable>
                                     <el-option v-for="man in deliveryManList" :key="man.appUserId" :label="man.realName" :value="man.appUserId" />
@@ -323,7 +322,7 @@
 </style>
 
 <script>
-import { getSendClothOrderList, refundOrderCloth, takeCloth, setSendDelivery, confirmSend, getInfoByOrderNo } from '../../../api/order/cloth'
+import { getSendClothOrderList, refundOrderCloth, takeCloth, setSendDelivery, setIntracityExpress, setDeliveryManByAppointment, confirmSend, getInfoByOrderNo } from '../../../api/order/cloth'
 import { listOrderClothItem } from '../../../api/order/clothItem'
 import { getDeliveryManListByOrg } from '../../../api/app/delivery'
 import { getLodop } from '@/utils/lodopUtils'
@@ -557,15 +556,33 @@ export default {
             }
         },
         submitDelivery() {
-            if (this.isEmpty(this.selectDeliveryForm.deliveryManId)) {
-                this.$message.error('请先选择配送员')
-                return
+            if (this.selectDeliveryForm.service_trans_id == '0') {
+                setIntracityExpress({ orderNo: this.orderDetail.orderNo }).then((res) => {
+                    this.$message.success('派单成功')
+                    this.deliveryOpen = false
+                    this.getList()
+                })
+            //   setDeliveryManByAppointment({
+            //     // deliveryId: this.form.takeClothAppUserId,
+            //     orderNo: this.orderDetail.orderNo
+            //   }).then((response) => {
+            //     this.$modal.msgSuccess('派单成功')
+            //     this.open = false
+            //     this.getList()
+            //   })
+            } else {
+                if (this.isEmpty(this.selectDeliveryForm.deliveryManId)) {
+                    this.$message.error('请先选择配送员')
+                    return
+                }
+                
+                setSendDelivery({ deliveryManId: this.selectDeliveryForm.deliveryManId, orderNo: this.orderDetail.orderNo }).then((res) => {
+                    this.$message.success('派单成功')
+                    this.deliveryOpen = false
+                    this.getList()
+                })
             }
-            setSendDelivery({ deliveryManId: this.selectDeliveryForm.deliveryManId, orderNo: this.orderDetail.orderNo }).then((res) => {
-                this.$message.success('设置成功')
-                this.deliveryOpen = false
-                this.getList()
-            })
+           
         },
         confirmSend(scope) {
             this.$confirm('确认这笔订单已经完成吗??')

+ 22 - 18
admin-ui/src/views/order/delivery/index.vue

@@ -39,10 +39,10 @@
     </el-row>
 
     <Page uri="/mapi/order/delivery/list" :request-params="queryParams" ref="pagination">
-      <el-table-column label="编号" align="center" prop="id"  />
-      <el-table-column label="配送单号" align="center" prop="deliverySn" />
-      <el-table-column label="商品订单号" align="center" prop="orderSn" />
-      <el-table-column label="所属门店" align="center" prop="storeName" />
+      <el-table-column label="编号" align="center" prop="id"  width="55"/>
+      <el-table-column label="配送单号" align="center" prop="deliverySn"  min-width="130"/>
+      <el-table-column label="商品订单号" align="center" prop="orderSn" min-width="130"/>
+      <el-table-column label="所属门店" align="center" prop="storeName"  min-width="130"/>
       <el-table-column label="配送方式" align="center" prop="deliveryWay">
         <template slot-scope="scope">
           <el-tag v-if="scope.row.deliveryWay == 0" type="primary"> {{ '三方' }}</el-tag>
@@ -56,11 +56,13 @@
         </template>
       </el-table-column>
       <el-table-column label="客户名称" align="center" prop="userName" />
-      <el-table-column label="地址" align="center" prop="userAddress" />
-      <el-table-column label="联系方式" align="center" prop="userPhone" />
+      <el-table-column label="地址" align="center" prop="userAddress" show-overflow-tooltip  min-width="200"/>
+      <el-table-column label="联系方式" align="center" prop="userPhone"  min-width="110"/>
       <el-table-column label="订单状态" align="center" prop="deliveryStatus">
         <template slot-scope="scope">
-          <el-tag v-if="scope.row.deliveryStatus == dict.value" v-for="dict in dict.type.delivery_status" :key="dict.code"> {{ dict.label }}</el-tag>
+          <template v-for="dict in dict.type.delivery_status">
+            <el-tag v-if="scope.row.deliveryStatus == dict.value" :key="dict.code"> {{ dict.label }}</el-tag>
+          </template>
         </template>
       </el-table-column>
 <!--      <el-table-column label="取货码" align="center" prop="fetchCode" />-->
@@ -70,17 +72,17 @@
           {{ scope.row.transporterName || '--' }}
         </template>
       </el-table-column>
-      <el-table-column label="配送员电话" align="center" prop="transporterPhone" >
+      <el-table-column label="配送员电话" align="center" prop="transporterPhone"  min-width="110">
         <template slot-scope="scope">
           {{ scope.row.transporterPhone || '--' }}
         </template>
       </el-table-column>
-      <el-table-column label="下单时间" align="center" prop="createTime"  />
-      <el-table-column label="接单时间" align="center" prop="acceptTime"  >
+      <el-table-column label="下单时间" align="center" prop="createTime"   min-width="150"/>
+      <!-- <el-table-column label="接单时间" align="center" prop="acceptTime"   min-width="150">
         <template slot-scope="scope">
           {{ scope.row.acceptTime || '--' }}
         </template>
-      </el-table-column>
+      </el-table-column> -->
 <!--      <el-table-column label="完成时间" align="center" prop="finishTime" width="140" />-->
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="100">
         <template slot-scope="scope">
@@ -106,19 +108,21 @@
         <el-descriptions-item label="地址">{{ form.userAddress }}</el-descriptions-item>
         <el-descriptions-item label="联系方式">{{ form.userPhone }}</el-descriptions-item>
         <el-descriptions-item label="订单状态">
-          <el-tag v-if="form.deliveryStatus == dict.value" v-for="dict in dict.type.delivery_status" :key="dict.code">{{ dict.label }}</el-tag>
+          <template  v-for="dict in dict.type.delivery_status">
+            <el-tag :key="dict.code" v-if="form.deliveryStatus == dict.value">{{ dict.label }}</el-tag>
+          </template>
         </el-descriptions-item>
-        <el-descriptions-item label="取货码">{{ form.fetchCode }}</el-descriptions-item>
-        <el-descriptions-item label="收货码">{{ form.recvCode }}</el-descriptions-item>
+        <!-- <el-descriptions-item label="取货码">{{ form.fetchCode }}</el-descriptions-item> -->
+        <!-- <el-descriptions-item label="收货码">{{ form.recvCode }}</el-descriptions-item> -->
         <el-descriptions-item label="配送员">{{ form.transporterName || '--' }}</el-descriptions-item>
         <el-descriptions-item label="配送员电话">{{ form.transporterPhone || '--' }}</el-descriptions-item>
         <el-descriptions-item label="下单时间">{{ form.createTime }}</el-descriptions-item>
-        <el-descriptions-item label="接单时间">{{ form.acceptTime }}</el-descriptions-item>
-        <el-descriptions-item label="完成时间">{{ form.finishTime }}</el-descriptions-item>
+        <!-- <el-descriptions-item label="接单时间">{{ form.acceptTime }}</el-descriptions-item> -->
+        <!-- <el-descriptions-item label="完成时间">{{ form.finishTime }}</el-descriptions-item> -->
       </el-descriptions>
-      <div slot="footer" class="dialog-footer">
+      <!-- <div slot="footer" class="dialog-footer">
         <el-button @click="cancel">关 闭</el-button>
-      </div>
+      </div> -->
     </el-dialog>
   </div>
 </template>

+ 1 - 3
admin-ui/src/views/order/retailOrder/index.vue

@@ -129,9 +129,7 @@
                     <el-table-column :label="goodsType == 0 ? '商品名称' : '材料名称'" align="center" prop="goodsName" width="250px" />
                     <el-table-column :label="goodsType == 0 ? '商品规格' : '材料规格'" align="center" width="250px">
                         <template slot-scope="scope">
-                            <div style="text-align: center">
-                                {{ scope.row.skuName.replace(' ', '/') }}
-                            </div>
+                            <div style="text-align: center">{{ JSON.parse(scope.row.skuName).join('/') }}</div>
                         </template>
                     </el-table-column>
                     <el-table-column label="数量" align="center" prop="buyNum" />

+ 58 - 10
admin-ui/src/views/order/serviceOrder/carBeautyOrder.vue

@@ -61,7 +61,7 @@
                     <dict-tag :options="dict.type.recharge_pay_type" :value="scope.row.payType" />
                 </template>
             </el-table-column>
-            <el-table-column label="订单状态" align="center" prop="orderStatus">
+            <el-table-column label="订单状态" align="center" prop="orderStatus" width="100">
                 <template slot-scope="scope">
                     <dict-tag :options="dict.type.order_goods_status" :value="scope.row.orderStatus" />
                 </template>
@@ -72,11 +72,12 @@
                     {{ scope.row.payTime ? scope.row.payTime : '--' }}
                 </template>
             </el-table-column>
-            <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="200">
+            <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="220">
                 <template slot-scope="scope">
                     <el-button type="text" icon="el-icon-chat-dot-square" @click="orderDetail(scope.row)">订单详情</el-button>
                     <el-button type="text" icon="el-icon-check" @click="btn_receiving(scope.row)" v-if="scope.row.orderStatus == '1'">接单</el-button>
-                    <el-button type="text" icon="el-icon-check" @click="btn_confirm(scope.row)" v-if="scope.row.orderStatus == '4'">确认</el-button>
+                    <el-button type="text" icon="el-icon-check" @click="btn_confirm(scope.row)" v-if="scope.row.orderStatus == '4'">确认完成</el-button>
+                    <el-button type="text" icon="el-icon-printer" v-if="userInfoVO.userType != '00'" @click="btn_lodop(scope.row)">打印 </el-button>
                     <!-- <el-button
 
             type="text"
@@ -106,17 +107,17 @@
                     <el-descriptions-item label="确认收货时间">{{ detailView.finishTime ? detailView.finishTime : '暂无信息' }}</el-descriptions-item>
                     <!--          <el-descriptions-item label="物流公司">{{detailView.deliveryCompany?detailView.deliveryCompany:'暂无信息'}}</el-descriptions-item>-->
                     <!--          <el-descriptions-item label="物流单号">{{detailView.totalPrice?detailView.totalPrice:'暂无信息'}}</el-descriptions-item>-->
-                    <el-descriptions-item label="收货地址" span="3">{{ detailView.province }}{{ detailView.city }}{{ detailView.area }}{{ detailView.address }}{{ detailView.addressDetail }}</el-descriptions-item>
+                    <el-descriptions-item label="客户地址" span="3">{{ detailView.province }}{{ detailView.city }}{{ detailView.area }}{{ detailView.address }}{{ detailView.addressDetail }}</el-descriptions-item>
                     <el-descriptions-item label="备注信息" span="3">{{ detailView.deliveryNo ? detailView.deliveryNo : '暂无信息' }}</el-descriptions-item>
                 </el-descriptions>
             </el-card>
             <div class="head-column2">
                 <el-table v-loading="detailLoading" :data="detailView.orderGoodsSkuList">
-                    <el-table-column label="分类" align="center" prop="goodsCategoryName" />
-                    <el-table-column :label="goodsType == 0 ? '商品名称' : '材料名称'" align="center" prop="goodsName" width="250px" />
-                    <el-table-column :label="goodsType == 0 ? '商品规格' : '材料规格'" align="center" width="250px">
+                    <!-- <el-table-column label="分类" align="center" prop="goodsCategoryName" /> -->
+                    <el-table-column :label="goodsType == 0 ? '商品名称' : '服务名称'" align="center" prop="goodsName" width="250px" />
+                    <el-table-column :label="goodsType == 0 ? '商品规格' : '服务规格'" align="center" width="250px">
                         <template slot-scope="scope">
-                            <div style="text-align: center">{{ scope.row.skuName.replace(' ', '/') }}</div>
+                            <div style="text-align: center">{{ JSON.parse(scope.row.skuName).join('/') }}</div>
                         </template>
                     </el-table-column>
                     <el-table-column label="数量" align="center" prop="buyNum" />
@@ -144,6 +145,8 @@
 <script>
 import { getGoods, listGoods, receiveOrder, confirmFinish } from '@/api/order/goods'
 import { findUserByPhoneNumber, getUser } from '@/api/app/user'
+import { getLodop } from '@/utils/lodopUtils'
+import { printGoods } from '@/api/order/clothItem'
 
 export default {
     name: 'carBeautyOrder',
@@ -211,7 +214,10 @@ export default {
                 deliveryNo: null
             },
             queryCreateTime: null,
-            queryPayTime: null
+            queryPayTime: null,
+            pointerList: [],
+            LODOP: null,
+            number: 1,
         }
     },
     created() {
@@ -220,6 +226,21 @@ export default {
         this.goodsType = '3'
         this.getList()
     },
+    mounted() {
+        this.number = 1
+        const printerTime = setInterval(() => {
+            this.LODOP = getLodop()
+            this.number++
+            if (this.number == 25) {
+                clearInterval(printerTime)
+            }
+            if (this.LODOP) {
+                clearInterval(printerTime)
+            }
+        }, 200)
+
+        this.pointerList = JSON.parse(this.$cache.local.get('printerSeting'))
+    },
     computed: {
         calculateTotalCount() {
             this.totalCount = 0
@@ -234,6 +255,33 @@ export default {
         }
     },
     methods: {
+        btn_lodop(row) {
+            if (!this.LODOP) {
+                this.$modal.msgError('请安装打印机软件')
+                return
+            }
+
+            let p_name = ''
+
+            this.pointerList.forEach((pointer) => {
+                if (pointer.printType == 0) {
+                    p_name = pointer.printName
+                }
+            })
+
+            printGoods(row.id).then((res) => {
+                if (this.userInfoVO.userType == '02') {
+                    const obj = {
+                        name: this.userInfoVO.storeName,
+                        contactPhone: this.userInfoVO.phonenumber,
+                        user: this.userInfoVO.nickName
+                    }
+                    res.data.sysOrg = obj
+                }
+                res.data.newTime = this.formatDates(new Date(), 1)
+                this.goodsPrinter(this.LODOP, res.data, p_name)
+            })
+        },
         handleUser() {
             this.userInfoVO = this.getUserInfo()
         },
@@ -276,7 +324,7 @@ export default {
         // 订单详情
         orderDetail(row) {
             this.openDetail = true
-            this.detailTitle = '订单商品详情'
+            this.detailTitle = '订单详情'
             this.detailLoading = true
             this.detailView = {}
             const id = row.id

+ 59 - 10
admin-ui/src/views/order/serviceOrder/lifeServicesOrder.vue

@@ -60,7 +60,7 @@
                     <dict-tag :options="dict.type.recharge_pay_type" :value="scope.row.payType" />
                 </template>
             </el-table-column>
-            <el-table-column label="订单状态" align="center" prop="orderStatus">
+            <el-table-column label="订单状态" align="center" prop="orderStatus" width="100">
                 <template slot-scope="scope">
                     <dict-tag :options="dict.type.order_goods_status" :value="scope.row.orderStatus" />
                 </template>
@@ -72,11 +72,13 @@
                 </template>
             </el-table-column>
 
-            <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="200">
+            <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="220">
                 <template slot-scope="scope">
                     <el-button type="text" icon="el-icon-chat-dot-square" @click="orderDetail(scope.row)">订单详情</el-button>
                     <el-button type="text" icon="el-icon-check" @click="btn_receiving(scope.row)" v-if="scope.row.orderStatus == '1'">接单</el-button>
-                    <el-button type="text" icon="el-icon-check" @click="btn_confirm(scope.row)" v-if="scope.row.orderStatus == '4'">确认</el-button>
+                    <el-button type="text" icon="el-icon-check" @click="btn_confirm(scope.row)" v-if="scope.row.orderStatus == '4'">确认完成</el-button>
+                    <el-button type="text" icon="el-icon-printer" v-if="userInfoVO.userType != '00'" @click="btn_lodop(scope.row)">打印 </el-button>
+
                 </template>
             </el-table-column>
         </Page>
@@ -99,17 +101,17 @@
                     <el-descriptions-item label="订单总价">{{ detailView.totalPrice ? detailView.totalPrice : '暂无信息' }}</el-descriptions-item>
                     <!--          <el-descriptions-item label="物流公司">{{detailView.deliveryCompany?detailView.deliveryCompany:'暂无信息'}}</el-descriptions-item>-->
                     <!--          <el-descriptions-item label="物流单号">{{detailView.totalPrice?detailView.totalPrice:'暂无信息'}}</el-descriptions-item>-->
-                    <el-descriptions-item label="收货地址" span="3">{{ detailView.province }}{{ detailView.city }}{{ detailView.area }}{{ detailView.address }}{{ detailView.addressDetail }}</el-descriptions-item>
+                    <el-descriptions-item label="客户地址" span="3">{{ detailView.province }}{{ detailView.city }}{{ detailView.area }}{{ detailView.address }}{{ detailView.addressDetail }}</el-descriptions-item>
                     <el-descriptions-item label="备注信息" span="3">{{ detailView.deliveryNo ? detailView.deliveryNo : '暂无信息' }}</el-descriptions-item>
                 </el-descriptions>
             </el-card>
             <div class="head-column2">
                 <el-table v-loading="detailLoading" :data="detailView.orderGoodsSkuList">
-                    <el-table-column label="分类" align="center" prop="goodsCategoryName" />
-                    <el-table-column :label="goodsType == 0 ? '商品名称' : '材料名称'" align="center" prop="goodsName" width="250px" />
-                    <el-table-column :label="goodsType == 0 ? '商品规格' : '材料规格'" align="center" width="250px">
+                    <!-- <el-table-column label="分类" align="center" prop="goodsCategoryName" /> -->
+                    <el-table-column :label="goodsType == 0 ? '商品名称' : '服务名称'" align="center" prop="goodsName" width="250px" />
+                    <el-table-column :label="goodsType == 0 ? '商品规格' : '服务规格'" align="center" width="250px">
                         <template slot-scope="scope">
-                            <div style="text-align: center">{{ scope.row.skuName.replace(' ', '/') }}</div>
+                            <div style="text-align: center">{{ JSON.parse(scope.row.skuName).join('/') }}</div>
                         </template>
                     </el-table-column>
                     <el-table-column label="数量" align="center" prop="buyNum" />
@@ -137,6 +139,8 @@
 <script>
 import { getGoods, listGoods, receiveOrder, confirmFinish } from '@/api/order/goods'
 import { findUserByPhoneNumber, getUser } from '@/api/app/user'
+import { getLodop } from '@/utils/lodopUtils'
+import { printGoods } from '@/api/order/clothItem'
 
 export default {
     name: 'lifeServicesOrder',
@@ -204,7 +208,10 @@ export default {
                 deliveryNo: null
             },
             queryCreateTime: null,
-            queryPayTime: null
+            queryPayTime: null,
+            pointerList: [],
+            LODOP: null,
+            number: 1,
         }
     },
     created() {
@@ -213,6 +220,21 @@ export default {
         this.goodsType = '2'
         this.getList()
     },
+    mounted() {
+        this.number = 1
+        const printerTime = setInterval(() => {
+            this.LODOP = getLodop()
+            this.number++
+            if (this.number == 25) {
+                clearInterval(printerTime)
+            }
+            if (this.LODOP) {
+                clearInterval(printerTime)
+            }
+        }, 200)
+
+        this.pointerList = JSON.parse(this.$cache.local.get('printerSeting'))
+    },
     computed: {
         calculateTotalCount() {
             this.totalCount = 0
@@ -227,6 +249,33 @@ export default {
         }
     },
     methods: {
+        btn_lodop(row) {
+            if (!this.LODOP) {
+                this.$modal.msgError('请安装打印机软件')
+                return
+            }
+
+            let p_name = ''
+
+            this.pointerList.forEach((pointer) => {
+                if (pointer.printType == 0) {
+                    p_name = pointer.printName
+                }
+            })
+
+            printGoods(row.id).then((res) => {
+                if (this.userInfoVO.userType == '02') {
+                    const obj = {
+                        name: this.userInfoVO.storeName,
+                        contactPhone: this.userInfoVO.phonenumber,
+                        user: this.userInfoVO.nickName
+                    }
+                    res.data.sysOrg = obj
+                }
+                res.data.newTime = this.formatDates(new Date(), 1)
+                this.goodsPrinter(this.LODOP, res.data, p_name)
+            })
+        },
         handleUser() {
             this.userInfoVO = this.getUserInfo()
         },
@@ -269,7 +318,7 @@ export default {
         // 订单详情
         orderDetail(row) {
             this.openDetail = true
-            this.detailTitle = '订单商品详情'
+            this.detailTitle = '订单详情'
             this.detailLoading = true
             this.detailView = {}
             const id = row.id

+ 10 - 2
admin-ui/src/views/order/statistics/chargeStore.vue

@@ -10,9 +10,16 @@
           value-format="yyyy-MM-dd"
         />
       </el-form-item>
+      <el-form-item label="门店类型" prop="storeType">
+        <el-select v-model="queryParams.storeType" placeholder="请选择门店类型" clearable>
+          <el-option label="全部" value=""></el-option>
+          <el-option label="直营" value="0"></el-option>
+          <el-option label="加盟" value="1"></el-option>
+        </el-select>
+      </el-form-item>
       <el-form-item>
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+        <el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
       </el-form-item>
     </el-form>
 
@@ -148,6 +155,7 @@ export default {
       queryParams: {
         pageNum: 1,
         pageSize: 15,
+        storeType: '',
         startDate: undefined,
         endDate: undefined
       },

+ 2 - 2
admin-ui/src/views/recharge/card/index.vue

@@ -136,14 +136,14 @@
     <!-- 充值卡导入对话框 -->
     <el-dialog :title="upload.title" :visible.sync="upload.open" width="700px" append-to-body destroy-on-close :close-on-click-modal="false">
       <el-card class="box-card" shadow="never">
-        <el-form ref="importForm" :model="importForm" :rules="rules" label-width="100px">
+        <el-form ref="importForm" :model="importForm" :rules="rules" label-width="110px">
           <el-form-item label="批次名称" prop="batchName">
             <el-input v-model="importForm.batchName" placeholder="请输入批次名称" />
           </el-form-item>
           <el-form-item label="批次备注" prop="remark">
             <el-input type="textarea" v-model="importForm.remark" placeholder="请输入批次备注" />
           </el-form-item>
-          <el-form-item label="过期时间" prop="expireTime" v-if="this.upload.title == '充值卡导入'">
+          <el-form-item label="激活过期时间" prop="expireTime" v-if="this.upload.title == '充值卡导入'">
             <el-date-picker v-model="importForm.expireTime" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%" />
           </el-form-item>
         </el-form>

+ 10 - 10
admin-ui/src/views/workbench/workRecharge/index.vue

@@ -29,11 +29,11 @@
                         <el-descriptions-item label="福利金">
                             {{ (appUserInfo.welfareBalance * 100) / 100 }}
                         </el-descriptions-item>
-
                         <el-descriptions-item label="积分">
                             {{ appUserInfo.pointBalance }}
                         </el-descriptions-item>
                         <el-descriptions-item label="等级">{{ appUserInfo.level }}</el-descriptions-item>
+                        <el-descriptions-item label="备注">{{ appUserInfo.remark }}</el-descriptions-item>
                     </el-descriptions>
 
                     <Page uri="/mapi/recharge/card/list" :request-params="cardParams" ref="pagination" v-if="appUserInfo" :page-size="5">
@@ -73,45 +73,45 @@
                     </div>
                     <el-form ref="rechargeFrom" :model="rechargeFrom" :rules="rules" label-width="160px" @submit.native.prevent>
                         <el-col :span="24">
-                            <el-form-item label="请选择充值类型" label-width="120px" prop="rechargeType">
+                            <el-form-item label="充值类型" label-width="90px" prop="rechargeType">
                                 <el-col :span="18">
                                     <el-radio-group v-model="rechargeFrom.rechargeType" style="width: 500px" @input="clearData">
                                         <el-radio-button label="3">自定义充值</el-radio-button>
                                         <el-radio-button label="0">套餐充值</el-radio-button>
                                         <el-radio-button label="1">福利金额充值</el-radio-button>
-                                        <!--                                        <el-radio-button label="2">卡密充值</el-radio-button>-->
+                                        <el-radio-button label="2">卡密充值</el-radio-button>
                                     </el-radio-group>
                                 </el-col>
                             </el-form-item>
 
-                            <el-form-item label="请选择充值套餐" label-width="120px" prop="rechargeMealId" v-if="rechargeFrom.rechargeType == 0">
+                            <el-form-item label="请选择充值套餐" label-width="90px" prop="rechargeMealId" v-if="rechargeFrom.rechargeType == 0">
                                 <el-col :span="18">
                                     <el-select v-model="rechargeFrom.rechargeMealId" placeholder="请选择充值套餐" style="width: 300px" clearable @input="getActivityInfo(rechargeFrom.rechargeMealId)">
                                         <el-option v-for="recharge in rechargeList" :key="recharge.id" :label="recharge.title" :value="recharge.id" />
                                     </el-select>
                                 </el-col>
                             </el-form-item>
-                            <el-form-item label="自定义金额" label-width="120px" prop="customAmount" v-if="rechargeFrom.rechargeType == 3">
+                            <el-form-item label="自定义金额" label-width="90px" prop="customAmount" v-if="rechargeFrom.rechargeType == 3">
                                 <el-col :span="18">
                                     <el-input-number v-model="rechargeFrom.customAmount" :controls="false" :min="0" :max="10000" style="width: 300px"></el-input-number>
                                 </el-col>
                             </el-form-item>
-                            <el-form-item label="福利金额(元)" label-width="120px" prop="welfareAmount" v-if="rechargeFrom.rechargeType == 1">
+                            <el-form-item label="福利金额(元)" label-width="90px" prop="welfareAmount" v-if="rechargeFrom.rechargeType == 1">
                                 <el-col :span="18">
                                     <el-input-number v-model="rechargeFrom.welfareAmount" :controls="false" :min="0" :max="999999" style="width: 300px"></el-input-number>
                                 </el-col>
                             </el-form-item>
-                            <el-form-item label="卡号" label-width="120px" v-if="rechargeFrom.rechargeType == 2" required>
+                            <el-form-item label="卡号" label-width="90px" v-if="rechargeFrom.rechargeType == 2" required>
                                 <el-col :span="18">
                                     <el-input v-model="rechargeFrom.rechargeCardNo" style="width: 300px"></el-input>
                                 </el-col>
                             </el-form-item>
-                            <el-form-item label="密码" label-width="120px" v-if="rechargeFrom.rechargeType == 2" required>
+                            <el-form-item label="密码" label-width="90px" v-if="rechargeFrom.rechargeType == 2" required>
                                 <el-col :span="18">
                                     <el-input v-model="rechargeFrom.rechargeCardPassword" style="width: 300px"></el-input>
                                 </el-col>
                             </el-form-item>
-                            <el-form-item label="充值备注" label-width="120px" prop="remark">
+                            <el-form-item label="充值备注" label-width="90px" prop="remark">
                                 <el-col :span="18">
                                     <el-input type="textarea" placeholder="请输入充值备注" v-model="rechargeFrom.remark" style="width: 300px"></el-input>
                                 </el-col>
@@ -147,7 +147,7 @@
                         <!--            </el-col>-->
                     </el-form>
                     <div>
-                        <el-button type="primary" @click="submitCash" style="margin-left: 3%; margin-top: 20px">收银 </el-button>
+                        <el-button type="primary" @click="submitCash" style="margin-left: 3%; margin-top: 20px">{{ rechargeFrom.rechargeType == 2 ? '确定' : '收银' }} </el-button>
                     </div>
                 </el-card>
             </el-col>

+ 5 - 3
admin-ui/src/views/workbench/workRetail/index.vue

@@ -424,6 +424,8 @@ import { findUserByPhoneNumber } from '@/api/app/user'
 import { listBrand } from '@/api/core/brand'
 import { insertRetailOrderGoods, getGoods } from '@/api/order/goods'
 import { getLodop } from "@/utils/lodopUtils";
+import { printGoods } from '@/api/order/clothItem'
+
 
 export default {
   name: "goodsRetail",
@@ -755,6 +757,7 @@ export default {
           this.purchaseCountVOList = [];
           this.submitGoodsOrderDTO = {};
           this.searchUser();
+          // this.appUserInfo= {}
           this.payOpen = false;
           this.btn_lodop(response.data.orderId);
         });
@@ -775,8 +778,7 @@ export default {
           p_name = pointer.printName
         }
       })
-
-      getGoods(id).then((res) => {
+      printGoods(id).then((res) => {
         if (this.userInfoVO.userType == '02') {
           const obj = {
             name: this.userInfoVO.storeName,
@@ -1360,7 +1362,7 @@ export default {
     .el-radio-group {
       display: grid;
       grid-template-columns: repeat(4, 1fr);
-      gap: 10px;
+      // gap: 10px;
 
       .el-radio-button {
         display: block;