openerp/jshERP-web/src/views/bill/PurchaseInList.vue
2023-02-23 01:21:11 +08:00

286 lines
13 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<a-row :gutter="24">
<a-col :md="24">
<a-card :style="cardStyle" :bordered="false">
<!-- 查询区域 -->
<div class="table-page-search-wrapper">
<!-- 搜索区域 -->
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :md="6" :sm="24">
<a-form-item label="单据编号" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入单据编号" v-model="queryParam.number"></a-input>
</a-form-item>
</a-col>
<a-col :md="6" :sm="24">
<a-form-item label="商品信息" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入条码名称规格型号颜色扩展信息" v-model="queryParam.materialParam"></a-input>
</a-form-item>
</a-col>
<a-col :md="6" :sm="24">
<a-form-item label="单据日期" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-range-picker
style="width:100%"
v-model="queryParam.createTimeRange"
format="YYYY-MM-DD"
:placeholder="['开始时间', '结束时间']"
@change="onDateChange"
@ok="onDateOk"
/>
</a-form-item>
</a-col>
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-col :md="6" :sm="24">
<a-button type="primary" @click="searchQuery">查询</a-button>
<a-button style="margin-left: 8px" @click="searchReset">重置</a-button>
<a @click="handleToggleSearch" style="margin-left: 8px">
{{ toggleSearchStatus ? '收起' : '展开' }}
<a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
</a>
</a-col>
</span>
<template v-if="toggleSearchStatus">
<a-col :md="6" :sm="24">
<a-form-item label="供应商" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-select placeholder="选择供应商" showSearch optionFilterProp="children" v-model="queryParam.organId">
<a-select-option v-for="(item,index) in supList" :key="index" :value="item.id">
{{ item.supplier }}
</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :md="6" :sm="24">
<a-form-item label="仓库名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-select placeholder="请选择仓库" showSearch optionFilterProp="children" v-model="queryParam.depotId">
<a-select-option v-for="(depot,index) in depotList" :value="depot.id">
{{ depot.depotName }}
</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :md="6" :sm="24">
<a-form-item label="操作员" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-select placeholder="选择操作员" showSearch optionFilterProp="children" v-model="queryParam.creator">
<a-select-option v-for="(item,index) in userList" :key="index" :value="item.id">
{{ item.userName }}
</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :md="6" :sm="24">
<a-form-item label="关联订单" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入关联订单" v-model="queryParam.linkNumber"></a-input>
</a-form-item>
</a-col>
<a-col :md="6" :sm="24">
<a-form-item label="结算账户" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-select placeholder="选择结算账户" showSearch optionFilterProp="children" v-model="queryParam.accountId">
<a-select-option v-for="(item,index) in accountList" :key="index" :value="item.id">
{{ item.name }}
</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :md="6" :sm="24">
<a-form-item label="有无欠款" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-select placeholder="选择有无欠款" v-model="queryParam.hasDebt">
<a-select-option value="1">有欠款</a-select-option>
<a-select-option value="0">无欠款</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :md="6" :sm="24">
<a-form-item label="单据状态" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-select placeholder="选择单据状态" v-model="queryParam.status">
<a-select-option value="0">未审核</a-select-option>
<a-select-option value="1">已审核</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :md="6" :sm="24">
<a-form-item label="单据备注" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入单据备注" v-model="queryParam.remark"></a-input>
</a-form-item>
</a-col>
</template>
</a-row>
</a-form>
</div>
<!-- 操作按钮区域 -->
<div class="table-operator" style="margin-top: 5px">
<a-button v-if="btnEnableList.indexOf(1)>-1" @click="myHandleAdd" type="primary" icon="plus">新增</a-button>
<a-dropdown>
<a-menu slot="overlay">
<a-menu-item key="1" v-if="btnEnableList.indexOf(1)>-1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>
<a-menu-item key="2" v-if="checkFlag && btnEnableList.indexOf(2)>-1" @click="batchSetStatus(1)"><a-icon type="check"/>审核</a-menu-item>
<a-menu-item key="3" v-if="checkFlag && btnEnableList.indexOf(7)>-1" @click="batchSetStatus(0)"><a-icon type="stop"/>反审核</a-menu-item>
</a-menu>
<a-button>
批量操作 <a-icon type="down" />
</a-button>
</a-dropdown>
<a-tooltip placement="left" title="采购入库单可以由采购订单转过来也可以单独创建
采购入库单据中的仓库列表只显示当前用户有权限的仓库采购入库单可以使用多账户付款
勾选单据之后可以进行批量操作删除审核反审核" slot="action">
<a-icon v-if="btnEnableList.indexOf(1)>-1" type="question-circle" style="font-size:20px;float:right;" />
</a-tooltip>
</div>
<!-- table区域-begin -->
<div>
<a-table
ref="table"
size="middle"
bordered
rowKey="id"
:columns="columns"
:dataSource="dataSource"
:pagination="ipagination"
:scroll="scroll"
:loading="loading"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
@change="handleTableChange">
<span slot="action" slot-scope="text, record">
<a @click="myHandleDetail(record, '采购入库')">查看</a>
<a-divider v-if="btnEnableList.indexOf(1)>-1" type="vertical" />
<a v-if="btnEnableList.indexOf(1)>-1" @click="myHandleEdit(record)">编辑</a>
<a-divider v-if="btnEnableList.indexOf(1)>-1" type="vertical" />
<a v-if="btnEnableList.indexOf(1)>-1" @click="myHandleCopyAdd(record)">复制</a>
<a-divider v-if="btnEnableList.indexOf(1)>-1" type="vertical" />
<a-popconfirm v-if="btnEnableList.indexOf(1)>-1" title="确定删除吗?" @confirm="() => myHandleDelete(record)">
<a>删除</a>
</a-popconfirm>
</span>
<template slot="customRenderDebt" slot-scope="value, record">
<a-tooltip title="有付款单">
<span style="color:green" v-if="value>0 && record.hasFinancialFlag">{{value}}</span>
</a-tooltip>
<a-tooltip title="暂未付款">
<span style="color:red" v-if="value>0 && !record.hasFinancialFlag">{{value}}</span>
</a-tooltip>
<span v-if="value===0">{{value}}</span>
</template>
<template slot="customRenderStatus" slot-scope="status">
<a-tag v-if="status == '0'" color="red">未审核</a-tag>
<a-tag v-if="status == '1'" color="green">已审核</a-tag>
</template>
</a-table>
</div>
<!-- table区域-end -->
<!-- 表单区域 -->
<purchase-in-modal ref="modalForm" @ok="modalFormOk"></purchase-in-modal>
<bill-detail ref="modalDetail" @ok="modalFormOk"></bill-detail>
</a-card>
</a-col>
</a-row>
</template>
<!-- by ji sheng hua-->
<script>
import PurchaseInModal from './modules/PurchaseInModal'
import BillDetail from './dialog/BillDetail'
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import { BillListMixin } from './mixins/BillListMixin'
import JDate from '@/components/jeecg/JDate'
import Vue from 'vue'
export default {
name: "PurchaseInList",
mixins:[JeecgListMixin,BillListMixin],
components: {
PurchaseInModal,
BillDetail,
JDate
},
data () {
return {
// 查询条件
queryParam: {
number: "",
materialParam: "",
type: "入库",
subType: "采购",
roleType: Vue.ls.get('roleType'),
organId: "",
depotId: "",
creator: "",
linkNumber: "",
accountId: "",
hasDebt: "",
status: "",
remark: ""
},
labelCol: {
span: 5
},
wrapperCol: {
span: 18,
offset: 1
},
// 表头
columns: [
{
title: '操作',
dataIndex: 'action',
align:"center", width: 180,
scopedSlots: { customRender: 'action' },
},
{ title: '供应商', dataIndex: 'organName',width:120, ellipsis:true},
{ title: '单据编号', dataIndex: 'number',width:160,
customRender:function (text,record,index) {
text = record.linkNumber?text+"[]":text
text = record.hasBackFlag?text+"[退]":text
return text
}
},
{ title: '商品信息', dataIndex: 'materialsList',width:220, ellipsis:true,
customRender:function (text,record,index) {
if(text) {
return text.replace(",","");
}
}
},
{ title: '单据日期', dataIndex: 'operTimeStr',width:145},
{ title: '操作员', dataIndex: 'userName',width:80, ellipsis:true},
{ title: '数量', dataIndex: 'materialCount',width:60},
{ title: '金额合计', dataIndex: 'totalPrice',width:80},
{ title: '含税合计', dataIndex: 'totalTaxLastMoney',width:80,
customRender:function (text,record,index) {
return (record.discountMoney + record.discountLastMoney).toFixed(2);
}
},
{ title: '待付金额', dataIndex: 'needInMoney',width:80,
customRender:function (text,record,index) {
let needInMoney = record.discountLastMoney + record.otherMoney - record.deposit
return needInMoney? needInMoney.toFixed(2):''
}
},
{ title: '付款', dataIndex: 'changeAmount',width:60},
{ title: '欠款', dataIndex: 'debt',width:60,
scopedSlots: { customRender: 'customRenderDebt' }
},
{ title: '状态', dataIndex: 'status', width: 80, align: "center",
scopedSlots: { customRender: 'customRenderStatus' }
}
],
url: {
list: "/depotHead/list",
delete: "/depotHead/delete",
deleteBatch: "/depotHead/deleteBatch",
batchSetStatusUrl: "/depotHead/batchSetStatus"
}
}
},
computed: {
},
created () {
this.initSystemConfig()
this.initSupplier()
this.getDepotData()
this.initUser()
this.initAccount()
},
methods: {
}
}
</script>
<style scoped>
@import '~@assets/less/common.less'
</style>