123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362 |
- <template>
- <div>
- <basic-container v-if="show">
- <avue-crud :option="option"
- :data="dataList"
- :table-loading="loading"
- ref="crud"
- v-model="form"
- :page.sync="page"
- :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="scope" slot="expand">
- <el-table :data="scope.row.insideList" v-loading="scope.row.loading">
- <el-table-column type="selection" align="center" width="50"></el-table-column>
- <el-table-column label="提单号" prop="billNo" align="center" show-overflow-tooltip width="150"></el-table-column>
- <el-table-column label="货物品种" prop="priceCategoryNames" align="center" show-overflow-tooltip width="180"></el-table-column>
- <el-table-column label="规格" prop="itemType" align="center" show-overflow-tooltip width="140"></el-table-column>
- <el-table-column label="件数" prop="orderQuantity" align="center" show-overflow-tooltip width="80"></el-table-column>
- <el-table-column label="发票重量" prop="invoiceWeight" align="center" show-overflow-tooltip width="120"></el-table-column>
- <el-table-column label="码单重量" prop="billWeight" align="center" show-overflow-tooltip width="120"></el-table-column>
- <el-table-column label="单价" prop="price" align="center" show-overflow-tooltip width="80"></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="80"></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"
- @click.stop="rowDel(scope.row,scope.index)"
- >删除
- </el-button>
- </template>
- <template slot-scope="scope" slot="corpId">
- <span style="color: #409EFF;cursor: pointer" @click.stop="beforeOpenPage(scope.row)">{{ scope.row.strCorpName }}</span>
- </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="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>
- </div>
- </template>
- <script>
- import option from "./config/mainList.json";
- import {selectPurchaseList,removeData,getItemByPid} from "@/api/importTrade/purchase";
- import detailPage from "./detailsPage.vue";
- import { roundNumbers } from "@/util/validate";
- export default {
- name: "index",
- data() {
- return {
- loading:false,
- option: option,
- detailData:{},
- dataList: [],
- selectionList:[],
- page: {
- pageSize: 10,
- pagerCount: 5,
- total: 0,
- },
- form: {},
- show: true,
- search: {},
- configuration:{
- multipleChoices:false,
- multiple:false,
- disabled:false,
- searchShow:true,
- collapseTags:false,
- clearable:true,
- placeholder:'请点击右边按钮选择',
- dicData:[]
- },
- }
- },
- filters: {
- roundNumbers(val){
- return roundNumbers(val);
- }
- },
- components:{
- detailPage
- },
- async created() {
- // this.option = await this.getColumnData(this.getColumnName(36), option);
- },
- activated() {
- if(!this.show && !this.$store.getters.entranceCgStatus){
- this.show = true;
- }
- setTimeout(() => {
- if(this.$route.query.check && this.show){
- this.detailData={
- check:this.$route.query.check
- }
- this.show = false;
- this.$store.commit("ENTRANCE_IN_DETAIL");
- } else if (this.$route.query.params) {
- this.detailData={
- id:this.$route.query.params,
- view:true,
- }
- this.show = false;
- this.$store.commit("ENTRANCE_IN_DETAIL");
- }
- }, 100);
- },
- mounted() {
- },
- methods: {
- //表格展开触发
- expandChange(row, expendList) {
- if(row){
- getItemByPid(row.id).then(res =>{
- this.$set(this.dataList[row.$index],"insideList", res.data.data)
- row.loading = false
- })
- }else{
- return
- }
- },
- //删除列表后面的删除按钮触发触发(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 );
- }
- })
- })
- },
- copyBill(){
- this.detailData = {
- id: this.selectionList[0].id,
- status: 'copy'
- };
- this.show = false;
- },
- //查看跳转页面
- beforeOpenPage(row) {
- let lockData = {
- moduleName: 'cg',
- 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("ENTRANCE_IN_DETAIL");
- },
- //新增跳转页面
- beforeOpen(row, status) {
- this.detailData = {
- id: row.id,
- status: status
- };
- this.show = false;
- this.$store.commit("ENTRANCE_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()
- },
- 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.businesStartDate = params.businesDate[0]+ " " + "00:00:00";
- params.businesEndDate = params.businesDate[1] + " " + "23:59:59";
- this.$delete(params,'businesDate')
- }
- if (params.requiredDeliveryDate && params.requiredDeliveryDate.length !=0 ) { //发货
- params.requiredDeliveryStartDate = params.requiredDeliveryDate[0]+ " " + "00:00:00";
- params.requiredDeliveryEndDate = params.requiredDeliveryDate[1] + " " + "23:59:59";
- this.$delete(params,'requiredDeliveryDate')
- }
- if (params.requiredArrivalDate && params.requiredArrivalDate.length !=0 ) { //到货
- params.requiredArrivalStartDate = params.requiredArrivalDate[0]+ " " + "00:00:00";
- params.requiredArrivalEndDate = params.requiredArrivalDate[1] + " " + "23:59:59";
- this.$delete(params,'requiredArrivalDate')
- }
- if (params.accountsCollectionDate && params.accountsCollectionDate.length !=0 ) { //付款
- params.accountsCollectionStartDate = params.accountsCollectionDate[0]+ " " + "00:00:00";
- params.accountsCollectionEndDate = params.accountsCollectionDate[1] + " " + "23:59:59";
- this.$delete(params,'accountsCollectionDate')
- }
- if (params.dateOfArrival && params.dateOfArrival.length !=0 ) { //到港
- params.dateOfStartArrival = params.dateOfArrival[0]+ " " + "00:00:00";
- params.dateOfEndArrival = params.dateOfArrival[1] + " " + "23:59:59";
- this.$delete(params,'dateOfArrival')
- }
- if (params.creditDate && params.creditDate.length !=0 ) { //信用
- params.creditStartDate = params.creditDate[0]+ " " + "00:00:00";
- params.creditEndDate = params.creditDate[1] + " " + "23:59:59";
- this.$delete(params,'creditDate')
- }
- return params
- },
- onLoad(page, params) {
- this.loading = true
- params = this.paramsAdjustment(params)
- params.size = page.pageSize
- params.current = page.currentPage
- params.tradeType = "JK" //进口参数
- selectPurchaseList(params).then(res => {
- this.dataList = res.data.data.records
- this.page.total = res.data.data.total
- if (this.page.total || this.page.total === 0) {
- this.option.height = window.innerHeight - 200;
- }
- })
- .finally(()=>{
- this.loading = false
- })
- },
- searchCriteriaSwitch(type){
- if (type){
- this.option.height = this.option.height - 145
- }else {
- this.option.height = this.option.height + 145
- }
- this.$refs.crud.getTableHeight()
- },
- goBack() {
- this.detailData=this.$options.data().detailData
- this.show = true;
- this.onLoad(this.page, this.search)
- },
- cellStyle() {
- return "padding:0;height:40px;";
- },
- //列保存触发
- async saveColumn() {
- const inSave = await this.saveColumnData(
- this.getColumnName(36),
- this.option
- );
- if (inSave) {
- this.$message.success("保存成功");
- //关闭窗口
- this.$refs.crud.$refs.dialogColumn.columnBox = false;
- }
- },
- async resetColumn() {
- const inSave = await this.delColumnData(
- this.getColumnName(36),
- 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>
|