|
@@ -153,14 +153,14 @@
|
|
|
<el-form-item label="拟用部位">
|
|
|
<el-input v-model="addEditFormModel.proposedPosition" />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="是否使用RFID">
|
|
|
- <el-radio-group v-model="addEditFormModel.isRfid" size="large">
|
|
|
+ <el-form-item label="是否使用RFID" prop="isRfid">
|
|
|
+ <el-radio-group v-model="addEditFormModel.isRfid" size="large" @change="formRfidChange">
|
|
|
<el-radio :value="1">是</el-radio>
|
|
|
<el-radio :value="0">否</el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
- <el-form-item v-if="addEditFormModel.isRfid === 1" label="RFID编号">
|
|
|
+ <el-form-item v-if="addEditFormModel.isRfid === 1" label="RFID编号" prop="rfid">
|
|
|
<el-select v-model="addEditFormModel.rfid" clearable block>
|
|
|
<el-option v-for="item in deviceTable" :key="item.epc" :label="item.epc" :value="item.epc" />
|
|
|
</el-select>
|
|
@@ -483,7 +483,7 @@ const editFormModalClick = () => {
|
|
|
...obj,
|
|
|
representativeCount: obj.representativeCount === -1 ? '' : obj.representativeCount,
|
|
|
materialCount: obj.materialCount === -1 ? '' : obj.materialCount,
|
|
|
- isRfid: isNullES(obj.isRfid) ? 0 : obj.isRfid,
|
|
|
+ isRfid: isNullES(obj.rfid) ? 0 : 1,
|
|
|
}
|
|
|
addEditFormModal.value = true
|
|
|
requestDevice()
|
|
@@ -508,6 +508,7 @@ const requestDevice = async () => {
|
|
|
await device.open() // 打开设备
|
|
|
}
|
|
|
// 电脑接收到来自设备的消息回调
|
|
|
+ deviceTable.value = []
|
|
|
device.oninputreport = (event) => {
|
|
|
const { isRfid, rfid } = addEditFormModel.value
|
|
|
if (isRfid !== 1 ) return
|
|
@@ -529,6 +530,15 @@ const requestDevice = async () => {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+//是否使用RFID
|
|
|
+const formRfidChange = () => {
|
|
|
+ const { isRfid } = addEditFormModel.value
|
|
|
+ if (isRfid !== 1) {
|
|
|
+ addEditFormModel.value.rfid = ''
|
|
|
+ deviceTable.value = []
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
//弹窗关闭
|
|
|
const addEditFormModalClose = async () => {
|
|
|
addEditFormModal.value = false
|
|
@@ -565,6 +575,20 @@ const addEditFormRules = {
|
|
|
},
|
|
|
trigger: 'blur',
|
|
|
},
|
|
|
+ rfid: {
|
|
|
+ required: true,
|
|
|
+ validator: async (rule, value, callback) => {
|
|
|
+ const { isRfid } = addEditFormModel.value
|
|
|
+ if (isRfid !== 1) {
|
|
|
+ callback()
|
|
|
+ } else if (isNullES(value)) {
|
|
|
+ callback(new Error('请选择RFID编号'))
|
|
|
+ } else {
|
|
|
+ callback()
|
|
|
+ }
|
|
|
+ },
|
|
|
+ trigger: 'blur',
|
|
|
+ },
|
|
|
}
|
|
|
|
|
|
//校验材料编号是否唯一
|
|
@@ -587,22 +611,23 @@ const verification = async (val) => {
|
|
|
const addEditFormLoading = ref(false)
|
|
|
const addEditFormClick = async () => {
|
|
|
const validate = await formValidate(addEditFormRef.value)
|
|
|
- if (validate) {
|
|
|
- addEditFormLoading.value = true
|
|
|
- const { error, code, msg } = await samplingApi.submitForm({
|
|
|
- ...addEditFormModel.value,
|
|
|
- projectId: projectId.value,
|
|
|
- contractId: searchForm.value.contractId,
|
|
|
- })
|
|
|
- //处理数据
|
|
|
- addEditFormLoading.value = false
|
|
|
- if (!error && code === 200) {
|
|
|
- window?.$message?.success('操作成功')
|
|
|
- addEditFormModal.value = false
|
|
|
- await getTableData()
|
|
|
- } else {
|
|
|
- window?.$message?.error(msg || '操作失败')
|
|
|
- }
|
|
|
+ if (!validate) return false
|
|
|
+ addEditFormLoading.value = true
|
|
|
+ const form = addEditFormModel.value
|
|
|
+ if (form.isRfid !== 1 ) {
|
|
|
+ form.rfid = ''
|
|
|
+ }
|
|
|
+ form.projectId = projectId.value
|
|
|
+ form.contractId = searchForm.value.contractId
|
|
|
+ const { error, code, msg } = await samplingApi.submitForm(form)
|
|
|
+ //处理数据
|
|
|
+ addEditFormLoading.value = false
|
|
|
+ if (!error && code === 200) {
|
|
|
+ window?.$message?.success('操作成功')
|
|
|
+ addEditFormModalClose().then()
|
|
|
+ await getTableData()
|
|
|
+ } else {
|
|
|
+ window?.$message?.error(msg || '操作失败')
|
|
|
}
|
|
|
}
|
|
|
|