Browse Source

病例bug处理

main
kola-web 6 months ago
parent
commit
9973ffa433
  1. 11
      README.md
  2. 4
      project.private.config.json
  3. 11
      src/components/customRecord/index.ts
  4. 2
      src/components/popupDoctorDetail/index.scss
  5. 2
      src/components/popupDoctorDetail/index.wxml
  6. 6
      src/components/uploadFile/index.ts
  7. 3
      src/custom-tab-bar/index.scss
  8. 47
      src/custom-tab-bar/index.ts
  9. 9
      src/custom-tab-bar/index.wxml
  10. 8
      src/echart/components/homeLevel1/index.scss
  11. 10
      src/echart/components/homeLevel2/index.scss
  12. 8
      src/echart/components/homeLevel3/index.scss
  13. 12
      src/echart/components/homeLevel4/index.scss
  14. BIN
      src/images/icon-del-dark.png
  15. 2
      src/module1/pages/auditDoctorDetail/index.scss
  16. 2
      src/module1/pages/cHostipal/index.scss
  17. 60
      src/module1/pages/casesDetail/index.scss
  18. 12
      src/module1/pages/casesDetail/index.ts
  19. 37
      src/module1/pages/casesDetail/index.wxml
  20. 3
      src/module1/pages/casesFeedback/index.scss
  21. 12
      src/module1/pages/casesFeedback/index.ts
  22. 8
      src/module1/pages/casesFeedback/index.wxml
  23. 3
      src/module1/pages/entryCases/index.json
  24. 3
      src/module1/pages/entryCases/index.scss
  25. 68
      src/module1/pages/entryCases/index.ts
  26. 14
      src/module1/pages/entryCases/index.wxml
  27. 2
      src/module1/pages/entryCasesResult/index.json
  28. 6
      src/module1/pages/entryCasesResult/index.ts
  29. 4
      src/module1/pages/entryCasesResult/index.wxml
  30. 2
      src/module1/pages/invite/index.scss
  31. 17
      src/module1/pages/login/index.ts
  32. 6
      src/module1/pages/org3/index.scss
  33. 6
      src/module1/pages/org4/index.scss
  34. 7
      src/module1/pages/sHostipal/index.ts
  35. 4
      src/module1/pages/sHostipal/index.wxml
  36. 20
      src/module1/pages/setCaseDoctor/index.scss
  37. 18
      src/module1/pages/setCaseDoctor/index.ts
  38. 5
      src/module1/pages/setCaseDoctor/index.wxml
  39. 20
      src/module1/pages/setDoctor/index.scss
  40. 36
      src/module1/pages/setDoctor/index.ts
  41. 7
      src/module1/pages/setDoctor/index.wxml
  42. 4
      src/module1/pages/setInfo/index.scss
  43. 2
      src/module1/pages/setInfo/index.ts
  44. 2
      src/module1/pages/setInfo/index.wxml
  45. 2
      src/module1/pages/userInfo/index.ts
  46. 46
      src/pages/cases/index.scss
  47. 49
      src/pages/cases/index.ts
  48. 25
      src/pages/cases/index.wxml
  49. 2
      src/pages/chatRoomList/index.scss
  50. 19
      src/pages/chatRoomList/index.ts
  51. 5
      src/pages/home/index.ts
  52. 2
      src/pages/home/index.wxml
  53. 2
      src/pages/my/index.scss
  54. 19
      src/pages/my/index.ts

11
README.md

