907 lines
31 KiB
Vue
Raw Normal View History

2025-03-10 13:48:17 +08:00
<!--在库查询-->
<!--页面渲染区域-->
<template>
2025-05-19 17:57:46 +08:00
<div class="vue-element-page-wrap" ref="tableContainer">
<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-row :gutter="20">
<el-col :span="6" class="col_height">
<el-form-item label="组织" prop="params.ERPFACTORY">
<el-select
filterable
v-model="queryParams.params.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-form-item>
</el-col>
<!-- <el-col :span="6" class="col_height">
2025-03-10 13:48:17 +08:00
<el-form-item label="库存仓库" prop="params.ERPLOCATION">
<el-select filterable v-model="queryParams.params.ERPLOCATION" placeholder="下拉选择仓库" style="width: 240px">
<el-option v-for="item in ERPLocationList" :key="item.ENUMVALUE" :label="item.DESCRIPTION"
:value="item.ENUMVALUE" />
</el-select>
</el-form-item>
</el-col> -->
2025-05-19 17:57:46 +08:00
<el-col :span="6" class="col_height">
<el-form-item label="仓库" prop="params.ERPLOCATION">
<el-select
v-model="state.ChangeERPLocation"
multiple
clearable
collapse-tags
placeholder="请选择仓库"
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-form-item>
</el-col>
2025-03-10 13:48:17 +08:00
2025-05-19 17:57:46 +08:00
<el-col :span="6" class="col_height">
<el-form-item label="货位" prop="params.LOCATION">
<el-select
v-model="state.ChangeLocation"
multiple
clearable
collapse-tags
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"
:label="item.storageName"
:value="item.storageName"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6" class="col_height">
<el-form-item label="物料编号" prop="params.MATERIALSPECNAME">
<el-Input
v-model="queryParams.params.MATERIALSPECNAME"
placeholder="输入物料编号"
clearable
/>
</el-form-item>
</el-col>
<el-col :span="6" class="col_height">
<el-form-item label="阶段" prop="SITENAME">
<el-select
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-form-item>
</el-col>
<el-col :span="6" class="col_height">
<el-form-item label="批次" prop="params.CHARGE">
<el-Input v-model="queryParams.params.CHARGE" placeholder="输入批次" clearable />
</el-form-item>
</el-col>
<el-col :span="6" class="col_height">
<el-form-item label="SDK规格" prop="params.SPECNAME">
<el-Input v-model="queryParams.params.SPECNAME" placeholder="输入SDK规格" clearable />
</el-form-item>
</el-col>
<el-col :span="6" class="col_height">
<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-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="入库时间" prop="params.USERNAME">
<el-date-picker
v-model="queryParams.params.DateValue"
type="daterange"
unlink-panels
range-separator="To"
v-model:start-placeholder="queryParams.params.FROMDATE"
v-model:end-placeholder="queryParams.params.TODATE"
:shortcuts="shortcuts2"
:size="size"
/>
</el-form-item>
</el-col>
2025-03-10 13:48:17 +08:00
</el-row>
2025-05-19 17:57:46 +08:00
</el-form>
<div class="page-search-btns">
<el-button type="primary" @click="queryInfo">搜索</el-button>
<el-button type="primary" @click="exportExcel">导出</el-button>
</div>
</el-row>
<!--table 区域-->
<div class="vue-element-page-table">
<div class="page-table-operate">
<div class="page-table-title">
<div class="page-table-title-left">
<span>标签信息</span>
</div>
2025-03-10 13:48:17 +08:00
</div>
2025-05-19 17:57:46 +08:00
<div class="page-table-operateBtns">
<el-popover
:persistent="false"
placement="right"
popper-class="config-table-wrap"
trigger="click"
>
<template #reference>
<el-button class="operateBtns-setting">
<svg-icon icon-class="table_title" width="16px" height="16px" />
</el-button>
</template>
<ConfigTable :list="materialTableConfig.column" @updateList="updateList" />
</el-popover>
</div>
</div>
<el-table
: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" />
<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
:sort-orders="['descending', 'ascending']"
:sortable="true"
>
<!-- <template #default="scope">-->
<!-- <span v-if="col.field === 'status'">-->
<!-- <span v-if="scope.row[col.field]" class="table-status-active">启用</span>-->
<!-- <span v-else class="table-status-inActive">禁用</span>-->
<!-- </span>-->
<!-- <span v-else>{{ scope.row[col.field] }}</span>-->
<!-- </template>-->
</el-table-column>
<el-table-column
fixed
v-if="col.hide"
:label="col.header"
:prop="col.field"
show-overflow-tooltip
:sort-orders="['descending', 'ascending']"
:sortable="true"
>
<!-- <template #default="scope">-->
<!-- <span v-if="col.field === 'status'">-->
<!-- <span v-if="scope.row[col.field]" class="table-status-active">启用</span>-->
<!-- <span v-else class="table-status-inActive">禁用</span>-->
<!-- </span>-->
<!-- <span v-else>{{ scope.row[col.field] }}</span>-->
<!-- </template>-->
</el-table-column>
</template>
<!-- <template v-slot:empty>-->
<!-- <svg-icon icon-class="noData" width="160px" height="160px" />-->
<!-- </template>-->
</el-table>
<div>
<pagination
v-if="total > 0"
:total="total"
v-model:pageNumTo="queryParams.pageNum"
v-model:pageSizeTo="queryParams.pageSize"
@pagination="handleQuery"
/>
</div>
<div>
<!-- <el-row :gutter="24">-->
<!-- <el-col :span="5">-->
<!-- <el-form-item label="标签数量" prop="state.ChangeParams.body">-->
<!-- <el-Input v-model="state.AllNumber" placeholder="标签数量总和" clearable />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="15">-->
<!-- <el-form-item label="物料总和" prop="state.ChangeParams.body">-->
<!-- <el-Input v-model="state.UnitNumber" placeholder="标签数量总和" type="textarea" autosize clearable />-->
2025-03-10 13:48:17 +08:00
<!-- </el-form-item>-->
2025-05-19 17:57:46 +08:00
<!-- </el-col>-->
<!-- </el-row>-->
<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="4">
<el-form-item label="借用人">
<!-- <el-Input @input="inputCareer" 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-option
v-for="item in state.userList"
:key="item.USERNAME"
:label="item.USERNAME"
:value="item.USERNAME"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="新销售订单">
<!-- <el-Input @input="inputCareer" v-model="state.CAREER_ASSISTANCE" placeholder="业助" :rules="rules"/>-->
<el-Input v-model="state.SALESHIPREQUESTNAME" placeholder="单号" :rules="rules" />
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="新销售订单行号">
<!-- <el-Input @input="inputCareer" v-model="state.CAREER_ASSISTANCE" placeholder="业助" :rules="rules"/>-->
<el-Input
v-model="state.SALESHIPREQUESTDETAILNAME"
placeholder="行号"
:rules="rules"
/>
</el-form-item>
</el-col>
<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-col :span="5">
<el-button
type="primary"
@click="modifiedRemark"
:disabled="state.CAREER_ASSISTANCEDrawer"
v-loading="state.loadings"
>更新</el-button
>
</el-col>
</el-form-item>
</el-form>
</el-row>
</div>
2025-03-10 13:48:17 +08:00
</div>
2025-05-19 17:57:46 +08:00
<!-- <div class="page-search-btns" :rules="rules">-->
<!-- <el-row :gutter="24">-->
<!-- <el-form ref="formDataRef" :model="state.CAREER_ASSISTANCE" :rules="rules" label-position="top">-->
<!-- <el-form-item label="" prop="CAREER_ASSISTANCE">-->
<!-- <el-col :span="18">-->
<!-- <el-Input @input="inputCareer" v-model="state.CAREER_ASSISTANCE" placeholder="业助" :rules="rules"/>-->
<!-- </el-col>-->
<!-- <el-col :span="6">-->
<!-- <el-button type="primary" @click="modifiedRemark" :disabled="state.CAREER_ASSISTANCEDrawer" v-loading="state.loadings">更新业助</el-button>-->
<!-- </el-col>-->
<!-- </el-form-item>-->
<!-- </el-form>-->
<!-- </el-row>-->
<!-- </div>-->
</div>
2025-03-10 13:48:17 +08:00
</template>
<script lang="ts">
2025-05-19 17:57:46 +08:00
export default {
name: 'careerAssistanceInquiry'
}
2025-03-10 13:48:17 +08:00
</script>
<!--script区域-->
<script lang="ts" setup>
2025-05-19 17:57:46 +08:00
/*引入区域*/
import { reactive, ref, watch, onMounted, toRefs, getCurrentInstance, nextTick, h } from 'vue'
import { ElForm, ElMessageBox, ElTable } from 'element-plus'
import type { CheckboxValueType } from 'element-plus'
import { getQueryList, getQueryPageList, updateCAREER_ASSISTANCE } from '@/api/common'
import { areAllNotEmpty, msToDate } from '@/utils/CommonUtil'
import router from '@/router'
import exportDataToExcel from '@/utils/export-excel'
import { localStorage } from '@/utils/storage'
import { updateCareerAssistance, updateRemark, getUserInfo } from '@/api/label'
import { bTableHeight } from '../../../composables/calcTableHeight'
import { getORG } from '@/api/auth'
import { search } from '@/api/wareHouse'
import { log } from 'node:console'
2025-03-10 13:48:17 +08:00
2025-05-19 17:57:46 +08:00
const { tableContainer, tableHeight, updateTableHeight, handleResize } = bTableHeight(310)
2025-03-10 13:48:17 +08:00
2025-05-19 17:57:46 +08:00
const { proxy }: any = getCurrentInstance()
const checkAll = ref(false)
const indeterminate = ref(false)
const value = ref<CheckboxValueType[]>([])
2025-03-10 13:48:17 +08:00
2025-05-19 17:57:46 +08:00
/*对象生成赋值区域*/
const materialTableConfig = ref({
loading: false,
column: [] as any,
data: []
})
const queryFormRef = ref(ElForm)
const size = ref<'default' | 'large' | 'small'>('small') //formdata时间设置
const state = reactive({
commitDate: '',
loadings: false,
CAREER_ASSISTANCEDrawer: false,
updateSALESPERSON: {
CAREER_ASSISTANCE: '',
CHARGE: ''
},
userList: [],
SALESHIPREQUESTNAME: '',
SALESHIPREQUESTDETAILNAME: '',
boxDrawer: false,
PhaseList: [
{ label: '全部', Value: '' },
{ label: 'C', Value: 'C' },
{ label: 'D', Value: 'D' },
{ label: 'S', Value: 'S' }
] as any,
ChangeERPLocation: [],
ChangeLocation: [],
AllNumber: 0, //标签总数量
UnitNumber: 0, //各单位数量
queryParams: {
queryId: 'GetMaterialBoxInformationRow',
version: 'WEB00034',
params: {
SITENAME: localStorage.get('siteName') || 'SDK',
MATERIALSPECNAME: '',
STOCKSTATE: '',
ERPLOCATION: '',
ERPFACTORY: '',
UNDOID: '',
LOCATIONNAME: '',
PHASE: '',
CHARGE: '',
SPECNAME: '',
ERPLOCATIONNAME: '',
SALESPERSON: '',
DateValue: '',
FROMDATE: '',
TODATE: '',
CAREER_ASSISTANCE: '',
DESC_CN: '',
OQARESULTSTATE: '',
PACKINGGRADE: ''
},
pageNum: 1,
pageSize: 10
},
queryParamsStockState: {
queryId: 'GetEnumDefValueList',
version: 'WEB00001',
params: {
SITENAME: localStorage.get('siteName') || 'SDK',
ENUMNAME: 'StockState'
},
pageNum: 1,
pageSize: 10
},
queryParamsERPFactory: {
queryId: 'GetErpFactoryList',
version: 'WEB00001',
params: {
SITENAME: localStorage.get('siteName') || 'SDK'
},
pageNum: 1,
pageSize: 10
},
queryParamsERPLocation: {
queryId: 'GetErpLocationList',
version: 'WEB00001',
params: {
SITENAME: localStorage.get('siteName') || 'SDK',
ERPFACTORYNAME: ''
},
pageNum: 1,
pageSize: 10
},
operateParams: {
date: new Date()
},
Column: [] as any,
total: 0,
loading: false,
BoxHistoryList: [] as any,
StockStateList: [] as any,
ERPFactoryList: [] as any,
ERPLocationList: [] as any,
LocationList: [] as any,
multipleSelection: [] as any,
CAREER_ASSISTANCE: '',
COUSTOMNO: ''
// rules: {
// // CAREER_ASSISTANCE: [{ required: true, message: '请输入账号', trigger: 'blur' }],
// CAREER_ASSISTANCE: [
// { required: true, message: value, trigger: "blur" },
// {
// validator: function(rule : any,value : any, callback : any) {
// //校验中文的正则:/^[\u4e00-\u9fa5]{0,}$/
// if (/^[\u4e00-\u9fa5]+$/.test(value) == false) {
// callback(new Error("请输入中文"));
// } else {
// callback(new Error(""));
// }
// },
// trigger: "blur"
// }
// ],
// }
})
2025-03-10 13:48:17 +08:00
2025-05-19 17:57:46 +08:00
const {
queryParams,
Column,
total,
rules,
loading,
BoxHistoryList,
operateParams,
StockStateList,
ERPFactoryList,
ERPLocationList,
LocationList
} = toRefs(state)
//时间范围定义
const shortcuts2 = [
{
text: '',
value: () => {
const end = new Date()
const start = new Date()
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
return [start, end]
}
},
{
text: '',
value: () => {
const end = new Date()
const start = new Date()
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
return [start, end]
2025-03-10 13:48:17 +08:00
}
2025-05-19 17:57:46 +08:00
},
{
text: '',
value: () => {
const end = new Date()
const start = new Date()
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
return [start, end]
2025-03-10 13:48:17 +08:00
}
2025-05-19 17:57:46 +08:00
}
]
/*钩子函数区域*/
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 = [
// { header: "组织", field: "ERPFACTORY", hide: false },
{ header: '组织(CN)', field: 'ERPFACTORYDESC', hide: false },
2025-03-10 13:48:17 +08:00
2025-05-19 17:57:46 +08:00
// { header: "阶段", field: "PHASE", hide: false },
// { header: "系统规格", field: "DESCRIPTION", hide: false },
// { header: "SDK规格", field: "SPECNAME", hide: false },
// { header: "实际规格", field: "TRUEGG", hide: false },
// { header: "主数量", field: "MATERIALQUANTITY", hide: false },
// { header: "主单位", field: "FNAME", hide: false },
// { header: "仓库编码", field: "ERPLOCATION", hide: false },
{ header: '仓库名称', field: 'ERPLOCATIONDESC', hide: false },
// { header: "货位编码", field: "LOCATIONNAME", hide: false },
{ header: '货位名称', field: 'LOCATIONNAMEDESC', hide: false },
{ header: '物料编号', field: 'MATERIALSPECNAME', hide: false },
{ header: '品名', field: 'DESC_CN', hide: false },
{ header: '批次号', field: 'CHARGE', hide: false },
{ header: '阶段', field: 'PHASE', hide: false },
{ header: '系统规格', field: 'DESCRIPTION', hide: false },
{ header: 'SDK规格', field: 'SPECNAME', hide: false },
{ header: '实际规格', field: 'TRUEGG', hide: false },
// { header: "入库时间", field: "RECEIVETIME", hide: false },
// { header: "备货单号", field: "SHIPREQUESTTIME", hide: false },
// { header: "生产时间", field: "MAKEDATE", hide: false },
// { header: "失效时间", field: "EXPIRINGDATE", hide: false },
{ header: '是否良品', field: 'OQARESULT', hide: false },
// { header: "状态", field: "SPECIALSTATE", hide: false },
// { header: "辅单位数量", field: "FQTY", hide: false },
// { header: "辅单位", field: "FUNIT", hide: false },
// { header: "客户", field: "CUSTOMNO", hide: false },
// { header: "供应商", field: "SUPPLIERNAME", hide: false },
{ header: '业助', field: 'CAREER_ASSISTANCE', hide: false },
{ header: '客户', field: 'CUSTOMNO', hide: false },
{ header: '业务', field: 'SALESPERSON', hide: false },
{ header: '事业部', field: 'BUSINESS_UNIT', hide: false }
// { header: "管芯类型", field: "DURABLETYPE", hide: false },
// { header: "首次入库日期", field: "MAKEDATE", hide: false },
// { header: "最新入组织日期", field: "LASTSTOCKINTIME_ERPFACTORY", hide: false },
// { header: "最新入库日期", field: "LASTSTOCKINTIME_LOCATION", hide: false },
// { header: "生产日期", field: "MAKEDATE", hide: false },
// { header: "操作/检测员", field: "EVENTUSER", hide: false },
// { header: "母卷批次", field: "SUPERMATERIALPACKINGNAME", hide: false },
// { header: "厂商批次", field: "SUPPLIERCHARGE", hide: false },
// { header: "客户批次", field: "CUSTOMCHARGE", hide: false },
// { header: "是否冻结", field: "HOLDSTATE", hide: false },
// { header: "WMS唯一码", field: "MATERIALPACKINGNAME", hide: false },
// { header: "备注", field: "REMARK", hide: false },
]
let pwd: any = localStorage.get('remeberPwd')
// state.orgNo = JSON.parse(pwd).orgNo;
// state.queryParams.params.ERPFACTORY = JSON.parse(pwd).orgNo;
2025-03-10 13:48:17 +08:00
2025-05-19 17:57:46 +08:00
handleQuery()
ERPFactoryQuery()
// ERPLocationQuery();
getUser()
updateTableHeight()
window.addEventListener('resize', handleResize)
})
function queryInfo() {
state.queryParams.pageNum = 1
handleQuery()
}
const updateList = (col: any) => {
materialTableConfig.value.column = col
}
/*其它函数区域*/
2025-03-10 13:48:17 +08:00
2025-05-19 17:57:46 +08:00
const handleSelectionChange = (val: any) => {
state.multipleSelection = val
}
2025-04-16 13:10:47 +08:00
2025-05-19 17:57:46 +08:00
function handleInput(val: any) {
let index = [1, 3, 4, 7, 8]
if (index.indexOf(val.length) > -1) {
state.LocationList = []
search({
storageName: val,
orgNo: JSON.parse(localStorage.get('orgNo'))
}).then((res: any) => {
if (res.resultObj) {
state.LocationList = res.resultObj
} else {
proxy.$ElMessage.warning(res.message)
}
})
}
}
2025-03-10 13:48:17 +08:00
2025-05-19 17:57:46 +08:00
function isChinese(text: any) {
const reg = /^[\u4e00-\u9fa5]+$/
return reg.test(text)
}
function inputCareer(event: any) {
console.log(event)
const inputValue = event
if (!isChinese(inputValue)) {
// 处理非中文输入的情况
2025-03-10 13:48:17 +08:00
2025-05-19 17:57:46 +08:00
state.CAREER_ASSISTANCEDrawer = true
state.loadings = true
console.log('输入不是中文')
} else {
state.CAREER_ASSISTANCEDrawer = false
state.loadings = false
// 处理中文输入的情况
console.log('输入是中文')
}
}
2025-03-10 13:48:17 +08:00
2025-05-19 17:57:46 +08:00
function getUser() {
getUserInfo().then((res: any) => {
state.userList = res.data
})
}
2025-03-10 13:48:17 +08:00
2025-05-19 17:57:46 +08:00
function modifiedRemark() {
if (state.multipleSelection.length == 0) {
ElMessageBox.alert('列表为空', {
confirmButtonText: 'OK'
})
return
}
if (state.commitDate == null) {
ElMessageBox.alert('过账时间不可清空', {
confirmButtonText: 'OK'
})
return
}
console.log(state.multipleSelection)
// return
let boxLists = []
for (var i = 0; i < state.multipleSelection.length; ++i) {
state.multipleSelection[i].key = {
SITENAME: 'SDK',
MATERIALPACKINGNAME: state.multipleSelection[i]['MATERIALPACKINGNAME']
2025-05-19 09:01:31 +08:00
}
2025-05-19 17:57:46 +08:00
// state.multipleSelection[i].CAREER_ASSISTANCE = state.CAREER_ASSISTANCE
// state.multipleSelection[i].CUSTOMNO = state.COUSTOMNO
2025-03-10 13:48:17 +08:00
2025-05-19 17:57:46 +08:00
boxLists.push(state.multipleSelection[i])
}
let PRINT = {
SITENAME: 'SDK',
boxList: boxLists,
USER: localStorage.get('userId'),
remark: state.CAREER_ASSISTANCE,
commitDate: state.commitDate,
// CUSTOMNO : state.COUSTOMNO,
SALESHIPREQUESTNAME: state.SALESHIPREQUESTNAME, // 销售订单
SALESHIPREQUESTDETAILNAME: state.SALESHIPREQUESTDETAILNAME // 销售订单行号
}
// console.log(PRINT)
// return;
updateCareerAssistance(PRINT)
.then((res: any) => {
console.log(res.success)
// state.COUSTOMNO = ''
if (res.success) {
state.SALESHIPREQUESTNAME = ''
state.SALESHIPREQUESTDETAILNAME = ''
state.CAREER_ASSISTANCE = ''
// proxy.$ElMessage.success('备注更新成功');
ElMessageBox.alert('业助更新成功', '提醒框', {
confirmButtonText: 'OK'
2025-03-10 13:48:17 +08:00
})
2025-05-19 17:57:46 +08:00
handleQuery()
} else {
proxy.$ElMessage.error(res.message)
}
})
.catch((message) => {
proxy.$ElMessage.error(message)
})
}
async function handleQuery() {
if (state.queryParams.params.DateValue.length > 0) {
state.queryParams.params.UNDOID = msToDate(state.queryParams.params.DateValue[0]).withoutTime
state.queryParams.params.TODATE = msToDate(state.queryParams.params.DateValue[1]).withoutTime
}
state.queryParams.params.ERPLOCATION = ''
if (state.ChangeERPLocation[0] != '')
for (let i = 0; i < state.ChangeERPLocation.length; i++) {
state.queryParams.params.ERPLOCATION =
state.queryParams.params.ERPLOCATION + state.ChangeERPLocation[i] + ','
2025-03-10 13:48:17 +08:00
}
2025-05-19 17:57:46 +08:00
state.queryParams.params.LOCATIONNAME = ''
if (state.ChangeLocation[0] != '')
for (let i = 0; i < state.ChangeLocation.length; i++) {
state.queryParams.params.LOCATIONNAME =
state.queryParams.params.LOCATIONNAME + state.ChangeLocation[i] + ','
}
state.queryParams.version = 'WEB00034'
await getQueryPageList(state.queryParams).then((res: any) => {
state.BoxHistoryList = res.data.list
state.total = res.data.total
})
// state.queryParams.version = 'WEB00032'
/*state.queryParams.version = 'WEB00034'
2025-03-10 13:48:17 +08:00
state.AllNumber = 0
state.UnitNumber = 0
await getQueryList(state.queryParams)
.then((res: any) => {
for (let i = 0; i < res.data.length; i++) {
let number = res.data[i].PACKINGNUMBER == null ? 0 : res.data[i].PACKINGNUMBER
let Qty = res.data[i].UNITNUMBER == null ? 0 : res.data[i].UNITNUMBER
state.AllNumber = state.AllNumber + parseFloat(number)
state.UnitNumber = state.UnitNumber + Qty
}
})*/
2025-05-19 17:57:46 +08:00
}
function exportExcel() {
state.queryParams.version = 'WEB00033'
getQueryList(state.queryParams).then((res: any) => {
if (res.data.length > 0) {
exportDataToExcel(res.data, '库存查询')
} else {
proxy.$ElMessage.warning('当前查询没有数据可以导出')
2025-03-10 13:48:17 +08:00
}
2025-05-19 17:57:46 +08:00
})
}
2025-03-10 13:48:17 +08:00
2025-05-19 17:57:46 +08:00
const getSummaries = (param: any) => {
const { columns, data } = param
const sums: (string | any)[] = []
columns.forEach((column: any, index: number) => {
if (index === 0) {
sums[index] = h('div', { style: { textDecoration: 'underline' } }, ['合计'])
return
2025-03-10 13:48:17 +08:00
}
2025-05-19 17:57:46 +08:00
console.log('column', column)
const values = data.map(
(item: any) => column.property == 'MATERIALQUANTITY' && Number(item[column.property])
)
console.log('values', values)
2025-03-10 13:48:17 +08:00
2025-05-19 17:57:46 +08:00
// if (!values.every((value: any) => (Number.isNaN(value)))) {
if (values.every((value: any) => Number.isNaN(value) || value)) {
sums[index] = `${values.reduce((prev: any, curr: any) => {
const value = Number(curr)
if (!Number.isNaN(value)) {
return prev + curr
2025-03-10 13:48:17 +08:00
} else {
2025-05-19 17:57:46 +08:00
return prev
2025-03-10 13:48:17 +08:00
}
2025-05-19 17:57:46 +08:00
}, 0)}`
} else {
sums[index] = ''
2025-03-10 13:48:17 +08:00
}
2025-05-19 17:57:46 +08:00
})
2025-03-10 13:48:17 +08:00
2025-05-19 17:57:46 +08:00
return sums
}
// //库位状态查询
// function StockStateListQuery() {
// getQueryList(state.queryParamsStockState)
// .then((res: any) => {
// state.StockStateList = res.data;
// state.StockStateList.unshift({
// ENUMVALUE: ''
// });
// })
// .catch(() => { });
// }
//ERP库位查询
function ERPLocationQuery() {
state.queryParamsERPLocation.params.ERPFACTORYNAME = state.queryParams.params.ERPFACTORY
getQueryList(state.queryParamsERPLocation)
.then((res: any) => {
state.ERPLocationList = res.data
// state.ERPLocationList.unshift({
// ENUMVALUE: ''
// });
})
.catch(() => {})
}
//ERP工厂查询
function ERPFactoryQuery() {
getORG({ orgNo: null })
.then((res: any) => {
state.ERPFactoryList = res.resultObj
state.ERPFactoryList.unshift({
ERPFACTORY: ''
})
})
.catch(() => {})
}
watch(value, (val: any) => {
if (val.length === 0) {
checkAll.value = false
indeterminate.value = false
} else if (val.length === state.ERPLocationList.value.length) {
checkAll.value = true
indeterminate.value = false
} else {
indeterminate.value = true
}
})
2025-03-10 13:48:17 +08:00
2025-05-19 17:57:46 +08:00
const handleCheckAll = (val: CheckboxValueType) => {
indeterminate.value = false
if (val) {
value.value = state.ERPLocationList.value.map((_: any) => _.value)
} else {
value.value = []
}
}
2025-03-10 13:48:17 +08:00
2025-05-19 17:57:46 +08:00
function convertArrayToString(numbers: any) {
// 使用map将每个数字转换成字符串并用单引号括起来
const quotedNumbers = numbers.map((number: any) => `'${number}'`)
// 使用join方法将转换后的字符串数组用逗号连接起来
const result = `(${quotedNumbers.join(',')})`
return result
}
function GetERPLocationForList(value: any) {
ERPLocationQuery()
}
function JudgeMentERPLocation(value: any) {
if (!areAllNotEmpty(state.queryParams.params.ERPFACTORY) || state.ChangeERPLocation.length == 0) {
proxy.$ElMessage.warning('当前还未选择组织或者仓库')
state.LocationList = []
state.ChangeLocation = []
return
}
}
function GetLocationListForSomeERPLocation(value: any) {
if (!areAllNotEmpty(state.queryParams.params.ERPFACTORY)) {
proxy.$ElMessage.warning('当前还未选择组织')
state.ChangeERPLocation = []
state.ERPLocationList = []
return
}
if (!areAllNotEmpty(state.ChangeERPLocation)) {
return
}
/*if (!value) {
2025-03-10 13:48:17 +08:00
let ERPLOCATIONList = state.ChangeERPLocation;
getQueryList({
queryId: "GetLocationListForSomeERPLocation",
version: "00001",
params: {
SITENAME: localStorage.get("siteName") || 'SDK',
ERPLOCATION: ERPLOCATIONList.length ? ERPLOCATIONList.join(','): ""
},
})
.then((res: any) => {
state.LocationList = res.data;
state.LocationList.unshift({
STORAGENAME: ''
});
})
.catch(() => { });
2025-04-16 13:10:47 +08:00
}*/
2025-05-19 17:57:46 +08:00
}
2025-03-10 13:48:17 +08:00
</script>
<!--style 区域-->
<style>
2025-05-19 17:57:46 +08:00
.col_height {
padding-top: 3.5px;
padding-bottom: 3.5px;
}
</style>