替换infopath项目,采用SharePoint SPFX框架
jiang_xin_yuyy
2024-08-08 f8db41a7171d120965355745ffa07b841ca1fb67
单价登录附件显示
1个文件已修改
101 ■■■■■ 已修改文件
ISAM/isampage/src/components/UnitPrice/Content/index.vue 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ISAM/isampage/src/components/UnitPrice/Content/index.vue
@@ -1,48 +1,87 @@
<template>
  <div>
    <ul class="container">
      <li class="item">
        <div class="item-label bg1">备品编号</div>
        <div class="item-content" style="flex: 0 0 110px;">{{ props.content[0]?.Item_CD }}</div>
        <div class="item-content" style="flex: 0 0 110px">
          {{ props.content[0]?.Item_CD }}
        </div>
        <div class="item-label bg2">品名</div>
        <div class="item-content" style="flex: 0 0 160px;">{{ props.content[0]?.Item_Name }}</div>
        <div class="item-content" style="flex: 0 0 160px">
          {{ props.content[0]?.Item_Name }}
        </div>
        <div class="item-label bg2">型号</div>
        <div class="item-content">{{ props.content[0]?.SPEC_CN }}</div>
        <div class="item-label bg2" style="flex: 0 0 60px;">单位</div>
        <div class="item-content" style="flex: 0 0 60px;">{{ props.content[0]?.Package }}</div>
        <div class="item-label bg2" style="flex: 0 0 60px">单位</div>
        <div class="item-content" style="flex: 0 0 60px">
          {{ props.content[0]?.Package }}
        </div>
      </li>
      <li class="item" v-for="(item, index) in computedContent" :key="index">
        <div class="item-label bg3">合作伙伴简称</div>
        <div class="item-content" style="flex: 0 0 110px;">{{ item.Request_Vend_Name_S }}</div>
        <div class="item-label bg3">单价Ver &nbsp; {{ item.Reply_Count }}.0</div>
        <div class="item-content" style="flex: 0 0 160px;">{{ item.Unit_Price }}</div>
        <div class="item-content" style="flex: 0 0 110px">
          {{ item.Request_Vend_Name_S }}
        </div>
        <div class="item-label bg3">
          单价Ver &nbsp; {{ item.Reply_Count }}.0
        </div>
        <div class="item-content" style="flex: 0 0 160px">
          {{ item.Unit_Price }}
        </div>
        <div class="item-label bg3">币种</div>
        <div class="item-content"> {{ item.Currency8 }} </div>
        <div class="item-content">{{ item.Currency8 }}</div>
        <div class="item-label bg3">折USD</div>
        <div class="item-content">{{ item.Exchange_Unit_Price }}</div>
        <div class="item-label bg3" style="flex: 0 0 60px;">LT</div>
        <div class="item-content" style="flex: 0 0 60px;">{{ item.LT }}</div>
        <div class="item-label bg3" style="flex: 0 0 60px">LT</div>
        <div class="item-content" style="flex: 0 0 60px">{{ item.LT }}</div>
      </li>
      <li class="item">
        <div class="item-label bg4" v-html="'<p>选定购入</p><p>合作伙伴</p>'"></div>
        <div class="item-content" style="flex:0 0 378px">{{ props.content[0]?.VEND_NAME }}</div>
        <div
          class="item-label bg4"
          v-html="'<p>选定购入</p><p>合作伙伴</p>'"
        ></div>
        <div class="item-content" style="flex: 0 0 378px">
          {{ props.content[0]?.VEND_NAME }}
        </div>
        <div class="item-label bg4">品牌</div>
        <div class="item-content">{{ props.content[0]?.Brand }}</div>
        <div class="item-label bg4" style="flex: 0 0 60px;">原产地</div>
        <div class="item-content" style="flex: 0 0 60px;">{{ props.content[0]?.Origin }}</div>
        <div class="item-label bg4" style="flex: 0 0 60px">原产地</div>
        <div class="item-content" style="flex: 0 0 60px">
          {{ props.content[0]?.Origin }}
        </div>
      </li>
      <li class="item">
        <div class="item-label bg2">经费项目</div>
        <div class="item-content">
          {{ props.content[0]?.Cost_Name }}
          <span style="float: right;margin-right: 10%;color: #409eff;">
            <ElLink class="link-padding" v-if="props.content[0]?.Attach_File1" :href="props.content[0]?.Attach_File1"
              target="_blank">附件1</ElLink>
            <ElLink class="link-padding" v-if="props.content[0]?.Attach_File2" :href="props.content[0]?.Attach_File2"
              target="_blank">附件2</ElLink>
            <ElLink class="link-padding" v-if="props.content[0]?.Attach_File3" :href="props.content[0]?.Attach_File3"
              target="_blank">附件3</ElLink>
          <span style="float: right; margin-right: 10%; color: #409eff">
            <ElLink
              class="link-padding"
              v-if="props.content.filter((e) => e.Attach_File1).length"
              :href="
                props.content.filter((e) => e.Attach_File1)[0]?.Attach_File1
              "
              target="_blank"
              >附件1</ElLink
            >
            <ElLink
              class="link-padding"
              v-if="props.content.filter((e) => e.Attach_File2).length"
              :href="
                props.content.filter((e) => e.Attach_File2)[0]?.Attach_File2
              "
              target="_blank"
              >附件2</ElLink
            >
            <ElLink
              class="link-padding"
              v-if="props.content.filter((e) => e.Attach_File3).length"
              :href="
                props.content.filter((e) => e.Attach_File3)[0]?.Attach_File3
              "
              target="_blank"
              >附件3</ElLink
            >
          </span>
        </div>
      </li>
@@ -51,23 +90,22 @@
        <div class="item-content">{{ props.content[0]?.Comment }}</div>
      </li>
    </ul>
  </div>
</template>
<script setup>
import { defineProps, computed } from 'vue';
import { defineProps, computed } from "vue";
const props = defineProps({
  content: {
    type: Array,
    default: () => ([])
  }
    default: () => [],
  },
});
const computedContent = computed(() => {
  return props.content.map((item) => {
    let res = { ...item };
    res.Item_Name = item.Item_Name.split('/');
    res.Item_Name = item.Item_Name.split("/");
    res.Unit_Price = (+res.Unit_Price).toFixed(5);
    res.Exchange_Unit_Price = (+res.Exchange_Unit_Price).toFixed(5);
    return res;
@@ -78,13 +116,14 @@
  let res = {};
  props.content.forEach((value, index) => {
    if (!res[value.Request_Vend_Name_S]) {
      res[value.Request_Vend_Name_S] = { path: value.PR_File_Attach_File, version: value.Reply_Count };
      res[value.Request_Vend_Name_S] = {
        path: value.PR_File_Attach_File,
        version: value.Reply_Count,
      };
    }
  });
  return res;
});
</script>
<style scoped lang="less">
@@ -116,7 +155,7 @@
  .link-padding {
    padding: 3px 6px;
    display: inline-block;
    color: #409EFF;
    color: #409eff;
  }
  .bg1 {