|
|
@@ -2,7 +2,7 @@
|
|
|
<div class="ele-body">
|
|
|
<el-card shadow="never" v-loading="loading">
|
|
|
<div class="ele-border-lighter form-content" v-loading="loading">
|
|
|
- <search-table @search="reload"> </search-table>
|
|
|
+ <search-table @search="reload"></search-table>
|
|
|
|
|
|
<!-- 数据表格 -->
|
|
|
<ele-pro-table
|
|
|
@@ -47,7 +47,8 @@
|
|
|
:underline="false"
|
|
|
@click="openorderDetail(row, 'returnNo')"
|
|
|
>
|
|
|
- {{ row.returnNo }}</el-link
|
|
|
+ {{ row.returnNo }}
|
|
|
+ </el-link
|
|
|
>
|
|
|
</template>
|
|
|
<template v-slot:sendNo="{ row }">
|
|
|
@@ -56,7 +57,8 @@
|
|
|
:underline="false"
|
|
|
@click="openorderDetail(row, 'sendNo')"
|
|
|
>
|
|
|
- {{ row.sendNo }}</el-link
|
|
|
+ {{ row.sendNo }}
|
|
|
+ </el-link
|
|
|
>
|
|
|
</template>
|
|
|
<template v-slot:orderNo="{ row }">
|
|
|
@@ -65,11 +67,28 @@
|
|
|
:underline="false"
|
|
|
@click="openorderDetail(row, 'orderNo')"
|
|
|
>
|
|
|
- {{ row.orderNo }}</el-link
|
|
|
+ {{ row.orderNo }}
|
|
|
+ </el-link
|
|
|
>
|
|
|
</template>
|
|
|
<!-- 操作列 -->
|
|
|
<template v-slot:action="{ row }">
|
|
|
+<!-- <el-link-->
|
|
|
+<!-- type="primary"-->
|
|
|
+<!-- :underline="false"-->
|
|
|
+<!-- icon="el-icon-edit"-->
|
|
|
+<!-- @click="handleCreateCROrder('add', row)"-->
|
|
|
+<!-- v-if="[1].includes(row.canCreateHandleReceipt)&&!row.handleReceiptId">-->
|
|
|
+<!-- 退货处理-->
|
|
|
+<!-- </el-link>-->
|
|
|
+<!-- <el-link-->
|
|
|
+<!-- type="primary"-->
|
|
|
+<!-- :underline="false"-->
|
|
|
+<!-- icon="el-icon-edit"-->
|
|
|
+<!-- @click="handleCreateCROrder('update', row)"-->
|
|
|
+<!-- v-if="row.handleReceiptId&&row.canCreateHandleReceipt=='1'">-->
|
|
|
+<!-- 退货处理-->
|
|
|
+<!-- </el-link>-->
|
|
|
<el-link
|
|
|
type="primary"
|
|
|
:underline="false"
|
|
|
@@ -113,6 +132,12 @@
|
|
|
<send-detail-dialog ref="sendDetailDialogRef"></send-detail-dialog>
|
|
|
<order-detail-dialog ref="orderDetailDialogRef"></order-detail-dialog>
|
|
|
<detail-dialog ref="DetailDialogRef"></detail-dialog>
|
|
|
+ <!-- 客户真实退货单 -->
|
|
|
+ <customer-return-order-dialog
|
|
|
+ v-if="customerReturnOrderDialogFlag"
|
|
|
+ :customer-return-order-dialog-flag.sync="customerReturnOrderDialogFlag"
|
|
|
+ ref="customerReturnOrderDialogRef">
|
|
|
+ </customer-return-order-dialog>
|
|
|
<!-- 多选删除弹窗 -->
|
|
|
<pop-modal
|
|
|
:visible.sync="delVisible"
|
|
|
@@ -123,232 +148,249 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
- import searchTable from './components/searchTable.vue';
|
|
|
- import addReturnGoodsDialog from './components/addReturnGoodsDialog.vue';
|
|
|
- import detailDialog from './components/detailDialog.vue';
|
|
|
- import sendDetailDialog from '@/views/saleManage/saleOrder/invoice/components/detailDialog.vue';
|
|
|
- import orderDetailDialog from '@/views/saleManage/saleOrder/components/detailDialog.vue';
|
|
|
- import popModal from '@/components/pop-modal';
|
|
|
- import { reviewStatusEnum } from '@/enum/dict';
|
|
|
- import {
|
|
|
- getReturnTableList,
|
|
|
- submit,
|
|
|
- deleteReturnInformation
|
|
|
- } from '@/api/saleManage/returnGoods';
|
|
|
- import dictMixins from '@/mixins/dictMixins';
|
|
|
+import searchTable from './components/searchTable.vue';
|
|
|
+import addReturnGoodsDialog from './components/addReturnGoodsDialog.vue';
|
|
|
+import detailDialog from './components/detailDialog.vue';
|
|
|
+import sendDetailDialog from '@/views/saleManage/saleOrder/invoice/components/detailDialog.vue';
|
|
|
+import orderDetailDialog from '@/views/saleManage/saleOrder/components/detailDialog.vue';
|
|
|
+import popModal from '@/components/pop-modal';
|
|
|
+import customerReturnOrderDialog
|
|
|
+ from "@/views/saleManage/saleOrder/returnGoods/components/customerReturnOrderDialog.vue";
|
|
|
+import {reviewStatusEnum} from '@/enum/dict';
|
|
|
+import {
|
|
|
+ getReturnTableList,
|
|
|
+ submit,
|
|
|
+ deleteReturnInformation
|
|
|
+} from '@/api/saleManage/returnGoods';
|
|
|
+import dictMixins from '@/mixins/dictMixins';
|
|
|
|
|
|
- export default {
|
|
|
- mixins: [dictMixins],
|
|
|
- components: {
|
|
|
- searchTable,
|
|
|
- sendDetailDialog,
|
|
|
- orderDetailDialog,
|
|
|
- popModal,
|
|
|
- addReturnGoodsDialog,
|
|
|
- detailDialog
|
|
|
- },
|
|
|
- data() {
|
|
|
- return {
|
|
|
- activeComp: 'saleorder',
|
|
|
- tabOptions: [
|
|
|
- { key: 'saleorder', name: '销售订单' },
|
|
|
- { key: 'invoice', name: '发货单' },
|
|
|
- { key: 'returnorder', name: '退货单' }
|
|
|
- ],
|
|
|
- selection: [], //单选中集合
|
|
|
- delVisible: false, //批量删除弹框状态
|
|
|
- loading: false, // 加载状态
|
|
|
- columns: [
|
|
|
- {
|
|
|
- width: 45,
|
|
|
- type: 'selection',
|
|
|
- columnKey: 'selection',
|
|
|
- align: 'center'
|
|
|
- },
|
|
|
- {
|
|
|
- columnKey: 'index',
|
|
|
- label: '序号',
|
|
|
- type: 'index',
|
|
|
- width: 55,
|
|
|
- align: 'center',
|
|
|
- showOverflowTooltip: true,
|
|
|
- fixed: 'left'
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'returnNo',
|
|
|
- label: '退货单编码',
|
|
|
- align: 'center',
|
|
|
- slot: 'returnNo',
|
|
|
- showOverflowTooltip: true,
|
|
|
- minWidth: 200
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'sendNo',
|
|
|
- label: '发货单编码',
|
|
|
- align: 'center',
|
|
|
- slot: 'sendNo',
|
|
|
- showOverflowTooltip: true,
|
|
|
- minWidth: 200
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'orderNo',
|
|
|
- label: '销售订单编码',
|
|
|
- align: 'center',
|
|
|
- slot: 'orderNo',
|
|
|
- showOverflowTooltip: true,
|
|
|
- minWidth: 200
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'contactName',
|
|
|
- label: '客户名称',
|
|
|
- align: 'center',
|
|
|
- showOverflowTooltip: true,
|
|
|
- minWidth: 180
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'payAmount',
|
|
|
- label: '应付金额',
|
|
|
- align: 'center',
|
|
|
- slot: 'payAmount',
|
|
|
- showOverflowTooltip: true,
|
|
|
- minWidth: 200
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'reviewStatus',
|
|
|
- label: '状态',
|
|
|
- align: 'center',
|
|
|
- showOverflowTooltip: true,
|
|
|
- minWidth: 200,
|
|
|
- formatter: (_row, _column, cellValue) => {
|
|
|
- return reviewStatusEnum[_row.reviewStatus].label;
|
|
|
- }
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'createTime',
|
|
|
- label: '创建时间',
|
|
|
- align: 'center',
|
|
|
- showOverflowTooltip: true,
|
|
|
- minWidth: 170
|
|
|
- },
|
|
|
- {
|
|
|
- columnKey: 'action',
|
|
|
- label: '操作',
|
|
|
- width: 230,
|
|
|
- align: 'center',
|
|
|
- resizable: false,
|
|
|
- slot: 'action',
|
|
|
- showOverflowTooltip: true,
|
|
|
- fixed: 'right'
|
|
|
+export default {
|
|
|
+ mixins: [dictMixins],
|
|
|
+ components: {
|
|
|
+ searchTable,
|
|
|
+ sendDetailDialog,
|
|
|
+ orderDetailDialog,
|
|
|
+ popModal,
|
|
|
+ addReturnGoodsDialog,
|
|
|
+ detailDialog,
|
|
|
+ customerReturnOrderDialog
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ activeComp: 'saleorder',
|
|
|
+ tabOptions: [
|
|
|
+ {key: 'saleorder', name: '销售订单'},
|
|
|
+ {key: 'invoice', name: '发货单'},
|
|
|
+ {key: 'returnorder', name: '退货单'}
|
|
|
+ ],
|
|
|
+ selection: [], //单选中集合
|
|
|
+ delVisible: false, //批量删除弹框状态
|
|
|
+ loading: false, // 加载状态
|
|
|
+ customerReturnOrderDialogFlag: false, // 客户真实退货单
|
|
|
+ columns: [
|
|
|
+ {
|
|
|
+ width: 45,
|
|
|
+ type: 'selection',
|
|
|
+ columnKey: 'selection',
|
|
|
+ align: 'center'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ columnKey: 'index',
|
|
|
+ label: '序号',
|
|
|
+ type: 'index',
|
|
|
+ width: 55,
|
|
|
+ align: 'center',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ fixed: 'left'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'returnNo',
|
|
|
+ label: '退货单编码',
|
|
|
+ align: 'center',
|
|
|
+ slot: 'returnNo',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 200
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'sendNo',
|
|
|
+ label: '发货单编码',
|
|
|
+ align: 'center',
|
|
|
+ slot: 'sendNo',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 200
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'orderNo',
|
|
|
+ label: '销售订单编码',
|
|
|
+ align: 'center',
|
|
|
+ slot: 'orderNo',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 200
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'contactName',
|
|
|
+ label: '客户名称',
|
|
|
+ align: 'center',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 180
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'payAmount',
|
|
|
+ label: '应付金额',
|
|
|
+ align: 'center',
|
|
|
+ slot: 'payAmount',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 200
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'reviewStatus',
|
|
|
+ label: '状态',
|
|
|
+ align: 'center',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 200,
|
|
|
+ formatter: (_row, _column, cellValue) => {
|
|
|
+ return reviewStatusEnum[_row.reviewStatus].label;
|
|
|
}
|
|
|
- ]
|
|
|
- };
|
|
|
- },
|
|
|
- computed: {},
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'createTime',
|
|
|
+ label: '创建时间',
|
|
|
+ align: 'center',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 170
|
|
|
+ },
|
|
|
+ {
|
|
|
+ columnKey: 'action',
|
|
|
+ label: '操作',
|
|
|
+ width: 230,
|
|
|
+ align: 'center',
|
|
|
+ resizable: false,
|
|
|
+ slot: 'action',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ fixed: 'right'
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ };
|
|
|
+ },
|
|
|
+ computed: {},
|
|
|
|
|
|
- methods: {
|
|
|
- /* 表格数据源 */
|
|
|
- datasource({ page, limit, where, order }) {
|
|
|
- return getReturnTableList({
|
|
|
- pageNum: page,
|
|
|
- size: limit,
|
|
|
- ...where
|
|
|
- });
|
|
|
- },
|
|
|
+ methods: {
|
|
|
+ /* 表格数据源 */
|
|
|
+ datasource({page, limit, where, order}) {
|
|
|
+ return getReturnTableList({
|
|
|
+ pageNum: page,
|
|
|
+ size: limit,
|
|
|
+ ...where
|
|
|
+ });
|
|
|
+ },
|
|
|
|
|
|
- /* 刷新表格 */
|
|
|
- reload(where) {
|
|
|
- this.$refs.table.reload({ page: 1, where });
|
|
|
- },
|
|
|
+ /* 刷新表格 */
|
|
|
+ reload(where) {
|
|
|
+ this.$refs.table.reload({page: 1, where});
|
|
|
+ },
|
|
|
|
|
|
- //新增编辑
|
|
|
- openEdit(type, row) {
|
|
|
- this.$refs.invoiceDialogRef.open(type, row);
|
|
|
- this.$refs.invoiceDialogRef.$refs.form &&
|
|
|
- this.$refs.invoiceDialogRef.$refs.form.clearValidate();
|
|
|
- },
|
|
|
+ //新增编辑
|
|
|
+ openEdit(type, row) {
|
|
|
+ this.$refs.invoiceDialogRef.open(type, row);
|
|
|
+ this.$refs.invoiceDialogRef.$refs.form &&
|
|
|
+ this.$refs.invoiceDialogRef.$refs.form.clearValidate();
|
|
|
+ },
|
|
|
|
|
|
- //批量删除
|
|
|
- allDelBtn() {
|
|
|
- if (this.selection.length === 0) return;
|
|
|
- this.delVisible = true;
|
|
|
- },
|
|
|
+ //批量删除
|
|
|
+ allDelBtn() {
|
|
|
+ if (this.selection.length === 0) return;
|
|
|
+ this.delVisible = true;
|
|
|
+ },
|
|
|
|
|
|
- //删除接口
|
|
|
- remove(delData) {
|
|
|
- deleteReturnInformation(delData).then((res) => {
|
|
|
- this.$message.success('删除成功!');
|
|
|
- this.reload();
|
|
|
- });
|
|
|
- },
|
|
|
+ //删除接口
|
|
|
+ remove(delData) {
|
|
|
+ deleteReturnInformation(delData).then((res) => {
|
|
|
+ this.$message.success('删除成功!');
|
|
|
+ this.reload();
|
|
|
+ });
|
|
|
+ },
|
|
|
|
|
|
- //删除弹框确定
|
|
|
- commitBtn() {
|
|
|
- const dataId = this.selection.map((v) => v.id);
|
|
|
- this.remove(dataId);
|
|
|
- },
|
|
|
- returnSubmit(res) {
|
|
|
- submit({
|
|
|
- businessId: res.id
|
|
|
- }).then((res) => {
|
|
|
- this.$message.success('提交成功!');
|
|
|
- this.reload();
|
|
|
- });
|
|
|
- },
|
|
|
- //查看详情
|
|
|
- openorderDetail(row, type) {
|
|
|
- if (type === 'returnNo') {
|
|
|
- this.$refs.DetailDialogRef.open(row);
|
|
|
- }
|
|
|
- if (type === 'sendNo') {
|
|
|
- this.$refs.sendDetailDialogRef.open({ id: row.sendId });
|
|
|
- }
|
|
|
- if (type === 'orderNo') {
|
|
|
- this.$refs.orderDetailDialogRef.open({ id: row.orderId });
|
|
|
- }
|
|
|
+ //删除弹框确定
|
|
|
+ commitBtn() {
|
|
|
+ const dataId = this.selection.map((v) => v.id);
|
|
|
+ this.remove(dataId);
|
|
|
+ },
|
|
|
+ returnSubmit(res) {
|
|
|
+ submit({
|
|
|
+ businessId: res.id
|
|
|
+ }).then((res) => {
|
|
|
+ this.$message.success('提交成功!');
|
|
|
+ this.reload();
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //创建/修改客户退货单
|
|
|
+ handleCreateCROrder(type,row){
|
|
|
+ this.customerReturnOrderDialogFlag = true
|
|
|
+ this.$nextTick(()=>{
|
|
|
+ this.$refs.customerReturnOrderDialogRef.init(type,row)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //查看详情
|
|
|
+ openorderDetail(row, type) {
|
|
|
+ if (type === 'returnNo') {
|
|
|
+ this.$refs.DetailDialogRef.open(row);
|
|
|
+ }
|
|
|
+ if (type === 'sendNo') {
|
|
|
+ this.$refs.sendDetailDialogRef.open({id: row.sendId});
|
|
|
+ }
|
|
|
+ if (type === 'orderNo') {
|
|
|
+ this.$refs.orderDetailDialogRef.open({id: row.orderId});
|
|
|
}
|
|
|
}
|
|
|
- };
|
|
|
+ }
|
|
|
+};
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
- .ele-body {
|
|
|
- padding-top: 0;
|
|
|
- padding-bottom: 0;
|
|
|
- }
|
|
|
- :deep .el-card__body {
|
|
|
- padding: 0;
|
|
|
- }
|
|
|
- :deep(.el-link--inner) {
|
|
|
- margin-left: 0px !important;
|
|
|
- }
|
|
|
+.ele-body {
|
|
|
+ padding-top: 0;
|
|
|
+ padding-bottom: 0;
|
|
|
+}
|
|
|
|
|
|
- .sys-organization-list {
|
|
|
- height: calc(100vh - 264px);
|
|
|
- box-sizing: border-box;
|
|
|
- border-width: 1px;
|
|
|
- border-style: solid;
|
|
|
- overflow: auto;
|
|
|
- }
|
|
|
- .sys-organization-list :deep(.el-tree-node__content) {
|
|
|
- height: 40px;
|
|
|
- & > .el-tree-node__expand-icon {
|
|
|
- margin-left: 10px;
|
|
|
- }
|
|
|
- }
|
|
|
+:deep .el-card__body {
|
|
|
+ padding: 0;
|
|
|
+}
|
|
|
|
|
|
- .switch_left ul .active {
|
|
|
- border-top: 4px solid var(--color-primary);
|
|
|
- color: var(--color-primary-5);
|
|
|
- }
|
|
|
- .switch {
|
|
|
- padding-bottom: 20px;
|
|
|
- }
|
|
|
+:deep(.el-link--inner) {
|
|
|
+ margin-left: 0px !important;
|
|
|
+}
|
|
|
|
|
|
- .el-dropdown-link {
|
|
|
- cursor: pointer;
|
|
|
- color: var(--color-primary-5);
|
|
|
- }
|
|
|
- .el-icon-arrow-down {
|
|
|
- font-size: 12px;
|
|
|
+.sys-organization-list {
|
|
|
+ height: calc(100vh - 264px);
|
|
|
+ box-sizing: border-box;
|
|
|
+ border-width: 1px;
|
|
|
+ border-style: solid;
|
|
|
+ overflow: auto;
|
|
|
+}
|
|
|
+
|
|
|
+.sys-organization-list :deep(.el-tree-node__content) {
|
|
|
+ height: 40px;
|
|
|
+
|
|
|
+ & > .el-tree-node__expand-icon {
|
|
|
+ margin-left: 10px;
|
|
|
}
|
|
|
+}
|
|
|
+
|
|
|
+.switch_left ul .active {
|
|
|
+ border-top: 4px solid var(--color-primary);
|
|
|
+ color: var(--color-primary-5);
|
|
|
+}
|
|
|
+
|
|
|
+.switch {
|
|
|
+ padding-bottom: 20px;
|
|
|
+}
|
|
|
+
|
|
|
+.el-dropdown-link {
|
|
|
+ cursor: pointer;
|
|
|
+ color: var(--color-primary-5);
|
|
|
+}
|
|
|
+
|
|
|
+.el-icon-arrow-down {
|
|
|
+ font-size: 12px;
|
|
|
+}
|
|
|
</style>
|