磅单采购查询翻页修改

product
mhsnet 2 years ago
parent 143dac0e40
commit 505d144e62

@ -1307,12 +1307,13 @@ export default {
});
},
search() {
this.listQuery = {
currentPage: 1,
pageSize: 20,
sort: "desc",
sidx: "",
};
this.listQuery.currentPage = 1;
// this.listQuery = {
// currentPage: 1,
// pageSize: 20,
// sort: "desc",
// sidx: "",
// };
this.initData();
},
refresh(isrRefresh) {

@ -1,18 +1,25 @@
<template>
<div class="JNPF-common-layout">
<div class="JNPF-common-layout-center">
<el-row class="JNPF-common-search-box" :gutter="16">
<el-form @submit.native.prevent>
<el-col :span="6">
<el-form-item label="单据编号">
<el-input v-model="query.documentNo" placeholder="请输入" clearable></el-input>
<el-input
v-model="query.documentNo"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="search()"></el-button>
<el-button icon="el-icon-refresh-right" @click="resetAll()"></el-button>
<el-button type="primary" icon="el-icon-search" @click="search()"
>查询</el-button
>
<el-button icon="el-icon-refresh-right" @click="resetAll()"
>重置</el-button
>
</el-form-item>
</el-col>
</el-form>
@ -26,347 +33,494 @@
</el-button>
<el-button type="text" icon="el-icon-download" @click="" v-has="'btn_edit1'">
</el-button> -->
<el-button type="text" icon="el-icon-download" @click="exportData()" v-has="'btn_download'">
<el-button
type="text"
icon="el-icon-download"
@click="exportData()"
v-has="'btn_download'"
>导出
</el-button>
<el-button type="text" icon="el-icon-delete" @click="handleBatchRemoveDel()" v-has="'btn_batchRemove'">
<el-button
type="text"
icon="el-icon-delete"
@click="handleBatchRemoveDel()"
v-has="'btn_batchRemove'"
>批量删除
</el-button>
</div>
<div class="JNPF-common-head-right">
<el-tooltip effect="dark" content="刷新" placement="top">
<el-link icon="icon-ym icon-ym-Refresh JNPF-common-head-icon" :underline="false"
@click="reset()"/>
<el-link
icon="icon-ym icon-ym-Refresh JNPF-common-head-icon"
:underline="false"
@click="reset()"
/>
</el-tooltip>
<screenfull isContainer/>
<screenfull isContainer />
</div>
</div>
<JNPF-table v-loading="listLoading" :data="list" @sort-change='sortChange' has-c
@selection-change="handleSelectionChange" custom-column border>
<el-table-column prop="documentNo" label="单据编号" width="200" align="center"sortable />
<el-table-column prop="purchaseorderdocumentno" label="来源单号" width="200" align="center"sortable/>
<el-table-column prop="contractName" label="合同名称" width="200" align="center"sortable/>
<el-table-column prop="supplierName" label="供应商名称" width="200" align="center"sortable/>
<el-table-column prop="refundAmount" label="退货金额" width="120" align="center"sortable/>
<el-table-column prop="actualAmount" label="实退金额" width="120" align="center"sortable/>
<JNPF-table
v-loading="listLoading"
:data="list"
@sort-change="sortChange"
has-c
@selection-change="handleSelectionChange"
custom-column
border
>
<el-table-column
prop="documentNo"
label="单据编号"
width="200"
align="center"
sortable
/>
<el-table-column
prop="purchaseorderdocumentno"
label="来源单号"
width="200"
align="center"
sortable
/>
<el-table-column
prop="contractName"
label="合同名称"
width="200"
align="center"
sortable
/>
<el-table-column
prop="supplierName"
label="供应商名称"
width="200"
align="center"
sortable
/>
<el-table-column
prop="refundAmount"
label="退货金额"
width="120"
align="center"
sortable
/>
<el-table-column
prop="actualAmount"
label="实退金额"
width="120"
align="center"
sortable
/>
<el-table-column label="币别" width="120" sortable prop="currency" align="center">
<el-table-column
label="币别"
width="120"
sortable
prop="currency"
align="center"
>
<template slot-scope="scope">
{{ scope.row.currency | dynamicText(currencyOptions) }}
</template>
</el-table-column>
<!-- <el-table-column prop="refundNum" label="退货数量" width="120" align="center"sortable/>-->
<!-- <el-table-column label="单据状态" width="120" sortable prop="status" align="center">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.status | dynamicText(statusOptions) }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column prop="status" label="单据状态" sortable width="120" align="center">
<!-- <el-table-column prop="refundNum" label="退货数量" width="120" align="center"sortable/>-->
<!-- <el-table-column label="单据状态" width="120" sortable prop="status" align="center">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.status | dynamicText(statusOptions) }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column
prop="status"
label="单据状态"
sortable
width="120"
align="center"
>
<template slot-scope="scope">
<el-tag type="success" v-if="scope.row.status==0"></el-tag>
<el-tag type="info" v-else-if="scope.row.status==1">审批中</el-tag>
<el-tag type="warning" v-else-if="scope.row.status==2">已审批</el-tag>
<el-tag type="success" v-if="scope.row.status == 0"
>已保存</el-tag
>
<el-tag type="info" v-else-if="scope.row.status == 1"
>审批中</el-tag
>
<el-tag type="warning" v-else-if="scope.row.status == 2"
>已审批</el-tag
>
</template>
</el-table-column>
<el-table-column prop="creatorTime" label="创建时间" width="120" align="center"sortable/>
<el-table-column prop="creatorUserName" label="创建人" width="120" align="center"sortable/>
<el-table-column prop="remark" label="备注" width="0" align="center"sortable/>
<el-table-column label="操作" fixed="right" width="150">
<el-table-column
prop="creatorTime"
label="创建时间"
width="120"
align="center"
sortable
/>
<el-table-column
prop="creatorUserName"
label="创建人"
width="120"
align="center"
sortable
/>
<el-table-column
prop="remark"
label="备注"
width="0"
align="center"
sortable
/>
<el-table-column label="操作" fixed="right" width="150">
<template slot-scope="scope">
<el-button type="text" @click="addOrUpdateHandle(scope.row.id)" v-has="'btn_edit'">
<el-button
type="text"
@click="addOrUpdateHandle(scope.row.id)"
v-has="'btn_edit'"
>编辑
</el-button>
<el-button type="text" class="JNPF-table-delBtn" @click="handleDel(scope.row.id)" v-has="'btn_remove'">
<el-button
type="text"
class="JNPF-table-delBtn"
@click="handleDel(scope.row.id)"
v-has="'btn_remove'"
>删除
</el-button>
<el-button type="text" @click="goDetail(scope.row.id)" v-has="'btn_detail'">
<el-button
type="text"
@click="goDetail(scope.row.id)"
v-has="'btn_detail'"
>详情
</el-button>
</template>
</el-table-column>
</JNPF-table>
<pagination :total="total" :page.sync="listQuery.currentPage" :limit.sync="listQuery.pageSize"
@pagination="initData"/>
<pagination
:total="total"
:page.sync="listQuery.currentPage"
:limit.sync="listQuery.pageSize"
@pagination="initData"
/>
</div>
</div>
<JNPF-Form v-if="formVisible" ref="JNPFForm" @refresh="refresh"/>
<ExportBox v-if="exportBoxVisible" ref="ExportBox" @download="download"/>
<Detail v-if="detailVisible" ref="Detail" @refresh="detailVisible=false"/>
<JNPF-Form v-if="formVisible" ref="JNPFForm" @refresh="refresh" />
<ExportBox v-if="exportBoxVisible" ref="ExportBox" @download="download" />
<Detail
v-if="detailVisible"
ref="Detail"
@refresh="detailVisible = false"
/>
</div>
</template>
<script>
import request from '@/utils/request'
import {
getDictionaryDataSelector
} from '@/api/systemData/dictionary'
import JNPFForm from './Form'
import ExportBox from './ExportBox'
import {
getDataInterfaceRes
} from '@/api/systemData/dataInterface'
import Detail from './Detail'
import request from "@/utils/request";
import { getDictionaryDataSelector } from "@/api/systemData/dictionary";
import JNPFForm from "./Form";
import ExportBox from "./ExportBox";
import { getDataInterfaceRes } from "@/api/systemData/dataInterface";
import Detail from "./Detail";
export default {
components: {
JNPFForm,
ExportBox,
Detail
},
data() {
return {
detailVisible: false,
query: {
documentNo: undefined
export default {
components: {
JNPFForm,
ExportBox,
Detail,
},
data() {
return {
detailVisible: false,
query: {
documentNo: undefined,
},
treeProps: {
children: "children",
label: "fullName",
value: "id",
},
list: [],
listLoading: true,
multipleSelection: [],
total: 0,
listQuery: {
currentPage: 1,
pageSize: 20,
sort: "desc",
sidx: "",
},
formVisible: false,
exportBoxVisible: false,
columnList: [
{
prop: "documentNo",
label: "单据编号",
},
{
prop: "purchaseorderdocumentno",
label: "来源单号",
},
{
prop: "contractName",
label: "合同名称",
},
treeProps: {
children: 'children',
label: 'fullName',
value: 'id'
{
prop: "supplierName",
label: "供应商名称",
},
list: [],
listLoading: true,
multipleSelection: [],
total: 0,
listQuery: {
currentPage: 1,
pageSize: 20,
sort: 'desc',
sidx: ''
{
prop: "refundAmount",
label: "退货金额",
},
formVisible: false,
exportBoxVisible: false,
columnList: [{
prop: 'documentNo',
label: '单据编号'
{
prop: "actualAmount",
label: "实退金额",
},
{
prop: 'purchaseorderdocumentno',
label: '来源单号'
prop: "currency",
label: "币别 ",
},
{
prop: 'contractName',
label: '合同名称'
},
{
prop: 'supplierName',
label: '供应商名称'
},
{
prop: 'refundAmount',
label: '退货金额'
},
{
prop: 'actualAmount',
label: '实退金额'
},
{
prop: 'currency',
label: '币别 '
},
{
prop: 'refundNum',
label: '退货数量'
},
{
prop: 'status',
label: '单据状态 '
},
{
prop: 'creatorTime',
label: '创建时间'
},
{
prop: 'creatorUserName',
label: '创建人'
},
{
prop: 'remark',
label: '备注'
}
],
currencyOptions: [{
'fullName': '人民币',
'id': '0'
}, {
'fullName': '美元',
'id': '1'
}, {
'fullName': '英镑',
'id': '2'
}],
currencyProps: {
'label': 'fullName',
'value': 'id'
{
prop: "refundNum",
label: "退货数量",
},
statusOptions: [{
'fullName': '已保存',
'id': '0'
}, {
'fullName': '审批中',
'id': '1'
}, {
'fullName': '已审批',
'id': '2'
}],
statusProps: {
'label': 'fullName',
'value': 'id'
}
}
{
prop: "status",
label: "单据状态 ",
},
{
prop: "creatorTime",
label: "创建时间",
},
{
prop: "creatorUserName",
label: "创建人",
},
{
prop: "remark",
label: "备注",
},
],
currencyOptions: [
{
fullName: "人民币",
id: "0",
},
{
fullName: "美元",
id: "1",
},
{
fullName: "英镑",
id: "2",
},
],
currencyProps: {
label: "fullName",
value: "id",
},
statusOptions: [
{
fullName: "已保存",
id: "0",
},
{
fullName: "审批中",
id: "1",
},
{
fullName: "已审批",
id: "2",
},
],
statusProps: {
label: "fullName",
value: "id",
},
};
},
computed: {
menuId() {
return this.$route.meta.modelId || "";
},
computed: {
menuId() {
return this.$route.meta.modelId || ''
}
},
created() {
if (
sessionStorage.getItem("scm-basicInformation-purchaseback-pageSize") !==
null
) {
this.listQuery.pageSize = parseInt(
sessionStorage.getItem("scm-basicInformation-purchaseback-pageSize")
);
}
if (
sessionStorage.getItem("scm-basicInformation-purchaseback-query") !==
null
) {
let json_query = sessionStorage.getItem(
"scm-basicInformation-purchaseback-query"
);
let obj_query = JSON.parse(json_query);
this.query = obj_query;
}
this.initData();
},
beforeDestroy() {
sessionStorage.setItem(
"scm-basicInformation-purchaseback-pageSize",
this.listQuery.pageSize
);
let json_query = JSON.stringify(this.query);
sessionStorage.setItem(
"scm-basicInformation-purchaseback-query",
json_query
);
},
methods: {
goDetail(id) {
this.detailVisible = true;
this.$nextTick(() => {
this.$refs.Detail.init(id);
});
},
created() {
this.initData()
sortChange({ column, prop, order }) {
this.listQuery.sort = order == "ascending" ? "asc" : "desc";
this.listQuery.sidx = !order ? "" : prop;
this.initData();
},
methods: {
goDetail(id) {
this.detailVisible = true
this.$nextTick(() => {
this.$refs.Detail.init(id)
})
},
sortChange({
column,
prop,
order
}) {
this.listQuery.sort = order == 'ascending' ? 'asc' : 'desc'
this.listQuery.sidx = !order ? '' : prop
this.initData()
},
initData() {
this.listLoading = true
let _query = {
...this.listQuery,
...this.query,
menuId: this.menuId
}
request({
url: `/api/purchaseback/Purchaseback/getList`,
method: 'post',
data: _query
}).then(res => {
var _list = []
for (let i = 0; i < res.data.list.length; i++) {
res.data.list[i].creatorTime = res.data.list[i].creatorTime ? res.data.list[i].creatorTime.substring(0,
10) : '';
initData() {
this.listLoading = true;
let _query = {
...this.listQuery,
...this.query,
menuId: this.menuId,
};
request({
url: `/api/purchaseback/Purchaseback/getList`,
method: "post",
data: _query,
}).then((res) => {
var _list = [];
for (let i = 0; i < res.data.list.length; i++) {
res.data.list[i].creatorTime = res.data.list[i].creatorTime
? res.data.list[i].creatorTime.substring(0, 10)
: "";
let _data = res.data.list[i]
_list.push(_data)
}
this.list = _list
this.total = res.data.pagination.total
let _data = res.data.list[i];
_list.push(_data);
}
this.list = _list;
this.total = res.data.pagination.total;
this.listLoading = false
})
},
handleDel(id) {
this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
type: 'warning'
}).then(() => {
this.listLoading = false;
});
},
handleDel(id) {
this.$confirm("此操作将永久删除该数据, 是否继续?", "提示", {
type: "warning",
})
.then(() => {
request({
url: `/api/purchaseback/Purchaseback/${id}`,
method: 'DELETE'
}).then(res => {
method: "DELETE",
}).then((res) => {
this.$message({
type: 'success',
type: "success",
message: res.msg,
onClose: () => {
this.initData()
}
})
})
}).catch(() => {
this.initData();
},
});
});
})
},
handleSelectionChange(val) {
const res = val.map(item => item.id)
this.multipleSelection = res
},
handleBatchRemoveDel() {
if (!this.multipleSelection.length) {
this.$message({
type: 'error',
message: '请选择一条数据',
duration: 2500
})
return
}
const ids = this.multipleSelection.join()
this.$confirm('您确定要删除这些数据吗, 是否继续?', '提示', {
type: 'warning'
}).then(() => {
.catch(() => {});
},
handleSelectionChange(val) {
const res = val.map((item) => item.id);
this.multipleSelection = res;
},
handleBatchRemoveDel() {
if (!this.multipleSelection.length) {
this.$message({
type: "error",
message: "请选择一条数据",
duration: 2500,
});
return;
}
const ids = this.multipleSelection.join();
this.$confirm("您确定要删除这些数据吗, 是否继续?", "提示", {
type: "warning",
})
.then(() => {
request({
url: `/api/purchaseback/Purchaseback/batchRemove/${ids}`,
method: 'DELETE'
}).then(res => {
method: "DELETE",
}).then((res) => {
this.$message({
type: 'success',
type: "success",
message: res.msg,
onClose: () => {
this.initData()
}
})
})
}).catch(() => {
})
},
addOrUpdateHandle(id, isDetail) {
this.formVisible = true
this.$nextTick(() => {
this.$refs.JNPFForm.init(id, isDetail)
})
},
exportData() {
this.exportBoxVisible = true
this.$nextTick(() => {
this.$refs.ExportBox.init(this.columnList)
this.initData();
},
});
});
})
},
download(data) {
let query = {
...data,
...this.listQuery,
...this.query,
menuId: this.menuId
}
request({
url: `/api/purchaseback/Purchaseback/Actions/Export`,
method: 'GET',
data: query
}).then(res => {
if (!res.data.url) return
this.jnpf.downloadFile(res.data.url)
this.$refs.ExportBox.visible = false
this.exportBoxVisible = false
})
},
search() {
this.listQuery = {
currentPage: 1,
pageSize: 20,
sort: 'desc',
sidx: ''
}
this.initData()
},
refresh(isrRefresh) {
this.formVisible = false
if (isrRefresh) this.reset()
},
reset() {
// for (let key in this.query) {
// this.query[key] = undefined
// }
this.search()
},
resetAll() {
for (let key in this.query) {
this.query[key] = undefined
}
this.search()
.catch(() => {});
},
addOrUpdateHandle(id, isDetail) {
this.formVisible = true;
this.$nextTick(() => {
this.$refs.JNPFForm.init(id, isDetail);
});
},
exportData() {
this.exportBoxVisible = true;
this.$nextTick(() => {
this.$refs.ExportBox.init(this.columnList);
});
},
download(data) {
let query = {
...data,
...this.listQuery,
...this.query,
menuId: this.menuId,
};
request({
url: `/api/purchaseback/Purchaseback/Actions/Export`,
method: "GET",
data: query,
}).then((res) => {
if (!res.data.url) return;
this.jnpf.downloadFile(res.data.url);
this.$refs.ExportBox.visible = false;
this.exportBoxVisible = false;
});
},
search() {
this.listQuery.currentPage = 1;
// this.listQuery = {
// currentPage: 1,
// pageSize: 20,
// sort: 'desc',
// sidx: ''
// }
this.initData();
},
refresh(isrRefresh) {
this.formVisible = false;
if (isrRefresh) this.reset();
},
reset() {
// for (let key in this.query) {
// this.query[key] = undefined
// }
this.search();
},
resetAll() {
for (let key in this.query) {
this.query[key] = undefined;
}
}
}
this.search();
},
},
};
</script>

@ -674,12 +674,13 @@ export default {
});
},
search() {
this.listQuery = {
currentPage: 1,
pageSize: 20,
sort: "desc",
sidx: "",
};
this.listQuery.currentPage = 1;
// this.listQuery = {
// currentPage: 1,
// pageSize: 20,
// sort: "desc",
// sidx: "",
// };
this.initData();
},
refresh(isrRefresh) {

Loading…
Cancel
Save