Browse Source

Merge remote-tracking branch 'origin/master_hella' into master_hella

master_hella_20240701
gaojs 6 months ago
parent
commit
d3972633dc
  1. 4
      .env.hella15
  2. 5
      src/api/eam/equipmentManufacturer/index.ts
  3. 5
      src/api/eam/equipmentSupplier/index.ts
  4. 6
      src/api/qms/inspectionJob/inspectionJobMain/index.ts
  5. 11
      src/api/wms/location/index.ts
  6. 2
      src/components/Annex/src/Annex.vue
  7. 5
      src/components/Descriptions/src/Descriptions.vue
  8. 4
      src/components/Detail/src/Detail.vue
  9. 5
      src/components/DictTag/src/DictTag.vue
  10. 5
      src/components/Remarks/src/Remarks.vue
  11. 2
      src/components/TableForm/src/TableForm.vue
  12. 3
      src/components/Tabs/src/Tabs.vue
  13. 15
      src/components/UploadFile/src/UploadFile.vue
  14. 24
      src/locales/en-US.ts
  15. 24
      src/locales/zh-CN.ts
  16. 3
      src/views/home/components/supplierIndex.vue
  17. 33
      src/views/mes/orderDay/components/schedule.vue
  18. 36
      src/views/mes/orderDay/index.vue
  19. 3
      src/views/mes/orderDay/orderDay.data.ts
  20. 23
      src/views/mes/workScheduling/components/qualifiedCheck.vue
  21. 13
      src/views/qms/inspectionJob/addForm.vue
  22. 24
      src/views/qms/inspectionJob/index.vue
  23. 1
      src/views/wms/deliversettlementManage/deliver/deliverRequestMain/deliverRequestMain.data.ts
  24. 3
      src/views/wms/deliversettlementManage/deliver/deliverRequestMain/index.vue
  25. 38
      src/views/wms/deliversettlementManage/saleShipmentMainRecord/index.vue
  26. 32
      src/views/wms/deliversettlementManage/saleShipmentMainRecord/saleShipmentMainRecord.data.ts
  27. 7
      src/views/wms/deliversettlementManage/saleShipmentMainRequest/index.vue
  28. 19
      src/views/wms/deliversettlementManage/saleShipmentMainRequest/saleShipmentMain.data.ts
  29. 5
      src/views/wms/inventoryjobManage/containermanage/containerMainRequest/containerMainRequest.data.ts
  30. 3
      src/views/wms/productionManage/productscrap/productscrapRecordMain/index.vue
  31. 2
      src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestMain/index.vue

4
.env.hella15

@ -4,10 +4,10 @@ NODE_ENV=production
VITE_DEV=false VITE_DEV=false
# 请求路径 # 请求路径
VITE_BASE_URL='https://172.21.32.15:55563/api' VITE_BASE_URL='https://scp.faway-hella.com/api'
# 上传路径 # 上传路径
VITE_UPLOAD_URL='https://172.21.32.15:55563/api/admin-api/infra/file/upload' VITE_UPLOAD_URL='https://scp.faway-hella.com/api/admin-api/infra/file/upload'
# 接口前缀 # 接口前缀
VITE_API_BASEPATH= VITE_API_BASEPATH=

5
src/api/eam/equipmentManufacturer/index.ts

@ -54,7 +54,12 @@ export const deleteEquipmentManufacturer = async (id: number) => {
// 导出设备制造商 Excel // 导出设备制造商 Excel
export const exportEquipmentManufacturer = async (params) => { export const exportEquipmentManufacturer = async (params) => {
if (params.isSearch) {
const data = { ...params }
return await request.downloadPost({ url: `/eam/basic/equipment-manufacturer/export-excel-senior`, data })
} else {
return await request.download({ url: `/eam/basic/equipment-manufacturer/export-excel`, params }) return await request.download({ url: `/eam/basic/equipment-manufacturer/export-excel`, params })
}
} }
// 下载用户导入模板 // 下载用户导入模板

5
src/api/eam/equipmentSupplier/index.ts

@ -54,7 +54,12 @@ export const deleteEquipmentSupplier = async (id: number) => {
// 导出供应商 Excel // 导出供应商 Excel
export const exportEquipmentSupplier = async (params) => { export const exportEquipmentSupplier = async (params) => {
if (params.isSearch) {
const data = { ...params }
return await request.downloadPost({ url: `/eam/basic/equipment-supplier/export-excel-senior`, data })
} else {
return await request.download({ url: `/eam/basic/equipment-supplier/export-excel`, params }) return await request.download({ url: `/eam/basic/equipment-supplier/export-excel`, params })
}
} }
// 下载用户导入模板 // 下载用户导入模板

6
src/api/qms/inspectionJob/inspectionJobMain/index.ts

@ -51,12 +51,14 @@ export const abandonInspectionJobMain = async (id) => {
export const closeInspectionJobMain = async (id) => { export const closeInspectionJobMain = async (id) => {
return await request.put({ url: `/qms/inspection-job-main/close?id=` + id }) return await request.put({ url: `/qms/inspection-job-main/close?id=` + id })
} }
// 发布检验任务
export const releaseInspectionJobMain = async (id) => {
return await request.put({ url: `/qms/inspection-job-main/release?id=` + id })
}
// 导出检验申请 Excel // 导出检验申请 Excel
export const exportInspectionJobMain = async (params) => { export const exportInspectionJobMain = async (params) => {
return await request.download({ url: `/qms/inspection-job-main/export-excel`, params }) return await request.download({ url: `/qms/inspection-job-main/export-excel`, params })
} }
// 下载用户导入模板 // 下载用户导入模板
export const importTemplate = () => { export const importTemplate = () => {
return request.download({ url: '/qms/inspection-job-main/get-import-template' }) return request.download({ url: '/qms/inspection-job-main/get-import-template' })

11
src/api/wms/location/index.ts

@ -95,3 +95,14 @@ export const selectPageItemAreaToLocation = async (params) => {
return request.get({ url: `/wms/location/pageItemAreaToLocation`, params }) return request.get({ url: `/wms/location/pageItemAreaToLocation`, params })
} }
} }
export const selectConfigToLocation = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/wms/location/pageConfigToLocationSenior', data })
} else {
return request.get({ url: `/wms/location/pageConfigToLocation`, params })
}
}

2
src/components/Annex/src/Annex.vue

@ -3,7 +3,7 @@
<div class="annex"> <div class="annex">
<div class="title flex items-center"> <div class="title flex items-center">
<!-- <div class="title-txt">附件</div> --> <!-- <div class="title-txt">附件</div> -->
<UploadFile :isShowFile="false" :isShowTip="false" :fileType="fileType" title="添加附件" :upData="upData" :limit="10" <UploadFile :isShowFile="false" :isShowTip="false" :fileType="fileType" :title="t('ts.添加附件')" :upData="upData" :limit="10"
@update:modelValue="handleAnnexSuccess" v-if="annexData.annexList.length<5"/> @update:modelValue="handleAnnexSuccess" v-if="annexData.annexList.length<5"/>
</div> </div>
<div class="list"> <div class="list">

