luojie 3 months ago
parent
commit
4292fae2f0
30 changed files with 1375 additions and 644 deletions
  1. +13
    -0
      src/lang/en/template/gsp.js
  2. +5
    -0
      src/lang/en/template/sp.js
  3. +12
    -0
      src/lang/zh/template/gsp.js
  4. +5
    -0
      src/lang/zh/template/sp.js
  5. +2
    -2
      src/layout/components/AppMain.vue
  6. +3
    -3
      src/router/index.js
  7. +10
    -7
      src/views/business/comps/template/TemplateTable.vue
  8. +60
    -65
      src/views/business/comps/template/comps/gsp/MJYLQSQD.vue
  9. +1
    -1
      src/views/business/comps/template/comps/gsp/SYWZPZJHB.vue
  10. +0
    -70
      src/views/business/comps/template/comps/sp/SP001.vue
  11. +387
    -0
      src/views/business/comps/template/comps/sp/SWYPFXFFXZKPZB.vue
  12. +1
    -1
      src/views/business/form/drug/comp/enter.vue
  13. +1
    -1
      src/views/business/form/drug/list.vue
  14. +1
    -1
      src/views/business/form/nonTrial/comp/enter.vue
  15. +1
    -1
      src/views/business/form/nonTrial/list.vue
  16. +149
    -14
      src/views/business/resource/gsp/comps/ffjlList.vue
  17. +119
    -6
      src/views/business/resource/gsp/comps/gspList.vue
  18. +135
    -19
      src/views/business/resource/gsp/comps/rkjlList.vue
  19. +1
    -1
      src/views/business/resource/mjy/comps/ffjlList.vue
  20. +1
    -1
      src/views/business/study/comp/enter.vue
  21. +1
    -1
      src/views/business/study/comp/jhbdList.vue
  22. +9
    -9
      src/views/business/study/comp/wzlb/gyzjList.vue
  23. +8
    -8
      src/views/business/study/comp/wzlb/mjyList.vue
  24. +1
    -1
      src/views/business/study/comp/ytbd/Xq.vue
  25. +1
    -1
      src/views/business/study/list.vue
  26. +13
    -0
      src/views/business/template/list.vue
  27. +5
    -1
      src/views/index.vue
  28. +5
    -5
      src/views/system/menu/index.vue

+ 13
- 0
src/lang/en/template/gsp.js View File

@ -0,0 +1,13 @@
//供试品
export default {
// 试验物质配制计划表
SYWZPZJHB: {
title:
'试验物质配制计划表',
},
// 麻醉/精神药品配制/领取申请单
MJYLQSQD: {
title: '麻醉/精神药品配制/领取申请单',
},
}

+ 5
- 0
src/lang/en/template/sp.js View File

@ -79,5 +79,10 @@ export default {
sp017: { sp017: {
title: title:
'Bioanalytical Methods Sample Preparation Record (Stock Solution Comparison)' 'Bioanalytical Methods Sample Preparation Record (Stock Solution Comparison)'
},
//生物样品分析方法学质控配制表
sp018: {
title: 'Bioanalytical Methods Quality Control Solution Preparation Record',
xzxsy: 'Select Diluent'
} }
} }

+ 12
- 0
src/lang/zh/template/gsp.js View File

@ -0,0 +1,12 @@
//供试品
export default {
// 试验物质配制计划表
SYWZPZJHB: {
title: '试验物质配制计划表',
},
// 麻醉/精神药品配制/领取申请单
MJYLQSQD: {
title: '麻醉/精神药品配制/领取申请单',
},
}

+ 5
- 0
src/lang/zh/template/sp.js View File

@ -73,5 +73,10 @@ export default {
//生物样品分析方法学样品制备表(Stock solution comparison)- 生物样品分析方法学样品制备表(储备液对比) //生物样品分析方法学样品制备表(Stock solution comparison)- 生物样品分析方法学样品制备表(储备液对比)
sp017: { sp017: {
title: '生物样品分析方法学样品制备表(储备液对比)' title: '生物样品分析方法学样品制备表(储备液对比)'
},
//生物样品分析方法学质控配制表
sp018: {
title: '生物样品分析方法学质控配制表',
xzxsy: '选择稀释液'
} }
} }

+ 2
- 2
src/layout/components/AppMain.vue View File

@ -1,9 +1,9 @@
<template> <template>
<section class="app-main"> <section class="app-main">
<transition name="fade-transform" mode="out-in"> <transition name="fade-transform" mode="out-in">
<!-- <keep-alive :include="cachedViews"> -->
<keep-alive :include="cachedViews">
<router-view v-if="!$route.meta.link" :key="key" /> <router-view v-if="!$route.meta.link" :key="key" />
<!-- </keep-alive> -->
</keep-alive>
</transition> </transition>
<iframe-toggle /> <iframe-toggle />
<copyright /> <copyright />

+ 3
- 3
src/router/index.js View File

