<template>
  <div>

    <div v-if="isShowDialog" class="Dialog">
      <div class="DialogTit">
        <span @click="close()" class="iconfont">&#xe6e9;</span>
        <h1 class="name">透析处方</h1>
        <span @click="commitInfo" class="success">完成</span>
      </div>

      <div class="DialogContent" id="dialogTop">
        <div @click="showSubMenu('mode')" class="item" ref="mode" v-if="isShow('透析模式')">
          <label class="name" for="txms">透析模式</label>
          <div class="content">
            <span class="text" id="txms">{{GetModeByModeId(dialysisPrescription.mode_id)}}</span>
            <span class="iconfont">&#xe6f9;</span>
          </div>
        </div>
        <div class="item" @click="openPicker"  v-if="isShow('透析时长')">
          <label class="name" for="txsc">透析时长</label>
          <div class="content">
            <span class="text" style="width: 100px">{{timeValue}}</span>
            <span class="iconfont">&#xe6f9;</span>
          </div>
        </div>

        <div class="item"  v-if="isShow('血流量')">
          <label class="name" for="xll">血流量(ml/min)</label>
          <div class="content">
            <input type="tel" @focus="inputFocus" id="xll" v-model="dialysisPrescription.blood_flow_volume"/>
          </div>
        </div>

        <div class="item"  v-if="isShow('目标超滤量')">
          <label class="name" for="mbcll">目标超滤量(L)</label>
          <div class="content">
            <input type="tel" @focus="inputFocus" id="mbcll" v-model="dialysisPrescription.target_ultrafiltration"/>
          </div>
        </div>
        <div @click="showSubMenu('dialysate_formulation')" class="item" ref="dialysate_formulation"  v-if="isShow('透析液配方')">
          <label class="name" for="txypf">透析液配方</label>
          <div class="content">
            <span class="text"
                  id="txypf">{{GetDialysateFormulationById(dialysisPrescription.dialysate_formulation)}}</span>
            <span class="iconfont">&#xe6f9;</span>
          </div>
        </div>

        <div @click="showSubMenu('anticoagulant')" class="item" ref="anticoagulant"  v-if="isShow('抗凝剂')">
          <label class="name" for="knj">抗凝剂</label>
          <div class="content">
            <span class="text" id="knj">{{GetAnticoagulantById(dialysisPrescription.anticoagulant)}}</span>
            <span class="iconfont">&#xe6f9;</span>
          </div>
        </div>

        <div class="item" v-if="anticoagulant.shouji != -1&&isShow('首剂')">
          <label class="name" for="sj">首剂({{anticoagulant.shouji_unit}})</label>
          <div class="content">
            <input type="tel" @focus="inputFocus" id="sj" v-model="dialysisPrescription.anticoagulant_shouji"
                   :disabled="anticoagulant.shouji==1?false:true"/>
          </div>
        </div>
        <div class="item" v-if="anticoagulant.weichi != -1&&isShow('维持')">
          <label class="name" for="wz">维持({{anticoagulant.weichi_unit}})</label>
          <div class="content">
            <input type="tel" @focus="inputFocus" id="wz" class="inputBox"
                   v-model="dialysisPrescription.anticoagulant_weichi"
                   :disabled="anticoagulant.weichi==1?false:true">
          </div>
        </div>
        <div class="item" v-if="anticoagulant.zongliang != -1 && isShow('总量')">
          <label class="name" for="zl">总量(mg)</label>
          <div class="content">
            <input type="tel" @focus="inputFocus" id="zl" class="inputBox"
                   v-model="dialysisPrescription.anticoagulant_zongliang"
                   :disabled="anticoagulant.zongliang==1?false:true">
          </div>
        </div>

        <div class="item" v-if="anticoagulant.gaimingcheng != -1 && isShow('钙名称')">
          <label class="name" for="g">钙名称({{anticoagulant.gaimingcheng_unit}})</label>
          <div class="content">
            <input type="text" id="g" class="inputBox" v-model="dialysisPrescription.anticoagulant_gaimingcheng"
                   :disabled="anticoagulant.gaimingcheng==1?false:true">
          </div>
        </div>

        <div class="item" v-if="anticoagulant.gaijiliang != -1 && isShow('钙剂量')">
          <label class="name" for="gjl">钙剂量</label>
          <div class="content">
            <input type="text" id="gjl" class="inputBox" v-model="dialysisPrescription.anticoagulant_gaimingcheng"
                   :disabled="anticoagulant.gaimingcheng==1?false:true">
          </div>
        </div>
        <!-- <div class="item">
          <label class="name" for="gtz">干体重(kg)</label>
          <div class="content">
            <input type="tel" @focus="inputFocus" id="gtz" v-model="dialysisPrescription.dry_weight"/>
          </div>
        </div> -->

        <div class="line"></div>
        <div class="item" v-if="isShow('置换量')">
          <label class="name" for="zhy">置换量(L)</label>
          <div class="content">
            <input type="tel" @focus="inputFocus" id="zhy" v-model="dialysisPrescription.replacement_total"/>
          </div>
        </div>

        <!-- <div class="line"></div> -->
        <div class="item" v-if="isShow('钾')">
          <label class="name" for="j">钾(mmol/L)</label>
          <div class="content">
            <input type="tel" @focus="inputFocus" id="j" v-model="dialysisPrescription.kalium"/>
          </div>
        </div>
        <div class="item" v-if="isShow('钠')">
          <label class="name" for="n">钠(mmol/L):</label>
          <div class="content">
            <input type="tel" @focus="inputFocus" id="n" v-model="dialysisPrescription.sodium"/>
          </div>
        </div>
        <div class="item" v-if="isShow('钙')">
          <label class="name" for="gg">钙(mmol/L)</label>
          <div class="content">
            <input type="tel" @focus="inputFocus" id="gg" v-model="dialysisPrescription.calcium"/>
          </div>
        </div>
        <div class="item" v-if="isShow('碳酸氢盐')">
          <label class="name" for="tsqy">碳酸氢盐(mmol/L)</label>
          <div class="content">
            <input type="tel" @focus="inputFocus" id="tsqy" v-model="dialysisPrescription.bicarbonate"/>

          </div>
        </div>
        <div class="item" v-if="isShow('葡萄糖')">
          <label class="name" for="ptt">葡萄糖(mmol/L)</label>
          <div class="content">
            <input type="tel" @focus="inputFocus" id="ptt" v-model="dialysisPrescription.glucose"/>
          </div>
        </div>

        <div class="line"></div>

        <div class="item" v-if="isShow('透析液流量')">
          <label class="name" for="txyll">透析液流量(ml/min)</label>
          <div class="content">
            <input type="tel" @focus="inputFocus" id="txyll" v-model="dialysisPrescription.dialysate_flow"/>
          </div>
        </div>
        <div class="item" v-if="isShow('透析液温度')">
          <label class="name" for="txywd">透析液温度(℃)</label>
          <div class="content">
            <!--<span class="text">HD</span>-->
            <!--<span class="iconfont">&#xe6f9;</span>-->
            <input type="tel" @focus="inputFocus" id="txywd" v-model="dialysisPrescription.dialysate_temperature"/>

          </div>
        </div>
        <div class="item" v-if="isShow('电导率')">
          <label class="name" for="dtl">电导率(mS/cm)</label>
          <div class="content">

            <input type="tel" @focus="inputFocus" id="dtl" v-model="dialysisPrescription.conductivity"/>
          </div>
        </div>
        <div class="item" v-if="isShow('透析器/灌流器')">
          <label class="name" for="dtl">透析器/灌流器</label>
          <div class="content">

            <input  @focus="inputFocus" id="dt" v-model="dialysisPrescription.dialyzer_perfusion_apparatus"/>
          </div>
        </div>
        <div class="line" v-if="this.$store.getters.user.template_info.template_id == 2"></div>

        <div @click="showSubMenu('body_fluid')" class="item" ref="body_fluid" v-if="isShow('体液过多症状')">
          <label class="name" for="knj">体液过多症状</label>
          <div class="content">
            <span class="text" id="knja">{{getBodyFluid(dialysisPrescription.body_fluid)}}</span>
            <span class="iconfont">&#xe6f9;</span>
          </div>
        </div>

        <div class="item"  v-if="isShow('体液过多其他症状')">
          <label class="name" for="knj">体液过多其他症状</label>
          <div class="content">
            <input  @focus="inputFocus" id="dt" v-model="dialysisPrescription.body_fluid_other"/>
          </div>
        </div>


        <div @click="showSubMenu('special_medicine')" class="item" ref="special_medicine" v-if="isShow('透析前使用特殊药物')">
          <label class="name" for="knj">透析前使用特殊药物</label>
          <div class="content">
            <span class="text" id="knjaa">{{getSpecialMedicine(dialysisPrescription.special_medicine)}}</span>
            <span class="iconfont">&#xe6f9;</span>
          </div>
        </div>

        <div class="item"  v-if="isShow('透析前使用其他特殊药物')">
          <label class="name" for="knj">透析前使用其他特殊药物</label>
          <div class="content">
            <input  @focus="inputFocus" id="dt" v-model="dialysisPrescription.special_medicine_other"/>
          </div>
        </div>

        <div @click="showSubMenu('displace_liqui_part')" class="item" ref="displace_liqui_part" v-if="isShow('置换液')">
          <label class="name" for="knj">置换液</label>
          <div class="content">
            <span class="text" id="knjaa">{{getDisplaceLiquiPart(dialysisPrescription.displace_liqui_part)}}</span>
            <span class="iconfont">&#xe6f9;</span>
          </div>
        </div>

        <div  class="item"  v-if="isShow('置换液总量')">
          <label class="name" for="knj">置换液总量(L)</label>
          <div class="content">
            <input  @focus="inputFocus" id="dt" v-model="dialysisPrescription.displace_liqui_value"/>
          </div>
        </div>



        <div @click="showSubMenu('blood_access')" class="item" ref="blood_access" v-if="isShow('血管通路')">
          <label class="name" for="knj">血管通路</label>
          <div class="content">
            <span class="text" id="knjaa">{{getBloodAccess(dialysisPrescription.blood_access)}}</span>
            <span class="iconfont">&#xe6f9;</span>
          </div>
        </div>

        <div  class="item"  v-if="isShow('实际超滤量')">
          <label class="name" for="knj">实际超滤量(L)</label>
          <div class="content">
            <input  @focus="inputFocus" id="dt" v-model="dialysisPrescription.ultrafiltration"/>
          </div>
        </div>





        <div class="item">
          <label class="name" for="dtl">医生签名</label>
          <div class="content">
            <div v-if="isShowDesc">医生尚未签名</div>
            <img v-if="isShowDoctorSign" style="width: 100px;height: 30px" :src="signUrl"
                 alt="" srcset="">
          </div>
        </div>


        <div class="line"></div>
        <div>
          <div class="item">
            <label class="name" for="bz">备注</label>
            <div class="content">
              <span class="text"></span>
            </div>
          </div>
          <textarea class="textarea" id="bz" placeholder="请输入内容" v-model="dialysisPrescription.remark"
                    @focus="lastInputFocus" @blur="lastInputBlur"></textarea>
        </div>

        <!--<div class="footer">-->
        <!--处方医生：刘小军 医生-->
        <!--</div>-->
        <div class="PrescSubmit">
          <button v-if="isShowSign"  class="tj" @click="sign()">医生签名</button>
          <button class="tjcq" @click="commitSolutionInfo">保存并设为长期处方</button>
          <button class="tj" @click="commitInfo">保存</button>
        </div>
      </div>
    </div>
    <!--<two-menu title="二级菜单" v-show="isShowModeSubMenu"></two-menu>-->
    <check-box-sub-menu :visibility="visibility" v-on:menu-cancle="menuCancle" v-on:menu-comfirm="menuComfirm"  v-on:menu-empty="menuEmpty"
                        :propsForm="propForm"></check-box-sub-menu>

    <mt-datetime-picker
      ref="picker"
      type="time"
      hourFormat="{value}小时"
      minuteFormat="{value}分钟"
      @confirm="handleTimeConfirm"
      v-model="time">
    </mt-datetime-picker>
  </div>
