Browse Source

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

master_hella_20240701
zhaoxuebing 4 months ago
parent
commit
f3a856273d
  1. 2
      src/api/wms/location/index.ts
  2. 20
      src/utils/validator.ts
  3. 27
      src/views/eam/basicMaintenanceOption/index.vue
  4. 369
      src/views/eam/basicMaintenanceOption/itemSelectSetForm.vue
  5. 1
      src/views/eam/equipmentMaintenanceMain/DetailEam.vue
  6. 13
      src/views/eam/equipmentMaintenanceMain/equipmentMaintenanceMain.data.ts
  7. 2
      src/views/eam/equipmentMaintenanceMain/index.vue
  8. 144
      src/views/qms/aql/aql.data.ts
  9. 4
      src/views/qms/inspectionJob/addForm.vue
  10. 4
      src/views/qms/inspectionJob/inspectionJobMain.data.ts
  11. 2
      src/views/qms/inspectionRecord/addForm.vue
  12. 8
      src/views/qms/inspectionRecord/inspectionRecordMain.data.ts
  13. 6
      src/views/qms/inspectionTemplate/addForm.vue
  14. 14
      src/views/qms/sampleCode/sampleCode.data.ts
  15. 2
      src/views/wms/basicDataManage/strategySetting/strategy/upShelfStrategy/AddForm.vue
  16. 6
      src/views/wms/inventoryjobManage/unplannedissue/unplannedissueRequestMain/unplannedissueRequestMain.data.ts
  17. 32
      src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestMain/purchasereceiptRequestMain.data.ts

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

