소스 검색

调整设备档案控件样式

yangguanjin 1 주 전
부모
커밋
ece396e20f

+ 1 - 0
src/components/DeptSelect/DeptSelect.vue

@@ -8,6 +8,7 @@
     value-key="id"
     label-key="name"
     @confirm="handleConfirm"
+    style="width: 100%;"
   >
     <view :class="{'edit-input': isEdit, 'cell-text': !isEdit}">
       <text>{{ innerValueName }}</text>

+ 1 - 0
src/components/DictSelect/DictSelect.vue

@@ -8,6 +8,7 @@
     value-key="value"
     label-key="label"
     @confirm="handleConfirm"
+    style="width: 100%;"
   >
     <view :class="{'edit-input': isEdit, 'cell-text': !isEdit}">
       <text>{{ innerValueName }}</text>

+ 2 - 0
src/components/components.d.ts

@@ -2,6 +2,8 @@ declare module 'vue' {
   export interface GlobalComponents {
 AreaCascader: typeof import('./AreaCascader/AreaCascader.vue')['default']
 Cascader: typeof import('./Cascader/Cascader.vue')['default']
+DeptSelect: typeof import('./DeptSelect/DeptSelect.vue')['default']
+DictSelect: typeof import('./DictSelect/DictSelect.vue')['default']
 NavBar: typeof import('./NavBar/NavBar.vue')['default']
 PageLayout: typeof import('./PageLayout/PageLayout.vue')['default']
 RadioFilterBar: typeof import('./RadioFilterBar/RadioFilterBar.vue')['default']

+ 60 - 125
src/pages/equipment/detail/components/BoilerBaseInfo.vue

@@ -254,17 +254,16 @@
             <text class="cell-title">制造日期</text>
           </view>
           <view class="table-cell content">
-            <picker
+            <wd-datetime-picker
               v-if="isEdit"
-              mode="date"
-              :value="formatDate(equipment.madeTime)"
-              @change="onMadeTimeChange"
+              v-model="equipment.madeTime"
+              type="date"
+              style="width: 100%;"
             >
               <view class="edit-input">
                 <text>{{ formatDate(equipment.madeTime) || '请选择' }}</text>
-                <image class="arrow-icon" src="/static/images/arrow-right.png" />
               </view>
-            </picker>
+            </wd-datetime-picker>
             <text v-else class="cell-text">{{ formatDate(equipment.madeTime) }}</text>
           </view>
         </view>
@@ -478,17 +477,16 @@
             <text class="cell-title">上次内检日期</text>
           </view>
           <view class="table-cell content">
-            <picker
+            <wd-datetime-picker
               v-if="isEdit"
-              mode="date"
-              :value="formatDate(equipment.lastAllDate)"
-              @change="onLastAllDateChange"
+              v-model="equipment.lastAllDate"
+              type="date"
+              style="width: 100%;"
             >
               <view class="edit-input">
                 <text>{{ formatDate(equipment.lastAllDate) || '请选择' }}</text>
-                <image class="arrow-icon" src="/static/images/arrow-right.png" />
               </view>
-            </picker>
+            </wd-datetime-picker>
             <text v-else class="cell-text">{{ formatDate(equipment.lastAllDate) }}</text>
           </view>
         </view>
@@ -499,17 +497,16 @@
             <text class="cell-title">下次内部检验日期</text>
           </view>
           <view class="table-cell content">
-            <picker
+            <wd-datetime-picker
               v-if="isEdit"
-              mode="date"
-              :value="formatDate(equipment.nextInCheckDate)"
-              @change="onNextInCheckDateChange"
+              v-model="equipment.nextInCheckDate"
+              type="date"
+              style="width: 100%;"
             >
               <view class="edit-input">
                 <text>{{ formatDate(equipment.nextInCheckDate) || '请选择' }}</text>
-                <image class="arrow-icon" src="/static/images/arrow-right.png" />
               </view>
-            </picker>
+            </wd-datetime-picker>
             <text v-else class="cell-text">{{ formatDate(equipment.nextInCheckDate) }}</text>
           </view>
         </view>
@@ -576,17 +573,16 @@
             <text class="cell-title">上次外检日期</text>
           </view>
           <view class="table-cell content">
-            <picker
+            <wd-datetime-picker
               v-if="isEdit"
-              mode="date"
-              :value="formatDate(equipment.lastYearDate)"
-              @change="onLastYearDateChange"
+              v-model="equipment.lastYearDate"
+              type="date"
+              style="width: 100%;"
             >
               <view class="edit-input">
                 <text>{{ formatDate(equipment.lastYearDate) || '请选择' }}</text>
-                <image class="arrow-icon" src="/static/images/arrow-right.png" />
               </view>
-            </picker>
+            </wd-datetime-picker>
             <text v-else class="cell-text">{{ formatDate(equipment.lastYearDate) }}</text>
           </view>
         </view>
@@ -597,17 +593,16 @@
             <text class="cell-title">下次外部检验日期</text>
           </view>
           <view class="table-cell content">
-            <picker
+            <wd-datetime-picker
               v-if="isEdit"
-              mode="date"
-              :value="formatDate(equipment.nextOutCheckDate)"
-              @change="onNextOutCheckDateChange"
+              v-model="equipment.nextOutCheckDate"
+              type="date"
+              style="width: 100%;"
             >
               <view class="edit-input">
                 <text>{{ formatDate(equipment.nextOutCheckDate) || '请选择' }}</text>
-                <image class="arrow-icon" src="/static/images/arrow-right.png" />
               </view>
-            </picker>
+            </wd-datetime-picker>
             <text v-else class="cell-text">{{ formatDate(equipment.nextOutCheckDate) }}</text>
           </view>
         </view>
@@ -674,17 +669,16 @@
             <text class="cell-title">上次耐压检验日期</text>
           </view>
           <view class="table-cell content">
-            <picker
+            <wd-datetime-picker
               v-if="isEdit"
-              mode="date"
-              :value="formatDate(equipment.lastPressureDate)"
-              @change="onLastPressureDateChange"
+              v-model="equipment.lastPressureDate"
+              type="date"
+              style="width: 100%;"
             >
               <view class="edit-input">
                 <text>{{ formatDate(equipment.lastPressureDate) || '请选择' }}</text>
-                <image class="arrow-icon" src="/static/images/arrow-right.png" />
               </view>
-            </picker>
+            </wd-datetime-picker>
             <text v-else class="cell-text">{{ formatDate(equipment.lastPressureDate) }}</text>
           </view>
         </view>
@@ -695,17 +689,16 @@
             <text class="cell-title">下次耐压检验日期</text>
           </view>
           <view class="table-cell content">
-            <picker
+            <wd-datetime-picker
               v-if="isEdit"
-              mode="date"
-              :value="formatDate(equipment.nextPressureCheckDate)"
-              @change="onNextPressureCheckDateChange"
+              v-model="equipment.nextPressureCheckDate"
+              type="date"
+              style="width: 100%;"
             >
               <view class="edit-input">
                 <text>{{ formatDate(equipment.nextPressureCheckDate) || '请选择' }}</text>
-                <image class="arrow-icon" src="/static/images/arrow-right.png" />
               </view>
-            </picker>
+            </wd-datetime-picker>
             <text v-else class="cell-text">{{ formatDate(equipment.nextPressureCheckDate) }}</text>
           </view>
         </view>
@@ -772,17 +765,16 @@
             <text class="cell-title">上次能效测试日期</text>
           </view>
           <view class="table-cell content">
-            <picker
+            <wd-datetime-picker
               v-if="isEdit"
-              mode="date"
-              :value="formatDate(equipment.lastenergydate)"
-              @change="onLastEnergyDateChange"
+              v-model="equipment.lastenergydate"
+              type="date"
+              style="width: 100%;"
             >
               <view class="edit-input">
                 <text>{{ formatDate(equipment.lastenergydate) || '请选择' }}</text>
-                <image class="arrow-icon" src="/static/images/arrow-right.png" />
               </view>
-            </picker>
+            </wd-datetime-picker>
             <text v-else class="cell-text">{{ formatDate(equipment.lastenergydate) }}</text>
           </view>
         </view>
@@ -793,17 +785,16 @@
             <text class="cell-title">下次能效测试日期</text>
           </view>
           <view class="table-cell content">
-            <picker
+            <wd-datetime-picker
               v-if="isEdit"
-              mode="date"
-              :value="formatDate(equipment.nextEnergyEffciencyCheckDate)"
-              @change="onNextEnergyDateChange"
+              v-model="equipment.nextEnergyEffciencyCheckDate"
+              type="date"
+              style="width: 100%;"
             >
               <view class="edit-input">
                 <text>{{ formatDate(equipment.nextEnergyEffciencyCheckDate) || '请选择' }}</text>
-                <image class="arrow-icon" src="/static/images/arrow-right.png" />
               </view>
-            </picker>
+            </wd-datetime-picker>
             <text v-else class="cell-text">
               {{ formatDate(equipment.nextEnergyEffciencyCheckDate) }}
             </text>
@@ -824,17 +815,16 @@
             <text class="cell-title">下次节能检验日期</text>
           </view>
           <view class="table-cell content">
-            <picker
+            <wd-datetime-picker
               v-if="isEdit"
-              mode="date"
-              :value="formatDate(equipment.nextEnergySaveCheckDate)"
-              @change="onNextEnergySaveDateChange"
+              v-model="equipment.nextEnergySaveCheckDate"
+              type="date"
+              style="width: 100%;"
             >
               <view class="edit-input">
                 <text>{{ formatDate(equipment.nextEnergySaveCheckDate) || '请选择' }}</text>
-                <image class="arrow-icon" src="/static/images/arrow-right.png" />
               </view>
-            </picker>
+            </wd-datetime-picker>
             <text v-else class="cell-text">
               {{ formatDate(equipment.nextEnergySaveCheckDate) }}
             </text>
@@ -895,17 +885,16 @@
             <text class="cell-title">监督检验开始日期</text>
           </view>
           <view class="table-cell content">
-            <picker
+            <wd-datetime-picker
               v-if="isEdit"
-              mode="date"
-              :value="formatDate(equipment.overseeCheckBeginDate)"
-              @change="onOverseeBeginDateChange"
+              v-model="equipment.overseeCheckBeginDate"
+              type="date"
+              style="width: 100%;"
             >
               <view class="edit-input">
                 <text>{{ formatDate(equipment.overseeCheckBeginDate) || '请选择' }}</text>
-                <image class="arrow-icon" src="/static/images/arrow-right.png" />
               </view>
-            </picker>
+            </wd-datetime-picker>
             <text v-else class="cell-text">{{ formatDate(equipment.overseeCheckBeginDate) }}</text>
           </view>
         </view>
@@ -916,17 +905,16 @@
             <text class="cell-title">监督检验结束日期</text>
           </view>
           <view class="table-cell content">
-            <picker
+            <wd-datetime-picker
               v-if="isEdit"
-              mode="date"
-              :value="formatDate(equipment.overseeCheckEndDate)"
-              @change="onOverseeEndDateChange"
+              v-model="equipment.overseeCheckEndDate"
+              type="date"
+              style="width: 100%;"
             >
               <view class="edit-input">
                 <text>{{ formatDate(equipment.overseeCheckEndDate) || '请选择' }}</text>
-                <image class="arrow-icon" src="/static/images/arrow-right.png" />
               </view>
-            </picker>
+            </wd-datetime-picker>
             <text v-else class="cell-text">{{ formatDate(equipment.overseeCheckEndDate) }}</text>
           </view>
         </view>
@@ -1124,54 +1112,6 @@ const saveToLocal = async () => {
   }
 }
 
-const onMadeTimeChange = (e: any) => {
-  equipment.madeTime = parseDate(e.detail.value)
-}
-
-const onLastAllDateChange = (e: any) => {
-  equipment.lastAllDate = parseDate(e.detail.value)
-}
-
-const onNextInCheckDateChange = (e: any) => {
-  equipment.nextInCheckDate = parseDate(e.detail.value)
-}
-
-const onLastYearDateChange = (e: any) => {
-  equipment.lastYearDate = parseDate(e.detail.value)
-  console.log(equipment.lastYearDate)
-}
-
-const onNextOutCheckDateChange = (e: any) => {
-  equipment.nextOutCheckDate = parseDate(e.detail.value)
-}
-
-const onLastPressureDateChange = (e: any) => {
-  equipment.lastPressureDate = parseDate(e.detail.value)
-}
-
-const onNextPressureCheckDateChange = (e: any) => {
-  equipment.nextPressureCheckDate = parseDate(e.detail.value)
-}
-
-const onLastEnergyDateChange = (e: any) => {
-  equipment.lastenergydate = parseDate(e.detail.value)
-}
-
-const onNextEnergyDateChange = (e: any) => {
-  equipment.nextEnergyEffciencyCheckDate = parseDate(e.detail.value)
-}
-
-const onNextEnergySaveDateChange = (e: any) => {
-  equipment.nextEnergySaveCheckDate = parseDate(e.detail.value)
-}
-
-const onOverseeBeginDateChange = (e: any) => {
-  equipment.overseeCheckBeginDate = parseDate(e.detail.value)
-}
-
-const onOverseeEndDateChange = (e: any) => {
-  equipment.overseeCheckEndDate = parseDate(e.detail.value)
-}
 const formatDate = (date: string | number | null | undefined): string => {
   if (!date) return ''
   if (typeof date === 'number') {
@@ -1181,11 +1121,6 @@ const formatDate = (date: string | number | null | undefined): string => {
   return date
 }
 
-const parseDate = (dateStr: string): number => {
-  if (!dateStr) return 0
-  return new Date(dateStr).getTime()
-}
-
 defineExpose({
   updateAdressInfo: (data: any) => {
     Object.assign(equipment, data)

+ 50 - 96
src/pages/equipment/detail/components/BoilerEquipmentInfo.vue

@@ -161,18 +161,17 @@
             <text class="cell-title">安装竣工日期</text>
           </view>
           <view class="table-cell content">
-            <picker
+            <wd-datetime-picker
               v-if="isEdit"
-              mode="date"
-              :value="formatDate(equipment.completeInstallTime)"
-              :disabled="!isEdit"
-              @change="onCompleteInstallTimeChange"
+              v-model="equipment.completeInstallTime"
+              type="date"
+              style="width: 100%;"
             >
               <view class="edit-input">
                 <text>{{ formatDate(equipment.completeInstallTime) || '请选择' }}</text>
                 <image class="arrow-icon" src="/static/images/arrow-right.png" />
               </view>
-            </picker>
+            </wd-datetime-picker>
             <text v-else class="cell-text">{{ formatDate(equipment.completeInstallTime) }}</text>
           </view>
         </view>
@@ -882,17 +881,17 @@
             <text class="cell-title">水质取样日期</text>
           </view>
           <view class="table-cell content">
-            <picker
+            <wd-datetime-picker
               v-if="isEdit"
-              mode="date"
-              :value="formatDate(equipment.waterQualitySamplingDate)"
-              @change="onWaterQualitySamplingDateChange"
+              v-model="equipment.waterQualitySamplingDate"
+              type="date"
+              style="width: 100%;"
             >
               <view class="edit-input">
                 <text>{{ formatDate(equipment.waterQualitySamplingDate) || '请选择' }}</text>
                 <image class="arrow-icon" src="/static/images/arrow-right.png" />
               </view>
-            </picker>
+            </wd-datetime-picker>
             <text v-else class="cell-text">
               {{ formatDate(equipment.waterQualitySamplingDate) }}
             </text>
@@ -999,17 +998,17 @@
             <text class="cell-title">注册登记日期</text>
           </view>
           <view class="table-cell content">
-            <picker
+            <wd-datetime-picker
               v-if="isEdit"
-              mode="date"
-              :value="formatDate(equipment.registDate)"
-              @change="onRegistDateChange"
+              v-model="equipment.registDate"
+              type="date"
+              style="width: 100%;"
             >
               <view class="edit-input">
                 <text>{{ formatDate(equipment.registDate) || '请选择' }}</text>
                 <image class="arrow-icon" src="/static/images/arrow-right.png" />
               </view>
-            </picker>
+            </wd-datetime-picker>
             <text v-else class="cell-text">{{ formatDate(equipment.registDate) }}</text>
           </view>
         </view>
@@ -1052,17 +1051,17 @@
             <text class="cell-title">投用日期</text>
           </view>
           <view class="table-cell content">
-            <picker
+            <wd-datetime-picker
               v-if="isEdit"
-              mode="date"
-              :value="formatDate(equipment.useTime)"
-              @change="onUseTimeChange"
+              v-model="equipment.useTime"
+              type="date"
+              style="width: 100%;"
             >
               <view class="edit-input">
                 <text>{{ formatDate(equipment.useTime) || '请选择' }}</text>
                 <image class="arrow-icon" src="/static/images/arrow-right.png" />
               </view>
-            </picker>
+            </wd-datetime-picker>
             <text v-else class="cell-text">{{ formatDate(equipment.useTime) }}</text>
           </view>
         </view>
@@ -1073,17 +1072,17 @@
             <text class="cell-title">更新日期</text>
           </view>
           <view class="table-cell content">
-            <picker
+            <wd-datetime-picker
               v-if="isEdit"
-              mode="date"
-              :value="formatDate(equipment.equipUpdateTime)"
-              @change="onEquipUpdateTimeChange"
+              v-model="equipment.equipUpdateTime"
+              type="date"
+              style="width: 100%;"
             >
               <view class="edit-input">
                 <text>{{ formatDate(equipment.equipUpdateTime) || '请选择' }}</text>
                 <image class="arrow-icon" src="/static/images/arrow-right.png" />
               </view>
-            </picker>
+            </wd-datetime-picker>
             <text v-else class="cell-text">{{ formatDate(equipment.equipUpdateTime) }}</text>
           </view>
         </view>
@@ -1094,17 +1093,17 @@
             <text class="cell-title">出厂日期</text>
           </view>
           <view class="table-cell content">
-            <picker
+            <wd-datetime-picker
               v-if="isEdit"
-              mode="date"
-              :value="formatDate(equipment.ccrq)"
-              @change="onCcrqChange"
+              v-model="equipment.ccrq"
+              type="date"
+              style="width: 100%;"
             >
               <view class="edit-input">
                 <text>{{ formatDate(equipment.ccrq) || '请选择' }}</text>
                 <image class="arrow-icon" src="/static/images/arrow-right.png" />
               </view>
-            </picker>
+            </wd-datetime-picker>
             <text v-else class="cell-text">{{ formatDate(equipment.ccrq) }}</text>
           </view>
         </view>
@@ -1131,17 +1130,17 @@
             <text class="cell-title">下次检验日期</text>
           </view>
           <view class="table-cell content">
-            <picker
+            <wd-datetime-picker
               v-if="isEdit"
-              mode="date"
-              :value="formatDate(equipment.nextcheckdate)"
-              @change="onNextcheckdateChange"
+              v-model="equipment.nextcheckdate"
+              type="date"
+              style="width: 100%;"
             >
               <view class="edit-input">
                 <text>{{ formatDate(equipment.nextcheckdate) || '请选择' }}</text>
                 <image class="arrow-icon" src="/static/images/arrow-right.png" />
               </view>
-            </picker>
+            </wd-datetime-picker>
             <text v-else class="cell-text">{{ formatDate(equipment.nextcheckdate) }}</text>
           </view>
         </view>
@@ -1168,17 +1167,17 @@
             <text class="cell-title">有机热载体使用日期</text>
           </view>
           <view class="table-cell content">
-            <picker
+            <wd-datetime-picker
               v-if="isEdit"
-              mode="date"
-              :value="formatDate(equipment.oilEquipMakeDate)"
-              @change="onOilEquipMakeDateChange"
+              v-model="equipment.oilEquipMakeDate"
+              type="date"
+              style="width: 100%;"
             >
               <view class="edit-input">
                 <text>{{ formatDate(equipment.oilEquipMakeDate) || '请选择' }}</text>
                 <image class="arrow-icon" src="/static/images/arrow-right.png" />
               </view>
-            </picker>
+            </wd-datetime-picker>
             <text v-else class="cell-text">{{ formatDate(equipment.oilEquipMakeDate) }}</text>
           </view>
         </view>
@@ -1253,17 +1252,17 @@
             <text class="cell-title">下次导热油取样日期</text>
           </view>
           <view class="table-cell content">
-            <picker
+            <wd-datetime-picker
               v-if="isEdit"
-              mode="date"
-              :value="formatDate(equipment.oilsamplingdate)"
-              @change="onOilsamplingdateChange"
+              v-model="equipment.oilsamplingdate"
+              type="date"
+              style="width: 100%;"
             >
               <view class="edit-input">
                 <text>{{ formatDate(equipment.oilsamplingdate) || '请选择' }}</text>
                 <image class="arrow-icon" src="/static/images/arrow-right.png" />
               </view>
-            </picker>
+            </wd-datetime-picker>
             <text v-else class="cell-text">{{ formatDate(equipment.oilsamplingdate) }}</text>
           </view>
         </view>
@@ -1546,17 +1545,17 @@
             <text class="cell-title">下次环保监测日期</text>
           </view>
           <view class="table-cell content">
-            <picker
+            <wd-datetime-picker
               v-if="isEdit"
-              mode="date"
-              :value="formatDate(equipment.nextEcoDate)"
-              @change="onNextEcoDateChange"
+              v-model="equipment.nextEcoDate"
+              type="date"
+              style="width: 100%;"
             >
               <view class="edit-input">
                 <text>{{ formatDate(equipment.nextEcoDate) || '请选择' }}</text>
                 <image class="arrow-icon" src="/static/images/arrow-right.png" />
               </view>
-            </picker>
+            </wd-datetime-picker>
             <text v-else class="cell-text">{{ formatDate(equipment.nextEcoDate) }}</text>
           </view>
         </view>
@@ -1773,46 +1772,6 @@ const saveToLocal = async () => {
   }
 }
 
-const onCompleteInstallTimeChange = (e: any) => {
-  equipment.completeInstallTime = parseDate(e.detail.value)
-}
-
-const onWaterQualitySamplingDateChange = (e: any) => {
-  equipment.waterQualitySamplingDate = parseDate(e.detail.value)
-}
-
-const onRegistDateChange = (e: any) => {
-  equipment.registDate = parseDate(e.detail.value)
-}
-
-const onUseTimeChange = (e: any) => {
-  equipment.useTime = parseDate(e.detail.value)
-}
-
-const onEquipUpdateTimeChange = (e: any) => {
-  equipment.equipUpdateTime = parseDate(e.detail.value)
-}
-
-const onCcrqChange = (e: any) => {
-  equipment.ccrq = parseDate(e.detail.value)
-}
-
-const onNextcheckdateChange = (e: any) => {
-  equipment.nextcheckdate = parseDate(e.detail.value)
-}
-
-const onNextEcoDateChange = (e: any) => {
-  equipment.nextEcoDate = parseDate(e.detail.value)
-}
-
-const onOilEquipMakeDateChange = (e: any) => {
-  equipment.oilEquipMakeDate = parseDate(e.detail.value)
-}
-
-const onOilsamplingdateChange = (e: any) => {
-  equipment.oilsamplingdate = parseDate(e.detail.value)
-}
-
 const onIsBigChange = (e: any) => {
   equipment.isBig = e.detail.value
 }
@@ -1846,11 +1805,6 @@ const formatDate = (date: string | number | null | undefined): string => {
   return date
 }
 
-const parseDate = (dateStr: string): number => {
-  if (!dateStr) return 0
-  return new Date(dateStr).getTime()
-}
-
 defineExpose({
   updateAdressInfo: (data: any) => {
     Object.assign(equipment, data)

+ 20 - 41
src/pages/equipment/detail/components/PipeBaseInfo.vue

@@ -352,17 +352,17 @@
             <text class="cell-title">下次全面检验日期</text>
           </view>
           <view class="table-cell content">
-            <picker
+            <wd-datetime-picker
               v-if="isEdit"
-              mode="date"
-              :value="formatDate(equipment.nextLegalCheckDate)"
-              @change="onNextLegalCheckDateChange"
+              v-model="equipment.nextLegalCheckDate"
+              type="date"
+              style="width: 100%;"
             >
               <view class="edit-input">
                 <text>{{ formatDate(equipment.nextLegalCheckDate) || '请选择' }}</text>
                 <image class="arrow-icon" src="/static/images/arrow-right.png" />
               </view>
-            </picker>
+            </wd-datetime-picker>
             <text v-else class="cell-text">{{ formatDate(equipment.nextLegalCheckDate) }}</text>
           </view>
         </view>
@@ -445,17 +445,17 @@
             <text class="cell-title">下次年检日期</text>
           </view>
           <view class="table-cell content">
-            <picker
+            <wd-datetime-picker
               v-if="isEdit"
-              mode="date"
-              :value="formatDate(equipment.nextYearCheckDate)"
-              @change="onNextYearCheckDateChange"
+              v-model="equipment.nextYearCheckDate"
+              type="date"
+              style="width: 100%;"
             >
               <view class="edit-input">
                 <text>{{ formatDate(equipment.nextYearCheckDate) || '请选择' }}</text>
                 <image class="arrow-icon" src="/static/images/arrow-right.png" />
               </view>
-            </picker>
+            </wd-datetime-picker>
             <text v-else class="cell-text">{{ formatDate(equipment.nextYearCheckDate) }}</text>
           </view>
         </view>
@@ -538,17 +538,17 @@
             <text class="cell-title">监督检验开始日期</text>
           </view>
           <view class="table-cell content">
-            <picker
+            <wd-datetime-picker
               v-if="isEdit"
-              mode="date"
-              :value="formatDate(equipment.supervisionStartDate)"
-              @change="onSupervisionStartDateChange"
+              v-model="equipment.supervisionStartDate"
+              type="date"
+              style="width: 100%;"
             >
               <view class="edit-input">
                 <text>{{ formatDate(equipment.supervisionStartDate) || '请选择' }}</text>
                 <image class="arrow-icon" src="/static/images/arrow-right.png" />
               </view>
-            </picker>
+            </wd-datetime-picker>
             <text v-else class="cell-text">{{ formatDate(equipment.supervisionStartDate) }}</text>
           </view>
         </view>
@@ -559,17 +559,17 @@
             <text class="cell-title">监督检验结束日期</text>
           </view>
           <view class="table-cell content">
-            <picker
+            <wd-datetime-picker
               v-if="isEdit"
-              mode="date"
-              :value="formatDate(equipment.supervisionEndDate)"
-              @change="onSupervisionEndDateChange"
+              v-model="equipment.supervisionEndDate"
+              type="date"
+              style="width: 100%;"
             >
               <view class="edit-input">
                 <text>{{ formatDate(equipment.supervisionEndDate) || '请选择' }}</text>
                 <image class="arrow-icon" src="/static/images/arrow-right.png" />
               </view>
-            </picker>
+            </wd-datetime-picker>
             <text v-else class="cell-text">{{ formatDate(equipment.supervisionEndDate) }}</text>
           </view>
         </view>
@@ -697,11 +697,6 @@ const formatDate = (date: string | number | null | undefined): string => {
   return date
 }
 
-const parseDate = (dateStr: string): number => {
-  if (!dateStr) return 0
-  return new Date(dateStr).getTime()
-}
-
 const handleEdit = () => {
   if (isEdit.value) {
     handleSave()
@@ -768,22 +763,6 @@ const saveToLocal = async () => {
   }
 }
 
-const onNextLegalCheckDateChange = (e: any) => {
-  equipment.nextLegalCheckDate = parseDate(e.detail.value)
-}
-
-const onNextYearCheckDateChange = (e: any) => {
-  equipment.nextYearCheckDate = parseDate(e.detail.value)
-}
-
-const onSupervisionStartDateChange = (e: any) => {
-  equipment.supervisionStartDate = parseDate(e.detail.value)
-}
-
-const onSupervisionEndDateChange = (e: any) => {
-  equipment.supervisionEndDate = parseDate(e.detail.value)
-}
-
 defineExpose({
   updateAdressInfo: (data: any) => {
     Object.assign(equipment, data)

+ 60 - 113
src/pages/equipment/detail/components/PipeEquipmentInfo.vue

@@ -366,17 +366,17 @@
             <text class="cell-title">验收日期</text>
           </view>
           <view class="table-cell content">
-            <picker
+            <wd-datetime-picker
               v-if="isEdit"
-              mode="date"
-              :value="formatDate(equipment.acceptdate)"
-              @change="onAcceptDateChange"
+              v-model="equipment.acceptdate"
+              type="date"
+              style="width: 100%;"
             >
               <view class="edit-input">
                 <text>{{ formatDate(equipment.acceptdate) || '请选择' }}</text>
                 <image class="arrow-icon" src="/static/images/arrow-right.png" />
               </view>
-            </picker>
+            </wd-datetime-picker>
             <text v-else class="cell-text">{{ formatDate(equipment.acceptdate) }}</text>
           </view>
         </view>
@@ -467,17 +467,17 @@
             <text class="cell-title">设计日期</text>
           </view>
           <view class="table-cell content">
-            <picker
+            <wd-datetime-picker
               v-if="isEdit"
-              mode="date"
-              :value="formatDate(equipment.designdate)"
-              @change="onDesignDateChange"
+              v-model="equipment.designdate"
+              type="date"
+              style="width: 100%;"
             >
               <view class="edit-input">
                 <text>{{ formatDate(equipment.designdate) || '请选择' }}</text>
                 <image class="arrow-icon" src="/static/images/arrow-right.png" />
               </view>
-            </picker>
+            </wd-datetime-picker>
             <text v-else class="cell-text">{{ formatDate(equipment.designdate) }}</text>
           </view>
         </view>
@@ -536,17 +536,17 @@
             <text class="cell-title">安装日期</text>
           </view>
           <view class="table-cell content">
-            <picker
+            <wd-datetime-picker
               v-if="isEdit"
-              mode="date"
-              :value="formatDate(equipment.installdate)"
-              @change="onInstallDateChange"
+              v-model="equipment.installdate"
+              type="date"
+              style="width: 100%;"
             >
               <view class="edit-input">
                 <text>{{ formatDate(equipment.installdate) || '请选择' }}</text>
                 <image class="arrow-icon" src="/static/images/arrow-right.png" />
               </view>
-            </picker>
+            </wd-datetime-picker>
             <text v-else class="cell-text">{{ formatDate(equipment.installdate) }}</text>
           </view>
         </view>
@@ -653,17 +653,17 @@
             <text class="cell-title">下次在线检验日期</text>
           </view>
           <view class="table-cell content">
-            <picker
+            <wd-datetime-picker
               v-if="isEdit"
-              mode="date"
-              :value="formatDate(equipment.nextonlinedate)"
-              @change="onNextOnlineDateChange"
+              v-model="equipment.nextonlinedate"
+              type="date"
+              style="width: 100%;"
             >
               <view class="edit-input">
                 <text>{{ formatDate(equipment.nextonlinedate) || '请选择' }}</text>
                 <image class="arrow-icon" src="/static/images/arrow-right.png" />
               </view>
-            </picker>
+            </wd-datetime-picker>
             <text v-else class="cell-text">{{ formatDate(equipment.nextonlinedate) }}</text>
           </view>
         </view>
@@ -1144,17 +1144,17 @@
                     <text class="cell-title">投入使用日期</text>
                   </view>
                   <view class="table-cell content">
-                    <picker
+                    <wd-datetime-picker
                       v-if="isEdit"
-                      mode="date"
-                      :value="formatDate(pipe.commissioningDate)"
-                      @change="onPipeUseDateChange(index, $event)"
+                      v-model="pipe.commissioningDate"
+                      type="date"
+                      style="width: 100%;"
                     >
                       <view class="edit-input">
                         <text>{{ formatDate(pipe.commissioningDate) || '请选择' }}</text>
                         <image class="arrow-icon" src="/static/images/arrow-right.png" />
                       </view>
-                    </picker>
+                    </wd-datetime-picker>
                     <text v-else class="cell-text">{{ formatDate(pipe.commissioningDate) }}</text>
                   </view>
                 </view>
@@ -1181,17 +1181,17 @@
                     <text class="cell-title">开工日期</text>
                   </view>
                   <view class="table-cell content">
-                    <picker
+                    <wd-datetime-picker
                       v-if="isEdit"
-                      mode="date"
-                      :value="formatDate(pipe.constructionStartDate)"
-                      @change="onPipeStartDateChange(index, $event)"
+                      v-model="pipe.constructionStartDate"
+                      type="date"
+                      style="width: 100%;"
                     >
                       <view class="edit-input">
                         <text>{{ formatDate(pipe.constructionStartDate) || '请选择' }}</text>
                         <image class="arrow-icon" src="/static/images/arrow-right.png" />
                       </view>
-                    </picker>
+                    </wd-datetime-picker>
                     <text v-else class="cell-text">
                       {{ formatDate(pipe.constructionStartDate) }}
                     </text>
@@ -1204,17 +1204,17 @@
                     <text class="cell-title">交工日期</text>
                   </view>
                   <view class="table-cell content">
-                    <picker
+                    <wd-datetime-picker
                       v-if="isEdit"
-                      mode="date"
-                      :value="formatDate(pipe.handoverDate)"
-                      @change="onPipeCompleteDateChange(index, $event)"
+                      v-model="pipe.handoverDate"
+                      type="date"
+                      style="width: 100%;"
                     >
                       <view class="edit-input">
                         <text>{{ formatDate(pipe.handoverDate) || '请选择' }}</text>
                         <image class="arrow-icon" src="/static/images/arrow-right.png" />
                       </view>
-                    </picker>
+                    </wd-datetime-picker>
                     <text v-else class="cell-text">{{ formatDate(pipe.handoverDate) }}</text>
                   </view>
                 </view>
@@ -1272,17 +1272,17 @@
                     <text class="cell-title">下次在线检验日期</text>
                   </view>
                   <view class="table-cell content">
-                    <picker
+                    <wd-datetime-picker
                       v-if="isEdit"
-                      mode="date"
-                      :value="formatDate(pipe.nextOnlineCheckDate)"
-                      @change="onPipeNextOnlineCheckDateChange(index, $event)"
+                      v-model="pipe.nextOnlineCheckDate"
+                      type="date"
+                      style="width: 100%;"
                     >
                       <view class="edit-input">
                         <text>{{ formatDate(pipe.nextOnlineCheckDate) || '请选择' }}</text>
                         <image class="arrow-icon" src="/static/images/arrow-right.png" />
                       </view>
-                    </picker>
+                    </wd-datetime-picker>
                     <text v-else class="cell-text">{{ formatDate(pipe.nextOnlineCheckDate) }}</text>
                   </view>
                 </view>
@@ -1365,17 +1365,17 @@
                     <text class="cell-title">上次全面检验日期</text>
                   </view>
                   <view class="table-cell content">
-                    <picker
+                    <wd-datetime-picker
                       v-if="isEdit"
-                      mode="date"
-                      :value="formatDate(pipe.lastalldate)"
-                      @change="onPipeLastFullCheckDateChange(index, $event)"
+                      v-model="pipe.lastalldate"
+                      type="date"
+                      style="width: 100%;"
                     >
                       <view class="edit-input">
                         <text>{{ formatDate(pipe.lastalldate) || '请选择' }}</text>
                         <image class="arrow-icon" src="/static/images/arrow-right.png" />
                       </view>
-                    </picker>
+                    </wd-datetime-picker>
                     <text v-else class="cell-text">{{ formatDate(pipe.lastalldate) }}</text>
                   </view>
                 </view>
@@ -1386,17 +1386,17 @@
                     <text class="cell-title">下次全面检验日期</text>
                   </view>
                   <view class="table-cell content">
-                    <picker
+                    <wd-datetime-picker
                       v-if="isEdit"
-                      mode="date"
-                      :value="formatDate(pipe.nextLegalCheckDate)"
-                      @change="onPipeNextFullCheckDateChange(index, $event)"
+                      v-model="pipe.nextLegalCheckDate"
+                      type="date"
+                      style="width: 100%;"
                     >
                       <view class="edit-input">
                         <text>{{ formatDate(pipe.nextLegalCheckDate) || '请选择' }}</text>
                         <image class="arrow-icon" src="/static/images/arrow-right.png" />
                       </view>
-                    </picker>
+                    </wd-datetime-picker>
                     <text v-else class="cell-text">{{ formatDate(pipe.nextLegalCheckDate) }}</text>
                   </view>
                 </view>
@@ -1479,17 +1479,17 @@
                     <text class="cell-title">上次年检日期</text>
                   </view>
                   <view class="table-cell content">
-                    <picker
+                    <wd-datetime-picker
                       v-if="isEdit"
-                      mode="date"
-                      :value="formatDate(pipe.lastonlinedate)"
-                      @change="onPipeLastYearCheckDateChange(index, $event)"
+                      v-model="pipe.lastonlinedate"
+                      type="date"
+                      style="width: 100%;"
                     >
                       <view class="edit-input">
                         <text>{{ formatDate(pipe.lastonlinedate) || '请选择' }}</text>
                         <image class="arrow-icon" src="/static/images/arrow-right.png" />
                       </view>
-                    </picker>
+                    </wd-datetime-picker>
                     <text v-else class="cell-text">{{ formatDate(pipe.lastonlinedate) }}</text>
                   </view>
                 </view>
@@ -1500,17 +1500,17 @@
                     <text class="cell-title">下次年检日期</text>
                   </view>
                   <view class="table-cell content">
-                    <picker
+                    <wd-datetime-picker
                       v-if="isEdit"
-                      mode="date"
-                      :value="formatDate(pipe.nextYearCheckDate)"
-                      @change="onPipeNextYearCheckDateChange(index, $event)"
+                      v-model="pipe.nextYearCheckDate"
+                      type="date"
+                      style="width: 100%;"
                     >
                       <view class="edit-input">
                         <text>{{ formatDate(pipe.nextYearCheckDate) || '请选择' }}</text>
                         <image class="arrow-icon" src="/static/images/arrow-right.png" />
                       </view>
-                    </picker>
+                    </wd-datetime-picker>
                     <text v-else class="cell-text">{{ formatDate(pipe.nextYearCheckDate) }}</text>
                   </view>
                 </view>
@@ -1904,59 +1904,6 @@ const formatDate = (date: string | number | null | undefined): string => {
   return date
 }
 
-const parseDate = (dateStr: string): number => {
-  if (!dateStr) return 0
-  return new Date(dateStr).getTime()
-}
-
-const onAcceptDateChange = (e: any) => {
-  equipment.acceptdate = parseDate(e.detail.value)
-}
-
-const onDesignDateChange = (e: any) => {
-  equipment.designdate = parseDate(e.detail.value)
-}
-
-const onInstallDateChange = (e: any) => {
-  equipment.installdate = parseDate(e.detail.value)
-}
-
-const onNextOnlineDateChange = (e: any) => {
-  equipment.nextonlinedate = parseDate(e.detail.value)
-}
-
-const onPipeUseDateChange = (index: number, e: any) => {
-  pipeList.value[index].commissioningDate = parseDate(e.detail.value)
-}
-
-const onPipeStartDateChange = (index: number, e: any) => {
-  pipeList.value[index].constructionStartDate = parseDate(e.detail.value)
-}
-
-const onPipeCompleteDateChange = (index: number, e: any) => {
-  pipeList.value[index].handoverDate = parseDate(e.detail.value)
-}
-
-const onPipeNextOnlineCheckDateChange = (index: number, e: any) => {
-  pipeList.value[index].nextOnlineCheckDate = parseDate(e.detail.value)
-}
-
-const onPipeLastFullCheckDateChange = (index: number, e: any) => {
-  pipeList.value[index].lastalldate = parseDate(e.detail.value)
-}
-
-const onPipeNextFullCheckDateChange = (index: number, e: any) => {
-  pipeList.value[index].nextLegalCheckDate = parseDate(e.detail.value)
-}
-
-const onPipeLastYearCheckDateChange = (index: number, e: any) => {
-  pipeList.value[index].lastonlinedate = parseDate(e.detail.value)
-}
-
-const onPipeNextYearCheckDateChange = (index: number, e: any) => {
-  pipeList.value[index].nextYearCheckDate = parseDate(e.detail.value)
-}
-
 defineExpose({
   updateAdressInfo: (data: any) => {
     Object.assign(equipment, data)