@ -9,10 +9,19 @@ https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c
images svn 地址 images svn 地址
svn://39.106.86.127:28386/projects/takeda/proj_src/shop/frontend/web/wt svn://39.106.86.127:28386/projects/takeda/proj_src/shop/frontend/web/wt
(/images/)(\S*(?=["|'])) (/images/)(\S\*(?=["|']))
{{imageUrl}}$2?t={{Timestamp}} {{imageUrl}}$2?t={{Timestamp}}
ui问题 ui问题
1. 首页绑定医生弹窗需要重新切图 1. 首页绑定医生弹窗需要重新切图
2. 播放语音条图片没切 2. 播放语音条图片没切
showModel颜色统一
```ts
wx.showModal({
confirmColor: "#00B4C5",
cancelColor: "#141515",
});
```

4
project.private.config.json

@ -9,7 +9,7 @@
"miniprogram": { "miniprogram": {
"list": [ "list": [
{ {
"name": "病详情", "name": "病详情",
"pathName": "module1/pages/casesDetail/index", "pathName": "module1/pages/casesDetail/index",
"query": "id=25", "query": "id=25",
"launchMode": "default", "launchMode": "default",
@ -79,7 +79,7 @@
"scene": null "scene": null
}, },
{ {
"name": "录入病结果", "name": "录入病结果",
"pathName": "module1/pages/entryCasesResult/index", "pathName": "module1/pages/entryCasesResult/index",
"query": "", "query": "",
"launchMode": "default", "launchMode": "default",

11
src/components/customRecord/index.ts

@ -63,6 +63,13 @@ Component({
}); });
recorderManager.onStop((res) => { recorderManager.onStop((res) => {
this.handleHide(); this.handleHide();
if (res.duration < 1000) {
wx.showToast({
title: "录音时间太短",
icon: "none",
});
return;
}
this.uploadFile({ this.uploadFile({
fileType: "audio", fileType: "audio",
tempFilePath: res.tempFilePath, tempFilePath: res.tempFilePath,
@ -85,6 +92,8 @@ Component({
fail() { fail() {
// 用户拒绝了授权 // 用户拒绝了授权
wx.showModal({ wx.showModal({
confirmColor: "#00B4C5",
cancelColor: "#141515",
title: "提示", title: "提示",
content: "需要获取录音权限,请点击确定进入设置页面进行授权。", content: "需要获取录音权限,请点击确定进入设置页面进行授权。",
showCancel: false, showCancel: false,
@ -148,7 +157,7 @@ Component({
const suffix = this.GetExtensionFileName(data.data.Url); const suffix = this.GetExtensionFileName(data.data.Url);
const expandJson = { const expandJson = {
fileId: "", fileId: "",
name: `相关文件.${suffix}`, name: `相关文件.${suffix}`,
size: (item.size / 1024).toFixed(2), size: (item.size / 1024).toFixed(2),
fileUrl: data.data.Url, fileUrl: data.data.Url,
suffix, suffix,

2
src/components/popupDoctorDetail/index.scss

@ -99,7 +99,7 @@
color: rgba(0, 180, 197, 1); color: rgba(0, 180, 197, 1);
line-height: 32rpx; line-height: 32rpx;
border-radius: 4rpx 4rpx 4rpx 4rpx; border-radius: 4rpx 4rpx 4rpx 4rpx;
border: 1rpx solid #bfeff4; border: 1px solid #bfeff4;
} }
} }
.brief-introduction { .brief-introduction {

2
src/components/popupDoctorDetail/index.wxml

@ -20,7 +20,7 @@
<view class="hostipal"> <view class="hostipal">
<view class="h-name">{{params.HospitalName}}</view> <view class="h-name">{{params.HospitalName}}</view>
<view class="h-tag">{{params.HospitalClassificationName}}{{params.HospitalLevelName}}</view> <view class="h-tag">{{params.HospitalClassificationName}}{{params.HospitalLevelName}}</view>
<view class="h-site">{{params.CityName}}/{{params.CountyName}}</view> <view class="h-site" wx:if="{{params.CityName}}">{{params.CityName}}{{params.CountyName?'/':''}}{{params.CountyName}}</view>
</view> </view>
</view> </view>
<view class="row"> <view class="row">

6
src/components/uploadFile/index.ts

@ -75,10 +75,12 @@ Component({
this.triggerEvent("file", res as object); this.triggerEvent("file", res as object);
}); });
}, },
fail: () => { fail: (err) => {
if (err.errMsg.includes("开发者工具")) {
this.uploadFile(e.detail.file).then((res) => { this.uploadFile(e.detail.file).then((res) => {
this.triggerEvent("file", res as object); this.triggerEvent("file", res as object);
}); });
}
}, },
}); });
} else { } else {
@ -148,7 +150,7 @@ Component({
const suffix = this.GetExtensionFileName(data.data.Url); const suffix = this.GetExtensionFileName(data.data.Url);
const expandJson = { const expandJson = {
fileId: "", fileId: "",
name: `相关文件.${suffix}`, name: `相关文件.${suffix}`,
size: (item.size / 1024).toFixed(2), size: (item.size / 1024).toFixed(2),
fileUrl: data.data.Url, fileUrl: data.data.Url,
suffix, suffix,

3
src/custom-tab-bar/index.scss

@ -8,7 +8,7 @@
flex-shrink: 0; flex-shrink: 0;
position: relative; position: relative;
width: 94rpx; width: 94rpx;
height: 94rpx; height: 64rpx;
.add { .add {
position: absolute; position: absolute;
top: -42rpx; top: -42rpx;
@ -69,6 +69,7 @@
} }
} }
.tab-item { .tab-item {
padding-top: 10rpx;
flex: 1; flex: 1;
display: flex; display: flex;
flex-direction: column; flex-direction: column;

47
src/custom-tab-bar/index.ts

@ -1,4 +1,4 @@
const _app = getApp<IAppOption>() const _app = getApp<IAppOption>();
// pages/story/a.ts // pages/story/a.ts
Component({ Component({
@ -15,38 +15,39 @@ Component({
active: 0, active: 0,
tabbar: [ tabbar: [
{ {
path: '/pages/home/index', path: "/pages/home/index",
name: '首页', name: "首页",
icon: 'tab1.png', icon: "tab1.png",
iconActive: 'tab-active1.png', iconActive: "tab-active1.png",
activeIndex: 1, activeIndex: 1,
}, },
{ {
path: '/pages/cases/index', path: "/pages/cases/index",
name: '病历', name: "病历",
icon: 'tab2.png', icon: "tab2.png",
iconActive: 'tab-active2.png', iconActive: "tab-active2.png",
activeIndex: 2, activeIndex: 2,
}, },
{ {
custom: true, custom: true,
path: '/module1/pages/entryCases/index', path: "/module1/pages/entryCases/index",
}, },
{ {
path: '/pages/chatRoomList/index', path: "/pages/chatRoomList/index",
name: '聊天室', name: "聊天室",
icon: 'tab3.png', icon: "tab3.png",
iconActive: 'tab-active3.png', iconActive: "tab-active3.png",
activeIndex: 3, activeIndex: 3,
}, },
{ {
path: '/pages/my/index', path: "/pages/my/index",
name: '我的', name: "我的",
icon: 'tab4.png', icon: "tab4.png",
iconActive: 'tab-active3.png', iconActive: "tab-active4.png",
activeIndex: 4, activeIndex: 4,
}, },
], ],
userInfo: {},
}, },
/** /**
@ -54,17 +55,17 @@ Component({
*/ */
methods: { methods: {
handleTab(e: any) { handleTab(e: any) {
const { index } = e.currentTarget.dataset const { index } = e.currentTarget.dataset;
const tab = this.data.tabbar[index] const tab = this.data.tabbar[index];
if (tab.custom) { if (tab.custom) {
wx.navigateTo({ wx.navigateTo({
url: tab.path, url: tab.path,
}) });
} else { } else {
wx.switchTab({ wx.switchTab({
url: tab.path, url: tab.path,
}) });
} }
}, },
}, },
}) });

9
src/custom-tab-bar/index.wxml

@ -1,6 +1,6 @@
<view class="tabbar"> <view class="tabbar">
<block wx:for="{{tabbar}}" wx:key="index"> <block wx:for="{{tabbar}}" wx:key="index">
<view class="custom" wx:if="{{item.custom}}" bind:tap="handleTab" data-index="{{index}}"> <view class="custom" wx:if="{{item.custom && userInfo.DoctorLevel<3}}" bind:tap="handleTab" data-index="{{index}}">
<image class="add" src="{{imageUrl}}tabbar/add.png?t={{Timestamp}}"></image> <image class="add" src="{{imageUrl}}tabbar/add.png?t={{Timestamp}}"></image>
<view class="popup-tip" wx:if="{{showEntryCase}}"> <view class="popup-tip" wx:if="{{showEntryCase}}">
<view class="content"> <view class="content">
@ -16,7 +16,12 @@
</view> </view>
</view> </view>
</view> </view>
<view class="tab-item {{active===item.activeIndex &&'active'}}" wx:else bind:tap="handleTab" data-index="{{index}}"> <view
class="tab-item {{active===item.activeIndex &&'active'}}"
wx:elif="{{!item.custom}}"
bind:tap="handleTab"
data-index="{{index}}"
>
<image class="icon" src="{{imageUrl}}tabbar/{{item.icon}}?t={{Timestamp}}"></image> <image class="icon" src="{{imageUrl}}tabbar/{{item.icon}}?t={{Timestamp}}"></image>
<image class="icon-active" src="{{imageUrl}}tabbar/{{item.iconActive}}?t={{Timestamp}}"></image> <image class="icon-active" src="{{imageUrl}}tabbar/{{item.iconActive}}?t={{Timestamp}}"></image>
<view class="name">{{item.name}}</view> <view class="name">{{item.name}}</view>

8
src/echart/components/homeLevel1/index.scss

@ -67,7 +67,7 @@
box-sizing: border-box; box-sizing: border-box;
background: linear-gradient(180deg, #dcf5f7 0%, #ffffff 100%); background: linear-gradient(180deg, #dcf5f7 0%, #ffffff 100%);
border-radius: 24rpx 24rpx 24rpx 24rpx; border-radius: 24rpx 24rpx 24rpx 24rpx;
border: 1rpx solid #ffffff; border: 1px solid #ffffff;
} }
.bg { .bg {
padding-top: 40rpx; padding-top: 40rpx;
@ -77,7 +77,7 @@
.b-container { .b-container {
position: relative; position: relative;
z-index: 2; z-index: 2;
border: 1rpx solid #ffffff; border: 1px solid #ffffff;
background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%); background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%);
border-radius: 16rpx 16rpx 16rpx 16rpx; border-radius: 16rpx 16rpx 16rpx 16rpx;
display: flex; display: flex;
@ -117,7 +117,7 @@
color: #fff; color: #fff;
background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%); background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%);
border-radius: 16rpx 16rpx 16rpx 16rpx; border-radius: 16rpx 16rpx 16rpx 16rpx;
border: 1rpx solid #ffffff; border: 1px solid #ffffff;
} }
} }
} }
@ -316,7 +316,7 @@
font-size: 22rpx; font-size: 22rpx;
color: rgba(0, 180, 197, 1); color: rgba(0, 180, 197, 1);
line-height: 32rpx; line-height: 32rpx;
border: 1rpx solid rgba(191, 239, 244, 1); border: 1px solid rgba(191, 239, 244, 1);
} }
} }
} }

10
src/echart/components/homeLevel2/index.scss

@ -86,7 +86,7 @@
font-size: 22rpx; font-size: 22rpx;
color: rgba(0, 180, 197, 1); color: rgba(0, 180, 197, 1);
line-height: 32rpx; line-height: 32rpx;
border: 1rpx solid rgba(191, 239, 244, 1); border: 1px solid rgba(191, 239, 244, 1);
} }
} }
} }
@ -106,7 +106,7 @@
box-sizing: border-box; box-sizing: border-box;
background: linear-gradient(180deg, #dcf5f7 0%, #ffffff 100%); background: linear-gradient(180deg, #dcf5f7 0%, #ffffff 100%);
border-radius: 24rpx 24rpx 24rpx 24rpx; border-radius: 24rpx 24rpx 24rpx 24rpx;
border: 1rpx solid #ffffff; border: 1px solid #ffffff;
} }
.bg { .bg {
padding-top: 40rpx; padding-top: 40rpx;
@ -116,7 +116,7 @@
.b-container { .b-container {
position: relative; position: relative;
z-index: 2; z-index: 2;
border: 1rpx solid #ffffff; border: 1px solid #ffffff;
background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%); background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%);
border-radius: 16rpx 16rpx 16rpx 16rpx; border-radius: 16rpx 16rpx 16rpx 16rpx;
display: flex; display: flex;
@ -156,7 +156,7 @@
color: #fff; color: #fff;
background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%); background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%);
border-radius: 16rpx 16rpx 16rpx 16rpx; border-radius: 16rpx 16rpx 16rpx 16rpx;
border: 1rpx solid #ffffff; border: 1px solid #ffffff;
} }
} }
} }
@ -376,7 +376,7 @@
font-size: 22rpx; font-size: 22rpx;
color: rgba(0, 180, 197, 1); color: rgba(0, 180, 197, 1);
line-height: 32rpx; line-height: 32rpx;
border: 1rpx solid rgba(191, 239, 244, 1); border: 1px solid rgba(191, 239, 244, 1);
} }
} }
} }

8
src/echart/components/homeLevel3/index.scss

@ -86,7 +86,7 @@
font-size: 22rpx; font-size: 22rpx;
color: rgba(0, 180, 197, 1); color: rgba(0, 180, 197, 1);
line-height: 32rpx; line-height: 32rpx;
border: 1rpx solid rgba(191, 239, 244, 1); border: 1px solid rgba(191, 239, 244, 1);
} }
} }
} }
@ -106,7 +106,7 @@
box-sizing: border-box; box-sizing: border-box;
background: linear-gradient(180deg, #dcf5f7 0%, #ffffff 100%); background: linear-gradient(180deg, #dcf5f7 0%, #ffffff 100%);
border-radius: 24rpx 24rpx 24rpx 24rpx; border-radius: 24rpx 24rpx 24rpx 24rpx;
border: 1rpx solid #ffffff; border: 1px solid #ffffff;
} }
.bg { .bg {
padding-top: 40rpx; padding-top: 40rpx;
@ -116,7 +116,7 @@
.b-container { .b-container {
position: relative; position: relative;
z-index: 2; z-index: 2;
border: 1rpx solid #ffffff; border: 1px solid #ffffff;
background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%); background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%);
border-radius: 16rpx 16rpx 16rpx 16rpx; border-radius: 16rpx 16rpx 16rpx 16rpx;
display: flex; display: flex;
@ -156,7 +156,7 @@
color: #fff; color: #fff;
background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%); background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%);
border-radius: 16rpx 16rpx 16rpx 16rpx; border-radius: 16rpx 16rpx 16rpx 16rpx;
border: 1rpx solid #ffffff; border: 1px solid #ffffff;
} }
} }
} }

12
src/echart/components/homeLevel4/index.scss

@ -86,7 +86,7 @@
font-size: 22rpx; font-size: 22rpx;
color: rgba(0, 180, 197, 1); color: rgba(0, 180, 197, 1);
line-height: 32rpx; line-height: 32rpx;
border: 1rpx solid rgba(191, 239, 244, 1); border: 1px solid rgba(191, 239, 244, 1);
} }
} }
} }
@ -106,7 +106,7 @@
box-sizing: border-box; box-sizing: border-box;
background: linear-gradient(180deg, #dcf5f7 0%, #ffffff 100%); background: linear-gradient(180deg, #dcf5f7 0%, #ffffff 100%);
border-radius: 24rpx 24rpx 24rpx 24rpx; border-radius: 24rpx 24rpx 24rpx 24rpx;
border: 1rpx solid #ffffff; border: 1px solid #ffffff;
} }
.bg { .bg {
padding-top: 40rpx; padding-top: 40rpx;
@ -116,7 +116,7 @@
.b-container { .b-container {
position: relative; position: relative;
z-index: 2; z-index: 2;
border: 1rpx solid #ffffff; border: 1px solid #ffffff;
background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%); background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%);
border-radius: 16rpx 16rpx 16rpx 16rpx; border-radius: 16rpx 16rpx 16rpx 16rpx;
display: flex; display: flex;
@ -156,7 +156,7 @@
color: #fff; color: #fff;
background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%); background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%);
border-radius: 16rpx 16rpx 16rpx 16rpx; border-radius: 16rpx 16rpx 16rpx 16rpx;
border: 1rpx solid #ffffff; border: 1px solid #ffffff;
} }
} }
} }
@ -185,7 +185,7 @@
color: rgba(133, 133, 133, 1); color: rgba(133, 133, 133, 1);
background: #ffffff; background: #ffffff;
border-radius: 98rpx 98rpx 98rpx 98rpx; border-radius: 98rpx 98rpx 98rpx 98rpx;
border: 1rpx solid #f6f6f6; border: 1px solid #f6f6f6;
} }
} }
.more { .more {
@ -339,7 +339,7 @@
color: rgba(133, 133, 133, 1); color: rgba(133, 133, 133, 1);
background: #ffffff; background: #ffffff;
border-radius: 98rpx 98rpx 98rpx 98rpx; border-radius: 98rpx 98rpx 98rpx 98rpx;
border: 1rpx solid #f6f6f6; border: 1px solid #f6f6f6;
} }
} }
} }

