Browse Source

feat:[资源库管理][试剂管理]页面初始化

luojie
HanLong 3 weeks ago
parent
commit
2f62e679fb
27 changed files with 2764 additions and 590 deletions
  1. +4
    -1
      src/lang/en.js
  2. +37
    -0
      src/lang/en/business/resource/sj/sj.js
  3. +4
    -1
      src/lang/zh.js
  4. +38
    -0
      src/lang/zh/business/resource/sj/sj.js
  5. +0
    -98
      src/views/business/comps/select/SelectCctj.vue
  6. +0
    -98
      src/views/business/comps/select/SelectCcwz.vue
  7. +0
    -98
      src/views/business/comps/select/SelectNddw.vue
  8. +0
    -98
      src/views/business/comps/select/SelectTjdw.vue
  9. +0
    -98
      src/views/business/comps/select/SelectYxqdw.vue
  10. +0
    -98
      src/views/business/comps/select/SelectZldw.vue
  11. +157
    -0
      src/views/business/resource/sj/comps/Bj.vue
  12. +157
    -0
      src/views/business/resource/sj/comps/Czrq.vue
  13. +157
    -0
      src/views/business/resource/sj/comps/Czyj.vue
  14. +157
    -0
      src/views/business/resource/sj/comps/Ff.vue
  15. +157
    -0
      src/views/business/resource/sj/comps/Gd.vue
  16. +157
    -0
      src/views/business/resource/sj/comps/Gh.vue
  17. +157
    -0
      src/views/business/resource/sj/comps/Jd.vue
  18. +123
    -0
      src/views/business/resource/sj/comps/Js.vue
  19. +157
    -0
      src/views/business/resource/sj/comps/Jy.vue
  20. +157
    -0
      src/views/business/resource/sj/comps/Sd.vue
  21. +38
    -0
      src/views/business/resource/sj/comps/SelectList.vue
  22. +157
    -0
      src/views/business/resource/sj/comps/Shbj.vue
  23. +157
    -0
      src/views/business/resource/sj/comps/Shxgkc.vue
  24. +157
    -0
      src/views/business/resource/sj/comps/Xgkc.vue
  25. +66
    -0
      src/views/business/resource/sj/comps/Xq.vue
  26. +157
    -0
      src/views/business/resource/sj/comps/Ysff.vue
  27. +413
    -0
      src/views/business/resource/sj/list.vue

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

@ -15,6 +15,8 @@ import yq from './en/business/resource/yq/yq'
import zcg from './en/business/resource/zcg/zcg' import zcg from './en/business/resource/zcg/zcg'
// 麻精药 // 麻精药
import mjy from './en/business/resource/mjy/mjy' import mjy from './en/business/resource/mjy/mjy'
// 试剂库存
import sj from './en/business/resource/sj/sj'
export default { export default {
system: { system: {
name: 'WestChina-Frontier PharmaTech ELN', name: 'WestChina-Frontier PharmaTech ELN',
@ -115,7 +117,8 @@ export default {
}, },
zcg, zcg,
mjy, mjy,
yq
yq,
sj
} }
} }
} }

+ 37
- 0
src/lang/en/business/resource/sj/sj.js View File

@ -0,0 +1,37 @@
export default {
sdts:'请确认是否锁定以下麻精药',
gdts:'请确认是否归档以下麻精药',
mc:'名称',
bh:'编号',
jyzt:'借阅状态',
zjzt:'制剂状态',
sxrq:'失效日期',
nd:'浓度',
kcl:'库存量',
zcgMc:'暂存柜',
cctj:'存储条件',
ccwz:'存储位置',
plff:'批量发放',
plczyj:'批量处置药剂',
plczrq:'批量处置容器',
ysff:'钥匙发放',
plsd:'批量锁定',
plgd:'批量归档',
lock:'锁定',
unlock:'解锁',
detail:'详情',
guidang:'归档',
jiedang:'解档',
jieyue:'借阅',
guihuan:'归还',
fafang:'发放',
ysff:'钥匙发放',
czrq:'处置容器',
czyj:'处置药剂',
xgkc:'修改库存',
shxgkc:'审核修改库存',
shbj:'审核编辑',
}

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

@ -15,6 +15,8 @@ import yq from './zh/business/resource/yq/yq'
import zcg from './zh/business/resource/zcg/zcg' import zcg from './zh/business/resource/zcg/zcg'
// 麻精药 // 麻精药
import mjy from './zh/business/resource/mjy/mjy' import mjy from './zh/business/resource/mjy/mjy'
// 试剂库存
import sj from './en/business/resource/sj/sj'
export default { export default {
system: { system: {
name: '华西海圻ELN系统', name: '华西海圻ELN系统',
@ -112,7 +114,8 @@ export default {
}, },
zcg, zcg,
mjy, mjy,
yq
yq,
sj
} }
} }
} }

+ 38
- 0
src/lang/zh/business/resource/sj/sj.js View File

@ -0,0 +1,38 @@
export default {
sdts:'请确认是否锁定以下麻精药',
gdts:'请确认是否归档以下麻精药',
mc:'名称',
bh:'编号',
jyzt:'借阅状态',
zjzt:'制剂状态',
sxrq:'失效日期',
nd:'浓度',
kcl:'库存量',
zcgMc:'暂存柜',
cctj:'存储条件',
ccwz:'存储位置',
plff:'批量发放',
plczyj:'批量处置药剂',
plczrq:'批量处置容器',
ysff:'钥匙发放',
plsd:'批量锁定',
plgd:'批量归档',
lock:'锁定',
unlock:'解锁',
detail:'详情',
guidang:'归档',
jiedang:'解档',
jieyue:'借阅',
guihuan:'归还',
fafang:'发放',
ysff:'钥匙发放',
czrq:'处置容器',
czyj:'处置药剂',
xgkc:'修改库存',
shxgkc:'审核修改库存',
shbj:'审核编辑',
}

+ 0
- 98
src/views/business/comps/select/SelectCctj.vue View File

