luojie 2 months ago
parent
commit
270894ffc6
81 changed files with 370 additions and 567 deletions
  1. +14
    -0
      src/api/business/home/home.js
  2. +2
    -1
      src/lang/en/business/home/home.js
  3. +2
    -1
      src/lang/zh/business/home/home.js
  4. +17
    -2
      src/layout/components/Navbar.vue
  5. +28
    -8
      src/permission.js
  6. +3
    -1
      src/store/index.js
  7. +30
    -0
      src/store/modules/business/menuCount.js
  8. +3
    -0
      src/views/business/comps/template/TemplateTable.vue
  9. +56
    -50
      src/views/business/comps/template/comps/sp/SWYPBQGZYZBB.vue
  10. +1
    -15
      src/views/business/comps/template/comps/sp/SWYPFXCBYPZB.vue
  11. +1
    -18
      src/views/business/comps/template/comps/sp/SWYPFXFFXZKPZB.vue
  12. +0
    -2
      src/views/business/comps/template/comps/sp/SWYPFXRYPZB.vue
  13. +95
    -91
      src/views/business/comps/template/comps/sp/SWYPNBGZYZBB.vue
  14. +13
    -4
      src/views/business/comps/template/mixins/templateMixin.js
  15. +1
    -1
      src/views/business/form/drug/comp/sqbd.vue
  16. +1
    -1
      src/views/business/form/drug/comp/tbbd.vue
  17. +1
    -1
      src/views/business/form/drug/comp/wzlb.vue
  18. +1
    -1
      src/views/business/form/drug/comp/ytbd.vue
  19. +1
    -1
      src/views/business/form/nonTrial/comp/syff/Xz.vue
  20. +1
    -1
      src/views/business/form/nonTrial/comp/syff/Yd.vue
  21. +1
    -1
      src/views/business/form/nonTrial/comp/tbbd.vue
  22. +1
    -1
      src/views/business/form/nonTrial/comp/wzlb.vue
  23. +1
    -1
      src/views/business/form/nonTrial/comp/ytbd.vue
  24. +1
    -1
      src/views/business/resource/gsp/comps/ffjl/Gd.vue
  25. +1
    -1
      src/views/business/resource/gsp/comps/ffjl/Jd.vue
  26. +1
    -1
      src/views/business/resource/gsp/comps/ffjl/Jq.vue
  27. +1
    -1
      src/views/business/resource/gsp/comps/ffjl/Js.vue
  28. +1
    -1
      src/views/business/resource/gsp/comps/ffjl/Jy.vue
  29. +1
    -1
      src/views/business/resource/gsp/comps/ffjl/Sd.vue
  30. +1
    -1
      src/views/business/resource/gsp/comps/gsp/Bj.vue
  31. +1
    -1
      src/views/business/resource/gsp/comps/gsp/Cz.vue
  32. +1
    -1
      src/views/business/resource/gsp/comps/gsp/CzBatch.vue
  33. +4
    -4
      src/views/business/resource/gsp/comps/gsp/Ff.vue
  34. +1
    -1
      src/views/business/resource/gsp/comps/gsp/Gd.vue
  35. +4
    -4
      src/views/business/resource/gsp/comps/gsp/Gh.vue
  36. +1
    -1
      src/views/business/resource/gsp/comps/gsp/Jd.vue
  37. +1
    -1
      src/views/business/resource/gsp/comps/gsp/Js.vue
  38. +1
    -1
      src/views/business/resource/gsp/comps/gsp/Jy.vue
  39. +1
    -1
      src/views/business/resource/gsp/comps/gsp/Sd.vue
  40. +1
    -1
      src/views/business/resource/gsp/comps/gsp/Shbj.vue
  41. +1
    -1
      src/views/business/resource/gsp/comps/gsp/Shxgkc.vue
  42. +3
    -3
      src/views/business/resource/gsp/comps/gsp/Xgkc.vue
  43. +1
    -38
      src/views/business/resource/gsp/comps/gsp/Xq.vue
  44. +0
    -252
      src/views/business/resource/gsp/comps/gsp/XqExport.vue
  45. +1
    -1
      src/views/business/resource/gsp/comps/gsp/Xz.vue
  46. +1
    -1
      src/views/business/resource/gsp/comps/gsp/Ysff.vue
  47. +1
    -1
      src/views/business/resource/gsp/comps/rkjl/Bj.vue
  48. +1
    -1
      src/views/business/resource/gsp/comps/rkjl/Gd.vue
  49. +1
    -1
      src/views/business/resource/gsp/comps/rkjl/Jd.vue
  50. +1
    -1
      src/views/business/resource/gsp/comps/rkjl/Js.vue
  51. +1
    -1
      src/views/business/resource/gsp/comps/rkjl/Jy.vue
  52. +1
    -1
      src/views/business/resource/gsp/comps/rkjl/Sd.vue
  53. +1
    -1
      src/views/business/resource/gsp/comps/rkjl/Xz.vue
  54. +1
    -1
      src/views/business/resource/gyzj/comps/ffjl/Gd.vue
  55. +1
    -1
      src/views/business/resource/gyzj/comps/ffjl/Jd.vue
  56. +1
    -1
      src/views/business/resource/gyzj/comps/ffjl/Jq.vue
  57. +1
    -1
      src/views/business/resource/gyzj/comps/ffjl/Js.vue
  58. +1
    -1
      src/views/business/resource/gyzj/comps/ffjl/Jy.vue
  59. +1
    -1
      src/views/business/resource/gyzj/comps/ffjl/Sd.vue
  60. +1
    -1
      src/views/business/resource/gyzj/comps/gyzj/Bj.vue
  61. +3
    -3
      src/views/business/resource/sj/comps/Bj.vue
  62. +1
    -1
      src/views/business/resource/sj/comps/Cz.vue
  63. +1
    -1
      src/views/business/resource/sj/comps/CzBatch.vue
  64. +1
    -1
      src/views/business/resource/sj/comps/Gd.vue
  65. +1
    -1
      src/views/business/resource/sj/comps/Jd.vue
  66. +1
    -1
      src/views/business/resource/sj/comps/Js.vue
  67. +1
    -1
      src/views/business/resource/sj/comps/Jy.vue
  68. +1
    -1
      src/views/business/resource/sj/comps/Sd.vue
  69. +3
    -3
      src/views/business/resource/sj/comps/Xgkc.vue
  70. +1
    -1
      src/views/business/resource/yq/list.vue
  71. +1
    -1
      src/views/business/study/comp/jhbd/Bj.vue
  72. +1
    -1
      src/views/business/study/comp/sqbd/Bj.vue
  73. +1
    -1
      src/views/business/study/comp/syff/Xq.vue
  74. +2
    -1
      src/views/business/study/comp/syff/Xz.vue
  75. +1
    -1
      src/views/business/study/comp/syff/Yd.vue
  76. +1
    -1
      src/views/business/study/comp/syxx.vue
  77. +9
    -2
      src/views/business/study/comp/tbbd/Bj.vue
  78. +1
    -1
      src/views/business/study/comp/wzlb.vue
  79. +1
    -1
      src/views/business/study/comp/ytbd/Bj.vue
  80. +3
    -3
      src/views/business/template/list.vue
  81. +17
    -5
      src/views/index.vue

