diff --git a/src/api/business/sj/sj.js b/src/api/business/sj/sj.js index 63e5837..212915c 100644 --- a/src/api/business/sj/sj.js +++ b/src/api/business/sj/sj.js @@ -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 }) -} \ No newline at end of file +} + +// 分装 +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 + }) +} diff --git a/src/views/business/comps/template/comps/sp/SWYPFXFFXYPZBB/ZQDYJMD.vue b/src/views/business/comps/template/comps/sp/SWYPFXFFXYPZBB/ZQDYJMD.vue index 3ca71d9..7fb1033 100644 --- a/src/views/business/comps/template/comps/sp/SWYPFXFFXYPZBB/ZQDYJMD.vue +++ b/src/views/business/comps/template/comps/sp/SWYPFXFFXYPZBB/ZQDYJMD.vue @@ -35,6 +35,9 @@ :rowIndex="rowIndex" :columns="columns" @deleteRow="(rowIndex) => deleteRow(rowIndex)" + @subPackageSubmit="subPackageSubmit" + @startConfig="startConfig" + @configComplete="configComplete" > @@ -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 { + }).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(() => { + }) + }, } diff --git a/src/views/business/comps/template/formConfig/SWYPFXFFXYPZBBTableConfig.js b/src/views/business/comps/template/formConfig/SWYPFXFFXYPZBBTableConfig.js index 57609e4..e3ed795 100644 --- a/src/views/business/comps/template/formConfig/SWYPFXFFXYPZBBTableConfig.js +++ b/src/views/business/comps/template/formConfig/SWYPFXFFXYPZBBTableConfig.js @@ -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', diff --git a/src/views/business/comps/template/mixins/templateMixin.js b/src/views/business/comps/template/mixins/templateMixin.js index e9c8517..7eb1989 100644 --- a/src/views/business/comps/template/mixins/templateMixin.js +++ b/src/views/business/comps/template/mixins/templateMixin.js @@ -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 } } })