提交 48afee19 编写于 作者: tao.wu's avatar tao.wu

no message

上级 f6fa9b7f
......@@ -13,7 +13,7 @@
:label="item.label"
:rules="item.rules"
:label-width="item.labelWidth"
:required="needRule"
:required="item.required"
:class="item.className"
:error="item.error">
<!-- div文本 -->
......@@ -112,7 +112,7 @@
export default {
props: {
needRule: Boolean,
ruleNew: Boolean,
dataSource: {
type: Array,
default: () => []
......@@ -126,7 +126,7 @@
form(val){
this.form = val
this.$forceUpdate()
}
},
},
data() {
return {
......
import rangeJson from '@/utils/followup/followupUtils/range';
// 这个方法,是用户在选择随访轮次(6个月,12个月)后续操作
let checkNeedRule = (val) => {
const needRule = localStorage.getItem('needRule');
if(( (!val||val=='') && (!needRule || needRule=='true') )){
return true;
}
return false;
}
// 校验范围通用方法
export const checkRange = (rule, value, callback) => {
let min,max;
......@@ -10,7 +19,7 @@ export const checkRange = (rule, value, callback) => {
max = item.max;
}
})
if((val >= min) && (val <= max)){
if(((val >= min) && (val <= max)) || checkNeedRule(val)){
callback()
}else{
callback(new Error(`输入范围${min}~${max}`))
......@@ -31,7 +40,8 @@ export const checkMobile = (rule, value, callback) => {
// 校验是否是整数
export const checkIsInteger = (rule, value, callback) => {
const num = Number.isInteger(parseFloat(value));
if(num){
const val = parseFloat(value);
if(num || checkNeedRule(val)){
callback()
}else{
callback(new Error(`输入整数`))
......@@ -41,7 +51,8 @@ export const checkIsInteger = (rule, value, callback) => {
// 校验是否是一位小数
export const checkNumberIsToFixed = (rule, value, callback) => {
const isNum = /^(([1-9][0-9]*)|(([0]\.\d{1,1}|[1-9][0-9]*\.\d{1,1})))$/;
if(isNum.test(Number(value))){
const val = Number(value);
if(isNum.test(val) || checkNeedRule(val)){
callback()
}else{
callback(new Error(`最多输入1位小数`))
......@@ -51,8 +62,8 @@ export const checkNumberIsToFixed = (rule, value, callback) => {
// 大于0的正整数
export const checkNormalInt = (rule, value, callback) => {
const isInteger = Number.isInteger(parseFloat(value));
const num = parseFloat(value);
if(isInteger && num > 0){
const val = parseFloat(value);
if((isInteger && val > 0) || checkNeedRule(val)){
callback()
}else{
callback(new Error(`请输入大于0的正整数`))
......
......@@ -51,9 +51,11 @@ export default ($this) => {
changeFun: (e)=>{
console.log(e)
if(e == '12个月'){
$this.needRule = true;
}else{
$this.needRule = false;
localStorage.setItem('needRule',false);
}else{
$this.needRule = true;
localStorage.setItem('needRule',true);
}
}
},
......
......@@ -37,9 +37,10 @@ export default ($this) => {
changeFun: (val)=>{
$this.addComponents.forEach((item,index)=>{
if(item.formName == 'stroke_014'){
$this.addComponents[index].formObject.stature = val
$this.addComponents[index].formObject.stature = val;
}
})
},
blurFunc: (val)=>{
$this.addComponents.forEach((item,index)=>{
......@@ -73,7 +74,7 @@ export default ($this) => {
changeFun: (val)=>{
$this.addComponents.forEach((item,index)=>{
if(item.formName == 'stroke_014'){
$this.addComponents[index].formObject.weight = val
$this.addComponents[index].formObject.weight = val;
}
})
},
......
......@@ -18,7 +18,7 @@ export default ($this) => {
valueFormat: 'yyyy-MM-dd',
dateType: 'date',
type: 'date',
rules: [{required: false, message: '请选择检查时间', trigger: 'submit'}],
rules: [{required: true, message: '请选择检查时间', trigger: 'submit'}],
spanNum: 6,
},
{
......@@ -33,7 +33,7 @@ export default ($this) => {
type: 'number',
labmsg: '次',
slots: [{name: 'mmol/L', type: 'append'}],
rules: [{required: false, message: '请输入空腹血糖', trigger: 'submit'},{ validator: checkRange , trigger: 'submit' }],
rules: [{required: true, message: '请输入空腹血糖', trigger: 'submit'},{ validator: checkRange , trigger: 'submit' }],
},
......@@ -53,7 +53,7 @@ export default ($this) => {
valueFormat: 'yyyy-MM-dd',
dateType: 'date',
type: 'date',
rules: [{required: false, message: '请选择检查时间', trigger: 'submit'}],
rules: [{required: true, message: '请选择检查时间', trigger: 'submit'}],
spanNum: 6,
},
{
......@@ -68,7 +68,7 @@ export default ($this) => {
type: 'number',
labmsg: '次',
slots: [{name: 'mmol/L', type: 'append'}],
rules: [{required: false, message: '请输入甘油三酯', trigger: 'submit'},{ validator: checkRange , trigger: 'submit' }],
rules: [{required: true, message: '请输入甘油三酯', trigger: 'submit'},{ validator: checkRange , trigger: 'submit' }],
},
{
formType: 'input',
......@@ -82,7 +82,7 @@ export default ($this) => {
type: 'number',
labmsg: '次',
slots: [{name: 'mmol/L', type: 'append'}],
rules: [{required: false, message: '请输入胆固醇', trigger: 'submit'},{ validator: checkRange , trigger: 'submit' }],
rules: [{required: true, message: '请输入胆固醇', trigger: 'submit'},{ validator: checkRange , trigger: 'submit' }],
},
{
formType: 'input',
......@@ -96,7 +96,7 @@ export default ($this) => {
type: 'number',
labmsg: '次',
slots: [{name: 'mmol/L', type: 'append'}],
rules: [{required: false, message: '请输入低密度脂蛋白胆固醇', trigger: 'submit'},{ validator: checkRange , trigger: 'submit' }],
rules: [{required: true, message: '请输入低密度脂蛋白胆固醇', trigger: 'submit'},{ validator: checkRange , trigger: 'submit' }],
},
{
formType: 'input',
......@@ -110,7 +110,7 @@ export default ($this) => {
type: 'number',
labmsg: '次',
slots: [{name: 'mmol/L', type: 'append'}],
rules: [{required: false, message: '请输入高密度脂蛋白胆固醇', trigger: 'submit'},{ validator: checkRange , trigger: 'submit' }],
rules: [{required: true, message: '请输入高密度脂蛋白胆固醇', trigger: 'submit'},{ validator: checkRange , trigger: 'submit' }],
},
]
}
......@@ -16,7 +16,7 @@ export default ($this) => {
valueFormat: 'yyyy-MM-dd',
dateType: 'date',
type: 'date',
rules: [{ required: false, message: '请选择评估时间', trigger: 'submit' }],
rules: [{ required: true, message: '请选择评估时间', trigger: 'submit' }],
spanNum: 6,
},
{
......@@ -35,7 +35,7 @@ export default ($this) => {
{ label: '4(重度残疾,不能独立行走,无他人帮助不能满足自身日常生活需求)', value: '4(重度残疾,不能独立行走,无他人帮助不能满足自身日常生活需求)', disabled: false },
{ label: '5(严重残疾,持续卧床、二便失禁,需持续护理和关注,日常生活完全依赖他人)', value: '5(严重残疾,持续卧床、二便失禁,需持续护理和关注,日常生活完全依赖他人)', disabled: false },
],
rules: [{ required: false, message: '请选择评分值', trigger: 'submit' }],
rules: [{ required: true, message: '请选择评分值', trigger: 'submit' }],
changeFun: (e)=>{
// console.log(e)
}
......
......@@ -14,7 +14,7 @@
<FormScale
:dataSource="item.dataSource"
:form="item.formObject"
:needRule="needRule"
:ruleNew="item.ruleNew"
:class="item.className"
/>
</el-form>
......@@ -51,21 +51,24 @@
export default {
data(){
return {
needRule: false, //是否动态开启验证
needRule: true, //是否动态开启验证
showModule: true, //是否隐藏表单模块
canRender: true,
valid: false,
validList: [],
moduleList: [],//模块列表
planPatientsTimesId: '',
scaleNo: '',
doctorId: '',
addComponents: [
planTimesId: '',
addComponents: [],
addComponentsSourceList: [
{name: 'BaseInfo0',formObject: {},showModule: true,formName: 'stroke_001',className: 'obj-form-title',dataSource: dataSourceBaseInfo0(this), hideTitle: true, title: '一、量表脑卒中随访人员信息表'},
{name: 'BaseInfo',formObject: {},showModule: true,formName: 'stroke_002',className: 'obj-form-title',dataSource: dataSourceBaseInfo(this), title: '一、基本信息'},
{name: 'BaseInfo2',formObject: {},showModule: true,formName: 'stroke_003',className: 'obj-form-title',dataSource: dataSourceBaseInfo2(this), hideTitle: true, title: '一、基本信息'},
{name: 'LifeStyleGuide',formObject: {},showModule: true,formName: 'stroke_004',className: 'obj-form-title',dataSource: dataSourceLifeStyleGuide(this), title: '二、随访期间生活方式'},
{name: 'MainSickControl',formObject: {},showModule: true,formName: 'stroke_005',className: 'obj-form-title',dataSource: dataSourceMainSickControl(this), title: '三、随访期间主要病史及控制情况-脑血管病'},
{name: 'MainSickControl2',formObject: {},showModule: true,formName: 'stroke_006',className: 'obj-form-title',dataSource: dataSourceMainSickControl2(this), hideTitle: true, title: '三、随访期间主要病史及控制情况-MRS评分(卒中患者12个月随访必填)'},
{name: 'MainSickControl2',formObject: {},showModule: true,formName: 'stroke_006',className: 'obj-form-title',dataSource: dataSourceMainSickControl2(this), hideTitle: true,ruleNew:true, title: '三、随访期间主要病史及控制情况-MRS评分(卒中患者12个月随访必填)'},
{name: 'MainSickControl3',formObject: {},showModule: true,formName: 'stroke_007',className: 'obj-form-title',dataSource: dataSourceMainSickControl3(this), hideTitle: true, title: '三、随访期间主要病史及控制情况-心脏病'},
{name: 'MainSickControl4',formObject: {},showModule: true,formName: 'stroke_008',className: 'obj-form-title',dataSource: dataSourceMainSickControl4(this), hideTitle: true, title: '三、随访期间主要病史及控制情况-高血压'},
{name: 'MainSickControl5',formObject: {},showModule: true,formName: 'stroke_009',className: 'obj-form-title',dataSource: dataSourceMainSickControl5(this), hideTitle: true, title: '三、随访期间主要病史及控制情况-血脂异常'},
......@@ -73,8 +76,8 @@
{name: 'TreatmentSituation',formObject: {},showModule: true,formName: 'stroke_011',className: 'obj-form-title',dataSource: dataSourceTreatmentSituation(this), title: '四、本次随访期间血管病变的外科手术或介入治疗情况-颈动脉'},
{name: 'TreatmentSituation2',formObject: {},showModule: true,formName: 'stroke_012',className: 'obj-form-title',dataSource: dataSourceTreatmentSituation2(this), hideTitle: true, title: '四、本次随访期间血管病变的外科手术或介入治疗情况-冠状动脉'},
{name: 'TreatmentSituation3',formObject: {},showModule: true,formName: 'stroke_013',className: 'obj-form-title',dataSource: dataSourceTreatmentSituation3(this), hideTitle: true, title: '四、本次随访期间血管病变的外科手术或介入治疗情况-出血性卒中外科治疗'},
{name: 'CheckBody',formObject: {bmi: 0,},showModule: true,formName: 'stroke_014',className: 'obj-form-title',dataSource: dataSourceCheckBody(this), title: '五、体格检查(高危人群12个月随访必做)'},
{name: 'CheckLab',formObject: {},showModule: true,formName: 'stroke_015',className: 'obj-form-title',dataSource: dataSourceCheckLab(this), title: '六、实验室检查(高危人群12个月随访必填)'},
{name: 'CheckBody',formObject: {bmi: 0,},showModule: true,formName: 'stroke_014',className: 'obj-form-title',dataSource: dataSourceCheckBody(this), ruleNew:true,title: '五、体格检查(高危人群12个月随访必做)'},
{name: 'CheckLab',formObject: {},showModule: true,formName: 'stroke_015',className: 'obj-form-title',dataSource: dataSourceCheckLab(this),ruleNew:true, title: '六、实验室检查(高危人群12个月随访必填)'},
],
formData: {},//整个表单对象
}
......@@ -90,6 +93,7 @@
watch: {
checkStart(val){
if(val){
this.validList = [];
for(let i=0;i<this.addComponents.length;i++){
let formName = this.addComponents[i].formName;
// 将每个模块的fornName对应后台的表名放到表单对象
......@@ -101,7 +105,8 @@
this.$nextTick(()=>{
if(this.$refs['form' + i].length > 0){
this.$refs['form' + i][0].validate((valid) => {
this.valid = valid;
// this.valid = valid;
this.validList.push(valid);
});
}
})
......@@ -119,16 +124,25 @@
}
})
},
needRule(val){
this.addComponents.forEach((item,index)=>{
let formName = item.formName;
if(formName==='stroke_006'||formName==='stroke_014'||formName==='stroke_015'){
this.addComponents[index].ruleNew = val;
}
})
}
},
created(){
this.planPatientsTimesId = this.$route.query.planPatientsTimesId
this.scaleNo = this.$route.query.scaleNo
this.doctorId = this.$route.query.doctorId
this.planTimesId = this.$route.query.planTimesId
this.getFormModules();
this.getFormDetail();
localStorage.setItem('needRule',this.needRule);
},
methods: {
// 动态开启验证开关
......@@ -136,12 +150,10 @@
this.addComponents[index].dataSource.forEach((item,k)=>{
if(item.rules && item.rules.length > 0){
if(!this.needRule){
this.addComponents[index].dataSource[k].rules[0].required = true;
}else{
this.addComponents[index].dataSource[k].rules[0].required = false;
// this.addComponents[index].dataSource[k].rules.push(item)
// this.addComponents[index].dataSource[k].rules = item.rules.splice(0,1);
// this.$forceUpdate()
}
// console.log(this.addComponents[index].dataSource[k].rules)
}
})
},
......@@ -153,7 +165,14 @@
data: {},
}).then(res=>{
if(res.data.code=='000000'){
this.moduleList = res.data.data
this.moduleList = res.data.data;
for(let i=0;i<this.moduleList.length;i++){
for(let j=0;j<this.addComponentsSourceList.length;j++){
if(this.moduleList[i]==this.addComponentsSourceList[j].formName){
this.addComponents.push(this.addComponentsSourceList[j])
}
}
}
}else{
this.$message({
message: res.data.message,
......@@ -182,6 +201,14 @@
},
// 提交量表
dataSubmit(){
for(let i=0;i<this.validList.length;i++){
if(!this.validList[i]){
this.valid = false;
return;
}else{
this.valid = true;
}
}
if(this.valid){
// console.log(this.formData)
this.formData.doctorId = parseFloat(this.doctorId);
......@@ -196,6 +223,7 @@
data: JSON.stringify(this.formData),
}).then(res=>{
if(res.data.code=='000000'){
this.updateScalesStatus();
this.$message({
message: '录入成功',
type: 'success'
......@@ -208,6 +236,17 @@
}
});
}
},
updateScalesStatus(){
axios({
method: 'post',
url: getFollowUpSC('/followup/entering/scale/updateScalesStatus'),
data: {
fuPlanPatientTimesId: this.planPatientsTimesId,
planTimesId: this.planTimesId,
resourceId: this.scaleNo
},
})
}
},
}
......
......@@ -224,7 +224,7 @@
}
}else if(this.formList.scalesList.length === 1){
this.$router.push({path: '/followup/record-manage/form-template',
query: {doctorId: this.formList.doctorId, scaleNo: this.formList.scalesList[0].resourceId, planPatientsTimesId: row.fuPlanPatientTimesId, showBtn: 1}})
query: {doctorId: this.formList.doctorId, scaleNo: this.formList.scalesList[0].resourceId, planPatientsTimesId: row.fuPlanPatientTimesId,planTimesId : row.fuPlanTimesId, showBtn: 1}})
}else {
this.$message.warning('暂不支持录入量表!')
}
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册