Browse Source

feat: [模板管理] 分装

lkf
memorylkf 2 months ago
parent
commit
aa7b582c25
4 changed files with 109 additions and 16 deletions
  1. +26
    -2
      src/api/business/sj/sj.js
  2. +61
    -0
      src/views/business/comps/template/comps/sp/SWYPFXFFXYPZBB/ZQDYJMD.vue
  3. +3
    -1
      src/views/business/comps/template/formConfig/SWYPFXFFXYPZBBTableConfig.js
  4. +19
    -13
      src/views/business/comps/template/mixins/templateMixin.js

+ 26
- 2
src/api/business/sj/sj.js View File

@ -117,7 +117,6 @@ export function sj_jy(data) {
})
}
// 查询试剂库存-稽查轨迹列表
export function jcgjList(query) {
return request({
@ -134,4 +133,29 @@ export function tzList(query) {
method: 'get',
params: query
})
}
}
// 分装
export function sj_subpackage(data) {
return request({
url: '/system/business/sj/subpackage',
method: 'post',
data: data
})
}
// 开始配置
export function sj_startConfiguration(data) {
return request({
url: '/system/business/sj/startConfiguration',
method: 'post',
data: data
})
}
// 完成配置
export function sj_configurationCompleted(data) {
return request({
url: '/system/business/sj/configurationCompleted',
method: 'post',
data: data
})
}

+ 61
- 0
src/views/business/comps/template/comps/sp/SWYPFXFFXYPZBB/ZQDYJMD.vue View File

@ -35,6 +35,9 @@
:rowIndex="rowIndex"
:columns="columns"
@deleteRow="(rowIndex) => deleteRow(rowIndex)"
@subPackageSubmit="subPackageSubmit"
@startConfig="startConfig"
@configComplete="configComplete"
></TableOpertaion>
</template>
</CustomTable>
@ -67,6 +70,7 @@ import {getSWYPFXFFXYPZBBTableConfig} from "../../../formConfig/SWYPFXFFXYPZBBTa
import TableOpertaion from "@/components/Template/operation/TableOpertaion.vue"
import SelectReagentDialog from '../../../dialog/SelectReagentDialog.vue';
import { EventBus } from "@/utils/eventBus";
import { sj_subpackage,sj_startConfiguration,sj_configurationCompleted } from '@/api/business/sj/sj';
export default {
name: "ZQDYJMD",
@ -371,6 +375,63 @@ export default {
tableRef.deleteRow(rowIndex);
}
},
subPackageSubmit(val){
console.log("分装数据:"+JSON.stringify(val))
if(val.fzsj.fzList && val.fzsj.fzList.length>0){
let list = []
for(let i=0;i<val.fzsj.fzList.length;i++){
let item = val.fzsj.fzList[i]
list.push({
bh:val.fzsj.mybh+item.subCode,
kc:item.num,
kcdw:val.fzsj.dw,
})
}
let postData = {
studyId:this.formData.studyId,
studyFormId:this.formData.id,
bh:val.fzsj.mybh,
nd:val.rowData.hhwznd,
nddw:val.headerSelectFields.hhwzndUnit,
list:list
}
console.log("分装提交数据:"+JSON.stringify(postData))
sj_subpackage(postData).then(() => {
}).catch(() => {
})
.finally(() => {
})
}
},
startConfig(val){
console.log("开始配置数据:"+JSON.stringify(val))
let postData = {
bh:val.rowData.bh+val.rowData.bhCode,
}
console.log("开始配置提交数据:"+JSON.stringify(postData))
sj_startConfiguration(postData).then(() => {
}).catch(() => {
})
.finally(() => {
})
},
configComplete(val){
console.log("完成配置数据:"+JSON.stringify(val))
let postData = {
mc:null,
bh:val.rowData.bh+val.rowData.bhCode,
nd:val.rowData.hhwznd,
nddw:val.headerSelectFields.hhwzndUnit,
kc: val.rowData.sjjzxql+val.rowData.sjryxql,//todo -
kcdw: val.headerSelectFields.sjryxqlUnit || val.headerSelectFields.sjjzxqlUnit,//todo --
}
console.log("完成配置提交数据:"+JSON.stringify(postData))
sj_configurationCompleted(postData).then(() => {
}).catch(() => {
})
.finally(() => {
})
},
}

+ 3
- 1
src/views/business/comps/template/formConfig/SWYPFXFFXYPZBBTableConfig.js View File

@ -20,7 +20,9 @@ export const getSWYPFXFFXYPZBBTableConfig = (
bodySubKey: 'bhCode',
bodyFillType: 'preFill',
width: 280,
myCodeFields: ['bh', 'bhOther', 'bhCode']
myCodeFields: ['bh', 'bhOther', 'bhCode'],
maxVolumeField: 'sjryxql', //分装的最大量字段
maxVolumeFieldUnit: 'sjryxqlUnit' //分装的最大量单位字段
},
{
label: 'template.sp.sp008.ysry',

+ 19
- 13
src/views/business/comps/template/mixins/templateMixin.js View File

@ -1,5 +1,5 @@
import moment from 'moment';
import { getLatestSn } from '@/api/template';
import moment from 'moment'
import { getLatestSn } from '@/api/template'
export default {
dicts: [
'business_pztj',
@ -37,6 +37,7 @@ export default {
handler(v) {
if (v) {
const {
studyId,
studyMc,
studySn,
templateMc,
@ -54,6 +55,7 @@ export default {
if (v.bdnr) {
this.formData = {
...JSON.parse(v.bdnr),
studyId,
studyMc,
studySn,
templateMc,
@ -66,6 +68,7 @@ export default {
}
} else {
this.formData = {
studyId,
studyMc,
studySn,
templateMc,
@ -87,8 +90,8 @@ export default {
effectivePeriodUnit &&
!expireDate
) {
const start = moment(startDate);
const unit = effectivePeriodUnit === '天' ? 'days' : 'hours';
const start = moment(startDate)
const unit = effectivePeriodUnit === '天' ? 'days' : 'hours'
const end = start
.add(Number(effectivePeriod), unit)
.format('YYYY-MM-DD HH:mm:ss')
@ -126,10 +129,10 @@ export default {
this.setTemplateData({})
},
methods: {
async getLatestSn(count = 1){
const res = await getLatestSn({count})
if(res.code === 200){
return res.data;
async getLatestSn(count = 1) {
const res = await getLatestSn({ count })
if (res.code === 200) {
return res.data
}
return null
},
@ -142,15 +145,18 @@ export default {
refArr.map((ref) => {
const refData = this.$refs[ref]?.getFilledFormData() || {}
for (const [key, value] of Object.entries(refData)) {
let index = 0;
let index = 0
// 如果当前键是可能重复的字段,且结果对象中已经存在该键,则添加索引后缀
if ((key === 'headerSelectFields' || key === 'stepTableFormData') && result.hasOwnProperty(key)) {
if (
(key === 'headerSelectFields' || key === 'stepTableFormData') &&
result.hasOwnProperty(key)
) {
// 为重复字段生成带索引的键名,从1开始(因为第一个组件不需要后缀)
const newKey = `${key}_${++index}`;
result[newKey] = value;
const newKey = `${key}_${++index}`
result[newKey] = value
} else {
// 正常合并其他字段
result[key] = value;
result[key] = value
}
}
})

Loading…
Cancel
Save