Przeglądaj źródła

fix:样式调整

jianghaili 9 miesięcy temu
rodzic
commit
d31e70e4e6
6 zmienionych plików z 2643 dodań i 2195 usunięć
  1. 302 259
      my/gird/browse.vue
  2. 537 475
      my/jilu/jilu.vue
  3. 379 278
      my/renzheng/zhuanrang.vue
  4. 160 135
      package/blackList/blackList.vue
  5. 304 260
      package/myLove/myLove.vue
  6. 961 788
      pages/my/invitationUserqy.vue

+ 302 - 259
my/gird/browse.vue

@@ -1,274 +1,317 @@
 <template>
-	<view class="">
-		<view class="qyList flex justify-center">
-			<view class="qyList-box">
-				<view class="qyList-box-item flex justify-center" v-for="(item,index) in dataList" :key="index"
-					@click="goNav('/pages/index/game/orderDet?resumesId='+item.resumesId)">
-					<view class="qyList-box-item-box">
-						<view class="qyList-box-item-info flex justify-between align-center">
-							<view class="qyList-box-item-info-l">
-								<view class="" style="color: #212121;font-size: 38rpx;font-weight: 800;">
-									{{item.resumesName}}
-								</view>
-								<view class="flex align-center flex-wrap"
-									style="color: #999999;font-size: 26rpx;margin-top: 10rpx;">
-									<text>{{item.resumesAge}}岁</text>
-									<text style="margin-left: 20rpx;margin-right: 20rpx;">|</text>
-									<text>{{item.resumesWorkExperience}}</text>
-									<text style="margin-left: 20rpx;margin-right: 20rpx;">|</text>
-									<text>{{item.school}}</text>
-									<text style="margin-left: 20rpx;margin-right: 20rpx;">|</text>
-									<text>期望{{item.resumesCompensation}}</text>
-								</view>
-							</view>
-							<view class="qyList-box-item-info-r">
-								<image :src="item.avatar?item.avatar:'../../static/logo.png'"
-									style="width: 95rpx;height: 95rpx;border-radius: 50%;" mode=""></image>
-							</view>
-						</view>
-						<view class="qyList-box-item-job flex align-center">
-							<u-icon name="heart-fill" color="#016BF6" size="30" style="margin-right: 16rpx;">
-							</u-icon>
-							期望岗位:{{item.resumesPost}}
-						</view>
-						<view v-if="item.resumesCompanyList.length>0" class="qyList-box-item-job flex align-center">
-							<image src="../../static/images/qi.png"
-								style="width: 30rpx;height: 32rpx;margin-right: 16rpx;" mode=""></image>
-							{{item.resumesCompanyList[0].resumesTitle}} /
-							{{item.resumesCompanyList[0].resumesPost}}
-						</view>
-						<view class="qyList-box-item-rem" v-if="item.resumesDetails">
-							优势:{{item.resumesDetails}}
-						</view>
-					</view>
-				</view>
-
-			</view>
-		</view>
-		<empty v-if="dataList.length==0" />
-		<!-- 筛选悬浮 -->
-		<view class="filterSe" @click="goScreen()">
-			<image src="../../static/images/my/filterSe.png" mode=""></image>
-		</view>
-	</view>
+  <view class="page-box">
+    <navBar title="浏览记录" color="#000" />
+    <view class="page-content">
+      <view class="qyList flex justify-center">
+        <view class="qyList-box">
+          <view
+            class="qyList-box-item flex justify-center"
+            v-for="(item, index) in dataList"
+            :key="index"
+            @click="goNav('/pages/index/game/orderDet?resumesId=' + item.resumesId)"
+          >
+            <view class="qyList-box-item-box">
+              <view class="qyList-box-item-info flex justify-between align-center">
+                <view class="qyList-box-item-info-l">
+                  <view
+                    class=""
+                    style="color: #212121; font-size: 38rpx; font-weight: 800"
+                  >
+                    {{ item.resumesName }}
+                  </view>
+                  <view
+                    class="flex align-center flex-wrap"
+                    style="color: #999999; font-size: 26rpx; margin-top: 10rpx"
+                  >
+                    <text>{{ item.resumesAge }}岁</text>
+                    <text style="margin-left: 20rpx; margin-right: 20rpx">|</text>
+                    <text>{{ item.resumesWorkExperience }}</text>
+                    <text style="margin-left: 20rpx; margin-right: 20rpx">|</text>
+                    <text>{{ item.school }}</text>
+                    <text style="margin-left: 20rpx; margin-right: 20rpx">|</text>
+                    <text>期望{{ item.resumesCompensation }}</text>
+                  </view>
+                </view>
+                <view class="qyList-box-item-info-r">
+                  <image
+                    :src="item.avatar ? item.avatar : '../../static/logo.png'"
+                    style="width: 95rpx; height: 95rpx; border-radius: 50%"
+                    mode=""
+                  ></image>
+                </view>
+              </view>
+              <view class="qyList-box-item-job flex align-center">
+                <u-icon
+                  name="heart-fill"
+                  color="#016BF6"
+                  size="30"
+                  style="margin-right: 16rpx"
+                >
+                </u-icon>
+                期望岗位:{{ item.resumesPost }}
+              </view>
+              <view
+                v-if="item.resumesCompanyList.length > 0"
+                class="qyList-box-item-job flex align-center"
+              >
+                <image
+                  src="../../static/images/qi.png"
+                  style="width: 30rpx; height: 32rpx; margin-right: 16rpx"
+                  mode=""
+                ></image>
+                {{ item.resumesCompanyList[0].resumesTitle }} /
+                {{ item.resumesCompanyList[0].resumesPost }}
+              </view>
+              <view class="qyList-box-item-rem" v-if="item.resumesDetails">
+                优势:{{ item.resumesDetails }}
+              </view>
+            </view>
+          </view>
+        </view>
+      </view>
+      <empty v-if="dataList.length == 0" />
+      <!-- 筛选悬浮 -->
+      <view class="filterSe" @click="goScreen()">
+        <image src="../../static/images/my/filterSe.png" mode=""></image>
+      </view>
+    </view>
+  </view>
 </template>
 
 <script>
-	import empty from '../../components/empty.vue'
-	export default {
-		components: {
-			empty
-		},
-		data() {
-			return {
-				dataList: [],
-				page: 1,
-				pages: 1,
-				limit: 10,
-				myId: '',
-				isVip: false,
-				filter: {
-					resumesCompensation: '', //薪资
-					resumesEducation: '', //学历
-					resumesWorkExperience: '', //经验
-					industryName: '', //行业
-				}
-			}
-		},
-		onLoad(e) {
-			this.$queue.showLoading("加载中...");
-			this.myId = uni.getStorageSync('userId')
-			this.getBrowseList()
-		},
-		watch: {
-			filter: {
-				handler() {
-					this.page = 1
-					this.getBrowseList()
-				},
-				deep: true,
-				immediate: true
-			}
-		},
-		onUnload() {
-			uni.removeStorageSync('isCompyBrowse')
-		},
-		onShow() {
-			if (uni.getStorageSync('isCompyBrowse') && (uni.getStorageSync('isCompyBrowse')).length > 0) {
-				let isCompyBrowse = uni.getStorageSync('isCompyBrowse')
-				isCompyBrowse.map(item => {
-					let arr = []
-					item.list.map(ite => {
-						if (ite.value != '不限') {
-							arr.push(ite.value)
-						}
-					})
-					switch (item.name) {
-						case '学历':
-							this.filter.resumesEducation = arr.join(',')
-							break;
-						case '薪资':
-							this.filter.resumesCompensation = arr.join(',')
-							break;
-						case '经验':
-							this.filter.resumesWorkExperience = arr.join(',')
-							break;
-						case '行业':
-							this.filter.industryName = arr.join(',')
-							break;
-					}
-
-				})
-			} else {
-				this.filter.resumesEducation = '' //学历
-				this.filter.resumesWorkExperience = '' //经验
-				this.filter.industryName = '' //行业
-				this.filter.resumesCompensation = '' //薪资
-			}
-		},
-		methods: {
-			// 去筛选
-			goScreen() {
-				uni.navigateTo({
-					url: '/package/screen/screen?isCompyBrowse=1'
-				})
-			},
-			goNav(url) {
-				uni.navigateTo({
-					url: url
-				})
-			},
-			// 足迹
-			getBrowseList() {
-				let data = {
-					page: this.page,
-					limit: this.limit,
-					resumesCompensation: this.filter.resumesCompensation, //薪资
-					resumesEducation: this.filter.resumesEducation, //学历
-					resumesWorkExperience: this.filter.resumesWorkExperience, //经验
-					industryName: this.filter.industryName, //行业
-				}
-				this.$Request.get("/app/userBrowse/selectCompayBrowse", data).then(res => {
-					uni.hideLoading();
-					uni.stopPullDownRefresh();
-					if (res.code == 0) {
-						this.pages = res.data.pages
-						if (this.page == 1) {
-							this.dataList = res.data.records
-						} else {
-							this.dataList = [...this.dataList, ...res.data.records]
-						}
-						console.log(this.dataList)
-					} else {
-						console.log(res.msg)
-					}
+import empty from "../../components/empty.vue";
+import navBar from "@/components/nav-bar/index.vue";
 
-				})
-			},
-			// 跳转订单
-			goDetail(e) {
-				uni.navigateTo({
-					url: '/pages/index/game/orderDet?resumesId=' + e.resumes.resumesId
-				});
-			},
-			// 删除
-			delData(e) {
-				let that = this
-				uni.showModal({
-					title: '提示',
-					content: '确定删除吗?',
-					confirmColor: '#016BF6',
-					success: function(res) {
-						if (res.confirm) {
-							console.log('用户点击确定');
-							let data = {
-								id: e.id
-							}
-							that.$Request.post("/app/userBrowse/deleteMyBrowse", data).then(res => {
-								if (res.code == 0) {
-									uni.showToast({
-										title: '删除成功!',
-										icon: 'none'
-									})
-									that.getBrowseList()
-								}
-							})
-						} else if (res.cancel) {
-							console.log('用户点击取消');
-						}
-					}
-				})
-			}
-		},
-		onReachBottom: function() {
-			if (this.page < this.pages) {
-				this.page += 1
-				this.getBrowseList()
-			}
-		},
-		onPullDownRefresh: function() {
-			this.page = 1;
-			this.getBrowseList()
-		},
-	}
+export default {
+  components: {
+    empty,
+    navBar,
+  },
+  data() {
+    return {
+      dataList: [],
+      page: 1,
+      pages: 1,
+      limit: 10,
+      myId: "",
+      isVip: false,
+      filter: {
+        resumesCompensation: "", //薪资
+        resumesEducation: "", //学历
+        resumesWorkExperience: "", //经验
+        industryName: "", //行业
+      },
+    };
+  },
+  onLoad(e) {
+    this.$queue.showLoading("加载中...");
+    this.myId = uni.getStorageSync("userId");
+    this.getBrowseList();
+  },
+  watch: {
+    filter: {
+      handler() {
+        this.page = 1;
+        this.getBrowseList();
+      },
+      deep: true,
+      immediate: true,
+    },
+  },
+  onUnload() {
+    uni.removeStorageSync("isCompyBrowse");
+  },
+  onShow() {
+    if (
+      uni.getStorageSync("isCompyBrowse") &&
+      uni.getStorageSync("isCompyBrowse").length > 0
+    ) {
+      let isCompyBrowse = uni.getStorageSync("isCompyBrowse");
+      isCompyBrowse.map((item) => {
+        let arr = [];
+        item.list.map((ite) => {
+          if (ite.value != "不限") {
+            arr.push(ite.value);
+          }
+        });
+        switch (item.name) {
+          case "学历":
+            this.filter.resumesEducation = arr.join(",");
+            break;
+          case "薪资":
+            this.filter.resumesCompensation = arr.join(",");
+            break;
+          case "经验":
+            this.filter.resumesWorkExperience = arr.join(",");
+            break;
+          case "行业":
+            this.filter.industryName = arr.join(",");
+            break;
+        }
+      });
+    } else {
+      this.filter.resumesEducation = ""; //学历
+      this.filter.resumesWorkExperience = ""; //经验
+      this.filter.industryName = ""; //行业
+      this.filter.resumesCompensation = ""; //薪资
+    }
+  },
+  methods: {
+    // 去筛选
+    goScreen() {
+      uni.navigateTo({
+        url: "/package/screen/screen?isCompyBrowse=1",
+      });
+    },
+    goNav(url) {
+      uni.navigateTo({
+        url: url,
+      });
+    },
+    // 足迹
+    getBrowseList() {
+      let data = {
+        page: this.page,
+        limit: this.limit,
+        resumesCompensation: this.filter.resumesCompensation, //薪资
+        resumesEducation: this.filter.resumesEducation, //学历
+        resumesWorkExperience: this.filter.resumesWorkExperience, //经验
+        industryName: this.filter.industryName, //行业
+      };
+      this.$Request.get("/app/userBrowse/selectCompayBrowse", data).then((res) => {
+        uni.hideLoading();
+        uni.stopPullDownRefresh();
+        if (res.code == 0) {
+          this.pages = res.data.pages;
+          if (this.page == 1) {
+            this.dataList = res.data.records;
+          } else {
+            this.dataList = [...this.dataList, ...res.data.records];
+          }
+          console.log(this.dataList);
+        } else {
+          console.log(res.msg);
+        }
+      });
+    },
+    // 跳转订单
+    goDetail(e) {
+      uni.navigateTo({
+        url: "/pages/index/game/orderDet?resumesId=" + e.resumes.resumesId,
+      });
+    },
+    // 删除
+    delData(e) {
+      let that = this;
+      uni.showModal({
+        title: "提示",
+        content: "确定删除吗?",
+        confirmColor: "#016BF6",
+        success: function (res) {
+          if (res.confirm) {
+            console.log("用户点击确定");
+            let data = {
+              id: e.id,
+            };
+            that.$Request.post("/app/userBrowse/deleteMyBrowse", data).then((res) => {
+              if (res.code == 0) {
+                uni.showToast({
+                  title: "删除成功!",
+                  icon: "none",
+                });
+                that.getBrowseList();
+              }
+            });
+          } else if (res.cancel) {
+            console.log("用户点击取消");
+          }
+        },
+      });
+    },
+  },
+  onReachBottom: function () {
+    if (this.page < this.pages) {
+      this.page += 1;
+      this.getBrowseList();
+    }
+  },
+  onPullDownRefresh: function () {
+    this.page = 1;
+    this.getBrowseList();
+  },
+};
 </script>
 
-<style lang="scss">
-	page {
-		background-color: #F2F2F7;
-	}
-
-	.filterSe {
-		position: fixed;
-		bottom: 10vh;
-		right: 30rpx;
+<style lang="scss" scoped>
+page {
+  background-color: #f2f2f7;
+}
+.page-box {
+  position: absolute;
+  left: 0;
+  bottom: 0;
+  right: 0;
+  top: 0;
+  overflow: hidden;
+  display: flex;
+  flex-direction: column;
+  .page-content {
+    flex: 1;
+    overflow: hidden;
+    overflow-y: auto;
+  }
+}
+.filterSe {
+  position: fixed;
+  bottom: 10vh;
+  right: 30rpx;
 
-		image {
-			width: 100rpx;
-			height: 100rpx;
-			// border-radius: 50%;
-		}
-	}
+  image {
+    width: 100rpx;
+    height: 100rpx;
+    // border-radius: 50%;
+  }
+}
 
-	.qyList {
-		width: 100%;
-		height: auto;
-		margin-top: 20rpx;
+.qyList {
+  width: 100%;
+  height: auto;
+  margin-top: 20rpx;
 
-		.qyList-box {
-			width: 686rpx;
-			height: 100%;
+  .qyList-box {
+    width: 686rpx;
+    height: 100%;
 
-			.qyList-box-item {
-				width: 100%;
-				// height: 400rpx;
-				padding-bottom: 40rpx;
-				background-color: #ffffff;
-				border-radius: 24rpx;
-				margin-bottom: 20rpx;
+    .qyList-box-item {
+      width: 100%;
+      // height: 400rpx;
+      padding-bottom: 40rpx;
+      background-color: #ffffff;
+      border-radius: 24rpx;
+      margin-bottom: 20rpx;
 
-				.qyList-box-item-box {
-					width: 626rpx;
-					height: 100%;
-				}
+      .qyList-box-item-box {
+        width: 626rpx;
+        height: 100%;
+      }
 
-				.qyList-box-item-info {
-					margin-top: 40rpx;
-				}
+      .qyList-box-item-info {
+        margin-top: 40rpx;
+      }
 
-				.qyList-box-item-job {
-					color: #121212;
-					font-size: 28rpx;
-					font-weight: 500;
-					margin-top: 20rpx;
-				}
+      .qyList-box-item-job {
+        color: #121212;
+        font-size: 28rpx;
+        font-weight: 500;
+        margin-top: 20rpx;
+      }
 
-				.qyList-box-item-rem {
-					color: #999999;
-					font-size: 26rpx;
-					margin-top: 20rpx;
-				}
-			}
-		}
-	}
-</style>
+      .qyList-box-item-rem {
+        color: #999999;
+        font-size: 26rpx;
+        margin-top: 20rpx;
+      }
+    }
+  }
+}
+</style>

+ 537 - 475
my/jilu/jilu.vue

@@ -1,510 +1,572 @@
 <!-- 菜单悬浮的原理: 通过给菜单添加position:sticky实现, 用法超简单, 仅APP端的低端机不兼容 https://caniuse.com/#feat=css-sticky -->
 <template>
-	<view>
-		<view class="sticky-tabs">
-			<me-tabs v-model="tabIndex" nameKey='name' :tabs="tabs" @change="tabChange"></me-tabs>
-		</view>
+  <view class="page-box">
+    <navBar title="面试记录" color="#000" />
+    <view class="page-content">
+      <view class="sticky-tabs">
+        <me-tabs
+          v-model="tabIndex"
+          nameKey="name"
+          :tabs="tabs"
+          @change="tabChange"
+        ></me-tabs>
+      </view>
 
