Browse Source

【EQI前端】table,tablePage组件更新,根据filter格式封装,表头封装,页面开发

web
安虹睿 2 weeks ago
parent
commit
5e6ae267df
  1. 16
      Web/src/api/common/index.js
  2. 2
      Web/src/components/elPager/index.vue
  3. 129
      Web/src/components/tablePage/index.vue
  4. 215
      Web/src/utils/common/apiTableColumns.js
  5. 21
      Web/src/utils/common/enumList.js
  6. 2
      Web/src/utils/request.js
  7. 23
      Web/src/views/logisticsPlan/supplierInvData/index.vue
  8. 29
      Web/src/views/logisticsPlan/supplierMrpMonth/index.vue
  9. 23
      Web/src/views/logisticsPlan/supplierMrpWarning/index.vue
  10. 29
      Web/src/views/logisticsPlan/supplierPo/index.vue
  11. 36
      Web/src/views/logisticsPlan/supplierProPlaning/index.vue
  12. 23
      Web/src/views/logisticsPlan/supplierProTschedul/index.vue
  13. 23
      Web/src/views/logisticsPlan/supplierReturn/index.vue
  14. 18
      Web/src/views/logisticsPlan/supplierSaWeek/index.vue

16
Web/src/api/common/index.js

@ -2,21 +2,21 @@
import request from '@/utils/request'
// 获取分页
export function getCommonPaged(urlName,params) {
export function getCommonPaged(urlName,data) {
return request({
url: `/api/${urlName}/getpaged`,
method: 'get',
params:params
url: `/api/${urlName}/getdatapaged`,
method: 'post',
data
})
}
// 导出
export function postCommonExport(urlName,params) {
export function postCommonExport(urlName,data) {
return request({
url: `/api/${urlName}/export`,
method: 'get',
url: `/api/${urlName}/exportdata`,
method: 'post',
responseType:'blob',
params:params
data
})
}

2
Web/src/components/elPager/index.vue

@ -52,7 +52,7 @@
const emits = defineEmits(['pageSizeChange', 'pageCurrentChange'])
watch(props.pager, (val) => {
state.currentPage = val.Page
state.currentPage = val.page
})
// size-change

129
Web/src/components/tablePage/index.vue

@ -1,17 +1,51 @@
<template>
<div class="app-container" v-loading="state.loading">
<el-card class="search-container">
<el-form :inline="true">
<el-card class="search-container" v-if="!props.hideSearch">
<el-form :inline="true" v-auth="props.apiName + state.searchBtnOptions['search'].auth">
<el-form-item
v-for="(item,index) in props.searchOptions"
:key="index"
:label="item.label">
<!-- 文本 -->
<el-input
v-if="item.type == 'input'"
v-model="props.searchFilter[item.prop]"
:placeholder="item.label"
:clearable="!item.noClear"
/>
<!-- 数字 -->
<el-input-number
v-if="item.type == 'number'"
v-model="props.searchFilter[item.prop]"
:min="item.min"
:max="item.max"
/>
<!-- 时间区域 -->
<el-date-picker
v-if="item.type == 'datetimerange'"
v-model="props.searchFilter[item.prop]"
type="datetimerange"
start-placeholder="起始时间"
end-placeholder="结束时间"
format="YYYY-MM-DD HH:mm:ss"
value-format="YYYY-MM-DD HH:mm:ss"
/>
<!-- 选择框 -->
<el-select
v-if="item.type == 'select'"
v-model="props.searchFilter[item.prop]"
:filterable="!item.noSearch"
placeholder="请选择"
style="width: 240px"
:clearable="!item.noClear"
>
<el-option
v-for="(op,op_index) in item.options"
:key="op_index"
:label="op.label"
:value="op.value"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button
@ -32,8 +66,10 @@
:columnHeaderAlign="props.columnHeaderAlign"
:columnAlign="props.columnAlign"
:tableData="state.tableData"
:tableColumns="props.tableColumns"
:tableColumns="getTableColumns()"
@sortChange="sortChange"
:leftOperation="props.leftOperation"
@leftOperationHadel="leftOperationHadel"
></elTable>
<elPager
@ -55,6 +91,7 @@
<script setup>
defineOptions({ name: 'tablePage' })
import apiTableColumns from '@/utils/common/apiTableColumns'
import { reactive, ref, onMounted } from 'vue'
import { getCommonPaged,postCommonExport } from '@/api/common/index'
import { ElMessageBox, ElMessage,ElTable, ElTableColumn } from 'element-plus'
@ -77,8 +114,8 @@
tableData:[],
// table
sortFilter:{
sortBy:null,
isAscending:null
sortBy:undefined,
isAscending:undefined
},
pager:{
page: 1,
@ -93,10 +130,20 @@
type: String,
default: null
},
//
hideSearch:{
type: Boolean,
default: false
},
//
leftOperation:{
type: Object,
default: null
},
// table
tableColumns: {
type: Object,
default: []
default: null
},
//
searchOptions: {
@ -130,16 +177,67 @@
},
})
//
function getTableColumns(){
return props.tableColumns || apiTableColumns[props.apiName]
}
const emits = defineEmits(['leftOperationHadel'])
//
function leftOperationHadel(btn,scope) {
emits('leftOperationHadel',btn,scope)
}
//
function getPageParams(){
console.log(136,props.searchFilter)
let _filters = []
for(let i in props.searchFilter){
let _item = props.searchOptions.filter(item=>item.prop == i)
let _type = (_item && _item.length > 0) ? _item[0].type : null
if(props.searchFilter[i] || props.searchFilter[i] == 0){
//
if(_type == 'datetimerange'){
_filters.push(
{
logic: "And",
column: i,
action: '>=',
value: props.searchFilter[i][0]
}
)
_filters.push(
{
logic: "And",
column: i,
action: '<=',
value: props.searchFilter[i][1]
}
)
}else{
let _action = 'like'
let _EqualTypes = ['tagFilter','number','select']//
if(_EqualTypes.indexOf(_type) >= 0){
_action = '=='
}
_filters.push(
{
logic: "And",
column: i,
action: _action,
value: props.searchFilter[i]
}
)
}
}
}
let _pageParams = getPageParamsForFilter({
pageNumber:state.pager.page,
pageSize:state.pager.pageSize,
sortBy:state.sortFilter.sortBy,
isAscending:state.sortFilter.isAscending,
filters:props.searchFilter
condition:{
filters:_filters
}
})
return _pageParams
}
@ -152,7 +250,7 @@
getCommonPaged(props.apiName,getPageParams())
.then((resp) => {
state.tableData = resp.data.data
state.pager.total = resp.data.totalPages
state.pager.total = resp.data.totalCount
})
.finally(() => (state.loading = false))
}
@ -185,14 +283,14 @@
function sortChange(data) {
const { prop, order } = data;
if (!prop || !order) {
state.sortFilter.sortBy = null;
state.sortFilter.isAscending = null;
getTableData();
state.sortFilter.sortBy = undefined;
state.sortFilter.isAscending = undefined;
getTableData(1);
return;
}
state.sortFilter.sortBy = prop;
state.sortFilter.isAscending = (order == "ascending");
getTableData();
getTableData(1);
}
// todo
@ -200,19 +298,14 @@
getTableData()
}
//
// const emits = defineEmits(['pageSizeChange', 'pageCurrentChange'])
// size-change
function pageSizeChange(page){
getTableData(page)
// emits('pageSizeChange',page)
}
// current-change
function pageCurrentChange(page){
getTableData(page)
// emits('pageCurrentChange',page)
}
onMounted(() => {

215
Web/src/utils/common/apiTableColumns.js

@ -0,0 +1,215 @@
import EnumList from '@/utils/common/enumList'
const apiTableColumns = {
// 任务列表
taskconifgure:[
{prop:'api',title:'api',align:'left',width:200},
{prop:'corn',title:'corn'},
{prop:'module',title:'module'},
{prop:'client',title:'client'},
{prop:'tableName',title:'tableName',align:'left',width:160},
{prop:'taskName',title:'taskName',align:'left',width:160},
{prop:'url',title:'url',align:'left',width:200},
{prop:'writeState',title:'writeState',type:'tagFilter',options:EnumList.whether},
{prop:'readState',title:'readState',type:'tagFilter',options:EnumList.whether},
{prop:'isAuto',title:'isAuto',type:'tagFilter',options:EnumList.whether},
{prop:'creationTime',title:'创建时间',width:180},
{prop:'remark',title:'remark',align:'left',width:300},
],
// 整车月度生产计划2
supplierproplaning:[
{prop:'releaseEdition',title:'需求发布版次',width:150},
{prop:'models',title:'车型'},
{prop:'salseDepartment',title:'销售单位'},
{prop:'type',title:'类型'},
{prop:'assembly',title:'动力总成'},
{prop:'pattern',title:'版型'},
{prop:'omterior',title:'内饰'},
{prop:'materialCode',title:'物料号'},
{prop:'startMonth',title:'起始月份'},
{prop:'quantity1',title:'数量1'},
{prop:'quantity2',title:'数量2'},
{prop:'quantity3',title:'数量3'},
{prop:'quantity4',title:'数量4'},
{prop:'quantity5',title:'数量5'},
{prop:'quantity6',title:'数量6'},
{prop:'plant',title:'工厂'},
{prop:'createByUser',title:'创建人'},
{prop:'createTime',title:'创建时间',width:180},
{prop:'updateByUser',title:'修改人'},
{prop:'updateTime',title:'修改时间',width:180},
{prop:'isDelete',title:'是否删除',type:'tagFilter',options:EnumList.whether},
{prop:'version',title:'版本号'},
],
// M+6月物料需求计划
cherysuppliermrpmonth:[
{prop:'releaseEdition',title:'需求发布版次',width:150},
{prop:'materialCode',title:'零件号'},
{prop:'materialDescription',title:'零件名称'},
{prop:'plantId',title:'工厂代码'},
{prop:'plantName',title:'工厂名称'},
{prop:'startMonth',title:'起始年月'},
{prop:'quantityDemand1',title:'需求数量1'},
{prop:'quantityDemand2',title:'需求数量2'},
{prop:'quantityDemand3',title:'需求数量3'},
{prop:'quantityDemand4',title:'需求数量4'},
{prop:'quantityDemand5',title:'需求数量5'},
{prop:'quantityDemand6',title:'需求数量6'},
{prop:'quantityDemand7',title:'需求数量7'},
{prop:'quantityDemand8',title:'需求数量8'},
{prop:'quantityDemand9',title:'需求数量9'},
{prop:'quantityDemand10',title:'需求数量10',width:130},
{prop:'quantityDemand11',title:'需求数量11',width:130},
{prop:'quantityDemand12',title:'需求数量12',width:130},
{prop:'isUpdate',title:'是否更新',type:'tagFilter',options:EnumList.whether},
{prop:'createByUser',title:'创建人'},
{prop:'createTime',title:'创建时间',width:180},
{prop:'updateByUser',title:'修改人'},
{prop:'updateTime',title:'修改时间',width:180},
{prop:'isDelete',title:'是否删除',type:'tagFilter',options:EnumList.whether},
{prop:'version',title:'版本号'},
],
// 计划协议
cherysuppliersaweek:[
{prop:'scheduleAgreement',title:'计划协议号',width:120},
{prop:'serialNumber',title:'行项目号'},
{prop:'materialCode',title:'零件号'},
{prop:'materialDescription',title:'零件名称'},
{prop:'purchasingGroup',title:'采购组'},
{prop:'plantId',title:'工厂代码'},
{prop:'quantityDemand',title:'需求数量'},
{prop:'dateReceived',title:'交货日期',width:180},
{prop:'createByUser',title:'创建人'},
{prop:'createTime',title:'创建时间',width:180},
{prop:'updateByUser',title:'修改人'},
{prop:'updateTime',title:'修改时间',width:180},
{prop:'isDelete',title:'是否删除',type:'tagFilter',options:EnumList.whether},
{prop:'version',title:'版本号'},
],
// 采购订单
cherysupplierpo:[
{prop:'purchaseOrder',title:'采购订单号',width:120},
{prop:'serialNumber',title:'行项目号'},
{prop:'plantId',title:'工厂代码'},
{prop:'plantName',title:'工厂名称'},
{prop:'voucherDate',title:'凭证日期',width:180},
{prop:'purchaser',title:'需方联系人'},
{prop:'supplier',title:'供方联系人'},
{prop:'materialCode',title:'物料编码'},
{prop:'materialDescription',title:'物料描述'},
{prop:'quantityDemand',title:'需求数量'},
{prop:'materialUnit',title:'物料单位'},
{prop:'deliveryDate',title:'交货日期',width:180},
{prop:'deliveryPlace',title:'交货地点'},
{prop:'quantityDelivery',title:'到货数量'},
{prop:'note',title:'备注'},
{prop:'itemType',title:'项目类别文本',width:150},
{prop:'tradeTerms',title:'国际贸易条件',width:150},
{prop:'country',title:'出口国家'},
{prop:'batch',title:'批次'},
{prop:'createByUser',title:'创建人'},
{prop:'createTime',title:'创建时间',width:180},
{prop:'updateByUser',title:'修改人'},
{prop:'updateTime',title:'修改时间',width:180},
{prop:'isDelete',title:'是否删除',type:'tagFilter',options:EnumList.whether},
{prop:'version',title:'版本号'},
],
// 过涂装未过总装
cherysupplierprotschedul:[
{prop:'models',title:'车型'},
{prop:'vin',title:'VIN'},
{prop:'productionLineId',title:'产线代码'},
{prop:'productionLineName',title:'产线名称'},
{prop:'materialCode',title:'物料编码'},
{prop:'materialDescription',title:'物料描述'},
{prop:'onLineTime',title:'上线日期时间',width:180},
{prop:'finalWorkshop',title:'总装车间'},
{prop:'finalOnLineTime',title:'总装上线日期时间',width:180},
{prop:'createByUser',title:'创建人'},
{prop:'createTime',title:'创建时间',width:180},
{prop:'updateByUser',title:'修改人'},
{prop:'updateTime',title:'修改时间',width:180},
{prop:'isDelete',title:'是否删除',type:'tagFilter',options:EnumList.whether},
{prop:'version',title:'版本号'},
],
// 退货单
cherysupplierreturn:[
{prop:'returnNumber',title:'退货单号'},
{prop:'serialNumber',title:'行项目号'},
{prop:'serialSrate',title:'退货单状态'},
{prop:'pickUpLocation',title:'取货地'},
{prop:'demandPickupTime',title:'需求取货时间',width:180},
{prop:'pickUpCrossings',title:'取货道口'},
{prop:'feedback',title:'反馈信息'},
{prop:'plant',title:'工厂'},
{prop:'materialCode',title:'零件号'},
{prop:'materialDescription',title:'零件名称'},
{prop:'quantityDelivery',title:'数量'},
{prop:'returnType',title:'退货类型',type:'tagFilter',options:EnumList.returnType},
{prop:'lotNumber',title:'批次号'},
{prop:'judge',title:'判定人'},
{prop:'returnReason',title:'退货原因'},
{prop:'createByUser',title:'创建人'},
{prop:'createTime',title:'创建时间',width:180},
{prop:'updateByUser',title:'修改人'},
{prop:'updateTime',title:'修改时间',width:180},
{prop:'isDelete',title:'是否删除',type:'tagFilter',options:EnumList.whether},
{prop:'version',title:'版本号'},
],
// 奇瑞RDC共享库存
supplierinvdata:[
{prop:'plantId',title:'工厂代码'},
{prop:'plantName',title:'工厂名称'},
{prop:'materialCode',title:'零件号'},
{prop:'materialDescription',title:'零件名称'},
{prop:'quantityCurrent',title:'前库存数量'},
{prop:'stockState',title:'库存状态'},
{prop:'dataUpdateTime',title:'更新时间',width:180},
{prop:'createByUser',title:'创建人'},
{prop:'createTime',title:'创建时间',width:180},
{prop:'updateByUser',title:'修改人'},
{prop:'updateTime',title:'修改时间',width:180},
{prop:'isDelete',title:'是否删除',type:'tagFilter',options:EnumList.whether},
{prop:'version',title:'版本号'},
],
// 供应商共享库存
cherysuppliersinvdata:[
{prop:'supplierCode',title:'供应商代码'},
{prop:'supplierName',title:'供应商名称'},
{prop:'serialNumber',title:'行项目号'},
{prop:'materialCode',title:'零件号'},
{prop:'materialDescription',title:'零件名称'},
{prop:'materialType',title:'物料类型',type:'tagFilter',options:EnumList.materialType},
{prop:'quantityCurrent',title:'当前库存数量'},
{prop:'quantityPlan',title:'原材料在途数量'},
{prop:'inventoryStatus',title:'库存状态',type:'tagFilter',options:EnumList.inventoryStatus},
{prop:'safetyStock',title:'安全库存'},
{prop:'productionCycle',title:'生产/采购周期'},
{prop:'dataUpdateTime',title:'库存更新时间',width:180},
{prop:'supplierBatch',title:'批次'},
{prop:'supplieryxqDate',title:'效期截止日期',width:180},
],
// 日MRP预警推移
cherysuppliermrpwarning:[
{prop:'plantId',title:'工厂代码'},
{prop:'materialCode',title:'零件号'},
{prop:'materialDescription',title:'零件名称'},
{prop:'quantityCurrent',title:'当前库存'},
{prop:'reckonDate',title:'需求日期',width:180},
{prop:'quantityPlanned',title:'需求数量'},
{prop:'quantityPlannedDelivery',title:'满足数量'},
{prop:'quantityInTransit',title:'在途数量'},
{prop:'dateGap',title:'日GAP'},
{prop:'inventoryGap',title:'库存GAP'},
{prop:'inventoryGap',title:'库存GAP'},
{prop:'createByUser',title:'创建人'},
{prop:'createTime',title:'创建时间',width:180},
{prop:'updateByUser',title:'修改人'},
{prop:'updateTime',title:'修改时间',width:180},
{prop:'isDelete',title:'是否删除',type:'tagFilter',options:EnumList.whether},
{prop:'version',title:'版本号'},
],
}
export default apiTableColumns

21
Web/src/utils/common/enumList.js

@ -1,8 +1,27 @@
const EnumList = {
// 是否
whether:[
{label:'是',value:1,type:'success'},
{label:'否',value:0,type:'danger'}
]
],
// 退货类型
returnType:[
{label:'合格品',value:1},
{label:'不合格品',value:0}
],
// 物料类型
materialType:[
{label:'成品',value:'成品'},
{label:'半成品',value:'半成品'},
{label:'原材料',value:'原材料'},
],
// 库存状态
inventoryStatus:[
{label:'生产件',value:'生产件'},
{label:'呆滞件',value:'呆滞件'},
{label:'备件',value:'备件'},
{label:'KD件',value:'KD件'},
],
}
export default EnumList

2
Web/src/utils/request.js

@ -3,7 +3,7 @@ import { ElMessage } from 'element-plus'
import store from '@/stores'
const mode = import.meta.env.MODE
console.log('mode',mode)
const app_base_api = import.meta.env.VITE_API_BASE_URL
let app_base_api = import.meta.env.VITE_API_BASE_URL
if(mode == 'prod'){
app_base_api = systemConfig.baseUrl
}

23
Web/src/views/logisticsPlan/supplierInvData/index.vue

@ -0,0 +1,23 @@
<template>
<tablePage
:apiName="state.apiName"
:searchOptions="state.searchOptions"
:searchFilter="state.searchFilter"
></tablePage>
</template>
<script setup>
defineOptions({ name: 'supplierInvData' })
import { reactive, ref, onMounted } from 'vue'
import tablePage from '@/components/tablePage/index.vue'
const state = reactive({
apiName:'supplierinvdata',
searchFilter: {
plantId: null
},
searchOptions:[
{type:'input',prop:'plantId',label:'工厂代码'}
],
})
</script>

29
Web/src/views/logisticsPlan/supplierMrpMonth/index.vue

@ -2,7 +2,6 @@
<tablePage
:apiName="state.apiName"
:searchOptions="state.searchOptions"
:tableColumns="state.tableColumns"
:searchFilter="state.searchFilter"
></tablePage>
</template>
@ -11,7 +10,6 @@
defineOptions({ name: 'supplierMrpMonth' })
import { reactive, ref, onMounted } from 'vue'
import tablePage from '@/components/tablePage/index.vue'
import EnumList from '@/utils/common/enumList'
const state = reactive({
apiName:'cherysuppliermrpmonth',
@ -21,32 +19,5 @@ const state = reactive({
searchOptions:[
{type:'input',prop:'materialCode',label:'零件号'}
],
tableColumns: [
{prop:'releaseEdition',title:'需求发布版次',width:150},
{prop:'materialCode',title:'零件号'},
{prop:'materialDescription',title:'零件名称'},
{prop:'plantId',title:'工厂代码'},
{prop:'plantName',title:'工厂名称'},
{prop:'startMonth',title:'起始年月'},
{prop:'quantityDemand1',title:'需求数量1'},
{prop:'quantityDemand2',title:'需求数量2'},
{prop:'quantityDemand3',title:'需求数量3'},
{prop:'quantityDemand4',title:'需求数量4'},
{prop:'quantityDemand5',title:'需求数量5'},
{prop:'quantityDemand6',title:'需求数量6'},
{prop:'quantityDemand7',title:'需求数量7'},
{prop:'quantityDemand8',title:'需求数量8'},
{prop:'quantityDemand9',title:'需求数量9'},
{prop:'quantityDemand10',title:'需求数量10',width:130},
{prop:'quantityDemand11',title:'需求数量11',width:130},
{prop:'quantityDemand12',title:'需求数量12',width:130},
{prop:'isUpdate',title:'是否更新',type:'tagFilter',options:EnumList.whether},
{prop:'createByUser',title:'创建人'},
{prop:'createTime',title:'创建时间',width:180},
{prop:'updateByUser',title:'修改人'},
{prop:'updateTime',title:'修改时间',width:180},
{prop:'isDelete',title:'是否删除',type:'tagFilter',options:EnumList.whether},
{prop:'version',title:'版本号'},
],
})
</script>

23
Web/src/views/logisticsPlan/supplierMrpWarning/index.vue

@ -0,0 +1,23 @@
<template>
<tablePage
:apiName="state.apiName"
:searchOptions="state.searchOptions"
:searchFilter="state.searchFilter"
></tablePage>
</template>
<script setup>
defineOptions({ name: 'supplierMrpWarning' })
import { reactive, ref, onMounted } from 'vue'
import tablePage from '@/components/tablePage/index.vue'
const state = reactive({
apiName:'cherysuppliermrpwarning',
searchFilter: {
plantId: null
},
searchOptions:[
{type:'input',prop:'plantId',label:'工厂代码'}
],
})
</script>

29
Web/src/views/logisticsPlan/supplierPo/index.vue

@ -2,7 +2,6 @@
<tablePage
:apiName="state.apiName"
:searchOptions="state.searchOptions"
:tableColumns="state.tableColumns"
:searchFilter="state.searchFilter"
></tablePage>
</template>
@ -11,7 +10,6 @@
defineOptions({ name: 'supplierPo' })
import { reactive, ref, onMounted } from 'vue'
import tablePage from '@/components/tablePage/index.vue'
import EnumList from '@/utils/common/enumList'
const state = reactive({
apiName:'cherysupplierpo',
@ -21,32 +19,5 @@ const state = reactive({
searchOptions:[
{type:'input',prop:'purchaseOrder',label:'采购订单号'}
],
tableColumns: [
{prop:'purchaseOrder',title:'采购订单号',width:120},
{prop:'serialNumber',title:'行项目号'},
{prop:'plantId',title:'工厂代码'},
{prop:'plantName',title:'工厂名称'},
{prop:'voucherDate',title:'凭证日期',width:180},
{prop:'purchaser',title:'需方联系人'},
{prop:'supplier',title:'供方联系人'},
{prop:'materialCode',title:'物料编码'},
{prop:'materialDescription',title:'物料描述'},
{prop:'quantityDemand',title:'需求数量'},
{prop:'materialUnit',title:'物料单位'},
{prop:'deliveryDate',title:'交货日期',width:180},
{prop:'deliveryPlace',title:'交货地点'},
{prop:'quantityDelivery',title:'到货数量'},
{prop:'note',title:'备注'},
{prop:'itemType',title:'项目类别文本',width:150},
{prop:'tradeTerms',title:'国际贸易条件',width:150},
{prop:'country',title:'出口国家'},
{prop:'batch',title:'批次'},
{prop:'createByUser',title:'创建人'},
{prop:'createTime',title:'创建时间',width:180},
{prop:'updateByUser',title:'修改人'},
{prop:'updateTime',title:'修改时间',width:180},
{prop:'isDelete',title:'是否删除',type:'tagFilter',options:EnumList.whether},
{prop:'version',title:'版本号'},
],
})
</script>

36
Web/src/views/logisticsPlan/supplierProPlaning/index.vue

@ -2,7 +2,6 @@
<tablePage
:apiName="state.apiName"
:searchOptions="state.searchOptions"
:tableColumns="state.tableColumns"
:searchFilter="state.searchFilter"
></tablePage>
</template>
@ -11,39 +10,20 @@
defineOptions({ name: 'supplierProPlaning' })
import { reactive, ref, onMounted } from 'vue'
import tablePage from '@/components/tablePage/index.vue'
import EnumList from '@/utils/common/enumList'
const state = reactive({
apiName:'supplierproplaning',
searchFilter: {
materialCode: null
materialCode: null,
// createTime:null,
// isDelete:null,
// quantity1:null
},
searchOptions:[
{type:'input',prop:'materialCode',label:'零件号'}
],
tableColumns: [
{prop:'releaseEdition',title:'需求发布版次',width:150},
{prop:'models',title:'车型'},
{prop:'salseDepartment',title:'销售单位'},
{prop:'type',title:'类型'},
{prop:'assembly',title:'动力总成'},
{prop:'pattern',title:'版型'},
{prop:'omterior',title:'内饰'},
{prop:'materialCode',title:'物料号'},
{prop:'startMonth',title:'起始月份'},
{prop:'quantity1',title:'数量1'},
{prop:'quantity2',title:'数量2'},
{prop:'quantity3',title:'数量3'},
{prop:'quantity4',title:'数量4'},
{prop:'quantity5',title:'数量5'},
{prop:'quantity6',title:'数量6'},
{prop:'plant',title:'工厂'},
{prop:'createByUser',title:'创建人'},
{prop:'createTime',title:'创建时间',width:180},
{prop:'updateByUser',title:'修改人'},
{prop:'updateTime',title:'修改时间',width:180},
{prop:'isDelete',title:'是否删除',type:'tagFilter',options:EnumList.whether},
{prop:'version',title:'版本号'},
{type:'input',prop:'materialCode',label:'物料号'},
// {type:'datetimerange',prop:'createTime',label:''},
// {type:'number',prop:'quantity1',label:'1'},
// {type:'select',prop:'isDelete',label:'',options:EnumList.whether,noSearch:true},
],
})
</script>

23
Web/src/views/logisticsPlan/supplierProTschedul/index.vue

@ -0,0 +1,23 @@
<template>
<tablePage
:apiName="state.apiName"
:searchOptions="state.searchOptions"
:searchFilter="state.searchFilter"
></tablePage>
</template>
<script setup>
defineOptions({ name: 'supplierProTschedul' })
import { reactive, ref, onMounted } from 'vue'
import tablePage from '@/components/tablePage/index.vue'
const state = reactive({
apiName:'cherysupplierprotschedul',
searchFilter: {
productionLineId: null
},
searchOptions:[
{type:'input',prop:'productionLineId',label:'产线代码'}
],
})
</script>

23
Web/src/views/logisticsPlan/supplierReturn/index.vue

@ -0,0 +1,23 @@
<template>
<tablePage
:apiName="state.apiName"
:searchOptions="state.searchOptions"
:searchFilter="state.searchFilter"
></tablePage>
</template>
<script setup>
defineOptions({ name: 'supplierReturn' })
import { reactive, ref, onMounted } from 'vue'
import tablePage from '@/components/tablePage/index.vue'
const state = reactive({
apiName:'cherysupplierreturn',
searchFilter: {
returnNumber: null
},
searchOptions:[
{type:'input',prop:'returnNumber',label:'退货单号'}
],
})
</script>

18
Web/src/views/logisticsPlan/supplierSaWeek/index.vue

@ -2,7 +2,6 @@
<tablePage
:apiName="state.apiName"
:searchOptions="state.searchOptions"
:tableColumns="state.tableColumns"
:searchFilter="state.searchFilter"
></tablePage>
</template>
@ -11,7 +10,6 @@
defineOptions({ name: 'supplierSaWeek' })
import { reactive, ref, onMounted } from 'vue'
import tablePage from '@/components/tablePage/index.vue'
import EnumList from '@/utils/common/enumList'
const state = reactive({
apiName:'cherysuppliersaweek',
@ -21,21 +19,5 @@ const state = reactive({
searchOptions:[
{type:'input',prop:'scheduleAgreement',label:'计划协议号'}
],
tableColumns: [
{prop:'scheduleAgreement',title:'计划协议号',width:120},
{prop:'serialNumber',title:'行项目号'},
{prop:'materialCode',title:'零件号'},
{prop:'materialDescription',title:'零件名称'},
{prop:'purchasingGroup',title:'采购组'},
{prop:'plantId',title:'工厂代码'},
{prop:'quantityDemand',title:'需求数量'},
{prop:'dateReceived',title:'交货日期',width:180},
{prop:'createByUser',title:'创建人'},
{prop:'createTime',title:'创建时间',width:180},
{prop:'updateByUser',title:'修改人'},
{prop:'updateTime',title:'修改时间',width:180},
{prop:'isDelete',title:'是否删除',type:'tagFilter',options:EnumList.whether},
{prop:'version',title:'版本号'},
],
})
</script>
Loading…
Cancel
Save