Browse Source

public/index.html添加全局变量,正常打印格式化

FoShanPG
刘云峰 2 days ago
parent
commit
33fe2f5eb0
  1. 5
      vue/public/index.html
  2. 5
      vue/src/App.vue
  3. 10
      vue/src/views/newJit/baseData/excludePartCfgs/index.vue
  4. 316
      vue/src/views/pg-fis/basedate/m100Online/RepetitionMB.vue
  5. 311
      vue/src/views/pg-fis/basedate/m100Online/RepetitionZHB.vue
  6. 360
      vue/src/views/pg-fis/basedate/m100Online/ScrapMB.vue
  7. 331
      vue/src/views/pg-fis/basedate/m100Online/ScrapZHB.vue
  8. 255
      vue/src/views/pg-fis/basedate/m100Online/budaMB.vue
  9. 264
      vue/src/views/pg-fis/basedate/m100Online/budaZHB.vue
  10. 151
      vue/src/views/pg-fis/basedate/m100Online/detail.vue
  11. 326
      vue/src/views/pg-fis/basedate/m100Online/detailMB.vue
  12. 304
      vue/src/views/pg-fis/basedate/m100Online/detailZHB.vue
  13. 2
      vue/src/views/pg-fis/basedate/m100Online/index.vue
  14. 694
      vue/src/views/pg-fis/basedate/m100Online/normalPritIndex.vue
  15. 2
      vue/src/views/pg-fis/basedate/partSwitch/index.vue
  16. 2
      vue/src/views/pg-fis/basedate/productLine/index.vue
  17. 2
      vue/src/views/pg-fis/basedate/repeatR100/index.vue
  18. 36
      vue/static/config.js

5
vue/public/index.html

@ -7,6 +7,11 @@
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<link rel="icon" href="<%= BASE_URL %>favicon.ico"> <link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title><%= webpackConfig.name %></title> <title><%= webpackConfig.name %></title>
<script>
// 初始化
window.SITE_CONFIG = {};
</script>
<script src="./config.js"></script>
<!-- <link rel="stylesheet" href="./css/style.css" type="text/css" />--> <!-- <link rel="stylesheet" href="./css/style.css" type="text/css" />-->
<!-- <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"> --> <!-- <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"> -->

5
vue/src/App.vue

@ -42,5 +42,10 @@
}, },
} }
localStorage.setItem('config_ip',window.SITE_CONFIG['config_ip'])
localStorage.setItem('config_auth_port',window.SITE_CONFIG['config_auth_port'])
localStorage.setItem('config_public_port',window.SITE_CONFIG['config_public_port'])
localStorage.setItem('config_backend_port',window.SITE_CONFIG['config_backend_port'])
</script> </script>

10
vue/src/views/newJit/baseData/excludePartCfgs/index.vue

