Browse Source

首页修改

210plan
aBin 3 years ago
parent
commit
b30977a2d4
  1. 8
      .env.development
  2. 8
      .env.production
  3. 10
      src/apis/carbasics.js
  4. 4
      src/apis/tall.js
  5. 2
      src/components/PrettyExchange/PrettyExchange.vue
  6. 9
      src/components/Projects/ProjectItem.vue
  7. 5
      src/components/Service/Service.vue
  8. 6
      src/components/Upload/Upload.vue
  9. 90
      src/components/Volume/Volume.vue
  10. 120
      src/components/VolumeProject/VolumeProject.vue
  11. 6
      src/pages.json
  12. 197
      src/pages/BL/BL-zhuce.vue
  13. 113
      src/pages/BL/mixin.js
  14. 210
      src/pages/index/index.vue
  15. BIN
      src/static/image.png
  16. BIN
      src/static/图1.png
  17. BIN
      src/static/图2.png
  18. BIN
      src/static/图3.png

8
.env.development

@ -1,8 +1,8 @@
VUE_APP_NODE_ENV=development
VUE_APP_BASE_URL=https://test.tall.wiki
VUE_APP_API_URL=https://test.tall.wiki/gateway
VUE_APP_BASE_URL=https://www.tall.wiki
VUE_APP_API_URL=https://www.tall.wiki/gateway
VUE_APP_MSG_URL=wss://www.tall.wiki/websocket/message/v4.0/ws
VUE_APP_PROJECT_PATH=https://test.tall.wiki/carBasicTall
VUE_APP_QUESTION_PATH=https://test.tall.wiki/carbasics
VUE_APP_PROJECT_PATH=https://www.tall.wiki/carBasicTall
VUE_APP_QUESTION_PATH=https://www.tall.wiki/carbasics
VUE_APP_VERSION=v3.1.0
VUE_APP_PUBLIC_PATH=/carBasicCalendar/

8
.env.production

@ -1,8 +1,8 @@
VUE_APP_NODE_ENV=production
VUE_APP_BASE_URL=https://test.tall.wiki
VUE_APP_API_URL=https://test.tall.wiki/gateway
VUE_APP_BASE_URL=https://www.tall.wiki
VUE_APP_API_URL=https://www.tall.wiki/gateway
VUE_APP_MSG_URL=wss://www.tall.wiki/websocket/message/v4.0/ws
VUE_APP_PROJECT_PATH=https://test.tall.wiki/carBasicTall
VUE_APP_QUESTION_PATH=https://test.tall.wiki/carbasics
VUE_APP_PROJECT_PATH=https://www.tall.wiki/carBasicTall
VUE_APP_QUESTION_PATH=https://www.tall.wiki/carbasics
VUE_APP_VERSION=v3.1.0
VUE_APP_PUBLIC_PATH=/carBasicCalendar/

10
src/apis/carbasics.js

