You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
788 lines
22 KiB
788 lines
22 KiB
3 years ago
|
<!--FIS发运数据对比输出表-明细数据-->
|
||
|
<template>
|
||
|
<div class="cr-body-content">
|
||
|
<flexbox class="content-header">
|
||
|
<!-- <el-button
|
||
|
class="filter-item"
|
||
|
size="mini"
|
||
|
type="info"
|
||
|
icon="el-icon-download"
|
||
|
@click="handleDownload()"
|
||
|
>导出全部
|
||
|
</el-button> -->
|
||
|
<JobSelectVerson
|
||
|
:options="JobVersionList"
|
||
|
style="width: 150px; margin-left: -10px"
|
||
|
class="search-container"
|
||
|
@value-change="JobVersionValue"
|
||
|
></JobSelectVerson>
|
||
|
<el-select
|
||
|
v-model="PurchaseDateValue"
|
||
|
clearable
|
||
|
style="width: 188px; margin-left: -10px;margin-right:5px"
|
||
|
placeholder="请选择采购日期"
|
||
|
>
|
||
|
<el-option
|
||
|
v-for="item in PurchaseDateList"
|
||
|
:key="item.value"
|
||
|
:label="item.label"
|
||
|
:value="item.value"
|
||
|
></el-option>
|
||
|
</el-select>
|
||
|
<el-button
|
||
|
class="filter-item"
|
||
|
type="success"
|
||
|
icon="el-icon-check"
|
||
|
size="mini"
|
||
|
@click="handleCreateBills()"
|
||
|
>确认出库单</el-button
|
||
|
>
|
||
|
<el-button
|
||
|
class="filter-item"
|
||
|
size="mini"
|
||
|
type="warning"
|
||
|
icon="el-icon-download"
|
||
|
@click="print()"
|
||
|
>取消出库(支持批量)
|
||
|
</el-button>
|
||
|
<el-button
|
||
|
class="filter-item"
|
||
|
size="mini"
|
||
|
type="danger"
|
||
|
icon="el-icon-download"
|
||
|
@click="handleDelete()"
|
||
|
>删除出库单(支持批量)
|
||
|
</el-button>
|
||
|
<el-input
|
||
|
v-model="searchContent"
|
||
|
clearable
|
||
|
size="small"
|
||
|
placeholder="按照零件号搜索..."
|
||
|
style="width: 230px"
|
||
|
class="search-container"
|
||
|
@keyup.enter.native="handleFilter"
|
||
|
/>
|
||
|
<el-button
|
||
|
size="mini"
|
||
|
type="success"
|
||
|
icon="el-icon-search"
|
||
|
@click="handleFilter"
|
||
|
>搜索
|
||
|
</el-button>
|
||
|
<!--表格头组件,filter查询-->
|
||
|
<c-r-m-table-head
|
||
|
ref="crmTableHead"
|
||
|
:crm-type="crmType"
|
||
|
@handle="handleHandle"
|
||
|
@filter="handleFilters"
|
||
|
>
|
||
|
</c-r-m-table-head>
|
||
|
</flexbox>
|
||
|
<!--表格渲染-->
|
||
|
<el-table
|
||
|
ref="multipleTable"
|
||
|
v-loading="listLoading"
|
||
|
element-loading-text="拼命加载中..."
|
||
|
element-loading-spinner="el-icon-loading"
|
||
|
class="cr-table"
|
||
|
:data="list"
|
||
|
:height="tableHeight"
|
||
|
:cell-style="cellStyle"
|
||
|
:header-cell-style="headerRowStyle"
|
||
|
size="small"
|
||
|
stripe
|
||
|
border
|
||
|
highlight-current-row
|
||
|
style="width: 100%"
|
||
|
@sort-change="sortChange"
|
||
|
@selection-change="handleSelectionChange"
|
||
|
@row-click="handleRowClick"
|
||
|
>
|
||
|
<el-table-column type="selection" width="44px"></el-table-column>
|
||
|
<el-table-column
|
||
|
v-for="(item, index) in getDefaultField"
|
||
|
:key="index"
|
||
|
:prop="item.prop"
|
||
|
:label="item.label"
|
||
|
:min-width="item.width"
|
||
|
:formatter="fieldFormatter"
|
||
|
sortable="custom"
|
||
|
show-overflow-tooltip
|
||
|
:gutter="0"
|
||
|
>
|
||
|
<template slot="header" slot-scope="scope">
|
||
|
{{ scope.column.label }}
|
||
|
</template>
|
||
|
</el-table-column>
|
||
|
<el-table-column
|
||
|
prop="outPutQty"
|
||
|
label="出库数量"
|
||
|
v-model="outPutQtylist.outPutQty"
|
||
|
width="100"
|
||
|
>
|
||
|
<template slot-scope="list">
|
||
|
<el-input
|
||
|
size="small"
|
||
|
v-model="list.row.outPutQty"
|
||
|
@change="handleEdit(list.$index, list.row)"
|
||
|
></el-input>
|
||
|
</template>
|
||
|
</el-table-column>
|
||
|
<el-table-column label="操作" align="center">
|
||
|
<template slot-scope="list">
|
||
|
<el-button
|
||
|
type="primary"
|
||
|
v-if="(list.$index = 1)"
|
||
|
@click="handle(list.row)"
|
||
|
>确定</el-button
|
||
|
>
|
||
|
</template>
|
||
|
</el-table-column>
|
||
|
</el-table>
|
||
|
<div class="table-footer">
|
||
|
<!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"-->
|
||
|
<pagination
|
||
|
v-show="totalCount > 0"
|
||
|
:total="totalCount"
|
||
|
:page.sync="page"
|
||
|
:limit.sync="listQuery.MaxResultCount"
|
||
|
@pagination="getList"
|
||
|
/>
|
||
|
</div>
|
||
|
<div>
|
||
|
<el-dialog
|
||
|
:append-to-body="true"
|
||
|
:visible.sync="dialogFormVisible"
|
||
|
:title="formTitle"
|
||
|
width="700px"
|
||
|
>
|
||
|
<el-form
|
||
|
ref="accountDatelist"
|
||
|
:inline="true"
|
||
|
:model="accountDatelist"
|
||
|
:rules="rules"
|
||
|
size="small"
|
||
|
label-width="120px"
|
||
|
>
|
||
|
<el-form-item label="日期" prop="accountDate">
|
||
|
<el-date-picker
|
||
|
v-model="accountDatelist.accountDate"
|
||
|
type="date"
|
||
|
clearable
|
||
|
placeholder="选择日期"
|
||
|
>
|
||
|
</el-date-picker>
|
||
|
</el-form-item>
|
||
|
</el-form>
|
||
|
|
||
|
<div slot="footer" class="dialog-footer">
|
||
|
<el-button type="text" @click="dialogFormVisible = false"
|
||
|
>取消</el-button
|
||
|
>
|
||
|
<el-button
|
||
|
v-loading="formLoading"
|
||
|
type="primary"
|
||
|
@click="handleCreateBills()"
|
||
|
>确认</el-button
|
||
|
>
|
||
|
</div>
|
||
|
</el-dialog>
|
||
|
</div>
|
||
|
</div>
|
||
|
</template>
|
||
|
|
||
|
<script>
|
||
|
import Pagination from "@/components/Pagination"; // secondary package based on el-pagination
|
||
|
import permission from "@/directive/permission/index.js";
|
||
|
import CRMTableHead from "../../components/CRMTableHead";
|
||
|
import { downloadFile } from "@/utils/crmindex.js";
|
||
|
import JobSelectVerson from "@/components/CreateCom/Job-Select.vue";
|
||
|
|
||
|
export default {
|
||
|
name: "sendUnsettledDiffReport",
|
||
|
components: { Pagination, CRMTableHead, CRMTableHead, JobSelectVerson },
|
||
|
directives: { permission },
|
||
|
props: {
|
||
|
customerInfos: {
|
||
|
type: Array,
|
||
|
default: () => {
|
||
|
return [];
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
data() {
|
||
|
return {
|
||
|
crmType: "sparepartOutOrder",
|
||
|
rules: {
|
||
|
//前端定义的规则,后端也有验证
|
||
|
erpMaterialCode: [
|
||
|
{ required: true, message: "必须输入!", trigger: "blur" },
|
||
|
],
|
||
|
accountDate: [
|
||
|
{ required: true, message: "日期必须输入!", trigger: "blur" },
|
||
|
],
|
||
|
},
|
||
|
searchContent: "", // 输入内容
|
||
|
customerInfo: {
|
||
|
parentId: "",
|
||
|
version: "",
|
||
|
},
|
||
|
form: {
|
||
|
dicDetailID: "",
|
||
|
customerId: "",
|
||
|
projectId: "",
|
||
|
},
|
||
|
list: null,
|
||
|
totalCount: 0,
|
||
|
listLoading: true,
|
||
|
formLoading: false,
|
||
|
JobVersionList: [
|
||
|
{ value: "0", label: "未处理" },
|
||
|
{ value: "1", label: "申请出库" },
|
||
|
{ value: "2", label: "确认出库" },
|
||
|
{ value: "3", label: "不能出库" },
|
||
|
{ value: "4", label: "取消出库" },
|
||
|
],
|
||
|
PurchaseDateList:[],
|
||
|
// 高级搜索
|
||
|
filterObj: {
|
||
|
type: Object,
|
||
|
default: () => {
|
||
|
return {};
|
||
|
},
|
||
|
},
|
||
|
listQuery: {
|
||
|
Filters: [
|
||
|
{
|
||
|
logic: 0,
|
||
|
column: "state",
|
||
|
action: 0,
|
||
|
value: "0",
|
||
|
}, //默认查询可用的
|
||
|
],
|
||
|
SkipCount: 0,
|
||
|
MaxResultCount: 15,
|
||
|
billNum: "",
|
||
|
},
|
||
|
listOutPutQuery: {
|
||
|
version: "",
|
||
|
guids: "",
|
||
|
billNum: "",
|
||
|
accountDate: "",
|
||
|
},
|
||
|
listDeleteQuery: {
|
||
|
billNum: "",
|
||
|
},
|
||
|
page: 1,
|
||
|
JobversionValue: "",
|
||
|
PurchaseDateValue:"",
|
||
|
JobversionValueVerson: "",
|
||
|
dialogFormVisible: false,
|
||
|
multipleSelection: [],
|
||
|
outPutQtylist: {
|
||
|
outPutQty: "",
|
||
|
taskId: "",
|
||
|
},
|
||
|
formTitle: "",
|
||
|
drawer: false,
|
||
|
showExcelImport: false,
|
||
|
tableHeight: document.documentElement.clientHeight - 230,
|
||
|
isEdit: false,
|
||
|
accountDatelist: {
|
||
|
accountDate: "",
|
||
|
},
|
||
|
};
|
||
|
},
|
||
|
mounted() {
|
||
|
var self = this;
|
||
|
window.onresize = function () {
|
||
|
var offsetHei = document.documentElement.clientHeight;
|
||
|
self.tableHeight = offsetHei - 190;
|
||
|
};
|
||
|
},
|
||
|
created() {
|
||
|
this.getList();
|
||
|
this.getPurchaseDateList();
|
||
|
},
|
||
|
watch: {
|
||
|
customerInfos: {
|
||
|
handler(newVal) {
|
||
|
if (newVal == "" || newVal == "undefined") {
|
||
|
//TODO
|
||
|
} else {
|
||
|
newVal.forEach((element) => {
|
||
|
this.customerInfo.parentId = element.ParentId;
|
||
|
this.customerInfo.version = element.Version;
|
||
|
});
|
||
|
if (this.customerInfo.parentId != "") {
|
||
|
this.getList();
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
immediate: true,
|
||
|
},
|
||
|
},
|
||
|
computed: {
|
||
|
/** 列表字段 */
|
||
|
getDefaultField() {
|
||
|
var tempsTabs = [];
|
||
|
tempsTabs.push({
|
||
|
label: "版本",
|
||
|
prop: "version",
|
||
|
width: 110,
|
||
|
});
|
||
|
|
||
|
tempsTabs.push({ label: "交货单号", prop: "wmsBillNum", width: 100 });
|
||
|
tempsTabs.push({
|
||
|
label: "采购订单号",
|
||
|
prop: "orderBillNum",
|
||
|
width: 150,
|
||
|
});
|
||
|
tempsTabs.push({
|
||
|
label: "Sap编码",
|
||
|
prop: "materialCode",
|
||
|
width: 150,
|
||
|
});
|
||
|
tempsTabs.push({ label: "零件描述", prop: "materialDesc", width: 250 });
|
||
|
tempsTabs.push({ label: "寄售库存", prop: "stockQty", width: 100 });
|
||
|
tempsTabs.push({ label: "结算数量", prop: "qty", width: 100 });
|
||
|
tempsTabs.push({ label: "状态", prop: "state", width: 100 });
|
||
|
return tempsTabs;
|
||
|
},
|
||
|
},
|
||
|
methods: {
|
||
|
getPurchaseDateList() {
|
||
|
this.$axios
|
||
|
.posts("/api/settleaccount/wmsSharePart90output/GetBillList",{ 'version': this.customerInfo.version })
|
||
|
.then((response) => {
|
||
|
this.PurchaseDateList = [];
|
||
|
response.forEach((element) => {alert(element)
|
||
|
let options = {};
|
||
|
options.value = element;
|
||
|
options.label = element;
|
||
|
this.PurchaseDateList.push(options);
|
||
|
});
|
||
|
})
|
||
|
.catch(() => {
|
||
|
this.listLoading = false;
|
||
|
});
|
||
|
},
|
||
|
//可获取到编辑的数据
|
||
|
handleEdit(index, row) {
|
||
|
console.log(index, row);
|
||
|
},
|
||
|
//版本下拉列表选择项
|
||
|
JobVersionValue(params) {
|
||
|
//版本下拉选择
|
||
|
this.listQuery.Filters = [];
|
||
|
var column = "state";
|
||
|
let filter = {
|
||
|
logic: 0,
|
||
|
column: column,
|
||
|
action: 0,
|
||
|
value: params.value,
|
||
|
};
|
||
|
this.listQuery.Filters.push(filter);
|
||
|
this.getList();
|
||
|
},
|
||
|
handle(row) {
|
||
|
this.multipleSelection.forEach((element) => {
|
||
|
let outPutQty = element.outPutQty;
|
||
|
});
|
||
|
// if (row.outPutQty > row.stockQty) {
|
||
|
// this.$message({
|
||
|
// message: "出库数量大于寄售库存,不允许出库!",
|
||
|
// type: "warning",
|
||
|
// });
|
||
|
// } else {
|
||
|
if (row.branchId != "") {
|
||
|
this.listOutPutQuery.branchId = row.id;
|
||
|
}
|
||
|
if (row.outPutQty != "") {
|
||
|
this.listOutPutQuery.outPutQty = row.outPutQty;
|
||
|
}
|
||
|
console.log(
|
||
|
"大众备件调整结算数量按钮:" + JSON.stringify(this.listOutPutQuery)
|
||
|
);
|
||
|
//"taskId": "3fa85f64-5717-4562-b3fc-2c963f66afa6","outPutQty": 0
|
||
|
this.$axios
|
||
|
.posts(
|
||
|
"/api/settleaccount/wmsSharePart90output/WmsSharePartOutPutModify",
|
||
|
this.listOutPutQuery
|
||
|
)
|
||
|
.then((response) => {
|
||
|
const index = this.list.indexOf(row);
|
||
|
this.$notify({
|
||
|
title: "成功",
|
||
|
message: "操作成功",
|
||
|
type: "success",
|
||
|
duration: 2000,
|
||
|
});
|
||
|
this.getList();
|
||
|
})
|
||
|
.catch(() => {
|
||
|
this.listLoading = false;
|
||
|
});
|
||
|
//}
|
||
|
},
|
||
|
//取消出库单
|
||
|
handleCancelBills(row) {
|
||
|
if (this.multipleSelection.length == 0) {
|
||
|
this.$message({
|
||
|
message: "至少选择一行!",
|
||
|
type: "warning",
|
||
|
});
|
||
|
return;
|
||
|
}
|
||
|
var params = [];
|
||
|
let myalert = ""; //声明变量,其变量必须在此声明后使用
|
||
|
if (row) {
|
||
|
//单行
|
||
|
params.push(row.id);
|
||
|
myalert = row.name;
|
||
|
} else {
|
||
|
//多选
|
||
|
this.multipleSelection.forEach((element) => {
|
||
|
let id = element.id;
|
||
|
params.push(id);
|
||
|
});
|
||
|
myalert = "选中项";
|
||
|
}
|
||
|
this.listOutPutQuery.version = this.customerInfo.version;
|
||
|
this.listOutPutQuery.guids = params;
|
||
|
this.listOutPutQuery.billNum = this.customerInfo.parentId;
|
||
|
console.log("取消出库条件:" + JSON.stringify(this.listOutPutQuery));
|
||
|
|
||
|
this.$confirm("是否确认取消出库" + myalert + "?", "提示", {
|
||
|
confirmButtonText: "确定",
|
||
|
cancelButtonText: "取消",
|
||
|
type: "warning",
|
||
|
})
|
||
|
.then(() => {
|
||
|
this.$axios
|
||
|
.posts(
|
||
|
"/api/settleaccount/wmsSharePart90output/WmsSharePartOutPut-Cancel",
|
||
|
this.listOutPutQuery
|
||
|
)
|
||
|
.then((response) => {
|
||
|
const index = this.list.indexOf(row);
|
||
|
this.$notify({
|
||
|
title: "成功",
|
||
|
message: "操作成功",
|
||
|
type: "success",
|
||
|
duration: 2000,
|
||
|
});
|
||
|
this.getList();
|
||
|
});
|
||
|
})
|
||
|
.catch(() => {
|
||
|
this.$message({
|
||
|
type: "info",
|
||
|
message: "已取消操作",
|
||
|
});
|
||
|
});
|
||
|
},
|
||
|
print() {
|
||
|
this.dialogFormVisible = true;
|
||
|
if (this.$refs["accountDatelist"] !== undefined) {
|
||
|
this.$refs["accountDatelist"].resetFields();
|
||
|
}
|
||
|
},
|
||
|
//出库单
|
||
|
handleCreateBills(row) {
|
||
|
this.dialogFormVisible = true;
|
||
|
this.formLoading = true;
|
||
|
this.listOutPutQuery.guids = [];
|
||
|
this.listOutPutQuery.version = this.customerInfo.version;
|
||
|
this.listOutPutQuery.billNum = this.customerInfo.parentId;
|
||
|
if (this.accountDatelist.accountDate == "") {
|
||
|
this.$message({
|
||
|
message: "请选择日期!",
|
||
|
type: "warning",
|
||
|
});
|
||
|
this.getList();
|
||
|
return;
|
||
|
//this.getList();
|
||
|
} else {
|
||
|
if (this.accountDatelist != "") {
|
||
|
this.listOutPutQuery.accountDate = this.accountDatelist.accountDate;
|
||
|
}
|
||
|
//this.listOutPutQuery.accountDate = this.accountDatelist;
|
||
|
console.log(
|
||
|
"未选择时全部确认出库条件:" + JSON.stringify(this.listOutPutQuery)
|
||
|
);
|
||
|
|
||
|
this.$axios
|
||
|
.posts(
|
||
|
"/api/settleaccount/wmsSharePart90output/WmsSharePartOutPut-Pass",
|
||
|
this.listOutPutQuery
|
||
|
)
|
||
|
.then((response) => {
|
||
|
const index = this.list.indexOf(row);
|
||
|
this.$notify({
|
||
|
title: "成功",
|
||
|
message: "生成成功",
|
||
|
type: "success",
|
||
|
duration: 2000,
|
||
|
});
|
||
|
this.accountDatelist.accountDate = "";
|
||
|
this.dialogFormVisible = false;
|
||
|
this.getList();
|
||
|
this.formLoading = false;
|
||
|
})
|
||
|
.catch(() => {
|
||
|
this.formLoading = false;
|
||
|
});
|
||
|
}
|
||
|
},
|
||
|
//删除出库单
|
||
|
handleDelete(row) {
|
||
|
var params = [];
|
||
|
let myalert = ""; //声明变量,其变量必须在此声明后使用
|
||
|
if (row) {
|
||
|
//单行
|
||
|
params.push(row.id);
|
||
|
myalert = row.name;
|
||
|
} else {
|
||
|
//多选
|
||
|
this.multipleSelection.forEach((element) => {
|
||
|
let id = element.id;
|
||
|
params.push(id);
|
||
|
});
|
||
|
myalert = "选中项";
|
||
|
}
|
||
|
this.listDeleteQuery.billNum = this.listQuery.billNum;
|
||
|
console.log("单据号:" + JSON.stringify(this.listDeleteQuery));
|
||
|
this.$confirm("是否删除" + myalert + "?", "提示", {
|
||
|
confirmButtonText: "确定",
|
||
|
cancelButtonText: "取消",
|
||
|
type: "warning",
|
||
|
})
|
||
|
.then(() => {
|
||
|
this.$axios
|
||
|
.posts(
|
||
|
"/api/settleaccount/wmsSharePart90output/WmsOutPutDelete",
|
||
|
this.listDeleteQuery
|
||
|
)
|
||
|
.then((response) => {
|
||
|
const index = this.list.indexOf(row);
|
||
|
this.$notify({
|
||
|
title: "成功",
|
||
|
message: "删除成功",
|
||
|
type: "success",
|
||
|
duration: 2000,
|
||
|
});
|
||
|
this.getList();
|
||
|
});
|
||
|
})
|
||
|
.catch(() => {
|
||
|
this.$message({
|
||
|
type: "info",
|
||
|
message: "已取消操作",
|
||
|
});
|
||
|
});
|
||
|
},
|
||
|
/** 刷新列表 */
|
||
|
handleHandle(data) {
|
||
|
if (data.type !== "edit") {
|
||
|
this.getList();
|
||
|
}
|
||
|
},
|
||
|
/** 格式化字段 */
|
||
|
fieldFormatter(row, column) {
|
||
|
if (column.property == "state") {
|
||
|
return {
|
||
|
0: "未处理",
|
||
|
1: "申请出库",
|
||
|
2: "确认出库",
|
||
|
3: "不能出库",
|
||
|
4: "取消出库",
|
||
|
}[row[column.property]];
|
||
|
}
|
||
|
return row[column.property] || "--";
|
||
|
},
|
||
|
importExcelData() {
|
||
|
//关闭导入窗体时调用
|
||
|
this.showExcelImport = false;
|
||
|
this.getList();
|
||
|
},
|
||
|
async handleDownload() {
|
||
|
//await this.getDownBoms();
|
||
|
this.listLoading = true;
|
||
|
this.$axios
|
||
|
.gets(
|
||
|
"/api/settleaccount/bt-kb-not-consign/export/" +
|
||
|
this.customerInfo.parentId
|
||
|
)
|
||
|
.then((res) => {
|
||
|
let fileNameOfProject = res;
|
||
|
this.$axios
|
||
|
.BolbGets(
|
||
|
"/api/settleaccount/getblobfile/download/" + fileNameOfProject
|
||
|
)
|
||
|
.then((response) => {
|
||
|
if (fileNameOfProject.indexOf("_") != -1) {
|
||
|
let downName =
|
||
|
fileNameOfProject.slice(
|
||
|
0,
|
||
|
fileNameOfProject.lastIndexOf("_")
|
||
|
) +
|
||
|
fileNameOfProject.slice(fileNameOfProject.lastIndexOf("."));
|
||
|
downloadFile(response, downName);
|
||
|
this.$notify({
|
||
|
title: "成功",
|
||
|
message: "数据-导出成功!",
|
||
|
type: "success",
|
||
|
duration: 2000,
|
||
|
});
|
||
|
} else {
|
||
|
downloadFile(response, fileNameOfProject);
|
||
|
this.$notify({
|
||
|
title: "成功",
|
||
|
message: "数据-导出成功!",
|
||
|
type: "success",
|
||
|
duration: 2000,
|
||
|
});
|
||
|
}
|
||
|
this.listLoading = false;
|
||
|
});
|
||
|
});
|
||
|
},
|
||
|
getList(data) {
|
||
|
this.listLoading = true;
|
||
|
if (data != undefined) {
|
||
|
this.listQuery.SkipCount = (this.page - 1) * data.limit;
|
||
|
} else {
|
||
|
this.listQuery.SkipCount = (this.page - 1) * 15;
|
||
|
}
|
||
|
this.listQuery.billNum = this.customerInfo.parentId;
|
||
|
console.log("查询条件:" + JSON.stringify(this.listQuery));
|
||
|
this.$axios
|
||
|
.posts(
|
||
|
"/api/settleaccount/wmsSharePart90output/WmsSharePartDetailList",
|
||
|
this.listQuery
|
||
|
)
|
||
|
.then((response) => {
|
||
|
this.list = response.items;
|
||
|
//alert(JSON.stringify(response.Items))
|
||
|
this.totalCount = response.totalCount;
|
||
|
setTimeout(() => {
|
||
|
//大数据量加载时
|
||
|
this.listLoading = false;
|
||
|
}, 500);
|
||
|
})
|
||
|
.catch(() => {
|
||
|
this.listLoading = false;
|
||
|
});
|
||
|
},
|
||
|
/** 筛选操作 */
|
||
|
handleFilter() {
|
||
|
this.page = 1;
|
||
|
this.getList();
|
||
|
this.listQuery.Filters = [];
|
||
|
if (this.searchContent != "") {
|
||
|
var column = "materialCode";
|
||
|
let filter = {
|
||
|
logic: 0,
|
||
|
column: column,
|
||
|
action: 6,
|
||
|
value: this.searchContent,
|
||
|
};
|
||
|
this.listQuery.Filters.push(filter);
|
||
|
}
|
||
|
this.getList();
|
||
|
},
|
||
|
/** 多项筛选操作 */
|
||
|
/** 筛选操作 */
|
||
|
handleFilters(data) {
|
||
|
if (data === null) {
|
||
|
this.listQuery.Filters = [];
|
||
|
this.getList(); //查询所有
|
||
|
} else {
|
||
|
this.filterObj = data;
|
||
|
console.log("筛选" + JSON.stringify(data));
|
||
|
var offsetHei = document.documentElement.clientHeight;
|
||
|
var removeHeight = Object.keys(this.filterObj).length > 0 ? 310 : 240;
|
||
|
this.tableHeight = offsetHei - removeHeight;
|
||
|
this.currentPage = 1;
|
||
|
let Filter = [];
|
||
|
data.forEach((item) => {
|
||
|
let filter = {};
|
||
|
if (item.formType === "datetime" || item.formType === "datetime") {
|
||
|
//日期类型的过滤条件是 (datetime >= a and datetime <=b)
|
||
|
filter["Column"] = item.fieldName;
|
||
|
filter["Logic"] = 0;
|
||
|
filter["Value"] = item.value[0];
|
||
|
filter["Action"] = item.action;
|
||
|
Filter.push(filter);
|
||
|
|
||
|
if (item.value[1] != null) {
|
||
|
filter["Value"] = item.value[1];
|
||
|
filter["Action"] = 5;
|
||
|
Filter.push(filter);
|
||
|
}
|
||
|
} else {
|
||
|
filter["Column"] = item.fieldName;
|
||
|
filter["Value"] = item.value;
|
||
|
filter["Logic"] = 0;
|
||
|
filter["Action"] = item.action;
|
||
|
Filter.push(filter);
|
||
|
}
|
||
|
});
|
||
|
console.log("筛选条件" + JSON.stringify(Filter));
|
||
|
this.listQuery.Filters = Filter;
|
||
|
this.getList();
|
||
|
}
|
||
|
},
|
||
|
resetQuery() {},
|
||
|
|
||
|
sortChange(data) {
|
||
|
const { prop, order } = data;
|
||
|
if (!prop || !order) {
|
||
|
this.handleFilter();
|
||
|
return;
|
||
|
}
|
||
|
this.listQuery.Sorting = prop + " " + order;
|
||
|
this.handleFilter();
|
||
|
},
|
||
|
handleSelectionChange(val) {
|
||
|
this.multipleSelection = val;
|
||
|
},
|
||
|
/** 通过回调控制style */
|
||
|
cellStyle({ row, column, rowIndex, columnIndex }) {
|
||
|
if (
|
||
|
column.property === "fisQty" ||
|
||
|
column.property === "diffQty" ||
|
||
|
column.property === "stockQty"
|
||
|
) {
|
||
|
return { textAlign: "right" };
|
||
|
} else {
|
||
|
return { textAlign: "left" };
|
||
|
}
|
||
|
},
|
||
|
/** 通过回调控制表头style */
|
||
|
headerRowStyle({ row, column, rowIndex, columnIndex }) {
|
||
|
if (
|
||
|
column.property === "fisQty" ||
|
||
|
column.property === "diffQty" ||
|
||
|
column.property === "stockQty"
|
||
|
) {
|
||
|
return { textAlign: "right", background: "#FAFAFA" };
|
||
|
} else {
|
||
|
return { textAlign: "left", background: "#FAFAFA" };
|
||
|
}
|
||
|
},
|
||
|
handleRowClick(row, column, event) {
|
||
|
this.$refs.multipleTable.clearSelection();
|
||
|
this.$refs.multipleTable.toggleRowSelection(row);
|
||
|
},
|
||
|
},
|
||
|
};
|
||
|
</script>
|
||
|
|
||
|
|
||
|
<style lang="scss" scoped>
|
||
|
@import "../../styles/crmtable.scss";
|
||
|
</style>
|
||
|
|