Bläddra i källkod

新增注销用户功能/BUG修复

fanghuisheng 1 år sedan
förälder
incheckning
3e8a52d575

+ 9 - 1
src/api/system/user.js

@@ -46,4 +46,12 @@ export function appAdd(data) {
     method: 'POST',
     data: data
   })
-}
+}
+
+// 注销用户个人信息
+export function appDel(data) {
+  return request({
+    url: `/system/user/${data.id}`,
+    method: 'DELETE',
+  })
+}

+ 0 - 183
src/components/list-test/list-test.vue

@@ -1,183 +0,0 @@
-<template>
-  <view class="site-wrapper" ref="contentWrapper">
-    <!-- 筛选框start -->
-    <view class="ding">
-      <view class="cu-bar search bg-gray filter-section">
-        <view class="search-form round bg-white">
-          <text class="cuIcon-search"></text>
-          <uni-easyinput v-model="nowSiteName" placeholder="请输入站点名称" prefixIcon="search" @focus="InputFocus" @blur="InputBlur" />
-        </view>
-        <view class="action">
-          <button class="cu-btn bg-blue round" @click="searchData">查询</button>
-        </view>
-      </view>
-    </view>
-    <!-- 筛选框end -->
-
-    <!-- 站点列表start -->
-    <view class="site-items">
-      <view class="cu-list menu-avatar">
-        <view class="cu-item" :class="modalName == 'move-box-' + index ? 'move-cur' : ''" v-for="(item, index) in bindData" :key="index" :data-target="'move-box-' + index">
-          <view class="cu-avatar round lg" v-bind:style="{ 'background-image': 'url(' + nowIcon + ')' }"></view>
-
-          <view class="content" v-if="nowType == 1" @tap="goNowUrl(item)">
-            <view class="text-grey site-tit">
-              <text style="width: 260rpx" class="inOneLine">{{ item.siteName }}</text>
-
-              <text style="font-size: 14px; text-align: right"> ( 共{{ item.siteAlarmCount }}个未处理告警 ) </text>
-            </view>
-          </view>
-
-          <view class="content" v-else @tap="goNowUrl" @longpress="showDetail(item)">
-            <view class="text-grey site-tit">
-              {{ item.siteName }}
-              <text>(共3个设备)</text>
-            </view>
-            <view class="showDetail" v-if="item.isShow" @tap.stop="goNowDetailUrl">查看详情</view>
-          </view>
-
-          <view class="nav-right num">
-            <view class="text-grey">
-              <text class="icon iconfont margin-right-xs margin-left-lg">&#xe629;</text>
-            </view>
-          </view>
-        </view>
-      </view>
-    </view>
-    <!-- 站点列表end -->
-  </view>
-</template>
-
-<script>
-export default {
-  // name: 'listTest',
-  props: {
-    bindType: {
-      type: Number,
-      default: "",
-    },
-    bindData: {
-      type: Array,
-      default: "",
-    },
-    bindUrl: {
-      type: String,
-      default: "",
-    },
-    bindDetailUrl: {
-      type: String,
-      default: "",
-    },
-    bindIcon: {
-      type: String,
-      default: "",
-    },
-    bindNum: {
-      type: String,
-      default: "",
-    },
-    bindSiteName: {
-      type: String,
-      default: "",
-    },
-  },
-  data() {
-    return {
-      modalName: null,
-      nowData: this.bindData,
-      nowUrl: this.bindUrl,
-      nowDetailUrl: this.bindDetailUrl,
-      nowIcon: this.bindIcon,
-      nowNum: this.bindNum,
-      nowType: this.bindType,
-      nowSiteName: this.bindSiteName,
-    };
-  },
-  onPullDownRefresh() {
-    console.log("refresh");
-    setTimeout(function () {
-      uni.stopPullDownRefresh();
-    }, 1000);
-  },
-
-  computed: {
-    newSiteListData() {
-      return this.nowData.map((item) => {
-        this.$set(item, "isShow", false);
-        return item;
-      });
-    },
-  },
-
-  mounted() {
-    document.addEventListener("click", (e) => {
-      if (e.target.className != "showDetail") {
-        this.nowData.forEach((item) => {
-          item.isShow = false;
-        });
-      }
-    });
-  },
-  methods: {
-    searchData() {
-      // console.log("a: "+val, oldVal);
-      this.$parent.getDataList({
-        siteName: this.nowSiteName,
-      });
-    },
-
-    // 隐藏显示
-    showDetail(e) {
-      // 存储点击那一项的状态
-      const nowStatu = e.isShow;
-      // 将每一项列表的isShow设置为false,让所有的列表都隐藏
-      this.nowData.forEach((item) => {
-        item.isShow = false;
-      });
-      // 用于再次点击该项的取反
-      e.isShow = !nowStatu;
-    },
-
-    // 页面跳转
-    goNowUrl(item) {
-      if (item.siteAlarmCount) {
-        uni.navigateTo({
-          url: this.nowUrl + "?companyCode=" + item.companyCode,
-          success: (res) => {},
-          fail: () => {},
-          complete: () => {},
-        });
-      }
-    },
-
-    goNowDetailUrl() {
-      uni.navigateTo({
-        url: this.nowDetailUrl,
-        success: (res) => {},
-        fail: () => {},
-        complete: () => {},
-      });
-    },
-    InputFocus(e) {
-      this.InputBottom = e.detail.height;
-    },
-    InputBlur(e) {
-      this.InputBottom = 0;
-    },
-  },
-};
-</script>
-
-<style lang="scss">
-.showDetail {
-  position: absolute;
-  background: #fff;
-  box-shadow: 0 1px 6px 0 rgb(32 33 36 / 28%);
-  padding: 0rpx 32rpx;
-  border-radius: 10rpx;
-  top: 42rpx;
-  right: 0%;
-  z-index: 3000000;
-  font-size: $uni-font-size-base;
-}
-</style>

+ 1 - 1
src/components/oa-movable/index.vue

@@ -2,7 +2,7 @@
   <movable-area class="fixed-box">
     <movable-view class="fixed-button" direction="all" :inertia="true" y="100px">
       <view class="menuBox">
-        <view class="mainMenu iconfont ucicon-jiahao menu-icon" :style="{ background: themesColor }" @click="declick"></view>
+        <view class="mainMenu iconfont ucicon-jiahao menu-item-icon" :style="{ background: themesColor }" @click="declick"></view>
         <view class="posi" :animation="animationData">
           <slot name="content"> </slot>
         </view>

+ 1 - 1
src/config.js

