xiezhiming 3 年之前
父節點
當前提交
22888b1347
共有 1 個文件被更改,包括 87 次插入9 次删除
  1. 87 9
      src/components/icss/plan/AddPlan.vue

+ 87 - 9
src/components/icss/plan/AddPlan.vue

@@ -9,6 +9,14 @@
       top: 0;
       left: 0;
     }
+	.tipImg{
+		  position: absolute;
+		  width: 20px;
+		  height: 20px;
+		  top: 10px;
+		  right: -30px;
+		  cursor: pointer;
+	}
     ul {
       li {
       }
@@ -258,7 +266,7 @@
                               }}</span>
                             </div>
                           </div>
-                          <div v-if="item.number">
+                          <div v-if="item.number" style="position: relative;">
                             <span style="margin-right: 8px">默认显示个数</span>
                             <el-select
                                     v-model="item.number"
@@ -273,6 +281,9 @@
                               <el-option label="5" :value="5"></el-option>
                               <el-option label="6" :value="6"></el-option>
                             </el-select>
+							<el-tooltip class="item" effect="dark" content="此数量对横版不生效" placement="top">
+							     <img :src="require('@/images/tip.png')" v-if="item.code==='casewriting'||item.code==='treatment'" class="tipImg">
+							</el-tooltip>
                           </div>
                         </div>
                       </div>
@@ -286,14 +297,16 @@
                             <div class="list_item_title">
                               {{ child.name }}
                             </div>
-                            <div class="list_item_swich">
-                              <el-switch
-                                      v-model="child.status"
-                                      :active-value="1"
-                                      :inactive-value="0"
-                                      active-color="#4BC4D7"
-                                      inactive-color="#BBBBBB"
-                              ></el-switch>
+                            <div class="list_item_swich" v-if="child.code!='znjs'">
+								<div @click="isStauts(item,child)" style="display: inline-block;">
+									<el-switch
+									        v-model="child.status"
+									        :active-value="1"
+									        :inactive-value="0"
+									        active-color="#4BC4D7"
+									        inactive-color="#BBBBBB"
+									></el-switch>
+							  </div>
                               <span class="planStatus">{{
                                 child.status === 1 ? "启用中" : "未启用"
                               }}</span>
@@ -386,6 +399,31 @@
             };
         },
         methods: {
+			// 对有子集的启用禁用按钮进行联动
+			isStauts(arr,arrChild){
+				let len=0; //控制数量
+				let arrCopy=JSON.parse(JSON.stringify(arr))
+				if(arr.name=='开单合理性') return
+				arr.list.forEach(item=>{
+					//子级跟着父级变化
+					if(arrChild.code==arr.list[0].code){
+						this.$set(item,'status',arrChild.status)
+					}else{
+						if(item.status===1){
+							len=len+1;
+						}else{
+							len=0
+						}
+						if(arr.list.length-1==len){
+							arr.list[0].status=1
+							this.$set(arr.list[0],'status',1)
+						}else{
+							arr.list[0].status=0
+							this.$set(arr.list[0],'status',0)
+						}
+					}
+				})
+			},
             //展开收起控制
             listShow(i) {
                 // TODO Vue监听不到对象中新添加的项,所以复制一份
@@ -471,6 +509,12 @@
                                 status: item.status
                             };
                         });
+						//处理开单合理性,删除前端写死的智能警示
+						params.planDetailParent[0].planDetailSub.forEach((item,index)=>{
+							if(item.code==="znjs"){
+								params.planDetailParent[0].planDetailSub.splice(index,1)
+							}		  
+						})
                         api.savePlanInfoDatas(params).then((res) => {
                             if (res.data.code === "0") {
                                 this.$message({
@@ -563,6 +607,35 @@
                 biglist.push(obj);
                 this.form.planDetailSub[0].planDetails = this.groupSort(biglist);
             },
+			//添加固定的智能警示
+			setZnData(data,name){
+				let znjsData={}
+				data.forEach(item=>{
+					if(item.name=='开单合理性'){
+						znjsData.code='znjs';
+						znjsData.name='智能警示';
+						znjsData.orderNo=item.orderNo;
+						znjsData.id=item.id+'s';
+						// this.$set(item.list,0,znjsData)
+						item.list.unshift(znjsData)	
+					}
+				})
+			},
+			delNumber(datas){
+				//没有数量的code
+				let nameArray=["auxiliary",'critical',"maymedicine","mayoperation","maynurse","hasmedicine","hasoperation","hasnurse",];
+				//递归遍历将没用数量设置为空不展示
+				for (let i in datas){
+					nameArray.some(item=>{
+						if(item==datas[i].code){
+							return datas[i].number=null;
+						}
+					})
+					if(datas[i].planDetails){
+						this.delNumber(datas[i].planDetails)
+					}
+				}
+			},
             getDefaultPlans() {
                 api.getDefaultPlans().then((res) => {
                     if (res.data.code === "0") {
@@ -570,8 +643,13 @@
                         this.fomatArr();
 						//改变可能诊断和已诊断的数据添加list数组,方便页面渲染
 						this.$nextTick(()=>{
+							//给开单合理性的list里面加一个固定的智能警示
+							this.setZnData(this.form.planDetailSub[0].planDetails,'开单合理性')
+							// 改数组里面的可能诊断和已有诊断
 							this.updateDate(this.form.planDetailSub[0].planDetails,'maydiagnose')
 							this.updateDate(this.form.planDetailSub[0].planDetails,'hasdiagnose')
+							// 删除没必要的number
+							this.delNumber(this.form.planDetailSub[0].planDetails)
 							this.$forceUpdate()		  
 						})
                     }