소스 검색

修复bug

Huanyi 2 주 전
부모
커밋
04de6ef925

+ 0 - 0
src/components/AddCustomerDialog/index.vue → src/components/EditCustomerDialog/index.vue


+ 4 - 8
src/components/AddPetDialog/index.vue → src/components/EditPetDialog/index.vue

@@ -130,7 +130,7 @@
         </div>
         <el-row :gutter="20">
           <el-col :span="showVaccineCert ? 6 : 8">
-            <el-form-item label="健康状态" required>
+            <el-form-item label="健康状态">
               <el-select v-model="form.healthStatus" placeholder="请选择">
                 <el-option value="健康" label="健康" />
                 <el-option value="亚健康" label="亚健康" />
@@ -139,7 +139,7 @@
             </el-form-item>
           </el-col>
           <el-col :span="showVaccineCert ? 6 : 8">
-            <el-form-item label="攻击倾向" required>
+            <el-form-item label="攻击倾向">
               <el-switch v-model="form.aggression" active-text="是" inactive-text="否" :active-value="1"
                 :inactive-value="0" />
             </el-form-item>
@@ -183,12 +183,12 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="既往病史" required>
+            <el-form-item label="既往病史">
               <el-input v-model="form.medicalHistory" type="textarea" :rows="2" placeholder="如有病史请记录" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="过敏史" required>
+            <el-form-item label="过敏史">
               <el-input v-model="form.allergies" type="textarea" :rows="2" placeholder="如有过敏源请记录" />
             </el-form-item>
           </el-col>
