storeBelieveInLight hace 1 año
padre
commit
b0177410ca

+ 4 - 3
commit/request.js

@@ -4,10 +4,11 @@ var baseURL = 'https://api.hxxfb.com/gateway/' // API访问的地址
4
 	  baseURL = 'https://api.hxxfb.com/gateway/';//测试环境
4
 	  baseURL = 'https://api.hxxfb.com/gateway/';//测试环境
5
  }else if(is==2){
5
  }else if(is==2){
6
 	 // baseURL = 'https://api.hebeiyhc.com/gateway/'; //生产环境
6
 	 // baseURL = 'https://api.hebeiyhc.com/gateway/'; //生产环境
7
-	 baseURL = 'https://api.hebeiyhc.com/gateway/'; //生产环境
7
+	 // baseURL = 'https://api.hebeiyhc.com/gateway/'; //生产环境
8
+	   baseURL = 'http://api.hxxfb.com/gateway/'; //预生产环境
8
 	
9
 	
9
  }else{
10
  }else{
10
-	  baseURL = 'https://api.hxxfb.com/gateway/'; //预生产环境
11
+	  baseURL = 'http://api.hxxfb.com/gateway/'; //预生产环境
11
  }
12
  }
12
 let token = ''; // 用户的token
13
 let token = ''; // 用户的token
13
 let volunteerToken = ''; // DES+B64加密
14
 let volunteerToken = ''; // DES+B64加密
@@ -28,7 +29,7 @@ let bas = Base64.encode(jmi + "," + Fzitem)
28
 export const myRequest = (options) => {
29
 export const myRequest = (options) => {
29
 	return new Promise((resolve, reject) => {
30
 	return new Promise((resolve, reject) => {
30
 		 if(options.apiType === 'php'){
31
 		 if(options.apiType === 'php'){
31
-			baseURL = 'http://shop.hxxfb.com/'
32
+			baseURL = 'https://shop.hxxfb.com/'
32
 			// baseURL = '/'
33
 			// baseURL = '/'
33
 			// console.log('url = ',baseURL + options.url,"PHP")
34
 			// console.log('url = ',baseURL + options.url,"PHP")
34
 		 }
35
 		 }

+ 2 - 2
manifest.json

@@ -105,14 +105,14 @@
105
               // }
105
               // }
106
               // 自行修改下方的 /api
106
               // 自行修改下方的 /api
107
               "/api": {
107
               "/api": {
108
-                "target": "https://api.hxxfb.com/",
108
+                "target": "https://api.hxxfb.com",
109
                 "pathRewirte": {
109
                 "pathRewirte": {
110
                   //路径重写
110
                   //路径重写
111
                   "^/api": "/"
111
                   "^/api": "/"
112
                 }
112
                 }
113
               },
113
               },
114
               "/gateway/api": {
114
               "/gateway/api": {
115
-                "target": "https://api.hxxfb.com/",
115
+                "target": "http://api.hxxfb.com",
116
                 "pathRewirte": {
116
                 "pathRewirte": {
117
                   //路径重写
117
                   //路径重写
118
                   "^/api": "/"
118
                   "^/api": "/"

+ 10 - 0
pages.json

@@ -266,6 +266,16 @@
266
                 		"navigationStyle" : "custom"
266
                 		"navigationStyle" : "custom"
267
                 	}
267
                 	}
268
                 },
268
                 },
269
+                   {
270
+                	"path" : "productManagementModule/productevaluation",//商品评价
271
+                	"style" : 
272
+                	{
273
+                    // "navigationBarTitleText" : "",
274
+                    "navigationStyle": "custom",
275
+                    "enablePullDownRefresh": true
276
+                  }
277
+                },
278
+                
269
                 {
279
                 {
270
                 	"path" : "productManagementModule/productClassification",//商品分类
280
                 	"path" : "productManagementModule/productClassification",//商品分类
271
                 	"style" : {
281
                 	"style" : {

+ 7 - 2
pages/ordermanagement/index.vue

@@ -211,7 +211,9 @@ export default {
211
             this.orderSta[obj[item.name]] = item.count || undefined;
211
             this.orderSta[obj[item.name]] = item.count || undefined;
212
           });
212
           });
213
         }
213
         }
214
-      } catch (error) {}
214
+      } catch (error) {}finally{
215
+		  uni.hideLoading()
216
+	  }
215
     },
217
     },
216
 
218
 
217
     // 正向订单状态数
219
     // 正向订单状态数
@@ -264,6 +266,7 @@ export default {
264
           }
266
           }
