<template>
  <div class="layout_container">
    <el-form inline>
      <el-form-item>
        <xc-date-picker style="width: 180px"
                        type="daterange"
                        clearable
                        v-model="dateRange"/>
      </el-form-item>
      <el-form-item>
        <el-switch v-model="shiFouFaYao"
                   :active-value="true"
                   :inactive-value="false"
                   active-color="#13ce66"
                   active-text="已发药"
                   inactive-color="#ff4949"
                   inactive-text="未发药"/>
      </el-form-item>
      <el-form-item>
        <el-button @click="dianJiChaXunYiZhu">查询</el-button>
      </el-form-item>
    </el-form>
    <div class="layout_main layout_el-table ">
      <el-dialog v-model="xiangQing.dialog" title="草药医嘱详情">
        <el-table :close-on-click-modal="false"
                  :data="xiangQing.data"
                  ref="tableRef"
                  :height="getWindowSize.h / 1.5"
                  highlight-current-row
                  stripe>
          <el-table-column label="选择" type="selection"/>
          <el-table-column label="编码" prop="chargeCode"></el-table-column>
          <el-table-column label="名称" prop="chargeCodeName"></el-table-column>
          <el-table-column label="药房" prop="groupNoName"></el-table-column>
          <el-table-column label="数量" prop="quantity"></el-table-column>
          <el-table-column label="单价" prop="unitPrice"></el-table-column>
          <el-table-column label="说明" prop="instruction"></el-table-column>
          <el-table-column label="包装规格" prop="serial">
            <template #default="scope">
              <span v-if="scope.row.serial === '01'">小包装</span>
              <span v-else-if="scope.row.serial === '99'">小包装</span>
            </template>
          </el-table-column>
        </el-table>
        <template #footer>
          <el-button type="danger" @click="xiangQing.dialog = false">关闭</el-button>
          <el-button @click="copyClick" type="success">复制选中</el-button>
          <el-button @click="copyAllClick" type="primary">复制全部</el-button>
        </template>
      </el-dialog>
      <xc-table
          :local-data="caoYaoShuJu"
          @rowClick="caoYaoYiZhuXiangQing"
      >
        <el-table-column label="名称" prop="orderName"></el-table-column>
        <el-table-column label="开单时间" prop="inputDate" show-overflow-tooltip></el-table-column>
        <el-table-column label="医生" prop="doctorCodeName"></el-table-column>
        <el-table-column label="状态" prop="statusFlag">
          <template #default="scope">
            {{ getHerbsStatusFlag(scope.row.statusFlag) }}
          </template>
        </el-table-column>
        <el-table-column label="处方总额" prop="zongJia"></el-table-column>
        <el-table-column label="剂数" prop="quantity"></el-table-column>
        <el-table-column label="单剂金额" prop="orderJe"></el-table-column>
        <el-table-column label="医嘱号" prop="orderNo"></el-table-column>
        <el-table-column label="执行科室" prop="execDeptName"></el-table-column>
        <el-table-column label="操作" width="90">
          <template #default="scope">
            <el-button-group>
              <el-button type="primary" @click.stop="caoYaoYiZhuXiangQing(scope.row)" icon="View" title="查看详情"/>
            </el-button-group>
          </template>
        </el-table-column>
      </xc-table>

    </div>
  </div>
</template>

<script setup name='EmrHerbs'>
import XcDatePicker from "@/components/xiao-chan/date-picker/XcDatePicker.vue";
import {ref} from "vue";
import {getDateRangeFormatDate} from "@/utils/date";
import {huoQuCaoYaoShuJu, huoQuChaoYaoMingXi} from "@/api/zhu-yuan-yi-sheng/cao-yao-yi-zhu";
import {getWindowSize} from "@/utils/window-size";
import {getHerbsStatusFlag} from "@/views/hospitalization/zhu-yuan-yi-sheng/cao-yao-yi-zhu/cao-yao";
import {listIsBlank} from "@/utils/blank-utils";
import {xcMessage} from "@/utils/xiaochan-element-plus";
import {
  emrCopyFunc
} from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/emr-init";
import XcTable from "@/components/xiao-chan/xc-table/XcTable.vue";

const props = defineProps({
  patNo: String,
  times: Number
})

const emits = defineEmits(['close'])

const dateRange = ref([])
const caoYaoShuJu = ref([])
const shiFouFaYao = ref(true)

const xiangQing = ref({
  dialog: false,
  data: [],
  yizhu: {},
})


const dianJiChaXunYiZhu = () => {
  let dateS = getDateRangeFormatDate(dateRange.value)
  let data = {
    startTime: dateS.startTime,
    endTime: dateS.endTime,
    patNo: props.patNo,
    times: props.times,
  }
  huoQuCaoYaoShuJu(data).then((res) => {
    caoYaoShuJu.value = res
  })
}

const caoYaoYiZhuXiangQing = (row) => {

  huoQuChaoYaoMingXi(row.orderNo).then((res) => {
    xiangQing.value.dialog = true
    xiangQing.value.data = res
    xiangQing.value.yizhu = row
  })
}

const tableRef = ref(null)

const copyFunc = (data) => {
  let str = ''
  let v = xiangQing.value.yizhu
  let length = data.length
  data.forEach((item, index) => {
    str += item.chargeCodeName + item.quantity + 'g'
    if (length !== index + 1) {
      str += '  '
    }
  })
  str += '。'
  str += v.cyJssm + '，' + '日' + v.cyMtjs + '剂' + '，分' + v.cyFfcs + '次' + ',' + v.cyFysmName + '。'
  emrCopyFunc(str)
  emits('close')
}

const copyClick = () => {
  let temp = tableRef.value.getSelectionRows()
  if (listIsBlank(temp)) {
    xcMessage.error('请选择数据。')
  } else {
    copyFunc(temp)
  }
}


const copyAllClick = () => {
  copyFunc(xiangQing.value.data)
}

onMounted(() => {
  dianJiChaXunYiZhu()
})

</script>

<style scoped lang="scss">

</style>
