Browse Source

Merge branch 'hella_online_20240803' into master_hella

hella_online_20240829
陈薪名 3 months ago
parent
commit
da39492fa8
  1. 92
      src/components/BasicForm/src/BasicForm.vue
  2. 3
      src/components/CollectionTable/index.ts
  3. 219
      src/components/CollectionTable/src/CollectionTable.vue
  4. 6
      src/components/Form/src/Form.vue
  5. 16
      src/components/Search/src/Search.vue
  6. 6
      src/components/SearchHigh/src/SearchHigh.vue
  7. 6
      src/components/TableForm/src/TableForm.vue
  8. 13
      src/directives/permission/clientTable.ts
  9. 4
      src/views/qms/samplingProcess/index.vue
  10. 6
      src/views/wms/basicDataManage/orderManage/shift/index.vue
  11. 4
      src/views/wms/inventoryManage/balance/balance.data.ts
  12. 1
      src/views/wms/inventoryjobManage/inventoryinitial/inventoryinitRequestMain/inventoryinitRequestMain.data.ts
  13. 1
      src/views/wms/inventoryjobManage/scrap/scrapRequestMain/index.vue
  14. 2
      src/views/wms/inventoryjobManage/sparepartReturn/sparepartReturnRequestMain/index.vue
  15. 73
      src/views/wms/inventoryjobManage/sparepartReturn/sparepartReturnRequestMain/sparepartReturnRequestMain.data.ts
  16. 2
      src/views/wms/inventoryjobManage/unplannedissue/unplannedissueRequestMain/unplannedissueRequestMain.data.ts
  17. 10
      src/views/wms/issueManage/productionreturn/productionreturnRequestMainNo/index.vue
  18. 6
      src/views/wms/productionManage/processproduction/processproductionRecord/index.vue
  19. 9
      src/views/wms/productionManage/productredress/productredressJobMain/productredressJobMain.data.ts
  20. 9
      src/views/wms/productionManage/productredress/productredressRecordMain/productredressRecordMain.data.ts
  21. 2
      src/views/wms/productionManage/productredress/productredressRequestMain/productredressRequestMain.data.ts
  22. 5
      src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestOrderMTypeMain/index.vue
  23. 20
      src/views/wms/purchasereceiptManage/supplierdeliver/purchasePlanMain/purchasePlanMain.data.ts

92
src/components/BasicForm/src/BasicForm.vue