-		<view>
-			<view class="box" v-for="(item,index) in goods" :key="index">
-				<view class="flex align-center justify-between padding-lr padding-tb-sm">
-					<view style="color: #016BF6;font-size: 28rpx;font-weight: bold;">{{item.statusName}}</view>
-					<view class="text-sm" style="color: #999999;">{{item.createTime}}</view>
-				</view>
-				<view style="width: 100%;height: 1rpx;background: #EEEEEE;"></view>
-				<view class="padding-lr padding-tb-sm">
-					<view class="flex align-center justify-between">
-						<view class="text-bold" style="color: #1F1F1F;font-size: 38upx;">
-							{{item.postPush?item.postPush.stationName:''}}
-						</view>
-						<view class="" style="color: #016BF6;font-size: 38upx;"><text
-								class="text-lg text-bold">{{item.postPush?item.postPush.salaryRange:''}}</text></view>
-					</view>
-					<view class="flex" style="margin-top: 20rpx;">
-						<view class="" style="width: 25%;">
-							面试人:
-						</view>
-						<view class="" style="width: 75%;">
-							{{item.userEntity?item.userEntity.userName:''}}
-						</view>
-					</view>
-					<view class="flex" style="margin-top: 10rpx;">
-						<view class="" style="width: 25%;">
-							面试时间:
-						</view>
-						<view class="" style="width: 75%;">
-							{{item.interviewDateTime}}
-						</view>
-					</view>
-					<view class="flex" style="margin-top: 10rpx;">
-						<view class="" style="width: 25%;">
-							面试地点:
-						</view>
-						<view class="" style="width: 75%;">
-							{{item.detailedAddress}}
-						</view>
-					</view>
-					<view class="flex" style="margin-top: 10rpx;">
-						<view class="" style="width: 25%;">
-							面试备注:
-						</view>
-						<view class="" style="width: 75%;">
-							{{item.remarks}}
-						</view>
-					</view>
+      <view>
+        <view class="box" v-for="(item, index) in goods" :key="index">
+          <view class="flex align-center justify-between padding-lr padding-tb-sm">
+            <view style="color: #016bf6; font-size: 28rpx; font-weight: bold">{{
+              item.statusName
+            }}</view>
+            <view class="text-sm" style="color: #999999">{{ item.createTime }}</view>
+          </view>
+          <view style="width: 100%; height: 1rpx; background: #eeeeee"></view>
+          <view class="padding-lr padding-tb-sm">
+            <view class="flex align-center justify-between">
+              <view class="text-bold" style="color: #1f1f1f; font-size: 38upx">
+                {{ item.postPush ? item.postPush.stationName : "" }}
+              </view>
+              <view class="" style="color: #016bf6; font-size: 38upx"
+                ><text class="text-lg text-bold">{{
+                  item.postPush ? item.postPush.salaryRange : ""
+                }}</text></view
+              >
+            </view>
+            <view class="flex" style="margin-top: 20rpx">
+              <view class="" style="width: 25%"> 面试人: </view>
+              <view class="" style="width: 75%">
+                {{ item.userEntity ? item.userEntity.userName : "" }}
+              </view>
+            </view>
+            <view class="flex" style="margin-top: 10rpx">
+              <view class="" style="width: 25%"> 面试时间: </view>
+              <view class="" style="width: 75%">
+                {{ item.interviewDateTime }}
+              </view>
+            </view>
+            <view class="flex" style="margin-top: 10rpx">
+              <view class="" style="width: 25%"> 面试地点: </view>
+              <view class="" style="width: 75%">
+                {{ item.detailedAddress }}
+              </view>
+            </view>
+            <view class="flex" style="margin-top: 10rpx">
+              <view class="" style="width: 25%"> 面试备注: </view>
+              <view class="" style="width: 75%">
+                {{ item.remarks }}
+              </view>
+            </view>
+          </view>
+          <view style="width: 100%; height: 1rpx; background: #eeeeee"> </view>
+          <view class="flex align-center padding-tb justify-end padding-lr">
+            <view class="flex align-center">
+              <view class="btn" @click.stop="goInfo(item.userEntity)"> 简历详情</view>
+            </view>
+            <view class="flex align-center">
+              <view
+                class="btn"
+                v-if="item.status == 1 || item.status == 2"
+                @click.stop="updataServeType(item)"
+              >
+                修改内容</view
+              >
+            </view>
+          </view>
+        </view>
+      </view>
+      <empty v-if="goods.length == 0" />
 
-				</view>
-				<view style="width: 100%;height: 1rpx;background: #EEEEEE;">
-				</view>
-				<view class="flex align-center padding-tb justify-end padding-lr">
-					<view class="flex align-center">
-						<view class="btn" @click.stop="goInfo(item.userEntity)">
-							简历详情</view>
-					</view>
-					<view class="flex align-center">
-						<view class="btn" v-if="item.status == 1 || item.status==2" @click.stop="updataServeType(item)">
-							修改内容</view>
-					</view>
-
-				</view>
-			</view>
-		</view>
-		<empty v-if="goods.length==0" />
-
-
-		<u-popup v-model="mianshiShow" mode="bottom" z-index="998" :mask-close-able="false" border-radius="14"
-			@close="cleanMs" :closeable="true">
-			<view class="mianshiTitle">面试邀请</view>
-			<view class="mianshiTime flex justify-center">
-				<view class="mianshiTime-box flex justify-between align-center">
-					<view class="">
-						面试时间
-					</view>
-					<view class="flex align-center mianshiTime-box-ti">
-						<u-input disabled v-model="miamshi.interviewDateTime" @click="msTime=true" type="text"
-							placeholder="请选择面试时间" />
-						<u-icon name="arrow-right" style="margin-left: 10rpx;" color="#016BF6" size="28"
-							@click="msTime=true"></u-icon>
-					</view>
-				</view>
-			</view>
-			<view class="mianshiTime flex justify-center">
-				<view class="mianshiTime-box flex justify-between align-center">
-					<view class="">
-						面试地址
-					</view>
-					<view class="flex align-center mianshiTime-box-ti">
-						<u-input disabled @click="goMap()" v-model="miamshi.detailedAddress" type="text"
-							placeholder="请选择面试地址" />
-						<u-icon name="arrow-right" style="margin-left: 10rpx;" @click="goMap()" color="#016BF6"
-							size="28"></u-icon>
-					</view>
-				</view>
-			</view>
-			<view class="mianshiTime flex justify-center">
-				<view class="mianshiTime-box" style="border: none;">
-					<view class="">
-						备注
-					</view>
-					<view class="flex align-center mianshiTime-box-ti">
-						<u-input v-model="miamshi.remarks" type="textarea" input-align="left"
-							style="padding: 10rpx;background-color: #F2F2F7;height: 200rpx;overflow: hidden;border-radius: 14rpx;width: 100%;"
-							:auto-height="false" />
-					</view>
-				</view>
-			</view>
-			<view class="btnm flex justify-center">
-				<view class="btn-box flex justify-around align-center">
-					<view class="btn-close btnItem" @click="mianshiShow = false">
-						取消
-					</view>
-					<view class="btn-sub btnItem" @click="submitMs()">
-						确认
-					</view>
-				</view>
-			</view>
-		</u-popup>
-		<u-toast ref="uToast" />
-		<u-picker v-model="msTime" mode="time" :params="params" @confirm="mianshiConfirm" confirm-color="#016BF6">
-		</u-picker>
-	</view>
+      <u-popup
+        v-model="mianshiShow"
+        mode="bottom"
+        z-index="998"
+        :mask-close-able="false"
+        border-radius="14"
+        @close="cleanMs"
+        :closeable="true"
+      >
+        <view class="mianshiTitle">面试邀请</view>
+        <view class="mianshiTime flex justify-center">
+          <view class="mianshiTime-box flex justify-between align-center">
+            <view class=""> 面试时间 </view>
+            <view class="flex align-center mianshiTime-box-ti">
+              <u-input
+                disabled
+                v-model="miamshi.interviewDateTime"
+                @click="msTime = true"
+                type="text"
+                placeholder="请选择面试时间"
+              />
+              <u-icon
+                name="arrow-right"
+                style="margin-left: 10rpx"
+                color="#016BF6"
+                size="28"
+                @click="msTime = true"
+              ></u-icon>
+            </view>
+          </view>
+        </view>
+        <view class="mianshiTime flex justify-center">
+          <view class="mianshiTime-box flex justify-between align-center">
+            <view class=""> 面试地址 </view>
+            <view class="flex align-center mianshiTime-box-ti">
+              <u-input
+                disabled
+                @click="goMap()"
+                v-model="miamshi.detailedAddress"
+                type="text"
+                placeholder="请选择面试地址"
+              />
+              <u-icon
+                name="arrow-right"
+                style="margin-left: 10rpx"
+                @click="goMap()"
+                color="#016BF6"
+                size="28"
+              ></u-icon>
+            </view>
+          </view>
+        </view>
+        <view class="mianshiTime flex justify-center">
+          <view class="mianshiTime-box" style="border: none">
+            <view class=""> 备注 </view>
+            <view class="flex align-center mianshiTime-box-ti">
+              <u-input
+                v-model="miamshi.remarks"
+                type="textarea"
+                input-align="left"
+                style="
+                  padding: 10rpx;
+                  background-color: #f2f2f7;
+                  height: 200rpx;
+                  overflow: hidden;
+                  border-radius: 14rpx;
+                  width: 100%;
+                "
+                :auto-height="false"
+              />
+            </view>
+          </view>
+        </view>
+        <view class="btnm flex justify-center">
+          <view class="btn-box flex justify-around align-center">
+            <view class="btn-close btnItem" @click="mianshiShow = false"> 取消 </view>
+            <view class="btn-sub btnItem" @click="submitMs()"> 确认 </view>
+          </view>
+        </view>
+      </u-popup>
+      <u-toast ref="uToast" />
+      <u-picker
+        v-model="msTime"
+        mode="time"
+        :params="params"
+        @confirm="mianshiConfirm"
+        confirm-color="#016BF6"
+      >
+      </u-picker>
+    </view>
+  </view>
 </template>
 
 <script>
-	import meTabs from "@/components/mescroll-uni/me-tabs/me-tabs.vue";
-	import empty from '@/components/empty.vue'
+import meTabs from "@/components/mescroll-uni/me-tabs/me-tabs.vue";
+import empty from "@/components/empty.vue";
+import navBar from "@/components/nav-bar/index.vue";
 
-	export default {
-		components: {
-			meTabs,
-			empty
-		},
-		data() {
-			return {
-				mianshiShow: false, //约面试弹窗
-				msshow: false,
-				params: {
-					year: false,
-					month: true,
-					day: true,
-					hour: true,
-					minute: true,
-					second: false
-				},
-				msTime: false,
-				miamshi: {
-					interviewDateTime: '', //面试时间
-					companyId: '', //公司id
-					remarks: '', //面试备注
-					userId: '', //面试者id
-					postPushId: '', //岗位id
-					province: '', //省
-					city: '', //市
-					county: '', //区
-					lng: '', //经度
-					lat: '', //纬度
-					detailedAddress: '', //详细地址
-					recordId: '', //id
-				},
-				count: 0,
-				goods: [], // 数据列表
-				tabs: [{
-					name: '全部',
-					status: 0
-				}, {
-					name: '待接受',
-					status: 1
-				}, {
-					name: '已接受',
-					status: 2
-				}, {
-					name: '已拒绝',
-					status: 3
-				}, {
-					name: '已过期',
-					status: 4
-				}],
-				tabIndex: 0, // tab下标
-				page: 1,
-				limit: 10,
-			}
-		},
-		onLoad(option) {
-			this.$queue.showLoading("加载中...");
-		},
-		onShow() {
-			this.getlist()
-		},
-		methods: {
-			goInfo(item) {
-				console.log(item, '1111111111111')
-				if (item && item.resumesId) {
-					uni.navigateTo({
-						url: '/pages/index/game/orderDet?resumesId=' + item.resumesId
-					})
-				} else {
-					uni.showToast({
-						title: '用户不存在',
-						icon: 'none'
-					})
-				}
-			},
-			updataServeType(item) {
-				this.miamshi = {
-					interviewDateTime: item.interviewDateTime, //面试时间
-					companyId: item.companyId, //公司id
-					remarks: item.remarks, //面试备注
-					userId: item.userId, //面试者id
-					postPushId: item.postPushId, //岗位id
-					province: item.province, //省
-					city: item.city, //市
-					county: item.county, //区
-					lng: item.lng, //经度
-					lat: item.lat, //纬度
-					detailedAddress: item.detailedAddress, //详细地址
-					recordId: item.recordId, //id
-				}
-				this.mianshiShow = true
-			},
-			submitMs() {
-				if (!this.miamshi.interviewDateTime) {
-					this.$refs.uToast.show({
-						title: '请选择面试时间',
-						type: 'default',
-						position: 'bottom'
-					})
-					return
-				}
-				if (!this.miamshi.detailedAddress) {
-					this.$refs.uToast.show({
-						title: '请选择面试地点',
-						type: 'default',
-						position: 'bottom'
-					})
-					return
-				}
-				let that = this
-				uni.showModal({
-					title: '提示',
-					content: '确定修改面试邀请吗?',
-					confirmColor: '#016BF6',
-					complete(ret) {
-						if (ret.confirm) {
-							that.$Request.postJson("/app/interviewRecord/saveInterview", that.miamshi).then(
-								res => {
-									if (res.code == 0) {
-										uni.showToast({
-											title: '面试邀请已修改'
-										})
-										that.mianshiShow = false
-										that.page = 1
-										that.getlist()
-									} else {
-										uni.showToast({
-											title: res.msg,
-											icon: 'none'
-										})
-									}
-								})
-						}
-					}
-				})
-			},
-			// 点击调起地图选择位置
-			goMap() {
-				let that = this
-				uni.chooseLocation({
-					success: function(res) {
-						let arrress = res.address
-						let reg = /.+?(省|市|自治区|自治州|县|区)/g;
-						let adds = arrress.match(reg)
-						console.log(adds)
-						that.miamshi.province = adds[0]
-						that.miamshi.city = adds[1]
-						that.miamshi.county = adds[2]
-						that.miamshi.detailedAddress = res.address + '' + res.name
-						that.miamshi.lat = res.latitude
-						that.miamshi.lng = res.longitude
-					}
-				});
-			},
-			//选择面试时间
-			mianshiConfirm(e) {
-				//获取当前时间的年份
-				let date = new Date()
-				let year = date.getFullYear()
-				this.miamshi.interviewDateTime = year + '-' + e.month + '-' + e.day + ' ' + e.hour + ':' + e.minute + ':00'
-			},
-			//关闭弹窗的时候清空表单的值
-			cleanMs() {
-				this.miamshi = {
-					interviewDateTime: '', //面试时间
-					companyId: '', //公司id
-					remarks: '', //面试备注
-					userId: '', //面试者id
-					postPushId: '', //岗位id
-					province: '', //省
-					city: '', //市
-					county: '', //区
-					lng: '', //经度
-					lat: '', //纬度
-					detailedAddress: '', //详细地址
-				}
-			},
-			getlist() {
-				let data = {
-					status: this.tabIndex == 0 ? '' : this.tabIndex,
-					page: this.page,
-					limit: this.limit,
-					companyId: uni.getStorageSync('companyId')
-				}
-				this.$Request.getT('/app/interviewRecord/interviewList', data).then(res => {
-					if (res.code == 0) {
-						if (this.page == 1) this.goods = []; //如果是第一页需手动制空列表
-						res.data.records.forEach(ret => {
-							if (ret.status == 1) {
-								ret.statusName = '待接受'
-							} else if (ret.status == 2) {
-								ret.statusName = '已接受'
-							} else if (ret.status == 3) {
-								ret.statusName = '已拒绝'
-							} else if (ret.status == 4) {
-								ret.statusName = '已过期'
-							}
-							this.goods.push(ret)
-						})
-						this.count = res.data.total
-					}
-					uni.hideLoading()
-				})
-
-			},
-			// 切换菜单
-			tabChange(e) {
-				console.log(e)
-				this.tabIndex = e
-				this.goods = []; // 置空列表,显示加载进度条
-				this.getlist()
-			},
-			goNav(url) {
-				uni.navigateTo({
-					url
-				})
-			}
-		},
-		onReachBottom: function() {
-			if (this.goods.length == this.count) {
-				uni.showToast({
-					title: '已经到底了',
-					icon: 'none'
-				})
-			} else {
-				this.page = this.page + 1;
-				this.getlist()
-			}
-		},
-		onPullDownRefresh: function() {
-			this.page = 1;
-			this.getlist()
-		}
-	}
+export default {
+  components: {
+    meTabs,
+    empty,
+	navBar
+  },
+  data() {
+    return {
+      mianshiShow: false, //约面试弹窗
+      msshow: false,
+      params: {
+        year: false,
+        month: true,
+        day: true,
+        hour: true,
+        minute: true,
+        second: false,
+      },
+      msTime: false,
+      miamshi: {
+        interviewDateTime: "", //面试时间
+        companyId: "", //公司id
+        remarks: "", //面试备注
+        userId: "", //面试者id
+        postPushId: "", //岗位id
+        province: "", //省
+        city: "", //市
+        county: "", //区
+        lng: "", //经度
+        lat: "", //纬度
+        detailedAddress: "", //详细地址
+        recordId: "", //id
+      },
+      count: 0,
+      goods: [], // 数据列表
+      tabs: [
+        {
+          name: "全部",
+          status: 0,
+        },
+        {
+          name: "待接受",
+          status: 1,
+        },
+        {
+          name: "已接受",
+          status: 2,
+        },
+        {
+          name: "已拒绝",
+          status: 3,
+        },
+        {
+          name: "已过期",
+          status: 4,
+        },
+      ],
+      tabIndex: 0, // tab下标
+      page: 1,
+      limit: 10,
+    };
+  },
+  onLoad(option) {
+    this.$queue.showLoading("加载中...");
+  },
+  onShow() {
+    this.getlist();
+  },
+  methods: {
+    goInfo(item) {
+      console.log(item, "1111111111111");
+      if (item && item.resumesId) {
+        uni.navigateTo({
+          url: "/pages/index/game/orderDet?resumesId=" + item.resumesId,
+        });
+      } else {
+        uni.showToast({
+          title: "用户不存在",
+          icon: "none",
+        });
+      }
+    },
+    updataServeType(item) {
+      this.miamshi = {
+        interviewDateTime: item.interviewDateTime, //面试时间
+        companyId: item.companyId, //公司id
+        remarks: item.remarks, //面试备注
+        userId: item.userId, //面试者id
+        postPushId: item.postPushId, //岗位id
+        province: item.province, //省
+        city: item.city, //市
+        county: item.county, //区
+        lng: item.lng, //经度
+        lat: item.lat, //纬度
+        detailedAddress: item.detailedAddress, //详细地址
+        recordId: item.recordId, //id
+      };
+      this.mianshiShow = true;
+    },
+    submitMs() {
+      if (!this.miamshi.interviewDateTime) {
+        this.$refs.uToast.show({
+          title: "请选择面试时间",
+          type: "default",
+          position: "bottom",
+        });
+        return;
+      }
+      if (!this.miamshi.detailedAddress) {
+        this.$refs.uToast.show({
+          title: "请选择面试地点",
+          type: "default",
+          position: "bottom",
+        });
+        return;
+      }
+      let that = this;
+      uni.showModal({
+        title: "提示",
+        content: "确定修改面试邀请吗?",
+        confirmColor: "#016BF6",
+        complete(ret) {
+          if (ret.confirm) {
+            that.$Request
+              .postJson("/app/interviewRecord/saveInterview", that.miamshi)
+              .then((res) => {
+                if (res.code == 0) {
+                  uni.showToast({
+                    title: "面试邀请已修改",
+                  });
+                  that.mianshiShow = false;
+                  that.page = 1;
+                  that.getlist();
+                } else {
+                  uni.showToast({
+                    title: res.msg,
+                    icon: "none",
+                  });
+                }
+              });
+          }
+        },
+      });
+    },
+    // 点击调起地图选择位置
+    goMap() {
+      let that = this;
+      uni.chooseLocation({
+        success: function (res) {
+          let arrress = res.address;
+          let reg = /.+?(省|市|自治区|自治州|县|区)/g;
+          let adds = arrress.match(reg);
+          console.log(adds);
+          that.miamshi.province = adds[0];
+          that.miamshi.city = adds[1];
+          that.miamshi.county = adds[2];
+          that.miamshi.detailedAddress = res.address + "" + res.name;
+          that.miamshi.lat = res.latitude;
+          that.miamshi.lng = res.longitude;
+        },
+      });
+    },
+    //选择面试时间
+    mianshiConfirm(e) {
+      //获取当前时间的年份
+      let date = new Date();
+      let year = date.getFullYear();
+      this.miamshi.interviewDateTime =
+        year + "-" + e.month + "-" + e.day + " " + e.hour + ":" + e.minute + ":00";
+    },
+    //关闭弹窗的时候清空表单的值
+    cleanMs() {
+      this.miamshi = {
+        interviewDateTime: "", //面试时间
+        companyId: "", //公司id
+        remarks: "", //面试备注
+        userId: "", //面试者id
+        postPushId: "", //岗位id
+        province: "", //省
+        city: "", //市
+        county: "", //区
+        lng: "", //经度
+        lat: "", //纬度
+        detailedAddress: "", //详细地址
+      };
+    },
+    getlist() {
+      let data = {
+        status: this.tabIndex == 0 ? "" : this.tabIndex,
+        page: this.page,
+        limit: this.limit,
+        companyId: uni.getStorageSync("companyId"),
+      };
+      this.$Request.getT("/app/interviewRecord/interviewList", data).then((res) => {
+        if (res.code == 0) {
+          if (this.page == 1) this.goods = []; //如果是第一页需手动制空列表
+          res.data.records.forEach((ret) => {
+            if (ret.status == 1) {
+              ret.statusName = "待接受";
+            } else if (ret.status == 2) {
+              ret.statusName = "已接受";
+            } else if (ret.status == 3) {
+              ret.statusName = "已拒绝";
+            } else if (ret.status == 4) {
+              ret.statusName = "已过期";
+            }
+            this.goods.push(ret);
+          });
+          this.count = res.data.total;
+        }
+        uni.hideLoading();
+      });
+    },
+    // 切换菜单
+    tabChange(e) {
+      console.log(e);
+      this.tabIndex = e;
+      this.goods = []; // 置空列表,显示加载进度条
+      this.getlist();
+    },
+    goNav(url) {
+      uni.navigateTo({
+        url,
+      });
+    },
+  },
+  onReachBottom: function () {
+    if (this.goods.length == this.count) {
+      uni.showToast({
+        title: "已经到底了",
+        icon: "none",
+      });
+    } else {
+      this.page = this.page + 1;
+      this.getlist();
+    }
+  },
+  onPullDownRefresh: function () {
+    this.page = 1;
+    this.getlist();
+  },
+};
 </script>
 
