feat(order): 手动下单表单验证和搜索移除供应商名称字段
- 为批次号、委托人、委托人工号字段增加验证逻辑
| | |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="供应商名称:" prop="supplierName"> |
| | | <el-input v-model="addObj.supplierName" clearable placeholder="请输入供应商名称" size="small"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="联系方式:" prop="phone"> |
| | | <el-input v-model="addObj.phone" :disabled="active>1&&tabIndex!=4" clearable placeholder="选择委托客户" size="small"></el-input> |
| | | </el-form-item> |
| | |
| | | }, |
| | | dicts: ['check_type1', 'urgency_level', 'form_type', 'sample_status_list'], |
| | | data() { |
| | | const validateRequiredText = (message) => (rule, value, callback) => { |
| | | if (typeof value !== 'string' || !value.trim()) { |
| | | callback(new Error(message)) |
| | | return |
| | | } |
| | | callback() |
| | | } |
| | | return { |
| | | active: '', |
| | | tabIndex: '', |
| | |
| | | ], |
| | | productionEn: [ |
| | | { required: true, message: '请填写生产单位EN', trigger: 'blur' } |
| | | ], |
| | | updateBatchNo: [ |
| | | { required: true, message: '请填写批次号', trigger: 'blur' }, |
| | | { validator: validateRequiredText('请填写批次号'), trigger: 'blur' } |
| | | ], |
| | | prepareUser: [ |
| | | { required: true, message: '请填写委托人', trigger: 'blur' }, |
| | | { validator: validateRequiredText('请填写委托人'), trigger: 'blur' } |
| | | ], |
| | | prepareCode: [ |
| | | { required: true, message: '请填写委托人工号', trigger: 'blur' }, |
| | | { validator: validateRequiredText('请填写委托人工号'), trigger: 'blur' } |
| | | ], |
| | | }, |
| | | sample: { |
| | |
| | | } |
| | | return str.replaceAll(find, value); |
| | | }, |
| | | normalizeRequiredFields() { |
| | | ['updateBatchNo', 'prepareUser', 'prepareCode'].forEach(field => { |
| | | if (typeof this.addObj[field] === 'string') { |
| | | this.addObj[field] = this.addObj[field].trim() |
| | | } |
| | | }) |
| | | }, |
| | | save() { |
| | | this.normalizeRequiredFields() |
| | | this.$refs['addObj'].validate((valid) => { |
| | | if (valid) { |
| | | this.sampleList.forEach(item => { |
| | |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="供应商名称:" prop="supplierName"> |
| | | <el-input :disabled="active>1&&tabIndex!=4" v-model="addObj.supplierName" clearable placeholder="请输入供应商名称" size="small"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | |
| | | }, |
| | | dicts: ['check_type1', 'urgency_level', 'form_type', 'sample_status_list'], |
| | | data() { |
| | | const validateRequiredText = (message) => (rule, value, callback) => { |
| | | if (typeof value !== 'string' || !value.trim()) { |
| | | callback(new Error(message)) |
| | | return |
| | | } |
| | | callback() |
| | | } |
| | | return { |
| | | active: '', |
| | | tabIndex: '', |
| | |
| | | ], |
| | | productionEn: [ |
| | | { required: true, message: '请填写生产单位EN', trigger: 'blur' } |
| | | ], |
| | | updateBatchNo: [ |
| | | { required: true, message: '请填写批次号', trigger: 'blur' }, |
| | | { validator: validateRequiredText('请填写批次号'), trigger: 'blur' } |
| | | ], |
| | | prepareUser: [ |
| | | { required: true, message: '请填写委托人', trigger: 'blur' }, |
| | | { validator: validateRequiredText('请填写委托人'), trigger: 'blur' } |
| | | ], |
| | | prepareCode: [ |
| | | { required: true, message: '请填写委托人工号', trigger: 'blur' }, |
| | | { validator: validateRequiredText('请填写委托人工号'), trigger: 'blur' } |
| | | ], |
| | | }, |
| | | sample: { |
| | |
| | | } |
| | | return str.replaceAll(find, value); |
| | | }, |
| | | normalizeRequiredFields() { |
| | | ['updateBatchNo', 'prepareUser', 'prepareCode'].forEach(field => { |
| | | if (typeof this.addObj[field] === 'string') { |
| | | this.addObj[field] = this.addObj[field].trim() |
| | | } |
| | | }) |
| | | }, |
| | | save() { |
| | | this.normalizeRequiredFields() |
| | | this.$refs['addObj'].validate((valid) => { |
| | | if (valid) { |
| | | this.sampleList.forEach(item => { |
| | |
| | | <el-form :model="entity" ref="entity" size="small" :inline="true"> |
| | | <el-form-item label="委托编号" prop="entrustCode"> |
| | | <el-input v-model="entity.entrustCode" clearable placeholder="请输入" size="small" |
| | | @keyup.enter.native="refreshTable"> |
| | | @keyup.enter.native="handleQuery"> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="样品名称" prop="sampleName"> |
| | | <el-input v-model="entity.sampleName" clearable placeholder="请输入" size="small" |
| | | @keyup.enter.native="refreshTable"></el-input> |
| | | @keyup.enter.native="handleQuery"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="样品型号" prop="sampleModel"> |
| | | <el-input v-model="entity.sampleModel" clearable placeholder="请输入" size="small" |
| | | @keyup.enter.native="refreshTable()"></el-input> |
| | | @keyup.enter.native="handleQuery"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="批次号" prop="updateBatchNo" v-if="more"> |
| | | <el-input v-model="entity.updateBatchNo" clearable placeholder="请输入批次号" size="small" |
| | | @keyup.enter.native="handleQuery"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="下单时间" prop="createTime" v-if="more"> |
| | | <el-date-picker v-model="entity.createTime" clearable format="yyyy-MM-dd" placeholder="选择日期" size="small" |
| | | @change="refreshTable" |
| | | @change="handleQuery" |
| | | style="width:100%" type="date" value-format="yyyy-MM-dd HH:mm:ss"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | |
| | | <el-button :icon="!more ? 'el-icon-arrow-down' : 'el-icon-arrow-up'" style="color: #3A7BFA;" type="text" |
| | | @click="more = !more">{{ !more ? '更多' : '收起' }} |
| | | </el-button> |
| | | <el-button size="mini" type="primary" @click="refreshTable()">查询</el-button> |
| | | <el-button size="mini" type="primary" @click="handleQuery">查询</el-button> |
| | | <el-button size="mini" @click="refresh()">重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | |
| | | dataType: "link", |
| | | linkMethod: "editSampleModel", |
| | | }, |
| | | {label: '批次号', prop: 'updateBatchNo', width: '160px'}, |
| | | {label: '样品数量', prop: 'sampleNum'}, |
| | | {label: '检验人', prop: 'testingName'}, |
| | | { |
| | |
| | | }, |
| | | refresh() { |
| | | this.resetForm('entity') |
| | | this.refreshTable() |
| | | this.handleQuery() |
| | | }, |
| | | pagination(page) { |
| | | this.page.size = page.limit |
| | | this.page.current = page.page |
| | | this.refreshTable() |
| | | }, |
| | | handleQuery() { |
| | | this.page.current = 1 |
| | | this.refreshTable() |
| | | }, |
| | | // 打开修改委托编号弹框 |
| | |
| | | handleTab(i) { |
| | | this.tabIndex = i; |
| | | this.multipleSelection = [] |
| | | this.page.current = 1 |
| | | this.refreshTable() |
| | | }, |
| | | // 查看检验数据 |