LAPTOP-UBJMM5MG\user 9 miesięcy temu
rodzic
commit
360dd7c12e

+ 1 - 1
js_sdk/http.js

@@ -1177,7 +1177,7 @@ export function getContractById(data) {
 // 企业列表
 export function getAllBaseCompany(data) {
     return $http.post(
-        '/wx/company/getAllBaseCompany',
+        '/wx/company/getAllBaseCompanyPage',
         data, {}
     )
 }

+ 34 - 0
pages.json

@@ -864,6 +864,40 @@
                         }
                     }
                 },
+                {
+                    "path": "todo/associated",
+                    "style": {
+                        "navigationBarTitleText": "关联企业选择",
+                        "enablePullDownRefresh": true,
+                        "onReachBottomDistance": 100,
+                        "app-plus": {
+                            "bounce": "vertical",
+                            "titleNView": {
+                                "buttons": [
+                                    {
+                                        "text": "\ue534",
+                                        "fontSrc": "/static/uni.ttf",
+                                        "fontSize": "22px",
+                                        "color": "#FFFFFF"
+                                    }
+                                ]
+                            }
+                        },
+                        "component": true,
+                        "usingComponents": {
+                            "van-empty": "/wxcomponents/weapp/dist/empty/index",
+                            "van-button": "/wxcomponents/weapp/dist/button/index",
+                            "van-toast": "/wxcomponents/weapp/dist/toast/index",
+                            "van-field": "/wxcomponents/weapp/dist/field/index",
+                            "van-popup": "/wxcomponents/weapp/dist/popup/index",
+                            "van-picker": "/wxcomponents/weapp/dist/picker/index",
+                            "van-dialog": "/wxcomponents/weapp/dist/dialog/index",
+                            "van-icon": "/wxcomponents/weapp/dist/icon/index",
+                            "van-tab": "/wxcomponents/weapp/dist/tab/index",
+                            "van-tabs": "/wxcomponents/weapp/dist/tabs/index"
+                        }
+                    }
+                },
                 {
                     "path": "todo/predetermineDetail",
                     "style": {

+ 101 - 0
pages/subPackages/todo/associated.vue

@@ -0,0 +1,101 @@
+<template>
+    <div class="associated">
+      <div style="display: flex;justify-content: flex-end;margin-bottom: 36rpx">
+        <span style="font-size: 32rpx;color: #0A98D5" @tap="confirm">确认并返回</span>
+      </div>
+      <input v-model="searchName" class="ipt" placeholder="可输入搜索" @input="changeSearch">
+      <van-checkbox-group :value="result" @change="onChange">
+        <van-checkbox :name="item.qymc" v-for="item in list" :key="item.id">{{item.qymc}}</van-checkbox>
+      </van-checkbox-group>
+    </div>
+</template>
+
+<script>
+import { getAllBaseCompany } from "@/js_sdk/http";
+export default {
+  name: "associated",
+  data(){
+    return{
+      result:[],
+      list:[],
+      page: 1, // 当前页数
+      pageSize: 20, // 每页数据量
+      hasMore: true,
+      searchName:'',
+      timeout:null,
+      selectedItems:[]
+    }
+  },
+  onReachBottom(){
+    if (this.hasMore) {
+      this.loadMore();
+    }
+  },
+  mounted(){
+    // this.getCompanyList()
+    this.loadMore()
+  },
+  methods:{
+    confirm(){
+      uni.$emit('selectInfo',JSON.stringify(this.selectedItems))
+      uni.navigateBack()
+    },
+    changeSearch(e){
+      if (this.timeout){
+        this.timeout = null
+      }
+      console.log(e.detail.value)
+      this.list = []
+      this.page = 1
+      this.pageSize = 20
+      this.searchName = e.detail.value
+      this.timeout = setTimeout(() => {
+        this.loadMore()
+      }, 500)
+    },
+    async loadMore() {
+      try {
+        const res = await this.fetchListData(this.page, this.pageSize);
+        console.log('res',res)
+        if (res.rows && res.rows.length) {
+          this.list = this.list.concat(res.rows);
+          this.page += 1;
+        } else {
+          this.hasMore = false;
+        }
+      } catch (error) {
+        // 处理错误
+      }
+    },
+    async fetchListData(page, pageSize) {
+      return getAllBaseCompany({pageNum:page,pageSize,name:this.searchName})
+    },
+    getCompanyList(){
+
+    },
+    onChange(e){
+      this.result = e.detail
+      this.selectedItems = this.list.filter(item => e.detail.includes(item.qymc));
+      // 现在你有了一个包含完整 item 对象的数组
+      console.log(this.selectedItems);
+    }
+  }
+}
+</script>
+
+<style lang="scss">
+    .associated{
+      min-height: 100vh;
+      padding: 36rpx;
+      background: white;
+      .van-checkbox{
+        margin: 24rpx 0;
+      }
+      .ipt{
+        background: rgba(96,96,96,0.1);
+        margin-bottom: 24rpx;
+        padding: 12rpx 24rpx;
+        border-radius: 12rpx;
+      }
+    }
+</style>

+ 20 - 15
pages/subPackages/todo/inventoryReview.vue

@@ -313,7 +313,7 @@
           <span class="liName">
             关联企业
           </span>
-          <div class="inputBox" style="border-bottom: none">
+          <div class="inputBox" style="border-bottom: none" @tap="toChoose">
             <input placeholder="" v-model="form.associationCompanyName" disabled class="myIpt">
             <van-icon name="arrow" />
           </div>
@@ -372,17 +372,21 @@
 </template>
 
 <script>
-import { getUserLocalStorageInfo,getByCodes,companyExamineGetById,companyExamineExamine,getAllBaseCompany } from "@/js_sdk/http";
+import { getUserLocalStorageInfo,getByCodes,companyExamineGetById,companyExamineExamine } from "@/js_sdk/http";
 
 export default {
   name: "inventoryReview",
   onLoad(options){
-    console.log('options:',options)
+    uni.$on('selectInfo',e=>{
+      console.log('eeeeeeeeeee',JSON.parse(e))
+    })
     this.id = options.id
     this.proveType = options.proveType
+    // this.getCompanyList()
+  },
+  onShow(){
     this.getById()
     this.getByCodes()
-    this.getCompanyList()
   },
   data(){
     return{
@@ -477,11 +481,11 @@ export default {
       this.form.settleInType = event.detail
     },
     onChange2(event) {
-      console.log(event)
+      // console.log(event)
       this.form.state = event.detail
     },
     onChange3(event) {
-      console.log(event)
+      // console.log(event)
       this.form.handleOpinions = event.detail
     },
     deleteRYXXZP(event) {
@@ -489,7 +493,7 @@ export default {
       this.$forceUpdate();
     },
     uploadRYXXZP(event) {
-      console.log(event)
+      // console.log(event)
       let that = this;
       const { file } = event.detail;
       uni.uploadFile({
@@ -512,7 +516,7 @@ export default {
       this.$forceUpdate();
     },
     uploadRYXXZP1(event) {
-      console.log(event)
+      // console.log(event)
       let that = this;
       const { file } = event.detail;
       uni.uploadFile({
@@ -535,7 +539,7 @@ export default {
       this.$forceUpdate();
     },
     uploadRYXXZP2(event) {
-      console.log(event)
+      // console.log(event)
       let that = this;
       const { file } = event.detail;
       uni.uploadFile({
@@ -646,10 +650,11 @@ export default {
       this.show = true
     },
     onConfirm(e){
-      console.log(e)
+      // console.log(e)
       switch (this.popType) {
         case "币种":
           this.form.currency = e.detail.value.label
+          this.form.currencyStr = e.detail.value.label
           break;
       }
       this.show = false
@@ -689,11 +694,11 @@ export default {
       this.timeShow = false
       // this.getRoomTime(this.startTime)
     },
-    getCompanyList(){
-      getAllBaseCompany({}).then(res=>{
-        this.companyOptions = res
-      })
-    }
+    toChoose(){
+      uni.navigateTo({
+        url: "/pages/subPackages/todo/associated"
+      });
+    },
   }
 }
 </script>