|
@@ -2,17 +2,17 @@
|
|
|
<div class="detail-wrap">
|
|
|
<!-- <div v-for="(item,index) in datas"> -->
|
|
|
<div v-for="(item,index) in checkDatas.questionMapping">
|
|
|
- <p class="quest"><span v-show="item.required==1" style="color: red;">*</span>{{index + 1 +'.' + (item.description || item.name)}}</p>
|
|
|
+ <p class="quest"><img v-show="item.required==1" src="../images/ip.svg"/>{{index + 1 +'.' + (item.description || item.name)}}</p>
|
|
|
<img class="questionImg" :src="item.url.replace('{imageUrlPrefix}',imgUrl)" v-if="item.url">
|
|
|
- <Radio v-if="item.controlType==1"
|
|
|
+ <Radio v-if="item.controlType==1"
|
|
|
:item="item"
|
|
|
:key="item.id"
|
|
|
@updata="updataData"/>
|
|
|
- <RadioSelect v-if="item.controlType==8"
|
|
|
+ <RadioSelect v-if="item.controlType==8"
|
|
|
:item="item"
|
|
|
:key="item.id"
|
|
|
@updata="updataData"/>
|
|
|
- <CheckBox v-if="item.controlType==2"
|
|
|
+ <CheckBox v-if="item.controlType==2"
|
|
|
:item="item"
|
|
|
:key="item.id"
|
|
|
@updata="updataData"/>
|
|
@@ -36,6 +36,9 @@
|
|
|
@updata="updataData($event,item)"
|
|
|
></MultiLineInput>
|
|
|
</template>
|
|
|
+ <PickTime v-if="item.controlType == 9"
|
|
|
+ @updata="updataData"
|
|
|
+ :item="item"/>
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -46,6 +49,7 @@ import Input from '../common/Input.vue';
|
|
|
import ComTextArea from '../common/ComTextArea.vue';
|
|
|
import RadioSelect from '../common/RadioSelect.vue';
|
|
|
import MultiLineInput from '../common/MultiLineInput.vue';
|
|
|
+import PickTime from '../common/PickTime.vue';
|
|
|
import {patt,trimDots,imageUrlPrefix} from '@utils/tools.js'
|
|
|
// 将获取到的数据源转换成私有数据,处理选择事件。点击完成后统一存到store中,便于回读
|
|
|
export default {
|
|
@@ -66,7 +70,8 @@ import {patt,trimDots,imageUrlPrefix} from '@utils/tools.js'
|
|
|
Input,
|
|
|
ComTextArea,
|
|
|
MultiLineInput,
|
|
|
- RadioSelect
|
|
|
+ RadioSelect,
|
|
|
+ PickTime
|
|
|
},
|
|
|
methods:{
|
|
|
updataData(data,item){
|
|
@@ -82,7 +87,7 @@ import {patt,trimDots,imageUrlPrefix} from '@utils/tools.js'
|
|
|
if(detList[k].id==data.id){
|
|
|
detList.splice(k,1,data)
|
|
|
}
|
|
|
- }
|
|
|
+ }
|
|
|
for(let n in detList){//给父级赋值
|
|
|
if(detList[n].value){
|
|
|
tempVal += detList[n].name.replace(patt,detList[n].value)+',';
|
|
@@ -98,7 +103,7 @@ import {patt,trimDots,imageUrlPrefix} from '@utils/tools.js'
|
|
|
mapping.splice(i,1,data)
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
// 实时更新清空样式
|
|
|
if(data.value){
|
|
@@ -112,19 +117,19 @@ import {patt,trimDots,imageUrlPrefix} from '@utils/tools.js'
|
|
|
}
|
|
|
}
|
|
|
// 更新完成样式
|
|
|
- let checkReq = this.checkReq();
|
|
|
+ /*let checkReq = this.checkReq();
|
|
|
if(checkReq){
|
|
|
this.$emit('checkReq',true)
|
|
|
}else{
|
|
|
this.$emit('checkReq',false)
|
|
|
- }
|
|
|
+ }*/
|
|
|
},
|
|
|
saveData(){//存值
|
|
|
this.checkDatas = Object.assign({},this.checkDatas,{select:1});
|
|
|
const datas = this.checkDatas.questionMapping;
|
|
|
const id = this.checkDatas.id;
|
|
|
let chooseSymp = this.$store.state.symptom.choose;
|
|
|
-
|
|
|
+
|
|
|
let text = ""; //医生
|
|
|
let textP = "";//患者
|
|
|
let special = ""; //拼到主诉
|
|
@@ -153,7 +158,7 @@ import {patt,trimDots,imageUrlPrefix} from '@utils/tools.js'
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
let msg = this.checkDatas.name+ ',' + text;
|
|
|
let msgP = (this.checkDatas.description || this.checkDatas.name)+ ',' + textP;
|
|
|
let newMsg = "";
|
|
@@ -176,6 +181,12 @@ import {patt,trimDots,imageUrlPrefix} from '@utils/tools.js'
|
|
|
const datas = JSON.parse(JSON.stringify(this.checkDatas.questionMapping))
|
|
|
let reqFlag = false;//必填项标识
|
|
|
for(let i in datas){
|
|
|
+ // 时间控件需要清除缓存的index
|
|
|
+ if(datas[i].controlType ==9){
|
|
|
+ if(datas[i].pickIndex){
|
|
|
+ datas[i].pickIndex = [];
|
|
|
+ }
|
|
|
+ }
|
|
|
datas[i].value = "";
|
|
|
datas[i].valueP = "";
|
|
|
if(datas[i].required==1){
|
|
@@ -204,7 +215,7 @@ import {patt,trimDots,imageUrlPrefix} from '@utils/tools.js'
|
|
|
}else{
|
|
|
this.$store.commit('setDatas',{data:Object.assign({},this.checkDatas,{select:1}),pId:this.checkDatas.id,type:this.data.moduleType,ppId:this.data.ppId});
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
this.$store.commit('setText',{text:msg,textP:msgP,pId:this.checkDatas.id,type:this.data.moduleType,flag:true,order:this.data.order,arrFlag:true,index:this.data.index});
|
|
|
},
|
|
|
check(){// 校验是否有已填项
|
|
@@ -229,7 +240,7 @@ import {patt,trimDots,imageUrlPrefix} from '@utils/tools.js'
|
|
|
}
|
|
|
return false;
|
|
|
},
|
|
|
- checkReq(){// 校验必填项
|
|
|
+ /*checkReq(){// 校验必填项
|
|
|
const datas = this.checkDatas.questionMapping;
|
|
|
for(let k in datas){
|
|
|
if(datas[k].required==1 && !datas[k].value){
|
|
@@ -237,7 +248,7 @@ import {patt,trimDots,imageUrlPrefix} from '@utils/tools.js'
|
|
|
}
|
|
|
}
|
|
|
return true;
|
|
|
- }
|
|
|
+ }*/
|
|
|
},
|
|
|
}
|
|
|
</script>
|
|
@@ -250,6 +261,11 @@ import {patt,trimDots,imageUrlPrefix} from '@utils/tools.js'
|
|
|
.quest{
|
|
|
color:#colors[quest];
|
|
|
margin-bottom: .2rem;
|
|
|
+ img{
|
|
|
+ width: 16px;
|
|
|
+ vertical-align: text-top;
|
|
|
+ margin-right: 4px;
|
|
|
+ }
|
|
|
}
|
|
|
.questionImg {
|
|
|
width: 100%;
|