Browse Source

【nev-pc】暂存

ag_report_nev
安虹睿 1 year ago
parent
commit
8c2b2d130e
  1. 106
      fe/PC/src/components/tableDrawer/tableDrawer.vue
  2. 14
      fe/PC/src/components/tablePagination/index.vue
  3. 70
      fe/PC/src/router/index.js
  4. 26
      fe/PC/src/utils/primarySearchOption/index.js
  5. 58
      fe/PC/src/utils/tableColumns/index.js
  6. 11
      fe/PC/src/utils/tabsDesTions/index.js
  7. 94
      fe/PC/src/views/basicData/WarehouseManage/InventoryBilling.vue
  8. 271
      fe/PC/src/views/materialIssueManage/ZS/IssuePlanZS.vue

106
fe/PC/src/components/tableDrawer/tableDrawer.vue

@ -0,0 +1,106 @@
<template>
<el-drawer
:size="size"
:title="title"
:visible="show"
:direction="direction"
@close="close"
>
<div class="tableDrawerContent">
<umyTable
:tableBorder="true"
:tableData="tableData"
:tableColumns="tableColumns"
:selectionTable="selectionTable"
:requiredRules="false"
:setUTableHeight="260"
@sortChange="sortChange"
@handleSelectionChange="handleSelectionChange"
>
<template>
<slot></slot>
</template>
</umyTable>
</div>
</el-drawer>
</template>
<script>
import { LoadingMixins } from "@/mixins/LoadingMixins"
export default {
name: "tableDrawer",
mixins: [
LoadingMixins,
],
watch:{
isShow(n,o){
this.show = n;
},
},
data () {
return {
show:false,
};
},
props:{
size:{
type: String,
default: "40%",
},
isShow:{
type: Boolean,
default: false,
},
//
title: {
type: String,
default: "详情",
},
//
direction: {
type: String,
default: "rtl",
},
//
tableData: {
type: Array,
default: () => {
return [];
},
},
//
tableColumns: {
type: Array,
default: () => {
return [];
},
},
//
selectionTable: {
type: Boolean,
default: false,
},
},
mounted () {
},
methods:{
close(){
this.show=false
this.$emit("setClose",this.show)
},
//
sortChange (data) {
this.$emit('sortChange', data)
},
//selection
handleSelectionChange (val) {
this.$emit("handleSelectionChange", val)
},
}
};
</script>
<style lang="scss" scoped>
.tableDrawerContent{
padding:0 20px
}
</style>

14
fe/PC/src/components/tablePagination/index.vue

