|
|
@@ -3,38 +3,67 @@
|
|
|
<div style="display:flex">
|
|
|
<slot v-if="slot" name="slot"></slot>
|
|
|
<span v-else style="width: 100%;">
|
|
|
- <el-select v-if="gysType == 'CK'" size="small" v-model="value" placeholder="请选择"
|
|
|
- @input="$emit('balabala', value)" :disabled="disabled" filterable clearable style="width:100%"
|
|
|
- :multiple="multiple ? multiple : false" :collapse-tags="collapseTags ? collapseTags : false"
|
|
|
- @change="corpChange">
|
|
|
- <el-option v-for="item in corpList" :key="item.id" :label="item.code" :value="item.id">
|
|
|
- </el-option>
|
|
|
+ <el-select
|
|
|
+ v-if="gysType == 'CK'"
|
|
|
+ size="small"
|
|
|
+ v-model="value"
|
|
|
+ placeholder="请选择"
|
|
|
+ @input="$emit('balabala', value)"
|
|
|
+ :disabled="disabled"
|
|
|
+ filterable
|
|
|
+ clearable
|
|
|
+ style="width:100%"
|
|
|
+ :multiple="multiple ? multiple : false"
|
|
|
+ :collapse-tags="collapseTags ? collapseTags : false"
|
|
|
+ @change="corpChange"
|
|
|
+ :loading="loading"
|
|
|
+ :remote="remote"
|
|
|
+ :remote-method="remoteMethod"
|
|
|
+ >
|
|
|
+ <el-option v-for="item in corpList" :key="item.id" :label="item.code" :value="item.id"> </el-option>
|
|
|
</el-select>
|
|
|
- <el-select v-else size="small" v-model="value" placeholder="请选择" @input="$emit('balabala', value)"
|
|
|
- :disabled="disabled" filterable clearable style="width:100%" @clear="clear"
|
|
|
- :multiple="multiple ? multiple : false" :collapse-tags="collapseTags ? collapseTags : false"
|
|
|
- @change="corpChange">
|
|
|
+ <el-select
|
|
|
+ v-else
|
|
|
+ size="small"
|
|
|
+ v-model="value"
|
|
|
+ placeholder="请选择"
|
|
|
+ @input="$emit('balabala', value)"
|
|
|
+ :disabled="disabled"
|
|
|
+ filterable
|
|
|
+ clearable
|
|
|
+ style="width:100%"
|
|
|
+ @clear="clear"
|
|
|
+ :multiple="multiple ? multiple : false"
|
|
|
+ :collapse-tags="collapseTags ? collapseTags : false"
|
|
|
+ @change="corpChange"
|
|
|
+ :loading="loading"
|
|
|
+ :remote="remote"
|
|
|
+ :remote-method="remoteMethod"
|
|
|
+ >
|
|
|
<template v-if="zhKey">
|
|
|
- <el-option v-for="item in corpList" :key="item.id" :label="label ? item[label] : item.cname"
|
|
|
- :value="item.cname">
|
|
|
- </el-option>
|
|
|
+ <el-option v-for="item in corpList" :key="item.id" :label="label ? item[label] : item.cname" :value="item.cname"> </el-option>
|
|
|
</template>
|
|
|
<template v-else>
|
|
|
- <el-option v-for="item in corpList" :key="item.id" :label="label ? item[label] : item.cname"
|
|
|
- :value="item.id">
|
|
|
- </el-option>
|
|
|
+ <el-option v-for="item in corpList" :key="item.id" :label="label ? item[label] : item.cname" :value="item.id"> </el-option>
|
|
|
</template>
|
|
|
</el-select>
|
|
|
</span>
|
|
|
- <el-button icon="el-icon-search" size="mini" v-if="label != 'shortName'" :disabled="disabled"
|
|
|
- @click="openDialog()"></el-button>
|
|
|
+ <el-button icon="el-icon-search" size="mini" v-if="label != 'shortName'" :disabled="disabled" @click="openDialog()"></el-button>
|
|
|
<el-tooltip v-if="refresh" effect="dark" content="获取最新资料" placement="top-start">
|
|
|
- <el-button icon="el-icon-refresh" size="mini" v-if="label != 'shortName'" @click="refreshData"
|
|
|
- style="margin-left:0px;"></el-button>
|
|
|
+ <el-button icon="el-icon-refresh" size="mini" v-if="label != 'shortName'" @click="refreshData" style="margin-left:0px;"></el-button>
|
|
|
</el-tooltip>
|
|
|
</div>
|
|
|
- <el-dialog :title="title" :visible.sync="corpVisible" width="80%" top="5vh" append-to-body @closed="closed"
|
|
|
- class="el-dialogDeep" :close-on-click-modal="false" v-dialog-drag>
|
|
|
+ <el-dialog
|
|
|
+ :title="title"
|
|
|
+ :visible.sync="corpVisible"
|
|
|
+ width="80%"
|
|
|
+ top="5vh"
|
|
|
+ append-to-body
|
|
|
+ @closed="closed"
|
|
|
+ class="el-dialogDeep"
|
|
|
+ :close-on-click-modal="false"
|
|
|
+ v-dialog-drag
|
|
|
+ >
|
|
|
<span>
|
|
|
<el-row>
|
|
|
<el-col :span="4">
|
|
|
@@ -45,10 +74,23 @@
|
|
|
</el-scrollbar>
|
|
|
</el-col>
|
|
|
<el-col :span="20">
|
|
|
- <avue-crud :option="tableOption" :data="data" ref="crud" v-model="form" :page.sync="page"
|
|
|
- :search.sync="search" @search-change="searchChange" @search-reset="searchReset"
|
|
|
- @selection-change="selectionChange" @on-load="onLoad" @tree-load="treeLoad" @saveColumn="saveColumn"
|
|
|
- @resetColumn="resetColumn" @refresh-change="refreshChange" :table-loading="loading">
|
|
|
+ <avue-crud
|
|
|
+ :option="tableOption"
|
|
|
+ :data="data"
|
|
|
+ ref="crud"
|
|
|
+ v-model="form"
|
|
|
+ :page.sync="page"
|
|
|
+ :search.sync="search"
|
|
|
+ @search-change="searchChange"
|
|
|
+ @search-reset="searchReset"
|
|
|
+ @selection-change="selectionChange"
|
|
|
+ @on-load="onLoad"
|
|
|
+ @tree-load="treeLoad"
|
|
|
+ @saveColumn="saveColumn"
|
|
|
+ @resetColumn="resetColumn"
|
|
|
+ @refresh-change="refreshChange"
|
|
|
+ :table-loading="loading"
|
|
|
+ >
|
|
|
</avue-crud>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
@@ -63,11 +105,7 @@
|
|
|
|
|
|
<script>
|
|
|
import option from "./configuration/mainList.json";
|
|
|
-import {
|
|
|
- customerList,
|
|
|
- allCropList,
|
|
|
- getDeptLazyTree
|
|
|
-} from "@/api/basicData/customerInformation";
|
|
|
+import { customerList, allCropList, getDeptLazyTree } from "@/api/basicData/customerInformation";
|
|
|
import { getCustomerCode, getCustomerName } from "@/enums/management-type";
|
|
|
export default {
|
|
|
data() {
|
|
|
@@ -122,6 +160,10 @@ export default {
|
|
|
type: Boolean,
|
|
|
default: true
|
|
|
},
|
|
|
+ remote: {
|
|
|
+ type: Boolean,
|
|
|
+ default: false
|
|
|
+ }
|
|
|
},
|
|
|
model: {
|
|
|
prop: "value",
|
|
|
@@ -134,20 +176,65 @@ export default {
|
|
|
if (!this.slot) {
|
|
|
allCropList({
|
|
|
corpType: getCustomerCode(this.corpType),
|
|
|
- adminProfiles: userObj.role_name != "admin" ? (userObj.role_name != "客户"?userObj.user_id : null): null,
|
|
|
+ adminProfiles: userObj.role_name != "admin" ? (userObj.role_name != "客户" ? userObj.user_id : null) : null,
|
|
|
corpsTypeName: this.treeType == "CK" ? "货代和物流" : null,
|
|
|
belongtocompany: this.belongtocompany
|
|
|
}).then(res => {
|
|
|
this.corpList = res.data.data;
|
|
|
- console.log(this.corpList)
|
|
|
+ console.log(this.corpList);
|
|
|
});
|
|
|
}
|
|
|
},
|
|
|
- mounted() { },
|
|
|
+ mounted() {},
|
|
|
methods: {
|
|
|
init() {
|
|
|
this.openDialog();
|
|
|
},
|
|
|
+ remoteMethod(query) {
|
|
|
+ console.log(query);
|
|
|
+ if (query !== "") {
|
|
|
+ this.loading = true;
|
|
|
+ setTimeout(() => {
|
|
|
+ this.corpList = [];
|
|
|
+ this.loading = false;
|
|
|
+ let userObj = JSON.parse(localStorage.getItem("saber-userInfo")).content;
|
|
|
+ allCropList({
|
|
|
+ corpType: getCustomerCode(this.corpType),
|
|
|
+ adminProfiles: userObj.role_name != "admin" ? userObj.user_id : null,
|
|
|
+ corpsTypeName: this.treeType == "CK" ? "货代和物流" : null,
|
|
|
+ belongtocompany: this.belongtocompany,
|
|
|
+ cname: query
|
|
|
+ })
|
|
|
+ .then(res => {
|
|
|
+ this.corpList = res.data.data;
|
|
|
+ })
|
|
|
+ .finally(() => {
|
|
|
+ this.loading = false;
|
|
|
+ });
|
|
|
+ }, 200);
|
|
|
+ } else {
|
|
|
+ this.loading = true;
|
|
|
+ setTimeout(() => {
|
|
|
+ this.corpList = [];
|
|
|
+ this.loading = false;
|
|
|
+ let userObj = JSON.parse(localStorage.getItem("saber-userInfo")).content;
|
|
|
+
|
|
|
+ allCropList({
|
|
|
+ corpType: getCustomerCode(this.corpType),
|
|
|
+ adminProfiles: userObj.role_name != "admin" ? userObj.user_id : null,
|
|
|
+ corpsTypeName: this.treeType == "CK" ? "货代和物流" : null,
|
|
|
+ belongtocompany: this.belongtocompany,
|
|
|
+ cname: query
|
|
|
+ })
|
|
|
+ .then(res => {
|
|
|
+ this.corpList = res.data.data;
|
|
|
+ })
|
|
|
+ .finally(() => {
|
|
|
+ this.loading = false;
|
|
|
+ });
|
|
|
+ }, 200);
|
|
|
+ }
|
|
|
+ },
|
|
|
refreshData() {
|
|
|
if (!this.slot) {
|
|
|
let userObj = JSON.parse(localStorage.getItem("saber-userInfo")).content;
|
|
|
@@ -163,7 +250,7 @@ export default {
|
|
|
},
|
|
|
openDialog() {
|
|
|
let _this = this;
|
|
|
- this.treeOption.treeLoad = function (node, resolve) {
|
|
|
+ this.treeOption.treeLoad = function(node, resolve) {
|
|
|
const parentId = node.level === 0 ? 0 : node.data.id;
|
|
|
getDeptLazyTree({
|
|
|
parentId: parentId,
|
|
|
@@ -186,13 +273,13 @@ export default {
|
|
|
this.$refs.crud.toggleSelection();
|
|
|
},
|
|
|
importCorp() {
|
|
|
- if (this.multiple && this.selectionList.length == 0) return this.$message.error('请选择明细')
|
|
|
+ if (this.multiple && this.selectionList.length == 0) return this.$message.error("请选择明细");
|
|
|
this.$emit("balabala", this.selectionList[0].id);
|
|
|
this.$emit("getCorpData", {
|
|
|
...this.selectionList[0],
|
|
|
index: this.cropIndex
|
|
|
});
|
|
|
- this.$emit("getCorpList", [...this.selectionList])
|
|
|
+ this.$emit("getCorpList", [...this.selectionList]);
|
|
|
this.corpVisible = false;
|
|
|
},
|
|
|
clear() {
|
|
|
@@ -209,12 +296,12 @@ export default {
|
|
|
let arr = [];
|
|
|
row.forEach(item => {
|
|
|
let obj = { id: item };
|
|
|
- this.$set(obj, 'cname', this.corpList.find(e => e.id == item).cname);
|
|
|
- arr.push(obj)
|
|
|
- })
|
|
|
+ this.$set(obj, "cname", this.corpList.find(e => e.id == item).cname);
|
|
|
+ arr.push(obj);
|
|
|
+ });
|
|
|
this.$nextTick(() => {
|
|
|
- this.$emit('getCorpList', [...arr]);
|
|
|
- })
|
|
|
+ this.$emit("getCorpList", [...arr]);
|
|
|
+ });
|
|
|
}
|
|
|
},
|
|
|
refreshChange() {
|
|
|
@@ -278,10 +365,7 @@ export default {
|
|
|
},
|
|
|
//列保存触发
|
|
|
async saveColumn() {
|
|
|
- const inSave = await this.saveColumnData(
|
|
|
- this.getColumnName(51),
|
|
|
- this.option
|
|
|
- );
|
|
|
+ const inSave = await this.saveColumnData(this.getColumnName(51), this.option);
|
|
|
if (inSave) {
|
|
|
this.$message.success("保存成功");
|
|
|
//关闭窗口
|
|
|
@@ -301,15 +385,14 @@ export default {
|
|
|
let userObj = JSON.parse(localStorage.getItem("saber-userInfo")).content;
|
|
|
allCropList({
|
|
|
corpType: getCustomerCode(this.corpType),
|
|
|
- adminProfiles: !userObj.role_name.split(',').some(item => item == 'admin' || item == 'administrator') ? userObj.user_id : null,
|
|
|
- belongtocompany: belongToCompany,
|
|
|
+ adminProfiles: !userObj.role_name.split(",").some(item => item == "admin" || item == "administrator") ? userObj.user_id : null,
|
|
|
+ belongtocompany: belongToCompany
|
|
|
}).then(res => {
|
|
|
this.corpList = res.data.data;
|
|
|
});
|
|
|
- },
|
|
|
+ }
|
|
|
}
|
|
|
};
|
|
|
</script>
|
|
|
|
|
|
-<style scoped lang="scss">
|
|
|
-</style>
|
|
|
+<style scoped lang="scss"></style>
|