adminthw před 4 roky
rodič
revize
0b567fc489
5 změnil soubory, kde provedl 156 přidání a 25 odebrání
  1. 76 10
      pages/supply/index.vue
  2. 9 4
      pages/supply/mySupply.vue
  3. 71 11
      pages/supply/supply_detail.vue
  4. binární
      static/supply/u1829.png
  5. binární
      static/supply/u1830.png

+ 76 - 10
pages/supply/index.vue

@@ -9,7 +9,7 @@
       >
         <view class="picker_title">
           <view class="pickername">
-            <view v-if="array[index].name != undefind">
+            <view v-if="index != -1">
               {{ array[index].name }}
             </view>
             <view v-else>类型</view>
@@ -23,7 +23,7 @@
         class="supplyCard"
         v-for="(supply, i) in supplyList"
         :key="i"
-        @tap="toDetail(i)"
+        @tap="toDetail(supply.id)"
       >
         <view class="image_content">
           <image :src="supply.image" />
@@ -58,27 +58,93 @@
 </template>
 
 <script>
+import md5 from "@/common/md5.js";
 export default {
   data() {
     return {
-      supplyList: new Array(5).fill({
-        image: "/static/supply/u1779.png",
-        title: "移动式空气消毒机",
-        time: "2021-08-30 14:50:00",
-      }),
+      supplyList: [],
       array: [{ name: "全部" }, { name: "供需" }, { name: "需求" }],
-      index: undefined,
+      index: -1,
     };
   },
+  onLoad() {
+    this.getMyList();
+  },
   methods: {
     bindPickerChange(e) {
       this.index = e.detail.value;
+      this.getMyList();
     },
     toDetail(index) {
       uni.navigateTo({
         url: "/pages/supply/supply_detail?id=" + index,
       });
     },
+    getMyList() {
+      let md5Sign = md5(
+        "method=" +
+          "need" +
+          "&timestamp=" +
+          getApp().globalData.globalTimestamp +
+          "&secret=" +
+          getApp().globalData.secret
+      );
+      let url =
+        getApp().globalData.shareUrl +
+        "api/api.php" +
+        "?method=need&source=need&action=list&timestamp=" +
+        getApp().globalData.globalTimestamp +
+        "&sign=" +
+        md5Sign;
+        let postData = {
+           s_type:this.index==2?1:2
+        }
+      uni.request({
+        url: url,
+        method: "POST",
+        header: {
+          "content-type": "application/x-www-form-urlencoded",
+        },
+        data: this.index==-1||this.index==0?{}:postData,
+        success: (res) => {
+          if (res.data.code === 200) {
+            let list = res.data.data.list;
+            /* 
+                supplyList: new Array(5).fill({
+                image: "/static/supply/u1779.png",
+                title: "移动式空气消毒机",
+                time: "2021-08-30 14:50:00",
+                state: 1,
+                }),
+                
+       */
+            this.supplyList = list.map((item) => {
+              let ob = {
+                image: "",
+                title: "",
+                time: "",
+                state: "",
+                id: "",
+              };
+              ob.id = item.id;
+              ob.title = item.title;
+              let time = this.$options.filters["globalTime"](item.addtime);
+              let timeSecond = this.$options.filters["globalTimeSecond"](
+                item.addtime
+              );
+              ob.time = time + " " + timeSecond;
+              ob.state = item.type;
+              ob.image = item.url;
+              return ob;
+            });
+            console.log(res.data.data.list);
+          }
+        },
+        fail: () => {
+          console.log("连接失败");
+        },
+      });
+    },
   },
 };
 </script>
