| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295 | <template>  <div>    <basic-container v-if="show">      <avue-crud :option="option"                 :data="dataList"                 :table-loading="loading"                 ref="crud"                 v-model="form"                 :page.sync="page"                 @row-del="rowDel"                 @row-update="rowUpdate"                 :before-open="beforeOpen"                 :before-close="beforeClose"                 @row-save="rowSave"                 @search-change="searchChange"                 @search-reset="searchReset"                 @selection-change="selectionChange"                 @current-change="currentChange"                 @size-change="sizeChange"                 @refresh-change="refreshChange"                 @on-load="onLoad"                 @expand-change="expandChange"                 @saveColumn="saveColumn">        <template slot-scope="scope" slot="expand">          <el-table :data="scope.row.insideList" v-loading="scope.row.loading">            <el-table-column   align="center"  width="60"></el-table-column>            <el-table-column   type="selection" align="center"  width="50"></el-table-column>            <el-table-column  label="序号" type="index" align="center"  width="50"></el-table-column>            <el-table-column  label="提单号" prop="billNo" align="center" show-overflow-tooltip width="200"></el-table-column>            <el-table-column  label="货物品种" prop="priceCategoryNames" align="center" show-overflow-tooltip width="180"></el-table-column>            <el-table-column  label="件数" prop="purchaseQuantity" align="center" show-overflow-tooltip width="120"></el-table-column>            <el-table-column  label="毛重(KG)" prop="grossWeight" align="center" show-overflow-tooltip width="120"></el-table-column>            <el-table-column  label="净重(KG)" prop="netWeight" align="center" show-overflow-tooltip width="120"></el-table-column>            <el-table-column  label="单价" prop="price" align="center" show-overflow-tooltip width="120"></el-table-column>            <el-table-column  label="合同金额" prop="amount" align="center" show-overflow-tooltip width="180"></el-table-column>            <el-table-column  label="是否到货" prop="isArrival" align="center" show-overflow-tooltip width="200"></el-table-column>          </el-table>        </template>        <template slot="menuLeft">          <el-button size="small"                     type="success"                     :disabled="true"                     @click.stop=""          >复制新单          </el-button>          <el-button size="small"                     type="info"                     @click.stop="openReport()"          >报表          </el-button>        </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>          <el-button            type="text"            icon="el-icon-delete"            size="small"            @click.stop="rowDel(scope.row,scope.index)"          >删除          </el-button>        </template>      </avue-crud>    </basic-container>    <detail-page      ref="detail"      @goBack="goBack"      :detailData="detailData"      v-else    ></detail-page>  </div></template><script>import option from "./config/mainList.json";import {selectPurchaseList,removeData,getItemByPid} from "@/api/importTrade/purchase";import detailPage from "./detailsPage.vue";export default {  name: "index",  data() {    return {      loading:false,      option: {},      detailData:{},      dataList: [],      page: {        pageSize: 10,        pagerCount: 5,        total: 0,      },      form: {},      show: true,      search: {},    }  },  components:{    detailPage  },  async created() {    this.option = await this.getColumnData(this.getColumnName(36), option);  },  methods: {    //删除列表后面的删除按钮触发触发(row, index, done)    rowDel(row, index, done) {      this.$confirm("确定将选择数据删除?", {        confirmButtonText: "确定",        cancelButtonText: "取消",        type: "warning"      }).then(() => {        removeData(row.id).then(res =>{          if(res.data.success){            this.$message({              type: "success",              message: "操作成功!"            });            this.onLoad(this.page );          }        })      })    },    //修改时的修改按钮点击触发    rowUpdate(row, index, done, loading) {      typeSave(row).then(() => {        this.$message({          type: "success",          message: "操作成功!"        });        // 数据回调进行刷新        done(row);      }, error => {        window.console.log(error);        loading();      });    },    //新增修改时保存触发    rowSave(row, done, loading) {      typeSave(row).then(res => {        console.log(res)        done()      })    },    //查询全部    initData() {      customerList().then(res => {        console.log(this.form);        const column = this.findObject(this.option.column, "parentId");        column.dicData = res.data.data.records;      });    },    //新增子项触发    handleAdd(row) {      this.parentId = row.id;      const column = this.findObject(this.option.column, "parentId");      column.value = row.id;      column.addDisabled = true;      this.$refs.crud.rowAdd();    },    //查看跳转页面    beforeOpenPage(row, status) {      this.detailData = {        id: row.id,        status: status      };      this.show = false;    },    //新增跳转页面    beforeOpen(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;    },    //点击新增时触发    beforeClose(done) {      this.parentId = "";      const column = this.findObject(this.option.column, "parentId");      column.value = "";      column.addDisabled = false;      done();    },    //点击搜索按钮触发    searchChange(params, done) {      console.log(params)      this.page.currentPage = 1;      this.onLoad(this.page, params);      done()    },    searchReset() {      console.log('1')    },    selectionChange() {      console.log('1')    },    currentChange() {      console.log('1')    },    sizeChange() {      console.log('1')    },    refreshChange() {      this.onLoad(this.page);    },    onLoad(page, params) {      if(params){        if (params.businesDate != undefined) {          params.businesStartDate = params.businesDate[0]+ " " + "00:00:00";          params.businesEndDate = params.businesDate[1] + " " + "23:59:59";          this.$delete(params,'businesDate')        }        if (params.accountsCollectionDate!= undefined) {          params.accountsCollectionStartDate = params.accountsCollectionDate[0]+ " " + "00:00:00";          params.accountsCollectionEndDate = params.accountsCollectionDate[1] + " " + "23:59:59";          this.$delete(params,'accountsCollectionDate')        }        if (params.dateOfArrival!= undefined) {          params.dateOfStartArrival = params.dateOfArrival[0]+ " " + "00:00:00";          params.dateOfEndArrival = params.dateOfArrival[1] + " " + "23:59:59";          this.$delete(params,'dateOfArrival')        }      }      let queryParams = Object.assign({}, params, {        size: page.pageSize,        current: page.currentPage,        tradeType:"JK"  //进口参数      })      this.loading = true      selectPurchaseList(queryParams).then(res => {        this.dataList = res.data.data.records        this.page.total = res.data.data.total        if (this.page.total) {          this.option.height = window.innerHeight - 350;        } else {          this.option.height = window.innerHeight - 305;        }      })      .finally(()=>{        this.loading = false      })    },    //表格展开触发    expandChange(row, expendList) {      if(row.hasItem){        getItemByPid(row.id).then(res =>{          this.$set(this.dataList[row.$index],"insideList", res.data.data)          row.loading = false        })      }else{        return      }    },    goBack() {      this.detailData=this.$options.data().detailData      this.show = true;    },    //列保存触发    async saveColumn() {      const inSave = await this.saveColumnData(        this.getColumnName(36),        this.option      );      if (inSave) {        this.$message.success("保存成功");        //关闭窗口        this.$refs.crud.$refs.dialogColumn.columnBox = false;      }    },  },}</script><style scoped>::v-deep .el-table__expanded-cell{  padding: 0 !important;}</style>
 |