-<style lang="scss">
-	/*
+<style lang="scss" scoped>
+/*
 	sticky生效条件:
 	1、父元素不能overflow:hidden或者overflow:auto属性。(mescroll-body设置:sticky="true"即可, mescroll-uni本身没有设置overflow)
 	2、必须指定top、bottom、left、right4个值之一,否则只会处于相对定位
 	3、父元素的高度不能低于sticky元素的高度
 	4、sticky元素仅在其父元素内生效,所以父元素必须是 mescroll
 	*/
-	.sticky-tabs {
-		z-index: 990;
-		position: sticky;
-		top: var(--window-top);
-		// background-color: #fff;
-	}
-
-	.avatorm {
-		width: 100%;
-		// height: 100rpx;
-		margin-top: 20rpx;
-		color: #000;
+.sticky-tabs {
+  z-index: 990;
+  position: sticky;
+  top: var(--window-top);
+  // background-color: #fff;
+}
+.page-box {
+  position: absolute;
+  left: 0;
+  bottom: 0;
+  right: 0;
+  top: 0;
+  overflow: hidden;
+  display: flex;
+  flex-direction: column;
+  .page-content {
+    flex: 1;
+    overflow: hidden;
+    overflow-y: auto;
+  }
+}
+.avatorm {
+  width: 100%;
+  // height: 100rpx;
+  margin-top: 20rpx;
+  color: #000;
 
-		.avatorm-box {
-			width: 90%;
-			height: 100%;
+  .avatorm-box {
+    width: 90%;
+    height: 100%;
 
-			.avatorm-box-item {
-				margin-bottom: 10rpx;
+    .avatorm-box-item {
+      margin-bottom: 10rpx;
 
-				.avatorm-box-item-t {
-					width: 30%;
-				}
+      .avatorm-box-item-t {
+        width: 30%;
+      }
 
-				.avatorm-box-item-r {
-					width: 70%;
-				}
-			}
-		}
-	}
+      .avatorm-box-item-r {
+        width: 70%;
+      }
+    }
+  }
+}
 
-	.mssTitle {
-		width: 100%;
-		margin-top: 30rpx;
-		text-align: center;
-		font-size: 30rpx;
-		color: #000;
-		font-weight: bold;
-	}
+.mssTitle {
+  width: 100%;
+  margin-top: 30rpx;
+  text-align: center;
+  font-size: 30rpx;
+  color: #000;
+  font-weight: bold;
+}
 
-	.btnm {
-		width: 100%;
-		margin-top: 20rpx;
-		height: 80rpx;
-		margin-bottom: 100rpx;
+.btnm {
+  width: 100%;
+  margin-top: 20rpx;
+  height: 80rpx;
+  margin-bottom: 100rpx;
 
-		.btn-box {
-			width: 686rpx;
-			height: 100%;
+  .btn-box {
+    width: 686rpx;
+    height: 100%;
 
-			.btnItem {
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				width: 200rpx;
-				height: 100%;
-				border-radius: 14rpx;
-			}
+    .btnItem {
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      width: 200rpx;
+      height: 100%;
+      border-radius: 14rpx;
+    }
 
-			.btn-close {
-				color: #016BF6;
-				border: 1rpx solid #016BF6;
-			}
+    .btn-close {
+      color: #016bf6;
+      border: 1rpx solid #016bf6;
+    }
 
-			.btn-sub {
-				color: #FFFFFF;
-				background-color: #016BF6;
-			}
-		}
-	}
+    .btn-sub {
+      color: #ffffff;
+      background-color: #016bf6;
+    }
+  }
+}
 
-	.mianshiTime {
-		width: 100%;
-		margin-top: 20rpx;
+.mianshiTime {
+  width: 100%;
+  margin-top: 20rpx;
 
-		.mianshiTime-box {
-			padding-bottom: 20rpx;
-			width: 686rpx;
-			height: 100%;
-			color: #000000;
-			border-bottom: 1rpx solid #F2F2F7;
+  .mianshiTime-box {
+    padding-bottom: 20rpx;
+    width: 686rpx;
+    height: 100%;
+    color: #000000;
+    border-bottom: 1rpx solid #f2f2f7;
 
-			.mianshiTime-box-ti {
-				height: 100%;
-				margin-top: 20rpx;
-			}
-		}
-	}
+    .mianshiTime-box-ti {
+      height: 100%;
+      margin-top: 20rpx;
+    }
+  }
+}
 
-	.mianshiTitle {
-		width: 100%;
-		margin-top: 30rpx;
-		font-size: 30rpx;
-		text-align: center;
-		font-weight: bold;
-		color: #000000;
-	}
+.mianshiTitle {
+  width: 100%;
+  margin-top: 30rpx;
+  font-size: 30rpx;
+  text-align: center;
+  font-weight: bold;
+  color: #000000;
+}
 
-	page {
-		background-color: #F7F7F7;
-	}
+page {
+  background-color: #f7f7f7;
+}
 
-	.bg {
-		background-color: #FFFFFF;
-	}
+.bg {
+  background-color: #ffffff;
+}
 
-	.box {
-		background: #FFFFFF;
-		border-radius: 24upx;
-		margin: 30upx;
-	}
+.box {
+  background: #ffffff;
+  border-radius: 24upx;
+  margin: 30upx;
+}
 
-	.argrtn {
-		background: #F6F6F6;
-		color: #666666;
-		font-size: 24upx;
-		border-radius: 8upx;
-		padding: 5upx 20upx;
-		margin-right: 20upx;
-		margin-bottom: 20upx;
-	}
+.argrtn {
+  background: #f6f6f6;
+  color: #666666;
+  font-size: 24upx;
+  border-radius: 8upx;
+  padding: 5upx 20upx;
+  margin-right: 20upx;
+  margin-bottom: 20upx;
+}
 
-	.btn {
-		border: 1px solid #016BF6;
-		border-radius: 30px;
-		color: #016BF6;
-		padding: 14upx 35upx;
-		margin-left: 20upx;
-	}
-</style>
+.btn {
+  border: 1px solid #016bf6;
+  border-radius: 30px;
+  color: #016bf6;
+  padding: 14upx 35upx;
+  margin-left: 20upx;
+}
+</style>

+ 379 - 278
my/renzheng/zhuanrang.vue

@@ -1,293 +1,394 @@
 <template>
-	<view>
-		<!-- <view class="text-center text-red bg-white">{{form.remek}}</view> -->
-		<view class=" padding">
-			<view class=" padding bg">
-				<u-form :model="forms" ref="uForm" label-position="top" :label-style='lableStyle'>
-					<u-form-item label="本人手机号" :border-bottom='false'>
-						<u-input :disabled="true" placeholder="请填写本人手机号" v-model="forms.phone" inputAlign="text-alight:left" />
-					</u-form-item>
-					<view class="margin-bottom" style="width: 100%;height: 1rpx;background: #F2F2F2;"></view>
-					<u-form-item label="短信验证码" :border-bottom='false'>
-						<view class="flex align-center justify-between" style="width: 100%;">
-							<u-input placeholder="请填写(必填)" v-model="forms.code" inputAlign="text-alight:left" />
-							<view class="buttons" @tap="getCode">
-								{{tips}}
-								<!-- <u-button class="buttons" @tap="getCode">{{tips}}</u-button> -->
-							</view>
-							<u-toast ref="uToast"></u-toast>
-							<u-verification-code :seconds="seconds" @end="end" @start="start" ref="uCode"
-								@change="codeChange"></u-verification-code>
-						</view>
-					</u-form-item>
-					<view class="margin-bottom" style="width: 100%;height: 1rpx;background: #F2F2F2;"></view>
-					<u-form-item label="转让人手机号" :border-bottom='false'>
-						<u-input placeholder="请填写(必填) " v-model="forms.phone2" inputAlign="text-alight:left" />
-					</u-form-item>
+  <view class="page-box">
+    <navBar title="转让企业" color="#000" />
 
-				</u-form>
-			</view>
+    <view class="page-content">
+      <!-- <view class="text-center text-red bg-white">{{form.remek}}</view> -->
+      <view class="padding">
+        <view class="padding bg">
+          <u-form
+            :model="forms"
+            ref="uForm"
+            label-position="top"
+            :label-style="lableStyle"
+          >
+            <u-form-item label="本人手机号" :border-bottom="false">
+              <u-input
+                :disabled="true"
+                placeholder="请填写本人手机号"
+                v-model="forms.phone"
+                inputAlign="text-alight:left"
+              />
+            </u-form-item>
+            <view
+              class="margin-bottom"
+              style="width: 100%; height: 1rpx; background: #f2f2f2"
+            ></view>
+            <u-form-item label="短信验证码" :border-bottom="false">
+              <view class="flex align-center justify-between" style="width: 100%">
+                <u-input
+                  placeholder="请填写(必填)"
+                  v-model="forms.code"
+                  inputAlign="text-alight:left"
+                />
+                <view class="buttons" @tap="getCode">
+                  {{ tips }}
+                  <!-- <u-button class="buttons" @tap="getCode">{{tips}}</u-button> -->
+                </view>
+                <u-toast ref="uToast"></u-toast>
+                <u-verification-code
+                  :seconds="seconds"
+                  @end="end"
+                  @start="start"
+                  ref="uCode"
+                  @change="codeChange"
+                ></u-verification-code>
+              </view>
+            </u-form-item>
+            <view
+              class="margin-bottom"
+              style="width: 100%; height: 1rpx; background: #f2f2f2"
+            ></view>
+            <u-form-item label="转让人手机号" :border-bottom="false">
+              <u-input
+                placeholder="请填写(必填) "
+                v-model="forms.phone2"
+                inputAlign="text-alight:left"
+              />
+            </u-form-item>
+          </u-form>
+        </view>
 
+        <view class="margin-top padding bg">
+          <u-form
+            :model="forms"
+            ref="uForm"
+            label-position="top"
+            :label-style="lableStyle"
+          >
+            <u-form-item label="企业名称" :border-bottom="false">
+              <u-input
+                placeholder="请输入企业名称"
+                :disabled="true"
+                v-model="qiyeInfo.companyName"
+                inputAlign="text-alight:left"
+              />
+            </u-form-item>
+            <view
+              class="margin-bottom"
+              style="width: 100%; height: 1rpx; background: #f2f2f2"
+            ></view>
+            <view
+              class="margin-bottom"
+              style="width: 100%; height: 1rpx; background: #f2f2f2"
+            ></view>
+            <u-form-item label="营业地址" :border-bottom="false">
+              <u-input
+                placeholder="请输入营业地址"
+                :disabled="true"
+                v-model="qiyeInfo.companyAddress"
+                inputAlign="text-alight:left"
+              />
+            </u-form-item>
+            <view
+              class="margin-bottom"
+              style="width: 100%; height: 1rpx; background: #f2f2f2"
+            ></view>
+            <u-form-item label="经营范围" :border-bottom="false">
+              <u-input
+                placeholder="请输入经营范围"
+                :disabled="true"
+                v-model="qiyeInfo.companyScope"
+                inputAlign="text-alight:left"
+              />
+            </u-form-item>
+            <view
+              class="margin-bottom"
+              style="width: 100%; height: 1rpx; background: #f2f2f2"
+            ></view>
+            <u-form-item label="注册资金(万)" :border-bottom="false">
+              <u-input
+                placeholder="请输入注册资金(万)"
+                :disabled="true"
+                v-model="qiyeInfo.companyRegisteredFund"
+                inputAlign="text-alight:left"
+              />
+            </u-form-item>
+            <view
+              class="margin-bottom"
+              style="width: 100%; height: 1rpx; background: #f2f2f2"
+            ></view>
+            <u-form-item label="注册时间" :border-bottom="false">
+              <u-input
+                placeholder="请输入注册时间"
+                :disabled="true"
+                v-model="qiyeInfo.createTime"
+                inputAlign="text-alight:left"
+              />
+            </u-form-item>
+            <view
+              class="margin-bottom"
+              style="width: 100%; height: 1rpx; background: #f2f2f2"
+            ></view>
+            <u-form-item label="资质简介" :border-bottom="false">
+              <u-input
+                placeholder="请输入资质简介"
+                :disabled="true"
+                v-model="qiyeInfo.companyDetails"
+                inputAlign="text-alight:left"
+              />
+            </u-form-item>
+          </u-form>
+        </view>
 
