Browse Source

feat:[资源库管理][给药制剂]新增

lkf
15881625488@163.com 3 months ago
parent
commit
712f5226ec
82 changed files with 5974 additions and 589 deletions
  1. +1
    -1
      src/App.vue
  2. +200
    -0
      src/api/business/gyzj/gyzj.js
  3. +91
    -0
      src/api/business/gyzj/gyzjFfjl.js
  4. +5
    -2
      src/lang/en.js
  5. +84
    -0
      src/lang/en/business/resource/gyzj/gyzj.js
  6. +5
    -2
      src/lang/zh.js
  7. +85
    -0
      src/lang/zh/business/resource/gyzj/gyzj.js
  8. +2
    -0
      src/lang/zh/business/resource/mjy/mjy.js
  9. +156
    -0
      src/views/business/resource/gyzj/comps/ffjl/Gd.vue
  10. +144
    -0
      src/views/business/resource/gyzj/comps/ffjl/Jd.vue
  11. +123
    -0
      src/views/business/resource/gyzj/comps/ffjl/Jq.vue
  12. +123
    -0
      src/views/business/resource/gyzj/comps/ffjl/Js.vue
  13. +125
    -0
      src/views/business/resource/gyzj/comps/ffjl/Jy.vue
  14. +156
    -0
      src/views/business/resource/gyzj/comps/ffjl/Sd.vue
  15. +56
    -0
      src/views/business/resource/gyzj/comps/ffjl/SelectList.vue
  16. +203
    -0
      src/views/business/resource/gyzj/comps/ffjl/Xq.vue
  17. +331
    -0
      src/views/business/resource/gyzj/comps/ffjlList.vue
  18. +196
    -0
      src/views/business/resource/gyzj/comps/gyzj/Bj.vue
  19. +274
    -0
      src/views/business/resource/gyzj/comps/gyzj/Czrq.vue
  20. +297
    -0
      src/views/business/resource/gyzj/comps/gyzj/Czyj.vue
  21. +364
    -0
      src/views/business/resource/gyzj/comps/gyzj/Ff.vue
  22. +156
    -0
      src/views/business/resource/gyzj/comps/gyzj/Gd.vue
  23. +129
    -0
      src/views/business/resource/gyzj/comps/gyzj/Gh.vue
  24. +157
    -0
      src/views/business/resource/gyzj/comps/gyzj/Jd.vue
  25. +123
    -0
      src/views/business/resource/gyzj/comps/gyzj/Js.vue
  26. +157
    -0
      src/views/business/resource/gyzj/comps/gyzj/Jy.vue
  27. +156
    -0
      src/views/business/resource/gyzj/comps/gyzj/Sd.vue
  28. +55
    -0
      src/views/business/resource/gyzj/comps/gyzj/SelectList.vue
  29. +223
    -0
      src/views/business/resource/gyzj/comps/gyzj/Shbj.vue
  30. +167
    -0
      src/views/business/resource/gyzj/comps/gyzj/Shxgkc.vue
  31. +145
    -0
      src/views/business/resource/gyzj/comps/gyzj/Xgkc.vue
  32. +221
    -0
      src/views/business/resource/gyzj/comps/gyzj/Xq.vue
  33. +216
    -0
      src/views/business/resource/gyzj/comps/gyzj/Ysff.vue
  34. +420
    -0
      src/views/business/resource/gyzj/comps/gyzjList.vue
  35. +38
    -0
      src/views/business/resource/gyzj/index.vue
  36. +3
    -3
      src/views/business/resource/mjy/comps/ffjl/Gd.vue
  37. +3
    -3
      src/views/business/resource/mjy/comps/ffjl/Jd.vue
  38. +3
    -3
      src/views/business/resource/mjy/comps/ffjl/Jq.vue
  39. +3
    -3
      src/views/business/resource/mjy/comps/ffjl/Js.vue
  40. +3
    -3
      src/views/business/resource/mjy/comps/ffjl/Jy.vue
  41. +3
    -3
      src/views/business/resource/mjy/comps/ffjl/Sd.vue
  42. +12
    -12
      src/views/business/resource/mjy/comps/ffjl/SelectList.vue
  43. +125
    -124
      src/views/business/resource/mjy/comps/ffjl/Xq.vue
  44. +48
    -48
      src/views/business/resource/mjy/comps/ffjlList.vue
  45. +7
    -7
      src/views/business/resource/mjy/comps/mjy/Bj.vue
  46. +16
    -14
      src/views/business/resource/mjy/comps/mjy/Czrq.vue
  47. +18
    -16
      src/views/business/resource/mjy/comps/mjy/Czyj.vue
  48. +21
    -20
      src/views/business/resource/mjy/comps/mjy/Ff.vue
  49. +3
    -3
      src/views/business/resource/mjy/comps/mjy/Gd.vue
  50. +3
    -3
      src/views/business/resource/mjy/comps/mjy/Gh.vue
  51. +4
    -4
      src/views/business/resource/mjy/comps/mjy/Jd.vue
  52. +3
    -3
      src/views/business/resource/mjy/comps/mjy/Js.vue
  53. +4
    -4
      src/views/business/resource/mjy/comps/mjy/Jy.vue
  54. +3
    -3
      src/views/business/resource/mjy/comps/mjy/Sd.vue
  55. +13
    -13
      src/views/business/resource/mjy/comps/mjy/SelectList.vue
  56. +10
    -10
      src/views/business/resource/mjy/comps/mjy/Shbj.vue
  57. +7
    -7
      src/views/business/resource/mjy/comps/mjy/Shxgkc.vue
  58. +5
    -5
      src/views/business/resource/mjy/comps/mjy/Xgkc.vue
  59. +25
    -24
      src/views/business/resource/mjy/comps/mjy/Xq.vue
  60. +20
    -21
      src/views/business/resource/mjy/comps/mjy/Ysff.vue
  61. +52
    -52
      src/views/business/resource/mjy/comps/mjyList.vue
  62. +2
    -2
      src/views/business/resource/mjy/index.vue
  63. +3
    -3
      src/views/business/resource/sj/comps/Bj.vue
  64. +10
    -10
      src/views/business/resource/sj/comps/Cz.vue
  65. +10
    -10
      src/views/business/resource/sj/comps/CzBatch.vue
  66. +4
    -4
      src/views/business/resource/sj/comps/Ff.vue
  67. +1
    -1
      src/views/business/resource/sj/comps/Gd.vue
  68. +4
    -4
      src/views/business/resource/sj/comps/Gh.vue
  69. +1
    -1
      src/views/business/resource/sj/comps/Jd.vue
  70. +1
    -1
      src/views/business/resource/sj/comps/Js.vue
  71. +2
    -2
      src/views/business/resource/sj/comps/Jy.vue
  72. +1
    -1
      src/views/business/resource/sj/comps/Sd.vue
  73. +2
    -2
      src/views/business/resource/sj/comps/SelectList.vue
  74. +2
    -2
      src/views/business/resource/sj/comps/Xgkc.vue
  75. +4
    -4
      src/views/business/resource/sj/comps/Ysff.vue
  76. +51
    -51
      src/views/business/resource/sj/list.vue
  77. +8
    -8
      src/views/business/resource/yq/comps/detail.vue
  78. +28
    -28
      src/views/business/resource/yq/list.vue
  79. +4
    -4
      src/views/business/resource/zcg/comps/SelectList.vue
  80. +9
    -9
      src/views/business/resource/zcg/comps/Ysff.vue
  81. +11
    -11
      src/views/business/resource/zcg/comps/Ysgh.vue
  82. +15
    -15
      src/views/business/resource/zcg/list.vue

+ 1
- 1
src/App.vue View File