BIN
src/images/icon-del-dark.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

2
src/module1/pages/auditDoctorDetail/index.scss

@ -85,7 +85,7 @@ page {
font-size: 32rpx; font-size: 32rpx;
color: rgba(1, 180, 197, 1); color: rgba(1, 180, 197, 1);
border-radius: 96rpx 96rpx 96rpx 96rpx; border-radius: 96rpx 96rpx 96rpx 96rpx;
border: 1rpx solid #01b4c5; border: 1px solid #01b4c5;
} }
.submit { .submit {
width: 330rpx; width: 330rpx;

2
src/module1/pages/cHostipal/index.scss

@ -113,7 +113,7 @@ page {
font-size: 32rpx; font-size: 32rpx;
color: rgba(1, 180, 197, 1); color: rgba(1, 180, 197, 1);
border-radius: 96rpx 96rpx 96rpx 96rpx; border-radius: 96rpx 96rpx 96rpx 96rpx;
border: 1rpx solid #01b4c5; border: 1px solid #01b4c5;
} }
.submit { .submit {
width: 330rpx; width: 330rpx;

60
src/module1/pages/casesDetail/index.scss

@ -113,7 +113,7 @@ page {
font-size: 22rpx; font-size: 22rpx;
color: rgba(0, 180, 197, 1); color: rgba(0, 180, 197, 1);
line-height: 32rpx; line-height: 32rpx;
border: 1rpx solid #bfeff4; border: 1px solid #bfeff4;
border-radius: 4rpx; border-radius: 4rpx;
} }
} }
@ -204,7 +204,7 @@ page {
line-height: 32rpx; line-height: 32rpx;
background: #ffffff; background: #ffffff;
border-radius: 4rpx 4rpx 4rpx 4rpx; border-radius: 4rpx 4rpx 4rpx 4rpx;
border: 1rpx solid #bfeff4; border: 1px solid #bfeff4;
} }
} }
.edit-tag { .edit-tag {
@ -252,6 +252,9 @@ page {
display: flex; display: flex;
gap: 28rpx; gap: 28rpx;
align-items: center; align-items: center;
&:not(:last-of-type) {
margin-bottom: 24rpx;
}
.audio-bar { .audio-bar {
flex: 1; flex: 1;
border-radius: 104rpx; border-radius: 104rpx;
@ -333,10 +336,54 @@ page {
width: 136rpx; width: 136rpx;
height: 44rpx; height: 44rpx;
} }
.gather { .option {
position: relative;
padding: 12rpx 32rpx; padding: 12rpx 32rpx;
width: 48rpx; width: 48rpx;
height: 48rpx; height: 48rpx;
.o-icon {
width: 48rpx;
height: 48rpx;
}
.option-popup {
display: none;
position: absolute;
top: -5rpx;
left: 30%;
transform: translate(-50%, -100%);
border-radius: 8rpx;
background-color: #fff;
box-shadow: 0 4rpx 24rpx rgba(0, 0, 0, 0.1);
.op-row {
padding: 24rpx;
display: flex;
align-items: center;
white-space: nowrap;
gap: 20rpx;
font-size: 28rpx;
color: #141515;
.icon {
width: 36rpx;
height: 36rpx;
}
}
&::after {
position: absolute;
bottom: -12rpx;
left: 45%;
content: "";
width: 0;
height: 0;
border-style: solid;
border-width: 27rpx 27rpx 0 27rpx;
border-color: #fff transparent transparent transparent;
}
}
&:hover {
.option-popup {
display: block;
}
}
} }
} }
.li-row { .li-row {
@ -397,7 +444,7 @@ page {
font-size: 22rpx; font-size: 22rpx;
color: rgba(0, 180, 197, 1); color: rgba(0, 180, 197, 1);
line-height: 32rpx; line-height: 32rpx;
border: 1rpx solid #bfeff4; border: 1px solid #bfeff4;
border-radius: 4rpx; border-radius: 4rpx;
} }
} }
@ -501,6 +548,9 @@ page {
display: flex; display: flex;
gap: 28rpx; gap: 28rpx;
align-items: center; align-items: center;
&:not(:last-of-type) {
margin-bottom: 24rpx;
}
.audio-bar { .audio-bar {
flex: 1; flex: 1;
border-radius: 104rpx; border-radius: 104rpx;
@ -670,7 +720,7 @@ page {
font-size: 22rpx; font-size: 22rpx;
color: rgba(0, 180, 197, 1); color: rgba(0, 180, 197, 1);
line-height: 32rpx; line-height: 32rpx;
border: 1rpx solid rgba(191, 239, 244, 1); border: 1px solid rgba(191, 239, 244, 1);
} }
} }
} }

12
src/module1/pages/casesDetail/index.ts

