提交 2a7f519c 作者: wk

登录接口接入 我的积分

父级 3d346c87
...@@ -18,6 +18,56 @@ ...@@ -18,6 +18,56 @@
background-color: #F5F5F5; background-color: #F5F5F5;
} }
.text-grey {
font-size: 28rpx;
color: #999999;
}
.normal-text-grey {
font-size: 32rpx;
color: #999999;
}
.text-grey-black {
font-size: 28rpx;
color: #666666;
}
.text-grey-black-normal {
font-size: 32rpx;
color: #666666;
}
.text-black {
font-size: 28rpx;
color: #333333;
}
.text-blue {
font-size: 28rpx;
color: #3B73FE;
}
.text-blue-normal {
font-size: 32rpx;
color: #3B73FE;
}
.text-blue-big {
font-size: 48rpx;
color: #3B73FE;
}
.text-black-normal {
font-size: 32rpx;
color: #333333;
}
.star {
font-size: 32rpx;
color: #FF4D4F;
}
.uni-blue-button { .uni-blue-button {
height: 96rpx; height: 96rpx;
display: flex; display: flex;
......
...@@ -4,6 +4,11 @@ import { ...@@ -4,6 +4,11 @@ import {
const params = { const params = {
/* 公共中心接口 */ /* 公共中心接口 */
//获取key
getKey: {
url: "/api/v1/access/access_system/get_key",
method: "post"
},
checkBind: { checkBind: {
url: "/api/v1/system/p_user_third/check_bind_by_unique_token", url: "/api/v1/system/p_user_third/check_bind_by_unique_token",
method: "post" method: "post"
...@@ -18,16 +23,41 @@ const params = { ...@@ -18,16 +23,41 @@ const params = {
url: "/api/v1/system/p_user_third/get_wx_mini_program_openid", url: "/api/v1/system/p_user_third/get_wx_mini_program_openid",
method: "post" method: "post"
}, },
// 注册
register: {
url: "/api/v1/access/login/user_register",
method: "post"
},
//登录
login: {
url: "/api/v1/access/login/do_login",
method: "post"
},
//获取标准码
getCodeList: {
url: "/api/v1/config/code/get_codes_list",
method: "post"
},
//获取省市区
getAreaList: {
url: "/api/v1/base/area/get_area_box_list",
method: "post"
},
/* 防疫模块*/ /* 防疫模块*/
// 获取上一次填报记录 // 获取上一次填报记录
getBeforeRecord: { getBeforeRecord: {
url: "/api/v1/common_check/pass_code_record/detail", url: "/score/api/v1/common_check/pass_code_record/detail",
method: "get" method: "get"
}, },
saveRecord: { saveRecord: {
url: "/api/v1/common_check/pass_code_record/save", url: "/score/api/v1/common_check/pass_code_record/save",
method: "post" method: "post"
}, },
//获取记录列表
getRecordList: {
url: "/score/api/v1/common_check/pass_code_record/list",
method: "get"
},
/* 加入组织 */ /* 加入组织 */
// 根据二维码获取单位信息 // 根据二维码获取单位信息
getInfoByCode: { getInfoByCode: {
...@@ -43,7 +73,46 @@ const params = { ...@@ -43,7 +73,46 @@ const params = {
scanToJoin: { scanToJoin: {
url: "/api/v2/org/o_org_v2/join_org", url: "/api/v2/org/o_org_v2/join_org",
method: "post" method: "post"
} },
//创建部门
createProject: {
url: "/api/v2/org/o_dept_v2/create_dept",
method: "post"
},
//根据邀请码获取部门
getDeptByCode: {
url: "/api/v2/org/o_org_v2/get_dept_list_by_code",
method: "get"
},
//根据部门id获取岗位
getJobById: {
url: "/api/v2/org/o_job_v2/get_job_list_by_dept_id",
method: "get"
},
wxToLogin: {
url: "/ydt/api/v1/access/user_third/temp_login",
method: "post"
},
// 我的积分
getUserScore: {
url: '/score/api/v1/labour/worker_info',
method: 'get'
},
// 兑换列表
getGoodsList: {
url: '/score/web/v1/integral/shop_mall_list',
method: 'get'
},
// 兑换
exchangeGood: {
url: '/score/api/v1/labour/exchange_goods',
method: 'post'
},
// 兑换记录
getExchangeList: {
url: '/score/api/v1/labour/change_info_records',
method: 'get'
},
} }
export default buildParam(params) export default buildParam(params)
let base = "https://test-console-api.hzdingmao.com" // let base = "https://test-console-api.hzdingmao.com"
// let base = "https://dev-console-api.hzdingmao.com" let base = "https://dev-console-api.hzdingmao.com"
// let base="https://console-api.hibuilding.cn" // let base="https://console-api.hibuilding.cn"
const http = (params) => { const http = (params) => {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
// 图片圆角 // 图片圆角
imgRadius: { imgRadius: {
type: Number, type: Number,
default: 0 default: 15
}, },
// 图片阴影 // 图片阴影
imgShadow: { imgShadow: {
...@@ -74,7 +74,7 @@ ...@@ -74,7 +74,7 @@
// 播放时间间隔 // 播放时间间隔
interval: { interval: {
type: Number, type: Number,
default: 2000 default: 3000
}, },
// 滑动速度 // 滑动速度
duration: { duration: {
...@@ -127,7 +127,13 @@ ...@@ -127,7 +127,13 @@
<style lang="scss" scoped> <style lang="scss" scoped>
.wrap { .wrap {
position: relative; position: relative;
background-color: #04A097; border-radius: 30rpx;
margin: 140rpx 30rpx 0 30rpx;
background-color: #3B73FE;
.swiper {
border-radius: 30rpx;
}
.crown { .crown {
transform: scale(0.93, 0.85); transform: scale(0.93, 0.85);
...@@ -136,17 +142,20 @@ ...@@ -136,17 +142,20 @@
.item { .item {
height: 100%; height: 100%;
transition: 1.2s; transition: 1.2s;
border-radius: 30rpx;
} }
.item-img { .item-img {
width: 100%; width: 100%;
height: 100%; height: 100%;
border-radius: 30rpx;
} }
.imgShadow { .imgShadow {
height: calc(100% - 10px); height: calc(100% - 10px);
margin-bottom: 10px; margin-bottom: 10px;
box-shadow: 0 6px 6px rgba(0, 0, 0, .15); box-shadow: 0 6px 6px rgba(0, 0, 0, .15);
border-radius: 30rpx;
} }
.crown-active { .crown-active {
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<view class="navbar-v-navbar" :style="{width:screenWidth+'px',height:titlebarHeight+'px'}"> <view class="navbar-v-navbar" :style="{width:screenWidth+'px',height:titlebarHeight+'px'}">
<view class="navbar-v-content"> <view class="navbar-v-content">
<view class="navbar-v-back" v-if="showBack" @click="finish"> <view class="navbar-v-back" v-if="showBack" @click="finish">
<image src="../../static/ic_arrow_back.png" style="width: 24px;height: 24px;"></image> <image src="../../static/ic-back.png" style="width: 24px;height: 24px;"></image>
</view> </view>
<view class="navbar-v-title">{{title}}</view> <view class="navbar-v-title">{{title}}</view>
</view> </view>
......
...@@ -7,9 +7,6 @@ ...@@ -7,9 +7,6 @@
<view class="navbar-v-back" v-if="showBack" @click="finish"> <view class="navbar-v-back" v-if="showBack" @click="finish">
<image src="../../static/ic-back.png" style="width: 24px;height: 24px;"></image> <image src="../../static/ic-back.png" style="width: 24px;height: 24px;"></image>
</view> </view>
<!-- <view class="navbar-v-back" @click="back">
<image src="../../static/icon_model.png" style="width: 24px;height: 24px;"></image>
</view> -->
<view class="navbar-v-title">{{title}}</view> <view class="navbar-v-title">{{title}}</view>
</view> </view>
</view> </view>
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
tabList: [{ tabList: [{
id: 0, id: 0,
path: "/pages/index/index", path: "/pages/index/index",
icon: "/static/home-sel.png", icon: "/static/home-unsel.png",
selectIcon: "/static/home-sel.png", selectIcon: "/static/home-sel.png",
text: "首页", text: "首页",
centerItem: false centerItem: false
......
...@@ -10,21 +10,24 @@ ...@@ -10,21 +10,24 @@
"path": "pages/login/wxLogin/wxLogin", "path": "pages/login/wxLogin/wxLogin",
"style": { "style": {
"navigationBarTitleText": "", "navigationBarTitleText": "",
"enablePullDownRefresh": false "enablePullDownRefresh": false,
"navigationStyle": "custom"
} }
}, { }, {
"path": "pages/login/register/register", "path": "pages/login/register/register",
"style": { "style": {
"navigationBarTitleText": "", "navigationBarTitleText": "",
"enablePullDownRefresh": false "enablePullDownRefresh": false,
"navigationStyle": "custom"
} }
}, { }, {
"path": "pages/login/login/login", "path": "pages/login/login/login",
"style": { "style": {
"navigationBarTitleText": "", "navigationBarTitleText": "",
"enablePullDownRefresh": false "enablePullDownRefresh": false,
"navigationStyle": "custom"
} }
}, { }, {
...@@ -106,11 +109,33 @@ ...@@ -106,11 +109,33 @@
"navigationStyle": "custom" "navigationStyle": "custom"
} }
}, {
"path": "pages/login/bindLogin/bindLogin",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"navigationStyle": "custom"
} }
,{
"path" : "pages/login/bindLogin/bindLogin", }, {
"style" : "path": "pages/login/userInfo/userInfo",
{ "style": {
"navigationBarTitleText": "授权信息",
"enablePullDownRefresh": false,
"navigationStyle": "custom"
}
}, {
"path": "pages/login/joinDepartment/joinDepartment",
"style": {
"navigationBarTitleText": "加入部门",
"enablePullDownRefresh": false,
"navigationStyle": "custom"
}
}, {
"path": "pages/mine/myScore/myScore",
"style": {
"navigationBarTitleText": "", "navigationBarTitleText": "",
"enablePullDownRefresh": false, "enablePullDownRefresh": false,
"navigationStyle": "custom" "navigationStyle": "custom"
...@@ -118,21 +143,22 @@ ...@@ -118,21 +143,22 @@
} }
,{ ,{
"path" : "pages/login/userInfo/userInfo", "path" : "pages/login/createProject/createProject",
"style" : "style" :
{ {
"navigationBarTitleText": "授权信息", "navigationBarTitleText": "创建项目",
"enablePullDownRefresh": false, "enablePullDownRefresh": false,
"navigationStyle": "custom" "navigationStyle": "custom"
} }
} }
,{ ,{
"path" : "pages/login/joinDepartment/joinDepartment", "path" : "pages/mine/historyScore/historyScore",
"style" : "style" :
{ {
"navigationBarTitleText": "加入部门", "navigationBarTitleText": "",
"enablePullDownRefresh": false "enablePullDownRefresh": false,
"navigationStyle": "custom"
} }
} }
......
<template> <template>
<view class="content"> <view class="content">
<navbar title="工地通行码"></navbar> <titleBar title="工地通行码"></titleBar>
<view class="qrcode-content" v-if="isCodeShow"> <view class="qrcode-content" v-if="isCodeShow">
<view class="title">{{inOut==''?'':'已提交'}}</view> <view class="title">{{inOut==''?'':'已提交'}}</view>
<tki-qrcode ref="qrcode" cid="code" :val="text" size="300" background="#FFFFFF" foreground="#000000" <tki-qrcode ref="qrcode" cid="code" :val="text" size="300" background="#FFFFFF" foreground="#000000"
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
</template> </template>
<script> <script>
import Api from "../../api/api.js"
import tkiQrcode from '@/components/tki-qrcode/tki-qrcode.vue' import tkiQrcode from '@/components/tki-qrcode/tki-qrcode.vue'
export default { export default {
components: { components: {
...@@ -104,7 +105,7 @@ ...@@ -104,7 +105,7 @@
}) })
}, },
getBeforeRecord() { getBeforeRecord() {
this.$api.getBeforeRecord().then((res) => { Api.getBeforeRecord().then((res) => {
let result = res.data let result = res.data
console.log("记录详情", result); console.log("记录详情", result);
if (result.code == 0) { if (result.code == 0) {
......
<template> <template>
<view class="content"> <view class="content">
<navbar title="填写"></navbar> <titleBar title="填写"></titleBar>
<view class="info-title" @click="handleInfoShow">个人基本信息</view> <view class="info-title" @click="handleInfoShow">个人基本信息</view>
<view class="item-content" v-if="isInfoShow"> <view class="item-content" v-if="isInfoShow">
<view class="title"> <view class="title">
...@@ -112,7 +112,7 @@ ...@@ -112,7 +112,7 @@
<picker class="sel-picker" :range="nucleicAcidRes" range-key="name" @change="nucleicAcidResChange"> <picker class="sel-picker" :range="nucleicAcidRes" range-key="name" @change="nucleicAcidResChange">
<view class="sel-arrow"> <view class="sel-arrow">
<text class="text">{{nucleic_acid_res.name||""}}</text> <text class="text">{{nucleic_acid_res.name||""}}</text>
<image src="../../static/right-arrow-ic.png" class="image"></image> <image src="../../../static/right-arrow-ic.png" class="image"></image>
</view> </view>
</picker> </picker>
</view> </view>
...@@ -153,7 +153,7 @@ ...@@ -153,7 +153,7 @@
<picker class="sel-picker" :range="personType" range-key="name" @change="personTypeChange"> <picker class="sel-picker" :range="personType" range-key="name" @change="personTypeChange">
<view class="sel-arrow"> <view class="sel-arrow">
<text class="text">{{person_type.name||""}}</text> <text class="text">{{person_type.name||""}}</text>
<image src="../../static/right-arrow-ic.png" class="image"></image> <image src="../../../static/right-arrow-ic.png" class="image"></image>
</view> </view>
</picker> </picker>
</view> </view>
...@@ -230,6 +230,7 @@ ...@@ -230,6 +230,7 @@
</template> </template>
<script> <script>
import Api from "../../../api/api.js"
export default { export default {
data() { data() {
return { return {
...@@ -411,13 +412,9 @@ ...@@ -411,13 +412,9 @@
this.person_type = this.personType[parseInt(e.detail.value)] this.person_type = this.personType[parseInt(e.detail.value)]
}, },
getNucleicAcidResCodes() { getNucleicAcidResCodes() {
this.$http.consolePost({ Api.getCodeList({
url: "/api/v1/config/code/get_codes_list",
data: { data: {
"code_type": "nucleicAcidRes" "code_type": "nucleicAcidRes"
},
header: {
"access_token": this.getToken(),
} }
}).then((res) => { }).then((res) => {
let result = res.data let result = res.data
...@@ -428,13 +425,9 @@ ...@@ -428,13 +425,9 @@
}) })
}, },
getVaccinationStatusCodes() { getVaccinationStatusCodes() {
this.$http.consolePost({ Api.getCodeList({
url: "/api/v1/config/code/get_codes_list",
data: { data: {
"code_type": "vaccinationStatus" "code_type": "vaccinationStatus"
},
header: {
"access_token": this.getToken(),
} }
}).then((res) => { }).then((res) => {
let result = res.data let result = res.data
...@@ -443,15 +436,12 @@ ...@@ -443,15 +436,12 @@
this.vaccinationStatus = result.data[0].sub_data this.vaccinationStatus = result.data[0].sub_data
} }
}) })
}, },
getPersonTypeCodes() { getPersonTypeCodes() {
this.$http.consolePost({ Api.getCodeList({
url: "/api/v1/config/code/get_codes_list",
data: { data: {
"code_type": "personType" "code_type": "personType"
},
header: {
"access_token": this.getToken(),
} }
}).then((res) => { }).then((res) => {
let result = res.data let result = res.data
...@@ -510,14 +500,10 @@ ...@@ -510,14 +500,10 @@
}) })
}, },
getProvince() { getProvince() {
this.$http.consolePost({ Api.getAreaList({
url: "/api/v1/base/area/get_area_box_list",
data: { data: {
area_type: 1 area_type: 1
}, },
header: {
"access_token": this.getToken(),
}
}).then((res) => { }).then((res) => {
let result = res.data let result = res.data
console.log("所有省份", result); console.log("所有省份", result);
...@@ -527,15 +513,11 @@ ...@@ -527,15 +513,11 @@
}) })
}, },
getCity(province_no) { getCity(province_no) {
this.$http.consolePost({ Api.getAreaList({
url: "/api/v1/base/area/get_area_box_list",
data: { data: {
area_type: 2, area_type: 2,
province_no: province_no province_no: province_no
}, },
header: {
"access_token": this.getToken(),
}
}).then((res) => { }).then((res) => {
let result = res.data let result = res.data
console.log("城市列表", result); console.log("城市列表", result);
...@@ -545,15 +527,11 @@ ...@@ -545,15 +527,11 @@
}) })
}, },
getArea(city_no) { getArea(city_no) {
this.$http.consolePost({ Api.getAreaList({
url: "/api/v1/base/area/get_area_box_list",
data: { data: {
area_type: 3, area_type: 3,
city_no: city_no city_no: city_no
}, },
header: {
"access_token": this.getToken(),
}
}).then((res) => { }).then((res) => {
let result = res.data let result = res.data
console.log("城区列表", result); console.log("城区列表", result);
...@@ -563,15 +541,11 @@ ...@@ -563,15 +541,11 @@
}) })
}, },
getStreet(area_no) { getStreet(area_no) {
this.$http.consolePost({ Api.getAreaList({
url: "/api/v1/base/area/get_area_box_list",
data: { data: {
area_type: 4, area_type: 4,
area_no: area_no area_no: area_no
}, },
header: {
"access_token": this.getToken(),
}
}).then((res) => { }).then((res) => {
let result = res.data let result = res.data
console.log("街道列表", result); console.log("街道列表", result);
...@@ -579,6 +553,7 @@ ...@@ -579,6 +553,7 @@
this.streetList = result.data this.streetList = result.data
} }
}) })
}, },
handleInfoShow() { handleInfoShow() {
this.isInfoShow = !this.isInfoShow this.isInfoShow = !this.isInfoShow
...@@ -673,7 +648,7 @@ ...@@ -673,7 +648,7 @@
this.$toast.showToast("请完善" + newPass[0].pass_date + "经过区域") this.$toast.showToast("请完善" + newPass[0].pass_date + "经过区域")
return return
} }
this.$api.saveRecord({ Api.saveRecord({
data: { data: {
user_name: this.name, user_name: this.name,
gender: this.sex, gender: this.sex,
...@@ -714,12 +689,7 @@ ...@@ -714,12 +689,7 @@
}) })
}, },
getBeforeRecord() { getBeforeRecord() {
this.$http.get({ Api.getBeforeRecord().then((res) => {
url: "/api/v1/common_check/pass_code_record/detail",
header: {
"access_token": this.getToken(),
}
}).then((res) => {
let result = res.data let result = res.data
console.log("记录详情", result); console.log("记录详情", result);
if (result.code == 0) { if (result.code == 0) {
......
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
</template> </template>
<script> <script>
import Api from "../../../api/api.js"
export default { export default {
data() { data() {
return { return {
...@@ -71,15 +72,11 @@ ...@@ -71,15 +72,11 @@
}) })
}, },
getRecordList() { getRecordList() {
this.$http.get({ Api.getRecordList({
url: "/api/v1/common_check/pass_code_record/list",
data: { data: {
is_page: 1, is_page: 1,
page: this.page, page: this.page,
page_size: 20 page_size: 20
},
header: {
access_token: this.getToken()
} }
}).then((res) => { }).then((res) => {
let result = res.data let result = res.data
......
...@@ -6,53 +6,57 @@ ...@@ -6,53 +6,57 @@
<!-- 天气 --> <!-- 天气 -->
<view class="weather-content" :style="{top:statusBarHeight+36+'px'}"> <view class="weather-content" :style="{top:statusBarHeight+36+'px'}">
<view class="temp-content"> <view class="temp-content">
<view class="temp">25.6</view> <view class="temp">12</view>
<view class="weather">多云转晴</view> <view class="weather">多云转晴</view>
</view> </view>
<view class="line"></view> <view class="line"></view>
<view class="login-info-content"> <view class="login-info-content">
<view class="login-info">XXXX,欢迎登陆</view> <view class="login-info">你好,欢迎登录</view>
<view class="address-content"> <view class="address-content">
<image src="../../static/loc.png" class="loc-image"></image> <image src="../../static/loc.png" class="loc-image"></image>
<view class="address">浙江省杭州市西湖区</view> <view class="address">浙江省杭州市西湖区</view>
</view> </view>
</view> </view>
</view> </view>
<view class="banner-content" :style="{top:statusBarHeight+116+'px'}"> <!-- <view class="banner-content" :style="{top:statusBarHeight+116+'px'}"> -->
<ls-swiper :list="banners" imgKey="url" :loop="true" :dots='true' :autoplay='true' height='142' <ls-swiper :list="banners" imgKey="url" :loop="true" :dots='true' :autoplay='true' height='142'
@clickItem="clickItem()" /> @clickItem="clickItem()" />
</view> <!-- </view> -->
</view> </view>
<!-- 工地头条 --> <!-- 工地头条 -->
<view class="top-new-content"> <view class=" top-new-content">
<image src="../../static/notice.png" class="image"></image> <image src="../../static/notice.png" class="image"></image>
<view class="title">工地头条</view> <view class="title">工地头条</view>
<view class="new-content">关于食堂发放免费午餐的人员名单关于食堂发放免费午餐的人员名单</view> <swiper circular="true" :autoplay="true" class="swiper" :vertical="true">
<swiper-item v-for="(item,index) in news" :key="index" class="item">
<view class="new-content">{{item}}</view>
</swiper-item>
</swiper>
<image src="../../static/right-arrow.png" class="right-arrow"></image> <image src="../../static/right-arrow.png" class="right-arrow"></image>
</view> </view>
<!-- 常用应用 --> <!-- 常用应用 -->
<view class="bus-content"> <view class="bus-content">
<view class="tab-content"> <view class="tab-content">
<view class="tab-item"> <view class="tab-item" @click="select(0)">
<view :class="isCommonSel?'tab-text-sel':'tab-text'">常用业务</view> <view :class="isCommonSel?'tab-text-sel':'tab-text'">常用业务</view>
<view class="tab-line" v-if="isCommonSel"></view> <view :class="isCommonSel?'tab-line-sel':'tab-line'"></view>
</view> </view>
<view class="tab-item"> <view class="tab-item" @click="select(1)">
<view :class="isRecentlySel?'tab-text-sel':'tab-text'">最进访问业务</view> <view :class="isRecentlySel?'tab-text-sel':'tab-text'">最进访问业务</view>
<view class="tab-line" v-if="isRecentlySel"></view> <view :class="isRecentlySel?'tab-line-sel':'tab-line'"></view>
</view> </view>
</view> </view>
<uni-grid column="2"> <uni-grid column="2" v-if="isOrg">
<uni-grid-item v-for="(app,index) in appList" :key="index"> <uni-grid-item v-for="(app,index) in appList" :key="index">
<view class="app-item"> <view class="app-item" @click="toLink(app)">
<view :class="isLineVisil(index)?'app-name-left':'app-name-right'">积分商城</view> <view :class="isLineVisil(index)?'app-name-left':'app-name-right'">积分商城</view>
<image class="app-logo" src="../../static/logo.png"></image> <image class="app-logo" src="../../static/ic-score-logo.png"></image>
<view class="line" v-if="isLineVisil(index)"></view> <view class="line" v-if="isLineVisil(index)"></view>
</view> </view>
</uni-grid-item> </uni-grid-item>
</uni-grid> </uni-grid>
<!-- 无组织默认 --> <!-- 无组织默认 -->
<view class="def-content"> <view class="def-content" v-if="!isOrg">
<image src="../../static/def-avatar.png" class="image"></image> <image src="../../static/def-avatar.png" class="image"></image>
<view class="text-content"> <view class="text-content">
<text class="text">当前身份为访客,可点击</text> <text class="text">当前身份为访客,可点击</text>
...@@ -104,13 +108,19 @@ ...@@ -104,13 +108,19 @@
export default { export default {
data() { data() {
return { return {
title: '欢迎XXX访问一点通', title: '欢迎您访问一点通',
banners: [], banners: [{
"url": "../../static/banner.png"
}, {
"url": "https://img.redocn.com/sheying/20150804/gongdi_4770950.jpg"
}],
statusBarHeight: 20, statusBarHeight: 20,
isCommonSel: true, isCommonSel: true,
isRecentlySel: false, isRecentlySel: false,
appList: [{}, {}], appList: [{}],
shopList: [{}, {}, {}] shopList: [{}, {}, {}],
isOrg: true,
news: ["关于食堂发放免费午餐的人员名单关于食堂发放免费午餐的人员名单", "新闻头条"]
} }
}, },
onLoad() { onLoad() {
...@@ -122,6 +132,20 @@ ...@@ -122,6 +132,20 @@
this.getSetting() this.getSetting()
}, },
methods: { methods: {
select(index) {
if (index == 0) {
this.isCommonSel = true
this.isRecentlySel = false
} else {
this.isCommonSel = false
this.isRecentlySel = true
}
},
toLink(app) {
uni.navigateTo({
url: "/pages/mine/myScore/myScore"
})
},
loginState() { loginState() {
let that = this let that = this
uni.getStorage({ uni.getStorage({
...@@ -147,8 +171,8 @@ ...@@ -147,8 +171,8 @@
}) })
}, },
toLogin: function() { toLogin: function() {
uni.reLaunch({ uni.navigateTo({
url: "/pages/login/joinOrg/joinOrg" url: "/pages/login/login/login"
}) })
}, },
isLineVisil(index) { isLineVisil(index) {
...@@ -365,9 +389,24 @@ ...@@ -365,9 +389,24 @@
width: 694rpx; width: 694rpx;
display: flex; display: flex;
position: absolute; position: absolute;
display: flex;
flex-direction: row;
align-items: center;
left: 28rpx; left: 28rpx;
border-radius: 30rpx; border-radius: 30rpx;
border: 2rpx solid #707070; border: 2rpx solid #707070;
.swiper {
height: 142px;
.item {
image {
width: 680rpx;
height: 130px;
border-radius: 30rpx;
}
}
}
} }
} }
...@@ -375,7 +414,7 @@ ...@@ -375,7 +414,7 @@
display: flex; display: flex;
flex-direction: row; flex-direction: row;
border-radius: 30rpx; border-radius: 30rpx;
margin: 230px 30rpx 20rpx 30rpx; margin: 30rpx 30rpx 20rpx 30rpx;
background-color: #FFFFFF; background-color: #FFFFFF;
padding: 16rpx 30rpx; padding: 16rpx 30rpx;
align-items: center; align-items: center;
...@@ -393,6 +432,15 @@ ...@@ -393,6 +432,15 @@
color: #656565; color: #656565;
} }
.swiper {
height: 32px;
flex: 1;
.item {
display: flex;
flex-direction: row;
align-items: center;
.new-content { .new-content {
font-family: "MicrosoftYaHeiUI"; font-family: "MicrosoftYaHeiUI";
font-weight: 400; font-weight: 400;
...@@ -404,6 +452,10 @@ ...@@ -404,6 +452,10 @@
font-size: 24rpx; font-size: 24rpx;
color: #656565; color: #656565;
} }
}
}
.right-arrow { .right-arrow {
width: 13rpx; width: 13rpx;
...@@ -446,12 +498,19 @@ ...@@ -446,12 +498,19 @@
color: #3b73fe; color: #3b73fe;
} }
.tab-line { .tab-line-sel {
margin-top: 10rpx; margin-top: 10rpx;
width: 140rpx; width: 140rpx;
height: 2rpx; height: 2rpx;
background: #3b73fe; background: #3b73fe;
} }
.tab-line {
margin-top: 10rpx;
width: 140rpx;
height: 2rpx;
background: #FFF;
}
} }
} }
......
<template>
<view style="display: flex;flex-direction: column;">
<titleBar title="创建部门"></titleBar>
<view class="content">
<text class="text-black-normal">项目部名称</text>
<input placeholder="请输入名称" v-model="name"
style="border: 1rpx solid #E5E5E5;margin-left: 32rpx;padding: 20rpx;"
placeholder-class="placeholderStyle" />
</view>
<view style="height: 144rpx;"></view>
<view class="uni-group-button">
<button class="uni-grey-button" @click="toCancel">取消</button>
<button class="uni-blue-button" @click="toSure">确定</button>
</view>
</view>
</template>
<script>
import Api from "../../../api/api.js"
export default {
data() {
return {
code: "",
name: ""
}
},
onLoad(option) {
this.code = option.code
},
methods: {
toCancel() {
uni.navigateBack({
delta: 1
})
},
toSure() {
if (this.name == "") {
this.$toast.showToast("请输入项目名称")
return
}
Api.createProject({
data: {
"invite_code": this.code,
"dept_name": this.name
},
}).then((res) => {
let result = res.data
if (result.code == 0) {
uni.$emit("refreshDepart")
uni.navigateBack({
delta: 1
})
} else {
this.$toast.showToast(result.msg)
}
})
}
}
}
</script>
<style>
.content {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
height: 800rpx;
}
</style>
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
</template> </template>
<script> <script>
import Api from "../../../api/api.js"
export default { export default {
data() { data() {
return { return {
...@@ -88,12 +89,8 @@ ...@@ -88,12 +89,8 @@
project_id: this.projectId project_id: this.projectId
} }
} }
this.$http.consoleGet({ Api.scanToJoin({
url: "/api/v2/org/o_org_v2/join_org", data: data
data: data,
header: {
"access_token": this.getToken()
}
}).then((res) => { }).then((res) => {
let result = res.data let result = res.data
if (result.code == 0) { if (result.code == 0) {
...@@ -122,13 +119,9 @@ ...@@ -122,13 +119,9 @@
this.selectPost = this.postList[Number(e.detail.value)] this.selectPost = this.postList[Number(e.detail.value)]
}, },
getDepartment() { getDepartment() {
this.$http.consoleGet({ Api.getDeptByCode({
url: "/api/v2/org/o_org_v2/get_dept_list_by_code",
data: { data: {
"invite_code": this.code "invite_code": this.code
},
header: {
"access_token": this.getToken()
} }
}).then((res) => { }).then((res) => {
let result = res.data let result = res.data
...@@ -161,15 +154,11 @@ ...@@ -161,15 +154,11 @@
}) })
}, },
getPost() { getPost() {
this.$http.consoleGet({ Api.getJobById({
url: "/api/v2/org/o_job_v2/get_job_list_by_dept_id",
data: { data: {
"dept_id": this.selectDepart.dept_id, "dept_id": this.selectDepart.dept_id,
"is_page": 0 "is_page": 0
}, },
header: {
"access_token": this.getToken()
}
}).then((res) => { }).then((res) => {
let result = res.data let result = res.data
console.log("岗位列表", result); console.log("岗位列表", result);
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<view style="height: 144rpx;"></view> <view style="height: 144rpx;"></view>
<view class="uni-group-button"> <view class="uni-group-button">
<view class="uni-grey-button" @click="toScan">扫码加入</view> <view class="uni-grey-button" @click="toScan">扫码加入</view>
<view class="uni-blue-button" @click="toJoin">加入组织/项目</view> <view class="uni-blue-button" @click="toNext">加入组织/项目</view>
</view> </view>
</view> </view>
</template> </template>
...@@ -32,10 +32,19 @@ ...@@ -32,10 +32,19 @@
let type = result.type let type = result.type
if (type == "company") { if (type == "company") {
this.code = result.text this.code = result.text
this.scanToJoin() uni.navigateTo({
url: `/pages/login/joinDepartment/joinDepartment?code=${this.code}&type=company`
})
} else if (type == "project") { } else if (type == "project") {
this.code = result.text this.code = result.text
this.scanToJoin() uni.navigateTo({
url: `/pages/login/joinDepartment/joinDepartment?code=${this.code}&type=project&projectId=${result.ext.id}`
})
} else if (type == "department") {
this.code = result.text
uni.navigateTo({
url: `/pages/login/joinDepartment/joinDepartment?code=${this.code}&type=department`
})
} else { } else {
this.$toast.showToast("二维码格式不正确") this.$toast.showToast("二维码格式不正确")
} }
......
<template> <template>
<view class="login-parent"> <view class="login-parent">
<titleBar title="登录"></titleBar>
<view class="login-content"> <view class="login-content">
<view class="login-logo" v-if="false"> <view class="login-logo" v-if="false">
<image src="../../static/logo.png"></image> <image src="../../static/logo.png"></image>
...@@ -73,7 +74,7 @@ ...@@ -73,7 +74,7 @@
}) })
}, },
toBind: function() { toBind: function() {
uni.reLaunch({ uni.redirectTo({
url: "/pages/login/wxLogin/wxLogin" url: "/pages/login/wxLogin/wxLogin"
}) })
}, },
...@@ -402,7 +403,7 @@ ...@@ -402,7 +403,7 @@
.login-type-select { .login-type-select {
font-size: 16px; font-size: 16px;
color: #1890FF; color: #3B73FE;
} }
.login-type-unselect { .login-type-unselect {
...@@ -464,7 +465,7 @@ ...@@ -464,7 +465,7 @@
.login-code { .login-code {
font-size: 12px; font-size: 12px;
color: #1890FF; color: #3B73FE;
padding: 5px 10px; padding: 5px 10px;
border-radius: 2px; border-radius: 2px;
} }
......
<template> <template>
<view class="register-root"> <view class="register-root">
<titleBar title="注册"></titleBar>
<form @submit="formSubmit"> <form @submit="formSubmit">
<view class="form-item"> <view class="form-item">
<view class="star">*</view> <view class="star">*</view>
...@@ -48,6 +49,7 @@ ...@@ -48,6 +49,7 @@
</template> </template>
<script> <script>
import Api from "../../../api/api.js"
export default { export default {
data() { data() {
return { return {
...@@ -107,15 +109,14 @@ ...@@ -107,15 +109,14 @@
this.get_key(data) this.get_key(data)
}, },
register: function(key, data) { register: function(key, data) {
this.$http.consolePost({ Api.register({
url: "/api/v1/access/login/user_register",
data: { data: {
phone: data.phone, phone: data.phone,
user_no: data.account, user_no: data.account,
user_name: data.username, user_name: data.username,
code: data.code, code: data.code,
useage_code: 2, useage_code: 2,
system_no: this.systemCode, system_no: this.$config.systemCode,
password: data.password, password: data.password,
confirm_password: data.confirmpassword, confirm_password: data.confirmpassword,
audit_status: 2 audit_status: 2
...@@ -138,13 +139,12 @@ ...@@ -138,13 +139,12 @@
}) })
}, },
login: function(account, password) { login: function(account, password) {
this.$http.consolePost({ Api.login({
url: "/api/v1/access/login/do_login",
data: { data: {
"user_no": account, "user_no": account,
"password": password, "password": password,
"login_type": 1, "login_type": 1,
"system_no": this.systemCode "system_no": this.$config.systemCode
}, },
header: { header: {
"key": key, "key": key,
...@@ -165,7 +165,7 @@ ...@@ -165,7 +165,7 @@
icon: 'none' icon: 'none'
}) })
uni.switchTab({ uni.switchTab({
url: "../desk-page/desk-page" url: "/pages/index/index"
}) })
} else { } else {
uni.showToast({ uni.showToast({
...@@ -176,8 +176,7 @@ ...@@ -176,8 +176,7 @@
}) })
}, },
bindLogin(account, password) { bindLogin(account, password) {
this.$http.consolePost({ Api.bindLogin({
url: "/api/v1/system/p_user_third/user_third_bind",
data: { data: {
"user_no": account, "user_no": account,
"third_type": 1, "third_type": 1,
...@@ -211,11 +210,10 @@ ...@@ -211,11 +210,10 @@
}, },
get_key(data) { get_key(data) {
// 先获取key 再登录 // 先获取key 再登录
this.$http.consolePost({ Api.getKey({
url: "/api/v1/access/access_system/get_key",
data: { data: {
"system_no": this.systemCode, "system_no": this.$config.systemCode,
"auth_code": this.authCode "auth_code": this.$config.authCode
}, },
header: { header: {
"Content-Type": "application/json" "Content-Type": "application/json"
...@@ -236,11 +234,11 @@ ...@@ -236,11 +234,11 @@
toLogin: function() { toLogin: function() {
if (this.type == "bind") { if (this.type == "bind") {
uni.redirectTo({ uni.redirectTo({
url: `../bind-login/bind-login?unique_token=${this.unique_token}` url: "/pages/login/bindLogin/bindLogin?unique_token=" + his.unique_token
}) })
} else { } else {
uni.redirectTo({ uni.redirectTo({
url: "../login/login" url: "/pages/login/login/login"
}) })
} }
}, },
...@@ -263,7 +261,7 @@ ...@@ -263,7 +261,7 @@
"phone": this.phone, "phone": this.phone,
"usage_code": "2", "usage_code": "2",
"template_no": "industry-0001", "template_no": "industry-0001",
"system_no": this.systemCode "system_no": this.$config.systemCode
}, },
header: { header: {
"Content-Type": "application/json" "Content-Type": "application/json"
......
<template> <template>
<view> <view>
<titleBar title="授权登录"></titleBar>
<view v-if="isCanUse"> <view v-if="isCanUse">
<view> <view>
<view class='header'> <view class='header'>
...@@ -122,7 +123,32 @@ ...@@ -122,7 +123,32 @@
uni.redirectTo({ uni.redirectTo({
url: `../bind-login/bind-login?unique_token=${_this.unique_token}` url: `../bind-login/bind-login?unique_token=${_this.unique_token}`
}) })
} else {
_this.wxToLogin()
}
}
})
},
wxToLogin() {
Api.wxToLogin({
data: {
unique_token: this.unique_token
} }
}).then((res) => {
let result = res.data
console.log("微信登录", result);
if (result.code == 0) {
uni.setStorageSync("short_token", result.data.short_token)
this.setToken(result.data.access_token)
uni.setStorageSync("user_info", result.data)
uni.setStorageSync("company_id", result.data.comp_id)
uni.showToast({
title: "授权登录成功",
icon: 'none'
})
uni.switchTab({
url: "/pages/index/index"
})
} }
}) })
}, },
...@@ -134,7 +160,7 @@ ...@@ -134,7 +160,7 @@
}).then((res) => { }).then((res) => {
let result = res.data let result = res.data
console.log("登录用户信息:", result); console.log("登录用户信息:", result);
if (result.code === 0) { if (result.code == 0) {
uni.setStorageSync("short_token", result.data.short_token) uni.setStorageSync("short_token", result.data.short_token)
this.setToken(result.data.access_token) this.setToken(result.data.access_token)
uni.setStorageSync("user_info", result.data) uni.setStorageSync("user_info", result.data)
......
<template>
<view class="history-score">
<titleBar title="历史积分"></titleBar>
<view class="choose-date">
<uni-datetime-picker @change="toggleDate" returnType="string" v-model="requestParam.time" type="date">
</uni-datetime-picker>
</view>
<view class="current-score">
<view class="score">
<view class="date">
{{requestParam.time}}当日积分
</view>
<view class="value">
+{{scoreDetail.current_integral||'0'}}
</view>
</view>
<view class="date">
<!-- 明细 -->
<!-- {{requestParam.time}} -->
</view>
</view>
<view class="score-list">
<view class="score-list-item" v-for="(item,index) in scoreDetail.listData" :key="index">
<text class="time">{{item.time}}</text>
<text class="desc">{{item.item_name}}</text>
<text class="score">+{{item.integral}}</text>
</view>
</view>
</view>
</template>
<script>
// import {
// ScoreApi
// } from '../../services/Score/index.js'
export default {
data() {
return {
userInfo: {},
project: {},
requestParam: {
project_id: '',
time: '',
worker_id: ''
},
scoreDetail: {
listData: []
}
}
},
onShow() { //监听页面显示
this.userInfo = uni.getStorageSync('userInfo')
this.project = uni.getStorageSync('userProject') || {}
let date = new Date()
let year = date.getFullYear()
let month = date.getMonth() + 1
let day = date.getDate()
this.requestParam.time = year + '-' + month + '-' + day
this.requestParam.worker_id = this.userInfo.worker_id
this.requestParam.project_id = this.project.project_id
this.getScoreDetail() //暂时先注释掉02.16
// for(var i=0;i<100;i++){//历史明细假数据
// this.scoreDetail.listData.push({id:i+1,time:'2022-02-16',item_name:'csy'+(i+1),integral:i+1})
// }
// console.log('scoreDetail.listData=',this.scoreDetail.listData);
},
methods: {
// 切换时间
toggleDate(date) {
this.requestParam.time = date
this.getScoreDetail()
},
// 获取积分数据
getScoreDetail() {
ScoreApi.getUserScore({
data: this.requestParam
}).then(res => {
if (res.code === 0) {
this.scoreDetail = res.data;
}
})
},
}
}
</script>
<style lang="scss">
.history-score {
.current-score {
display: flex;
justify-content: space-between;
align-items: center;
padding: 20rpx;
margin: 0 32rpx;
background-color: #FAFAFA;
margin-top: 32rpx;
.score {
color: #666;
font-size: 24rpx;
}
.value {
color: #333;
font-size: 48rpx;
font-weight: bold;
}
.date {}
}
.choose-date {
padding: 0 20rpx;
}
.score-list {
display: flex;
flex-direction: column;
padding: 20rpx 40rpx;
margin: 0 32rpx;
background-color: #FAFAFA;
.score-list-item {
display: flex;
justify-content: space-between;
align-items: center;
height: 104rpx;
position: relative;
border-bottom: 1px solid rgba($color: #999, $alpha: 0.5);
&:last-child {
.line {
display: none;
}
}
// .circle{
// border:1px solid #1890ff;
// border-radius: 50%;
// background-color: #FFFFFF;
// width: 20rpx;
// height: 20rpx;
// }
// .line{
// position: absolute;
// width: 2rpx;
// height:100rpx;
// background-color: #000;
// left: 10rpx;
// opacity: 0.5;
// bottom: -90rpx;
// }
.time {
font-size: 28rpx;
color: #666;
}
.desc {
font-size: 28rpx;
color: #666;
width: 250rpx;
}
.score {
font-size: 28rpx;
color: #333;
width: 60rpx;
text-align: right;
}
}
}
}
</style>
<template>
<view class="content">
<view class="header-content">
<image src="../../../static/home-head.png" class="header-image"></image>
<navbar :title="title" :showBack="true"></navbar>
<view class="score-content" :style="{top:statusBarHeight+53+'px'}">
<image src="../../../static/ic-coin.png" class="image"></image>
<view class="score-count-content">
<view class="count">{{score}}</view>
<view class="unit">豆丁</view>
</view>
<view class="history-content" @click="toHistory">
<text class="text">兑换历史</text>
<image src="../../../static/arrow-right.png" class="image"></image>
</view>
</view>
<view class="banner-content" :style="{top:statusBarHeight+106+'px'}">
<image src="../../../static/jifen-banner.png" class="image"></image>
</view>
</view>
<view class="shop-list-content">
<view class="title-content">
<view class="title">海量好物</view>
</view>
<view class="list-content">
<view class="left-content">
<view class="item-content" v-for="(item,index) in leftList()" :key="index">
<image class="image"></image>
<view class="count">{{item.goods_integral}}豆丁可兑换</view>
<view class="name-content">
<view class="name">{{item.goods_name}}</view>
<image src="../../../static/exchange.png" class="image" v-if="item.percent==1"></image>
</view>
</view>
</view>
<view class="right-content">
<view class="item-content" v-for="(item,index) in rightList()" :key="index">
<image class="image"></image>
<view class="count">{{item.goods_integral}}豆丁可兑换</view>
<view class="name-content">
<view class="name">{{item.goods_name}}</view>
<image src="../../../static/exchange.png" class="image" v-if="item.percent==1"></image>
</view>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import Api from "../../../api/api.js"
export default {
data() {
return {
title: "我的积分",
statusBarHeight: "20",
score: 99999,
shopList: [{}, {}, {}],
right: [],
left: [],
requestParam: {
project_id: '',
time: '',
worker_id: ''
},
scoreDetail: {},
userInfo: {},
project: {}
}
},
onLoad(option) {
const info = uni.getSystemInfoSync()
this.statusBarHeight = info.statusBarHeight
this.userInfo = uni.getStorageSync('userInfo')
this.project = uni.getStorageSync('userProject') || {}
let date = new Date()
let year = date.getFullYear()
let month = date.getMonth() + 1
let day = date.getDate()
this.requestParam.time = year + '-' + month + '-' + day
this.requestParam.worker_id = this.userInfo.worker_id || ''
this.requestParam.project_id = this.project.project_id || ''
this.getScoreDetail()
},
methods: {
getScoreDetail() {
Api.getUserScore({
data: this.requestParam
}).then(res => {
if (res.code === 0) {
this.scoreDetail = res.data
}
})
},
getGoodsList() {
Api.getGoodsList({
data: {
is_page: 0,
project_id: this.project.project_id,
content: this.requestParam.content
}
}).then(res => {
if (res.code === 0) {
this.shopList = res.data.list || []
this.shopList.map(item => {
let userScore = this.scoreDetail.integral || 0
let goodsScore = item.goods_integral || 0
item.percent = userScore / goodsScore
item.percent = item.percent >= 1 ? 1 : 0
if (item.percent >= 100) {
item.tip = '可以兑换啦'
} else {
item.tip = `还差${goodsScore-userScore}分`
}
})
this.getGoodsList()
}
})
},
toHistory() {
uni.navigateTo({
url: "/pages/mine/historyScore/historyScore"
})
},
leftList() {
var list = []
for (var i = 0; i < this.shopList.length; i++) {
if (i % 3 == 0) {
list.push(this.shopList[i])
}
}
return list
},
rightList() {
var list = []
for (var i = 0; i < this.shopList.length; i++) {
if (i % 3 != 0) {
list.push(this.shopList[i])
}
}
return list
},
}
}
</script>
<style lang="scss">
.content {
display: flex;
flex-direction: column;
.header-content {
position: relative;
top: 0;
left: 0;
.header-image {
width: 750rpx;
height: 504rpx;
position: absolute;
top: 0;
left: 0;
}
.score-content {
display: flex;
height: 44px;
position: absolute;
left: 30rpx;
right: 0;
flex-direction: row;
align-items: center;
image {
width: 20rpx;
height: 20rpx;
}
.score-count-content {
display: flex;
flex: 1;
flex-direction: row;
align-items: flex-end;
margin-left: 20rpx;
.count {
font-size: 36rpx;
color: #fff;
font-weight: bold;
}
.unit {
font-size: 28rpx;
color: #fff;
margin-left: 20rpx;
font-weight: 400;
}
}
.history-content {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
width: 192rpx;
height: 30px;
border-radius: 30rpx 0 0 30rpx;
background: #000;
opacity: 0.2;
text {
font-weight: 400;
font-size: 28rpx;
text-align: left;
color: #fff;
}
image {
margin-left: 20rpx;
width: 16rpx;
height: 28rpx;
}
}
}
.banner-content {
width: 694rpx;
display: flex;
position: absolute;
left: 28rpx;
border-radius: 30rpx;
border: 2rpx solid #707070;
image {
width: 694rpx;
height: 142px;
}
}
}
.shop-list-content {
display: flex;
flex-direction: column;
margin: 235px 30rpx 30rpx 30rpx;
background-color: #FFFFFF;
padding: 30rpx;
border-radius: 30rpx;
.title-content {
display: flex;
flex-direction: row;
align-items: center;
.title {
font-family: "PingFang SC Medium";
font-weight: 700;
font-size: 28rpx;
flex: 1;
text-align: left;
color: #333;
}
}
.list-content {
display: flex;
flex: 1;
flex-direction: row;
margin-top: 30rpx;
.left-content {
display: flex;
flex-direction: column;
.item-content {
display: flex;
flex-direction: column;
image {
width: 300rpx;
height: 400rpx;
border-radius: 16rpx;
}
.count {
font-weight: 400;
font-size: 20rpx;
margin-top: 20rpx;
text-align: left;
color: #f60;
}
.name-content {
display: flex;
flex-direction: row;
align-items: center;
.name {
font-weight: 400;
font-size: 24rpx;
text-align: left;
width: 180rpx;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
color: #000;
}
image {
width: 120rpx;
height: 40rpx;
}
}
}
}
.right-content {
display: flex;
margin-left: 30rpx;
flex: 1;
flex-direction: column;
.item-content {
display: flex;
flex-direction: column;
image {
width: 300rpx;
height: 220rpx;
border-radius: 16rpx;
}
.count {
font-weight: 400;
font-size: 20rpx;
margin-top: 20rpx;
text-align: left;
color: #f60;
}
.name-content {
display: flex;
flex-direction: row;
align-items: center;
.name {
font-weight: 400;
font-size: 24rpx;
width: 180rpx;
text-align: left;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
color: #000;
}
image {
width: 120rpx;
height: 40rpx;
}
}
}
}
}
}
}
</style>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
Please register or to comment