luojie 2 months ago
parent
commit
1dd524c8a5
24 changed files with 1226 additions and 79 deletions
  1. +36
    -0
      src/api/business/form/drug.js
  2. +36
    -0
      src/api/business/form/nonTrial.js
  3. +60
    -0
      src/api/business/gyzj/gyzjArchive.js
  4. +37
    -0
      src/api/business/study/study.js
  5. +16
    -7
      src/lang/en/business/resource/gyzj.js
  6. +1
    -1
      src/lang/en/business/resource/mjy.js
  7. +4
    -1
      src/lang/en/business/study/drug.js
  8. +4
    -1
      src/lang/en/business/study/nonTrial.js
  9. +5
    -2
      src/lang/en/business/study/study.js
  10. +3
    -3
      src/lang/en/business/study/studyEnter.js
  11. +19
    -19
      src/lang/en/template/gsp.js
  12. +11
    -1
      src/lang/zh/business/resource/gyzj.js
  13. +4
    -1
      src/lang/zh/business/study/drug.js
  14. +4
    -1
      src/lang/zh/business/study/nonTrial.js
  15. +4
    -1
      src/lang/zh/business/study/study.js
  16. +3
    -3
      src/utils/menu.js
  17. +468
    -0
      src/views/business/archive/formulation/comps/ffjlList.vue
  18. +269
    -0
      src/views/business/archive/formulation/comps/gyzjList.vue
  19. +94
    -0
      src/views/business/archive/formulation/index.vue
  20. +23
    -35
      src/views/business/archive/trial/list.vue
  21. +122
    -0
      src/views/business/comps/common/sign.vue
  22. +1
    -1
      src/views/business/study/comp/sign.vue
  23. +1
    -1
      src/views/business/study/comp/sqbd/Bj.vue
  24. +1
    -1
      src/views/business/study/comp/tbbd/Bj.vue

+ 36
- 0
src/api/business/form/drug.js View File

@ -82,3 +82,39 @@ export function drug_jy(data) {
data: data
})
}
//档案相关
export function drug_archiveList(query) {
return request({
url: '/system/business/drug/archiveList',
method: 'get',
params: query
})
}
export function drug_doGd(data) {
return request({
url: '/system/business/drug/doGd',
method: 'post',
data: data
})
}
export function drug_doJd(data) {
return request({
url: '/system/business/drug/doGd',
method: 'post',
data: data
})
}
export function drug_doJy(data) {
return request({
url: '/system/business/drug/doGd',
method: 'post',
data: data
})
}
export function drug_gh(data) {
return request({
url: '/system/business/drug/gh',
method: 'post',
data: data
})
}

+ 36
- 0
src/api/business/form/nonTrial.js View File

@ -82,3 +82,39 @@ export function nonTrial_jy(data) {
data: data
})
}
//档案相关
export function nonTrial_archiveList(query) {
return request({
url: '/system/business/nonTrial/archiveList',
method: 'get',
params: query
})
}
export function nonTrial_doGd(data) {
return request({
url: '/system/business/nonTrial/doGd',
method: 'post',
data: data
})
}
export function nonTrial_doJd(data) {
return request({
url: '/system/business/nonTrial/doGd',
method: 'post',
data: data
})
}
export function nonTrial_doJy(data) {
return request({
url: '/system/business/nonTrial/doGd',
method: 'post',
data: data
})
}
export function nonTrial_gh(data) {
return request({
url: '/system/business/nonTrial/gh',
method: 'post',
data: data
})
}

+ 60
- 0
src/api/business/gyzj/gyzjArchive.js View File

@ -0,0 +1,60 @@
import request from '@/utils/request'
// 列表
export function list(query) {
return request({
url: '/system/business/gyzjArchive/list',
method: 'get',
params: query
})
}
export function tygd(data) {
return request({
url: '/system/business/gyzjArchive/tygd',
method: 'post',
data: data
})
}
export function jjgd(data) {
return request({
url: '/system/business/gyzjArchive/jjgd',
method: 'post',
data: data
})
}
export function tyjd(data) {
return request({
url: '/system/business/gyzjArchive/tyjd',
method: 'post',
data: data
})
}
export function jjjd(data) {
return request({
url: '/system/business/gyzjArchive/jjjd',
method: 'post',
data: data
})
}
export function tyjy(data) {
return request({
url: '/system/business/gyzjArchive/tyjy',
method: 'post',
data: data
})
}
export function jjjy(data) {
return request({
url: '/system/business/gyzjArchive/jjjy',
method: 'post',
data: data
})
}
export function qrgh(data) {
return request({
url: '/system/business/gyzjArchive/qrgh',
method: 'post',
data: data
})
}

+ 37
- 0
src/api/business/study/study.js View File

@ -82,3 +82,40 @@ export function study_jy(data) {
data: data
})
}
//档案相关
export function study_archiveList(query) {
return request({
url: '/system/business/study/archiveList',
method: 'get',
params: query
})
}
export function study_doGd(data) {
return request({
url: '/system/business/study/doGd',
method: 'post',
data: data
})
}
export function study_doJd(data) {
return request({
url: '/system/business/study/doGd',
method: 'post',
data: data
})
}
export function study_doJy(data) {
return request({
url: '/system/business/study/doGd',
method: 'post',
data: data
})
}
export function study_gh(data) {
return request({
url: '/system/business/study/gh',
method: 'post',
data: data
})
}

+ 16
- 7
src/lang/en/business/resource/gyzj.js View File

