|  | @@ -0,0 +1,180 @@
 | 
	
		
			
				|  |  | +<template>
 | 
	
		
			
				|  |  | +  <div>
 | 
	
		
			
				|  |  | +    <el-dialog
 | 
	
		
			
				|  |  | +      title="客户信息"
 | 
	
		
			
				|  |  | +      :visible.sync="portinfoVisible"
 | 
	
		
			
				|  |  | +      width="60%"
 | 
	
		
			
				|  |  | +      append-to-body
 | 
	
		
			
				|  |  | +      @closed="closed"
 | 
	
		
			
				|  |  | +      v-dialog-drag
 | 
	
		
			
				|  |  | +    >
 | 
	
		
			
				|  |  | +      <span>
 | 
	
		
			
				|  |  | +        <el-row>
 | 
	
		
			
				|  |  | +          <el-col :span="5">
 | 
	
		
			
				|  |  | +            <el-scrollbar>
 | 
	
		
			
				|  |  | +              <basic-container>
 | 
	
		
			
				|  |  | +                <avue-tree
 | 
	
		
			
				|  |  | +                  :option="treeOption"
 | 
	
		
			
				|  |  | +                  :data="treeData"
 | 
	
		
			
				|  |  | +                  @node-click="nodeClick"
 | 
	
		
			
				|  |  | +                />
 | 
	
		
			
				|  |  | +              </basic-container>
 | 
	
		
			
				|  |  | +            </el-scrollbar>
 | 
	
		
			
				|  |  | +          </el-col>
 | 
	
		
			
				|  |  | +          <el-col :span="19">
 | 
	
		
			
				|  |  | +            <avue-crud
 | 
	
		
			
				|  |  | +              :option="tableOption"
 | 
	
		
			
				|  |  | +              :data="dataList"
 | 
	
		
			
				|  |  | +              ref="crud"
 | 
	
		
			
				|  |  | +              v-model="form"
 | 
	
		
			
				|  |  | +              :page.sync="page"
 | 
	
		
			
				|  |  | +              @search-change="searchChange"
 | 
	
		
			
				|  |  | +              @refresh-change="refreshChange"
 | 
	
		
			
				|  |  | +              @selection-change="selectionChange"
 | 
	
		
			
				|  |  | +              @on-load="onLoad"
 | 
	
		
			
				|  |  | +              @tree-load="treeLoad"
 | 
	
		
			
				|  |  | +            >
 | 
	
		
			
				|  |  | +            </avue-crud>
 | 
	
		
			
				|  |  | +          </el-col>
 | 
	
		
			
				|  |  | +        </el-row>
 | 
	
		
			
				|  |  | +      </span>
 | 
	
		
			
				|  |  | +      <span slot="footer" class="dialog-footer">
 | 
	
		
			
				|  |  | +        <el-button @click="portinfoVisible = false">取 消</el-button>
 | 
	
		
			
				|  |  | +        <el-button
 | 
	
		
			
				|  |  | +          type="primary"
 | 
	
		
			
				|  |  | +          @click="importCorp"
 | 
	
		
			
				|  |  | +          :disabled="selectionList.length != 1"
 | 
	
		
			
				|  |  | +          >确 定</el-button
 | 
	
		
			
				|  |  | +        >
 | 
	
		
			
				|  |  | +      </span>
 | 
	
		
			
				|  |  | +    </el-dialog>
 | 
	
		
			
				|  |  | +  </div>
 | 
	
		
			
				|  |  | +</template>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +<script>
 | 
	
		
			
				|  |  | +import option from "./configuration/mainList.json";
 | 
	
		
			
				|  |  | +import {
 | 
	
		
			
				|  |  | +  customerList,
 | 
	
		
			
				|  |  | +  getDeptLazyTree
 | 
	
		
			
				|  |  | +} from "@/api/basicData/customerInformation";
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +export default {
 | 
	
		
			
				|  |  | +  data() {
 | 
	
		
			
				|  |  | +    return {
 | 
	
		
			
				|  |  | +      loading: true,
 | 
	
		
			
				|  |  | +      dataList: [],
 | 
	
		
			
				|  |  | +      tableOption: option,
 | 
	
		
			
				|  |  | +      form: {},
 | 
	
		
			
				|  |  | +      search: {},
 | 
	
		
			
				|  |  | +      treeDeptId: "",
 | 
	
		
			
				|  |  | +      treeDeptName: "",
 | 
	
		
			
				|  |  | +      height: window.innerHeight - 500,
 | 
	
		
			
				|  |  | +      page: {
 | 
	
		
			
				|  |  | +        currentPage: 1,
 | 
	
		
			
				|  |  | +        total: 0,
 | 
	
		
			
				|  |  | +        pageSize: 10
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      treeOption: {
 | 
	
		
			
				|  |  | +        nodeKey: "id",
 | 
	
		
			
				|  |  | +        lazy: true,
 | 
	
		
			
				|  |  | +        treeLoad: function(node, resolve) {
 | 
	
		
			
				|  |  | +          const parentId = node.level === 0 ? 0 : node.data.id;
 | 
	
		
			
				|  |  | +          getDeptLazyTree(parentId).then(res => {
 | 
	
		
			
				|  |  | +            resolve(
 | 
	
		
			
				|  |  | +              res.data.data.map(item => {
 | 
	
		
			
				|  |  | +                return {
 | 
	
		
			
				|  |  | +                  ...item,
 | 
	
		
			
				|  |  | +                  leaf: !item.hasChildren
 | 
	
		
			
				|  |  | +                };
 | 
	
		
			
				|  |  | +              })
 | 
	
		
			
				|  |  | +            );
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        addBtn: false,
 | 
	
		
			
				|  |  | +        menu: false,
 | 
	
		
			
				|  |  | +        size: "small",
 | 
	
		
			
				|  |  | +        props: {
 | 
	
		
			
				|  |  | +          labelText: "标题",
 | 
	
		
			
				|  |  | +          label: "title",
 | 
	
		
			
				|  |  | +          value: "value",
 | 
	
		
			
				|  |  | +          children: "children"
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      portinfoVisible: false,
 | 
	
		
			
				|  |  | +      selectionList: []
 | 
	
		
			
				|  |  | +    };
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  created() {},
 | 
	
		
			
				|  |  | +  mounted() {
 | 
	
		
			
				|  |  | +    option.height = window.innerHeight - 500;
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  methods: {
 | 
	
		
			
				|  |  | +    init(){
 | 
	
		
			
				|  |  | +      this.portinfoVisible=true
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    closed() {
 | 
	
		
			
				|  |  | +      this.$refs.crud.toggleSelection();
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    importCorp() {
 | 
	
		
			
				|  |  | +      this.$emit("importCorp", {
 | 
	
		
			
				|  |  | +        id: this.selectionList[0].id,
 | 
	
		
			
				|  |  | +        name:this.selectionList[0].cname
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  | +      this.portinfoVisible = false;
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    onLoad(page, params = { parentId: 0 }) {
 | 
	
		
			
				|  |  | +      let queryParams = Object.assign({}, params, {
 | 
	
		
			
				|  |  | +        size: page.pageSize,
 | 
	
		
			
				|  |  | +        current: page.currentPage,
 | 
	
		
			
				|  |  | +        corpsTypeId: this.treeDeptId
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  | +      customerList(queryParams).then(res => {
 | 
	
		
			
				|  |  | +        this.dataList = res.data.data.records;
 | 
	
		
			
				|  |  | +        this.page.total = res.data.data.total;
 | 
	
		
			
				|  |  | +        if (this.page.total) {
 | 
	
		
			
				|  |  | +          this.tableOption.height = window.innerHeight - 500;
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          this.tableOption.height = window.innerHeight - 200;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    selectionChange(list) {
 | 
	
		
			
				|  |  | +      this.selectionList = list;
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    sizeChange(val) {
 | 
	
		
			
				|  |  | +      this.page.pageSize = val;
 | 
	
		
			
				|  |  | +      this.getList();
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    currentChange(val) {
 | 
	
		
			
				|  |  | +      this.page.currentPage = val;
 | 
	
		
			
				|  |  | +      this.getList();
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    //刷新触发
 | 
	
		
			
				|  |  | +    refreshChange() {
 | 
	
		
			
				|  |  | +      this.page = {
 | 
	
		
			
				|  |  | +        pageSize: 10,
 | 
	
		
			
				|  |  | +        pagerCount: 1,
 | 
	
		
			
				|  |  | +        total: 0
 | 
	
		
			
				|  |  | +      };
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    saveColumn(row, column) {
 | 
	
		
			
				|  |  | +      console.log(row, column);
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    //列表内展开树节点
 | 
	
		
			
				|  |  | +    treeLoad(tree, treeNode, resolve) {
 | 
	
		
			
				|  |  | +      const parentId = tree.id;
 | 
	
		
			
				|  |  | +      customerList({ parentId: parentId }).then(res => {
 | 
	
		
			
				|  |  | +        resolve(res.data.data.records);
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    nodeClick(data) {
 | 
	
		
			
				|  |  | +      this.treeDeptId = data.id;
 | 
	
		
			
				|  |  | +      this.page.currentPage = 1;
 | 
	
		
			
				|  |  | +      console.log(this.treeDeptId);
 | 
	
		
			
				|  |  | +      this.onLoad(this.page);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +</script>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +<style scoped lang="scss"></style>
 |