Browse Source

红旗未结前端等代码

branch_ccpg_220107
44673626 3 years ago
parent
commit
5461c8eda5
  1. 38
      vue/src/components/ImportExcel-base/index.vue
  2. 3
      vue/src/router/index.js
  3. 12
      vue/src/router/modules/hq_menu.js
  4. 21
      vue/src/router/modules/vw_menu.js
  5. 2
      vue/src/router/modules/vw_out_order.js
  6. 47
      vue/src/router/modules/wms_out_order.js
  7. 53
      vue/src/views/ux/basedata/centralizedControl/index.vue
  8. 30
      vue/src/views/ux/basedata/priceList/index.vue
  9. 31
      vue/src/views/ux/basedata/spareparts/index.vue
  10. 926
      vue/src/views/ux/billManage/FisUpdateExport/index.vue
  11. 567
      vue/src/views/ux/billManage/NonDeliveryList/index.vue
  12. 86
      vue/src/views/ux/billManage/WmsOutputSumExport/index.vue
  13. 12
      vue/src/views/ux/vw/dataInput/OnetimeSale/detail.vue
  14. 8
      vue/src/views/ux/vw/dataInput/OnetimeSale/index.vue
  15. 12
      vue/src/views/ux/vw/dataInput/erpei/index.vue
  16. 8
      vue/src/views/ux/vw/dataInput/hq_kb_output/detail.vue
  17. 581
      vue/src/views/ux/vw/dataInput/hq_open/index.vue
  18. 100
      vue/src/views/ux/vw/dataInput/hq_y_report/index.vue
  19. 12
      vue/src/views/ux/vw/dataInput/r3-open/index.vue
  20. 4
      vue/src/views/ux/vw/dataInput/r3/index.vue
  21. 51
      vue/static/tableFieldForSearch.json

38
vue/src/components/ImportExcel-base/index.vue

@ -284,7 +284,7 @@ export default {
return this.stepsActive == 1; return this.stepsActive == 1;
}, },
getMoudleDisable() { getMoudleDisable() {
if (this.crmType == "priceList" || this.crmType == "spareparts") { if (this.crmType == "priceList" || this.crmType == "spareparts" || this.crmType == "wmsOutputSum" ) {
// //
this.isEditYearMont = true; this.isEditYearMont = true;
this.isEditFactory = true; this.isEditFactory = true;
@ -336,6 +336,8 @@ export default {
secondaryAdjustment: "二配数量调整输入", secondaryAdjustment: "二配数量调整输入",
secondaryDiscount: "二配折扣调整输入", secondaryDiscount: "二配折扣调整输入",
Wms_HqKB_Output: "红旗数据调整", Wms_HqKB_Output: "红旗数据调整",
Wms_onetimesale_Output: "一次性寄售销售",
wmsOutputSum: "WMS未结出库单",
}[this.crmType] || "" }[this.crmType] || ""
); );
}, },
@ -393,8 +395,10 @@ export default {
HQ_H_CHECKOUT: "/api/settleaccount/WmsHQHSharePartoutput/ExcelImport", //H HQ_H_CHECKOUT: "/api/settleaccount/WmsHQHSharePartoutput/ExcelImport", //H
HQ_M_CHECKOUT: "/api/settleaccount/WmsHQMSharePartoutput/ExcelImport", //M HQ_M_CHECKOUT: "/api/settleaccount/WmsHQMSharePartoutput/ExcelImport", //M
Wms_HqKB_Output: Wms_HqKB_Output: "/api/settleaccount/WmsHQKBOutput/ExcelImport", //
"/api/settleaccount/WmsHQKBOutput/ExcelImport", // Wms_onetimesale_Output:
"/api/settleaccount/WmsOneTimeSaleOutput/ExcelImport", //
wmsOutputSum: "/api/settleaccount/WmsOneTimeSaleOutput/ExcelImport", //WMS
//HQ_Y_CHECKOUT: "/api/settleaccount//ExcelImport", //轿 //HQ_Y_CHECKOUT: "/api/settleaccount//ExcelImport", //轿
}[this.crmType] || "" }[this.crmType] || ""
); );
@ -403,20 +407,20 @@ export default {
// //
return ( return (
{ {
invoice: "大众发票汇总导入.xlsx", // invoice: ".xlsx",
bomdatabase: "产品结构Bom导入模板.xlsx", // bomdatabase: "Bom.xlsx",
secondaryPriceRatio: "二配价格比例导入模板.xlsx", // secondaryPriceRatio: ".xlsx",
factory: "工厂设置模板.xlsx", // factory: ".xlsx",
materialRelation: "零件匹配关系.xlsx", // materialRelation: ".xlsx",
carMaterialConfig: "车型代码与零件匹配.xlsx", // carMaterialConfig: ".xlsx",
materialRelationSupplier: "供应商零件设置表.xlsx", // materialRelationSupplier: ".xlsx",
material: "物料主数据.xlsx", // material: ".xlsx",
inventorydetail: "库存明细信息.xlsx", // inventorydetail: ".xlsx",
codeSetting: "通用代码设置数据.xlsx", // codeSetting: ".xlsx",
estimatedSum: "应付暂估汇总.xlsx", // estimatedSum: ".xlsx",
estimatedInventoryDetail: "应付暂估收货明细.xlsx", // estimatedInventoryDetail: ".xlsx",
customerStorageLocation: "客户存储地点.xlsx", // customerStorageLocation: ".xlsx",
secondaryAdjustment: "二配调整输入.xlsx", // secondaryAdjustment: ".xlsx",
}[this.crmType] || "" }[this.crmType] || ""
); );
}, },

3
vue/src/router/index.js

@ -21,7 +21,7 @@ import hqMenudataRouter from './modules/hq_menu'
import btcarDataRouter from './modules/bt_menu' import btcarDataRouter from './modules/bt_menu'
import vwOutOrderDataRouter from './modules/vw_out_order' import vwOutOrderDataRouter from './modules/vw_out_order'
import hqOutOrderDataRouter from './modules/hq_out_order' import hqOutOrderDataRouter from './modules/hq_out_order'
//import newjitRouter from './modules/newjit-basedata' import vwsOutOrderDataRouter from './modules/wms_out_order'
import pgfis from './modules/fis' import pgfis from './modules/fis'
import pgfisPrint from './modules/fisprint' import pgfisPrint from './modules/fisprint'
@ -181,6 +181,7 @@ export const asyncRoutes = [
hqMenudataRouter,//红旗 hqMenudataRouter,//红旗
vwOutOrderDataRouter, vwOutOrderDataRouter,
hqOutOrderDataRouter, hqOutOrderDataRouter,
vwsOutOrderDataRouter,//wms相关操作
//btcarDataRouter,//一汽轿车 //btcarDataRouter,//一汽轿车
//vwFisDataRouter,//结算与开票数据导入 //vwFisDataRouter,//结算与开票数据导入
//billdataRouter,//销售结算与开票报表 //billdataRouter,//销售结算与开票报表

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

@ -13,6 +13,16 @@ const hqMenudataRouter = {
keepAlive: false, keepAlive: false,
}, },
children: [ children: [
{
path: 'hq-unsettle',
component: () => import('@/views/ux/vw/dataInput/hq_open'),
name: 'ERPEI',//命名路由
meta: {
title: '红旗工厂未结明细',
roles: ['SettleAccount.HQ_HPlatform'],//控制页面角色(可以设置多个角色)
icon: '单据导入'
}
},
{ {
path: 'hq-platform', path: 'hq-platform',
component: () => import('@/views/ux/vw/dataInput/hq_h'), component: () => import('@/views/ux/vw/dataInput/hq_h'),
@ -48,7 +58,7 @@ const hqMenudataRouter = {
component: () => import('@/views/ux/vw/dataInput/hq_unsettle_report'), component: () => import('@/views/ux/vw/dataInput/hq_unsettle_report'),
name: 'HQUnSettle', name: 'HQUnSettle',
meta: { meta: {
title: '红旗工厂未结明细', title: '红旗看板未结明细',
roles: ['SettleAccount.Reports'], roles: ['SettleAccount.Reports'],
icon: '文件' icon: '文件'
} }

21
vue/src/router/modules/vw_menu.js

@ -147,6 +147,16 @@ const vwMenudataRouter = {
icon: '器具' icon: '器具'
} }
}, },
{
path: '/fisupdate/export',
component: () => import('@/views/ux/billManage/FisUpdateExport'),
name: 'FisUpdateExport',//命名路由
meta: {
title: '更新FIS状态',
roles: ['SettleAccount.Reports'],//控制页面角色(可以设置多个角色)
icon: '器具'
}
},
{ {
path: '/unsettled-detail',//大众准时化未结明细表(包含漏结,漏结要有标识) path: '/unsettled-detail',//大众准时化未结明细表(包含漏结,漏结要有标识)
component: () => import('@/views/ux/billManage/IssuedUnsettled/index'), component: () => import('@/views/ux/billManage/IssuedUnsettled/index'),
@ -206,17 +216,8 @@ const vwMenudataRouter = {
roles: ['SettleAccount.Reports'],//控制页面角色(可以设置多个角色) roles: ['SettleAccount.Reports'],//控制页面角色(可以设置多个角色)
icon: '工厂' icon: '工厂'
} }
},
{
path: '/WmsOutputSum',
component: () => import('@/views/ux/billManage/WmsOutputSumExport'),
name: 'WmsOutputSumExport',//命名路由
meta: {
title: 'WMS统计汇总报表',
roles: ['SettleAccount.Reports'],//控制页面角色(可以设置多个角色)
icon: '零件'
}
} }
] ]
} }
] ]

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

@ -68,6 +68,8 @@ const vwOutOrderDataRouter = {
} }
}, },
] ]
} }

47
vue/src/router/modules/wms_out_order.js

@ -0,0 +1,47 @@
//大众-FIS结算-路由
import Layout from '@/layout'
const vwsOutOrderDataRouter = {
path: '/cpat-wms-order',
component: Layout,
redirect: 'pg',
name: '业务数据',
//hidden: true,
meta: {
//requiresAuth: true,
title: 'WMS相关统计查询',
index: 0,
type: 'crm',
icon: '单据导入',
roles: ['SettleAccount.Reports'],
keepAlive: false,
},
children: [
{
path: '/WmsOutputSum',
component: () => import('@/views/ux/billManage/WmsOutputSumExport'),
name: 'WmsOutputSumExport',//命名路由
meta: {
title: 'WMS统计汇总报表',
roles: ['SettleAccount.Reports'],//控制页面角色(可以设置多个角色)
icon: '零件'
}
},
{
path: '/nonDeliveryList',
component: () => import('@/views/ux/billManage/NonDeliveryList'),
name: 'NonDeliveryList',//命名路由
meta: {
title: 'WMS未出库清单',
roles: ['SettleAccount.Reports'],//控制页面角色(可以设置多个角色)
icon: '零件'
}
},
]
}
export default vwsOutOrderDataRouter

