yangan
2025-03-24 76f165afb5462e1731540f761d04c621aee3cfb7
pages/customer-page/customer-my/customer-my.vue
@@ -13,32 +13,62 @@
                        <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>
                     <u-tag text="拒绝"
                        :type="radio==3?'primary':'info'"
                        plain
                        size="mini"
                        class="tags"
                        @click="checkRadio(3)"></u-tag>
                     </view>
                  <view class="huodai-list">
                     <u-swipe-action>
                     <view class="buylist">
                        <view v-for="(item, index) in BuyCardData" :key="index" class="buylists" @click=addGouMai(item)>
                           <view >{{item.productName}}</view>
                           <view >{{item.buyTotal}}/{{item.surplus}}</view>
                           <view >{{item.endDate}}</view>
                           <view >{{item.status==0?'待生效':item.status==1?'生效':item.status==2?'废弃':'拒绝'}}</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>
         </view>
         <view class="personal-information-block">
         <!-- <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>
@@ -66,7 +96,140 @@
                  </view>
               </view>
            </view>
         </view> -->
         <view class="information-block">
         <view class="personal-information">
            <view class="personal-information-block">
               <view class="block-main">
                  <view class="information-line">
                     <view class="line-label">
                        <image src="https://wrzs.czjlchem.com:9090/appimg/image/banner/phonenum.png"
                           mode="widthFix"></image>
                        <view class="label-text">手机号</view>
                     </view>
                     <view class="information-value">
                        {{ userInfo.phone || '' }}
                     </view>
                  </view>
                  <view class="information-line">
                     <view class="line-label">
                        <image src="https://wrzs.czjlchem.com:9090/appimg/image/banner/carnum.png"
                           mode="widthFix"></image>
                        <view class="label-text">姓名</view>
                     </view>
                     <view class="information-value">
                        {{ userInfo.name || '' }}
                     </view>
                  </view>
                  <view class="information-line">
                     <view class="line-label">
                        <image src="https://wrzs.czjlchem.com:9090/appimg/image/banner/carnum.png"
                           mode="widthFix"></image>
                        <view class="label-text">角色</view>
                     </view>
                     <view class="information-value">
                        {{  '客户' }}
                     </view>
                  </view>
                  <!-- <view class="information-line"
                     @click="">
                     <view class="line-label">
                        <image src="https://wrzs.czjlchem.com:9090/appimg/image/banner/personalicon.png"
                           mode="widthFix"></image>
                        <view class="label-text">身份证号</view>
                     </view>
                     <view class="information-value">
                        {{ idCard || '' }}
                     </view>
                  </view> -->
                  <!-- <view class="information-line">
                     <view class="line-label">
                        <image src="https://wrzs.czjlchem.com:9090/appimg/image/banner/weighnum.png"
                           mode="widthFix"></image>
                        <view class="label-text">体重</view>
                     </view>
                     <view class="information-value">
                        {{ userInfo.weight || '' }}
                     </view>
                  </view> -->
                     <!-- 由于是自定义icon  非设计图icon 所以要加上这个style="margin-left: 1.5%;"
                       icon 下载格式为18x18-->
                  <!-- <view class="information-line"
                     @click="modifyPrint">
                     <view class="line-label"
                        style="margin-left: 1.5%;">
                        <image src="https://wrzs.czjlchem.com:9090/appimg/image/banner/printer.png"
                           mode="widthFix"
                           style="width: 18px;"></image>
                        <view class="label-text">磅单样式</view>
                     </view>
                     <view class="information-value">
                        <view class="">
                           {{ currentSelectedPrintStyle===1?'一页两联':'一页四联'}}
                        </view>
                        <u-icon name="arrow-right"
                           size="36"></u-icon>
                     </view>
                  </view> -->
                  <!-- <view class="information-line"
                     @click="addressManageHandle">
                     <view class="line-label"
                        style="margin-left: 1.5%;">
                        <image src="https://wrzs.czjlchem.com:9090/appimg/image/banner/address.png"
                           mode="widthFix"
                           style="width: 18px;"></image>
                        <view class="label-text"
                           style="width:220rpx ;">送货客户管理</view>
                     </view>
                     <view class="">
                        <u-icon name="arrow-right"
                           size="36"></u-icon>
                     </view>
                  </view> -->
                  <!-- <view class="information-line"
                     @click="scoreDetail">
                     <view class="line-label"
                        style="margin-left: 1.5%;">
                        <image src="https://wrzs.czjlchem.com:9090/appimg/image/banner/score.png"
                           mode="widthFix"
                           style="width: 36rpx;position: relative;left: 8rpx;"></image>
                        <view class="label-text">我的积分</view>
                     </view>
                     <view class="information-value">
                        <view class="">
                           {{ userInfo.integral || '' }}
                        </view>
                        <view class="">
                           <u-icon name="arrow-right"
                              size="36"></u-icon>
                        </view>
                     </view>
                  </view> -->
                  <!-- <view class="information-line last"
                     @click="scoreCert">
                     <view class="line-label"
                        style="margin-left: 1.5%;">
                        <image src="https://wrzs.czjlchem.com:9090/appimg/image/banner/score.png"
                           mode="widthFix"
                           style="width: 36rpx;position: relative;left: 8rpx;"></image>
                        <view class="label-text">剧毒化学品道路运输通行证</view>
                     </view>
                     <view class="information-value">
                        <view class="">
                           {{ '' }}
                        </view>
                        <view class="">
                           <u-icon name="arrow-right"
                              size="36"></u-icon>
                        </view>
                     </view>
                  </view> -->
               </view>
            </view>
         </view>
      </view>
         <view class="personal-information-block">
            <view class="block-main">
               <view class="fleet-container">
