zory 3 nedēļas atpakaļ
vecāks
revīzija
24c9175e69

+ 11 - 0
src/components/imFloat/order.vue

@@ -123,6 +123,13 @@
                             <div class="el-form-item-msg">请发起预约或代客预约后地址方可显示</div>
                         </div>
                     </div>
+                    <div class="order-info" v-if="orderData.address && orderData.address.goods">
+                        <div class="title">购买商品</div>
+                        <div class="order-data-goods">
+                            <div class="icon"><img :src="orderData.address.goods.image" /></div>
+                            <div class="info">{{orderData.address.goods.title}}</div>
+                        </div>
+                    </div>
                     <div class="order-info" v-if="orderData.express">
                         <div class="title">物流信息</div>
                         <div class="empty-data-item">
@@ -229,4 +236,8 @@ export default {
 .order-detail .order-status{padding: 20px 10px;text-align: center;background-color: #f8f8f8;margin-bottom: 10px;}
 .order-detail .order-status .status-name{text-align: center;font-size: 16px;color: #333;font-weight: bold;display: flex;align-items: center;justify-content: center;}
 .order-detail .order-status .status-desc{font-size: 12px;color: #666;margin-top: 10px;}
+
+.order-data-goods{display: flex;align-items:flex-start;gap: 10px;padding: 10px;}
+.order-data-goods .icon{border: 1px solid #f1f1f1;border-radius: 5px;padding: 3px;display: flex;align-items: center;justify-content: center;}
+.order-data-goods img{width: 50px;height: 50px;}
 </style>

+ 3 - 0
src/views/manage/order/index/components/search.vue

@@ -34,6 +34,9 @@
                                 <el-option value="4" label="已退款"></el-option>
                                 <el-option value="5" label="退款中"></el-option>
                                 <el-option value="7" label="部分退款"></el-option>
+                                <el-option value="8" label="履约中"></el-option>
+                                <el-option value="9" label="退款审核-未核销"></el-option>
+                                <el-option value="10" label="退款审核-已核销"></el-option>
                                 <template #prefix>订单状态</template>
                             </el-select>
                         </el-col>

+ 3 - 0
src/views/merchant/order/index/components/search.vue

@@ -24,6 +24,9 @@
                                 <el-option value="4" label="已退款"></el-option>
                                 <el-option value="5" label="退款中"></el-option>
                                 <el-option value="7" label="部分退款"></el-option>
+                                <el-option value="8" label="履约中"></el-option>
+                                <el-option value="9" label="退款审核-未核销"></el-option>
+                                <el-option value="10" label="退款审核-已核销"></el-option>
                                 <template #prefix>订单状态</template>
                             </el-select>
                         </el-col>

+ 1 - 1
src/views/merchant/service/setting/index.vue

@@ -39,7 +39,7 @@
                     <div class="quick-table">
                         <div class="quick-tools">
                             <el-button icon="el-icon-plus" type="primary" @click="quickQs()">添加问题</el-button>
-                            <span>共{{ quickTable.length }}/7个问题</span>
+                            <span>共{{ quickTable?quickTable.length:'0' }}/7个问题</span>
                         </div>
                         <el-table :data="quickTable">
                             <el-table-column label="问题" width="220" prop="question"></el-table-column>

+ 22 - 5
src/views/service/chat/components/asideRight.vue

@@ -32,12 +32,16 @@
                                         <div class="status danger" v-if="item.status=='3'">已退款</div>
                                         <div class="status warn" v-if="item.status=='4'">退款中</div>
                                         <div class="status warn" v-if="item.status=='5'">已关闭</div>
+                                        <div class="status warn" v-if="item.status=='6'">部分退款</div>
+                                        <div class="status warn" v-if="item.status=='7'">履约中</div>
+                                        <div class="status warn" v-if="item.status=='8'">退款审核中</div>
+                                        <div class="status warn" v-if="item.status=='9'">退款审核中</div>
                                         <div class="status success" v-if="item.product.product_type==11 && item.custom_price > 0 && item.custom_status ==1">差价已付</div>
                                         <div class="status danger" v-if="item.product.product_type==11 && item.custom_price > 0 && item.custom_status ==0">差价未付</div>
                                     </div>
                                 </div>
                                 <div class="order-btn-group">
-                                    <div class="status primary cus" @click="sendAddress(item)" v-if="userInfo.trade == '2'">发起预约</div>
+                                    <div class="status primary cus" @click="sendAddress(item)" v-if="item.status=='1' && userInfo.trade == '2'">发起预约</div>
                                     <div class="status info cus" @click="editAddress(item)" v-if="item.status=='1' && userInfo.trade == '2'">代客预约</div>
                                     <!-- <div class="status warn cus" v-if="item.product.product_type==11 && item.custom_price > 0 && item.custom_status ==0" @click="submitPrice(item)">补差价</div>
                                     <div class="status danger cus" v-if="item.product.product_type==11 && item.custom_price > 0 && item.custom_status ==0" @click="submitPrice(item)">改差价</div> -->
@@ -99,6 +103,10 @@
                                 <div class="status danger" v-if="msgOrder.status=='3'">已退款</div>
                                 <div class="status warn" v-if="msgOrder.status=='4'">退款中</div>
                                 <div class="status warn" v-if="msgOrder.status=='5'">已关闭</div>
+                                <div class="status warn" v-if="msgOrder.status=='6'">部分退款</div>
+                                <div class="status warn" v-if="msgOrder.status=='7'">履约中</div>
+                                <div class="status warn" v-if="msgOrder.status=='8'">退款审核中</div>
+                                <div class="status warn" v-if="msgOrder.status=='9'">退款审核中</div>
                                 <div class="status success" v-if="msgOrder.product.product_type==11 && msgOrder.custom_price > 0 && msgOrder.custom_status ==1">差价已付</div>
                                 <div class="status danger" v-if="msgOrder.product.product_type==11 && msgOrder.custom_price > 0 && msgOrder.custom_status ==0">差价未付</div>
                             </div>
@@ -131,13 +139,16 @@
         </div>
     </div>
     <orderDetail ref="orderDetail" @success="orderSuccess"></orderDetail>
+    <keepsMain ref="keepsMain" @success="orderSuccess"></keepsMain>
 </template>
 
 <script>
 import orderDetail from '@/components/imFloat/order';
+import keepsMain from './keeps';
 export default {
     components:{
-        orderDetail
+        orderDetail,
+        keepsMain
     },
     data(){
         return {
@@ -198,14 +209,20 @@ export default {
             this.orderData.total = resp.data.total;
         },
         viewOrder(data){
-            data.order = data.out_order_no;
-            this.$refs.orderDetail.open("add").setData(data)
+            this.$nextTick(() => {
+                data.order = data.out_order_no;
+                this.$refs.orderDetail.open("add").setData(data)
+            })
         },
         sendAddress(data){
             var orderData = {"img":data.img,"name":"完善会员信息","order":data.out_order_no,"status":0};
             this.$emit("sendData",{'type':"address",data:JSON.stringify(orderData)})
         },
-        editAddress(data){},
+        editAddress(data){ // 代客预约
+            this.$nextTick(() => {
+                this.$refs.keepsMain.open("add").setData(data)
+            })
+        },
         sendOrder(data){
             var orderData = {"img":data.img,"name":data.product.product_name,"goods_id":data.life_goods_id,"order":data.out_order_no,"price":this.$TOOL.disMoney(data.pay_money),"status":data.status};
             this.$emit("sendData",{'type':"order",data:JSON.stringify(orderData)})

+ 322 - 0
src/views/service/chat/components/goodOff.vue

@@ -0,0 +1,322 @@
+<!--
+ * @Descripttion: 用户选择器
+ * @version: 1.0
+ * @Author: Zory
+ * @Date: 2024年1月10日21:46:29
+-->
+<template>
+    <el-dialog :title="titleMap[mode]" v-model="visible" :width="800" destroy-on-close @closed="$emit('closed')">
+        <div class="main">
+            <div class="main-left">
+                <div class="main-top">
+                    <el-form class="lv-form-inline" ref="searchForm" :model="searchKey" label-position="right">
+                        <el-row :gutter="10">
+                            <el-col :span="18" :xs="12">
+                                <el-form-item label=" " prop="title">
+                                    <el-input v-model="searchKey.title" placeholder="请输入商品标题" clearable
+                                        :style="{width: '100%'}"></el-input>
+                                </el-form-item>
+                            </el-col>
+                            <el-col :span="6" :xs="12">
+                                <el-form-item>
+                                    <div class="search-btn">
+                                        <el-button type="primary" @click="searchForm">搜索</el-button>
+                                    </div>
+                                </el-form-item>
+                            </el-col>
+                        </el-row>
+                    </el-form>
+                </div>
+                <div class="main-body-wrap" v-if="!multiple">
+                    <scTable ref="table" :apiObj="list.apiObj" :hideSetting="true" paginationLayout="total, prev, pager, next" :params="searchKey" @current-change="handleCurrentChange" highlight-current-row :row-key="getRowKeys" @sortChange="sortChange">
+                        <el-table-column width="50" fixed="left">
+                            <div class="checkbox"></div>
+                        </el-table-column>
+                        <el-table-column label="商品信息" width="340" prop="name">
+                            <template #default="scope">
+                                <div class="goods-img">
+                                    <div class="img">
+                                        <el-image 
+                                        style="width: 54px; height: 54px"
+                                        :src="scope.row.image"
+                                        :zoom-rate="1.2"
+                                        :max-scale="7"
+                                        :min-scale="0.2"
+                                        :preview-src-list="[scope.row.image]"
+                                        preview-teleported
+                                        z-index="999"
+                                        fit="cover"></el-image>
+                                    </div>
+                                    <div class="name">
+                                        <span>{{ scope.row.title }}</span>
+                                    </div>
+                                </div>
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="团单信息" width="340" prop="name">
+                            <template #default="scope">
+                                <div class="goods-img">
+                                    <div class="img">
+                                        <el-image 
+                                        style="width: 54px; height: 54px"
+                                        :src="scope.row.goods.image_list[0].url"
+                                        :zoom-rate="1.2"
+                                        :max-scale="7"
+                                        :min-scale="0.2"
+                                        :preview-src-list="[scope.row.goods.image_list[0].url]"
+                                        preview-teleported
+                                        z-index="999"
+                                        fit="cover"></el-image>
+                                    </div>
+                                    <div class="name">
+                                        <span>{{ scope.row.goods.product_name }}</span>
+                                        <span class="dec">商品ID:{{ scope.row.goods.goods_id }}</span>
+                                    </div>
+                                </div>
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="价格" width="200" prop="id">
+                            <template #default="scope">
+                                <div class="price">{{ $TOOL.moneyFormat(scope.row.goods.price) }}</div>
+                                <div class="goods-price">
+                                    <div class="del">{{ $TOOL.moneyFormat(scope.row.goods.line_price) }}</div>
+                                    <span>{{ $TOOL.disFormat(scope.row.goods.price,scope.row.goods.line_price) }}折</span></div>
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="状态" prop="enable" width="120" align="center">
+                            <template #default="scope">
+                                <div class="status-success" v-if="scope.row.status==1"><sc-status-indicator type="success"></sc-status-indicator> 正常</div>
+                                <div class="status-danger" v-if="scope.row.status==0"><sc-status-indicator type="danger"></sc-status-indicator> 已冻结</div>
+                            </template>
+                        </el-table-column>
+                    </scTable>
+                </div>
+                <div class="main-body-wrap" v-else>
+                    <scTable ref="table" :apiObj="list.apiObj" :hideSetting="true" paginationLayout="total, prev, pager, next" :params="searchKey" @selectionChange="selectionChange" row-key="id" @sortChange="sortChange">
+                        <el-table-column type="selection" width="50" fixed="left"></el-table-column>
+                        <el-table-column label="商品信息" width="340" prop="name">
+                            <template #default="scope">
+                                <div class="goods-img">
+                                    <div class="img">
+                                        <el-image 
+                                        style="width: 54px; height: 54px"
+                                        :src="scope.row.image"
+                                        :zoom-rate="1.2"
+                                        :max-scale="7"
+                                        :min-scale="0.2"
+                                        :preview-src-list="[scope.row.image]"
+                                        preview-teleported
+                                        z-index="999"
+                                        fit="cover"></el-image>
+                                    </div>
+                                    <div class="name">
+                                        <span>{{ scope.row.title }}</span>
+                                    </div>
+                                </div>
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="团单信息" width="340" prop="name">
+                            <template #default="scope">
+                                <div class="goods-img">
+                                    <div class="img">
+                                        <el-image 
+                                        style="width: 54px; height: 54px"
+                                        :src="scope.row.goods.image_list[0].url"
+                                        :zoom-rate="1.2"
+                                        :max-scale="7"
+                                        :min-scale="0.2"
+                                        :preview-src-list="[scope.row.goods.image_list[0].url]"
+                                        preview-teleported
+                                        z-index="999"
+                                        fit="cover"></el-image>
+                                    </div>
+                                    <div class="name">
+                                        <span>{{ scope.row.goods.product_name }}</span>
+                                        <span class="dec">商品ID:{{ scope.row.goods.goods_id }}</span>
+                                    </div>
+                                </div>
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="价格" width="200" prop="id">
+                            <template #default="scope">
+                                <div class="price">{{ $TOOL.moneyFormat(scope.row.goods.price) }}</div>
+                                <div class="goods-price">
+                                    <div class="del">{{ $TOOL.moneyFormat(scope.row.goods.line_price) }}</div>
+                                    <span>{{ $TOOL.disFormat(scope.row.goods.price,scope.row.goods.line_price) }}折</span></div>
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="状态" prop="enable" width="120" align="center">
+                            <template #default="scope">
+                                <div class="status-success" v-if="scope.row.status==1"><sc-status-indicator type="success"></sc-status-indicator> 正常</div>
+                                <div class="status-danger" v-if="scope.row.status==0"><sc-status-indicator type="danger"></sc-status-indicator> 已冻结</div>
+                            </template>
+                        </el-table-column>
+                    </scTable>
+                </div>
+            </div>
+        </div>
+		<template #footer>
+			<el-button @click="visible=false" >取 消</el-button>
+			<el-button v-if="mode!='show'" type="primary" :loading="isSaveing" @click="submit()">确 定</el-button>
+		</template>
+    </el-dialog>
+</template>
+
+<script>
+export default{
+    emits: ['success', 'closed'],
+    props: {
+        multiple: { type: Boolean, default: false },
+    },
+    data(){
+        return {
+            loading: false,
+            mode:"add",
+            titleMap:{
+                add:"选择兑换商品",
+                edit:"选择兑换商品",
+                off:"选择兑换商品"
+            },
+            list: {
+                apiObj: this.$API.goodsoff.list
+            },
+            visible: false,
+            isSaveing: false,
+            formData:{},
+            searchKey:{
+                status:1
+            },
+            selectData:[]
+        }
+    },
+    methods:{
+        sortChange(event){
+            if (event.order) {
+                var data = {
+                    "field":event.prop,
+                    "order":event.order
+                }
+                this.$refs.table.upData(data)
+            } else {
+                this.$refs.table.reload(this.searchKey)
+            }
+            return ;
+        },
+        submit(){
+            if (this.selectData.length == 0)
+            {
+                return this.$message.error("请选择数据");
+            }
+            this.isSaveing = false;
+            this.visible = false;
+            if (this.multiple){
+                this.$emit('success', this.selectData);
+            } else {
+                this.$emit('success', this.selectData[0]);
+            }
+        },
+        getRowKeys(data){
+            return data.id;
+        },
+        clearAll(){
+            this.selectData = [];
+        },
+        removeUser(index,name){
+            this.selectData.splice(index, 1);
+            console.log(name)
+        },
+        handleCurrentChange(data){
+            this.selectData = [data];
+        },
+        selectionChange(data){
+            this.selectData = data;
+        },
+        searchForm(){
+            this.$refs.table.upData(this.searchKey)
+        },
+        fristName(name){
+            return name.substring(0,1);
+        },
+        open(mode = 'add'){
+            this.mode = mode;
+            this.visible = true;
+            return this
+        },
+        //表单注入数据
+        setData(data){
+            this.formData = data;
+        },
+    }
+}
+</script>
+
+<style lang="scss" scoped>
+.main{
+    display: flex;
+    border: 1px solid #dfe1e6;
+}
+.main-left{
+    overflow: hidden;
+    flex: 1;
+    .main-body-wrap{
+        position: relative;
+        height: 380px;
+    }
+}
+.main-top{
+    position: relative;
+    padding: 10px 0;
+    border-bottom: 1px solid #dfe1e6;
+    &.is-right{
+        height:53px;
+        display:flex;
+        align-items:center;
+        padding:0 10px;
+        justify-content:space-between;
+    }
+}
+.main-body.is-right{
+    padding: 8px 16px;
+    overflow-y: auto;
+    position: relative;
+    height: calc(100% - 53px);
+    max-height: 380px;
+}
+.mx-1{
+    margin: 0 0.5rem 0.5rem 0;
+}
+.main-right{
+    flex: 0.4;
+}
+.el-form-item--default{
+    margin-bottom: 0;
+}
+.checkbox{
+    border:1px solid #dfe1e6;
+    width: 14px;
+    height: 14px;
+    border-radius: 2px;
+    background-color: #fff;
+    cursor: pointer;
+    position:relative
+}
+.current-row .checkbox{
+    background-color: var(--el-color-primary);
+    border-color: var(--el-color-primary);
+}
+.current-row .checkbox:after{
+    transform: rotate(45deg) scaleY(1);
+    box-sizing: content-box;
+    content: "";
+    border: 1px solid #fff;
+    border-left: 0;
+    border-top: 0;
+    height: 7px;
+    left: 4px;
+    position: absolute;
+    top: 1px;
+    width: 3px;
+    transition: transform .15s ease-in 50ms;
+    transform-origin: center;
+}
+</style>

+ 274 - 0
src/views/service/chat/components/keeps.vue

@@ -0,0 +1,274 @@
+<template>
+    <el-drawer v-model="visible" size="500px" destroy-on-close :close-on-click-modal="false" :with-header="false">
+        <el-container class="flex-column">
+            <div class="drawer-detail-main">
+                <div class="drawer-detail-header">
+                    <div class="drawer-detail-header-body">
+                        <div class="drawer-detail-header-left">{{titleMap[mode]}}</div>
+                        <div class="drawer-detail-header-left">
+                            <el-button type="default" icon="el-icon-close" @click="visible=false"></el-button>
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <el-main class="nopadding" v-loading="loading">
+                <div class="order-detail" v-if="orderData">
+
+                    <div class="order-goods">
+                        <div class="goods-img"><img :src="orderData.img" /></div>
+                        <div class="goods-info">
+                            <div class="name" v-if="orderData.product.is_new == 1">{{orderData.product.price}}元代{{orderData.product.line_price}}元商场权益券{{ orderData.product.product_name }}</div>
+                            <div class="name" v-else>{{ orderData.product.product_name }}</div>
+                            <div class="desc">
+                                <div class="time" v-if="orderData.end_at">有效期至:{{ orderData.end_at }} </div>
+                                <div class="num">x {{ orderData.number }}</div>
+                            </div>
+                            <div class="total">合计:{{ $TOOL.money(orderData.pay_money) }}</div>
+                        </div>
+                    </div>
+                    <div class="order-info">
+                        <div class="title-h">意向商品<span>(可选{{orderData.number}}份)</span></div>
+                        <div class="goods-item" v-for="(item,indx) in doneGoods" :key="indx">
+                            <div class="item-goods" style="padding: 5px;background-color: #f8f8f8;">
+                                <div class="item-goods-body">
+                                    <div class="image">
+                                        <el-image style="width: 60px;height: 60px;" :src="item.image"></el-image>
+                                    </div>
+                                    <div class="info">
+                                        <div class="title">
+                                            <div class="name">{{ item.title }}</div>
+                                        </div>
+                                        <div class="tags">
+                                            <div></div>
+                                            <div class="price">x{{ item.number }}</div>
+                                        </div>
+                                    </div>
+                                </div>
+                            </div>
+                        </div>
+                        <div class="goods-item-check" @click="selectGoods">{{doneGoods.length == 0 ? '请选择': '更换其他'}}</div>
+                    </div>
+                    <div class="order-info">
+                        <div class="title-h">地址信息</div>
+                        <el-form ref="dialogForm" :model="formData" :rules="rules" label-width="100px" label-position="top">
+                            <el-form-item label="姓名" prop="nickname">
+                                <el-input v-model="formData.nickname" clearable placeholder="请输入"></el-input>
+                                <div class="el-form-item-msg"></div>
+                            </el-form-item>
+                            <el-form-item label="手机号码" prop="mobile">
+                                <el-input v-model="formData.mobile" clearable placeholder="请输入"></el-input>
+                                <div class="el-form-item-msg"></div>
+                            </el-form-item>
+                            <el-form-item label="所属地区" prop="city">
+                                <el-cascader ref="cascaderRef" v-model="formData.city" :options="categoryData" :props="deptsProps" @change="getTemplate" clearable style="width: 100%;" />
+                                <div class="el-form-item-msg"></div>
+                            </el-form-item>
+                            <el-form-item label="详细地址" prop="address">
+                                <el-input type="textarea" rows="3" v-model="formData.address" clearable placeholder="请输入"></el-input>
+                                <div class="el-form-item-msg"></div>
+                            </el-form-item>
+                        </el-form>
+                    </div>
+                </div>
+            </el-main>
+            <el-footer style="text-align: right;">
+                <el-button @click="visible=false" size="large">取 消</el-button>
+                <el-button v-if="mode!='show'" size="large" type="primary" :loading="isSaveing" @click="submit()">确 认</el-button>
+            </el-footer>
+        </el-container>
+    </el-drawer>
+    <goodsMain ref="goodsMain" :multiple="false"></goodsMain>
+</template>
+
+<script>
+import goodsMain from './goodOff';
+export default {
+    components:{
+        goodsMain
+    },
+    data(){
+        return {
+            loading: false,
+            isSaveing: false,
+            isDoneing:false,
+            mode:"add",
+            titleMap:{
+                add:"代客预约",
+                edit:"代客预约"
+            },
+            visible:false,
+            orderData:null,
+			orderTime:null,
+            formOrder:null,
+            doneGoods:[],
+            deptsProps:{
+                value: "value",
+                label: "text"
+            },
+            categoryData:[],
+            formData:{},
+            rules:{
+                nickname: [
+                    {required: true, message: '请输入'}
+                ],
+                mobile: [
+                    {required: true, message: '请输入'}
+                ],
+                address: [
+                    {required: true, message: '请输入'}
+                ],
+                city: [
+                    {required: true, message: '请选择'}
+                ]
+            }
+        }
+    },
+    methods: {
+        open(mode = 'add'){
+            this.mode = mode;
+            this.visible = true;
+            return this
+        },
+        selectGoods(data){
+            this.$nextTick(() => {
+                this.$refs.goodsMain.open("add").setData(data)
+            })
+        },
+        async getCityData(){
+            var resp = await this.$API.merOrder.city.get();
+            this.categoryData = resp.data;
+        },
+        async getTemplate(v){
+            const nodes = this.$refs.cascaderRef.getCheckedNodes()
+            this.formData.cityLabel = nodes[0].pathLabels
+        },
+        //表单注入数据
+        setData(data){
+            this.formOrder = JSON.parse(JSON.stringify(data));
+            this.getOrderDetail()
+            this.getCityData()
+        },
+        async getOrderDetail(){
+            this.loading = true;
+            var resp = await this.$API.merOrder.detail.get({"order":this.formOrder.out_order_no});
+            this.loading = false;
+            if (resp.code == 0) {
+                this.$message.error(resp.msg);
+                this.visible = false;
+                return ;
+            }
+            this.orderData = resp.data;
+            this.orderTime = resp.data.end_time
+        },
+        async submit(){
+            var validate = await this.$refs.dialogForm.validate().catch(()=>{});
+            if(!validate){ return false }
+            this.isSaveing = true;
+            this.formData.order = this.OrderData.out_order_no;
+            let submitData = JSON.parse(JSON.stringify(this.formData));
+            var resp = await this.$API.merOrder.address.post(submitData);
+            this.isSaveing = false;
+            if (resp.code == 0) {
+                return this.$message.error(resp.msg);
+            }
+            this.$message.success(resp.msg);
+            this.visible = false;
+            this.formData = {};
+            this.submitState = false;
+            this.$emit("success");
+        }
+    }
+}
+</script>
+
+<style lang="scss" scoped>
+.order-info{
+    border-radius: 10px;
+    background-color: #fff;padding: 10px;margin-top: 10px;
+    .title-h{
+        font-size: 16px;color: #333;font-weight: bold;margin-bottom: 10px;
+        span {
+            font-size: 14px;
+            color: #666;
+            font-weight: normal;
+            margin-left: 10px;
+        }
+    }
+}
+.goods-item-check{
+	border: 1px solid #475569;
+	height: 40px;
+	line-height: 40px;
+	text-align: center;
+	font-size: 14px;
+	color: #475569;
+	border-radius: 5px;
+    cursor: pointer;
+}
+.item-goods{
+    background-color: #fff;
+    margin-top: 10px;
+    border-radius: 10px;
+    padding: 10px;
+    .item-goods-body{
+        display: flex;
+        align-items: center;
+        gap: 10px;
+    }
+    .stock{
+        text-align: right;
+    }
+    .image {
+        height: 70px;
+        overflow: hidden;display: flex;align-items: center;min-width: 70px;
+        position: relative;
+        image {
+            width: 70px;
+            border-radius: 5px;
+            height: 100%;
+        }
+    }
+    .info{
+        flex: 1 1 0%;
+        overflow: hidden;
+        .title{
+            display: flex;
+            align-items: center;
+            justify-content: space-between;
+            .name {
+                overflow: hidden;
+                text-overflow: ellipsis;
+                font-size: 16px;
+                display: -webkit-box;
+                -webkit-line-clamp: 2;
+                -webkit-box-orient: vertical;
+                color: #333;
+                font-weight: 900;
+            }
+        }
+        .price-right{
+            text-align: right;
+            color: #ff5a25;
+            margin-top: 10px;
+            font-size: 14px;
+            text {
+                font-size: 15px;
+                font-weight: 800;
+            }
+        }
+        .tags {
+            color: #94a3b8;
+            font-size: 12px;
+            margin: 5px 0;
+            display: flex;
+            align-items: center;
+            justify-content: space-between;
+            .price {
+                font-size: 14px;
+                color: #475569;
+                font-weight: 600;
+            }
+        }
+    }
+}
+</style>

+ 3 - 0
src/views/service/order/index/components/search.vue

@@ -24,6 +24,9 @@
                                 <el-option value="4" label="已退款"></el-option>
                                 <el-option value="5" label="退款中"></el-option>
                                 <el-option value="7" label="部分退款"></el-option>
+                                <el-option value="8" label="履约中"></el-option>
+                                <el-option value="9" label="退款审核-未核销"></el-option>
+                                <el-option value="10" label="退款审核-已核销"></el-option>
                                 <template #prefix>订单状态</template>
                             </el-select>
                         </el-col>