6.18
This commit is contained in:
parent
b496603f7c
commit
5aaa605a13
3
app.json
3
app.json
@ -16,7 +16,8 @@
|
||||
"pages/pwdLogin/pwdLogin",
|
||||
"pages/privacy/privacy",
|
||||
"pages/bankCard/bankCard",
|
||||
"pages/paintCanvas/paintCanvas"
|
||||
"pages/paintCanvas/paintCanvas",
|
||||
"pages/paintDraw/paintDraw"
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
@ -32,6 +32,7 @@ Page({
|
||||
disable_ziliao:false,
|
||||
disable_record:false,
|
||||
disable_check:false,
|
||||
disable_back:false,
|
||||
columns:[
|
||||
{ text: '四次及以上疗程化', value: 1 },
|
||||
{ text: '早前期(INR≤1.5)', value: 2 }
|
||||
@ -396,41 +397,46 @@ Page({
|
||||
})
|
||||
callback(true);
|
||||
}else if(index==1){
|
||||
if(this.validateBasic()){
|
||||
// if(this.validateBasic()){
|
||||
callback(true);
|
||||
this.setData({
|
||||
active:1
|
||||
})
|
||||
}else{
|
||||
this.setData({
|
||||
showAttention:true
|
||||
})
|
||||
callback(false)
|
||||
}
|
||||
// }else{
|
||||
// this.setData({
|
||||
// showAttention:true
|
||||
// })
|
||||
// callback(false)
|
||||
// }
|
||||
}else if(index==2){
|
||||
if(this.validateBasic(false) && this.validateZiliao(false)){
|
||||
// if(this.validateBasic(false) && this.validateZiliao(false)){
|
||||
callback(true);
|
||||
this.setData({
|
||||
active:2
|
||||
})
|
||||
}else{
|
||||
this.setData({
|
||||
showAttention:true
|
||||
})
|
||||
callback(false)
|
||||
}
|
||||
// }else{
|
||||
// this.setData({
|
||||
// showAttention:true
|
||||
// })
|
||||
// callback(false)
|
||||
// }
|
||||
}else if(index==3){
|
||||
if(this.validateBasic(false) && this.validateZiliao(false) && this.validateRecord(false)){
|
||||
// if(this.validateBasic(false) && this.validateZiliao(false) && this.validateRecord(false)){
|
||||
callback(true);
|
||||
this.setData({
|
||||
active:3
|
||||
})
|
||||
}else{
|
||||
// }else{
|
||||
// this.setData({
|
||||
// showAttention:true
|
||||
// })
|
||||
// callback(false)
|
||||
// }
|
||||
}else if(index==4){
|
||||
callback(true);
|
||||
this.setData({
|
||||
showAttention:true
|
||||
})
|
||||
callback(false)
|
||||
}
|
||||
active:4
|
||||
})
|
||||
}
|
||||
},
|
||||
confirmDelRecord(event){
|
||||
@ -934,7 +940,7 @@ Page({
|
||||
let type=e.target.dataset.type;
|
||||
if(key=='name'){
|
||||
let value=e.detail.value;
|
||||
let newVal=value.toUpperCase();
|
||||
let newVal=String(value).charAt(0).toUpperCase() + String(value).slice(1);;
|
||||
this.setData({
|
||||
['case.'+key]:newVal
|
||||
})
|
||||
|
||||
@ -8,6 +8,8 @@
|
||||
"van-uploader": "@vant/weapp/uploader/index",
|
||||
"van-popup": "@vant/weapp/popup/index",
|
||||
"dialog":"../../../components/dialog/dialog",
|
||||
"van-checkbox": "@vant/weapp/checkbox/index",
|
||||
"van-checkbox-group": "@vant/weapp/checkbox-group/index",
|
||||
"van-datetime-picker": "@vant/weapp/datetime-picker/index",
|
||||
"van-radio": "@vant/weapp/radio/index",
|
||||
"van-field": "@vant/weapp/field/index",
|
||||
|
||||
@ -8,15 +8,14 @@
|
||||
<view class="page">
|
||||
<van-tabs active="{{ active }}" wrap-class="tabwrap" use-before-change="{{ true }}" custom-class="tabbox" bind:before-change="onBeforeChange">
|
||||
<van-tab title="基本信息" class="vantab">
|
||||
<view class="basic {{!showSaveBtn?'active':''}}" >
|
||||
<view class="basic {{!showSaveBtn?'active':''}}">
|
||||
<view class="basiccon">
|
||||
<view class="row">
|
||||
<view class="left">
|
||||
患者姓名(首字母大写)<text class="red">*</text>
|
||||
</view>
|
||||
<view class="right">
|
||||
<input type="text" value="{{case.name}}" bindinput="handleIpt" class="ipt" data-id="name" placeholder="请输入"
|
||||
placeholder-class="placeholder" disabled="{{!showSaveBtn}}"/>
|
||||
<input type="text" value="{{case.name}}" bindinput="handleIpt" class="ipt" data-id="name" placeholder="请输入" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
@ -24,7 +23,7 @@
|
||||
患者ID号<text class="red">*</text>
|
||||
</view>
|
||||
<view class="right">
|
||||
<input type="text" value="{{case.uid}}" bindinput="handleIpt" class="ipt" data-id="uid" placeholder="请输入" placeholder-class="placeholder" disabled="{{!showSaveBtn}}"/>
|
||||
<input type="text" value="{{case.uid}}" bindinput="handleIpt" class="ipt" data-id="uid" placeholder="请输入" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
@ -32,9 +31,7 @@
|
||||
性别<text class="red">*</text>
|
||||
</view>
|
||||
<view class="right">
|
||||
<van-radio-group value="{{ case.sex }}" bind:change="onChange"
|
||||
disabled="{{!showSaveBtn}}"
|
||||
direction="horizontal">
|
||||
<van-radio-group value="{{ case.sex }}" bind:change="onChange" disabled="{{!showSaveBtn}}" direction="horizontal">
|
||||
<van-radio name="{{1}}">男</van-radio>
|
||||
<van-radio name="{{2}}">女</van-radio>
|
||||
</van-radio-group>
|
||||
@ -57,73 +54,176 @@
|
||||
<van-icon name="arrow" color="#83858a" size="38rpx" class="righticon" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="row" style="flex-direction: column;">
|
||||
<view class="left">
|
||||
病例类型<text class="red">*</text>
|
||||
治疗类型(多选)<text class="red">*</text>
|
||||
</view>
|
||||
<view class="right" bind:tap="openType">
|
||||
<input type="text" value="{{typeName}}" class="ipt" placeholder="请输入" placeholder-class="placeholder" disabled />
|
||||
<van-icon name="arrow" color="#83858a" size="38rpx" class="righticon" />
|
||||
<view class="right">
|
||||
<van-checkbox-group value="{{ case.sex }}" bind:change="onChange" disabled="{{!showSaveBtn}}" direction="horizontal">
|
||||
<van-checkbox name="{{1}}">DPMAS及联合模式</van-checkbox>
|
||||
<van-checkbox name="{{2}}">CA280及联合模式</van-checkbox>
|
||||
</van-checkbox-group>
|
||||
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<view class="row" style="flex-direction: column;">
|
||||
<view class="left">
|
||||
主要诊断(多选)<text class="red">*</text>
|
||||
</view>
|
||||
<view class="right">
|
||||
<van-checkbox-group value="{{ case.sex }}" bind:change="onChange" disabled="{{!showSaveBtn}}" direction="horizontal">
|
||||
<van-checkbox name="{{1}}">肝衰竭 </van-checkbox>
|
||||
<van-checkbox name="{{2}}">肿瘤</van-checkbox>
|
||||
<van-checkbox name="{{2}}">胆汁淤积性肝病</van-checkbox>
|
||||
<van-checkbox name="{{2}}">移植围手术期支持治疗</van-checkbox>
|
||||
<van-checkbox name="{{2}}">伴黄疸的MODS或脓毒症、重症中毒等</van-checkbox>
|
||||
<van-checkbox name="{{2}}">其他</van-checkbox>
|
||||
</van-checkbox-group>
|
||||
</view>
|
||||
<textarea value="{{case.abstractStr}}" disabled="{{!showSaveBtn}}" class="textArea" placeholder="请输入病历摘要" bind:input="onChangeAbstract" bind:change="onChangeAbstract" placeholder-style="color:rgba(0,0,0,0.25)" confirm-type="done" maxlength="500" auto-height="{{true}}" />
|
||||
<!-- <view class="word">{{wordLength}}/500</view> -->
|
||||
|
||||
</view>
|
||||
<view class="row" style="flex-direction: column;">
|
||||
<view class="left">
|
||||
患者病因(多选)<text class="red">*</text>
|
||||
</view>
|
||||
<view class="right">
|
||||
<van-checkbox-group value="{{ case.sex }}" bind:change="onChange" disabled="{{!showSaveBtn}}" direction="horizontal">
|
||||
<van-checkbox name="{{1}}">乙肝 </van-checkbox>
|
||||
<van-checkbox name="{{2}}">丙肝</van-checkbox>
|
||||
<van-checkbox name="{{2}}">酒精性肝病</van-checkbox>
|
||||
<van-checkbox name="{{2}}">酒精性肝硬化</van-checkbox>
|
||||
<van-checkbox name="{{2}}">自身免疫性肝炎(AIH)</van-checkbox>
|
||||
<van-checkbox name="{{2}}">原发性胆汁性肝硬化(PBC)</van-checkbox>
|
||||
<van-checkbox name="{{2}}">原发性硬化性胆管炎(PSC)</van-checkbox>
|
||||
<van-checkbox name="{{2}}">非酒精性脂肪肝</van-checkbox>
|
||||
<van-checkbox name="{{2}}">药物性肝损伤</van-checkbox>
|
||||
<van-checkbox name="{{2}}">肝豆状核变性</van-checkbox>
|
||||
<van-checkbox name="{{2}}">甲肝</van-checkbox>
|
||||
<van-checkbox name="{{2}}">戊肝</van-checkbox>
|
||||
<van-checkbox name="{{2}}">其他</van-checkbox>
|
||||
</van-checkbox-group>
|
||||
</view>
|
||||
<textarea value="{{case.abstractStr}}" disabled="{{!showSaveBtn}}" class="textArea" placeholder="请输入病历摘要" bind:input="onChangeAbstract" bind:change="onChangeAbstract" placeholder-style="color:rgba(0,0,0,0.25)" confirm-type="done" maxlength="500" auto-height="{{true}}" />
|
||||
<!-- <view class="word">{{wordLength}}/500</view> -->
|
||||
<view class="uploadbox">
|
||||
<van-uploader file-list="{{ fileList_basic }}" name="basic" deletable="{{showSaveBtn}}" show-upload="{{showSaveBtn}}" bind:delete="deleteImg" max-count="6" multiple bind:after-read="afterRead" upload-text="上传" upload-icon="{{img_host+'/upload.png'}}" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="row" style="flex-direction: column;">
|
||||
<view class="left">
|
||||
诱因(多选)<text class="red">*</text>
|
||||
</view>
|
||||
<view class="desctitle">肝内:</view>
|
||||
<view class="right">
|
||||
<van-checkbox-group value="{{ case.sex }}" bind:change="onChange" disabled="{{!showSaveBtn}}" direction="horizontal">
|
||||
<van-checkbox name="{{1}}">乙肝再激活 </van-checkbox>
|
||||
<van-checkbox name="{{2}}">大量饮酒</van-checkbox>
|
||||
<van-checkbox name="{{2}}">药物毒物</van-checkbox>
|
||||
<van-checkbox name="{{2}}">戊型肝炎感染</van-checkbox>
|
||||
<van-checkbox name="{{2}}">甲型肝炎感染</van-checkbox>
|
||||
<van-checkbox name="{{2}}">丙肝再激活 </van-checkbox>
|
||||
<van-checkbox name="{{2}}">其他</van-checkbox>
|
||||
</van-checkbox-group>
|
||||
</view>
|
||||
<textarea value="{{case.abstractStr}}" disabled="{{!showSaveBtn}}" class="textArea" placeholder="请输入病历摘要" bind:input="onChangeAbstract" bind:change="onChangeAbstract" placeholder-style="color:rgba(0,0,0,0.25)" confirm-type="done" maxlength="500" auto-height="{{true}}" />
|
||||
<view class="desctitle">肝外:</view>
|
||||
<view class="right">
|
||||
<van-checkbox-group value="{{ case.sex }}" bind:change="onChange" disabled="{{!showSaveBtn}}" direction="horizontal">
|
||||
<van-checkbox name="{{1}}">消化道出血 </van-checkbox>
|
||||
<van-checkbox name="{{2}}">感染 </van-checkbox>
|
||||
<van-checkbox name="{{2}}">手术 </van-checkbox>
|
||||
<van-checkbox name="{{2}}">劳累</van-checkbox>
|
||||
<van-checkbox name="{{2}}">其他</van-checkbox>
|
||||
</van-checkbox-group>
|
||||
|
||||
</view>
|
||||
<textarea value="{{case.abstractStr}}" disabled="{{!showSaveBtn}}" class="textArea" placeholder="请输入病历摘要" bind:input="onChangeAbstract" bind:change="onChangeAbstract" placeholder-style="color:rgba(0,0,0,0.25)" confirm-type="done" maxlength="500" auto-height="{{true}}" />
|
||||
<!-- <view class="word">{{wordLength}}/500</view> -->
|
||||
|
||||
</view>
|
||||
<view class="row" style="flex-direction: column;">
|
||||
<view class="left">
|
||||
病案照片(可上传1-6张)<text class="red">*</text>
|
||||
</view>
|
||||
<view class="uploadbox">
|
||||
<van-uploader file-list="{{ fileList_basic }}" name="basic"
|
||||
deletable="{{showSaveBtn}}"
|
||||
show-upload="{{showSaveBtn}}"
|
||||
bind:delete="deleteImg" max-count="6" multiple bind:after-read="afterRead" upload-text="上传" upload-icon="{{img_host+'/upload.png'}}" />
|
||||
<van-uploader file-list="{{ fileList_basic }}" name="basic" deletable="{{showSaveBtn}}" show-upload="{{showSaveBtn}}" bind:delete="deleteImg" max-count="6" multiple bind:after-read="afterRead" upload-text="上传" upload-icon="{{img_host+'/upload.png'}}" />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="tip" style="padding-bottom: 130rpx;">注意:“病案首页”需包含患者住院号或姓名</view>
|
||||
<view class="btnbox" wx:if="{{showSaveBtn}}">
|
||||
<view class="btn" bind:tap="saveBasic">下一步</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
</van-tab>
|
||||
<van-tab title="临床资料" disabled="{{disable_ziliao}}">
|
||||
<view class="basic {{!showSaveBtn?'active':''}}" >
|
||||
|
||||
<view class="ziliao" wx:if="{{active!=0}}" >
|
||||
<view class="basic {{!showSaveBtn?'active':''}}">
|
||||
|
||||
<view class="ziliao" wx:if="{{active!=0}}">
|
||||
<view class="row" style="flex-direction: column;overflow: hidden;position: relative;">
|
||||
<view class="left" style="font-weight:bold">
|
||||
病历摘要<text class="red"></text>
|
||||
病历摘要<text class="red">*</text>
|
||||
</view>
|
||||
<view class="unit">
|
||||
<view class="desctitle">主诉:</view>
|
||||
<textarea value="{{case.abstractStr}}" disabled="{{!showSaveBtn}}" class="textArea" placeholder="请输入病历摘要" bind:input="onChangeAbstract" bind:change="onChangeAbstract" placeholder-style="color:rgba(0,0,0,0.25)" confirm-type="done" maxlength="500" auto-height="{{true}}" />
|
||||
<view class="word">
|
||||
<view class="textdesc">
|
||||
<van-uploader file-list="{{ fileList }}" bind:after-read="afterRead">
|
||||
<view class="con">
|
||||
<van-icon slot name="photo-o" size="20px" />上传图片识别内容
|
||||
</view>
|
||||
</van-uploader>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="unit">
|
||||
<view class="desctitle">现病史:</view>
|
||||
<textarea value="{{case.abstractStr}}" disabled="{{!showSaveBtn}}" class="textArea" placeholder="请输入病历摘要" bind:input="onChangeAbstract" bind:change="onChangeAbstract" placeholder-style="color:rgba(0,0,0,0.25)" confirm-type="done" maxlength="500" auto-height="{{true}}" />
|
||||
<view class="word">
|
||||
<view class="textdesc">
|
||||
<van-uploader file-list="{{ fileList }}" bind:after-read="afterRead">
|
||||
<view class="con">
|
||||
<van-icon slot name="photo-o" size="20px" />上传图片识别内容
|
||||
</view>
|
||||
</van-uploader>
|
||||
</view>
|
||||
<!-- {{wordLength}}/500 -->
|
||||
</view>
|
||||
</view>
|
||||
<view class="unit">
|
||||
<view class="desctitle">既往史:</view>
|
||||
<textarea value="{{case.abstractStr}}" disabled="{{!showSaveBtn}}" class="textArea" placeholder="请输入病历摘要" bind:input="onChangeAbstract" bind:change="onChangeAbstract" placeholder-style="color:rgba(0,0,0,0.25)" confirm-type="done" maxlength="500" auto-height="{{true}}" />
|
||||
<view class="word">
|
||||
<view class="textdesc">
|
||||
<van-uploader file-list="{{ fileList }}" bind:after-read="afterRead">
|
||||
<view class="con">
|
||||
<van-icon slot name="photo-o" size="20px" />上传图片识别内容
|
||||
</view>
|
||||
</van-uploader>
|
||||
</view>
|
||||
<!-- {{wordLength}}/500 -->
|
||||
</view>
|
||||
</view>
|
||||
<textarea value="{{case.abstractStr}}"
|
||||
disabled="{{!showSaveBtn}}"
|
||||
class="textArea"
|
||||
placeholder="请输入病历摘要"
|
||||
bind:input="onChangeAbstract"
|
||||
bind:change="onChangeAbstract"
|
||||
placeholder-style="color:rgba(0,0,0,0.25)"
|
||||
confirm-type="done"
|
||||
maxlength="500" auto-height="{{true}}"/>
|
||||
<view class="word">{{wordLength}}/500</view>
|
||||
<!-- <van-field value="{{case.abstractStr}}"
|
||||
name="abstractStr" label="" type="textarea" placeholder="请输入病历摘要" show-word-limit autosize="{{minHeight}}" border="{{ false }}"
|
||||
custom-style="font-size:15px;min-height:100px;background:red;word-wrap:break-word;word-break: break-all;" bind:input="onChangeAbstract" maxlength="500" /> -->
|
||||
</view>
|
||||
|
||||
<view class="row" style="flex-direction: column;" wx:if="{{!(fileList_abstract.length==0 && !showSaveBtn)}}">
|
||||
|
||||
<!-- <view class="row" style="flex-direction: column;" wx:if="{{!(fileList_abstract.length==0 && !showSaveBtn)}}">
|
||||
<view class="left" style="font-weight:bold">
|
||||
病历摘要图片(可上传1-6张)<text class="red"></text>
|
||||
</view>
|
||||
<view class="uploadbox">
|
||||
<van-uploader file-list="{{ fileList_abstract }}" name="abstract" multiple max-count="6"
|
||||
deletable="{{showSaveBtn}}"
|
||||
show-upload="{{showSaveBtn}}"
|
||||
bind:delete="deleteImg" bind:after-read="afterRead" upload-text="上传" upload-icon="{{img_host+'/upload.png'}}" />
|
||||
<van-uploader file-list="{{ fileList_abstract }}" name="abstract" multiple max-count="6" deletable="{{showSaveBtn}}" show-upload="{{showSaveBtn}}" bind:delete="deleteImg" bind:after-read="afterRead" upload-text="上传" upload-icon="{{img_host+'/upload.png'}}" />
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
<view class="btnbox" wx:if="{{showSaveBtn}}">
|
||||
<view class="btn" bind:tap="saveAbstract">下一步</view>
|
||||
</view>
|
||||
<view class="tip" >注意:病历摘要,文字填写或者上传图片,二选一</view>
|
||||
</view>
|
||||
<view class="tip">注意:病历摘要,文字填写或者上传图片,二选一</view>
|
||||
</view>
|
||||
</van-tab>
|
||||
<van-tab title="DPMAS治疗记录" disabled="{{disable_record}}">
|
||||
@ -147,15 +247,145 @@
|
||||
<van-icon name="arrow" color="#83858a" size="38rpx" class="righticon" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="row back" style="flex-direction: column;">
|
||||
<view class="left">
|
||||
模式(单选)<text class="red">*</text>
|
||||
</view>
|
||||
<view class="right">
|
||||
<van-radio-group value="{{ case.sex }}" bind:change="onChange" disabled="{{!showSaveBtn}}" direction="horizontal">
|
||||
<van-radio name="{{1}}">DPMAS</van-radio>
|
||||
<van-radio name="{{1}}">DPMAS+PE</van-radio>
|
||||
<van-radio name="{{1}}">DPMAS+其他</van-radio>
|
||||
<van-radio name="{{1}}">CA280吸附</van-radio>
|
||||
<van-radio name="{{1}}">DPCAS</van-radio>
|
||||
</van-radio-group>
|
||||
</view>
|
||||
<textarea value="{{case.abstractStr}}" disabled="{{!showSaveBtn}}" class="textArea" placeholder="请输入病历摘要" bind:input="onChangeAbstract" bind:change="onChangeAbstract" placeholder-style="color:rgba(0,0,0,0.25)" confirm-type="done" maxlength="500" auto-height="{{true}}" />
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="left">
|
||||
血浆吸附处理量(ml)<text class="red">*</text>
|
||||
</view>
|
||||
<view class="right">
|
||||
<input type="text" value="{{case.headTime}}" class="ipt" placeholder="请输入血浆吸附处理量" placeholder-class="placeholder" />
|
||||
<text wx:if="{{case.headTime}}">ml</text>
|
||||
<!-- <van-icon name="arrow" color="#83858a" size="38rpx" class="righticon" style="opacity: 0;" /> -->
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="left">
|
||||
血浆置换量(ml)<text class="red">*</text>
|
||||
</view>
|
||||
<view class="right">
|
||||
<input type="text" value="{{case.headTime}}" class="ipt" placeholder="请输入血浆置换量" placeholder-class="placeholder" />
|
||||
<text wx:if="{{case.headTime}}">ml</text>
|
||||
<!-- <van-icon name="arrow" color="#83858a" size="38rpx" class="righticon" style="opacity: 0;" /> -->
|
||||
</view>
|
||||
</view>
|
||||
<view class="row" style="flex-direction: column;">
|
||||
<view class="left">
|
||||
抗凝剂量<text class="red"></text>
|
||||
</view>
|
||||
<view class="right">
|
||||
<van-checkbox-group value="{{ case.sex }}" bind:change="onChange" disabled="{{!showSaveBtn}}" direction="horizontal">
|
||||
<van-checkbox name="{{1}}">肝素 </van-checkbox>
|
||||
<van-checkbox name="{{2}}">低分子肝素 </van-checkbox>
|
||||
<van-checkbox name="{{2}}">枸橼酸 </van-checkbox>
|
||||
<van-checkbox name="{{2}}">甲磺酸萘莫司他</van-checkbox>
|
||||
<van-checkbox name="{{2}}">其他</van-checkbox>
|
||||
</van-checkbox-group>
|
||||
|
||||
</view>
|
||||
<view class="cellunit">
|
||||
<view class="desctitle">肝素: </view>
|
||||
<view class="row innerrow">
|
||||
<view class="left">首剂</view>
|
||||
<view class="right">
|
||||
<input type="text" value="{{case.headTime}}" class="ipt" placeholder="请输入首剂剂量" placeholder-class="placeholder" />
|
||||
<text wx:if="{{case.headTime}}">ml</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="row innerrow">
|
||||
<view class="left">追加</view>
|
||||
<view class="right">
|
||||
<input type="text" value="{{case.headTime}}" class="ipt" placeholder="请输入追加剂量" placeholder-class="placeholder" />
|
||||
<text wx:if="{{case.headTime}}">ml</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="cellunit">
|
||||
<view class="desctitle">低分子肝素: </view>
|
||||
<view class="row innerrow">
|
||||
<view class="left">低分子肝素(IU)</view>
|
||||
<view class="right">
|
||||
<input type="text" value="{{case.headTime}}" class="ipt" placeholder="请输入低分子肝素剂量" placeholder-class="placeholder" />
|
||||
<text wx:if="{{case.headTime}}">ml</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="cellunit">
|
||||
<view class="desctitle">枸橼酸: </view>
|
||||
<view class="row innerrow">
|
||||
<view class="left">血液流速(ml/min)</view>
|
||||
<view class="right">
|
||||
<input type="text" value="{{case.headTime}}" class="ipt" placeholder="请输入血液流速" placeholder-class="placeholder" />
|
||||
<text wx:if="{{case.headTime}}">ml</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="row innerrow">
|
||||
<view class="left">枸橼酸钠流速(ml/h)</view>
|
||||
<view class="right">
|
||||
<input type="text" value="{{case.headTime}}" class="ipt" placeholder="请输入枸橼酸钠流速" placeholder-class="placeholder" />
|
||||
<text wx:if="{{case.headTime}}">ml</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="row innerrow">
|
||||
<view class="left">钙剂(ml/h)</view>
|
||||
<view class="right">
|
||||
<input type="text" style="width:210rpx;margin-right: 20rpx;" value="{{case.headTime}}" class="ipt" placeholder="请输入钙剂剂量" placeholder-class="placeholder" />
|
||||
<text wx:if="{{case.headTime}}">ml/h</text>
|
||||
<van-radio-group value="{{ case.sex }}" bind:change="onChange" disabled="{{!showSaveBtn}}" >
|
||||
<van-radio name="{{1}}">10%葡萄糖酸钙</van-radio>
|
||||
<van-radio name="{{1}}">5%氯化钙</van-radio>
|
||||
</van-radio-group>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<view class="cellunit">
|
||||
<view class="desctitle">甲磺酸萘莫司他: </view>
|
||||
<view class="row innerrow">
|
||||
<view class="left">甲磺酸萘莫司他(mg/h)</view>
|
||||
<view class="right">
|
||||
<input type="text" value="{{case.headTime}}" class="ipt" placeholder="请输入甲磺酸萘莫司他剂量" placeholder-class="placeholder" />
|
||||
<text wx:if="{{case.headTime}}">mg/h</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="cellunit">
|
||||
<view class="desctitle">其他: </view>
|
||||
<view class="row innerrow">
|
||||
<view class="left">名称</view>
|
||||
<view class="right">
|
||||
<input type="text" value="{{case.headTime}}" class="ipt" placeholder="请输入名称" placeholder-class="placeholder" />
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<view class="row innerrow">
|
||||
<view class="left">剂量</view>
|
||||
<view class="right">
|
||||
<input type="text" value="{{case.headTime}}" class="ipt" placeholder="请输入剂量" placeholder-class="placeholder" />
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="row" style="flex-direction: column;border:none">
|
||||
<view class="left" style="white-space: normal;display: block;">
|
||||
治疗凭证,如医嘱、收费明细、处方单(可上传1-3张)<text class="red">*</text>
|
||||
附人工肝治疗记录相关照片(可上传1-3张)<text class="red">*</text>
|
||||
</view>
|
||||
<view class="uploadbox">
|
||||
<van-uploader file-list="{{ dpmas_list[index].fileList}}" bind:delete="deleteImg" multiple max-count="3" name="{{'record'+index}}"
|
||||
show-upload="{{showSaveBtn}}"
|
||||
deletable="{{showSaveBtn}}"
|
||||
bind:after-read="afterRead" upload-text="上传" upload-icon="{{img_host+'/upload.png'}}" />
|
||||
<van-uploader file-list="{{ dpmas_list[index].fileList}}" bind:delete="deleteImg" multiple max-count="3" name="{{'record'+index}}" show-upload="{{showSaveBtn}}" deletable="{{showSaveBtn}}" bind:after-read="afterRead" upload-text="上传" upload-icon="{{img_host+'/upload.png'}}" />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@ -174,7 +404,7 @@
|
||||
</view>
|
||||
<view class="btnbox" wx:if="{{showSaveBtn}}">
|
||||
<view class="btn" bind:tap="saveRecord">下一步</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="bottom">
|
||||
<view class="savebtn">保 存</view>
|
||||
</view> -->
|
||||
@ -185,7 +415,7 @@
|
||||
<view class="message"> (早前期为首次治疗前后、4次及以上为疗程化治疗前后)</view>
|
||||
<view class="row">
|
||||
<view class="left">
|
||||
治疗前检测时间<text class="red">*</text>
|
||||
首次治疗前检测时间<text class="red">*</text>
|
||||
</view>
|
||||
<view class="right" bind:tap="openHeadTime">
|
||||
<input type="text" value="{{case.headTime}}" class="ipt" placeholder="请选择时间" placeholder-class="placeholder" disabled />
|
||||
@ -195,7 +425,17 @@
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="left">
|
||||
治疗后检测时间<text class="red">*</text>
|
||||
首次治疗后检测时间<text class="red">*</text>
|
||||
</view>
|
||||
<view class="right" bind:tap="openAfterTime">
|
||||
<input type="text" value="{{case.afterTime}}" class="ipt" placeholder="请选择时间" placeholder-class="placeholder" disabled />
|
||||
<text wx:if="{{case.afterTime}}">h</text>
|
||||
<van-icon name="arrow" color="#83858a" size="38rpx" class="righticon" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="left">
|
||||
最后一次治疗后检测时间<text class="red">*</text>
|
||||
</view>
|
||||
<view class="right" bind:tap="openAfterTime">
|
||||
<input type="text" value="{{case.afterTime}}" class="ipt" placeholder="请选择时间" placeholder-class="placeholder" disabled />
|
||||
@ -208,144 +448,136 @@
|
||||
总胆红素(TB-umol/L)<text class="red">*</text>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="left">治疗前</view>
|
||||
<view class="left">首次治疗前</view>
|
||||
<view class="right">
|
||||
<input type="digit" value="{{case.headTb}}" bindinput="handleIpt" class="ipt" data-id="headTb"
|
||||
data-type="number"
|
||||
placeholder="请输入" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
<input type="digit" value="{{case.headTb}}" bindinput="handleIpt" class="ipt" data-id="headTb" data-type="number" placeholder="请输入" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="left">治疗后</view>
|
||||
<view class="left">首次治疗后</view>
|
||||
<view class="right">
|
||||
<input type="digit" value="{{case.afterTb}}" bindinput="handleIpt" class="ipt" data-id="afterTb"
|
||||
data-type="number"
|
||||
placeholder="请输入" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
<input type="digit" value="{{case.afterTb}}" bindinput="handleIpt" class="ipt" data-id="afterTb" data-type="number" placeholder="请输入" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="left">最后一次治疗后</view>
|
||||
<view class="right">
|
||||
<input type="digit" value="{{case.afterTb}}" bindinput="handleIpt" class="ipt" data-id="afterTb" data-type="number" placeholder="请输入" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="table">
|
||||
<view class="table">
|
||||
<view class="t_title">
|
||||
直接胆红素(DB-umol/L)<text class="red"></text>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="left">治疗前</view>
|
||||
<view class="left">首次治疗前</view>
|
||||
<view class="right">
|
||||
<input type="digit" value="{{case.headDb}}" bindinput="handleIpt" class="ipt" data-id="headDb"
|
||||
data-type="number"
|
||||
placeholder="请输入" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
<input type="digit" value="{{case.headTb}}" bindinput="handleIpt" class="ipt" data-id="headTb" data-type="number" placeholder="请输入" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="left">治疗后</view>
|
||||
<view class="left">首次治疗后</view>
|
||||
<view class="right">
|
||||
<input type="digit" value="{{case.afterDb}}" bindinput="handleIpt" class="ipt" data-id="afterDb"
|
||||
data-type="number" placeholder="请输入" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
<input type="digit" value="{{case.afterTb}}" bindinput="handleIpt" class="ipt" data-id="afterTb" data-type="number" placeholder="请输入" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
<!-- <view class="table">
|
||||
<view class="row">
|
||||
<view class="left">最后一次治疗后</view>
|
||||
<view class="right">
|
||||
<input type="digit" value="{{case.afterTb}}" bindinput="handleIpt" class="ipt" data-id="afterTb" data-type="number" placeholder="请输入" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="table">
|
||||
<view class="t_title">
|
||||
间接胆红素(IB-umol/L)<text class="red"></text>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="left">治疗前</view>
|
||||
<view class="left">首次治疗前</view>
|
||||
<view class="right">
|
||||
<input type="digit" value="{{case.headIb}}" bindinput="handleIpt" class="ipt" data-id="headIb" placeholder="请输入"
|
||||
data-type="number"
|
||||
placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
<input type="digit" value="{{case.headTb}}" bindinput="handleIpt" class="ipt" data-id="headTb" data-type="number" placeholder="请输入" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="left">治疗后</view>
|
||||
<view class="left">首次治疗后</view>
|
||||
<view class="right">
|
||||
<input type="digit" value="{{case.afterIb}}" bindinput="handleIpt" class="ipt" data-id="afterIb" placeholder="请输入"
|
||||
data-type="number"
|
||||
placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="table">
|
||||
<view class="t_title">
|
||||
谷丙转氨酶(ALT-U/L)<text class="red">*</text>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="left">治疗前</view>
|
||||
<view class="right">
|
||||
<input type="digit" value="{{case.headAlt}}" bindinput="handleIpt" class="ipt" data-id="headAlt" placeholder="请输入"
|
||||
data-type="number"
|
||||
placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
<input type="digit" value="{{case.afterTb}}" bindinput="handleIpt" class="ipt" data-id="afterTb" data-type="number" placeholder="请输入" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="left">治疗后</view>
|
||||
<view class="left">最后一次治疗后</view>
|
||||
<view class="right">
|
||||
<input type="digit" value="{{case.afterAlt}}" bindinput="handleIpt" class="ipt" data-id="afterAlt" placeholder="请输入"
|
||||
data-type="number"
|
||||
placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
<input type="digit" value="{{case.afterTb}}" bindinput="handleIpt" class="ipt" data-id="afterTb" data-type="number" placeholder="请输入" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="table">
|
||||
<view class="t_title">
|
||||
谷草转氨酶(AST-U/L)<text class="red">*</text>
|
||||
丙氨酸氨基转移酶(ALT-U/L)<text class="red">*</text>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="left">治疗前</view>
|
||||
<view class="left">首次治疗前</view>
|
||||
<view class="right">
|
||||
<input type="digit" value="{{case.headAst}}" bindinput="handleIpt" class="ipt" data-id="headAst" placeholder="请输入"
|
||||
data-type="number"
|
||||
placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
<input type="digit" value="{{case.headAlt}}" bindinput="handleIpt" class="ipt" data-id="headAlt" placeholder="请输入" data-type="number" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="left">治疗后</view>
|
||||
<view class="left">首次治疗后</view>
|
||||
<view class="right">
|
||||
<input type="digit" value="{{case.afterAst}}" bindinput="handleIpt" class="ipt" data-id="afterAst" placeholder="请输入"
|
||||
data-type="number"
|
||||
placeholder-class="placeholder" disabled="{{!showSaveBtn}}"/>
|
||||
<input type="digit" value="{{case.afterAlt}}" bindinput="handleIpt" class="ipt" data-id="afterAlt" placeholder="请输入" data-type="number" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="left">最后一次治疗后</view>
|
||||
<view class="right">
|
||||
<input type="digit" value="{{case.afterAlt}}" bindinput="handleIpt" class="ipt" data-id="afterAlt" placeholder="请输入" data-type="number" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="table">
|
||||
<view class="t_title">
|
||||
国际标准化比值(INR)<text class="red">*</text>
|
||||
天门冬氨酸氨基转移酶(AST-U/L)<text class="red">*</text>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="left">治疗前</view>
|
||||
<view class="right">
|
||||
<input type="digit" value="{{case.headInr}}" bindinput="handleIpt" class="ipt" data-id="headInr" placeholder="请输入"
|
||||
data-type="number"
|
||||
placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
<input type="digit" value="{{case.headAst}}" bindinput="handleIpt" class="ipt" data-id="headAst" placeholder="请输入" data-type="number" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="left">治疗后</view>
|
||||
<view class="right">
|
||||
<input type="digit" value="{{case.afterInr}}" bindinput="handleIpt" class="ipt" data-id="afterInr" placeholder="请输入"
|
||||
data-type="number"
|
||||
placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
<input type="digit" value="{{case.afterAst}}" bindinput="handleIpt" class="ipt" data-id="afterAst" placeholder="请输入" data-type="number" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="left">最后一次治疗后</view>
|
||||
<view class="right">
|
||||
<input type="digit" value="{{case.afterAst}}" bindinput="handleIpt" class="ipt" data-id="afterAst" placeholder="请输入" data-type="number" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="table">
|
||||
<view class="t_title">
|
||||
白蛋白(ALB-g/L)<text class="red"></text>
|
||||
白蛋白(ALB-g/L)<text class="red">*</text>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="left">治疗前</view>
|
||||
<view class="right">
|
||||
<input type="digit" value="{{case.headAlb}}" bindinput="handleIpt" class="ipt" data-id="headAlb"
|
||||
data-type="number"
|
||||
placeholder="请输入" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
<input type="digit" value="{{case.headAlb}}" bindinput="handleIpt" class="ipt" data-id="headAlb" data-type="number" placeholder="请输入" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="left">治疗后</view>
|
||||
<view class="right">
|
||||
<input type="digit" value="{{case.afterAlb}}" bindinput="handleIpt" class="ipt" data-id="afterAlb" placeholder="请输入"
|
||||
data-type="number"
|
||||
placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
<input type="digit" value="{{case.afterAlb}}" bindinput="handleIpt" class="ipt" data-id="afterAlb" placeholder="请输入" data-type="number" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="left">最后一次治疗后</view>
|
||||
<view class="right">
|
||||
<input type="digit" value="{{case.afterAlb}}" bindinput="handleIpt" class="ipt" data-id="afterAlb" placeholder="请输入" data-type="number" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@ -356,23 +588,69 @@
|
||||
<view class="row">
|
||||
<view class="left">治疗前</view>
|
||||
<view class="right">
|
||||
<input type="digit" value="{{case.headPta}}" bindinput="handleIpt" class="ipt" data-id="headPta" placeholder="请输入"
|
||||
data-type="number"
|
||||
placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
<input type="digit" value="{{case.headPta}}" bindinput="handleIpt" class="ipt" data-id="headPta" placeholder="请输入" data-type="number" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="left">治疗后</view>
|
||||
<view class="right">
|
||||
<input type="digit" value="{{case.afterPta}}" bindinput="handleIpt" class="ipt" data-id="afterPta" placeholder="请输入"
|
||||
data-type="number"
|
||||
placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
<input type="digit" value="{{case.afterPta}}" bindinput="handleIpt" class="ipt" data-id="afterPta" placeholder="请输入" data-type="number" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="left">最后一次治疗后</view>
|
||||
<view class="right">
|
||||
<input type="digit" value="{{case.afterPta}}" bindinput="handleIpt" class="ipt" data-id="afterPta" placeholder="请输入" data-type="number" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
|
||||
<view class="table">
|
||||
<view class="t_title">
|
||||
国际标准化比值(INR)<text class="red">*</text>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="left">治疗前</view>
|
||||
<view class="right">
|
||||
<input type="digit" value="{{case.headInr}}" bindinput="handleIpt" class="ipt" data-id="headInr" placeholder="请输入" data-type="number" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="left">治疗后</view>
|
||||
<view class="right">
|
||||
<input type="digit" value="{{case.afterInr}}" bindinput="handleIpt" class="ipt" data-id="afterInr" placeholder="请输入" data-type="number" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="left">最后一次治疗后</view>
|
||||
<view class="right">
|
||||
<input type="digit" value="{{case.afterInr}}" bindinput="handleIpt" class="ipt" data-id="afterInr" placeholder="请输入" data-type="number" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="table">
|
||||
<view class="t_title">
|
||||
C反应蛋白(CRP-mg/L)<text class="red"></text>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="left">治疗前</view>
|
||||
<view class="right">
|
||||
<input type="digit" value="{{case.headAlb}}" bindinput="handleIpt" class="ipt" data-id="headAlb" data-type="number" placeholder="请输入" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="left">治疗后</view>
|
||||
<view class="right">
|
||||
<input type="digit" value="{{case.afterAlb}}" bindinput="handleIpt" class="ipt" data-id="afterAlb" placeholder="请输入" data-type="number" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="left">最后一次治疗后</view>
|
||||
<view class="right">
|
||||
<input type="digit" value="{{case.afterAlb}}" bindinput="handleIpt" class="ipt" data-id="afterAlb" placeholder="请输入" data-type="number" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="table">
|
||||
<view class="t_title">
|
||||
白介素6(IL-6-ng/L)<text class="red"></text>
|
||||
@ -380,17 +658,19 @@
|
||||
<view class="row">
|
||||
<view class="left">治疗前</view>
|
||||
<view class="right">
|
||||
<input type="digit" value="{{case.headIl6}}" bindinput="handleIpt" class="ipt" data-id="headIl6" placeholder="请输入"
|
||||
data-type="number"
|
||||
placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
<input type="digit" value="{{case.headIl6}}" bindinput="handleIpt" class="ipt" data-id="headIl6" placeholder="请输入" data-type="number" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="left">治疗后</view>
|
||||
<view class="right">
|
||||
<input type="digit" value="{{case.afterIl6}}" bindinput="handleIpt" class="ipt" data-id="afterIl6" placeholder="请输入"
|
||||
data-type="number"
|
||||
placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
<input type="digit" value="{{case.afterIl6}}" bindinput="handleIpt" class="ipt" data-id="afterIl6" placeholder="请输入" data-type="number" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="left">最后一次治疗后</view>
|
||||
<view class="right">
|
||||
<input type="digit" value="{{case.afterIl6}}" bindinput="handleIpt" class="ipt" data-id="afterIl6" placeholder="请输入" data-type="number" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@ -401,17 +681,19 @@
|
||||
<view class="row">
|
||||
<view class="left">治疗前</view>
|
||||
<view class="right">
|
||||
<input type="digit" value="{{case.headTnf}}" bindinput="handleIpt" class="ipt" data-id="headTnf" placeholder="请输入"
|
||||
data-type="number"
|
||||
placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
<input type="digit" value="{{case.headTnf}}" bindinput="handleIpt" class="ipt" data-id="headTnf" placeholder="请输入" data-type="number" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="left">治疗后</view>
|
||||
<view class="right">
|
||||
<input type="digit" value="{{case.afterTnf}}" bindinput="handleIpt" class="ipt" data-id="afterTnf" placeholder="请输入"
|
||||
data-type="number"
|
||||
placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
<input type="digit" value="{{case.afterTnf}}" bindinput="handleIpt" class="ipt" data-id="afterTnf" placeholder="请输入" data-type="number" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="left">最后一次治疗后</view>
|
||||
<view class="right">
|
||||
<input type="digit" value="{{case.afterTnf}}" bindinput="handleIpt" class="ipt" data-id="afterTnf" placeholder="请输入" data-type="number" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@ -419,16 +701,69 @@
|
||||
<view class="left">
|
||||
检查报告单(可上传1-6张)<text class="red">*</text>
|
||||
</view>
|
||||
<view class="red rederror">至少包含国际标准化比值 (INR)治疗前结果报告</view>
|
||||
<view class="red rederror">包含肝功能或生化检测(必须有、审查)、凝血功能、炎症因子化验单,至少包含首次治疗前后化验单拍照,需进行隐私信息脱敏(姓名、电话、身份证)</view>
|
||||
<view class="uploadbox">
|
||||
<van-uploader file-list="{{ fileList_check }}" multiple bind:delete="deleteImg" max-count="6" name="check"
|
||||
show-upload="{{showSaveBtn}}"
|
||||
deletable="{{showSaveBtn}}" bind:after-read="afterRead" upload-text="上传" upload-icon="{{img_host+'/upload.png'}}" />
|
||||
<van-uploader file-list="{{ fileList_check }}" multiple bind:delete="deleteImg" max-count="6" name="check" show-upload="{{showSaveBtn}}" deletable="{{showSaveBtn}}" bind:after-read="afterRead" upload-text="上传" upload-icon="{{img_host+'/upload.png'}}" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="btnbox" wx:if="{{showSaveBtn}}">
|
||||
<view class="btn" bind:tap="save">提交</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</van-tab>
|
||||
<van-tab title="疾病转归" disabled="{{disable_back}}">
|
||||
<view class="basic back {{!showSaveBtn?'active':''}}" style="background-color: #fff;">
|
||||
<view class="row">
|
||||
<view class="left">
|
||||
出院时间<text class="red">*</text>
|
||||
</view>
|
||||
<view class="right" bind:tap="openHeadTime">
|
||||
<input type="text" value="{{case.headTime}}" class="ipt" placeholder="请选择时间" placeholder-class="placeholder" disabled />
|
||||
<text wx:if="{{case.headTime}}">h</text>
|
||||
<van-icon name="arrow" color="#83858a" size="38rpx" class="righticon" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="left">
|
||||
住院天数<text class="red">*</text>
|
||||
</view>
|
||||
<view class="right">
|
||||
<input type="text" value="{{case.headTime}}" class="ipt" placeholder="请输入住院天数" placeholder-class="placeholder" />
|
||||
<text wx:if="{{case.headTime}}">天</text>
|
||||
<van-icon name="arrow" color="#83858a" size="38rpx" class="righticon" style="opacity: 0;" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="row" style="flex-direction: column;">
|
||||
<view class="left">
|
||||
出院情况<text class="red">*</text>
|
||||
</view>
|
||||
<view class="unit" style="border:none;margin-bottom:0;">
|
||||
<textarea value="{{case.abstractStr}}" disabled="{{!showSaveBtn}}" class="textArea" placeholder="请输入病历摘要" bind:input="onChangeAbstract" bind:change="onChangeAbstract" placeholder-style="color:rgba(0,0,0,0.25)" confirm-type="done" maxlength="500" auto-height="{{true}}" />
|
||||
<view class="word">
|
||||
<view class="textdesc">
|
||||
<van-uploader file-list="{{ fileList }}" bind:after-read="afterRead">
|
||||
<view class="con">
|
||||
<van-icon slot name="photo-o" size="20px" />上传图片识别内容
|
||||
</view>
|
||||
</van-uploader>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="row back" style="flex-direction: column;">
|
||||
<view class="left">
|
||||
出院状态<text class="red">*</text>
|
||||
</view>
|
||||
<view class="right">
|
||||
<van-radio-group value="{{ case.sex }}" bind:change="onChange" disabled="{{!showSaveBtn}}" direction="horizontal">
|
||||
<van-radio name="{{1}}">好转</van-radio>
|
||||
<van-radio name="{{2}}">痊愈 </van-radio>
|
||||
<van-radio name="{{2}}">恶化 </van-radio>
|
||||
<van-radio name="{{2}}">死亡 </van-radio>
|
||||
<van-radio name="{{2}}">移植 </van-radio>
|
||||
</van-radio-group>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</van-tab>
|
||||
</van-tabs>
|
||||
|
||||
@ -10,6 +10,58 @@ page{
|
||||
flex-direction: column;
|
||||
margin-top: 172rpx;
|
||||
}
|
||||
.basic .innerrow{
|
||||
margin:0!important;
|
||||
padding:20rpx 0!important;
|
||||
font-size: 28rpx;
|
||||
border-bottom:1rpx solid rgba(0,0,0,0.1)!important;
|
||||
}
|
||||
.basic .cellunit:last-child .innerrow:last-child{
|
||||
border:none!important;
|
||||
padding-bottom: 0!important;
|
||||
}
|
||||
.basic .innerrow .van-radio{
|
||||
margin: 5rpx 0;
|
||||
|
||||
}
|
||||
|
||||
.basic .innerrow .placeholder{
|
||||
font-size: 28rpx!important;
|
||||
}
|
||||
.cellunit{
|
||||
margin-top: 15rpx;
|
||||
|
||||
}
|
||||
.desctitle{
|
||||
color: rgba(0,0,0,0.65);
|
||||
}
|
||||
.textdesc{
|
||||
position: relative;
|
||||
}
|
||||
.back .van-radio-group{
|
||||
margin-top: 15rpx;
|
||||
}
|
||||
.back .van-radio{
|
||||
margin-bottom: 14rpx;
|
||||
}
|
||||
.unit{
|
||||
border-bottom: 1rpx solid #E3E4E5;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
.unit .van-uploader__upload{
|
||||
width:100%!important;
|
||||
height:100%!important;
|
||||
}
|
||||
.unit .con{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.van-checkbox-group--horizontal{
|
||||
margin-top: 15rpx;
|
||||
}
|
||||
.van-checkbox__label{
|
||||
margin-bottom: 10rpx!important;
|
||||
}
|
||||
.van-tab__pane{
|
||||
flex:1;
|
||||
}
|
||||
@ -322,13 +374,16 @@ color: #3881F7;
|
||||
}
|
||||
|
||||
.word{
|
||||
white-space: pre-wrap;
|
||||
line-height:48rpx;
|
||||
|
||||
|
||||
position: absolute;
|
||||
bottom:20rpx;
|
||||
bottom:10rpx;
|
||||
color: rgba(0,0,0,0.25);
|
||||
right:10rpx;
|
||||
}
|
||||
.unit{
|
||||
position: relative;
|
||||
}
|
||||
.van-picker__cancel, .van-picker__confirm{
|
||||
font-size: 15px!important;
|
||||
}
|
||||
|
||||
@ -8,12 +8,14 @@ Page({
|
||||
data: {
|
||||
hasChoosedImg: false,
|
||||
canvasWidth: 0,
|
||||
showBars: false,
|
||||
canvasHeight: 0, // canvas的完整高度
|
||||
canvasHeightLen: 0, // canvas的临时高度(用在操作栏影响画布高度时)
|
||||
windowHeight: 0, // 屏幕高度
|
||||
prevPosition: [0, 0], // 手指触摸的所在位置
|
||||
background: '', // 背景图片,即导入的图片
|
||||
|
||||
colors: ["#FFFFFF", "#000000", "#ff0000", "#ffff00", "#00CC00", "#99CCFF", "#0000ff", "#ff00ff"],
|
||||
selectColor:"#99CCFF",
|
||||
btnInfo: [
|
||||
{
|
||||
type: 'width',
|
||||
@ -37,7 +39,7 @@ Page({
|
||||
r: 33,
|
||||
g: 33,
|
||||
b: 33,
|
||||
w: 10,
|
||||
selectSize:5,
|
||||
clear: false, // 是否开启清空栏
|
||||
eraser: false, // 是否开启橡皮擦
|
||||
saving: false, // 是否在保存状态
|
||||
@ -62,22 +64,34 @@ Page({
|
||||
})
|
||||
// 选照片
|
||||
this.chooseImg();
|
||||
// 检查权限,保存时提示弹窗用
|
||||
wx.getSetting({
|
||||
success(res) {
|
||||
if (res.authSetting['scope.writePhotosAlbum']) {
|
||||
that.setData({
|
||||
scope: true,
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
},
|
||||
|
||||
tapBtn: function (e) {
|
||||
utils.tapBtn(e, this, 2);
|
||||
},
|
||||
|
||||
showBarsHandler() {
|
||||
this.setData({
|
||||
showBars: !this.data.showBars
|
||||
})
|
||||
},
|
||||
sizeHandler(e) {
|
||||
const size = e.detail.value;
|
||||
this.setData({
|
||||
selectSize: size
|
||||
})
|
||||
},
|
||||
hideBarsHandler() {
|
||||
this.setData({
|
||||
showBars: false
|
||||
})
|
||||
},
|
||||
colorChange(e) {
|
||||
const color = e.currentTarget.dataset.color;
|
||||
this.setData({
|
||||
selectColor: color
|
||||
})
|
||||
},
|
||||
addImg: function (e) {
|
||||
this.chooseImg();
|
||||
},
|
||||
@ -130,8 +144,8 @@ Page({
|
||||
ctx.clearRect(e.touches[0].x, e.touches[0].y, 30, 30);
|
||||
ctx.draw(true);
|
||||
} else {
|
||||
ctx.setStrokeStyle("rgb(" + this.data.r + ', ' + this.data.g + ', ' + this.data.b + ')');
|
||||
ctx.setLineWidth(this.data.w);
|
||||
ctx.setStrokeStyle(this.data.selectColor);
|
||||
ctx.setLineWidth(this.data.selectSize);
|
||||
ctx.setLineCap('round');
|
||||
ctx.setLineJoin('round');
|
||||
ctx.moveTo(this.data.prevPosition[0], this.data.prevPosition[1]);
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{
|
||||
"navigationBarTitleText": "涂鸦",
|
||||
"navigationBarTitleText": "涂鸦",
|
||||
"navigationBarBackgroundColor": "#9cf",
|
||||
"navigationBarTextStyle": "white",
|
||||
"usingComponents": {}
|
||||
|
||||
@ -1,14 +1,15 @@
|
||||
<!--painting-2.wxml-->
|
||||
<view class="page" style="background-color: #000;height:100vh;" catch:tap="hideBarsHandler">
|
||||
<canvas canvas-id="myCanvas" disable-scroll="true" bindtouchstart="touchStart"
|
||||
bindtouchmove="touchMove" bindtouchend="touchEnd" wx:if="{{hasChoosedImg}}"
|
||||
style="height: {{(canvasHeightLen == 0) ? canvasHeight : canvasHeightLen}}px; width: {{canvasWidth}}px; background: url('{{background}}');background-position: 0 0; background-size: {{canvasWidth}}px {{canvasHeight}}px"
|
||||
/>
|
||||
<view class="failText" wx:if="{{!hasChoosedImg}}" bindtap="addImg">没有选择照片,点击重新选择</view>
|
||||
<view class="bottom">
|
||||
<view class="failText" wx:if="{{!hasChoosedImg}}" bindtap="addImg" catch:touchstart="hideBarsHandler">没有选择照片,点击重新选择</view>
|
||||
<!-- <view class="bottom">
|
||||
<block wx:for="{{btnInfo}}" wx:key="{{index}}">
|
||||
<view class="list-item" data-type="{{item.type}}" style="background: {{item.background}}" bindtap="tapBtn"></view>
|
||||
</block>
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="choose-box" wx:if="{{width}}">
|
||||
<view class="color-box" style="background: {{'rgb(' + r + ', ' + g + ', ' + b + ')'}}; height: {{w}}px; border-radius: {{w/2}}px"></view>
|
||||
<slider min="1" max="50" step="1" show-value="true" value="{{w}}" bindchange="changeWidth"/>
|
||||
@ -19,7 +20,35 @@
|
||||
<slider min="0" max="255" step="1" show-value="true" activeColor="green" value="{{g}}" data-color="g" bindchange="changeColor"/>
|
||||
<slider min="0" max="255" step="1" show-value="true" activeColor="blue" value="{{b}}" data-color="b" bindchange="changeColor"/>
|
||||
</view>
|
||||
<view class="choose-box-flex" wx:if="{{clear}}">
|
||||
<!-- 涂鸦工具区 -->
|
||||
<view style="padding: 30rpx 32rpx 50rpx;position: fixed;bottom:0;width:100%;box-sizing: border-box;" >
|
||||
<view class="space" style="padding-bottom: 20rpx; color: #FFF; font-size: 30rpx; line-height: 56rpx;display: flex;width:100%">
|
||||
<view catch:tap="tapBtn" data-type="save">确定</view>
|
||||
<view style="width: 30rpx;"></view>
|
||||
<!-- <view >上传</view> -->
|
||||
<view style="flex: 1;"></view>
|
||||
<view catch:tap="showBarsHandler">笔力</view>
|
||||
<view style="width: 30rpx;"></view>
|
||||
<view catch:tap="chooseEraser">橡皮擦</view>
|
||||
<view style="width: 30rpx;"></view>
|
||||
<view catch:tap="clearCanvas">清除</view>
|
||||
</view>
|
||||
<scroll-view scroll-x style="height: 90rpx;">
|
||||
<view style="white-space: nowrap;">
|
||||
<block wx:for="{{colors}}" wx:key="index">
|
||||
<view style="background-color: {{item}};" class="colorBtn {{selectColor == item && 'select'}}" catch:tap="colorChange" data-color="{{item}}"></view>
|
||||
</block>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
<view class="bars {{showBars && 'show'}}" wx:if="{{showBars}}">
|
||||
<view class="space vertical_center">
|
||||
<view style="width: 136rpx;">字号:</view>
|
||||
<slider style="flex: 1;" value="{{selectSize}}" step="1" min="1" max="20" block-size="12" activeColor="#a88cf8" bindchange="sizeHandler" />
|
||||
<view style="width: 50rpx; text-align: right;">{{selectSize}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="choose-box-flex" wx:if="{{clear}}">
|
||||
<view class="choose-item" bindtap="chooseEraser">
|
||||
<view class="choose-img" style='background: url("http://ov8a2tdri.bkt.clouddn.com/wx-app/icon-5.png") white no-repeat; background-size: 26px 26px;background-position: 2px 2px; border: {{eraser ? "2px solid #888" : "2px solid transparent"}}'></view>
|
||||
<view>橡皮擦</view>
|
||||
@ -28,4 +57,5 @@
|
||||
<view class="choose-img" style='background: url("http://ov8a2tdri.bkt.clouddn.com/wx-app/icon-4.png") white no-repeat; background-size: 26px 26px;background-position: 2px 2px;'></view>
|
||||
<view>清空</view>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
@ -2,13 +2,60 @@
|
||||
page {
|
||||
background: rgba(153, 204, 255, 0.1);
|
||||
}
|
||||
|
||||
.page {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.failText {
|
||||
margin-top: 200rpx;
|
||||
text-align: center;
|
||||
color: #888;
|
||||
}
|
||||
|
||||
.colorBtn {
|
||||
width: 50rpx;
|
||||
height: 50rpx;
|
||||
border-radius: 50%;
|
||||
margin-right: 20rpx;
|
||||
display: inline-block;
|
||||
border: 6rpx solid #242424;
|
||||
}
|
||||
|
||||
.colorBtn.select {
|
||||
border: 6rpx solid #FFF;
|
||||
}
|
||||
|
||||
.bars {
|
||||
right: 1rem;
|
||||
width: 400rpx;
|
||||
padding: 20rpx;
|
||||
bottom: 7.5rem;
|
||||
color: #a88cf8;
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
position: absolute;
|
||||
border-radius: 8rpx;
|
||||
background-color: #242424;
|
||||
box-shadow: 0 0 1.5rem 0 #FFFFFF20;
|
||||
}
|
||||
|
||||
slider {
|
||||
margin: 20rpx 20rpx 20rpx 0 !important;
|
||||
}
|
||||
|
||||
.flex_column {
|
||||
display: flex;
|
||||
flex-direction: column !important;
|
||||
}
|
||||
|
||||
.vertical_center {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.space {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.bottom {
|
||||
width: 750rpx;
|
||||
height: 100rpx;
|
||||
|
||||
263
case/pages/paintDraw/paintDraw.js
Normal file
263
case/pages/paintDraw/paintDraw.js
Normal file
@ -0,0 +1,263 @@
|
||||
let penType = 'drawPen';
|
||||
Page({
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
scale: 1,
|
||||
imageList: [],
|
||||
showBars: false,
|
||||
selectSize: wx.getStorageSync('selectSize') || 5,
|
||||
selectColor: wx.getStorageSync('selectColor') || '#FFFFFF',
|
||||
colors: ["#FFFFFF", "#000000", "#ff0000", "#ffff00", "#00CC00", "#99CCFF", "#0000ff", "#ff00ff"],
|
||||
},
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad(options) {
|
||||
this.setData({
|
||||
cover: options["cover"] || "https://www4.bing.com//th?id=OHR.BaobabAvenue_ZH-CN5217451344_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp"
|
||||
})
|
||||
this.initCanvas();
|
||||
},
|
||||
// 页面卸载 把字号选择的颜色和透明度保存
|
||||
onUnload() {
|
||||
const This = this.data;
|
||||
penType = 'drawPen';
|
||||
wx.setStorageSync('selectSize', This.selectSize);
|
||||
wx.setStorageSync('selectColor', This.selectColor);
|
||||
},
|
||||
colorChange(e) {
|
||||
const color = e.currentTarget.dataset.color;
|
||||
this.setData({
|
||||
selectColor: color
|
||||
})
|
||||
penType = 'drawPen';
|
||||
},
|
||||
sizeHandler(e) {
|
||||
const size = e.detail.value;
|
||||
this.setData({
|
||||
selectSize: size
|
||||
})
|
||||
},
|
||||
// 使用橡皮檫
|
||||
rubberHandler() {
|
||||
penType = 'clearPen';
|
||||
this.setData({
|
||||
selectColor: ""
|
||||
})
|
||||
},
|
||||
//初始化画布
|
||||
initCanvas() {
|
||||
const This = this.data;
|
||||
const query = wx.createSelectorQuery("#myCanvas");
|
||||
query.select('#myCanvas').fields({
|
||||
node: true,
|
||||
size: true,
|
||||
context: true
|
||||
}).exec(res => {
|
||||
const canvas = res[0].node;
|
||||
const context = canvas.getContext('2d');
|
||||
// 获取设备像素比
|
||||
const dpr = wx.getSystemInfoSync().pixelRatio;
|
||||
const width = res[0].width * dpr;
|
||||
const height = res[0].height * dpr;
|
||||
canvas.width = width;
|
||||
canvas.height = height;
|
||||
// 填充背景颜色
|
||||
context.fillStyle = "transparent";
|
||||
context.fillRect(0, 0, width, height);
|
||||
// 缩放
|
||||
context.scale(dpr, dpr);
|
||||
// 设置默认属性
|
||||
context.strokeStyle = This.selectColor;
|
||||
context.lineWidth = This.selectSize;
|
||||
this.setData({
|
||||
canvasElement: canvas,
|
||||
canvasContext: context,
|
||||
})
|
||||
})
|
||||
},
|
||||
// 开始
|
||||
startTouchClick(e) {
|
||||
var that = this;
|
||||
const x = e.touches[0].x;
|
||||
const y = e.touches[0].y;
|
||||
that.setData({
|
||||
oldPosition: {
|
||||
x: x,
|
||||
y: y
|
||||
},
|
||||
}, () => {
|
||||
that.setData({
|
||||
isDraw: true,
|
||||
})
|
||||
})
|
||||
},
|
||||
// 移动
|
||||
moveClick(e) {
|
||||
if (this.data.isDraw) {
|
||||
let positionItem = e.touches[0]
|
||||
if (this.data.canvasContext) {
|
||||
this.drawCanvas(positionItem, true)
|
||||
} else {
|
||||
this.initCanvas(() => {
|
||||
this.drawCanvas(positionItem, true)
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
// 描绘canvas
|
||||
drawCanvas(position) {
|
||||
const ctx = this.data.canvasContext;
|
||||
const size = this.data.selectSize;
|
||||
const color = this.data.selectColor;
|
||||
const This = this.data;
|
||||
if (ctx) {
|
||||
ctx.beginPath();
|
||||
ctx.lineWidth = size;
|
||||
ctx.strokeStyle = color;
|
||||
ctx.lineCap = 'round';
|
||||
if (penType == 'clearPen') {
|
||||
const radius = size + 1;
|
||||
ctx.clearRect(position.x - (radius / 2), position.y - (radius / 2), radius, radius);
|
||||
} else {
|
||||
ctx.moveTo(This.oldPosition.x, This.oldPosition.y);
|
||||
ctx.lineTo(position.x, position.y);
|
||||
ctx.stroke()
|
||||
};
|
||||
ctx.closePath();
|
||||
this.setData({
|
||||
oldPosition: {
|
||||
x: position.x,
|
||||
y: position.y,
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
//触摸结束
|
||||
endTouchClick(e) {
|
||||
this.setData({
|
||||
isDraw: false
|
||||
})
|
||||
this.saveImage();
|
||||
},
|
||||
//误触事件
|
||||
errorClick(e) {
|
||||
console.log("误触事件:", e);
|
||||
},
|
||||
// 是否展示 操作栏
|
||||
showBarsHandler() {
|
||||
this.setData({
|
||||
showBars: !this.data.showBars
|
||||
})
|
||||
},
|
||||
hideBarsHandler() {
|
||||
this.setData({
|
||||
showBars: false
|
||||
})
|
||||
},
|
||||
// 回退一步 || 重绘
|
||||
restore() {
|
||||
// 实际上的回退就是取存储的最后一张图片 渲染出来
|
||||
// 所以会有抖动 暂未想到其他方案解决
|
||||
const ctx = this.data.canvasContext;
|
||||
const canvas = this.data.canvasElement;
|
||||
const dpr = wx.getSystemInfoSync().pixelRatio;
|
||||
let imgs = this.data.imageList;
|
||||
if (!imgs || imgs.length == 0) return false;
|
||||
if (imgs.length == 1) return this.clearRect();
|
||||
ctx.clearRect(0, 0, canvas.width, canvas.height);
|
||||
// -2 是因为当前的也储存了
|
||||
const cover = imgs[imgs.length - 2];
|
||||
imgs.splice(imgs.length - 1, 1);
|
||||
let bg = canvas.createImage();
|
||||
bg.src = cover;
|
||||
bg.onload = () => {
|
||||
// 缩放【放大还原】
|
||||
ctx.scale(1 / dpr, 1 / dpr);
|
||||
ctx.drawImage(bg, 0, 0, canvas.width, canvas.height);
|
||||
// 再缩放
|
||||
ctx.scale(dpr, dpr);
|
||||
}
|
||||
},
|
||||
// 清空画布
|
||||
clearRect() {
|
||||
const ctx = this.data.canvasContext;
|
||||
const canvas = this.data.canvasElement;
|
||||
ctx.clearRect(0, 0, canvas.width, canvas.height);
|
||||
this.setData({
|
||||
imageList: []
|
||||
})
|
||||
},
|
||||
// 保存图片
|
||||
saveImage() {
|
||||
const that = this;
|
||||
wx.canvasToTempFilePath({
|
||||
canvasId: 'myCanvas',
|
||||
canvas: this.data.canvasElement,
|
||||
success: function (res) {
|
||||
that.data.imageList.push(res.tempFilePath);
|
||||
},
|
||||
fail: function (err) {}
|
||||
})
|
||||
},
|
||||
// 图片预览 这边的思路是 首先将背景图片画上去 再将最后的涂鸦展示上去
|
||||
preview() {
|
||||
const that = this;
|
||||
wx.showLoading({
|
||||
title: '打包中...',
|
||||
})
|
||||
const images = that.data.imageList;
|
||||
if (!images && images.length == 0) return false;
|
||||
const img = images[images.length - 1];
|
||||
// 将背景图片画上去
|
||||
const ctx = this.data.canvasContext;
|
||||
const canvas = this.data.canvasElement;
|
||||
ctx.clearRect(0, 0, canvas.width, canvas.height);
|
||||
const cover = this.data.cover;
|
||||
wx.getImageInfo({
|
||||
src: cover,
|
||||
success: e => {
|
||||
let realWidth = canvas.width;
|
||||
let realHeight = canvas.height;
|
||||
// 动态计算图片宽高
|
||||
if (e.width > e.height) {
|
||||
const ratio = canvas.height / e.height;
|
||||
realWidth = e.width * ratio;
|
||||
} else {
|
||||
const ratio = canvas.width / e.width;
|
||||
realHeight = e.height * ratio;
|
||||
}
|
||||
let bg = canvas.createImage();
|
||||
bg.src = cover;
|
||||
bg.onload = () => {
|
||||
const dpr = wx.getSystemInfoSync().pixelRatio;
|
||||
ctx.scale(1 / dpr, 1 / dpr);
|
||||
ctx.drawImage(bg, 0, (canvas.height - realHeight) / 2, realWidth, realHeight);
|
||||
let trajectory = canvas.createImage();
|
||||
trajectory.src = img;
|
||||
trajectory.onload = _ => {
|
||||
ctx.drawImage(trajectory, 0, 0, canvas.width, canvas.height);
|
||||
wx.canvasToTempFilePath({
|
||||
canvasId: 'myCanvas',
|
||||
canvas: that.data.canvasElement,
|
||||
success: function (res) {
|
||||
wx.previewImage({
|
||||
urls: [res.tempFilePath],
|
||||
showmenu: true,
|
||||
current: res.tempFilePath,
|
||||
complete: _ => {
|
||||
wx.hideLoading();
|
||||
ctx.scale(dpr, dpr);
|
||||
}
|
||||
})
|
||||
},
|
||||
fail: function (err) {}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
})
|
||||
6
case/pages/paintDraw/paintDraw.json
Normal file
6
case/pages/paintDraw/paintDraw.json
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"navigationBarTitleText": "涂鸦",
|
||||
"navigationBarBackgroundColor": "#9cf",
|
||||
"navigationBarTextStyle": "white",
|
||||
"usingComponents": {}
|
||||
}
|
||||
36
case/pages/paintDraw/paintDraw.wxml
Normal file
36
case/pages/paintDraw/paintDraw.wxml
Normal file
@ -0,0 +1,36 @@
|
||||
<view style="height: 100vh;" class="flex_column" catch:tap="hideBarsHandler">
|
||||
<!-- 涂鸦区 -->
|
||||
<view style="flex: 1; position: relative;" catch:touchstart="hideBarsHandler">
|
||||
<image src="{{cover}}" mode="aspectFit" style="position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: -1; width: 100%; height: 100%;" />
|
||||
<canvas style="width: 100%; height: 100%;;" id="myCanvas" canvas-id="myCanvas" type="2d" bindtouchstart="startTouchClick" bindtouchmove="moveClick" bindtouchend="endTouchClick" binderror="errorClick"></canvas>
|
||||
</view>
|
||||
<!-- 涂鸦工具区 -->
|
||||
<view style="padding: 30rpx 32rpx 50rpx;">
|
||||
<view class="space" style="padding-bottom: 20rpx; color: #FFF; font-size: 30rpx; line-height: 56rpx;">
|
||||
<view catch:tap="restore">回退</view>
|
||||
<view style="width: 30rpx;"></view>
|
||||
<view catch:tap="preview">预览</view>
|
||||
<view style="flex: 1;"></view>
|
||||
<view catch:tap="showBarsHandler">笔力</view>
|
||||
<view style="width: 30rpx;"></view>
|
||||
<view catch:tap="rubberHandler">橡皮擦</view>
|
||||
<view style="width: 30rpx;"></view>
|
||||
<view catch:tap="clearRect">清除</view>
|
||||
</view>
|
||||
<scroll-view scroll-x style="height: 90rpx;">
|
||||
<view style="white-space: nowrap;">
|
||||
<block wx:for="{{colors}}" wx:key="index">
|
||||
<view style="background-color: {{item}};" class="colorBtn {{selectColor == item && 'select'}}" catch:tap="colorChange" data-color="{{item}}"></view>
|
||||
</block>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="bars {{showBars && 'show'}}" wx:if="{{showBars}}">
|
||||
<view class="space vertical_center">
|
||||
<view style="width: 136rpx;">字号:</view>
|
||||
<slider style="flex: 1;" value="{{selectSize}}" step="1" min="1" max="20" block-size="12" activeColor="#a88cf8" bindchange="sizeHandler" />
|
||||
<view style="width: 50rpx; text-align: right;">{{selectSize}}</view>
|
||||
</view>
|
||||
</view>
|
||||
53
case/pages/paintDraw/paintDraw.wxss
Normal file
53
case/pages/paintDraw/paintDraw.wxss
Normal file
@ -0,0 +1,53 @@
|
||||
page {
|
||||
height: 100vh;
|
||||
overflow: hidden;
|
||||
box-sizing: border-box;
|
||||
padding-bottom: 0 !important;
|
||||
background-color: #242424 !important;
|
||||
}
|
||||
|
||||
.colorBtn {
|
||||
width: 50rpx;
|
||||
height: 50rpx;
|
||||
border-radius: 50%;
|
||||
margin-right: 20rpx;
|
||||
display: inline-block;
|
||||
border: 6rpx solid #242424;
|
||||
}
|
||||
|
||||
.colorBtn.select {
|
||||
border: 6rpx solid #FFF;
|
||||
}
|
||||
|
||||
.bars {
|
||||
right: 1rem;
|
||||
width: 400rpx;
|
||||
padding: 20rpx;
|
||||
bottom: 7.5rem;
|
||||
color: #a88cf8;
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
position: absolute;
|
||||
border-radius: 8rpx;
|
||||
background-color: #242424;
|
||||
box-shadow: 0 0 1.5rem 0 #FFFFFF20;
|
||||
}
|
||||
|
||||
slider {
|
||||
margin: 20rpx 20rpx 20rpx 0 !important;
|
||||
}
|
||||
|
||||
.flex_column {
|
||||
display: flex;
|
||||
flex-direction: column !important;
|
||||
}
|
||||
|
||||
.vertical_center {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.space {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
@ -108,28 +108,29 @@ function formatTime(date) {
|
||||
} else if (pageType === 2) {
|
||||
c.canvasHeightLen = 0;
|
||||
}
|
||||
console.log(_this)
|
||||
// 查看授权
|
||||
if (!_this.data.scope) {
|
||||
wx.showModal({
|
||||
title: '需要授权',
|
||||
content: '保存图片需要获取您的授权',
|
||||
success: (res) => {
|
||||
if (res.confirm) {
|
||||
wx.openSetting({
|
||||
success: (res) => {
|
||||
if (res.authSetting['scope.writePhotosAlbum']) {
|
||||
_this.setData({
|
||||
scope: true,
|
||||
})
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
// if (!_this.data.scope) {
|
||||
// wx.showModal({
|
||||
// title: '需要授权',
|
||||
// content: '保存图片需要获取您的授权',
|
||||
// success: (res) => {
|
||||
// if (res.confirm) {
|
||||
// wx.openSetting({
|
||||
// success: (res) => {
|
||||
// if (res.authSetting['scope.writePhotosAlbum']) {
|
||||
// _this.setData({
|
||||
// scope: true,
|
||||
// })
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
// 已经获得授权且不在保存中
|
||||
if (_this.data.scope && !_this.data.saving) {
|
||||
//if (_this.data.scope && !_this.data.saving) {
|
||||
wx.showLoading({
|
||||
title: '保存中',
|
||||
mask: true,
|
||||
@ -169,7 +170,7 @@ function formatTime(date) {
|
||||
} else {
|
||||
_canvaseSaveToImg(_this);
|
||||
}
|
||||
}
|
||||
// }
|
||||
}
|
||||
|
||||
function _canvaseSaveToImg(_this) {
|
||||
|
||||
@ -137,7 +137,10 @@ Component({
|
||||
})
|
||||
},
|
||||
goCreate:throttle(function(){
|
||||
this.handleGetProjectStatus()
|
||||
app.method.navigateTo({
|
||||
url: '/case/pages/createCase/createCase',
|
||||
})
|
||||
//this.handleGetProjectStatus()
|
||||
}),
|
||||
onChange(event) {
|
||||
this.updateActive(event.detail)
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
|
||||
"projectname": "miniprogram-caseSystem",
|
||||
"projectname": "miniprogram-jianfanCase",
|
||||
"setting": {
|
||||
"compileHotReLoad": true,
|
||||
"urlCheck": false
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user