265
         },
267
         },
266
         (fail) => {
268
         (fail) => {
269
+			uni.hideLoading()
267
           console.log(fail);
270
           console.log(fail);
268
         }
271
         }
269
       );
272
       );
@@ -294,7 +297,9 @@ export default {
294
           this.dingdansss[2].num = finishOrder || 0
297
           this.dingdansss[2].num = finishOrder || 0
295
         }
298
         }
296
         uni.hideLoading();
299
         uni.hideLoading();
297
-      } catch (error) {}
300
+      } catch (error) {}finally{
301
+		  uni.hideLoading()
302
+	  }
298
     },
303
     },
299
     jiru(e, i) {
304
     jiru(e, i) {
300
       let authorization = uni.getStorageSync("authorization");
305
       let authorization = uni.getStorageSync("authorization");

+ 1 - 1
shop/commodity/logisticsInformationDetail.vue

@@ -105,7 +105,7 @@
105
           <template v-else>
105
           <template v-else>
106
             <emptyData
106
             <emptyData
107
               title="暂无物流信息"
107
               title="暂无物流信息"
108
-              style="top: 45%; left: 25%; width: auto"
108
+              style="top: 45%; width: calc(100% - 60rpx)"
109
             ></emptyData>
109
             ></emptyData>
110
           </template>
110
           </template>
111
         </view>
111
         </view>

+ 1 - 1
shop/productManagementModule/components/listCardInfo.vue

@@ -12,7 +12,7 @@
12
         </view>
12
         </view>
13
       </view>
13
       </view>
14
       <view class="management-ding-nei">
14
       <view class="management-ding-nei">
15
-        <view class="fullSreen" v-if="fullSreen">
15
+        <view class="fullSreen" v-if="fullSreen"  @click="onHandleClick()">
16
           {{fullSreenTitle}}
16
           {{fullSreenTitle}}
17
         </view>
17
         </view>
18
         <template v-else>
18
         <template v-else>

+ 145 - 0
shop/productManagementModule/components/productEvaluation/ProductEvaluationItem.vue

@@ -0,0 +1,145 @@
1
+<template>
2
+  <view class="comment-card">
3
+    <!-- 差评标签和评分 -->
4
+    <view class="top-info">
5
+      <text class="bad-comment">差评</text>
6
+      <text class="score">商品评分{{score}}★</text>
7
+    </view>
8
+    <!-- 遍历展示每条差评内容 -->
9
+    <view class="comment-content" v-for="(subComment, index) in commentList" :key="index">
10
+      <text>{{subComment}}</text>
11
+    </view>
12
+    <!-- 图片展示,这里假设图片数组为imgList -->
13
+    <view class="img-list">
14
+      <image v-for="(img, index) in imgList" :key="index" :src="img" mode="aspectFill"></image>
15
+    </view>
16
+    <!-- 遍历展示产品信息数组 -->
17
+   <view class="product-info-content">
18
+     <view class="product-info-list" v-for="(product, index) in productList" :key="index">
19
+      <image class="product-img" :src="product.img" mode="aspectFill"></image>
20
+      <view class="product-detail">
21
+        <text>{{product.detail}}</text>
22
+      </view>
23
+    </view>
24
+   </view>
25
+    <!-- 操作按钮 -->
26
+    <view class="action-buttons">
27
+      <!-- <button class="order-btn">查看订单</button> -->
28
+      <button class="reply-btn">回复评论</button>
29
+    </view>
30
+  </view>
31
+</template>
32
+<script>
33
+export default {
34
+  data() {
35
+    return {
36
+      score: 1, // 假设差评情况下的评分,可根据实际逻辑调整
37
+      commentList: [
38
+        '包装破损', 
39
+        '物流速度极慢', 
40
+        '与描述不符'
41
+      ], // 差评信息数组,可从后端获取
42
+      imgList: ['/static/images/new_ui/delivery_man_dialog.png', '/static/images/new_ui/delivery_man_dialog.png'], // 图片地址数组,需替换为实际地址
43
+      productList: [
44
+        {
45
+          img: '/static/images/new_ui/qcode.png',
46
+          detail: '【直播现装】DIY配件多种夜光款DIY配件多种夜光款DIY配件多种夜光款DIY配件多种夜光款DIY配件多种夜光款'
47
+        },
48
+        {
49
+          img: '/static/logo.png',
50
+          detail: '小瓶子混装DIY 女孩玩具夜光大白DIY配件多种夜光款DIY配件多种夜光款DIY配件多种夜光款DIY配件多种夜光款'
51
+        }
52
+      ] // 产品信息数组,包含图片和详细信息
53
+    };
54
+  },
55
+};
56
+
57
+</script>
58
+
59
+<style lang="scss" scoped>
60
+.comment-card {
61
+  background-color: #fff;
62
+  border-radius: 10rpx;
63
+  box-shadow: 0 2rpx 4rpx rgba(0, 0, 0, 0.1);
64
+//   margin: 15rpx;
65
+  padding: 15rpx;
66
+  width: calc(100% - 30rpx);
67
+}
68
+
69
+.top-info {
70
+  display: flex;
71
+  align-items: center;
72
+  margin-bottom: 10rpx;
73
+}
74
+
75
+.bad-comment {
76
+  color: #e74c3c;
77
+  margin-right: 10rpx;
78
+  font-size: 28rpx;
79
+}
80
+
81
+.score {
82
+  color: #ffc107;
83
+  font-size: 28rpx;
84
+}
85
+
86
+.comment-content {
87
+  margin-bottom: 10rpx;
88
+  font-size: 28rpx;
89
+  word-break: break-all;
90
+}
91
+
92
+.img-list {
93
+  display: flex;
94
+  flex-wrap: wrap;
95
+  margin-bottom: 10rpx;
96
+}
97
+
98
+.img-list image {
99
+  width: 100rpx;
100
+  height: 100rpx;
101
+  margin-right: 10rpx;
102
+  margin-bottom: 10rpx;
103
+}
104
+.product-info-content{
105
+ background: #f3f5f7;
106
+  border-radius: 10rpx;
107
+  padding: 10rpx 15rpx;
108
+}
109
+.product-info-list {
110
+  display: flex;
111
+//   align-items: center;
112
+  padding-bottom: 12rpx;
113
+  padding-top: 12rpx;
114
+  font-size: 26rpx;
115
+ 
116
+}
117
+
118
+.product-img {
119
+  width: 60rpx;
120
+  height: 60rpx;
121
+  margin-right: 10rpx;
122
+}
123
+
124
+.product-detail {
125
+  flex: 1;
126
+}
127
+
128
+.action-buttons {
129
+  display: flex;
130
+  gap: 25rpx;
131
+  margin-top: 26rpx;
132
+}
133
+
134
+.order-btn,
135
+.reply-btn {
136
+  flex: 1;
137
+ 
138
+}
139
+.reply-btn{
140
+ background: #187fdf;
141
+ color: #fff;
142
+  margin-right: 0rpx;
143
+}
144
+    
145
+</style>

+ 64 - 0
shop/productManagementModule/components/productEvaluation/ReplyModal.vue

@@ -0,0 +1,64 @@
1
+<!-- components/ReplyModal.vue -->
2
+<template>
3
+  <uni-popup ref="popup">
4
+    <view class="reply-modal">
5
+      <textarea v-model="replyContent" placeholder="输入回复内容"/>
6
+      <button @click="submit">提交</button>
7
+    </view>
8
+  </uni-popup>
9
+</template>
10
+
11
+<script>
12
+export default {
13
+  data() {
14
+    return {
15
+      replyContent: ''
16
+    }
17
+  },
18
+  methods: {
19
+    open() {
20
+      this.$refs.popup.open()
21
+    },
22
+    submit() {
23
+      this.$emit('submit', this.replyContent)
24
+      this.$refs.popup.close()
25
+    }
26
+  }
27
+}
28
+</script>
29
+
30
+<style lang="scss" scoped>
31
+.reply-modal {
32
+  width: 680rpx;
33
+  background: #fff;
34
+  border-radius: 24rpx;
35
+  padding: 40rpx;
36
+  
37
+  textarea {
38
+    width: 100%;
39
+    height: 240rpx;
40
+    background: #f8f8f8;
41
+    border-radius: 12rpx;
42
+    padding: 24rpx;
43
+    font-size: 28rpx;
44
+    margin-bottom: 40rpx;
45
+  }
46
+  
47
+  button {
48
+    background: #007AFF;
49
+    color: white;
50
+    height: 88rpx;
51
+    line-height: 88rpx;
52
+    border-radius: 44rpx;
53
+    font-size: 32rpx;
54
+  }
55
+}
56
+
57
+/* 覆盖uni-popup默认样式 */
58
+/deep/ .uni-popup__wrapper {
59
+  background: rgba(0,0,0,0.5);
60
+  display: flex;
61
+  align-items: center;
62
+  justify-content: center;
63
+}
64
+</style>

+ 9 - 3
shop/productManagementModule/components/search/search.vue

@@ -10,8 +10,8 @@
10
         class="search__input"
10
         class="search__input"
11
         v-model="searchValue"
11
         v-model="searchValue"
12
         type="text"
12
         type="text"
13
-        placeholder="输入商品名称/商品ID"
14
-        @input="haandleSearchInput"
13
+        :placeholder="placeholder"
14
+        @input="handleSearchInput"
15
       />
15
       />
16
       <button class="search__btn" @click="haandleSearch">搜索</button>
16
       <button class="search__btn" @click="haandleSearch">搜索</button>
17
     </view>
17
     </view>
@@ -20,6 +20,12 @@
20
 
20
 
21
 <script>
21
 <script>
22
 export default {
22
 export default {
23
+  props:{
24
+    placeholder:{
25
+      type:String,
26
+      default:"输入商品名称/商品ID"
27
+    }
28
+  },
23
   data() {
29
   data() {
24
     return {
30
     return {
25
       searchValue: ""
31
       searchValue: ""
@@ -29,7 +35,7 @@ export default {
29
     haandleSearch() {
35
     haandleSearch() {
30
       this.$emit("search", this.searchValue);
36
       this.$emit("search", this.searchValue);
31
     },
37
     },
32
-        haandleSearchInput(val){
38
+        handleSearchInput(val){
33
       if(val.detail.value==""){
39
       if(val.detail.value==""){
34
         this.$emit("search", this.searchValue);
40
         this.$emit("search", this.searchValue);
35
       }
41
       }

+ 17 - 5
shop/productManagementModule/index.vue

@@ -8,7 +8,7 @@
8
         headerTitle="商品列表"
8
         headerTitle="商品列表"
9
         class="mb-t1"
9
         class="mb-t1"
10
         :cardData="dataBuss"
10
         :cardData="dataBuss"
11
-		@custom-handle-click="businessHandleClick"
11
+		   @custom-handle-click="businessHandleClick"
12
       ></listCardInfo>
12
       ></listCardInfo>
13
       <listCardInfo
13
       <listCardInfo
14
         headerTitle="供应链"
14
         headerTitle="供应链"
@@ -16,9 +16,13 @@
16
         :cardData="onlineData"
16
         :cardData="onlineData"
17
       ></listCardInfo>
17
       ></listCardInfo>
18
       <!-- <listCardInfo headerTitle="在线选品" class="mb-t1"></listCardInfo> -->
18
       <!-- <listCardInfo headerTitle="在线选品" class="mb-t1"></listCardInfo> -->
19
-      <listCardInfo headerTitle="商品分类" class="mb-t1" :fullSreen="true" fullSreenTitle="商品分类列表" ></listCardInfo>
20
-      <listCardInfo headerTitle="商品规格" class="mb-t1" :fullSreen="true" fullSreenTitle="商品规格列表"></listCardInfo>
21
-      <listCardInfo headerTitle="商品评价" class="mb-t1" :fullSreen="true" fullSreenTitle="商品评价列表"></listCardInfo>
19
+      <!-- <listCardInfo headerTitle="商品分类" class="mb-t1" :fullSreen="true" fullSreenTitle="商品分类列表" ></listCardInfo> -->
20
+      <!-- <listCardInfo headerTitle="商品规格" class="mb-t1" :fullSreen="true" fullSreenTitle="商品规格列表"></listCardInfo> -->
21
+      <listCardInfo headerTitle="商品评价" 
22
+      class="mb-t1" 
23
+      :fullSreen="true" 
24
+      fullSreenTitle="商品评价列表" 
25
+      @custom-handle-click="onHandlePingJia"></listCardInfo>
22
       <!-- <listCardInfo headerTitle="在线选品" class="mb-t1"></listCardInfo> -->
26
       <!-- <listCardInfo headerTitle="在线选品" class="mb-t1"></listCardInfo> -->
23
       <!-- <listCardInfo headerTitle="在线选品" class="mb-t1"></listCardInfo> -->
27
       <!-- <listCardInfo headerTitle="在线选品" class="mb-t1"></listCardInfo> -->
24
       <!-- <listCardInfo headerTitle="在线选品" class="mb-t1"></listCardInfo> -->
28
       <!-- <listCardInfo headerTitle="在线选品" class="mb-t1"></listCardInfo> -->
@@ -139,6 +143,7 @@ export default {
139
     let userinfo = uni.getStorageSync("userinfo");
143
     let userinfo = uni.getStorageSync("userinfo");
140
     this.uid = userinfo.uid;
144
     this.uid = userinfo.uid;
141
     console.log("onshow");
145
     console.log("onshow");
146
+    return;
142
 
147
 
143
     let authorization = uni.getStorageSync("authorization");
148
     let authorization = uni.getStorageSync("authorization");
144
     // let userinfo = uni.getStorageSync('userinfo')
149
     // let userinfo = uni.getStorageSync('userinfo')
@@ -155,7 +160,7 @@ export default {
155
         selectmerchant.merId > 0 &&
160
         selectmerchant.merId > 0 &&
156
         (selectmerchant.status == 1 || selectmerchant.status == 5)
161
         (selectmerchant.status == 1 || selectmerchant.status == 5)
157
       ) {
162
       ) {
158
-        return;
163
+        return; 
159
       } else if (
164
       } else if (
160
         selectmerchant.merId >= 0 &&
165
         selectmerchant.merId >= 0 &&
161
         (selectmerchant.status == 3 || selectmerchant.status == 4)
166
         (selectmerchant.status == 3 || selectmerchant.status == 4)
@@ -293,6 +298,13 @@ export default {
293
         });
298
         });
294
       }
299
       }
295
     },
300
     },
301
+    //商品评价
302
+    onHandlePingJia(){
303
+      console.log('商品评价')
304
+      uni.redirectTo({
305
+        url: "./productevaluation",
306
+      });
307
+    }
296
   },
308
   },
297
 };
309
 };
298
 </script>
310
 </script>

+ 3 - 3
shop/productManagementModule/productManagement.vue

@@ -66,7 +66,6 @@
66
       </view>
66
       </view>
67
       </view>
67
       </view>
68
     </view>
68
     </view>
69
-  </view>
70
 </template>
69
 </template>
71
 
70
 
72
 <script>
71
 <script>
@@ -80,8 +79,7 @@ export default {
80
     searchVue,
79
     searchVue,
81
     tabsVue,
80
     tabsVue,
82
   },
81
   },
83
-  methods: {
84
-    		onPullDownRefresh() {
82
+  	onPullDownRefresh() {
85
 			uni.showLoading({
83
 			uni.showLoading({
86
 				title: '加载中',
84
 				title: '加载中',
87
 			});
85
 			});
@@ -99,6 +97,8 @@ export default {
99
 			// 	return
97
 			// 	return
100
 			// }
98
 			// }
101
 		},
99
 		},
100
+  methods: {
101
+    	
102
     headerJump() {
102
     headerJump() {
103
       uni.switchTab({ url: "/shop/productManagementModule/index" });
103
       uni.switchTab({ url: "/shop/productManagementModule/index" });
104
     },
104
     },

+ 117 - 0
shop/productManagementModule/productevaluation.vue

@@ -0,0 +1,117 @@
1
+<template>
2
+  <view class="product-pingjia-wrapper">
3
+    <headersVue headerTitle="商品评价" @headerJump="headerJump"></headersVue>
4
+    <view class="product-pingjia-content">
5
+      <view class="product-pingjia-content--top">
6
+        <searchVue
7
+          @search="search"
8
+          class="search-box"
9
+          placeholder="请输入商品ID或者商品信息"
10
+        ></searchVue>
11
+      </view>
12
+    </view>
13
+
14
+    <view class="product-pingjia-content--list">
15
+      <ProductEvaluationItem  @reply="ReplyHandler" v-for="item in 10" :key="item" class="mb-26"/>
16
+      <view
17
+        class=""
18
+        v-if="tihsi == 0"
19
+        style="margin: 60rpx 0 30rpx 0; color: #999999; font-size: 26rpx"
20
+      >
21
+        —— 已经到最底部了哦 ——
22
+      </view>
23
+    </view>
24
+    <!-- <ReplyModal ref="ReplyRefs"></ReplyModal> -->
25
+  </view>
26
+</template>
27
+
28
+<script>
29
+//评价
30
+import headersVue from "../components/headers/headers.vue";
31
+import searchVue from "./components/search/search.vue";
32
+import ReplyModal from "./components/productEvaluation/ReplyModal.vue"
33
+import ProductEvaluationItem from "./components/productEvaluation/ProductEvaluationItem.vue";
34
+export default {
35
+  components: {
36
+    headersVue,
37
+    searchVue,
38
+    ProductEvaluationItem,
39
+    ReplyModal
40
+  },
41
+  data() {
42
+    return {
43
+        tihsi:""
44
+    };
45
+  },
46
+  onPullDownRefresh() {},
47
+  onReachBottom() {
48
+    console.log("onReachBottom");
49
+    // if (this.is_panudn == true) {
50
+    // 	this.page++;
51
+    // 	this.orderList();
52
+    // } else {
53
+    // 	return
54
+    // }
55
+  },
56
+  methods: {
57
+    search(val) {},
58
+    
59
+    ReplyHandler(item){
60
+        this.ReplyRefs.open(item)
61
+
62
+    },
63
+  },
64
+};
65
+</script>
66
+<style>
67
+page {
68
+  background-color: #f7f8fc;
69
+}
70
+</style>
71
+<style lang="scss" scoped>
72
+.product-pingjia-wrapper {
73
+  .product-pingjia-content {
74
+    background: #fff;
75
+    position: fixed;
76
+    top: 80rpx;
77
+    width: 100%;
78
+    z-index: 666;
79
+    &--top {
80
+      display: flex;
81
+      .search-box {
82
+        flex: 1;
83
+      }
84
+      .btn-product {
85
+        user-select: none;
86
+        width: 160rpx;
87
+        flex-shrink: 0;
88
+        display: flex;
89
+        align-items: center;
90
+        gap: 15rpx;
91
+        image {
92
+          width: 32rpx;
93
+          height: 32rpx;
94
+        }
95
+        .txt {
96
+          font-weight: 400;
97
+          font-size: 26rpx;
98
+          color: #666666;
99
+          word-break: break-all;
100
+        }
101
+      }
102
+    }
103
+  }
104
+  .product-pingjia-content--list {
105
+    display: flex;
106
+    flex-direction: column;
107
+    align-items: center;
108
+    width: calc(100% - 52rpx);
109
+    // border: 2rpx solid #f00;
110
+    margin: 225rpx 26rpx 26rpx;
111
+    overflow: auto;
112
+  }
113
+}
114
+.mb-26{
115
+    margin-bottom: 26rpx;
116
+}
117
+</style>

BIN
static/images/new_ui/Apifox-windows-latest.zip