@@ -15,7 +15,7 @@ export default {
     // 应用名称
     name: "usky-app-mobile",
     // 应用版本
-    version: uni.getSystemInfoSync().appVersion,
+    version: uni.getSystemInfoSync().appWgtVersion || uni.getSystemInfoSync().appVersion,
     // 应用logo
     logo: "/static/logo.png",
     // 官网邮箱

+ 8 - 8
src/pages/business/fastMail/index.vue

@@ -19,11 +19,11 @@
     <view v-show="tabsCurrent == 0">
       <view class="content-area menu-list mlr0" v-for="data in dataList" :key="data">
         <view class="list-cell" style="color: #666666; line-height: 30px">
-          <view class="content-area-top menu-item-box"> </view>
-          <view class="content-area-row_wrap menu-item-box">
+          <view class="content-area-top menu-item"> </view>
+          <view class="content-area-row_wrap menu-item">
             <view class="content-area-row_wrap-view" style="margin-right: auto">
               <view class="mr5" style="font-weight: 600">{{ data.pickupCode }}</view>
-              <view class="iconfont ucicon-a-copy menu-icon" @click="copy(data.pickupCode)"> </view>
+              <view class="iconfont ucicon-a-copy menu-item-icon" @click="copy(data.pickupCode)"> </view>
             </view>
             <view class="content-area-row_wrap-view" style="min-width: auto; max-width: 50%">
               {{ data.pickupAddress }}
@@ -33,7 +33,7 @@
               韵达快递:{{ data.packNo }}
             </view>
             <view class="content-area-row_wrap-view" style="min-width: auto">
-              <view class="iconfont ucicon-dial menu-icon mr0" @click="proxy.$common.makePhoneCall(data.contactPhone)"> </view>
+              <view class="iconfont ucicon-dial menu-item-icon mr0" @click="proxy.$common.makePhoneCall(data.contactPhone)"> </view>
             </view>
             <view class="content-area-row_wrap-view">{{ data.dataTime ? data.dataTime.replace("T", " ") : "" }}</view>
           </view>
@@ -44,11 +44,11 @@
     <view v-show="tabsCurrent == 1">
       <view class="content-area menu-list mlr0" v-for="data in dataList" :key="data">
         <view class="list-cell" style="color: #666666; line-height: 30px">
-          <view class="content-area-top menu-item-box"> </view>
-          <view class="content-area-row_wrap menu-item-box">
+          <view class="content-area-top menu-item"> </view>
+          <view class="content-area-row_wrap menu-item">
             <view class="content-area-row_wrap-view" style="margin-right: auto">
               <view class="mr5" style="font-weight: 600">{{ data.pickupCode }}</view>
-              <view class="iconfont ucicon-a-copy menu-icon" @click="copy(data.pickupCode)"> </view>
+              <view class="iconfont ucicon-a-copy menu-item-icon" @click="copy(data.pickupCode)"> </view>
             </view>
             <view class="content-area-row_wrap-view" style="min-width: auto; max-width: 50%">
               {{ data.pickupAddress }}
@@ -58,7 +58,7 @@
               韵达快递:{{ data.packNo }}
             </view>
             <view class="content-area-row_wrap-view" style="min-width: auto">
-              <view class="iconfont ucicon-dial menu-icon mr0" @click="proxy.$common.makePhoneCall(data.contactPhone)"> </view>
+              <view class="iconfont ucicon-dial menu-item-icon mr0" @click="proxy.$common.makePhoneCall(data.contactPhone)"> </view>
             </view>
             <view class="content-area-row_wrap-view">{{ data.dataTime ? data.dataTime.replace("T", " ") : "" }}</view>
           </view>

+ 1 - 1
src/pages/business/fireIot/alarmManage/alarmDetailsList/index.vue

@@ -21,7 +21,7 @@
       <view class="alarmDetailsList-container">
         <view class="menu-list margin-0">
           <view class="list-cell list-cell-arrow" v-for="(base, index) in dataList" :key="index" @click="handleToDetails(base)">
-            <view class="menu-item-box" style="font-size: 13px; flex-flow: row wrap">
+            <view class="menu-item" style="font-size: 13px; flex-flow: row wrap">
               <view style="min-width: 80%; margin-bottom: 5px; color: #909399"> {{ base.alarmTime }}</view>
               <view style="min-width: 20%; margin-bottom: 5px; color: #909399; text-align: right; padding-right: 15px"> {{ base.alarmGrade }}级</view>
               <view style="min-width: 80%; margin-bottom: 5px; color: #909399">{{ base.deviceName }}</view>

+ 2 - 2
src/pages/business/fireIot/deviceManage/components/deviceDetailsList.vue

@@ -38,7 +38,7 @@
 
         <view class="menu-list margin-0">
           <view class="list-cell list-cell-arrow" v-for="(base, index) in dataList" :key="index" @click="handleToDevice(base)">
-            <view class="menu-item-box">
+            <view class="menu-item">
               <image class="image-bg" style="width: 80rpx; height: 80rpx; margin: auto 10px auto 0" src="@/static/images/deviceManage/1.png"></image>
 
               <view style="width: calc(100% - 51px); display: flex; flex-flow: row wrap; padding-right: 10px">
@@ -179,7 +179,7 @@ onLoad((options) => {
 
 <style lang="scss" scoped>
 .deviceDetailsList-container {
-  .menu-item-box {
+  .menu-item {
   }
 
   .deviceHeader {

+ 2 - 2
src/pages/business/fireIot/facilitiesGather/index.vue

@@ -34,7 +34,7 @@
               <u-form-item label="设施地址" prop="address" :borderBottom="true" required>
                 <u-input v-model="form.address" placeholder="请选择设施地址" border="none" disabledColor="transparent" disabled @click="handleAction('设施地址')">
                   <template #suffix>
-                    <view class="iconfont ucicon-map menu-icon" style="font-size: 18px; color: #909399"> </view>
+                    <view class="iconfont ucicon-map menu-item-icon" style="font-size: 18px; color: #909399"> </view>
                   </template>
                 </u-input>
               </u-form-item>
@@ -48,7 +48,7 @@
                 <view style="font-size: 15px">{{ form.typeGuise == 1 ? "点" : form.typeGuise == 2 ? "线" : form.typeGuise == 3 ? "面" : "" }}</view>
                 <view v-if="form.gpsAreas.length <= 0" style="font-size: 15px; margin: auto; color: #ff0000">未编辑</view>
                 <view v-if="form.gpsAreas.length > 0" style="font-size: 15px; margin: auto; color: #30bb00">已编辑</view>
-                <view class="iconfont ucicon-bianji1 menu-icon" style="font-size: 14px; color: #909399"> </view>
+                <view class="iconfont ucicon-bianji1 menu-item-icon" style="font-size: 14px; color: #909399"> </view>
               </u-form-item>
               <u-form-item label="联系人" prop="contact" :borderBottom="true">
                 <u-input v-model="form.contact" placeholder="请输入联系人" border="none" />

+ 1 - 1
src/pages/business/fireIot/facilitiesManage/facilitiesDetailsList.vue

@@ -30,7 +30,7 @@
 
         <view class="menu-list margin-0">
           <view class="list-cell list-cell-arrow" v-for="(base, index) in dataList" :key="index" @click="handleToDevice(base.id)">
-            <view class="menu-item-box">
+            <view class="menu-item">
               <view class="title">{{ base.facilityName }}</view>
             </view>
           </view>

+ 2 - 2
src/pages/business/fireIot/repairManage/repairDetailsList.vue

@@ -20,14 +20,14 @@
     <template #default>
       <view class="menu-list m0">
         <view class="list-cell list-cell-arrow" style="color: #666666; line-height: 25px" v-for="(base, index) in dataList" :key="index" @click="handleToDetails(base)">
-          <view class="content-area-top menu-item-box">
+          <view class="content-area-top menu-item">
             <view class="content-area-top-time">
               {{ base.repairStatus == 1 ? (base.createTime ? base.createTime.replace("T", " ") : "") : base.handleTime ? base.handleTime.replace("T", " ") : "" }}
             </view>
             <view class="content-area-top-status" v-if="base.repairStatus == 1" style="background-color: #23dedc"> 受理中 </view>
             <view class="content-area-top-status" v-if="base.repairStatus == 2" style="background-color: #16bf00"> 处理完成 </view>
           </view>
-          <view class="content-area-row_wrap menu-item-box">
+          <view class="content-area-row_wrap menu-item">
             <view class="content-area-row_wrap-view"> 项目名称:{{ base.projectName }} </view>
             <view class="content-area-row_wrap-view"> 报修人:{{ base.reflectName }} </view>
             <view class="content-area-row_wrap-view"> 报修人电话:{{ base.reflectPhone }} </view>

+ 2 - 2
src/pages/business/mhxf/xunJian/collect/index.vue

@@ -37,8 +37,8 @@
 
     <oaMovable :themesColor="proxy.$settingStore.themeColor.color">
       <template #content>
-        <view class="iconfont ucicon-nfc menu-icon" @click="nfcClick()"></view>
-        <view class="iconfont ucicon-saoyisao menu-icon" @click="scanClick()"></view>
+        <view class="iconfont ucicon-nfc menu-item-icon" @click="nfcClick()"></view>
+        <view class="iconfont ucicon-saoyisao menu-item-icon" @click="scanClick()"></view>
       </template>
     </oaMovable>
 

+ 2 - 2
src/pages/business/mhxf/xunJian/plan/components/report.vue

@@ -53,8 +53,8 @@
 
     <oaMovable :themesColor="proxy.$settingStore.themeColor.color">
       <template #content>
-        <view class="iconfont ucicon-nfc menu-icon" @click="nfcClick()"></view>
-        <view class="iconfont ucicon-saoyisao menu-icon" @click="scanClick()"></view>
+        <view class="iconfont ucicon-nfc menu-item-icon" @click="nfcClick()"></view>
+        <view class="iconfont ucicon-saoyisao menu-item-icon" @click="scanClick()"></view>
       </template>
     </oaMovable>
   </scroll-view>

+ 2 - 2
src/pages/business/mhxf/xunJian/plan/index.vue

@@ -95,8 +95,8 @@
 
     <oaMovable v-if="scanArray.length <= 0" :themesColor="proxy.$settingStore.themeColor.color">
       <template #content>
-        <view class="iconfont ucicon-nfc menu-icon" @click="nfcClick()"></view>
-        <view class="iconfont ucicon-saoyisao menu-icon" @click="scanClick()"></view>
+        <view class="iconfont ucicon-nfc menu-item-icon" @click="nfcClick()"></view>
+        <view class="iconfont ucicon-saoyisao menu-item-icon" @click="scanClick()"></view>
       </template>
     </oaMovable>
 

+ 4 - 4
src/pages/common/customManage/index.vue

@@ -37,10 +37,10 @@
 
       <view class="content-area menu-list mlr0" v-for="data in dataList" :key="data">
         <view class="list-cell" style="color: #666666; line-height: 30px">
-          <view class="content-area-top menu-item-box">
+          <view class="content-area-top menu-item">
             <view> {{ data.projectName }} </view>
           </view>
-          <view class="content-area-row_wrap menu-item-box">
+          <view class="content-area-row_wrap menu-item">
             <view class="content-area-row_wrap-view"> 项目编号:{{ data.projectId }} </view>
             <view class="content-area-row_wrap-view"> 到期时间:{{ data.expireTime ? data.expireTime.split("T")[0] : "" }} </view>
             <view class="content-area-row_wrap-view"> 客户负责人:{{ data.customPerson }} </view>
@@ -49,8 +49,8 @@
             </view>
             <view class="content-area-row_wrap-view">
               <view style="margin-right: 5px">客户电话:{{ data.phone }}</view>
-              <view class="iconfont ucicon-a-copy menu-icon" @click="copy(data.phone)"> </view>
-              <view class="iconfont ucicon-dial menu-icon" @click="proxy.$common.makePhoneCall(data.phone)"> </view>
+              <view class="iconfont ucicon-a-copy menu-item-icon" @click="copy(data.phone)"> </view>
+              <view class="iconfont ucicon-dial menu-item-icon" @click="proxy.$common.makePhoneCall(data.phone)"> </view>
             </view>
             <view class="content-area-row_wrap-view">
               <view>状态:</view>

+ 5 - 5
src/pages/common/evaluate/index.vue

@@ -11,7 +11,7 @@
   >
     <view class="menu-list">
       <view class="list-cell">
-        <view class="menu-item-box">
+        <view class="menu-item">
           <view style="font-size: 14px; font-weight: 600"> 为了更好提升我们的服务,请您对我们的服务人员进行评价、留下您宝贵的意见,我们将会不断完善我们的服务。 </view>
         </view>
       </view>
@@ -19,10 +19,10 @@
 
     <view class="menu-list">
       <view class="list-cell">
-        <view class="menu-item-box mb15">
+        <view class="menu-item mb15">
           <view style="font-size: 14px; font-weight: 600"> 总体满意度 </view>
         </view>
-        <view class="menu-item-box">
+        <view class="menu-item">
           <u-rate :count="rateCount" v-model="rateValue" :size="24" :gutter="0" :minCount="0" :touchable="true" :allowHalf="true" :activeColor="proxy.$settingStore.themeColor.color"></u-rate>
           <view style="font-size: 14px; margin: auto 0 auto auto">我的评分: {{ rateValue }}分</view>
         </view>
@@ -31,10 +31,10 @@
 
     <view class="menu-list">
       <view class="list-cell">
-        <view class="menu-item-box mb15">
+        <view class="menu-item mb15">
           <view style="font-size: 14px; font-weight: 600"> 建议或意见 </view>
         </view>
-        <view class="menu-item-box">
+        <view class="menu-item">
           <u--textarea v-model="textareaValue" border="none" placeholder="请留下您的宝贵意见,这对我们很重要哦~" maxlength="100" style="padding: 0"></u--textarea>
         </view>
       </view>

+ 17 - 17
src/pages/common/invoicing/index.vue

@@ -19,7 +19,7 @@
 
       <view class="menu-list" style="font-size: 15px; line-height: 30px">
         <view class="list-cell">
-          <view class="menu-item-box">
+          <view class="menu-item">
             <view>
               您的物联网服务
               <span style="color: red">即将到期</span>
@@ -28,22 +28,22 @@
           </view>
         </view>
         <view class="list-cell" style="color: #666666">
-          <view class="menu-item-box">
+          <view class="menu-item">
             <view> 客户经理:李鹏 </view>
           </view>
-          <view class="menu-item-box">
+          <view class="menu-item">
             <view> 联系方式:18621761642(同微信) </view>
-            <view class="iconfont ucicon-a-copy menu-icon" style="font-size: 14px; color: #909399" @click="copy('18621761642')"> </view>
+            <view class="iconfont ucicon-a-copy menu-item-icon" style="font-size: 14px; color: #909399" @click="copy('18621761642')"> </view>
           </view>
-          <view class="menu-item-box">
+          <view class="menu-item">
             <view style="margin-right: 10px"> 邮箱:seven.li@chinausky.com </view>
-            <view class="iconfont ucicon-a-copy menu-icon" style="font-size: 14px; color: #909399" @click="copy('seven.li@chinausky.com')"> </view>
+            <view class="iconfont ucicon-a-copy menu-item-icon" style="font-size: 14px; color: #909399" @click="copy('seven.li@chinausky.com')"> </view>
           </view>
-          <view class="menu-item-box">
+          <view class="menu-item">
             <view> 客服电话:021-65376655</view>
-            <view class="iconfont ucicon-dial menu-icon" style="font-size: 14px; color: #909399; margin-left: 5px" @click="proxy.$common.makePhoneCall('02165376655')"> </view>
+            <view class="iconfont ucicon-dial menu-item-icon" style="font-size: 14px; color: #909399; margin-left: 5px" @click="proxy.$common.makePhoneCall('02165376655')"> </view>
           </view>
-          <view class="menu-item-box">
+          <view class="menu-item">
             <view> 公司邮箱:admin@chinausky.com</view>
           </view>
         </view>
@@ -51,7 +51,7 @@
 
       <view class="menu-list" style="font-size: 15px">
         <view class="list-cell" style="color: #666666">
-          <view class="menu-item-box">
+          <view class="menu-item">
             <view>开票信息</view>
           </view>
 
@@ -99,7 +99,7 @@
                     <u-input placeholder="点击上传" border="none" maxlength="10" disabledColor="transparent" disabled>
                       <template #prefix>
                         <view
-                          class="iconfont ucicon-a-shangchuan menu-icon"
+                          class="iconfont ucicon-a-shangchuan menu-item-icon"
                           :style="{
                             fontSize: '14px',
                             color: proxy.$settingStore.themeColor.color,
@@ -129,35 +129,35 @@
     <view v-show="tabsCurrent == 1">
       <view class="menu-list mt0 mlr0" style="padding: 0.625rem">
         <view class="list-cell">
-          <view class="menu-item-box" style="justify-content: center; margin-bottom: 15px; font-size: 15px">
+          <view class="menu-item" style="justify-content: center; margin-bottom: 15px; font-size: 15px">
             <view>对公转账</view>
           </view>
-          <view class="menu-item-box">
+          <view class="menu-item">
             <view style="width: 90px">企业全称</view>
             <view style="color: #666666">上海永天科技股份有限公司</view>
           </view>
         </view>
         <view class="list-cell">
-          <view class="menu-item-box">
+          <view class="menu-item">
             <view style="width: 90px">银行账户</view>
             <view style="color: #666666">16523652265865685</view>
           </view>
         </view>
         <view class="list-cell">
-          <view class="menu-item-box">
+          <view class="menu-item">
             <view style="width: 90px">开户行</view>
             <view style="color: #666666">上海银行徐家汇支行</view>
           </view>
         </view>
         <view class="list-cell">
-          <view class="menu-item-box">
+          <view class="menu-item">
             <view style="width: 90px">转账备注</view>
             <view style="color: #666666">打款时请备注付款公司名称等信息</view>
           </view>
         </view>
 
         <view class="list-cell">
-          <view class="menu-item-box" style="justify-content: center">
+          <view class="menu-item" style="justify-content: center">
             <u-button style="width: auto" @click="copy(`上海永天科技股份有限公司\n16523652265865685\n上海银行徐家汇支行`)" shape="circle"> 复制汇款信息 </u-button>
           </view>
         </view>

+ 1 - 1
src/pages/common/phoneVerify/index.vue

@@ -10,7 +10,7 @@
       </view>
 
       <view class="content-area-center">
-        <u-input v-model="phone" prefixIcon="phone" placeholder="请输入手机号" />
+        <u-input v-model="phone" prefixIcon="phone" placeholder="请输入手机号" :maxlength="11" />
 
         <u-input v-model="verify" prefixIcon="email" placeholder="请输入验证码" :maxlength="6">
           <template #suffix>

+ 1 - 1
src/pages/common/repairReport/index.vue

@@ -11,7 +11,7 @@
   >
     <view class="menu-list margin-0">
       <view class="list-cell">
-        <view class="menu-item-box" style="font-size: 15px">
+        <view class="menu-item" style="font-size: 15px">
           <view style="margin-right: auto; color: #666666"></view>
           <view style="color: #149eff" @click="proxy.$tab.navigateTo(`/pages/common/repairReport/record`)">报修历史</view>
         </view>

+ 2 - 2
src/pages/common/repairReport/record.vue

@@ -16,14 +16,14 @@
     <template #default>
       <view class="menu-list m0">
         <view class="list-cell" style="color: #666666; line-height: 25px" v-for="(base, index) in dataList" :key="index">
-          <view class="content-area-top menu-item-box">
+          <view class="content-area-top menu-item">
             <view class="content-area-top-time">
               {{ base.repairStatus == 1 ? (base.createTime ? base.createTime.replace("T", " ") : "") : base.handleTime ? base.handleTime.replace("T", " ") : "" }}
             </view>
             <view class="content-area-top-status" v-if="base.repairStatus == 1" style="background-color: #23dedc"> 受理中 </view>
             <view class="content-area-top-status" v-if="base.repairStatus == 2" style="background-color: #12c100"> 处理完成 </view>
           </view>
-          <view class="content-area-row_wrap menu-item-box">
+          <view class="content-area-row_wrap menu-item">
             <view class="content-area-row_wrap-view"> 项目名称:{{ base.projectName }} </view>
             <view class="content-area-row_wrap-view"> 报修人:{{ base.reflectName }} </view>
             <view class="content-area-row_wrap-view"> 报修人电话:{{ base.reflectPhone }} </view>

+ 1 - 1
src/pages/login.vue

@@ -18,7 +18,7 @@
       </view>
 
       <view class="middle-input" v-if="switchText == '账号密码登录'">
-        <u-input v-model="phone" prefixIcon="phone" placeholder="请输入手机号" />
+        <u-input v-model="phone" prefixIcon="phone" placeholder="请输入手机号" :maxlength="11" />
 
         <u-input v-model="verify" prefixIcon="email" placeholder="请输入验证码" :maxlength="6">
           <template #suffix>

+ 38 - 48
src/pages/mine.vue

@@ -36,45 +36,45 @@
 
       <view class="menu-list">
         <view class="list-cell list-cell-arrow" @click="proxy.$settingStore.handleToEditInfo()">
-          <view class="menu-item-box">
-            <view class="iconfont ucicon-user menu-icon"></view>
+          <view class="menu-item">
+            <view class="iconfont ucicon-user menu-item-icon"></view>
             <view>我的信息</view>
           </view>
         </view>
         <view class="list-cell list-cell-arrow" @click="proxy.$settingStore.handleToSecure()">
-          <view class="menu-item-box">
-            <view class="iconfont ucicon-yanzheng menu-icon"></view>
+          <view class="menu-item">
+            <view class="iconfont ucicon-yanzheng menu-item-icon"></view>
             <view>账号与安全</view>
           </view>
         </view>
         <view class="list-cell list-cell-arrow" @click="proxy.$settingStore.handleAbout()">
-          <view class="menu-item-box">
-            <view class="iconfont ucicon-aixin menu-icon"></view>
+          <view class="menu-item">
+            <view class="iconfont ucicon-aixin menu-item-icon"></view>
             <view>关于我们</view>
           </view>
         </view>
         <view class="list-cell list-cell-arrow" @click="proxy.$settingStore.handleHelp()">
-          <view class="menu-item-box">
-            <view class="iconfont ucicon-Help menu-icon"></view>
+          <view class="menu-item">
+            <view class="iconfont ucicon-Help menu-item-icon"></view>
             <view>常见问题</view>
           </view>
         </view>
         <view class="list-cell list-cell-arrow" @click="proxy.$settingStore.handleCleanTmp()">
-          <view class="menu-item-box">
-            <view class="iconfont ucicon-qinglihuancun menu-icon"></view>
+          <view class="menu-item">
+            <view class="iconfont ucicon-qinglihuancun menu-item-icon"></view>
             <view>清理缓存</view>
             <view style="margin: 0 15px 0 auto; font-size: 14px; color: #909399">{{ proxy.$settingStore.currentSize }}</view>
           </view>
         </view>
         <view class="list-cell list-cell-arrow" @click="proxy.$settingStore.handleToUpgrade()">
-          <view class="menu-item-box">
-            <view class="iconfont ucicon-jianchagengxin menu-icon"></view>
+          <view class="menu-item">
+            <view class="iconfont ucicon-jianchagengxin menu-item-icon"></view>
             <view>检查更新</view>
           </view>
         </view>
         <!-- <view class="list-cell list-cell-arrow" @click="proxy.$settingStore.handleSetting()">
-          <view class="menu-item-box">
-            <view class="iconfont ucicon-shezhi menu-icon"></view>
+          <view class="menu-item">
+            <view class="iconfont ucicon-shezhi menu-item-icon"></view>
             <view>设置</view>
           </view>
         </view> -->
@@ -82,27 +82,27 @@
 
       <!-- <view class="menu-list">
         <view class="list-cell list-cell-arrow" @click="goMessagePush()">
-          <view class="menu-item-box">
-            <view class="iconfont ucicon-aixin menu-icon"></view>
+          <view class="menu-item">
+            <view class="iconfont ucicon-aixin menu-item-icon"></view>
             <view>推送设置</view>
           </view>
         </view>
         <view class="list-cell list-cell-arrow" @click="goBuilding()">
-          <view class="menu-item-box">
-            <view class="iconfont ucicon-aixin menu-icon"></view>
+          <view class="menu-item">
+            <view class="iconfont ucicon-aixin menu-item-icon"></view>
             <view>建筑管理</view>
           </view>
         </view>
         <view class="list-cell list-cell-arrow" @click="goFunReport()">
-          <view class="menu-item-box">
-            <view class="iconfont ucicon-aixin menu-icon"></view>
+          <view class="menu-item">
+            <view class="iconfont ucicon-aixin menu-item-icon"></view>
             <view>功能报备</view>
           </view>
         </view>
       </view> -->
 
       <view class="cu-list menu">
-        <view class="cu-item mtb0">
+        <view class="cu-item mt0">
           <view class="content flex align-center">
             <text class="iconfont ucicon-colorlens" :class="'text-' + themeColor.name"></text>
             <view class="padding solid radius shadow-blur ml10" :class="'bg-' + themeColor.name"></view>
@@ -119,39 +119,29 @@
         </view>
       </view>
 
-      <view class="cu-list menu">
-        <view class="cu-item">
-          <view class="content text-center" @click="proxy.$settingStore.handleLogout">
-            <text class="text-black">退出登录</text>
+      <view class="menu-list" @click="proxy.$settingStore.handleLogout">
+        <view class="list-cell">
+          <view class="menu-item">
+            <view class="button">退 出 登 录</view>
           </view>
         </view>
       </view>
-    </view>
 
-    <!-- <view class="cu-list menu-avatar padding-lr-sm padding-top-sm">
-      <view class="cu-item" @tap="goSiteManage" v-if="permissionLabel == 1">
-        <view class="cu-avatar" style="background-image: url(@/static/images/setting/setting-icon2.png)"></view>
-        <view class="content">
-          <view class="">站点管理</view>
-        </view>
-        <view class="nav-right">
-          <view class="text-grey">
-            <text class="icon iconfont margin-right-xs margin-left-lg">&#xe629;</text>
+      <!-- <view class="menu-list">
+        <view class="list-cell list-cell-arrow" @tap="goSiteManage" v-if="permissionLabel == 1">
+          <view class="menu-item">
+            <image class="menu-item-image" src="@/static/images/setting/setting-icon2.png" style="width: 15px; height: 15px"></image>
+            <view>站点管理</view>
           </view>
         </view>
-      </view>
-      <view class="cu-item" @tap="goAuthManage" v-if="permissionLabel == 1">
-        <view class="cu-avatar" style="background-image: url(@/static/images/setting/setting-icon4.png)"></view>
-        <view class="content">
-          <view class="">权限管理</view>
-        </view>
-        <view class="nav-right">
-          <view class="text-grey">
-            <text class="icon iconfont margin-right-xs margin-left-lg">&#xe629;</text>
+        <view class="list-cell list-cell-arrow" @tap="goAuthManage" v-if="permissionLabel == 1">
+          <view class="menu-item">
+            <image class="menu-item-image" src="@/static/images/setting/setting-icon4.png" style="width: 15px; height: 15px"></image>
+            <view>权限管理</view>
           </view>
         </view>
-      </view>
-    </view> -->
+      </view> -->
+    </view>
 
     <!-- 选择颜色模态框 -->
     <view class="cu-modal" :class="{ show: colorModal }">
@@ -218,7 +208,7 @@ const data = reactive({
 
 const { coverTransform, coverTransition, moving, colorModal, themeList } = toRefs(data);
 
-const permissionLabel = ref(0);
+const permissionLabel = ref(1);
 
 function getAuthorizationApi(params) {
   getAuthorization(params).then((res) => {
@@ -364,7 +354,7 @@ onNavigationBarButtonTap((e) => {
   height: calc(100vh - (50px + env(safe-area-inset-bottom)));
 
   .top-area {
-    padding: 55px 15px 0 15px;
+    padding: 55px 0.625rem 0 0.625rem;
 
     .login-tip {
       font-size: 18px;

+ 4 - 4
src/pages/mine/about/index.vue

@@ -18,25 +18,25 @@
     <view class="content-section">
       <view class="menu-list">
         <view class="list-cell list-cell-arrow">
-          <view class="menu-item-box">
+          <view class="menu-item">
             <view>版本信息</view>
             <view class="text-right">v{{ version }}</view>
           </view>
         </view>
         <view class="list-cell list-cell-arrow">
-          <view class="menu-item-box">
+          <view class="menu-item">
             <view>官方邮箱</view>
             <view class="text-right">{{ email }}</view>
           </view>
         </view>
         <view class="list-cell list-cell-arrow">
-          <view class="menu-item-box">
+          <view class="menu-item">
             <view>服务热线</view>
             <view class="text-right">{{ hotline }}</view>
           </view>
         </view>
         <view class="list-cell list-cell-arrow">
-          <view class="menu-item-box">
+          <view class="menu-item">
             <view>公司网站</view>
             <view class="text-right">
               <uni-link :href="url" :text="url" showUnderLine="false"></uni-link>

+ 8 - 8
src/pages/mine/info/index.vue

@@ -7,37 +7,37 @@
     <view class="content-section" v-show="tabsCurrent == 0">
       <view class="menu-list mt0 mlr0">
         <view class="list-cell list-cell-arrow" @click="proxy.$settingStore.handleToAvatar(2)">
-          <view class="menu-item-box">
+          <view class="menu-item">
             <view class="title">头像</view>
             <image style="margin: 0 15px 0 auto" v-if="avatar" :src="avatar" class="cu-avatar radius"> </image>
           </view>
         </view>
         <view class="list-cell list-cell-arrow" @click="handleUserModal('修改昵称')">
-          <view class="menu-item-box">
+          <view class="menu-item">
             <view class="title">昵称</view>
             <view class="content" style="margin: 0 15px 0 auto; font-size: 14px; color: #909399">{{ user.nickName }}</view>
           </view>
         </view>
         <view class="list-cell list-cell-arrow" @click="handleUserModal('修改手机号')">
-          <view class="menu-item-box">
+          <view class="menu-item">
             <view class="title">手机号</view>
             <view style="margin: 0 15px 0 auto; font-size: 14px; color: #909399">{{ user.phonenumber }}</view>
           </view>
         </view>
         <view class="list-cell list-cell-arrow" @click="handleUserModal('修改邮箱')">
-          <view class="menu-item-box">
+          <view class="menu-item">
             <view class="title">邮箱</view>
             <view style="margin: 0 15px 0 auto; font-size: 14px; color: #909399">{{ user.email }}</view>
           </view>
         </view>
         <view class="list-cell list-cell-arrow" @click="handleUserModal('修改性别')">
-          <view class="menu-item-box">
+          <view class="menu-item">
             <view class="title">性别</view>
             <view style="margin: 0 15px 0 auto; font-size: 14px; color: #909399">{{ user.sex == "0" ? "男" : "女" }}</view>
           </view>
         </view>
         <view class="list-cell list-cell-arrow" @click="proxy.$modal.showToast('模块建设中~')">
-          <view class="menu-item-box">
+          <view class="menu-item">
             <view class="title">我的名片</view>
           </view>
         </view>
@@ -45,12 +45,12 @@
 
       <view class="menu-list mt0 mlr0">
         <view class="list-cell list-cell-arrow" @click="proxy.$modal.showToast('模块建设中~')">
-          <view class="menu-item-box">
+          <view class="menu-item">
             <view>个人实名认证</view>
           </view>
         </view>
         <view class="list-cell list-cell-arrow" @click="proxy.$modal.showToast('模块建设中~')">
-          <view class="menu-item-box">
+          <view class="menu-item">
             <view>更多</view>
           </view>
         </view>

+ 126 - 37
src/pages/mine/secure/index.vue

@@ -8,13 +8,13 @@
 
       <view class="menu-list mt0 mlr0">
         <view class="list-cell list-cell-arrow" @click="handleUserModal('修改手机号')">
-          <view class="menu-item-box">
+          <view class="menu-item">
             <view class="title">手机号</view>
-            <view style="margin: 0 15px 0 auto; font-size: 14px; color: #909399">{{ user.phonenumber }}</view>
+            <view style="margin: 0 15px 0 auto; font-size: 14px; color: #909399">{{ phonenumber }}</view>
           </view>
         </view>
         <view class="list-cell list-cell-arrow" @click="handleUserModal('修改密码')">
-          <view class="menu-item-box">
+          <view class="menu-item">
             <view class="title">密码</view>
             <view style="margin: 0 15px 0 auto; font-size: 14px; color: #909399">{{ user.password ? "已设置" : "未设置" }}</view>
           </view>
@@ -25,18 +25,18 @@
         <!-- #ifdef APP-PLUS || MP-WEIXIN -->
         <view class="list-cell list-cell-arrow" @click="proxy.$modal.showToast('模块建设中~')">
           <!-- <view class="list-cell list-cell-arrow" @click="proxy.$tab.navigateTo(`/pages/mine/secure/fingerprint/index`)"> -->
-          <view class="menu-item-box">
+          <view class="menu-item">
             <view class="title">指纹登录</view>
           </view>
         </view>
         <!-- #endif -->
         <view class="list-cell list-cell-arrow" @click="proxy.$modal.showToast('模块建设中~')">
-          <view class="menu-item-box">
+          <view class="menu-item">
             <view class="title">人脸</view>
           </view>
         </view>
         <view class="list-cell list-cell-arrow" @click="proxy.$modal.showToast('模块建设中~')">
-          <view class="menu-item-box">
+          <view class="menu-item">
             <view class="title">手势密码</view>
           </view>
         </view>
@@ -44,28 +44,41 @@
 
       <view class="menu-list mt0 mlr0">
         <view class="list-cell list-cell-arrow" @click="proxy.$tab.navigateTo(`/pages/mine/secure/loginLog/index`)">
-          <view class="menu-item-box">
+          <view class="menu-item">
             <view class="title">登录日志</view>
           </view>
         </view>
         <view class="list-cell list-cell-arrow" @click="proxy.$modal.showToast('模块建设中~')">
-          <view class="menu-item-box">
+          <view class="menu-item">
             <view class="title">常用设备管理</view>
           </view>
         </view>
       </view>
+
+      <view class="menu-list mt0 mlr0" @click="handleUserModal('手机号验证')">
+        <view class="list-cell">
+          <view class="menu-item">
+            <view class="button error">注 销 账 号</view>
+          </view>
+        </view>
+      </view>
     </view>
   </view>
 
-  <u-modal :show="modalShow" :showConfirmButton="true" :showCancelButton="true" @cancel="modalShow = false" @confirm="handleConfirm">
+  <u-modal :show="modalShow" :showConfirmButton="true" :showCancelButton="true" @cancel="handleCancel()" @close="handleCancel()" @confirm="handleConfirm()">
     <view class="slot-content" style="width: 100%">
-      <view class="mb15" style="color: #909399">{{ modalTitle }}</view>
-
       <view v-if="modalTitle === '修改手机号'">
-        <u--input v-model="userArr.phonenumber" :maxlength="11" :placeholder="modalTitle" border="bottom" clearable></u--input>
+        <view class="mb15" style="text-align: center; color: #000; font-weight: 600">{{ modalTitle }}</view>
+        <u-input v-model="phone" placeholder="请输入手机号" :maxlength="11" border="bottom" />
+        <u-input v-model="verify" placeholder="请输入验证码" :maxlength="6" border="bottom">
+          <template #suffix>
+            <button class="verify" @click="getVerifyCode">{{ !useStore.codeTime ? "获取验证码" : useStore.codeTime + "s" }}</button>
+          </template>
+        </u-input>
       </view>
 
       <view v-if="modalTitle === '修改密码'">
+        <view class="mb15" style="text-align: center; color: #000; font-weight: 600">{{ modalTitle }}</view>
         <u-input class="mb15" v-model="oldPassword" placeholder="请输入旧密码" :password="oldPasswordBool" border="bottom">
           <template #suffix>
             <text :class="!oldPasswordBool ? 'iconfont ucicon-eye' : 'iconfont ucicon-eye-close'" @click="oldPasswordBool = !oldPasswordBool"></text>
@@ -84,6 +97,17 @@
           </template>
         </u-input>
       </view>
+
+      <view v-if="modalTitle === '手机号验证'">
+        <view class="mb5" style="text-align: center; color: #000; font-weight: 600">{{ modalTitle }}</view>
+        <view class="mb15" style="text-align: center; color: #000; font-size: 0.75rem; width: 90%; margin: 0 auto"> 请填写完整的手机号 {{ phonenumber }} 以验证身份 </view>
+        <u-input v-model="phone" placeholder="请输入手机号" :maxlength="11" border="bottom" />
+        <u-input v-model="verify" placeholder="请输入验证码" :maxlength="6" border="bottom">
+          <template #suffix>
+            <button class="verify" @click="getVerifyCode">{{ !useStore.codeTime ? "获取验证码" : useStore.codeTime + "s" }}</button>
+          </template>
+        </u-input>
+      </view>
     </view>
   </u-modal>
 </template>
@@ -113,6 +137,10 @@ const userArr = computed(() => {
   return useStore.$state.userArr;
 });
 
+const phonenumber = computed(() => {
+  return user.value.phonenumber.substr(0, 3) + "******" + user.value.phonenumber.substr(9);
+});
+
 const data = reactive({
   modalShow: false,
   modalTitle: "",
@@ -123,28 +151,20 @@ const data = reactive({
   newPasswordBool: true,
   confirmPassword: undefined,
   confirmPasswordBool: true,
+
+  phone: undefined,
+  verify: undefined,
 });
 
-const { modalShow, modalTitle, oldPassword, oldPasswordBool, newPassword, newPasswordBool, confirmPassword, confirmPasswordBool } = toRefs(data);
+const { modalShow, modalTitle, oldPassword, oldPasswordBool, newPassword, newPasswordBool, confirmPassword, confirmPasswordBool, phone, verify } = toRefs(data);
 
 function handleUserModal(title) {
   modalShow.value = true;
   modalTitle.value = title;
 }
 
+/** 确定按钮 */
 function handleConfirm() {
-  if (modalTitle.value == "修改手机号") {
-    if (!userArr.value.phonenumber) {
-      proxy.$modal.showToast("手机号不能为空");
-      return;
-    }
-
-    if (!/^1[3|4|5|6|7|8|9][0-9]\d{8}$/.test(userArr.value.phonenumber)) {
-      proxy.$modal.showToast("请输入正确的手机号");
-      return;
-    }
-  }
-
   if (modalTitle.value == "修改密码") {
     if (!oldPassword.value) {
       proxy.$modal.showToast("旧密码不能为空");
@@ -173,25 +193,94 @@ function handleConfirm() {
   }
 
   if (modalTitle.value == "修改手机号") {
-    updateUserProfile(userArr.value).then((response) => {
-      proxy.$modal.msgSuccess("修改成功");
-      modalShow.value = false;
-      useStore.getUser();
+    useStore.PhoneVerify({
+      data: {
+        phone: phone.value,
+        verify: verify.value,
+      },
+      success: (res) => {
+        userArr.value.phonenumber = phone.value;
+
+        updateUserProfile(userArr.value).then((response) => {
+          proxy.$modal.msgSuccess("修改成功");
+          handleCancel(); //调用取消按钮
+          useStore.getUser();
+        });
+      },
+      error: (res) => {
+        return false;
+      },
     });
   } else if (modalTitle.value == "修改密码") {
     updateUserPwd(oldPassword.value, newPassword.value).then((response) => {
       proxy.$modal.msgSuccess("修改成功");
-      modalShow.value = false;
-      oldPassword.value = undefined;
-      oldPasswordBool.value = true;
-      newPassword.value = undefined;
-      newPasswordBool.value = true;
-      confirmPassword.value = undefined;
-      confirmPasswordBool.value = true;
-
+      handleCancel(); //调用取消按钮
       useStore.getUser();
     });
+  } else if (modalTitle.value == "手机号验证") {
+    if (phone.value != user.value.phonenumber) {
+      proxy.$modal.msg("请输入正确的手机号");
+      return;
+    }
+
+    useStore.PhoneVerify({
+      data: {
+        phone: phone.value,
+        verify: verify.value,
+      },
+      success: (res) => {
+        useStore.UserDel({
+          data: {
+            id: user.value.userId,
+          },
+          success: (res) => {
+            proxy.$modal.msgSuccess("用户注销成功");
+            handleCancel(); //调用取消按钮
+            useStore.LogOut().then(() => {
+              proxy.$tab.reLaunch("/pages/index");
+            });
+          },
+        });
+      },
+      error: (res) => {
+        return false;
+      },
+    });
+  }
+}
+
+/** 取消按钮 */
+function handleCancel() {
+  modalShow.value = false;
+  modalTitle.value = "";
+
+  oldPassword.value = undefined;
+  oldPasswordBool.value = true;
+  newPassword.value = undefined;
+  newPasswordBool.value = true;
+  confirmPassword.value = undefined;
+  confirmPasswordBool.value = true;
+
+  phone.value = undefined;
+  verify.value = undefined;
+
+  modalShow.value = false;
+}
+
+/** 点击发送验证码 */
+function getVerifyCode() {
+  if (modalTitle.value == "手机号验证" && phone.value != user.value.phonenumber) {
+    proxy.$modal.msg("请输入正确的手机号");
+    return;
   }
+
+  verify.value = undefined;
+  useStore.GetCodeImg({
+    phone: phone.value,
+    success: (res) => {
+      proxy.$modal.msgSuccess("发送成功");
+    },
+  });
 }
 
 onLoad((options) => {

+ 14 - 14
src/pages/mine/setting/index.vue

@@ -2,8 +2,8 @@
   <view class="setting-container" :style="{ height: `${windowHeight}px` }">
     <view class="menu-list mlr0">
       <view class="list-cell list-cell-arrow" @click="proxy.$settingStore.handleToEditInfo()">
-        <view class="menu-item-box">
-          <view class="iconfont ucicon-user menu-icon"></view>
+        <view class="menu-item">
+          <view class="iconfont ucicon-user menu-item-icon"></view>
           <view>我的信息</view>
         </view>
       </view>
@@ -11,36 +11,36 @@
 
     <view class="menu-list mt0 mlr0">
       <view class="list-cell list-cell-arrow" @click="proxy.$settingStore.handleAbout()">
-        <view class="menu-item-box">
-          <view class="iconfont ucicon-aixin menu-icon"></view>
+        <view class="menu-item">
+          <view class="iconfont ucicon-aixin menu-item-icon"></view>
           <view>关于我们</view>
         </view>
       </view>
       <view class="list-cell list-cell-arrow" @click="proxy.$settingStore.handleHelp()">
-        <view class="menu-item-box">
-          <view class="iconfont ucicon-Help menu-icon"></view>
+        <view class="menu-item">
+          <view class="iconfont ucicon-Help menu-item-icon"></view>
           <view>常见问题</view>
         </view>
       </view>
       <view class="list-cell list-cell-arrow" @click="proxy.$settingStore.handleCleanTmp()">
-        <view class="menu-item-box">
-          <view class="iconfont ucicon-qinglihuancun menu-icon"></view>
+        <view class="menu-item">
+          <view class="iconfont ucicon-qinglihuancun menu-item-icon"></view>
           <view>清理缓存</view>
           <view style="margin: 0 15px 0 auto; font-size: 14px; color: #909399">{{ proxy.$settingStore.currentSize }}</view>
         </view>
       </view>
       <view class="list-cell list-cell-arrow" @click="proxy.$settingStore.handleToUpgrade()">
-        <view class="menu-item-box">
-          <view class="iconfont ucicon-jianchagengxin menu-icon"></view>
+        <view class="menu-item">
+          <view class="iconfont ucicon-jianchagengxin menu-item-icon"></view>
           <view>检查更新</view>
         </view>
       </view>
     </view>
 
-    <!-- <view class="cu-list menu">
-      <view class="cu-item">
-        <view class="content text-center" @click="proxy.$settingStore.handleLogout">
-          <text class="text-black">退出登录</text>
+    <!-- <view class="menu-list" @click="proxy.$settingStore.handleLogout">
+      <view class="list-cell">
+        <view class="menu-item">
+          <view class="button">退 出 登 录</view>
         </view>
       </view>
     </view> -->

+ 35 - 17
src/static/scss/global.scss

@@ -10,20 +10,6 @@
   color: #aaa;
 }
 
-.list-cell-arrow::before {
-  content: ' ';
-  height: 10px;
-  width: 10px;
-  border-width: 2px 2px 0 0;
-  border-color: #c0c0c0;
-  border-style: solid;
-  -webkit-transform: matrix(0.5, 0.5, -0.5, 0.5, 0, 0);
-  transform: matrix(0.5, 0.5, -0.5, 0.5, 0, 0);
-  position: absolute;
-  top: 50%;
-  margin-top: -6px;
-  right: 30rpx;
-}
 
 .list-cell {
   position: relative;
@@ -55,11 +41,27 @@
   pointer-events: none;
 }
 
+.list-cell-arrow::before {
+  content: ' ';
+  height: 10px;
+  width: 10px;
+  border-width: 2px 2px 0 0;
+  border-color: #c0c0c0;
+  border-style: solid;
+  -webkit-transform: matrix(0.5, 0.5, -0.5, 0.5, 0, 0);
+  transform: matrix(0.5, 0.5, -0.5, 0.5, 0, 0);
+  position: absolute;
+  top: 50%;
+  margin-top: -6px;
+  right: 30rpx;
+}
+
+
 
 .menu-list {
   margin: 0.625rem 0.625rem;
 
-  .menu-item-box {
+  .menu-item {
     width: 100%;
     display: flex;
     align-items: center;
@@ -80,16 +82,32 @@
       text-overflow: ellipsis; //溢出用省略号显示
     }
 
-    .menu-icon {
-      color: #007AFF;
+    &-icon {
+      color: $uni-color-primary;
       font-size: 16px;
       margin-right: 5px;
     }
 
+    &-image {
+      margin-right: 5px;
+    }
+
     .text-right {
       margin-left: auto;
       margin-right: 34rpx;
       color: #999;
     }
+
+    .button {
+      width: 100%;
+      text-align: center;
+      white-space: nowrap;
+      overflow: hidden; //超出的文本隐藏
+      text-overflow: ellipsis; //溢出用省略号显示
+
+      &.error {
+        color: red;
+      }
+    }
   }
 }

+ 1 - 1
src/static/scss/sidebar.scss

@@ -130,7 +130,7 @@ uni-button[type='primary'] {
 
 
 //iconfont样式 开始
-.menu-list .menu-item-box .menu-icon {
+.menu-list .menu-item .menu-item-icon {
     @include font_color('themeColor');
 }
 

+ 11 - 1
src/store/modules/user.js

@@ -3,7 +3,7 @@ import { getToken, setToken, removeToken } from "@/utils/auth";
 import { defineStore } from "pinia";
 // 接口引用
 import { login, logout, getInfo, getMobileTenantConfig, getCodeImg } from "@/api/login";
-import { getUserProfile, appAdd } from "@/api/system/user";
+import { getUserProfile, appAdd, appDel } from "@/api/system/user";
 import { phoneVerify } from "@/api/common/index.js";
 // 组件引用
 import modal from "@/plugins/modal.plugins.js";
@@ -253,6 +253,16 @@ const useStores = defineStore("useStores", {
       })
     },
 
+    UserDel({ data, success, error }) {
+      modal.loading("加载中");
+      appDel(data).then((res) => {
+        if (res.status === "SUCCESS") {
+          success(res)
+          modal.closeLoading();
+        }
+      })
+    },
+
     // 退出系统
     LogOut() {
       return new Promise((resolve, reject) => {