@ -81,7 +81,7 @@ export default {
cksj: 'Out of Storage Date',
rksj: 'Into Storage Date',
jiaqian: 'Sign',
gyzjgl: 'DoseManage',
gyzjgl: 'Formulation Manage',
ffhsjl: 'In-and-Out Record',
bdxx: 'Record Information',
jbxx: 'Information',
@ -93,7 +93,7 @@ export default {
ghr2Id: 'Returner 2',
jsr1Id: 'Warehouse Keeper',
jsr2Id: 'Warehouse Keeper 2',
tz: 'Dose Table',
tz: 'Formulation Table',
gdsqrId: 'Applicant of Archiving',
lqsj: 'Time of Transfer',
jcgj: 'Track Record',
@ -102,7 +102,7 @@ export default {
cjsj: 'Creation Date',
jysj: 'Checkout Period',
ffjlxq: 'In-and-Out Record Information',
gyzjxq: 'Dose Information',
gyzjxq: 'Formulation Information',
sqguihuan: 'Return',
qrrk: 'Confirm Check-in',
qmr1Id: 'Signed By 1',
@ -110,13 +110,13 @@ export default {
lqff: 'Distribution',
sqgd: 'Apply for Archiving',
sqjd: 'Apply for De-archiving',
jsgyzj: 'Unlock Dose',
jsgyzj: 'Unlock Formulation',
sqjy: 'Apply for Check-out',
tyjjrk: 'Approve/Reject In Storage',
sdgyzj: 'Lock Dose',
sdgyzj: 'Lock Formulation',
tyjjbj:'Approve/Reject Edit',
tyjjxgkc:'Approve/Reject Change Inventory',
gyzjrk: 'Dose Formulation Check-in',
gyzjrk: 'Formulation Check-in',
ruku: 'In Storage',
xgkc: 'Change Inventory',
bcsm: 'Additional Remark',
@ -125,5 +125,14 @@ export default {
quchu: 'Take Out',
cunchu: 'Storage',
sfcc:'To Storage',
bdmc:'Preset Name'
bdmc:'Preset Name',
gyzjda:'Formulation Archive',
lqffda:'领取发放档案',
tygd:'同意归档',
jjgd:'拒绝归档',
tyjd:'同意解档',
jjjd:'拒绝解档',
tyjy:'同意借阅',
jjjy:'拒绝借阅',
qrgh:'确认归还',
}

+ 1
- 1
src/lang/en/business/resource/mjy.js View File

@ -89,7 +89,7 @@ export default {
rktj: 'Check-in Condition',
zytj: 'Transfer Condition',
rkmz: 'Check-in Gross Weight',
jsl: '减少量',
jsl: 'Reduction',
syl: 'Usage Amount',
ghr1Id: 'Returner',
ghr2Id: 'Returner 2',

+ 4
- 1
src/lang/en/business/study/drug.js View File

@ -59,6 +59,8 @@ export default {
tyjd: 'Approve De-archiving',
jjgd: 'Reject Archiving',
tygd: 'Approve Archiving',
tyjy: 'Approve Check-out',
jjjy: 'Reject Check-out',
dqzdgh: 'Check-out End on Time',
qrgh: 'Check-out End Confirmation',
@ -68,5 +70,6 @@ export default {
ry: 'User',
scsy: 'Remove',
jysj: 'Checkout Period'
jysj: 'Checkout Period',
sqgdsj: 'Archive Application Date'
}

+ 4
- 1
src/lang/en/business/study/nonTrial.js View File

@ -59,6 +59,8 @@ export default {
tyjd: 'Approve De-archiving',
jjgd: 'Reject Archiving',
tygd: 'Approve Archiving',
tyjy: 'Approve Check-out',
jjjy: 'Reject Check-out',
dqzdgh: 'Check-out End on Time',
qrgh: 'Check-out End Confirmation',
@ -68,5 +70,6 @@ export default {
ry: 'User',
scsy: 'Remove',
jysj: 'Checkout Period'
jysj: 'Checkout Period',
sqgdsj: 'Archive Application Date'
}

+ 5
- 2
src/lang/en/business/study/study.js View File

@ -59,6 +59,8 @@ export default {
tyjd: 'Approve De-archiving',
jjgd: 'Reject Archiving',
tygd: 'Approve Archiving',
tyjy: 'Approve Check-out',
jjjy: 'Reject Check-out',
dqzdgh: 'Check-out End on Time',
qrgh: 'Check-out End Confirmation',
@ -72,6 +74,7 @@ export default {
jysj: 'Checkout Period',
qxzsy: 'Please Select Study',
other:'Other'
other: 'Other',
sqgdsj: 'Archive Application Date'
}

+ 3
- 3
src/lang/en/business/study/studyEnter.js View File

@ -1,7 +1,7 @@
export default {
ytbdlb: 'Preset Record',
tbbdlb: 'Record',
sqbdlb: '领取申请单列表',
sqbdlb: 'Material Application Table',
syxx: 'Information',
wzlb: 'Resources',
syfflb: 'Method',
@ -20,8 +20,8 @@ export default {
sjlb: '试剂列表',
gsplb: '供试品列表',
gyzjlb: 'DoseManage',
mjylb: 'DrugManage',
gyzjlb: 'Formulation List',
mjylb: 'Drug List',
xblb: '细胞列表',
xjlb: '细菌列表'
}

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

@ -5,30 +5,30 @@ export default {
title:'试验物质配制计划表',
jhxx:'Plan Information',
tbsm:'Special Note',
lqsj:'领取时间',
fxsj:'分析时间',
sywz:'试验物质',
pzpl:'配置频率',
gyzjhzb:'给药剂量或组别',
pznd:'配制浓度',
pztj:'配制体积',
lqsj:'Collection Time',
fxsj:'Analysis Time',
sywz:'Test Material',
pzpl:'Formulation Frequency',
gyzjhzb:'Dosage/Dosage Group',
pznd:'Formulation Concentration',
pztj:'Formulation Volume',
},
// 麻醉/精神药品配制/领取申请单
MJYLQSQD: {
title: '麻醉/精神药品配制/领取申请单',
jbxx:'Basic Information',
qxzsyhbm:'请选择试验/部门',
sybhhbmmc:'试验编号或部门名称',
sd:'SD/部长',
sywzmc:'试验物质名称',
gyjl:'给药剂量',
xynd:'需要浓度',
xyl:'需要量',
xysj:'需要时间',
yjghsj:'预计归还时间',
dwzs:'动物种属',
dwpjtz:'动物平均体重',
dwsl:'动物数量',
qxzsyhbm:'Please Select Study/Department',
sybhhbmmc:'Study Number/Department',
sd:'Study Director/Manager',
sywzmc:'Study Material Name',
gyjl:'Dosage',
xynd:'Required Concentration',
xyl:'Required Volume',
xysj:'Required Time',
yjghsj:'Expected Return Time',
dwzs:'Species',
dwpjtz:'Average Body Weight',
dwsl:'Number',
},
}

+ 11
- 1
src/lang/zh/business/resource/gyzj.js View File

@ -125,5 +125,15 @@ export default {
quchu: '取出',
cunchu: '存储',
sfcc:'是否存储',
bdmc:'表单名称'
bdmc:'表单名称',
gyzjda:'给药制剂档案',
lqffda:'领取发放档案',
tygd:'同意归档',
jjgd:'拒绝归档',
tyjd:'同意解档',
jjjd:'拒绝解档',
tyjy:'同意借阅',
jjjy:'拒绝借阅',
qrgh:'确认归还',
}

+ 4
- 1
src/lang/zh/business/study/drug.js View File

@ -59,6 +59,8 @@ export default {
tyjd: '同意解档',
jjgd: '拒绝归档',
tygd: '同意归档',
tyjy: '同意借阅',
jjjy: '拒绝借阅',
dqzdgh: '到期自动归还',
qrgh: '确认归还',
@ -69,5 +71,6 @@ export default {
xg: '修改',
scsy: '删除麻精药文件夹',
jysj: '借阅时间'
jysj: '借阅时间',
sqgdsj: '申请归档时间'
}

+ 4
- 1
src/lang/zh/business/study/nonTrial.js View File

@ -59,6 +59,8 @@ export default {
tyjd: '同意解档',
jjgd: '拒绝归档',
tygd: '同意归档',
tyjy: '同意借阅',
jjjy: '拒绝借阅',
dqzdgh: '到期自动归还',
qrgh: '确认归还',
@ -69,5 +71,6 @@ export default {
xg: '修改',
scsy: '删除非试验',
jysj: '借阅时间'
jysj: '借阅时间',
sqgdsj: '申请归档时间'
}

+ 4
- 1
src/lang/zh/business/study/study.js View File

@ -59,6 +59,8 @@ export default {
tyjd: '同意解档',
jjgd: '拒绝归档',
tygd: '同意归档',
tyjy: '同意借阅',
jjjy: '拒绝借阅',
dqzdgh: '到期自动归还',
qrgh: '确认归还',
@ -72,5 +74,6 @@ export default {
jysj: '借阅时间',
qxzsy: '请选择试验',
other:'其他'
other: '其他',
sqgdsj: '申请归档时间'
}

+ 3
- 3
src/utils/menu.js View File

@ -12,7 +12,7 @@ let menuObj = {
资源库管理: 'Resources',
试剂管理: 'ReagentManage',
供试品管理: 'SpecimenManage',
给药制剂管理: 'DoseManage',
给药制剂管理: 'Formulation Manage',
麻精药管理: 'DrugManage',
钥匙管理: 'KeyManage',
仪器管理: 'InstrumentManage',
@ -20,9 +20,9 @@ let menuObj = {
档案管理: 'Archive',
试验档案管理: 'Study Archive',
非试验档案管理: 'Non-study Archive',
麻精药配置档案管理: 'Controlled Drug Formulation',
麻精药配置档案管理: 'Drug Archive',
供试品档案管理: 'Test Item Archive',
给药制剂档案管理: 'Dose Formulation Archive',
给药制剂档案管理: 'Formulation Archive',
麻精药档案管理: 'Controlled Drug Archive',
试剂档案管理: 'Reagent Archive',
档案记录: 'Archive Log',

+ 468
- 0
src/views/business/archive/formulation/comps/ffjlList.vue View File

@ -0,0 +1,468 @@
<template>
<div>
<div>
<!-- 列表 -->
<div class="ffjl" v-show="!showDetail">
<el-form :model="queryParams" ref="queryForm" class="search-area" :inline="true" label-width="88px">
<el-row>
<el-col :span="24">
<!-- 名称 -->
<el-form-item :label="$t('page.business.resource.gyzj.mc') + ':'">
<el-input v-model="queryParams.mc" clearable
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
<!-- 编号 -->
<el-form-item :label="$t('page.business.resource.gyzj.bh') + ':'">
<el-input v-model="queryParams.bh" clearable
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
<!-- 目的 -->
<el-form-item :label="$t('page.business.resource.gyzj.md') + ':'">
<el-input v-model="queryParams.mdId" clearable
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
<!-- 记录状态 -->
<el-form-item :label="$t('page.business.resource.gyzj.jlzt') + ':'">
<el-select v-model="queryParams.jlzt" :placeholder="$t('form.placeholderSelect')" clearable
>
<el-option :label="$t('page.business.resource.resource.jlzt.wsd')" :value="1" />
<el-option :label="$t('page.business.resource.resource.jlzt.ysd')" :value="3" />
<el-option :label="$t('page.business.resource.resource.jlzt.dgd')" :value="5" />
<el-option :label="$t('page.business.resource.resource.jlzt.gd')" :value="7" />
<el-option :label="$t('page.business.resource.resource.jlzt.djd')" :value="9" />
</el-select>
</el-form-item>
<!-- 借阅状态 -->
<el-form-item :label="$t('page.business.resource.gyzj.jyzt') + ':'" :label-width="$i18n.locale === 'zh_CN'?'88px':'150px'">
<el-select v-model="queryParams.jyzt" :placeholder="$t('form.placeholderSelect')" clearable>
<el-option :label="$t('page.business.resource.resource.jyzt.wjy')" :value="1" />
<el-option :label="$t('page.business.resource.resource.jyzt.djy')" :value="3" />
<el-option :label="$t('page.business.resource.resource.jyzt.jyz')" :value="5" />
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{ $t('form.search') }}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{ $t('form.reset') }}</el-button>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<!-- 出库日期 -->
<el-form-item :label="$t('page.business.resource.gyzj.cksj') + ':'" :label-width="$i18n.locale === 'zh_CN'?'88px':'180px'">
<el-date-picker v-model="daterangeCk" class="chat-histogram-daterange" type="daterange"
range-separator="-" :start-placeholder="$t('form.startDate')" :end-placeholder="$t('form.endDate')"
value-format="yyyy-MM-dd" @change="handleQuery" style="width: 250px;" />
</el-form-item>
<!-- 入库日期 -->
<el-form-item :label="$t('page.business.resource.gyzj.rksj') + ':'" :label-width="$i18n.locale === 'zh_CN'?'88px':'180px'">
<el-date-picker v-model="daterangeRk" class="chat-histogram-daterange" type="daterange"
range-separator="-" :start-placeholder="$t('form.startDate')" :end-placeholder="$t('form.endDate')"
value-format="yyyy-MM-dd" @change="handleQuery" style="width: 250px;" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<!-- 批量归档 -->
<el-button type="primary" :disabled="multiple" @click="handlePlgd"
v-hasPermi="['business:resource:gyzj:ffjlgd']">{{
$t('page.business.resource.gyzj.plgd') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 批量锁定 -->
<el-button type="primary" :disabled="multiple" @click="handlePlsd"
v-hasPermi="['business:resource:gyzj:ffjlsd']">{{
$t('page.business.resource.gyzj.plsd') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 导出 -->
<el-button type="primary" @click="exportExcel"
v-hasPermi="['business:resource:gyzj:ffjldc']">{{
$t('form.export') }}</el-button>
</el-col>
</el-row>
<el-table v-loading="loading" :data="list" @selection-change="handleSelectionChange">
<el-table-column type="selection" fixed="left" width="55" align="center" :selectable="checkSelectable" />
<el-table-column :label="$t('page.business.resource.gyzj.bh')" align="center" prop="bh"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gyzj.mc')" align="left" prop="mc"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gyzj.md')" align="center" width="100px" :show-overflow-tooltip="true" >
<template slot-scope="scope">
<span v-if="scope.row.mdOther && scope.row.mdOther != ''&&scope.row.mdMcs && scope.row.mdMcs != ''">{{ scope.row.mdMcs }},{{ scope.row.mdOther }}</span>
<span v-else>{{ scope.row.mdMcs }}{{ scope.row.mdOther }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gyzj.zytj')" align="center" prop="ffzytj" :width="$i18n.locale === 'zh_CN'?'100px':'180px'"/>
<el-table-column :label="$t('page.business.resource.gyzj.cksj')" align="center" prop="ffrq" width="150px" />
<el-table-column :label="$t('page.business.resource.gyzj.rksj')" align="center" prop="ghrq" width="150px" />
<el-table-column :label="$t('page.business.resource.gyzj.ckl')" align="center" :width="$i18n.locale === 'zh_CN'?'100px':'180px'">
<template slot-scope="scope">
{{ scope.row.ckl }} {{ scope.row.ckldw }}
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gyzj.rkl')" align="center" :width="$i18n.locale === 'zh_CN'?'100px':'180px'">
<template slot-scope="scope">
{{ scope.row.rkl }} {{ scope.row.rkldw }}
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gyzj.syl')" align="center" :width="$i18n.locale === 'zh_CN'?'80px':'120px'">
<template slot-scope="scope">
{{ scope.row.syl }} {{ scope.row.syldw }}
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gyzj.kgy1')" align="center" prop="jsr1Mc" :width="$i18n.locale === 'zh_CN'?'80px':'180px'"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gyzj.kgy2')" align="center" prop="jsr2Mc" :width="$i18n.locale === 'zh_CN'?'80px':'180px'"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gyzj.lqr1')" align="center" prop="lqr1Mc" :width="$i18n.locale === 'zh_CN'?'80px':'100px'"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gyzj.lqr2')" align="center" prop="lqr2Mc" :width="$i18n.locale === 'zh_CN'?'80px':'100px'"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gyzj.zcg')" align="center" prop="zcgMc"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gyzj.jlzt')" align="center" width="100px" fixed="right">
<template slot-scope="scope">
<span v-if="scope.row.jlzt == 1"><span class="status-circle wsd"></span>{{ $t('page.business.resource.resource.jlzt.wsd') }}</span>
<span v-if="scope.row.jlzt == 3"><span class="status-circle ysd"></span>{{ $t('page.business.resource.resource.jlzt.ysd') }}</span>
<span v-if="scope.row.jlzt == 5"><span class="status-circle dgd"></span>{{ $t('page.business.resource.resource.jlzt.dgd') }}</span>
<span v-if="scope.row.jlzt == 7"><span class="status-circle gd"></span>{{ $t('page.business.resource.resource.jlzt.gd') }}</span>
<span v-if="scope.row.jlzt == 9"><span class="status-circle djd"></span>{{ $t('page.business.resource.resource.jlzt.djd') }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gyzj.jyzt')" align="center" fixed="right" :width="$i18n.locale === 'zh_CN'?'100px':'180px'">
<template slot-scope="scope">
<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 djy"></span>{{ $t('page.business.resource.resource.jyzt.djy') }}</span>
<span v-if="scope.row.jyzt == 5"><span class="status-circle jyz"></span>{{ $t('page.business.resource.resource.jyzt.jyz') }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('form.operate')" fixed="right" align="center"
class-name="small-padding fixed-width" width="250px">
<template slot-scope="scope">
<!-- 加签 -->
<el-button v-if="scope.row.jlzt == 1" type="text" @click="handleJq(scope.row)"
v-hasPermi="['business:resource:gyzj:ffjljq']">{{
$t('page.business.resource.gyzj.jiaqian') }}</el-button>
<!-- 详情 -->
<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:gyzj:ffjlxq']">{{
$t('page.business.resource.gyzj.detail') }}</el-button>
<!-- 锁定 -->
<el-button type="text" v-if="scope.row.jlzt == 1" @click="handleSd(scope.row)"
v-hasPermi="['business:resource:gyzj:ffjlsd']">{{
$t('page.business.resource.gyzj.lock') }}</el-button>
<!-- 解锁 -->
<el-button type="text" v-if="scope.row.jlzt == 3" @click="handleJs(scope.row)"
v-hasPermi="['business:resource:gyzj:ffjljs']">{{
$t('page.business.resource.gyzj.unlock') }}</el-button>
<!-- 归档 -->
<el-button type="text" v-if="scope.row.jlzt == 3" @click="handleGd(scope.row)"
v-hasPermi="['business:resource:gyzj:ffjlgd']">{{
$t('page.business.resource.gyzj.guidang') }}</el-button>
<!-- 解档 -->
<el-button type="text" v-if="scope.row.jlzt == 7" @click="handleJd(scope.row)"
v-hasPermi="['business:resource:gyzj:ffjljd']">{{
$t('page.business.resource.gyzj.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:gyzj:ffjljy']">{{
$t('page.business.resource.gyzj.jieyue') }}</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" @pagination="getList" />
</div>
</div>
</div>
</template>
<script>
import { list } from "@/api/business/gyzj/gyzjFfjl"
import moment from "moment";
import { deepClone } from "@/utils/index";
export default {
name: "FfjlList",
components: { },
data() {
return {
daterangeCk: [],
daterangeRk: [],
loading: true,
showDetail: false,
single: true,
multiple: true,
total: 0,
list: [],
//
selectList: [],
//
queryParams: {
pageNum: 1,
pageSize: 10,
mc: null,
mdId: null,
jlzt: null,
jyzt: null,
bh: null,
startDateCk: null,
endDateCk: null,
startDateRk: null,
endDateRk: null,
},
}
},
created() {
this.getList()
},
methods: {
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.gyzj.mc') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gyzj.bh') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gyzj.md') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gyzj.zytj') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gyzj.cksj') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gyzj.rksj') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gyzj.ckmz') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gyzj.rkmz') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gyzj.syl') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gyzj.lqr1') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gyzj.lqr2') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gyzj.kgy1') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gyzj.kgy2') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gyzj.zcg') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gyzj.jlzt') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gyzj.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: 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.mdMcs&&value.mdMcs!=''&&value.mdOther&&value.mdOther!=''? (value.mdMcs +","+value.mdOther) :(value.mdMcs +value.mdOther))+
'</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.gyzj.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) {
this.$refs.Jq.show(row)
},
//
handleSd(row) {
this.$refs.Sd.show(row)
},
//
handleJs(row) {
this.$refs.Js.show(row)
},
//
handlePlgd() {
this.$refs.Gd.showBatch(this.selectList)
},
//
handlePlsd() {
this.$refs.Sd.showBatch(this.selectList)
},
closeXq() {
this.showDetail = false
this.$emit('showDetail', this.showDetail)
this.handleQuery()
},
//
handleXq(row) {
this.showDetail = true
this.$emit('showDetail', this.showDetail)
this.$refs.Xq.show(row)
},
//
handleGd(row) {
this.$refs.Gd.show(row)
},
//
handleJy(row) {
this.$refs.Jy.show(row)
},
//
handleJd(row) {
this.$refs.Jd.show(row)
},
//
checkSelectable(row) {
return true;
},
//
getList() {
if (this.daterangeCk != null && this.daterangeCk.length > 0) {
this.queryParams.startDateCk = this.daterangeCk[0]
this.queryParams.endDateCk = moment().add(this.daterangeCk[1], 'days').format('YYYY-MM-DD');
} else {
this.queryParams.startDateCk = ''
this.queryParams.endDateCk = ''
}
if (this.daterangeRk != null && this.daterangeRk.length > 0) {
this.queryParams.startDateRk = this.daterangeRk[0]
this.queryParams.endDateRk = moment().add(this.daterangeRk[1], 'days').format('YYYY-MM-DD');
} else {
this.queryParams.startDateRk = ''
this.queryParams.endDateRk = ''
}
this.loading = true
list(this.queryParams).then(response => {
this.list = response.rows
this.total = response.total
this.loading = false
})
},
//
handleQuery() {
this.queryParams.pageNum = 1
this.getList()
},
//
resetQuery() {
this.queryParams.mc = null
this.queryParams.mdId = null
this.queryParams.jlzt = null
this.queryParams.jyzt = null
this.queryParams.bh = null
this.queryParams.startDateCk = null
this.queryParams.endDateCk = null
this.queryParams.startDateRk = null
this.queryParams.endDateRk = null
this.daterangeCk = []
this.daterangeRk = []
this.handleQuery()
},
//
handleSelectionChange(selection) {
this.single = selection.length !== 1
this.multiple = !selection.length
this.selectList = selection
}
}
}
</script>
<style rel="stylesheet/scss" lang="scss">
.ffjl {
background: #fff;
padding: 10px 10px;
}
</style>

+ 269
- 0
src/views/business/archive/formulation/comps/gyzjList.vue View File

@ -0,0 +1,269 @@
<template>
<div>
<!-- 列表 -->
<div>
<div class="gyzj" v-show="!showDetail">
<el-form :model="queryParams" ref="queryForm" class="search-area" :inline="true" label-width="88px">
<!-- 名称 -->
<el-form-item :label="$t('page.business.resource.gyzj.mc') + ':'">
<el-input v-model="queryParams.mc" clearable :placeholder="$t('form.placeholderInput')" />
</el-form-item>
<!-- 编号 -->
<el-form-item :label="$t('page.business.resource.gyzj.bh') + ':'">
<el-input v-model="queryParams.bh" clearable :placeholder="$t('form.placeholderInput')" />
</el-form-item>
<!-- 借阅状态 -->
<el-form-item :label="$t('page.business.resource.gyzj.jyzt') + ':'"
:label-width="$i18n.locale === 'zh_CN' ? '88px' : '150px'">
<el-select v-model="queryParams.jyzt" :placeholder="$t('form.placeholderSelect')" clearable>
<el-option :label="$t('page.business.resource.resource.jyzt.wjy')" :value="1" />
<el-option :label="$t('page.business.resource.resource.jyzt.djy')" :value="3" />
<el-option :label="$t('page.business.resource.resource.jyzt.jyz')" :value="5" />
</el-select>
</el-form-item>
<!-- 制剂状态 -->
<el-form-item :label="$t('page.business.resource.gyzj.zjzt') + ':'">
<el-select v-model="queryParams.zjzt" :placeholder="$t('form.placeholderSelect')" clearable>
<el-option :label="$t('page.business.resource.resource.zjzt.rk')" :value="1" />
<el-option :label="$t('page.business.resource.resource.zjzt.wrk')" :value="2" />
<el-option :label="$t('page.business.resource.resource.zjzt.yff')" :value="3" />
<el-option :label="$t('page.business.resource.resource.zjzt.ysd')" :value="5" />
<el-option :label="$t('page.business.resource.resource.zjzt.dgd')" :value="7" />
<el-option :label="$t('page.business.resource.resource.zjzt.gd')" :value="9" />
<el-option :label="$t('page.business.resource.resource.zjzt.djd')" :value="11" />
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{ $t('form.search') }}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{ $t('form.reset') }}</el-button>
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="list">
<el-table-column :label="$t('page.business.resource.gyzj.mc')" align="left" prop="mc"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gyzj.bh')" align="center" prop="bh"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gyzj.nd')" align="center">
<template slot-scope="scope">
{{ scope.row.nd }}{{ scope.row.nddw }}
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gyzj.kcl')" align="center">
<template slot-scope="scope">
{{ scope.row.kc }}{{ scope.row.kcdw }}
</template>
</el-table-column>
<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.cctj')" align="center" prop="cctj" width="140px" />
<el-table-column :label="$t('page.business.resource.gyzj.ccwz')" align="center" prop="ccwz" width="130px" />
<el-table-column :label="$t('page.business.resource.gyzj.zjzt')" align="center" width="100px" fixed="right">
<template slot-scope="scope">
<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>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gyzj.jyzt')" align="center" fixed="right"
:width="$i18n.locale === 'zh_CN' ? '100px' : '150px'">
<template slot-scope="scope">
<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 djy"></span>{{
$t('page.business.resource.resource.jyzt.djy') }}</span>
<span v-if="scope.row.jyzt == 5"><span class="status-circle jyz"></span>{{
$t('page.business.resource.resource.jyzt.jyz') }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('form.operate')" fixed="right" align="center"
class-name="small-padding fixed-width" width="250px">
<template slot-scope="scope">
<template>
<!-- 详情 -->
<el-button type="text" @click="handleXq(scope.row)" v-hasPermi="['business:archive:gyzj:xq']">{{
$t('page.business.resource.gyzj.detail') }}</el-button>
<!-- 同意归档 -->
<el-button type="text" v-if="scope.row.zjzt==7" @click="handleSign(scope.row, 'page.business.resource.gyzj.tygd', false, 'tygd')"
v-hasPermi="['business:archive:gyzj:tygd']">{{
$t('page.business.resource.gyzj.tygd') }}</el-button>
<!-- 拒绝归档 -->
<el-button type="text" v-if="scope.row.zjzt==7" @click="handleSign(scope.row, 'page.business.resource.gyzj.jjgd', false, 'jjgd')"
v-hasPermi="['business:archive:gyzj:jjgd']">{{
$t('page.business.resource.gyzj.jjgd') }}</el-button>
<!-- 同意解档 -->
<el-button type="text" v-if="scope.row.zjzt==11" @click="handleSign(scope.row, 'page.business.resource.gyzj.tyjd', false, 'tyjd')"
v-hasPermi="['business:archive:gyzj:tyjd']">{{
$t('page.business.resource.gyzj.tyjd') }}</el-button>
<!-- 拒绝解档 -->
<el-button type="text" v-if="scope.row.zjzt==11" @click="handleSign(scope.row, 'page.business.resource.gyzj.jjjd', false, 'jjjd')"
v-hasPermi="['business:archive:gyzj:jjjd']">{{
$t('page.business.resource.gyzj.jjjd') }}</el-button>
<!-- 同意借阅 -->
<el-button type="text" v-if="scope.row.zjzt==9&&scope.row.jyzt==3" @click="handleSign(scope.row, 'page.business.resource.gyzj.tyjy', true, 'tyjy')"
v-hasPermi="['business:archive:gyzj:tyjy']">{{
$t('page.business.resource.gyzj.tyjy') }}</el-button>
<!-- 拒绝借阅 -->
<el-button type="text" v-if="scope.row.zjzt==9&&scope.row.jyzt==3" @click="handleSign(scope.row, 'page.business.resource.gyzj.jjjy', true, 'jjjy')"
v-hasPermi="['business:archive:gyzj:jjjy']">{{
$t('page.business.resource.gyzj.jjjy') }}</el-button>
<!-- 确认归还 -->
<el-button type="text" v-if="scope.row.zjzt==9&&scope.row.jyzt==5" @click="handleSign(scope.row, 'page.business.resource.gyzj.qrgh', false, 'qrgh')"
v-hasPermi="['business:archive:gyzj:qrgh']">{{
$t('page.business.resource.gyzj.qrgh') }}</el-button>
</template>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" @pagination="getList" />
</div>
<!-- 详情 -->
<Xq v-show="showDetail" key="Xq" ref="Xq" @callback="closeXq" />
<!-- 签名 -->
<Sign ref="refSign" @callback="doSign" />
</div>
</div>
</template>
<script>
import { list, tygd, jjgd, tyjd, jjjd, tyjy, jjjy, qrgh } from "@/api/business/gyzj/gyzjArchive"
import Sign from "@/views/business/comps/common/sign";
import Xq from "@/views/business/resource/gyzj/comps/gyzj/Xq";
export default {
name: "GyzjDaList",
components: { Xq, Sign },
data() {
return {
loading: true,
showDetail: false,
type: '',
total: 0,
list: [],
form: {
id: null
},
queryParams: {
pageNum: 1,
pageSize: 10,
mc: null,
jyzt: null,
zjzt: null,
bh: null,
},
}
},
created() {
this.getList()
},
methods: {
handleSign(row, qmyy, showDate, type) {
this.form.id = row.id
let title = this.$t(qmyy)
this.type = type
this.$refs.refSign.show(title, title, showDate)
},
doSign(val) {
let params = _.merge({}, this.form, val)
debugger
this.$modal.loading()
if (this.type == 'tygd') {
tygd(params).then(response => {
this.handleQuery()
}).finally(() => {
this.$modal.closeLoading()
})
} else if (this.type == 'jjgd') {
jjgd(params).then(response => {
this.handleQuery()
}).finally(() => {
this.$modal.closeLoading()
})
} else if (this.type == 'tyjd') {
tyjd(params).then(response => {
this.handleQuery()
}).finally(() => {
this.$modal.closeLoading()
})
} else if (this.type == 'jjjd') {
jjjd(params).then(response => {
this.handleQuery()
}).finally(() => {
this.$modal.closeLoading()
})
} else if (this.type == 'tyjy') {
tyjy(params).then(response => {
this.handleQuery()
}).finally(() => {
this.$modal.closeLoading()
})
} else if (this.type == 'jjjy') {
jjjy(params).then(response => {
this.handleQuery()
}).finally(() => {
this.$modal.closeLoading()
})
} else if (this.type == 'qrgh') {
qrgh(params).then(response => {
this.handleQuery()
}).finally(() => {
this.$modal.closeLoading()
})
}
},
closeXq() {
this.showDetail = false
this.handleQuery()
this.$emit('showDetail', this.showDetail)
},
//
handleXq(row) {
this.showDetail = true
this.$emit('showDetail', this.showDetail)
this.$refs.Xq.show(row)
},
//
getList() {
this.loading = true
list(this.queryParams).then(response => {
this.list = response.rows
this.total = response.total
this.loading = false
})
},
//
handleQuery() {
this.queryParams.pageNum = 1
this.getList()
},
//
resetQuery() {
this.queryParams.mc = null
this.queryParams.jyzt = null
this.queryParams.zjzt = null
this.queryParams.bh = null
this.handleQuery()
}
}
}
</script>
<style rel="stylesheet/scss" lang="scss">
.gyzj {
background: #fff;
padding: 10px 10px;
}
</style>

+ 94
- 0
src/views/business/archive/formulation/index.vue View File

@ -0,0 +1,94 @@
<template>
<div class="gyzj-index">
<div class="content-list">
<div class="search-box" v-show="!showDetail">
<div class="search-item" :class="active === item.key ? 'active' : ''" v-for="(item, index) in tabList"
:key="index" @click="changeTab(item)">
{{ $t(item.name) }}
</div>
</div>
<div class="content-box">
<gyzjList v-if="active === 'gyzjList'" @showDetail="showDetailCallback" />
<ffjlList v-if="active === 'ffjlList'" @showDetail="showDetailCallback" />
</div>
</div>
</div>
</template>
<script>
import gyzjList from "./comps/gyzjList";
import ffjlList from "./comps/ffjlList";
export default {
name: 'Gyzj',
components: { gyzjList, ffjlList },
data() {
return {
showDetail: false,
tabList: [
{ key: 'gyzjList', name: 'page.business.resource.gyzj.gyzjda' },
{ key: 'ffjlList', name: 'page.business.resource.gyzj.lqffda' },
],
active: 'gyzjList',
}
},
created() { },
methods: {
show(row) {
this.study = row
},
changeTab(item) {
if (this.active !== item.key) {
this.active = item.key
}
},
showDetailCallback(val) {
this.showDetail = val
}
}
}
</script>
<style lang="scss" scoped>
.gyzj-index {
padding: 10px 10px;
.search-box {
background: #fff;
padding: 0;
border-radius: 3px;
margin-bottom: 10px;
display: flex;
flex-direction: row;
align-items: center;
.search-item {
padding: 10px 20px;
font-size: 14px;
cursor: pointer;
&.active {
background: #1890ff;
color: #fff;
}
&:hover {
background: #46a6ff;
color: #fff;
}
&:first-child {
border-top-left-radius: 3px;
border-bottom-left-radius: 3px;
}
&:last-child {
border-top-right-radius: 3px;
border-bottom-right-radius: 3px;
}
}
}
.content-box {}
}
</style>

+ 23
- 35
src/views/business/archive/trial/list.vue View File

@ -2,18 +2,12 @@
<div class="app-container study-page">
<div class="content-list" v-show="showType==='list'">
<el-form :model="searchForm" ref="searchForm" :inline="true" class="search-box">
<el-form-item :label="$t('page.business.study.study.name')" prop="name">
<el-input v-model="searchForm.name" :placeholder="$t('form.placeholderInput')" clearable style="width: 150px" @keyup.enter.native="search" />
</el-form-item>
<el-form-item :label="$t('page.business.study.study.sn')" prop="sn">
<el-input v-model="searchForm.sn" :placeholder="$t('form.placeholderInput')" clearable style="width: 150px" @keyup.enter.native="search" />
</el-form-item>
<el-form-item :label="$t('page.business.study.study.dateRange')">
<el-date-picker v-model="daterange" clearable type="daterange" range-separator="-" :start-placeholder="$t('page.business.study.study.startDate')"
:end-placeholder="$t('page.business.study.study.endDate')" value-format="yyyy-MM-dd" @change="search" style="width: 220px" />
<el-form-item :label="$t('page.business.study.study.name')" prop="name">
<el-input v-model="searchForm.name" :placeholder="$t('form.placeholderInput')" clearable style="width: 150px" @keyup.enter.native="search" />
</el-form-item>
<el-form-item prop="status" :label="$t('page.business.study.study.status')">
<el-select
v-model="searchForm.status"
@ -31,9 +25,6 @@
</el-select>
</el-form-item>
<el-form-item prop="leaderName" :label="$t('page.business.study.study.leader')">
<el-input v-model="searchForm.leaderName" :placeholder="$t('form.placeholderInput')" clearable style="width: 150px" @keyup.enter.native="search" />
</el-form-item>
<div class="right-btn">
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="search">{{ $t('page.business.study.study.search') }}</el-button>
@ -50,9 +41,9 @@
</el-row>
<el-table v-loading="loading" :data="list">
<el-table-column :label="$t('page.business.study.study.sort')" type="index" width="50" />
<el-table-column :label="$t('page.business.study.study.name')" prop="name" />
<el-table-column :label="$t('page.business.study.study.sn')" prop="sn" />
<el-table-column :label="$t('page.business.study.study.name')" prop="name" />
<el-table-column :label="$t('page.business.study.study.leader')" align="center" prop="leaderName" width="100" />
<el-table-column :label="$t('page.business.study.study.status')" prop="status" width="100">
<template slot-scope="scope">
<span v-if="scope.row.status===1"><span class="status-circle cg"></span>{{$t('page.business.study.study.statusCg')}}</span>
@ -63,6 +54,7 @@
<span v-if="scope.row.status===10"><span class="status-circle"></span>{{$t('page.business.study.study.statusDjd')}}</span>
</template>
</el-table-column>
<el-table-column :label="$t('page.business.study.study.borrowStatus')" prop="borrowStatus" width="100">
<template slot-scope="scope">
@ -72,30 +64,26 @@
</template>
</el-table-column>
<el-table-column :label="$t('page.business.study.study.formCount')" align="center" prop="formCount" width="100" />
<el-table-column :label="$t('page.business.study.study.formFinishCount')" align="center" prop="formFinishCount" width="120" />
<!-- <el-table-column :label="$t('page.business.study.study.leader')" align="center" :prop="$i18n.locale === 'zh_CN'?'leaderName':'leaderNameEn'" width="100" /> -->
<el-table-column :label="$t('page.business.study.study.leader')" align="center" prop="leaderName" width="100" />
<el-table-column :label="$t('page.business.study.study.createDate')" align="center" prop="createTime" width="140" />
<el-table-column :label="$t('page.business.study.study.sqgdsj')" align="center" prop="gdApplyTime" width="140" />
<el-table-column :label="$t('form.operate')" fixed="right" align="center" width="200">
<template slot-scope="scope">
<!-- 编辑 -->
<el-button type="text" @click="edit(scope.row)" v-hasPermi="['business:study:edit']" v-if="(scope.row.leader==userId || checkRole(['TFM'])) && (scope.row.status===1 || scope.row.status===3)">{{$t('page.business.study.study.edit')}}</el-button>
<!-- 删除 -->
<el-button type="text" style="color:#E22626" @click="del(scope.row)" v-hasPermi="['business:study:remove']" v-if="(scope.row.leader==userId || checkRole(['TFM'])) && scope.row.status===1">{{$t('page.business.study.study.delete')}}</el-button>
<!-- 同意归档 -->
<el-button type="text" @click="doGd(scope.row,9)" v-hasPermi="['business:archive:trial:tygd']" v-if="scope.row.status===7">{{$t('page.business.study.study.edit')}}</el-button>
<!-- 拒绝归档 -->
<el-button type="text" @click="doGd(scope.row,5)" v-hasPermi="['business:archive:trial:jjgd']" v-if="scope.row.status===7">{{$t('page.business.study.study.delete')}}</el-button>
<!-- 同意解档 -->
<el-button type="text" @click="doJd(scope.row,5)" v-hasPermi="['business:archive:trial:tyjd']" v-if="scope.row.status===10">{{$t('page.business.study.study.enter')}}</el-button>
<!-- 拒绝解档 -->
<el-button type="text" @click="doJd(scope.row,9)" v-hasPermi="['business:archive:trial:jjjd']" v-if="scope.row.status===10">{{$t('page.business.study.study.gd')}}</el-button>
<!-- 同意借阅 -->
<el-button type="text" @click="doJy(scope.row,10)" v-hasPermi="['business:archive:trial:tyjy']" v-if="scope.row.status===9 && scope.row.borrowStatus===5">{{$t('page.business.study.study.js')}}</el-button>
<!-- 拒绝借阅 -->
<el-button type="text" @click="doJy(scope.row,1)" v-hasPermi="['business:archive:trial:jjjy']" v-if="scope.row.status===9 && scope.row.borrowStatus===5">{{$t('page.business.study.study.jy')}}</el-button>
<!-- 确认归还 -->
<el-button type="text" @click="gh(scope.row)" v-hasPermi="['business:archive:trial:qrgh']" v-if="scope.row.status===9 && scope.row.borrowStatus===10">{{$t('page.business.study.study.jd')}}</el-button>
<!-- 详情 -->
<el-button type="text" @click="detail(scope.row)" v-hasPermi="['business:study:detail']" v-if="scope.row.status===1 || scope.row.status===3 || scope.row.status===5 || (scope.row.status===9 && scope.row.borrowStatus===10)">{{$t('page.business.study.study.detail')}}</el-button>
<!-- 进入试验 -->
<el-button type="text" @click="enter(scope.row)" v-hasPermi="['business:study:enter']" v-if="scope.row.status===3 || scope.row.status===5 || (scope.row.status===9 && scope.row.borrowStatus===10)">{{$t('page.business.study.study.enter')}}</el-button>
<!-- 归档 -->
<el-button type="text" @click="gd(scope.row)" v-hasPermi="['business:study:gd']" v-if="(scope.row.leader==userId || checkRole(['TFM'])) && scope.row.status===5">{{$t('page.business.study.study.gd')}}</el-button>
<!-- 解锁 -->
<el-button type="text" @click="js(scope.row)" v-hasPermi="['business:study:js']" v-if="(scope.row.leader==userId || checkRole(['TFM'])) && scope.row.status===5">{{$t('page.business.study.study.js')}}</el-button>
<!-- 解档 -->
<el-button type="text" @click="jd(scope.row)" v-hasPermi="['business:study:jd']" v-if="(scope.row.leader==userId || checkRole(['TFM'])) && scope.row.status===9 && scope.row.borrowStatus===1">{{$t('page.business.study.study.jd')}}</el-button>
<!-- 借阅 -->
<el-button type="text" @click="jy(scope.row)" v-hasPermi="['business:study:jy']" v-if="(scope.row.leader==userId || checkRole(['TFM'])) && scope.row.status===9 && scope.row.borrowStatus===1">{{$t('page.business.study.study.jy')}}</el-button>
<el-button type="text" @click="detail(scope.row)" v-hasPermi="['business:archive:trial:xq']" >{{$t('page.business.study.study.detail')}}</el-button>
</template>
</el-table-column>
</el-table>
@ -149,7 +137,7 @@
<script>
import { checkPermi, checkRole } from "@/utils/permission";
import { study_list,study_delete,study_gd,study_js,study_jd,study_jy} from "@/api/business/study/study";
import { study_archiveList,study_delete,study_gd,study_js,study_jd,study_jy} from "@/api/business/study/study";
import Edit from '@/views/business/study/comp/edit.vue'
import Enter from '@/views/business/study/comp/enter.vue'
import Detail from '@/views/business/study/comp/detail.vue'
@ -203,7 +191,7 @@ export default {
this.loading = true;
this.searchForm.startDate = this.daterange && this.daterange.length > 0 ? this.daterange[0] : ''
this.searchForm.endDate = this.daterange && this.daterange.length > 1 ? this.daterange[1] : ''
study_list(this.searchForm).then(response => {
study_archiveList(this.searchForm).then(response => {
this.list = response.rows;
this.total = response.total;
}).finally(()=>{

+ 122
- 0
src/views/business/comps/common/sign.vue View File

@ -0,0 +1,122 @@
<template>
<div>
<!-- 签名弹窗 -->
<el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :title="title" :visible.sync="open"
width="500px" append-to-body>
<el-form ref="signForm" :model="form" :rules="rules" :label-width="$i18n.locale === 'zh_CN'?'120px':'180px'" v-if="open">
<div class="sbzdtcma"> <input type="text"> <input type="password"> </div>
<el-row>
<el-col :span="24" v-if="showDate">
<el-form-item :label="$t('page.business.study.study.jysj')" prop="jyksrq">
<el-date-picker v-model="dateArr" clearable type="daterange" range-separator="-"
:start-placeholder="$t('form.startDate')" :end-placeholder="$t('form.endDate')"
value-format="yyyy-MM-dd" style="width: 100%" @change="changeDate" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">
<el-input type="text" v-model="form.qmyy" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('form.remark')" prop="remark">
<el-input type="textarea" v-model="form.remark" :rows="2" maxlength="500"
:placeholder="$t('form.placeholderInput')">
</el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('form.signer')">
<el-input type="text" v-model="form.qmrMc" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('form.password')" prop="qmrmm">
<el-input type="password" v-model="form.qmrmm" maxlength="20"
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="save">{{ $t('form.confirm') }}</el-button>
<el-button @click="cancel">{{ $t('form.cancel') }}</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
name: "Sign",
components: {},
data() {
return {
title: '',
open: false,
form: {
qmyy: '',
remark: '',
qmrId: '',
qmrMc: '',
qmrmm: '',
jyjsrq: '',
jyksrq: ''
},
dateArr: [],
showDate: false,
rules: {
qmrmm: [{
required: true,
message: ' ',
trigger: 'blur'
}],
startDate: [{
required: true,
message: ' ',
trigger: 'change'
}]
}
}
},
computed: {
},
created() {
},
methods: {
show(title, qmyy, showDate) {
this.showDate = showDate == undefined ? false : showDate
this.dateArr = []
this.title = title
this.form = {
qmyy: qmyy,
remark: '',
qmrId: this.$store.getters.id,
qmrMc: this.$store.getters.nickName,
qmrmm: '',
jyjsrq: '',
jyksrq: ''
}
this.resetForm("signForm")
this.open = true
},
cancel() {
this.open = false
},
changeDate(val) {
this.form.jyksrq = val && val.length > 0 ? val[0] : ''
this.form.jyjsrq = val && val.length > 1 ? val[1] : ''
},
save() {
this.$refs["signForm"].validate(valid => {
if (valid) {
this.$emit('callback', this.form)
this.open = false
}
})
}
}
}
</script>

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

@ -2,7 +2,7 @@
<div>
<!-- 签名弹窗 -->
<el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="signForm" :model="form" :rules="rules" label-width="120px">
<el-form ref="signForm" :model="form" :rules="rules" label-width="120px" v-if="open">
<el-row>
<el-col :span="24" v-if="showDate">
<el-form-item :label="$t('page.business.study.study.jysj')" prop="startDate">

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

@ -56,7 +56,7 @@
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.study.studyFormApply.sfbl')" prop="sfbl">
<el-select v-model="form.sfbl" :placeholder="$t('form.placeholderSelect')">
<el-select v-model="form.sfbl" :placeholder="$t('form.placeholderSelect')" style="width: 100%;">
<el-option :label="$t('page.business.study.studyFormApply.yes')" value="是" />
<el-option :label="$t('page.business.study.studyFormApply.no')" value="否" />
</el-select>

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

@ -56,7 +56,7 @@
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.study.studyFormFill.sfbl')" prop="sfbl">
<el-select v-model="form.sfbl" :placeholder="$t('form.placeholderSelect')">
<el-select v-model="form.sfbl" :placeholder="$t('form.placeholderSelect')" style="width: 100%;">
<el-option :label="$t('page.business.study.studyFormFill.yes')" value="是" />
<el-option :label="$t('page.business.study.studyFormFill.no')" value="否" />
</el-select>

Loading…
Cancel
Save