| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185 | <template>  <div>    <basic-container v-if="show" class="page-crad">      <avue-crud        ref="crud"        :option="option"        :data="dataList"        v-model="form"        :page.sync="page"        :search.sync="search"        @search-change="searchChange"        @current-change="currentChange"        @size-change="sizeChange"        @refresh-change="refreshChange"        @on-load="onLoad"        @saveColumn="saveColumn"      >        <template slot="menuLeft">          <el-button type="info" size="small">报表</el-button>        </template>        <template slot="corpIdSearch">          <select-component            v-model="search.corpId"            :configuration="configuration"          ></select-component>        </template>        <template slot="portOfLoadSearch">          <port-info v-model="search.portOfLoad" />        </template>        <template slot="portOfDestinationSearch">          <port-info v-model="search.portOfDestination" />        </template>        <template slot-scope="scope" slot="corpId">          {{ scope.row.corpName }}        </template>        <template slot-scope="scope" slot="menu">          <el-button            type="text"            icon="el-icon-view"            size="small"            @click.stop="beforeOpenPage(scope.row, 1)"            >查看          </el-button>          <el-button            type="text"            icon="el-icon-edit"            size="small"            @click.stop="editOpen(scope.row, 2)"            >编辑          </el-button>        </template>      </avue-crud>    </basic-container>    <detail-page @goBack="goBack" :detailData="detailData" v-else></detail-page>  </div></template><script>import option from "./config/mainList.json";import { getList, getPorts } from "@/api/basicData/shippingInquiry";import detailPage from "./detailsPage.vue";export default {  name: "customerInformation",  data() {    return {      configuration: {        multipleChoices: false,        multiple: false,        collapseTags: false,        placeholder: "请点击右边按钮选择",        dicData: []      },      search: {},      option:{},      parentId: 0,      dataList: [],      page: {        pageSize: 10,        currentPage: 1,        total: 0      },      show: true,      detailData: {},      loading: false    };  },  components: { detailPage },  async created() {    this.option = await this.getColumnData(this.getColumnName(12), option);    let _this = this;    this.option.column.forEach(e => {      if (e.prop == "exchangeRate") {        e.formatter = function(row) {          return _this.textFormat(            Number(row.exchangeRate ? row.exchangeRate : 0) / 100,            "0.00%"          );        };      }      if (e.prop == "creditAmount") {        e.formatter = function(row) {          return _this.textFormat(            Number(row.creditAmount ? row.creditAmount : 0),            "#,##0.00"          );        };      }    });    getPorts().then(res => {      this.findObject(this.option.column, "portOfLoad").dicData = res.data;      this.findObject(this.option.column, "portOfDestination").dicData =        res.data;    });  },  methods: {    //查看跳转页面    beforeOpenPage(row, status) {      this.detailData = {        id: row.id,        status: status      };      this.show = false;    },    editOpen(row, status) {      this.detailData = {        id: row.id,        status: status      };      this.show = false;    },    //点击搜索按钮触发    searchChange(params, done) {      this.page.currentPage = 1;      this.onLoad(this.page, params);      done();    },    currentChange(val) {      this.page.currentPage = val;    },    sizeChange(val) {      this.page.currentPage = 1;      this.page.pageSize = val;    },    onLoad(page, params) {      getList(page.currentPage, page.pageSize, params).then(res => {        this.dataList = res.data.data.records ? res.data.data.records : [];        this.page.total = res.data.data.total;        if (this.page.total) {          this.option.height = window.innerHeight - 380;        } else {          this.option.height = window.innerHeight - 305;        }      });    },    refreshChange() {      this.onLoad(this.page, this.search);    },    goBack() {      this.detailData = this.$options.data().detailData;      this.show = true;    },    async saveColumn() {      const inSave = await this.saveColumnData(        this.getColumnName(12),        this.option      );      if (inSave) {        this.$message.success("保存成功");        //关闭窗口        this.$refs.crud.$refs.dialogColumn.columnBox = false;      }    }  }};</script><style scoped>::v-deep .select-component {  display: flex;}.page-crad ::v-deep .basic-container__card {  height: 86.5vh;}</style>
 |