Browse Source

feat:[档案管理][供试品档案]

lkf
HanLong 3 months ago
parent
commit
d75e36d245
39 changed files with 7547 additions and 0 deletions
  1. +156
    -0
      src/views/business/archive/gsp/comps/ffjl/Gd.vue
  2. +144
    -0
      src/views/business/archive/gsp/comps/ffjl/Jd.vue
  3. +123
    -0
      src/views/business/archive/gsp/comps/ffjl/Jq.vue
  4. +123
    -0
      src/views/business/archive/gsp/comps/ffjl/Js.vue
  5. +158
    -0
      src/views/business/archive/gsp/comps/ffjl/Jy.vue
  6. +156
    -0
      src/views/business/archive/gsp/comps/ffjl/Sd.vue
  7. +56
    -0
      src/views/business/archive/gsp/comps/ffjl/SelectList.vue
  8. +214
    -0
      src/views/business/archive/gsp/comps/ffjl/Xq.vue
  9. +470
    -0
      src/views/business/archive/gsp/comps/ffjlList.vue
  10. +217
    -0
      src/views/business/archive/gsp/comps/gsp/Bj.vue
  11. +160
    -0
      src/views/business/archive/gsp/comps/gsp/Cz.vue
  12. +157
    -0
      src/views/business/archive/gsp/comps/gsp/CzBatch.vue
  13. +417
    -0
      src/views/business/archive/gsp/comps/gsp/Ff.vue
  14. +132
    -0
      src/views/business/archive/gsp/comps/gsp/Gd.vue
  15. +299
    -0
      src/views/business/archive/gsp/comps/gsp/Gh.vue
  16. +157
    -0
      src/views/business/archive/gsp/comps/gsp/Jd.vue
  17. +125
    -0
      src/views/business/archive/gsp/comps/gsp/Js.vue
  18. +184
    -0
      src/views/business/archive/gsp/comps/gsp/Jy.vue
  19. +131
    -0
      src/views/business/archive/gsp/comps/gsp/Sd.vue
  20. +55
    -0
      src/views/business/archive/gsp/comps/gsp/SelectList.vue
  21. +185
    -0
      src/views/business/archive/gsp/comps/gsp/Shbj.vue
  22. +183
    -0
      src/views/business/archive/gsp/comps/gsp/Shxgkc.vue
  23. +140
    -0
      src/views/business/archive/gsp/comps/gsp/Xgkc.vue
  24. +245
    -0
      src/views/business/archive/gsp/comps/gsp/Xq.vue
  25. +252
    -0
      src/views/business/archive/gsp/comps/gsp/XqExport.vue
  26. +234
    -0
      src/views/business/archive/gsp/comps/gsp/Xz.vue
  27. +216
    -0
      src/views/business/archive/gsp/comps/gsp/Ysff.vue
  28. +536
    -0
      src/views/business/archive/gsp/comps/gspList.vue
  29. +218
    -0
      src/views/business/archive/gsp/comps/rkjl/Bj.vue
  30. +156
    -0
      src/views/business/archive/gsp/comps/rkjl/Gd.vue
  31. +144
    -0
      src/views/business/archive/gsp/comps/rkjl/Jd.vue
  32. +123
    -0
      src/views/business/archive/gsp/comps/rkjl/Js.vue
  33. +158
    -0
      src/views/business/archive/gsp/comps/rkjl/Jy.vue
  34. +156
    -0
      src/views/business/archive/gsp/comps/rkjl/Sd.vue
  35. +56
    -0
      src/views/business/archive/gsp/comps/rkjl/SelectList.vue
  36. +156
    -0
      src/views/business/archive/gsp/comps/rkjl/Xq.vue
  37. +219
    -0
      src/views/business/archive/gsp/comps/rkjl/Xz.vue
  38. +439
    -0
      src/views/business/archive/gsp/comps/rkjlList.vue
  39. +97
    -0
      src/views/business/archive/gsp/index.vue

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

@ -0,0 +1,156 @@
<template>
<div>
<!-- 锁定弹窗 -->
<el-dialog :title="$t('page.business.resource.gsp.gd')" :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/gsp/gspFfjl"
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: this.$t('page.business.resource.gsp.sqgd'),
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/archive/gsp/comps/ffjl/Jd.vue View File

@ -0,0 +1,144 @@
<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/gsp/gspFfjl"
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: this.$t('page.business.resource.gsp.sqjd'),
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/archive/gsp/comps/ffjl/Jq.vue View File

@ -0,0 +1,123 @@
<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/gsp/gspFfjl"
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: this.$t('page.business.resource.gsp.bcsm'),
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/archive/gsp/comps/ffjl/Js.vue View File

@ -0,0 +1,123 @@
<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/gsp/gspFfjl"
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: this.$t('page.business.resource.gsp.jsffjl'),
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/archive/gsp/comps/ffjl/Jy.vue View File

@ -0,0 +1,158 @@
<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/gsp/gspFfjl"
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: this.$t('page.business.resource.gsp.sqjy'),
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/archive/gsp/comps/ffjl/Sd.vue View File

@ -0,0 +1,156 @@
<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/gsp/gspFfjl"
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: this.$t('page.business.resource.gsp.sdffjl'),
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/archive/gsp/comps/ffjl/SelectList.vue View File

@ -0,0 +1,56 @@
<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>

+ 214
- 0
src/views/business/archive/gsp/comps/ffjl/Xq.vue View File

@ -0,0 +1,214 @@
<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.gsp.mc') }}</div>
<el-input type="text" :value="form.mc" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gsp.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.gsp.ph') }}</div>
<el-input type="text" :value="form.ph" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gsp.gg') }}</div>
<el-input type="text" :value="form.gg" maxlength="50" disabled>
<template slot="append">{{ form.ggdw }}</template>
</el-input>
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gsp.yxq') }}</div>
<el-input type="text" :value="form.yxq" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gsp.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.gsp.jsrq') }}</div>
<el-input type="text" :value="form.jsrq" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gsp.ffzytj') }}</div>
<el-input type="text" :value="form.ffzytj" maxlength="50" disabled />
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gsp.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.gsp.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.gsp.lqr2') }}</div>
<el-input type="text" :value="form.lqr2Mc" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gsp.kgy1') }}</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.gsp.kgy2') }}</div>
<el-input type="text" :value="form.ghr2Mc" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gsp.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.gsp.rkl') }}</div>
<el-input type="text" :value="form.rkl" maxlength="50" disabled> <template slot="append">{{ form.rkldw
}}</template>
</el-input>
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gsp.ffbz') }}</div>
<el-input type="text" :value="form.ffbz" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gsp.ghbz') }}</div>
<el-input type="text" :value="form.ghbz" disabled />
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gsp.gdsqr') }}</div>
<el-input type="text" :value="form.gdsqrMc" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gsp.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.gsp.jlzt') }}</div>
<el-select v-model="form.jlzt" disabled style="width: 100%;">
<el-option :label="$t('page.business.resource.resource.jlzt.wsd')" :value="1" />
<el-option :label="$t('page.business.resource.resource.jlzt.ysd')" :value="3" />
<el-option :label="$t('page.business.resource.resource.jlzt.dgd')" :value="5" />
<el-option :label="$t('page.business.resource.resource.jlzt.gd')" :value="7" />
<el-option :label="$t('page.business.resource.resource.jlzt.djd')" :value="9" />
</el-select>
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gsp.jyzt') }}</div>
<el-select v-model="form.jyzt" disabled style="width: 100%;">
<el-option :label="$t('page.business.resource.resource.jyzt.wjy')" :value="1" />
<el-option :label="$t('page.business.resource.resource.jyzt.djy')" :value="3" />
<el-option :label="$t('page.business.resource.resource.jyzt.jyz')" :value="5" />
</el-select>
</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/gsp/gspFfjl"
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>

+ 470
- 0
src/views/business/archive/gsp/comps/ffjlList.vue View File