@@ -348,11 +348,7 @@ const saveData = () => {
   if (!form.houseType) return ElMessage.warning('请选择家庭房屋类型')
   if (form.entryMethod === 'password' && !form.entryPassword) return ElMessage.warning('请输入门锁密码')
   if (form.entryMethod === 'key' && !form.keyLocation) return ElMessage.warning('请输入钥匙存放位置')
-  if (!form.healthStatus) return ElMessage.warning('请选择健康状态')
-  if (form.aggression === undefined || form.aggression === null) return ElMessage.warning('请选择是否有攻击倾向')
   if (!form.vaccineStatus) return ElMessage.warning('请选择疫苗情况')
-  if (!form.medicalHistory) return ElMessage.warning('请输入既往病史')
-  if (!form.allergies) return ElMessage.warning('请输入过敏史')
   submitLoading.value = true
   const data = { ...form, aggression: Number(form.aggression) || 0 }
   const api = isEdit.value ? updatePet(data) : addPet(data)

+ 13 - 2
src/components/PageSelect/index.vue

@@ -1,7 +1,8 @@
 <template>
   <div class="page-select">
     <el-select v-bind="{ ...$attrs, value: undefined }" v-model="localValue" :filterable="true" :remote="true"
-      :remote-method="onFilterMethod" @visible-change="handleVisibleChange" @change="handleInput">
+      popper-class="page-select-popper" :remote-method="onFilterMethod" @visible-change="handleVisibleChange"
+      @change="handleInput">
       <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
       <!-- 分页组件 -->
       <div v-if="total > 0" class="brand-pagination">
@@ -121,8 +122,12 @@ const onFilterMethod = (query: string) => {
 }
 
 .brand-pagination {
+  position: sticky;
+  bottom: 0;
+  background: #fff;
+  z-index: 1;
   margin-top: 10px;
-  padding-top: 10px;
+  padding: 10px 0;
   border-top: 1px solid #ebeef5;
   text-align: center;
 }
@@ -173,4 +178,10 @@ const onFilterMethod = (query: string) => {
   font-size: 12px;
   color: #909399;
 }
+</style>
+
+<style>
+.page-select-popper .el-select-dropdown__wrap {
+  max-height: 360px !important;
+}
 </style>

+ 4 - 4
src/views/archieves/customer/index.vue

@@ -99,7 +99,7 @@
     <pet-detail-drawer v-model:visible="petDrawerVisible" :pet-id="selectedPetId" editable @remark-saved="getList" />
 
     <!-- Add/Edit User Dialog -->
-    <AddCustomerDialog v-model:visible="dialogVisible" :edit-data="customerEditData" @success="onCustomerSaved" />
+    <EditCustomerDialog v-model:visible="dialogVisible" :edit-data="customerEditData" @success="onCustomerSaved" />
 
     <!-- Remark Dialog -->
     <el-dialog v-model="remarkDialogVisible" title="添加备注" width="400px">
@@ -112,7 +112,7 @@
       </template>
     </el-dialog>
 
-    <AddPetDialog v-model:visible="petDialogVisible" :user-id="currentUser.id"
+    <EditPetDialog v-model:visible="petDialogVisible" :user-id="currentUser.id"
       :user-options="currentUser.id ? [currentUser] : []" :pet-data="petEditData" :locked-owner="true"
       @success="onPetSaved" />
   </div>
@@ -129,8 +129,8 @@ import { listAreaStation } from '@/api/system/areaStation'
 import { useRegionData } from '@/hooks/useRegionData'
 import CustomerDetailDrawer from '@/components/CustomerDetailDrawer/index.vue'
 import PetDetailDrawer from '@/components/PetDetailDrawer/index.vue'
-import AddCustomerDialog from '@/components/AddCustomerDialog/index.vue'
-import AddPetDialog from '@/components/AddPetDialog/index.vue'
+import EditCustomerDialog from '@/components/EditCustomerDialog/index.vue'
+import EditPetDialog from '@/components/EditPetDialog/index.vue'
 import { useUserStore } from '@/store/modules/user'
 
 const userStore = useUserStore()

+ 2 - 2
src/views/archieves/pet/index.vue

@@ -75,7 +75,7 @@
       </div>
     </el-card>
 
-    <AddPetDialog v-model:visible="dialogVisible" :user-options="userList" :pet-data="petEditData"
+    <EditPetDialog v-model:visible="dialogVisible" :user-options="userList" :pet-data="petEditData"
       @success="onPetSaved" />
 
     <!-- Pet Profile Drawer (已抽离为公共组件) -->
@@ -97,7 +97,7 @@
 <script setup>
 import { ref, reactive, onMounted, getCurrentInstance, toRefs } from 'vue';
 import PetDetailDrawer from '@/components/PetDetailDrawer/index.vue';
-import AddPetDialog from '@/components/AddPetDialog/index.vue';
+import EditPetDialog from '@/components/EditPetDialog/index.vue';
 import { ElMessage, ElMessageBox } from 'element-plus';
 import { listPet, getPet, delPet, updatePetRemark } from '@/api/archieves/pet';
 import { listAllTag } from '@/api/archieves/tag';

+ 4 - 4
src/views/order/purchase/index.vue

@@ -192,9 +192,9 @@
 
     <!-- Dialogs -->
     <!-- Add User Dialog -->
-    <AddCustomerDialog v-model:visible="userDialogVisible" :station-id="currentStationId" :order-mode="true"
+    <EditCustomerDialog v-model:visible="userDialogVisible" :station-id="currentStationId" :order-mode="true"
       @success="handleUserSuccess" />
-    <AddPetDialog v-model:visible="petDialogVisible" :user-id="form.userId" :user-options="userOptions"
+    <EditPetDialog v-model:visible="petDialogVisible" :user-id="form.userId" :user-options="userOptions"
       :locked-owner="true" @success="handlePetSuccess" />
   </div>
 </template>
@@ -205,8 +205,8 @@ import { ElMessage } from 'element-plus';
 import TransportForm from './components/TransportForm.vue';
 import FeedingForm from './components/FeedingForm.vue';
 import WashingForm from './components/WashingForm.vue';
-import AddCustomerDialog from '@/components/AddCustomerDialog/index.vue';
-import AddPetDialog from '@/components/AddPetDialog/index.vue';
+import EditCustomerDialog from '@/components/EditCustomerDialog/index.vue';
+import EditPetDialog from '@/components/EditPetDialog/index.vue';
 import PageSelect from '@/components/PageSelect/index.vue';
 import { listStoreOnOrder } from '@/api/system/store';
 import { listAllService } from '@/api/service/list/index';

+ 1 - 0
vite.config.ts

@@ -25,6 +25,7 @@ export default defineConfig(({ mode, command }) => {
       proxy: {
         [env.VITE_APP_BASE_API]: {
           target: 'http://127.0.0.1:8080',
+          // target: 'http://111.228.46.254/api',
           // target: 'https://www.hoomeng.pet/api',
           changeOrigin: true,
           ws: true,