提交 27d526f6 编写于 作者: tao.wu's avatar tao.wu

no message

上级 9993827c
......@@ -178,5 +178,9 @@
color: rgba(74, 74, 74, 1);
}
}
.sec-title{
font-weight: bold;
margin-left: 0;
}
</style>
......@@ -183,6 +183,7 @@
totalNumber: 0,
activeResourceId: '',
errMsg: '',
timeIsRepeat: false,
}
},
props: {
......@@ -272,6 +273,7 @@
this.setTimeNodeList[index].formRef = 'form' + index;
});
this.$forceUpdate();
this.choseTimeUit(this.setTimeNodeList[0].timeUnit);
this.activeTab = this.setTimeNodeList.length - 1 + '';
}
......@@ -371,11 +373,9 @@
// 如果直接点击保存,需要进行对当前填写的表单进行校验
this.checkStart();
if(this.isValied){
// let timeNo = this.setTimeNodeList[this.activeTab].timeNo;
// this.checkIsRepeat(timeNo);
// 保存 校验通过后,排序 + 发送请求
// 新增成功之后
this.setTimeNodeList = this.sortKey(this.setTimeNodeList,'timeNo');
this.setTimeNodeList = this.sortKey(this.setTimeNodeList,'timeNo',this.setTimeNodeList[this.activeTab].timeNo);
this.$emit('addListenSave',{
status: true,
setTimeNodeList: this.setTimeNodeList
......@@ -406,9 +406,8 @@
this.initNewForm();
this.activeTab = newTabName;
// 新增成功之后
this.setTimeNodeList = this.sortKey(this.setTimeNodeList,'timeNo');
this.setTimeNodeList = this.sortKey(this.setTimeNodeList,'timeNo',this.setTimeNodeList[this.activeTab].timeNo);
}else{
this.errMsg = '请填写完整表单';
this.$message({
message: this.errMsg,
type: 'error'
......@@ -491,11 +490,31 @@
return;
}else{
this.isValied = true
this.timeIsRepeat = false;
}
}
let timeNo = this.setTimeNodeList[this.activeTab].timeNo;
this.checkIsRepeat(timeNo);
},
// 检查是否重复
checkIsRepeat(val){
for(let i=0;i<this.setTimeNodeList.length;i++){
if(this.activeTab!=i && val==this.setTimeNodeList[i].timeNo){
this.isValied = false;
this.errMsg = '时间节点重复';
this.timeIsRepeat = true;
this.$message({
message: this.errMsg,
type: 'error'
});
this.setTimeNodeList[this.activeTab].timeNo = '';
return;
}
this.isValied = true;
this.errMsg = '';
this.timeIsRepeat = false;
}
},
// 表单验证
valiedForm(form){
let validback;
......@@ -512,24 +531,12 @@
},
// 时间失去焦点
timeNoBlur(itemTimeForm){
this.checkIsRepeat(itemTimeForm.timeNo);
// 新增成功之后
this.setTimeNodeList = this.sortKey(this.setTimeNodeList,'timeNo');
},
// 检查是否重复
checkIsRepeat(val){
for(let i=0;i<this.setTimeNodeList.length;i++){
if(this.activeTab!=i && val==this.setTimeNodeList[i].timeNo){
this.isValied = false;
this.errMsg = '时间节点重复';
this.$message({
message: this.errMsg,
type: 'error'
});
this.setTimeNodeList[this.activeTab].timeNo = '';
return;
}
}
setTimeout(()=>{
// 这里设置定时器是因为,如果填完时间,直接点击随访方式radio,会立即出发排序和重复事件
this.checkIsRepeat(itemTimeForm.timeNo);
// // 新增成功之后
// this.setTimeNodeList = this.sortKey(this.setTimeNodeList,'timeNo');
},300)
},
// 是否禁用按钮
itemIsDisabled(item){
......@@ -668,12 +675,17 @@
this.$forceUpdate();
},
// 对时间节点进行排序
sortKey(array,key) {
sortKey(array,key,timeNo) {
let newList = array.sort((a,b)=>{
const x = parseFloat(a[key]);
const y = parseFloat(b[key]);
return ((x<y) ? -1 : (x>y) ? 1 : 0)
})
array.forEach((item,index)=>{
if(timeNo == item.timeNo){
this.activeTab = index;
}
})
return newList
},
//新建计划,根据第一个时间节点选择单位
......@@ -688,14 +700,19 @@
// 显示tab文字
showTabLabel(item){
let str;
if(this.isStandedTemplate || this.planId){
str = item.timeStr ? item.timeStr : '设置时间节点';
// if(this.isStandedTemplate || this.planId){
// if(item.timeNo){
// str = '开始后' + String(item.timeNo) + this.timeUnitStr
// }else{
// str = '设置时间节点'
// }
// }else{
//
// }
if(item.timeNo){
str = '开始后' + String(item.timeNo) + this.timeUnitStr
}else{
if(item.timeNo){
str = '开始后' + String(item.timeNo) + this.timeUnitStr
}else{
str = '设置时间节点'
}
str = '设置时间节点'
}
return str
},
......
export default [
{
formType: 'div',
name: '5.1 一般体征',
className: 'sec-title',
},
{
formType: 'date-picker',
prop: 'd1',
model: 'd1',
placeholder: '请选择',
label: '检查时间',
// linkageRule: [{ name: 'c28', value: ['2'] }],
format: 'yyyy-MM-dd',
type: 'date',
rules: [{ required: true, message: '手术时间', trigger: 'blur' }],
spanNum: 24,
},
{
formType: 'input',
prop: 'd2',
model: 'd2',
label: '身高',
disabled: false,
placeholder: '请输入',
spanNum: 24,
type: 'number',
labmsg: '次',
slots: [{ name: 'cm', type: 'append' }]
},
{
formType: 'input',
prop: 'd3',
model: 'd3',
label: '体重',
disabled: false,
placeholder: '请输入(体重可以带1位小数点)',
spanNum: 24,
type: 'number',
labmsg: '次',
slots: [{ name: 'kg', type: 'append' }]
},
{
formType: 'input',
prop: 'd4',
model: 'd4',
label: 'BMI(系统自动生成)',
disabled: false,
placeholder: '22.5(这里是自动计算所得)',
spanNum: 24,
type: 'number',
labmsg: '次',
slots: [{ name: 'kg/m^2', type: 'append' }]
},
{
formType: 'input',
prop: 'd3',
model: 'd3',
label: '腰围',
disabled: false,
placeholder: '请输入',
spanNum: 24,
type: 'number',
labmsg: '次',
slots: [{ name: 'cm', type: 'append' }]
},
{
formType: 'div',
name: '5.2 血压(同侧,测量2次)',
className: 'sec-title',
},
{
formType: 'date-picker',
prop: 'd5',
model: 'd5',
placeholder: '请选择',
label: '测量时间',
format: 'yyyy-MM-dd',
type: 'date',
rules: [{ required: true, message: '请选择测量时间', trigger: 'blur' }],
spanNum: 24,
},
{
formType: 'div',
name: '第一次',
className: 'third-title',
},
{
formType: 'input',
prop: 'd6',
model: 'd6',
label: '收缩压SBP',
disabled: false,
placeholder: '请输入',
spanNum: 24,
type: 'number',
labmsg: '次',
slots: [{ name: 'mmHg', type: 'append' }]
},
{
formType: 'input',
prop: 'd7',
model: 'd7',
label: '舒张压DBP',
disabled: false,
placeholder: '请输入',
spanNum: 24,
type: 'number',
labmsg: '次',
slots: [{ name: 'mmHg', type: 'append' }]
},
{
formType: 'input',
prop: 'd8',
model: 'd8',
label: '脉搏',
disabled: false,
placeholder: '请输入',
spanNum: 24,
type: 'number',
labmsg: '次',
slots: [{ name: '次/分', type: 'append' }]
},
{
formType: 'div',
name: '第二次',
className: 'third-title',
},
{
formType: 'input',
prop: 'd9',
model: 'd9',
label: '收缩压SBP',
disabled: false,
placeholder: '请输入',
spanNum: 24,
type: 'number',
labmsg: '次',
slots: [{ name: 'mmHg', type: 'append' }]
},
{
formType: 'input',
prop: 'd10',
model: 'd10',
label: '舒张压DBP',
disabled: false,
placeholder: '请输入',
spanNum: 24,
type: 'number',
labmsg: '次',
slots: [{ name: 'mmHg', type: 'append' }]
},
{
formType: 'input',
prop: 'd11',
model: 'd11',
label: '脉搏',
disabled: false,
placeholder: '请输入',
spanNum: 24,
type: 'number',
labmsg: '次',
slots: [{ name: '次/分', type: 'append' }]
},
{
formType: 'div',
name: '5.3 心脏听诊',
className: 'sec-title',
},
{
formType: 'date-picker',
prop: 'd12',
model: 'd12',
placeholder: '请选择',
label: '测量时间',
format: 'yyyy-MM-dd',
type: 'date',
rules: [{ required: true, message: '测量时间', trigger: 'blur' }],
spanNum: 24,
},
{
formType: 'radio',
prop: 'd13',
model: 'd13',
label: '心脏杂音',
disabled: false,
spanNum: 24,
options: [
{ label: '无', value: '1', disabled: false },
{ label: '有', value: '2', disabled: false },
],
rules: [{ required: true, message: '请选择心脏杂音', trigger: 'blur' }]
},
{
formType: 'radio',
prop: 'd14',
model: 'd14',
label: '心律',
disabled: false,
spanNum: 24,
options: [
{ label: '整齐', value: '1', disabled: false },
{ label: '不齐', value: '2', disabled: false },
],
rules: [{ required: true, message: '请选择心律', trigger: 'blur' }]
},
]
export default [
{
formType: 'div',
name: '6.1 血糖',
className: 'sec-title',
},
{
formType: 'date-picker',
prop: 'e1',
model: 'e1',
placeholder: '请选择',
label: '检查时间',
format: 'yyyy-MM-dd',
type: 'date',
rules: [{ required: true, message: '检查时间', trigger: 'blur' }],
spanNum: 24,
},
{
formType: 'input',
prop: 'e2',
model: 'e2',
label: '空腹血糖',
disabled: false,
placeholder: '请输入',
spanNum: 24,
type: 'number',
labmsg: '次',
slots: [{ name: 'mmol/L', type: 'append' }]
},
{
formType: 'div',
name: '6.2 血脂',
className: 'sec-title',
},
{
formType: 'date-picker',
prop: 'e3',
model: 'e3',
placeholder: '请选择',
label: '检查时间',
format: 'yyyy-MM-dd',
type: 'date',
rules: [{ required: true, message: '检查时间', trigger: 'blur' }],
spanNum: 24,
},
{
formType: 'input',
prop: 'e4',
model: 'e4',
label: '甘油三酯',
disabled: false,
placeholder: '请输入',
spanNum: 24,
type: 'number',
labmsg: '次',
slots: [{ name: 'mmol/L', type: 'append' }]
},
{
formType: 'input',
prop: 'e5',
model: 'e5',
label: '胆固醇',
disabled: false,
placeholder: '请输入',
spanNum: 24,
type: 'number',
labmsg: '次',
slots: [{ name: 'mmol/L', type: 'append' }]
},
{
formType: 'input',
prop: 'e6',
model: 'e6',
label: '低密度脂蛋白胆固醇',
disabled: false,
placeholder: '请输入',
spanNum: 24,
type: 'number',
labmsg: '次',
slots: [{ name: 'mmol/L', type: 'append' }]
},
{
formType: 'input',
prop: 'e7',
model: 'e7',
label: '高密度脂蛋白胆固醇',
disabled: false,
placeholder: '请输入',
spanNum: 24,
type: 'number',
labmsg: '次',
slots: [{ name: 'mmol/L', type: 'append' }]
},
]
export default [
{
formType: 'date-picker',
prop: 'screeningTime',
model: 'screeningTime',
placeholder: '选择日期时间',
label: '随访日期',
format: 'yyyy-MM-dd',
type: 'date',
rules: [{ required: true, message: '请选择日期时间', trigger: 'blur' }]
},
{
formType: 'radio',
model: '111',
label: '随访方式',
disabled: false,
placeholder: '150',
spanNum: 24,
options: [
{ label: '门诊', value: '1', disabled: false },
{ label: '家庭', value: '2', disabled: false },
{ label: '电话', value: '3', disabled: false },
],
rules: [{ required: true, message: '请选择随访方式', trigger: 'blur' }]
},
]
export default [
{
formType: 'radio',
prop: 'medHandle',
model: 'medHandle',
label: '遵医行为',
disabled: false,
placeholder: '150',
spanNum: 24,
options: [
{ label: '空腹', value: '1', disabled: false },
{ label: '随机', value: '2', disabled: false },
],
},
{
formType: 'input',
linkageRule: [
{
name: 'medHandle',
value: ['2']
}
],
prop: 'inputVal',
model: 'inputVal',
label: '目标',
disabled: false,
placeholder: '150',
spanNum: 12,
type: 'number',
labmsg: '目标',
slots: [{ name: 'mmol/L', type: 'append' }]
},
]
......@@ -109,4 +109,5 @@ export default [
],
rules: [{ required: true, message: '请选择是否', trigger: 'blur' }]
},
]
export default [
{
formType: 'date-picker',
prop: 'screeningTime',
model: 'screeningTime',
placeholder: '选择日期时间',
label: '随访日期',
format: 'yyyy-MM-dd',
type: 'date',
rules: [{ required: true, message: '请选择日期时间', trigger: 'blur' }]
},
{
formType: 'radio',
model: 'radioVal',
label: '随访方式',
disabled: false,
placeholder: '150',
spanNum: 24,
options: [
{ label: '门诊', value: '1', disabled: false },
{ label: '家庭', value: '2', disabled: false },
{ label: '电话', value: '3', disabled: false },
],
rules: [{ required: true, message: '请选择随访方式', trigger: 'blur' }]
},
]
export default [
{
formType: 'input',
model: 'inputVal',
label: '血压(mmhg)',
disabled: false,
placeholder: '0',
type: 'number',
spanNum: 12,
},
{
formType: 'input',
model: 'inputVal',
label: '',
disabled: false,
placeholder: '150',
spanNum: 12,
type: 'number',
},
{
formType: 'input',
model: 'inputVal',
label: '身高(cm)',
disabled: false,
placeholder: '150',
spanNum: 24,
type: 'number',
},
{
formType: 'input',
model: 'inputVal',
label: '体重(kg)',
disabled: false,
placeholder: '150',
spanNum: 12,
type: 'number',
labmsg: '本次'
},
{
formType: 'input',
model: 'inputVal',
label: '目标',
disabled: false,
placeholder: '150',
spanNum: 12,
type: 'number',
labmsg: '目标'
},
{
formType: 'input',
model: 'inputVal',
label: '体质指数(BMI)',
disabled: false,
placeholder: '150',
spanNum: 12,
type: 'number',
labmsg: '本次'
},
{
formType: 'input',
model: 'inputVal',
label: '目标',
disabled: false,
placeholder: '150',
spanNum: 12,
type: 'number',
labmsg: '目标'
},
{
formType: 'radio',
model: 'radioVal',
label: '足背动脉搏动',
disabled: false,
placeholder: '150',
spanNum: 24,
options: [
{ label: '触及正常', value: '1', disabled: false },
{ label: '双侧减弱', value: '2', disabled: false },
{ label: '左侧减弱', value: '3', disabled: false },
{ label: '右侧减弱', value: '4', disabled: false },
{ label: '双侧消失', value: '5', disabled: false },
{ label: '左侧消失', value: '6', disabled: false },
{ label: '右侧消失', value: '7', disabled: false },
],
},
]
export default [
{
formType: 'checkbox',
// prop: 'isIntravenousThrombolysis',
model: 'symptomList',
placeholder: '症状',
label: '症状',
spanNum: 24,
rules: [
{ required: true, message: '请选择进行静脉溶栓', trigger: 'blur' }
],
options: [
{ label: '无症状', value: '1', disabled: false },
{ label: '多饮', value: '2', disabled: false },
{ label: '多食', value: '3', disabled: false },
{ label: '多尿', value: '4', disabled: false },
{ label: '感染', value: '5', disabled: false }
],
},
{
formType: 'input',
model: 'inputVal',
label: '症状原因',
disabled: false,
placeholder: '请输入症状原因',
},
]
export default [
{
formType: 'div',
name: '4.1 颈动脉',
className: 'sec-title',
},
{
formType: 'radio',
prop: 'c26',
model: 'c26',
label: '支架术(CAS)',
disabled: false,
spanNum: 24,
options: [
{ label: '否', value: '1', disabled: false },
{ label: '是', value: '2', disabled: false },
],
rules: [{ required: true, message: '请选择是否', trigger: 'blur' }]
},
{
formType: 'radio',
prop: 'c29',
model: 'c29',
label: '支架术位置',
linkageRule: [{ name: 'c26', value: ['2'] }],
disabled: false,
spanNum: 24,
options: [
{ label: '左侧', value: '1', disabled: false },
{ label: '右侧', value: '2', disabled: false },
],
rules: [{ required: true, message: '请选择是否', trigger: 'blur' }]
},
{
formType: 'date-picker',
prop: 'c30',
model: 'c30',
placeholder: '请选择',
label: '手术时间',
linkageRule: [{ name: 'c29', value: ['2'] }],
format: 'yyyy-MM-dd',
type: 'date',
rules: [{ required: true, message: '手术时间', trigger: 'blur' }],
spanNum: 24,
},
{
formType: 'radio',
prop: 'c27',
model: 'c27',
label: '内膜剥脱术(CEA)',
disabled: false,
spanNum: 24,
options: [
{ label: '否', value: '1', disabled: false },
{ label: '是', value: '2', disabled: false },
],
rules: [{ required: true, message: '请选择是否', trigger: 'blur' }]
},
{
formType: 'radio',
prop: 'c31',
model: 'c31',
label: '内膜剥脱术位置',
linkageRule: [{ name: 'c27', value: ['2'] }],
disabled: false,
spanNum: 24,
options: [
{ label: '左侧', value: '1', disabled: false },
{ label: '右侧', value: '2', disabled: false },
],
rules: [{ required: true, message: '请选择是否', trigger: 'blur' }]
},
{
formType: 'date-picker',
prop: 'c32',
model: 'c32',
placeholder: '请选择',
label: '左侧手术时间',
linkageRule: [{ name: 'c31', value: ['1'] }],
format: 'yyyy-MM-dd',
type: 'date',
rules: [{ required: true, message: '手术时间', trigger: 'blur' }],
spanNum: 24,
},
{
formType: 'date-picker',
prop: 'c33',
model: 'c33',
placeholder: '请选择',
label: '右侧手术时间',
linkageRule: [{ name: 'c31', value: ['2'] }],
format: 'yyyy-MM-dd',
type: 'date',
rules: [{ required: true, message: '手术时间', trigger: 'blur' }],
spanNum: 24,
},
{
formType: 'radio',
prop: 'c28',
model: 'c28',
label: '颅内外血管搭桥术',
disabled: false,
spanNum: 24,
options: [
{ label: '否', value: '1', disabled: false },
{ label: '是', value: '2', disabled: false },
],
rules: [{ required: true, message: '请选择是否', trigger: 'blur' }]
},
{
formType: 'date-picker',
prop: 'c34',
model: 'c34',
placeholder: '请选择',
label: '手术时间',
linkageRule: [{ name: 'c28', value: ['2'] }],
format: 'yyyy-MM-dd',
type: 'date',
rules: [{ required: true, message: '手术时间', trigger: 'blur' }],
spanNum: 24,
},
{
formType: 'div',
name: '4.2 冠状动脉',
className: 'sec-title',
},
{
formType: 'radio',
prop: 'c35',
model: 'c35',
label: '介入术(PCI)',
disabled: false,
spanNum: 24,
options: [
{ label: '否', value: '1', disabled: false },
{ label: '是', value: '2', disabled: false },
],
rules: [{ required: true, message: '请选择是否', trigger: 'blur' }]
},
{
formType: 'radio',
prop: 'c36',
model: 'c36',
label: '搭桥术(CABG)',
disabled: false,
spanNum: 24,
options: [
{ label: '否', value: '1', disabled: false },
{ label: '是', value: '2', disabled: false },
],
rules: [{ required: true, message: '请选择是否', trigger: 'blur' }]
},
{
formType: 'div',
name: '4.3 出血性卒中外科治疗',
className: 'sec-title',
},
{
formType: 'radio',
prop: 'c37',
model: 'c37',
label: '是否接受过出血性卒中外壳干预',
disabled: false,
spanNum: 24,
options: [
{ label: '否', value: '1', disabled: false },
{ label: '是', value: '2', disabled: false },
],
rules: [{ required: true, message: '请选择是否', trigger: 'blur' }]
},
]
......@@ -4,7 +4,7 @@
<div v-for="(item, index) in addComponents">
<div class="content-box" >
<div class="title">{{item.title}}</div>
<el-form ref="form" :model="form" label-width="120px">
<el-form ref="form" :model="form" label-width="200px">
<FormScale :dataSource="item.dataSource" :form="form" />
</el-form>
</div>
......@@ -18,12 +18,11 @@
// 量表模块数据模型
import dataSourceBaseInfo from '../models/stroke/dataSourceBaseInfo'
import dataSourceMainSickControl from '../models/stroke/dataSourceMainSickControl'
// import dataSourceDataType from '../models/stroke/dataSourceDataType'
// import dataSourceSymptom from '../models/stroke/dataSourceSymptom'
// import dataSourceSign from '../models/stroke/dataSourceSign'
import dataSourceLifeStyleGuide from '../models/stroke/dataSourceLifeStyleGuide'
// import dataSourceHelpChecking from '../models/stroke/dataSourceHelpChecking'
// import dataSourceMedicalStateUsing from '../models/stroke/dataSourceMedicalStateUsing'
import dataSourceTreatmentSituation from '../models/stroke/dataSourceTreatmentSituation'
import dataSourceCheckBody from '../models/stroke/dataSourceCheckBody'
import dataSourceCheckLab from '../models/stroke/dataSourceCheckLab'
export default {
components: {
......@@ -32,15 +31,12 @@
data(){
return {
addComponents: [
{name: 'BaseInfo',dataSource:dataSourceBaseInfo, title: '基本信息'},
{name: 'DataType',dataSource:dataSourceLifeStyleGuide, title: '随访期间生活方式'},
{name: 'DataType',dataSource:dataSourceMainSickControl, title: '随访期间主要病史及控制情况'},
// {name: 'DataType',dataSource:dataSourceDataType, title: '日期与方式'},
// {name: 'Symptom',dataSource:dataSourceSymptom, title: '症状'},
// {name: 'Sign',dataSource:dataSourceSign, title: '体征'},
// {name: 'LifeStyleGuide',dataSource:dataSourceLifeStyleGuide, title: '生活方式指导'},
// {name: 'HelpChecking',dataSource:dataSourceHelpChecking, title: '辅助检查'},
// {name: 'MedicalStateUsing',dataSource:dataSourceMedicalStateUsing, title: '用药情况'},
{name: 'BaseInfo',dataSource:dataSourceBaseInfo, title: '一、基本信息'},
{name: 'DataType',dataSource:dataSourceLifeStyleGuide, title: '二、随访期间生活方式'},
{name: 'DataType',dataSource:dataSourceMainSickControl, title: '三、随访期间主要病史及控制情况'},
{name: 'DataType',dataSource:dataSourceTreatmentSituation, title: '四、本次随访期间血管病变的外科手术或介入治疗情况'},
{name: 'DataType',dataSource:dataSourceCheckBody, title: '五、体格检查(高危人群12个月随访必做)'},
{name: 'DataType',dataSource:dataSourceCheckLab, title: '六、实验室检查(高危人群12个月随访必填)'},
],
form: {
symptomList: [],//checkbox 症状
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册