Browse Source

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

hella_online_20240829
陈薪名 2 months ago
parent
commit
f6f89043f4
  1. 5
      src/api/qms/inspectionRecord/inspectionRecordMain/index.ts
  2. 5
      src/components/Descriptions/src/Descriptions.vue
  3. 1
      src/types/descriptions.d.ts
  4. 1030
      src/views/qms/inspectionJob/addForm.vue
  5. 18
      src/views/qms/inspectionQ1/inspectionQ1.data.ts
  6. 52
      src/views/qms/inspectionQ2/inspectionQ2.data.ts
  7. 13
      src/views/qms/inspectionQ3/inspectionQ3.data.ts
  8. 1566
      src/views/qms/inspectionRecord/addForm.vue
  9. 561
      src/views/qms/inspectionRecord/index.vue
  10. 670
      src/views/qms/inspectionRecordFirst/addForm.vue
  11. 5
      src/views/wms/basicDataManage/itemManage/bom/bom.data.ts
  12. 3
      src/views/wms/basicDataManage/itemManage/bom/index.vue
  13. 171
      src/views/wms/basicDataManage/strategySetting/strategy/upShelfStrategy/AddForm.vue
  14. 7
      src/views/wms/buttMesManage/mesBarCode/index.vue
  15. 296
      src/views/wms/buttMesManage/mesBarCode/mesBarCode.data.ts
  16. 2
      src/views/wms/inventoryManage/package/index.vue
  17. 2
      src/views/wms/inventoryManage/package/package.data.ts
  18. 16
      src/views/wms/productionManage/productscrap/productscrapRequestMain/index.vue
  19. 1
      src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptJobMain/purchasereceiptJobMain.data.ts
  20. 4
      src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestMain/purchasereceiptRequestMain.data.ts
  21. 22
      src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMain/index.vue
  22. 9
      src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMain/purchasereturnRequestMain.data.ts
  23. 5
      src/views/wms/purchasereceiptManage/sparereceipt/sparereceiptRequestMain/sparereceiptRequestMain.data.ts
  24. 47
      src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRecordMain/supplierinvoiceRecordMain.data.ts
  25. 4
      src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/supplierinvoiceRequestMain.data.ts
  26. 47
      src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMainDifference/supplierinvoiceRequestMainDifference.data.ts

5
src/api/qms/inspectionRecord/inspectionRecordMain/index.ts

@ -77,3 +77,8 @@ export const publishInspectionRecordMain = async (id) => {
return await request.put({ url: `/qms/inspection-record-main/publish?id=`+id }) return await request.put({ url: `/qms/inspection-record-main/publish?id=`+id })
} }
// 执行检验任务
export const executeInspectionRecordMain = async (data) => {
return await request.put({ url: `/qms/inspection-record-main/execute`, data })
}

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

@ -145,6 +145,11 @@ const showAll = () =>{
data[item.field] !== null ? dayjs(data[item.field]).format(item.dateFormat) : '' data[item.field] !== null ? dayjs(data[item.field]).format(item.dateFormat) : ''
}} }}
</slot> </slot>
<slot v-if="item.valueFilter">
{{
item.valueFilter(data[item.field])
}}
</slot>
<slot v-else-if="item.dictType"> <slot v-else-if="item.dictType">
<div v-if="data[item.field]&&Array.isArray(data[item.field])" > <div v-if="data[item.field]&&Array.isArray(data[item.field])" >
<DictTag :type="item.dictType" :value="cur" v-for="(cur,key) in data[item.field]" :key="key" style="margin-right: 6px;margin-bottom: 6px;"/> <DictTag :type="item.dictType" :value="cur" v-for="(cur,key) in data[item.field]" :key="key" style="margin-right: 6px;margin-bottom: 6px;"/>

1
src/types/descriptions.d.ts

@ -9,5 +9,6 @@ export interface DescriptionsSchema {
className?: string className?: string
labelClassName?: string labelClassName?: string
dateFormat?: string // add by 星语:支持时间的格式化 dateFormat?: string // add by 星语:支持时间的格式化
valueFilter?: function // 展示的过滤函数
dictType?: string // add by 星语:支持 dict 字典数据 dictType?: string // add by 星语:支持 dict 字典数据
} }

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

File diff suppressed because it is too large

18
src/views/qms/inspectionQ1/inspectionQ1.data.ts