-			<view class="margin-top padding bg">
-				<u-form :model="forms" ref="uForm" label-position="top" :label-style='lableStyle'>
-					<u-form-item label="企业名称" :border-bottom='false'>
-						<u-input placeholder="请输入企业名称" :disabled="true" v-model="qiyeInfo.companyName"
-							inputAlign="text-alight:left" />
-					</u-form-item>
-					<view class="margin-bottom" style="width: 100%;height: 1rpx;background: #F2F2F2;"></view>
-					<view class="margin-bottom" style="width: 100%;height: 1rpx;background: #F2F2F2;"></view>
-					<u-form-item label="营业地址" :border-bottom='false'>
-						<u-input placeholder="请输入营业地址" :disabled="true" v-model="qiyeInfo.companyAddress"
-							inputAlign="text-alight:left" />
-					</u-form-item>
-					<view class="margin-bottom" style="width: 100%;height: 1rpx;background: #F2F2F2;"></view>
-					<u-form-item label="经营范围" :border-bottom='false'>
-						<u-input placeholder="请输入经营范围" :disabled="true" v-model="qiyeInfo.companyScope"
-							inputAlign="text-alight:left" />
-					</u-form-item>
-					<view class="margin-bottom" style="width: 100%;height: 1rpx;background: #F2F2F2;"></view>
-					<u-form-item label="注册资金(万)" :border-bottom='false'>
-						<u-input placeholder="请输入注册资金(万)" :disabled="true" v-model="qiyeInfo.companyRegisteredFund"
-							inputAlign="text-alight:left" />
-					</u-form-item>
-					<view class="margin-bottom" style="width: 100%;height: 1rpx;background: #F2F2F2;"></view>
-					<u-form-item label="注册时间" :border-bottom='false'>
-						<u-input placeholder="请输入注册时间" :disabled="true" v-model="qiyeInfo.createTime"
-							inputAlign="text-alight:left" />
-					</u-form-item>
-					<view class="margin-bottom" style="width: 100%;height: 1rpx;background: #F2F2F2;"></view>
-					<u-form-item label="资质简介" :border-bottom='false'>
-						<u-input placeholder="请输入资质简介" :disabled="true" v-model="qiyeInfo.companyDetails"
-							inputAlign="text-alight:left" />
-					</u-form-item>
-				</u-form>
-			</view>
-
-			<u-button @click="submit()" class="margin-top" :custom-style="customStyle" shape="square" :hair-line="false">
-				转让
-			</u-button>
-		</view>
-
-	</view>
+        <u-button
+          @click="submit()"
+          class="margin-top"
+          :custom-style="customStyle"
+          shape="square"
+          :hair-line="false"
+        >
+          转让
+        </u-button>
+      </view>
+    </view>
+  </view>
 </template>
 
 <script>
-	export default {
-		data() {
-			return {
-				forms: {
-					phone: '',
-					phone2: '',
-					code: '',
-				},
-				// disabled: false,
-				lableStyle: {
-					color: '#000000',
-					fontSize: '30upx',
-					fontWeight: 'bold'
-				},
-				customStyle: {
-					backgroundColor: '#016BF6',
-					color: '#FFFFFF',
-					border: 0
-				},
-				tips: '',
-				// refCode: null,
-				seconds: 60,
-				qiyeInfo: {},
-			}
-		},
-		onLoad(e) {
-			this.getQiyeInfo();
-			this.forms.phone = uni.getStorageSync('phone')
-		},
-		onShow() {
+import navBar from "@/components/nav-bar/index.vue";
 
-		},
-		methods: {
-			//查询用户企业
-			getQiyeInfo() {
-				this.$Request.getT('/app/company/selectCompanyByUserId', {
-					userId: uni.getStorageSync('userId')
-				}).then(res => {
-					if (res.code === 0) {
-						this.qiyeInfo = res.data
-					} else {
-						uni.showModal({
-							showCancel: false,
-							title: '查询失败',
-							content: res.msg
-						});
-					}
-				});
-			},
-			//提交转让
-			submit() {
-				if (this.forms.phone == '') {
-					uni.showToast({
-						title: '请输入本人手机号',
-						icon: 'none'
-					})
-					return
-				}
-				if (this.forms.code == '') {
-					uni.showToast({
-						title: '请输入验证码',
-						icon: 'none'
-					})
-					return
-				}
-				if (this.forms.phone2 == '') {
-					uni.showToast({
-						title: '请输入转让人手机号',
-						icon: 'none'
-					})
-					return
-				}
-				if (this.forms.phone == this.forms.phone2) {
-					uni.showToast({
-						title: '请勿转让企业给自己',
-						icon: 'none'
-					})
-					return
-				}
-				let data = {
-					phone: this.forms.phone,
-					msg: this.forms.code,
-					givePhone: this.forms.phone2
-				}
-				this.$Request.post('/app/company/giveCompany', data).then(res => {
-					if (res.code === 0) {
-						// uni.showToast({
-						// 	title: '转让成功'
-						// })
-						this.forms = {
-							phone: '',
-							code: '',
-							phone2: ''
-						}
-						this.goOut()
-						// this.getQiyeInfo();
-					} else {
-						uni.showModal({
-							showCancel: false,
-							title: '提示',
-							content: res.msg,
-							confirmColor:'#016BF6',
-						});
-					}
-				});
-			},
-			goOut() {
-				let that = this
-				uni.removeStorageSync('userName')
-				uni.removeStorageSync('avatar')
-				uni.removeStorageSync('userId')
-				uni.removeStorageSync('token')
-				uni.removeStorageSync('phone')
-				// uni.removeStorageSync('userType')
-				uni.removeStorageSync('zhiFuBaoName')
-				uni.removeStorageSync('zhiFuBao')
-				uni.removeStorageSync('invitationCode')
-				uni.removeStorageSync('unionId')
-				uni.removeStorageSync('openId')
-				uni.removeStorageSync('isVIP')
-				// uni.removeStorageSync('userType')
-				uni.setStorageSync('userType',1)
-				uni.showToast({
-					title: '转让成功,请重新登录!',
-					icon: 'none'
-				})
-				setTimeout(()=>{
-					// uni.reLaunch({
-					// 	url:'/pages/public/selectIdentity/selectIdentity'
-					// })
-					// uni.switchTab({
-					// 	url:'/pages/my/index?out=yes'
-					// })
-					uni.reLaunch({
-						url:'/pages/my/index'
-					})
-				},1000)
-				
-			},
-			codeChange(text) {
-				this.tips = text;
-			},
-			getCode() {
-				if (this.$refs.uCode.canGetCode) {
-					// 模拟向后端请求验证码
-					uni.showLoading({
-						title: '正在获取验证码'
-					})
-					let str = /^[1][3,5,7,8,9][0-9]{9}$/
-					let mobile = this.forms.phone
-					if (str.test(mobile) == false) {
-						uni.showToast({
-							title: '请输入正确的手机号',
-							icon: 'none'
-						})
-						return
-					}
-					this.$Request.getT('/app/Login/sendMsg/' + mobile + '/forget').then(res => {
-						if (res.code === 0) {
-							uni.hideLoading();
-							// 这里此提示会被this.start()方法中的提示覆盖
-							this.$u.toast('验证码已发送');
-							// 通知验证码组件内部开始倒计时
-							this.$refs.uCode.start();
-						} else {
-							uni.hideLoading();
-							uni.showModal({
-								showCancel: false,
-								title: '短信发送失败',
-								content: res.msg ? res.msg : '请一分钟后再获取验证码'
-							});
-						}
-					});
-				} else {
-					this.$u.toast('倒计时结束后再发送');
-				}
-			},
-			end() {
-				this.$u.toast('倒计时结束');
-			},
-			start() {
-				this.$u.toast('倒计时开始');
-			},
-		}
-	}
+export default {
+  data() {
+    return {
+      forms: {
+        phone: "",
+        phone2: "",
+        code: "",
+      },
+      // disabled: false,
+      lableStyle: {
+        color: "#000000",
+        fontSize: "30upx",
+        fontWeight: "bold",
+      },
+      customStyle: {
+        backgroundColor: "#016BF6",
+        color: "#FFFFFF",
+        border: 0,
+      },
+      tips: "",
+      // refCode: null,
+      seconds: 60,
+      qiyeInfo: {},
+    };
+  },
+  components: {
+    navBar,
+  },
+  onLoad(e) {
+    this.getQiyeInfo();
+    this.forms.phone = uni.getStorageSync("phone");
+  },
+  onShow() {},
+  methods: {
+    //查询用户企业
+    getQiyeInfo() {
+      this.$Request
+        .getT("/app/company/selectCompanyByUserId", {
+          userId: uni.getStorageSync("userId"),
+        })
+        .then((res) => {
+          if (res.code === 0) {
+            this.qiyeInfo = res.data;
+          } else {
+            uni.showModal({
+              showCancel: false,
+              title: "查询失败",
+              content: res.msg,
+            });
+          }
+        });
+    },
+    //提交转让
+    submit() {
+      if (this.forms.phone == "") {
+        uni.showToast({
+          title: "请输入本人手机号",
+          icon: "none",
+        });
+        return;
+      }
+      if (this.forms.code == "") {
+        uni.showToast({
+          title: "请输入验证码",
+          icon: "none",
+        });
+        return;
+      }
+      if (this.forms.phone2 == "") {
+        uni.showToast({
+          title: "请输入转让人手机号",
+          icon: "none",
+        });
+        return;
+      }
+      if (this.forms.phone == this.forms.phone2) {
+        uni.showToast({
+          title: "请勿转让企业给自己",
+          icon: "none",
+        });
+        return;
+      }
+      let data = {
+        phone: this.forms.phone,
+        msg: this.forms.code,
+        givePhone: this.forms.phone2,
+      };
+      this.$Request.post("/app/company/giveCompany", data).then((res) => {
+        if (res.code === 0) {
+          // uni.showToast({
+          // 	title: '转让成功'
+          // })
+          this.forms = {
+            phone: "",
+            code: "",
+            phone2: "",
+          };
+          this.goOut();
+          // this.getQiyeInfo();
+        } else {
+          uni.showModal({
+            showCancel: false,
+            title: "提示",
+            content: res.msg,
+            confirmColor: "#016BF6",
+          });
+        }
+      });
+    },
+    goOut() {
+      let that = this;
+      uni.removeStorageSync("userName");
+      uni.removeStorageSync("avatar");
+      uni.removeStorageSync("userId");
+      uni.removeStorageSync("token");
+      uni.removeStorageSync("phone");
+      // uni.removeStorageSync('userType')
+      uni.removeStorageSync("zhiFuBaoName");
+      uni.removeStorageSync("zhiFuBao");
+      uni.removeStorageSync("invitationCode");
+      uni.removeStorageSync("unionId");
+      uni.removeStorageSync("openId");
+      uni.removeStorageSync("isVIP");
+      // uni.removeStorageSync('userType')
+      uni.setStorageSync("userType", 1);
+      uni.showToast({
+        title: "转让成功,请重新登录!",
+        icon: "none",
+      });
+      setTimeout(() => {
+        // uni.reLaunch({
+        // 	url:'/pages/public/selectIdentity/selectIdentity'
+        // })
+        // uni.switchTab({
+        // 	url:'/pages/my/index?out=yes'
+        // })
+        uni.reLaunch({
+          url: "/pages/my/index",
+        });
+      }, 1000);
+    },
+    codeChange(text) {
+      this.tips = text;
+    },
+    getCode() {
+      if (this.$refs.uCode.canGetCode) {
+        // 模拟向后端请求验证码
+        uni.showLoading({
+          title: "正在获取验证码",
+        });
+        let str = /^[1][3,5,7,8,9][0-9]{9}$/;
+        let mobile = this.forms.phone;
+        if (str.test(mobile) == false) {
+          uni.showToast({
+            title: "请输入正确的手机号",
+            icon: "none",
+          });
+          return;
+        }
+        this.$Request.getT("/app/Login/sendMsg/" + mobile + "/forget").then((res) => {
+          if (res.code === 0) {
+            uni.hideLoading();
+            // 这里此提示会被this.start()方法中的提示覆盖
+            this.$u.toast("验证码已发送");
+            // 通知验证码组件内部开始倒计时
+            this.$refs.uCode.start();
+          } else {
+            uni.hideLoading();
+            uni.showModal({
+              showCancel: false,
+              title: "短信发送失败",
+              content: res.msg ? res.msg : "请一分钟后再获取验证码",
+            });
+          }
+        });
+      } else {
+        this.$u.toast("倒计时结束后再发送");
+      }
+    },
+    end() {
+      this.$u.toast("倒计时结束");
+    },
+    start() {
+      this.$u.toast("倒计时开始");
+    },
+  },
+};
 </script>
 
 <style lang="less" scoped>
-	page {
-		background-color: #F7F7F7;
-	}
-
-	.bg {
-		background-color: #FFFFFF;
-		border-radius: 24upx;
-	}
+page {
+  background-color: #f7f7f7;
+}
+.page-box {
+  position: absolute;
+  left: 0;
+  bottom: 0;
+  right: 0;
+  top: 0;
+  overflow: hidden;
+  display: flex;
+  flex-direction: column;
+  .page-content {
+    flex: 1;
+    overflow: hidden;
+    overflow-y: auto;
+  }
+}
+.bg {
+  background-color: #ffffff;
+  border-radius: 24upx;
+}
 
-	.u-input__input {
-		color: balck !important;
-	}
+.u-input__input {
+  color: balck !important;
+}
 
-	.title_btn {
-		height: 78upx;
-		line-height: 78upx;
-		/* background: #f7f7f7; */
-	}
+.title_btn {
+  height: 78upx;
+  line-height: 78upx;
+  /* background: #f7f7f7; */
+}
 