@@ -78,11 +241,12 @@
                  </combined-title>
                  <view class="fleet-list">
                     <u-swipe-action>
                        <u-cell-group :border="false">
                        <u-cell-group :border="false" style="z-index: 0;">
                           <u-swipe-action-item :options="options1"
                              v-for="(item, index) in fleetData"
                              :key="item.id"
                              :name="item.id"
                              style="z-index: 0;"
                              @click="deleteFleetClick">
                              <u-cell :title="item.name"
                                 :value="item.userSijisum + '辆'"
@@ -105,7 +269,7 @@
         <view class="statistics"><u-button text="用户管理"
               type="primary"
               @click="userManage"
               v-if="roleType == 1 && userEntity.isHostUser === '0'"></u-button></view>
               v-if="roleType == 1 && userInfo.isHostUser === 0"></u-button></view>
         <view class="logout"><u-button text="修改密码"
               type="primary"
               @click="modifyPwd"></u-button></view>
@@ -115,6 +279,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 +314,7 @@
                  @click="addNewGroupClick"></u-button></view>
         </u-popup>
      </view>
      <!-- 删除货代模态框 -->
      <!-- 删除承运商模态框 -->
      <view class="deleteHuoDaiModal">
         <u-modal :show="deleteHuoDaiShow"
            :title="deleteHuoDaiTitle"