+ 14
- 0
src/api/business/home/home.js View File

@ -14,3 +14,17 @@ export function home_noticeList(query) {
params: query
})
}
export function home_noticeRead(data) {
return request({
url: '/system/business/home/noticeRead',
method: 'post',
data
})
}
export function home_noticeCount(query) {
return request({
url: '/system/business/home/noticeCount',
method: 'get',
params: query
})
}

+ 2
- 1
src/lang/en/business/home/home.js View File

@ -5,5 +5,6 @@ export default {
bzxzsy: 'Weekly New Study',
ywcsy: 'Completed Study',
xttz: 'Notification'
xttz: 'Notification',
xx: 'Message'
}

+ 2
- 1
src/lang/zh/business/home/home.js View File

@ -5,5 +5,6 @@ export default {
bzxzsy: '本周新增试验',
ywcsy: '已完成试验',
xttz: '系统通知'
xttz: '系统通知',
xx: '消息'
}

+ 17
- 2
src/layout/components/Navbar.vue View File

@ -20,6 +20,8 @@
</el-tooltip> -->
</template>
<div class="notice-count" @click="gotoNotice"><span>{{$t('page.business.home.xx')}}</span><el-badge :value="menuCount.noticeCount" class="item"></el-badge></div>
<el-dropdown class="avatar-container right-menu-item hover-effect" trigger="hover">
<div class="avatar-wrapper">
<img src="@/assets/images/profile.jpg" class="user-avatar">
@ -35,6 +37,7 @@
</el-dropdown-menu>
</el-dropdown>
<lang-select class="set-language" style="margin-left: 10px;"/>
</div>
</div>
</div>
@ -42,7 +45,7 @@
</template>
<script>
import { mapGetters } from 'vuex'
import { mapGetters,mapState } from 'vuex'
import Breadcrumb from '@/components/Breadcrumb'
import TopNav from '@/components/TopNav'
import Hamburger from '@/components/Hamburger'
@ -71,8 +74,9 @@ export default {
'sidebar',
'avatar',
'device',
'nickName'
'nickName',
]),
...mapState(["menuCount"]),
setting: {
get() {
return this.$store.state.settings.showSettings
@ -101,6 +105,9 @@ export default {
location.href = '/user/work'
})
}).catch(() => { })
},
gotoNotice(){
this.$router.push('/user/work')
}
}
}
@ -165,10 +172,18 @@ export default {
line-height: 50px;
padding-right: 20px;
display: flex;
align-items: center;
&:focus {
outline: none;
}
.notice-count{
margin-right: 10px;
cursor: pointer;
}
.right-menu-item {
display: inline-block;
padding: 0 8px;

+ 28
- 8
src/permission.js View File

@ -12,7 +12,7 @@ NProgress.configure({ showSpinner: false })
const whiteList = ['/login', '/lblh']
const isWhiteList = (path) => {
return whiteList.some(pattern => isPathMatch(pattern, path))
return whiteList.some((pattern) => isPathMatch(pattern, path))
}
router.beforeEach((to, from, next) => {
@ -28,21 +28,41 @@ router.beforeEach((to, from, next) => {
} else {
if (store.getters.roles.length === 0) {
isRelogin.show = true
//业务菜单角标
store
.dispatch('GetMenuCount')
.then(() => {})
.catch((error) => {
console.log('GetMenuCount出错:' + (error.msg || ''))
})
// 判断当前用户是否已拉取完user_info信息
store.dispatch('GetInfo').then(() => {
isRelogin.show = false
store.dispatch('GenerateRoutes').then(accessRoutes => {
// 根据roles权限生成可访问的路由表
router.addRoutes(accessRoutes) // 动态添加可访问路由表
next({ ...to, replace: true }) // hack方法 确保addRoutes已完成
store
.dispatch('GetInfo')
.then(() => {
isRelogin.show = false
store.dispatch('GenerateRoutes').then((accessRoutes) => {
// 根据roles权限生成可访问的路由表
router.addRoutes(accessRoutes) // 动态添加可访问路由表
next({ ...to, replace: true }) // hack方法 确保addRoutes已完成
})
})
}).catch(err => {
.catch((err) => {
store.dispatch('LogOut').then(() => {
Message.error(err)
next({ path: '/' })
})
})
} else {
//业务菜单角标
store
.dispatch('GetMenuCount')
.then(() => {})
.catch((error) => {
console.log('GetMenuCount出错:' + (error.msg || ''))
})
next()
}
}

+ 3
- 1
src/store/index.js View File

@ -8,6 +8,7 @@ import permission from './modules/permission'
import settings from './modules/settings'
import getters from './getters'
import template from './modules/template'
import menuCount from './modules/business/menuCount'
Vue.use(Vuex)
@ -19,7 +20,8 @@ const store = new Vuex.Store({
tagsView,
permission,
settings,
template
template,
menuCount
},
getters
})

+ 30
- 0
src/store/modules/business/menuCount.js View File

@ -0,0 +1,30 @@
import { home_noticeCount } from '@/api/business/home/home'
const menuCount = {
state: {
//未读通知数量
noticeCount: 0
},
mutations: {
SET_MENU_COUNT: (state, d) => {
state.noticeCount = d.noticeCount
}
},
actions: {
GetMenuCount({ commit, state }) {
return new Promise((resolve, reject) => {
home_noticeCount()
.then((res) => {
commit('SET_MENU_COUNT', res.data)
resolve(res)
})
.catch((error) => {
reject(error)
})
})
}
}
}
export default menuCount

+ 3
- 0
src/views/business/comps/template/TemplateTable.vue View File

@ -211,6 +211,9 @@ export default {
getResource() {
return this.$refs.templateComponent.getResource();
},
getYqResource() {
return this.$refs.templateComponent.getYqResource();
},
getFilledFormData() {
return this.$refs.templateComponent.getFilledFormData();
},

+ 56
- 50
src/views/business/comps/template/comps/sp/SWYPBQGZYZBB.vue View File

@ -6,12 +6,10 @@
"生物样品标曲工作液制备表" }}<img src="@/assets/images/detail-title.png" /></div>
<div class="detail-content">
<div class="content">
<BaseInfoFormPackage fieldItemLabel="template.common.baseInfo" label="template.common.baseInfo" ref="baseInfoRef" :formConfig="baseInfoFormConfig"
:formData="formData" />
<TableList label="template.common.reagentInfo" :columns="sysjColumns"
:dataSource="resource" />
<TableList label="template.common.instrumentInfo" :columns="yqsColumns"
:dataSource="resource" />
<BaseInfoFormPackage fieldItemLabel="template.common.baseInfo" label="template.common.baseInfo"
ref="baseInfoRef" :formConfig="baseInfoFormConfig" :formData="formData" />
<TableList label="template.common.reagentInfo" :columns="sysjColumns" :dataSource="resource" />
<TableList label="template.common.instrumentInfo" :columns="yqsColumns" :dataSource="yqResource" />
<!-- <BaseInfoFormPackage label="存储条件" ref="storageConditionRef" :formConfig="storageFormConfig"
:formData="formData" /> -->
<LineLabel label="template.common.operationSteps" />
@ -19,9 +17,9 @@
<BaseInfoFormPackage @clickable="handleClickable" ref="stepFormPackageRef"
@resetRecord="resetRecord" :formConfig="stepFormConfig" @blur="onHandleBlur"
:formData="formData" />
<CustomTable fieldItemLabel="template.common.operationSteps" @blur="onHandleTableBlur" :showAddRow="false"
:showOperation="fillType === 'actFill'" ref="stepTableRef" :columns="stepColumns"
:formData="formData">
<CustomTable fieldItemLabel="template.common.operationSteps" @blur="onHandleTableBlur"
:showAddRow="false" :showOperation="fillType === 'actFill'" ref="stepTableRef"
:columns="stepColumns" :formData="formData">
<template slot="operation" slot-scope="{ row, rowIndex, columns }">
<TableOpertaion @startConfig="startConfig" @configComplete="configComplete"
@printTag="printTag" @subPackageSubmit="subPackageSubmit" :fillType="fillType"
@ -31,7 +29,8 @@
</CustomTable>
</div>
<Step ref="stepRef" :formData="formData.stepData"></Step>
<BaseInfoFormPackage fieldItemLabel="template.common.remark" label="template.common.remark" ref="remarkRef" :formConfig="remarkConig" :formData="formData" />
<BaseInfoFormPackage fieldItemLabel="template.common.remark" label="template.common.remark"
ref="remarkRef" :formConfig="remarkConig" :formData="formData" />
</div>
</div>
@ -542,6 +541,7 @@ export default {
const { actVol, actNd } = this.updateSjmbrynd(item, row.nd);
item.actSolutionVolume = actVol;
item.actSolutionConcentration = actNd;
item.actSolutionExpire = row.sxr;
}
// stepTableRef
@ -551,49 +551,55 @@ export default {
let content = await this.validFormFields(["baseInfoRef", "stepFormPackageRef", "stepTableRef", "stepRef", "remarkRef"]);
//resource
let tmpResource = []
let tableList = content.stepTableFormData
if (tableList && tableList.length > 0) {
for (let i = 0; i < tableList.length; i++) {
let item = tableList[i]
//(+)
const { total, unit } = addTj([item.actStartSolutionVolume, item.actDiluentVolumeUnit], [content.headerSelectFields.actStartSolutionVolumeUnit, content.headerSelectFields.actDiluentVolumeUnit])
tmpResource.push({
mc: null,
bh: item.targetSolutionCode + item.subTargetSolutionCode,
ph: null,
nd: item.actSolutionConcentration + content.headerSelectFields.actSolutionConcentrationUnit,
source: 'ELN配制',
sxrq: content.expireDate,
ndz: item.actSolutionConcentration,
nddw: content.headerSelectFields.actSolutionConcentrationUnit,
kc: total,
kcdw: unit,
syl: null,
syldw: unit,
yxzq: content.effectivePeriod,
yxzqdw: content.effectivePeriodUnit,
})
if (item.fzsj && item.fzsj.fzList && item.fzsj.fzList) {
for (let j = 0; j < item.fzsj.fzList.length; j++) {
tmpResource.push({
mc: null,
bh: item.fzsj.mybh +'-'+item.fzsj.fzList[j].subCode,
ph: null,
nd: item.actSolutionConcentration + content.headerSelectFields.actSolutionConcentrationUnit,
source: 'ELN配制',
sxrq: content.expireDate,
ndz: item.actSolutionConcentration,
nddw: content.headerSelectFields.actSolutionConcentrationUnit,
kc: item.fzsj.fzList[j].num,
kcdw: item.fzsj.dw,
syl: null,
syldw: item.fzsj.dw,
yxzq: content.effectivePeriod,
yxzqdw: content.effectivePeriodUnit,
})
debugger
if (this.fillType === "actFill") {
//
let tableList = content.stepTableFormData
if (tableList && tableList.length > 0) {
for (let i = 0; i < tableList.length; i++) {
let item = tableList[i]
//(+)
const { total, unit } = addTj([item.actStartSolutionVolume, item.actDiluentVolumeUnit], [content.headerSelectFields.actStartSolutionVolumeUnit, content.headerSelectFields.actDiluentVolumeUnit])
tmpResource.push({
mc: null,
bh: item.targetSolutionCode + item.subTargetSolutionCode,
ph: null,
nd: item.actSolutionConcentration + content.headerSelectFields.actSolutionConcentrationUnit,
source: 'ELN配制',
sxrq: content.expireDate,
ndz: item.actSolutionConcentration,
nddw: content.headerSelectFields.actSolutionConcentrationUnit,
kc: total,
kcdw: unit,
syl: null,
syldw: unit,
yxzq: content.effectivePeriod,
yxzqdw: content.effectivePeriodUnit,
})
if (item.fzsj && item.fzsj.fzList && item.fzsj.fzList) {
for (let j = 0; j < item.fzsj.fzList.length; j++) {
tmpResource.push({
mc: null,
bh: item.fzsj.mybh + '-' + item.fzsj.fzList[j].subCode,
ph: null,
nd: item.actSolutionConcentration + content.headerSelectFields.actSolutionConcentrationUnit,
source: 'ELN配制',
sxrq: content.expireDate,
ndz: item.actSolutionConcentration,
nddw: content.headerSelectFields.actSolutionConcentrationUnit,
kc: item.fzsj.fzList[j].num,
kcdw: item.fzsj.dw,
syl: null,
syldw: item.fzsj.dw,
yxzq: content.effectivePeriod,
yxzqdw: content.effectivePeriodUnit,
})
}
}
}
}
//使
}
this.resourceTmp = tmpResource

+ 1
- 15
src/views/business/comps/template/comps/sp/SWYPFXCBYPZB.vue View File

@ -11,7 +11,7 @@
<TableList label="template.common.reagentInfo" :columns="sysjColumns"
:dataSource="resource" />
<TableList label="template.common.instrumentInfo" :columns="yqsColumns"
:dataSource="resource" />
:dataSource="yqResource" />
<BaseInfoFormPackage fieldItemLabel="template.common.storageCondition" label="template.common.storageCondition" ref="storageConditionRef"
:formConfig="storageFormConfig" :formData="formData" />
<LineLabel label="template.common.operationSteps" />
@ -240,20 +240,6 @@ export default {
return {
resource: [],
resourceData1: [],
sysjColumns: [
{ label: 'template.common.reagentName', prop: "mc" },//
{ label: 'template.common.reagentCode', prop: "bh" },//
{ label: 'template.common.reagentNo', prop: "ph" },//
{ label: 'template.common.concentration', prop: "nd" },//
{ label: 'template.common.source', prop: "source" },//
{ label: 'template.common.reagentExpireDate', prop: "sxrq" },//
],
yqsColumns: [
{ label: 'template.common.instrumentName', prop: "instrumentName" },
{ label: 'template.common.instrumentModel', prop: "instrumentModel" },
{ label: 'template.common.instrumentCode', prop: "instrumentCode" },
{ label: 'template.common.nextTestDate', prop: "nextTestDate" },
],
formData: {}
};
},

+ 1
- 18
src/views/business/comps/template/comps/sp/SWYPFXFFXZKPZB.vue View File

@ -11,7 +11,7 @@
<TableList label="template.common.reagentInfo" :columns="sysjColumns"
:dataSource="resource" />
<TableList label="template.common.instrumentInfo" :columns="yqsColumns"
:dataSource="resource" />
:dataSource="yqResource" />
<BaseInfoFormPackage fieldItemLabel="template.common.storageCondition" label="template.common.storageCondition" ref="storageConditionRef"
:formConfig="storageFormConfig" :formData="formData" />
<LineLabel label="template.common.operationSteps" />
@ -236,25 +236,8 @@ export default {
data() {
return {
reagentType: "",//12
currentSubKey: "",//key
rowIndex:0,//
resource: [],
sysjColumns: [
{ label: 'template.common.reagentName', prop: "mc" },//
{ label: 'template.common.reagentCode', prop: "bh" },//
{ label: 'template.common.reagentNo', prop: "ph" },//
{ label: 'template.common.concentration', prop: "nd" },//
{ label: 'template.common.source', prop: "source" },//
{ label: 'template.common.reagentExpireDate', prop: "sxrq" },//
],
yqsColumns: [
{ label: 'template.common.instrumentName', prop: "instrumentName" },
{ label: 'template.common.instrumentModel', prop: "instrumentModel" },
{ label: 'template.common.instrumentCode', prop: "instrumentCode" },
{ label: 'template.common.nextTestDate', prop: "nextTestDate" },
],
formData: {}
};
},

+ 0
- 2
src/views/business/comps/template/comps/sp/SWYPFXRYPZB.vue View File

@ -241,8 +241,6 @@ export default {
},
data() {
return {
resource: [],
yqResource: [],
formData: {}
};
},

+ 95
- 91
src/views/business/comps/template/comps/sp/SWYPNBGZYZBB.vue View File

@ -9,9 +9,10 @@
<BaseInfoFormPackage fieldItemLabel="template.common.baseInfo" label="template.common.baseInfo"
ref="baseInfoRef" :formConfig="baseInfoFormConfig" :formData="formData" />
<TableList label="template.common.reagentInfo" :columns="sysjColumns" :dataSource="resource" />
<TableList label="template.common.instrumentInfo" :columns="yqsColumns" :dataSource="resource" />
<BaseInfoFormPackage fieldItemLabel="template.common.storageCondition" label="template.common.storageCondition" ref="storageConditionRef" :formConfig="storageFormConfig"
:formData="formData" />
<TableList label="template.common.instrumentInfo" :columns="yqsColumns" :dataSource="yqResource" />
<BaseInfoFormPackage fieldItemLabel="template.common.storageCondition"
label="template.common.storageCondition" ref="storageConditionRef"
:formConfig="storageFormConfig" :formData="formData" />
<LineLabel label="template.common.operationSteps" />
<div v-if="fillType === 'preFill'" class="mt-20">
<el-button type="primary" @click="handleAddParalle">新增平行配制</el-button>
@ -86,7 +87,8 @@
:prefixKey="'paralle' + paralleIndex"></Step>
</div>
</div>
<BaseInfoFormPackage fieldItemLabel="template.common.remark" label="template.common.remark" ref="remarkRef" :formConfig="remarkConig" :formData="formData" />
<BaseInfoFormPackage fieldItemLabel="template.common.remark" label="template.common.remark"
ref="remarkRef" :formConfig="remarkConig" :formData="formData" />
</div>
</div>
@ -484,7 +486,7 @@ export default {
//
newData.forEach((item, index) => {
const { actVol, actNd } = this.updateSjmbrynd(item, row.nd);
console.log(actNd,"actNd")
console.log(actNd, "actNd")
item.actSolutionVolume = actVol;
item.actSolutionConcentration = actNd;
})
@ -572,96 +574,98 @@ export default {
let content = this.getFilledFormData();
//resource
let tmpResource = []
//
if (content.ladderConfigs && content.ladderConfigs.length > 0) {
for (let i = 0; i < content.ladderConfigs.length; i++) {
let ladderConfigs = content.ladderConfigs[i]
let stepTableFormData = ladderConfigs.stepTableFormData
for (let j = 0; j < stepTableFormData.length; j++) {
//(+)
const { total, unit } = addTj([stepTableFormData[j].actStartSolutionVolume, stepTableFormData[j].actDiluentVolume], [ladderConfigs.headerSelectFields.actStartSolutionVolumeUnit, ladderConfigs.headerSelectFields.actDiluentVolumeUnit])
tmpResource.push({
mc: null,
bh: stepTableFormData[j].targetSolutionCode + stepTableFormData[j].subTargetSolutionCode,
ph: null,
nd: stepTableFormData[j].actSolutionConcentration + ladderConfigs.headerSelectFields.actSolutionConcentrationUnit,
source: 'ELN配制',
sxrq: ladderConfigs.expireDate,
ndz: stepTableFormData[j].actSolutionConcentration,
nddw: ladderConfigs.headerSelectFields.actSolutionConcentrationUnit,
kc: total,
kcdw: unit,
syl: null,
syldw: unit,
yxzq: ladderConfigs.effectivePeriod,
yxzqdw: ladderConfigs.effectivePeriodUnit,
})
let fzsj = stepTableFormData[j].fzsj
if (fzsj && fzsj.fzList) {
for (let k = 0; k < fzsj.fzList.length; k++) {
tmpResource.push({
mc: null,
bh: fzsj.mybh + '-' + fzsj.fzList[k].subCode,
ph: null,
nd: stepTableFormData[j].actSolutionConcentration + ladderConfigs.headerSelectFields.actSolutionConcentrationUnit,
source: 'ELN配制',
sxrq: ladderConfigs.expireDate,
ndz: stepTableFormData[j].actSolutionConcentration,
nddw: ladderConfigs.headerSelectFields.actSolutionConcentrationUnit,
kc: fzsj.fzList[k].num,
kcdw: fzsj.dw,
syl: null,
syldw: ladderConfigs.headerSelectFields.actSolutionVolumeUnit,
yxzq: ladderConfigs.effectivePeriod,
yxzqdw: ladderConfigs.effectivePeriodUnit,
})
if (this.fillType === "actFill") {
//
if (content.ladderConfigs && content.ladderConfigs.length > 0) {
for (let i = 0; i < content.ladderConfigs.length; i++) {
let ladderConfigs = content.ladderConfigs[i]
let stepTableFormData = ladderConfigs.stepTableFormData
for (let j = 0; j < stepTableFormData.length; j++) {
//(+)
const { total, unit } = addTj([stepTableFormData[j].actStartSolutionVolume, stepTableFormData[j].actDiluentVolume], [ladderConfigs.headerSelectFields.actStartSolutionVolumeUnit, ladderConfigs.headerSelectFields.actDiluentVolumeUnit])
tmpResource.push({
mc: null,
bh: stepTableFormData[j].targetSolutionCode + stepTableFormData[j].subTargetSolutionCode,
ph: null,
nd: stepTableFormData[j].actSolutionConcentration + ladderConfigs.headerSelectFields.actSolutionConcentrationUnit,
source: 'ELN配制',
sxrq: ladderConfigs.expireDate,
ndz: stepTableFormData[j].actSolutionConcentration,
nddw: ladderConfigs.headerSelectFields.actSolutionConcentrationUnit,
kc: total,
kcdw: unit,
syl: null,
syldw: unit,
yxzq: ladderConfigs.effectivePeriod,
yxzqdw: ladderConfigs.effectivePeriodUnit,
})
let fzsj = stepTableFormData[j].fzsj
if (fzsj && fzsj.fzList) {
for (let k = 0; k < fzsj.fzList.length; k++) {
tmpResource.push({
mc: null,
bh: fzsj.mybh + '-' + fzsj.fzList[k].subCode,
ph: null,
nd: stepTableFormData[j].actSolutionConcentration + ladderConfigs.headerSelectFields.actSolutionConcentrationUnit,
source: 'ELN配制',
sxrq: ladderConfigs.expireDate,
ndz: stepTableFormData[j].actSolutionConcentration,
nddw: ladderConfigs.headerSelectFields.actSolutionConcentrationUnit,
kc: fzsj.fzList[k].num,
kcdw: fzsj.dw,
syl: null,
syldw: ladderConfigs.headerSelectFields.actSolutionVolumeUnit,
yxzq: ladderConfigs.effectivePeriod,
yxzqdw: ladderConfigs.effectivePeriodUnit,
})
}
}
}
}
}
}
//
if (content.paralleConfigs && content.paralleConfigs.length > 0) {
for (let i = 0; i < content.paralleConfigs.length; i++) {
let paralleConfigs = content.paralleConfigs[i]
let stepTableFormData = paralleConfigs.stepTableFormData
for (let j = 0; j < stepTableFormData.length; j++) {
const { total, unit } = addTj([stepTableFormData[j].actSolutionVolume, stepTableFormData[j].actDiluentVolume], [paralleConfigs.headerSelectFields.actSolutionVolumeUnit, paralleConfigs.headerSelectFields.actDiluentVolumeUnit])
tmpResource.push({
mc: null,
bh: stepTableFormData[j].targetSolutionCode + stepTableFormData[j].subTargetSolutionCode,
ph: null,
nd: stepTableFormData[j].actSolutionConcentration + paralleConfigs.headerSelectFields.actSolutionConcentrationUnit,
source: 'ELN配制',
sxrq: stepTableFormData[j].targetSolutionExpirationDate,
ndz: stepTableFormData[j].actSolutionConcentration,
nddw: paralleConfigs.headerSelectFields.actSolutionConcentrationUnit,
kc: total,
kcdw: unit,
syl: null,
syldw: unit,
yxzq: stepTableFormData[j].targetSolutionCycle,
yxzqdw: stepTableFormData[j].targetSolutionCyclePrecision,
})
let fzsj = stepTableFormData[j].fzsj
if (fzsj && fzsj.fzList) {
for (let k = 0; k < fzsj.fzList.length; k++) {
tmpResource.push({
mc: null,
bh: fzsj.mybh + '-' + fzsj.fzList[k].subCode,
ph: null,
nd: stepTableFormData[j].actSolutionConcentration + paralleConfigs.headerSelectFields.actSolutionConcentrationUnit,
source: 'ELN配制',
sxrq: paralleConfigs.expireDate,
ndz: stepTableFormData[j].actSolutionConcentration,
nddw: paralleConfigs.headerSelectFields.actSolutionConcentrationUnit,
kc: fzsj.fzList[k].num,
kcdw: fzsj.dw,
syl: null,
syldw: paralleConfigs.headerSelectFields.actSolutionVolumeUnit,
yxzq: paralleConfigs.effectivePeriod,
yxzqdw: paralleConfigs.effectivePeriodUnit,
})
//
if (content.paralleConfigs && content.paralleConfigs.length > 0) {
for (let i = 0; i < content.paralleConfigs.length; i++) {
let paralleConfigs = content.paralleConfigs[i]
let stepTableFormData = paralleConfigs.stepTableFormData
for (let j = 0; j < stepTableFormData.length; j++) {
const { total, unit } = addTj([stepTableFormData[j].actSolutionVolume, stepTableFormData[j].actDiluentVolume], [paralleConfigs.headerSelectFields.actSolutionVolumeUnit, paralleConfigs.headerSelectFields.actDiluentVolumeUnit])
tmpResource.push({
mc: null,
bh: stepTableFormData[j].targetSolutionCode + stepTableFormData[j].subTargetSolutionCode,
ph: null,
nd: stepTableFormData[j].actSolutionConcentration + paralleConfigs.headerSelectFields.actSolutionConcentrationUnit,
source: 'ELN配制',
sxrq: stepTableFormData[j].targetSolutionExpirationDate,
ndz: stepTableFormData[j].actSolutionConcentration,
nddw: paralleConfigs.headerSelectFields.actSolutionConcentrationUnit,
kc: total,
kcdw: unit,
syl: null,
syldw: unit,
yxzq: stepTableFormData[j].targetSolutionCycle,
yxzqdw: stepTableFormData[j].targetSolutionCyclePrecision,
})
let fzsj = stepTableFormData[j].fzsj
if (fzsj && fzsj.fzList) {
for (let k = 0; k < fzsj.fzList.length; k++) {
tmpResource.push({
mc: null,
bh: fzsj.mybh + '-' + fzsj.fzList[k].subCode,
ph: null,
nd: stepTableFormData[j].actSolutionConcentration + paralleConfigs.headerSelectFields.actSolutionConcentrationUnit,
source: 'ELN配制',
sxrq: paralleConfigs.expireDate,
ndz: stepTableFormData[j].actSolutionConcentration,
nddw: paralleConfigs.headerSelectFields.actSolutionConcentrationUnit,
kc: fzsj.fzList[k].num,
kcdw: fzsj.dw,
syl: null,
syldw: paralleConfigs.headerSelectFields.actSolutionVolumeUnit,
yxzq: paralleConfigs.effectivePeriod,
yxzqdw: paralleConfigs.effectivePeriodUnit,
})
}
}
}
}

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

@ -54,6 +54,10 @@ export default {
//试验试剂信息
this.resource = JSON.parse(v.resource)
}
if (v.yqResource) {
//仪器信息
this.yqResource = JSON.parse(v.yqResource)
}
if (v.bdnr) {
this.formData = {
...JSON.parse(v.bdnr),
@ -112,6 +116,8 @@ export default {
formData: {},
templateDetail: {},
resource: [], //试验试剂信息
yqResource: [], //仪器信息
yqResourceTmp: [], //仪器信息提交用
resourceTmp:[],//试验试剂信息提交用
sysjColumns: [
{ label: 'template.common.reagentName', prop: "mc" },//名称
@ -122,10 +128,10 @@ export default {
{ label: 'template.common.reagentExpireDate', prop: "sxrq" },//失效日期
],
yqsColumns: [
{ label: 'template.common.instrumentName', prop: "instrumentName" },
{ label: 'template.common.instrumentModel', prop: "instrumentModel" },
{ label: 'template.common.instrumentCode', prop: "instrumentCode" },
{ label: 'template.common.nextTestDate', prop: "nextTestDate" },
{ label: 'template.common.instrumentName', prop: "mc" },//仪器名称
{ label: 'template.common.instrumentModel', prop: "xh" },//仪器型号
{ label: 'template.common.instrumentCode', prop: "bh" },//仪器编号
{ label: 'template.common.nextTestDate', prop: "jzrq" },//下次测试/校准/检定日期
],
}
},
@ -190,6 +196,9 @@ export default {
getResource() {
return this.resourceTmp
},
getYqResource() {
return this.yqResourceTmp
},
//根据ref数组获取直接formData
getFilledFormDataByRefs(refArr = []) {
let result = {}

+ 1
- 1
src/views/business/form/drug/comp/sqbd.vue View File

@ -1,6 +1,6 @@
<template>
<div class="study-tbbd">
<div class="tbbd-right">
<div class="tbbd-right" v-if="studyInfo.id&&studyInfo.id!=''">
<sqbdList :study="studyInfo" @showDetail="showDetailCallback"/>
</div>
</div>

+ 1
- 1
src/views/business/form/drug/comp/tbbd.vue View File

@ -1,6 +1,6 @@
<template>
<div class="study-tbbd">
<div class="tbbd-right">
<div class="tbbd-right" v-if="studyInfo.id&&studyInfo.id!=''">
<tbbdList :study="studyInfo" @showDetail="showDetailCallback"/>
</div>
</div>

+ 1
- 1
src/views/business/form/drug/comp/wzlb.vue View File

@ -37,7 +37,7 @@
{{ item.name }}
</div>
</div>
<div class="content-box">
<div class="content-box" v-if="studyInfo.id&&studyInfo.id!=''">
<gyzjList v-if="active === 'gyzjlb'" :study="studyInfo" @showDetail="showDetailCallback" />
<mjyList v-if="active === 'mjylb'" :study="studyInfo" @showDetail="showDetailCallback"/>
</div>

+ 1
- 1
src/views/business/form/drug/comp/ytbd.vue View File

@ -1,6 +1,6 @@
<template>
<div class="study-ytbd">
<div class="ytbd-right">
<div class="ytbd-right" v-if="studyInfo.id&&studyInfo.id!=''">
<ytbdList :study="studyInfo" @showDetail="showDetailCallback"/>
</div>
</div>

+ 1
- 1
src/views/business/form/nonTrial/comp/syff/Xz.vue View File

@ -54,7 +54,7 @@ G