提交 7cd94d5c 编写于 作者: tao.wu's avatar tao.wu

no message

上级 a6976f85
...@@ -18,6 +18,13 @@ ...@@ -18,6 +18,13 @@
:error="item.error"> :error="item.error">
<!-- div文本 --> <!-- div文本 -->
<div v-if="item.formType === 'div'" :class="item.className">{{ item.name }}</div> <div v-if="item.formType === 'div'" :class="item.className">{{ item.name }}</div>
<!--button-->
<el-button
v-if="item.formType === 'button'"
type="primary"
@click="item.clickFunc ? item.clickFunc($event) : defaultClick($event)"
:icon="item.icon">{{ item.btnText }}
</el-button>
<!-- input --> <!-- input -->
<el-input <el-input
v-else-if="item.formType === 'input'" v-else-if="item.formType === 'input'"
...@@ -139,6 +146,7 @@ ...@@ -139,6 +146,7 @@
} }
}, },
methods: { methods: {
defaultClick(){},
defaultFun() {}, defaultFun() {},
defaultBlur(){}, defaultBlur(){},
isParent(item) { isParent(item) {
......
...@@ -24,6 +24,12 @@ export default [ ...@@ -24,6 +24,12 @@ export default [
min: 35, min: 35,
max: 200 max: 200
}, },
{
field: 'nextBodyWeight',
name: '下次随访体重',
min: 35,
max: 200
},
{ {
field: 'heartRate', field: 'heartRate',
name: '心率', name: '心率',
......
<template> <template>
<div> <div class="dialog-wrap">
<el-dialog title="用药情况" :visible.sync="showDialog">
<el-form :model="formChosedMedical" ref="choseMed" :rules="rules">
<el-form-item label="药物名称" :label-width="formLabelWidth" prop="medicinesName">
<el-input v-model="formChosedMedical.medicinesName" autocomplete="off" placeholder="请输入药物名称"></el-input>
</el-form-item>
<el-form-item label="用法" :label-width="formLabelWidth" prop="dosageDay">
<el-input v-model="formChosedMedical.dosageDay" autocomplete="off" placeholder="请输入每日几次">
<template slot="append">次/日</template>
</el-input>
</el-form-item>
<el-form-item label="用量" :label-width="formLabelWidth" prop="dosageNum">
<el-input v-model="formChosedMedical.dosageNum" autocomplete="off" placeholder="请输入每次用量">
<template slot="append">>每次</template>
</el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="closeDialog">取 消</el-button>
<el-button type="primary" @click="confirmSubmit">确 定</el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
export default {} export default {
data(){
return {
showDialog: true,
formLabelWidth: '120px',
formChosedMedical: {
medicinesName: '', // 药物名称
dosageDay: '', // 每日次数
dosageNum: '', // 每次的剂量
},
rules: {
medicinesName: [{ required: true, message: '请输入药物名称', trigger: 'change' }],
dosageDay: [{ required: true, message: '请输入每日几次', trigger: 'change' }],
dosageNum: [{ required: true, message: '请输入每次用量', trigger: 'change' }],
},
}
},
watch: {
showDialog(val){
this.$emit('closeDialog',val)
}
},
methods: {
closeDialog(){
this.$emit('closeDialog',false)
},
confirmSubmit(){
this.$refs['choseMed'].validate((valid) => {
if(valid){
this.$emit('closeDialog',false);
this.$emit('setMedication',this.formChosedMedical);
}
});
}
}
}
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
......
...@@ -2,62 +2,22 @@ import { checkRange, checkIsInteger, checkNumberIsToFixed } from '@/utils/follow ...@@ -2,62 +2,22 @@ import { checkRange, checkIsInteger, checkNumberIsToFixed } from '@/utils/follow
export default ($this) => { export default ($this) => {
return [ return [
// { {
// formType: 'input', formType: 'button',
// className: 'float-none', className: 'float-none',
// prop: 'followUpOrgName', prop: 'followUpOrgName',
// model: 'followUpOrgName', model: 'followUpOrgName',
// label: '随访单位名称:', icon: 'el-icon-circle-plus',
// disabled: false, btnText: '点击添加',
// placeholder: '请输入随访单位名称', disabled: false,
// spanNum: 12, spanNum: 12,
// maxlength: 30, maxlength: 30,
// type: 'text', type: 'text',
// labmsg: '次', labmsg: '次',
// rules: [{required: true, message: '请输入随访单位名称', trigger: ['submit','change']}], clickFunc: () => {
// }, $this.dialogFormVisible = true;
// { }
// formType: 'input', },
// className: 'float-none',
// prop: 'followUpUser',
// model: 'followUpUser',
// label: '随访人员姓名:',
// disabled: false,
// placeholder: '请输入随访人员姓名',
// spanNum: 12,
// maxlength: 30,
// type: 'text',
// labmsg: '次',
// rules: [{required: true, message: '请输入随访人员姓名', trigger: ['submit','change']}],
// },
// {
// formType: 'input',
// className: 'float-none',
// prop: 'followUpMobile',
// model: 'followUpMobile',
// label: '随访人员联系电话:',
// disabled: false,
// placeholder: '请输入随访人员联系电话',
// spanNum: 12,
// maxlength: 11,
// type: 'tel',
// labmsg: '次',
// rules: [{required: true, message: '请输入随访人员联系电话', trigger: ['submit','change']},{ validator: checkMobile , trigger: ['submit','change'] }],
// },
// {
// formType: 'date-picker',
// className: 'float-none',
// prop: 'surveyTime',
// model: 'surveyTime',
// placeholder: '请选择',
// label: '本次调查时间:',
// format: 'yyyy-MM-dd',
// valueFormat: 'yyyy-MM-dd',
// dateType: 'date',
// type: 'date',
// rules: [{required: true, message: '请选择本次调查时间', trigger: ['submit','change']}],
// spanNum: 12,
// },
] ]
} }
...@@ -114,6 +114,54 @@ export default ($this) => { ...@@ -114,6 +114,54 @@ export default ($this) => {
labmsg: '次', labmsg: '次',
slots: [{name: 'kg/m^2', type: 'append'}], slots: [{name: 'kg/m^2', type: 'append'}],
}, },
{
formType: 'input',
className: 'float-none',
prop: 'nextBodyWeight',
model: 'nextBodyWeight',
label: '下次随访体重:',
disabled: false,
placeholder: '请输入(体重可以带1位小数点)',
spanNum: 6,
type: 'number',
labmsg: '次',
slots: [{name: 'kg', type: 'append'}],
rules: [{required: true, message: '请输入下次随访体重', trigger: ['submit','change']},{ validator: checkRange , trigger: ['submit','change'] }, {validator: checkNumberIsToFixed , trigger: ['submit','change']}],
changeFun: (val)=>{
$this.addComponents.forEach((item,index)=>{
if(item.name == 'hypeDataSourceSign'){
$this.addComponents[index].formObject.nextBodyWeight = val;
}
})
},
blurFunc: ()=>{
$this.addComponents.forEach((item,index)=>{
if(item.name == 'hypeDataSourceSign'){
let nextBodyWeight = $this.addComponents[index].formObject.nextBodyWeight
let bodyHeight = $this.addComponents[index].formObject.bodyHeight
if(nextBodyWeight && bodyHeight){
nextBodyWeight = parseFloat(nextBodyWeight);
bodyHeight = parseFloat(bodyHeight);
let nextBmi = (nextBodyWeight / Math.pow((bodyHeight/100),2)).toFixed(1);
$this.addComponents[index].formObject.nextBmi = nextBmi;
}
}
})
}
},
{
formType: 'input',
className: 'float-none',
prop: 'nextBmi',
model: 'nextBmi',
label: '下次随访BMI(系统自动生成):',
disabled: true,
placeholder: '(这里是自动计算所得)',
spanNum: 6,
type: 'number',
labmsg: '次',
slots: [{name: 'kg/m^2', type: 'append'}],
},
{ {
formType: 'input', formType: 'input',
className: 'float-none', className: 'float-none',
......
...@@ -19,6 +19,13 @@ ...@@ -19,6 +19,13 @@
:class="item.className" :class="item.className"
/> />
</el-form> </el-form>
<ChoseMedication
v-if="dialogFormVisible"
@closeDialog="closeDialog"
@setMedication="setMedication"
/>
</div> </div>
</div> </div>
</div> </div>
...@@ -29,7 +36,7 @@ ...@@ -29,7 +36,7 @@
// 量表 template // 量表 template
import FormScale from '@/components/followup/form/index' import FormScale from '@/components/followup/form/index'
import ChoseMedication from '@/views/followup/record-manage/dialog/chose-medication';
// 量表模块数据模型 // 量表模块数据模型
// 高血压 // 高血压
...@@ -45,6 +52,7 @@ ...@@ -45,6 +52,7 @@
export default { export default {
data(){ data(){
return { return {
dialogFormVisible: false,//是否显示添加用药情况dialog
domain: '',//通过接口获取白名单域名 domain: '',//通过接口获取白名单域名
needRule: true, //是否动态开启验证 needRule: true, //是否动态开启验证
showModule: true, //是否隐藏表单模块 showModule: true, //是否隐藏表单模块
...@@ -59,10 +67,12 @@ ...@@ -59,10 +67,12 @@
addComponents: [], addComponents: [],
addComponentsSourceList: [], addComponentsSourceList: [],
formData: {},//整个表单对象 formData: {},//整个表单对象
medication: [],// 用药情况
} }
}, },
components: { components: {
FormScale, FormScale,
ChoseMedication,
}, },
props: { props: {
scaleType: String,//病种类型 scaleType: String,//病种类型
...@@ -171,7 +181,7 @@ ...@@ -171,7 +181,7 @@
this.addComponentsSourceList = [ this.addComponentsSourceList = [
{name: 'hypeDataSourceBaseInfo',formObject: {},showModule: true,formName: 'hypertension_001',className: 'obj-form-title',dataSource: hypeDataSourceBaseInfo(this), hideTitle: true, title: '基本信息'}, {name: 'hypeDataSourceBaseInfo',formObject: {},showModule: true,formName: 'hypertension_001',className: 'obj-form-title',dataSource: hypeDataSourceBaseInfo(this), hideTitle: true, title: '基本信息'},
{name: 'hypeDataSourceSymptom',formObject: {},showModule: true,formName: 'hypertension_002',className: 'obj-form-title',dataSource: hypeDataSourceSymptom(this), hideTitle: false, title: '症状'}, {name: 'hypeDataSourceSymptom',formObject: {},showModule: true,formName: 'hypertension_002',className: 'obj-form-title',dataSource: hypeDataSourceSymptom(this), hideTitle: false, title: '症状'},
{name: 'hypeDataSourceSign',formObject: {bmi: 0,},showModule: true,formName: 'hypertension_003',className: 'obj-form-title',dataSource: hypeDataSourceSign(this), hideTitle: false, title: '体征'}, {name: 'hypeDataSourceSign',formObject: {bmi: 0,nextBmi: 0},showModule: true,formName: 'hypertension_003',className: 'obj-form-title',dataSource: hypeDataSourceSign(this), hideTitle: false, title: '体征'},
{name: 'hypeDataSourceLifeMode',formObject: {},showModule: true,formName: 'hypertension_004',className: 'obj-form-title',dataSource: hypeDataSourceLifeMode(this), hideTitle: false, title: '生活方式指导'}, {name: 'hypeDataSourceLifeMode',formObject: {},showModule: true,formName: 'hypertension_004',className: 'obj-form-title',dataSource: hypeDataSourceLifeMode(this), hideTitle: false, title: '生活方式指导'},
{name: 'hypeDataSourceHelpChecking',formObject: {},showModule: true,formName: 'hypertension_005',className: 'obj-form-title',dataSource: hypeDataSourceHelpChecking(this), hideTitle: false, title: '辅助检查'}, {name: 'hypeDataSourceHelpChecking',formObject: {},showModule: true,formName: 'hypertension_005',className: 'obj-form-title',dataSource: hypeDataSourceHelpChecking(this), hideTitle: false, title: '辅助检查'},
{name: 'hypeDataSourceMedicationUse',formObject: {},showModule: true,formName: 'hypertension_006',className: 'obj-form-title',dataSource: hypeDataSourceMedicationUse(this), hideTitle: false, title: '用药情况'}, {name: 'hypeDataSourceMedicationUse',formObject: {},showModule: true,formName: 'hypertension_006',className: 'obj-form-title',dataSource: hypeDataSourceMedicationUse(this), hideTitle: false, title: '用药情况'},
...@@ -322,6 +332,13 @@ ...@@ -322,6 +332,13 @@
// } // }
// this.$emit('checkEnd',false); // this.$emit('checkEnd',false);
}, },
closeDialog(val){
this.dialogFormVisible = val;
},
setMedication(val){
this.medication.push(val);
console.log('medication=>',this.medication)
}
}, },
} }
</script> </script>
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册