xiaochan 1 year ago
parent
commit
4f0b6ea99e

+ 3 - 4
src/directives/v-title.ts

@@ -14,7 +14,7 @@ const setDivLeftAndTop = (div: HTMLDivElement, evt: MouseEvent) => {
     }
 }
 
-let div = document.createElement('div');
+let div: HTMLDivElement = document.createElement('div');
 div.style.position = 'fixed';
 div.style.padding = '5px';
 div.style.backgroundColor = '#474747';
@@ -26,7 +26,6 @@ div.style.display = 'none';
 div.style.zIndex = '99999';
 document.body.appendChild(div);
 
-
 const VTitle = {
     created(el: HTMLHtmlElement, binding: any, _vnode: any, _prevVnode: any) {
 
@@ -36,11 +35,11 @@ const VTitle = {
             div.style.display = 'block';
             div.innerHTML = binding.value;
             setDivLeftAndTop(div, evt);
-        })
+        });
 
         el.addEventListener('mouseleave', (evt) => {
             div.style.display = 'none';
-        })
+        });
     },
     unmounted() {
         div.style.display = 'none';

+ 5 - 0
src/utils/date.js

@@ -256,6 +256,11 @@ export const currentAndAFewDaysAgo = async (day = 7, format = 'YYYY-MM-DD') => {
     return [moment(start).format(format), now]
 }
 
+/**
+ * @deprecated 请使用 moment-utils 中的 elDateRangeAddTime 方法
+ * @param val 时间数组
+ * @return {{start: string, end: string}}
+ */
 export const dateRangeAddTime = (val) => {
     if (XEUtils.isEmpty(val)) {
         return {

+ 52 - 0
src/utils/moment-utils.ts

@@ -0,0 +1,52 @@
+import XEUtils from "xe-utils";
+// @ts-ignore
+import moment from 'moment'
+
+export enum DATEFORMAT {
+    DATE = 'YYYY-MM-DD',
+    DATE_TIME = 'YYYY-MM-DD HH:mm:ss',
+    TIME = 'HH:mm:ss'
+}
+
+interface dateRange {
+    start: string,
+    end: string
+}
+
+const elDateRange = (val: string[] | Date[], isAddTime: boolean): dateRange => {
+    if (XEUtils.isEmpty(val)) {
+        return {
+            start: '',
+            end: ''
+        }
+    }
+
+    if (!XEUtils.isArray(val)) {
+        return {
+            start: '',
+            end: ''
+        }
+    }
+
+    if (val.length === 2) {
+        let start = moment(val[0]).format(DATEFORMAT.DATE)
+        let end = moment(val[1]).format(DATEFORMAT.DATE)
+        return {
+            start: start + isAddTime ? ' 00:00:00' : '',
+            end: end + isAddTime ? ' 23:59:59' : ''
+        }
+    }
+
+    return {
+        start: '',
+        end: ''
+    }
+}
+
+export const elDateRangeNotTime = (val: string[] | Date[]): dateRange => {
+    return elDateRange(val, false)
+}
+
+export const elDateRangeAddTime = (val: string[] | Date[]): dateRange => {
+    return elDateRange(val, true)
+}

+ 12 - 10
src/utils/xiaochan-element-plus.ts

@@ -1,5 +1,17 @@
 import {ElMessage} from "element-plus";
 
+function message(msg: string, type: string, isHtml: boolean) {
+    return ElMessage({
+        type: type,
+        // @ts-ignore
+        duration: 2800,
+        dangerouslyUseHTMLString: isHtml,
+        message: msg,
+        showClose: true,
+        grouping: true,
+    })
+}
+
 export const xcMessage = {
     success: (msg: string, isHtml = false) => {
         return message(msg, 'success', isHtml)
@@ -18,13 +30,3 @@ export const xcMessage = {
     }
 }
 
-function message(msg: string, type: string, isHtml: boolean) {
-    return ElMessage({
-        type: type,
-        duration: 2800,
-        dangerouslyUseHTMLString: isHtml,
-        message: msg,
-        showClose: true,
-        grouping: true,
-    })
-}

+ 55 - 46
src/views/data-modify/YzActOrderModify.vue

@@ -1,23 +1,28 @@
 <template>
   <page-layer>
     <template #header>
-      <el-input size="small" placeholder="在此输入住院号" @keyup.enter="query" v-model.trim="inpatientNo" clearable prefix-icon="Search" style="width: 300px">
+      <el-input size="small" placeholder="在此输入住院号" @keyup.enter="query" v-model.trim="inpatientNo" clearable
+                prefix-icon="Search" style="width: 300px">
         <template #prepend>住院号</template>
       </el-input>
-      <el-input size="small" placeholder="在此输入医嘱号" oninput="value=value.replace(/[^\d]/g,'')" v-model.trim="actOrderNo" clearable prefix-icon="Search" style="width: 300px">
+      <el-input size="small" placeholder="在此输入医嘱号" oninput="value=value.replace(/[^\d]/g,'')"
+                v-model.trim="actOrderNo" clearable prefix-icon="Search" style="width: 300px">
         <template #prepend>医嘱号</template>
       </el-input>
       <el-button type="primary" icon="Search" @click="query">查询</el-button>
       <el-button type="info" @click="chakan" icon="View">查看申请状态</el-button>
     </template>
     <template #aside>
-      <el-table :height="tableHeight" stripe highlight-current-row :data="cptTable.slice((currentPage - 1) * pageSize, currentPage * pageSize)" style="text-align: center">
+      <el-table :height="tableHeight" stripe highlight-current-row
+                :data="cptTable.slice((currentPage - 1) * pageSize, currentPage * pageSize)" style="text-align: center">
         <el-table-column label="医嘱号" prop="actOrderNo"></el-table-column>
         <el-table-column label="医嘱名称" show-overflow-tooltip prop="orderName"></el-table-column>
-        <el-table-column label="操作">
+        <el-table-column label="操作" width="100">
           <template #default="scope">
-            <el-button text @click="tianjia(scope.row)" type="primary">添加</el-button>
-            <el-button text @click="danGeShenQingClick(scope.row)" type="primary">申请</el-button>
+            <el-button-group>
+              <el-button text @click="tianjia(scope.row)" type="primary">添加</el-button>
+              <el-button text @click="danGeShenQingClick(scope.row)" type="primary">申请</el-button>
+            </el-button-group>
           </template>
         </el-table-column>
       </el-table>
@@ -25,7 +30,6 @@
           @current-change="handleCurrentChange"
           :page-size="pageSize"
           :current-page="currentPage"
-          background
           small
           style="background-color: white"
           layout="prev, pager, next"
@@ -63,9 +67,11 @@
       <!-- 这里是查看审核状态的 -->
       <el-dialog v-model="dialogFormVisible" title="审核状态" :width="900">
         住院号:
-        <el-input style="width: 120px" clearable @blur="shenHeInpatientNo = $event.target.value.trim()" v-model="shenHeInpatientNo"></el-input>
+        <el-input style="width: 120px" clearable @blur="shenHeInpatientNo = $event.target.value.trim()"
+                  v-model="shenHeInpatientNo"></el-input>
         医嘱号:
-        <el-input oninput="value=value.replace(/[^\d]/g,'')" style="width: 120px" @blur="shenHeActOrderNo = $event.target.value.trim()" v-model="shenHeActOrderNo"></el-input>
+        <el-input oninput="value=value.replace(/[^\d]/g,'')" style="width: 120px"
+                  @blur="shenHeActOrderNo = $event.target.value.trim()" v-model="shenHeActOrderNo"></el-input>
         <el-divider direction="vertical"></el-divider>
         <el-button @click="queryZhuangTaiClick" type="primary">查询</el-button>
         <el-table :data="dialogTable" :height="tableHeight - 300">
@@ -161,14 +167,16 @@
           <el-row>
             <el-col :span="12">
               开始时间:
-              <el-date-picker type="datetime" placeholder="修改开始时间" v-model="danGeShenQingDrawerData.newStartTime"></el-date-picker>
+              <el-date-picker type="datetime" placeholder="修改开始时间"
+                              v-model="danGeShenQingDrawerData.newStartTime"></el-date-picker>
             </el-col>
             <el-col :span="12">
               结束时间:
-              <el-date-picker type="datetime" placeholder="修改结束时间" v-model="danGeShenQingDrawerData.newEndTime"></el-date-picker>
+              <el-date-picker type="datetime" placeholder="修改结束时间"
+                              v-model="danGeShenQingDrawerData.newEndTime"></el-date-picker>
             </el-col>
             <el-col :span="24">
-              <br />
+              <br/>
               <el-input
                   type="textarea"
                   placeholder="申请备注"
@@ -179,7 +187,7 @@
               ></el-input>
             </el-col>
           </el-row>
-          <br />
+          <br/>
           <el-button type="primary" @click="danGeShenQingSubmit">提交</el-button>
         </div>
       </el-drawer>
@@ -188,13 +196,13 @@
 </template>
 
 <script>
-import { reactive, ref } from '@vue/reactivity'
-import { ElMessage, ElMessageBox } from 'element-plus'
+import {reactive, ref} from '@vue/reactivity'
+import {ElMessage, ElMessageBox} from 'element-plus'
 import store from '@/store'
-import { yZauditStatus } from '@/utils/computed'
-import { yzModifyApply, yzQuery, chaKanZhuangTai, danGeShenQing } from '@/api/yz-data-mod/yz-xiugaiy'
-import { formatDatetime } from '@/utils/date'
-import { computed } from 'vue'
+import {yZauditStatus} from '@/utils/computed'
+import {yzModifyApply, yzQuery, chaKanZhuangTai, danGeShenQing} from '@/api/yz-data-mod/yz-xiugaiy'
+import {formatDatetime} from '@/utils/date'
+import {computed} from 'vue'
 import router from '@/router'
 import PageLayer from "@/layout/PageLayer";
 
@@ -254,27 +262,28 @@ export default {
           inputPattern: /\S/,
           inputErrorMessage: '必填项不能为空,且不得超过100字 (∩•̀ω•́)⊃-*⋆',
         })
-          .then(({ value }) => {
-            tianJiaShenHe.value.proposeRemark = value
-            if (value.length > 100) {
-              ElMessage({
-                type: ' warning',
-                title: '错误',
-                message: '审核备注不超过100字',
-                showClose: true,
-              })
-            } else {
-              tianJiaShenHe.value.startTime = formatDatetime(tianJiaShenHe.value.startTime)
-              tianJiaShenHe.value.endTime = formatDatetime(tianJiaShenHe.value.endTime)
-              tianJiaShenHe.value.proposer = store.state.user.info.code
-              yzModifyApply(tianJiaShenHe.value).then((res) => {
-                actOrderNos.value = []
-                tianJiaShenHe.value = {}
-                tianJiaShenHe.value.list = []
-              })
-            }
-          })
-          .catch(() => {})
+            .then(({value}) => {
+              tianJiaShenHe.value.proposeRemark = value
+              if (value.length > 100) {
+                ElMessage({
+                  type: ' warning',
+                  title: '错误',
+                  message: '审核备注不超过100字',
+                  showClose: true,
+                })
+              } else {
+                tianJiaShenHe.value.startTime = formatDatetime(tianJiaShenHe.value.startTime)
+                tianJiaShenHe.value.endTime = formatDatetime(tianJiaShenHe.value.endTime)
+                tianJiaShenHe.value.proposer = store.state.user.info.code
+                yzModifyApply(tianJiaShenHe.value).then((res) => {
+                  actOrderNos.value = []
+                  tianJiaShenHe.value = {}
+                  tianJiaShenHe.value.list = []
+                })
+              }
+            })
+            .catch(() => {
+            })
       } else {
         ElMessage({
           type: 'warning',
@@ -395,12 +404,12 @@ export default {
       queryTerm.actOrderNo = actOrderNo.value
       queryTerm.inpatientNo = inpatientNo.value
       yzQuery(queryTerm)
-        .then((res) => {
-          dataTable.value = res
-        })
-        .catch(() => {
-          dataTable.value = []
-        })
+          .then((res) => {
+            dataTable.value = res
+          })
+          .catch(() => {
+            dataTable.value = []
+          })
     }
     /**
      * 单个修改医嘱

+ 0 - 4
src/views/settings/Test.vue

@@ -6,8 +6,4 @@
 import EmrTestV2 from "@/components/zhu-yuan-yi-sheng/emr/auxiliary-tools/EmrTestV2.vue";
 import {onMounted} from "vue";
 
-
-onMounted(() => {
-})
-
 </script>