Browse Source

feat:[档案管理][麻精药档案管理]

lkf
15881625488@163.com 2 months ago
parent
commit
a497ae23b2
7 changed files with 913 additions and 4 deletions
  1. +60
    -0
      src/api/business/mjy/mjyArchive.js
  2. +10
    -1
      src/lang/en/business/resource/mjy.js
  3. +11
    -1
      src/lang/zh/business/resource/mjy.js
  4. +468
    -0
      src/views/business/archive/drug/comps/ffjlList.vue
  5. +268
    -0
      src/views/business/archive/drug/comps/mjyList.vue
  6. +94
    -0
      src/views/business/archive/drug/index.vue
  7. +2
    -2
      src/views/business/resource/mjy/comps/mjyList.vue

+ 60
- 0
src/api/business/mjy/mjyArchive.js View File

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

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

@ -126,5 +126,14 @@ export default {
quchu: 'Take Out',
cunchu: 'Storage',
sfcc:'To Storage',
bdmc:'Preset Name'
bdmc:'Preset Name',
mjyda:'Drug Archive',
lqffda:'领取发放档案',
tygd:'同意归档',
jjgd:'拒绝归档',
tyjd:'同意解档',
jjjd:'拒绝解档',
tyjy:'同意借阅',
jjjy:'拒绝借阅',
qrgh:'确认归还',
}

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

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

+ 468
- 0
src/views/business/archive/drug/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>

+ 268
- 0
src/views/business/archive/drug/comps/mjyList.vue View File