@ -2,10 +2,10 @@ const app = getApp<IAppOption>();
Page({ Page({
data: { data: {
show1: false, // 驳回病 show1: false, // 驳回病
show2: false, // 优质病 show2: false, // 优质病
show3: false, // 归档 show3: false, // 归档
show4: false, // 取消优质病 show4: false, // 取消优质病
show5: false, // 取消归档 show5: false, // 取消归档
show6: false, // 创建聊天室 show6: false, // 创建聊天室
show7: false, // 更改标签 show7: false, // 更改标签
@ -374,6 +374,8 @@ Page({
const { detail, id } = this.data; const { detail, id } = this.data;
const isOpen = detail.isOpen === "1"; const isOpen = detail.isOpen === "1";
wx.showModal({ wx.showModal({
confirmColor: "#00B4C5",
cancelColor: "#141515",
title: `确认${isOpen ? "取消公开" : "公开"}?`, title: `确认${isOpen ? "取消公开" : "公开"}?`,
success: (res) => { success: (res) => {
if (res.confirm) { if (res.confirm) {
@ -420,6 +422,8 @@ Page({
handleDel() { handleDel() {
const { id } = this.data; const { id } = this.data;
wx.showModal({ wx.showModal({
confirmColor: "#00B4C5",
cancelColor: "#141515",
title: `确认删除?`, title: `确认删除?`,
success: (res) => { success: (res) => {
if (res.confirm) { if (res.confirm) {
@ -450,6 +454,8 @@ Page({
const { detail } = this.data; const { detail } = this.data;
const item = detail.feedbackList[index]; const item = detail.feedbackList[index];
wx.showModal({ wx.showModal({
confirmColor: "#00B4C5",
cancelColor: "#141515",
title: `确认删除该反馈?`, title: `确认删除该反馈?`,
success: (res) => { success: (res) => {
if (res.confirm) { if (res.confirm) {

37
src/module1/pages/casesDetail/index.wxml

@ -3,7 +3,7 @@
<view class="detail-card"> <view class="detail-card">
<view class="li-header"> <view class="li-header">
<view class="wrap"> <view class="wrap">
<view class="id">ID:{{detail.caseId}}</view> <view class="id">ID:{{detail.caseNo}}</view>
<view class="status status3" wx:if="{{detail.caseStatus==='1'}}">{{detail.caseStatusName}}</view> <view class="status status3" wx:if="{{detail.caseStatus==='1'}}">{{detail.caseStatusName}}</view>
<view class="status status2" wx:elif="{{detail.caseStatus==='2'}}">{{detail.caseStatusName}}</view> <view class="status status2" wx:elif="{{detail.caseStatus==='2'}}">{{detail.caseStatusName}}</view>
<view class="status status1" wx:elif="{{detail.caseStatus==='3'}}">{{detail.caseStatusName}}</view> <view class="status status1" wx:elif="{{detail.caseStatus==='3'}}">{{detail.caseStatusName}}</view>
@ -37,7 +37,9 @@
<view class="tag"> <view class="tag">
{{detail.createDoctorInfo.hospitalClassificationName}}{{detail.createDoctorInfo.hospitalLevelName}} {{detail.createDoctorInfo.hospitalClassificationName}}{{detail.createDoctorInfo.hospitalLevelName}}
</view> </view>
<view class="site">{{detail.createDoctorInfo.cityName}}/{{detail.createDoctorInfo.countyName}}</view> <view class="site" wx:if="{{detail.createDoctorInfo.cityName}}">
{{detail.createDoctorInfo.cityName}}{{detail.createDoctorInfo.countyName?'/':''}}{{detail.createDoctorInfo.countyName}}
</view>
</view> </view>
</view> </view>
</view> </view>
@ -80,7 +82,7 @@
<view class="file-list"> <view class="file-list">
<view class="fl-row" wx:for="{{detail.caseFiles}}" wx:key="url"> <view class="fl-row" wx:for="{{detail.caseFiles}}" wx:key="url">
<view class="wrap"> <view class="wrap">
<image class="icon" src="{{imageUrl}}icon-file.png?t={{Timestamp}}"></image> <image class="icon" src="{{imageUrl}}icon-file{{item.fileType}}.png?t={{Timestamp}}"></image>
<view class="name">{{item.name}}</view> <view class="name">{{item.name}}</view>
</view> </view>
<view class="option"> <view class="option">
@ -110,13 +112,15 @@
src="{{imageUrl}}self.png?t={{Timestamp}}" src="{{imageUrl}}self.png?t={{Timestamp}}"
mode="scaleToFill" mode="scaleToFill"
></image> ></image>
<image <view wx:if="{{item.isSelf===1}}" class="option">
wx:if="{{item.isSelf===1}}" <image class="o-icon" src="{{imageUrl}}icon-gather.png?t={{Timestamp}}"></image>
class="gather" <view class="option-popup">
src="{{imageUrl}}icon-gather.png?t={{Timestamp}}" <view class="op-row" bind:tap="handleDelFeedBack" data-index="{{index}}">
bind:tap="handleDelFeedBack" <image class="icon" src="{{imageUrl}}icon-del-dark.png?t={{Timestamp}}"></image>
data-index="{{index}}" 删除
></image> </view>
</view>
</view>
</view> </view>
<view class="li-row"> <view class="li-row">
<view class="label">提交时间</view> <view class="label">提交时间</view>
@ -142,13 +146,15 @@
<view class="tag"> <view class="tag">
{{item.createDoctorInfo.hospitalClassificationName}}{{item.createDoctorInfo.hospitalLevelName}} {{item.createDoctorInfo.hospitalClassificationName}}{{item.createDoctorInfo.hospitalLevelName}}
</view> </view>
<view class="site">{{item.createDoctorInfo.cityName}}/{{item.createDoctorInfo.countyName}}</view> <view class="site" wx:if="{{item.createDoctorInfo.cityName}}">
{{item.createDoctorInfo.cityName}}{{item.createDoctorInfo.countyName?'/':''}}{{item.createDoctorInfo.countyName}}
</view>
</view> </view>
</view> </view>
</view> </view>
<view class="cases {{item.fold && 'fold'}}"> <view class="cases {{item.fold && 'fold'}}">
<view class="remark" wx:if="{{item.info}}"> <view class="remark" wx:if="{{item.info}}">
<view class="r-title">对病的标注</view> <view class="r-title">对病的标注</view>
<view class="r-content">{{item.info}}</view> <view class="r-content">{{item.info}}</view>
</view> </view>
<view class="audio-list" wx:if="{{item.feedbackAudios.length}}"> <view class="audio-list" wx:if="{{item.feedbackAudios.length}}">
@ -176,7 +182,7 @@
<view class="file-list"> <view class="file-list">
<view class="fl-row" wx:for="{{item.feedbackFiles}}" wx:for-item="cItem" wx:key="url"> <view class="fl-row" wx:for="{{item.feedbackFiles}}" wx:for-item="cItem" wx:key="url">
<view class="wrap"> <view class="wrap">
<image class="icon" src="{{imageUrl}}icon-file.png?t={{Timestamp}}"></image> <image class="icon" src="{{imageUrl}}icon-file{{cItem.fileType}}.png?t={{Timestamp}}"></image>
<view class="name">{{cItem.name}}</view> <view class="name">{{cItem.name}}</view>
</view> </view>
<view class="option"> <view class="option">
@ -221,7 +227,7 @@
<view class="w-container"> <view class="w-container">
<text class="hostipal">{{dealDoctorInfo.hospitalName}}</text> <text class="hostipal">{{dealDoctorInfo.hospitalName}}</text>
<view class="tag">{{dealDoctorInfo.hospitalClassificationName}}{{dealDoctorInfo.hospitalLevelName}}</view> <view class="tag">{{dealDoctorInfo.hospitalClassificationName}}{{dealDoctorInfo.hospitalLevelName}}</view>
<view class="site">{{dealDoctorInfo.cityName}}/{{dealDoctorInfo.countyName}}</view> <view class="site" wx:if="{{dealDoctorInfo.cityName}}">{{dealDoctorInfo.cityName}}{{dealDoctorInfo.countyName?'/':''}}{{dealDoctorInfo.countyName}}</view>
</view> </view>
<view class="w-footer"> <view class="w-footer">
<image class="wf-label" src="{{imageUrl}}text-specialty.png?t={{Timestamp}}" mode="aspectFit"></image> <image class="wf-label" src="{{imageUrl}}text-specialty.png?t={{Timestamp}}" mode="aspectFit"></image>
@ -333,10 +339,9 @@
</view> </view>
<view class="w-item" wx:if="{{auth.canSetOpen && !foldAuth.canSetOpen}}" bind:tap="handleOpen"> <view class="w-item" wx:if="{{auth.canSetOpen && !foldAuth.canSetOpen}}" bind:tap="handleOpen">
<image class="icon" src="{{imageUrl}}case-detail-footer-icon8.png?t={{Timestamp}}"></image> <image class="icon" src="{{imageUrl}}case-detail-footer-icon8.png?t={{Timestamp}}"></image>
<view class="name">{{detail.isOpen==='1'?'公开':'取消公开'}}</view> <view class="name">{{detail.isOpen==='1'?'取消公开':'公开'}}</view>
</view> </view>
</view> </view>
<view class="btn-wrap" wx:if="{{auth.canFeedback}}"> <view class="btn-wrap" wx:if="{{auth.canFeedback}}">
<view class="btn1" bind:tap="handleFeedBack">提交反馈</view> <view class="btn1" bind:tap="handleFeedBack">提交反馈</view>
</view> </view>

3
src/module1/pages/casesFeedback/index.scss

@ -37,6 +37,7 @@ page {
.image-files { .image-files {
margin-top: 32rpx; margin-top: 32rpx;
display: flex; display: flex;
flex-wrap: wrap;
gap: 14rpx; gap: 14rpx;
.upload-file { .upload-file {
width: 144rpx; width: 144rpx;
@ -298,7 +299,7 @@ page {
font-size: 32rpx; font-size: 32rpx;
color: rgba(1, 180, 197, 1); color: rgba(1, 180, 197, 1);
border-radius: 96rpx 96rpx 96rpx 96rpx; border-radius: 96rpx 96rpx 96rpx 96rpx;
border: 1rpx solid #01b4c5; border: 1px solid #01b4c5;
} }
.disabled { .disabled {
opacity: 0.3; opacity: 0.3;

12
src/module1/pages/casesFeedback/index.ts

@ -23,6 +23,18 @@ Page({
DoctorLevel: res.DoctorLevel, DoctorLevel: res.DoctorLevel,
}); });
}); });
this.getAuth();
});
},
getAuth() {
wx.ajax({
method: "GET",
url: "?r=takeda/case/get-case-detail-op-auth",
data: { caseId: this.data.caseId },
}).then((res) => {
this.setData({
auth: res,
});
}); });
}, },
handlePhoto(e) { handlePhoto(e) {

8
src/module1/pages/casesFeedback/index.wxml

@ -8,9 +8,9 @@
placeholder-style="color:rgba(205, 205, 205, 1);" placeholder-style="color:rgba(205, 205, 205, 1);"
placeholder="请输入您的病历备注" placeholder="请输入您的病历备注"
auto-height auto-height
maxlength="{{3000}}" maxlength="{{1000}}"
></textarea> ></textarea>
<view class="limit">{{description.length}}/3000</view> <view class="limit">{{info.length}}/1000</view>
</view> </view>
<view class="audio-list"> <view class="audio-list">
<view class="row" wx:for="{{audios}}" wx:key="index"> <view class="row" wx:for="{{audios}}" wx:key="index">
@ -104,10 +104,10 @@
<view class="popup1"> <view class="popup1">
<view class="title">确认提交您的反馈信息</view> <view class="title">确认提交您的反馈信息</view>
<view class="btn1" bind:tap="handleSubmit">直接提交我的反馈信息</view> <view class="btn1" bind:tap="handleSubmit">直接提交我的反馈信息</view>
<view class="btn2" bind:tap="handleInvite">提交并邀约质控医生</view> <view class="btn2" bind:tap="handleInvite" wx:if="{{res.canFeedbackInvite}}">提交并邀约质控医生</view>
<view class="public"> <view class="public">
<radio class="radio" checked="{{isOpen===1}}" bind:tap="handleTogleOpen"> <radio class="radio" checked="{{isOpen===1}}" bind:tap="handleTogleOpen">
例公开(选择公开后,本科室医生均查看病例 历公开(选择公开后,本科室医生均查看病历
</radio> </radio>
</view> </view>
</view> </view>

3
src/module1/pages/entryCases/index.json

@ -6,6 +6,7 @@
"customRecord": "/components/customRecord/index", "customRecord": "/components/customRecord/index",
"customAudioBar": "/components/customAudioBar/index", "customAudioBar": "/components/customAudioBar/index",
"van-popup": "@vant/weapp/popup/index", "van-popup": "@vant/weapp/popup/index",
"van-nav-bar": "@vant/weapp/nav-bar/index" "van-nav-bar": "@vant/weapp/nav-bar/index",
"van-toast": "@vant/weapp/toast/index"
} }
} }

3
src/module1/pages/entryCases/index.scss

@ -37,6 +37,7 @@ page {
.image-files { .image-files {
margin-top: 32rpx; margin-top: 32rpx;
display: flex; display: flex;
flex-wrap: wrap;
gap: 14rpx; gap: 14rpx;
.upload-file { .upload-file {
width: 144rpx; width: 144rpx;
@ -298,7 +299,7 @@ page {
font-size: 32rpx; font-size: 32rpx;
color: rgba(1, 180, 197, 1); color: rgba(1, 180, 197, 1);
border-radius: 96rpx 96rpx 96rpx 96rpx; border-radius: 96rpx 96rpx 96rpx 96rpx;
border: 1rpx solid #01b4c5; border: 1px solid #01b4c5;
} }
.disabled{ .disabled{
opacity: 0.3; opacity: 0.3;

68
src/module1/pages/entryCases/index.ts

@ -1,3 +1,4 @@
import Toast from "@vant/weapp/toast/toast";
const app = getApp<IAppOption>(); const app = getApp<IAppOption>();
Page({ Page({
@ -20,9 +21,12 @@ Page({
DoctorLevel: 1, DoctorLevel: 1,
caseId: "", caseId: "",
edit: true,
}, },
onLoad(options) { onLoad(options) {
app.waitLogin().then(() => { app.waitLogin().then(() => {
this.getVisit();
this.getDoctorDict(); this.getDoctorDict();
this.getInviteDoctorList(); this.getInviteDoctorList();
app.getUserInfo(this, (res) => { app.getUserInfo(this, (res) => {
@ -38,6 +42,24 @@ Page({
} }
}); });
}, },
getVisit() {
wx.ajax({
method: "GET",
url: "?r=takeda/case/is-visit",
data: {},
}).then((res) => {
this.setData({
edit: res === 2,
});
});
},
postVisit() {
wx.ajax({
method: "POST",
url: "?r=takeda/case/visit",
data: {},
});
},
getDetail() { getDetail() {
wx.ajax({ wx.ajax({
method: "GET", method: "GET",
@ -51,7 +73,7 @@ Page({
description: res.description, description: res.description,
audios: res.caseAudios, audios: res.caseAudios,
files: res.caseFiles, files: res.caseFiles,
deptId: res.caseDeptId[0] || '', deptId: res.caseDeptId[0] || "",
labelIds: res.caseLabels.map((item) => item.labelId), labelIds: res.caseLabels.map((item) => item.labelId),
}); });
}); });
@ -80,7 +102,13 @@ Page({
}, },
handlePhoto(e) { handlePhoto(e) {
const detail = e.detail; const detail = e.detail;
const images = this.data.images; const { images, edit } = this.data;
if (edit) {
this.postVisit();
this.setData({
edit: false,
});
}
this.setData({ this.setData({
images: [ images: [
...images, ...images,
@ -112,10 +140,19 @@ Page({
}); });
}, },
handleDelAudio(e) { handleDelAudio(e) {
wx.showModal({
title: "确认删除?",
confirmColor: "#00B4C5",
cancelColor: "#141515",
success: (res) => {
if (res.confirm) {
const { index } = e.currentTarget.dataset; const { index } = e.currentTarget.dataset;
this.setData({ this.setData({
audios: this.data.audios.filter((_, i) => i !== Number(index)), audios: this.data.audios.filter((_, i) => i !== Number(index)),
}); });
}
},
});
}, },
handleFile(e) { handleFile(e) {
this.setData({ this.setData({
@ -134,10 +171,19 @@ Page({
}); });
}, },
handleDelFile(e) { handleDelFile(e) {
wx.showModal({
title: "确认删除?",
confirmColor: "#00B4C5",
cancelColor: "#141515",
success: (res) => {
if (res.confirm) {
const { index } = e.currentTarget.dataset; const { index } = e.currentTarget.dataset;
this.setData({ this.setData({
files: this.data.files.filter((_, i) => i !== Number(index)), files: this.data.files.filter((_, i) => i !== Number(index)),
}); });
}
},
});
}, },
handlePreviewFile(e) { handlePreviewFile(e) {
const { index } = e.currentTarget.dataset; const { index } = e.currentTarget.dataset;
@ -225,7 +271,14 @@ Page({
}); });
}, },
handleCache() { handleCache() {
const { caseId } = this.data; const { caseId, images, description, audios, files, deptId, labelIds } = this.data;
if (!images.length && !description && !audios.length && !files.length && !deptId && !labelIds.length) {
wx.showToast({
title: "请完善信息",
icon: "none",
});
return;
}
const params = this.formatParams(); const params = this.formatParams();
const url = caseId ? "?r=takeda/case/save-case" : "?r=takeda/case/create-case"; const url = caseId ? "?r=takeda/case/save-case" : "?r=takeda/case/create-case";
wx.ajax({ wx.ajax({
@ -245,7 +298,7 @@ Page({
const images = this.data.images; const images = this.data.images;
if (images.length === 0) { if (images.length === 0) {
wx.showToast({ wx.showToast({
title: "请上传病图片", title: "请上传病图片",
icon: "none", icon: "none",
}); });
return; return;
@ -260,13 +313,18 @@ Page({
}, },
}); });
}, },
handleNoInvite() {
Toast("您还没有合作医生,无法邀请医生讨论病历,可暂时存为草稿");
},
handleSave() {}, handleSave() {},
handleSubmit() {}, handleSubmit() {},
handleBack() { handleBack() {
wx.showModal({ wx.showModal({
confirmColor: "#00B4C5",
cancelColor: "#141515",
title: "您的病历还未保存,是否要存为草稿?", title: "您的病历还未保存,是否要存为草稿?",
confirmText: "存为草稿", confirmText: "存为草稿",
cancelColor: "退出", cancelText: "退出",
success: (res) => { success: (res) => {
if (res.confirm) { if (res.confirm) {
this.handleCache(); this.handleCache();

14
src/module1/pages/entryCases/index.wxml

@ -1,5 +1,5 @@
<wxs src="/utils/util.wxs" module="tools" /> <wxs src="/utils/util.wxs" module="tools" />
<van-nav-bar title="录入病" fixed bind:click-left="handleBack" bind:click-right="onClickRight"> <van-nav-bar title="录入病" fixed bind:click-left="handleBack" bind:click-right="onClickRight">
<van-icon name="arrow-left" slot="left" size="18px" /> <van-icon name="arrow-left" slot="left" size="18px" />
</van-nav-bar> </van-nav-bar>
<view class="page" style="padding-top:{{menuButtonInfo.top + 60}}px;"> <view class="page" style="padding-top:{{menuButtonInfo.top + 60}}px;">
@ -19,7 +19,7 @@
<view class="r-title">重复图片</view> <view class="r-title">重复图片</view>
</view> --> </view> -->
</view> </view>
<uploadFile obscure edit bind:file="handlePhoto"> <uploadFile obscure edit="{{edit}}" bind:file="handlePhoto" wx:if="{{images.length<9}}">
<view class="upload-file"> <view class="upload-file">
<van-icon class="add" name="plus" /> <van-icon class="add" name="plus" />
</view> </view>
@ -128,7 +128,7 @@
<view class="footer"> <view class="footer">
<view class="cancel" bind:tap="handleCache">存为草稿</view> <view class="cancel" bind:tap="handleCache">存为草稿</view>
<view wx:if="{{isInvite}}" class="submit" bind:tap="handleInvite">保存并提交</view> <view wx:if="{{isInvite}}" class="submit" bind:tap="handleInvite">保存并提交</view>
<view wx:else class="submit disabled">保存并提交</view> <view wx:else class="submit disabled" bind:tap="handleNoInvite">保存并提交</view>
</view> </view>
</view> </view>
@ -138,19 +138,21 @@
<view class="btn1" bind:tap="handleSubmit">直接提交我的反馈信息</view> <view class="btn1" bind:tap="handleSubmit">直接提交我的反馈信息</view>
<view class="btn2" bind:tap="handleInvite">提交并邀约质控医生</view> <view class="btn2" bind:tap="handleInvite">提交并邀约质控医生</view>
<view class="public"> <view class="public">
<radio class="radio">病例公开(选择公开后,本科室医生均查看病例)</radio> <radio class="radio">病历公开(选择公开后,本科室医生均查看病历)</radio>
</view> </view>
</view> </view>
</van-popup> </van-popup>
<van-popup show="{{ show2 }}" bind:close="onClose" round closeable> <van-popup show="{{ show2 }}" bind:close="onClose" round closeable>
<view class="popup2"> <view class="popup2">
<view class="title">您的病没有进行涂抹</view> <view class="title">您的病没有进行涂抹</view>
<!-- prettier-ignore --> <!-- prettier-ignore -->
<view class="content"> <view class="content">
请<text class="link">确认</text>上传的病 已不包含患者的隐私信息 请<text class="link">确认</text>上传的病 已不包含患者的隐私信息
</view> </view>
<view class="btn">确认继续提交</view> <view class="btn">确认继续提交</view>
<view class="cancel">返回</view> <view class="cancel">返回</view>
</view> </view>
</van-popup> </van-popup>
<van-toast id="van-toast" />

2
src/module1/pages/entryCasesResult/index.json

@ -1,5 +1,5 @@
{ {
"navigationBarTitleText": "录入新病", "navigationBarTitleText": "录入新病",
"navigationStyle": "default", "navigationStyle": "default",
"usingComponents": {} "usingComponents": {}
} }

6
src/module1/pages/entryCasesResult/index.ts

@ -13,9 +13,9 @@ Page({
isFollow: options.isf, isFollow: options.isf,
}); });
}, },
handleReSubmit() { handleBackCase() {
wx.navigateTo({ wx.reLaunch({
url: "/module1/pages/entryCases/index", url: "/pages/cases/index",
}); });
}, },
handleDetail() { handleDetail() {

4
src/module1/pages/entryCasesResult/index.wxml

@ -2,7 +2,7 @@
<image class="badge" src="{{imageUrl}}icon-resolve.png?t={{Timestamp}}" mode="scaleToFill"></image> <image class="badge" src="{{imageUrl}}icon-resolve.png?t={{Timestamp}}" mode="scaleToFill"></image>
<view class="desc">病历提交后医生将收到消息提醒</view> <view class="desc">病历提交后医生将收到消息提醒</view>
<view class="btn1" bind:tap="handleDetail">查看我提交的病历</view> <view class="btn1" bind:tap="handleDetail">查看我提交的病历</view>
<view class="btn2" bind:tap="handleReSubmit">继续录入新的病历</view> <view class="btn2" bind:tap="handleBackCase">返回病历列表</view>
<image class="code" src="{{codeUrl}}" mode="scaleToFill" show-menu-by-longpress></image> <image class="code" src="{{codeUrl}}" mode="scaleToFill" show-menu-by-longpress></image>
<view class="tip">关注公众号接收病反馈消息</view> <view class="tip">关注公众号接收病反馈消息</view>
</view> </view>

2
src/module1/pages/invite/index.scss

@ -101,7 +101,7 @@
text-align: center; text-align: center;
line-height: 88rpx; line-height: 88rpx;
border-radius: 96rpx 96rpx 96rpx 96rpx; border-radius: 96rpx 96rpx 96rpx 96rpx;
border: 1rpx solid #ffffff; border: 1px solid #ffffff;
} }
.share { .share {
flex: 1; flex: 1;

17
src/module1/pages/login/index.ts

@ -1,5 +1,5 @@
const app = getApp<IAppOption>(); const app = getApp<IAppOption>();
let timer = 0; let timer: number | null = 0;
Page({ Page({
data: { data: {
@ -85,8 +85,8 @@ Page({
mobile, mobile,
code, code,
}, },
}).then((_res) => { }).then((res) => {
this.submitCallback(); this.submitCallback(res);
}); });
}, },
handleWxSubmit(e: any) { handleWxSubmit(e: any) {
@ -107,15 +107,18 @@ Page({
iv: encodeURIComponent(iv), iv: encodeURIComponent(iv),
encryptedData: encodeURIComponent(encryptedData), encryptedData: encodeURIComponent(encryptedData),
}, },
}).then((_res) => { }).then((res) => {
this.submitCallback(); this.submitCallback(res);
}); });
} }
}, },
submitCallback() { submitCallback(res) {
app.globalData.isLogin = 1; app.globalData.isLogin = 1;
app.globalData.doctorId = res.doctorId;
app.waitLogin().then(() => { app.waitLogin().then(() => {
wx.reLaunch({ url: "/module1/pages/setInfo/index" }); wx.reLaunch({
url: "/pages/home/index",
});
}); });
}, },
handleProtool() { handleProtool() {

6
src/module1/pages/org3/index.scss

@ -14,7 +14,7 @@ page {
align-items: center; align-items: center;
background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%); background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%);
border-radius: 16rpx 16rpx 16rpx 16rpx; border-radius: 16rpx 16rpx 16rpx 16rpx;
border: 1rpx solid #ffffff; border: 1px solid #ffffff;
.item { .item {
flex: 1; flex: 1;
text-align: center; text-align: center;
@ -69,7 +69,7 @@ page {
line-height: 44rpx; line-height: 44rpx;
color: rgba(0, 180, 197, 1); color: rgba(0, 180, 197, 1);
border-radius: 72rpx 72rpx 72rpx 72rpx; border-radius: 72rpx 72rpx 72rpx 72rpx;
border: 1rpx solid #00b4c5; border: 1px solid #00b4c5;
} }
} }
} }
@ -176,7 +176,7 @@ page {
font-size: 22rpx; font-size: 22rpx;
color: rgba(0, 180, 197, 1); color: rgba(0, 180, 197, 1);
line-height: 32rpx; line-height: 32rpx;
border: 1rpx solid rgba(191, 239, 244, 1); border: 1px solid rgba(191, 239, 244, 1);
} }
} }
} }

6
src/module1/pages/org4/index.scss

@ -34,7 +34,7 @@ page {
align-items: center; align-items: center;
background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%); background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%);
border-radius: 16rpx 16rpx 16rpx 16rpx; border-radius: 16rpx 16rpx 16rpx 16rpx;
border: 1rpx solid #ffffff; border: 1px solid #ffffff;
.item { .item {
flex: 1; flex: 1;
text-align: center; text-align: center;
@ -88,7 +88,7 @@ page {
line-height: 44rpx; line-height: 44rpx;
color: rgba(0, 180, 197, 1); color: rgba(0, 180, 197, 1);
border-radius: 72rpx 72rpx 72rpx 72rpx; border-radius: 72rpx 72rpx 72rpx 72rpx;
border: 1rpx solid #00b4c5; border: 1px solid #00b4c5;
} }
} }
} }
@ -195,7 +195,7 @@ page {
font-size: 22rpx; font-size: 22rpx;
color: rgba(0, 180, 197, 1); color: rgba(0, 180, 197, 1);
line-height: 32rpx; line-height: 32rpx;
border: 1rpx solid rgba(191, 239, 244, 1); border: 1px solid rgba(191, 239, 244, 1);
} }
} }
} }

7
src/module1/pages/sHostipal/index.ts

@ -23,8 +23,13 @@ Page({
list: [], list: [],
area: [], area: [],
reg: true,
}, },
onLoad() { onLoad(options) {
this.setData({
reg: options.reg === "1",
});
app.waitLogin(true).then(() => { app.waitLogin(true).then(() => {
this.getHostipalDict(); this.getHostipalDict();
this.getList(); this.getList();

4
src/module1/pages/sHostipal/index.wxml

@ -17,7 +17,7 @@
/> />
</view> </view>
</view> </view>
<view class="tip" wx:if="{{list.length}}"> <view class="tip" wx:if="{{list.length && reg}}">
没找到您的医院? 没找到您的医院?
<text class="link" bind:tap="handlePushDoctor">这里录入</text> <text class="link" bind:tap="handlePushDoctor">这里录入</text>
</view> </view>
@ -34,7 +34,7 @@
{{item.CityName}}{{item.CountyName}}{{item.Address}} {{item.CityName}}{{item.CountyName}}{{item.Address}}
</view> </view>
</view> </view>
<view class="empty" wx:if="{{(search || ProvinceId ) && pagination.count==0}}"> <view class="empty" wx:if="{{(search || ProvinceId ) && pagination.count==0 && reg}}">
<image class="e-img" src="{{imageUrl}}empty-1.png?t={{Timestamp}}"></image> <image class="e-img" src="{{imageUrl}}empty-1.png?t={{Timestamp}}"></image>
<view class="e-tip">没有找到您搜索的医院哦!</view> <view class="e-tip">没有找到您搜索的医院哦!</view>
<view class="e-submit" bind:tap="handlePushDoctor">提交新医院</view> <view class="e-submit" bind:tap="handlePushDoctor">提交新医院</view>

20
src/module1/pages/setCaseDoctor/index.scss

@ -12,8 +12,13 @@ page {
color: rgba(0, 180, 197, 1); color: rgba(0, 180, 197, 1);
} }
} }
.search { .search-wrap {
margin-top: 32rpx; margin-top: 32rpx;
display: flex;
align-items: center;
gap: 22rpx;
.search {
flex: 1;
padding: 20rpx 30rpx; padding: 20rpx 30rpx;
display: flex; display: flex;
align-items: center; align-items: center;
@ -34,6 +39,12 @@ page {
color: rgba(205, 205, 205, 1); color: rgba(205, 205, 205, 1);
} }
} }
.reset {
padding: 10rpx;
font-size: 28rpx;
color: #00b4c5;
}
}
.options { .options {
display: flex; display: flex;
align-items: center; align-items: center;
@ -62,8 +73,9 @@ page {
} }
} }
.list { .list {
padding: 26rpx 32rpx; padding: 26rpx 32rpx 300rpx;
.list-item { .list-item {
margin-bottom: 24rpx;
display: flex; display: flex;
align-items: center; align-items: center;
.radio { .radio {
@ -148,7 +160,7 @@ page {
font-size: 22rpx; font-size: 22rpx;
color: rgba(0, 180, 197, 1); color: rgba(0, 180, 197, 1);
line-height: 32rpx; line-height: 32rpx;
border: 1rpx solid rgba(191, 239, 244, 1); border: 1px solid rgba(191, 239, 244, 1);
} }
} }
} }
@ -176,7 +188,7 @@ page {
font-size: 32rpx; font-size: 32rpx;
color: rgba(1, 180, 197, 1); color: rgba(1, 180, 197, 1);
border-radius: 96rpx 96rpx 96rpx 96rpx; border-radius: 96rpx 96rpx 96rpx 96rpx;
border: 1rpx solid #01b4c5; border: 1px solid #01b4c5;
} }
.submit { .submit {
flex: 1; flex: 1;

18
src/module1/pages/setCaseDoctor/index.ts

@ -108,6 +108,22 @@ Page({
}); });
this.getList(); this.getList();
}, },
handleReset() {
this.setData({
search: "",
hospitalId: "",
HospitalName: "",
provinceId: "",
cityId: "",
countyId: "",
ProvinceName: "",
CityName: "",
CountyName: "",
specialtyId: "",
SpecialtyName: "",
});
this.handleSearch();
},
getList() { getList() {
const { search, hospitalId, provinceId, cityId, countyId, specialtyId } = this.data; const { search, hospitalId, provinceId, cityId, countyId, specialtyId } = this.data;
wx.ajax({ wx.ajax({
@ -255,7 +271,7 @@ Page({
dealDoctorId: DoctorId, dealDoctorId: DoctorId,
}, },
}).then((res) => { }).then((res) => {
wx.navigateTo({ wx.reLaunch({
url: `/module1/pages/entryCasesResult/index?isf=${res.isSubscribe}&wxi=${encodeURIComponent(res.wxImg)}&cid=${res.caseId || caseId}`, url: `/module1/pages/entryCasesResult/index?isf=${res.isSubscribe}&wxi=${encodeURIComponent(res.wxImg)}&cid=${res.caseId || caseId}`,
}); });
}); });

5
src/module1/pages/setCaseDoctor/index.wxml

@ -1,6 +1,7 @@
<view class="page"> <view class="page">
<view class="header"> <view class="header">
<view class="tip">邀请医生进行病历反馈,提交后医生将收到消息提醒</view> <view class="tip">邀请医生进行病历反馈,提交后医生将收到消息提醒</view>
<view class="search-wrap">
<view class="search"> <view class="search">
<image class="icon" src="{{imageUrl}}icon-search.png?t={{Timestamp}}"></image> <image class="icon" src="{{imageUrl}}icon-search.png?t={{Timestamp}}"></image>
<input <input
@ -13,6 +14,8 @@
bindconfirm="handleSearch" bindconfirm="handleSearch"
/> />
</view> </view>
<view class="reset" bind:tap="handleReset">重置</view>
</view>
<view class="options"> <view class="options">
<view class="option-wrap" bind:tap="handleHostipal"> <view class="option-wrap" bind:tap="handleHostipal">
<view class="option"> <view class="option">
@ -53,7 +56,7 @@
<view class="w-container"> <view class="w-container">
<text class="hostipal">{{item.hospitalName}}</text> <text class="hostipal">{{item.hospitalName}}</text>
<view class="tag">{{item.hospitalClassificationName}}{{item.hospitalLevelName}}</view> <view class="tag">{{item.hospitalClassificationName}}{{item.hospitalLevelName}}</view>
<view class="site">{{item.cityName}}/{{item.countyName}}</view> <view class="site" wx:if="{{item.cityName}}">{{item.cityName}}{{item.countyName?'/':''}}{{item.countyName}}</view>
</view> </view>
<view class="w-footer"> <view class="w-footer">
<image class="wf-label" src="{{imageUrl}}text-specialty.png?t={{Timestamp}}" mode="aspectFit"></image> <image class="wf-label" src="{{imageUrl}}text-specialty.png?t={{Timestamp}}" mode="aspectFit"></image>

20
src/module1/pages/setDoctor/index.scss

@ -12,8 +12,13 @@ page {
color: rgba(0, 180, 197, 1); color: rgba(0, 180, 197, 1);
} }
} }
.search { .search-wrap {
margin-top: 32rpx; margin-top: 32rpx;
display: flex;
align-items: center;
gap: 22rpx;
.search {
flex: 1;
padding: 20rpx 30rpx; padding: 20rpx 30rpx;
display: flex; display: flex;
align-items: center; align-items: center;
@ -34,6 +39,12 @@ page {
color: rgba(205, 205, 205, 1); color: rgba(205, 205, 205, 1);
} }
} }
.reset {
padding: 10rpx;
font-size: 28rpx;
color: #00b4c5;
}
}
.options { .options {
display: flex; display: flex;
align-items: center; align-items: center;
@ -62,8 +73,9 @@ page {
} }
} }
.list { .list {
padding: 26rpx 32rpx; padding: 26rpx 32rpx 300rpx;
.list-item { .list-item {
margin-bottom: 24rpx;
display: flex; display: flex;
align-items: center; align-items: center;
.radio { .radio {
@ -147,7 +159,7 @@ page {
font-size: 22rpx; font-size: 22rpx;
color: rgba(0, 180, 197, 1); color: rgba(0, 180, 197, 1);
line-height: 32rpx; line-height: 32rpx;
border: 1rpx solid rgba(191, 239, 244, 1); border: 1px solid rgba(191, 239, 244, 1);
} }
} }
} }
@ -175,7 +187,7 @@ page {
font-size: 32rpx; font-size: 32rpx;
color: rgba(1, 180, 197, 1); color: rgba(1, 180, 197, 1);
border-radius: 96rpx 96rpx 96rpx 96rpx; border-radius: 96rpx 96rpx 96rpx 96rpx;
border: 1rpx solid #01b4c5; border: 1px solid #01b4c5;
} }
.submit { .submit {
flex: 1; flex: 1;

36
src/module1/pages/setDoctor/index.ts

@ -39,12 +39,6 @@ Page({
this.setData({ this.setData({
id: options.id, id: options.id,
}); });
if (options.hid) {
this.setData({
HospitalId: options.hid,
HospitalName: options.hname,
});
}
app.waitLogin().then(() => { app.waitLogin().then(() => {
this.getDetail(); this.getDetail();
this.getList(); this.getList();
@ -111,6 +105,22 @@ Page({
}); });
this.getList(); this.getList();
}, },
handleReset() {
this.setData({
search: "",
hospitalId: "",
HospitalName: "",
provinceId: "",
cityId: "",
countyId: "",
ProvinceName: "",
CityName: "",
CountyName: "",
specialtyId: "",
SpecialtyName: "",
});
this.handleSearch();
},
getList() { getList() {
const { Search, HospitalId, ProvinceId, CityId, CountyId, SpecialtyId } = this.data; const { Search, HospitalId, ProvinceId, CityId, CountyId, SpecialtyId } = this.data;
wx.ajax({ wx.ajax({
@ -158,9 +168,17 @@ Page({
}); });
}, },
handleHostipal() { handleHostipal() {
const prev = encodeURIComponent(`/module1/pages/setDoctor/index?id=${this.data.id}`); wx.navigateTo({
wx.redirectTo({ url: `/module1/pages/sHostipal/index`,
url: `/module1/pages/sHostipal/index?prev=${prev}}`, events: {
acceptDataFromOpenedPage: (data: any) => {
this.setData({
HospitalId: data.hid,
HospitalName: data.hname,
});
this.handleSearch();
},
},
}); });
}, },
handleArea() { handleArea() {

7
src/module1/pages/setDoctor/index.wxml

@ -5,10 +5,11 @@
<text class="link">{{detail.Name}}医生</text> <text class="link">{{detail.Name}}医生</text>
指派核心医生,帮助TA一起反馈病历 指派核心医生,帮助TA一起反馈病历
</view> </view>
<view class="search-wrap">
<view class="search"> <view class="search">
<image class="icon" src="{{imageUrl}}icon-search.png?t={{Timestamp}}"></image> <image class="icon" src="{{imageUrl}}icon-search.png?t={{Timestamp}}"></image>
<input <input
model:value="{{Search}}" model:value="{{search}}"
class="input" class="input"
placeholder-class="place-input" placeholder-class="place-input"
placeholder="搜索医生名" placeholder="搜索医生名"
@ -17,6 +18,8 @@
bindconfirm="handleSearch" bindconfirm="handleSearch"
/> />
</view> </view>
<view class="reset" bind:tap="handleReset">重置</view>
</view>
<view class="options"> <view class="options">
<view class="option-wrap" bind:tap="handleHostipal"> <view class="option-wrap" bind:tap="handleHostipal">
<view class="option"> <view class="option">
@ -60,7 +63,7 @@
<view class="tag"> <view class="tag">
{{hospitalClassification[item.HospitalClassification]}}{{hospitalLevel[item.HospitalLevel]}} {{hospitalClassification[item.HospitalClassification]}}{{hospitalLevel[item.HospitalLevel]}}
</view> </view>
<view class="site">{{item.CityName}}/{{item.CountyName}}</view> <view class="site" wx:if="{{item.CityName}}">{{item.CityName}}{{item.CountyName?'/':''}}{{item.CountyName}}</view>
</view> </view>
<view class="w-footer"> <view class="w-footer">
<image class="wf-label" src="{{imageUrl}}text-specialty.png?t={{Timestamp}}" mode="aspectFit"></image> <image class="wf-label" src="{{imageUrl}}text-specialty.png?t={{Timestamp}}" mode="aspectFit"></image>

4
src/module1/pages/setInfo/index.scss

@ -1,6 +1,10 @@
.page { .page {
overflow: hidden; overflow: hidden;
.reject { .reject {
position: fixed;
top: 0;
width: 100%;
box-sizing: border-box;
padding: 20rpx 32rpx; padding: 20rpx 32rpx;
background-color: #ffedea; background-color: #ffedea;
font-size: 28rpx; font-size: 28rpx;

2
src/module1/pages/setInfo/index.ts

@ -101,7 +101,7 @@ Page({
}, },
handleHostipal() { handleHostipal() {
wx.navigateTo({ wx.navigateTo({
url: "/module1/pages/sHostipal/index", url: "/module1/pages/sHostipal/index?reg=1",
events: { events: {
acceptDataFromOpenedPage: (data) => { acceptDataFromOpenedPage: (data) => {
this.setData({ this.setData({

2
src/module1/pages/setInfo/index.wxml

@ -23,7 +23,7 @@
/> />
</view> </view>
</view> </view>
<view class="row row-center"> <view class="row">
<view class="label required">所在医院</view> <view class="label required">所在医院</view>
<view class="error-wrap"> <view class="error-wrap">
<view class="select-wrap" bind:tap="handleHostipal"> <view class="select-wrap" bind:tap="handleHostipal">

2
src/module1/pages/userInfo/index.ts

@ -18,6 +18,8 @@ Page({
}, },
handleLoginOut() { handleLoginOut() {
wx.showModal({ wx.showModal({
confirmColor: "#00B4C5",
cancelColor: "#141515",
title: "确认退出登录?", title: "确认退出登录?",
success(res) { success(res) {
if (res.confirm) { if (res.confirm) {

46
src/pages/cases/index.scss

@ -224,9 +224,53 @@ page {
} }
} }
.option { .option {
position: relative;
flex-shrink: 0; flex-shrink: 0;
width: 48rpx; width: 48rpx;
height: 48rpx; height: 48rpx;
.o-icon {
width: 48rpx;
height: 48rpx;
}
.option-popup {
display: none;
position: absolute;
top: -20rpx;
left: 0;
transform: translate(-50%, -100%);
border-radius: 8rpx;
background-color: #fff;
box-shadow: 0 4rpx 24rpx rgba(0, 0, 0, 0.1);
.op-row {
padding: 24rpx;
display: flex;
align-items: center;
white-space: nowrap;
gap: 20rpx;
font-size: 28rpx;
color: #141515;
.icon {
width: 36rpx;
height: 36rpx;
}
}
&::after {
position: absolute;
bottom: -12rpx;
left: 45%;
content: "";
width: 0;
height: 0;
border-style: solid;
border-width: 27rpx 27rpx 0 27rpx;
border-color: #fff transparent transparent transparent;
}
}
&:hover {
.option-popup {
display: block;
}
}
} }
} }
.li-row { .li-row {
@ -272,7 +316,7 @@ page {
font-size: 22rpx; font-size: 22rpx;
color: rgba(0, 180, 197, 1); color: rgba(0, 180, 197, 1);
line-height: 32rpx; line-height: 32rpx;
border: 1rpx solid #bfeff4; border: 1px solid #bfeff4;
border-radius: 4rpx; border-radius: 4rpx;
} }
} }

49
src/pages/cases/index.ts

@ -1,4 +1,3 @@
import Dialog from "@vant/weapp/dialog/dialog";
const app = getApp<IAppOption>(); const app = getApp<IAppOption>();
Page({ Page({
@ -64,6 +63,8 @@ Page({
orderType: "", orderType: "",
myCaseCount: 0, myCaseCount: 0,
userInfo: {},
}, },
onLoad() { onLoad() {
this.getTabBar().setData({ this.getTabBar().setData({
@ -78,6 +79,11 @@ Page({
this.getHostipalDict(); this.getHostipalDict();
this.getDoctorDict(); this.getDoctorDict();
this.getArea(); this.getArea();
app.getUserInfo(this, (userInfo) => {
this.getTabBar().setData({
userInfo,
});
});
}); });
}, },
getBaseInfo() { getBaseInfo() {
@ -196,12 +202,31 @@ Page({
this.handleSearch(); this.handleSearch();
}, },
onClose() { onClose() {
const { show2, showArea } = this.data;
this.setData({ this.setData({
show1: false, show1: false,
show2: false, show2: false,
show3: false, show3: false,
showArea: false, showArea: false,
}); });
if (show2) {
this.setData({
hospitalId: "",
hospitalName: "",
});
this.handleSearch();
}
if (showArea) {
this.setData({
provinceId: "",
cityId: "",
countyId: "",
provinceName: "",
cityName: "",
countyName: "",
});
this.handleSearch();
}
}, },
handleImagePreview(e) { handleImagePreview(e) {
const { url } = e.currentTarget.dataset; const { url } = e.currentTarget.dataset;
@ -270,6 +295,7 @@ Page({
hospitalId: this.data.hospitalId.includes(params.HospitalId) ? [] : [params.HospitalId], hospitalId: this.data.hospitalId.includes(params.HospitalId) ? [] : [params.HospitalId],
hospitalName: this.data.hospitalId.includes(params.HospitalId) ? "全部" : params.Name, hospitalName: this.data.hospitalId.includes(params.HospitalId) ? "全部" : params.Name,
}); });
this.handleSearch();
}, },
getDoctorDict() { getDoctorDict() {
@ -315,7 +341,7 @@ Page({
const labelId = this.data.labelId; const labelId = this.data.labelId;
const newLabelId = labelId.includes(params.value) const newLabelId = labelId.includes(params.value)
? labelId.filter((item) => item !== params.value) ? labelId.filter((item) => item !== params.value)
: [...labelId, ...params.value]; : [...labelId, params.value];
this.setData({ this.setData({
labelId: newLabelId, labelId: newLabelId,
}); });
@ -368,6 +394,8 @@ Page({
const { index } = e.currentTarget.dataset; const { index } = e.currentTarget.dataset;
const params: any = this.data.list[index]; const params: any = this.data.list[index];
wx.showModal({ wx.showModal({
confirmColor: "#00B4C5",
cancelColor: "#141515",
title: "确认删除该病历?", title: "确认删除该病历?",
success: (e) => { success: (e) => {
if (e.confirm) { if (e.confirm) {
@ -390,15 +418,20 @@ Page({
handleQuestion(e) { handleQuestion(e) {
const { index } = e.currentTarget.dataset; const { index } = e.currentTarget.dataset;
const message = { const message = {
1: "", 1: "属于您所在科室的公开的病历",
2: "", 2: "平台所有优质的病历",
}[index]; }[index];
Dialog.confirm({ wx.showModal({
showCancelButton: false, confirmColor: "#00B4C5",
confirmButtonText: "知道了", showCancel: false,
message, confirmText: "知道了",
content: message,
}); });
}, },
handleCatch() {
return false;
},
}); });
export {}; export {};

25
src/pages/cases/index.wxml

@ -148,6 +148,7 @@
</view> </view>
</view> </view>
<radio <radio
wx:if="{{userInfo.DoctorLevel>1}}"
class="feedback" class="feedback"
color="rgba(0, 180, 197, 1)" color="rgba(0, 180, 197, 1)"
checked="{{needDeal==='1'}}" checked="{{needDeal==='1'}}"
@ -158,25 +159,27 @@
</radio> </radio>
</view> </view>
<view class="list"> <view class="list">
<view class="list-total" wx:if="{{pagination.count}}">共有{{myCaseCount}}条病历</view> <view class="list-total" wx:if="{{pagination.count}}">共有{{pagination.count}}条病历</view>
<view class="list-item" wx:for="{{list}}" bind:tap="handleDetail" wx:key="caseId" data-params="{{item}}"> <view class="list-item" wx:for="{{list}}" bind:tap="handleDetail" wx:key="caseId" data-params="{{item}}">
<image wx:if="{{item.isHighQuality==='1'}}" class="quality" src="{{imageUrl}}quality.png?t={{Timestamp}}"></image> <image wx:if="{{item.isHighQuality==='1'}}" class="quality" src="{{imageUrl}}quality.png?t={{Timestamp}}"></image>
<view class="li-header"> <view class="li-header">
<view class="wrap"> <view class="wrap">
<view class="id">ID:{{item.caseId}}</view> <view class="id">ID:{{item.caseNo}}</view>
<view class="status status3" wx:if="{{item.caseStatus==='1'}}">{{item.statusName}}</view> <view class="status status3" wx:if="{{item.caseStatus==='1'}}">{{item.statusName}}</view>
<view class="status status2" wx:elif="{{item.caseStatus==='2'}}">{{item.statusName}}</view> <view class="status status2" wx:elif="{{item.caseStatus==='2'}}">{{item.statusName}}</view>
<view class="status status1" wx:elif="{{item.caseStatus==='3'}}">{{item.statusName}}</view> <view class="status status1" wx:elif="{{item.caseStatus==='3'}}">{{item.statusName}}</view>
<view class="status status1" wx:elif="{{item.caseStatus==='4'}}">{{item.statusName}}</view> <view class="status status1" wx:elif="{{item.caseStatus==='4'}}">{{item.statusName}}</view>
<view class="status status3" wx:if="{{item.isOpen==='1'}}">已公开</view> <view class="status status3" wx:if="{{item.isOpen==='1'}}">已公开</view>
</view> </view>
<image <view wx:if="{{item.canDel===1}}" class="option" catch:tap="handleCatch">
wx:if="{{item.canDel===1}}" <image class="o-icon" src="{{imageUrl}}icon-gather.png?t={{Timestamp}}"></image>
class="option" <view class="option-popup">
src="{{imageUrl}}icon-gather.png?t={{Timestamp}}" <view class="op-row" catch:tap="handleDel" data-index="{{index}}">
catch:tap="handleDel" <image class="icon" src="{{imageUrl}}icon-del-dark.png?t={{Timestamp}}"></image>
data-index="{{index}}" 删除
></image> </view>
</view>
</view>
</view> </view>
<view class="li-row" wx:if="{{item.caseSubmitTime}}"> <view class="li-row" wx:if="{{item.caseSubmitTime}}">
<view class="label">提交时间</view> <view class="label">提交时间</view>
@ -236,7 +239,7 @@
</view> </view>
<view class="empty-2" wx:elif="{{nav==='0' && myCaseCount==0}}"> <view class="empty-2" wx:elif="{{nav==='0' && myCaseCount==0}}">
<image class="e-img" src="{{imageUrl}}empty-2.png?t={{Timestamp}}"></image> <image class="e-img" src="{{imageUrl}}empty-2.png?t={{Timestamp}}"></image>
<view class="e-tip">你还没有病哦!</view> <view class="e-tip">你还没有病哦!</view>
</view> </view>
<pagination wx:else pagination="{{pagination}}"></pagination> <pagination wx:else pagination="{{pagination}}"></pagination>
</view> </view>
@ -352,5 +355,3 @@
bind:finish="onFinish" bind:finish="onFinish"
/> />
</van-popup> </van-popup>
<van-dialog id="van-dialog" />

2
src/pages/chatRoomList/index.scss

@ -227,7 +227,7 @@ page {
color: rgba(0, 180, 197, 1); color: rgba(0, 180, 197, 1);
line-height: 32rpx; line-height: 32rpx;
border-radius: 4rpx 4rpx 4rpx 4rpx; border-radius: 4rpx 4rpx 4rpx 4rpx;
border: 1rpx solid #bfeff4; border: 1px solid #bfeff4;
} }
} }
} }

19
src/pages/chatRoomList/index.ts

@ -1,4 +1,4 @@
const _app = getApp<IAppOption>() const app = getApp<IAppOption>();
Page({ Page({
data: { data: {
@ -8,11 +8,20 @@ Page({
onLoad() { onLoad() {
this.getTabBar().setData({ this.getTabBar().setData({
active: 3, active: 3,
}) });
app.waitLogin().then(() => {
app.getUserInfo(this, (userInfo) => {
this.getTabBar().setData({
userInfo,
});
});
});
}, },
handleRoom() { handleRoom() {
wx.navigateTo({ wx.navigateTo({
url: '/module1/pages/chatRoom/index', url: "/module1/pages/chatRoom/index",
}) });
}, },
}) });
export {};

5
src/pages/home/index.ts

@ -14,6 +14,11 @@ Page({
}); });
app.waitLogin().then(() => { app.waitLogin().then(() => {
this.handleBindDoctor(); this.handleBindDoctor();
app.getUserInfo(this, (userInfo) => {
this.getTabBar().setData({
userInfo,
});
});
}); });
}, },
handleBindDoctor() { handleBindDoctor() {

2
src/pages/home/index.wxml

@ -22,7 +22,7 @@
<view class="content"> <view class="content">
作为您的合作医生 作为您的合作医生
<view></view> <view></view>
后续病可邀约对方参与 后续病可邀约对方参与
</view> </view>
<view class="sure" bind:tap="handleSure">确认</view> <view class="sure" bind:tap="handleSure">确认</view>
</view> </view>

2
src/pages/my/index.scss

@ -81,7 +81,7 @@ page {
font-size: 22rpx; font-size: 22rpx;
color: rgba(0, 180, 197, 1); color: rgba(0, 180, 197, 1);
line-height: 32rpx; line-height: 32rpx;
border: 1rpx solid rgba(191, 239, 244, 1); border: 1px solid rgba(191, 239, 244, 1);
} }
} }
} }

19
src/pages/my/index.ts

@ -1,15 +1,24 @@
const _app = getApp<IAppOption>() const app = getApp<IAppOption>();
Page({ Page({
data: {}, data: {},
onLoad() { onLoad() {
this.getTabBar().setData({ this.getTabBar().setData({
active: 4, active: 4,
}) });
app.waitLogin().then(() => {
app.getUserInfo(this, (userInfo) => {
this.getTabBar().setData({
userInfo,
});
});
});
}, },
handleUserInfo() { handleUserInfo() {
wx.navigateTo({ wx.navigateTo({
url: '/module1/pages/userInfo/index', url: "/module1/pages/userInfo/index",
}) });
}, },
}) });
export {}

Loading…
Cancel
Save