@ -175,7 +175,7 @@ export const dynamicRoutes = [
permissions: ['business:study:enter'], permissions: ['business:study:enter'],
children: [ children: [
{ {
path: ':studyId(\\d+)',
path: ':studyId(\\d+)/:tab',
component: () => import('@/views/business/study/comp/enter'), component: () => import('@/views/business/study/comp/enter'),
name: 'StudyEnter', name: 'StudyEnter',
meta: { title: '进入试验', activeMenu: '/trial/list' } meta: { title: '进入试验', activeMenu: '/trial/list' }
@ -189,7 +189,7 @@ export const dynamicRoutes = [
permissions: ['business:form:nonTrial:enter'], permissions: ['business:form:nonTrial:enter'],
children: [ children: [
{ {
path: ':studyId(\\d+)',
path: ':studyId(\\d+)/:tab',
component: () => import('@/views/business/form/nonTrial/comp/enter'), component: () => import('@/views/business/form/nonTrial/comp/enter'),
name: 'NonTrialEnter', name: 'NonTrialEnter',
meta: { title: '进入', activeMenu: '/form/nonTrial' } meta: { title: '进入', activeMenu: '/form/nonTrial' }
@ -203,7 +203,7 @@ export const dynamicRoutes = [
permissions: ['business:form:drug:enter'], permissions: ['business:form:drug:enter'],
children: [ children: [
{ {
path: ':studyId(\\d+)',
path: ':studyId(\\d+)/:tab',
component: () => import('@/views/business/form/drug/comp/enter'), component: () => import('@/views/business/form/drug/comp/enter'),
name: 'DrugEnter', name: 'DrugEnter',
meta: { title: '进入', activeMenu: '/form/drug' } meta: { title: '进入', activeMenu: '/form/drug' }

+ 10
- 7
src/views/business/comps/template/TemplateTable.vue View File

@ -1,7 +1,5 @@
<template> <template>
<div class="template-table"> <div class="template-table">
<!-- <SP001 v-if="sn == 'SP0012'" />
<SWYPFXRYPZB v-if="sn == 'SP001'" /> -->
<component ref="templateComponent" :is="getTemplateComponent()" :templateData="templateData" :fillType="fillType"> <component ref="templateComponent" :is="getTemplateComponent()" :templateData="templateData" :fillType="fillType">
</component> </component>
</div> </div>
@ -10,7 +8,6 @@
<script> <script>
import { EventBus } from "@/utils/eventBus" import { EventBus } from "@/utils/eventBus"
// //
import SP001 from './comps/sp/SP001';
import SWYPFXRYPZB from "./comps/sp/SWYPFXRYPZB.vue"; import SWYPFXRYPZB from "./comps/sp/SWYPFXRYPZB.vue";
import SWYPFXCBYPZB from "./comps/sp/SWYPFXCBYPZB.vue"; import SWYPFXCBYPZB from "./comps/sp/SWYPFXCBYPZB.vue";
import SWYPBQGZYZBB from "./comps/sp/SWYPBQGZYZBB.vue"; import SWYPBQGZYZBB from "./comps/sp/SWYPBQGZYZBB.vue";
@ -26,16 +23,19 @@ import XZXHTYX from "./comps/sp/SWYPFXFFXYPZBB/XZXHTYX.vue";
import ZDYBS from "./comps/sp/SWYPFXFFXYPZBB/ZDYBS.vue"; import ZDYBS from "./comps/sp/SWYPFXFFXYPZBB/ZDYBS.vue";
import XSKKX from "./comps/sp/SWYPFXFFXYPZBB/XSKKX.vue"; import XSKKX from "./comps/sp/SWYPFXFFXYPZBB/XSKKX.vue";
import CBYDB from "./comps/sp/SWYPFXFFXYPZBB/CBYDB.vue"; import CBYDB from "./comps/sp/SWYPFXFFXYPZBB/CBYDB.vue";
import SWYPFXFFXZKPZB from "./comps/sp/SWYPFXFFXZKPZB.vue";
import Demo from "./comps/sp/Demo.vue"; import Demo from "./comps/sp/Demo.vue";
//
import SYWZPZJHB from "./comps/gy/SYWZPZJHB.vue";
import MJYLQSQD from "./comps/gy/MJYLQSQD.vue";
//
import SYWZPZJHB from "./comps/gsp/SYWZPZJHB.vue";
import MJYLQSQD from "./comps/gsp/MJYLQSQD.vue";
export default { export default {
name: "TemplateTable", name: "TemplateTable",
components: { components: {
//
MJYLQSQD, SYWZPZJHB, MJYLQSQD, SYWZPZJHB,
SP001, SWYPFXRYPZB, Demo, SWYPFXCBYPZB, SWYPBQGZYZBB, SWYPNBGZYZBB,ZQDYJMD,QXWDX,CBYHGZYWDX,Recovery,RXJZXY,JZXY,XZXHTYX,ZDYBS,XSKKX,CBYDB
//
SWYPFXRYPZB, Demo, SWYPFXCBYPZB, SWYPBQGZYZBB, SWYPNBGZYZBB,ZQDYJMD,QXWDX,CBYHGZYWDX,Recovery,RXJZXY,JZXY,XZXHTYX,ZDYBS,XSKKX,CBYDB,SWYPFXFFXZKPZB
}, },
props: { props: {
sn: { sn: {
@ -60,6 +60,7 @@ export default {
templateComponentMap() { templateComponentMap() {
if (!this.componentMap) { if (!this.componentMap) {
this.componentMap = { this.componentMap = {
//
'SP001': 'SWYPFXRYPZB', 'SP001': 'SWYPFXRYPZB',
'SP002': 'SWYPFXCBYPZB', 'SP002': 'SWYPFXCBYPZB',
'SP003': 'SWYPBQGZYZBB', 'SP003': 'SWYPBQGZYZBB',
@ -74,6 +75,8 @@ export default {
'SP015': 'ZDYBS', 'SP015': 'ZDYBS',
'SP016': 'XSKKX', 'SP016': 'XSKKX',
'SP017': 'CBYDB', 'SP017': 'CBYDB',
'SP018': 'SWYPFXFFXZKPZB',
//
'SYWZPZJHB': 'SYWZPZJHB', 'SYWZPZJHB': 'SYWZPZJHB',
'MJYLQSQD': 'MJYLQSQD', 'MJYLQSQD': 'MJYLQSQD',
} }

src/views/business/comps/template/comps/gy/MJYLQSQD.vue → src/views/business/comps/template/comps/gsp/MJYLQSQD.vue View File

@ -2,31 +2,24 @@
<template> <template>
<div> <div>
<div class="detail-container"> <div class="detail-container">
<div class="detail-title"><img src="@/assets/images/detail-title.png">{{formData.bdmc || "麻醉/精神药品配制/领取申请单"}}<img
src="@/assets/images/detail-title.png" /></div>
<div class="detail-title"><img src="@/assets/images/detail-title.png">{{ formData.bdmc ||
$t('template.gsp.SYWZPZJHB.title') }}<img src="@/assets/images/detail-title.png" /></div>
<div class="detail-content"> <div class="detail-content">
<div class="content"> <div class="content">
<LineLabel label="基本信息" /> <LineLabel label="基本信息" />
<div class="template-form-item"> <div class="template-form-item">
<BaseInfoFormPcakge @clickable = "onClickSybh" ref="baseInfoRef" :formConfig="baseInfoFormConfig"
<BaseInfoFormPcakge @clickable="onClickSybh" ref="baseInfoRef" :formConfig="baseInfoFormConfig"
:formData="formData" /> :formData="formData" />
</div> </div>
<BaseInfoFormPcakge label="备注" ref="remarkRef" :formConfig="remarkConig" :formData="formData" /> <BaseInfoFormPcakge label="备注" ref="remarkRef" :formConfig="remarkConig" :formData="formData" />
</div> </div>
</div> </div>
</div> </div>
<SelectReagentDialog
type = "MJYLQSQD"
selectedCode="sn"
title = "请选择试验/部门"
:searchForm="searchForm"
:columns="columns"
@submit="onDialogSubmit"
:listApi="public_studyList"
ref="selectReagentDialogRef" >
</SelectReagentDialog>
<SelectReagentDialog type="MJYLQSQD" selectedCode="sn" title="请选择试验/部门" :searchForm="searchForm"
:columns="columns" @submit="onDialogSubmit" :listApi="public_studyList" ref="selectReagentDialogRef">
</SelectReagentDialog>
</div> </div>
</template> </template>
@ -41,8 +34,8 @@ import { public_studyList } from '@/api/business/public/public';
export default { export default {
name: "MJYLQSQD", name: "MJYLQSQD",
dicts:["business_gyjl","business_gynd","business_dwzs","business_dwsl","business_dwtz","business_sywzmc"],
components: { BaseInfoFormPcakge, LineLabel, CustomTable, TableOpertaion,SelectReagentDialog },
dicts: ["business_gyjl", "business_gynd", "business_dwzs", "business_dwsl", "business_dwtz", "business_sywzmc"],
components: { BaseInfoFormPcakge, LineLabel, CustomTable, TableOpertaion, SelectReagentDialog },
mixins: [templateMixin], mixins: [templateMixin],
props: { props: {
value: { value: {
@ -64,12 +57,12 @@ export default {
fillType: { fillType: {
immediate: true, immediate: true,
handler(v) { handler(v) {
console.log(v,"fillType")
console.log(v, "fillType")
} }
}, },
}, },
computed: { computed: {
// //
remarkConig() { remarkConig() {
return [ return [
@ -163,7 +156,7 @@ export default {
fillType: "actFill", fillType: "actFill",
subType: "select", subType: "select",
subFillType: "actFill", subFillType: "actFill",
subKey: "dwzsUnit",
subKey: "dwslUnit",
otherCode: "dwslOther", otherCode: "dwslOther",
subOptions: this.getDictOptions('business_dwsl'), subOptions: this.getDictOptions('business_dwsl'),
}, },
@ -175,71 +168,70 @@ export default {
}, },
data() { data() {
return { return {
syId:null,
bmId:null,
sdId:null,
public_studyList:public_studyList,
syId: null,
bmId: null,
sdId: null,
public_studyList: public_studyList,
searchForm: { searchForm: {
name: { name: {
label:this.$t('page.business.study.study.name'),
label: this.$t('page.business.study.study.name'),
}, },
sn: { sn: {
label:this.$t('page.business.study.study.sn'),
label: this.$t('page.business.study.study.sn'),
}, },
leaderName: { leaderName: {
label:this.$t('page.business.study.study.leader'),
label: this.$t('page.business.study.study.leader'),
}, },
}, },
columns:[
{
prop: 'name',
label: 'page.business.study.study.name',
},
{
prop: 'sn',
label: 'page.business.study.study.sn',
},
{
prop: 'status',
label: 'page.business.study.study.status',
},
{
prop: 'leaderName',
label: 'page.business.study.study.leader',
},
{
prop: 'createTime',
label: 'page.business.study.study.createDate',
}
]
columns: [
{
prop: 'name',
label: 'page.business.study.study.name',
},
{
prop: 'sn',
label: 'page.business.study.study.sn',
},
{
prop: 'status',
label: 'page.business.study.study.status',
},
{
prop: 'leaderName',
label: 'page.business.study.study.leader',
},
{
prop: 'createTime',
label: 'page.business.study.study.createDate',
}
]
}; };
}, },
mounted() { mounted() {
}, },
methods: { methods: {
onDialogSubmit(selectedId,currentRow){
onDialogSubmit(selectedId, currentRow) {
console.log(JSON.stringify(currentRow)) console.log(JSON.stringify(currentRow))
// //
if(currentRow.type==1){
if (currentRow.type == 1) {
this.$refs.baseInfoRef.batchUpdateFormData({ this.$refs.baseInfoRef.batchUpdateFormData({
syNo: currentRow.sn, syNo: currentRow.sn,
SD: currentRow.leaderName, SD: currentRow.leaderName,
}); });
this.syId=currentRow.id
this.bmId=currentRow.deptId
this.sdId=currentRow.leader
this.syId = currentRow.id
this.bmId = currentRow.deptId
this.sdId = currentRow.leader
} }
// //
if(currentRow.type==2){
if (currentRow.type == 2) {
this.$refs.baseInfoRef.batchUpdateFormData({ this.$refs.baseInfoRef.batchUpdateFormData({
syNo: currentRow.deptName, syNo: currentRow.deptName,
SD: currentRow.nickName, SD: currentRow.nickName,
}); });
this.syId=''
this.bmId=currentRow.deptId
this.sdId=currentRow.userId
this.syId = ''
this.bmId = currentRow.deptId
this.sdId = currentRow.userId
} }
console.log(currentRow,"currentRow")
this.$refs.selectReagentDialogRef.onCancel() this.$refs.selectReagentDialogRef.onCancel()
}, },
// //
@ -248,14 +240,18 @@ export default {
// this.$refs.baseInfoRef.setClickable("syNo", true); // this.$refs.baseInfoRef.setClickable("syNo", true);
}, },
// //
getFilledFormData(){
return this.getFilledFormDataByRefs(["baseInfoRef", "storageConditionRef", "stepFormPackageRef", "stepRef", "remarkRef"])
getFilledFormData() {
let content = this.getFilledFormDataByRefs(["baseInfoRef", "storageConditionRef", "stepFormPackageRef", "stepRef", "remarkRef"])
content.syId = this.syId
content.bmId = this.bmId
content.sdId = this.sdId
return content;
}, },
async getFormData() { async getFormData() {
let content = await this.validFormFields(["baseInfoRef","remarkRef"]);
content.syId=this.syId
content.bmId=this.bmId
content.sdId=this.sdId
let content = await this.validFormFields(["baseInfoRef", "remarkRef"]);
content.syId = this.syId
content.bmId = this.bmId
content.sdId = this.sdId
return content; return content;
}, },
async onSave() { async onSave() {
@ -270,5 +266,4 @@ export default {
.mt-20 { .mt-20 {
margin-top: 20px; margin-top: 20px;
} }
</style> </style>

src/views/business/comps/template/comps/gy/SYWZPZJHB.vue → src/views/business/comps/template/comps/gsp/SYWZPZJHB.vue View File

@ -2,7 +2,7 @@
<template> <template>
<div> <div>
<div class="detail-container"> <div class="detail-container">
<div class="detail-title"><img src="@/assets/images/detail-title.png">{{formData.bdmc || "试验物质配制计划表"}}<img
<div class="detail-title"><img src="@/assets/images/detail-title.png">{{formData.bdmc || $t('template.gsp.SYWZPZJHB.title')}}<img
src="@/assets/images/detail-title.png" /></div> src="@/assets/images/detail-title.png" /></div>
<div class="detail-content"> <div class="detail-content">
<div class="content"> <div class="content">

+ 0
- 70
src/views/business/comps/template/comps/sp/SP001.vue View File

@ -1,70 +0,0 @@
<template>
<div class="sp001">
<div class="detail-container">
<div class="detail-title"><img src="@/assets/images/detail-title.png">生物样品分析溶液配制表<img
src="@/assets/images/detail-title.png" /></div>
<div class="detail-content">
<div class="content">
<div class="content-title">
<div class="line"></div>
<div class="subtitle"> 试验基本信息</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">试验名称</div>
<el-input type="text" :value="form.mc" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">试验编号</div>
<el-input type="text" :value="form.bh" maxlength="50" disabled />
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">方法编号</div>
<el-input type="text" :value="form.nd" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">版本号</div>
<el-input type="text" :value="form.kc" maxlength="50" disabled />
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: "SP001",
components: {},
props: {
value: {
type: {},
default: () => { },
}
},
watch: {
value: {
immediate: true,
handler(v) {
}
}
},
data() {
return {
form: {}
};
},
mounted() {
},
methods: {
}
};
</script>
<style rel="stylesheet/scss" lang="scss">
.sp001 {}
</style>

+ 387
- 0
src/views/business/comps/template/comps/sp/SWYPFXFFXZKPZB.vue View File

@ -0,0 +1,387 @@
<!-- 生物样品分析方法学质控配制表-->
<template>
<div>
<div class="detail-container">
<div class="detail-title"><img src="@/assets/images/detail-title.png">{{ formData.bdmc ||
$t('template.sp.sp018.title') }}<img src="@/assets/images/detail-title.png" /></div>
<div class="detail-content">
<div class="content">
<BaseInfoFormPcakge 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" />
<BaseInfoFormPcakge fieldItemLabel="template.common.storageCondition" label="template.common.storageCondition" ref="storageConditionRef"
:formConfig="storageFormConfig" :formData="formData" />
<LineLabel label="template.common.operationSteps" />
<div class="template-form-item">
<BaseInfoFormPcakge fieldItemLabel="template.common.operationSteps" ref="stepFormPackageRef" :formConfig="stepFormConfig"
:formData="formData" @clickable="handleJzClickable" />
<CustomTable
@blur="onHandleTableBlur"
:ref="`tableRef`"
:columns="tableStepColumns"
:formData="formData"
:prefixKey = "`table`"
@clickable="handleClickable"
fieldItemLabel = "template.common.operationSteps"
>
<template slot="operation" slot-scope="{ row, rowIndex}">
<TableOpertaion
:fillType="fillType"
:row="row"
:rowIndex="rowIndex"
@deleteRow="(rowIndex) => deleteRow(rowIndex)"
></TableOpertaion>
</template>
</CustomTable>
</div>
<Step ref="stepRef" :formData="formData.stepData"></Step>
<BaseInfoFormPcakge fieldItemLabel="template.common.remark" label="template.common.remark" ref="remarkRef" :formConfig="remarkConig"
:formData="formData" />
</div>
</div>
</div>
<!-- <button @click = "onSave">保存</button> -->
<SelectReagentDialog
@submit="onSelectReagentSubmit"
ref="selectReagentDialogRef" >
</SelectReagentDialog>
</div>
</template>
<script>
import BaseInfoFormPcakge from "@/components/Template/BaseInfoFormPcakge";
import LineLabel from "@/components/Template/LineLabel";
import TableList from "@/components/Template/Table";
import Step from "@/components/Template/Step";
import templateMixin from "../../mixins/templateMixin.js";
import CustomTable from '@/components/Template/CustomTable.vue';
import { getLatestSn } from '@/api/template';
import {getSWYPFXFFXYPZBBTableConfig} from "../../formConfig/SWYPFXFFXYPZBBTableConfig.js";
import TableOpertaion from "@/components/Template/operation/TableOpertaion.vue"
import SelectReagentDialog from '../../dialog/SelectReagentDialog.vue';
import { EventBus } from "@/utils/eventBus";
export default {
name: "CBYDB",
components: { BaseInfoFormPcakge, LineLabel, TableList, Step, CustomTable,TableOpertaion,SelectReagentDialog },
mixins: [templateMixin],
props: {
fillType: {
type: String,
default: 'preFill',
},
},
computed: {
storageFormConfig() {
return [
{
type: "conditionItem",
config: {
storageCondition: {
label: 'template.common.storageConditionLabel',
type: "select",
fillType: "preFill",
options: this.getDictOptions("business_cctj"),
otherCode: "storageConditionOther",
},
}
}
];
},
remarkConig() {
return [
{
type: "cellItem",
config: {
remark: {
label: "",
type: "textarea",
fillType: "actFill",
span: 1,
placeholder: 'template.common.remarkPlaceholder',
maxlength: 1000,
rows: 5
}
}
}
]
},
baseInfoFormConfig() {
return [
{
type: "cardItem",
config: {
studyMc: {
label: 'template.common.testName',
type: "input",
disabled: true,
},
studySn: {
label: 'template.common.testNumber',
type: "input",
disabled: true,
},
methodCode: {
label: 'template.common.methodCode',
type: "input",
fillType: "preFill",
maxlength: 50
},
versionNum: {
label: 'template.common.versionNumber',
type: "input",
fillType: "actFill",
maxlength: 50
},
//
clpbg: {
label: 'template.sp.sp008.clpbh',
type: "input",
fillType: "actFill",
maxlength: 50
},
}
},
{
type: "conditionItem",
label: 'template.common.testConfigurationConditions',
config: {
pre: {
label: 'template.common.preFill',
type: "select",
multiple: true,
fillType: "preFill",
options: this.getDictOptions('business_pztj'),
otherCode: "preOther",
},
act: {
label: 'template.common.actualFill',
type: "select",
fillType: "actFill",
otherCode: "actOther",
multiple: true,
options: this.getDictOptions('business_pztj')
}
}
},
{
type: "cellItem",
label: 'template.sp.sp008.rqcz',
config: {
rqcz: {
type: "select",
multiple: true,
fillType: "actFill",
options: this.getDictOptions('business_rqcz'),
otherCode: "rqczOther",
},
}
},
{
type: "cellItem",
label: 'template.sp.sp008.clsj',
config: {
startDate: {
label: 'template.common.startTime',
type: "input",
},
endDate: {
label: 'template.common.endTime',
type: "input",
},
}
}
]
},
stepFormConfig() {
return [
{
type: "step",
config: {
jz: {
label: 'template.sp.sp018.xzxsy',
type: "input",
fillType: "preFill",
subType: "clickable",
subKey: "subJz",
subFillType: "actFill",
maxlength: 20,
labelWidth: 80,
},
}
}
]
},
tableStepColumns() {
return getSWYPFXFFXYPZBBTableConfig(this,'business_sp_cbydb');
},
},
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: {}
};
},
mounted() {
},
watch: {
formData: {
immediate: true,
handler(v) {
if(this.fillType === "actFill"){
this.getCode(v);
}
}
}
},
methods: {
//
handleJzClickable(obj){
this.reagentType = 1//
this.currentSubKey = obj.subKey;
this.$refs.selectReagentDialogRef.show()
},
//
onSelectReagentSubmit(code,row){
if(this.reagentType===1){
this.$refs.stepFormPackageRef.updateFormData(this.currentSubKey, code);
}else{
this.$refs.tableRef.updateDataSourceByRowIndex(this.rowIndex,{
[this.currentSubKey]: code,
})
}
this.$refs.selectReagentDialogRef.onCancel()
},
//
handleClickable(col, rowIndex) {
//
this.reagentType = 2
this.rowIndex = rowIndex
this.currentSubKey = col.prop;
console.log("clickable",rowIndex, col)
if(col.prop === "sjry"){
//-
this.$refs.selectReagentDialogRef.show()
}
},
//
async getCode(v){
const {stepTableFormData = []} = v;
if(stepTableFormData && stepTableFormData.length>0 && !stepTableFormData[0].bhCode){
const result = await getLatestSn({
count: stepTableFormData.length,
})
if(result.code == 200){
if(stepTableFormData.length===1){
this.$refs.tableRef.updateDataSourceByRowIndex(0,{
bhCode: result.data,
})
}else{
for(let i=0;i<stepTableFormData.length;i++){
this.$refs.tableRef.updateDataSourceByRowIndex(i,{
bhCode: result.data[i],
})
}
}
const params = {
type: "fieldChanged",
newRecord: null,
resourceList: null,
}
setTimeout(() => {
debugger
EventBus.$emit('onModifyRecord', params,)
}, 10);
}
}
},
//
getFilledFormData(){
return this.getFilledFormDataByRefs(["baseInfoRef", "storageConditionRef", "stepFormPackageRef", "tableRef","stepRef", "remarkRef"])
},
async getFormData() {
let content = await this.validFormFields(["baseInfoRef", "storageConditionRef", "stepFormPackageRef","tableRef" ,"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]
tmpResource.push({
mc: null,
bh: item.bh+item.bhCode,
ph: null,
nd: item.hhwznd + content.headerSelectFields.hhwzndUnit,
source: 'ELN配制',
sxrq: null,
ndz: item.hhwznd,
nddw: content.headerSelectFields.hhwzndUnit,
kc: item.sjjzxql+item.sjryxql,//todo -
kcdw: content.headerSelectFields.sjryxqlUnit || content.headerSelectFields.sjjzxqlUnit,//todo --
syl: null,
syldw:content.headerSelectFields.sjryxqlUnit || content.headerSelectFields.sjjzxqlUnit,//todo --,
yxzq:null,
yxzqdw:null,
})
}
}
//使
this.resource=tmpResource
return content;
},
async onSave() {
const formData = await this.getFilledFormData();
console.log(formData, "formData")
},
//
deleteRow(rowIndex) {
const tableRef = this.$refs['tableRef'];
if (tableRef) {
tableRef.deleteRow(rowIndex);
}
},
}
};
</script>
<style rel="stylesheet/scss" lang="scss">
.mt-20 {
margin-top: 20px;
}
</style>

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

@ -39,7 +39,7 @@ export default {
{ key: 'sqbd', name: this.$t('page.business.study.studyEnter.sqbdlb') }, { key: 'sqbd', name: this.$t('page.business.study.studyEnter.sqbdlb') },
{ key: 'wzlb', name: this.$t('page.business.study.studyEnter.wzlb') }, { key: 'wzlb', name: this.$t('page.business.study.studyEnter.wzlb') },
], ],
active: 'ytbd',
active: this.$route.params.tab || 'ytbd',
study: {}, study: {},
} }

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

@ -238,7 +238,7 @@ export default {
this.getList() this.getList()
}, },
enter(row){ enter(row){
this.$tab.openPage(" ", '/drug/enter/' + row.id)
this.$tab.openPage(" ", '/drug/enter/' + row.id+'/ytbd')
// this.showType = 'enter' // this.showType = 'enter'
// this.$refs.enter.show(row) // this.$refs.enter.show(row)
}, },

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

@ -39,7 +39,7 @@ export default {
{ key: 'wzlb', name: this.$t('page.business.study.studyEnter.wzlb') }, { key: 'wzlb', name: this.$t('page.business.study.studyEnter.wzlb') },
{ key: 'syff', name: this.$t('page.business.study.studyEnter.pzfflb') } { key: 'syff', name: this.$t('page.business.study.studyEnter.pzfflb') }
], ],
active: 'ytbd',
active: this.$route.params.tab || 'ytbd',
study: {}, study: {},
} }

+ 1
- 1
src/views/business/form/nonTrial/list.vue View File

@ -238,7 +238,7 @@ export default {
this.getList() this.getList()
}, },
enter(row){ enter(row){
this.$tab.openPage(" ", '/nonTrial/enter/' + row.id)
this.$tab.openPage(" ", '/nonTrial/enter/' + row.id+'/ytbd')
// this.showType = 'enter' // this.showType = 'enter'
// this.$refs.enter.show(row) // this.$refs.enter.show(row)
}, },

+ 149
- 14
src/views/business/resource/gsp/comps/ffjlList.vue View File

@ -41,7 +41,7 @@
<el-option :label="$t('page.business.resource.resource.jyzt.jyz')" :value="5" /> <el-option :label="$t('page.business.resource.resource.jyzt.jyz')" :value="5" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 出库日期 -->
<!-- 出库日期 -->
<el-form-item :label="$t('page.business.resource.mjy.cksj') + ':'"> <el-form-item :label="$t('page.business.resource.mjy.cksj') + ':'">
<el-date-picker v-model="daterangeCk" class="chat-histogram-daterange" type="daterange" <el-date-picker v-model="daterangeCk" class="chat-histogram-daterange" type="daterange"
range-separator="-" :start-placeholder="$t('form.startDate')" :end-placeholder="$t('form.endDate')" range-separator="-" :start-placeholder="$t('form.startDate')" :end-placeholder="$t('form.endDate')"
@ -75,7 +75,7 @@
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<!-- 导出 --> <!-- 导出 -->
<el-button type="primary" :disabled="multiple" @click="handleDc"
<el-button type="primary" @click="exportExcel"
v-hasPermi="['business:resource:gsp:ffjldc']">{{ v-hasPermi="['business:resource:gsp:ffjldc']">{{
$t('form.export') }}</el-button> $t('form.export') }}</el-button>
</el-col> </el-col>
@ -95,7 +95,7 @@
<el-table-column :label="$t('page.business.resource.gsp.rksj')" align="center" prop="ghrq" width="150px" /> <el-table-column :label="$t('page.business.resource.gsp.rksj')" align="center" prop="ghrq" width="150px" />
<el-table-column :label="$t('page.business.resource.gsp.ckl')" align="center" width="150px"> <el-table-column :label="$t('page.business.resource.gsp.ckl')" align="center" width="150px">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.ckl }} {{ scope.row.ckdw }}
{{ scope.row.ckl }} {{ scope.row.ckldw }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('page.business.resource.gsp.rkl')" align="center" width="150px"> <el-table-column :label="$t('page.business.resource.gsp.rkl')" align="center" width="150px">
@ -138,32 +138,32 @@
class-name="small-padding fixed-width" width="250px"> class-name="small-padding fixed-width" width="250px">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- 加签 --> <!-- 加签 -->
<el-button v-if="scope.row.jlzt == 1" type="text" v-hasPermi="['business:resource:gsp:ffjljq']" @click="handleJq(scope.row)">{{
<el-button v-if="scope.row.jlzt == 1" type="text" v-hasPermi="['business:resource:gsp:ffjljq']"
@click="handleJq(scope.row)">{{
$t('page.business.resource.gsp.jiaqian') }}</el-button> $t('page.business.resource.gsp.jiaqian') }}</el-button>
<!-- 详情 --> <!-- 详情 -->
<el-button v-if="scope.row.jlzt == 1 || scope.row.jlzt == 3 || scope.row.jlzt == 7" type="text" <el-button v-if="scope.row.jlzt == 1 || scope.row.jlzt == 3 || scope.row.jlzt == 7" type="text"
v-hasPermi="['business:resource:gsp:ffjlxq']"
@click="handleXq(scope.row)" >{{
v-hasPermi="['business:resource:gsp:ffjlxq']" @click="handleXq(scope.row)">{{
$t('page.business.resource.gsp.detail') }}</el-button> $t('page.business.resource.gsp.detail') }}</el-button>
<!-- 锁定 --> <!-- 锁定 -->
<el-button type="text" v-if="scope.row.jlzt == 1" @click="handleSd(scope.row)" <el-button type="text" v-if="scope.row.jlzt == 1" @click="handleSd(scope.row)"
v-hasPermi="['business:resource:gsp:ffjlsd']">{{
v-hasPermi="['business:resource:gsp:ffjlsd']">{{
$t('page.business.resource.gsp.lock') }}</el-button> $t('page.business.resource.gsp.lock') }}</el-button>
<!-- 解锁 --> <!-- 解锁 -->
<el-button type="text" v-if="scope.row.jlzt == 3" @click="handleJs(scope.row)" <el-button type="text" v-if="scope.row.jlzt == 3" @click="handleJs(scope.row)"
v-hasPermi="['business:resource:gsp:ffjljs']">{{
v-hasPermi="['business:resource:gsp:ffjljs']">{{
$t('page.business.resource.gsp.unlock') }}</el-button> $t('page.business.resource.gsp.unlock') }}</el-button>
<!-- 归档 --> <!-- 归档 -->
<el-button type="text" v-if="scope.row.jlzt == 3" @click="handleGd(scope.row)" <el-button type="text" v-if="scope.row.jlzt == 3" @click="handleGd(scope.row)"
v-hasPermi="['business:resource:gsp:ffjlgd']">{{
v-hasPermi="['business:resource:gsp:ffjlgd']">{{
$t('page.business.resource.gsp.guidang') }}</el-button> $t('page.business.resource.gsp.guidang') }}</el-button>
<!-- 解档 --> <!-- 解档 -->
<el-button type="text" v-if="scope.row.jlzt == 7" @click="handleJd(scope.row)" <el-button type="text" v-if="scope.row.jlzt == 7" @click="handleJd(scope.row)"
v-hasPermi="['business:resource:gsp:ffjljd']">{{
v-hasPermi="['business:resource:gsp:ffjljd']">{{
$t('page.business.resource.gsp.jiedang') }}</el-button> $t('page.business.resource.gsp.jiedang') }}</el-button>
<!-- 借阅 --> <!-- 借阅 -->
<el-button type="text" v-if="scope.row.jlzt == 7 && scope.row.jyzt == 1" @click="handleJy(scope.row)" <el-button type="text" v-if="scope.row.jlzt == 7 && scope.row.jyzt == 1" @click="handleJy(scope.row)"
v-hasPermi="['business:resource:gsp:ffjljy']">{{
v-hasPermi="['business:resource:gsp:ffjljy']">{{
$t('page.business.resource.gsp.jieyue') }}</el-button> $t('page.business.resource.gsp.jieyue') }}</el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -198,7 +198,7 @@ import Gd from "./ffjl/Gd";
import Jd from "./ffjl/Jd"; import Jd from "./ffjl/Jd";
import Xq from "./ffjl/Xq"; import Xq from "./ffjl/Xq";
import Jq from "./ffjl/Jq"; import Jq from "./ffjl/Jq";
import { deepClone } from "@/utils/index";
export default { export default {
name: "FfjlList", name: "FfjlList",
components: { Sd, Js, Gd, Jd, Jy, Xq, Jq }, components: { Sd, Js, Gd, Jd, Jy, Xq, Jq },
@ -235,8 +235,143 @@ export default {
}, },
methods: { methods: {
// //
handleDc() {
exportExcel() {
let that = this
that.$modal.loading()
let params = deepClone(this.queryParams)
params.pageSize = 999999
list(params).then(response => {
var tabelStr =
'<table border="1" class="html-tabel">' +
'<tr style="background:#eee;">' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.mc') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.bh') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.md') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.zytj') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.cksj') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.rksj') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.ckl') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.rkl') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.syl') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.lqr1') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.lqr2') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.kgy1') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.kgy2') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.zcg') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.jlzt') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.jyzt') + '</th>' +
' </tr>'
let _datastr = ''
_.forEach(response.rows, function (value) {
let jlzt = ''
switch (value.jlzt) {
case 1:
jlzt = that.$t('page.business.resource.resource.jlzt.wsd')
break
case 3:
jlzt = that.$t('page.business.resource.resource.jlzt.ysd')
break
case 5:
jlzt = that.$t('page.business.resource.resource.jlzt.dgd')
break
case 7:
jlzt = that.$t('page.business.resource.resource.jlzt.gd')
break
case 9:
jlzt = that.$t('page.business.resource.resource.jlzt.djd')
break
default: jlzt = ''
}
let jyzt = ''
switch (value.jyzt) {
case 1:
jyzt = that.$t('page.business.resource.resource.jyzt.wjy')
break
case 3:
jyzt = that.$t('page.business.resource.resource.jyzt.djy')
break
case 5:
jyzt = that.$t('page.business.resource.resource.jyzt.jyz')
break
default: jyzt = ''
}
_datastr =
_datastr +
'<tr style="text-align: center;">' +
' <td>' +
value.mc +
'</td>' +
' <td>' +
'&nbsp;' + value.bh +
'</td>' +
' <td>' +
value.mdMc +
'</td>' +
' <td>' +
value.ffzytj +
'</td>' +
' <td>' +
value.ffrq +
'</td>' +
' <td>' +
value.ghrq +
'</td>' +
' <td>' +
value.ckl + value.ckldw +
'</td>' +
' <td>' +
value.rkl + value.rkldw +
'</td>' +
' <td>' +
value.syl + value.syldw +
'</td>' +
' <td>' +
value.lqr1Mc +
'</td>' +
' <td>' +
value.lqr2Mc +
'</td>' +
' <td>' +
value.jsr1Mc +
'</td>' +
' <td>' +
value.jsr2Mc +
'</td>' +
' <td>' +
value.zcgMc +
'</td>' +
' <td>' +
jlzt +
'</td>' +
' <td>' +
jyzt +
'</td>' +
'</tr>'
})
tabelStr = tabelStr + _datastr + ' <table>'
// Worksheet
var worksheet = that.$t('page.business.resource.gsp.ffhsjl')
var uri = 'data:application/vnd.ms-excel;base64,'
// HTML
var exportTemplate = `<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns="http://www.w3.org/TR/REC-html40">
<head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>
<x:Name>${worksheet}</x:Name>
<x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet>
</x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]-->
</head>
<body>
${tabelStr}
</body>
</html>`
var a = document.createElement('a')
a.download = worksheet + '.xls'
a.href = uri + window.btoa(unescape(encodeURIComponent(exportTemplate)))
a.click()
that.$modal.closeLoading()
}).finally(() => {
that.$modal.closeLoading()
})
}, },
// //
handleJq(row) { handleJq(row) {

+ 119
- 6
src/views/business/resource/gsp/comps/gspList.vue View File

@ -90,7 +90,7 @@
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<!-- 导出 --> <!-- 导出 -->
<el-button type="primary" @click="handleDc" v-hasPermi="['business:resource:gsp:dc']">{{
<el-button type="primary" @click="exportExcel" v-hasPermi="['business:resource:gsp:dc']">{{
$t('form.export') }}</el-button> $t('form.export') }}</el-button>
</el-col> </el-col>
</el-row> </el-row>
@ -115,7 +115,7 @@
<el-table-column :label="$t('page.business.resource.gsp.jsrq')" align="center" prop="jsrq" width="150px" /> <el-table-column :label="$t('page.business.resource.gsp.jsrq')" align="center" prop="jsrq" width="150px" />
<el-table-column :label="$t('page.business.resource.gsp.cctj')" align="center" prop="cctj" width="130px" /> <el-table-column :label="$t('page.business.resource.gsp.cctj')" align="center" prop="cctj" width="130px" />
<el-table-column :label="$t('page.business.resource.mjy.zjzt')" align="center" width="100px" fixed="right">
<el-table-column :label="$t('page.business.resource.gsp.zjzt')" align="center" width="100px" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.zjzt == 1">{{ $t('page.business.resource.resource.zjzt.rk') }}</span> <span v-if="scope.row.zjzt == 1">{{ $t('page.business.resource.resource.zjzt.rk') }}</span>
<span v-if="scope.row.zjzt == 3">{{ $t('page.business.resource.resource.zjzt.yff') }}</span> <span v-if="scope.row.zjzt == 3">{{ $t('page.business.resource.resource.zjzt.yff') }}</span>
@ -125,7 +125,7 @@
<span v-if="scope.row.zjzt == 11">{{ $t('page.business.resource.resource.zjzt.djd') }}</span> <span v-if="scope.row.zjzt == 11">{{ $t('page.business.resource.resource.zjzt.djd') }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('page.business.resource.mjy.jyzt')" align="center" width="100px" fixed="right">
<el-table-column :label="$t('page.business.resource.gsp.jyzt')" align="center" width="100px" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.jyzt == 1">{{ $t('page.business.resource.resource.jyzt.wjy') }}</span> <span v-if="scope.row.jyzt == 1">{{ $t('page.business.resource.resource.jyzt.wjy') }}</span>
<span v-if="scope.row.jyzt == 3">{{ $t('page.business.resource.resource.jyzt.djy') }}</span> <span v-if="scope.row.jyzt == 3">{{ $t('page.business.resource.resource.jyzt.djy') }}</span>
@ -251,7 +251,7 @@ import Ff from "./gsp/Ff";
import Cz from "./gsp/Cz"; import Cz from "./gsp/Cz";
import CzBatch from "./gsp/CzBatch"; import CzBatch from "./gsp/CzBatch";
import Ysff from "./gsp/Ysff"; import Ysff from "./gsp/Ysff";
import { deepClone } from "@/utils/index";
export default { export default {
name: "GspList", name: "GspList",
components: { Xz, Sd, Js, Gd, Xq, Jd, Bj, Shbj, Xgkc, Shxgkc, Jy, Gh, Cz, CzBatch, Ff, Ysff }, components: { Xz, Sd, Js, Gd, Xq, Jd, Bj, Shbj, Xgkc, Shxgkc, Jy, Gh, Cz, CzBatch, Ff, Ysff },
@ -284,8 +284,121 @@ export default {
}, },
methods: { methods: {
// //
handleDc() {
exportExcel() {
let that = this
that.$modal.loading()
let params = deepClone(this.queryParams)
params.pageSize = 999999
list(params).then(response => {
var tabelStr =
'<table border="1" class="html-tabel">' +
'<tr style="background:#eee;">' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.mc') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.bh') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.gg') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.kcl') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.ph') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.jsrq') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.cctj') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.zjzt') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.jyzt') + '</th>' +
' </tr>'
let _datastr = ''
_.forEach(response.rows, function (value) {
let zjzt = ''
switch (value.zjzt) {
case 1:
zjzt = that.$t('page.business.resource.resource.zjzt.rk')
break
case 2:
zjzt = that.$t('page.business.resource.resource.zjzt.wrk')
break
case 3:
zjzt = that.$t('page.business.resource.resource.zjzt.yff')
break
case 5:
zjzt = that.$t('page.business.resource.resource.zjzt.ysd')
break
case 7:
zjzt = that.$t('page.business.resource.resource.zjzt.dgd')
break
case 9:
zjzt = that.$t('page.business.resource.resource.zjzt.gd')
break
case 11:
zjzt = that.$t('page.business.resource.resource.zjzt.djd')
break
default: zjzt = ''
}
let jyzt = ''
switch (value.jyzt) {
case 1:
jyzt = that.$t('page.business.resource.resource.jyzt.wjy')
break
case 3:
jyzt = that.$t('page.business.resource.resource.jyzt.djy')
break
case 5:
jyzt = that.$t('page.business.resource.resource.jyzt.jyz')
break
default: jyzt = ''
}
_datastr =
_datastr +
'<tr style="text-align: center;">' +
' <td>' +
value.mc +
'</td>' +
' <td>' +
'&nbsp;'+value.bh +
'</td>' +
' <td>' +
value.gg + value.ggdw +
'</td>' +
' <td>' +
value.kc + value.kcdw +
'</td>' +
' <td>' +
value.ph +
'</td>' +
' <td>' +
value.jsrq +
'</td>' +
' <td>' +
value.cctj +
'</td>' +
' <td>' +
zjzt +
'</td>' +
' <td>' +
jyzt +
'</td>' +
'</tr>'
})
tabelStr = tabelStr + _datastr + ' <table>'
// Worksheet
var worksheet = that.$t('page.business.resource.gsp.gspgl')
var uri = 'data:application/vnd.ms-excel;base64,'
// HTML
var exportTemplate = `<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns="http://www.w3.org/TR/REC-html40">
<head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>
<x:Name>${worksheet}</x:Name>
<x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet>
</x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]-->
</head>
<body>
${tabelStr}
</body>
</html>`
var a = document.createElement('a')
a.download = worksheet + '.xls'
a.href = uri + window.btoa(unescape(encodeURIComponent(exportTemplate)))
a.click()
that.$modal.closeLoading()
}).finally(() => {
that.$modal.closeLoading()
})
}, },
// //
handleXz() { handleXz() {

+ 135
- 19
src/views/business/resource/gsp/comps/rkjlList.vue View File

@ -57,27 +57,30 @@
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
<!-- 新增 --> <!-- 新增 -->
<el-button type="primary" @click="handleXz" v-hasPermi="['business:resource:gsp:rkxz']">{{
$t('form.add') }}</el-button>
<el-button type="primary" @click="handleXz" v-hasPermi="['business:resource:gsp:rkxz']">{{
$t('form.add') }}</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<!-- 导入 --> <!-- 导入 -->
<el-button type="primary" @click="handleXz" v-hasPermi="['business:resource:gsp:rkdr']">{{
$t('page.business.resource.gsp.dr') }}</el-button>
<el-button type="primary" @click="handleXz" v-hasPermi="['business:resource:gsp:rkdr']">{{
$t('page.business.resource.gsp.dr') }}</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<!-- 批量归档 --> <!-- 批量归档 -->
<el-button type="primary" :disabled="multiple" @click="handlePlgd" v-hasPermi="['business:resource:gsp:rkgd']">{{
<el-button type="primary" :disabled="multiple" @click="handlePlgd"
v-hasPermi="['business:resource:gsp:rkgd']">{{
$t('page.business.resource.gsp.plgd') }}</el-button> $t('page.business.resource.gsp.plgd') }}</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<!-- 批量锁定 --> <!-- 批量锁定 -->
<el-button type="primary" :disabled="multiple" @click="handlePlsd" v-hasPermi="['business:resource:gsp:rksd']">{{
<el-button type="primary" :disabled="multiple" @click="handlePlsd"
v-hasPermi="['business:resource:gsp:rksd']">{{
$t('page.business.resource.gsp.plsd') }}</el-button> $t('page.business.resource.gsp.plsd') }}</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<!-- 导出 --> <!-- 导出 -->
<el-button type="primary" :disabled="multiple" @click="handleDc" v-hasPermi="['business:resource:gsp:rkdc']">{{
<el-button type="primary" @click="exportExcel"
v-hasPermi="['business:resource:gsp:rkdc']">{{
$t('form.export') }}</el-button> $t('form.export') }}</el-button>
</el-col> </el-col>
</el-row> </el-row>
@ -88,7 +91,7 @@
:show-overflow-tooltip="true" /> :show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gsp.ph')" align="center" prop="ph" <el-table-column :label="$t('page.business.resource.gsp.ph')" align="center" prop="ph"
:show-overflow-tooltip="true" /> :show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gsp.gg')" align="center" >
<el-table-column :label="$t('page.business.resource.gsp.gg')" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.gg }} {{ scope.row.ggdw }} {{ scope.row.gg }} {{ scope.row.ggdw }}
</template> </template>
@ -97,7 +100,7 @@
:show-overflow-tooltip="true" /> :show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gsp.rkl')" align="center" width="150px"> <el-table-column :label="$t('page.business.resource.gsp.rkl')" align="center" width="150px">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.rkl }} {{ scope.row.rkdl }}
{{ scope.row.rkl }} {{ scope.row.rkdw }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('page.business.resource.gsp.cctj')" align="center" prop="cctj" /> <el-table-column :label="$t('page.business.resource.gsp.cctj')" align="center" prop="cctj" />
@ -123,26 +126,32 @@
class-name="small-padding fixed-width" width="250px"> class-name="small-padding fixed-width" width="250px">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- 编辑 --> <!-- 编辑 -->
<el-button v-if="scope.row.jlzt == 1" type="text" @click="handleBj(scope.row)" v-hasPermi="['business:resource:gsp:rkbj']">{{
<el-button v-if="scope.row.jlzt == 1" type="text" @click="handleBj(scope.row)"
v-hasPermi="['business:resource:gsp:rkbj']">{{
$t('form.edit') }}</el-button> $t('form.edit') }}</el-button>
<!-- 详情 --> <!-- 详情 -->
<el-button v-if="scope.row.jlzt == 1 || scope.row.jlzt == 3 || scope.row.jlzt == 7" type="text" <el-button v-if="scope.row.jlzt == 1 || scope.row.jlzt == 3 || scope.row.jlzt == 7" type="text"
@click="handleXq(scope.row)" v-hasPermi="['business:resource:gsp:rkxq']">{{ @click="handleXq(scope.row)" v-hasPermi="['business:resource:gsp:rkxq']">{{
$t('page.business.resource.gsp.detail') }}</el-button> $t('page.business.resource.gsp.detail') }}</el-button>
<!-- 锁定 --> <!-- 锁定 -->
<el-button type="text" v-if="scope.row.jlzt == 1" @click="handleSd(scope.row)" v-hasPermi="['business:resource:gsp:rksd']">{{
<el-button type="text" v-if="scope.row.jlzt == 1" @click="handleSd(scope.row)"
v-hasPermi="['business:resource:gsp:rksd']">{{
$t('page.business.resource.gsp.lock') }}</el-button> $t('page.business.resource.gsp.lock') }}</el-button>
<!-- 解锁 --> <!-- 解锁 -->
<el-button type="text" v-if="scope.row.jlzt == 3" @click="handleJs(scope.row)" v-hasPermi="['business:resource:gsp:rkjs']">{{
<el-button type="text" v-if="scope.row.jlzt == 3" @click="handleJs(scope.row)"
v-hasPermi="['business:resource:gsp:rkjs']">{{
$t('page.business.resource.gsp.unlock') }}</el-button> $t('page.business.resource.gsp.unlock') }}</el-button>
<!-- 归档 --> <!-- 归档 -->
<el-button type="text" v-if="scope.row.jlzt == 3" @click="handleGd(scope.row)" v-hasPermi="['business:resource:gsp:rkgd']">{{
<el-button type="text" v-if="scope.row.jlzt == 3" @click="handleGd(scope.row)"
v-hasPermi="['business:resource:gsp:rkgd']">{{
$t('page.business.resource.gsp.guidang') }}</el-button> $t('page.business.resource.gsp.guidang') }}</el-button>
<!-- 解档 --> <!-- 解档 -->
<el-button type="text" v-if="scope.row.jlzt == 7" @click="handleJd(scope.row)" v-hasPermi="['business:resource:gsp:rkjd']">{{
<el-button type="text" v-if="scope.row.jlzt == 7" @click="handleJd(scope.row)"
v-hasPermi="['business:resource:gsp:rkjd']">{{
$t('page.business.resource.gsp.jiedang') }}</el-button> $t('page.business.resource.gsp.jiedang') }}</el-button>
<!-- 借阅 --> <!-- 借阅 -->
<el-button type="text" v-if="scope.row.jlzt == 7 && scope.row.jyzt == 1" @click="handleJy(scope.row)" v-hasPermi="['business:resource:gsp:rkjy']">{{
<el-button type="text" v-if="scope.row.jlzt == 7 && scope.row.jyzt == 1" @click="handleJy(scope.row)"
v-hasPermi="['business:resource:gsp:rkjy']">{{
$t('page.business.resource.gsp.jieyue') }}</el-button> $t('page.business.resource.gsp.jieyue') }}</el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -180,10 +189,10 @@ import Jd from "./rkjl/Jd";
import Xq from "./rkjl/Xq"; import Xq from "./rkjl/Xq";
import Xz from "./rkjl/Xz"; import Xz from "./rkjl/Xz";
import Bj from "./rkjl/Bj"; import Bj from "./rkjl/Bj";
import { deepClone } from "@/utils/index";
export default { export default {
name: "FfjlList", name: "FfjlList",
components: { Sd, Js, Gd, Jd, Jy, Xq, Xz, Bj },
components: { Sd, Js, Gd, Jd, Jy, Xq, Xz, Bj },
data() { data() {
return { return {
daterangeCk: [], daterangeCk: [],
@ -217,8 +226,115 @@ export default {
}, },
methods: { methods: {
// //
handleDc() {
exportExcel() {
let that = this
that.$modal.loading()
let params = deepClone(this.queryParams)
params.pageSize = 999999
list(params).then(response => {
var tabelStr =
'<table border="1" class="html-tabel">' +
'<tr style="background:#eee;">' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.mc') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.ph') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.gg') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.rksj') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.kcl') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.cctj') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.zysx') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.jlzt') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.jyzt') + '</th>' +
' </tr>'
let _datastr = ''
_.forEach(response.rows, function (value) {
let jlzt = ''
switch (value.jlzt) {
case 1:
jlzt = that.$t('page.business.resource.resource.jlzt.wsd')
break
case 3:
jlzt = that.$t('page.business.resource.resource.jlzt.ysd')
break
case 5:
jlzt = that.$t('page.business.resource.resource.jlzt.dgd')
break
case 7:
jlzt = that.$t('page.business.resource.resource.jlzt.gd')
break
case 9:
jlzt = that.$t('page.business.resource.resource.jlzt.djd')
break
default: jlzt = ''
}
let jyzt = ''
switch (value.jyzt) {
case 1:
jyzt = that.$t('page.business.resource.resource.jyzt.wjy')
break
case 3:
jyzt = that.$t('page.business.resource.resource.jyzt.djy')
break
case 5:
jyzt = that.$t('page.business.resource.resource.jyzt.jyz')
break
default: jyzt = ''
}
_datastr =
_datastr +
'<tr style="text-align: center;">' +
' <td>' +
value.mc +
'</td>' +
' <td>' +
'&nbsp;' + value.ph +
'</td>' +
' <td>' +
value.gg + value.ggdw +
'</td>' +
' <td>' +
value.rksj +
'</td>' +
' <td>' +
value.rkl + value.rkdw +
'</td>' +
' <td>' +
value.cctj +
'</td>' +
' <td>' +
value.zysx +
'</td>' +
' <td>' +
jlzt +
'</td>' +
' <td>' +
jyzt +
'</td>' +
'</tr>'
})
tabelStr = tabelStr + _datastr + ' <table>'
// Worksheet
var worksheet = that.$t('page.business.resource.gsp.gsprkjl')
var uri = 'data:application/vnd.ms-excel;base64,'
// HTML
var exportTemplate = `<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns="http://www.w3.org/TR/REC-html40">
<head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>
<x:Name>${worksheet}</x:Name>
<x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet>
</x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]-->
</head>
<body>
${tabelStr}
</body>
</html>`
var a = document.createElement('a')
a.download = worksheet + '.xls'
a.href = uri + window.btoa(unescape(encodeURIComponent(exportTemplate)))
a.click()
that.$modal.closeLoading()
}).finally(() => {
that.$modal.closeLoading()
})
}, },
handleBj(row) { handleBj(row) {
this.$refs.Bj.show(row) this.$refs.Bj.show(row)

+ 1
- 1
src/views/business/resource/mjy/comps/ffjlList.vue View File

@ -135,7 +135,7 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('page.business.resource.mjy.jyzt')" align="center" fixed="right" :width="$i18n.locale === 'zh_CN'?'100px':'180px'"> <el-table-column :label="$t('page.business.resource.mjy.jyzt')" align="center" fixed="right" :width="$i18n.locale === 'zh_CN'?'100px':'180px'">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.jyzt == 1"><span class="status-circle cg"></span>{{ $t('page.business.resource.resource.jyzt.wjy') }}</span>
<span v-if="scope.row.jyzt == 1"><span class="status-circle wjy"></span>{{ $t('page.business.resource.resource.jyzt.wjy') }}</span>
<span v-if="scope.row.jyzt == 3"><span class="status-circle ysd"></span>{{ $t('page.business.resource.resource.jyzt.djy') }}</span> <span v-if="scope.row.jyzt == 3"><span class="status-circle ysd"></span>{{ $t('page.business.resource.resource.jyzt.djy') }}</span>
<span v-if="scope.row.jyzt == 5"><span class="status-circle syz"></span>{{ $t('page.business.resource.resource.jyzt.jyz') }}</span> <span v-if="scope.row.jyzt == 5"><span class="status-circle syz"></span>{{ $t('page.business.resource.resource.jyzt.jyz') }}</span>
</template> </template>

+ 1
- 1
src/views/business/study/comp/enter.vue View File

@ -45,7 +45,7 @@ export default {
{ key: 'syff', name: this.$t('page.business.study.studyEnter.syfflb') }, { key: 'syff', name: this.$t('page.business.study.studyEnter.syfflb') },
{ key: 'syj', name: this.$t('page.business.study.studyEnter.syjsygl') } { key: 'syj', name: this.$t('page.business.study.studyEnter.syjsygl') }
], ],
active: 'ytbd',
active: this.$route.params.tab || 'ytbd',
study: {}, study: {},
} }

+ 1
- 1
src/views/business/study/comp/jhbdList.vue View File

@ -54,7 +54,7 @@
<el-table-column :label="$t('page.business.form.xtmbmc')" prop="templateMc" :show-overflow-tooltip="true" /> <el-table-column :label="$t('page.business.form.xtmbmc')" prop="templateMc" :show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.form.cjsj')" align="center" prop="createTime" width="140" /> <el-table-column :label="$t('page.business.form.cjsj')" align="center" prop="createTime" width="140" />
<el-table-column :label="$t('page.business.form.gsr')" align="center" prop="userMc" width="100" /> <el-table-column :label="$t('page.business.form.gsr')" align="center" prop="userMc" width="100" />
<el-table-column :label="$t('page.business.form.status')" prop="status" align="center" width="150">
<el-table-column :label="$t('page.business.form.status')" prop="status" align="center" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.bdzt === 1"><span class="status-circle tbz"></span>{{ $t('page.business.study.studyFormPlan.tbz') }}</span> <span v-if="scope.row.bdzt === 1"><span class="status-circle tbz"></span>{{ $t('page.business.study.studyFormPlan.tbz') }}</span>
<span v-if="scope.row.bdzt === 3"><span class="status-circle ytj"></span>{{ $t('page.business.study.studyFormPlan.ytj') }}</span> <span v-if="scope.row.bdzt === 3"><span class="status-circle ytj"></span>{{ $t('page.business.study.studyFormPlan.ytj') }}</span>

+ 9
- 9
src/views/business/study/comp/wzlb/gyzjList.vue View File

@ -55,19 +55,19 @@
<el-table-column :label="$t('page.business.resource.gyzj.sxrq')" align="center" prop="sxrq" width="150px" /> <el-table-column :label="$t('page.business.resource.gyzj.sxrq')" align="center" prop="sxrq" width="150px" />
<el-table-column :label="$t('page.business.resource.gyzj.sfcc')" align="center" width="100px" fixed="right"> <el-table-column :label="$t('page.business.resource.gyzj.sfcc')" align="center" width="100px" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.cczt == 1">{{ $t('page.business.resource.resource.cczt.qc') }}</span>
<span v-if="scope.row.cczt == 3">{{ $t('page.business.resource.resource.cczt.cc') }}</span>
<span v-if="scope.row.cczt == 1"><span class="status-circle yes"></span>{{ $t('page.business.resource.resource.cczt.qc') }}</span>
<span v-if="scope.row.cczt == 3"><span class="status-circle no"></span>{{ $t('page.business.resource.resource.cczt.cc') }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('page.business.resource.gyzj.zjzt')" align="center" width="100px" fixed="right"> <el-table-column :label="$t('page.business.resource.gyzj.zjzt')" align="center" width="100px" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.zjzt == 1">{{ $t('page.business.resource.resource.zjzt.rk') }}</span>
<span v-if="scope.row.zjzt == 2">{{ $t('page.business.resource.resource.zjzt.wrk') }}</span>
<span v-if="scope.row.zjzt == 3">{{ $t('page.business.resource.resource.zjzt.yff') }}</span>
<span v-if="scope.row.zjzt == 5">{{ $t('page.business.resource.resource.zjzt.ysd') }}</span>
<span v-if="scope.row.zjzt == 7">{{ $t('page.business.resource.resource.zjzt.dgd') }}</span>
<span v-if="scope.row.zjzt == 9">{{ $t('page.business.resource.resource.zjzt.gd') }}</span>
<span v-if="scope.row.zjzt == 11">{{ $t('page.business.resource.resource.zjzt.djd') }}</span>
<span v-if="scope.row.zjzt == 1"><span class="status-circle rk"></span>{{ $t('page.business.resource.resource.zjzt.rk') }}</span>
<span v-if="scope.row.zjzt == 2"><span class="status-circle wrk"></span>{{ $t('page.business.resource.resource.zjzt.wrk') }}</span>
<span v-if="scope.row.zjzt == 3"><span class="status-circle yff"></span>{{ $t('page.business.resource.resource.zjzt.yff') }}</span>
<span v-if="scope.row.zjzt == 5"><span class="status-circle ysd"></span>{{ $t('page.business.resource.resource.zjzt.ysd') }}</span>
<span v-if="scope.row.zjzt == 7"><span class="status-circle dgd"></span>{{ $t('page.business.resource.resource.zjzt.dgd') }}</span>
<span v-if="scope.row.zjzt == 9"><span class="status-circle gd"></span>{{ $t('page.business.resource.resource.zjzt.gd') }}</span>
<span v-if="scope.row.zjzt == 11"><span class="status-circle djd"></span>{{ $t('page.business.resource.resource.zjzt.djd') }}</span>
</template> </template>
</el-table-column> </el-table-column>

+ 8
- 8
src/views/business/study/comp/wzlb/mjyList.vue View File

@ -58,18 +58,18 @@
<el-table-column :label="$t('page.business.resource.mjy.sxrq')" align="center" prop="sxrq" width="150px" /> <el-table-column :label="$t('page.business.resource.mjy.sxrq')" align="center" prop="sxrq" width="150px" />
<el-table-column :label="$t('page.business.resource.gyzj.sfcc')" align="center" width="100px" fixed="right"> <el-table-column :label="$t('page.business.resource.gyzj.sfcc')" align="center" width="100px" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.cczt == 1">{{ $t('page.business.resource.resource.cczt.qc') }}</span>
<span v-if="scope.row.cczt == 3">{{ $t('page.business.resource.resource.cczt.cc') }}</span>
<span v-if="scope.row.cczt == 1"><span class="status-circle yes"></span>{{ $t('page.business.resource.resource.cczt.qc') }}</span>
<span v-if="scope.row.cczt == 3"><span class="status-circle no"></span>{{ $t('page.business.resource.resource.cczt.cc') }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('page.business.resource.mjy.zjzt')" align="center" width="100px" fixed="right"> <el-table-column :label="$t('page.business.resource.mjy.zjzt')" align="center" width="100px" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.zjzt == 1">{{ $t('page.business.resource.resource.zjzt.rk') }}</span>
<span v-if="scope.row.zjzt == 3">{{ $t('page.business.resource.resource.zjzt.yff') }}</span>
<span v-if="scope.row.zjzt == 5">{{ $t('page.business.resource.resource.zjzt.ysd') }}</span>
<span v-if="scope.row.zjzt == 7">{{ $t('page.business.resource.resource.zjzt.dgd') }}</span>
<span v-if="scope.row.zjzt == 9">{{ $t('page.business.resource.resource.zjzt.gd') }}</span>
<span v-if="scope.row.zjzt == 11">{{ $t('page.business.resource.resource.zjzt.djd') }}</span>
<span v-if="scope.row.zjzt == 1"><span class="status-circle rk"></span>{{ $t('page.business.resource.resource.zjzt.rk') }}</span>
<span v-if="scope.row.zjzt == 3"><span class="status-circle yff"></span>{{ $t('page.business.resource.resource.zjzt.yff') }}</span>
<span v-if="scope.row.zjzt == 5"><span class="status-circle ysd"></span>{{ $t('page.business.resource.resource.zjzt.ysd') }}</span>
<span v-if="scope.row.zjzt == 7"><span class="status-circle dgd"></span>{{ $t('page.business.resource.resource.zjzt.dgd') }}</span>
<span v-if="scope.row.zjzt == 9"><span class="status-circle gd"></span>{{ $t('page.business.resource.resource.zjzt.gd') }}</span>
<span v-if="scope.row.zjzt == 11"><span class="status-circle djd"></span>{{ $t('page.business.resource.resource.zjzt.djd') }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('form.operate')" fixed="right" align="center" <el-table-column :label="$t('form.operate')" fixed="right" align="center"

+ 1
- 1
src/views/business/study/comp/ytbd/Xq.vue View File

@ -10,7 +10,7 @@
</div> </div>
<div class="right-top"> <div class="right-top">
<el-button @click="cancel()">{{ $t('form.cancel') }}</el-button> <el-button @click="cancel()">{{ $t('form.cancel') }}</el-button>
<el-button type="primary" v-if="form.bdzt === 5 && (fromNon || isMatchSubject)" @click="openApprove = true">{{
<el-button type="primary" v-hasPermi="['business:studyFormPre:tb','business:nonTrialFormPre:tb','business:drugFormPre:tb']" v-if="form.bdzt === 5 && (fromNon || isMatchSubject)" @click="openApprove = true">{{
$t('page.business.study.studyFormPre.tb') }}</el-button> $t('page.business.study.studyFormPre.tb') }}</el-button>
</div> </div>
</div> </div>

+ 1
- 1
src/views/business/study/list.vue View File

@ -237,7 +237,7 @@ export default {
this.getList() this.getList()
}, },
enter(row){ enter(row){
this.$tab.openPage(" ", '/study/enter/' + row.id)
this.$tab.openPage(" ", '/study/enter/' + row.id+'/ytbd')
// this.showType = 'enter' // this.showType = 'enter'
// this.$refs.enter.show(row) // this.$refs.enter.show(row)

+ 13
- 0
src/views/business/template/list.vue View File

@ -98,6 +98,16 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24">
<el-form-item label="产物:" prop="product">
<el-select v-model="infoDialog.formData.product" :placeholder="$t('form.placeholderSelect')" style="width:100%">
<el-option label="试剂" :value="1" />
<el-option label="给药制剂" :value="5" />
<el-option label="麻精药" :value="7" />
<el-option label="无" :value="9" />
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :span="24"> <!-- <el-col :span="24">
<el-form-item label="类型:" prop="type"> <el-form-item label="类型:" prop="type">
<el-select v-model="infoDialog.formData.type" :placeholder="$t('form.placeholderSelect')" style="width:100%"> <el-select v-model="infoDialog.formData.type" :placeholder="$t('form.placeholderSelect')" style="width:100%">
@ -179,6 +189,9 @@ export default {
status: [ status: [
{ required: true, message:'请选择', trigger: "change" } { required: true, message:'请选择', trigger: "change" }
], ],
product: [
{ required: true, message:'请选择', trigger: "change" }
],
needPre: [ needPre: [
{ required: true, message:'请选择', trigger: "change" } { required: true, message:'请选择', trigger: "change" }
], ],

+ 5
- 1
src/views/index.vue View File

@ -55,7 +55,7 @@
<span>系统通知</span> <span>系统通知</span>
</div> </div>
<div class="notice-list" v-loading="loading"> <div class="notice-list" v-loading="loading">
<div class="notice-item" v-for="(item,index) in noticeList" :key="index">
<div class="notice-item" v-for="(item,index) in noticeList" :key="index" @click="gotoPage(item)">
<div class="notice-title"><el-badge is-dot class="notice-dot"></el-badge>{{item.title}}</div> <div class="notice-title"><el-badge is-dot class="notice-dot"></el-badge>{{item.title}}</div>
<div class="notice-date">{{item.createTime}}</div> <div class="notice-date">{{item.createTime}}</div>
</div> </div>
@ -126,6 +126,9 @@ export default {
}).finally(()=>{ }).finally(()=>{
this.loading = false; this.loading = false;
}) })
},
gotoPage(item){
this.$tab.openPage(" ",item.url)
} }
} }
} }
@ -176,6 +179,7 @@ export default {
margin-bottom: 10px; margin-bottom: 10px;
padding-bottom: 5px; padding-bottom: 5px;
font-size: 12px; font-size: 12px;
cursor: pointer;
.notice-title{ .notice-title{
flex-shrink: 0; flex-shrink: 0;
.notice-dot{ .notice-dot{

+ 5
- 5
src/views/system/menu/index.vue View File

@ -272,8 +272,8 @@
<!-- <el-row>
<el-col :span="12" v-if="form.menuType == 'C'">
<el-row>
<!-- <el-col :span="12" v-if="form.menuType == 'C'">
<el-form-item prop="query"> <el-form-item prop="query">
<el-input v-model="form.query" placeholder="请输入路由参数" maxlength="255" /> <el-input v-model="form.query" placeholder="请输入路由参数" maxlength="255" />
<span slot="label"> <span slot="label">
@ -283,8 +283,8 @@
路由参数 路由参数
</span> </span>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="12" v-if="form.menuType == 'C'">
</el-col> -->
<el-col :span="24" v-if="form.menuType == 'C'">
<el-form-item prop="isCache"> <el-form-item prop="isCache">
<span slot="label"> <span slot="label">
<el-tooltip content="选择是则会被`keep-alive`缓存,需要匹配组件的`name`和地址保持一致" placement="top"> <el-tooltip content="选择是则会被`keep-alive`缓存,需要匹配组件的`name`和地址保持一致" placement="top">
@ -298,7 +298,7 @@
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> -->
</el-row>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">

Loading…
Cancel
Save