Prechádzať zdrojové kódy

对接五心院登记接口

unknown 1 mesiac pred
rodič
commit
ecd77f938c

+ 30 - 30
src/api/social-work/index.ts

@@ -436,17 +436,17 @@ export interface FacilityEquipmentFormData {
 
 // 创建设施设备检查记录
 export const facilityEquipmentCreate = async (data: FacilityEquipmentFormData) => {
-  return await request.post({ url: '/elderly-facility-equipment/create', data })
+  return await request.post({ url: '/elderly-facility-equipment-check/create', data })
 }
 
 // 更新设施设备检查记录
 export const facilityEquipmentUpdate = async (data: FacilityEquipmentFormData) => {
-  return await request.put({ url: '/elderly-facility-equipment/update', data })
+  return await request.put({ url: '/elderly-facility-equipment-check/update', data })
 }
 
 // 根据ID获取设施设备检查记录
 export const facilityEquipmentGetById = async (id: number) => {
-  return await request.get({ url: '/elderly-facility-equipment/get?id=' + id })
+  return await request.get({ url: '/elderly-facility-equipment-check/get?id=' + id })
 }
 
 // 获取长者的设施设备检查记录
@@ -456,12 +456,12 @@ export const facilityEquipmentGetByElderId = async (elderId: number) => {
 
 // 分页查询设施设备检查记录
 export const facilityEquipmentPage = async (params: any) => {
-  return await request.get({ url: '/elderly-facility-equipment/page', params })
+  return await request.get({ url: '/elderly-facility-equipment-check/page', params })
 }
 
 // 删除设施设备检查记录
 export const facilityEquipmentDelete = async (id: number) => {
-  return await request.delete({ url: `/elderly-facility-equipment/delete?id=${id}` })
+  return await request.delete({ url: `/elderly-facility-equipment-check/delete?id=${id}` })
 }
 
 // 导出设施设备检查记录
@@ -489,17 +489,17 @@ export interface CleaningRecordFormData {
 
 // 创建日常清洁消毒记录
 export const cleaningRecordCreate = async (data: CleaningRecordFormData) => {
-  return await request.post({ url: '/elderly-cleaning-record/create', data })
+  return await request.post({ url: '/elderly-daily-clean-disinfect-record/create', data })
 }
 
 // 更新日常清洁消毒记录
 export const cleaningRecordUpdate = async (data: CleaningRecordFormData) => {
-  return await request.put({ url: '/elderly-cleaning-record/update', data })
+  return await request.put({ url: '/elderly-daily-clean-disinfect-record/update', data })
 }
 
 // 根据ID获取日常清洁消毒记录
 export const cleaningRecordGetById = async (id: number) => {
-  return await request.get({ url: '/elderly-cleaning-record/get?id=' + id })
+  return await request.get({ url: '/elderly-daily-clean-disinfect-record/get?id=' + id })
 }
 
 // 获取长者的日常清洁消毒记录
@@ -509,12 +509,12 @@ export const cleaningRecordGetByElderId = async (elderId: number) => {
 
 // 分页查询日常清洁消毒记录
 export const cleaningRecordPage = async (params: any) => {
-  return await request.get({ url: '/elderly-cleaning-record/page', params })
+  return await request.get({ url: '/elderly-daily-clean-disinfect-record/page', params })
 }
 
 // 删除日常清洁消毒记录
 export const cleaningRecordDelete = async (id: number) => {
-  return await request.delete({ url: `/elderly-cleaning-record/delete?id=${id}` })
+  return await request.delete({ url: `/elderly-daily-clean-disinfect-record/delete?id=${id}` })
 }
 
 // 导出日常清洁消毒记录
@@ -542,17 +542,17 @@ export interface BuildingCleaningFormData {
 
 // 创建楼宇清洁消毒记录
 export const buildingCleaningCreate = async (data: BuildingCleaningFormData) => {
-  return await request.post({ url: '/elderly-building-cleaning/create', data })
+  return await request.post({ url: '/elderly-build-clean-disinfect-record/create', data })
 }
 
 // 更新楼宇清洁消毒记录
 export const buildingCleaningUpdate = async (data: BuildingCleaningFormData) => {
-  return await request.put({ url: '/elderly-building-cleaning/update', data })
+  return await request.put({ url: '/elderly-build-clean-disinfect-record/update', data })
 }
 
 // 根据ID获取楼宇清洁消毒记录
 export const buildingCleaningGetById = async (id: number) => {
-  return await request.get({ url: '/elderly-building-cleaning/get?id=' + id })
+  return await request.get({ url: '/elderly-build-clean-disinfect-record/get?id=' + id })
 }
 
 // 获取长者的楼宇清洁消毒记录
@@ -562,12 +562,12 @@ export const buildingCleaningGetByElderId = async (elderId: number) => {
 
 // 分页查询楼宇清洁消毒记录
 export const buildingCleaningPage = async (params: any) => {
-  return await request.get({ url: '/elderly-building-cleaning/page', params })
+  return await request.get({ url: '/elderly-build-clean-disinfect-record/page', params })
 }
 
 // 删除楼宇清洁消毒记录
 export const buildingCleaningDelete = async (id: number) => {
-  return await request.delete({ url: `/elderly-building-cleaning/delete?id=${id}` })
+  return await request.delete({ url: `/elderly-build-clean-disinfect-record/delete?id=${id}` })
 }
 
 // 导出楼宇清洁消毒记录
@@ -595,17 +595,17 @@ export interface DiaperReceiveFormData {
 
 // 创建纸尿裤领用登记记录
 export const diaperReceiveCreate = async (data: DiaperReceiveFormData) => {
-  return await request.post({ url: '/elderly-diaper-receive/create', data })
+  return await request.post({ url: '/elderly-diapers-get-record/create', data })
 }
 
 // 更新纸尿裤领用登记记录
 export const diaperReceiveUpdate = async (data: DiaperReceiveFormData) => {
-  return await request.put({ url: '/elderly-diaper-receive/update', data })
+  return await request.put({ url: '/elderly-diapers-get-record/update', data })
 }
 
 // 根据ID获取纸尿裤领用登记记录
 export const diaperReceiveGetById = async (id: number) => {
-  return await request.get({ url: '/elderly-diaper-receive/get?id=' + id })
+  return await request.get({ url: '/elderly-diapers-get-record/get?id=' + id })
 }
 
 // 获取长者的纸尿裤领用登记记录
@@ -615,12 +615,12 @@ export const diaperReceiveGetByElderId = async (elderId: number) => {
 
 // 分页查询纸尿裤领用登记记录
 export const diaperReceivePage = async (params: any) => {
-  return await request.get({ url: '/elderly-diaper-receive/page', params })
+  return await request.get({ url: '/elderly-diapers-get-record/page', params })
 }
 
 // 删除纸尿裤领用登记记录
 export const diaperReceiveDelete = async (id: number) => {
-  return await request.delete({ url: `/elderly-diaper-receive/delete?id=${id}` })
+  return await request.delete({ url: `/elderly-diapers-get-record/delete?id=${id}` })
 }
 
 // 导出纸尿裤领用登记记录
@@ -648,17 +648,17 @@ export interface BabyDiaperFormData {
 
 // 创建婴儿纸尿裤使用记录
 export const babyDiaperCreate = async (data: BabyDiaperFormData) => {
-  return await request.post({ url: '/elderly-baby-diaper/create', data })
+  return await request.post({ url: '/elderly-diaper-usage-recod/create', data })
 }
 
 // 更新婴儿纸尿裤使用记录
 export const babyDiaperUpdate = async (data: BabyDiaperFormData) => {
-  return await request.put({ url: '/elderly-baby-diaper/update', data })
+  return await request.put({ url: '/elderly-diaper-usage-recod/update', data })
 }
 
 // 根据ID获取婴儿纸尿裤使用记录
 export const babyDiaperGetById = async (id: number) => {
-  return await request.get({ url: '/elderly-baby-diaper/get?id=' + id })
+  return await request.get({ url: '/elderly-diaper-usage-recod/get?id=' + id })
 }
 
 // 获取长者的婴儿纸尿裤使用记录
@@ -668,12 +668,12 @@ export const babyDiaperGetByElderId = async (elderId: number) => {
 
 // 分页查询婴儿纸尿裤使用记录
 export const babyDiaperPage = async (params: any) => {
-  return await request.get({ url: '/elderly-baby-diaper/page', params })
+  return await request.get({ url: '/elderly-diaper-usage-recod/page', params })
 }
 
 // 删除婴儿纸尿裤使用记录
 export const babyDiaperDelete = async (id: number) => {
-  return await request.delete({ url: `/elderly-baby-diaper/delete?id=${id}` })
+  return await request.delete({ url: `/elderly-diaper-usage-recod/delete?id=${id}` })
 }
 
 // 导出婴儿纸尿裤使用记录
@@ -701,17 +701,17 @@ export interface DangerousGoodsFormData {
 
 // 创建危险物品登记记录
 export const dangerousGoodsCreate = async (data: DangerousGoodsFormData) => {
-  return await request.post({ url: '/elderly-dangerous-goods/create', data })
+  return await request.post({ url: '/elderly-danger-material-register/create', data })
 }
 
 // 更新危险物品登记记录
 export const dangerousGoodsUpdate = async (data: DangerousGoodsFormData) => {
-  return await request.put({ url: '/elderly-dangerous-goods/update', data })
+  return await request.put({ url: '/elderly-danger-material-register/update', data })
 }
 
 // 根据ID获取危险物品登记记录
 export const dangerousGoodsGetById = async (id: number) => {
-  return await request.get({ url: '/elderly-dangerous-goods/get?id=' + id })
+  return await request.get({ url: '/elderly-danger-material-register/get?id=' + id })
 }
 
 // 获取长者的危险物品登记记录
@@ -721,12 +721,12 @@ export const dangerousGoodsGetByElderId = async (elderId: number) => {
 
 // 分页查询危险物品登记记录
 export const dangerousGoodsPage = async (params: any) => {
-  return await request.get({ url: '/elderly-dangerous-goods/page', params })
+  return await request.get({ url: '/elderly-danger-material-register/page', params })
 }
 
 // 删除危险物品登记记录
 export const dangerousGoodsDelete = async (id: number) => {
-  return await request.delete({ url: `/elderly-dangerous-goods/delete?id=${id}` })
+  return await request.delete({ url: `/elderly-danger-material-register/delete?id=${id}` })
 }
 
 // 导出危险物品登记记录

+ 3 - 1
src/components/SearchTheElderly/index.vue

@@ -62,7 +62,9 @@ const upData = async (str,id?:any) => {
   inputValue.value = str
   if(id){
     try {
-      return await getElderInfoById(id)
+      const res = await getElderInfoById(id)
+      emit('update_elder', res)
+      return res
     }catch (e) {}
   }
 

+ 4 - 1
src/utils/dateUtil.ts

@@ -6,6 +6,7 @@ import dayjs from 'dayjs'
 
 const DATE_TIME_FORMAT = 'YYYY-MM-DD HH:mm:ss'
 const DATE_FORMAT = 'YYYY-MM-DD'
+const DATE_FORMAT2 = 'YYYY-MM'
 
 export function formatToDateTime(date?: dayjs.ConfigType, format = DATE_TIME_FORMAT): string {
   return dayjs(date).format(format)
@@ -14,7 +15,9 @@ export function formatToDateTime(date?: dayjs.ConfigType, format = DATE_TIME_FOR
 export function formatToDate(date?: dayjs.ConfigType, format = DATE_FORMAT): string {
   return dayjs(date).format(format)
 }
-
+export function formatToDate2(date?: dayjs.ConfigType, format = DATE_FORMAT2): string {
+  return dayjs(date).format(format)
+}
 export function getMonthStartAndEndSimplified(date = new Date()) {
   const startDate = new Date(date)
   startDate.setDate(1)

+ 49 - 55
src/views/elderly/nursing/records/baby-diapers/AddForm.vue

@@ -6,7 +6,7 @@
     :close-on-click-modal="false"
     :close-on-press-escape="false"
     :destroy-on-close="true"
-    size="70%"
+    size="80%"
     :before-close="handleClosed"
   >
 
@@ -59,8 +59,8 @@
           <el-input :disabled="isDetail" v-model="form.assessor"  />
         </el-col>
         <el-col :xs="24" :sm="24" :md="24" :lg="12" :xl="12" class="row">
-          <text>登记日期</text>
-          <el-date-picker :disabled="isDetail" v-model="form.assessDate" type="date" style="width: 100%;"/>
+          <text>登记月份</text>
+          <el-date-picker :disabled="isDetail" v-model="form.assessMonth" type="month" style="width: 100%;"/>
         </el-col>
       </el-row>
 
@@ -96,7 +96,7 @@
               <template v-for="day in 31" :key="day">
                 <!-- 白班 -->
                 <tr>
-                  <td :rowspan="2" class="day-cell" v-if="day === 1 || (day - 1) % 5 === 0">{{ day }}</td>
+                  <td :rowspan="2" class="day-cell">{{ day }}</td>
                   <td class="shift-cell">白</td>
                   <td>
                     <select v-if="!isDetail" v-model="form.records[day-1].dayShift.used" class="native-select">
@@ -113,15 +113,18 @@
                         <option value="未解除">未解除</option>
                         <option value="已解除">已解除</option>
                       </select>
-                      <el-time-picker 
-                        v-if="form.records[day-1].dayShift.releaseType === '已解除'" 
-                        v-model="form.records[day-1].dayShift.releaseTime" 
-                        format="HH:mm" 
-                        value-format="HH:mm"
-                        placeholder="时间"
-                        size="small"
-                        class="time-picker"
-                      />
+                      <div style="width: 90px;">
+                        <el-time-picker
+                          v-if="form.records[day-1].dayShift.releaseType === '已解除'"
+                          v-model="form.records[day-1].dayShift.releaseTime"
+                          format="HH:mm"
+                          style="width: 90px;"
+                          value-format="HH:mm"
+                          placeholder="时间"
+                          size="small"
+                        />
+                      </div>
+
                     </div>
                     <span v-else class="check-value">
                       {{ form.records[day-1].dayShift.releaseType === '已解除' ? form.records[day-1].dayShift.releaseTime : (form.records[day-1].dayShift.releaseType || '--') }}
@@ -190,15 +193,18 @@
                         <option value="未解除">未解除</option>
                         <option value="已解除">已解除</option>
                       </select>
-                      <el-time-picker 
-                        v-if="form.records[day-1].nightShift.releaseType === '已解除'" 
-                        v-model="form.records[day-1].nightShift.releaseTime" 
-                        format="HH:mm" 
-                        value-format="HH:mm"
-                        placeholder="时间"
-                        size="small"
-                        class="time-picker"
-                      />
+                      <div style="width: 90px;">
+                        <el-time-picker
+                          v-if="form.records[day-1].nightShift.releaseType === '已解除'"
+                          v-model="form.records[day-1].nightShift.releaseTime"
+                          format="HH:mm"
+                          style="width: 90px;"
+                          value-format="HH:mm"
+                          placeholder="时间"
+                          size="small"
+                        />
+                      </div>
+
                     </div>
                     <span v-else class="check-value">
                       {{ form.records[day-1].nightShift.releaseType === '已解除' ? form.records[day-1].nightShift.releaseTime : (form.records[day-1].nightShift.releaseType || '--') }}
@@ -260,38 +266,19 @@
           <div class="note-content">
             <p>1、用24小时制。</p>
             <p>2、异常情况在"备注"栏说明并跟踪情况。</p>
-            <p>3、各责任班记录一次,没解除用"/"表示。</p>
+            <p>3、各责任班记录一次,没解除用"未解除"登记。</p>
           </div>
         </div>
       </div>
     </div>
 
-    <div>前端提交的数据,后端可以参照这个格式:
-      {
-      "buildId": 190,
-      "floorId": 644,
-      "floorName": "2层",
-      "contractNumber": "111",
-      "elderName": "0318",
-      "bedName": "测试楼-2层-201-10",
-      "elderAge": 86,
-      "elderSex": "男",
-      "elderId": 18697,
-      "tenantId": 195,
-      "buildName": "测试楼",
-      "assessData": " ",
-      "assessor": "啊啊啊",
-      "assessDate": "2026-03-27",
-      "orgType": 1
-      }
-    </div>
 
 
 
     <template #footer>
       <el-button @click="handleClosed">关闭</el-button>
       <el-button style="margin-left: 22px;margin-right: 30px" v-loading="formLoading" type="primary" v-show="!isDetail" @click="submitForm">确定</el-button>
-      <el-button v-if="isDetail" type="success" @click="handleExport">打印</el-button>
+<!--      <el-button v-if="isDetail" type="success" @click="handleExport">打印</el-button>-->
     </template>
 
   </el-drawer>
@@ -352,11 +339,17 @@ const handleFloorChange = (floorId: any) => {
 const elderUp = (e) => {
   dataForm.value.elderName = e.elderName
   dataForm.value.elderId = e.id
+  dataForm.value.buildId = e.buildId
   dataForm.value.elderSex = e.elderSex === 1 ? '男' : '女'
   dataForm.value.bedName = e.bedName || ''
   dataForm.value.checkInTime = e.checkInTime
-  dataForm.value.contractNumber = e.contractNumber
+  dataForm.value.contractNumber = e.fileNumber
   dataForm.value.elderAge = e.elderAge
+  if(floorList.value.length==0){
+    handleBuildChange(dataForm.value.buildId)
+    dataForm.value.floorId = e.floorId
+    handleFloorChange(e.floorId)
+  }
 }
 
 // ========== 感知觉与沟通评估表 表单序列化方法 ==========
@@ -372,7 +365,7 @@ const serializeFormData = () => {
   return {
     // 基本信息
     assessor: form.assessor || '',
-    assessDate: form.assessDate ? dayjs(form.assessDate).format('YYYY-MM-DD') : '',
+    assessMonth: form.assessMonth ? dayjs(form.assessMonth).format('YYYY-MM') : '',
 
     // 31天婴儿纸尿裤使用记录
     records: form.records || []
@@ -385,7 +378,7 @@ const deserializeFormData = (formData: Record<string, any>) => {
 
   // 基本信息
   form.assessor = formData.assessor || ''
-  form.assessDate = formData.assessDate ? dayjs(formData.assessDate).toDate() : ''
+  form.assessMonth = formData.assessMonth ? dayjs(formData.assessMonth).toDate() : ''
 
   // 31天婴儿纸尿裤使用记录
   if (formData.records && formData.records.length > 0) {
@@ -398,7 +391,7 @@ const deserializeFormData = (formData: Record<string, any>) => {
 /** 重置婴儿纸尿裤使用记录表表单数据 */
 const resetPerceptionForm = () => {
   form.assessor = ''
-  form.assessDate = ''
+  form.assessMonth = ''
 
   // 重置31天婴儿纸尿裤使用记录
   form.records = generate31DaysRecords()
@@ -410,6 +403,8 @@ const open = async (tenantId, id?: any, detail: boolean = false) => {
   dialogVisible.value = true
   dataForm.value.id = id || undefined
   dataForm.value.tenantId = tenantId
+  buildList.value = []
+  floorList.value = []
   isDetail.value = detail
   try {
     buildList.value = await getBuildList({tenantIds: tenantId})
@@ -490,7 +485,7 @@ const handleReleaseTypeChange = (dayIndex: number, shift: 'dayShift' | 'nightShi
 const form = reactive({
   // 基本信息
   assessor: '',
-  assessDate: '',
+  assessMonth: '',
 
   // 31天婴儿纸尿裤使用记录
   records: generate31DaysRecords()
@@ -512,7 +507,7 @@ const submitForm = async () => {
         ...dataForm.value,
         assessData: JSON.stringify(assessData),
         assessor: form.assessor,
-        assessDate: form.assessDate ? dayjs(form.assessDate).format('YYYY-MM-DD') : ''
+        assessMonth: form.assessMonth ? dayjs(form.assessMonth).format('YYYY-MM') : ''
       }
 
     if (dataForm.value.id) {
@@ -576,7 +571,7 @@ const handleClosed = () => {
 
 <style scoped lang="scss">
 .mmse-form {
-  max-width: 1200px;
+  width: 100%;
   margin: 0 auto;
   background: #fff;
 
@@ -737,11 +732,10 @@ const handleClosed = () => {
             .release-time-cell {
               display: flex;
               align-items: center;
-              gap: 4px;
-
-              .time-picker {
-                width: 90px;
-              }
+              gap: 2px;
+              flex-direction: row;
+              justify-content: center;
+              width: 100%;
             }
 
             .check-value {

+ 51 - 83
src/views/elderly/nursing/records/baby-diapers/index.vue

@@ -18,7 +18,7 @@
       </el-form-item>
 
       <el-form-item label="楼栋">
-        <el-select v-model="queryParams.buidId" placeholder="选择楼栋" style="width: 180px" @change="handleBuildChange">
+        <el-select v-model="queryParams.buildId" placeholder="选择楼栋" style="width: 180px" @change="handleBuildChange">
           <el-option v-for="(item,index) in buildList" :key="index" :label="item.buildName" :value="item.id" />
         </el-select>
       </el-form-item>
@@ -30,19 +30,19 @@
       </el-form-item>
 
 
-      <el-form-item label="登记日期">
+      <el-form-item label="登记月份">
         <el-date-picker
           size="default"
           ref="selectRef"
           class="!w-240px"
-          v-model="queryParams.discoveryTime"
-          type="daterange"
+          v-model="queryParams.assessMonth"
+          type="monthrange"
           :clearable="true"
           :editable="false"
           placeholder="选择工单日期"
-          value-format="YYYY-MM-DD"
-          format="YYYY-MM-DD"
-          date-format="YYYY-MM-DD"
+          value-format="YYYY-MM"
+          format="YYYY-MM"
+          date-format="YYYY-MM"
         />
       </el-form-item>
 
@@ -58,8 +58,8 @@
     <div class="mb-10px">
 
       <ButtonAdd @click="openForm(undefined)"  />
-      <el-button @click="inputH" type="success"><Icon icon="fa:cloud-upload" :size="16" class="mr-1"/>导入</el-button>
-      <ButtonImport @click="handleImportCard"  />
+      <!--      <el-button @click="inputH" type="success"><Icon icon="fa:cloud-upload" :size="16" class="mr-1"/>导入</el-button>-->
+      <!--      <ButtonImport @click="handleImportCard"  />-->
 
 
     </div>
@@ -74,23 +74,12 @@
 
 
       <el-table-column prop="elderName" header-align="center" align="center" label="长者姓名" min-width="120" show-overflow-tooltip/>
-      <el-table-column prop="elderSex" header-align="center" align="center" label="性别" min-width="90" show-overflow-tooltip/>
-      <el-table-column prop="elderAge" header-align="center" align="center" label="年龄" min-width="90" show-overflow-tooltip/>
-      <el-table-column prop="serviceItem" header-align="center" align="center" label="服务项目" min-width="200" show-overflow-tooltip/>
-      <el-table-column prop="serviceName" header-align="center" align="center" label="服务人员姓名" min-width="160" show-overflow-tooltip/>
-      <el-table-column prop="orderTime" header-align="center" align="center" label="订单时间" min-width="180" show-overflow-tooltip>
-        <template #default="scope">
-          {{(formatToDateTime(scope.row.orderTime))}}
-        </template>
-      </el-table-column>
-      <el-table-column prop="comeTime" header-align="center" align="center" label="上门时间" min-width="180" show-overflow-tooltip>
-        <template #default="scope">
-          {{formatToDateTime(scope.row.serviceBeginTime)}}
-        </template>
-      </el-table-column>
-      <el-table-column prop="elderAddress" header-align="center" align="center" label="地址" min-width="220" show-overflow-tooltip/>
-      <el-table-column prop="isExpire" header-align="center" align="center" label="是否过期" min-width="120" show-overflow-tooltip/>
-      <el-table-column prop="orderStatus" header-align="center" align="center" label="订单状态" min-width="160" show-overflow-tooltip/>
+      <el-table-column prop="buildName" header-align="center" align="center" label="楼栋" min-width="120" show-overflow-tooltip/>
+      <el-table-column prop="floorName" header-align="center" align="center" label="楼层" min-width="120" show-overflow-tooltip/>
+
+      <el-table-column prop="assessMonth" header-align="center" align="center" label="登记月份" min-width="220" show-overflow-tooltip/>
+      <el-table-column prop="assessor" header-align="center" align="center" label="登记人" min-width="120" show-overflow-tooltip/>
+      <el-table-column prop="creator" header-align="center" align="center" label="操作人" min-width="160" show-overflow-tooltip/>
 
       <el-table-column label="操作" align="center" width="200" fixed="right">
         <template #default="scope">
@@ -129,53 +118,30 @@
 
   <AddForm ref="formRef" @success="getList" />
 
-  <!-- 通用批量导出弹窗 -->
-  <BatchExportDialog
-    :show="showBatchExport"
-    :title="exportConfig.title"
-    :loading="exportLoading"
-    :batch-min="exportConfig.batchMin"
-    :batch-max="exportConfig.batchMax"
-    :count-min="exportConfig.countMin"
-    :count-max="exportConfig.countMax"
-    :default-batch="exportConfig.defaultBatch"
-    :default-count="exportConfig.defaultCount"
-    :description="exportConfig.description"
-    @update:show="showBatchExport = $event"
-    @confirm="handleBatchExport"
-    @cancel="showBatchExport = false"
-  />
-
-
-  <Import
-    ref="importRef"
-    @success="getList"
-    :config="{
-      title: '导入',
-      downloadUrl: 'elderly-service-order/get-import-template',
-      excelTempName: '居家工单-【导入】模板',
-      importUrl: '/elderly-service-order/import',
-      failExportUrl: '',
-    }"
-  />
+
+
+
 
 </template>
 
 <script setup lang="ts">
 import AddForm from "./AddForm.vue";
 import ButtonAdd from "@/components/ButtonAdd/src/ButtonAdd.vue";
-import ButtonImport from "@/components/ButtonImport/src/ButtonImport.vue";
 
-import {
-  careRecordsPage, elderlyServiceOrderDelete, elderlyServiceOrderPage,
-} from "@/api/member/appointment";
 import download from "@/utils/download";
 import { useUserStore } from '@/store/modules/user'
-import {formatToDate, formatToDateTime, getCurrentMonthRange} from "@/utils/dateUtil";
+import {formatToDate, formatToDate2, formatToDateTime} from "@/utils/dateUtil";
 import * as UserApi from "@/api/system/user";
-import Import from "@/components/ImportFile/index.vue";
 import {ref} from "vue";
 import {getBuildList} from "@/api/system/badManage";
+import {
+  babyDiaperDelete,
+  babyDiaperPage,
+  dangerousGoodsDelete,
+  dangerousGoodsPage,
+  diaperReceiveDelete,
+  diaperReceivePage
+} from "@/api/social-work";
 const message = useMessage() // 消息弹窗
 const { t } = useI18n() // 国际化
 const userStore = useUserStore()
@@ -187,24 +153,27 @@ const list = ref([]) // 列表的数据
 
 // 状态管理
 const showBatchExport = ref(false)
-const exportConfig = ref({
-  title: '',
-  batchMin: 1,
-  batchMax: 999,
-  countMin: 1,
-  countMax: 200,
-  defaultBatch: 1,
-  defaultCount: 200,
-  description: [] as string[]
-})
 const exportLoading = ref(false)
 
+
+const buildList = ref([])
+const floorList = ref([])
+const handleBuildChange = (buildId: any) => {
+  const selectedBuild = buildList.value.find((item: any) => item.id === buildId)
+  if (selectedBuild) {
+    floorList.value = selectedBuild.floorList || []
+
+  }
+}
+
 let queryParams = reactive({
   pageNo: 1,
   pageSize: 10,
   elderName: '',
   elderPhone: '',
-  discoveryTime: ["2025-12-01",formatToDate()],
+  buildId: '',
+  floorId: '',
+  assessMonth: ["2025-12",formatToDate2()],
   tenantIds: userStore.orgTenantId[0]
 })
 const queryFormRef = ref() // 搜索的表单
@@ -277,8 +246,8 @@ const handleBatchExport = async (batch: number, count: number) => {
 const getList = async () => {
   loading.value = true
   try {
-    //let queryP = {...queryParams,discoveryTime:queryParams.discoveryTime?[queryParams.discoveryTime[0]+" 00:00:00",queryParams.discoveryTime[1]+" 23:59:59"]:null}
-    const data = await elderlyServiceOrderPage(queryParams)
+    //let queryP = {...queryParams,assessMonth:queryParams.assessMonth?[queryParams.assessMonth[0]+" 00:00:00",queryParams.assessMonth[1]+" 23:59:59"]:null}
+    const data = await babyDiaperPage(queryParams)
     list.value = data.list
     total.value = data.total
   } finally {
@@ -298,8 +267,10 @@ const handleQuery = async () => {
 /** 重置按钮操作 */
 const resetQuery = () => {
   queryParams.elderName = ''
-  queryParams.tenantId = userStore.orgTenantId[0]
-  queryParams.discoveryTime= ["2025-12-01",formatToDate()]
+  queryParams.buildId = ''
+  queryParams.floorId = ''
+  queryParams.tenantIds = userStore.orgTenantId[0]
+  queryParams.assessMonth= ["2025-12",formatToDate2()]
   queryFormRef.value.resetFields()
   handleQuery()
 }
@@ -335,7 +306,7 @@ const openClose = async (item) => {
     if (res == 'confirm') {
       // 发起
       try {
-        const res = await elderlyServiceOrderDelete(item.id)
+        const res = await babyDiaperDelete(item.id)
         if (res){
           message.success(t('common.updateSuccess'))
         }
@@ -360,18 +331,15 @@ const cancelDelete = async (id: number) => {
 }
 
 
-const buildList = ref([])
-const floorList = ref([])
+
 
 const route = useRoute()
 /** 初始化 **/
 onMounted(async () => {
-  if(route.query && route.query.elderName){
-    queryParams.elderName = route.query.elderName as string
-  }
+
   getList()
   try {
-    buildList.value = await getBuildList({tenantIds: queryParams.tenantId})
+    buildList.value = await getBuildList({tenantIds: queryParams.tenantIds})
   }catch (e) {}
 })
 

+ 16 - 30
src/views/elderly/nursing/records/build-dustman/AddForm.vue

@@ -38,7 +38,7 @@
         </el-col>
         <el-col :xs="24" :sm="24" :md="24" :lg="12" :xl="12" class="row">
           <text>登记月份</text>
-          <el-date-picker :disabled="isDetail" v-model="form.assessDate" type="month" style="width: 100%;"/>
+          <el-date-picker :disabled="isDetail" v-model="form.assessMonth" type="month" style="width: 100%;"/>
         </el-col>
       </el-row>
 
@@ -500,28 +500,14 @@
       </div>
     </div>
 
-    <div>前端提交的数据,后端可以参照这个格式:
-      {
-      "buildId": 190,
-      "floorId": 644,
-      "floorName": "2层",
-      "elderName": "0318",
-      "bedName": "测试楼-2层-201-10",
-      "tenantId": 195,
-      "buildName": "测试楼",
-      "assessData": " ",
-      "assessor": "啊啊啊",
-      "assessDate": "2026-03-27",
-      "orgType": 1
-      }
-    </div>
+
 
 
 
     <template #footer>
       <el-button @click="handleClosed">关闭</el-button>
       <el-button style="margin-left: 22px;margin-right: 30px" v-loading="formLoading" type="primary" v-show="!isDetail" @click="submitForm">确定</el-button>
-      <el-button v-if="isDetail" type="success" @click="handleExport">打印</el-button>
+<!--      <el-button v-if="isDetail" type="success" @click="handleExport">打印</el-button>-->
     </template>
 
   </el-drawer>
@@ -602,7 +588,7 @@ const serializeFormData = () => {
   return {
     // 基本信息
     assessor: form.assessor || '',
-    assessDate: form.assessDate ? dayjs(form.assessDate).format('YYYY-MM-DD') : '',
+    assessMonth: form.assessMonth ? dayjs(form.assessMonth).format('YYYY-MM-DD') : '',
 
     // 31天楼宇清洁记录
     records: form.records || []
@@ -615,7 +601,7 @@ const deserializeFormData = (formData: Record<string, any>) => {
 
   // 基本信息
   form.assessor = formData.assessor || ''
-  form.assessDate = formData.assessDate ? dayjs(formData.assessDate).toDate() : ''
+  form.assessMonth = formData.assessMonth ? dayjs(formData.assessMonth).toDate() : ''
 
   // 31天楼宇清洁记录
   if (formData.records && formData.records.length > 0) {
@@ -628,7 +614,7 @@ const deserializeFormData = (formData: Record<string, any>) => {
 /** 重置楼宇清洁消毒记录表表单数据 */
 const resetPerceptionForm = () => {
   form.assessor = ''
-  form.assessDate = ''
+  form.assessMonth = ''
 
   // 重置31天楼宇清洁记录
   form.records = generate31DaysRecords()
@@ -638,6 +624,8 @@ const resetPerceptionForm = () => {
 const open = async (tenantId, id?: any, detail: boolean = false) => {
   resetForm()
   dialogVisible.value = true
+  buildList.value = []
+  floorList.value = []
   dataForm.value.id = id || undefined
   dataForm.value.tenantId = tenantId
   isDetail.value = detail
@@ -661,14 +649,12 @@ const loadDangerousGoodsData = async (id: number) => {
     const res = await buildingCleaningGetById(id)
     if (res) {
       // 填充长者基本信息
-      dataForm.value.elderName = res.elderName || ''
-      dataForm.value.elderId = res.elderId || ''
-      dataForm.value.elderSex = res.elderSex || ''
-      dataForm.value.bedName = res.bedName || ''
-      dataForm.value.checkInTime = res.checkInTime || ''
-      dataForm.value.contractNumber = res.fileNumber || ''
-      dataForm.value.elderAge = res.elderAge || ''
-      await selectElderRef.value.upData(res.elderName, res.elderId)
+      dataForm.value.buildId = res.buildId
+      if(floorList.value.length==0){
+        handleBuildChange(dataForm.value.buildId)
+        dataForm.value.floorId = res.floorId
+        handleFloorChange(res.floorId)
+      }
       // 解析 assessData
       if (res.assessData) {
         const formData = JSON.parse(res.assessData)
@@ -723,7 +709,7 @@ const generate31DaysRecords = () => {
 const form = reactive({
   // 基本信息
   assessor: '',
-  assessDate: '',
+  assessMonth: '',
 
   // 31天楼宇清洁记录
   records: generate31DaysRecords()
@@ -745,7 +731,7 @@ const submitForm = async () => {
         ...dataForm.value,
         assessData: JSON.stringify(assessData),
         assessor: form.assessor,
-        assessDate: form.assessDate ? dayjs(form.assessDate).format('YYYY-MM-DD') : ''
+        assessMonth: form.assessMonth ? dayjs(form.assessMonth).format('YYYY-MM-DD') : ''
       }
 
     if (dataForm.value.id) {

+ 51 - 93
src/views/elderly/nursing/records/build-dustman/index.vue

@@ -8,17 +8,10 @@
       :inline="true"
       label-width="110px"
     >
-      <el-form-item label="长者姓名">
-        <el-input
-          v-model="queryParams.elderName"
-          placeholder="长者姓名"
-          class="!w-240px"
-          clearable
-        />
-      </el-form-item>
+
 
       <el-form-item label="楼栋">
-        <el-select v-model="queryParams.buidId" placeholder="选择楼栋" style="width: 180px" @change="handleBuildChange">
+        <el-select v-model="queryParams.buildId" placeholder="选择楼栋" style="width: 180px" @change="handleBuildChange">
           <el-option v-for="(item,index) in buildList" :key="index" :label="item.buildName" :value="item.id" />
         </el-select>
       </el-form-item>
@@ -35,14 +28,14 @@
           size="default"
           ref="selectRef"
           class="!w-240px"
-          v-model="queryParams.discoveryTime"
+          v-model="queryParams.assessMonth"
           type="monthrange"
           :clearable="true"
           :editable="false"
           placeholder="选择月份"
-          value-format="YYYY-MM-DD"
-          format="YYYY-MM-DD"
-          date-format="YYYY-MM-DD"
+          value-format="YYYY-MM"
+          format="YYYY-MM"
+          date-format="YYYY-MM"
         />
       </el-form-item>
 
@@ -58,8 +51,8 @@
     <div class="mb-10px">
 
       <ButtonAdd @click="openForm(undefined)"  />
-      <el-button @click="inputH" type="success"><Icon icon="fa:cloud-upload" :size="16" class="mr-1"/>导入</el-button>
-      <ButtonImport @click="handleImportCard"  />
+      <!--      <el-button @click="inputH" type="success"><Icon icon="fa:cloud-upload" :size="16" class="mr-1"/>导入</el-button>-->
+      <!--      <ButtonImport @click="handleImportCard"  />-->
 
 
     </div>
@@ -73,24 +66,14 @@
       </el-table-column>
 
 
-      <el-table-column prop="elderName" header-align="center" align="center" label="长者姓名" min-width="120" show-overflow-tooltip/>
-      <el-table-column prop="elderSex" header-align="center" align="center" label="性别" min-width="90" show-overflow-tooltip/>
-      <el-table-column prop="elderAge" header-align="center" align="center" label="年龄" min-width="90" show-overflow-tooltip/>
-      <el-table-column prop="serviceItem" header-align="center" align="center" label="服务项目" min-width="200" show-overflow-tooltip/>
-      <el-table-column prop="serviceName" header-align="center" align="center" label="服务人员姓名" min-width="160" show-overflow-tooltip/>
-      <el-table-column prop="orderTime" header-align="center" align="center" label="订单时间" min-width="180" show-overflow-tooltip>
-        <template #default="scope">
-          {{(formatToDateTime(scope.row.orderTime))}}
-        </template>
-      </el-table-column>
-      <el-table-column prop="comeTime" header-align="center" align="center" label="上门时间" min-width="180" show-overflow-tooltip>
-        <template #default="scope">
-          {{formatToDateTime(scope.row.serviceBeginTime)}}
-        </template>
-      </el-table-column>
-      <el-table-column prop="elderAddress" header-align="center" align="center" label="地址" min-width="220" show-overflow-tooltip/>
-      <el-table-column prop="isExpire" header-align="center" align="center" label="是否过期" min-width="120" show-overflow-tooltip/>
-      <el-table-column prop="orderStatus" header-align="center" align="center" label="订单状态" min-width="160" show-overflow-tooltip/>
+
+      <el-table-column prop="buildName" header-align="center" align="center" label="楼栋" min-width="120" show-overflow-tooltip/>
+      <el-table-column prop="floorName" header-align="center" align="center" label="楼层" min-width="120" show-overflow-tooltip/>
+
+
+      <el-table-column prop="assessMonth" header-align="center" align="center" label="登记月份" min-width="220" show-overflow-tooltip/>
+      <el-table-column prop="assessor" header-align="center" align="center" label="登记人" min-width="120" show-overflow-tooltip/>
+      <el-table-column prop="creator" header-align="center" align="center" label="操作人" min-width="160" show-overflow-tooltip/>
 
       <el-table-column label="操作" align="center" width="200" fixed="right">
         <template #default="scope">
@@ -129,53 +112,28 @@
 
   <AddForm ref="formRef" @success="getList" />
 
-  <!-- 通用批量导出弹窗 -->
-  <BatchExportDialog
-    :show="showBatchExport"
-    :title="exportConfig.title"
-    :loading="exportLoading"
-    :batch-min="exportConfig.batchMin"
-    :batch-max="exportConfig.batchMax"
-    :count-min="exportConfig.countMin"
-    :count-max="exportConfig.countMax"
-    :default-batch="exportConfig.defaultBatch"
-    :default-count="exportConfig.defaultCount"
-    :description="exportConfig.description"
-    @update:show="showBatchExport = $event"
-    @confirm="handleBatchExport"
-    @cancel="showBatchExport = false"
-  />
-
-
-  <Import
-    ref="importRef"
-    @success="getList"
-    :config="{
-      title: '导入',
-      downloadUrl: 'elderly-service-order/get-import-template',
-      excelTempName: '居家工单-【导入】模板',
-      importUrl: '/elderly-service-order/import',
-      failExportUrl: '',
-    }"
-  />
+
+
+
 
 </template>
 
 <script setup lang="ts">
 import AddForm from "./AddForm.vue";
 import ButtonAdd from "@/components/ButtonAdd/src/ButtonAdd.vue";
-import ButtonImport from "@/components/ButtonImport/src/ButtonImport.vue";
 
-import {
-  careRecordsPage, elderlyServiceOrderDelete, elderlyServiceOrderPage,
-} from "@/api/member/appointment";
 import download from "@/utils/download";
 import { useUserStore } from '@/store/modules/user'
-import {formatToDate, formatToDateTime, getCurrentMonthRange} from "@/utils/dateUtil";
+import {formatToDate} from "@/utils/dateUtil";
 import * as UserApi from "@/api/system/user";
-import Import from "@/components/ImportFile/index.vue";
 import {ref} from "vue";
 import {getBuildList} from "@/api/system/badManage";
+import {
+  buildingCleaningDelete,
+  buildingCleaningPage,
+  cleaningRecordDelete,
+  cleaningRecordPage, facilityEquipmentDelete, facilityEquipmentPage,
+} from "@/api/social-work";
 const message = useMessage() // 消息弹窗
 const { t } = useI18n() // 国际化
 const userStore = useUserStore()
@@ -187,24 +145,27 @@ const list = ref([]) // 列表的数据
 
 // 状态管理
 const showBatchExport = ref(false)
-const exportConfig = ref({
-  title: '',
-  batchMin: 1,
-  batchMax: 999,
-  countMin: 1,
-  countMax: 200,
-  defaultBatch: 1,
-  defaultCount: 200,
-  description: [] as string[]
-})
 const exportLoading = ref(false)
 
+
+const buildList = ref([])
+const floorList = ref([])
+const handleBuildChange = (buildId: any) => {
+  const selectedBuild = buildList.value.find((item: any) => item.id === buildId)
+  if (selectedBuild) {
+    floorList.value = selectedBuild.floorList || []
+
+  }
+}
+
 let queryParams = reactive({
   pageNo: 1,
   pageSize: 10,
-  elderName: '',
+  assessor: '',
   elderPhone: '',
-  discoveryTime: ["2025-12-01",formatToDate()],
+  buildId: '',
+  floorId: '',
+  assessMonth: ["2025-12-01",formatToDate()],
   tenantIds: userStore.orgTenantId[0]
 })
 const queryFormRef = ref() // 搜索的表单
@@ -278,7 +239,7 @@ const getList = async () => {
   loading.value = true
   try {
     //let queryP = {...queryParams,discoveryTime:queryParams.discoveryTime?[queryParams.discoveryTime[0]+" 00:00:00",queryParams.discoveryTime[1]+" 23:59:59"]:null}
-    const data = await elderlyServiceOrderPage(queryParams)
+    const data = await buildingCleaningPage(queryParams)
     list.value = data.list
     total.value = data.total
   } finally {
@@ -297,9 +258,11 @@ const handleQuery = async () => {
 
 /** 重置按钮操作 */
 const resetQuery = () => {
-  queryParams.elderName = ''
-  queryParams.tenantId = userStore.orgTenantId[0]
-  queryParams.discoveryTime= ["2025-12-01",formatToDate()]
+  queryParams.assessor = ''
+  queryParams.buildId = ''
+  queryParams.floorId = ''
+  queryParams.tenantIds = userStore.orgTenantId[0]
+  queryParams.assessMonth= ["2025-12-01",formatToDate()]
   queryFormRef.value.resetFields()
   handleQuery()
 }
@@ -326,8 +289,6 @@ const openFormDetail = (id?: number) => {
 
 
 
-
-
 const openClose = async (item) => {
   try {
     console.log("任务ID",item)
@@ -335,7 +296,7 @@ const openClose = async (item) => {
     if (res == 'confirm') {
       // 发起
       try {
-        const res = await elderlyServiceOrderDelete(item.id)
+        const res = await buildingCleaningDelete(item.id)
         if (res){
           message.success(t('common.updateSuccess'))
         }
@@ -360,18 +321,15 @@ const cancelDelete = async (id: number) => {
 }
 
 
-const buildList = ref([])
-const floorList = ref([])
+
 
 const route = useRoute()
 /** 初始化 **/
 onMounted(async () => {
-  if(route.query && route.query.elderName){
-    queryParams.elderName = route.query.elderName as string
-  }
+
   getList()
   try {
-    buildList.value = await getBuildList({tenantIds: queryParams.tenantId})
+    buildList.value = await getBuildList({tenantIds: queryParams.tenantIds})
   }catch (e) {}
 })
 

+ 13 - 22
src/views/elderly/nursing/records/dangerous-records/AddForm.vue

@@ -132,32 +132,12 @@
       </div>
     </div>
 
-    <div>前端提交的数据,后端可以参照这个格式:
-      {
-      "buildId": 190,
-      "floorId": 644,
-      "floorName": "2层",
-      "contractNumber": "111",
-      "elderName": "0318",
-      "bedName": "测试楼-2层-201-10",
-      "elderAge": 86,
-      "elderSex": "男",
-      "elderId": 18697,
-      "tenantId": 195,
-      "buildName": "测试楼",
-      "assessData": " ",
-      "assessor": "啊啊啊",
-      "assessDate": "2026-03-27",
-      "orgType": 1
-      }
-    </div>
-
 
 
     <template #footer>
       <el-button @click="handleClosed">关闭</el-button>
       <el-button style="margin-left: 22px;margin-right: 30px" v-loading="formLoading" type="primary" v-show="!isDetail" @click="submitForm">确定</el-button>
-      <el-button v-if="isDetail" type="success" @click="handleExport">打印</el-button>
+<!--      <el-button v-if="isDetail" type="success" @click="handleExport">打印</el-button>-->
     </template>
 
   </el-drawer>
@@ -212,17 +192,26 @@ const handleFloorChange = (floorId: any) => {
   const selectedFloor = floorList.value.find((item: any) => item.id === floorId)
   if (selectedFloor) {
     dataForm.value.floorName = selectedFloor.floorName
+    console.log("AAA",dataForm.value.floorName)
   }
 }
 
 const elderUp = (e) => {
+  console.log(e)
   dataForm.value.elderName = e.elderName
   dataForm.value.elderId = e.id
+  dataForm.value.buildId = e.buildId
   dataForm.value.elderSex = e.elderSex === 1 ? '男' : '女'
   dataForm.value.bedName = e.bedName || ''
   dataForm.value.checkInTime = e.checkInTime
-  dataForm.value.contractNumber = e.contractNumber
+  dataForm.value.contractNumber = e.fileNumber
   dataForm.value.elderAge = e.elderAge
+  if(floorList.value.length==0){
+    handleBuildChange(dataForm.value.buildId)
+    dataForm.value.floorId = e.floorId
+    handleFloorChange(e.floorId)
+  }
+
 }
 
 // ========== 感知觉与沟通评估表 表单序列化方法 ==========
@@ -287,6 +276,8 @@ const resetPerceptionForm = () => {
 /** 打开弹窗 */
 const open = async (tenantId, id?: any, detail: boolean = false) => {
   resetForm()
+  buildList.value = []
+  floorList.value = []
   dialogVisible.value = true
   dataForm.value.id = id || undefined
   dataForm.value.tenantId = tenantId

+ 35 - 74
src/views/elderly/nursing/records/dangerous-records/index.vue

@@ -18,7 +18,7 @@
       </el-form-item>
 
       <el-form-item label="楼栋">
-        <el-select v-model="queryParams.buidId" placeholder="选择楼栋" style="width: 180px" @change="handleBuildChange">
+        <el-select v-model="queryParams.buildId" placeholder="选择楼栋" style="width: 180px" @change="handleBuildChange">
           <el-option v-for="(item,index) in buildList" :key="index" :label="item.buildName" :value="item.id" />
         </el-select>
       </el-form-item>
@@ -58,8 +58,8 @@
     <div class="mb-10px">
 
       <ButtonAdd @click="openForm(undefined)"  />
-      <el-button @click="inputH" type="success"><Icon icon="fa:cloud-upload" :size="16" class="mr-1"/>导入</el-button>
-      <ButtonImport @click="handleImportCard"  />
+<!--      <el-button @click="inputH" type="success"><Icon icon="fa:cloud-upload" :size="16" class="mr-1"/>导入</el-button>-->
+<!--      <ButtonImport @click="handleImportCard"  />-->
 
 
     </div>
@@ -74,23 +74,12 @@
 
 
       <el-table-column prop="elderName" header-align="center" align="center" label="长者姓名" min-width="120" show-overflow-tooltip/>
-      <el-table-column prop="elderSex" header-align="center" align="center" label="性别" min-width="90" show-overflow-tooltip/>
-      <el-table-column prop="elderAge" header-align="center" align="center" label="年龄" min-width="90" show-overflow-tooltip/>
-      <el-table-column prop="serviceItem" header-align="center" align="center" label="服务项目" min-width="200" show-overflow-tooltip/>
-      <el-table-column prop="serviceName" header-align="center" align="center" label="服务人员姓名" min-width="160" show-overflow-tooltip/>
-      <el-table-column prop="orderTime" header-align="center" align="center" label="订单时间" min-width="180" show-overflow-tooltip>
-        <template #default="scope">
-          {{(formatToDateTime(scope.row.orderTime))}}
-        </template>
-      </el-table-column>
-      <el-table-column prop="comeTime" header-align="center" align="center" label="上门时间" min-width="180" show-overflow-tooltip>
-        <template #default="scope">
-          {{formatToDateTime(scope.row.serviceBeginTime)}}
-        </template>
-      </el-table-column>
-      <el-table-column prop="elderAddress" header-align="center" align="center" label="地址" min-width="220" show-overflow-tooltip/>
-      <el-table-column prop="isExpire" header-align="center" align="center" label="是否过期" min-width="120" show-overflow-tooltip/>
-      <el-table-column prop="orderStatus" header-align="center" align="center" label="订单状态" min-width="160" show-overflow-tooltip/>
+      <el-table-column prop="buildName" header-align="center" align="center" label="楼栋" min-width="120" show-overflow-tooltip/>
+      <el-table-column prop="floorName" header-align="center" align="center" label="楼层" min-width="120" show-overflow-tooltip/>
+
+      <el-table-column prop="assessDate" header-align="center" align="center" label="登记时间" min-width="220" show-overflow-tooltip/>
+      <el-table-column prop="assessor" header-align="center" align="center" label="登记人" min-width="120" show-overflow-tooltip/>
+      <el-table-column prop="creator" header-align="center" align="center" label="操作人" min-width="160" show-overflow-tooltip/>
 
       <el-table-column label="操作" align="center" width="200" fixed="right">
         <template #default="scope">
@@ -129,53 +118,23 @@
 
   <AddForm ref="formRef" @success="getList" />
 
-  <!-- 通用批量导出弹窗 -->
-  <BatchExportDialog
-    :show="showBatchExport"
-    :title="exportConfig.title"
-    :loading="exportLoading"
-    :batch-min="exportConfig.batchMin"
-    :batch-max="exportConfig.batchMax"
-    :count-min="exportConfig.countMin"
-    :count-max="exportConfig.countMax"
-    :default-batch="exportConfig.defaultBatch"
-    :default-count="exportConfig.defaultCount"
-    :description="exportConfig.description"
-    @update:show="showBatchExport = $event"
-    @confirm="handleBatchExport"
-    @cancel="showBatchExport = false"
-  />
-
-
-  <Import
-    ref="importRef"
-    @success="getList"
-    :config="{
-      title: '导入',
-      downloadUrl: 'elderly-service-order/get-import-template',
-      excelTempName: '居家工单-【导入】模板',
-      importUrl: '/elderly-service-order/import',
-      failExportUrl: '',
-    }"
-  />
+
+
+
 
 </template>
 
 <script setup lang="ts">
 import AddForm from "./AddForm.vue";
 import ButtonAdd from "@/components/ButtonAdd/src/ButtonAdd.vue";
-import ButtonImport from "@/components/ButtonImport/src/ButtonImport.vue";
 
-import {
-  careRecordsPage, elderlyServiceOrderDelete, elderlyServiceOrderPage,
-} from "@/api/member/appointment";
 import download from "@/utils/download";
 import { useUserStore } from '@/store/modules/user'
-import {formatToDate, formatToDateTime, getCurrentMonthRange} from "@/utils/dateUtil";
+import {formatToDate, formatToDateTime} from "@/utils/dateUtil";
 import * as UserApi from "@/api/system/user";
-import Import from "@/components/ImportFile/index.vue";
 import {ref} from "vue";
 import {getBuildList} from "@/api/system/badManage";
+import {dangerousGoodsDelete, dangerousGoodsPage} from "@/api/social-work";
 const message = useMessage() // 消息弹窗
 const { t } = useI18n() // 国际化
 const userStore = useUserStore()
@@ -187,23 +146,26 @@ const list = ref([]) // 列表的数据
 
 // 状态管理
 const showBatchExport = ref(false)
-const exportConfig = ref({
-  title: '',
-  batchMin: 1,
-  batchMax: 999,
-  countMin: 1,
-  countMax: 200,
-  defaultBatch: 1,
-  defaultCount: 200,
-  description: [] as string[]
-})
 const exportLoading = ref(false)
 
+
+const buildList = ref([])
+const floorList = ref([])
+const handleBuildChange = (buildId: any) => {
+  const selectedBuild = buildList.value.find((item: any) => item.id === buildId)
+  if (selectedBuild) {
+    floorList.value = selectedBuild.floorList || []
+
+  }
+}
+
 let queryParams = reactive({
   pageNo: 1,
   pageSize: 10,
   elderName: '',
   elderPhone: '',
+  buildId: '',
+  floorId: '',
   discoveryTime: ["2025-12-01",formatToDate()],
   tenantIds: userStore.orgTenantId[0]
 })
@@ -278,7 +240,7 @@ const getList = async () => {
   loading.value = true
   try {
     //let queryP = {...queryParams,discoveryTime:queryParams.discoveryTime?[queryParams.discoveryTime[0]+" 00:00:00",queryParams.discoveryTime[1]+" 23:59:59"]:null}
-    const data = await elderlyServiceOrderPage(queryParams)
+    const data = await dangerousGoodsPage(queryParams)
     list.value = data.list
     total.value = data.total
   } finally {
@@ -298,7 +260,9 @@ const handleQuery = async () => {
 /** 重置按钮操作 */
 const resetQuery = () => {
   queryParams.elderName = ''
-  queryParams.tenantId = userStore.orgTenantId[0]
+  queryParams.buildId = ''
+  queryParams.floorId = ''
+  queryParams.tenantIds = userStore.orgTenantId[0]
   queryParams.discoveryTime= ["2025-12-01",formatToDate()]
   queryFormRef.value.resetFields()
   handleQuery()
@@ -335,7 +299,7 @@ const openClose = async (item) => {
     if (res == 'confirm') {
       // 发起
       try {
-        const res = await elderlyServiceOrderDelete(item.id)
+        const res = await dangerousGoodsDelete(item.id)
         if (res){
           message.success(t('common.updateSuccess'))
         }
@@ -360,18 +324,15 @@ const cancelDelete = async (id: number) => {
 }
 
 
-const buildList = ref([])
-const floorList = ref([])
+
 
 const route = useRoute()
 /** 初始化 **/
 onMounted(async () => {
-  if(route.query && route.query.elderName){
-    queryParams.elderName = route.query.elderName as string
-  }
+
   getList()
   try {
-    buildList.value = await getBuildList({tenantIds: queryParams.tenantId})
+    buildList.value = await getBuildList({tenantIds: queryParams.tenantIds})
   }catch (e) {}
 })
 

+ 12 - 29
src/views/elderly/nursing/records/disinfect/AddForm.vue

@@ -111,32 +111,12 @@
       </div>
     </div>
 
-    <div>前端提交的数据,后端可以参照这个格式:
-      {
-      "buildId": 190,
-      "floorId": 644,
-      "floorName": "2层",
-      "contractNumber": "111",
-      "elderName": "0318",
-      "bedName": "测试楼-2层-201-10",
-      "elderAge": 86,
-      "elderSex": "男",
-      "elderId": 18697,
-      "tenantId": 195,
-      "buildName": "测试楼",
-      "assessData": " ",
-      "assessor": "啊啊啊",
-      "assessDate": "2026-03-27",
-      "orgType": 1
-      }
-    </div>
-
 
 
     <template #footer>
       <el-button @click="handleClosed">关闭</el-button>
       <el-button style="margin-left: 22px;margin-right: 30px" v-loading="formLoading" type="primary" v-show="!isDetail" @click="submitForm">确定</el-button>
-      <el-button v-if="isDetail" type="success" @click="handleExport">打印</el-button>
+<!--      <el-button v-if="isDetail" type="success" @click="handleExport">打印</el-button>-->
     </template>
 
   </el-drawer>
@@ -268,6 +248,8 @@ const open = async (tenantId, id?: any, detail: boolean = false) => {
   dialogVisible.value = true
   dataForm.value.id = id || undefined
   dataForm.value.tenantId = tenantId
+  buildList.value = []
+  floorList.value = []
   isDetail.value = detail
   try {
     buildList.value = await getBuildList({tenantIds: tenantId})
@@ -289,14 +271,14 @@ const loadDangerousGoodsData = async (id: number) => {
     const res = await disinfectGetById(id)
     if (res) {
       // 填充长者基本信息
-      dataForm.value.elderName = res.elderName || ''
-      dataForm.value.elderId = res.elderId || ''
-      dataForm.value.elderSex = res.elderSex || ''
-      dataForm.value.bedName = res.bedName || ''
-      dataForm.value.checkInTime = res.checkInTime || ''
-      dataForm.value.contractNumber = res.fileNumber || ''
-      dataForm.value.elderAge = res.elderAge || ''
-      await selectElderRef.value.upData(res.elderName, res.elderId)
+      dataForm.value.buildId = res.buildId
+      if(floorList.value.length==0){
+        handleBuildChange(dataForm.value.buildId)
+        dataForm.value.floorId = res.floorId
+        handleFloorChange(res.floorId)
+      }
+
+     // await selectElderRef.value.upData(res.elderName, res.elderId)
       // 解析 assessData
       if (res.assessData) {
         const formData = JSON.parse(res.assessData)
@@ -304,6 +286,7 @@ const loadDangerousGoodsData = async (id: number) => {
       }
     }
   } catch (error) {
+    console.log(error)
     message.error('加载消毒记录数据失败')
   }
 }

+ 44 - 79
src/views/elderly/nursing/records/disinfect/index.vue

@@ -11,7 +11,7 @@
 
 
       <el-form-item label="楼栋">
-        <el-select v-model="queryParams.buidId" placeholder="选择楼栋" style="width: 180px" @change="handleBuildChange">
+        <el-select v-model="queryParams.buildId" placeholder="选择楼栋" style="width: 180px" @change="handleBuildChange">
           <el-option v-for="(item,index) in buildList" :key="index" :label="item.buildName" :value="item.id" />
         </el-select>
       </el-form-item>
@@ -28,8 +28,8 @@
           size="default"
           ref="selectRef"
           class="!w-240px"
-          v-model="queryParams.discoveryTime"
-          type="daterange"
+          v-model="queryParams.assessDate"
+          type="monthrange"
           :clearable="true"
           :editable="false"
           placeholder="选择工单日期"
@@ -51,8 +51,8 @@
     <div class="mb-10px">
 
       <ButtonAdd @click="openForm(undefined)"  />
-      <el-button @click="inputH" type="success"><Icon icon="fa:cloud-upload" :size="16" class="mr-1"/>导入</el-button>
-      <ButtonImport @click="handleImportCard"  />
+      <!--      <el-button @click="inputH" type="success"><Icon icon="fa:cloud-upload" :size="16" class="mr-1"/>导入</el-button>-->
+      <!--      <ButtonImport @click="handleImportCard"  />-->
 
 
     </div>
@@ -66,24 +66,14 @@
       </el-table-column>
 
 
-      <el-table-column prop="elderName" header-align="center" align="center" label="长者姓名" min-width="120" show-overflow-tooltip/>
-      <el-table-column prop="elderSex" header-align="center" align="center" label="性别" min-width="90" show-overflow-tooltip/>
-      <el-table-column prop="elderAge" header-align="center" align="center" label="年龄" min-width="90" show-overflow-tooltip/>
-      <el-table-column prop="serviceItem" header-align="center" align="center" label="服务项目" min-width="200" show-overflow-tooltip/>
-      <el-table-column prop="serviceName" header-align="center" align="center" label="服务人员姓名" min-width="160" show-overflow-tooltip/>
-      <el-table-column prop="orderTime" header-align="center" align="center" label="订单时间" min-width="180" show-overflow-tooltip>
-        <template #default="scope">
-          {{(formatToDateTime(scope.row.orderTime))}}
-        </template>
-      </el-table-column>
-      <el-table-column prop="comeTime" header-align="center" align="center" label="上门时间" min-width="180" show-overflow-tooltip>
-        <template #default="scope">
-          {{formatToDateTime(scope.row.serviceBeginTime)}}
-        </template>
-      </el-table-column>
-      <el-table-column prop="elderAddress" header-align="center" align="center" label="地址" min-width="220" show-overflow-tooltip/>
-      <el-table-column prop="isExpire" header-align="center" align="center" label="是否过期" min-width="120" show-overflow-tooltip/>
-      <el-table-column prop="orderStatus" header-align="center" align="center" label="订单状态" min-width="160" show-overflow-tooltip/>
+
+      <el-table-column prop="buildName" header-align="center" align="center" label="楼栋" min-width="120" show-overflow-tooltip/>
+      <el-table-column prop="floorName" header-align="center" align="center" label="楼层" min-width="120" show-overflow-tooltip/>
+
+
+      <el-table-column prop="assessDate" header-align="center" align="center" label="登记时间" min-width="220" show-overflow-tooltip/>
+      <el-table-column prop="assessor" header-align="center" align="center" label="登记人" min-width="120" show-overflow-tooltip/>
+      <el-table-column prop="creator" header-align="center" align="center" label="操作人" min-width="160" show-overflow-tooltip/>
 
       <el-table-column label="操作" align="center" width="200" fixed="right">
         <template #default="scope">
@@ -122,53 +112,26 @@
 
   <AddForm ref="formRef" @success="getList" />
 
-  <!-- 通用批量导出弹窗 -->
-  <BatchExportDialog
-    :show="showBatchExport"
-    :title="exportConfig.title"
-    :loading="exportLoading"
-    :batch-min="exportConfig.batchMin"
-    :batch-max="exportConfig.batchMax"
-    :count-min="exportConfig.countMin"
-    :count-max="exportConfig.countMax"
-    :default-batch="exportConfig.defaultBatch"
-    :default-count="exportConfig.defaultCount"
-    :description="exportConfig.description"
-    @update:show="showBatchExport = $event"
-    @confirm="handleBatchExport"
-    @cancel="showBatchExport = false"
-  />
-
-
-  <Import
-    ref="importRef"
-    @success="getList"
-    :config="{
-      title: '导入',
-      downloadUrl: 'elderly-service-order/get-import-template',
-      excelTempName: '居家工单-【导入】模板',
-      importUrl: '/elderly-service-order/import',
-      failExportUrl: '',
-    }"
-  />
+
+
+
 
 </template>
 
 <script setup lang="ts">
 import AddForm from "./AddForm.vue";
 import ButtonAdd from "@/components/ButtonAdd/src/ButtonAdd.vue";
-import ButtonImport from "@/components/ButtonImport/src/ButtonImport.vue";
 
-import {
-  careRecordsPage, elderlyServiceOrderDelete, elderlyServiceOrderPage,
-} from "@/api/member/appointment";
 import download from "@/utils/download";
 import { useUserStore } from '@/store/modules/user'
-import {formatToDate, formatToDateTime, getCurrentMonthRange} from "@/utils/dateUtil";
+import {formatToDate, formatToDateTime} from "@/utils/dateUtil";
 import * as UserApi from "@/api/system/user";
-import Import from "@/components/ImportFile/index.vue";
 import {ref} from "vue";
 import {getBuildList} from "@/api/system/badManage";
+import {
+  disinfectDelete,
+  disinfectPage
+} from "@/api/social-work";
 const message = useMessage() // 消息弹窗
 const { t } = useI18n() // 国际化
 const userStore = useUserStore()
@@ -180,24 +143,27 @@ const list = ref([]) // 列表的数据
 
 // 状态管理
 const showBatchExport = ref(false)
-const exportConfig = ref({
-  title: '',
-  batchMin: 1,
-  batchMax: 999,
-  countMin: 1,
-  countMax: 200,
-  defaultBatch: 1,
-  defaultCount: 200,
-  description: [] as string[]
-})
 const exportLoading = ref(false)
 
+
+const buildList = ref([])
+const floorList = ref([])
+const handleBuildChange = (buildId: any) => {
+  const selectedBuild = buildList.value.find((item: any) => item.id === buildId)
+  if (selectedBuild) {
+    floorList.value = selectedBuild.floorList || []
+
+  }
+}
+
 let queryParams = reactive({
   pageNo: 1,
   pageSize: 10,
   elderName: '',
   elderPhone: '',
-  discoveryTime: ["2025-12-01",formatToDate()],
+  buildId: '',
+  floorId: '',
+  assessDate: ["2025-12-01",formatToDate()],
   tenantIds: userStore.orgTenantId[0]
 })
 const queryFormRef = ref() // 搜索的表单
@@ -271,7 +237,7 @@ const getList = async () => {
   loading.value = true
   try {
     //let queryP = {...queryParams,discoveryTime:queryParams.discoveryTime?[queryParams.discoveryTime[0]+" 00:00:00",queryParams.discoveryTime[1]+" 23:59:59"]:null}
-    const data = await elderlyServiceOrderPage(queryParams)
+    const data = await disinfectPage(queryParams)
     list.value = data.list
     total.value = data.total
   } finally {
@@ -291,8 +257,10 @@ const handleQuery = async () => {
 /** 重置按钮操作 */
 const resetQuery = () => {
   queryParams.elderName = ''
-  queryParams.tenantId = userStore.orgTenantId[0]
-  queryParams.discoveryTime= ["2025-12-01",formatToDate()]
+  queryParams.buildId = ''
+  queryParams.floorId = ''
+  queryParams.tenantIds = userStore.orgTenantId[0]
+  queryParams.assessDate= ["2025-12-01",formatToDate()]
   queryFormRef.value.resetFields()
   handleQuery()
 }
@@ -328,7 +296,7 @@ const openClose = async (item) => {
     if (res == 'confirm') {
       // 发起
       try {
-        const res = await elderlyServiceOrderDelete(item.id)
+        const res = await disinfectDelete(item.id)
         if (res){
           message.success(t('common.updateSuccess'))
         }
@@ -353,18 +321,15 @@ const cancelDelete = async (id: number) => {
 }
 
 
-const buildList = ref([])
-const floorList = ref([])
+
 
 const route = useRoute()
 /** 初始化 **/
 onMounted(async () => {
-  if(route.query && route.query.elderName){
-    queryParams.elderName = route.query.elderName as string
-  }
+
   getList()
   try {
-    buildList.value = await getBuildList({tenantIds: queryParams.tenantId})
+    buildList.value = await getBuildList({tenantIds: queryParams.tenantIds})
   }catch (e) {}
 })
 

+ 16 - 29
src/views/elderly/nursing/records/dustman/AddForm.vue

@@ -37,7 +37,7 @@
         </el-col>
         <el-col :xs="24" :sm="24" :md="24" :lg="12" :xl="12" class="row">
           <text>登记月份</text>
-          <el-date-picker :disabled="isDetail" v-model="form.assessDate" type="month" style="width: 100%;"/>
+          <el-date-picker :disabled="isDetail" v-model="form.assessMonth" type="month" style="width: 100%;"/>
         </el-col>
       </el-row>
 
@@ -229,27 +229,14 @@
       </div>
     </div>
 
-    <div>前端提交的数据,后端可以参照这个格式:
-      {
-      "buildId": 190,
-      "floorId": 644,
-      "floorName": "2层",
-      "bedName": "测试楼-2层-201-10",
-      "tenantId": 195,
-      "buildName": "测试楼",
-      "assessData": " ",
-      "assessor": "啊啊啊",
-      "assessDate": "2026-03-27",
-      "orgType": 1
-      }
-    </div>
+
 
 
 
     <template #footer>
       <el-button @click="handleClosed">关闭</el-button>
       <el-button style="margin-left: 22px;margin-right: 30px" v-loading="formLoading" type="primary" v-show="!isDetail" @click="submitForm">确定</el-button>
-      <el-button v-if="isDetail" type="success" @click="handleExport">打印</el-button>
+<!--      <el-button v-if="isDetail" type="success" @click="handleExport">打印</el-button>-->
     </template>
 
   </el-drawer>
@@ -330,7 +317,7 @@ const serializeFormData = () => {
   return {
     // 基本信息
     assessor: form.assessor || '',
-    assessDate: form.assessDate ? dayjs(form.assessDate).format('YYYY-MM-DD') : '',
+    assessMonth: form.assessMonth ? dayjs(form.assessMonth).format('YYYY-MM') : '',
 
     // 31天清洁记录
     records: form.records || []
@@ -343,7 +330,7 @@ const deserializeFormData = (formData: Record<string, any>) => {
 
   // 基本信息
   form.assessor = formData.assessor || ''
-  form.assessDate = formData.assessDate ? dayjs(formData.assessDate).toDate() : ''
+  form.assessMonth = formData.assessMonth ? dayjs(formData.assessMonth).toDate() : ''
 
   // 31天清洁记录
   if (formData.records && formData.records.length > 0) {
@@ -356,7 +343,7 @@ const deserializeFormData = (formData: Record<string, any>) => {
 /** 重置日常清洁消毒记录表表单数据 */
 const resetPerceptionForm = () => {
   form.assessor = ''
-  form.assessDate = ''
+  form.assessMonth = ''
 
   // 重置31天清洁记录
   form.records = generate31DaysRecords()
@@ -366,6 +353,8 @@ const resetPerceptionForm = () => {
 const open = async (tenantId, id?: any, detail: boolean = false) => {
   resetForm()
   dialogVisible.value = true
+  buildList.value = []
+  floorList.value = []
   dataForm.value.id = id || undefined
   dataForm.value.tenantId = tenantId
   isDetail.value = detail
@@ -389,14 +378,12 @@ const loadDangerousGoodsData = async (id: number) => {
     const res = await cleaningRecordGetById(id)
     if (res) {
       // 填充长者基本信息
-      dataForm.value.elderName = res.elderName || ''
-      dataForm.value.elderId = res.elderId || ''
-      dataForm.value.elderSex = res.elderSex || ''
-      dataForm.value.bedName = res.bedName || ''
-      dataForm.value.checkInTime = res.checkInTime || ''
-      dataForm.value.contractNumber = res.fileNumber || ''
-      dataForm.value.elderAge = res.elderAge || ''
-      await selectElderRef.value.upData(res.elderName, res.elderId)
+      dataForm.value.buildId = res.buildId
+      if(floorList.value.length==0){
+        handleBuildChange(dataForm.value.buildId)
+        dataForm.value.floorId = res.floorId
+        handleFloorChange(res.floorId)
+      }
       // 解析 assessData
       if (res.assessData) {
         const formData = JSON.parse(res.assessData)
@@ -439,7 +426,7 @@ const generate31DaysRecords = () => {
 const form = reactive({
   // 基本信息
   assessor: '',
-  assessDate: '',
+  assessMonth: '',
 
   // 31天清洁记录
   records: generate31DaysRecords()
@@ -461,7 +448,7 @@ const submitForm = async () => {
         ...dataForm.value,
         assessData: JSON.stringify(assessData),
         assessor: form.assessor,
-        assessDate: form.assessDate ? dayjs(form.assessDate).format('YYYY-MM-DD') : ''
+        assessMonth: form.assessMonth ? dayjs(form.assessMonth).format('YYYY-MM') : ''
       }
 
     if (dataForm.value.id) {

+ 49 - 91
src/views/elderly/nursing/records/dustman/index.vue

@@ -8,17 +8,10 @@
       :inline="true"
       label-width="110px"
     >
-      <el-form-item label="长者姓名">
-        <el-input
-          v-model="queryParams.elderName"
-          placeholder="长者姓名"
-          class="!w-240px"
-          clearable
-        />
-      </el-form-item>
+
 
       <el-form-item label="楼栋">
-        <el-select v-model="queryParams.buidId" placeholder="选择楼栋" style="width: 180px" @change="handleBuildChange">
+        <el-select v-model="queryParams.buildId" placeholder="选择楼栋" style="width: 180px" @change="handleBuildChange">
           <el-option v-for="(item,index) in buildList" :key="index" :label="item.buildName" :value="item.id" />
         </el-select>
       </el-form-item>
@@ -35,14 +28,14 @@
           size="default"
           ref="selectRef"
           class="!w-240px"
-          v-model="queryParams.discoveryTime"
+          v-model="queryParams.assessMonth"
           type="monthrange"
           :clearable="true"
           :editable="false"
           placeholder="选择月份"
-          value-format="YYYY-MM-DD"
-          format="YYYY-MM-DD"
-          date-format="YYYY-MM-DD"
+          value-format="YYYY-MM"
+          format="YYYY-MM"
+          date-format="YYYY-MM"
         />
       </el-form-item>
 
@@ -58,8 +51,8 @@
     <div class="mb-10px">
 
       <ButtonAdd @click="openForm(undefined)"  />
-      <el-button @click="inputH" type="success"><Icon icon="fa:cloud-upload" :size="16" class="mr-1"/>导入</el-button>
-      <ButtonImport @click="handleImportCard"  />
+      <!--      <el-button @click="inputH" type="success"><Icon icon="fa:cloud-upload" :size="16" class="mr-1"/>导入</el-button>-->
+      <!--      <ButtonImport @click="handleImportCard"  />-->
 
 
     </div>
@@ -73,24 +66,14 @@
       </el-table-column>
 
 
-      <el-table-column prop="elderName" header-align="center" align="center" label="长者姓名" min-width="120" show-overflow-tooltip/>
-      <el-table-column prop="elderSex" header-align="center" align="center" label="性别" min-width="90" show-overflow-tooltip/>
-      <el-table-column prop="elderAge" header-align="center" align="center" label="年龄" min-width="90" show-overflow-tooltip/>
-      <el-table-column prop="serviceItem" header-align="center" align="center" label="服务项目" min-width="200" show-overflow-tooltip/>
-      <el-table-column prop="serviceName" header-align="center" align="center" label="服务人员姓名" min-width="160" show-overflow-tooltip/>
-      <el-table-column prop="orderTime" header-align="center" align="center" label="订单时间" min-width="180" show-overflow-tooltip>
-        <template #default="scope">
-          {{(formatToDateTime(scope.row.orderTime))}}
-        </template>
-      </el-table-column>
-      <el-table-column prop="comeTime" header-align="center" align="center" label="上门时间" min-width="180" show-overflow-tooltip>
-        <template #default="scope">
-          {{formatToDateTime(scope.row.serviceBeginTime)}}
-        </template>
-      </el-table-column>
-      <el-table-column prop="elderAddress" header-align="center" align="center" label="地址" min-width="220" show-overflow-tooltip/>
-      <el-table-column prop="isExpire" header-align="center" align="center" label="是否过期" min-width="120" show-overflow-tooltip/>
-      <el-table-column prop="orderStatus" header-align="center" align="center" label="订单状态" min-width="160" show-overflow-tooltip/>
+
+      <el-table-column prop="buildName" header-align="center" align="center" label="楼栋" min-width="120" show-overflow-tooltip/>
+      <el-table-column prop="floorName" header-align="center" align="center" label="楼层" min-width="120" show-overflow-tooltip/>
+
+
+      <el-table-column prop="assessMonth" header-align="center" align="center" label="登记月份" min-width="220" show-overflow-tooltip/>
+      <el-table-column prop="assessor" header-align="center" align="center" label="登记人" min-width="120" show-overflow-tooltip/>
+      <el-table-column prop="creator" header-align="center" align="center" label="操作人" min-width="160" show-overflow-tooltip/>
 
       <el-table-column label="操作" align="center" width="200" fixed="right">
         <template #default="scope">
@@ -129,53 +112,26 @@
 
   <AddForm ref="formRef" @success="getList" />
 
-  <!-- 通用批量导出弹窗 -->
-  <BatchExportDialog
-    :show="showBatchExport"
-    :title="exportConfig.title"
-    :loading="exportLoading"
-    :batch-min="exportConfig.batchMin"
-    :batch-max="exportConfig.batchMax"
-    :count-min="exportConfig.countMin"
-    :count-max="exportConfig.countMax"
-    :default-batch="exportConfig.defaultBatch"
-    :default-count="exportConfig.defaultCount"
-    :description="exportConfig.description"
-    @update:show="showBatchExport = $event"
-    @confirm="handleBatchExport"
-    @cancel="showBatchExport = false"
-  />
-
-
-  <Import
-    ref="importRef"
-    @success="getList"
-    :config="{
-      title: '导入',
-      downloadUrl: 'elderly-service-order/get-import-template',
-      excelTempName: '居家工单-【导入】模板',
-      importUrl: '/elderly-service-order/import',
-      failExportUrl: '',
-    }"
-  />
+
+
+
 
 </template>
 
 <script setup lang="ts">
 import AddForm from "./AddForm.vue";
 import ButtonAdd from "@/components/ButtonAdd/src/ButtonAdd.vue";
-import ButtonImport from "@/components/ButtonImport/src/ButtonImport.vue";
 
-import {
-  careRecordsPage, elderlyServiceOrderDelete, elderlyServiceOrderPage,
-} from "@/api/member/appointment";
 import download from "@/utils/download";
 import { useUserStore } from '@/store/modules/user'
-import {formatToDate, formatToDateTime, getCurrentMonthRange} from "@/utils/dateUtil";
+import {formatToDate} from "@/utils/dateUtil";
 import * as UserApi from "@/api/system/user";
-import Import from "@/components/ImportFile/index.vue";
 import {ref} from "vue";
 import {getBuildList} from "@/api/system/badManage";
+import {
+  cleaningRecordDelete,
+  cleaningRecordPage,
+} from "@/api/social-work";
 const message = useMessage() // 消息弹窗
 const { t } = useI18n() // 国际化
 const userStore = useUserStore()
@@ -187,24 +143,27 @@ const list = ref([]) // 列表的数据
 
 // 状态管理
 const showBatchExport = ref(false)
-const exportConfig = ref({
-  title: '',
-  batchMin: 1,
-  batchMax: 999,
-  countMin: 1,
-  countMax: 200,
-  defaultBatch: 1,
-  defaultCount: 200,
-  description: [] as string[]
-})
 const exportLoading = ref(false)
 
+
+const buildList = ref([])
+const floorList = ref([])
+const handleBuildChange = (buildId: any) => {
+  const selectedBuild = buildList.value.find((item: any) => item.id === buildId)
+  if (selectedBuild) {
+    floorList.value = selectedBuild.floorList || []
+
+  }
+}
+
 let queryParams = reactive({
   pageNo: 1,
   pageSize: 10,
-  elderName: '',
+  assessor: '',
   elderPhone: '',
-  discoveryTime: ["2025-12-01",formatToDate()],
+  buildId: '',
+  floorId: '',
+  assessMonth: ["2025-12-01",formatToDate()],
   tenantIds: userStore.orgTenantId[0]
 })
 const queryFormRef = ref() // 搜索的表单
@@ -278,7 +237,7 @@ const getList = async () => {
   loading.value = true
   try {
     //let queryP = {...queryParams,discoveryTime:queryParams.discoveryTime?[queryParams.discoveryTime[0]+" 00:00:00",queryParams.discoveryTime[1]+" 23:59:59"]:null}
-    const data = await elderlyServiceOrderPage(queryParams)
+    const data = await cleaningRecordPage(queryParams)
     list.value = data.list
     total.value = data.total
   } finally {
@@ -297,9 +256,11 @@ const handleQuery = async () => {
 
 /** 重置按钮操作 */
 const resetQuery = () => {
-  queryParams.elderName = ''
-  queryParams.tenantId = userStore.orgTenantId[0]
-  queryParams.discoveryTime= ["2025-12-01",formatToDate()]
+  queryParams.assessor = ''
+  queryParams.buildId = ''
+  queryParams.floorId = ''
+  queryParams.tenantIds = userStore.orgTenantId[0]
+  queryParams.assessMonth= ["2025-12-01",formatToDate()]
   queryFormRef.value.resetFields()
   handleQuery()
 }
@@ -335,7 +296,7 @@ const openClose = async (item) => {
     if (res == 'confirm') {
       // 发起
       try {
-        const res = await elderlyServiceOrderDelete(item.id)
+        const res = await cleaningRecordDelete(item.id)
         if (res){
           message.success(t('common.updateSuccess'))
         }
@@ -360,18 +321,15 @@ const cancelDelete = async (id: number) => {
 }
 
 
-const buildList = ref([])
-const floorList = ref([])
+
 
 const route = useRoute()
 /** 初始化 **/
 onMounted(async () => {
-  if(route.query && route.query.elderName){
-    queryParams.elderName = route.query.elderName as string
-  }
+
   getList()
   try {
-    buildList.value = await getBuildList({tenantIds: queryParams.tenantId})
+    buildList.value = await getBuildList({tenantIds: queryParams.tenantIds})
   }catch (e) {}
 })
 

+ 28 - 42
src/views/elderly/nursing/records/facility-equipment/AddForm.vue

@@ -36,7 +36,7 @@
         </el-col>
         <el-col :xs="24" :sm="24" :md="24" :lg="12" :xl="12" class="row">
           <text>登记月份</text>
-          <el-date-picker :disabled="isDetail" v-model="form.assessDate" type="month" style="width: 100%;"/>
+          <el-date-picker :disabled="isDetail" v-model="form.assessMonth" type="month"   style="width: 100%;"/>
         </el-col>
       </el-row>
 
@@ -300,13 +300,13 @@
         <div class="check-info-section">
           <div class="check-info-row">
             <span class="label">检查情况说明:</span>
-            <el-input v-if="!isDetail" v-model="form.checkDescription" type="textarea" :rows="3" placeholder="填写检查情况说明" style="flex: 1;" />
-            <span v-else>{{ form.checkDescription }}</span>
+            <el-input v-if="!isDetail" v-model="form.checkSituationRemark" type="textarea" :rows="3" placeholder="填写检查情况说明" style="flex: 1;" />
+            <span v-else>{{ form.checkSituationRemark }}</span>
           </div>
           <div class="check-info-row">
             <span class="label">检查人签名:</span>
-            <el-input v-if="!isDetail" v-model="form.checkerSignature" placeholder="签名" style="width: 200px;" />
-            <span v-else>{{ form.checkerSignature }}</span>
+            <el-input v-if="!isDetail" v-model="form.checkSignature" placeholder="签名" style="width: 200px;" />
+            <span v-else>{{ form.checkSignature }}</span>
           </div>
         </div>
 
@@ -320,28 +320,14 @@
       </div>
     </div>
 
-    <div>前端提交的数据,后端可以参照这个格式:
-      {
-      "buildId": 190,
-      "floorId": 644,
-      "floorName": "2层",
-      "elderName": "0318",
-      "bedName": "测试楼-2层-201-10",
-      "tenantId": 195,
-      "buildName": "测试楼",
-      "assessData": " ",
-      "assessor": "啊啊啊",
-      "assessDate": "2026-03-27",
-      "orgType": 1
-      }
-    </div>
+
 
 
 
     <template #footer>
       <el-button @click="handleClosed">关闭</el-button>
       <el-button style="margin-left: 22px;margin-right: 30px" v-loading="formLoading" type="primary" v-show="!isDetail" @click="submitForm">确定</el-button>
-      <el-button v-if="isDetail" type="success" @click="handleExport">打印</el-button>
+<!--      <el-button v-if="isDetail" type="success" @click="handleExport">打印</el-button>-->
     </template>
 
   </el-drawer>
@@ -422,14 +408,14 @@ const serializeFormData = () => {
   return {
     // 基本信息
     assessor: form.assessor || '',
-    assessDate: form.assessDate ? dayjs(form.assessDate).format('YYYY-MM-DD') : '',
+    assessMonth: form.assessMonth ? dayjs(form.assessMonth).format('YYYY-MM-DD') : '',
 
     // 设施设备检查项
     checkItems: form.checkItems,
 
     // 检查情况说明
-    checkDescription: form.checkDescription || '',
-    checkerSignature: form.checkerSignature || ''
+    checkSituationRemark: form.checkSituationRemark || '',
+    checkSignature: form.checkSignature || ''
   }
 }
 
@@ -439,7 +425,7 @@ const deserializeFormData = (formData: Record<string, any>) => {
 
   // 基本信息
   form.assessor = formData.assessor || ''
-  form.assessDate = formData.assessDate ? dayjs(formData.assessDate).toDate() : ''
+  form.assessMonth = formData.assessMonth ? dayjs(formData.assessMonth).toDate() : ''
 
   // 设施设备检查项
   if (formData.checkItems) {
@@ -451,14 +437,14 @@ const deserializeFormData = (formData: Record<string, any>) => {
   }
 
   // 检查情况说明
-  form.checkDescription = formData.checkDescription || ''
-  form.checkerSignature = formData.checkerSignature || ''
+  form.checkSituationRemark = formData.checkSituationRemark || ''
+  form.checkSignature = formData.checkSignature || ''
 }
 
 /** 重置设施设备检查表表单数据 */
 const resetPerceptionForm = () => {
   form.assessor = ''
-  form.assessDate = ''
+  form.assessMonth = ''
 
   // 重置所有检查项为31天空数组
   Object.keys(form.checkItems).forEach(key => {
@@ -466,14 +452,16 @@ const resetPerceptionForm = () => {
   })
 
   // 重置检查情况说明
-  form.checkDescription = ''
-  form.checkerSignature = ''
+  form.checkSituationRemark = ''
+  form.checkSignature = ''
 }
 
 /** 打开弹窗 */
 const open = async (tenantId, id?: any, detail: boolean = false) => {
   resetForm()
   dialogVisible.value = true
+  buildList.value = []
+  floorList.value = []
   dataForm.value.id = id || undefined
   dataForm.value.tenantId = tenantId
   isDetail.value = detail
@@ -497,14 +485,12 @@ const loadDangerousGoodsData = async (id: number) => {
     const res = await facilityEquipmentGetById(id)
     if (res) {
       // 填充长者基本信息
-      dataForm.value.elderName = res.elderName || ''
-      dataForm.value.elderId = res.elderId || ''
-      dataForm.value.elderSex = res.elderSex || ''
-      dataForm.value.bedName = res.bedName || ''
-      dataForm.value.checkInTime = res.checkInTime || ''
-      dataForm.value.contractNumber = res.fileNumber || ''
-      dataForm.value.elderAge = res.elderAge || ''
-      await selectElderRef.value.upData(res.elderName, res.elderId)
+      dataForm.value.buildId = res.buildId
+      if(floorList.value.length==0){
+        handleBuildChange(dataForm.value.buildId)
+        dataForm.value.floorId = res.floorId
+        handleFloorChange(res.floorId)
+      }
       // 解析 assessData
       if (res.assessData) {
         const formData = JSON.parse(res.assessData)
@@ -524,7 +510,7 @@ const generate31Days = () => new Array(31).fill('')
 const form = reactive({
   // 基本信息
   assessor: '',
-  assessDate: '',
+  assessMonth: '',
 
   // 设施设备检查项(31天)
   checkItems: {
@@ -556,9 +542,9 @@ const form = reactive({
   },
 
   // 检查情况说明
-  checkDescription: '',
+  checkSituationRemark: '',
   // 检查人签名
-  checkerSignature: ''
+  checkSignature: ''
 })
 
 defineExpose({ open }) // 提供 open 方法,用于打开弹窗
@@ -577,7 +563,7 @@ const submitForm = async () => {
         ...dataForm.value,
         assessData: JSON.stringify(assessData),
         assessor: form.assessor,
-        assessDate: form.assessDate ? dayjs(form.assessDate).format('YYYY-MM-DD') : ''
+        assessMonth: form.assessMonth ? dayjs(form.assessMonth).format('YYYY-MM') : ''
       }
 
     if (dataForm.value.id) {

+ 49 - 91
src/views/elderly/nursing/records/facility-equipment/index.vue

@@ -8,17 +8,10 @@
       :inline="true"
       label-width="110px"
     >
-      <el-form-item label="长者姓名">
-        <el-input
-          v-model="queryParams.elderName"
-          placeholder="长者姓名"
-          class="!w-240px"
-          clearable
-        />
-      </el-form-item>
+
 
       <el-form-item label="楼栋">
-        <el-select v-model="queryParams.buidId" placeholder="选择楼栋" style="width: 180px" @change="handleBuildChange">
+        <el-select v-model="queryParams.buildId" placeholder="选择楼栋" style="width: 180px" @change="handleBuildChange">
           <el-option v-for="(item,index) in buildList" :key="index" :label="item.buildName" :value="item.id" />
         </el-select>
       </el-form-item>
@@ -35,14 +28,14 @@
           size="default"
           ref="selectRef"
           class="!w-240px"
-          v-model="queryParams.discoveryTime"
+          v-model="queryParams.assessMonth"
           type="monthrange"
           :clearable="true"
           :editable="false"
           placeholder="选择月份"
-          value-format="YYYY-MM-DD"
-          format="YYYY-MM-DD"
-          date-format="YYYY-MM-DD"
+          value-format="YYYY-MM"
+          format="YYYY-MM"
+          date-format="YYYY-MM"
         />
       </el-form-item>
 
@@ -58,8 +51,8 @@
     <div class="mb-10px">
 
       <ButtonAdd @click="openForm(undefined)"  />
-      <el-button @click="inputH" type="success"><Icon icon="fa:cloud-upload" :size="16" class="mr-1"/>导入</el-button>
-      <ButtonImport @click="handleImportCard"  />
+      <!--      <el-button @click="inputH" type="success"><Icon icon="fa:cloud-upload" :size="16" class="mr-1"/>导入</el-button>-->
+      <!--      <ButtonImport @click="handleImportCard"  />-->
 
 
     </div>
@@ -73,24 +66,14 @@
       </el-table-column>
 
 
-      <el-table-column prop="elderName" header-align="center" align="center" label="长者姓名" min-width="120" show-overflow-tooltip/>
-      <el-table-column prop="elderSex" header-align="center" align="center" label="性别" min-width="90" show-overflow-tooltip/>
-      <el-table-column prop="elderAge" header-align="center" align="center" label="年龄" min-width="90" show-overflow-tooltip/>
-      <el-table-column prop="serviceItem" header-align="center" align="center" label="服务项目" min-width="200" show-overflow-tooltip/>
-      <el-table-column prop="serviceName" header-align="center" align="center" label="服务人员姓名" min-width="160" show-overflow-tooltip/>
-      <el-table-column prop="orderTime" header-align="center" align="center" label="订单时间" min-width="180" show-overflow-tooltip>
-        <template #default="scope">
-          {{(formatToDateTime(scope.row.orderTime))}}
-        </template>
-      </el-table-column>
-      <el-table-column prop="comeTime" header-align="center" align="center" label="上门时间" min-width="180" show-overflow-tooltip>
-        <template #default="scope">
-          {{formatToDateTime(scope.row.serviceBeginTime)}}
-        </template>
-      </el-table-column>
-      <el-table-column prop="elderAddress" header-align="center" align="center" label="地址" min-width="220" show-overflow-tooltip/>
-      <el-table-column prop="isExpire" header-align="center" align="center" label="是否过期" min-width="120" show-overflow-tooltip/>
-      <el-table-column prop="orderStatus" header-align="center" align="center" label="订单状态" min-width="160" show-overflow-tooltip/>
+
+      <el-table-column prop="buildName" header-align="center" align="center" label="楼栋" min-width="120" show-overflow-tooltip/>
+      <el-table-column prop="floorName" header-align="center" align="center" label="楼层" min-width="120" show-overflow-tooltip/>
+
+
+      <el-table-column prop="assessMonth" header-align="center" align="center" label="登记月份" min-width="220" show-overflow-tooltip/>
+      <el-table-column prop="assessor" header-align="center" align="center" label="登记人" min-width="120" show-overflow-tooltip/>
+      <el-table-column prop="creator" header-align="center" align="center" label="操作人" min-width="160" show-overflow-tooltip/>
 
       <el-table-column label="操作" align="center" width="200" fixed="right">
         <template #default="scope">
@@ -129,53 +112,26 @@
 
   <AddForm ref="formRef" @success="getList" />
 
-  <!-- 通用批量导出弹窗 -->
-  <BatchExportDialog
-    :show="showBatchExport"
-    :title="exportConfig.title"
-    :loading="exportLoading"
-    :batch-min="exportConfig.batchMin"
-    :batch-max="exportConfig.batchMax"
-    :count-min="exportConfig.countMin"
-    :count-max="exportConfig.countMax"
-    :default-batch="exportConfig.defaultBatch"
-    :default-count="exportConfig.defaultCount"
-    :description="exportConfig.description"
-    @update:show="showBatchExport = $event"
-    @confirm="handleBatchExport"
-    @cancel="showBatchExport = false"
-  />
-
-
-  <Import
-    ref="importRef"
-    @success="getList"
-    :config="{
-      title: '导入',
-      downloadUrl: 'elderly-service-order/get-import-template',
-      excelTempName: '居家工单-【导入】模板',
-      importUrl: '/elderly-service-order/import',
-      failExportUrl: '',
-    }"
-  />
+
+
+
 
 </template>
 
 <script setup lang="ts">
 import AddForm from "./AddForm.vue";
 import ButtonAdd from "@/components/ButtonAdd/src/ButtonAdd.vue";
-import ButtonImport from "@/components/ButtonImport/src/ButtonImport.vue";
 
-import {
-  careRecordsPage, elderlyServiceOrderDelete, elderlyServiceOrderPage,
-} from "@/api/member/appointment";
 import download from "@/utils/download";
 import { useUserStore } from '@/store/modules/user'
-import {formatToDate, formatToDateTime, getCurrentMonthRange} from "@/utils/dateUtil";
+import {formatToDate} from "@/utils/dateUtil";
 import * as UserApi from "@/api/system/user";
-import Import from "@/components/ImportFile/index.vue";
 import {ref} from "vue";
 import {getBuildList} from "@/api/system/badManage";
+import {
+  cleaningRecordDelete,
+  cleaningRecordPage, facilityEquipmentDelete, facilityEquipmentPage,
+} from "@/api/social-work";
 const message = useMessage() // 消息弹窗
 const { t } = useI18n() // 国际化
 const userStore = useUserStore()
@@ -187,24 +143,27 @@ const list = ref([]) // 列表的数据
 
 // 状态管理
 const showBatchExport = ref(false)
-const exportConfig = ref({
-  title: '',
-  batchMin: 1,
-  batchMax: 999,
-  countMin: 1,
-  countMax: 200,
-  defaultBatch: 1,
-  defaultCount: 200,
-  description: [] as string[]
-})
 const exportLoading = ref(false)
 
+
+const buildList = ref([])
+const floorList = ref([])
+const handleBuildChange = (buildId: any) => {
+  const selectedBuild = buildList.value.find((item: any) => item.id === buildId)
+  if (selectedBuild) {
+    floorList.value = selectedBuild.floorList || []
+
+  }
+}
+
 let queryParams = reactive({
   pageNo: 1,
   pageSize: 10,
-  elderName: '',
+  assessor: '',
   elderPhone: '',
-  discoveryTime: ["2025-12-01",formatToDate()],
+  buildId: '',
+  floorId: '',
+  assessMonth: ["2025-12-01",formatToDate()],
   tenantIds: userStore.orgTenantId[0]
 })
 const queryFormRef = ref() // 搜索的表单
@@ -278,7 +237,7 @@ const getList = async () => {
   loading.value = true
   try {
     //let queryP = {...queryParams,discoveryTime:queryParams.discoveryTime?[queryParams.discoveryTime[0]+" 00:00:00",queryParams.discoveryTime[1]+" 23:59:59"]:null}
-    const data = await elderlyServiceOrderPage(queryParams)
+    const data = await facilityEquipmentPage(queryParams)
     list.value = data.list
     total.value = data.total
   } finally {
@@ -297,9 +256,11 @@ const handleQuery = async () => {
 
 /** 重置按钮操作 */
 const resetQuery = () => {
-  queryParams.elderName = ''
-  queryParams.tenantId = userStore.orgTenantId[0]
-  queryParams.discoveryTime= ["2025-12-01",formatToDate()]
+  queryParams.assessor = ''
+  queryParams.buildId = ''
+  queryParams.floorId = ''
+  queryParams.tenantIds = userStore.orgTenantId[0]
+  queryParams.assessMonth= ["2025-12-01",formatToDate()]
   queryFormRef.value.resetFields()
   handleQuery()
 }
@@ -335,7 +296,7 @@ const openClose = async (item) => {
     if (res == 'confirm') {
       // 发起
       try {
-        const res = await elderlyServiceOrderDelete(item.id)
+        const res = await facilityEquipmentDelete(item.id)
         if (res){
           message.success(t('common.updateSuccess'))
         }
@@ -360,18 +321,15 @@ const cancelDelete = async (id: number) => {
 }
 
 
-const buildList = ref([])
-const floorList = ref([])
+
 
 const route = useRoute()
 /** 初始化 **/
 onMounted(async () => {
-  if(route.query && route.query.elderName){
-    queryParams.elderName = route.query.elderName as string
-  }
+
   getList()
   try {
-    buildList.value = await getBuildList({tenantIds: queryParams.tenantId})
+    buildList.value = await getBuildList({tenantIds: queryParams.tenantIds})
   }catch (e) {}
 })
 

+ 11 - 21
src/views/elderly/nursing/records/paper-diaper-receive/AddForm.vue

@@ -144,32 +144,14 @@
       </div>
     </div>
 
-    <div>前端提交的数据,后端可以参照这个格式:
-      {
-      "buildId": 190,
-      "floorId": 644,
-      "floorName": "2层",
-      "contractNumber": "111",
-      "elderName": "0318",
-      "bedName": "测试楼-2层-201-10",
-      "elderAge": 86,
-      "elderSex": "男",
-      "elderId": 18697,
-      "tenantId": 195,
-      "buildName": "测试楼",
-      "assessData": " ",
-      "assessor": "啊啊啊",
-      "assessDate": "2026-03-27",
-      "orgType": 1
-      }
-    </div>
+
 
 
 
     <template #footer>
       <el-button @click="handleClosed">关闭</el-button>
       <el-button style="margin-left: 22px;margin-right: 30px" v-loading="formLoading" type="primary" v-show="!isDetail" @click="submitForm">确定</el-button>
-      <el-button v-if="isDetail" type="success" @click="handleExport">打印</el-button>
+<!--      <el-button v-if="isDetail" type="success" @click="handleExport">打印</el-button>-->
     </template>
 
   </el-drawer>
@@ -230,11 +212,17 @@ const handleFloorChange = (floorId: any) => {
 const elderUp = (e) => {
   dataForm.value.elderName = e.elderName
   dataForm.value.elderId = e.id
+  dataForm.value.buildId = e.buildId
   dataForm.value.elderSex = e.elderSex === 1 ? '男' : '女'
   dataForm.value.bedName = e.bedName || ''
   dataForm.value.checkInTime = e.checkInTime
-  dataForm.value.contractNumber = e.contractNumber
+  dataForm.value.contractNumber = e.fileNumber
   dataForm.value.elderAge = e.elderAge
+  if(floorList.value.length==0){
+    handleBuildChange(dataForm.value.buildId)
+    dataForm.value.floorId = e.floorId
+    handleFloorChange(e.floorId)
+  }
 }
 
 // ========== 感知觉与沟通评估表 表单序列化方法 ==========
@@ -308,6 +296,8 @@ const open = async (tenantId, id?: any, detail: boolean = false) => {
   dialogVisible.value = true
   dataForm.value.id = id || undefined
   dataForm.value.tenantId = tenantId
+  buildList.value = []
+  floorList.value = []
   isDetail.value = detail
   try {
     buildList.value = await getBuildList({tenantIds: tenantId})

+ 44 - 78
src/views/elderly/nursing/records/paper-diaper-receive/index.vue

@@ -18,7 +18,7 @@
       </el-form-item>
 
       <el-form-item label="楼栋">
-        <el-select v-model="queryParams.buidId" placeholder="选择楼栋" style="width: 180px" @change="handleBuildChange">
+        <el-select v-model="queryParams.buildId" placeholder="选择楼栋" style="width: 180px" @change="handleBuildChange">
           <el-option v-for="(item,index) in buildList" :key="index" :label="item.buildName" :value="item.id" />
         </el-select>
       </el-form-item>
@@ -35,7 +35,7 @@
           size="default"
           ref="selectRef"
           class="!w-240px"
-          v-model="queryParams.discoveryTime"
+          v-model="queryParams.assessDate"
           type="daterange"
           :clearable="true"
           :editable="false"
@@ -58,8 +58,8 @@
     <div class="mb-10px">
 
       <ButtonAdd @click="openForm(undefined)"  />
-      <el-button @click="inputH" type="success"><Icon icon="fa:cloud-upload" :size="16" class="mr-1"/>导入</el-button>
-      <ButtonImport @click="handleImportCard"  />
+      <!--      <el-button @click="inputH" type="success"><Icon icon="fa:cloud-upload" :size="16" class="mr-1"/>导入</el-button>-->
+      <!--      <ButtonImport @click="handleImportCard"  />-->
 
 
     </div>
@@ -74,23 +74,12 @@
 
 
       <el-table-column prop="elderName" header-align="center" align="center" label="长者姓名" min-width="120" show-overflow-tooltip/>
-      <el-table-column prop="elderSex" header-align="center" align="center" label="性别" min-width="90" show-overflow-tooltip/>
-      <el-table-column prop="elderAge" header-align="center" align="center" label="年龄" min-width="90" show-overflow-tooltip/>
-      <el-table-column prop="serviceItem" header-align="center" align="center" label="服务项目" min-width="200" show-overflow-tooltip/>
-      <el-table-column prop="serviceName" header-align="center" align="center" label="服务人员姓名" min-width="160" show-overflow-tooltip/>
-      <el-table-column prop="orderTime" header-align="center" align="center" label="订单时间" min-width="180" show-overflow-tooltip>
-        <template #default="scope">
-          {{(formatToDateTime(scope.row.orderTime))}}
-        </template>
-      </el-table-column>
-      <el-table-column prop="comeTime" header-align="center" align="center" label="上门时间" min-width="180" show-overflow-tooltip>
-        <template #default="scope">
-          {{formatToDateTime(scope.row.serviceBeginTime)}}
-        </template>
-      </el-table-column>
-      <el-table-column prop="elderAddress" header-align="center" align="center" label="地址" min-width="220" show-overflow-tooltip/>
-      <el-table-column prop="isExpire" header-align="center" align="center" label="是否过期" min-width="120" show-overflow-tooltip/>
-      <el-table-column prop="orderStatus" header-align="center" align="center" label="订单状态" min-width="160" show-overflow-tooltip/>
+      <el-table-column prop="buildName" header-align="center" align="center" label="楼栋" min-width="120" show-overflow-tooltip/>
+      <el-table-column prop="floorName" header-align="center" align="center" label="楼层" min-width="120" show-overflow-tooltip/>
+
+      <el-table-column prop="assessDate" header-align="center" align="center" label="登记时间" min-width="220" show-overflow-tooltip/>
+      <el-table-column prop="assessor" header-align="center" align="center" label="登记人" min-width="120" show-overflow-tooltip/>
+      <el-table-column prop="creator" header-align="center" align="center" label="操作人" min-width="160" show-overflow-tooltip/>
 
       <el-table-column label="操作" align="center" width="200" fixed="right">
         <template #default="scope">
@@ -129,53 +118,28 @@
 
   <AddForm ref="formRef" @success="getList" />
 
-  <!-- 通用批量导出弹窗 -->
-  <BatchExportDialog
-    :show="showBatchExport"
-    :title="exportConfig.title"
-    :loading="exportLoading"
-    :batch-min="exportConfig.batchMin"
-    :batch-max="exportConfig.batchMax"
-    :count-min="exportConfig.countMin"
-    :count-max="exportConfig.countMax"
-    :default-batch="exportConfig.defaultBatch"
-    :default-count="exportConfig.defaultCount"
-    :description="exportConfig.description"
-    @update:show="showBatchExport = $event"
-    @confirm="handleBatchExport"
-    @cancel="showBatchExport = false"
-  />
-
-
-  <Import
-    ref="importRef"
-    @success="getList"
-    :config="{
-      title: '导入',
-      downloadUrl: 'elderly-service-order/get-import-template',
-      excelTempName: '居家工单-【导入】模板',
-      importUrl: '/elderly-service-order/import',
-      failExportUrl: '',
-    }"
-  />
+
+
+
 
 </template>
 
 <script setup lang="ts">
 import AddForm from "./AddForm.vue";
 import ButtonAdd from "@/components/ButtonAdd/src/ButtonAdd.vue";
-import ButtonImport from "@/components/ButtonImport/src/ButtonImport.vue";
 
-import {
-  careRecordsPage, elderlyServiceOrderDelete, elderlyServiceOrderPage,
-} from "@/api/member/appointment";
 import download from "@/utils/download";
 import { useUserStore } from '@/store/modules/user'
-import {formatToDate, formatToDateTime, getCurrentMonthRange} from "@/utils/dateUtil";
+import {formatToDate, formatToDateTime} from "@/utils/dateUtil";
 import * as UserApi from "@/api/system/user";
-import Import from "@/components/ImportFile/index.vue";
 import {ref} from "vue";
 import {getBuildList} from "@/api/system/badManage";
+import {
+  dangerousGoodsDelete,
+  dangerousGoodsPage,
+  diaperReceiveDelete,
+  diaperReceivePage
+} from "@/api/social-work";
 const message = useMessage() // 消息弹窗
 const { t } = useI18n() // 国际化
 const userStore = useUserStore()
@@ -187,24 +151,27 @@ const list = ref([]) // 列表的数据
 
 // 状态管理
 const showBatchExport = ref(false)
-const exportConfig = ref({
-  title: '',
-  batchMin: 1,
-  batchMax: 999,
-  countMin: 1,
-  countMax: 200,
-  defaultBatch: 1,
-  defaultCount: 200,
-  description: [] as string[]
-})
 const exportLoading = ref(false)
 
+
+const buildList = ref([])
+const floorList = ref([])
+const handleBuildChange = (buildId: any) => {
+  const selectedBuild = buildList.value.find((item: any) => item.id === buildId)
+  if (selectedBuild) {
+    floorList.value = selectedBuild.floorList || []
+
+  }
+}
+
 let queryParams = reactive({
   pageNo: 1,
   pageSize: 10,
   elderName: '',
   elderPhone: '',
-  discoveryTime: ["2025-12-01",formatToDate()],
+  buildId: '',
+  floorId: '',
+  assessDate: ["2025-12-01",formatToDate()],
   tenantIds: userStore.orgTenantId[0]
 })
 const queryFormRef = ref() // 搜索的表单
@@ -277,8 +244,8 @@ const handleBatchExport = async (batch: number, count: number) => {
 const getList = async () => {
   loading.value = true
   try {
-    //let queryP = {...queryParams,discoveryTime:queryParams.discoveryTime?[queryParams.discoveryTime[0]+" 00:00:00",queryParams.discoveryTime[1]+" 23:59:59"]:null}
-    const data = await elderlyServiceOrderPage(queryParams)
+    //let queryP = {...queryParams,assessDate:queryParams.assessDate?[queryParams.assessDate[0]+" 00:00:00",queryParams.assessDate[1]+" 23:59:59"]:null}
+    const data = await diaperReceivePage(queryParams)
     list.value = data.list
     total.value = data.total
   } finally {
@@ -298,8 +265,10 @@ const handleQuery = async () => {
 /** 重置按钮操作 */
 const resetQuery = () => {
   queryParams.elderName = ''
-  queryParams.tenantId = userStore.orgTenantId[0]
-  queryParams.discoveryTime= ["2025-12-01",formatToDate()]
+  queryParams.buildId = ''
+  queryParams.floorId = ''
+  queryParams.tenantIds = userStore.orgTenantId[0]
+  queryParams.assessDate= ["2025-12-01",formatToDate()]
   queryFormRef.value.resetFields()
   handleQuery()
 }
@@ -335,7 +304,7 @@ const openClose = async (item) => {
     if (res == 'confirm') {
       // 发起
       try {
-        const res = await elderlyServiceOrderDelete(item.id)
+        const res = await diaperReceiveDelete(item.id)
         if (res){
           message.success(t('common.updateSuccess'))
         }
@@ -360,18 +329,15 @@ const cancelDelete = async (id: number) => {
 }
 
 
-const buildList = ref([])
-const floorList = ref([])
+
 
 const route = useRoute()
 /** 初始化 **/
 onMounted(async () => {
-  if(route.query && route.query.elderName){
-    queryParams.elderName = route.query.elderName as string
-  }
+
   getList()
   try {
-    buildList.value = await getBuildList({tenantIds: queryParams.tenantId})
+    buildList.value = await getBuildList({tenantIds: queryParams.tenantIds})
   }catch (e) {}
 })