@ -7,6 +7,7 @@
:vLoading="formLoading" :vLoading="formLoading"
@updateFullscreen="updateFullscreen" @updateFullscreen="updateFullscreen"
> >
<div style="overflow-y: auto" :style="formHeight">
<div style="overflow-y: auto" :style="formHeight"> <div style="overflow-y: auto" :style="formHeight">
<Form <Form
ref="formRef" ref="formRef"
@ -78,7 +79,14 @@
<el-input v-model="formSchema.value" v-if="isDetail && formTypeDetail == 'InputString'" /> <el-input v-model="formSchema.value" v-if="isDetail && formTypeDetail == 'InputString'" />
</template> </template>
</Form> </Form>
<div class="table" v-if="(isBusiness && formType == 'create' && fromeWhere != 'countPlan')||(isBusiness && formType == 'update' && updateTypeEdiltSubList && fromeWhere != 'countPlan')"> <Tabs ref="tabRef" v-if="formType=='create'&&tableAllSchemas&&tableAllSchemas.tableFormColumns.find(item=>item.field == 'itemCode')" :tabsList="[{
label: '明细',
prop: 'TableForm'
},{
label: '汇总',
prop: 'CollectionTable'
}]" v-model="tabSheet" @change="tabChange"/>
<div class="table" v-if="(tabSheet=='TableForm'&&isBusiness && formType == 'create' && fromeWhere != 'countPlan')||(tabSheet=='TableForm'&&isBusiness && formType == 'update' && updateTypeEdiltSubList && fromeWhere != 'countPlan')">
<TableForm <TableForm
ref="tableFormRef" ref="tableFormRef"
class="w-[100%]" class="w-[100%]"
@ -116,7 +124,7 @@
</template> </template>
</TableForm> </TableForm>
</div> </div>
<div v-if="isBusiness && formType == 'create' && fromeWhere == 'countPlan'"> <div v-if="tabSheet=='TableForm'&&isBusiness && formType == 'create' && fromeWhere == 'countPlan'">
<TableFormCountPlan <TableFormCountPlan
:tableFields="tableAllSchemas.tableFormColumns" :tableFields="tableAllSchemas.tableFormColumns"
:tableData="tableData" :tableData="tableData"
@ -128,6 +136,12 @@
@handleDeleteTable="handleDeleteTable" @handleDeleteTable="handleDeleteTable"
/> />
</div> </div>
<div v-if="formType=='create'&&tableAllSchemas&&tableAllSchemas.tableFormColumns.find(item=>item.field == 'itemCode')" v-show="tabSheet=='CollectionTable'">
<CollectionTable
:tableFields="tableAllSchemas?tableAllSchemas.tableFormColumns:[]"
:tableData="tableData"
></CollectionTable>
</div>
</div> </div>
<template #footer> <template #footer>
<slot name="foorter"></slot> <slot name="foorter"></slot>
@ -153,6 +167,7 @@ import TableForm from '@/components/TableForm/src/TableForm.vue'
import TableFormCountPlan from '@/components/TableFormCountPlan/src/TableFormCountPlan.vue' import TableFormCountPlan from '@/components/TableFormCountPlan/src/TableFormCountPlan.vue'
import { DICT_TYPE, getStrDictOptions } from '@/utils/dict' import { DICT_TYPE, getStrDictOptions } from '@/utils/dict'
import { tableFormBlurVer, FormBlur, getListByBottonInput } from '@/api/wms/business/inputBlur' import { tableFormBlurVer, FormBlur, getListByBottonInput } from '@/api/wms/business/inputBlur'
import CollectionTable from '@/components/CollectionTable/src/CollectionTable.vue'
import { isString } from 'min-dash' import { isString } from 'min-dash'
const count = ref(0) const count = ref(0)
@ -366,14 +381,16 @@ if (props.basicFormWidth) {
} else { } else {
dialogWidth.value = props.isBusiness ? '60%' : '40%' dialogWidth.value = props.isBusiness ? '60%' : '40%'
} }
const formHeight = ref({
height:'60vh' const collectionRef = ref()
})
const updateFullscreen = (isFullscreen) => { const updateFullscreen = (isFullscreen) => {
formHeight.value.height = isFullscreen ? 'auto' : '60vh' formHeight.value.height = isFullscreen ? 'auto' : '60vh'
nextTick(()=>{ nextTick(()=>{
tableFormRef.value.reloadFullscreen(isFullscreen) tableFormRef.value?.reloadFullscreen(isFullscreen)
collectionRef.value?.reloadFullscreen(isFullscreen)
}) })
} }
const dialogVisible = ref(false) // const dialogVisible = ref(false) //
@ -388,8 +405,25 @@ const tableFormRules = ref(props.tableFormRules)
const route = useRoute() // const route = useRoute() //
const routeName = ref('') const routeName = ref('')
const sureDisabled = ref(false) const sureDisabled = ref(false)
const tabSheet = ref('TableForm')
routeName.value = route.name routeName.value = route.name
const formHeight = ref({
'max-height': '60vh'
})
const tabChange = (item) => {
tabSheet.value = item.prop
}
// if(!props.tableAllSchemas||formType.value!='create'){
// formHeight.value = {
// height:'auto'
// }
// }else{
// formHeight.value = {
// height:'60vh'
// }
// }
// - // -
// const buttondata = [ // const buttondata = [
// defaultButtons.mainListEditBtn(null), // // defaultButtons.mainListEditBtn(null), //
@ -626,6 +660,7 @@ const open = async (
titleName?: any, titleName?: any,
alltitleName?: any alltitleName?: any
) => { ) => {
tabSheet.value = "TableForm"
dialogVisible.value = true dialogVisible.value = true
if (alltitleName) { if (alltitleName) {
dialogTitle.value = alltitleName dialogTitle.value = alltitleName
@ -635,6 +670,15 @@ const open = async (
dialogTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
} }
formType.value = type formType.value = type
// if(!props.tableAllSchemas||formType.value!='create'){
// formHeight.value = {
// height:'auto'
// }
// }else{
// formHeight.value = {
// height:'60vh'
// }
// }
resetForm() resetForm()
count.value = 0 count.value = 0
// //
@ -1063,26 +1107,26 @@ defineExpose({
padding: 10px; padding: 10px;
width: calc(100% - 32px); width: calc(100% - 32px);
display: flex; display: flex;
} ::v-deep(.el-table__body) {
::v-deep(.el-table__body) { padding: 10px 0px;
padding: 10px 0px; }
} ::v-deep(.el-table--default .el-table__cell) {
::v-deep(.el-table--default .el-table__cell) { padding: 2px 0px;
padding: 2px 0px; border: none;
border: none; }
}
::v-deep(.el-table td.el-table__cell .el-form-item__content) { ::v-deep(.el-table td.el-table__cell .el-form-item__content) {
display: flex !important; display: flex !important;
align-items: center !important; align-items: center !important;
justify-content: center !important; justify-content: center !important;
} }
::v-deep(.el-table td.el-table__cell div) { ::v-deep(.el-table td.el-table__cell div) {
overflow: visible; overflow: visible;
} }
::v-deep(.el-icon) { ::v-deep(.el-icon) {
display: block; display: block;
}
} }
button .button { button .button {
> div { > div {

3
src/components/CollectionTable/index.ts

@ -0,0 +1,3 @@
import CollectionTable from './src/CollectionTable.vue'
export { CollectionTable }

219
src/components/CollectionTable/src/CollectionTable.vue

@ -0,0 +1,219 @@
<template>
<el-checkbox-group v-model="checkList" @change="checkChange">
<el-checkbox v-for="item in fields.filter(item=>item.checkBoxOption)" :label="item.label" :value="item.label" :disabled="item.checkedDisabled"/>
</el-checkbox-group>
<!-- v-clientTableForm="{
isShowPagination:false,
isShowButton: false,
isFullscreen:isFullscreen
}" -->
<el-table class="collection" :data="showList" border :style="{width:tableWidth+'px'}">
<el-table-column type="index" width="60" label="序号" align="center"/>
<el-table-column border row-key="id"
v-for="headerItem in fields.filter((item) => !!item.checked)"
:label="headerItem.label"
:prop="headerItem.field"
align="center"
:width="headerItem.width"
>
<template v-if="headerItem.label=='状态'" #default="scope">
<span>{{ getStatus(scope.row,headerItem.field) }}</span>
</template>
</el-table-column>
</el-table>
</template>
<script setup lang="ts">
import { DICT_TYPE, getIntDictOptions, getStrDictOptions } from '@/utils/dict'
const { t } = useI18n() //
const props = defineProps({
//
tableData: {
type: Array,
default: () => {
return []
}
},
//
tableFields: {
type: Array,
default: () => {
return []
}
}
})
const fields = ref([{
field: 'itemCode',
label:'物料',
checkBoxOption:true, // checkbox
checked:true, //checkbox
checkedDisabled:true, // checkbox
width:200
},{
field: 'batch',
label:'批次',
checkBoxOption:true, // checkbox
checked:false, //checkbox
checkedDisabled:false, // checkbox
width:100
},{
field: 'locationCode',
label:'库位',
checkBoxOption:true, // checkbox
checked:false, //checkbox
checkedDisabled:false, // checkbox
width:150
},{
field: 'inventoryStatus',
label:'状态',
dictType: DICT_TYPE.INVENTORY_STATUS,
checkBoxOption:true, // checkbox
checked:false, //checkbox
checkedDisabled:false, // checkbox
width:100,
},{
field: 'totalCount',
label:'数量',
checkBoxOption:false, // checkbox
checked:true,
width:100
}])
const inventoryStatusList = getStrDictOptions(DICT_TYPE.INVENTORY_STATUS)
const getStatus = (row,field)=>{
let findStatus = inventoryStatusList.find(item=>item.value == row[field])
if(findStatus){
return findStatus.label
}else{
return row[field]
}
}
//
let batchField = props.tableFields.find(item=>item.field=='fromBatch'||item.field=='batch')
if(batchField){//使
fields.value[1].field = batchField.field
fields.value[1].checkBoxOption = true
}else{//
fields.value[1].checkBoxOption = false
}
//
let locationField = props.tableFields.find(item=>item.field=='fromLocationCode'||item.field=='locationCode')
if(locationField){//使
fields.value[2].field = locationField.field
fields.value[2].checkBoxOption = true
}else{//
fields.value[2].checkBoxOption = false
}
//
let inventoryStatusField = props.tableFields.find(item=>item.field=='fromInventoryStatus'||item.field=='inventoryStatus')
if(inventoryStatusField){//使
fields.value[3].field = inventoryStatusField.field
fields.value[3].checkBoxOption = true
}else{//
fields.value[3].checkBoxOption = false
}
console.log('fields',fields.value)
const tableWidth = ref(360)
const checkList = ref(['物料'])
const checkChange = (value)=>{
console.log('checkChange',value)
let width = 0
fields.value.forEach(item=>{
if(value.includes(item.label) || item.field=='totalCount'){
item.checked = true
width += item.width
}else{
item.checked = false
}
})
tableWidth.value = width + 60
nextTick(()=>{
updateShowList()
})
}
const showList = ref([])
const updateShowList = ()=>{
showList.value = []
//field
const qtyField = props.tableFields.find(item=>item['field']=='qty')
//
let tableData = JSON.parse(JSON.stringify(props.tableData))
//index
let removeIndexs = []
for(let i=0;i<tableData.length;i++){
//
if(removeIndexs.indexOf(i)>-1){
continue
}
let tableItem = tableData[i]
//ts
if(!tableItem['qty']){
tableItem['totalCount'] =Number(qtyField.min)
}else{
tableItem['totalCount'] = Number(tableItem['qty'])
}
//
for(let j=i+1;j<tableData.length;j++){
let tempItem = tableData[j]
if(!tempItem['qty']){
//
tempItem['qty'] = Number( qtyField.min) || 0
}
//
let equal = true;
for (let k = 0; k < fields.value.length; k++) {
const fieldItem = fields.value[k];
// checkBoxOptioncheckbox
// checked
if(fieldItem.checkBoxOption&&fieldItem.checked){
if(tableItem[fieldItem['field']]+''!==tempItem[fieldItem['field']]+''){
equal = false
break
}
}
}
//removeIndexs
if(equal){
removeIndexs.push(j)
tableItem['totalCount'] = Number(tableItem['totalCount'])+Number(tempItem['qty'])
}
}
showList.value.push(tableItem)
}
console.log('汇总showList',showList.value)
}
updateShowList()
watch(
() => props.tableData,
() => {
console.log('汇总props.tableData',props.tableData)
updateShowList()
},
{
deep: true
}
)
const isFullscreen = ref(false)
const reloadFullscreen = (fullscreen)=>{
isFullscreen.value = fullscreen
}
defineExpose({
reloadFullscreen
})
</script>
<style lang="scss" scoped>
</style>

6
src/components/Form/src/Form.vue

@ -400,6 +400,12 @@ export default defineComponent({
onBlur={(e) => { onBlur(item.field, e) }} onBlur={(e) => { onBlur(item.field, e) }}
onFocus={(e) => { onFocus(item.field) }} onFocus={(e) => { onFocus(item.field) }}
onInput={(value)=>{onInput(item.field,value)}} onInput={(value)=>{onInput(item.field,value)}}
onKeyup={(event)=>{
if(event.keyCode === 13){
//
emit('onEnter',item.field,formModel.value[item.field],event)
}
}}
{...(notRenderOptions.includes(item?.component as string) && {...(notRenderOptions.includes(item?.component as string) &&
item?.componentProps?.options item?.componentProps?.options
? { options: item?.componentProps?.options || [] } ? { options: item?.componentProps?.options || [] }

16
src/components/Search/src/Search.vue

@ -63,9 +63,15 @@ const props = defineProps({
required: false, required: false,
default: [] default: []
}, },
//true
enterSearch:{
type: Boolean,
required: false,
default: true
},
}) })
const emit = defineEmits(['search', 'reset','onInput','onChange','searchTableSuccess']) const emit = defineEmits(['search', 'reset','onInput','onChange','onEnter','searchTableSuccess'])
const visible = ref(true) const visible = ref(true)
@ -116,6 +122,13 @@ const onInput = (field,value) => {
const onChange = (field, value)=>{ const onChange = (field, value)=>{
emit('onChange', field,value) emit('onChange', field,value)
} }
const onEnter = async (field, value, e) => {
if(props.enterSearch){
search()
}else{
emit('onEnter', field, value, e)
}
}
const searchTableRef = ref() const searchTableRef = ref()
const opensearchTable = ( const opensearchTable = (
formField, formField,
@ -291,6 +304,7 @@ defineExpose({setFormValues,search}) // 提供 open 方法,用于打开弹窗
@onInput="onInput" @onInput="onInput"
@opensearchTable="opensearchTable" @opensearchTable="opensearchTable"
@onChange="onChange" @onChange="onChange"
@onEnter="onEnter"
> >
<template #action> <template #action>
<div v-if="layout === 'inline'"> <div v-if="layout === 'inline'">

6
src/components/SearchHigh/src/SearchHigh.vue

@ -153,7 +153,7 @@ const moreListOptions = ref({
const type = searchOption_high.value.find(item => (item.field == val)) const type = searchOption_high.value.find(item => (item.field == val))
let data = 'input' let data = 'input'
if (type?.dictType || type?.field == 'creator') { if (type?.dictType || type?.field == 'creator'||type?.field == 'updater' ||type?.field == 'worker') {
data = 'select' data = 'select'
} else if (type?.form?.component == 'InputNumber') { } else if (type?.form?.component == 'InputNumber') {
data = 'inputNumber' data = 'inputNumber'
@ -170,7 +170,7 @@ const moreListOptions = ref({
const getFilterable = (val) => { const getFilterable = (val) => {
const type = searchOption_high.value.find(item => (item.field == val)) const type = searchOption_high.value.find(item => (item.field == val))
// //
if (type?.field == 'creator') { if (type?.field == 'creator' || type?.field == 'updater' || type?.field == 'worker') {
return false return false
}else{ }else{
return true return true
@ -298,7 +298,7 @@ const getDictOptions = ()=>{
// allDictOptions.value[item.field] = getStrDictOptions(item.dictType) // allDictOptions.value[item.field] = getStrDictOptions(item.dictType)
if (item.dictType) { if (item.dictType) {
allDictOptions.value[item.field] = getStrDictOptions(item.dictType) allDictOptions.value[item.field] = getStrDictOptions(item.dictType)
} else if(item.field == 'creator'){ } else if(item.field == 'creator'||item.field == 'updater' ||item.field == 'worker'){
allDictOptions.value[item.field] = userListAll.value allDictOptions.value[item.field] = userListAll.value
} }
}) })

6
src/components/TableForm/src/TableForm.vue

@ -1,11 +1,13 @@
<!-- 附件组件 --> <!-- 附件组件 -->
<template> <template>
<div class="table-form"> <div class="table-form">
<el-table v-clientTableForm="{ <!-- v-clientTableForm="{
showTab:showTab,
isShowPagination:tableData.length > 10, isShowPagination:tableData.length > 10,
isShowButton: isShowButton || isShowReduceButtonSelection, isShowButton: isShowButton || isShowReduceButtonSelection,
isFullscreen:isFullscreen isFullscreen:isFullscreen
}" }" -->
<el-table
class="multipleTableComponents" class="multipleTableComponents"
ref="TableBaseComponents_Ref" ref="TableBaseComponents_Ref"
v-loading="tableLoading" v-loading="tableLoading"

13
src/directives/permission/clientTable.ts

@ -44,10 +44,9 @@ export function clientTable(app: App<Element>) {
app.directive('clientTableForm', (el, binding) => { app.directive('clientTableForm', (el, binding) => {
nextTick(() => { nextTick(() => {
let {isShowPagination,isShowButton,isFullscreen} = binding.value let {isShowPagination,isShowButton,isFullscreen} = binding.value
console.log('clientTableForm')
let footerHeight = 0 let footerHeight = 0
let headerHeight = 0 let headerHeight = 0
el.offsetParent.children.forEach(element => { el.offsetParent?.children?.forEach(element => {
if(element.className=='el-dialog__footer'){ if(element.className=='el-dialog__footer'){
footerHeight = element.clientHeight footerHeight = element.clientHeight
} }
@ -55,20 +54,16 @@ export function clientTable(app: App<Element>) {
headerHeight = element.clientHeight headerHeight = element.clientHeight
} }
}); });
console.dir(el)
let top = el.getBoundingClientRect().top let top = el.getBoundingClientRect().top
let tableFormTop = top - el.offsetParent.offsetTop let tableFormTop = top - (el.offsetParent?.offsetTop||0)
console.log(top)
console.log(el.offsetParent.offsetTop) let height = el.offsetParent?.clientHeight - tableFormTop - footerHeight - 30
console.log(el.offsetParent.clientHeight)
let height = el.offsetParent.clientHeight - tableFormTop - footerHeight - 30
if(isShowPagination){ if(isShowPagination){
height = height- 34 height = height- 34
} }
if(isShowButton){ if(isShowButton){
height = height- 50 height = height- 50
} }
console.log(height)
el.style.height = height + 'px' el.style.height = height + 'px'
}) })
}) })

4
src/views/qms/samplingProcess/index.vue

@ -359,7 +359,7 @@ const updateFormFields = (sampleType, formRef) => {
SamplingProcessRules.sampleQty[0].required = sampleQtyRequired SamplingProcessRules.sampleQty[0].required = sampleQtyRequired
SamplingProcessRules.sampleProgCode[0].required = sampleProgCodeRequired SamplingProcessRules.sampleProgCode[0].required = sampleProgCodeRequired
formRef.value.setValues({ formRef?.value?.setValues({
sampleQty: '', sampleQty: '',
sampleProgCode: '' sampleProgCode: ''
}) })
@ -367,7 +367,7 @@ const updateFormFields = (sampleType, formRef) => {
const openForm = async (type, row) => { const openForm = async (type, row) => {
basicFormRef.value.open(type, row) basicFormRef.value.open(type, row)
updateFormFields(row.sampleType, basicFormRef) updateFormFields(row?.sampleType, basicFormRef)
} }
const onChange = async (field, value, formRef) => { const onChange = async (field, value, formRef) => {

6
src/views/wms/basicDataManage/orderManage/shift/index.vue

@ -65,6 +65,7 @@ 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 ImportForm from '@/components/ImportForm/src/ImportForm.vue'
import Detail from '@/components/Detail/src/Detail.vue' import Detail from '@/components/Detail/src/Detail.vue'
import { formatDate } from '@/utils/formatTime'
defineOptions({ name: 'Shift' }) defineOptions({ name: 'Shift' })
@ -239,8 +240,9 @@ const handleExport = async () => {
await message.exportConfirm() await message.exportConfirm()
// //
exportLoading.value = true exportLoading.value = true
const excelTitle = ref(route.meta.title)
const data = await ShiftApi.exportShift(tableObject.params) const data = await ShiftApi.exportShift(tableObject.params)
download.excel(data, '班次.xlsx') download.excel(data, `${excelTitle.value}】【${formatDate(new Date())}】.xlsx`)
} catch { } catch {
} finally { } finally {
exportLoading.value = false exportLoading.value = false
@ -255,7 +257,7 @@ const handleImport = () => {
// //
const importTemplateData = reactive({ const importTemplateData = reactive({
templateUrl: '', templateUrl: '',
templateTitle: '班次导入模版.xlsx' templateTitle: `${route.meta.title}】导入模版.xlsx`
}) })
// //
const importSuccess = () => { const importSuccess = () => {

4
src/views/wms/inventoryManage/balance/balance.data.ts

@ -446,7 +446,7 @@ export const Balance = useCrudSchemas(
} }
}, },
isForm: false, isForm: false,
isTable: false isTable: true
}, },
{ {
label: '最后更新者', label: '最后更新者',
@ -456,7 +456,7 @@ export const Balance = useCrudSchemas(
width: 150 width: 150
}, },
isForm: false, isForm: false,
isTable: false isTable: true
}, },
// TODO: 临时添加 方便操作 // TODO: 临时添加 方便操作
{ {

1
src/views/wms/inventoryjobManage/inventoryinitial/inventoryinitRequestMain/inventoryinitRequestMain.data.ts

@ -397,6 +397,7 @@ export const InventoryinitRequestDetail = useCrudSchemas(reactive<CrudSchema[]>(
table: { table: {
width: 180 width: 180
}, },
hiddenInMain:true,
isTableForm: false, isTableForm: false,
form: { form: {
componentProps: { componentProps: {

1
src/views/wms/inventoryjobManage/scrap/scrapRequestMain/index.vue

@ -177,6 +177,7 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row) =>
newRow['itemCode'] = item['itemCode'] newRow['itemCode'] = item['itemCode']
newRow['uom'] = item['uom'] newRow['uom'] = item['uom']
newRow['singlePrice'] = itemCode ? itemCode['price'] : '' newRow['singlePrice'] = itemCode ? itemCode['price'] : ''
newRow['amount'] = newRow['qty'] * newRow['singlePrice']
tableData.value.push(newRow) tableData.value.push(newRow)
}) })
// row['singlePrice'] = res.price // row['singlePrice'] = res.price

2
src/views/wms/inventoryjobManage/sparepartReturn/sparepartReturnRequestMain/index.vue

@ -252,7 +252,7 @@ const { getList, setSearchParams } = tableMethods
// //
const HeadButttondata = [ const HeadButttondata = [
defaultButtons.defaultAddBtn({hasPermi:'wms:unplannedreceipt-request-main:create'}), // defaultButtons.defaultAddBtn({hasPermi:'wms:unplannedreceipt-request-main:create'}), //
defaultButtons.defaultImportBtn({hasPermi:'wms:unplannedreceipt-request-main:import'}), // //defaultButtons.defaultImportBtn({hasPermi:'wms:unplannedreceipt-request-main:import'}), //
defaultButtons.defaultExportBtn({hasPermi:'wms:unplannedreceipt-request-main:export'}), // defaultButtons.defaultExportBtn({hasPermi:'wms:unplannedreceipt-request-main:export'}), //
defaultButtons.defaultFreshBtn(null), // defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), // defaultButtons.defaultFilterBtn(null), //

73
src/views/wms/inventoryjobManage/sparepartReturn/sparepartReturnRequestMain/sparepartReturnRequestMain.data.ts

@ -65,7 +65,7 @@ export const UnplannedreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>
field: 'status', field: 'status',
dictType: DICT_TYPE.REQUEST_STATUS, dictType: DICT_TYPE.REQUEST_STATUS,
dictClass: 'string', dictClass: 'string',
isSearch: true, isSearch: false,
isForm: false, isForm: false,
isTable: true, isTable: true,
sort: 'custom', sort: 'custom',
@ -397,7 +397,7 @@ export const UnplannedreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>
field: 'toAreaTypes', field: 'toAreaTypes',
dictType: DICT_TYPE.AREA_TYPE, dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string', dictClass: 'string',
isSearch: true, isSearch: false,
isTable: true, isTable: true,
sort: 'custom', sort: 'custom',
table: { table: {
@ -412,7 +412,7 @@ export const UnplannedreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>
table: { table: {
width: 150 width: 150
}, },
isSearch: true, isSearch: false,
isForm: false, isForm: false,
}, },
{ {
@ -714,12 +714,67 @@ export const UnplannedreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[
isSearch: true, isSearch: true,
isMainValue: false isMainValue: false
},{ },{
key: 'businessTypeCode', key: 'type',
value: 'UnplannedReceipt', value: 'ZZBZ',
action: '==', action: '!=',
isSearch: true, isSearch: true,
isMainValue: false isMainValue: false
}], },{
key: 'type',
value: 'WGJ',
action: '!=',
isSearch: true,
isMainValue: false
},{
key: 'type',
value: 'Q&J',
action: '!=',
isSearch: true,
isMainValue: false
},{
key: 'type',
value: 'PRHC',
action: '!=',
isSearch: true,
isMainValue: false
},{
key: 'type',
value: 'ONBZ',
action: '!=',
isSearch: true,
isMainValue: false
},{
key: 'type',
value: 'DZYH',
action: '!=',
isSearch: true,
isMainValue: false
},{
key: 'type',
value: 'CCP',
action: '!=',
isSearch: true,
isMainValue: false
},{
key: 'type',
value: 'BCP',
action: '!=',
isSearch: true,
isMainValue: false
},{
key: 'type',
value: 'QJ',
action: '!=',
isSearch: true,
isMainValue: false
},{
key: 'type',
value: 'YCL',
action: '!=',
isSearch: true,
isMainValue: false
}
],
verificationPage: ItembasicApi.getItemListByCodes, // tableForm下方输入框校验失去焦点之后是否正确的方法 verificationPage: ItembasicApi.getItemListByCodes, // tableForm下方输入框校验失去焦点之后是否正确的方法
isShowTableFormSearch: true, //tableForm下方是否出现输入框 isShowTableFormSearch: true, //tableForm下方是否出现输入框
verificationParams: [{ verificationParams: [{
@ -751,7 +806,8 @@ export const UnplannedreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[
action: '==', action: '==',
isSearch: true, isSearch: true,
isMainValue: false isMainValue: false
}], }
],
verificationParams: [{ verificationParams: [{
key: 'code', key: 'code',
action: '==', action: '==',
@ -926,6 +982,7 @@ export const UnplannedreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[
label: '到库位代码', label: '到库位代码',
field: 'toLocationCode', field: 'toLocationCode',
sort: 'custom', sort: 'custom',
isSearch:false,
table: { table: {
width: 150 width: 150
}, },

2
src/views/wms/inventoryjobManage/unplannedissue/unplannedissueRequestMain/unplannedissueRequestMain.data.ts

@ -496,7 +496,7 @@ export const UnplannedissueRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
} }
}, },
{ {
label: '备注', label: '订单号',
field: 'remarkMain', field: 'remarkMain',
sort: 'custom', sort: 'custom',
table: { table: {

10
src/views/wms/issueManage/productionreturn/productionreturnRequestMainNo/index.vue

@ -505,6 +505,11 @@ const openForm =async (type: string, row?: number) => {
if (type == 'update') { if (type == 'update') {
// tableform // tableform
ProductionreturnRequestMain.allSchemas.formSchema.map(itemColumns => { ProductionreturnRequestMain.allSchemas.formSchema.map(itemColumns => {
//线
if(itemColumns.field == 'productionLineCode') {
itemColumns.componentProps.isSearchList = false
itemColumns.componentProps.disabled = true
}
if(itemColumns.field == 'workshopCode') { if(itemColumns.field == 'workshopCode') {
itemColumns.componentProps.isSearchList = false itemColumns.componentProps.isSearchList = false
itemColumns.componentProps.disabled = true itemColumns.componentProps.disabled = true
@ -513,6 +518,11 @@ const openForm =async (type: string, row?: number) => {
} else { } else {
// tableform // tableform
ProductionreturnRequestMain.allSchemas.formSchema.map(itemColumns => { ProductionreturnRequestMain.allSchemas.formSchema.map(itemColumns => {
//线
if(itemColumns.field == 'productionLineCode') {
itemColumns.componentProps.isSearchList = true
itemColumns.componentProps.disabled = false
}
if(itemColumns.field == 'workshopCode') { if(itemColumns.field == 'workshopCode') {
itemColumns.componentProps.isSearchList = true itemColumns.componentProps.isSearchList = true
itemColumns.componentProps.disabled = false itemColumns.componentProps.disabled = false

6
src/views/wms/productionManage/processproduction/processproductionRecord/index.vue

@ -82,6 +82,7 @@ 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 ImportForm from '@/components/ImportForm/src/ImportForm.vue'
import Detail from '@/components/Detail/src/Detail.vue' import Detail from '@/components/Detail/src/Detail.vue'
import { formatDate } from '@/utils/formatTime'
defineOptions({ name: 'ProcessproductionRequestMain' }) defineOptions({ name: 'ProcessproductionRequestMain' })
@ -236,8 +237,9 @@ const handleExport = async () => {
await message.exportConfirm() await message.exportConfirm()
// //
exportLoading.value = true exportLoading.value = true
const excelTitle = ref(route.meta.title)
const data = await ProcessproductionRecordMainApi.exportProcessproductionRecordMain(tableObject.params) const data = await ProcessproductionRecordMainApi.exportProcessproductionRecordMain(tableObject.params)
download.excel(data, route.meta.title+'.xlsx') download.excel(data, `${excelTitle.value}】【${formatDate(new Date())}】.xlsx`)
} catch { } catch {
} finally { } finally {
exportLoading.value = false exportLoading.value = false
@ -252,7 +254,7 @@ const handleImport = () => {
// //
const importTemplateData = reactive({ const importTemplateData = reactive({
templateUrl: '', templateUrl: '',
templateTitle: '工序报产申请主导入模版.xlsx' templateTitle: `${route.meta.title}】导入模版.xlsx`
}) })
// //
const importSuccess = () => { const importSuccess = () => {

9
src/views/wms/productionManage/productredress/productredressJobMain/productredressJobMain.data.ts

@ -44,6 +44,15 @@ export const ProductredressJobMain = useCrudSchemas(reactive<CrudSchema[]>([
} }
} }
}, },
{
label: '生产线代码',
field: 'productionLineCode',
sort: 'custom',
table: {
width: 150
},
isTable:true,
},
{ {
label: '申请时间', label: '申请时间',
field: 'requestTime', field: 'requestTime',

9
src/views/wms/productionManage/productredress/productredressRecordMain/productredressRecordMain.data.ts

@ -55,6 +55,15 @@ export const ProductredressRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
width: 150 width: 150
} }
}, },
{
label: '生产线代码',
field: 'productionLineCode',
sort: 'custom',
table: {
width: 150
},
isTable:true,
},
// { // {
// label: '生产计划单号', // label: '生产计划单号',
// field: 'productionPlanNumber', // field: 'productionPlanNumber',

2
src/views/wms/productionManage/productredress/productredressRequestMain/productredressRequestMain.data.ts

@ -105,7 +105,7 @@ export const ProductredressRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: { table: {
width: 150 width: 150
}, },
isTable:false, isTable:true,
tableForm: { tableForm: {
enterSearch: true, enterSearch: true,
isInpuFocusShow: true, isInpuFocusShow: true,

5
src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestOrderMTypeMain/index.vue

@ -696,8 +696,9 @@ const handleExport = async () => {
await message.exportConfirm() await message.exportConfirm()
// //
exportLoading.value = true exportLoading.value = true
const excelTitle = ref(route.meta.title)
const data = await PurchasereceiptRequestMainApi.exportPurchasereceiptRequestMain(tableObject.params) const data = await PurchasereceiptRequestMainApi.exportPurchasereceiptRequestMain(tableObject.params)
download.excel(data, 'M类型采购收货.xlsx') download.excel(data, `${excelTitle.value}】【${formatDate(new Date())}】.xlsx`)
} catch { } catch {
} finally { } finally {
exportLoading.value = false exportLoading.value = false
@ -777,7 +778,7 @@ const handleImport = () => {
// //
const importTemplateData = reactive({ const importTemplateData = reactive({
templateUrl: '', templateUrl: '',
templateTitle: '采购收货申请主导入模版.xlsx' templateTitle: `${route.meta.title}】导入模版.xlsx`
}) })
// //

20
src/views/wms/purchasereceiptManage/supplierdeliver/purchasePlanMain/purchasePlanMain.data.ts

@ -527,6 +527,26 @@ export const PurchasePlanDetail = useCrudSchemas(reactive<CrudSchema[]>([
} }
} }
}, },
{
label: '送达日期',
field: 'deliveryDate',
table: {
width: 180
},
formatter: dateFormatter2,
sortTableDefault:2,
form: {
component: 'DatePicker',
componentProps: {
type: 'date',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x',
}
},
detail: {
dateFormat: 'YYYY-MM-DD'
},
},
{ {
label: '采购订单号', label: '采购订单号',
field: 'poNumber', field: 'poNumber',

Loading…
Cancel
Save