From 0509850596b9d275bc49211af4c39b37d2983c7c Mon Sep 17 00:00:00 2001
From: xuxueyang <xuxy@fengyuntec.com>
Date: 星期一, 23 九月 2024 17:39:33 +0800
Subject: [PATCH] Merge remote-tracking branch 'remote-v2/master-2.0' into master-2.0
---
pages/home/supplier-home.vue | 23 ++
pages.json | 7 +
sub_pages/partner/partner-info/partner-info-personal.vue | 328 ++++++++++++++++++++++++++++++++++++++++++++++
pages/user/supplier-user.vue | 21 ++
4 files changed, 371 insertions(+), 8 deletions(-)
diff --git a/pages.json b/pages.json
index 2c619ce..5c8e879 100644
--- a/pages.json
+++ b/pages.json
@@ -280,6 +280,13 @@
"pages": [
// #ifdef PUB_PARTNER
{
+ "path": "partner-info/partner-info-personal",
+ "style": {
+ "navigationBarTitleText": "个人资料",
+ "enablePullDownRefresh": false
+ }
+ },
+ {
"path": "partner-info/partner-info",
"style": {
"navigationBarTitleText": "信息维护",
diff --git a/pages/home/supplier-home.vue b/pages/home/supplier-home.vue
index 234e6b6..e3383f1 100644
--- a/pages/home/supplier-home.vue
+++ b/pages/home/supplier-home.vue
@@ -13,11 +13,28 @@
</view>
<view class="flex user-info" v-if="currentInfo&&(currentInfo.id)">
- <!-- 头像 -->
- <image class="user-icon" v-if="!currentInfo.picture"
+
+ <image class="user-icon" v-if="
+ (currentInfo.customerDTO&¤tInfo.customerDTO.cover)
+ ||(currentInfo.supplierDTO&¤tInfo.supplierDTO.cover)
+ ||(currentInfo.partnerDTO&¤tInfo.partnerDTO.cover)
+ || currentInfo.picture
+ " :src="
+ (currentInfo.customerDTO&¤tInfo.customerDTO.cover)
+ ||(currentInfo.supplierDTO&¤tInfo.supplierDTO.cover)
+ ||(currentInfo.partnerDTO&¤tInfo.partnerDTO.cover)
+ || currentInfo.picture
+ " mode="aspectFit"></image>
+
+ <image class="user-icon" v-else
src='https://youzhen123.oss-cn-huhehaote.aliyuncs.com/WechatOwnerProperty/images/mrtx.png'
mode="aspectFit"></image>
- <image class="user-icon" v-if="currentInfo.picture" :src="currentInfo.picture" mode="aspectFit"></image>
+
+ <!-- 头像 -->
+ <!-- <image class="user-icon" v-if="!currentInfo.picture"
+ src='https://youzhen123.oss-cn-huhehaote.aliyuncs.com/WechatOwnerProperty/images/mrtx.png'
+ mode="aspectFit"></image>
+ <image class="user-icon" v-if="currentInfo.picture" :src="currentInfo.picture" mode="aspectFit"></image> -->
<view class="name">
<view class="t1">
diff --git a/pages/user/supplier-user.vue b/pages/user/supplier-user.vue
index 330a7d5..889aac1 100644
--- a/pages/user/supplier-user.vue
+++ b/pages/user/supplier-user.vue
@@ -16,16 +16,20 @@
<!-- v-if="currentInfo&&(currentInfo.id)" -->
<view class="flex user-info">
<!-- 头像 -->
-
<image class="user-icon" v-if="
- currentInfo.customerDTO&¤tInfo.customerDTO.cover
- ||currentInfo.supplierDTO&¤tInfo.supplierDTO.cover
+ (currentInfo.customerDTO&¤tInfo.customerDTO.cover)
+ ||(currentInfo.supplierDTO&¤tInfo.supplierDTO.cover)
+ ||(currentInfo.partnerDTO&¤tInfo.partnerDTO.cover)
|| currentInfo.picture
" :src="
- currentInfo.customerDTO&¤tInfo.customerDTO.cover
- ||currentInfo.supplierDTO&¤tInfo.supplierDTO.cover
+ (currentInfo.customerDTO&¤tInfo.customerDTO.cover)
+ ||(currentInfo.supplierDTO&¤tInfo.supplierDTO.cover)
+ ||(currentInfo.partnerDTO&¤tInfo.partnerDTO.cover)
|| currentInfo.picture
" mode="scaleToFill"></image>
+
+
+
<image class="user-icon" v-else
src='https://youzhen123.oss-cn-huhehaote.aliyuncs.com/WechatOwnerProperty/images/mrtx.png'
mode="scaleToFill"></image>
@@ -275,6 +279,13 @@
<uni-icons type="right"></uni-icons>
</view>
</view>
+ <view class="user-util m-t-12 flex" v-if="selftype==='partner'||!selftype"
+ @click="goto('/sub_pages/partner/partner-info/partner-info-personal',true)">
+ <view class="title">个人资料</view>
+ <view class="right-icon">
+ <uni-icons type="right"></uni-icons>
+ </view>
+ </view>
<view class="user-util m-t-12 flex" v-if="selftype==='partner'"
@click="goto('/sub_pages/partner/partner-info/partner-info',true)">
<view class="title">合伙人信息</view>
diff --git a/sub_pages/partner/partner-info/partner-info-personal.vue b/sub_pages/partner/partner-info/partner-info-personal.vue
new file mode 100644
index 0000000..9835d2c
--- /dev/null
+++ b/sub_pages/partner/partner-info/partner-info-personal.vue
@@ -0,0 +1,328 @@
+<template>
+ <view class="container-page" style="padding: 0rpx;">
+ <view v-if="source==='step'" style="padding: 20rpx 0rpx;color: red;;background-color: #e6e6e6;">
+ <view style="padding: 20rpx;text-align: center;background-color: #fff;">仅限花满芫合伙人入驻</view>
+ </view>
+ <view v-if="source==='step'" class="m-t-20">
+ <u-steps current="0">
+ <u-steps-item title="信息填写" class="u-steps-item" style="font-size: 28rpx;">
+ </u-steps-item>
+ <u-steps-item title="提交申请" class="u-steps-item"></u-steps-item>
+ </u-steps>
+ </view>
+ <view class="p20">
+
+ <view class="form-item before-line m-t-20" @click="uploadIcon('cover')">
+ <view class="label ">头像</view>
+ <view class="m-l-a m-r-0 flex m-b-12">
+ <view class="component-button-upload"></view>
+ </view>
+ </view>
+ <view class="flex p20" style="padding-top: 0rpx;padding-bottom: 10rpx" v-if="dto.cover">
+ <view class="m-t-12 m-r-10">
+ <image class="banner-img" :src="dto.cover" @click.stop="previewImg(dto.cover)"></image>
+ <view class="t-red text-center" @click.stop="dto.cover=''">删除</view>
+ </view>
+ </view>
+
+ <view class="form-item before-line">
+ <view class="label required">联系人姓名</view>
+ <view class="m-l-a m-r-0 flex">
+ <input v-model="dto.name" placeholder="请输入联系人姓名"
+ style="margin-top: 16px;text-align: right;"></input>
+ </view>
+ </view>
+<!-- <view class="form-item before-line">-->
+<!-- <view class="label required">联系方式</view>-->
+<!-- <view class="m-l-a m-r-0 flex">-->
+<!-- <input v-model="dto.contactTel" placeholder="请输入联系方式"-->
+<!-- style="margin-top: 16px;text-align: right;"></input>-->
+<!-- </view>-->
+<!-- </view>-->
+ <view class="button-green-1 m-t-20 button-fixed-bottom before-line " @click="submit">更新</view>
+ </view>
+
+ </view>
+</template>
+
+<script>
+ import environments from '@/environments'
+ import {
+ mapState
+ } from 'vuex'
+
+ export default {
+ data() {
+ return {
+ id: '',
+ refresh: false,
+ source: '',
+ api: '',
+ dto: {
+ idCards: [],
+ address: '',
+ id: '',
+ userId: '',
+ name: '',
+ contactTel: '',
+ province: '',
+ city: '',
+ region: '',
+ cover: '',
+ },
+ requireFields: [
+
+ {
+ name: '联系人姓名',
+ key: 'name'
+ },
+ // {
+ // name: '联系方式',
+ // key: 'contactTel'
+ // },
+
+ ],
+ regionDataPlus: [],
+ show_select_station: false,
+ columns_station: [],
+ }
+ },
+ onLoad(options) {
+
+ if (options.id) {
+ this.id = options.id
+ this.getDetail()
+ } else {
+ //判断是不是来自登录步骤,是等话需要从缓存里面拿信息
+ if (this.source === 'step') {
+ var tjson = this.$storage.getItem('cache_partner_info')
+ if (tjson) {
+ this.dto = {
+ ...this.dto,
+ ...JSON.parse(tjson)
+ }
+ }
+ } else {
+ this.getCurrentInfo()
+ }
+
+ }
+
+ },
+
+ methods: {
+
+ async getCurrentInfo() {
+ this.$message.showLoading()
+ const {
+ code,
+ data
+ } = await this.$http.request('get', "/api/current/partner", {})
+ if (code == 0) {
+ this.dto = {
+ ...data,
+
+ }
+ if (!this.dto.idCards) {
+ this.dto.idCards = []
+ } else if (typeof this.dto.idCards == 'string') {
+ this.dto.idCards = JSON.parse(this.dto.idCards)
+ }
+
+ this.dto.userId = this.currentInfo.id
+
+ }
+
+ this.$message.hideLoading()
+ },
+
+ async submit() {
+ for (var field of this.requireFields) {
+ if (!this.dto[field.key]) {
+ this.$message.showToast(`${field.name}信息未填写`)
+ return
+ }
+ }
+ /*const phoneRegex = /^[1][3-9][0-9]{9}$/;
+ if (!phoneRegex.test(this.dto.contactTel)) {
+ this.$message.showToast('请填写正确联系方式')
+ return
+ }*/
+
+ await this.$message.confirm(`是否确定提交/修改信息`)
+
+ var dto = {
+ ...this.dto,
+ }
+ this.$message.showLoading()
+ const re = await this.$http.request('post', '/api/partner/base/update', {
+ data: dto
+ })
+ this.$message.hideLoading()
+ if (re.code == 2000 || re.code == 0) {
+ this.$message.showToast('操作成功')
+ this.$store.dispatch('getCurrentInfo')
+
+ this.backpage()
+ } else {
+ console.log('error re', re)
+ if (re.code === 30000 && Array.isArray(re.msg)) {
+ this.$message.showToast('字段未填写完整')
+
+ }
+ }
+
+
+ },
+
+ async deleteImg(key, index) {
+ await this.$message.confirm('是否确认删除此图片')
+ if (Array.isArray(this.dto[key])) {
+ this.dto[key].splice(index, 1)
+
+ } else {
+ this.dto[key] = ''
+ }
+ this.$forceUpdate()
+ },
+ uploadIcon(key) {
+ const that = this
+ uni.chooseImage({
+ count: 1, // 最多可以选择的图片张数,默认9
+ sizeType: ['original', 'compressed'], //original 原图,compressed 压缩图,默认二者都有
+ sourceType: ['camera', 'album'], //album 从相册选图,camera 使用相机,默认二者都有。如需直接开相机或直接选相册,请只使用一个选项
+ success: function({
+ errMsg,
+ tempFiles
+ }) {
+ if (errMsg === 'chooseImage:ok') {
+ // console.log(tempFiles[0])
+ if (tempFiles[0].size > 1024 * 1024 * 5) {
+ that.$message.confirm('图片最多支持5M大小,超出大小限制')
+ return
+ }
+ that.$message.showLoading()
+ that.$http.upload(tempFiles[0].path).then(async res => {
+ var pic = res.data && res.data.length > 0 && res.data[
+ 0] || {}
+ that.$message.hideLoading()
+ if (Array.isArray(that.dto[key])) {
+ that.dto[key].push(pic || '')
+
+ } else {
+ that.dto[key] = (pic || {}).url || ''
+ }
+ console.log("that.dto")
+ console.log(that.dto)
+ that.$forceUpdate()
+ }).catch(res => {
+ that.$message.hideLoading()
+
+ })
+ }
+ }
+ })
+ },
+
+ },
+ computed: {
+ ...mapState(['currentInfo'])
+ },
+ components: {}
+ }
+</script>
+
+<style lang="scss" scoped>
+ .banner-img {
+ width: 96rpx;
+ height: 96rpx;
+ border-radius: 4rpx;
+ border: 2rpx dashed #CECECE;
+ }
+
+ .form-item {
+ // padding: 40rpx;
+ border-bottom: 2rpx solid #F3F3F3;
+ display: flex;
+ // height: 100px;
+
+ .label {
+ width: 300rpx;
+ line-height: 60px;
+
+ }
+
+ .flex {
+ line-height: 60px;
+
+ .flex1 {
+ flex: 1;
+ text-align: center;
+ color: var(--selfblue)
+ }
+
+
+ }
+ }
+
+ .form-item.bottom-border-no {
+ border-bottom: none;
+ }
+
+ .container-page {
+ padding: 40rpx;
+ background-color: #FFFFFF;
+ // min-height: calc(100vh - 80rpx);
+ min-height: 100vh;
+ }
+
+ .style {
+ width: fit-content;
+ margin: 0 auto;
+ line-height: 64rpx;
+ border-radius: 8rpx;
+ padding-left: 20rpx;
+ padding-right: 20rpx;
+ // padding-top: 5rpx;
+ // padding-bottom: 5rpx;
+ border: 2rpx solid var(--selfblue);
+ background-color: var(--selfbluebg);
+ min-width: 100rpx;
+ }
+
+
+ .style-1 {
+ border: 1px solid rgb(122, 187, 255);
+ border: 1px solid #409EFF;
+ color: #409EFF;
+ background-color: rgb(240, 247, 255);
+ }
+
+ .style-2 {
+ border: 1px solid rgb(255, 184, 78);
+ border: 1px solid #FE9044;
+ color: #FE9044;
+ background-color: rgb(255, 247, 235);
+ }
+
+ .style-3 {
+ border: 1px solid #19be6b;
+ color: #19be6b;
+ background-color: rgb(231, 244, 238);
+ }
+
+ .style-4 {
+ border: 1px solid #F56c6c;
+ color: #F56c6c;
+ background-color: rgb(254, 243, 243);
+ }
+
+ .reject-reason {
+ word-wrap: break-word;
+ /* 遇到长单词时强制换行 */
+ word-break: break-all;
+ /* 长单词会在任意位置换行 */
+ white-space: normal;
+ /* 允许换行 */
+ }
+</style>
\ No newline at end of file
--
Gitblit v1.9.3