@ -38,7 +38,7 @@ export const getLocationPageRepleinsh = async (params) => {
if (params.isSearch) { if (params.isSearch) {
delete params.isSearch delete params.isSearch
const data = {...params} const data = {...params}
return request.post({ url: '/wms/location/senior', data }) return request.post({ url: '/wms/location/getForRepleinshSenior', data })
} else { } else {
return await request.get({ url: `/wms/location/pageForRepleinsh`, params }) return await request.get({ url: `/wms/location/pageForRepleinsh`, params })
} }

20
src/utils/validator.ts

@ -315,6 +315,23 @@ export function validateTwoNum(rule, value, callback) {
} }
callback() callback()
} }
// 数字格式 小数点后六位
export function validateSixNum(rule, value, callback) {
if (value) {
const numReg = /^\d+(\.\d+)?$/
const numTwoReg = /^\d*\.{0,6}\d{0,6}$/
if (numReg.test(value)) {
if (numTwoReg.test(value)) {
callback()
} else {
callback(new Error('小数点后最多6位'))
}
} else {
callback(new Error('请输入数字'))
}
}
callback()
}
// 小数点前位数不得大于6位 // 小数点前位数不得大于6位
export function validateNumSix(rule, value, callback) { export function validateNumSix(rule, value, callback) {
if (value) { if (value) {
@ -804,5 +821,6 @@ export default {
validateYS, validateYS,
validateMaxNumber5, validateMaxNumber5,
validatePercent, validatePercent,
validateNumSix validateNumSix,
validateSixNum
} }

27
src/views/eam/basicMaintenanceOption/index.vue

@ -39,16 +39,17 @@
</ContentWrap> </ContentWrap>
<!-- 表单弹窗添加/修改 --> <!-- 表单弹窗添加/修改 -->
<BasicForm <!-- <BasicForm-->
ref="basicFormRef" <!-- ref="basicFormRef"-->
@success="formsSuccess" <!-- @success="formsSuccess"-->
:rules="BasicMaintenanceOptionRules" <!-- :rules="BasicMaintenanceOptionRules"-->
:formAllSchemas="BasicMaintenanceOption.allSchemas" <!-- :formAllSchemas="BasicMaintenanceOption.allSchemas"-->
:apiUpdate="BasicMaintenanceOptionApi.updateBasicMaintenanceOption" <!-- :apiUpdate="BasicMaintenanceOptionApi.updateBasicMaintenanceOption"-->
:apiCreate="BasicMaintenanceOptionApi.createBasicMaintenanceOption" <!-- :apiCreate="BasicMaintenanceOptionApi.createBasicMaintenanceOption"-->
@searchTableSuccess="searchTableSuccess" <!-- @searchTableSuccess="searchTableSuccess"-->
:isBusiness="false" <!-- :isBusiness="false"-->
/> <!-- />-->
<ItemForm ref="basicFormRef" @success="getData"/>
<!-- 详情 --> <!-- 详情 -->
<Detail ref="detailRef" :isBasic="true" :allSchemas="BasicMaintenanceOption.allSchemas" /> <Detail ref="detailRef" :isBasic="true" :allSchemas="BasicMaintenanceOption.allSchemas" />
@ -65,6 +66,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 ItemForm from "@/views/eam/basicMaintenanceOption/itemSelectSetForm.vue";
defineOptions({ name: 'BasicMaintenanceOption' }) defineOptions({ name: 'BasicMaintenanceOption' })
@ -205,6 +207,11 @@ const formsSuccess = async (formType,data) => {
getList() getList()
} }
//
const getData = async() => {
getList();
}
/** 详情操作 */ /** 详情操作 */
const detailRef = ref() const detailRef = ref()
const openDetail = (row: any, titleName: any, titleValue: any) => { const openDetail = (row: any, titleName: any, titleValue: any) => {

369
src/views/eam/basicMaintenanceOption/itemSelectSetForm.vue

@ -0,0 +1,369 @@
<template>
<Dialog v-model="dialogVisible" :title="dialogTitle">
<el-form
ref="basicFormRef"
v-loading="formLoading"
:model="formData"
:rules="formRules"
label-width="100px"
>
<el-row>
<el-col :span="12">
<el-form-item label="方案编号" prop="code">
<el-input v-model="formData.code" placeholder="方案编号" :disabled="isDisabled"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="方案名称" prop="name">
<el-input v-model="formData.name" placeholder="请输入方案名称" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="描述" prop="describing">
<el-input v-model="formData.describing" placeholder="请输入描述" />
</el-form-item>
</el-col>
<el-form-item label="项是否可修改" prop="isUpdated">
<el-select v-model="formData.isUpdated" style="width: 150px">
<el-option label="是" value="TRUE"></el-option>
<el-option label="否" value="FALSE"></el-option>
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="备注" prop="remark">
<el-input v-model="formData.remark" placeholder="请输入备注" />
</el-form-item>
</el-col>
<el-form-item label="是否可用" prop="available">
<el-select v-model="formData.available" style="width: 150px">
<el-option label="是" value="TRUE"></el-option>
<el-option label="否" value="FALSE"></el-option>
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-col :span="11">
<el-form-item label="选择集ID" prop="selectId">
<div class="tag-container flex gap-2">
<el-tag v-for="ent in tags" :key="ent.content" closable :disable-transitions="false" @close="handleClose(ent.selectId)">
{{ ent.selectId}}
</el-tag>
<el-input v-if="inputVisible" ref="InputRef" v-model="inputValue" class="w-20" size="small"/>
<el-button v-else class="button-new-tag" size="small" @click="addItem">
添加保养选择集
</el-button>
</div>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table :data="maintenanceItemData" ref="tableEquipment" style="width: 100%; height: 80%">
<el-table-column prop="name" label="保养名称" />
<el-table-column prop="content" label="保养要求" />
<el-table-column prop="equipmentParts" label="保养部位" />
<el-table-column prop="opera" label="" width="130" >
<template #header>
<span>是否必选默认是</span>
</template>
<template #default="scope">
<el-switch
v-model="scope.row.replaceFlag"
active-color="#13ce66"
inactive-color="#ff4949"
active-text="是"
inactive-text="否"
/>
</template>
</el-table-column>
</el-table>
<template #footer>
<el-button :disabled="formLoading" type="primary" @click="submitForm"> </el-button>
<el-button @click="dialogVisible = false"> </el-button>
</template>
</Dialog>
<!--添加巡检项弹窗-->
<SearchTable ref="searchTableRef" @searchTableSuccess="searchTableSuccess" />
</template>
<script lang="ts" setup>
import * as SelectSetApi from '@/api/eam/inspectionItemSelectSet'
import request from "@/config/axios";
import { SearchTable } from '@/components/SearchTable'
import { BasicMaintenanceItemSelectSet} from "@/views/eam/maintenanceItemSelectSet/maintenanceItemSelectSet.data";
import * as maintenanceItemSelectSetApi from "@/api/eam/maintenanceItemSelectSet";
import {ElInput} from "element-plus";
defineOptions({ name: 'TeamForm' })
const { t } = useI18n() //
const message = useMessage() //
const dialogVisible = ref(false) //
const dialogTitle = ref('') //
const formLoading = ref(false) // 12
const formType = ref('') // create - update -
const tags=ref([])
const inputValue = ref('')
const inputVisible = ref(false)
const isDisabled = ref(false)
const InputRef = ref<InstanceType<typeof ElInput>>()
//
const maintenanceItemData = ref([])
const itemData = ref({
id: '',
content: '',
selectId:''
})
const formData = ref({
code: '',
name: '',
describing: '',
isUpdated: '',
remark: '',
available: '',
selectId: ''
})
const formRules = reactive({
name: [
{ required: true, message: '选择集名称不能为空', trigger: 'blur' },
{ max: 50, message: '不得超过50个字符', trigger: 'blur' }
],
remark: [
{ max: 50, message: '不得超过50个字符', trigger: 'blur' }
],
})
const basicFormRef = ref() // Ref
/** 删除巡检项 */
const handleClose = (id: string) => {
const index = tags.value.findIndex(tag => tag.id === id);
if (index !== -1) {
tags.value.splice(index, 1);
}
}
/** 弹窗相关参数 */
const searchTableRef = ref();
const _searchTableTitle = ref();
const _searchTableAllSchemas = ref();
const _searchTablePage = ref();
const _formField = ref();
const _searchField = ref();
const _multiple = ref();
const _type = ref();
const _row = ref();
const _searchCondition = ref({})
const addItem = () =>{
addItemCommon(true,'baoYangItem')
}
/** 选择巡检项弹窗 */
const addItemCommon = (multiple,field) => {
_searchCondition.value = {}
const filters: any[] = []
filters.push({
action: "==",
column: 'available',
value: 'TRUE'
})
//
_searchCondition.value.isSearch = true
_searchCondition.value.filters = filters
_searchTableTitle.value = '选择保养项'
//_multiple.value = multiple
_formField.value = field
_searchField.value = field
_searchTablePage.value = maintenanceItemSelectSetApi.getBasicMaintenanceItemSelectSetPage
_searchTableAllSchemas.value = BasicMaintenanceItemSelectSet.allSchemas
openCommon()
}
/** 弹窗选择之后 回调函数 添加选择集 */
const searchTableSuccess = (formField, searchField, val, formRef, type, row ) => {
nextTick?.(async () => {
if (formField === 'baoYangItem') {
let itemsId = '';
//ID
val.forEach(item => {
const isExist = tags.value.some(tag => tag.id === item.id);
if (!isExist) {
const newItem = {};
newItem['itemCode'] = item.itemCode;
newItem['selectId'] = item.id;
tags.value = [];
tags.value.push(newItem);
}
itemsId = item.itemCode
});
//
try {
formLoading.value = true;
maintenanceItemData.value = [];
for (const item of itemsId.split(",")) {
let res = await request.get({url: `/eam/basic/maintenance-item/get?id=` + item})
const newItem = {};
newItem['name'] = res.name;
newItem['content'] = res.content;
newItem['equipmentParts'] = res.equipmentParts;
maintenanceItemData.value.push(newItem);
}
} finally {
formLoading.value = false;
}
}
})
}
/*打开弹窗*/
const openCommon = () => {
searchTableRef.value.open(
_searchTableTitle.value,
_searchTableAllSchemas.value,
_searchTablePage.value,
_formField.value,
_searchField.value,
_multiple.value,
_type.value,
_row.value,
_searchCondition.value
)
}
/** 初始化弹窗 */
const open = async (type: string, row?: object) => {
dialogVisible.value = true
dialogTitle.value = t('action.' + type)
formType.value = type
//
if (row) {
tags.value=[];
maintenanceItemData.value = [];
isDisabled.value = true;
formLoading.value = true
formData.value = row;
let item = (row.id.toString()).split(",")
try {
for (var i = 0; i < item.length; i++) {
itemData.value = await request.get({ url: `/eam/basic-maintenance-option/get?id=` + item[i] });
tags.value.push(itemData.value);
}
} finally {
formLoading.value = false
}
let res = await request.get({url: `/eam/relation-maintenance-item-select-set/getList?selectId=` + row.selectId})
try {
formLoading.value = true;
for (const item of res) {
console.log(item)
let res = await request.get({url: `/eam/basic/maintenance-item/get?id=` + item.itemCode})
const newItem = {};
newItem['name'] = res.name;
newItem['content'] = res.content;
newItem['equipmentParts'] = res.equipmentParts;
maintenanceItemData.value.push(newItem);
}
} finally {
formLoading.value = false;
}
}
//
else {
resetForm()
isDisabled.value = false;
}
}
defineExpose({ open }) // open
/** 提交表单 */
const emit = defineEmits(['success']) // success
const submitForm = async () => {
//
if (!basicFormRef) return
const valid = await basicFormRef.value.validate()
if (!valid) return
if (maintenanceItemData.value.length > 10 ){
message.warning('保养项最多10个');
return
}
let result = '';
for (var i = 0; i < tags.value.length; i++) {
result += tags.value[i].id + ',';
}
if(result.endsWith(',')){
result = result.substring(0,result.length -1)
}
formData.value.itemCode = result
//
formLoading.value = true
//formData.value.members = JSON.stringify(tags.value)
try {
const data = formData.value as unknown as SelectSetApi.InspectionItemSelectSetVO
if (formType.value === 'create') {
await SelectSetApi.createInspectionItemSelectSet(data)
message.success(t('common.createSuccess'))
} else {
await SelectSetApi.updateInspectionItemSelectSet(data)
message.success(t('common.updateSuccess'))
}
dialogVisible.value = false
//
emit('success')
} finally {
formLoading.value = false
}
}
/** 重置表单 */
const resetForm = () => {
formData.value = {
code: '',
name: '',
describing: '',
isUpdated: '',
remark: '',
available: '',
selectId: ''
}
tags.value=[];
maintenanceItemData.value = [];
basicFormRef.value?.resetFields()
}
</script>
<style scoped>
.tag-container {
margin-top: 10px; /* 可根据需要调整标签容器与表单项之间的间距 */
border: 1px solid #ccc; /* 添加边框样式 */
padding: 10px; /* 可根据需要调整容器内边距 */
width: 950px; /* 设置固定宽度为 950px */
overflow-y: auto; /* 当内容溢出容器高度时显示滚动条 */
word-wrap: break-word; /* 使用 word-wrap 属性实现超出范围换行 */
overflow-wrap: break-word; /* 兼容性更好的写法 */
flex-wrap: wrap;
}
.input-with-button {
display: flex;
align-items: center;
width: 100%;
}
.input-with-button > .el-input {
flex: 1;
/*margin-right: 10px;*/
}
</style>

1
src/views/eam/equipmentMaintenanceMain/DetailEam.vue

@ -862,7 +862,6 @@ const openForm = async (type: string, row?: number) => {
row.actualMinutes = row.actualMinutes.toString() row.actualMinutes = row.actualMinutes.toString()
EquipmentMaintenanceDetail.allSchemas.formSchema.forEach((item) => { EquipmentMaintenanceDetail.allSchemas.formSchema.forEach((item) => {
if(item.field == 'peoples'){ if(item.field == 'peoples'){
console.log(item);
item.componentProps.disabled = false item.componentProps.disabled = false
EquipmentMaintenanceDetailRules.peoples[0].required = true EquipmentMaintenanceDetailRules.peoples[0].required = true
} }

13
src/views/eam/equipmentMaintenanceMain/equipmentMaintenanceMain.data.ts

@ -383,13 +383,12 @@ export const EquipmentMaintenanceDetailRules = reactive({
validator:validateroundNumber, validator:validateroundNumber,
message: '请输入正确的正整数', message: '请输入正确的正整数',
trigger: 'blur'}], trigger: 'blur'}],
completionTime: [required], // completionTime: [
// [ // {
// { // required:false ,
// required:false , // message:'该项为必填项',
// message:'该项为必填项', // tagger:['blur']
// tagger:['blur'] // }],
// }],
result: [ result: [
{ {
required:false , required:false ,

2
src/views/eam/equipmentMaintenanceMain/index.vue

@ -195,7 +195,7 @@ const buttonTableClick = async (val, row) => {
handleExecute(row.id) handleExecute(row.id)
} else if (val == 'finish') { // } else if (val == 'finish') { //
handleFinish(row.id) handleFinish(row.id)
} else if (val == 'validate') { // } else if (val == 'validate') { //
handleValidate(row.id) handleValidate(row.id)
} }
} }

144
src/views/qms/aql/aql.data.ts

@ -7,60 +7,60 @@ import { validateNum } from "@/utils/validator";
export const AqlRules = reactive({ export const AqlRules = reactive({
code: [required], code: [required],
inspectionQualification: [required], inspectionQualification: [required],
sampleCharacterCode: [{ required, max: 1, message: '长度不得超过1个字符', trigger: 'blur' }], sampleCharacterCode: [required, {max: 1, message: '长度不得超过1个字符', trigger: 'blur' }],
sampleQty: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], sampleQty: [required,{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a0separator010: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], a0separator010: [required,{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r0separator010: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], r0separator010: [required,{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a0separator015: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], a0separator015: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r0separator015: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], r0separator015: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a0separator025: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], a0separator025: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r0separator025: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], r0separator025: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a0separator040: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], a0separator040: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r0separator040: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], r0separator040: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a0separator065: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], a0separator065: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r0separator065: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], r0separator065: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a0separator10: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], a0separator10: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r0separator10: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], r0separator10: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a0separator15: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], a0separator15: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r0separator15: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], r0separator15: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a0separator25: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], a0separator25: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r0separator25: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], r0separator25: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a0separator40: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], a0separator40: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r0separator40: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], r0separator40: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a0separator65: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], a0separator65: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r0separator65: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], r0separator65: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a1separator0: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], a1separator0: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r1separator0: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], r1separator0: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a1separator5: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], a1separator5: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r1separator5: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], r1separator5: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a2separator5: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], a2separator5: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r2separator5: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], r2separator5: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a4separator0: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], a4separator0: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r4separator0: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], r4separator0: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a6separator5: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], a6separator5: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r6separator5: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], r6separator5: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a10: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], a10: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r10: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], r10: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a15: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], a15: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r15: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], r15: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a25: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], a25: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r25: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], r25: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a40: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], a40: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r40: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], r40: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a65: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], a65: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r65: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], r65: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a100: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], a100: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r100: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], r100: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a150: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], a150: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r150: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], r150: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a250: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], a250: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r250: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], r250: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a400: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], a400: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r400: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], r400: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a650: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], a650: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r650: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], r650: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a1000: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], a1000: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r1000: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }], r1000: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }],
}) })
const samplingSchemeList = await getSamplingScheme() const samplingSchemeList = await getSamplingScheme()
export const Aql = useCrudSchemas(reactive<CrudSchema[]>([ export const Aql = useCrudSchemas(reactive<CrudSchema[]>([
@ -553,24 +553,24 @@ export const Aql = useCrudSchemas(reactive<CrudSchema[]>([
width: 175 width: 175
} }
}, },
{ // {
label: '是否可用', // label: '是否可用',
field: 'available', // field: 'available',
sort: 'custom', // sort: 'custom',
dictType: DICT_TYPE.TRUE_FALSE, // dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string', // 默认都是字符串类型其他暂不考虑 // dictClass: 'string', // 默认都是字符串类型其他暂不考虑
form: { // form: {
component: 'Switch', // component: 'Switch',
value: 'TRUE', // value: 'TRUE',
componentProps: { // componentProps: {
inactiveValue: 'FALSE', // inactiveValue: 'FALSE',
activeValue: 'TRUE' // activeValue: 'TRUE'
} // }
}, // },
table: { // table: {
width: 110 // width: 110
} // }
}, // },
{ {
label: '操作', label: '操作',
field: 'action', field: 'action',

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

@ -367,7 +367,7 @@
item.inspectionJobCharacteristicsUpdateReqVO = item.inspectionJobCharacteristicsRespVO item.inspectionJobCharacteristicsUpdateReqVO = item.inspectionJobCharacteristicsRespVO
// //
allSamplePieceSize.value += parseFloat((parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.sampleQty) * parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.samplePieceSize)).toFixed(2)) allSamplePieceSize.value += parseFloat((parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.sampleQty) * parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.samplePieceSize)).toFixed(6))
// rules.value['inspectionJobCharacteristicsUpdateReqVO.quantifyCapping'][0].required = true // rules.value['inspectionJobCharacteristicsUpdateReqVO.quantifyCapping'][0].required = true
if (!item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList) { if (!item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList) {
// //
@ -430,7 +430,7 @@
if (data.value.packageList[i].sampleAmount == null) { if (data.value.packageList[i].sampleAmount == null) {
if (allSamplePieceSize.value > data.value.packageList[i].amount) { if (allSamplePieceSize.value > data.value.packageList[i].amount) {
data.value.packageList[i].sampleAmount = data.value.packageList[i].amount data.value.packageList[i].sampleAmount = data.value.packageList[i].amount
allSamplePieceSize.value = parseFloat((allSamplePieceSize.value - data.value.packageList[i].amount).toFixed(2)) allSamplePieceSize.value = parseFloat((allSamplePieceSize.value - data.value.packageList[i].amount).toFixed(6))
} else { } else {
data.value.packageList[i].sampleAmount = allSamplePieceSize.value data.value.packageList[i].sampleAmount = allSamplePieceSize.value
allSamplePieceSize.value = 0 allSamplePieceSize.value = 0

4
src/views/qms/inspectionJob/inspectionJobMain.data.ts

@ -2,7 +2,7 @@ import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
import { dateFormatter2 } from '@/utils/formatTime' import { dateFormatter2 } from '@/utils/formatTime'
import { validateHanset, validateEmail } from '@/utils/validator' import { validateHanset, validateEmail } from '@/utils/validator'
import { dateFormatter } from '@/utils/formatTime' import { dateFormatter } from '@/utils/formatTime'
import { validateTwoNum } from '@/utils/validator' import { validateTwoNum,validateSixNum} from '@/utils/validator'
const { t } = useI18n() // 国际化 const { t } = useI18n() // 国际化
import { DICT_TYPE, getStrDictOptions } from '@/utils/dict' import { DICT_TYPE, getStrDictOptions } from '@/utils/dict'
const resultEntryMethodList = getStrDictOptions(DICT_TYPE.INSPECTION_CHARACTERISTICS_RESULT_ENTRY) const resultEntryMethodList = getStrDictOptions(DICT_TYPE.INSPECTION_CHARACTERISTICS_RESULT_ENTRY)
@ -610,5 +610,5 @@ export const InspectionJobPackage = useCrudSchemas(reactive<CrudSchema[]>([
//表单校验 //表单校验
export const InspectionJobPackageRules = reactive({ export const InspectionJobPackageRules = reactive({
sampleAmount: [required, sampleAmount: [required,
{ validator:validateTwoNum, message: '小数点后最多2位', trigger: 'blur'}] { validator:validateSixNum, trigger: 'blur'}]
}) })

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

@ -244,7 +244,7 @@ const tableFormBlur = (field, val,row)=>{
row.qualifiedAmount = 0 row.qualifiedAmount = 0
}else{ }else{
row.qualifiedAmount = row.amount - val row.qualifiedAmount = row.amount - val
row.qualifiedAmount = row.qualifiedAmount.toFixed(2) row.qualifiedAmount = row.qualifiedAmount.toFixed(6)
} }
} }

8
src/views/qms/inspectionRecord/inspectionRecordMain.data.ts

@ -716,18 +716,18 @@ export const InspectionRecordPackage = useCrudSchemas(reactive<CrudSchema[]>([
export const InspectionRecordPackageRules = reactive({ export const InspectionRecordPackageRules = reactive({
qualifiedAmount: [ qualifiedAmount: [
required, required,
{ validator:validateTwoNum, message: '小数点后最多2位', trigger: 'blur'} { validator:validateTwoNum, message: '小数点后最多6位', trigger: 'blur'}
], ],
frozenAmount: [ frozenAmount: [
required, required,
{ validator:validateTwoNum, message: '小数点后最多2位', trigger: 'blur'} { validator:validateTwoNum, message: '小数点后最多6位', trigger: 'blur'}
], ],
destroyAmount: [ destroyAmount: [
required, required,
{ validator:validateTwoNum, message: '小数点后最多2位', trigger: 'blur'} { validator:validateTwoNum, message: '小数点后最多6位', trigger: 'blur'}
], ],
noQualifiedAmount: [ noQualifiedAmount: [
required, required,
{ validator:validateTwoNum, message: '小数点后最多2位', trigger: 'blur'} { validator:validateTwoNum, message: '小数点后最多6位', trigger: 'blur'}
], ],
}) })

6
src/views/qms/inspectionTemplate/addForm.vue

@ -815,7 +815,7 @@ const submitForm = async () => {
) )
if (arr && arr.length > 0) { if (arr && arr.length > 0) {
const str = arr.map((item) => item.description).join(',') const str = arr.map((item) => item.description).join(',')
message.error(`${str}是否设定上线,是否设定下限,是否设定目标值至少一项为是`) message.error(`${str}工序是否设定上线,是否设定下限,是否设定目标值至少一项为是`)
return return
} }
// ,, // ,,
@ -833,7 +833,7 @@ const submitForm = async () => {
) )
if (arr1 && arr1.length > 0) { if (arr1 && arr1.length > 0) {
const str = arr1.map((item) => item.description).join(',') const str = arr1.map((item) => item.description).join(',')
message.error(`${str}上限值,下限值,目标值小数位数不可以大于小数位`) message.error(`${str}工序上限值,下限值,目标值小数位数不可以大于小数位`)
return return
} }
// //
@ -851,7 +851,7 @@ const submitForm = async () => {
console.log(99,arr2) console.log(99,arr2)
if (arr2 && arr2.length > 0) { if (arr2 && arr2.length > 0) {
const str = arr2.map((item) => item.description).join(',') const str = arr2.map((item) => item.description).join(',')
message.error(`${str}上限值应大于目标值大于下限值`) message.error(`${str}工序上限值应大于目标值大于下限值`)
return return
} }
if (formType.value == 'create') { if (formType.value == 'create') {

14
src/views/qms/sampleCode/sampleCode.data.ts

@ -8,13 +8,13 @@ export const SampleCodeRules = reactive({
code: [required], code: [required],
batchLowLimiting: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], batchLowLimiting: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}],
batchUpperLimiting: [{ required:true, message: '该项为必填', trigger: 'blur'}, { validator:validateNum, message: '请输入整数', trigger: 'blur'}], batchUpperLimiting: [{ required:true, message: '该项为必填', trigger: 'blur'}, { validator:validateNum, message: '请输入整数', trigger: 'blur'}],
s1: [{ required }], s1: [ required ],
s2: [{ required }], s2: [required ],
s3: [{ required }], s3: [ required ],
s4: [{ required }], s4: [ required ],
g1: [{ required }], g1: [ required ],
g2: [{ required }], g2: [ required ],
g3: [{ required }] g3: [ required ]
}) })
const samplingSchemeList = await getSamplingScheme() const samplingSchemeList = await getSamplingScheme()
export const SampleCode = useCrudSchemas(reactive<CrudSchema[]>([ export const SampleCode = useCrudSchemas(reactive<CrudSchema[]>([

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

@ -686,7 +686,7 @@ const getFormCustomerList = async () => {
const filterMethod = (query: string) => { const filterMethod = (query: string) => {
if (query) { if (query) {
options.supplierList = options.originSupplierList.filter((item) => { options.supplierList = options.originSupplierList.filter((item) => {
if(item.name==''){ if(!item.name||item.name==''){
return item.code.includes(query) return item.code.includes(query)
}else{ }else{
return item.name.includes(query) return item.name.includes(query)

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

@ -457,7 +457,7 @@ export const UnplannedissueRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
}, },
tableForm:{ tableForm:{
isInpuFocusShow: true, // 开启查询弹窗 isInpuFocusShow: true, // 开启查询弹窗
searchListPlaceholder: '请选择包装号', searchListPlaceholder: '请输入包装号',
searchField: 'packingNumber', searchField: 'packingNumber',
searchTitle: '库存余额信息', searchTitle: '库存余额信息',
searchAllSchemas: Balance.allSchemas, searchAllSchemas: Balance.allSchemas,
@ -467,7 +467,7 @@ export const UnplannedissueRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
// labelMessage: '信息提示说明!!!', // labelMessage: '信息提示说明!!!',
componentProps: { componentProps: {
isSearchList: true, // 开启查询弹窗 isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择包装号', searchListPlaceholder: '请输入包装号',
searchField: 'packingNumber', searchField: 'packingNumber',
searchTitle: '库存余额信息', searchTitle: '库存余额信息',
searchAllSchemas: Balance.allSchemas, searchAllSchemas: Balance.allSchemas,
@ -793,7 +793,7 @@ export const UnplannedissueRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
//表单校验 //表单校验
export const UnplannedissueRequestDetailRules = reactive({ export const UnplannedissueRequestDetailRules = reactive({
packingNumber: [ packingNumber: [
{ required: true, message: '请选择包装号', trigger: 'change' }, { required: true, message: '请输入包装号', trigger: 'change' },
{ max: 50, message: '不得超过50个字符', trigger: 'blur' } { max: 50, message: '不得超过50个字符', trigger: 'blur' }
], ],
batch: [ batch: [

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

@ -183,22 +183,22 @@ export const PurchasereceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
width: 150 width: 150
}, },
}, },
// { {
// label: '数据来源', label: '数据来源',
// field: 'sourceType', field: 'sourceType',
// dictType: DICT_TYPE.PURCHASERECEIPT_SOURCE_TYPE, dictType: DICT_TYPE.PURCHASERECEIPT_SOURCE_TYPE,
// sort: 'custom', sort: 'custom',
// table: { table: {
// width: 150 width: 150
// }, },
// form: { form: {
// value: 'ASN_ExternalReceipt', value: 'ASN_ExternalReceipt',
// componentProps: { componentProps: {
// disabled: true disabled: true
// } }
// }, },
// isSearch: false, isSearch: false,
// }, },
{ {
label: '从仓库代码', label: '从仓库代码',
field: 'fromWarehouseCode', field: 'fromWarehouseCode',

Loading…
Cancel
Save