Browse Source

Merge branch 'master_hella' of http://dev.ccwin-in.com:3000/sfms3.0/sfms3.0-ui into master_hella

master_hella_20240701
zhaoxuebing 7 months ago
parent
commit
923ce431a1
  1. 7
      src/api/eam/equipmentManufacturer/index.ts
  2. 7
      src/api/eam/equipmentSupplier/index.ts
  3. 6
      src/api/qms/inspectionJob/inspectionJobMain/index.ts
  4. 2
      src/components/Annex/src/Annex.vue
  5. 7
      src/components/Descriptions/src/Descriptions.vue
  6. 4
      src/components/Detail/src/Detail.vue
  7. 5
      src/components/DictTag/src/DictTag.vue
  8. 5
      src/components/Remarks/src/Remarks.vue
  9. 3
      src/components/Tabs/src/Tabs.vue
  10. 15
      src/components/UploadFile/src/UploadFile.vue
  11. 24
      src/locales/en-US.ts
  12. 24
      src/locales/zh-CN.ts
  13. 3
      src/views/home/components/supplierIndex.vue
  14. 35
      src/views/mes/orderDay/components/schedule.vue
  15. 60
      src/views/mes/orderDay/index.vue
  16. 3
      src/views/mes/orderDay/orderDay.data.ts
  17. 37
      src/views/mes/workScheduling/components/qualifiedCheck.vue
  18. 33
      src/views/qms/inspectionJob/addForm.vue
  19. 24
      src/views/qms/inspectionJob/index.vue
  20. 1
      src/views/wms/deliversettlementManage/deliver/deliverRequestMain/deliverRequestMain.data.ts
  21. 3
      src/views/wms/deliversettlementManage/deliver/deliverRequestMain/index.vue
  22. 17
      src/views/wms/deliversettlementManage/saleShipmentMainRecord/index.vue
  23. 3
      src/views/wms/deliversettlementManage/saleShipmentMainRecord/saleShipmentMainRecord.data.ts
  24. 2
      src/views/wms/deliversettlementManage/saleShipmentMainRequest/index.vue
  25. 6
      src/views/wms/deliversettlementManage/saleShipmentMainRequest/saleShipmentMain.data.ts
  26. 5
      src/views/wms/inventoryjobManage/containermanage/containerMainRequest/containerMainRequest.data.ts

7
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) => {
return await request.download({ url: `/eam/basic/equipment-manufacturer/export-excel`, 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 })
}
} }
// 下载用户导入模板 // 下载用户导入模板

7
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) => {
return await request.download({ url: `/eam/basic/equipment-supplier/export-excel`, 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 })
}
} }
// 下载用户导入模板 // 下载用户导入模板

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' })

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">

7
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>
@ -119,7 +120,7 @@ const showAll = () =>{
<template v-if="slots['extra']" #extra> <template v-if="slots['extra']" #extra>
<slot name="extra"></slot> <slot name="extra"></slot>
</template> </template>
<ElDescriptionsItem <ElDescriptionsItem
v-for="item in schema" v-for="item in schema"
:key="item.field" :key="item.field"
v-bind="getBindItemValue(item)" v-bind="getBindItemValue(item)"
@ -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'

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'

35
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,20 +471,23 @@ 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(() => {
message.info("已取消发布") message.info("已取消发布")
}) })
@ -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("")
// })
} }

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

@ -57,7 +57,7 @@
:isBusiness="false" :isBusiness="false"
:isSearchFilterButtonHide="true" :isSearchFilterButtonHide="true"
@onChange="valueChange" @onChange="valueChange"
/> />
<!-- 详情 --> <!-- 详情 -->
@ -142,7 +142,7 @@ const searchTableSuccess = (formField, searchField, val, formRef) => {
if(formField=='workroomCode'){ if(formField=='workroomCode'){
getProductlines(val[0][searchField]) getProductlines(val[0][searchField])
} }
}) })
} }
@ -156,9 +156,9 @@ const valueChange=(filed,cur)=>{
//item.componentProps.required = cur==='ENABLE'?false:true //item.componentProps.required = cur==='ENABLE'?false:true
} }
}) })
} }
} }
// //
@ -199,10 +199,12 @@ 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)
getList() nextTick?.(()=>{
getList()
})
} }
// //
const isShowMainButton = (row,val) => { const isShowMainButton = (row,val) => {
@ -227,7 +229,7 @@ const butttondata = (row) => {
type: 'warning', type: 'warning',
icon: '', icon: '',
color: '', color: '',
hasPermi: 'mes:orderDay:update'}), // hasPermi: 'mes:orderDay:update'}), //
// defaultButtons.mainListHandleBtn({label: '', // defaultButtons.mainListHandleBtn({label: '',
// name: 'publish', // name: 'publish',
// hide: isShowMainButton(row,['2']), // hide: isShowMainButton(row,['2']),
@ -268,25 +270,24 @@ const openForm = (type: string, row?: any) => {
// form // form
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()
} }
@ -301,7 +302,7 @@ const openDetail = (row: any, titleName: any, titleValue: any) => {
//console.log('orderDay-openDetail-303',row) //console.log('orderDay-openDetail-303',row)
sDetailRef.value.open(row, titleName) sDetailRef.value.open(row, titleName)
} }
} }
/** 发布操作 */ /** 发布操作 */
const scheduleDetailRef = ref() const scheduleDetailRef = ref()
@ -336,9 +337,10 @@ const handleExport = async () => {
exportLoading.value = false exportLoading.value = false
} }
} }
const stopPlan = (id) => { const stopPlan = async (id) => {
OrderDayApi.stopPlan(id) await OrderDayApi.stopPlan(id)
getList()
} }
/** 导入 */ /** 导入 */
const importFormRef = ref() const importFormRef = ref()

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: '操作',

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