@ -151,7 +151,7 @@ export default {
}; };
}, },
created() { created() {
debugger //debugger
console.log("进入excludePartCfgs模块"); console.log("进入excludePartCfgs模块");
this.getList(); this.getList();
@ -193,7 +193,7 @@ export default {
//debugger //debugger
this.isLoading = true; this.isLoading = true;
console.log(JSON.stringify(this.inputParam)) console.log(JSON.stringify(this.inputParam))
debugger //debugger
this.$axios this.$axios
.gets("/api/newjit/exclude-part-cfg/getlist", this.inputParam) .gets("/api/newjit/exclude-part-cfg/getlist", this.inputParam)
//.posts("/api/newjit/exclude-part-cfg/get-list", this.inputParam) //.posts("/api/newjit/exclude-part-cfg/get-list", this.inputParam)
@ -301,12 +301,12 @@ export default {
type: "warning", type: "warning",
}) })
.then(() => { .then(() => {
debugger //debugger
var arrStr = params.join(); var arrStr = params.join();
this.$axios this.$axios
.deletes("/api/newjit/exclude-part-cfg/delete/" + arrStr) .deletes("/api/newjit/exclude-part-cfg/delete/" + arrStr)
.then((response) => { .then((response) => {
debugger //debugger
if (response.status) if (response.status)
{ {
this.$notify({ this.$notify({
@ -336,7 +336,7 @@ export default {
*/ */
async handleExport() { async handleExport() {
this.isLoading = true; this.isLoading = true;
debugger //debugger
this.$axios this.$axios
.BolbGets("/api/newjit/exclude-part-cfg/export", this.inputParam) .BolbGets("/api/newjit/exclude-part-cfg/export", this.inputParam)
.then((res) => { .then((res) => {

316
vue/src/views/pg-fis/basedate/m100Online/RepetitionMB.vue

@ -3,33 +3,16 @@
<div class="cr-body-content"> <div class="cr-body-content">
<div ref="box"> <div ref="box">
<flexbox class="content-header"> <flexbox class="content-header">
<el-form <el-form :model="listQuery" ref="queryForm" v-show="showSearch" :inline="true">
:model="listQuery"
ref="queryForm"
v-show="showSearch"
:inline="true"
>
<el-form-item> <el-form-item>
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="billNum" label="装箱单号"> <el-form-item prop="billNum" label="装箱单号">
<el-input <el-input v-model="listQuery.billNum" placeholder="" clearable size="small" style="width: 140px" />
v-model="listQuery.billNum"
placeholder=""
clearable
size="small"
style="width: 140px"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="partType" label="零件类型"> <el-form-item prop="partType" label="零件类型">
<el-input <el-input v-model="listQuery.partType" placeholder="" clearable size="small" style="width: 140px" />
v-model="listQuery.partType"
placeholder=""
clearable
size="small"
style="width: 140px"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-form-item> </el-form-item>
@ -37,14 +20,8 @@
<el-form-item label="大众顺序号"> <el-form-item label="大众顺序号">
<el-col :span="11"> <el-col :span="11">
<el-form-item prop="HostSN"> <el-form-item prop="HostSN">
<el-input <el-input v-model="listQuery.HostSN" placeholder="" clearable size="small" style="width: 170px"
v-model="listQuery.HostSN" @keyup.enter.native="handleQuery" />
placeholder=""
clearable
size="small"
style="width: 170px"
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- <el-col class="line" :span="2">-</el-col> <!-- <el-col class="line" :span="2">-</el-col>
@ -93,117 +70,40 @@
<!-- </el-form-item> --> <!-- </el-form-item> -->
<el-form-item label="打印日期"> <el-form-item label="打印日期">
<el-date-picker <el-date-picker v-model="PrintTimeValue" size="small" style="width: 380px" value-format="yyyy-MM-dd HH:mm:ss"
v-model="PrintTimeValue" type="datetimerange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']"></el-date-picker>
size="small"
style="width: 380px"
value-format="yyyy-MM-dd HH:mm:ss"
type="datetimerange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
:default-time="['00:00:00', '23:59:59']"
></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item > <el-form-item>
<el-button <el-button type="primary" icon="el-icon-search" size="mini" @click="handleFilter">搜索</el-button>
type="primary" <el-button icon="el-icon-refresh" size="mini" @click="resetQuery('queryForm')">重置</el-button>
icon="el-icon-search" <el-button class="filter-item" size="mini" type="success" icon="el-icon-s-shop" @click="handleUpdate()">重打</el-button>
size="mini"
@click="handleFilter"
>搜索</el-button
>
<el-button
icon="el-icon-refresh"
size="mini"
@click="resetQuery('queryForm')"
>重置</el-button
>
<el-button
class="filter-item"
size="mini"
type="success"
icon="el-icon-s-shop"
@click="handleUpdate()"
>重打</el-button
>
</el-form-item> </el-form-item>
</el-form> </el-form>
</flexbox> </flexbox>
<el-table <el-table ref="multipleTable" v-loading="listLoading" element-loading-text="拼命加载中..." element-loading-spinner="el-icon-loading"
ref="multipleTable" class="cr-table" :data="list" :height="tableHeightMB" :cell-style="cellStyle" :header-cell-style="headerRowStyle"
v-loading="listLoading" size="small" stripe border highlight-current-row style="width: 100%; margin-top: -25px" @selection-change="handleSelectionChange"
element-loading-text="拼命加载中..." @row-click="handleRowClick" :row-key="getRowKeys" :expand-row-keys="expands" @expand-change="exChange">
element-loading-spinner="el-icon-loading"
class="cr-table"
:data="list"
:height="tableHeightMB"
:cell-style="cellStyle"
:header-cell-style="headerRowStyle"
size="small"
stripe
border
highlight-current-row
style="width: 100%; margin-top: -25px"
@selection-change="handleSelectionChange"
@row-click="handleRowClick"
:row-key="getRowKeys"
:expand-row-keys="expands"
@expand-change="exChange"
>
<el-table-column type="selection" width="44px"></el-table-column> <el-table-column type="selection" width="44px"></el-table-column>
<el-table-column type="expand" prop="details" label="详表"> <el-table-column type="expand" prop="details" label="详表">
<template slot-scope="scope"> <template slot-scope="scope">
<el-table :data="scope.row.details"> <el-table :data="scope.row.details">
<el-table-column prop="knr" label="KNR订单号"></el-table-column> <el-table-column prop="knr" label="KNR订单号"></el-table-column>
<el-table-column prop="vin" label="底盘号"></el-table-column> <el-table-column prop="vin" label="底盘号"></el-table-column>
<el-table-column <el-table-column prop="hostSN" label="大众顺序号"></el-table-column>
prop="hostSN" <el-table-column prop="vehicleModel_DoorPlankCode" label="车型门板代码"></el-table-column>
label="大众顺序号" <el-table-column prop="topBoxPositionNum" label="上箱位号"></el-table-column>
></el-table-column> <el-table-column prop="topSAPMaterialNum" label="上箱位 SAP物料号"></el-table-column>
<el-table-column <el-table-column prop="topMaterialDescription" label="上箱位 物料描述"></el-table-column>
prop="vehicleModel_DoorPlankCode" <el-table-column prop="belowBoxPositionNum" label="下箱位号"></el-table-column>
label="车型门板代码" <el-table-column prop="belowSAPMaterialNum" label="下箱位 SAP物料号"></el-table-column>
></el-table-column> <el-table-column prop="belowMaterialDescription " label="下箱位 物料描述"></el-table-column>
<el-table-column
prop="topBoxPositionNum"
label="上箱位号"
></el-table-column>
<el-table-column
prop="topSAPMaterialNum"
label="上箱位 SAP物料号"
></el-table-column>
<el-table-column
prop="topMaterialDescription"
label="上箱位 物料描述"
></el-table-column>
<el-table-column
prop="belowBoxPositionNum"
label="下箱位号"
></el-table-column>
<el-table-column
prop="belowSAPMaterialNum"
label="下箱位 SAP物料号"
></el-table-column>
<el-table-column
prop="belowMaterialDescription "
label="下箱位 物料描述"
></el-table-column>
</el-table> </el-table>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column v-for="(item, index) in getDefaultField" :key="index" :prop="item.prop" :label="item.label"
v-for="(item, index) in getDefaultField" :min-width="item.width" :formatter="fieldFormatter" sortable="custom" show-overflow-tooltip :gutter="0">
: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"> <template slot="header" slot-scope="scope">
{{ scope.column.label }} {{ scope.column.label }}
</template> </template>
@ -211,35 +111,40 @@
</el-table> </el-table>
<div class="table-footer"> <div class="table-footer">
<!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"--> <!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"-->
<pagination <pagination v-show="totalCount > 0" :total="totalCount" style="margin-bottom: -5px; float: right" :page.sync="page"
v-show="totalCount > 0" :limit.sync="listQuery.MaxResultCount" @pagination="getList" />
:total="totalCount"
style="margin-bottom: -5px; float: right"
:page.sync="page"
:limit.sync="listQuery.MaxResultCount"
@pagination="getList"
/>
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import Pagination from "@/components/Pagination"; import Pagination from "@/components/Pagination";
import permission from "@/directive/permission/index.js"; import permission from "@/directive/permission/index.js";
import CRMTableHead from "../../components/CRMTableHead"; import CRMTableHead from "../../components/CRMTableHead";
import importExcel from "@/components/ImportExcel-vw"; import importExcel from "@/components/ImportExcel-vw";
import Lockr from "lockr"; import Lockr from "lockr";
import { mapGetters } from "vuex"; import {
import moment from "moment"; mapGetters
import Detail from "./detail.vue"; } from "vuex";
import { downloadFile } from "@/utils/crmindex.js"; import moment from "moment";
import qs from "qs"; import Detail from "./detail.vue";
import {
downloadFile
} from "@/utils/crmindex.js";
import qs from "qs";
export default { export default {
name: "M100Online-MB", name: "M100Online-MB",
components: { Pagination, CRMTableHead, importExcel, Detail }, components: {
directives: { permission }, Pagination,
CRMTableHead,
importExcel,
Detail
},
directives: {
permission
},
filters: { filters: {
IsCustomerSignFilter(status) { IsCustomerSignFilter(status) {
// //
@ -385,10 +290,26 @@ export default {
computed: { computed: {
getDefaultField() { getDefaultField() {
var tempsTabs = []; var tempsTabs = [];
tempsTabs.push({ label: "装箱单号", prop: "billNum", width: 140 }); tempsTabs.push({
tempsTabs.push({ label: "单据顺号", prop: "billSerialNum", width: 120 }); label: "装箱单号",
tempsTabs.push({ label: "起始顺序号", prop: "beginHostSN", width: 120 }); prop: "billNum",
tempsTabs.push({ label: "结束顺序号", prop: "endHostSN", width: 120 }); width: 140
});
tempsTabs.push({
label: "单据顺号",
prop: "billSerialNum",
width: 120
});
tempsTabs.push({
label: "起始顺序号",
prop: "beginHostSN",
width: 120
});
tempsTabs.push({
label: "结束顺序号",
prop: "endHostSN",
width: 120
});
tempsTabs.push({ tempsTabs.push({
label: "左或右", label: "左或右",
prop: "billLocation", prop: "billLocation",
@ -448,7 +369,9 @@ export default {
while (n--) { while (n--) {
u8arr[n] = bstr.charCodeAt(n); u8arr[n] = bstr.charCodeAt(n);
} }
return new Blob([u8arr], { type: "application/pdf" }); return new Blob([u8arr], {
type: "application/pdf"
});
}, },
doPrint(val) { doPrint(val) {
var ordonnance = document.getElementById(val).contentWindow; var ordonnance = document.getElementById(val).contentWindow;
@ -511,12 +434,12 @@ export default {
this.listQuery.partType = this.listQuery.partType; this.listQuery.partType = this.listQuery.partType;
var getdate5 = JSON.stringify(this.PrintTimeValue); var getdate5 = JSON.stringify(this.PrintTimeValue);
if (getdate5 != "[]") { if (getdate5 != "[]") {
this.listQuery.beginPrintDate = this.PrintTimeValue this.listQuery.beginPrintDate = this.PrintTimeValue ?
? this.PrintTimeValue[0] || undefined this.PrintTimeValue[0] || undefined :
: undefined; undefined;
this.listQuery.endPrintDate = this.PrintTimeValue this.listQuery.endPrintDate = this.PrintTimeValue ?
? this.PrintTimeValue[1] || undefined this.PrintTimeValue[1] || undefined :
: undefined; undefined;
} else { } else {
this.listQuery.beginPrintDate = undefined; this.listQuery.beginPrintDate = undefined;
this.listQuery.endPrintDate = undefined; this.listQuery.endPrintDate = undefined;
@ -532,17 +455,12 @@ export default {
) )
.then((response) => { .then((response) => {
response.items.forEach((item)=>{ response.items.forEach((item) => {
if(item.printType == 0) if (item.printType == 0) {
{
item.printType = "正常打印"; item.printType = "正常打印";
} } else if (item.printType == 1) {
else if(item.printType == 1)
{
item.printType = "重打"; item.printType = "重打";
} } else {
else
{
item.printType = "补打"; item.printType = "补打";
} }
@ -614,7 +532,7 @@ export default {
// }) // })
// .catch(() => {}); // .catch(() => {});
debugger // //debugger //
var params = MBVin1; //ID var params = MBVin1; //ID
console.log("门板打印-主界面传过来的值:" + JSON.stringify(params)); console.log("门板打印-主界面传过来的值:" + JSON.stringify(params));
this.$axios this.$axios
@ -734,7 +652,11 @@ export default {
/** 格式化字段 */ /** 格式化字段 */
fieldFormatter(row, column) { fieldFormatter(row, column) {
if (column.property === "billStatus") { if (column.property === "billStatus") {
return { 1: "未匹配", 2: "未打印", 3: "已打印" }[row[column.property]]; return {
1: "未匹配",
2: "未打印",
3: "已打印"
} [row[column.property]];
} }
if (column.property == "printDate" || column.property == "receiveTime") { if (column.property == "printDate" || column.property == "receiveTime") {
var date = row[column.property]; var date = row[column.property];
@ -755,7 +677,10 @@ export default {
}, },
sortChange(data) { sortChange(data) {
const { prop, order } = data; const {
prop,
order
} = data;
if (!prop || !order) { if (!prop || !order) {
this.handleFilter(); this.handleFilter();
return; return;
@ -767,19 +692,39 @@ export default {
this.multipleSelection = val; this.multipleSelection = val;
}, },
/** 通过回调控制style */ /** 通过回调控制style */
cellStyle({ row, column, rowIndex, columnIndex }) { cellStyle({
row,
column,
rowIndex,
columnIndex
}) {
if (column.property === "qty") { if (column.property === "qty") {
return { textAlign: "right" }; return {
textAlign: "right"
};
} else { } else {
return { textAlign: "left" }; return {
textAlign: "left"
};
} }
}, },
/** 通过回调控制表头style */ /** 通过回调控制表头style */
headerRowStyle({ row, column, rowIndex, columnIndex }) { headerRowStyle({
row,
column,
rowIndex,
columnIndex
}) {
if (column.property === "qty") { if (column.property === "qty") {
return { textAlign: "right", background: "#FAFAFA" }; return {
textAlign: "right",
background: "#FAFAFA"
};
} else { } else {
return { textAlign: "left", background: "#FAFAFA" }; return {
textAlign: "left",
background: "#FAFAFA"
};
} }
}, },
handleRowClick(row, column, event) { handleRowClick(row, column, event) {
@ -789,25 +734,26 @@ export default {
closeDialog() {}, closeDialog() {},
}, },
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import "../../../pg-fis/styles/crmtable.scss"; @import "../../../pg-fis/styles/crmtable.scss";
.divider1 {
.divider1 {
margin: 0; margin: 0;
} }
.divider2 {
.divider2 {
margin: 10px; margin: 10px;
margin-bottom: 20px; margin-bottom: 20px;
width: 95%; width: 95%;
} }
.label1 {
.label1 {
margin-left: 5px; margin-left: 5px;
margin-right: 5px; margin-right: 5px;
} }
</style> </style>

311
vue/src/views/pg-fis/basedate/m100Online/RepetitionZHB.vue

@ -3,33 +3,16 @@
<div class="cr-body-content"> <div class="cr-body-content">
<div ref="box"> <div ref="box">
<flexbox class="content-header"> <flexbox class="content-header">
<el-form <el-form :model="listQuery" ref="queryForm" v-show="showSearch" :inline="true">
:model="listQuery"
ref="queryForm"
v-show="showSearch"
:inline="true"
>
<el-form-item> <el-form-item>
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="billNum" label="装箱单号"> <el-form-item prop="billNum" label="装箱单号">
<el-input <el-input v-model="listQuery.billNum" placeholder="" clearable size="small" style="width: 140px" />
v-model="listQuery.billNum"
placeholder=""
clearable
size="small"
style="width: 140px"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="partType" label="零件类型"> <el-form-item prop="partType" label="零件类型">
<el-input <el-input v-model="listQuery.partType" placeholder="" clearable size="small" style="width: 140px" />
v-model="listQuery.partType"
placeholder=""
clearable
size="small"
style="width: 140px"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-form-item> </el-form-item>
@ -37,14 +20,8 @@
<el-form-item label="大众顺序号"> <el-form-item label="大众顺序号">
<el-col :span="11"> <el-col :span="11">
<el-form-item prop="HostSN"> <el-form-item prop="HostSN">
<el-input <el-input v-model="listQuery.HostSN" placeholder="" clearable size="small" style="width: 170px"
v-model="listQuery.HostSN" @keyup.enter.native="handleQuery" />
placeholder=""
clearable
size="small"
style="width: 170px"
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-form-item> </el-form-item>
@ -66,106 +43,36 @@
</el-form-item> --> </el-form-item> -->
<el-form-item label="打印日期"> <el-form-item label="打印日期">
<el-date-picker <el-date-picker v-model="PrintTimeValue" size="small" style="width: 380px" value-format="yyyy-MM-dd HH:mm:ss"
v-model="PrintTimeValue" type="datetimerange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']"></el-date-picker>
size="small"
style="width: 380px"
value-format="yyyy-MM-dd HH:mm:ss"
type="datetimerange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
:default-time="['00:00:00', '23:59:59']"
></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item style="margin-top: -20px"> <el-form-item style="margin-top: -20px">
<el-button <el-button type="primary" icon="el-icon-search" size="mini" @click="handleFilter">搜索</el-button>
type="primary" <el-button icon="el-icon-refresh" size="mini" @click="resetQuery('queryForm')">重置</el-button>
icon="el-icon-search" <el-button class="filter-item" size="mini" type="success" icon="el-icon-s-shop" @click="handleUpdate()" style="visibility: collapse;">打印当前页</el-button>
size="mini" <el-button class="filter-item" size="mini" type="success" icon="el-icon-s-shop" @click="handleUpdateall()">打印全部</el-button>
@click="handleFilter"
>搜索</el-button
>
<el-button
icon="el-icon-refresh"
size="mini"
@click="resetQuery('queryForm')"
>重置</el-button
>
<el-button
class="filter-item"
size="mini"
type="success"
icon="el-icon-s-shop"
@click="handleUpdate()"
style="visibility: collapse;"
>打印当前页</el-button
>
<el-button
class="filter-item"
size="mini"
type="success"
icon="el-icon-s-shop"
@click="handleUpdateall()"
>打印全部</el-button
>
</el-form-item> </el-form-item>
</el-form> </el-form>
</flexbox> </flexbox>
<el-table <el-table ref="multipleTable" v-loading="listLoading" element-loading-text="拼命加载中..." element-loading-spinner="el-icon-loading"
ref="multipleTable" class="cr-table" :data="list" :height="tableHeightMB" :cell-style="cellStyle" :header-cell-style="headerRowStyle"
v-loading="listLoading" size="small" stripe border highlight-current-row style="width: 100%; margin-top: -25px" @selection-change="handleSelectionChange"
element-loading-text="拼命加载中..." @row-click="handleRowClick" :row-key="getRowKeys" :expand-row-keys="expands" @expand-change="exChange">
element-loading-spinner="el-icon-loading"
class="cr-table"
:data="list"
:height="tableHeightMB"
:cell-style="cellStyle"
:header-cell-style="headerRowStyle"
size="small"
stripe
border
highlight-current-row
style="width: 100%; margin-top: -25px"
@selection-change="handleSelectionChange"
@row-click="handleRowClick"
:row-key="getRowKeys"
:expand-row-keys="expands"
@expand-change="exChange"
>
<el-table-column type="selection" width="44px"></el-table-column> <el-table-column type="selection" width="44px"></el-table-column>
<el-table-column type="expand" prop="details" label="详表"> <el-table-column type="expand" prop="details" label="详表">
<template slot-scope="scope"> <template slot-scope="scope">
<el-table :data="scope.row.details"> <el-table :data="scope.row.details">
<el-table-column prop="knr" label="KNR订单号"></el-table-column> <el-table-column prop="knr" label="KNR订单号"></el-table-column>
<el-table-column prop="vin" label="底牌号"></el-table-column> <el-table-column prop="vin" label="底牌号"></el-table-column>
<el-table-column <el-table-column prop="hostSN" label="大众顺序号"></el-table-column>
prop="hostSN" <el-table-column prop="partCode" label="柱护板零件号"></el-table-column>
label="大众顺序号" <el-table-column prop="partCode2" label="柱护板零件号2"></el-table-column>
></el-table-column>
<el-table-column
prop="partCode"
label="柱护板零件号"
></el-table-column>
<el-table-column
prop="partCode2"
label="柱护板零件号2"
></el-table-column>
</el-table> </el-table>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column v-for="(item, index) in getDefaultField" :key="index" :prop="item.prop" :label="item.label"
v-for="(item, index) in getDefaultField" :min-width="item.width" :formatter="fieldFormatter" sortable="custom" show-overflow-tooltip :gutter="0">
: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"> <template slot="header" slot-scope="scope">
{{ scope.column.label }} {{ scope.column.label }}
</template> </template>
@ -173,35 +80,40 @@
</el-table> </el-table>
<div class="table-footer"> <div class="table-footer">
<!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"--> <!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"-->
<pagination <pagination v-show="totalCount > 0" :total="totalCount" style="margin-bottom: -5px; float: right" :page.sync="page"
v-show="totalCount > 0" :limit.sync="listQuery.MaxResultCount" @pagination="getList" />
:total="totalCount"
style="margin-bottom: -5px; float: right"
:page.sync="page"
:limit.sync="listQuery.MaxResultCount"
@pagination="getList"
/>
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import Pagination from "@/components/Pagination"; import Pagination from "@/components/Pagination";
import permission from "@/directive/permission/index.js"; import permission from "@/directive/permission/index.js";
import CRMTableHead from "../../components/CRMTableHead"; import CRMTableHead from "../../components/CRMTableHead";
import importExcel from "@/components/ImportExcel-vw"; import importExcel from "@/components/ImportExcel-vw";
import Lockr from "lockr"; import Lockr from "lockr";
import { mapGetters } from "vuex"; import {
import moment from "moment"; mapGetters
import Detail from "./detail.vue"; } from "vuex";
import { downloadFile } from "@/utils/crmindex.js"; import moment from "moment";
import qs from "qs"; import Detail from "./detail.vue";
import {
downloadFile
} from "@/utils/crmindex.js";
import qs from "qs";
export default { export default {
name: "M100Online-MB", name: "M100Online-MB",
components: { Pagination, CRMTableHead, importExcel, Detail }, components: {
directives: { permission }, Pagination,
CRMTableHead,
importExcel,
Detail
},
directives: {
permission
},
filters: { filters: {
IsCustomerSignFilter(status) { IsCustomerSignFilter(status) {
// //
@ -353,10 +265,26 @@ export default {
computed: { computed: {
getDefaultField() { getDefaultField() {
var tempsTabs = []; var tempsTabs = [];
tempsTabs.push({ label: "装箱单号", prop: "billNum", width: 140 }); tempsTabs.push({
tempsTabs.push({ label: "单据顺号", prop: "billSerialNum", width: 120 }); label: "装箱单号",
tempsTabs.push({ label: "起始顺序号", prop: "beginHostSN", width: 120 }); prop: "billNum",
tempsTabs.push({ label: "结束顺序号", prop: "endHostSN", width: 120 }); width: 140
});
tempsTabs.push({
label: "单据顺号",
prop: "billSerialNum",
width: 120
});
tempsTabs.push({
label: "起始顺序号",
prop: "beginHostSN",
width: 120
});
tempsTabs.push({
label: "结束顺序号",
prop: "endHostSN",
width: 120
});
tempsTabs.push({ tempsTabs.push({
label: "零件类型", label: "零件类型",
prop: "partType", prop: "partType",
@ -415,7 +343,9 @@ export default {
while (n--) { while (n--) {
u8arr[n] = bstr.charCodeAt(n); u8arr[n] = bstr.charCodeAt(n);
} }
return new Blob([u8arr], { type: "application/pdf" }); return new Blob([u8arr], {
type: "application/pdf"
});
}, },
doPrint(val) { doPrint(val) {
var ordonnance = document.getElementById(val).contentWindow; var ordonnance = document.getElementById(val).contentWindow;
@ -478,12 +408,12 @@ export default {
//this.listQuery.partType = this.listQuery.partType; //this.listQuery.partType = this.listQuery.partType;
var getdate5 = JSON.stringify(this.PrintTimeValue); var getdate5 = JSON.stringify(this.PrintTimeValue);
if (getdate5 != "[]") { if (getdate5 != "[]") {
this.listQuery.beginPrintDate = this.PrintTimeValue this.listQuery.beginPrintDate = this.PrintTimeValue ?
? this.PrintTimeValue[0] || undefined this.PrintTimeValue[0] || undefined :
: undefined; undefined;
this.listQuery.endPrintDate = this.PrintTimeValue this.listQuery.endPrintDate = this.PrintTimeValue ?
? this.PrintTimeValue[1] || undefined this.PrintTimeValue[1] || undefined :
: undefined; undefined;
} else { } else {
this.listQuery.beginPrintDate = undefined; this.listQuery.beginPrintDate = undefined;
this.listQuery.endPrintDate = undefined; this.listQuery.endPrintDate = undefined;
@ -565,35 +495,24 @@ export default {
JSON.stringify(this.fileQuery.dataname) JSON.stringify(this.fileQuery.dataname)
); );
debugger //debugger
let partNum = 0; let partNum = 0;
if(params.partType == "A上C上") if (params.partType == "A上C上") {
{
partNum = 1; partNum = 1;
} } else if (params.partType == "B柱下") {
else if(params.partType == "B柱下")
{
partNum = 2; partNum = 2;
} } else if (params.partType == "A柱下A中") {
else if(params.partType == "A柱下A中")
{
partNum = 3; partNum = 3;
} } else if (params.partType == "B柱上") {
else if(params.partType == "B柱上")
{
partNum = 4; partNum = 4;
} } else if (params.partType == "D柱") {
else if(params.partType == "D柱")
{
partNum = 5; partNum = 5;
} } else if (params.partType == "后轮上装饰板") {
else if(params.partType == "后轮上装饰板")
{
partNum = 6; partNum = 6;
} }
this.$axios this.$axios
.posts( .posts(
"/Handlers/Handler1.ashx?report="+partNum+"&returnfile=0", "/Handlers/Handler1.ashx?report=" + partNum + "&returnfile=0",
qs.stringify(this.fileQuery) qs.stringify(this.fileQuery)
) )
.then((response) => { .then((response) => {
@ -746,7 +665,11 @@ export default {
/** 格式化字段 */ /** 格式化字段 */
fieldFormatter(row, column) { fieldFormatter(row, column) {
if (column.property === "billStatus") { if (column.property === "billStatus") {
return { 1: "未匹配", 2: "未打印", 3: "已打印" }[row[column.property]]; return {
1: "未匹配",
2: "未打印",
3: "已打印"
} [row[column.property]];
} }
if (column.property == "printDate" || column.property == "receiveTime") { if (column.property == "printDate" || column.property == "receiveTime") {
var date = row[column.property]; var date = row[column.property];
@ -767,7 +690,10 @@ export default {
}, },
sortChange(data) { sortChange(data) {
const { prop, order } = data; const {
prop,
order
} = data;
if (!prop || !order) { if (!prop || !order) {
this.handleFilter(); this.handleFilter();
return; return;
@ -779,19 +705,39 @@ export default {
this.multipleSelection = val; this.multipleSelection = val;
}, },
/** 通过回调控制style */ /** 通过回调控制style */
cellStyle({ row, column, rowIndex, columnIndex }) { cellStyle({
row,
column,
rowIndex,
columnIndex
}) {
if (column.property === "qty") { if (column.property === "qty") {
return { textAlign: "right" }; return {
textAlign: "right"
};
} else { } else {
return { textAlign: "left" }; return {
textAlign: "left"
};
} }
}, },
/** 通过回调控制表头style */ /** 通过回调控制表头style */
headerRowStyle({ row, column, rowIndex, columnIndex }) { headerRowStyle({
row,
column,
rowIndex,
columnIndex
}) {
if (column.property === "qty") { if (column.property === "qty") {
return { textAlign: "right", background: "#FAFAFA" }; return {
textAlign: "right",
background: "#FAFAFA"
};
} else { } else {
return { textAlign: "left", background: "#FAFAFA" }; return {
textAlign: "left",
background: "#FAFAFA"
};
} }
}, },
handleRowClick(row, column, event) { handleRowClick(row, column, event) {
@ -801,25 +747,26 @@ export default {
closeDialog() {}, closeDialog() {},
}, },
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import "../../../pg-fis/styles/crmtable.scss"; @import "../../../pg-fis/styles/crmtable.scss";
.divider1 {
.divider1 {
margin: 0; margin: 0;
} }
.divider2 {
.divider2 {
margin: 10px; margin: 10px;
margin-bottom: 20px; margin-bottom: 20px;
width: 95%; width: 95%;
} }
.label1 {
.label1 {
margin-left: 5px; margin-left: 5px;
margin-right: 5px; margin-right: 5px;
} }
</style> </style>

360
vue/src/views/pg-fis/basedate/m100Online/ScrapMB.vue

@ -3,33 +3,16 @@
<div class="cr-body-content"> <div class="cr-body-content">
<div ref="box"> <div ref="box">
<flexbox class="content-header"> <flexbox class="content-header">
<el-form <el-form :model="listQuery" ref="queryForm" v-show="showSearch" :inline="true">
:model="listQuery"
ref="queryForm"
v-show="showSearch"
:inline="true"
>
<el-form-item> <el-form-item>
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="billNum" label="装箱单号"> <el-form-item prop="billNum" label="装箱单号">
<el-input <el-input v-model="listQuery.billNum" placeholder="" clearable size="small" style="width: 140px" />
v-model="listQuery.billNum"
placeholder=""
clearable
size="small"
style="width: 140px"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="partType" label="零件类型"> <el-form-item prop="partType" label="零件类型">
<el-input <el-input v-model="listQuery.partType" placeholder="" clearable size="small" style="width: 140px" />
v-model="listQuery.partType"
placeholder=""
clearable
size="small"
style="width: 140px"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-form-item> </el-form-item>
@ -37,14 +20,8 @@
<el-form-item label="大众顺序号"> <el-form-item label="大众顺序号">
<el-col :span="11"> <el-col :span="11">
<el-form-item prop="HostSN"> <el-form-item prop="HostSN">
<el-input <el-input v-model="listQuery.HostSN" placeholder="" clearable size="small" style="width: 170px"
v-model="listQuery.HostSN" @keyup.enter.native="handleQuery" />
placeholder=""
clearable
size="small"
style="width: 170px"
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-form-item> </el-form-item>
@ -66,118 +43,41 @@
</el-form-item> --> </el-form-item> -->
<el-form-item label="打印日期"> <el-form-item label="打印日期">
<el-date-picker <el-date-picker v-model="PrintTimeValue" size="small" style="width: 380px" value-format="yyyy-MM-dd HH:mm:ss"
v-model="PrintTimeValue" type="datetimerange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']"></el-date-picker>
size="small"
style="width: 380px"
value-format="yyyy-MM-dd HH:mm:ss"
type="datetimerange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
:default-time="['00:00:00', '23:59:59']"
></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item > <el-form-item>
<el-button <el-button type="primary" icon="el-icon-search" size="mini" @click="handleFilter">搜索</el-button>
type="primary" <el-button icon="el-icon-refresh" size="mini" @click="resetQuery('queryForm')">重置</el-button>
icon="el-icon-search"
size="mini"
@click="handleFilter"
>搜索</el-button
>
<el-button
icon="el-icon-refresh"
size="mini"
@click="resetQuery('queryForm')"
>重置</el-button
>
<el-button <el-button class="filter-item" type="danger" icon="el-icon-delete" size="mini" @click="print()">作废(支持批量)</el-button>
class="filter-item"
type="danger"
icon="el-icon-delete"
size="mini"
@click="print()"
>作废(支持批量)</el-button
>
</el-form-item> </el-form-item>
</el-form> </el-form>
</flexbox> </flexbox>
<el-table <el-table ref="multipleTable" v-loading="listLoading" element-loading-text="拼命加载中..." element-loading-spinner="el-icon-loading"
ref="multipleTable" class="cr-table" :data="list" :height="tableHeightMB" :cell-style="cellStyle" :header-cell-style="headerRowStyle"
v-loading="listLoading" size="small" stripe border highlight-current-row style="width: 100%; margin-top: -25px" @selection-change="handleSelectionChange"
element-loading-text="拼命加载中..." @row-click="handleRowClick" :row-key="getRowKeys" :expand-row-keys="expands" @expand-change="exChange">
element-loading-spinner="el-icon-loading"
class="cr-table"
:data="list"
:height="tableHeightMB"
:cell-style="cellStyle"
:header-cell-style="headerRowStyle"
size="small"
stripe
border
highlight-current-row
style="width: 100%; margin-top: -25px"
@selection-change="handleSelectionChange"
@row-click="handleRowClick"
:row-key="getRowKeys"
:expand-row-keys="expands"
@expand-change="exChange"
>
<el-table-column type="selection" width="44px"></el-table-column> <el-table-column type="selection" width="44px"></el-table-column>
<el-table-column type="expand" prop="details" label="详表"> <el-table-column type="expand" prop="details" label="详表">
<template slot-scope="scope"> <template slot-scope="scope">
<el-table :data="scope.row.details"> <el-table :data="scope.row.details">
<el-table-column prop="knr" label="KNR订单号"></el-table-column> <el-table-column prop="knr" label="KNR订单号"></el-table-column>
<el-table-column prop="vin" label="底盘号"></el-table-column> <el-table-column prop="vin" label="底盘号"></el-table-column>
<el-table-column <el-table-column prop="hostSN" label="大众顺序号"></el-table-column>
prop="hostSN" <el-table-column prop="vehicleModel_DoorPlankCode" label="车型门板代码"></el-table-column>
label="大众顺序号" <el-table-column prop="topBoxPositionNum" label="上箱位号"></el-table-column>
></el-table-column> <el-table-column prop="topSAPMaterialNum" label="上箱位 SAP物料号"></el-table-column>
<el-table-column <el-table-column prop="topMaterialDescription" label="上箱位 物料描述"></el-table-column>
prop="vehicleModel_DoorPlankCode" <el-table-column prop="belowBoxPositionNum" label="下箱位号"></el-table-column>
label="车型门板代码" <el-table-column prop="belowSAPMaterialNum" label="下箱位 SAP物料号"></el-table-column>
></el-table-column> <el-table-column prop="belowMaterialDescription " label="下箱位 物料描述"></el-table-column>
<el-table-column
prop="topBoxPositionNum"
label="上箱位号"
></el-table-column>
<el-table-column
prop="topSAPMaterialNum"
label="上箱位 SAP物料号"
></el-table-column>
<el-table-column
prop="topMaterialDescription"
label="上箱位 物料描述"
></el-table-column>
<el-table-column
prop="belowBoxPositionNum"
label="下箱位号"
></el-table-column>
<el-table-column
prop="belowSAPMaterialNum"
label="下箱位 SAP物料号"
></el-table-column>
<el-table-column
prop="belowMaterialDescription "
label="下箱位 物料描述"
></el-table-column>
</el-table> </el-table>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column v-for="(item, index) in getDefaultField" :key="index" :prop="item.prop" :label="item.label"
v-for="(item, index) in getDefaultField" :min-width="item.width" :formatter="fieldFormatter" sortable="custom" show-overflow-tooltip :gutter="0">
: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"> <template slot="header" slot-scope="scope">
{{ scope.column.label }} {{ scope.column.label }}
</template> </template>
@ -185,64 +85,24 @@
</el-table> </el-table>
<div class="table-footer"> <div class="table-footer">
<!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"--> <!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"-->
<pagination <pagination v-show="totalCount > 0" :total="totalCount" style="margin-bottom: -5px; float: right" :page.sync="page"
v-show="totalCount > 0" :limit.sync="listQuery.MaxResultCount" @pagination="getList" />
:total="totalCount"
style="margin-bottom: -5px; float: right"
:page.sync="page"
:limit.sync="listQuery.MaxResultCount"
@pagination="getList"
/>
</div> </div>
</div> </div>
<div> <div>
<el-dialog <el-dialog title="作废信息" append-to-body="true" :visible.sync="dialogTableVisible">
title="作废信息"
append-to-body="true"
:visible.sync="dialogTableVisible"
>
<el-table :data="zflist" class="dialogDiv"> <el-table :data="zflist" class="dialogDiv">
<el-table-column <el-table-column property="billNum" label="装箱单号" width="105"></el-table-column>
property="billNum" <el-table-column property="billSerialNum" label="单据顺号" width="95"></el-table-column>
label="装箱单号" <el-table-column property="billLocation" label="左或右" width="100"></el-table-column>
width="105" <el-table-column property="providerCode" label="供应商厂家代码" width="100"></el-table-column>
></el-table-column> <el-table-column property="partType" label="零件类型" width="100"></el-table-column>
<el-table-column <el-table-column property="capacity" label="器具容量" width="110"></el-table-column>
property="billSerialNum" <el-table-column property="printDate" label="打印日期" width="90"></el-table-column>
label="单据顺号"
width="95"
></el-table-column>
<el-table-column
property="billLocation"
label="左或右"
width="100"
></el-table-column>
<el-table-column
property="providerCode"
label="供应商厂家代码"
width="100"
></el-table-column>
<el-table-column
property="partType"
label="零件类型"
width="100"
></el-table-column>
<el-table-column
property="capacity"
label="器具容量"
width="110"
></el-table-column>
<el-table-column
property="printDate"
label="打印日期"
width="90"
></el-table-column>
</el-table> </el-table>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="text" @click="dialogTableVisible = false" <el-button type="text" @click="dialogTableVisible = false">取消</el-button>
>取消</el-button
>
<el-button type="primary" @click="handleDelete"> </el-button> <el-button type="primary" @click="handleDelete"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
@ -251,21 +111,32 @@
</template> </template>
<script> <script>
import Pagination from "@/components/Pagination"; import Pagination from "@/components/Pagination";
import permission from "@/directive/permission/index.js"; import permission from "@/directive/permission/index.js";
import CRMTableHead from "../../components/CRMTableHead"; import CRMTableHead from "../../components/CRMTableHead";
import importExcel from "@/components/ImportExcel-vw"; import importExcel from "@/components/ImportExcel-vw";
import Lockr from "lockr"; import Lockr from "lockr";
import { mapGetters } from "vuex"; import {
import moment from "moment"; mapGetters
import Detail from "./detail.vue"; } from "vuex";
import { downloadFile } from "@/utils/crmindex.js"; import moment from "moment";
import qs from "qs"; import Detail from "./detail.vue";
import {
downloadFile
} from "@/utils/crmindex.js";
import qs from "qs";
export default { export default {
name: "M100Online-MB", name: "M100Online-MB",
components: { Pagination, CRMTableHead, importExcel, Detail }, components: {
directives: { permission }, Pagination,
CRMTableHead,
importExcel,
Detail
},
directives: {
permission
},
filters: { filters: {
IsCustomerSignFilter(status) { IsCustomerSignFilter(status) {
// //
@ -417,10 +288,26 @@ export default {
computed: { computed: {
getDefaultField() { getDefaultField() {
var tempsTabs = []; var tempsTabs = [];
tempsTabs.push({ label: "装箱单号", prop: "billNum", width: 150 }); tempsTabs.push({
tempsTabs.push({ label: "单据顺号", prop: "billSerialNum", width: 115 }); label: "装箱单号",
tempsTabs.push({ label: "起始顺序号", prop: "beginHostSN", width: 115 }); prop: "billNum",
tempsTabs.push({ label: "结束顺序号", prop: "endHostSN", width: 120 }); width: 150
});
tempsTabs.push({
label: "单据顺号",
prop: "billSerialNum",
width: 115
});
tempsTabs.push({
label: "起始顺序号",
prop: "beginHostSN",
width: 115
});
tempsTabs.push({
label: "结束顺序号",
prop: "endHostSN",
width: 120
});
tempsTabs.push({ tempsTabs.push({
label: "左或右", label: "左或右",
prop: "billLocation", prop: "billLocation",
@ -480,7 +367,9 @@ export default {
while (n--) { while (n--) {
u8arr[n] = bstr.charCodeAt(n); u8arr[n] = bstr.charCodeAt(n);
} }
return new Blob([u8arr], { type: "application/pdf" }); return new Blob([u8arr], {
type: "application/pdf"
});
}, },
doPrint(val) { doPrint(val) {
var ordonnance = document.getElementById(val).contentWindow; var ordonnance = document.getElementById(val).contentWindow;
@ -543,12 +432,12 @@ export default {
this.listQuery.partType = this.listQuery.partType; this.listQuery.partType = this.listQuery.partType;
var getdate5 = JSON.stringify(this.PrintTimeValue); var getdate5 = JSON.stringify(this.PrintTimeValue);
if (getdate5 != "[]") { if (getdate5 != "[]") {
this.listQuery.beginPrintDate = this.PrintTimeValue this.listQuery.beginPrintDate = this.PrintTimeValue ?
? this.PrintTimeValue[0] || undefined this.PrintTimeValue[0] || undefined :
: undefined; undefined;
this.listQuery.endPrintDate = this.PrintTimeValue this.listQuery.endPrintDate = this.PrintTimeValue ?
? this.PrintTimeValue[1] || undefined this.PrintTimeValue[1] || undefined :
: undefined; undefined;
} else { } else {
this.listQuery.beginPrintDate = undefined; this.listQuery.beginPrintDate = undefined;
this.listQuery.endPrintDate = undefined; this.listQuery.endPrintDate = undefined;
@ -808,7 +697,11 @@ export default {
/** 格式化字段 */ /** 格式化字段 */
fieldFormatter(row, column) { fieldFormatter(row, column) {
if (column.property === "billStatus") { if (column.property === "billStatus") {
return { 1: "未匹配", 2: "未打印", 3: "已打印" }[row[column.property]]; return {
1: "未匹配",
2: "未打印",
3: "已打印"
} [row[column.property]];
} }
if (column.property == "printDate" || column.property == "receiveTime") { if (column.property == "printDate" || column.property == "receiveTime") {
var date = row[column.property]; var date = row[column.property];
@ -829,7 +722,10 @@ export default {
}, },
sortChange(data) { sortChange(data) {
const { prop, order } = data; const {
prop,
order
} = data;
if (!prop || !order) { if (!prop || !order) {
this.handleFilter(); this.handleFilter();
return; return;
@ -841,19 +737,39 @@ export default {
this.multipleSelection = val; this.multipleSelection = val;
}, },
/** 通过回调控制style */ /** 通过回调控制style */
cellStyle({ row, column, rowIndex, columnIndex }) { cellStyle({
row,
column,
rowIndex,
columnIndex
}) {
if (column.property === "qty") { if (column.property === "qty") {
return { textAlign: "right" }; return {
textAlign: "right"
};
} else { } else {
return { textAlign: "left" }; return {
textAlign: "left"
};
} }
}, },
/** 通过回调控制表头style */ /** 通过回调控制表头style */
headerRowStyle({ row, column, rowIndex, columnIndex }) { headerRowStyle({
row,
column,
rowIndex,
columnIndex
}) {
if (column.property === "qty") { if (column.property === "qty") {
return { textAlign: "right", background: "#FAFAFA" }; return {
textAlign: "right",
background: "#FAFAFA"
};
} else { } else {
return { textAlign: "left", background: "#FAFAFA" }; return {
textAlign: "left",
background: "#FAFAFA"
};
} }
}, },
handleRowClick(row, column, event) { handleRowClick(row, column, event) {
@ -863,29 +779,31 @@ export default {
closeDialog() {}, closeDialog() {},
}, },
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import "../../../pg-fis/styles/crmtable.scss"; @import "../../../pg-fis/styles/crmtable.scss";
.divider1 {
.divider1 {
margin: 0; margin: 0;
} }
.divider2 {
.divider2 {
margin: 10px; margin: 10px;
margin-bottom: 20px; margin-bottom: 20px;
width: 95%; width: 95%;
} }
.label1 {
.label1 {
margin-left: 5px; margin-left: 5px;
margin-right: 5px; margin-right: 5px;
} }
.dialogDiv {
max-height:300px; .dialogDiv {
max-height: 300px;
overflow: auto; overflow: auto;
} }
</style> </style>

331
vue/src/views/pg-fis/basedate/m100Online/ScrapZHB.vue

@ -3,33 +3,16 @@
<div class="cr-body-content"> <div class="cr-body-content">
<div ref="box"> <div ref="box">
<flexbox class="content-header"> <flexbox class="content-header">
<el-form <el-form :model="listQuery" ref="queryForm" v-show="showSearch" :inline="true">
:model="listQuery"
ref="queryForm"
v-show="showSearch"
:inline="true"
>
<el-form-item> <el-form-item>
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="billNum" label="装箱单号"> <el-form-item prop="billNum" label="装箱单号">
<el-input <el-input v-model="listQuery.billNum" placeholder="" clearable size="small" style="width: 140px" />
v-model="listQuery.billNum"
placeholder=""
clearable
size="small"
style="width: 140px"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="partType" label="零件类型"> <el-form-item prop="partType" label="零件类型">
<el-input <el-input v-model="listQuery.partType" placeholder="" clearable size="small" style="width: 140px" />
v-model="listQuery.partType"
placeholder=""
clearable
size="small"
style="width: 140px"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-form-item> </el-form-item>
@ -37,14 +20,8 @@
<el-form-item label="大众顺序号"> <el-form-item label="大众顺序号">
<el-col :span="11"> <el-col :span="11">
<el-form-item prop="HostSN"> <el-form-item prop="HostSN">
<el-input <el-input v-model="listQuery.HostSN" placeholder="" clearable size="small" style="width: 170px"
v-model="listQuery.HostSN" @keyup.enter.native="handleQuery" />
placeholder=""
clearable
size="small"
style="width: 170px"
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-form-item> </el-form-item>
@ -78,98 +55,36 @@
</el-form-item> --> </el-form-item> -->
<el-form-item label="打印日期"> <el-form-item label="打印日期">
<el-date-picker <el-date-picker v-model="PrintTimeValue" size="small" style="width: 380px" value-format="yyyy-MM-dd HH:mm:ss"
v-model="PrintTimeValue" type="datetimerange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']"></el-date-picker>
size="small"
style="width: 380px"
value-format="yyyy-MM-dd HH:mm:ss"
type="datetimerange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
:default-time="['00:00:00', '23:59:59']"
></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item > <el-form-item>
<el-button <el-button type="primary" icon="el-icon-search" size="mini" @click="handleFilter">搜索</el-button>
type="primary" <el-button icon="el-icon-refresh" size="mini" @click="resetQuery('queryForm')">重置</el-button>
icon="el-icon-search"
size="mini"
@click="handleFilter"
>搜索</el-button
>
<el-button
icon="el-icon-refresh"
size="mini"
@click="resetQuery('queryForm')"
>重置</el-button
>
<el-button <el-button class="filter-item" type="danger" icon="el-icon-delete" size="mini" @click=" print()">作废(支持批量)</el-button>
class="filter-item"
type="danger"
icon="el-icon-delete"
size="mini"
@click=" print()"
>作废(支持批量)</el-button
>
</el-form-item> </el-form-item>
</el-form> </el-form>
</flexbox> </flexbox>
<el-table <el-table ref="multipleTable" v-loading="listLoading" element-loading-text="拼命加载中..." element-loading-spinner="el-icon-loading"
ref="multipleTable" class="cr-table" :data="list" :height="tableHeightMB" :cell-style="cellStyle" :header-cell-style="headerRowStyle"
v-loading="listLoading" size="small" stripe border highlight-current-row style="width: 100%; margin-top: -25px" @selection-change="handleSelectionChange"
element-loading-text="拼命加载中..." @row-click="handleRowClick" :row-key="getRowKeys" :expand-row-keys="expands" @expand-change="exChange">
element-loading-spinner="el-icon-loading"
class="cr-table"
:data="list"
:height="tableHeightMB"
:cell-style="cellStyle"
:header-cell-style="headerRowStyle"
size="small"
stripe
border
highlight-current-row
style="width: 100%; margin-top: -25px"
@selection-change="handleSelectionChange"
@row-click="handleRowClick"
:row-key="getRowKeys"
:expand-row-keys="expands"
@expand-change="exChange"
>
<el-table-column type="selection" width="44px"></el-table-column> <el-table-column type="selection" width="44px"></el-table-column>
<el-table-column type="expand" prop="details" label="详表"> <el-table-column type="expand" prop="details" label="详表">
<template slot-scope="scope"> <template slot-scope="scope">
<el-table :data="scope.row.details"> <el-table :data="scope.row.details">
<el-table-column prop="knr" label="KNR订单号"></el-table-column> <el-table-column prop="knr" label="KNR订单号"></el-table-column>
<el-table-column prop="vin" label="底牌号"></el-table-column> <el-table-column prop="vin" label="底牌号"></el-table-column>
<el-table-column <el-table-column prop="hostSN" label="大众顺序号"></el-table-column>
prop="hostSN" <el-table-column prop="partCode" label="柱护板零件号"></el-table-column>
label="大众顺序号" <el-table-column prop="partCode2" label="柱护板零件号2"></el-table-column>
></el-table-column>
<el-table-column
prop="partCode"
label="柱护板零件号"
></el-table-column>
<el-table-column
prop="partCode2"
label="柱护板零件号2"
></el-table-column>
</el-table> </el-table>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column v-for="(item, index) in getDefaultField" :key="index" :prop="item.prop" :label="item.label"
v-for="(item, index) in getDefaultField" :min-width="item.width" :formatter="fieldFormatter" sortable="custom" show-overflow-tooltip :gutter="0">
: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"> <template slot="header" slot-scope="scope">
{{ scope.column.label }} {{ scope.column.label }}
</template> </template>
@ -177,65 +92,23 @@
</el-table> </el-table>
<div class="table-footer"> <div class="table-footer">
<!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"--> <!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"-->
<pagination <pagination v-show="totalCount > 0" :total="totalCount" style="margin-bottom: -5px; float: right" :page.sync="page"
v-show="totalCount > 0" :limit.sync="listQuery.MaxResultCount" @pagination="getList" />
:total="totalCount"
style="margin-bottom: -5px; float: right"
:page.sync="page"
:limit.sync="listQuery.MaxResultCount"
@pagination="getList"
/>
</div> </div>
</div> </div>
<div > <div>
<el-dialog <el-dialog title="作废信息" append-to-body="true" :visible.sync="dialogTableVisible">
title="作废信息"
append-to-body="true"
:visible.sync="dialogTableVisible"
>
<el-table :data="zflist" class="dialogDiv"> <el-table :data="zflist" class="dialogDiv">
<el-table-column <el-table-column property="billNum" label="装箱单号" width="100"></el-table-column>
property="billNum" <el-table-column property="billSerialNum" label="单据顺号" width="100"></el-table-column>
label="装箱单号" <el-table-column property="billLocation" label="左或右" width="100"></el-table-column>
width="100" <el-table-column property="providerCode" label="供应商厂家代码" width="100"></el-table-column>
></el-table-column> <el-table-column property="partType" label="零件类型" width="100"></el-table-column>
<el-table-column <el-table-column property="capacity" label="器具容量" width="100"></el-table-column>
property="billSerialNum" <el-table-column property="printDate" label="打印日期" width="100"></el-table-column>
label="单据顺号"
width="100"
></el-table-column>
<el-table-column
property="billLocation"
label="左或右"
width="100"
></el-table-column>
<el-table-column
property="providerCode"
label="供应商厂家代码"
width="100"
></el-table-column>
<el-table-column
property="partType"
label="零件类型"
width="100"
></el-table-column>
<el-table-column
property="capacity"
label="器具容量"
width="100"
></el-table-column>
<el-table-column
property="printDate"
label="打印日期"
width="100"
></el-table-column>
</el-table> </el-table>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="text" @click="dialogTableVisible = false" <el-button type="text" @click="dialogTableVisible = false">取消</el-button>
>取消</el-button
>
<el-button type="primary" @click="handleDelete"> </el-button> <el-button type="primary" @click="handleDelete"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
@ -244,21 +117,32 @@
</template> </template>
<script> <script>
import Pagination from "@/components/Pagination"; import Pagination from "@/components/Pagination";
import permission from "@/directive/permission/index.js"; import permission from "@/directive/permission/index.js";
import CRMTableHead from "../../components/CRMTableHead"; import CRMTableHead from "../../components/CRMTableHead";
import importExcel from "@/components/ImportExcel-vw"; import importExcel from "@/components/ImportExcel-vw";
import Lockr from "lockr"; import Lockr from "lockr";
import { mapGetters } from "vuex"; import {
import moment from "moment"; mapGetters
import Detail from "./detail.vue"; } from "vuex";
import { downloadFile } from "@/utils/crmindex.js"; import moment from "moment";
import qs from "qs"; import Detail from "./detail.vue";
import {
downloadFile
} from "@/utils/crmindex.js";
import qs from "qs";
export default { export default {
name: "M100Online-MB", name: "M100Online-MB",
components: { Pagination, CRMTableHead, importExcel, Detail }, components: {
directives: { permission }, Pagination,
CRMTableHead,
importExcel,
Detail
},
directives: {
permission
},
filters: { filters: {
IsCustomerSignFilter(status) { IsCustomerSignFilter(status) {
// //
@ -416,10 +300,22 @@ export default {
computed: { computed: {
getDefaultField() { getDefaultField() {
var tempsTabs = []; var tempsTabs = [];
tempsTabs.push({ label: "装箱单号", prop: "billNum", width: 140 }); tempsTabs.push({
label: "装箱单号",
prop: "billNum",
width: 140
});
//tempsTabs.push({ label: "", prop: "billSerialNum", width: 120 }); //tempsTabs.push({ label: "", prop: "billSerialNum", width: 120 });
tempsTabs.push({ label: "起始顺序号", prop: "beginHostSN", width: 120 }); tempsTabs.push({
tempsTabs.push({ label: "结束顺序号", prop: "endHostSN", width: 120 }); label: "起始顺序号",
prop: "beginHostSN",
width: 120
});
tempsTabs.push({
label: "结束顺序号",
prop: "endHostSN",
width: 120
});
tempsTabs.push({ tempsTabs.push({
label: "左或右", label: "左或右",
prop: "billLocation", prop: "billLocation",
@ -479,7 +375,9 @@ export default {
while (n--) { while (n--) {
u8arr[n] = bstr.charCodeAt(n); u8arr[n] = bstr.charCodeAt(n);
} }
return new Blob([u8arr], { type: "application/pdf" }); return new Blob([u8arr], {
type: "application/pdf"
});
}, },
doPrint(val) { doPrint(val) {
var ordonnance = document.getElementById(val).contentWindow; var ordonnance = document.getElementById(val).contentWindow;
@ -541,12 +439,12 @@ export default {
this.listQuery.endHostSN = this.listQuery.endHostSN; this.listQuery.endHostSN = this.listQuery.endHostSN;
var getdate5 = JSON.stringify(this.PrintTimeValue); var getdate5 = JSON.stringify(this.PrintTimeValue);
if (getdate5 != "[]") { if (getdate5 != "[]") {
this.listQuery.beginPrintDate = this.PrintTimeValue this.listQuery.beginPrintDate = this.PrintTimeValue ?
? this.PrintTimeValue[0] || undefined this.PrintTimeValue[0] || undefined :
: undefined; undefined;
this.listQuery.endPrintDate = this.PrintTimeValue this.listQuery.endPrintDate = this.PrintTimeValue ?
? this.PrintTimeValue[1] || undefined this.PrintTimeValue[1] || undefined :
: undefined; undefined;
} else { } else {
this.listQuery.beginPrintDate = undefined; this.listQuery.beginPrintDate = undefined;
this.listQuery.endPrintDate = undefined; this.listQuery.endPrintDate = undefined;
@ -813,7 +711,11 @@ export default {
/** 格式化字段 */ /** 格式化字段 */
fieldFormatter(row, column) { fieldFormatter(row, column) {
if (column.property === "billStatus") { if (column.property === "billStatus") {
return { 1: "未匹配", 2: "未打印", 3: "已打印" }[row[column.property]]; return {
1: "未匹配",
2: "未打印",
3: "已打印"
} [row[column.property]];
} }
if (column.property == "printDate" || column.property == "receiveTime") { if (column.property == "printDate" || column.property == "receiveTime") {
var date = row[column.property]; var date = row[column.property];
@ -834,7 +736,10 @@ export default {
}, },
sortChange(data) { sortChange(data) {
const { prop, order } = data; const {
prop,
order
} = data;
if (!prop || !order) { if (!prop || !order) {
this.handleFilter(); this.handleFilter();
return; return;
@ -846,19 +751,39 @@ export default {
this.multipleSelection = val; this.multipleSelection = val;
}, },
/** 通过回调控制style */ /** 通过回调控制style */
cellStyle({ row, column, rowIndex, columnIndex }) { cellStyle({
row,
column,
rowIndex,
columnIndex
}) {
if (column.property === "qty") { if (column.property === "qty") {
return { textAlign: "right" }; return {
textAlign: "right"
};
} else { } else {
return { textAlign: "left" }; return {
textAlign: "left"
};
} }
}, },
/** 通过回调控制表头style */ /** 通过回调控制表头style */
headerRowStyle({ row, column, rowIndex, columnIndex }) { headerRowStyle({
row,
column,
rowIndex,
columnIndex
}) {
if (column.property === "qty") { if (column.property === "qty") {
return { textAlign: "right", background: "#FAFAFA" }; return {
textAlign: "right",
background: "#FAFAFA"
};
} else { } else {
return { textAlign: "left", background: "#FAFAFA" }; return {
textAlign: "left",
background: "#FAFAFA"
};
} }
}, },
handleRowClick(row, column, event) { handleRowClick(row, column, event) {
@ -868,29 +793,31 @@ export default {
closeDialog() {}, closeDialog() {},
}, },
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import "../../../pg-fis/styles/crmtable.scss"; @import "../../../pg-fis/styles/crmtable.scss";
.divider1 {
.divider1 {
margin: 0; margin: 0;
} }
.divider2 {
.divider2 {
margin: 10px; margin: 10px;
margin-bottom: 20px; margin-bottom: 20px;
width: 95%; width: 95%;
} }
.label1 {
.label1 {
margin-left: 5px; margin-left: 5px;
margin-right: 5px; margin-right: 5px;
} }
.dialogDiv {
max-height:300px; .dialogDiv {
max-height: 300px;
overflow: auto; overflow: auto;
} }
</style> </style>

255
vue/src/views/pg-fis/basedate/m100Online/budaMB.vue

@ -3,36 +3,19 @@
<div class="cr-body-content"> <div class="cr-body-content">
<div ref="box"> <div ref="box">
<flexbox class="content-header"> <flexbox class="content-header">
<el-form <el-form :model="listQuery" ref="queryForm" v-show="showSearch" :inline="true">
:model="listQuery"
ref="queryForm"
v-show="showSearch"
:inline="true"
>
<el-form-item label="大众顺序号"> <el-form-item label="大众顺序号">
<el-col :span="11"> <el-col :span="11">
<el-form-item prop="beginHostSN"> <el-form-item prop="beginHostSN">
<el-input <el-input v-model="listQuery.beginHostSN" placeholder="" clearable size="small" style="width: 170px"
v-model="listQuery.beginHostSN" @keyup.enter.native="handleQuery" />
placeholder=""
clearable
size="small"
style="width: 170px"
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col class="line" :span="2" style="width: 12px; text-align: center">-</el-col> <el-col class="line" :span="2" style="width: 12px; text-align: center">-</el-col>
<el-col :span="11"> <el-col :span="11">
<el-form-item prop="endHostSN"> <el-form-item prop="endHostSN">
<el-input <el-input v-model="listQuery.endHostSN" placeholder="" clearable size="small" style="width: 170px"
v-model="listQuery.endHostSN" @keyup.enter.native="handleQuery" />
placeholder=""
clearable
size="small"
style="width: 170px"
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-form-item> </el-form-item>
@ -40,104 +23,40 @@
<el-form-item label="底盘号码"> <el-form-item label="底盘号码">
<el-col :span="11"> <el-col :span="11">
<el-form-item prop="beginVin"> <el-form-item prop="beginVin">
<el-input <el-input v-model="listQuery.beginVin" placeholder="" clearable size="small" style="width: 140px"
v-model="listQuery.beginVin" @keyup.enter.native="handleQuery" />
placeholder=""
clearable
size="small"
style="width: 140px"
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col class="line" :span="2" style="width: 12px; text-align: center">-</el-col> <el-col class="line" :span="2" style="width: 12px; text-align: center">-</el-col>
<el-col :span="11"> <el-col :span="11">
<el-form-item prop="endVin"> <el-form-item prop="endVin">
<el-input <el-input v-model="listQuery.endVin" placeholder="" clearable size="small" style="width: 140px"
v-model="listQuery.endVin" @keyup.enter.native="handleQuery" />
placeholder=""
clearable
size="small"
style="width: 140px"
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-form-item> </el-form-item>
<el-form-item label="上线日期"> <el-form-item label="上线日期">
<el-date-picker <el-date-picker v-model="listQuery.onlineTimeValue" size="small" style="width: 380px" value-format="yyyy-MM-dd HH:mm:ss"
v-model="listQuery.onlineTimeValue" type="datetimerange" :default-time="['00:00:00', '23:59:59']" range-separator="-" start-placeholder="开始日期"
size="small" end-placeholder="结束日期"></el-date-picker>
style="width: 380px"
value-format="yyyy-MM-dd HH:mm:ss"
type="datetimerange"
:default-time="['00:00:00', '23:59:59']"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button <el-button type="primary" icon="el-icon-search" size="mini" @click="handleFilter">搜索</el-button>
type="primary" <el-button icon="el-icon-refresh" size="mini" @click="resetQuery('queryForm')">重置</el-button>
icon="el-icon-search" <el-button class="filter-item" size="mini" type="success" icon="el-icon-s-shop" @click="handleReplenishPrint()">补打(支持多选)</el-button>
size="mini"
@click="handleFilter"
>搜索</el-button
>
<el-button
icon="el-icon-refresh"
size="mini"
@click="resetQuery('queryForm')"
>重置</el-button
>
<el-button
class="filter-item"
size="mini"
type="success"
icon="el-icon-s-shop"
@click="handleReplenishPrint()"
>补打(支持多选)</el-button
>
</el-form-item> </el-form-item>
</el-form> </el-form>
</flexbox> </flexbox>
<el-table <el-table ref="multipleTable" v-loading="listLoading" element-loading-text="拼命加载中..." element-loading-spinner="el-icon-loading"
ref="multipleTable" class="cr-table" :data="list" :height="tableHeightMB" :cell-style="cellStyle" :header-cell-style="headerRowStyle"
v-loading="listLoading" size="small" stripe border highlight-current-row style="width: 100%; margin-top: -25px" @selection-change="handleSelectionChange"
element-loading-text="拼命加载中..." @row-click="handleRowClick" :row-key="getRowKeys" :expand-row-keys="expands" @expand-change="exChange">
element-loading-spinner="el-icon-loading"
class="cr-table"
:data="list"
:height="tableHeightMB"
:cell-style="cellStyle"
:header-cell-style="headerRowStyle"
size="small"
stripe
border
highlight-current-row
style="width: 100%; margin-top: -25px"
@selection-change="handleSelectionChange"
@row-click="handleRowClick"
:row-key="getRowKeys"
:expand-row-keys="expands"
@expand-change="exChange"
>
<el-table-column type="selection" width="44px" sortable="false"></el-table-column> <el-table-column type="selection" width="44px" sortable="false"></el-table-column>
<el-table-column <el-table-column v-for="(item, index) in getDefaultField" :key="index" :prop="item.prop" :label="item.label"
v-for="(item, index) in getDefaultField" :min-width="item.width" :formatter="fieldFormatter" show-overflow-tooltip :gutter="0">
:key="index"
:prop="item.prop"
:label="item.label"
:min-width="item.width"
:formatter="fieldFormatter"
show-overflow-tooltip
:gutter="0"
>
<template slot="header" slot-scope="scope"> <template slot="header" slot-scope="scope">
{{ scope.column.label }} {{ scope.column.label }}
</template> </template>
@ -145,35 +64,40 @@
</el-table> </el-table>
<div class="table-footer"> <div class="table-footer">
<!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"--> <!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"-->
<pagination <pagination v-show="totalCount > 0" :total="totalCount" style="margin-bottom: -5px; float: right" :page.sync="page"
v-show="totalCount > 0" :limit.sync="listQuery.MaxResultCount" @pagination="getList" />
:total="totalCount"
style="margin-bottom: -5px; float: right"
:page.sync="page"
:limit.sync="listQuery.MaxResultCount"
@pagination="getList"
/>
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import Pagination from "@/components/Pagination"; import Pagination from "@/components/Pagination";
import permission from "@/directive/permission/index.js"; import permission from "@/directive/permission/index.js";
import CRMTableHead from "../../components/CRMTableHead"; import CRMTableHead from "../../components/CRMTableHead";
import importExcel from "@/components/ImportExcel-vw"; import importExcel from "@/components/ImportExcel-vw";
import Lockr from "lockr"; import Lockr from "lockr";
import { mapGetters } from "vuex"; import {
import moment from "moment"; mapGetters
import Detail from "./detail.vue"; } from "vuex";
import { downloadFile } from "@/utils/crmindex.js"; import moment from "moment";
import qs from "qs"; import Detail from "./detail.vue";
import {
export default { downloadFile
} from "@/utils/crmindex.js";
import qs from "qs";
export default {
name: "M100Online-budaMB", name: "M100Online-budaMB",
components: { Pagination, CRMTableHead, importExcel, Detail }, components: {
directives: { permission }, Pagination,
CRMTableHead,
importExcel,
Detail
},
directives: {
permission
},
filters: { filters: {
IsCustomerSignFilter(status) { IsCustomerSignFilter(status) {
// //
@ -318,7 +242,11 @@ export default {
computed: { computed: {
getDefaultField() { getDefaultField() {
var tempsTabs = []; var tempsTabs = [];
tempsTabs.push({ label: "大众顺序号", prop: "hostSN", width: 80 }); tempsTabs.push({
label: "大众顺序号",
prop: "hostSN",
width: 80
});
tempsTabs.push({ tempsTabs.push({
label: "底盘号", label: "底盘号",
prop: "vin", prop: "vin",
@ -402,7 +330,9 @@ export default {
while (n--) { while (n--) {
u8arr[n] = bstr.charCodeAt(n); u8arr[n] = bstr.charCodeAt(n);
} }
return new Blob([u8arr], { type: "application/pdf" }); return new Blob([u8arr], {
type: "application/pdf"
});
}, },
doPrint(val) { doPrint(val) {
var ordonnance = document.getElementById(val).contentWindow; var ordonnance = document.getElementById(val).contentWindow;
@ -506,7 +436,7 @@ export default {
} else { } else {
// //
let beginVin1 = this.multipleSelection[0].vin; let beginVin1 = this.multipleSelection[0].vin;
let endVin1 = this.multipleSelection[this.multipleSelection.length -1].vin; let endVin1 = this.multipleSelection[this.multipleSelection.length - 1].vin;
var params = { var params = {
printType: 2, printType: 2,
productLine: this.customerInfo.productLine, productLine: this.customerInfo.productLine,
@ -519,7 +449,7 @@ export default {
}); });
console.log("门板补打输入参数:" + JSON.stringify(params)); console.log("门板补打输入参数:" + JSON.stringify(params));
debugger // //debugger //
// this.$axios // this.$axios
// .posts("/api/newjit/bill-m100/print-menban-packing-list", params) // .posts("/api/newjit/bill-m100/print-menban-packing-list", params)
// .then((response) => { // .then((response) => {
@ -555,9 +485,8 @@ export default {
/** /**
* 保存加载打印门板 * 保存加载打印门板
*/ */
private_printMenBan(input) private_printMenBan(input) {
{ //debugger
debugger
this.$axios this.$axios
.posts( .posts(
"/api/newjit/bill-m100/save-menban-report", "/api/newjit/bill-m100/save-menban-report",
@ -639,7 +568,11 @@ export default {
/** DataGrid格式化显示字段 */ /** DataGrid格式化显示字段 */
fieldFormatter(row, column) { fieldFormatter(row, column) {
if (column.property === "billStatus") { if (column.property === "billStatus") {
return { 1: "未匹配", 2: "未打印", 3: "已打印" }[row[column.property]]; return {
1: "未匹配",
2: "未打印",
3: "已打印"
} [row[column.property]];
} }
if (column.property == "printDate" || column.property == "receiveTime") { if (column.property == "printDate" || column.property == "receiveTime") {
var date = row[column.property]; var date = row[column.property];
@ -664,7 +597,10 @@ export default {
* @param {Object} data * @param {Object} data
*/ */
sortChange(data) { sortChange(data) {
const { prop, order } = data; const {
prop,
order
} = data;
if (!prop || !order) { if (!prop || !order) {
this.handleFilter(); this.handleFilter();
return; return;
@ -683,19 +619,39 @@ export default {
/** /**
* DataGrid通过回调控制style * DataGrid通过回调控制style
*/ */
cellStyle({ row, column, rowIndex, columnIndex }) { cellStyle({
row,
column,
rowIndex,
columnIndex
}) {
if (column.property === "qty") { if (column.property === "qty") {
return { textAlign: "right" }; return {
textAlign: "right"
};
} else { } else {
return { textAlign: "left" }; return {
textAlign: "left"
};
} }
}, },
/** DataGrid通过回调控制表头style */ /** DataGrid通过回调控制表头style */
headerRowStyle({ row, column, rowIndex, columnIndex }) { headerRowStyle({
row,
column,
rowIndex,
columnIndex
}) {
if (column.property === "qty") { if (column.property === "qty") {
return { textAlign: "right", background: "#FAFAFA" }; return {
textAlign: "right",
background: "#FAFAFA"
};
} else { } else {
return { textAlign: "left", background: "#FAFAFA" }; return {
textAlign: "left",
background: "#FAFAFA"
};
} }
}, },
@ -712,25 +668,26 @@ export default {
closeDialog() {}, closeDialog() {},
}, },
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import "../../../pg-fis/styles/crmtable.scss"; @import "../../../pg-fis/styles/crmtable.scss";
.divider1 {
.divider1 {
margin: 0; margin: 0;
} }
.divider2 {
.divider2 {
margin: 10px; margin: 10px;
margin-bottom: 20px; margin-bottom: 20px;
width: 95%; width: 95%;
} }
.label1 {
.label1 {
margin-left: 5px; margin-left: 5px;
margin-right: 5px; margin-right: 5px;
} }
</style> </style>

264
vue/src/views/pg-fis/basedate/m100Online/budaZHB.vue

@ -3,36 +3,19 @@
<div class="cr-body-content"> <div class="cr-body-content">
<div ref="box"> <div ref="box">
<flexbox class="content-header"> <flexbox class="content-header">
<el-form <el-form :model="listQuery" ref="queryForm" v-show="showSearch" :inline="true">
:model="listQuery"
ref="queryForm"
v-show="showSearch"
:inline="true"
>
<el-form-item label="大众顺序号"> <el-form-item label="大众顺序号">
<el-col :span="11"> <el-col :span="11">
<el-form-item prop="beginHostSN"> <el-form-item prop="beginHostSN">
<el-input <el-input v-model="listQuery.beginHostSN" placeholder="" clearable size="small" style="width: 170px"
v-model="listQuery.beginHostSN" @keyup.enter.native="handleQuery" />
placeholder=""
clearable
size="small"
style="width: 170px"
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col class="line" :span="2" style="width: 12px; text-align: center">-</el-col> <el-col class="line" :span="2" style="width: 12px; text-align: center">-</el-col>
<el-col :span="11"> <el-col :span="11">
<el-form-item prop="endHostSN"> <el-form-item prop="endHostSN">
<el-input <el-input v-model="listQuery.endHostSN" placeholder="" clearable size="small" style="width: 170px"
v-model="listQuery.endHostSN" @keyup.enter.native="handleQuery" />
placeholder=""
clearable
size="small"
style="width: 170px"
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-form-item> </el-form-item>
@ -40,104 +23,40 @@
<el-form-item label="底盘号码"> <el-form-item label="底盘号码">
<el-col :span="11"> <el-col :span="11">
<el-form-item prop="beginVin"> <el-form-item prop="beginVin">
<el-input <el-input v-model="listQuery.beginVin" placeholder="" clearable size="small" style="width: 140px"
v-model="listQuery.beginVin" @keyup.enter.native="handleQuery" />
placeholder=""
clearable
size="small"
style="width: 140px"
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col class="line" :span="2" style="width: 12px; text-align: center">-</el-col> <el-col class="line" :span="2" style="width: 12px; text-align: center">-</el-col>
<el-col :span="11"> <el-col :span="11">
<el-form-item prop="endVin"> <el-form-item prop="endVin">
<el-input <el-input v-model="listQuery.endVin" placeholder="" clearable size="small" style="width: 140px"
v-model="listQuery.endVin" @keyup.enter.native="handleQuery" />
placeholder=""
clearable
size="small"
style="width: 140px"
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-form-item> </el-form-item>
<el-form-item label="上线日期"> <el-form-item label="上线日期">
<el-date-picker <el-date-picker v-model="listQuery.onlineTimeValue" size="small" style="width: 380px" value-format="yyyy-MM-dd HH:mm:ss"
v-model="listQuery.onlineTimeValue" type="datetimerange" :default-time="['00:00:00', '23:59:59']" range-separator="-" start-placeholder="开始日期"
size="small" end-placeholder="结束日期"></el-date-picker>
style="width: 380px"
value-format="yyyy-MM-dd HH:mm:ss"
type="datetimerange"
:default-time="['00:00:00', '23:59:59']"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button <el-button type="primary" icon="el-icon-search" size="mini" @click="handleFilter">搜索</el-button>
type="primary" <el-button icon="el-icon-refresh" size="mini" @click="resetQuery('queryForm')">重置</el-button>
icon="el-icon-search" <el-button class="filter-item" size="mini" type="success" icon="el-icon-s-shop" @click="handleReplenishPrint()">补打(支持多选)</el-button>
size="mini"
@click="handleFilter"
>搜索</el-button
>
<el-button
icon="el-icon-refresh"
size="mini"
@click="resetQuery('queryForm')"
>重置</el-button
>
<el-button
class="filter-item"
size="mini"
type="success"
icon="el-icon-s-shop"
@click="handleReplenishPrint()"
>补打(支持多选)</el-button
>
</el-form-item> </el-form-item>
</el-form> </el-form>
</flexbox> </flexbox>
<el-table <el-table ref="multipleTable" v-loading="listLoading" element-loading-text="拼命加载中..." element-loading-spinner="el-icon-loading"
ref="multipleTable" class="cr-table" :data="list" :height="tableHeightZHB" :cell-style="cellStyle" :header-cell-style="headerRowStyle"
v-loading="listLoading" size="small" stripe border highlight-current-row style="width: 100%; margin-top: -25px" @selection-change="handleSelectionChange"
element-loading-text="拼命加载中..." @row-click="handleRowClick" :row-key="getRowKeys" :expand-row-keys="expands" @expand-change="exChange">
element-loading-spinner="el-icon-loading"
class="cr-table"
:data="list"
:height="tableHeightZHB"
:cell-style="cellStyle"
:header-cell-style="headerRowStyle"
size="small"
stripe
border
highlight-current-row
style="width: 100%; margin-top: -25px"
@selection-change="handleSelectionChange"
@row-click="handleRowClick"
:row-key="getRowKeys"
:expand-row-keys="expands"
@expand-change="exChange"
>
<el-table-column type="selection" width="44px" sortable="false"></el-table-column> <el-table-column type="selection" width="44px" sortable="false"></el-table-column>
<el-table-column <el-table-column v-for="(item, index) in getDefaultField" :key="index" :prop="item.prop" :label="item.label"
v-for="(item, index) in getDefaultField" :min-width="item.width" :formatter="fieldFormatter" show-overflow-tooltip :gutter="0">
:key="index"
:prop="item.prop"
:label="item.label"
:min-width="item.width"
:formatter="fieldFormatter"
show-overflow-tooltip
:gutter="0"
>
<template slot="header" slot-scope="scope"> <template slot="header" slot-scope="scope">
{{ scope.column.label }} {{ scope.column.label }}
</template> </template>
@ -145,35 +64,40 @@
</el-table> </el-table>
<div class="table-footer"> <div class="table-footer">
<!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"--> <!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"-->
<pagination <pagination v-show="totalCount > 0" :total="totalCount" style="margin-bottom: -5px; float: right" :page.sync="page"
v-show="totalCount > 0" :limit.sync="listQuery.MaxResultCount" @pagination="getList" />
:total="totalCount"
style="margin-bottom: -5px; float: right"
:page.sync="page"
:limit.sync="listQuery.MaxResultCount"
@pagination="getList"
/>
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import Pagination from "@/components/Pagination"; import Pagination from "@/components/Pagination";
import permission from "@/directive/permission/index.js"; import permission from "@/directive/permission/index.js";
import CRMTableHead from "../../components/CRMTableHead"; import CRMTableHead from "../../components/CRMTableHead";
import importExcel from "@/components/ImportExcel-vw"; import importExcel from "@/components/ImportExcel-vw";
import Lockr from "lockr"; import Lockr from "lockr";
import { mapGetters } from "vuex"; import {
import moment from "moment"; mapGetters
import Detail from "./detail.vue"; } from "vuex";
import { downloadFile } from "@/utils/crmindex.js"; import moment from "moment";
import qs from "qs"; import Detail from "./detail.vue";
import {
export default { downloadFile
} from "@/utils/crmindex.js";
import qs from "qs";
export default {
name: "M100Online-budaZHB", name: "M100Online-budaZHB",
components: { Pagination, CRMTableHead, importExcel, Detail }, components: {
directives: { permission }, Pagination,
CRMTableHead,
importExcel,
Detail
},
directives: {
permission
},
filters: { filters: {
IsCustomerSignFilter(status) { IsCustomerSignFilter(status) {
// //
@ -299,7 +223,7 @@ export default {
watch: { watch: {
customerInfosZHB: { customerInfosZHB: {
handler(newVal) { handler(newVal) {
debugger //debugger
console.log("柱护板-接收的父组件的值:" + JSON.stringify(newVal)); console.log("柱护板-接收的父组件的值:" + JSON.stringify(newVal));
if (newVal == "" || newVal == "undefined") { if (newVal == "" || newVal == "undefined") {
//TODO //TODO
@ -320,7 +244,11 @@ export default {
computed: { computed: {
getDefaultField() { getDefaultField() {
var tempsTabs = []; var tempsTabs = [];
tempsTabs.push({ label: "大众顺序号", prop: "hostSN", width: 80 }); tempsTabs.push({
label: "大众顺序号",
prop: "hostSN",
width: 80
});
tempsTabs.push({ tempsTabs.push({
label: "底盘号", label: "底盘号",
prop: "vin", prop: "vin",
@ -404,7 +332,9 @@ export default {
while (n--) { while (n--) {
u8arr[n] = bstr.charCodeAt(n); u8arr[n] = bstr.charCodeAt(n);
} }
return new Blob([u8arr], { type: "application/pdf" }); return new Blob([u8arr], {
type: "application/pdf"
});
}, },
doPrint(val) { doPrint(val) {
var ordonnance = document.getElementById(val).contentWindow; var ordonnance = document.getElementById(val).contentWindow;
@ -500,7 +430,7 @@ export default {
}, },
//- //-
handleReplenishPrint() { handleReplenishPrint() {
debugger //debugger
this.isEdit = true; this.isEdit = true;
if (this.multipleSelection == null || this.multipleSelection.length == 0) { if (this.multipleSelection == null || this.multipleSelection.length == 0) {
this.$message({ this.$message({
@ -511,7 +441,7 @@ export default {
} else { } else {
// //
let beginVin1 = this.multipleSelection[0].vin; let beginVin1 = this.multipleSelection[0].vin;
let endVin1 = this.multipleSelection[this.multipleSelection.length -1].vin; let endVin1 = this.multipleSelection[this.multipleSelection.length - 1].vin;
var params = { var params = {
printType: 2, printType: 2,
productLine: this.customerInfo.productLine, productLine: this.customerInfo.productLine,
@ -562,9 +492,8 @@ export default {
/** /**
* 保存加载打印柱护板 * 保存加载打印柱护板
*/ */
private_printZhuHuBan(input) private_printZhuHuBan(input) {
{ //debugger
debugger
// //
// //
let _this = this; let _this = this;
@ -656,16 +585,17 @@ export default {
/** DataGrid格式化显示字段 */ /** DataGrid格式化显示字段 */
fieldFormatter(row, column) { fieldFormatter(row, column) {
if (column.property === "billStatus") { if (column.property === "billStatus") {
return { 1: "未匹配", 2: "未打印", 3: "已打印" }[row[column.property]]; return {
1: "未匹配",
2: "未打印",
3: "已打印"
} [row[column.property]];
} }
if (column.property === "printBillNum") { if (column.property === "printBillNum") {
if (row[column.property] != null && row[column.property].length > 0) if (row[column.property] != null && row[column.property].length > 0) {
{
return "柱护板已打印" return "柱护板已打印"
} } else {
else
{
return "柱护板未打印" return "柱护板未打印"
} }
} }
@ -693,7 +623,10 @@ export default {
* @param {Object} data * @param {Object} data
*/ */
sortChange(data) { sortChange(data) {
const { prop, order } = data; const {
prop,
order
} = data;
if (!prop || !order) { if (!prop || !order) {
this.handleFilter(); this.handleFilter();
return; return;
@ -712,19 +645,39 @@ export default {
/** /**
* DataGrid通过回调控制style * DataGrid通过回调控制style
*/ */
cellStyle({ row, column, rowIndex, columnIndex }) { cellStyle({
row,
column,
rowIndex,
columnIndex
}) {
if (column.property === "qty") { if (column.property === "qty") {
return { textAlign: "right" }; return {
textAlign: "right"
};
} else { } else {
return { textAlign: "left" }; return {
textAlign: "left"
};
} }
}, },
/** DataGrid通过回调控制表头style */ /** DataGrid通过回调控制表头style */
headerRowStyle({ row, column, rowIndex, columnIndex }) { headerRowStyle({
row,
column,
rowIndex,
columnIndex
}) {
if (column.property === "qty") { if (column.property === "qty") {
return { textAlign: "right", background: "#FAFAFA" }; return {
textAlign: "right",
background: "#FAFAFA"
};
} else { } else {
return { textAlign: "left", background: "#FAFAFA" }; return {
textAlign: "left",
background: "#FAFAFA"
};
} }
}, },
@ -741,25 +694,26 @@ export default {
closeDialog() {}, closeDialog() {},
}, },
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import "../../../pg-fis/styles/crmtable.scss"; @import "../../../pg-fis/styles/crmtable.scss";
.divider1 {
.divider1 {
margin: 0; margin: 0;
} }
.divider2 {
.divider2 {
margin: 10px; margin: 10px;
margin-bottom: 20px; margin-bottom: 20px;
width: 95%; width: 95%;
} }
.label1 {
.label1 {
margin-left: 5px; margin-left: 5px;
margin-right: 5px; margin-right: 5px;
} }
</style> </style>

151
vue/src/views/pg-fis/basedate/m100Online/detail.vue

@ -2,28 +2,10 @@
<template> <template>
<div class="cr-body-content"> <div class="cr-body-content">
<!--表格渲染--> <!--表格渲染-->
<el-table <el-table ref="multipleTable" v-loading="listLoading" element-loading-text="拼命加载中..." element-loading-spinner="el-icon-loading"
ref="multipleTable" class="cr-table" :data="list" :height="tableHeight" :cell-style="cellStyle" :header-cell-style="headerRowStyle" size="small"
v-loading="listLoading" stripe border highlight-current-row style="width: 100%" @sort-change="sortChange" @selection-change="handleSelectionChange"
element-loading-text="拼命加载中..." @row-click="handleRowClick" :row-key="getRowKeys" :expand-row-keys="expands" @expand-change="exChange">
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"
:row-key="getRowKeys"
:expand-row-keys="expands"
@expand-change="exChange"
>
<!-- <el-table-column type="selection" width="44px"></el-table-column> --> <!-- <el-table-column type="selection" width="44px"></el-table-column> -->
<!-- <el-table-column <!-- <el-table-column
prop="总成名称" prop="总成名称"
@ -45,14 +27,8 @@
<el-table-column type="expand" prop="details"> <el-table-column type="expand" prop="details">
<template slot-scope="scope"> <template slot-scope="scope">
<el-table :data="scope.row.details"> <el-table :data="scope.row.details">
<el-table-column <el-table-column prop="partCode" label="客户零件代码"></el-table-column>
prop="partCode" <el-table-column prop="partNum" label="客户零件数量"></el-table-column>
label="客户零件代码"
></el-table-column>
<el-table-column
prop="partNum"
label="客户零件数量"
></el-table-column>
<el-table-column prop="description" label="描述"></el-table-column> <el-table-column prop="description" label="描述"></el-table-column>
<el-table-column prop="isKey" label="是否Key件"> <el-table-column prop="isKey" label="是否Key件">
<template slot-scope="scope"> <template slot-scope="scope">
@ -67,53 +43,42 @@
</el-table> </el-table>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column v-for="(item, index) in getDefaultField" :key="index" :prop="item.prop" :label="item.label"
v-for="(item, index) in getDefaultField" :min-width="item.width" :formatter="fieldFormatter" sortable="custom" show-overflow-tooltip :gutter="0">
: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"> <template slot="header" slot-scope="scope">
{{ scope.column.label }} {{ scope.column.label }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="erpAssemblyVersion" label="总成版本号" sortable width="360">
prop="erpAssemblyVersion"
label="总成版本号"
sortable
width="360"
>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div class="table-footer"> <div class="table-footer">
<!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"--> <!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"-->
<pagination <pagination v-show="totalCount > 0" :total="totalCount" :page.sync="page" :limit.sync="listQuery.MaxResultCount"
v-show="totalCount > 0" @pagination="getList" />
:total="totalCount"
:page.sync="page"
:limit.sync="listQuery.MaxResultCount"
@pagination="getList"
/>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import Pagination from "@/components/Pagination"; // secondary package based on el-pagination import Pagination from "@/components/Pagination"; // secondary package based on el-pagination
import permission from "@/directive/permission/index.js"; import permission from "@/directive/permission/index.js";
import CRMTableHead from "../../components/CRMTableHead"; import CRMTableHead from "../../components/CRMTableHead";
import { downloadFile } from "@/utils/crmindex.js"; import {
import Detail from "./detail"; downloadFile
} from "@/utils/crmindex.js";
import Detail from "./detail";
export default { export default {
name: "sendUnsettledDiffReport", name: "sendUnsettledDiffReport",
components: { Pagination, CRMTableHead, Detail }, components: {
directives: { permission }, Pagination,
CRMTableHead,
Detail
},
directives: {
permission
},
filters: { filters: {
IsCustomerSignFilter(status) { IsCustomerSignFilter(status) {
// //
@ -137,9 +102,11 @@ export default {
crmType: "stockFisDiffReport", crmType: "stockFisDiffReport",
rules: { rules: {
// //
erpMaterialCode: [ erpMaterialCode: [{
{ required: true, message: "必须输入!", trigger: "blur" }, required: true,
], message: "必须输入!",
trigger: "blur"
}, ],
}, },
expands: [], //id expands: [], //id
getRowKeys: (row) => { getRowKeys: (row) => {
@ -167,8 +134,7 @@ export default {
}, },
}, },
listQuery: { listQuery: {
Filters: [ Filters: [{
{
logic: 0, logic: 0,
column: "Enabled", column: "Enabled",
action: 0, action: 0,
@ -191,7 +157,7 @@ export default {
}, },
mounted() { mounted() {
var self = this; var self = this;
window.onresize = function () { window.onresize = function() {
var offsetHei = document.documentElement.clientHeight; var offsetHei = document.documentElement.clientHeight;
self.tableHeight = offsetHei - 30; self.tableHeight = offsetHei - 30;
}; };
@ -202,7 +168,7 @@ export default {
watch: { watch: {
customerInfos: { customerInfos: {
handler(newVal) { handler(newVal) {
debugger //debugger
if (newVal == "" || newVal == "undefined") { if (newVal == "" || newVal == "undefined") {
//TODO //TODO
} else { } else {
@ -273,7 +239,10 @@ export default {
this.listLoading = true; this.listLoading = true;
console.log("详表条件:" + JSON.stringify(this.customerInfo.parentId)); console.log("详表条件:" + JSON.stringify(this.customerInfo.parentId));
//alert("" + JSON.stringify(this.customerInfo.parentId)); //alert("" + JSON.stringify(this.customerInfo.parentId));
let vehicleAssemblyId = { vehicleAssemblyId: this.customerInfo.parentId, billId: this.customerInfo.billId }; let vehicleAssemblyId = {
vehicleAssemblyId: this.customerInfo.parentId,
billId: this.customerInfo.billId
};
this.$axios this.$axios
.gets("/api/newjit/assembly-cfg-vehicle/list", vehicleAssemblyId) .gets("/api/newjit/assembly-cfg-vehicle/list", vehicleAssemblyId)
.then((response) => { .then((response) => {
@ -307,7 +276,10 @@ export default {
resetQuery() {}, resetQuery() {},
sortChange(data) { sortChange(data) {
const { prop, order } = data; const {
prop,
order
} = data;
if (!prop || !order) { if (!prop || !order) {
this.handleFilter(); this.handleFilter();
return; return;
@ -319,27 +291,47 @@ export default {
this.multipleSelection = val; this.multipleSelection = val;
}, },
/** 通过回调控制style */ /** 通过回调控制style */
cellStyle({ row, column, rowIndex, columnIndex }) { cellStyle({
row,
column,
rowIndex,
columnIndex
}) {
if ( if (
column.property === "fisQty" || column.property === "fisQty" ||
column.property === "diffQty" || column.property === "diffQty" ||
column.property === "stockQty" column.property === "stockQty"
) { ) {
return { textAlign: "right" }; return {
textAlign: "right"
};
} else { } else {
return { textAlign: "left" }; return {
textAlign: "left"
};
} }
}, },
/** 通过回调控制表头style */ /** 通过回调控制表头style */
headerRowStyle({ row, column, rowIndex, columnIndex }) { headerRowStyle({
row,
column,
rowIndex,
columnIndex
}) {
if ( if (
column.property === "fisQty" || column.property === "fisQty" ||
column.property === "diffQty" || column.property === "diffQty" ||
column.property === "stockQty" column.property === "stockQty"
) { ) {
return { textAlign: "right", background: "#FAFAFA" }; return {
textAlign: "right",
background: "#FAFAFA"
};
} else { } else {
return { textAlign: "left", background: "#FAFAFA" }; return {
textAlign: "left",
background: "#FAFAFA"
};
} }
}, },
handleRowClick(row, column, event) { handleRowClick(row, column, event) {
@ -347,11 +339,10 @@ export default {
this.$refs.multipleTable.toggleRowSelection(row); this.$refs.multipleTable.toggleRowSelection(row);
}, },
}, },
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import "../../../pg-fis/styles/crmtable.scss"; @import "../../../pg-fis/styles/crmtable.scss";
</style> </style>

326
vue/src/views/pg-fis/basedate/m100Online/detailMB.vue

@ -3,33 +3,16 @@
<div class="cr-body-content"> <div class="cr-body-content">
<div ref="box"> <div ref="box">
<flexbox class="content-header"> <flexbox class="content-header">
<el-form <el-form :model="listQuery" ref="queryForm" v-show="showSearch" :inline="true">
:model="listQuery"
ref="queryForm"
v-show="showSearch"
:inline="true"
>
<el-form-item> <el-form-item>
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="billNum" label="装箱单号"> <el-form-item prop="billNum" label="装箱单号">
<el-input <el-input v-model="listQuery.billNum" placeholder="" clearable size="small" style="width: 140px" />
v-model="listQuery.billNum"
placeholder=""
clearable
size="small"
style="width: 140px"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="partType" label="零件类型"> <el-form-item prop="partType" label="零件类型">
<el-input <el-input v-model="listQuery.partType" placeholder="" clearable size="small" style="width: 140px" />
v-model="listQuery.partType"
placeholder=""
clearable
size="small"
style="width: 140px"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-form-item> </el-form-item>
@ -37,27 +20,15 @@
<el-form-item label="大众顺序号"> <el-form-item label="大众顺序号">
<el-col :span="11"> <el-col :span="11">
<el-form-item prop="beginHostSN"> <el-form-item prop="beginHostSN">
<el-input <el-input v-model="listQuery.beginHostSN" placeholder="" clearable size="small" style="width: 170px"
v-model="listQuery.beginHostSN" @keyup.enter.native="handleQuery" />
placeholder=""
clearable
size="small"
style="width: 170px"
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col class="line" :span="2">-</el-col> <el-col class="line" :span="2">-</el-col>
<el-col :span="11"> <el-col :span="11">
<el-form-item prop="endHostSN"> <el-form-item prop="endHostSN">
<el-input <el-input v-model="listQuery.endHostSN" placeholder="" clearable size="small" style="width: 170px"
v-model="listQuery.endHostSN" @keyup.enter.native="handleQuery" />
placeholder=""
clearable
size="small"
style="width: 170px"
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-form-item> </el-form-item>
@ -65,151 +36,55 @@
<el-form-item label="底盘号码"> <el-form-item label="底盘号码">
<el-col :span="11"> <el-col :span="11">
<el-form-item prop="beginVin"> <el-form-item prop="beginVin">
<el-input <el-input v-model="listQuery.beginVin" placeholder="" clearable size="small" style="width: 140px"
v-model="listQuery.beginVin" @keyup.enter.native="handleQuery" />
placeholder=""
clearable
size="small"
style="width: 140px"
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col class="line" :span="2">-</el-col> <el-col class="line" :span="2">-</el-col>
<el-col :span="11"> <el-col :span="11">
<el-form-item prop="endVin"> <el-form-item prop="endVin">
<el-input <el-input v-model="listQuery.endVin" placeholder="" clearable size="small" style="width: 140px"
v-model="listQuery.endVin" @keyup.enter.native="handleQuery" />
placeholder=""
clearable
size="small"
style="width: 140px"
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-form-item> </el-form-item>
<el-form-item label="打印日期"> <el-form-item label="打印日期">
<el-date-picker <el-date-picker v-model="PrintTimeValue" size="small" style="width: 380px" value-format="yyyy-MM-dd HH:mm:ss"
v-model="PrintTimeValue" type="datetimerange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']"></el-date-picker>
size="small"
style="width: 380px"
value-format="yyyy-MM-dd HH:mm:ss"
type="datetimerange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
:default-time="['00:00:00', '23:59:59']"
></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item style="margin-top: -20px"> <el-form-item style="margin-top: -20px">
<el-button <el-button type="primary" icon="el-icon-search" size="mini" @click="handleFilter">搜索</el-button>
type="primary" <el-button icon="el-icon-refresh" size="mini" @click="resetQuery('queryForm')">重置</el-button>
icon="el-icon-search" <el-button class="filter-item" size="mini" type="success" icon="el-icon-s-shop" @click="handleUpdate()">重打(只支持单选)</el-button>
size="mini" <el-button class="filter-item" type="danger" icon="el-icon-delete" size="mini" @click="handleDelete()">作废(支持批量)</el-button>
@click="handleFilter"
>搜索</el-button
>
<el-button
icon="el-icon-refresh"
size="mini"
@click="resetQuery('queryForm')"
>重置</el-button
>
<el-button
class="filter-item"
size="mini"
type="success"
icon="el-icon-s-shop"
@click="handleUpdate()"
>重打(只支持单选)</el-button
>
<el-button
class="filter-item"
type="danger"
icon="el-icon-delete"
size="mini"
@click="handleDelete()"
>作废(支持批量)</el-button
>
</el-form-item> </el-form-item>
</el-form> </el-form>
</flexbox> </flexbox>
<el-table <el-table ref="multipleTable" v-loading="listLoading" element-loading-text="拼命加载中..." element-loading-spinner="el-icon-loading"
ref="multipleTable" class="cr-table" :data="list" :height="tableHeightMB" :cell-style="cellStyle" :header-cell-style="headerRowStyle"
v-loading="listLoading" size="small" stripe border highlight-current-row style="width: 100%; margin-top: -25px" @selection-change="handleSelectionChange"
element-loading-text="拼命加载中..." @row-click="handleRowClick" :row-key="getRowKeys" :expand-row-keys="expands" @expand-change="exChange">
element-loading-spinner="el-icon-loading"
class="cr-table"
:data="list"
:height="tableHeightMB"
:cell-style="cellStyle"
:header-cell-style="headerRowStyle"
size="small"
stripe
border
highlight-current-row
style="width: 100%; margin-top: -25px"
@selection-change="handleSelectionChange"
@row-click="handleRowClick"
:row-key="getRowKeys"
:expand-row-keys="expands"
@expand-change="exChange"
>
<el-table-column type="selection" width="44px"></el-table-column> <el-table-column type="selection" width="44px"></el-table-column>
<el-table-column type="expand" prop="details" label="详表"> <el-table-column type="expand" prop="details" label="详表">
<template slot-scope="scope"> <template slot-scope="scope">
<el-table :data="scope.row.details"> <el-table :data="scope.row.details">
<el-table-column prop="knr" label="KNR订单号"></el-table-column> <el-table-column prop="knr" label="KNR订单号"></el-table-column>
<el-table-column prop="vin" label="底牌号"></el-table-column> <el-table-column prop="vin" label="底牌号"></el-table-column>
<el-table-column <el-table-column prop="hostSN" label="大众顺序号"></el-table-column>
prop="hostSN" <el-table-column prop="vehicleModel_DoorPlankCode" label="车型门板代码"></el-table-column>
label="大众顺序号" <el-table-column prop="topBoxPositionNum" label="上箱位号"></el-table-column>
></el-table-column> <el-table-column prop="topSAPMaterialNum" label="上箱位 SAP物料号"></el-table-column>
<el-table-column <el-table-column prop="topMaterialDescription" label="上箱位 物料描述"></el-table-column>
prop="vehicleModel_DoorPlankCode" <el-table-column prop="belowBoxPositionNum" label="下箱位号"></el-table-column>
label="车型门板代码" <el-table-column prop="belowSAPMaterialNum" label="下箱位 SAP物料号"></el-table-column>
></el-table-column> <el-table-column prop="belowMaterialDescription " label="下箱位 物料描述"></el-table-column>
<el-table-column
prop="topBoxPositionNum"
label="上箱位号"
></el-table-column>
<el-table-column
prop="topSAPMaterialNum"
label="上箱位 SAP物料号"
></el-table-column>
<el-table-column
prop="topMaterialDescription"
label="上箱位 物料描述"
></el-table-column>
<el-table-column
prop="belowBoxPositionNum"
label="下箱位号"
></el-table-column>
<el-table-column
prop="belowSAPMaterialNum"
label="下箱位 SAP物料号"
></el-table-column>
<el-table-column
prop="belowMaterialDescription "
label="下箱位 物料描述"
></el-table-column>
</el-table> </el-table>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column v-for="(item, index) in getDefaultField" :key="index" :prop="item.prop" :label="item.label"
v-for="(item, index) in getDefaultField" :min-width="item.width" :formatter="fieldFormatter" sortable="custom" show-overflow-tooltip :gutter="0">
: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"> <template slot="header" slot-scope="scope">
{{ scope.column.label }} {{ scope.column.label }}
</template> </template>
@ -217,35 +92,40 @@
</el-table> </el-table>
<div class="table-footer"> <div class="table-footer">
<!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"--> <!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"-->
<pagination <pagination v-show="totalCount > 0" :total="totalCount" style="margin-bottom: -5px; float: right" :page.sync="page"
v-show="totalCount > 0" :limit.sync="listQuery.MaxResultCount" @pagination="getList" />
:total="totalCount"
style="margin-bottom: -5px; float: right"
:page.sync="page"
:limit.sync="listQuery.MaxResultCount"
@pagination="getList"
/>
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import Pagination from "@/components/Pagination"; import Pagination from "@/components/Pagination";
import permission from "@/directive/permission/index.js"; import permission from "@/directive/permission/index.js";
import CRMTableHead from "../../components/CRMTableHead"; import CRMTableHead from "../../components/CRMTableHead";
import importExcel from "@/components/ImportExcel-vw"; import importExcel from "@/components/ImportExcel-vw";
import Lockr from "lockr"; import Lockr from "lockr";
import { mapGetters } from "vuex"; import {
import moment from "moment"; mapGetters
import Detail from "./detail.vue"; } from "vuex";
import { downloadFile } from "@/utils/crmindex.js"; import moment from "moment";
import qs from "qs"; import Detail from "./detail.vue";
import {
downloadFile
} from "@/utils/crmindex.js";
import qs from "qs";
export default { export default {
name: "M100Online-MB", name: "M100Online-MB",
components: { Pagination, CRMTableHead, importExcel, Detail }, components: {
directives: { permission }, Pagination,
CRMTableHead,
importExcel,
Detail
},
directives: {
permission
},
filters: { filters: {
IsCustomerSignFilter(status) { IsCustomerSignFilter(status) {
// //
@ -397,8 +277,16 @@ export default {
computed: { computed: {
getDefaultField() { getDefaultField() {
var tempsTabs = []; var tempsTabs = [];
tempsTabs.push({ label: "装箱单号", prop: "billNum", width: 140 }); tempsTabs.push({
tempsTabs.push({ label: "单据顺号", prop: "billSerialNum", width: 120 }); label: "装箱单号",
prop: "billNum",
width: 140
});
tempsTabs.push({
label: "单据顺号",
prop: "billSerialNum",
width: 120
});
tempsTabs.push({ tempsTabs.push({
label: "左或右", label: "左或右",
prop: "billLocation", prop: "billLocation",
@ -458,7 +346,9 @@ export default {
while (n--) { while (n--) {
u8arr[n] = bstr.charCodeAt(n); u8arr[n] = bstr.charCodeAt(n);
} }
return new Blob([u8arr], { type: "application/pdf" }); return new Blob([u8arr], {
type: "application/pdf"
});
}, },
doPrint(val) { doPrint(val) {
var ordonnance = document.getElementById(val).contentWindow; var ordonnance = document.getElementById(val).contentWindow;
@ -519,12 +409,12 @@ export default {
this.listQuery.endHostSN = this.listQuery.endHostSN; this.listQuery.endHostSN = this.listQuery.endHostSN;
var getdate5 = JSON.stringify(this.PrintTimeValue); var getdate5 = JSON.stringify(this.PrintTimeValue);
if (getdate5 != "[]") { if (getdate5 != "[]") {
this.listQuery.beginPrintDate = this.PrintTimeValue this.listQuery.beginPrintDate = this.PrintTimeValue ?
? this.PrintTimeValue[0] || undefined this.PrintTimeValue[0] || undefined :
: undefined; undefined;
this.listQuery.endPrintDate = this.PrintTimeValue this.listQuery.endPrintDate = this.PrintTimeValue ?
? this.PrintTimeValue[1] || undefined this.PrintTimeValue[1] || undefined :
: undefined; undefined;
} else { } else {
this.listQuery.beginPrintDate = undefined; this.listQuery.beginPrintDate = undefined;
this.listQuery.endPrintDate = undefined; this.listQuery.endPrintDate = undefined;
@ -686,7 +576,11 @@ export default {
/** 格式化字段 */ /** 格式化字段 */
fieldFormatter(row, column) { fieldFormatter(row, column) {
if (column.property === "billStatus") { if (column.property === "billStatus") {
return { 1: "未匹配", 2: "未打印", 3: "已打印" }[row[column.property]]; return {
1: "未匹配",
2: "未打印",
3: "已打印"
} [row[column.property]];
} }
if (column.property == "printDate" || column.property == "receiveTime") { if (column.property == "printDate" || column.property == "receiveTime") {
var date = row[column.property]; var date = row[column.property];
@ -707,7 +601,10 @@ export default {
}, },
sortChange(data) { sortChange(data) {
const { prop, order } = data; const {
prop,
order
} = data;
if (!prop || !order) { if (!prop || !order) {
this.handleFilter(); this.handleFilter();
return; return;
@ -719,19 +616,39 @@ export default {
this.multipleSelection = val; this.multipleSelection = val;
}, },
/** 通过回调控制style */ /** 通过回调控制style */
cellStyle({ row, column, rowIndex, columnIndex }) { cellStyle({
row,
column,
rowIndex,
columnIndex
}) {
if (column.property === "qty") { if (column.property === "qty") {
return { textAlign: "right" }; return {
textAlign: "right"
};
} else { } else {
return { textAlign: "left" }; return {
textAlign: "left"
};
} }
}, },
/** 通过回调控制表头style */ /** 通过回调控制表头style */
headerRowStyle({ row, column, rowIndex, columnIndex }) { headerRowStyle({
row,
column,
rowIndex,
columnIndex
}) {
if (column.property === "qty") { if (column.property === "qty") {
return { textAlign: "right", background: "#FAFAFA" }; return {
textAlign: "right",
background: "#FAFAFA"
};
} else { } else {
return { textAlign: "left", background: "#FAFAFA" }; return {
textAlign: "left",
background: "#FAFAFA"
};
} }
}, },
handleRowClick(row, column, event) { handleRowClick(row, column, event) {
@ -741,25 +658,26 @@ export default {
closeDialog() {}, closeDialog() {},
}, },
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import "../../../pg-fis/styles/crmtable.scss"; @import "../../../pg-fis/styles/crmtable.scss";
.divider1 {
.divider1 {
margin: 0; margin: 0;
} }
.divider2 {
.divider2 {
margin: 10px; margin: 10px;
margin-bottom: 20px; margin-bottom: 20px;
width: 95%; width: 95%;
} }
.label1 {
.label1 {
margin-left: 5px; margin-left: 5px;
margin-right: 5px; margin-right: 5px;
} }
</style> </style>

304
vue/src/views/pg-fis/basedate/m100Online/detailZHB.vue

@ -3,33 +3,16 @@
<div class="cr-body-content"> <div class="cr-body-content">
<div ref="box"> <div ref="box">
<flexbox class="content-header"> <flexbox class="content-header">
<el-form <el-form :model="listQuery" ref="queryForm" v-show="showSearch" :inline="true">
:model="listQuery"
ref="queryForm"
v-show="showSearch"
:inline="true"
>
<el-form-item> <el-form-item>
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="billNum" label="装箱单号"> <el-form-item prop="billNum" label="装箱单号">
<el-input <el-input v-model="listQuery.billNum" placeholder="" clearable size="small" style="width: 140px" />
v-model="listQuery.billNum"
placeholder=""
clearable
size="small"
style="width: 140px"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="partType" label="零件类型"> <el-form-item prop="partType" label="零件类型">
<el-input <el-input v-model="listQuery.partType" placeholder="" clearable size="small" style="width: 140px" />
v-model="listQuery.partType"
placeholder=""
clearable
size="small"
style="width: 140px"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-form-item> </el-form-item>
@ -37,27 +20,15 @@
<el-form-item label="大众顺序号"> <el-form-item label="大众顺序号">
<el-col :span="11"> <el-col :span="11">
<el-form-item prop="beginHostSN"> <el-form-item prop="beginHostSN">
<el-input <el-input v-model="listQuery.beginHostSN" placeholder="" clearable size="small" style="width: 170px"
v-model="listQuery.beginHostSN" @keyup.enter.native="handleQuery" />
placeholder=""
clearable
size="small"
style="width: 170px"
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col class="line" :span="2">-</el-col> <el-col class="line" :span="2">-</el-col>
<el-col :span="11"> <el-col :span="11">
<el-form-item prop="endHostSN"> <el-form-item prop="endHostSN">
<el-input <el-input v-model="listQuery.endHostSN" placeholder="" clearable size="small" style="width: 170px"
v-model="listQuery.endHostSN" @keyup.enter.native="handleQuery" />
placeholder=""
clearable
size="small"
style="width: 170px"
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-form-item> </el-form-item>
@ -65,131 +36,50 @@
<el-form-item label="底盘号码"> <el-form-item label="底盘号码">
<el-col :span="11"> <el-col :span="11">
<el-form-item prop="beginVin"> <el-form-item prop="beginVin">
<el-input <el-input v-model="listQuery.beginVin" placeholder="" clearable size="small" style="width: 140px"
v-model="listQuery.beginVin" @keyup.enter.native="handleQuery" />
placeholder=""
clearable
size="small"
style="width: 140px"
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col class="line" :span="2">-</el-col> <el-col class="line" :span="2">-</el-col>
<el-col :span="11"> <el-col :span="11">
<el-form-item prop="endVin"> <el-form-item prop="endVin">
<el-input <el-input v-model="listQuery.endVin" placeholder="" clearable size="small" style="width: 140px"
v-model="listQuery.endVin" @keyup.enter.native="handleQuery" />
placeholder=""
clearable
size="small"
style="width: 140px"
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-form-item> </el-form-item>
<el-form-item label="打印日期"> <el-form-item label="打印日期">
<el-date-picker <el-date-picker v-model="PrintTimeValue" size="small" style="width: 380px" value-format="yyyy-MM-dd HH:mm:ss"
v-model="PrintTimeValue" type="datetimerange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']"></el-date-picker>
size="small"
style="width: 380px"
value-format="yyyy-MM-dd HH:mm:ss"
type="datetimerange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
:default-time="['00:00:00', '23:59:59']"
></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item style="margin-top: -20px"> <el-form-item style="margin-top: -20px">
<el-button <el-button type="primary" icon="el-icon-search" size="mini" @click="handleFilter">搜索</el-button>
type="primary" <el-button icon="el-icon-refresh" size="mini" @click="resetQuery('queryForm')">重置</el-button>
icon="el-icon-search" <el-button class="filter-item" size="mini" type="success" icon="el-icon-s-shop" @click="handleUpdate()">重打(只支持单选)</el-button>
size="mini" <el-button class="filter-item" type="danger" icon="el-icon-delete" size="mini" @click="handleDelete()">作废(支持批量)</el-button>
@click="handleFilter"
>搜索</el-button
>
<el-button
icon="el-icon-refresh"
size="mini"
@click="resetQuery('queryForm')"
>重置</el-button
>
<el-button
class="filter-item"
size="mini"
type="success"
icon="el-icon-s-shop"
@click="handleUpdate()"
>重打(只支持单选)</el-button
>
<el-button
class="filter-item"
type="danger"
icon="el-icon-delete"
size="mini"
@click="handleDelete()"
>作废(支持批量)</el-button
>
</el-form-item> </el-form-item>
</el-form> </el-form>
</flexbox> </flexbox>
<el-table <el-table ref="multipleTable" v-loading="listLoading" element-loading-text="拼命加载中..." element-loading-spinner="el-icon-loading"
ref="multipleTable" class="cr-table" :data="list" :height="tableHeightMB" :cell-style="cellStyle" :header-cell-style="headerRowStyle"
v-loading="listLoading" size="small" stripe border highlight-current-row style="width: 100%; margin-top: -25px" @selection-change="handleSelectionChange"
element-loading-text="拼命加载中..." @row-click="handleRowClick" :row-key="getRowKeys" :expand-row-keys="expands" @expand-change="exChange">
element-loading-spinner="el-icon-loading"
class="cr-table"
:data="list"
:height="tableHeightMB"
:cell-style="cellStyle"
:header-cell-style="headerRowStyle"
size="small"
stripe
border
highlight-current-row
style="width: 100%; margin-top: -25px"
@selection-change="handleSelectionChange"
@row-click="handleRowClick"
:row-key="getRowKeys"
:expand-row-keys="expands"
@expand-change="exChange"
>
<el-table-column type="selection" width="44px"></el-table-column> <el-table-column type="selection" width="44px"></el-table-column>
<el-table-column type="expand" prop="details" label="详表"> <el-table-column type="expand" prop="details" label="详表">
<template slot-scope="scope"> <template slot-scope="scope">
<el-table :data="scope.row.details"> <el-table :data="scope.row.details">
<el-table-column prop="knr" label="KNR订单号"></el-table-column> <el-table-column prop="knr" label="KNR订单号"></el-table-column>
<el-table-column prop="vin" label="底牌号"></el-table-column> <el-table-column prop="vin" label="底牌号"></el-table-column>
<el-table-column <el-table-column prop="hostSN" label="大众顺序号"></el-table-column>
prop="hostSN" <el-table-column prop="partCode" label="柱护板零件号"></el-table-column>
label="大众顺序号" <el-table-column prop="partCode2" label="柱护板零件号2"></el-table-column>
></el-table-column>
<el-table-column
prop="partCode"
label="柱护板零件号"
></el-table-column>
<el-table-column
prop="partCode2"
label="柱护板零件号2"
></el-table-column>
</el-table> </el-table>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column v-for="(item, index) in getDefaultField" :key="index" :prop="item.prop" :label="item.label"
v-for="(item, index) in getDefaultField" :min-width="item.width" :formatter="fieldFormatter" sortable="custom" show-overflow-tooltip :gutter="0">
: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"> <template slot="header" slot-scope="scope">
{{ scope.column.label }} {{ scope.column.label }}
</template> </template>
@ -197,35 +87,40 @@
</el-table> </el-table>
<div class="table-footer"> <div class="table-footer">
<!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"--> <!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"-->
<pagination <pagination v-show="totalCount > 0" :total="totalCount" style="margin-bottom: -5px; float: right" :page.sync="page"
v-show="totalCount > 0" :limit.sync="listQuery.MaxResultCount" @pagination="getList" />
:total="totalCount"
style="margin-bottom: -5px; float: right"
:page.sync="page"
:limit.sync="listQuery.MaxResultCount"
@pagination="getList"
/>
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import Pagination from "@/components/Pagination"; import Pagination from "@/components/Pagination";
import permission from "@/directive/permission/index.js"; import permission from "@/directive/permission/index.js";
import CRMTableHead from "../../components/CRMTableHead"; import CRMTableHead from "../../components/CRMTableHead";
import importExcel from "@/components/ImportExcel-vw"; import importExcel from "@/components/ImportExcel-vw";
import Lockr from "lockr"; import Lockr from "lockr";
import { mapGetters } from "vuex"; import {
import moment from "moment"; mapGetters
import Detail from "./detail.vue"; } from "vuex";
import { downloadFile } from "@/utils/crmindex.js"; import moment from "moment";
import qs from "qs"; import Detail from "./detail.vue";
import {
downloadFile
} from "@/utils/crmindex.js";
import qs from "qs";
export default { export default {
name: "M100Online-MB", name: "M100Online-MB",
components: { Pagination, CRMTableHead, importExcel, Detail }, components: {
directives: { permission }, Pagination,
CRMTableHead,
importExcel,
Detail
},
directives: {
permission
},
filters: { filters: {
IsCustomerSignFilter(status) { IsCustomerSignFilter(status) {
// //
@ -378,8 +273,16 @@ export default {
computed: { computed: {
getDefaultField() { getDefaultField() {
var tempsTabs = []; var tempsTabs = [];
tempsTabs.push({ label: "装箱单号", prop: "billNum", width: 140 }); tempsTabs.push({
tempsTabs.push({ label: "单据顺号", prop: "billSerialNum", width: 120 }); label: "装箱单号",
prop: "billNum",
width: 140
});
tempsTabs.push({
label: "单据顺号",
prop: "billSerialNum",
width: 120
});
tempsTabs.push({ tempsTabs.push({
label: "左或右", label: "左或右",
prop: "billLocation", prop: "billLocation",
@ -439,7 +342,9 @@ export default {
while (n--) { while (n--) {
u8arr[n] = bstr.charCodeAt(n); u8arr[n] = bstr.charCodeAt(n);
} }
return new Blob([u8arr], { type: "application/pdf" }); return new Blob([u8arr], {
type: "application/pdf"
});
}, },
doPrint(val) { doPrint(val) {
var ordonnance = document.getElementById(val).contentWindow; var ordonnance = document.getElementById(val).contentWindow;
@ -461,7 +366,8 @@ export default {
ifr.setAttribute("name", "printPdf" + date); ifr.setAttribute("name", "printPdf" + date);
ifr.src = window.URL.createObjectURL(blob); ifr.src = window.URL.createObjectURL(blob);
document.body.appendChild(ifr); document.body.appendChild(ifr);
this.doPrint("printPdf" + date);alert("ifr.src:"+JSON.stringify(ifr.src)) this.doPrint("printPdf" + date);
alert("ifr.src:" + JSON.stringify(ifr.src))
window.URL.revokeObjectURL(ifr.src); // URL window.URL.revokeObjectURL(ifr.src); // URL
this.dialogFormVisible = false; this.dialogFormVisible = false;
}, },
@ -500,12 +406,12 @@ export default {
this.listQuery.endHostSN = this.listQuery.endHostSN; this.listQuery.endHostSN = this.listQuery.endHostSN;
var getdate5 = JSON.stringify(this.PrintTimeValue); var getdate5 = JSON.stringify(this.PrintTimeValue);
if (getdate5 != "[]") { if (getdate5 != "[]") {
this.listQuery.beginPrintDate = this.PrintTimeValue this.listQuery.beginPrintDate = this.PrintTimeValue ?
? this.PrintTimeValue[0] || undefined this.PrintTimeValue[0] || undefined :
: undefined; undefined;
this.listQuery.endPrintDate = this.PrintTimeValue this.listQuery.endPrintDate = this.PrintTimeValue ?
? this.PrintTimeValue[1] || undefined this.PrintTimeValue[1] || undefined :
: undefined; undefined;
} else { } else {
this.listQuery.beginPrintDate = undefined; this.listQuery.beginPrintDate = undefined;
this.listQuery.endPrintDate = undefined; this.listQuery.endPrintDate = undefined;
@ -668,7 +574,11 @@ export default {
/** 格式化字段 */ /** 格式化字段 */
fieldFormatter(row, column) { fieldFormatter(row, column) {
if (column.property === "billStatus") { if (column.property === "billStatus") {
return { 1: "未匹配", 2: "未打印", 3: "已打印" }[row[column.property]]; return {
1: "未匹配",
2: "未打印",
3: "已打印"
} [row[column.property]];
} }
if (column.property == "printDate" || column.property == "receiveTime") { if (column.property == "printDate" || column.property == "receiveTime") {
var date = row[column.property]; var date = row[column.property];
@ -689,7 +599,10 @@ export default {
}, },
sortChange(data) { sortChange(data) {
const { prop, order } = data; const {
prop,
order
} = data;
if (!prop || !order) { if (!prop || !order) {
this.handleFilter(); this.handleFilter();
return; return;
@ -701,19 +614,39 @@ export default {
this.multipleSelection = val; this.multipleSelection = val;
}, },
/** 通过回调控制style */ /** 通过回调控制style */
cellStyle({ row, column, rowIndex, columnIndex }) { cellStyle({
row,
column,
rowIndex,
columnIndex
}) {
if (column.property === "qty") { if (column.property === "qty") {
return { textAlign: "right" }; return {
textAlign: "right"
};
} else { } else {
return { textAlign: "left" }; return {
textAlign: "left"
};
} }
}, },
/** 通过回调控制表头style */ /** 通过回调控制表头style */
headerRowStyle({ row, column, rowIndex, columnIndex }) { headerRowStyle({
row,
column,
rowIndex,
columnIndex
}) {
if (column.property === "qty") { if (column.property === "qty") {
return { textAlign: "right", background: "#FAFAFA" }; return {
textAlign: "right",
background: "#FAFAFA"
};
} else { } else {
return { textAlign: "left", background: "#FAFAFA" }; return {
textAlign: "left",
background: "#FAFAFA"
};
} }
}, },
handleRowClick(row, column, event) { handleRowClick(row, column, event) {
@ -723,25 +656,26 @@ export default {
closeDialog() {}, closeDialog() {},
}, },
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import "../../../pg-fis/styles/crmtable.scss"; @import "../../../pg-fis/styles/crmtable.scss";
.divider1 {
.divider1 {
margin: 0; margin: 0;
} }
.divider2 {
.divider2 {
margin: 10px; margin: 10px;
margin-bottom: 20px; margin-bottom: 20px;
width: 95%; width: 95%;
} }
.label1 {
.label1 {
margin-left: 5px; margin-left: 5px;
margin-right: 5px; margin-right: 5px;
} }
</style> </style>

2
vue/src/views/pg-fis/basedate/m100Online/index.vue

@ -898,7 +898,7 @@ export default {
setTimeout(() => { setTimeout(() => {
// //
this.listLoading = false; this.listLoading = false;
debugger //debugger
}, 500); }, 500);
}) })
.catch(() => { .catch(() => {

694
vue/src/views/pg-fis/basedate/m100Online/normalPritIndex.vue

File diff suppressed because it is too large

2
vue/src/views/pg-fis/basedate/partSwitch/index.vue

@ -186,7 +186,7 @@
}); });
}, },
created() { created() {
debugger //debugger
this.getList(); this.getList();
}, },

2
vue/src/views/pg-fis/basedate/productLine/index.vue

@ -936,7 +936,7 @@ export default {
"/api/newjit/product-line-authority/do-authority",this.saveQuery "/api/newjit/product-line-authority/do-authority",this.saveQuery
) )
.then((response) => { .then((response) => {
debugger //debugger
console.log(response); console.log(response);
this.dialogFormVisible = false; this.dialogFormVisible = false;
this.getList(); this.getList();

2
vue/src/views/pg-fis/basedate/repeatR100/index.vue

@ -811,7 +811,7 @@ this.$axios
}, },
//线 //线
ptypeselectChange() { ptypeselectChange() {
debugger //debugger
this.$forceUpdate(); this.$forceUpdate();
//console.log("222222222222222222222222222222222222222222"+this.listQuery.productType); //console.log("222222222222222222222222222222222222222222"+this.listQuery.productType);
this.listQuery.productLine = ""; this.listQuery.productLine = "";

36
vue/static/config.js

@ -2,11 +2,17 @@ let configJSON
if (process.env.NODE_ENV === 'development') { if (process.env.NODE_ENV === 'development') {
configJSON = { configJSON = {
base: { base: {
ip: 'http://127.0.0.1', //?? two // ip: 'http://127.0.0.1', //?? two
auth_port: '8066', // auth_port: '8066',
public_port: '8092', // public_port: '8092',
// backend_port: '8092', // // backend_port: '8092',
backend_port: '44344', //?? three // backend_port: '44344', //?? three
ip: localStorage.getItem('config_ip'),
auth_port: localStorage.getItem('config_auth_port'),
public_port: localStorage.getItem('config_public_port'),
backend_port: localStorage.getItem('config_backend_port'),
}, },
basic: {}, basic: {},
upload: { upload: {
@ -36,17 +42,21 @@ if (process.env.NODE_ENV === 'development') {
configJSON = { configJSON = {
base: { base: {
ip: 'http://192.168.7.21', // ip: 'http://192.168.7.21',
//ip: "http://222.169.228.163", // //ip: "http://222.169.228.163",
auth_port: '8066', // auth_port: '8066',
public_port: '8092', // public_port: '8092',
backend_port: '8092', // backend_port: '8092',
// auth_port: "7696", // // auth_port: "7696",
// public_port: "7692", // // public_port: "7692",
// backend_port: "7692", // // backend_port: "7692",
ip: localStorage.getItem('config_ip'),
auth_port: localStorage.getItem('config_auth_port'),
public_port: localStorage.getItem('config_public_port'),
backend_port: localStorage.getItem('config_backend_port'),
}, },
basic: {}, basic: {},
upload: { upload: {

Loading…
Cancel
Save