5
src/components/Descriptions/src/Descriptions.vue

@ -5,6 +5,7 @@ import { useDesign } from '@/hooks/web/useDesign'
import { propTypes } from '@/utils/propTypes' import { propTypes } from '@/utils/propTypes'
import { useAppStore } from '@/store/modules/app' import { useAppStore } from '@/store/modules/app'
import { DescriptionsSchema } from '@/types/descriptions' import { DescriptionsSchema } from '@/types/descriptions'
const { t } = useI18n() //
defineOptions({ name: 'Descriptions' }) defineOptions({ name: 'Descriptions' })
@ -99,7 +100,7 @@ const showAll = () =>{
> >
<div :class="[`${prefixCls}-header__title`, 'relative font-18px font-bold ml-10px']"> <div :class="[`${prefixCls}-header__title`, 'relative font-18px font-bold ml-10px']">
<div class="flex items-center"> <div class="flex items-center">
{{ title }} {{ t(`ts.${title}`).replace('ts.', '') }}
<ElTooltip v-if="message" :content="message" placement="right"> <ElTooltip v-if="message" :content="message" placement="right">
<Icon class="ml-5px" icon="ep:warning" /> <Icon class="ml-5px" icon="ep:warning" />
</ElTooltip> </ElTooltip>
@ -133,7 +134,7 @@ const showAll = () =>{
:row="{ :row="{
label: item.label label: item.label
}" }"
>{{ item.label }} >{{ t(`ts.${item.label}`).replace('ts.', '') }}
</slot> </slot>
</template> </template>

4
src/components/Detail/src/Detail.vue

@ -2,14 +2,14 @@
<div> <div>
<el-drawer <el-drawer
v-model="isShowDrawer" v-model="isShowDrawer"
title="详情" :title="t(`ts.详情`).replace('ts.','')"
direction="rtl" direction="rtl"
size="80%" size="80%"
v-loading="detailLoading" v-loading="detailLoading"
> >
<template #header> <template #header>
<div class="font-size-18px"> <div class="font-size-18px">
{{ titleValueRef }} <span class="ml-20px font-size-16px">{{ titleNameRef }}</span> {{ titleValueRef }} <span class="ml-20px font-size-16px">{{ t(`ts.${titleNameRef}`).replace('ts.','') }}</span>
</div> </div>
</template> </template>
<Tabs ref="tabRef" :tabsList="tabsList" :current="current" @change="change" /> <Tabs ref="tabRef" :tabsList="tabsList" :current="current" @change="change" />

5
src/components/DictTag/src/DictTag.vue

@ -3,6 +3,7 @@ import { defineComponent, PropType, ref } from 'vue'
import { isHexColor } from '@/utils/color' import { isHexColor } from '@/utils/color'
import { ElTag } from 'element-plus' import { ElTag } from 'element-plus'
import { DictDataType, getDictOptions } from '@/utils/dict' import { DictDataType, getDictOptions } from '@/utils/dict'
const { t } = useI18n() //
export default defineComponent({ export default defineComponent({
name: 'DictTag', name: 'DictTag',
@ -55,7 +56,7 @@ export default defineComponent({
} }
disableTransitions={true} disableTransitions={true}
> >
{dictData.value?.label} {t(`ts.${dictData.value?.label}`).replace('ts.', '')}
</ElTag> </ElTag>
) )
} else { } else {
@ -71,7 +72,7 @@ export default defineComponent({
} }
disableTransitions={true} disableTransitions={true}
> >
{item?.label} {t(`ts.${item?.label}`).replace('ts.', '')}
</ElTag> </ElTag>
}) })
) )

5
src/components/Remarks/src/Remarks.vue