@ -0,0 +1,470 @@
<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.gsp.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.gsp.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.gsp.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.gsp.jlzt') + ':'">
<el-select v-model="queryParams.jlzt" :placeholder="$t('form.placeholderSelect')" clearable
@change="handleQuery">
<el-option :label="$t('page.business.resource.resource.jlzt.wsd')" :value="1" />
<el-option :label="$t('page.business.resource.resource.jlzt.ysd')" :value="3" />
<el-option :label="$t('page.business.resource.resource.jlzt.dgd')" :value="5" />
<el-option :label="$t('page.business.resource.resource.jlzt.gd')" :value="7" />
<el-option :label="$t('page.business.resource.resource.jlzt.djd')" :value="9" />
</el-select>
</el-form-item>
<!-- 借阅状态 -->
<el-form-item :label="$t('page.business.resource.gsp.jyzt') + ':'">
<el-select v-model="queryParams.jyzt" :placeholder="$t('form.placeholderSelect')" clearable
@change="handleQuery">
<el-option :label="$t('page.business.resource.resource.jyzt.wjy')" :value="1" />
<el-option :label="$t('page.business.resource.resource.jyzt.djy')" :value="3" />
<el-option :label="$t('page.business.resource.resource.jyzt.jyz')" :value="5" />
</el-select>
</el-form-item>
<!-- 出库日期 -->
<el-form-item :label="$t('page.business.resource.mjy.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-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-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<!-- 批量归档 -->
<el-button type="primary" :disabled="multiple" @click="handlePlgd"
v-hasPermi="['business:resource:gsp: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:gsp:ffjlsd']">{{
$t('page.business.resource.mjy.plsd') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 导出 -->
<el-button type="primary" @click="exportExcel"
v-hasPermi="['business:resource:gsp: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.gsp.mc')" align="left" prop="mc"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gsp.bh')" align="center" prop="bh"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gsp.md')" align="center" prop="mdMc"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gsp.zytj')" align="center" prop="ffzytj"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gsp.cksj')" align="center" prop="ffrq" width="150px" />
<el-table-column :label="$t('page.business.resource.gsp.rksj')" align="center" prop="ghrq" width="150px" />
<el-table-column :label="$t('page.business.resource.gsp.ckl')" align="center" width="150px">
<template slot-scope="scope">
{{ scope.row.ckl }} {{ scope.row.ckldw }}
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gsp.rkl')" align="center" width="150px">
<template slot-scope="scope">
{{ scope.row.rkl }} {{ scope.row.rkldw }}
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gsp.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.gsp.lqr1')" align="center" prop="lqr1Mc"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gsp.lqr2')" align="center" prop="lqr2Mc"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gsp.kgy1')" align="center" prop="jsr1Mc"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gsp.kgy2')" align="center" prop="jsr2Mc"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gsp.zcg')" align="center" prop="zcgMc"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gsp.jlzt')" align="center" width="100px" fixed="right">
<template slot-scope="scope">
<span v-if="scope.row.jlzt == 1">{{ $t('page.business.resource.resource.jlzt.wsd') }}</span>
<span v-if="scope.row.jlzt == 3">{{ $t('page.business.resource.resource.jlzt.ysd') }}</span>
<span v-if="scope.row.jlzt == 5">{{ $t('page.business.resource.resource.jlzt.dgd') }}</span>
<span v-if="scope.row.jlzt == 7">{{ $t('page.business.resource.resource.jlzt.gd') }}</span>
<span v-if="scope.row.jlzt == 9">{{ $t('page.business.resource.resource.jlzt.djd') }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gsp.jyzt')" align="center" width="100px" fixed="right">
<template slot-scope="scope">
<span v-if="scope.row.jyzt == 1">{{ $t('page.business.resource.resource.jyzt.wjy') }}</span>
<span v-if="scope.row.jyzt == 3">{{ $t('page.business.resource.resource.jyzt.djy') }}</span>
<span v-if="scope.row.jyzt == 5">{{ $t('page.business.resource.resource.jyzt.jyz') }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('form.operate')" fixed="right" align="center"
class-name="small-padding fixed-width" width="250px">
<template slot-scope="scope">
<!-- 加签 -->
<el-button v-if="scope.row.jlzt == 1" type="text" v-hasPermi="['business:resource:gsp:ffjljq']"
@click="handleJq(scope.row)">{{
$t('page.business.resource.gsp.jiaqian') }}</el-button>
<!-- 详情 -->
<el-button v-if="scope.row.jlzt == 1 || scope.row.jlzt == 3 || scope.row.jlzt == 7" type="text"
v-hasPermi="['business:resource:gsp:ffjlxq']" @click="handleXq(scope.row)">{{
$t('page.business.resource.gsp.detail') }}</el-button>
<!-- 锁定 -->
<el-button type="text" v-if="scope.row.jlzt == 1" @click="handleSd(scope.row)"
v-hasPermi="['business:resource:gsp:ffjlsd']">{{
$t('page.business.resource.gsp.lock') }}</el-button>
<!-- 解锁 -->
<el-button type="text" v-if="scope.row.jlzt == 3" @click="handleJs(scope.row)"
v-hasPermi="['business:resource:gsp:ffjljs']">{{
$t('page.business.resource.gsp.unlock') }}</el-button>
<!-- 归档 -->
<el-button type="text" v-if="scope.row.jlzt == 3" @click="handleGd(scope.row)"
v-hasPermi="['business:resource:gsp:ffjlgd']">{{
$t('page.business.resource.gsp.guidang') }}</el-button>
<!-- 解档 -->
<el-button type="text" v-if="scope.row.jlzt == 7" @click="handleJd(scope.row)"
v-hasPermi="['business:resource:gsp:ffjljd']">{{
$t('page.business.resource.gsp.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:gsp:ffjljy']">{{
$t('page.business.resource.gsp.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/gsp/gspFfjl"
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";
import { deepClone } from "@/utils/index";
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: {
//
exportExcel() {
let that = this
that.$modal.loading()
let params = deepClone(this.queryParams)
params.pageSize = 999999
list(params).then(response => {
var tabelStr =
'<table border="1" class="html-tabel">' +
'<tr style="background:#eee;">' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.mc') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.bh') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.md') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.zytj') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.cksj') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.rksj') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.ckl') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.rkl') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.syl') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.lqr1') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.lqr2') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.kgy1') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.kgy2') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.zcg') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.jlzt') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.jyzt') + '</th>' +
' </tr>'
let _datastr = ''
_.forEach(response.rows, function (value) {
let jlzt = ''
switch (value.jlzt) {
case 1:
jlzt = that.$t('page.business.resource.resource.jlzt.wsd')
break
case 3:
jlzt = that.$t('page.business.resource.resource.jlzt.ysd')
break
case 5:
jlzt = that.$t('page.business.resource.resource.jlzt.dgd')
break
case 7:
jlzt = that.$t('page.business.resource.resource.jlzt.gd')
break
case 9:
jlzt = that.$t('page.business.resource.resource.jlzt.djd')
break
default: jlzt = ''
}
let jyzt = ''
switch (value.jyzt) {
case 1:
jyzt = that.$t('page.business.resource.resource.jyzt.wjy')
break
case 3:
jyzt = that.$t('page.business.resource.resource.jyzt.djy')
break
case 5:
jyzt = that.$t('page.business.resource.resource.jyzt.jyz')
break
default: jyzt = ''
}
_datastr =
_datastr +
'<tr style="text-align: center;">' +
' <td>' +
value.mc +
'</td>' +
' <td>' +
'&nbsp;' + value.bh +
'</td>' +
' <td>' +
value.mdMc +
'</td>' +
' <td>' +
value.ffzytj +
'</td>' +
' <td>' +
value.ffrq +
'</td>' +
' <td>' +
value.ghrq +
'</td>' +
' <td>' +
value.ckl + value.ckldw +
'</td>' +
' <td>' +
value.rkl + value.rkldw +
'</td>' +
' <td>' +
value.syl + value.syldw +
'</td>' +
' <td>' +
value.lqr1Mc +
'</td>' +
' <td>' +
value.lqr2Mc +
'</td>' +
' <td>' +
value.jsr1Mc +
'</td>' +
' <td>' +
value.jsr2Mc +
'</td>' +
' <td>' +
value.zcgMc +
'</td>' +
' <td>' +
jlzt +
'</td>' +
' <td>' +
jyzt +
'</td>' +
'</tr>'
})
tabelStr = tabelStr + _datastr + ' <table>'
// Worksheet
var worksheet = that.$t('page.business.resource.gsp.ffhsjl')
var uri = 'data:application/vnd.ms-excel;base64,'
// HTML
var exportTemplate = `<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns="http://www.w3.org/TR/REC-html40">
<head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>
<x:Name>${worksheet}</x:Name>
<x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet>
</x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]-->
</head>
<body>
${tabelStr}
</body>
</html>`
var a = document.createElement('a')
a.download = worksheet + '.xls'
a.href = uri + window.btoa(unescape(encodeURIComponent(exportTemplate)))
a.click()
that.$modal.closeLoading()
}).finally(() => {
that.$modal.closeLoading()
})
},
//
handleJq(row) {
this.$refs.Jq.show(row)
},
//
handleSd(row) {
this.$refs.Sd.show(row)
},
//
handleJs(row) {
this.$refs.Js.show(row)
},
//
handlePlgd() {
this.$refs.Gd.showBatch(this.selectList)
},
//
handlePlsd() {
this.$refs.Sd.showBatch(this.selectList)
},
closeXq() {
this.showDetail = false
this.$emit('showDetail', this.showDetail)
this.handleQuery()
},
//
handleXq(row) {
this.showDetail = true
this.$emit('showDetail', this.showDetail)
this.$refs.Xq.show(row)
},
//
handleGd(row) {
this.$refs.Gd.show(row)
},
//
handleJy(row) {
this.$refs.Jy.show(row)
},
//
handleJd(row) {
this.$refs.Jd.show(row)
},
//
checkSelectable(row) {
return true;
},
//
getList() {
if (this.daterangeCk != null && this.daterangeCk.length > 0) {
this.queryParams.startDateCk = this.daterangeCk[0]
this.queryParams.endDateCk = moment().add(this.daterangeCk[1], 'days').format('YYYY-MM-DD');
} else {
this.queryParams.startDateCk = ''
this.queryParams.endDateCk = ''
}
if (this.daterangeRk != null && this.daterangeRk.length > 0) {
this.queryParams.startDateRk = this.daterangeRk[0]
this.queryParams.endDateRk = moment().add(this.daterangeRk[1], 'days').format('YYYY-MM-DD');
} else {
this.queryParams.startDateRk = ''
this.queryParams.endDateRk = ''
}
this.loading = true
list(this.queryParams).then(response => {
this.list = response.rows
this.total = response.total
this.loading = false
})
},
//
handleQuery() {
this.queryParams.pageNum = 1
this.getList()
},
//
resetQuery() {
this.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>

+ 217
- 0
src/views/business/archive/gsp/comps/gsp/Bj.vue View File

@ -0,0 +1,217 @@
<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.gsp.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.gsp.bh')" prop="bh">
<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.gsp.ph')" prop="ph">
<el-input type="text" v-model="form.ph" maxlength="50" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<!-- 规格 -->
<el-col :span="8">
<el-form-item :label="$t('page.business.resource.gsp.gg')" prop="gg">
<el-input type="text" v-model="form.gg" maxlength="50" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<!-- 规格单位 -->
<el-col :span="4">
<BusinessSelect v-model="form.ggdw"
dictType="system_business_nddw,system_business_zldw,system_business_tjdw"></BusinessSelect>
</el-col>
</el-row>
<el-row>
<!-- 有效期 -->
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.yxq')" prop="yxq">
<el-date-picker v-model="form.yxq" type="datetime" format="yyyy-MM-dd HH:mm"
value-format="yyyy-MM-dd HH:mm:ss" :placeholder="$t('form.placeholderInput')">
</el-date-picker>
</el-form-item>
</el-col>
<!-- 存储条件 -->
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.cctj')" prop="cctj">
<BusinessSelect v-model="form.cctj" dictType="system_business_cctj"></BusinessSelect>
</el-form-item>
</el-col>
</el-row>
<el-row>
<!-- 接收日期 -->
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.jsrq')" prop="jsrq">
<el-date-picker v-model="form.jsrq" type="datetime" format="yyyy-MM-dd HH:mm"
value-format="yyyy-MM-dd HH:mm:ss" :placeholder="$t('form.placeholderInput')">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<!-- 注意事项 -->
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gsp.zysx')" prop="zysx">
<el-input type="textarea" :rows="2" v-model="form.zysx" maxlength="500"
: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.signerPsw')" 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 { edit, info } from "@/api/business/gsp/gsp"
import { mapGetters } from 'vuex'
import BusinessSelect from '@/views/business/comps/select/BusinessSelect';
export default {
name: "Bj",
components: { BusinessSelect },
data() {
return {
open: false,
form: {},
rules: {
mc: [{
required: true,
message: ' ',
trigger: 'blur'
}],
bh: [{
required: true,
message: ' ',
trigger: 'blur'
}],
ph: [{
required: true,
message: ' ',
trigger: 'blur'
}],
gg: [{
required: true,
message: ' ',
trigger: 'blur'
}],
kc: [{
required: true,
message: ' ',
trigger: 'blur'
}],
yxq: [{
required: true,
message: ' ',
trigger: 'blur'
}],
jsrq: [{
required: true,
message: ' ',
trigger: 'blur'
}],
cctj: [{
required: true,
message: ' ',
trigger: 'blur'
}],
zysx: [{
required: true,
message: ' ',
trigger: 'blur'
}],
qmrmm: [{
required: true,
message: ' ',
trigger: 'blur'
}],
}
}
},
computed: {
...mapGetters([
'nickName'
]),
},
created() {
},
methods: {
cancel() {
this.open = false
},
reset() {
this.form = {
qmyy: this.$t('page.business.resource.gsp.bjgsp'),
}
this.resetForm("form")
},
show(row) {
this.reset()
info({id: row.id}).then(response => {
this.form = response.data;
})
this.open = true
},
save() {
this.$refs["form"].validate(valid => {
if (valid) {
edit(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
})
}
}
}
</script>

+ 160
- 0
src/views/business/archive/gsp/comps/gsp/Cz.vue View File

@ -0,0 +1,160 @@
<template>
<div>
<!-- 处置供试品弹窗 -->
<el-dialog :title="$t('page.business.resource.gsp.cz')" :visible.sync="open" width="500px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<template>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gsp.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.gsp.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.gsp.czfs')" prop="czfs">
<BusinessSelect v-model="form.czfs" dictType="system_business_czfs"></BusinessSelect>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gsp.czl')" prop="czl">
<el-input type="number" v-model="form.czl" 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('page.business.resource.gsp.yuanyin')" prop="remark">
<el-input type="textarea" :rows="2" v-model="form.remark" maxlength="500"
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
</template>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">
<el-input type="text" :value="form.qmyy" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.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 { cz } from "@/api/business/gsp/gsp"
import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
import BusinessSelect from '@/views/business/comps/select/BusinessSelect';
export default {
name: "GspCz",
components: { SelectList, BusinessSelect },
data() {
return {
ids: [],
selectList: [],
open: false,
form: {},
rules: {
czfs: [
{ required: true, message: this.$t('page.business.resource.sj.sjczfs') + this.$t('form.notEmpty'), trigger: "change" },
{ min: 0, max: 50, message: this.$t('page.business.resource.sj.sjczfs') + this.$t('form.lengthLimit') + '50', trigger: 'blur' }
],
czl: [
{ required: true, message: this.$t('page.business.resource.sj.czl') + this.$t('form.notEmpty'), trigger: "change" },
],
remark: [
{ required: true, message: this.$t('page.business.resource.sj.yuanyin') + this.$t('form.notEmpty'), trigger: "change" },
],
qmrmm: [
{ required: true, message: this.$t('form.signerPsw') + this.$t('form.notEmpty'), trigger: "change" },
]
}
}
},
computed: {
...mapGetters([
'nickName'
]),
},
created() {
},
methods: {
cancel() {
this.open = false
},
reset() {
this.form = {
id: null,
ids: null,
mc: null,
bh: null,
qmyy: this.$t('page.business.resource.gsp.cz'),
kcdw: '',
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) {
cz(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
})
}
}
}
</script>

+ 157
- 0
src/views/business/archive/gsp/comps/gsp/CzBatch.vue View File

@ -0,0 +1,157 @@
<template>
<div>
<!-- 处置试剂弹窗 -->
<el-dialog :title="$t('page.business.resource.sj.cz')" :visible.sync="open" width="1200px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row style="margin:10px 0px;">
<el-col :span="24">
<el-table :data="selectList" border>
<el-table-column :label="$t('page.business.resource.sj.mc')" align="left" prop="mc"
:show-overflow-tooltip="true" width="120px" />
<el-table-column :label="$t('page.business.resource.sj.bh')" align="left" prop="bh"
:show-overflow-tooltip="true" width="120px" />
<el-table-column :label="$t('page.business.resource.sj.sjczfs')" align="center" width="250px">
<template slot-scope="scope">
<BusinessSelect v-model="scope.row.czfs" dictType="system_business_czfs"></BusinessSelect>
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.sj.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.sj.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>
<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-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 { sj_plcz } from "@/api/business/sj/sj"
import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
import BusinessSelect from '@/views/business/comps/select/BusinessSelect';
export default {
name: "CzBatch",
components: { SelectList, BusinessSelect },
data() {
return {
ids: [],
selectList: [],
open: false,
form: {},
rules: {
czfs: [
{ required: true, message: this.$t('page.business.resource.sj.sjczfs') + this.$t('form.notEmpty'), trigger: "change" },
{ min: 0, max: 50, message: this.$t('page.business.resource.sj.sjczfs') + this.$t('form.lengthLimit') + '50', trigger: 'blur' }
],
czl: [
{ required: true, message: this.$t('page.business.resource.sj.czl') + this.$t('form.notEmpty'), trigger: "change" },
],
remark: [
{ required: true, message: this.$t('page.business.resource.sj.yuanyin') + this.$t('form.notEmpty'), trigger: "change" },
],
qmrmm: [
{ required: true, message: this.$t('form.signerPsw') + this.$t('form.notEmpty'), trigger: "change" },
]
}
}
},
computed: {
...mapGetters([
'nickName'
]),
},
created() {
},
methods: {
//
handleSc(row) {
const that = this
this.$modal.confirm(this.$t('form.confirmDelete')).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)
this.selectList = val
this.open = true
},
cancel() {
this.open = false
},
reset() {
this.form = {
id: null,
ids: null,
mc: null,
bh: null,
qmyy: this.$t('page.business.resource.gsp.cz'),
kcdw: '',
qmrmm: null
}
this.resetForm("form")
},
save() {
this.$refs["form"].validate(valid => {
if (valid) {
sj_plcz(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
})
}
}
}
</script>

+ 417
- 0
src/views/business/archive/gsp/comps/gsp/Ff.vue View File

@ -0,0 +1,417 @@
<template>
<div>
<!-- 发放弹窗 -->
<el-dialog :title="$t('page.business.resource.gsp.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.gsp.mc')" align="left" prop="mc"
:show-overflow-tooltip="true" width="100px" />
<el-table-column :label="$t('page.business.resource.gsp.bh')" align="left" prop="bh"
:show-overflow-tooltip="true" width="100px" />
<el-table-column :label="$t('page.business.resource.gsp.ph')" align="center" prop="ph">
</el-table-column>
<el-table-column :label="$t('page.business.resource.gsp.gg')" align="center" prop="gg">
<template slot-scope="scope">
{{ scope.row.gg }}{{ scope.row.ggdw }}
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gsp.yxq')" align="center" prop="yxq"
width="150px" />
<el-table-column :label="$t('page.business.resource.gsp.jsrq')" align="center" prop="jsrq"
width="130px" />
<el-table-column :label="$t('page.business.resource.gsp.ckjz')" align="center">
<template slot-scope="scope">
{{ scope.row.kc }}{{ scope.row.kcdw }}
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gsp.zysx')" align="center" prop="zysx"
width="130px" />
<el-table-column :label="$t('page.business.resource.gsp.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.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.gsp.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.gsp.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.gsp.ph')">
<el-input type="text" v-model="form.ph" maxlength="50" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.gg')">
<el-input type="text" v-model="form.gg" maxlength="50" disabled> <template slot="append">{{ form.ggdw
}}</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.yxq')">
<el-input type="text" v-model="form.yxq" maxlength="50" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.cctj')">
<el-input type="text" v-model="form.cctj" maxlength="50" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.jsrq')">
<el-input type="text" v-model="form.jsrq" maxlength="50" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.ckjz')" >
<el-input type="text" v-model="form.kc" maxlength="50" disabled ><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('page.business.resource.gsp.zysx')">
<el-input type="textarea" v-model="form.zysx" maxlength="50" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.zytj')" prop="zytj">
<el-input type="text" v-model="form.zytj" maxlength="50" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.md')" prop="mdIds">
<el-input type="text" v-model="form.mdIds" maxlength="20" :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.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.gsp.lqr1')" prop="lqr1Id">
<SelectDeptUser v-model="form.lqr1Id" key="lqr1Id" :name="form.lqr1Mc" @change="userSelectLqr1" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.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.gsp.lqr2')" >
<SelectDeptUser v-model="form.lqr2Id" key="lqr2Id" :name="form.lqr2Mc" @change="userSelectLqr2"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.lqr2')+$t('form.password')" >
<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" :name="form.ffr1Mc" key="ffr1Id" @change="userSelectFfr1" />
</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" :name="form.ffr2Mc" @change="userSelectFfr2" />
</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/gsp/gsp"
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: {
mdIds: [{
required: true,
message: ' ',
trigger: 'blur'
}],
ffr1mm: [{
required: true,
message: ' ',
trigger: 'blur'
}],
ffr1Id: [{
required: true,
message: ' ',
trigger: 'blur'
}],
lqr1mm: [{
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', 'id'
]),
},
created() {
},
methods: {
userSelectLqr1(val) {
this.form.lqr1Id = val.id;
this.form.lqr1Mc = val.name;
},
userSelectLqr2(val) {
this.form.lqr2Id = val.id;
this.form.lqr2Mc = val.name;
},
userSelectFfr1(val) {
this.form.ffr1Id = val.id
this.form.ffr1Mc = val.name
},
userSelectFfr2(val) {
this.form.ffr2Id = val.id
this.form.ffr2Mc = val.name
},
handleSc(row) {
const that = this
this.$modal.confirm(this.$t('form.confirmDelete')).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,
mdIds: null,
ckmz: null,
lqr1Id: null,
lqr1Mc: null,
lqr2Id: null,
lqr1mm: null,
lqr2mm: null,
ffr1Id: this.id,
ffr1Mc: this.nickName,
ffr1mm: null,
ffr2Id: null,
ffr2mm: null,
xmId: null,
qmyy: this.$t('page.business.resource.gsp.lqff'),
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.ph = row.ph
this.form.gg = row.gg
this.form.ggdw = row.ggdw
this.form.yxq = row.yxq
this.form.jsrq = row.jsrq
this.form.cctj = row.cctj
this.form.kc = row.kc
this.form.kcdw = row.kcdw
this.form.zysx = row.zysx
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>

+ 132
- 0
src/views/business/archive/gsp/comps/gsp/Gd.vue View File

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

+ 299
- 0
src/views/business/archive/gsp/comps/gsp/Gh.vue View File

@ -0,0 +1,299 @@
<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.gsp.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.gsp.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.gsp.ph')">
<el-input type="text" v-model="form.ph" maxlength="50" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.gg')">
<el-input type="text" v-model="form.gg" maxlength="50" disabled> <template slot="append">{{ form.ggdw
}}</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.jsrq')">
<el-input type="text" v-model="form.jsrq" maxlength="50" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.ckjz')">
<el-input type="text" v-model="form.kc" maxlength="50" disabled>
<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.gsp.yxq')">
<el-input type="text" v-model="form.yxq" maxlength="50" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.lqsj')">
<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.gsp.md')">
<el-input type="text" v-model="form.md" maxlength="50" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.zytj')" prop="ghzytj">
<el-input type="text" v-model="form.ghzytj" maxlength="50" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.rkl')" prop="rkl">
<el-input type="text" v-model="form.rkl" 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" :name="form.ghr1Mc" @change="userSelectGhr1"/>
</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')">
<SelectDeptUser v-model="form.ghr2Id" key="ghr2Id" :name="form.ghr2Mc" @change="userSelectGhr2"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.ghr2Id') + $t('form.password')">
<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" :name="form.jsr1Mc" @change="userSelectJsr1" />
</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')">
<SelectDeptUser v-model="form.jsr2Id" key="jsr2Id" :name="form.jsr2Mc" @change="userSelectJsr2"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.jsr2Id') + $t('form.password')">
<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="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 { gh, info } from "@/api/business/gsp/gsp"
import { mapGetters } from 'vuex'
import SelectDeptUser from '@/views/business/comps/select/SelectDeptUser';
export default {
name: "GspGh",
components: { SelectDeptUser },
data() {
return {
isBatch: false,
ids: [],
selectList: [],
open: false,
form: {},
rules: {
ghzytj: [{
required: true,
message: ' ',
trigger: 'blur'
}],
rkl: [{
required: true,
message: ' ',
trigger: 'blur'
}],
ghr1Id: [{
required: true,
message: ' ',
trigger: 'blur'
}],
ghr1mm: [{
required: true,
message: ' ',
trigger: 'blur'
}],
jsr1Id: [{
required: true,
message: ' ',
trigger: 'blur'
}],
jsr1mm: [{
required: true,
message: ' ',
trigger: 'blur'
}],
}
}
},
computed: {
...mapGetters([
'nickName'
]),
},
created() {
},
methods: {
userSelectGhr1(val) {
this.form.ghr1Id = val.id;
this.form.ghr1Mc = val.name;
},
userSelectGhr2(val) {
this.form.ghr2Id = val.id;
this.form.ghr2Mc = val.name;
},
userSelectJsr1(val) {
this.form.jsr1Id = val.id
this.form.jsr1Mc = val.name
},
userSelectJsr2(val) {
this.form.jsr2Id = val.id
this.form.jsr2Mc = val.name
},
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.$t('page.business.resource.gsp.gh'),
}
this.resetForm("form")
},
show(row) {
this.reset()
this.form.id = row.id
this.form.mc = row.mc
this.form.bh = row.bh
this.form.ph = row.ph
this.form.gg = row.gg
this.form.ggdw = row.ggdw
this.form.yxq = row.yxq
this.form.jsrq = row.jsrq
this.form.ffrq = row.ffrq
this.form.cctj = row.cctj
this.form.kc = row.kc
this.form.kcdw = row.kcdw
this.form.zysx = row.zysx
this.open = true
},
save() {
this.$refs["form"].validate(valid => {
if (valid) {
gh(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
})
}
}
}
</script>

+ 157
- 0
src/views/business/archive/gsp/comps/gsp/Jd.vue View File

@ -0,0 +1,157 @@
<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: this.$t('page.business.resource.gsp.sqjd'),
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>

+ 125
- 0
src/views/business/archive/gsp/comps/gsp/Js.vue View File

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

+ 184
- 0
src/views/business/archive/gsp/comps/gsp/Jy.vue View File

@ -0,0 +1,184 @@
<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 { jy } from "@/api/business/gsp/gsp"
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: this.$t('page.business.resource.gsp.sqjy'),
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) {
jy(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
})
}
}
}
</script>

+ 131
- 0
src/views/business/archive/gsp/comps/gsp/Sd.vue View File

@ -0,0 +1,131 @@
<template>
<div>
<!-- 锁定弹窗 -->
<el-dialog :title="$t('page.business.resource.gsp.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">
<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/gsp/gsp"
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: this.$t('page.business.resource.gsp.sdgsp'),
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/archive/gsp/comps/gsp/SelectList.vue View File

@ -0,0 +1,55 @@
<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>

+ 185
- 0
src/views/business/archive/gsp/comps/gsp/Shbj.vue View File

@ -0,0 +1,185 @@
<template>
<div>
<!-- 审核编辑弹窗 -->
<el-dialog :title="$t('page.business.resource.gsp.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.gsp.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.gsp.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.gsp.ph')" prop="nd">
<el-input type="text" v-model="form.ph" maxlength="50" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.gg')" prop="nddw">
<el-input type="text" v-model="form.gg" maxlength="50" disabled >
<template slot="append">{{ form.ggdw }}</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.yxq')" prop="sxrq">
<el-input type="text" v-model="form.yxq" maxlength="50" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.jsrq')" prop="cctj">
<el-input type="text" v-model="form.jsrq" 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.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-input type="text" :value="form.qmyyMc" maxlength="50" disabled />
</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="danger" @click="save(1)">{{ $t('form.reject') }}</el-button>
<el-button type="primary" @click="save(10)">{{ $t('form.approve') }}</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { shbj, info } from "@/api/business/gsp/gsp"
import { mapGetters } from 'vuex'
export default {
name: "Shbj",
data() {
return {
open: false,
form: {},
rules: {
qmyy: [{
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: null,
qmyyMc: this.$t('page.business.resource.gsp.tyjjbj'),
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.ph = response.data.phbj
this.form.gg = response.data.ggbj
this.form.ggdw = response.data.ggdwbj
this.form.yxq = response.data.yxqbj
this.form.jsrq = response.data.jsrqbj
this.form.bjbz = response.data.bjbz
this.form.bjrMc = response.data.bjrMc
this.open = true
this.$modal.closeLoading()
})
},
save(qmyy) {
this.$refs["form"].validate(valid => {
if (valid) {
this.$modal.loading()
this.form.qmyy=qmyy
shbj(this.form).then(response => {
this.open = false
this.$modal.closeLoading()
this.$emit('callback')
}).finally(() => {
this.$modal.closeLoading()
})
}
})
}
}
}
</script>

+ 183
- 0
src/views/business/archive/gsp/comps/gsp/Shxgkc.vue View File

@ -0,0 +1,183 @@
<template>
<div>
<!-- 审核修改库存弹窗 -->
<el-dialog :title="$t('page.business.resource.gsp.shxgkc')" :visible.sync="open" width="500px" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<!-- <el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.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.gsp.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="24">
<el-form-item :label="$t('page.business.resource.gsp.xgqkc')" prop="kcbj">
<el-input type="number" v-model="form.kc" maxlength="50" disabled >
<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('page.business.resource.gsp.xghkc')" prop="kcdwbj">
<el-input type="text" v-model="form.kcbj" maxlength="50" disabled >
<template slot="append">{{ form.kcdwbj }}</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gsp.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.gsp.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-input type="text" :value="form.qmyyMc" maxlength="50" disabled />
</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="danger" @click="save(1)">{{ $t('form.reject') }}</el-button>
<el-button type="primary" @click="save(10)">{{ $t('form.approve') }}</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { shxgkc, info } from "@/api/business/gsp/gsp"
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: null,
qmyyMc: this.$t('page.business.resource.gsp.tyjjxgkc'),
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.kc = response.data.kc
this.form.kcdw = response.data.kcdw
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(qmyy) {
this.$refs["form"].validate(valid => {
if (valid) {
this.$modal.loading()
this.form.qmyy=qmyy
shxgkc(this.form).then(response => {
this.open = false
this.$emit('callback')
this.$modal.closeLoading()
}).finally(() => {
this.$modal.closeLoading()
})
}
})
}
}
}
</script>

+ 140
- 0
src/views/business/archive/gsp/comps/gsp/Xgkc.vue View File

@ -0,0 +1,140 @@
<template>
<div>
<!-- 修改库存弹窗 -->
<el-dialog :title="$t('page.business.resource.gsp.xgkc')" :visible.sync="open" width="500px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<el-col :span="18">
<el-form-item :label="$t('page.business.resource.gsp.kcl')" prop="kc">
<el-input type="number" v-model="form.kc" maxlength="50" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<el-col :span="6">
<BusinessSelectVue dictType="system_business_nddw,system_business_zldw,system_business_tjdw" v-model="form.kcdw" />
</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.signer')">
<el-input type="text" v-model="nickName" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.password')" prop="sdrmm">
<el-input type="text" v-model="form.sdrmm" maxlength="20" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-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 { xgkc } from "@/api/business/gsp/gsp"
import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
import BusinessSelectVue from '@/views/business/comps/select/BusinessSelect';
export default {
name: "GspXgkc",
components: { SelectList, BusinessSelectVue },
data() {
return {
isBatch: false,
ids: [],
selectList: [],
open: false,
form: {},
rules: {
sdrmm: [{
required: true,
message: ' ',
trigger: 'blur'
}],
kc: [{
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: this.$t('page.business.resource.gsp.xgkc'),
sdrmm: null,
kc: '',
kcdw: '',
}
this.resetForm("form")
},
show(row) {
this.reset()
this.isBatch = false
this.form.ids = []
this.selectList = []
this.form.id = row.id
this.form.kcdw = row.kcdw
this.form.kc = row.kc
this.open = true
},
save() {
this.$refs["form"].validate(valid => {
if (valid) {
xgkc(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
})
}
}
}
</script>

+ 245
- 0
src/views/business/archive/gsp/comps/gsp/Xq.vue View File

@ -0,0 +1,245 @@
<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="exportPDF()">{{ $t('form.export') }}</el-button>
</div>
</div>
<div ref="content">
<div class="detail-title"><img src="@/assets/images/detail-title.png">{{ $t('page.business.resource.gsp.gspxq')
}}<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.gsp.mc') }}</div>
<el-input type="text" :value="form.mc" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gsp.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.gsp.ph') }}</div>
<el-input type="text" :value="form.ph" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gsp.gg') }}</div>
<el-input type="text" :value="form.gg" maxlength="50" disabled> <template slot="append">{{
form.ggdw }}</template> </el-input>
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gsp.jsrq') }}</div>
<el-input type="text" :value="form.jsrq" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gsp.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.gsp.yxq') }}</div>
<el-input type="text" :value="form.yxq" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gsp.zjzt') }}</div>
<el-select v-model="form.zjzt" disabled style="width: 100%;">
<el-option key="1" :label="$t('page.business.resource.resource.zjzt.rk')" :value="1" />
<el-option key="3" :label="$t('page.business.resource.resource.zjzt.yff')" :value="3" />
<el-option key="5" :label="$t('page.business.resource.resource.zjzt.ysd')" :value="5" />
<el-option key="7" :label="$t('page.business.resource.resource.zjzt.dgd')" :value="7" />
<el-option key="9" :label="$t('page.business.resource.resource.zjzt.gd')" :value="9" />
<el-option key="11" :label="$t('page.business.resource.resource.zjzt.djd')" :value="11" />
</el-select>
</div>
</div>
<div class="content-title">
<div class="line"></div>
<div class="subtitle"> {{ $t('page.business.resource.gsp.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.gsp.jcgj') }}</div>
</div>
<jcgjList ref="jcgjList" @handleQuery="jcgjListHandleQuery" />
<pagination v-show="jcgjTotal > 0" small layout="prev, pager, next" :total="jcgjTotal"
@pagination="getJjcgjList" />
</div>
</div>
<XqExport ref="XqExport" key="XqExport" />
</div>
</div>
</div>
</template>
<script>
import { info, tzList, jcgjList } from "@/api/business/gsp/gsp"
import JcgjList from "@/views/business/comps/common/JcgjList";
import html2canvas from 'html2canvas';
import jsPDF from 'jspdf'
import XqExport from "./XqExport"
export default {
name: "Xq",
components: { JcgjList, XqExport },
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: {
exportPDF() {
console.log(this.$refs.XqExport)
this.$refs.XqExport.exportPDF()
// const element = this.$refs.content
// const canvas = await html2canvas(element, {
// scale: 2, //
// useCORS: true, //
// backgroundColor: '#ffffff'
// })
// const imgData = canvas.toDataURL('image/png')
// const pdf = new jsPDF('p', 'mm', 'a4') // A4
// const imgWidth = 210 // A4
// const pageHeight = 295 // A4
// const imgHeight = (canvas.height * imgWidth) / canvas.width
// let heightLeft = imgHeight
// let position = 0
// //
// pdf.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight)
// heightLeft -= pageHeight
// //
// while (heightLeft > 0) {
// position = heightLeft - imgHeight
// pdf.addPage()
// pdf.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight)
// heightLeft -= pageHeight
// }
// pdf.save('document.pdf')
},
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.gspId = row.id
this.queryJcgjParams.gspId = row.id
info({ id: row.id }).then(response => {
this.form = response.data
this.getTzList()
this.open = true
})
this.$refs.XqExport.show(row)
}
}
}
</script>

+ 252
- 0
src/views/business/archive/gsp/comps/gsp/XqExport.vue View File

@ -0,0 +1,252 @@
<template>
<!-- 详情 -->
<div>
<div class="detail-container">
<div ref="content">
<div class="detail-title"><img src="@/assets/images/detail-title.png">{{ $t('page.business.resource.gsp.gspxq')
}}<img src="@/assets/images/detail-title.png" /></div>
<div class="detail-content">
<div style="width: 100%;">
<!-- 基本信息 -->
<div class="content-title">
<div class="line"></div>
<div class="subtitle"> {{ $t('page.business.resource.gsp.mc') }}</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gsp.mc') }}</div>
<el-input type="text" :value="form.mc" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gsp.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.gsp.ph') }}</div>
<el-input type="text" :value="form.ph" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gsp.gg') }}</div>
<el-input type="text" :value="form.gg" maxlength="50" disabled> <template slot="append">{{
form.ggdw }}</template> </el-input>
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gsp.jsrq') }}</div>
<el-input type="text" :value="form.jsrq" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gsp.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.gsp.yxq') }}</div>
<el-input type="text" :value="form.yxq" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gsp.zjzt') }}</div>
<el-select v-model="form.zjzt" disabled style="width: 100%;">
<el-option key="1" :label="$t('page.business.resource.resource.zjzt.rk')" :value="1" />
<el-option key="3" :label="$t('page.business.resource.resource.zjzt.yff')" :value="3" />
<el-option key="5" :label="$t('page.business.resource.resource.zjzt.ysd')" :value="5" />
<el-option key="7" :label="$t('page.business.resource.resource.zjzt.dgd')" :value="7" />
<el-option key="9" :label="$t('page.business.resource.resource.zjzt.gd')" :value="9" />
<el-option key="11" :label="$t('page.business.resource.resource.zjzt.djd')" :value="11" />
</el-select>
</div>
</div>
<!-- 台账 -->
<div class="content-title">
<div class="line"></div>
<div class="subtitle"> {{ $t('page.business.resource.gsp.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="content-title">
<div class="line"></div>
<div class="subtitle"> {{ $t('page.business.resource.gsp.jcgj') }}</div>
</div>
<div>
<div v-for="(item, index) in jcgjList" :key="index">
<div>
<span>{{ $i18n.locale === 'zh_CN' ? item.jcmc : item.jcmcEn }},</span>
<span class="jcglList-jcnr">
<template v-if="$i18n.locale === 'zh_CN'">
<span v-for="(pitem, pindex) in item.jcnrList" :key="pindex">
{{ pitem.name }}{{ pitem.value }},
</span>
</template>
<template v-else>
<span v-for="(pitem, pindex) in item.jcnrListEn" :key="pindex">
{{ pitem.name }}{{ pitem.value }},
</span>
</template>
<span v-if="item.remark && item.remark !== ''">
{{ $t('form.remark') }}{{ item.remark }},
</span>
<span v-if="item.qmrId && item.qmrId > 0">
{{ $t('form.qmyy') }}{{ $i18n.locale === 'zh_CN' ? item.jcmc : item.jcmcEn }},
</span>
<span v-if="item.qmrId && item.qmrId > 0">
<!-- {{$t('form.signer')}}{{ $i18n.locale === 'zh_CN'?item.qmrMc:item.qmrMcEn }} -->
{{ $t('form.signer') }}{{ item.qmrMc }},
</span>
<span>{{ $t('form.signTime') }}{{ item.createTime }}</span>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { info, tzList, jcgjList } from "@/api/business/gsp/gsp"
import JcgjList from "@/views/business/comps/common/JcgjList";
import html2canvas from 'html2canvas';
import jsPDF from 'jspdf'
export default {
name: "XqExport",
components: { JcgjList },
data() {
return {
form: {},
tzList: [],
totalTz: 0,
loadingTz: true,
open: false,
queryParamstZ: {
mjyId: null,
pageNum: 1,
pageSize: 9999999
},
jcgjTotal: 0,
jcgjList: [],
queryJcgjParams: {
pageNum: 1,
mjyId: null,
pageSize: 9999999,
}
}
},
created() {
},
methods: {
async exportPDF() {
this.$modal.loading()
const element = this.$refs.content
const canvas = await html2canvas(element, {
scale: 2, //
useCORS: true, //
backgroundColor: '#ffffff'
})
const imgData = canvas.toDataURL('image/png')
const pdf = new jsPDF('p', 'mm', 'a4') // A4
const imgWidth = 210 // A4
const pageHeight = 295 // A4
const imgHeight = (canvas.height * imgWidth) / canvas.width
let heightLeft = imgHeight
let position = 0
//
pdf.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight)
heightLeft -= pageHeight
//
while (heightLeft > 0) {
position = heightLeft - imgHeight
pdf.addPage()
pdf.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight)
heightLeft -= pageHeight
}
pdf.save('document.pdf')
this.$modal.closeLoading()
},
exportExcel() {
alert('todo')
},
jcgjListHandleQuery(val) {
this.$modal.loading()
jcgjList(_.merge({}, this.queryJcgjParams, val)).then(response => {
this.jcgjList = response.rows
this.jcgjTotal = response.total
this.$modal.closeLoading()
})
},
getJjcgjList() {
jcgjList(this.queryJcgjParams).then(response => {
this.jcgjList = response.rows
this.jcgjTotal = response.total
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.gspId = row.id
this.queryJcgjParams.gspId = row.id
info({ id: row.id }).then(response => {
this.form = response.data
this.getTzList()
this.open = true
})
}
}
}
</script>

+ 234
- 0
src/views/business/archive/gsp/comps/gsp/Xz.vue View File

@ -0,0 +1,234 @@
<template>
<div>
<!-- 新增弹窗 -->
<el-dialog :title="$t('form.add')" :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.gsp.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.gsp.bh')" prop="bh">
<el-input type="text" v-model="form.bh" 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.gsp.ph')" prop="ph">
<el-input type="text" v-model="form.ph" maxlength="50" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<!-- 规格 -->
<el-col :span="8">
<el-form-item :label="$t('page.business.resource.gsp.gg')" prop="gg">
<el-input type="text" v-model="form.gg" maxlength="50" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<!-- 规格单位 -->
<el-col :span="4">
<BusinessSelect v-model="form.ggdw"
dictType="system_business_nddw,system_business_zldw,system_business_tjdw"></BusinessSelect>
</el-col>
</el-row>
<el-row>
<!-- 库存量 -->
<el-col :span="8">
<el-form-item :label="$t('page.business.resource.gsp.kcl')" prop="kc">
<el-input type="number" v-model="form.kc" maxlength="50" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<!-- 库存量单位 -->
<el-col :span="4">
<BusinessSelect v-model="form.kcdw"
dictType="system_business_nddw,system_business_zldw,system_business_tjdw"></BusinessSelect>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.yxq')" prop="yxq">
<el-date-picker v-model="form.yxq" type="datetime" format="yyyy-MM-dd HH:mm"
value-format="yyyy-MM-dd HH:mm:ss" :placeholder="$t('form.placeholderInput')">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<!-- 存储条件 -->
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.cctj')" prop="cctj">
<BusinessSelect v-model="form.cctj" dictType="system_business_cctj"></BusinessSelect>
</el-form-item>
</el-col>
<!-- 接收日期 -->
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.jsrq')" prop="jsrq">
<el-date-picker v-model="form.jsrq" type="datetime" format="yyyy-MM-dd HH:mm"
value-format="yyyy-MM-dd HH:mm:ss" :placeholder="$t('form.placeholderInput')">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<!-- 注意事项 -->
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gsp.zysx')" prop="zysx">
<el-input type="textarea" :rows="2" v-model="form.zysx" maxlength="500"
: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.signerPsw')" 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.qmbz')" prop="qmbz">
<el-input type="textarea" v-model="form.qmbz" :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 { save } from "@/api/business/gsp/gsp"
import { mapGetters } from 'vuex'
import BusinessSelect from '@/views/business/comps/select/BusinessSelect';
export default {
name: "Xz",
components: { BusinessSelect },
data() {
return {
open: false,
form: {},
rules: {
mc: [{
required: true,
message: ' ',
trigger: 'blur'
}],
bh: [{
required: true,
message: ' ',
trigger: 'blur'
}],
ph: [{
required: true,
message: ' ',
trigger: 'blur'
}],
gg: [{
required: true,
message: ' ',
trigger: 'blur'
}],
kc: [{
required: true,
message: ' ',
trigger: 'blur'
}],
yxq: [{
required: true,
message: ' ',
trigger: 'blur'
}],
jsrq: [{
required: true,
message: ' ',
trigger: 'blur'
}],
cctj: [{
required: true,
message: ' ',
trigger: 'blur'
}],
zysx: [{
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: this.$t('page.business.resource.gsp.xzgsp'),
bjbz: ''
}
this.resetForm("form")
},
show() {
this.reset()
this.open = true
},
save() {
this.$refs["form"].validate(valid => {
if (valid) {
save(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
})
}
}
}
</script>

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

@ -0,0 +1,216 @@
<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: this.$t('page.business.resource.gsp.ysff'),
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>

+ 536
- 0
src/views/business/archive/gsp/comps/gspList.vue View File

@ -0,0 +1,536 @@
<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.gsp.mc') + ':'" prop="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.gsp.bh') + ':'" prop="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.gsp.ph') + ':'" prop="ph">
<el-input v-model="queryParams.ph" clearable @change="handleQuery"
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
<!-- 借阅状态 -->
<el-form-item :label="$t('page.business.resource.gsp.jyzt') + ':'" prop="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.gsp.zjzt') + ':'" prop="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.gsp.yxq') + ':'">
<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" @click="handlePlff" v-hasPermi="['business:resource:gsp:gxwzk']">{{
$t('page.business.resource.gsp.gxwzk') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 新增 -->
<el-button type="primary" @click="handleXz" v-hasPermi="['business:resource:gsp:xz']">{{
$t('form.add') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 批量发放 -->
<el-button type="primary" :disabled="multiple" @click="handlePlff" v-hasPermi="['business:resource:gsp:ff']">{{
$t('page.business.resource.gsp.plff') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 批量处置 -->
<el-button type="primary" :disabled="multiple" @click="handlePlcz" v-hasPermi="['business:resource:gsp:cz']">{{
$t('page.business.resource.gsp.plcz') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 钥匙发放 -->
<el-button type="primary" :disabled="multiple" @click="handleYsff" v-hasPermi="['business:resource:gsp:ff']">{{
$t('page.business.resource.gsp.ysff') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 批量锁定 -->
<el-button type="primary" :disabled="multiple" @click="handlePlsd" v-hasPermi="['business:resource:gsp:ysff']">{{
$t('page.business.resource.gsp.plsd') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 批量归档 -->
<el-button type="primary" :disabled="multiple" @click="handlePlgd" v-hasPermi="['business:resource:gsp:gd']">{{
$t('page.business.resource.gsp.plgd') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 导出 -->
<el-button type="primary" @click="exportExcel" v-hasPermi="['business:resource:gsp: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.gsp.mc')" align="left" prop="mc"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gsp.bh')" align="center" prop="bh"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gsp.gg')" align="center">
<template slot-scope="scope">
{{ scope.row.gg }}{{ scope.row.ggdw }}
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gsp.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.gsp.ph')" align="center" prop="ph" width="150px" />
<el-table-column :label="$t('page.business.resource.gsp.jsrq')" align="center" prop="jsrq" width="150px" />
<el-table-column :label="$t('page.business.resource.gsp.cctj')" align="center" prop="cctj" width="130px" />
<el-table-column :label="$t('page.business.resource.gsp.zjzt')" align="center" width="100px" fixed="right">
<template slot-scope="scope">
<span v-if="scope.row.zjzt == 1">{{ $t('page.business.resource.resource.zjzt.rk') }}</span>
<span v-if="scope.row.zjzt == 3">{{ $t('page.business.resource.resource.zjzt.yff') }}</span>
<span v-if="scope.row.zjzt == 5">{{ $t('page.business.resource.resource.zjzt.ysd') }}</span>
<span v-if="scope.row.zjzt == 7">{{ $t('page.business.resource.resource.zjzt.dgd') }}</span>
<span v-if="scope.row.zjzt == 9">{{ $t('page.business.resource.resource.zjzt.gd') }}</span>
<span v-if="scope.row.zjzt == 11">{{ $t('page.business.resource.resource.zjzt.djd') }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gsp.jyzt')" align="center" width="100px" fixed="right">
<template slot-scope="scope">
<span v-if="scope.row.jyzt == 1">{{ $t('page.business.resource.resource.jyzt.wjy') }}</span>
<span v-if="scope.row.jyzt == 3">{{ $t('page.business.resource.resource.jyzt.djy') }}</span>
<span v-if="scope.row.jyzt == 5">{{ $t('page.business.resource.resource.jyzt.jyz') }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('form.operate')" fixed="right" align="center"
class-name="small-padding fixed-width" width="250px">
<template slot-scope="scope">
<template
v-if="scope.row.zjzt == 1 || scope.row.zjzt == 3 || scope.row.zjzt == 5 || (scope.row.zjzt == 9 && scope.row.jyzt == 5)">
<!-- 详情 -->
<el-button type="text" @click="handleXq(scope.row)" v-hasPermi="['business:resource:gsp:xq']">{{
$t('page.business.resource.gsp.detail') }}</el-button>
</template>
<template v-if="scope.row.zjzt == 1">
<!-- 发放 -->
<el-button type="text" @click="handleFf(scope.row)" v-hasPermi="['business:resource:gsp:ff']">{{
$t('page.business.resource.gsp.fafang') }}</el-button>
<!-- 处置 -->
<el-button type="text" @click="handleCz(scope.row)" v-hasPermi="['business:resource:gsp:cz']">{{
$t('page.business.resource.gsp.cz') }}</el-button>
<!-- 编辑 -->
<el-button v-if="scope.row.bjzt == 1 && scope.row.zjzt == 1" type="text" @click="handleBj(scope.row)"
v-hasPermi="['business:resource:gsp:bj']">{{
$t('form.edit') }}</el-button>
<!-- 修改库存 -->
<el-button v-if="scope.row.kcbjzt == 1" type="text" @click="handleXgkc(scope.row)" v-hasPermi="['business:resource:gsp:xgkc']" >{{
$t('page.business.resource.gsp.xgkc') }}</el-button>
<!-- 锁定 -->
<el-button type="text" @click="handleSd(scope.row)" v-hasPermi="['business:resource:gsp:sd']">{{
$t('page.business.resource.gsp.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:gsp:shbj']" >{{
$t('page.business.resource.gsp.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:gsp:xgkc']">{{
$t('page.business.resource.gsp.shxgkc') }}</el-button>
</template>
<template v-if="scope.row.zjzt == 5">
<!-- 解锁 -->
<el-button type="text" @click="handleJs(scope.row)" v-hasPermi="['business:resource:gsp:js']">{{
$t('page.business.resource.gsp.unlock') }}</el-button>
<!-- 归档 -->
<el-button type="text" @click="handleGd(scope.row)" v-hasPermi="['business:resource:gsp:gd']">{{
$t('page.business.resource.gsp.guidang') }}</el-button>
</template>
<template v-if="scope.row.zjzt == 3">
<!-- 归还 -->
<el-button type="text" @click="handleGh(scope.row)" v-hasPermi="['business:resource:gsp:gh']">{{
$t('page.business.resource.gsp.guihuan') }}</el-button>
</template>
<template v-if="scope.row.zjzt == 9 && scope.row.jyzt == 1">
<!-- 解档 -->
<el-button type="text" @click="handleJd(scope.row)" v-hasPermi="['business:resource:gsp:jd']">{{
$t('page.business.resource.gsp.jiedang') }}</el-button>
<!-- 借阅 -->
<el-button type="text" @click="handleJy(scope.row)" v-hasPermi="['business:resource:gsp:jy']">{{
$t('page.business.resource.gsp.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>
<!-- 新增 -->
<Xz key="Xz" ref="Xz" @callback="handleQuery" />
<!-- 锁定 -->
<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" />
<!-- 处置 -->
<Cz key="Cz" ref="Cz" @callback="handleQuery" />
<!-- 批量处置 -->
<CzBatch key="CzBatch" ref="CzBatch" @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/gsp/gsp"
import Sd from "./gsp/Sd";
import Js from "./gsp/Js";
import Gd from "./gsp/Gd";
import Jd from "./gsp/Jd";
import Xq from "./gsp/Xq";
import Bj from "./gsp/Bj";
import Xz from "./gsp/Xz";
import Shbj from "./gsp/Shbj";
import Xgkc from "./gsp/Xgkc";
import Shxgkc from "./gsp/Shxgkc";
import Jy from "./gsp/Jy";
import Gh from "./gsp/Gh";
import Ff from "./gsp/Ff";
import Cz from "./gsp/Cz";
import CzBatch from "./gsp/CzBatch";
import Ysff from "./gsp/Ysff";
import { deepClone } from "@/utils/index";
export default {
name: "GspList",
components: { Xz, Sd, Js, Gd, Xq, Jd, Bj, Shbj, Xgkc, Shxgkc, Jy, Gh, Cz, CzBatch, 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: {
//
exportExcel() {
let that = this
that.$modal.loading()
let params = deepClone(this.queryParams)
params.pageSize = 999999
list(params).then(response => {
var tabelStr =
'<table border="1" class="html-tabel">' +
'<tr style="background:#eee;">' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.mc') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.bh') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.gg') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.kcl') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.ph') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.jsrq') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.cctj') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.zjzt') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.jyzt') + '</th>' +
' </tr>'
let _datastr = ''
_.forEach(response.rows, function (value) {
let zjzt = ''
switch (value.zjzt) {
case 1:
zjzt = that.$t('page.business.resource.resource.zjzt.rk')
break
case 2:
zjzt = that.$t('page.business.resource.resource.zjzt.wrk')
break
case 3:
zjzt = that.$t('page.business.resource.resource.zjzt.yff')
break
case 5:
zjzt = that.$t('page.business.resource.resource.zjzt.ysd')
break
case 7:
zjzt = that.$t('page.business.resource.resource.zjzt.dgd')
break
case 9:
zjzt = that.$t('page.business.resource.resource.zjzt.gd')
break
case 11:
zjzt = that.$t('page.business.resource.resource.zjzt.djd')
break
default: zjzt = ''
}
let jyzt = ''
switch (value.jyzt) {
case 1:
jyzt = that.$t('page.business.resource.resource.jyzt.wjy')
break
case 3:
jyzt = that.$t('page.business.resource.resource.jyzt.djy')
break
case 5:
jyzt = that.$t('page.business.resource.resource.jyzt.jyz')
break
default: jyzt = ''
}
_datastr =
_datastr +
'<tr style="text-align: center;">' +
' <td>' +
value.mc +
'</td>' +
' <td>' +
'&nbsp;'+value.bh +
'</td>' +
' <td>' +
value.gg + value.ggdw +
'</td>' +
' <td>' +
value.kc + value.kcdw +
'</td>' +
' <td>' +
value.ph +
'</td>' +
' <td>' +
value.jsrq +
'</td>' +
' <td>' +
value.cctj +
'</td>' +
' <td>' +
zjzt +
'</td>' +
' <td>' +
jyzt +
'</td>' +
'</tr>'
})
tabelStr = tabelStr + _datastr + ' <table>'
// Worksheet
var worksheet = that.$t('page.business.resource.gsp.gspgl')
var uri = 'data:application/vnd.ms-excel;base64,'
// HTML
var exportTemplate = `<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns="http://www.w3.org/TR/REC-html40">
<head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>
<x:Name>${worksheet}</x:Name>
<x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet>
</x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]-->
</head>
<body>
${tabelStr}
</body>
</html>`
var a = document.createElement('a')
a.download = worksheet + '.xls'
a.href = uri + window.btoa(unescape(encodeURIComponent(exportTemplate)))
a.click()
that.$modal.closeLoading()
}).finally(() => {
that.$modal.closeLoading()
})
},
//
handleXz() {
this.$refs.Xz.show()
},
//
handleYsff() {
this.$refs.Ysff.showBatch(this.selectList)
},
//
handlePlff() {
this.$refs.Ff.showBatch(this.selectList)
},
//
handleFf(row) {
this.$refs.Ff.show(row)
},
//
handleCz(row) {
this.$refs.Cz.show(row)
},
//
handlePlcz() {
this.$refs.CzBatch.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] + ' 00:00:00'
this.queryParams.endDate = this.daterange[1] + ' 23:59:59'
} 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.dateRange = []
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>

+ 218
- 0
src/views/business/archive/gsp/comps/rkjl/Bj.vue View File

@ -0,0 +1,218 @@
<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.gsp.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.gsp.ph')" prop="ph">
<el-input type="text" v-model="form.ph" maxlength="50" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<!-- 规格 -->
<el-col :span="8">
<el-form-item :label="$t('page.business.resource.gsp.gg')" prop="gg">
<el-input type="text" v-model="form.gg" maxlength="50" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<!-- 规格单位 -->
<el-col :span="4">
<BusinessSelect v-model="form.ggdw"
dictType="business_nddw,business_zldw,business_tjdw"></BusinessSelect>
</el-col>
<!-- 入库时间 -->
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.rksj')" prop="rksj">
<el-date-picker v-model="form.rksj" type="datetime" format="yyyy-MM-dd HH:mm"
value-format="yyyy-MM-dd HH:mm:ss" :placeholder="$t('form.placeholderInput')">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<!-- 库存量 -->
<el-col :span="8">
<el-form-item :label="$t('page.business.resource.gsp.rkl')" prop="rkl">
<el-input type="number" v-model="form.rkl" maxlength="50" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<!-- 库存量单位 -->
<el-col :span="4">
<BusinessSelect v-model="form.rkdw"
dictType="business_nddw,business_zldw,business_tjdw"></BusinessSelect>
</el-col>
<!-- 存储条件 -->
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.cctj')" prop="cctj">
<BusinessSelect v-model="form.cctj" dictType="business_cctj"></BusinessSelect>
</el-form-item>
</el-col>
</el-row>
<el-row>
<!-- 注意事项 -->
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gsp.zysx')" prop="zysx">
<el-input type="textarea" :rows="2" v-model="form.zysx" maxlength="500"
: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.signerPsw')" 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="qmbz">
<el-input type="textarea" v-model="form.qmbz" :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, info } from "@/api/business/gsp/gspRkjl"
import { mapGetters } from 'vuex'
import BusinessSelect from '@/views/business/comps/select/BusinessSelect';
export default {
name: "Bj",
components: { BusinessSelect },
data() {
return {
open: false,
form: {},
rules: {
mc: [{
required: true,
message: ' ',
trigger: 'blur'
}],
bh: [{
required: true,
message: ' ',
trigger: 'blur'
}],
ph: [{
required: true,
message: ' ',
trigger: 'blur'
}],
gg: [{
required: true,
message: ' ',
trigger: 'blur'
}],
rkl: [{
required: true,
message: ' ',
trigger: 'blur'
}],
rksj: [{
required: true,
message: ' ',
trigger: 'blur'
}],
cctj: [{
required: true,
message: ' ',
trigger: 'blur'
}],
zysx: [{
required: true,
message: ' ',
trigger: 'blur'
}],
qmrmm: [{
required: true,
message: ' ',
trigger: 'blur'
}],
}
}
},
computed: {
...mapGetters([
'nickName'
]),
},
created() {
},
methods: {
cancel() {
this.open = false
},
reset() {
this.form = {
qmyy: this.$t('page.business.resource.gsp.bjgsprkjl'),
}
this.resetForm("form")
},
show(row) {
this.reset()
info({id: row.id}).then(response => {
this.form.id = response.data.id
this.form.mc = response.data.mc
this.form.ph = response.data.ph
this.form.gg = response.data.gg
this.form.ggdw = response.data.ggdw
this.form.rkl = response.data.rkl
this.form.rkdw = response.data.rkdw
this.form.rksj = response.data.rksj
this.form.cctj = response.data.cctj
this.form.zysx = response.data.zysx
this.form.qmyy = '编辑供试品入库记录'
console.log(this.form)
this.open = true
})
},
save() {
this.$refs["form"].validate(valid => {
if (valid) {
bj(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
})
}
}
}
</script>

+ 156
- 0
src/views/business/archive/gsp/comps/rkjl/Gd.vue View File

@ -0,0 +1,156 @@
<template>
<div>
<!-- 归档弹窗 -->
<el-dialog :title="$t('page.business.resource.gsp.gd')" :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/gsp/gspRkjl"
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: this.$t('page.business.resource.gsp.sqgd'),
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/archive/gsp/comps/rkjl/Jd.vue View File

@ -0,0 +1,144 @@
<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/gsp/gspRkjl"
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: this.$t('page.business.resource.gsp.sqjd'),
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/archive/gsp/comps/rkjl/Js.vue View File

@ -0,0 +1,123 @@
<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/gsp/gspRkjl"
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: this.$t('page.business.resource.gsp.jsgsprkjl'),
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/archive/gsp/comps/rkjl/Jy.vue View File

@ -0,0 +1,158 @@
<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/gsp/gspRkjl"
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: this.$t('page.business.resource.gsp.sqjy'),
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/archive/gsp/comps/rkjl/Sd.vue View File

@ -0,0 +1,156 @@
<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/gsp/gspRkjl"
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: this.$t('page.business.resource.gsp.sdgsprkjl'),
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/archive/gsp/comps/rkjl/SelectList.vue View File

@ -0,0 +1,56 @@
<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>

+ 156
- 0
src/views/business/archive/gsp/comps/rkjl/Xq.vue View File

@ -0,0 +1,156 @@
<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.gsp.gsprkjl')
}}<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.gsp.mc') }}</div>
<el-input type="text" :value="form.mc" maxlength="50" disabled />
</div>
<div class="right">
<div class="left-title">{{ $t('page.business.resource.gsp.ph') }}</div>
<el-input type="text" :value="form.ph" maxlength="50" disabled />
</div>
</div>
<div class="pal">
<div class="left">
<div class="right-title">{{ $t('page.business.resource.gsp.gg') }}</div>
<el-input type="text" :value="form.gg" maxlength="50" disabled>
<template slot="append">{{ form.ggdw }}</template>
</el-input>
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gsp.rksj') }}</div>
<el-input type="text" :value="form.rksj" maxlength="50" disabled>
</el-input>
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gsp.rkl') }}</div>
<el-input type="text" :value="form.rkl" maxlength="50" disabled>
<template slot="append">{{ form.rkdw }}</template>
</el-input>
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gsp.zysx') }}</div>
<el-input type="text" :value="form.zysx" disabled />
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gsp.gdsqr') }}</div>
<el-input type="text" :value="form.gdsqrMc" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gsp.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.gsp.jlzt') }}</div>
<el-select v-model="form.jlzt" disabled style="width: 100%;">
<el-option :label="$t('page.business.resource.resource.jlzt.wsd')" :value="1" />
<el-option :label="$t('page.business.resource.resource.jlzt.ysd')" :value="3" />
<el-option :label="$t('page.business.resource.resource.jlzt.dgd')" :value="5" />
<el-option :label="$t('page.business.resource.resource.jlzt.gd')" :value="7" />
<el-option :label="$t('page.business.resource.resource.jlzt.djd')" :value="9" />
</el-select>
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gsp.jyzt') }}</div>
<el-select v-model="form.jyzt" disabled style="width: 100%;">
<el-option :label="$t('page.business.resource.resource.jyzt.wjy')" :value="1" />
<el-option :label="$t('page.business.resource.resource.jyzt.djy')" :value="3" />
<el-option :label="$t('page.business.resource.resource.jyzt.jyz')" :value="5" />
</el-select>
</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/gsp/gspRkjl"
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>

+ 219
- 0
src/views/business/archive/gsp/comps/rkjl/Xz.vue View File

@ -0,0 +1,219 @@
<template>
<div>
<!-- 新增弹窗 -->
<el-dialog :title="$t('form.add')" :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.gsp.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.gsp.ph')" prop="ph">
<el-input type="text" v-model="form.ph" maxlength="50" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<!-- 规格 -->
<el-col :span="8">
<el-form-item :label="$t('page.business.resource.gsp.gg')" prop="gg">
<el-input type="text" v-model="form.gg" maxlength="50" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<!-- 规格单位 -->
<el-col :span="4">
<BusinessSelect v-model="form.ggdw"
dictType="business_nddw,business_zldw,business_tjdw"></BusinessSelect>
</el-col>
<!-- 入库时间 -->
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.rksj')" prop="rksj">
<el-date-picker v-model="form.rksj" type="datetime" format="yyyy-MM-dd HH:mm"
value-format="yyyy-MM-dd HH:mm:ss" :placeholder="$t('form.placeholderInput')">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<!-- 库存量 -->
<el-col :span="8">
<el-form-item :label="$t('page.business.resource.gsp.rkl')" prop="rkl">
<el-input type="number" v-model="form.rkl" maxlength="50" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<!-- 库存量单位 -->
<el-col :span="4">
<BusinessSelect v-model="form.rkdw"
dictType="business_nddw,business_zldw,business_tjdw"></BusinessSelect>
</el-col>
<!-- 存储条件 -->
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.cctj')" prop="cctj">
<BusinessSelect v-model="form.cctj" dictType="business_cctj"></BusinessSelect>
</el-form-item>
</el-col>
</el-row>
<el-row>
<!-- 注意事项 -->
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gsp.zysx')" prop="zysx">
<el-input type="textarea" :rows="2" v-model="form.zysx" maxlength="500"
: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.signerPsw')" 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="qmbz">
<el-input type="textarea" v-model="form.qmbz" :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 { xz } from "@/api/business/gsp/gspRkjl"
import { mapGetters } from 'vuex'
import BusinessSelect from '@/views/business/comps/select/BusinessSelect';
export default {
name: "Xz",
components: { BusinessSelect },
data() {
return {
open: false,
form: {},
rules: {
mc: [{
required: true,
message: ' ',
trigger: 'blur'
}],
bh: [{
required: true,
message: ' ',
trigger: 'blur'
}],
ph: [{
required: true,
message: ' ',
trigger: 'blur'
}],
gg: [{
required: true,
message: ' ',
trigger: 'blur'
}],
rkl: [{
required: true,
message: ' ',
trigger: 'blur'
}],
yxq: [{
required: true,
message: ' ',
trigger: 'blur'
}],
rksj: [{
required: true,
message: ' ',
trigger: 'blur'
}],
cctj: [{
required: true,
message: ' ',
trigger: 'blur'
}],
zysx: [{
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: this.$t('page.business.resource.gsp.xzgsprkjl'),
bjbz: ''
}
this.resetForm("form")
},
show() {
this.reset()
this.open = true
},
save() {
this.$refs["form"].validate(valid => {
if (valid) {
xz(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
})
}
}
}
</script>

+ 439
- 0
src/views/business/archive/gsp/comps/rkjlList.vue View File

@ -0,0 +1,439 @@
<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.gsp.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.gsp.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.gsp.gg') + ':'">
<el-input v-model="queryParams.gg" clearable @change="handleQuery"
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
<!-- 记录状态 -->
<el-form-item :label="$t('page.business.resource.gsp.jlzt') + ':'">
<el-select v-model="queryParams.jlzt" :placeholder="$t('form.placeholderSelect')" clearable
@change="handleQuery">
<el-option :label="$t('page.business.resource.resource.jlzt.wsd')" :value="1" />
<el-option :label="$t('page.business.resource.resource.jlzt.ysd')" :value="3" />
<el-option :label="$t('page.business.resource.resource.jlzt.dgd')" :value="5" />
<el-option :label="$t('page.business.resource.resource.jlzt.gd')" :value="7" />
<el-option :label="$t('page.business.resource.resource.jlzt.djd')" :value="9" />
</el-select>
</el-form-item>
<!-- 借阅状态 -->
<el-form-item :label="$t('page.business.resource.gsp.jyzt') + ':'">
<el-select v-model="queryParams.jyzt" :placeholder="$t('form.placeholderSelect')" clearable
@change="handleQuery">
<el-option :label="$t('page.business.resource.resource.jyzt.wjy')" :value="1" />
<el-option :label="$t('page.business.resource.resource.jyzt.djy')" :value="3" />
<el-option :label="$t('page.business.resource.resource.jyzt.jyz')" :value="5" />
</el-select>
</el-form-item>
<!-- 入库日期 -->
<el-form-item :label="$t('page.business.resource.mjy.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-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-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<!-- 新增 -->
<el-button type="primary" @click="handleXz" v-hasPermi="['business:resource:gsp:rkxz']">{{
$t('form.add') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 导入 -->
<el-button type="primary" @click="handleXz" v-hasPermi="['business:resource:gsp:rkdr']">{{
$t('page.business.resource.gsp.dr') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 批量归档 -->
<el-button type="primary" :disabled="multiple" @click="handlePlgd"
v-hasPermi="['business:resource:gsp:rkgd']">{{
$t('page.business.resource.gsp.plgd') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 批量锁定 -->
<el-button type="primary" :disabled="multiple" @click="handlePlsd"
v-hasPermi="['business:resource:gsp:rksd']">{{
$t('page.business.resource.gsp.plsd') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 导出 -->
<el-button type="primary" @click="exportExcel"
v-hasPermi="['business:resource:gsp:rkdc']">{{
$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.gsp.mc')" align="left" prop="mc"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gsp.ph')" align="center" prop="ph"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gsp.gg')" align="center">
<template slot-scope="scope">
{{ scope.row.gg }} {{ scope.row.ggdw }}
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gsp.rksj')" align="center" prop="rksj" width="150px"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gsp.rkl')" align="center" width="150px">
<template slot-scope="scope">
{{ scope.row.rkl }} {{ scope.row.rkdw }}
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gsp.cctj')" align="center" prop="cctj" />
<el-table-column :label="$t('page.business.resource.gsp.zysx')" align="center" prop="zysx"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gsp.jlzt')" align="center" width="100px" fixed="right">
<template slot-scope="scope">
<span v-if="scope.row.jlzt == 1">{{ $t('page.business.resource.resource.jlzt.wsd') }}</span>
<span v-if="scope.row.jlzt == 3">{{ $t('page.business.resource.resource.jlzt.ysd') }}</span>
<span v-if="scope.row.jlzt == 5">{{ $t('page.business.resource.resource.jlzt.dgd') }}</span>
<span v-if="scope.row.jlzt == 7">{{ $t('page.business.resource.resource.jlzt.gd') }}</span>
<span v-if="scope.row.jlzt == 9">{{ $t('page.business.resource.resource.jlzt.djd') }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gsp.jyzt')" align="center" width="100px" fixed="right">
<template slot-scope="scope">
<span v-if="scope.row.jyzt == 1">{{ $t('page.business.resource.resource.jyzt.wjy') }}</span>
<span v-if="scope.row.jyzt == 3">{{ $t('page.business.resource.resource.jyzt.djy') }}</span>
<span v-if="scope.row.jyzt == 5">{{ $t('page.business.resource.resource.jyzt.jyz') }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('form.operate')" fixed="right" align="center"
class-name="small-padding fixed-width" width="250px">
<template slot-scope="scope">
<!-- 编辑 -->
<el-button v-if="scope.row.jlzt == 1" type="text" @click="handleBj(scope.row)"
v-hasPermi="['business:resource:gsp:rkbj']">{{
$t('form.edit') }}</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:gsp:rkxq']">{{
$t('page.business.resource.gsp.detail') }}</el-button>
<!-- 锁定 -->
<el-button type="text" v-if="scope.row.jlzt == 1" @click="handleSd(scope.row)"
v-hasPermi="['business:resource:gsp:rksd']">{{
$t('page.business.resource.gsp.lock') }}</el-button>
<!-- 解锁 -->
<el-button type="text" v-if="scope.row.jlzt == 3" @click="handleJs(scope.row)"
v-hasPermi="['business:resource:gsp:rkjs']">{{
$t('page.business.resource.gsp.unlock') }}</el-button>
<!-- 归档 -->
<el-button type="text" v-if="scope.row.jlzt == 3" @click="handleGd(scope.row)"
v-hasPermi="['business:resource:gsp:rkgd']">{{
$t('page.business.resource.gsp.guidang') }}</el-button>
<!-- 解档 -->
<el-button type="text" v-if="scope.row.jlzt == 7" @click="handleJd(scope.row)"
v-hasPermi="['business:resource:gsp:rkjd']">{{
$t('page.business.resource.gsp.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:gsp:rkjy']">{{
$t('page.business.resource.gsp.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" />
<!-- 编辑 -->
<Bj key="Bj" ref="Bj" @callback="handleQuery" />
<!-- 新增 -->
<Xz key="Xz" ref="Xz" @callback="handleQuery" />
</div>
</div>
</template>
<script>
import { list } from "@/api/business/gsp/gspRkjl"
import Sd from "./rkjl/Sd";
import Jy from "./rkjl/Jy";
import Js from "./rkjl/Js";
import Gd from "./rkjl/Gd";
import Jd from "./rkjl/Jd";
import Xq from "./rkjl/Xq";
import Xz from "./rkjl/Xz";
import Bj from "./rkjl/Bj";
import { deepClone } from "@/utils/index";
export default {
name: "FfjlList",
components: { Sd, Js, Gd, Jd, Jy, Xq, Xz, Bj },
data() {
return {
daterangeCk: [],
daterangeRk: [],
loading: true,
showDetail: false,
single: true,
multiple: true,
total: 0,
list: [],
//
selectList: [],
//
queryParams: {
pageNum: 1,
pageSize: 10,
mc: null,
mdId: null,
jlzt: null,
jyzt: null,
bh: null,
startDateCk: null,
endDateCk: null,
startDateRk: null,
endDateRk: null,
},
}
},
created() {
this.getList()
},
methods: {
//
exportExcel() {
let that = this
that.$modal.loading()
let params = deepClone(this.queryParams)
params.pageSize = 999999
list(params).then(response => {
var tabelStr =
'<table border="1" class="html-tabel">' +
'<tr style="background:#eee;">' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.mc') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.ph') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.gg') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.rksj') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.kcl') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.cctj') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.zysx') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.jlzt') + '</th>' +
'<th style="text-align: center;">' + this.$t('page.business.resource.gsp.jyzt') + '</th>' +
' </tr>'
let _datastr = ''
_.forEach(response.rows, function (value) {
let jlzt = ''
switch (value.jlzt) {
case 1:
jlzt = that.$t('page.business.resource.resource.jlzt.wsd')
break
case 3:
jlzt = that.$t('page.business.resource.resource.jlzt.ysd')
break
case 5:
jlzt = that.$t('page.business.resource.resource.jlzt.dgd')
break
case 7:
jlzt = that.$t('page.business.resource.resource.jlzt.gd')
break
case 9:
jlzt = that.$t('page.business.resource.resource.jlzt.djd')
break
default: jlzt = ''
}
let jyzt = ''
switch (value.jyzt) {
case 1:
jyzt = that.$t('page.business.resource.resource.jyzt.wjy')
break
case 3:
jyzt = that.$t('page.business.resource.resource.jyzt.djy')
break
case 5:
jyzt = that.$t('page.business.resource.resource.jyzt.jyz')
break
default: jyzt = ''
}
_datastr =
_datastr +
'<tr style="text-align: center;">' +
' <td>' +
value.mc +
'</td>' +
' <td>' +
'&nbsp;' + value.ph +
'</td>' +
' <td>' +
value.gg + value.ggdw +
'</td>' +
' <td>' +
value.rksj +
'</td>' +
' <td>' +
value.rkl + value.rkdw +
'</td>' +
' <td>' +
value.cctj +
'</td>' +
' <td>' +
value.zysx +
'</td>' +
' <td>' +
jlzt +
'</td>' +
' <td>' +
jyzt +
'</td>' +
'</tr>'
})
tabelStr = tabelStr + _datastr + ' <table>'
// Worksheet
var worksheet = that.$t('page.business.resource.gsp.gsprkjl')
var uri = 'data:application/vnd.ms-excel;base64,'
// HTML
var exportTemplate = `<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns="http://www.w3.org/TR/REC-html40">
<head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>
<x:Name>${worksheet}</x:Name>
<x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet>
</x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]-->
</head>
<body>
${tabelStr}
</body>
</html>`
var a = document.createElement('a')
a.download = worksheet + '.xls'
a.href = uri + window.btoa(unescape(encodeURIComponent(exportTemplate)))
a.click()
that.$modal.closeLoading()
}).finally(() => {
that.$modal.closeLoading()
})
},
handleBj(row) {
this.$refs.Bj.show(row)
},
handleXz() {
this.$refs.Xz.show()
},
//
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>

+ 97
- 0
src/views/business/archive/gsp/index.vue View File

@ -0,0 +1,97 @@
<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">
<gspList v-if="active === 'gspList'" @showDetail="showDetailCallback" />
<ffjlList v-if="active === 'ffjlList'" @showDetail="showDetailCallback" />
<rkjlList v-if="active === 'rkjlList'" @showDetail="showDetailCallback" />
</div>
</div>
</div>
</template>
<script>
import gspList from "./comps/gspList";
import ffjlList from "./comps/ffjlList";
import rkjlList from "./comps/rkjlList";
export default {
name: 'Gsp',
components: { gspList, ffjlList, rkjlList },
data() {
return {
showDetail: false,
tabList: [
{ key: 'gspList', name: this.$t('page.business.resource.gsp.gspgl') },
{ key: 'rkjlList', name: this.$t('page.business.resource.gsp.gsprkjl') },
{ key: 'ffjlList', name: this.$t('page.business.resource.gsp.ffhsjl') },
],
active: 'gspList',
}
},
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>

Loading…
Cancel
Save