xiejun
2023-06-21 b5b28e8b9c639f49e69efc60684e68bf642d1092
Source/UBCS-WEB/src/components/BatchImport/ShowImportData.vue
@@ -1,9 +1,10 @@
<template>
  <el-dialog
    :title="title"
    :visible="dialogVisible"
    width="1200px"
    :visible.sync="dialogVisible"
    width="1300px"
    append-to-body
    top="5vh"
  >
    <div class="flex_box">
      <div class="left" :style="{ width: leftWidth }">
@@ -25,23 +26,90 @@
        <el-tree
          v-show="isExpand"
          class="filter_tree"
          :data="data"
          :data="leftTree"
          default-expand-all
          highlight-current
          :filter-node-method="filterNode"
          @node-click="treeNodeClick"
          ref="tree"
          :props="{
            label: 'name',
          }"
        >
        </el-tree>
      </div>
      <div class="right">
        <div class="tab_box">
          <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
            <el-tab-pane label="正确数据" name="success">
              <el-table border :data="successData"></el-table>
          <el-tabs
            v-model="activeTab"
            type="card"
            @tab-click="handleClick"
            size="small"
          >
            <el-tab-pane label="有相似项" name="resemble">
              <el-table
                border
                :data="resembleData"
                style="width: 100%"
                height="400px"
                highlight-current-row
                @current-change="resembleRowChange"
              >
                <el-table-column
                  v-for="item in cloNamesList"
                  :key="item.field"
                  :prop="item.field"
                  :label="item.title"
                  :width="item.width"
                >
                </el-table-column>
              </el-table>
            </el-tab-pane>
            <el-tab-pane label="有相似项或者错误数据" name="error">
              <el-table border :data="errorData"></el-table>
            <el-tab-pane label="正确数据" name="success">
              <el-table border :data="successData" height="400px">
                <el-table-column
                  v-for="item in cloNamesList"
                  :key="item.field"
                  :prop="item.field"
                  :label="item.title"
                  :width="item.width"
                >
                </el-table-column>
              </el-table>
            </el-tab-pane>
          </el-tabs>
        </div>
        <div>
          <el-table
            border
            :data="currentSelectedResemble"
            style="width: 100%"
            height="200px"
          >
            <el-table-column
              v-for="item in resembleColumList"
              :key="item.field"
              :prop="item.field"
              :label="item.title"
              :minWidth="item.minWidth"
            >
              <template #default="{ row }">
                <span v-if="item.field === 'id'">
                  <el-link type="primary" @click="openFormTemlpate(row)">{{
                    row[item.field]
                  }}</el-link>
                </span>
                <span v-else>
                  {{ row[item.field] }}
                </span>
              </template>
            </el-table-column>
            <el-table-column
              v-show="resembleColumList.length > 0"
              prop="rowIndex"
              label="excel行数"
            ></el-table-column>
          </el-table>
        </div>
      </div>
    </div>
@@ -51,18 +119,41 @@
        <el-button size="small">取消</el-button>
      </div>
    </template>
    <FormTemplateDialog
      ref="FormTemplateDialog"
      type="detail"
      v-bind="currentSelectedResembleRow"
      :visible.sync="currentSelectedResembleRow.visible"
      title="查看详细信息"
    ></FormTemplateDialog>
  </el-dialog>