@ -1,98 +0,0 @@
<!-- 存储条件/温层选择器 -->
<template>
<div>
<el-select style="width:100%" v-model="selected" :placeholder="$t('form.placeholderSelect')" :disabled="readonly" :multiple="multiple" @change="handleChange" :filterable="filterable">
<el-option v-for="item in list" :key="item.dictCode" :label="item.dictLabel" :value="item.dictLabel" />
</el-select>
</div>
</template>
<script>
import { listData } from "@/api/system/dict/data"
export default {
name: "SelectCctj",
components: {},
props: {
value: {
type: [Number, String , Array],
default: '',
},
readonly: {
type: Boolean,
default: false
},
multiple: {
type: Boolean,
default: false
},
filterable: {
type: Boolean,
default: true
},
placeholder: {
type: String,
default: ''
}
},
watch: {
value: {
immediate: true,
handler(v) {
if(!this.multiple){
this.selected = v ? v : ''
}else{
if(v){
//,
let arr = v.split(',')
let s = []
_.forEach(arr,a=>{
s.push(a)
})
this.selected = s
}else{
this.selected = []
}
}
}
},
},
data() {
return {
selected: '',
list: [],
queryParams: {
pageNum: 1,
pageSize: 9999,
dictType: 'system_business_cctj',
status: 0
},
};
},
mounted() {
this.getList()
},
methods: {
getList() {
this.list = []
listData(this.queryParams).then(response => {
this.list = response.rows
})
},
handleChange(val) {
this.$emit('input', this.multiple ? (val && val.length>0 ? val.join(','): ''):(val || ''))
//,
let _index = _.findIndex(this.list, function (a) {
return a.dictLabel == val
})
console.log(_index)
if (_index > -1) {
this.$emit('change', this.list[_index])
} else {
this.$emit('change', null)
}
},
}
};
</script>

+ 0
- 98
src/views/business/comps/select/SelectCcwz.vue View File

@ -1,98 +0,0 @@
<!-- 存储位置选择器 -->
<template>
<div>
<el-select style="width:100%" v-model="selected" :placeholder="$t('form.placeholderSelect')" :disabled="readonly" :multiple="multiple" @change="handleChange" :filterable="filterable">
<el-option v-for="item in list" :key="item.dictCode" :label="item.dictLabel" :value="item.dictLabel" />
</el-select>
</div>
</template>
<script>
import { listData } from "@/api/system/dict/data"
export default {
name: "SelectCcwz",
components: {},
props: {
value: {
type: [Number, String , Array],
default: '',
},
readonly: {
type: Boolean,
default: false
},
multiple: {
type: Boolean,
default: false
},
filterable: {
type: Boolean,
default: true
},
placeholder: {
type: String,
default: ''
}
},
watch: {
value: {
immediate: true,
handler(v) {
if(!this.multiple){
this.selected = v ? v : ''
}else{
if(v){
//,
let arr = v.split(',')
let s = []
_.forEach(arr,a=>{
s.push(a)
})
this.selected = s
}else{
this.selected = []
}
}
}
},
},
data() {
return {
selected: '',
list: [],
queryParams: {
pageNum: 1,
pageSize: 9999,
dictType: 'system_business_ccwz',
status: 0
},
};
},
mounted() {
this.getList()
},
methods: {
getList() {
this.list = []
listData(this.queryParams).then(response => {
this.list = response.rows
})
},
handleChange(val) {
this.$emit('input', this.multiple ? (val && val.length>0 ? val.join(','): ''):(val || ''))
//,
let _index = _.findIndex(this.list, function (a) {
return a.dictLabel == val
})
console.log(_index)
if (_index > -1) {
this.$emit('change', this.list[_index])
} else {
this.$emit('change', null)
}
},
}
};
</script>

+ 0
- 98
src/views/business/comps/select/SelectNddw.vue View File

@ -1,98 +0,0 @@
<!-- 浓度单位选择器 -->
<template>
<div>
<el-select style="width:100%" v-model="selected" :placeholder="$t('form.placeholderSelect')" :disabled="readonly" :multiple="multiple" @change="handleChange" :filterable="filterable">
<el-option v-for="item in list" :key="item.dictCode" :label="item.dictLabel" :value="item.dictLabel" />
</el-select>
</div>
</template>
<script>
import { listData } from "@/api/system/dict/data"
export default {
name: "SelectNddw",
components: {},
props: {
value: {
type: [Number, String , Array],
default: '',
},
readonly: {
type: Boolean,
default: false
},
multiple: {
type: Boolean,
default: false
},
filterable: {
type: Boolean,
default: true
},
placeholder: {
type: String,
default: ''
}
},
watch: {
value: {
immediate: true,
handler(v) {
if(!this.multiple){
this.selected = v ? v : ''
}else{
if(v){
//,
let arr = v.split(',')
let s = []
_.forEach(arr,a=>{
s.push(a)
})
this.selected = s
}else{
this.selected = []
}
}
}
},
},
data() {
return {
selected: '',
list: [],
queryParams: {
pageNum: 1,
pageSize: 9999,
dictType: 'system_business_nddw',
status: 0
},
};
},
mounted() {
this.getList()
},
methods: {
getList() {
this.list = []
listData(this.queryParams).then(response => {
this.list = response.rows
})
},
handleChange(val) {
this.$emit('input', this.multiple ? (val && val.length>0 ? val.join(','): ''):(val || ''))
//,
let _index = _.findIndex(this.list, function (a) {
return a.dictLabel == val
})
console.log(_index)
if (_index > -1) {
this.$emit('change', this.list[_index])
} else {
this.$emit('change', null)
}
},
}
};
</script>

+ 0
- 98
src/views/business/comps/select/SelectTjdw.vue View File

