luojie 1 month ago
parent
commit
a0032befb7
5 changed files with 160 additions and 29 deletions
  1. +24
    -5
      src/views/business/comps/template/comps/dl/DL007.vue
  2. +1
    -0
      src/views/business/comps/template/comps/dl/DL008.vue
  3. +3
    -4
      src/views/business/comps/template/comps/dl/DL009.vue
  4. +128
    -20
      src/views/business/comps/template/comps/dl/DL014.vue
  5. +4
    -0
      src/views/business/comps/template/comps/dl/DL015.vue

+ 24
- 5
src/views/business/comps/template/comps/dl/DL007.vue View File

@ -209,6 +209,7 @@ export default {
qxbd: { qxbd: {
label: 'template.dl.dl007.qxbd', label: 'template.dl.dl007.qxbd',
type: 'qxbd', type: 'qxbd',
qxbdType: 'DL006',
fillType: 'actFill', fillType: 'actFill',
filledCodes: ['bdmc', 'bdbh'] filledCodes: ['bdmc', 'bdbh']
}, },
@ -264,10 +265,18 @@ export default {
return await this.validFormFields(refNames) return await this.validFormFields(refNames)
}, },
getResource() { getResource() {
const stepResource = this.$refs.yqsyTableRef.getStepResource()
// 使
this.resourceTmp = stepResource.sjResource || []
this.yqResourceTmp = stepResource.yqResource || []
const yqsyData = this.$refs.yqsyTableRef?.getFilledFormData()
const yqsyList = yqsyData?.stepTableFormData || []
// 使
this.yqResourceTmp = yqsyList
.filter((item) => item.yqbh)
.map((item) => ({
bh: item.yqbh,
type: 'yq'
}))
this.resourceTmp = []
return this.resourceTmp return this.resourceTmp
}, },
onRegentSubmit(e) { onRegentSubmit(e) {
@ -283,7 +292,17 @@ export default {
this.$refs.yqsyTableRef.updateDataSourceByRowIndex(rowIndex, params) this.$refs.yqsyTableRef.updateDataSourceByRowIndex(rowIndex, params)
} }
if (key === 'qxbd') { if (key === 'qxbd') {
this.$refs.czInfoRef.updateFormData('pykssj', row.startDate)
try {
const bdnr = JSON.parse(row.bdnr)
if (bdnr.startDate) {
const formattedDate = moment(bdnr.startDate).format(
'YYYY/MM/DD HH:mm'
)
this.$refs.czInfoRef.updateFormData('pykssj', formattedDate)
}
} catch (error) {
console.error('解析前序表单数据失败:', error)
}
} }
}, },
// //

+ 1
- 0
src/views/business/comps/template/comps/dl/DL008.vue View File