@@ -185,6 +351,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 +360,7 @@
      },
      data() {
         return {
            radio:'1',
            userInfo: {},
            huoDaiData: [],
            BuyCardData:[],
@@ -206,8 +374,8 @@
            options1: [{
               text: '删除'
            }],
            // 删除货代模态框
            deleteHuoDaiId: null, // 删除货代id
            // 删除承运商模态框
            deleteHuoDaiId: null, // 删除承运商id
            deleteHuoDaiShow: false,
            deleteHuoDaiTitle: '',
            deleteHuoDaiContent: '',
@@ -224,19 +392,65 @@
            userEntity: {},
            initPwdShow: false,
            modifyPwdShow: false,
            passwordModified: ''
            passwordModified: '',
            phoneList:[]
         };
      },
      computed: {
         roleType() {
            return uni.getStorageSync('roleType');
         },
         userInfo(){
               return uni.getStorageSync('userInfo');
         }
      },
      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 +465,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,17 +490,25 @@
               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'
            });
         addGouMai(data){
            if(data){
               if(data.status==3){
                  uni.navigateTo({
                     url: '/subPages/addTo-freightForwarder-purchasePermit/addTo-freightForwarder-purchasePermit?data='+encodeURIComponent(JSON.stringify(data))
                  });
               }
            }else{
               uni.navigateTo({
                  url: '/subPages/addTo-freightForwarder-purchasePermit/addTo-freightForwarder-purchasePermit'
               });
            }
         },
         // 添加车队
         addFleet() {
@@ -326,14 +548,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 +619,7 @@
                  this.getFleet();
               });
         },
         // 货代详情
         // 承运商详情
         toFreightForwarderDetails(userId) {
            uni.navigateTo({
               url: `/pages/customer-page/freight-forwarder-details/freight-forwarder-details?userId=${userId}`
@@ -411,6 +633,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 +679,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);
@@ -467,6 +714,9 @@
   ::v-deep.customer-my {
      width: 100%;
      margin: vww(90) auto;
      :v-deep .u-cell-group__wrapper{
         z-index: 0!important;
      }
      .driver-banner {
         width: 100%;
@@ -498,7 +748,7 @@
         &-block {
            width: 690rpx;
            min-height: 478rpx;
            min-height: 300rpx;
            background: #ffffff;
            box-shadow: 0rpx 0rpx 14rpx 0rpx rgba(73, 120, 240, 0.14), 0rpx 7rpx 45rpx 0rpx rgba(73, 120, 240, 0.12);
            border-radius: 20rpx;
@@ -513,7 +763,77 @@
            }
         }
      }
      .information-block {
         width: 100%;
         .personal-information {
            width: 100%;
            display: flex;
            justify-content: center;
            position: relative;
            top: vww(-10);
            &-block {
               width: 690rpx;
               height: 350rpx;
               background: #ffffff;
               box-shadow: 0rpx 0rpx 14rpx 0rpx rgba(73, 120, 240, 0.14), 0rpx 7rpx 45rpx 0rpx rgba(73, 120, 240, 0.12);
               border-radius: 20rpx;
               display: flex;
               flex-direction: column;
               justify-content: space-between;
               .block-main {
                  width: 636rpx;
                  margin: vww(10) vww(14);
               }
               .information-line {
                  @include flex;
                  width: 636rpx;
                  height: vww(45);
                  border-bottom: 1rpx solid #f0f1f6;
                  .line-label {
                     width: 50%;
                     height: 90rpx;
                     @include flex;
                     image {
                        width: 50rpx;
                        height: 50rpx;
                     }
                     .label-text {
                        flex: 0.8;
                        font-size: 30rpx;
                        font-weight: 400;
                        color: #000000;
                        line-height: 32rpx;
                        text-align: left;
                     }
                  }
                  .information-value {
                     min-width: vww(125);
                     @include flex;
                     font-size: 30rpx;
                     font-weight: 400;
                     color: #000000;
                     line-height: 85rpx;
                  }
               }
               .last {
                  border-bottom: 0;
                  .information-value {
                     justify-content: space-between;
                  }
               }
            }
         }
      }
      .huodai {
         .huodai-list {
            .u-swipe-action {
@@ -533,6 +853,9 @@
      .fleet-container {
         .fleet-list {
            .u-swipe-action {
                .u-cell-group__wrapper {
                  z-index: 0;
               }
               .u-swipe-action-item {
                  .u-swipe-action-item__right {
                     .u-swipe-action-item__right__button {
@@ -582,4 +905,11 @@
         border: 1rpx solid rgb(220, 223, 230);
      }
   }
   .chage{
      width: 400rpx;
      height: 50rpx;
      display: flex;
      justify-content: space-between;
      align-items: center;
   }
</style>