</template>
<script>
import {
  getHistorySuccessTable,
  getHistoryResembleTable,
  getFormTemplate,
  getCurretnSelectedRowResemble,
} from "../../api/batchImport/index";
import ResembleQuery from "../FormTemplate/ResembleQuery.vue";
export default {
  name: "ShowImportData",
  components: { ResembleQuery },
  props: {
    title: {
      type: String,
      default: "历史数据导入",
    },
    visible: false,
    leftTree: {
      type: Array,
      default: () => [],
    },
    redisOid: {
      type: String,
      default: "",
    },
  },
  computed: {
    dialogVisible: {
@@ -193,15 +284,26 @@
          ],
        },
      ],
      resembleData: [],
      successData: [],
      errorData: [],
      activeTab: "resemble",
      cloNamesList: [],
      codeClassifyOid: "",
      resembleColumList: [],
      currentSelectedResemble: [],
      currentSelectedResembleRow: {
        templateOid: "",
        codeClassifyOid: "",
        rowOid: "",
        formTemplateVisible: false,
      },
    };
  },
  methods: {
    filterNode(value, data) {
      if (!value) return true;
      return data.label.indexOf(value) !== -1;
      return data.name.indexOf(value) !== -1;
    },
    hideTree() {
      if (this.isExpand) {
@@ -210,6 +312,276 @@
        this.leftWidth = "200px";
      }
      this.isExpand = !this.isExpand;
    },
    treeNodeClick(data) {
      this.codeClassifyOid = data.codeclassifyoid;
      this.cloNamesList = data.cloNamesList;
      getHistorySuccessTable(this.redisOid).then((res) => {
        this.successData = res.data
        // this.successData = [
        //   {
        //     xiaoshouwl: "是",
        //     xinghaoguige: "XH007",
        //     caigouwl: "是",
        //     oid: "433DFA8E-4445-18F4-AC95-85E7EE1C92CF",
        //     kucunwl: "是",
        //     tuhao: "TH006",
        //     codeSecLengthField: "6#4",
        //     codeclsfid: "紧固件#螺母",
        //     materialtype: "材料",
        //     chukufangshi: "先进先出",
        //     hesuanfenlei: "原材料",
        //     name: "测试4",
        //     jiliangdw: "个",
        //     oldcode: "z0004",
        //     id: "0201020013",
        //   },
        //   {
        //     xiaoshouwl: "是",
        //     xinghaoguige: "XH006",
        //     caigouwl: "是",
        //     oid: "E94E3320-841F-AE87-1D56-D6B3398D0FFC",
        //     kucunwl: "是",
        //     tuhao: "TH005",
        //     codeSecLengthField: "6#4",
        //     codeclsfid: "紧固件#螺母",
        //     materialtype: "材料",
        //     chukufangshi: "先进先出",
        //     hesuanfenlei: "原材料",
        //     name: "测试3",
        //     jiliangdw: "个",
        //     oldcode: "z0003",
        //     id: "0201020012",
        //   },
        //   {
        //     xiaoshouwl: "是",
        //     xinghaoguige: "XH003",
        //     caigouwl: "是",
        //     oid: "D2E0A166-A774-BE6F-A9C7-3277467CE8EC",
        //     kucunwl: "是",
        //     tuhao: "TH003",
        //     codeSecLengthField: "6#4",
        //     codeclsfid: "紧固件#螺母",
        //     materialtype: "材料",
        //     chukufangshi: "先进先出",
        //     hesuanfenlei: "原材料",
        //     name: "测试2",
        //     jiliangdw: "个",
        //     oldcode: "z0002",
        //     id: "0201020011",
        //   },
        //   {
        //     xiaoshouwl: "是",
        //     xinghaoguige: "XH002",
        //     caigouwl: "是",
        //     oid: "291CD01A-F18D-2D95-5291-D2C80ED57CC8",
        //     kucunwl: "是",
        //     tuhao: "TH002",
        //     codeSecLengthField: "6#4",
        //     codeclsfid: "紧固件#螺母",
        //     materialtype: "材料",
        //     chukufangshi: "先进先出",
        //     hesuanfenlei: "原材料",
        //     name: "测试1",
        //     jiliangdw: "个",
        //     oldcode: "z0001",
        //     id: "0201020010",
        //   },
        //   {
        //     xiaoshouwl: "是",
        //     xinghaoguige: "XH001",
        //     caigouwl: "是",
        //     oid: "FED83315-F2B4-C603-2AC2-11B0DF3029A6",
        //     kucunwl: "是",
        //     tuhao: "TH001",
        //     codeSecLengthField: "6#4",
        //     codeclsfid: "紧固件#螺栓",
        //     materialtype: "材料",
        //     chukufangshi: "先进先出",
        //     hesuanfenlei: "原材料",
        //     name: "测试6",
        //     jiliangdw: "个",
        //     oldcode: "z0006",
        //     id: "0201010019",
        //   },
        //   {
        //     xiaoshouwl: "是",
        //     xinghaoguige: "XH005",
        //     caigouwl: "是",
        //     oid: "3E120284-8EC2-9BF4-D1AB-579380DFA085",
        //     kucunwl: "是",
        //     tuhao: "TH005",
        //     codeSecLengthField: "6#4",
        //     codeclsfid: "紧固件#螺栓",
        //     materialtype: "材料",
        //     chukufangshi: "先进先出",
        //     hesuanfenlei: "原材料",
        //     name: "测试5",
        //     jiliangdw: "个",
        //     oldcode: "z0005",
        //     id: "0201010018",
        //   },
        //   {
        //     xiaoshouwl: "是",
        //     xinghaoguige: "XH004",
        //     caigouwl: "是",
        //     oid: "2EB3B122-2FE4-A236-53F2-9B67E40332AC",
        //     kucunwl: "是",
        //     tuhao: "TH004",
        //     codeSecLengthField: "6#4",
        //     codeclsfid: "紧固件#螺栓",
        //     materialtype: "材料",
        //     chukufangshi: "先进先出",
        //     hesuanfenlei: "原材料",
        //     name: "测试4",
        //     jiliangdw: "个",
        //     oldcode: "z0004",
        //     id: "0201010017",
        //   },
        //   {
        //     xiaoshouwl: "是",
        //     xinghaoguige: "XH009",
        //     caigouwl: "是",
        //     oid: "8940A341-8041-E031-6FE1-A18526C62DE9",
        //     kucunwl: "是",
        //     tuhao: "TH008",
        //     codeSecLengthField: "6#4",
        //     codeclsfid: "紧固件#螺母",
        //     materialtype: "材料",
        //     chukufangshi: "先进先出",
        //     hesuanfenlei: "原材料",
        //     name: "测试6",
        //     jiliangdw: "个",
        //     oldcode: "z0006",
        //     id: "0201020015",
        //   },
        //   {
        //     xiaoshouwl: "是",
        //     xinghaoguige: "XH008",
        //     caigouwl: "是",
        //     oid: "936CBC1E-2FD0-5CD7-C331-64B86204FD78",
        //     kucunwl: "是",
        //     tuhao: "TH007",
        //     codeSecLengthField: "6#4",
        //     codeclsfid: "紧固件#螺母",
        //     materialtype: "材料",
        //     chukufangshi: "先进先出",
        //     hesuanfenlei: "原材料",
        //     name: "测试5",
        //     jiliangdw: "个",
        //     oldcode: "z0005",
        //     id: "0201020014",
        //   },
        // ];
      });
      getHistoryResembleTable({
        codeClassifyOid: data.codeClassifyOid,
        redisOid: this.redisOid + "-resemble",
      }).then((res) => {
        console.log(res);
        this.resembleData = res.data
        // this.resembleData = [
        //   {
        //     xiaoshouwl: "是",
        //     xinghaoguige: "XH007",
        //     caigouwl: "是",
        //     oid: "FC2F0D9F-8B2E-5A19-3BDE-22107F373EB3",
        //     kucunwl: "是",
        //     tuhao: "TH006",
        //     codeSecLengthField: "6#4",
        //     codeclsfid: "紧固件#螺母",
        //     materialtype: "材料",
        //     chukufangshi: "先进先出",
        //     hesuanfenlei: "原材料",
        //     name: "测试4",
        //     jiliangdw: "个",
        //     oldcode: "z0004",
        //     id: "0201020013",
        //   },
        //   {
        //     xiaoshouwl: "是",
        //     xinghaoguige: "XH007",
        //     caigouwl: "是",
        //     oid: "B92CFF46-1D46-E680-66C4-33A3ABE77A6C",
        //     kucunwl: "是",
        //     tuhao: "TH005",
        //     codeSecLengthField: "6#4",
        //     codeclsfid: "紧固件#螺母",
        //     materialtype: "材料",
        //     chukufangshi: "先进先出",
        //     hesuanfenlei: "原材料",
        //     name: "测试3",
        //     jiliangdw: "个",
        //     oldcode: "z0003",
        //     id: "0201020012",
        //   },
        //   {
        //     xiaoshouwl: "是",
        //     xinghaoguige: "XH15",
        //     caigouwl: "是",
        //     oid: "B383C30E-D201-01F2-89EE-6F751EFA0AA1",
        //     kucunwl: "是",
        //     tuhao: "TH008",
        //     codeSecLengthField: "6#4",
        //     codeclsfid: "紧固件#螺母",
        //     materialtype: "材料",
        //     chukufangshi: "先进先出",
        //     hesuanfenlei: "原材料",
        //     name: "测试6",
        //     jiliangdw: "个",
        //     oldcode: "z0006",
        //     id: "0201020015",
        //   },
        //   {
        //     xiaoshouwl: "是",
        //     xinghaoguige: "XH17",
        //     caigouwl: "是",
        //     oid: "1C379116-F27B-3F20-DFC3-74A39B87E505",
        //     kucunwl: "是",
        //     tuhao: "TH007",
        //     codeSecLengthField: "6#4",
        //     codeclsfid: "紧固件#螺母",
        //     materialtype: "材料",
        //     chukufangshi: "先进先出",
        //     hesuanfenlei: "原材料",
        //     name: "测试5",
        //     jiliangdw: "个",
        //     oldcode: "z0005",
        //     id: "0201020014",
        //   },
        // ];
      });
      getFormTemplate({
        templateOid: data.oid,
        codeClassifyOid: data.codeClassifyOid,
      }).then((res) => {
        this.resembleColumList = res.data.resembleTableVO.cols[0];
      });
    },
    resembleRowChange(row) {
      getCurretnSelectedRowResemble({
        redisOid: this.redisOid + "-resemble-data",
        dataOid: row.oid,
      }).then((res) => {
        this.currentSelectedResemble = res.data
        // this.currentSelectedResemble = [
        //   {
        //     xinghaoguige: "XH007",
        //     codetemplateoid: "f441b131-5ea0-4672-ab74-735b11161928",
        //     rowIndex: "9",
        //     id: "0201020012",
        //     oid: "B92CFF46-1D46-E680-66C4-33A3ABE77A6C",
        //   },
        // ];
      });
    },
    openFormTemlpate(row) {
      this.currentSelectedResembleRow = {
        visible: true,
        templateOid: row.codetemplateoid,
        codeClassifyOid: this.codeClassifyOid,
        rowOid: row.rowOid,
      }
    },
  },
  watch: {
@@ -234,5 +606,10 @@
      overflow-y: scroll;
    }
  }
  .right {
    margin-left: 20px;
    margin-top: 30px;
    width: 1000px;
  }
}
</style>