@ -220,6 +220,7 @@ export default {
prop: 'jlzb', prop: 'jlzb',
bodyType: 'input', bodyType: 'input',
bodyFillType: 'actFill', bodyFillType: 'actFill',
disabled: true,
width: 100 width: 100
}, },
{ {

+ 3
- 4
src/views/business/comps/template/comps/dl/DL009.vue View File

@ -198,16 +198,15 @@ export default {
{ {
type: 'cellItem', type: 'cellItem',
config: { config: {
kssj: {
startDate: {
label: 'template.dl.dl009.kssj', label: 'template.dl.dl009.kssj',
type: 'input', type: 'input',
disabled: true disabled: true
}, },
jssj: {
endDate: {
label: 'template.dl.dl009.jssj', label: 'template.dl.dl009.jssj',
type: 'input', type: 'input',
fillType: 'actFill',
maxlength: 200
disabled: true
} }
} }
} }

+ 128
- 20
src/views/business/comps/template/comps/dl/DL014.vue View File

@ -57,6 +57,7 @@
:formData="formData" :formData="formData"
@select="onSftjs9Change" @select="onSftjs9Change"
@clickButton="handleJlzzsButton" @clickButton="handleJlzzsButton"
@blur="onJlzInfoBlur"
/> />
<!-- 剂量组名称列表 --> <!-- 剂量组名称列表 -->
@ -67,6 +68,7 @@
:showAddRow="false" :showAddRow="false"
:formData="jlzmcTableFormData" :formData="jlzmcTableFormData"
:prefixKey="`jlzmcTable`" :prefixKey="`jlzmcTable`"
@blur="onJlzmcTableBlur"
></CustomTable> ></CustomTable>
<!-- 完成按钮 --> <!-- 完成按钮 -->
@ -321,14 +323,20 @@ export default {
} }
// //
firstStepConfig.jlzzs = {
const jlzzsConfig = {
label: 'template.dl.dl014.jlzzs', label: 'template.dl.dl014.jlzzs',
type: 'inputNumber', type: 'inputNumber',
fillType: 'preFill',
subType: 'button',
subKey: 'jlzzsButton',
buttonName: 'template.dl.dl014.qrButton'
fillType: 'preFill'
} }
// preFill
if (this.fillType === 'preFill') {
jlzzsConfig.subType = 'button'
jlzzsConfig.subKey = 'jlzzsButton'
jlzzsConfig.buttonName = 'template.dl.dl014.qrButton'
}
firstStepConfig.jlzzs = jlzzsConfig
return [ return [
{ {
@ -477,7 +485,9 @@ export default {
return { return {
formData: {}, formData: {},
refConf, refConf,
isSftjs9Yes: false // S9
isSftjs9Yes: false, // S9
oldJlzzs: null, //
oldPxpb: null //
} }
}, },
mounted() { mounted() {
@ -486,6 +496,16 @@ export default {
this.isSftjs9Yes = this.isSftjs9Yes =
this.formData.sftjs9 === '是' || this.formData.sftjs9 === 'Yes' this.formData.sftjs9 === '是' || this.formData.sftjs9 === 'Yes'
} }
//
if (this.formData.jlzzs) {
this.oldJlzzs = this.formData.jlzzs
}
//
if (this.formData.pxpb) {
this.oldPxpb = this.formData.pxpb
}
}, },
methods: { methods: {
// //
@ -533,6 +553,23 @@ export default {
return false return false
} }
//
const jlzmcTableData = this.$refs[refConf.jlzmcTable]?.getFilledFormData()
const jlzmcList = jlzmcTableData?.stepTableFormData || []
if (jlzmcList.length === 0) {
this.$message.warning('请先生成剂量组名称')
return false
}
const jlzTableData = this.$refs[refConf.jlzTable]?.getFilledFormData()
const jlzList = jlzTableData?.stepTableFormData || []
if (jlzList.length === 0) {
this.$message.warning('请先生成剂量组列表数据')
return false
}
return this.getFilledFormData() return this.getFilledFormData()
}, },
// //
@ -547,7 +584,29 @@ export default {
refConf.remark refConf.remark
] ]
return await this.validFormFields(refsToValidate)
const validFlag = await this.validFormFields(refsToValidate)
if (!validFlag) {
return false
}
//
const jlzmcTableData = this.$refs[refConf.jlzmcTable]?.getFilledFormData()
const jlzmcList = jlzmcTableData?.stepTableFormData || []
if (jlzmcList.length === 0) {
this.$message.warning('请先生成剂量组名称')
return false
}
const jlzTableData = this.$refs[refConf.jlzTable]?.getFilledFormData()
const jlzList = jlzTableData?.stepTableFormData || []
if (jlzList.length === 0) {
this.$message.warning('请先生成剂量组列表数据')
return false
}
return true
}, },
getResource() { getResource() {
// 使 // 使
@ -603,6 +662,55 @@ export default {
this.isSftjs9Yes = value === '是' || value === 'Yes' this.isSftjs9Yes = value === '是' || value === 'Yes'
} }
}, },
// blur
onJlzInfoBlur(e) {
const { key, value } = e
//
if (key === 'jlzzs') {
//
if (this.oldJlzzs !== null && this.oldJlzzs !== value) {
//
this.$set(this.formData, 'jlzmcTableData', [])
//
this.$set(this.formData, 'jlzTableData', [])
this.$message.info('剂量组总数已改变,已清空剂量组名称和剂量组列表数据')
}
//
this.oldJlzzs = value
}
//
if (key === 'pxpb') {
//
if (this.oldPxpb !== null && this.oldPxpb !== value) {
//
this.$set(this.formData, 'jlzTableData', [])
this.$message.info('平行瓶数已改变,已清空剂量组列表数据')
}
//
this.oldPxpb = value
}
},
// blur
onJlzmcTableBlur(e) {
const { colKey } = e
//
if (colKey === 'jlzzmc') {
//
const jlzTableData = this.formData.jlzTableData || []
if (jlzTableData.length > 0) {
//
this.$set(this.formData, 'jlzTableData', [])
this.$message.info('剂量组名称已改变,已清空剂量组列表数据')
}
}
},
// //
handleJlzzsButton(item) { handleJlzzsButton(item) {
const { subKey } = item || {} const { subKey } = item || {}
@ -611,8 +719,9 @@ export default {
const jlzInfoData = this.$refs[refConf.jlzInfo]?.getFilledFormData() const jlzInfoData = this.$refs[refConf.jlzInfo]?.getFilledFormData()
const jlzzs = jlzInfoData?.jlzzs const jlzzs = jlzInfoData?.jlzzs
// 0
if (!jlzzs || jlzzs <= 0) { if (!jlzzs || jlzzs <= 0) {
this.$message.warning('请输入剂量组总数')
this.$message.warning('请输入大于0的剂量组总数')
return return
} }
@ -631,8 +740,8 @@ export default {
} }
}, },
// //
handleJlzmcComplete() {
//
async handleJlzmcComplete() {
// 1.
const jlzInfoData = this.$refs[refConf.jlzInfo]?.getFilledFormData() const jlzInfoData = this.$refs[refConf.jlzInfo]?.getFilledFormData()
const pxpb = jlzInfoData?.pxpb const pxpb = jlzInfoData?.pxpb
@ -641,7 +750,15 @@ export default {
return return
} }
// CustomTable ref
// 2.
try {
await this.$refs[refConf.jlzmcTable]?.getFormData()
} catch (error) {
this.$message.warning('请完善剂量组名称信息')
return
}
// 3.
const jlzmcTableData = this.$refs[refConf.jlzmcTable]?.getFilledFormData() const jlzmcTableData = this.$refs[refConf.jlzmcTable]?.getFilledFormData()
const jlzmcList = jlzmcTableData?.stepTableFormData || [] const jlzmcList = jlzmcTableData?.stepTableFormData || []
@ -650,15 +767,6 @@ export default {
return return
} }
//
const emptyNames = jlzmcList.filter(
(item) => !item.jlzzmc || item.jlzzmc.trim() === ''
)
if (emptyNames.length > 0) {
this.$message.warning('请填写所有剂量组名称')
return
}
// //
const newRows = [] const newRows = []

+ 4
- 0
src/views/business/comps/template/comps/dl/DL015.vue View File

@ -342,6 +342,8 @@ export default {
const jlzTableData = bdnr.jlzTableData || [] const jlzTableData = bdnr.jlzTableData || []
if (jlzTableData.length === 0) { if (jlzTableData.length === 0) {
//
this.$set(this.formData, 'hyqkTableData', [])
this.$message.warning('前序表单中没有剂量组数据') this.$message.warning('前序表单中没有剂量组数据')
return return
} }
@ -364,6 +366,8 @@ export default {
this.$message.success(`已从前序表单加载 ${hyqkData.length} 条剂量组数据`) this.$message.success(`已从前序表单加载 ${hyqkData.length} 条剂量组数据`)
} catch (error) { } catch (error) {
console.error('解析前序表单数据失败:', error) console.error('解析前序表单数据失败:', error)
//
this.$set(this.formData, 'hyqkTableData', [])
this.$message.error('解析前序表单数据失败') this.$message.error('解析前序表单数据失败')
} }
} }

Loading…
Cancel
Save