#
whycq
2023-11-24 e680ee8cc2c34ec2d21c238e8110e4f1501eb8bc
pages/business/cstmr/csmtr.vue
@@ -1,6 +1,11 @@
<template>
   <view>
      <uni-nav-bar left-icon="left" title="甲方单位" @clickLeft="back" @clickRight="scan">
      <view class="status_bar">
         <!-- 这里是状态栏 -->
      </view>
      <uni-nav-bar left-icon="left" title="信息公海" @clickLeft="back" @clickRight="scan"  :fixed="true"
         :border="false" rightWidth="160rpx" leftWidth="160rpx"
         >
         <block slot="right">
            <view class="city">
               <view>
@@ -12,8 +17,11 @@
       </uni-nav-bar>
      <!-- 搜索框 -->
      <view class="search-bg">
         <uni-search-bar placeholder="客户代号/名称" bgColor="#f4f4f4"  @confirm="search" />
         <!-- <uni-search-bar placeholder="客户代号/名称" bgColor="#f4f4f4"  @confirm="search" /> -->
         <u-search placeholder="客户代号/名称" v-model="keyword" :clearabled="true" @custom="search()" @search="search()"></u-search>
      </view>
      <view>
         <!-- 客户列表 -->
         <view class="c-list" @click="getDetails(item.id)" v-for="(item,index) in csmtrList" :key="index">
@@ -26,15 +34,15 @@
               <view class="list-item1">电话</view><view class="list-item2">{{item.tel}}</view>
               <view class="list-item1">备注</view><view class="list-item2">{{item.remarks  ? item.remarks : '--'}}</view>
               <view class="list-item1">客户类别</view><view class="list-item2">{{item.cstmrType$}}</view>
               <view class="list-item1">客户行业</view><view class="list-item2">{{item.cstmrType$}}</view>
               <view class="list-item1">产品类别</view><view class="list-item2">{{item.cstmrType$}}</view>
               <view class="list-item1">创建人</view><view class="list-item2">{{item.createBy$}}</view>
               <view class="list-item1">客户行业</view><view class="list-item2">{{item.industry}}</view>
               <view class="list-item1">产品类别</view><view class="list-item2">{{item.productCategory}}</view>
               <view class="list-item1">负责人</view><view class="list-item2">{{item.director$}}</view>
               <view class="list-item1">创建时间</view><view class="list-item2">{{item.createTime$}}</view>
            </view>
         </view>
      </view>
      <!-- <uni-load-more :status="status" :icon-size="16" :content-text="contentText" /> -->
      <u-empty v-if="true" icon="../../../static/image/emptyList.png" v-show="!csmtrList" />
      <u-empty v-if="true" icon="../../../static/image/emptyList.png" v-show="csmtrList.length <= 0" />
      
      <view class="fxbtn">
         <uni-icons type="plusempty" color="#fff" @click="add()" ></uni-icons>