@ -169,7 +169,7 @@ export default {
img {
height: 16px;
margin-right: 20px;
margin-right: 10px;
cursor: pointer;
}

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

@ -0,0 +1,200 @@
import request from '@/utils/request'
// 列表
export function list(query) {
return request({
url: '/system/business/gyzj/list',
method: 'get',
params: query
})
}
// 稽查轨迹列表
export function jcgjList(query) {
return request({
url: '/system/business/gyzj/jcgjList',
method: 'get',
params: query
})
}
// 详情
export function info(query) {
return request({
url: '/system/business/gyzj/info',
method: 'get',
params: query
})
}
// 编辑
export function bj(data) {
return request({
url: '/system/business/gyzj/bj',
method: 'post',
data: data
})
}
// 审核编辑
export function shbj(data) {
return request({
url: '/system/business/gyzj/shbj',
method: 'post',
data: data
})
}
// 修改库存
export function xgkc(data) {
return request({
url: '/system/business/gyzj/xgkc',
method: 'post',
data: data
})
}
// 审核修改库存
export function shxgkc(data) {
return request({
url: '/system/business/gyzj/shxgkc',
method: 'post',
data: data
})
}
// 解锁
export function js(data) {
return request({
url: '/system/business/gyzj/js',
method: 'post',
data: data
})
}
// 锁定
export function sd(data) {
return request({
url: '/system/business/gyzj/sd',
method: 'post',
data: data
})
}
//批量锁定
export function plsd(data) {
return request({
url: '/system/business/gyzj/plsd',
method: 'post',
data: data
})
}
//处置容器
export function czrq(data) {
return request({
url: '/system/business/gyzj/czrq',
method: 'post',
data: data
})
}
//批量处置容器
export function plczrq(data) {
return request({
url: '/system/business/gyzj/plczrq',
method: 'post',
data: data
})
}
//处置药剂
export function czyj(data) {
return request({
url: '/system/business/gyzj/czyj',
method: 'post',
data: data
})
}
//批量处置药剂
export function plczyj(data) {
return request({
url: '/system/business/gyzj/plczyj',
method: 'post',
data: data
})
}
//归档
export function gd(data) {
return request({
url: '/system/business/gyzj/gd',
method: 'post',
data: data
})
}
//批量归档
export function plgd(data) {
return request({
url: '/system/business/gyzj/plgd',
method: 'post',
data: data
})
}
//发放
export function ff(data) {
return request({
url: '/system/business/gyzj/ff',
method: 'post',
data: data
})
}
//批量发放
export function plff(data) {
return request({
url: '/system/business/gyzj/plff',
method: 'post',
data: data
})
}
//钥匙发放
export function ysff(data) {
return request({
url: '/system/business/gyzj/ysff',
method: 'post',
data: data
})
}
//归还
export function gh(data) {
return request({
url: '/system/business/gyzj/gh',
method: 'post',
data: data
})
}
//台账列表
export function tzList(query) {
return request({
url: '/system/business/gyzj/tzList',
method: 'get',
params: query
})
}
//解档
export function jd(data) {
return request({
url: '/system/business/gyzj/jd',
method: 'post',
data: data
})
}

+ 91
- 0
src/api/business/gyzj/gyzjFfjl.js View File

@ -0,0 +1,91 @@
import request from '@/utils/request'
// 列表
export function list(query) {
return request({
url: '/system/business/gyzjFfjl/list',
method: 'get',
params: query
})
}
// 稽查轨迹列表
export function jcgjList(query) {
return request({
url: '/system/business/gyzjFfjl/jcgjList',
method: 'get',
params: query
})
}
// 详情
export function info(query) {
return request({
url: '/system/business/gyzjFfjl/info',
method: 'get',
params: query
})
}
// 解锁
export function js(data) {
return request({
url: '/system/business/gyzjFfjl/js',
method: 'post',
data: data
})
}
// 锁定
export function sd(data) {
return request({
url: '/system/business/gyzjFfjl/sd',
method: 'post',
data: data
})
}
// 锁定
export function plsd(data) {
return request({
url: '/system/business/gyzjFfjl/plsd',
method: 'post',
data: data
})
}
//归档
export function gd(data) {
return request({
url: '/system/business/gyzjFfjl/gd',
method: 'post',
data: data
})
}
//解档
export function jd(data) {
return request({
url: '/system/business/gyzjFfjl/jd',
method: 'post',
data: data
})
}
//借阅
export function jy(data) {
return request({
url: '/system/business/gyzjFfjl/jy',
method: 'post',
data: data
})
}
//归档
export function plgd(data) {
return request({
url: '/system/business/gyzjFfjl/plgd',
method: 'post',
data: data
})
}
//加签
export function jq(data) {
return request({
url: '/system/business/gyzjFfjl/jq',
method: 'post',
data: data
})
}

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

@ -20,6 +20,8 @@ import yq from './en/business/resource/yq/yq'
import zcg from './en/business/resource/zcg/zcg'
// 麻精药
import mjy from './en/business/resource/mjy/mjy'
// 给药制剂
import gyzj from './en/business/resource/gyzj/gyzj'
// 试剂库存
import sj from './en/business/resource/sj/sj'
export default {
@ -103,7 +105,7 @@ export default {
template
},
business: {
zykgl: {
resource: {
zjzt: {
rk: '入库',
yff: '已发放',
@ -127,7 +129,8 @@ export default {
zcg,
mjy,
yq,
sj
sj,
gyzj
},
study: study
}

+ 84
- 0
src/lang/en/business/resource/gyzj/gyzj.js View File

@ -0,0 +1,84 @@
export default {
mc:'名称',
bh:'编号',
jyzt:'借阅状态',
zjzt:'制剂状态',
jlzt:'记录状态',
sxrq:'失效日期',
nd:'浓度',
nddw:'浓度单位',
kcl:'库存量',
kc:'库存',
kcdw:'库存单位',
zcg:'暂存柜',
cctj:'存储条件',
ccwz:'存储位置',
cksj:'出库时间',
rksj:'入库时间',
ckjz:'出库净重',
rkjz:'入库净重',
syl:'使用量',
lqr1:'领取人1',
lqr2:'领取人2',
kgy1:'库管员1',
kgy2:'库管员2',
plff:'批量发放',
plczyj:'批量处置药剂',
plczrq:'批量处置容器',
ysff:'钥匙发放',
plsd:'批量锁定',
plgd:'批量归档',
lock:'锁定',
unlock:'解锁',
detail:'详情',
guidang:'归档',
jiedang:'解档',
jieyue:'借阅',
guihuan:'归还',
fafang:'发放',
ysff:'钥匙发放',
czrq:'处置容器',
czyj:'处置药剂',
yuanyin:'原因',
xgkc:'修改库存',
shxgkc:'审核修改库存',
shbj:'审核编辑',
clr:'处理人',
czfs:'处置方式',
fhr:'复核人',
xgbz:'修改备注',
jdr:'监督人',
xgr:'修改人',
czl:'处置量',
ffr:'发放人',
ffr1:'发放人1',
ffr2:'发放人2',
zytj:'转移条件',
md:'目的',
ckmz:'出库毛重',
ckl:'出库量',
ckldw:'出库单位',
ffzytj:'转移条件',
ckmz:'出库毛重',
ckmzdw:'出库毛重单位',
ys1lrq:'钥匙1领取人',
ys2lrq:'钥匙2领取人',
sssy:'所属试验',
ssbd:'所属表单',
bdssr:'表单所属人',
syr:'使用人',
lqghr:'领取/归还人',
ffjsr:'发放/接收人',
czlx:'操作类型',
czl:'操作量',
bzyy:'备注/原因',
ccsj:'操作时间',
cksj:'出库时间',
rksj:'入库时间',
jiaqian:'加签',
gyzjgl:'给药制剂管理',
ffhsjl:'发放回收记录',
}

+ 5
- 2
src/lang/zh.js View File

@ -20,6 +20,8 @@ import yq from './zh/business/resource/yq/yq'
import zcg from './zh/business/resource/zcg/zcg'
// 麻精药
import mjy from './zh/business/resource/mjy/mjy'
// 给药制剂
import gyzj from './zh/business/resource/gyzj/gyzj'
// 试剂库存
import sj from './zh/business/resource/sj/sj'
export default {
@ -100,7 +102,7 @@ export default {
template
},
business: {
zykgl: {
resource: {
zjzt: {
rk: '入库',
yff: '已发放',
@ -124,7 +126,8 @@ export default {
zcg,
mjy,
yq,
sj
sj,
gyzj
},
study: study
}

+ 85
- 0
src/lang/zh/business/resource/gyzj/gyzj.js View File

@ -0,0 +1,85 @@
export default {
mc:'名称',
bh:'编号',
jyzt:'借阅状态',
zjzt:'制剂状态',
jlzt:'记录状态',
sxrq:'失效日期',
nd:'浓度',
nddw:'浓度单位',
kcl:'库存量',
kc:'库存',
kcdw:'库存单位',
zcg:'暂存柜',
cctj:'存储条件',
ccwz:'存储位置',
cksj:'出库时间',
rksj:'入库时间',
ckjz:'出库净重',
rkjz:'入库净重',
syl:'使用量',
lqr1:'领取人1',
lqr2:'领取人2',
kgy1:'库管员1',
kgy2:'库管员2',
plff:'批量发放',
plczyj:'批量处置药剂',
plczrq:'批量处置容器',
ysff:'钥匙发放',
plsd:'批量锁定',
plgd:'批量归档',
lock:'锁定',
unlock:'解锁',
detail:'详情',
guidang:'归档',
jiedang:'解档',
jieyue:'借阅',
guihuan:'归还',
fafang:'发放',
ysff:'钥匙发放',
czrq:'处置容器',
czyj:'处置药剂',
yuanyin:'原因',
xgkc:'修改库存',
shxgkc:'审核修改库存',
shbj:'审核编辑',
clr:'处理人',
czfs:'处置方式',
fhr:'复核人',
xgbz:'修改备注',
jdr:'监督人',
xgr:'修改人',
czl:'处置量',
ffr:'发放人',
ffr1:'发放人1',
ffr2:'发放人2',
zytj:'转移条件',
md:'目的',
ckmz:'出库毛重',
ckl:'出库量',
ckldw:'出库单位',
ffzytj:'转移条件',
ckmz:'出库毛重',
ckmzdw:'出库毛重单位',
ys1lrq:'钥匙1领取人',
ys2lrq:'钥匙2领取人',
sssy:'所属试验',
ssbd:'所属表单',
bdssr:'表单所属人',
syr:'使用人',
lqghr:'领取/归还人',
ffjsr:'发放/接收人',
czlx:'操作类型',
czl:'操作量',
bzyy:'备注/原因',
ccsj:'操作时间',
cksj:'出库时间',
rksj:'入库时间',
jiaqian:'加签',
gyzjgl:'给药制剂管理',
ffhsjl:'发放回收记录',
}

+ 2
- 0
src/lang/zh/business/resource/mjy/mjy.js View File

@ -77,6 +77,8 @@ export default {
cksj:'出库时间',
rksj:'入库时间',
jiaqian:'加签',
mjygl:'麻精药管理',
ffhsjl:'发放回收记录',

+ 156
- 0
src/views/business/resource/gyzj/comps/ffjl/Gd.vue View File

@ -0,0 +1,156 @@
G<template>
<div>
<!-- 锁定弹窗 -->
<el-dialog :title="$t('page.business.resource.gyzj.lock')" :visible.sync="open" width="500px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div :style="isBatch ? 'display:block' : 'display:none'">
<el-row style="margin:10px 0px;">
<el-col :span="24">
<SelectList :value="selectList" />
</el-col>
</el-row>
</div>
<div v-if="!isBatch">
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gyzj.mc')" prop="mc">
<el-input type="text" v-model="form.mc" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gyzj.bh')" prop="glyj">
<el-input type="text" v-model="form.bh" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
</div>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">
<el-input type="text" :value="form.qmyy" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<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-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.signer')">
<el-input type="text" v-model="nickName" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<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>
import { gd, plgd } from "@/api/business/gyzj/gyzjFfjl"
import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
export default {
name: "Gd",
components: { SelectList },
data() {
return {
isBatch: false,
ids: [],
selectList: [],
open: false,
form: {},
rules: {
qmrmm: [{
required: true,
message: ' ',
trigger: 'blur'
}]
}
}
},
computed: {
...mapGetters([
'nickName'
]),
},
created() {
},
methods: {
showBatch(val) {
this.reset()
this.isBatch = true
this.form.ids = val.map(item => item.id)
this.selectList = val
this.open = true
},
cancel() {
this.open = false
},
reset() {
this.form = {
id: null,
ids: null,
mc: null,
bh: null,
qmyy: '申请归档',
qmrmm: null
}
this.resetForm("form")
},
show(row) {
this.reset()
this.isBatch = false
this.form.ids = []
this.selectList = []
this.form.id = row.id
this.form.mc = row.mc
this.form.bh = row.bh
this.open = true
},
save() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.isBatch) {
plgd(this.form).then(response => {
this.open = false
this.$emit('callback')
})
} else {
gd(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
}
})
}
}
}
</script>

+ 144
- 0
src/views/business/resource/gyzj/comps/ffjl/Jd.vue View File

@ -0,0 +1,144 @@
G<template>
<div >
<!-- 解档弹窗 -->
<el-dialog :title="$t('page.business.resource.gyzj.jiedang')" :visible.sync="open" width="500px" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gyzj.mc')" prop="mc">
<el-input type="text" v-model="form.mc" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gyzj.bh')" prop="glyj">
<el-input type="text" v-model="form.bh" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">
<el-input type="text" :value="form.qmyy" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<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-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.signer')">
<el-input type="text" v-model="nickName" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<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>
import { jd, jdBatch } from "@/api/business/gyzj/gyzjFfjl"
import { mapGetters } from 'vuex'
export default {
name: "Jd",
data() {
return {
isBatch: false,
ids: [],
selectList: [],
open: false,
form: {},
rules: {
qmrmm: [{
required: true,
message: ' ',
trigger: 'blur'
}]
}
}
},
computed: {
...mapGetters([
'nickName'
]),
},
created() {
},
methods: {
showBatch(val) {
this.reset()
this.isBatch = true
this.form.ids = val.map(item => item.id)
this.selectList = val
this.open = true
},
cancel() {
this.open = false
},
reset() {
this.form = {
id: null,
ids: null,
mc: null,
bh: null,
qmyy: '申请解档',
qmrmm: null
}
this.resetForm("form")
},
show(row) {
this.reset()
this.isBatch = false
this.form.ids = []
this.selectList = []
this.form.id = row.id
this.form.mc = row.mc
this.form.bh = row.bh
this.open = true
},
save() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.isBatch) {
jdBatch(this.form).then(response => {
this.open = false
this.$emit('callback')
})
} else {
jd(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
}
})
}
}
}
</script>

+ 123
- 0
src/views/business/resource/gyzj/comps/ffjl/Jq.vue View File

@ -0,0 +1,123 @@
G<template>
<div >
<!-- 加签弹窗 -->
<el-dialog :title="$t('page.business.resource.gyzj.jiaqian')" :visible.sync="open" width="500px" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gyzj.mc')" prop="mc">
<el-input type="text" v-model="form.mc" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gyzj.bh')" prop="glyj">
<el-input type="text" v-model="form.bh" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">
<el-input type="text" :value="form.qmyy" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<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-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.signer')">
<el-input type="text" v-model="nickName" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<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>
import { jq } from "@/api/business/gyzj/gyzjFfjl"
import { mapGetters } from 'vuex'
export default {
name: "Jq",
data() {
return {
open: false,
form: {},
rules: {
qmrmm: [{
required: true,
message: ' ',
trigger: 'blur'
}]
}
}
},
computed: {
...mapGetters([
'nickName'
]),
},
created() {
},
methods: {
cancel() {
this.open = false
},
reset() {
this.form = {
id: null,
ids: null,
mc: null,
bh: null,
qmyy: '补充说明',
qmrmm: null
}
this.resetForm("form")
},
show(row) {
this.reset()
this.form.id = row.id
this.form.mc = row.mc
this.form.bh = row.bh
this.open = true
},
save() {
this.$refs["form"].validate(valid => {
if (valid) {
jq(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
})
}
}
}
</script>

+ 123
- 0
src/views/business/resource/gyzj/comps/ffjl/Js.vue View File

@ -0,0 +1,123 @@
G<template>
<div >
<!-- 解锁弹窗 -->
<el-dialog :title="$t('page.business.resource.gyzj.unlock')" :visible.sync="open" width="500px" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gyzj.mc')" prop="mc">
<el-input type="text" v-model="form.mc" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gyzj.bh')" prop="glyj">
<el-input type="text" v-model="form.bh" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">
<el-input type="text" :value="form.qmyy" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<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-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.signer')">
<el-input type="text" v-model="nickName" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<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>
import { js } from "@/api/business/gyzj/gyzjFfjl"
import { mapGetters } from 'vuex'
export default {
name: "Js",
data() {
return {
open: false,
form: {},
rules: {
qmrmm: [{
required: true,
message: ' ',
trigger: 'blur'
}]
}
}
},
computed: {
...mapGetters([
'nickName'
]),
},
created() {
},
methods: {
cancel() {
this.open = false
},
reset() {
this.form = {
id: null,
ids: null,
mc: null,
bh: null,
qmyy: '解锁发放记录',
qmrmm: null
}
this.resetForm("form")
},
show(row) {
this.reset()
this.form.id = row.id
this.form.mc = row.mc
this.form.bh = row.bh
this.open = true
},
save() {
this.$refs["form"].validate(valid => {
if (valid) {
js(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
})
}
}
}
</script>

+ 125
- 0
src/views/business/resource/gyzj/comps/ffjl/Jy.vue View File

@ -0,0 +1,125 @@
G<template>
<div >
<!-- 借阅弹窗 -->
<el-dialog :title="$t('page.business.resource.gyzj.jieyue')" :visible.sync="open" width="500px" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gyzj.mc')" prop="mc">
<el-input type="text" v-model="form.mc" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gyzj.bh')" prop="glyj">
<el-input type="text" v-model="form.bh" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">
<el-input type="text" :value="form.qmyy" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<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-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.signer')">
<el-input type="text" v-model="nickName" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<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>
import { jy } from "@/api/business/gyzj/gyzjFfjl"
import { mapGetters } from 'vuex'
export default {
name: "Jy",
data() {
return {
open: false,
form: {},
rules: {
qmrmm: [{
required: true,
message: ' ',
trigger: 'blur'
}]
}
}
},
computed: {
...mapGetters([
'nickName'
]),
},
created() {
},
methods: {
cancel() {
this.open = false
},
reset() {
this.form = {
id: null,
ids: null,
mc: null,
bh: null,
qmyy: '申请借阅',
qmrmm: null
}
this.resetForm("form")
},
show(row) {
this.reset()
this.form.id = row.id
this.form.mc = row.mc
this.form.bh = row.bh
this.open = true
},
save() {
this.$refs["form"].validate(valid => {
if (valid) {
jy(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
})
}
}
}
</script>

+ 156
- 0
src/views/business/resource/gyzj/comps/ffjl/Sd.vue View File

@ -0,0 +1,156 @@
G<template>
<div>
<!-- 锁定弹窗 -->
<el-dialog :title="$t('page.business.resource.gyzj.lock')" :visible.sync="open" width="500px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div :style="isBatch ? 'display:block' : 'display:none'">
<el-row style="margin:10px 0px;">
<el-col :span="24">
<SelectList :value="selectList" />
</el-col>
</el-row>
</div>
<div v-if="!isBatch">
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gyzj.mc')" prop="mc">
<el-input type="text" v-model="form.mc" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gyzj.bh')" prop="glyj">
<el-input type="text" v-model="form.bh" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
</div>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">
<el-input type="text" :value="form.qmyy" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<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-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.signer')">
<el-input type="text" v-model="nickName" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<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>
import { sd, plsd } from "@/api/business/gyzj/gyzjFfjl"
import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
export default {
name: "Sd",
components: { SelectList },
data() {
return {
isBatch: false,
ids: [],
selectList: [],
open: false,
form: {},
rules: {
qmrmm: [{
required: true,
message: ' ',
trigger: 'blur'
}]
}
}
},
computed: {
...mapGetters([
'nickName'
]),
},
created() {
},
methods: {
showBatch(val) {
this.reset()
this.isBatch = true
this.form.ids = val.map(item => item.id)
this.selectList = val
this.open = true
},
cancel() {
this.open = false
},
reset() {
this.form = {
id: null,
ids: null,
mc: null,
bh: null,
qmyy: '锁定发放记录',
qmrmm: null
}
this.resetForm("form")
},
show(row) {
this.reset()
this.isBatch = false
this.form.ids = []
this.selectList = []
this.form.id = row.id
this.form.mc = row.mc
this.form.bh = row.bh
this.open = true
},
save() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.isBatch) {
plsd(this.form).then(response => {
this.open = false
this.$emit('callback')
})
} else {
sd(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
}
})
}
}
}
</script>

+ 56
- 0
src/views/business/resource/gyzj/comps/ffjl/SelectList.vue View File

@ -0,0 +1,56 @@
G<template>
<div class="app-container">
<el-table :data="selectList" border>
<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.jlzt')" align="center" width="100px" fixed="right">
<template slot-scope="scope">
<span v-if="scope.row.jlzt == 1">{{ $t('page.business.resource.jlzt.wsd') }}</span>
<span v-if="scope.row.jlzt == 3">{{ $t('page.business.resource.jlzt.ysd') }}</span>
<span v-if="scope.row.jlzt == 5">{{ $t('page.business.resource.jlzt.dgd') }}</span>
<span v-if="scope.row.jlzt == 7">{{ $t('page.business.resource.jlzt.gd') }}</span>
<span v-if="scope.row.jlzt == 9">{{ $t('page.business.resource.jlzt.djd') }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gyzj.jyzt')" align="center" width="100px" fixed="right">
<template slot-scope="scope">
<span v-if="scope.row.jyzt == 1">{{ $t('page.business.resource.jyzt.wjy') }}</span>
<span v-if="scope.row.jyzt == 3">{{ $t('page.business.resource.jyzt.djy') }}</span>
<span v-if="scope.row.jyzt == 5">{{ $t('page.business.resource.jyzt.jyz') }}</span>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
export default {
name: "SelectList",
data() {
return {
selectList: []
}
},
props: {
value: {
type: Array,
default: () => []
}
},
watch: {
value: {
immediate: true,
handler(v) {
this.selectList = v || []
}
},
},
created() {
},
methods: {
}
}
</script>

+ 203
- 0
src/views/business/resource/gyzj/comps/ffjl/Xq.vue View File

@ -0,0 +1,203 @@
<template>
<!-- 详情 -->
<div class="detail-container">
<div class="detail-top">
<div class="left-top">
<img src="@/assets/images/back.png" @click="cancel()" />
<div class="left-title"></div>
</div>
<div class="right-top">
<el-button @click="cancel()">{{ $t('page.business.study.cancel') }}</el-button>
<el-button @click="exportExcel()">{{ $t('form.export') }}</el-button>
</div>
</div>
<div class="detail-content">
<div class="content-left">
<div class="content-title">
<div class="line"></div>
<div class="subtitle"> 基本信息</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gyzj.mc') }}</div>
<el-input type="text" :value="form.mc" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gyzj.bh') }}</div>
<el-input type="text" :value="form.bh" maxlength="50" disabled />
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gyzj.jlzt') }}</div>
<el-select v-model="form.jlzt" disabled style="width: 100%;">
<el-option :label="$t('page.business.resource.jlzt.wsd')" :value="1" />
<el-option :label="$t('page.business.resource.jlzt.ysd')" :value="3" />
<el-option :label="$t('page.business.resource.jlzt.dgd')" :value="5" />
<el-option :label="$t('page.business.resource.jlzt.gd')" :value="7" />
<el-option :label="$t('page.business.resource.jlzt.djd')" :value="9" />
</el-select>
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gyzj.jyzt') }}</div>
<el-select v-model="form.jyzt" disabled style="width: 100%;">
<el-option :label="$t('page.business.resource.jyzt.wjy')" :value="1" />
<el-option :label="$t('page.business.resource.jyzt.djy')" :value="3" />
<el-option :label="$t('page.business.resource.jyzt.jyz')" :value="5" />
</el-select>
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gyzj.zcg') }}</div>
<el-input type="text" :value="form.zcgMc" maxlength="50" disabled />
</div>
</div>
<div class="content-title">
<div class="line"></div>
<div class="subtitle"> 发放信息</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gyzj.md') }}</div>
<el-input type="text" :value="form.mdMc" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gyzj.zytj') }}</div>
<el-input type="text" :value="form.ffzytj" maxlength="50" disabled />
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gyzj.cksj') }}</div>
<el-input type="text" :value="form.ffrq" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gyzj.ckjz') }}</div>
<el-input type="text" :value="form.ckl" maxlength="50" disabled> <template slot="append">{{ form.ckldw
}}</template>
</el-input>
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gyzj.lqr1') }}</div>
<el-input type="text" :value="form.lqr1Mc" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gyzj.lqr2') }}</div>
<el-input type="text" :value="form.lqr2Mc" maxlength="50" disabled />
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gyzj.kgy1') }}</div>
<el-input type="text" :value="form.kgy1Mc" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gyzj.kgy2') }}</div>
<el-input type="text" :value="form.kgy2Mc" maxlength="50" disabled />
</div>
</div>
<div class="content-title">
<div class="line"></div>
<div class="subtitle"> 归还信息</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gyzj.rksj') }}</div>
<el-input type="text" :value="form.ghrq" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gyzj.rkjz') }}</div>
<el-input type="text" :value="form.rkl" maxlength="50" disabled> <template slot="append">{{ form.rkldw
}}</template>
</el-input>
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gyzj.syl') }}</div>
<el-input type="text" :value="form.syl" maxlength="50" disabled> <template slot="append">{{ form.syldw
}}</template>
</el-input>
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gyzj.zytj') }}</div>
<el-input type="text" :value="form.ghzytj" maxlength="50" disabled />
</div>
</div>
</div>
<div class="content-right">
<div class="content-title">
<div class="line"></div>
<div class="subtitle"> 稽查轨迹日志</div>
</div>
<jcgjList ref="jcgjList" @handleQuery="jcgjListHandleQuery" />
<pagination v-show="jcgjTotal > 0" small layout="prev, pager, next" :total="jcgjTotal"
@pagination="getJjcgjList" />
</div>
</div>
</div>
</template>
<script>
import { info, jcgjList } from "@/api/business/gyzj/gyzjFfjl"
import JcgjList from "@/views/business/comps/common/JcgjList";
export default {
name: "Xq",
components: { JcgjList },
data() {
return {
form: {},
jcgjTotal: 0,
jcgjList: [],
open: false,
queryJcgjParams: {
pageNum: 1,
ffjlId: null,
pageSize: 10,
}
}
},
created() {
},
methods: {
exportExcel() {
alert('todo')
},
cancel() {
this.open = false
this.$emit('callback')
},
jcgjListHandleQuery(val) {
this.$modal.loading()
jcgjList(_.merge({}, this.queryJcgjParams, val)).then(response => {
this.jcgjList = response.rows
this.jcgjTotal = response.total
this.$refs.jcgjList.init(this.jcgjList)
this.$modal.closeLoading()
})
},
getJjcgjList() {
jcgjList(this.queryJcgjParams).then(response => {
this.jcgjList = response.rows
this.jcgjTotal = response.total
this.$refs.jcgjList.init(this.jcgjList)
this.$modal.closeLoading()
})
},
show(row) {
this.$modal.loading()
this.queryJcgjParams.ffjlId = row.id
info({ id: row.id }).then(response => {
this.form = response.data
this.open = true
this.getJjcgjList()
})
}
}
}
</script>

+ 331
- 0
src/views/business/resource/gyzj/comps/ffjlList.vue View File

@ -0,0 +1,331 @@
<template>
<div>
<div>
<!-- 列表 -->
<div class="app-container" 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 @change="handleQuery"
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
<!-- 编号 -->
<el-form-item :label="$t('page.business.resource.gyzj.bh') + ':'">
<el-input v-model="queryParams.bh" clearable @change="handleQuery"
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
<!-- 目的 -->
<el-form-item :label="$t('page.business.resource.gyzj.md') + ':'">
<el-input v-model="queryParams.mdId" clearable @change="handleQuery"
: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
@change="handleQuery">
<el-option :label="$t('page.business.resource.jlzt.wsd')" :value="1" />
<el-option :label="$t('page.business.resource.jlzt.ysd')" :value="3" />
<el-option :label="$t('page.business.resource.jlzt.dgd')" :value="5" />
<el-option :label="$t('page.business.resource.jlzt.gd')" :value="7" />
<el-option :label="$t('page.business.resource.jlzt.djd')" :value="9" />
</el-select>
</el-form-item>
<!-- 借阅状态 -->
<el-form-item :label="$t('page.business.resource.gyzj.jyzt') + ':'">
<el-select v-model="queryParams.jyzt" :placeholder="$t('form.placeholderSelect')" clearable
@change="handleQuery">
<el-option :label="$t('page.business.resource.jyzt.wjy')" :value="1" />
<el-option :label="$t('page.business.resource.jyzt.djy')" :value="3" />
<el-option :label="$t('page.business.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') + ':'">
<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') + ':'">
<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" :disabled="multiple" @click="handleDc"
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.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.md')" align="center" prop="mdMc"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gyzj.zytj')" align="center" prop="ffzytj"
:show-overflow-tooltip="true" />
<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.ckjz')" align="center" width="150px">
<template slot-scope="scope">
{{ scope.row.ckl }} {{ scope.row.ckldw }}
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gyzj.rkjz')" align="center" width="150px">
<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="150px">
<template slot-scope="scope">
{{ scope.row.syl }} {{ scope.row.syldw }}
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gyzj.lqr1')" align="center" prop="lqr1Mc"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gyzj.lqr2')" align="center" prop="lqr2Mc"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gyzj.kgy1')" align="center" prop="kgy1Mc"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gyzj.kgy2')" align="center" prop="kgy2Mc"
: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">{{ $t('page.business.resource.jlzt.wsd') }}</span>
<span v-if="scope.row.jlzt == 3">{{ $t('page.business.resource.jlzt.ysd') }}</span>
<span v-if="scope.row.jlzt == 5">{{ $t('page.business.resource.jlzt.dgd') }}</span>
<span v-if="scope.row.jlzt == 7">{{ $t('page.business.resource.jlzt.gd') }}</span>
<span v-if="scope.row.jlzt == 9">{{ $t('page.business.resource.jlzt.djd') }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gyzj.jyzt')" align="center" width="100px" fixed="right">
<template slot-scope="scope">
<span v-if="scope.row.jyzt == 1">{{ $t('page.business.resource.jyzt.wjy') }}</span>
<span v-if="scope.row.jyzt == 3">{{ $t('page.business.resource.jyzt.djy') }}</span>
<span v-if="scope.row.jyzt == 5">{{ $t('page.business.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.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>
<!-- 锁定 -->
<Sd key="Sd" ref="Sd" @callback="handleQuery" />
<!-- 解锁 -->
<Js key="Js" ref="Js" @callback="handleQuery" />
<!-- 归档 -->
<Gd key="Gd" ref="Gd" @callback="handleQuery" />
<!-- 解档 -->
<Jd key="Jd" ref="Jd" @callback="handleQuery" />
<!-- 借阅 -->
<Jy key="Jy" ref="Jy" @callback="handleQuery" />
<!-- 借阅 -->
<Xq key="Xq" v-show="showDetail" ref="Xq" @callback="closeXq"/>
<!-- 加签 -->
<Jq key="Jq" ref="Jq" @callback="handleQuery" />
</div>
</div>
</template>
<script>
import { list } from "@/api/business/gyzj/gyzjFfjl"
import Sd from "./ffjl/Sd";
import Jy from "./ffjl/Jy";
import Js from "./ffjl/Js";
import Gd from "./ffjl/Gd";
import Jd from "./ffjl/Jd";
import Xq from "./ffjl/Xq";
import Jq from "./ffjl/Jq";
export default {
name: "FfjlList",
components: { Sd, Js, Gd, Jd, Jy, Xq, Jq },
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: {
//
handleDc() {
},
//
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.handleQuery()
},
//
handleXq(row) {
this.showDetail=true
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.resetForm("queryForm")
this.handleQuery()
},
//
handleSelectionChange(selection) {
this.single = selection.length !== 1
this.multiple = !selection.length
this.selectList = selection
}
}
}
</script>

+ 196
- 0
src/views/business/resource/gyzj/comps/gyzj/Bj.vue View File

@ -0,0 +1,196 @@
G<template>
<div>
<!-- 编辑弹窗 -->
<el-dialog :title="$t('form.edit')" :visible.sync="open" width="800px" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.mc')" prop="mc">
<el-input type="text" v-model="form.mc" maxlength="50" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.bh')" prop="glyj">
<el-input type="text" v-model="form.bh" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.nd')" prop="nd">
<el-input type="number" v-model="form.nd" maxlength="50" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.nddw')" prop="nddw">
<el-input type="text" v-model="form.nddw" maxlength="50" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.sxrq')" prop="sxrq">
<el-input type="text" v-model="form.sxrq" maxlength="50" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.cctj')" prop="cctj">
<el-input type="text" v-model="form.cctj" maxlength="50" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.ccwz')" prop="ccwz">
<el-input type="text" v-model="form.ccwz" maxlength="50" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">
<el-input type="text" :value="form.qmyy" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('form.signer')">
<el-input type="text" v-model="nickName" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<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-row>
<el-col :span="24">
<el-form-item :label="$t('form.remark')" prop="bjbz">
<el-input type="textarea" v-model="form.bjbz" :rows="2" maxlength="500"
:placeholder="$t('form.placeholderInput')">
</el-input>
</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>
import { bj } from "@/api/business/gyzj/gyzj"
import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
export default {
name: "Bj",
components: { SelectList },
data() {
return {
open: false,
form: {},
rules: {
mc: [{
required: true,
message: ' ',
trigger: 'blur'
}],
bh: [{
required: true,
message: ' ',
trigger: 'blur'
}],
nd: [{
required: true,
message: ' ',
trigger: 'blur'
}],
nddw: [{
required: true,
message: ' ',
trigger: 'blur'
}],
sxrq: [{
required: true,
message: ' ',
trigger: 'blur'
}],
cctj: [{
required: true,
message: ' ',
trigger: 'blur'
}],
ccwz: [{
required: true,
message: ' ',
trigger: 'blur'
}],
qmrmm: [{
required: true,
message: ' ',
trigger: 'blur'
}],
}
}
},
computed: {
...mapGetters([
'nickName'
]),
},
created() {
},
methods: {
cancel() {
this.open = false
},
reset() {
this.form = {
id: null,
mc: null,
bh: null,
nd: null,
nddw: null,
sxrq: null,
cctj: null,
ccwz: null,
qmrmm: null,
qmyy: '编辑',
bjbz: ''
}
this.resetForm("form")
},
show(row) {
this.reset()
this.form.id = row.id
this.form.mc = row.mc
this.form.bh = row.bh
this.form.nd = row.nd
this.form.nddw = row.nddw
this.form.sxrq= row.sxrq
this.form.cctj = row.cctj
this.form.ccwz = row.ccwz
this.open = true
},
save() {
this.$refs["form"].validate(valid => {
if (valid) {
bj(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
})
}
}
}
</script>

+ 274
- 0
src/views/business/resource/gyzj/comps/gyzj/Czrq.vue View File

@ -0,0 +1,274 @@
G<template>
<div>
<!-- 处置容器弹窗 -->
<el-dialog :title="$t('page.business.resource.gyzj.czrq')" :visible.sync="open" width="1200px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div :style="isBatch?'display:block':'display:none'">
<el-row style="margin:10px 0px;">
<el-col :span="24">
<el-table :data="selectList" border>
<el-table-column :label="$t('page.business.resource.gyzj.mc')" align="left" prop="mc"
:show-overflow-tooltip="true" width="120px" />
<el-table-column :label="$t('page.business.resource.gyzj.bh')" align="left" prop="bh"
:show-overflow-tooltip="true" width="120px" />
<el-table-column :label="$t('page.business.resource.gyzj.czfs')" align="center" width="250px">
<template slot-scope="scope">
<el-input type="text" v-model="scope.row.czfs" maxlength="50"
:placeholder="$t('form.placeholderInput')" />
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gyzj.yuanyin')" align="center">
<template slot-scope="scope">
<el-input type="text" v-model="scope.row.czyy" maxlength="50"
:placeholder="$t('form.placeholderInput')" />
</template>
</el-table-column>
<el-table-column :label="$t('form.operate')" align="center" width="150px">
<template slot-scope="scope">
<el-button type="text" @click="handleSc(scope.row)">{{
$t('form.delete') }}</el-button>
</template>
</el-table-column>
</el-table>
</el-col>
</el-row>
</div>
<div v-if="!isBatch">
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.mc')" prop="mc">
<el-input type="text" v-model="form.mc" maxlength="50" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.bh')" prop="glyj">
<el-input type="text" v-model="form.bh" maxlength="50" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.czfs')" prop="czfs">
<el-input type="text" v-model="form.czfs" maxlength="50" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gyzj.yuanyin')" prop="czyy">
<el-input type="textarea" v-model="form.czyy" :rows="2" maxlength="500"
:placeholder="$t('form.placeholderInput')">
</el-input>
</el-form-item>
</el-col>
</el-row>
</div>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.clr')">
<el-input type="text" v-model="nickName" maxlength="50" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('form.password')" prop="clrmm">
<el-input type="password" v-model="form.clrmm" maxlength="20" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.fhr')" prop="fhrId">
<SelectDeptUser v-model="form.fhrId" key="jdrId"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('form.password')" prop="fhrmm">
<el-input type="password" v-model="form.fhrmm" maxlength="20" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.jdr')" prop="jdrId">
<SelectDeptUser v-model="form.jdrId" key="jdrId"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('form.password')" prop="jdrmm">
<el-input type="password" v-model="form.jdrmm" maxlength="20" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">
<el-input type="text" v-model="form.qmyy" maxlength="20" disabled />
</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>
import { czrq, plczrq } from "@/api/business/gyzj/gyzj"
import { mapGetters } from 'vuex'
import SelectDeptUser from '@/views/business/comps/select/SelectDeptUser';
export default {
name: "Bj",
components: { SelectDeptUser },
data() {
return {
isBatch: false,
ids: [],
selectList: [],
open: false,
form: {},
rules: {
czyy: [{
required: true,
message: ' ',
trigger: 'blur'
}],
czfs: [{
required: true,
message: ' ',
trigger: 'blur'
}],
clrId: [{
required: true,
message: ' ',
trigger: 'blur'
}],
fhrId: [{
required: true,
message: ' ',
trigger: 'blur'
}],
jdrId: [{
required: true,
message: ' ',
trigger: 'blur'
}],
clrmm: [{
required: true,
message: ' ',
trigger: 'blur'
}],
fhrmm: [{
required: true,
message: ' ',
trigger: 'blur'
}],
jdrmm: [{
required: true,
message: ' ',
trigger: 'blur'
}]
}
}
},
computed: {
...mapGetters([
'nickName'
]),
},
created() {
},
methods: {
handleSc(row) {
const that = this
this.$modal.confirm(this.$t('form.confirmDelete')).then(function () {
return delDept(row.deptId)
}).then(() => {
const _index = _.findIndex(that.selectList, function (o) { return o.id === row.id })
if (_index > -1) {
that.selectList.splice(_index, 1)
that.form.ids = that.selectList.map(item => item.id)
}
}).catch(() => { })
},
showBatch(val) {
this.reset()
this.isBatch = true
this.selectList = []
this.form.ids = val.map(item => item.id)
let tmp = []
_.forEach(val, function (item) {
tmp.push({
id: item.id,
mc: item.mc,
bh: item.bh,
czyy: null,
czfs: null,
})
})
this.selectList = tmp
this.open = true
},
cancel() {
this.open = false
},
reset() {
this.form = {
id: null,
ids: [],
mc: null,
bh: null,
czyy: null,
czfs: null,
clrId: null,
fhrId: null,
jdrId: null,
qmyy: '处置容器',
qmrmm: null
}
this.resetForm("form")
},
show(row) {
this.reset()
this.isBatch = false
this.form.ids = []
this.selectList = []
this.form.id = row.id
this.form.mc = row.mc
this.form.bh = row.bh
this.open = true
},
save() {
this.$refs["form"].validate(valid => {
if (valid) {
let params = this.form
if (this.isBatch) {
params.list = this.selectList
if (this.selectList.length <= 0) {
this.$modal.msgError("请选择要操作的麻精药")
} else {
plczrq(params).then(response => {
this.open = false
this.$emit('callback')
})
}
} else {
czrq(params).then(response => {
this.open = false
this.$emit('callback')
})
}
}
})
}
}
}
</script>

+ 297
- 0
src/views/business/resource/gyzj/comps/gyzj/Czyj.vue View File

@ -0,0 +1,297 @@
G<template>
<div>
<!-- 处置药剂弹窗 -->
<el-dialog :title="$t('page.business.resource.gyzj.czyj')" :visible.sync="open" width="1200px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div :style="isBatch?'display:block':'display:none'">
<el-row style="margin:10px 0px;">
<el-col :span="24">
<el-table :data="selectList" border>
<el-table-column :label="$t('page.business.resource.gyzj.mc')" align="left" prop="mc"
:show-overflow-tooltip="true" width="120px" />
<el-table-column :label="$t('page.business.resource.gyzj.bh')" align="left" prop="bh"
:show-overflow-tooltip="true" width="120px" />
<el-table-column :label="$t('page.business.resource.gyzj.czfs')" align="center" width="250px">
<template slot-scope="scope">
<el-input type="text" v-model="scope.row.czfs" maxlength="50"
:placeholder="$t('form.placeholderInput')" />
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gyzj.yuanyin')" align="center">
<template slot-scope="scope">
<el-input type="text" v-model="scope.row.czyy" maxlength="50"
:placeholder="$t('form.placeholderInput')" />
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gyzj.czl')" align="center">
<template slot-scope="scope">
<el-input type="text" v-model="scope.row.czl" maxlength="50"
:placeholder="$t('form.placeholderInput')"> <template slot="append">{{ scope.row.kcdw }}</template>
</el-input>
</template>
</el-table-column>
<el-table-column :label="$t('form.operate')" align="center" width="150px">
<template slot-scope="scope">
<el-button type="text" @click="handleSc(scope.row)">{{
$t('form.delete') }}</el-button>
</template>
</el-table-column>
</el-table>
</el-col>
</el-row>
</div>
<div v-if="!isBatch">
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.mc')" prop="mc">
<el-input type="text" v-model="form.mc" maxlength="50" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.bh')" prop="glyj">
<el-input type="text" v-model="form.bh" maxlength="50" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.czfs')" prop="czfs">
<el-input type="text" v-model="form.czfs" maxlength="50" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.czl')" prop="czl">
<el-input-number type="text" v-model="form.czl" maxlength="50" :placeholder="$t('form.placeholderInput')" > <template slot="append">{{ form.kcdw }}</template>
</el-input-number>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gyzj.yuanyin')" prop="czyy">
<el-input type="textarea" v-model="form.czyy" :rows="2" maxlength="500"
:placeholder="$t('form.placeholderInput')">
</el-input>
</el-form-item>
</el-col>
</el-row>
</div>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.clr')">
<el-input type="text" v-model="nickName" maxlength="50" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('form.password')" prop="clrmm">
<el-input type="password" v-model="form.clrmm" maxlength="20" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.fhr')" prop="fhrId">
<SelectDeptUser v-model="form.fhrId" key="fhrId"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('form.password')" prop="fhrmm">
<el-input type="password" v-model="form.fhrmm" maxlength="20" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.jdr')" prop="jdrId">
<SelectDeptUser v-model="form.jdrId" key="jdrId"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('form.password')" prop="jdrmm">
<el-input type="password" v-model="form.jdrmm" maxlength="20" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">
<el-input type="text" v-model="form.qmyy" maxlength="20" disabled />
</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>
import { czyj, plczyj } from "@/api/business/gyzj/gyzj"
import { mapGetters } from 'vuex'
import SelectDeptUser from '@/views/business/comps/select/SelectDeptUser';
export default {
name: "Czyj",
components: { SelectDeptUser },
data() {
return {
isBatch: false,
ids: [],
selectList: [],
open: false,
form: {},
rules: {
czyy: [{
required: true,
message: ' ',
trigger: 'blur'
}],
czfs: [{
required: true,
message: ' ',
trigger: 'blur'
}],
czl: [{
required: true,
message: ' ',
trigger: 'blur'
}],
clrId: [{
required: true,
message: ' ',
trigger: 'blur'
}],
fhrId: [{
required: true,
message: ' ',
trigger: 'blur'
}],
jdrId: [{
required: true,
message: ' ',
trigger: 'blur'
}],
clrmm: [{
required: true,
message: ' ',
trigger: 'blur'
}],
fhrmm: [{
required: true,
message: ' ',
trigger: 'blur'
}],
jdrmm: [{
required: true,
message: ' ',
trigger: 'blur'
}]
}
}
},
computed: {
...mapGetters([
'nickName'
]),
},
created() {
},
methods: {
handleSc(row) {
const that = this
this.$modal.confirm(this.$t('form.confirmDelete')).then(function () {
return delDept(row.deptId)
}).then(() => {
const _index = _.findIndex(that.selectList, function (o) { return o.id === row.id })
if (_index > -1) {
that.selectList.splice(_index, 1)
that.form.ids = that.selectList.map(item => item.id)
}
}).catch(() => { })
},
showBatch(val) {
this.reset()
this.isBatch = true
this.selectList = []
this.form.ids = val.map(item => item.id)
let tmp = []
_.forEach(val, function (item) {
tmp.push({
id: item.id,
mc: item.mc,
bh: item.bh,
kcdw: item.kcdw,
czyy: null,
czl: null,
czfs: null,
})
})
this.selectList = tmp
this.open = true
},
cancel() {
this.open = false
},
reset() {
this.form = {
id: null,
ids: null,
mc: null,
bh: null,
czyy: null,
kcdw: null,
czfs: null,
clrId: null,
fhrId: null,
jdrId: null,
czl: null,
qmyy: '处置药剂',
qmrmm: null
}
this.resetForm("form")
},
show(row) {
this.reset()
this.isBatch = false
this.form.ids = []
this.selectList = []
this.form.id = row.id
this.form.mc = row.mc
this.form.bh = row.bh
this.form.kcdw = row.kcdw
this.open = true
},
save() {
this.$refs["form"].validate(valid => {
if (valid) {
let params = this.form
if (this.isBatch) {
params.list = this.selectList
if (this.selectList.length <= 0) {
this.$modal.msgError("请选择要操作的麻精药")
} else {
plczyj(params).then(response => {
this.open = false
this.$emit('callback')
})
}
} else {
czyj(params).then(response => {
this.open = false
this.$emit('callback')
})
}
}
})
}
}
}
</script>

+ 364
- 0
src/views/business/resource/gyzj/comps/gyzj/Ff.vue View File

@ -0,0 +1,364 @@
G<template>
<div>
<!-- 发放弹窗 -->
<el-dialog :title="$t('page.business.resource.gyzj.fafang')" :visible.sync="open" width="1200px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div :style="isBatch ? 'display:block' : 'display:none'">
<el-row style="margin:10px 0px;">
<el-col :span="24">
<el-table :data="selectList" border>
<el-table-column :label="$t('page.business.resource.gyzj.mc')" align="left" prop="mc"
:show-overflow-tooltip="true" width="120px" />
<el-table-column :label="$t('page.business.resource.gyzj.bh')" align="left" prop="bh"
:show-overflow-tooltip="true" width="120px" />
<el-table-column :label="$t('page.business.resource.gyzj.zytj')" align="center" width="250px">
<template slot-scope="scope">
<el-input type="text" v-model="scope.row.zytj" maxlength="50"
:placeholder="$t('form.placeholderInput')" />
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gyzj.ckmz')" align="center" width="250px">
<template slot-scope="scope">
<el-input type="text" v-model="scope.row.ckmz" maxlength="50"
:placeholder="$t('form.placeholderInput')"><template slot="append">{{ scope.row.ckmzdw }}</template>
</el-input>
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gyzj.md')" align="center" width="250px">
<template slot-scope="scope">
<el-input type="text" v-model="scope.row.xmId" maxlength="50"
:placeholder="$t('form.placeholderInput')" />
</template>
</el-table-column>
<el-table-column :label="$t('form.remark')" align="center" width="250px">
<template slot-scope="scope">
<el-input type="text" v-model="scope.row.remark" maxlength="50"
:placeholder="$t('form.placeholderInput')" />
</template>
</el-table-column>
<el-table-column :label="$t('form.operate')" align="center" width="100px" fixed="right">
<template slot-scope="scope">
<el-button type="text" @click="handleSc(scope.row)">{{
$t('form.delete') }}</el-button>
</template>
</el-table-column>
</el-table>
</el-col>
</el-row>
</div>
<div v-if="!isBatch">
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gyzj.mc')" prop="mc">
<el-input type="text" v-model="form.mc" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gyzj.bh')" prop="glyj">
<el-input type="text" v-model="form.bh" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.zytj')" prop="zytj">
<el-input type="text" v-model="form.zytj" maxlength="50" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.ckmz')" prop="ckmz">
<el-input type="number" v-model="form.ckmz" maxlength="20" :placeholder="$t('form.placeholderInput')">
<template slot="append">{{ form.ckmzdw }}</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gyzj.md')" prop="xmId">
<el-input type="text" v-model="form.xmId" maxlength="50" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<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-row>
</div>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.lqr1')" prop="lqr1Id">
<SelectDeptUser v-model="form.lqr1Id" key="lqr1Id"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('form.password')" prop="lqr1mm">
<el-input type="password" v-model="form.lqr1mm" maxlength="20"
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.lqr2')" prop="lqr2Id">
<SelectDeptUser v-model="form.lqr2Id" key="lqr2Id"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('form.password')" prop="lqr2mm">
<el-input type="password" v-model="form.lqr2mm" maxlength="20"
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.ffr1')" prop="ffr1Id">
<SelectDeptUser v-model="form.ffr1Id" key="ffr1Id"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('form.password')" prop="ffr1mm">
<el-input type="password" v-model="form.ffr1mm" maxlength="20"
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.ffr2')" prop="ffr2Id">
<SelectDeptUser v-model="form.ffr2Id" key="ffr2Id"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('form.password')" prop="ffr2mm">
<el-input type="password" v-model="form.ffr2mm" maxlength="20"
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">
<el-input type="text" :value="form.qmyy" maxlength="50" disabled
: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>
import { ff, plff } from "@/api/business/gyzj/gyzj"
import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
import SelectDeptUser from '@/views/business/comps/select/SelectDeptUser';
export default {
name: "Ff",
components: { SelectList,SelectDeptUser },
data() {
return {
isBatch: false,
ids: [],
selectList: [],
open: false,
form: {},
rules: {
ffr2mm: [{
required: true,
message: ' ',
trigger: 'blur'
}],
ffr2Id: [{
required: true,
message: ' ',
trigger: 'blur'
}],
ffr1mm: [{
required: true,
message: ' ',
trigger: 'blur'
}],
ffr1Id: [{
required: true,
message: ' ',
trigger: 'blur'
}],
lqr2mm: [{
required: true,
message: ' ',
trigger: 'blur'
}],
lqr1mm: [{
required: true,
message: ' ',
trigger: 'blur'
}],
lqr2Id: [{
required: true,
message: ' ',
trigger: 'blur'
}],
lqr1Id: [{
required: true,
message: ' ',
trigger: 'blur'
}],
xmId: [{
required: true,
message: ' ',
trigger: 'blur'
}],
ckmzdw: [{
required: true,
message: ' ',
trigger: 'blur'
}],
qmrmm: [{
required: true,
message: ' ',
trigger: 'blur'
}],
ckmz: [{
required: true,
message: ' ',
trigger: 'blur'
}],
xmId: [{
required: true,
message: ' ',
trigger: 'blur'
}],
zytj: [{
required: true,
message: ' ',
trigger: 'blur'
}]
}
}
},
computed: {
...mapGetters([
'nickName'
]),
},
created() {
},
methods: {
handleSc(row) {
const that = this
this.$modal.confirm(this.$t('form.confirmDelete')).then(function () {
return delDept(row.deptId)
}).then(() => {
const _index = _.findIndex(that.selectList, function (o) { return o.id === row.id })
if (_index > -1) {
that.selectList.splice(_index, 1)
that.form.ids = that.selectList.map(item => item.id)
}
}).catch(() => { })
},
showBatch(val) {
this.reset()
this.isBatch = true
this.form.ids = val.map(item => item.id)
let tmp = []
_.forEach(val, function (item) {
tmp.push({
id: item.id,
mc: item.mc,
bh: item.bh,
ckmzdw: item.kcdw,
zytj: null,
ckmz: null,
xmId: null,
remark: null,
})
})
this.selectList = tmp
this.open = true
},
cancel() {
this.open = false
},
reset() {
this.form = {
id: null,
ids: null,
mc: null,
bh: null,
ckmzdw: null,
zytj: null,
xmId: null,
ckmz: null,
lqr1Id: null,
lqr2Id: null,
lqr1mm: null,
lqr2mm: null,
ffr1Id: null,
ffr1mm: null,
ffr2Id: null,
ffr2mm: null,
xmId: null,
qmyy: '领取发放',
qmrmm: null,
remark: null
}
this.resetForm("form")
},
show(row) {
this.reset()
this.isBatch = false
this.form.ids = []
this.selectList = []
this.form.id = row.id
this.form.mc = row.mc
this.form.bh = row.bh
this.form.ckmzdw = row.kcdw
this.open = true
},
save() {
this.$refs["form"].validate(valid => {
if (valid) {
let params = this.form
if (this.isBatch) {
params.list = this.selectList
if (this.selectList.length <= 0) {
this.$modal.msgError("请选择要操作的麻精药")
} else {
plff(params).then(response => {
this.open = false
this.$emit('callback')
})
}
} else {
ff(params).then(response => {
this.open = false
this.$emit('callback')
})
}
}
})
}
}
}
</script>

+ 156
- 0
src/views/business/resource/gyzj/comps/gyzj/Gd.vue View File

@ -0,0 +1,156 @@
G<template>
<div>
<!-- 归档弹窗 -->
<el-dialog :title="$t('page.business.resource.gyzj.guidang')" :visible.sync="open" width="500px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div :style="isBatch ? 'display:block' : 'display:none'">
<el-row style="margin:10px 0px;">
<el-col :span="24">
<SelectList :value="selectList" />
</el-col>
</el-row>
</div>
<div v-if="!isBatch">
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gyzj.mc')" prop="mc">
<el-input type="text" v-model="form.mc" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gyzj.bh')" prop="glyj">
<el-input type="text" v-model="form.bh" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
</div>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">
<el-input type="text" :value="form.qmyy" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<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-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.signer')">
<el-input type="text" v-model="nickName" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<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>
import { gd, plgd } from "@/api/business/gyzj/gyzj"
import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
export default {
name: "Gd",
components: { SelectList },
data() {
return {
isBatch: false,
ids: [],
selectList: [],
open: false,
form: {},
rules: {
qmrmm: [{
required: true,
message: ' ',
trigger: 'blur'
}]
}
}
},
computed: {
...mapGetters([
'nickName'
]),
},
created() {
},
methods: {
showBatch(val) {
this.reset()
this.isBatch = true
this.form.ids = val.map(item => item.id)
this.selectList = val
this.open = true
},
cancel() {
this.open = false
},
reset() {
this.form = {
id: null,
ids: null,
mc: null,
bh: null,
qmyy: '申请归档',
qmrmm: null
}
this.resetForm("form")
},
show(row) {
this.reset()
this.isBatch = false
this.form.ids = []
this.selectList = []
this.form.id = row.id
this.form.mc = row.mc
this.form.bh = row.bh
this.open = true
},
save() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.isBatch) {
plgd(this.form).then(response => {
this.open = false
this.$emit('callback')
})
} else {
gd(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
}
})
}
}
}
</script>

+ 129
- 0
src/views/business/resource/gyzj/comps/gyzj/Gh.vue View File

@ -0,0 +1,129 @@
G<template>
<div>
<!-- 归还弹窗 -->
<el-dialog :title="$t('page.business.resource.gyzj.guihuan')" :visible.sync="open" width="500px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gyzj.mc')" prop="mc">
<el-input type="text" v-model="form.mc" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gyzj.bh')" prop="glyj">
<el-input type="text" v-model="form.bh" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">
<el-input type="text" :value="form.qmyy" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<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-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.signer')">
<el-input type="text" v-model="nickName" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<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>
import { gh } from "@/api/business/gyzj/gyzj"
import { mapGetters } from 'vuex'
export default {
name: "Gh",
components: { },
data() {
return {
isBatch: false,
ids: [],
selectList: [],
open: false,
form: {},
rules: {
qmrmm: [{
required: true,
message: ' ',
trigger: 'blur'
}]
}
}
},
computed: {
...mapGetters([
'nickName'
]),
},
created() {
},
methods: {
cancel() {
this.open = false
},
reset() {
this.form = {
id: null,
ids: null,
mc: null,
bh: null,
qmyy: '归还',
qmrmm: null
}
this.resetForm("form")
},
show(row) {
this.reset()
this.form.id = row.id
this.form.mc = row.mc
this.form.bh = row.bh
this.open = true
},
save() {
this.$refs["form"].validate(valid => {
if (valid) {
gh(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
})
}
}
}
</script>

+ 157
- 0
src/views/business/resource/gyzj/comps/gyzj/Jd.vue View File

@ -0,0 +1,157 @@
G<template>
<div >
<!-- 解档弹窗 -->
<el-dialog :title="$t('page.business.resource.gyzj.jiedang')" :visible.sync="open" width="500px" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div :style="isBatch ? 'display:block' : 'display:none'">
<el-alert :title="$t('page.business.resource.gyzj.jdts') " type="error" :closable="false">
</el-alert>
<el-row style="margin:10px 0px;">
<el-col :span="24">
<SelectList :value="selectList"/>
</el-col>
</el-row>
</div>
<div v-if="!isBatch">
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gyzj.mc')" prop="mc">
<el-input type="text" v-model="form.mc" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gyzj.bh')" prop="glyj">
<el-input type="text" v-model="form.bh" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
</div>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">
<el-input type="text" :value="form.qmyy" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<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-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.signer')">
<el-input type="text" v-model="nickName" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<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>
import { jd, jdBatch } from "@/api/business/gyzj/gyzj"
import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
export default {
name: "Jd",
components: { SelectList },
data() {
return {
isBatch: false,
ids: [],
selectList: [],
open: false,
form: {},
rules: {
qmrmm: [{
required: true,
message: ' ',
trigger: 'blur'
}]
}
}
},
computed: {
...mapGetters([
'nickName'
]),
},
created() {
},
methods: {
showBatch(val) {
this.reset()
this.isBatch = true
this.form.ids = val.map(item => item.id)
this.selectList = val
this.open = true
},
cancel() {
this.open = false
},
reset() {
this.form = {
id: null,
ids: null,
mc: null,
bh: null,
qmyy: '申请解档',
qmrmm: null
}
this.resetForm("form")
},
show(row) {
this.reset()
this.isBatch = false
this.form.ids = []
this.selectList = []
this.form.id = row.id
this.form.mc = row.mc
this.form.bh = row.bh
this.open = true
},
save() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.isBatch) {
jdBatch(this.form).then(response => {
this.open = false
this.$emit('callback')
})
} else {
jd(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
}
})
}
}
}
</script>

+ 123
- 0
src/views/business/resource/gyzj/comps/gyzj/Js.vue View File

@ -0,0 +1,123 @@
G<template>
<div >
<!-- 解锁弹窗 -->
<el-dialog :title="$t('page.business.resource.gyzj.unlock')" :visible.sync="open" width="500px" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gyzj.mc')" prop="mc">
<el-input type="text" v-model="form.mc" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gyzj.bh')" prop="glyj">
<el-input type="text" v-model="form.bh" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">
<el-input type="text" :value="form.qmyy" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<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-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.signer')">
<el-input type="text" v-model="nickName" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<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>
import { js } from "@/api/business/gyzj/gyzj"
import { mapGetters } from 'vuex'
export default {
name: "Js",
data() {
return {
open: false,
form: {},
rules: {
qmrmm: [{
required: true,
message: ' ',
trigger: 'blur'
}]
}
}
},
computed: {
...mapGetters([
'nickName'
]),
},
created() {
},
methods: {
cancel() {
this.open = false
},
reset() {
this.form = {
id: null,
ids: null,
mc: null,
bh: null,
qmyy: '解锁麻精药',
qmrmm: null
}
this.resetForm("form")
},
show(row) {
this.reset()
this.form.id = row.id
this.form.mc = row.mc
this.form.bh = row.bh
this.open = true
},
save() {
this.$refs["form"].validate(valid => {
if (valid) {
js(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
})
}
}
}
</script>

+ 157
- 0
src/views/business/resource/gyzj/comps/gyzj/Jy.vue View File

@ -0,0 +1,157 @@
G<template>
<div >
<!-- 借阅弹窗 -->
<el-dialog :title="$t('page.business.resource.gyzj.jieyue')" :visible.sync="open" width="500px" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div :style="isBatch ? 'display:block' : 'display:none'">
<el-alert :title="$t('page.business.resource.gyzj.jdts') " type="error" :closable="false">
</el-alert>
<el-row style="margin:10px 0px;">
<el-col :span="24">
<SelectList :value="selectList"/>
</el-col>
</el-row>
</div>
<div v-if="!isBatch">
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gyzj.mc')" prop="mc">
<el-input type="text" v-model="form.mc" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gyzj.bh')" prop="glyj">
<el-input type="text" v-model="form.bh" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
</div>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">
<el-input type="text" :value="form.qmyy" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<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-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.signer')">
<el-input type="text" v-model="nickName" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<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>
import { jd, jdBatch } from "@/api/business/gyzj/gyzj"
import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
export default {
name: "Jy",
components: { SelectList },
data() {
return {
isBatch: false,
ids: [],
selectList: [],
open: false,
form: {},
rules: {
qmrmm: [{
required: true,
message: ' ',
trigger: 'blur'
}]
}
}
},
computed: {
...mapGetters([
'nickName'
]),
},
created() {
},
methods: {
showBatch(val) {
this.reset()
this.isBatch = true
this.form.ids = val.map(item => item.id)
this.selectList = val
this.open = true
},
cancel() {
this.open = false
},
reset() {
this.form = {
id: null,
ids: null,
mc: null,
bh: null,
qmyy: '申请解档',
qmrmm: null
}
this.resetForm("form")
},
show(row) {
this.reset()
this.isBatch = false
this.form.ids = []
this.selectList = []
this.form.id = row.id
this.form.mc = row.mc
this.form.bh = row.bh
this.open = true
},
save() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.isBatch) {
jdBatch(this.form).then(response => {
this.open = false
this.$emit('callback')
})
} else {
jd(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
}
})
}
}
}
</script>

+ 156
- 0
src/views/business/resource/gyzj/comps/gyzj/Sd.vue View File

@ -0,0 +1,156 @@
G<template>
<div>
<!-- 锁定弹窗 -->
<el-dialog :title="$t('page.business.resource.gyzj.lock')" :visible.sync="open" width="500px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div :style="isBatch ? 'display:block' : 'display:none'">
<el-row >
<el-col :span="24">
<SelectList :value="selectList" />
</el-col>
</el-row>
</div>
<div v-if="!isBatch">
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gyzj.mc')" prop="mc">
<el-input type="text" v-model="form.mc" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gyzj.bh')" prop="glyj">
<el-input type="text" v-model="form.bh" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
</div>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">
<el-input type="text" :value="form.qmyy" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<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-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.signer')">
<el-input type="text" v-model="nickName" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<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>
import { sd, plsd } from "@/api/business/gyzj/gyzj"
import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
export default {
name: "Sd",
components: { SelectList },
data() {
return {
isBatch: false,
ids: [],
selectList: [],
open: false,
form: {},
rules: {
qmrmm: [{
required: true,
message: ' ',
trigger: 'blur'
}]
}
}
},
computed: {
...mapGetters([
'nickName'
]),
},
created() {
},
methods: {
showBatch(val) {
this.reset()
this.isBatch = true
this.form.ids = val.map(item => item.id)
this.selectList = val
this.open = true
},
cancel() {
this.open = false
},
reset() {
this.form = {
id: null,
ids: null,
mc: null,
bh: null,
qmyy: '锁定麻精药',
qmrmm: null
}
this.resetForm("form")
},
show(row) {
this.reset()
this.isBatch = false
this.form.ids = []
this.selectList = []
this.form.id = row.id
this.form.mc = row.mc
this.form.bh = row.bh
this.open = true
},
save() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.isBatch) {
plsd(this.form).then(response => {
this.open = false
this.$emit('callback')
})
} else {
sd(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
}
})
}
}
}
</script>

+ 55
- 0
src/views/business/resource/gyzj/comps/gyzj/SelectList.vue View File

@ -0,0 +1,55 @@
G<template>
<div class="app-container">
<el-table :data="selectList" border>
<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="left" prop="bh" :show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gyzj.zjzt')" align="center">
<template slot-scope="scope">
<span v-if="scope.row.zjzt == 1">{{ $t('page.business.resource.zjzt.rk') }}</span>
<span v-if="scope.row.zjzt == 3">{{ $t('page.business.resource.zjzt.yff') }}</span>
<span v-if="scope.row.zjzt == 5">{{ $t('page.business.resource.zjzt.ysd') }}</span>
<span v-if="scope.row.zjzt == 7">{{ $t('page.business.resource.zjzt.dgd') }}</span>
<span v-if="scope.row.zjzt == 9">{{ $t('page.business.resource.zjzt.gd') }}</span>
<span v-if="scope.row.zjzt == 11">{{ $t('page.business.resource.zjzt.djd') }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gyzj.jyzt')" align="center" >
<template slot-scope="scope">
<span v-if="scope.row.jyzt == 1">{{ $t('page.business.resource.jyzt.wjy') }}</span>
<span v-if="scope.row.jyzt == 3">{{ $t('page.business.resource.jyzt.djy') }}</span>
<span v-if="scope.row.jyzt == 5">{{ $t('page.business.resource.jyzt.jyz') }}</span>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
export default {
name: "SelectList",
data() {
return {
selectList: []
}
},
props: {
value: {
type: Array,
default: () => []
}
},
watch: {
value: {
immediate: true,
handler(v) {
this.selectList = v || []
}
},
},
created() {
},
methods: {
}
}
</script>

+ 223
- 0
src/views/business/resource/gyzj/comps/gyzj/Shbj.vue View File

@ -0,0 +1,223 @@
G<template>
<div>
<!-- 审核编辑弹窗 -->
<el-dialog :title="$t('page.business.resource.gyzj.shbj')" :visible.sync="open" width="800px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.mc')" prop="mc">
<el-input type="text" v-model="form.mc" maxlength="50" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.bh')" prop="glyj">
<el-input type="text" v-model="form.bh" maxlength="50" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.nd')" prop="nd">
<el-input type="text" v-model="form.nd" maxlength="50" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.nddw')" prop="nddw">
<el-input type="text" v-model="form.nddw" maxlength="50" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.sxrq')" prop="sxrq">
<el-input type="text" v-model="form.sxrq" maxlength="50" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.cctj')" prop="cctj">
<el-input type="text" v-model="form.cctj" maxlength="50" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.ccwz')" prop="ccwz">
<el-input type="text" v-model="form.ccwz" maxlength="50" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gyzj.xgr')">
<el-input type="text" v-model="form.bjrMc" disabled />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gyzj.xgbz')" prop="bjbz">
<el-input type="text" v-model="form.bjbz" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">
<el-select v-model="form.qmyy" :placeholder="$t('form.placeholderSelect')" >
<el-option label="同意编辑" :value="10" />
<el-option label="拒绝编辑" :value="1" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('form.signer')">
<el-input type="text" v-model="nickName" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<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-row>
<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-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>
import { shbj, info } from "@/api/business/gyzj/gyzj"
import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
export default {
name: "Shbj",
components: { SelectList },
data() {
return {
open: false,
form: {},
rules: {
qmyy: [{
required: true,
message: ' ',
trigger: 'blur'
}],
mc: [{
required: true,
message: ' ',
trigger: 'blur'
}],
bh: [{
required: true,
message: ' ',
trigger: 'blur'
}],
nd: [{
required: true,
message: ' ',
trigger: 'blur'
}],
nddw: [{
required: true,
message: ' ',
trigger: 'blur'
}],
sxrq: [{
required: true,
message: ' ',
trigger: 'blur'
}],
cctj: [{
required: true,
message: ' ',
trigger: 'blur'
}],
ccwz: [{
required: true,
message: ' ',
trigger: 'blur'
}],
qmrmm: [{
required: true,
message: ' ',
trigger: 'blur'
}],
}
}
},
computed: {
...mapGetters([
'nickName'
]),
},
created() {
},
methods: {
cancel() {
this.open = false
},
reset() {
this.form = {
id: null,
mc: null,
bh: null,
nd: null,
nddw: null,
sxrq: null,
cctj: null,
ccwz: null,
qmrmm: null,
bjrMc: null,
bjbz: null,
qmyy: '同意编辑',
remark: ''
}
this.resetForm("form")
},
show(row) {
this.reset()
this.$modal.loading()
info({ id: row.id }).then(response => {
this.form.id = response.data.id
this.form.mc = response.data.mcbj
this.form.bh = response.data.bh
this.form.nd = response.data.ndbj
this.form.nddw = response.data.nddwbj
this.form.sxrq = response.data.sxrqbj
this.form.cctj = response.data.cctjbj
this.form.ccwz = response.data.ccwzbj
this.form.bjbz = response.data.bjbz
this.form.bjrMc = response.data.bjrMc
this.open = true
this.$modal.closeLoading()
})
},
save() {
this.$refs["form"].validate(valid => {
if (valid) {
shbj(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
})
}
}
}
</script>

+ 167
- 0
src/views/business/resource/gyzj/comps/gyzj/Shxgkc.vue View File

@ -0,0 +1,167 @@
G<template>
<div>
<!-- 审核修改库存弹窗 -->
<el-dialog :title="$t('page.business.resource.gyzj.shxgkc')" :visible.sync="open" width="800px" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.mc')" prop="mcbj">
<el-input type="text" v-model="form.mc" maxlength="50" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.bh')" prop="glyj">
<el-input type="text" v-model="form.bh" maxlength="50" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.kc')" prop="kcbj">
<el-input type="number" v-model="form.kcbj" maxlength="50" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.kcdw')" prop="kcdwbj">
<el-input type="text" v-model="form.kcdwbj" maxlength="50" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gyzj.xgr')">
<el-input type="text" v-model="form.kcbjrMc" disabled />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gyzj.xgbz')" prop="kcbjbz">
<el-input type="text" v-model="form.kcbjbz" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">
<el-select v-model="form.qmyy" :placeholder="$t('form.placeholderSelect')" >
<el-option label="同意修改库存" :value="10" />
<el-option label="拒绝修改库存" :value="1" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('form.signer')">
<el-input type="text" v-model="nickName" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<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-row>
<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-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>
import { shxgkc, info } from "@/api/business/gyzj/gyzj"
import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
export default {
name: "Shxgkc",
components: { SelectList },
data() {
return {
open: false,
form: {},
rules: {
kcbj: [{
required: true,
message: ' ',
trigger: 'blur'
}],
kcdwbj: [{
required: true,
message: ' ',
trigger: 'blur'
}],
qmrmm: [{
required: true,
message: ' ',
trigger: 'blur'
}]
}
}
},
computed: {
...mapGetters([
'nickName'
]),
},
created() {
},
methods: {
cancel() {
this.open = false
},
reset() {
this.form = {
id: null,
mc: null,
bh: null,
kcbj: null,
kcdwbj: null,
qmrmm: null,
kcbjrMc: null,
kcbjbz: null,
qmyy: '同意修改库存',
remark: ''
}
this.resetForm("form")
},
show(row) {
this.reset()
this.$modal.loading()
info({ id: row.id }).then(response => {
this.form.id = response.data.id
this.form.mc = response.data.mc
this.form.bh = response.data.bh
this.form.kcbj = response.data.kcbj
this.form.kcdwbj = response.data.kcdwbj
this.form.kcbjbz = response.data.kcbjbz
this.form.kcbjrMc = response.data.kcbjrMc
this.open = true
this.$modal.closeLoading()
})
},
save() {
this.$refs["form"].validate(valid => {
if (valid) {
shxgkc(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
})
}
}
}
</script>

+ 145
- 0
src/views/business/resource/gyzj/comps/gyzj/Xgkc.vue View File

@ -0,0 +1,145 @@
G<template>
<div>
<!-- 修改库存弹窗 -->
<el-dialog :title="$t('page.business.resource.gyzj.xgkc')" :visible.sync="open" width="800px" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.mc')" prop="mcbj">
<el-input type="text" v-model="form.mc" maxlength="50" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.bh')" prop="glyj">
<el-input type="text" v-model="form.bh" maxlength="50" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.kc')" prop="kcbj">
<el-input type="number" v-model="form.kc" maxlength="50" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.kcdw')" prop="kcdwbj">
<el-input type="text" v-model="form.kcdw" maxlength="50" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">
<el-input type="text" :value="form.qmyy" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('form.signer')">
<el-input type="text" v-model="nickName" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<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-row>
<el-col :span="24">
<el-form-item :label="$t('form.remark')" >
<el-input type="textarea" v-model="form.kcbjbz" :rows="2" maxlength="500"
:placeholder="$t('form.placeholderInput')">
</el-input>
</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>
import { xgkc } from "@/api/business/gyzj/gyzj"
import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
export default {
name: "Xgkc",
components: { SelectList },
data() {
return {
open: false,
form: {},
rules: {
kc: [{
required: true,
message: ' ',
trigger: 'blur'
}],
kcdw: [{
required: true,
message: ' ',
trigger: 'blur'
}],
qmrmm: [{
required: true,
message: ' ',
trigger: 'blur'
}]
}
}
},
computed: {
...mapGetters([
'nickName'
]),
},
created() {
},
methods: {
cancel() {
this.open = false
},
reset() {
this.form = {
id: null,
mc: null,
bh: null,
kc: null,
kcdw: null,
qmrmm: null,
qmyy: '修改库存',
kcbjbz: ''
}
this.resetForm("form")
},
show(row) {
this.reset()
this.form.id = row.id
this.form.mc = row.mc
this.form.bh = row.bh
this.form.kc = row.kc
this.form.kcdw = row.kcdw
this.open = true
},
save() {
this.$refs["form"].validate(valid => {
if (valid) {
xgkc(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
})
}
}
}
</script>

+ 221
- 0
src/views/business/resource/gyzj/comps/gyzj/Xq.vue View File

@ -0,0 +1,221 @@
G<template>
<!-- 详情 -->
<div v-show="open">
<div class="detail-container">
<div class="detail-top">
<div class="left-top">
<img src="@/assets/images/back.png" @click="cancel()" />
<div class="left-title"></div>
</div>
<div class="right-top">
<el-button @click="cancel()">{{$t('page.business.study.cancel')}}</el-button>
<el-button @click="exportExcel()">{{ $t('form.export') }}</el-button>
</div>
</div>
<div class="detail-content">
<div class="content-left">
<div class="content-title">
<div class="line"></div>
<div class="subtitle"> 基本信息</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gyzj.mc') }}</div>
<el-input type="text" :value="form.mc" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gyzj.bh') }}</div>
<el-input type="text" :value="form.bh" maxlength="50" disabled />
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gyzj.nd') }}</div>
<el-input type="text" :value="form.nd" maxlength="50" disabled> <template slot="append">{{
form.nddw }}</template>
</el-input>
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gyzj.kcl') }}</div>
<el-input type="text" :value="form.kc" maxlength="50" disabled> <template slot="append">{{
form.kcdw }}</template> </el-input>
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gyzj.sxrq') }}</div>
<el-input type="text" :value="form.sxrq" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gyzj.cctj') }}</div>
<el-input type="text" :value="form.cctj" maxlength="50" disabled />
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gyzj.ccwz') }}</div>
<el-input type="text" :value="form.ccwz" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gyzj.zjzt') }}</div>
<el-select v-model="form.zjzt" disabled style="width: 100%;">
<el-option key="1" :label="$t('page.business.resource.zjzt.rk')" :value="1" />
<el-option key="3" :label="$t('page.business.resource.zjzt.yff')" :value="3" />
<el-option key="5" :label="$t('page.business.resource.zjzt.ysd')" :value="5" />
<el-option key="7" :label="$t('page.business.resource.zjzt.dgd')" :value="7" />
<el-option key="9" :label="$t('page.business.resource.zjzt.gd')" :value="9" />
<el-option key="11" :label="$t('page.business.resource.zjzt.djd')" :value="11" />
</el-select>
</div>
</div>
<div class="content-title">
<div class="line"></div>
<div class="subtitle"> 表单信息</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gyzj.md') }}</div>
<el-input type="text" :value="form.xmMc" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gyzj.ssbd') }}</div>
<el-input type="text" :value="form.bdMc" maxlength="50" disabled />
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gyzj.bdssr') }}</div>
<el-input type="text" :value="form.bdssrMc" maxlength="50" disabled />
</div>
</div>
<div class="content-title">
<div class="line"></div>
<div class="subtitle"> 给药制剂台账</div>
</div>
<div class="pal">
<el-table :data="tzList" v-loading="loadingTz">
<el-table-column :label="$t('page.business.resource.gyzj.syr')" align="center" prop="qmrMc"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gyzj.lqghr')" align="center"
:show-overflow-tooltip="true">
<template slot-scope="scope">
{{ scope.row.lqrMc }}{{ scope.row.ghrMc }}
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gyzj.ffjsr')" align="center"
:show-overflow-tooltip="true">
<template slot-scope="scope">
{{ scope.row.ffrMc }}{{ scope.row.jsrMc }}
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gyzj.czlx')" align="center" prop="qmyy"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gyzj.ffjsr')" align="center"
:show-overflow-tooltip="true">
<template slot-scope="scope">
{{ scope.row.czl }}{{ scope.row.czldw }}
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gyzj.bzyy')" align="center" prop="remark"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gyzj.ccsj')" align="center" prop="createTime"
width="150px" />
</el-table>
</div>
<div class="pal">
<pagination v-show="totalTz > 0" :total="totalTz" :page.sync="queryParamstZ.pageNum"
:limit.sync="queryParamstZ.pageSize" @pagination="getTzList" />
</div>
</div>
<div class="content-right">
<div class="content-title">
<div class="line"></div>
<div class="subtitle"> 稽查轨迹日志</div>
</div>
<jcgjList ref="jcgjList" @handleQuery="jcgjListHandleQuery" />
<pagination v-show="jcgjTotal > 0" small layout="prev, pager, next" :total="jcgjTotal"
@pagination="getJjcgjList" />
</div>
</div>
</div>
</div>
</template>
<script>
import { info, tzList, jcgjList } from "@/api/business/gyzj/gyzj"
import JcgjList from "@/views/business/comps/common/JcgjList";
export default {
name: "Xq",
components: { JcgjList },
data() {
return {
form: {},
tzList: [],
totalTz: 0,
loadingTz: true,
open: false,
queryParamstZ: {
gyzjId: null,
pageNum: 1,
pageSize: 10
},
jcgjTotal: 0,
jcgjList: [],
queryJcgjParams: {
pageNum: 1,
gyzjId: null,
pageSize: 10,
}
}
},
created() {
},
methods: {
exportExcel(){
alert('todo')
},
jcgjListHandleQuery(val) {
this.$modal.loading()
jcgjList(_.merge({}, this.queryJcgjParams, val)).then(response => {
this.jcgjList = response.rows
this.jcgjTotal = response.total
this.$refs.jcgjList.init(this.jcgjList)
this.$modal.closeLoading()
})
},
getJjcgjList() {
jcgjList(this.queryJcgjParams).then(response => {
this.jcgjList = response.rows
this.jcgjTotal = response.total
this.$refs.jcgjList.init(this.jcgjList)
this.$modal.closeLoading()
})
},
cancel() {
this.open = false
this.$emit('callback')
},
getTzList() {
this.loadingTz = true
tzList(this.queryParamstZ).then(response => {
this.tzList = response.rows
this.totalTz = response.total
this.loadingTz = false
this.getJjcgjList()
})
},
show(row) {
this.$modal.loading()
this.queryParamstZ.gyzjId = row.id
this.queryJcgjParams.gyzjId = row.id
info({ id: row.id }).then(response => {
this.form = response.data
this.getTzList()
this.open = true
})
}
}
}
</script>

+ 216
- 0
src/views/business/resource/gyzj/comps/gyzj/Ysff.vue View File

@ -0,0 +1,216 @@
G<template>
<div>
<!-- 钥匙发放弹窗 -->
<el-dialog :title="$t('page.business.resource.gyzj.ysff')" :visible.sync="open" width="1200px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div>
<el-row style="margin:10px 0px;">
<el-col :span="24">
<el-table :data="selectList" border>
<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="left" prop="bh"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gyzj.ckl')" align="center">
<template slot-scope="scope">
{{ scope.row.ckl }}{{ scope.row.ckldw }}
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gyzj.ffzytj')" align="center" prop="ffzytj"
width="150px" />
<el-table-column :label="$t('page.business.resource.gyzj.ckmz')" align="center" prop="ckmz" width="150px" />
<el-table-column :label="$t('page.business.resource.gyzj.ckmzdw')" align="center" prop="ckmzdw"
width="150px" />
<el-table-column :label="$t('page.business.resource.gyzj.lqr1')" align="center" prop="lqr1Mc"
width="150px" />
<el-table-column :label="$t('page.business.resource.gyzj.lqr2')" align="center" prop="lqr2Mc"
width="150px" />
<el-table-column :label="$t('page.business.resource.gyzj.ffr1')" align="center" prop="ffr1Mc"
width="150px" />
<el-table-column :label="$t('page.business.resource.gyzj.ffr2')" align="center" prop="ffr2Mc"
width="150px" />
<el-table-column :label="$t('form.remark')" align="center" prop="ffbz" width="150px" />
<el-table-column :label="$t('page.business.resource.gyzj.md')" align="center" prop="ffxmMc"
width="150px" />
</el-table>
</el-col>
</el-row>
</div>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.zcg')" prop="zcgId">
<el-input type="text" v-model="form.zcgId" maxlength="50" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<el-col :span="12">
<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-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.remark')" prop="remark">
<el-input type="text" v-model="form.remark" maxlength="20"
:placeholder="$t('form.placeholderInput')">
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.lqr1')" prop="lqr1Id">
<SelectDeptUser v-model="form.lqr1Id" key="lqr1Id"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('form.password')" prop="lqr1mm">
<el-input type="text" v-model="form.lqr1mm" maxlength="20"
:placeholder="$t('form.placeholderInput')">
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.lqr2')" prop="lqr2Id">
<SelectDeptUser v-model="form.lqr2Id" key="lqr2Id"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('form.password')" prop="lqr2mm">
<el-input type="text" v-model="form.lqr2mm" maxlength="20"
:placeholder="$t('form.placeholderInput')">
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gyzj.ffr')">
<el-input type="text" v-model="nickName" maxlength="50"
:placeholder="$t('form.placeholderInput')" disabled/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('form.password')" prop="ffrmm">
<el-input type="text" v-model="form.ffrmm" maxlength="20"
:placeholder="$t('form.placeholderInput')">
</el-input>
</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>
import { ysff } from "@/api/business/gyzj/gyzj"
import { mapGetters } from 'vuex'
import SelectDeptUser from '@/views/business/comps/select/SelectDeptUser';
export default {
name: "Ysff",
components: {SelectDeptUser},
data() {
return {
ids: [],
selectList: [],
open: false,
form: {},
rules: {
qmrmm: [{
required: true,
message: ' ',
trigger: 'blur'
}],
zcgId: [{
required: true,
message: ' ',
trigger: 'blur'
}],
lqr2mm:[{
required: true,
message: ' ',
trigger: 'blur'
}],
lqr1mm:[{
required: true,
message: ' ',
trigger: 'blur'
}],
lqr1Id:[{
required: true,
message: ' ',
trigger: 'blur'
}],
lqr2Id:[{
required: true,
message: ' ',
trigger: 'blur'
}],
ffrmm:[{
required: true,
message: ' ',
trigger: 'blur'
}],
}
}
},
computed: {
...mapGetters([
'nickName'
]),
},
created() {
},
methods: {
showBatch(val) {
this.reset()
this.isBatch = true
this.form.ids = val.map(item => item.id)
this.selectList = val
this.open = true
},
cancel() {
this.open = false
},
reset() {
this.form = {
ids: null,
qmyy: '钥匙发放',
zcgId: null,
qmrmm: null,
remark: null,
lqr1Id: null,
lqr2Id: null,
lqr1mm: null,
lqr2mm: null,
ffrId: null,
ffrmm: null,
}
this.resetForm("form")
},
save() {
this.$refs["form"].validate(valid => {
if (valid) {
let params = this.form
params.list = this.selectList
ysff(params).then(response => {
this.open = false
this.$emit('callback')
})
}
})
}
}
}
</script>

+ 420
- 0
src/views/business/resource/gyzj/comps/gyzjList.vue View File

@ -0,0 +1,420 @@
<template>
<div>
<!-- 列表 -->
<div>
<div class="app-container 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 @change="handleQuery"
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
<!-- 编号 -->
<el-form-item :label="$t('page.business.resource.gyzj.bh') + ':'">
<el-input v-model="queryParams.bh" clearable @change="handleQuery"
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
<!-- 借阅状态 -->
<el-form-item :label="$t('page.business.resource.gyzj.jyzt') + ':'">
<el-select v-model="queryParams.jyzt" :placeholder="$t('form.placeholderSelect')" clearable
@change="handleQuery">
<el-option :label="$t('page.business.resource.jyzt.wjy')" :value="1" />
<el-option :label="$t('page.business.resource.jyzt.djy')" :value="3" />
<el-option :label="$t('page.business.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
@change="handleQuery">
<el-option :label="$t('page.business.resource.zjzt.rk')" :value="1" />
<el-option :label="$t('page.business.resource.zjzt.yff')" :value="3" />
<el-option :label="$t('page.business.resource.zjzt.ysd')" :value="5" />
<el-option :label="$t('page.business.resource.zjzt.dgd')" :value="7" />
<el-option :label="$t('page.business.resource.zjzt.gd')" :value="9" />
<el-option :label="$t('page.business.resource.zjzt.djd')" :value="11" />
</el-select>
</el-form-item>
<!-- 失效日期 -->
<el-form-item :label="$t('page.business.resource.gyzj.sxrq') + ':'">
<el-date-picker v-model="daterange" 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>
<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-row :gutter="10" class="mb8">
<el-col :span="1.5">
<!-- 批量发放 -->
<el-button type="primary" :disabled="multiple" @click="handlePlff"
v-hasPermi="['business:resource:gyzj:ff']">{{
$t('page.business.resource.gyzj.plff') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 批量处置药剂 -->
<el-button type="primary" :disabled="multiple" @click="handlePlczyj"
v-hasPermi="['business:resource:gyzj:czyj']">{{
$t('page.business.resource.gyzj.plczyj') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 批量处置容器 -->
<el-button type="primary" :disabled="multiple" @click="handlePlczrq"
v-hasPermi="['business:resource:gyzj:czrq']">{{
$t('page.business.resource.gyzj.plczrq') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 钥匙发放 -->
<el-button type="primary" :disabled="multiple" @click="handleYsff"
v-hasPermi="['business:resource:gyzj:ysff']">{{
$t('page.business.resource.gyzj.ysff') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 批量锁定 -->
<el-button type="primary" :disabled="multiple" @click="handlePlsd"
v-hasPermi="['business:resource:gyzj:sd']">{{
$t('page.business.resource.gyzj.plsd') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 批量归档 -->
<el-button type="primary" :disabled="multiple" @click="handlePlgd"
v-hasPermi="['business:resource:gyzj:gd']">{{
$t('page.business.resource.gyzj.plgd') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 导出 -->
<el-button type="primary" :disabled="multiple" @click="handleDc"
v-hasPermi="['business:resource:gyzj:dc']">{{
$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.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.zcg')" align="center" prop="zcgMc" width="130px" />
<el-table-column :label="$t('page.business.resource.gyzj.cctj')" align="center" prop="cctj" width="130px" />
<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">{{ $t('page.business.resource.zjzt.rk') }}</span>
<span v-if="scope.row.zjzt == 3">{{ $t('page.business.resource.zjzt.yff') }}</span>
<span v-if="scope.row.zjzt == 5">{{ $t('page.business.resource.zjzt.ysd') }}</span>
<span v-if="scope.row.zjzt == 7">{{ $t('page.business.resource.zjzt.dgd') }}</span>
<span v-if="scope.row.zjzt == 9">{{ $t('page.business.resource.zjzt.gd') }}</span>
<span v-if="scope.row.zjzt == 11">{{ $t('page.business.resource.zjzt.djd') }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gyzj.jyzt')" align="center" width="100px" fixed="right">
<template slot-scope="scope">
<span v-if="scope.row.jyzt == 1">{{ $t('page.business.resource.jyzt.wjy') }}</span>
<span v-if="scope.row.jyzt == 3">{{ $t('page.business.resource.jyzt.djy') }}</span>
<span v-if="scope.row.jyzt == 5">{{ $t('page.business.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 v-if="scope.row.zjzt == 1 || scope.row.zjzt == 3 || scope.row.zjzt == 5 || scope.row.zjzt == 9">
<!-- 详情 -->
<el-button type="text" @click="handleXq(scope.row)" v-hasPermi="['business:resource:gyzj:xq']">{{
$t('page.business.resource.gyzj.detail') }}</el-button>
</template>
<template v-if="scope.row.zjzt == 1">
<!-- 发放 -->
<el-button type="text" @click="handleFf(scope.row)" v-hasPermi="['business:resource:gyzj:ff']">{{
$t('page.business.resource.gyzj.fafang') }}</el-button>
<!-- 处置药剂 -->
<el-button type="text" @click="handleCzyj(scope.row)" v-hasPermi="['business:resource:gyzj:czyj']">{{
$t('page.business.resource.gyzj.czyj') }}</el-button>
<!-- 处置容器 -->
<el-button v-if="scope.row.rqzt == 1" type="text" @click="handleCzrq(scope.row)"
v-hasPermi="['business:resource:gyzj:czrq']">{{
$t('page.business.resource.gyzj.czrq') }}</el-button>
<!-- 编辑 -->
<el-button v-if="scope.row.bjzt == 1" type="text" @click="handleBj(scope.row)"
v-hasPermi="['business:resource:gyzj:bj']">{{
$t('form.edit') }}</el-button>
<!-- 修改库存 -->
<el-button v-if="scope.row.kcbjzt == 1" type="text" @click="handleXgkc(scope.row)"
v-hasPermi="['business:resource:gyzj:xgkc']">{{
$t('page.business.resource.gyzj.xgkc') }}</el-button>
<!-- 锁定 -->
<el-button type="text" @click="handleSd(scope.row)" v-hasPermi="['business:resource:gyzj:sd']">{{
$t('page.business.resource.gyzj.lock') }}</el-button>
</template>
<template v-if="scope.row.bjzt == 3 && (scope.row.zjzt == 1 || scope.row.zjzt == 3)">
<!-- 审核编辑 -->
<el-button type="text" @click="handleShbj(scope.row)" v-hasPermi="['business:resource:gyzj:shbj']">{{
$t('page.business.resource.gyzj.shbj') }}</el-button>
</template>
<template v-if="scope.row.kcbjzt == 3 && (scope.row.zjzt == 1 || scope.row.zjzt == 3)">
<!-- 审核修改库存 -->
<el-button type="text" @click="handleShxgkc(scope.row)" v-hasPermi="['business:resource:gyzj:shxgkc']">{{
$t('page.business.resource.gyzj.shxgkc') }}</el-button>
</template>
<template v-if="scope.row.zjzt == 5">
<!-- 解锁 -->
<el-button type="text" @click="handleJs(scope.row)" v-hasPermi="['business:resource:gyzj:js']">{{
$t('page.business.resource.gyzj.unlock') }}</el-button>
<!-- 归档 -->
<el-button type="text" @click="handleGd(scope.row)" v-hasPermi="['business:resource:gyzj:gd']">{{
$t('page.business.resource.gyzj.guidang') }}</el-button>
</template>
<template v-if="scope.row.zjzt == 3">
<!-- 归还 -->
<el-button type="text" @click="handleGh(scope.row)" v-hasPermi="['business:resource:gyzj:gh']">{{
$t('page.business.resource.gyzj.guihuan') }}</el-button>
</template>
<template v-if="scope.row.zjzt == 9">
<!-- 解档 -->
<el-button type="text" @click="handleJd(scope.row)" v-hasPermi="['business:resource:gyzj:jd']">{{
$t('page.business.resource.gyzj.jiedang') }}</el-button>
<!-- 借阅 -->
<el-button type="text" @click="handleJy(scope.row)" v-hasPermi="['business:resource:gyzj:jy']">{{
$t('page.business.resource.gyzj.jieyue') }}</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>
<!-- 锁定 -->
<Sd key="Sd" ref="Sd" @callback="handleQuery" />
<!-- 解锁 -->
<Js key="Js" ref="Js" @callback="handleQuery" />
<!-- 归档 -->
<Gd key="Gd" ref="Gd" @callback="handleQuery" />
<!-- 解档 -->
<Jd key="Jd" ref="Jd" @callback="handleQuery" />
<!-- 编辑 -->
<Bj key="Bj" ref="Bj" @callback="handleQuery" />
<!-- 审核编辑 -->
<Shbj key="Shbj" ref="Shbj" @callback="handleQuery" />
<!-- 修改库存 -->
<Xgkc key="Xgkc" ref="Xgkc" @callback="handleQuery" />
<!-- 审核修改库存 -->
<Shxgkc key="Shxgkc" ref="Shxgkc" @callback="handleQuery" />
<!-- 借阅 -->
<Jy key="Jy" ref="Jy" @callback="handleQuery" />
<!-- 归还 -->
<Gh key="Gh" ref="Gh" @callback="handleQuery" />
<!-- 发放 -->
<Ff key="Ff" ref="Ff" @callback="handleQuery" />
<!-- 处置药剂 -->
<Czyj key="Czyj" ref="Czyj" @callback="handleQuery" />
<!-- 处置容器 -->
<Czrq key="Czrq" ref="Czrq" @callback="handleQuery" />
<!-- 钥匙发放 -->
<Ysff key="Ysff" ref="Ysff" @callback="handleQuery" />
<!-- 详情 -->
<Xq v-show="showDetail" key="Xq" ref="Xq" @callback="closeXq" />
</div>
</div>
</template>
<script>
import { list } from "@/api/business/gyzj/gyzj"
import Sd from "./gyzj/Sd";
import Js from "./gyzj/Js";
import Gd from "./gyzj/Gd";
import Jd from "./gyzj/Jd";
import Xq from "./gyzj/Xq";
import Bj from "./gyzj/Bj";
import Shbj from "./gyzj/Shbj";
import Xgkc from "./gyzj/Xgkc";
import Shxgkc from "./gyzj/Shxgkc";
import Jy from "./gyzj/Jy";
import Gh from "./gyzj/Gh";
import Ff from "./gyzj/Ff";
import Czrq from "./gyzj/Czrq";
import Czyj from "./gyzj/Czyj";
import Ysff from "./gyzj/Ysff";
export default {
name: "GyzjList",
components: { Sd, Js, Gd, Xq, Jd, Bj, Shbj, Xgkc, Shxgkc, Jy, Gh, Czyj, Czrq, Ff, Ysff },
data() {
return {
daterange: [],
loading: true,
single: true,
multiple: true,
showDetail:false,
total: 0,
list: [],
//
selectList: [],
//
queryParams: {
pageNum: 1,
pageSize: 10,
mc: null,
jyzt: null,
zjzt: null,
bh: null,
startDate: null,
endDate: null,
},
}
},
created() {
this.getList()
},
methods: {
//
handleDc() {
},
//
handleYsff() {
this.$refs.Ysff.showBatch(this.selectList)
},
//
handlePlff() {
this.$refs.Ff.showBatch(this.selectList)
},
//
handleFf(row) {
this.$refs.Ff.show(row)
},
//
handleCzrq(row) {
this.$refs.Czrq.show(row)
},
//
handlePlczrq() {
this.$refs.Czrq.showBatch(this.selectList)
},
//
handleCzyj(row) {
this.$refs.Czyj.show(row)
},
//
handlePlczyj() {
this.$refs.Czyj.showBatch(this.selectList)
},
//
handleBj(row) {
this.$refs.Bj.show(row)
},
//
handleShbj(row) {
this.$refs.Shbj.show(row)
},
//
handleXgkc(row) {
this.$refs.Xgkc.show(row)
},
//
handleShxgkc(row) {
this.$refs.Shxgkc.show(row)
},
//
handleJy(row) {
this.$refs.Jy.show(row)
},
//
handleGh(row) {
this.$refs.Gh.show(row)
},
//
checkSelectable(row) {
return true;
},
closeXq(){
this.showDetail=false
this.handleQuery()
},
//
handleXq(row) {
this.showDetail=true
this.$refs.Xq.show(row)
},
//
handlePljs() {
this.$refs.Js.showBatch(this.selectList)
},
//
handleJs(row) {
this.$refs.Js.show(row)
},
//
handlePlgd() {
this.$refs.Gd.showBatch(this.selectList)
},
//
handleGd(row) {
this.$refs.Gd.show(row)
},
//
handleJd(row) {
this.$refs.Jd.show(row)
},
//
handlePlsd() {
this.$refs.Sd.showBatch(this.selectList)
},
//
handleSd(row) {
this.$refs.Sd.show(row)
},
//
getList() {
if (this.daterange != null && this.daterange.length > 0) {
this.queryParams.startDate = this.daterange[0]
this.queryParams.endDate = moment().add(this.daterange[1], 'days').format('YYYY-MM-DD');
} else {
this.queryParams.startDate = ''
this.queryParams.endDate = ''
}
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.resetForm("queryForm")
this.handleQuery()
},
//
handleSelectionChange(selection) {
this.single = selection.length !== 1
this.multiple = !selection.length
this.selectList = selection
}
}
}
</script>
<style rel="stylesheet/scss" lang="scss">
.gyzj {}
</style>

+ 38
- 0
src/views/business/resource/gyzj/index.vue View File

@ -0,0 +1,38 @@
<template>
<div class="gyzj">
<el-tabs v-model="activeName" type="border-card" >
<el-tab-pane :label="$t('page.business.resource.gyzj.gyzjgl')" name="gyzjList">
<gyzjList key="gyzjList"/>
</el-tab-pane>
<el-tab-pane :label="$t('page.business.resource.gyzj.ffhsjl')" name="ffjlList">
<ffjlList key="ffjlList"/>
</el-tab-pane>
</el-tabs>
</div>
</template>
<script>
import gyzjList from "./comps/gyzjList";
import ffjlList from "./comps/ffjlList";
export default {
name: "Gyzj",
components: { gyzjList, ffjlList },
data() {
return {
activeName: 'gyzjList'
}
},
created() {
},
methods: {
}
}
</script>
<style rel="stylesheet/scss" lang="scss">
.gyzj {
margin: 10px 10px;
}
</style>

+ 3
- 3
src/views/business/resource/mjy/comps/ffjl/Gd.vue View File

@ -1,7 +1,7 @@
G<template>
<div>
<!-- 锁定弹窗 -->
<el-dialog :title="$t('page.business.zykgl.mjy.lock')" :visible.sync="open" width="500px" append-to-body
<el-dialog :title="$t('page.business.resource.mjy.lock')" :visible.sync="open" width="500px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div :style="isBatch ? 'display:block' : 'display:none'">
@ -14,7 +14,7 @@ G