|
@@ -1,4 +1,5 @@
|
|
|
|
|
|
+
|
|
|
<style lang="less" scoped>
|
|
|
.addPlanWrapper {
|
|
|
padding: 20px 60px 120px 60px;
|
|
@@ -396,7 +397,8 @@
|
|
|
this.$refs.form.validate((valid) => {
|
|
|
if (valid) {
|
|
|
const hospitalId = this.$route.params.hospitalId;
|
|
|
- let params = JSON.parse(JSON.stringify(this.form));
|
|
|
+ let params =JSON.parse(JSON.stringify(this.form))
|
|
|
+ let paramsCopy=JSON.parse(JSON.stringify(params))
|
|
|
params.hospitalId=hospitalId;
|
|
|
params.planDetailParent = params.planDetailSub;
|
|
|
delete params.planDetailSub;
|
|
@@ -410,22 +412,54 @@
|
|
|
});
|
|
|
params.planDetailParent[0].planDetails.splice(index, 1, ...arr);
|
|
|
console.log(this.$route.params)
|
|
|
+ //改变param里面的可能诊断和已诊断的数据结构
|
|
|
+ let objArr=[...this.updateDateParam(paramsCopy,"maydiagnose")] //可能诊断
|
|
|
+ let objhasArr=[...this.updateDateParam(paramsCopy,"hasdiagnose")] //已有诊断
|
|
|
+ let objArrOne=objArr[0]; //获取可能诊断的对象
|
|
|
+ delete objArrOne.list //删除可能诊断对象中的多余list
|
|
|
+ let objhasArrOne=objhasArr[0];
|
|
|
+ delete objhasArrOne.list
|
|
|
+ objArr.splice(0,1)
|
|
|
+ objhasArr.splice(0,1)
|
|
|
params.planDetailParent = params.planDetailParent.map((item) => {
|
|
|
let newArr = [];
|
|
|
if (item.planDetails) {
|
|
|
- newArr = item.planDetails.map((child) => {
|
|
|
- return {
|
|
|
- code: child.code,
|
|
|
- hospitalId: hospitalId,
|
|
|
- name: child.name,
|
|
|
- number: child.number,
|
|
|
- orderNo: child.orderNo,
|
|
|
- planId: child.planId,
|
|
|
- remark: child.remark,
|
|
|
- status: child.status,
|
|
|
- value: child.value
|
|
|
- };
|
|
|
- });
|
|
|
+ newArr = item.planDetails.map((child) => {
|
|
|
+ let obj={
|
|
|
+ code: child.code,
|
|
|
+ hospitalId: hospitalId,
|
|
|
+ name: child.name,
|
|
|
+ number: child.number,
|
|
|
+ orderNo: child.orderNo,
|
|
|
+ planId: child.planId,
|
|
|
+ remark: child.remark,
|
|
|
+ status: child.status,
|
|
|
+ value: child.value,
|
|
|
+ id:child.id,
|
|
|
+ parentId:child.parentId,
|
|
|
+ planDetailSub:null,
|
|
|
+ };
|
|
|
+ if(child.code==='maydiagnose'){
|
|
|
+ obj=JSON.parse(JSON.stringify(objArrOne));
|
|
|
+ obj.hospitalId=hospitalId
|
|
|
+ obj.planDetailSub=[];
|
|
|
+ objArr.forEach(item=>{
|
|
|
+ item.hospitalId=hospitalId
|
|
|
+ obj.planDetailSub.push(item)
|
|
|
+ })
|
|
|
+ }else if(child.code==='hasdiagnose'){
|
|
|
+ obj=obj=JSON.parse(JSON.stringify(objhasArrOne));
|
|
|
+ obj.hospitalId=hospitalId
|
|
|
+ obj.planDetailSub=[];
|
|
|
+ objhasArr.forEach(item=>{
|
|
|
+ item.hospitalId=hospitalId
|
|
|
+ obj.planDetailSub.push(item)
|
|
|
+ })
|
|
|
+ }else{
|
|
|
+ obj= obj
|
|
|
+ }
|
|
|
+ return obj
|
|
|
+ });
|
|
|
}
|
|
|
return {
|
|
|
code: item.code,
|
|
@@ -534,6 +568,12 @@
|
|
|
if (res.data.code === "0") {
|
|
|
this.form.planDetailSub = res.data.data.planDetailDefault;
|
|
|
this.fomatArr();
|
|
|
+ //改变可能诊断和已诊断的数据添加list数组,方便页面渲染
|
|
|
+ this.$nextTick(()=>{
|
|
|
+ this.updateDate(this.form.planDetailSub[0].planDetails,'maydiagnose')
|
|
|
+ this.updateDate(this.form.planDetailSub[0].planDetails,'hasdiagnose')
|
|
|
+ this.$forceUpdate()
|
|
|
+ })
|
|
|
}
|
|
|
});
|
|
|
},
|
|
@@ -570,6 +610,12 @@
|
|
|
if (defaultRes.data.code === "0") {
|
|
|
// 合并默认数据
|
|
|
this.mergeDefaultPlans(defaultRes.data.data.planDetailDefault);
|
|
|
+ this.$nextTick(()=>{
|
|
|
+ // 改数组里面的可能诊断和已有诊断
|
|
|
+ this.updateDate(this.form.planDetailSub[0].planDetails,'maydiagnose')
|
|
|
+ this.updateDate(this.form.planDetailSub[0].planDetails,'hasdiagnose')
|
|
|
+ this.$forceUpdate()
|
|
|
+ })
|
|
|
}
|
|
|
}
|
|
|
} catch (err) {
|
|
@@ -617,7 +663,33 @@
|
|
|
}
|
|
|
});
|
|
|
this.fomatArr();
|
|
|
- }
|
|
|
+ },
|
|
|
+ // 修改请求数据中的可能诊断和已诊断的数据模式
|
|
|
+ updateDate(array,name){
|
|
|
+ array.forEach(item=>{
|
|
|
+ if(item.code===name){
|
|
|
+ this.$set(item,'list',[])
|
|
|
+ if(Array.isArray(item.planDetails)){
|
|
|
+ item.planDetails.forEach((items)=>{
|
|
|
+ item.list.push(items)
|
|
|
+ })
|
|
|
+ }
|
|
|
+ let itemCopy=JSON.parse(JSON.stringify(item))
|
|
|
+ delete itemCopy.planDetails
|
|
|
+ item.list.unshift(itemCopy)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 修改params里面的可能诊断和已诊断数据
|
|
|
+ updateDateParam(arrayCopy,name){
|
|
|
+ let dataList=[]
|
|
|
+ arrayCopy.planDetailSub[0].planDetails.forEach((item)=>{
|
|
|
+ if(item.code===name){
|
|
|
+ dataList=item.list
|
|
|
+ }
|
|
|
+ })
|
|
|
+ return dataList
|
|
|
+ },
|
|
|
},
|
|
|
|
|
|
created() {
|
|
@@ -638,3 +710,4 @@
|
|
|
}
|
|
|
};
|
|
|
</script>
|
|
|
+
|