Browse Source

fix:[模板管理][DL011/DL012细胞编号修复]

luojie
欧骞 3 weeks ago
parent
commit
1cf6e4e386
2 changed files with 68 additions and 53 deletions
  1. +12
    -10
      src/views/business/comps/template/comps/dl/DL011.vue
  2. +56
    -43
      src/views/business/comps/template/comps/dl/DL012.vue

+ 12
- 10
src/views/business/comps/template/comps/dl/DL011.vue View File

@ -84,6 +84,7 @@ import TableList from '@/components/Template/Table'
import Step from '@/components/Template/Step'
import templateMixin from '../../mixins/templateMixin'
import moment from 'moment'
import { getLatestSn } from '@/api/template'
import { uniqeYqOne, uniqeResource } from '@/utils/calUnitTools'
import { EventBus } from '@/utils/eventBus'
@ -213,6 +214,7 @@ export default {
subType: 'button',
subKey: 'pykssjButton',
disabled: true,
subDisabled: false,
buttonName: 'template.dl.dl011.pykssjButton'
}
: {
@ -297,16 +299,19 @@ export default {
if (this.fillType !== 'actFill') return
const data = this.getFilledFormDataByRefs([refConf.xbxx])
const { fshxbbhCodeSn } = data || {}
const { fshxbbh, fshxbbhCodeSn } = data || {}
// fshxbbhCodeSn
if (fshxbbhCodeSn) return
if (fshxbbhCodeSn || !fshxbbh) return
this.$nextTick(() => {
const updateData = {}
const formattedDate = moment().format('YYMMDD')
updateData['fshxbbhCodeSn'] = formattedDate + '-' + '0001'
this.$refs[refConf.xbxx].batchUpdateFormData(updateData)
this.$nextTick(async () => {
try {
const res = await getLatestSn({ pre: fshxbbh, type: 1, count: 1 })
if (res.code !== 200 || !res.data?.length) return
this.$refs[refConf.xbxx].batchUpdateFormData({ fshxbbhCodeSn: res.data[0] })
} catch (e) {
this.$message.error('复苏后细胞编号生成失败,请重试')
}
})
},
data() {
@ -420,9 +425,6 @@ export default {
this.yqResourceTmp = uniqeYqOne(tmpYq, stepResource.yqResource || [])
return this.resourceTmp
},
onRegentSubmit(e) {
//
},
//
async onSave() {
const formData = this.getStepResource()

+ 56
- 43
src/views/business/comps/template/comps/dl/DL012.vue View File

@ -49,6 +49,7 @@ import TableList from '@/components/Template/Table'
import Step from '@/components/Template/Step'
import templateMixin from '../../mixins/templateMixin'
import moment from 'moment'
import { getLatestSn } from '@/api/template'
import { uniqeYqOne, uniqeResource } from "@/utils/calUnitTools";
import { EventBus } from "@/utils/eventBus";
@ -198,6 +199,7 @@ export default {
xbzbqbh: {
label: 'template.dl.dl012.xbzbqbh',
type: 'xb',
checkType:"checkbox",
fillType: 'actFill'
},
zbxbs: {
@ -278,41 +280,7 @@ export default {
// actFill zbxbs zbhxbbh_1/2/3... formData
if (this.fillType === 'actFill') {
const data = this.getFilledFormDataByRefs([refConf.xbxx])
const { zbxbs, zbhxbbh_1 } = data || {}
if (!zbxbs) return
let count = 1
try {
count = Number(zbxbs)
} catch (error) {
count = 1
}
// this.formData xbxxConfig computed
const updateData = {}
const formattedDate = moment().format('YYMMDD')
for (let index = 1; index <= count; index++) {
const zbhxbbhKey = 'zbhxbbh_' + index
const codeSnKey = 'zbhxbbhCodeSn_' + index
if (!data[zbhxbbhKey]) {
this.$set(this.formData, zbhxbbhKey, zbhxbbh_1)
updateData[zbhxbbhKey] = zbhxbbh_1
}
if (!data[codeSnKey]) {
const codeSnVal = formattedDate + '-' + `${index}`.padStart(4, '0')
this.$set(this.formData, codeSnKey, codeSnVal)
updateData[codeSnKey] = codeSnVal
}
}
// formFields
if (Object.keys(updateData).length > 0) {
this.$nextTick(() => {
this.$refs[refConf.xbxx].batchUpdateFormData(updateData)
})
}
this.generateZbhxbbhFields()
}
},
data() {
@ -322,15 +290,63 @@ export default {
}
},
methods: {
// zbxbs
async generateZbhxbbhFields() {
const data = this.getFilledFormDataByRefs([refConf.xbxx])
const { zbxbs, zbhxbbh_1 } = data || {}
if (!zbxbs || !zbhxbbh_1) return
const count = Number(zbxbs) || 1
//
const allExist = Array.from({ length: count }, (_, i) => `zbhxbbhCodeSn_${i + 1}`)
.every(key => !!data[key])
if (allExist) return
try {
const res = await getLatestSn({ pre: zbhxbbh_1, type: 1, count })
if (res.code !== 200) return
const snArr = res.data
if (!snArr || snArr.length === 0) return
const updateData = {}
for (let index = 1; index <= count; index++) {
const zbhxbbhKey = 'zbhxbbh_' + index
const codeSnKey = 'zbhxbbhCodeSn_' + index
// formData xbxxConfig computed
if (!data[zbhxbbhKey]) {
this.$set(this.formData, zbhxbbhKey, zbhxbbh_1)
updateData[zbhxbbhKey] = zbhxbbh_1
}
if (!data[codeSnKey]) {
const codeSnVal = snArr[index - 1] || ''
this.$set(this.formData, codeSnKey, codeSnVal)
updateData[codeSnKey] = codeSnVal
}
}
if (Object.keys(updateData).length > 0) {
this.$nextTick(() => {
this.$refs[refConf.xbxx]?.batchUpdateFormData(updateData)
})
}
} catch (e) {
this.$message.error('细胞编号生成失败,请重试')
}
},
onTableRegentSubmit(data) {
if (data.key === 'xbzbqbh') {
this.$refs.xbxxRef.updateFormData('xbzbqbh_tj', data.selectInfo.row.tj)
this.$refs.xbxxRef.updateFormData('xbzbqbh_dw', data.selectInfo.row.tjdw)
const selectedRows = data.selectInfo?.selectedRows || []
const firstRow = selectedRows[0] || {}
this.$refs.xbxxRef.updateFormData('xbzbqbh_tj', firstRow.tj)
this.$refs.xbxxRef.updateFormData('xbzbqbh_dw', firstRow.tjdw)
}
if (data.key === 'pyxbh') {
this.$refs.pyxxRef.updateFormData('pyxbh_mc', data.selectInfo.row.mc)
this.$refs.pyxxRef.updateFormData('pyxbh_xh', data.selectInfo.row.xh)
this.$refs.pyxxRef.updateFormData('pyxbh_jzrq', data.selectInfo.row.jzrq)
const row = data.selectInfo?.row || {}
this.$refs.pyxxRef.updateFormData('pyxbh_mc', row.mc)
this.$refs.pyxxRef.updateFormData('pyxbh_xh', row.xh)
this.$refs.pyxxRef.updateFormData('pyxbh_jzrq', row.jzrq)
}
//
const params = {
@ -425,9 +441,6 @@ export default {
this.yqResourceTmp = uniqeYqOne(tmpYq, stepResource.yqResource || [])
return this.resourceTmp;
},
onRegentSubmit(e) {
//
},
//
async onSave() {
const formData = this.getStepResource()

Loading…
Cancel
Save