wk
2024-08-14 b2fb3b39ee0a5b94167f49c6349b6caef08bfdeb
pages/customer-page/customer-my/customer-my.vue
@@ -4,7 +4,7 @@
         <view class="navgation">我的</view>
      </view>
      <view class="personal-information">
         <view class="personal-information-block" v-if="userInfo.isBuyFlag==1?true:false">
         <view class="personal-information-block" v-if="userInfo.isBuyFlag=='1'?true:false">
            <view class="block-main">
               <view class="huodai">
                  <combined-title title="我的购买证"
@@ -13,24 +13,48 @@
                        <text>添加</text>
                     </template>
                  </combined-title>
                  <view class="chage">
                     <u-tag text="待生效"
                        :type="radio==0?'primary':'info'"
                        plain
                        size="mini"
                        class="tags"
                        @click="checkRadio(0)"></u-tag>
                     <u-tag text="生效"
                        :type="radio==1?'primary':'info'"
                        plain
                        size="mini"
                        class="tags"
                        @click="checkRadio(1)"></u-tag>
                     <u-tag text="过期"
                        :type="radio==2?'primary':'info'"
                        plain
                        size="mini"
                        class="tags"
                        @click="checkRadio(2)"></u-tag>
                     </view>
                  <view class="huodai-list">
                     <u-swipe-action>
                     <view class="buylist">
                        <view v-for="(item, index) in BuyCardData" :key="index" class="buylists">
                           <view >{{item.productName}}</view>
                           <view >{{item.buyTotal}}/{{item.surplus}}</view>
                           <view >{{item.endDate}}</view>
                           <view >{{item.status==0?'待生效':item.status==1?'生效':'废弃'}}</view>
                        </view>
                     </view>
                     <!-- <u-swipe-action>
                        <u-cell-group :border="false">
                           <u-swipe-action-item :options="options1"
                              v-for="(item, index) in BuyCardData"
                              :key="item.userId"
                              :name="item.productName">
                              <u-cell :title="item.productName"
                                 :value="item.status==0?'待生效':item.status==1?'生效':'废弃'"
                                 :value="
                                 >
                                 <u-icon name="arrow-right"
                                    color="#999999"
                                    size="30"
                                    slot="right-icon"></u-icon>
                              </u-cell>
                           </u-swipe-action-item>
                        </u-cell-group>
                     </u-swipe-action>
                     </u-swipe-action> -->
                  </view>
               </view>
            </view>
@@ -38,7 +62,7 @@
         <view class="personal-information-block">
            <view class="block-main">
               <view class="huodai">
                  <combined-title title="我的货代"
                  <combined-title title="我的承运商"
                     @rightText="addHuoDai">
                     <template v-slot:rightText>
                        <text>添加</text>
@@ -115,6 +139,9 @@
         <view class="logout"><u-button text="退出登录"
               type="primary"
               @click="logout()"></u-button></view>
         <view class="logout"><u-button text="联系我们"
               type="primary"
               @click="contactUs()"></u-button></view>
      </view>
      <u-toast ref="uToast"></u-toast>
      <!-- 新建车队弹出框 -->
@@ -147,8 +174,7 @@
                  @click="addNewGroupClick"></u-button></view>
         </u-popup>
      </view>
      <!-- 删除货代模态框 -->
      <!-- 删除承运商模态框 -->
      <view class="deleteHuoDaiModal">
         <u-modal :show="deleteHuoDaiShow"
            :title="deleteHuoDaiTitle"
