Compare commits

...

20 Commits

  1. 17
      vue/public/config.js
  2. 5
      vue/public/index.html
  3. 5
      vue/src/App.vue
  4. 18
      vue/src/components/ImportTxt/index.vue
  5. 17
      vue/src/router/index.js
  6. 3
      vue/src/settings.js
  7. 11
      vue/src/views/login/index.vue
  8. 10
      vue/src/views/newJit/baseData/excludePartCfgs/index.vue
  9. 11
      vue/src/views/pg-fis/basedate/assemblyCfg/index.vue
  10. 29
      vue/src/views/pg-fis/basedate/customerPartCfg/index.vue
  11. 4
      vue/src/views/pg-fis/basedate/m100BIll/detail.vue
  12. 23
      vue/src/views/pg-fis/basedate/m100BIll/index.vue
  13. 322
      vue/src/views/pg-fis/basedate/m100Online/RepetitionMB.vue
  14. 407
      vue/src/views/pg-fis/basedate/m100Online/RepetitionZHB.vue
  15. 362
      vue/src/views/pg-fis/basedate/m100Online/ScrapMB.vue
  16. 344
      vue/src/views/pg-fis/basedate/m100Online/ScrapZHB.vue
  17. 258
      vue/src/views/pg-fis/basedate/m100Online/budaMB.vue
  18. 281
      vue/src/views/pg-fis/basedate/m100Online/budaZHB.vue
  19. 152
      vue/src/views/pg-fis/basedate/m100Online/detail.vue
  20. 765
      vue/src/views/pg-fis/basedate/m100Online/detailMB.vue
  21. 746
      vue/src/views/pg-fis/basedate/m100Online/detailZHB.vue
  22. 1119
      vue/src/views/pg-fis/basedate/m100Online/normalPritIndex.vue
  23. 683
      vue/src/views/pg-fis/basedate/m100Online/~old/detailMB.vue
  24. 681
      vue/src/views/pg-fis/basedate/m100Online/~old/detailZHB.vue
  25. 4
      vue/src/views/pg-fis/basedate/m100Online/~old/index-old.vue
  26. 6
      vue/src/views/pg-fis/basedate/m100Online/~old/index.vue
  27. 2
      vue/src/views/pg-fis/basedate/partSwitch/index.vue
  28. 2
      vue/src/views/pg-fis/basedate/productLine/index.vue
  29. 4
      vue/src/views/pg-fis/basedate/r100Online/detail.vue
  30. 1
      vue/src/views/pg-fis/basedate/r100Online/index.vue
  31. 2
      vue/src/views/pg-fis/basedate/repeatR100/index.vue
  32. 4
      vue/src/views/pg-fis/basedate/select/detail.vue
  33. 45
      vue/src/views/pg-fis/basedate/select/index.vue
  34. 0
      vue/src/views/pg-fis/basedate/select/~old/detailMB.vue
  35. 3
      vue/src/views/pg-fis/basedate/select/~old/detailZHB.vue
  36. 40
      vue/static/config.js

17
vue/public/config.js

@ -0,0 +1,17 @@
// 开发
window.SITE_CONFIG['config_ip'] = 'http://192.168.1.228'
window.SITE_CONFIG['config_auth_port'] = '8066'
window.SITE_CONFIG['config_public_port'] = '8092'
window.SITE_CONFIG['config_backend_port'] = '8092'
// window.SITE_CONFIG['config_ip'] = 'http://127.0.0.1'
// window.SITE_CONFIG['config_auth_port'] = '44344'
// window.SITE_CONFIG['config_public_port'] = '44344'
// window.SITE_CONFIG['config_backend_port'] = '44344'
// 发布
// window.SITE_CONFIG['config_ip'] = 'http://192.168.0.68'
// window.SITE_CONFIG['config_auth_port'] = '8066'
// window.SITE_CONFIG['config_public_port'] = '8092'
// window.SITE_CONFIG['config_backend_port'] = '8092'

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">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<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="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>

18
vue/src/components/ImportTxt/index.vue