-	.buttons {
-		border: 2upx solid #1A1A1A;
-		border-radius: 45upx;
-		// padding: 10upx 25upx;
-		width: 200rpx;
-		height: 60rpx;
-		display: flex;
-		justify-content: center;
-		align-items: center;
-	}
+.buttons {
+  border: 2upx solid #1a1a1a;
+  border-radius: 45upx;
+  // padding: 10upx 25upx;
+  width: 200rpx;
+  height: 60rpx;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
 </style>

+ 160 - 135
package/blackList/blackList.vue

@@ -1,142 +1,167 @@
 <template>
-	<view>
-		<view v-if="list.length>0" class="list flex justify-center">
-			<view class="list-box">
-				<block v-for="(item,index) in list" :key="index">
-					<view class="list-box-item flex align-center justify-between" >
-						<view class="list-box-item-l flex align-center">
-							<image :src="item.user?item.user.avatar:'../../static/logo.png'" mode=""></image>
-							<text>{{item.user.userName}}</text>
-						</view>
-						<view class="list-box-item-r flex justify-center align-center" @click="delShield(item.shieldCompanyId)">
-							移除
-						</view>
-					</view>
-					<view class="list-box-line"></view>
-				</block>
-				
-			</view>
-		</view>
-		<empty v-if="list.length==0" />
-	</view>
+  <view class="page-box">
+    <navBar title="黑名单" color="#000" />
+    <view class="page-content">
+      <view v-if="list.length > 0" class="list flex justify-center">
+        <view class="list-box">
+          <block v-for="(item, index) in list" :key="index">
+            <view class="list-box-item flex align-center justify-between">
+              <view class="list-box-item-l flex align-center">
+                <image
+                  :src="item.user ? item.user.avatar : '../../static/logo.png'"
+                  mode=""
+                ></image>
+                <text>{{ item.user.userName }}</text>
+              </view>
+              <view
+                class="list-box-item-r flex justify-center align-center"
+                @click="delShield(item.shieldCompanyId)"
+              >
+                移除
+              </view>
+            </view>
+            <view class="list-box-line"></view>
+          </block>
+        </view>
+      </view>
+      <empty v-if="list.length == 0" />
+    </view>
+  </view>
 </template>
 
 <script>
-	import empty from '../../components/empty.vue'
-	export default {
-		components:{
-			empty
-		},
-		data() {
-			return {
-				page:1,
-				limit:10,
-				totalPage:'',
-				list:[]
-			};
-		},
-		onLoad() {
-			this.getList()
-		},
-		onReachBottom() {
-			if(this.page < this.totalPage){
-				this.page += 1
-				this.getList()
-			}
-		},
-		onPullDownRefresh() {
-			this.page = 1
-			this.getList()
-		},
-		methods:{
-			//移除黑名单
-			delShield(shieldCompanyId){
-				let that = this
-				let data = {
-					shieldCompanyId:shieldCompanyId
-				}
-				that.$Request.postT('/app/shieldCompany/deleteShieldCompany',data).then(res => {
-					if(res.code==0){
-						uni.showToast({
-							title:'移除黑名单成功',
-							duration:1500,
-						})
-						setTimeout(()=>{
-							that.getList()
-						},1500)
-						
-					}else{
-						uni.showToast({
-							title:res.msg,
-							icon:'none'
-						})
-					}
-				})
-			},
-			//获取企业拉黑的用户名单
-			getList(){
-				let data = {
-					page:this.page,
-					limit:this.limit,
-					// userId:uni.getStorageSync('userId'),
-					companyId:uni.getStorageSync('companyId')
-				}
-				this.$Request.getT('/app/shieldCompany/selectShieldList',data).then(res => {
-					uni.stopPullDownRefresh()
-					if(res.code == 0){
-						this.totalPage = res.data.totalPage
-						if(this.page==1){
-							this.list = res.data.list
-						}else{
-							this.list = [...this.list,...res.data.list]
-						}
-					}else{
-						// this.list = []
-					}
-				})
-			},
-		}
-	}
+import empty from "../../components/empty.vue";
+import navBar from "@/components/nav-bar/index.vue";
+
+export default {
+  components: {
+    empty,
+    navBar,
+  },
+  data() {
+    return {
+      page: 1,
+      limit: 10,
+      totalPage: "",
+      list: [],
+    };
+  },
+  onLoad() {
+    this.getList();
+  },
+  onReachBottom() {
+    if (this.page < this.totalPage) {
+      this.page += 1;
+      this.getList();
+    }
+  },
+  onPullDownRefresh() {
+    this.page = 1;
+    this.getList();
+  },
+  methods: {
+    //移除黑名单
+    delShield(shieldCompanyId) {
+      let that = this;
+      let data = {
+        shieldCompanyId: shieldCompanyId,
+      };
+      that.$Request.postT("/app/shieldCompany/deleteShieldCompany", data).then((res) => {
+        if (res.code == 0) {
+          uni.showToast({
+            title: "移除黑名单成功",
+            duration: 1500,
+          });
+          setTimeout(() => {
+            that.getList();
+          }, 1500);
+        } else {
+          uni.showToast({
+            title: res.msg,
+            icon: "none",
+          });
+        }
+      });
+    },
+    //获取企业拉黑的用户名单
+    getList() {
+      let data = {
+        page: this.page,
+        limit: this.limit,
+        // userId:uni.getStorageSync('userId'),
+        companyId: uni.getStorageSync("companyId"),
+      };
+      this.$Request.getT("/app/shieldCompany/selectShieldList", data).then((res) => {
+        uni.stopPullDownRefresh();
+        if (res.code == 0) {
+          this.totalPage = res.data.totalPage;
+          if (this.page == 1) {
+            this.list = res.data.list;
+          } else {
+            this.list = [...this.list, ...res.data.list];
+          }
+        } else {
+          // this.list = []
+        }
+      });
+    },
+  },
+};
 </script>
 
-<style lang="scss">
-	page{
-		background-color: #FFFFFF;
-	}
-	.list{
-		width: 100%;
-		.list-box{
-			width: 686rpx;
-			.list-box-line{
-				width: 100%;
-				border: 1rpx solid #F2F2F2;
-				margin-top: 20rpx;
-			}
-			.list-box-item{
-				width: 100%;
-				margin-top: 50rpx;
-			}
-			.list-box-item-l{
-				image{
-					width: 70rpx;
-					height: 70rpx;
-				}
-				text{
-					margin-left: 20rpx;
-					color: #1E1E1E;
-					font-size: 32rpx;
-					font-weight: bold;
-				}
-			}
-			.list-box-item-r{
-				width: 102rpx;
-				height: 50rpx;
-				background: #016BF6;
-				border-radius: 8rpx;
-				font-size: 24rpx;
-				color: #FFFFFF;
-				font-weight: 500;
-			}
-		}
-	}
+<style lang="scss" scoped>
+page {
+  background-color: #ffffff;
+  .page-box {
+    position: absolute;
+    left: 0;
+    bottom: 0;
+    right: 0;
+    top: 0;
+    overflow: hidden;
+    display: flex;
+    flex-direction: column;
+    .page-content {
+      flex: 1;
+      overflow: hidden;
+      overflow-y: auto;
+    }
+  }
+}
+.list {
+  width: 100%;
+  .list-box {
+    width: 686rpx;
+    .list-box-line {
+      width: 100%;
+      border: 1rpx solid #f2f2f2;
+      margin-top: 20rpx;
+    }
+    .list-box-item {
+      width: 100%;
+      margin-top: 50rpx;
+    }
+    .list-box-item-l {
+      image {
+        width: 70rpx;
+        height: 70rpx;
+      }
+      text {
+        margin-left: 20rpx;
+        color: #1e1e1e;
+        font-size: 32rpx;
+        font-weight: bold;
+      }
+    }
+    .list-box-item-r {
+      width: 102rpx;
+      height: 50rpx;
+      background: #016bf6;
+      border-radius: 8rpx;
+      font-size: 24rpx;
+      color: #ffffff;
+      font-weight: 500;
+    }
+  }
+}
 </style>

+ 304 - 260
package/myLove/myLove.vue

@@ -1,275 +1,319 @@
 <template>
-	<view class="">
-		<view class="qyList flex justify-center">
-			<view class="qyList-box">
-				<view class="qyList-box-item flex justify-center" v-for="(item,index) in dataList" :key="index"
-					@click="goNav('/pages/index/game/orderDet?resumesId='+item.resumesId)">
-					<view class="qyList-box-item-box">
-						<view class="qyList-box-item-info flex justify-between align-center">
-							<view class="qyList-box-item-info-l">
-								<view class="" style="color: #212121;font-size: 38rpx;font-weight: 800;">
-									{{item.resumesName}}
-								</view>
-								<view class="flex align-center flex-wrap"
-									style="color: #999999;font-size: 26rpx;margin-top: 10rpx;">
-									<text>{{item.resumesAge}}岁</text>
-									<text style="margin-left: 20rpx;margin-right: 20rpx;">|</text>
-									<text>{{item.resumesWorkExperience}}</text>
-									<text style="margin-left: 20rpx;margin-right: 20rpx;">|</text>
-									<text>{{item.school}}</text>
-									<text style="margin-left: 20rpx;margin-right: 20rpx;">|</text>
-									<text>期望{{item.resumesCompensation}}</text>
-								</view>
-							</view>
-							<view class="qyList-box-item-info-r">
-								<image :src="item.avatar?item.avatar:'../../static/logo.png'"
-									style="width: 95rpx;height: 95rpx;border-radius: 50%;" mode=""></image>
-							</view>
-						</view>
-						<view class="qyList-box-item-job flex align-center">
-							<u-icon name="heart-fill" color="#016BF6" size="30" style="margin-right: 16rpx;">
-							</u-icon>
-							期望岗位:{{item.resumesPost}}
-						</view>
-						<view v-if="item.resumesCompanyList && item.resumesCompanyList.length>0"
-							class="qyList-box-item-job flex align-center">
-							<image src="../../static/images/qi.png"
-								style="width: 30rpx;height: 32rpx;margin-right: 16rpx;" mode=""></image>
-							{{item.resumesCompanyList[0].resumesTitle}} /
-							{{item.resumesCompanyList[0].resumesPost}}
-						</view>
-						<view class="qyList-box-item-rem" v-if="item.resumesDetails">
-							优势:{{item.resumesDetails}}
-						</view>
-					</view>
-				</view>
-
-			</view>
-		</view>
-		<empty v-if="dataList.length==0" />
-		<!-- 筛选悬浮 -->
-		<view class="filterSe" @click="goScreen()">
-			<image src="../../static/images/my/filterSe.png" mode=""></image>
-		</view>
-	</view>
+  <view class="page-box">
+    <navBar title="我的收藏" color="#000" />
+    <view class="page-content">
+      <view class="qyList flex justify-center">
+        <view class="qyList-box">
+          <view
+            class="qyList-box-item flex justify-center"
+            v-for="(item, index) in dataList"
+            :key="index"
+            @click="goNav('/pages/index/game/orderDet?resumesId=' + item.resumesId)"
+          >
+            <view class="qyList-box-item-box">
+              <view class="qyList-box-item-info flex justify-between align-center">
+                <view class="qyList-box-item-info-l">
+                  <view
+                    class=""
+                    style="color: #212121; font-size: 38rpx; font-weight: 800"
+                  >
+                    {{ item.resumesName }}
+                  </view>
+                  <view
+                    class="flex align-center flex-wrap"
+                    style="color: #999999; font-size: 26rpx; margin-top: 10rpx"
+                  >
+                    <text>{{ item.resumesAge }}岁</text>
+                    <text style="margin-left: 20rpx; margin-right: 20rpx">|</text>
+                    <text>{{ item.resumesWorkExperience }}</text>
+                    <text style="margin-left: 20rpx; margin-right: 20rpx">|</text>
+                    <text>{{ item.school }}</text>
+                    <text style="margin-left: 20rpx; margin-right: 20rpx">|</text>
+                    <text>期望{{ item.resumesCompensation }}</text>
+                  </view>
+                </view>
+                <view class="qyList-box-item-info-r">
+                  <image
+                    :src="item.avatar ? item.avatar : '../../static/logo.png'"
+                    style="width: 95rpx; height: 95rpx; border-radius: 50%"
+                    mode=""
+                  ></image>
+                </view>
+              </view>
+              <view class="qyList-box-item-job flex align-center">
+                <u-icon
+                  name="heart-fill"
+                  color="#016BF6"
+                  size="30"
+                  style="margin-right: 16rpx"
+                >
+                </u-icon>
+                期望岗位:{{ item.resumesPost }}
+              </view>
+              <view
+                v-if="item.resumesCompanyList && item.resumesCompanyList.length > 0"
+                class="qyList-box-item-job flex align-center"
+              >
+                <image
+                  src="../../static/images/qi.png"
+                  style="width: 30rpx; height: 32rpx; margin-right: 16rpx"
+                  mode=""
+                ></image>
+                {{ item.resumesCompanyList[0].resumesTitle }} /
+                {{ item.resumesCompanyList[0].resumesPost }}
+              </view>
+              <view class="qyList-box-item-rem" v-if="item.resumesDetails">
+                优势:{{ item.resumesDetails }}
+              </view>
+            </view>
+          </view>
+        </view>
+      </view>
+      <empty v-if="dataList.length == 0" />
+      <!-- 筛选悬浮 -->
+      <view class="filterSe" @click="goScreen()">
+        <image src="../../static/images/my/filterSe.png" mode=""></image>
+      </view>
+    </view>
+  </view>
 </template>
 
 <script>
-	import empty from '../../components/empty.vue'
-	export default {
-		components: {
-			empty
-		},
-		data() {
-			return {
-				dataList: [],
-				page: 1,
-				pages: 1,
-				limit: 10,
-				myId: '',
-				isVip: false,
-				filter: {
-					resumesCompensation: '', //薪资
-					resumesEducation: '', //学历
-					resumesWorkExperience: '', //经验
-					industryName: '', //行业
-				}
-			}
-		},
-		onLoad(e) {
-			this.$queue.showLoading("加载中...");
-			this.myId = uni.getStorageSync('userId')
-			this.getBrowseList()
-		},
-		watch: {
-			filter: {
-				handler() {
-					this.page = 1
-					this.getBrowseList()
-				},
-				deep: true,
-				immediate: true
-			}
-		},
-		onUnload() {
-			uni.removeStorageSync('isCompyBrowse')
-		},
-		onShow() {
-			if (uni.getStorageSync('isCompyBrowse') && (uni.getStorageSync('isCompyBrowse')).length > 0) {
-				let isCompyBrowse = uni.getStorageSync('isCompyBrowse')
-				isCompyBrowse.map(item => {
-					let arr = []
-					item.list.map(ite => {
-						if (ite.value != '不限') {
-							arr.push(ite.value)
-						}
-					})
-					switch (item.name) {
-						case '学历':
-							this.filter.resumesEducation = arr.join(',')
-							break;
-						case '薪资':
-							this.filter.resumesCompensation = arr.join(',')
-							break;
-						case '经验':
-							this.filter.resumesWorkExperience = arr.join(',')
-							break;
-						case '行业':
-							this.filter.industryName = arr.join(',')
-							break;
-					}
-
-				})
-			} else {
-				this.filter.resumesEducation = '' //学历
-				this.filter.resumesWorkExperience = '' //经验
-				this.filter.industryName = '' //行业
-				this.filter.resumesCompensation = '' //薪资
-			}
-		},
-		methods: {
-			// 去筛选
-			goScreen() {
-				uni.navigateTo({
-					url: '/package/screen/screen?isCompyBrowse=1'
-				})
-			},
-			goNav(url) {
-				uni.navigateTo({
-					url: url
-				})
-			},
-			// 足迹
-			getBrowseList() {
-				let data = {
-					page: this.page,
-					limit: this.limit,
-					resumesCompensation: this.filter.resumesCompensation, //薪资
-					resumesEducation: this.filter.resumesEducation, //学历
-					resumesWorkExperience: this.filter.resumesWorkExperience, //经验
-					industryName: this.filter.industryName, //行业
-				}
-				this.$Request.get("/app/myCollection/getCompanyCollectionList", data).then(res => {
-					uni.hideLoading();
-					uni.stopPullDownRefresh();
-					if (res.code == 0) {
-						this.pages = res.data.pages
-						if (this.page == 1) {
-							this.dataList = res.data.records
-						} else {
-							this.dataList = [...this.dataList, ...res.data.records]
-						}
-						console.log(this.dataList)
-					} else {
-						console.log(res.msg)
-					}
-
-				})
-			},
-			// 跳转订单
-			goDetail(e) {
-				uni.navigateTo({
-					url: '/pages/index/game/orderDet?resumesId=' + e.resumes.resumesId
-				});
-			},
-			// 删除
-			delData(e) {
-				let that = this
-				uni.showModal({
-					title: '提示',
-					content: '确定删除吗?',
-					confirmColor: '#016BF6',
-					success: function(res) {
-						if (res.confirm) {
-							console.log('用户点击确定');
-							let data = {
-								id: e.id
-							}
-							that.$Request.post("/app/userBrowse/deleteMyBrowse", data).then(res => {
-								if (res.code == 0) {
-									uni.showToast({
-										title: '删除成功!',
-										icon: 'none'
-									})
-									that.getBrowseList()
-								}
-							})
-						} else if (res.cancel) {
-							console.log('用户点击取消');
-						}
-					}
-				})
-			}
-		},
-		onReachBottom: function() {
-			if (this.page < this.pages) {
-				this.page += 1
-				this.getBrowseList()
-			}
-		},
-		onPullDownRefresh: function() {
-			this.page = 1;
-			this.getBrowseList()
-		},
-	}
+import empty from "../../components/empty.vue";
+import navBar from "@/components/nav-bar/index.vue";
+export default {
+  components: {
+    empty,
+    navBar,
+  },
+  data() {
+    return {
+      dataList: [],
+      page: 1,
+      pages: 1,
+      limit: 10,
+      myId: "",
+      isVip: false,
+      filter: {
+        resumesCompensation: "", //薪资
+        resumesEducation: "", //学历
+        resumesWorkExperience: "", //经验
+        industryName: "", //行业
+      },
+    };
+  },
+  onLoad(e) {
+    this.$queue.showLoading("加载中...");
+    this.myId = uni.getStorageSync("userId");
+    this.getBrowseList();
+  },
+  watch: {
+    filter: {
+      handler() {
+        this.page = 1;
+        this.getBrowseList();
+      },
+      deep: true,
+      immediate: true,
+    },
+  },
+  onUnload() {
+    uni.removeStorageSync("isCompyBrowse");
+  },
+  onShow() {
+    if (
+      uni.getStorageSync("isCompyBrowse") &&
+      uni.getStorageSync("isCompyBrowse").length > 0
+    ) {
+      let isCompyBrowse = uni.getStorageSync("isCompyBrowse");
+      isCompyBrowse.map((item) => {
+        let arr = [];
+        item.list.map((ite) => {
+          if (ite.value != "不限") {
+            arr.push(ite.value);
+          }
+        });
+        switch (item.name) {
+          case "学历":
+            this.filter.resumesEducation = arr.join(",");
+            break;
+          case "薪资":
+            this.filter.resumesCompensation = arr.join(",");
+            break;
+          case "经验":
+            this.filter.resumesWorkExperience = arr.join(",");
+            break;
+          case "行业":
+            this.filter.industryName = arr.join(",");
+            break;
+        }
+      });
+    } else {
+      this.filter.resumesEducation = ""; //学历
+      this.filter.resumesWorkExperience = ""; //经验
+      this.filter.industryName = ""; //行业
+      this.filter.resumesCompensation = ""; //薪资
+    }
+  },
+  methods: {
+    // 去筛选
+    goScreen() {
+      uni.navigateTo({
+        url: "/package/screen/screen?isCompyBrowse=1",
+      });
+    },
+    goNav(url) {
+      uni.navigateTo({
+        url: url,
+      });
+    },
+    // 足迹
+    getBrowseList() {
+      let data = {
+        page: this.page,
+        limit: this.limit,
+        resumesCompensation: this.filter.resumesCompensation, //薪资
+        resumesEducation: this.filter.resumesEducation, //学历
+        resumesWorkExperience: this.filter.resumesWorkExperience, //经验
+        industryName: this.filter.industryName, //行业
+      };
+      this.$Request
+        .get("/app/myCollection/getCompanyCollectionList", data)
+        .then((res) => {
+          uni.hideLoading();
+          uni.stopPullDownRefresh();
+          if (res.code == 0) {
+            this.pages = res.data.pages;
+            if (this.page == 1) {
+              this.dataList = res.data.records;
+            } else {
+              this.dataList = [...this.dataList, ...res.data.records];
+            }
+            console.log(this.dataList);
+          } else {
+            console.log(res.msg);
+          }
+        });
+    },
+    // 跳转订单
+    goDetail(e) {
+      uni.navigateTo({
+        url: "/pages/index/game/orderDet?resumesId=" + e.resumes.resumesId,
+      });
+    },
+    // 删除
+    delData(e) {
+      let that = this;
+      uni.showModal({
+        title: "提示",
+        content: "确定删除吗?",
+        confirmColor: "#016BF6",
+        success: function (res) {
+          if (res.confirm) {
+            console.log("用户点击确定");
+            let data = {
+              id: e.id,
+            };
+            that.$Request.post("/app/userBrowse/deleteMyBrowse", data).then((res) => {
+              if (res.code == 0) {
+                uni.showToast({
+                  title: "删除成功!",
+                  icon: "none",
+                });
+                that.getBrowseList();
+              }
+            });
+          } else if (res.cancel) {
+            console.log("用户点击取消");
+          }
+        },
+      });
+    },
+  },
+  onReachBottom: function () {
+    if (this.page < this.pages) {
+      this.page += 1;
+      this.getBrowseList();
+    }
+  },
+  onPullDownRefresh: function () {
+    this.page = 1;
+    this.getBrowseList();
+  },
+};
 </script>
 
-<style lang="scss">
-	page {
-		background-color: #F2F2F7;
-	}
+<style lang="scss" scoped>
+page {
+  background-color: #f2f2f7;
+}
+.page-box {
+  position: absolute;
+  left: 0;
+  bottom: 0;
+  right: 0;
+  top: 0;
+  overflow: hidden;
+  display: flex;
+  flex-direction: column;
+  .page-content {
+    flex: 1;
+    overflow: hidden;
+    overflow-y: auto;
+  }
+}
 
-	.filterSe {
-		position: fixed;
-		bottom: 10vh;
-		right: 30rpx;
+.filterSe {
+  position: fixed;
+  bottom: 10vh;
+  right: 30rpx;
 
-		image {
-			width: 100rpx;
-			height: 100rpx;
-			// border-radius: 50%;
-		}
-	}
+  image {
+    width: 100rpx;
+    height: 100rpx;
+    // border-radius: 50%;
+  }
+}
 
-	.qyList {
-		width: 100%;
-		height: auto;
-		margin-top: 20rpx;
+.qyList {
+  width: 100%;
+  height: auto;
+  margin-top: 20rpx;
 
-		.qyList-box {
-			width: 686rpx;
-			height: 100%;
+  .qyList-box {
+    width: 686rpx;
+    height: 100%;
 
-			.qyList-box-item {
-				width: 100%;
-				// height: 400rpx;
-				padding-bottom: 40rpx;
-				background-color: #ffffff;
-				border-radius: 24rpx;
-				margin-bottom: 20rpx;
+    .qyList-box-item {
+      width: 100%;
+      // height: 400rpx;
+      padding-bottom: 40rpx;
+      background-color: #ffffff;
+      border-radius: 24rpx;
+      margin-bottom: 20rpx;
 
-				.qyList-box-item-box {
-					width: 626rpx;
-					height: 100%;
-				}
+      .qyList-box-item-box {
+        width: 626rpx;
+        height: 100%;
+      }
 
-				.qyList-box-item-info {
-					margin-top: 40rpx;
-				}
+      .qyList-box-item-info {
+        margin-top: 40rpx;
+      }
 
-				.qyList-box-item-job {
-					color: #121212;
-					font-size: 28rpx;
-					font-weight: 500;
-					margin-top: 20rpx;
-				}
+      .qyList-box-item-job {
+        color: #121212;
+        font-size: 28rpx;
+        font-weight: 500;
+        margin-top: 20rpx;
+      }
 
-				.qyList-box-item-rem {
-					color: #999999;
-					font-size: 26rpx;
-					margin-top: 20rpx;
-				}
-			}
-		}
-	}
-</style>
+      .qyList-box-item-rem {
+        color: #999999;
+        font-size: 26rpx;
+        margin-top: 20rpx;
+      }
+    }
+  }
+}
+</style>

+ 961 - 788
pages/my/invitationUserqy.vue

@@ -1,794 +1,967 @@
 <template>
-	<view class="content">
-		<view class="flex justify-between align-center margin-lr-sm padding"
-			style="background: #FFFFFF;border-radius: 20upx;">
-			<view class="flex">
-				<view>
-					<image :src="userImageUrl?userImageUrl:'../../static/logo.png'"
-						style="width: 72upx;height: 72upx;border-radius: 12upx;"></image>
-				</view>
-				<view class="margin-left-sm">
-					<view class="text-sm"><text class="text-bold" style="font-size: 48upx;">{{peopleNum}}</text>人</view>
-					<view style="color: #82A9FE;">已成功邀请人数</view>
-				</view>
-			</view>
-			<view @click="goTeam()" v-if="zhiRate>0">
-				我的团队
-				<image src="../../static/images/my/right_icon.png"
-					style="width: 10rpx;height: 20rpx;margin-left: 10rpx;"></image>
-			</view>
-		</view>
-
-		<view class="view1" v-bind:style="{backgroundImage: 'url('+backgroundImage+')'}">
-			<view style="padding-top: 820upx;" @longpress="logoTime(userImageUrl)">
-				<view style="width: 100%;height: 150upx;display: flex;background: #FFFFFF;padding: 20upx 10upx;">
-					<image :src="userImageUrl"
-						style="border-radius: 100upx;width: 100upx;height: 100upx;margin-left: 30upx;"></image>
-					<view class="login-view-text1" style="margin-left: 30upx;width: 59%;">
-						<view style="font-size: 16px;">{{ nickName }}</view>
-						<view style=" font-size: 12px;margin-top: 20upx;">邀请码:{{invitationCode}}</view>
-					</view>
-					<canvas canvas-id="qrcode" style="width: 140upx;height: 130upx;" />
-				</view>
-			</view>
-		</view>
-		<view style="display: flex;flex-direction: row; padding:20upx 40upx;justify-content: center;">
-			<!-- #ifdef H5 -->
-			<button @click="share()" type="default"
-				style="background: #E4ECFF;border: 2upx solid #82A9FE;font-size: 16px;font-weight: bold;color: #82A9FE; width: 50%;">文案推广</button>
-			<button @tap="showModal()" type="default"
-				style="background-color: #82A9FE;font-size: 16px;font-weight: bold;color: #FFFFFF; width: 50%; margin-left: 40upx;">生成海报</button>
-			<!-- #endif -->
-			<!-- #ifdef APP-PLUS -->
-			<button v-if="isShowWxAPPShare=='是'" @click="shareWeiXin()" type="default"
-				style="background: #E4ECFF;border: 2upx solid #82A9FE;font-size: 16px;font-weight: bold;color: #82A9FE; width: 50%;">文案推广</button>
-			<button v-if="isShowWxAPPShare=='否'" @click="sharAPPUrl()" type="default"
-				style="background: #E4ECFF;border: 2upx solid #82A9FE;font-size: 16px;font-weight: bold;color: #82A9FE; width: 50%;">文案推广</button>
-
-			<button @tap="showModal()" type="default"
-				style="background-color: #557EFD;font-size: 16px;font-weight: bold;color: #FFFFFF; width: 50%; margin-left: 40upx;">生成海报</button>
-			<!-- #endif -->
-
-			<!-- #ifdef MP-WEIXIN -->
-			<button open-type="share"
-				style="background: #E4ECFF;border: 2upx solid #82A9FE;font-size: 16px;font-weight: bold;color: #82A9FE; width: 48%;">一键分享</button>
-			<!-- <button @click="share()" type="default" style="background-color: #FFCB49;font-size: 16px;font-weight: bold;color: #FFFFFF; width: 40%;">文案推广</button> -->
-			<button @tap="onSaveImg()" type="default"
-				style="background-color: #82A9FE;font-size: 16px;font-weight: bold;color: #FFFFFF; width: 48%;">生成海报</button>
-
-			<!-- #endif -->
-			<!-- 生成海报 -->
-			<!-- 图片展示由自己实现 -->
-			<view class="flex_row_c_c modalView" :class="qrShow?'show':''" @tap="hideQr()">
-				<view class="flex_column">
-					<view class="backgroundColor-white padding1vh border_radius_10px">
-						<image :src="poster.finalPath || ''" mode="widthFix" class="posterImage"></image>
-					</view>
-					<view class="flex_row marginTop2vh">
-						<!-- #ifdef H5 -->
-						<button type="primary" size="mini">长按上方图片保存</button>
-						<!-- #endif -->
-						<!-- #ifndef H5 -->
-						<button type="primary" size="mini" @tap.prevent.stop="saveImage()">保存图片</button>
-						<!-- #endif -->
-					</view>
-				</view>
-			</view>
-			<!-- 画布 -->
-			<view class="hideCanvasView">
-				<canvas class="hideCanvas" canvas-id="default_PosterCanvasId"
-					:style="{width: (poster.width||10) + 'px', height: (poster.height||10) + 'px'}"></canvas>
-			</view>
-		</view>
-		<!-- #ifndef MP-WEIXIN -->
-		<tki-qrcode ref="qrcode" :val="url" :size="200" background="#fff" foreground="#000" pdground="#000"
-			:onval="true" :loadMake="true" @result="qrR" :show="false"></tki-qrcode>
-		<view class="cu-modal" :class="modalName == 'Image' ? 'show' : ''" @tap="hideModal">
-			<view class="cu-dialog" v-if="backgroundImage && erweimapath && haibaoShow" @tap="hideModal">
-				<view class="bg-img">
-					<wm-poster @success="posterSuccess" :imgSrc="backgroundImage" :Referrer="'我的邀请码:'+invitationCode"
-						:QrSrc="erweimapath" :Title="tuiguang" :LineType="false"></wm-poster>
-				</view>
-			</view>
-		</view>
-		<!-- #endif -->
-
-		<!-- #ifdef MP-WEIXIN -->
-		<view @tap="hideModal" :class="modalName == 'Image' ? 'show' : ''" class="modal"
-			style="text-align: center;display: flex;justify-content: center;">
-			<view style="width:100%;margin: auto;">
-				<image :src="h5SaveImg" mode="widthFix" style="width: 90%;"></image>
-			</view>
-		</view>
-		<canvas canvas-id="poster" class="poster_canvas"></canvas>
-		<!-- #endif -->
-	</view>
+  <view class="page-box">
+    <navBar title="邀请好友" color="#000" />
+    <view class="page-content">
+      <view
+        class="flex justify-between align-center margin-lr-sm padding"
+        style="background: #ffffff; border-radius: 20upx"
+      >
+        <view class="flex">
+          <view>
+            <image
+              :src="userImageUrl ? userImageUrl : '../../static/logo.png'"
+              style="width: 72upx; height: 72upx; border-radius: 12upx"
+            ></image>
+          </view>
+          <view class="margin-left-sm">
+            <view class="text-sm"
+              ><text class="text-bold" style="font-size: 48upx">{{ peopleNum }}</text
+              >人</view
+            >
+            <view style="color: #82a9fe">已成功邀请人数</view>
+          </view>
+        </view>
+        <view @click="goTeam()" v-if="zhiRate > 0">
+          我的团队
+          <image
+            src="../../static/images/my/right_icon.png"
+            style="width: 10rpx; height: 20rpx; margin-left: 10rpx"
+          ></image>
+        </view>
+      </view>
+
+      <view
+        class="view1"
+        v-bind:style="{ backgroundImage: 'url(' + backgroundImage + ')' }"
+      >
+        <view style="padding-top: 820upx" @longpress="logoTime(userImageUrl)">
+          <view
+            style="
+              width: 100%;
+              height: 150upx;
+              display: flex;
+              background: #ffffff;
+              padding: 20upx 10upx;
+            "
+          >
+            <image
+              :src="userImageUrl"
+              style="
+                border-radius: 100upx;
+                width: 100upx;
+                height: 100upx;
+                margin-left: 30upx;
+              "
+            ></image>
+            <view class="login-view-text1" style="margin-left: 30upx; width: 59%">
+              <view style="font-size: 16px">{{ nickName }}</view>
+              <view style="font-size: 12px; margin-top: 20upx"
+                >邀请码:{{ invitationCode }}</view
+              >
+            </view>
+            <canvas canvas-id="qrcode" style="width: 140upx; height: 130upx" />
+          </view>
+        </view>
+      </view>
+      <view
+        style="
+          display: flex;
+          flex-direction: row;
+          padding: 20upx 40upx;
+          justify-content: center;
+        "
+      >
+        <!-- #ifdef H5 -->
+        <button
+          @click="share()"
+          type="default"
+          style="
+            background: #e4ecff;
+            border: 2upx solid #82a9fe;
+            font-size: 16px;
+            font-weight: bold;
+            color: #82a9fe;
+            width: 50%;
+          "
+        >
+          文案推广
+        </button>
+        <button
+          @tap="showModal()"
+          type="default"
+          style="
+            background-color: #82a9fe;
+            font-size: 16px;
+            font-weight: bold;
+            color: #ffffff;
+            width: 50%;
+            margin-left: 40upx;
+          "
+        >
+          生成海报
+        </button>
+        <!-- #endif -->
+        <!-- #ifdef APP-PLUS -->
+        <button
+          v-if="isShowWxAPPShare == '是'"
+          @click="shareWeiXin()"
+          type="default"
+          style="
+            background: #e4ecff;
+            border: 2upx solid #82a9fe;
+            font-size: 16px;
+            font-weight: bold;
+            color: #82a9fe;
+            width: 50%;
+          "
+        >
+          文案推广
+        </button>
+        <button
+          v-if="isShowWxAPPShare == '否'"
+          @click="sharAPPUrl()"
+          type="default"
+          style="
+            background: #e4ecff;
+            border: 2upx solid #82a9fe;
+            font-size: 16px;
+            font-weight: bold;
+            color: #82a9fe;
+            width: 50%;
+          "
+        >
+          文案推广
+        </button>
+
+        <button
+          @tap="showModal()"
+          type="default"
+          style="
+            background-color: #557efd;
+            font-size: 16px;
+            font-weight: bold;
+            color: #ffffff;
+            width: 50%;
+            margin-left: 40upx;
+          "
+        >
+          生成海报
+        </button>
+        <!-- #endif -->
+
+        <!-- #ifdef MP-WEIXIN -->
+        <button
+          open-type="share"
+          style="
+            background: #e4ecff;
+            border: 2upx solid #82a9fe;
+            font-size: 16px;
+            font-weight: bold;
+            color: #82a9fe;
+            width: 48%;
+          "
+        >
+          一键分享
+        </button>
+        <!-- <button @click="share()" type="default" style="background-color: #FFCB49;font-size: 16px;font-weight: bold;color: #FFFFFF; width: 40%;">文案推广</button> -->
+        <button
+          @tap="onSaveImg()"
+          type="default"
+          style="
+            background-color: #82a9fe;
+            font-size: 16px;
+            font-weight: bold;
+            color: #ffffff;
+            width: 48%;
+          "
+        >
+          生成海报
+        </button>
+
+        <!-- #endif -->
+        <!-- 生成海报 -->
+        <!-- 图片展示由自己实现 -->
+        <view
+          class="flex_row_c_c modalView"
+          :class="qrShow ? 'show' : ''"
+          @tap="hideQr()"
+        >
+          <view class="flex_column">
+            <view class="backgroundColor-white padding1vh border_radius_10px">
+              <image
+                :src="poster.finalPath || ''"
+                mode="widthFix"
+                class="posterImage"
+              ></image>
+            </view>
+            <view class="flex_row marginTop2vh">
+              <!-- #ifdef H5 -->
+              <button type="primary" size="mini">长按上方图片保存</button>
+              <!-- #endif -->
+              <!-- #ifndef H5 -->
+              <button type="primary" size="mini" @tap.prevent.stop="saveImage()">
+                保存图片
+              </button>
+              <!-- #endif -->
+            </view>
+          </view>
+        </view>
+        <!-- 画布 -->
+        <view class="hideCanvasView">
+          <canvas
+            class="hideCanvas"
+            canvas-id="default_PosterCanvasId"
+            :style="{
+              width: (poster.width || 10) + 'px',
+              height: (poster.height || 10) + 'px',
+            }"
+          ></canvas>
+        </view>
+      </view>
+      <!-- #ifndef MP-WEIXIN -->
+      <tki-qrcode
+        ref="qrcode"
+        :val="url"
+        :size="200"
+        background="#fff"
+        foreground="#000"
+        pdground="#000"
+        :onval="true"
+        :loadMake="true"
+        @result="qrR"
+        :show="false"
+      ></tki-qrcode>
+      <view class="cu-modal" :class="modalName == 'Image' ? 'show' : ''" @tap="hideModal">
+        <view
+          class="cu-dialog"
+          v-if="backgroundImage && erweimapath && haibaoShow"
+          @tap="hideModal"
+        >
+          <view class="bg-img">
+            <wm-poster
+              @success="posterSuccess"
+              :imgSrc="backgroundImage"
+              :Referrer="'我的邀请码:' + invitationCode"
+              :QrSrc="erweimapath"
+              :Title="tuiguang"
+              :LineType="false"
+            ></wm-poster>
+          </view>
+        </view>
+      </view>
+      <!-- #endif -->
+
+      <!-- #ifdef MP-WEIXIN -->
+      <view
+        @tap="hideModal"
+        :class="modalName == 'Image' ? 'show' : ''"
+        class="modal"
+        style="text-align: center; display: flex; justify-content: center"
+      >
+        <view style="width: 100%; margin: auto">
+          <image :src="h5SaveImg" mode="widthFix" style="width: 90%"></image>
+        </view>
+      </view>
+      <canvas canvas-id="poster" class="poster_canvas"></canvas>
+      <!-- #endif -->
+    </view>
+  </view>
 </template>
 
 <script>
