|
@@ -79,11 +79,22 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
data() {
|
|
|
+ let checkSampleName = (rule, value, callback) => {
|
|
|
+ // console.log(rule, value, callback)
|
|
|
+ var arr = this.model.data.filter(item => item.sampleName === value)
|
|
|
+ console.log(arr)
|
|
|
+ if (arr.length > 1) {
|
|
|
+ callback(new Error('该样品名称存在重复'));
|
|
|
+ } else {
|
|
|
+ callback();
|
|
|
+ }
|
|
|
+ }
|
|
|
return {
|
|
|
count: 1,
|
|
|
validatorRules: {
|
|
|
sampleName: [
|
|
|
- { required: true, message: '请输入样品名称!' }
|
|
|
+ { required: true, message: '请输入样品名称!' },
|
|
|
+ { validator: checkSampleName }
|
|
|
],
|
|
|
sampleModelSpecification: [
|
|
|
{ required: true, message: '请输入样品规格/型号!' }
|
|
@@ -96,7 +107,7 @@ export default {
|
|
|
]
|
|
|
},
|
|
|
model: {
|
|
|
- data: [{}]
|
|
|
+ data: []
|
|
|
},
|
|
|
description: '高级表单常见于一次性输入和提交大批量数据的场景。',
|
|
|
loading: false,
|
|
@@ -138,9 +149,6 @@ export default {
|
|
|
scopedSlots: { customRender: 'operation' }
|
|
|
}
|
|
|
],
|
|
|
- data: [
|
|
|
- {}
|
|
|
- ]
|
|
|
}
|
|
|
},
|
|
|
computed: {
|
|
@@ -152,7 +160,7 @@ export default {
|
|
|
const data = JSON.parse(sessionStorage.getItem('yangpin'))
|
|
|
if (data != null) {
|
|
|
for (let xx of data) {
|
|
|
- this.data.push({
|
|
|
+ this.model.data.push({
|
|
|
key: xx.key,
|
|
|
sampleName: xx.sampleName,
|
|
|
sampleModelSpecification: xx.sampleModelSpecification,
|
|
@@ -162,6 +170,8 @@ export default {
|
|
|
isNew: true
|
|
|
})
|
|
|
}
|
|
|
+ } else {
|
|
|
+ this.model.data.push({})
|
|
|
}
|
|
|
this.count = sessionStorage.getItem('count') != null ? Number(sessionStorage.getItem('count')) : 1
|
|
|
|
|
@@ -182,39 +192,40 @@ export default {
|
|
|
sessionStorage.setItem('count', this.count)
|
|
|
|
|
|
},
|
|
|
+ // 删除
|
|
|
remove(key) {
|
|
|
- const newData = this.data.filter(item => item.key !== key)
|
|
|
- this.data = newData
|
|
|
+ const newData = this.model.data.filter(item => item.key !== key)
|
|
|
+ this.model.data = newData
|
|
|
},
|
|
|
- saveRow(key) {
|
|
|
- let target = this.data.filter(item => item.key === key)[0]
|
|
|
- target.editable = false
|
|
|
- target.isNew = false
|
|
|
+ //saveRow(key) {
|
|
|
+ // let target = this.data.filter(item => item.key === key)[0]
|
|
|
+ // target.editable = false
|
|
|
+ // target.isNew = false
|
|
|
|
|
|
- },
|
|
|
+ // },
|
|
|
|
|
|
handleChange(value, key, column) {
|
|
|
- const newData = [...this.data]
|
|
|
+ const newData = [...this.model.data]
|
|
|
const target = newData.filter(item => key === item.key)[0]
|
|
|
if (target) {
|
|
|
target[column] = value
|
|
|
- this.data = newData
|
|
|
+ this.model.data = newData
|
|
|
}
|
|
|
},
|
|
|
// 下一步
|
|
|
nextStep() {
|
|
|
|
|
|
-
|
|
|
+ console.log(this.model.data)
|
|
|
this.$refs.form.validate(valid => {
|
|
|
if (valid) {
|
|
|
+ sessionStorage.setItem('yangpin', JSON.stringify(this.model.data))
|
|
|
this.$emit('nextStep')
|
|
|
- // sessionStorage.setItem('yangpin', JSON.stringify(this.data))
|
|
|
}
|
|
|
})
|
|
|
|
|
|
},
|
|
|
prevStep() {
|
|
|
- sessionStorage.setItem('yangpin', JSON.stringify(this.data))
|
|
|
+ sessionStorage.setItem('yangpin', JSON.stringify(this.model.data))
|
|
|
|
|
|
this.$emit('prevStep')
|
|
|
}
|