wk
2024-08-14 b2fb3b39ee0a5b94167f49c6349b6caef08bfdeb
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>
@@ -78,12 +133,15 @@
         <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>
               @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: {
@@ -223,22 +261,73 @@
            return uni.getStorageSync('roleType');
         }
      },
      onShow() {
         this.init();
      },
      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({
               title: '加载中...'
            });
            this.$reqGet('getUserEntity').then(res => {
               this.userEntity = res.data;
               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: '加载中...'
@@ -258,10 +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: '/subPages/addTo-freightForwarder-purchasePermit/addTo-freightForwarder-purchasePermit'
            });
         },
         // 添加车队
@@ -302,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 + '吗?';
               }
            });
         },
@@ -373,7 +468,7 @@
                  this.getFleet();
               });
         },
         // 货代详情
         // 承运商详情
         toFreightForwarderDetails(userId) {
            uni.navigateTo({
               url: `/pages/customer-page/freight-forwarder-details/freight-forwarder-details?userId=${userId}`
@@ -385,52 +480,21 @@
               url: `/pages/customer-page/fleet-management/fleet-management?id=${id}`
            });
         },
         updateInfo() {
            this.$reqPost('updateUser', this.userEntity, 'json').then(res => {
               uni.hideLoading()
               if (res.code == 0) {
                  uni.showToast({
                     title: '重置成功',
                     duration: 2000,
                     icon: 'success'
                  })
               } else {
                  this.$u.toast(res.msg ? res.msg : '修改失败');
               }
            }).catch(err => {
               this.$u.toast('修改失败');
            });
         },
         initPwd() {
            this.initPwdShow = true
         },
         initPwdConfirm() {
            this.initPwdShow = false
            uni.showLoading({
               title: '加载中'
            })
            this.userEntity.password = '123456'
            this.updateInfo()
         },
         initPwdCancel() {
            this.initPwdShow = false
         },
         modifyPwd() {
            this.modifyPwdShow = true
         },
         modifyPwdConfirm() {
            if (this.passwordModified.length === 0) {
               return this.$u.toast('密码不能为空')
            }
            this.modifyPwdShow = false
            this.userEntity.password = this.passwordModified
            this.updateInfo()
         },
         modifyPwdCancel() {
            this.modifyPwdShow = false
         },
         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();
@@ -439,6 +503,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() {
@@ -457,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);
@@ -595,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>