供应商客户数据导出导入功能
This commit is contained in:
parent
9cd9f58688
commit
8c913e67a1
@ -42,3 +42,13 @@ export function delBarcode(barcodeId) {
|
|||||||
method: 'delete'
|
method: 'delete'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//获取某个对象的二维码信息
|
||||||
|
export function getBarcodeUrl(query){
|
||||||
|
return request({
|
||||||
|
url: '/mes/wm/barcode/getBarcodeUrl',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -113,6 +113,16 @@
|
|||||||
v-hasPermi="['mes:md:client:export']"
|
v-hasPermi="['mes:md:client:export']"
|
||||||
>导出</el-button>
|
>导出</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="info"
|
||||||
|
plain
|
||||||
|
icon="el-icon-upload2"
|
||||||
|
size="mini"
|
||||||
|
@click="handleImport"
|
||||||
|
v-hasPermi="['mes:md:client:import']"
|
||||||
|
>导入</el-button>
|
||||||
|
</el-col>
|
||||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
@ -341,12 +351,45 @@
|
|||||||
<el-button @click="cancel">取 消</el-button>
|
<el-button @click="cancel">取 消</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
|
<!-- 客户导入对话框 -->
|
||||||
|
<el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
|
||||||
|
<el-upload
|
||||||
|
ref="upload"
|
||||||
|
:limit="1"
|
||||||
|
accept=".xlsx, .xls"
|
||||||
|
:headers="upload.headers"
|
||||||
|
:action="upload.url + '?updateSupport=' + upload.updateSupport"
|
||||||
|
:disabled="upload.isUploading"
|
||||||
|
:on-progress="handleFileUploadProgress"
|
||||||
|
:on-success="handleFileSuccess"
|
||||||
|
:auto-upload="false"
|
||||||
|
drag
|
||||||
|
>
|
||||||
|
<i class="el-icon-upload"></i>
|
||||||
|
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
|
||||||
|
<div class="el-upload__tip text-center" slot="tip">
|
||||||
|
<div class="el-upload__tip" slot="tip">
|
||||||
|
<el-checkbox v-model="upload.updateSupport" /> 是否更新已经存在的数据
|
||||||
|
</div>
|
||||||
|
<span>仅允许导入xls、xlsx格式文件。</span>
|
||||||
|
<el-link type="primary" :underline="false" style="font-size:12px;vertical-align: baseline;" @click="importTemplate">下载模板</el-link>
|
||||||
|
</div>
|
||||||
|
</el-upload>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button type="primary" @click="submitFileForm">确 定</el-button>
|
||||||
|
<el-button @click="upload.open = false">取 消</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { listClient, getClient, delClient, addClient, updateClient } from "@/api/mes/md/client";
|
import { listClient, getClient, delClient, addClient, updateClient } from "@/api/mes/md/client";
|
||||||
import {genCode} from "@/api/system/autocode/rule"
|
import {genCode} from "@/api/system/autocode/rule"
|
||||||
|
import { getToken } from "@/utils/auth";
|
||||||
export default {
|
export default {
|
||||||
name: "Client",
|
name: "Client",
|
||||||
dicts: ['mes_client_type','sys_yes_no'],
|
dicts: ['mes_client_type','sys_yes_no'],
|
||||||
@ -373,6 +416,21 @@ export default {
|
|||||||
title: "",
|
title: "",
|
||||||
// 是否显示弹出层
|
// 是否显示弹出层
|
||||||
open: false,
|
open: false,
|
||||||
|
// 数据导入参数
|
||||||
|
upload: {
|
||||||
|
// 是否显示弹出层
|
||||||
|
open: false,
|
||||||
|
// 弹出层标题
|
||||||
|
title: "",
|
||||||
|
// 是否禁用上传
|
||||||
|
isUploading: false,
|
||||||
|
// 是否更新已经存在的用户数据
|
||||||
|
updateSupport: 0,
|
||||||
|
// 设置上传的请求头部
|
||||||
|
headers: { Authorization: "Bearer " + getToken() },
|
||||||
|
// 上传的地址
|
||||||
|
url: process.env.VUE_APP_BASE_API + "/mes/md/client/importData"
|
||||||
|
},
|
||||||
// 查询参数
|
// 查询参数
|
||||||
queryParams: {
|
queryParams: {
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
@ -569,6 +627,33 @@ export default {
|
|||||||
...this.queryParams
|
...this.queryParams
|
||||||
}, `client_${new Date().getTime()}.xlsx`)
|
}, `client_${new Date().getTime()}.xlsx`)
|
||||||
},
|
},
|
||||||
|
/** 导入按钮操作 */
|
||||||
|
handleImport() {
|
||||||
|
this.upload.title = "客户导入";
|
||||||
|
this.upload.open = true;
|
||||||
|
},
|
||||||
|
/** 下载模板操作 */
|
||||||
|
importTemplate() {
|
||||||
|
this.download('mes/md/client/importTemplate', {
|
||||||
|
}, `client_template_${new Date().getTime()}.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.getList();
|
||||||
|
},
|
||||||
|
// 提交上传文件
|
||||||
|
submitFileForm() {
|
||||||
|
this.$refs.upload.submit();
|
||||||
|
},
|
||||||
|
|
||||||
//自动生成编码
|
//自动生成编码
|
||||||
handleAutoGenChange(autoGenFlag){
|
handleAutoGenChange(autoGenFlag){
|
||||||
debugger;
|
debugger;
|
||||||
|
104
src/views/mes/md/vendor/index.vue
vendored
104
src/views/mes/md/vendor/index.vue
vendored
@ -184,38 +184,54 @@
|
|||||||
<el-dialog :title="title" :visible.sync="open" width="960px" append-to-body>
|
<el-dialog :title="title" :visible.sync="open" width="960px" append-to-body>
|
||||||
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="8">
|
<el-col :span="14">
|
||||||
<el-form-item label="供应商编码" prop="vendorCode">
|
<el-row>
|
||||||
<el-input v-model="form.vendorCode" placeholder="请输入供应商编码" />
|
<el-col :span="20">
|
||||||
</el-form-item>
|
<el-form-item label="供应商编码" prop="vendorCode">
|
||||||
|
<el-input v-model="form.vendorCode" placeholder="请输入供应商编码" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="4">
|
||||||
|
<el-form-item label-width="80">
|
||||||
|
<el-switch v-model="autoGenFlag"
|
||||||
|
active-color="#13ce66"
|
||||||
|
active-text="自动生成"
|
||||||
|
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view'">
|
||||||
|
</el-switch>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="供应商名称" prop="vendorName">
|
||||||
|
<el-input v-model="form.vendorName" placeholder="请输入供应商名称" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="供应商简称" prop="vendorNick">
|
||||||
|
<el-input v-model="form.vendorNick" placeholder="请输入供应商简称" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="供应商英文名称" prop="vendorEn">
|
||||||
|
<el-input v-model="form.vendorEn" placeholder="请输入供应商英文名称" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="4">
|
<el-col :span="10">
|
||||||
<el-form-item label-width="80">
|
<el-image class="barcodeClass" fit="scale-down" :src="form.barcodeUrl">
|
||||||
<el-switch v-model="autoGenFlag"
|
<div slot="error" class="image-slot">
|
||||||
active-color="#13ce66"
|
<i class="el-icon-picture-outline"></i>
|
||||||
active-text="自动生成"
|
</div>
|
||||||
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view'">
|
</el-image>
|
||||||
</el-switch>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="供应商名称" prop="vendorName">
|
|
||||||
<el-input v-model="form.vendorName" placeholder="请输入供应商名称" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="供应商简称" prop="vendorNick">
|
|
||||||
<el-input v-model="form.vendorNick" placeholder="请输入供应商简称" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="供应商英文名称" prop="vendorEn">
|
|
||||||
<el-input v-model="form.vendorEn" placeholder="请输入供应商英文名称" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item label="供应商简介" prop="vendorDes">
|
<el-form-item label="供应商简介" prop="vendorDes">
|
||||||
@ -363,7 +379,7 @@
|
|||||||
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
|
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
|
||||||
<div class="el-upload__tip text-center" slot="tip">
|
<div class="el-upload__tip text-center" slot="tip">
|
||||||
<div class="el-upload__tip" slot="tip">
|
<div class="el-upload__tip" slot="tip">
|
||||||
<el-checkbox v-model="upload.updateSupport" /> 是否更新已经存在的用户数据
|
<el-checkbox v-model="upload.updateSupport" /> 是否更新已经存在的数据
|
||||||
</div>
|
</div>
|
||||||
<span>仅允许导入xls、xlsx格式文件。</span>
|
<span>仅允许导入xls、xlsx格式文件。</span>
|
||||||
<el-link type="primary" :underline="false" style="font-size:12px;vertical-align: baseline;" @click="importTemplate">下载模板</el-link>
|
<el-link type="primary" :underline="false" style="font-size:12px;vertical-align: baseline;" @click="importTemplate">下载模板</el-link>
|
||||||
@ -380,6 +396,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { listVendor, getVendor, delVendor, addVendor, updateVendor } from "@/api/mes/md/vendor";
|
import { listVendor, getVendor, delVendor, addVendor, updateVendor } from "@/api/mes/md/vendor";
|
||||||
|
import { getBarcodeUrl } from "@/api/mes/wm/barcode";
|
||||||
import { getToken } from "@/utils/auth";
|
import { getToken } from "@/utils/auth";
|
||||||
import {genCode} from "@/api/system/autocode/rule"
|
import {genCode} from "@/api/system/autocode/rule"
|
||||||
export default {
|
export default {
|
||||||
@ -448,6 +465,13 @@ export default {
|
|||||||
creditCode: null,
|
creditCode: null,
|
||||||
enableFlag: null,
|
enableFlag: null,
|
||||||
},
|
},
|
||||||
|
//二维码查询参数
|
||||||
|
barcodeParams: {
|
||||||
|
bussinessId: null,
|
||||||
|
bussinessCode: null,
|
||||||
|
barcodeFormart: 'QR_CODE', //模式二维码
|
||||||
|
barcodeType: 'VENDOR' //类型为供应商
|
||||||
|
},
|
||||||
// 表单参数
|
// 表单参数
|
||||||
form: {},
|
form: {},
|
||||||
// 表单校验
|
// 表单校验
|
||||||
@ -507,6 +531,7 @@ export default {
|
|||||||
creditCode: null,
|
creditCode: null,
|
||||||
enableFlag: 'Y',
|
enableFlag: 'Y',
|
||||||
remark: null,
|
remark: null,
|
||||||
|
barcodeUrl: null,
|
||||||
attr1: null,
|
attr1: null,
|
||||||
attr2: null,
|
attr2: null,
|
||||||
attr3: null,
|
attr3: null,
|
||||||
@ -551,6 +576,7 @@ export default {
|
|||||||
this.open = true;
|
this.open = true;
|
||||||
this.title = "查看供应商";
|
this.title = "查看供应商";
|
||||||
this.optType = "view";
|
this.optType = "view";
|
||||||
|
this.getBarcodeUrl();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
/** 修改按钮操作 */
|
/** 修改按钮操作 */
|
||||||
@ -562,10 +588,12 @@ export default {
|
|||||||
this.open = true;
|
this.open = true;
|
||||||
this.title = "修改供应商";
|
this.title = "修改供应商";
|
||||||
this.optType = "edit";
|
this.optType = "edit";
|
||||||
|
this.getBarcodeUrl();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
/** 提交按钮 */
|
/** 提交按钮 */
|
||||||
submitForm() {
|
submitForm() {
|
||||||
|
debugger;
|
||||||
this.$refs["form"].validate(valid => {
|
this.$refs["form"].validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.vendorId != null) {
|
if (this.form.vendorId != null) {
|
||||||
@ -631,6 +659,15 @@ export default {
|
|||||||
submitFileForm() {
|
submitFileForm() {
|
||||||
this.$refs.upload.submit();
|
this.$refs.upload.submit();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
//获取某个供应商的二维码地址
|
||||||
|
getBarcodeUrl(){
|
||||||
|
this.barcodeParams.bussinessId = this.form.vendorId;
|
||||||
|
this.barcodeParams.bussinessCode = this.form.vendorCode;
|
||||||
|
getBarcodeUrl(this.barcodeParams).then( response =>{
|
||||||
|
this.$set(this.form,'barcodeUrl',response.data.barcodeUrl);//强制刷新DOM
|
||||||
|
});
|
||||||
|
},
|
||||||
//自动生成编码
|
//自动生成编码
|
||||||
handleAutoGenChange(autoGenFlag){
|
handleAutoGenChange(autoGenFlag){
|
||||||
debugger;
|
debugger;
|
||||||
@ -645,3 +682,10 @@ export default {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
<style scoped>
|
||||||
|
.barcodeClass {
|
||||||
|
width: 200px;
|
||||||
|
height: 200px;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
Loading…
Reference in New Issue
Block a user