-	let settingWritePhotosAlbum = false;
-	import tkiQrcode from '@/components/tki-qrcode/tki-qrcode.vue';
-	import appShare from '@/utils/share.js';
-	import wmPoster from '@/components/wm-poster/wm-posterorders.vue';
-	import uQRCode from "../../js_sdk/Sansnn-uQRCode/uqrcode.js"
-	import _app from '../../js_sdk/QuShe-SharerPoster/QS-SharePoster/app.js';
-	import configdata from '../../common/config.js';
-	// import {
-	// 	getSharePoster
-	// } from '../../js_sdk/QuShe-SharerPoster/QS-SharePoster/QS-SharePoster.js';
-	export default {
-		components: {
-			tkiQrcode,
-			wmPoster,
-			// getSharePoster
-		},
-		data() {
-			return {
-				erweimapath: '',
-				poster: {},
-				qrShow: false,
-				haibaoImg: null,
-				haibaoShow: false,
-				modalName: '',
-				canvasId: 'default_PosterCanvasId',
-				imageUrl: '',
-				userImageUrl: '',
-				isShowWxAPPShare: '否',
-				nickName: '',
-				invitationCode: '',
-				backgroundImage: '',
-				tuiguang: '',
-				tuiguang1: '',
-				url: '',
-				peopleNum: 0,
-				zhiRate: 0
-			};
-		},
-		onLoad() {
-			//我邀请的人数
-			this.getYaoNum();
-			this.getBackImageList();
-
-			let avatar = this.$queue.getData('avatar');
-			if (avatar && avatar !== 'undefined') {
-				this.userImageUrl = avatar;
-			} else {
-				this.userImageUrl = '/static/logo.png';
-			}
-
-			this.$Request.getT('/app/common/type/255').then(res => {
-				if (res.code === 0) {
-					if (res.data && res.data.value) {
-						this.tuiguang = res.data.value;
-					}
-				}
-			});
-			//文案推广
-			this.$Request.getT('/app/common/type/255').then(res => {
-				if (res.code === 0) {
-					if (res.data && res.data.value) {
-						this.tuiguang1 = res.data.value;
-					}
-				}
-			});
-			//检测书否开启APP微信分享
-			this.$Request.getT('/app/common/type/136').then(res => {
-				if (res.code === 0) {
-					if (res.data && res.data.value) {
-						this.isShowWxAPPShare = res.data.value;
-					}
-				}
-			});
-
-			this.invitationCode = this.$queue.getData('invitationCode');
-			// #ifndef H5
-			this.$Request.getT('/app/common/type/25').then(res => {
-				if (res.code === 0) {
-					if (res.data && res.data.value) {
-						this.url = res.data.value;
-					}
-				}
-			});
-			//#endif
-			// #ifdef H5
-			this.$Request.getT('/app/common/type/141').then(res => {
-				if (res.code === 0) {
-					if (res.data && res.data.value && res.data.value == '是') {
-						this.$Request.getT('/app/common/type/25').then(ress => {
-							if (ress.code === 0) {
-								if (ress.data && ress.data.value) {
-									this.url = ress.data.value;
-								}
-							}
-						});
-					} else {
-						this.url = this.$queue.publicYuMing() + '/?invitation=' + this.invitationCode;
-					}
-				}
-			});
-
-			//#endif
-
-			let userName = this.$queue.getData('userName');
-			if (userName && userName !== 'undefined') {
-				this.nickName = userName;
-			} else {
-				this.nickName = '游客';
-			}
-
-		},
-		onShow() {
-			this.zhiRate = this.$queue.getData('zhiRate')
-		},
-		onShareAppMessage(res) {
-			return {
-				path: '/pages/index/index?invitation=' + this.invitationCode, //这是为了传参   onload(data){let id=data.id;} 
-				title: this.tuiguang,
-				imageUrl: this.backgroundImage
-			}
-		},
-		onShareTimeline(res) {
-			return {
-				path: '/pages/index/index?invitation=' + uni.getStorageSync(
-					'invitationCode'), //这是为了传参  
-				title: this.tuiguang,
-				imageUrl: this.backgroundImage
-			}
-		},
-		methods: {
-			goTeam() {
-				uni.navigateTo({
-					url: '/my/team/team'
-				})
-			},
-			//获取我邀请的人数
-			getYaoNum() {
-				this.$Request.getT('/app/invite/selectInviteCount', {}).then(res => {
-					if (res.code === 0) {
-						this.peopleNum = res.data
-					}
-				});
-			},
-			posterSuccess(haibaoImg) {
-				this.haibaoImg = haibaoImg;
-				this.modalName = 'Image';
-			},
-			showModal() {
-				if (!this.haibaoImg) {
-					this.haibaoShow = true;
-					this.$queue.showLoading('海报生成中...');
-				} else {
-					this.modalName = 'Image';
-				}
-			},
-			hideModal() {
-				this.modalName = null;
-			},
-			qrR(path) {
-				this.erweimapath = path;
-			},
-			getBackImageList() {
-				this.$Request.getT('/app/banner/selectBannerList?state=-1&classify=6').then(res => {
-					if (res.code === 0) {
-						this.backgroundImage = res.data[0].imageUrl;
-					}
-				});
-				this.make();
-
-			},
-			make() {
-				uQRCode.make({
-					canvasId: 'default_PosterCanvasId',
-					componentInstance: this,
-					text: this.url,
-					size: 68,
-					margin: 4,
-					backgroundColor: '#ffffff',
-					foregroundColor: '#000000',
-					fileType: 'jpg',
-					correctLevel: uQRCode.errorCorrectLevel.H,
-					success: res => {
-						console.log(res)
-					}
-				})
-			},
-			shareWeiXin() {
-				this.$Request.getT('/app/common/type/103').then(res => {
-					if (res.code === 0) {
-						if (res.data && res.data.value) {
-							let relationId = this.invitationCode;
-							let shareData = {
-								shareUrl: this.url,
-								shareTitle: res.data.value,
-								shareContent: '邀请码:' + relationId + ',' + res.data.value,
-								shareImg: this.$queue.publicYuMing() + '/logo.png',
-								type: 0
-							};
-							appShare(shareData, res => {
-								console.log('分享成功回调', res);
-							});
-						}
-					}
-				});
-
-			},
-			share() {
-				this.sharurl();
-			},
-			sharAPPUrl() {
-				let that = this;
-				let relationId = this.invitationCode;
-				uni.showModal({
-					title: '文案推广',
-					content: this.tuiguang1 + relationId + '\n' + this.url,
-					showCancel: true,
-					cancelText: '关闭',
-					confirmText: '一键复制',
-					confirmColor: '#016BF6',
-					success: res => {
-						if (res.confirm) {
-							uni.setClipboardData({
-								data: this.tuiguang1 + relationId + '\n' + this.url,
-								success: function() {
-									console.log('success');
-									that.$queue.showToast('文案复制成功');
-								}
-							});
-						}
-					}
-				});
-			},
-			sharurl() {
-				let that = this;
-				// this.$queue.showLoading('加载中...');
-				let relationId = this.invitationCode;
-				uni.showModal({
-					title: '文案推广',
-					content: this.tuiguang1 + relationId + '\n' + this.url,
-					showCancel: true,
-					cancelText: '关闭',
-					confirmText: '一键复制',
-					confirmColor: '#016BF6',
-					success: res => {
-						if (res.confirm) {
-							uni.setClipboardData({
-								data: this.tuiguang1 + relationId + '\n' + this.url,
-								success: function() {
-									console.log('success');
-									that.$queue.showToast('复制成功');
-								}
-							});
-						}
-					}
-				});
-			},
-			logoTime(urlList) {
-				uni.previewImage({
-					current: 0,
-					urls: urlList,
-					loop: true,
-					longPressActions: {
-						itemList: ['收藏'],
-						itemColor: "#007AFF"
-					}
-				})
-			},
-			goList() {
-				let userId = this.$queue.getData('userId');
-				this.$Request.getT('/app/invite/selectInviteAndPoster?userId=' + userId).then(res => {
-					if (res.code === 0) {
-						if (res.data.user.imageUrl) {
-							this.userImageUrl = res.data.user.imageUrl;
-						} else {
-							this.userImageUrl = '/static/img/common/logo.jpg';
-						}
-
-						if (res.data.user.nickName) {
-							this.nickName = res.data.user.nickName;
-						} else {
-							this.nickName = res.data.user.phone;
-						}
-						this.invitationCode = res.data.user.invitationCode;
-						this.imageUrl = res.data.url;
-
-					}
-				});
-			},
-			async shareFc() {
-				let _this = this;
-				try {
-					const d = await getSharePoster({
-						type: 'testShareType',
-						backgroundImage: _this.backgroundImage,
-						posterCanvasId: _this.canvasId, //canvasId
-						delayTimeScale: 20, //延时系数
-						drawArray: ({
-							bgObj,
-							type,
-							bgScale
-						}) => {
-							const dx = bgObj.width * 0.3;
-							const fontSize = bgObj.width * 0.045;
-							const lineHeight = bgObj.height * 0.04;
-							//可直接return数组,也可以return一个promise对象, 但最终resolve一个数组, 这样就可以方便实现后台可控绘制海报
-							return new Promise((rs, rj) => {
-								rs([{
-										type: 'custom',
-										setDraw(Context) {
-											Context.setFillStyle('black');
-											Context.setGlobalAlpha(0.3);
-											Context.fillRect(0, bgObj.height - bgObj
-												.height * 0.2, bgObj.width, bgObj
-												.height * 0.2);
-											Context.setGlobalAlpha(1);
-										}
-									},
-									{
-										type: 'text',
-										fontStyle: 'italic',
-										text: '邀请码:' + _this.invitationCode,
-										size: fontSize,
-										color: 'white',
-										alpha: 1,
-										textAlign: 'left',
-										textBaseline: 'middle',
-										infoCallBack(textLength) {
-											return {
-												dx: bgObj.width - textLength - fontSize,
-												dy: bgObj.height - lineHeight * 3
-											}
-										},
-										serialNum: 0,
-										id: 'tag1' //自定义标识
-									},
-									{
-										type: 'qrcode',
-										text: _this.url,
-										size: bgObj.width * 0.2,
-										dx: bgObj.width * 0.05,
-										dy: bgObj.height - bgObj.width * 0.25
-									}
-								]);
-							})
-						},
-						setCanvasWH: ({
-							bgObj,
-							type,
-							bgScale
-						}) => { // 为动态设置画布宽高的方法,
-							_this.poster = bgObj;
-						}
-					});
-					//_app.log('海报生成成功, 时间:' + new Date() + ', 临时路径: ' + d.poster.tempFilePath)
-					_this.poster.finalPath = d.poster.tempFilePath;
-					_this.qrShow = true;
-				} catch (e) {
-					_app.hideLoading();
-				}
-			},
-			saveImage() {
-				uni.saveImageToPhotosAlbum({
-					filePath: this.poster.finalPath,
-					success(res) {
-						_app.showToast('保存成功');
-					}
-				})
-			},
-			hideQr() {
-				this.qrShow = false;
-			},
-
-			// 微信小程序保存图片
-			async onSaveImg() {
-				// #ifdef MP-WEIXIN
-				let imgUrl = await this.createPoster();
-				uni.showLoading({
-					title: '海报下载中'
-				});
-				if (settingWritePhotosAlbum) {
-					uni.getSetting({
-						success: res => {
-							if (res.authSetting['scope.writePhotosAlbum']) {
-								uni.saveImageToPhotosAlbum({
-									filePath: imgUrl,
-									success: () => {
-										uni.hideLoading();
-										uni.showToast({
-											title: '保存成功'
-										});
-									}
-								});
-							} else {
-								uni.showModal({
-									title: '提示',
-									content: '请先在设置页面打开“保存相册”使用权限',
-									confirmText: '去设置',
-									cancelText: '算了',
-									confirmColor: '#016BF6',
-									success: data => {
-										if (data.confirm) {
-											uni.hideLoading();
-											uni.openSetting();
-										}
-									}
-								});
-							}
-						}
-					});
-				} else {
-					uni.hideLoading();
-					settingWritePhotosAlbum = true;
-					uni.authorize({
-						scope: 'scope.writePhotosAlbum',
-						success: () => {
-							uni.saveImageToPhotosAlbum({
-								filePath: imgUrl,
-								success: () => {
-									uni.hideLoading();
-									uni.showToast({
-										title: '保存成功'
-									});
-								}
-							});
-						}
-					});
-				}
-				// #endif
-			},
-			//生成海报
-			createPoster() {
-				let that = this;
-				return new Promise((resolve, reject) => {
-					uni.showLoading({
-						title: '海报生成中'
-					});
-					const ctx = uni.createCanvasContext('poster');
-					ctx.fillRect(0, 0, 375, 673);
-					ctx.setFillStyle("#FFF");
-					ctx.fillRect(0, 0, 375, 673);
-					let imgUrl = that.backgroundImage;
-					uni.downloadFile({
-						url: imgUrl,
-						success: (res) => {
-							if (res.statusCode === 200) {
-								console.log(that.config("APIHOST1") +
-									'/app/invite/mpCreateQr?invitationCode=' + that.invitationCode)
-								uni.downloadFile({
-									url: that.config("APIHOST1") +
-										'/app/invite/mpCreateQr?invitationCode=' + that
-										.invitationCode,
-									success: (res2) => {
-										console.log(res2)
-										uni.hideLoading();
-										if (res.statusCode === 200) {
-											ctx.drawImage(res.tempFilePath, 0, 0, 375,
-												500);
-											// 长按识别二维码访问
-											let textTop = 0;
-											ctx.setFontSize(19);
-											ctx.setFillStyle('#333');
-											ctx.fillText("长按识别图中二维码", 17, textTop + 590);
-											// 二维码
-											ctx.drawImage(res2.tempFilePath, 238, textTop +
-												526, 120, 120);
-											ctx.draw(true, () => {
-												// canvas画布转成图片并返回图片地址
-												uni.canvasToTempFilePath({
-													canvasId: 'poster',
-													width: 375,
-													height: 673,
-													success: (res) => {
-														console.log(
-															"海报制作成功!"
-														);
-														resolve(res
-															.tempFilePath
-														);
-													},
-													fail: () => {
-														uni
-															.hideLoading();
-														reject();
-													}
-												})
-											});
-										} else {
-											uni.hideLoading();
-											uni.showToast({
-												title: '海报制作失败,图片下载失败',
-												icon: 'none'
-											});
-										}
-									},
-									fail: err => {
-										console.log(err)
-										uni.hideLoading();
-										uni.showToast({
-											title: '海报制作失败,图片下载失败',
-											icon: 'none'
-										});
-									},
-									complete: com => {
-										console.log(com)
-										uni.showToast({
-											title: com,
-											icon: 'none'
-										});
-									},
-								});
-							} else {
-								uni.hideLoading();
-								uni.showToast({
-									title: '海报制作失败,图片下载失败',
-									icon: 'none'
-								});
-							}
-						},
-						fail: err => {
-							// that.yu.toast(err)
-							console.log(err)
-							uni.hideLoading();
-							uni.showToast({
-								title: '海报制作失败,图片下载失败',
-								icon: 'none',
-							});
-						}
-					});
-				});
-			},
-			config: function(name) {
-				var info = null;
-				if (name) {
-					var name2 = name.split("."); //字符分割
-					if (name2.length > 1) {
-						info = configdata[name2[0]][name2[1]] || null;
-					} else {
-						info = configdata[name] || null;
-					}
-					if (info == null) {
-						let web_config = cache.get("web_config");
-						if (web_config) {
-							if (name2.length > 1) {
-								info = web_config[name2[0]][name2[1]] || null;
-							} else {
-								info = web_config[name] || null;
-							}
-						}
-					}
-				}
-				return info;
-			},
-		}
-	}
+let settingWritePhotosAlbum = false;
+import tkiQrcode from "@/components/tki-qrcode/tki-qrcode.vue";
+import appShare from "@/utils/share.js";
+import wmPoster from "@/components/wm-poster/wm-posterorders.vue";
+import uQRCode from "../../js_sdk/Sansnn-uQRCode/uqrcode.js";
+import _app from "../../js_sdk/QuShe-SharerPoster/QS-SharePoster/app.js";
+import configdata from "../../common/config.js";
+import navBar from "@/components/nav-bar/index.vue";
+
+// import {
+// 	getSharePoster
+// } from '../../js_sdk/QuShe-SharerPoster/QS-SharePoster/QS-SharePoster.js';
+export default {
+  components: {
+    tkiQrcode,
+    wmPoster,
+    navBar,
+    // getSharePoster
+  },
+  data() {
+    return {
+      erweimapath: "",
+      poster: {},
+      qrShow: false,
+      haibaoImg: null,
+      haibaoShow: false,
+      modalName: "",
+      canvasId: "default_PosterCanvasId",
+      imageUrl: "",
+      userImageUrl: "",
+      isShowWxAPPShare: "否",
+      nickName: "",
+      invitationCode: "",
+      backgroundImage: "",
+      tuiguang: "",
+      tuiguang1: "",
+      url: "",
+      peopleNum: 0,
+      zhiRate: 0,
+    };
+  },
+  onLoad() {
+    //我邀请的人数
+    this.getYaoNum();
+    this.getBackImageList();
+
+    let avatar = this.$queue.getData("avatar");
+    if (avatar && avatar !== "undefined") {
+      this.userImageUrl = avatar;
+    } else {
+      this.userImageUrl = "/static/logo.png";
+    }
+
+    this.$Request.getT("/app/common/type/255").then((res) => {
+      if (res.code === 0) {
+        if (res.data && res.data.value) {
+          this.tuiguang = res.data.value;
+        }
+      }
+    });
+    //文案推广
+    this.$Request.getT("/app/common/type/255").then((res) => {
+      if (res.code === 0) {
+        if (res.data && res.data.value) {
+          this.tuiguang1 = res.data.value;
+        }
+      }
+    });
+    //检测书否开启APP微信分享
+    this.$Request.getT("/app/common/type/136").then((res) => {
+      if (res.code === 0) {
+        if (res.data && res.data.value) {
+          this.isShowWxAPPShare = res.data.value;
+        }
+      }
+    });
+
+    this.invitationCode = this.$queue.getData("invitationCode");
+    // #ifndef H5
+    this.$Request.getT("/app/common/type/25").then((res) => {
+      if (res.code === 0) {
+        if (res.data && res.data.value) {
+          this.url = res.data.value;
+        }
+      }
+    });
+    //#endif
+    // #ifdef H5
+    this.$Request.getT("/app/common/type/141").then((res) => {
+      if (res.code === 0) {
+        if (res.data && res.data.value && res.data.value == "是") {
+          this.$Request.getT("/app/common/type/25").then((ress) => {
+            if (ress.code === 0) {
+              if (ress.data && ress.data.value) {
+                this.url = ress.data.value;
+              }
+            }
+          });
+        } else {
+          this.url = this.$queue.publicYuMing() + "/?invitation=" + this.invitationCode;
+        }
+      }
+    });
+
+    //#endif
+
+    let userName = this.$queue.getData("userName");
+    if (userName && userName !== "undefined") {
+      this.nickName = userName;
+    } else {
+      this.nickName = "游客";
+    }
+  },
+  onShow() {
+    this.zhiRate = this.$queue.getData("zhiRate");
+  },
+  onShareAppMessage(res) {
+    return {
+      path: "/pages/index/index?invitation=" + this.invitationCode, //这是为了传参   onload(data){let id=data.id;}
+      title: this.tuiguang,
+      imageUrl: this.backgroundImage,
+    };
+  },
+  onShareTimeline(res) {
+    return {
+      path: "/pages/index/index?invitation=" + uni.getStorageSync("invitationCode"), //这是为了传参
+      title: this.tuiguang,
+      imageUrl: this.backgroundImage,
+    };
+  },
+  methods: {
+    goTeam() {
+      uni.navigateTo({
+        url: "/my/team/team",
+      });
+    },
+    //获取我邀请的人数
+    getYaoNum() {
+      this.$Request.getT("/app/invite/selectInviteCount", {}).then((res) => {
+        if (res.code === 0) {
+          this.peopleNum = res.data;
+        }
+      });
+    },
+    posterSuccess(haibaoImg) {
+      this.haibaoImg = haibaoImg;
+      this.modalName = "Image";
+    },
+    showModal() {
+      if (!this.haibaoImg) {
+        this.haibaoShow = true;
+        this.$queue.showLoading("海报生成中...");
+      } else {
+        this.modalName = "Image";
+      }
+    },
+    hideModal() {
+      this.modalName = null;
+    },
+    qrR(path) {
+      this.erweimapath = path;
+    },
+    getBackImageList() {
+      this.$Request
+        .getT("/app/banner/selectBannerList?state=-1&classify=6")
+        .then((res) => {
+          if (res.code === 0) {
+            this.backgroundImage = res.data[0].imageUrl;
+          }
+        });
+      this.make();
+    },
+    make() {
+      uQRCode.make({
+        canvasId: "default_PosterCanvasId",
+        componentInstance: this,
+        text: this.url,
+        size: 68,
+        margin: 4,
+        backgroundColor: "#ffffff",
+        foregroundColor: "#000000",
+        fileType: "jpg",
+        correctLevel: uQRCode.errorCorrectLevel.H,
+        success: (res) => {
+          console.log(res);
+        },
+      });
+    },
+    shareWeiXin() {
+      this.$Request.getT("/app/common/type/103").then((res) => {
+        if (res.code === 0) {
+          if (res.data && res.data.value) {
+            let relationId = this.invitationCode;
+            let shareData = {
+              shareUrl: this.url,
+              shareTitle: res.data.value,
+              shareContent: "邀请码:" + relationId + "," + res.data.value,
+              shareImg: this.$queue.publicYuMing() + "/logo.png",
+              type: 0,
+            };
+            appShare(shareData, (res) => {
+              console.log("分享成功回调", res);
+            });
+          }
+        }
+      });
+    },
+    share() {
+      this.sharurl();
+    },
+    sharAPPUrl() {
+      let that = this;
+      let relationId = this.invitationCode;
+      uni.showModal({
+        title: "文案推广",
+        content: this.tuiguang1 + relationId + "\n" + this.url,
+        showCancel: true,
+        cancelText: "关闭",
+        confirmText: "一键复制",
+        confirmColor: "#016BF6",
+        success: (res) => {
+          if (res.confirm) {
+            uni.setClipboardData({
+              data: this.tuiguang1 + relationId + "\n" + this.url,
+              success: function () {
+                console.log("success");
+                that.$queue.showToast("文案复制成功");
+              },
+            });
+          }
+        },
+      });
+    },
+    sharurl() {
+      let that = this;
+      // this.$queue.showLoading('加载中...');
+      let relationId = this.invitationCode;
+      uni.showModal({
+        title: "文案推广",
+        content: this.tuiguang1 + relationId + "\n" + this.url,
+        showCancel: true,
+        cancelText: "关闭",
+        confirmText: "一键复制",
+        confirmColor: "#016BF6",
+        success: (res) => {
+          if (res.confirm) {
+            uni.setClipboardData({
+              data: this.tuiguang1 + relationId + "\n" + this.url,
+              success: function () {
+                console.log("success");
+                that.$queue.showToast("复制成功");
+              },
+            });
+          }
+        },
+      });
+    },
+    logoTime(urlList) {
+      uni.previewImage({
+        current: 0,
+        urls: urlList,
+        loop: true,
+        longPressActions: {
+          itemList: ["收藏"],
+          itemColor: "#007AFF",
+        },
+      });
+    },
+    goList() {
+      let userId = this.$queue.getData("userId");
+      this.$Request
+        .getT("/app/invite/selectInviteAndPoster?userId=" + userId)
+        .then((res) => {
+          if (res.code === 0) {
+            if (res.data.user.imageUrl) {
+              this.userImageUrl = res.data.user.imageUrl;
+            } else {
+              this.userImageUrl = "/static/img/common/logo.jpg";
+            }
+
+            if (res.data.user.nickName) {
+              this.nickName = res.data.user.nickName;
+            } else {
+              this.nickName = res.data.user.phone;
+            }
+            this.invitationCode = res.data.user.invitationCode;
+            this.imageUrl = res.data.url;
+          }
+        });
+    },
+    async shareFc() {
+      let _this = this;
+      try {
+        const d = await getSharePoster({
+          type: "testShareType",
+          backgroundImage: _this.backgroundImage,
+          posterCanvasId: _this.canvasId, //canvasId
+          delayTimeScale: 20, //延时系数
+          drawArray: ({ bgObj, type, bgScale }) => {
+            const dx = bgObj.width * 0.3;
+            const fontSize = bgObj.width * 0.045;
+            const lineHeight = bgObj.height * 0.04;
+            //可直接return数组,也可以return一个promise对象, 但最终resolve一个数组, 这样就可以方便实现后台可控绘制海报
+            return new Promise((rs, rj) => {
+              rs([
+                {
+                  type: "custom",
+                  setDraw(Context) {
+                    Context.setFillStyle("black");
+                    Context.setGlobalAlpha(0.3);
+                    Context.fillRect(
+                      0,
+                      bgObj.height - bgObj.height * 0.2,
+                      bgObj.width,
+                      bgObj.height * 0.2
+                    );
+                    Context.setGlobalAlpha(1);
+                  },
+                },
+                {
+                  type: "text",
+                  fontStyle: "italic",
+                  text: "邀请码:" + _this.invitationCode,
+                  size: fontSize,
+                  color: "white",
+                  alpha: 1,
+                  textAlign: "left",
+                  textBaseline: "middle",
+                  infoCallBack(textLength) {
+                    return {
+                      dx: bgObj.width - textLength - fontSize,
+                      dy: bgObj.height - lineHeight * 3,
+                    };
+                  },
+                  serialNum: 0,
+                  id: "tag1", //自定义标识
+                },
+                {
+                  type: "qrcode",
+                  text: _this.url,
+                  size: bgObj.width * 0.2,
+                  dx: bgObj.width * 0.05,
+                  dy: bgObj.height - bgObj.width * 0.25,
+                },
+              ]);
+            });
+          },
+          setCanvasWH: ({ bgObj, type, bgScale }) => {
+            // 为动态设置画布宽高的方法,
+            _this.poster = bgObj;
+          },
+        });
+        //_app.log('海报生成成功, 时间:' + new Date() + ', 临时路径: ' + d.poster.tempFilePath)
+        _this.poster.finalPath = d.poster.tempFilePath;
+        _this.qrShow = true;
+      } catch (e) {
+        _app.hideLoading();
+      }
+    },
+    saveImage() {
+      uni.saveImageToPhotosAlbum({
+        filePath: this.poster.finalPath,
+        success(res) {
+          _app.showToast("保存成功");
+        },
+      });
+    },
+    hideQr() {
+      this.qrShow = false;
+    },
+
+    // 微信小程序保存图片
+    async onSaveImg() {
+      // #ifdef MP-WEIXIN
+      let imgUrl = await this.createPoster();
+      uni.showLoading({
+        title: "海报下载中",
+      });
+      if (settingWritePhotosAlbum) {
+        uni.getSetting({
+          success: (res) => {
+            if (res.authSetting["scope.writePhotosAlbum"]) {
+              uni.saveImageToPhotosAlbum({
+                filePath: imgUrl,
+                success: () => {
+                  uni.hideLoading();
+                  uni.showToast({
+                    title: "保存成功",
+                  });
+                },
+              });
+            } else {
+              uni.showModal({
+                title: "提示",
+                content: "请先在设置页面打开“保存相册”使用权限",
+                confirmText: "去设置",
+                cancelText: "算了",
+                confirmColor: "#016BF6",
+                success: (data) => {
+                  if (data.confirm) {
+                    uni.hideLoading();
+                    uni.openSetting();
+                  }
+                },
+              });
+            }
+          },
+        });
+      } else {
+        uni.hideLoading();
+        settingWritePhotosAlbum = true;
+        uni.authorize({
+          scope: "scope.writePhotosAlbum",
+          success: () => {
+            uni.saveImageToPhotosAlbum({
+              filePath: imgUrl,
+              success: () => {
+                uni.hideLoading();
+                uni.showToast({
+                  title: "保存成功",
+                });
+              },
+            });
+          },
+        });
+      }
+      // #endif
+    },
+    //生成海报
+    createPoster() {
+      let that = this;
+      return new Promise((resolve, reject) => {
+        uni.showLoading({
+          title: "海报生成中",
+        });
+        const ctx = uni.createCanvasContext("poster");
+        ctx.fillRect(0, 0, 375, 673);
+        ctx.setFillStyle("#FFF");
+        ctx.fillRect(0, 0, 375, 673);
+        let imgUrl = that.backgroundImage;
+        uni.downloadFile({
+          url: imgUrl,
+          success: (res) => {
+            if (res.statusCode === 200) {
+              console.log(
+                that.config("APIHOST1") +
+                  "/app/invite/mpCreateQr?invitationCode=" +
+                  that.invitationCode
+              );
+              uni.downloadFile({
+                url:
+                  that.config("APIHOST1") +
+                  "/app/invite/mpCreateQr?invitationCode=" +
+                  that.invitationCode,
+                success: (res2) => {
+                  console.log(res2);
+                  uni.hideLoading();
+                  if (res.statusCode === 200) {
+                    ctx.drawImage(res.tempFilePath, 0, 0, 375, 500);
+                    // 长按识别二维码访问
+                    let textTop = 0;
+                    ctx.setFontSize(19);
+                    ctx.setFillStyle("#333");
+                    ctx.fillText("长按识别图中二维码", 17, textTop + 590);
+                    // 二维码
+                    ctx.drawImage(res2.tempFilePath, 238, textTop + 526, 120, 120);
+                    ctx.draw(true, () => {
+                      // canvas画布转成图片并返回图片地址
+                      uni.canvasToTempFilePath({
+                        canvasId: "poster",
+                        width: 375,
+                        height: 673,
+                        success: (res) => {
+                          console.log("海报制作成功!");
+                          resolve(res.tempFilePath);
+                        },
+                        fail: () => {
+                          uni.hideLoading();
+                          reject();
+                        },
+                      });
+                    });
+                  } else {
+                    uni.hideLoading();
+                    uni.showToast({
+                      title: "海报制作失败,图片下载失败",
+                      icon: "none",
+                    });
+                  }
+                },
+                fail: (err) => {
+                  console.log(err);
+                  uni.hideLoading();
+                  uni.showToast({
+                    title: "海报制作失败,图片下载失败",
+                    icon: "none",
+                  });
+                },
+                complete: (com) => {
+                  console.log(com);
+                  uni.showToast({
+                    title: com,
+                    icon: "none",
+                  });
+                },
+              });
+            } else {
+              uni.hideLoading();
+              uni.showToast({
+                title: "海报制作失败,图片下载失败",
+                icon: "none",
+              });
+            }
+          },
+          fail: (err) => {
+            // that.yu.toast(err)
+            console.log(err);
+            uni.hideLoading();
+            uni.showToast({
+              title: "海报制作失败,图片下载失败",
+              icon: "none",
+            });
+          },
+        });
+      });
+    },
+    config: function (name) {
+      var info = null;
+      if (name) {
+        var name2 = name.split("."); //字符分割
+        if (name2.length > 1) {
+          info = configdata[name2[0]][name2[1]] || null;
+        } else {
+          info = configdata[name] || null;
+        }
+        if (info == null) {
+          let web_config = cache.get("web_config");
+          if (web_config) {
+            if (name2.length > 1) {
+              info = web_config[name2[0]][name2[1]] || null;
+            } else {
+              info = web_config[name] || null;
+            }
+          }
+        }
+      }
+      return info;
+    },
+  },
+};
 </script>
 
