|  |  | 
 |  |  |       <view class="status_bar"> | 
 |  |  |          <!-- 这里是状态栏 --> | 
 |  |  |       </view> | 
 |  |  |       <uni-nav-bar left-icon="left" title="客户信息" @clickLeft="back" @clickRight="scan" | 
 |  |  |          :border="false" rightWidth="160rpx" leftWidth="160rpx"> | 
 |  |  |       <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> | 
 |  |  | 
 |  |  |        </uni-nav-bar> | 
 |  |  |       <!-- 搜索框 --> | 
 |  |  |       <view class="search-bg"> | 
 |  |  |          <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"> | 
 |  |  |             <view class="titles"> | 
 |  |  |                <y-title :title="item.name"></y-title> | 
 |  |  |                <y-title :title="item.name"></y-title><view></view> | 
 |  |  |             </view> | 
 |  |  |             <view style="display: grid;grid-template-columns: 1fr 3fr;"> | 
 |  |  |                <view class="list-item1">客户代号</view><view class="list-item2">{{item.uuid}}</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" :style="style"> | 
 |  |  |          <uni-icons :type="iconType" color="#fff" @click="menu()" ></uni-icons> | 
 |  |  |       </view> | 
 |  |  |       <view class="fxbtn1" v-show="iconType == 'closeempty'"> | 
 |  |  |          <uni-icons type="plusempty" color="#fff" @click="add()" ></uni-icons> | 
 |  |  |       </view> | 
 |  |  |       <view class="fxbtn2"  v-show="iconType == 'closeempty'"> | 
 |  |  |          <uni-icons type="download" color="#fff" @click="download()" ></uni-icons> | 
 |  |  |       </view> | 
 |  |  | 		 | 
 |  |  | 		 | 
 |  |  |       <!-- 接取窗口 --> | 
 |  |  |       <view> | 
 |  |  |          <uni-popup ref="inputDialog" type="dialog"> | 
 |  |  |             <view class="popup"> | 
 |  |  |                <!-- 标题 --> | 
 |  |  |                <view class="desc">接取</view> | 
 |  |  |                <scroll-view scroll-y="true" style="height: 23vh;touch-action: none;"> | 
 |  |  |                   <!-- <view style="display: flex;justify-content: center;margin: 8px;align-items: center;" v-for="item in csmtrs"> | 
 |  |  |                      <checkbox style="flex: 1;display: flex;justify-content: flex-end;"></checkbox> | 
 |  |  |                      <view style="flex: 4;">{{item.name}}</view> | 
 |  |  |                   </view> --> | 
 |  |  |                   <view class="u-demo-block__content" style="margin-left: 12rpx;"> | 
 |  |  |                      <view class="u-page__radio-item"> | 
 |  |  |                         <u-radio-group v-model="radiovalue2" placement="column" shape="square" > | 
 |  |  |                            <u-radio | 
 |  |  |                               :customStyle="{marginBottom: '8px'}" | 
 |  |  |                               v-for="(item, index) in csmtrs" | 
 |  |  |                               :key="index" | 
 |  |  |                               :label="item.name" | 
 |  |  |                               :name="item.name" | 
 |  |  |                            > | 
 |  |  |                            </u-radio> | 
 |  |  |                         </u-radio-group> | 
 |  |  |                      </view> | 
 |  |  |                   </view> | 
 |  |  |                </scroll-view> | 
 |  |  |                <view class="btn"> | 
 |  |  |                   <view class="btn-left" @click="close">取消</view> | 
 |  |  |                   <view class="btn-right" @click="confirm">确认</view> | 
 |  |  |                </view> | 
 |  |  | 					 | 
 |  |  |             </view> | 
 |  |  |          </uni-popup> | 
 |  |  |       </view> | 
 |  |  |       <view style="height: 10rpx;"></view> | 
 |  |  |    </view> | 
 |  |  | </template> | 
 |  |  |  | 
 |  |  | 
 |  |  |    export default {  | 
 |  |  |       data() { | 
 |  |  |          return { | 
 |  |  |             csmtrList: [], | 
 |  |  |             last_id: '', | 
 |  |  |             keyword: '', | 
 |  |  |             user: { | 
 |  |  |                username: '', | 
 |  |  |                id: 0 | 
 |  |  |                id: 0, | 
 |  |  |                type: 'user_id' | 
 |  |  |             }, | 
 |  |  |             falg: true, | 
 |  |  |             csmtrList: [], | 
 |  |  |             csmtrs: [], | 
 |  |  |             last_id: '', | 
 |  |  |             userid: 0, | 
 |  |  |             reload: false, | 
 |  |  |             status: 'more', | 
 |  |  | 
 |  |  |                contentrefresh: '加载中', | 
 |  |  |                contentnomore: '没有更多' | 
 |  |  |             }, | 
 |  |  |             radiovalue2: '', | 
 |  |  |             iconType: 'plusempty', | 
 |  |  |             style: 'background-color: #46a7ff;'  | 
 |  |  |          } | 
 |  |  |       }, | 
 |  |  |       // 新建按钮事件 | 
 |  |  | 
 |  |  |           | 
 |  |  |       }, | 
 |  |  |       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.getCsmtr() | 
 |  |  |       }, | 
 |  |  |       methods: { | 
 |  |  |          menu() { | 
 |  |  |             if (this.iconType == 'plusempty') { | 
 |  |  |                this.iconType ='closeempty'  | 
 |  |  |                this.style ='background-color: #c3c3c3;'  | 
 |  |  |             } else { | 
 |  |  |                this.iconType ='plusempty'  | 
 |  |  |                this.style ='background-color: #46a7ff;'  | 
 |  |  |             } | 
 |  |  |             // this.iconType = this.iconType ? 'plusempty' : 'closeempty' | 
 |  |  |          }, | 
 |  |  |          async getDetail() { | 
 |  |  |             let res = await user.getDetail() | 
 |  |  |             if (res.code === 200) { | 
 |  |  | 
 |  |  |          }, | 
 |  |  |          open() { | 
 |  |  |             this.show = true  | 
 |  |  |             console.log(this.columns); | 
 |  |  |          }, | 
 |  |  |          download() { | 
 |  |  |             let _this = this | 
 |  |  |             uni.request({ | 
 |  |  |                url: `${_this.baseUrl}/cstmr2/all/get/kv`, | 
 |  |  |                header: {'token' : uni.getStorageSync('token')}, | 
 |  |  |                method: 'POST', | 
 |  |  |                success(res) { | 
 |  |  |                   res = res.data | 
 |  |  |                   if (res.data) { | 
 |  |  |                      _this.csmtrs = res.data | 
 |  |  |                   } | 
 |  |  |                } | 
 |  |  |             }) | 
 |  |  |             this.$refs.inputDialog.open() | 
 |  |  |             this.menu() | 
 |  |  |          }, | 
 |  |  |          add() { | 
 |  |  |             uni.navigateTo({ | 
 |  |  |                url:'/pages/business/cstmr/addCsmtr?type=' + 1, | 
 |  |  |             }) | 
 |  |  |             this.menu() | 
 |  |  |          }, | 
 |  |  |          close() { | 
 |  |  |             this.$refs.inputDialog.close() | 
 |  |  |          }, | 
 |  |  |          confirm() { | 
 |  |  |             let _this = this | 
 |  |  |             uni.request({ | 
 |  |  |                url: `${_this.baseUrl}/cstmr2/add/auth`, | 
 |  |  |                header: { | 
 |  |  |                   'token' : uni.getStorageSync('token'), | 
 |  |  |                   'content-type':'application/x-www-form-urlencoded', | 
 |  |  |                   }, | 
 |  |  |                method: 'POST', | 
 |  |  |                data: {name: _this.radiovalue2}, | 
 |  |  |                success(res) { | 
 |  |  |                   res = res.data | 
 |  |  |                   if (res.code === 200) { | 
 |  |  |                      _this.csmtrList = [] | 
 |  |  |                      setTimeout(()=> { | 
 |  |  |                         _this.getCsmtr1() | 
 |  |  |                      },100) | 
 |  |  |                   } | 
 |  |  |                } | 
 |  |  |             }) | 
 |  |  |             this.$refs.inputDialog.close() | 
 |  |  |          }, | 
 |  |  |          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() { | 
 |  |  | 
 |  |  |          getCsmtr1(e) { | 
 |  |  |             let that = this | 
 |  |  |             that.csmtrList = [] | 
 |  |  |             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 { | 
 |  |  |                param = {curr:1,limit:4,dept_id: that.user.id} | 
 |  |  |             } | 
 |  |  |             uni.request({ | 
 |  |  |                url: that.baseUrl + '/cstmr2/page/auth', | 
 |  |  |                header: {'token' : uni.getStorageSync('token'),}, | 
 |  |  |                data: {curr:1,limit:4}, | 
 |  |  |                data: param, | 
 |  |  |                method:'GET', | 
 |  |  |                success(result) { | 
 |  |  |                   if (result.statusCode ===  404) { | 
 |  |  | 
 |  |  |          }, | 
 |  |  |          getCsmtr() { | 
 |  |  |             let that = this | 
 |  |  |             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 { | 
 |  |  |                param = {curr:that.curr,limit:4,dept_id: that.user.id} | 
 |  |  |             } | 
 |  |  |             uni.request({ | 
 |  |  |                url: that.baseUrl + '/cstmr/page/auth', | 
 |  |  |                url: that.baseUrl + '/cstmr2/page/auth', | 
 |  |  |                header: {'token' : uni.getStorageSync('token'),}, | 
 |  |  |                data: {curr:that.curr,limit:4}, | 
 |  |  |                data: param, | 
 |  |  |                method:'GET', | 
 |  |  |                success(result) { | 
 |  |  |                   if (result.statusCode ===  404) { | 
 |  |  | 
 |  |  |          }, | 
 |  |  |          getDetails(id) { | 
 |  |  |             uni.navigateTo({ | 
 |  |  |                url: '/pages/business/cstmr/cstmrDetails?id=' + id | 
 |  |  |                url: `/pages/business/cstmr/cstmrDetails?id=${id}&type=info` | 
 |  |  |             }) | 
 |  |  |          }, | 
 |  |  |          // --- | 
 |  |  | 
 |  |  |       background-color: #fff; | 
 |  |  |       border-radius: 10rpx; | 
 |  |  |       margin: 20rpx 2% 0 2%; | 
 |  |  |       display: flex; | 
 |  |  |       flex-direction: column; | 
 |  |  |       /* display: flex; | 
 |  |  |       flex-direction: column; */ | 
 |  |  |       font-size: 24rpx; | 
 |  |  |    } | 
 |  |  |    /* 父view 换 scroll-view */ | 
 |  |  | 
 |  |  |    } | 
 |  |  |    .titles { | 
 |  |  |       padding-left: 10rpx; | 
 |  |  |       text-indent: 5rpx; | 
 |  |  |       /* text-indent: 5rpx; */ | 
 |  |  |       margin-top: 10rpx; | 
 |  |  |    } | 
 |  |  |    /* .title { | 
 |  |  | 
 |  |  |       font-weight: 900; | 
 |  |  |       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%; | 
 |  |  | 		 | 
 |  |  |    } | 
 |  |  | 	 | 
 |  |  |    .fxbtn1 { | 
 |  |  |       position: fixed; | 
 |  |  |       bottom: 50px; | 
 |  |  |       right: 60px; | 
 |  |  |       width: 40px; | 
 |  |  |       height: 40px; | 
 |  |  |       background-color: #46a7ff; | 
 |  |  |       color: #FFF; | 
 |  |  |       display: flex; | 
 |  |  |       align-items: center; | 
 |  |  |       justify-content: center; | 
 |  |  |       border-radius: 50%; | 
 |  |  | 		 | 
 |  |  |    } | 
 |  |  | 	 | 
 |  |  |    .fxbtn2 { | 
 |  |  |       position: fixed; | 
 |  |  |       bottom: 50px; | 
 |  |  |       right: 110px; | 
 |  |  |       width: 40px; | 
 |  |  |       height: 40px; | 
 |  |  |       background-color: #46a7ff; | 
 |  |  |       color: #FFF; | 
 |  |  |       display: flex; | 
 |  |  |       align-items: center; | 
 |  |  |       justify-content: center; | 
 |  |  |       border-radius: 50%; | 
 |  |  | 		 | 
 |  |  |    } | 
 |  |  | 	 | 
 |  |  | 	 | 
 |  |  |    .popup { | 
 |  |  |       width: 80vw; | 
 |  |  |       min-height: 100rpx; | 
 |  |  |       background-color: #FFF; | 
 |  |  |       border-radius: 25rpx; | 
 |  |  |    } | 
 |  |  |    .desc { | 
 |  |  |       height: 100rpx; | 
 |  |  |       line-height: 100rpx; | 
 |  |  |       width: 100%; | 
 |  |  |       color: #606266; | 
 |  |  |       text-align: center; | 
 |  |  |       font-size: 16px; | 
 |  |  |    } | 
 |  |  |    .btn { | 
 |  |  |       display: flex; | 
 |  |  |       height: 90rpx; | 
 |  |  |       margin-top: 20rpx; | 
 |  |  |       border-top: 1px solid #DCDFE6; | 
 |  |  |       justify-content: center; | 
 |  |  |       align-items: center; | 
 |  |  |    } | 
 |  |  |    .btn-left { | 
 |  |  |       display: flex; | 
 |  |  |       flex: 1; | 
 |  |  |       height: 100%; | 
 |  |  |       justify-content: center; | 
 |  |  |       align-items: center; | 
 |  |  |       color: #606266; | 
 |  |  |       border-right: 1px solid #DCDFE6; | 
 |  |  |    } | 
 |  |  |    .btn-right { | 
 |  |  |       display: flex; | 
 |  |  |       flex: 1; | 
 |  |  |       justify-content: center; | 
 |  |  |       align-items: center; | 
 |  |  |       color: #409EFF; | 
 |  |  |    } | 
 |  |  | </style> |