wk
2024-08-13 c9c81928d1c97c2f98868996745b868f66e6ca4b
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,9 +130,18 @@
               type="primary"
               @click="userManage"
               v-if="roleType == 1 && userEntity.isHostUser === '0'"></u-button></view>
         <view class="logout"><u-button text="修改密码"
               type="primary"
               @click="modifyPwd"></u-button></view>
         <!-- <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>
      <!-- 新建车队弹出框 -->
@@ -103,9 +167,6 @@
                        border="none"
                        placeholder="请输入车队名称"></u--input>
                  </u-form-item>
                  <!-- <u-form-item label="车牌" borderBottom ref="cars" labelWidth="80">
              <u--textarea maxlength="2000" v-model="addGroupForm.carNums" placeholder="请输入车牌" height="150"></u--textarea>
            </u-form-item> -->
               </u--form>
            </view>
            <view class="addCarButton"><u-button text="添加"
@@ -113,8 +174,7 @@
                  @click="addNewGroupClick"></u-button></view>
         </u-popup>
      </view>
      <!-- 删除货代模态框 -->
      <!-- 删除承运商模态框 -->
      <view class="deleteHuoDaiModal">
         <u-modal :show="deleteHuoDaiShow"
            :title="deleteHuoDaiTitle"
@@ -138,7 +198,7 @@
            <view class="slot-content"><rich-text :nodes="deleteFleetContent"></rich-text></view>
         </u-modal>
      </view>
      <!-- 退出登录弹出框 -->
      <view class="logoutModel">
         <u-modal :show="logoutShow"
            :title="logoutTitle"
@@ -151,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 {
@@ -159,7 +220,10 @@
      },
      data() {
         return {
            radio:'1',
            userInfo: {},
            huoDaiData: [],
            BuyCardData:[],
            fleetData: [],
            // 新建车队
            addGroupForm: {
@@ -170,8 +234,8 @@
            options1: [{
               text: '删除'
            }],
            // 删除货代模态框
            deleteHuoDaiId: null, // 删除货代id
            // 删除承运商模态框
            deleteHuoDaiId: null, // 删除承运商id
            deleteHuoDaiShow: false,
            deleteHuoDaiTitle: '',
            deleteHuoDaiContent: '',
@@ -185,7 +249,11 @@
            logoutTitle: '提示',
            logoutContent: '是否确认退出',
            // 用户信息对象
            userEntity: {}
            userEntity: {},
            initPwdShow: false,
            modifyPwdShow: false,
            passwordModified: '',
            phoneList:[]
         };
      },
      computed: {
@@ -193,22 +261,75 @@
            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(',').map(ite=>{
                                 return ite.split(":")[1]
                              })
                           }
                        })
                     },
                     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: '加载中...'
@@ -228,10 +349,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'
            });
         },
         // 添加车队
@@ -272,14 +399,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 + '吗?';
               }
            });
         },
@@ -343,7 +470,7 @@
                  this.getFleet();
               });
         },
         // 货代详情
         // 承运商详情
         toFreightForwarderDetails(userId) {
            uni.navigateTo({
               url: `/pages/customer-page/freight-forwarder-details/freight-forwarder-details?userId=${userId}`
@@ -358,11 +485,33 @@
         logout() {
            this.logoutShow = true;
         },
         contactUs(){
            uni.showActionSheet({
               itemList: this.phoneList,
               success: (res) => {
               uni.makePhoneCall({
                  phoneNumber:this.phoneList[res.tapIndex]
               })
            },
            fail: (err) => {
               console.log('弹窗取消');
            }
            });
         },
         logoutConfirm() {
            redirectLogin();
            this.$store.commit('changeisLogin', false)
            this.$store.dispatch('websocketOnClose')
         },
         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() {
@@ -381,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);
@@ -513,5 +674,17 @@
            }
         }
      }
      .modifyPwd {
         width: 100%;
         border: 1rpx solid rgb(220, 223, 230);
      }
   }
   .chage{
      width: 280rpx;
      height: 50rpx;
      display: flex;
      justify-content: space-between;
      align-items: center;
   }
</style>