zhangwencui
2026-02-12 bbd4291df45794a49e3527f6ae76e4ce61a07d66
src/pages/managementMeetings/knowledgeBase/detail.vue
@@ -32,7 +32,7 @@
                   prop="scenario"
                   border-bottom>
        <u-input v-model="form.scenario"
                 readonly="readonly"
                 :readonly="readonly"
                 placeholder="请输入适用场景" />
      </u-form-item>
      <u-form-item label="解决效率"
@@ -81,8 +81,17 @@
                   prop="creator"
                   border-bottom>
        <u-input v-model="form.creator"
                 readonly
                 placeholder="请选择创建人"
                 @click="openCreatorSheet" />
        <template v-if="!readonly"
                  #right>
          <up-icon name="arrow-right"
                   @click="openCreatorSheet"></up-icon>
        </template>
        <!-- <u-input v-model="form.creator"
                 :readonly="readonly"
                 placeholder="请输入创建人" />
                 placeholder="请输入创建人" /> -->
      </u-form-item>
      <u-form-item label="使用次数"
                   prop="usageCount"
@@ -109,6 +118,10 @@
                     :actions="equipmentOptions"
                     @select="handleEquipmentChange"
                     @close="showEquipmentSheet = false" />
    <up-action-sheet :show="showCreatorSheet"
                     :actions="creatorOptions"
                     @select="handleCreatorChange"
                     @close="showCreatorSheet = false" />
    <!-- <u-popup :show="showEquipmentSheet"
             mode="bottom"
             @close="showEquipmentSheet = false"
@@ -156,8 +169,8 @@
  import {
    addKnowledgeBase,
    updateKnowledgeBase,
    getKnowledgeBaseDetail,
  } from "@/api/managementMeetings/knowledgeBase";
  import { userListNoPageByTenantId } from "@/api/system/user";
  const userStore = useUserStore();
@@ -199,6 +212,32 @@
    form.value.efficiency = action.value;
    statusname.value = action.name;
    showStatusSheet.value = false;
  };
  const showCreatorSheet = ref(false);
  const creatorOptions = ref([]);
  const openCreatorSheet = () => {
    showCreatorSheet.value = true;
  };
  const getCreatorOptions = async () => {
    try {
      const res = await userListNoPageByTenantId();
      if (res.code === 200) {
        creatorOptions.value = res.data || [];
        creatorOptions.value.forEach(item => {
          item.name = item.nickName;
          item.value = item.userId;
        });
      } else {
        showToast("获取创建人列表失败");
      }
    } catch (e) {
      console.error("获取创建人列表失败:", e);
      showToast("获取创建人列表失败");
    }
  };
  // 创建人选择
  const handleCreatorChange = val => {
    form.value.creator = val.name;
  };
  const equipmentname = ref("");
  // 设备配置选择
@@ -284,37 +323,19 @@
  const detailType = ref(1);
  const knowledgeId = ref("");
  // 获取知识详情
  const getKnowledgeDetail = id => {
    loading.value = true;
    getKnowledgeBaseDetail(id)
      .then(res => {
        loading.value = false;
        if (res.code === 200) {
          form.value = res.data;
          equipmentname.value =
            equipmentOptions.value.find(item => item.value === form.value.type)
              ?.name || "";
          statusname.value =
            statusOptions.value.find(item => item.value === form.value.efficiency)
              ?.name || "";
        } else {
          showToast("获取知识详情失败");
        }
      })
      .catch(err => {
        loading.value = false;
        showToast("获取知识详情失败");
      });
  };
  onLoad(options => {
    detailType.value = Number(options.detailType);
    knowledgeId.value = options.id || "";
    // 如果是编辑或查看模式,获取知识详情
    if (knowledgeId.value && (detailType.value === 2 || detailType.value === 3)) {
      getKnowledgeDetail(knowledgeId.value);
      // getKnowledgeDetail(knowledgeId.value);
      equipmentname.value =
        equipmentOptions.value.find(item => item.value === form.value.type)
          ?.name || "";
      statusname.value =
        statusOptions.value.find(item => item.value === form.value.efficiency)
          ?.name || "";
    }
    // 查看模式设置只读
@@ -324,6 +345,7 @@
  });
  onMounted(() => {
    getCreatorOptions();
    // 从本地存储中获取知识数据
    const knowledgeBase = uni.getStorageSync("knowledgeBase");
    if (knowledgeBase) {
@@ -335,6 +357,21 @@
      value: item.value,
      name: item.label,
    }));
    if (detailType.value === 1) {
      form.value = {
        title: "",
        type: "",
        scenario: "",
        efficiency: "",
        problem: "",
        solution: "",
        keyPoints: "",
        creator: "",
        usageCount: 0,
      };
      equipmentname.value = "";
      statusname.value = "";
    }
    if (detailType.value != 1) {
      equipmentname.value =