@ -1,98 +0,0 @@
<!-- 体积单位选择器 -->
<template>
<div>
<el-select style="width:100%" v-model="selected" :placeholder="$t('form.placeholderSelect')" :disabled="readonly" :multiple="multiple" @change="handleChange" :filterable="filterable">
<el-option v-for="item in list" :key="item.dictCode" :label="item.dictLabel" :value="item.dictLabel" />
</el-select>
</div>
</template>
<script>
import { listData } from "@/api/system/dict/data"
export default {
name: "SelectTjdw",
components: {},
props: {
value: {
type: [Number, String , Array],
default: '',
},
readonly: {
type: Boolean,
default: false
},
multiple: {
type: Boolean,
default: false
},
filterable: {
type: Boolean,
default: true
},
placeholder: {
type: String,
default: ''
}
},
watch: {
value: {
immediate: true,
handler(v) {
if(!this.multiple){
this.selected = v ? v : ''
}else{
if(v){
//,
let arr = v.split(',')
let s = []
_.forEach(arr,a=>{
s.push(a)
})
this.selected = s
}else{
this.selected = []
}
}
}
},
},
data() {
return {
selected: '',
list: [],
queryParams: {
pageNum: 1,
pageSize: 9999,
dictType: 'system_business_tjdw',
status: 0
},
};
},
mounted() {
this.getList()
},
methods: {
getList() {
this.list = []
listData(this.queryParams).then(response => {
this.list = response.rows
})
},
handleChange(val) {
this.$emit('input', this.multiple ? (val && val.length>0 ? val.join(','): ''):(val || ''))
//,
let _index = _.findIndex(this.list, function (a) {
return a.dictLabel == val
})
console.log(_index)
if (_index > -1) {
this.$emit('change', this.list[_index])
} else {
this.$emit('change', null)
}
},
}
};
</script>

+ 0
- 98
src/views/business/comps/select/SelectYxqdw.vue View File

@ -1,98 +0,0 @@
<!-- 有效期单位选择器 -->
<template>
<div>
<el-select style="width:100%" v-model="selected" :placeholder="$t('form.placeholderSelect')" :disabled="readonly" :multiple="multiple" @change="handleChange" :filterable="filterable">
<el-option v-for="item in list" :key="item.dictCode" :label="item.dictLabel" :value="item.dictLabel" />
</el-select>
</div>
</template>
<script>
import { listData } from "@/api/system/dict/data"
export default {
name: "SelectYxqdw",
components: {},
props: {
value: {
type: [Number, String , Array],
default: '',
},
readonly: {
type: Boolean,
default: false
},
multiple: {
type: Boolean,
default: false
},
filterable: {
type: Boolean,
default: true
},
placeholder: {
type: String,
default: ''
}
},
watch: {
value: {
immediate: true,
handler(v) {
if(!this.multiple){
this.selected = v ? v : ''
}else{
if(v){
//,
let arr = v.split(',')
let s = []
_.forEach(arr,a=>{
s.push(a)
})
this.selected = s
}else{
this.selected = []
}
}
}
},
},
data() {
return {
selected: '',
list: [],
queryParams: {
pageNum: 1,
pageSize: 9999,
dictType: 'system_business_yxqdw',
status: 0
},
};
},
mounted() {
this.getList()
},
methods: {
getList() {
this.list = []
listData(this.queryParams).then(response => {
this.list = response.rows
})
},
handleChange(val) {
this.$emit('input', this.multiple ? (val && val.length>0 ? val.join(','): ''):(val || ''))
//,
let _index = _.findIndex(this.list, function (a) {
return a.dictLabel == val
})
console.log(_index)
if (_index > -1) {
this.$emit('change', this.list[_index])
} else {
this.$emit('change', null)
}
},
}
};
</script>

+ 0
- 98
src/views/business/comps/select/SelectZldw.vue View File

@ -1,98 +0,0 @@
<!-- 质量单位选择器 -->
<template>
<div>
<el-select style="width:100%" v-model="selected" :placeholder="$t('form.placeholderSelect')" :disabled="readonly" :multiple="multiple" @change="handleChange" :filterable="filterable">
<el-option v-for="item in list" :key="item.dictCode" :label="item.dictLabel" :value="item.dictLabel" />
</el-select>
</div>
</template>
<script>
import { listData } from "@/api/system/dict/data"
export default {
name: "SelectZldw",
components: {},
props: {
value: {
type: [Number, String , Array],
default: '',
},
readonly: {
type: Boolean,
default: false
},
multiple: {
type: Boolean,
default: false
},
filterable: {
type: Boolean,
default: true
},
placeholder: {
type: String,
default: ''
}
},
watch: {
value: {
immediate: true,
handler(v) {
if(!this.multiple){
this.selected = v ? v : ''
}else{
if(v){
//,
let arr = v.split(',')
let s = []
_.forEach(arr,a=>{
s.push(a)
})
this.selected = s
}else{
this.selected = []
}
}
}
},
},
data() {
return {
selected: '',
list: [],
queryParams: {
pageNum: 1,
pageSize: 9999,
dictType: 'system_business_zldw',
status: 0
},
};
},
mounted() {
this.getList()
},
methods: {
getList() {
this.list = []
listData(this.queryParams).then(response => {
this.list = response.rows
})
},
handleChange(val) {
this.$emit('input', this.multiple ? (val && val.length>0 ? val.join(','): ''):(val || ''))
//,
let _index = _.findIndex(this.list, function (a) {
return a.dictLabel == val
})
console.log(_index)
if (_index > -1) {
this.$emit('change', this.list[_index])
} else {
this.$emit('change', null)
}
},
}
};
</script>

+ 157
- 0
src/views/business/resource/sj/comps/Bj.vue View File