@ -5,6 +5,7 @@ export const filedeal = `${fileUrl}/filedeal`;
const patient = `${carbasics}/patient`; // 患者相关接口
const firstAid = `${carbasics}/firstAid`; // 急救数据相关接口
const screening = `${carbasics}/screening`; // 高危人群筛查相关接口
const questionnaire = `${carbasics}/questionnaire`; // 调查问卷相关接口
// 获取急救/出院数据列表
export const querySelf = {
@ -78,6 +79,15 @@ const install = (Vue, vm) => {
vm.$u.api.getRecord = params => getRecord.index(params);
// 获取急救/出院数据列表
vm.$u.api.querySelf = params => querySelf.index(params);
// 查询地区
vm.$u.api.searchArea = params => vm.$u.post(`${questionnaire}/area`, params);
// 查询职位
vm.$u.api.searchPosition = params => vm.$u.post(`${questionnaire}/queryPosition`, params);
// 查询当前地区的医院列表
vm.$u.api.queryHospitalList = params => vm.$u.post(`${questionnaire}/queryHospitalList`, params);
// 医院名称回显
vm.$u.api.hospitalNameEcho = params => vm.$u.post(`${questionnaire}/hospitalNameEcho`, params);
// 患者加入急救
vm.$u.api.joinAid = params => vm.$u.post(`${firstAid}/join`, params);
// 患者退出急救

4
src/apis/tall.js

@ -41,6 +41,10 @@ const install = (Vue, vm) => {
vm.$u.api.getProjects = (startTime, endTime) => vm.$u.post(`${tall}/project/query`, { startTime, endTime });
// 查询首页的按钮展示及跳转
vm.$u.api.getQueryButton = params => vm.$u.post(`${carbasics}/questionnaire/queryButton`, params);
// 查询首页轮播图
vm.$u.api.getCarouselShow = params => vm.$u.post(`${carbasics}/carousel/show`, params);
// 查询首页轮播图
vm.$u.api.getNoticeList = params => vm.$u.post(`${carbasics}/notice/query`, params);
// 查询当前用户是否展示宣传页按钮
vm.$u.api.queryIsShow = params => vm.$u.post(`${carbasics}/questionnaire/queryIsShow`, params);
// 查询日历是否有小红点

2
src/components/PrettyExchange/PrettyExchange.vue

@ -111,7 +111,7 @@
<view class="border-80 bg-blue-500" v-if="item.showSubBorder"></view>
</view>
</view>
<view class="edition">v2.1.0</view>
<view class="edition">v2.2.1</view>
</scroll-view>
<!-- 移动悬浮 begin -->
<view v-if="showMoveImage">

9
src/components/Projects/ProjectItem.vue

@ -39,22 +39,18 @@
<u-icon @click="openProject(item)" class="text-gray-400" name="arrow-right" size="14px" v-else></u-icon>
</view>
<!-- 有子项目 -->
<view class="ml-8" v-if="item.show">
<!-- <view class="ml-8" v-if="item.show">
<view
:id="'cu-' + index + '-' + subIndex"
:key="subIndex"
class="cu-item flex-col"
v-for="(subItem, subIndex) in item.sonProjectList"
>
<!-- <view :key="subItem.id" v-for="subItem in item.sonProjectList"> -->
<view class="flex items-center justify-between p-3">
<u-icon class="mover" name="https://www.tall.wiki/staticrec/drag.svg" size="48"></u-icon>
<!-- <u-icon @click="openMenu(subItem)" class="mover" name="https://www.tall.wiki/staticrec/drag.svg" size="48"></u-icon> -->
<view @click="openProject(subItem)" class="flex-1 px-3">
<view class="flex items-center">
<view class="mr-2">{{ subItem.name }}</view>
<!-- 状态 -->
<view
:class="
subItem.status === 0
@ -72,11 +68,10 @@
</view>
</view>
<!-- 箭头 -->
<u-icon @click="openProject(subItem)" class="text-gray-400" name="arrow-right" size="14px"></u-icon>
</view>
</view>
</view>
</view> -->
<!-- 项目操作面板 -->
<!-- <u-action-sheet :list="menuList" :tips="tips" @click="$emit('chooseAction', $event)" v-model="showMenu"></u-action-sheet> -->
<u-action-sheet :list="menuList" :tips="tips" @click="chooseAction" v-model="showMenu"></u-action-sheet>

5
src/components/Service/Service.vue

@ -9,6 +9,7 @@
<!-- 客服 -->
<img style="height: 28px; width: 28px" src="./icon/tel-we.png" alt="" />
</button>
<view class="edition">v3.0.0</view>
</div>
</template>
<script>
@ -20,6 +21,10 @@ export default {
};
</script>
<style lang="scss" scoped>
.edition {
text-align: center;
color: #999;
}
.upload {
z-index: 99;
position: fixed;

6
src/components/Upload/Upload.vue

@ -186,6 +186,12 @@ export default {
},
//
async getInfo() {
if (!this.user) {
setTimeout(() => {
this.getInfo();
}, 100);
return;
}
const that = this;
const data = await that.$u.api.getQueryButton({});
this.btnList = data;

90
src/components/Volume/Volume.vue

@ -0,0 +1,90 @@
<template>
<view class="volume-box">
<scroll-view scroll-x style="height: 100%; width: 100%">
<view class="flex justify-evenly">
<view
class="flex flex-col items-center justify-center"
style="width: 159rpx; flex-shrink: 0"
v-for="(item, index) in btnList"
:key="index"
@click="jumpV(item.url)"
>
<!-- <img class="volume-img" src="@/static/image.png" alt="" /> -->
<img class="volume-img" :src="item.iconUrl || '@/static/image.png'" alt="" />
<span class="mt-2" style="color: #40adff">{{ item.name }}</span>
</view>
</view>
</scroll-view>
</view>
</template>
<script>
import { mapState, mapGetters } from 'vuex';
export default {
data() {
return {
name: '',
url: '',
btnList: [],
};
},
computed: {
...mapState('user', ['user']),
...mapGetters('user', ['userId']),
},
created() {
this.getInfo();
},
methods: {
//
async getInfo() {
if (!this.user) {
setTimeout(() => {
this.getInfo();
}, 10);
return;
}
const that = this;
const data = await that.$u.api.getQueryButton({});
this.btnList = data;
console.log('data: ', data);
if (data && data.length) {
that.name = data[0].name;
that.url = data[0].url;
} else if (data && data.name) {
that.name = data.name;
that.url = data.url;
} else if (!data) {
setTimeout(() => {
that.getInfo();
}, 500);
}
},
//
jumpV(url) {
if (this.user.phone) {
console.log('this.userId: ', this.userId);
debugger;
this.$u.route('pages/questionnaire-webview/questionnaire-webview', { u: this.userId, url: url });
} else {
// this.$u.route('/pages/get-phone-power/get-phone-power');
this.$u.route('/pages/phone-bind/phone-bind');
}
},
},
};
</script>
<style scoped>
.volume-img {
height: 100rpx;
width: 100rpx;
/* border-radius: 50%; */
}
.volume-box {
width: 700rpx;
margin: 25rpx;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.125);
border-radius: 8rpx;
padding: 32rpx;
}
</style>

120
src/components/VolumeProject/VolumeProject.vue

@ -0,0 +1,120 @@
<template>
<view class="volume-box">
<swiper
class="swiper"
circular
:autoplay="autoplay"
:interval="interval"
:duration="duration"
previous-margin="45rpx"
next-margin="45rpx"
@change="changeCard"
>
<swiper-item v-for="(item, index) in itemList" :key="item.id" @click="openProject(item)">
<view
class="swiper-item flex items-center justify-center"
:class="['card-item', currentCardIndex === index ? 'card-item-current' : 'card-item-default']"
style="transition: all 0.3s"
>{{ item.name }}</view
>
</swiper-item>
</swiper>
</view>
</template>
<script>
import { mapState, mapGetters, mapMutations } from 'vuex';
export default {
data() {
return {
autoplay: false,
interval: 2000,
duration: 500,
itemList: [],
currentCardIndex: 0,
};
},
watch: {
projects(val) {
this.itemList = val;
this.itemList.forEach(item => {
item.showBorder = false;
item.showSubBorder = false;
item.showTopBorder = false;
});
console.log('this.itemList: ', this.itemList);
},
},
computed: {
...mapState('user', ['user']),
...mapState('project', ['projects']),
...mapGetters('user', ['userId']),
},
mounted() {
this.$nextTick(function () {
this.itemList = this.projects;
this.itemList.forEach(item => {
item.showBorder = false;
item.showSubBorder = false;
item.showTopBorder = false;
});
});
},
methods: {
...mapMutations('carbasics', ['setGlobalData']),
...mapMutations('task', ['setPermanents', 'setDailyTasks']),
changeCard(e) {
this.currentCardIndex = e.detail.current;
},
//
openProject(project) {
const { name, id, url, templateCode } = project;
url && (uni.$t.domain = url);
if (templateCode === 'carbasics') {
// ,
this.setGlobalData({});
this.setPermanents(null);
this.setDailyTasks(null);
uni.navigateTo({ url: `/pages/task-page/task-page?u=${this.userId}&p=${id}&pname=${name}&url=${encodeURIComponent(url)}` });
} else {
this.$u.route('pages/project-webview/project-webview', {
u: this.userId,
p: id,
pname: name,
url: encodeURIComponent(url),
});
}
},
},
};
</script>
<style scoped>
.card-item-default {
transform: scale(0.96, 0.96) translateY(8.5rpx);
}
.swiper {
height: 240rpx;
/* background: rgba(255, 255, 255, 0); */
}
.swiper-item {
font-size: 32rpx;
color: #fff;
font-weight: bold;
border-radius: 8rpx;
height: 100%;
width: 100%;
background: url('https://www.tall.wiki/gateway/carbasics/v4.0/uploads/project.png');
background-size: 100% 100%;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}
.volume-box {
width: 700rpx;
height: 120px;
margin: 0 25rpx 25rpx 25rpx;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
border-radius: 8rpx;
/* overflow: hidden; */
/* background: #f9fafb; */
/* padding: 32rpx; */
}
</style>

6
src/pages.json

@ -85,6 +85,12 @@
"style": {
"navigationBarTitleText": "暴风眼详情页"
}
},
{
"path": "pages/BL/BL-zhuce",
"style": {
"navigationBarTitleText": "注册"
}
}
],
"globalStyle": {

197
src/pages/BL/BL-zhuce.vue

@ -0,0 +1,197 @@
<template>
<div class="flex flex-col">
<div class="mt-2" style="position: relative">
<div class="w-full">
<p class="title-p title-one">山西省急性缺血性脑卒中数据汇总表</p>
<p class="title-p title-two">2021年7月-12月收治急性脑梗死患者相关数据</p>
</div>
<!-- <div class="flex items-center justify-center mr-2" style="position: absolute; right: 2px; top: 12px">
<a href="tel:13485387689" id="tel-a" style="display: none"> </a>
</div> -->
</div>
<div class="p-4">
<u-form :model="form" ref="uForm" label-width="150">
<u-form-item label="市/县" class="flex">
<u-input v-model="form.county" @click="show = true" placeholder="请选择市/县" />
</u-form-item>
<u-form-item label="医院名称"><u-input v-model="form.intro" /></u-form-item>
<u-form-item label="性别"><u-input v-model="form.sex" type="select" /></u-form-item>
<u-form-item label="水果">
<u-checkbox-group>
<u-checkbox v-model="item.checked" v-for="(item, index) in checkboxList" :key="index" :name="item.name">
{{ item.name }}
</u-checkbox>
</u-checkbox-group>
</u-form-item>
<u-form-item label="味道">
<u-radio-group v-model="radio">
<u-radio v-for="(item, index) in radioList" :key="index" :name="item.name" :disabled="item.disabled">
{{ item.name }}
</u-radio>
</u-radio-group>
</u-form-item>
<u-form-item label="开关"><u-switch slot="right" v-model="switchVal"></u-switch></u-form-item>
</u-form>
</div>
<u-select
v-model="show"
value-name="id"
label-name="name"
child-name="child"
mode="mutil-column-auto"
:list="list"
@confirm="chooseArea"
></u-select>
</div>
</template>
<script>
import Mixin from './mixin';
import { mapState } from 'vuex';
export default {
mixins: [Mixin],
data() {
return {
form: {
county: '',
countyId: '',
intro: '',
sex: '',
},
show: false,
list: [],
isSearch: false,
hosList: [],
checkboxList: [
{
name: '苹果',
checked: false,
disabled: false,
},
{
name: '雪梨',
checked: false,
disabled: false,
},
{
name: '柠檬',
checked: false,
disabled: false,
},
],
radioList: [
{
name: '鲜甜',
disabled: false,
},
{
name: '麻辣',
disabled: false,
},
],
radio: '',
switchVal: false,
};
},
computed: mapState('user', ['user']),
created() {
this.getList();
// this.getPosition();
this.getArea();
this.getHosName();
},
methods: {
//
chooseArea(e) {
let str = '';
let ids = '';
for (let i = 0; i < e.length; i++) {
str += e[i].label + (i < e.length - 1 ? '>' : '');
ids += e[i].value + (i < e.length - 1 ? ',' : '');
}
this.form.county = str;
this.form.countyId = ids;
},
async getHosName() {
try {
const params = {};
const res = await this.$u.api.hospitalNameEcho(params);
if (res) {
console.log('res: ', res);
}
} catch (error) {}
},
async searchHosList(name) {
try {
if (this.isSearch) {
return;
}
this.isSearch = true;
this.hosList = [];
const params = {
area: this.form.countyId,
name,
};
const res = await this.$u.api.queryHospitalList(params);
if (res) {
console.log(res);
res.forEach(item => {
this.data.push(item.name);
});
} else {
this.$t.ui.showToast('医院搜索失败,请手动输入');
}
} catch (error) {
this.$t.ui.showToast('医院搜索失败,请手动输入');
}
this.isSearch = false;
},
//
async getArea() {
try {
const params = { id: '140000' };
const res = await this.$u.api.searchArea(params);
if (res) {
this.list = [...res];
} else {
this.$t.ui.showToast(msg);
}
} catch (error) {
this.$t.ui.showToast('网络异常,请检查您的网络!');
}
},
//
async getPosition() {
try {
const params = { param: {} };
const res = await this.$u.api.searchPosition(params);
const { code, msg, data } = res.data;
if (code === 200) {
let list = [];
for (var i = 0; i < data.length; i++) {
list.push(data[i].name);
}
console.log('职位list: ', list);
} else {
console.log(msg);
}
} catch (error) {
console.log(error);
}
},
},
};
</script>
<style scoped>
.title-one {
font-size: 18px;
font-weight: bold;
}
.title-two {
font-size: 12px;
color: #666;
}
.title-p {
margin-bottom: 2px;
text-align: center;
}
</style>

113
src/pages/BL/mixin.js

@ -0,0 +1,113 @@
const mixin = {
data() {
return {
codeValue: {
'CITY-COUNTY': [],
'HOS-NAME': null,
'HOS-LEVEL': [],
'HOS-GRADE': null,
'HOS-KESHI': null,
'HOS-ZHIWU': null,
'HOS-MAN': null,
'HOS-TEL': null,
},
list: [],
};
},
methods: {
// 试题类型:type: 1:省市区三级下拉 11:医院等级 2:输入框模糊搜索 3:下拉菜单 5:输入框
getList() {
this.list = [
{
name: '',
testList: [
{
secondName: '',
contentList: [
{
name: '市/县',
code: 'CITY-COUNTY',
value: this.codeValue['CITY-COUNTY'],
type: 1,
itemList: [],
},
{
name: '医院名称',
code: 'HOS-NAME',
value: this.codeValue['HOS-NAME'],
type: 2,
},
{
name: '医院等级',
code: 'HOS-LEVEL',
value: this.codeValue['HOS-LEVEL'],
type: 11,
itemList: [
{
value: '二级',
label: '二级',
children: [
{
value: '甲等',
label: '甲等',
},
{
value: '乙等',
label: '乙等',
},
],
},
{
value: '三级',
label: '三级',
children: [
{
value: '甲等',
label: '甲等',
},
{
value: '乙等',
label: '乙等',
},
],
},
],
},
{
name: '科室',
code: 'HOS-KESHI',
value: this.codeValue['HOS-KESHI'],
type: 3,
itemList: ['神经内科', '内科', '神经外科'],
},
{
name: '职务',
code: 'HOS-ZHIWU',
value: this.codeValue['HOS-ZHIWU'],
type: 3,
// itemList: [],
itemList: ['科主任', '副主任', '卒中质控医生', '医生'],
},
{
name: '联系人',
code: 'HOS-MAN',
value: this.codeValue['HOS-MAN'],
type: 5,
},
{
name: '联系电话',
code: 'HOS-TEL',
value: this.codeValue['HOS-TEL'],
disable: true,
type: 5,
},
],
},
],
},
];
},
},
};
export default mixin;

210
src/pages/index/index.vue

@ -1,19 +1,39 @@
<template>
<!-- <view class="flex flex-col h-full bg-gray-50" @click="openAuth"> -->
<view class="flex flex-col h-screen bg-gray-50">
<view class="relative" @touchmove="onMove">
<!-- 日历 -->
<Calendar @selected-change="onDateChange" :show-back="true" ref="calendar" @handleFindPoint="handleFindPoint" />
<!-- 上传 导入wbs -->
<Upload @success="onUploadSuccess" @error="onUploadError" />
<!-- #ifdef H5 -->
<!-- #endif -->
</view>
<scroll-view scroll-y style="height: calc(100vh - 50px)" :show-scrollbar="false">
<view class="relative">
<!-- 日历 -->
<!-- <Calendar @selected-change="onDateChange" :show-back="true" ref="calendar" @handleFindPoint="handleFindPoint" /> -->
<u-swiper :list="list" border-radius="0" height="400"></u-swiper>
<!-- 上传 导入wbs -->
<!-- <Upload @success="onUploadSuccess" @error="onUploadError" /> -->
<!-- #ifdef H5 -->
<!-- #endif -->
</view>
<Volume />
<VolumeProject />
<view class="news-title"> 新闻中心 </view>
<view class="news-content" v-for="(item, index) in newsList" :key="index" @click="jumpDetail(item)">
<view class="mb-2">
{{ item.title }}
</view>
<view class="flex justify-between" style="font-size: 24rpx">
<view>
{{ item.publishName || '未知' }}
</view>
<view>
{{ $moment(+item.publishTime).format('YYYY-MM-DD') }}
</view>
</view>
</view>
</scroll-view>
<!-- 联系客服 -->
<Service />
<!-- 项目列表 -->
<Projects @getProjects="getProjects" class="flex-1 overflow-y-auto" />
<!-- <Projects @getProjects="getProjects" class="flex-1 overflow-y-auto" /> -->
<!-- 全局提示框 -->
<u-top-tips ref="uTips"></u-top-tips>
@ -30,8 +50,10 @@ export default {
mixins: [UserAuthMixin],
data() {
return {
list: [],
calendar: null,
days: [],
newsList: [],
};
},
@ -51,15 +73,17 @@ export default {
const that = this;
setTimeout(function () {
that.getProjects();
that.handleFindPoint();
// that.handleFindPoint();
}, 100);
},
},
async created() {
this.getCarouselList();
this.getNotice();
if (!this.token) return;
this.getProjects();
this.handleFindPoint();
// this.handleFindPoint();
},
onReady() {
@ -68,6 +92,43 @@ export default {
methods: {
...mapMutations('project', ['setProjects', 'setDotList']),
//
jumpDetail(item) {
if (item.articleUrl) {
uni.navigateTo({ url: `/pages/detail-webview/detail-webview?jumpUrl=${item.articleUrl}` });
}
},
async getNotice() {
try {
const param = {
pageNum: 1,
pageSize: 10,
};
const res = await this.$u.api.getNoticeList(param);
console.log('res: ', res);
this.newsList = this.newsList.concat(res.list);
} catch (error) {
console.log('error: ', error);
}
},
//
async getCarouselList() {
try {
const param = {
showPosition: 1,
showType: 0,
};
const res = await this.$u.api.getCarouselShow(param);
console.log('res: ', res);
for (let i = 0; i < res.length; i++) {
res[i].image = res[i].url;
}
this.list = [...res];
} catch (error) {
console.log('error: ', error);
}
},
//
getProjects(start = this.$moment().startOf('day').valueOf(), end = this.$moment().endOf('day').valueOf()) {
@ -81,6 +142,7 @@ export default {
item.show = false;
});
this.setProjects(data);
console.log('data: ', data);
if (data && data[0]) {
// this.openFirstProject(data[0]);
}
@ -96,68 +158,69 @@ export default {
* @param { string } endTime 结束时间
* @param { string } startTime 开始时间
*/
async handleFindPoint(start, end) {
try {
const startTime = start || this.$moment().startOf('month').valueOf();
const endTime = end || this.$moment().endOf('month').valueOf();
const data = await this.$u.api.findRedPoint(startTime, endTime);
this.setDotList(data);
} catch (error) {
console.log('error: ', error);
}
},
// async handleFindPoint(start, end) {
// try {
// const startTime = start || this.$moment().startOf('month').valueOf();
// const endTime = end || this.$moment().endOf('month').valueOf();
// const data = await this.$u.api.findRedPoint(startTime, endTime);
// this.setDotList(data);
// } catch (error) {
// console.log('error: ', error);
// }
// },
//
onDateChange(event) {
const day = this.$moment(event.fullDate);
const start = day.startOf('date').valueOf();
const end = day.endOf('date').valueOf();
this.getProjects(start, end);
},
// onDateChange(event) {
// const day = this.$moment(event.fullDate);
// const start = day.startOf('date').valueOf();
// const end = day.endOf('date').valueOf();
// this.getProjects(start, end);
// },
// /
onMove(event) {
const y = event.changedTouches[0].pageY;
if (y - prevY > 0) {
// weekMode=true weekMode=false
this.calendar.weekMode && (this.calendar.weekMode = false);
} else if (y - prevY < 0) {
// weekMode=false weekMode=true
!this.calendar.weekMode && (this.calendar.weekMode = true);
}
prevY = y;
this.calendar.initDate();
},
// onMove(event) {
// console.log('event: ', event);
// const y = event.changedTouches[0].pageY;
// if (y - prevY > 0) {
// // weekMode=true weekMode=false
// this.calendar.weekMode && (this.calendar.weekMode = false);
// } else if (y - prevY < 0) {
// // weekMode=false weekMode=true
// !this.calendar.weekMode && (this.calendar.weekMode = true);
// }
// prevY = y;
// this.calendar.initDate();
// },
//
onUploadSuccess() {
this.$refs.uTips.show({
title: '导入成功,即将打开新项目',
type: 'success',
duration: '3000',
});
},
// onUploadSuccess() {
// this.$refs.uTips.show({
// title: '',
// type: 'success',
// duration: '3000',
// });
// },
//
onUploadError(error) {
this.$refs.uTips.show({
title: error || '导入失败',
type: 'error',
duration: '6000',
});
},
// onUploadError(error) {
// this.$refs.uTips.show({
// title: error || '',
// type: 'error',
// duration: '6000',
// });
// },
//
openFirstProject(project) {
const { name, id, url } = project;
url && (uni.$t.domain = url);
this.$u.route('pages/project-webview/project-webview', {
u: this.userId,
p: id,
pname: name,
url: encodeURIComponent(url),
});
},
// openFirstProject(project) {
// const { name, id, url } = project;
// url && (uni.$t.domain = url);
// this.$u.route('pages/project-webview/project-webview', {
// u: this.userId,
// p: id,
// pname: name,
// url: encodeURIComponent(url),
// });
// },
},
};
</script>
@ -167,4 +230,23 @@ page {
height: 100%;
overflow: hidden;
}
.news-title {
font-weight: bold;
font-size: 32rpx;
border-left: 4rpx solid #3dadff;
margin: 0 25rpx 25rpx 25rpx;
padding-left: 16rpx;
}
.news-content {
width: calc(100% - 50rpx);
font-size: 28rpx;
margin: 0 25rpx 25rpx 25rpx;
padding: 16rpx 0;
border-bottom: 1px solid #ccc;
display: inline-block;
text-align: justify;
text-justify: distribute-all-lines; // ie
// text-align-last: justify;
text-align-last: left;
}
</style>

BIN
src/static/image.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
src/static/图1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

BIN
src/static/图2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 KiB

BIN
src/static/图3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

Loading…
Cancel
Save