Просмотр исходного кода

Merge branch 'master' of http://119.23.210.103:3000/wy/zdqy_firm_former

tianxinyu 9 месяцев назад
Родитель
Сommit
fb420db410

+ 50 - 0
src/api/platform/sample/sample.js

@@ -0,0 +1,50 @@
+import request from '@/utils/request'
+import { BUSINESS_BASE_URL } from '@/api/baseUrl'
+
+/**
+ * 根据条件查询lis信息
+ * @param {*} params
+ */
+export function getSampleList (params) {
+  return request({
+    // url: BUSINESS_BASE_URL() + '/SampleProcess/getSampleList',
+    url: '/jyxt/SampleProcess/getSampleList',
+    method: 'post',
+    data: params
+  })
+}
+/**
+ * 保存
+ * @param {*} params
+ */
+export function SaveSample (params) {
+  return request({
+    url: BUSINESS_BASE_URL() + '/SampleProcess/SaveSample',
+    method: 'post',
+    data: params
+  })
+}
+
+/**
+ * 弃置
+ * @param {*} params
+ */
+export function DestorySample (params) {
+  return request({
+    url: BUSINESS_BASE_URL() + '/SampleProcess/DestorySample',
+    method: 'post',
+    data: params
+  })
+}
+
+/**
+ * 获取配置
+ * @param {*} params
+ */
+export function getGroupConfig (params) {
+  return request({
+    url: BUSINESS_BASE_URL() + '/SampleProcess/getGroupConfig',
+    method: 'get',
+    data: params
+  })
+}

+ 13 - 5
src/utils/request.js

