luojie 3 weeks ago
parent
commit
b0a587eadc
25 changed files with 258 additions and 322 deletions
  1. +8
    -8
      src/api/business/gsp/gspFfjlArchive.js
  2. +6
    -2
      src/views/business/archive/gsp/comps/ffjlList.vue
  3. +5
    -3
      src/views/business/comps/template/comps/dl/DL023.vue
  4. +7
    -5
      src/views/business/resource/gsp/comps/ffjl/Jd.vue
  5. +2
    -2
      src/views/business/resource/gsp/comps/ffjl/Js.vue
  6. +2
    -2
      src/views/business/resource/gsp/comps/ffjl/Jy.vue
  7. +3
    -0
      src/views/business/resource/gsp/comps/gsp/Bj.vue
  8. +9
    -16
      src/views/business/resource/gsp/comps/gsp/Jd.vue
  9. +3
    -2
      src/views/business/resource/gsp/comps/gsp/Shbj.vue
  10. +8
    -5
      src/views/business/resource/gsp/comps/gsp/Shxgkc.vue
  11. +11
    -10
      src/views/business/resource/gsp/comps/gsp/Xgkc.vue
  12. +0
    -237
      src/views/business/resource/gsp/comps/gsp/Xq copy.vue
  13. +3
    -3
      src/views/business/resource/gsp/comps/gspList.vue
  14. +3
    -3
      src/views/business/resource/gsp/comps/rkjl/Bj.vue
  15. +2
    -2
      src/views/business/resource/gsp/comps/rkjl/Jd.vue
  16. +2
    -2
      src/views/business/resource/gsp/comps/rkjl/Js.vue
  17. +4
    -12
      src/views/business/resource/gsp/comps/rkjl/RkjlImport.vue
  18. +1
    -1
      src/views/business/resource/gsp/comps/rkjl/Xq.vue
  19. +1
    -0
      src/views/business/resource/gsp/comps/rkjlList.vue
  20. +2
    -1
      src/views/business/resource/sj/comps/Cz.vue
  21. +2
    -1
      src/views/business/resource/sj/comps/CzBatch.vue
  22. +1
    -1
      src/views/business/resource/sj/list.vue
  23. +158
    -0
      src/views/business/storageLocation/comps/StorageLocationImport.vue
  24. +13
    -3
      src/views/business/storageLocation/list.vue
  25. +2
    -1
      src/views/system/user/index.vue

+ 8
- 8
src/api/business/gsp/gspFfjlArchive.js View File

