gaoluyang
2 天以前 c899675f6cd2303dc802ee7d04d4bf5dc903ac02
src/pages/safeProduction/safetyTrainingAssessment/index.vue
@@ -100,7 +100,7 @@
          </view>
          <!-- 按钮区域 -->
          <view class="action-buttons">
            <u-button type="primary"
            <!-- <u-button type="primary"
                      size="small"
                      class="action-btn"
                      :disabled="item.state !== 0"
@@ -118,7 +118,7 @@
                      class="action-btn"
                      @click="deleteVisit(item)">
              删除
            </u-button>
            </u-button> -->
          </view>
          <view class="action-buttons">
            <u-button type="warning"
@@ -149,12 +149,12 @@
                        @cancel="handleDateCancel"
                        title="选择培训日期" />
    <!-- 浮动新增按钮 -->
    <view class="fab-button"
    <!-- <view class="fab-button"
          @click="addVisit">
      <up-icon name="plus"
               size="24"
               color="#ffffff"></up-icon>
    </view>
    </view> -->
  </view>
</template>
@@ -186,20 +186,22 @@
  // 获取字典数据
  const { safe_training_methods } = useDict("safe_training_methods");
  // 搜索关键词
  const searchKeyword = ref("");
  // 搜索关键词,默认为当天日期
  const searchKeyword = ref(dayjs().format("YYYY-MM-DD"));
  // 日期选择器状态
  const trainingDateVisible = ref(false);
  // 日期组件绑定值(用于控制默认选中日期)
  const trainingDateModel = ref(Date.now());
  const tabList = reactive([
    { name: "未开始", value: 0 },
    { name: "进行中", value: 1 },
    { name: "已结束", value: 2 },
  ]);
  // 搜索表单
  // 搜索表单,培训日期默认当天
  const searchForm = ref({
    state: 0, // 默认显示已结束
    trainingDate: "",
    state: 0,
    trainingDate: dayjs().format("YYYY-MM-DD"),
  });
  const tabhandleQuery = val => {
    searchForm.value.state = val.value;
@@ -275,6 +277,7 @@
  const clearDate = () => {
    searchKeyword.value = "";
    searchForm.value.trainingDate = "";
    trainingDateModel.value = Date.now();
    getList();
  };
  // 显示日期选择器
@@ -284,8 +287,23 @@
  // 处理日期选择确认
  const handleDateConfirm = e => {
    searchKeyword.value = dayjs(e.value).format("YYYY-MM-DD");
    searchForm.value.trainingDate = dayjs(e.value).format("YYYY-MM-DD");
    const raw = e?.value;
    // up-datetime-picker 的 value 可能是 Date / 毫秒时间戳(13位) / 秒时间戳(10位) / 字符串
    const normalized =
      typeof raw === "number"
        ? raw < 1e12
          ? raw * 1000
          : raw
        : typeof raw === "string" && /^\d+$/.test(raw)
          ? raw.length === 10
            ? Number(raw) * 1000
            : Number(raw)
          : raw;
    const formatted = dayjs(normalized).format("YYYY-MM-DD");
    searchKeyword.value = formatted;
    searchForm.value.trainingDate = formatted;
    trainingDateModel.value = typeof normalized === "undefined" ? Date.now() : normalized;
    trainingDateVisible.value = false;
    getList();
  };