762 lines
34 KiB
Vue
762 lines
34 KiB
Vue
<!--在库查询-->
|
||
<!--页面渲染区域-->
|
||
<template>
|
||
<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">
|
||
<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> -->
|
||
<!-- <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> -->
|
||
|
||
<!-- <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"
|
||
@visible-change="JudgeMentERPLocation" filterable>
|
||
<template #header>
|
||
</template>
|
||
<el-option v-for="item in LocationList" :key="item.STORAGENAME" :label="item.DESCRIPTION"
|
||
: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.SALESPERSON">
|
||
<!-- <el-Input v-model="queryParams.params.SALESPERSON" 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> -->
|
||
<!-- <el-col :span="6">
|
||
<el-form-item label="是否审核" prop="IS_CHECK">
|
||
<el-select v-model="state.queryParams.params.IS_CHECK" placeholder="是否审核" style="width: 240px"
|
||
default-first-option>
|
||
<el-option v-for="item in state.TEMPList" :key="item.value" :label="item.label"
|
||
:value="item.value" />
|
||
</el-select>
|
||
</el-form-item>
|
||
</el-col> -->
|
||
</el-row>
|
||
</el-form>
|
||
<div class="page-search-btns" style="margin-bottom: 10px;">
|
||
<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>
|
||
</div>
|
||
<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%">
|
||
<!-- <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>
|
||
<el-table-column width="100" label="操作" align="center" class-name="table-operation" fixed="right">
|
||
<template #default="scope">
|
||
<el-popconfirm v-if="scope.row.IS_CHECK =='N'" title="确定要审核吗?" @confirm="handleCheck(scope.row)">
|
||
<template #reference>
|
||
<!-- @click.stop="handleUpdate(scope.row)" -->
|
||
<el-button type="primary" link v-if="!scope.row.status"> 审核
|
||
</el-button>
|
||
</template>
|
||
</el-popconfirm>
|
||
</template>
|
||
</el-table-column>
|
||
<!-- <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 />-->
|
||
<!-- </el-form-item>-->
|
||
<!-- </el-col>-->
|
||
<!-- </el-row>-->
|
||
<!-- <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="9">
|
||
<el-Input v-model="state.CAREER_ASSISTANCE" placeholder="业助" :rules="rules"/>
|
||
</el-col>
|
||
<el-col :span="9">
|
||
|
||
<el-Input v-model="state.COUSTOMNO" 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>
|
||
<!-- <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>
|
||
</template>
|
||
<script lang="ts">
|
||
export default {
|
||
name: "careerAssistanceCheck",
|
||
};
|
||
</script>
|
||
<!--script区域-->
|
||
<script lang="ts" setup>
|
||
/*引入区域*/
|
||
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,checkMaterialPack } from '@/api/label'
|
||
import { bTableHeight } from "../../../composables/calcTableHeight";
|
||
import { getORG } from '@/api/auth';
|
||
|
||
const { tableContainer, tableHeight, updateTableHeight, handleResize } = bTableHeight(310);
|
||
|
||
const { proxy }: any = getCurrentInstance();
|
||
const checkAll = ref(false)
|
||
const indeterminate = ref(false)
|
||
const value = ref<CheckboxValueType[]>([])
|
||
|
||
/*对象生成赋值区域*/
|
||
const materialTableConfig = ref({
|
||
loading: false,
|
||
column: [] as any,
|
||
data: [],
|
||
})
|
||
const queryFormRef = ref(ElForm);
|
||
const size = ref<'default' | 'large' | 'small'>('small');//formdata时间设置
|
||
const state = reactive({
|
||
loadings: false,
|
||
CAREER_ASSISTANCEDrawer : false,
|
||
updateSALESPERSON : {
|
||
CAREER_ASSISTANCE : '',
|
||
CHARGE : '',
|
||
} ,
|
||
boxDrawer :false,
|
||
PhaseList: [{ label: 'C', Value: 'C' }, { label: 'D', Value: 'D' }, { label: 'S', Value: 'S' }] as any,
|
||
ChangeERPLocation: [],
|
||
ChangeLocation: [],
|
||
AllNumber: 0,//标签总数量
|
||
UnitNumber: 0,//各单位数量
|
||
queryParams: {
|
||
queryId: "GetCareerAssistanceCheck",
|
||
version: "WEB00035",
|
||
params: {
|
||
IS_CHECK:'N',
|
||
SITENAME: localStorage.get("siteName") || 'SDK',
|
||
MATERIALSPECNAME: "",
|
||
STOCKSTATE: '',
|
||
ERPLOCATION: '',
|
||
ERPFACTORY: '',
|
||
UNDOID: '',
|
||
LOCATIONNAME: '',
|
||
PHASE: '',
|
||
CHARGE: '',
|
||
SPECNAME: '',
|
||
ERPLOCATIONNAME: '',
|
||
SALESPERSON: '',
|
||
DateValue: '',
|
||
FROMDATE: '',
|
||
TODATE: '',
|
||
CAREER_ASSISTANCE :'',
|
||
USERID: localStorage.get('userId')
|
||
},
|
||
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 : '',
|
||
TEMPList: [{ label: '全部', value: '' },{ label: '是', value: 'Y' }, { label: '否', value: 'N' }] as any,
|
||
formData: {
|
||
SITENAME: 'SDK',
|
||
MATERIALSPECNAME:"",
|
||
EXPIRATIONDAY_T: null,
|
||
IS_CON_TEMP_T: "",
|
||
} as any,
|
||
dialog: {
|
||
title: "业助审核",
|
||
type: 'add',
|
||
visible: false,
|
||
},
|
||
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"
|
||
// }
|
||
// ],
|
||
// }
|
||
});
|
||
|
||
|
||
const {
|
||
queryParams,
|
||
Column,
|
||
total,
|
||
rules,
|
||
loading,
|
||
BoxHistoryList,
|
||
operateParams,
|
||
StockStateList,
|
||
ERPFactoryList,
|
||
ERPLocationList,
|
||
LocationList,
|
||
dialog
|
||
} = 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]
|
||
},
|
||
},
|
||
{
|
||
text: '',
|
||
value: () => {
|
||
const end = new Date()
|
||
const start = new Date()
|
||
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
|
||
return [start, end]
|
||
},
|
||
},
|
||
]
|
||
/*钩子函数区域*/
|
||
onMounted(() => {
|
||
materialTableConfig.value.column = [
|
||
|
||
|
||
|
||
// { header: "组织", field: "ERPFACTORY", hide: false },
|
||
// { header: "组织(CN)", field: "ERPFACTORYDESC", 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: "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;
|
||
|
||
handleQuery();
|
||
ERPFactoryQuery();
|
||
// ERPLocationQuery();
|
||
|
||
updateTableHeight();
|
||
window.addEventListener('resize', handleResize);
|
||
});
|
||
|
||
function handleCheck(row: any) {
|
||
state.dialog = {
|
||
title: "物料信息维护",
|
||
visible: true,
|
||
type: 'edit'
|
||
};
|
||
// state.selectItem = row;
|
||
state.formData = {...row};
|
||
state.formData.IS_CHECK = "Y"
|
||
checkMaterialPack({...state.formData, user: localStorage.get('userId'),SITENAME: 'SDK'})
|
||
.then((res: any) => {
|
||
dialog.value.visible = false;
|
||
handleQuery();
|
||
}).then(() => proxy.$ElMessage.success('审核成功'))
|
||
.catch(() => { })
|
||
}
|
||
function queryInfo () {
|
||
state.queryParams.pageNum = 1
|
||
handleQuery();
|
||
}
|
||
const updateList = (col: any) => {
|
||
materialTableConfig.value.column = col
|
||
}
|
||
/*其它函数区域*/
|
||
|
||
const handleSelectionChange = (val: any) => {
|
||
state.multipleSelection = val;
|
||
|
||
};
|
||
|
||
|
||
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)) {
|
||
// 处理非中文输入的情况
|
||
|
||
state.CAREER_ASSISTANCEDrawer = true;
|
||
state.loadings = true
|
||
console.log('输入不是中文');
|
||
} else {
|
||
|
||
state.CAREER_ASSISTANCEDrawer = false;
|
||
state.loadings = false
|
||
// 处理中文输入的情况
|
||
console.log('输入是中文');
|
||
}
|
||
}
|
||
|
||
function modifiedRemark() {
|
||
if ( state.multipleSelection.length == 0) {
|
||
ElMessageBox.alert('列表为空', {
|
||
confirmButtonText: 'OK',
|
||
})
|
||
return
|
||
}
|
||
let boxLists = []
|
||
for (var i = 0 ; i < state.multipleSelection.length; ++ i) {
|
||
state.multipleSelection[i].key = {
|
||
SITENAME : "SDK",
|
||
MATERIALPACKINGNAME : state.multipleSelection[i]['MATERIALPACKINGNAME']
|
||
}
|
||
|
||
state.multipleSelection[i].CAREER_ASSISTANCE = state.CAREER_ASSISTANCE
|
||
state.multipleSelection[i].CUSTOMNO = state.COUSTOMNO
|
||
boxLists.push(state.multipleSelection[i])
|
||
|
||
}
|
||
let PRINT = {
|
||
SITENAME : "SDK",
|
||
boxList : boxLists,
|
||
USER : localStorage.get('userId'),
|
||
remark: state.CAREER_ASSISTANCE,
|
||
CUSTOMNO : state.COUSTOMNO
|
||
}
|
||
// console.log(PRINT)
|
||
// return;
|
||
updateCareerAssistance(PRINT).then((res: any) => {
|
||
console.log(res.success)
|
||
state.CAREER_ASSISTANCE = ''
|
||
state.COUSTOMNO = ''
|
||
if (res.success) {
|
||
// proxy.$ElMessage.success('备注更新成功');
|
||
ElMessageBox.alert('业助更新成功', '提醒框', {
|
||
confirmButtonText: 'OK',
|
||
})
|
||
handleQuery();
|
||
} else {
|
||
proxy.$ElMessage.error(res.message)
|
||
}
|
||
})
|
||
.catch(() => { });
|
||
}
|
||
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] + ','
|
||
}
|
||
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 = 'WEB00035'
|
||
await getQueryPageList(state.queryParams)
|
||
.then((res: any) => {
|
||
if (res.data.list.length > 0) {
|
||
state.BoxHistoryList = res.data.list
|
||
state.total = res.data.total
|
||
} else {
|
||
state.BoxHistoryList = res.data.list
|
||
proxy.$ElMessage.success('查询结果为空');
|
||
}
|
||
|
||
})
|
||
// state.queryParams.version = 'WEB00032'
|
||
state.queryParams.version = 'WEB00035'
|
||
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
|
||
}
|
||
|
||
})
|
||
}
|
||
function exportExcel() {
|
||
state.queryParams.version = 'WEB00033'
|
||
getQueryList(state.queryParams).then((res: any) => {
|
||
if (res.data.length > 0) {
|
||
exportDataToExcel(res.data, '库存查询')
|
||
} else {
|
||
proxy.$ElMessage.warning('当前查询没有数据可以导出');
|
||
}
|
||
});
|
||
}
|
||
|
||
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
|
||
}
|
||
console.log('column', column)
|
||
const values = data.map((item: any) => column.property == 'MATERIALQUANTITY' && Number(item[column.property]))
|
||
console.log('values', values)
|
||
|
||
// 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
|
||
} else {
|
||
return prev
|
||
}
|
||
}, 0)}`
|
||
} else {
|
||
sums[index] = ''
|
||
}
|
||
})
|
||
|
||
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
|
||
}
|
||
})
|
||
|
||
const handleCheckAll = (val: CheckboxValueType) => {
|
||
indeterminate.value = false
|
||
if (val) {
|
||
value.value = state.ERPLocationList.value.map((_: any) => _.value)
|
||
} else {
|
||
value.value = []
|
||
}
|
||
}
|
||
|
||
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) {
|
||
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(() => { });
|
||
}
|
||
|
||
}
|
||
</script>
|
||
<!--style 区域-->
|
||
<style>
|
||
.col_height {
|
||
padding-top: 3.5px;
|
||
padding-bottom: 3.5px;
|
||
}
|
||
</style> |