研发图纸文件管理系统-前端项目
he wei
2022-08-27 613c29bff1cf856271ed77e69e188beb974ce490
U 产品详情修改
3个文件已修改
112 ■■■■ 已修改文件
src/pages/resourceManage/materialsCenter/list.vue 52 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/resourceManage/product/details/apis.js 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/resourceManage/product/details/details.vue 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/resourceManage/materialsCenter/list.vue
@@ -52,15 +52,19 @@
              </div>
            </template>
            <template slot="action" slot-scope="{ record }">
              <div>
                <a @click="addLink(record)">增加关联</a>
              <a @click="addLink(record)">增加关联</a>
              <template v-if="record.mproductHistorys.length">
                <a-divider type="vertical"></a-divider>
                <a
                  v-if="record.mproductHistorys.length"
                  @click="removeLink(record)"
                  >解除关联</a
                >
              </div>
                <a @click="removeLink(record)">解除关联</a>
              </template>
              <template v-if="record.dwgUrl">
                <a-divider type="vertical"></a-divider>
                <a @click="dwgReview(record.dwgUrl)">预览</a>
                <template v-if="downloadFlag">
                  <a-divider type="vertical"></a-divider>
                  <a @click="downloadLog(record)">下载</a>
                </template>
              </template>
            </template>
          </advance-table>
        </a-card>
@@ -124,6 +128,8 @@
import getWebUrl from "@/assets/js/tools/getWebUrl";
import { getList, zipParse } from "./apis";
import { dwgReview } from "@/pages/workplace/apis";
import { downloadLog } from "@/pages/system/logs/apis";
import { mapGetters } from "vuex";
import createWs from "@/assets/js/websocket";
@@ -299,6 +305,7 @@
      return this.isAdd ? "批量增加关联关系" : "批量解除关联关系";
    },
    ...mapGetters("setting", ["affixed"]),
    ...mapGetters("account", ["downloadFlag"]),
  },
  components: {
    AdvanceTable,
@@ -455,6 +462,35 @@
    cancelSubmit() {
      this.submitShow = false;
    },
    dwgReview(url) {
      this.spinning = true;
      dwgReview(url)
        .then((res) => {
          this.spinning = false;
          let rs = res.data;
          if (rs.code == 1 && rs.data) {
            window.open(this.webUrl + rs.data);
          } else {
            this.$message.error(rs.msg);
          }
        })
        .catch((error) => {
          this.spinning = false;
          console.log(error);
        });
    },
    downloadLog(record) {
      const { parentModel, subModel, dwgUrl } = record;
      const url = this.webUrl + dwgUrl;
      let link = document.createElement("a");
      link.style.display = "none";
      link.href = url;
      // link.download = fileName;
      document.body.appendChild(link);
      link.click();
      document.body.removeChild(link);
      downloadLog(parentModel, subModel);
    },
  },
  watch: {
    update(n) {
src/pages/resourceManage/product/details/apis.js
@@ -35,3 +35,15 @@
    responseType: 'blob'
  })
}
/**
 * 产品指定版本详情
 * @returns
 */
export const getBomHistoryAndMaterial = (productId, version) => {
  return axios({
    method: "GET",
    url: "product/getBomHistoryAndMaterial",
    params: { productId, version }
  })
}
src/pages/resourceManage/product/details/details.vue
@@ -36,10 +36,10 @@
                  :data-source="dataSource"
                  :pagination="false"
                  :expandRowByClick="true"
                  :row-key="(record, index) => record.subCode + '_' + index"
                  :rowClassName="
                    (record) => (record.children && record.children.length ? 'is-replace' : '')
                  "
                  rowKey="subcode"
                >
                  <template slot="pictureUrl" slot-scope="text">
                    <div class="img-wraper">
@@ -79,8 +79,7 @@
import ImageView from "@/pages/components/ImageView";
import List from "./list";
import getWebUrl from "@/assets/js/tools/getWebUrl";
import { getVersions, zipDownload } from "./apis";
import { getBomAndMaterial } from "../apis";
import { getVersions, zipDownload, getBomHistoryAndMaterial } from "./apis";
import { dwgReview } from "@/pages/workplace/apis";
import { downloadLog } from "@/pages/system/logs/apis";
import { mapGetters } from "vuex";
@@ -107,7 +106,7 @@
          dataIndex: "category",
          key: "category",
          align: "center",
          fixed: "left",
          // fixed: "left",
          width: 180,
          searchAble: true,
        },
@@ -280,24 +279,26 @@
        info,
      } = this;
      this.spinning = true;
      getBomAndMaterial(id, version).then((res) => {
      getBomHistoryAndMaterial(id, version).then((res) => {
        res = res.data;
        console.log(res, '909009')
        // console.log(res, '909009')
        let list = [];
        this.spinning = false;
        if (res.code && res.data) {
          list = res.data2.map((v) => ({
            ...v,
            children: v.materials
          }));
          if (!info.parentModel) {
            const obj = list[0];
            debugger;
            info.parentModel = obj.parentModel;
            info.parentName = obj.parentName;
            info.parentCode = obj.parentCode;
            info.customCode = obj.customCode;
          }
          list = res.data2.map((v) => {
            if (v.materials.length) {
              v.children = v.materials;
            }
            return v;
          });
          // if (!info.parentModel) {
          //   const obj = list[0];
          //   debugger;
          //   info.parentModel = obj.parentModel;
          //   info.parentName = obj.parentName;
          //   info.parentCode = obj.parentCode;
          //   info.customCode = obj.customCode;
          // }
        }
        this.dataSource = list;
        if (-1 == this.update) {
@@ -452,5 +453,16 @@
  /deep/.is-replace > td {
    background: #00eaff;
  }
  /deep/.is-replace.is-replace.ant-table-row-hover > td,
  /deep/.is-replace.is-replace:hover > td {
    background: #affaff;
  }
  /deep/.ant-table-row-level-1 > td {
    background: #ff8ea2;
  }
   /deep/.ant-table-row-level-1.ant-table-row-level-1.ant-table-row-hover > td,
   /deep/.ant-table-row-level-1.ant-table-row-level-1:hover > td {
    background: #ffbcc9;
  }
}
</style>