Browse Source

前端 提交

branch_ccpg_220107
44673626 3 years ago
parent
commit
7682bd1f0b
  1. 5
      .gitignore
  2. 11
      vue/src/router/index.js
  3. 12
      vue/src/router/modules/vwFisData.js
  4. 58
      vue/src/router/modules/vwKBdata.js
  5. 2
      vue/src/router/modules/wheeldata.js
  6. 464
      vue/src/views/ux/billManage/InvoiceSettledDetailDiff/index.vue
  7. 301
      vue/src/views/ux/billManage/InvoiceSettledDiff/index.vue
  8. 388
      vue/src/views/ux/billManage/IssuedUnsettled/index.vue
  9. 364
      vue/src/views/ux/billManage/UnInvoiceSettledDetailDiff/index.vue
  10. 1050
      vue/src/views/ux/billManage/UnSettleDiffExport/index.vue
  11. 445
      vue/src/views/ux/billManage/UnSettledDiff/index.vue
  12. 78
      vue/src/views/ux/billManage/kanBanWithCode/index.vue
  13. 60
      vue/src/views/ux/billManage/sparePart/index.vue
  14. 4
      vue/src/views/ux/vw/dataInput/SparePart/index.vue
  15. 16
      vue/static/config.js

5
.gitignore

@ -7,3 +7,8 @@
/src/.vs/SmartFactorySuite/DesignTimeBuild/.dtbcache.v2
/src/.vs/SmartFactorySuite/v16/.suo
/src/.vs/SettleAccount/v16/.suo
/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/Logs
/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/Logs
/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/Logs/log-20211201.txt
/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/Logs/log-20211202.txt
/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/Logs/log-20211203.txt

11
vue/src/router/index.js