@ -0,0 +1,157 @@
G<template>
<div >
<!-- 编辑弹窗 -->
<el-dialog :title="$t('form.edit')" :visible.sync="open" width="500px" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<template v-if="isBatch">
<el-alert :title="$t('page.business.zykgl.mjy.jdts') " type="error" :closable="false">
</el-alert>
<el-row style="margin:10px 0px;">
<el-col :span="24">
<SelectList :value="selectList"/>
</el-col>
</el-row>
</template>
<template v-else>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.zykgl.mjy.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.zykgl.mjy.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>
</template>
<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="sdrmm">
<el-input type="text" v-model="form.sdrmm" 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 { mjy_jd, mjy_jdBatch } from "@/api/business/mjy/mjy"
import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
export default {
name: "MjyBj",
components: { SelectList },
data() {
return {
isBatch: false,
ids: [],
selectList: [],
open: false,
form: {},
rules: {
sdrmm: [{
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: '申请解档',
sdrmm: 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) {
mjy_jdBatch(this.form).then(response => {
this.open = false
this.$emit('callback')
})
} else {
mjy_jd(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
}
})
}
}
}
</script>

+ 157
- 0
src/views/business/resource/sj/comps/Czrq.vue View File

@ -0,0 +1,157 @@
G<template>
<div >
<!-- 处置容器弹窗 -->
<el-dialog :title="$t('page.business.zykgl.mjy.czrq')" :visible.sync="open" width="500px" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<template v-if="isBatch">
<el-alert :title="$t('page.business.zykgl.mjy.jdts') " type="error" :closable="false">
</el-alert>
<el-row style="margin:10px 0px;">
<el-col :span="24">
<SelectList :value="selectList"/>
</el-col>
</el-row>
</template>
<template v-else>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.zykgl.mjy.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.zykgl.mjy.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>
</template>
<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="sdrmm">
<el-input type="text" v-model="form.sdrmm" 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 { mjy_jd, mjy_jdBatch } from "@/api/business/mjy/mjy"
import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
export default {
name: "MjyBj",
components: { SelectList },
data() {
return {
isBatch: false,
ids: [],
selectList: [],
open: false,
form: {},
rules: {
sdrmm: [{
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: '申请解档',
sdrmm: 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) {
mjy_jdBatch(this.form).then(response => {
this.open = false
this.$emit('callback')
})
} else {
mjy_jd(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
}
})
}
}
}
</script>

+ 157
- 0
src/views/business/resource/sj/comps/Czyj.vue View File

@ -0,0 +1,157 @@
G<template>
<div >
<!-- 处置药剂弹窗 -->
<el-dialog :title="$t('page.business.zykgl.mjy.czyj')" :visible.sync="open" width="500px" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<template v-if="isBatch">
<el-alert :title="$t('page.business.zykgl.mjy.jdts') " type="error" :closable="false">
</el-alert>
<el-row style="margin:10px 0px;">
<el-col :span="24">
<SelectList :value="selectList"/>
</el-col>
</el-row>
</template>
<template v-else>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.zykgl.mjy.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.zykgl.mjy.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>
</template>
<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="sdrmm">
<el-input type="text" v-model="form.sdrmm" 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 { mjy_jd, mjy_jdBatch } from "@/api/business/mjy/mjy"
import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
export default {
name: "MjyBj",
components: { SelectList },
data() {
return {
isBatch: false,
ids: [],
selectList: [],
open: false,
form: {},
rules: {
sdrmm: [{
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: '申请解档',
sdrmm: 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) {
mjy_jdBatch(this.form).then(response => {
this.open = false
this.$emit('callback')
})
} else {
mjy_jd(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
}
})
}
}
}
</script>

+ 157
- 0
src/views/business/resource/sj/comps/Ff.vue View File

@ -0,0 +1,157 @@
G<template>
<div >
<!-- 发放弹窗 -->
<el-dialog :title="$t('page.business.zykgl.mjy.fafang')" :visible.sync="open" width="500px" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<template v-if="isBatch">
<el-alert :title="$t('page.business.zykgl.mjy.jdts') " type="error" :closable="false">
</el-alert>
<el-row style="margin:10px 0px;">
<el-col :span="24">
<SelectList :value="selectList"/>
</el-col>
</el-row>
</template>
<template v-else>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.zykgl.mjy.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.zykgl.mjy.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>
</template>
<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="sdrmm">
<el-input type="text" v-model="form.sdrmm" 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 { mjy_jd, mjy_jdBatch } from "@/api/business/mjy/mjy"
import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
export default {
name: "MjyBj",
components: { SelectList },
data() {
return {
isBatch: false,
ids: [],
selectList: [],
open: false,
form: {},
rules: {
sdrmm: [{
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: '申请解档',
sdrmm: 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) {
mjy_jdBatch(this.form).then(response => {
this.open = false
this.$emit('callback')
})
} else {
mjy_jd(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
}
})
}
}
}
</script>

+ 157
- 0
src/views/business/resource/sj/comps/Gd.vue View File

@ -0,0 +1,157 @@
G<template>
<div >
<!-- 归档弹窗 -->
<el-dialog :title="$t('page.business.zykgl.mjy.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">
<template v-if="isBatch">
<el-alert :title="$t('page.business.zykgl.mjy.gdts') " type="error" :closable="false">
</el-alert>
<el-row style="margin:10px 0px;">
<el-col :span="24">
<SelectList :value="selectList"/>
</el-col>
</el-row>
</template>
<template v-else>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.zykgl.mjy.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.zykgl.mjy.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>
</template>
<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="sdrmm">
<el-input type="text" v-model="form.sdrmm" 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 { mjy_gd, mjy_gdBatch } from "@/api/business/mjy/mjy"
import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
export default {
name: "MjyGd",
components: { SelectList },
data() {
return {
isBatch: false,
ids: [],
selectList: [],
open: false,
form: {},
rules: {
sdrmm: [{
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: '申请归档',
sdrmm: 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) {
mjy_gdBatch(this.form).then(response => {
this.open = false
this.$emit('callback')
})
} else {
mjy_gd(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
}
})
}
}
}
</script>

+ 157
- 0
src/views/business/resource/sj/comps/Gh.vue View File

@ -0,0 +1,157 @@
G<template>
<div >
<!-- 归还弹窗 -->
<el-dialog :title="$t('page.business.zykgl.mjy.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">
<template v-if="isBatch">
<el-alert :title="$t('page.business.zykgl.mjy.jdts') " type="error" :closable="false">
</el-alert>
<el-row style="margin:10px 0px;">
<el-col :span="24">
<SelectList :value="selectList"/>
</el-col>
</el-row>
</template>
<template v-else>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.zykgl.mjy.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.zykgl.mjy.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>
</template>
<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="sdrmm">
<el-input type="text" v-model="form.sdrmm" 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 { mjy_jd, mjy_jdBatch } from "@/api/business/mjy/mjy"
import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
export default {
name: "MjyBj",
components: { SelectList },
data() {
return {
isBatch: false,
ids: [],
selectList: [],
open: false,
form: {},
rules: {
sdrmm: [{
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: '申请解档',
sdrmm: 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) {
mjy_jdBatch(this.form).then(response => {
this.open = false
this.$emit('callback')
})
} else {
mjy_jd(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
}
})
}
}
}
</script>

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

@ -0,0 +1,157 @@
G<template>
<div >
<!-- 解档弹窗 -->
<el-dialog :title="$t('page.business.zykgl.mjy.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">
<template v-if="isBatch">
<el-alert :title="$t('page.business.zykgl.mjy.jdts') " type="error" :closable="false">
</el-alert>
<el-row style="margin:10px 0px;">
<el-col :span="24">
<SelectList :value="selectList"/>
</el-col>
</el-row>
</template>
<template v-else>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.zykgl.mjy.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.zykgl.mjy.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>
</template>
<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="sdrmm">
<el-input type="text" v-model="form.sdrmm" 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 { mjy_jd, mjy_jdBatch } from "@/api/business/mjy/mjy"
import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
export default {
name: "MjyJd",
components: { SelectList },
data() {
return {
isBatch: false,
ids: [],
selectList: [],
open: false,
form: {},
rules: {
sdrmm: [{
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: '申请解档',
sdrmm: 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) {
mjy_jdBatch(this.form).then(response => {
this.open = false
this.$emit('callback')
})
} else {
mjy_jd(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
}
})
}
}
}
</script>

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

@ -0,0 +1,123 @@
G<template>
<div >
<!-- 解锁弹窗 -->
<el-dialog :title="$t('page.business.zykgl.mjy.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.zykgl.mjy.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.zykgl.mjy.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="sdrmm">
<el-input type="text" v-model="form.sdrmm" 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 { mjy_js } from "@/api/business/mjy/mjy"
import { mapGetters } from 'vuex'
export default {
name: "MjyJs",
data() {
return {
open: false,
form: {},
rules: {
sdrmm: [{
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: '解锁麻精药',
sdrmm: 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) {
mjy_js(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
})
}
}
}
</script>

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

@ -0,0 +1,157 @@
G<template>
<div >
<!-- 借阅弹窗 -->
<el-dialog :title="$t('page.business.zykgl.mjy.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">
<template v-if="isBatch">
<el-alert :title="$t('page.business.zykgl.mjy.jdts') " type="error" :closable="false">
</el-alert>
<el-row style="margin:10px 0px;">
<el-col :span="24">
<SelectList :value="selectList"/>
</el-col>
</el-row>
</template>
<template v-else>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.zykgl.mjy.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.zykgl.mjy.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>
</template>
<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="sdrmm">
<el-input type="text" v-model="form.sdrmm" 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 { mjy_jd, mjy_jdBatch } from "@/api/business/mjy/mjy"
import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
export default {
name: "MjyBj",
components: { SelectList },
data() {
return {
isBatch: false,
ids: [],
selectList: [],
open: false,
form: {},
rules: {
sdrmm: [{
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: '申请解档',
sdrmm: 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) {
mjy_jdBatch(this.form).then(response => {
this.open = false
this.$emit('callback')
})
} else {
mjy_jd(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
}
})
}
}
}
</script>

+ 157
- 0
src/views/business/resource/sj/comps/Sd.vue View File

@ -0,0 +1,157 @@
G<template>
<div >
<!-- 锁定弹窗 -->
<el-dialog :title="$t('page.business.zykgl.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">
<template v-if="isBatch">
<el-alert :title="$t('page.business.zykgl.mjy.sdts') " type="error" :closable="false">
</el-alert>
<el-row style="margin:10px 0px;">
<el-col :span="24">
<SelectList :value="selectList"/>
</el-col>
</el-row>
</template>
<template v-else>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.zykgl.mjy.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.zykgl.mjy.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>
</template>
<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="sdrmm">
<el-input type="text" v-model="form.sdrmm" 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 { mjy_sd, mjy_sdBatch } from "@/api/business/mjy/mjy"
import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
export default {
name: "MjySd",
components: { SelectList },
data() {
return {
isBatch: false,
ids: [],
selectList: [],
open: false,
form: {},
rules: {
sdrmm: [{
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: '锁定麻精药',
sdrmm: 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) {
mjy_sdBatch(this.form).then(response => {
this.open = false
this.$emit('callback')
})
} else {
mjy_sd(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
}
})
}
}
}
</script>

+ 38
- 0
src/views/business/resource/sj/comps/SelectList.vue View File

@ -0,0 +1,38 @@
G<template>
<div class="app-container">
<el-table :data="selectList" border>
<el-table-column :label="$t('page.business.zykgl.mjy.mc')" align="left" prop="mc" :show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.zykgl.mjy.bh')" align="left" prop="bh" :show-overflow-tooltip="true" />
</el-table>
</div>
</template>
<script>
export default {
name: "MjySelectList",
data() {
return {
selectList: []
}
},
props: {
value: {
type: Array,
default: () => []
}
},
watch: {
value: {
immediate: true,
handler(v) {
this.selectList = v || []
}
},
},
created() {
},
methods: {
}
}
</script>

+ 157
- 0
src/views/business/resource/sj/comps/Shbj.vue View File

@ -0,0 +1,157 @@
G<template>
<div >
<!-- 审核编辑弹窗 -->
<el-dialog :title="$t('page.business.zykgl.mjy.shbj')" :visible.sync="open" width="500px" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<template v-if="isBatch">
<el-alert :title="$t('page.business.zykgl.mjy.jdts') " type="error" :closable="false">
</el-alert>
<el-row style="margin:10px 0px;">
<el-col :span="24">
<SelectList :value="selectList"/>
</el-col>
</el-row>
</template>
<template v-else>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.zykgl.mjy.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.zykgl.mjy.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>
</template>
<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="sdrmm">
<el-input type="text" v-model="form.sdrmm" 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 { mjy_jd, mjy_jdBatch } from "@/api/business/mjy/mjy"
import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
export default {
name: "MjyBj",
components: { SelectList },
data() {
return {
isBatch: false,
ids: [],
selectList: [],
open: false,
form: {},
rules: {
sdrmm: [{
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: '申请解档',
sdrmm: 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) {
mjy_jdBatch(this.form).then(response => {
this.open = false
this.$emit('callback')
})
} else {
mjy_jd(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
}
})
}
}
}
</script>

+ 157
- 0
src/views/business/resource/sj/comps/Shxgkc.vue View File

@ -0,0 +1,157 @@
G<template>
<div >
<!-- 审核修改库存弹窗 -->
<el-dialog :title="$t('page.business.zykgl.mjy.shxgkc')" :visible.sync="open" width="500px" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<template v-if="isBatch">
<el-alert :title="$t('page.business.zykgl.mjy.jdts') " type="error" :closable="false">
</el-alert>
<el-row style="margin:10px 0px;">
<el-col :span="24">
<SelectList :value="selectList"/>
</el-col>
</el-row>
</template>
<template v-else>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.zykgl.mjy.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.zykgl.mjy.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>
</template>
<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="sdrmm">
<el-input type="text" v-model="form.sdrmm" 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 { mjy_jd, mjy_jdBatch } from "@/api/business/mjy/mjy"
import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
export default {
name: "MjyBj",
components: { SelectList },
data() {
return {
isBatch: false,
ids: [],
selectList: [],
open: false,
form: {},
rules: {
sdrmm: [{
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: '申请解档',
sdrmm: 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) {
mjy_jdBatch(this.form).then(response => {
this.open = false
this.$emit('callback')
})
} else {
mjy_jd(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
}
})
}
}
}
</script>

+ 157
- 0
src/views/business/resource/sj/comps/Xgkc.vue View File

@ -0,0 +1,157 @@
G<template>
<div >
<!-- 修改库存弹窗 -->
<el-dialog :title="$t('page.business.zykgl.mjy.xgkc')" :visible.sync="open" width="500px" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<template v-if="isBatch">
<el-alert :title="$t('page.business.zykgl.mjy.jdts') " type="error" :closable="false">
</el-alert>
<el-row style="margin:10px 0px;">
<el-col :span="24">
<SelectList :value="selectList"/>
</el-col>
</el-row>
</template>
<template v-else>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.zykgl.mjy.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.zykgl.mjy.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>
</template>
<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="sdrmm">
<el-input type="text" v-model="form.sdrmm" 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 { mjy_jd, mjy_jdBatch } from "@/api/business/mjy/mjy"
import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
export default {
name: "MjyBj",
components: { SelectList },
data() {
return {
isBatch: false,
ids: [],
selectList: [],
open: false,
form: {},
rules: {
sdrmm: [{
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: '申请解档',
sdrmm: 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) {
mjy_jdBatch(this.form).then(response => {
this.open = false
this.$emit('callback')
})
} else {
mjy_jd(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
}
})
}
}
}
</script>

+ 66
- 0
src/views/business/resource/sj/comps/Xq.vue View File

@ -0,0 +1,66 @@
G<template>
<!-- 详情 -->
<div class="detail-container">
<div class="header">
<div @click="cancel" class="detail-cancel"><i class="el-icon-arrow-left"></i></div>
<div>
<el-button ><div>{{ $t('form.export') }}</div></el-button>
</div>
</div>
<div class="detail-title"><img src="@/assets/images/detail-title.png" >麻精药详情<img src="@/assets/images/detail-title.png" ></img></div>
<div class="content">
<div class="content-title">
<div class="line"></div>
<div class="subtitle"> 基本信息</div>
</div>
<el-form ref="form" :model="form" :rules="rules" label-width="0px">
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('form.qmyy') }}</div>
<el-form-item prop="qmyy">
<el-input type="text" :value="form.qmyy" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</div>
<div class="right">
<div class="right-title">{{ $t('form.qmyy') }}</div>
<el-form-item prop="qmyy">
<el-input type="text" :value="form.qmyy" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</div>
</div>
</el-form>
</div>
</div>
</template>
<script>
import { mjy_info } from "@/api/business/mjy/mjy"
export default {
name: "MjyXq",
data() {
return {
form: {},
rules: {
}
}
},
created() {
},
methods: {
cancel() {
this.$emit('cancel')
},
show(row) {
mjy_info({ id: row.id }).then(response => {
this.form = response.data
this.open = false
})
this.open = true
}
}
}
</script>

+ 157
- 0
src/views/business/resource/sj/comps/Ysff.vue View File

@ -0,0 +1,157 @@
G<template>
<div >
<!-- 钥匙发放弹窗 -->
<el-dialog :title="$t('page.business.zykgl.mjy.ysff')" :visible.sync="open" width="500px" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<template v-if="isBatch">
<el-alert :title="$t('page.business.zykgl.mjy.jdts') " type="error" :closable="false">
</el-alert>
<el-row style="margin:10px 0px;">
<el-col :span="24">
<SelectList :value="selectList"/>
</el-col>
</el-row>
</template>
<template v-else>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.zykgl.mjy.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.zykgl.mjy.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>
</template>
<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="sdrmm">
<el-input type="text" v-model="form.sdrmm" 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 { mjy_jd, mjy_jdBatch } from "@/api/business/mjy/mjy"
import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
export default {
name: "MjyBj",
components: { SelectList },
data() {
return {
isBatch: false,
ids: [],
selectList: [],
open: false,
form: {},
rules: {
sdrmm: [{
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: '申请解档',
sdrmm: 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) {
mjy_jdBatch(this.form).then(response => {
this.open = false
this.$emit('callback')
})
} else {
mjy_jd(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
}
})
}
}
}
</script>

+ 413
- 0
src/views/business/resource/sj/list.vue View File

@ -0,0 +1,413 @@
<template>
<div>
<!-- 详情 -->
<template v-if="showDetail">
<Xq ref="Xq" @cancel="cancelXq" />
</template>
<!-- 列表 -->
<template v-else>
<div class="app-container mjy">
<el-form :model="queryParams" ref="queryForm" class="search-area" size="small" :inline="true"
label-width="88px">
<!-- 名称 -->
<el-form-item :label="$t('page.business.zykgl.mjy.mc') + ':'">
<el-input v-model="queryParams.mc" clearable @change="handleQuery"
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
<!-- 编号 -->
<el-form-item :label="$t('page.business.zykgl.mjy.bh') + ':'">
<el-input v-model="queryParams.bh" clearable @change="handleQuery"
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
<!-- 借阅状态 -->
<el-form-item :label="$t('page.business.zykgl.mjy.jyzt') + ':'">
<el-select v-model="queryParams.jyzt" :placeholder="$t('form.placeholderSelect')" clearable
@change="handleQuery">
<el-option key="1" :label="$t('page.business.zykgl.jyzt.wjy')" value="1" />
<el-option key="3" :label="$t('page.business.zykgl.jyzt.djy')" value="3" />
<el-option key="5" :label="$t('page.business.zykgl.jyzt.jyz')" value="5" />
</el-select>
</el-form-item>
<!-- 制剂状态 -->
<el-form-item :label="$t('page.business.zykgl.mjy.zjzt') + ':'">
<el-select v-model="queryParams.zjzt" :placeholder="$t('form.placeholderSelect')" clearable
@change="handleQuery">
<el-option key="1" :label="$t('page.business.zykgl.zjzt.rk')" value="1" />
<el-option key="3" :label="$t('page.business.zykgl.zjzt.yff')" value="3" />
<el-option key="5" :label="$t('page.business.zykgl.zjzt.ysd')" value="5" />
<el-option key="7" :label="$t('page.business.zykgl.zjzt.dgd')" value="7" />
<el-option key="9" :label="$t('page.business.zykgl.zjzt.gd')" value="9" />
<el-option key="11" :label="$t('page.business.zykgl.zjzt.djd')" value="11" />
</el-select>
</el-form-item>
<!-- 失效日期 -->
<el-form-item :label="$t('page.business.zykgl.mjy.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:mjy:ff']">{{
$t('page.business.zykgl.mjy.plff') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 批量处置药剂 -->
<el-button type="primary" :disabled="multiple" @click="handlePlczyj"
v-hasPermi="['business:resource:mjy:czyj']">{{
$t('page.business.zykgl.mjy.plczyj') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 批量处置容器 -->
<el-button type="primary" :disabled="multiple" @click="handlePlczrq"
v-hasPermi="['business:resource:mjy:czrq']">{{
$t('page.business.zykgl.mjy.plczrq') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 钥匙发放 -->
<el-button type="primary" :disabled="multiple" @click="handleYsff"
v-hasPermi="['business:resource:mjy:ysff']">{{
$t('page.business.zykgl.mjy.ysff') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 批量锁定 -->
<el-button type="primary" :disabled="multiple" @click="handlePlsd"
v-hasPermi="['business:resource:mjy:sd']">{{
$t('page.business.zykgl.mjy.plsd') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 批量归档 -->
<el-button type="primary" :disabled="multiple" @click="handlePlgd"
v-hasPermi="['business:resource:mjy:gd']">{{
$t('page.business.zykgl.mjy.plgd') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 导出 -->
<el-button type="primary" :disabled="multiple" @click="handleDc"
v-hasPermi="['business:resource:mjy: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" width="55" align="center" :selectable="checkSelectable" />
<el-table-column :label="$t('page.business.zykgl.mjy.mc')" align="left" prop="mc"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.zykgl.mjy.bh')" align="center" prop="bh"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.zykgl.mjy.nd')" align="center">
<template slot-scope="scope">
{{ scope.row.nd }}{{ scope.row.nddw }}
</template>
</el-table-column>
<el-table-column :label="$t('page.business.zykgl.mjy.kcl')" align="center">
<template slot-scope="scope">
{{ scope.row.kc }}{{ scope.row.kcdw }}
</template>
</el-table-column>
<el-table-column :label="$t('page.business.zykgl.mjy.sxrq')" align="center" prop="sxrq" width="150px" />
<el-table-column :label="$t('page.business.zykgl.mjy.zcgMc')" align="center" prop="zcgMc" width="130px" />
<el-table-column :label="$t('page.business.zykgl.mjy.cctj')" align="center" prop="cctj" width="130px" />
<el-table-column :label="$t('page.business.zykgl.mjy.ccwz')" align="center" prop="ccwz" width="130px" />
<el-table-column :label="$t('page.business.zykgl.mjy.zjzt')" align="center" width="150px">
<template slot-scope="scope">
<span v-if="scope.row.zjzt == 1">{{ $t('page.business.zykgl.zjzt.rk') }}</span>
<span v-if="scope.row.zjzt == 3">{{ $t('page.business.zykgl.zjzt.yff') }}</span>
<span v-if="scope.row.zjzt == 5">{{ $t('page.business.zykgl.zjzt.ysd') }}</span>
<span v-if="scope.row.zjzt == 7">{{ $t('page.business.zykgl.zjzt.dgd') }}</span>
<span v-if="scope.row.zjzt == 9">{{ $t('page.business.zykgl.zjzt.gd') }}</span>
<span v-if="scope.row.zjzt == 11">{{ $t('page.business.zykgl.zjzt.djd') }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('page.business.zykgl.mjy.jyzt')" align="center" width="150px">
<template slot-scope="scope">
<span v-if="scope.row.jyzt == 1">{{ $t('page.business.zykgl.jyzt.wjy') }}</span>
<span v-if="scope.row.jyzt == 3">{{ $t('page.business.zykgl.jyzt.djy') }}</span>
<span v-if="scope.row.jyzt == 5">{{ $t('page.business.zykgl.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 size="mini" type="text" @click="handleXq(scope.row)"
v-hasPermi="['business:resource:mjy:list']">{{
$t('page.business.zykgl.mjy.detail') }}</el-button>
<!-- 发放 -->
<el-button size="mini" type="text" @click="handleFf(scope.row)"
v-hasPermi="['business:resource:mjy:ff']">{{
$t('page.business.zykgl.mjy.fafang') }}</el-button>
<!-- 处置药剂 -->
<el-button size="mini" type="text" @click="handleCzyj(scope.row)"
v-hasPermi="['business:resource:mjy:czyj']">{{
$t('page.business.zykgl.mjy.czyj') }}</el-button>
<!-- 处置容器 -->
<el-button size="mini" type="text" @click="handleCzrq(scope.row)"
v-hasPermi="['business:resource:mjy:czrq']">{{
$t('page.business.zykgl.mjy.czrq') }}</el-button>
<!-- 编辑 -->
<el-button size="mini" type="text" @click="handleBj(scope.row)"
v-hasPermi="['business:resource:mjy:bj']">{{
$t('form.edit') }}</el-button>
<!-- 审核编辑 -->
<el-button size="mini" type="text" @click="handleShbj(scope.row)"
v-hasPermi="['business:resource:mjy:shbj']">{{
$t('page.business.zykgl.mjy.shbj') }}</el-button>
<!-- 修改库存 -->
<el-button size="mini" type="text" @click="handleXgkc(scope.row)"
v-hasPermi="['business:resource:mjy:xgkc']">{{
$t('page.business.zykgl.mjy.xgkc') }}</el-button>
<!-- 审核修改库存 -->
<el-button size="mini" type="text" @click="handleShxgkc(scope.row)"
v-hasPermi="['business:resource:mjy:shxgkc']">{{
$t('page.business.zykgl.mjy.shxgkc') }}</el-button>
<!-- 锁定 -->
<el-button size="mini" type="text" @click="handleSd(scope.row)"
v-hasPermi="['business:resource:mjy:sd']">{{
$t('page.business.zykgl.mjy.lock') }}</el-button>
<!-- 解锁 -->
<el-button size="mini" type="text" @click="handleJs(scope.row)"
v-hasPermi="['business:resource:mjy:js']">{{
$t('page.business.zykgl.mjy.unlock') }}</el-button>
<!-- 归档 -->
<el-button size="mini" type="text" @click="handleGd(scope.row)"
v-hasPermi="['business:resource:mjy:gd']">{{
$t('page.business.zykgl.mjy.guidang') }}</el-button>
<!-- 解档 -->
<el-button size="mini" type="text" @click="handleJd(scope.row)"
v-hasPermi="['business:resource:mjy:jd']">{{
$t('page.business.zykgl.mjy.jiedang') }}</el-button>
<!-- 借阅 -->
<el-button size="mini" type="text" @click="handleJy(scope.row)"
v-hasPermi="['business:resource:mjy:jy']">{{
$t('page.business.zykgl.mjy.jieyue') }}</el-button>
<!-- 归还 -->
<el-button size="mini" type="text" @click="handleGh(scope.row)"
v-hasPermi="['business:resource:mjy:gh']">{{
$t('page.business.zykgl.mjy.guihuan') }}</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 ref="Sd" @callback="handleQuery" />
<!-- 解锁 -->
<Js ref="Js" @callback="handleQuery" />
<!-- 归档 -->
<Gd ref="Gd" @callback="handleQuery" />
<!-- 解档 -->
<Jd ref="Jd" @callback="handleQuery" />
<!-- 编辑 -->
<Bj ref="Bj" @callback="handleQuery" />
<!-- 审核编辑 -->
<Shbj ref="Shbj" @callback="handleQuery" />
<!-- 修改库存 -->
<Xgkc ref="Xgkc" @callback="handleQuery" />
<!-- 审核修改库存 -->
<Shxgkc ref="Shxgkc" @callback="handleQuery" />
<!-- 借阅 -->
<Jy ref="Jy" @callback="handleQuery" />
<!-- 归还 -->
<Gh ref="Gh" @callback="handleQuery" />
<!-- 发放 -->
<Ff ref="Ff" @callback="handleQuery" />
<!-- 处置药剂 -->
<Czyj ref="Czyj" @callback="handleQuery" />
<!-- 处置容器 -->
<Czrq ref="Czrq" @callback="handleQuery" />
<!-- 钥匙发放 -->
<Ysff ref="Ysff" @callback="handleQuery" />
</template>
</div>
</template>
<script>
import { mjy_list } from "@/api/business/mjy/mjy"
import Sd from "./comps/Sd";
import Js from "./comps/Js";
import Gd from "./comps/Gd";
import Jd from "./comps/Jd";
import Xq from "./comps/Xq";
import Bj from "./comps/Bj";
import Shbj from "./comps/Shbj";
import Xgkc from "./comps/Xgkc";
import Shxgkc from "./comps/Shxgkc";
import Jy from "./comps/Jy";
import Gh from "./comps/Gh";
import Ff from "./comps/Ff";
import Czrq from "./comps/Czrq";
import Czyj from "./comps/Czyj";
import Ysff from "./comps/Ysff";
export default {
name: "Sj",
components: { Sd, Js, Gd, Xq, Jd, Bj, Shbj, Xgkc, Shxgkc, Jy, Gh,Czyj,Czrq,Ff,Ysff },
data() {
return {
showDetail: false,
daterange: [],
loading: true,
single: true,
multiple: true,
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: {
//
handleYsff() {
this.$refs.Ysff.showBatch(this.selectList)
},
//
handlePlff(row) {
this.$refs.Ff.showBatch(this.selectList)
},
//
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)
},
//
cancelXq() {
this.showDetail = false
},
//
checkSelectable(row) {
return true;
},
//
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
mjy_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">
.mjy {}
</style>

Loading…
Cancel
Save