add:新增业助功能

This commit is contained in:
郭飞 2025-05-19 17:57:46 +08:00
parent d5eac5129e
commit 8d9235daa3
2 changed files with 864 additions and 683 deletions

View File

@ -206,6 +206,34 @@
<!-- </el-form>--> <!-- </el-form>-->
<!-- </el-row>--> <!-- </el-row>-->
<!-- </div>--> <!-- </div>-->
<el-row :gutter="24" class="page-search" justify="space-between" align="bottom">
<el-form
ref="formDataRef"
:model="state.CAREER_ASSISTANCE"
:rules="rules"
label-position="left"
>
<el-form-item label="" prop="CAREER_ASSISTANCE">
<el-col :span="5">
<div class="block" style="float: right">
<el-form-item label="过账日期" prop="state.commitDate">
<el-date-picker
:clearable="true"
:editable="true"
v-model="state.commitDate"
type="date"
placeholder="选择过账时间"
value-format="YYYY-MM-DD"
/>
</el-form-item>
</div>
</el-col>
</el-form-item>
</el-form>
</el-row>
</div> </div>
</template> </template>
<script lang="ts"> <script lang="ts">
@ -244,6 +272,7 @@ const { tableContainer, tableHeight, updateTableHeight, handleResize } = bTableH
const queryFormRef = ref(ElForm); const queryFormRef = ref(ElForm);
const size = ref<'default' | 'large' | 'small'>('small');//formdata const size = ref<'default' | 'large' | 'small'>('small');//formdata
const state = reactive({ const state = reactive({
commitDate: '',
loadings: false, loadings: false,
CAREER_ASSISTANCEDrawer : false, CAREER_ASSISTANCEDrawer : false,
updateSALESPERSON : { updateSALESPERSON : {
@ -403,6 +432,13 @@ const { tableContainer, tableHeight, updateTableHeight, handleResize } = bTableH
] ]
/*钩子函数区域*/ /*钩子函数区域*/
onMounted(() => { onMounted(() => {
var newDate = new Date()
var year = newDate.getFullYear()
var moth = newDate.getMonth() + 1
if (moth < 10) moth = '0' + moth
var day = newDate.getDate()
if (day < 10) day = '0' + day
state.commitDate = year + '-' + moth + '-' + day
materialTableConfig.value.column = [ materialTableConfig.value.column = [

View File

@ -3,14 +3,29 @@
<template> <template>
<div class="vue-element-page-wrap" ref="tableContainer"> <div class="vue-element-page-wrap" ref="tableContainer">
<el-row class="page-search" justify="space-between" align="bottom"> <el-row class="page-search" justify="space-between" align="bottom">
<el-form ref="queryFormRef" :model="queryParams" :inline="true" label-width="80px" label-position="left"> <el-form
ref="queryFormRef"
:model="queryParams"
:inline="true"
label-width="80px"
label-position="left"
>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="6" class="col_height"> <el-col :span="6" class="col_height">
<el-form-item label="组织" prop="params.ERPFACTORY"> <el-form-item label="组织" prop="params.ERPFACTORY">
<el-select filterable v-model="queryParams.params.ERPFACTORY" placeholder="下拉选择组织" style="width: 240px" <el-select
@change="GetERPLocationForList"> filterable
<el-option v-for="item in ERPFactoryList" :key="item.ERPFACTORY" :label="item.DESCRIPTION" v-model="queryParams.params.ERPFACTORY"
:value="item.ERPFACTORY" /> placeholder="下拉选择组织"
style="width: 240px"
@change="GetERPLocationForList"
>
<el-option
v-for="item in ERPFactoryList"
:key="item.ERPFACTORY"
:label="item.DESCRIPTION"
:value="item.ERPFACTORY"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -24,40 +39,76 @@
</el-col> --> </el-col> -->
<el-col :span="6" class="col_height"> <el-col :span="6" class="col_height">
<el-form-item label="仓库" prop="params.ERPLOCATION"> <el-form-item label="仓库" prop="params.ERPLOCATION">
<el-select v-model="state.ChangeERPLocation" multiple clearable collapse-tags placeholder="请选择仓库" <el-select
popper-class="custom-header" :max-collapse-tags="1" style="width: 240px" v-model="state.ChangeERPLocation"
@visible-change="GetLocationListForSomeERPLocation" filterable> multiple
<template #header> clearable
</template> collapse-tags
<el-option v-for="item in ERPLocationList" :key="item.ENUMVALUE" :label="item.DESCRIPTION" placeholder="请选择仓库"
:value="item.ENUMVALUE" /> popper-class="custom-header"
:max-collapse-tags="1"
style="width: 240px"
@visible-change="GetLocationListForSomeERPLocation"
filterable
>
<template #header> </template>
<el-option
v-for="item in ERPLocationList"
:key="item.ENUMVALUE"
:label="item.DESCRIPTION"
:value="item.ENUMVALUE"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6" class="col_height"> <el-col :span="6" class="col_height">
<el-form-item label="货位" prop="params.LOCATION"> <el-form-item label="货位" prop="params.LOCATION">
<el-select v-model="state.ChangeLocation" multiple clearable collapse-tags placeholder="请选择货位" <el-select
popper-class="custom-header" :max-collapse-tags="1" style="width: 240px" v-model="state.ChangeLocation"
remote :remote-method="handleInput" filterable> multiple
<template #header> clearable
</template> collapse-tags
<el-option v-for="item in LocationList" placeholder="请选择货位"
popper-class="custom-header"
:max-collapse-tags="1"
style="width: 240px"
remote
:remote-method="handleInput"
filterable
>
<template #header> </template>
<el-option
v-for="item in LocationList"
:key="item.storageName" :key="item.storageName"
:label="item.storageName" :label="item.storageName"
:value="item.storageName" /> :value="item.storageName"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6" class="col_height"> <el-col :span="6" class="col_height">
<el-form-item label="物料编号" prop="params.MATERIALSPECNAME"> <el-form-item label="物料编号" prop="params.MATERIALSPECNAME">
<el-Input v-model="queryParams.params.MATERIALSPECNAME" placeholder="输入物料编号" clearable /> <el-Input
v-model="queryParams.params.MATERIALSPECNAME"
placeholder="输入物料编号"
clearable
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6" class="col_height"> <el-col :span="6" class="col_height">
<el-form-item label="阶段" prop="SITENAME"> <el-form-item label="阶段" prop="SITENAME">
<el-select v-model="queryParams.params.PHASE" placeholder="输入阶段" style="width: 160px"> <el-select
<el-option v-for="item in state.PhaseList" :key="item.Value" :label="item.label" :value="item.Value" /> v-model="queryParams.params.PHASE"
placeholder="输入阶段"
style="width: 160px"
>
<el-option
v-for="item in state.PhaseList"
:key="item.Value"
:label="item.label"
:value="item.Value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -74,14 +125,25 @@
<el-col :span="6" class="col_height"> <el-col :span="6" class="col_height">
<el-form-item label="业助" prop="params.CAREER_ASSISTANCE"> <el-form-item label="业助" prop="params.CAREER_ASSISTANCE">
<!-- <el-Input v-model="queryParams.params.CAREER_ASSISTANCE" placeholder="输入业助" clearable />--> <!-- <el-Input v-model="queryParams.params.CAREER_ASSISTANCE" placeholder="输入业助" clearable />-->
<el-Input v-model="queryParams.params.CAREER_ASSISTANCE" placeholder="输入业助" clearable /> <el-Input
v-model="queryParams.params.CAREER_ASSISTANCE"
placeholder="输入业助"
clearable
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="入库时间" prop="params.USERNAME"> <el-form-item label="入库时间" prop="params.USERNAME">
<el-date-picker v-model="queryParams.params.DateValue" type="daterange" unlink-panels range-separator="To" <el-date-picker
v-model="queryParams.params.DateValue"
type="daterange"
unlink-panels
range-separator="To"
v-model:start-placeholder="queryParams.params.FROMDATE" v-model:start-placeholder="queryParams.params.FROMDATE"
v-model:end-placeholder="queryParams.params.TODATE" :shortcuts="shortcuts2" :size="size" /> v-model:end-placeholder="queryParams.params.TODATE"
:shortcuts="shortcuts2"
:size="size"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -100,7 +162,12 @@
</div> </div>
</div> </div>
<div class="page-table-operateBtns"> <div class="page-table-operateBtns">
<el-popover :persistent="false" placement="right" popper-class="config-table-wrap" trigger="click"> <el-popover
:persistent="false"
placement="right"
popper-class="config-table-wrap"
trigger="click"
>
<template #reference> <template #reference>
<el-button class="operateBtns-setting"> <el-button class="operateBtns-setting">
<svg-icon icon-class="table_title" width="16px" height="16px" /> <svg-icon icon-class="table_title" width="16px" height="16px" />
@ -110,12 +177,27 @@
</el-popover> </el-popover>
</div> </div>
</div> </div>
<el-table :height="tableHeight" border v-loading="loading" :default-sort="{ prop: 'MATERIALQUANTITY', order: 'descending' }" <el-table
:data="state.BoxHistoryList" highlight-current-row row-key="id" style="width: 100%" @selection-change="handleSelectionChange"> :height="tableHeight"
border
v-loading="loading"
:default-sort="{ prop: 'MATERIALQUANTITY', order: 'descending' }"
:data="state.BoxHistoryList"
highlight-current-row
row-key="id"
style="width: 100%"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" /> <el-table-column type="selection" width="55" />
<template v-for="(col, index) in materialTableConfig.column" :key="index"> <template v-for="(col, index) in materialTableConfig.column" :key="index">
<el-table-column v-if="!col.hide" :label="col.header" :prop="col.field" show-overflow-tooltip <el-table-column
:sort-orders="['descending', 'ascending']" :sortable="true"> v-if="!col.hide"
:label="col.header"
:prop="col.field"
show-overflow-tooltip
:sort-orders="['descending', 'ascending']"
:sortable="true"
>
<!-- <template #default="scope">--> <!-- <template #default="scope">-->
<!-- <span v-if="col.field === 'status'">--> <!-- <span v-if="col.field === 'status'">-->
<!-- <span v-if="scope.row[col.field]" class="table-status-active">启用</span>--> <!-- <span v-if="scope.row[col.field]" class="table-status-active">启用</span>-->
@ -124,8 +206,15 @@
<!-- <span v-else>{{ scope.row[col.field] }}</span>--> <!-- <span v-else>{{ scope.row[col.field] }}</span>-->
<!-- </template>--> <!-- </template>-->
</el-table-column> </el-table-column>
<el-table-column fixed v-if="col.hide" :label="col.header" :prop="col.field" show-overflow-tooltip <el-table-column
:sort-orders="['descending', 'ascending']" :sortable="true"> fixed
v-if="col.hide"
:label="col.header"
:prop="col.field"
show-overflow-tooltip
:sort-orders="['descending', 'ascending']"
:sortable="true"
>
<!-- <template #default="scope">--> <!-- <template #default="scope">-->
<!-- <span v-if="col.field === 'status'">--> <!-- <span v-if="col.field === 'status'">-->
<!-- <span v-if="scope.row[col.field]" class="table-status-active">启用</span>--> <!-- <span v-if="scope.row[col.field]" class="table-status-active">启用</span>-->
@ -140,8 +229,13 @@
<!-- </template>--> <!-- </template>-->
</el-table> </el-table>
<div> <div>
<pagination v-if="total > 0" :total="total" v-model:pageNumTo="queryParams.pageNum" <pagination
v-model:pageSizeTo="queryParams.pageSize" @pagination="handleQuery" /> v-if="total > 0"
:total="total"
v-model:pageNumTo="queryParams.pageNum"
v-model:pageSizeTo="queryParams.pageSize"
@pagination="handleQuery"
/>
</div> </div>
<div> <div>
<!-- <el-row :gutter="24">--> <!-- <el-row :gutter="24">-->
@ -157,32 +251,70 @@
<!-- </el-col>--> <!-- </el-col>-->
<!-- </el-row>--> <!-- </el-row>-->
<el-row :gutter="24" class="page-search" justify="space-between" align="bottom"> <el-row :gutter="24" class="page-search" justify="space-between" align="bottom">
<el-form ref="formDataRef" :model="state.CAREER_ASSISTANCE" :rules="rules" label-position="left" > <el-form
ref="formDataRef"
:model="state.CAREER_ASSISTANCE"
:rules="rules"
label-position="left"
>
<el-form-item label="" prop="CAREER_ASSISTANCE"> <el-form-item label="" prop="CAREER_ASSISTANCE">
<el-col :span="6"> <el-col :span="4">
<el-form-item label="借用人"> <el-form-item label="借用人">
<!-- <el-Input @input="inputCareer" v-model="state.CAREER_ASSISTANCE" placeholder="业助" :rules="rules"/>--> <!-- <el-Input @input="inputCareer" v-model="state.CAREER_ASSISTANCE" placeholder="业助" :rules="rules"/>-->
<!-- <el-Input v-model="state.CAREER_ASSISTANCE" placeholder="业助" :rules="rules"/> --> <!-- <el-Input v-model="state.CAREER_ASSISTANCE" placeholder="业助" :rules="rules"/> -->
<el-select filterable v-model="state.CAREER_ASSISTANCE" placeholder="下拉选择业助" size="small"> <el-select
<el-option v-for="item in state.userList" :key="item.USERNAME" filterable
:label="item.USERNAME" :value="item.USERNAME" /> v-model="state.CAREER_ASSISTANCE"
placeholder="下拉选择业助"
size="small"
>
<el-option
v-for="item in state.userList"
:key="item.USERNAME"
:label="item.USERNAME"
:value="item.USERNAME"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="5">
<el-form-item label="新销售订单"> <el-form-item label="新销售订单">
<!-- <el-Input @input="inputCareer" v-model="state.CAREER_ASSISTANCE" placeholder="业助" :rules="rules"/>--> <!-- <el-Input @input="inputCareer" v-model="state.CAREER_ASSISTANCE" placeholder="业助" :rules="rules"/>-->
<el-Input v-model="state.SALESHIPREQUESTNAME" placeholder="单号" :rules="rules" /> <el-Input v-model="state.SALESHIPREQUESTNAME" placeholder="单号" :rules="rules" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="5">
<el-form-item label="新销售订单行号"> <el-form-item label="新销售订单行号">
<!-- <el-Input @input="inputCareer" v-model="state.CAREER_ASSISTANCE" placeholder="业助" :rules="rules"/>--> <!-- <el-Input @input="inputCareer" v-model="state.CAREER_ASSISTANCE" placeholder="业助" :rules="rules"/>-->
<el-Input v-model="state.SALESHIPREQUESTDETAILNAME" placeholder="行号" :rules="rules"/> <el-Input
v-model="state.SALESHIPREQUESTDETAILNAME"
placeholder="行号"
:rules="rules"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="5">
<el-button type="primary" @click="modifiedRemark" :disabled="state.CAREER_ASSISTANCEDrawer" v-loading="state.loadings">更新</el-button> <div class="block" style="float: right">
<el-form-item label="过账日期" prop="state.commitDate">
<el-date-picker
:clearable="true"
:editable="true"
v-model="state.commitDate"
type="date"
placeholder="选择过账时间"
value-format="YYYY-MM-DD"
/>
</el-form-item>
</div>
</el-col>
<el-col :span="5">
<el-button
type="primary"
@click="modifiedRemark"
:disabled="state.CAREER_ASSISTANCEDrawer"
v-loading="state.loadings"
>更新</el-button
>
</el-col> </el-col>
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -207,29 +339,29 @@
</template> </template>
<script lang="ts"> <script lang="ts">
export default { export default {
name: "careerAssistanceInquiry", name: 'careerAssistanceInquiry'
}; }
</script> </script>
<!--script区域--> <!--script区域-->
<script lang="ts" setup> <script lang="ts" setup>
/*引入区域*/ /*引入区域*/
import { reactive, ref, watch, onMounted, toRefs, getCurrentInstance, nextTick, h } from "vue"; import { reactive, ref, watch, onMounted, toRefs, getCurrentInstance, nextTick, h } from 'vue'
import { ElForm, ElMessageBox, ElTable } from "element-plus"; import { ElForm, ElMessageBox, ElTable } from 'element-plus'
import type { CheckboxValueType } from 'element-plus' import type { CheckboxValueType } from 'element-plus'
import { getQueryList, getQueryPageList,updateCAREER_ASSISTANCE } from "@/api/common"; import { getQueryList, getQueryPageList, updateCAREER_ASSISTANCE } from '@/api/common'
import { areAllNotEmpty, msToDate } from '@/utils/CommonUtil'; import { areAllNotEmpty, msToDate } from '@/utils/CommonUtil'
import router from "@/router"; import router from '@/router'
import exportDataToExcel from "@/utils/export-excel"; import exportDataToExcel from '@/utils/export-excel'
import { localStorage } from '@/utils/storage' import { localStorage } from '@/utils/storage'
import { updateCareerAssistance, updateRemark, getUserInfo } from '@/api/label' import { updateCareerAssistance, updateRemark, getUserInfo } from '@/api/label'
import { bTableHeight } from "../../../composables/calcTableHeight"; import { bTableHeight } from '../../../composables/calcTableHeight'
import { getORG } from '@/api/auth'; import { getORG } from '@/api/auth'
import { search } from '@/api/wareHouse' import { search } from '@/api/wareHouse'
import { log } from "node:console"; import { log } from 'node:console'
const { tableContainer, tableHeight, updateTableHeight, handleResize } = bTableHeight(310); const { tableContainer, tableHeight, updateTableHeight, handleResize } = bTableHeight(310)
const { proxy }: any = getCurrentInstance(); const { proxy }: any = getCurrentInstance()
const checkAll = ref(false) const checkAll = ref(false)
const indeterminate = ref(false) const indeterminate = ref(false)
const value = ref<CheckboxValueType[]>([]) const value = ref<CheckboxValueType[]>([])
@ -238,32 +370,38 @@ const { tableContainer, tableHeight, updateTableHeight, handleResize } = bTableH
const materialTableConfig = ref({ const materialTableConfig = ref({
loading: false, loading: false,
column: [] as any, column: [] as any,
data: [], data: []
}) })
const queryFormRef = ref(ElForm); const queryFormRef = ref(ElForm)
const size = ref<'default' | 'large' | 'small'>('small');//formdata const size = ref<'default' | 'large' | 'small'>('small') //formdata
const state = reactive({ const state = reactive({
commitDate: '',
loadings: false, loadings: false,
CAREER_ASSISTANCEDrawer: false, CAREER_ASSISTANCEDrawer: false,
updateSALESPERSON: { updateSALESPERSON: {
CAREER_ASSISTANCE: '', CAREER_ASSISTANCE: '',
CHARGE : '', CHARGE: ''
}, },
userList: [], userList: [],
SALESHIPREQUESTNAME: '', SALESHIPREQUESTNAME: '',
SALESHIPREQUESTDETAILNAME: '', SALESHIPREQUESTDETAILNAME: '',
boxDrawer: false, boxDrawer: false,
PhaseList: [{ label: '全部', Value: '' }, { label: 'C', Value: 'C' }, { label: 'D', Value: 'D' }, { label: 'S', Value: 'S' }] as any, PhaseList: [
{ label: '全部', Value: '' },
{ label: 'C', Value: 'C' },
{ label: 'D', Value: 'D' },
{ label: 'S', Value: 'S' }
] as any,
ChangeERPLocation: [], ChangeERPLocation: [],
ChangeLocation: [], ChangeLocation: [],
AllNumber: 0, // AllNumber: 0, //
UnitNumber: 0, // UnitNumber: 0, //
queryParams: { queryParams: {
queryId: "GetMaterialBoxInformationRow", queryId: 'GetMaterialBoxInformationRow',
version: "WEB00034", version: 'WEB00034',
params: { params: {
SITENAME: localStorage.get("siteName") || 'SDK', SITENAME: localStorage.get('siteName') || 'SDK',
MATERIALSPECNAME: "", MATERIALSPECNAME: '',
STOCKSTATE: '', STOCKSTATE: '',
ERPLOCATION: '', ERPLOCATION: '',
ERPFACTORY: '', ERPFACTORY: '',
@ -280,42 +418,42 @@ const { tableContainer, tableHeight, updateTableHeight, handleResize } = bTableH
CAREER_ASSISTANCE: '', CAREER_ASSISTANCE: '',
DESC_CN: '', DESC_CN: '',
OQARESULTSTATE: '', OQARESULTSTATE: '',
PACKINGGRADE: '', PACKINGGRADE: ''
}, },
pageNum: 1, pageNum: 1,
pageSize: 10 pageSize: 10
}, },
queryParamsStockState: { queryParamsStockState: {
queryId: "GetEnumDefValueList", queryId: 'GetEnumDefValueList',
version: "WEB00001", version: 'WEB00001',
params: { params: {
SITENAME: localStorage.get("siteName") || 'SDK', SITENAME: localStorage.get('siteName') || 'SDK',
ENUMNAME: "StockState", ENUMNAME: 'StockState'
}, },
pageNum: 1, pageNum: 1,
pageSize: 10 pageSize: 10
}, },
queryParamsERPFactory: { queryParamsERPFactory: {
queryId: "GetErpFactoryList", queryId: 'GetErpFactoryList',
version: "WEB00001", version: 'WEB00001',
params: { params: {
SITENAME: localStorage.get("siteName") || 'SDK', SITENAME: localStorage.get('siteName') || 'SDK'
}, },
pageNum: 1, pageNum: 1,
pageSize: 10 pageSize: 10
}, },
queryParamsERPLocation: { queryParamsERPLocation: {
queryId: "GetErpLocationList", queryId: 'GetErpLocationList',
version: "WEB00001", version: 'WEB00001',
params: { params: {
SITENAME: localStorage.get("siteName") || 'SDK', SITENAME: localStorage.get('siteName') || 'SDK',
ERPFACTORYNAME: '', ERPFACTORYNAME: ''
}, },
pageNum: 1, pageNum: 1,
pageSize: 10 pageSize: 10
}, },
operateParams: { operateParams: {
date: new Date(), date: new Date()
}, },
Column: [] as any, Column: [] as any,
total: 0, total: 0,
@ -327,7 +465,7 @@ const { tableContainer, tableHeight, updateTableHeight, handleResize } = bTableH
LocationList: [] as any, LocationList: [] as any,
multipleSelection: [] as any, multipleSelection: [] as any,
CAREER_ASSISTANCE: '', CAREER_ASSISTANCE: '',
COUSTOMNO: '', COUSTOMNO: ''
// rules: { // rules: {
// // CAREER_ASSISTANCE: [{ required: true, message: '', trigger: 'blur' }], // // CAREER_ASSISTANCE: [{ required: true, message: '', trigger: 'blur' }],
// CAREER_ASSISTANCE: [ // CAREER_ASSISTANCE: [
@ -345,8 +483,7 @@ const { tableContainer, tableHeight, updateTableHeight, handleResize } = bTableH
// } // }
// ], // ],
// } // }
}); })
const { const {
queryParams, queryParams,
@ -359,8 +496,8 @@ const { tableContainer, tableHeight, updateTableHeight, handleResize } = bTableH
StockStateList, StockStateList,
ERPFactoryList, ERPFactoryList,
ERPLocationList, ERPLocationList,
LocationList, LocationList
} = toRefs(state); } = toRefs(state)
// //
const shortcuts2 = [ const shortcuts2 = [
{ {
@ -370,7 +507,7 @@ const { tableContainer, tableHeight, updateTableHeight, handleResize } = bTableH
const start = new Date() const start = new Date()
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7) start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
return [start, end] return [start, end]
}, }
}, },
{ {
text: '', text: '',
@ -379,7 +516,7 @@ const { tableContainer, tableHeight, updateTableHeight, handleResize } = bTableH
const start = new Date() const start = new Date()
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30) start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
return [start, end] return [start, end]
}, }
}, },
{ {
text: '', text: '',
@ -388,17 +525,21 @@ const { tableContainer, tableHeight, updateTableHeight, handleResize } = bTableH
const start = new Date() const start = new Date()
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90) start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
return [start, end] return [start, end]
}, }
}, }
] ]
/*钩子函数区域*/ /*钩子函数区域*/
onMounted(() => { onMounted(() => {
var newDate = new Date()
var year = newDate.getFullYear()
var moth = newDate.getMonth() + 1
if (moth < 10) moth = '0' + moth
var day = newDate.getDate()
if (day < 10) day = '0' + day
state.commitDate = year + '-' + moth + '-' + day
materialTableConfig.value.column = [ materialTableConfig.value.column = [
// { header: "", field: "ERPFACTORY", hide: false }, // { header: "", field: "ERPFACTORY", hide: false },
{ header: "组织(CN)", field: "ERPFACTORYDESC", hide: false }, { header: '组织(CN)', field: 'ERPFACTORYDESC', hide: false },
// { header: "", field: "PHASE", hide: false }, // { header: "", field: "PHASE", hide: false },
// { header: "", field: "DESCRIPTION", hide: false }, // { header: "", field: "DESCRIPTION", hide: false },
@ -407,30 +548,30 @@ const { tableContainer, tableHeight, updateTableHeight, handleResize } = bTableH
// { header: "", field: "MATERIALQUANTITY", hide: false }, // { header: "", field: "MATERIALQUANTITY", hide: false },
// { header: "", field: "FNAME", hide: false }, // { header: "", field: "FNAME", hide: false },
// { header: "", field: "ERPLOCATION", hide: false }, // { header: "", field: "ERPLOCATION", hide: false },
{ header: "仓库名称", field: "ERPLOCATIONDESC", hide: false }, { header: '仓库名称', field: 'ERPLOCATIONDESC', hide: false },
// { header: "", field: "LOCATIONNAME", hide: false }, // { header: "", field: "LOCATIONNAME", hide: false },
{ header: "货位名称", field: "LOCATIONNAMEDESC", hide: false }, { header: '货位名称', field: 'LOCATIONNAMEDESC', hide: false },
{ header: "物料编号", field: "MATERIALSPECNAME", hide: false }, { header: '物料编号', field: 'MATERIALSPECNAME', hide: false },
{ header: "品名", field: "DESC_CN", hide: false }, { header: '品名', field: 'DESC_CN', hide: false },
{ header: "批次号", field: "CHARGE", hide: false }, { header: '批次号', field: 'CHARGE', hide: false },
{ header: "阶段", field: "PHASE", hide: false }, { header: '阶段', field: 'PHASE', hide: false },
{ header: "系统规格", field: "DESCRIPTION", hide: false }, { header: '系统规格', field: 'DESCRIPTION', hide: false },
{ header: "SDK规格", field: "SPECNAME", hide: false }, { header: 'SDK规格', field: 'SPECNAME', hide: false },
{ header: "实际规格", field: "TRUEGG", hide: false }, { header: '实际规格', field: 'TRUEGG', hide: false },
// { header: "", field: "RECEIVETIME", hide: false }, // { header: "", field: "RECEIVETIME", hide: false },
// { header: "", field: "SHIPREQUESTTIME", hide: false }, // { header: "", field: "SHIPREQUESTTIME", hide: false },
// { header: "", field: "MAKEDATE", hide: false }, // { header: "", field: "MAKEDATE", hide: false },
// { header: "", field: "EXPIRINGDATE", hide: false }, // { header: "", field: "EXPIRINGDATE", hide: false },
{ header: "是否良品", field: "OQARESULT", hide: false }, { header: '是否良品', field: 'OQARESULT', hide: false },
// { header: "", field: "SPECIALSTATE", hide: false }, // { header: "", field: "SPECIALSTATE", hide: false },
// { header: "", field: "FQTY", hide: false }, // { header: "", field: "FQTY", hide: false },
// { header: "", field: "FUNIT", hide: false }, // { header: "", field: "FUNIT", hide: false },
// { header: "", field: "CUSTOMNO", hide: false }, // { header: "", field: "CUSTOMNO", hide: false },
// { header: "", field: "SUPPLIERNAME", hide: false }, // { header: "", field: "SUPPLIERNAME", hide: false },
{ header: "业助", field: "CAREER_ASSISTANCE", hide: false }, { header: '业助', field: 'CAREER_ASSISTANCE', hide: false },
{ header: "客户", field: "CUSTOMNO", hide: false }, { header: '客户', field: 'CUSTOMNO', hide: false },
{ header: "业务", field: "SALESPERSON", hide: false }, { header: '业务', field: 'SALESPERSON', hide: false },
{ header: "事业部", field: "BUSINESS_UNIT", hide: false }, { header: '事业部', field: 'BUSINESS_UNIT', hide: false }
// { header: "", field: "DURABLETYPE", hide: false }, // { header: "", field: "DURABLETYPE", hide: false },
// { header: "", field: "MAKEDATE", hide: false }, // { header: "", field: "MAKEDATE", hide: false },
// { header: "", field: "LASTSTOCKINTIME_ERPFACTORY", hide: false }, // { header: "", field: "LASTSTOCKINTIME_ERPFACTORY", hide: false },
@ -443,21 +584,21 @@ const { tableContainer, tableHeight, updateTableHeight, handleResize } = bTableH
// { header: "", field: "HOLDSTATE", hide: false }, // { header: "", field: "HOLDSTATE", hide: false },
// { header: "WMS", field: "MATERIALPACKINGNAME", hide: false }, // { header: "WMS", field: "MATERIALPACKINGNAME", hide: false },
// { header: "", field: "REMARK", hide: false }, // { header: "", field: "REMARK", hide: false },
]; ]
let pwd: any = localStorage.get('remeberPwd'); let pwd: any = localStorage.get('remeberPwd')
// state.orgNo = JSON.parse(pwd).orgNo; // state.orgNo = JSON.parse(pwd).orgNo;
// state.queryParams.params.ERPFACTORY = JSON.parse(pwd).orgNo; // state.queryParams.params.ERPFACTORY = JSON.parse(pwd).orgNo;
handleQuery(); handleQuery()
ERPFactoryQuery(); ERPFactoryQuery()
// ERPLocationQuery(); // ERPLocationQuery();
getUser(); getUser()
updateTableHeight(); updateTableHeight()
window.addEventListener('resize', handleResize); window.addEventListener('resize', handleResize)
}); })
function queryInfo() { function queryInfo() {
state.queryParams.pageNum = 1 state.queryParams.pageNum = 1
handleQuery(); handleQuery()
} }
const updateList = (col: any) => { const updateList = (col: any) => {
materialTableConfig.value.column = col materialTableConfig.value.column = col
@ -465,9 +606,8 @@ const { tableContainer, tableHeight, updateTableHeight, handleResize } = bTableH
/*其它函数区域*/ /*其它函数区域*/
const handleSelectionChange = (val: any) => { const handleSelectionChange = (val: any) => {
state.multipleSelection = val; state.multipleSelection = val
}
};
function handleInput(val: any) { function handleInput(val: any) {
let index = [1, 3, 4, 7, 8] let index = [1, 3, 4, 7, 8]
@ -480,54 +620,58 @@ const { tableContainer, tableHeight, updateTableHeight, handleResize } = bTableH
if (res.resultObj) { if (res.resultObj) {
state.LocationList = res.resultObj state.LocationList = res.resultObj
} else { } else {
proxy.$ElMessage.warning(res.message); proxy.$ElMessage.warning(res.message)
} }
}) })
} }
} }
function isChinese(text: any) { function isChinese(text: any) {
const reg = /^[\u4e00-\u9fa5]+$/; const reg = /^[\u4e00-\u9fa5]+$/
return reg.test(text); return reg.test(text)
} }
function inputCareer(event: any) { function inputCareer(event: any) {
console.log(event) console.log(event)
const inputValue = event; const inputValue = event
if (!isChinese(inputValue)) { if (!isChinese(inputValue)) {
// //
state.CAREER_ASSISTANCEDrawer = true; state.CAREER_ASSISTANCEDrawer = true
state.loadings = true state.loadings = true
console.log('输入不是中文'); console.log('输入不是中文')
} else { } else {
state.CAREER_ASSISTANCEDrawer = false
state.CAREER_ASSISTANCEDrawer = false;
state.loadings = false state.loadings = false
// //
console.log('输入是中文'); console.log('输入是中文')
} }
} }
function getUser() { function getUser() {
getUserInfo().then((res: any) => { getUserInfo().then((res: any) => {
state.userList = res.data; state.userList = res.data
}) })
} }
function modifiedRemark() { function modifiedRemark() {
if (state.multipleSelection.length == 0) { if (state.multipleSelection.length == 0) {
ElMessageBox.alert('列表为空', { ElMessageBox.alert('列表为空', {
confirmButtonText: 'OK', confirmButtonText: 'OK'
}) })
return return
} }
console.log(state.multipleSelection); if (state.commitDate == null) {
ElMessageBox.alert('过账时间不可清空', {
confirmButtonText: 'OK'
})
return
}
console.log(state.multipleSelection)
// return // return
let boxLists = [] let boxLists = []
for (var i = 0; i < state.multipleSelection.length; ++i) { for (var i = 0; i < state.multipleSelection.length; ++i) {
state.multipleSelection[i].key = { state.multipleSelection[i].key = {
SITENAME : "SDK", SITENAME: 'SDK',
MATERIALPACKINGNAME: state.multipleSelection[i]['MATERIALPACKINGNAME'] MATERIALPACKINGNAME: state.multipleSelection[i]['MATERIALPACKINGNAME']
} }
@ -535,38 +679,39 @@ const { tableContainer, tableHeight, updateTableHeight, handleResize } = bTableH
// state.multipleSelection[i].CUSTOMNO = state.COUSTOMNO // state.multipleSelection[i].CUSTOMNO = state.COUSTOMNO
boxLists.push(state.multipleSelection[i]) boxLists.push(state.multipleSelection[i])
} }
let PRINT = { let PRINT = {
SITENAME : "SDK", SITENAME: 'SDK',
boxList: boxLists, boxList: boxLists,
USER: localStorage.get('userId'), USER: localStorage.get('userId'),
remark: state.CAREER_ASSISTANCE, remark: state.CAREER_ASSISTANCE,
commitDate: state.commitDate,
// CUSTOMNO : state.COUSTOMNO, // CUSTOMNO : state.COUSTOMNO,
SALESHIPREQUESTNAME: state.SALESHIPREQUESTNAME, // SALESHIPREQUESTNAME: state.SALESHIPREQUESTNAME, //
SALESHIPREQUESTDETAILNAME: state.SALESHIPREQUESTDETAILNAME,// SALESHIPREQUESTDETAILNAME: state.SALESHIPREQUESTDETAILNAME //
} }
// console.log(PRINT) // console.log(PRINT)
// return; // return;
updateCareerAssistance(PRINT).then((res: any) => { updateCareerAssistance(PRINT)
.then((res: any) => {
console.log(res.success) console.log(res.success)
// state.COUSTOMNO = '' // state.COUSTOMNO = ''
if (res.success) { if (res.success) {
state.SALESHIPREQUESTNAME = ''; state.SALESHIPREQUESTNAME = ''
state.SALESHIPREQUESTDETAILNAME = ''; state.SALESHIPREQUESTDETAILNAME = ''
state.CAREER_ASSISTANCE = ''; state.CAREER_ASSISTANCE = ''
// proxy.$ElMessage.success(''); // proxy.$ElMessage.success('');
ElMessageBox.alert('业助更新成功', '提醒框', { ElMessageBox.alert('业助更新成功', '提醒框', {
confirmButtonText: 'OK', confirmButtonText: 'OK'
}) })
handleQuery(); handleQuery()
} else { } else {
proxy.$ElMessage.error(res.message) proxy.$ElMessage.error(res.message)
} }
}) })
.catch((message) => { .catch((message) => {
proxy.$ElMessage.error(message) proxy.$ElMessage.error(message)
}); })
} }
async function handleQuery() { async function handleQuery() {
if (state.queryParams.params.DateValue.length > 0) { if (state.queryParams.params.DateValue.length > 0) {
@ -576,16 +721,17 @@ const { tableContainer, tableHeight, updateTableHeight, handleResize } = bTableH
state.queryParams.params.ERPLOCATION = '' state.queryParams.params.ERPLOCATION = ''
if (state.ChangeERPLocation[0] != '') if (state.ChangeERPLocation[0] != '')
for (let i = 0; i < state.ChangeERPLocation.length; i++) { for (let i = 0; i < state.ChangeERPLocation.length; i++) {
state.queryParams.params.ERPLOCATION = state.queryParams.params.ERPLOCATION + state.ChangeERPLocation[i] + ',' state.queryParams.params.ERPLOCATION =
state.queryParams.params.ERPLOCATION + state.ChangeERPLocation[i] + ','
} }
state.queryParams.params.LOCATIONNAME = '' state.queryParams.params.LOCATIONNAME = ''
if (state.ChangeLocation[0] != '') if (state.ChangeLocation[0] != '')
for (let i = 0; i < state.ChangeLocation.length; i++) { for (let i = 0; i < state.ChangeLocation.length; i++) {
state.queryParams.params.LOCATIONNAME = state.queryParams.params.LOCATIONNAME + state.ChangeLocation[i] + ',' state.queryParams.params.LOCATIONNAME =
state.queryParams.params.LOCATIONNAME + state.ChangeLocation[i] + ','
} }
state.queryParams.version = 'WEB00034' state.queryParams.version = 'WEB00034'
await getQueryPageList(state.queryParams) await getQueryPageList(state.queryParams).then((res: any) => {
.then((res: any) => {
state.BoxHistoryList = res.data.list state.BoxHistoryList = res.data.list
state.total = res.data.total state.total = res.data.total
}) })
@ -610,9 +756,9 @@ const { tableContainer, tableHeight, updateTableHeight, handleResize } = bTableH
if (res.data.length > 0) { if (res.data.length > 0) {
exportDataToExcel(res.data, '库存查询') exportDataToExcel(res.data, '库存查询')
} else { } else {
proxy.$ElMessage.warning('当前查询没有数据可以导出'); proxy.$ElMessage.warning('当前查询没有数据可以导出')
} }
}); })
} }
const getSummaries = (param: any) => { const getSummaries = (param: any) => {
@ -620,17 +766,17 @@ const { tableContainer, tableHeight, updateTableHeight, handleResize } = bTableH
const sums: (string | any)[] = [] const sums: (string | any)[] = []
columns.forEach((column: any, index: number) => { columns.forEach((column: any, index: number) => {
if (index === 0) { if (index === 0) {
sums[index] = h('div', { style: { textDecoration: 'underline' } }, [ sums[index] = h('div', { style: { textDecoration: 'underline' } }, ['合计'])
'合计',
])
return return
} }
console.log('column', column) console.log('column', column)
const values = data.map((item: any) => column.property == 'MATERIALQUANTITY' && Number(item[column.property])) const values = data.map(
(item: any) => column.property == 'MATERIALQUANTITY' && Number(item[column.property])
)
console.log('values', values) console.log('values', values)
// if (!values.every((value: any) => (Number.isNaN(value)))) { // if (!values.every((value: any) => (Number.isNaN(value)))) {
if (values.every((value: any) => (Number.isNaN(value) || value))) { if (values.every((value: any) => Number.isNaN(value) || value)) {
sums[index] = `${values.reduce((prev: any, curr: any) => { sums[index] = `${values.reduce((prev: any, curr: any) => {
const value = Number(curr) const value = Number(curr)
if (!Number.isNaN(value)) { if (!Number.isNaN(value)) {
@ -662,23 +808,23 @@ const { tableContainer, tableHeight, updateTableHeight, handleResize } = bTableH
state.queryParamsERPLocation.params.ERPFACTORYNAME = state.queryParams.params.ERPFACTORY state.queryParamsERPLocation.params.ERPFACTORYNAME = state.queryParams.params.ERPFACTORY
getQueryList(state.queryParamsERPLocation) getQueryList(state.queryParamsERPLocation)
.then((res: any) => { .then((res: any) => {
state.ERPLocationList = res.data; state.ERPLocationList = res.data
// state.ERPLocationList.unshift({ // state.ERPLocationList.unshift({
// ENUMVALUE: '' // ENUMVALUE: ''
// }); // });
}) })
.catch(() => { }); .catch(() => {})
} }
//ERP //ERP
function ERPFactoryQuery() { function ERPFactoryQuery() {
getORG({ orgNo: null }) getORG({ orgNo: null })
.then((res: any) => { .then((res: any) => {
state.ERPFactoryList = res.resultObj; state.ERPFactoryList = res.resultObj
state.ERPFactoryList.unshift({ state.ERPFactoryList.unshift({
ERPFACTORY: '' ERPFACTORY: ''
});
}) })
.catch(() => { }); })
.catch(() => {})
} }
watch(value, (val: any) => { watch(value, (val: any) => {
if (val.length === 0) { if (val.length === 0) {
@ -703,18 +849,18 @@ const { tableContainer, tableHeight, updateTableHeight, handleResize } = bTableH
function convertArrayToString(numbers: any) { function convertArrayToString(numbers: any) {
// 使map // 使map
const quotedNumbers = numbers.map((number: any) => `'${number}'`); const quotedNumbers = numbers.map((number: any) => `'${number}'`)
// 使join // 使join
const result = `(${quotedNumbers.join(',')})`; const result = `(${quotedNumbers.join(',')})`
return result; return result
} }
function GetERPLocationForList(value: any) { function GetERPLocationForList(value: any) {
ERPLocationQuery(); ERPLocationQuery()
} }
function JudgeMentERPLocation(value: any) { function JudgeMentERPLocation(value: any) {
if ((!areAllNotEmpty(state.queryParams.params.ERPFACTORY)) || (state.ChangeERPLocation.length == 0)) { if (!areAllNotEmpty(state.queryParams.params.ERPFACTORY) || state.ChangeERPLocation.length == 0) {
proxy.$ElMessage.warning('当前还未选择组织或者仓库'); proxy.$ElMessage.warning('当前还未选择组织或者仓库')
state.LocationList = [] state.LocationList = []
state.ChangeLocation = [] state.ChangeLocation = []
return return
@ -723,7 +869,7 @@ const { tableContainer, tableHeight, updateTableHeight, handleResize } = bTableH
function GetLocationListForSomeERPLocation(value: any) { function GetLocationListForSomeERPLocation(value: any) {
if (!areAllNotEmpty(state.queryParams.params.ERPFACTORY)) { if (!areAllNotEmpty(state.queryParams.params.ERPFACTORY)) {
proxy.$ElMessage.warning('当前还未选择组织'); proxy.$ElMessage.warning('当前还未选择组织')
state.ChangeERPLocation = [] state.ChangeERPLocation = []
state.ERPLocationList = [] state.ERPLocationList = []
return return
@ -749,7 +895,6 @@ const { tableContainer, tableHeight, updateTableHeight, handleResize } = bTableH
}) })
.catch(() => { }); .catch(() => { });
}*/ }*/
} }
</script> </script>
<!--style 区域--> <!--style 区域-->