刘云峰 2 months ago
parent
commit
00ddcc5368
  1. 282
      vue/src/views/pg-fis/basedate/planControl_V2/index.vue

282
vue/src/views/pg-fis/basedate/planControl_V2/index.vue

@ -3,29 +3,15 @@
<div class="cr-body-content"> <div class="cr-body-content">
<div ref="box"> <div ref="box">
<flexbox class="content-header" id="planControl-content-header"> <flexbox class="content-header" id="planControl-content-header">
<el-form <el-form :model="listQuery" ref="searchForm" v-show="showSearch" :inline="true">
:model="listQuery"
ref="searchForm"
v-show="showSearch"
:inline="true">
<el-form-item label="底盘号" prop="vin" > <el-form-item label="底盘号" prop="vin">
<el-input <el-input v-model="listQuery.vin" clearable size="small" style="width: 120px" />
v-model="listQuery.vin"
clearable
size="small"
style="width: 120px"
/>
</el-form-item> </el-form-item>
<el-form-item label="车型代码" prop="vehicleModelCode" > <el-form-item label="车型代码" prop="vehicleModelCode">
<el-input <el-input v-model="listQuery.vehicleModelCode" clearable size="small" style="width: 120px" />
v-model="listQuery.vehicleModelCode"
clearable
size="small"
style="width: 120px"
/>
</el-form-item> </el-form-item>
<el-form-item label="车型名称" prop="vehicleModelName"> <el-form-item label="车型名称" prop="vehicleModelName">
@ -33,137 +19,53 @@
</el-form-item> </el-form-item>
<el-form-item label="涂装下线时间" prop="paintOfflineTimeBegin"> <el-form-item label="涂装下线时间" prop="paintOfflineTimeBegin">
<el-date-picker <el-date-picker v-model="listQuery.paintOfflineTimeBegin" size="small" style="width: 200px" type="datetime"></el-date-picker>
v-model="listQuery.paintOfflineTimeBegin"
size="small"
style="width: 200px"
type="datetime"
></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="-" prop="paintOfflineTimeEnd"> <el-form-item label="-" prop="paintOfflineTimeEnd">
<el-date-picker <el-date-picker v-model="listQuery.paintOfflineTimeEnd" size="small" style="width: 200px" type="datetime"></el-date-picker>
v-model="listQuery.paintOfflineTimeEnd"
size="small"
style="width: 200px"
type="datetime"
></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="总装上线时间" prop="onlineTimeBegin"> <el-form-item label="总装上线时间" prop="onlineTimeBegin">
<el-date-picker <el-date-picker v-model="listQuery.onlineTimeBegin" size="small" style="width: 200px" type="datetime"></el-date-picker>
v-model="listQuery.onlineTimeBegin"
size="small"
style="width: 200px"
type="datetime"
></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="-" prop="onlineTimeEnd"> <el-form-item label="-" prop="onlineTimeEnd">
<el-date-picker <el-date-picker v-model="listQuery.onlineTimeEnd" size="small" style="width: 200px" type="datetime"></el-date-picker>
v-model="listQuery.onlineTimeEnd"
size="small"
style="width: 200px"
type="datetime"
></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="序列号" prop="serialNumBegin"> <el-form-item label="序列号" prop="serialNumBegin">
<el-input <el-input v-model="listQuery.serialNumBegin" clearable size="small" style="width: 120px" />
v-model="listQuery.serialNumBegin"
clearable
size="small"
style="width: 120px"
/>
</el-form-item> </el-form-item>
<el-form-item label="-" prop="serialNumEnd"> <el-form-item label="-" prop="serialNumEnd">
<el-input <el-input v-model="listQuery.serialNumEnd" clearable size="small" style="width: 120px" />
v-model="listQuery.serialNumEnd"
clearable
size="small"
style="width: 120px"
/>
</el-form-item> </el-form-item>
<el-form-item label="物流配货顺序号" prop="hostSNBegin"> <el-form-item label="物流配货顺序号" prop="hostSNBegin">
<el-input <el-input v-model="listQuery.hostSNBegin" clearable size="small" style="width: 120px" />
v-model="listQuery.hostSNBegin"
clearable
size="small"
style="width: 120px"
/>
</el-form-item> </el-form-item>
<el-form-item label="-" prop="hostSNEnd"> <el-form-item label="-" prop="hostSNEnd">
<el-input <el-input v-model="listQuery.hostSNEnd" clearable size="small" style="width: 120px" />
v-model="listQuery.hostSNEnd"
clearable
size="small"
style="width: 120px"
/>
</el-form-item> </el-form-item>
<el-form-item label="创建时间" prop="createTimeBegin"> <el-form-item label="创建时间" prop="createTimeBegin">
<el-date-picker <el-date-picker v-model="listQuery.createTimeBegin" size="small" style="width: 200px" type="datetime"></el-date-picker>
v-model="listQuery.createTimeBegin"
size="small"
style="width: 200px"
type="datetime"
></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="-" prop="createTimeEnd"> <el-form-item label="-" prop="createTimeEnd">
<el-date-picker <el-date-picker v-model="listQuery.createTimeEnd" size="small" style="width: 200px" type="datetime"></el-date-picker>
v-model="listQuery.createTimeEnd"
size="small"
style="width: 200px"
type="datetime"
></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="导入时间" prop="importTimeBegin"> <el-form-item label="导入时间" prop="importTimeBegin">
<el-date-picker <el-date-picker v-model="listQuery.importTimeBegin" size="small" style="width: 200px" type="datetime"></el-date-picker>
v-model="listQuery.importTimeBegin"
size="small"
style="width: 200px"
type="datetime"
></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="-" prop="importTimeEnd"> <el-form-item label="-" prop="importTimeEnd">
<el-date-picker <el-date-picker v-model="listQuery.importTimeEnd" size="small" style="width: 200px" type="datetime"></el-date-picker>
v-model="listQuery.importTimeEnd"
size="small"
style="width: 200px"
type="datetime"
></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button <el-button type="primary" icon="el-icon-search" size="mini" @click="handleFilter">搜索</el-button>
type="primary" <el-button icon="el-icon-refresh" size="mini" @click="resetQuery('searchForm')">重置</el-button>
icon="el-icon-search" <el-button type="warning" plain icon="el-icon-download" size="mini" style="margin-left: 15px" @click="handleDownload()">导出(Excel)查询信息
size="mini"
@click="handleFilter"
>搜索</el-button
>
<el-button
icon="el-icon-refresh"
size="mini"
@click="resetQuery('searchForm')"
>重置</el-button
>
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
style="margin-left: 15px"
@click="handleDownload()"
>导出(Excel)查询信息
</el-button> </el-button>
<el-button <el-button class="filter-item" size="mini" type="success" icon="el-icon-plus" @click="handleImport">导入
class="filter-item"
size="mini"
type="success"
icon="el-icon-plus"
@click="handleImport"
>导入
</el-button> </el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
@ -174,33 +76,11 @@
</div> </div>
<div class="l-table"> <div class="l-table">
<!--表格渲染--> <!--表格渲染-->
<el-table <el-table ref="multipleTable" v-loading="listLoading" element-loading-text="拼命加载中..." element-loading-spinner="el-icon-loading"
ref="multipleTable" class="cr-table" :data="list" :height="tableHeight" size="small" stripe border highlight-current-row style="width: 100%"
v-loading="listLoading" @sort-change="sortChange" @selection-change="handleSelectionChange" @row-click="handleRowClick">
element-loading-text="拼命加载中..." <el-table-column v-for="(item, index) in getDefaultField" :key="index" :prop="item.prop" :label="item.label"
element-loading-spinner="el-icon-loading" :min-width="item.width" :formatter="fieldFormatter" sortable="custom" :gutter="0">
class="cr-table"
:data="list"
:height="tableHeight"
size="small"
stripe
border
highlight-current-row
style="width: 100%"
@sort-change="sortChange"
@selection-change="handleSelectionChange"
@row-click="handleRowClick"
>
<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"
:gutter="0"
>
<template slot="header" slot-scope="scope"> <template slot="header" slot-scope="scope">
{{ scope.column.label }} {{ scope.column.label }}
</template> </template>
@ -211,34 +91,28 @@
<div class="table-footer"> <div class="table-footer">
<!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"--> <!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"-->
<pagination <pagination v-show="totalCount > 0" :total="totalCount" :page.sync="page" :limit.sync="listQuery.MaxResultCount"
v-show="totalCount > 0" @pagination="getList" />
:total="totalCount"
:page.sync="page"
:limit.sync="listQuery.MaxResultCount"
@pagination="getList"
/>
<!-- 导入Excel组件 --> <!-- 导入Excel组件 -->
<importExcel <importExcel ref="importexcel" :show="showExcelImport" :importURL="importExcelURL" @close="importClose" />
ref="importexcel"
:show="showExcelImport"
:importURL="importExcelURL"
@close="importClose"
/>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import Pagination from "@/components/Pagination"; import Pagination from "@/components/Pagination";
import permission from "@/directive/permission/index.js"; import permission from "@/directive/permission/index.js";
import CRMTableHead from "../../components/CRMTableHead"; import CRMTableHead from "../../components/CRMTableHead";
import importExcel from "@/components/ImportExcel-normal"; import importExcel from "@/components/ImportExcel-normal";
import { mapGetters } from "vuex"; import {
mapGetters
} from "vuex";
import Lockr from "lockr"; import Lockr from "lockr";
import moment from "moment"; import moment from "moment";
import message_table from "../../components/mixins/message_table"; import message_table from "../../components/mixins/message_table";
import { downloadFile } from "@/utils/crmindex.js"; import {
downloadFile
} from "@/utils/crmindex.js";
// //
// const bomUnit = [ // const bomUnit = [
@ -253,35 +127,41 @@
export default { export default {
name: "RepeatM100", name: "RepeatM100",
components: { Pagination, CRMTableHead, importExcel }, components: {
directives: { permission }, Pagination,
CRMTableHead,
importExcel
},
directives: {
permission
},
mixins: [message_table], mixins: [message_table],
data() { data() {
return { return {
importExcelURL:'/api/newjit/import-note/import', importExcelURL: '/api/newjit/import-note/import',
tipper:"", tipper: "",
showExcelImport: false, showExcelImport: false,
form: {}, form: {},
list: null, list: null,
totalCount: 0, totalCount: 0,
listLoading: true, listLoading: true,
listQuery: { listQuery: {
factory:undefined, factory: undefined,
vin:undefined, vin: undefined,
vehicleModelCode:undefined, vehicleModelCode: undefined,
paintOfflineTimeBegin:undefined, paintOfflineTimeBegin: undefined,
paintOfflineTimeEnd:undefined, paintOfflineTimeEnd: undefined,
onlineTimeBegin:undefined, onlineTimeBegin: undefined,
onlineTimeEnd:undefined, onlineTimeEnd: undefined,
serialNumBegin:undefined, serialNumBegin: undefined,
serialNumEnd:undefined, serialNumEnd: undefined,
hostSNBegin:undefined, hostSNBegin: undefined,
hostSNEnd:undefined, hostSNEnd: undefined,
productLine:undefined, productLine: undefined,
createTimeBegin:undefined, createTimeBegin: undefined,
createTimeEnd:undefined, createTimeEnd: undefined,
importTimeBegin:undefined, importTimeBegin: undefined,
importTimeEnd:undefined, importTimeEnd: undefined,
SkipCount: 0, SkipCount: 0,
MaxResultCount: 15, MaxResultCount: 15,
}, },
@ -460,10 +340,10 @@
this.showExcelImport = false; this.showExcelImport = false;
}, },
// //
importNormalCallback(res,fileuploadList){ importNormalCallback(res, fileuploadList) {
// ret.Status = true ret.Message ret.Message, // ret.Status = true ret.Message ret.Message,
// api/newjit/import-note/importforceExecute true // api/newjit/import-note/importforceExecute true
if(res.status && res.message && res.message.length > 0){ if (res.status && res.message && res.message.length > 0) {
this.$confirm(`${res.message}, 是否确定继续导入`, '提示', { this.$confirm(`${res.message}, 是否确定继续导入`, '提示', {
confirmButtonText: '继续导入', confirmButtonText: '继续导入',
cancelButtonText: '取消导入', cancelButtonText: '取消导入',
@ -491,7 +371,7 @@
this.$message({ this.$message({
message: res.message, message: res.message,
type: "error", type: "error",
showClose:true showClose: true
}); });
this.importClose() this.importClose()
this.getList(); this.getList();
@ -501,7 +381,7 @@
this.importClose() this.importClose()
this.getList(); this.getList();
}) })
}else{ } else {
this.importClose() this.importClose()
this.getList(); this.getList();
} }
@ -516,7 +396,7 @@
fieldFormatter(row, column) { fieldFormatter(row, column) {
return row[column.property] || "--"; return row[column.property] || "--";
}, },
getList(data){ getList(data) {
this.listLoading = true; this.listLoading = true;
if (data != undefined) { if (data != undefined) {
this.listQuery.SkipCount = (this.page - 1) * data.limit; this.listQuery.SkipCount = (this.page - 1) * data.limit;
@ -541,7 +421,10 @@
this.getList(); this.getList();
}, },
sortChange(data) { sortChange(data) {
const { prop, order } = data; const {
prop,
order
} = data;
if (!prop || !order) { if (!prop || !order) {
this.listQuery.Sorting = undefined this.listQuery.Sorting = undefined
this.handleFilter(); this.handleFilter();
@ -563,8 +446,8 @@
this.showExcelImport = true; this.showExcelImport = true;
}, },
// //
changeMainTableHeight(){ changeMainTableHeight() {
this.$nextTick(()=>{ this.$nextTick(() => {
var offsetHei = document.documentElement.clientHeight; var offsetHei = document.documentElement.clientHeight;
// let boxH = this.$refs.box.offsetHeight; // let boxH = this.$refs.box.offsetHeight;
let headerH = document.getElementById("planControl-content-header").clientHeight let headerH = document.getElementById("planControl-content-header").clientHeight
@ -573,11 +456,11 @@
//this.tableHeight = offsetHei -260 //this.tableHeight = offsetHei -260
}) })
}, },
getTipper(){ getTipper() {
if(this.$route.name != 'pg-planControl'){ if (this.$route.name != 'pg-planControl') {
return return
} }
this.$axios.posts( "/api/newjit/import-note/print-timeout-remind" ).then((res) => { this.$axios.posts("/api/newjit/import-note/print-timeout-remind").then((res) => {
this.tipper = "" this.tipper = ""
let _item = "" let _item = ""
let _style = "" let _style = ""
@ -597,18 +480,17 @@
} }
}, },
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import "../../../pg-fis/styles/crmtable.scss"; @import "../../../pg-fis/styles/crmtable.scss";
.tipper{
.tipper {
border: solid 1px #ddd; border: solid 1px #ddd;
border-radius: 5px; border-radius: 5px;
display: inline-block; display: inline-block;
padding: 10px; padding: 10px;
line-height: 20px; line-height: 20px;
} }
</style> </style>

Loading…
Cancel
Save