@ -20,9 +20,9 @@
</div> </div>
</div> </div>
<div class="add-remarks flex items-center mt-20px"> <div class="add-remarks flex items-center mt-20px">
<el-input v-model="data.remark" placeholder="请输入备注" /> <el-input v-model="data.remark" :placeholder="t('ts.请输入备注')" />
<el-button class="ml-16px" type="primary" @click="handleSubmitrRemarks" > <el-button class="ml-16px" type="primary" @click="handleSubmitrRemarks" >
确定 {{t('ts.确定')}}
</el-button> </el-button>
</div> </div>
</div> </div>
@ -32,6 +32,7 @@
const message = useMessage() // const message = useMessage() //
import * as RemarkApi from '@/api/wms/remark' import * as RemarkApi from '@/api/wms/remark'
import { formatDate } from '@/utils/formatTime' import { formatDate } from '@/utils/formatTime'
const { t } = useI18n() //
defineComponent({ defineComponent({
name: 'Annex' name: 'Annex'

2
src/components/TableForm/src/TableForm.vue

@ -303,7 +303,7 @@
<div class="button flex" v-if="isShowButton"> <div class="button flex" v-if="isShowButton">
<div class="p-12px" @click="handleAddTable"> <div class="p-12px" @click="handleAddTable">
<Icon icon="ep:circle-plus" color="#409eff" size="26" style="cursor: pointer;" /> <Icon icon="ep:circle-plus" color="#409eff" size="26" style="cursor: pointer;" />
<div>添加明细</div> <div>{{t('ts.添加明细')}}</div>
</div> </div>
</div> </div>
</div> </div>

3
src/components/Tabs/src/Tabs.vue

@ -1,7 +1,7 @@
<!-- tabs组件 --> <!-- tabs组件 -->
<template> <template>
<div class="tabs flex items-center"> <div class="tabs flex items-center">
<div :class="current == index ? 'active' : ''" v-for="(item, index) in tabsList" :key="index" @click="change(item, index)">{{ item.label }}</div> <div :class="current == index ? 'active' : ''" v-for="(item, index) in tabsList" :key="index" @click="change(item, index)">{{ t(`ts.${item.label}`).replace('ts.','') }}</div>
</div> </div>
</template> </template>
@ -9,6 +9,7 @@
// const message = useMessage() // // const message = useMessage() //
import { emit } from "process"; import { emit } from "process";
const { t } = useI18n() //
// const { t } = useI18n() // // const { t } = useI18n() //
defineComponent({ defineComponent({

15
src/components/UploadFile/src/UploadFile.vue

@ -42,6 +42,7 @@ import { PropType } from 'vue'
import { propTypes } from '@/utils/propTypes' import { propTypes } from '@/utils/propTypes'
import { getAccessToken, getTenantId } from '@/utils/auth' import { getAccessToken, getTenantId } from '@/utils/auth'
import type { UploadInstance, UploadUserFile, UploadProps, UploadRawFile } from 'element-plus' import type { UploadInstance, UploadUserFile, UploadProps, UploadRawFile } from 'element-plus'
const { t } = useI18n() //
defineOptions({ name: 'UploadFile' }) defineOptions({ name: 'UploadFile' })
@ -78,7 +79,7 @@ const uploadHeaders = ref({
// //
const beforeUpload: UploadProps['beforeUpload'] = (file: UploadRawFile) => { const beforeUpload: UploadProps['beforeUpload'] = (file: UploadRawFile) => {
if (fileList.value.length >= props.limit) { if (fileList.value.length >= props.limit) {
message.error(`上传文件数量不能超过${props.limit}!`) message.error(`${t('ts.上传文件数量不能超过')}${props.limit}!`)
return false return false
} }
let fileExtension = '' let fileExtension = ''
@ -91,14 +92,14 @@ const beforeUpload: UploadProps['beforeUpload'] = (file: UploadRawFile) => {
}) })
const isLimit = file.size < props.fileSize * 1024 * 1024 const isLimit = file.size < props.fileSize * 1024 * 1024
if (!isImg) { if (!isImg) {
message.error(`文件格式不正确, 请上传${props.fileType.join('/')}格式!`) message.error(`${t(`ts.${'文件格式不正确, 请上传'}`)}${props.fileType.join('/')}${t('ts.格式')}!`)
return false return false
} }
if (!isLimit) { if (!isLimit) {
message.error(`上传文件大小不能超过${props.fileSize}MB!`) message.error(`${t('ts.上传文件大小不能超过')}${props.fileSize}MB!`)
return false return false
} }
message.success('正在上传文件,请稍候...') message.success(t(`ts.${'正在上传文件,请稍候'}`))
uploadNumber.value++ uploadNumber.value++
} }
// //
@ -107,7 +108,7 @@ const beforeUpload: UploadProps['beforeUpload'] = (file: UploadRawFile) => {
// } // }
// //
const handleFileSuccess: UploadProps['onSuccess'] = (res: any,uploadFile: any): void => { const handleFileSuccess: UploadProps['onSuccess'] = (res: any,uploadFile: any): void => {
message.success('上传成功') message.success(t('ts.上传成功'))
const fileListNew = fileList.value const fileListNew = fileList.value
fileListNew.pop() fileListNew.pop()
fileList.value = fileListNew fileList.value = fileListNew
@ -121,11 +122,11 @@ const handleFileSuccess: UploadProps['onSuccess'] = (res: any,uploadFile: any):
} }
// //
const handleExceed: UploadProps['onExceed'] = (): void => { const handleExceed: UploadProps['onExceed'] = (): void => {
message.error(`上传文件数量不能超过${props.limit}!`) message.error(`${t('ts.上传文件数量不能过')}${props.limit}!`)
} }
// //
const excelUploadError: UploadProps['onError'] = (): void => { const excelUploadError: UploadProps['onError'] = (): void => {
message.error('导入数据失败,请您重新上传!') message.error(t(`ts.导入数据失败,请您重新上传`))
} }
// //
const handleRemove = (file) => { const handleRemove = (file) => {

24
src/locales/en-US.ts

@ -1063,6 +1063,30 @@ export default {
:'Purchasing price approver', :'Purchasing price approver',
:'Supplier\'s invoice number', :'Supplier\'s invoice number',
:'loading', :'loading',
:'Please enter remarks',
'正在上传文件,请稍候':'Please wait while uploading files',
:'upload successful',
:'The number of uploaded files cannot exceed',
'导入数据失败,请您重新上传':'Failed to import data, please upload again!',
:'The size of the uploaded file cannot exceed',
'文件格式不正确, 请上传':'The file format is incorrect. Please upload it in',
:'format',
:'consignee',
:'phone',
:'delivery date',
:'Platform code',
:'Deadline',
:'Warehouse code',
'ERP单据号(无用)':'ERP document number (useless)',
:'Supplier approver',
:'Supplier approval time',
:'courier number',
:'Invoicing calendar management',
:'description'
}, },

24
src/locales/zh-CN.ts

@ -1063,6 +1063,30 @@ export default {
:'采购价格审批人', :'采购价格审批人',
:'供应商发货单号', :'供应商发货单号',
:'加载中', :'加载中',
:'请输入备注',
'正在上传文件,请稍候':'正在上传文件,请稍候...',
:'上传成功',
:'上传文件数量不能超过',
'导入数据失败,请您重新上传':'导入数据失败,请您重新上传!',
:'上传文件大小不能超过',
'文件格式不正确, 请上传':'文件格式不正确, 请上传',
:'格式',
:'收货人',
:'联系电话',
:'送达日期',
:'月台代码',
:'截止日期',
:'仓库代码',
'ERP单据号(无用)':'ERP单据号(无用)',
:'供应商审批人',
:'供应商审批时间',
:'快递单号',
:'开票日历管理',
:'描述'
}, },

3
src/views/home/components/supplierIndex.vue

@ -231,7 +231,8 @@
import { set } from 'lodash-es' import { set } from 'lodash-es'
import { EChartsOption } from 'echarts' import { EChartsOption } from 'echarts'
import { lineOptions, pieOptions } from '../echarts-data' import { lineOptions, pieOptions } from '../echarts-data'
import { formatDate } from '@/utils/formatTime' import { formatDate,dateFormatter } from '@/utils/formatTime'
import * as NotifyMessageApi from '@/api/system/notify/message' import * as NotifyMessageApi from '@/api/system/notify/message'
import * as IndexApi from '@/api/home' import * as IndexApi from '@/api/home'
import { DICT_TYPE, getStrDictOptions } from '@/utils/dict' import { DICT_TYPE, getStrDictOptions } from '@/utils/dict'

33
src/views/mes/orderDay/components/schedule.vue

@ -201,7 +201,7 @@
</el-dialog> </el-dialog>
</ContentWrap> </ContentWrap>
<template #footer> <template #footer>
<el-button @click="handleClose" >关闭</el-button> <el-button @click="handleClose('dddddd')" >关闭</el-button>
<el-button type="primary" @click="publishPlan" >发布计划</el-button> <el-button type="primary" @click="publishPlan" >发布计划</el-button>
</template> </template>
<SearchTable ref="searchTableRef" @search-table-success="searchTableSuccess" /> <SearchTable ref="searchTableRef" @search-table-success="searchTableSuccess" />
@ -471,18 +471,21 @@ const opensearchTable = (
) )
} }
const handleClose=()=>{ const handleClose=(val)=>{
dialogVisible.value = false, dialogVisible.value = false
emit('close') emit('close',val)
} }
const publishPlan=()=>{ const publishPlan=()=>{
message.confirm("确认发布当前计划?","question").then(async () => { message.confirm("确认发布当前计划?","提示").then( () => {
//isPublish.value=true //isPublish.value=true
//loading.value = true, //loading.value = true,
try{formLoading.value=true try{
doPublishPlan() }finally{ formLoading.value=true
let promise = doPublishPlan();
handleClose(promise)
}finally{
formLoading.value=false; formLoading.value=false;
handleClose()
} }
}).catch(() => { }).catch(() => {
@ -517,12 +520,14 @@ const doPublishPlan= ()=>{
let res = OrderDayApi.publishPlan(data) let res = OrderDayApi.publishPlan(data)
res.then(()=>{ return res
message.success("计划发布成功")
}).catch(()=>{ // res.then(()=>{
//console.log("---doPublishPlan-- 458--",res.msg) // message.success("")
message.error("计划发布失败!") // }).catch(()=>{
}) // //console.log("---doPublishPlan-- 458--",res.msg)
// message.error("")
// })
} }

36
src/views/mes/orderDay/index.vue

@ -199,9 +199,11 @@ const buttonBaseClick = (val, item) => {
console.log('其他按钮', item) console.log('其他按钮', item)
} }
} }
const publishClosed=()=>{ const publishClosed=(val)=>{
//console.log('orderday-publishClosed-200') console.log('orderday-publishClosed-200',val)
nextTick?.(()=>{
getList() getList()
})
} }
// //
@ -270,23 +272,22 @@ const openForm = (type: string, row?: any) => {
const formsSuccess = async (formType,data) => { const formsSuccess = async (formType,data) => {
if (formType === 'create') { if (formType === 'create') {
let ret= OrderDayApi.createOrderDay(data) await OrderDayApi.createOrderDay(data)
if(ret===undefined || ret===null){ // if(ret===undefined || ret===null){
message.error(t('common.networkError')) // message.error(t('common.networkError'))
}else{ // }else{
message.success(t('common.createSuccess')) // message.success(t('common.createSuccess'))
} // }
} else { } else {
let ret= OrderDayApi.updateOrderDay(data) await OrderDayApi.updateOrderDay(data)
if(ret.code==0){ // if(ret.code==0){
message.success(t('common.updateSuccess')) // message.success(t('common.updateSuccess'))
}else{ // }else{
message.error(t('common.networkError')) // message.error(t('common.networkError'))
} // }
} }
basicFormRef.value.dialogVisible = false basicFormRef.value.dialogVisible = false
await getList() await getList()
} }
@ -336,8 +337,9 @@ const handleExport = async () => {
exportLoading.value = false exportLoading.value = false
} }
} }
const stopPlan = (id) => { const stopPlan = async (id) => {
OrderDayApi.stopPlan(id) await OrderDayApi.stopPlan(id)
getList()
} }
/** 导入 */ /** 导入 */

3
src/views/mes/orderDay/orderDay.data.ts

@ -49,6 +49,7 @@ export const OrderDay = useCrudSchemas(reactive<CrudSchema[]>([
field: 'id', field: 'id',
sort: 'custom', sort: 'custom',
isForm: false, isForm: false,
isTable: false,
width: '60px', width: '60px',
}, },
{ {
@ -365,7 +366,7 @@ export const OrderDay = useCrudSchemas(reactive<CrudSchema[]>([
field: 'remark', field: 'remark',
sort: 'custom', sort: 'custom',
isSearch: false, isSearch: false,
isTable:false, // isTable:false,
}, },
{ {
label: '操作', label: '操作',

23
src/views/mes/workScheduling/components/qualifiedCheck.vue

@ -11,21 +11,21 @@
<el-form-item label="工序"> <el-form-item label="工序">
<el-input v-model="form.processCode" disabled /> <el-input v-model="form.processCode" disabled />
</el-form-item> </el-form-item>
<el-form-item label="生产人员"> <el-form-item label="生产人员" required="true">
<el-select v-model="form.personSelected" multiple> <el-select v-model="form.personSelected" multiple>
<el-option v-for="item in personOption" :key="item.workerCode" :label="item.workerName" :value="item.workerCode" /> <el-option v-for="item in personOption" :key="item.workerCode" :label="item.workerName" :value="item.workerCode" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="质检人员"> <el-form-item label="质检人员" required="true" >
<el-input v-model="form.checkPerson" /> <el-input v-model="form.checkPerson"/>
</el-form-item> </el-form-item>
<el-form-item label="合格数量" @change="handleCount" :key="qcount"> <el-form-item label="合格数量" @change="handleCount" :key="qcount" required="true">
<el-input-number <el-input-number
v-model="form.qualified" v-model="form.qualified"
@change="handleCount" @change="handleCount"
></el-input-number> ></el-input-number>
</el-form-item> </el-form-item>
<el-form-item label="不合格数量"> <el-form-item label="不合格数量" >
<el-input-number v-model="form.unqualified" @change="handleCount" :key="qcount"></el-input-number> <el-input-number v-model="form.unqualified" @change="handleCount" :key="qcount"></el-input-number>
</el-form-item> </el-form-item>
<el-form-item label="不合格原因"> <el-form-item label="不合格原因">
@ -107,7 +107,18 @@ const handleCount = () => {
} }
// //
const saveReport = async() => { const saveReport = async() => {
if(form.personSelected.length<1){
message.alert('生产人员不能为空')
return
}
if(form.checkPerson==''||form.checkPerson.trim()==''){
message.alert('质检人员不能为空')
return
}
if(form.qualified<1){
message.alert('合格数量不能小于1!')
return
}
saveFlag.value = true saveFlag.value = true
try { try {
await workschedulingApi.processQualified(form) await workschedulingApi.processQualified(form)

13
src/views/qms/inspectionJob/addForm.vue

@ -369,7 +369,7 @@
// //
allSamplePieceSize.value += parseFloat((parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.sampleQty) * parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.samplePieceSize)).toFixed(2)) allSamplePieceSize.value += parseFloat((parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.sampleQty) * parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.samplePieceSize)).toFixed(2))
// rules.value['inspectionJobCharacteristicsUpdateReqVO.quantifyCapping'][0].required = true // rules.value['inspectionJobCharacteristicsUpdateReqVO.quantifyCapping'][0].required = true
if(!item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList){ if (!item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList) {
// //
if (item.inspectionJobCharacteristicsUpdateReqVO.resultEntryMethod == 0) { if (item.inspectionJobCharacteristicsUpdateReqVO.resultEntryMethod == 0) {
// rules.value['inspectionJobCharacteristicsUpdateReqVO.quantifyCapping'][0].required = true // rules.value['inspectionJobCharacteristicsUpdateReqVO.quantifyCapping'][0].required = true
@ -427,7 +427,7 @@
*/ */
for (let i = 0; i < data.value.packageList.length; i++) { for (let i = 0; i < data.value.packageList.length; i++) {
if(data.value.packageList[i].sampleAmount==null){ if (data.value.packageList[i].sampleAmount == null) {
if (allSamplePieceSize.value > data.value.packageList[i].amount) { if (allSamplePieceSize.value > data.value.packageList[i].amount) {
data.value.packageList[i].sampleAmount = data.value.packageList[i].amount data.value.packageList[i].sampleAmount = data.value.packageList[i].amount
allSamplePieceSize.value = parseFloat((allSamplePieceSize.value - data.value.packageList[i].amount).toFixed(2)) allSamplePieceSize.value = parseFloat((allSamplePieceSize.value - data.value.packageList[i].amount).toFixed(2))
@ -604,14 +604,11 @@
let numberList = []// let numberList = []//
let parseFloatList = []// let parseFloatList = []//
data.value.subList.forEach((item, index) => { data.value.subList.forEach((item, index) => {
console.log("woxianlai")
console.log(item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList)
if (item.inspectionJobCharacteristicsUpdateReqVO.resultEntryMethod == 1) { if (item.inspectionJobCharacteristicsUpdateReqVO.resultEntryMethod == 1) {
arrBol.push( arrBol.push(
item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList.some( item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList.some(
(cur, key) => { (cur, key) => {
return cur.qualifiedQuantity==='' || cur.unqualifiedQuantity==='' return cur.qualifiedQuantity === '' || cur.unqualifiedQuantity === ''
} }
) )
) )
@ -657,8 +654,6 @@
) )
} }
}) })
console.log("wolaile")
console.log(arrBol)
let isEmpty1 = arrBol.some(item => item == true) let isEmpty1 = arrBol.some(item => item == true)
let isEmptyNumberList = numberList.some(item => item == true) let isEmptyNumberList = numberList.some(item => item == true)
let isParseFloat = parseFloatList.some(item => item == true) let isParseFloat = parseFloatList.some(item => item == true)
@ -732,7 +727,7 @@
arrBol.push( arrBol.push(
item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList.some( item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList.some(
(cur, key) => { (cur, key) => {
return !cur.qualifiedQuantity || !cur.unqualifiedQuantity return cur.qualifiedQuantity === '' || cur.unqualifiedQuantity === ''
} }
) )
) )

24
src/views/qms/inspectionJob/index.vue

@ -160,6 +160,15 @@
} }
} }
//
const isShowMainButton2 = (row, val) => {
if (val.indexOf(row.isStaging) > -1) {
return false
} else {
return true
}
}
// - // -
const butttondata = (row) => { const butttondata = (row) => {
return [ return [
@ -167,6 +176,7 @@
defaultButtons.mainListJobCloBtn({hide:isShowMainButton(row,['1']),hasPermi:'qms:inspection-job-main:close'}), // defaultButtons.mainListJobCloBtn({hide:isShowMainButton(row,['1']),hasPermi:'qms:inspection-job-main:close'}), //
defaultButtons.mainListJobAbaBtn({hide:isShowMainButton(row,['2']),hasPermi:'qms:inspection-job-main:abandon'}), // defaultButtons.mainListJobAbaBtn({hide:isShowMainButton(row,['2']),hasPermi:'qms:inspection-job-main:abandon'}), //
defaultButtons.mainListJobExeBtn({hide:isShowMainButton(row,['2']),hasPermi:'qms:inspection-job-main:execute'}), // defaultButtons.mainListJobExeBtn({hide:isShowMainButton(row,['2']),hasPermi:'qms:inspection-job-main:execute'}), //
defaultButtons.mainListOrderPubBtn({hide:isShowMainButton2(row,['TRUE']),hasPermi:'qms:inspection-job-main:execute'}), //
defaultButtons.mainListPackageBtn(null), // defaultButtons.mainListPackageBtn(null), //
] ]
} }
@ -185,6 +195,8 @@ const list = ref([])
handleAbandon(row.id) handleAbandon(row.id)
} else if (val == 'mainJobClo') { // } else if (val == 'mainJobClo') { //
handleClose(row.id) handleClose(row.id)
} else if (val == 'mainOrderPub') { //
handleRelease(row.id)
} else if (val == 'mainJobAcc') { // } else if (val == 'mainJobAcc') { //
handleAccept(row.id) handleAccept(row.id)
} }
@ -220,6 +232,18 @@ const list = ref([])
await getList() await getList()
} catch { } } catch { }
} }
/** 发布按钮操作 */
const handleRelease = async (id : number) => {
try {
//
await message.confirm('确认发布吗?')
//
await InspectionJobMainApi.releaseInspectionJobMain(id)
message.success('发布成功!')
//
await getList()
} catch { }
}
// //
const handleAccept = async (id : number) => { const handleAccept = async (id : number) => {
try { try {

1
src/views/wms/deliversettlementManage/deliver/deliverRequestMain/deliverRequestMain.data.ts

@ -786,7 +786,6 @@ export const DeliverRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
field: 'uom', field: 'uom',
dictType: DICT_TYPE.UOM, dictType: DICT_TYPE.UOM,
dictClass: 'string', dictClass: 'string',
isTable: true,
sort: 'custom', sort: 'custom',
table: { table: {
width: 150 width: 150

3
src/views/wms/deliversettlementManage/deliver/deliverRequestMain/index.vue

@ -567,9 +567,6 @@ const resetShow = async () => {
item.tableForm.isInpuFocusShow = true item.tableForm.isInpuFocusShow = true
item.tableForm.disabled = false item.tableForm.disabled = false
} }
if(item.field == 'uom') {
item.tableForm.disabled = false
}
if(item.field == 'available') { if(item.field == 'available') {
item.tableForm.disabled = false item.tableForm.disabled = false
} }

38
src/views/wms/deliversettlementManage/saleShipmentMainRecord/index.vue

@ -1,7 +1,7 @@
<template> <template>
<ContentWrap> <ContentWrap>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<Search :schema="SaleShipmentMainRecord.allSchemas.searchSchema" @search="setSearchParams" @reset="setSearchParams" /> <Search :schema="[...SaleShipmentMainRecord.allSchemas.searchSchema,...SaleShipmentDetailRecord.allSchemas.searchSchema]" @search="setSearchParams" @reset="setSearchParams" />
</ContentWrap> </ContentWrap>
<!-- 列表头部 --> <!-- 列表头部 -->
@ -12,11 +12,12 @@
@updataTableColumns="updataTableColumns" @updataTableColumns="updataTableColumns"
@searchFormClick="searchFormClick" @searchFormClick="searchFormClick"
:allSchemas="SaleShipmentMainRecord.allSchemas" :allSchemas="SaleShipmentMainRecord.allSchemas"
:detailAllSchemas="SaleShipmentDetailRecord.allSchemas"
/> />
<!-- 列表 --> <!-- 列表 -->
<ContentWrap> <ContentWrap>
<Table <Table v-clientTable
:columns="tableColumns" :columns="tableColumns"
:data="tableObject.tableList" :data="tableObject.tableList"
:loading="tableObject.loading" :loading="tableObject.loading"
@ -27,9 +28,9 @@
v-model:currentPage="tableObject.currentPage" v-model:currentPage="tableObject.currentPage"
v-model:sort="tableObject.sort" v-model:sort="tableObject.sort"
> >
<template #code="{row}"> <template #number="{row}">
<el-button type="primary" link @click="openDetail(row, '代码', row.code)"> <el-button type="primary" link @click="openDetail(row, '单据号', row.number)">
<span>{{ row.code }}</span> <span>{{ row.number }}</span>
</el-button> </el-button>
</template> </template>
<template #action="{ row }"> <template #action="{ row }">
@ -51,18 +52,25 @@
/> />
<!-- 详情 --> <!-- 详情 -->
<Detail ref="detailRef" :isBasic="true" :allSchemas="SaleShipmentMainRecord.allSchemas" /> <Detail
ref="detailRef"
:isBasic="true"
:allSchemas="SaleShipmentMainRecord.allSchemas"
:detailAllSchemas="SaleShipmentDetailRecord.allSchemas"
:detailAllSchemasRules="SaleShipmentDetailRecordRules"
:apiPage="SaleShipmentDetailRecordApi.getSaleShipmentDetailRecordPage"
/>
<!-- 导入 --> <!-- 导入 -->
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import download from '@/utils/download' import download from '@/utils/download'
import { SaleShipmentMainRecord,SaleShipmentMainRecordRules } from './saleShipmentMainRecord.data' import { SaleShipmentMainRecord,SaleShipmentMainRecordRules,SaleShipmentDetailRecord,SaleShipmentDetailRecordRules } from './saleShipmentMainRecord.data'
import * as SaleShipmentMainRecordApi from '@/api/wms/saleShipmentMainRecord' import * as SaleShipmentMainRecordApi from '@/api/wms/saleShipmentMainRecord'
import * as SaleShipmentDetailRecordApi from '@/api/wms/saleShipmentDetailRecord'
import * as defaultButtons from '@/utils/disposition/defaultButtons' import * as defaultButtons from '@/utils/disposition/defaultButtons'
import TableHead from '@/components/TableHead/src/TableHead.vue' import TableHead from '@/components/TableHead/src/TableHead.vue'
import ImportForm from '@/components/ImportForm/src/ImportForm.vue'
import Detail from '@/components/Detail/src/Detail.vue' import Detail from '@/components/Detail/src/Detail.vue'
defineOptions({ name: 'SaleShipmentMainRecord' }) defineOptions({ name: 'SaleShipmentMainRecord' })
@ -73,8 +81,8 @@ const { t } = useI18n() // 国际化
const route = useRoute() // const route = useRoute() //
const routeName = ref() const routeName = ref()
routeName.value = route.name routeName.value = route.name
const tableColumns = ref(SaleShipmentMainRecord.allSchemas.tableColumns) const tableColumns = ref([SaleShipmentMainRecord.allSchemas.tableColumns,...SaleShipmentDetailRecord.allSchemas.tableMainColumns])
// const tableColumns = ref(SaleShipmentMainRecord.allSchemas.tableColumns)
// //
const searchTableSuccess = (formField, searchField, val, formRef) => { const searchTableSuccess = (formField, searchField, val, formRef) => {
nextTick(() => { nextTick(() => {
@ -98,8 +106,8 @@ const { getList, setSearchParams } = tableMethods
// //
const HeadButttondata = [ const HeadButttondata = [
defaultButtons.defaultAddBtn({hasPermi:'wms:saleShipmentMainRecord:create'}), // // defaultButtons.defaultAddBtn({hasPermi:'wms:sale-shipment-main-record:create'}), //
defaultButtons.defaultExportBtn({hasPermi:'wms:saleShipmentMainRecord:export'}), // defaultButtons.defaultExportBtn({hasPermi:'wms:sale-shipment-main-record:export'}), //
defaultButtons.defaultFreshBtn(null), // defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), // defaultButtons.defaultFilterBtn(null), //
defaultButtons.defaultSetBtn(null), // defaultButtons.defaultSetBtn(null), //
@ -129,8 +137,8 @@ const buttonBaseClick = (val, item) => {
// - // -
const butttondata = [ const butttondata = [
defaultButtons.mainListEditBtn({hasPermi:'wms:saleShipmentMainRecord:update'}), // // defaultButtons.mainListEditBtn({hasPermi:'wms:sale-shipment-main-record:update'}), //
defaultButtons.mainListDeleteBtn({hasPermi:'wms:saleShipmentMainRecord:delete'}), // // defaultButtons.mainListDeleteBtn({hasPermi:'wms:sale-shipment-main-record:delete'}), //
] ]
// - // -
@ -189,7 +197,7 @@ const handleExport = async () => {
// //
exportLoading.value = true exportLoading.value = true
const data = await SaleShipmentMainRecordApi.exportSaleShipmentMainRecord(tableObject.params) const data = await SaleShipmentMainRecordApi.exportSaleShipmentMainRecord(tableObject.params)
download.excel(data, '销售发运记录.xlsx') download.excel(data, '销售发运记录.xlsx')
} catch { } catch {
} finally { } finally {
exportLoading.value = false exportLoading.value = false

32
src/views/wms/deliversettlementManage/saleShipmentMainRecord/saleShipmentMainRecord.data.ts

@ -22,14 +22,12 @@ export const SaleShipmentMainRecord = useCrudSchemas(reactive<CrudSchema[]>([
label: '客户代码', label: '客户代码',
field: 'customerCode', field: 'customerCode',
sort: 'custom', sort: 'custom',
isSearch: true,
}, },
{ {
label: '发票时间', label: '发票时间',
field: 'invoiceTime', field: 'invoiceTime',
sort: 'custom', sort: 'custom',
formatter: dateFormatter, formatter: dateFormatter,
isSearch: true,
search: { search: {
component: 'DatePicker', component: 'DatePicker',
componentProps: { componentProps: {
@ -51,7 +49,6 @@ export const SaleShipmentMainRecord = useCrudSchemas(reactive<CrudSchema[]>([
field: 'executeTime', field: 'executeTime',
sort: 'custom', sort: 'custom',
formatter: dateFormatter, formatter: dateFormatter,
isSearch: true,
search: { search: {
component: 'DatePicker', component: 'DatePicker',
componentProps: { componentProps: {
@ -72,27 +69,25 @@ export const SaleShipmentMainRecord = useCrudSchemas(reactive<CrudSchema[]>([
label: '是否可用', label: '是否可用',
field: 'available', field: 'available',
sort: 'custom', sort: 'custom',
isSearch: true, isTable:false
}, },
{ {
label: '部门', label: '部门',
field: 'departmentCode', field: 'departmentCode',
sort: 'custom', sort: 'custom',
isSearch: true,
}, },
{ {
label: '业务类型', label: '业务类型',
field: 'businessType', field: 'businessType',
sort: 'custom', sort: 'custom',
isSearch: true,
}, },
{ {
label: '创建时间', label: '创建时间',
field: 'createTime', field: 'createTime',
sort: 'custom', sort: 'custom',
formatter: dateFormatter, formatter: dateFormatter,
isSearch: true,
search: { search: {
component: 'DatePicker', component: 'DatePicker',
componentProps: { componentProps: {
@ -102,12 +97,13 @@ export const SaleShipmentMainRecord = useCrudSchemas(reactive<CrudSchema[]>([
} }
}, },
isForm: false, isForm: false,
isTable:false
}, },
{ {
label: '地点ID', label: '地点ID',
field: 'siteId', field: 'siteId',
sort: 'custom', sort: 'custom',
isSearch: true, isTable:false
}, },
{ {
label: '操作', label: '操作',
@ -129,43 +125,36 @@ export const SaleShipmentDetailRecord = useCrudSchemas(reactive<CrudSchema[]>([
label: '单据号', label: '单据号',
field: 'number', field: 'number',
sort: 'custom', sort: 'custom',
isSearch: true,
}, },
{ {
label: '销售订单号', label: '销售订单号',
field: 'soNumber', field: 'soNumber',
sort: 'custom', sort: 'custom',
isSearch: true,
}, },
{ {
label: '销售订单行', label: '销售订单行',
field: 'soLine', field: 'soLine',
sort: 'custom', sort: 'custom',
isSearch: true,
}, },
{ {
label: '从货主代码', label: '从货主代码',
field: 'fromOwnerCode', field: 'fromOwnerCode',
sort: 'custom', sort: 'custom',
isSearch: true,
}, },
{ {
label: '包装号', label: '包装号',
field: 'packingNumber', field: 'packingNumber',
sort: 'custom', sort: 'custom',
isSearch: true,
}, },
{ {
label: '批次', label: '批次',
field: 'batch', field: 'batch',
sort: 'custom', sort: 'custom',
isSearch: true,
}, },
{ {
label: '库存状态', label: '库存状态',
field: 'inventoryStatus', field: 'inventoryStatus',
sort: 'custom', sort: 'custom',
isSearch: true,
form: { form: {
component: 'Radio' component: 'Radio'
}, },
@ -174,13 +163,11 @@ export const SaleShipmentDetailRecord = useCrudSchemas(reactive<CrudSchema[]>([
label: '从库位代码', label: '从库位代码',
field: 'fromLocationCode', field: 'fromLocationCode',
sort: 'custom', sort: 'custom',
isSearch: true,
}, },
{ {
label: '主表ID', label: '主表ID',
field: 'masterId', field: 'masterId',
sort: 'custom', sort: 'custom',
isSearch: true,
form: { form: {
component: 'InputNumber', component: 'InputNumber',
value: 0 value: 0
@ -190,56 +177,47 @@ export const SaleShipmentDetailRecord = useCrudSchemas(reactive<CrudSchema[]>([
label: '物品代码', label: '物品代码',
field: 'itemCode', field: 'itemCode',
sort: 'custom', sort: 'custom',
isSearch: true,
}, },
{ {
label: '物品名称', label: '物品名称',
field: 'itemName', field: 'itemName',
sort: 'custom', sort: 'custom',
isSearch: true,
}, },
{ {
label: '物品描述1', label: '物品描述1',
field: 'itemDesc1', field: 'itemDesc1',
sort: 'custom', sort: 'custom',
isSearch: true,
}, },
{ {
label: '物品描述2', label: '物品描述2',
field: 'itemDesc2', field: 'itemDesc2',
sort: 'custom', sort: 'custom',
isSearch: true,
}, },
{ {
label: '项目代码', label: '项目代码',
field: 'projectCode', field: 'projectCode',
sort: 'custom', sort: 'custom',
isSearch: true,
}, },
{ {
label: '数量', label: '数量',
field: 'qty', field: 'qty',
sort: 'custom', sort: 'custom',
isSearch: true,
}, },
{ {
label: '计量单位', label: '计量单位',
field: 'uom', field: 'uom',
sort: 'custom', sort: 'custom',
isSearch: true,
}, },
{ {
label: '备注', label: '备注',
field: 'remark', field: 'remark',
sort: 'custom', sort: 'custom',
isSearch: true,
}, },
{ {
label: '创建时间', label: '创建时间',
field: 'createTime', field: 'createTime',
sort: 'custom', sort: 'custom',
formatter: dateFormatter, formatter: dateFormatter,
isSearch: true,
search: { search: {
component: 'DatePicker', component: 'DatePicker',
componentProps: { componentProps: {
@ -254,13 +232,11 @@ export const SaleShipmentDetailRecord = useCrudSchemas(reactive<CrudSchema[]>([
label: '并发乐观锁', label: '并发乐观锁',
field: 'concurrencyStamp', field: 'concurrencyStamp',
sort: 'custom', sort: 'custom',
isSearch: true,
}, },
{ {
label: '地点ID', label: '地点ID',
field: 'siteId', field: 'siteId',
sort: 'custom', sort: 'custom',
isSearch: true,
form: { form: {
component: 'InputNumber', component: 'InputNumber',
value: 0 value: 0

7
src/views/wms/deliversettlementManage/saleShipmentMainRequest/index.vue

@ -108,13 +108,18 @@ const trueFalse = ref(false)
const searchTableSuccess = (formField, searchField, val, formRef, type, row ) => { const searchTableSuccess = (formField, searchField, val, formRef, type, row ) => {
nextTick(() => { nextTick(() => {
if (type == 'tableForm') { if (type == 'tableForm') {
if(formField == 'soLine') {
row['soLine'] = val[0]['lineNumber'] row['soLine'] = val[0]['lineNumber']
row['soNumber'] = val[0]['number'] row['soNumber'] = val[0]['number']
row['itemCode'] = val[0]['itemCode'] row['itemCode'] = val[0]['itemCode']
row['projectCode'] = val[0]['projectCode'] row['projectCode'] = val[0]['projectCode']
row['uom'] = val[0]['uom'] row['uom'] = val[0]['uom']
}else if(formField == 'fromLocationCode'){
row['fromLocationCode'] = val[0]['code']
}
}else { }else {
const setV = {} const setV = {}
setV[formField] = val[0][searchField]
if(formField == 'CustomerCode') { if(formField == 'CustomerCode') {
setV['CustomerCode'] = val[0]['CustomerCode'] setV['CustomerCode'] = val[0]['CustomerCode']
} else { } else {
@ -214,7 +219,7 @@ const butttondata = (row,$index) => {
} }
return [ return [
defaultButtons.mainListEditBtn({hide:isShowMainButton(row,['1']),hasPermi:'wms:sale-shipment-main-request:update'}), // defaultButtons.mainListEditBtn({hide:isShowMainButton(row,['1']),hasPermi:'wms:sale-shipment-main-request:update'}), //
defaultButtons.mainListCloseBtn({hide:isShowMainButton(row,['1','2','3','4']),hasPermi:'wms:sale-shipment-main-request:close'}), // defaultButtons.mainListCloseBtn({hide:isShowMainButton(row,['2','3','4']),hasPermi:'wms:sale-shipment-main-request:close'}), //
defaultButtons.mainListReAddBtn({hide:isShowMainButton(row,['4','5']),hasPermi:'wms:sale-shipment-main-request:reAdd'}), // defaultButtons.mainListReAddBtn({hide:isShowMainButton(row,['4','5']),hasPermi:'wms:sale-shipment-main-request:reAdd'}), //
defaultButtons.mainListSubmitBtn({hide:isShowMainButton(row,['1']),hasPermi:'wms:sale-shipment-main-request:submit'}), // defaultButtons.mainListSubmitBtn({hide:isShowMainButton(row,['1']),hasPermi:'wms:sale-shipment-main-request:submit'}), //
defaultButtons.mainListTurnDownBtn({hide:isShowMainButton(row,['2']),hasPermi:'wms:sale-shipment-main-request:refused'}), // defaultButtons.mainListTurnDownBtn({hide:isShowMainButton(row,['2']),hasPermi:'wms:sale-shipment-main-request:refused'}), //

19
src/views/wms/deliversettlementManage/saleShipmentMainRequest/saleShipmentMain.data.ts

@ -53,7 +53,6 @@ export const SaleShipmentMain = useCrudSchemas(reactive<CrudSchema[]>([
label: '客户代码', label: '客户代码',
field: 'customerCode', field: 'customerCode',
sort: 'custom', sort: 'custom',
isSearch: true,
table: { table: {
width: 150 width: 150
}, },
@ -79,7 +78,6 @@ export const SaleShipmentMain = useCrudSchemas(reactive<CrudSchema[]>([
label: '发票时间', label: '发票时间',
field: 'invoiceTime', field: 'invoiceTime',
sort: 'custom', sort: 'custom',
isSearch: true,
table: { table: {
width: 180 width: 180
}, },
@ -249,6 +247,15 @@ export const SaleShipmentMain = useCrudSchemas(reactive<CrudSchema[]>([
// 表单校验 // 表单校验
export const SaleShipmentDetailRules = reactive({ export const SaleShipmentDetailRules = reactive({
soLine: [
{ required: true, message: '请选择订单行', trigger: 'blur' }
],
fromLocationCode: [
{ required: true, message: '请输选择客户库位', trigger: 'blur' }
],
qty: [
{ required: true, message: '请输入开票数量', trigger: 'blur' }
],
}) })
export const SaleShipmentDetail = useCrudSchemas(reactive<CrudSchema[]>([ export const SaleShipmentDetail = useCrudSchemas(reactive<CrudSchema[]>([
@ -256,7 +263,6 @@ export const SaleShipmentDetail = useCrudSchemas(reactive<CrudSchema[]>([
label: '销售订单号', label: '销售订单号',
field: 'soNumber', field: 'soNumber',
sort: 'custom', sort: 'custom',
isSearch: true,
table: { table: {
width: 200 width: 200
}, },
@ -321,7 +327,6 @@ export const SaleShipmentDetail = useCrudSchemas(reactive<CrudSchema[]>([
label: '物料代码', label: '物料代码',
field: 'itemCode', field: 'itemCode',
sort: 'custom', sort: 'custom',
isSearch: true,
tableForm: { tableForm: {
type: 'Select', type: 'Select',
disabled: true disabled: true
@ -499,9 +504,7 @@ export const SaleShipmentDetail = useCrudSchemas(reactive<CrudSchema[]>([
field: 'action', field: 'action',
isDetail: false, isDetail: false,
isForm: false, isForm: false,
table: { hiddenInMain:true,
width: 150, isTableForm:false,
fixed: 'right'
}
} }
])) ]))

5
src/views/wms/inventoryjobManage/containermanage/containerMainRequest/containerMainRequest.data.ts

@ -493,10 +493,7 @@ export const ContainerDetailRequest = useCrudSchemas(reactive<CrudSchema[]>([
isForm: false, isForm: false,
hiddenInMain:true, hiddenInMain:true,
isTableForm: false, isTableForm: false,
table: { isTable: false
width: 150,
fixed: 'right'
}
} }
])) ]))

3
src/views/wms/productionManage/productscrap/productscrapRecordMain/index.vue

@ -135,6 +135,7 @@ const buttonOperationClick = async (row, label, index)=> {
return return
} }
detatableDataBom.params.itemCode = row.itemCode detatableDataBom.params.itemCode = row.itemCode
detatableDataBom.params.masterId = row.id
DialogTitle.value = '物料代码:【' + row.itemCode + '】 Bom 信息' DialogTitle.value = '物料代码:【' + row.itemCode + '】 Bom 信息'
bomModelVisible.value = true bomModelVisible.value = true
await getDetailListBom() await getDetailListBom()
@ -181,7 +182,7 @@ const tableFormButton = async (val , row) => {
bomModelVisible.value = true bomModelVisible.value = true
DialogTitle.value = '物料代码【' + row.itemCode + '】——Bom信息' DialogTitle.value = '物料代码【' + row.itemCode + '】——Bom信息'
detatableDataBom.params = { detatableDataBom.params = {
masterId: row.masterId masterId: row.id
} }
await getDetailListBom() await getDetailListBom()
} }

2
src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestMain/index.vue

@ -420,7 +420,7 @@ const src = ref(BASE_URL + '/jmreport/view/922729953438072832?token=' + getAcces
const searchTableRef = ref() const searchTableRef = ref()
const labelPrint = async (row) => { const labelPrint = async (row) => {
tableObject.loading = true tableObject.loading = true
const defaultParams = {'moduleName':'supplier','recordNumber':row.number} const defaultParams = {'moduleName':'purchasereceipt_request','recordNumber':row.asnNumber}
const {tableObject:tableObjectPrint ,tableMethods} = useTable({ const {tableObject:tableObjectPrint ,tableMethods} = useTable({
defaultParams, defaultParams,
getListApi: PackageApi.getLabelDetailPage // getListApi: PackageApi.getLabelDetailPage //

Loading…
Cancel
Save