瀏覽代碼

结算单上传修改的备注。

xiaochan 3 年之前
父節點
當前提交
b2fa981e1e

+ 7 - 3
src/App.vue

@@ -5,9 +5,9 @@
 </template>
 
 <script>
-import { defineComponent } from 'vue'
+import {defineComponent} from 'vue'
 import locale from 'element-plus/lib/locale/lang/zh-cn'
-import { useStore } from 'vuex'
+import {useStore} from 'vuex'
 
 export default defineComponent({
   name: 'App',
@@ -34,7 +34,7 @@ export default defineComponent({
 function getWindowSize() {
   const w = window.innerWidth
   const h = window.innerHeight - 96
-  return { w, h }
+  return {w, h}
 }
 </script>
 
@@ -73,6 +73,10 @@ function getWindowSize() {
   background-color: #a7d3ff !important;
 }
 
+.el-input.is-disabled .el-input__inner {
+  color: blue;
+}
+
 .eltable .el-checkbox__inner {
   width: 16px;
   height: 16px;

+ 42 - 0
src/components/si-sheet-upload/BeiZhu.vue

@@ -0,0 +1,42 @@
+<template>
+  <el-dialog v-model="beiZhuDialog" title="备注">
+    <el-input type="textarea" v-model="beiZhu"></el-input>
+    <el-divider></el-divider>
+    <el-button type="success" @click="baoCunClick">保存</el-button>
+  </el-dialog>
+</template>
+
+<script>
+import {ref} from "vue";
+import {setlModifyReq} from "../../api/medical-insurance/si-setl-upload";
+
+export default {
+  name: "BeiZhu",
+  emits: ['baoCunHouGuanBi'],
+  props: {
+    data: {}
+  },
+  setup(props, {emit}) {
+    const beiZhuDialog = ref(false)
+    const beiZhu = ref('')
+
+    const baoCunClick = () => {
+      props.data.reqRemark = beiZhu.value
+      setlModifyReq(props.data).then((res) => {
+        beiZhuDialog.value = false
+        emit('baoCunHouGuanBi')
+        beiZhu.value = ''
+      })
+    }
+    return {
+      beiZhuDialog,
+      baoCunClick,
+      beiZhu,
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 21 - 26
src/components/si-sheet-upload/JieSuanDanXiangQing.vue

@@ -6,6 +6,7 @@
           <el-button type="info" @click="shenHeClick">审核信息</el-button>
           <el-button type="primary" size="small" @click="shuJuDuiBi">数据对比</el-button>
           <el-button type="success" size="small" @click="baoCunXiuGai">保存修改</el-button>
+          <bei-zhu :data="baoCunXiuGaiData" ref="beiZhuRef" @baoCunHouGuanBi="baoCunHouGuanBi"></bei-zhu>
         </template>
         <el-descriptions-item label="姓名">
           {{ setlinfo.name }}
@@ -312,7 +313,7 @@
 </template>
 
 <script>
-import {watch, ref} from "vue";
+import {watch, ref, unref} from "vue";
 import store from '@/store'
 import {cptSex} from "../../utils/computed";
 import {searchYbDiag} from "../../api/yibao/dictionary";
@@ -321,17 +322,17 @@ import {clone} from "../../utils/clone";
 import {ElMessage, ElMessageBox} from "element-plus";
 import {getRenYuan} from "../../api/public-api";
 import {setlModifyReq, setlUploadAudit, shouShuBianMa, upldSetlList} from "../../api/medical-insurance/si-setl-upload";
-import {unref} from "@vue/reactivity";
 import {formatDatetime} from "../../utils/date";
 import {listIsBlank, listNotBlank, stringIsBlank} from "../../utils/blank-utils";
 import ShuJuDuiBi from "./ShuJuDuiBi.vue"
 import {getsiDiagTypeName, maZuiFangShis, maZuiName, qieKouName, qks, shenHeQuanXian} from "./jieSuanDanXiuGai";
 import ShenHeXinXi from "./ShenHeXinXi.vue";
 import KeShiFeiYong from "./KeShiFeiYong.vue";
+import BeiZhu from "./BeiZhu.vue";
 
 export default {
   name: "JieSuanDanXiangQing",
-  components: {KeShiFeiYong, ShenHeXinXi, ShuJuDuiBi},
+  components: {BeiZhu, KeShiFeiYong, ShenHeXinXi, ShuJuDuiBi},
   props: {
     data: {}
   },
@@ -602,6 +603,13 @@ export default {
       oprninfo.value.splice(index, 1)
       ElMessage.success("删除成功。")
     }
+
+    const baoCunXiuGaiData = ref({})
+    const beiZhuRef = ref(null)
+    const baoCunHouGuanBi = () => {
+      huanZheXinXiDialog.value = false
+      ctx.emit('shua-xin')
+    }
     const baoCunXiuGai = () => {
       if (setlinfo.value.operation !== '0' && listIsBlank(oprninfo.value)) {
         return ElMessage.error("除非手术以外都需要添加手术。")
@@ -616,29 +624,13 @@ export default {
       } else if (diseinfo.value.length > 27) {
         return ElMessage.error("诊断超过27个。")
       }
-      ElMessageBox.prompt('请填写申请备注', '提示', {
-        type: "warning",
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        inputPattern: /\S/,
-        inputErrorMessage: '审核备注不能为空且不得超过 100 字 (∩•̀ω•́)⊃-*⋆',
-      }).then(({value}) => {
-        if (value.length > 100) {
-          return ElMessage.error("审核卑职超过 100 字。")
-        }
-        let data = setlinfo.value
-        data['opIdCode'] = code
-        data['opIdName'] = name
-        data['reqRemark'] = value
-        data.batjBa4 = oprninfo.value
-        data.ybZyDisDiag = diseinfo.value
-        setlModifyReq(data).then((res) => {
-          huanZheXinXiDialog.value = false
-          ctx.emit('shua-xin')
-        })
-      }).catch((e) => {
-      })
-
+      let data = setlinfo.value
+      data['opIdCode'] = code
+      data['opIdName'] = name
+      data.batjBa4 = oprninfo.value
+      data.ybZyDisDiag = diseinfo.value
+      baoCunXiuGaiData.value = data
+      beiZhuRef.value.beiZhuDialog = true
     }
 
     /*手术结束*/
@@ -855,6 +847,9 @@ export default {
       shenHeQuanXian,
       feiYongDrawer,
       keShiFeiYongRef,
+      baoCunXiuGaiData,
+      beiZhuRef,
+      baoCunHouGuanBi,
     }
   }
 }

+ 1 - 1
src/components/si-sheet-upload/XianZhiShiJian.vue

@@ -11,7 +11,7 @@
         <el-input disabled v-model="info.opIdName" style="width: 120px;"></el-input>
       </el-form-item>
       <el-form-item label="设置时间" prop="opDate">
-        <el-input disabled v-model="info.opDate" style="width: 120px;"></el-input>
+        <el-date-picker type="datetime" placeholder="开始时间" v-model="info.opDate" disabled></el-date-picker>
       </el-form-item>
     </el-form>
     <el-button type="primary" @click="baoCunXianZhiShiJian">保存</el-button>

+ 16 - 1
src/components/si-sheet-upload/jieSuanDanXiuGai.js

@@ -5,7 +5,7 @@ import store from '@/store';
 const getRoles = store.state.user.info.roles
 
 export function shenHeQuanXian() {
-    return getRoles.indexOf(1) > -1 || getRoles.indexOf(8) > -1
+    return getRoles.indexOf(8) > -1
 }
 
 export function getsiDiagTypeName(val) {
@@ -23,6 +23,21 @@ export function getsiDiagTypeName(val) {
     }
 }
 
+export function auditName(val) {
+    switch (val.auditFlag) {
+        case 0:
+            return `<span style="color: #909399">${val.psnName}</span>`
+        case 1:
+            return `<span style="color: #67C23A">${val.psnName}</span>`
+        case 2:
+            return `<span style="color: #F56C6C">${val.psnName}</span>`
+        case 3:
+            return `<span style="color: #E6A23C">${val.psnName}</span>`
+        default:
+            return `${val.psnName}`
+    }
+}
+
 export const qks = ref([
     {code: '0/0', name: '0/0'},
     {code: '1/3', name: 'Ⅰ/丙'},

+ 0 - 3
src/utils/request.js

@@ -60,9 +60,6 @@ service.interceptors.response.use(
                 duration: 2000,
                 showClose: true,
             })
-            if (response.data.code === 1005) {
-                return response.data.data
-            }
         } else if (response.data.code > 2000 && response.data.code < 3000) {
             ElMessageBox.alert(response.data.message, '提示', {
                 type: 'error',

+ 38 - 12
src/views/medical-insurance/allpatient/SetSheetUpload.vue

@@ -3,18 +3,21 @@
     <el-header style="margin-top: 10px">
       <el-button @click="queryTermDialog = true" type="primary" icon="el-icon-search">检索条件</el-button>
       <el-divider direction="vertical"></el-divider>
-      <el-button icon="el-icon-upload" type="success" @click="upldAllList" :disabled="queryTerm.list.length === 0">
+      <el-button icon="el-icon-upload" type="success" @click="upldAllList" :disabled="queryTerm.list.length === 0"
+                 v-if="shenHeQuanXian()">
         选中上传
       </el-button>
-      <el-button icon="el-icon-upload" type="warning" @click="upldSelections" :disabled="queryTerm.list.length === 0">
+      <el-button icon="el-icon-upload" type="warning" @click="upldSelections" :disabled="queryTerm.list.length === 0"
+                 v-if="shenHeQuanXian()">
         全部上传
       </el-button>
-      <el-button icon="el-icon-download" type="success" @click="exportExcel" :disabled="queryTerm.list.length === 0">导出
+      <el-button icon="el-icon-download" type="success" @click="exportExcel" :disabled="queryTerm.list.length === 0"
+                 v-if="shenHeQuanXian()">导出
         Execl
       </el-button>
       <el-button type="primary" icon="el-icon-refresh-left" @click="shuaXin">刷新数据
       </el-button>
-      <el-button type="success" @click="xianZhiShiJianClick">设置限制时间</el-button>
+      <el-button type="success" @click="xianZhiShiJianClick" v-if="shenHeQuanXian()">设置限制时间</el-button>
       <xian-zhi-shi-jian ref="xianZhiShiJian"></xian-zhi-shi-jian>
     </el-header>
     <el-main>
@@ -23,7 +26,9 @@
         <el-table-column fixed type="selection" width="35"></el-table-column>
         <el-table-column fixed prop="psnName" label="姓名">
           <template #default="scope">
-            <el-button type="text" @click="jieSuanDanXinXi(scope.row)">{{ scope.row.psnName }}</el-button>
+            <el-button type="text" @click="jieSuanDanXinXi(scope.row)">
+              <span v-html="auditName(scope.row)"></span>
+            </el-button>
           </template>
         </el-table-column>
         <el-table-column prop="outDeptName" label="出院科室">
@@ -202,6 +207,19 @@
               </el-select>
             </el-form-item>
           </el-col>
+          <el-col :span="spanWidth">
+            <el-form-item label="申报类型" prop="auditFlag">
+              <el-select v-model="queryTerm.decTypes" filterable clearable multiple
+                         :collapse-tags="zheDieXianShi"
+              >
+                <el-option v-for="item in decTypes" :key="item.code" :value="item.code" :label="item.name">
+                  <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
+                  <el-divider direction="vertical"></el-divider>
+                  <span>{{ item.name }}</span>
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
         </el-row>
       </el-form>
       <el-button type="primary" size="small" icon="el-icon-search" @click="query">查询</el-button>
@@ -221,8 +239,7 @@
     <el-dialog v-model="xiuGaiYiShen" title="管床医生">
       <el-select v-model="guanChuangYiShen.yiShenCode" filterable clearable remote
                  reserve-keyword
-                 :remote-method="remoteMethod"
-      >
+                 :remote-method="remoteMethod">
         <el-option v-for="item in referPhysicians" :key="item.code" :value="item.code" :label="item.name">
           <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
           <el-divider direction="vertical"></el-divider>
@@ -253,15 +270,16 @@ import {
   upldSetlListTimes,
   xiuGaiGuanChuangYiShen
 } from "../../../api/medical-insurance/si-setl-upload"
-import {clrOptinsData, getPsnType} from "../../../data"
+import {clrOptinsData, decTypes, getPsnType} from "../../../data"
 import {getDept} from "../../../api/yibao/xiang-mu-lu-ru"
 import JieSuanDanXiangQing from "../../../components/si-sheet-upload/JieSuanDanXiangQing.vue";
 import {ElMessage, ElMessageBox} from "element-plus";
 import Progress from '../../../components/progress/Index.vue'
 import {downloadExcel} from "../../../utils/excel";
 import {getRenYuan} from "../../../api/public-api";
-import {auditFlags, shenHeQuanXian} from "../../../components/si-sheet-upload/jieSuanDanXiuGai";
+import {auditFlags, auditName, shenHeQuanXian} from "../../../components/si-sheet-upload/jieSuanDanXiuGai";
 import XianZhiShiJian from "../../../components/si-sheet-upload/XianZhiShiJian.vue";
+import {stringNotBlank} from "../../../utils/blank-utils";
 
 export default {
   name: "SetSheetUpload",
@@ -271,13 +289,14 @@ export default {
       startTime: '',
       endTime: '',
       patNo: '',
-      referPhysician: '',
+      referPhysician: shenHeQuanXian() ? '' : store.state.user.info.code,
       insutype: [],
       dateRange: [clockinShortcuts[0].value[0], clockinShortcuts[0].value[1]],
       outDept: [],
       clrType: '21',
       medType: [],
       clrOptins: [],
+      decTypes: [],
       flag: 0,
       auditFlag: 4,
       psnType: '',
@@ -495,9 +514,11 @@ export default {
     })
     const xiuGaiYiShen = ref(false)
     const huoQuXiuGaiYiShen = (code, name, patNo, times) => {
+      if (stringNotBlank(code)) {
+        referPhysicians.value = [{code: code, name: name}]
+        guanChuangYiShen.value.yiShenCode = code
+      }
       xiuGaiYiShen.value = true
-      referPhysicians.value = [{code: code, name: name}]
-      guanChuangYiShen.value.yiShenCode = code
       guanChuangYiShen.value.patNo = patNo
       guanChuangYiShen.value.times = times
     }
@@ -509,6 +530,9 @@ export default {
     }
 
     onMounted(() => {
+      if (!shenHeQuanXian()) {
+        referPhysicians.value = [{code: store.state.user.info.code, name: store.state.user.info.name}]
+      }
       getInsutypes().then((res) => {
         insutypes.value = res
         getClrTypes().then((res2) => {
@@ -559,6 +583,8 @@ export default {
       huoQuXiuGaiYiShen,
       xiuGaiGuanChuangYiShenClick,
       xiuGaiYiShen,
+      auditName,
+      decTypes,
       flags: ref([
         {code: 0, name: '全部'},
         {code: 1, name: '未传'},