@ -0,0 +1,268 @@
<template>
<div>
<!-- 列表 -->
<div>
<div class="mjy" 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.mjy.mc') + ':'">
<el-input v-model="queryParams.mc" clearable :placeholder="$t('form.placeholderInput')" />
</el-form-item>
<!-- 编号 -->
<el-form-item :label="$t('page.business.resource.mjy.bh') + ':'">
<el-input v-model="queryParams.bh" clearable :placeholder="$t('form.placeholderInput')" />
</el-form-item>
<!-- 借阅状态 -->
<el-form-item :label="$t('page.business.resource.mjy.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.mjy.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.mjy.mc')" align="left" prop="mc"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.mjy.bh')" align="center" prop="bh"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.mjy.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.mjy.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.mjy.sxrq')" align="center" prop="sxrq" width="150px" />
<el-table-column :label="$t('page.business.resource.mjy.cctj')" align="center" prop="cctj" width="140px" />
<el-table-column :label="$t('page.business.resource.mjy.ccwz')" align="center" prop="ccwz" width="130px" />
<el-table-column :label="$t('page.business.resource.mjy.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.mjy.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:mjy:xq']">{{
$t('page.business.resource.mjy.detail') }}</el-button>
<!-- 同意归档 -->
<el-button type="text" v-if="scope.row.zjzt==7" @click="handleSign(scope.row, 'page.business.resource.mjy.tygd', false, 'tygd')"
v-hasPermi="['business:archive:mjy:tygd']">{{
$t('page.business.resource.mjy.tygd') }}</el-button>
<!-- 拒绝归档 -->
<el-button type="text" v-if="scope.row.zjzt==7" @click="handleSign(scope.row, 'page.business.resource.mjy.jjgd', false, 'jjgd',true,true)"
v-hasPermi="['business:archive:mjy:jjgd']">{{
$t('page.business.resource.mjy.jjgd') }}</el-button>
<!-- 同意解档 -->
<el-button type="text" v-if="scope.row.zjzt==11" @click="handleSign(scope.row, 'page.business.resource.mjy.tyjd', false, 'tyjd')"
v-hasPermi="['business:archive:mjy:tyjd']">{{
$t('page.business.resource.mjy.tyjd') }}</el-button>
<!-- 拒绝解档 -->
<el-button type="text" v-if="scope.row.zjzt==11" @click="handleSign(scope.row, 'page.business.resource.mjy.jjjd', false, 'jjjd',true,true)"
v-hasPermi="['business:archive:mjy:jjjd']">{{
$t('page.business.resource.mjy.jjjd') }}</el-button>
<!-- 同意借阅 -->
<el-button type="text" v-if="scope.row.zjzt==9&&scope.row.jyzt==3" @click="handleSign(scope.row, 'page.business.resource.mjy.tyjy', true, 'tyjy')"
v-hasPermi="['business:archive:mjy:tyjy']">{{
$t('page.business.resource.mjy.tyjy') }}</el-button>
<!-- 拒绝借阅 -->
<el-button type="text" v-if="scope.row.zjzt==9&&scope.row.jyzt==3" @click="handleSign(scope.row, 'page.business.resource.mjy.jjjy', true, 'jjjy',true,true)"
v-hasPermi="['business:archive:mjy:jjjy']">{{
$t('page.business.resource.mjy.jjjy') }}</el-button>
<!-- 确认归还 -->
<el-button type="text" v-if="scope.row.zjzt==9&&scope.row.jyzt==5" @click="handleSign(scope.row, 'page.business.resource.mjy.qrgh', false, 'qrgh')"
v-hasPermi="['business:archive:mjy:qrgh']">{{
$t('page.business.resource.mjy.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/mjy/mjyArchive"
import Sign from "@/views/business/comps/common/sign";
import Xq from "@/views/business/resource/mjy/comps/mjy/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,isReson,reasonRequired) {
this.form.id = row.id
let title = this.$t(qmyy)
this.type = type
this.$refs.refSign.show(title, title, showDate,(type=='jjjy'||type=='tyjy')?[row.jyksrq,row.jyjsrq]:[],isReson,reasonRequired)
},
doSign(val) {
let params = _.merge({}, this.form, val)
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">
.mjy {
background: #fff;
padding: 10px 10px;
}
</style>

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

@ -0,0 +1,94 @@
<template>
<div class="mjy-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">
<mjyList v-if="active === 'mjyList'" @showDetail="showDetailCallback" />
<ffjlList v-if="active === 'ffjlList'" @showDetail="showDetailCallback" />
</div>
</div>
</div>
</template>
<script>
import mjyList from "./comps/mjyList";
import ffjlList from "./comps/ffjlList";
export default {
name: 'Mjy',
components: { mjyList, ffjlList },
data() {
return {
showDetail: false,
tabList: [
{ key: 'mjyList', name: 'page.business.resource.mjy.mjyda' },
{ key: 'ffjlList', name: 'page.business.resource.mjy.lqffda' },
],
active: 'mjyList',
}
},
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>
.mjy-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>

+ 2
- 2
src/views/business/resource/mjy/comps/mjyList.vue View File

@ -132,7 +132,7 @@
<el-table-column :label="$t('form.operate')" fixed="right" align="center"
class-name="small-padding fixed-width" width="250px">
<template slot-scope="scope">
<template v-if="scope.row.zjzt == 1 || scope.row.zjzt == 3 || scope.row.zjzt == 5 || scope.row.zjzt == 9">
<template v-if="scope.row.zjzt == 1 || scope.row.zjzt == 3 || scope.row.zjzt == 5 || scope.row.jyzt == 5 ">
<!-- 详情 -->
<el-button type="text" @click="handleXq(scope.row)" v-hasPermi="['business:resource:mjy:xq']">{{
$t('page.business.resource.mjy.detail') }}</el-button>
@ -188,7 +188,7 @@
<el-button type="text" @click="handleRk(scope.row)" v-hasPermi="['business:resource:mjy:rk']">{{
$t('page.business.resource.mjy.ruku') }}</el-button>
</template>
<template v-if="scope.row.zjzt == 9">
<template v-if="scope.row.zjzt == 9&&scope.row.jyzt == 1">
<!-- 解档 -->
<el-button type="text" @click="handleJd(scope.row)" v-hasPermi="['business:resource:mjy:jd']">{{
$t('page.business.resource.mjy.jiedang') }}</el-button>

Loading…
Cancel
Save