@ -11,28 +11,28 @@
<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="不合格原因">
<el-input v-model="form.remark"></el-input> <el-input v-model="form.remark"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="dialogVisible = false">关闭</el-button> <el-button @click="dialogVisible = false">关闭</el-button>
<el-button type="primary" :disabled="saveFlag" @click="saveReport">保存</el-button> <el-button type="primary" :disabled="saveFlag" @click="saveReport">保存</el-button>
@ -75,7 +75,7 @@ const openDetail = async (row: any, titleName: any,code:string) => {
form.id=row.id form.id=row.id
planDayCode.value=code planDayCode.value=code
getCurrentWorkerList(row.nodeCode) getCurrentWorkerList(row.nodeCode)
} }
// //
@ -86,7 +86,7 @@ const getCurrentWorkerList = async (val) => {
processCode: val processCode: val
} }
personOption.value = await workschedulingApi.getCurrentWorkerList(params) personOption.value = await workschedulingApi.getCurrentWorkerList(params)
} }
const qcount=ref(0) const qcount=ref(0)
// //
@ -97,8 +97,8 @@ const handleCount = () => {
form.qualified =rowData.value.planCount - form.unqualified form.qualified =rowData.value.planCount - form.unqualified
return return
} }
if (form.unqualified> rowData.value.planCount -form.qualified ) { if (form.unqualified> rowData.value.planCount -form.qualified ) {
message.alert('不合格数量超限!') message.alert('不合格数量超限!')
form.unqualified =rowData.value.planCount-form.qualified form.unqualified =rowData.value.planCount-form.qualified
@ -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)
@ -118,7 +129,7 @@ const saveReport = async() => {
} }
//console.log("report-saveReport-82",data) //console.log("report-saveReport-82",data)
//await workschedulingApi.reportWorkByProcess(data) //await workschedulingApi.reportWorkByProcess(data)
} }
// //
const emit = defineEmits(['success', 'close']) const emit = defineEmits(['success', 'close'])

33
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
@ -397,7 +397,7 @@
) )
} }
} }
// //
if (item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping) { if (item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping) {
rules.value['inspectionJobCharacteristicsUpdateReqVO.quantifyCapping'][0].required = true rules.value['inspectionJobCharacteristicsUpdateReqVO.quantifyCapping'][0].required = true
@ -425,17 +425,17 @@
设置采样数量默认第一个包装采样数量<总数量显示数量字段第二个包装和剩下的总数量对比以此类推 设置采样数量默认第一个包装采样数量<总数量显示数量字段第二个包装和剩下的总数量对比以此类推
第一个包装采样数量>总数量 则显示总数量 第一个包装采样数量>总数量 则显示总数量
*/ */
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))
} else { } else {
data.value.packageList[i].sampleAmount = allSamplePieceSize.value data.value.packageList[i].sampleAmount = allSamplePieceSize.value
allSamplePieceSize.value = 0 allSamplePieceSize.value = 0
// return; // return;
} }
} }
} }
// data.value.packageList.forEach(item=>{ // data.value.packageList.forEach(item=>{
@ -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

@ -159,6 +159,15 @@
return true return true
} }
} }
//
const isShowMainButton2 = (row, val) => {
if (val.indexOf(row.isStaging) > -1) {
return false
} else {
return true
}
}
// - // -
const butttondata = (row) => { const butttondata = (row) => {
@ -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
} }

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

@ -27,9 +27,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 }">
@ -62,7 +62,6 @@ import { SaleShipmentMainRecord,SaleShipmentMainRecordRules } from './saleShipme
import * as SaleShipmentMainRecordApi from '@/api/wms/saleShipmentMainRecord' import * as SaleShipmentMainRecordApi from '@/api/wms/saleShipmentMainRecord'
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' })
@ -98,8 +97,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 +128,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 +188,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

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

@ -73,6 +73,7 @@ export const SaleShipmentMainRecord = useCrudSchemas(reactive<CrudSchema[]>([
field: 'available', field: 'available',
sort: 'custom', sort: 'custom',
isSearch: true, isSearch: true,
isTable:false
}, },
{ {
label: '部门', label: '部门',
@ -102,12 +103,14 @@ 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, isSearch: true,
isTable:false
}, },
{ {
label: '操作', label: '操作',

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

@ -214,7 +214,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'}), //

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

@ -499,9 +499,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'
}
} }
])) ]))

Loading…
Cancel
Save