Browse Source

feat:[系统管理][存储位置]

luojie
HanLong 3 weeks ago
parent
commit
404f3a2162
5 changed files with 179 additions and 19 deletions
  1. +3
    -3
      src/views/business/resource/gsp/comps/rkjl/Bj.vue
  2. +4
    -12
      src/views/business/resource/gsp/comps/rkjl/RkjlImport.vue
  3. +1
    -1
      src/views/business/resource/gsp/comps/rkjl/Xq.vue
  4. +158
    -0
      src/views/business/storageLocation/comps/StorageLocationImport.vue
  5. +13
    -3
      src/views/business/storageLocation/list.vue

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

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

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

@ -62,7 +62,6 @@
</template> </template>
<script> <script>
import { js } from "@/api/business/gsp/gspRkjl"
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { getToken } from "@/utils/auth" import { getToken } from "@/utils/auth"
export default { export default {
@ -120,7 +119,7 @@ export default {
this.upload.isUploading = false this.upload.isUploading = false
this.$refs.upload.clearFiles() 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.$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() { submitFileForm() {
@ -132,6 +131,8 @@ export default {
this.$refs.upload.submit() this.$refs.upload.submit()
}, },
cancel() { cancel() {
this.upload.isUploading = false
this.$refs.upload.clearFiles()
this.open = false this.open = false
}, },
reset() { reset() {
@ -145,16 +146,7 @@ export default {
this.reset() this.reset()
this.open = true this.open = true
}, },
save() {
this.$refs["form"].validate(valid => {
if (valid) {
js(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
})
}
} }
} }
</script> </script>

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

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

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

Loading…
Cancel
Save