@ -168,14 +168,13 @@ export const asyncRoutes = [
/** when your routing map is too long, you can split it into small modules **/
managerRouter,//系统首页
personRouter,//系统管理
//basedataRouter,//基础数据维护
//newjitRouter,//FIS数据管理
//vwFisDataRouter,//结算与开票数据导入
//billdataRouter,//销售结算与开票报表
basedataRouter,//基础数据维护
vwFisDataRouter,//结算与开票数据导入
billdataRouter,//销售结算与开票报表
//businessdataRouter,
//wheeldataRouter,//大众看板和备件
wheeldataRouter,//大众看板和备件
pgfis,//派格fis
//JobTimeDataRouter,//后台作业监控
JobTimeDataRouter,//后台作业监控
// 404 page must be placed at the end !!!
{ path: '*', redirect: '/404', hidden: true }

12
vue/src/router/modules/vwFisData.js

@ -2,7 +2,7 @@
import Layout from '@/layout'
const vwFisDataRouter = {
path: '/caip',
path: '/cpat',
component: Layout,
redirect: 'pg',
name: '业务数据',
@ -17,7 +17,7 @@ const vwFisDataRouter = {
},
children: [
{
path: 'unSettleAccount',
path: 'unsettle-account',
component: () => import('@/views/ux/vw/dataInput/r3-open'),
name: 'SettleAccount',//命名路由
meta: {
@ -27,7 +27,7 @@ const vwFisDataRouter = {
}
},
{
path: 'settleAccount-finish',
path: 'settle-account-finish',
component: () => import('@/views/ux/vw/dataInput/r3'),
name: 'SettleAccount',//命名路由
meta: {
@ -47,7 +47,7 @@ const vwFisDataRouter = {
}
},
{
path: 'kanBan',
path: 'kan-ban',
component: () => import('@/views/ux/vw/dataInput/vwKanBan/index'),
name: 'VWKanBan',//命名路由
meta: {
@ -57,7 +57,7 @@ const vwFisDataRouter = {
}
},
{
path: 'scrapClaims',
path: 'scrap-claims',
component: () => import('@/views/ux/vw/dataInput/ScrapClaims'),
name: 'ScrapClaims',
meta: {
@ -68,7 +68,7 @@ const vwFisDataRouter = {
},
{
path: 'SparePart',
path: 'spare-part',
component: () => import('@/views/ux/vw/dataInput/SparePart'),
name: 'SparePart',//命名路由
meta: {

58
vue/src/router/modules/vwKBdata.js

@ -2,7 +2,7 @@
import Layout from '@/layout'
const billdataRouter = {
path: '/vw-car-kb',
path: '/cpat-report',
component: Layout,
redirect: 'vw-car-kb',
name: 'basedata',
@ -17,9 +17,9 @@ const billdataRouter = {
},
children: [
{
path: '/IssuedUnsettled',
path: 'unsettled-detail',//大众准时化未结明细表(包含漏结,漏结要有标识)
component: () => import('@/views/ux/billManage/IssuedUnsettled/index'),
name: 'IssuedUnsettled',//命名路由
name: 'UnsettledDetail',//命名路由
meta: {
title: '大众准时化未结明细',
roles: ['SettleAccount.Reports'],//控制页面角色(可以设置多个角色)
@ -27,9 +27,9 @@ const billdataRouter = {
}
},
{
path: '/settledPartAndErpPartPriceDiff',
component: () => import('@/views/ux/billManage/settledPartAndErpPartPriceDiff/index'),
name: 'SettledPartAndErpPartPriceDiff',//命名路由
path: 'unsettled-diff',
component: () => import('@/views/ux/billManage/UnSettledDiff/index'),
name: 'UnSettledDiff',//命名路由
meta: {
title: '大众准时化未结比对',
roles: ['SettleAccount.Reports'],//控制页面角色(可以设置多个角色)
@ -37,9 +37,9 @@ const billdataRouter = {
}
},
{
path: '/audiAndvw1',
component: () => import('@/views/ux/billManage/audiAndvw'),
name: 'audiAndvw',//命名路由
path: 'unSettle-diffExport',
component: () => import('@/views/ux/billManage/UnSettleDiffExport'),
name: 'UnSettleDiffExport',//命名路由
meta: {
title: '准时化未结差异比对',
roles: ['SettleAccount.Reports'],//控制页面角色(可以设置多个角色)
@ -47,7 +47,7 @@ const billdataRouter = {
}
},
{
path: '/InvoiceSettledDiff',
path: 'invoice-settled/diff',
component: () => import('@/views/ux/billManage/InvoiceSettledDiff'),
name: 'InvoiceSettledDiff',//命名路由
meta: {
@ -57,35 +57,45 @@ const billdataRouter = {
}
},
{
path: '/FisUnSettledDiff',
component: () => import('@/views/ux/billManage/FisUnSettledDiff'),
name: 'FisUnSettledDiff',//命名路由
path: 'invoice-settled/detaildiff',
component: () => import('@/views/ux/billManage/InvoiceSettledDetailDiff'),
name: 'InvoiceSettledDetailDiff',//命名路由
meta: {
title: '准时化交货与结算核对',
title: '发票与结算核对明细',
roles: ['SettleAccount.Reports'],//控制页面角色(可以设置多个角色)
icon: '看板'
icon: '结算对比'
}
},
{
path: '/priceQtyDiff',
component: () => import('@/views/ux/billManage/PriceQtyDiff'),
name: 'PriceQtyDiff',//命名路由
path: 'FisUnSettledDiff',
component: () => import('@/views/ux/billManage/FisUnSettledDiff'),
name: 'FisUnSettledDiff',//命名路由
meta: {
title: '准时化结算数量差异比对',
title: '准时化交货与结算核对',
roles: ['SettleAccount.Reports'],//控制页面角色(可以设置多个角色)
icon: '售后'
icon: '看板'
}
},
{
path: '/audiAndvw',
component: () => import('@/views/ux/billManage/audiAndvw'),
name: 'audiAndvw',//命名路由
path: 'unInvoice-settled/detailDiff',
component: () => import('@/views/ux/billManage/UnInvoiceSettledDetailDiff'),
name: 'UnInvoiceSettledDetailDiff',//命名路由
meta: {
title: '准时化结算门板价格差异',
title: '准时化结算数量差异比对',
roles: ['SettleAccount.Reports'],//控制页面角色(可以设置多个角色)
icon: '售后'
}
},
// {
// path: 'audiAndvw1',
// component: () => import('@/views/ux/billManage/audiAndvw'),
// name: 'audiAndvw',//命名路由
// meta: {
// title: '准时化结算门板价格差异',
// roles: ['SettleAccount.Reports'],//控制页面角色(可以设置多个角色)
// icon: '售后'
// }
// },
]
}

2
vue/src/router/modules/wheeldata.js

@ -3,7 +3,7 @@
import Layout from '@/layout'
const wheeldataRouter = {
path: '/cpat/report',
path: '/cpat/report/',
component: Layout,
redirect: 'cpat',//重定向
name: 'WheelData',

464
vue/src/views/ux/billManage/settledPartAndErpPartPriceDiff/index.vue → vue/src/views/ux/billManage/InvoiceSettledDetailDiff/index.vue

@ -1,33 +1,21 @@
<!--零件匹配关系页-->
<!--发票与结算核对明细-->
<template>
<div class="cr-body-content">
<!--功能栏-->
<!-- 搜索 -->
<div style="float: left">
<flexbox class="content-header">
<el-button
class="filter-item"
size="mini"
type="primary"
icon="el-icon-plus"
size="mini"
@click="handleCreate"
>统计<!-- 报表(输出Excel文件) -->
>统计
</el-button>
<!-- <el-input
v-model="searchContent"
clearable
size="small"
placeholder="按照零件号搜索..."
style="width: 200px"
class="search-container"
@keyup.enter.native="handleFilter"
/>
<el-button
size="mini"
type="success"
icon="el-icon-search"
@click="handleFilter"
>搜索
</el-button> -->
</flexbox>
</div>
<!-- 刷新 -->
<div style="float: right">
<flexbox class="content-header">
<el-tooltip
@ -43,13 +31,14 @@
@click="refresh()"
/>
</el-tooltip>
<span style="margin-left: 10px; color: #ff5640"
<span style="margin-left: 10px; color: #ff5640; float: right"
>说明每间隔30秒进行自动刷新</span
>
</flexbox>
</div>
<!--表格渲染-->
<!--主页面表格渲染-->
<el-table
ref="multipleTable"
v-loading="listLoading"
@ -59,7 +48,6 @@
:data="list"
:height="tableHeight"
:cell-style="cellStyle"
:header-cell-style="headerRowStyle"
size="small"
stripe
border
@ -75,20 +63,27 @@
:label="item.label"
:min-width="item.width"
:formatter="fieldFormatter"
sortable
show-overflow-tooltip
:gutter="0"
sortable
>
<template slot="header" slot-scope="scope">
{{ scope.column.label }}
</template>
</el-table-column>
<!-- 操作名称 -->
<el-table-column
prop="actionName"
label="操作名称(单击箭头过滤)"
width="165"
column-key="actionName"
label="导出类型"
sortable
:filters="[
{ text: '导出', value: '导出' },
{ text: '消息', value: '消息' },
]"
filter-placement="bottom-end"
:filter-method="filterHandler"
>
<template slot-scope="scope">
<div align="center">
@ -103,21 +98,21 @@
</div>
</template>
</el-table-column>
<!-- 状态 -->
<el-table-column
prop="stateName"
label="状态(单击箭头过滤)"
width="185"
align="center"
width="165"
column-key="stateName"
align="center"
:filters="[
{ text: '执行完成(任务成功)', value: 'Succeeded' },
{ text: '执行完成(任务失败)', value: 'Failed' },
{ text: '执行中', value: 'Processing' },
{ text: '等待执行', value: '等待执行' },
{ text: '等待执行', value: 'Scheduled' },
]"
filter-placement="bottom-end"
:filter-method="filterHandler"
sortable
>
<template slot-scope="scope">
<el-tag
@ -130,15 +125,16 @@
</el-tag>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="280" sortable>
<!-- 操作 -->
<el-table-column label="操作" align="center" width="250">
<template slot-scope="scope">
<div align="center">
<!-- <el-button
v-if="scope.row.actionName == '导出'"
size="mini"
type="text"
@click="handleDownload(scope.row)"
icon="el-icon-edit"
style="margin-left: 100px"
>下载</el-button
> -->
<el-button
@ -165,11 +161,13 @@
icon="el-icon-edit"
>检验失败下载</el-button
>
</div>
</template>
</el-table-column>
</el-table>
<div class="table-footer">
<!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"-->
<div class="table-footer">
<pagination
v-show="totalCount > 0"
:total="totalCount"
@ -326,13 +324,14 @@
<el-button @click="openView = false"> </el-button>
</div>
</el-dialog>
<!--表单渲染-->
<!--统计功能表单渲染-->
<el-dialog
:visible.sync="dialogFormVisible"
:close-on-click-modal="false"
:title="formTitle"
append-to-body
width="550px"
width="680px"
>
<el-form
ref="formCount"
@ -366,29 +365,126 @@
</el-row>
<el-row>
<el-col :md="4" :xs="24">
<el-form-item label="适用功能" required />
<el-form-item label="物料组(车型)" />
</el-col>
<el-col :md="20" :xs="24" style="margin-left: -80px">
<el-form-item prop="customerCode">
<el-form-item prop="materialGroupValue">
<el-select
v-model="formCount.customerCode"
v-model="formCount.materialGroupValue"
size="medium"
filterable
clearable
style="width: 188px; margin-right: 15px"
placeholder="请选择"
>
<el-option label="结算" value="R0003"></el-option>
<el-option label="二配" value="R0001"></el-option>
<el-option
v-for="item in materialGroupList"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :md="4" :xs="24">
<el-form-item label="CP5时间:" />
</el-col>
<el-col :md="20" :xs="24" style="margin-left: -80px">
<el-form-item>
<el-date-picker
v-model="datetime5"
type="datetimerange"
:picker-options="pickerOptionsCp5"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd HH:mm:ss"
:default-time="['00:00:00', '23:59:59']"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :md="4" :xs="24">
<el-form-item label="CP7时间:" />
</el-col>
<el-col :md="10" :xs="24" style="margin-left: -80px">
<el-form-item>
<el-date-picker
v-model="startTime"
type="datetime"
size="small"
:picker-options="pickerOptions0"
@change="getdateValue"
value-format="yyyy-MM-dd HH:mm:ss"
default-time="00:00:00"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :md="10" :xs="24" style="margin-left: -40px">
<el-form-item>
<el-date-picker
v-model="endTime"
type="datetime"
:picker-options="pickerOptions1"
size="small"
@change="getdateVal"
value-format="yyyy-MM-dd HH:mm:ss"
default-time="23:59:59"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :md="4" :xs="24">
<el-form-item label="KEEN号" />
</el-col>
<el-col :md="10" :xs="24" style="margin-left: -80px">
<el-form-item>
<el-input v-model="formCount.kennCode" />
</el-form-item>
</el-col>
<el-col :md="4" :xs="24">
<el-form-item label="底盘号" />
</el-col>
<el-col :md="10" :xs="24" style="margin-left: -95px">
<el-form-item>
<el-input v-model="formCount.chassisNumber" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :md="4" :xs="24">
<el-form-item label="客户零件号" />
</el-col>
<el-col :md="10" :xs="24" style="margin-left: -80px">
<el-form-item>
<el-input v-model="formCount.materialCode" />
</el-form-item>
</el-col>
<el-col :md="4" :xs="24">
<el-form-item label="客户零件号" />
</el-col>
<el-col :md="10" :xs="24" style="margin-left: -95px">
<el-form-item>
<el-input v-model="formCount.sapMaterialCode" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="dialogFormVisible = false"
<!-- <el-button type="text" @click="dialogFormVisible = false"
>取消</el-button
>
<!-- <el-button @click="resetForm('formCount')">重置</el-button> -->
> -->
<el-button @click="resetForm('formCount')">重置</el-button>
<el-button v-loading="formLoading" type="primary" @click="save"
>确认</el-button
>
@ -403,27 +499,81 @@ import permission from "@/directive/permission/index.js";
import { downloadFile } from "@/utils/crmindex.js";
import CRMTableHead from "../../components/CRMTableHead";
import moment from "moment";
const cityOptions = [
{ id: 0, name: "未结" },
{ id: 1, name: "部分结算" },
{ id: 2, name: "已结" },
/* { id: 3, name: "预批量" }, */
];
export default {
name: "SettledPartAndErpPartPriceDiff",
name: "InvoiceSettledDetailDiff",
components: { Pagination, CRMTableHead },
directives: { permission },
data() {
return {
crmType: "backJob",
//customerCode: "R0003",
rules: {
versionValue: [
{ required: true, message: "必须输入!", trigger: "change" },
],
},
pickerOptionsCp5: {
disabledDate: (time) => {
let now = new Date();
let monthEndDate = new Date(now.getFullYear(), now.getMonth() + 1, 0);
let timeEnd = Date.parse(monthEndDate);
if (timeEnd) {
return (
time.getTime() > time.getTime() > timeEnd - 8.64e7 ||
time.getTime() > timeEnd + 60 * 60 * 24 * 1000
); //
}
},
},
pickerOptions0: {
disabledDate: (time) => {
//if (this.endTime != "") {
//return time.getTime() >= new Date(this.endTime).getTime();
return time.getTime() > new Date(this.endTime).getTime();
//}
},
},
pickerOptions1: {
disabledDate: (time) => {
//return time.getTime() <= new Date(this.startTime).getTime() || time.getTime() > Date.now();
return time.getTime() <= new Date(this.startTime).getTime();
},
},
startTime: "",
endTime: "",
pickerOptionsCp7: {
disabledDate: (time) => {
let now = new Date();
let monthEndDate = new Date(now.getFullYear(), now.getMonth() + 1, 0);
let timeEnd = Date.parse(monthEndDate);
if (timeEnd) {
return (
time.getTime() > time.getTime() > timeEnd - 8.64e7 ||
time.getTime() > timeEnd + 60 * 60 * 24 * 1000
); //
}
},
},
datetime5: [],
datetime7: [],
checkedCities: [0],
cities: cityOptions,
selectValue: "",
selectNameValue: "",
radio: "0", //0 1
versionList: [],
materialGroupList: [],
//
openView: false,
versionValue: "",
materialGroupValue: "",
formTitle: "",
timer: null, //
//
@ -448,7 +598,17 @@ export default {
customerInfos: "",
searchContent: "", //
form: {},
formCount: {},
formCount: {
name: "未结算对比",
// datetime5: [],
// datetime7: [],
settledate: "",
materialCode: "",
sapMaterialCode: "",
chassisNumber: "",
kennCode: "",
version: "",
},
list: null,
totalCount: 0,
listLoading: true,
@ -462,18 +622,16 @@ export default {
},
listExportQuery: {
version: "",
customerCode: "",
//apply:"",
materialCode: undefined,
cp7begin: undefined,
cp7end: undefined,
kenncode: undefined,
chassisNumber: undefined,
materialGroup: undefined,
begin: undefined,
end: undefined,
},
listQuery: {
Filters: [
{
logic: 0,
column: "Enabled",
action: 0,
value: "true",
}, //
],
taskId: "",
name: "",
},
@ -483,7 +641,6 @@ export default {
tableHeight: document.documentElement.clientHeight - 260,
isEdit: false,
menuCateMap: [
{ label: "导入", value: "导入", cssName: "primary" },
{ label: "导出", value: "导出", cssName: "warning" },
{ label: "消息", value: "消息", cssName: "info" },
],
@ -510,43 +667,38 @@ export default {
this.$once("hook:beforeDestroy", () => {
clearInterval(timer);
});
//this.disabledDateCp5();
},
created() {
this.getAllVersionList();
this.getMaterialGroup();
this.getList();
// this.getCurrentMonthFirst();
// this.getCurrentMonthLast();
},
beforeDestroy() {
clearInterval(this.timer);
this.timer = null;
},
computed: {
/* 主表头 */
getDefaultField() {
var tempsTabs = [];
tempsTabs.push({
label: "单据流水号",
prop: "taskId",
width: 120,
width: 85,
});
tempsTabs.push({
label: "模块名称",
prop: "name",
width: 200,
width: 170,
});
// tempsTabs.push({
// label: "",
// prop: "actionName",
// width: 120,
// });
tempsTabs.push({
label: "创建人",
prop: "creator",
width: 100,
});
tempsTabs.push({
label: "电子邮箱",
prop: "email",
width: 120,
width: 110,
});
tempsTabs.push({
label: "创建时间",
@ -554,6 +706,11 @@ export default {
width: 150,
});
// tempsTabs.push({
// label: "",
// prop: "actionName",
// width: 120,
// });
// tempsTabs.push({
// label: "",
// prop: "stateName",
// width: 100,
@ -562,6 +719,36 @@ export default {
},
},
methods: {
getdateValue(val) {
this.startTime = val;
this.getbalanceIndexData();
},
getdateVal(val) {
this.endTime = val;
this.getbalanceIndexData();
},
getCurrentMonthFirst() {
var date = new Date();
date.setDate(1);
var month = parseInt(date.getMonth() + 1);
var day = date.getDate();
if (month < 10) month = "0" + month;
if (day < 10) day = "0" + day;
this.startTime = date.getFullYear() + "-" + month + "-" + day;
},
getCurrentMonthLast() {
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth() + 1;
month = month < 10 ? "0" + month : month;
var day = new Date(year, month, 0);
this.endTime = year + "-" + month + "-" + day.getDate();
},
handleCheckedCitiesChange(value) {
alert(value);
},
getAllVersionList() {
this.$axios
.posts("/api/settleaccount/CentralizedControl/openlist")
@ -578,21 +765,79 @@ export default {
this.listLoading = false;
});
},
//
getMaterialGroup() {
this.$axios
.posts("/api/settleaccount/CodeSetting/list", {
project: "物料组",
maxResultCount: 1000,
skipCount: 0,
})
.then((response) => {
this.materialGroupList = [];
response.items.forEach((element) => {
let options = {};
options.value = element.description;
options.label = element.description;
this.materialGroupList.push(options);
});
})
.catch(() => {
this.listLoading = false;
});
},
/* 重置 */
resetForm(formName) {
this.formCount = {};
this.datetime5 = [];
this.startTime = "";
this.endTime = "";
// this.datetime7 = [];
},
save() {
this.$refs.formCount.validate((valid) => {
if (valid) {
console.log("参数:" + JSON.stringify(this.formCount));
this.formLoading = true;
this.listExportQuery.version = this.formCount.versionValue;
this.listExportQuery.customerCode = this.formCount.customerCode;
console.log("导出条件:" + JSON.stringify(this.listExportQuery));
this.listExportQuery.version = this.formCount.versionValue; //
if (this.formCount.materialCode != "") {
this.listExportQuery.materialCode = this.formCount.materialCode; //
}
if (this.formCount.sapMaterialCode != "") {
this.listExportQuery.sapMaterialCode = this.formCount.sapMaterialCode; //
}
if (this.formCount.kennCode != "") {
this.listExportQuery.kenncode = this.formCount.kennCode; //KEEN
}
var getdate5 = JSON.stringify(this.datetime5);
if (getdate5 != "[]") {
alert(this.datetime5[0]);
this.listExportQuery.begin = this.datetime5
? this.datetime5[0] || undefined
: undefined;
this.listExportQuery.end = this.datetime5
? this.datetime5[1] || undefined
: undefined;
}
if (this.startTime != "") {
this.listExportQuery.cp7begin = this.startTime; //CP7
}
if (this.endTime != "") {
this.listExportQuery.cp7end = this.endTime; //CP5
}
if (this.formCount.chassisNumber != "") {
this.listExportQuery.chassisNumber = this.formCount.chassisNumber; //
}
if (this.formCount.materialGroupValue != "") {
this.listExportQuery.materialGroup =
this.formCount.materialGroupValue; //
}
console.log(
"大众发票与结算核对明细表-导出条件:" +
JSON.stringify(this.listExportQuery)
);
this.$axios
.gets(
"/api/settleaccount/ReportMakeService/SettledPartAndErpPartPriceDiff-Make",
"/api/settleaccount/ReportMakeService/InvoiceSettledDetailDiff-Make",
this.listExportQuery
)
.then((res) => {
@ -616,29 +861,10 @@ export default {
}
});
},
/** 筛选操作 */
handleFilter() {
this.page = 1;
this.getList();
this.listQuery.Filters = [];
if (this.searchContent != "") {
var column = "materialCode";
let filter = {
logic: 0,
column: column,
action: 0,
value: this.searchContent,
};
this.listQuery.Filters.push(filter);
}
this.getList();
},
handleCreate() {
// this.$nextTick(() => {
// this.$refs["formCount"].resetFields();
// });
this.$nextTick(() => {
this.$refs["formCount"].resetFields();
});
this.formTitle = "报表统计";
this.isEdit = false;
this.form = {};
@ -648,7 +874,7 @@ export default {
const property = column["property"];
return row[property] === value;
},
/** 任务详细信息 */
/* 任务详细信息 */
handleView(row) {
this.listQuery.taskId = row.taskId;
this.$axios
@ -670,9 +896,7 @@ export default {
this.openView = true;
});
},
/**
* 刷新
*/
/* 刷新 */
refresh() {
this.list = [];
this.listQuery.taskId = "";
@ -688,10 +912,9 @@ export default {
console.log("点击重置");
}
},
/**
* 导出类型的文件
*/
/* 导出类型的文件 */
downloadErrData(param) {
this.listLoading = true;
let fileNameOfProject = param;
this.$axios
.BolbGets(
@ -724,14 +947,13 @@ export default {
this.listLoading = false;
});
},
/** 刷新列表 */
/* 刷新列表 */
handleHandle(data) {
if (data.type !== "edit") {
this.getList();
}
},
/** 格式化字段 */
/* 格式化字段 */
fieldFormatter(row, column) {
if (column.property === "stateName") {
return {
@ -760,7 +982,7 @@ export default {
getList() {
this.listLoading = true;
//
this.listQuery.name = "结算总成和ERP总成价格对比";
this.listQuery.name = "大众发票与结算核对明细表";
this.$axios
.posts("/api/settleaccount/Job/list", this.listQuery)
.then((response) => {
@ -774,14 +996,14 @@ export default {
this.listLoading = false;
});
},
fetchData(id) {
//
this.$axios
.gets("/api/settleaccount/MaterialRelationship/" + id)
.then((response) => {
this.form = response;
});
},
// fetchData(id) {
// //
// this.$axios
// .gets("/api/settleaccount/MaterialRelationship/" + id)
// .then((response) => {
// this.form = response;
// });
// },
resetQuery() {},
/** 通过回调控制style */
cellStyle({ row, column, rowIndex, columnIndex }) {
@ -799,6 +1021,9 @@ export default {
//}
},
headerRowStyle({ row, column, rowIndex, columnIndex }) {
if (column.property === "stateName") {
return { textAlign: "center" };
}
return { textAlign: "center" };
},
handleRowClick(row, column, event) {
@ -813,6 +1038,11 @@ export default {
<style lang="scss" scoped>
@import "../../styles/crmtable.scss";
@import "../../styles/steps.scss";
</style>
/deep/ .el-checkbox input:focus {
outline: none !important;
border-color: gray;
border: 0px;
box-shadow: none !important;
}
</style>

301
vue/src/views/ux/billManage/InvoiceSettledDiff/index.vue

@ -1,11 +1,10 @@
<!--ERP总成开票报表-->
<!--发票与结算核对汇总-->
<template>
<div class="cr-body-content">
<!--功能栏-->
<!-- 搜索 -->
<div style="float: left">
<flexbox class="content-header">
<!-- 统计 -->
<el-button
class="filter-item"
size="mini"
@ -14,23 +13,6 @@
@click="handleCreate"
>统计
</el-button>
<!-- <el-input
v-model="searchContent"
clearable
size="small"
placeholder="按照零件号搜索..."
style="width: 200px"
class="search-container"
@keyup.enter.native="handleFilter"
/>
<el-button
size="mini"
type="success"
icon="el-icon-search"
@click="handleFilter"
>搜索
</el-button> -->
</flexbox>
</div>
<!-- 刷新 -->
@ -66,7 +48,6 @@
:data="list"
:height="tableHeight"
:cell-style="cellStyle"
:header-cell-style="headerRowStyle"
size="small"
stripe
border
@ -87,9 +68,7 @@
:gutter="0"
>
<template slot="header" slot-scope="scope">
<span>
{{ scope.column.label }}
</span>
</template>
</el-table-column>
@ -99,7 +78,6 @@
label="操作名称(单击箭头过滤)"
width="165"
column-key="actionName"
align="center"
:filters="[
{ text: '导出', value: '导出' },
{ text: '消息', value: '消息' },
@ -124,7 +102,7 @@
<el-table-column
prop="stateName"
label="状态(单击箭头过滤)"
width="155"
width="165"
column-key="stateName"
align="center"
:filters="[
@ -148,9 +126,9 @@
</template>
</el-table-column>
<!-- 操作 -->
<el-table-column label="操作" align="center" width="180">
<el-table-column label="操作" align="center" width="250">
<template slot-scope="scope">
<div align="left">
<div align="center">
<!-- <el-button
v-if="scope.row.actionName == '导出'"
size="mini"
@ -353,9 +331,9 @@
:close-on-click-modal="false"
:title="formTitle"
append-to-body
width="550px"
width="680px"
>
<el-form ref="formCount" :inline="true" :model="formCount" size="mini">
<el-form ref="formCount" :inline="true" :rules="rules" :model="formCount" size="mini">
<el-row>
<el-col :md="4" :xs="24">
<el-form-item label="选择版本" required />
@ -379,25 +357,19 @@
</el-form-item>
</el-col>
</el-row>
<!-- <el-row>
<el-row>
<el-col :md="4" :xs="24">
<el-form-item label="适用功能" required />
<el-form-item label="客户零件号" />
</el-col>
<el-col :md="20" :xs="24" style="margin-left: -80px">
<el-form-item prop="customerCode">
<el-select
v-model="formCount.customerCode"
size="medium"
clearable
style="width: 188px; margin-right: 15px"
placeholder="请选择"
>
<el-option label="结算" value="R0003"></el-option>
<el-option label="二配" value="R0001"></el-option>
</el-select>
<el-form-item>
<el-input v-model="formCount.materialCode" style="width:300px"/>
</el-form-item>
</el-col>
</el-row> -->
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<!-- <el-button type="text" @click="dialogFormVisible = false"
@ -418,6 +390,12 @@ import permission from "@/directive/permission/index.js";
import { downloadFile } from "@/utils/crmindex.js";
import CRMTableHead from "../../components/CRMTableHead";
import moment from "moment";
const cityOptions = [
{ id: 0, name: "未结" },
{ id: 1, name: "部分结算" },
{ id: 2, name: "已结" },
/* { id: 3, name: "预批量" }, */
];
export default {
name: "InvoiceSettledDiff",
@ -427,24 +405,72 @@ export default {
data() {
return {
crmType: "backJob",
rules: {
versionValue: [
{ required: true, message: "必须输入!", trigger: "change" },
],
},
pickerOptionsCp5: {
disabledDate: (time) => {
let now = new Date();
let monthEndDate = new Date(now.getFullYear(), now.getMonth() + 1, 0);
let timeEnd = Date.parse(monthEndDate);
if (timeEnd) {
return (
time.getTime() > time.getTime() > timeEnd - 8.64e7 ||
time.getTime() > timeEnd + 60 * 60 * 24 * 1000
); //
}
},
},
pickerOptions0: {
disabledDate: (time) => {
//if (this.endTime != "") {
//return time.getTime() >= new Date(this.endTime).getTime();
return time.getTime() > new Date(this.endTime).getTime();
//}
},
},
pickerOptions1: {
disabledDate: (time) => {
//return time.getTime() <= new Date(this.startTime).getTime() || time.getTime() > Date.now();
return time.getTime() <= new Date(this.startTime).getTime();
},
},
startTime: "",
endTime: "",
pickerOptionsCp7: {
disabledDate: (time) => {
let now = new Date();
let monthEndDate = new Date(now.getFullYear(), now.getMonth() + 1, 0);
let timeEnd = Date.parse(monthEndDate);
if (timeEnd) {
return (
time.getTime() > time.getTime() > timeEnd - 8.64e7 ||
time.getTime() > timeEnd + 60 * 60 * 24 * 1000
); //
}
},
},
datetime5: [],
datetime7: [],
checkedCities: [0],
cities: cityOptions,
selectValue: "",
selectNameValue: "",
valueSelect: "R0003",
radio: "0", //0 1
versionList: [],
materialGroupList: [],
//
openView: false,
versionValue: "",
materialGroupValue: "",
formTitle: "",
timer: null, //
//
activeIndex: 1,
//
activeName: "first",
rules: {
versionValue: [
{ required: true, message: "必须输入!", trigger: "change" },
],
},
//
stepList: [
{
@ -463,7 +489,17 @@ export default {
customerInfos: "",
searchContent: "", //
form: {},
formCount: { name: "结算与开票数据对比", customerCode: "R0003" },
formCount: {
name: "未结算对比",
// datetime5: [],
// datetime7: [],
settledate: "",
materialCode: "",
sapMaterialCode: "",
chassisNumber: "",
kennCode: "",
version: "",
},
list: null,
totalCount: 0,
listLoading: true,
@ -477,8 +513,14 @@ export default {
},
listExportQuery: {
version: "",
customerCode: "",
//apply:"",
materialCode: undefined,
cp7begin: undefined,
cp7end: undefined,
kenncode: undefined,
chassisNumber: undefined,
materialGroup: undefined,
begin: undefined,
end: undefined,
},
listQuery: {
taskId: "",
@ -497,7 +539,7 @@ export default {
{ label: "执行完成(任务成功)", value: "Succeeded", cssName: "success" },
{ label: "执行中...", value: "Processing", cssName: "primary" },
{ label: "执行完成(任务失败)", value: "Failed", cssName: "danger" },
{ label: "等待执行...", value: "Scheduled", cssName: "primary" },
{ label: "等待执行", value: "Scheduled", cssName: "primary" },
],
};
},
@ -516,10 +558,14 @@ export default {
this.$once("hook:beforeDestroy", () => {
clearInterval(timer);
});
//this.disabledDateCp5();
},
created() {
this.getAllVersionList();
this.getMaterialGroup();
this.getList();
// this.getCurrentMonthFirst();
// this.getCurrentMonthLast();
},
beforeDestroy() {
clearInterval(this.timer);
@ -533,27 +579,22 @@ export default {
tempsTabs.push({
label: "单据流水号",
prop: "taskId",
width: 70,
width: 85,
});
/* tempsTabs.push({
label: "当前版本",
prop: "version",
width: 140,
}); */
tempsTabs.push({
label: "模块名称",
prop: "name",
width: 150,
width: 170,
});
tempsTabs.push({
label: "邮箱",
label: "创建人",
prop: "email",
width: 105,
width: 110,
});
tempsTabs.push({
label: "创建时间",
prop: "createdAt",
width: 140,
width: 150,
});
// tempsTabs.push({
// label: "",
@ -569,34 +610,36 @@ export default {
},
},
methods: {
/* 导出功能 */
handleDownloadExport() {
if (this.versionValue === "") {
this.$message.error("请选择版本");
return false;
}
this.listLoading = true;
this.listExportQuery.version = this.versionValue;
console.log("导出条件:" + JSON.stringify(this.listExportQuery));
this.$axios
.posts(
"/api/settleaccount/ReportMakeService/SettledPartAndErpPartPriceDiff-Make",
this.listExportQuery
)
.then((res) => {
let taskid = res;
if (Number.isInteger(taskid)) {
this.$notify({
title: "成功",
message: "任务生成成功!任务号:" + taskid,
type: "success",
duration: 2000,
});
}
this.getList();
this.listLoading = false;
});
getdateValue(val) {
this.startTime = val;
this.getbalanceIndexData();
},
getdateVal(val) {
this.endTime = val;
this.getbalanceIndexData();
},
getCurrentMonthFirst() {
var date = new Date();
date.setDate(1);
var month = parseInt(date.getMonth() + 1);
var day = date.getDate();
if (month < 10) month = "0" + month;
if (day < 10) day = "0" + day;
this.startTime = date.getFullYear() + "-" + month + "-" + day;
},
getCurrentMonthLast() {
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth() + 1;
month = month < 10 ? "0" + month : month;
var day = new Date(year, month, 0);
this.endTime = year + "-" + month + "-" + day.getDate();
},
handleCheckedCitiesChange(value) {
alert(value);
},
getAllVersionList() {
this.$axios
.posts("/api/settleaccount/CentralizedControl/openlist")
@ -613,18 +656,70 @@ export default {
this.listLoading = false;
});
},
//
getMaterialGroup() {
this.$axios
.posts("/api/settleaccount/CodeSetting/list", {
project: "物料组",
maxResultCount: 1000,
skipCount: 0,
})
.then((response) => {
this.materialGroupList = [];
response.items.forEach((element) => {
let options = {};
options.value = element.description;
options.label = element.description;
this.materialGroupList.push(options);
});
})
.catch(() => {
this.listLoading = false;
});
},
/* 重置 */
resetForm(formName) {
this.formCount = {};
this.datetime5 = [];
this.startTime = "";
this.endTime = "";
// this.datetime7 = [];
},
save() {
this.$refs.formCount.validate((valid) => {
if (valid) {
console.log("参数:" + JSON.stringify(this.formCount));
this.formLoading = true;
this.listExportQuery.version = this.formCount.versionValue;
this.listExportQuery.customerCode = this.formCount.customerCode;
console.log("导出条件:" + JSON.stringify(this.listExportQuery));
this.listExportQuery.version = this.formCount.versionValue; //
if (this.formCount.materialCode != "") {
this.listExportQuery.materialCode = this.formCount.materialCode; //
}
// if (this.formCount.kennCode != "") {
// this.listExportQuery.kenncode = this.formCount.kennCode; //KEEN
// }
// var getdate5 = JSON.stringify(this.datetime5);
// if (getdate5 != "[]") {
// alert(this.datetime5[0]);
// this.listExportQuery.begin = this.datetime5
// ? this.datetime5[0] || undefined
// : undefined;
// this.listExportQuery.end = this.datetime5
// ? this.datetime5[1] || undefined
// : undefined;
// }
// if (this.startTime != "") {
// this.listExportQuery.cp7begin = this.startTime; //CP7
// }
// if (this.endTime != "") {
// this.listExportQuery.cp7end = this.endTime; //CP5
// }
// if (this.formCount.chassisNumber != "") {
// this.listExportQuery.chassisNumber = this.formCount.chassisNumber; //
// }
// if (this.formCount.materialGroupValue != "") {
// this.listExportQuery.materialGroup =
// this.formCount.materialGroupValue; //
// }
console.log("发票与结算核对汇总-导出条件:" + JSON.stringify(this.listExportQuery));
this.$axios
.gets(
"/api/settleaccount/ReportMakeService/InvoiceSettledDiff-Make",
@ -652,9 +747,9 @@ export default {
});
},
handleCreate() {
// this.$nextTick(() => {
// this.$refs["formCount"].resetFields();
// });
this.$nextTick(() => {
this.$refs["formCount"].resetFields();
});
this.formTitle = "报表统计";
this.isEdit = false;
this.form = {};
@ -704,6 +799,7 @@ export default {
},
/* 导出类型的文件 */
downloadErrData(param) {
this.listLoading = true;
let fileNameOfProject = param;
this.$axios
.BolbGets(
@ -771,7 +867,7 @@ export default {
getList() {
this.listLoading = true;
//
this.listQuery.name = "结算与开票数据对比";
this.listQuery.name = "大众发票与结算核对汇总表";
this.$axios
.posts("/api/settleaccount/Job/list", this.listQuery)
.then((response) => {
@ -793,7 +889,7 @@ export default {
// this.form = response;
// });
// },
// resetQuery() {},
resetQuery() {},
/** 通过回调控制style */
cellStyle({ row, column, rowIndex, columnIndex }) {
var item = this.list[rowIndex];
@ -813,7 +909,7 @@ export default {
if (column.property === "stateName") {
return { textAlign: "center" };
}
return { textAlign: "left" };
return { textAlign: "center" };
},
handleRowClick(row, column, event) {
this.$refs.multipleTable.clearSelection();
@ -827,6 +923,11 @@ export default {
<style lang="scss" scoped>
@import "../../styles/crmtable.scss";
@import "../../styles/steps.scss";
</style>
/deep/ .el-checkbox input:focus {
outline: none !important;
border-color: gray;
border: 0px;
box-shadow: none !important;
}
</style>

388
vue/src/views/ux/billManage/IssuedUnsettled/index.vue

@ -331,98 +331,154 @@
:close-on-click-modal="false"
:title="formTitle"
append-to-body
width="580px"
width="680px"
>
<el-form
ref="formCount"
:inline="true"
:rules="rules"
:model="formCount"
size="mini"
>
<el-form ref="formCount" :inline="true" :model="formCount" size="mini">
<el-row>
<el-col :md="4" :xs="24">
<el-form-item label="选择日期" />
<el-form-item label="选择版本" required />
</el-col>
<el-col :md="20" :xs="24" style="margin-left: -80px">
<el-form-item prop="datatime5">
<el-date-picker
v-model="formCount.datetime5"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd HH:mm:ss"
format="yyyy-MM-dd HH:mm:ss"
<el-form-item prop="versionValue">
<el-select
v-model="formCount.versionValue"
size="medium"
clearable
style="width: 188px; margin-right: 15px"
placeholder="请选择"
>
</el-date-picker>
<el-option
v-for="item in versionList"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :md="4" :xs="24">
<el-form-item label="物料组(车型)" />
</el-col>
<el-col :md="20" :xs="24" style="margin-left: -80px">
<el-form-item prop="materialGroupValue">
<el-select
v-model="formCount.materialGroupValue"
size="medium"
filterable
clearable
style="width: 188px; margin-right: 15px"
placeholder="请选择"
>
<el-option
v-for="item in materialGroupList"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<!-- <el-row>
<el-row>
<el-col :md="4" :xs="24">
<el-form-item label="CP7日期" />
<el-form-item label="CP5时间:" />
</el-col>
<el-col :md="20" :xs="24" style="margin-left: -80px">
<el-form-item prop="datatime7">
<el-form-item>
<el-date-picker
v-model="formCount.datetime7"
type="daterange"
v-model="datetime5"
type="datetimerange"
:picker-options="pickerOptionsCp5"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd HH:mm:ss"
format="yyyy-MM-dd HH:mm:ss"
:default-time="['00:00:00', '23:59:59']"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row> -->
<el-row>
</el-row>
<!-- <el-row>
<el-col :md="4" :xs="24">
<el-form-item label="结算状态" />
<el-form-item label="CP7时间:" />
</el-col>
<el-col :md="20" :xs="24" style="margin-left: -80px">
<el-form-item prop="state">
<!-- <el-radio v-model="formCount.state" label="0">未结</el-radio>
<el-radio v-model="formCount.state" label="1">部分结算</el-radio>
<el-radio v-model="formCount.state" label="2">已结</el-radio>
<el-radio v-model="formCount.state" label="3">预批量</el-radio> -->
<el-checkbox-group
v-model="formCount.state"
<el-col :md="10" :xs="24" style="margin-left: -80px">
<el-form-item>
<el-date-picker
v-model="startTime"
type="datetime"
size="small"
:picker-options="pickerOptions0"
@change="getdateValue"
value-format="yyyy-MM-dd HH:mm:ss"
default-time="00:00:00"
>
<!-- @change="handleCheckedCitiesChange" -->
<el-checkbox
v-for="(city, index) of cities"
:key="index"
:label="city.id"
@change="checkedListChange(index)"
>{{ city.name }}</el-checkbox
</el-date-picker>
</el-form-item>
</el-col>
<el-col :md="10" :xs="24" style="margin-left: -40px">
<el-form-item>
<el-date-picker
v-model="endTime"
type="datetime"
:picker-options="pickerOptions1"
size="small"
@change="getdateVal"
value-format="yyyy-MM-dd HH:mm:ss"
default-time="23:59:59"
>
</el-checkbox-group>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<!-- <el-row>
<el-row>
<el-col :md="4" :xs="24">
<el-form-item label="KEEN号" />
</el-col>
<el-col :md="10" :xs="24" style="margin-left: -80px">
<el-form-item>
<el-input v-model="formCount.kennCode" />
</el-form-item>
</el-col>
<el-col :md="4" :xs="24">
<el-form-item label="底盘号" />
</el-col>
<el-col :md="20" :xs="24" style="margin-left: -80px">
<el-form-item prop="vin">
<el-input v-model="formCount.vin" placeholder="请输入底盘号" />
<el-col :md="10" :xs="24" style="margin-left: -95px">
<el-form-item>
<el-input v-model="formCount.chassisNumber" />
</el-form-item>
</el-col>
</el-row>
</el-row> -->
<el-row>
<el-col :md="4" :xs="24">
<el-form-item label="结算包" />
<el-form-item label="客户零件号" />
</el-col>
<el-col :md="20" :xs="24" style="margin-left: -80px">
<el-form-item prop="settleMent">
<el-input v-model="formCount.settleMent" placeholder="请输入结算包" />
<el-col :md="10" :xs="24" style="margin-left: -80px">
<el-form-item>
<el-input v-model="formCount.materialCode" />
</el-form-item>
</el-col>
</el-row> -->
<el-col :md="4" :xs="24">
<el-form-item label="客户零件号" />
</el-col>
<el-col :md="10" :xs="24" style="margin-left: -95px">
<el-form-item>
<el-input v-model="formCount.sapMaterialCode" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<!-- <el-button type="text" @click="dialogFormVisible = false"
@ -451,22 +507,73 @@ const cityOptions = [
];
export default {
name: "IssuedUnsettled",
name: "UnsettledDetail",
components: { Pagination, CRMTableHead },
directives: { permission },
data() {
return {
crmType: "backJob",
rules: {
versionValue: [
{ required: true, message: "必须输入!", trigger: "change" },
],
},
pickerOptionsCp5: {
disabledDate: (time) => {
let now = new Date();
let monthEndDate = new Date(now.getFullYear(), now.getMonth() + 1, 0);
let timeEnd = Date.parse(monthEndDate);
if (timeEnd) {
return (
time.getTime() > time.getTime() > timeEnd - 8.64e7 ||
time.getTime() > timeEnd + 60 * 60 * 24 * 1000
); //
}
},
},
pickerOptions0: {
disabledDate: (time) => {
//if (this.endTime != "") {
//return time.getTime() >= new Date(this.endTime).getTime();
return time.getTime() > new Date(this.endTime).getTime();
//}
},
},
pickerOptions1: {
disabledDate: (time) => {
//return time.getTime() <= new Date(this.startTime).getTime() || time.getTime() > Date.now();
return time.getTime() <= new Date(this.startTime).getTime();
},
},
startTime: "",
endTime: "",
pickerOptionsCp7: {
disabledDate: (time) => {
let now = new Date();
let monthEndDate = new Date(now.getFullYear(), now.getMonth() + 1, 0);
let timeEnd = Date.parse(monthEndDate);
if (timeEnd) {
return (
time.getTime() > time.getTime() > timeEnd - 8.64e7 ||
time.getTime() > timeEnd + 60 * 60 * 24 * 1000
); //
}
},
},
datetime5: [],
datetime7: [],
checkedCities: [0],
cities: cityOptions,
selectValue: "",
selectNameValue: "",
radio: "0", //0 1
versionList: [],
materialGroupList: [],
//
openView: false,
versionValue: "",
materialGroupValue: "",
formTitle: "",
timer: null, //
//
@ -493,9 +600,14 @@ export default {
form: {},
formCount: {
name: "未结算对比",
datetime5: "",
datetime7: "",
state: [0],
// datetime5: [],
// datetime7: [],
settledate: "",
materialCode: "",
sapMaterialCode: "",
chassisNumber: "",
kennCode: "",
version: "",
},
list: null,
totalCount: 0,
@ -509,11 +621,15 @@ export default {
},
},
listExportQuery: {
//version: "",
//customerCode: "TH",
state: "",
begin: "",
end: "",
version: "",
materialCode: undefined,
cp7begin: undefined,
cp7end: undefined,
kenncode: undefined,
chassisNumber: undefined,
materialGroup: undefined,
begin: undefined,
end: undefined,
},
listQuery: {
taskId: "",
@ -551,10 +667,14 @@ export default {
this.$once("hook:beforeDestroy", () => {
clearInterval(timer);
});
//this.disabledDateCp5();
},
created() {
this.getAllVersionList();
this.getMaterialGroup();
this.getList();
// this.getCurrentMonthFirst();
// this.getCurrentMonthLast();
},
beforeDestroy() {
clearInterval(this.timer);
@ -599,37 +719,36 @@ export default {
},
},
methods: {
getdateValue(val) {
this.startTime = val;
this.getbalanceIndexData();
},
getdateVal(val) {
this.endTime = val;
this.getbalanceIndexData();
},
getCurrentMonthFirst() {
var date = new Date();
date.setDate(1);
var month = parseInt(date.getMonth() + 1);
var day = date.getDate();
if (month < 10) month = "0" + month;
if (day < 10) day = "0" + day;
this.startTime = date.getFullYear() + "-" + month + "-" + day;
},
getCurrentMonthLast() {
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth() + 1;
month = month < 10 ? "0" + month : month;
var day = new Date(year, month, 0);
this.endTime = year + "-" + month + "-" + day.getDate();
},
handleCheckedCitiesChange(value) {
alert(value);
},
/* 导出功能 */
handleDownloadExport() {
if (this.versionValue === "") {
this.$message.error("请选择版本");
return false;
}
this.listLoading = true;
this.listExportQuery.version = this.version;
console.log("导出条件:" + JSON.stringify(this.listExportQuery));
this.$axios
.posts(
"/api/settleaccount/ReportMakeService/UnSettledDiff-Make",
this.listExportQuery
)
.then((res) => {
let taskid = res;
if (Number.isInteger(taskid)) {
this.$notify({
title: "成功",
message: "任务生成成功!任务号:" + taskid,
type: "success",
duration: 2000,
});
}
this.getList();
this.listLoading = false;
});
},
getAllVersionList() {
this.$axios
.posts("/api/settleaccount/CentralizedControl/openlist")
@ -646,37 +765,79 @@ export default {
this.listLoading = false;
});
},
checkedListChange(index)
{
if(this.formCount.state.length === 0)
{
this.formCount.state.push(this.cities[index].id);
}
//
getMaterialGroup() {
this.$axios
.posts("/api/settleaccount/CodeSetting/list", {
project: "物料组",
maxResultCount: 1000,
skipCount: 0,
})
.then((response) => {
this.materialGroupList = [];
response.items.forEach((element) => {
let options = {};
options.value = element.description;
options.label = element.description;
this.materialGroupList.push(options);
});
})
.catch(() => {
this.listLoading = false;
});
},
/* 重置 */
resetForm(formName) {
//this.formCount = {};
this.formCount.datetime5 = "";
this.formCount.datetime7 = "";
this.formCount.state = [0];
this.formCount = {};
this.datetime5 = [];
this.startTime = "";
this.endTime = "";
// this.datetime7 = [];
},
save() {
this.$refs.formCount.validate((valid) => {
if (valid) {
console.log("参数:" + JSON.stringify(this.formCount));
this.formLoading = true;
//console.log(this.formCount.datetime);
this.listExportQuery.begin = this.formCount.datetime5[0];
this.listExportQuery.end = this.formCount.datetime5[1];
this.listExportQuery.state = this.formCount.state.join(',');
//console.log(this.formCount.state.join(','))
console.log(this.formCount.datetime5[0]);
console.log(this.formCount.datetime5[1]);
console.log(this.formCount.state);
console.log("导出条件:" + JSON.stringify(this.listExportQuery));
this.listExportQuery.version = this.formCount.versionValue; //
if (this.formCount.materialCode != "") {
this.listExportQuery.materialCode = this.formCount.materialCode; //
}
if (this.formCount.sapMaterialCode != "") {
this.listExportQuery.sapMaterialCode = this.formCount.sapMaterialCode; //
}
if (this.formCount.kennCode != "") {
this.listExportQuery.kenncode = this.formCount.kennCode; //KEEN
}
var getdate5 = JSON.stringify(this.datetime5);
if (getdate5 != "[]") {
alert(this.datetime5[0]);
this.listExportQuery.begin = this.datetime5
? this.datetime5[0] || undefined
: undefined;
this.listExportQuery.end = this.datetime5
? this.datetime5[1] || undefined
: undefined;
}
if (this.startTime != "") {
this.listExportQuery.cp7begin = this.startTime; //CP7
}
if (this.endTime != "") {
this.listExportQuery.cp7end = this.endTime; //CP5
}
if (this.formCount.chassisNumber != "") {
this.listExportQuery.chassisNumber = this.formCount.chassisNumber; //
}
if (this.formCount.materialGroupValue != "") {
this.listExportQuery.materialGroup =
this.formCount.materialGroupValue; //
}
console.log(
"大众准时化未结明细-导出条件:" +
JSON.stringify(this.listExportQuery)
);
this.$axios
.gets(
"/api/settleaccount/ReportMakeService/UnSettledDiff-Make",
"/api/settleaccount/ReportMakeService/UnsettledDetailReportService-Make",
this.listExportQuery
)
.then((res) => {
@ -821,7 +982,7 @@ export default {
getList() {
this.listLoading = true;
//
this.listQuery.name = "未结算对比";
this.listQuery.name = "大众准时化未结明细表";
this.$axios
.posts("/api/settleaccount/Job/list", this.listQuery)
.then((response) => {
@ -878,11 +1039,10 @@ export default {
@import "../../styles/crmtable.scss";
@import "../../styles/steps.scss";
/deep/ .el-checkbox input:focus{
outline:none !important;
/deep/ .el-checkbox input:focus {
outline: none !important;
border-color: gray;
border: 0px;
box-shadow: none !important;
}
}
</style>

364
vue/src/views/ux/billManage/PriceQtyDiff/index.vue → vue/src/views/ux/billManage/UnInvoiceSettledDetailDiff/index.vue

@ -1,10 +1,10 @@
<!--价差量差分析报表-->
<!--准时化结算数量差异比对-->
<template>
<div class="cr-body-content">
<!--功能栏-->
<!-- 搜索 -->
<div style="float: left">
<flexbox class="content-header">
<!-- 统计 -->
<el-button
class="filter-item"
size="mini"
@ -13,23 +13,6 @@
@click="handleCreate"
>统计
</el-button>
<!-- <el-input
v-model="searchContent"
clearable
size="small"
placeholder="按照零件号搜索..."
style="width: 200px"
class="search-container"
@keyup.enter.native="handleFilter"
/>
<el-button
size="mini"
type="success"
icon="el-icon-search"
@click="handleFilter"
>搜索
</el-button> -->
</flexbox>
</div>
<!-- 刷新 -->
@ -65,7 +48,6 @@
:data="list"
:height="tableHeight"
:cell-style="cellStyle"
:header-cell-style="headerRowStyle"
size="small"
stripe
border
@ -96,7 +78,6 @@
label="操作名称(单击箭头过滤)"
width="165"
column-key="actionName"
align="center"
:filters="[
{ text: '导出', value: '导出' },
{ text: '消息', value: '消息' },
@ -121,7 +102,7 @@
<el-table-column
prop="stateName"
label="状态(单击箭头过滤)"
width="155"
width="165"
column-key="stateName"
align="center"
:filters="[
@ -145,7 +126,7 @@
</template>
</el-table-column>
<!-- 操作 -->
<el-table-column label="操作" align="center" width="180">
<el-table-column label="操作" align="center" width="250">
<template slot-scope="scope">
<div align="center">
<!-- <el-button
@ -350,9 +331,9 @@
:close-on-click-modal="false"
:title="formTitle"
append-to-body
width="550px"
width="680px"
>
<el-form ref="formCount" :inline="true" :model="formCount" size="mini">
<el-form ref="formCount" :inline="true" :rules="rules" :model="formCount" size="mini">
<el-row>
<el-col :md="4" :xs="24">
<el-form-item label="选择版本" required />
@ -376,6 +357,123 @@
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :md="4" :xs="24">
<el-form-item label="客户零件号" />
</el-col>
<el-col :md="20" :xs="24" style="margin-left: -80px">
<el-form-item>
<el-input v-model="formCount.materialCode" style="width:300px"/>
</el-form-item>
</el-col>
<!-- <el-col :md="4" :xs="24">
<el-form-item label="客户零件号" />
</el-col>
<el-col :md="10" :xs="24" style="margin-left: -95px">
<el-form-item>
<el-input v-model="formCount.sapMaterialCode" />
</el-form-item>
</el-col> -->
</el-row>
<!-- <el-row>
<el-col :md="4" :xs="24">
<el-form-item label="物料组(车型)" />
</el-col>
<el-col :md="20" :xs="24" style="margin-left: -80px">
<el-form-item prop="materialGroupValue">
<el-select
v-model="formCount.materialGroupValue"
size="medium"
filterable
clearable
style="width: 188px; margin-right: 15px"
placeholder="请选择"
>
<el-option
v-for="item in materialGroupList"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row> -->
<el-row>
<el-col :md="4" :xs="24">
<el-form-item label="CP5时间:" />
</el-col>
<el-col :md="20" :xs="24" style="margin-left: -80px">
<el-form-item>
<el-date-picker
v-model="datetime5"
type="datetimerange"
:picker-options="pickerOptionsCp5"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd HH:mm:ss"
:default-time="['00:00:00', '23:59:59']"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :md="4" :xs="24">
<el-form-item label="CP7时间:" />
</el-col>
<el-col :md="10" :xs="24" style="margin-left: -80px">
<el-form-item>
<el-date-picker
v-model="startTime"
type="datetime"
size="small"
:picker-options="pickerOptions0"
@change="getdateValue"
value-format="yyyy-MM-dd HH:mm:ss"
default-time="00:00:00"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :md="10" :xs="24" style="margin-left: -40px">
<el-form-item>
<el-date-picker
v-model="endTime"
type="datetime"
:picker-options="pickerOptions1"
size="small"
@change="getdateVal"
value-format="yyyy-MM-dd HH:mm:ss"
default-time="23:59:59"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :md="4" :xs="24">
<el-form-item label="KEEN号" />
</el-col>
<el-col :md="10" :xs="24" style="margin-left: -80px">
<el-form-item>
<el-input v-model="formCount.kennCode" />
</el-form-item>
</el-col>
<el-col :md="4" :xs="24">
<el-form-item label="底盘号" />
</el-col>
<el-col :md="10" :xs="24" style="margin-left: -95px">
<el-form-item>
<el-input v-model="formCount.chassisNumber" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<!-- <el-button type="text" @click="dialogFormVisible = false"
@ -397,31 +495,80 @@ import { downloadFile } from "@/utils/crmindex.js";
import CRMTableHead from "../../components/CRMTableHead";
import moment from "moment";
export default {
name: "PriceQtyDiff",
name: "UnInvoiceSettledDetailDiff",
components: { Pagination, CRMTableHead },
directives: { permission },
data() {
return {
crmType: "backJob",
rules: {
versionValue: [
{ required: true, message: "必须输入!", trigger: "change" },
],
},
pickerOptionsCp5: {
disabledDate: (time) => {
let now = new Date();
let monthEndDate = new Date(now.getFullYear(), now.getMonth() + 1, 0);
let timeEnd = Date.parse(monthEndDate);
if (timeEnd) {
return (
time.getTime() > time.getTime() > timeEnd - 8.64e7 ||
time.getTime() > timeEnd + 60 * 60 * 24 * 1000
); //
}
},
},
pickerOptions0: {
disabledDate: (time) => {
//if (this.endTime != "") {
//return time.getTime() >= new Date(this.endTime).getTime();
return time.getTime() > new Date(this.endTime).getTime();
//}
},
},
pickerOptions1: {
disabledDate: (time) => {
//return time.getTime() <= new Date(this.startTime).getTime() || time.getTime() > Date.now();
return time.getTime() <= new Date(this.startTime).getTime();
},
},
startTime: "",
endTime: "",
pickerOptionsCp7: {
disabledDate: (time) => {
let now = new Date();
let monthEndDate = new Date(now.getFullYear(), now.getMonth() + 1, 0);
let timeEnd = Date.parse(monthEndDate);
if (timeEnd) {
return (
time.getTime() > time.getTime() > timeEnd - 8.64e7 ||
time.getTime() > timeEnd + 60 * 60 * 24 * 1000
); //
}
},
},
datetime5: [],
datetime7: [],
checkedCities: [0],
selectValue: "",
selectNameValue: "",
radio: "0", //0 1
versionList: [],
materialGroupList: [],
//
openView: false,
versionValue: "",
materialGroupValue: "",
formTitle: "",
timer: null, //
//
activeIndex: 1,
//
activeName: "first",
rules: {
versionValue: [
{ required: true, message: "必须输入!", trigger: "change" },
],
},
//
stepList: [
{
@ -440,7 +587,17 @@ export default {
customerInfos: "",
searchContent: "", //
form: {},
formCount: { name: "价差量差分析报表" },
formCount: {
name: "未结算对比",
// datetime5: [],
// datetime7: [],
settledate: "",
materialCode: "",
sapMaterialCode: "",
chassisNumber: "",
kennCode: "",
version: "",
},
list: null,
totalCount: 0,
listLoading: true,
@ -454,8 +611,14 @@ export default {
},
listExportQuery: {
version: "",
customerCode: "TH",
//apply:"",
materialCode: undefined,
cp7begin: undefined,
cp7end: undefined,
kenncode: undefined,
chassisNumber: undefined,
materialGroup: undefined,
begin: undefined,
end: undefined,
},
listQuery: {
taskId: "",
@ -493,10 +656,14 @@ export default {
this.$once("hook:beforeDestroy", () => {
clearInterval(timer);
});
//this.disabledDateCp5();
},
created() {
this.getAllVersionList();
this.getMaterialGroup();
this.getList();
// this.getCurrentMonthFirst();
// this.getCurrentMonthLast();
},
beforeDestroy() {
clearInterval(this.timer);
@ -510,27 +677,22 @@ export default {
tempsTabs.push({
label: "单据流水号",
prop: "taskId",
width: 80,
width: 85,
});
/* tempsTabs.push({
label: "当前版本",
prop: "version",
width: 140,
}); */
tempsTabs.push({
label: "模块名称",
prop: "name",
width: 150,
width: 170,
});
tempsTabs.push({
label: "创建人",
prop: "email",
width: 105,
width: 110,
});
tempsTabs.push({
label: "创建时间",
prop: "createdAt",
width: 140,
width: 150,
});
// tempsTabs.push({
// label: "",
@ -546,7 +708,36 @@ export default {
},
},
methods: {
//
getdateValue(val) {
this.startTime = val;
this.getbalanceIndexData();
},
getdateVal(val) {
this.endTime = val;
this.getbalanceIndexData();
},
getCurrentMonthFirst() {
var date = new Date();
date.setDate(1);
var month = parseInt(date.getMonth() + 1);
var day = date.getDate();
if (month < 10) month = "0" + month;
if (day < 10) day = "0" + day;
this.startTime = date.getFullYear() + "-" + month + "-" + day;
},
getCurrentMonthLast() {
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth() + 1;
month = month < 10 ? "0" + month : month;
var day = new Date(year, month, 0);
this.endTime = year + "-" + month + "-" + day.getDate();
},
handleCheckedCitiesChange(value) {
alert(value);
},
getAllVersionList() {
this.$axios
.posts("/api/settleaccount/CentralizedControl/openlist")
@ -563,23 +754,73 @@ export default {
this.listLoading = false;
});
},
//
getMaterialGroup() {
this.$axios
.posts("/api/settleaccount/CodeSetting/list", {
project: "物料组",
maxResultCount: 1000,
skipCount: 0,
})
.then((response) => {
this.materialGroupList = [];
response.items.forEach((element) => {
let options = {};
options.value = element.description;
options.label = element.description;
this.materialGroupList.push(options);
});
})
.catch(() => {
this.listLoading = false;
});
},
/* 重置 */
resetForm(formName) {
this.formCount = {};
this.datetime5 = [];
this.startTime = "";
this.endTime = "";
// this.datetime7 = [];
},
save() {
this.$refs.formCount.validate((valid) => {
if (valid) {
console.log("参数:" + JSON.stringify(this.formCount));
this.formLoading = true;
this.listExportQuery.version = this.formCount.versionValue;
//this.listExportQuery.customerCode = this.formCount.customerCode;
console.log(
"价差量差,传入条件:" + JSON.stringify(this.listExportQuery)
);
this.listExportQuery.version = this.formCount.versionValue; //
if (this.formCount.materialCode != "") {
this.listExportQuery.materialCode = this.formCount.materialCode; //
}
if (this.formCount.kennCode != "") {
this.listExportQuery.kenncode = this.formCount.kennCode; //KEEN
}
var getdate5 = JSON.stringify(this.datetime5);
if (getdate5 != "[]") {
alert(this.datetime5[0]);
this.listExportQuery.begin = this.datetime5
? this.datetime5[0] || undefined
: undefined;
this.listExportQuery.end = this.datetime5
? this.datetime5[1] || undefined
: undefined;
}
if (this.startTime != "") {
this.listExportQuery.cp7begin = this.startTime; //CP7
}
if (this.endTime != "") {
this.listExportQuery.cp7end = this.endTime; //CP5
}
if (this.formCount.chassisNumber != "") {
this.listExportQuery.chassisNumber = this.formCount.chassisNumber; //
}
// if (this.formCount.materialGroupValue != "") {
// this.listExportQuery.materialGroup =
// this.formCount.materialGroupValue; //
// }
console.log("准时化结算数量差异比对-导出条件:" + JSON.stringify(this.listExportQuery));
this.$axios
.gets(
"/api/settleaccount/ReportMakeService/PriceQtyDiff-Make",
"/api/settleaccount/ReportMakeService/UnInvoiceSettledDetailDiff-Make",
this.listExportQuery
)
.then((res) => {
@ -604,9 +845,9 @@ export default {
});
},
handleCreate() {
// this.$nextTick(() => {
// this.$refs["formCount"].resetFields();
// });
this.$nextTick(() => {
this.$refs["formCount"].resetFields();
});
this.formTitle = "报表统计";
this.isEdit = false;
this.form = {};
@ -655,7 +896,8 @@ export default {
}
},
/* 导出类型的文件 */
downloadErrData(param) {alert(param)
downloadErrData(param) {
this.listLoading = true;
let fileNameOfProject = param;
this.$axios
.BolbGets(
@ -723,7 +965,7 @@ export default {
getList() {
this.listLoading = true;
//
this.listQuery.name = "价差量差分析报表";
this.listQuery.name = "大众结算未发运核对明细表";
this.$axios
.posts("/api/settleaccount/Job/list", this.listQuery)
.then((response) => {
@ -745,7 +987,7 @@ export default {
// this.form = response;
// });
// },
// resetQuery() {},
resetQuery() {},
/** 通过回调控制style */
cellStyle({ row, column, rowIndex, columnIndex }) {
var item = this.list[rowIndex];
@ -779,6 +1021,12 @@ export default {
<style lang="scss" scoped>
@import "../../styles/crmtable.scss";
@import "../../styles/steps.scss";
</style>
/deep/ .el-checkbox input:focus {
outline: none !important;
border-color: gray;
border: 0px;
box-shadow: none !important;
}
</style>

1050
vue/src/views/ux/billManage/UnSettleDiffExport/index.vue

File diff suppressed because it is too large

445
vue/src/views/ux/billManage/audiAndvw/index.vue → vue/src/views/ux/billManage/UnSettledDiff/index.vue

@ -1,18 +1,21 @@
<!--二配报表-->
<!--大众准时化未结比对-->
<template>
<div class="cr-body-content">
<!--功能栏-->
<!-- 搜索 -->
<div style="float: left">
<flexbox class="content-header">
<el-button
class="filter-item"
size="mini"
type="primary"
icon="el-icon-plus"
size="mini"
@click="handleCreate"
>统计<!-- 报表(输出Excel文件) -->
>统计
</el-button>
</flexbox>
</div>
<!-- 刷新 -->
<div style="float: right">
<flexbox class="content-header">
<el-tooltip
@ -28,13 +31,14 @@
@click="refresh()"
/>
</el-tooltip>
<span style="margin-left: 10px; color: #ff5640"
<span style="margin-left: 10px; color: #ff5640; float: right"
>说明每间隔30秒进行自动刷新</span
>
</flexbox>
</div>
<!--表格渲染-->
<!--主页面表格渲染-->
<el-table
ref="multipleTable"
v-loading="listLoading"
@ -44,7 +48,6 @@
:data="list"
:height="tableHeight"
:cell-style="cellStyle"
:header-cell-style="headerRowStyle"
size="small"
stripe
border
@ -60,20 +63,27 @@
:label="item.label"
:min-width="item.width"
:formatter="fieldFormatter"
sortable
show-overflow-tooltip
:gutter="0"
sortable
>
<template slot="header" slot-scope="scope">
{{ scope.column.label }}
</template>
</el-table-column>
<!-- 操作名称 -->
<el-table-column
prop="actionName"
label="操作名称(单击箭头过滤)"
width="165"
column-key="actionName"
label="导出类型"
sortable
:filters="[
{ text: '导出', value: '导出' },
{ text: '消息', value: '消息' },
]"
filter-placement="bottom-end"
:filter-method="filterHandler"
>
<template slot-scope="scope">
<div align="center">
@ -88,21 +98,21 @@
</div>
</template>
</el-table-column>
<!-- 状态 -->
<el-table-column
prop="stateName"
label="状态(单击箭头过滤)"
width="185"
align="center"
width="165"
column-key="stateName"
align="center"
:filters="[
{ text: '执行完成(任务成功)', value: 'Succeeded' },
{ text: '执行完成(任务失败)', value: 'Failed' },
{ text: '执行中', value: 'Processing' },
{ text: '等待执行', value: '等待执行' },
{ text: '等待执行', value: 'Scheduled' },
]"
filter-placement="bottom-end"
:filter-method="filterHandler"
sortable
>
<template slot-scope="scope">
<el-tag
@ -115,15 +125,16 @@
</el-tag>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="280" sortable>
<!-- 操作 -->
<el-table-column label="操作" align="center" width="250">
<template slot-scope="scope">
<div align="center">
<!-- <el-button
v-if="scope.row.actionName == '导出'"
size="mini"
type="text"
@click="handleDownload(scope.row)"
icon="el-icon-edit"
style="margin-left: 100px"
>下载</el-button
> -->
<el-button
@ -150,11 +161,13 @@
icon="el-icon-edit"
>检验失败下载</el-button
>
</div>
</template>
</el-table-column>
</el-table>
<div class="table-footer">
<!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"-->
<div class="table-footer">
<pagination
v-show="totalCount > 0"
:total="totalCount"
@ -311,13 +324,14 @@
<el-button @click="openView = false"> </el-button>
</div>
</el-dialog>
<!--表单渲染-->
<!--统计功能表单渲染-->
<el-dialog
:visible.sync="dialogFormVisible"
:close-on-click-modal="false"
:title="formTitle"
append-to-body
width="550px"
width="680px"
>
<el-form
ref="formCount"
@ -349,31 +363,128 @@
</el-form-item>
</el-col>
</el-row>
<el-row>
<!-- <el-row>
<el-col :md="4" :xs="24">
<el-form-item label="选择工厂" required />
<el-form-item label="物料组(车型)" />
</el-col>
<el-col :md="20" :xs="24" style="margin-left: -80px">
<el-form-item prop="customerCode">
<el-form-item prop="materialGroupValue">
<el-select
v-model="formCount.customerCode"
v-model="formCount.materialGroupValue"
size="medium"
filterable
clearable
style="width: 188px; margin-right: 15px"
placeholder="请选择"
>
<el-option label="奥迪" value="audi"></el-option>
<el-option label="宝来" value="boro"></el-option>
<el-option
v-for="item in materialGroupList"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row> -->
<el-row>
<el-col :md="4" :xs="24">
<el-form-item label="CP5时间:" />
</el-col>
<el-col :md="20" :xs="24" style="margin-left: -80px">
<el-form-item>
<el-date-picker
v-model="datetime5"
type="datetimerange"
:picker-options="pickerOptionsCp5"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd HH:mm:ss"
:default-time="['00:00:00', '23:59:59']"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<!-- <el-row>
<el-col :md="4" :xs="24">
<el-form-item label="CP7时间:" />
</el-col>
<el-col :md="10" :xs="24" style="margin-left: -80px">
<el-form-item>
<el-date-picker
v-model="startTime"
type="datetime"
size="small"
:picker-options="pickerOptions0"
@change="getdateValue"
value-format="yyyy-MM-dd HH:mm:ss"
default-time="00:00:00"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :md="10" :xs="24" style="margin-left: -40px">
<el-form-item>
<el-date-picker
v-model="endTime"
type="datetime"
:picker-options="pickerOptions1"
size="small"
@change="getdateVal"
value-format="yyyy-MM-dd HH:mm:ss"
default-time="23:59:59"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :md="4" :xs="24">
<el-form-item label="KEEN号" />
</el-col>
<el-col :md="10" :xs="24" style="margin-left: -80px">
<el-form-item>
<el-input v-model="formCount.kennCode" />
</el-form-item>
</el-col>
<el-col :md="4" :xs="24">
<el-form-item label="底盘号" />
</el-col>
<el-col :md="10" :xs="24" style="margin-left: -95px">
<el-form-item>
<el-input v-model="formCount.chassisNumber" />
</el-form-item>
</el-col>
</el-row> -->
<el-row>
<el-col :md="4" :xs="24">
<el-form-item label="客户零件号" />
</el-col>
<el-col :md="10" :xs="24" style="margin-left: -80px">
<el-form-item>
<el-input v-model="formCount.materialCode" />
</el-form-item>
</el-col>
<!-- <el-col :md="4" :xs="24">
<el-form-item label="厂内零件号" />
</el-col>
<el-col :md="10" :xs="24" style="margin-left: -95px">
<el-form-item>
<el-input v-model="formCount.sapMaterialCode" />
</el-form-item>
</el-col> -->
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="dialogFormVisible = false"
<!-- <el-button type="text" @click="dialogFormVisible = false"
>取消</el-button
>
<!-- <el-button @click="resetForm('formCount')">重置</el-button> -->
> -->
<el-button @click="resetForm('formCount')">重置</el-button>
<el-button v-loading="formLoading" type="primary" @click="save"
>确认</el-button
>
@ -389,26 +500,74 @@ import { downloadFile } from "@/utils/crmindex.js";
import CRMTableHead from "../../components/CRMTableHead";
import moment from "moment";
export default {
name: "SettledPartAndErpPartPriceDiff",
name: "InvoiceSettledDetailDiff",
components: { Pagination, CRMTableHead },
directives: { permission },
data() {
return {
crmType: "backJob",
//customerCode: "R0003",
rules: {
versionValue: [
{ required: true, message: "必须输入!", trigger: "change" },
],
},
pickerOptionsCp5: {
disabledDate: (time) => {
let now = new Date();
let monthEndDate = new Date(now.getFullYear(), now.getMonth() + 1, 0);
let timeEnd = Date.parse(monthEndDate);
if (timeEnd) {
return (
time.getTime() > time.getTime() > timeEnd - 8.64e7 ||
time.getTime() > timeEnd + 60 * 60 * 24 * 1000
); //
}
},
},
pickerOptions0: {
disabledDate: (time) => {
//if (this.endTime != "") {
//return time.getTime() >= new Date(this.endTime).getTime();
return time.getTime() > new Date(this.endTime).getTime();
//}
},
},
pickerOptions1: {
disabledDate: (time) => {
//return time.getTime() <= new Date(this.startTime).getTime() || time.getTime() > Date.now();
return time.getTime() <= new Date(this.startTime).getTime();
},
},
startTime: "",
endTime: "",
pickerOptionsCp7: {
disabledDate: (time) => {
let now = new Date();
let monthEndDate = new Date(now.getFullYear(), now.getMonth() + 1, 0);
let timeEnd = Date.parse(monthEndDate);
if (timeEnd) {
return (
time.getTime() > time.getTime() > timeEnd - 8.64e7 ||
time.getTime() > timeEnd + 60 * 60 * 24 * 1000
); //
}
},
},
datetime5: [],
datetime7: [],
checkedCities: [0],
selectValue: "",
selectNameValue: "",
radio: "0", //0 1
versionList: [],
materialGroupList: [],
//
openView: false,
versionValue: "",
materialGroupValue: "",
formTitle: "",
timer: null, //
//
@ -433,7 +592,17 @@ export default {
customerInfos: "",
searchContent: "", //
form: {},
formCount: {},
formCount: {
name: "未结算对比",
// datetime5: [],
// datetime7: [],
settledate: "",
materialCode: "",
sapMaterialCode: "",
chassisNumber: "",
kennCode: "",
version: "",
},
list: null,
totalCount: 0,
listLoading: true,
@ -447,18 +616,16 @@ export default {
},
listExportQuery: {
version: "",
customerCode: "",
//apply:"",
materialCode: undefined,
cp7begin: undefined,
cp7end: undefined,
kenncode: undefined,
chassisNumber: undefined,
materialGroup: undefined,
begin: undefined,
end: undefined,
},
listQuery: {
Filters: [
{
logic: 0,
column: "Enabled",
action: 0,
value: "true",
}, //
],
taskId: "",
name: "",
},
@ -468,7 +635,6 @@ export default {
tableHeight: document.documentElement.clientHeight - 260,
isEdit: false,
menuCateMap: [
{ label: "导入", value: "导入", cssName: "primary" },
{ label: "导出", value: "导出", cssName: "warning" },
{ label: "消息", value: "消息", cssName: "info" },
],
@ -495,43 +661,38 @@ export default {
this.$once("hook:beforeDestroy", () => {
clearInterval(timer);
});
//this.disabledDateCp5();
},
created() {
this.getAllVersionList();
this.getMaterialGroup();
this.getList();
// this.getCurrentMonthFirst();
// this.getCurrentMonthLast();
},
beforeDestroy() {
clearInterval(this.timer);
this.timer = null;
},
computed: {
/* 主表头 */
getDefaultField() {
var tempsTabs = [];
tempsTabs.push({
label: "单据流水号",
prop: "taskId",
width: 120,
width: 85,
});
tempsTabs.push({
label: "模块名称",
prop: "name",
width: 200,
width: 170,
});
// tempsTabs.push({
// label: "",
// prop: "actionName",
// width: 120,
// });
tempsTabs.push({
label: "创建人",
prop: "creator",
width: 100,
});
tempsTabs.push({
label: "电子邮箱",
prop: "email",
width: 120,
width: 110,
});
tempsTabs.push({
label: "创建时间",
@ -539,6 +700,11 @@ export default {
width: 150,
});
// tempsTabs.push({
// label: "",
// prop: "actionName",
// width: 120,
// });
// tempsTabs.push({
// label: "",
// prop: "stateName",
// width: 100,
@ -547,6 +713,36 @@ export default {
},
},
methods: {
getdateValue(val) {
this.startTime = val;
this.getbalanceIndexData();
},
getdateVal(val) {
this.endTime = val;
this.getbalanceIndexData();
},
getCurrentMonthFirst() {
var date = new Date();
date.setDate(1);
var month = parseInt(date.getMonth() + 1);
var day = date.getDate();
if (month < 10) month = "0" + month;
if (day < 10) day = "0" + day;
this.startTime = date.getFullYear() + "-" + month + "-" + day;
},
getCurrentMonthLast() {
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth() + 1;
month = month < 10 ? "0" + month : month;
var day = new Date(year, month, 0);
this.endTime = year + "-" + month + "-" + day.getDate();
},
handleCheckedCitiesChange(value) {
alert(value);
},
getAllVersionList() {
this.$axios
.posts("/api/settleaccount/CentralizedControl/openlist")
@ -563,21 +759,79 @@ export default {
this.listLoading = false;
});
},
//
getMaterialGroup() {
this.$axios
.posts("/api/settleaccount/CodeSetting/list", {
project: "物料组",
maxResultCount: 1000,
skipCount: 0,
})
.then((response) => {
this.materialGroupList = [];
response.items.forEach((element) => {
let options = {};
options.value = element.description;
options.label = element.description;
this.materialGroupList.push(options);
});
})
.catch(() => {
this.listLoading = false;
});
},
/* 重置 */
resetForm(formName) {
this.formCount = {};
this.datetime5 = [];
this.startTime = "";
this.endTime = "";
// this.datetime7 = [];
},
save() {
this.$refs.formCount.validate((valid) => {
if (valid) {
console.log("参数:" + JSON.stringify(this.formCount));
this.formLoading = true;
this.listExportQuery.version = this.formCount.versionValue;
this.listExportQuery.customerCode = this.formCount.customerCode;
console.log("导出条件:" + JSON.stringify(this.listExportQuery));
this.listExportQuery.version = this.formCount.versionValue; //
if (this.formCount.materialCode != "") {
this.listExportQuery.materialCode = this.formCount.materialCode; //
}
if (this.formCount.sapMaterialCode != "") {
this.listExportQuery.sapMaterialCode = this.formCount.sapMaterialCode; //
}
if (this.formCount.kennCode != "") {
this.listExportQuery.kenncode = this.formCount.kennCode; //KEEN
}
var getdate5 = JSON.stringify(this.datetime5);
if (getdate5 != "[]") {
alert(this.datetime5[0]);
this.listExportQuery.begin = this.datetime5
? this.datetime5[0] || undefined
: undefined;
this.listExportQuery.end = this.datetime5
? this.datetime5[1] || undefined
: undefined;
}
if (this.startTime != "") {
this.listExportQuery.cp7begin = this.startTime; //CP7
}
if (this.endTime != "") {
this.listExportQuery.cp7end = this.endTime; //CP5
}
if (this.formCount.chassisNumber != "") {
this.listExportQuery.chassisNumber = this.formCount.chassisNumber; //
}
if (this.formCount.materialGroupValue != "") {
this.listExportQuery.materialGroup =
this.formCount.materialGroupValue; //
}
console.log(
"大众发票与结算核对明细表-导出条件:" +
JSON.stringify(this.listExportQuery)
);
this.$axios
.gets(
"/api/settleaccount/ReportMakeService/SettledPartAndErpPartPriceDiff-Make",
"/api/settleaccount/ReportMakeService/InvoiceSettledDetailDiff-Make",
this.listExportQuery
)
.then((res) => {
@ -601,29 +855,10 @@ export default {
}
});
},
/** 筛选操作 */
handleFilter() {
this.page = 1;
this.getList();
this.listQuery.Filters = [];
if (this.searchContent != "") {
var column = "materialCode";
let filter = {
logic: 0,
column: column,
action: 0,
value: this.searchContent,
};
this.listQuery.Filters.push(filter);
}
this.getList();
},
handleCreate() {
// this.$nextTick(() => {
// this.$refs["formCount"].resetFields();
// });
this.$nextTick(() => {
this.$refs["formCount"].resetFields();
});
this.formTitle = "报表统计";
this.isEdit = false;
this.form = {};
@ -633,7 +868,7 @@ export default {
const property = column["property"];
return row[property] === value;
},
/** 任务详细信息 */
/* 任务详细信息 */
handleView(row) {
this.listQuery.taskId = row.taskId;
this.$axios
@ -655,9 +890,7 @@ export default {
this.openView = true;
});
},
/**
* 刷新
*/
/* 刷新 */
refresh() {
this.list = [];
this.listQuery.taskId = "";
@ -673,10 +906,9 @@ export default {
console.log("点击重置");
}
},
/**
* 导出类型的文件
*/
/* 导出类型的文件 */
downloadErrData(param) {
this.listLoading = true;
let fileNameOfProject = param;
this.$axios
.BolbGets(
@ -709,14 +941,13 @@ export default {
this.listLoading = false;
});
},
/** 刷新列表 */
/* 刷新列表 */
handleHandle(data) {
if (data.type !== "edit") {
this.getList();
}
},
/** 格式化字段 */
/* 格式化字段 */
fieldFormatter(row, column) {
if (column.property === "stateName") {
return {
@ -745,7 +976,7 @@ export default {
getList() {
this.listLoading = true;
//
this.listQuery.name = "结算总成和ERP总成价格对比";
this.listQuery.name = "大众准时化未结明细表";
this.$axios
.posts("/api/settleaccount/Job/list", this.listQuery)
.then((response) => {
@ -759,14 +990,14 @@ export default {
this.listLoading = false;
});
},
fetchData(id) {
//
this.$axios
.gets("/api/settleaccount/MaterialRelationship/" + id)
.then((response) => {
this.form = response;
});
},
// fetchData(id) {
// //
// this.$axios
// .gets("/api/settleaccount/MaterialRelationship/" + id)
// .then((response) => {
// this.form = response;
// });
// },
resetQuery() {},
/** 通过回调控制style */
cellStyle({ row, column, rowIndex, columnIndex }) {
@ -784,6 +1015,9 @@ export default {
//}
},
headerRowStyle({ row, column, rowIndex, columnIndex }) {
if (column.property === "stateName") {
return { textAlign: "center" };
}
return { textAlign: "center" };
},
handleRowClick(row, column, event) {
@ -798,6 +1032,11 @@ export default {
<style lang="scss" scoped>
@import "../../styles/crmtable.scss";
@import "../../styles/steps.scss";
</style>
/deep/ .el-checkbox input:focus {
outline: none !important;
border-color: gray;
border: 0px;
box-shadow: none !important;
}
</style>

78
vue/src/views/ux/billManage/kanBanWithCode/index.vue

@ -357,25 +357,67 @@
</el-form-item>
</el-col>
</el-row>
<!-- <el-row>
<el-row>
<el-col :md="4" :xs="24">
<el-form-item label="适用功能" required />
<el-form-item label="看板号" />
</el-col>
<el-col :md="20" :xs="24" style="margin-left: -80px">
<el-form-item prop="customerCode">
<el-select
v-model="formCount.customerCode"
size="medium"
clearable
<el-form-item prop="kanBan">
<el-input
v-model="formCount.kanBan"
style="width: 188px; margin-right: 15px"
placeholder="请选择"
>
<el-option label="结算" value="R0003"></el-option>
<el-option label="二配" value="R0001"></el-option>
</el-select>
maxlength="100"
/>
</el-form-item>
</el-col>
</el-row> -->
</el-row>
<el-row>
<el-col :md="4" :xs="24">
<el-form-item label="零件号" />
</el-col>
<el-col :md="20" :xs="24" style="margin-left: -80px">
<el-form-item prop="sapMaterialCode">
<el-input
v-model="formCount.sapMaterialCode"
style="width: 188px; margin-right: 15px"
maxlength="100"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :md="4" :xs="24">
<el-form-item label="客户物料号" />
</el-col>
<el-col :md="20" :xs="24" style="margin-left: -80px">
<el-form-item prop="customerPartCode">
<el-input
v-model="formCount.customerPartCode"
style="width: 188px; margin-right: 15px"
maxlength="100"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :md="4" :xs="24">
<el-form-item label="物料组" />
</el-col>
<el-col :md="20" :xs="24" style="margin-left: -80px">
<el-form-item prop="estimateTypeDesc">
<el-input
v-model="formCount.estimateTypeDesc"
style="width: 188px; margin-right: 15px"
maxlength="100"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<!-- <el-button type="text" @click="dialogFormVisible = false"
@ -449,6 +491,9 @@ export default {
datetime5: "",
datetime7: "",
state: [0],
kanBan:"",
sapMaterialCode:"",
customerPartCode:"",
},
list: null,
totalCount: 0,
@ -619,9 +664,10 @@ export default {
console.log("参数:" + JSON.stringify(this.formCount));
this.formLoading = true;
this.listExportQuery.version = this.formCount.versionValue;
// this.listExportQuery.begin = this.formCount.datetime5[0];
// this.listExportQuery.end = this.formCount.datetime5[1];
// this.listExportQuery.state = this.formCount.state.join(',');
this.listExportQuery.kanBan = this.formCount.kanBan;
this.listExportQuery.sapMaterialCode = this.formCount.sapMaterialCode;
this.listExportQuery.customerPartCode = this.formCount.customerPartCode;
this.listExportQuery.estimateTypeDesc = this.formCount.estimateTypeDesc;
console.log("导出条件:" + JSON.stringify(this.listExportQuery));
this.$axios
.gets(

60
vue/src/views/ux/billManage/sparePart/index.vue

@ -357,25 +357,55 @@
</el-form-item>
</el-col>
</el-row>
<!-- <el-row>
<el-row>
<el-col :md="4" :xs="24">
<el-form-item label="适用功能" required />
<el-form-item label="采购订单号" />
</el-col>
<el-col :md="20" :xs="24" style="margin-left: -80px">
<el-form-item prop="customerCode">
<el-select
v-model="formCount.customerCode"
size="medium"
clearable
<el-form-item prop="purchaseOrderNo">
<el-input
v-model="formCount.purchaseOrderNo"
style="width: 188px; margin-right: 15px"
placeholder="请选择"
>
<el-option label="结算" value="R0003"></el-option>
<el-option label="二配" value="R0001"></el-option>
</el-select>
maxlength="100"
/>
</el-form-item>
</el-col>
</el-row> -->
</el-row>
<el-row>
<el-col :md="4" :xs="24">
<el-form-item label="厂内物料号" />
</el-col>
<el-col :md="20" :xs="24" style="margin-left: -80px">
<el-form-item prop="sapCode">
<el-input
v-model="formCount.sapCode"
style="width: 188px; margin-right: 15px"
maxlength="100"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :md="4" :xs="24">
<el-form-item label="物料代码" />
</el-col>
<el-col :md="20" :xs="24" style="margin-left: -80px">
<el-form-item prop="matialCode">
<el-input
v-model="formCount.matialCode"
style="width: 188px; margin-right: 15px"
maxlength="100"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<!-- <el-button type="text" @click="dialogFormVisible = false"
@ -449,6 +479,10 @@ export default {
datetime5: "",
datetime7: "",
state: [0],
purchaseOrderNo:"",
sapCode:"",
matialCode:"",
},
list: null,
totalCount: 0,

4
vue/src/views/ux/vw/dataInput/SparePart/index.vue

@ -193,7 +193,7 @@ export default {
list: null,
totalCount: 0,
listLoading: true,
formLoading: false,
formLoading: true,
//
filterObj: {
type: Object,
@ -318,7 +318,7 @@ export default {
width: 150,
});
tempsTabs.push({ label: "工厂", prop: "factory", width: 150 });
tempsTabs.push({ label: "工厂名称", prop: "factoryName", width: 150 });
tempsTabs.push({ label: "工厂名称", prop: "factoryName", width: 220 });
return tempsTabs;
},
},

16
vue/static/config.js

@ -2,23 +2,9 @@ let configJSON
if (process.env.NODE_ENV === 'development') {
configJSON = {
base: {
// ip: 'http://localhost',
// auth_port: '44344',
// public_port: '44344',
// backend_port: '44344',
// ip: 'http://localhost',
// auth_port: '10100',
// public_port: '10130',
// backend_port: '10130'
/* ip: 'http://localhost',
auth_port: '44378',
public_port: '44378',
backend_port: '44378', */
ip: 'http://192.168.0.140',
// ip: 'http://149.223.116.5',
//ip: 'http://149.223.116.5',
auth_port: '8066',
public_port: '8092',
backend_port: '8092'

Loading…
Cancel
Save