@ -63,8 +63,7 @@ export const Q1 = useCrudSchemas(
field: 'customerCode', field: 'customerCode',
sort: 'custom', sort: 'custom',
table: { table: {
width: 150, width: 150
fixed: 'left'
}, },
form: { form: {
// labelMessage: '信息提示说明!!!', // labelMessage: '信息提示说明!!!',
@ -145,7 +144,7 @@ export const Q1 = useCrudSchemas(
label: '数量', label: '数量',
field: 'qty', field: 'qty',
sort: 'custom', sort: 'custom',
isTable: false, isTable: true,
isSearch: false, isSearch: false,
table: { table: {
width: 150 width: 150
@ -184,6 +183,9 @@ export const Q1 = useCrudSchemas(
dictClass: 'string', dictClass: 'string',
isSearch: false, isSearch: false,
isTable: true, isTable: true,
table: {
width: 180
},
tableForm: { tableForm: {
type: 'Select' type: 'Select'
} }
@ -195,7 +197,7 @@ export const Q1 = useCrudSchemas(
dictType: DICT_TYPE.QUALITY_NOTIFICATION_PRIORITY, dictType: DICT_TYPE.QUALITY_NOTIFICATION_PRIORITY,
dictClass: 'string', dictClass: 'string',
isSearch: false, isSearch: false,
isTable: true, isTable: false,
tableForm: { tableForm: {
type: 'Select' type: 'Select'
} }
@ -205,7 +207,7 @@ export const Q1 = useCrudSchemas(
field: 'responUser', field: 'responUser',
sort: 'custom', sort: 'custom',
isSearch: false, isSearch: false,
isForm: true, isForm: false,
form: { form: {
componentProps: { componentProps: {
value: userStore.getUser.nickname, value: userStore.getUser.nickname,
@ -232,7 +234,7 @@ export const Q1 = useCrudSchemas(
}, },
{ {
label: '成本中心', label: '成本中心代码',
field: 'costCode', field: 'costCode',
sort: 'custom', sort: 'custom',
isSearch: false, isSearch: false,
@ -274,7 +276,7 @@ export const Q1 = useCrudSchemas(
dictType: DICT_TYPE.CLAIM_REASON, dictType: DICT_TYPE.CLAIM_REASON,
dictClass: 'string', dictClass: 'string',
isSearch: false, isSearch: false,
isTable: true, isTable: false,
tableForm: { tableForm: {
type: 'Select' type: 'Select'
} }
@ -283,7 +285,7 @@ export const Q1 = useCrudSchemas(
label: '索赔日期', label: '索赔日期',
field: 'claimTime', field: 'claimTime',
isSearch: false, isSearch: false,
isTable: false, isTable: true,
table: { table: {
width: 180 width: 180
}, },

52
src/views/qms/inspectionQ2/inspectionQ2.data.ts

@ -112,7 +112,7 @@ export const Q2 = useCrudSchemas(
} }
}, },
{ {
label: '供应商码', label: '供应商码',
field: 'supplierCode', field: 'supplierCode',
sort: 'custom', sort: 'custom',
isSearch: true, isSearch: true,
@ -192,6 +192,23 @@ export const Q2 = useCrudSchemas(
} }
} }
}, },
{
label: '数量',
field: 'qty',
sort: 'custom',
isTable: true,
isSearch: false,
table: {
width: 150
},
form: {
component: 'InputNumber',
componentProps: {
min: 0,
precision: 2
}
}
},
{ {
label: '单位', label: '单位',
field: 'uom', field: 'uom',
@ -214,6 +231,7 @@ export const Q2 = useCrudSchemas(
label: '采购收货单号', label: '采购收货单号',
field: 'purchaseReceiptNumber', field: 'purchaseReceiptNumber',
sort: 'custom', sort: 'custom',
isTable: false,
table: { table: {
width: 180 width: 180
}, },
@ -263,23 +281,7 @@ export const Q2 = useCrudSchemas(
isTable: false, isTable: false,
isDetail: false isDetail: false
}, },
{
label: '数量',
field: 'qty',
sort: 'custom',
isTable: false,
isSearch: false,
table: {
width: 150
},
form: {
component: 'InputNumber',
componentProps: {
min: 0,
precision: 2
}
}
},
{ {
label: '编码', label: '编码',
field: 'code', field: 'code',
@ -288,6 +290,9 @@ export const Q2 = useCrudSchemas(
dictClass: 'string', dictClass: 'string',
isSearch: false, isSearch: false,
isTable: true, isTable: true,
table: {
width: 180
},
tableForm: { tableForm: {
type: 'Select' type: 'Select'
} }
@ -300,7 +305,7 @@ export const Q2 = useCrudSchemas(
dictType: DICT_TYPE.QUALITY_NOTIFICATION_PRIORITY, dictType: DICT_TYPE.QUALITY_NOTIFICATION_PRIORITY,
dictClass: 'string', dictClass: 'string',
isSearch: false, isSearch: false,
isTable: true, isTable: false,
tableForm: { tableForm: {
type: 'Select' type: 'Select'
} }
@ -311,6 +316,9 @@ export const Q2 = useCrudSchemas(
sort: 'custom', sort: 'custom',
isSearch: false, isSearch: false,
isForm: true, isForm: true,
table: {
width: 120
},
form: { form: {
componentProps: { componentProps: {
value: userStore.getUser.nickname, value: userStore.getUser.nickname,
@ -340,7 +348,7 @@ export const Q2 = useCrudSchemas(
field: 'costCode', field: 'costCode',
sort: 'custom', sort: 'custom',
isSearch: false, isSearch: false,
isTable: true, isTable: false,
isForm: true, isForm: true,
form: { form: {
// labelMessage: '信息提示说明!!!', // labelMessage: '信息提示说明!!!',
@ -375,7 +383,7 @@ export const Q2 = useCrudSchemas(
{ {
label: '索赔日期', label: '索赔日期',
field: 'claimTime', field: 'claimTime',
isForm: false, isTable: true,
table: { table: {
width: 180 width: 180
}, },
@ -396,7 +404,7 @@ export const Q2 = useCrudSchemas(
{ {
label: '处理时间', label: '处理时间',
field: 'handleTime', field: 'handleTime',
isForm: false, isTable: false,
table: { table: {
width: 180 width: 180
}, },

13
src/views/qms/inspectionQ3/inspectionQ3.data.ts

@ -173,7 +173,7 @@ export const Q3 = useCrudSchemas(
label: '数量', label: '数量',
field: 'qty', field: 'qty',
sort: 'custom', sort: 'custom',
isTable: false, isTable: true,
isSearch: false, isSearch: false,
table: { table: {
width: 150 width: 150
@ -223,7 +223,7 @@ export const Q3 = useCrudSchemas(
dictType: DICT_TYPE.DEFECT_LOCATION, dictType: DICT_TYPE.DEFECT_LOCATION,
dictClass: 'string', dictClass: 'string',
isSearch: false, isSearch: false,
isTable: true, isTable: false,
tableForm: { tableForm: {
type: 'Select' type: 'Select'
} }
@ -235,7 +235,7 @@ export const Q3 = useCrudSchemas(
dictType: DICT_TYPE.DEFECT_TYPE, dictType: DICT_TYPE.DEFECT_TYPE,
dictClass: 'string', dictClass: 'string',
isSearch: false, isSearch: false,
isTable: true, isTable: false,
tableForm: { tableForm: {
type: 'Select' type: 'Select'
} }
@ -247,7 +247,7 @@ export const Q3 = useCrudSchemas(
dictType: DICT_TYPE.PROBLEM_REASON, dictType: DICT_TYPE.PROBLEM_REASON,
dictClass: 'string', dictClass: 'string',
isSearch: false, isSearch: false,
isTable: true, isTable: false,
tableForm: { tableForm: {
type: 'Select' type: 'Select'
} }
@ -259,7 +259,7 @@ export const Q3 = useCrudSchemas(
dictType: DICT_TYPE.QUALITY_NOTIFICATION_PRIORITY, dictType: DICT_TYPE.QUALITY_NOTIFICATION_PRIORITY,
dictClass: 'string', dictClass: 'string',
isSearch: false, isSearch: false,
isTable: true, isTable: false,
tableForm: { tableForm: {
type: 'Select' type: 'Select'
} }
@ -270,6 +270,9 @@ export const Q3 = useCrudSchemas(
sort: 'custom', sort: 'custom',
isSearch: false, isSearch: false,
isForm: true, isForm: true,
table: {
width: 120
},
form: { form: {
componentProps: { componentProps: {
value: userStore.getUser.nickname, value: userStore.getUser.nickname,

1566
src/views/qms/inspectionRecord/addForm.vue

File diff suppressed because it is too large

561
src/views/qms/inspectionRecord/index.vue

@ -1,33 +1,53 @@
<template> <template>
<ContentWrap> <ContentWrap>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<Search :schema="InspectionRecordMain.allSchemas.searchSchema" @search="setSearchParams" @reset="setSearchParams" /> <Search
:schema="InspectionRecordMain.allSchemas.searchSchema"
@search="setSearchParams"
@reset="setSearchParams"
/>
</ContentWrap> </ContentWrap>
<!-- 列表头部 --> <!-- 列表头部 -->
<TableHead :HeadButttondata="HeadButttondata" @button-base-click="buttonBaseClick" :routeName="routeName" <TableHead
@updataTableColumns="updataTableColumns" @searchFormClick="searchFormClick" :HeadButttondata="HeadButttondata"
:allSchemas="InspectionRecordMain.allSchemas" /> @button-base-click="buttonBaseClick"
:routeName="routeName"
@updataTableColumns="updataTableColumns"
@searchFormClick="searchFormClick"
:allSchemas="InspectionRecordMain.allSchemas"
/>
<!-- 列表 --> <!-- 列表 -->
<ContentWrap> <ContentWrap>
<Table v-clientTable :columns="tableColumns" :data="tableObject.tableList" :loading="tableObject.loading" :pagination="{ <Table
v-clientTable
:columns="tableColumns"
:data="tableObject.tableList"
:loading="tableObject.loading"
:pagination="{
total: tableObject.total total: tableObject.total
}" v-model:pageSize="tableObject.pageSize" v-model:currentPage="tableObject.currentPage" }"
v-model:sort="tableObject.sort"> v-model:pageSize="tableObject.pageSize"
<template #number="{row}"> v-model:currentPage="tableObject.currentPage"
v-model:sort="tableObject.sort"
>
<template #number="{ row }">
<el-button type="primary" link @click="openDetail(row, '单据号', row.number)"> <el-button type="primary" link @click="openDetail(row, '单据号', row.number)">
<span>{{ row.number }}</span> <span>{{ row.number }}</span>
</el-button> </el-button>
</template> </template>
<template #action="{ row }"> <template #action="{ row }">
<ButtonBase :Butttondata="butttondata(row)" @button-base-click="buttonTableClick($event,row)" /> <ButtonBase
:Butttondata="butttondata(row)"
@button-base-click="buttonTableClick($event, row)"
/>
</template> </template>
</Table> </Table>
</ContentWrap> </ContentWrap>
<!-- 表单弹窗添加/修改 --> <!-- 表单弹窗添加/修改 -->
<UseAddForm <UseAddForm
ref="formRef" ref="formRef"
basicFormWidth="80" basicFormWidth="80"
:tableAllSchemas="InspectionRecordPackage.allSchemas" :tableAllSchemas="InspectionRecordPackage.allSchemas"
@ -38,7 +58,7 @@
/> />
<!-- 新增 --> <!-- 新增 -->
<AddForm <AddForm
ref="basicFormRef" ref="basicFormRef"
basicFormWidth="80" basicFormWidth="80"
:formAllSchemas="InspectionRecordMain.allSchemas" :formAllSchemas="InspectionRecordMain.allSchemas"
@ -46,38 +66,56 @@
:tableFormRules="InspectionJobPackageRules" :tableFormRules="InspectionJobPackageRules"
:rules="InspectionTemplateRules" :rules="InspectionTemplateRules"
@submitForm="submitFormExecute" @submitForm="submitFormExecute"
/> />
<Detail <Detail
ref="detailRef" :isBasic="false" :allSchemas="InspectionRecordMain.allSchemas" ref="detailRef"
:detailAllSchemas="InspectionRecordDetail.allSchemas" :detailAllSchemasRules="InspectionRecordDetailRules" :isBasic="false"
:allSchemas="InspectionRecordMain.allSchemas"
:detailAllSchemas="InspectionRecordDetail.allSchemas"
:detailAllSchemasRules="InspectionRecordDetailRules"
:apiCreate="InspectionRecordDetailApi.createInspectionRecordDetail" :apiCreate="InspectionRecordDetailApi.createInspectionRecordDetail"
:apiUpdate="InspectionRecordDetailApi.updateInspectionRecordDetail" :apiUpdate="InspectionRecordDetailApi.updateInspectionRecordDetail"
:apiPage="InspectionRecordDetailApi.getInspectionRecordDetailPage" :apiPage="InspectionRecordDetailApi.getInspectionRecordDetailPage"
:apiDelete="InspectionRecordDetailApi.deleteInspectionRecordDetail" @searchTableSuccessDetail="searchTableSuccessDetail" :apiDelete="InspectionRecordDetailApi.deleteInspectionRecordDetail"
:isShowAddBtn="false" :detailButtonIsShow="true" @searchTableSuccessDetail="searchTableSuccessDetail"
:isShowAddBtn="false"
:detailButtonIsShow="true"
/> />
<!-- 包装信息 --> <!-- 包装信息 -->
<ListTable ref="listTableRef" titleName="包装信息" :allSchemas="InspectionRecordMain.allSchemas" <ListTable
:detailAllSchemas="InspectionRecordPackage.allSchemas" :detailAllSchemasRules="InspectionRecordPackageRules" ref="listTableRef"
:list="list"/> titleName="包装信息"
:allSchemas="InspectionRecordMain.allSchemas"
:detailAllSchemas="InspectionRecordPackage.allSchemas"
:detailAllSchemasRules="InspectionRecordPackageRules"
:list="list"
/>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import download from '@/utils/download' import download from '@/utils/download'
import { InspectionRecordMain, InspectionRecordMainRules, InspectionRecordDetail, InspectionRecordDetailRules,InspectionRecordPackage, InspectionRecordPackageRules,InspectionRecordUser,InspectionRecordUserRules} from './inspectionRecordMain.data' import {
// import { InspectionJobPackage,InspectionJobPackageRules} from '../inspectionJob/inspectionJobMain.data' InspectionRecordMain,
import * as InspectionRecordPackageApi from '@/api/qms/inspectionRecord/InspectionRecordPackage/InspectionRecordPackage' InspectionRecordMainRules,
import * as InspectionRecordMainApi from '@/api/qms/inspectionRecord/inspectionRecordMain' InspectionRecordDetail,
import * as InspectionRecordDetailApi from '@/api/qms/inspectionRecord/inspectionRecordDetail' InspectionRecordDetailRules,
import * as defaultButtons from '@/utils/disposition/defaultButtons' InspectionRecordPackage,
import ListTable from '@/components/ListTable/src/ListTable.vue' InspectionRecordPackageRules,
import TableHead from '@/components/TableHead/src/TableHead.vue' InspectionRecordUser,
import UseAddForm from './useAddForm.vue' InspectionRecordUserRules
import AddForm from '../inspectionJob/addForm.vue' } from './inspectionRecordMain.data'
import Detail from './detail.vue' // import { InspectionJobPackage,InspectionJobPackageRules} from '../inspectionJob/inspectionJobMain.data'
import * as InspectionJobMainApi from '@/api/qms/inspectionJob/inspectionJobMain' import * as InspectionRecordPackageApi from '@/api/qms/inspectionRecord/InspectionRecordPackage/InspectionRecordPackage'
import * as InspectionRecordMainApi from '@/api/qms/inspectionRecord/inspectionRecordMain'
import * as InspectionRecordDetailApi from '@/api/qms/inspectionRecord/inspectionRecordDetail'
import * as defaultButtons from '@/utils/disposition/defaultButtons'
import ListTable from '@/components/ListTable/src/ListTable.vue'
import TableHead from '@/components/TableHead/src/TableHead.vue'
import UseAddForm from './useAddForm.vue'
import AddForm from './addForm.vue'
import Detail from './detail.vue'
import * as InspectionJobMainApi from '@/api/qms/inspectionJob/inspectionJobMain'
import { import {
InspectionJobMain, InspectionJobMain,
@ -90,275 +128,300 @@ import {
import { DICT_TYPE, getStrDictOptions } from '@/utils/dict' import { DICT_TYPE, getStrDictOptions } from '@/utils/dict'
// //
defineOptions({ name: 'InspectionRecordMain' }) defineOptions({ name: 'InspectionRecordMain' })
const message = useMessage() // const message = useMessage() //
const { t } = useI18n() // 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(InspectionRecordMain.allSchemas.tableColumns) const tableColumns = ref(InspectionRecordMain.allSchemas.tableColumns)
if(routeName.value=='InspectRecordMain'){ if (routeName.value == 'InspectRecordMain') {
tableColumns.value = tableColumns.value.filter(item=>{ tableColumns.value = tableColumns.value.filter((item) => {
return item.label!='操作' return item.label != '操作'
})
}
//
const updataTableColumns = (val) => {
if (routeName.value == 'InspectRecordMain') {
tableColumns.value = val.filter((item) => {
return item.label != '操作'
}) })
} else {
tableColumns.value = val
} }
// }
const updataTableColumns = (val) => {
if(routeName.value=='InspectRecordMain'){
tableColumns.value = val.filter(item=>{
return item.label!='操作'
})
}else{
tableColumns.value = val
}
}
// //
const { tableObject, tableMethods } = useTable({ const { tableObject, tableMethods } = useTable({
getListApi: InspectionRecordMainApi.getInspectionRecordMainPage // getListApi: InspectionRecordMainApi.getInspectionRecordMainPage //
}) })
// //
const { getList, setSearchParams } = tableMethods const { getList, setSearchParams } = tableMethods
// //
let HeadButttondata = [ let HeadButttondata = [
// defaultButtons.defaultExportBtn(null), // // defaultButtons.defaultExportBtn(null), //
defaultButtons.defaultFreshBtn(null), // defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), // defaultButtons.defaultFilterBtn(null), //
defaultButtons.defaultSetBtn(null), // defaultButtons.defaultSetBtn(null) //
] ]
// //
const buttonBaseClick = (val, item) => { const buttonBaseClick = (val, item) => {
if (val == 'add') { // if (val == 'add') {
openForm('create') //
} else if (val == 'import') { // openForm('create')
handleImport() } else if (val == 'import') {
} else if (val == 'export') { // //
handleExport() handleImport()
} else if (val == 'refresh') { // } else if (val == 'export') {
getList() //
} else if (val == 'filtrate') { // handleExport()
} else { // } else if (val == 'refresh') {
console.log('其他按钮', item) //
} getList()
} else if (val == 'filtrate') {
//
} else {
//
console.log('其他按钮', item)
} }
}
const isShowMainButton = (row, val) => { const isShowMainButton = (row, val) => {
if(!row.callbackRequestNumber) {//callbackRequestNumber使 if (!row.callbackRequestNumber) {
return true; //callbackRequestNumber使
} return true
if(row.useDecision) { }
return row.isPublished if (row.useDecision) {
} else { return row.isPublished
return val ? true : false } else {
} return val ? true : false
} }
const isShowEditBtn = (row, val) => {
if (val.indexOf(row.inspectionType) > -1) {
return true
} else {
return row.useDecision
}
} }
const isShowPackageBtn = (row, val) => { const isShowEditBtn = (row, val) => {
if (val.indexOf(row.inspectionType) > -1) { if (val.indexOf(row.inspectionType) > -1) {
return true return true
} else { } else {
return false return row.useDecision
}
} }
// - }
const butttondata = (row) => { const isShowPackageBtn = (row, val) => {
return [ if (val.indexOf(row.inspectionType) > -1) {
// defaultButtons.mainListOrderCOMPLETEBtn({ hide: isShowMainButton(row, ['INCOMPLETE']) }), // return true
defaultButtons.mainApplyDecisionBtn({ hide: isShowMainButton(row, null), hasPermi:'qms:inspection-recode-main:edit'}), // 使 } else {
// defaultButtons.mainListDeleteBtn(null), // return false
defaultButtons.mainListOrderPubBtn({ hide: isShowMainButton(row, 'publish'), hasPermi:'qms:inspection-recode-main:pub'}), //
defaultButtons.mainListPackageBtn({hide: isShowPackageBtn(row,['11'])}), //
// defaultButtons.mainListJobExeBtn({
// hide:row.useDecision,
// hasPermi: 'qms:inspection-recode-main:execute',
// }), //
defaultButtons.mainListEditBtn({ hide:isShowEditBtn(row,['11'])}), //
]
} }
}
// -
const butttondata = (row) => {
return [
// defaultButtons.mainListOrderCOMPLETEBtn({ hide: isShowMainButton(row, ['INCOMPLETE']) }), //
defaultButtons.mainApplyDecisionBtn({
hide: isShowMainButton(row, null),
hasPermi: 'qms:inspection-recode-main:edit'
}), // 使
// defaultButtons.mainListDeleteBtn(null), //
defaultButtons.mainListOrderPubBtn({
hide: isShowMainButton(row, 'publish'),
hasPermi: 'qms:inspection-recode-main:pub'
}), //
defaultButtons.mainListPackageBtn({ hide: isShowPackageBtn(row, ['11']) }), //
// defaultButtons.mainListJobExeBtn({
// hide:row.useDecision,
// hasPermi: 'qms:inspection-recode-main:execute',
// }), //
defaultButtons.mainListEditBtn({ hide: isShowEditBtn(row, ['11']) }) //
]
}
const listTableRef = ref() const listTableRef = ref()
const list = ref([]) const list = ref([])
const useDecisionList = getStrDictOptions(DICT_TYPE.USAGE_DECISION) const useDecisionList = getStrDictOptions(DICT_TYPE.USAGE_DECISION)
// const useDecisionList = InspectionRecordMain.allSchemas.formSchema.filter(item=>item.field == "useDecision") // const useDecisionList = InspectionRecordMain.allSchemas.formSchema.filter(item=>item.field == "useDecision")
// - // -
const buttonTableClick = async (val, row) => { const buttonTableClick = async (val, row) => {
if (val == 'applyDecision') { // if (val == 'applyDecision') {
// 1使 //
if(row.estimateCode == 1){ // 1使
InspectionRecordMain.allSchemas.formSchema.forEach((itemColumn) =>{ if (row.estimateCode == 1) {
if(itemColumn.field == "useDecision"){ InspectionRecordMain.allSchemas.formSchema.forEach((itemColumn) => {
itemColumn.componentProps.options=useDecisionList?.filter(item=>item.value==1) if (itemColumn.field == 'useDecision') {
} itemColumn.componentProps.options = useDecisionList?.filter((item) => item.value == 1)
}) }
}else if(row.estimateCode == 2){ })
InspectionRecordMain.allSchemas.formSchema.forEach((itemColumn) =>{ } else if (row.estimateCode == 2) {
if(itemColumn.field == "useDecision"){ InspectionRecordMain.allSchemas.formSchema.forEach((itemColumn) => {
itemColumn.componentProps.options=useDecisionList?.filter(item=>item.value!=1) if (itemColumn.field == 'useDecision') {
} itemColumn.componentProps.options = useDecisionList?.filter((item) => item.value != 1)
}) }
}
openUseForm('update', row)
}else if (val == 'mainPackage') { //
list.value = await InspectionRecordPackageApi.getInspectionRecordPackageList(row.id)
list.value.forEach(item=>{
item.qualifiedAmount = item.qualifiedAmount ?item.qualifiedAmount :0
item.noQualifiedAmount = item.noQualifiedAmount ?item.noQualifiedAmount :0
item.destroyAmount = item.destroyAmount ?item.destroyAmount :0
item.frozenAmount = item.frozenAmount ?item.frozenAmount :0
}) })
// row.status = '1'
listTableRef.value.openPackage(row,'包装信息',InspectionRecordPackage.allSchemas.tableColumns)
}else if (val == 'delete') { //
handleDelete(row.id)
}else if (val == 'mainOrderPub') { //
handleOrderPub(row)
}else if (val == 'edit') { //
//
execute('execute', row)
} }
openUseForm('update', row)
} else if (val == 'mainPackage') {
//
list.value = await InspectionRecordPackageApi.getInspectionRecordPackageList(row.id)
list.value.forEach((item) => {
item.qualifiedAmount = item.qualifiedAmount ? item.qualifiedAmount : 0
item.noQualifiedAmount = item.noQualifiedAmount ? item.noQualifiedAmount : 0
item.destroyAmount = item.destroyAmount ? item.destroyAmount : 0
item.frozenAmount = item.frozenAmount ? item.frozenAmount : 0
})
// row.status = '1'
listTableRef.value.openPackage(row, '包装信息', InspectionRecordPackage.allSchemas.tableColumns)
} else if (val == 'delete') {
//
handleDelete(row.id)
} else if (val == 'mainOrderPub') {
//
handleOrderPub(row)
} else if (val == 'edit') {
//
//
execute('execute', row)
} }
/** 添加/修改操作 */ }
const basicFormRef = ref() /** 添加/修改操作 */
// const openForm = async (type : string, row ?: number) => { const basicFormRef = ref()
// tableData.value = [] // // const openForm = async (type : string, row ?: number) => {
// basicFormRef.value.open(type, row) // tableData.value = [] //
// } // basicFormRef.value.open(type, row)
/** 使用决策操作操作 */ // }
const formRef = ref() /** 使用决策操作操作 */
const openUseForm = async (type : string, row ?: number) => { const formRef = ref()
tableData.value = [] // const openUseForm = async (type: string, row?: number) => {
formRef.value.open(type, row) tableData.value = [] //
} formRef.value.open(type, row)
}
/** 详情操作 */
const detailRef = ref()
const openDetail = (row : any, titleName : any, titleValue : any) => {
detailRef.value.openDetail(row, titleName, titleValue, 'basicInspectionRecordMain')
}
/** 删除按钮操作 */ /** 详情操作 */
const handleDelete = async (id : number) => { const detailRef = ref()
try { const openDetail = (row: any, titleName: any, titleValue: any) => {
// detailRef.value.openDetail(row, titleName, titleValue, 'basicInspectionRecordMain')
await message.delConfirm() }
//
await InspectionRecordMainApi.deleteInspectionRecordMain(id)
message.success(t('common.delSuccess'))
//
await getList()
} catch { }
}
/** 发布按钮操作 */
const handleOrderPub = async (row : object) => {
try {
//
await message.confirm(t('common.confirmPublish'))
//
await InspectionRecordMainApi.publishInspectionRecordMain(row.id)
message.success(t('common.publishSuccess'))
//
await getList()
} catch { }
}
/** 删除按钮操作 */
const handleDelete = async (id: number) => {
try {
//
await message.delConfirm()
//
await InspectionRecordMainApi.deleteInspectionRecordMain(id)
message.success(t('common.delSuccess'))
//
await getList()
} catch {}
}
/** 发布按钮操作 */
const handleOrderPub = async (row: object) => {
try {
//
await message.confirm(t('common.confirmPublish'))
//
await InspectionRecordMainApi.publishInspectionRecordMain(row.id)
message.success(t('common.publishSuccess'))
//
await getList()
} catch {}
}
// //
const execute = async (type: string, row?: number) => { const execute = async (type: string, row?: number) => {
basicFormRef.value.open(type, row) basicFormRef.value.open(type, row)
} }
/** 导出按钮操作 */ /** 导出按钮操作 */
const exportLoading = ref(false) // const exportLoading = ref(false) //
const handleExport = async () => { const handleExport = async () => {
try { try {
// //
await message.exportConfirm() await message.exportConfirm()
// //
exportLoading.value = true exportLoading.value = true
const data = await InspectionRecordMainApi.exportInspectionRecordMain(tableObject.params) const data = await InspectionRecordMainApi.exportInspectionRecordMain(tableObject.params)
download.excel(data, '备件申领记录主.xlsx') download.excel(data, '备件申领记录主.xlsx')
} catch { } catch {
} finally { } finally {
exportLoading.value = false exportLoading.value = false
}
} }
}
/** /**
* tableForm方法 * tableForm方法
*/ */
const tableFormKeys = {} const tableFormKeys = {}
InspectionRecordDetail.allSchemas.tableFormColumns.forEach(item => { InspectionRecordDetail.allSchemas.tableFormColumns.forEach((item) => {
tableFormKeys[item.field] = item.default ? item.default : '' tableFormKeys[item.field] = item.default ? item.default : ''
}) })
const tableData = ref([]) const tableData = ref([])
// // // //
const submitForm = async (formType, data) => { const submitForm = async (formType, data) => {
// data.subList = tableData.value // // data.subList = tableData.value //
try { try {
if (formType === 'create') { if (formType === 'create') {
await InspectionRecordMainApi.createInspectionRecordMain(data) await InspectionRecordMainApi.createInspectionRecordMain(data)
message.success(t('common.createSuccess')) message.success(t('common.createSuccess'))
}else { } else {
await InspectionRecordMainApi.updateInspectionRecordMain(data) await InspectionRecordMainApi.updateInspectionRecordMain(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
}
formRef.value.dialogVisible = false
//
getList()
} finally {
formRef.value.formLoading = false
} }
formRef.value.dialogVisible = false
//
getList()
} finally {
formRef.value.formLoading = false
}
} }
// //
const submitFormExecute = async (formType, data) => { const submitFormExecute = async (formType, data) => {
// return // return
console.log(formType, data) console.log(formType, data)
data.status = '2' data.status = '2'
try { try {
basicFormRef.value.formLoading = true
if (formType === 'create') { if (formType === 'create') {
await InspectionJobMainApi.createInspectionJobMain(data) await InspectionJobMainApi.createInspectionJobMain(data)
message.success(t('common.createSuccess')) message.success(t('common.createSuccess'))
} else if (formType === 'execute') { } else if (formType === 'execute') {
await InspectionJobMainApi.executeInspectionJobMain(data) await InspectionRecordMainApi.executeInspectionRecordMain(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
basicFormRef.value.dialogVisible = false basicFormRef.value.dialogVisible = false
basicFormRef.value.formLoading = false
// //
getList() getList()
} finally { } finally {
basicFormRef.value.formLoading = false basicFormRef.value.formLoading = false
} }
} }
// //
const searchFormClick = (searchData) => { const searchFormClick = (searchData) => {
tableObject.params = { let isHave = searchData?.filters?.some((item) => item.column == 'inspectionType')
isSearch: true, if (!isHave) {
filters: searchData.filters searchData.filters.push({
} action: '!=',
getList() // column: 'inspectionType',
value: '11'
})
} }
tableObject.params = {
isSearch: true,
filters: searchData.filters
}
getList() //
}
/** 初始化 **/ /** 初始化 **/
onMounted(async () => { onMounted(async () => {
tableObject.params = { tableObject.params = {
available: true available: true,
} excludeInspectionType: '11'
getList() }
}) getList()
})
</script> </script>

670
src/views/qms/inspectionRecordFirst/addForm.vue

@ -139,322 +139,353 @@
</span> </span>
</template> </template>
<div class="tabs-box"> <div class="tabs-box">
<div class="small-title">检验工序</div> <el-collapse v-model="collapseShow">
<el-form :model="item" label-width="auto" :rules="rules" ref="formProcessRef"> <el-collapse-item name="1">
<el-row :gutter="20"> <template #title>
<el-col :span="12"> <div class="small-title">检验工序</div>
<el-form-item label="编码" prop="processCode"> </template>
<el-input <el-form :model="item" label-width="auto" :rules="rules" ref="formProcessRef">
v-model="item.processCode" <el-row :gutter="20">
placeholder="根据系统生成" <el-col :span="12">
:disabled="true" <el-form-item label="编码" prop="processCode">
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="检验特性编号">
<el-input
v-model="item.inspectionFeatureCode"
placeholder="根据系统生成"
:disabled="true"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="描述" prop="processDescribe">
<el-input v-model="item.processDescribe" :disabled="true" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="顺序号" prop="sequenceCode">
<el-input v-model="item.sequenceCode" :disabled="true" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="small-title">检验特性</div>
<el-form :model="item" label-width="auto" :rules="rules" ref="formFeaturesRef">
<div>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="编码">
<el-input
v-model="item.inspectionJobCharacteristicsUpdateReqVO.number"
placeholder="根据系统生成"
:disabled="true"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="描述"
prop="inspectionJobCharacteristicsUpdateReqVO.description"
>
<el-input
v-model="item.inspectionJobCharacteristicsUpdateReqVO.description"
:disabled="true"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="检验方法"
prop="inspectionJobCharacteristicsUpdateReqVO.inspectionMethodCode"
>
<div style="display: flex; width: 100%">
<el-input <el-input
v-model=" v-model="item.processCode"
item.inspectionJobCharacteristicsUpdateReqVO.inspectionMethodName placeholder="根据系统生成"
" :disabled="true"
disabled
placeholder="请选择检验方法"
/> />
</div> </el-form-item>
</el-form-item> </el-col>
</el-col> <el-col :span="12">
<el-col :span="12"> <el-form-item label="检验特性编号">
<el-form-item
label="采样过程编码"
prop="inspectionJobCharacteristicsUpdateReqVO.samplingProcessCode"
>
<div style="display: flex; width: 100%">
<el-input
v-model="
item.inspectionJobCharacteristicsUpdateReqVO.samplingProcessName
"
disabled
placeholder="请选择采样过程编码"
/>
</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="样品份数" prop="samplingProcessRespVO.sampleQty">
<div style="display: flex; width: 100%">
<el-input <el-input
v-model="item.samplingProcessRespVO.sampleQty" v-model="item.inspectionFeatureCode"
disabled placeholder="根据系统生成"
placeholder="请输入样品份数" :disabled="true"
/> />
</div> </el-form-item>
</el-form-item> </el-col>
</el-col> <el-col :span="12">
<el-form-item label="描述" prop="processDescribe">
<el-input v-model="item.processDescribe" :disabled="true" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="顺序号" prop="sequenceCode">
<el-input v-model="item.sequenceCode" :disabled="true" />
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-collapse-item>
<el-collapse-item name="2">
<template #title>
<div class="small-title">检验特性</div>
</template>
<el-form :model="item" label-width="auto" :rules="rules" ref="formFeaturesRef">
<div>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="编码">
<el-input
v-model="item.inspectionJobCharacteristicsUpdateReqVO.number"
placeholder="根据系统生成"
:disabled="true"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="描述"
prop="inspectionJobCharacteristicsUpdateReqVO.description"
>
<el-input
v-model="item.inspectionJobCharacteristicsUpdateReqVO.description"
:disabled="true"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="检验方法"
prop="inspectionJobCharacteristicsUpdateReqVO.inspectionMethodCode"
>
<div style="display: flex; width: 100%">
<el-input
v-model="
item.inspectionJobCharacteristicsUpdateReqVO.inspectionMethodName
"
disabled
placeholder="请选择检验方法"
/>
</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="采样过程编码"
prop="inspectionJobCharacteristicsUpdateReqVO.samplingProcessCode"
>
<div style="display: flex; width: 100%">
<el-input
v-model="
item.inspectionJobCharacteristicsUpdateReqVO.samplingProcessName
"
disabled
placeholder="请选择采样过程编码"
/>
</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="样品份数" prop="samplingProcessRespVO.sampleQty">
<div style="display: flex; width: 100%">
<el-input
v-model="item.samplingProcessRespVO.sampleQty"
disabled
placeholder="请输入样品份数"
/>
</div>
</el-form-item>
</el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item <el-form-item
label="每份样品量" label="每份样品量"
prop="inspectionJobCharacteristicsUpdateReqVO.samplePieceSize" prop="inspectionJobCharacteristicsUpdateReqVO.samplePieceSize"
> >
<div style="display: flex; width: 100%"> <div style="display: flex; width: 100%">
<el-input <el-input
v-model="data.samplePieceSize" v-model="data.samplePieceSize"
disabled disabled
placeholder="请输入样品份数" placeholder="请输入样品份数"
/> />
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item <el-form-item
label="是否允许修改特征值" label="是否允许修改特征值"
prop="inspectionJobCharacteristicsUpdateReqVO.isCanUpdate" prop="inspectionJobCharacteristicsUpdateReqVO.isCanUpdate"
> >
<el-switch <el-switch
v-model="item.inspectionJobCharacteristicsUpdateReqVO.isCanUpdate" v-model="item.inspectionJobCharacteristicsUpdateReqVO.isCanUpdate"
disabled disabled
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item <el-form-item
label="结果录入方式" label="结果录入方式"
prop="inspectionJobCharacteristicsUpdateReqVO.resultEntryMethod" prop="inspectionJobCharacteristicsUpdateReqVO.resultEntryMethod"
> >
<el-select <el-select
v-model="item.inspectionJobCharacteristicsUpdateReqVO.resultEntryMethod" v-model="
placeholder="请选择结果录入方式" item.inspectionJobCharacteristicsUpdateReqVO.resultEntryMethod
@change="resultEntryMethodChange($event, item)" "
disabled placeholder="请选择结果录入方式"
@change="resultEntryMethodChange($event, item)"
disabled
>
<el-option
v-for="dict in getStrDictOptions(
DICT_TYPE.INSPECTION_CHARACTERISTICS_RESULT_ENTRY
)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="特征类型"
prop="inspectionJobCharacteristicsUpdateReqVO.featureType"
>
<el-select
v-model="item.inspectionJobCharacteristicsUpdateReqVO.featureType"
placeholder="请选择特征类型"
@change="changeFeatureType"
disabled
>
<el-option
v-for="dict in getStrDictOptions(
DICT_TYPE.INSPECTION_CHARACTERISTICS_FEATURE_TYPE
)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col
:span="12"
v-if="item.inspectionJobCharacteristicsUpdateReqVO.featureType == 0"
> >
<el-option <el-form-item
v-for="dict in getStrDictOptions( label="是否设定上限"
DICT_TYPE.INSPECTION_CHARACTERISTICS_RESULT_ENTRY prop="inspectionCharacteristicsBaseVO.quantifyIsCapping"
)" >
:key="dict.value" <el-switch
:label="dict.label" v-model="
:value="dict.value" item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping
/> "
</el-select> :disabled="true"
</el-form-item> />
</el-col> </el-form-item>
<el-col :span="12"> </el-col>
<el-form-item <el-col
label="特征类型" :span="12"
prop="inspectionJobCharacteristicsUpdateReqVO.featureType" v-if="
> item.inspectionJobCharacteristicsUpdateReqVO.featureType == 0 &&
<el-select item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping
v-model="item.inspectionJobCharacteristicsUpdateReqVO.featureType" "
placeholder="请选择特征类型"
@change="changeFeatureType"
disabled
> >
<el-option <el-form-item
v-for="dict in getStrDictOptions( label="上限值"
DICT_TYPE.INSPECTION_CHARACTERISTICS_FEATURE_TYPE prop="inspectionCharacteristicsBaseVO.quantifyCapping"
)" >
:key="dict.value" <el-input
:label="dict.label" v-model="item.inspectionJobCharacteristicsUpdateReqVO.quantifyCapping"
:value="dict.value" :disabled="true"
/> />
</el-select> </el-form-item>
</el-form-item> </el-col>
</el-col>
<el-col
:span="12"
v-if="item.inspectionJobCharacteristicsUpdateReqVO.featureType == 0"
>
<el-form-item
label="是否设定上限"
prop="inspectionCharacteristicsBaseVO.quantifyIsCapping"
>
<el-switch
v-model="item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping"
:disabled="true"
/>
</el-form-item>
</el-col>
<el-col
:span="12"
v-if="
item.inspectionJobCharacteristicsUpdateReqVO.featureType == 0 &&
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping
"
>
<el-form-item
label="上限值"
prop="inspectionCharacteristicsBaseVO.quantifyCapping"
>
<el-input
v-model="item.inspectionJobCharacteristicsUpdateReqVO.quantifyCapping"
:disabled="true"
/>
</el-form-item>
</el-col>
<el-col
:span="12"
v-if="item.inspectionJobCharacteristicsUpdateReqVO.featureType == 0"
>
<el-form-item
label="是否设定下限"
prop="inspectionCharacteristicsBaseVO.quantifyIsCapping"
>
<el-switch
v-model="item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsLowlimit"
:disabled="true"
/>
</el-form-item>
</el-col>
<el-col
:span="12"
v-if="
item.inspectionJobCharacteristicsUpdateReqVO.featureType == 0 &&
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsLowlimit
"
>
<el-form-item
label="下限值"
prop="inspectionCharacteristicsBaseVO.quantifyCapping"
>
<el-input
v-model="item.inspectionJobCharacteristicsUpdateReqVO.quantifyLowlimit"
:disabled="true"
/>
</el-form-item>
</el-col>
<el-col <el-col
:span="12" :span="12"
v-if="item.inspectionJobCharacteristicsUpdateReqVO.featureType == 0" v-if="item.inspectionJobCharacteristicsUpdateReqVO.featureType == 0"
> >
<el-form-item <el-form-item
label="是否设定目标值" label="是否设定下限"
prop="inspectionCharacteristicsBaseVO.quantifyIsCapping" prop="inspectionCharacteristicsBaseVO.quantifyIsCapping"
> >
<el-switch <el-switch
v-model="item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsTarget" v-model="
:disabled="true" item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsLowlimit
/> "
</el-form-item> :disabled="true"
</el-col> />
<el-col </el-form-item>
:span="12" </el-col>
v-if=" <el-col
item.inspectionJobCharacteristicsUpdateReqVO.featureType == 0 && :span="12"
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsTarget v-if="
" item.inspectionJobCharacteristicsUpdateReqVO.featureType == 0 &&
> item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsLowlimit
<el-form-item "
label="目标值" >
prop="inspectionCharacteristicsBaseVO.quantifyCapping" <el-form-item
> label="下限值"
<el-input prop="inspectionCharacteristicsBaseVO.quantifyCapping"
v-model="item.inspectionJobCharacteristicsUpdateReqVO.quantifyTarget" >
:disabled="true" <el-input
/> v-model="
</el-form-item> item.inspectionJobCharacteristicsUpdateReqVO.quantifyLowlimit
</el-col> "
:disabled="true"
/>
</el-form-item>
</el-col>
<el-col :span="12"> <el-col
<el-form-item :span="12"
label="开始时间" v-if="item.inspectionJobCharacteristicsUpdateReqVO.featureType == 0"
prop="inspectionJobCharacteristicsUpdateReqVO.inspectionStartTime"
>
<el-date-picker
v-model="item.inspectionJobCharacteristicsUpdateReqVO.inspectionStartTime"
type="datetime"
placeholder="请选择开始时间"
style="width: 100%"
value-format="x"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="结束时间"
prop="inspectionJobCharacteristicsUpdateReqVO.inspectionEndTime"
>
<el-date-picker
v-model="item.inspectionJobCharacteristicsUpdateReqVO.inspectionEndTime"
type="datetime"
placeholder="请选择结束时间"
style="width: 100%"
value-format="x"
/>
</el-form-item>
</el-col>
<!-- 手动评估的时候显示 -->
<el-col :span="12" v-if="item.samplingProcessRespVO.evaluationMode == 1">
<el-form-item
label="评估代码"
required
prop="inspectionJobCharacteristicsUpdateReqVO.estimateCode"
>
<el-select
v-model="item.inspectionJobCharacteristicsUpdateReqVO.estimateCode"
placeholder="请选择评估代码"
@change="changeFeatureType"
> >
<el-option <el-form-item
v-for="dict in getStrDictOptions(DICT_TYPE.EVALUATION_CODE)" label="是否设定目标值"
:key="dict.value" prop="inspectionCharacteristicsBaseVO.quantifyIsCapping"
:label="dict.label" >
:value="dict.value" <el-switch
/> v-model="
</el-select> item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsTarget
</el-form-item> "
</el-col> :disabled="true"
/>
</el-form-item>
</el-col>
<el-col
:span="12"
v-if="
item.inspectionJobCharacteristicsUpdateReqVO.featureType == 0 &&
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsTarget
"
>
<el-form-item
label="目标值"
prop="inspectionCharacteristicsBaseVO.quantifyCapping"
>
<el-input
v-model="item.inspectionJobCharacteristicsUpdateReqVO.quantifyTarget"
:disabled="true"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="开始时间"
prop="inspectionJobCharacteristicsUpdateReqVO.inspectionStartTime"
>
<el-date-picker
v-model="
item.inspectionJobCharacteristicsUpdateReqVO.inspectionStartTime
"
type="datetime"
placeholder="请选择开始时间"
style="width: 100%"
value-format="x"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="结束时间"
prop="inspectionJobCharacteristicsUpdateReqVO.inspectionEndTime"
>
<el-date-picker
v-model="
item.inspectionJobCharacteristicsUpdateReqVO.inspectionEndTime
"
type="datetime"
placeholder="请选择结束时间"
style="width: 100%"
value-format="x"
/>
</el-form-item>
</el-col>
<!-- 手动评估的时候显示 -->
<el-col :span="12" v-if="item.samplingProcessRespVO.evaluationMode == 1">
<el-form-item
label="评估代码"
required
prop="inspectionJobCharacteristicsUpdateReqVO.estimateCode"
>
<el-select
v-model="item.inspectionJobCharacteristicsUpdateReqVO.estimateCode"
placeholder="请选择评估代码"
@change="changeFeatureType"
>
<el-option
v-for="dict in getStrDictOptions(DICT_TYPE.EVALUATION_CODE)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</el-collapse-item>
<el-collapse-item name="3">
<template #title>
<div class="small-title">检验结果</div>
</template>
<el-form :model="item" label-width="auto" :rules="rules" ref="formFeaturesRef">
<el-col <el-col
:span="24" :span="24"
v-for="(cur, i) in item.inspectionJobCharacteristicsUpdateReqVO v-for="(cur, i) in item.inspectionJobCharacteristicsUpdateReqVO
@ -551,9 +582,9 @@
</el-row> </el-row>
</div> </div>
</el-col> </el-col>
</el-row> </el-form>
</div> </el-collapse-item>
</el-form> </el-collapse>
</div> </div>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
@ -662,6 +693,7 @@ const formMainRef = ref()
const formFeaturesRef = ref() const formFeaturesRef = ref()
const formProcessRef = ref() const formProcessRef = ref()
const formSchema = ref(props.formAllSchemas?.formSchema) const formSchema = ref(props.formAllSchemas?.formSchema)
const collapseShow = ref(['1','2','3'])
const data = ref({ const data = ref({
code: '', code: '',
@ -1081,12 +1113,12 @@ const opensearchItemsTable = () => {
column: 'type', column: 'type',
action: 'in', action: 'in',
value: 'BCP,CCP' value: 'BCP,CCP'
},
{
column: 'status',
action: 'in',
value: 'ENABLE'
} }
// {
// column: 'status',
// action: 'in',
// value: 'ENABLE'
// }
) )
// //
_searchCondition.isSearch = true _searchCondition.isSearch = true
@ -1178,7 +1210,7 @@ const searchTableSuccess = async (formField, searchField, val, type, row) => {
data.value.inspectionSchemeCode = InspectionSchemeObj?.code || '' data.value.inspectionSchemeCode = InspectionSchemeObj?.code || ''
if (!data.value.inspectionSchemeCode) { if (!data.value.inspectionSchemeCode) {
data.value.subList = [] data.value.subList = []
return; return
} }
let list = await InspectionJobDetailApi.getBySchemeCode(data.value.inspectionSchemeCode) let list = await InspectionJobDetailApi.getBySchemeCode(data.value.inspectionSchemeCode)
editableTabsValue.value = 1 editableTabsValue.value = 1
@ -1552,14 +1584,14 @@ const onItemBlur = async (field, pageApi) => {
// data.value['itemName'] = obj.name // data.value['itemName'] = obj.name
// data.value['desc1'] = obj.desc1 // data.value['desc1'] = obj.desc1
// const searchTableSuccess = async(formField, searchField, val, type, row) // const searchTableSuccess = async(formField, searchField, val, type, row)
searchTableSuccess(field,'code',array.list,'main') searchTableSuccess(field, 'code', array.list, 'main')
} else { } else {
message.alert('暂无数据') message.alert('暂无数据')
data.value[field] = '' data.value[field] = ''
data.value['itemName'] = '' data.value['itemName'] = ''
data.value['desc1'] = '' data.value['desc1'] = ''
data.value['inspectionSchemeCode'] = '' data.value['inspectionSchemeCode'] = ''
data.value.subList =[] data.value.subList = []
} }
} else { } else {
data.value[field] = '' data.value[field] = ''
@ -1611,12 +1643,12 @@ const onInspectionSchemeBlur = async (field, pageApi) => {
count.value++ count.value++
const obj = array.list[0] const obj = array.list[0]
if (obj) { if (obj) {
searchTableSuccess(field,'code',array.list,'main') searchTableSuccess(field, 'code', array.list, 'main')
} else { } else {
message.alert('暂无数据') message.alert('暂无数据')
data.value[field] = '' data.value[field] = ''
data.value['inspectionSchemeName'] = '' data.value['inspectionSchemeName'] = ''
data.value.subList =[] data.value.subList = []
} }
} else { } else {
data.value['inspectionSchemeName'] = '' data.value['inspectionSchemeName'] = ''

5
src/views/wms/basicDataManage/itemManage/bom/bom.data.ts

@ -82,6 +82,11 @@ export const Bom = useCrudSchemas(reactive<CrudSchema[]>([
isTable: true, isTable: true,
table: { table: {
width: 150 width: 150
},
form:{
componentProps:{
disabled: true,
}
} }
}, },
{ {

3
src/views/wms/basicDataManage/itemManage/bom/index.vue

@ -216,6 +216,9 @@ const searchTableSuccess = (formField, searchField, val, formRef) => {
nextTick(() => { nextTick(() => {
const setV = {} const setV = {}
setV[formField] = val[0][searchField] setV[formField] = val[0][searchField]
if('componentItemCode'==formField){
setV['componentUom'] = val[0]['uom']
}
formRef.setValues(setV) formRef.setValues(setV)
}) })
} }

171
src/views/wms/basicDataManage/strategySetting/strategy/upShelfStrategy/AddForm.vue

@ -310,7 +310,6 @@
v-model="warehouseType" v-model="warehouseType"
placeholder="" placeholder=""
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
@change="changeWarehouse"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -319,7 +318,56 @@
:key="'仓库'+cur.value" :key="'仓库'+cur.value"
/> />
</el-select> </el-select>
<el-select <!-- <el-row class="border-row" style="flex:1;display: flex; flex-direction: row;align-items: center;">
<el-tag class="mr-5px mb-5px"
v-for="tag in formData.configuration.WarehouseCodes"
:key="tag"
closable
:disable-transitions="false"
@close="tagHandleClose(tag,formData.configuration.WarehouseCodes)"
>
{{ tag }}
</el-tag> -->
<!-- 仓库 -->
<el-input style="flex:1" v-show="warehouseType == 'WarehouseCode'" placeholder="请选择仓库" v-model="formData.configuration.WarehouseCode">
<template #suffix>
<el-button type="text" plain style="color:var(--el-button-text-color)" @click="searchWarehouse">
<Icon icon="ep:search" class="mr-5px" />
</el-button>
</template>
</el-input>
<!-- 库区 -->
<el-input style="flex:1" v-show="warehouseType == 'AreaCode'" placeholder="请选择库区" v-model="formData.configuration.AreaCode">
<template #suffix>
<el-button type="text" plain style="color:var(--el-button-text-color)" @click="searchWarehouse">
<Icon icon="ep:search" class="mr-5px" />
</el-button>
</template>
</el-input>
<!-- 库位组 -->
<el-input style="flex:1" v-show="warehouseType == 'LocationGroupCode'" placeholder="请选择库位组" v-model="formData.configuration.LocationGroupCode">
<template #suffix>
<el-button type="text" plain style="color:var(--el-button-text-color)" @click="searchWarehouse">
<Icon icon="ep:search" class="mr-5px" />
</el-button>
</template>
</el-input>
<!-- 库位 -->
<el-input style="flex:1" v-show="warehouseType == 'LocationCode'" placeholder="请选择库位" v-model="formData.configuration.LocationCode">
<template #suffix>
<el-button type="text" plain style="color:var(--el-button-text-color)" @click="searchWarehouse">
<Icon icon="ep:search" class="mr-5px" />
</el-button>
</template>
</el-input>
<!-- </el-row> -->
<!-- <el-select
v-model="formData.configuration.WarehouseCode" v-model="formData.configuration.WarehouseCode"
v-if="warehouseType == 'WarehouseCode'" v-if="warehouseType == 'WarehouseCode'"
placeholder="请选择仓库" placeholder="请选择仓库"
@ -335,8 +383,8 @@
:label="cur.code" :label="cur.code"
:value="cur.code" :value="cur.code"
/> />
</el-select> </el-select> -->
<el-select <!-- <el-select
v-model="formData.configuration.AreaCode" v-model="formData.configuration.AreaCode"
v-if="warehouseType == 'AreaCode'" v-if="warehouseType == 'AreaCode'"
placeholder="请选择库区" placeholder="请选择库区"
@ -387,7 +435,7 @@
:label="cur.code" :label="cur.code"
:value="cur.code" :value="cur.code"
/> />
</el-select> </el-select> -->
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- 优先空位库 --> <!-- 优先空位库 -->
@ -509,6 +557,10 @@
<TableHead :HeadButttondata="Butttondata" @buttonBaseClick="buttonBaseClick" /> <TableHead :HeadButttondata="Butttondata" @buttonBaseClick="buttonBaseClick" />
</template> </template>
</Dialog> </Dialog>
<SearchTable
ref="searchTableRef"
@searchTableSuccess="searchTableSuccess"
/>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import * as defaultButtons from '@/utils/disposition/defaultButtons' import * as defaultButtons from '@/utils/disposition/defaultButtons'
@ -520,7 +572,15 @@ import { getAreaList } from '@/api/wms/areabasic'
import { getLocationgroupList } from '@/api/wms/locationgroup' import { getLocationgroupList } from '@/api/wms/locationgroup'
import { getLocationList } from '@/api/wms/location' import { getLocationList } from '@/api/wms/location'
import * as RuleApi from '@/api/wms/rule' import * as RuleApi from '@/api/wms/rule'
import * as WarehouseApi from '@/api/wms/warehouse'
import { Warehouse } from '@/views/wms/basicDataManage/factoryModeling/warehouse/warehouse.data'
import * as AreaApi from '@/api/wms/areabasic'
import { Area } from '@/views/wms/basicDataManage/factoryModeling/areabasic/areabasic.data'
import * as LocationgroupApi from '@/api/wms/locationgroup'
import { Locationgroup } from '@/views/wms/basicDataManage/factoryModeling/locationgroup/locationgroup.data'
import * as LocationApi from '@/api/wms/location'
import { Location } from '@/views/wms/basicDataManage/factoryModeling/location/location.data'
import { DICT_TYPE, getStrDictOptions } from '@/utils/dict' import { DICT_TYPE, getStrDictOptions } from '@/utils/dict'
import { isString } from '@/utils/is' import { isString } from '@/utils/is'
@ -564,6 +624,7 @@ const formData = ref({
configuration: { configuration: {
// //
WarehouseCode: '', WarehouseCode: '',
WarehouseCodes: ['Tag 1', 'Tag 2', 'Tag 3', 'Tag 2', 'Tag 3', 'Tag 2', 'Tag 3', 'Tag 2', 'Tag 3', 'Tag 2', 'Tag 3'],
// //
AreaCode: '', AreaCode: '',
// //
@ -674,6 +735,10 @@ const buttonBaseClick = (val, item) => {
dialogVisible.value = false dialogVisible.value = false
} }
} }
const tagHandleClose = (tag: string, list) => {
list.splice(list.indexOf(tag), 1)
}
// //
const getFormSupplierList = async () => { const getFormSupplierList = async () => {
@ -756,6 +821,80 @@ const filterMethodWarehouseList = (query: string) => {
options.warehouseList = options.originWarehouseList options.warehouseList = options.originWarehouseList
} }
} }
const searchTableRef = ref()
const searchWarehouse = ()=>{
if(warehouseType.value == 'WarehouseCode'){
//
searchTableRef.value.open(
'请选择仓库',
Warehouse.allSchemas,
WarehouseApi.getWarehousePage,
'WarehouseCode',
'code',
true,
undefined,
undefined,
undefined
)
}else if(warehouseType.value == 'AreaCode'){
searchTableRef.value.open(
'请选择库区',
Area.allSchemas,
AreaApi.getAreaPage,
'WarehouseCode',
'code',
true,
undefined,
undefined,
undefined
)
}else if(warehouseType.value == 'LocationGroupCode'){
searchTableRef.value.open(
'请选择库位组',
Locationgroup.allSchemas,
LocationgroupApi.getLocationgroupPage,
'WarehouseCode',
'code',
true,
undefined,
undefined,
undefined
)
}else if(warehouseType.value == 'LocationCode'){
searchTableRef.value.open(
'请选择库位',
Location.allSchemas,
LocationApi.getLocationPage,
'WarehouseCode',
'code',
true,
undefined,
undefined,
undefined
)
}
}
const searchTableSuccess = (formField, searchField, val, type, row) => {
// let searchTableTitle = warehouseType.value == 'WarehouseCode'?'':warehouseType.value == 'AreaCode'?'':warehouseType.value == 'LocationGroupCode'?'':warehouseType.value == 'LocationCode'?'':''
console.log('searchTableSuccess',formField, searchField, val, type, row)
console.log(val.map(item=>(item['code'])).join(','))
formData.value.configuration[warehouseType.value] = val.map(item=>(item['code'])).join(',')
let fields = ['WarehouseCode','AreaCode','LocationGroupCode','LocationCode']
fields.forEach(item=>{
if(item!=warehouseType.value){
formData.value.configuration[item] = ''
}
})
}
// /// // ///
const changeWarehouse = (e) => { const changeWarehouse = (e) => {
formData.value.configuration.WarehouseCode = '' formData.value.configuration.WarehouseCode = ''
@ -772,6 +911,7 @@ const changeWarehouse = (e) => {
getFormLocationList() getFormLocationList()
} }
} }
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (type: string, strategyCode: string, id?: number) => { const open = async (type: string, strategyCode: string, id?: number) => {
@ -780,7 +920,7 @@ const open = async (type: string, strategyCode: string, id?: number) => {
dialogTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type formType.value = type
warehouseType.value = 'WarehouseCode' warehouseType.value = 'WarehouseCode'
getFormWarehouseList() // getFormWarehouseList()
resetForm() resetForm()
// //
@ -817,6 +957,7 @@ const open = async (type: string, strategyCode: string, id?: number) => {
if (data.configuration) { if (data.configuration) {
formData.value.configuration = JSON.parse(data.configuration) formData.value.configuration = JSON.parse(data.configuration)
} }
// //
if (formData.value.condition[0].ParamCode == 'SupplierCode') { if (formData.value.condition[0].ParamCode == 'SupplierCode') {
getFormSupplierList() getFormSupplierList()
@ -829,25 +970,25 @@ const open = async (type: string, strategyCode: string, id?: number) => {
formData.value.configuration.WarehouseCode formData.value.configuration.WarehouseCode
) { ) {
warehouseType.value = 'WarehouseCode' warehouseType.value = 'WarehouseCode'
getFormWarehouseList() // getFormWarehouseList()
} else if ( } else if (
'AreaCode' in formData.value.configuration && 'AreaCode' in formData.value.configuration &&
formData.value.configuration.AreaCode formData.value.configuration.AreaCode
) { ) {
warehouseType.value = 'AreaCode' warehouseType.value = 'AreaCode'
getFormAreaList() // getFormAreaList()
} else if ( } else if (
'LocationGroupCode' in formData.value.configuration && 'LocationGroupCode' in formData.value.configuration &&
formData.value.configuration.LocationGroupCode formData.value.configuration.LocationGroupCode
) { ) {
warehouseType.value = 'LocationGroupCode' warehouseType.value = 'LocationGroupCode'
getFormLocationgrouList() // getFormLocationgrouList()
} else if ( } else if (
'LocationCode' in formData.value.configuration && 'LocationCode' in formData.value.configuration &&
formData.value.configuration.LocationCode formData.value.configuration.LocationCode
) { ) {
warehouseType.value = 'LocationCode' warehouseType.value = 'LocationCode'
getFormLocationList() // getFormLocationList()
} }
} finally { } finally {
formLoading.value = false formLoading.value = false
@ -860,6 +1001,7 @@ const open = async (type: string, strategyCode: string, id?: number) => {
} }
} }
defineExpose({ open }) // open defineExpose({ open }) // open
@ -965,6 +1107,7 @@ const resetForm = () => {
configuration: { configuration: {
// //
WarehouseCode: '', WarehouseCode: '',
// WarehouseCodes: ['Tag 1', 'Tag 2', 'Tag 3', 'Tag 2', 'Tag 3', 'Tag 2', 'Tag 3', 'Tag 2', 'Tag 3', 'Tag 2', 'Tag 3'],
// //
AreaCode: '', AreaCode: '',
// //
@ -1036,4 +1179,12 @@ const resetForm = () => {
color: var(--el-color-danger); color: var(--el-color-danger);
margin-right:4px; margin-right:4px;
} }
.border-row{
padding:5px;
border:var(--el-border);
border-radius: var(--el-border-radius-base);
}
</style> </style>

7
src/views/wms/buttMesManage/mesBarCode/index.vue

@ -27,6 +27,13 @@
v-model:currentPage="tableObject.currentPage" v-model:currentPage="tableObject.currentPage"
v-model:sort="tableObject.sort" v-model:sort="tableObject.sort"
> >
<template #type="{row}">
<span v-if="row.type == 'P'||row.type == 'Q'">
{{ row.type == 'P'?'未加密标签':'加密标签'}}
</span>
<span v-else>{{ row.type }}</span>
</template>
<template #plnt="{row}"> <template #plnt="{row}">
<el-button type="primary" link @click="openDetail(row, '代码', row.plnt)"> <el-button type="primary" link @click="openDetail(row, '代码', row.plnt)">
<span>{{ row.plnt }}</span> <span>{{ row.plnt }}</span>

296
src/views/wms/buttMesManage/mesBarCode/mesBarCode.data.ts

@ -1,6 +1,8 @@
import type { CrudSchema } from '@/hooks/web/useCrudSchemas' import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
import { dateFormatter } from '@/utils/formatTime' import { dateFormatter } from '@/utils/formatTime'
import { getTenantId } from '@/utils/auth'
let names =[{"text":"1379","value":1},{"text":"1397","value":2},{"text":"2379","value":3}]
let tenant = names.find(item=>item.value == getTenantId())
// 表单校验 // 表单校验
export const MesBarCodeRules = reactive({ export const MesBarCodeRules = reactive({
available: [required], available: [required],
@ -11,79 +13,106 @@ export const MesBarCodeRules = reactive({
export const MesBarCode = useCrudSchemas(reactive<CrudSchema[]>([ export const MesBarCode = useCrudSchemas(reactive<CrudSchema[]>([
{ {
label: 'Plnt', label: '租户',
field: 'plnt', field: 'plnt',
sort: 'custom', sort: 'custom',
table: { table: {
width: 120 width: 120
}, },
form: { form: {
component: 'InputNumber', componentProps: {
value: 0 disabled:true,
}, value: tenant?.text
}, },
{
label: 'Counter',
field: 'counter',
sort: 'custom',
table: {
width: 150
},
isSearch:true
},
{
label: 'SIGN',
field: 'sign',
sort: 'custom',
table: {
width: 120
},
},
{
label: 'Option',
field: 'option',
sort: 'custom',
table: {
width: 120
}, },
}, },
// {
// label: 'Counter',
// field: 'counter',
// sort: 'custom',
// table: {
// width: 150
// },
// isSearch:true
// },
// {
// label: 'SIGN',
// field: 'sign',
// sort: 'custom',
// table: {
// width: 120
// },
// },
// {
// label: 'Option',
// field: 'option',
// sort: 'custom',
// table: {
// width: 120
// },
// },
{ {
label: 'Lower Lim.', label: 'WMS物料代码',
field: 'lowerLim', field: 'lowerLim',
sort: 'custom', sort: 'custom',
table: { isSearch: true,
width: 150 table: {
},
},
{
label: 'UpperLimit',
field: 'upperLimit',
sort: 'custom',
table: {
width: 150 width: 150
}, },
}, },
// {
// label: 'UpperLimit',
// field: 'upperLimit',
// sort: 'custom',
// table: {
// width: 150
// },
// },
// {
// label: 'ITAC',
// field: 'itac',
// sort: 'custom',
// table: {
// width: 120
// },
// },
{ {
label: 'ITAC', label: '灯码标签类型',
field: 'itac',
sort: 'custom',
table: {
width: 120
},
},
{
label: 'Type',
field: 'type', field: 'type',
sort: 'custom', sort: 'custom',
table: { table: {
width: 120 width: 120
}, },
form: {
component: 'Select',
componentProps: {
options: [{
label:'未加密标签',
value:'P'
},{
label:'加密标签',
value:'Q'
}],
}
},
detail:{
valueFilter:(value)=>{
if(value=='P'){
return `未加密标签`
}else if(value=='Q'){
return '加密标签'
}else{
return value
}
}
}
}, },
{ {
label: 'Length BC', label: '灯码标签字符总长度',
field: 'lengthBc', field: 'lengthBc',
sort: 'custom', sort: 'custom',
table: { table: {
width: 150 width: 150
}, },
form: { form: {
@ -91,19 +120,19 @@ export const MesBarCode = useCrudSchemas(reactive<CrudSchema[]>([
value: 0 value: 0
}, },
}, },
// {
// label: 'Pos. mat',
// field: 'posMat',
// sort: 'custom',
// table: {
// width: 150
// },
// },
{ {
label: 'Pos. mat', label: '客户物料代码字符长度',
field: 'posMat',
sort: 'custom',
table: {
width: 150
},
},
{
label: 'Length mat',
field: 'lengthMat', field: 'lengthMat',
sort: 'custom', sort: 'custom',
table: { table: {
width: 150 width: 150
}, },
form: { form: {
@ -111,76 +140,77 @@ export const MesBarCode = useCrudSchemas(reactive<CrudSchema[]>([
value: 0 value: 0
}, },
}, },
// {
// label: 'Pos. revlv',
// field: 'posRevlv',
// sort: 'custom',
// table: {
// width: 150
// },
// },
{ {
label: 'Pos. revlv', label: '客户物料代码',
field: 'posRevlv',
sort: 'custom',
table: {
width: 150
},
},
{
label: 'Part number',
field: 'partNumber', field: 'partNumber',
sort: 'custom', sort: 'custom',
table: { isSearch: true,
width: 150
},
},
{
label: 'Pack Label',
field: 'packLabel',
sort: 'custom',
table: {
width: 150
},
},
{
label: 'OES-Label',
field: 'oesLabel',
sort: 'custom',
table: {
width: 150
},
},
{
label: 'Check Rvl',
field: 'checkRvl',
sort: 'custom',
table: {
width: 150
},
},
{
label: 'Days',
field: 'days',
sort: 'custom',
table: {
width: 120
},
form: {
component: 'InputNumber',
value: 0
},
},
{
label: '是否可用',
field: 'available',
sort: 'custom',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
table: { table: {
width: 120 width: 150
}, },
form: {
component: 'Switch',
value: 'TRUE',
componentProps: {
inactiveValue: 'FALSE',
activeValue: 'TRUE'
}
}
}, },
// {
// label: 'Pack Label',
// field: 'packLabel',
// sort: 'custom',
// table: {
// width: 150
// },
// },
// {
// label: 'OES-Label',
// field: 'oesLabel',
// sort: 'custom',
// table: {
// width: 150
// },
// },
// {
// label: 'Check Rvl',
// field: 'checkRvl',
// sort: 'custom',
// table: {
// width: 150
// },
// },
// {
// label: 'Days',
// field: 'days',
// sort: 'custom',
// table: {
// width: 120
// },
// form: {
// component: 'InputNumber',
// value: 0
// },
// },
// {
// label: '是否可用',
// field: 'available',
// sort: 'custom',
// dictType: DICT_TYPE.TRUE_FALSE,
// dictClass: 'string',
// table: {
// width: 120
// },
// form: {
// component: 'Switch',
// value: 'TRUE',
// componentProps: {
// inactiveValue: 'FALSE',
// activeValue: 'TRUE'
// }
// }
// },
{ {
label: '创建时间', label: '创建时间',
field: 'createTime', field: 'createTime',
@ -245,14 +275,14 @@ export const MesBarCode = useCrudSchemas(reactive<CrudSchema[]>([
width: 150 width: 150
} }
}, },
{ // {
label: '备注', // label: '备注',
field: 'remark', // field: 'remark',
sort: 'custom', // sort: 'custom',
table: { // table: {
width: 120 // width: 120
}, // },
}, // },
{ {
label: '操作', label: '操作',
field: 'action', field: 'action',

2
src/views/wms/inventoryManage/package/index.vue

@ -155,7 +155,7 @@ const buttonBaseClick = (val, item) => {
// - // -
const butttondata = [ const butttondata = [
defaultButtons.mainListEditBtn({hasPermi:'wms:package:update'}), // // defaultButtons.mainListEditBtn({hasPermi:'wms:package:update'}), //
// defaultButtons.mainListDeleteBtn({hasPermi:'wms:package:delete'}), // // defaultButtons.mainListDeleteBtn({hasPermi:'wms:package:delete'}), //
defaultButtons.mainListPointBtn(null), // defaultButtons.mainListPointBtn(null), //
] ]

2
src/views/wms/inventoryManage/package/package.data.ts

@ -458,7 +458,7 @@ export const Package = useCrudSchemas(reactive<CrudSchema[]>([
field: 'action', field: 'action',
isForm: false, isForm: false,
table: { table: {
width: 150, width: 120,
fixed: 'right' fixed: 'right'
} }
} }

16
src/views/wms/productionManage/productscrap/productscrapRequestMain/index.vue

@ -272,15 +272,15 @@ const buttonOperationClick = async (row, label, index,isSave = false)=> {
} }
}) })
item.rowId = index item.rowId = index
if(tableData.value[index].childList.length > 0) { // if(tableData.value[index].childList.length > 0) {
tableData.value[index].childList.forEach(itemChild => { // tableData.value[index].childList.forEach(itemChild => {
if (itemChild.itemCode == item.itemCode) { // if (itemChild.itemCode == item.itemCode) {
item.qty = itemChild.qty // item.qty = itemChild.qty
} // }
}) // })
}else { // }else {
item.qty = item.bomQty * row.qty item.qty = item.bomQty * row.qty
} // }
const obj = await banchBomPage(row.fromLocationCode, item) const obj = await banchBomPage(row.fromLocationCode, item)
item.batch = obj.batch item.batch = obj.batch
}) })

1
src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptJobMain/purchasereceiptJobMain.data.ts

@ -96,6 +96,7 @@ export const PurchasereceiptJobMain = useCrudSchemas(
{ {
label: '运输方式', label: '运输方式',
field: 'transferMode', field: 'transferMode',
dictType: DICT_TYPE.TRANSFER_MODE,
sort: 'custom', sort: 'custom',
table: { table: {
width: 150 width: 150

4
src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestMain/purchasereceiptRequestMain.data.ts

@ -572,8 +572,8 @@ export const PurchasereceiptRequestMainRules = reactive({
ppNumber: [ ppNumber: [
{ required: true, message: '请输入采购订单', trigger: 'blur' } { required: true, message: '请输入采购订单', trigger: 'blur' }
], ],
supplierCode: [ poNumber: [
{ required: true, message: '请输入供应商代码', trigger: 'blur' } { required: true, message: '请选择采购订单号', trigger: 'blur' }
], ],
toWarehouseCode: [ toWarehouseCode: [
{ required: true, message: '请输入到仓库代码', trigger: 'blur' } { required: true, message: '请输入到仓库代码', trigger: 'blur' }

22
src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMain/index.vue

@ -233,9 +233,11 @@ const searchTableSuccess = async (formField, searchField, val, formRef, type, ro
if (type == 'tableForm') { if (type == 'tableForm') {
// //
if (formField == 'purchaseReceiptRecordNumber') { if (formField == 'asnNumber') {
row[formField] = val[0][searchField] row[formField] = val[0][searchField]
//-- //--
row['purchaseReceiptRecordNumber'] = val[0]['number']
row['asnNumber'] = val[0]['asnNumber']
row['supplierCode'] = val[0]['supplierCode'] row['supplierCode'] = val[0]['supplierCode']
row['poNumber'] = val[0]['poNumber'] row['poNumber'] = val[0]['poNumber']
row['poLine'] = val[0]['poLine'] row['poLine'] = val[0]['poLine']
@ -308,18 +310,24 @@ const searchTableSuccess = async (formField, searchField, val, formRef, type, ro
} }
} else { } else {
const setV = {} const setV = {}
if (formField == 'supplierCode') { if (formField == 'supplierCode') {
console.log('formModelformModel',formRef.formModel) console.log('formModelformModel',formRef.formModel)
if( formRef.formModel['supplierCode'] != val[0]['code']){ if( formRef.formModel['supplierCode'] != val[0]['code']){
setV['purchaseReceiptRecordNumber'] = '' setV['asnNumber'] = ''
setV['q2Number'] = '' setV['q2Number'] = ''
tableData.value = [] tableData.value = []
} }
} }
if (formField == 'asnNumber') {
if( formRef.formModel['asnNumber'] != val[0]['asnNumber']){
setV['q2Number'] = ''
tableData.value = []
}
}
if (formField == 'q2Number') { if (formField == 'q2Number') {
setV['q2Number'] = val[0]['number'] setV['q2Number'] = val[0]['number']
} }
if (formField == 'purchaseReceiptRecordNumber') { if (formField == 'asnNumber') {
// isShowButton.value = false // isShowButton.value = false
setV[formField] = val[0][searchField] setV[formField] = val[0][searchField]
setV['purchaseReceiptRecordNumber'] = val[0]['number'] setV['purchaseReceiptRecordNumber'] = val[0]['number']
@ -611,7 +619,7 @@ const openForm = async (type: string, row?: number) => {
item.componentProps.disabled = true item.componentProps.disabled = true
item.componentProps.isSearchList = true item.componentProps.isSearchList = true
} }
if (item.field == 'purchaseReceiptRecordNumber') { if (item.field == 'asnNumber') {
item.componentProps.disabled = true item.componentProps.disabled = true
item.componentProps.isSearchList = true item.componentProps.isSearchList = true
} }
@ -623,7 +631,7 @@ const openForm = async (type: string, row?: number) => {
item.componentProps.disabled = true item.componentProps.disabled = true
item.componentProps.isSearchList = false item.componentProps.isSearchList = false
} }
if (item.field == 'purchaseReceiptRecordNumber') { if (item.field == 'asnNumber') {
item.componentProps.disabled = true item.componentProps.disabled = true
item.componentProps.isSearchList = false item.componentProps.isSearchList = false
} }
@ -891,7 +899,7 @@ const tableSelectionDelete = (selection) => {
}) })
nextTick(() => { nextTick(() => {
const setV = {} const setV = {}
setV['purchaseReceiptRecordNumber'] = '' setV['asnNumber'] = ''
setV['supplierCode'] = '' setV['supplierCode'] = ''
formRef.setValues(setV) formRef.setValues(setV)
}) })

9
src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMain/purchasereturnRequestMain.data.ts

@ -213,9 +213,12 @@ export const PurchasereturnRequestMain = useCrudSchemas(
} }
} }
}, },
{ {
label: '采购收货记录单号', // label: '采购收货记录单号',
field: 'purchaseReceiptRecordNumber', // field: 'purchaseReceiptRecordNumber',
label: '发货单号',
field: 'asnNumber',
sort: 'custom', sort: 'custom',
table: { table: {
width: 180 width: 180
@ -226,7 +229,7 @@ export const PurchasereturnRequestMain = useCrudSchemas(
enterSearch: true, enterSearch: true,
disabled: true, disabled: true,
isSearchList: true, // 开启查询弹窗 isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择采购收货记录单号', // 输入框占位文本 searchListPlaceholder: '请选择发货单号', // 输入框占位文本
searchField: 'number', // 查询弹窗赋值字段 searchField: 'number', // 查询弹窗赋值字段
searchTitle: '采购收货记录', // 查询弹窗标题 searchTitle: '采购收货记录', // 查询弹窗标题
searchAllSchemas: PurchasereceiptRecordMain1.allSchemas, // 查询弹窗所需类 searchAllSchemas: PurchasereceiptRecordMain1.allSchemas, // 查询弹窗所需类

5
src/views/wms/purchasereceiptManage/sparereceipt/sparereceiptRequestMain/sparereceiptRequestMain.data.ts

@ -575,7 +575,7 @@ export const PurchasereceiptRequestMainRules = reactive({
ppNumber: [ ppNumber: [
{ required: true, message: '请输入采购订单', trigger: 'blur' } { required: true, message: '请输入采购订单', trigger: 'blur' }
], ],
supplierCode: [ poNumber: [
{ required: true, message: '请输入供应商代码', trigger: 'blur' } { required: true, message: '请输入供应商代码', trigger: 'blur' }
], ],
toWarehouseCode: [ toWarehouseCode: [
@ -1376,6 +1376,9 @@ export const PurchasereceiptRequestDetailRules = reactive({
itemCode: [ itemCode: [
{ required: true, message: '请输入物料代码', trigger: 'change' } { required: true, message: '请输入物料代码', trigger: 'change' }
], ],
qty: [
{ required: true, message: '请输入收货数量', trigger: 'change' }
],
defaultToLocationCode: [ defaultToLocationCode: [
{ required: true, message: '请选择到库位代码', trigger: 'blur' } { required: true, message: '请选择到库位代码', trigger: 'blur' }
], ],

47
src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRecordMain/supplierinvoiceRecordMain.data.ts

@ -935,8 +935,9 @@ export const SupplierinvoiceRecordDetailMain = useCrudSchemas(reactive<CrudSchem
isDetail: true, isDetail: true,
}, },
{ {
label: '', label: '系统采购价格',
field: '', field: 'purchaseAmountTotalMain',
formatter: accountantFormart,
sortTableDefault: 6, sortTableDefault: 6,
isForm: false, isForm: false,
isTable: false, isTable: false,
@ -966,8 +967,9 @@ export const SupplierinvoiceRecordDetailMain = useCrudSchemas(reactive<CrudSchem
isDetail: true, isDetail: true,
}, },
{ {
label: '', label: '总价差',
field: '', field: 'differencePriceTotalMain',
formatter: accountantFormart,
sortTableDefault: 6, sortTableDefault: 6,
isForm: false, isForm: false,
isTable: false, isTable: false,
@ -1062,8 +1064,8 @@ export const SupplierinvoiceRecordDetailMain = useCrudSchemas(reactive<CrudSchem
isDetail: true, isDetail: true,
}, },
{ {
label: '差', label: '差',
field: '', field: 'totalDifference',
sortTableDefault: 6, sortTableDefault: 6,
isForm: false, isForm: false,
isTable: false, isTable: false,
@ -1400,6 +1402,39 @@ export const SupplierinvoiceRecordDetail = useCrudSchemas(reactive<CrudSchema[]>
component: 'InputNumber', component: 'InputNumber',
} }
}, },
{
label: '合同金额',
field: 'contractAmountTotal',
table: {
width: 150
},
isForm:false,
tableForm:{
disabled: true
}
},
{
label: '采购金额',
field: 'purchaseAmontTotal',
table: {
width: 150
},
isForm:false,
tableForm:{
disabled: true
}
},
{
label: '总差额',
field: 'differencePriceTotal',
table: {
width: 150
},
isForm:false,
tableForm:{
disabled: true
}
},
{ {
label: '差额', label: '差额',
field: 'differencePrice', field: 'differencePrice',

4
src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/supplierinvoiceRequestMain.data.ts

@ -1369,8 +1369,8 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true, isDetail: true,
}, },
{ {
label: '尾', label: '尾',
field: '', field: 'totalDifference',
sortTableDefault: 6, sortTableDefault: 6,
isForm: false, isForm: false,
isTable: false, isTable: false,

47
src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMainDifference/supplierinvoiceRequestMainDifference.data.ts

@ -1256,8 +1256,9 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true, isDetail: true,
}, },
{ {
label: '', label: '系统采购价格',
field: '', field: 'purchaseAmountTotalMain',
formatter: accountantFormart,
sortTableDefault: 6, sortTableDefault: 6,
isForm: false, isForm: false,
isTable: false, isTable: false,
@ -1287,8 +1288,9 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true, isDetail: true,
}, },
{ {
label: '', label: '总价差',
field: '', field: 'differencePriceTotalMain',
formatter: accountantFormart,
sortTableDefault: 6, sortTableDefault: 6,
isForm: false, isForm: false,
isTable: false, isTable: false,
@ -1383,8 +1385,8 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true, isDetail: true,
}, },
{ {
label: '差', label: '差',
field: '', field: 'totalDifference',
sortTableDefault: 6, sortTableDefault: 6,
isForm: false, isForm: false,
isTable: false, isTable: false,
@ -1752,6 +1754,39 @@ export const SupplierinvoiceRequestDetail = useCrudSchemas(reactive<CrudSchema[]
precision: 4, precision: 4,
} }
}, },
{
label: '合同金额',
field: 'contractAmountTotal',
table: {
width: 150
},
isForm:false,
tableForm:{
disabled: true
}
},
{
label: '采购金额',
field: 'purchaseAmontTotal',
table: {
width: 150
},
isForm:false,
tableForm:{
disabled: true
}
},
{
label: '总差额',
field: 'differencePriceTotal',
table: {
width: 150
},
isForm:false,
tableForm:{
disabled: true
}
},
{ {
label: '单价差额', label: '单价差额',
field: 'differencePrice', field: 'differencePrice',

Loading…
Cancel
Save