@@ -142,12 +208,12 @@ export default {
     z-index: 999;
     display: flex;
     justify-content: space-around;
-    width:80%;
+    width: 80%;
     // height: 6%;
     position: fixed;
     top: 85%;
     left: 50%;
-    padding:4%;
+    padding: 4%;
     border-radius: 40rpx;
     box-shadow: rgba(100, 100, 111, 0.2) 0rpx 14rpx 50rpx 0rpx;
     transform: translateX(-50%);

+ 9 - 4
pages/supply/mySupply.vue

@@ -17,7 +17,7 @@
           class="supplyCard"
           v-for="(supply, i) in supplyList"
           :key="i"
-          @tap="toDetail(i)"
+          @tap="toDetail(supply.id)"
         >
           <view class="image_content">
             <image :src="supply.image" />
@@ -29,7 +29,12 @@
             <view class="time">发布时间:{{ supply.time }}</view>
           </view>
           <view class="state">
-            <image src="/static/appeal/waited.svg" />
+            <image src="/static/appeal/waited.svg" v-if="supply.state == 1" />
+            <image
+              src="/static/supply/u1830.png"
+              v-else-if="supply.state == -1"
+            />
+            <image src="/static/supply/u1829.png" v-else />
           </view>
         </view>
       </view>
@@ -44,7 +49,7 @@ export default {
     return {
       titleList: ["我的供需", "我的需求"],
       active: 0,
-      supplyList:[],
+      supplyList: [],
     };
   },
   onLoad() {
@@ -109,7 +114,7 @@ export default {
                 item.addtime
               );
               ob.time = time + " " + timeSecond;
-              ob.state = item.type;
+              ob.state = item.approve_status;
               ob.image = item.url;
               return ob;
             });

+ 71 - 11
pages/supply/supply_detail.vue

@@ -45,21 +45,81 @@
 
 
 <script>
+import md5 from "@/common/md5.js";
 export default {
   data() {
     return {
-      title: "视频监控产品及解决方案",
-      details: "视频监控产品及解决方案,寻求合作企业",
-      type: "需求",
-      image: "/static/supply/u1779.png",
-      time: "2021-09-07 14:25:36",
+      id: "",
+      title: "",
+      details: "",
+      type: "",
+      image: "",
+      time: "",
       info: {
-        name: "双盈电子科技有限公司",
-        code: "914403000758402311",
-        tel: "18109523468",
+        name: "",
+        code: "",
+        tel: "",
       },
     };
   },
+  onLoad(op) {
+    this.id = op.id;
+    console.log(this.id);
+    this.getSupplyDeatil();
+  },
+  methods: {
+    getSupplyDeatil() {
+      let md5Sign = md5(
+        "method=" +
+          "need" +
+          "&timestamp=" +
+          getApp().globalData.globalTimestamp +
+          "&secret=" +
+          getApp().globalData.secret
+      );
+      let url =
+        getApp().globalData.shareUrl +
+        "api/api.php" +
+        "?method=need&source=need&action=info_by_id&timestamp=" +
+        getApp().globalData.globalTimestamp +
+        "&sign=" +
+        md5Sign;
+      let postData = {
+        id: this.id,
+        openId: getApp().globalData.open_id,
+      };
+      //获取文章
+      uni.request({
+        url: url,
+        method: "POST",
+        header: {
+          "content-type": "application/x-www-form-urlencoded",
+        },
+        data: postData,
+        success: (res) => {
+          if (res.data.code === 200) {
+            console.log(res);
+            // this.getRich();
+            let data = res.data.data;
+            this.details = data.content;
+            this.title = data.title;
+            this.type = data.type == 1 ? "需求" : "供需";
+            let time = this.$options.filters["globalTime"](data.addtime);
+            let timeSecond = this.$options.filters["globalTimeSecond"](
+              data.addtime
+            );
+            this.time = time + " " + timeSecond;
+            this.info.name = data.company_name;
+            this.info.code = data.company_code;
+            this.info.tel = data.phone
+          }
+        },
+        fail: () => {
+          console.log("连接失败");
+        },
+      });
+    },
+  },
 };
 </script>
 <style lang="scss" scoped>
@@ -102,9 +162,9 @@ export default {
     padding: 2% 3%;
     border-radius: 40rpx;
     box-shadow: rgba(100, 100, 111, 0.2) 0rpx 14rpx 50rpx 14rpx;
-    .title{
-        margin: 4% 0;
-        font-size: 30rpx;
+    .title {
+      margin: 4% 0;
+      font-size: 30rpx;
     }
     .view {
       display: flex;

binární
static/supply/u1829.png


binární
static/supply/u1830.png