-<style>
-	.content {
-		height: 50vh;
-		background: linear-gradient(0deg, #FFFFFF 0%, #E5EEFF 51%);
-	}
-
-	.modal {
-		position: fixed;
-		top: 0;
-		right: 0;
-		bottom: 0;
-		left: 0;
-		z-index: 1110;
-		opacity: 0;
-		outline: 0;
-		text-align: center;
-		-ms-transform: scale(1.185);
-		transform: scale(1.185);
-		backface-visibility: hidden;
-		perspective: 2000upx;
-		/* background: rgba(0, 0, 0, 0.6); */
-		background: #FFFFFF;
-		transition: all 0.3s ease-in-out 0s;
-		pointer-events: none;
-	}
-
-	.modal.show {
-		opacity: 1;
-		transition-duration: 0.3s;
-		-ms-transform: scale(1);
-		transform: scale(1);
-		overflow-x: hidden;
-		overflow-y: auto;
-		pointer-events: auto;
-	}
-
-	page {
-		background: #FFFFFF;
-	}
-
-	.view1 {
-		border-radius: 15upx;
-		/* background-size: 100%; */
-		background-size: cover;
-		margin: 20upx 20upx 0 20upx;
-
-	}
-
-	.hideCanvasView {
-		position: relative;
-	}
-
-	.hideCanvas {
-		position: fixed;
-		top: -99999upx;
-		left: -99999upx;
-		z-index: -99999;
-	}
-
-	.flex_row_c_c {
-		display: flex;
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-	}
-
-	.modalView {
-		width: 100%;
-		height: 100%;
-		position: fixed;
-		top: 0;
-		left: 0;
-		right: 0;
-		bottom: 0;
-		opacity: 0;
-		outline: 0;
-		transform: scale(1.2);
-		perspective: 2500upx;
-		/* background: rgba(0, 0, 0, 0.6); */
-		background: #FFFFFF;
-		transition: all .3s ease-in-out;
-		pointer-events: none;
-		backface-visibility: hidden;
-		z-index: 999;
-	}
-
-	.modalView.show {
-		opacity: 1;
-		transform: scale(1);
-		pointer-events: auto;
-	}
-
-	.flex_column {
-		display: flex;
-		flex-direction: column;
-	}
-
-	.backgroundColor-white {
-		background-color: white;
-	}
-
-	.border_radius_10px {
-		border-radius: 10px;
-	}
-
-	.padding1vh {
-		padding: 1vh;
-	}
-
-	.posterImage {
-		width: 60vw;
-	}
-
-	.flex_row {
-		display: flex;
-		flex-direction: row;
-	}
-
-	.marginTop2vh {
-		margin-top: 2vh;
-	}
-
-	.poster_canvas {
-		width: 750upx;
-		height: 1334upx;
-		position: fixed;
-		top: -10000upx;
-		left: 0;
-	}
-</style>
+<style lang="scss" scoped>
+.page-box {
+  position: absolute;
+  left: 0;
+  bottom: 0;
+  right: 0;
+  top: 0;
+  overflow: hidden;
+  display: flex;
+  flex-direction: column;
+  .page-content {
+    flex: 1;
+    overflow: hidden;
+    overflow-y: auto;
+  }
+}
+.content {
+  height: 50vh;
+  background: linear-gradient(0deg, #ffffff 0%, #e5eeff 51%);
+}
+
+.modal {
+  position: fixed;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  z-index: 1110;
+  opacity: 0;
+  outline: 0;
+  text-align: center;
+  -ms-transform: scale(1.185);
+  transform: scale(1.185);
+  backface-visibility: hidden;
+  perspective: 2000upx;
+  /* background: rgba(0, 0, 0, 0.6); */
+  background: #ffffff;
+  transition: all 0.3s ease-in-out 0s;
+  pointer-events: none;
+}
+
+.modal.show {
+  opacity: 1;
+  transition-duration: 0.3s;
+  -ms-transform: scale(1);
+  transform: scale(1);
+  overflow-x: hidden;
+  overflow-y: auto;
+  pointer-events: auto;
+}
+
+page {
+  background: #ffffff;
+}
+
+.view1 {
+  border-radius: 15upx;
+  /* background-size: 100%; */
+  background-size: cover;
+  margin: 20upx 20upx 0 20upx;
+}
+
+.hideCanvasView {
+  position: relative;
+}
+
+.hideCanvas {
+  position: fixed;
+  top: -99999upx;
+  left: -99999upx;
+  z-index: -99999;
+}
+
+.flex_row_c_c {
+  display: flex;
+  flex-direction: row;
+  justify-content: center;
+  align-items: center;
+}
+
+.modalView {
+  width: 100%;
+  height: 100%;
+  position: fixed;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  opacity: 0;
+  outline: 0;
+  transform: scale(1.2);
+  perspective: 2500upx;
+  /* background: rgba(0, 0, 0, 0.6); */
+  background: #ffffff;
+  transition: all 0.3s ease-in-out;
+  pointer-events: none;
+  backface-visibility: hidden;
+  z-index: 999;
+}
+
+.modalView.show {
+  opacity: 1;
+  transform: scale(1);
+  pointer-events: auto;
+}
+
+.flex_column {
+  display: flex;
+  flex-direction: column;
+}
+
+.backgroundColor-white {
+  background-color: white;
+}
+
+.border_radius_10px {
+  border-radius: 10px;
+}
+
+.padding1vh {
+  padding: 1vh;
+}
+
+.posterImage {
+  width: 60vw;
+}
+
+.flex_row {
+  display: flex;
+  flex-direction: row;
+}
+
+.marginTop2vh {
+  margin-top: 2vh;
+}
+
+.poster_canvas {
+  width: 750upx;
+  height: 1334upx;
+  position: fixed;
+  top: -10000upx;
+  left: 0;
+}
+</style>