Commit 3a56c096 authored by Zhang Xiaojie's avatar Zhang Xiaojie

Merge remote-tracking branch 'origin/main' into zxj_dev

parents 6c2400f1 9d06fe2d
<template> <template>
<fragment> <fragment>
<div v-if="type==='png'" :class="className" @click="handleClick"> <div v-if="type==='png'" :class="className" @click="handleClick">
<img :src="getImagePath" class="object-cover object-center " > <img :src="getImagePath" class="object-cover object-center" >
</div> </div>
<svg v-else aria-hidden="true" :height="size" :width="size" :fill="color" @click="handleClick"> <svg v-else aria-hidden="true" :height="size" :width="size" :fill="color" @click="handleClick">
<use :xlink:href="'#'+name" ></use> <use :xlink:href="'#'+name" ></use>
......
...@@ -31,6 +31,7 @@ const routes: Array<RouteConfig> = [ ...@@ -31,6 +31,7 @@ const routes: Array<RouteConfig> = [
* 选择部门 /select-team * 选择部门 /select-team
* 搜索团队 /search-team * 搜索团队 /search-team
* 加入团队 /join-team * 加入团队 /join-team
* 完善团队信息 /team-info
* *
*/ */
{ {
...@@ -73,7 +74,7 @@ const routes: Array<RouteConfig> = [ ...@@ -73,7 +74,7 @@ const routes: Array<RouteConfig> = [
{ {
path: '/team-create', path: '/team-create',
name: 'TeamCreate', name: 'TeamCreate',
component: () => import('@/views/team-create.vue'), component: () => import('@/views/create-team/team-create.vue'),
meta: { meta: {
title: '创建团队' title: '创建团队'
} }
...@@ -81,7 +82,7 @@ const routes: Array<RouteConfig> = [ ...@@ -81,7 +82,7 @@ const routes: Array<RouteConfig> = [
{ {
path: '/team-QRcode', path: '/team-QRcode',
name: 'TeamQRcode', name: 'TeamQRcode',
component: () => import('@/views/team-QRcode.vue'), component: () => import('@/views/create-team/team-QRcode.vue'),
meta: { meta: {
title: '团队二维码' title: '团队二维码'
} }
...@@ -170,6 +171,38 @@ const routes: Array<RouteConfig> = [ ...@@ -170,6 +171,38 @@ const routes: Array<RouteConfig> = [
meta:{ meta:{
title:'加入团队' title:'加入团队'
} }
},
{
path: '/team-info',
name: 'TeamInfo',
component: () => import('@/views/team-info/team-info.vue'),
meta:{
title:'完善团队信息'
}
},
{
path: '/team-name',
name: 'TeamName',
component: () => import('@/views/team-info/team-name.vue'),
meta:{
title:'团队名称'
}
},
{
path: '/team-description',
name: 'TeamDescription',
component: () => import('@/views/team-info/team-description.vue'),
meta:{
title:'团队描述'
}
},
{
path: '/team-avator',
name: 'TeamAvator',
component: () => import('@/views/team-info/team-avator.vue'),
meta:{
title:'团队头像'
}
} }
] ]
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
> >
<div v-if="checkIfEmpty(label)" class="text-sm text-text-secondary py-2">{{ label }}</div> <div v-if="checkIfEmpty(label)" class="text-sm text-text-secondary py-2">{{ label }}</div>
<div class="flex py-3 items-center justify-between"> <div class="flex py-3 items-center justify-between">
<slot name="icon" /> <slot name="head" />
<div class="flex items-center justify-between flex-1"> <div class="flex items-center justify-between flex-1">
<div class="title text-text-primary flex-shrink-0 mr-4">{{ title }}</div> <div class="title text-text-primary flex-shrink-0 mr-4">{{ title }}</div>
<!-- 输入框 --> <!-- 输入框 -->
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
<div v-if="checkIfEmpty(content)" class="flex-1 text-text-secondary text-sm text-right">{{ content }}</div> <div v-if="checkIfEmpty(content)" class="flex-1 text-text-secondary text-sm text-right">{{ content }}</div>
</template> </template>
</div> </div>
<slot name="right" />
<app-icon <app-icon
v-if="dot" v-if="dot"
type="png" type="png"
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
<div class="flex-1"> <div class="flex-1">
<div class="flex items-center"> <div class="flex items-center">
<input <input
v-if="type !== 'textarea'"
:type="type" :type="type"
:value="value" :value="value"
class="w-full text-text-primary flex-1" class="w-full text-text-primary flex-1"
...@@ -20,6 +21,14 @@ ...@@ -20,6 +21,14 @@
@input="handleInput" @input="handleInput"
@blur="handleChange" @blur="handleChange"
> >
<textarea
v-else
:value="value"
:placeholder="placeholder"
class="w-full break-all"
@input="handleInput"
@blur="handleChange"
/>
<div class="flex-shrink-0"> <div class="flex-shrink-0">
<slot name="action" /> <slot name="action" />
</div> </div>
...@@ -82,7 +91,7 @@ export default Vue.extend({ ...@@ -82,7 +91,7 @@ export default Vue.extend({
} }
}, },
created() { created() {
this.length = this.value.length || 0 this.length = this.value?.length || 0
}, },
methods: { methods: {
checkIfEmpty(string: string) { checkIfEmpty(string: string) {
......
...@@ -9,8 +9,8 @@ ...@@ -9,8 +9,8 @@
<div class="qrcode mt-2 mb-9 relative w-75 h-113.5 mx-auto"> <div class="qrcode mt-2 mb-9 relative w-75 h-113.5 mx-auto">
<p class=" text-white absolute top-24 text-base left-0 right-0 mx-auto text-center">这里是团队名称</p> <p class=" text-white absolute top-24 text-base left-0 right-0 mx-auto text-center">这里是团队名称</p>
<p class=" text-white absolute top-32 text-sm left-0 right-0 mx-auto text-center">团队号:ABCDE1234</p> <p class=" text-white absolute top-32 text-sm left-0 right-0 mx-auto text-center">团队号:ABCDE1234</p>
<img src="../assets/qrbackground.png" alt="" class="" ref="wrapper" > <img src="@/assets/qrbackground.png" alt="" class="" ref="wrapper" >
<img src="../assets/qrcode.png" alt="" srcset="" class=" absolute w-32 top-44 left-0 right-0 mx-auto "> <img src="@/assets/qrcode.png" alt="" srcset="" class=" absolute w-32 top-44 left-0 right-0 mx-auto ">
<p class=" text-white absolute top-82 left-0 right-0 mx-auto text-center text-sm"> 扫描二维码加入我们Chat33的团队</p> <p class=" text-white absolute top-82 left-0 right-0 mx-auto text-center text-sm"> 扫描二维码加入我们Chat33的团队</p>
</div> </div>
<div class="mx-4 pb-6"> <div class="mx-4 pb-6">
...@@ -30,7 +30,7 @@ export default Vue.extend({ ...@@ -30,7 +30,7 @@ export default Vue.extend({
name:'teamQRcode', name:'teamQRcode',
components:{ components:{
'main-page': () => import('@/layout/main-page.vue'), 'main-page': () => import('@/layout/main-page.vue'),
'c-button': () => import('./components/c-button.vue') 'c-button': () => import('../components/c-button.vue')
}, },
methods: { methods: {
handleClickLeft() { handleClickLeft() {
......
...@@ -40,8 +40,8 @@ export default Vue.extend({ ...@@ -40,8 +40,8 @@ export default Vue.extend({
name:'createteam', name:'createteam',
components:{ components:{
'main-page': () => import('@/layout/main-page.vue'), 'main-page': () => import('@/layout/main-page.vue'),
'input-cell': () => import('./components/input-cell.vue'), 'input-cell': () => import('../components/input-cell.vue'),
'c-button': () => import('./components/c-button.vue') 'c-button': () => import('../components/c-button.vue')
}, },
data(){ data(){
return{ return{
......
<template>
<!-- 团队头像 -->
<main-page header-bg="bg-transparent" title-color="text-white">
<template slot="left">
<app-icon
type="png"
class-name="w-6.5 w-6.5"
:path="require('@/assets/icons/left-arrow-white.png')"
@click="$router.go(-1)"
/>
</template>
<!-- 顶部右侧插槽 -->
<template slot="right">
<app-icon
type="png"
class-name="h-1 w-5"
:path="require('@/assets/icons/dot-h.png')"
@click="show=true"
/>
</template>
<div class="px-4 pt-14 border h-screen bg-black">
<van-uploader :after-read="afterRead">
<div class="wrapper rounded-full overflow-hidden mx-auto mt-12 bg-gray-100 flex items-center justify-center">
<img :src="getImageUrl" alt="">
<!-- {{ file.name }} -->
</div>
</van-uploader>
<van-action-sheet
v-model="show"
cancel-text="取消"
:actions="actions"
@select="onSelect"
/>
<!-- <van-uploader :after-read="afterRead" /> -->
</div>
<!-- <div class="fixed bottom-0 left-0 w-full px-4 py-2">
<c-button round @click="$router.go(-1)">确定</c-button>
</div> -->
</main-page>
</template>
<script lang="ts">
import Vue from 'vue'
import { ActionSheet, Uploader } from 'vant'
Vue.use(ActionSheet).use(Uploader)
export default Vue.extend({
components:{
'app-icon':()=>import('@/components/common/Icon.vue'),
'main-page': () => import('@/layout/main-page.vue'),
// 'input-cell': () => import('../components/input-cell.vue'),
// 'c-button': () => import('../components/c-button.vue')
},
name: 'TeamAvator',
data() {
return {
show: false,
actions: [
{ name: '拍照' },
{ name: '从手机相册选择' },
],
file: ''
}
},
computed: {
getImageUrl(): string {
if (this.file) {
return (this.file as any).content
} else {
return require('@/assets/images/33.png')
}
}
},
methods: {
onSelect(item: any) {
this.show = false
console.log(item, 'item')
// console.log(this.$refs.xxx, 'xxx')
console.log((document.getElementsByClassName('van-uploader__input')[0] as HTMLInputElement).click(), 'zzzz')
},
afterRead(file: any) {
this.file = file
}
}
})
</script>
<style lang="less" scoped>
.wrapper {
height: 80vw;
width: 80vw;
}
/deep/ .van-uploader {
width: 100%;
&__wrapper {
justify-content: center !important;
}
}
</style>
<template>
<!-- 团队描述 -->
<main-page
left-arrow
@click-left="$router.go(-1)"
>
<div class="px-4 pt-14">
<input-cell
type="textarea"
v-model="name"
label="企业/组织/团队描述"
placeholder="请输入团队描述"
/>
</div>
<div class="fixed bottom-0 left-0 w-full px-4 py-2">
<c-button round @click="$router.go(-1)">确定</c-button>
</div>
</main-page>
</template>
<script lang="ts">
import Vue from 'vue'
export default Vue.extend({
components:{
// 'app-icon':()=>import('@/components/common/Icon.vue'),
'main-page': () => import('@/layout/main-page.vue'),
'input-cell': () => import('../components/input-cell.vue'),
'c-button': () => import('../components/c-button.vue')
},
name: 'TeamDescription',
data() {
return {
name: '团队描述'
}
},
methods: {}
})
</script>
<style lang="less">
</style>
<template>
<!-- 完善团队信息 -->
<main-page
left-arrow
@click-left="$router.go(-1)"
>
<div class="px-4 pt-14">
<c-cell
dot
title="团队头像"
@click="$router.push('/team-avator')"
>
<template slot="right">
<div class="w-7 h-7 rounded overflow-hidden flex items-center justify-center">
<img class="max-w-full" src="@/assets/images/33.png" alt="">
</div>
</template>
</c-cell>
<c-cell
dot
title="团队名称"
content="杭州复杂美科技有限公司"
@click="$router.push('/team-name')"
/>
<c-cell dot title="团队描述" @click="$router.push('/team-description')" />
</div>
</main-page>
</template>
<script lang="ts">
import Vue from 'vue'
export default Vue.extend({
components:{
// 'app-icon':()=>import('@/components/common/Icon.vue'),
'main-page': () => import('@/layout/main-page.vue'),
'c-cell': () => import('../components/c-cell.vue')
},
name: 'TeamInfo',
data() {
return {}
},
methods: {}
})
</script>
<style lang="less">
</style>
<template>
<!-- 团队名称 -->
<main-page
left-arrow
@click-left="$router.go(-1)"
>
<div class="px-4 pt-14">
<input-cell
v-model="name"
label="企业/组织/团队名称"
:limit="20"
/>
</div>
<div class="fixed bottom-0 left-0 w-full px-4 py-2">
<c-button round @click="$router.go(-1)">确定</c-button>
</div>
</main-page>
</template>
<script lang="ts">
import Vue from 'vue'
export default Vue.extend({
components:{
// 'app-icon':()=>import('@/components/common/Icon.vue'),
'main-page': () => import('@/layout/main-page.vue'),
'input-cell': () => import('../components/input-cell.vue'),
'c-button': () => import('../components/c-button.vue')
},
name: 'TeamName',
data() {
return {
name: '杭州复杂美科技有限公司'
}
},
methods: {}
})
</script>
<style lang="less">
</style>
...@@ -11,13 +11,14 @@ ...@@ -11,13 +11,14 @@
/> />
<!-- 名称 --> <!-- 名称 -->
<div class="ml-4 flex-1 text-text-primary"> <div class="ml-4 flex-1 text-text-primary">
<span> <span class="break-all">
这里是企业名称只有负责人可编辑修改修改 {{ teamName }}
</span> </span>
<app-icon <app-icon
type="png" type="png"
:path="require('@/assets/icons/edit.png')" :path="require('@/assets/icons/edit.png')"
class-name="h-3 w-3 inline-block ml-1" class-name="h-3 w-3 inline-block ml-1"
@click="editTeamName"
/> />
<!-- 团队号 --> <!-- 团队号 -->
<div class="text-text-secondary text-sm font-medium mt-1.5"> <div class="text-text-secondary text-sm font-medium mt-1.5">
...@@ -51,10 +52,16 @@ export default Vue.extend({ ...@@ -51,10 +52,16 @@ export default Vue.extend({
'c-button': () => import('./components/c-button.vue') 'c-button': () => import('./components/c-button.vue')
}, },
name: 'TeamManagement', name: 'TeamManagement',
data() {
return {
teamName: '企业名称',
}
},
methods: { methods: {
// handleClickLeft() { editTeamName() {
// console.log('click') console.log('edit')
// } this.$router.push('/team-info')
},
transferManagement() { transferManagement() {
this.$router.push({ this.$router.push({
path: '/team-frame', path: '/team-frame',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment