Browse Source

feat:[资源库管理][供试品]列表页

lkf
HanLong 3 months ago
parent
commit
6e97c281f0
31 changed files with 5398 additions and 31 deletions
  1. +10
    -0
      src/api/business/sj/sj.js
  2. +156
    -0
      src/views/business/resource/gsp/comps/ffjl/Gd.vue
  3. +144
    -0
      src/views/business/resource/gsp/comps/ffjl/Jd.vue
  4. +123
    -0
      src/views/business/resource/gsp/comps/ffjl/Jq.vue
  5. +123
    -0
      src/views/business/resource/gsp/comps/ffjl/Js.vue
  6. +158
    -0
      src/views/business/resource/gsp/comps/ffjl/Jy.vue
  7. +156
    -0
      src/views/business/resource/gsp/comps/ffjl/Sd.vue
  8. +56
    -0
      src/views/business/resource/gsp/comps/ffjl/SelectList.vue
  9. +227
    -0
      src/views/business/resource/gsp/comps/ffjl/Xq.vue
  10. +339
    -0
      src/views/business/resource/gsp/comps/ffjlList.vue
  11. +196
    -0
      src/views/business/resource/gsp/comps/mjy/Bj.vue
  12. +274
    -0
      src/views/business/resource/gsp/comps/mjy/Czrq.vue
  13. +297
    -0
      src/views/business/resource/gsp/comps/mjy/Czyj.vue
  14. +416
    -0
      src/views/business/resource/gsp/comps/mjy/Ff.vue
  15. +156
    -0
      src/views/business/resource/gsp/comps/mjy/Gd.vue
  16. +362
    -0
      src/views/business/resource/gsp/comps/mjy/Gh.vue
  17. +157
    -0
      src/views/business/resource/gsp/comps/mjy/Jd.vue
  18. +123
    -0
      src/views/business/resource/gsp/comps/mjy/Js.vue
  19. +191
    -0
      src/views/business/resource/gsp/comps/mjy/Jy.vue
  20. +156
    -0
      src/views/business/resource/gsp/comps/mjy/Sd.vue
  21. +55
    -0
      src/views/business/resource/gsp/comps/mjy/SelectList.vue
  22. +223
    -0
      src/views/business/resource/gsp/comps/mjy/Shbj.vue
  23. +172
    -0
      src/views/business/resource/gsp/comps/mjy/Shxgkc.vue
  24. +145
    -0
      src/views/business/resource/gsp/comps/mjy/Xgkc.vue
  25. +222
    -0
      src/views/business/resource/gsp/comps/mjy/Xq.vue
  26. +216
    -0
      src/views/business/resource/gsp/comps/mjy/Ysff.vue
  27. +425
    -0
      src/views/business/resource/gsp/comps/mjyList.vue
  28. +94
    -0
      src/views/business/resource/gsp/index.vue
  29. +3
    -3
      src/views/business/resource/sj/comps/Gd.vue
  30. +21
    -26
      src/views/business/resource/sj/comps/Jy.vue
  31. +2
    -2
      src/views/business/resource/sj/list.vue

+ 10
- 0
src/api/business/sj/sj.js View File

@ -99,6 +99,16 @@ export function sj_plgd(data) {
})
}
// 借阅
export function sj_jy(data) {
return request({
url: '/system/business/sj/jy',
method: 'post',
data: data
})
}
// 查询试剂库存-稽查轨迹列表
export function jcgjList(query) {
return request({

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

@ -0,0 +1,156 @@
G<template>
<div>
<!-- 锁定弹窗 -->
<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'">
<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.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.resource.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>
</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/mjy/mjyFfjl"
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/gsp/comps/ffjl/Jd.vue View File

@ -0,0 +1,144 @@
G<template>
<div >
<!-- 解档弹窗 -->
<el-dialog :title="$t('page.business.resource.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">
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.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.resource.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="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/mjy/mjyFfjl"
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/gsp/comps/ffjl/Jq.vue View File

@ -0,0 +1,123 @@
G<template>
<div >
<!-- 加签弹窗 -->
<el-dialog :title="$t('page.business.resource.mjy.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.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.resource.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="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/mjy/mjyFfjl"
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/gsp/comps/ffjl/Js.vue View File

@ -0,0 +1,123 @@
G<template>
<div >
<!-- 解锁弹窗 -->
<el-dialog :title="$t('page.business.resource.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.resource.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.resource.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="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/mjy/mjyFfjl"
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>

+ 158
- 0
src/views/business/resource/gsp/comps/ffjl/Jy.vue View File

@ -0,0 +1,158 @@
G<template>
<div>
<!-- 借阅弹窗 -->
<el-dialog :title="$t('page.business.resource.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">
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.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.resource.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('page.business.resource.mjy.jysj') + ':'" prop="startDate">
<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="daterangeChange" style="width: 250px;" />
</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/mjy/mjyFfjl"
import { mapGetters } from 'vuex'
export default {
name: "Jy",
data() {
return {
open: false,
form: {},
daterange: [],
rules: {
qmrmm: [{
required: true,
message: ' ',
trigger: 'blur'
}],
endDate: [{
required: true,
message: ' ',
trigger: 'blur'
}],
startDate: [{
required: true,
message: ' ',
trigger: 'blur'
}],
}
}
},
computed: {
...mapGetters([
'nickName'
]),
},
created() {
},
methods: {
cancel() {
this.open = false
},
daterangeChange() {
if (this.daterange != null && this.daterange.length > 0) {
this.form.startDate = this.daterange[0]
this.form.endDate = this.daterange[1];
} else {
this.form.startDate = ''
this.form.endDate = ''
}
},
reset() {
this.form = {
id: null,
ids: null,
mc: null,
startDate: null,
endDate: 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/gsp/comps/ffjl/Sd.vue View File

@ -0,0 +1,156 @@
G<template>
<div>
<!-- 锁定弹窗 -->
<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'">
<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.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.resource.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>
</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/mjy/mjyFfjl"
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/gsp/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.mjy.mc')" align="left" prop="mc"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.mjy.bh')" align="center" prop="bh"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.mjy.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.mjy.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>

+ 227
- 0
src/views/business/resource/gsp/comps/ffjl/Xq.vue View File

@ -0,0 +1,227 @@
<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('form.cancel') }}</el-button>
<el-button @click="exportExcel()">{{ $t('form.export') }}</el-button>
</div>
</div>
<div class="detail-title"><img src="@/assets/images/detail-title.png" >{{ $t('page.business.resource.mjy.ffjlxq') }}<img src="@/assets/images/detail-title.png" /></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.mjy.mc') }}</div>
<el-input type="text" :value="form.mc" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.mjy.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.mjy.sxrq') }}</div>
<el-input type="text" :value="form.sxrq" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.mjy.nd') }}</div>
<el-input type="text" :value="form.nd" maxlength="50" disabled> <template slot="append">{{ form.nddw
}}</template>
</el-input>
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.mjy.cctj') }}</div>
<el-input type="text" :value="form.cctj" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.mjy.ccwz') }}</div>
<el-input type="text" :value="form.ccwz" maxlength="50" disabled />
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.mjy.ckl') }}</div>
<el-input type="text" :value="form.ckl" maxlength="50" disabled> <template slot="append">{{ form.ckldw
}}</template>
</el-input>
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.mjy.ckmz') }}</div>
<el-input type="text" :value="form.ckmz" maxlength="50" disabled> <template slot="append">{{ form.ckmzdw
}}</template>
</el-input>
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.mjy.lqsj') }}</div>
<el-input type="text" :value="form.ffrq" maxlength="50" disabled> <template slot="append">{{ form.ckldw
}}</template>
</el-input>
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.mjy.md') }}</div>
<el-input type="text" :value="form.mdMc" maxlength="50" disabled />
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.mjy.ffzytj') }}</div>
<el-input type="text" :value="form.ffzytj" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.mjy.lqr1') }}</div>
<el-input type="text" :value="form.lqr1Mc" maxlength="50" disabled />
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.mjy.lqr2') }}</div>
<el-input type="text" :value="form.lqr2Mc" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.mjy.ghr1Id') }}</div>
<el-input type="text" :value="form.ghr1Mc" maxlength="50" disabled />
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.mjy.ghr2Id') }}</div>
<el-input type="text" :value="form.ghr2Mc" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.mjy.ghzytj') }}</div>
<el-input type="text" :value="form.ghzytj" maxlength="50" disabled />
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.mjy.rkmz') }}</div>
<el-input type="text" :value="form.rkmz" maxlength="50" disabled> <template slot="append">{{ form.rkmzdw
}}</template>
</el-input>
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.mjy.ffbz') }}</div>
<el-input type="text" :value="form.ffbz" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.mjy.ghbz') }}</div>
<el-input type="text" :value="form.ghbz" maxlength="50" disabled />
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.mjy.ghbz') }}</div>
<el-input type="text" :value="form.ghbz" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.mjy.cjsj') }}</div>
<el-input type="text" :value="form.createTime" maxlength="50" disabled />
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.mjy.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.mjy.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>
<div class="content-right">
<div class="content-title">
<div class="line"></div>
<div class="subtitle"> 稽查轨迹日志</div>
</div>
<jcgjList ref="jcgjList" @handleQuery="getJjcgjList" />
<pagination v-show="jcgjTotal > 0" small layout="prev, pager, next" :total="jcgjTotal"
@pagination="getJjcgjList" :limit="queryJcgjParams.pageSize"/>
</div>
</div>
</div>
</template>
<script>
import { info, jcgjList } from "@/api/business/mjy/mjyFfjl"
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: 5,
}
}
},
created() {
},
methods: {
exportExcel() {
alert('todo')
},
cancel() {
this.open = false
this.$emit('callback')
},
getJjcgjList(val) {
this.$modal.loading()
jcgjList(_.merge({}, this.queryJcgjParams, val)).then(response => {
this.jcgjList = response.rows
this.jcgjTotal = response.total
if (this.queryJcgjParams.pageNum == 1) {
this.$refs.jcgjList.init(this.jcgjList)
} else {
this.$refs.jcgjList.add(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>

+ 339
- 0
src/views/business/resource/gsp/comps/ffjlList.vue View File

@ -0,0 +1,339 @@
<template>
<div>
<div>
<!-- 列表 -->
<div class="ffjl" v-show="!showDetail">
<el-form :model="queryParams" ref="queryForm" class="search-area" :inline="true" label-width="88px">
<el-row>
<el-col :span="24">
<!-- 名称 -->
<el-form-item :label="$t('page.business.resource.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.resource.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.resource.mjy.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.mjy.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.mjy.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.mjy.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.mjy.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:mjy:ffjlgd']">{{
$t('page.business.resource.mjy.plgd') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 批量锁定 -->
<el-button type="primary" :disabled="multiple" @click="handlePlsd"
v-hasPermi="['business:resource:mjy:ffjlsd']">{{
$t('page.business.resource.mjy.plsd') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 导出 -->
<el-button type="primary" :disabled="multiple" @click="handleDc"
v-hasPermi="['business:resource:mjy: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.mjy.mc')" align="left" prop="mc"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.mjy.bh')" align="center" prop="bh"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.mjy.md')" align="center" prop="mdMc"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.mjy.zytj')" align="center" prop="ffzytj"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.mjy.cksj')" align="center" prop="ffrq" width="150px" />
<el-table-column :label="$t('page.business.resource.mjy.rksj')" align="center" prop="ghrq" width="150px" />
<el-table-column :label="$t('page.business.resource.mjy.ckmz')" align="center" width="150px">
<template slot-scope="scope">
{{ scope.row.ckmz }} {{ scope.row.ckmzdw }}
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.mjy.rkmz')" align="center" width="150px">
<template slot-scope="scope">
{{ scope.row.rkmz }} {{ scope.row.rkmzdw }}
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.mjy.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.mjy.lqr1')" align="center" prop="lqr1Mc"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.mjy.lqr2')" align="center" prop="lqr2Mc"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.mjy.kgy1')" align="center" prop="jsr1Mc"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.mjy.kgy2')" align="center" prop="jsr2Mc"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.mjy.zcg')" align="center" prop="zcgMc"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.mjy.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.mjy.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:mjy:ffjljq']">{{
$t('page.business.resource.mjy.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:mjy:ffjlxq']">{{
$t('page.business.resource.mjy.detail') }}</el-button>
<!-- 锁定 -->
<el-button type="text" v-if="scope.row.jlzt == 1" @click="handleSd(scope.row)"
v-hasPermi="['business:resource:mjy:ffjlsd']">{{
$t('page.business.resource.mjy.lock') }}</el-button>
<!-- 解锁 -->
<el-button type="text" v-if="scope.row.jlzt == 3" @click="handleJs(scope.row)"
v-hasPermi="['business:resource:mjy:ffjljs']">{{
$t('page.business.resource.mjy.unlock') }}</el-button>
<!-- 归档 -->
<el-button type="text" v-if="scope.row.jlzt == 3" @click="handleGd(scope.row)"
v-hasPermi="['business:resource:mjy:ffjlgd']">{{
$t('page.business.resource.mjy.guidang') }}</el-button>
<!-- 解档 -->
<el-button type="text" v-if="scope.row.jlzt == 7" @click="handleJd(scope.row)"
v-hasPermi="['business:resource:mjy:ffjljd']">{{
$t('page.business.resource.mjy.jiedang') }}</el-button>
<!-- 借阅 -->
<el-button type="text" v-if="scope.row.jlzt == 7&&scope.row.jyzt == 1" @click="handleJy(scope.row)"
v-hasPermi="['business:resource:mjy:ffjljy']">{{
$t('page.business.resource.mjy.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/mjy/mjyFfjl"
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.$emit('showDetail',this.showDetail)
this.handleQuery()
},
//
handleXq(row) {
this.showDetail=true
this.$emit('showDetail',this.showDetail)
this.$refs.Xq.show(row)
},
//
handleGd(row) {
this.$refs.Gd.show(row)
},
//
handleJy(row) {
this.$refs.Jy.show(row)
},
//
handleJd(row) {
this.$refs.Jd.show(row)
},
//
checkSelectable(row) {
return true;
},
//
getList() {
if (this.daterangeCk != null && this.daterangeCk.length > 0) {
this.queryParams.startDateCk = this.daterangeCk[0]
this.queryParams.endDateCk = moment().add(this.daterangeCk[1], 'days').format('YYYY-MM-DD');
} else {
this.queryParams.startDateCk = ''
this.queryParams.endDateCk = ''
}
if (this.daterangeRk != null && this.daterangeRk.length > 0) {
this.queryParams.startDateRk = this.daterangeRk[0]
this.queryParams.endDateRk = moment().add(this.daterangeRk[1], 'days').format('YYYY-MM-DD');
} else {
this.queryParams.startDateRk = ''
this.queryParams.endDateRk = ''
}
this.loading = true
list(this.queryParams).then(response => {
this.list = response.rows
this.total = response.total
this.loading = false
})
},
//
handleQuery() {
this.queryParams.pageNum = 1
this.getList()
},
//
resetQuery() {
this.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">
.ffjl {
background: #fff;
padding: 10px 10px;
}
</style>

+ 196
- 0
src/views/business/resource/gsp/comps/mjy/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.mjy.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.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="12">
<el-form-item :label="$t('page.business.resource.mjy.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.mjy.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.mjy.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.mjy.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.mjy.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/mjy/mjy"
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/gsp/comps/mjy/Czrq.vue View File

@ -0,0 +1,274 @@
G<template>
<div>
<!-- 处置容器弹窗 -->
<el-dialog :title="$t('page.business.resource.mjy.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.mjy.mc')" align="left" prop="mc"
:show-overflow-tooltip="true" width="120px" />
<el-table-column :label="$t('page.business.resource.mjy.bh')" align="left" prop="bh"
:show-overflow-tooltip="true" width="120px" />
<el-table-column :label="$t('page.business.resource.mjy.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.mjy.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.mjy.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.mjy.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.mjy.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.mjy.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.mjy.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('page.business.resource.mjy.clr')+$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.mjy.fhr')" prop="fhrId">
<SelectDeptUser v-model="form.fhrId" key="jdrId"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.fhr')+$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.mjy.jdr')" prop="jdrId">
<SelectDeptUser v-model="form.jdrId" key="jdrId"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.jdr')+$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/mjy/mjy"
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/gsp/comps/mjy/Czyj.vue View File

@ -0,0 +1,297 @@
G<template>
<div>
<!-- 处置药剂弹窗 -->
<el-dialog :title="$t('page.business.resource.mjy.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.mjy.mc')" align="left" prop="mc"
:show-overflow-tooltip="true" width="120px" />
<el-table-column :label="$t('page.business.resource.mjy.bh')" align="left" prop="bh"
:show-overflow-tooltip="true" width="120px" />
<el-table-column :label="$t('page.business.resource.mjy.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.mjy.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.mjy.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.mjy.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.mjy.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.mjy.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.mjy.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.mjy.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.mjy.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('page.business.resource.mjy.clr')+$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.mjy.fhr')" prop="fhrId">
<SelectDeptUser v-model="form.fhrId" key="fhrId"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.fhr')+$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.mjy.jdr')" prop="jdrId">
<SelectDeptUser v-model="form.jdrId" key="jdrId"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.jdr')+$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/mjy/mjy"
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>

+ 416
- 0
src/views/business/resource/gsp/comps/mjy/Ff.vue View File

@ -0,0 +1,416 @@
G<template>
<div>
<!-- 发放弹窗 -->
<el-dialog :title="$t('page.business.resource.mjy.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.mjy.mc')" align="left" prop="mc"
:show-overflow-tooltip="true" width="100px" />
<el-table-column :label="$t('page.business.resource.mjy.bh')" align="left" prop="bh"
:show-overflow-tooltip="true" width="100px" />
<el-table-column :label="$t('page.business.resource.mjy.nd')" align="center">
<template slot-scope="scope">
{{ scope.row.nd }}{{ scope.row.nddw }}
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.mjy.sxrq')" align="center" prop="sxrq"
width="150px" />
<el-table-column :label="$t('page.business.resource.mjy.cctj')" align="center" prop="cctj"
width="130px" />
<el-table-column :label="$t('page.business.resource.mjy.ccwz')" align="center" prop="ccwz"
width="130px" />
<el-table-column :label="$t('page.business.resource.mjy.ckl')" align="center">
<template slot-scope="scope">
{{ scope.row.kc }}{{ scope.row.kcdw }}
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.mjy.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.mjy.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.mjy.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="12">
<el-form-item :label="$t('page.business.resource.mjy.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.mjy.bh')">
<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.mjy.sxrq')">
<el-input type="text" v-model="form.sxrq" maxlength="50" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.nd')">
<el-input type="text" v-model="form.nd" maxlength="50" disabled> <template slot="append">{{ form.nddw
}}</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.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.mjy.ccwz')">
<el-input type="text" v-model="form.ccwz" maxlength="50" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.ckjz')">
<el-input type="text" v-model="form.ckl" maxlength="50" disabled> <template slot="append">{{ form.ckldw
}}</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.zytj')" prop="zytj">
<el-input type="text" v-model="form.zytj" 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.mjy.md')" prop="xmId">
<el-input type="text" v-model="form.xmId" maxlength="50" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.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('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.mjy.lqr1')" prop="lqr1Id">
<SelectDeptUser v-model="form.lqr1Id" key="lqr1Id" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.lqr1')+$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.mjy.lqr2')" prop="lqr2Id">
<SelectDeptUser v-model="form.lqr2Id" key="lqr2Id" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.lqr2')+$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.mjy.ffr1')" prop="ffr1Id">
<SelectDeptUser v-model="form.ffr1Id" key="ffr1Id" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.ffr1')+$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.mjy.ffr2')" prop="ffr2Id">
<SelectDeptUser v-model="form.ffr2Id" key="ffr2Id" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.ffr2')+$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="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-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/mjy/mjy"
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) {
let a=item
a.ckmzdw=a.kcdw
a.zytj=null
a.ckmz=null
a.xmIds=null
a.remark=null
tmp.push(a)
})
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.form.sxrq = row.sxrq
this.form.nd = row.nd
this.form.nddw = row.nddw
this.form.cctj = row.cctj
this.form.ccwz = row.ccwz
this.form.ckl = row.ckl
this.form.ckldw = row.ckldw
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/gsp/comps/mjy/Gd.vue View File

@ -0,0 +1,156 @@
G<template>
<div>
<!-- 归档弹窗 -->
<el-dialog :title="$t('page.business.resource.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">
<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.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.resource.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>
</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/mjy/mjy"
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>

+ 362
- 0
src/views/business/resource/gsp/comps/mjy/Gh.vue View File

@ -0,0 +1,362 @@
G<template>
<div>
<!-- 归还弹窗 -->
<el-dialog :title="$t('page.business.resource.mjy.guihuan')" :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.mjy.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.mjy.bh')">
<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.mjy.sxrq')">
<el-input type="text" v-model="form.sxrq" maxlength="50" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.nd')">
<el-input type="text" v-model="form.nd" maxlength="50" disabled> <template slot="append">{{ form.nddw
}}</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.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.mjy.ccwz')">
<el-input type="text" v-model="form.ccwz" maxlength="50" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.ckjz')">
<el-input type="text" v-model="form.ckl" maxlength="50" disabled> <template slot="append">{{ form.ckldw
}}</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.cksj')">
<el-input type="text" v-model="form.ffrq" maxlength="50" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.ckmz')">
<el-input type="text" v-model="form.ckmz" maxlength="50" disabled> <template slot="append">{{ form.ckmzdw
}}</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.md')">
<el-input type="text" v-model="form.mdIds" maxlength="50" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.rkwz')" prop="rkwz">
<el-input type="text" v-model="form.rkwz" maxlength="50" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.rktj')" prop="rktj">
<el-input type="text" v-model="form.rktj" 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.mjy.zytj')" prop="ghzytj">
<el-input type="text" v-model="form.ghzytj" maxlength="50" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.rkmz')" prop="rkmz">
<el-input type="number" v-model="form.rkmz" maxlength="50" @change="rklChange"
:placeholder="$t('form.placeholderInput')">
<template slot="append">{{ form.kcdw }}</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.jsl')" prop="jsl">
<el-input type="number" v-model="form.jsl" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')">
<template slot="append">{{ form.kcdw }}</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.syl')" prop="syl">
<el-input type="number" v-model="form.syl" maxlength="50" :placeholder="$t('form.placeholderInput')">
<template slot="append">{{ form.kcdw }}</template>
</el-input>
</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="12">
<el-form-item :label="$t('page.business.resource.mjy.ghr1Id')" prop="ghr1Id">
<SelectDeptUser v-model="form.ghr1Id" key="ghr1Id" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.ghr1Id')+$t('form.password')" prop="ghr1mm">
<el-input type="password" v-model="form.ghr1mm" 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.mjy.ghr2Id')" prop="ghr2Id">
<SelectDeptUser v-model="form.ghr2Id" key="ghr2Id" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.ghr2Id')+$t('form.password')" prop="ghr2mm">
<el-input type="password" v-model="form.ghr2mm" 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.mjy.jsr1Id')" prop="jsr1Id">
<SelectDeptUser v-model="form.jsr1Id" key="jsr1Id" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.jsr1Id')+$t('form.password')" prop="jsr1mm">
<el-input type="password" v-model="form.jsr1mm" 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.mjy.jsr2Id')" prop="jsr2Id">
<SelectDeptUser v-model="form.jsr2Id" key="jsr2Id" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.jsr2Id')+$t('form.password')" prop="jsr2mm">
<el-input type="password" v-model="form.jsr2mm" 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 { gh, info } from "@/api/business/mjy/mjy"
import { mapGetters } from 'vuex'
import SelectDeptUser from '@/views/business/comps/select/SelectDeptUser';
export default {
name: "Gh",
components: { SelectDeptUser },
data() {
return {
isBatch: false,
ids: [],
selectList: [],
open: false,
form: {},
rules: {
rkwz: [{
required: true,
message: ' ',
trigger: 'blur'
}],
rktj: [{
required: true,
message: ' ',
trigger: 'blur'
}],
ghzytj: [{
required: true,
message: ' ',
trigger: 'blur'
}],
rkmz: [{
required: true,
message: ' ',
trigger: 'blur'
}],
jsl: [{
required: true,
message: ' ',
trigger: 'blur'
}],
syl: [{
required: true,
message: ' ',
trigger: 'blur'
}],
ghr1Id: [{
required: true,
message: ' ',
trigger: 'blur'
}],
ghr1mm: [{
required: true,
message: ' ',
trigger: 'blur'
}],
ghr2Id: [{
required: true,
message: ' ',
trigger: 'blur'
}],
ghr2mm: [{
required: true,
message: ' ',
trigger: 'blur'
}],
jsr1Id: [{
required: true,
message: ' ',
trigger: 'blur'
}],
jsr1mm: [{
required: true,
message: ' ',
trigger: 'blur'
}],
jsr2Id: [{
required: true,
message: ' ',
trigger: 'blur'
}],
jsr2mm: [{
required: true,
message: ' ',
trigger: 'blur'
}]
}
}
},
computed: {
...mapGetters([
'nickName'
]),
},
created() {
},
methods: {
rklChange() {
if (!isNaN(this.form.rkmz)) {
this.form.jsl = _.subtract(parseFloat(this.form.ckmz), parseFloat(this.form.rkmz))
}else{
this.form.jsl = ''
}
},
cancel() {
this.open = false
},
reset() {
this.form = {
id:null,
rkwz:null,
rktj:null,
ghzytj: null,
rkmz: null,
jsl:null,
syl:null,
ghr1Id: null,
ghr1mm: null,
ghr2Id:null,
ghr2mm: null,
jsr1Id:null,
jsr1mm: null,
jsr2Id:null,
jsr2mm:null,
qmyy:'归还',
}
this.resetForm("form")
},
show(row) {
this.reset()
let that=this
info({ id: row.id }).then(response => {
that.form.id = response.data.id
that.form.mc = response.data.mc
that.form.bh = response.data.bh
that.form.sxrq = response.data.sxrq
that.form.nd = response.data.nd
that.form.nddw = response.data.nddw
that.form.cctj = response.data.cctj
that.form.ccwz = response.data.ccwz
that.form.ckl = response.data.ckl
that.form.ckldw = response.data.ckldw
that.form.ffrq = response.data.ffrq
that.form.ckmz = response.data.ckmz
that.form.ckmzdw = response.data.ckmzdw
that.form.mdIds = response.data.mdIds
that.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/gsp/comps/mjy/Jd.vue View File

@ -0,0 +1,157 @@
G<template>
<div >
<!-- 解档弹窗 -->
<el-dialog :title="$t('page.business.resource.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">
<div :style="isBatch ? 'display:block' : 'display:none'">
<el-alert :title="$t('page.business.resource.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>
</div>
<div v-if="!isBatch">
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.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.resource.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>
</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/mjy/mjy"
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/gsp/comps/mjy/Js.vue View File

@ -0,0 +1,123 @@
G<template>
<div >
<!-- 解锁弹窗 -->
<el-dialog :title="$t('page.business.resource.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.resource.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.resource.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="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/mjy/mjy"
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>

+ 191
- 0
src/views/business/resource/gsp/comps/mjy/Jy.vue View File

@ -0,0 +1,191 @@
G<template>
<div>
<!-- 借阅弹窗 -->
<el-dialog :title="$t('page.business.resource.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">
<div :style="isBatch ? 'display:block' : 'display:none'">
<el-alert :title="$t('page.business.resource.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>
</div>
<div v-if="!isBatch">
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.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.resource.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>
</div>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.mjy.jysj') + ':'" prop="startDate">
<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="daterangeChange" style="width: 250px;" />
</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/mjy/mjy"
import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
export default {
name: "Jy",
components: { SelectList },
data() {
return {
isBatch: false,
ids: [],
selectList: [],
daterange: [],
open: false,
form: {},
rules: {
qmrmm: [{
required: true,
message: ' ',
trigger: 'blur'
}],
endDate: [{
required: true,
message: ' ',
trigger: 'blur'
}],
startDate: [{
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
},
daterangeChange() {
if (this.daterange != null && this.daterange.length > 0) {
this.form.startDate = this.daterange[0]
this.form.endDate = this.daterange[1];
} else {
this.form.startDate = ''
this.form.endDate = ''
}
},
reset() {
this.form = {
id: null,
ids: null,
mc: null,
bh: null,
startDate: null,
endDate: 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/gsp/comps/mjy/Sd.vue View File

@ -0,0 +1,156 @@
G<template>
<div>
<!-- 锁定弹窗 -->
<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'">
<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.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.resource.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>
</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/mjy/mjy"
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/gsp/comps/mjy/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.mjy.mc')" align="left" prop="mc" :show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.mjy.bh')" align="left" prop="bh" :show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.mjy.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.mjy.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/gsp/comps/mjy/Shbj.vue View File

@ -0,0 +1,223 @@
G<template>
<div>
<!-- 审核编辑弹窗 -->
<el-dialog :title="$t('page.business.resource.mjy.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.mjy.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.mjy.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.mjy.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.mjy.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.mjy.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.mjy.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.mjy.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.mjy.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.mjy.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/mjy/mjy"
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: 10,
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>

+ 172
- 0
src/views/business/resource/gsp/comps/mjy/Shxgkc.vue View File

@ -0,0 +1,172 @@
G<template>
<div>
<!-- 审核修改库存弹窗 -->
<el-dialog :title="$t('page.business.resource.mjy.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.mjy.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.mjy.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.mjy.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.mjy.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.mjy.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.mjy.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/mjy/mjy"
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'
}],
qmyy: [{
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: 10,
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/gsp/comps/mjy/Xgkc.vue View File

@ -0,0 +1,145 @@
G<template>
<div>
<!-- 修改库存弹窗 -->
<el-dialog :title="$t('page.business.resource.mjy.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.mjy.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.mjy.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.mjy.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.mjy.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/mjy/mjy"
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>

+ 222
- 0
src/views/business/resource/gsp/comps/mjy/Xq.vue View File

@ -0,0 +1,222 @@
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('form.cancel')}}</el-button>
<el-button @click="exportExcel()">{{ $t('form.export') }}</el-button>
</div>
</div>
<div class="detail-title"><img src="@/assets/images/detail-title.png" >{{ $t('page.business.resource.mjy.mjyxq') }}<img src="@/assets/images/detail-title.png" /></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.mjy.mc') }}</div>
<el-input type="text" :value="form.mc" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.mjy.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.mjy.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.mjy.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.mjy.sxrq') }}</div>
<el-input type="text" :value="form.sxrq" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.mjy.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.mjy.ccwz') }}</div>
<el-input type="text" :value="form.ccwz" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.mjy.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.mjy.md') }}</div>
<el-input type="text" :value="form.xmMc" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.mjy.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.mjy.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"> {{ $t('page.business.resource.mjy.tz') }}</div>
</div>
<div class="pal">
<el-table :data="tzList" v-loading="loadingTz">
<el-table-column :label="$t('page.business.resource.mjy.syr')" align="center" prop="qmrMc"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.mjy.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.mjy.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.mjy.czlx')" align="center" prop="qmyy"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.mjy.czl')" 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.mjy.bzyy')" align="center" prop="remark"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.mjy.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"> {{ $t('page.business.resource.mjy.jcgj') }}</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/mjy/mjy"
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: {
mjyId: null,
pageNum: 1,
pageSize: 10
},
jcgjTotal: 0,
jcgjList: [],
queryJcgjParams: {
pageNum: 1,
mjyId: 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.mjyId = row.id
this.queryJcgjParams.mjyId = row.id
info({ id: row.id }).then(response => {
this.form = response.data
this.getTzList()
this.open = true
})
}
}
}
</script>

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

@ -0,0 +1,216 @@
G<template>
<div>
<!-- 钥匙发放弹窗 -->
<el-dialog :title="$t('page.business.resource.mjy.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.mjy.mc')" align="left" prop="mc"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.mjy.bh')" align="left" prop="bh"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.mjy.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.mjy.ffzytj')" align="center" prop="ffzytj"
width="150px" />
<el-table-column :label="$t('page.business.resource.mjy.ckmz')" align="center" prop="ckmz" width="150px" />
<el-table-column :label="$t('page.business.resource.mjy.ckmzdw')" align="center" prop="ckmzdw"
width="150px" />
<el-table-column :label="$t('page.business.resource.mjy.lqr1')" align="center" prop="lqr1Mc"
width="150px" />
<el-table-column :label="$t('page.business.resource.mjy.lqr2')" align="center" prop="lqr2Mc"
width="150px" />
<el-table-column :label="$t('page.business.resource.mjy.ffr1')" align="center" prop="ffr1Mc"
width="150px" />
<el-table-column :label="$t('page.business.resource.mjy.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.mjy.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.mjy.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.mjy.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.mjy.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.mjy.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/mjy/mjy"
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>

+ 425
- 0
src/views/business/resource/gsp/comps/mjyList.vue View File

@ -0,0 +1,425 @@
<template>
<div>
<!-- 列表 -->
<div>
<div class="mjy" v-show="!showDetail">
<el-form :model="queryParams" ref="queryForm" class="search-area" :inline="true" label-width="88px">
<!-- 名称 -->
<el-form-item :label="$t('page.business.resource.mjy.mc') + ':'">
<el-input v-model="queryParams.mc" clearable @change="handleQuery"
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
<!-- 编号 -->
<el-form-item :label="$t('page.business.resource.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.resource.mjy.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.mjy.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.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.resource.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.resource.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.resource.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.resource.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.resource.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.resource.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" fixed="left" width="55" align="center" :selectable="checkSelectable" />
<el-table-column :label="$t('page.business.resource.mjy.mc')" align="left" prop="mc"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.mjy.bh')" align="center" prop="bh"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.mjy.nd')" align="center">
<template slot-scope="scope">
{{ scope.row.nd }}{{ scope.row.nddw }}
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.mjy.kcl')" align="center">
<template slot-scope="scope">
{{ scope.row.kc }}{{ scope.row.kcdw }}
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.mjy.sxrq')" align="center" prop="sxrq" width="150px" />
<el-table-column :label="$t('page.business.resource.mjy.zcg')" align="center" prop="zcgMc" width="130px" />
<el-table-column :label="$t('page.business.resource.mjy.cctj')" align="center" prop="cctj" width="130px" />
<el-table-column :label="$t('page.business.resource.mjy.ccwz')" align="center" prop="ccwz" width="130px" />
<el-table-column :label="$t('page.business.resource.mjy.zjzt')" align="center" width="100px" fixed="right">
<template slot-scope="scope">
<span v-if="scope.row.zjzt == 1">{{ $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.mjy.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:mjy:xq']">{{
$t('page.business.resource.mjy.detail') }}</el-button>
</template>
<template v-if="scope.row.zjzt == 1">
<!-- 发放 -->
<el-button type="text" @click="handleFf(scope.row)" v-hasPermi="['business:resource:mjy:ff']">{{
$t('page.business.resource.mjy.fafang') }}</el-button>
<!-- 处置药剂 -->
<el-button type="text" @click="handleCzyj(scope.row)" v-hasPermi="['business:resource:mjy:czyj']">{{
$t('page.business.resource.mjy.czyj') }}</el-button>
<!-- 处置容器 -->
<el-button v-if="scope.row.rqzt == 1" type="text" @click="handleCzrq(scope.row)"
v-hasPermi="['business:resource:mjy:czrq']">{{
$t('page.business.resource.mjy.czrq') }}</el-button>
<!-- 编辑 -->
<el-button v-if="scope.row.bjzt == 1" type="text" @click="handleBj(scope.row)"
v-hasPermi="['business:resource:mjy:bj']">{{
$t('form.edit') }}</el-button>
<!-- 修改库存 -->
<el-button v-if="scope.row.kcbjzt == 1" type="text" @click="handleXgkc(scope.row)"
v-hasPermi="['business:resource:mjy:xgkc']">{{
$t('page.business.resource.mjy.xgkc') }}</el-button>
<!-- 锁定 -->
<el-button type="text" @click="handleSd(scope.row)" v-hasPermi="['business:resource:mjy:sd']">{{
$t('page.business.resource.mjy.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:mjy:shbj']">{{
$t('page.business.resource.mjy.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:mjy:shxgkc']">{{
$t('page.business.resource.mjy.shxgkc') }}</el-button>
</template>
<template v-if="scope.row.zjzt == 5">
<!-- 解锁 -->
<el-button type="text" @click="handleJs(scope.row)" v-hasPermi="['business:resource:mjy:js']">{{
$t('page.business.resource.mjy.unlock') }}</el-button>
<!-- 归档 -->
<el-button type="text" @click="handleGd(scope.row)" v-hasPermi="['business:resource:mjy:gd']">{{
$t('page.business.resource.mjy.guidang') }}</el-button>
</template>
<template v-if="scope.row.zjzt == 3">
<!-- 归还 -->
<el-button type="text" @click="handleGh(scope.row)" v-hasPermi="['business:resource:mjy:gh']">{{
$t('page.business.resource.mjy.guihuan') }}</el-button>
</template>
<template v-if="scope.row.zjzt == 9">
<!-- 解档 -->
<el-button type="text" @click="handleJd(scope.row)" v-hasPermi="['business:resource:mjy:jd']">{{
$t('page.business.resource.mjy.jiedang') }}</el-button>
<!-- 借阅 -->
<el-button type="text" @click="handleJy(scope.row)" v-hasPermi="['business:resource:mjy:jy']">{{
$t('page.business.resource.mjy.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/mjy/mjy"
import Sd from "./mjy/Sd";
import Js from "./mjy/Js";
import Gd from "./mjy/Gd";
import Jd from "./mjy/Jd";
import Xq from "./mjy/Xq";
import Bj from "./mjy/Bj";
import Shbj from "./mjy/Shbj";
import Xgkc from "./mjy/Xgkc";
import Shxgkc from "./mjy/Shxgkc";
import Jy from "./mjy/Jy";
import Gh from "./mjy/Gh";
import Ff from "./mjy/Ff";
import Czrq from "./mjy/Czrq";
import Czyj from "./mjy/Czyj";
import Ysff from "./mjy/Ysff";
export default {
name: "MjyList",
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.$emit('showDetail',this.showDetail)
this.handleQuery()
},
//
handleXq(row) {
this.showDetail=true
this.$emit('showDetail',this.showDetail)
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">
.mjy {
background: #fff;
padding: 10px 10px;
}
</style>

+ 94
- 0
src/views/business/resource/gsp/index.vue View File

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

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

@ -30,8 +30,8 @@ G