123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315 |
- <template>
- <basic-container v-if="show">
- <avue-crud :option="option" :data="dataList" ref="crud" v-model="form" :page.sync="page" :table-loading="loading"
- :search.sync="search" @row-del="rowDel" :before-open="beforeOpen" :before-close="beforeClose"
- :cell-style="cellStyle" @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"
- @resetColumn="resetColumn" @search-criteria-switch="searchCriteriaSwitch">
- <template slot="corpIdSearch">
- <select-component v-model="search.corpId" :configuration="configuration"></select-component>
- </template>
- <template slot="salesNameSearch">
- <user-com v-model="search.salesName" style="width: 100%"></user-com>
- </template>
- <template slot-scope="{row,size}" slot="search">
- </template>
- <template slot-scope="scope" slot="expand" width="48px">
- <el-table :data="scope.row.insideList" v-loading="scope.row.loading">
- <el-table-column align="center" width="40"></el-table-column>
- <el-table-column label="提单号" prop="billNo" align="center" show-overflow-tooltip width="150"></el-table-column>
- <el-table-column label="合同号" prop="orgOrderNo" align="center" show-overflow-tooltip width="150">
- </el-table-column>
- <el-table-column label="货物名称" prop="priceCategory" align="center" show-overflow-tooltip width="150">
- </el-table-column>
- <el-table-column label="件数" prop="orderQuantity" align="center" show-overflow-tooltip width="120">
- </el-table-column>
- <el-table-column label="发票重量" prop="invoiceWeight" align="center" show-overflow-tooltip width="150">
- </el-table-column>
- <el-table-column label="码单重量" prop="billWeight" align="center" show-overflow-tooltip width="120">
- </el-table-column>
- <el-table-column label="发票金额" prop="amount" align="center" show-overflow-tooltip width="120">
- </el-table-column>
- <el-table-column label="已发件数" prop="actualQuantity" align="center" show-overflow-tooltip width="120">
- </el-table-column>
- </el-table>
- </template>
- <template slot="menuLeft">
- <el-button size="small" type="success" :disabled="selectionList.length != 1" @click.stop="copyBill">复制单据
- </el-button>
- </template>
- <template slot-scope="scope" slot="menu">
- <el-button type="text" icon="el-icon-delete" size="small" v-if="scope.row.status == 0 || scope.row.status == 4"
- @click.stop="rowDel(scope.row, scope.index)">删除
- </el-button>
- </template>
- <template slot-scope="scope" slot="orderNo">
- <span style="color: #409EFF;cursor: pointer" @click.stop="beforeOpenPage(scope.row)">{{ scope.row.orderNo
- }}</span>
- </template>
- <template slot-scope="scope" slot="corpId">
- <span style="color: #409EFF;cursor: pointer" @click.stop="beforeOpenPage(scope.row)">{{ scope.row.corpsName
- }}</span>
- </template>
- <template slot-scope="scope" slot="orderQuantity">
- <span>{{ scope.row.orderQuantity | roundNumbers }}</span>
- </template>
- <template slot-scope="scope" slot="actualQuantity">
- <span>{{ scope.row.actualQuantity | roundNumbers }}</span>
- </template>
- </avue-crud>
- </basic-container>
- <detail-page ref="detail" @goBack="goBack" :detailData="detailData" v-else></detail-page>
- </template>
- <script>
- import option from "./config/mainList.json";
- import { selectSaleList, removeList, detailSaleList } from "@/api/importTrade/salesContract"
- import detailPage from "./detailsPage.vue";
- import { roundNumbers } from "@/util/validate";
- export default {
- name: "index",
- data() {
- return {
- option: {},
- dataList: [],
- loading: false,
- show: true,
- selectionList: [],
- page: {
- pageSize: 10,
- pagerCount: 5,
- total: 0,
- },
- form: {},
- detailData: {},
- search: {},
- viewDisabled: false,
- configuration: {
- multipleChoices: false,
- multiple: false,
- disabled: false,
- searchShow: true,
- collapseTags: false,
- clearable: true,
- placeholder: '请点击右边按钮选择',
- dicData: []
- },
- }
- },
- components: {
- detailPage
- },
- filters: {
- roundNumbers(val) {
- return roundNumbers(val);
- }
- },
- mounted() {
- },
- async created() {
- this.option = await this.getColumnData(this.getColumnName(38), option);
- },
- activated() {
- if (!this.show && !this.$store.getters.entranceXsStatus) {
- this.show = true;
- }
- setTimeout(() => {
- if (this.$route.query.check && this.show) {
- this.detailData = {
- check: this.$route.query.check
- }
- this.show = false;
- this.$store.commit("XSACE_IN_DETAIL");
- } else if (this.$route.query.params) {
- this.detailData = {
- id: this.$route.query.params,
- view: true,
- }
- this.show = false;
- this.$store.commit("XSACE_IN_DETAIL");
- }
- }, 100);
- },
- methods: {
- //表格展开触发
- expandChange(row, expendList) {
- if (row.loading == true) {
- detailSaleList(row.id).then(res => {
- row.insideList = res.data.data.orderItemsList
- row.loading = false;
- })
- }
- },
- //删除列表后面的删除按钮触发触发(row, index, done)
- rowDel(row, index, done) {
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- }).then(() => {
- return removeList(row.id);
- }).then(() => {
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- this.page.currentPage = 1;
- this.onLoad(this.page);
- });
- },
- copyBill() {
- this.detailData = {
- id: this.selectionList[0].id,
- status: 'copy'
- };
- this.show = false;
- },
- //新增跳转页面
- beforeOpen(row, status) {
- this.show = false;
- this.$store.commit("XSACE_IN_DETAIL");
- },
- //查看跳转页面
- beforeOpenPage(row) {
- let lockData = {
- moduleName: 'xs',
- tableName: 'business_order',
- billId: row.id,
- no: localStorage.getItem('browserID'),
- billNo: row.orderNo
- }
- this.detailData = {
- id: row.id,
- view: true,
- lockData: lockData,
- };
- this.show = false;
- this.$store.commit("XSACE_IN_DETAIL");
- },
- //点击新增时触发
- beforeClose(done) {
- this.parentId = "";
- const column = this.findObject(this.option.column, "parentId");
- column.value = "";
- column.addDisabled = false;
- done();
- },
- //点击搜索按钮触发
- searchChange(params, done) {
- this.page.currentPage = 1;
- this.onLoad(this.page, params);
- done()
- },
- openDisabled() {
- this.viewDisabled = false
- },
- searchReset() {
- console.log('1')
- },
- selectionChange(row) {
- this.selectionList = row
- },
- currentChange(val) {
- this.page.currentPage = val;
- },
- sizeChange() {
- console.log('1')
- },
- refreshChange() {
- this.onLoad(this.page)
- },
- paramsAdjustment(params) {
- params = Object.assign({}, this.search);
- if (params.businesDate && params.businesDate.length !== 0) { //发货
- params.contractStartDate = params.businesDate[0] + " " + "00:00:00";
- params.contractEndDate = params.businesDate[1] + " " + "23:59:59";
- this.$delete(params, 'businesDate')
- }
- if (params.advanceCollectionDate && params.advanceCollectionDate.length !== 0) {
- params.orderStartDate = params.advanceCollectionDate[0] + " " + "00:00:00";
- params.orderEndDate = params.advanceCollectionDate[1] + " " + "23:59:59";
- this.$delete(params, 'advanceCollectionDate')
- }
- return params
- },
- onLoad(page, params) {
- this.loading = true
- params = this.paramsAdjustment(params)
- params.size = page.pageSize
- params.current = page.currentPage
- selectSaleList(params).then(res => {
- this.dataList = res.data.data.records
- this.page.total = res.data.data.total
- this.dataList.forEach(item => {
- this.$set(item, 'insideList', [])
- this.$set(item, 'loading', true)
- })
- if (this.page.total) {
- this.option.height = window.innerHeight - 200;
- }
- }).finally(() => {
- this.loading = false
- })
- },
- goBack() {
- this.detailData = this.$options.data().detailData
- this.show = true;
- this.onLoad(this.page, this.search)
- },
- searchCriteriaSwitch(type) {
- if (type) {
- this.option.height = this.option.height - 145
- } else {
- this.option.height = this.option.height + 145
- }
- this.$refs.crud.getTableHeight()
- },
- cellStyle() {
- return "padding:0;height:40px;";
- },
- //列保存触发
- async saveColumn() {
- const inSave = await this.saveColumnData(
- this.getColumnName(38),
- this.option
- );
- if (inSave) {
- this.$message.success("保存成功");
- //关闭窗口
- this.$refs.crud.$refs.dialogColumn.columnBox = false;
- }
- },
- async resetColumn() {
- const inSave = await this.delColumnData(
- this.getColumnName(38),
- option
- );
- if (inSave) {
- this.$message.success("重置成功");
- this.option = option;
- //关闭窗口
- this.$refs.crud.$refs.dialogColumn.columnBox = false;
- }
- },
- },
- }
- </script>
- <style scoped>
- ::v-deep .el-table__expanded-cell {
- padding: 0 !important;
- }
- /deep/ .el-table__expanded-cell .el-table__header-wrapper .cell {
- font-size: 8px !important;
- }
- /deep/ .el-table__body-wrapper .cell {
- font-size: 8px;
- }
- </style>
|