53
vue/src/views/ux/basedata/centralizedControl/index.vue

@ -167,6 +167,23 @@
label-width="120px" label-width="120px"
> >
<el-row> <el-row>
<el-col :md="4" :xs="24">
<el-form-item label="设置期间" required />
</el-col>
<el-col :md="20" :xs="24">
<el-form-item prop="selectValue">
<el-date-picker
v-model="form.selectValue"
type="month"
value-format="yyyy-MM"
placeholder="选择月设置"
@change="selectTime"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<!--<el-row>
<el-col :md="4" :xs="24"> <el-col :md="4" :xs="24">
<el-form-item label="年度" required /> <el-form-item label="年度" required />
</el-col> </el-col>
@ -203,7 +220,7 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :md="4" :xs="24"> <el-col :md="4" :xs="24">
<el-form-item label="版本" required /> <el-form-item label="版本" />
</el-col> </el-col>
<el-col :md="8" :xs="24"> <el-col :md="8" :xs="24">
<el-form-item prop="version"> <el-form-item prop="version">
@ -225,7 +242,7 @@
</el-switch> </el-switch>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row> -->
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="text" @click="dialogFormVisible = false" <el-button type="text" @click="dialogFormVisible = false"
@ -280,22 +297,25 @@ export default {
yeareVale: "", yeareVale: "",
monthVale: "", monthVale: "",
crmType: "centralizedControl", crmType: "centralizedControl",
selectMothValue: "",
form: { form: {
year: "", year: "",
period: "", period: "",
version: "", version: "",
selectValue:""
}, },
rules: { rules: {
// //
year: [{ required: true, validator: validYear, trigger: "blur" }], year: [{ required: true, validator: validYear, trigger: "blur" }],
period: [{ required: true, message: "必须选择!", trigger: "blur" }], period: [{ required: true, message: "必须选择!", trigger: "blur" }],
version: [ selectValue: [{ required: true, message: "必须选择!", trigger: "change" }],
{ // version: [
required: true, // {
validator: validVersion, // required: true,
trigger: "blur", // validator: validVersion,
}, // trigger: "blur",
], // },
// ],
}, },
searchContent: "", // searchContent: "", //
//form: {}, //form: {},
@ -364,6 +384,18 @@ export default {
}, },
}, },
methods: { methods: {
selectTime(val) {
if (val) {
this.form.year = val.split("-")[0];
this.form.period = val.split("-")[1];
this.form.version = val.split("-")[0] + val.split("-")[1];
}
else{
this.form.year ="";
this.form.period = "";
this.form.version ="";
}
},
/** 通过回调控制表头style */ /** 通过回调控制表头style */
headerRowStyle({ row, column, rowIndex, columnIndex }) { headerRowStyle({ row, column, rowIndex, columnIndex }) {
return { textAlign: "center", background: "#FAFAFA" }; return { textAlign: "center", background: "#FAFAFA" };
@ -502,6 +534,7 @@ export default {
}); });
} else { } else {
//insert //insert
//this.form.version = this.form.year + this.form.period;
console.log(JSON.stringify(this.form)); console.log(JSON.stringify(this.form));
this.$axios this.$axios
.posts("/api/settleaccount/CentralizedControl", this.form) .posts("/api/settleaccount/CentralizedControl", this.form)
@ -706,7 +739,7 @@ export default {
} }
this.listQuery.Sorting = prop + " " + order; this.listQuery.Sorting = prop + " " + order;
console.log(JSON.stringify( this.listQuery)) console.log(JSON.stringify(this.listQuery));
this.handleFilter(); this.handleFilter();
}, },
handleSelectionChange(val) { handleSelectionChange(val) {

30
vue/src/views/ux/basedata/priceList/index.vue

@ -2,22 +2,12 @@
<template> <template>
<div class="cr-body-content"> <div class="cr-body-content">
<flexbox class="content-header"> <flexbox class="content-header">
<XhJSSelect <!-- <XhJSSelect
:options="versionList" :options="versionList"
style="width: 200px" style="width: 200px"
class="search-container" class="search-container"
@value-change="selectValue" @value-change="selectValue"
></XhJSSelect> ></XhJSSelect> -->
<el-button
class="filter-item"
size="mini"
type="warning"
icon="el-icon-upload2"
@click="handleImportExcel()"
v-permission="['SettleAccount.PriceLists.Create']"
>导入文件Excel
</el-button>
<el-input <el-input
v-model="searchContent" v-model="searchContent"
@ -39,18 +29,27 @@
class="filter-item" class="filter-item"
size="mini" size="mini"
type="warning" type="warning"
icon="el-icon-upload2"
@click="handleImportExcel()"
v-permission="['SettleAccount.PriceLists.Create']"
>导入文件Excel
</el-button>
<el-button
class="filter-item"
size="mini"
type="info"
icon="el-icon-bottom" icon="el-icon-bottom"
@click="handleCommand()" @click="handleCommand()"
>导出Excel >导出Excel
</el-button> </el-button>
<!--表格头组件filter查询--> <!--表格头组件filter查询-->
<c-r-m-table-head <!-- <c-r-m-table-head
ref="crmTableHead" ref="crmTableHead"
:crm-type="crmType" :crm-type="crmType"
@handle="handleHandle" @handle="handleHandle"
@filter="handleFilters" @filter="handleFilters"
> >
</c-r-m-table-head> </c-r-m-table-head> -->
<!-- <el-dropdown size="small" class="filter-item" @command="handleCommand"> <!-- <el-dropdown size="small" class="filter-item" @command="handleCommand">
<span class="el-dropdown-link"> <span class="el-dropdown-link">
@ -135,7 +134,6 @@ import { downloadFile } from "@/utils/crmindex.js";
import XhJSSelect from "@/components/CreateCom/Xh-JS-Select.vue"; import XhJSSelect from "@/components/CreateCom/Xh-JS-Select.vue";
import moment from "moment"; import moment from "moment";
export default { export default {
name: "PriceList", name: "PriceList",
components: { Pagination, CRMTableHead, importExcel, XhJSSelect }, components: { Pagination, CRMTableHead, importExcel, XhJSSelect },
@ -257,7 +255,7 @@ export default {
computed: { computed: {
getDefaultField() { getDefaultField() {
var tempsTabs = []; var tempsTabs = [];
tempsTabs.push({ label: "版本", prop: "version", width: 120 }); //tempsTabs.push({ label: "", prop: "version", width: 120 });
tempsTabs.push({ tempsTabs.push({
label: "物料编号", label: "物料编号",
prop: "materialCode", prop: "materialCode",

31
vue/src/views/ux/basedata/spareparts/index.vue

@ -2,22 +2,12 @@
<template> <template>
<div class="cr-body-content"> <div class="cr-body-content">
<flexbox class="content-header"> <flexbox class="content-header">
<XhJSSelect <!-- <XhJSSelect
:options="versionList" :options="versionList"
style="width: 200px" style="width: 200px"
class="search-container" class="search-container"
@value-change="selectValue" @value-change="selectValue"
></XhJSSelect> ></XhJSSelect> -->
<el-button
class="filter-item"
size="mini"
type="warning"
icon="el-icon-upload2"
@click="handleImportExcel()"
v-permission="['SettleAccount.PriceLists.Create']"
>导入文件Excel
</el-button>
<el-input <el-input
v-model="searchContent" v-model="searchContent"
@ -39,18 +29,27 @@
class="filter-item" class="filter-item"
size="mini" size="mini"
type="warning" type="warning"
icon="el-icon-upload2"
@click="handleImportExcel()"
v-permission="['SettleAccount.PriceLists.Create']"
>导入文件Excel
</el-button>
<el-button
class="filter-item"
size="mini"
type="info"
icon="el-icon-bottom" icon="el-icon-bottom"
@click="handleCommand()" @click="handleCommand()"
>导出Excel >导出Excel
</el-button> </el-button>
<!--表格头组件filter查询--> <!--表格头组件filter查询-->
<c-r-m-table-head <!-- <c-r-m-table-head
ref="crmTableHead" ref="crmTableHead"
:crm-type="crmType" :crm-type="crmType"
@handle="handleHandle" @handle="handleHandle"
@filter="handleFilters" @filter="handleFilters"
> >
</c-r-m-table-head> </c-r-m-table-head> -->
<!-- <el-dropdown size="small" class="filter-item" @command="handleCommand"> <!-- <el-dropdown size="small" class="filter-item" @command="handleCommand">
<span class="el-dropdown-link"> <span class="el-dropdown-link">
@ -268,11 +267,11 @@ export default {
computed: { computed: {
getDefaultField() { getDefaultField() {
var tempsTabs = []; var tempsTabs = [];
tempsTabs.push({ label: "版本", prop: "version", width: 120 }); //tempsTabs.push({ label: "", prop: "version", width: 120 });
tempsTabs.push({ tempsTabs.push({
label: "物料编号", label: "物料编号",
prop: "materialCode", prop: "materialCode",
width: 230, width: 180,
}); });
// tempsTabs.push({ // tempsTabs.push({
// label: "", // label: "",

926
vue/src/views/ux/billManage/FisUpdateExport/index.vue

@ -0,0 +1,926 @@
<!--更新FIS状态-->
<template>
<div class="cr-body-content">
<!--功能栏-->
<!-- 搜索 -->
<div style="float: left">
<flexbox class="content-header">
<JobSelectVerson
:options="JobVersionList"
style="width: 150px; margin-left: -10px"
class="search-container"
@value-change="JobVersionValue"
></JobSelectVerson>
<el-button
class="filter-item"
size="mini"
type="primary"
icon="el-icon-plus"
@click="handleCreate()"
>更新FIS状态
</el-button>
<el-button
class="filter-item"
type="danger"
icon="el-icon-delete"
size="mini"
@click="handleDelete()"
>删除(支持批量)</el-button
>
</flexbox>
</div>
<!-- 刷新 -->
<div style="float: right">
<flexbox class="content-header">
<el-tooltip
class="item"
effect="dark"
content="手动刷新"
placement="top"
>
<el-button
size="mini"
circle
icon="el-icon-refresh"
@click="refresh()"
/>
</el-tooltip>
<span style="margin-left: 10px; color: #ff5640; float: right"
>说明每间隔15秒进行自动刷新</span
>
</flexbox>
</div>
<!--主页面表格渲染-->
<el-table
ref="multipleTable"
v-loading="listLoading"
element-loading-text="拼命加载中..."
element-loading-spinner="el-icon-loading"
class="cr-table"
:data="list"
:height="tableHeight"
:cell-style="cellStyle"
size="small"
stripe
border
highlight-current-row
style="width: 100%"
@row-click="handleRowClick"
@selection-change="handleSelectionChange"
@filter-change="filterChange"
@cell-dblclick="dblhandleCurrentChange"
>
<el-table-column type="selection" width="44px"></el-table-column>
<el-table-column
v-for="(item, index) in getDefaultField"
:key="index"
:prop="item.prop"
:label="item.label"
:min-width="item.width"
:formatter="fieldFormatter"
sortable
show-overflow-tooltip
:gutter="0"
>
<template slot="header" slot-scope="scope">
{{ scope.column.label }}
</template>
</el-table-column>
<!-- 在线编译说明 -->
<el-table-column label="说明" width="400" align="center">
<template slot-scope="scope">
<el-input
ref="inputRef"
v-if="scope.row.isEditCell"
v-model="scope.row.remark"
class="el-input"
v-focus
@blur="cellBlur(scope.row, scope.column)"
/>
<span v-else>{{ scope.row.remark }}</span>
<el-button
style="margin-left: 5px"
v-if="scope.row.isEditCell"
type="success"
icon="el-icon-check"
size="small"
circle
@click="submitName(scope.row)"
></el-button>
<el-button
v-show="scope.row.isEditCell"
class="cancel-btn"
size="mini"
icon="el-icon-refresh"
type="warning"
@click.native.prevent="handleCancel(scope.row)"
>
cancel
</el-button>
</template>
</el-table-column>
<!-- 状态 -->
<el-table-column
prop="stateName"
label="状态(单击箭头过滤)"
width="165"
column-key="stateName"
align="center"
:filters="[
{ text: '执行完成(任务成功)', value: 'Succeeded' },
{ text: '执行完成(任务失败)', value: 'Failed' },
{ text: '执行中', value: 'Processing' },
{ text: '等待执行', value: 'Scheduled' },
]"
filter-placement="bottom-end"
:filter-method="filterHandler"
>
<template slot-scope="scope">
<el-tag
v-for="(item, index) in stateNameCateMap"
v-show="scope.row.stateName == item.value"
:key="index"
:type="item.cssName"
>
{{ item.label }}
</el-tag>
</template>
</el-table-column>
<!-- 操作 -->
<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"
>下载</el-button
> -->
<el-button
v-if="
scope.row.actionName == '导出' &&
scope.row.stateName == 'Succeeded' &&
scope.row.downFileName != ''
"
size="mini"
type="text"
@click="handleDownload(scope.row)"
icon="el-icon-edit"
>下载</el-button
>
<el-button
v-if="
scope.row.actionName == '导出' &&
scope.row.error != '' &&
scope.row.stateName == 'Succeeded'
"
size="mini"
type="text"
@click="handleDownload(scope.row)"
icon="el-icon-edit"
>检验失败下载</el-button
>
</div>
</template>
</el-table-column>
</el-table>
<!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"-->
<div class="table-footer">
<pagination
v-show="totalCount > 0"
:total="totalCount"
:page.sync="page"
:limit.sync="listQuery.MaxResultCount"
@pagination="getList"
/>
</div>
</div>
</template>
<script>
import Pagination from "@/components/Pagination"; // secondary package based on el-pagination
import permission from "@/directive/permission/index.js";
import { downloadFile } from "@/utils/crmindex.js";
import CRMTableHead from "../../components/CRMTableHead";
import moment from "moment";
import JobSelectVerson from "@/components/CreateCom/Job-Select.vue";
export default {
name: "FisUpdateExport",
components: { Pagination, CRMTableHead, JobSelectVerson },
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: [],
JobVersionList: [],
getmaterialGroupValue: "",
checkedCities: [0],
selectValue: "",
selectNameValue: "",
radio: "0", //0 1
versionList: [],
materialGroupList: [],
//
openView: false,
versionValue: "",
materialGroupValue: "",
formTitle: "",
timer: null, //
//
activeIndex: 1,
//
activeName: "first",
//
stepList: [
{
title: "等待执行",
icon: "el-icon-sort",
},
{
title: "执行中",
icon: "el-icon-refresh",
},
{
title: "执行完成",
icon: "el-icon-check",
},
],
customerInfos: "",
searchContent: "", //
form: {},
formCount: {
startTime: "",
endTime: "",
materialCode: undefined,
kenncode: undefined,
chassisNumber: undefined,
sapCode: undefined,
// name: "",
// settledate: "",
// materialCode: "",
// sapMaterialCode: "",
// chassisNumber: "",
// kennCode: "",
// version: "",
},
list: null,
totalCount: 0,
listLoading: true,
formLoading: false,
//
filterObj: {
type: Object,
default: () => {
return {};
},
},
listExportQuery: {
version: undefined,
// materialCode: undefined,
// kenncode: undefined,
// chassisNumber: undefined,
// materialGroup: undefined,
// begin: undefined,
// end: undefined,
// sapCode: undefined,
},
listQuery: {
taskId: "",
name: "",
},
page: 1,
JobversionValue: "",
JobversionValueVerson: "",
dialogFormVisible: false,
multipleSelection: [],
tableHeight: document.documentElement.clientHeight - 260,
isEdit: false,
menuCateMap: [
{ label: "导出", value: "导出", cssName: "warning" },
{ label: "消息", value: "消息", cssName: "info" },
],
stateNameCateMap: [
{ label: "执行完成(任务成功)", value: "Succeeded", cssName: "success" },
{ label: "执行中...", value: "Processing", cssName: "primary" },
{ label: "执行完成(任务失败)", value: "Failed", cssName: "danger" },
{ label: "等待执行", value: "Scheduled", cssName: "primary" },
],
};
},
mounted() {
var self = this;
window.onresize = function () {
var offsetHei = document.documentElement.clientHeight;
self.tableHeight = offsetHei - 190;
};
this.timer = setInterval(() => {
this.listQuery.taskId = "";
this.listQuery.stateName = "";
setTimeout(this.getList, 0);
}, 1000 * 15); //15
// $oncebeforeDestroy
this.$once("hook:beforeDestroy", () => {
clearInterval(timer);
});
//this.disabledDateCp5();
},
created() {
this.getAllVersionList();
this.getMaterialGroup();
this.getList();
this.getJobVersionInfo();
// this.getCurrentMonthFirst();
// this.getCurrentMonthLast();
},
beforeDestroy() {
clearInterval(this.timer);
this.timer = null;
},
computed: {
/* 主表头 */
getDefaultField() {
var tempsTabs = [];
tempsTabs.push({
label: "版本号",
prop: "type",
width: 85,
});
tempsTabs.push({
label: "单据流水号",
prop: "taskId",
width: 130,
});
// tempsTabs.push({
// label: "",
// prop: "name",
// width: 170,
// });
tempsTabs.push({
label: "创建人",
prop: "email",
width: 110,
});
tempsTabs.push({
label: "创建时间",
prop: "createdAt",
width: 150,
});
// tempsTabs.push({
// label: "",
// prop: "stateName",
// width: 100,
// });
return tempsTabs;
},
},
methods: {
dblhandleCurrentChange(row, column, cell, event) {
if (column.label === "说明") {
row.isEditCell = true;
this.$set(row, "isEditCell", true);
this.$nextTick(() => {
// elementautofocus
//this.$refs.inputRef.focus();
this.$refs["inputRef"].focus();
});
}
this.list = this.list.filter((item) => {
return item;
});
},
//
cellBlur(row, column) {
row.isEditCell = false;
this.$set(row, "isEditCell", false);
},
// 线
submitName(row) {
let getguid = row.id;
let getremark = row.remark;
this.$axios
.gets("/api/settleaccount/Job/updateRemark", {
p_id: getguid,
remark: getremark,
})
.then((response) => {
if (response == true) {
this.$notify({
title: "成功",
message: "更新成功",
type: "success",
duration: 2000,
});
this.getList();
}
})
.catch(() => {
this.listLoading = false;
});
},
//
handleCancel(row) {
row.isEditCell = false;
this.$set(row, "isEditCell", false);
this.getList();
},
handleSelectionChange(val) {
this.multipleSelection = val;
},
//
handleDelete(row) {
if (this.multipleSelection.length == 0) {
this.$message({
message: "至少选择一行!",
type: "warning",
});
return;
}
var params = [];
let myalert = ""; //使
if (row) {
//
params.push(row.id);
myalert = row.name;
} else {
//
this.multipleSelection.forEach((element) => {
let id = element.id;
params.push(id);
});
myalert = "选中项";
}
this.$confirm("是否删除" + myalert + "?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.$axios
.posts("/api/settleaccount/Job/delete", params)
.then((response) => {
const index = this.list.indexOf(row);
this.$notify({
title: "成功",
message: "删除成功",
type: "success",
duration: 2000,
});
this.getList();
});
})
.catch(() => {
this.$message({
type: "info",
message: "已取消操作",
});
});
},
valueChange(data) {
this.getmaterialGroupValue = "";
this.getmaterialGroupValue += data + ",";
this.getmaterialGroupValue = this.getmaterialGroupValue.substring(
0,
this.getmaterialGroupValue.length - 1
);
},
//
JobVersionValue(params) {
//
this.JobversionValue = params.value;
this.getList();
},
getJobVersionInfo() {
//
//this.listLoading = true;
this.listQuery.SkipCount = (this.page - 1) * 1000;
this.$axios
.posts("/api/settleaccount/Job/versionlist", this.listQuery)
.then((response) => {
this.JobVersionList = [];
response.forEach((element) => {
let options = {};
options.value = element;
options.label = element;
this.JobVersionList.push(options);
});
if (JSON.stringify(this.JobVersionList) != "[]") {
//
this.JobversionValue = this.JobVersionList[0].value;
this.JobversionValueVerson = this.JobVersionList[0].label;
this.getList();
}
})
.catch(() => {
//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")
.then((response) => {
this.versionList = [];
response.forEach((element) => {
let options = {};
options.value = element.version;
options.label = element.version;
this.versionList.push(options);
});
})
.catch(() => {
this.listLoading = false;
});
},
//
getMaterialGroup() {
this.$axios
.posts("/api/settleaccount/CodeSetting/list", {
project: "物料组",
maxResultCount: 1000,
skipCount: 0,
sorting: "value ascending",
})
.then((response) => {
this.materialGroupList = [];
response.items.forEach((element) => {
let options = {};
options.value = element.description;
options.label = element.value;
this.materialGroupList.push(options);
});
})
.catch(() => {
this.listLoading = false;
});
},
/* 重置 */
resetForm(formName) {
this.formCount = {};
this.datetime5 = [];
this.startTime = "";
this.endTime = "";
},
save() {
this.$refs.formCount.validate((valid) => {
if (valid) {
this.formLoading = true;
this.listExportQuery.version = this.formCount.versionValue; //
if (this.formCount.materialCode != "") {
this.listExportQuery.materialCode = this.formCount.materialCode; //
}
if (this.formCount.sapMaterialCode != "") {
this.listExportQuery.sapCode = this.formCount.sapMaterialCode; //
}
if (this.formCount.kennCode != "") {
this.listExportQuery.kenncode = this.formCount.kennCode; //KEEN
}
this.listExportQuery.begin = this.startTime
? this.startTime
: undefined;
this.listExportQuery.end = this.endTime ? this.endTime : undefined;
if (this.formCount.chassisNumber != "") {
this.listExportQuery.chassisNumber = this.formCount.chassisNumber; //
}
if (this.formCount.materialGroupValue != "") {
this.listExportQuery.materialGroup = this.getmaterialGroupValue; //
}
console.log(
"FIS更新-导出条件:" + JSON.stringify(this.listExportQuery)
);
this.$axios
.posts(
"/api/settleaccount/ReportMakeService/FisUpdateExportService",
this.listExportQuery
)
.then((res) => {
let taskid = res;
if (Number.isInteger(taskid)) {
this.$notify({
title: "成功",
message: "任务生成成功!任务号:" + taskid,
type: "success",
duration: 2000,
});
}
this.getList();
this.formLoading = false;
this.dialogFormVisible = false;
})
.catch(() => {
this.formLoading = false;
this.dialogFormVisible = false;
});
}
});
},
handleCreate() {
this.$confirm("是否生成FIS更新任务?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.formLoading = true;
console.log("FIS更新-生成条件:" + JSON.stringify(this.listExportQuery));
this.$axios
.posts(
"/api/settleaccount/ReportMakeService/FisUpdateExportService",
this.listExportQuery
)
.then((res) => {
let taskid = res;
if (Number.isInteger(taskid)) {
this.$notify({
title: "成功",
message: "任务生成成功!任务号:" + taskid,
type: "success",
duration: 2000,
});
}
this.getList();
this.formLoading = false;
this.dialogFormVisible = false;
})
.catch(() => {
this.formLoading = false;
this.dialogFormVisible = false;
});
})
.catch(() => {
this.$message({
type: "info",
message: "已取消操作",
});
});
},
filterHandler(value, row, column) {
const property = column["property"];
return row[property] === value;
},
/* 任务详细信息 */
handleView(row) {
this.listQuery.taskId = row.taskId;
this.$axios
.posts("/api/settleaccount/Job/list", this.listQuery)
.then((response) => {
this.form = response[0];
switch (response[0].stateName) {
case "Succeeded":
case "Failed":
this.activeIndex = 3;
break;
case "Processing":
this.activeIndex = 2;
break;
case "Enqueued":
this.activeIndex = 1;
break;
}
this.openView = true;
});
},
/* 刷新 */
refresh() {
this.list = [];
this.listQuery.taskId = "";
this.listQuery.name = "";
this.getList();
},
//
filterChange(filterObj) {
console.log(filterObj.actionName);
if (filterObj.actionName.length > 0) {
console.log("点击筛选");
} else {
console.log("点击重置");
}
},
/* 导出类型的文件 */
downloadErrData(param) {
this.listLoading = true;
let fileNameOfProject = param;
this.$axios
.BolbGets(
"/api/settleaccount/getblobfile/download/" + fileNameOfProject
)
.then((response) => {
if (fileNameOfProject.indexOf("_") != -1) {
let downName =
fileNameOfProject.slice(0, fileNameOfProject.lastIndexOf("_")) +
fileNameOfProject.slice(fileNameOfProject.lastIndexOf("."));
downloadFile(response, downName);
this.$notify({
title: "成功",
message: "数据-导出中...",
type: "success",
duration: 2000,
});
} else {
downloadFile(response, fileNameOfProject);
this.$notify({
title: "成功",
message: "数据-导出中...",
type: "success",
duration: 2000,
});
}
this.listLoading = false;
})
.catch((error) => {
this.listLoading = false;
});
},
/* 刷新列表 */
handleHandle(data) {
if (data.type !== "edit") {
this.getList();
}
},
/* 格式化字段 */
fieldFormatter(row, column) {
if (column.property === "stateName") {
return {
Succeeded: "执行完成(成功)",
Processing: "执行中...",
Failed: "执行完成(失败)",
Enqueued: "等待执行",
}[row[column.property]];
}
if (column.property == "createdAt") {
var date = row[column.property];
if (date == undefined) {
return "";
}
return moment(date).format("YYYY-MM-DD HH:mm:ss");
}
return row[column.property] || "--";
},
handleDownload(row) {
if (row.stateName == "Succeeded") {
this.downloadErrData(row.downFileName);
} else if (row.stateName == "Failed") {
this.downloadErrData(row.error);
}
},
getList() {
this.listLoading = true;
//
this.listQuery.name = "准时化未结差异比对输出";
this.listQuery.type = this.JobversionValue;
this.$axios
.posts("/api/settleaccount/Job/list", this.listQuery)
.then((response) => {
this.list = response;
//
this.list.forEach((element) => {
element["isEditCell"] = false;
});
setTimeout(() => {
//
this.listLoading = false;
}, 500);
})
.catch(() => {
this.listLoading = false;
});
},
// fetchData(id) {
// //
// this.$axios
// .gets("/api/settleaccount/MaterialRelationship/" + id)
// .then((response) => {
// this.form = response;
// });
// },
resetQuery() {},
/** 通过回调控制style */
cellStyle({ row, column, rowIndex, columnIndex }) {
var item = this.list[rowIndex];
if (column.property === "stateName") {
if (item.stateName === "Succeeded") {
return { color: "#71d87f", cursor: "pointer" };
} else if (item.stateName === "Processing") {
return { color: "#d87171", cursor: "pointer" };
} else if (item.stateName === "Failed") {
return { color: "#ff5640", cursor: "pointer" };
}
}
return { textAlign: "left" };
//}
},
headerRowStyle({ row, column, rowIndex, columnIndex }) {
if (column.property === "stateName") {
return { textAlign: "center" };
}
return { textAlign: "center" };
},
handleRowClick(row, column, event) {
this.$refs.multipleTable.clearSelection();
this.$refs.multipleTable.toggleRowSelection(row);
},
},
};
</script>
<style lang="scss" scoped>
@import "../../styles/crmtable.scss";
@import "../../styles/steps.scss";
/deep/ .el-checkbox input:focus {
outline: none !important;
border-color: gray;
border: 0px;
box-shadow: none !important;
}
</style>

567
vue/src/views/ux/billManage/NonDeliveryList/index.vue

@ -0,0 +1,567 @@
<!--WMS未出库清单列表-->
<template>
<div class="cr-body-content">
<flexbox class="content-header">
<el-select
v-model="listQuery.customType"
placeholder="请选择"
style="width: 200px"
>
<el-option label="大众" :value="1"></el-option>
<el-option label="红旗" :value="2"></el-option>
</el-select>
<el-input
v-model="searchContent"
clearable
size="small"
placeholder="按照零件号搜索..."
style="width: 180px"
class="search-container"
@keyup.enter.native="handleFilter"
/>
<el-button
size="mini"
type="success"
icon="el-icon-search"
@click="handleFilter"
>搜索
</el-button>
<el-button
class="filter-item"
type="warning"
icon="el-icon-check"
size="mini"
@click="handleConfirm()"
>重新执行出库(支持批量)</el-button
>
<!--表格头组件filter查询-->
<c-r-m-table-head
ref="crmTableHead"
:crm-type="crmType"
@handle="handleHandle"
@filter="handleFilters"
>
</c-r-m-table-head>
<div class="right-container" style="margin-left: 180px">
<el-dropdown
v-if="MoreTypes.length > 0"
trigger="click"
@command="handleTypeDrop"
>
<flexbox class="right-more-item">
<div>更多</div>
<i class="el-icon-arrow-down el-icon--right" style="color: #777" />
</flexbox>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item
v-for="(item, index) in MoreTypes"
:key="index"
:command="item.type"
>{{ item.name }}</el-dropdown-item
>
</el-dropdown-menu>
</el-dropdown>
</div>
</flexbox>
<!--表格渲染-->
<el-table
ref="multipleTable"
v-loading.fullscreen.lock="listLoading"
element-loading-text="拼命加载中..."
element-loading-spinner="el-icon-loading"
class="cr-table"
:data="list"
:height="tableHeight"
:cell-style="cellStyle"
:header-cell-style="headerRowStyle"
size="small"
stripe
border
highlight-current-row
style="width: 100%"
@sort-change="sortChange"
@selection-change="handleSelectionChange"
@row-click="handleRowClick"
>
<el-table-column type="selection"></el-table-column>
<el-table-column
label="版本"
prop="version"
sortable="custom"
align="center"
width="100px"
fixed
>
<template slot-scope="scope">
<el-tooltip :content="scope.row.version" placement="top">
<span class="link-type">{{ scope.row.version }}</span>
</el-tooltip>
</template>
</el-table-column>
<el-table-column
v-for="(item, index) in getDefaultField"
:key="index"
:prop="item.prop"
:label="item.label"
:min-width="item.width"
:formatter="fieldFormatter"
sortable="custom"
show-overflow-tooltip
:gutter="0"
>
<template slot="header" slot-scope="scope">
{{ scope.column.label }}
</template>
</el-table-column>
</el-table>
<div class="table-footer">
<!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"-->
<pagination
v-show="totalCount > 0"
:total="totalCount"
:page.sync="page"
:limit.sync="listQuery.MaxResultCount"
@pagination="getList"
/>
</div>
</div>
</template>
<script>
import Pagination from "@/components/Pagination"; // secondary package based on el-pagination
import permission from "@/directive/permission/index.js";
import importExcel from "@/components/ImportExcel-vw";
import CRMTableHead from "../../components/CRMTableHead";
import moment from "moment";
import Lockr from "lockr";
import { downloadFile } from "@/utils/crmindex.js";
import XhJSSelect from "@/components/CreateCom/Xh-JS-Select.vue";
import XhJSSelectVerson from "@/components/CreateCom/Xh-JS-Select-Label.vue";
export default {
name: "NonDeliveryList",
components: {
Pagination,
CRMTableHead,
importExcel,
XhJSSelect,
XhJSSelectVerson,
},
directives: { permission },
filters: {
IsCustomerSignFilter(status) {
//
const statusMap = {
true: "是",
false: "否",
};
return statusMap[status];
},
},
props: {
customerInfos: {
type: Array,
default: () => {
return [];
},
},
},
data() {
return {
crmType: "nonDeliveryList",
versionValue: "",
versionValueVerson: "",
versionList: [], //
rules: {
//
erpMaterialCode: [
{ required: true, message: "必须输入!", trigger: "blur" },
],
},
searchContent: "", //
customerInfo: {
settleAccountId: "",
},
form: {
version: "",
dicDetailID: "",
customerId: "",
projectId: "",
},
list: null,
totalCount: 0,
listLoading: true,
formLoading: false,
//
filterObj: {
type: Object,
default: () => {
return {};
},
},
listVersionQuery: {
SkipCount: 0,
MaxResultCount: 15,
},
listQuery: {
Filters: [
{
logic: 0,
column: "Enabled",
action: 0,
value: "true",
}, //
],
//OrgID:"",
SkipCount: 0,
MaxResultCount: 15,
ParentId: "",
fileType: 0,
customType: "",
userId: "00000000-0000-0000-0000-000000000000",
},
listExportQuery: {
Filters: [
{
logic: 0,
column: "Enabled",
action: 0,
value: "true",
}, //
],
//OrgID:"",
SkipCount: 0,
MaxResultCount: 15,
ParentId: "",
fileType: 0,
userId: "",
},
page: 1,
dialogFormVisible: false,
multipleSelection: [],
formTitle: "",
drawer: false,
showExcelImport: false,
tableHeight: document.documentElement.clientHeight - 260,
isEdit: false,
};
},
mounted() {
var self = this;
window.onresize = function () {
var offsetHei = document.documentElement.clientHeight;
self.tableHeight = offsetHei - 260;
};
},
created() {
this.getVersionInfo();
//if (this.versionList == []) {
this.getList();
//}
},
computed: {
/** 列表字段 */
getDefaultField() {
var tempsTabs = [];
tempsTabs.push({ label: "客户", prop: "kennCode", width: 150 });
tempsTabs.push({ label: "出库类型", prop: "chassisNumber", width: 120 });
tempsTabs.push({ label: "结算单", prop: "model", width: 150 });
tempsTabs.push({ label: "物料号", prop: "materialCode", width: 200 });
tempsTabs.push({ label: "物料描述", prop: "materialCode", width: 280 });
tempsTabs.push({ label: "结算单号", prop: "model", width: 150 });
tempsTabs.push({ label: "物料组", prop: "model", width: 180 });
tempsTabs.push({ label: "结算数量", prop: "qty", width: 110 });
tempsTabs.push({ label: "实际出库数量", prop: "qty", width: 120 });
tempsTabs.push({ label: "数量差异", prop: "qty", width: 110 });
tempsTabs.push({ label: "开票单价", prop: "qty", width: 110 });
tempsTabs.push({ label: "结算金额", prop: "qty", width: 110 });
tempsTabs.push({ label: "WMS实际出库金额", prop: "qty", width: 150 });
tempsTabs.push({ label: "WMS待出库金额", prop: "qty", width: 110 });
return tempsTabs;
},
MoreTypes() {
var moreTypes = [];
moreTypes.push({ type: "updateFis", name: "刷新FIS结算状态" });
moreTypes.push({ type: "enter", name: "刷新数据开票状态" });
return moreTypes;
},
},
methods: {
selectValue(params) {
//
this.versionValue = params.value;
this.getList();
},
selectValueVerson(params) {
//
this.versionValueVerson = params.value;
},
handleTypeDrop(command, params = {}) {
if (command == "updateFis") {
this.listLoading = true;
//this.listQuery.SkipCount = (this.page - 1) * 10000;
this.$axios
.posts("/api/settleaccount/SettleAccount/updateFis")
.then((res) => {
if (res == true) {
this.$notify({
title: "成功",
message: "FIS数据-更新成功!",
type: "success",
duration: 2000,
});
} else {
this.$message({
type: "warning",
message: "FIS数据-更新失败!",
});
}
this.listLoading = false;
});
} else if (command == "enter") {
}
},
selectOptionsChange(item) {
this.getList();
},
getVersionInfo() {
//
//this.listLoading = true;
this.listQuery.SkipCount = (this.page - 1) * 1000;
this.$axios
.posts("/api/settleaccount/SettleAccount/listVersion", this.listQuery)
.then((response) => {
this.versionList = [];
response.items.forEach((element) => {
let options = {};
options.value = element.id;
options.label = element.version;
this.versionList.push(options);
});
if (JSON.stringify(this.versionList) != "[]") {
//
this.versionValue = this.versionList[0].value;
this.versionValueVerson = this.versionList[0].label;
this.getList();
}
})
.catch(() => {
//this.listLoading = false;
});
},
/** 刷新列表 */
handleHandle(data) {
if (data.type !== "edit") {
this.getList();
}
},
/** 格式化字段 */
fieldFormatter(row, column) {
if (column.property === "state") {
return { 0: "其他", 2: "已结" }[row[column.property]];
}
if (column.property == "cP5A" || column.property == "cP7") {
var date = row[column.property];
if (date == undefined) {
return "";
}
return moment(date).format("YYYY-MM-DD HH:mm:ss");
}
return row[column.property] || "--";
},
async handleDownload() {
this.listLoading = true;
if (this.versionValueVerson === "") {
this.$message.error("必需选择版本!");
this.listLoading = false;
return;
}
//ParentId
if (this.versionValue != "") {
this.listQuery.ParentId = this.versionValue;
} else {
this.listQuery.ParentId = "00000000-0000-0000-0000-000000000000";
}
console.log("R3已结导出:" + JSON.stringify(this.listQuery));
this.$axios
.posts("/api/settleaccount/SettleAccount/Export", {
parentId: this.listQuery.ParentId,
})
.then((res) => {
let fileNameOfProject = res;
this.$axios
.BolbGets(
"/api/settleaccount/getblobfile/download/" + fileNameOfProject
)
.then((response) => {
if (fileNameOfProject.indexOf("_") != -1) {
let downName =
fileNameOfProject.slice(
0,
fileNameOfProject.lastIndexOf("_")
) +
fileNameOfProject.slice(fileNameOfProject.lastIndexOf("."));
downloadFile(response, downName);
this.$notify({
title: "成功",
message: "数据-导出成功!",
type: "success",
duration: 2000,
});
} else {
downloadFile(response, fileNameOfProject);
this.$notify({
title: "成功",
message: "数据-导出成功!",
type: "success",
duration: 2000,
});
}
this.listLoading = false;
});
});
},
getList() {
this.listLoading = true;
this.listQuery.SkipCount = (this.page - 1) * 10;
if (this.versionValue != "") {
this.listQuery.ParentId = this.versionValue;
} else {
this.listQuery.ParentId = "00000000-0000-0000-0000-000000000000";
}
this.$axios
.posts("/api/settleaccount/SettleAccount/list", this.listQuery)
.then((response) => {
this.list = response.items;
//alert(JSON.stringify(response.Items))
this.totalCount = response.totalCount;
setTimeout(() => {
//
this.listLoading = false;
}, 500);
})
.catch(() => {
this.listLoading = false;
});
},
fetchData(id) {
//
this.$axios
.gets("/api/settleaccount/SettleAccount/" + id)
.then((response) => {
this.form = response;
});
},
/** 筛选操作 */
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();
},
/** 多项筛选操作 */
/** 筛选操作 */
handleFilters(data) {
if (data === null) {
this.listQuery.Filters = [];
this.getList(); //
} else {
this.filterObj = data;
console.log("筛选" + JSON.stringify(data));
var offsetHei = document.documentElement.clientHeight;
var removeHeight = Object.keys(this.filterObj).length > 0 ? 310 : 240;
this.tableHeight = offsetHei - removeHeight;
this.currentPage = 1;
let Filter = [];
data.forEach((item) => {
let filter = {};
if (item.formType === "datetime" || item.formType === "datetime") {
// (datetime >= a and datetime <=b)
filter["Column"] = item.fieldName;
filter["Logic"] = 0;
filter["Value"] = item.value[0];
filter["Action"] = item.action;
Filter.push(filter);
if (item.value[1] != null) {
filter["Value"] = item.value[1];
filter["Action"] = 5;
Filter.push(filter);
}
} else {
filter["Column"] = item.fieldName;
filter["Value"] = item.value;
filter["Logic"] = 0;
filter["Action"] = item.action;
Filter.push(filter);
}
});
console.log("筛选条件" + JSON.stringify(Filter));
this.listQuery.Filters = Filter;
this.getList();
}
},
resetQuery() {},
sortChange(data) {
const { prop, order } = data;
if (!prop || !order) {
this.handleFilter();
return;
}
this.listQuery.Sorting = prop + " " + order;
console.log(this.listQuery.Sorting);
this.handleFilter();
},
handleSelectionChange(val) {
this.multipleSelection = val;
},
/** 通过回调控制style */
cellStyle({ row, column, rowIndex, columnIndex }) {
if (column.property === "qty") {
return { textAlign: "right" };
} else {
return { textAlign: "left" };
}
},
/** 通过回调控制表头style */
headerRowStyle({ row, column, rowIndex, columnIndex }) {
if (column.property === "qty") {
return { textAlign: "right", background: "#FAFAFA" };
} else {
return { textAlign: "left", background: "#FAFAFA" };
}
},
handleRowClick(row, column, event) {
this.$refs.multipleTable.clearSelection();
this.$refs.multipleTable.toggleRowSelection(row);
},
},
};
</script>
<style lang="scss" scoped>
@import "../../styles/crmtable.scss";
</style>
<style lang="scss">
.el-table .cell.el-tooltip {
white-space: pre-wrap;
}
</style>

86
vue/src/views/ux/billManage/WmsOutputSumExport/index.vue

@ -27,6 +27,14 @@
@click="handleDelete()" @click="handleDelete()"
>删除(支持批量)</el-button >删除(支持批量)</el-button
> >
<el-button
class="filter-item"
size="mini"
type="warning"
icon="el-icon-upload2"
@click="handleImportExcel()"
>导入文件Excel
</el-button>
</flexbox> </flexbox>
</div> </div>
<!-- 刷新 --> <!-- 刷新 -->
@ -200,6 +208,13 @@
:limit.sync="listQuery.MaxResultCount" :limit.sync="listQuery.MaxResultCount"
@pagination="getList" @pagination="getList"
/> />
<!-- 导入Excel组件 -->
<importExcel
ref="importexcel"
:show="showExcelImport"
:crmType="crmType"
@close="importExcelData"
/>
</div> </div>
<!--统计功能表单渲染--> <!--统计功能表单渲染-->
@ -279,17 +294,18 @@ import Pagination from "@/components/Pagination"; // secondary package based on
import permission from "@/directive/permission/index.js"; import permission from "@/directive/permission/index.js";
import { downloadFile } from "@/utils/crmindex.js"; import { downloadFile } from "@/utils/crmindex.js";
import CRMTableHead from "../../components/CRMTableHead"; import CRMTableHead from "../../components/CRMTableHead";
import importExcel from "@/components/ImportExcel-base";
import moment from "moment"; import moment from "moment";
import JobSelectVerson from "@/components/CreateCom/Job-Select.vue"; import JobSelectVerson from "@/components/CreateCom/Job-Select.vue";
export default { export default {
name: "WmsOutputSumExport", name: "WmsOutputSumExport",
components: { Pagination, CRMTableHead, JobSelectVerson }, components: { Pagination, CRMTableHead, importExcel, JobSelectVerson },
directives: { permission }, directives: { permission },
data() { data() {
return { return {
crmType: "backJob", crmType: "wmsOutputSum",
rules: { rules: {
versionValue: [ versionValue: [
{ required: true, message: "必须输入!", trigger: "change" }, { required: true, message: "必须输入!", trigger: "change" },
@ -367,6 +383,7 @@ export default {
multipleSelection: [], multipleSelection: [],
tableHeight: document.documentElement.clientHeight - 260, tableHeight: document.documentElement.clientHeight - 260,
isEdit: false, isEdit: false,
showExcelImport: false,
stateNameCateMap: [ stateNameCateMap: [
{ label: "执行完成(任务成功)", value: "Succeeded", cssName: "success" }, { label: "执行完成(任务成功)", value: "Succeeded", cssName: "success" },
@ -446,6 +463,69 @@ export default {
}, },
}, },
methods: { methods: {
//
handleConfirm(row) {
this.isEdit = false;
if (this.multipleSelection.length == 0) {
this.$message({
message: "至少选择一行!",
type: "warning",
});
return;
}
var params = [];
let myalert = ""; //使
if (row) {
//
params.push(row.id);
myalert = row.name;
} else {
//
this.multipleSelection.forEach((element) => {
let id = element.id;
params.push(id);
});
myalert = "选中项";
}
this.$confirm("是否确认" + myalert + "?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.$axios
.posts(
"/api/settleaccount/wmsSharePart90output/WmsSharePartOutPutAudit",
params
)
.then((response) => {
const index = this.list.indexOf(row);
this.$notify({
title: "成功",
message: "操作成功",
type: "success",
duration: 2000,
});
this.getList();
});
})
.catch(() => {
this.$message({
type: "info",
message: "已取消操作",
});
});
},
handleImportExcel() {
//
this.showExcelImport = true;
this.$refs.importexcel.handleImportExcelClick();
},
importExcelData() {
//
this.showExcelImport = false;
this.getList();
},
dblhandleCurrentChange(row, column, cell, event) { dblhandleCurrentChange(row, column, cell, event) {
if (column.label === "说明") { if (column.label === "说明") {
row.isEditCell = true; row.isEditCell = true;
@ -643,7 +723,7 @@ export default {
this.formLoading = true; this.formLoading = true;
this.listExportQuery.version = this.formCount.versionValue; // this.listExportQuery.version = this.formCount.versionValue; //
// //
this.listExportQuery.state =JSON.stringify(this.formCount.state); this.listExportQuery.state = JSON.stringify(this.formCount.state);
console.log( console.log(
"出库单合计汇总输出-保存条件:" + "出库单合计汇总输出-保存条件:" +
JSON.stringify(this.listExportQuery) JSON.stringify(this.listExportQuery)

12
vue/src/views/ux/vw/dataInput/OnetimeSale/detail.vue

@ -347,7 +347,7 @@ export default {
"大众备件出库单导出:" + JSON.stringify(this.listOutPutQuery) "大众备件出库单导出:" + JSON.stringify(this.listOutPutQuery)
); );
this.$axios this.$axios
.posts("/api/settleaccount/WmsHQKBOutput/Export", this.listOutPutQuery) .posts("/api/settleaccount/WmsOneTimeSaleOutput/Export", this.listOutPutQuery)
.then((res) => { .then((res) => {
let fileNameOfProject = res; let fileNameOfProject = res;
this.$axios this.$axios
@ -428,7 +428,7 @@ export default {
); );
this.$axios this.$axios
.posts( .posts(
"/api/settleaccount/WmsHQKBOutput/WmsSharePartOutPutModify", "/api/settleaccount/WmsOneTimeSaleOutput/WmsSharePartOutPutModify",
this.listOutPutQuery this.listOutPutQuery
) )
.then((response) => { .then((response) => {
@ -482,7 +482,7 @@ export default {
.then(() => { .then(() => {
this.$axios this.$axios
.posts( .posts(
"/api/settleaccount/WmsHQKBOutput/WmsKanbanOutPut-Cancel", "/api/settleaccount/WmsOneTimeSaleOutput/WmsKanbanOutPut-Cancel",
this.listOutPutQuery this.listOutPutQuery
) )
.then((response) => { .then((response) => {
@ -535,7 +535,7 @@ export default {
this.$axios this.$axios
.posts( .posts(
"/api/settleaccount/WmsHQKBOutput/WmsKanbanOutPut-Pass", "/api/settleaccount/WmsOneTimeSaleOutput/WmsKanbanOutPut-Pass",
this.listOutPutQuery this.listOutPutQuery
) )
.then((response) => { .then((response) => {
@ -582,7 +582,7 @@ export default {
.then(() => { .then(() => {
this.$axios this.$axios
.posts( .posts(
"/api/settleaccount/WmsHQKBOutput/WmsOutPutDelete", "/api/settleaccount/WmsOneTimeSaleOutput/WmsOutPutDelete",
this.listDeleteQuery this.listDeleteQuery
) )
.then((response) => { .then((response) => {
@ -639,7 +639,7 @@ export default {
console.log("查询条件:" + JSON.stringify(this.listQuery)); console.log("查询条件:" + JSON.stringify(this.listQuery));
this.$axios this.$axios
.posts( .posts(
"/api/settleaccount/WmsHQKBOutput/WmsKanbanDetailList", "/api/settleaccount/WmsOneTimeSaleOutput/WmsKanbanDetailList",
this.listQuery this.listQuery
) )
.then((response) => { .then((response) => {

8
vue/src/views/ux/vw/dataInput/OnetimeSale/index.vue

@ -156,12 +156,12 @@ import importExcel from "@/components/ImportExcel-base";
import { formatTimeToTimestamp } from "@/utils/index"; import { formatTimeToTimestamp } from "@/utils/index";
export default { export default {
name: "WmsHQKBOutput", name: "WmsOneTimeSaleOutput",
components: { Pagination, Detail, importExcel }, components: { Pagination, Detail, importExcel },
directives: { permission }, directives: { permission },
data() { data() {
return { return {
crmType: "Wms_HqKB_Output", crmType: "Wms_onetimesale_Output",
rules: { rules: {
// version: [{ required: true, message: "", trigger: "change" }], // version: [{ required: true, message: "", trigger: "change" }],
// beginTime: [{ required: true, message: "", trigger: "change" }], // beginTime: [{ required: true, message: "", trigger: "change" }],
@ -265,7 +265,7 @@ export default {
let getguid = row.id; let getguid = row.id;
let getremark = row.remark; let getremark = row.remark;
this.$axios this.$axios
.gets("/api/settleaccount/WmsHQKBOutput/UpdateRemark", { .gets("/api/settleaccount/WmsOneTimeSaleOutput/UpdateRemark", {
id: getguid, id: getguid,
remark: getremark, remark: getremark,
}) })
@ -363,7 +363,7 @@ export default {
this.listQuery.SkipCount = (this.page - 1) * 15; this.listQuery.SkipCount = (this.page - 1) * 15;
} }
this.$axios this.$axios
.posts("/api/settleaccount/WmsHQKBOutput/WmsKanbanList", this.listQuery) .posts("/api/settleaccount/WmsOneTimeSaleOutput/WmsKanbanList", this.listQuery)
.then((response) => { .then((response) => {
this.list = response.items; this.list = response.items;
//alert(JSON.stringify(response.Items)) //alert(JSON.stringify(response.Items))

12
vue/src/views/ux/vw/dataInput/erpei/index.vue

@ -364,12 +364,12 @@ export default {
tempsTabs.push({ label: "差异原因", prop: "remark", width: 120 }); tempsTabs.push({ label: "差异原因", prop: "remark", width: 120 });
return tempsTabs; return tempsTabs;
}, },
MoreTypes() { // MoreTypes() {
var moreTypes = []; // var moreTypes = [];
moreTypes.push({ type: "updateFis", name: "刷新FIS结算状态" }); // moreTypes.push({ type: "updateFis", name: "FIS" });
moreTypes.push({ type: "enter", name: "刷新数据开票状态" }); // moreTypes.push({ type: "enter", name: "" });
return moreTypes; // return moreTypes;
}, // },
}, },
methods: { methods: {
selectValue(params) { selectValue(params) {

8
vue/src/views/ux/vw/dataInput/hq_kb_output/detail.vue

@ -330,8 +330,14 @@ export default {
prop: "materialDesc", prop: "materialDesc",
width: 220, width: 220,
}); });
tempsTabs.push({ label: "寄售库存", prop: "sockQty", width: 100 }); tempsTabs.push({ label: "寄售库存", prop: "sockQty", width: 100 });
tempsTabs.push({ label: "结算数量", prop: "qty", width: 100 }); tempsTabs.push({ label: "结算数量", prop: "qty", width: 100 });
tempsTabs.push({
label: "实际出库数量",
prop: "realityNumber",
width: 120,
});
tempsTabs.push({ label: "状态", prop: "state", width: 100 }); tempsTabs.push({ label: "状态", prop: "state", width: 100 });
return tempsTabs; return tempsTabs;
}, },
@ -730,7 +736,7 @@ export default {
}, },
/** 通过回调控制style */ /** 通过回调控制style */
cellStyle({ row, column, rowIndex, columnIndex }) { cellStyle({ row, column, rowIndex, columnIndex }) {
if (column.property === "qty" || column.property === "stockQty") { if (column.property === "qty" || column.property === "realityNumber" || column.property === "sockQty") {
return { textAlign: "right" }; return { textAlign: "right" };
} else { } else {
return { textAlign: "left" }; return { textAlign: "left" };

581
vue/src/views/ux/vw/dataInput/hq_open/index.vue

@ -0,0 +1,581 @@
<!--红旗未结明细-->
<!--红旗平台导入功能-->
<template>
<div class="cr-body-content">
<flexbox class="content-header">
<XhJSSelect
:options="versionList"
style="width: 200px"
class="search-container"
@value-change="selectValue"
></XhJSSelect>
<el-button
class="filter-item"
size="mini"
type="warning"
icon="el-icon-upload2"
@click="handleImportExcel()"
>导入文件Excel
</el-button>
<!-- <el-button
class="filter-item"
size="mini"
type="primary"
icon="el-icon-download"
@click="handleDownload()"
>导出Excel
</el-button> -->
<el-dropdown
size="small"
class="filter-item"
style="margin-left: 15px; font-weight: bold"
@command="handleCommand"
>
<span class="el-dropdown-link">
导出数据<i class="el-icon-arrow-down el-icon--right"></i>
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="excel" icon="el-icon-plus"
>导出Excel</el-dropdown-item
>
<el-dropdown-item command="csv" icon="el-icon-circle-plus"
>导出Csv</el-dropdown-item
>
</el-dropdown-menu>
</el-dropdown>
<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>
<!--表格头组件filter查询-->
<c-r-m-table-head
ref="crmTableHead"
:crm-type="crmType"
@handle="handleHandle"
@filter="handleFilters"
>
</c-r-m-table-head>
</flexbox>
<!--表格渲染-->
<el-table
ref="multipleTable"
v-loading.fullscreen.lock="listLoading"
element-loading-text="拼命加载中..."
element-loading-spinner="el-icon-loading"
class="cr-table"
:data="list"
:height="tableHeight"
:cell-style="cellStyle"
:header-cell-style="headerRowStyle"
size="small"
stripe
border
highlight-current-row
style="width: 100%"
@sort-change="sortChange"
@selection-change="handleSelectionChange"
@row-click="handleRowClick"
>
<!-- <el-table-column type="selection" width="44px"></el-table-column> -->
<el-table-column
label="版本"
prop="version"
sortable="custom"
align="center"
width="100px"
fixed
>
<template slot-scope="scope">
<el-tooltip :content="scope.row.version" placement="top">
<span class="link-type">{{ scope.row.version }}</span>
</el-tooltip>
</template>
</el-table-column>
<el-table-column
v-for="(item, index) in getDefaultField"
:key="index"
:prop="item.prop"
:label="item.label"
:min-width="item.width"
:formatter="fieldFormatter"
sortable="custom"
show-overflow-tooltip
:gutter="0"
>
<template slot="header" slot-scope="scope">
{{ scope.column.label }}
</template>
</el-table-column>
</el-table>
<div class="table-footer">
<!-- 分页控件 style="margin-top: -25px;margin-bottom:-25px;float:right;"-->
<pagination
v-show="totalCount > 0"
:total="totalCount"
:page.sync="page"
:limit.sync="listQuery.MaxResultCount"
@pagination="getList"
/>
<!-- 导入Excel组件 -->
<importExcel
ref="importexcel"
:show="showExcelImport"
:crmType="crmType"
@close="importExcelData"
/>
</div>
</div>
</template>
<script>
import Pagination from "@/components/Pagination"; // secondary package based on el-pagination
import permission from "@/directive/permission/index.js";
import importExcel from "@/components/ImportExcel-base";
import CRMTableHead from "../../../components/CRMTableHead";
import moment from "moment";
import Lockr from "lockr";
import { downloadFile } from "@/utils/crmindex.js";
import XhJSSelect from "@/components/CreateCom/Xh-JS-Select-Label.vue";
export default {
name: "UnHQSettle",
components: { Pagination, CRMTableHead, importExcel, XhJSSelect },
directives: { permission },
filters: {
IsCustomerSignFilter(status) {
//
const statusMap = {
true: "是",
false: "否",
};
return statusMap[status];
},
},
props: {
customerInfos: {
type: Array,
default: () => {
return [];
},
},
},
data() {
return {
crmType: "unHQSettle",
versionValue: "",
versionList: [], //
rules: {
//
erpMaterialCode: [
{ required: true, message: "必须输入!", trigger: "blur" },
],
},
searchContent: "", //
customerInfo: {
settleAccountId: "",
},
form: {
dicDetailID: "",
customerId: "",
projectId: "",
},
list: null,
totalCount: 0,
listLoading: true,
formLoading: true,
//
filterObj: {
type: Object,
default: () => {
return {};
},
},
listVersionQuery: {
SkipCount: 0,
MaxResultCount: 15,
},
listQuery: {
Filters: [
{
logic: 0,
column: "Enabled",
action: 0,
value: "true",
}, //
],
//OrgID:"",
SkipCount: 0,
MaxResultCount: 15,
version: "",
site: "TH",
userId: "00000000-0000-0000-0000-000000000000",
},
listExportQuery: {
Filters: [
{
logic: 0,
column: "Enabled",
action: 0,
value: "true",
}, //
],
//OrgID:"",
SkipCount: 0,
MaxResultCount: 15,
version: "",
fileType: 0,
userId: "",
},
page: 1,
dialogFormVisible: false,
multipleSelection: [],
formTitle: "",
drawer: false,
showExcelImport: false,
tableHeight: document.documentElement.clientHeight - 210,
isEdit: false,
};
},
mounted() {
var self = this;
window.onresize = function () {
var offsetHei = document.documentElement.clientHeight;
self.tableHeight = offsetHei - 210;
};
},
created() {
this.getVersionInfo();
if (this.versionList == []) {
this.getList();
}
},
computed: {
/** 列表字段 */
getDefaultField() {
var tempsTabs = [];
tempsTabs.push({ label: "工厂", prop: "factory", width: 100 });
tempsTabs.push({
label: "看板号",
prop: "hqhKanBan",
width: 170,
});
tempsTabs.push({ label: "看板编号", prop: "kanbanNumber", width: 250 });
tempsTabs.push({
label: "物料凭证号",
prop: "materialVoucherNo",
width: 200,
});
tempsTabs.push({
label: "物料号",
prop: "materialCode",
width: 200,
});
tempsTabs.push({
label: "验收单号",
prop: "acceptanceNo",
width: 130,
});
tempsTabs.push({
label: "验收单日期",
prop: "acceptanceDate",
width: 170,
});
tempsTabs.push({ label: "数量", prop: "qty", width: 100 });
tempsTabs.push({ label: "单价", prop: "price", width: 100 });
tempsTabs.push({ label: "金额", prop: "amt", width: 100 });
tempsTabs.push({ label: "供应商", prop: "supplier", width: 120 });
tempsTabs.push({
label: "存储地点",
prop: "storageLocation",
width: 120,
});
tempsTabs.push({
label: "存储地点描述",
prop: "storageLocationDesc",
width: 250,
});
return tempsTabs;
},
},
methods: {
handleCommand(command) {
if (this.versionValue === "") {
this.$message.error("请先选择版本!");
return;
}
switch (command) {
case "excel":
this.listQuery.fileType = 1; //0csv,1excel
break;
case "csv":
this.listQuery.fileType = 0; //0csv,1excel
break;
default:
//
break;
}
this.listLoading = true;
if (this.versionValue === "") {
this.$message.error("必需选择版本!");
this.listLoading = false;
return;
}
if (this.versionValue != "") {
this.listQuery.version = this.versionValue;
}
console.log("红旗未结明细导出:" + JSON.stringify(this.listQuery));
this.$axios
.posts("/api/settleaccount/UnHQSettle/Export", this.listQuery)
.then((res) => {
let fileNameOfProject = res;
this.$axios
.BolbGets(
"/api/settleaccount/getblobfile/download/" + fileNameOfProject
)
.then((response) => {
if (fileNameOfProject.indexOf("_") != -1) {
let downName =
fileNameOfProject.slice(
0,
fileNameOfProject.lastIndexOf("_")
) +
fileNameOfProject.slice(fileNameOfProject.lastIndexOf("."));
downloadFile(response, downName);
this.$notify({
title: "成功",
message: "数据-导出成功!",
type: "success",
duration: 2000,
});
} else {
downloadFile(response, fileNameOfProject);
this.$notify({
title: "成功",
message: "数据-导出成功!",
type: "success",
duration: 2000,
});
}
this.listLoading = false;
});
});
},
selectValue(params) {
//
this.versionValue = params.value;
this.getList();
},
selectOptionsChange(item) {
this.getList();
},
getVersionInfo() {
//
//this.listLoading = true;
this.listQuery.SkipCount = (this.page - 1) * 1000;
this.$axios
.posts("/api/settleaccount/UnHQSettle/listVersion", this.listQuery)
.then((response) => {
this.versionList = [];
response.items.forEach((element) => {
let options = {};
options.value = element.id;
options.label = element.version;
this.versionList.push(options);
});
if (JSON.stringify(this.versionList) != "[]") {
//
this.versionValue = this.versionList[0].label;
this.getList();
}
this.listLoading = false;
})
.catch(() => {
this.listLoading = false;
});
},
handleImportExcel() {
//
this.showExcelImport = true;
this.$refs.importexcel.handleImportExcelClick();
},
/** 刷新列表 */
handleHandle(data) {
if (data.type !== "edit") {
this.getList();
}
},
/** 格式化字段 */
fieldFormatter(row, column) {
// if (column.property === "state") {
// return { 0: "", 2: "" }[row[column.property]];
// }
if (column.property == "acceptanceDate") {
var date = row[column.property];
if (date == undefined) {
return "";
}
return moment(date).format("YYYY-MM-DD HH:mm:ss");
}
return row[column.property] || "--";
},
importExcelData() {
this.getVersionInfo();
this.listLoading = false;
//
this.showExcelImport = false;
},
getList() {
this.listLoading = true;
this.listQuery.SkipCount = (this.page - 1) * 10;
if (this.versionValue != "") {
this.listQuery.version = this.versionValue;
}
console.log("列表查询条件:" + JSON.stringify(this.listQuery));
this.$axios
.posts("/api/settleaccount/UnHQSettle/list", this.listQuery)
.then((response) => {
this.list = response.items;
this.totalCount = response.totalCount;
setTimeout(() => {
//
this.listLoading = false;
}, 500);
})
.catch(() => {
this.listLoading = false;
});
},
fetchData(id) {
//
this.$axios
.gets("/api/settleaccount/UnHQSettle/" + id)
.then((response) => {
this.form = response;
});
},
/** 筛选操作 */
handleFilter() {
this.page = 1;
this.getList();
this.listQuery.Filters = [];
if (this.searchContent != "") {
var column = "hqhKanBan";
let filter = {
logic: 0,
column: column,
action: 0,
value: this.searchContent,
};
this.listQuery.Filters.push(filter);
}
this.getList();
},
/** 多项筛选操作 */
/** 筛选操作 */
handleFilters(data) {
if (data === null) {
this.listQuery.Filters = [];
this.getList(); //
} else {
this.filterObj = data;
console.log("筛选" + JSON.stringify(data));
var offsetHei = document.documentElement.clientHeight;
var removeHeight = Object.keys(this.filterObj).length > 0 ? 310 : 240;
this.tableHeight = offsetHei - removeHeight;
this.currentPage = 1;
let Filter = [];
data.forEach((item) => {
let filter = {};
if (item.formType === "datetime" || item.formType === "datetime") {
// (datetime >= a and datetime <=b)
filter["Column"] = item.fieldName;
filter["Logic"] = 0;
filter["Value"] = item.value[0];
filter["Action"] = item.action;
Filter.push(filter);
if (item.value[1] != null) {
filter["Value"] = item.value[1];
filter["Action"] = 5;
Filter.push(filter);
}
} else {
filter["Column"] = item.fieldName;
filter["Value"] = item.value;
filter["Logic"] = 0;
filter["Action"] = item.action;
Filter.push(filter);
}
});
console.log("筛选条件" + JSON.stringify(Filter));
this.listQuery.Filters = Filter;
this.getList();
}
},
resetQuery() {},
sortChange(data) {
const { prop, order } = data;
if (!prop || !order) {
this.handleFilter();
return;
}
this.listQuery.Sorting = prop + " " + order;
console.log(this.listQuery.Sorting);
this.handleFilter();
},
handleSelectionChange(val) {
this.multipleSelection = val;
},
/** 通过回调控制style */
cellStyle({ row, column, rowIndex, columnIndex }) {
// if (column.property === "qty") {
// return { textAlign: "right" };
// } else {
// return { textAlign: "left" };
// }
return { textAlign: "left" };
},
/** 通过回调控制表头style */
headerRowStyle({ row, column, rowIndex, columnIndex }) {
if (column.property === "qty") {
return { textAlign: "right", background: "#FAFAFA" };
} else {
return { textAlign: "left", background: "#FAFAFA" };
}
},
handleRowClick(row, column, event) {
this.$refs.multipleTable.clearSelection();
this.$refs.multipleTable.toggleRowSelection(row);
},
},
};
</script>
<style lang="scss" scoped>
@import "../../../styles/crmtable.scss";
</style>
<style lang="scss">
.el-table .cell.el-tooltip {
white-space: pre-wrap;
}
</style>

100
vue/src/views/ux/vw/dataInput/hq_y_report/index.vue

@ -237,7 +237,7 @@
<el-col :md="4" :xs="24"> <el-col :md="4" :xs="24">
<el-form-item label="选择版本" required /> <el-form-item label="选择版本" required />
</el-col> </el-col>
<el-col :md="10" :xs="24" style="margin-left: -80px"> <el-col :md="20" :xs="24" style="margin-left: -80px">
<el-form-item prop="versionValue"> <el-form-item prop="versionValue">
<el-select <el-select
v-model="formCount.versionValue" v-model="formCount.versionValue"
@ -255,22 +255,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="4" :xs="24">
<el-form-item label="发货状态" style="margin-left: 10px" />
</el-col>
<el-col :md="10" :xs="24" style="margin-left: -110px">
<el-form-item prop="BillStatus">
<el-select
size="medium"
v-model="formCount.BillStatus"
placeholder="请选择"
style="width: 188px; margin-right: 25px"
>
<el-option label="未发货" :value="1"></el-option>
<el-option label="已发货" :value="2"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :md="4" :xs="24"> <el-col :md="4" :xs="24">
@ -304,56 +289,6 @@
</el-col> </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="warehouseDesc">
<el-input
v-model="formCount.warehouseDesc"
style="width: 450px"
type="textarea"
:rows="4"
placeholder="多个收货仓库描述,请以回车换行形式添加!"
/>
</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 prop="startTime">
<el-date-picker
v-model="formCount.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 prop="endTime">
<el-date-picker
v-model="formCount.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-collapse v-model="activeNames"> <el-collapse v-model="activeNames">
<el-collapse-item name="1"> <el-collapse-item name="1">
@ -365,38 +300,25 @@
</template> </template>
<el-row> <el-row>
<el-col :md="4" :xs="24"> <el-col :md="4" :xs="24">
<el-form-item label="订货看板编号" /> <el-form-item label="结算物料号" />
</el-col>
<el-col :md="10" :xs="24" style="margin-left: -80px">
<el-form-item prop="kanban">
<el-input
type="textarea"
v-model="formCount.kanban"
style="width: 170px"
:rows="4"
placeholder="多个订货看板编号,请以回车换行形式添加!"
/>
</el-form-item>
</el-col>
<el-col :md="4" :xs="24">
<el-form-item label="发货零件号" />
</el-col> </el-col>
<el-col :md="10" :xs="24" style="margin-left: -95px"> <el-col :md="20" :xs="24" style="margin-left: -80px">
<el-form-item prop="materialCode"> <el-form-item prop="materialCode">
<el-input <el-input
v-model="formCount.materialCode" v-model="formCount.materialCode"
style="width: 170px" style="width: 400px"
type="textarea" type="textarea"
:rows="4" :rows="4"
placeholder="多个发货零件号,请以回车换行形式添加!" placeholder="多个结算物料号,请以回车换行形式添加!"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :md="4" :xs="24"> <!-- <el-col :md="4" :xs="24">
<el-form-item label="结算验收单号" /> <el-form-item label="结算验收单号" />
</el-col> </el-col>
<el-col :md="10" :xs="24" style="margin-left: -80px"> <el-col :md="10" :xs="24" style="margin-left: -80px">
@ -409,15 +331,15 @@
placeholder="多个结算验收单号,请以回车换行形式添加!" placeholder="多个结算验收单号,请以回车换行形式添加!"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col> -->
<el-col :md="4" :xs="24"> <el-col :md="4" :xs="24">
<el-form-item label="SAP编号" /> <el-form-item label="SAP编号" />
</el-col> </el-col>
<el-col :md="10" :xs="24" style="margin-left: -95px"> <el-col :md="20" :xs="24" style="margin-left: -80px">
<el-form-item prop="sapCode"> <el-form-item prop="sapCode">
<el-input <el-input
v-model="formCount.sapCode" v-model="formCount.sapCode"
style="width: 170px" style="width: 400px"
type="textarea" type="textarea"
:rows="4" :rows="4"
placeholder="多个厂内零件号,请以回车换行形式添加!" placeholder="多个厂内零件号,请以回车换行形式添加!"

12
vue/src/views/ux/vw/dataInput/r3-open/index.vue

@ -309,12 +309,12 @@ export default {
// tempsTabs.push({ label: "", prop: "state", width: 120 }); // tempsTabs.push({ label: "", prop: "state", width: 120 });
return tempsTabs; return tempsTabs;
}, },
MoreTypes() { // MoreTypes() {
var moreTypes = []; // var moreTypes = [];
moreTypes.push({ type: "updateFis", name: "刷新FIS结算状态" }); // moreTypes.push({ type: "updateFis", name: "FIS" });
moreTypes.push({ type: "enter", name: "刷新数据开票状态" }); // moreTypes.push({ type: "enter", name: "" });
return moreTypes; // return moreTypes;
}, // },
}, },
methods: { methods: {
selectValue(params) { selectValue(params) {

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

@ -49,7 +49,7 @@
@filter="handleFilters" @filter="handleFilters"
> >
</c-r-m-table-head> </c-r-m-table-head>
<div class="right-container" style="margin-left: 180px"> <!-- <div class="right-container" style="margin-left: 180px">
<el-dropdown <el-dropdown
v-if="MoreTypes.length > 0" v-if="MoreTypes.length > 0"
trigger="click" trigger="click"
@ -68,7 +68,7 @@
> >
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
</div> </div> -->
</flexbox> </flexbox>
<!--表格渲染--> <!--表格渲染-->
<el-table <el-table

51
vue/static/tableFieldForSearch.json

@ -2529,7 +2529,6 @@
"fieldName": "flag", "fieldName": "flag",
"setting": [] "setting": []
}, },
{ {
"fieldId": 15, "fieldId": 15,
"formType": "text", "formType": "text",
@ -2605,7 +2604,6 @@
"fieldName": "flag", "fieldName": "flag",
"setting": [] "setting": []
}, },
{ {
"fieldId": 15, "fieldId": 15,
"formType": "text", "formType": "text",
@ -3356,7 +3354,8 @@
"setting": [] "setting": []
} }
] ]
}, "hq-y-OutOrder": { },
"hq-y-OutOrder": {
"id": "36", "id": "36",
"data": [ "data": [
{ {
@ -3419,11 +3418,49 @@
"fieldName": "extend2", "fieldName": "extend2",
"setting": [] "setting": []
} }
] ]
},
"wmsOutputSum": {
"id": "36",
"data": [
{
"fieldId": 2,
"formType": "select",
"isNull": 0,
"name": "出库类型",
"options": "",
"type": 3,
"value": "",
"fieldType": 0,
"fieldName": "state",
"setting": [
"未结,0",
"部分结算,1",
"已结,2"
]
},
{
"fieldId": 5,
"formType": "text",
"name": "结算单号",
"type": 1,
"value": "",
"fieldType": 1,
"fieldName": "wmsBillNum",
"setting": []
},
{
"fieldId": 5,
"formType": "text",
"name": "物料组",
"type": 1,
"value": "",
"fieldType": 1,
"fieldName": "materialCode",
"setting": []
} }
]
}
} }
Loading…
Cancel
Save