|
|
@@ -9,7 +9,7 @@
|
|
|
:key="item.key"
|
|
|
:class="{ active: activeComp == item.key }"
|
|
|
@click="activeComp = item.key"
|
|
|
- style="height: 42px;line-height: 38px;"
|
|
|
+ style="height: 42px; line-height: 38px"
|
|
|
>
|
|
|
<el-badge :value="toDoReminder[item.reminder] || 0" class="item">
|
|
|
{{ item.name }}
|
|
|
@@ -71,6 +71,24 @@
|
|
|
apiUrl="/eom/purchaseorder/export"
|
|
|
:params="params"
|
|
|
></exportButton>
|
|
|
+ <el-dropdown
|
|
|
+ trigger="click"
|
|
|
+ :disabled="selection?.length === 0"
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ class="el-icon-printer"
|
|
|
+ size="small"
|
|
|
+ >
|
|
|
+ 打印<i class="el-icon-arrow-down el-icon--right"></i>
|
|
|
+ </el-button>
|
|
|
+ <el-dropdown-menu slot="dropdown">
|
|
|
+ <el-dropdown-item
|
|
|
+ @click.native="handlePrint('printPurchaseOrderRef')"
|
|
|
+ >采购订单</el-dropdown-item
|
|
|
+ >
|
|
|
+ </el-dropdown-menu>
|
|
|
+ </el-dropdown>
|
|
|
</template>
|
|
|
|
|
|
<!-- 查看详情列 -->
|
|
|
@@ -263,512 +281,538 @@
|
|
|
fileName="采购订单导入模板"
|
|
|
apiUrl="/eom/purchaseorder/importFile"
|
|
|
/>
|
|
|
+ <printPurchaseOrder
|
|
|
+ ref="printPurchaseOrderRef"
|
|
|
+ :groupName="groupName"
|
|
|
+ ></printPurchaseOrder>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
- import searchTable from './components/searchTable.vue';
|
|
|
- import addDialog from './components/addDialog.vue';
|
|
|
- import invoice from './invoice/index.vue';
|
|
|
- import invoiceConfirm from './invoiceConfirm/index.vue';
|
|
|
- import detailDialog from './components/detailDialog.vue';
|
|
|
- import contractrDetail from '@/views/contractManage/contractBook/components/detailDialog.vue';
|
|
|
- import purchasingDetail from '@/views/purchasingManage/purchaseNeedManage/components/detailDialog.vue';
|
|
|
- import purchasePlanDetail from '@/views/purchasingManage/purchasePlanManage/components/detailDialog.vue';
|
|
|
- import inquiryDetail from '@/views/purchasingManage/inquiryManage/components/detailDialog.vue';
|
|
|
- import addInvoiceDialog from '@/views/purchasingManage/purchaseOrder/invoice/components/addInvoiceDialog';
|
|
|
- import addReturnGoodsDialog from '@/views/purchasingManage/purchaseOrder/returnGoods/components/addReturnGoodsDialog';
|
|
|
- import addOutSourceSend from '@/views/purchasingManage/purchaseOrder/outSourceSend/components/addOrEditDialog';
|
|
|
- import popModal from '@/components/pop-modal';
|
|
|
- import accountstatement from './accountstatement/index.vue';
|
|
|
- import returnGoods from './returnGoods/index.vue';
|
|
|
- import addInvoiceManage from '@/views/financialManage/invoiceManage/components/addOrEditDialog.vue';
|
|
|
- import outSourceSend from './outSourceSend/index';
|
|
|
- import {
|
|
|
- getTableList,
|
|
|
- deleteInformation,
|
|
|
- getExport
|
|
|
- } from '@/api/purchasingManage/purchaseOrder';
|
|
|
- import dictMixins from '@/mixins/dictMixins';
|
|
|
- import { purchaseOrderProgressStatusEnum, reviewStatus } from '@/enum/dict';
|
|
|
- import processSubmitDialog from '@/BIZComponents/processSubmitDialog/processSubmitDialog.vue';
|
|
|
- import tabMixins from '@/mixins/tableColumnsMixin';
|
|
|
- import importDialog from '@/components/upload/import-dialog.vue';
|
|
|
- import exportButton from '@/components/upload/exportButton.vue';
|
|
|
- import { parameterGetByCode } from '@/api/main/index.js';
|
|
|
- import exceptionList from '@/views/saleManage/saleOrder/exceptionManagement/exceptionList/index.vue';
|
|
|
- import { getToDoReminder } from '@/api/common/index';
|
|
|
- import { exportTable } from '@/api/system/file/index.js';
|
|
|
-
|
|
|
- export default {
|
|
|
- mixins: [dictMixins, tabMixins],
|
|
|
- components: {
|
|
|
- processSubmitDialog,
|
|
|
- exportButton,
|
|
|
- searchTable,
|
|
|
- returnGoods,
|
|
|
- accountstatement,
|
|
|
- popModal,
|
|
|
- contractrDetail,
|
|
|
- addReturnGoodsDialog,
|
|
|
- addInvoiceDialog,
|
|
|
- invoice,
|
|
|
- addDialog,
|
|
|
- detailDialog,
|
|
|
- outSourceSend,
|
|
|
- addOutSourceSend,
|
|
|
- addInvoiceManage,
|
|
|
- importDialog,
|
|
|
- invoiceConfirm,
|
|
|
- exceptionList,
|
|
|
- purchasingDetail,
|
|
|
- purchasePlanDetail,
|
|
|
- inquiryDetail
|
|
|
- },
|
|
|
- data() {
|
|
|
- return {
|
|
|
- activeComp: 'saleorder',
|
|
|
- tabOptions: [
|
|
|
- { key: 'saleorder', name: '采购订单', reminder: 'purchaseOrderNum' },
|
|
|
- {
|
|
|
- key: 'outsourceSend',
|
|
|
- name: '委外发货单',
|
|
|
- reminder: 'outsourcingDeliveryNoteNum'
|
|
|
- },
|
|
|
- { key: 'invoice', name: '收货单', reminder: 'receiptNum' },
|
|
|
- {
|
|
|
- key: 'invoiceConfirm',
|
|
|
- name: '收货确认单',
|
|
|
- reminder: 'receiptConfirmationFormNum'
|
|
|
- },
|
|
|
- {
|
|
|
- key: 'exceptionList',
|
|
|
- name: '异常列表',
|
|
|
- reminder: 'purchaseExceptionListNum'
|
|
|
- },
|
|
|
- {
|
|
|
- key: 'returnorder',
|
|
|
- name: '退货单',
|
|
|
- reminder: 'purchaseReturnOrderNum'
|
|
|
- },
|
|
|
- {
|
|
|
- key: 'accountstatement',
|
|
|
- name: '对账单',
|
|
|
- reminder: 'purchaseStatementAccountNum'
|
|
|
- }
|
|
|
- ],
|
|
|
-
|
|
|
- selection: [], //单选中集合
|
|
|
- delVisible: false, //批量删除弹框状态
|
|
|
- loading: false, // 加载状态
|
|
|
- processSubmitDialogFlag: false,
|
|
|
- addOrEditDialogFlag: false,
|
|
|
- addOrEditDialogFlag1: false,
|
|
|
- params: {},
|
|
|
- columns: [
|
|
|
- {
|
|
|
- width: 45,
|
|
|
- type: 'selection',
|
|
|
- columnKey: 'selection',
|
|
|
- align: 'center'
|
|
|
- },
|
|
|
- {
|
|
|
- columnKey: 'index',
|
|
|
- label: '序号',
|
|
|
- type: 'index',
|
|
|
- width: 55,
|
|
|
- align: 'center',
|
|
|
- showOverflowTooltip: true,
|
|
|
- fixed: 'left'
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'orderNo',
|
|
|
- label: '订单编码',
|
|
|
- align: 'center',
|
|
|
- sortable: true,
|
|
|
- slot: 'orderNo',
|
|
|
- showOverflowTooltip: true,
|
|
|
- minWidth: 200,
|
|
|
- fixed: 'left'
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'sourceTypeName',
|
|
|
- label: '订单类型',
|
|
|
- align: 'center',
|
|
|
- sortable: true,
|
|
|
- showOverflowTooltip: true,
|
|
|
- minWidth: 200,
|
|
|
- fixed: 'left'
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'progress',
|
|
|
- label: '订单进度',
|
|
|
- align: 'center',
|
|
|
- showOverflowTooltip: true,
|
|
|
- formatter: (_row, _column, cellValue) => {
|
|
|
- return purchaseOrderProgressStatusEnum.find(
|
|
|
- (val) => val.value == _row.progress
|
|
|
- )?.label;
|
|
|
- },
|
|
|
- minWidth: 120
|
|
|
- },
|
|
|
+import searchTable from './components/searchTable.vue';
|
|
|
+import addDialog from './components/addDialog.vue';
|
|
|
+import invoice from './invoice/index.vue';
|
|
|
+import invoiceConfirm from './invoiceConfirm/index.vue';
|
|
|
+import detailDialog from './components/detailDialog.vue';
|
|
|
+import contractrDetail from '@/views/contractManage/contractBook/components/detailDialog.vue';
|
|
|
+import purchasingDetail from '@/views/purchasingManage/purchaseNeedManage/components/detailDialog.vue';
|
|
|
+import purchasePlanDetail from '@/views/purchasingManage/purchasePlanManage/components/detailDialog.vue';
|
|
|
+import inquiryDetail from '@/views/purchasingManage/inquiryManage/components/detailDialog.vue';
|
|
|
+import addInvoiceDialog from '@/views/purchasingManage/purchaseOrder/invoice/components/addInvoiceDialog';
|
|
|
+import addReturnGoodsDialog from '@/views/purchasingManage/purchaseOrder/returnGoods/components/addReturnGoodsDialog';
|
|
|
+import addOutSourceSend from '@/views/purchasingManage/purchaseOrder/outSourceSend/components/addOrEditDialog';
|
|
|
+import popModal from '@/components/pop-modal';
|
|
|
+import accountstatement from './accountstatement/index.vue';
|
|
|
+import returnGoods from './returnGoods/index.vue';
|
|
|
+import addInvoiceManage from '@/views/financialManage/invoiceManage/components/addOrEditDialog.vue';
|
|
|
+import outSourceSend from './outSourceSend/index';
|
|
|
+import {
|
|
|
+ getTableList,
|
|
|
+ deleteInformation,
|
|
|
+ getExport
|
|
|
+} from '@/api/purchasingManage/purchaseOrder';
|
|
|
+import dictMixins from '@/mixins/dictMixins';
|
|
|
+import { purchaseOrderProgressStatusEnum, reviewStatus } from '@/enum/dict';
|
|
|
+import processSubmitDialog from '@/BIZComponents/processSubmitDialog/processSubmitDialog.vue';
|
|
|
+import tabMixins from '@/mixins/tableColumnsMixin';
|
|
|
+import importDialog from '@/components/upload/import-dialog.vue';
|
|
|
+import exportButton from '@/components/upload/exportButton.vue';
|
|
|
+import { parameterGetByCode } from '@/api/main/index.js';
|
|
|
+import exceptionList from '@/views/saleManage/saleOrder/exceptionManagement/exceptionList/index.vue';
|
|
|
+import { getToDoReminder } from '@/api/common/index';
|
|
|
+import { exportTable } from '@/api/system/file/index.js';
|
|
|
+import printPurchaseOrder from '@/views/purchasingManage/purchaseOrder/invoice/components/print-PurchaseOrder.vue';
|
|
|
+ import { enterprisePage } from '@/api/contractManage/contractBook';
|
|
|
|
|
|
- {
|
|
|
- prop: 'relationType',
|
|
|
- label: '来源单据类型',
|
|
|
- align: 'center',
|
|
|
- showOverflowTooltip: true,
|
|
|
- minWidth: 150,
|
|
|
- formatter: (_row, _column, cellValue) => {
|
|
|
- return _row.relationType == 1
|
|
|
- ? '采购需求单'
|
|
|
- : _row.relationType == 2
|
|
|
- ? '采购计划单'
|
|
|
- : _row.relationType == 3
|
|
|
- ? '采购核价单'
|
|
|
- : _row.relationType == 4
|
|
|
- ? '采购合同'
|
|
|
- : '';
|
|
|
- }
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'relationName',
|
|
|
- label: '来源单据',
|
|
|
- align: 'center',
|
|
|
- slot: 'relationName',
|
|
|
- showOverflowTooltip: true,
|
|
|
- minWidth: 250
|
|
|
- },
|
|
|
- // {
|
|
|
- // prop: 'deliveryDate',
|
|
|
- // label: '交货日期',
|
|
|
- // align: 'center',
|
|
|
- // showOverflowTooltip: true,
|
|
|
- // minWidth: 200
|
|
|
- // },
|
|
|
- // {
|
|
|
- // prop: 'purchaseTypeName',
|
|
|
- // label: '采购订单类型',
|
|
|
- // align: 'center',
|
|
|
- // showOverflowTooltip: true,
|
|
|
- // minWidth: 140
|
|
|
- // },
|
|
|
- {
|
|
|
- prop: 'partaName',
|
|
|
- label: '采购方名称',
|
|
|
- align: 'center',
|
|
|
- showOverflowTooltip: true,
|
|
|
- minWidth: 200
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'partaLinkName',
|
|
|
- label: '采购方联系人',
|
|
|
- align: 'center',
|
|
|
- showOverflowTooltip: true,
|
|
|
- minWidth: 130
|
|
|
- },
|
|
|
+export default {
|
|
|
+ mixins: [dictMixins, tabMixins],
|
|
|
+ components: {
|
|
|
+ processSubmitDialog,
|
|
|
+ exportButton,
|
|
|
+ searchTable,
|
|
|
+ returnGoods,
|
|
|
+ accountstatement,
|
|
|
+ popModal,
|
|
|
+ contractrDetail,
|
|
|
+ addReturnGoodsDialog,
|
|
|
+ addInvoiceDialog,
|
|
|
+ invoice,
|
|
|
+ addDialog,
|
|
|
+ detailDialog,
|
|
|
+ outSourceSend,
|
|
|
+ addOutSourceSend,
|
|
|
+ addInvoiceManage,
|
|
|
+ importDialog,
|
|
|
+ invoiceConfirm,
|
|
|
+ exceptionList,
|
|
|
+ purchasingDetail,
|
|
|
+ purchasePlanDetail,
|
|
|
+ inquiryDetail,
|
|
|
+ printPurchaseOrder
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ activeComp: 'saleorder',
|
|
|
+ tabOptions: [
|
|
|
+ { key: 'saleorder', name: '采购订单', reminder: 'purchaseOrderNum' },
|
|
|
+ {
|
|
|
+ key: 'outsourceSend',
|
|
|
+ name: '委外发货单',
|
|
|
+ reminder: 'outsourcingDeliveryNoteNum'
|
|
|
+ },
|
|
|
+ { key: 'invoice', name: '收货单', reminder: 'receiptNum' },
|
|
|
+ {
|
|
|
+ key: 'invoiceConfirm',
|
|
|
+ name: '收货确认单',
|
|
|
+ reminder: 'receiptConfirmationFormNum'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ key: 'exceptionList',
|
|
|
+ name: '异常列表',
|
|
|
+ reminder: 'purchaseExceptionListNum'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ key: 'returnorder',
|
|
|
+ name: '退货单',
|
|
|
+ reminder: 'purchaseReturnOrderNum'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ key: 'accountstatement',
|
|
|
+ name: '对账单',
|
|
|
+ reminder: 'purchaseStatementAccountNum'
|
|
|
+ }
|
|
|
+ ],
|
|
|
|
|
|
- {
|
|
|
- prop: 'partaTel',
|
|
|
- label: '采购方联系电话',
|
|
|
- align: 'center',
|
|
|
- showOverflowTooltip: true,
|
|
|
- minWidth: 130
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'productNames',
|
|
|
- label: '名称',
|
|
|
- align: 'center',
|
|
|
- showOverflowTooltip: true,
|
|
|
- minWidth: 200
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'productCodes',
|
|
|
- label: '编码',
|
|
|
- align: 'center',
|
|
|
- showOverflowTooltip: true,
|
|
|
- minWidth: 140
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'batchNos',
|
|
|
- label: '批次号',
|
|
|
- align: 'center',
|
|
|
- showOverflowTooltip: true,
|
|
|
- minWidth: 140
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'productCount',
|
|
|
- label: '数量',
|
|
|
- align: 'center',
|
|
|
- showOverflowTooltip: true,
|
|
|
- minWidth: 140
|
|
|
- },
|
|
|
+ selection: [], //单选中集合
|
|
|
+ delVisible: false, //批量删除弹框状态
|
|
|
+ loading: false, // 加载状态
|
|
|
+ processSubmitDialogFlag: false,
|
|
|
+ addOrEditDialogFlag: false,
|
|
|
+ addOrEditDialogFlag1: false,
|
|
|
+ params: {},
|
|
|
|
|
|
- {
|
|
|
- prop: 'partbName',
|
|
|
- label: '供应商名称',
|
|
|
- align: 'center',
|
|
|
- showOverflowTooltip: true,
|
|
|
- minWidth: 250
|
|
|
+ groupName: '',
|
|
|
+ columns: [
|
|
|
+ {
|
|
|
+ width: 45,
|
|
|
+ type: 'selection',
|
|
|
+ columnKey: 'selection',
|
|
|
+ align: 'center'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ columnKey: 'index',
|
|
|
+ label: '序号',
|
|
|
+ type: 'index',
|
|
|
+ width: 55,
|
|
|
+ align: 'center',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ fixed: 'left'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'orderNo',
|
|
|
+ label: '订单编码',
|
|
|
+ align: 'center',
|
|
|
+ sortable: true,
|
|
|
+ slot: 'orderNo',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 200,
|
|
|
+ fixed: 'left'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'sourceTypeName',
|
|
|
+ label: '订单类型',
|
|
|
+ align: 'center',
|
|
|
+ sortable: true,
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 200,
|
|
|
+ fixed: 'left'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'progress',
|
|
|
+ label: '订单进度',
|
|
|
+ align: 'center',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ formatter: (_row, _column, cellValue) => {
|
|
|
+ return purchaseOrderProgressStatusEnum.find(
|
|
|
+ (val) => val.value == _row.progress
|
|
|
+ )?.label;
|
|
|
},
|
|
|
- {
|
|
|
- prop: 'partbLinkName',
|
|
|
- label: '供应商联系人',
|
|
|
- align: 'center',
|
|
|
- showOverflowTooltip: true,
|
|
|
- minWidth: 120
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'partbTel',
|
|
|
- label: '供应商联系电话',
|
|
|
- align: 'center',
|
|
|
- showOverflowTooltip: true,
|
|
|
- minWidth: 130
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'payAmount',
|
|
|
- label: '金额(元)',
|
|
|
- align: 'center',
|
|
|
- showOverflowTooltip: true,
|
|
|
- minWidth: 140
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'createUserName',
|
|
|
- label: '创建人',
|
|
|
- align: 'center',
|
|
|
- showOverflowTooltip: true,
|
|
|
- minWidth: 170
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'createTime',
|
|
|
- label: '创建时间',
|
|
|
- align: 'center',
|
|
|
- showOverflowTooltip: true,
|
|
|
- minWidth: 170
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'orderStatus',
|
|
|
- label: '审核状态',
|
|
|
- align: 'center',
|
|
|
- showOverflowTooltip: true,
|
|
|
- minWidth: 100,
|
|
|
- formatter: (_row, _column, cellValue) => {
|
|
|
- return reviewStatus[_row.orderStatus];
|
|
|
- }
|
|
|
- },
|
|
|
- {
|
|
|
- columnKey: 'action',
|
|
|
- label: '操作',
|
|
|
- width: 260,
|
|
|
- align: 'center',
|
|
|
- resizable: false,
|
|
|
- slot: 'action',
|
|
|
- showOverflowTooltip: true,
|
|
|
- fixed: 'right'
|
|
|
+ minWidth: 120
|
|
|
+ },
|
|
|
+
|
|
|
+ {
|
|
|
+ prop: 'relationType',
|
|
|
+ label: '来源单据类型',
|
|
|
+ align: 'center',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 150,
|
|
|
+ formatter: (_row, _column, cellValue) => {
|
|
|
+ return _row.relationType == 1
|
|
|
+ ? '采购需求单'
|
|
|
+ : _row.relationType == 2
|
|
|
+ ? '采购计划单'
|
|
|
+ : _row.relationType == 3
|
|
|
+ ? '采购核价单'
|
|
|
+ : _row.relationType == 4
|
|
|
+ ? '采购合同'
|
|
|
+ : '';
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'relationName',
|
|
|
+ label: '来源单据',
|
|
|
+ align: 'center',
|
|
|
+ slot: 'relationName',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 250
|
|
|
+ },
|
|
|
+ // {
|
|
|
+ // prop: 'deliveryDate',
|
|
|
+ // label: '交货日期',
|
|
|
+ // align: 'center',
|
|
|
+ // showOverflowTooltip: true,
|
|
|
+ // minWidth: 200
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // prop: 'purchaseTypeName',
|
|
|
+ // label: '采购订单类型',
|
|
|
+ // align: 'center',
|
|
|
+ // showOverflowTooltip: true,
|
|
|
+ // minWidth: 140
|
|
|
+ // },
|
|
|
+ {
|
|
|
+ prop: 'partaName',
|
|
|
+ label: '采购方名称',
|
|
|
+ align: 'center',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 200
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'partaLinkName',
|
|
|
+ label: '采购方联系人',
|
|
|
+ align: 'center',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 130
|
|
|
+ },
|
|
|
+
|
|
|
+ {
|
|
|
+ prop: 'partaTel',
|
|
|
+ label: '采购方联系电话',
|
|
|
+ align: 'center',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 130
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'productNames',
|
|
|
+ label: '名称',
|
|
|
+ align: 'center',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 200
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'productCodes',
|
|
|
+ label: '编码',
|
|
|
+ align: 'center',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 140
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'batchNos',
|
|
|
+ label: '批次号',
|
|
|
+ align: 'center',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 140
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'productCount',
|
|
|
+ label: '数量',
|
|
|
+ align: 'center',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 140
|
|
|
+ },
|
|
|
+
|
|
|
+ {
|
|
|
+ prop: 'partbName',
|
|
|
+ label: '供应商名称',
|
|
|
+ align: 'center',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 250
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'partbLinkName',
|
|
|
+ label: '供应商联系人',
|
|
|
+ align: 'center',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 120
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'partbTel',
|
|
|
+ label: '供应商联系电话',
|
|
|
+ align: 'center',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 130
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'payAmount',
|
|
|
+ label: '金额(元)',
|
|
|
+ align: 'center',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 140
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'createUserName',
|
|
|
+ label: '创建人',
|
|
|
+ align: 'center',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 170
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'createTime',
|
|
|
+ label: '创建时间',
|
|
|
+ align: 'center',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 170
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'orderStatus',
|
|
|
+ label: '审核状态',
|
|
|
+ align: 'center',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 100,
|
|
|
+ formatter: (_row, _column, cellValue) => {
|
|
|
+ return reviewStatus[_row.orderStatus];
|
|
|
}
|
|
|
- ],
|
|
|
- cacheKeyUrl: 'eos-5f2ac512-purchaseOrder-saleorder',
|
|
|
- isRequired: true,
|
|
|
- timeR: null,
|
|
|
- toDoReminder: {}
|
|
|
+ },
|
|
|
+ {
|
|
|
+ columnKey: 'action',
|
|
|
+ label: '操作',
|
|
|
+ width: 260,
|
|
|
+ align: 'center',
|
|
|
+ resizable: false,
|
|
|
+ slot: 'action',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ fixed: 'right'
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ cacheKeyUrl: 'eos-5f2ac512-purchaseOrder-saleorder',
|
|
|
+ isRequired: true,
|
|
|
+ timeR: null,
|
|
|
+ toDoReminder: {}
|
|
|
+ };
|
|
|
+ },
|
|
|
+ computed: {},
|
|
|
+ created() {
|
|
|
+ this.requestDict('客户状态');
|
|
|
+ parameterGetByCode({
|
|
|
+ code: 'order_person_info'
|
|
|
+ }).then((res) => {
|
|
|
+ if (res.value) {
|
|
|
+ this.isRequired = res.value === '1';
|
|
|
+ }
|
|
|
+ });
|
|
|
+ this.getToDoReminder();
|
|
|
+ this.timeR = setInterval(() => {
|
|
|
+ this.getToDoReminder();
|
|
|
+ }, 60000);
|
|
|
+ },
|
|
|
+ beforeDestroy() {
|
|
|
+ clearInterval(this.timeR);
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ getToDoReminder() {
|
|
|
+ getToDoReminder().then((res) => {
|
|
|
+ this.toDoReminder = res;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //更多菜单
|
|
|
+ handleCommand(command, row) {
|
|
|
+ console.log(command, row);
|
|
|
+ if (command === 'invoice') {
|
|
|
+ this.$refs.invoiceDialogRef.open('add', {}, row.id);
|
|
|
+ }
|
|
|
+ if (command === 'returnOrder') {
|
|
|
+ this.$refs.addReturnGoodsRef.open('add', {});
|
|
|
+ }
|
|
|
+ if (command === 'outsourceSend') {
|
|
|
+ this.addOrEditDialogFlag = true;
|
|
|
+
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.addOrEditDialogRef.open('add', {}, row.id);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ if (command === 'invoiceManage') {
|
|
|
+ this.addOrEditDialogFlag1 = true;
|
|
|
+
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.addOrEditDialogRef.createInvoice1(row, 2, 3);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ //点击左边分类
|
|
|
+ handleNodeClick(data, node) {
|
|
|
+ // this.curNodeData = data;
|
|
|
+ this.reload({ categoryId: data.id });
|
|
|
+ },
|
|
|
+ /* 表格数据源 */
|
|
|
+ datasource({ page, limit, where, order }) {
|
|
|
+ this.params = {
|
|
|
+ pageNum: page,
|
|
|
+ size: limit,
|
|
|
+ ...where
|
|
|
};
|
|
|
+ return getTableList(this.params);
|
|
|
+ },
|
|
|
+
|
|
|
+ /* 刷新表格 */
|
|
|
+ reload(where) {
|
|
|
+ this.$refs.table.reload({ page: 1, where });
|
|
|
},
|
|
|
- computed: {},
|
|
|
- created() {
|
|
|
- this.requestDict('客户状态');
|
|
|
- parameterGetByCode({
|
|
|
- code: 'order_person_info'
|
|
|
+
|
|
|
+ //新增编辑
|
|
|
+ openEdit(type, row) {
|
|
|
+ this.$refs.addDialogRef.open(type, row, row.id);
|
|
|
+ this.$refs.addDialogRef.$refs.form &&
|
|
|
+ this.$refs.addDialogRef.$refs.form.clearValidate();
|
|
|
+ },
|
|
|
+ uploadFile() {
|
|
|
+ this.$refs.importDialogRef.open();
|
|
|
+ },
|
|
|
+ //打印采购订单
|
|
|
+ handlePrint(ref) {
|
|
|
+ if (this.selection.length > 1)
|
|
|
+ return this.$message.warning('暂不支持批量打印,请选择一条');
|
|
|
+ // let flag = this.selection.some((item) => [2].includes(item.reviewStatus));
|
|
|
+ // if (!flag)
|
|
|
+ // return this.$message.warning('抱歉需要已审核的发货单才能打印,请检查');
|
|
|
+
|
|
|
+ enterprisePage({
|
|
|
+ pageNum: 1,
|
|
|
+ size: 200
|
|
|
}).then((res) => {
|
|
|
- if (res.value) {
|
|
|
- this.isRequired = res.value === '1';
|
|
|
+ console.log(res.list);
|
|
|
+ if (res.list?.length > 0) {
|
|
|
+ this.groupName = res.list[0].name;
|
|
|
}
|
|
|
});
|
|
|
- this.getToDoReminder();
|
|
|
- this.timeR = setInterval(() => {
|
|
|
- this.getToDoReminder();
|
|
|
- }, 60000);
|
|
|
+ this.$refs[ref].open(this.selection[0].id);
|
|
|
},
|
|
|
- beforeDestroy() {
|
|
|
- clearInterval(this.timeR);
|
|
|
+ //批量删除
|
|
|
+ allDelBtn() {
|
|
|
+ if (this.selection.length === 0) return;
|
|
|
+ let flag = this.selection.some((item) =>
|
|
|
+ [1, 2].includes(item.orderStatus)
|
|
|
+ );
|
|
|
+ if (flag)
|
|
|
+ return this.$message.warning('抱歉已审核、审核中的数据不能删除,请检查');
|
|
|
+ this.delVisible = true;
|
|
|
},
|
|
|
- methods: {
|
|
|
- getToDoReminder() {
|
|
|
- getToDoReminder().then((res) => {
|
|
|
- this.toDoReminder = res;
|
|
|
- });
|
|
|
- },
|
|
|
- //更多菜单
|
|
|
- handleCommand(command, row) {
|
|
|
- console.log(command, row);
|
|
|
- if (command === 'invoice') {
|
|
|
- this.$refs.invoiceDialogRef.open('add', {}, row.id);
|
|
|
- }
|
|
|
- if (command === 'returnOrder') {
|
|
|
- this.$refs.addReturnGoodsRef.open('add', {});
|
|
|
- }
|
|
|
- if (command === 'outsourceSend') {
|
|
|
- this.addOrEditDialogFlag = true;
|
|
|
|
|
|
- this.$nextTick(() => {
|
|
|
- this.$refs.addOrEditDialogRef.open('add', {}, row.id);
|
|
|
- });
|
|
|
- }
|
|
|
- if (command === 'invoiceManage') {
|
|
|
- this.addOrEditDialogFlag1 = true;
|
|
|
+ //删除接口
|
|
|
+ remove(delData) {
|
|
|
+ deleteInformation(delData).then((res) => {
|
|
|
+ this.$message.success('删除成功!');
|
|
|
+ this.reload();
|
|
|
+ });
|
|
|
+ },
|
|
|
|
|
|
- this.$nextTick(() => {
|
|
|
- this.$refs.addOrEditDialogRef.createInvoice1(row, 2, 3);
|
|
|
- });
|
|
|
- }
|
|
|
- },
|
|
|
-
|
|
|
- //点击左边分类
|
|
|
- handleNodeClick(data, node) {
|
|
|
- // this.curNodeData = data;
|
|
|
- this.reload({ categoryId: data.id });
|
|
|
- },
|
|
|
- /* 表格数据源 */
|
|
|
- datasource({ page, limit, where, order }) {
|
|
|
- this.params = {
|
|
|
- pageNum: page,
|
|
|
- size: limit,
|
|
|
- ...where
|
|
|
- };
|
|
|
- return getTableList(this.params);
|
|
|
- },
|
|
|
-
|
|
|
- /* 刷新表格 */
|
|
|
- reload(where) {
|
|
|
- this.$refs.table.reload({ page: 1, where });
|
|
|
- },
|
|
|
-
|
|
|
- //新增编辑
|
|
|
- openEdit(type, row) {
|
|
|
- this.$refs.addDialogRef.open(type, row, row.id);
|
|
|
- this.$refs.addDialogRef.$refs.form &&
|
|
|
- this.$refs.addDialogRef.$refs.form.clearValidate();
|
|
|
- },
|
|
|
- uploadFile() {
|
|
|
- this.$refs.importDialogRef.open();
|
|
|
- },
|
|
|
- //批量删除
|
|
|
- allDelBtn() {
|
|
|
- if (this.selection.length === 0) return;
|
|
|
- let flag = this.selection.some((item) =>
|
|
|
- [1, 2].includes(item.orderStatus)
|
|
|
- );
|
|
|
- if (flag)
|
|
|
- return this.$message.warning(
|
|
|
- '抱歉已审核、审核中的数据不能删除,请检查'
|
|
|
- );
|
|
|
- this.delVisible = true;
|
|
|
- },
|
|
|
-
|
|
|
- //删除接口
|
|
|
- remove(delData) {
|
|
|
- deleteInformation(delData).then((res) => {
|
|
|
- this.$message.success('删除成功!');
|
|
|
- this.reload();
|
|
|
- });
|
|
|
- },
|
|
|
-
|
|
|
- //删除弹框确定
|
|
|
- commitBtn() {
|
|
|
- const dataId = this.selection.map((v) => v.id);
|
|
|
- this.remove(dataId);
|
|
|
- },
|
|
|
-
|
|
|
- //查看详情
|
|
|
- openorderDetail(row) {
|
|
|
- this.$refs.contactDetailDialogRef.open(row);
|
|
|
- },
|
|
|
- saleOrderSubmit(res) {
|
|
|
- this.processSubmitDialogFlag = true;
|
|
|
- this.$nextTick(() => {
|
|
|
- let params = {
|
|
|
- businessId: res.id,
|
|
|
- businessKey: 'purchase_order_approve',
|
|
|
- formCreateUserId: res.createUserId,
|
|
|
- variables: {
|
|
|
- businessCode: res.orderNo,
|
|
|
- businessName: res.partaName,
|
|
|
- businessType: res.sourceTypeName
|
|
|
- }
|
|
|
- };
|
|
|
-
|
|
|
- this.$refs.processSubmitDialogRef.init(params);
|
|
|
- });
|
|
|
- },
|
|
|
- //查看合同详情
|
|
|
- opencontractDetail(row) {
|
|
|
- let data = {
|
|
|
- id: row.relationId
|
|
|
+ //删除弹框确定
|
|
|
+ commitBtn() {
|
|
|
+ const dataId = this.selection.map((v) => v.id);
|
|
|
+ this.remove(dataId);
|
|
|
+ },
|
|
|
+
|
|
|
+ //查看详情
|
|
|
+ openorderDetail(row) {
|
|
|
+ this.$refs.contactDetailDialogRef.open(row);
|
|
|
+ },
|
|
|
+ saleOrderSubmit(res) {
|
|
|
+ this.processSubmitDialogFlag = true;
|
|
|
+ this.$nextTick(() => {
|
|
|
+ let params = {
|
|
|
+ businessId: res.id,
|
|
|
+ businessKey: 'purchase_order_approve',
|
|
|
+ formCreateUserId: res.createUserId,
|
|
|
+ variables: {
|
|
|
+ businessCode: res.orderNo,
|
|
|
+ businessName: res.partaName,
|
|
|
+ businessType: res.sourceTypeName
|
|
|
+ }
|
|
|
};
|
|
|
- if (row.relationType == 1) {
|
|
|
- this.$refs.purchasingDetailRef.open(data);
|
|
|
- }
|
|
|
- if (row.relationType == 2) {
|
|
|
- this.$refs.purchasePlanDetailRef.open(data);
|
|
|
- }
|
|
|
- if (row.relationType == 3) {
|
|
|
- this.$refs.inquiryDetailRef.open(data);
|
|
|
- }
|
|
|
- if (row.relationType == 4) {
|
|
|
- this.$refs.contractDetailRef.open(data);
|
|
|
- }
|
|
|
- },
|
|
|
- // 导出
|
|
|
- exportRowInfo(row) {
|
|
|
- console.log(row);
|
|
|
- getExport(row.id);
|
|
|
+
|
|
|
+ this.$refs.processSubmitDialogRef.init(params);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //查看合同详情
|
|
|
+ opencontractDetail(row) {
|
|
|
+ let data = {
|
|
|
+ id: row.relationId
|
|
|
+ };
|
|
|
+ if (row.relationType == 1) {
|
|
|
+ this.$refs.purchasingDetailRef.open(data);
|
|
|
+ }
|
|
|
+ if (row.relationType == 2) {
|
|
|
+ this.$refs.purchasePlanDetailRef.open(data);
|
|
|
+ }
|
|
|
+ if (row.relationType == 3) {
|
|
|
+ this.$refs.inquiryDetailRef.open(data);
|
|
|
}
|
|
|
+ if (row.relationType == 4) {
|
|
|
+ this.$refs.contractDetailRef.open(data);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 导出
|
|
|
+ exportRowInfo(row) {
|
|
|
+ console.log(row);
|
|
|
+ getExport(row.id);
|
|
|
}
|
|
|
- };
|
|
|
+ }
|
|
|
+};
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
- :deep .el-card__body {
|
|
|
- padding: 0;
|
|
|
- }
|
|
|
+:deep .el-card__body {
|
|
|
+ padding: 0;
|
|
|
+}
|
|
|
|
|
|
- :deep(.el-link--inner) {
|
|
|
- margin-left: 0px !important;
|
|
|
- }
|
|
|
+:deep(.el-link--inner) {
|
|
|
+ margin-left: 0px !important;
|
|
|
+}
|
|
|
|
|
|
- .sys-organization-list {
|
|
|
- height: calc(100vh - 264px);
|
|
|
- box-sizing: border-box;
|
|
|
- border-width: 1px;
|
|
|
- border-style: solid;
|
|
|
- overflow: auto;
|
|
|
- }
|
|
|
+.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;
|
|
|
+.sys-organization-list :deep(.el-tree-node__content) {
|
|
|
+ height: 40px;
|
|
|
|
|
|
- & > .el-tree-node__expand-icon {
|
|
|
- margin-left: 10px;
|
|
|
- }
|
|
|
+ & > .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_left ul .active {
|
|
|
+ border-top: 4px solid var(--color-primary);
|
|
|
+ color: var(--color-primary-5);
|
|
|
+}
|
|
|
|
|
|
- .switch {
|
|
|
- padding-bottom: 20px;
|
|
|
- }
|
|
|
+.switch {
|
|
|
+ padding-bottom: 20px;
|
|
|
+}
|
|
|
|
|
|
- .el-dropdown-link {
|
|
|
- cursor: pointer;
|
|
|
- color: var(--color-primary-5);
|
|
|
- }
|
|
|
+.el-dropdown-link {
|
|
|
+ cursor: pointer;
|
|
|
+ color: var(--color-primary-5);
|
|
|
+}
|
|
|
|
|
|
- .el-icon-arrow-down {
|
|
|
- font-size: 12px;
|
|
|
- }
|
|
|
- :deep(.el-badge__content.is-fixed) {
|
|
|
- top: 4px;
|
|
|
- }
|
|
|
+.el-icon-arrow-down {
|
|
|
+ font-size: 12px;
|
|
|
+}
|
|
|
+:deep(.el-badge__content.is-fixed) {
|
|
|
+ top: 4px;
|
|
|
+}
|
|
|
</style>
|