@ -256,6 +256,9 @@ export default {
this.closeRowDrop()
}
})
//
if(this.primarySearchOption && this.primarySearchOption.length > 0){this.headerFilterClick()}
},
methods: {
//
@ -266,10 +269,7 @@ export default {
this.$emit('rowDrop',data)
this.isUpdate = !this.isUpdate
},
//
topbutton (val,item) {
// + table +
if(val=="filter"){
headerFilterClick(){
this.showSearchOverall = !this.showSearchOverall
//
if(this.primarySearchOption && this.primarySearchOption.length > 0){
@ -289,6 +289,12 @@ export default {
}
})
}
},
//
topbutton (val,item) {
// + table +
if(val=="filter"){
this.headerFilterClick()
}
//
else if (val == 'field') {

70
fe/PC/src/router/index.js

@ -270,6 +270,22 @@ export const constantRoutes = [
// }
// }]
// },
{
path: '/',
component: Layout,
redirect: '/gridlayout',
hidden: true,
children: [{
path: 'IssuePlanZS',
component: () => import('@/views/materialIssueManage/ZS/IssuePlanZS.vue'),
name: 'IssuePlanZS',
meta: {
keepAlive : true,
title: '注塑计划',
icon: '成品发运任务',
}
}]
},
{
path: '/',
component: Layout,
@ -281,7 +297,7 @@ export const constantRoutes = [
name: 'IssueRequestZS',
meta: {
keepAlive : true,
title: '人工发料申请(注塑)',
title: '人工注塑申请',
icon: '成品发运任务',
}
}]
@ -297,7 +313,7 @@ export const constantRoutes = [
name: 'IssueJobZS',
meta: {
keepAlive : true,
title: '人工发料任务(注塑)',
title: '人工注塑任务',
icon: '成品发运任务',
}
}]
@ -313,7 +329,7 @@ export const constantRoutes = [
name: 'IssueNoteZS',
meta: {
keepAlive : true,
title: '人工发料记录(注塑)',
title: '人工注塑记录',
icon: '成品发运任务',
}
}]
@ -462,54 +478,6 @@ export const constantRoutes = [
}
}]
},
{
path: '/',
component: Layout,
redirect: '/gridlayout',
hidden: true,
children: [{
path: 'StdCostPriceSheet',
component: () => import('@/views/basicData/priceManage/StdCostPriceSheet.vue'),
name: 'StdCostPriceSheet',
meta: {
keepAlive : true,
title: '标准成本价格单',
icon: '成品发运任务',
}
}]
},
{
path: '/',
component: Layout,
redirect: '/gridlayout',
hidden: true,
children: [{
path: 'PurchasePriceSheet',
component: () => import('@/views/basicData/priceManage/PurchasePriceSheet.vue'),
name: 'PurchasePriceSheet',
meta: {
keepAlive : true,
title: '采购价格单',
icon: '成品发运任务',
}
}]
},
{
path: '/',
component: Layout,
redirect: '/gridlayout',
hidden: true,
children: [{
path: 'SalePriceSheet',
component: () => import('@/views/basicData/priceManage/SalePriceSheet.vue'),
name: 'SalePriceSheet',
meta: {
keepAlive : true,
title: '销售价格单',
icon: '成品发运任务',
}
}]
},
{
path: '/',
component: Layout,

26
fe/PC/src/utils/primarySearchOption/index.js

@ -1,6 +1,30 @@
// 示例配置 primarySearchOptionExample
export const ItemBasic = [
// export const ItemBasic = [
// // type == input
// { type: "input", label: "物品编码", prop: "code", action:"Like"},
// // type == select 枚举options(filters/status.js)
// { type: "select", label: "状态", prop: "status", options: "itemStatus"},
// // type == select 自定义options(使用userOptions参数)
// // { type: "select", label: "制造件", prop: 'canMake', userOptions: [
// // { "label": "是", id:'1', "value": true, },
// // { "label": "不是", id:'2',"value": false,}]
// // },
// // //type == date
// // { type: "date", label: "日期", prop: "date",},
// // // type == time
// // { type: "time", label: "时间", prop: "time",},
// // // type == dateTime
// // { type: "dateTime", label: "日期时间", prop: "dateTime",},
// // // type == dateTimelimit 选择范围:当前天及以后
// // { type: "dateTimelimit", label: "当前天及以后", prop: "dateTimelimit",},
// // 其他参数(以上方式通用):
// // 1、 value 添加默认值(默认为空),如:value:"111",默认值只为回显数据,不做查询处理
// // 如需要查询默认值,请在获取界面数据的paging()中配置
// // 2、 noClearable 去掉清除按钮(默认显示清除按钮)
// ]
export const IssuePlanZS = [
// type == input
{ type: "input", label: "物品编码", prop: "code", action:"Like"},
// type == select 枚举options(filters/status.js)

58
fe/PC/src/utils/tableColumns/index.js

@ -701,6 +701,15 @@ export const TransactionType = [
// fixed: "right"
// },
]
// 库存开账
export const InventoryBilling = [
{ label: "物品代码", prop: "itemCode", type: "name" },
{ label: "ERP系统库位代码", prop: "erpLocationCode",width:"180px" },
{ label: "创建时间", prop: "creationTime", type:'dateTime' },
{ label: "上次修改时间", prop: "lastModificationTime", type:'dateTime' },
{ label: "备注", prop: "remark" },
]
// 车间信息 20230328
export const Workshop = [
{
@ -1018,7 +1027,6 @@ export const StdCostPriceSheet = [
width:"200px"
},
{ label: "标准成本价格", prop: "stdCostPrice" },
{ label: "价格单描述", prop: "description" },
{ label: "创建时间", prop: "creationTime", type:'dateTime' },
{ label: "上次修改时间", prop: "lastModificationTime", type:'dateTime' },
{ label: "备注", prop: "remark" },
@ -2743,7 +2751,7 @@ export const InventoryBalance = [
{ label: "库存数量", prop: "qty",isNumber:true },
{ label: "计量单位", prop: "uom" },
{ label: "标准成本单价", prop: "stdCostPrice" },
{ label: "标准成本价格", prop: "stdCost" },
{ label: "标准成本金额", prop: "stdCost" },
{ label: "批次", prop: "lot" },
{ label: "库位代码", prop: "locationCode" },
{ label: "库存状态", type: "filter", filters: "inventoryStage", prop: "status" },
@ -4247,7 +4255,44 @@ export const completDumpNoteZP = [
{ label: "上次修改时间", prop: 'lastModificationTime', type: "dateTime" },
]
// 人工发料申请(注塑)
// 注塑计划
export const IssuePlanZS = [
{
label: _Names.itemCode,
prop: "code",
fixed: "left",
},
{ label: _Names.itemName, prop: "name" },
{ label: _Names.itemDesc1, prop: "desc1" },
{ label: _Names.itemDesc2, prop: "desc2" },
{ label: _Public.status, prop: "status", type: "filter", filters: "itemStatus" },
{ label: _Public.type, prop: 'type', type: "filter", filters: "ItemTypeBasic" },
{ label: _Names.abcClass, prop: 'abcClass', type: "filter", filters: "abcClass" },
{ label: _Names.canMake, prop: 'canMake', type: "filter", filters: "whetherOrNot" },
{ label: _Names.canBuy, prop: 'canBuy', type: "filter", filters: "whetherOrNot" },
{ label: _Names.canOutsourcing, prop: 'canOutsourcing', type: "filter", filters: "whetherOrNot" },
{ label: _Names.isRecycled, prop: 'isRecycled', type: "filter", filters: "whetherOrNot" },
{ label: _Names.isPhantom, prop: "isPhantom", type: "filter", filters: "whetherOrNot" },
{ label: _Names.productLine, prop: 'productLine' },
{ label: _Names.elevel, prop: 'elevel' },
{ label: _Names.color, prop: "color" },
// ---------------------------------------
{ label: _Public.creationTime, prop: "creationTime", type: "dateTime" },
{ label: _Public.lastModificationTime, prop: "lastModificationTime", type: "dateTime" },
{ label: _Names.category, prop: "category" },
{ label: _Names.group, prop: "group" },
{ label: _Names.configuration, prop: "configuration" },
{ label: _Names.basicUom, prop: "basicUom" },
{ label: _Names.stdPackQty, prop: "stdPackQty",isNumber:true },
{ label: _Names.project, prop: "project" },
{ label: _Names.version, prop: "version" },
{ label: _Names.eco, prop: "eco" },
{ label: _Names.validity, prop: "validity" },
{ label: _Names.validityUnit, prop: "validityUnit", type: "filter", filters: "validityUnit" },
{ label: _Names.manageType, prop: "manageType", type: "filter", filters: "manageType" },
{ label: _Public.remark, prop: "remark" },
]
// 人工注塑申请
export const IssueRequestZS = [
{
label: "叫料申请编号",
@ -4277,7 +4322,7 @@ export const IssueRequestZS = [
// { label: "事务ID", prop: "tenantId" },
// ************** 确认隐藏 ************************
]
// 人工发料任务(注塑)
// 人工注塑任务
export const IssueJobZS = [
{
label: "发料任务编号",
@ -4316,7 +4361,7 @@ export const IssueJobZS = [
// { label: "完成者", prop: 'completeUserId' },
// ************** 确认隐藏 ************************
]
// 人工发料记录(注塑)
// 人工注塑记录
export const IssueNoteZS = [
{
label: "发料记录单号",
@ -4688,6 +4733,9 @@ export const customerReturnNote = [
{ label: _Public.creationTime, prop: "creationTime", type: "dateTime" },
{ label: _Public.lastModificationTime, prop: "lastModificationTime", type: "dateTime" },
]
// 字段说明
// showProp: true //隐藏该字段的高级筛选+列表排序
// sortable: false //隐藏该字段的列表排序

11
fe/PC/src/utils/tabsDesTions/index.js

@ -520,6 +520,14 @@ export const TransactionType = [
// { label: "ID", prop: 'id' },
// ************** 确认隐藏 ************************
]
// 库存开账
export const InventoryBilling = [
{ label: "物品代码", prop: "itemCode", type: "name" },
{ label: "ERP系统库位代码", prop: "erpLocationCode" },
{ label: "创建时间", prop: "creationTime", type:'dateTime' },
{ label: "上次修改时间", prop: "lastModificationTime", type:'dateTime' },
{ label: "备注", prop: "remark" },
]
// 车间信息 20230328
export const Workshop = [
{ label: "车间代码", prop: "code" },
@ -767,7 +775,6 @@ export const StdCostPriceSheet = [
width:"200px"
},
{ label: "标准成本价格", prop: "stdCostPrice" },
{ label: "价格单描述", prop: "description" },
{ label: "创建时间", prop: "creationTime", type:'dateTime' },
{ label: "上次修改时间", prop: "lastModificationTime", type:'dateTime' },
{ label: "备注", prop: "remark" },
@ -1946,6 +1953,8 @@ export const InventoryInitialNote = [
{ label: "物品描述", prop: "itemDesc1" },
{ label: "物品描述2", prop: "itemDesc2" },
{ label: "标包数量", prop: 'stdPackQty' },
{ label: "标准成本单价", prop: "stdCostPrice" },
{ label: "标准成本金额", prop: "stdCost" },
{ label: "供应商批次", prop: 'supplierBatch' },
{ label: "事务ID", prop: "tenantId" },
{ label: "序号", prop: "serialNumber" },

94
fe/PC/src/views/basicData/WarehouseManage/InventoryBilling.vue

@ -0,0 +1,94 @@
<template>
<div class="page-box" v-loading="Loading.appMainLoading">
<tablePagination
:currenButtonData="currenButtonData"
:tableData="tableData"
:tableLoading="Loading.tableLoading"
:tableColumns="tableColumns"
@rowDrop="rowDrop"
:totalCount="totalCount"
:multipleSelection="multipleSelection"
:MaxResultCount="PageListParams.MaxResultCount"
@topbutton="topbutton"
@inlineDialog="inlineDialog"
@sortChange="sortChange"
@alertoldSkipCount="alertoldSkipCount"
@alterResultCount="alterResultCount"
@handleSelectionChange="handleSelectionChange"
:currentPageProps="oldSkipCount"
:quicklySearchOption="quicklySearchOption"
@quicklySearchClick="quicklySearchClick"
@quicklySearchClear="quicklySearchClear"
:primarySearchOption="primarySearchOption"
@overallSearchFormClick="overallSearchFormClick"
:httpOverallSearchData="httpOverallSearchData"
>
</tablePagination>
<curren-Drawer
:title="tableColumns"
:DrawerLoading="Loading.DrawerLoading"
:drawer="displayDialog.detailsDialog"
:propsData="propsData"
:tabsDesTions="tabsDesTions"
:Butttondata="[]"
@drawerShut="(val) => (displayDialog.detailsDialog = val)"
@drawerbutton="drawerbutton"
@close-value="closeValue"
:currenButtonData="currenButtonData"
:tableColumns="detailsTableColumns"
:totalCount="totalCountDetails"
:MaxResultCount="MaxResultCountDetails"
@alterResultCountDetails="alterResultCountDetails"
@alertoldSkipCountDetails="alertoldSkipCountDetails"
></curren-Drawer>
</div>
</template>
<script>
import { materialRequestByType,processRequest,getDetailed } from "@/api/wms-api"
import { tableMixins } from "@/mixins/TableMixins"
import { LoadingMixins } from "@/mixins/LoadingMixins"
import { drawerMixins } from "@/mixins/drawerMixins"
import { TableHeaderMixins } from "@/mixins/TableHeaderMixins"
import { mixins } from "@/mixins/mixins"
import { requestData } from "@/utils/processButtonData"
import requestDataNames from "@/utils/processButtonData"
export default {
name: "InventoryBilling",
mixins: [
tableMixins,
LoadingMixins,
drawerMixins,
TableHeaderMixins,
mixins,
],
computed: {
editDialog: {
get: function () {
return this.displayDialog.newDialog || this.displayDialog.editDialog;
},
},
},
data () {
let _this = this;
return {
URL: 'basedata/erpLocation-item',
tableLoading: false,
handleMultipleSelection: [],
//
currenButtonData: [
this.defaultExportBtn(),//
// this.defaultImportBtn(),//
this.defaultFieldSettingBtn(),//
this.defaultFreshBtn(),//
this.defaultFilterBtn(),//
],
};
},
mounted () {
this.paging()
},
};
</script>
<style lang="scss" scoped>
@import "../../../styles/basicData.scss";
</style>

271
fe/PC/src/views/materialIssueManage/ZS/IssuePlanZS.vue

@ -0,0 +1,271 @@
<template>
<div class="page-box" v-loading="Loading.appMainLoading">
<tablePagination
ref="tablePagination_Ref"
:currenButtonData="currenButtonData"
:tableData="tableData"
:tableLoading="Loading.tableLoading"
:tableColumns="tableColumns"
@rowDrop="rowDrop"
:totalCount="totalCount"
:multipleSelection="multipleSelection"
:MaxResultCount="PageListParams.MaxResultCount"
@topbutton="topbutton"
@inlineDialog="inlineDialog"
@sortChange="sortChange"
@alertoldSkipCount="alertoldSkipCount"
@alterResultCount="alterResultCount"
@handleSelectionChange="handleSelectionChange"
@buttonOperationClick="buttonOperationClick"
:currentPageProps="oldSkipCount"
:quicklySearchOption="quicklySearchOption"
@quicklySearchClick="quicklySearchClick"
@quicklySearchClear="quicklySearchClear"
:primarySearchOption="primarySearchOption"
@overallSearchFormClick="overallSearchFormClick"
:httpOverallSearchData="httpOverallSearchData"
>
<!-- <div slot="tableTopSlot">
上方按钮插槽位置预留
</div>
<div slot="searchPrimarySlot">
普通初级搜索插槽位置预留
</div> -->
<template>
<u-table-column
fixed="right"
label="查看"
align="center"
width="200"
>
<template slot-scope="scope">
<!-- 不使用el-button是因为固定左右时候行高度会窜行 -->
<span class="controlBarButton" @click="showDrawer('parent',scope)">总成汇总</span>
<span class="controlBarButton" @click="showDrawer('son',scope)">子物料汇总</span>
</template>
</u-table-column>
<u-table-column
fixed="right"
label="操作"
align="center"
width="100"
>
<template slot-scope="scope">
<!-- todo:v-if参数确定 -->
<span class="controlBarButton" v-if="scope.row.status == 1" @click="operationHandel('close',scope)">关闭</span>
<span class="controlBarButton" v-if="scope.row.status == 2" @click="operationHandel('handle',scope)">执行</span>
</template>
</u-table-column>
</template>
</tablePagination>
<!-- 搜索按钮窗体组件 -->
<searchPage
ref="searchTable"
:tableLoading="Loading.autoTableLoading"
:advancedFilter="advancedFilter()"
:filterPageListParams="filterPageListParams"
:formTitle="searchTitle"
:displayDialog="displayDialog.AddNewDialog"
:searchTableData="searchData"
:searchTableColumns="searchColumns"
:searchTotalCount="searchTotalCount"
:supplierItemPage="searchPageListParams"
@handleSelectionChange="prepareFormData"
@SizeChange="searchAlterResultCount($event, searchPageListParams)"
@CurrentChange="searchAlertoldSkipCount($event, searchPageListParams)"
@tableButtonClick="searchSubmit(arguments)"
></searchPage>
<!-- 总成弹窗 -->
<tableDrawer
:title="currentTitle"
:isShow="isShow_parent"
@setClose="closeDrawer('parent')"
:tableData="tableData_parent"
:tableColumns="tableColumns_parent"
>
<template>
<u-table-column
fixed="right"
label="操作"
align="center"
width="120"
>
<template slot-scope="scope">
<!-- 不使用el-button是因为固定左右时候行高度会窜行 -->
<span class="controlBarButton" @click="showDrawer('bom',scope)">查看bom</span>
</template>
</u-table-column>
</template>
</tableDrawer>
<!-- 子物料弹窗 -->
<tableDrawer
:title="currentTitle"
:isShow="isShow_son"
@setClose="closeDrawer('son')"
:tableData="tableData_son"
:tableColumns="tableColumns_son"
></tableDrawer>
<!-- bom弹窗 -->
<tableDrawer
:size="'30%'"
:title="currentTitle"
:isShow="isShow_bom"
@setClose="closeDrawer('bom')"
:tableData="tableData_bom"
:tableColumns="tableColumns_bom"
></tableDrawer>
</div>
</template>
<script>
import { tableMixins } from "@/mixins/TableMixins"
import { LoadingMixins } from "@/mixins/LoadingMixins"
import { TableHeaderMixins } from "@/mixins/TableHeaderMixins"
import { mixins } from "@/mixins/mixins"
import { filterSelectMixins } from '@/mixins/filter-Select'
import tableDrawer from "@/components/tableDrawer/tableDrawer.vue"
export default {
name: "IssuePlanZS",
mixins: [
tableMixins,
LoadingMixins,
TableHeaderMixins,
mixins,
filterSelectMixins,
],
components:{
tableDrawer
},
data () {
return {
URL: 'basedata/item-basic',
//
currenButtonData: [
this.defaultFieldSettingBtn(),//
this.defaultFreshBtn(),//
this.defaultFilterBtn(),//
],
currentTitle:null,
//
isShow_parent:false,
//
tableColumns_parent:[
{ label: "总成号", prop: "number",width:'auto' },
{ label: "数量", prop: "qty",width:'auto' },
],
//
tableData_parent:[],
//
isShow_son:false,
//
tableColumns_son:[
{ label: "son总成号", prop: "number",width:'auto' },
{ label: "son数量", prop: "qty",width:'auto' },
],
//
tableData_son:[],
// bom
isShow_bom:false,
// bom
tableColumns_bom:[
{ label: "bom总成号", prop: "number",width:'auto' },
{ label: "bom数量", prop: "qty",width:'auto' },
],
// bom
tableData_bom:[],
};
},
mounted () {
this.paging();
},
methods:{
//
showDrawer(type,scope){
console.log(type,scope)
//
if(type == "parent"){
// todo:
this.currentTitle="parent"
this.tableData_parent = [
{number:'number1',qty:1},
{number:'number2',qty:2},
]
this.isShow_parent = true
}
//
if(type == "son"){
// todo:
this.currentTitle="son"
this.tableData_son = [
{number:'sonnumber1',qty:11},
{number:'sonnumber2',qty:22},
]
this.isShow_son = true
}
// -bom
if(type == "bom"){
// todo:
this.currentTitle="bom"
this.tableData_bom = [
{number:'bomnumber1',qty:11},
{number:'bomnumber2',qty:22},
]
this.isShow_bom = true
}
},
//
closeDrawer(type){
console.log(type)
//
if(type == "parent"){
this.isShow_parent = false
}
//
if(type == "son"){
this.isShow_son = false
}
//
if(type == "bom"){
this.isShow_bom = false
}
},
//
operationHandel(type,data){
//
if(type == "close"){
this.$confirm('您确定要关闭吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
}).catch(() => {
});
}
//
if(type == "handle"){
this.$confirm('您确定要执行吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
}).catch(() => {
});
}
console.log(type,data)
}
}
};
</script>
<style lang="scss" scoped>
@import "../../../styles/basicData.scss";
.controlBarButton{
color:#409EFF;
cursor:pointer;
user-select: none;
margin:0 10px;
}
</style>
Loading…
Cancel
Save