@ -346,6 +346,7 @@ export default {
fis: "FIS发运数据",
settleAccount: "R3数据",
AssemblyCfgERP:"总成SAP数据",
PartCfg:"物料数据",
}[this.crmType] || ""
);
},
@ -355,6 +356,7 @@ export default {
fis: "/api/settleaccount/fis/ExcelImport",
settleAccount: "/api/settleaccount/SettleAccount/ExcelImport",
AssemblyCfgERP:"/api/newjit/assembly-cfg-erp/import",
PartCfg:"/api/newjit/part-cfg/import",
}[this.crmType] || ""
);
},
@ -365,6 +367,7 @@ export default {
fis: "FIS发运数据导入模板.xlsx",
settleAccount: "R3数据模板.xlsx",
AssemblyCfgERP:"BOM-批量导入模板.txt",
PartCfg:"BOM-批量导入模板.txt",
}[this.crmType] || ""
);
},
@ -474,12 +477,13 @@ export default {
beforeAvatarUpload(file) {
var FileExt = file.name.replace(/.+\./, "");
if (["txt"].indexOf(FileExt.toLowerCase()) === -1) {
this.$message({
type: "warning",
message: "只支持txt文本类型文件!",
});
this.isFileType = "0";
return false;
// this.$message({
// type: "warning",
// message: "txt",
// });
// this.isFileType = "0";
// return false;
this.isFileType = "1";
} else {
this.isFileType = "1";
}
@ -563,7 +567,7 @@ export default {
.posts(webapi, fd)
.then(async (res) => {
console.log("导入条件:" + JSON.stringify(res));
if(this.crmType !== "AssemblyCfgERP"){
if(this.crmType !== "AssemblyCfgERP" && this.crmType !== "PartCfg"){
if (res === "Success") {
if (this.isLt2M === "1" && this.isFileType === "1") {
this.$notify({

17
vue/src/router/index.js

@ -64,11 +64,16 @@ export const constantRoutes = [
},
{
path: '/login',
//component: () => import('@/views/login/index'),
//component: () => import('@/views/pg-fis/basedate/partSwitch'), //?? one
//component: () => import('@/views/pg-fis/basedate/assemblyCfg'), //?? one
component: () => import('@/views/pg-fis/basedate/m100Online/normalPritIndex.vue'),
hidden: true
component: () => import('@/views/login/index'),
//component: () => import('@/views/pg-fis/basedate/customerPartCfg'),
//component: () => import('@/views/pg-fis/basedate/partSwitch'),
//component: () => import('@/views/pg-fis/basedate/assemblyCfg'),
//component: () => import('@/views/pg-fis/basedate/unknownAssembly'),
//component: () => import('@/views/pg-fis/basedate/m100Online/normalPritIndex.vue'), //?? one
//component: () => import('@/views/pg-fis/basedate/select'), //M100查询
//component: () => import('@/views/pg-fis/basedate/m100BIll'), //M100单据信息维护
//component: () => import('@/views/pg-fis/basedate/r100Online'), //R100上线信息
//component: () => import('@/views/pg-fis/basedate/customerPartCfg'), //客户零件管理
},
{
path: '/auth-redirect',
@ -188,7 +193,7 @@ export const asyncRoutes = [
//wheeldataRouter,//大众看板和备件
pgfisPrint,//排序单打印
pgfis,//派格fis
JobTimeDataRouter,//后台作业监控
//JobTimeDataRouter,//后台作业监控
// 404 page must be placed at the end !!!
{ path: '*', redirect: '/404', hidden: true }

3
vue/src/settings.js

@ -1,5 +1,6 @@
module.exports = {
title: '长春派格汽车塑料技术有限公司结算管理系统',
// title: '长春派格汽车塑料技术有限公司结算管理系统',
title: '佛山FIS排序单打印系统',
/**
* @type {boolean} true | false

11
vue/src/views/login/index.vue

@ -2,7 +2,11 @@
<div class="wrapper">
<div class="left">
<div class="container"><span class="one">SAS/JIT-长春派格汽车塑料技术有限公司结算管理系统</span><span class="two"></span></div>
<div class="container">
<!-- <span class="one">SAS/JIT-长春派格汽车塑料技术有限公司结算管理系统</span> -->
<span class="one">佛山FIS排序单打印系统</span>
<span class="two"></span>
</div>
<!-- <div class="container"><span class="one">闻荫科技-长春派格结算管理系统</span><span class="two"></span></div> -->
@ -10,9 +14,8 @@
<div class="">
<div class="copyright">
长春市闻荫科技
<a
target="_blank"
href="http://www.ccwin-in.com">©2021 闻荫科技-长春派格结算管理系统</a>
<!-- <a target="_blank" href="http://www.ccwin-in.com">©2021 闻荫科技-长春派格结算管理系统</a> -->
<a target="_blank" href="http://www.ccwin-in.com">©2021 闻荫科技-佛山FIS排序单打印系统</a>
</div>
</div>
</div>

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

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

11
vue/src/views/pg-fis/basedate/assemblyCfg/index.vue

@ -46,7 +46,7 @@
</el-button>
<el-button class="filter-item" size="mini" type="primary" icon="el-icon-delete" @click="handleDelete" disabled>删除
</el-button>
<el-button class="filter-item" size="mini" type="primary" icon="el-icon-plus" @click="handleImportSAP" disabled>导入SAP对接
<el-button class="filter-item" size="mini" type="primary" icon="el-icon-plus" @click="handleImportSAP" >导入SAP对接
</el-button>
</el-form-item>
</el-form>
@ -182,7 +182,7 @@
<pagination v-show="totalCount > 0" :total="totalCount" :page.sync="page" :limit.sync="listQuery.maxResultCount"
@pagination="getList" />
<!-- 导入Excel组件 -->
<importExcel ref="importexcel" :show="showExcelImport" :crmType="crmType" @close="importExcelData" />
<importExcelCtrl ref="importexcel" :show="showExcelImport" :crmType="crmType" @close="onImportExcelDlgClosed" />
</div>
<!-- 抽屉控件 -->
<el-drawer title="信息详细页" size="75%" direction="rtl" :visible.sync="drawer" :before-close="handleDrawerClose">
@ -197,7 +197,8 @@
import Pagination from "@/components/Pagination";
import permission from "@/directive/permission/index.js";
import CRMTableHead from "../../components/CRMTableHead";
import importExcel from "@/components/ImportTxt";
import importExcelCtrl from "@/components/ImportTxt";
//import importExcelCtrl from "@/components/ImportExcel";
import Lockr from "lockr";
import moment from "moment";
import Detail from "./detail.vue";
@ -229,7 +230,7 @@
components: {
Pagination,
CRMTableHead,
importExcel,
importExcelCtrl,
Detail
},
directives: {
@ -565,7 +566,7 @@
selectOptionsChange(item) {
this.getList();
},
importExcelData() {
onImportExcelDlgClosed() {
//
this.listLoading = false;
this.showExcelImport = false;

29
vue/src/views/pg-fis/basedate/customerPartCfg/index.vue

@ -116,6 +116,11 @@
@click="handleDownload()"
>导出Excel
</el-button>
</el-form-item>
<el-form-item>
<el-button class="filter-item" size="mini" type="primary" icon="el-icon-plus" @click="handleImportSAP" >导入零件
</el-button>
</el-form-item>
<!--表格头组件filter查询-->
<!-- <c-r-m-table-head
@ -188,12 +193,7 @@
@pagination="getList"
/>
<!-- 导入Excel组件 -->
<importExcel
ref="importexcel"
:show="showExcelImport"
:crmType="crmType"
@close="importExcelData"
/>
<importExcelCtrl ref="importexcel" :show="showExcelImport" :crmType="crmType" @close="onImportExcelDlgClosed" />
</div>
</div>
</template>
@ -201,7 +201,8 @@
<script>
import Pagination from "@/components/Pagination"; // secondary package based on el-pagination
import permission from "@/directive/permission/index.js";
import importExcel from "@/components/ImportExcel-invoice";
//import importExcelCtrl from "@/components/ImportExcel-invoice";
import importExcelCtrl from "@/components/ImportTxt";
import CRMTableHead from "../../components/CRMTableHead";
import moment from "moment";
import Lockr from "lockr";
@ -210,7 +211,7 @@ import XhJSSelect from "@/components/CreateCom/Xh-JS-Select-Label.vue";
export default {
name: "CustomerPartCfg",
components: { Pagination, CRMTableHead, importExcel, XhJSSelect },
components: { Pagination, CRMTableHead, importExcelCtrl, XhJSSelect },
directives: { permission },
filters: {
IsCustomerSignFilter(status) {
@ -310,6 +311,7 @@ export default {
formTitle: "",
drawer: false,
showExcelImport: false,
crmType: "PartCfg",
tableHeight: document.documentElement.clientHeight - 260,
isEdit: false,
sortState:false, //
@ -481,11 +483,11 @@ export default {
}
return row[column.property] || "--";
},
importExcelData() {
//this.getVersionInfo();
this.listLoading = false;
onImportExcelDlgClosed() {
//
this.listLoading = false;
this.showExcelImport = false;
this.getList();
},
//
async handleDownload() {
@ -753,7 +755,12 @@ export default {
.catch(() => {
});
},
handleImportSAP() {
//
this.showExcelImport = true;
this.$refs.importexcel.handleImportExcelClick();
},
}, //method
};
</script>

4
vue/src/views/pg-fis/basedate/m100BIll/detail.vue

@ -148,6 +148,7 @@ export default {
searchContent: "", //
customerInfo: {
parentId: "",
billId: ""
},
form: {
dicDetailID: "",
@ -206,6 +207,7 @@ export default {
} else {
newVal.forEach((element) => {
this.customerInfo.parentId = element.ParentId;
this.customerInfo.billId = element.BillId;
});
if (this.customerInfo.parentId != "") {
this.getList();
@ -270,7 +272,7 @@ export default {
this.listLoading = true;
console.log("详表条件:" + JSON.stringify(this.customerInfo.parentId));
//alert("" + JSON.stringify(this.customerInfo.parentId));
let vehicleAssemblyId = { vehicleAssemblyId: this.customerInfo.parentId };
let vehicleAssemblyId = { vehicleAssemblyId: this.customerInfo.parentId, billId: this.customerInfo.billId };
this.$axios
.gets("/api/newjit/assembly-cfg-vehicle/list", vehicleAssemblyId)
.then((response) => {

23
vue/src/views/pg-fis/basedate/m100BIll/index.vue

@ -43,6 +43,23 @@
</el-select>
</el-form-item>
<el-form-item label="大众工位" prop="fwStation" v-show="listQuery.productType == 2">
<el-select
v-model="listQuery.fwStation"
clearable
placeholder="请选择"
size="medium"
style="margin-right: 15px"
>
<el-option
v-for="item in fwStationList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item label="版本:" prop="Version">
<el-input
v-model="listQuery.Version"
@ -638,6 +655,7 @@ export default {
SkipCount: 0,
MaxResultCount: 15,
productType: 1,
fwStation : "BA2", //
ProductLine: undefined,
version:undefined,
HostSNBegin:undefined,
@ -726,6 +744,10 @@ export default {
},
vehicleModelList:[],//list
productTypeList:[{id:1,name:'门板'},{id:2,name:'柱护板'}],
fwStationList: [
{ id: "BA2", name: "BA2" },
{ id: "BA5", name: "BA5" }
],
gettime:"",
KNRlist:null,
};
@ -810,6 +832,7 @@ export default {
this.customerInfos = [
{
ParentId: parentId,
BillId: param.id
},
];
},

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

@ -3,33 +3,16 @@
<div class="cr-body-content">
<div ref="box">
<flexbox class="content-header">
<el-form
:model="listQuery"
ref="queryForm"
v-show="showSearch"
:inline="true"
>
<el-form :model="listQuery" ref="queryForm" v-show="showSearch" :inline="true">
<el-form-item>
<el-col :span="12">
<el-form-item prop="billNum" label="装箱单号">
<el-input
v-model="listQuery.billNum"
placeholder=""
clearable
size="small"
style="width: 140px"
/>
<el-input v-model="listQuery.billNum" placeholder="" clearable size="small" style="width: 140px" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="partType" label="零件类型">
<el-input
v-model="listQuery.partType"
placeholder=""
clearable
size="small"
style="width: 140px"
/>
<el-input v-model="listQuery.partType" placeholder="" clearable size="small" style="width: 140px" />
</el-form-item>
</el-col>
</el-form-item>
@ -37,14 +20,8 @@
<el-form-item label="大众顺序号">
<el-col :span="11">
<el-form-item prop="HostSN">
<el-input
v-model="listQuery.HostSN"
placeholder=""
clearable
size="small"
style="width: 170px"
@keyup.enter.native="handleQuery"
/>
<el-input v-model="listQuery.HostSN" placeholder="" clearable size="small" style="width: 170px"
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
<!-- <el-col class="line" :span="2">-</el-col>
@ -93,117 +70,42 @@
<!-- </el-form-item> -->
<el-form-item label="打印日期">
<el-date-picker
v-model="PrintTimeValue"
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-date-picker v-model="PrintTimeValue" 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-button
type="primary"
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
class="filter-item"
size="mini"
type="success"
icon="el-icon-s-shop"
@click="handleUpdate()"
>重打</el-button
>
<el-form-item>
<el-button type="primary" 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 class="filter-item" size="mini" type="success" icon="el-icon-s-shop" @click="handleUpdate()">重打</el-button>
</el-form-item>
</el-form>
</flexbox>
<el-table
ref="multipleTable"
v-loading="listLoading"
element-loading-text="拼命加载中..."
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 ref="multipleTable" v-loading="listLoading" element-loading-text="拼命加载中..." 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="expand" prop="details" label="详表">
<template slot-scope="scope">
<el-table :data="scope.row.details">
<el-table-column prop="knr" label="KNR订单号"></el-table-column>
<el-table-column prop="vin" label="底盘号"></el-table-column>
<el-table-column
prop="hostSN"
label="大众顺序号"
></el-table-column>
<el-table-column
prop="vehicleModel_DoorPlankCode"
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-column prop="hostSN" label="大众顺序号"></el-table-column>
<el-table-column prop="lineNum" label="序号"></el-table-column>
<el-table-column prop="partCode" label="零件号"></el-table-column>
<el-table-column prop="materialDescription" label="零件名称"></el-table-column>
<el-table-column prop="color" label="颜色"></el-table-column>
<el-table-column prop="vehicleModel" label="车型"></el-table-column>
<el-table-column prop="vehicleConfig" label="配置"></el-table-column>
<el-table-column prop="partQty " label="数量"></el-table-column>
</el-table>
</template>
</el-table-column>
<el-table-column
v-for="(item, index) in getDefaultField"
:key="index"
:prop="item.prop"
:label="item.label"
:min-width="item.width"
:formatter="fieldFormatter"
sortable="custom"
show-overflow-tooltip
:gutter="0"
>
<el-table-column v-for="(item, index) in getDefaultField" :key="index" :prop="item.prop" :label="item.label"
:min-width="item.width" :formatter="fieldFormatter" sortable="custom" show-overflow-tooltip :gutter="0">
<template slot="header" slot-scope="scope">
{{ scope.column.label }}
</template>
@ -211,35 +113,40 @@
</el-table>
<div class="table-footer">
<!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"-->
<pagination
v-show="totalCount > 0"
:total="totalCount"
style="margin-bottom: -5px; float: right"
:page.sync="page"
:limit.sync="listQuery.MaxResultCount"
@pagination="getList"
/>
<pagination v-show="totalCount > 0" :total="totalCount" style="margin-bottom: -5px; float: right" :page.sync="page"
:limit.sync="listQuery.MaxResultCount" @pagination="getList" />
</div>
</div>
</div>
</template>
<script>
import Pagination from "@/components/Pagination";
import permission from "@/directive/permission/index.js";
import CRMTableHead from "../../components/CRMTableHead";
import importExcel from "@/components/ImportExcel-vw";
import Lockr from "lockr";
import { mapGetters } from "vuex";
import moment from "moment";
import Detail from "./detail.vue";
import { downloadFile } from "@/utils/crmindex.js";
import qs from "qs";
import Pagination from "@/components/Pagination";
import permission from "@/directive/permission/index.js";
import CRMTableHead from "../../components/CRMTableHead";
import importExcel from "@/components/ImportExcel-vw";
import Lockr from "lockr";
import {
mapGetters
} from "vuex";
import moment from "moment";
import Detail from "./detail.vue";
import {
downloadFile
} from "@/utils/crmindex.js";
import qs from "qs";
export default {
export default {
name: "M100Online-MB",
components: { Pagination, CRMTableHead, importExcel, Detail },
directives: { permission },
components: {
Pagination,
CRMTableHead,
importExcel,
Detail
},
directives: {
permission
},
filters: {
IsCustomerSignFilter(status) {
//
@ -282,8 +189,8 @@ export default {
versionValue: "",
searchContent: "", //
showExcelImport: false,
form: {},
drawer: false,
// form: {},
// drawer: false,
list: null,
totalCount: 0,
listLoading: true,
@ -385,10 +292,26 @@ export default {
computed: {
getDefaultField() {
var tempsTabs = [];
tempsTabs.push({ label: "装箱单号", prop: "billNum", 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({
label: "装箱单号",
prop: "billNum",
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({
label: "左或右",
prop: "billLocation",
@ -448,7 +371,9 @@ export default {
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new Blob([u8arr], { type: "application/pdf" });
return new Blob([u8arr], {
type: "application/pdf"
});
},
doPrint(val) {
var ordonnance = document.getElementById(val).contentWindow;
@ -511,12 +436,12 @@ export default {
this.listQuery.partType = this.listQuery.partType;
var getdate5 = JSON.stringify(this.PrintTimeValue);
if (getdate5 != "[]") {
this.listQuery.beginPrintDate = this.PrintTimeValue
? this.PrintTimeValue[0] || undefined
: undefined;
this.listQuery.endPrintDate = this.PrintTimeValue
? this.PrintTimeValue[1] || undefined
: undefined;
this.listQuery.beginPrintDate = this.PrintTimeValue ?
this.PrintTimeValue[0] || undefined :
undefined;
this.listQuery.endPrintDate = this.PrintTimeValue ?
this.PrintTimeValue[1] || undefined :
undefined;
} else {
this.listQuery.beginPrintDate = undefined;
this.listQuery.endPrintDate = undefined;
@ -532,17 +457,12 @@ export default {
)
.then((response) => {
response.items.forEach((item)=>{
if(item.printType == 0)
{
response.items.forEach((item) => {
if (item.printType == 0) {
item.printType = "正常打印";
}
else if(item.printType == 1)
{
} else if (item.printType == 1) {
item.printType = "重打";
}
else
{
} else {
item.printType = "补打";
}
@ -614,7 +534,7 @@ export default {
// })
// .catch(() => {});
debugger //
//debugger //
var params = MBVin1; //ID
console.log("门板打印-主界面传过来的值:" + JSON.stringify(params));
this.$axios
@ -734,7 +654,11 @@ export default {
/** 格式化字段 */
fieldFormatter(row, column) {
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") {
var date = row[column.property];
@ -755,7 +679,10 @@ export default {
},
sortChange(data) {
const { prop, order } = data;
const {
prop,
order
} = data;
if (!prop || !order) {
this.handleFilter();
return;
@ -767,19 +694,39 @@ export default {
this.multipleSelection = val;
},
/** 通过回调控制style */
cellStyle({ row, column, rowIndex, columnIndex }) {
cellStyle({
row,
column,
rowIndex,
columnIndex
}) {
if (column.property === "qty") {
return { textAlign: "right" };
return {
textAlign: "right"
};
} else {
return { textAlign: "left" };
return {
textAlign: "left"
};
}
},
/** 通过回调控制表头style */
headerRowStyle({ row, column, rowIndex, columnIndex }) {
headerRowStyle({
row,
column,
rowIndex,
columnIndex
}) {
if (column.property === "qty") {
return { textAlign: "right", background: "#FAFAFA" };
return {
textAlign: "right",
background: "#FAFAFA"
};
} else {
return { textAlign: "left", background: "#FAFAFA" };
return {
textAlign: "left",
background: "#FAFAFA"
};
}
},
handleRowClick(row, column, event) {
@ -789,25 +736,26 @@ export default {
closeDialog() {},
},
};
};
</script>
<style lang="scss" scoped>
@import "../../../pg-fis/styles/crmtable.scss";
.divider1 {
@import "../../../pg-fis/styles/crmtable.scss";
.divider1 {
margin: 0;
}
.divider2 {
}
.divider2 {
margin: 10px;
margin-bottom: 20px;
width: 95%;
}
.label1 {
}
.label1 {
margin-left: 5px;
margin-right: 5px;
}
}
</style>

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

@ -1,35 +1,18 @@
<!--总成模块信息管理页-->
<!--重新打印柱护板模块-->
<template>
<div class="cr-body-content">
<div ref="box">
<flexbox class="content-header">
<el-form
:model="listQuery"
ref="queryForm"
v-show="showSearch"
:inline="true"
>
<el-form :model="listQuery" ref="queryForm" v-show="showSearch" :inline="true">
<el-form-item>
<el-col :span="12">
<el-form-item prop="billNum" label="装箱单号">
<el-input
v-model="listQuery.billNum"
placeholder=""
clearable
size="small"
style="width: 140px"
/>
<el-input v-model="listQuery.billNum" placeholder="" clearable size="small" style="width: 140px" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="partType" label="零件类型">
<el-input
v-model="listQuery.partType"
placeholder=""
clearable
size="small"
style="width: 140px"
/>
<el-input v-model="listQuery.partType" placeholder="" clearable size="small" style="width: 140px" />
</el-form-item>
</el-col>
</el-form-item>
@ -37,14 +20,8 @@
<el-form-item label="大众顺序号">
<el-col :span="11">
<el-form-item prop="HostSN">
<el-input
v-model="listQuery.HostSN"
placeholder=""
clearable
size="small"
style="width: 170px"
@keyup.enter.native="handleQuery"
/>
<el-input v-model="listQuery.HostSN" placeholder="" clearable size="small" style="width: 170px"
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
</el-form-item>
@ -66,105 +43,36 @@
</el-form-item> -->
<el-form-item label="打印日期">
<el-date-picker
v-model="PrintTimeValue"
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-date-picker v-model="PrintTimeValue" 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 style="margin-top: -20px">
<el-button
type="primary"
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
class="filter-item"
size="mini"
type="success"
icon="el-icon-s-shop"
@click="handleUpdate()"
>打印当前页</el-button
>
<el-button
class="filter-item"
size="mini"
type="success"
icon="el-icon-s-shop"
@click="handleUpdateall()"
>打印全部</el-button
>
<el-button type="primary" 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 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>
</flexbox>
<el-table
ref="multipleTable"
v-loading="listLoading"
element-loading-text="拼命加载中..."
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 ref="multipleTable" v-loading="listLoading" element-loading-text="拼命加载中..." 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="expand" prop="details" label="详表">
<template slot-scope="scope">
<el-table :data="scope.row.details">
<el-table-column prop="knr" label="KNR订单号"></el-table-column>
<el-table-column prop="vin" label="底牌号"></el-table-column>
<el-table-column
prop="hostSN"
label="大众顺序号"
></el-table-column>
<el-table-column
prop="partCode"
label="柱护板零件号"
></el-table-column>
<el-table-column
prop="partCode2"
label="柱护板零件号2"
></el-table-column>
<el-table-column prop="hostSN" label="大众顺序号"></el-table-column>
<el-table-column prop="partCode" label="柱护板零件号"></el-table-column>
<el-table-column prop="partCode2" label="柱护板零件号2"></el-table-column>
</el-table>
</template>
</el-table-column>
<el-table-column
v-for="(item, index) in getDefaultField"
:key="index"
:prop="item.prop"
:label="item.label"
:min-width="item.width"
:formatter="fieldFormatter"
sortable="custom"
show-overflow-tooltip
:gutter="0"
>
<el-table-column v-for="(item, index) in getDefaultField" :key="index" :prop="item.prop" :label="item.label"
:min-width="item.width" :formatter="fieldFormatter" sortable="custom" show-overflow-tooltip :gutter="0">
<template slot="header" slot-scope="scope">
{{ scope.column.label }}
</template>
@ -172,35 +80,40 @@
</el-table>
<div class="table-footer">
<!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"-->
<pagination
v-show="totalCount > 0"
:total="totalCount"
style="margin-bottom: -5px; float: right"
:page.sync="page"
:limit.sync="listQuery.MaxResultCount"
@pagination="getList"
/>
<pagination v-show="totalCount > 0" :total="totalCount" style="margin-bottom: -5px; float: right" :page.sync="page"
:limit.sync="listQuery.MaxResultCount" @pagination="getList" />
</div>
</div>
</div>
</template>
<script>
import Pagination from "@/components/Pagination";
import permission from "@/directive/permission/index.js";
import CRMTableHead from "../../components/CRMTableHead";
import importExcel from "@/components/ImportExcel-vw";
import Lockr from "lockr";
import { mapGetters } from "vuex";
import moment from "moment";
import Detail from "./detail.vue";
import { downloadFile } from "@/utils/crmindex.js";
import qs from "qs";
import Pagination from "@/components/Pagination";
import permission from "@/directive/permission/index.js";
import CRMTableHead from "../../components/CRMTableHead";
import importExcel from "@/components/ImportExcel-vw";
import Lockr from "lockr";
import {
mapGetters
} from "vuex";
import moment from "moment";
import Detail from "./detail.vue";
import {
downloadFile
} from "@/utils/crmindex.js";
import qs from "qs";
export default {
export default {
name: "M100Online-MB",
components: { Pagination, CRMTableHead, importExcel, Detail },
directives: { permission },
components: {
Pagination,
CRMTableHead,
importExcel,
Detail
},
directives: {
permission
},
filters: {
IsCustomerSignFilter(status) {
//
@ -252,6 +165,7 @@ export default {
printType: "1",
productLine: "",
partType: "",
fwStation: ""
},
//
filterObj: {
@ -337,6 +251,7 @@ export default {
newVal.forEach((element) => {
this.customerInfo.printType = "1";
this.customerInfo.productLine = element.ProductLine;
this.customerInfo.fwStation = element.fwStation;
});
console.log("柱护板监控传值:" + JSON.stringify(this.customerInfo));
if (this.customerInfo.productLine != "") {
@ -350,10 +265,26 @@ export default {
computed: {
getDefaultField() {
var tempsTabs = [];
tempsTabs.push({ label: "装箱单号", prop: "billNum", 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({
label: "装箱单号",
prop: "billNum",
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({
label: "零件类型",
prop: "partType",
@ -412,7 +343,9 @@ export default {
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new Blob([u8arr], { type: "application/pdf" });
return new Blob([u8arr], {
type: "application/pdf"
});
},
doPrint(val) {
var ordonnance = document.getElementById(val).contentWindow;
@ -475,12 +408,12 @@ export default {
//this.listQuery.partType = this.listQuery.partType;
var getdate5 = JSON.stringify(this.PrintTimeValue);
if (getdate5 != "[]") {
this.listQuery.beginPrintDate = this.PrintTimeValue
? this.PrintTimeValue[0] || undefined
: undefined;
this.listQuery.endPrintDate = this.PrintTimeValue
? this.PrintTimeValue[1] || undefined
: undefined;
this.listQuery.beginPrintDate = this.PrintTimeValue ?
this.PrintTimeValue[0] || undefined :
undefined;
this.listQuery.endPrintDate = this.PrintTimeValue ?
this.PrintTimeValue[1] || undefined :
undefined;
} else {
this.listQuery.beginPrintDate = undefined;
this.listQuery.endPrintDate = undefined;
@ -488,6 +421,10 @@ export default {
if (this.customerInfo.productLine != "") {
this.listQuery.ProductLine = this.customerInfo.productLine;
}
if (this.customerInfo.fwStation != "") {
this.listQuery.fwStation = this.customerInfo.fwStation;
}
console.log("柱护板-列表查询条件:" + JSON.stringify(this.listQuery));
this.$axios
@ -533,6 +470,7 @@ export default {
var params = {
printType: "1",
productLine: this.customerInfo.productLine,
fwStation: this.customerInfo.fwStation,
reportIdList: ZHBId,
partType: this.multipleSelection[0].partType,
dataResultType: "2",
@ -557,35 +495,24 @@ export default {
JSON.stringify(this.fileQuery.dataname)
);
debugger
//debugger
let partNum = 0;
if(params.partType == "A上C上")
{
if (params.partType == "A上C上") {
partNum = 1;
}
else if(params.partType == "B柱下")
{
} else if (params.partType == "B柱下") {
partNum = 2;
}
else if(params.partType == "A柱下A中")
{
} else if (params.partType == "A柱下A中") {
partNum = 3;
}
else if(params.partType == "B柱上")
{
} else if (params.partType == "B柱上") {
partNum = 4;
}
else if(params.partType == "D柱")
{
} else if (params.partType == "D柱") {
partNum = 5;
}
else if(params.partType == "后轮上装饰板")
{
} else if (params.partType == "后轮上装饰板") {
partNum = 6;
}
this.$axios
.posts(
"/Handlers/Handler1.ashx?report="+partNum+"&returnfile=0",
"/Handlers/Handler1.ashx?report=" + partNum + "&returnfile=0",
qs.stringify(this.fileQuery)
)
.then((response) => {
@ -615,11 +542,13 @@ export default {
var params = {
printType: "1",
productLine: this.customerInfo.productLine,
fwStation: this.customerInfo.fwStation,
reportIdList: ZHBId,
//partType: this.multipleSelection[0].partType,
dataResultType: "1",
};
console.log("柱护版-主界面传过来的值:" + JSON.stringify(params));
let _this = this;
this.$axios
//.posts("/api/newjit/bill-m100/print-zhuhuban-packing-list", params)
.posts("/api/newjit/bill-m100/load-zhuhuban-report", params)
@ -640,7 +569,7 @@ export default {
);
this.$axios
.posts(
"/Handlers/Handler1.ashx?report=zhuhuban",
"/Handlers/Handler1.ashx?report=zhuhuban_" + _this.customerInfo.productLine + '-' + _this.customerInfo.fwStation,
qs.stringify(this.fileQuery)
)
.then((response) => {
@ -653,48 +582,48 @@ export default {
}
},
//-
handleDelete(row) {
//
var params = [];
let myalert = ""; //使
if (row) {
//
params.push(row.id);
myalert = row.name;
} else {
//
this.multipleSelection.forEach((element) => {
let id = element.id;
params.push(id);
});
myalert = "选中项";
}
this.$confirm("是否作废" + myalert + "?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.$axios
.posts("/api/newjit/ZhuHuBanPackingList/delete", params)
.then((response) => {
const index = this.list.indexOf(row);
this.$notify({
title: "成功",
message: "作废成功",
type: "success",
duration: 2000,
});
this.getList();
});
})
.catch(() => {
this.$message({
type: "info",
message: "已取消操作",
});
});
},
// handleDelete(row) {
// //
// var params = [];
// let myalert = ""; //使
// if (row) {
// //
// params.push(row.id);
// myalert = row.name;
// } else {
// //
// this.multipleSelection.forEach((element) => {
// let id = element.id;
// params.push(id);
// });
// myalert = "";
// }
// this.$confirm("" + myalert + "?", "", {
// confirmButtonText: "",
// cancelButtonText: "",
// type: "warning",
// })
// .then(() => {
// this.$axios
// .posts("/api/newjit/ZhuHuBanPackingList/delete", params)
// .then((response) => {
// const index = this.list.indexOf(row);
// this.$notify({
// title: "",
// message: "",
// type: "success",
// duration: 2000,
// });
// this.getList();
// });
// })
// .catch(() => {
// this.$message({
// type: "info",
// message: "",
// });
// });
// },
fetchData(id) {
//
this.$axios
@ -736,7 +665,11 @@ export default {
/** 格式化字段 */
fieldFormatter(row, column) {
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") {
var date = row[column.property];
@ -757,7 +690,10 @@ export default {
},
sortChange(data) {
const { prop, order } = data;
const {
prop,
order
} = data;
if (!prop || !order) {
this.handleFilter();
return;
@ -769,19 +705,39 @@ export default {
this.multipleSelection = val;
},
/** 通过回调控制style */
cellStyle({ row, column, rowIndex, columnIndex }) {
cellStyle({
row,
column,
rowIndex,
columnIndex
}) {
if (column.property === "qty") {
return { textAlign: "right" };
return {
textAlign: "right"
};
} else {
return { textAlign: "left" };
return {
textAlign: "left"
};
}
},
/** 通过回调控制表头style */
headerRowStyle({ row, column, rowIndex, columnIndex }) {
headerRowStyle({
row,
column,
rowIndex,
columnIndex
}) {
if (column.property === "qty") {
return { textAlign: "right", background: "#FAFAFA" };
return {
textAlign: "right",
background: "#FAFAFA"
};
} else {
return { textAlign: "left", background: "#FAFAFA" };
return {
textAlign: "left",
background: "#FAFAFA"
};
}
},
handleRowClick(row, column, event) {
@ -791,25 +747,26 @@ export default {
closeDialog() {},
},
};
};
</script>
<style lang="scss" scoped>
@import "../../../pg-fis/styles/crmtable.scss";
.divider1 {
@import "../../../pg-fis/styles/crmtable.scss";
.divider1 {
margin: 0;
}
.divider2 {
}
.divider2 {
margin: 10px;
margin-bottom: 20px;
width: 95%;
}
.label1 {
}
.label1 {
margin-left: 5px;
margin-right: 5px;
}
}
</style>

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

@ -1,35 +1,18 @@
<!--总成模块信息管理页-->
<!--报废门板-->
<template>
<div class="cr-body-content">
<div ref="box">
<flexbox class="content-header">
<el-form
:model="listQuery"
ref="queryForm"
v-show="showSearch"
:inline="true"
>
<el-form :model="listQuery" ref="queryForm" v-show="showSearch" :inline="true">
<el-form-item>
<el-col :span="12">
<el-form-item prop="billNum" label="装箱单号">
<el-input
v-model="listQuery.billNum"
placeholder=""
clearable
size="small"
style="width: 140px"
/>
<el-input v-model="listQuery.billNum" placeholder="" clearable size="small" style="width: 140px" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="partType" label="零件类型">
<el-input
v-model="listQuery.partType"
placeholder=""
clearable
size="small"
style="width: 140px"
/>
<el-input v-model="listQuery.partType" placeholder="" clearable size="small" style="width: 140px" />
</el-form-item>
</el-col>
</el-form-item>
@ -37,14 +20,8 @@
<el-form-item label="大众顺序号">
<el-col :span="11">
<el-form-item prop="HostSN">
<el-input
v-model="listQuery.HostSN"
placeholder=""
clearable
size="small"
style="width: 170px"
@keyup.enter.native="handleQuery"
/>
<el-input v-model="listQuery.HostSN" placeholder="" clearable size="small" style="width: 170px"
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
</el-form-item>
@ -66,118 +43,41 @@
</el-form-item> -->
<el-form-item label="打印日期">
<el-date-picker
v-model="PrintTimeValue"
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-date-picker v-model="PrintTimeValue" 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-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleFilter"
>搜索</el-button
>
<el-button
icon="el-icon-refresh"
size="mini"
@click="resetQuery('queryForm')"
>重置</el-button
>
<el-form-item>
<el-button type="primary" 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
class="filter-item"
type="danger"
icon="el-icon-delete"
size="mini"
@click="print()"
>作废(支持批量)</el-button
>
<el-button class="filter-item" type="danger" icon="el-icon-delete" size="mini" @click="print()">作废</el-button>
</el-form-item>
</el-form>
</flexbox>
<el-table
ref="multipleTable"
v-loading="listLoading"
element-loading-text="拼命加载中..."
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 ref="multipleTable" v-loading="listLoading" element-loading-text="拼命加载中..." 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="expand" prop="details" label="详表">
<template slot-scope="scope">
<el-table :data="scope.row.details">
<el-table-column prop="knr" label="KNR订单号"></el-table-column>
<el-table-column prop="vin" label="底盘号"></el-table-column>
<el-table-column
prop="hostSN"
label="大众顺序号"
></el-table-column>
<el-table-column
prop="vehicleModel_DoorPlankCode"
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-column prop="hostSN" label="大众顺序号"></el-table-column>
<el-table-column prop="lineNum" label="序号"></el-table-column>
<el-table-column prop="partCode" label="零件号"></el-table-column>
<el-table-column prop="materialDescription" label="零件名称"></el-table-column>
<el-table-column prop="color" label="颜色"></el-table-column>
<el-table-column prop="vehicleModel" label="车型"></el-table-column>
<el-table-column prop="vehicleConfig" label="配置"></el-table-column>
<el-table-column prop="partQty " label="数量"></el-table-column>
</el-table>
</template>
</el-table-column>
<el-table-column
v-for="(item, index) in getDefaultField"
:key="index"
:prop="item.prop"
:label="item.label"
:min-width="item.width"
:formatter="fieldFormatter"
sortable="custom"
show-overflow-tooltip
:gutter="0"
>
<el-table-column v-for="(item, index) in getDefaultField" :key="index" :prop="item.prop" :label="item.label"
:min-width="item.width" :formatter="fieldFormatter" sortable="custom" show-overflow-tooltip :gutter="0">
<template slot="header" slot-scope="scope">
{{ scope.column.label }}
</template>
@ -185,64 +85,24 @@
</el-table>
<div class="table-footer">
<!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"-->
<pagination
v-show="totalCount > 0"
:total="totalCount"
style="margin-bottom: -5px; float: right"
:page.sync="page"
:limit.sync="listQuery.MaxResultCount"
@pagination="getList"
/>
<pagination v-show="totalCount > 0" :total="totalCount" style="margin-bottom: -5px; float: right" :page.sync="page"
:limit.sync="listQuery.MaxResultCount" @pagination="getList" />
</div>
</div>
<div>
<el-dialog
title="作废信息"
append-to-body="true"
:visible.sync="dialogTableVisible"
>
<el-dialog title="作废信息" append-to-body="true" :visible.sync="dialogTableVisible">
<el-table :data="zflist" class="dialogDiv">
<el-table-column
property="billNum"
label="装箱单号"
width="105"
></el-table-column>
<el-table-column
property="billSerialNum"
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-column property="billNum" label="装箱单号" width="105"></el-table-column>
<el-table-column property="billSerialNum" 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>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="dialogTableVisible = false"
>取消</el-button
>
<el-button type="text" @click="dialogTableVisible = false">取消</el-button>
<el-button type="primary" @click="handleDelete"> </el-button>
</div>
</el-dialog>
@ -251,21 +111,32 @@
</template>
<script>
import Pagination from "@/components/Pagination";
import permission from "@/directive/permission/index.js";
import CRMTableHead from "../../components/CRMTableHead";
import importExcel from "@/components/ImportExcel-vw";
import Lockr from "lockr";
import { mapGetters } from "vuex";
import moment from "moment";
import Detail from "./detail.vue";
import { downloadFile } from "@/utils/crmindex.js";
import qs from "qs";
import Pagination from "@/components/Pagination";
import permission from "@/directive/permission/index.js";
import CRMTableHead from "../../components/CRMTableHead";
import importExcel from "@/components/ImportExcel-vw";
import Lockr from "lockr";
import {
mapGetters
} from "vuex";
import moment from "moment";
import Detail from "./detail.vue";
import {
downloadFile
} from "@/utils/crmindex.js";
import qs from "qs";
export default {
export default {
name: "M100Online-MB",
components: { Pagination, CRMTableHead, importExcel, Detail },
directives: { permission },
components: {
Pagination,
CRMTableHead,
importExcel,
Detail
},
directives: {
permission
},
filters: {
IsCustomerSignFilter(status) {
//
@ -417,10 +288,26 @@ export default {
computed: {
getDefaultField() {
var tempsTabs = [];
tempsTabs.push({ label: "装箱单号", prop: "billNum", 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({
label: "装箱单号",
prop: "billNum",
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({
label: "左或右",
prop: "billLocation",
@ -480,7 +367,9 @@ export default {
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new Blob([u8arr], { type: "application/pdf" });
return new Blob([u8arr], {
type: "application/pdf"
});
},
doPrint(val) {
var ordonnance = document.getElementById(val).contentWindow;
@ -543,12 +432,12 @@ export default {
this.listQuery.partType = this.listQuery.partType;
var getdate5 = JSON.stringify(this.PrintTimeValue);
if (getdate5 != "[]") {
this.listQuery.beginPrintDate = this.PrintTimeValue
? this.PrintTimeValue[0] || undefined
: undefined;
this.listQuery.endPrintDate = this.PrintTimeValue
? this.PrintTimeValue[1] || undefined
: undefined;
this.listQuery.beginPrintDate = this.PrintTimeValue ?
this.PrintTimeValue[0] || undefined :
undefined;
this.listQuery.endPrintDate = this.PrintTimeValue ?
this.PrintTimeValue[1] || undefined :
undefined;
} else {
this.listQuery.beginPrintDate = undefined;
this.listQuery.endPrintDate = undefined;
@ -808,7 +697,11 @@ export default {
/** 格式化字段 */
fieldFormatter(row, column) {
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") {
var date = row[column.property];
@ -829,7 +722,10 @@ export default {
},
sortChange(data) {
const { prop, order } = data;
const {
prop,
order
} = data;
if (!prop || !order) {
this.handleFilter();
return;
@ -841,19 +737,39 @@ export default {
this.multipleSelection = val;
},
/** 通过回调控制style */
cellStyle({ row, column, rowIndex, columnIndex }) {
cellStyle({
row,
column,
rowIndex,
columnIndex
}) {
if (column.property === "qty") {
return { textAlign: "right" };
return {
textAlign: "right"
};
} else {
return { textAlign: "left" };
return {
textAlign: "left"
};
}
},
/** 通过回调控制表头style */
headerRowStyle({ row, column, rowIndex, columnIndex }) {
headerRowStyle({
row,
column,
rowIndex,
columnIndex
}) {
if (column.property === "qty") {
return { textAlign: "right", background: "#FAFAFA" };
return {
textAlign: "right",
background: "#FAFAFA"
};
} else {
return { textAlign: "left", background: "#FAFAFA" };
return {
textAlign: "left",
background: "#FAFAFA"
};
}
},
handleRowClick(row, column, event) {
@ -863,29 +779,31 @@ export default {
closeDialog() {},
},
};
};
</script>
<style lang="scss" scoped>
@import "../../../pg-fis/styles/crmtable.scss";
.divider1 {
@import "../../../pg-fis/styles/crmtable.scss";
.divider1 {
margin: 0;
}
.divider2 {
}
.divider2 {
margin: 10px;
margin-bottom: 20px;
width: 95%;
}
.label1 {
}
.label1 {
margin-left: 5px;
margin-right: 5px;
}
.dialogDiv {
max-height:300px;
}
.dialogDiv {
max-height: 300px;
overflow: auto;
}
}
</style>

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

@ -1,35 +1,18 @@
<!--总成模块信息管理页-->
<!--报废柱护板-->
<template>
<div class="cr-body-content">
<div ref="box">
<flexbox class="content-header">
<el-form
:model="listQuery"
ref="queryForm"
v-show="showSearch"
:inline="true"
>
<el-form :model="listQuery" ref="queryForm" v-show="showSearch" :inline="true">
<el-form-item>
<el-col :span="12">
<el-form-item prop="billNum" label="装箱单号">
<el-input
v-model="listQuery.billNum"
placeholder=""
clearable
size="small"
style="width: 140px"
/>
<el-input v-model="listQuery.billNum" placeholder="" clearable size="small" style="width: 140px" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="partType" label="零件类型">
<el-input
v-model="listQuery.partType"
placeholder=""
clearable
size="small"
style="width: 140px"
/>
<el-input v-model="listQuery.partType" placeholder="" clearable size="small" style="width: 140px" />
</el-form-item>
</el-col>
</el-form-item>
@ -37,14 +20,8 @@
<el-form-item label="大众顺序号">
<el-col :span="11">
<el-form-item prop="HostSN">
<el-input
v-model="listQuery.HostSN"
placeholder=""
clearable
size="small"
style="width: 170px"
@keyup.enter.native="handleQuery"
/>
<el-input v-model="listQuery.HostSN" placeholder="" clearable size="small" style="width: 170px"
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
</el-form-item>
@ -78,98 +55,36 @@
</el-form-item> -->
<el-form-item label="打印日期">
<el-date-picker
v-model="PrintTimeValue"
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-date-picker v-model="PrintTimeValue" 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-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleFilter"
>搜索</el-button
>
<el-button
icon="el-icon-refresh"
size="mini"
@click="resetQuery('queryForm')"
>重置</el-button
>
<el-form-item>
<el-button type="primary" 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
class="filter-item"
type="danger"
icon="el-icon-delete"
size="mini"
@click=" print()"
>作废(支持批量)</el-button
>
<el-button class="filter-item" type="danger" icon="el-icon-delete" size="mini" @click=" print()">作废</el-button>
</el-form-item>
</el-form>
</flexbox>
<el-table
ref="multipleTable"
v-loading="listLoading"
element-loading-text="拼命加载中..."
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 ref="multipleTable" v-loading="listLoading" element-loading-text="拼命加载中..." 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="expand" prop="details" label="详表">
<template slot-scope="scope">
<el-table :data="scope.row.details">
<el-table-column prop="knr" label="KNR订单号"></el-table-column>
<el-table-column prop="vin" label="底牌号"></el-table-column>
<el-table-column
prop="hostSN"
label="大众顺序号"
></el-table-column>
<el-table-column
prop="partCode"
label="柱护板零件号"
></el-table-column>
<el-table-column
prop="partCode2"
label="柱护板零件号2"
></el-table-column>
<el-table-column prop="hostSN" label="大众顺序号"></el-table-column>
<el-table-column prop="partCode" label="柱护板零件号"></el-table-column>
<el-table-column prop="partCode2" label="柱护板零件号2"></el-table-column>
</el-table>
</template>
</el-table-column>
<el-table-column
v-for="(item, index) in getDefaultField"
:key="index"
:prop="item.prop"
:label="item.label"
:min-width="item.width"
:formatter="fieldFormatter"
sortable="custom"
show-overflow-tooltip
:gutter="0"
>
<el-table-column v-for="(item, index) in getDefaultField" :key="index" :prop="item.prop" :label="item.label"
:min-width="item.width" :formatter="fieldFormatter" sortable="custom" show-overflow-tooltip :gutter="0">
<template slot="header" slot-scope="scope">
{{ scope.column.label }}
</template>
@ -177,65 +92,23 @@
</el-table>
<div class="table-footer">
<!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"-->
<pagination
v-show="totalCount > 0"
:total="totalCount"
style="margin-bottom: -5px; float: right"
:page.sync="page"
:limit.sync="listQuery.MaxResultCount"
@pagination="getList"
/>
<pagination v-show="totalCount > 0" :total="totalCount" style="margin-bottom: -5px; float: right" :page.sync="page"
:limit.sync="listQuery.MaxResultCount" @pagination="getList" />
</div>
</div>
<div >
<el-dialog
title="作废信息"
append-to-body="true"
:visible.sync="dialogTableVisible"
>
<div>
<el-dialog title="作废信息" append-to-body="true" :visible.sync="dialogTableVisible">
<el-table :data="zflist" class="dialogDiv">
<el-table-column
property="billNum"
label="装箱单号"
width="100"
></el-table-column>
<el-table-column
property="billSerialNum"
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-column property="billNum" label="装箱单号" width="100"></el-table-column>
<el-table-column property="billSerialNum" 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>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="dialogTableVisible = false"
>取消</el-button
>
<el-button type="text" @click="dialogTableVisible = false">取消</el-button>
<el-button type="primary" @click="handleDelete"> </el-button>
</div>
</el-dialog>
@ -244,21 +117,32 @@
</template>
<script>
import Pagination from "@/components/Pagination";
import permission from "@/directive/permission/index.js";
import CRMTableHead from "../../components/CRMTableHead";
import importExcel from "@/components/ImportExcel-vw";
import Lockr from "lockr";
import { mapGetters } from "vuex";
import moment from "moment";
import Detail from "./detail.vue";
import { downloadFile } from "@/utils/crmindex.js";
import qs from "qs";
import Pagination from "@/components/Pagination";
import permission from "@/directive/permission/index.js";
import CRMTableHead from "../../components/CRMTableHead";
import importExcel from "@/components/ImportExcel-vw";
import Lockr from "lockr";
import {
mapGetters
} from "vuex";
import moment from "moment";
import Detail from "./detail.vue";
import {
downloadFile
} from "@/utils/crmindex.js";
import qs from "qs";
export default {
export default {
name: "M100Online-MB",
components: { Pagination, CRMTableHead, importExcel, Detail },
directives: { permission },
components: {
Pagination,
CRMTableHead,
importExcel,
Detail
},
directives: {
permission
},
filters: {
IsCustomerSignFilter(status) {
//
@ -312,6 +196,7 @@ export default {
customerInfo: {
printType: "1",
productLine: "",
fwStation: ""
},
//
filterObj: {
@ -401,6 +286,7 @@ export default {
newVal.forEach((element) => {
this.customerInfo.printType = "1";
this.customerInfo.productLine = element.ProductLine;
this.customerInfo.fwStation = element.fwStation;
});
console.log("柱护板监控传值:" + JSON.stringify(this.customerInfo));
if (this.customerInfo.productLine != "") {
@ -414,10 +300,22 @@ export default {
computed: {
getDefaultField() {
var tempsTabs = [];
tempsTabs.push({ label: "装箱单号", prop: "billNum", 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({
label: "装箱单号",
prop: "billNum",
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({
label: "左或右",
prop: "billLocation",
@ -477,7 +375,9 @@ export default {
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new Blob([u8arr], { type: "application/pdf" });
return new Blob([u8arr], {
type: "application/pdf"
});
},
doPrint(val) {
var ordonnance = document.getElementById(val).contentWindow;
@ -539,12 +439,12 @@ export default {
this.listQuery.endHostSN = this.listQuery.endHostSN;
var getdate5 = JSON.stringify(this.PrintTimeValue);
if (getdate5 != "[]") {
this.listQuery.beginPrintDate = this.PrintTimeValue
? this.PrintTimeValue[0] || undefined
: undefined;
this.listQuery.endPrintDate = this.PrintTimeValue
? this.PrintTimeValue[1] || undefined
: undefined;
this.listQuery.beginPrintDate = this.PrintTimeValue ?
this.PrintTimeValue[0] || undefined :
undefined;
this.listQuery.endPrintDate = this.PrintTimeValue ?
this.PrintTimeValue[1] || undefined :
undefined;
} else {
this.listQuery.beginPrintDate = undefined;
this.listQuery.endPrintDate = undefined;
@ -552,6 +452,9 @@ export default {
if (this.customerInfo.productLine != "") {
this.listQuery.ProductLine = this.customerInfo.productLine;
}
if (this.customerInfo.fwStation != "") {
this.listQuery.fwStation = this.customerInfo.fwStation;
}
console.log("柱护板-列表查询条件:" + JSON.stringify(this.listQuery));
this.$axios
@ -597,10 +500,12 @@ export default {
var params = {
printType: "1",
productLine: this.customerInfo.productLine,
fwStation: this.customerInfo.fwStation,
beginVin: beginVin1,
endVin: endVin1,
};
console.log("柱护版-主界面传过来的值:" + JSON.stringify(params));
let _this = this;
this.$axios
.posts("/api/newjit/bill-m100/print-zhuhuban-packing-list", params)
.then((response) => {
@ -620,7 +525,7 @@ export default {
);
this.$axios
.posts(
"/Handlers/Handler1.ashx?report=zhuhuban",
"/Handlers/Handler1.ashx?report=zhuhuban_" + _this.customerInfo.productLine + '-' + _this.customerInfo.fwStation,
qs.stringify(this.fileQuery)
)
.then((response) => {
@ -806,7 +711,11 @@ export default {
/** 格式化字段 */
fieldFormatter(row, column) {
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") {
var date = row[column.property];
@ -827,7 +736,10 @@ export default {
},
sortChange(data) {
const { prop, order } = data;
const {
prop,
order
} = data;
if (!prop || !order) {
this.handleFilter();
return;
@ -839,19 +751,39 @@ export default {
this.multipleSelection = val;
},
/** 通过回调控制style */
cellStyle({ row, column, rowIndex, columnIndex }) {
cellStyle({
row,
column,
rowIndex,
columnIndex
}) {
if (column.property === "qty") {
return { textAlign: "right" };
return {
textAlign: "right"
};
} else {
return { textAlign: "left" };
return {
textAlign: "left"
};
}
},
/** 通过回调控制表头style */
headerRowStyle({ row, column, rowIndex, columnIndex }) {
headerRowStyle({
row,
column,
rowIndex,
columnIndex
}) {
if (column.property === "qty") {
return { textAlign: "right", background: "#FAFAFA" };
return {
textAlign: "right",
background: "#FAFAFA"
};
} else {
return { textAlign: "left", background: "#FAFAFA" };
return {
textAlign: "left",
background: "#FAFAFA"
};
}
},
handleRowClick(row, column, event) {
@ -861,29 +793,31 @@ export default {
closeDialog() {},
},
};
};
</script>
<style lang="scss" scoped>
@import "../../../pg-fis/styles/crmtable.scss";
.divider1 {
@import "../../../pg-fis/styles/crmtable.scss";
.divider1 {
margin: 0;
}
.divider2 {
}
.divider2 {
margin: 10px;
margin-bottom: 20px;
width: 95%;
}
.label1 {
}
.label1 {
margin-left: 5px;
margin-right: 5px;
}
.dialogDiv {
max-height:300px;
}
.dialogDiv {
max-height: 300px;
overflow: auto;
}
</style>

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

@ -1,38 +1,21 @@
<!--总成模块信息管理页-->
<!--补打门板模块-->
<template>
<div class="cr-body-content">
<div ref="box">
<flexbox class="content-header">
<el-form
:model="listQuery"
ref="queryForm"
v-show="showSearch"
:inline="true"
>
<el-form :model="listQuery" ref="queryForm" v-show="showSearch" :inline="true">
<el-form-item label="大众顺序号">
<el-col :span="11">
<el-form-item prop="beginHostSN">
<el-input
v-model="listQuery.beginHostSN"
placeholder=""
clearable
size="small"
style="width: 170px"
@keyup.enter.native="handleQuery"
/>
<el-input v-model="listQuery.beginHostSN" placeholder="" clearable size="small" style="width: 170px"
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
<el-col class="line" :span="2" style="width: 12px; text-align: center">-</el-col>
<el-col :span="11">
<el-form-item prop="endHostSN">
<el-input
v-model="listQuery.endHostSN"
placeholder=""
clearable
size="small"
style="width: 170px"
@keyup.enter.native="handleQuery"
/>
<el-input v-model="listQuery.endHostSN" placeholder="" clearable size="small" style="width: 170px"
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
</el-form-item>
@ -40,104 +23,40 @@
<el-form-item label="底盘号码">
<el-col :span="11">
<el-form-item prop="beginVin">
<el-input
v-model="listQuery.beginVin"
placeholder=""
clearable
size="small"
style="width: 140px"
@keyup.enter.native="handleQuery"
/>
<el-input v-model="listQuery.beginVin" placeholder="" clearable size="small" style="width: 140px"
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
<el-col class="line" :span="2" style="width: 12px; text-align: center">-</el-col>
<el-col :span="11">
<el-form-item prop="endVin">
<el-input
v-model="listQuery.endVin"
placeholder=""
clearable
size="small"
style="width: 140px"
@keyup.enter.native="handleQuery"
/>
<el-input v-model="listQuery.endVin" placeholder="" clearable size="small" style="width: 140px"
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
</el-form-item>
<el-form-item label="上线日期">
<el-date-picker
v-model="listQuery.onlineTimeValue"
size="small"
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-date-picker v-model="listQuery.onlineTimeValue" size="small" 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-button
type="primary"
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
class="filter-item"
size="mini"
type="success"
icon="el-icon-s-shop"
@click="handleReplenishPrint()"
>补打(支持多选)</el-button
>
<el-button type="primary" 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 class="filter-item" size="mini" type="success" icon="el-icon-s-shop" @click="handleReplenishPrint()">补打(支持多选)</el-button>
</el-form-item>
</el-form>
</flexbox>
<el-table
ref="multipleTable"
v-loading="listLoading"
element-loading-text="拼命加载中..."
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 ref="multipleTable" v-loading="listLoading" element-loading-text="拼命加载中..." 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
v-for="(item, index) in getDefaultField"
:key="index"
:prop="item.prop"
:label="item.label"
:min-width="item.width"
:formatter="fieldFormatter"
show-overflow-tooltip
:gutter="0"
>
<el-table-column v-for="(item, index) in getDefaultField" :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">
{{ scope.column.label }}
</template>
@ -145,35 +64,40 @@
</el-table>
<div class="table-footer">
<!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"-->
<pagination
v-show="totalCount > 0"
:total="totalCount"
style="margin-bottom: -5px; float: right"
:page.sync="page"
:limit.sync="listQuery.MaxResultCount"
@pagination="getList"
/>
<pagination v-show="totalCount > 0" :total="totalCount" style="margin-bottom: -5px; float: right" :page.sync="page"
:limit.sync="listQuery.MaxResultCount" @pagination="getList" />
</div>
</div>
</div>
</template>
<script>
import Pagination from "@/components/Pagination";
import permission from "@/directive/permission/index.js";
import CRMTableHead from "../../components/CRMTableHead";
import importExcel from "@/components/ImportExcel-vw";
import Lockr from "lockr";
import { mapGetters } from "vuex";
import moment from "moment";
import Detail from "./detail.vue";
import { downloadFile } from "@/utils/crmindex.js";
import qs from "qs";
export default {
import Pagination from "@/components/Pagination";
import permission from "@/directive/permission/index.js";
import CRMTableHead from "../../components/CRMTableHead";
import importExcel from "@/components/ImportExcel-vw";
import Lockr from "lockr";
import {
mapGetters
} from "vuex";
import moment from "moment";
import Detail from "./detail.vue";
import {
downloadFile
} from "@/utils/crmindex.js";
import qs from "qs";
export default {
name: "M100Online-budaMB",
components: { Pagination, CRMTableHead, importExcel, Detail },
directives: { permission },
components: {
Pagination,
CRMTableHead,
importExcel,
Detail
},
directives: {
permission
},
filters: {
IsCustomerSignFilter(status) {
//
@ -318,7 +242,11 @@ export default {
computed: {
getDefaultField() {
var tempsTabs = [];
tempsTabs.push({ label: "大众顺序号", prop: "hostSN", width: 80 });
tempsTabs.push({
label: "大众顺序号",
prop: "hostSN",
width: 80
});
tempsTabs.push({
label: "底盘号",
prop: "vin",
@ -402,7 +330,9 @@ export default {
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new Blob([u8arr], { type: "application/pdf" });
return new Blob([u8arr], {
type: "application/pdf"
});
},
doPrint(val) {
var ordonnance = document.getElementById(val).contentWindow;
@ -506,7 +436,7 @@ export default {
} else {
//
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 = {
printType: 2,
productLine: this.customerInfo.productLine,
@ -519,7 +449,7 @@ export default {
});
console.log("门板补打输入参数:" + JSON.stringify(params));
debugger //
//debugger //
// this.$axios
// .posts("/api/newjit/bill-m100/print-menban-packing-list", params)
// .then((response) => {
@ -555,9 +485,8 @@ export default {
/**
* 保存加载打印门板
*/
private_printMenBan(input)
{
debugger
private_printMenBan(input) {
//debugger
this.$axios
.posts(
"/api/newjit/bill-m100/save-menban-report",
@ -611,6 +540,7 @@ export default {
this.formLoading = false;
this.isDisable = false;
this.printpdf(response); //
this.getList();
})
.catch((error) => {
this.formLoading = false;
@ -639,7 +569,11 @@ export default {
/** DataGrid格式化显示字段 */
fieldFormatter(row, column) {
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") {
var date = row[column.property];
@ -664,7 +598,10 @@ export default {
* @param {Object} data
*/
sortChange(data) {
const { prop, order } = data;
const {
prop,
order
} = data;
if (!prop || !order) {
this.handleFilter();
return;
@ -683,19 +620,39 @@ export default {
/**
* DataGrid通过回调控制style
*/
cellStyle({ row, column, rowIndex, columnIndex }) {
cellStyle({
row,
column,
rowIndex,
columnIndex
}) {
if (column.property === "qty") {
return { textAlign: "right" };
return {
textAlign: "right"
};
} else {
return { textAlign: "left" };
return {
textAlign: "left"
};
}
},
/** DataGrid通过回调控制表头style */
headerRowStyle({ row, column, rowIndex, columnIndex }) {
headerRowStyle({
row,
column,
rowIndex,
columnIndex
}) {
if (column.property === "qty") {
return { textAlign: "right", background: "#FAFAFA" };
return {
textAlign: "right",
background: "#FAFAFA"
};
} else {
return { textAlign: "left", background: "#FAFAFA" };
return {
textAlign: "left",
background: "#FAFAFA"
};
}
},
@ -712,25 +669,26 @@ export default {
closeDialog() {},
},
};
};
</script>
<style lang="scss" scoped>
@import "../../../pg-fis/styles/crmtable.scss";
.divider1 {
@import "../../../pg-fis/styles/crmtable.scss";
.divider1 {
margin: 0;
}
.divider2 {
}
.divider2 {
margin: 10px;
margin-bottom: 20px;
width: 95%;
}
.label1 {
}
.label1 {
margin-left: 5px;
margin-right: 5px;
}
}
</style>

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

@ -1,38 +1,21 @@
<!--补打柱护板-->
<!--补打柱护板模块-->
<template>
<div class="cr-body-content">
<div ref="box">
<flexbox class="content-header">
<el-form
:model="listQuery"
ref="queryForm"
v-show="showSearch"
:inline="true"
>
<el-form :model="listQuery" ref="queryForm" v-show="showSearch" :inline="true">
<el-form-item label="大众顺序号">
<el-col :span="11">
<el-form-item prop="beginHostSN">
<el-input
v-model="listQuery.beginHostSN"
placeholder=""
clearable
size="small"
style="width: 170px"
@keyup.enter.native="handleQuery"
/>
<el-input v-model="listQuery.beginHostSN" placeholder="" clearable size="small" style="width: 170px"
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
<el-col class="line" :span="2" style="width: 12px; text-align: center">-</el-col>
<el-col :span="11">
<el-form-item prop="endHostSN">
<el-input
v-model="listQuery.endHostSN"
placeholder=""
clearable
size="small"
style="width: 170px"
@keyup.enter.native="handleQuery"
/>
<el-input v-model="listQuery.endHostSN" placeholder="" clearable size="small" style="width: 170px"
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
</el-form-item>
@ -40,104 +23,40 @@
<el-form-item label="底盘号码">
<el-col :span="11">
<el-form-item prop="beginVin">
<el-input
v-model="listQuery.beginVin"
placeholder=""
clearable
size="small"
style="width: 140px"
@keyup.enter.native="handleQuery"
/>
<el-input v-model="listQuery.beginVin" placeholder="" clearable size="small" style="width: 140px"
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
<el-col class="line" :span="2" style="width: 12px; text-align: center">-</el-col>
<el-col :span="11">
<el-form-item prop="endVin">
<el-input
v-model="listQuery.endVin"
placeholder=""
clearable
size="small"
style="width: 140px"
@keyup.enter.native="handleQuery"
/>
<el-input v-model="listQuery.endVin" placeholder="" clearable size="small" style="width: 140px"
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
</el-form-item>
<el-form-item label="上线日期">
<el-date-picker
v-model="listQuery.onlineTimeValue"
size="small"
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-date-picker v-model="listQuery.onlineTimeValue" size="small" 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-button
type="primary"
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
class="filter-item"
size="mini"
type="success"
icon="el-icon-s-shop"
@click="handleReplenishPrint()"
>补打(支持多选)</el-button
>
<el-button type="primary" 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 class="filter-item" size="mini" type="success" icon="el-icon-s-shop" @click="handleReplenishPrint()">补打(支持多选)</el-button>
</el-form-item>
</el-form>
</flexbox>
<el-table
ref="multipleTable"
v-loading="listLoading"
element-loading-text="拼命加载中..."
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 ref="multipleTable" v-loading="listLoading" element-loading-text="拼命加载中..." 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
v-for="(item, index) in getDefaultField"
:key="index"
:prop="item.prop"
:label="item.label"
:min-width="item.width"
:formatter="fieldFormatter"
show-overflow-tooltip
:gutter="0"
>
<el-table-column v-for="(item, index) in getDefaultField" :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">
{{ scope.column.label }}
</template>
@ -145,35 +64,40 @@
</el-table>
<div class="table-footer">
<!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"-->
<pagination
v-show="totalCount > 0"
:total="totalCount"
style="margin-bottom: -5px; float: right"
:page.sync="page"
:limit.sync="listQuery.MaxResultCount"
@pagination="getList"
/>
<pagination v-show="totalCount > 0" :total="totalCount" style="margin-bottom: -5px; float: right" :page.sync="page"
:limit.sync="listQuery.MaxResultCount" @pagination="getList" />
</div>
</div>
</div>
</template>
<script>
import Pagination from "@/components/Pagination";
import permission from "@/directive/permission/index.js";
import CRMTableHead from "../../components/CRMTableHead";
import importExcel from "@/components/ImportExcel-vw";
import Lockr from "lockr";
import { mapGetters } from "vuex";
import moment from "moment";
import Detail from "./detail.vue";
import { downloadFile } from "@/utils/crmindex.js";
import qs from "qs";
export default {
import Pagination from "@/components/Pagination";
import permission from "@/directive/permission/index.js";
import CRMTableHead from "../../components/CRMTableHead";
import importExcel from "@/components/ImportExcel-vw";
import Lockr from "lockr";
import {
mapGetters
} from "vuex";
import moment from "moment";
import Detail from "./detail.vue";
import {
downloadFile
} from "@/utils/crmindex.js";
import qs from "qs";
export default {
name: "M100Online-budaZHB",
components: { Pagination, CRMTableHead, importExcel, Detail },
directives: { permission },
components: {
Pagination,
CRMTableHead,
importExcel,
Detail
},
directives: {
permission
},
filters: {
IsCustomerSignFilter(status) {
//
@ -218,6 +142,7 @@ export default {
customerInfo: {
printType: "",
productLine: "",
fwStation: ""
},
//
filterObj: {
@ -298,7 +223,7 @@ export default {
watch: {
customerInfosZHB: {
handler(newVal) {
debugger
//debugger
console.log("柱护板-接收的父组件的值:" + JSON.stringify(newVal));
if (newVal == "" || newVal == "undefined") {
//TODO
@ -306,6 +231,7 @@ export default {
newVal.forEach((element) => {
this.customerInfo.printType = 2; //2
this.customerInfo.productLine = element.ProductLine;
this.customerInfo.fwStation = element.fwStation;
});
if (this.customerInfo.productLine != "") {
this.getList();
@ -318,7 +244,11 @@ export default {
computed: {
getDefaultField() {
var tempsTabs = [];
tempsTabs.push({ label: "大众顺序号", prop: "hostSN", width: 80 });
tempsTabs.push({
label: "大众顺序号",
prop: "hostSN",
width: 80
});
tempsTabs.push({
label: "底盘号",
prop: "vin",
@ -402,7 +332,9 @@ export default {
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new Blob([u8arr], { type: "application/pdf" });
return new Blob([u8arr], {
type: "application/pdf"
});
},
doPrint(val) {
var ordonnance = document.getElementById(val).contentWindow;
@ -474,6 +406,9 @@ export default {
if (this.customerInfo.productLine != "") {
inputParam.productLine = this.customerInfo.productLine;
}
if (this.customerInfo.fwStation != "") {
inputParam.fwStation = this.customerInfo.fwStation;
}
console.log('取柱护板补打列表replenish-print-zhb-list方法输入参数:' + JSON.stringify(this.listQuery));
this.$axios
@ -495,7 +430,7 @@ export default {
},
//-
handleReplenishPrint() {
debugger
//debugger
this.isEdit = true;
if (this.multipleSelection == null || this.multipleSelection.length == 0) {
this.$message({
@ -506,10 +441,11 @@ export default {
} else {
//
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 = {
printType: 2,
productLine: this.customerInfo.productLine,
fwStation: this.customerInfo.fwStation,
beginVin: beginVin1,
endVin: endVin1,
m100IdList: []
@ -539,7 +475,7 @@ export default {
// this.$axios
// .posts(
// "/Handlers/Handler1.ashx?report=zhuhuban",
// "/Handlers/Handler1.ashx?report=zhuhuban_" + this.customerInfo.productLine + '-' + this.customerInfo.fwStation,
// qs.stringify(this.fileQuery)
// )
// .then((response) => {
@ -556,11 +492,11 @@ export default {
/**
* 保存加载打印柱护板
*/
private_printZhuHuBan(input)
{
debugger
private_printZhuHuBan(input) {
//debugger
//
//
let _this = this;
this.$axios
.posts(
"/api/newjit/bill-m100/save-zhuhuban-report",
@ -605,12 +541,14 @@ export default {
this.fileQuery.dataname = JSON.stringify(
response.item
);
//this.fileQuery.dataname = "";
console.log("打印json");
console.log(this.fileQuery.dataname);
this.$axios
.posts(
"/Handlers/Handler1.ashx?report=zhuhuban",
//"/Handlers/Handler1.ashx?report=zhuhuban",
"/Handlers/Handler1.ashx?report=zhuhuban_" + _this.customerInfo.productLine + '-' + _this.customerInfo.fwStation,
qs.stringify(this.fileQuery)
)
.then((response) => {
@ -619,6 +557,8 @@ export default {
this.formLoading = false;
this.isDisable = false;
this.printpdf(response); //
debugger
this.getList();
})
.catch((error) => {
this.formLoading = false;
@ -647,16 +587,17 @@ export default {
/** DataGrid格式化显示字段 */
fieldFormatter(row, column) {
if (column.property === "billStatus") {
return { 1: "未匹配", 2: "未打印", 3: "已打印" }[row[column.property]];
return {
1: "未匹配",
2: "未打印",
3: "已打印"
} [row[column.property]];
}
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 "柱护板已打印"
}
else
{
} else {
return "柱护板未打印"
}
}
@ -684,7 +625,10 @@ export default {
* @param {Object} data
*/
sortChange(data) {
const { prop, order } = data;
const {
prop,
order
} = data;
if (!prop || !order) {
this.handleFilter();
return;
@ -703,19 +647,39 @@ export default {
/**
* DataGrid通过回调控制style
*/
cellStyle({ row, column, rowIndex, columnIndex }) {
cellStyle({
row,
column,
rowIndex,
columnIndex
}) {
if (column.property === "qty") {
return { textAlign: "right" };
return {
textAlign: "right"
};
} else {
return { textAlign: "left" };
return {
textAlign: "left"
};
}
},
/** DataGrid通过回调控制表头style */
headerRowStyle({ row, column, rowIndex, columnIndex }) {
headerRowStyle({
row,
column,
rowIndex,
columnIndex
}) {
if (column.property === "qty") {
return { textAlign: "right", background: "#FAFAFA" };
return {
textAlign: "right",
background: "#FAFAFA"
};
} else {
return { textAlign: "left", background: "#FAFAFA" };
return {
textAlign: "left",
background: "#FAFAFA"
};
}
},
@ -732,25 +696,26 @@ export default {
closeDialog() {},
},
};
};
</script>
<style lang="scss" scoped>
@import "../../../pg-fis/styles/crmtable.scss";
.divider1 {
@import "../../../pg-fis/styles/crmtable.scss";
.divider1 {
margin: 0;
}
.divider2 {
}
.divider2 {
margin: 10px;
margin-bottom: 20px;
width: 95%;
}
.label1 {
}
.label1 {
margin-left: 5px;
margin-right: 5px;
}
}
</style>

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

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

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

@ -1,765 +0,0 @@
<!--总成模块信息管理页-->
<template>
<div class="cr-body-content">
<div ref="box">
<flexbox class="content-header">
<el-form
:model="listQuery"
ref="queryForm"
v-show="showSearch"
:inline="true"
>
<el-form-item>
<el-col :span="12">
<el-form-item prop="billNum" label="装箱单号">
<el-input
v-model="listQuery.billNum"
placeholder=""
clearable
size="small"
style="width: 140px"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="partType" label="零件类型">
<el-input
v-model="listQuery.partType"
placeholder=""
clearable
size="small"
style="width: 140px"
/>
</el-form-item>
</el-col>
</el-form-item>
<el-form-item label="大众顺序号">
<el-col :span="11">
<el-form-item prop="beginHostSN">
<el-input
v-model="listQuery.beginHostSN"
placeholder=""
clearable
size="small"
style="width: 170px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
</el-col>
<el-col class="line" :span="2">-</el-col>
<el-col :span="11">
<el-form-item prop="endHostSN">
<el-input
v-model="listQuery.endHostSN"
placeholder=""
clearable
size="small"
style="width: 170px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
</el-col>
</el-form-item>
<el-form-item label="底盘号码">
<el-col :span="11">
<el-form-item prop="beginVin">
<el-input
v-model="listQuery.beginVin"
placeholder=""
clearable
size="small"
style="width: 140px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
</el-col>
<el-col class="line" :span="2">-</el-col>
<el-col :span="11">
<el-form-item prop="endVin">
<el-input
v-model="listQuery.endVin"
placeholder=""
clearable
size="small"
style="width: 140px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
</el-col>
</el-form-item>
<el-form-item label="打印日期">
<el-date-picker
v-model="PrintTimeValue"
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 style="margin-top: -20px">
<el-button
type="primary"
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
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>
</flexbox>
<el-table
ref="multipleTable"
v-loading="listLoading"
element-loading-text="拼命加载中..."
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="expand" prop="details" label="详表">
<template slot-scope="scope">
<el-table :data="scope.row.details">
<el-table-column prop="knr" label="KNR订单号"></el-table-column>
<el-table-column prop="vin" label="底牌号"></el-table-column>
<el-table-column
prop="hostSN"
label="大众顺序号"
></el-table-column>
<el-table-column
prop="vehicleModel_DoorPlankCode"
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>
</template>
</el-table-column>
<el-table-column
v-for="(item, index) in getDefaultField"
:key="index"
:prop="item.prop"
:label="item.label"
:min-width="item.width"
:formatter="fieldFormatter"
sortable="custom"
show-overflow-tooltip
:gutter="0"
>
<template slot="header" slot-scope="scope">
{{ scope.column.label }}
</template>
</el-table-column>
</el-table>
<div class="table-footer">
<!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"-->
<pagination
v-show="totalCount > 0"
:total="totalCount"
style="margin-bottom: -5px; float: right"
:page.sync="page"
:limit.sync="listQuery.MaxResultCount"
@pagination="getList"
/>
</div>
</div>
</div>
</template>
<script>
import Pagination from "@/components/Pagination";
import permission from "@/directive/permission/index.js";
import CRMTableHead from "../../components/CRMTableHead";
import importExcel from "@/components/ImportExcel-vw";
import Lockr from "lockr";
import { mapGetters } from "vuex";
import moment from "moment";
import Detail from "./detail.vue";
import { downloadFile } from "@/utils/crmindex.js";
import qs from "qs";
export default {
name: "M100Online-MB",
components: { Pagination, CRMTableHead, importExcel, Detail },
directives: { permission },
filters: {
IsCustomerSignFilter(status) {
//
const statusMap = {
true: "是",
false: "否",
};
return statusMap[status];
},
},
props: {
customerInfosMB: {
type: Array,
default: () => {
return [];
},
},
},
data() {
const validVersion = (rule, value, callback) => {
let numberReg = /^\d{6}$/;
if (!numberReg.test(value)) {
callback(new Error("只能为6位数字!"));
} else {
callback();
}
};
return {
crmType: "M100Online-MB",
getRowKeys: (row) => {
return row.id; //id
},
expands: [], //id
PrintTimeValue: [],
activeNames: ["1"],
multipleSelection: [],
valueSelect: "",
customerInfos: [],
dialogOptions: [],
versionValue: "",
searchContent: "", //
showExcelImport: false,
form: {},
drawer: false,
list: null,
totalCount: 0,
listLoading: true,
customerInfo: {
printType: "",
productLine: "",
},
//
filterObj: {
type: Object,
default: () => {
return {};
},
},
listQuery: {
SkipCount: 0,
MaxResultCount: 15,
billNum: undefined,
partType: undefined,
beginVin: undefined,
endVin: undefined,
beginHostSN: undefined,
endHostSN: undefined,
beginPrintDate: undefined,
endPrintDate: undefined,
},
listPLQuery: {
BillType: 2,
//UserId: this.userinfo.UserId,
},
hostSNQuery: {
productLine: undefined,
},
hostCheckQuery: {
printType: undefined, //0:;1:;2:;
productLine: undefined,
beginHostSN: undefined,
endHostSN: undefined,
beginVin: undefined,
endVin: undefined,
},
hostPrintQuery: {
printType: undefined, //0:;1:;2:;
productLine: undefined,
beginHostSN: undefined,
endHostSN: undefined,
beginVin: undefined,
endVin: undefined,
},
fileQuery: {
dataname: undefined,
},
form: {
details: [],
},
page: 1,
//
showSearch: true,
drawer: false,
dialogFormVisible: false,
formTitle: "",
isEdit: false,
formLoading: false,
tableHeight: document.documentElement.clientHeight - 335,
tableHeightMB: document.documentElement.clientHeight - 300,
detailTableHeight: 250,
details: [], //
PLList: [], //线
isShowHostSN: false,
isShowVin: false,
isShowState: true,
};
},
mounted() {
this.$nextTick(() => {
var offsetHei = document.documentElement.clientHeight;
//console.log(offsetHei);
let boxH = this.$refs.box.offsetHeight;
this.tableHeight = offsetHei - boxH - 57 - 79; //57footer79
//this.tableHeight = offsetHei -260
});
},
created() {
this.getList();
},
watch: {
customerInfosMB: {
handler(newVal) {
console.log("门板-接收的父组件的值:" + JSON.stringify(newVal));
if (newVal == "" || newVal == "undefined") {
//TODO
} else {
newVal.forEach((element) => {
this.customerInfo.printType = element.PrintType;
this.customerInfo.productLine = element.ProductLine;
});
if (this.customerInfo.productLine != "") {
this.getList();
}
}
},
immediate: true,
},
},
computed: {
getDefaultField() {
var tempsTabs = [];
tempsTabs.push({ label: "装箱单号", prop: "billNum", width: 140 });
tempsTabs.push({ label: "单据顺号", prop: "billSerialNum", width: 120 });
tempsTabs.push({
label: "左或右",
prop: "billLocation",
width: 150,
});
tempsTabs.push({
label: "供应商厂家代码",
prop: "providerCode",
width: 150,
});
tempsTabs.push({
label: "零件类型",
prop: "partType",
width: 180,
});
tempsTabs.push({
label: "器具容量",
prop: "capacity",
width: 150,
});
tempsTabs.push({
label: "打印日期",
prop: "printDate",
width: 180,
});
tempsTabs.push({
label: "打印类型",
prop: "printType",
width: 120,
});
tempsTabs.push({
label: "生产线",
prop: "productLine",
width: 120,
});
tempsTabs.push({
label: "起底盘号",
prop: "beginVin",
width: 160,
});
tempsTabs.push({
label: "止底盘号",
prop: "endVin",
width: 160,
});
return tempsTabs;
},
...mapGetters(["userInfo"]), //
},
methods: {
//base64dataurlbase64
dataURLtoBlob(dataurl) {
var bstr = atob(dataurl.substring(dataurl.indexOf(",") + 1));
var n = bstr.length;
var u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new Blob([u8arr], { type: "application/pdf" });
},
doPrint(val) {
var ordonnance = document.getElementById(val).contentWindow;
setTimeout(() => {
// window.print()
ordonnance.print();
this.pdfLoading = false;
}, 100);
},
printpdf(dataResult) {
//dataResultbase64
let blob = this.dataURLtoBlob(dataResult);
var date = new Date().getTime();
var ifr = document.createElement("iframe");
ifr.style.frameborder = "no";
ifr.style.display = "none";
ifr.style.pageBreakBefore = "always";
ifr.setAttribute("id", "printPdf" + date);
ifr.setAttribute("name", "printPdf" + date);
ifr.src = window.URL.createObjectURL(blob);
document.body.appendChild(ifr);
this.doPrint("printPdf" + date);
window.URL.revokeObjectURL(ifr.src); // URL
this.dialogFormVisible = false;
},
handleRowClick(row, column, event) {
this.$refs.multipleTable.clearSelection();
this.$refs.multipleTable.toggleRowSelection(row);
},
exChange(row, rowList) {
//this.listLoading = true;
var that = this;
if (rowList.length) {
that.expands = [];
if (row) {
that.expands.push(row.id); // id
}
} else {
that.expands = [];
}
},
//
getList(data) {
this.listLoading = true;
if (data != undefined) {
this.listQuery.SkipCount = (this.page - 1) * data.limit;
} else {
this.listQuery.SkipCount = (this.page - 1) * 15;
}
if (this.listQuery.billNum != "") {
this.listQuery.billNum = this.listQuery.billNum;
}
this.listQuery.partType = this.listQuery.partType;
this.listQuery.beginVin = this.listQuery.beginVin;
this.listQuery.endVin = this.listQuery.endVin;
this.listQuery.beginHostSN = this.listQuery.beginHostSN;
this.listQuery.endHostSN = this.listQuery.endHostSN;
var getdate5 = JSON.stringify(this.PrintTimeValue);
if (getdate5 != "[]") {
this.listQuery.beginPrintDate = this.PrintTimeValue
? this.PrintTimeValue[0] || undefined
: undefined;
this.listQuery.endPrintDate = this.PrintTimeValue
? this.PrintTimeValue[1] || undefined
: undefined;
} else {
this.listQuery.beginPrintDate = undefined;
this.listQuery.endPrintDate = undefined;
}
if (this.customerInfo.productLine != "") {
this.listQuery.ProductLine = this.customerInfo.productLine;
}
console.log(JSON.stringify(this.listQuery));
this.$axios
.posts(
"/api/newjit/MenBanPackingList/MenBanPackingList-List",
this.listQuery
)
.then((response) => {
this.list = response.items;
this.totalCount = response.totalCount;
setTimeout(() => {
//
this.listLoading = false;
}, 500);
})
.catch(() => {
this.listLoading = false;
});
},
//-
handleUpdate(row) {
this.isEdit = true;
if (this.multipleSelection.length != 1) {
this.$message({
message: "重新打印必须选择单行,不能多选!",
type: "warning",
});
return;
} else {
//this.fetchData(this.multipleSelection[0].id);
//
let beginVin1 = this.multipleSelection[0].beginVin1;
let endVin1 = this.multipleSelection[0].endVin1;
var params = {
printType: 1,
productLine: this.customerInfo.productLine,
beginVin: beginVin1,
endVin: endVin1,
};
console.log("门板打印-主界面传过来的值:" + JSON.stringify(params));
this.$axios
.posts("/api/newjit/bill-m100/print-menban-packing-list", params)
.then((response) => {
//alert(response.status);
const index = this.list.indexOf(row);
if (response.status === false) {
this.$message({
message: response.message,
type: "error",
});
return;
} else if (response.status === true) {
this.fileQuery.dataname = JSON.stringify(response.item);
console.log(
"门板-调用Handlers/Handler1.ashx?report=menban传的值:" +
JSON.stringify(this.fileQuery.dataname)
);
this.$axios
.posts(
"/Handlers/Handler1.ashx?report=menban",
qs.stringify(this.fileQuery)
)
.then((response) => {
this.printpdf(response); //
});
}
})
.catch(() => {});
}
},
//-
handleDelete(row) {
//
var params = [];
let myalert = ""; //使
if (row) {
//
params.push(row.id);
myalert = row.name;
} else {
//
this.multipleSelection.forEach((element) => {
let id = element.id;
params.push(id);
});
myalert = "选中项";
}
this.$confirm("是否作废" + myalert + "?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.$axios
.posts("/api/newjit/MenBanPackingList/delete", params)
.then((response) => {
const index = this.list.indexOf(row);
this.$notify({
title: "成功",
message: "作废成功",
type: "success",
duration: 2000,
});
this.getList();
});
})
.catch(() => {
this.$message({
type: "info",
message: "已取消操作",
});
});
},
fetchData(id) {
//
this.$axios
.gets("/api/newjit/assembly-cfg-erp/" + id)
.then((response) => {
this.form = response.item;
//this.details = response.item.details;
//console.log(this.details);
});
},
/** 重置按钮操作 */
resetQuery(refName) {
this.$refs[refName].resetFields();
this.PrintTimeValue = [];
this.handleQuery();
this.getProductLine();
},
/** 搜索按钮操作 */
handleQuery() {
this.listQuery.SkipCount = 1;
//this.getList();
},
selectValue(params) {
//
this.versionValue = params.value;
this.getList();
},
selectOptionsChange(item) {
this.getList();
},
/** 刷新列表 */
handleHandle(data) {
if (data.type !== "edit") {
this.getList();
}
},
/** 格式化字段 */
fieldFormatter(row, column) {
if (column.property === "billStatus") {
return { 1: "未匹配", 2: "未打印", 3: "已打印" }[row[column.property]];
}
if (column.property == "printDate" || column.property == "receiveTime") {
var date = row[column.property];
if (date == undefined) {
return "";
}
return moment(date).format("YYYY-MM-DD HH:mm:ss");
}
return row[column.property] || "--";
},
roleFilter(type) {
return projectTypeKeyValue[type];
},
//
handleFilter() {
this.page = 1;
this.getList();
},
sortChange(data) {
const { prop, order } = data;
if (!prop || !order) {
this.handleFilter();
return;
}
this.listQuery.Sorting = prop + " " + order;
this.handleFilter();
},
handleSelectionChange(val) {
this.multipleSelection = val;
},
/** 通过回调控制style */
cellStyle({ row, column, rowIndex, columnIndex }) {
if (column.property === "qty") {
return { textAlign: "right" };
} else {
return { textAlign: "left" };
}
},
/** 通过回调控制表头style */
headerRowStyle({ row, column, rowIndex, columnIndex }) {
if (column.property === "qty") {
return { textAlign: "right", background: "#FAFAFA" };
} else {
return { textAlign: "left", background: "#FAFAFA" };
}
},
handleRowClick(row, column, event) {
//this.$refs.multipleTable.clearSelection();
this.$refs.multipleTable.toggleRowSelection(row);
},
closeDialog() {},
},
};
</script>
<style lang="scss" scoped>
@import "../../../pg-fis/styles/crmtable.scss";
.divider1 {
margin: 0;
}
.divider2 {
margin: 10px;
margin-bottom: 20px;
width: 95%;
}
.label1 {
margin-left: 5px;
margin-right: 5px;
}
</style>

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

@ -1,746 +0,0 @@
<!--总成模块信息管理页-->
<template>
<div class="cr-body-content">
<div ref="box">
<flexbox class="content-header">
<el-form
:model="listQuery"
ref="queryForm"
v-show="showSearch"
:inline="true"
>
<el-form-item>
<el-col :span="12">
<el-form-item prop="billNum" label="装箱单号">
<el-input
v-model="listQuery.billNum"
placeholder=""
clearable
size="small"
style="width: 140px"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="partType" label="零件类型">
<el-input
v-model="listQuery.partType"
placeholder=""
clearable
size="small"
style="width: 140px"
/>
</el-form-item>
</el-col>
</el-form-item>
<el-form-item label="大众顺序号">
<el-col :span="11">
<el-form-item prop="beginHostSN">
<el-input
v-model="listQuery.beginHostSN"
placeholder=""
clearable
size="small"
style="width: 170px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
</el-col>
<el-col class="line" :span="2">-</el-col>
<el-col :span="11">
<el-form-item prop="endHostSN">
<el-input
v-model="listQuery.endHostSN"
placeholder=""
clearable
size="small"
style="width: 170px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
</el-col>
</el-form-item>
<el-form-item label="底盘号码">
<el-col :span="11">
<el-form-item prop="beginVin">
<el-input
v-model="listQuery.beginVin"
placeholder=""
clearable
size="small"
style="width: 140px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
</el-col>
<el-col class="line" :span="2">-</el-col>
<el-col :span="11">
<el-form-item prop="endVin">
<el-input
v-model="listQuery.endVin"
placeholder=""
clearable
size="small"
style="width: 140px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
</el-col>
</el-form-item>
<el-form-item label="打印日期">
<el-date-picker
v-model="PrintTimeValue"
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 style="margin-top: -20px">
<el-button
type="primary"
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
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>
</flexbox>
<el-table
ref="multipleTable"
v-loading="listLoading"
element-loading-text="拼命加载中..."
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="expand" prop="details" label="详表">
<template slot-scope="scope">
<el-table :data="scope.row.details">
<el-table-column prop="knr" label="KNR订单号"></el-table-column>
<el-table-column prop="vin" label="底牌号"></el-table-column>
<el-table-column
prop="hostSN"
label="大众顺序号"
></el-table-column>
<el-table-column
prop="partCode"
label="柱护板零件号"
></el-table-column>
<el-table-column
prop="partCode2"
label="柱护板零件号2"
></el-table-column>
</el-table>
</template>
</el-table-column>
<el-table-column
v-for="(item, index) in getDefaultField"
:key="index"
:prop="item.prop"
:label="item.label"
:min-width="item.width"
:formatter="fieldFormatter"
sortable="custom"
show-overflow-tooltip
:gutter="0"
>
<template slot="header" slot-scope="scope">
{{ scope.column.label }}
</template>
</el-table-column>
</el-table>
<div class="table-footer">
<!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"-->
<pagination
v-show="totalCount > 0"
:total="totalCount"
style="margin-bottom: -5px; float: right"
:page.sync="page"
:limit.sync="listQuery.MaxResultCount"
@pagination="getList"
/>
</div>
</div>
</div>
</template>
<script>
import Pagination from "@/components/Pagination";
import permission from "@/directive/permission/index.js";
import CRMTableHead from "../../components/CRMTableHead";
import importExcel from "@/components/ImportExcel-vw";
import Lockr from "lockr";
import { mapGetters } from "vuex";
import moment from "moment";
import Detail from "./detail.vue";
import { downloadFile } from "@/utils/crmindex.js";
import qs from "qs";
export default {
name: "M100Online-MB",
components: { Pagination, CRMTableHead, importExcel, Detail },
directives: { permission },
filters: {
IsCustomerSignFilter(status) {
//
const statusMap = {
true: "是",
false: "否",
};
return statusMap[status];
},
},
props: {
customerInfosZHB: {
type: Array,
default: () => {
return [];
},
},
},
data() {
const validVersion = (rule, value, callback) => {
let numberReg = /^\d{6}$/;
if (!numberReg.test(value)) {
callback(new Error("只能为6位数字!"));
} else {
callback();
}
};
return {
crmType: "M100Online-MB",
getRowKeys: (row) => {
return row.id; //id
},
expands: [], //id
PrintTimeValue: [],
activeNames: ["1"],
multipleSelection: [],
valueSelect: "",
customerInfos: [],
dialogOptions: [],
versionValue: "",
searchContent: "", //
showExcelImport: false,
form: {},
drawer: false,
list: null,
totalCount: 0,
listLoading: true,
customerInfo: {
printType: "1",
productLine: "",
},
//
filterObj: {
type: Object,
default: () => {
return {};
},
},
listQuery: {
SkipCount: 0,
MaxResultCount: 15,
billNum: undefined,
partType: undefined,
beginVin: undefined,
endVin: undefined,
beginHostSN: undefined,
endHostSN: undefined,
beginPrintDate: undefined,
endPrintDate: undefined,
},
listPLQuery: {
BillType: 2,
//UserId: this.userinfo.UserId,
},
hostSNQuery: {
productLine: undefined,
},
hostCheckQuery: {
printType: undefined, //0:;1:;2:;
productLine: undefined,
beginHostSN: undefined,
endHostSN: undefined,
beginVin: undefined,
endVin: undefined,
},
hostPrintQuery: {
printType: undefined, //0:;1:;2:;
productLine: undefined,
beginHostSN: undefined,
endHostSN: undefined,
beginVin: undefined,
endVin: undefined,
},
fileQuery: {
dataname: undefined,
},
form: {
details: [],
},
page: 1,
//
showSearch: true,
drawer: false,
dialogFormVisible: false,
formTitle: "",
isEdit: false,
formLoading: false,
tableHeight: document.documentElement.clientHeight - 335,
tableHeightMB: document.documentElement.clientHeight - 300,
detailTableHeight: 250,
details: [], //
PLList: [], //线
isShowHostSN: false,
isShowVin: false,
isShowState: true,
};
},
mounted() {
this.$nextTick(() => {
var offsetHei = document.documentElement.clientHeight;
//console.log(offsetHei);
let boxH = this.$refs.box.offsetHeight;
this.tableHeight = offsetHei - boxH - 57 - 79; //57footer79
//this.tableHeight = offsetHei -260
});
},
created() {
this.getList();
},
watch: {
customerInfosZHB: {
handler(newVal) {
console.log("柱护板-接收的父组件的值:" + JSON.stringify(newVal));
if (newVal == "" || newVal == "undefined") {
//TODO
} else {
newVal.forEach((element) => {
this.customerInfo.printType = "1";
this.customerInfo.productLine = element.ProductLine;
});
console.log("柱护板监控传值:" + JSON.stringify(this.customerInfo));
if (this.customerInfo.productLine != "") {
this.getList();
}
}
},
immediate: true,
},
},
computed: {
getDefaultField() {
var tempsTabs = [];
tempsTabs.push({ label: "装箱单号", prop: "billNum", width: 140 });
tempsTabs.push({ label: "单据顺号", prop: "billSerialNum", width: 120 });
tempsTabs.push({
label: "左或右",
prop: "billLocation",
width: 150,
});
tempsTabs.push({
label: "供应商厂家代码",
prop: "providerCode",
width: 150,
});
tempsTabs.push({
label: "零件类型",
prop: "partType",
width: 180,
});
tempsTabs.push({
label: "器具容量",
prop: "capacity",
width: 150,
});
tempsTabs.push({
label: "打印日期",
prop: "printDate",
width: 180,
});
tempsTabs.push({
label: "打印类型",
prop: "printType",
width: 120,
});
tempsTabs.push({
label: "生产线",
prop: "productLine",
width: 120,
});
tempsTabs.push({
label: "起底盘号",
prop: "beginVin",
width: 160,
});
tempsTabs.push({
label: "止底盘号",
prop: "endVin",
width: 160,
});
return tempsTabs;
},
...mapGetters(["userInfo"]), //
},
methods: {
//base64dataurlbase64
dataURLtoBlob(dataurl) {
var bstr = atob(dataurl.substring(dataurl.indexOf(",") + 1));
var n = bstr.length;
var u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new Blob([u8arr], { type: "application/pdf" });
},
doPrint(val) {
var ordonnance = document.getElementById(val).contentWindow;
setTimeout(() => {
// window.print()
ordonnance.print();
this.pdfLoading = false;
}, 100);
},
printpdf(dataResult) {
//dataResultbase64
let blob = this.dataURLtoBlob(dataResult);
var date = new Date().getTime();
var ifr = document.createElement("iframe");
ifr.style.frameborder = "no";
ifr.style.display = "none";
ifr.style.pageBreakBefore = "always";
ifr.setAttribute("id", "printPdf" + date);
ifr.setAttribute("name", "printPdf" + date);
ifr.src = window.URL.createObjectURL(blob);
document.body.appendChild(ifr);
this.doPrint("printPdf" + date);alert("ifr.src:"+JSON.stringify(ifr.src))
window.URL.revokeObjectURL(ifr.src); // URL
this.dialogFormVisible = false;
},
handleRowClick(row, column, event) {
this.$refs.multipleTable.clearSelection();
this.$refs.multipleTable.toggleRowSelection(row);
},
exChange(row, rowList) {
//this.listLoading = true;
var that = this;
if (rowList.length) {
that.expands = [];
if (row) {
that.expands.push(row.id); // id
}
} else {
that.expands = [];
}
},
//
getList(data) {
this.listLoading = true;
if (data != undefined) {
this.listQuery.SkipCount = (this.page - 1) * data.limit;
} else {
this.listQuery.SkipCount = (this.page - 1) * 15;
}
if (this.listQuery.billNum != "") {
this.listQuery.billNum = this.listQuery.billNum;
}
this.listQuery.partType = this.listQuery.partType;
this.listQuery.beginVin = this.listQuery.beginVin;
this.listQuery.endVin = this.listQuery.endVin;
this.listQuery.beginHostSN = this.listQuery.beginHostSN;
this.listQuery.endHostSN = this.listQuery.endHostSN;
var getdate5 = JSON.stringify(this.PrintTimeValue);
if (getdate5 != "[]") {
this.listQuery.beginPrintDate = this.PrintTimeValue
? this.PrintTimeValue[0] || undefined
: undefined;
this.listQuery.endPrintDate = this.PrintTimeValue
? this.PrintTimeValue[1] || undefined
: undefined;
} else {
this.listQuery.beginPrintDate = undefined;
this.listQuery.endPrintDate = undefined;
}
if (this.customerInfo.productLine != "") {
this.listQuery.ProductLine = this.customerInfo.productLine;
}
console.log("柱护板-列表查询条件:" + JSON.stringify(this.listQuery));
this.$axios
.posts(
"/api/newjit/ZhuHuBanPackingList/ZhuHuBanPackingList-List",
this.listQuery
)
.then((response) => {
this.list = response.items;
this.totalCount = response.totalCount;
setTimeout(() => {
//
this.listLoading = false;
}, 500);
})
.catch(() => {
this.listLoading = false;
});
},
//-
handleUpdate(row) {
this.isEdit = true;
if (this.multipleSelection.length != 1) {
this.$message({
message: "重新打印必须选择单行,不能多选!",
type: "warning",
});
return;
} else {
//this.fetchData(this.multipleSelection[0].id);
//
let beginVin1 = this.multipleSelection[0].beginVin1;
let endVin1 = this.multipleSelection[0].endVin1;
var params = {
printType: 1,
productLine: this.customerInfo.productLine,
beginVin: beginVin1,
endVin: endVin1,
};
console.log("柱护版-主界面传过来的值:" + JSON.stringify(params));
this.$axios
.posts("/api/newjit/bill-m100/print-zhuhuban-packing-list", params)
.then((response) => {
console.log("柱护版-打印返回的状态:" + response.status);
const index = this.list.indexOf(row);
if (response.status === false) {
this.$message({
message: response.message,
type: "error",
});
return;
} else if (response.status === true) {
this.fileQuery.dataname = JSON.stringify(response.item);
console.log(
"柱板-调用Handlers/Handler1.ashx?report=zhuhuban传的值:" +
JSON.stringify(this.fileQuery.dataname)
);
this.$axios
.posts(
"/Handlers/Handler1.ashx?report=zhuhuban",
qs.stringify(this.fileQuery)
)
.then((response) => {
this.printpdf(response); //
});
}
})
.catch(() => {});
}
},
//-
handleDelete(row) {
//
var params = [];
let myalert = ""; //使
if (row) {
//
params.push(row.id);
myalert = row.name;
} else {
//
this.multipleSelection.forEach((element) => {
let id = element.id;
params.push(id);
});
myalert = "选中项";
}
this.$confirm("是否作废" + myalert + "?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.$axios
.posts("/api/newjit/ZhuHuBanPackingList/delete", params)
.then((response) => {
const index = this.list.indexOf(row);
this.$notify({
title: "成功",
message: "作废成功",
type: "success",
duration: 2000,
});
this.getList();
});
})
.catch(() => {
this.$message({
type: "info",
message: "已取消操作",
});
});
},
fetchData(id) {
//
this.$axios
.gets("/api/newjit/assembly-cfg-erp/" + id)
.then((response) => {
this.form = response.item;
//this.details = response.item.details;
//console.log(this.details);
});
},
/** 重置按钮操作 */
resetQuery(refName) {
this.$refs[refName].resetFields();
this.PrintTimeValue = [];
this.handleQuery();
this.getProductLine();
},
/** 搜索按钮操作 */
handleQuery() {
this.listQuery.SkipCount = 1;
//this.getList();
},
selectValue(params) {
//
this.versionValue = params.value;
this.getList();
},
selectOptionsChange(item) {
this.getList();
},
/** 刷新列表 */
handleHandle(data) {
if (data.type !== "edit") {
this.getList();
}
},
/** 格式化字段 */
fieldFormatter(row, column) {
if (column.property === "billStatus") {
return { 1: "未匹配", 2: "未打印", 3: "已打印" }[row[column.property]];
}
if (column.property == "printDate" || column.property == "receiveTime") {
var date = row[column.property];
if (date == undefined) {
return "";
}
return moment(date).format("YYYY-MM-DD HH:mm:ss");
}
return row[column.property] || "--";
},
roleFilter(type) {
return projectTypeKeyValue[type];
},
//
handleFilter() {
this.page = 1;
this.getList();
},
sortChange(data) {
const { prop, order } = data;
if (!prop || !order) {
this.handleFilter();
return;
}
this.listQuery.Sorting = prop + " " + order;
this.handleFilter();
},
handleSelectionChange(val) {
this.multipleSelection = val;
},
/** 通过回调控制style */
cellStyle({ row, column, rowIndex, columnIndex }) {
if (column.property === "qty") {
return { textAlign: "right" };
} else {
return { textAlign: "left" };
}
},
/** 通过回调控制表头style */
headerRowStyle({ row, column, rowIndex, columnIndex }) {
if (column.property === "qty") {
return { textAlign: "right", background: "#FAFAFA" };
} else {
return { textAlign: "left", background: "#FAFAFA" };
}
},
handleRowClick(row, column, event) {
//this.$refs.multipleTable.clearSelection();
this.$refs.multipleTable.toggleRowSelection(row);
},
closeDialog() {},
},
};
</script>
<style lang="scss" scoped>
@import "../../../pg-fis/styles/crmtable.scss";
.divider1 {
margin: 0;
}
.divider2 {
margin: 10px;
margin-bottom: 20px;
width: 95%;
}
.label1 {
margin-left: 5px;
margin-right: 5px;
}
</style>

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

File diff suppressed because it is too large

683
vue/src/views/pg-fis/basedate/m100Online/~old/detailMB.vue

@ -0,0 +1,683 @@
<!--总成模块信息管理页-->
<template>
<div class="cr-body-content">
<div ref="box">
<flexbox class="content-header">
<el-form :model="listQuery" ref="queryForm" v-show="showSearch" :inline="true">
<el-form-item>
<el-col :span="12">
<el-form-item prop="billNum" label="装箱单号">
<el-input v-model="listQuery.billNum" placeholder="" clearable size="small" style="width: 140px" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="partType" label="零件类型">
<el-input v-model="listQuery.partType" placeholder="" clearable size="small" style="width: 140px" />
</el-form-item>
</el-col>
</el-form-item>
<el-form-item label="大众顺序号">
<el-col :span="11">
<el-form-item prop="beginHostSN">
<el-input v-model="listQuery.beginHostSN" placeholder="" clearable size="small" style="width: 170px"
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
<el-col class="line" :span="2">-</el-col>
<el-col :span="11">
<el-form-item prop="endHostSN">
<el-input v-model="listQuery.endHostSN" placeholder="" clearable size="small" style="width: 170px"
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
</el-form-item>
<el-form-item label="底盘号码">
<el-col :span="11">
<el-form-item prop="beginVin">
<el-input v-model="listQuery.beginVin" placeholder="" clearable size="small" style="width: 140px"
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
<el-col class="line" :span="2">-</el-col>
<el-col :span="11">
<el-form-item prop="endVin">
<el-input v-model="listQuery.endVin" placeholder="" clearable size="small" style="width: 140px"
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
</el-form-item>
<el-form-item label="打印日期">
<el-date-picker v-model="PrintTimeValue" 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 style="margin-top: -20px">
<el-button type="primary" 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 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>
</flexbox>
<el-table ref="multipleTable" v-loading="listLoading" element-loading-text="拼命加载中..." 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="expand" prop="details" label="详表">
<template slot-scope="scope">
<el-table :data="scope.row.details">
<el-table-column prop="knr" label="KNR订单号"></el-table-column>
<el-table-column prop="vin" label="底牌号"></el-table-column>
<el-table-column prop="hostSN" label="大众顺序号"></el-table-column>
<el-table-column prop="vehicleModel_DoorPlankCode" 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>
</template>
</el-table-column>
<el-table-column v-for="(item, index) in getDefaultField" :key="index" :prop="item.prop" :label="item.label"
:min-width="item.width" :formatter="fieldFormatter" sortable="custom" show-overflow-tooltip :gutter="0">
<template slot="header" slot-scope="scope">
{{ scope.column.label }}
</template>
</el-table-column>
</el-table>
<div class="table-footer">
<!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"-->
<pagination v-show="totalCount > 0" :total="totalCount" style="margin-bottom: -5px; float: right" :page.sync="page"
:limit.sync="listQuery.MaxResultCount" @pagination="getList" />
</div>
</div>
</div>
</template>
<script>
import Pagination from "@/components/Pagination";
import permission from "@/directive/permission/index.js";
import CRMTableHead from "../../components/CRMTableHead";
import importExcel from "@/components/ImportExcel-vw";
import Lockr from "lockr";
import {
mapGetters
} from "vuex";
import moment from "moment";
import Detail from "./detail.vue";
import {
downloadFile
} from "@/utils/crmindex.js";
import qs from "qs";
export default {
name: "M100Online-MB",
components: {
Pagination,
CRMTableHead,
importExcel,
Detail
},
directives: {
permission
},
filters: {
IsCustomerSignFilter(status) {
//
const statusMap = {
true: "是",
false: "否",
};
return statusMap[status];
},
},
props: {
customerInfosMB: {
type: Array,
default: () => {
return [];
},
},
},
data() {
const validVersion = (rule, value, callback) => {
let numberReg = /^\d{6}$/;
if (!numberReg.test(value)) {
callback(new Error("只能为6位数字!"));
} else {
callback();
}
};
return {
crmType: "M100Online-MB",
getRowKeys: (row) => {
return row.id; //id
},
expands: [], //id
PrintTimeValue: [],
activeNames: ["1"],
multipleSelection: [],
valueSelect: "",
customerInfos: [],
dialogOptions: [],
versionValue: "",
searchContent: "", //
showExcelImport: false,
form: {},
drawer: false,
list: null,
totalCount: 0,
listLoading: true,
customerInfo: {
printType: "",
productLine: "",
},
//
filterObj: {
type: Object,
default: () => {
return {};
},
},
listQuery: {
SkipCount: 0,
MaxResultCount: 15,
billNum: undefined,
partType: undefined,
beginVin: undefined,
endVin: undefined,
beginHostSN: undefined,
endHostSN: undefined,
beginPrintDate: undefined,
endPrintDate: undefined,
},
listPLQuery: {
BillType: 2,
//UserId: this.userinfo.UserId,
},
hostSNQuery: {
productLine: undefined,
},
hostCheckQuery: {
printType: undefined, //0:;1:;2:;
productLine: undefined,
beginHostSN: undefined,
endHostSN: undefined,
beginVin: undefined,
endVin: undefined,
},
hostPrintQuery: {
printType: undefined, //0:;1:;2:;
productLine: undefined,
beginHostSN: undefined,
endHostSN: undefined,
beginVin: undefined,
endVin: undefined,
},
fileQuery: {
dataname: undefined,
},
form: {
details: [],
},
page: 1,
//
showSearch: true,
drawer: false,
dialogFormVisible: false,
formTitle: "",
isEdit: false,
formLoading: false,
tableHeight: document.documentElement.clientHeight - 335,
tableHeightMB: document.documentElement.clientHeight - 300,
detailTableHeight: 250,
details: [], //
PLList: [], //线
isShowHostSN: false,
isShowVin: false,
isShowState: true,
};
},
mounted() {
this.$nextTick(() => {
var offsetHei = document.documentElement.clientHeight;
//console.log(offsetHei);
let boxH = this.$refs.box.offsetHeight;
this.tableHeight = offsetHei - boxH - 57 - 79; //57footer79
//this.tableHeight = offsetHei -260
});
},
created() {
this.getList();
},
watch: {
customerInfosMB: {
handler(newVal) {
console.log("门板-接收的父组件的值:" + JSON.stringify(newVal));
if (newVal == "" || newVal == "undefined") {
//TODO
} else {
newVal.forEach((element) => {
this.customerInfo.printType = element.PrintType;
this.customerInfo.productLine = element.ProductLine;
});
if (this.customerInfo.productLine != "") {
this.getList();
}
}
},
immediate: true,
},
},
computed: {
getDefaultField() {
var tempsTabs = [];
tempsTabs.push({
label: "装箱单号",
prop: "billNum",
width: 140
});
tempsTabs.push({
label: "单据顺号",
prop: "billSerialNum",
width: 120
});
tempsTabs.push({
label: "左或右",
prop: "billLocation",
width: 150,
});
tempsTabs.push({
label: "供应商厂家代码",
prop: "providerCode",
width: 150,
});
tempsTabs.push({
label: "零件类型",
prop: "partType",
width: 180,
});
tempsTabs.push({
label: "器具容量",
prop: "capacity",
width: 150,
});
tempsTabs.push({
label: "打印日期",
prop: "printDate",
width: 180,
});
tempsTabs.push({
label: "打印类型",
prop: "printType",
width: 120,
});
tempsTabs.push({
label: "生产线",
prop: "productLine",
width: 120,
});
tempsTabs.push({
label: "起底盘号",
prop: "beginVin",
width: 160,
});
tempsTabs.push({
label: "止底盘号",
prop: "endVin",
width: 160,
});
return tempsTabs;
},
...mapGetters(["userInfo"]), //
},
methods: {
//base64dataurlbase64
dataURLtoBlob(dataurl) {
var bstr = atob(dataurl.substring(dataurl.indexOf(",") + 1));
var n = bstr.length;
var u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new Blob([u8arr], {
type: "application/pdf"
});
},
doPrint(val) {
var ordonnance = document.getElementById(val).contentWindow;
setTimeout(() => {
// window.print()
ordonnance.print();
this.pdfLoading = false;
}, 100);
},
printpdf(dataResult) {
//dataResultbase64
let blob = this.dataURLtoBlob(dataResult);
var date = new Date().getTime();
var ifr = document.createElement("iframe");
ifr.style.frameborder = "no";
ifr.style.display = "none";
ifr.style.pageBreakBefore = "always";
ifr.setAttribute("id", "printPdf" + date);
ifr.setAttribute("name", "printPdf" + date);
ifr.src = window.URL.createObjectURL(blob);
document.body.appendChild(ifr);
this.doPrint("printPdf" + date);
window.URL.revokeObjectURL(ifr.src); // URL
this.dialogFormVisible = false;
},
handleRowClick(row, column, event) {
this.$refs.multipleTable.clearSelection();
this.$refs.multipleTable.toggleRowSelection(row);
},
exChange(row, rowList) {
//this.listLoading = true;
var that = this;
if (rowList.length) {
that.expands = [];
if (row) {
that.expands.push(row.id); // id
}
} else {
that.expands = [];
}
},
//
getList(data) {
this.listLoading = true;
if (data != undefined) {
this.listQuery.SkipCount = (this.page - 1) * data.limit;
} else {
this.listQuery.SkipCount = (this.page - 1) * 15;
}
if (this.listQuery.billNum != "") {
this.listQuery.billNum = this.listQuery.billNum;
}
this.listQuery.partType = this.listQuery.partType;
this.listQuery.beginVin = this.listQuery.beginVin;
this.listQuery.endVin = this.listQuery.endVin;
this.listQuery.beginHostSN = this.listQuery.beginHostSN;
this.listQuery.endHostSN = this.listQuery.endHostSN;
var getdate5 = JSON.stringify(this.PrintTimeValue);
if (getdate5 != "[]") {
this.listQuery.beginPrintDate = this.PrintTimeValue ?
this.PrintTimeValue[0] || undefined :
undefined;
this.listQuery.endPrintDate = this.PrintTimeValue ?
this.PrintTimeValue[1] || undefined :
undefined;
} else {
this.listQuery.beginPrintDate = undefined;
this.listQuery.endPrintDate = undefined;
}
if (this.customerInfo.productLine != "") {
this.listQuery.ProductLine = this.customerInfo.productLine;
}
console.log(JSON.stringify(this.listQuery));
this.$axios
.posts(
"/api/newjit/MenBanPackingList/MenBanPackingList-List",
this.listQuery
)
.then((response) => {
this.list = response.items;
this.totalCount = response.totalCount;
setTimeout(() => {
//
this.listLoading = false;
}, 500);
})
.catch(() => {
this.listLoading = false;
});
},
//-
handleUpdate(row) {
this.isEdit = true;
if (this.multipleSelection.length != 1) {
this.$message({
message: "重新打印必须选择单行,不能多选!",
type: "warning",
});
return;
} else {
//this.fetchData(this.multipleSelection[0].id);
//
let beginVin1 = this.multipleSelection[0].beginVin1;
let endVin1 = this.multipleSelection[0].endVin1;
var params = {
printType: 1,
productLine: this.customerInfo.productLine,
beginVin: beginVin1,
endVin: endVin1,
};
console.log("门板打印-主界面传过来的值:" + JSON.stringify(params));
this.$axios
.posts("/api/newjit/bill-m100/print-menban-packing-list", params)
.then((response) => {
//alert(response.status);
const index = this.list.indexOf(row);
if (response.status === false) {
this.$message({
message: response.message,
type: "error",
});
return;
} else if (response.status === true) {
this.fileQuery.dataname = JSON.stringify(response.item);
console.log(
"门板-调用Handlers/Handler1.ashx?report=menban传的值:" +
JSON.stringify(this.fileQuery.dataname)
);
this.$axios
.posts(
"/Handlers/Handler1.ashx?report=menban",
qs.stringify(this.fileQuery)
)
.then((response) => {
this.printpdf(response); //
});
}
})
.catch(() => {});
}
},
//-
handleDelete(row) {
//
var params = [];
let myalert = ""; //使
if (row) {
//
params.push(row.id);
myalert = row.name;
} else {
//
this.multipleSelection.forEach((element) => {
let id = element.id;
params.push(id);
});
myalert = "选中项";
}
this.$confirm("是否作废" + myalert + "?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.$axios
.posts("/api/newjit/MenBanPackingList/delete", params)
.then((response) => {
const index = this.list.indexOf(row);
this.$notify({
title: "成功",
message: "作废成功",
type: "success",
duration: 2000,
});
this.getList();
});
})
.catch(() => {
this.$message({
type: "info",
message: "已取消操作",
});
});
},
fetchData(id) {
//
this.$axios
.gets("/api/newjit/assembly-cfg-erp/" + id)
.then((response) => {
this.form = response.item;
//this.details = response.item.details;
//console.log(this.details);
});
},
/** 重置按钮操作 */
resetQuery(refName) {
this.$refs[refName].resetFields();
this.PrintTimeValue = [];
this.handleQuery();
this.getProductLine();
},
/** 搜索按钮操作 */
handleQuery() {
this.listQuery.SkipCount = 1;
//this.getList();
},
selectValue(params) {
//
this.versionValue = params.value;
this.getList();
},
selectOptionsChange(item) {
this.getList();
},
/** 刷新列表 */
handleHandle(data) {
if (data.type !== "edit") {
this.getList();
}
},
/** 格式化字段 */
fieldFormatter(row, column) {
if (column.property === "billStatus") {
return {
1: "未匹配",
2: "未打印",
3: "已打印"
} [row[column.property]];
}
if (column.property == "printDate" || column.property == "receiveTime") {
var date = row[column.property];
if (date == undefined) {
return "";
}
return moment(date).format("YYYY-MM-DD HH:mm:ss");
}
return row[column.property] || "--";
},
roleFilter(type) {
return projectTypeKeyValue[type];
},
//
handleFilter() {
this.page = 1;
this.getList();
},
sortChange(data) {
const {
prop,
order
} = data;
if (!prop || !order) {
this.handleFilter();
return;
}
this.listQuery.Sorting = prop + " " + order;
this.handleFilter();
},
handleSelectionChange(val) {
this.multipleSelection = val;
},
/** 通过回调控制style */
cellStyle({
row,
column,
rowIndex,
columnIndex
}) {
if (column.property === "qty") {
return {
textAlign: "right"
};
} else {
return {
textAlign: "left"
};
}
},
/** 通过回调控制表头style */
headerRowStyle({
row,
column,
rowIndex,
columnIndex
}) {
if (column.property === "qty") {
return {
textAlign: "right",
background: "#FAFAFA"
};
} else {
return {
textAlign: "left",
background: "#FAFAFA"
};
}
},
handleRowClick(row, column, event) {
//this.$refs.multipleTable.clearSelection();
this.$refs.multipleTable.toggleRowSelection(row);
},
closeDialog() {},
},
};
</script>
<style lang="scss" scoped>
@import "../../../pg-fis/styles/crmtable.scss";
.divider1 {
margin: 0;
}
.divider2 {
margin: 10px;
margin-bottom: 20px;
width: 95%;
}
.label1 {
margin-left: 5px;
margin-right: 5px;
}
</style>

681
vue/src/views/pg-fis/basedate/m100Online/~old/detailZHB.vue

@ -0,0 +1,681 @@
<!--总成模块信息管理页-->
<template>
<div class="cr-body-content">
<div ref="box">
<flexbox class="content-header">
<el-form :model="listQuery" ref="queryForm" v-show="showSearch" :inline="true">
<el-form-item>
<el-col :span="12">
<el-form-item prop="billNum" label="装箱单号">
<el-input v-model="listQuery.billNum" placeholder="" clearable size="small" style="width: 140px" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="partType" label="零件类型">
<el-input v-model="listQuery.partType" placeholder="" clearable size="small" style="width: 140px" />
</el-form-item>
</el-col>
</el-form-item>
<el-form-item label="大众顺序号">
<el-col :span="11">
<el-form-item prop="beginHostSN">
<el-input v-model="listQuery.beginHostSN" placeholder="" clearable size="small" style="width: 170px"
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
<el-col class="line" :span="2">-</el-col>
<el-col :span="11">
<el-form-item prop="endHostSN">
<el-input v-model="listQuery.endHostSN" placeholder="" clearable size="small" style="width: 170px"
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
</el-form-item>
<el-form-item label="底盘号码">
<el-col :span="11">
<el-form-item prop="beginVin">
<el-input v-model="listQuery.beginVin" placeholder="" clearable size="small" style="width: 140px"
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
<el-col class="line" :span="2">-</el-col>
<el-col :span="11">
<el-form-item prop="endVin">
<el-input v-model="listQuery.endVin" placeholder="" clearable size="small" style="width: 140px"
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
</el-form-item>
<el-form-item label="打印日期">
<el-date-picker v-model="PrintTimeValue" 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 style="margin-top: -20px">
<el-button type="primary" 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 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>
</flexbox>
<el-table ref="multipleTable" v-loading="listLoading" element-loading-text="拼命加载中..." 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="expand" prop="details" label="详表">
<template slot-scope="scope">
<el-table :data="scope.row.details">
<el-table-column prop="knr" label="KNR订单号"></el-table-column>
<el-table-column prop="vin" label="底牌号"></el-table-column>
<el-table-column prop="hostSN" label="大众顺序号"></el-table-column>
<el-table-column prop="partCode" label="柱护板零件号"></el-table-column>
<el-table-column prop="partCode2" label="柱护板零件号2"></el-table-column>
</el-table>
</template>
</el-table-column>
<el-table-column v-for="(item, index) in getDefaultField" :key="index" :prop="item.prop" :label="item.label"
:min-width="item.width" :formatter="fieldFormatter" sortable="custom" show-overflow-tooltip :gutter="0">
<template slot="header" slot-scope="scope">
{{ scope.column.label }}
</template>
</el-table-column>
</el-table>
<div class="table-footer">
<!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"-->
<pagination v-show="totalCount > 0" :total="totalCount" style="margin-bottom: -5px; float: right" :page.sync="page"
:limit.sync="listQuery.MaxResultCount" @pagination="getList" />
</div>
</div>
</div>
</template>
<script>
import Pagination from "@/components/Pagination";
import permission from "@/directive/permission/index.js";
import CRMTableHead from "../../components/CRMTableHead";
import importExcel from "@/components/ImportExcel-vw";
import Lockr from "lockr";
import {
mapGetters
} from "vuex";
import moment from "moment";
import Detail from "./detail.vue";
import {
downloadFile
} from "@/utils/crmindex.js";
import qs from "qs";
export default {
name: "M100Online-MB",
components: {
Pagination,
CRMTableHead,
importExcel,
Detail
},
directives: {
permission
},
filters: {
IsCustomerSignFilter(status) {
//
const statusMap = {
true: "是",
false: "否",
};
return statusMap[status];
},
},
props: {
customerInfosZHB: {
type: Array,
default: () => {
return [];
},
},
},
data() {
const validVersion = (rule, value, callback) => {
let numberReg = /^\d{6}$/;
if (!numberReg.test(value)) {
callback(new Error("只能为6位数字!"));
} else {
callback();
}
};
return {
crmType: "M100Online-MB",
getRowKeys: (row) => {
return row.id; //id
},
expands: [], //id
PrintTimeValue: [],
activeNames: ["1"],
multipleSelection: [],
valueSelect: "",
customerInfos: [],
dialogOptions: [],
versionValue: "",
searchContent: "", //
showExcelImport: false,
form: {},
drawer: false,
list: null,
totalCount: 0,
listLoading: true,
customerInfo: {
printType: "1",
productLine: "",
},
//
filterObj: {
type: Object,
default: () => {
return {};
},
},
listQuery: {
SkipCount: 0,
MaxResultCount: 15,
billNum: undefined,
partType: undefined,
beginVin: undefined,
endVin: undefined,
beginHostSN: undefined,
endHostSN: undefined,
beginPrintDate: undefined,
endPrintDate: undefined,
},
listPLQuery: {
BillType: 2,
//UserId: this.userinfo.UserId,
},
hostSNQuery: {
productLine: undefined,
},
hostCheckQuery: {
printType: undefined, //0:;1:;2:;
productLine: undefined,
beginHostSN: undefined,
endHostSN: undefined,
beginVin: undefined,
endVin: undefined,
},
hostPrintQuery: {
printType: undefined, //0:;1:;2:;
productLine: undefined,
beginHostSN: undefined,
endHostSN: undefined,
beginVin: undefined,
endVin: undefined,
},
fileQuery: {
dataname: undefined,
},
form: {
details: [],
},
page: 1,
//
showSearch: true,
drawer: false,
dialogFormVisible: false,
formTitle: "",
isEdit: false,
formLoading: false,
tableHeight: document.documentElement.clientHeight - 335,
tableHeightMB: document.documentElement.clientHeight - 300,
detailTableHeight: 250,
details: [], //
PLList: [], //线
isShowHostSN: false,
isShowVin: false,
isShowState: true,
};
},
mounted() {
this.$nextTick(() => {
var offsetHei = document.documentElement.clientHeight;
//console.log(offsetHei);
let boxH = this.$refs.box.offsetHeight;
this.tableHeight = offsetHei - boxH - 57 - 79; //57footer79
//this.tableHeight = offsetHei -260
});
},
created() {
this.getList();
},
watch: {
customerInfosZHB: {
handler(newVal) {
console.log("柱护板-接收的父组件的值:" + JSON.stringify(newVal));
if (newVal == "" || newVal == "undefined") {
//TODO
} else {
newVal.forEach((element) => {
this.customerInfo.printType = "1";
this.customerInfo.productLine = element.ProductLine;
});
console.log("柱护板监控传值:" + JSON.stringify(this.customerInfo));
if (this.customerInfo.productLine != "") {
this.getList();
}
}
},
immediate: true,
},
},
computed: {
getDefaultField() {
var tempsTabs = [];
tempsTabs.push({
label: "装箱单号",
prop: "billNum",
width: 140
});
tempsTabs.push({
label: "单据顺号",
prop: "billSerialNum",
width: 120
});
tempsTabs.push({
label: "左或右",
prop: "billLocation",
width: 150,
});
tempsTabs.push({
label: "供应商厂家代码",
prop: "providerCode",
width: 150,
});
tempsTabs.push({
label: "零件类型",
prop: "partType",
width: 180,
});
tempsTabs.push({
label: "器具容量",
prop: "capacity",
width: 150,
});
tempsTabs.push({
label: "打印日期",
prop: "printDate",
width: 180,
});
tempsTabs.push({
label: "打印类型",
prop: "printType",
width: 120,
});
tempsTabs.push({
label: "生产线",
prop: "productLine",
width: 120,
});
tempsTabs.push({
label: "起底盘号",
prop: "beginVin",
width: 160,
});
tempsTabs.push({
label: "止底盘号",
prop: "endVin",
width: 160,
});
return tempsTabs;
},
...mapGetters(["userInfo"]), //
},
methods: {
//base64dataurlbase64
dataURLtoBlob(dataurl) {
var bstr = atob(dataurl.substring(dataurl.indexOf(",") + 1));
var n = bstr.length;
var u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new Blob([u8arr], {
type: "application/pdf"
});
},
doPrint(val) {
var ordonnance = document.getElementById(val).contentWindow;
setTimeout(() => {
// window.print()
ordonnance.print();
this.pdfLoading = false;
}, 100);
},
printpdf(dataResult) {
//dataResultbase64
let blob = this.dataURLtoBlob(dataResult);
var date = new Date().getTime();
var ifr = document.createElement("iframe");
ifr.style.frameborder = "no";
ifr.style.display = "none";
ifr.style.pageBreakBefore = "always";
ifr.setAttribute("id", "printPdf" + date);
ifr.setAttribute("name", "printPdf" + date);
ifr.src = window.URL.createObjectURL(blob);
document.body.appendChild(ifr);
this.doPrint("printPdf" + date);
alert("ifr.src:" + JSON.stringify(ifr.src))
window.URL.revokeObjectURL(ifr.src); // URL
this.dialogFormVisible = false;
},
handleRowClick(row, column, event) {
this.$refs.multipleTable.clearSelection();
this.$refs.multipleTable.toggleRowSelection(row);
},
exChange(row, rowList) {
//this.listLoading = true;
var that = this;
if (rowList.length) {
that.expands = [];
if (row) {
that.expands.push(row.id); // id
}
} else {
that.expands = [];
}
},
//
getList(data) {
this.listLoading = true;
if (data != undefined) {
this.listQuery.SkipCount = (this.page - 1) * data.limit;
} else {
this.listQuery.SkipCount = (this.page - 1) * 15;
}
if (this.listQuery.billNum != "") {
this.listQuery.billNum = this.listQuery.billNum;
}
this.listQuery.partType = this.listQuery.partType;
this.listQuery.beginVin = this.listQuery.beginVin;
this.listQuery.endVin = this.listQuery.endVin;
this.listQuery.beginHostSN = this.listQuery.beginHostSN;
this.listQuery.endHostSN = this.listQuery.endHostSN;
var getdate5 = JSON.stringify(this.PrintTimeValue);
if (getdate5 != "[]") {
this.listQuery.beginPrintDate = this.PrintTimeValue ?
this.PrintTimeValue[0] || undefined :
undefined;
this.listQuery.endPrintDate = this.PrintTimeValue ?
this.PrintTimeValue[1] || undefined :
undefined;
} else {
this.listQuery.beginPrintDate = undefined;
this.listQuery.endPrintDate = undefined;
}
if (this.customerInfo.productLine != "") {
this.listQuery.ProductLine = this.customerInfo.productLine;
}
console.log("柱护板-列表查询条件:" + JSON.stringify(this.listQuery));
this.$axios
.posts(
"/api/newjit/ZhuHuBanPackingList/ZhuHuBanPackingList-List",
this.listQuery
)
.then((response) => {
this.list = response.items;
this.totalCount = response.totalCount;
setTimeout(() => {
//
this.listLoading = false;
}, 500);
})
.catch(() => {
this.listLoading = false;
});
},
//-
handleUpdate(row) {
this.isEdit = true;
if (this.multipleSelection.length != 1) {
this.$message({
message: "重新打印必须选择单行,不能多选!",
type: "warning",
});
return;
} else {
//this.fetchData(this.multipleSelection[0].id);
//
let beginVin1 = this.multipleSelection[0].beginVin1;
let endVin1 = this.multipleSelection[0].endVin1;
var params = {
printType: 1,
productLine: this.customerInfo.productLine,
beginVin: beginVin1,
endVin: endVin1,
};
console.log("柱护版-主界面传过来的值:" + JSON.stringify(params));
let _this = this;
this.$axios
.posts("/api/newjit/bill-m100/print-zhuhuban-packing-list", params)
.then((response) => {
console.log("柱护版-打印返回的状态:" + response.status);
const index = this.list.indexOf(row);
if (response.status === false) {
this.$message({
message: response.message,
type: "error",
});
return;
} else if (response.status === true) {
this.fileQuery.dataname = JSON.stringify(response.item);
console.log(
"柱板-调用Handlers/Handler1.ashx?report=zhuhuban传的值:" +
JSON.stringify(this.fileQuery.dataname)
);
this.$axios
.posts(
"/Handlers/Handler1.ashx?report=zhuhuban_" + _this.customerInfo.productLine + '-' + _this.customerInfo.fwStation,
qs.stringify(this.fileQuery)
)
.then((response) => {
this.printpdf(response); //
});
}
})
.catch(() => {});
}
},
//-
handleDelete(row) {
//
var params = [];
let myalert = ""; //使
if (row) {
//
params.push(row.id);
myalert = row.name;
} else {
//
this.multipleSelection.forEach((element) => {
let id = element.id;
params.push(id);
});
myalert = "选中项";
}
this.$confirm("是否作废" + myalert + "?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.$axios
.posts("/api/newjit/ZhuHuBanPackingList/delete", params)
.then((response) => {
const index = this.list.indexOf(row);
this.$notify({
title: "成功",
message: "作废成功",
type: "success",
duration: 2000,
});
this.getList();
});
})
.catch(() => {
this.$message({
type: "info",
message: "已取消操作",
});
});
},
fetchData(id) {
//
this.$axios
.gets("/api/newjit/assembly-cfg-erp/" + id)
.then((response) => {
this.form = response.item;
//this.details = response.item.details;
//console.log(this.details);
});
},
/** 重置按钮操作 */
resetQuery(refName) {
this.$refs[refName].resetFields();
this.PrintTimeValue = [];
this.handleQuery();
this.getProductLine();
},
/** 搜索按钮操作 */
handleQuery() {
this.listQuery.SkipCount = 1;
//this.getList();
},
selectValue(params) {
//
this.versionValue = params.value;
this.getList();
},
selectOptionsChange(item) {
this.getList();
},
/** 刷新列表 */
handleHandle(data) {
if (data.type !== "edit") {
this.getList();
}
},
/** 格式化字段 */
fieldFormatter(row, column) {
if (column.property === "billStatus") {
return {
1: "未匹配",
2: "未打印",
3: "已打印"
} [row[column.property]];
}
if (column.property == "printDate" || column.property == "receiveTime") {
var date = row[column.property];
if (date == undefined) {
return "";
}
return moment(date).format("YYYY-MM-DD HH:mm:ss");
}
return row[column.property] || "--";
},
roleFilter(type) {
return projectTypeKeyValue[type];
},
//
handleFilter() {
this.page = 1;
this.getList();
},
sortChange(data) {
const {
prop,
order
} = data;
if (!prop || !order) {
this.handleFilter();
return;
}
this.listQuery.Sorting = prop + " " + order;
this.handleFilter();
},
handleSelectionChange(val) {
this.multipleSelection = val;
},
/** 通过回调控制style */
cellStyle({
row,
column,
rowIndex,
columnIndex
}) {
if (column.property === "qty") {
return {
textAlign: "right"
};
} else {
return {
textAlign: "left"
};
}
},
/** 通过回调控制表头style */
headerRowStyle({
row,
column,
rowIndex,
columnIndex
}) {
if (column.property === "qty") {
return {
textAlign: "right",
background: "#FAFAFA"
};
} else {
return {
textAlign: "left",
background: "#FAFAFA"
};
}
},
handleRowClick(row, column, event) {
//this.$refs.multipleTable.clearSelection();
this.$refs.multipleTable.toggleRowSelection(row);
},
closeDialog() {},
},
};
</script>
<style lang="scss" scoped>
@import "../../../pg-fis/styles/crmtable.scss";
.divider1 {
margin: 0;
}
.divider2 {
margin: 10px;
margin-bottom: 20px;
width: 95%;
}
.label1 {
margin-left: 5px;
margin-right: 5px;
}
</style>

4
vue/src/views/pg-fis/basedate/m100Online/index-old.vue → vue/src/views/pg-fis/basedate/m100Online/~old/index-old.vue

@ -702,6 +702,7 @@ export default {
this.customerInfos = [
{
ParentId: parentId,
BillId: param.id
},
];
},
@ -1249,6 +1250,7 @@ export default {
} else if (this.listQuery.productType === 2) {
//
//
let _this = this;
this.$axios
.posts(
"/api/newjit/bill-m100/print-zhuhuban-packing-list",
@ -1274,7 +1276,7 @@ export default {
console.log(this.fileQuery.dataname);
this.$axios
.posts(
"/Handlers/Handler1.ashx?report=zhuhuban",
"/Handlers/Handler1.ashx?report=zhuhuban_" + _this.customerInfo.productLine + '-' + _this.customerInfo.fwStation,
qs.stringify(this.fileQuery)
)
.then((response) => {

6
vue/src/views/pg-fis/basedate/m100Online/index.vue → vue/src/views/pg-fis/basedate/m100Online/~old/index.vue

@ -737,6 +737,7 @@ export default {
this.customerInfos = [
{
ParentId: parentId,
BillId: param.id
},
];
},
@ -897,7 +898,7 @@ export default {
setTimeout(() => {
//
this.listLoading = false;
debugger
//debugger
}, 500);
})
.catch(() => {
@ -1290,6 +1291,7 @@ export default {
} else if (this.listQuery.productType === 2) {
//
//
let _this = this;
this.$axios
.posts(
"/api/newjit/bill-m100/print-zhuhuban-packing-list",
@ -1315,7 +1317,7 @@ export default {
console.log(this.fileQuery.dataname);
this.$axios
.posts(
"/Handlers/Handler1.ashx?report=zhuhuban",
"/Handlers/Handler1.ashx?report=zhuhuban_" + _this.customerInfo.productLine + '-' + _this.customerInfo.fwStation,
qs.stringify(this.fileQuery)
)
.then((response) => {

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

@ -186,7 +186,7 @@
});
},
created() {
debugger
//debugger
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
)
.then((response) => {
debugger
//debugger
console.log(response);
this.dialogFormVisible = false;
this.getList();

4
vue/src/views/pg-fis/basedate/r100Online/detail.vue

@ -148,6 +148,7 @@ export default {
searchContent: "", //
customerInfo: {
parentId: "",
billId: ""
},
form: {
dicDetailID: "",
@ -206,6 +207,7 @@ export default {
} else {
newVal.forEach((element) => {
this.customerInfo.parentId = element.ParentId;
this.customerInfo.billId = element.BillId;
});
if (this.customerInfo.parentId != "") {
this.getList();
@ -270,7 +272,7 @@ export default {
this.listLoading = true;
console.log("详表条件:" + JSON.stringify(this.customerInfo.parentId));
//alert("" + JSON.stringify(this.customerInfo.parentId));
let vehicleAssemblyId = { vehicleAssemblyId: this.customerInfo.parentId };
let vehicleAssemblyId = { vehicleAssemblyId: this.customerInfo.parentId, billId: this.customerInfo.billId };
this.$axios
.gets("/api/newjit/assembly-cfg-vehicle/list", vehicleAssemblyId)
.then((response) => {

1
vue/src/views/pg-fis/basedate/r100Online/index.vue

@ -501,6 +501,7 @@ export default {
this.customerInfos = [
{
ParentId: parentId,
BillId: param.id
},
];
},

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

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

4
vue/src/views/pg-fis/basedate/select/detail.vue

@ -148,6 +148,7 @@ export default {
searchContent: "", //
customerInfo: {
parentId: "",
billId: ""
},
form: {
dicDetailID: "",
@ -206,6 +207,7 @@ export default {
} else {
newVal.forEach((element) => {
this.customerInfo.parentId = element.ParentId;
this.customerInfo.billId = element.BillId;
});
if (this.customerInfo.parentId != "") {
this.getList();
@ -270,7 +272,7 @@ export default {
this.listLoading = true;
console.log("详表条件:" + JSON.stringify(this.customerInfo.parentId));
//alert("" + JSON.stringify(this.customerInfo.parentId));
let vehicleAssemblyId = { vehicleAssemblyId: this.customerInfo.parentId };
let vehicleAssemblyId = { vehicleAssemblyId: this.customerInfo.parentId, billId: this.customerInfo.billId };
this.$axios
.gets("/api/newjit/assembly-cfg-vehicle/list", vehicleAssemblyId)
.then((response) => {

45
vue/src/views/pg-fis/basedate/select/index.vue

@ -211,23 +211,23 @@
</flexbox>
</div>
<!--门板重打和作废-->
<el-drawer
<!-- <el-drawer
title="门板作废和重打"
:visible.sync="drawerMB"
direction="rtl"
size="65%"
>
<MBDetail v-bind:customerInfosMB="customerInfosMB"></MBDetail>
</el-drawer>
</el-drawer> -->
<!--柱护板重打和作废-->
<el-drawer
<!-- <el-drawer
title="柱护板作废和重打"
:visible.sync="drawerZHB"
direction="rtl"
size="65%"
>
<ZHBDetail v-bind:customerInfosZHB="customerInfosZHB"></ZHBDetail>
</el-drawer>
</el-drawer> -->
<div class="l-table" style="margin-top: -30px">
<!--表格渲染-->
@ -392,8 +392,8 @@ import CRMTableHead from "../../components/CRMTableHead";
import importExcel from "@/components/ImportExcel-vw";
import Lockr from "lockr";
import Detail from "./detail.vue";
import MBDetail from "./detailMB.vue";
import ZHBDetail from "./detailZHB.vue";
//import MBDetail from "./detailMB.vue";
//import ZHBDetail from "./detailZHB.vue";
import { mapGetters } from "vuex";
import moment from "moment";
@ -419,8 +419,8 @@ export default {
CRMTableHead,
importExcel,
Detail,
MBDetail,
ZHBDetail,
//MBDetail,
//ZHBDetail,
},
directives: { permission },
filters: {
@ -445,8 +445,8 @@ export default {
return {
chkindex: 0, //
crmType: "select",
drawerZHB: false,
drawerMB: false,
//drawerZHB: false,
//drawerMB: false,
activeNames: ["1"],
rules: {
erpAssemblyName: [
@ -634,8 +634,13 @@ export default {
width: 120,
});
tempsTabs.push({
label: "柱护板状态",
prop: "printBillNum",
label: "柱护板状态BA2",
prop: "bA2",
width: 120,
});
tempsTabs.push({
label: "柱护板状态BA5",
prop: "bA5",
width: 120,
});
tempsTabs.push({
@ -672,6 +677,7 @@ export default {
this.customerInfos = [
{
ParentId: parentId,
BillId: param.id
},
];
},
@ -797,6 +803,14 @@ export default {
if (column.property === "billStatus") {
return { 1: "未匹配", 2: "未打印", 3: "已打印" }[row[column.property]];
}
if (column.property === "bA2") {
return { null: "未打印", 0: "未打印", 1: "已打印" }[row[column.property]];
}
if (column.property === "bA5") {
return { null: "未打印", 0: "未打印", 1: "已打印" }[row[column.property]];
}
if (column.property == "onlineTime" || column.property == "receiveTime") {
var date = row[column.property];
if (date == undefined) {
@ -812,6 +826,8 @@ export default {
roleFilter(type) {
return projectTypeKeyValue[type];
},
getList(data) {
this.listLoading = true;
if (data != undefined) {
@ -1199,7 +1215,7 @@ export default {
console.log("检查hostsn大众顺序号是否断号");
console.log(response);
if (response.item.length > 0) {
this.$confirm("本次打印存在断号是否继续?", "提示", {
this.$confirm("本次打印存在断号是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
@ -1248,6 +1264,7 @@ export default {
} else if (this.listQuery.productType === 2) {
//
//
let _this = this;
this.$axios
.posts(
"/api/newjit/bill-m100/print-zhuhuban-packing-list",
@ -1273,7 +1290,7 @@ export default {
console.log(this.fileQuery.dataname);
this.$axios
.posts(
"/Handlers/Handler1.ashx?report=zhuhuban",
"/Handlers/Handler1.ashx?report=zhuhuban_" + _this.customerInfo.productLine + '-' + _this.customerInfo.fwStation,
qs.stringify(this.fileQuery)
)
.then((response) => {

0
vue/src/views/pg-fis/basedate/select/detailMB.vue → vue/src/views/pg-fis/basedate/select/~old/detailMB.vue

3
vue/src/views/pg-fis/basedate/select/detailZHB.vue → vue/src/views/pg-fis/basedate/select/~old/detailZHB.vue

@ -553,6 +553,7 @@ export default {
endVin: endVin1,
};
console.log("柱护版-主界面传过来的值:" + JSON.stringify(params));
let _this = this;
this.$axios
.posts("/api/newjit/bill-m100/print-zhuhuban-packing-list", params)
.then((response) => {
@ -572,7 +573,7 @@ export default {
);
this.$axios
.posts(
"/Handlers/Handler1.ashx?report=zhuhuban",
"/Handlers/Handler1.ashx?report=zhuhuban_" + _this.customerInfo.productLine + '-' + _this.customerInfo.fwStation,
qs.stringify(this.fileQuery)
)
.then((response) => {

40
vue/static/config.js

@ -2,12 +2,17 @@ let configJSON
if (process.env.NODE_ENV === 'development') {
configJSON = {
base: {
//ip: 'http://192.168.0.140',
ip: 'http://127.0.0.1', //?? two
auth_port: '8066',
public_port: '8092',
//backend_port: '8092',
backend_port: '44344', //?? three
// ip: 'http://127.0.0.1', //?? two
// auth_port: '8066',
// public_port: '8092',
// // backend_port: '8092',
// 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: {},
upload: {
@ -37,16 +42,21 @@ if (process.env.NODE_ENV === 'development') {
configJSON = {
base: {
//ip: 'http://192.168.0.67',
//ip: 'http://192.168.0.140',
ip: 'http://192.168.0.63',
//ip: 'http://149.223.116.5',
//ip: 'http://114.116.225.148',
//ip: 'http://10.123.148.162',
auth_port: '8066',
public_port: '8092',
backend_port: '8092'
// ip: 'http://192.168.7.21',
// //ip: "http://222.169.228.163",
// auth_port: '8066',
// public_port: '8092',
// backend_port: '8092',
// // auth_port: "7696",
// // public_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: {},
upload: {

Loading…
Cancel
Save