@ -4,7 +4,7 @@ import request from '@/utils/request'
// 档案列表
export function list(query) {
return request({
url: '/system/business/gspRkjlArchive/list',
url: '/system/business/gspFfjlArchive/list',
method: 'get',
params: query
})
@ -13,7 +13,7 @@ export function list(query) {
// 同意归档
export function tygd(data) {
return request({
url: '/system/business/gspRkjlArchive/gd/agree',
url: '/system/business/gspFfjlArchive/gd/agree',
method: 'post',
data: data
})
@ -22,7 +22,7 @@ export function tygd(data) {
// 拒绝归档
export function jjgd(data) {
return request({
url: '/system/business/gspRkjlArchive/gd/refuse',
url: '/system/business/gspFfjlArchive/gd/refuse',
method: 'post',
data: data
})
@ -31,7 +31,7 @@ export function jjgd(data) {
// 同意解档
export function tyjd(data) {
return request({
url: '/system/business/gspRkjlArchive/jd/agree',
url: '/system/business/gspFfjlArchive/jd/agree',
method: 'post',
data: data
})
@ -40,7 +40,7 @@ export function tyjd(data) {
// 拒绝解档
export function jjjd(data) {
return request({
url: '/system/business/gspRkjlArchive/jd/agree',
url: '/system/business/gspFfjlArchive/jd/agree',
method: 'post',
data: data
})
@ -49,7 +49,7 @@ export function jjjd(data) {
// 同意借阅
export function tyjy(data) {
return request({
url: '/system/business/gspRkjlArchive/jy/agree',
url: '/system/business/gspFfjlArchive/jy/agree',
method: 'post',
data: data
})
@ -58,7 +58,7 @@ export function tyjy(data) {
// 拒绝借阅
export function jjjy(data) {
return request({
url: '/system/business/gspRkjlArchive/jy/refuse',
url: '/system/business/gspFfjlArchive/jy/refuse',
method: 'post',
data: data
})
@ -67,7 +67,7 @@ export function jjjy(data) {
// 确认归还
export function qrgh(data) {
return request({
url: '/system/business/gspRkjlArchive/gh',
url: '/system/business/gspFfjlArchive/gh',
method: 'post',
data: data
})

+ 6
- 2
src/views/business/archive/gsp/comps/ffjlList.vue View File

@ -54,8 +54,12 @@
: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.md')" align="center" prop="mdMc">
<template slot-scope="scope">
<span v-if="scope.row.mdOther && scope.row.mdOther != ''&&scope.row.mdMcs && scope.row.mdMcs != ''">{{ scope.row.mdMcs }},{{ scope.row.mdOther }}</span>
<span v-else>{{ scope.row.mdMcs }}{{ scope.row.mdOther }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.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" />

+ 5
- 3
src/views/business/comps/template/comps/dl/DL023.vue View File

@ -160,7 +160,7 @@ export default {
label: 'template.dl.dl023.zwbh',
type: 'input',
fillType: 'actFill',
bodyMaxlength: 50,
maxlength: 50,
},
uvazsjl: {
label: "template.dl.dl023.uvazsjl",
@ -173,12 +173,14 @@ export default {
maxlength: 20,
},
zszsj: {
span: 1,
span:1,
label: 'template.dl.dl023.zszsj',
type: 'input',
with: 100,
fillType: 'actFill',
bodyMaxlength: 50,
maxlength: 50,
subType: 'text',
subText: '说明:当一批动物或细胞培养板完成照射后紫外照射仪屏幕显示的总照射时间',
},
zskssj: {
label: 'template.dl.dl023.zskssj',

+ 7
- 5
src/views/business/resource/gsp/comps/ffjl/Jd.vue View File

@ -1,9 +1,10 @@
<template>
<div >
<div>
<!-- 解档弹窗 -->
<el-dialog :title="$t('page.business.resource.mjy.jiedang')" :visible.sync="open" width="500px" append-to-body :close-on-click-modal="false">
<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-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
@ -18,7 +19,7 @@
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
</el-row> -->
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">
@ -48,7 +49,8 @@
<el-col :span="24">
<el-form-item :label="$t('form.password')" prop="qmrmm">
<div class="sbzdtcma"> <input type="text"></div>
<el-input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent v-model="form.qmrmm" maxlength="20" show-password :placeholder="$t('form.placeholderInput')" />
<el-input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent
v-model="form.qmrmm" maxlength="20" show-password :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>

+ 2
- 2
src/views/business/resource/gsp/comps/ffjl/Js.vue View File

@ -5,7 +5,7 @@
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div class="sbzdtcma"> <input type="text"> <input type="password" show-password> </div>
<el-row>
<!-- <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
@ -20,7 +20,7 @@
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
</el-row> -->
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">

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

@ -5,7 +5,7 @@
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<el-row>
<!-- <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
@ -20,7 +20,7 @@
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
</el-row> -->
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.mjy.jysj') + ':'" prop="startDate">

+ 3
- 0
src/views/business/resource/gsp/comps/gsp/Bj.vue View File

@ -193,6 +193,8 @@ export default {
reset() {
this.form = {
qmyy: this.$t('page.business.resource.gsp.bjgsp'),
qmrmm: null,
bjbz: null
}
this.resetForm("form")
},
@ -209,6 +211,7 @@ export default {
if (valid) {
edit(this.form).then(response => {
this.open = false
this.$modal.msgSuccess(this.$t('form.operationSuccess'))
this.$emit('callback')
})
}

+ 9
- 16
src/views/business/resource/gsp/comps/gsp/Jd.vue View File

@ -4,7 +4,7 @@
<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 class="sbzdtcma"> <input type="text"> <input type="password" show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" show-password> </div>
<div :style="isBatch ? 'display:block' : 'display:none'">
<el-alert :title="$t('page.business.resource.mjy.jdts')" type="error" :closable="false">
</el-alert>
@ -61,8 +61,8 @@
<el-col :span="24">
<el-form-item :label="$t('form.password')" prop="qmrmm">
<div class="sbzdtcma"> <input type="text"></div>
<el-input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password v-model="form.qmrmm" maxlength="20"
:placeholder="$t('form.placeholderInput')" />
<el-input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent
show-password v-model="form.qmrmm" maxlength="20" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
@ -76,7 +76,7 @@
</template>
<script>
import { jd, jdBatch } from "@/api/business/mjy/mjy"
import { jd } from "@/api/business/gsp/gsp"
import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
@ -141,18 +141,11 @@ export default {
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')
})
}
jd(this.form).then(response => {
this.open = false
this.$modal.msgSuccess(this.$t('form.operationSuccess'))
this.$emit('callback')
})
}
})
}

+ 3
- 2
src/views/business/resource/gsp/comps/gsp/Shbj.vue View File

@ -58,7 +58,7 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">
<el-form-item :label="$t('form.qmyy')" prop="qmyyMc">
<el-input type="text" :value="form.qmyyMc" maxlength="50" disabled />
</el-form-item>
</el-col>
@ -106,7 +106,7 @@ export default {
open: false,
form: {},
rules: {
qmyy: [{
qmyyMc: [{
required: true,
message: ' ',
trigger: 'blur'
@ -175,6 +175,7 @@ export default {
shbj(this.form).then(response => {
this.open = false
this.$modal.closeLoading()
this.$modal.msgSuccess(this.$t('form.operationSuccess'))
this.$emit('callback')
}).finally(() => {
this.$modal.closeLoading()

+ 8
- 5
src/views/business/resource/gsp/comps/gsp/Shxgkc.vue View File

@ -1,9 +1,8 @@
<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-dialog :title="$t('page.business.resource.gsp.shxgkc')" :visible.sync="open" width="600px" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<!-- <el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.mc')" prop="mcbj">
@ -48,7 +47,7 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">
<el-form-item :label="$t('form.qmyy')" prop="qmyyMc">
<el-input type="text" :value="form.qmyyMc" maxlength="50" disabled />
</el-form-item>
</el-col>
@ -62,8 +61,10 @@
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.password')" prop="qmrmm">
<div class="sbzdtcma"> <input type="text"></div>
<el-input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent v-model="form.qmrmm" show-password maxlength="20" :placeholder="$t('form.placeholderInput')" />
<el-input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent
show-password v-model="form.qmrmm" maxlength="20" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
@ -113,7 +114,7 @@ export default {
message: ' ',
trigger: 'blur'
}],
qmyy: [{
qmyyMc: [{
required: true,
message: ' ',
trigger: 'blur'
@ -174,6 +175,8 @@ export default {
this.open = false
this.$emit('callback')
this.$modal.closeLoading()
this.$modal.msgSuccess(this.$t('form.operationSuccess'))
}).finally(() => {
this.$modal.closeLoading()
})

+ 11
- 10
src/views/business/resource/gsp/comps/gsp/Xgkc.vue View File

@ -4,7 +4,6 @@
<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">
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<el-row>
<el-col :span="18">
<el-form-item :label="$t('page.business.resource.gsp.kcl')" prop="kc">
@ -41,8 +40,8 @@
</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"
<el-form-item :label="$t('form.remark')" prop="kcbjbz">
<el-input type="textarea" v-model="form.kcbjbz" :rows="2" maxlength="500"
:placeholder="$t('form.placeholderInput')">
</el-input>
</el-form-item>
@ -58,7 +57,7 @@
</template>
<script>
import { xgkc } from "@/api/business/gsp/gsp"
import { xgkc, info } from "@/api/business/gsp/gsp"
import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
import BusinessSelectVue from '@/views/business/comps/select/BusinessSelect';
@ -114,18 +113,19 @@ export default {
qmrmm: null,
kc: '',
kcdw: '',
kcbjbz: '',
}
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
info({ id: row.id }).then(response => {
this.form = response.data
this.form.qmyy = this.$t('page.business.resource.gsp.xgkc')
this.open = true
})
},
save() {
this.$refs["form"].validate(valid => {
@ -133,6 +133,7 @@ export default {
xgkc(this.form).then(response => {
this.open = false
this.$emit('callback')
this.$modal.msgSuccess(this.$t('form.operationSuccess'))
})
}
})

+ 0
- 237
src/views/business/resource/gsp/comps/gsp/Xq copy.vue View File

@ -1,237 +0,0 @@
<template>
<!-- 详情 -->
<div v-if="open">
<div class="detail-container">
<div class="detail-top">
<div class="left-top">
<img src="@/assets/images/back.png" @click="cancel()" />
<div class="left-title"></div>
</div>
<div class="right-top">
<el-button @click="cancel()">{{ $t('form.cancel') }}</el-button>
<el-button @click="exportExcel()">{{ $t('form.export') }}</el-button>
</div>
</div>
<div class="detail-title"><img src="@/assets/images/detail-title.png">{{ $t('page.business.resource.gyzj.gyzjxq')
}}<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"> {{ $t('page.business.resource.gyzj.jbxx') }}</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gyzj.mc') }}</div>
<el-input type="text" :value="form.mc" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gyzj.bh') }}</div>
<el-input type="text" :value="form.bh" maxlength="50" disabled />
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gyzj.nd') }}</div>
<el-input type="text" :value="form.nd" maxlength="50" disabled> <template slot="append">{{
form.nddw }}</template>
</el-input>
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gyzj.kcl') }}</div>
<el-input type="text" :value="form.kc" maxlength="50" disabled> <template slot="append">{{
form.kcdw }}</template> </el-input>
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gyzj.sxrq') }}</div>
<el-input type="text" :value="form.sxrq" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gyzj.cctj') }}</div>
<el-input type="text" :value="form.cctj" maxlength="50" disabled />
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gyzj.ccwz') }}</div>
<el-input type="text" :value="form.ccwz" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gyzj.zjzt') }}</div>
<el-select v-model="form.zjzt" disabled style="width: 100%;">
<el-option key="1" :label="$t('page.business.resource.resource.zjzt.rk')" :value="1" />
<el-option key="2" :label="$t('page.business.resource.resource.zjzt.wrk')" :value="2" />
<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.gyzj.bdxx') }} </div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gyzj.sssy') }}</div>
<el-input type="text" :value="form.studyMc" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gyzj.ssbd') }}</div>
<el-input type="text" :value="form.bdMc" maxlength="50" disabled />
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gyzj.bdssr') }}</div>
<el-input type="text" :value="form.bdgsrMc" maxlength="50" disabled />
</div>
</div>
<div class="content-title">
<div class="line"></div>
<div class="subtitle"> {{ $t('page.business.resource.gyzj.tz') }}</div>
</div>
<div class="pal">
<el-table :data="tzList" v-loading="loadingTz">
<el-table-column :label="$t('page.business.resource.gyzj.syr')" align="center"
:show-overflow-tooltip="true">
<template slot-scope="scope">
{{ scope.row.qmrMc }}
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gyzj.lqghr')" align="center"
:show-overflow-tooltip="true" width="200px">
<template slot-scope="scope">
{{ scope.row.lqrMc }}{{ scope.row.ghrMc }}
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gyzj.ffjsr')" align="center"
:show-overflow-tooltip="true">
<template slot-scope="scope">
{{ scope.row.ffrMc }}{{ scope.row.jsrMc }}
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gyzj.czlx')" align="center"
:prop="$i18n.locale === 'zh_CN' ? 'qmyy' : 'qmyyEn'" width="100" />
<el-table-column :label="$t('page.business.resource.gyzj.bdmc')" align="center"
prop="bdMc" width="100" :show-overflow-tooltip="true"/>
<el-table-column :label="$t('page.business.resource.gyzj.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.gyzj.bzyy')" align="center" prop="remark"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gyzj.ccsj')" align="center" prop="createTime"
width="150px" />
</el-table>
</div>
<div class="pal">
<pagination v-show="totalTz > 0" :total="totalTz" :page.sync="queryParamstZ.pageNum"
:limit.sync="queryParamstZ.pageSize" @pagination="getTzList" />
</div>
</div>
<div class="content-right">
<div class="content-title">
<div class="line"></div>
<div class="subtitle"> {{ $t('page.business.resource.gyzj.jcgj') }}</div>
</div>
<jcgjList ref="jcgjList" @handleQuery="getJjcgjList" />
<pagination v-show="jcgjTotal > 0" small layout="prev, pager, next" :total="jcgjTotal"
@pagination="getJjcgjList" />
</div>
</div>
</div>
</div>
</template>
<script>
import { info, tzList, jcgjList,exportDetail } from "@/api/business/gyzj/gyzj"
import JcgjList from "@/views/business/comps/common/JcgjList";
export default {
name: "Xq",
components: { JcgjList },
data() {
return {
form: {},
appTitle: process.env.VUE_APP_TITLE,
tzList: [],
totalTz: 0,
loadingTz: true,
open: false,
queryParamstZ: {
gyzjId: null,
pageNum: 1,
pageSize: 10
},
jcgjTotal: 0,
jcgjList: [],
queryJcgjParams: {
pageNum: 1,
gyzjId: null,
pageSize: 10,
}
}
},
created() {
},
methods: {
exportExcel() {
this.$modal.loading()
exportDetail({ id: this.form.id,lang:this.$store.getters.language.split("_")[0],version:this.appTitle }).then(response => {
window.open(process.env.VUE_APP_FILE_DOMAIN +response.msg)
this.$modal.closeLoading()
}).finally(() => {
this.$modal.closeLoading()
})
},
getJjcgjList(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()
}).finally(() => {
this.$modal.closeLoading()
})
},
cancel() {
this.open = false
this.$emit('callback')
},
getTzList() {
this.loadingTz = true
tzList(this.queryParamstZ).then(response => {
this.tzList = response.rows
this.totalTz = response.total
this.loadingTz = false
this.getJjcgjList()
})
},
show(row) {
this.$modal.loading()
this.queryParamstZ.gyzjId = row.id
this.queryJcgjParams.gyzjId = row.id
this.$modal.loading()
info({ id: row.id }).then(response => {
this.form = response.data
this.open = true
this.getTzList()
this.saveSimpleLog({name:row.bh,nameEn:row.bh,jcmc:'给药制剂详情',jcmcEn:'Formulation Detail'})
}).finally(() => {
this.$modal.closeLoading()
})
}
}
}
</script>

+ 3
- 3
src/views/business/resource/gsp/comps/gspList.vue View File

@ -40,8 +40,8 @@
<el-option :label="$t('page.business.resource.resource.zjzt.djd')" :value="11" />
</el-select>
</el-form-item>
<!-- 效日期 -->
<el-form-item :label="$t('page.business.resource.gsp.yxq') + ':'">
<!-- 效日期 -->
<el-form-item :label="$t('page.business.resource.gsp.yxq') + ':'" prop="daterange">
<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;" />
@ -527,7 +527,7 @@ export default {
},
//
resetQuery() {
this.dateRange = []
this.daterange = []
this.resetForm("queryForm")
this.handleQuery()
},

+ 3
- 3
src/views/business/resource/gsp/comps/rkjl/Bj.vue View File

@ -32,7 +32,7 @@
<!-- 入库时间 -->
<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"
<el-date-picker v-model="form.rksj" type="datetime" format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss" :placeholder="$t('form.placeholderInput')">
</el-date-picker>
</el-form-item>
@ -53,8 +53,8 @@
<!-- 有效期 -->
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.yxq')" prop="yxq">
<el-date-picker v-model="form.yxq" type="date" format="yyyy-MM-dd"
value-format="yyyy-MM-dd" :placeholder="$t('form.placeholderInput')">
<el-date-picker v-model="form.yxq" type="datetime" format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss" :placeholder="$t('form.placeholderInput')">
</el-date-picker>
</el-form-item>
</el-col>

+ 2
- 2
src/views/business/resource/gsp/comps/rkjl/Jd.vue View File

@ -5,7 +5,7 @@
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div class="sbzdtcma"> <input type="text"> <input type="password" show-password> </div>
<el-row>
<!-- <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
@ -20,7 +20,7 @@
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
</el-row> -->
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">

+ 2
- 2
src/views/business/resource/gsp/comps/rkjl/Js.vue View File

@ -5,7 +5,7 @@
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div class="sbzdtcma"> <input type="text"> <input type="password" show-password> </div>
<el-row>
<!-- <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
@ -20,7 +20,7 @@
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
</el-row> -->
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">

+ 4
- 12
src/views/business/resource/gsp/comps/rkjl/RkjlImport.vue View File

@ -62,7 +62,6 @@
</template>
<script>
import { js } from "@/api/business/gsp/gspRkjl"
import { mapGetters } from 'vuex'
import { getToken } from "@/utils/auth"
export default {
@ -120,7 +119,7 @@ export default {
this.upload.isUploading = false
this.$refs.upload.clearFiles()
this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + "</div>", "导入结果", { dangerouslyUseHTMLString: true })
this.getList()
this.$emit('callback')
},
//
submitFileForm() {
@ -132,6 +131,8 @@ export default {
this.$refs.upload.submit()
},
cancel() {
this.upload.isUploading = false
this.$refs.upload.clearFiles()
this.open = false
},
reset() {
@ -145,16 +146,7 @@ export default {
this.reset()
this.open = true
},
save() {
this.$refs["form"].validate(valid => {
if (valid) {
js(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
})
}
}
}
</script>

+ 1
- 1
src/views/business/resource/gsp/comps/rkjl/Xq.vue View File

@ -154,7 +154,7 @@ export default {
},
show(row) {
this.$modal.loading()
this.queryJcgjParams.ffjlId = row.id
this.queryJcgjParams.gspRkjlId = row.id
info({ id: row.id }).then(response => {
this.form = response.data
this.open = true

+ 1
- 0
src/views/business/resource/gsp/comps/rkjlList.vue View File

@ -440,6 +440,7 @@ export default {
},
//
resetQuery() {
this.daterange = []
this.resetForm("queryForm")
this.handleQuery()
},

+ 2
- 1
src/views/business/resource/sj/comps/Cz.vue View File

@ -86,7 +86,7 @@ import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
import BusinessSelect from '@/views/business/comps/select/BusinessSelect';
export default {
name: "MjyBj",
name: "SjCz",
components: { SelectList, BusinessSelect },
data() {
return {
@ -151,6 +151,7 @@ export default {
if (valid) {
sj_cz(this.form).then(response => {
this.open = false
this.$modal.msgSuccess(this.$t('form.operationSuccess'))
this.$emit('callback')
})
}

+ 2
- 1
src/views/business/resource/sj/comps/CzBatch.vue View File

@ -77,7 +77,7 @@ import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
import BusinessSelect from '@/views/business/comps/select/BusinessSelect';
export default {
name: "CzBatch",
name: "SjCzBatch",
components: { SelectList, BusinessSelect },
data() {
return {
@ -171,6 +171,7 @@ export default {
this.$modal.loading()
sj_plcz(params).then(response => {
this.open = false
this.$modal.msgSuccess(this.$t('form.operationSuccess'))
this.$emit('callback')
this.$modal.closeLoading()
}).finally(() => {

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

@ -195,7 +195,7 @@
<!-- 处置 -->
<Cz ref="Cz" @callback="handleQuery" />
<!-- 批量处置 -->
<CzBatch ref="CzBatch" />
<CzBatch ref="CzBatch" @callback="handleQuery" />
</div>
</div>
</template>

+ 158
- 0
src/views/business/storageLocation/comps/StorageLocationImport.vue View File

@ -0,0 +1,158 @@
<template>
<div>
<!-- 存储位置导入 -->
<el-dialog :title="$t('page.business.resource.gsp.dr')" :visible.sync="open" width="600px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-row>
<el-col :span="24">
<el-upload ref="upload" :data="form" :limit="1" accept=".xlsx, .xls" :headers="upload.headers"
:action="upload.url" :disabled="upload.isUploading"
:on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="false" drag>
<i class="el-icon-upload"></i>
<div class="el-upload__text">{{ $t('page.business.resource.gsp.tzsc') }}<em>{{
$t('page.business.resource.gsp.djsc') }}</em></div>
<div class="el-upload__tip text-center" slot="tip">
<span>{{ $t('page.business.resource.gsp.wjgs') }}</span>
<el-link type="primary" :underline="false" style="font-size: 12px; vertical-align: baseline"
@click="importTemplate">{{ $t('page.business.resource.gsp.xzmb') }}</el-link>
</div>
</el-upload>
</el-col>
</el-row>
<el-row style="margin-top: 30px;">
<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">
<div class="sbzdtcma"> <input type="text"></div>
<el-input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent v-model="form.qmrmm" show-password 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="submitFileForm">{{ $t('form.confirm') }}</el-button>
<el-button @click="cancel">{{ $t('form.cancel') }}</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { mapGetters } from 'vuex'
import { getToken } from "@/utils/auth"
export default {
name: "StorageLocationImport",
data() {
return {
open: false,
form: {
qmrmm: null,
qmbz: null
},
rules: {
qmrmm: [{
required: true,
message: ' ',
trigger: 'blur'
}]
},
upload: {
//
open: false,
//
title: "",
//
isUploading: false,
//
updateSupport: 0,
//
headers: { Authorization: "Bearer " + getToken() },
//
url: process.env.VUE_APP_BASE_API + "/system/business/storageLocation/importData"
},
}
},
computed: {
...mapGetters([
'nickName'
]),
},
created() {
},
methods: {
//
importTemplate() {
this.download('/system/business/storageLocation/importTemplate', {
}, `【模板】存储位置.xlsx`)
},
//
handleFileUploadProgress(event, file, fileList) {
this.upload.isUploading = true
},
//
handleFileSuccess(response, file, fileList) {
this.upload.open = false
this.upload.isUploading = false
this.$refs.upload.clearFiles()
this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + "</div>", "导入结果", { dangerouslyUseHTMLString: true })
this.$emit('callback')
},
//
submitFileForm() {
const file = this.$refs.upload.uploadFiles
if (!file || file.length === 0 || !file[0].name.toLowerCase().endsWith('.xls') && !file[0].name.toLowerCase().endsWith('.xlsx')) {
this.$modal.msgError("请选择后缀为 “xls”或“xlsx”的文件。")
return
}
this.$refs.upload.submit()
},
cancel() {
this.upload.isUploading = false
this.$refs.upload.clearFiles()
this.open = false
},
reset() {
this.form = {
qmyy: this.$t('page.system.storageLocation.addStroageLocation'),
qmrmm: null
}
this.resetForm("form")
},
show() {
this.reset()
this.open = true
},
}
}
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
::v-deep .el-upload-dragger {
width: 560px;
}
</style>

+ 13
- 3
src/views/business/storageLocation/list.vue View File

@ -30,6 +30,11 @@
<el-button type="primary" plain @click="handleAdd" v-hasPermi="['business:storageLocation:add']">{{
$t('page.system.storageLocation.add') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 导入 -->
<el-button type="primary" @click="handleImport" v-hasPermi="['business:storageLocation:import']">{{
$t('page.business.resource.gsp.dr') }}</el-button>
</el-col>
</el-row>
<el-table v-loading="loading" :data="list">
@ -59,8 +64,9 @@
<StorageLocationDetail ref="storageLocationDetail" />
<Bj ref="Bj" @callback="handleQuery"/>
<Xz ref="Xz" @callback="handleQuery"/>
<Bj ref="Bj" @callback="handleQuery" />
<Xz ref="Xz" @callback="handleQuery" />
<StorageLocationImport ref="StorageLocationImport" @callback="handleQuery"/>
</div>
</template>
@ -73,9 +79,10 @@ import { mapGetters } from 'vuex'
import StorageLocationDetail from './comps/detail'
import Bj from "./comps/Bj";
import Xz from "./comps/Xz";
import StorageLocationImport from "./comps/StorageLocationImport"
export default {
name: 'StorageLocation',
components: { BusinessSelect, SelectDept, StorageLocationDetail, Bj, Xz },
components: { BusinessSelect, SelectDept, StorageLocationDetail, Bj, Xz, StorageLocationImport },
data() {
return {
@ -109,6 +116,9 @@ export default {
this.getList()
},
methods: {
handleImport() {
this.$refs.StorageLocationImport.show()
},
/** 查询列表 */
getList() {
this.loading = true

+ 2
- 1
src/views/system/user/index.vue View File

@ -78,7 +78,8 @@
<el-table-column :label="$t('page.system.user.department')" align="center" key="deptName" prop="dept.deptName" v-if="columns.deptName.visible" :show-overflow-tooltip="true" width="150" />
<el-table-column :label="$t('page.system.user.role')" align="center" key="roleName" prop="role.roleName" v-if="columns.deptName.visible" :show-overflow-tooltip="true">
<template slot-scope="scope">
{{getRoleName(scope.row)}}
<!-- {{getRoleName(scope.row)}} -->
{{scope.row.roleNames}}
</template>
</el-table-column>
<el-table-column :label="$t('page.system.user.status')" align="center" key="status" v-if="columns.status.visible" width="100">

Loading…
Cancel
Save