</template>

<script>
  import CheckBoxSubMenu from "./subMenu/checkBoxSubMenu";
  import {commitDialysisPrescription, postSign, postSolution} from "@/api/dialysis";
  import {Toast} from 'vant';
  import {getDataConfig} from '@/utils/data';


  export default {
    name: "PrescriptionDialog",
    props: {
      patient_prop: {
        type: Object
      },
      solution_prop: {
        type: Object
      },
      operators:{
        type:Array,
        default: function () {
          return new Array();
        }
      },
      prescription_prop: {
        type: Object,
      },
      machines_prop: {
        type: Array,
        default: function () {
          return new Array();
        }
      }
    },
    data() {
      return {
        loading:false,
        signUrl:"",
        isShowDesc:true,
        time: '03:00',
        timeValue: '',
        isShowSign: false,
        anticoagulantsConfit: {},
        dialysateFormulationOptions: [],
        bodyFluidOptions:[],
        specialMedicineOptions:[],
        displaceLiquiPartOptions:[],
        bloodAccessOptions:[],



        perfusion_apparatus: {},
        replacementWays: [],
        dialyserList: [],
        modeOption: [],
        isShowDoctorBtn: true,
        isShowDoctorSign: false,
        visibility: false,
        isShowDialog: true,
        isShowModeSubMenu: false,
        dialysisPrescription: {
          mode_id: "",
          dialysis_duration: "",
          dialysis_duration_hour: "",
          dialysis_duration_minute: "",
          mode_name: "",
          dialyzer: "",
          perfusion_apparatus: "",
          blood_flow_volume: "",
          dewater_amount: "",
          displace_liqui: "",
          replacement_total: '',
          replacement_way: "",
          anticoagulant: "",
          anticoagulant_shouji: "",
          anticoagulant_weichi: "",
          anticoagulant_zongliang: "",
          anticoagulant_gaimingcheng: "",
          anticoagulant_gaijiliang: "",
          dialyzer_perfusion_apparatus:"",
          kalium: "",
          sodium: "",
          calcium: "",
          bicarbonate: "",
          glucose: "",
          prescription_doctor: "",
          // dry_weight: "",
          dialysate_flow: "",
          dialysate_temperature: "",
          target_ultrafiltration: "",
          dialysate_formulation: "",
          conductivity: "",
          doctor: "",
          remark: "",
          body_fluid:"",
          special_medicine:"",
          special_medicine_other:"",
          displace_liqui_part:"",
          displace_liqui_value:"",
          blood_access:"",
          ultrafiltration:"",
          body_fluid_other:"",
        },
        anticoagulant: {
          id: 0,
          name: "",
          type: 1,
          shouji: 1,
          weichi: 1,
          zongliang: 1,
          gaimingcheng: -1,
          gaijiliang: -1,
          shouji_unit: "mg",
          weichi_unit: "mg/h",
          zongliang_unit: "mg",
          gaimingcheng_unit: "",
          gaijiliang_unit: ""
        },

        propForm: {
          title: "",
          list: [],
          optionList: [],
          isMultiple: 2,
          result: [], //选中的值
          type: 1, //用来区分不同子菜单，方便对返回值进行赋值
          selectId: 0
        }
      };
    },
    methods: {
      isShow(name){
        var filedList = this.$store.getters.user.fileds

        for (let i = 0; i < filedList.length; i++){
          if(filedList[i].module == 1 && filedList[i].filed_name_cn == name&&filedList[i].is_show == 1){
            return true
          }
        }
        return false
      },
      openPicker: function () {
        this.$refs.picker.open();
      },
      handleTimeConfirm: function (val) {
        val = val.replace("小时")
        val = val.replace("分钟")
        let timeArray = val.split(":")
        if (parseInt(timeArray[0].substring(0, 1)) == 0) {
          this.dialysisPrescription.dialysis_duration_hour = timeArray[0].charAt(timeArray[0].length - 1)
        } else {
          this.dialysisPrescription.dialysis_duration_hour = timeArray[0]
        }

        if (parseInt(timeArray[1].substring(0, 1)) == 0) {
          this.dialysisPrescription.dialysis_duration_minute = timeArray[1].charAt(timeArray[1].length - 1)
        } else {
          this.dialysisPrescription.dialysis_duration_minute = timeArray[1]
        }
        this.timeValue = this.dialysisPrescription.dialysis_duration_hour + "小时" + this.dialysisPrescription.dialysis_duration_minute + "分钟"


        this.dialysisPrescription.dialysis_duration = this.dialysisPrescription.dialysis_duration_hour + "." + (this.dialysisPrescription.dialysis_duration_minute)

      },
      inputFocus: function (event) {
        var input = event.target
        setTimeout(function () {
          input.scrollIntoView()
        }, 0);

        if (input.setSelectionRange) {
          setTimeout(function () {
            input.setSelectionRange(0, input.value.length);
          }, 0);
        } else if (input.createTextRange) {
          var rng = input.createTextRange();
          rng.move('character', input.value.length);
          rng.select();
        }
      },
      lastInputFocus: function (event) {
        var input = event.target
        setTimeout(function () {
          input.style.marginBottom = "2rem"
          input.parentNode.scrollIntoView()
        }, 0);
      },
      lastInputBlur: function (event) {
        var input = event.target
        setTimeout(function () {
          input.style.marginBottom = ""
        }, 0);
      },
      showSubMenu: function (val) {
        switch (val) {
          case "mode":
            this.propForm.type = 1;
            this.isShowDialog = false;
            this.propForm.title = "透析模式";
            this.visibility = true;
            this.propForm.list = [];
            this.propForm.optionList = this.modeOption;
            this.propForm.isMultiple = 1;
            this.propForm.selectId = this.dialysisPrescription.mode_id;
            this.propForm.click_ref = "mode"

            break;
          case "dialyzer":
            this.propForm.type = 2;
            this.isShowDialog = false;
            this.propForm.title = "透析器";
            this.visibility = true;
            this.propForm.list = [];
            this.propForm.optionList = this.machines_prop;
            this.propForm.isMultiple = 1;
            this.propForm.selectId = this.dialysisPrescription.dialyzer;
            this.propForm.click_ref = "dialyzer"

            break;

          case "perfusion_apparatus":
            this.propForm.type = 3;
            this.isShowDialog = false;
            this.propForm.title = "灌流器";
            this.visibility = true;
            this.propForm.list = [];
            this.propForm.optionList = this.perfusion_apparatus;
            this.propForm.isMultiple = 1;
            this.propForm.selectId = this.dialysisPrescription.perfusion_apparatus;
            this.propForm.click_ref = "perfusion_apparatus"

            break;
          case "replacement_way":
            this.propForm.type = 4;
            this.isShowDialog = false;
            this.propForm.title = "置换方式";
            this.visibility = true;
            this.propForm.list = [];
            this.propForm.optionList = this.replacementWays;
            this.propForm.isMultiple = 1;
            this.propForm.selectId = this.dialysisPrescription.replacement_way;
            this.propForm.click_ref = "replacement_way"

            break;

          case "anticoagulant":
            this.propForm.type = 5;
            this.isShowDialog = false;
            this.propForm.title = "抗疑剂";
            this.visibility = true;
            this.propForm.list = [];
            this.propForm.optionList = this.anticoagulantsConfit;
            this.propForm.isMultiple = 1;
            this.propForm.selectId = this.dialysisPrescription.anticoagulant;
            this.propForm.click_ref = "anticoagulant"
            break;
          case "dialysate_formulation":
            this.propForm.type = 6;
            this.isShowDialog = false;
            this.propForm.title = "透析液配方";
            this.visibility = true;
            this.propForm.list = [];
            this.propForm.optionList = this.dialysateFormulationOptions;
            this.propForm.isMultiple = 1;
            this.propForm.selectId = this.dialysisPrescription.dialysate_formulation;
            this.propForm.click_ref = "dialysate_formulation"
            break;
          case "body_fluid":
            this.propForm.type = 7;
            this.isShowDialog = false;
            this.propForm.title = "体液过多症状";
            this.visibility = true;
            this.propForm.list = [];
            this.propForm.optionList = this.bodyFluidOptions;
            this.propForm.isMultiple = 1;
            this.propForm.selectId = this.dialysisPrescription.body_fluid;
            this.propForm.click_ref = "body_fluid"
            break
          case "special_medicine":
            this.propForm.type = 8;
            this.isShowDialog = false;
            this.propForm.title = "透析前使用特殊药物";
            this.visibility = true;
            this.propForm.list = [];
            this.propForm.optionList = this.specialMedicineOptions;
            this.propForm.isMultiple = 1;
            this.propForm.selectId = this.dialysisPrescription.special_medicine;
            this.propForm.click_ref = "special_medicine"
            break;
          case "displace_liqui_part":
            this.propForm.type = 9;
            this.isShowDialog = false;
            this.propForm.title = "置换液";
            this.visibility = true;
            this.propForm.list = [];
            this.propForm.optionList = this.displaceLiquiPartOptions;
            this.propForm.isMultiple = 1;
            this.propForm.selectId = this.dialysisPrescription.displace_liqui_part;
            this.propForm.click_ref = "displace_liqui_part"
            break;
          case "blood_access":
            this.propForm.type = 10;
            this.isShowDialog = false;
            this.propForm.title = "血管通路";
            this.visibility = true;
            this.propForm.list = [];
            this.propForm.optionList = this.bloodAccessOptions;
            this.propForm.isMultiple = 1;
            this.propForm.selectId = this.dialysisPrescription.blood_access;
            this.propForm.click_ref = "blood_access"
            break;


        }
      },
      menuCancle: function () {
        this.visibility = false;
        this.isShowDialog = true;
        this.$nextTick(() => {
          if (this.$refs[this.propForm.click_ref] != undefined && this.$refs[this.propForm.click_ref] != null) {
            this.$refs[this.propForm.click_ref].scrollIntoView()
          }
        })
      },
      menuComfirm: function (val) {
        this.visibility = false;
        this.isShowDialog = true;
        this.$nextTick(() => {
          if (this.$refs[this.propForm.click_ref] != undefined && this.$refs[this.propForm.click_ref] != null) {
            this.$refs[this.propForm.click_ref].scrollIntoView()
          }
        })
        switch (val.type) {
          case 1:
            this.dialysisPrescription.mode_id = val.selectId;

            break;
          case 2:
            this.dialysisPrescription.dialyzer = val.selectId;
            break;

          case 3:
            this.dialysisPrescription.perfusion_apparatus = val.selectId;
            break;
          case 4:
            this.dialysisPrescription.replacement_way = val.selectId;
            break;
          case 5:
            this.dialysisPrescription.anticoagulant = val.selectId;

            if (typeof this.anticoagulantsConfit[val.selectId] == "undefined" || this.anticoagulantsConfit[val.selectId] == null) {
              return;
            }
            this.anticoagulant = this.anticoagulantsConfit[val.selectId];
            break;
          case 6:
            this.dialysisPrescription.dialysate_formulation = val.selectId;
            break;
          case 7:
            this.dialysisPrescription.body_fluid = val.selectId;
            break;
          case 8:
            this.dialysisPrescription.special_medicine = val.selectId;
            break;
          case 9:
            this.dialysisPrescription.displace_liqui_part = val.selectId;
            break;
          case 10:
            this.dialysisPrescription.blood_access = val.selectId;
            break;
        }
      },
      GetModeByModeId: function (val) {
        let treatment_mode_name = "";
        let treatment_mode = this.modeOption;


        for (let keys in treatment_mode) {
          if (treatment_mode[keys].id == val) {
            treatment_mode_name = treatment_mode[keys].name;
          }
        }

        return treatment_mode_name;
      },

      GetDialysateFormulationById: function (val) {
        let name = "";
        let dfl = this.dialysateFormulationOptions.length;
        for (let index = 0; index < dfl; index++) {
          if (this.dialysateFormulationOptions[index].id == val) {
            name = this.dialysateFormulationOptions[index].name;
            break;
          }
        }
        return name;
      },
      GetDialyzerById: function (val) {
        let dialyzer_name = "";
        let machines = this.machines_prop;

        for (let i = 0; i < machines.length; i++) {
          if (machines[i].id == val) {
            dialyzer_name = machines[i].name;
          }
        }

        return dialyzer_name;
      },
      GetPerfusionApparatusById: function (val) {
        let perfusion_apparatus_name = "";
        let perfusion_apparatus = this.perfusion_apparatus;
        for (let i = 0; i < perfusion_apparatus.length; i++) {
          if (perfusion_apparatus[i].id == val) {
            perfusion_apparatus_name = perfusion_apparatus[i].name;
          }
        }

        return perfusion_apparatus_name;
      },
      GetReplacementWayById: function (val) {
        let replacement_ways_name = "";
        let replacement_ways = this.replacementWays;
        for (let i = 0; i < replacement_ways.length; i++) {
          if (replacement_ways[i].id == val) {
            replacement_ways_name = replacement_ways[i].name;
          }
        }
        return replacement_ways_name;
      },
      GetAnticoagulantById: function (val) {
        let anticoagulan_name = "";
        let anticoagulant = this.anticoagulantsConfit;
        for (let keys in anticoagulant) {
          if (anticoagulant[keys].id == val) {
            anticoagulan_name = anticoagulant[keys].name;
          }
        }
        return anticoagulan_name;
      },
      commitInfo: function () {
        Toast.loading({forbidClick: true, duration: 0})
        let ParamsQuery = this.dialysisPrescription;
        ParamsQuery["patient"] = this.$route.query.patient_id;
        ParamsQuery["record_date"] = this.record_date;
        commitDialysisPrescription(ParamsQuery).then(response => {
          if (response.data.state == 0) {
            Toast.fail(response.data.msg);
            return false;
          } else {
            Toast.success("提交成功");
            this.$emit("prescription", response.data.data.prescription);
            // for (const key in response.data.data.prescription) {
            //   // this.prescription_prop[key] = response.data.data.prescription[key];
            // }
            this.finish();

          }
        });
      }, commitSolutionInfo: function () {
        // plus.runtime.openURL("http://www.baidu.com");
        Toast.loading({forbidClick: true, duration: 0})
        let ParamsQuery = this.dialysisPrescription;
        ParamsQuery["patient"] = this.$route.query.patient_id;
        ParamsQuery["record_date"] = this.record_date;
        postSolution(ParamsQuery).then(response => {
          if (response.data.state == 0) {
            Toast.fail(response.data.msg);
            return false;
          } else {
            Toast.success("提交成功");
            // for (const key in response.data.data.solution) {
            //   this.solution_prop[key] = response.data.data.solution[key];
            // }
            // for (const key in response.data.data.prescription) {
            //   this.prescription_prop[key] = response.data.data.prescription[key];
            // }
            // console.log(response.data.data.prescription)

            this.$emit("longSolution", response.data.data.solution);
            this.$emit("prescription", response.data.data.prescription);
            this.finish();
          }
        });
      }, finish: function () {
        this.$emit("finish")
      }, close: function () {
        this.$emit("close")
      }, open: function () {
        this.isShowDialog = true;
        this.visibility = false;
        this.$refs.picker.close();
        var dialogTop = document.querySelector('#dialogTop');
        if (dialogTop != null) {
          this.$nextTick(() => {
            dialogTop.scrollTop = 0;
          });
        }
      }, sign: function () {
        let params = {
          patient_id: this.$route.query.patient_id,
          date: this.record_date,
        }
        postSign(params).then(response => {
          if (response.data.state == 0) {
            Toast.fail(response.data.msg);
            return false;
          } else {
            this.isShowDesc = false
            this.isShowDoctorSign = true
            this.dialysisPrescription.prescription_doctor = response.data.data.doctor_id
            for(let i = 0; i < this.operators.length; i++){
              if(this.operators[i].creator == response.data.data.doctor_id){
                console.log(this.operators[i].url)
                this.signUrl = this.operators[i].url
              }
            }
            Toast.success("签名成功");
          }
        });
      },getBodyFluid:function (val) {
        let body_fluid_name = "";
        let body_fluid = this.bodyFluidOptions;
        for (let i = 0; i < body_fluid.length; i++) {
          if (body_fluid[i].id == val) {
            body_fluid_name = body_fluid[i].name;
          }
        }
        return body_fluid_name;
      },getSpecialMedicine:function (val) {
        let special_medicine_name = "";
        let special_medicine = this.specialMedicineOptions;
        for (let i = 0; i < special_medicine.length; i++) {
          if (special_medicine[i].id == val) {
            special_medicine_name = special_medicine[i].name;
          }
        }
        return special_medicine_name;

      },getDisplaceLiquiPart:function (val) {
        let displace_liqui_part_name = "";
        let displace_liqui_part = this.displaceLiquiPartOptions;
        for (let i = 0; i < displace_liqui_part.length; i++) {
          if (displace_liqui_part[i].id == val) {
            displace_liqui_part_name = displace_liqui_part[i].name;
          }
        }
        return displace_liqui_part_name;
      },getBloodAccess:function (val) {
        let blood_access_name = "";
        let blood_access = this.bloodAccessOptions;
        for (let i = 0; i < blood_access.length; i++) {
          if (blood_access[i].id == val) {
            blood_access_name = blood_access[i].name;
          }
        }
        return blood_access_name;

      },menuEmpty:function (val) {
        this.visibility = false
        this.isShowDialog = true
        switch (val.type) {
          case 1:
            this.dialysisPrescription.mode_id = '';

            break;
          case 2:
            this.dialysisPrescription.dialyzer ='';
            break;

          case 3:
            this.dialysisPrescription.perfusion_apparatus = '';
            break;
          case 4:
            this.dialysisPrescription.replacement_way = '';
            break;
          case 5:
            this.anticoagulant = '';
            break;
          case 6:
            this.dialysisPrescription.dialysate_formulation = '';
            break;
          case 7:
            this.dialysisPrescription.body_fluid = '';
            break;
          case 8:
            this.dialysisPrescription.special_medicine = '';
            break;
          case 9:
            this.dialysisPrescription.displace_liqui_part = '';
            break;
          case 10:
            this.dialysisPrescription.blood_access = '';
            break;
        }

      }
    },
    created() {
      if (this.$store.getters.user.user.user_type == 2) {
        this.isShowSign = true;

      }
      this.modeOption = this.$store.getters.treatment_mode;
      delete this.modeOption['0']

      var perfusion_apparatus = getDataConfig('hemodialysis', 'perfusion_apparatus')
      this.perfusion_apparatus = perfusion_apparatus;

      this.anticoagulantsConfit = this.$store.getters.anticoagulants_confit;
      this.bodyFluidOptions = this.$store.getters.body_fluid;
      this.specialMedicineOptions = this.$store.getters.special_medicine
      this.displaceLiquiPartOptions = this.$store.getters.displace_liqui
      this.bloodAccessOptions = this.$store.getters.blood_access

      this.dialysateFormulationOptions = getDataConfig('hemodialysis', 'dialysate_formulation');
      this.replacementWays = getDataConfig('hemodialysis', 'replacement_ways');

      this.patient = this.patient_prop;
      if (this.prescription_prop != null && typeof (this.prescription_prop.id) != 'undefined' && this.prescription_prop.id > 0) {
        for (const key in this.prescription_prop) {
          this.dialysisPrescription[key] = this.prescription_prop[key];
        }
      } else if (this.solution_prop != null && typeof this.solution_prop.id != 'undefined' && this.solution_prop.id) {
        for (const key in this.solution_prop) {
          this.dialysisPrescription[key] = this.solution_prop[key];
        }
      }

      if (this.dialysisPrescription.dialysis_duration_hour == '' || this.dialysisPrescription.dialysis_duration_minute == '') {
        this.timeValue = '';
        this.time = '03:00';
      } else {
        this.timeValue = this.dialysisPrescription.dialysis_duration_hour + "小时" + this.dialysisPrescription.dialysis_duration_minute + "分钟"
        this.time = (this.dialysisPrescription.dialysis_duration_hour > 10 ? this.dialysisPrescription.dialysis_duration_hour : "0" + this.dialysisPrescription.dialysis_duration_hour) + ":" + (this.dialysisPrescription.dialysis_duration_minute > 10 ? this.dialysisPrescription.dialysis_duration_minute : "0" + this.dialysisPrescription.dialysis_duration_minute)

      }


      this.dialyserList = this.machines_prop;
      // this.doctor = this.$store.getters.user.user.user_type;


      var date = this.$route.query && this.$route.query.date;
      date *= 1000;
      var newDate = new Date(date);

      var y = newDate.getFullYear();
      var m = newDate.getMonth() + 1;
      var d = newDate.getDate();
      if (isNaN(y) || isNaN(m) || isNaN(d)) {
        newDate = new Date();
        y = newDate.getFullYear();
        m = newDate.getMonth() + 1;
        d = newDate.getDate();
      }
      this.record_date =
        y + "-" + (m < 10 ? "0" + m : m) + "-" + (d < 10 ? "0" + d : d);
      // this.patient.id = this.patient_prop.id


      if(this.dialysisPrescription.prescription_doctor == ''){
        this.isShowDesc = true
        this.isShowDoctorSign = false
      }else{
        this.isShowDesc = false
        this.isShowDoctorSign = true

        for(let i = 0; i < this.operators.length; i++){
          if(this.operators[i].creator == this.dialysisPrescription.prescription_doctor){
            this.signUrl = this.operators[i].url
          }
        }

      }


    },

    components: {
      CheckBoxSubMenu
    }
  };
</script>

<style style="stylesheet/scss" lang="scss" scoped>
  .DialogContent {
  // padding-bottom:2rem !important;

  .textarea {
  width: 100%;
  height: 2.4rem;
  line-height: 0.6rem;
  color: $pgh-color;
  font-size: 0.28rem;
  padding-left: 0.36rem;
  border: none;
  border-bottom: 1px #e5e5e5 solid;
  }
  }
</style>