@@ -47,16 +55,19 @@
   export default { 
      data() {
         return {
            keyword: '',
            csmtrList: [],
            last_id: '',
            user: {
               username: '',
               id: 0
               id: 0,
               type: 'user_id'
            },
            userid: 0,
            reload: false,
            status: 'more',
            curr:2,
            curr: 2,
            falg: true,
            contentText: {
               contentdown: '上拉加载更多',
               contentrefresh: '加载中',
@@ -64,25 +75,20 @@
            },
         }
      },
      // 新建按钮事件
      onNavigationBarButtonTap(e) {
         uni.navigateTo({
            url:'/pages/business/cstmr/addCsmtr',
         })
      },
      onShow() {
         setTimeout(()=> {
            this.getCsmtr1()
         },500)
         let that = this
         uni.$on('isRefresh',function(data){
            console.log('监听到事件来自返回的参数:' + data);
            // TODO 下面执行刷新的方法
            that.user.username = data.title
            that.user.id = data.id
            that.user.type = data.key
            that.falg = false
         })
         this.getDetail()
         if (this.falg) {
            this.getDetail()
         }
         setTimeout(()=> {
            this.getCsmtr1()
         },50)
      },
      onReachBottom() {
         this.status = 'more';
@@ -94,6 +100,8 @@
            if (res.code === 200) {
               this.user.username = res.data.username
               this.user.id = res.data.id
               this.type = res.data.type
            } else if (res.code === 403) {
               this.backLogin(res)
            }
@@ -105,16 +113,14 @@
         },
         open() {
            this.show = true 
            console.log(this.columns);
         },
         getUserTree() {
            let _this = this
            uni.request({
               url: 'http://192.168.4.188:9528/dept/user/tree/auth',
               url: `${that.baseUrl}/dept/user/tree/auth`,
               method: 'POST',
               header: {'token' : uni.getStorageSync('token'),},
            }).then((res)=>{
               console.log(res);
            })
         },
         back() {
@@ -129,10 +135,19 @@
         getCsmtr1(e) {
            let that = this
            that.csmtrList = []
            uni.showLoading({})
            let param = {curr:1,limit:4,dept_id: 0,user_id: 67}
            if (this.user.type == 'user_id') {
               param = {curr:1,limit:4,user_id: that.user.id}
            } else if(this.user.type == 'dept_id') {
               param = {curr:1,limit:4,dept_id: that.user.id}
            } else {
               param = {curr:1,limit:4}
            }
            uni.request({
               url: that.baseUrl + '/cstmr/page/auth',
               header: {'token' : uni.getStorageSync('token'),},
               data: {curr:1,limit:4},
               header: {'token' : uni.getStorageSync('token')},
               data: param,
               method:'GET',
               success(result) {
                  if (result.statusCode ===  404) {
@@ -165,14 +180,26 @@
                     });
                  }, 1000);
               },
               complete() {
                  uni.hideLoading()
               }
            })
         },
         getCsmtr() {
            let that = this
            uni.showLoading({})
            let param = {curr:that.curr,limit:4,dept_id: 0,user_id: 67}
            if (this.user.type == 'user_id') {
               param = {curr:that.curr,limit:4,user_id: that.user.id}
            } else if(this.user.type == 'dept_id') {
               param = {curr:that.curr,limit:4,dept_id: that.user.id}
            } else {
               param = {curr:that.curr,limit:4}
            }
            uni.request({
               url: that.baseUrl + '/cstmr/page/auth',
               header: {'token' : uni.getStorageSync('token'),},
               data: {curr:that.curr,limit:4},
               data: param,
               method:'GET',
               success(result) {
                  if (result.statusCode ===  404) {
@@ -206,16 +233,38 @@
                     });
                  }, 1000);
               },
               complete() {
                  uni.hideLoading()
               }
            })
         },
         getDetails(id) {
            uni.navigateTo({
               url: '/pages/business/cstmr/cstmrDetails?id=' + id
               url:  `/pages/business/cstmr/cstmrDetails?id=${id}&type=del`
            })
         },
         // ---
         search() {
            let _this = this
            let param = {curr:1,limit:100,conditionName: 'name'}
            if (this.user.type == 'user_id') {
               param['user_id'] = _this.user.id
               param['condition'] = _this.keyword
            } else if(this.user.type == 'dept_id') {
               param['dept_id'] = _this.user.id
               param['condition'] = _this.keyword
            } else {
               param['condition'] = _this.keyword
            }
            uni.request({
               url: `${_this.baseUrl}/cstmr/page/auth`,
               header: {'token' : uni.getStorageSync('token'),},
               data: param,
               success(res) {
                  res = res.data
                  _this.csmtrList = res.data.records
               }
            })
         },
         backLogin(res) {
            uni.showToast({title: res.msg, icon: "none", position: 'top'})
@@ -230,12 +279,13 @@
</script>
<style>
   .city {
      display: flex;
      align-items: center;
   }
   .uni-nav-bar-text {
      font-size: 12px;
   }
   .nav-bar {
      font-size: 16px;
   }
   .c-list {
      width: 96%;
@@ -276,18 +326,5 @@
      color: #303133;
   } */
   
   .fxbtn {
      position: fixed;
      bottom: 50px;
      right: 10px;
      width: 40px;
      height: 40px;
      background-color: #46a7ff;
      color: #FFF;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 50%;
   }
</style>