wk
2024-08-13 b73d5b4f9d70e997690121a04a8e93e40327d10a
pages/customer-page/customer-my/customer-my.vue
@@ -4,10 +4,65 @@
         <view class="navgation">我的</view>
      </view>
      <view class="personal-information">
         <view class="personal-information-block" v-if="userInfo.isBuyFlag=='1'?true:false">
            <view class="block-main">
               <view class="huodai">
                  <combined-title title="我的购买证"
                     @rightText="addGouMai">
                     <template v-slot:rightText>
                        <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">
                     <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="
                                 >
                              </u-cell>
                           </u-swipe-action-item>
                        </u-cell-group>
                     </u-swipe-action> -->
                  </view>
               </view>
            </view>
         </view>
         <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>
@@ -75,15 +130,18 @@
               type="primary"
               @click="userManage"
               v-if="roleType == 1 && userEntity.isHostUser === '0'"></u-button></view>
         <!-- <view class="logout"><u-button text="修改密码"
         <view class="logout"><u-button text="修改密码"
               type="primary"
               @click="modifyPwd"></u-button></view>
         <view class="logout"><u-button text="重置密码"
         <!-- <view class="logout"><u-button text="重置密码"
               type="primary"
               @click="initPwd"></u-button></view> -->
         <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>
      <!-- 新建车队弹出框 -->
@@ -116,8 +174,7 @@
                  @click="addNewGroupClick"></u-button></view>
         </u-popup>
      </view>
      <!-- 删除货代模态框 -->
      <!-- 删除承运商模态框 -->
      <view class="deleteHuoDaiModal">
         <u-modal :show="deleteHuoDaiShow"
            :title="deleteHuoDaiTitle"
@@ -150,34 +207,11 @@
            @confirm="logoutConfirm"
            @cancel="logoutCancel"></u-modal>
      </view>
      <!-- 重置密码弹出框 -->
      <!-- <view class="initPwdModal">
         <u-modal :show="initPwdShow"
            title="重置密码"
            showCancelButton
            content="初始密码将变更为123456,是否确认重置"
            @confirm="initPwdConfirm"
            @cancel="initPwdCancel"></u-modal>
      </view> -->
      <!-- 修改密码弹出框 -->
      <!-- <view class="modifyPwdModal">
         <u-modal :show="modifyPwdShow"
            title="修改密码"
            showCancelButton
            @confirm="modifyPwdConfirm"
            @cancel="modifyPwdCancel">
            <view class="modifyPwd">
               <u-input v-model="passwordModified"
                  placeholder="请输入修改后的密码"
                  border="surround"
                  type="password"></u-input>
            </view>
         </u-modal>
      </view> -->
   </view>
</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 {
@@ -186,7 +220,10 @@
      },
      data() {
         return {
            radio:'1',
            userInfo: {},
            huoDaiData: [],
            BuyCardData:[],
            fleetData: [],
            // 新建车队
            addGroupForm: {
@@ -197,8 +234,8 @@
            options1: [{
               text: '删除'
            }],
            // 删除货代模态框
            deleteHuoDaiId: null, // 删除货代id
            // 删除承运商模态框
            deleteHuoDaiId: null, // 删除承运商id
            deleteHuoDaiShow: false,
            deleteHuoDaiTitle: '',
            deleteHuoDaiContent: '',
@@ -215,7 +252,8 @@
            userEntity: {},
            initPwdShow: false,
            modifyPwdShow: false,
            passwordModified: ''
            passwordModified: '',
            phoneList:[]
         };
      },
      computed: {
@@ -224,11 +262,68 @@
         }
      },
      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:'phone'
               },
               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 => {
                        this.phoneList=res.data.data.records
                     },
                     fail: err => {
                     }
                  })
               },
               fail: err => {
               }
               })
         },
         // 获取货代列表
         getUserEntity() {
            uni.showLoading({
               title: '加载中...'
            });
            this.$reqGet('getUserEntity').then(res => {
               this.userInfo = res.data;
               this.getBuyCardList();
            })
         },
         getBuyCardList() {
            uni.showLoading({
               title: '加载中...'
            });
            this.$reqGet('getBuyCardList',{customerId: this.userInfo.customerid,status:this.radio}).then(res => {
               uni.hideLoading();
               this.BuyCardData = res.data;
            });
         },
         // 获取承运商列表
         getAllHuoDaiByCustomerId() {
            uni.showLoading({
               title: '加载中...'
@@ -248,10 +343,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: '/subPages/addTo-freightForwarder-purchasePermit/addTo-freightForwarder-purchasePermit'
            });
         },
         // 添加车队
@@ -292,14 +393,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 + '吗?';
               }
            });
         },
@@ -363,7 +464,7 @@
                  this.getFleet();
               });
         },
         // 货代详情
         // 承运商详情
         toFreightForwarderDetails(userId) {
            uni.navigateTo({
               url: `/pages/customer-page/freight-forwarder-details/freight-forwarder-details?userId=${userId}`
@@ -378,6 +479,25 @@
         logout() {
            this.logoutShow = true;
         },
         contactUs(){
            let data=[]
            this.phoneList.map(item=>{
               item.value.split(',').map(ite=>{
                  data.push(ite)
               })
            })
            uni.showActionSheet({
            itemList: Array.from(new Set(data)),
            success: (res) => {
               uni.makePhoneCall({
                  phoneNumber:Array.from(new Set(data))[res.tapIndex + 1]
               })
            },
            fail: (err) => {
               console.log('弹窗取消');
            }
            });
         },
         logoutConfirm() {
            redirectLogin();
            this.$store.commit('changeisLogin', false)
@@ -385,6 +505,13 @@
         },
         logoutCancel() {
            this.logoutShow = false;
         },
         modifyPwd() {
            this.$store.commit('changeisLogin', false)
            this.$store.dispatch('websocketOnClose')
            uni.reLaunch({
               url: `/pages/login/resetPassword/resetPassword?phone=${this.userInfo.phone}&idCard=${this.userInfo.idCard}`
            })
         },
         // 跳转用户管理页面
         userManage() {
@@ -403,7 +530,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);
@@ -541,4 +680,11 @@
         border: 1rpx solid rgb(220, 223, 230);
      }
   }
   .chage{
      width: 280rpx;
      height: 50rpx;
      display: flex;
      justify-content: space-between;
      align-items: center;
   }
</style>