diff --git a/app.json b/app.json
index 2f9094c..3e5a23d 100644
--- a/app.json
+++ b/app.json
@@ -16,7 +16,8 @@
"pages/pwdLogin/pwdLogin",
"pages/privacy/privacy",
"pages/bankCard/bankCard",
- "pages/paintCanvas/paintCanvas"
+ "pages/paintCanvas/paintCanvas",
+ "pages/paintDraw/paintDraw"
]
}
],
diff --git a/case/pages/createCase/createCase.js b/case/pages/createCase/createCase.js
index e7b1552..08cd2c9 100644
--- a/case/pages/createCase/createCase.js
+++ b/case/pages/createCase/createCase.js
@@ -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
})
diff --git a/case/pages/createCase/createCase.json b/case/pages/createCase/createCase.json
index 1ad8a33..976ece3 100644
--- a/case/pages/createCase/createCase.json
+++ b/case/pages/createCase/createCase.json
@@ -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",
diff --git a/case/pages/createCase/createCase.wxml b/case/pages/createCase/createCase.wxml
index fbf5b83..0da4005 100644
--- a/case/pages/createCase/createCase.wxml
+++ b/case/pages/createCase/createCase.wxml
@@ -8,15 +8,14 @@
-
+
患者姓名(首字母大写)*
-
+
@@ -24,7 +23,7 @@
患者ID号*
-
+
@@ -32,9 +31,7 @@
性别*
-
+
男
女
@@ -57,73 +54,176 @@
-
+
- 病例类型*
+ 治疗类型(多选)*
-
-
-
+
+
+ DPMAS及联合模式
+ CA280及联合模式
+
+
+
+
+
+
+ 主要诊断(多选)*
+
+
+
+ 肝衰竭
+ 肿瘤
+ 胆汁淤积性肝病
+ 移植围手术期支持治疗
+ 伴黄疸的MODS或脓毒症、重症中毒等
+ 其他
+
+
+
+
+
+
+
+
+ 患者病因(多选)*
+
+
+
+ 乙肝
+ 丙肝
+ 酒精性肝病
+ 酒精性肝硬化
+ 自身免疫性肝炎(AIH)
+ 原发性胆汁性肝硬化(PBC)
+ 原发性硬化性胆管炎(PSC)
+ 非酒精性脂肪肝
+ 药物性肝损伤
+ 肝豆状核变性
+ 甲肝
+ 戊肝
+ 其他
+
+
+
+
+
+
+
+
+
+
+ 诱因(多选)*
+
+ 肝内:
+
+
+ 乙肝再激活
+ 大量饮酒
+ 药物毒物
+ 戊型肝炎感染
+ 甲型肝炎感染
+ 丙肝再激活
+ 其他
+
+
+
+ 肝外:
+
+
+ 消化道出血
+ 感染
+ 手术
+ 劳累
+ 其他
+
+
+
+
+
+
病案照片(可上传1-6张)*
-
+
注意:“病案首页”需包含患者住院号或姓名
下一步
-
+
-
+
-
-
-
+
+
+
- 病历摘要
+ 病历摘要*
+
+
+ 主诉:
+
+
+
+
+
+ 上传图片识别内容
+
+
+
+
+
+
+ 现病史:
+
+
+
+
+
+ 上传图片识别内容
+
+
+
+
+
+
+
+ 既往史:
+
+
+
+
+
+ 上传图片识别内容
+
+
+
+
+
-
- {{wordLength}}/500
-
-
-
+
+
下一步
-
- 注意:病历摘要,文字填写或者上传图片,二选一
+
+ 注意:病历摘要,文字填写或者上传图片,二选一
@@ -147,15 +247,145 @@
+
+
+ 模式(单选)*
+
+
+
+ DPMAS
+ DPMAS+PE
+ DPMAS+其他
+ CA280吸附
+ DPCAS
+
+
+
+
+
+
+ 血浆吸附处理量(ml)*
+
+
+
+ ml
+
+
+
+
+
+ 血浆置换量(ml)*
+
+
+
+ ml
+
+
+
+
+
+ 抗凝剂量
+
+
+
+ 肝素
+ 低分子肝素
+ 枸橼酸
+ 甲磺酸萘莫司他
+ 其他
+
+
+
+
+ 肝素:
+
+ 首剂
+
+
+ ml
+
+
+
+ 追加
+
+
+ ml
+
+
+
+
+ 低分子肝素:
+
+ 低分子肝素(IU)
+
+
+ ml
+
+
+
+
+ 枸橼酸:
+
+ 血液流速(ml/min)
+
+
+ ml
+
+
+
+ 枸橼酸钠流速(ml/h)
+
+
+ ml
+
+
+
+ 钙剂(ml/h)
+
+
+ ml/h
+
+ 10%葡萄糖酸钙
+ 5%氯化钙
+
+
+
+
+
+
+ 甲磺酸萘莫司他:
+
+ 甲磺酸萘莫司他(mg/h)
+
+
+ mg/h
+
+
+
+
+ 其他:
+
+ 名称
+
+
+
+
+
+
+ 剂量
+
+
+
+
+
+
+
- 治疗凭证,如医嘱、收费明细、处方单(可上传1-3张)*
+ 附人工肝治疗记录相关照片(可上传1-3张)*
-
+
@@ -174,7 +404,7 @@
下一步
-
+
@@ -185,7 +415,7 @@
(早前期为首次治疗前后、4次及以上为疗程化治疗前后)
- 治疗前检测时间*
+ 首次治疗前检测时间*
@@ -195,7 +425,17 @@
- 治疗后检测时间*
+ 首次治疗后检测时间*
+
+
+
+ h
+
+
+
+
+
+ 最后一次治疗后检测时间*
@@ -208,144 +448,136 @@
总胆红素(TB-umol/L)*
- 治疗前
+ 首次治疗前
-
+
- 治疗后
+ 首次治疗后
-
+
+
+
+
+ 最后一次治疗后
+
+
-
-
-
-
- 谷丙转氨酶(ALT-U/L)*
-
-
- 治疗前
-
-
+
- 治疗后
+ 最后一次治疗后
-
+
- 谷草转氨酶(AST-U/L)*
+ 丙氨酸氨基转移酶(ALT-U/L)*
- 治疗前
+ 首次治疗前
-
+
- 治疗后
+ 首次治疗后
-
+
+
+
+
+ 最后一次治疗后
+
+
- 国际标准化比值(INR)*
+ 天门冬氨酸氨基转移酶(AST-U/L)*
治疗前
-
+
治疗后
-
+
+
+
+
+ 最后一次治疗后
+
+
- 白蛋白(ALB-g/L)
+ 白蛋白(ALB-g/L)*
治疗前
-
+
治疗后
-
+
+
+
+
+ 最后一次治疗后
+
+
@@ -356,23 +588,69 @@
治疗前
-
+
治疗后
-
+
+
+
+
+ 最后一次治疗后
+
+
-
-
-
+
+
+ 国际标准化比值(INR)*
+
+
+ 治疗前
+
+
+
+
+
+ 治疗后
+
+
+
+
+
+ 最后一次治疗后
+
+
+
+
+
+
+
+ C反应蛋白(CRP-mg/L)
+
+
+ 治疗前
+
+
+
+
+
+ 治疗后
+
+
+
+
+
+ 最后一次治疗后
+
+
+
+
+
+
白介素6(IL-6-ng/L)
@@ -380,17 +658,19 @@
治疗前
-
+
治疗后
-
+
+
+
+
+ 最后一次治疗后
+
+
@@ -401,17 +681,19 @@
治疗前
-
+
治疗后
-
+
+
+
+
+ 最后一次治疗后
+
+
@@ -419,16 +701,69 @@
检查报告单(可上传1-6张)*
- 至少包含国际标准化比值 (INR)治疗前结果报告
+ 包含肝功能或生化检测(必须有、审查)、凝血功能、炎症因子化验单,至少包含首次治疗前后化验单拍照,需进行隐私信息脱敏(姓名、电话、身份证)
-
+
提交
-
+
+
+
+
+
+
+
+ 出院时间*
+
+
+
+ h
+
+
+
+
+
+ 住院天数*
+
+
+
+ 天
+
+
+
+
+
+ 出院情况*
+
+
+
+
+
+
+
+ 上传图片识别内容
+
+
+
+
+
+
+
+
+ 出院状态*
+
+
+
+ 好转
+ 痊愈
+ 恶化
+ 死亡
+ 移植
+
+
+
diff --git a/case/pages/createCase/createCase.wxss b/case/pages/createCase/createCase.wxss
index e5dc9f0..1505155 100644
--- a/case/pages/createCase/createCase.wxss
+++ b/case/pages/createCase/createCase.wxss
@@ -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;
}
diff --git a/case/pages/paintCanvas/paintCanvas.js b/case/pages/paintCanvas/paintCanvas.js
index 5fca74d..ae49bf0 100644
--- a/case/pages/paintCanvas/paintCanvas.js
+++ b/case/pages/paintCanvas/paintCanvas.js
@@ -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]);
diff --git a/case/pages/paintCanvas/paintCanvas.json b/case/pages/paintCanvas/paintCanvas.json
index 16a5549..4a1492f 100644
--- a/case/pages/paintCanvas/paintCanvas.json
+++ b/case/pages/paintCanvas/paintCanvas.json
@@ -1,5 +1,5 @@
{
-"navigationBarTitleText": "涂鸦",
+ "navigationBarTitleText": "涂鸦",
"navigationBarBackgroundColor": "#9cf",
"navigationBarTextStyle": "white",
"usingComponents": {}
diff --git a/case/pages/paintCanvas/paintCanvas.wxml b/case/pages/paintCanvas/paintCanvas.wxml
index 74a3f25..3f702b3 100644
--- a/case/pages/paintCanvas/paintCanvas.wxml
+++ b/case/pages/paintCanvas/paintCanvas.wxml
@@ -1,14 +1,15 @@
+
-没有选择照片,点击重新选择
-
+没有选择照片,点击重新选择
+
@@ -19,7 +20,35 @@
-
+
+
+
+ 确定
+
+
+
+ 笔力
+
+ 橡皮擦
+
+ 清除
+
+
+
+
+
+
+
+
+
+
+
+ 字号:
+
+ {{selectSize}}
+
+
+
+
\ No newline at end of file
diff --git a/case/pages/paintCanvas/paintCanvas.wxss b/case/pages/paintCanvas/paintCanvas.wxss
index fd865c8..1731499 100644
--- a/case/pages/paintCanvas/paintCanvas.wxss
+++ b/case/pages/paintCanvas/paintCanvas.wxss
@@ -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;
diff --git a/case/pages/paintDraw/paintDraw.js b/case/pages/paintDraw/paintDraw.js
new file mode 100644
index 0000000..e349a11
--- /dev/null
+++ b/case/pages/paintDraw/paintDraw.js
@@ -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) {}
+ })
+ }
+ }
+ }
+ })
+ },
+})
\ No newline at end of file
diff --git a/case/pages/paintDraw/paintDraw.json b/case/pages/paintDraw/paintDraw.json
new file mode 100644
index 0000000..567f748
--- /dev/null
+++ b/case/pages/paintDraw/paintDraw.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "涂鸦",
+ "navigationBarBackgroundColor": "#9cf",
+ "navigationBarTextStyle": "white",
+ "usingComponents": {}
+ }
\ No newline at end of file
diff --git a/case/pages/paintDraw/paintDraw.wxml b/case/pages/paintDraw/paintDraw.wxml
new file mode 100644
index 0000000..842f476
--- /dev/null
+++ b/case/pages/paintDraw/paintDraw.wxml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+ 回退
+
+ 预览
+
+ 笔力
+
+ 橡皮擦
+
+ 清除
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 字号:
+
+ {{selectSize}}
+
+
\ No newline at end of file
diff --git a/case/pages/paintDraw/paintDraw.wxss b/case/pages/paintDraw/paintDraw.wxss
new file mode 100644
index 0000000..41f3aac
--- /dev/null
+++ b/case/pages/paintDraw/paintDraw.wxss
@@ -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;
+ }
\ No newline at end of file
diff --git a/case/utils/utils.js b/case/utils/utils.js
index ac624aa..2404cf2 100644
--- a/case/utils/utils.js
+++ b/case/utils/utils.js
@@ -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) {
diff --git a/custom-tab-bar/index.js b/custom-tab-bar/index.js
index ee8d1a9..3a027cc 100644
--- a/custom-tab-bar/index.js
+++ b/custom-tab-bar/index.js
@@ -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)
diff --git a/project.private.config.json b/project.private.config.json
index d01c240..1e7bbf3 100644
--- a/project.private.config.json
+++ b/project.private.config.json
@@ -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