@@ -79,6 +79,7 @@ let requestCount = 0
  */
 service.interceptors.request.use(
   async (config) => {
+    console.log('config===>', config)
     if (!config.baseURL) {
       config.baseURL = BASE_API(parseInt(requestCount / 5, 10))
       if (MULTIPLE_DOMAIN) {
@@ -89,6 +90,13 @@ service.interceptors.request.use(
     }
     if (config.gateway) {
       config.baseURL = BASE_GATEWAY_API()
+      console.log(BASE_GATEWAY_API());
+
+    }
+    if (config.url == '/jyxt/SampleProcess/getSampleList') {
+      console.log('aaaaa');
+
+      config.baseURL = ''
     }
 
     config.isLoading =
@@ -269,12 +277,12 @@ service.interceptors.response.use(
         // 有错误消息
         errorMsg = Utils.isNotEmpty(dataAxios.cause)
           ? I18n.t('error.messageCause', {
-              message,
-              cause: dataAxios.cause
-            })
+            message,
+            cause: dataAxios.cause
+          })
           : I18n.t('error.message', {
-              message
-            })
+            message
+          })
       } else if (Utils.isNotEmpty(cause)) {
         // 只有错误原因
         errorMsg = I18n.t('error.cause', {

+ 5 - 2
src/views/business/attendance/attendanceDetails.vue

@@ -88,7 +88,7 @@
           <el-table-column
             key="banCiMing"
             prop="banCiMing"
-            label="班次名"
+            label="班次名"
             width="100"
           />
           <el-table-column
@@ -386,6 +386,9 @@ export default {
         searchParam['Q^ri_qi_^DL'] = this.daterRange[0]
         searchParam['Q^ri_qi_^DG'] = this.daterRange[1]
       }
+      if (this.searchXinMing) {
+        searchParam['Q^yong_hu_id_^S'] = this.searchXinMing
+      }
       return ActionUtils.formatParams(searchParam, this.pagination, this.sorts)
     },
     // 分页/排序处理
@@ -435,7 +438,7 @@ export default {
         },
         {
           field_name: 'banCiMing',
-          label: '班次名',
+          label: '班次名',
           name: 'banCiMing'
         },
         {

+ 1 - 1
src/views/business/attendance/attendanceOverview.vue

@@ -199,7 +199,7 @@ export default {
           }
           const queryParams =
           {
-                'pageNo': 1,
+                'pageNo': this.pagination.page,
                 'limit': 15,
                 'param': {
                     'buMen': searchParam['Q^bu_men_^SL'],

+ 1 - 1
src/views/business/attendance/attendanceStatistics.vue

@@ -336,7 +336,7 @@ export default {
       }
       const queryParams =
       {
-         'pageNo': 1,
+         'pageNo': this.pagination.page,
          'limit': 15,
          'param': {
                     'buMen': searchParam['Q^bu_men_^SL'],

+ 90 - 41
src/views/business/attendance/makeUpEdit.vue

@@ -186,7 +186,7 @@ export default {
       this.dialogVisible = val
     }
   },
-  mounted() {
+  async mounted() {
     this.init()
   },
   methods: {
@@ -194,48 +194,70 @@ export default {
       const isEmpty = Object.keys(this.params).length === 0
       // 查阅状态初始化
       if (!isEmpty) {
-        //先校验该班次是否被申请过
-        const { first, second } = this.$store.getters.level || {}
-        const { userId } = this.$store.getters || {}
-        const riqi = this.params.bu_ka_ri_qi_ || this.params.buKaRiQi
-        const banci = this.params.bu_ka_ban_ci_ || this.params.buKaBanCi
-        const response = await this.$common.request('query', {
-            key: 'getUserReissueInfo',
-            params: [riqi, userId, second || first]
-        })
-        let shiFouShenQin = false
-        response.variables.data.forEach((el)=>{
-          if(el.bu_ka_ri_qi_ === riqi && el.bu_ka_ban_ci_ === banci){
-            shiFouShenQin = true
-          }
-        })
-        if(shiFouShenQin){
-          this.$message.warning('该异常班次已申请!')
-          return
-        }
-        let shiFouyichang = false
-        //校验该班次是否异常班次
-        const kaoQinId = this.params.kao_qin_id_ || this.params.kaoQinId|| ''
-        const res = await getAttendanceDetail({ id : kaoQinId})
-        if(res.data){
-          if(banci.includes('上班')){
-            if(res.data.zhuangTai1 == '正常'){
-              shiFouyichang = true
+        if(!this.readonly){
+           //先校验该班次是否被申请过
+          const { first, second } = this.$store.getters.level || {}
+          const { userId } = this.$store.getters || {}
+          const riqi = this.params.bu_ka_ri_qi_ || this.params.buKaRiQi
+          const banci = this.params.bu_ka_ban_ci_ || this.params.buKaBanCi
+          const response = await this.$common.request('query', {
+              key: 'getUserReissueInfo',
+              params: [riqi, userId, second || first]
+          })
+          let shiFouShenQin = false
+          response.variables.data.forEach((el)=>{
+            if(el.bu_ka_ri_qi_ === riqi && el.bu_ka_ban_ci_ === banci){
+              shiFouShenQin = true
             }
-          }else if(banci.includes('下班')) {
-            if(res.data.zhuangTai2 == '正常'){
-              shiFouyichang = true
+          })
+          if(shiFouShenQin){
+            this.$message.warning('该异常班次已申请!')
+            this.formData = {
+                id: '',
+                buKaRiQi: '',
+                buKaBanCi: '',
+                buKaShiJian: '',
+                buKaShiYou: '',
+                shenHeRen: '',
+                shenHeShiJian: '',
+                kaoQinId: '',
+                fuJian: '',
+                paiBanId: '',
+                paiBanJiLuId: ''
             }
+            this.$nextTick(() => {
+                if (this.$refs.makeupForm) {
+                    this.$refs.makeupForm.clearValidate();
+                }
+            });
+            return
           }
-        }
-        if(shiFouyichang){
-          this.$message.warning('该班次打卡状态已无异常!')
-          return
+          let shiFouyichang = false
+          //校验该班次是否异常班次
+          const kaoQinId = this.params.kao_qin_id_ || this.params.kaoQinId|| ''
+          const res = await getAttendanceDetail({ id : kaoQinId})
+          if(res.data){
+            if(banci.includes('上班')){
+              if(res.data.zhuangTai1 == '正常'){
+                shiFouyichang = true
+              }
+            }else if(banci.includes('下班')) {
+              if(res.data.zhuangTai2 == '正常'){
+                shiFouyichang = true
+              }
+            }
+          }
+          if(shiFouyichang){
+            this.$message.warning('该班次打卡状态已无异常!')
+            return
+          }
+
         }
         this.buKaBanCiOptions = [
           {
             label: this.params.bu_ka_ban_ci_ || this.params.buKaBanCi,
-            value: this.params.bu_ka_ban_ci_ || this.params.buKaBanCi
+            value: this.params.bu_ka_ban_ci_ || this.params.buKaBanCi,
+            id: this.params.kao_qin_id_ || this.params.kaoQinId
           }
         ]
         this.formData = {
@@ -254,10 +276,11 @@ export default {
       }
     },
     handleOpened() {
-      this.init()
+       this.init()
+      /*
       if (this.params.bu_ka_ri_qi_) {
         this.handleBuKaRiQiChange(this.params.bu_ka_ri_qi_)
-      }
+      }*/
     },
     /**
      * 异常考勤查询参数
@@ -268,8 +291,9 @@ export default {
         : {}
       const { first, second } = this.$store.getters.level || {}
       paramjson['Q^di_dian_^S'] = second || first
-      paramjson['Q^ri_qi_^S'] = this.formData.buKaRiQi
+      paramjson['Q^ri_qi_^S'] = this.formData.buKaRiQi || this.params.bu_ka_ri_qi_ || this.params.buKaRiQi
       paramjson['Q^yong_hu_id_^S'] = this.$store.getters.userId
+      paramjson['Q^ban_ci_ming_^NE'] = '休息' // 异常班次过滤掉休息
       return ActionUtils.formatParams(paramjson, this.pagination, this.sorts)
     },
     // 查询补卡日期下的异常数据
@@ -321,7 +345,7 @@ export default {
             )
           })
           if (buKaBanCiArr.length === 0) {
-            self.$message.warning('该日期异常班次已申请!')
+            self.$message.warning('该日期异常班次已全部申请!')
             return
           }
           self.buKaBanCiOptions = buKaBanCiArr
@@ -399,12 +423,18 @@ export default {
           const updateData = self.yichangdata.filter(
             (obj) => obj.id === updateId
           )
+          let paiBanId = ''
+          if(updateData.length > 0){
+            paiBanId = updateData[0].paiBanId
+          }else{
+            paiBanId = this.formData.paiBanId
+          }
           // 获得补卡审批人
           // const sql = `select config_ FROM t_schedule WHERE id_ = '${updateData[0].paiBanId}'`
           self.$common
             .request('query', {
               key: 'getScheduleConfigById',
-              params: [updateData[0].paiBanId]
+              params: [paiBanId]
             })
             .then((res) => {
               const str = res.variables.data[0].config_ || ''
@@ -500,6 +530,25 @@ export default {
       this.closeDialog()
     },
     closeDialog() {
+      //重置表单数据
+      this.formData = {
+                    id: '',
+                    buKaRiQi: '',
+                    buKaBanCi: '',
+                    buKaShiJian: '',
+                    buKaShiYou: '',
+                    shenHeRen: '',
+                    shenHeShiJian: '',
+                    kaoQinId: '',
+                    fuJian: '',
+                    paiBanId: '',
+                    paiBanJiLuId: ''
+      }
+      this.$nextTick(() => {
+        if (this.$refs.makeupForm) {
+              this.$refs.makeupForm.clearValidate();
+          }
+      });
       this.$emit('close', false)
       this.$emit('closeBuKaDialog', 'buka')
     }

+ 2 - 2
src/views/business/attendance/personAttendanceDetails.vue

@@ -77,7 +77,7 @@
           <el-table-column
             key="banCiMing"
             prop="banCiMing"
-            label="班次名"
+            label="班次名"
             width="95"
           />
           <el-table-column
@@ -396,7 +396,7 @@ export default {
         },
         {
           field_name: 'banCiMing',
-          label: '班次名',
+          label: '班次名',
           name: 'banCiMing'
         },
         {

+ 432 - 0
src/views/component/sampleDisposalRecords/sampleDisposalRecordsbc.vue

@@ -0,0 +1,432 @@
+<template>
+  <div>
+    <el-row type="flex">
+      <el-col :span="4">
+        <el-form-item label="专业组">
+          <el-select
+            v-model="formSearch.group"
+            placeholder="请选择"
+            value-key="GROUPCODE"
+            :disabled="isdisabled"
+            clearable
+          >
+            <el-option
+              v-for="item in configList"
+              :key="item.GROUPCODE"
+              :value="item"
+              :label="item.GROUPNAME"
+            />
+          </el-select>
+        </el-form-item>
+      </el-col>
+      <el-col :span="4">
+        <el-form-item label="条码号">
+          <el-input
+            v-model="formSearch.tiaomahao"
+            placeholder="请输入"
+            clearable
+          >
+          </el-input>
+        </el-form-item>
+      </el-col>
+      <el-col :span="4">
+        <el-form-item label="姓名">
+          <el-input
+            v-model="formSearch.xingming"
+            placeholder="请输入"
+            clearable
+          >
+          </el-input>
+        </el-form-item>
+      </el-col>
+      <el-col :span="4">
+        <el-form-item label="查询日期">
+          <el-date-picker
+            :disabled="isdisabled"
+            v-model="formSearch.chaxunrqi"
+            type="date"
+            value-format="yyyy-MM-dd"
+            format="yyyy-MM-dd"
+            placeholder="请选择"
+            :clearable="true"
+          />
+        </el-form-item>
+      </el-col>
+      <el-col :span="7"> </el-col>
+      <el-col :span="1">
+        <el-button type="primary" size="mini" plain @click="searchClick">
+          查询
+        </el-button>
+      </el-col>
+    </el-row>
+
+    <el-row type="flex">
+      <el-col>
+        <el-table
+          row-key="INSPECTION_ID"
+          ref="listable"
+          :data="lisDataFilter"
+          @select-all="handleSelectAll"
+          @selection-change="handleSelectionChange"
+        >
+          <el-table-column
+            :reserve-selection="true"
+            type="selection"
+            width="55"
+          />
+          <el-table-column :reserve-selection="true" label="专业组">
+            <template
+              ><span>{{ formSearch.group.GROUPNAME }}</span></template
+            >
+          </el-table-column>
+          <el-table-column
+            :reserve-selection="true"
+            label="条码"
+            prop="INSPECTION_ID"
+          >
+          </el-table-column>
+          <el-table-column
+            :reserve-selection="true"
+            label="姓名"
+            prop="PATIENT_NAME"
+          >
+          </el-table-column>
+          <el-table-column
+            :reserve-selection="true"
+            label="医嘱"
+            prop="TEST_ORDER_NAME"
+          >
+          </el-table-column>
+          <el-table-column
+            :reserve-selection="true"
+            label="保存时间"
+            prop="SAVE_DATE"
+          >
+          </el-table-column>
+        </el-table>
+        <el-pagination
+          layout="total,sizes,prev, pager, next,jumper"
+          :current-page="requestPage.pageNo"
+          :page-size="requestPage.limit"
+          :page-sizes="[10, 15, 20, 30, 50, 100]"
+          :total="lisData.length"
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+        />
+      </el-col>
+    </el-row>
+    <el-row type="flex" v-if="false">
+      <el-col>
+        <el-table ref="sumtable" :data="sumData">
+          <el-table-column type="selection" width="55" />
+          <el-table-column label="主键" prop="id" />
+          <el-table-column label="外键" prop="parentId" />
+          <el-table-column label="状态" prop="shiFouGuoShen" />
+          <el-table-column label="专业组" prop="qiTa" />
+          <el-table-column label="保存时间" prop="baoCunShiJian" />
+          <el-table-column label="保存部门" prop="bianZhiBuMen" />
+          <el-table-column label="保存人" prop="bianZhiRen" />
+          <el-table-column label="保存数量" prop="heJi" />
+          <el-table-column label="保存期" prop="quanXie" />
+          <el-table-column label="截至日期" prop="naoJiYe" />
+        </el-table>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+<script>
+import { getGroupConfig, getSampleList } from '@/api/platform/sample/sample'
+export default {
+  props: {
+    formData: {
+      type: Object,
+      default: () => {}
+    },
+    readonly: {
+      type: Boolean,
+      default: false
+    },
+    params: {
+      type: Object,
+      default: () => {}
+    }
+  },
+  data() {
+    return {
+      formSearch: {
+        group: {},
+        tiaomahao: '',
+        xingming: '',
+        chaxunrqi: this.getFormattedDate(new Date())
+      },
+      configList: [],
+      lisData: [],
+      sumData: [],
+      listable: '',
+      requestPage: {
+        limit: 10,
+        pageNo: 1
+      },
+      multipleSelection: [],
+      isRead: false,
+      isdisabled: false
+    }
+  },
+  created() {
+    // 初始化时加载所有需要的数据
+    this.getConfigList()
+  },
+  computed: {
+    lisDataFilter() {
+      console.log(this.lisData)
+      return this.lisData.slice(
+        (this.requestPage.pageNo - 1) * this.requestPage.limit,
+        (this.requestPage.pageNo - 1) * this.requestPage.limit +
+          this.requestPage.limit
+      )
+    }
+  },
+  watch: {
+    'formData.jyhypjlb': {
+      handler(value, old) {
+        if (value && value.length) {
+          this.sumData = value
+
+          if (value[0].id) {
+            //修改
+            this.isdisabled = true
+            this.formSearch.group = this.configList.find((item) => {
+              return (item.GROUPNAME = value[0].qiTa)
+            })
+            this.formSearch.chaxunrqi = value[0].baoCunShiJian
+          }
+        }
+      },
+      deep: true,
+      immediate: true
+    },
+    sumData: {
+      handler(value, old) {
+        this.$emit('change-data', 'jyhypjlb', value)
+      },
+      deep: true,
+      immediate: true
+    },
+    isdisabled: {
+      handler(value, old) {
+        if (value) {
+          this.searchClick()
+        }
+      }
+    }
+  },
+  mounted() {},
+  methods: {
+    //获取配置信息
+    getConfigList() {
+      this.configList = getSampleList()
+      // this.configList = [
+      //   {
+      //     SAVEDAY: '7',
+      //     GROUPNAME: '茂源生化',
+      //     GROUPCODE: 'G002',
+      //     SORTID: '001'
+      //   },
+      //   {
+      //     SAVEDAY: '14',
+      //     GROUPNAME: '茂源免疫',
+      //     GROUPCODE: 'G004',
+      //     SORTID: '002'
+      //   },
+      //   {
+      //     SAVEDAY: '7',
+      //     GROUPNAME: '茂源临检',
+      //     GROUPCODE: 'G032',
+      //     SORTID: '003'
+      //   }
+      // ]
+    },
+    //获取lis信息
+    async searchClick() {
+      if (!this.formSearch.group) {
+        this.$message({
+          message: '请选择专业组',
+          type: 'warning'
+        })
+        return
+      }
+      if (!this.formSearch.chaxunrqi) {
+        this.$message({
+          message: '请选择查询日期',
+          type: 'warning'
+        })
+        return
+      }
+      this.requestPage.limit = 10
+      this.requestPage.pageNo = 1
+
+      this.lisData = await getSampleList([
+        {
+          STATE: '1',
+          SAVE_DATE: this.formSearch.chaxunrqi.replace(/-/g, ''),
+          DESTROY_DATE: '',
+          GROUPCODE: this.formSearch.group.GROUPCODE,
+          INSPECTION_ID: this.formSearch.tiaomahao,
+          PATIENT_NAME: this.formSearch.xingming,
+          TEST_ORDER_NAME: ''
+        }
+      ])
+      // this.lisData = [
+      //   {
+      //     TEST_ORDER_NAME: '血常规11',
+      //     INSPECTION_ID: '20250720G03640621',
+      //     STATE: '1',
+      //     PATIENT_NAME: '赵春香11',
+      //     SAVE_DATE: '20250720',
+      //     DESTROY_DATE: '20250727'
+      //   },
+      //   {
+      //     TEST_ORDER_NAME: '血常规22',
+      //     INSPECTION_ID: '20250720G03640622',
+      //     STATE: '1',
+      //     PATIENT_NAME: '赵春香22',
+      //     SAVE_DATE: '20250720',
+      //     DESTROY_DATE: '20250727'
+      //   },
+      //   {
+      //     TEST_ORDER_NAME: '血常规33',
+      //     INSPECTION_ID: '20250720G03640623',
+      //     STATE: '1',
+      //     PATIENT_NAME: '赵春香33',
+      //     SAVE_DATE: '20250720',
+      //     DESTROY_DATE: '20250727'
+      //   },
+      //   {
+      //     TEST_ORDER_NAME: '血常规33',
+      //     INSPECTION_ID: '20250720G03640624',
+      //     STATE: '1',
+      //     PATIENT_NAME: '赵春香33',
+      //     SAVE_DATE: '20250720',
+      //     DESTROY_DATE: '20250727'
+      //   },
+      //   {
+      //     TEST_ORDER_NAME: '血常规33',
+      //     INSPECTION_ID: '20250720G03640625',
+      //     STATE: '1',
+      //     PATIENT_NAME: '赵春香33',
+      //     SAVE_DATE: '20250720',
+      //     DESTROY_DATE: '20250727'
+      //   },
+      //   {
+      //     TEST_ORDER_NAME: '血常规33',
+      //     INSPECTION_ID: '20250720G03640626',
+      //     STATE: '1',
+      //     PATIENT_NAME: '赵春香33',
+      //     SAVE_DATE: '20250720',
+      //     DESTROY_DATE: '20250727'
+      //   },
+      //   {
+      //     TEST_ORDER_NAME: '血常规33',
+      //     INSPECTION_ID: '20250720G03640627',
+      //     STATE: '1',
+      //     PATIENT_NAME: '赵春香33',
+      //     SAVE_DATE: '20250720',
+      //     DESTROY_DATE: '20250727'
+      //   },
+      //   {
+      //     TEST_ORDER_NAME: '血常规33',
+      //     INSPECTION_ID: '20250720G03640628',
+      //     STATE: '1',
+      //     PATIENT_NAME: '赵春香33',
+      //     SAVE_DATE: '20250720',
+      //     DESTROY_DATE: '20250727'
+      //   },
+      //   {
+      //     TEST_ORDER_NAME: '血常规33',
+      //     INSPECTION_ID: '20250720G03640629',
+      //     STATE: '1',
+      //     PATIENT_NAME: '赵春香33',
+      //     SAVE_DATE: '20250720',
+      //     DESTROY_DATE: '20250727'
+      //   },
+      //   {
+      //     TEST_ORDER_NAME: '血常规33',
+      //     INSPECTION_ID: '20250720G03640630',
+      //     STATE: '1',
+      //     PATIENT_NAME: '赵春香33',
+      //     SAVE_DATE: '20250720',
+      //     DESTROY_DATE: '20250727'
+      //   },
+      //   {
+      //     TEST_ORDER_NAME: '血常规33',
+      //     INSPECTION_ID: '20250720G03640631',
+      //     STATE: '1',
+      //     PATIENT_NAME: '赵春香33',
+      //     SAVE_DATE: '20250720',
+      //     DESTROY_DATE: '20250727'
+      //   },
+      //   {
+      //     TEST_ORDER_NAME: '血常规33',
+      //     INSPECTION_ID: '20250720G03640632',
+      //     STATE: '1',
+      //     PATIENT_NAME: '赵春香33',
+      //     SAVE_DATE: '20250720',
+      //     DESTROY_DATE: '20250727'
+      //   }
+      // ]
+      this.sumData[0].heJi = this.multipleSelection.length
+      this.sumData[0].qiTa = this.formSearch.group.GROUPNAME
+      this.sumData[0].baoCunShiJian = this.formSearch.chaxunrqi
+      this.sumData[0].quanXie = this.formSearch.group.SAVEDAY
+      this.sumData[0].naoJiYe = this.addNumDay(
+        this.formSearch.chaxunrqi,
+        Number(this.formSearch.group.SAVEDAY || 0)
+      )
+    },
+
+    handleSelectionChange(val) {
+      this.multipleSelection = val
+      // console.log(this.multipleSelection)
+      this.sumData[0].heJi = this.multipleSelection.length
+    },
+    //全选事件
+    handleSelectAll(selection) {
+      this.lisData.forEach((row) => {
+        const select = this.$refs.listable.selection.find((select) => {
+          return select.INSPECTION_ID === row.INSPECTION_ID
+        })
+        if (!select) {
+          this.$refs.listable.toggleRowSelection(row, true)
+        }
+      })
+    },
+    // 当前页码改变
+    handleCurrentChange(val) {
+      this.requestPage.pageNo = val
+    },
+
+    // 页码选择器改变
+    handleSizeChange(val) {
+      this.requestPage.limit = val
+      this.requestPage.pageNo = 1
+    },
+
+    getFormattedDate() {
+      const date = new Date()
+      const year = date.getFullYear()
+      const month = String(date.getMonth() + 1).padStart(2, '0')
+      const day = String(date.getDate()).padStart(2, '0')
+      return `${year}-${month}-${day}`
+    },
+    addNumDay(dateStr, num) {
+      const date = new Date(dateStr)
+      date.setDate(date.getDate() + num)
+      const year = date.getFullYear()
+      const month = String(date.getMonth() + 1).padStart(2, '0')
+      const day = String(date.getDate()).padStart(2, '0')
+      return `${year}-${month}-${day}`
+    }
+  }
+}
+</script>
+<style lang="scss" scoped></style>

+ 370 - 0
src/views/component/sampleDisposalRecords/sampleDisposalRecordsqz.vue

@@ -0,0 +1,370 @@
+<template>
+  <div>
+    <el-row type="flex">
+      <el-col :span="4">
+        <el-form-item label="专业组">
+          <el-select
+            v-model="formSearch.group"
+            placeholder="请选择"
+            value-key="GROUPCODE"
+            :disabled="isdisabled"
+            clearable
+          >
+            <el-option
+              v-for="item in configList"
+              :key="item.GROUPCODE"
+              :value="item"
+              :label="item.GROUPNAME"
+            />
+          </el-select>
+        </el-form-item>
+      </el-col>
+      <el-col :span="4">
+        <el-form-item label="条码号">
+          <el-input
+            v-model="formSearch.tiaomahao"
+            placeholder="请输入"
+            clearable
+          >
+          </el-input>
+        </el-form-item>
+      </el-col>
+      <el-col :span="4">
+        <el-form-item label="姓名">
+          <el-input
+            v-model="formSearch.xingming"
+            placeholder="请输入"
+            clearable
+          >
+          </el-input>
+        </el-form-item>
+      </el-col>
+      <el-col :span="4">
+        <el-form-item label="查询日期">
+          <el-date-picker
+            :disabled="isdisabled"
+            v-model="formSearch.chaxunrqi"
+            type="date"
+            value-format="yyyy-MM-dd"
+            format="yyyy-MM-dd"
+            placeholder="请选择"
+            :clearable="true"
+          />
+        </el-form-item>
+      </el-col>
+      <el-col :span="7"> </el-col>
+      <el-col :span="1">
+        <el-button type="primary" size="mini" plain @click="searchClick">
+          查询
+        </el-button>
+      </el-col>
+    </el-row>
+
+    <el-row type="flex">
+      <el-col>
+        <el-table
+          row-key="INSPECTION_ID"
+          ref="listable"
+          :data="lisDataFilter"
+          @select-all="handleSelectAll"
+          @selection-change="handleSelectionChange"
+        >
+          <el-table-column
+            :reserve-selection="true"
+            type="selection"
+            width="55"
+          />
+          <el-table-column :reserve-selection="true" label="专业组">
+            <template
+              ><span>{{ formSearch.group.GROUPNAME }}</span></template
+            >
+          </el-table-column>
+          <el-table-column
+            :reserve-selection="true"
+            label="条码"
+            prop="INSPECTION_ID"
+          >
+          </el-table-column>
+          <el-table-column
+            :reserve-selection="true"
+            label="姓名"
+            prop="PATIENT_NAME"
+          >
+          </el-table-column>
+          <el-table-column
+            :reserve-selection="true"
+            label="医嘱"
+            prop="TEST_ORDER_NAME"
+          >
+          </el-table-column>
+          <el-table-column
+            :reserve-selection="true"
+            label="保存时间"
+            prop="SAVE_DATE"
+          >
+          </el-table-column>
+        </el-table>
+        <el-pagination
+          layout="total,sizes,prev, pager, next,jumper"
+          :current-page="requestPage.pageNo"
+          :page-size="requestPage.limit"
+          :page-sizes="[10, 15, 20, 30, 50, 100]"
+          :total="lisData.length"
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+        />
+      </el-col>
+    </el-row>
+    <el-row type="flex" v-if="false">
+      <el-col>
+        <el-table ref="sumtable" :data="sumData">
+          <el-table-column type="selection" width="55" />
+          <el-table-column label="主键" prop="id" />
+          <el-table-column label="外键" prop="parentId" />
+          <el-table-column label="状态" prop="shiFouGuoShen" />
+          <el-table-column label="专业组" prop="qiTa" />
+          <el-table-column label="保存时间" prop="baoCunShiJian" />
+          <el-table-column label="保存部门" prop="bianZhiBuMen" />
+          <el-table-column label="保存人" prop="bianZhiRen" />
+          <el-table-column label="保存数量" prop="heJi" />
+          <el-table-column label="保存期" prop="quanXie" />
+          <el-table-column label="截至日期" prop="naoJiYe" />
+          <el-table-column label="弃置时间" prop="chuLiShiJian" />
+          <el-table-column label="弃置数量" prop="chuLiShuLiang" />
+          <el-table-column label="处理人" prop="chuLiZhe" />
+        </el-table>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import { getGroupConfig, getSampleList } from '@/api/platform/sample/sample'
+export default {
+  props: {
+    formData: {
+      type: Object,
+      default: () => {}
+    },
+    readonly: {
+      type: Boolean,
+      default: false
+    },
+    params: {
+      type: Object,
+      default: () => {}
+    }
+  },
+  data() {
+    console.log(this.formData, this.readonly, this.params)
+    const { bizKey = '' } = this.params
+    return {
+      bizKey,
+      formSearch: {
+        group: {},
+        tiaomahao: '',
+        xingming: '',
+        chaxunrqi: this.getFormattedDate(new Date())
+      },
+      configList: [],
+      lisData: [],
+      sumData: [],
+      listable: '',
+      requestPage: {
+        limit: 10,
+        pageNo: 1
+      },
+      multipleSelection: [],
+      isRead: false,
+      isdisabled: false,
+      yiqizhishuliang: 0
+    }
+  },
+  created() {
+    // 初始化时加载所有需要的数据
+    this.getConfigList()
+  },
+  computed: {
+    lisDataFilter() {
+      return this.lisData.slice(
+        (this.requestPage.pageNo - 1) * this.requestPage.limit,
+        (this.requestPage.pageNo - 1) * this.requestPage.limit +
+          this.requestPage.limit
+      )
+    }
+  },
+  watch: {
+    'formData.jyhypjlb': {
+      handler(value, old) {
+        if (value && value.length) {
+          this.sumData = value
+          if (value[0].id) {
+            this.isdisabled = true
+            //弃置
+            this.formSearch.group = this.configList.find((item) => {
+              return (item.GROUPNAME = value[0].qiTa)
+            })
+            this.formSearch.chaxunrqi = value[0].naoJiYe
+          }
+        }
+      },
+      deep: true,
+      immediate: true
+    },
+    sumData: {
+      handler(value, old) {
+        this.$emit('change-data', 'jyhypjlb', value)
+      },
+      deep: true,
+      immediate: true
+    },
+    isdisabled: {
+      handler(value, old) {
+        if (value) {
+          this.searchClick()
+          this.yiqizhishuliang = Number(this.sumData[0].chuLiShuLiang || 0)
+        }
+      }
+    }
+  },
+  mounted() {},
+  methods: {
+    //获取配置信息
+    getConfigList() {
+      // this.configList = getSampleList()
+      this.configList = [
+        {
+          SAVEDAY: '7',
+          GROUPNAME: '茂源生化',
+          GROUPCODE: 'G002',
+          SORTID: '001'
+        },
+        {
+          SAVEDAY: '14',
+          GROUPNAME: '茂源免疫',
+          GROUPCODE: 'G004',
+          SORTID: '002'
+        },
+        {
+          SAVEDAY: '7',
+          GROUPNAME: '茂源临检',
+          GROUPCODE: 'G032',
+          SORTID: '003'
+        }
+      ]
+    },
+    //获取lis信息
+    async searchClick() {
+      if (!this.formSearch.group) {
+        this.$message({
+          message: '请选择专业组',
+          type: 'warning'
+        })
+        return
+      }
+      if (!this.formSearch.chaxunrqi) {
+        this.$message({
+          message: '请选择查询日期',
+          type: 'warning'
+        })
+        return
+      }
+      this.requestPage.limit = 10
+      this.requestPage.pageNo = 1
+      // this.lisData = await getSampleList([
+      //   {
+      //     STATE: '1',
+      //     SAVE_DATE: this.formSearch.chaxunrqi.replace(/-/g, ''),
+      //     DESTROY_DATE: '',
+      //     GROUPCODE: this.formSearch.group.GROUPCODE,
+      //     INSPECTION_ID: this.formSearch.tiaomahao,
+      //     PATIENT_NAME: this.formSearch.xingming,
+      //     TEST_ORDER_NAME: ''
+      //   }
+      // ])
+      this.lisData = [
+        {
+          TEST_ORDER_NAME: '血常规11',
+          INSPECTION_ID: '20250720G03640621',
+          STATE: '1',
+          PATIENT_NAME: '赵春香11',
+          SAVE_DATE: '20250720',
+          DESTROY_DATE: '20250727'
+        },
+        {
+          TEST_ORDER_NAME: '血常规22',
+          INSPECTION_ID: '20250720G03640622',
+          STATE: '1',
+          PATIENT_NAME: '赵春香22',
+          SAVE_DATE: '20250720',
+          DESTROY_DATE: '20250727'
+        },
+        {
+          TEST_ORDER_NAME: '血常规33',
+          INSPECTION_ID: '20250720G03640623',
+          STATE: '1',
+          PATIENT_NAME: '赵春香33',
+          SAVE_DATE: '20250720',
+          DESTROY_DATE: '20250727'
+        }
+      ]
+
+      // if (this.bizKey !== '查阅') {
+      //   this.sumData[0].chuLiShuLiang =
+      //     Number(this.yiqizhishuliang) +
+      //     Number(this.multipleSelection.length || 0)
+      // } else {
+      //   this.sumData[0].chuLiShuLiang = Number(this.yiqizhishuliang)
+      // }
+    },
+    handleSelectionChange(val) {
+      this.multipleSelection = val
+      // console.log(this.multipleSelection)
+      this.sumData[0].chuLiShuLiang =
+        this.yiqizhishuliang + this.multipleSelection.length
+
+      this.sumData[0].shiFouGuoShen =
+        Number(this.sumData[0].heJi || 0) >
+        Number(this.sumData[0].chuLiShuLiang || 0)
+          ? '待弃置'
+          : '已弃置'
+    },
+    //全选事件
+    handleSelectAll(selection) {
+      console.log(selection)
+
+      if (selection) {
+        this.$refs.listable.clearSelection()
+      } else {
+        this.lisData.forEach((row) => {
+          const select = this.$refs.listable.selection.find((select) => {
+            return select.INSPECTION_ID === row.INSPECTION_ID
+          })
+          if (!select) {
+            this.$refs.listable.toggleRowSelection(row, true)
+          }
+        })
+      }
+    },
+    // 当前页码改变
+    handleCurrentChange(val) {
+      this.requestPage.pageNo = val
+    },
+
+    // 页码选择器改变
+    handleSizeChange(val) {
+      this.requestPage.limit = val
+      this.requestPage.pageNo = 1
+    },
+
+    getFormattedDate() {
+      const date = new Date()
+      const year = date.getFullYear()
+      const month = String(date.getMonth() + 1).padStart(2, '0')
+      const day = String(date.getDate()).padStart(2, '0')
+      return `${year}-${month}-${day}`
+    }
+  }
+}
+</script>
+<style lang="scss" scoped></style>

+ 2 - 1
src/views/system/homepage/components/banciDialog.vue

@@ -201,7 +201,8 @@ export default {
           bu_ka_ban_ci_: attendanceInfo.ban_ci_bie_ming_ + '-' + str,
           bu_ka_shi_jian_: buKaShiJian,
           pai_ban_id_: attendanceInfo.pai_ban_id_,
-          pai_ban_ji_lu_id_: attendanceInfo.pai_ban_ji_lu_id_
+          pai_ban_ji_lu_id_: attendanceInfo.pai_ban_ji_lu_id_,
+          kao_qin_id_:attendanceInfo.id_
         }
       }
       this.$emit('open', 'buka', params)

+ 27 - 5
src/views/system/jbdScan/goods/guanshenzhuangtai.vue

@@ -18,7 +18,10 @@
                 <div class="line">
                   <span
                     class="plan"
-                    :style="`width:${activeIndex * (100 / (stepList.length - 1)) - 100 / (stepList.length - 1) / 2}%`"
+                    :style="`width:${
+                      activeIndex * (100 / (stepList.length - 1)) -
+                      100 / (stepList.length - 1) / 2
+                    }%`"
                   />
                 </div>
                 <!-- 每步部分底部文字描述 -->
@@ -30,8 +33,8 @@
                     i.stepIndex < activeIndex || activeIndex == 100
                       ? 'step-active'
                       : i.stepIndex == activeIndex
-                        ? 'current-active'
-                        : ''
+                      ? 'current-active'
+                      : ''
                   "
                 >
                   <span class="step-num">
@@ -523,6 +526,7 @@ export default {
       //             select COUNT(*) as num from t_gsbgb where guan_lian_ji_hua_ = '${data.id_}' union all
       //             select COUNT(*) as num from t_glpsjhb where zong_wai_jian_ = '${data.id_}'`
       // const sql1 = `select COUNT(*) as num from t_glpsjhb where zong_wai_jian_ = '${data.id_}' and shi_fou_guo_shen_ ='已完成'`
+      // const sql1 = `select COUNT(*) as num from t_gsfzrbgtxb where zong_wai_jian_ = '${data.id_}' and shi_fou_guo_shen_ ='已完成'`
       await Promise.all([
         this.$common.request('query', {
           key: 'mgmtRevProgStat2',
@@ -531,13 +535,31 @@ export default {
         this.$common.request('query', {
           key: 'mgmtRevProgStat3',
           params: [data.id_]
+        }),
+        this.$common.request('query', {
+          key: 'mgmtRevProgStat6',
+          params: [data.id_]
         })
-      ]).then(([res, res1]) => {
+      ]).then(([res, res1, res2]) => {
         const panduan = res.variables.data
         const panduan1 = res1.variables.data
+        const panduan2 = res2.variables.data
         let jishu = 1
         aa: for (let i = 0; i < panduan.length; i++) {
-          if (panduan[i].num != 0) {
+          if (
+            i === 0 &&
+            this.obj[0].shi_fou_guo_shen_ === '已完成' &&
+            panduan[0].num == 0
+          ) {
+            jishu += 1
+          } else if (
+            i === 0 &&
+            panduan[0].num != 0 &&
+            panduan[1].num == 0 &&
+            panduan[0].num == panduan2[0].num
+          ) {
+            jishu += 2
+          } else if (panduan[i].num != 0) {
             jishu += 1
           } else {
             break aa