@@ -185,6 +211,7 @@
</template>
<script>
   import { BaseUrl } from '@/api/publicInterface.js'
   import combinedTitle from '@/components/combined-title/combined-title.vue';
   import { customerId, redirectLogin } from '@/utils/status';
   export default {
@@ -193,6 +220,7 @@
      },
      data() {
         return {
            radio:'1',
            userInfo: {},
            huoDaiData: [],
            BuyCardData:[],
@@ -206,8 +234,8 @@
            options1: [{
               text: '删除'
            }],
            // 删除货代模态框
            deleteHuoDaiId: null, // 删除货代id
            // 删除承运商模态框
            deleteHuoDaiId: null, // 删除承运商id
            deleteHuoDaiShow: false,
            deleteHuoDaiTitle: '',
            deleteHuoDaiContent: '',
@@ -224,7 +252,8 @@
            userEntity: {},
            initPwdShow: false,
            modifyPwdShow: false,
            passwordModified: ''
            passwordModified: '',
            phoneList:[]
         };
      },
      computed: {
@@ -233,10 +262,52 @@
         }
      },
      methods: {
         checkRadio(e){
            this.radio=e
            this.getBuyCardList()
         },
         init() {
            this.getAllHuoDaiByCustomerId();
            this.getFleet();
            this.getUserEntity();
            uni.request({
               url:  `${BaseUrl}/admin/dict/page`,
               method: 'GET',
               data: {
                  dictType:'Setings'
               },
               header: {
                  Authorization: 'Bearer' + ' ' + uni.getStorageSync('token'),
                  clientToc: 'Y',
                  'CLIENT_TOC': 'Y',
               },
               success: res => {
                  let dictId=res.data.data?.records[0].id
                  uni.request({
                     url:  `${BaseUrl}/admin/dict/item/page`,
                     method: 'GET',
                     data: {
                        dictId:dictId
                     },
                     header: {
                        Authorization: 'Bearer' + ' ' + uni.getStorageSync('token'),
                        clientToc: 'Y',
                        'CLIENT_TOC': 'Y',
                     },
                     success: res => {
                        res.data.data.records.forEach(item=>{
                           if(item.description.includes('联系')){
                              this.phoneList=item.value.split(',')
                           }
                        })
                     },
                     fail: err => {
                     }
                  })
               },
               fail: err => {
               }
               })
         },
         getUserEntity() {
            uni.showLoading({
@@ -251,12 +322,12 @@
            uni.showLoading({
               title: '加载中...'
            });
            this.$reqGet('getBuyCardList',{customerId: this.userInfo.customerid}).then(res => {
            this.$reqGet('getBuyCardList',{customerId: this.userInfo.customerid,status:this.radio}).then(res => {
               uni.hideLoading();
               this.BuyCardData = res.data;
            });
         },
         // 获取货代列表
         // 获取承运商列表
         getAllHuoDaiByCustomerId() {
            uni.showLoading({
               title: '加载中...'
@@ -276,16 +347,16 @@
               this.fleetData = res.data;
            });
         },
         // 添加货代
         // 添加承运商
         addHuoDai() {
            uni.navigateTo({
               url: '/pages/customer-page/addTo-freightForwarder-driver/addTo-freightForwarder-driver?role=1' // 1代表的是货代
               url: '/pages/customer-page/addTo-freightForwarder-driver/addTo-freightForwarder-driver?role=1' // 1代表的是承运商
            });
         },
         // 添加购买证
         addGouMai(){
            uni.navigateTo({
               url: '/pages/customer-page/addTo-freightForwarder-purchasePermit/addTo-freightForwarder-purchasePermit'
               url: '/subPages/addTo-freightForwarder-purchasePermit/addTo-freightForwarder-purchasePermit'
            });
         },
         // 添加车队
@@ -326,14 +397,14 @@
               });
            this.updateGroupShow = false;
         },
         // 删除货代
         // 删除承运商
         deleteHuoDaiClick(args) {
            console.log(args, '货代id');
            console.log(args, '承运商id');
            this.deleteHuoDaiId = args.name;
            this.deleteHuoDaiShow = true;
            this.huoDaiData.forEach(item => {
               if (item.userId == this.deleteHuoDaiId) {
                  this.deleteHuoDaiContent = '确认删除货代' + item.name + '吗?';
                  this.deleteHuoDaiContent = '确认删除承运商' + item.name + '吗?';
               }
            });
         },
@@ -397,7 +468,7 @@
                  this.getFleet();
               });
         },
         // 货代详情
         // 承运商详情
         toFreightForwarderDetails(userId) {
            uni.navigateTo({
               url: `/pages/customer-page/freight-forwarder-details/freight-forwarder-details?userId=${userId}`
@@ -411,6 +482,19 @@
         },
         logout() {
            this.logoutShow = true;
         },
         contactUs(){
            uni.showActionSheet({
               itemList: this.phoneList,
               success: (res) => {
               uni.makePhoneCall({
                  phoneNumber:this.phoneList[res.tapIndex].split(":")[1]
               })
            },
            fail: (err) => {
               console.log('弹窗取消');
            }
            });
         },
         logoutConfirm() {
            redirectLogin();
@@ -444,7 +528,19 @@
      justify-content: space-between;
      align-items: center;
   }
   .buylist{
      width: 100%;
      height: 80%;
   }
   .buylists {
      position: relative;
      overflow: hidden;
      @include flex;
      align-items: center;
      font-size: 15px;
      height: 80rpx;
      border-bottom: 1rpx solid rgb(220, 223, 230);
   }
   .utils-button {
      margin-top: vww(35);
@@ -582,4 +678,11 @@
         border: 1rpx solid rgb(220, 223, 230);
      }
   }
   .chage{
      width: 280rpx;
      height: 50rpx;
      display: flex;
      justify-content: space-between;
      align-items: center;
   }
</style>